Raspbian Package Auto-Building

Build log for kodi (2:20.0+dfsg-1) on armhf

kodi2:20.0+dfsg-1armhf → 2023-01-25 14:33:49

sbuild (Debian sbuild) 0.71.0 (24 Aug 2016) on bm-wb-02

+==============================================================================+
| kodi 2:20.0+dfsg-1 (armhf)                   Wed, 25 Jan 2023 09:11:12 +0000 |
+==============================================================================+

Package: kodi
Version: 2:20.0+dfsg-1
Source Version: 2:20.0+dfsg-1
Distribution: bookworm-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf

I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/bookworm-staging-armhf-sbuild-1029f76e-64d0-4294-98c1-2d41f9de5cbc' with '<<CHROOT>>'

+------------------------------------------------------------------------------+
| Update chroot                                                                |
+------------------------------------------------------------------------------+

Get:1 http://172.17.4.1/private bookworm-staging InRelease [11.3 kB]
Get:2 http://172.17.4.1/private bookworm-staging/main Sources [13.6 MB]
Get:3 http://172.17.4.1/private bookworm-staging/main armhf Packages [14.4 MB]
Fetched 28.0 MB in 29s (957 kB/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
W: http://172.17.4.1/private/dists/bookworm-staging/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

+------------------------------------------------------------------------------+
| Fetch source files                                                           |
+------------------------------------------------------------------------------+


Check APT
---------

Checking available source versions...

Download source files with APT
------------------------------

Reading package lists...
NOTICE: 'kodi' packaging is maintained in the 'Git' version control system at:
https://salsa.debian.org/multimedia-team/kodi-media-center/kodi.git
Please use:
git clone https://salsa.debian.org/multimedia-team/kodi-media-center/kodi.git
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 36.0 MB of source archives.
Get:1 http://172.17.4.1/private bookworm-staging/main kodi 2:20.0+dfsg-1 (dsc) [5889 B]
Get:2 http://172.17.4.1/private bookworm-staging/main kodi 2:20.0+dfsg-1 (tar) [98.6 kB]
Get:3 http://172.17.4.1/private bookworm-staging/main kodi 2:20.0+dfsg-1 (tar) [87.0 kB]
Get:4 http://172.17.4.1/private bookworm-staging/main kodi 2:20.0+dfsg-1 (tar) [2874 kB]
Get:5 http://172.17.4.1/private bookworm-staging/main kodi 2:20.0+dfsg-1 (tar) [30.4 MB]
Get:6 http://172.17.4.1/private bookworm-staging/main kodi 2:20.0+dfsg-1 (diff) [2600 kB]
Fetched 36.0 MB in 3s (11.3 MB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/kodi-HAo4KK/kodi-20.0+dfsg' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/kodi-HAo4KK' with '<<BUILDDIR>>'

+------------------------------------------------------------------------------+
| Install build-essential                                                      |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: build-essential, fakeroot
Filtered Build-Depends: build-essential, fakeroot
dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<<BUILDDIR>>/resolver-c1RoA7/apt_archive/sbuild-build-depends-core-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
gpg: keybox '/<<BUILDDIR>>/resolver-c1RoA7/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-c1RoA7/gpg/trustdb.gpg: trustdb created
gpg: key 35506D9A48F77B2E: public key "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: key 35506D9A48F77B2E: "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" not changed
gpg: key 35506D9A48F77B2E: secret key imported
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Packages [431 B]
Fetched 2107 B in 1s (2656 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...

Install core build dependencies (apt-based resolver)
----------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  krb5-locales libldap-common libpam-cap netbase
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 88 not upgraded.
Need to get 852 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 852 B in 0s (17.8 kB/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 13212 files and directories currently installed.)
Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ...
Setting up sbuild-build-depends-core-dummy (0.invalid.0) ...
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Check architectures                                                          |
+------------------------------------------------------------------------------+

Arch check ok (armhf included in any all)

+------------------------------------------------------------------------------+
| Install package build dependencies                                           |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: autoconf, automake, autopoint, cmake, curl, debhelper-compat (= 13), default-jre, default-libmysqlclient-dev, dh-python, doxygen, fontforge-nox, fonts-dejavu-core, fonts-droid-fallback, gawk, gettext, gperf, groovy, libhowardhinnant-date-dev, libasound2-dev | libasound-dev, libass-dev, libavahi-client-dev, libavahi-common-dev, libavcodec-dev (>= 7:4.2.2), libavfilter-dev (>= 7:4.2.2), libavformat-dev (>= 7:4.2.2), libavutil-dev (>= 7:4.2.2), libbluetooth-dev, libbluray-dev (>= 1:0.7.0), libcap-dev, libcdio-dev, libcec-dev (>= 4~), libcommons-lang-java, libcrossguid-dev, libcurl4-gnutls-dev | libcurl-dev, libcwiid-dev, libdav1d-dev (>= 0.7.0), libdbus-1-dev, libdrm-dev, libegl1-mesa-dev, libflatbuffers-dev, libfmt-dev (>= 6.1.2), libfontconfig-dev, libfreetype-dev | libfreetype6-dev, libfribidi-dev, libfstrcmp-dev, libgbm-dev, libgcrypt-dev, libgif-dev, libgif-dev, libgl-dev, libglew-dev, libglu1-mesa-dev | libglu-dev, libgnutls28-dev, libgpg-error-dev, libgtest-dev (>= 1.10.0~), libinput-dev, libiso9660-dev, libiso9660++-dev, libjpeg-dev, libjpeg-dev, libkissfft-dev (>= 131.1.0~), liblcms2-dev, liblirc-dev | liblircclient-dev, libltdl-dev, liblzo2-dev, liblzo2-dev, libmicrohttpd-dev, libnfs-dev, libpcre3-dev, libpipewire-0.3-dev, libplist-dev, libpng-dev, libpng-dev, libpostproc-dev (>= 7:4.2.2), libpulse-dev, libpython3-dev, librsvg2-bin, libshairplay-dev (>= 0.9.0~), libsmbclient-dev, libsndio-dev, libspdlog-dev (>= 1:1.5.0), libsqlite3-dev, libswresample-dev (>= 7:4.2.2), libswscale-dev (>= 7:4.2.2), libtag1-dev (>= 1.8), libtinyxml-dev, libtool, libudev-dev, libudfread-dev (>= 1.0.0), libva-dev, libvdpau-dev, libxkbcommon-dev, libxrandr-dev, libxslt1-dev, libxt-dev, python3-dev:any, rapidjson-dev, swig, unzip, uuid-dev, wayland-protocols, waylandpp-dev, zip, zlib1g-dev
Filtered Build-Depends: autoconf, automake, autopoint, cmake, curl, debhelper-compat (= 13), default-jre, default-libmysqlclient-dev, dh-python, doxygen, fontforge-nox, fonts-dejavu-core, fonts-droid-fallback, gawk, gettext, gperf, groovy, libhowardhinnant-date-dev, libasound2-dev, libass-dev, libavahi-client-dev, libavahi-common-dev, libavcodec-dev (>= 7:4.2.2), libavfilter-dev (>= 7:4.2.2), libavformat-dev (>= 7:4.2.2), libavutil-dev (>= 7:4.2.2), libbluetooth-dev, libbluray-dev (>= 1:0.7.0), libcap-dev, libcdio-dev, libcec-dev (>= 4~), libcommons-lang-java, libcrossguid-dev, libcurl4-gnutls-dev, libcwiid-dev, libdav1d-dev (>= 0.7.0), libdbus-1-dev, libdrm-dev, libegl1-mesa-dev, libflatbuffers-dev, libfmt-dev (>= 6.1.2), libfontconfig-dev, libfreetype-dev, libfribidi-dev, libfstrcmp-dev, libgbm-dev, libgcrypt-dev, libgif-dev, libgif-dev, libgl-dev, libglew-dev, libglu1-mesa-dev, libgnutls28-dev, libgpg-error-dev, libgtest-dev (>= 1.10.0~), libinput-dev, libiso9660-dev, libiso9660++-dev, libjpeg-dev, libjpeg-dev, libkissfft-dev (>= 131.1.0~), liblcms2-dev, liblirc-dev, libltdl-dev, liblzo2-dev, liblzo2-dev, libmicrohttpd-dev, libnfs-dev, libpcre3-dev, libpipewire-0.3-dev, libplist-dev, libpng-dev, libpng-dev, libpostproc-dev (>= 7:4.2.2), libpulse-dev, libpython3-dev, librsvg2-bin, libshairplay-dev (>= 0.9.0~), libsmbclient-dev, libsndio-dev, libspdlog-dev (>= 1:1.5.0), libsqlite3-dev, libswresample-dev (>= 7:4.2.2), libswscale-dev (>= 7:4.2.2), libtag1-dev (>= 1.8), libtinyxml-dev, libtool, libudev-dev, libudfread-dev (>= 1.0.0), libva-dev, libvdpau-dev, libxkbcommon-dev, libxrandr-dev, libxslt1-dev, libxt-dev, python3-dev:any, rapidjson-dev, swig, unzip, uuid-dev, wayland-protocols, waylandpp-dev, zip, zlib1g-dev
dpkg-deb: building package 'sbuild-build-depends-kodi-dummy' in '/<<BUILDDIR>>/resolver-c1RoA7/apt_archive/sbuild-build-depends-kodi-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy sbuild-build-depends-kodi-dummy
dpkg-scanpackages: info: Wrote 2 entries to output Packages file.
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Release [969 B]
Get:3 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Sources [1230 B]
Get:5 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ Packages [1208 B]
Fetched 3777 B in 1s (5132 B/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...

Install kodi build dependencies (apt-based resolver)
----------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  krb5-locales libldap-common libpam-cap netbase
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  adwaita-icon-theme antlr at-spi2-common autoconf automake autopoint
  autotools-dev binutils binutils-arm-linux-gnueabihf binutils-common
  bsdextrautils ca-certificates ca-certificates-java catch2 cmake cmake-data
  cpp-12 curl debhelper default-jre default-jre-headless
  default-libmysqlclient-dev dh-autoreconf dh-python dh-strip-nondeterminism
  doxygen dwz file flatbuffers-compiler flatbuffers-compiler-dev fontconfig
  fontconfig-config fontforge-common fontforge-nox fonts-dejavu-core
  fonts-droid-fallback g++-12 gawk gcc-12 gcc-12-base gettext gettext-base
  gir1.2-freedesktop gir1.2-glib-2.0 gir1.2-gudev-1.0 gir1.2-harfbuzz-0.0
  googletest gperf groff-base groovy gtk-update-icon-cache hicolor-icon-theme
  icu-devtools intltool-debian ivy java-common junit4 libantlr-java libaom3
  libapache-pom-java libarchive-zip-perl libarchive13 libasan8 libasm-java
  libasound2 libasound2-data libasound2-dev libass-dev libass9 libasyncns0
  libatk1.0-0 libatomic1 libavahi-client-dev libavahi-client3
  libavahi-common-data libavahi-common-dev libavahi-common3 libavcodec-dev
  libavcodec59 libavfilter-dev libavfilter8 libavformat-dev libavformat59
  libavutil-dev libavutil57 libbinutils libblas3 libblkid-dev libbluetooth-dev
  libbluetooth3 libbluray-dev libbluray2 libbrotli-dev libbrotli1 libbs2b0
  libbsd0 libbsf-java libcairo-gobject2 libcairo2 libcap-dev libcap2
  libcap2-bin libcc1-0 libcdio++-dev libcdio++1 libcdio-dev libcdio19
  libcec-dev libcec6 libchromaprint1 libcjson1 libclang-cpp14 libclang1-14
  libcodec2-1.0 libcommons-cli-java libcommons-lang-java
  libcommons-logging-java libcommons-parent-java libcrossguid-dev
  libcrossguid0 libctf-nobfd0 libctf0 libcups2 libcurl3-gnutls libcurl4
  libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdate-tz3 libdatrie1
  libdav1d-dev libdav1d6 libdbus-1-3 libdbus-1-dev libdebhelper-perl
  libdeflate0 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-etnaviv1
  libdrm-exynos1 libdrm-freedreno1 libdrm-nouveau2 libdrm-omap1 libdrm-radeon1
  libdrm-tegra0 libdrm2 libedit2 libegl-dev libegl-mesa0 libegl1
  libegl1-mesa-dev libelf1 libepoxy0 libevdev-dev libevdev2 libevent-2.1-7
  libexpat1 libexpat1-dev libffi-dev libfile-stripnondeterminism-perl
  libflac12 libflatbuffers-dev libflatbuffers2 libflite1 libfmt-dev libfmt9
  libfontconfig-dev libfontconfig1 libfontforge4 libfreetype-dev libfreetype6
  libfribidi-dev libfribidi0 libfstrcmp-dev libfstrcmp0 libgbm-dev libgbm1
  libgcc-12-dev libgcc-s1 libgcrypt20-dev libgdk-pixbuf-2.0-0
  libgdk-pixbuf2.0-common libgfortran5 libgif-dev libgif7
  libgirepository-1.0-1 libgl-dev libgl1 libgl1-mesa-dri libglapi-mesa
  libgles-dev libgles1 libgles2 libglew-dev libglew2.2 libglib2.0-0
  libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin
  libglu1-mesa libglu1-mesa-dev libglvnd-core-dev libglvnd-dev libglvnd0
  libglx-dev libglx-mesa0 libglx0 libgme0 libgmp-dev libgmpxx4ldbl
  libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx30 libgomp1
  libgpg-error-dev libgraphite2-3 libgraphite2-dev libgsm1 libgtest-dev
  libgtk2.0-0 libgtk2.0-common libgudev-1.0-0 libgudev-1.0-dev
  libhamcrest-java libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0
  libharfbuzz0b libhawtjni-runtime-java libhowardhinnant-date-dev libice-dev
  libice6 libicu-dev libicu72 libidn2-dev libinput-bin libinput-dev libinput10
  libiso9660++-dev libiso9660++0 libiso9660-11 libiso9660-dev libjansi-java
  libjansi-native-java libjansi1-java libjbig0 libjline2-java libjpeg-dev
  libjpeg62-turbo libjpeg62-turbo-dev libjs-jquery libjs-sphinxdoc
  libjs-underscore libjsoncpp25 libkissfft-dev libkissfft-float131 liblapack3
  liblcms2-2 liblcms2-dev libldb2 liblerc4 liblilv-0-0 liblirc-client0
  liblirc-dev liblirc0 libllvm14 libltdl-dev libltdl7 liblzo2-2 liblzo2-dev
  libmagic-mgc libmagic1 libmariadb-dev libmariadb-dev-compat libmariadb3
  libmbedcrypto7 libmd0 libmicrohttpd-dev libmicrohttpd12 libmount-dev
  libmp3lame0 libmpdec3 libmpg123-0 libmtdev-dev libmtdev1 libmysofa1
  libnfs-dev libnfs13 libnghttp2-14 libnorm1 libnspr4 libnss3 libogg0
  libopengl-dev libopengl0 libopenjp2-7 libopenmpt0 libopus0 libp11-kit-dev
  libp11-kit0 libp8-platform2 libpam-cap libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpciaccess-dev libpciaccess0 libpcre16-3 libpcre2-16-0
  libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpcre3 libpcre3-dev libpcre32-3
  libpcrecpp0v5 libpcsclite1 libpgm-5.3-0 libpipeline1 libpipewire-0.3-0
  libpipewire-0.3-dev libpixman-1-0 libpkgconf3 libplacebo208 libplist-dev
  libplist3 libpng-dev libpng16-16 libpocketsphinx3 libpopt0 libpostproc-dev
  libpostproc56 libproc2-0 libpsl5 libpthread-stubs0-dev libpugixml1v5
  libpulse-dev libpulse-mainloop-glib0 libpulse0 libpython3-dev
  libpython3-stdlib libpython3.10 libpython3.10-dev libpython3.10-minimal
  libpython3.10-stdlib libqdox-java librabbitmq4 librav1e0 librhash0 librist4
  librsvg2-2 librsvg2-bin librtmp1 librubberband2 libselinux1 libselinux1-dev
  libsensors-config libsensors5 libsepol-dev libserd-0-0 libservlet-api-java
  libset-scalar-perl libshairplay-dev libshairplay0 libshine3 libsigsegv2
  libsm-dev libsm6 libsmbclient libsmbclient-dev libsnappy1v5 libsndfile1
  libsndio-dev libsndio7.0 libsodium23 libsord-0-0 libsoxr0 libspa-0.2-dev
  libspa-0.2-modules libspdlog-dev libspdlog1.10 libspeex1 libsphinxbase3
  libspiro1 libsqlite3-0 libsqlite3-dev libsratom-0-0 libsrt1.5-gnutls
  libssh-gcrypt-4 libssh2-1 libssl-dev libssl3 libstdc++-12-dev libstdc++6
  libsub-override-perl libsvtav1enc1 libswresample-dev libswresample4
  libswscale-dev libswscale6 libsystemd0 libtag1-dev libtag1v5
  libtag1v5-vanilla libtalloc2 libtasn1-6-dev libtdb1 libtevent0 libthai-data
  libthai0 libtheora0 libtiff6 libtinyxml-dev libtinyxml2.6.2v5 libtool
  libtwolame0 libubsan1 libuchardet0 libudev-dev libudev1 libudfread-dev
  libudfread0 libunbound8 libusb-0.1-4 libuv1 libva-dev libva-drm2 libva-glx2
  libva-wayland2 libva-x11-2 libva2 libvdpau-dev libvdpau1 libvidstab1.1
  libvorbis0a libvorbisenc2 libvorbisfile3 libvpx7 libvulkan1 libwacom-common
  libwacom-dev libwacom9 libwayland-bin libwayland-client++1
  libwayland-client-extra++1 libwayland-client0 libwayland-cursor++1
  libwayland-cursor0 libwayland-dev libwayland-egl++1 libwayland-egl1
  libwayland-server++1 libwayland-server0 libwbclient0 libwebp7 libwebpmux3
  libwebrtc-audio-processing1 libwoff1 libx11-6 libx11-data libx11-dev
  libx11-xcb1 libx264-164 libx265-199 libxau-dev libxau6 libxcb-dri2-0
  libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shm0
  libxcb-sync1 libxcb-xfixes0 libxcb1 libxcb1-dev libxcomposite1 libxcursor1
  libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxi6
  libxinerama1 libxkbcommon-dev libxkbcommon0 libxml2 libxml2-dev libxpp3-java
  libxrandr-dev libxrandr2 libxrender-dev libxrender1 libxshmfence1
  libxslt1-dev libxslt1.1 libxstream-java libxt-dev libxt6 libxtst6
  libxvidcore4 libxxf86vm1 libz3-4 libzimg2 libzmq5 libzvbi-common libzvbi0 m4
  man-db mariadb-common media-types mysql-common nettle-dev ocl-icd-libopencl1
  openjdk-17-jre openjdk-17-jre-headless openssl pkg-config pkgconf
  pkgconf-bin po-debconf procps python3 python3-dev python3-distutils
  python3-lib2to3 python3-minimal python3.10 python3.10-dev python3.10-minimal
  rapidjson-dev samba-libs shared-mime-info swig swig4.0 unzip uuid-dev
  wayland-protocols wayland-scanner++ waylandpp-dev x11-common x11proto-dev
  xkb-data xml-core xorg-sgml-doctools xtrans-dev zip zlib1g-dev
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc binutils-doc cmake-doc
  cmake-format elpa-cmake-mode ninja-build gcc-12-locales cpp-12-doc dh-make
  flit python3-build python3-tomli python3-installer doxygen-latex doxygen-doc
  doxygen-gui graphviz fonts-noto gcc-12-doc gawk-doc gettext-doc
  libasprintf-dev libgettextpo-dev groff groovy-doc ivy-doc libbcpg-java
  libbcprov-java libjsch-agent-proxy-java libjsch-java lrzip
  libasound2-plugins alsa-utils libasound2-doc libbluray-bdj bsh
  libxalan2-java rhino manpages-dev libcommons-lang-java-doc
  libavalon-framework-java libcommons-logging-java-doc
  libexcalibur-logkit-java liblog4j1.2-java cups-common libcurl4-doc
  libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libevdev-doc
  libfmt-doc freetype2-doc libgcrypt20-doc glew-utils low-memory-monitor
  libgirepository1.0-dev libglib2.0-doc libgdk-pixbuf2.0-bin libxml2-utils
  gmp-doc libgmp10-doc libmpfr-dev dns-root-data gnutls-bin gnutls-doc
  libgraphite2-utils gvfs libice-doc icu-doc liblcms2-utils lirc libtool-doc
  opus-tools p11-kit-doc pciutils pcscd pipewire pipewire-doc pulseaudio
  libqdox-java-doc ant junit lm-sensors serdi libsm-doc sndiod sordi speex
  sqlite3-doc libssl-doc libstdc++-12-doc libtinyxml-doc gfortran
  | fortran95-compiler gcj-jdk libvdpau-doc libwacom-bin libwayland-doc
  libx11-doc libxcb-doc libxext-doc libcglib-nodep-java libdom4j-java
  libjdom1-java libjdom2-java libjettison-java libjoda-time-java libkxml2-java
  libxom-java libxt-doc m4-doc apparmor less www-browser opencl-icd
  libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho
  fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic libmail-box-perl
  python3-doc python3-tk python3-venv python3.10-venv python3.10-doc
  binfmt-support rapidjson-doc swig-doc swig-examples swig4.0-examples
  swig4.0-doc
Recommended packages:
  librsvg2-common fonts-cantarell fonts-inconsolata fonts-noto-mono ant
  ant-optional libgpars-groovy-java libjcommander-java alsa-ucm-conf
  alsa-topology-conf libaacs0 dbus libarchive-cpio-perl libgdk-pixbuf2.0-bin
  xdg-user-dirs libgail-common libgtk2.0-bin javascript-common
  libpipewire-0.3-common libpng-tools pocketsphinx-en-us publicsuffix
  libtasn1-doc va-driver-all | va-driver vdpau-driver-all | vdpau-driver
  mesa-vulkan-drivers | vulkan-icd libatk-wrapper-java-jni fonts-dejavu-extra
  libmail-sendmail-perl psmisc waylandpp-doc
The following NEW packages will be installed:
  adwaita-icon-theme antlr at-spi2-common autoconf automake autopoint
  autotools-dev bsdextrautils ca-certificates ca-certificates-java catch2
  cmake cmake-data curl debhelper default-jre default-jre-headless
  default-libmysqlclient-dev dh-autoreconf dh-python dh-strip-nondeterminism
  doxygen dwz file flatbuffers-compiler flatbuffers-compiler-dev fontconfig
  fontconfig-config fontforge-common fontforge-nox fonts-dejavu-core
  fonts-droid-fallback gawk gettext gettext-base gir1.2-freedesktop
  gir1.2-glib-2.0 gir1.2-gudev-1.0 gir1.2-harfbuzz-0.0 googletest gperf
  groff-base groovy gtk-update-icon-cache hicolor-icon-theme icu-devtools
  intltool-debian ivy java-common junit4 libantlr-java libaom3
  libapache-pom-java libarchive-zip-perl libarchive13 libasm-java libasound2
  libasound2-data libasound2-dev libass-dev libass9 libasyncns0 libatk1.0-0
  libavahi-client-dev libavahi-client3 libavahi-common-data
  libavahi-common-dev libavahi-common3 libavcodec-dev libavcodec59
  libavfilter-dev libavfilter8 libavformat-dev libavformat59 libavutil-dev
  libavutil57 libblas3 libblkid-dev libbluetooth-dev libbluetooth3
  libbluray-dev libbluray2 libbrotli-dev libbrotli1 libbs2b0 libbsd0
  libbsf-java libcairo-gobject2 libcairo2 libcap-dev libcdio++-dev libcdio++1
  libcdio-dev libcdio19 libcec-dev libcec6 libchromaprint1 libcjson1
  libclang-cpp14 libclang1-14 libcodec2-1.0 libcommons-cli-java
  libcommons-lang-java libcommons-logging-java libcommons-parent-java
  libcrossguid-dev libcrossguid0 libcups2 libcurl3-gnutls libcurl4
  libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdate-tz3 libdatrie1
  libdav1d-dev libdav1d6 libdbus-1-3 libdbus-1-dev libdebhelper-perl
  libdeflate0 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-etnaviv1
  libdrm-exynos1 libdrm-freedreno1 libdrm-nouveau2 libdrm-omap1 libdrm-radeon1
  libdrm-tegra0 libdrm2 libedit2 libegl-dev libegl-mesa0 libegl1
  libegl1-mesa-dev libelf1 libepoxy0 libevdev-dev libevdev2 libevent-2.1-7
  libexpat1 libexpat1-dev libffi-dev libfile-stripnondeterminism-perl
  libflac12 libflatbuffers-dev libflatbuffers2 libflite1 libfmt-dev libfmt9
  libfontconfig-dev libfontconfig1 libfontforge4 libfreetype-dev libfreetype6
  libfribidi-dev libfribidi0 libfstrcmp-dev libfstrcmp0 libgbm-dev libgbm1
  libgcrypt20-dev libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgfortran5
  libgif-dev libgif7 libgirepository-1.0-1 libgl-dev libgl1 libgl1-mesa-dri
  libglapi-mesa libgles-dev libgles1 libgles2 libglew-dev libglew2.2
  libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev
  libglib2.0-dev-bin libglu1-mesa libglu1-mesa-dev libglvnd-core-dev
  libglvnd-dev libglvnd0 libglx-dev libglx-mesa0 libglx0 libgme0 libgmp-dev
  libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev
  libgnutlsxx30 libgpg-error-dev libgraphite2-3 libgraphite2-dev libgsm1
  libgtest-dev libgtk2.0-0 libgtk2.0-common libgudev-1.0-0 libgudev-1.0-dev
  libhamcrest-java libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0
  libharfbuzz0b libhawtjni-runtime-java libhowardhinnant-date-dev libice-dev
  libice6 libicu-dev libicu72 libidn2-dev libinput-bin libinput-dev libinput10
  libiso9660++-dev libiso9660++0 libiso9660-11 libiso9660-dev libjansi-java
  libjansi-native-java libjansi1-java libjbig0 libjline2-java libjpeg-dev
  libjpeg62-turbo libjpeg62-turbo-dev libjs-jquery libjs-sphinxdoc
  libjs-underscore libjsoncpp25 libkissfft-dev libkissfft-float131 liblapack3
  liblcms2-2 liblcms2-dev libldb2 liblerc4 liblilv-0-0 liblirc-client0
  liblirc-dev liblirc0 libllvm14 libltdl-dev libltdl7 liblzo2-2 liblzo2-dev
  libmagic-mgc libmagic1 libmariadb-dev libmariadb-dev-compat libmariadb3
  libmbedcrypto7 libmd0 libmicrohttpd-dev libmicrohttpd12 libmount-dev
  libmp3lame0 libmpdec3 libmpg123-0 libmtdev-dev libmtdev1 libmysofa1
  libnfs-dev libnfs13 libnghttp2-14 libnorm1 libnspr4 libnss3 libogg0
  libopengl-dev libopengl0 libopenjp2-7 libopenmpt0 libopus0 libp11-kit-dev
  libp8-platform2 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpciaccess-dev libpciaccess0 libpcre16-3 libpcre2-16-0 libpcre2-32-0
  libpcre2-dev libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5
  libpcsclite1 libpgm-5.3-0 libpipeline1 libpipewire-0.3-0 libpipewire-0.3-dev
  libpixman-1-0 libpkgconf3 libplacebo208 libplist-dev libplist3 libpng-dev
  libpng16-16 libpocketsphinx3 libpopt0 libpostproc-dev libpostproc56
  libproc2-0 libpsl5 libpthread-stubs0-dev libpugixml1v5 libpulse-dev
  libpulse-mainloop-glib0 libpulse0 libpython3-dev libpython3-stdlib
  libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib
  libqdox-java librabbitmq4 librav1e0 librhash0 librist4 librsvg2-2
  librsvg2-bin librtmp1 librubberband2 libselinux1-dev libsensors-config
  libsensors5 libsepol-dev libserd-0-0 libservlet-api-java libset-scalar-perl
  libshairplay-dev libshairplay0 libshine3 libsigsegv2 libsm-dev libsm6
  libsmbclient libsmbclient-dev libsnappy1v5 libsndfile1 libsndio-dev
  libsndio7.0 libsodium23 libsord-0-0 libsoxr0 libspa-0.2-dev
  libspa-0.2-modules libspdlog-dev libspdlog1.10 libspeex1 libsphinxbase3
  libspiro1 libsqlite3-dev libsratom-0-0 libsrt1.5-gnutls libssh-gcrypt-4
  libssh2-1 libssl-dev libsub-override-perl libsvtav1enc1 libswresample-dev
  libswresample4 libswscale-dev libswscale6 libtag1-dev libtag1v5
  libtag1v5-vanilla libtalloc2 libtasn1-6-dev libtdb1 libtevent0 libthai-data
  libthai0 libtheora0 libtiff6 libtinyxml-dev libtinyxml2.6.2v5 libtool
  libtwolame0 libuchardet0 libudev-dev libudfread-dev libudfread0 libunbound8
  libusb-0.1-4 libuv1 libva-dev libva-drm2 libva-glx2 libva-wayland2
  libva-x11-2 libva2 libvdpau-dev libvdpau1 libvidstab1.1 libvorbis0a
  libvorbisenc2 libvorbisfile3 libvpx7 libvulkan1 libwacom-common libwacom-dev
  libwacom9 libwayland-bin libwayland-client++1 libwayland-client-extra++1
  libwayland-client0 libwayland-cursor++1 libwayland-cursor0 libwayland-dev
  libwayland-egl++1 libwayland-egl1 libwayland-server++1 libwayland-server0
  libwbclient0 libwebp7 libwebpmux3 libwebrtc-audio-processing1 libwoff1
  libx11-6 libx11-data libx11-dev libx11-xcb1 libx264-164 libx265-199
  libxau-dev libxau6 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0
  libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1 libxcb1-dev
  libxcomposite1 libxcursor1 libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev
  libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon-dev libxkbcommon0
  libxml2 libxml2-dev libxpp3-java libxrandr-dev libxrandr2 libxrender-dev
  libxrender1 libxshmfence1 libxslt1-dev libxslt1.1 libxstream-java libxt-dev
  libxt6 libxtst6 libxvidcore4 libxxf86vm1 libz3-4 libzimg2 libzmq5
  libzvbi-common libzvbi0 m4 man-db mariadb-common media-types mysql-common
  nettle-dev ocl-icd-libopencl1 openjdk-17-jre openjdk-17-jre-headless openssl
  pkg-config pkgconf pkgconf-bin po-debconf procps python3 python3-dev
  python3-distutils python3-lib2to3 python3-minimal python3.10 python3.10-dev
  python3.10-minimal rapidjson-dev samba-libs sbuild-build-depends-kodi-dummy
  shared-mime-info swig swig4.0 unzip uuid-dev wayland-protocols
  wayland-scanner++ waylandpp-dev x11-common x11proto-dev xkb-data xml-core
  xorg-sgml-doctools xtrans-dev zip zlib1g-dev
The following packages will be upgraded:
  binutils binutils-arm-linux-gnueabihf binutils-common cpp-12 g++-12 gcc-12
  gcc-12-base libasan8 libatomic1 libbinutils libcap2 libcap2-bin libcc1-0
  libctf-nobfd0 libctf0 libgcc-12-dev libgcc-s1 libgomp1 libp11-kit0
  libpam-cap libpcre3 libselinux1 libsqlite3-0 libssl3 libstdc++-12-dev
  libstdc++6 libsystemd0 libubsan1 libudev1
29 upgraded, 525 newly installed, 0 to remove and 59 not upgraded.
Need to get 343 MB of archives.
After this operation, 1119 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-c1RoA7/apt_archive ./ sbuild-build-depends-kodi-dummy 0.invalid.0 [1484 B]
Get:2 http://172.17.4.1/private bookworm-staging/main armhf fonts-droid-fallback all 1:6.0.1r16-1.1 [1807 kB]
Get:3 http://172.17.4.1/private bookworm-staging/main armhf libsigsegv2 armhf 2.14-1 [36.6 kB]
Get:4 http://172.17.4.1/private bookworm-staging/main armhf gawk armhf 1:5.1.0-1 [533 kB]
Get:5 http://172.17.4.1/private bookworm-staging/main armhf libubsan1 armhf 12.2.0-14+rpi1 [861 kB]
Get:6 http://172.17.4.1/private bookworm-staging/main armhf gcc-12-base armhf 12.2.0-14+rpi1 [37.7 kB]
Get:7 http://172.17.4.1/private bookworm-staging/main armhf libstdc++6 armhf 12.2.0-14+rpi1 [504 kB]
Get:8 http://172.17.4.1/private bookworm-staging/main armhf libgomp1 armhf 12.2.0-14+rpi1 [95.4 kB]
Get:9 http://172.17.4.1/private bookworm-staging/main armhf libatomic1 armhf 12.2.0-14+rpi1 [8240 B]
Get:10 http://172.17.4.1/private bookworm-staging/main armhf libasan8 armhf 12.2.0-14+rpi1 [2088 kB]
Get:11 http://172.17.4.1/private bookworm-staging/main armhf cpp-12 armhf 12.2.0-14+rpi1 [7159 kB]
Get:12 http://172.17.4.1/private bookworm-staging/main armhf libcc1-0 armhf 12.2.0-14+rpi1 [32.2 kB]
Get:13 http://172.17.4.1/private bookworm-staging/main armhf libctf0 armhf 2.39.90.20221231-1+rpi1 [71.5 kB]
Get:14 http://172.17.4.1/private bookworm-staging/main armhf libctf-nobfd0 armhf 2.39.90.20221231-1+rpi1 [133 kB]
Get:15 http://172.17.4.1/private bookworm-staging/main armhf binutils-arm-linux-gnueabihf armhf 2.39.90.20221231-1+rpi1 [2069 kB]
Get:16 http://172.17.4.1/private bookworm-staging/main armhf libbinutils armhf 2.39.90.20221231-1+rpi1 [407 kB]
Get:17 http://172.17.4.1/private bookworm-staging/main armhf binutils-common armhf 2.39.90.20221231-1+rpi1 [2354 kB]
Get:18 http://172.17.4.1/private bookworm-staging/main armhf binutils armhf 2.39.90.20221231-1+rpi1 [64.9 kB]
Get:19 http://172.17.4.1/private bookworm-staging/main armhf g++-12 armhf 12.2.0-14+rpi1 [7914 kB]
Get:20 http://172.17.4.1/private bookworm-staging/main armhf gcc-12 armhf 12.2.0-14+rpi1 [14.2 MB]
Get:21 http://172.17.4.1/private bookworm-staging/main armhf libgcc-12-dev armhf 12.2.0-14+rpi1 [727 kB]
Get:22 http://172.17.4.1/private bookworm-staging/main armhf libstdc++-12-dev armhf 12.2.0-14+rpi1 [2027 kB]
Get:23 http://172.17.4.1/private bookworm-staging/main armhf libgcc-s1 armhf 12.2.0-14+rpi1 [36.3 kB]
Get:24 http://172.17.4.1/private bookworm-staging/main armhf libssl3 armhf 3.0.7-2 [1614 kB]
Get:25 http://172.17.4.1/private bookworm-staging/main armhf libpython3.10-minimal armhf 3.10.9-1 [769 kB]
Get:26 http://172.17.4.1/private bookworm-staging/main armhf libexpat1 armhf 2.5.0-1 [77.2 kB]
Get:27 http://172.17.4.1/private bookworm-staging/main armhf python3.10-minimal armhf 3.10.9-1 [1477 kB]
Get:28 http://172.17.4.1/private bookworm-staging/main armhf python3-minimal armhf 3.10.6-3 [25.5 kB]
Get:29 http://172.17.4.1/private bookworm-staging/main armhf media-types all 8.0.0 [33.4 kB]
Get:30 http://172.17.4.1/private bookworm-staging/main armhf libmpdec3 armhf 2.5.1-2+rpi1 [73.5 kB]
Get:31 http://172.17.4.1/private bookworm-staging/main armhf libsqlite3-0 armhf 3.40.1-1 [724 kB]
Get:32 http://172.17.4.1/private bookworm-staging/main armhf libpython3.10-stdlib armhf 3.10.9-1 [1597 kB]
Get:33 http://172.17.4.1/private bookworm-staging/main armhf python3.10 armhf 3.10.9-1 [509 kB]
Get:34 http://172.17.4.1/private bookworm-staging/main armhf libpython3-stdlib armhf 3.10.6-3 [8588 B]
Get:35 http://172.17.4.1/private bookworm-staging/main armhf python3 armhf 3.10.6-3 [25.2 kB]
Get:36 http://172.17.4.1/private bookworm-staging/main armhf libcap2 armhf 1:2.66-3 [23.7 kB]
Get:37 http://172.17.4.1/private bookworm-staging/main armhf libp11-kit0 armhf 0.24.1-2 [324 kB]
Get:38 http://172.17.4.1/private bookworm-staging/main armhf libselinux1 armhf 3.4-1+b1 [64.6 kB]
Get:39 http://172.17.4.1/private bookworm-staging/main armhf libsystemd0 armhf 252.4-1+rpi1 [295 kB]
Get:40 http://172.17.4.1/private bookworm-staging/main armhf libudev1 armhf 252.4-1+rpi1 [98.2 kB]
Get:41 http://172.17.4.1/private bookworm-staging/main armhf libuchardet0 armhf 0.0.7-1 [65.0 kB]
Get:42 http://172.17.4.1/private bookworm-staging/main armhf groff-base armhf 1.22.4-9 [774 kB]
Get:43 http://172.17.4.1/private bookworm-staging/main armhf libcap2-bin armhf 1:2.66-3 [32.5 kB]
Get:44 http://172.17.4.1/private bookworm-staging/main armhf libpam-cap armhf 1:2.66-3 [13.8 kB]
Get:45 http://172.17.4.1/private bookworm-staging/main armhf bsdextrautils armhf 2.38.1-4 [78.8 kB]
Get:46 http://172.17.4.1/private bookworm-staging/main armhf libpipeline1 armhf 1.5.7-1 [33.4 kB]
Get:47 http://172.17.4.1/private bookworm-staging/main armhf man-db armhf 2.11.2-1 [1342 kB]
Get:48 http://172.17.4.1/private bookworm-staging/main armhf libproc2-0 armhf 2:4.0.2-3 [53.6 kB]
Get:49 http://172.17.4.1/private bookworm-staging/main armhf procps armhf 2:4.0.2-3 [679 kB]
Get:50 http://172.17.4.1/private bookworm-staging/main armhf openssl armhf 3.0.7-2 [1349 kB]
Get:51 http://172.17.4.1/private bookworm-staging/main armhf ca-certificates all 20211016 [156 kB]
Get:52 http://172.17.4.1/private bookworm-staging/main armhf libmagic-mgc armhf 1:5.44-2 [305 kB]
Get:53 http://172.17.4.1/private bookworm-staging/main armhf libmagic1 armhf 1:5.44-2 [95.3 kB]
Get:54 http://172.17.4.1/private bookworm-staging/main armhf file armhf 1:5.44-2 [41.4 kB]
Get:55 http://172.17.4.1/private bookworm-staging/main armhf gettext-base armhf 0.21-10 [156 kB]
Get:56 http://172.17.4.1/private bookworm-staging/main armhf hicolor-icon-theme all 0.17-2 [11.4 kB]
Get:57 http://172.17.4.1/private bookworm-staging/main armhf libgdk-pixbuf2.0-common all 2.42.10+dfsg-1 [306 kB]
Get:58 http://172.17.4.1/private bookworm-staging/main armhf libglib2.0-0 armhf 2.74.4-1 [1204 kB]
Get:59 http://172.17.4.1/private bookworm-staging/main armhf libicu72 armhf 72.1-3 [9009 kB]
Get:60 http://172.17.4.1/private bookworm-staging/main armhf libxml2 armhf 2.9.14+dfsg-1.1 [570 kB]
Get:61 http://172.17.4.1/private bookworm-staging/main armhf shared-mime-info armhf 2.2-1 [726 kB]
Get:62 http://172.17.4.1/private bookworm-staging/main armhf libjpeg62-turbo armhf 1:2.1.2-1 [144 kB]
Get:63 http://172.17.4.1/private bookworm-staging/main armhf libpng16-16 armhf 1.6.39-2 [258 kB]
Get:64 http://172.17.4.1/private bookworm-staging/main armhf libdeflate0 armhf 1.14-1 [50.9 kB]
Get:65 http://172.17.4.1/private bookworm-staging/main armhf libjbig0 armhf 2.1-6.1 [27.0 kB]
Get:66 http://172.17.4.1/private bookworm-staging/main armhf liblerc4 armhf 4.0.0+ds-2 [133 kB]
Get:67 http://172.17.4.1/private bookworm-staging/main armhf libwebp7 armhf 1.2.2-2+b2 [237 kB]
Get:68 http://172.17.4.1/private bookworm-staging/main armhf libtiff6 armhf 4.5.0-3 [292 kB]
Get:69 http://172.17.4.1/private bookworm-staging/main armhf libgdk-pixbuf-2.0-0 armhf 2.42.10+dfsg-1+b1 [123 kB]
Get:70 http://172.17.4.1/private bookworm-staging/main armhf gtk-update-icon-cache armhf 3.24.36-1 [41.0 kB]
Get:71 http://172.17.4.1/private bookworm-staging/main armhf adwaita-icon-theme all 43-1 [5124 kB]
Get:72 http://172.17.4.1/private bookworm-staging/main armhf ca-certificates-java all 20230103 [11.4 kB]
Get:73 http://172.17.4.1/private bookworm-staging/main armhf java-common all 0.74 [6388 B]
Get:74 http://172.17.4.1/private bookworm-staging/main armhf libavahi-common-data armhf 0.8-7 [106 kB]
Get:75 http://172.17.4.1/private bookworm-staging/main armhf libavahi-common3 armhf 0.8-7 [38.2 kB]
Get:76 http://172.17.4.1/private bookworm-staging/main armhf libdbus-1-3 armhf 1.14.4-1 [211 kB]
Get:77 http://172.17.4.1/private bookworm-staging/main armhf libavahi-client3 armhf 0.8-7 [40.8 kB]
Get:78 http://172.17.4.1/private bookworm-staging/main armhf libcups2 armhf 2.4.2-1+b1 [311 kB]
Get:79 http://172.17.4.1/private bookworm-staging/main armhf liblcms2-2 armhf 2.14-1+b1 [124 kB]
Get:80 http://172.17.4.1/private bookworm-staging/main armhf libbrotli1 armhf 1.0.9-2+b2 [260 kB]
Get:81 http://172.17.4.1/private bookworm-staging/main armhf libfreetype6 armhf 2.12.1+dfsg-4 [329 kB]
Get:82 http://172.17.4.1/private bookworm-staging/main armhf fonts-dejavu-core all 2.37-2 [1069 kB]
Get:83 http://172.17.4.1/private bookworm-staging/main armhf fontconfig-config armhf 2.14.1-3 [315 kB]
Get:84 http://172.17.4.1/private bookworm-staging/main armhf libfontconfig1 armhf 2.14.1-3 [366 kB]
Get:85 http://172.17.4.1/private bookworm-staging/main armhf libnspr4 armhf 2:4.35-1 [90.9 kB]
Get:86 http://172.17.4.1/private bookworm-staging/main armhf libnss3 armhf 2:3.87-1 [1091 kB]
Get:87 http://172.17.4.1/private bookworm-staging/main armhf libasound2-data all 1.2.8-1 [20.5 kB]
Get:88 http://172.17.4.1/private bookworm-staging/main armhf libasound2 armhf 1.2.8-1 [304 kB]
Get:89 http://172.17.4.1/private bookworm-staging/main armhf libgraphite2-3 armhf 1.3.14-1 [70.3 kB]
Get:90 http://172.17.4.1/private bookworm-staging/main armhf libharfbuzz0b armhf 6.0.0-1 [1886 kB]
Get:91 http://172.17.4.1/private bookworm-staging/main armhf libpcsclite1 armhf 1.9.9-1 [58.1 kB]
Get:92 http://172.17.4.1/private bookworm-staging/main armhf openjdk-17-jre-headless armhf 17.0.4+8-1+rpi1 [40.1 MB]
Get:93 http://172.17.4.1/private bookworm-staging/main armhf default-jre-headless armhf 2:1.17-74 [2932 B]
Get:94 http://172.17.4.1/private bookworm-staging/main armhf libantlr-java all 2.7.7+dfsg-12 [458 kB]
Get:95 http://172.17.4.1/private bookworm-staging/main armhf antlr all 2.7.7+dfsg-12 [14.3 kB]
Get:96 http://172.17.4.1/private bookworm-staging/main armhf at-spi2-common all 2.46.0-4 [161 kB]
Get:97 http://172.17.4.1/private bookworm-staging/main armhf m4 armhf 1.4.19-2 [256 kB]
Get:98 http://172.17.4.1/private bookworm-staging/main armhf autoconf all 2.71-3 [332 kB]
Get:99 http://172.17.4.1/private bookworm-staging/main armhf autotools-dev all 20220109.1 [51.6 kB]
Get:100 http://172.17.4.1/private bookworm-staging/main armhf automake all 1:1.16.5-1.3 [823 kB]
Get:101 http://172.17.4.1/private bookworm-staging/main armhf autopoint all 0.21-10 [495 kB]
Get:102 http://172.17.4.1/private bookworm-staging/main armhf catch2 armhf 2.13.10-1 [436 kB]
Get:103 http://172.17.4.1/private bookworm-staging/main armhf libarchive13 armhf 3.6.2-1 [293 kB]
Get:104 http://172.17.4.1/private bookworm-staging/main armhf libnghttp2-14 armhf 1.51.0-1 [60.5 kB]
Get:105 http://172.17.4.1/private bookworm-staging/main armhf libpsl5 armhf 0.21.0-1.2 [56.2 kB]
Get:106 http://172.17.4.1/private bookworm-staging/main armhf librtmp1 armhf 2.4+20151223.gitfa8646d.1-2+b2 [54.2 kB]
Get:107 http://172.17.4.1/private bookworm-staging/main armhf libssh2-1 armhf 1.10.0-3+b1 [161 kB]
Get:108 http://172.17.4.1/private bookworm-staging/main armhf libcurl4 armhf 7.87.0-2 [332 kB]
Get:109 http://172.17.4.1/private bookworm-staging/main armhf libjsoncpp25 armhf 1.9.5-4 [66.7 kB]
Get:110 http://172.17.4.1/private bookworm-staging/main armhf librhash0 armhf 1.4.3-3 [142 kB]
Get:111 http://172.17.4.1/private bookworm-staging/main armhf libuv1 armhf 1.44.2-1+rpi1 [125 kB]
Get:112 http://172.17.4.1/private bookworm-staging/main armhf cmake-data all 3.25.1-1 [2026 kB]
Get:113 http://172.17.4.1/private bookworm-staging/main armhf cmake armhf 3.25.1-1 [3859 kB]
Get:114 http://172.17.4.1/private bookworm-staging/main armhf curl armhf 7.87.0-2 [294 kB]
Get:115 http://172.17.4.1/private bookworm-staging/main armhf libdebhelper-perl all 13.11.4 [81.2 kB]
Get:116 http://172.17.4.1/private bookworm-staging/main armhf libtool all 2.4.7-5 [517 kB]
Get:117 http://172.17.4.1/private bookworm-staging/main armhf dh-autoreconf all 20 [17.1 kB]
Get:118 http://172.17.4.1/private bookworm-staging/main armhf libarchive-zip-perl all 1.68-1 [104 kB]
Get:119 http://172.17.4.1/private bookworm-staging/main armhf libsub-override-perl all 0.09-4 [9304 B]
Get:120 http://172.17.4.1/private bookworm-staging/main armhf libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB]
Get:121 http://172.17.4.1/private bookworm-staging/main armhf dh-strip-nondeterminism all 1.13.1-1 [8620 B]
Get:122 http://172.17.4.1/private bookworm-staging/main armhf libelf1 armhf 0.187-2+rpi2 [177 kB]
Get:123 http://172.17.4.1/private bookworm-staging/main armhf dwz armhf 0.15-1 [92.4 kB]
Get:124 http://172.17.4.1/private bookworm-staging/main armhf gettext armhf 0.21-10 [1203 kB]
Get:125 http://172.17.4.1/private bookworm-staging/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get:126 http://172.17.4.1/private bookworm-staging/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
Get:127 http://172.17.4.1/private bookworm-staging/main armhf debhelper all 13.11.4 [942 kB]
Get:128 http://172.17.4.1/private bookworm-staging/main armhf libgtk2.0-common all 2.24.33-2 [2700 kB]
Get:129 http://172.17.4.1/private bookworm-staging/main armhf libatk1.0-0 armhf 2.46.0-4 [41.4 kB]
Get:130 http://172.17.4.1/private bookworm-staging/main armhf libpixman-1-0 armhf 0.42.2-1 [461 kB]
Get:131 http://172.17.4.1/private bookworm-staging/main armhf libxau6 armhf 1:1.0.9-1 [19.1 kB]
Get:132 http://172.17.4.1/private bookworm-staging/main armhf libmd0 armhf 1.0.4-2 [28.6 kB]
Get:133 http://172.17.4.1/private bookworm-staging/main armhf libbsd0 armhf 0.11.7-1 [112 kB]
Get:134 http://172.17.4.1/private bookworm-staging/main armhf libxdmcp6 armhf 1:1.1.2-3 [25.0 kB]
Get:135 http://172.17.4.1/private bookworm-staging/main armhf libxcb1 armhf 1.15-1 [139 kB]
Get:136 http://172.17.4.1/private bookworm-staging/main armhf libx11-data all 2:1.8.3-3 [292 kB]
Get:137 http://172.17.4.1/private bookworm-staging/main armhf libx11-6 armhf 2:1.8.3-3 [687 kB]
Get:138 http://172.17.4.1/private bookworm-staging/main armhf libxcb-render0 armhf 1.15-1 [114 kB]
Get:139 http://172.17.4.1/private bookworm-staging/main armhf libxcb-shm0 armhf 1.15-1 [106 kB]
Get:140 http://172.17.4.1/private bookworm-staging/main armhf libxext6 armhf 2:1.3.4-1 [48.0 kB]
Get:141 http://172.17.4.1/private bookworm-staging/main armhf libxrender1 armhf 1:0.9.10-1.1 [30.0 kB]
Get:142 http://172.17.4.1/private bookworm-staging/main armhf libcairo2 armhf 1.16.0-7 [482 kB]
Get:143 http://172.17.4.1/private bookworm-staging/main armhf fontconfig armhf 2.14.1-3 [449 kB]
Get:144 http://172.17.4.1/private bookworm-staging/main armhf libfribidi0 armhf 1.0.8-2.1 [63.7 kB]
Get:145 http://172.17.4.1/private bookworm-staging/main armhf libthai-data all 0.1.29-1 [176 kB]
Get:146 http://172.17.4.1/private bookworm-staging/main armhf libdatrie1 armhf 0.2.13-2+b2 [39.9 kB]
Get:147 http://172.17.4.1/private bookworm-staging/main armhf libthai0 armhf 0.1.29-1 [54.5 kB]
Get:148 http://172.17.4.1/private bookworm-staging/main armhf libpango-1.0-0 armhf 1.50.12+ds-1 [186 kB]
Get:149 http://172.17.4.1/private bookworm-staging/main armhf libpangoft2-1.0-0 armhf 1.50.12+ds-1 [40.5 kB]
Get:150 http://172.17.4.1/private bookworm-staging/main armhf libpangocairo-1.0-0 armhf 1.50.12+ds-1 [30.1 kB]
Get:151 http://172.17.4.1/private bookworm-staging/main armhf libxcomposite1 armhf 1:0.4.5-1 [16.2 kB]
Get:152 http://172.17.4.1/private bookworm-staging/main armhf libxfixes3 armhf 1:6.0.0-2 [21.2 kB]
Get:153 http://172.17.4.1/private bookworm-staging/main armhf libxcursor1 armhf 1:1.2.1-1 [38.0 kB]
Get:154 http://172.17.4.1/private bookworm-staging/main armhf libxdamage1 armhf 1:1.1.6-1 [14.7 kB]
Get:155 http://172.17.4.1/private bookworm-staging/main armhf libxi6 armhf 2:1.8-1 [78.1 kB]
Get:156 http://172.17.4.1/private bookworm-staging/main armhf libxinerama1 armhf 2:1.1.4-3 [17.4 kB]
Get:157 http://172.17.4.1/private bookworm-staging/main armhf libxrandr2 armhf 2:1.5.2-2 [35.5 kB]
Get:158 http://172.17.4.1/private bookworm-staging/main armhf libgtk2.0-0 armhf 2.24.33-2 [1546 kB]
Get:159 http://172.17.4.1/private bookworm-staging/main armhf libglvnd0 armhf 1.6.0-1 [53.8 kB]
Get:160 http://172.17.4.1/private bookworm-staging/main armhf libdrm-common all 2.4.114-1+rpi1 [7276 B]
Get:161 http://172.17.4.1/private bookworm-staging/main armhf libdrm2 armhf 2.4.114-1+rpi1 [32.8 kB]
Get:162 http://172.17.4.1/private bookworm-staging/main armhf libglapi-mesa armhf 22.2.0-1+rpi1 [84.6 kB]
Get:163 http://172.17.4.1/private bookworm-staging/main armhf libx11-xcb1 armhf 2:1.8.3-3 [192 kB]
Get:164 http://172.17.4.1/private bookworm-staging/main armhf libxcb-dri2-0 armhf 1.15-1 [107 kB]
Get:165 http://172.17.4.1/private bookworm-staging/main armhf libxcb-dri3-0 armhf 1.15-1 [107 kB]
Get:166 http://172.17.4.1/private bookworm-staging/main armhf libxcb-glx0 armhf 1.15-1 [121 kB]
Get:167 http://172.17.4.1/private bookworm-staging/main armhf libxcb-present0 armhf 1.15-1 [105 kB]
Get:168 http://172.17.4.1/private bookworm-staging/main armhf libxcb-sync1 armhf 1.15-1 [108 kB]
Get:169 http://172.17.4.1/private bookworm-staging/main armhf libxcb-xfixes0 armhf 1.15-1 [109 kB]
Get:170 http://172.17.4.1/private bookworm-staging/main armhf libxshmfence1 armhf 1.3-1 [8636 B]
Get:171 http://172.17.4.1/private bookworm-staging/main armhf libxxf86vm1 armhf 1:1.1.4-1+b2 [20.1 kB]
Get:172 http://172.17.4.1/private bookworm-staging/main armhf libdrm-amdgpu1 armhf 2.4.114-1+rpi1 [19.3 kB]
Get:173 http://172.17.4.1/private bookworm-staging/main armhf libdrm-nouveau2 armhf 2.4.114-1+rpi1 [17.0 kB]
Get:174 http://172.17.4.1/private bookworm-staging/main armhf libdrm-radeon1 armhf 2.4.114-1+rpi1 [20.7 kB]
Get:175 http://172.17.4.1/private bookworm-staging/main armhf libedit2 armhf 3.1-20221030-2 [76.2 kB]
Get:176 http://172.17.4.1/private bookworm-staging/main armhf libz3-4 armhf 4.8.12-3 [5798 kB]
Get:177 http://172.17.4.1/private bookworm-staging/main armhf libllvm14 armhf 1:14.0.6-10+rpi1 [19.5 MB]
Get:178 http://172.17.4.1/private bookworm-staging/main armhf libsensors-config all 1:3.6.0-7.1 [14.3 kB]
Get:179 http://172.17.4.1/private bookworm-staging/main armhf libsensors5 armhf 1:3.6.0-7.1 [31.6 kB]
Get:180 http://172.17.4.1/private bookworm-staging/main armhf libgl1-mesa-dri armhf 22.2.0-1+rpi1 [5593 kB]
Get:181 http://172.17.4.1/private bookworm-staging/main armhf libglx-mesa0 armhf 22.2.0-1+rpi1 [171 kB]
Get:182 http://172.17.4.1/private bookworm-staging/main armhf libglx0 armhf 1.6.0-1 [32.0 kB]
Get:183 http://172.17.4.1/private bookworm-staging/main armhf libgl1 armhf 1.6.0-1 [89.9 kB]
Get:184 http://172.17.4.1/private bookworm-staging/main armhf libgif7 armhf 5.2.1-2.5 [44.7 kB]
Get:185 http://172.17.4.1/private bookworm-staging/main armhf x11-common all 1:7.7+23 [252 kB]
Get:186 http://172.17.4.1/private bookworm-staging/main armhf libxtst6 armhf 2:1.2.3-1.1 [26.3 kB]
Get:187 http://172.17.4.1/private bookworm-staging/main armhf openjdk-17-jre armhf 17.0.4+8-1+rpi1 [142 kB]
Get:188 http://172.17.4.1/private bookworm-staging/main armhf default-jre armhf 2:1.17-74 [1056 B]
Get:189 http://172.17.4.1/private bookworm-staging/main armhf mysql-common all 5.8+1.0.8 [7528 B]
Get:190 http://172.17.4.1/private bookworm-staging/main armhf mariadb-common all 1:10.6.11-2+rpi1 [20.9 kB]
Get:191 http://172.17.4.1/private bookworm-staging/main armhf libmariadb3 armhf 1:10.6.11-2+rpi1 [147 kB]
Get:192 http://172.17.4.1/private bookworm-staging/main armhf libssl-dev armhf 3.0.7-2 [2095 kB]
Get:193 http://172.17.4.1/private bookworm-staging/main armhf zlib1g-dev armhf 1:1.2.13.dfsg-1 [901 kB]
Get:194 http://172.17.4.1/private bookworm-staging/main armhf libmariadb-dev armhf 1:10.6.11-2+rpi1 [236 kB]
Get:195 http://172.17.4.1/private bookworm-staging/main armhf libmariadb-dev-compat armhf 1:10.6.11-2+rpi1 [19.8 kB]
Get:196 http://172.17.4.1/private bookworm-staging/main armhf default-libmysqlclient-dev armhf 1.0.8 [3980 B]
Get:197 http://172.17.4.1/private bookworm-staging/main armhf python3-lib2to3 all 3.10.8-1 [77.3 kB]
Get:198 http://172.17.4.1/private bookworm-staging/main armhf python3-distutils all 3.10.8-1 [139 kB]
Get:199 http://172.17.4.1/private bookworm-staging/main armhf dh-python all 5.20220819+rpi1 [114 kB]
Get:200 http://172.17.4.1/private bookworm-staging/main armhf libclang-cpp14 armhf 1:14.0.6-10+rpi1 [9462 kB]
Get:201 http://172.17.4.1/private bookworm-staging/main armhf libclang1-14 armhf 1:14.0.6-10+rpi1 [5209 kB]
Get:202 http://172.17.4.1/private bookworm-staging/main armhf doxygen armhf 1.9.4-4 [3840 kB]
Get:203 http://172.17.4.1/private bookworm-staging/main armhf libflatbuffers2 armhf 2.0.8+dfsg1-2 [151 kB]
Get:204 http://172.17.4.1/private bookworm-staging/main armhf flatbuffers-compiler armhf 2.0.8+dfsg1-2 [674 kB]
Get:205 http://172.17.4.1/private bookworm-staging/main armhf flatbuffers-compiler-dev armhf 2.0.8+dfsg1-2 [11.6 kB]
Get:206 http://172.17.4.1/private bookworm-staging/main armhf fontforge-common all 1:20220308~dfsg-1+rpi1 [2113 kB]
Get:207 http://172.17.4.1/private bookworm-staging/main armhf libpython3.10 armhf 3.10.9-1 [1462 kB]
Get:208 http://172.17.4.1/private bookworm-staging/main armhf libspiro1 armhf 1:20221101-1 [18.8 kB]
Get:209 http://172.17.4.1/private bookworm-staging/main armhf libwoff1 armhf 1.0.2-2 [35.9 kB]
Get:210 http://172.17.4.1/private bookworm-staging/main armhf libfontforge4 armhf 1:20220308~dfsg-1+rpi1+b1 [1600 kB]
Get:211 http://172.17.4.1/private bookworm-staging/main armhf fontforge-nox armhf 1:20220308~dfsg-1+rpi1+b1 [25.6 kB]
Get:212 http://172.17.4.1/private bookworm-staging/main armhf libgirepository-1.0-1 armhf 1.74.0-2 [97.5 kB]
Get:213 http://172.17.4.1/private bookworm-staging/main armhf gir1.2-glib-2.0 armhf 1.74.0-2 [170 kB]
Get:214 http://172.17.4.1/private bookworm-staging/main armhf gir1.2-freedesktop armhf 1.74.0-2 [47.5 kB]
Get:215 http://172.17.4.1/private bookworm-staging/main armhf libgudev-1.0-0 armhf 237-2 [13.2 kB]
Get:216 http://172.17.4.1/private bookworm-staging/main armhf gir1.2-gudev-1.0 armhf 237-2 [5372 B]
Get:217 http://172.17.4.1/private bookworm-staging/main armhf gir1.2-harfbuzz-0.0 armhf 6.0.0-1 [1572 kB]
Get:218 http://172.17.4.1/private bookworm-staging/main armhf googletest all 1.12.1-0.2 [506 kB]
Get:219 http://172.17.4.1/private bookworm-staging/main armhf gperf armhf 3.1-1 [141 kB]
Get:220 http://172.17.4.1/private bookworm-staging/main armhf ivy all 2.5.1-2 [1288 kB]
Get:221 http://172.17.4.1/private bookworm-staging/main armhf libhamcrest-java all 2.2-1 [121 kB]
Get:222 http://172.17.4.1/private bookworm-staging/main armhf junit4 all 4.13.2-3 [348 kB]
Get:223 http://172.17.4.1/private bookworm-staging/main armhf libasm-java all 9.4-1 [389 kB]
Get:224 http://172.17.4.1/private bookworm-staging/main armhf libbsf-java all 1:2.4.0-8 [76.3 kB]
Get:225 http://172.17.4.1/private bookworm-staging/main armhf libcommons-cli-java all 1.5.0-1 [60.0 kB]
Get:226 http://172.17.4.1/private bookworm-staging/main armhf libapache-pom-java all 29-2 [5276 B]
Get:227 http://172.17.4.1/private bookworm-staging/main armhf libcommons-parent-java all 56-1 [10.8 kB]
Get:228 http://172.17.4.1/private bookworm-staging/main armhf libcommons-logging-java all 1.2-3 [62.4 kB]
Get:229 http://172.17.4.1/private bookworm-staging/main armhf libjansi-java all 2.4.0-2 [105 kB]
Get:230 http://172.17.4.1/private bookworm-staging/main armhf libhawtjni-runtime-java all 1.18-1 [36.3 kB]
Get:231 http://172.17.4.1/private bookworm-staging/main armhf libjansi-native-java all 1.8-1 [26.0 kB]
Get:232 http://172.17.4.1/private bookworm-staging/main armhf libjansi1-java all 1.18-3 [66.5 kB]
Get:233 http://172.17.4.1/private bookworm-staging/main armhf libjline2-java all 2.14.6-5 [151 kB]
Get:234 http://172.17.4.1/private bookworm-staging/main armhf libqdox-java all 1.12.1-3 [172 kB]
Get:235 http://172.17.4.1/private bookworm-staging/main armhf libservlet-api-java all 4.0.1-2 [81.0 kB]
Get:236 http://172.17.4.1/private bookworm-staging/main armhf libxpp3-java all 1.1.4c-3 [292 kB]
Get:237 http://172.17.4.1/private bookworm-staging/main armhf libxstream-java all 1.4.20-1 [565 kB]
Get:238 http://172.17.4.1/private bookworm-staging/main armhf groovy all 2.4.21-7 [12.9 MB]
Get:239 http://172.17.4.1/private bookworm-staging/main armhf icu-devtools armhf 72.1-3 [175 kB]
Get:240 http://172.17.4.1/private bookworm-staging/main armhf libaom3 armhf 3.5.0-1 [1302 kB]
Get:241 http://172.17.4.1/private bookworm-staging/main armhf libasound2-dev armhf 1.2.8-1 [110 kB]
Get:242 http://172.17.4.1/private bookworm-staging/main armhf libass9 armhf 1:0.17.0-2 [85.5 kB]
Get:243 http://172.17.4.1/private bookworm-staging/main armhf libexpat1-dev armhf 2.5.0-1 [130 kB]
Get:244 http://172.17.4.1/private bookworm-staging/main armhf libbrotli-dev armhf 1.0.9-2+b2 [271 kB]
Get:245 http://172.17.4.1/private bookworm-staging/main armhf libpng-dev armhf 1.6.39-2 [336 kB]
Get:246 http://172.17.4.1/private bookworm-staging/main armhf libfreetype-dev armhf 2.12.1+dfsg-4 [493 kB]
Get:247 http://172.17.4.1/private bookworm-staging/main armhf uuid-dev armhf 2.38.1-4 [37.7 kB]
Get:248 http://172.17.4.1/private bookworm-staging/main armhf libpkgconf3 armhf 1.8.0-12 [31.0 kB]
Get:249 http://172.17.4.1/private bookworm-staging/main armhf pkgconf-bin armhf 1.8.0-12 [27.6 kB]
Get:250 http://172.17.4.1/private bookworm-staging/main armhf pkgconf armhf 1.8.0-12 [25.6 kB]
Get:251 http://172.17.4.1/private bookworm-staging/main armhf pkg-config armhf 1.8.0-12 [13.5 kB]
Get:252 http://172.17.4.1/private bookworm-staging/main armhf libfontconfig-dev armhf 2.14.1-3 [383 kB]
Get:253 http://172.17.4.1/private bookworm-staging/main armhf libfribidi-dev armhf 1.0.8-2.1 [103 kB]
Get:254 http://172.17.4.1/private bookworm-staging/main armhf libharfbuzz-icu0 armhf 6.0.0-1 [1549 kB]
Get:255 http://172.17.4.1/private bookworm-staging/main armhf libharfbuzz-gobject0 armhf 6.0.0-1 [1562 kB]
Get:256 http://172.17.4.1/private bookworm-staging/main armhf libffi-dev armhf 3.4.4-1 [60.4 kB]
Get:257 http://172.17.4.1/private bookworm-staging/main armhf libglib2.0-data all 2.74.4-1 [1209 kB]
Get:258 http://172.17.4.1/private bookworm-staging/main armhf libglib2.0-bin armhf 2.74.4-1 [101 kB]
Get:259 http://172.17.4.1/private bookworm-staging/main armhf libglib2.0-dev-bin armhf 2.74.4-1 [147 kB]
Get:260 http://172.17.4.1/private bookworm-staging/main armhf libblkid-dev armhf 2.38.1-4 [162 kB]
Get:261 http://172.17.4.1/private bookworm-staging/main armhf libsepol-dev armhf 3.4-2 [319 kB]
Get:262 http://172.17.4.1/private bookworm-staging/main armhf libpcre2-16-0 armhf 10.40-3 [209 kB]
Get:263 http://172.17.4.1/private bookworm-staging/main armhf libpcre2-32-0 armhf 10.40-3 [199 kB]
Get:264 http://172.17.4.1/private bookworm-staging/main armhf libpcre2-posix3 armhf 10.40-3 [53.2 kB]
Get:265 http://172.17.4.1/private bookworm-staging/main armhf libpcre2-dev armhf 10.40-3 [644 kB]
Get:266 http://172.17.4.1/private bookworm-staging/main armhf libselinux1-dev armhf 3.4-1+b1 [143 kB]
Get:267 http://172.17.4.1/private bookworm-staging/main armhf libmount-dev armhf 2.38.1-4 [22.2 kB]
Get:268 http://172.17.4.1/private bookworm-staging/main armhf libglib2.0-dev armhf 2.74.4-1 [1463 kB]
Get:269 http://172.17.4.1/private bookworm-staging/main armhf libgraphite2-dev armhf 1.3.14-1 [24.0 kB]
Get:270 http://172.17.4.1/private bookworm-staging/main armhf libicu-dev armhf 72.1-3 [9959 kB]
Get:271 http://172.17.4.1/private bookworm-staging/main armhf libharfbuzz-dev armhf 6.0.0-1 [1659 kB]
Get:272 http://172.17.4.1/private bookworm-staging/main armhf libass-dev armhf 1:0.17.0-2 [102 kB]
Get:273 http://172.17.4.1/private bookworm-staging/main armhf libasyncns0 armhf 0.8-6+b3 [12.0 kB]
Get:274 http://172.17.4.1/private bookworm-staging/main armhf libavahi-common-dev armhf 0.8-7 [52.0 kB]
Get:275 http://172.17.4.1/private bookworm-staging/main armhf xml-core all 0.18+nmu1 [23.8 kB]
Get:276 http://172.17.4.1/private bookworm-staging/main armhf libdbus-1-dev armhf 1.14.4-1 [242 kB]
Get:277 http://172.17.4.1/private bookworm-staging/main armhf libavahi-client-dev armhf 0.8-7 [48.7 kB]
Get:278 http://172.17.4.1/private bookworm-staging/main armhf libva2 armhf 2.17.0-1 [61.1 kB]
Get:279 http://172.17.4.1/private bookworm-staging/main armhf libva-drm2 armhf 2.17.0-1 [15.9 kB]
Get:280 http://172.17.4.1/private bookworm-staging/main armhf libva-x11-2 armhf 2.17.0-1 [19.6 kB]
Get:281 http://172.17.4.1/private bookworm-staging/main armhf libvdpau1 armhf 1.5-2 [23.9 kB]
Get:282 http://172.17.4.1/private bookworm-staging/main armhf ocl-icd-libopencl1 armhf 2.3.1-1 [40.3 kB]
Get:283 http://172.17.4.1/private bookworm-staging/main armhf libavutil57 armhf 7:5.1.2-1 [336 kB]
Get:284 http://172.17.4.1/private bookworm-staging/main armhf libcodec2-1.0 armhf 1.0.5-1 [8151 kB]
Get:285 http://172.17.4.1/private bookworm-staging/main armhf libdav1d6 armhf 1.0.0-2+rpi1 [205 kB]
Get:286 http://172.17.4.1/private bookworm-staging/main armhf libgsm1 armhf 1.0.22-1 [28.3 kB]
Get:287 http://172.17.4.1/private bookworm-staging/main armhf libmp3lame0 armhf 3.100-6 [347 kB]
Get:288 http://172.17.4.1/private bookworm-staging/main armhf libopenjp2-7 armhf 2.5.0-1+b1 [164 kB]
Get:289 http://172.17.4.1/private bookworm-staging/main armhf libopus0 armhf 1.3.1-2 [175 kB]
Get:290 http://172.17.4.1/private bookworm-staging/main armhf librav1e0 armhf 0.5.1-6 [521 kB]
Get:291 http://172.17.4.1/private bookworm-staging/main armhf libcairo-gobject2 armhf 1.16.0-7 [111 kB]
Get:292 http://172.17.4.1/private bookworm-staging/main armhf librsvg2-2 armhf 2.54.5+dfsg-1 [2217 kB]
Get:293 http://172.17.4.1/private bookworm-staging/main armhf libshine3 armhf 3.1.1-2+b1 [22.0 kB]
Get:294 http://172.17.4.1/private bookworm-staging/main armhf libsnappy1v5 armhf 1.1.9-2 [25.5 kB]
Get:295 http://172.17.4.1/private bookworm-staging/main armhf libspeex1 armhf 1.2.1-1 [49.9 kB]
Get:296 http://172.17.4.1/private bookworm-staging/main armhf libsvtav1enc1 armhf 1.4.1+dfsg-1 [880 kB]
Ign:296 http://172.17.4.1/private bookworm-staging/main armhf libsvtav1enc1 armhf 1.4.1+dfsg-1
Get:297 http://172.17.4.1/private bookworm-staging/main armhf libsoxr0 armhf 0.1.3-4+rpi1 [52.9 kB]
Get:298 http://172.17.4.1/private bookworm-staging/main armhf libswresample4 armhf 7:5.1.2-1 [95.2 kB]
Get:299 http://172.17.4.1/private bookworm-staging/main armhf libogg0 armhf 1.3.5-3 [21.7 kB]
Get:300 http://172.17.4.1/private bookworm-staging/main armhf libtheora0 armhf 1.1.1+dfsg.1-16.1 [130 kB]
Get:301 http://172.17.4.1/private bookworm-staging/main armhf libtwolame0 armhf 0.4.0-2 [46.8 kB]
Get:302 http://172.17.4.1/private bookworm-staging/main armhf libvorbis0a armhf 1.3.7-1 [82.7 kB]
Get:303 http://172.17.4.1/private bookworm-staging/main armhf libvorbisenc2 armhf 1.3.7-1 [74.4 kB]
Get:304 http://172.17.4.1/private bookworm-staging/main armhf libvpx7 armhf 1.12.0-1 [1210 kB]
Get:305 http://172.17.4.1/private bookworm-staging/main armhf libwebpmux3 armhf 1.2.2-2+b2 [103 kB]
Get:306 http://172.17.4.1/private bookworm-staging/main armhf libx264-164 armhf 2:0.164.3095+gitbaee400-2+rpi1+b4 [677 kB]
Get:307 http://172.17.4.1/private bookworm-staging/main armhf libx265-199 armhf 3.5-2 [548 kB]
Get:308 http://172.17.4.1/private bookworm-staging/main armhf libxvidcore4 armhf 2:1.3.7-1 [196 kB]
Get:309 http://172.17.4.1/private bookworm-staging/main armhf libzvbi-common all 0.2.39-2 [69.6 kB]
Get:310 http://172.17.4.1/private bookworm-staging/main armhf libzvbi0 armhf 0.2.39-2 [241 kB]
Get:311 http://172.17.4.1/private bookworm-staging/main armhf libavcodec59 armhf 7:5.1.2-1 [4582 kB]
Get:312 http://172.17.4.1/private bookworm-staging/main armhf libavutil-dev armhf 7:5.1.2-1 [485 kB]
Get:313 http://172.17.4.1/private bookworm-staging/main armhf libswresample-dev armhf 7:5.1.2-1 [105 kB]
Get:314 http://172.17.4.1/private bookworm-staging/main armhf libavcodec-dev armhf 7:5.1.2-1 [5131 kB]
Get:315 http://172.17.4.1/private bookworm-staging/main armhf libudfread0 armhf 1.1.2-1 [14.6 kB]
Get:316 http://172.17.4.1/private bookworm-staging/main armhf libbluray2 armhf 1:1.3.4-1 [120 kB]
Get:317 http://172.17.4.1/private bookworm-staging/main armhf libchromaprint1 armhf 1.5.1-2+b2 [33.7 kB]
Get:318 http://172.17.4.1/private bookworm-staging/main armhf libgme0 armhf 0.6.3-5 [105 kB]
Get:319 http://172.17.4.1/private bookworm-staging/main armhf libmpg123-0 armhf 1.31.1-1 [126 kB]
Get:320 http://172.17.4.1/private bookworm-staging/main armhf libvorbisfile3 armhf 1.3.7-1 [25.2 kB]
Get:321 http://172.17.4.1/private bookworm-staging/main armhf libopenmpt0 armhf 0.6.7-1 [595 kB]
Get:322 http://172.17.4.1/private bookworm-staging/main armhf librabbitmq4 armhf 0.11.0-1+b1 [38.3 kB]
Get:323 http://172.17.4.1/private bookworm-staging/main armhf libcjson1 armhf 1.7.15-1 [20.9 kB]
Get:324 http://172.17.4.1/private bookworm-staging/main armhf libmbedcrypto7 armhf 2.28.2-1 [239 kB]
Get:325 http://172.17.4.1/private bookworm-staging/main armhf librist4 armhf 0.2.7+dfsg-1 [67.1 kB]
Get:326 http://172.17.4.1/private bookworm-staging/main armhf libsrt1.5-gnutls armhf 1.5.1-1 [263 kB]
Get:327 http://172.17.4.1/private bookworm-staging/main armhf libssh-gcrypt-4 armhf 0.10.4-2 [188 kB]
Get:328 http://172.17.4.1/private bookworm-staging/main armhf libnorm1 armhf 1.5.9+dfsg-2 [184 kB]
Get:329 http://172.17.4.1/private bookworm-staging/main armhf libpgm-5.3-0 armhf 5.3.128~dfsg-2 [154 kB]
Get:330 http://172.17.4.1/private bookworm-staging/main armhf libsodium23 armhf 1.0.18-1 [143 kB]
Get:331 http://172.17.4.1/private bookworm-staging/main armhf libzmq5 armhf 4.3.4-6 [226 kB]
Get:332 http://172.17.4.1/private bookworm-staging/main armhf libavformat59 armhf 7:5.1.2-1 [1021 kB]
Get:333 http://172.17.4.1/private bookworm-staging/main armhf libbs2b0 armhf 3.1.0+dfsg-7 [10.7 kB]
Get:334 http://172.17.4.1/private bookworm-staging/main armhf libflite1 armhf 2.2-5 [12.4 MB]
Get:335 http://172.17.4.1/private bookworm-staging/main armhf libserd-0-0 armhf 0.30.16-1 [40.7 kB]
Get:336 http://172.17.4.1/private bookworm-staging/main armhf libsord-0-0 armhf 0.16.14+git221008-1 [17.8 kB]
Get:337 http://172.17.4.1/private bookworm-staging/main armhf libsratom-0-0 armhf 0.6.14-1 [15.7 kB]
Get:338 http://172.17.4.1/private bookworm-staging/main armhf liblilv-0-0 armhf 0.24.14-1 [42.1 kB]
Get:339 http://172.17.4.1/private bookworm-staging/main armhf libmysofa1 armhf 1.3.1~dfsg0-1 [1154 kB]
Get:340 http://172.17.4.1/private bookworm-staging/main armhf libepoxy0 armhf 1.5.10-1 [172 kB]
Get:341 http://172.17.4.1/private bookworm-staging/main armhf libvulkan1 armhf 1.3.231.1-1 [95.7 kB]
Get:342 http://172.17.4.1/private bookworm-staging/main armhf libplacebo208 armhf 4.208.0-3 [1871 kB]
Get:343 http://172.17.4.1/private bookworm-staging/main armhf libblas3 armhf 3.11.0-2 [100.0 kB]
Get:344 http://172.17.4.1/private bookworm-staging/main armhf libgfortran5 armhf 12.2.0-14+rpi1 [238 kB]
Get:345 http://172.17.4.1/private bookworm-staging/main armhf liblapack3 armhf 3.11.0-2 [1624 kB]
Get:346 http://172.17.4.1/private bookworm-staging/main armhf libflac12 armhf 1.4.2+ds-2 [149 kB]
Get:347 http://172.17.4.1/private bookworm-staging/main armhf libsndfile1 armhf 1.2.0-1 [177 kB]
Get:348 http://172.17.4.1/private bookworm-staging/main armhf libpulse0 armhf 16.1+dfsg1-2+b1 [240 kB]
Get:349 http://172.17.4.1/private bookworm-staging/main armhf libsphinxbase3 armhf 0.8+5prealpha+1-15+rpi1 [98.4 kB]
Get:350 http://172.17.4.1/private bookworm-staging/main armhf libpocketsphinx3 armhf 0.8+5prealpha+1-15 [106 kB]
Get:351 http://172.17.4.1/private bookworm-staging/main armhf libpostproc56 armhf 7:5.1.2-1 [75.5 kB]
Get:352 http://172.17.4.1/private bookworm-staging/main armhf librubberband2 armhf 3.1.2+dfsg0-1 [110 kB]
Get:353 http://172.17.4.1/private bookworm-staging/main armhf libswscale6 armhf 7:5.1.2-1 [181 kB]
Get:354 http://172.17.4.1/private bookworm-staging/main armhf libvidstab1.1 armhf 1.1.0-2 [30.3 kB]
Get:355 http://172.17.4.1/private bookworm-staging/main armhf libzimg2 armhf 3.0.4+ds1-1 [68.2 kB]
Get:356 http://172.17.4.1/private bookworm-staging/main armhf libavfilter8 armhf 7:5.1.2-1 [2924 kB]
Get:357 http://172.17.4.1/private bookworm-staging/main armhf libavformat-dev armhf 7:5.1.2-1 [1268 kB]
Get:358 http://172.17.4.1/private bookworm-staging/main armhf libpostproc-dev armhf 7:5.1.2-1 [76.3 kB]
Get:359 http://172.17.4.1/private bookworm-staging/main armhf libswscale-dev armhf 7:5.1.2-1 [196 kB]
Get:360 http://172.17.4.1/private bookworm-staging/main armhf libavfilter-dev armhf 7:5.1.2-1 [1540 kB]
Get:361 http://172.17.4.1/private bookworm-staging/main armhf libbluetooth3 armhf 5.66-1 [99.8 kB]
Get:362 http://172.17.4.1/private bookworm-staging/main armhf libbluetooth-dev armhf 5.66-1 [277 kB]
Get:363 http://172.17.4.1/private bookworm-staging/main armhf libudfread-dev armhf 1.1.2-1 [6652 B]
Get:364 http://172.17.4.1/private bookworm-staging/main armhf libxml2-dev armhf 2.9.14+dfsg-1.1 [636 kB]
Get:365 http://172.17.4.1/private bookworm-staging/main armhf libbluray-dev armhf 1:1.3.4-1 [144 kB]
Get:366 http://172.17.4.1/private bookworm-staging/main armhf libcap-dev armhf 1:2.66-3 [392 kB]
Get:367 http://172.17.4.1/private bookworm-staging/main armhf libcdio19 armhf 2.1.0-4 [195 kB]
Get:368 http://172.17.4.1/private bookworm-staging/main armhf libcdio++1 armhf 2.1.0-4 [152 kB]
Get:369 http://172.17.4.1/private bookworm-staging/main armhf libcdio-dev armhf 2.1.0-4 [302 kB]
Get:370 http://172.17.4.1/private bookworm-staging/main armhf libcdio++-dev armhf 2.1.0-4 [161 kB]
Get:371 http://172.17.4.1/private bookworm-staging/main armhf libp8-platform2 armhf 2.1.0.1+dfsg1-4 [19.1 kB]
Get:372 http://172.17.4.1/private bookworm-staging/main armhf libcec6 armhf 6.0.2-4 [180 kB]
Get:373 http://172.17.4.1/private bookworm-staging/main armhf libcec-dev armhf 6.0.2-4 [25.6 kB]
Get:374 http://172.17.4.1/private bookworm-staging/main armhf libcommons-lang-java all 2.6-10 [273 kB]
Get:375 http://172.17.4.1/private bookworm-staging/main armhf libcrossguid0 armhf 0.0+git200150803-6 [6660 B]
Get:376 http://172.17.4.1/private bookworm-staging/main armhf libcrossguid-dev armhf 0.0+git200150803-6 [17.8 kB]
Get:377 http://172.17.4.1/private bookworm-staging/main armhf libcurl3-gnutls armhf 7.87.0-2 [328 kB]
Get:378 http://172.17.4.1/private bookworm-staging/main armhf libcurl4-gnutls-dev armhf 7.87.0-2 [405 kB]
Get:379 http://172.17.4.1/private bookworm-staging/main armhf libcwiid1 armhf 0.6.91-4 [18.8 kB]
Get:380 http://172.17.4.1/private bookworm-staging/main armhf libcwiid-dev armhf 0.6.91-4 [21.0 kB]
Get:381 http://172.17.4.1/private bookworm-staging/main armhf libdate-tz3 armhf 3.0.1+ds-5 [29.5 kB]
Get:382 http://172.17.4.1/private bookworm-staging/main armhf libdav1d-dev armhf 1.0.0-2+rpi1 [25.7 kB]
Get:383 http://172.17.4.1/private bookworm-staging/main armhf libdrm-omap1 armhf 2.4.114-1+rpi1 [8644 B]
Get:384 http://172.17.4.1/private bookworm-staging/main armhf libdrm-freedreno1 armhf 2.4.114-1+rpi1 [18.5 kB]
Get:385 http://172.17.4.1/private bookworm-staging/main armhf libdrm-exynos1 armhf 2.4.114-1+rpi1 [12.4 kB]
Get:386 http://172.17.4.1/private bookworm-staging/main armhf libdrm-tegra0 armhf 2.4.114-1+rpi1 [10.1 kB]
Get:387 http://172.17.4.1/private bookworm-staging/main armhf libdrm-etnaviv1 armhf 2.4.114-1+rpi1 [12.5 kB]
Get:388 http://172.17.4.1/private bookworm-staging/main armhf libpciaccess0 armhf 0.17-2 [48.8 kB]
Get:389 http://172.17.4.1/private bookworm-staging/main armhf libpciaccess-dev armhf 0.17-2 [52.2 kB]
Get:390 http://172.17.4.1/private bookworm-staging/main armhf libdrm-dev armhf 2.4.114-1+rpi1 [250 kB]
Get:391 http://172.17.4.1/private bookworm-staging/main armhf libwayland-server0 armhf 1.21.0-1 [29.3 kB]
Get:392 http://172.17.4.1/private bookworm-staging/main armhf libgbm1 armhf 22.2.0-1+rpi1 [74.8 kB]
Get:393 http://172.17.4.1/private bookworm-staging/main armhf libwayland-client0 armhf 1.21.0-1 [23.3 kB]
Get:394 http://172.17.4.1/private bookworm-staging/main armhf libegl-mesa0 armhf 22.2.0-1+rpi1 [129 kB]
Get:395 http://172.17.4.1/private bookworm-staging/main armhf libegl1 armhf 1.6.0-1 [28.3 kB]
Get:396 http://172.17.4.1/private bookworm-staging/main armhf xorg-sgml-doctools all 1:1.11-1.1 [22.1 kB]
Get:397 http://172.17.4.1/private bookworm-staging/main armhf x11proto-dev all 2022.1-1 [599 kB]
Get:398 http://172.17.4.1/private bookworm-staging/main armhf libxau-dev armhf 1:1.0.9-1 [22.3 kB]
Get:399 http://172.17.4.1/private bookworm-staging/main armhf libxdmcp-dev armhf 1:1.1.2-3 [40.9 kB]
Get:400 http://172.17.4.1/private bookworm-staging/main armhf xtrans-dev all 1.4.0-1 [98.7 kB]
Get:401 http://172.17.4.1/private bookworm-staging/main armhf libpthread-stubs0-dev armhf 0.4-1 [5344 B]
Get:402 http://172.17.4.1/private bookworm-staging/main armhf libxcb1-dev armhf 1.15-1 [175 kB]
Get:403 http://172.17.4.1/private bookworm-staging/main armhf libx11-dev armhf 2:1.8.3-3 [768 kB]
Get:404 http://172.17.4.1/private bookworm-staging/main armhf libglx-dev armhf 1.6.0-1 [15.3 kB]
Get:405 http://172.17.4.1/private bookworm-staging/main armhf libgl-dev armhf 1.6.0-1 [100 kB]
Get:406 http://172.17.4.1/private bookworm-staging/main armhf libegl-dev armhf 1.6.0-1 [19.1 kB]
Get:407 http://172.17.4.1/private bookworm-staging/main armhf libglvnd-core-dev armhf 1.6.0-1 [12.9 kB]
Get:408 http://172.17.4.1/private bookworm-staging/main armhf libgles1 armhf 1.6.0-1 [11.8 kB]
Get:409 http://172.17.4.1/private bookworm-staging/main armhf libgles2 armhf 1.6.0-1 [17.2 kB]
Get:410 http://172.17.4.1/private bookworm-staging/main armhf libgles-dev armhf 1.6.0-1 [50.4 kB]
Get:411 http://172.17.4.1/private bookworm-staging/main armhf libopengl0 armhf 1.6.0-1 [31.6 kB]
Get:412 http://172.17.4.1/private bookworm-staging/main armhf libopengl-dev armhf 1.6.0-1 [4932 B]
Get:413 http://172.17.4.1/private bookworm-staging/main armhf libglvnd-dev armhf 1.6.0-1 [4692 B]
Get:414 http://172.17.4.1/private bookworm-staging/main armhf libegl1-mesa-dev armhf 22.2.0-1+rpi1 [56.6 kB]
Get:415 http://172.17.4.1/private bookworm-staging/main armhf libevdev2 armhf 1.13.0+dfsg-1+rpi1 [27.9 kB]
Get:416 http://172.17.4.1/private bookworm-staging/main armhf libevdev-dev armhf 1.13.0+dfsg-1+rpi1 [48.6 kB]
Get:417 http://172.17.4.1/private bookworm-staging/main armhf libevent-2.1-7 armhf 2.1.12-stable-5+b1 [166 kB]
Get:418 http://172.17.4.1/private bookworm-staging/main armhf libflatbuffers-dev armhf 2.0.8+dfsg1-2 [244 kB]
Get:419 http://172.17.4.1/private bookworm-staging/main armhf libfmt9 armhf 9.1.0+ds1-2 [105 kB]
Get:420 http://172.17.4.1/private bookworm-staging/main armhf libfmt-dev armhf 9.1.0+ds1-2 [171 kB]
Get:421 http://172.17.4.1/private bookworm-staging/main armhf libfstrcmp0 armhf 0.7.D001-3 [8488 B]
Get:422 http://172.17.4.1/private bookworm-staging/main armhf libfstrcmp-dev armhf 0.7.D001-3 [22.2 kB]
Get:423 http://172.17.4.1/private bookworm-staging/main armhf libgbm-dev armhf 22.2.0-1+rpi1 [59.0 kB]
Get:424 http://172.17.4.1/private bookworm-staging/main armhf libgpg-error-dev armhf 1.46-1 [119 kB]
Get:425 http://172.17.4.1/private bookworm-staging/main armhf libgcrypt20-dev armhf 1.10.1-3 [685 kB]
Get:426 http://172.17.4.1/private bookworm-staging/main armhf libgif-dev armhf 5.2.1-2.5 [47.9 kB]
Get:427 http://172.17.4.1/private bookworm-staging/main armhf libglew2.2 armhf 2.2.0-4 [158 kB]
Get:428 http://172.17.4.1/private bookworm-staging/main armhf libglu1-mesa armhf 9.0.2-1.1 [133 kB]
Get:429 http://172.17.4.1/private bookworm-staging/main armhf libglu1-mesa-dev armhf 9.0.2-1.1 [175 kB]
Get:430 http://172.17.4.1/private bookworm-staging/main armhf libglew-dev armhf 2.2.0-4 [251 kB]
Get:431 http://172.17.4.1/private bookworm-staging/main armhf libgmpxx4ldbl armhf 2:6.2.1+dfsg1-1.1 [338 kB]
Get:432 http://172.17.4.1/private bookworm-staging/main armhf libgmp-dev armhf 2:6.2.1+dfsg1-1.1 [582 kB]
Get:433 http://172.17.4.1/private bookworm-staging/main armhf libunbound8 armhf 1.17.0-1 [479 kB]
Get:434 http://172.17.4.1/private bookworm-staging/main armhf libgnutls-dane0 armhf 3.7.8-4 [399 kB]
Get:435 http://172.17.4.1/private bookworm-staging/main armhf libgnutls-openssl27 armhf 3.7.8-4 [398 kB]
Get:436 http://172.17.4.1/private bookworm-staging/main armhf libgnutlsxx30 armhf 3.7.8-4 [12.0 kB]
Get:437 http://172.17.4.1/private bookworm-staging/main armhf libidn2-dev armhf 2.3.3-1 [117 kB]
Get:438 http://172.17.4.1/private bookworm-staging/main armhf libp11-kit-dev armhf 0.24.1-2 [172 kB]
Get:439 http://172.17.4.1/private bookworm-staging/main armhf libtasn1-6-dev armhf 4.19.0-2 [97.9 kB]
Get:440 http://172.17.4.1/private bookworm-staging/main armhf nettle-dev armhf 3.8.1-2 [1235 kB]
Get:441 http://172.17.4.1/private bookworm-staging/main armhf libgnutls28-dev armhf 3.7.8-4 [1228 kB]
Get:442 http://172.17.4.1/private bookworm-staging/main armhf libgtest-dev armhf 1.12.1-0.2 [230 kB]
Get:443 http://172.17.4.1/private bookworm-staging/main armhf libudev-dev armhf 252.4-1+rpi1 [51.0 kB]
Get:444 http://172.17.4.1/private bookworm-staging/main armhf libgudev-1.0-dev armhf 237-2 [29.0 kB]
Get:445 http://172.17.4.1/private bookworm-staging/main armhf libhowardhinnant-date-dev armhf 3.0.1+ds-5 [365 kB]
Get:446 http://172.17.4.1/private bookworm-staging/main armhf libice6 armhf 2:1.0.10-1 [51.7 kB]
Get:447 http://172.17.4.1/private bookworm-staging/main armhf libice-dev armhf 2:1.0.10-1 [58.7 kB]
Get:448 http://172.17.4.1/private bookworm-staging/main armhf libwacom-common all 2.5.0-1 [57.4 kB]
Get:449 http://172.17.4.1/private bookworm-staging/main armhf libwacom9 armhf 2.5.0-1 [18.6 kB]
Get:450 http://172.17.4.1/private bookworm-staging/main armhf libinput-bin armhf 1.22.0-1 [21.2 kB]
Get:451 http://172.17.4.1/private bookworm-staging/main armhf libmtdev1 armhf 1.1.6-1 [22.0 kB]
Get:452 http://172.17.4.1/private bookworm-staging/main armhf libinput10 armhf 1.22.0-1 [105 kB]
Get:453 http://172.17.4.1/private bookworm-staging/main armhf libmtdev-dev armhf 1.1.6-1 [15.6 kB]
Get:454 http://172.17.4.1/private bookworm-staging/main armhf libwacom-dev armhf 2.5.0-1 [9104 B]
Get:455 http://172.17.4.1/private bookworm-staging/main armhf libinput-dev armhf 1.22.0-1 [32.4 kB]
Get:456 http://172.17.4.1/private bookworm-staging/main armhf libiso9660-11 armhf 2.1.0-4 [165 kB]
Get:457 http://172.17.4.1/private bookworm-staging/main armhf libiso9660++0 armhf 2.1.0-4 [152 kB]
Get:458 http://172.17.4.1/private bookworm-staging/main armhf libiso9660++-dev armhf 2.1.0-4 [154 kB]
Get:459 http://172.17.4.1/private bookworm-staging/main armhf libiso9660-dev armhf 2.1.0-4 [179 kB]
Get:460 http://172.17.4.1/private bookworm-staging/main armhf libjpeg62-turbo-dev armhf 1:2.1.2-1 [261 kB]
Get:461 http://172.17.4.1/private bookworm-staging/main armhf libjpeg-dev armhf 1:2.1.2-1 [74.7 kB]
Get:462 http://172.17.4.1/private bookworm-staging/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB]
Get:463 http://172.17.4.1/private bookworm-staging/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB]
Get:464 http://172.17.4.1/private bookworm-staging/main armhf libjs-sphinxdoc all 5.3.0-3 [130 kB]
Get:465 http://172.17.4.1/private bookworm-staging/main armhf libkissfft-float131 armhf 131.1.0-3 [12.7 kB]
Get:466 http://172.17.4.1/private bookworm-staging/main armhf libkissfft-dev armhf 131.1.0-3 [14.5 kB]
Get:467 http://172.17.4.1/private bookworm-staging/main armhf liblcms2-dev armhf 2.14-1+b1 [1815 kB]
Get:468 http://172.17.4.1/private bookworm-staging/main armhf libtalloc2 armhf 2.3.4-2 [23.0 kB]
Get:469 http://172.17.4.1/private bookworm-staging/main armhf libtdb1 armhf 1.4.7-2 [39.1 kB]
Get:470 http://172.17.4.1/private bookworm-staging/main armhf libtevent0 armhf 0.13.0-2 [31.3 kB]
Get:471 http://172.17.4.1/private bookworm-staging/main armhf libldb2 armhf 2:2.6.1+samba4.17.4+dfsg-2 [129 kB]
Get:472 http://172.17.4.1/private bookworm-staging/main armhf liblirc-client0 armhf 0.10.1-7.2 [44.9 kB]
Get:473 http://172.17.4.1/private bookworm-staging/main armhf libusb-0.1-4 armhf 2:0.1.12-32 [21.6 kB]
Get:474 http://172.17.4.1/private bookworm-staging/main armhf liblirc0 armhf 0.10.1-7.2 [101 kB]
Get:475 http://172.17.4.1/private bookworm-staging/main armhf liblirc-dev armhf 0.10.1-7.2 [68.8 kB]
Get:476 http://172.17.4.1/private bookworm-staging/main armhf libltdl7 armhf 2.4.7-5 [390 kB]
Get:477 http://172.17.4.1/private bookworm-staging/main armhf libltdl-dev armhf 2.4.7-5 [161 kB]
Get:478 http://172.17.4.1/private bookworm-staging/main armhf liblzo2-2 armhf 2.10-2 [50.2 kB]
Get:479 http://172.17.4.1/private bookworm-staging/main armhf liblzo2-dev armhf 2.10-2 [98.0 kB]
Get:480 http://172.17.4.1/private bookworm-staging/main armhf libmicrohttpd12 armhf 0.9.75-4 [112 kB]
Get:481 http://172.17.4.1/private bookworm-staging/main armhf libmicrohttpd-dev armhf 0.9.75-4 [281 kB]
Get:482 http://172.17.4.1/private bookworm-staging/main armhf libnfs13 armhf 4.0.0-1 [85.2 kB]
Get:483 http://172.17.4.1/private bookworm-staging/main armhf libnfs-dev armhf 4.0.0-1 [115 kB]
Get:484 http://172.17.4.1/private bookworm-staging/main armhf libpcre16-3 armhf 2:8.39-15 [234 kB]
Get:485 http://172.17.4.1/private bookworm-staging/main armhf libpcre3 armhf 2:8.39-15 [313 kB]
Get:486 http://172.17.4.1/private bookworm-staging/main armhf libpcre32-3 armhf 2:8.39-15 [225 kB]
Get:487 http://172.17.4.1/private bookworm-staging/main armhf libpcrecpp0v5 armhf 2:8.39-15 [141 kB]
Get:488 http://172.17.4.1/private bookworm-staging/main armhf libpcre3-dev armhf 2:8.39-15 [576 kB]
Get:489 http://172.17.4.1/private bookworm-staging/main armhf libwebrtc-audio-processing1 armhf 0.3-1 [230 kB]
Get:490 http://172.17.4.1/private bookworm-staging/main armhf libspa-0.2-modules armhf 0.3.64-2 [426 kB]
Get:491 http://172.17.4.1/private bookworm-staging/main armhf libpipewire-0.3-0 armhf 0.3.64-2 [197 kB]
Get:492 http://172.17.4.1/private bookworm-staging/main armhf libspa-0.2-dev armhf 0.3.64-2 [93.3 kB]
Get:493 http://172.17.4.1/private bookworm-staging/main armhf libpipewire-0.3-dev armhf 0.3.64-2 [61.5 kB]
Get:494 http://172.17.4.1/private bookworm-staging/main armhf libplist3 armhf 2.2.0-6+b1 [37.2 kB]
Get:495 http://172.17.4.1/private bookworm-staging/main armhf libplist-dev armhf 2.2.0-6+b1 [16.2 kB]
Get:496 http://172.17.4.1/private bookworm-staging/main armhf libpopt0 armhf 1.19+dfsg-1 [40.4 kB]
Get:497 http://172.17.4.1/private bookworm-staging/main armhf libpugixml1v5 armhf 1.13-0.2 [71.8 kB]
Get:498 http://172.17.4.1/private bookworm-staging/main armhf libpulse-mainloop-glib0 armhf 16.1+dfsg1-2+b1 [27.0 kB]
Get:499 http://172.17.4.1/private bookworm-staging/main armhf libpulse-dev armhf 16.1+dfsg1-2+b1 [89.4 kB]
Get:500 http://172.17.4.1/private bookworm-staging/main armhf libpython3.10-dev armhf 3.10.9-1 [2926 kB]
Get:501 http://172.17.4.1/private bookworm-staging/main armhf libpython3-dev armhf 3.10.6-3 [8820 B]
Get:502 http://172.17.4.1/private bookworm-staging/main armhf librsvg2-bin armhf 2.54.5+dfsg-1 [1417 kB]
Get:503 http://172.17.4.1/private bookworm-staging/main armhf libset-scalar-perl all 1.29-3 [32.1 kB]
Get:504 http://172.17.4.1/private bookworm-staging/main armhf libshairplay0 armhf 0.9.0~git20180824.096b61a+dfsg1-3 [99.2 kB]
Get:505 http://172.17.4.1/private bookworm-staging/main armhf libshairplay-dev armhf 0.9.0~git20180824.096b61a+dfsg1-3 [5256 B]
Get:506 http://172.17.4.1/private bookworm-staging/main armhf libsm6 armhf 2:1.2.3-1 [32.9 kB]
Get:507 http://172.17.4.1/private bookworm-staging/main armhf libsm-dev armhf 2:1.2.3-1 [35.4 kB]
Get:508 http://172.17.4.1/private bookworm-staging/main armhf libwbclient0 armhf 2:4.17.4+dfsg-2 [44.4 kB]
Get:509 http://172.17.4.1/private bookworm-staging/main armhf samba-libs armhf 2:4.17.4+dfsg-2 [4856 kB]
Get:510 http://172.17.4.1/private bookworm-staging/main armhf libsmbclient armhf 2:4.17.4+dfsg-2 [70.1 kB]
Get:511 http://172.17.4.1/private bookworm-staging/main armhf libsmbclient-dev armhf 2:4.17.4+dfsg-2 [57.7 kB]
Get:512 http://172.17.4.1/private bookworm-staging/main armhf libsndio7.0 armhf 1.9.0-0.3 [24.7 kB]
Get:513 http://172.17.4.1/private bookworm-staging/main armhf libsndio-dev armhf 1.9.0-0.3 [19.6 kB]
Get:514 http://172.17.4.1/private bookworm-staging/main armhf libspdlog1.10 armhf 1:1.10.0+ds-0.4 [112 kB]
Get:515 http://172.17.4.1/private bookworm-staging/main armhf libspdlog-dev armhf 1:1.10.0+ds-0.4 [209 kB]
Get:516 http://172.17.4.1/private bookworm-staging/main armhf libsqlite3-dev armhf 3.40.1-1 [893 kB]
Get:517 http://172.17.4.1/private bookworm-staging/main armhf libtag1v5-vanilla armhf 1.13-1 [243 kB]
Get:518 http://172.17.4.1/private bookworm-staging/main armhf libtag1v5 armhf 1.13-1 [18.6 kB]
Get:519 http://172.17.4.1/private bookworm-staging/main armhf libtag1-dev armhf 1.13-1 [90.5 kB]
Get:520 http://172.17.4.1/private bookworm-staging/main armhf libtinyxml2.6.2v5 armhf 2.6.2-6 [32.7 kB]
Get:521 http://172.17.4.1/private bookworm-staging/main armhf libtinyxml-dev armhf 2.6.2-6 [49.6 kB]
Get:522 http://172.17.4.1/private bookworm-staging/main armhf libva-glx2 armhf 2.17.0-1 [19.2 kB]
Get:523 http://172.17.4.1/private bookworm-staging/main armhf libva-wayland2 armhf 2.17.0-1 [17.1 kB]
Get:524 http://172.17.4.1/private bookworm-staging/main armhf libwayland-cursor0 armhf 1.21.0-1 [13.2 kB]
Get:525 http://172.17.4.1/private bookworm-staging/main armhf libwayland-egl1 armhf 1.21.0-1 [8448 B]
Get:526 http://172.17.4.1/private bookworm-staging/main armhf libwayland-bin armhf 1.21.0-1 [20.4 kB]
Get:527 http://172.17.4.1/private bookworm-staging/main armhf libwayland-dev armhf 1.21.0-1 [72.6 kB]
Get:528 http://172.17.4.1/private bookworm-staging/main armhf libva-dev armhf 2.17.0-1 [122 kB]
Get:529 http://172.17.4.1/private bookworm-staging/main armhf libvdpau-dev armhf 1.5-2 [41.5 kB]
Get:530 http://172.17.4.1/private bookworm-staging/main armhf libwayland-client++1 armhf 1.0.0-3 [57.4 kB]
Get:531 http://172.17.4.1/private bookworm-staging/main armhf libwayland-client-extra++1 armhf 1.0.0-3 [26.0 kB]
Get:532 http://172.17.4.1/private bookworm-staging/main armhf libwayland-cursor++1 armhf 1.0.0-3 [10.2 kB]
Get:533 http://172.17.4.1/private bookworm-staging/main armhf libwayland-egl++1 armhf 1.0.0-3 [8848 B]
Get:534 http://172.17.4.1/private bookworm-staging/main armhf libwayland-server++1 armhf 1.0.0-3 [141 kB]
Get:535 http://172.17.4.1/private bookworm-staging/main armhf libxext-dev armhf 2:1.3.4-1 [102 kB]
Get:536 http://172.17.4.1/private bookworm-staging/main armhf xkb-data all 2.35.1-1 [764 kB]
Get:537 http://172.17.4.1/private bookworm-staging/main armhf libxkbcommon0 armhf 1.5.0-1 [93.1 kB]
Get:538 http://172.17.4.1/private bookworm-staging/main armhf libxkbcommon-dev armhf 1.5.0-1 [51.0 kB]
Get:539 http://172.17.4.1/private bookworm-staging/main armhf libxrender-dev armhf 1:0.9.10-1.1 [37.6 kB]
Get:540 http://172.17.4.1/private bookworm-staging/main armhf libxrandr-dev armhf 2:1.5.2-2 [43.2 kB]
Get:541 http://172.17.4.1/private bookworm-staging/main armhf libxslt1.1 armhf 1.1.35-1 [221 kB]
Get:542 http://172.17.4.1/private bookworm-staging/main armhf libxslt1-dev armhf 1.1.35-1 [358 kB]
Get:543 http://172.17.4.1/private bookworm-staging/main armhf libxt6 armhf 1:1.2.1-1 [159 kB]
Get:544 http://172.17.4.1/private bookworm-staging/main armhf libxt-dev armhf 1:1.2.1-1 [371 kB]
Get:545 http://172.17.4.1/private bookworm-staging/main armhf python3.10-dev armhf 3.10.9-1 [512 kB]
Get:546 http://172.17.4.1/private bookworm-staging/main armhf python3-dev armhf 3.10.6-3 [26.0 kB]
Get:547 http://172.17.4.1/private bookworm-staging/main armhf rapidjson-dev all 1.1.0+dfsg2-7.1 [97.7 kB]
Get:548 http://172.17.4.1/private bookworm-staging/main armhf swig4.0 armhf 4.1.0-0.2 [1220 kB]
Get:549 http://172.17.4.1/private bookworm-staging/main armhf swig all 4.1.0-0.2 [321 kB]
Get:550 http://172.17.4.1/private bookworm-staging/main armhf unzip armhf 6.0-27 [152 kB]
Get:551 http://172.17.4.1/private bookworm-staging/main armhf wayland-protocols all 1.31-1 [74.6 kB]
Get:552 http://172.17.4.1/private bookworm-staging/main armhf wayland-scanner++ armhf 1.0.0-3 [35.5 kB]
Get:553 http://172.17.4.1/private bookworm-staging/main armhf waylandpp-dev armhf 1.0.0-3 [712 kB]
Get:554 http://172.17.4.1/private bookworm-staging/main armhf zip armhf 3.0-12 [209 kB]
Get:296 http://172.17.4.1/private bookworm-staging/main armhf libsvtav1enc1 armhf 1.4.1+dfsg-1 [880 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 343 MB in 31s (11.0 MB/s)
Selecting previously unselected package fonts-droid-fallback.
(Reading database ... 13212 files and directories currently installed.)
Preparing to unpack .../fonts-droid-fallback_1%3a6.0.1r16-1.1_all.deb ...
Unpacking fonts-droid-fallback (1:6.0.1r16-1.1) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../libsigsegv2_2.14-1_armhf.deb ...
Unpacking libsigsegv2:armhf (2.14-1) ...
Setting up libsigsegv2:armhf (2.14-1) ...
Selecting previously unselected package gawk.
(Reading database ... 13238 files and directories currently installed.)
Preparing to unpack .../gawk_1%3a5.1.0-1_armhf.deb ...
Unpacking gawk (1:5.1.0-1) ...
Preparing to unpack .../libubsan1_12.2.0-14+rpi1_armhf.deb ...
Unpacking libubsan1:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../gcc-12-base_12.2.0-14+rpi1_armhf.deb ...
Unpacking gcc-12-base:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Setting up gcc-12-base:armhf (12.2.0-14+rpi1) ...
(Reading database ... 13413 files and directories currently installed.)
Preparing to unpack .../libstdc++6_12.2.0-14+rpi1_armhf.deb ...
Unpacking libstdc++6:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Setting up libstdc++6:armhf (12.2.0-14+rpi1) ...
(Reading database ... 13413 files and directories currently installed.)
Preparing to unpack .../00-libgomp1_12.2.0-14+rpi1_armhf.deb ...
Unpacking libgomp1:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../01-libatomic1_12.2.0-14+rpi1_armhf.deb ...
Unpacking libatomic1:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../02-libasan8_12.2.0-14+rpi1_armhf.deb ...
Unpacking libasan8:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../03-cpp-12_12.2.0-14+rpi1_armhf.deb ...
Unpacking cpp-12 (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../04-libcc1-0_12.2.0-14+rpi1_armhf.deb ...
Unpacking libcc1-0:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../05-libctf0_2.39.90.20221231-1+rpi1_armhf.deb ...
Unpacking libctf0:armhf (2.39.90.20221231-1+rpi1) over (2.39.50.20221208-5+rpi1) ...
Preparing to unpack .../06-libctf-nobfd0_2.39.90.20221231-1+rpi1_armhf.deb ...
Unpacking libctf-nobfd0:armhf (2.39.90.20221231-1+rpi1) over (2.39.50.20221208-5+rpi1) ...
Preparing to unpack .../07-binutils-arm-linux-gnueabihf_2.39.90.20221231-1+rpi1_armhf.deb ...
Unpacking binutils-arm-linux-gnueabihf (2.39.90.20221231-1+rpi1) over (2.39.50.20221208-5+rpi1) ...
Preparing to unpack .../08-libbinutils_2.39.90.20221231-1+rpi1_armhf.deb ...
Unpacking libbinutils:armhf (2.39.90.20221231-1+rpi1) over (2.39.50.20221208-5+rpi1) ...
Preparing to unpack .../09-binutils-common_2.39.90.20221231-1+rpi1_armhf.deb ...
Unpacking binutils-common:armhf (2.39.90.20221231-1+rpi1) over (2.39.50.20221208-5+rpi1) ...
Preparing to unpack .../10-binutils_2.39.90.20221231-1+rpi1_armhf.deb ...
Unpacking binutils (2.39.90.20221231-1+rpi1) over (2.39.50.20221208-5+rpi1) ...
Preparing to unpack .../11-g++-12_12.2.0-14+rpi1_armhf.deb ...
Unpacking g++-12 (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../12-gcc-12_12.2.0-14+rpi1_armhf.deb ...
Unpacking gcc-12 (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../13-libgcc-12-dev_12.2.0-14+rpi1_armhf.deb ...
Unpacking libgcc-12-dev:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../14-libstdc++-12-dev_12.2.0-14+rpi1_armhf.deb ...
Unpacking libstdc++-12-dev:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Preparing to unpack .../15-libgcc-s1_12.2.0-14+rpi1_armhf.deb ...
Unpacking libgcc-s1:armhf (12.2.0-14+rpi1) over (12.2.0-10+rpi1) ...
Setting up libgcc-s1:armhf (12.2.0-14+rpi1) ...
(Reading database ... 13414 files and directories currently installed.)
Preparing to unpack .../libssl3_3.0.7-2_armhf.deb ...
Unpacking libssl3:armhf (3.0.7-2) over (3.0.7-1) ...
Selecting previously unselected package libpython3.10-minimal:armhf.
Preparing to unpack .../libpython3.10-minimal_3.10.9-1_armhf.deb ...
Unpacking libpython3.10-minimal:armhf (3.10.9-1) ...
Selecting previously unselected package libexpat1:armhf.
Preparing to unpack .../libexpat1_2.5.0-1_armhf.deb ...
Unpacking libexpat1:armhf (2.5.0-1) ...
Selecting previously unselected package python3.10-minimal.
Preparing to unpack .../python3.10-minimal_3.10.9-1_armhf.deb ...
Unpacking python3.10-minimal (3.10.9-1) ...
Setting up libatomic1:armhf (12.2.0-14+rpi1) ...
Setting up libssl3:armhf (3.0.7-2) ...
Setting up libpython3.10-minimal:armhf (3.10.9-1) ...
Setting up libexpat1:armhf (2.5.0-1) ...
Setting up python3.10-minimal (3.10.9-1) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 13719 files and directories currently installed.)
Preparing to unpack .../python3-minimal_3.10.6-3_armhf.deb ...
Unpacking python3-minimal (3.10.6-3) ...
Selecting previously unselected package media-types.
Preparing to unpack .../media-types_8.0.0_all.deb ...
Unpacking media-types (8.0.0) ...
Selecting previously unselected package libmpdec3:armhf.
Preparing to unpack .../libmpdec3_2.5.1-2+rpi1_armhf.deb ...
Unpacking libmpdec3:armhf (2.5.1-2+rpi1) ...
Preparing to unpack .../libsqlite3-0_3.40.1-1_armhf.deb ...
Unpacking libsqlite3-0:armhf (3.40.1-1) over (3.40.0-1) ...
Setting up libsqlite3-0:armhf (3.40.1-1) ...
Selecting previously unselected package libpython3.10-stdlib:armhf.
(Reading database ... 13754 files and directories currently installed.)
Preparing to unpack .../libpython3.10-stdlib_3.10.9-1_armhf.deb ...
Unpacking libpython3.10-stdlib:armhf (3.10.9-1) ...
Selecting previously unselected package python3.10.
Preparing to unpack .../python3.10_3.10.9-1_armhf.deb ...
Unpacking python3.10 (3.10.9-1) ...
Selecting previously unselected package libpython3-stdlib:armhf.
Preparing to unpack .../libpython3-stdlib_3.10.6-3_armhf.deb ...
Unpacking libpython3-stdlib:armhf (3.10.6-3) ...
Setting up python3-minimal (3.10.6-3) ...
Selecting previously unselected package python3.
(Reading database ... 14121 files and directories currently installed.)
Preparing to unpack .../python3_3.10.6-3_armhf.deb ...
Unpacking python3 (3.10.6-3) ...
Preparing to unpack .../libcap2_1%3a2.66-3_armhf.deb ...
Unpacking libcap2:armhf (1:2.66-3) over (1:2.44-1) ...
Setting up libcap2:armhf (1:2.66-3) ...
(Reading database ... 14143 files and directories currently installed.)
Preparing to unpack .../libp11-kit0_0.24.1-2_armhf.deb ...
Unpacking libp11-kit0:armhf (0.24.1-2) over (0.24.1-1) ...
Setting up libp11-kit0:armhf (0.24.1-2) ...
(Reading database ... 14143 files and directories currently installed.)
Preparing to unpack .../libselinux1_3.4-1+b1_armhf.deb ...
Unpacking libselinux1:armhf (3.4-1+b1) over (3.4-1) ...
Setting up libselinux1:armhf (3.4-1+b1) ...
(Reading database ... 14144 files and directories currently installed.)
Preparing to unpack .../libsystemd0_252.4-1+rpi1_armhf.deb ...
Unpacking libsystemd0:armhf (252.4-1+rpi1) over (252.2-1+rpi1) ...
Setting up libsystemd0:armhf (252.4-1+rpi1) ...
(Reading database ... 14144 files and directories currently installed.)
Preparing to unpack .../libudev1_252.4-1+rpi1_armhf.deb ...
Unpacking libudev1:armhf (252.4-1+rpi1) over (252.2-1+rpi1) ...
Setting up libudev1:armhf (252.4-1+rpi1) ...
Selecting previously unselected package libuchardet0:armhf.
(Reading database ... 14144 files and directories currently installed.)
Preparing to unpack .../000-libuchardet0_0.0.7-1_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.7-1) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../001-groff-base_1.22.4-9_armhf.deb ...
Unpacking groff-base (1.22.4-9) ...
Preparing to unpack .../002-libcap2-bin_1%3a2.66-3_armhf.deb ...
Unpacking libcap2-bin (1:2.66-3) over (1:2.44-1) ...
Preparing to unpack .../003-libpam-cap_1%3a2.66-3_armhf.deb ...
Unpacking libpam-cap:armhf (1:2.66-3) over (1:2.44-1) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../004-bsdextrautils_2.38.1-4_armhf.deb ...
Unpacking bsdextrautils (2.38.1-4) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../005-libpipeline1_1.5.7-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.7-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../006-man-db_2.11.2-1_armhf.deb ...
Unpacking man-db (2.11.2-1) ...
Selecting previously unselected package libproc2-0:armhf.
Preparing to unpack .../007-libproc2-0_2%3a4.0.2-3_armhf.deb ...
Unpacking libproc2-0:armhf (2:4.0.2-3) ...
Selecting previously unselected package procps.
Preparing to unpack .../008-procps_2%3a4.0.2-3_armhf.deb ...
Unpacking procps (2:4.0.2-3) ...
Selecting previously unselected package openssl.
Preparing to unpack .../009-openssl_3.0.7-2_armhf.deb ...
Unpacking openssl (3.0.7-2) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../010-ca-certificates_20211016_all.deb ...
Unpacking ca-certificates (20211016) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../011-libmagic-mgc_1%3a5.44-2_armhf.deb ...
Unpacking libmagic-mgc (1:5.44-2) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../012-libmagic1_1%3a5.44-2_armhf.deb ...
Unpacking libmagic1:armhf (1:5.44-2) ...
Selecting previously unselected package file.
Preparing to unpack .../013-file_1%3a5.44-2_armhf.deb ...
Unpacking file (1:5.44-2) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../014-gettext-base_0.21-10_armhf.deb ...
Unpacking gettext-base (0.21-10) ...
Selecting previously unselected package hicolor-icon-theme.
Preparing to unpack .../015-hicolor-icon-theme_0.17-2_all.deb ...
Unpacking hicolor-icon-theme (0.17-2) ...
Selecting previously unselected package libgdk-pixbuf2.0-common.
Preparing to unpack .../016-libgdk-pixbuf2.0-common_2.42.10+dfsg-1_all.deb ...
Unpacking libgdk-pixbuf2.0-common (2.42.10+dfsg-1) ...
Selecting previously unselected package libglib2.0-0:armhf.
Preparing to unpack .../017-libglib2.0-0_2.74.4-1_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.74.4-1) ...
Selecting previously unselected package libicu72:armhf.
Preparing to unpack .../018-libicu72_72.1-3_armhf.deb ...
Unpacking libicu72:armhf (72.1-3) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../019-libxml2_2.9.14+dfsg-1.1_armhf.deb ...
Unpacking libxml2:armhf (2.9.14+dfsg-1.1) ...
Selecting previously unselected package shared-mime-info.
Preparing to unpack .../020-shared-mime-info_2.2-1_armhf.deb ...
Unpacking shared-mime-info (2.2-1) ...
Selecting previously unselected package libjpeg62-turbo:armhf.
Preparing to unpack .../021-libjpeg62-turbo_1%3a2.1.2-1_armhf.deb ...
Unpacking libjpeg62-turbo:armhf (1:2.1.2-1) ...
Selecting previously unselected package libpng16-16:armhf.
Preparing to unpack .../022-libpng16-16_1.6.39-2_armhf.deb ...
Unpacking libpng16-16:armhf (1.6.39-2) ...
Selecting previously unselected package libdeflate0:armhf.
Preparing to unpack .../023-libdeflate0_1.14-1_armhf.deb ...
Unpacking libdeflate0:armhf (1.14-1) ...
Selecting previously unselected package libjbig0:armhf.
Preparing to unpack .../024-libjbig0_2.1-6.1_armhf.deb ...
Unpacking libjbig0:armhf (2.1-6.1) ...
Selecting previously unselected package liblerc4:armhf.
Preparing to unpack .../025-liblerc4_4.0.0+ds-2_armhf.deb ...
Unpacking liblerc4:armhf (4.0.0+ds-2) ...
Selecting previously unselected package libwebp7:armhf.
Preparing to unpack .../026-libwebp7_1.2.2-2+b2_armhf.deb ...
Unpacking libwebp7:armhf (1.2.2-2+b2) ...
Selecting previously unselected package libtiff6:armhf.
Preparing to unpack .../027-libtiff6_4.5.0-3_armhf.deb ...
Unpacking libtiff6:armhf (4.5.0-3) ...
Selecting previously unselected package libgdk-pixbuf-2.0-0:armhf.
Preparing to unpack .../028-libgdk-pixbuf-2.0-0_2.42.10+dfsg-1+b1_armhf.deb ...
Unpacking libgdk-pixbuf-2.0-0:armhf (2.42.10+dfsg-1+b1) ...
Selecting previously unselected package gtk-update-icon-cache.
Preparing to unpack .../029-gtk-update-icon-cache_3.24.36-1_armhf.deb ...
Unpacking gtk-update-icon-cache (3.24.36-1) ...
Selecting previously unselected package adwaita-icon-theme.
Preparing to unpack .../030-adwaita-icon-theme_43-1_all.deb ...
Unpacking adwaita-icon-theme (43-1) ...
Selecting previously unselected package ca-certificates-java.
Preparing to unpack .../031-ca-certificates-java_20230103_all.deb ...
Unpacking ca-certificates-java (20230103) ...
Selecting previously unselected package java-common.
Preparing to unpack .../032-java-common_0.74_all.deb ...
Unpacking java-common (0.74) ...
Selecting previously unselected package libavahi-common-data:armhf.
Preparing to unpack .../033-libavahi-common-data_0.8-7_armhf.deb ...
Unpacking libavahi-common-data:armhf (0.8-7) ...
Selecting previously unselected package libavahi-common3:armhf.
Preparing to unpack .../034-libavahi-common3_0.8-7_armhf.deb ...
Unpacking libavahi-common3:armhf (0.8-7) ...
Selecting previously unselected package libdbus-1-3:armhf.
Preparing to unpack .../035-libdbus-1-3_1.14.4-1_armhf.deb ...
Unpacking libdbus-1-3:armhf (1.14.4-1) ...
Selecting previously unselected package libavahi-client3:armhf.
Preparing to unpack .../036-libavahi-client3_0.8-7_armhf.deb ...
Unpacking libavahi-client3:armhf (0.8-7) ...
Selecting previously unselected package libcups2:armhf.
Preparing to unpack .../037-libcups2_2.4.2-1+b1_armhf.deb ...
Unpacking libcups2:armhf (2.4.2-1+b1) ...
Selecting previously unselected package liblcms2-2:armhf.
Preparing to unpack .../038-liblcms2-2_2.14-1+b1_armhf.deb ...
Unpacking liblcms2-2:armhf (2.14-1+b1) ...
Selecting previously unselected package libbrotli1:armhf.
Preparing to unpack .../039-libbrotli1_1.0.9-2+b2_armhf.deb ...
Unpacking libbrotli1:armhf (1.0.9-2+b2) ...
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack .../040-libfreetype6_2.12.1+dfsg-4_armhf.deb ...
Unpacking libfreetype6:armhf (2.12.1+dfsg-4) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../041-fonts-dejavu-core_2.37-2_all.deb ...
Unpacking fonts-dejavu-core (2.37-2) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../042-fontconfig-config_2.14.1-3_armhf.deb ...
Unpacking fontconfig-config (2.14.1-3) ...
Selecting previously unselected package libfontconfig1:armhf.
Preparing to unpack .../043-libfontconfig1_2.14.1-3_armhf.deb ...
Unpacking libfontconfig1:armhf (2.14.1-3) ...
Selecting previously unselected package libnspr4:armhf.
Preparing to unpack .../044-libnspr4_2%3a4.35-1_armhf.deb ...
Unpacking libnspr4:armhf (2:4.35-1) ...
Selecting previously unselected package libnss3:armhf.
Preparing to unpack .../045-libnss3_2%3a3.87-1_armhf.deb ...
Unpacking libnss3:armhf (2:3.87-1) ...
Selecting previously unselected package libasound2-data.
Preparing to unpack .../046-libasound2-data_1.2.8-1_all.deb ...
Unpacking libasound2-data (1.2.8-1) ...
Selecting previously unselected package libasound2:armhf.
Preparing to unpack .../047-libasound2_1.2.8-1_armhf.deb ...
Unpacking libasound2:armhf (1.2.8-1) ...
Selecting previously unselected package libgraphite2-3:armhf.
Preparing to unpack .../048-libgraphite2-3_1.3.14-1_armhf.deb ...
Unpacking libgraphite2-3:armhf (1.3.14-1) ...
Selecting previously unselected package libharfbuzz0b:armhf.
Preparing to unpack .../049-libharfbuzz0b_6.0.0-1_armhf.deb ...
Unpacking libharfbuzz0b:armhf (6.0.0-1) ...
Selecting previously unselected package libpcsclite1:armhf.
Preparing to unpack .../050-libpcsclite1_1.9.9-1_armhf.deb ...
Unpacking libpcsclite1:armhf (1.9.9-1) ...
Selecting previously unselected package openjdk-17-jre-headless:armhf.
Preparing to unpack .../051-openjdk-17-jre-headless_17.0.4+8-1+rpi1_armhf.deb ...
Unpacking openjdk-17-jre-headless:armhf (17.0.4+8-1+rpi1) ...
Selecting previously unselected package default-jre-headless.
Preparing to unpack .../052-default-jre-headless_2%3a1.17-74_armhf.deb ...
Unpacking default-jre-headless (2:1.17-74) ...
Selecting previously unselected package libantlr-java.
Preparing to unpack .../053-libantlr-java_2.7.7+dfsg-12_all.deb ...
Unpacking libantlr-java (2.7.7+dfsg-12) ...
Selecting previously unselected package antlr.
Preparing to unpack .../054-antlr_2.7.7+dfsg-12_all.deb ...
Unpacking antlr (2.7.7+dfsg-12) ...
Selecting previously unselected package at-spi2-common.
Preparing to unpack .../055-at-spi2-common_2.46.0-4_all.deb ...
Unpacking at-spi2-common (2.46.0-4) ...
Selecting previously unselected package m4.
Preparing to unpack .../056-m4_1.4.19-2_armhf.deb ...
Unpacking m4 (1.4.19-2) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../057-autoconf_2.71-3_all.deb ...
Unpacking autoconf (2.71-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../058-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../059-automake_1%3a1.16.5-1.3_all.deb ...
Unpacking automake (1:1.16.5-1.3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../060-autopoint_0.21-10_all.deb ...
Unpacking autopoint (0.21-10) ...
Selecting previously unselected package catch2.
Preparing to unpack .../061-catch2_2.13.10-1_armhf.deb ...
Unpacking catch2 (2.13.10-1) ...
Selecting previously unselected package libarchive13:armhf.
Preparing to unpack .../062-libarchive13_3.6.2-1_armhf.deb ...
Unpacking libarchive13:armhf (3.6.2-1) ...
Selecting previously unselected package libnghttp2-14:armhf.
Preparing to unpack .../063-libnghttp2-14_1.51.0-1_armhf.deb ...
Unpacking libnghttp2-14:armhf (1.51.0-1) ...
Selecting previously unselected package libpsl5:armhf.
Preparing to unpack .../064-libpsl5_0.21.0-1.2_armhf.deb ...
Unpacking libpsl5:armhf (0.21.0-1.2) ...
Selecting previously unselected package librtmp1:armhf.
Preparing to unpack .../065-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_armhf.deb ...
Unpacking librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b2) ...
Selecting previously unselected package libssh2-1:armhf.
Preparing to unpack .../066-libssh2-1_1.10.0-3+b1_armhf.deb ...
Unpacking libssh2-1:armhf (1.10.0-3+b1) ...
Selecting previously unselected package libcurl4:armhf.
Preparing to unpack .../067-libcurl4_7.87.0-2_armhf.deb ...
Unpacking libcurl4:armhf (7.87.0-2) ...
Selecting previously unselected package libjsoncpp25:armhf.
Preparing to unpack .../068-libjsoncpp25_1.9.5-4_armhf.deb ...
Unpacking libjsoncpp25:armhf (1.9.5-4) ...
Selecting previously unselected package librhash0:armhf.
Preparing to unpack .../069-librhash0_1.4.3-3_armhf.deb ...
Unpacking librhash0:armhf (1.4.3-3) ...
Selecting previously unselected package libuv1:armhf.
Preparing to unpack .../070-libuv1_1.44.2-1+rpi1_armhf.deb ...
Unpacking libuv1:armhf (1.44.2-1+rpi1) ...
Selecting previously unselected package cmake-data.
Preparing to unpack .../071-cmake-data_3.25.1-1_all.deb ...
Unpacking cmake-data (3.25.1-1) ...
Selecting previously unselected package cmake.
Preparing to unpack .../072-cmake_3.25.1-1_armhf.deb ...
Unpacking cmake (3.25.1-1) ...
Selecting previously unselected package curl.
Preparing to unpack .../073-curl_7.87.0-2_armhf.deb ...
Unpacking curl (7.87.0-2) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../074-libdebhelper-perl_13.11.4_all.deb ...
Unpacking libdebhelper-perl (13.11.4) ...
Selecting previously unselected package libtool.
Preparing to unpack .../075-libtool_2.4.7-5_all.deb ...
Unpacking libtool (2.4.7-5) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../076-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../077-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libsub-override-perl.
Preparing to unpack .../078-libsub-override-perl_0.09-4_all.deb ...
Unpacking libsub-override-perl (0.09-4) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../079-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../080-dh-strip-nondeterminism_1.13.1-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.13.1-1) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../081-libelf1_0.187-2+rpi2_armhf.deb ...
Unpacking libelf1:armhf (0.187-2+rpi2) ...
Selecting previously unselected package dwz.
Preparing to unpack .../082-dwz_0.15-1_armhf.deb ...
Unpacking dwz (0.15-1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../083-gettext_0.21-10_armhf.deb ...
Unpacking gettext (0.21-10) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../084-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../085-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../086-debhelper_13.11.4_all.deb ...
Unpacking debhelper (13.11.4) ...
Selecting previously unselected package libgtk2.0-common.
Preparing to unpack .../087-libgtk2.0-common_2.24.33-2_all.deb ...
Unpacking libgtk2.0-common (2.24.33-2) ...
Selecting previously unselected package libatk1.0-0:armhf.
Preparing to unpack .../088-libatk1.0-0_2.46.0-4_armhf.deb ...
Unpacking libatk1.0-0:armhf (2.46.0-4) ...
Selecting previously unselected package libpixman-1-0:armhf.
Preparing to unpack .../089-libpixman-1-0_0.42.2-1_armhf.deb ...
Unpacking libpixman-1-0:armhf (0.42.2-1) ...
Selecting previously unselected package libxau6:armhf.
Preparing to unpack .../090-libxau6_1%3a1.0.9-1_armhf.deb ...
Unpacking libxau6:armhf (1:1.0.9-1) ...
Selecting previously unselected package libmd0:armhf.
Preparing to unpack .../091-libmd0_1.0.4-2_armhf.deb ...
Unpacking libmd0:armhf (1.0.4-2) ...
Selecting previously unselected package libbsd0:armhf.
Preparing to unpack .../092-libbsd0_0.11.7-1_armhf.deb ...
Unpacking libbsd0:armhf (0.11.7-1) ...
Selecting previously unselected package libxdmcp6:armhf.
Preparing to unpack .../093-libxdmcp6_1%3a1.1.2-3_armhf.deb ...
Unpacking libxdmcp6:armhf (1:1.1.2-3) ...
Selecting previously unselected package libxcb1:armhf.
Preparing to unpack .../094-libxcb1_1.15-1_armhf.deb ...
Unpacking libxcb1:armhf (1.15-1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../095-libx11-data_2%3a1.8.3-3_all.deb ...
Unpacking libx11-data (2:1.8.3-3) ...
Selecting previously unselected package libx11-6:armhf.
Preparing to unpack .../096-libx11-6_2%3a1.8.3-3_armhf.deb ...
Unpacking libx11-6:armhf (2:1.8.3-3) ...
Selecting previously unselected package libxcb-render0:armhf.
Preparing to unpack .../097-libxcb-render0_1.15-1_armhf.deb ...
Unpacking libxcb-render0:armhf (1.15-1) ...
Selecting previously unselected package libxcb-shm0:armhf.
Preparing to unpack .../098-libxcb-shm0_1.15-1_armhf.deb ...
Unpacking libxcb-shm0:armhf (1.15-1) ...
Selecting previously unselected package libxext6:armhf.
Preparing to unpack .../099-libxext6_2%3a1.3.4-1_armhf.deb ...
Unpacking libxext6:armhf (2:1.3.4-1) ...
Selecting previously unselected package libxrender1:armhf.
Preparing to unpack .../100-libxrender1_1%3a0.9.10-1.1_armhf.deb ...
Unpacking libxrender1:armhf (1:0.9.10-1.1) ...
Selecting previously unselected package libcairo2:armhf.
Preparing to unpack .../101-libcairo2_1.16.0-7_armhf.deb ...
Unpacking libcairo2:armhf (1.16.0-7) ...
Selecting previously unselected package fontconfig.
Preparing to unpack .../102-fontconfig_2.14.1-3_armhf.deb ...
Unpacking fontconfig (2.14.1-3) ...
Selecting previously unselected package libfribidi0:armhf.
Preparing to unpack .../103-libfribidi0_1.0.8-2.1_armhf.deb ...
Unpacking libfribidi0:armhf (1.0.8-2.1) ...
Selecting previously unselected package libthai-data.
Preparing to unpack .../104-libthai-data_0.1.29-1_all.deb ...
Unpacking libthai-data (0.1.29-1) ...
Selecting previously unselected package libdatrie1:armhf.
Preparing to unpack .../105-libdatrie1_0.2.13-2+b2_armhf.deb ...
Unpacking libdatrie1:armhf (0.2.13-2+b2) ...
Selecting previously unselected package libthai0:armhf.
Preparing to unpack .../106-libthai0_0.1.29-1_armhf.deb ...
Unpacking libthai0:armhf (0.1.29-1) ...
Selecting previously unselected package libpango-1.0-0:armhf.
Preparing to unpack .../107-libpango-1.0-0_1.50.12+ds-1_armhf.deb ...
Unpacking libpango-1.0-0:armhf (1.50.12+ds-1) ...
Selecting previously unselected package libpangoft2-1.0-0:armhf.
Preparing to unpack .../108-libpangoft2-1.0-0_1.50.12+ds-1_armhf.deb ...
Unpacking libpangoft2-1.0-0:armhf (1.50.12+ds-1) ...
Selecting previously unselected package libpangocairo-1.0-0:armhf.
Preparing to unpack .../109-libpangocairo-1.0-0_1.50.12+ds-1_armhf.deb ...
Unpacking libpangocairo-1.0-0:armhf (1.50.12+ds-1) ...
Selecting previously unselected package libxcomposite1:armhf.
Preparing to unpack .../110-libxcomposite1_1%3a0.4.5-1_armhf.deb ...
Unpacking libxcomposite1:armhf (1:0.4.5-1) ...
Selecting previously unselected package libxfixes3:armhf.
Preparing to unpack .../111-libxfixes3_1%3a6.0.0-2_armhf.deb ...
Unpacking libxfixes3:armhf (1:6.0.0-2) ...
Selecting previously unselected package libxcursor1:armhf.
Preparing to unpack .../112-libxcursor1_1%3a1.2.1-1_armhf.deb ...
Unpacking libxcursor1:armhf (1:1.2.1-1) ...
Selecting previously unselected package libxdamage1:armhf.
Preparing to unpack .../113-libxdamage1_1%3a1.1.6-1_armhf.deb ...
Unpacking libxdamage1:armhf (1:1.1.6-1) ...
Selecting previously unselected package libxi6:armhf.
Preparing to unpack .../114-libxi6_2%3a1.8-1_armhf.deb ...
Unpacking libxi6:armhf (2:1.8-1) ...
Selecting previously unselected package libxinerama1:armhf.
Preparing to unpack .../115-libxinerama1_2%3a1.1.4-3_armhf.deb ...
Unpacking libxinerama1:armhf (2:1.1.4-3) ...
Selecting previously unselected package libxrandr2:armhf.
Preparing to unpack .../116-libxrandr2_2%3a1.5.2-2_armhf.deb ...
Unpacking libxrandr2:armhf (2:1.5.2-2) ...
Selecting previously unselected package libgtk2.0-0:armhf.
Preparing to unpack .../117-libgtk2.0-0_2.24.33-2_armhf.deb ...
Unpacking libgtk2.0-0:armhf (2.24.33-2) ...
Selecting previously unselected package libglvnd0:armhf.
Preparing to unpack .../118-libglvnd0_1.6.0-1_armhf.deb ...
Unpacking libglvnd0:armhf (1.6.0-1) ...
Selecting previously unselected package libdrm-common.
Preparing to unpack .../119-libdrm-common_2.4.114-1+rpi1_all.deb ...
Unpacking libdrm-common (2.4.114-1+rpi1) ...
Selecting previously unselected package libdrm2:armhf.
Preparing to unpack .../120-libdrm2_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm2:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libglapi-mesa:armhf.
Preparing to unpack .../121-libglapi-mesa_22.2.0-1+rpi1_armhf.deb ...
Unpacking libglapi-mesa:armhf (22.2.0-1+rpi1) ...
Selecting previously unselected package libx11-xcb1:armhf.
Preparing to unpack .../122-libx11-xcb1_2%3a1.8.3-3_armhf.deb ...
Unpacking libx11-xcb1:armhf (2:1.8.3-3) ...
Selecting previously unselected package libxcb-dri2-0:armhf.
Preparing to unpack .../123-libxcb-dri2-0_1.15-1_armhf.deb ...
Unpacking libxcb-dri2-0:armhf (1.15-1) ...
Selecting previously unselected package libxcb-dri3-0:armhf.
Preparing to unpack .../124-libxcb-dri3-0_1.15-1_armhf.deb ...
Unpacking libxcb-dri3-0:armhf (1.15-1) ...
Selecting previously unselected package libxcb-glx0:armhf.
Preparing to unpack .../125-libxcb-glx0_1.15-1_armhf.deb ...
Unpacking libxcb-glx0:armhf (1.15-1) ...
Selecting previously unselected package libxcb-present0:armhf.
Preparing to unpack .../126-libxcb-present0_1.15-1_armhf.deb ...
Unpacking libxcb-present0:armhf (1.15-1) ...
Selecting previously unselected package libxcb-sync1:armhf.
Preparing to unpack .../127-libxcb-sync1_1.15-1_armhf.deb ...
Unpacking libxcb-sync1:armhf (1.15-1) ...
Selecting previously unselected package libxcb-xfixes0:armhf.
Preparing to unpack .../128-libxcb-xfixes0_1.15-1_armhf.deb ...
Unpacking libxcb-xfixes0:armhf (1.15-1) ...
Selecting previously unselected package libxshmfence1:armhf.
Preparing to unpack .../129-libxshmfence1_1.3-1_armhf.deb ...
Unpacking libxshmfence1:armhf (1.3-1) ...
Selecting previously unselected package libxxf86vm1:armhf.
Preparing to unpack .../130-libxxf86vm1_1%3a1.1.4-1+b2_armhf.deb ...
Unpacking libxxf86vm1:armhf (1:1.1.4-1+b2) ...
Selecting previously unselected package libdrm-amdgpu1:armhf.
Preparing to unpack .../131-libdrm-amdgpu1_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-amdgpu1:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libdrm-nouveau2:armhf.
Preparing to unpack .../132-libdrm-nouveau2_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-nouveau2:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libdrm-radeon1:armhf.
Preparing to unpack .../133-libdrm-radeon1_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-radeon1:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libedit2:armhf.
Preparing to unpack .../134-libedit2_3.1-20221030-2_armhf.deb ...
Unpacking libedit2:armhf (3.1-20221030-2) ...
Selecting previously unselected package libz3-4:armhf.
Preparing to unpack .../135-libz3-4_4.8.12-3_armhf.deb ...
Unpacking libz3-4:armhf (4.8.12-3) ...
Selecting previously unselected package libllvm14:armhf.
Preparing to unpack .../136-libllvm14_1%3a14.0.6-10+rpi1_armhf.deb ...
Unpacking libllvm14:armhf (1:14.0.6-10+rpi1) ...
Selecting previously unselected package libsensors-config.
Preparing to unpack .../137-libsensors-config_1%3a3.6.0-7.1_all.deb ...
Unpacking libsensors-config (1:3.6.0-7.1) ...
Selecting previously unselected package libsensors5:armhf.
Preparing to unpack .../138-libsensors5_1%3a3.6.0-7.1_armhf.deb ...
Unpacking libsensors5:armhf (1:3.6.0-7.1) ...
Selecting previously unselected package libgl1-mesa-dri:armhf.
Preparing to unpack .../139-libgl1-mesa-dri_22.2.0-1+rpi1_armhf.deb ...
Unpacking libgl1-mesa-dri:armhf (22.2.0-1+rpi1) ...
Selecting previously unselected package libglx-mesa0:armhf.
Preparing to unpack .../140-libglx-mesa0_22.2.0-1+rpi1_armhf.deb ...
Unpacking libglx-mesa0:armhf (22.2.0-1+rpi1) ...
Selecting previously unselected package libglx0:armhf.
Preparing to unpack .../141-libglx0_1.6.0-1_armhf.deb ...
Unpacking libglx0:armhf (1.6.0-1) ...
Selecting previously unselected package libgl1:armhf.
Preparing to unpack .../142-libgl1_1.6.0-1_armhf.deb ...
Unpacking libgl1:armhf (1.6.0-1) ...
Selecting previously unselected package libgif7:armhf.
Preparing to unpack .../143-libgif7_5.2.1-2.5_armhf.deb ...
Unpacking libgif7:armhf (5.2.1-2.5) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../144-x11-common_1%3a7.7+23_all.deb ...
Unpacking x11-common (1:7.7+23) ...
Selecting previously unselected package libxtst6:armhf.
Preparing to unpack .../145-libxtst6_2%3a1.2.3-1.1_armhf.deb ...
Unpacking libxtst6:armhf (2:1.2.3-1.1) ...
Selecting previously unselected package openjdk-17-jre:armhf.
Preparing to unpack .../146-openjdk-17-jre_17.0.4+8-1+rpi1_armhf.deb ...
Unpacking openjdk-17-jre:armhf (17.0.4+8-1+rpi1) ...
Selecting previously unselected package default-jre.
Preparing to unpack .../147-default-jre_2%3a1.17-74_armhf.deb ...
Unpacking default-jre (2:1.17-74) ...
Selecting previously unselected package mysql-common.
Preparing to unpack .../148-mysql-common_5.8+1.0.8_all.deb ...
Unpacking mysql-common (5.8+1.0.8) ...
Selecting previously unselected package mariadb-common.
Preparing to unpack .../149-mariadb-common_1%3a10.6.11-2+rpi1_all.deb ...
Unpacking mariadb-common (1:10.6.11-2+rpi1) ...
Selecting previously unselected package libmariadb3:armhf.
Preparing to unpack .../150-libmariadb3_1%3a10.6.11-2+rpi1_armhf.deb ...
Unpacking libmariadb3:armhf (1:10.6.11-2+rpi1) ...
Selecting previously unselected package libssl-dev:armhf.
Preparing to unpack .../151-libssl-dev_3.0.7-2_armhf.deb ...
Unpacking libssl-dev:armhf (3.0.7-2) ...
Selecting previously unselected package zlib1g-dev:armhf.
Preparing to unpack .../152-zlib1g-dev_1%3a1.2.13.dfsg-1_armhf.deb ...
Unpacking zlib1g-dev:armhf (1:1.2.13.dfsg-1) ...
Selecting previously unselected package libmariadb-dev.
Preparing to unpack .../153-libmariadb-dev_1%3a10.6.11-2+rpi1_armhf.deb ...
Unpacking libmariadb-dev (1:10.6.11-2+rpi1) ...
Selecting previously unselected package libmariadb-dev-compat:armhf.
Preparing to unpack .../154-libmariadb-dev-compat_1%3a10.6.11-2+rpi1_armhf.deb ...
Unpacking libmariadb-dev-compat:armhf (1:10.6.11-2+rpi1) ...
Selecting previously unselected package default-libmysqlclient-dev:armhf.
Preparing to unpack .../155-default-libmysqlclient-dev_1.0.8_armhf.deb ...
Unpacking default-libmysqlclient-dev:armhf (1.0.8) ...
Selecting previously unselected package python3-lib2to3.
Preparing to unpack .../156-python3-lib2to3_3.10.8-1_all.deb ...
Unpacking python3-lib2to3 (3.10.8-1) ...
Selecting previously unselected package python3-distutils.
Preparing to unpack .../157-python3-distutils_3.10.8-1_all.deb ...
Unpacking python3-distutils (3.10.8-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../158-dh-python_5.20220819+rpi1_all.deb ...
Unpacking dh-python (5.20220819+rpi1) ...
Selecting previously unselected package libclang-cpp14.
Preparing to unpack .../159-libclang-cpp14_1%3a14.0.6-10+rpi1_armhf.deb ...
Unpacking libclang-cpp14 (1:14.0.6-10+rpi1) ...
Selecting previously unselected package libclang1-14.
Preparing to unpack .../160-libclang1-14_1%3a14.0.6-10+rpi1_armhf.deb ...
Unpacking libclang1-14 (1:14.0.6-10+rpi1) ...
Selecting previously unselected package doxygen.
Preparing to unpack .../161-doxygen_1.9.4-4_armhf.deb ...
Unpacking doxygen (1.9.4-4) ...
Selecting previously unselected package libflatbuffers2:armhf.
Preparing to unpack .../162-libflatbuffers2_2.0.8+dfsg1-2_armhf.deb ...
Unpacking libflatbuffers2:armhf (2.0.8+dfsg1-2) ...
Selecting previously unselected package flatbuffers-compiler.
Preparing to unpack .../163-flatbuffers-compiler_2.0.8+dfsg1-2_armhf.deb ...
Unpacking flatbuffers-compiler (2.0.8+dfsg1-2) ...
Selecting previously unselected package flatbuffers-compiler-dev:armhf.
Preparing to unpack .../164-flatbuffers-compiler-dev_2.0.8+dfsg1-2_armhf.deb ...
Unpacking flatbuffers-compiler-dev:armhf (2.0.8+dfsg1-2) ...
Selecting previously unselected package fontforge-common.
Preparing to unpack .../165-fontforge-common_1%3a20220308~dfsg-1+rpi1_all.deb ...
Unpacking fontforge-common (1:20220308~dfsg-1+rpi1) ...
Selecting previously unselected package libpython3.10:armhf.
Preparing to unpack .../166-libpython3.10_3.10.9-1_armhf.deb ...
Unpacking libpython3.10:armhf (3.10.9-1) ...
Selecting previously unselected package libspiro1:armhf.
Preparing to unpack .../167-libspiro1_1%3a20221101-1_armhf.deb ...
Unpacking libspiro1:armhf (1:20221101-1) ...
Selecting previously unselected package libwoff1:armhf.
Preparing to unpack .../168-libwoff1_1.0.2-2_armhf.deb ...
Unpacking libwoff1:armhf (1.0.2-2) ...
Selecting previously unselected package libfontforge4:armhf.
Preparing to unpack .../169-libfontforge4_1%3a20220308~dfsg-1+rpi1+b1_armhf.deb ...
Unpacking libfontforge4:armhf (1:20220308~dfsg-1+rpi1+b1) ...
Selecting previously unselected package fontforge-nox.
Preparing to unpack .../170-fontforge-nox_1%3a20220308~dfsg-1+rpi1+b1_armhf.deb ...
Unpacking fontforge-nox (1:20220308~dfsg-1+rpi1+b1) ...
Selecting previously unselected package libgirepository-1.0-1:armhf.
Preparing to unpack .../171-libgirepository-1.0-1_1.74.0-2_armhf.deb ...
Unpacking libgirepository-1.0-1:armhf (1.74.0-2) ...
Selecting previously unselected package gir1.2-glib-2.0:armhf.
Preparing to unpack .../172-gir1.2-glib-2.0_1.74.0-2_armhf.deb ...
Unpacking gir1.2-glib-2.0:armhf (1.74.0-2) ...
Selecting previously unselected package gir1.2-freedesktop:armhf.
Preparing to unpack .../173-gir1.2-freedesktop_1.74.0-2_armhf.deb ...
Unpacking gir1.2-freedesktop:armhf (1.74.0-2) ...
Selecting previously unselected package libgudev-1.0-0:armhf.
Preparing to unpack .../174-libgudev-1.0-0_237-2_armhf.deb ...
Unpacking libgudev-1.0-0:armhf (237-2) ...
Selecting previously unselected package gir1.2-gudev-1.0:armhf.
Preparing to unpack .../175-gir1.2-gudev-1.0_237-2_armhf.deb ...
Unpacking gir1.2-gudev-1.0:armhf (237-2) ...
Selecting previously unselected package gir1.2-harfbuzz-0.0:armhf.
Preparing to unpack .../176-gir1.2-harfbuzz-0.0_6.0.0-1_armhf.deb ...
Unpacking gir1.2-harfbuzz-0.0:armhf (6.0.0-1) ...
Selecting previously unselected package googletest.
Preparing to unpack .../177-googletest_1.12.1-0.2_all.deb ...
Unpacking googletest (1.12.1-0.2) ...
Selecting previously unselected package gperf.
Preparing to unpack .../178-gperf_3.1-1_armhf.deb ...
Unpacking gperf (3.1-1) ...
Selecting previously unselected package ivy.
Preparing to unpack .../179-ivy_2.5.1-2_all.deb ...
Unpacking ivy (2.5.1-2) ...
Selecting previously unselected package libhamcrest-java.
Preparing to unpack .../180-libhamcrest-java_2.2-1_all.deb ...
Unpacking libhamcrest-java (2.2-1) ...
Selecting previously unselected package junit4.
Preparing to unpack .../181-junit4_4.13.2-3_all.deb ...
Unpacking junit4 (4.13.2-3) ...
Selecting previously unselected package libasm-java.
Preparing to unpack .../182-libasm-java_9.4-1_all.deb ...
Unpacking libasm-java (9.4-1) ...
Selecting previously unselected package libbsf-java.
Preparing to unpack .../183-libbsf-java_1%3a2.4.0-8_all.deb ...
Unpacking libbsf-java (1:2.4.0-8) ...
Selecting previously unselected package libcommons-cli-java.
Preparing to unpack .../184-libcommons-cli-java_1.5.0-1_all.deb ...
Unpacking libcommons-cli-java (1.5.0-1) ...
Selecting previously unselected package libapache-pom-java.
Preparing to unpack .../185-libapache-pom-java_29-2_all.deb ...
Unpacking libapache-pom-java (29-2) ...
Selecting previously unselected package libcommons-parent-java.
Preparing to unpack .../186-libcommons-parent-java_56-1_all.deb ...
Unpacking libcommons-parent-java (56-1) ...
Selecting previously unselected package libcommons-logging-java.
Preparing to unpack .../187-libcommons-logging-java_1.2-3_all.deb ...
Unpacking libcommons-logging-java (1.2-3) ...
Selecting previously unselected package libjansi-java.
Preparing to unpack .../188-libjansi-java_2.4.0-2_all.deb ...
Unpacking libjansi-java (2.4.0-2) ...
Selecting previously unselected package libhawtjni-runtime-java.
Preparing to unpack .../189-libhawtjni-runtime-java_1.18-1_all.deb ...
Unpacking libhawtjni-runtime-java (1.18-1) ...
Selecting previously unselected package libjansi-native-java.
Preparing to unpack .../190-libjansi-native-java_1.8-1_all.deb ...
Unpacking libjansi-native-java (1.8-1) ...
Selecting previously unselected package libjansi1-java.
Preparing to unpack .../191-libjansi1-java_1.18-3_all.deb ...
Unpacking libjansi1-java (1.18-3) ...
Selecting previously unselected package libjline2-java.
Preparing to unpack .../192-libjline2-java_2.14.6-5_all.deb ...
Unpacking libjline2-java (2.14.6-5) ...
Selecting previously unselected package libqdox-java.
Preparing to unpack .../193-libqdox-java_1.12.1-3_all.deb ...
Unpacking libqdox-java (1.12.1-3) ...
Selecting previously unselected package libservlet-api-java.
Preparing to unpack .../194-libservlet-api-java_4.0.1-2_all.deb ...
Unpacking libservlet-api-java (4.0.1-2) ...
Selecting previously unselected package libxpp3-java.
Preparing to unpack .../195-libxpp3-java_1.1.4c-3_all.deb ...
Unpacking libxpp3-java (1.1.4c-3) ...
Selecting previously unselected package libxstream-java.
Preparing to unpack .../196-libxstream-java_1.4.20-1_all.deb ...
Unpacking libxstream-java (1.4.20-1) ...
Selecting previously unselected package groovy.
Preparing to unpack .../197-groovy_2.4.21-7_all.deb ...
Unpacking groovy (2.4.21-7) ...
Selecting previously unselected package icu-devtools.
Preparing to unpack .../198-icu-devtools_72.1-3_armhf.deb ...
Unpacking icu-devtools (72.1-3) ...
Selecting previously unselected package libaom3:armhf.
Preparing to unpack .../199-libaom3_3.5.0-1_armhf.deb ...
Unpacking libaom3:armhf (3.5.0-1) ...
Selecting previously unselected package libasound2-dev:armhf.
Preparing to unpack .../200-libasound2-dev_1.2.8-1_armhf.deb ...
Unpacking libasound2-dev:armhf (1.2.8-1) ...
Selecting previously unselected package libass9:armhf.
Preparing to unpack .../201-libass9_1%3a0.17.0-2_armhf.deb ...
Unpacking libass9:armhf (1:0.17.0-2) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../202-libexpat1-dev_2.5.0-1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.5.0-1) ...
Selecting previously unselected package libbrotli-dev:armhf.
Preparing to unpack .../203-libbrotli-dev_1.0.9-2+b2_armhf.deb ...
Unpacking libbrotli-dev:armhf (1.0.9-2+b2) ...
Selecting previously unselected package libpng-dev:armhf.
Preparing to unpack .../204-libpng-dev_1.6.39-2_armhf.deb ...
Unpacking libpng-dev:armhf (1.6.39-2) ...
Selecting previously unselected package libfreetype-dev:armhf.
Preparing to unpack .../205-libfreetype-dev_2.12.1+dfsg-4_armhf.deb ...
Unpacking libfreetype-dev:armhf (2.12.1+dfsg-4) ...
Selecting previously unselected package uuid-dev:armhf.
Preparing to unpack .../206-uuid-dev_2.38.1-4_armhf.deb ...
Unpacking uuid-dev:armhf (2.38.1-4) ...
Selecting previously unselected package libpkgconf3:armhf.
Preparing to unpack .../207-libpkgconf3_1.8.0-12_armhf.deb ...
Unpacking libpkgconf3:armhf (1.8.0-12) ...
Selecting previously unselected package pkgconf-bin.
Preparing to unpack .../208-pkgconf-bin_1.8.0-12_armhf.deb ...
Unpacking pkgconf-bin (1.8.0-12) ...
Selecting previously unselected package pkgconf:armhf.
Preparing to unpack .../209-pkgconf_1.8.0-12_armhf.deb ...
Unpacking pkgconf:armhf (1.8.0-12) ...
Selecting previously unselected package pkg-config:armhf.
Preparing to unpack .../210-pkg-config_1.8.0-12_armhf.deb ...
Unpacking pkg-config:armhf (1.8.0-12) ...
Selecting previously unselected package libfontconfig-dev:armhf.
Preparing to unpack .../211-libfontconfig-dev_2.14.1-3_armhf.deb ...
Unpacking libfontconfig-dev:armhf (2.14.1-3) ...
Selecting previously unselected package libfribidi-dev:armhf.
Preparing to unpack .../212-libfribidi-dev_1.0.8-2.1_armhf.deb ...
Unpacking libfribidi-dev:armhf (1.0.8-2.1) ...
Selecting previously unselected package libharfbuzz-icu0:armhf.
Preparing to unpack .../213-libharfbuzz-icu0_6.0.0-1_armhf.deb ...
Unpacking libharfbuzz-icu0:armhf (6.0.0-1) ...
Selecting previously unselected package libharfbuzz-gobject0:armhf.
Preparing to unpack .../214-libharfbuzz-gobject0_6.0.0-1_armhf.deb ...
Unpacking libharfbuzz-gobject0:armhf (6.0.0-1) ...
Selecting previously unselected package libffi-dev:armhf.
Preparing to unpack .../215-libffi-dev_3.4.4-1_armhf.deb ...
Unpacking libffi-dev:armhf (3.4.4-1) ...
Selecting previously unselected package libglib2.0-data.
Preparing to unpack .../216-libglib2.0-data_2.74.4-1_all.deb ...
Unpacking libglib2.0-data (2.74.4-1) ...
Selecting previously unselected package libglib2.0-bin.
Preparing to unpack .../217-libglib2.0-bin_2.74.4-1_armhf.deb ...
Unpacking libglib2.0-bin (2.74.4-1) ...
Selecting previously unselected package libglib2.0-dev-bin.
Preparing to unpack .../218-libglib2.0-dev-bin_2.74.4-1_armhf.deb ...
Unpacking libglib2.0-dev-bin (2.74.4-1) ...
Selecting previously unselected package libblkid-dev:armhf.
Preparing to unpack .../219-libblkid-dev_2.38.1-4_armhf.deb ...
Unpacking libblkid-dev:armhf (2.38.1-4) ...
Selecting previously unselected package libsepol-dev:armhf.
Preparing to unpack .../220-libsepol-dev_3.4-2_armhf.deb ...
Unpacking libsepol-dev:armhf (3.4-2) ...
Selecting previously unselected package libpcre2-16-0:armhf.
Preparing to unpack .../221-libpcre2-16-0_10.40-3_armhf.deb ...
Unpacking libpcre2-16-0:armhf (10.40-3) ...
Selecting previously unselected package libpcre2-32-0:armhf.
Preparing to unpack .../222-libpcre2-32-0_10.40-3_armhf.deb ...
Unpacking libpcre2-32-0:armhf (10.40-3) ...
Selecting previously unselected package libpcre2-posix3:armhf.
Preparing to unpack .../223-libpcre2-posix3_10.40-3_armhf.deb ...
Unpacking libpcre2-posix3:armhf (10.40-3) ...
Selecting previously unselected package libpcre2-dev:armhf.
Preparing to unpack .../224-libpcre2-dev_10.40-3_armhf.deb ...
Unpacking libpcre2-dev:armhf (10.40-3) ...
Selecting previously unselected package libselinux1-dev:armhf.
Preparing to unpack .../225-libselinux1-dev_3.4-1+b1_armhf.deb ...
Unpacking libselinux1-dev:armhf (3.4-1+b1) ...
Selecting previously unselected package libmount-dev:armhf.
Preparing to unpack .../226-libmount-dev_2.38.1-4_armhf.deb ...
Unpacking libmount-dev:armhf (2.38.1-4) ...
Selecting previously unselected package libglib2.0-dev:armhf.
Preparing to unpack .../227-libglib2.0-dev_2.74.4-1_armhf.deb ...
Unpacking libglib2.0-dev:armhf (2.74.4-1) ...
Selecting previously unselected package libgraphite2-dev:armhf.
Preparing to unpack .../228-libgraphite2-dev_1.3.14-1_armhf.deb ...
Unpacking libgraphite2-dev:armhf (1.3.14-1) ...
Selecting previously unselected package libicu-dev:armhf.
Preparing to unpack .../229-libicu-dev_72.1-3_armhf.deb ...
Unpacking libicu-dev:armhf (72.1-3) ...
Selecting previously unselected package libharfbuzz-dev:armhf.
Preparing to unpack .../230-libharfbuzz-dev_6.0.0-1_armhf.deb ...
Unpacking libharfbuzz-dev:armhf (6.0.0-1) ...
Selecting previously unselected package libass-dev:armhf.
Preparing to unpack .../231-libass-dev_1%3a0.17.0-2_armhf.deb ...
Unpacking libass-dev:armhf (1:0.17.0-2) ...
Selecting previously unselected package libasyncns0:armhf.
Preparing to unpack .../232-libasyncns0_0.8-6+b3_armhf.deb ...
Unpacking libasyncns0:armhf (0.8-6+b3) ...
Selecting previously unselected package libavahi-common-dev:armhf.
Preparing to unpack .../233-libavahi-common-dev_0.8-7_armhf.deb ...
Unpacking libavahi-common-dev:armhf (0.8-7) ...
Selecting previously unselected package xml-core.
Preparing to unpack .../234-xml-core_0.18+nmu1_all.deb ...
Unpacking xml-core (0.18+nmu1) ...
Selecting previously unselected package libdbus-1-dev:armhf.
Preparing to unpack .../235-libdbus-1-dev_1.14.4-1_armhf.deb ...
Unpacking libdbus-1-dev:armhf (1.14.4-1) ...
Selecting previously unselected package libavahi-client-dev:armhf.
Preparing to unpack .../236-libavahi-client-dev_0.8-7_armhf.deb ...
Unpacking libavahi-client-dev:armhf (0.8-7) ...
Selecting previously unselected package libva2:armhf.
Preparing to unpack .../237-libva2_2.17.0-1_armhf.deb ...
Unpacking libva2:armhf (2.17.0-1) ...
Selecting previously unselected package libva-drm2:armhf.
Preparing to unpack .../238-libva-drm2_2.17.0-1_armhf.deb ...
Unpacking libva-drm2:armhf (2.17.0-1) ...
Selecting previously unselected package libva-x11-2:armhf.
Preparing to unpack .../239-libva-x11-2_2.17.0-1_armhf.deb ...
Unpacking libva-x11-2:armhf (2.17.0-1) ...
Selecting previously unselected package libvdpau1:armhf.
Preparing to unpack .../240-libvdpau1_1.5-2_armhf.deb ...
Unpacking libvdpau1:armhf (1.5-2) ...
Selecting previously unselected package ocl-icd-libopencl1:armhf.
Preparing to unpack .../241-ocl-icd-libopencl1_2.3.1-1_armhf.deb ...
Unpacking ocl-icd-libopencl1:armhf (2.3.1-1) ...
Selecting previously unselected package libavutil57:armhf.
Preparing to unpack .../242-libavutil57_7%3a5.1.2-1_armhf.deb ...
Unpacking libavutil57:armhf (7:5.1.2-1) ...
Selecting previously unselected package libcodec2-1.0:armhf.
Preparing to unpack .../243-libcodec2-1.0_1.0.5-1_armhf.deb ...
Unpacking libcodec2-1.0:armhf (1.0.5-1) ...
Selecting previously unselected package libdav1d6:armhf.
Preparing to unpack .../244-libdav1d6_1.0.0-2+rpi1_armhf.deb ...
Unpacking libdav1d6:armhf (1.0.0-2+rpi1) ...
Selecting previously unselected package libgsm1:armhf.
Preparing to unpack .../245-libgsm1_1.0.22-1_armhf.deb ...
Unpacking libgsm1:armhf (1.0.22-1) ...
Selecting previously unselected package libmp3lame0:armhf.
Preparing to unpack .../246-libmp3lame0_3.100-6_armhf.deb ...
Unpacking libmp3lame0:armhf (3.100-6) ...
Selecting previously unselected package libopenjp2-7:armhf.
Preparing to unpack .../247-libopenjp2-7_2.5.0-1+b1_armhf.deb ...
Unpacking libopenjp2-7:armhf (2.5.0-1+b1) ...
Selecting previously unselected package libopus0:armhf.
Preparing to unpack .../248-libopus0_1.3.1-2_armhf.deb ...
Unpacking libopus0:armhf (1.3.1-2) ...
Selecting previously unselected package librav1e0:armhf.
Preparing to unpack .../249-librav1e0_0.5.1-6_armhf.deb ...
Unpacking librav1e0:armhf (0.5.1-6) ...
Selecting previously unselected package libcairo-gobject2:armhf.
Preparing to unpack .../250-libcairo-gobject2_1.16.0-7_armhf.deb ...
Unpacking libcairo-gobject2:armhf (1.16.0-7) ...
Selecting previously unselected package librsvg2-2:armhf.
Preparing to unpack .../251-librsvg2-2_2.54.5+dfsg-1_armhf.deb ...
Unpacking librsvg2-2:armhf (2.54.5+dfsg-1) ...
Selecting previously unselected package libshine3:armhf.
Preparing to unpack .../252-libshine3_3.1.1-2+b1_armhf.deb ...
Unpacking libshine3:armhf (3.1.1-2+b1) ...
Selecting previously unselected package libsnappy1v5:armhf.
Preparing to unpack .../253-libsnappy1v5_1.1.9-2_armhf.deb ...
Unpacking libsnappy1v5:armhf (1.1.9-2) ...
Selecting previously unselected package libspeex1:armhf.
Preparing to unpack .../254-libspeex1_1.2.1-1_armhf.deb ...
Unpacking libspeex1:armhf (1.2.1-1) ...
Selecting previously unselected package libsvtav1enc1:armhf.
Preparing to unpack .../255-libsvtav1enc1_1.4.1+dfsg-1_armhf.deb ...
Unpacking libsvtav1enc1:armhf (1.4.1+dfsg-1) ...
Selecting previously unselected package libsoxr0:armhf.
Preparing to unpack .../256-libsoxr0_0.1.3-4+rpi1_armhf.deb ...
Unpacking libsoxr0:armhf (0.1.3-4+rpi1) ...
Selecting previously unselected package libswresample4:armhf.
Preparing to unpack .../257-libswresample4_7%3a5.1.2-1_armhf.deb ...
Unpacking libswresample4:armhf (7:5.1.2-1) ...
Selecting previously unselected package libogg0:armhf.
Preparing to unpack .../258-libogg0_1.3.5-3_armhf.deb ...
Unpacking libogg0:armhf (1.3.5-3) ...
Selecting previously unselected package libtheora0:armhf.
Preparing to unpack .../259-libtheora0_1.1.1+dfsg.1-16.1_armhf.deb ...
Unpacking libtheora0:armhf (1.1.1+dfsg.1-16.1) ...
Selecting previously unselected package libtwolame0:armhf.
Preparing to unpack .../260-libtwolame0_0.4.0-2_armhf.deb ...
Unpacking libtwolame0:armhf (0.4.0-2) ...
Selecting previously unselected package libvorbis0a:armhf.
Preparing to unpack .../261-libvorbis0a_1.3.7-1_armhf.deb ...
Unpacking libvorbis0a:armhf (1.3.7-1) ...
Selecting previously unselected package libvorbisenc2:armhf.
Preparing to unpack .../262-libvorbisenc2_1.3.7-1_armhf.deb ...
Unpacking libvorbisenc2:armhf (1.3.7-1) ...
Selecting previously unselected package libvpx7:armhf.
Preparing to unpack .../263-libvpx7_1.12.0-1_armhf.deb ...
Unpacking libvpx7:armhf (1.12.0-1) ...
Selecting previously unselected package libwebpmux3:armhf.
Preparing to unpack .../264-libwebpmux3_1.2.2-2+b2_armhf.deb ...
Unpacking libwebpmux3:armhf (1.2.2-2+b2) ...
Selecting previously unselected package libx264-164:armhf.
Preparing to unpack .../265-libx264-164_2%3a0.164.3095+gitbaee400-2+rpi1+b4_armhf.deb ...
Unpacking libx264-164:armhf (2:0.164.3095+gitbaee400-2+rpi1+b4) ...
Selecting previously unselected package libx265-199:armhf.
Preparing to unpack .../266-libx265-199_3.5-2_armhf.deb ...
Unpacking libx265-199:armhf (3.5-2) ...
Selecting previously unselected package libxvidcore4:armhf.
Preparing to unpack .../267-libxvidcore4_2%3a1.3.7-1_armhf.deb ...
Unpacking libxvidcore4:armhf (2:1.3.7-1) ...
Selecting previously unselected package libzvbi-common.
Preparing to unpack .../268-libzvbi-common_0.2.39-2_all.deb ...
Unpacking libzvbi-common (0.2.39-2) ...
Selecting previously unselected package libzvbi0:armhf.
Preparing to unpack .../269-libzvbi0_0.2.39-2_armhf.deb ...
Unpacking libzvbi0:armhf (0.2.39-2) ...
Selecting previously unselected package libavcodec59:armhf.
Preparing to unpack .../270-libavcodec59_7%3a5.1.2-1_armhf.deb ...
Unpacking libavcodec59:armhf (7:5.1.2-1) ...
Selecting previously unselected package libavutil-dev:armhf.
Preparing to unpack .../271-libavutil-dev_7%3a5.1.2-1_armhf.deb ...
Unpacking libavutil-dev:armhf (7:5.1.2-1) ...
Selecting previously unselected package libswresample-dev:armhf.
Preparing to unpack .../272-libswresample-dev_7%3a5.1.2-1_armhf.deb ...
Unpacking libswresample-dev:armhf (7:5.1.2-1) ...
Selecting previously unselected package libavcodec-dev:armhf.
Preparing to unpack .../273-libavcodec-dev_7%3a5.1.2-1_armhf.deb ...
Unpacking libavcodec-dev:armhf (7:5.1.2-1) ...
Selecting previously unselected package libudfread0:armhf.
Preparing to unpack .../274-libudfread0_1.1.2-1_armhf.deb ...
Unpacking libudfread0:armhf (1.1.2-1) ...
Selecting previously unselected package libbluray2:armhf.
Preparing to unpack .../275-libbluray2_1%3a1.3.4-1_armhf.deb ...
Unpacking libbluray2:armhf (1:1.3.4-1) ...
Selecting previously unselected package libchromaprint1:armhf.
Preparing to unpack .../276-libchromaprint1_1.5.1-2+b2_armhf.deb ...
Unpacking libchromaprint1:armhf (1.5.1-2+b2) ...
Selecting previously unselected package libgme0:armhf.
Preparing to unpack .../277-libgme0_0.6.3-5_armhf.deb ...
Unpacking libgme0:armhf (0.6.3-5) ...
Selecting previously unselected package libmpg123-0:armhf.
Preparing to unpack .../278-libmpg123-0_1.31.1-1_armhf.deb ...
Unpacking libmpg123-0:armhf (1.31.1-1) ...
Selecting previously unselected package libvorbisfile3:armhf.
Preparing to unpack .../279-libvorbisfile3_1.3.7-1_armhf.deb ...
Unpacking libvorbisfile3:armhf (1.3.7-1) ...
Selecting previously unselected package libopenmpt0:armhf.
Preparing to unpack .../280-libopenmpt0_0.6.7-1_armhf.deb ...
Unpacking libopenmpt0:armhf (0.6.7-1) ...
Selecting previously unselected package librabbitmq4:armhf.
Preparing to unpack .../281-librabbitmq4_0.11.0-1+b1_armhf.deb ...
Unpacking librabbitmq4:armhf (0.11.0-1+b1) ...
Selecting previously unselected package libcjson1:armhf.
Preparing to unpack .../282-libcjson1_1.7.15-1_armhf.deb ...
Unpacking libcjson1:armhf (1.7.15-1) ...
Selecting previously unselected package libmbedcrypto7:armhf.
Preparing to unpack .../283-libmbedcrypto7_2.28.2-1_armhf.deb ...
Unpacking libmbedcrypto7:armhf (2.28.2-1) ...
Selecting previously unselected package librist4:armhf.
Preparing to unpack .../284-librist4_0.2.7+dfsg-1_armhf.deb ...
Unpacking librist4:armhf (0.2.7+dfsg-1) ...
Selecting previously unselected package libsrt1.5-gnutls:armhf.
Preparing to unpack .../285-libsrt1.5-gnutls_1.5.1-1_armhf.deb ...
Unpacking libsrt1.5-gnutls:armhf (1.5.1-1) ...
Selecting previously unselected package libssh-gcrypt-4:armhf.
Preparing to unpack .../286-libssh-gcrypt-4_0.10.4-2_armhf.deb ...
Unpacking libssh-gcrypt-4:armhf (0.10.4-2) ...
Selecting previously unselected package libnorm1:armhf.
Preparing to unpack .../287-libnorm1_1.5.9+dfsg-2_armhf.deb ...
Unpacking libnorm1:armhf (1.5.9+dfsg-2) ...
Selecting previously unselected package libpgm-5.3-0:armhf.
Preparing to unpack .../288-libpgm-5.3-0_5.3.128~dfsg-2_armhf.deb ...
Unpacking libpgm-5.3-0:armhf (5.3.128~dfsg-2) ...
Selecting previously unselected package libsodium23:armhf.
Preparing to unpack .../289-libsodium23_1.0.18-1_armhf.deb ...
Unpacking libsodium23:armhf (1.0.18-1) ...
Selecting previously unselected package libzmq5:armhf.
Preparing to unpack .../290-libzmq5_4.3.4-6_armhf.deb ...
Unpacking libzmq5:armhf (4.3.4-6) ...
Selecting previously unselected package libavformat59:armhf.
Preparing to unpack .../291-libavformat59_7%3a5.1.2-1_armhf.deb ...
Unpacking libavformat59:armhf (7:5.1.2-1) ...
Selecting previously unselected package libbs2b0:armhf.
Preparing to unpack .../292-libbs2b0_3.1.0+dfsg-7_armhf.deb ...
Unpacking libbs2b0:armhf (3.1.0+dfsg-7) ...
Selecting previously unselected package libflite1:armhf.
Preparing to unpack .../293-libflite1_2.2-5_armhf.deb ...
Unpacking libflite1:armhf (2.2-5) ...
Selecting previously unselected package libserd-0-0:armhf.
Preparing to unpack .../294-libserd-0-0_0.30.16-1_armhf.deb ...
Unpacking libserd-0-0:armhf (0.30.16-1) ...
Selecting previously unselected package libsord-0-0:armhf.
Preparing to unpack .../295-libsord-0-0_0.16.14+git221008-1_armhf.deb ...
Unpacking libsord-0-0:armhf (0.16.14+git221008-1) ...
Selecting previously unselected package libsratom-0-0:armhf.
Preparing to unpack .../296-libsratom-0-0_0.6.14-1_armhf.deb ...
Unpacking libsratom-0-0:armhf (0.6.14-1) ...
Selecting previously unselected package liblilv-0-0:armhf.
Preparing to unpack .../297-liblilv-0-0_0.24.14-1_armhf.deb ...
Unpacking liblilv-0-0:armhf (0.24.14-1) ...
Selecting previously unselected package libmysofa1:armhf.
Preparing to unpack .../298-libmysofa1_1.3.1~dfsg0-1_armhf.deb ...
Unpacking libmysofa1:armhf (1.3.1~dfsg0-1) ...
Selecting previously unselected package libepoxy0:armhf.
Preparing to unpack .../299-libepoxy0_1.5.10-1_armhf.deb ...
Unpacking libepoxy0:armhf (1.5.10-1) ...
Selecting previously unselected package libvulkan1:armhf.
Preparing to unpack .../300-libvulkan1_1.3.231.1-1_armhf.deb ...
Unpacking libvulkan1:armhf (1.3.231.1-1) ...
Selecting previously unselected package libplacebo208:armhf.
Preparing to unpack .../301-libplacebo208_4.208.0-3_armhf.deb ...
Unpacking libplacebo208:armhf (4.208.0-3) ...
Selecting previously unselected package libblas3:armhf.
Preparing to unpack .../302-libblas3_3.11.0-2_armhf.deb ...
Unpacking libblas3:armhf (3.11.0-2) ...
Selecting previously unselected package libgfortran5:armhf.
Preparing to unpack .../303-libgfortran5_12.2.0-14+rpi1_armhf.deb ...
Unpacking libgfortran5:armhf (12.2.0-14+rpi1) ...
Selecting previously unselected package liblapack3:armhf.
Preparing to unpack .../304-liblapack3_3.11.0-2_armhf.deb ...
Unpacking liblapack3:armhf (3.11.0-2) ...
Selecting previously unselected package libflac12:armhf.
Preparing to unpack .../305-libflac12_1.4.2+ds-2_armhf.deb ...
Unpacking libflac12:armhf (1.4.2+ds-2) ...
Selecting previously unselected package libsndfile1:armhf.
Preparing to unpack .../306-libsndfile1_1.2.0-1_armhf.deb ...
Unpacking libsndfile1:armhf (1.2.0-1) ...
Selecting previously unselected package libpulse0:armhf.
Preparing to unpack .../307-libpulse0_16.1+dfsg1-2+b1_armhf.deb ...
Unpacking libpulse0:armhf (16.1+dfsg1-2+b1) ...
Selecting previously unselected package libsphinxbase3:armhf.
Preparing to unpack .../308-libsphinxbase3_0.8+5prealpha+1-15+rpi1_armhf.deb ...
Unpacking libsphinxbase3:armhf (0.8+5prealpha+1-15+rpi1) ...
Selecting previously unselected package libpocketsphinx3:armhf.
Preparing to unpack .../309-libpocketsphinx3_0.8+5prealpha+1-15_armhf.deb ...
Unpacking libpocketsphinx3:armhf (0.8+5prealpha+1-15) ...
Selecting previously unselected package libpostproc56:armhf.
Preparing to unpack .../310-libpostproc56_7%3a5.1.2-1_armhf.deb ...
Unpacking libpostproc56:armhf (7:5.1.2-1) ...
Selecting previously unselected package librubberband2:armhf.
Preparing to unpack .../311-librubberband2_3.1.2+dfsg0-1_armhf.deb ...
Unpacking librubberband2:armhf (3.1.2+dfsg0-1) ...
Selecting previously unselected package libswscale6:armhf.
Preparing to unpack .../312-libswscale6_7%3a5.1.2-1_armhf.deb ...
Unpacking libswscale6:armhf (7:5.1.2-1) ...
Selecting previously unselected package libvidstab1.1:armhf.
Preparing to unpack .../313-libvidstab1.1_1.1.0-2_armhf.deb ...
Unpacking libvidstab1.1:armhf (1.1.0-2) ...
Selecting previously unselected package libzimg2:armhf.
Preparing to unpack .../314-libzimg2_3.0.4+ds1-1_armhf.deb ...
Unpacking libzimg2:armhf (3.0.4+ds1-1) ...
Selecting previously unselected package libavfilter8:armhf.
Preparing to unpack .../315-libavfilter8_7%3a5.1.2-1_armhf.deb ...
Unpacking libavfilter8:armhf (7:5.1.2-1) ...
Selecting previously unselected package libavformat-dev:armhf.
Preparing to unpack .../316-libavformat-dev_7%3a5.1.2-1_armhf.deb ...
Unpacking libavformat-dev:armhf (7:5.1.2-1) ...
Selecting previously unselected package libpostproc-dev:armhf.
Preparing to unpack .../317-libpostproc-dev_7%3a5.1.2-1_armhf.deb ...
Unpacking libpostproc-dev:armhf (7:5.1.2-1) ...
Selecting previously unselected package libswscale-dev:armhf.
Preparing to unpack .../318-libswscale-dev_7%3a5.1.2-1_armhf.deb ...
Unpacking libswscale-dev:armhf (7:5.1.2-1) ...
Selecting previously unselected package libavfilter-dev:armhf.
Preparing to unpack .../319-libavfilter-dev_7%3a5.1.2-1_armhf.deb ...
Unpacking libavfilter-dev:armhf (7:5.1.2-1) ...
Selecting previously unselected package libbluetooth3:armhf.
Preparing to unpack .../320-libbluetooth3_5.66-1_armhf.deb ...
Unpacking libbluetooth3:armhf (5.66-1) ...
Selecting previously unselected package libbluetooth-dev:armhf.
Preparing to unpack .../321-libbluetooth-dev_5.66-1_armhf.deb ...
Unpacking libbluetooth-dev:armhf (5.66-1) ...
Selecting previously unselected package libudfread-dev:armhf.
Preparing to unpack .../322-libudfread-dev_1.1.2-1_armhf.deb ...
Unpacking libudfread-dev:armhf (1.1.2-1) ...
Selecting previously unselected package libxml2-dev:armhf.
Preparing to unpack .../323-libxml2-dev_2.9.14+dfsg-1.1_armhf.deb ...
Unpacking libxml2-dev:armhf (2.9.14+dfsg-1.1) ...
Selecting previously unselected package libbluray-dev:armhf.
Preparing to unpack .../324-libbluray-dev_1%3a1.3.4-1_armhf.deb ...
Unpacking libbluray-dev:armhf (1:1.3.4-1) ...
Selecting previously unselected package libcap-dev:armhf.
Preparing to unpack .../325-libcap-dev_1%3a2.66-3_armhf.deb ...
Unpacking libcap-dev:armhf (1:2.66-3) ...
Selecting previously unselected package libcdio19:armhf.
Preparing to unpack .../326-libcdio19_2.1.0-4_armhf.deb ...
Unpacking libcdio19:armhf (2.1.0-4) ...
Selecting previously unselected package libcdio++1:armhf.
Preparing to unpack .../327-libcdio++1_2.1.0-4_armhf.deb ...
Unpacking libcdio++1:armhf (2.1.0-4) ...
Selecting previously unselected package libcdio-dev.
Preparing to unpack .../328-libcdio-dev_2.1.0-4_armhf.deb ...
Unpacking libcdio-dev (2.1.0-4) ...
Selecting previously unselected package libcdio++-dev:armhf.
Preparing to unpack .../329-libcdio++-dev_2.1.0-4_armhf.deb ...
Unpacking libcdio++-dev:armhf (2.1.0-4) ...
Selecting previously unselected package libp8-platform2:armhf.
Preparing to unpack .../330-libp8-platform2_2.1.0.1+dfsg1-4_armhf.deb ...
Unpacking libp8-platform2:armhf (2.1.0.1+dfsg1-4) ...
Selecting previously unselected package libcec6:armhf.
Preparing to unpack .../331-libcec6_6.0.2-4_armhf.deb ...
Unpacking libcec6:armhf (6.0.2-4) ...
Selecting previously unselected package libcec-dev:armhf.
Preparing to unpack .../332-libcec-dev_6.0.2-4_armhf.deb ...
Unpacking libcec-dev:armhf (6.0.2-4) ...
Selecting previously unselected package libcommons-lang-java.
Preparing to unpack .../333-libcommons-lang-java_2.6-10_all.deb ...
Unpacking libcommons-lang-java (2.6-10) ...
Selecting previously unselected package libcrossguid0:armhf.
Preparing to unpack .../334-libcrossguid0_0.0+git200150803-6_armhf.deb ...
Unpacking libcrossguid0:armhf (0.0+git200150803-6) ...
Selecting previously unselected package libcrossguid-dev:armhf.
Preparing to unpack .../335-libcrossguid-dev_0.0+git200150803-6_armhf.deb ...
Unpacking libcrossguid-dev:armhf (0.0+git200150803-6) ...
Selecting previously unselected package libcurl3-gnutls:armhf.
Preparing to unpack .../336-libcurl3-gnutls_7.87.0-2_armhf.deb ...
Unpacking libcurl3-gnutls:armhf (7.87.0-2) ...
Selecting previously unselected package libcurl4-gnutls-dev:armhf.
Preparing to unpack .../337-libcurl4-gnutls-dev_7.87.0-2_armhf.deb ...
Unpacking libcurl4-gnutls-dev:armhf (7.87.0-2) ...
Selecting previously unselected package libcwiid1.
Preparing to unpack .../338-libcwiid1_0.6.91-4_armhf.deb ...
Unpacking libcwiid1 (0.6.91-4) ...
Selecting previously unselected package libcwiid-dev.
Preparing to unpack .../339-libcwiid-dev_0.6.91-4_armhf.deb ...
Unpacking libcwiid-dev (0.6.91-4) ...
Selecting previously unselected package libdate-tz3:armhf.
Preparing to unpack .../340-libdate-tz3_3.0.1+ds-5_armhf.deb ...
Unpacking libdate-tz3:armhf (3.0.1+ds-5) ...
Selecting previously unselected package libdav1d-dev:armhf.
Preparing to unpack .../341-libdav1d-dev_1.0.0-2+rpi1_armhf.deb ...
Unpacking libdav1d-dev:armhf (1.0.0-2+rpi1) ...
Selecting previously unselected package libdrm-omap1:armhf.
Preparing to unpack .../342-libdrm-omap1_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-omap1:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libdrm-freedreno1:armhf.
Preparing to unpack .../343-libdrm-freedreno1_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-freedreno1:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libdrm-exynos1:armhf.
Preparing to unpack .../344-libdrm-exynos1_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-exynos1:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libdrm-tegra0:armhf.
Preparing to unpack .../345-libdrm-tegra0_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-tegra0:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libdrm-etnaviv1:armhf.
Preparing to unpack .../346-libdrm-etnaviv1_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-etnaviv1:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libpciaccess0:armhf.
Preparing to unpack .../347-libpciaccess0_0.17-2_armhf.deb ...
Unpacking libpciaccess0:armhf (0.17-2) ...
Selecting previously unselected package libpciaccess-dev:armhf.
Preparing to unpack .../348-libpciaccess-dev_0.17-2_armhf.deb ...
Unpacking libpciaccess-dev:armhf (0.17-2) ...
Selecting previously unselected package libdrm-dev:armhf.
Preparing to unpack .../349-libdrm-dev_2.4.114-1+rpi1_armhf.deb ...
Unpacking libdrm-dev:armhf (2.4.114-1+rpi1) ...
Selecting previously unselected package libwayland-server0:armhf.
Preparing to unpack .../350-libwayland-server0_1.21.0-1_armhf.deb ...
Unpacking libwayland-server0:armhf (1.21.0-1) ...
Selecting previously unselected package libgbm1:armhf.
Preparing to unpack .../351-libgbm1_22.2.0-1+rpi1_armhf.deb ...
Unpacking libgbm1:armhf (22.2.0-1+rpi1) ...
Selecting previously unselected package libwayland-client0:armhf.
Preparing to unpack .../352-libwayland-client0_1.21.0-1_armhf.deb ...
Unpacking libwayland-client0:armhf (1.21.0-1) ...
Selecting previously unselected package libegl-mesa0:armhf.
Preparing to unpack .../353-libegl-mesa0_22.2.0-1+rpi1_armhf.deb ...
Unpacking libegl-mesa0:armhf (22.2.0-1+rpi1) ...
Selecting previously unselected package libegl1:armhf.
Preparing to unpack .../354-libegl1_1.6.0-1_armhf.deb ...
Unpacking libegl1:armhf (1.6.0-1) ...
Selecting previously unselected package xorg-sgml-doctools.
Preparing to unpack .../355-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1.1) ...
Selecting previously unselected package x11proto-dev.
Preparing to unpack .../356-x11proto-dev_2022.1-1_all.deb ...
Unpacking x11proto-dev (2022.1-1) ...
Selecting previously unselected package libxau-dev:armhf.
Preparing to unpack .../357-libxau-dev_1%3a1.0.9-1_armhf.deb ...
Unpacking libxau-dev:armhf (1:1.0.9-1) ...
Selecting previously unselected package libxdmcp-dev:armhf.
Preparing to unpack .../358-libxdmcp-dev_1%3a1.1.2-3_armhf.deb ...
Unpacking libxdmcp-dev:armhf (1:1.1.2-3) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../359-xtrans-dev_1.4.0-1_all.deb ...
Unpacking xtrans-dev (1.4.0-1) ...
Selecting previously unselected package libpthread-stubs0-dev:armhf.
Preparing to unpack .../360-libpthread-stubs0-dev_0.4-1_armhf.deb ...
Unpacking libpthread-stubs0-dev:armhf (0.4-1) ...
Selecting previously unselected package libxcb1-dev:armhf.
Preparing to unpack .../361-libxcb1-dev_1.15-1_armhf.deb ...
Unpacking libxcb1-dev:armhf (1.15-1) ...
Selecting previously unselected package libx11-dev:armhf.
Preparing to unpack .../362-libx11-dev_2%3a1.8.3-3_armhf.deb ...
Unpacking libx11-dev:armhf (2:1.8.3-3) ...
Selecting previously unselected package libglx-dev:armhf.
Preparing to unpack .../363-libglx-dev_1.6.0-1_armhf.deb ...
Unpacking libglx-dev:armhf (1.6.0-1) ...
Selecting previously unselected package libgl-dev:armhf.
Preparing to unpack .../364-libgl-dev_1.6.0-1_armhf.deb ...
Unpacking libgl-dev:armhf (1.6.0-1) ...
Selecting previously unselected package libegl-dev:armhf.
Preparing to unpack .../365-libegl-dev_1.6.0-1_armhf.deb ...
Unpacking libegl-dev:armhf (1.6.0-1) ...
Selecting previously unselected package libglvnd-core-dev:armhf.
Preparing to unpack .../366-libglvnd-core-dev_1.6.0-1_armhf.deb ...
Unpacking libglvnd-core-dev:armhf (1.6.0-1) ...
Selecting previously unselected package libgles1:armhf.
Preparing to unpack .../367-libgles1_1.6.0-1_armhf.deb ...
Unpacking libgles1:armhf (1.6.0-1) ...
Selecting previously unselected package libgles2:armhf.
Preparing to unpack .../368-libgles2_1.6.0-1_armhf.deb ...
Unpacking libgles2:armhf (1.6.0-1) ...
Selecting previously unselected package libgles-dev:armhf.
Preparing to unpack .../369-libgles-dev_1.6.0-1_armhf.deb ...
Unpacking libgles-dev:armhf (1.6.0-1) ...
Selecting previously unselected package libopengl0:armhf.
Preparing to unpack .../370-libopengl0_1.6.0-1_armhf.deb ...
Unpacking libopengl0:armhf (1.6.0-1) ...
Selecting previously unselected package libopengl-dev:armhf.
Preparing to unpack .../371-libopengl-dev_1.6.0-1_armhf.deb ...
Unpacking libopengl-dev:armhf (1.6.0-1) ...
Selecting previously unselected package libglvnd-dev:armhf.
Preparing to unpack .../372-libglvnd-dev_1.6.0-1_armhf.deb ...
Unpacking libglvnd-dev:armhf (1.6.0-1) ...
Selecting previously unselected package libegl1-mesa-dev:armhf.
Preparing to unpack .../373-libegl1-mesa-dev_22.2.0-1+rpi1_armhf.deb ...
Unpacking libegl1-mesa-dev:armhf (22.2.0-1+rpi1) ...
Selecting previously unselected package libevdev2:armhf.
Preparing to unpack .../374-libevdev2_1.13.0+dfsg-1+rpi1_armhf.deb ...
Unpacking libevdev2:armhf (1.13.0+dfsg-1+rpi1) ...
Selecting previously unselected package libevdev-dev:armhf.
Preparing to unpack .../375-libevdev-dev_1.13.0+dfsg-1+rpi1_armhf.deb ...
Unpacking libevdev-dev:armhf (1.13.0+dfsg-1+rpi1) ...
Selecting previously unselected package libevent-2.1-7:armhf.
Preparing to unpack .../376-libevent-2.1-7_2.1.12-stable-5+b1_armhf.deb ...
Unpacking libevent-2.1-7:armhf (2.1.12-stable-5+b1) ...
Selecting previously unselected package libflatbuffers-dev:armhf.
Preparing to unpack .../377-libflatbuffers-dev_2.0.8+dfsg1-2_armhf.deb ...
Unpacking libflatbuffers-dev:armhf (2.0.8+dfsg1-2) ...
Selecting previously unselected package libfmt9:armhf.
Preparing to unpack .../378-libfmt9_9.1.0+ds1-2_armhf.deb ...
Unpacking libfmt9:armhf (9.1.0+ds1-2) ...
Selecting previously unselected package libfmt-dev:armhf.
Preparing to unpack .../379-libfmt-dev_9.1.0+ds1-2_armhf.deb ...
Unpacking libfmt-dev:armhf (9.1.0+ds1-2) ...
Selecting previously unselected package libfstrcmp0.
Preparing to unpack .../380-libfstrcmp0_0.7.D001-3_armhf.deb ...
Unpacking libfstrcmp0 (0.7.D001-3) ...
Selecting previously unselected package libfstrcmp-dev.
Preparing to unpack .../381-libfstrcmp-dev_0.7.D001-3_armhf.deb ...
Unpacking libfstrcmp-dev (0.7.D001-3) ...
Selecting previously unselected package libgbm-dev:armhf.
Preparing to unpack .../382-libgbm-dev_22.2.0-1+rpi1_armhf.deb ...
Unpacking libgbm-dev:armhf (22.2.0-1+rpi1) ...
Selecting previously unselected package libgpg-error-dev.
Preparing to unpack .../383-libgpg-error-dev_1.46-1_armhf.deb ...
Unpacking libgpg-error-dev (1.46-1) ...
Selecting previously unselected package libgcrypt20-dev.
Preparing to unpack .../384-libgcrypt20-dev_1.10.1-3_armhf.deb ...
Unpacking libgcrypt20-dev (1.10.1-3) ...
Selecting previously unselected package libgif-dev:armhf.
Preparing to unpack .../385-libgif-dev_5.2.1-2.5_armhf.deb ...
Unpacking libgif-dev:armhf (5.2.1-2.5) ...
Selecting previously unselected package libglew2.2:armhf.
Preparing to unpack .../386-libglew2.2_2.2.0-4_armhf.deb ...
Unpacking libglew2.2:armhf (2.2.0-4) ...
Selecting previously unselected package libglu1-mesa:armhf.
Preparing to unpack .../387-libglu1-mesa_9.0.2-1.1_armhf.deb ...
Unpacking libglu1-mesa:armhf (9.0.2-1.1) ...
Selecting previously unselected package libglu1-mesa-dev:armhf.
Preparing to unpack .../388-libglu1-mesa-dev_9.0.2-1.1_armhf.deb ...
Unpacking libglu1-mesa-dev:armhf (9.0.2-1.1) ...
Selecting previously unselected package libglew-dev:armhf.
Preparing to unpack .../389-libglew-dev_2.2.0-4_armhf.deb ...
Unpacking libglew-dev:armhf (2.2.0-4) ...
Selecting previously unselected package libgmpxx4ldbl:armhf.
Preparing to unpack .../390-libgmpxx4ldbl_2%3a6.2.1+dfsg1-1.1_armhf.deb ...
Unpacking libgmpxx4ldbl:armhf (2:6.2.1+dfsg1-1.1) ...
Selecting previously unselected package libgmp-dev:armhf.
Preparing to unpack .../391-libgmp-dev_2%3a6.2.1+dfsg1-1.1_armhf.deb ...
Unpacking libgmp-dev:armhf (2:6.2.1+dfsg1-1.1) ...
Selecting previously unselected package libunbound8:armhf.
Preparing to unpack .../392-libunbound8_1.17.0-1_armhf.deb ...
Unpacking libunbound8:armhf (1.17.0-1) ...
Selecting previously unselected package libgnutls-dane0:armhf.
Preparing to unpack .../393-libgnutls-dane0_3.7.8-4_armhf.deb ...
Unpacking libgnutls-dane0:armhf (3.7.8-4) ...
Selecting previously unselected package libgnutls-openssl27:armhf.
Preparing to unpack .../394-libgnutls-openssl27_3.7.8-4_armhf.deb ...
Unpacking libgnutls-openssl27:armhf (3.7.8-4) ...
Selecting previously unselected package libgnutlsxx30:armhf.
Preparing to unpack .../395-libgnutlsxx30_3.7.8-4_armhf.deb ...
Unpacking libgnutlsxx30:armhf (3.7.8-4) ...
Selecting previously unselected package libidn2-dev:armhf.
Preparing to unpack .../396-libidn2-dev_2.3.3-1_armhf.deb ...
Unpacking libidn2-dev:armhf (2.3.3-1) ...
Selecting previously unselected package libp11-kit-dev:armhf.
Preparing to unpack .../397-libp11-kit-dev_0.24.1-2_armhf.deb ...
Unpacking libp11-kit-dev:armhf (0.24.1-2) ...
Selecting previously unselected package libtasn1-6-dev:armhf.
Preparing to unpack .../398-libtasn1-6-dev_4.19.0-2_armhf.deb ...
Unpacking libtasn1-6-dev:armhf (4.19.0-2) ...
Selecting previously unselected package nettle-dev:armhf.
Preparing to unpack .../399-nettle-dev_3.8.1-2_armhf.deb ...
Unpacking nettle-dev:armhf (3.8.1-2) ...
Selecting previously unselected package libgnutls28-dev:armhf.
Preparing to unpack .../400-libgnutls28-dev_3.7.8-4_armhf.deb ...
Unpacking libgnutls28-dev:armhf (3.7.8-4) ...
Selecting previously unselected package libgtest-dev:armhf.
Preparing to unpack .../401-libgtest-dev_1.12.1-0.2_armhf.deb ...
Unpacking libgtest-dev:armhf (1.12.1-0.2) ...
Selecting previously unselected package libudev-dev:armhf.
Preparing to unpack .../402-libudev-dev_252.4-1+rpi1_armhf.deb ...
Unpacking libudev-dev:armhf (252.4-1+rpi1) ...
Selecting previously unselected package libgudev-1.0-dev:armhf.
Preparing to unpack .../403-libgudev-1.0-dev_237-2_armhf.deb ...
Unpacking libgudev-1.0-dev:armhf (237-2) ...
Selecting previously unselected package libhowardhinnant-date-dev:armhf.
Preparing to unpack .../404-libhowardhinnant-date-dev_3.0.1+ds-5_armhf.deb ...
Unpacking libhowardhinnant-date-dev:armhf (3.0.1+ds-5) ...
Selecting previously unselected package libice6:armhf.
Preparing to unpack .../405-libice6_2%3a1.0.10-1_armhf.deb ...
Unpacking libice6:armhf (2:1.0.10-1) ...
Selecting previously unselected package libice-dev:armhf.
Preparing to unpack .../406-libice-dev_2%3a1.0.10-1_armhf.deb ...
Unpacking libice-dev:armhf (2:1.0.10-1) ...
Selecting previously unselected package libwacom-common.
Preparing to unpack .../407-libwacom-common_2.5.0-1_all.deb ...
Unpacking libwacom-common (2.5.0-1) ...
Selecting previously unselected package libwacom9:armhf.
Preparing to unpack .../408-libwacom9_2.5.0-1_armhf.deb ...
Unpacking libwacom9:armhf (2.5.0-1) ...
Selecting previously unselected package libinput-bin.
Preparing to unpack .../409-libinput-bin_1.22.0-1_armhf.deb ...
Unpacking libinput-bin (1.22.0-1) ...
Selecting previously unselected package libmtdev1:armhf.
Preparing to unpack .../410-libmtdev1_1.1.6-1_armhf.deb ...
Unpacking libmtdev1:armhf (1.1.6-1) ...
Selecting previously unselected package libinput10:armhf.
Preparing to unpack .../411-libinput10_1.22.0-1_armhf.deb ...
Unpacking libinput10:armhf (1.22.0-1) ...
Selecting previously unselected package libmtdev-dev:armhf.
Preparing to unpack .../412-libmtdev-dev_1.1.6-1_armhf.deb ...
Unpacking libmtdev-dev:armhf (1.1.6-1) ...
Selecting previously unselected package libwacom-dev:armhf.
Preparing to unpack .../413-libwacom-dev_2.5.0-1_armhf.deb ...
Unpacking libwacom-dev:armhf (2.5.0-1) ...
Selecting previously unselected package libinput-dev:armhf.
Preparing to unpack .../414-libinput-dev_1.22.0-1_armhf.deb ...
Unpacking libinput-dev:armhf (1.22.0-1) ...
Selecting previously unselected package libiso9660-11:armhf.
Preparing to unpack .../415-libiso9660-11_2.1.0-4_armhf.deb ...
Unpacking libiso9660-11:armhf (2.1.0-4) ...
Selecting previously unselected package libiso9660++0:armhf.
Preparing to unpack .../416-libiso9660++0_2.1.0-4_armhf.deb ...
Unpacking libiso9660++0:armhf (2.1.0-4) ...
Selecting previously unselected package libiso9660++-dev:armhf.
Preparing to unpack .../417-libiso9660++-dev_2.1.0-4_armhf.deb ...
Unpacking libiso9660++-dev:armhf (2.1.0-4) ...
Selecting previously unselected package libiso9660-dev:armhf.
Preparing to unpack .../418-libiso9660-dev_2.1.0-4_armhf.deb ...
Unpacking libiso9660-dev:armhf (2.1.0-4) ...
Selecting previously unselected package libjpeg62-turbo-dev:armhf.
Preparing to unpack .../419-libjpeg62-turbo-dev_1%3a2.1.2-1_armhf.deb ...
Unpacking libjpeg62-turbo-dev:armhf (1:2.1.2-1) ...
Selecting previously unselected package libjpeg-dev:armhf.
Preparing to unpack .../420-libjpeg-dev_1%3a2.1.2-1_armhf.deb ...
Unpacking libjpeg-dev:armhf (1:2.1.2-1) ...
Selecting previously unselected package libjs-jquery.
Preparing to unpack .../421-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ...
Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Selecting previously unselected package libjs-underscore.
Preparing to unpack .../422-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ...
Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
Selecting previously unselected package libjs-sphinxdoc.
Preparing to unpack .../423-libjs-sphinxdoc_5.3.0-3_all.deb ...
Unpacking libjs-sphinxdoc (5.3.0-3) ...
Selecting previously unselected package libkissfft-float131:armhf.
Preparing to unpack .../424-libkissfft-float131_131.1.0-3_armhf.deb ...
Unpacking libkissfft-float131:armhf (131.1.0-3) ...
Selecting previously unselected package libkissfft-dev:armhf.
Preparing to unpack .../425-libkissfft-dev_131.1.0-3_armhf.deb ...
Unpacking libkissfft-dev:armhf (131.1.0-3) ...
Selecting previously unselected package liblcms2-dev:armhf.
Preparing to unpack .../426-liblcms2-dev_2.14-1+b1_armhf.deb ...
Unpacking liblcms2-dev:armhf (2.14-1+b1) ...
Selecting previously unselected package libtalloc2:armhf.
Preparing to unpack .../427-libtalloc2_2.3.4-2_armhf.deb ...
Unpacking libtalloc2:armhf (2.3.4-2) ...
Selecting previously unselected package libtdb1:armhf.
Preparing to unpack .../428-libtdb1_1.4.7-2_armhf.deb ...
Unpacking libtdb1:armhf (1.4.7-2) ...
Selecting previously unselected package libtevent0:armhf.
Preparing to unpack .../429-libtevent0_0.13.0-2_armhf.deb ...
Unpacking libtevent0:armhf (0.13.0-2) ...
Selecting previously unselected package libldb2:armhf.
Preparing to unpack .../430-libldb2_2%3a2.6.1+samba4.17.4+dfsg-2_armhf.deb ...
Unpacking libldb2:armhf (2:2.6.1+samba4.17.4+dfsg-2) ...
Selecting previously unselected package liblirc-client0:armhf.
Preparing to unpack .../431-liblirc-client0_0.10.1-7.2_armhf.deb ...
Unpacking liblirc-client0:armhf (0.10.1-7.2) ...
Selecting previously unselected package libusb-0.1-4:armhf.
Preparing to unpack .../432-libusb-0.1-4_2%3a0.1.12-32_armhf.deb ...
Unpacking libusb-0.1-4:armhf (2:0.1.12-32) ...
Selecting previously unselected package liblirc0:armhf.
Preparing to unpack .../433-liblirc0_0.10.1-7.2_armhf.deb ...
Unpacking liblirc0:armhf (0.10.1-7.2) ...
Selecting previously unselected package liblirc-dev.
Preparing to unpack .../434-liblirc-dev_0.10.1-7.2_armhf.deb ...
Unpacking liblirc-dev (0.10.1-7.2) ...
Selecting previously unselected package libltdl7:armhf.
Preparing to unpack .../435-libltdl7_2.4.7-5_armhf.deb ...
Unpacking libltdl7:armhf (2.4.7-5) ...
Selecting previously unselected package libltdl-dev:armhf.
Preparing to unpack .../436-libltdl-dev_2.4.7-5_armhf.deb ...
Unpacking libltdl-dev:armhf (2.4.7-5) ...
Selecting previously unselected package liblzo2-2:armhf.
Preparing to unpack .../437-liblzo2-2_2.10-2_armhf.deb ...
Unpacking liblzo2-2:armhf (2.10-2) ...
Selecting previously unselected package liblzo2-dev:armhf.
Preparing to unpack .../438-liblzo2-dev_2.10-2_armhf.deb ...
Unpacking liblzo2-dev:armhf (2.10-2) ...
Selecting previously unselected package libmicrohttpd12:armhf.
Preparing to unpack .../439-libmicrohttpd12_0.9.75-4_armhf.deb ...
Unpacking libmicrohttpd12:armhf (0.9.75-4) ...
Selecting previously unselected package libmicrohttpd-dev:armhf.
Preparing to unpack .../440-libmicrohttpd-dev_0.9.75-4_armhf.deb ...
Unpacking libmicrohttpd-dev:armhf (0.9.75-4) ...
Selecting previously unselected package libnfs13:armhf.
Preparing to unpack .../441-libnfs13_4.0.0-1_armhf.deb ...
Unpacking libnfs13:armhf (4.0.0-1) ...
Selecting previously unselected package libnfs-dev:armhf.
Preparing to unpack .../442-libnfs-dev_4.0.0-1_armhf.deb ...
Unpacking libnfs-dev:armhf (4.0.0-1) ...
Selecting previously unselected package libpcre16-3:armhf.
Preparing to unpack .../443-libpcre16-3_2%3a8.39-15_armhf.deb ...
Unpacking libpcre16-3:armhf (2:8.39-15) ...
Preparing to unpack .../444-libpcre3_2%3a8.39-15_armhf.deb ...
Unpacking libpcre3:armhf (2:8.39-15) over (2:8.39-14) ...
Selecting previously unselected package libpcre32-3:armhf.
Preparing to unpack .../445-libpcre32-3_2%3a8.39-15_armhf.deb ...
Unpacking libpcre32-3:armhf (2:8.39-15) ...
Selecting previously unselected package libpcrecpp0v5:armhf.
Preparing to unpack .../446-libpcrecpp0v5_2%3a8.39-15_armhf.deb ...
Unpacking libpcrecpp0v5:armhf (2:8.39-15) ...
Selecting previously unselected package libpcre3-dev:armhf.
Preparing to unpack .../447-libpcre3-dev_2%3a8.39-15_armhf.deb ...
Unpacking libpcre3-dev:armhf (2:8.39-15) ...
Selecting previously unselected package libwebrtc-audio-processing1:armhf.
Preparing to unpack .../448-libwebrtc-audio-processing1_0.3-1_armhf.deb ...
Unpacking libwebrtc-audio-processing1:armhf (0.3-1) ...
Selecting previously unselected package libspa-0.2-modules:armhf.
Preparing to unpack .../449-libspa-0.2-modules_0.3.64-2_armhf.deb ...
Unpacking libspa-0.2-modules:armhf (0.3.64-2) ...
Selecting previously unselected package libpipewire-0.3-0:armhf.
Preparing to unpack .../450-libpipewire-0.3-0_0.3.64-2_armhf.deb ...
Unpacking libpipewire-0.3-0:armhf (0.3.64-2) ...
Selecting previously unselected package libspa-0.2-dev:armhf.
Preparing to unpack .../451-libspa-0.2-dev_0.3.64-2_armhf.deb ...
Unpacking libspa-0.2-dev:armhf (0.3.64-2) ...
Selecting previously unselected package libpipewire-0.3-dev:armhf.
Preparing to unpack .../452-libpipewire-0.3-dev_0.3.64-2_armhf.deb ...
Unpacking libpipewire-0.3-dev:armhf (0.3.64-2) ...
Selecting previously unselected package libplist3:armhf.
Preparing to unpack .../453-libplist3_2.2.0-6+b1_armhf.deb ...
Unpacking libplist3:armhf (2.2.0-6+b1) ...
Selecting previously unselected package libplist-dev:armhf.
Preparing to unpack .../454-libplist-dev_2.2.0-6+b1_armhf.deb ...
Unpacking libplist-dev:armhf (2.2.0-6+b1) ...
Selecting previously unselected package libpopt0:armhf.
Preparing to unpack .../455-libpopt0_1.19+dfsg-1_armhf.deb ...
Unpacking libpopt0:armhf (1.19+dfsg-1) ...
Selecting previously unselected package libpugixml1v5:armhf.
Preparing to unpack .../456-libpugixml1v5_1.13-0.2_armhf.deb ...
Unpacking libpugixml1v5:armhf (1.13-0.2) ...
Selecting previously unselected package libpulse-mainloop-glib0:armhf.
Preparing to unpack .../457-libpulse-mainloop-glib0_16.1+dfsg1-2+b1_armhf.deb ...
Unpacking libpulse-mainloop-glib0:armhf (16.1+dfsg1-2+b1) ...
Selecting previously unselected package libpulse-dev:armhf.
Preparing to unpack .../458-libpulse-dev_16.1+dfsg1-2+b1_armhf.deb ...
Unpacking libpulse-dev:armhf (16.1+dfsg1-2+b1) ...
Selecting previously unselected package libpython3.10-dev:armhf.
Preparing to unpack .../459-libpython3.10-dev_3.10.9-1_armhf.deb ...
Unpacking libpython3.10-dev:armhf (3.10.9-1) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../460-libpython3-dev_3.10.6-3_armhf.deb ...
Unpacking libpython3-dev:armhf (3.10.6-3) ...
Selecting previously unselected package librsvg2-bin.
Preparing to unpack .../461-librsvg2-bin_2.54.5+dfsg-1_armhf.deb ...
Unpacking librsvg2-bin (2.54.5+dfsg-1) ...
Selecting previously unselected package libset-scalar-perl.
Preparing to unpack .../462-libset-scalar-perl_1.29-3_all.deb ...
Unpacking libset-scalar-perl (1.29-3) ...
Selecting previously unselected package libshairplay0:armhf.
Preparing to unpack .../463-libshairplay0_0.9.0~git20180824.096b61a+dfsg1-3_armhf.deb ...
Unpacking libshairplay0:armhf (0.9.0~git20180824.096b61a+dfsg1-3) ...
Selecting previously unselected package libshairplay-dev:armhf.
Preparing to unpack .../464-libshairplay-dev_0.9.0~git20180824.096b61a+dfsg1-3_armhf.deb ...
Unpacking libshairplay-dev:armhf (0.9.0~git20180824.096b61a+dfsg1-3) ...
Selecting previously unselected package libsm6:armhf.
Preparing to unpack .../465-libsm6_2%3a1.2.3-1_armhf.deb ...
Unpacking libsm6:armhf (2:1.2.3-1) ...
Selecting previously unselected package libsm-dev:armhf.
Preparing to unpack .../466-libsm-dev_2%3a1.2.3-1_armhf.deb ...
Unpacking libsm-dev:armhf (2:1.2.3-1) ...
Selecting previously unselected package libwbclient0:armhf.
Preparing to unpack .../467-libwbclient0_2%3a4.17.4+dfsg-2_armhf.deb ...
Unpacking libwbclient0:armhf (2:4.17.4+dfsg-2) ...
Selecting previously unselected package samba-libs:armhf.
Preparing to unpack .../468-samba-libs_2%3a4.17.4+dfsg-2_armhf.deb ...
Unpacking samba-libs:armhf (2:4.17.4+dfsg-2) ...
Selecting previously unselected package libsmbclient:armhf.
Preparing to unpack .../469-libsmbclient_2%3a4.17.4+dfsg-2_armhf.deb ...
Unpacking libsmbclient:armhf (2:4.17.4+dfsg-2) ...
Selecting previously unselected package libsmbclient-dev:armhf.
Preparing to unpack .../470-libsmbclient-dev_2%3a4.17.4+dfsg-2_armhf.deb ...
Unpacking libsmbclient-dev:armhf (2:4.17.4+dfsg-2) ...
Selecting previously unselected package libsndio7.0:armhf.
Preparing to unpack .../471-libsndio7.0_1.9.0-0.3_armhf.deb ...
Unpacking libsndio7.0:armhf (1.9.0-0.3) ...
Selecting previously unselected package libsndio-dev:armhf.
Preparing to unpack .../472-libsndio-dev_1.9.0-0.3_armhf.deb ...
Unpacking libsndio-dev:armhf (1.9.0-0.3) ...
Selecting previously unselected package libspdlog1.10:armhf.
Preparing to unpack .../473-libspdlog1.10_1%3a1.10.0+ds-0.4_armhf.deb ...
Unpacking libspdlog1.10:armhf (1:1.10.0+ds-0.4) ...
Selecting previously unselected package libspdlog-dev:armhf.
Preparing to unpack .../474-libspdlog-dev_1%3a1.10.0+ds-0.4_armhf.deb ...
Unpacking libspdlog-dev:armhf (1:1.10.0+ds-0.4) ...
Selecting previously unselected package libsqlite3-dev:armhf.
Preparing to unpack .../475-libsqlite3-dev_3.40.1-1_armhf.deb ...
Unpacking libsqlite3-dev:armhf (3.40.1-1) ...
Selecting previously unselected package libtag1v5-vanilla:armhf.
Preparing to unpack .../476-libtag1v5-vanilla_1.13-1_armhf.deb ...
Unpacking libtag1v5-vanilla:armhf (1.13-1) ...
Selecting previously unselected package libtag1v5:armhf.
Preparing to unpack .../477-libtag1v5_1.13-1_armhf.deb ...
Unpacking libtag1v5:armhf (1.13-1) ...
Selecting previously unselected package libtag1-dev:armhf.
Preparing to unpack .../478-libtag1-dev_1.13-1_armhf.deb ...
Unpacking libtag1-dev:armhf (1.13-1) ...
Selecting previously unselected package libtinyxml2.6.2v5:armhf.
Preparing to unpack .../479-libtinyxml2.6.2v5_2.6.2-6_armhf.deb ...
Unpacking libtinyxml2.6.2v5:armhf (2.6.2-6) ...
Selecting previously unselected package libtinyxml-dev:armhf.
Preparing to unpack .../480-libtinyxml-dev_2.6.2-6_armhf.deb ...
Unpacking libtinyxml-dev:armhf (2.6.2-6) ...
Selecting previously unselected package libva-glx2:armhf.
Preparing to unpack .../481-libva-glx2_2.17.0-1_armhf.deb ...
Unpacking libva-glx2:armhf (2.17.0-1) ...
Selecting previously unselected package libva-wayland2:armhf.
Preparing to unpack .../482-libva-wayland2_2.17.0-1_armhf.deb ...
Unpacking libva-wayland2:armhf (2.17.0-1) ...
Selecting previously unselected package libwayland-cursor0:armhf.
Preparing to unpack .../483-libwayland-cursor0_1.21.0-1_armhf.deb ...
Unpacking libwayland-cursor0:armhf (1.21.0-1) ...
Selecting previously unselected package libwayland-egl1:armhf.
Preparing to unpack .../484-libwayland-egl1_1.21.0-1_armhf.deb ...
Unpacking libwayland-egl1:armhf (1.21.0-1) ...
Selecting previously unselected package libwayland-bin.
Preparing to unpack .../485-libwayland-bin_1.21.0-1_armhf.deb ...
Unpacking libwayland-bin (1.21.0-1) ...
Selecting previously unselected package libwayland-dev:armhf.
Preparing to unpack .../486-libwayland-dev_1.21.0-1_armhf.deb ...
Unpacking libwayland-dev:armhf (1.21.0-1) ...
Selecting previously unselected package libva-dev:armhf.
Preparing to unpack .../487-libva-dev_2.17.0-1_armhf.deb ...
Unpacking libva-dev:armhf (2.17.0-1) ...
Selecting previously unselected package libvdpau-dev:armhf.
Preparing to unpack .../488-libvdpau-dev_1.5-2_armhf.deb ...
Unpacking libvdpau-dev:armhf (1.5-2) ...
Selecting previously unselected package libwayland-client++1:armhf.
Preparing to unpack .../489-libwayland-client++1_1.0.0-3_armhf.deb ...
Unpacking libwayland-client++1:armhf (1.0.0-3) ...
Selecting previously unselected package libwayland-client-extra++1:armhf.
Preparing to unpack .../490-libwayland-client-extra++1_1.0.0-3_armhf.deb ...
Unpacking libwayland-client-extra++1:armhf (1.0.0-3) ...
Selecting previously unselected package libwayland-cursor++1:armhf.
Preparing to unpack .../491-libwayland-cursor++1_1.0.0-3_armhf.deb ...
Unpacking libwayland-cursor++1:armhf (1.0.0-3) ...
Selecting previously unselected package libwayland-egl++1:armhf.
Preparing to unpack .../492-libwayland-egl++1_1.0.0-3_armhf.deb ...
Unpacking libwayland-egl++1:armhf (1.0.0-3) ...
Selecting previously unselected package libwayland-server++1:armhf.
Preparing to unpack .../493-libwayland-server++1_1.0.0-3_armhf.deb ...
Unpacking libwayland-server++1:armhf (1.0.0-3) ...
Selecting previously unselected package libxext-dev:armhf.
Preparing to unpack .../494-libxext-dev_2%3a1.3.4-1_armhf.deb ...
Unpacking libxext-dev:armhf (2:1.3.4-1) ...
Selecting previously unselected package xkb-data.
Preparing to unpack .../495-xkb-data_2.35.1-1_all.deb ...
Unpacking xkb-data (2.35.1-1) ...
Selecting previously unselected package libxkbcommon0:armhf.
Preparing to unpack .../496-libxkbcommon0_1.5.0-1_armhf.deb ...
Unpacking libxkbcommon0:armhf (1.5.0-1) ...
Selecting previously unselected package libxkbcommon-dev:armhf.
Preparing to unpack .../497-libxkbcommon-dev_1.5.0-1_armhf.deb ...
Unpacking libxkbcommon-dev:armhf (1.5.0-1) ...
Selecting previously unselected package libxrender-dev:armhf.
Preparing to unpack .../498-libxrender-dev_1%3a0.9.10-1.1_armhf.deb ...
Unpacking libxrender-dev:armhf (1:0.9.10-1.1) ...
Selecting previously unselected package libxrandr-dev:armhf.
Preparing to unpack .../499-libxrandr-dev_2%3a1.5.2-2_armhf.deb ...
Unpacking libxrandr-dev:armhf (2:1.5.2-2) ...
Selecting previously unselected package libxslt1.1:armhf.
Preparing to unpack .../500-libxslt1.1_1.1.35-1_armhf.deb ...
Unpacking libxslt1.1:armhf (1.1.35-1) ...
Selecting previously unselected package libxslt1-dev:armhf.
Preparing to unpack .../501-libxslt1-dev_1.1.35-1_armhf.deb ...
Unpacking libxslt1-dev:armhf (1.1.35-1) ...
Selecting previously unselected package libxt6:armhf.
Preparing to unpack .../502-libxt6_1%3a1.2.1-1_armhf.deb ...
Unpacking libxt6:armhf (1:1.2.1-1) ...
Selecting previously unselected package libxt-dev:armhf.
Preparing to unpack .../503-libxt-dev_1%3a1.2.1-1_armhf.deb ...
Unpacking libxt-dev:armhf (1:1.2.1-1) ...
Selecting previously unselected package python3.10-dev.
Preparing to unpack .../504-python3.10-dev_3.10.9-1_armhf.deb ...
Unpacking python3.10-dev (3.10.9-1) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../505-python3-dev_3.10.6-3_armhf.deb ...
Unpacking python3-dev (3.10.6-3) ...
Selecting previously unselected package rapidjson-dev.
Preparing to unpack .../506-rapidjson-dev_1.1.0+dfsg2-7.1_all.deb ...
Unpacking rapidjson-dev (1.1.0+dfsg2-7.1) ...
Selecting previously unselected package swig4.0.
Preparing to unpack .../507-swig4.0_4.1.0-0.2_armhf.deb ...
Unpacking swig4.0 (4.1.0-0.2) ...
Selecting previously unselected package swig.
Preparing to unpack .../508-swig_4.1.0-0.2_all.deb ...
Unpacking swig (4.1.0-0.2) ...
Selecting previously unselected package unzip.
Preparing to unpack .../509-unzip_6.0-27_armhf.deb ...
Unpacking unzip (6.0-27) ...
Selecting previously unselected package wayland-protocols.
Preparing to unpack .../510-wayland-protocols_1.31-1_all.deb ...
Unpacking wayland-protocols (1.31-1) ...
Selecting previously unselected package wayland-scanner++.
Preparing to unpack .../511-wayland-scanner++_1.0.0-3_armhf.deb ...
Unpacking wayland-scanner++ (1.0.0-3) ...
Selecting previously unselected package waylandpp-dev:armhf.
Preparing to unpack .../512-waylandpp-dev_1.0.0-3_armhf.deb ...
Unpacking waylandpp-dev:armhf (1.0.0-3) ...
Selecting previously unselected package zip.
Preparing to unpack .../513-zip_3.0-12_armhf.deb ...
Unpacking zip (3.0-12) ...
Selecting previously unselected package sbuild-build-depends-kodi-dummy.
Preparing to unpack .../514-sbuild-build-depends-kodi-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-kodi-dummy (0.invalid.0) ...
Setting up libgme0:armhf (0.6.3-5) ...
Setting up libssh-gcrypt-4:armhf (0.10.4-2) ...
Setting up media-types (8.0.0) ...
Setting up libpipeline1:armhf (1.5.7-1) ...
Setting up libgraphite2-3:armhf (1.3.14-1) ...
Setting up liblcms2-2:armhf (2.14-1+b1) ...
Setting up libpixman-1-0:armhf (0.42.2-1) ...
Setting up libudfread0:armhf (1.1.2-1) ...
Setting up libwayland-server0:armhf (1.21.0-1) ...
Setting up catch2 (2.13.10-1) ...
Setting up libaom3:armhf (3.5.0-1) ...
Setting up libpciaccess0:armhf (0.17-2) ...
Setting up mysql-common (5.8+1.0.8) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up librabbitmq4:armhf (0.11.0-1+b1) ...
Setting up libxau6:armhf (1:1.0.9-1) ...
Setting up libpsl5:armhf (0.21.0-1.2) ...
Setting up cpp-12 (12.2.0-14+rpi1) ...
Setting up libtag1v5-vanilla:armhf (1.13-1) ...
Setting up libqdox-java (1.12.1-3) ...
Setting up libgnutls-openssl27:armhf (3.7.8-4) ...
Setting up libcodec2-1.0:armhf (1.0.5-1) ...
Setting up libsodium23:armhf (1.0.18-1) ...
Setting up libicu72:armhf (72.1-3) ...
Setting up libmpg123-0:armhf (1.31.1-1) ...
Setting up libpciaccess-dev:armhf (0.17-2) ...
Setting up libogg0:armhf (1.3.5-3) ...
Setting up liblerc4:armhf (4.0.0+ds-2) ...
Setting up libspeex1:armhf (1.2.1-1) ...
Setting up libshine3:armhf (3.1.1-2+b1) ...
Setting up bsdextrautils (2.38.1-4) ...
Setting up libglvnd-core-dev:armhf (1.6.0-1) ...
Setting up libplist3:armhf (2.2.0-6+b1) ...
Setting up libpcre16-3:armhf (2:8.39-15) ...
Setting up hicolor-icon-theme (0.17-2) ...
Setting up libx264-164:armhf (2:0.164.3095+gitbaee400-2+rpi1+b4) ...
Setting up libtwolame0:armhf (0.4.0-2) ...
Setting up java-common (0.74) ...
Setting up libdatrie1:armhf (0.2.13-2+b2) ...
Setting up libcommons-cli-java (1.5.0-1) ...
Setting up libmagic-mgc (1:5.44-2) ...
Setting up libgsm1:armhf (1.0.22-1) ...
Setting up gawk (1:5.1.0-1) ...
Setting up libspiro1:armhf (1:20221101-1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libcrossguid0:armhf (0.0+git200150803-6) ...
Setting up libglib2.0-0:armhf (2.74.4-1) ...
No schema files found: doing nothing.
Setting up libglvnd0:armhf (1.6.0-1) ...
Setting up libtdb1:armhf (1.4.7-2) ...
Setting up libpgm-5.3-0:armhf (5.3.128~dfsg-2) ...
Setting up unzip (6.0-27) ...
Setting up libdebhelper-perl (13.11.4) ...
Setting up libbrotli1:armhf (1.0.9-2+b2) ...
Setting up libgdk-pixbuf2.0-common (2.42.10+dfsg-1) ...
Setting up libnorm1:armhf (1.5.9+dfsg-2) ...
Setting up libasm-java (9.4-1) ...
Setting up libmysofa1:armhf (1.3.1~dfsg0-1) ...
Setting up binutils-common:armhf (2.39.90.20221231-1+rpi1) ...
Setting up x11-common (1:7.7+23) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: WARNING: No init system and policy-rc.d missing! Defaulting to block.
Setting up libsensors-config (1:3.6.0-7.1) ...
Setting up libnghttp2-14:armhf (1.51.0-1) ...
Setting up libmagic1:armhf (1:5.44-2) ...
Setting up libdeflate0:armhf (1.14-1) ...
Setting up libwebrtc-audio-processing1:armhf (0.3-1) ...
Setting up libctf-nobfd0:armhf (2.39.90.20221231-1+rpi1) ...
Setting up gettext-base (0.21-10) ...
Setting up m4 (1.4.19-2) ...
Setting up xkb-data (2.35.1-1) ...
Setting up liblzo2-2:armhf (2.10-2) ...
Setting up fontforge-common (1:20220308~dfsg-1+rpi1) ...
Setting up file (1:5.44-2) ...
Setting up libsvtav1enc1:armhf (1.4.1+dfsg-1) ...
Setting up libnfs13:armhf (4.0.0-1) ...
Setting up libgomp1:armhf (12.2.0-14+rpi1) ...
Setting up libcdio19:armhf (2.1.0-4) ...
Setting up libcjson1:armhf (1.7.15-1) ...
Setting up libxvidcore4:armhf (2:1.3.7-1) ...
Setting up libkissfft-float131:armhf (131.1.0-3) ...
Setting up libffi-dev:armhf (3.4.4-1) ...
Setting up googletest (1.12.1-0.2) ...
Setting up gperf (3.1-1) ...
Setting up libpthread-stubs0-dev:armhf (0.4-1) ...
Setting up libjbig0:armhf (2.1-6.1) ...
Setting up libmicrohttpd12:armhf (0.9.75-4) ...
Setting up librav1e0:armhf (0.5.1-6) ...
Setting up libpcre2-16-0:armhf (10.40-3) ...
Setting up libpugixml1v5:armhf (1.13-0.2) ...
Setting up libopengl0:armhf (1.6.0-1) ...
Setting up rapidjson-dev (1.1.0+dfsg2-7.1) ...
Setting up libusb-0.1-4:armhf (2:0.1.12-32) ...
Setting up libsnappy1v5:armhf (1.1.9-2) ...
Setting up libcap2-bin (1:2.66-3) ...
Setting up libtalloc2:armhf (2.3.4-2) ...
Setting up mariadb-common (1:10.6.11-2+rpi1) ...
update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up libp8-platform2:armhf (2.1.0.1+dfsg1-4) ...
Setting up libasound2-data (1.2.8-1) ...
Setting up xtrans-dev (1.4.0-1) ...
Setting up libpcre3:armhf (2:8.39-15) ...
Setting up libgraphite2-dev:armhf (1.3.14-1) ...
Setting up zip (3.0-12) ...
Setting up autotools-dev (20220109.1) ...
Setting up libz3-4:armhf (4.8.12-3) ...
Setting up libpcre2-32-0:armhf (10.40-3) ...
Setting up libblas3:armhf (3.11.0-2) ...
update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode
Setting up libbsf-java (1:2.4.0-8) ...
Setting up libglib2.0-data (2.74.4-1) ...
Setting up libpkgconf3:armhf (1.8.0-12) ...
Setting up libgmpxx4ldbl:armhf (2:6.2.1+dfsg1-1.1) ...
Setting up libuv1:armhf (1.44.2-1+rpi1) ...
Setting up libflac12:armhf (1.4.2+ds-2) ...
Setting up libgles2:armhf (1.6.0-1) ...
Setting up libexpat1-dev:armhf (2.5.0-1) ...
Setting up libjpeg62-turbo:armhf (1:2.1.2-1) ...
Setting up libtevent0:armhf (0.13.0-2) ...
Setting up libva2:armhf (2.17.0-1) ...
Setting up libsqlite3-dev:armhf (3.40.1-1) ...
Setting up libcdio++1:armhf (2.1.0-4) ...
Setting up libmbedcrypto7:armhf (2.28.2-1) ...
Setting up libflatbuffers2:armhf (2.0.8+dfsg1-2) ...
Setting up libx11-data (2:1.8.3-3) ...
Setting up libgpg-error-dev (1.46-1) ...
Setting up libjpeg62-turbo-dev:armhf (1:2.1.2-1) ...
Setting up libepoxy0:armhf (1.5.10-1) ...
Setting up libnspr4:armhf (2:4.35-1) ...
Setting up librtmp1:armhf (2.4+20151223.gitfa8646d.1-2+b2) ...
Setting up wayland-scanner++ (1.0.0-3) ...
Setting up libgnutlsxx30:armhf (3.7.8-4) ...
Setting up uuid-dev:armhf (2.38.1-4) ...
Setting up libjansi-java (2.4.0-2) ...
Setting up libapache-pom-java (29-2) ...
Setting up libavahi-common-data:armhf (0.8-7) ...
Setting up libxpp3-java (1.1.4c-3) ...
Setting up liblirc-client0:armhf (0.10.1-7.2) ...
Setting up libgles1:armhf (1.6.0-1) ...
Setting up libdbus-1-3:armhf (1.14.4-1) ...
Setting up libfribidi0:armhf (1.0.8-2.1) ...
Setting up libopus0:armhf (1.3.1-2) ...
Setting up libwayland-client-extra++1:armhf (1.0.0-3) ...
Setting up libproc2-0:armhf (2:4.0.2-3) ...
Setting up libssl-dev:armhf (3.0.7-2) ...
Setting up libpng16-16:armhf (1.6.39-2) ...
Setting up libpcre32-3:armhf (2:8.39-15) ...
Setting up libvorbis0a:armhf (1.3.7-1) ...
Setting up libevent-2.1-7:armhf (2.1.12-stable-5+b1) ...
Setting up autopoint (0.21-10) ...
Setting up libjsoncpp25:armhf (1.9.5-4) ...
Setting up icu-devtools (72.1-3) ...
Setting up libmariadb3:armhf (1:10.6.11-2+rpi1) ...
Setting up fonts-dejavu-core (2.37-2) ...
Setting up libudev-dev:armhf (252.4-1+rpi1) ...
Setting up libsepol-dev:armhf (3.4-2) ...
Setting up libpcsclite1:armhf (1.9.9-1) ...
Setting up pkgconf-bin (1.8.0-12) ...
Setting up libsensors5:armhf (1:3.6.0-7.1) ...
Setting up libtinyxml2.6.2v5:armhf (2.6.2-6) ...
Setting up libplist-dev:armhf (2.2.0-6+b1) ...
Setting up libdav1d6:armhf (1.0.0-2+rpi1) ...
Setting up libltdl7:armhf (2.4.7-5) ...
Setting up libidn2-dev:armhf (2.3.3-1) ...
Setting up libhamcrest-java (2.2-1) ...
Setting up libglapi-mesa:armhf (22.2.0-1+rpi1) ...
Setting up libgfortran5:armhf (12.2.0-14+rpi1) ...
Setting up libmtdev1:armhf (1.1.6-1) ...
Setting up libvulkan1:armhf (1.3.231.1-1) ...
Setting up autoconf (2.71-3) ...
Setting up libx265-199:armhf (3.5-2) ...
Setting up libwebp7:armhf (1.2.2-2+b2) ...
Setting up librubberband2:armhf (3.1.2+dfsg0-1) ...
Setting up libfmt9:armhf (9.1.0+ds1-2) ...
Setting up libset-scalar-perl (1.29-3) ...
Setting up liblcms2-dev:armhf (2.14-1+b1) ...
Setting up liblzo2-dev:armhf (2.10-2) ...
Setting up libubsan1:armhf (12.2.0-14+rpi1) ...
Setting up libgif7:armhf (5.2.1-2.5) ...
Setting up zlib1g-dev:armhf (1:1.2.13.dfsg-1) ...
Setting up libpcre2-posix3:armhf (10.40-3) ...
Setting up libvidstab1.1:armhf (1.1.0-2) ...
Setting up libsrt1.5-gnutls:armhf (1.5.1-1) ...
Setting up libmd0:armhf (1.0.4-2) ...
Setting up wayland-protocols (1.31-1) ...
Setting up libtag1v5:armhf (1.13-1) ...
Setting up ocl-icd-libopencl1:armhf (2.3.1-1) ...
Setting up libgif-dev:armhf (5.2.1-2.5) ...
Setting up libasyncns0:armhf (0.8-6+b3) ...
Setting up libxshmfence1:armhf (1.3-1) ...
Setting up at-spi2-common (2.46.0-4) ...
Setting up libbluetooth3:armhf (5.66-1) ...
Setting up librhash0:armhf (1.4.3-3) ...
Setting up libtiff6:armhf (4.5.0-3) ...
Setting up libbs2b0:armhf (3.1.0+dfsg-7) ...
Setting up xml-core (0.18+nmu1) ...
Setting up libasan8:armhf (12.2.0-14+rpi1) ...
Setting up libuchardet0:armhf (0.0.7-1) ...
Setting up flatbuffers-compiler (2.0.8+dfsg1-2) ...
Setting up procps (2:4.0.2-3) ...
Setting up libasound2:armhf (1.2.8-1) ...
Setting up libservlet-api-java (4.0.1-2) ...
Setting up libudfread-dev:armhf (1.1.2-1) ...
Setting up libmpdec3:armhf (2.5.1-2+rpi1) ...
Setting up libzimg2:armhf (3.0.4+ds1-1) ...
Setting up libdate-tz3:armhf (3.0.1+ds-5) ...
Setting up libopenjp2-7:armhf (2.5.0-1+b1) ...
Setting up libsub-override-perl (0.09-4) ...
Setting up libthai-data (0.1.29-1) ...
Setting up libgirepository-1.0-1:armhf (1.74.0-2) ...
Setting up libssh2-1:armhf (1.10.0-3+b1) ...
Setting up xorg-sgml-doctools (1:1.11-1.1) ...
Setting up libvpx7:armhf (1.12.0-1) ...
Setting up libgtk2.0-common (2.24.33-2) ...
Setting up cmake-data (3.25.1-1) ...
Setting up libatk1.0-0:armhf (2.46.0-4) ...
Setting up libglu1-mesa:armhf (9.0.2-1.1) ...
Setting up fonts-droid-fallback (1:6.0.1r16-1.1) ...
Setting up libwayland-egl1:armhf (1.21.0-1) ...
Setting up libcrossguid-dev:armhf (0.0+git200150803-6) ...
Setting up libopengl-dev:armhf (1.6.0-1) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up libwayland-egl++1:armhf (1.0.0-3) ...
Setting up libbinutils:armhf (2.39.90.20221231-1+rpi1) ...
Setting up swig4.0 (4.1.0-0.2) ...
Setting up libspa-0.2-dev:armhf (0.3.64-2) ...
Setting up libnfs-dev:armhf (4.0.0-1) ...
Setting up libasound2-dev:armhf (1.2.8-1) ...
Setting up libantlr-java (2.7.7+dfsg-12) ...
Setting up libshairplay0:armhf (0.9.0~git20180824.096b61a+dfsg1-3) ...
Setting up libldb2:armhf (2:2.6.1+samba4.17.4+dfsg-2) ...
Setting up libtasn1-6-dev:armhf (4.19.0-2) ...
Setting up openssl (3.0.7-2) ...
Setting up libwebpmux3:armhf (1.2.2-2+b2) ...
Setting up libbsd0:armhf (0.11.7-1) ...
Setting up libfstrcmp0 (0.7.D001-3) ...
Setting up libcap-dev:armhf (1:2.66-3) ...
Setting up libdrm-common (2.4.114-1+rpi1) ...
Setting up libelf1:armhf (0.187-2+rpi2) ...
Setting up libpam-cap:armhf (1:2.66-3) ...
Installing new version of config file /etc/security/capability.conf ...
Setting up libcdio-dev (2.1.0-4) ...
Setting up libevdev2:armhf (1.13.0+dfsg-1+rpi1) ...
Setting up libicu-dev:armhf (72.1-3) ...
Setting up libhawtjni-runtime-java (1.18-1) ...
Setting up libxml2:armhf (2.9.14+dfsg-1.1) ...
Setting up libcc1-0:armhf (12.2.0-14+rpi1) ...
Setting up libbrotli-dev:armhf (1.0.9-2+b2) ...
Setting up libgudev-1.0-0:armhf (237-2) ...
Setting up libzvbi-common (0.2.39-2) ...
Setting up libp11-kit-dev:armhf (0.24.1-2) ...
Setting up libmp3lame0:armhf (3.100-6) ...
Setting up libvorbisenc2:armhf (1.3.7-1) ...
Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
Setting up libpopt0:armhf (1.19+dfsg-1) ...
Setting up libserd-0-0:armhf (0.30.16-1) ...
Setting up libwacom-common (2.5.0-1) ...
Setting up libwayland-server++1:armhf (1.0.0-3) ...
Setting up libxkbcommon0:armhf (1.5.0-1) ...
Setting up libwayland-client0:armhf (1.21.0-1) ...
Setting up libctf0:armhf (2.39.90.20221231-1+rpi1) ...
Setting up libspdlog1.10:armhf (1:1.10.0+ds-0.4) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up libpcrecpp0v5:armhf (2:8.39-15) ...
Setting up libfile-stripnondeterminism-perl (1.13.1-1) ...
Setting up libzvbi0:armhf (0.2.39-2) ...
Setting up libblkid-dev:armhf (2.38.1-4) ...
Setting up libice6:armhf (2:1.0.10-1) ...
Setting up libcwiid1 (0.6.91-4) ...
Setting up libxstream-java (1.4.20-1) ...
Setting up libxdmcp6:armhf (1:1.1.2-3) ...
Setting up libwayland-client++1:armhf (1.0.0-3) ...
Setting up liblapack3:armhf (3.11.0-2) ...
update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode
Setting up libxcb1:armhf (1.15-1) ...
Setting up gettext (0.21-10) ...
Setting up swig (4.1.0-0.2) ...
Setting up libgmp-dev:armhf (2:6.2.1+dfsg1-1.1) ...
Setting up libxcb-xfixes0:armhf (1.15-1) ...
Setting up libplacebo208:armhf (4.208.0-3) ...
Setting up libzmq5:armhf (4.3.4-6) ...
Setting up libgtest-dev:armhf (1.12.1-0.2) ...
Setting up libkissfft-dev:armhf (131.1.0-3) ...
Setting up libpcre2-dev:armhf (10.40-3) ...
Setting up liblirc0:armhf (0.10.1-7.2) ...
Setting up libiso9660-11:armhf (2.1.0-4) ...
Setting up nettle-dev:armhf (3.8.1-2) ...
Setting up libwoff1:armhf (1.0.2-2) ...
Setting up libevdev-dev:armhf (1.13.0+dfsg-1+rpi1) ...
Setting up libtool (2.4.7-5) ...
Setting up libarchive13:armhf (3.6.2-1) ...
Setting up libxcb-render0:armhf (1.15-1) ...
Setting up libsoxr0:armhf (0.1.3-4+rpi1) ...
Setting up libwacom9:armhf (2.5.0-1) ...
Setting up libselinux1-dev:armhf (3.4-1+b1) ...
Setting up libpcre3-dev:armhf (2:8.39-15) ...
Setting up libmtdev-dev:armhf (1.1.6-1) ...
Setting up libtinyxml-dev:armhf (2.6.2-6) ...
Setting up fontconfig-config (2.14.1-3) ...
Setting up libhowardhinnant-date-dev:armhf (3.0.1+ds-5) ...
Setting up libfribidi-dev:armhf (1.0.8-2.1) ...
Setting up libxcb-glx0:armhf (1.15-1) ...
Setting up libxkbcommon-dev:armhf (1.5.0-1) ...
Setting up libedit2:armhf (3.1-20221030-2) ...
Setting up libpng-dev:armhf (1.6.39-2) ...
Setting up libcommons-parent-java (56-1) ...
Setting up liblirc-dev (0.10.1-7.2) ...
Setting up libavahi-common3:armhf (0.8-7) ...
Setting up libjpeg-dev:armhf (1:2.1.2-1) ...
Setting up libcommons-logging-java (1.2-3) ...
Setting up libglib2.0-bin (2.74.4-1) ...
Setting up libshairplay-dev:armhf (0.9.0~git20180824.096b61a+dfsg1-3) ...
Setting up libcurl3-gnutls:armhf (7.87.0-2) ...
Setting up libnss3:armhf (2:3.87-1) ...
Setting up libxcb-shm0:armhf (1.15-1) ...
Setting up libcurl4-gnutls-dev:armhf (7.87.0-2) ...
Setting up libcdio++-dev:armhf (2.1.0-4) ...
Setting up libcommons-lang-java (2.6-10) ...
Setting up libwbclient0:armhf (2:4.17.4+dfsg-2) ...
Setting up pkgconf:armhf (1.8.0-12) ...
Setting up libinput-bin (1.22.0-1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up librist4:armhf (0.2.7+dfsg-1) ...
Setting up libxcb-present0:armhf (1.15-1) ...
Setting up libpython3.10-stdlib:armhf (3.10.9-1) ...
Setting up dh-autoreconf (20) ...
Setting up libltdl-dev:armhf (2.4.7-5) ...
Setting up libthai0:armhf (0.1.29-1) ...
Setting up ca-certificates (20211016) ...
Updating certificates in /etc/ssl/certs...
127 added, 0 removed; done.
Setting up libvorbisfile3:armhf (1.3.7-1) ...
Setting up libwayland-bin (1.21.0-1) ...
Setting up libxml2-dev:armhf (2.9.14+dfsg-1.1) ...
Setting up libunbound8:armhf (1.17.0-1) ...
Setting up libgcrypt20-dev (1.10.1-3) ...
Setting up libfreetype6:armhf (2.12.1+dfsg-4) ...
Setting up libspa-0.2-modules:armhf (0.3.64-2) ...
Setting up libxcb-sync1:armhf (1.15-1) ...
Setting up libtag1-dev:armhf (1.13-1) ...
Setting up libiso9660++0:armhf (2.1.0-4) ...
Setting up flatbuffers-compiler-dev:armhf (2.0.8+dfsg1-2) ...
Setting up libiso9660-dev:armhf (2.1.0-4) ...
Setting up libdav1d-dev:armhf (1.0.0-2+rpi1) ...
Setting up libgcc-12-dev:armhf (12.2.0-14+rpi1) ...
Setting up libpipewire-0.3-0:armhf (0.3.64-2) ...
Setting up shared-mime-info (2.2-1) ...
Setting up libbluetooth-dev:armhf (5.66-1) ...
Setting up libfmt-dev:armhf (9.1.0+ds1-2) ...
Setting up pkg-config:armhf (1.8.0-12) ...
Setting up gir1.2-glib-2.0:armhf (1.74.0-2) ...
Setting up libjs-sphinxdoc (5.3.0-3) ...
Setting up libmariadb-dev (1:10.6.11-2+rpi1) ...
Setting up libsndio7.0:armhf (1.9.0-0.3) ...
Setting up libxcb-dri2-0:armhf (1.15-1) ...
Setting up dh-strip-nondeterminism (1.13.1-1) ...
Setting up libllvm14:armhf (1:14.0.6-10+rpi1) ...
Setting up libpipewire-0.3-dev:armhf (0.3.64-2) ...
Setting up libfstrcmp-dev (0.7.D001-3) ...
Setting up libdrm2:armhf (2.4.114-1+rpi1) ...
Setting up dwz (0.15-1) ...
Setting up libjansi-native-java (1.8-1) ...
Setting up libflite1:armhf (2.2-5) ...
Setting up libva-drm2:armhf (2.17.0-1) ...
Setting up groff-base (1.22.4-9) ...
Setting up libsord-0-0:armhf (0.16.14+git221008-1) ...
Setting up libwayland-cursor0:armhf (1.21.0-1) ...
Setting up libavahi-common-dev:armhf (0.8-7) ...
Setting up libsratom-0-0:armhf (0.6.14-1) ...
Setting up libxslt1.1:armhf (1.1.35-1) ...
Setting up libjansi1-java (1.18-3) ...
Setting up libcurl4:armhf (7.87.0-2) ...
Setting up libx11-6:armhf (2:1.8.3-3) ...
Setting up libharfbuzz0b:armhf (6.0.0-1) ...
Setting up libgdk-pixbuf-2.0-0:armhf (2.42.10+dfsg-1+b1) ...
Setting up curl (7.87.0-2) ...
Setting up libsndfile1:armhf (1.2.0-1) ...
Setting up libdrm-omap1:armhf (2.4.114-1+rpi1) ...
Setting up libiso9660++-dev:armhf (2.1.0-4) ...
Setting up binutils-arm-linux-gnueabihf (2.39.90.20221231-1+rpi1) ...
Setting up libjline2-java (2.14.6-5) ...
Setting up libxcomposite1:armhf (1:0.4.5-1) ...
Setting up libsm6:armhf (2:1.2.3-1) ...
Setting up liblilv-0-0:armhf (0.24.14-1) ...
Setting up libopenmpt0:armhf (0.6.7-1) ...
Setting up libavahi-client3:armhf (0.8-7) ...
Setting up libmount-dev:armhf (2.38.1-4) ...
Setting up libdrm-exynos1:armhf (2.4.114-1+rpi1) ...
Setting up libpython3-stdlib:armhf (3.10.6-3) ...
Setting up libdrm-amdgpu1:armhf (2.4.114-1+rpi1) ...
Setting up libmariadb-dev-compat:armhf (1:10.6.11-2+rpi1) ...
Setting up libxcb-dri3-0:armhf (1.15-1) ...
Setting up libinput10:armhf (1.22.0-1) ...
Setting up gtk-update-icon-cache (3.24.36-1) ...
Setting up libx11-xcb1:armhf (2:1.8.3-3) ...
Setting up libpython3.10:armhf (3.10.9-1) ...
Setting up libgnutls-dane0:armhf (3.7.8-4) ...
Setting up libcwiid-dev (0.6.91-4) ...
Setting up libdrm-nouveau2:armhf (2.4.114-1+rpi1) ...
Setting up gir1.2-freedesktop:armhf (1.74.0-2) ...
Setting up libsndio-dev:armhf (1.9.0-0.3) ...
Setting up libharfbuzz-icu0:armhf (6.0.0-1) ...
Setting up libflatbuffers-dev:armhf (2.0.8+dfsg1-2) ...
Setting up libxdamage1:armhf (1:1.1.6-1) ...
Setting up libdrm-etnaviv1:armhf (2.4.114-1+rpi1) ...
Setting up python3.10 (3.10.9-1) ...
Setting up libxslt1-dev:armhf (1.1.35-1) ...
Setting up libxrender1:armhf (1:0.9.10-1.1) ...
Setting up libstdc++-12-dev:armhf (12.2.0-14+rpi1) ...
Setting up libgbm1:armhf (22.2.0-1+rpi1) ...
Setting up libpulse0:armhf (16.1+dfsg1-2+b1) ...
Setting up libdrm-radeon1:armhf (2.4.114-1+rpi1) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libgl1-mesa-dri:armhf (22.2.0-1+rpi1) ...
Setting up libxext6:armhf (2:1.3.4-1) ...
Setting up libclang1-14 (1:14.0.6-10+rpi1) ...
Setting up samba-libs:armhf (2:4.17.4+dfsg-2) ...
Setting up python3 (3.10.6-3) ...
Setting up libharfbuzz-gobject0:armhf (6.0.0-1) ...
Setting up binutils (2.39.90.20221231-1+rpi1) ...
Setting up libwayland-cursor++1:armhf (1.0.0-3) ...
Setting up libfontforge4:armhf (1:20220308~dfsg-1+rpi1+b1) ...
Setting up libspdlog-dev:armhf (1:1.10.0+ds-0.4) ...
Setting up man-db (2.11.2-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libwayland-dev:armhf (1.21.0-1) ...
Setting up gir1.2-harfbuzz-0.0:armhf (6.0.0-1) ...
Setting up libgbm-dev:armhf (22.2.0-1+rpi1) ...
Setting up libxxf86vm1:armhf (1:1.1.4-1+b2) ...
Setting up libfreetype-dev:armhf (2.12.1+dfsg-4) ...
Setting up libegl-mesa0:armhf (22.2.0-1+rpi1) ...
Setting up adwaita-icon-theme (43-1) ...
update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode
Setting up gcc-12 (12.2.0-14+rpi1) ...
Setting up libxfixes3:armhf (1:6.0.0-2) ...
Setting up libpulse-mainloop-glib0:armhf (16.1+dfsg1-2+b1) ...
Setting up gir1.2-gudev-1.0:armhf (237-2) ...
Setting up libxinerama1:armhf (2:1.1.4-3) ...
Setting up libxrandr2:armhf (2:1.5.2-2) ...
Setting up libdrm-freedreno1:armhf (2.4.114-1+rpi1) ...
Setting up libpython3.10-dev:armhf (3.10.9-1) ...
Setting up libclang-cpp14 (1:14.0.6-10+rpi1) ...
Setting up libxt6:armhf (1:1.2.1-1) ...
Setting up libdrm-tegra0:armhf (2.4.114-1+rpi1) ...
Setting up libsmbclient:armhf (2:4.17.4+dfsg-2) ...
Setting up libsmbclient-dev:armhf (2:4.17.4+dfsg-2) ...
Setting up libva-wayland2:armhf (2.17.0-1) ...
Setting up libcups2:armhf (2.4.2-1+b1) ...
Setting up waylandpp-dev:armhf (1.0.0-3) ...
Setting up python3.10-dev (3.10.9-1) ...
Setting up libcec6:armhf (6.0.2-4) ...
Setting up libvdpau1:armhf (1.5-2) ...
Setting up libegl1:armhf (1.6.0-1) ...
Setting up cmake (3.25.1-1) ...
Setting up libva-x11-2:armhf (2.17.0-1) ...
Setting up python3-lib2to3 (3.10.8-1) ...
Setting up g++-12 (12.2.0-14+rpi1) ...
Setting up default-libmysqlclient-dev:armhf (1.0.8) ...
Setting up python3-distutils (3.10.8-1) ...
Setting up dh-python (5.20220819+rpi1) ...
Setting up libgnutls28-dev:armhf (3.7.8-4) ...
Setting up libglib2.0-dev-bin (2.74.4-1) ...
Setting up fontforge-nox (1:20220308~dfsg-1+rpi1+b1) ...
Setting up libdrm-dev:armhf (2.4.114-1+rpi1) ...
Setting up libglx-mesa0:armhf (22.2.0-1+rpi1) ...
Setting up libpython3-dev:armhf (3.10.6-3) ...
Setting up libxi6:armhf (2:1.8-1) ...
Setting up libglx0:armhf (1.6.0-1) ...
Setting up libsphinxbase3:armhf (0.8+5prealpha+1-15+rpi1) ...
Setting up libxtst6:armhf (2:1.2.3-1.1) ...
Setting up libxcursor1:armhf (1:1.2.1-1) ...
Setting up debhelper (13.11.4) ...
Setting up libcec-dev:armhf (6.0.2-4) ...
Setting up libpocketsphinx3:armhf (0.8+5prealpha+1-15) ...
Setting up libavutil57:armhf (7:5.1.2-1) ...
Setting up doxygen (1.9.4-4) ...
Setting up libgl1:armhf (1.6.0-1) ...
Setting up libglib2.0-dev:armhf (2.74.4-1) ...
Setting up libswresample4:armhf (7:5.1.2-1) ...
Setting up python3-dev (3.10.6-3) ...
Setting up libglew2.2:armhf (2.2.0-4) ...
Setting up libpulse-dev:armhf (16.1+dfsg1-2+b1) ...
Setting up libmicrohttpd-dev:armhf (0.9.75-4) ...
Setting up libpostproc56:armhf (7:5.1.2-1) ...
Setting up libswscale6:armhf (7:5.1.2-1) ...
Setting up libva-glx2:armhf (2.17.0-1) ...
Setting up libavutil-dev:armhf (7:5.1.2-1) ...
Setting up libharfbuzz-dev:armhf (6.0.0-1) ...
Setting up libswresample-dev:armhf (7:5.1.2-1) ...
Setting up libpostproc-dev:armhf (7:5.1.2-1) ...
Setting up libgudev-1.0-dev:armhf (237-2) ...
Setting up libva-dev:armhf (2.17.0-1) ...
Setting up libswscale-dev:armhf (7:5.1.2-1) ...
Setting up libwacom-dev:armhf (2.5.0-1) ...
Setting up libinput-dev:armhf (1.22.0-1) ...
Setting up default-jre-headless (2:1.17-74) ...
Setting up antlr (2.7.7+dfsg-12) ...
Setting up ivy (2.5.1-2) ...
Setting up ca-certificates-java (20230103) ...
Adding debian:ACCVRAIZ1.pem
Adding debian:AC_RAIZ_FNMT-RCM.pem
Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem
Adding debian:ANF_Secure_Server_Root_CA.pem
Adding debian:Actalis_Authentication_Root_CA.pem
Adding debian:AffirmTrust_Commercial.pem
Adding debian:AffirmTrust_Networking.pem
Adding debian:AffirmTrust_Premium.pem
Adding debian:AffirmTrust_Premium_ECC.pem
Adding debian:Amazon_Root_CA_1.pem
Adding debian:Amazon_Root_CA_2.pem
Adding debian:Amazon_Root_CA_3.pem
Adding debian:Amazon_Root_CA_4.pem
Adding debian:Atos_TrustedRoot_2011.pem
Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
Adding debian:Baltimore_CyberTrust_Root.pem
Adding debian:Buypass_Class_2_Root_CA.pem
Adding debian:Buypass_Class_3_Root_CA.pem
Adding debian:CA_Disig_Root_R2.pem
Adding debian:CFCA_EV_ROOT.pem
Adding debian:COMODO_Certification_Authority.pem
Adding debian:COMODO_ECC_Certification_Authority.pem
Adding debian:COMODO_RSA_Certification_Authority.pem
Adding debian:Certigna.pem
Adding debian:Certigna_Root_CA.pem
Adding debian:Certum_EC-384_CA.pem
Adding debian:Certum_Trusted_Network_CA.pem
Adding debian:Certum_Trusted_Network_CA_2.pem
Adding debian:Certum_Trusted_Root_CA.pem
Adding debian:Comodo_AAA_Services_root.pem
Adding debian:Cybertrust_Global_Root.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem
Adding debian:DigiCert_Assured_ID_Root_CA.pem
Adding debian:DigiCert_Assured_ID_Root_G2.pem
Adding debian:DigiCert_Assured_ID_Root_G3.pem
Adding debian:DigiCert_Global_Root_CA.pem
Adding debian:DigiCert_Global_Root_G2.pem
Adding debian:DigiCert_Global_Root_G3.pem
Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem
Adding debian:DigiCert_Trusted_Root_G4.pem
Adding debian:E-Tugra_Certification_Authority.pem
Adding debian:EC-ACC.pem
Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem
Adding debian:Entrust_Root_Certification_Authority.pem
Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem
Adding debian:Entrust_Root_Certification_Authority_-_G2.pem
Adding debian:Entrust_Root_Certification_Authority_-_G4.pem
Adding debian:GDCA_TrustAUTH_R5_ROOT.pem
Adding debian:GLOBALTRUST_2020.pem
Adding debian:GTS_Root_R1.pem
Adding debian:GTS_Root_R2.pem
Adding debian:GTS_Root_R3.pem
Adding debian:GTS_Root_R4.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem
Adding debian:GlobalSign_Root_CA.pem
Adding debian:GlobalSign_Root_CA_-_R2.pem
Adding debian:GlobalSign_Root_CA_-_R3.pem
Adding debian:GlobalSign_Root_CA_-_R6.pem
Adding debian:GlobalSign_Root_E46.pem
Adding debian:GlobalSign_Root_R46.pem
Adding debian:Go_Daddy_Class_2_CA.pem
Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem
Adding debian:Hongkong_Post_Root_CA_1.pem
Adding debian:Hongkong_Post_Root_CA_3.pem
Adding debian:ISRG_Root_X1.pem
Adding debian:IdenTrust_Commercial_Root_CA_1.pem
Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem
Adding debian:Izenpe.com.pem
Adding debian:Microsec_e-Szigno_Root_CA_2009.pem
Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem
Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem
Adding debian:NAVER_Global_Root_Certification_Authority.pem
Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem
Adding debian:Network_Solutions_Certificate_Authority.pem
Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem
Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem
Adding debian:QuoVadis_Root_CA_1_G3.pem
Adding debian:QuoVadis_Root_CA_2.pem
Adding debian:QuoVadis_Root_CA_2_G3.pem
Adding debian:QuoVadis_Root_CA_3.pem
Adding debian:QuoVadis_Root_CA_3_G3.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem
Adding debian:SSL.com_Root_Certification_Authority_ECC.pem
Adding debian:SSL.com_Root_Certification_Authority_RSA.pem
Adding debian:SZAFIR_ROOT_CA2.pem
Adding debian:SecureSign_RootCA11.pem
Adding debian:SecureTrust_CA.pem
Adding debian:Secure_Global_CA.pem
Adding debian:Security_Communication_RootCA2.pem
Adding debian:Security_Communication_Root_CA.pem
Adding debian:Staat_der_Nederlanden_EV_Root_CA.pem
Adding debian:Starfield_Class_2_CA.pem
Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem
Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem
Adding debian:SwissSign_Gold_CA_-_G2.pem
Adding debian:SwissSign_Silver_CA_-_G2.pem
Adding debian:T-TeleSec_GlobalRoot_Class_2.pem
Adding debian:T-TeleSec_GlobalRoot_Class_3.pem
Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem
Adding debian:TWCA_Global_Root_CA.pem
Adding debian:TWCA_Root_Certification_Authority.pem
Adding debian:TeliaSonera_Root_CA_v1.pem
Adding debian:TrustCor_ECA-1.pem
Adding debian:TrustCor_RootCert_CA-1.pem
Adding debian:TrustCor_RootCert_CA-2.pem
Adding debian:Trustwave_Global_Certification_Authority.pem
Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem
Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem
Adding debian:UCA_Extended_Validation_Root.pem
Adding debian:UCA_Global_G2_Root.pem
Adding debian:USERTrust_ECC_Certification_Authority.pem
Adding debian:USERTrust_RSA_Certification_Authority.pem
Adding debian:XRamp_Global_CA_Root.pem
Adding debian:certSIGN_ROOT_CA.pem
Adding debian:certSIGN_Root_CA_G2.pem
Adding debian:e-Szigno_Root_CA_2017.pem
Adding debian:ePKI_Root_Certification_Authority.pem
Adding debian:emSign_ECC_Root_CA_-_C3.pem
Adding debian:emSign_ECC_Root_CA_-_G3.pem
Adding debian:emSign_Root_CA_-_C1.pem
Adding debian:emSign_Root_CA_-_G1.pem
done.
Setting up junit4 (4.13.2-3) ...
Setting up groovy (2.4.21-7) ...
update-alternatives: using /usr/share/groovy/bin/groovy to provide /usr/bin/groovy (groovy) in auto mode
update-alternatives: using /usr/share/groovy/bin/groovyc to provide /usr/bin/groovyc (groovyc) in auto mode
update-alternatives: using /usr/share/groovy/bin/grape to provide /usr/bin/grape (grape) in auto mode
update-alternatives: using /usr/share/groovy/bin/startGroovy to provide /usr/bin/startGroovy (startGroovy) in auto mode
update-alternatives: using /usr/share/groovy/bin/groovysh to provide /usr/bin/groovysh (groovysh) in auto mode
update-alternatives: using /usr/share/groovy/bin/java2groovy to provide /usr/bin/java2groovy (java2groovy) in auto mode
update-alternatives: using /usr/share/groovy/bin/groovyConsole to provide /usr/bin/groovyConsole (groovyConsole) in auto mode
update-alternatives: using /usr/share/groovy/bin/groovydoc to provide /usr/bin/groovydoc (groovydoc) in auto mode
Processing triggers for libc-bin (2.36-6+rpi1) ...
Processing triggers for sgml-base (1.31) ...
Setting up libfontconfig1:armhf (2.14.1-3) ...
Setting up libbluray2:armhf (1:1.3.4-1) ...
Setting up x11proto-dev (2022.1-1) ...
Setting up fontconfig (2.14.1-3) ...
Regenerating fonts cache... done.
Setting up libxau-dev:armhf (1:1.0.9-1) ...
Setting up libice-dev:armhf (2:1.0.10-1) ...
Setting up libfontconfig-dev:armhf (2.14.1-3) ...
Setting up libsm-dev:armhf (2:1.2.3-1) ...
Setting up libpango-1.0-0:armhf (1.50.12+ds-1) ...
Setting up libcairo2:armhf (1.16.0-7) ...
Setting up libxdmcp-dev:armhf (1:1.1.2-3) ...
Setting up libass9:armhf (1:0.17.0-2) ...
Setting up libdbus-1-dev:armhf (1.14.4-1) ...
Setting up openjdk-17-jre-headless:armhf (17.0.4+8-1+rpi1) ...
update-alternatives: using /usr/lib/jvm/java-17-openjdk-armhf/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: using /usr/lib/jvm/java-17-openjdk-armhf/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode
update-alternatives: using /usr/lib/jvm/java-17-openjdk-armhf/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
update-alternatives: using /usr/lib/jvm/java-17-openjdk-armhf/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
update-alternatives: using /usr/lib/jvm/java-17-openjdk-armhf/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
Setting up libtheora0:armhf (1.1.1+dfsg.1-16.1) ...
Setting up libcairo-gobject2:armhf (1.16.0-7) ...
Setting up libpangoft2-1.0-0:armhf (1.50.12+ds-1) ...
Setting up libpangocairo-1.0-0:armhf (1.50.12+ds-1) ...
Setting up libxcb1-dev:armhf (1.15-1) ...
Setting up libbluray-dev:armhf (1:1.3.4-1) ...
Setting up libgtk2.0-0:armhf (2.24.33-2) ...
Setting up libx11-dev:armhf (2:1.8.3-3) ...
Setting up libass-dev:armhf (1:0.17.0-2) ...
Setting up libavahi-client-dev:armhf (0.8-7) ...
Setting up librsvg2-2:armhf (2.54.5+dfsg-1) ...
Setting up libxt-dev:armhf (1:1.2.1-1) ...
Setting up libxext-dev:armhf (2:1.3.4-1) ...
Setting up libglx-dev:armhf (1.6.0-1) ...
Setting up libvdpau-dev:armhf (1.5-2) ...
Setting up libavcodec59:armhf (7:5.1.2-1) ...
Setting up libxrender-dev:armhf (1:0.9.10-1.1) ...
Setting up libgl-dev:armhf (1.6.0-1) ...
Setting up libchromaprint1:armhf (1.5.1-2+b2) ...
Setting up librsvg2-bin (2.54.5+dfsg-1) ...
Setting up libavformat59:armhf (7:5.1.2-1) ...
Setting up libegl-dev:armhf (1.6.0-1) ...
Setting up libavcodec-dev:armhf (7:5.1.2-1) ...
Setting up openjdk-17-jre:armhf (17.0.4+8-1+rpi1) ...
Setting up libavformat-dev:armhf (7:5.1.2-1) ...
Setting up default-jre (2:1.17-74) ...
Setting up libavfilter8:armhf (7:5.1.2-1) ...
Setting up libxrandr-dev:armhf (2:1.5.2-2) ...
Setting up libglu1-mesa-dev:armhf (9.0.2-1.1) ...
Setting up libgles-dev:armhf (1.6.0-1) ...
Setting up libavfilter-dev:armhf (7:5.1.2-1) ...
Setting up libglvnd-dev:armhf (1.6.0-1) ...
Setting up libglew-dev:armhf (2.2.0-4) ...
Setting up libegl1-mesa-dev:armhf (22.2.0-1+rpi1) ...
Setting up sbuild-build-depends-kodi-dummy (0.invalid.0) ...
Processing triggers for ca-certificates (20211016) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Processing triggers for libc-bin (2.36-6+rpi1) ...
Processing triggers for ca-certificates-java (20230103) ...
done.
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Build environment                                                            |
+------------------------------------------------------------------------------+

Kernel: Linux 4.9.0-0.bpo.6-armmp armhf (armv7l)
Toolchain package versions: binutils_2.39.90.20221231-1+rpi1 dpkg-dev_1.21.9+rpi1 g++-12_12.2.0-14+rpi1 gcc-12_12.2.0-14+rpi1 libc6-dev_2.36-6+rpi1 libstdc++-12-dev_12.2.0-14+rpi1 libstdc++6_12.2.0-14+rpi1 linux-libc-dev_6.0.12-1+rpi1
Package versions: adduser_3.129 adwaita-icon-theme_43-1 antlr_2.7.7+dfsg-12 apt_2.5.4 aptitude_0.8.13-5 aptitude-common_0.8.13-5 at-spi2-common_2.46.0-4 autoconf_2.71-3 automake_1:1.16.5-1.3 autopoint_0.21-10 autotools-dev_20220109.1 base-files_12.3+rpi1 base-passwd_3.6.1 bash_5.2-2 binutils_2.39.90.20221231-1+rpi1 binutils-arm-linux-gnueabihf_2.39.90.20221231-1+rpi1 binutils-common_2.39.90.20221231-1+rpi1 bsdextrautils_2.38.1-4 bsdutils_1:2.38.1-4 build-essential_12.9 bzip2_1.0.8-5+b2 ca-certificates_20211016 ca-certificates-java_20230103 catch2_2.13.10-1 cmake_3.25.1-1 cmake-data_3.25.1-1 coreutils_9.1-1 cpp_4:12.2.0-1+rpi1 cpp-12_12.2.0-14+rpi1 curl_7.87.0-2 dash_0.5.11+git20210903+057cd650a4ed-9 debconf_1.5.80 debhelper_13.11.4 debianutils_5.7-0.4 default-jre_2:1.17-74 default-jre-headless_2:1.17-74 default-libmysqlclient-dev_1.0.8 dh-autoreconf_20 dh-python_5.20220819+rpi1 dh-strip-nondeterminism_1.13.1-1 diffutils_1:3.8-1 dirmngr_2.2.40-1 doxygen_1.9.4-4 dpkg_1.21.9+rpi1 dpkg-dev_1.21.9+rpi1 dwz_0.15-1 e2fsprogs_1.46.6~rc1-1 fakeroot_1.29-1 file_1:5.44-2 findutils_4.9.0-3 flatbuffers-compiler_2.0.8+dfsg1-2 flatbuffers-compiler-dev_2.0.8+dfsg1-2 fontconfig_2.14.1-3 fontconfig-config_2.14.1-3 fontforge-common_1:20220308~dfsg-1+rpi1 fontforge-nox_1:20220308~dfsg-1+rpi1+b1 fonts-dejavu-core_2.37-2 fonts-droid-fallback_1:6.0.1r16-1.1 g++_4:12.2.0-1+rpi1 g++-12_12.2.0-14+rpi1 gawk_1:5.1.0-1 gcc_4:12.2.0-1+rpi1 gcc-12_12.2.0-14+rpi1 gcc-12-base_12.2.0-14+rpi1 gcc-7-base_7.5.0-6+rpi1+b2 gcc-8-base_8.4.0-7+rpi1 gcc-9-base_9.4.0-2+rpi1 gettext_0.21-10 gettext-base_0.21-10 gir1.2-freedesktop_1.74.0-2 gir1.2-glib-2.0_1.74.0-2 gir1.2-gudev-1.0_237-2 gir1.2-harfbuzz-0.0_6.0.0-1 gnupg_2.2.40-1 gnupg-l10n_2.2.40-1 gnupg-utils_2.2.40-1 googletest_1.12.1-0.2 gperf_3.1-1 gpg_2.2.40-1 gpg-agent_2.2.40-1 gpg-wks-client_2.2.40-1 gpg-wks-server_2.2.40-1 gpgconf_2.2.40-1 gpgsm_2.2.40-1 gpgv_2.2.40-1 grep_3.8-3 groff-base_1.22.4-9 groovy_2.4.21-7 gtk-update-icon-cache_3.24.36-1 gzip_1.12-1 hicolor-icon-theme_0.17-2 hostname_3.23 icu-devtools_72.1-3 init-system-helpers_1.64 intltool-debian_0.35.0+20060710.6 iputils-ping_3:20221126-1 ivy_2.5.1-2 java-common_0.74 junit4_4.13.2-3 krb5-locales_1.20.1-1 libacl1_2.3.1-2 libantlr-java_2.7.7+dfsg-12 libaom3_3.5.0-1 libapache-pom-java_29-2 libapt-pkg6.0_2.5.4 libarchive-zip-perl_1.68-1 libarchive13_3.6.2-1 libasan8_12.2.0-14+rpi1 libasm-java_9.4-1 libasound2_1.2.8-1 libasound2-data_1.2.8-1 libasound2-dev_1.2.8-1 libass-dev_1:0.17.0-2 libass9_1:0.17.0-2 libassuan0_2.5.5-5 libasyncns0_0.8-6+b3 libatk1.0-0_2.46.0-4 libatomic1_12.2.0-14+rpi1 libattr1_1:2.5.1-3 libaudit-common_1:3.0.7-1.1 libaudit1_1:3.0.7-1.1 libavahi-client-dev_0.8-7 libavahi-client3_0.8-7 libavahi-common-data_0.8-7 libavahi-common-dev_0.8-7 libavahi-common3_0.8-7 libavcodec-dev_7:5.1.2-1 libavcodec59_7:5.1.2-1 libavfilter-dev_7:5.1.2-1 libavfilter8_7:5.1.2-1 libavformat-dev_7:5.1.2-1 libavformat59_7:5.1.2-1 libavutil-dev_7:5.1.2-1 libavutil57_7:5.1.2-1 libbinutils_2.39.90.20221231-1+rpi1 libblas3_3.11.0-2 libblkid-dev_2.38.1-4 libblkid1_2.38.1-4 libbluetooth-dev_5.66-1 libbluetooth3_5.66-1 libbluray-dev_1:1.3.4-1 libbluray2_1:1.3.4-1 libboost-iostreams1.74.0_1.74.0-17+b1 libbrotli-dev_1.0.9-2+b2 libbrotli1_1.0.9-2+b2 libbs2b0_3.1.0+dfsg-7 libbsd0_0.11.7-1 libbsf-java_1:2.4.0-8 libbz2-1.0_1.0.8-5+b2 libc-bin_2.36-6+rpi1 libc-dev-bin_2.36-6+rpi1 libc6_2.36-6+rpi1 libc6-dev_2.36-6+rpi1 libcairo-gobject2_1.16.0-7 libcairo2_1.16.0-7 libcap-dev_1:2.66-3 libcap-ng0_0.8.3-1 libcap2_1:2.66-3 libcap2-bin_1:2.66-3 libcc1-0_12.2.0-14+rpi1 libcdio++-dev_2.1.0-4 libcdio++1_2.1.0-4 libcdio-dev_2.1.0-4 libcdio19_2.1.0-4 libcec-dev_6.0.2-4 libcec6_6.0.2-4 libchromaprint1_1.5.1-2+b2 libcjson1_1.7.15-1 libclang-cpp14_1:14.0.6-10+rpi1 libclang1-14_1:14.0.6-10+rpi1 libcodec2-1.0_1.0.5-1 libcom-err2_1.46.6~rc1-1 libcommons-cli-java_1.5.0-1 libcommons-lang-java_2.6-10 libcommons-logging-java_1.2-3 libcommons-parent-java_56-1 libcrossguid-dev_0.0+git200150803-6 libcrossguid0_0.0+git200150803-6 libcrypt-dev_1:4.4.33-1 libcrypt1_1:4.4.33-1 libctf-nobfd0_2.39.90.20221231-1+rpi1 libctf0_2.39.90.20221231-1+rpi1 libcups2_2.4.2-1+b1 libcurl3-gnutls_7.87.0-2 libcurl4_7.87.0-2 libcurl4-gnutls-dev_7.87.0-2 libcwidget4_0.5.18-6 libcwiid-dev_0.6.91-4 libcwiid1_0.6.91-4 libdate-tz3_3.0.1+ds-5 libdatrie1_0.2.13-2+b2 libdav1d-dev_1.0.0-2+rpi1 libdav1d6_1.0.0-2+rpi1 libdb5.3_5.3.28+dfsg1-0.10 libdbus-1-3_1.14.4-1 libdbus-1-dev_1.14.4-1 libdebconfclient0_0.265 libdebhelper-perl_13.11.4 libdeflate0_1.14-1 libdpkg-perl_1.21.9+rpi1 libdrm-amdgpu1_2.4.114-1+rpi1 libdrm-common_2.4.114-1+rpi1 libdrm-dev_2.4.114-1+rpi1 libdrm-etnaviv1_2.4.114-1+rpi1 libdrm-exynos1_2.4.114-1+rpi1 libdrm-freedreno1_2.4.114-1+rpi1 libdrm-nouveau2_2.4.114-1+rpi1 libdrm-omap1_2.4.114-1+rpi1 libdrm-radeon1_2.4.114-1+rpi1 libdrm-tegra0_2.4.114-1+rpi1 libdrm2_2.4.114-1+rpi1 libedit2_3.1-20221030-2 libegl-dev_1.6.0-1 libegl-mesa0_22.2.0-1+rpi1 libegl1_1.6.0-1 libegl1-mesa-dev_22.2.0-1+rpi1 libelf1_0.187-2+rpi2 libepoxy0_1.5.10-1 libevdev-dev_1.13.0+dfsg-1+rpi1 libevdev2_1.13.0+dfsg-1+rpi1 libevent-2.1-7_2.1.12-stable-5+b1 libexpat1_2.5.0-1 libexpat1-dev_2.5.0-1 libext2fs2_1.46.6~rc1-1 libfakeroot_1.29-1 libffi-dev_3.4.4-1 libffi8_3.4.4-1 libfile-stripnondeterminism-perl_1.13.1-1 libflac12_1.4.2+ds-2 libflatbuffers-dev_2.0.8+dfsg1-2 libflatbuffers2_2.0.8+dfsg1-2 libflite1_2.2-5 libfmt-dev_9.1.0+ds1-2 libfmt9_9.1.0+ds1-2 libfontconfig-dev_2.14.1-3 libfontconfig1_2.14.1-3 libfontforge4_1:20220308~dfsg-1+rpi1+b1 libfreetype-dev_2.12.1+dfsg-4 libfreetype6_2.12.1+dfsg-4 libfribidi-dev_1.0.8-2.1 libfribidi0_1.0.8-2.1 libfstrcmp-dev_0.7.D001-3 libfstrcmp0_0.7.D001-3 libgbm-dev_22.2.0-1+rpi1 libgbm1_22.2.0-1+rpi1 libgcc-12-dev_12.2.0-14+rpi1 libgcc-s1_12.2.0-14+rpi1 libgcrypt20_1.10.1-3 libgcrypt20-dev_1.10.1-3 libgdbm-compat4_1.23-3 libgdbm6_1.23-3 libgdk-pixbuf-2.0-0_2.42.10+dfsg-1+b1 libgdk-pixbuf2.0-common_2.42.10+dfsg-1 libgfortran5_12.2.0-14+rpi1 libgif-dev_5.2.1-2.5 libgif7_5.2.1-2.5 libgirepository-1.0-1_1.74.0-2 libgl-dev_1.6.0-1 libgl1_1.6.0-1 libgl1-mesa-dri_22.2.0-1+rpi1 libglapi-mesa_22.2.0-1+rpi1 libgles-dev_1.6.0-1 libgles1_1.6.0-1 libgles2_1.6.0-1 libglew-dev_2.2.0-4 libglew2.2_2.2.0-4 libglib2.0-0_2.74.4-1 libglib2.0-bin_2.74.4-1 libglib2.0-data_2.74.4-1 libglib2.0-dev_2.74.4-1 libglib2.0-dev-bin_2.74.4-1 libglu1-mesa_9.0.2-1.1 libglu1-mesa-dev_9.0.2-1.1 libglvnd-core-dev_1.6.0-1 libglvnd-dev_1.6.0-1 libglvnd0_1.6.0-1 libglx-dev_1.6.0-1 libglx-mesa0_22.2.0-1+rpi1 libglx0_1.6.0-1 libgme0_0.6.3-5 libgmp-dev_2:6.2.1+dfsg1-1.1 libgmp10_2:6.2.1+dfsg1-1.1 libgmpxx4ldbl_2:6.2.1+dfsg1-1.1 libgnutls-dane0_3.7.8-4 libgnutls-openssl27_3.7.8-4 libgnutls28-dev_3.7.8-4 libgnutls30_3.7.8-4 libgnutlsxx30_3.7.8-4 libgomp1_12.2.0-14+rpi1 libgpg-error-dev_1.46-1 libgpg-error0_1.46-1 libgraphite2-3_1.3.14-1 libgraphite2-dev_1.3.14-1 libgsm1_1.0.22-1 libgssapi-krb5-2_1.20.1-1 libgtest-dev_1.12.1-0.2 libgtk2.0-0_2.24.33-2 libgtk2.0-common_2.24.33-2 libgudev-1.0-0_237-2 libgudev-1.0-dev_237-2 libhamcrest-java_2.2-1 libharfbuzz-dev_6.0.0-1 libharfbuzz-gobject0_6.0.0-1 libharfbuzz-icu0_6.0.0-1 libharfbuzz0b_6.0.0-1 libhawtjni-runtime-java_1.18-1 libhogweed6_3.8.1-2 libhowardhinnant-date-dev_3.0.1+ds-5 libice-dev_2:1.0.10-1 libice6_2:1.0.10-1 libicu-dev_72.1-3 libicu72_72.1-3 libidn2-0_2.3.3-1 libidn2-dev_2.3.3-1 libinput-bin_1.22.0-1 libinput-dev_1.22.0-1 libinput10_1.22.0-1 libisl23_0.25-1 libiso9660++-dev_2.1.0-4 libiso9660++0_2.1.0-4 libiso9660-11_2.1.0-4 libiso9660-dev_2.1.0-4 libjansi-java_2.4.0-2 libjansi-native-java_1.8-1 libjansi1-java_1.18-3 libjansson4_2.14-2 libjbig0_2.1-6.1 libjline2-java_2.14.6-5 libjpeg-dev_1:2.1.2-1 libjpeg62-turbo_1:2.1.2-1 libjpeg62-turbo-dev_1:2.1.2-1 libjs-jquery_3.6.1+dfsg+~3.5.14-1 libjs-sphinxdoc_5.3.0-3 libjs-underscore_1.13.4~dfsg+~1.11.4-3 libjsoncpp25_1.9.5-4 libk5crypto3_1.20.1-1 libkeyutils1_1.6.3-1 libkissfft-dev_131.1.0-3 libkissfft-float131_131.1.0-3 libkrb5-3_1.20.1-1 libkrb5support0_1.20.1-1 libksba8_1.6.2-4 liblapack3_3.11.0-2 liblcms2-2_2.14-1+b1 liblcms2-dev_2.14-1+b1 libldap-2.4-2_2.4.59+dfsg-1+b1 libldap-2.5-0_2.5.13+dfsg-2+rpi1+b1 libldap-common_2.5.13+dfsg-2+rpi1 libldb2_2:2.6.1+samba4.17.4+dfsg-2 liblerc4_4.0.0+ds-2 liblilv-0-0_0.24.14-1 liblirc-client0_0.10.1-7.2 liblirc-dev_0.10.1-7.2 liblirc0_0.10.1-7.2 libllvm14_1:14.0.6-10+rpi1 libltdl-dev_2.4.7-5 libltdl7_2.4.7-5 liblz4-1_1.9.4-1+rpi1 liblzma5_5.4.0-0.1 liblzo2-2_2.10-2 liblzo2-dev_2.10-2 libmagic-mgc_1:5.44-2 libmagic1_1:5.44-2 libmariadb-dev_1:10.6.11-2+rpi1 libmariadb-dev-compat_1:10.6.11-2+rpi1 libmariadb3_1:10.6.11-2+rpi1 libmbedcrypto7_2.28.2-1 libmd0_1.0.4-2 libmicrohttpd-dev_0.9.75-4 libmicrohttpd12_0.9.75-4 libmount-dev_2.38.1-4 libmount1_2.38.1-4 libmp3lame0_3.100-6 libmpc3_1.2.1-2 libmpdec3_2.5.1-2+rpi1 libmpfr6_4.1.0-3 libmpg123-0_1.31.1-1 libmtdev-dev_1.1.6-1 libmtdev1_1.1.6-1 libmysofa1_1.3.1~dfsg0-1 libncursesw6_6.3+20220423-2 libnettle8_3.8.1-2 libnfs-dev_4.0.0-1 libnfs13_4.0.0-1 libnghttp2-14_1.51.0-1 libnorm1_1.5.9+dfsg-2 libnpth0_1.6-3 libnsl-dev_1.3.0-2 libnsl2_1.3.0-2 libnspr4_2:4.35-1 libnss3_2:3.87-1 libogg0_1.3.5-3 libopengl-dev_1.6.0-1 libopengl0_1.6.0-1 libopenjp2-7_2.5.0-1+b1 libopenmpt0_0.6.7-1 libopus0_1.3.1-2 libp11-kit-dev_0.24.1-2 libp11-kit0_0.24.1-2 libp8-platform2_2.1.0.1+dfsg1-4 libpam-cap_1:2.66-3 libpam-modules_1.5.2-5 libpam-modules-bin_1.5.2-5 libpam-runtime_1.5.2-5 libpam0g_1.5.2-5 libpango-1.0-0_1.50.12+ds-1 libpangocairo-1.0-0_1.50.12+ds-1 libpangoft2-1.0-0_1.50.12+ds-1 libpciaccess-dev_0.17-2 libpciaccess0_0.17-2 libpcre16-3_2:8.39-15 libpcre2-16-0_10.40-3 libpcre2-32-0_10.40-3 libpcre2-8-0_10.40-3 libpcre2-dev_10.40-3 libpcre2-posix3_10.40-3 libpcre3_2:8.39-15 libpcre3-dev_2:8.39-15 libpcre32-3_2:8.39-15 libpcrecpp0v5_2:8.39-15 libpcsclite1_1.9.9-1 libperl5.36_5.36.0-6 libpgm-5.3-0_5.3.128~dfsg-2 libpipeline1_1.5.7-1 libpipewire-0.3-0_0.3.64-2 libpipewire-0.3-dev_0.3.64-2 libpixman-1-0_0.42.2-1 libpkgconf3_1.8.0-12 libplacebo208_4.208.0-3 libplist-dev_2.2.0-6+b1 libplist3_2.2.0-6+b1 libpng-dev_1.6.39-2 libpng16-16_1.6.39-2 libpocketsphinx3_0.8+5prealpha+1-15 libpopt0_1.19+dfsg-1 libpostproc-dev_7:5.1.2-1 libpostproc56_7:5.1.2-1 libproc2-0_2:4.0.2-3 libpsl5_0.21.0-1.2 libpthread-stubs0-dev_0.4-1 libpugixml1v5_1.13-0.2 libpulse-dev_16.1+dfsg1-2+b1 libpulse-mainloop-glib0_16.1+dfsg1-2+b1 libpulse0_16.1+dfsg1-2+b1 libpython3-dev_3.10.6-3 libpython3-stdlib_3.10.6-3 libpython3.10_3.10.9-1 libpython3.10-dev_3.10.9-1 libpython3.10-minimal_3.10.9-1 libpython3.10-stdlib_3.10.9-1 libqdox-java_1.12.1-3 librabbitmq4_0.11.0-1+b1 librav1e0_0.5.1-6 libreadline8_8.2-1.2 librhash0_1.4.3-3 librist4_0.2.7+dfsg-1 librsvg2-2_2.54.5+dfsg-1 librsvg2-bin_2.54.5+dfsg-1 librtmp1_2.4+20151223.gitfa8646d.1-2+b2 librubberband2_3.1.2+dfsg0-1 libsasl2-2_2.1.28+dfsg-10 libsasl2-modules-db_2.1.28+dfsg-10 libseccomp2_2.5.4-1+rpi1 libselinux1_3.4-1+b1 libselinux1-dev_3.4-1+b1 libsemanage-common_3.4-1 libsemanage2_3.4-1 libsensors-config_1:3.6.0-7.1 libsensors5_1:3.6.0-7.1 libsepol-dev_3.4-2 libsepol1_3.1-1 libsepol2_3.4-2 libserd-0-0_0.30.16-1 libservlet-api-java_4.0.1-2 libset-scalar-perl_1.29-3 libshairplay-dev_0.9.0~git20180824.096b61a+dfsg1-3 libshairplay0_0.9.0~git20180824.096b61a+dfsg1-3 libshine3_3.1.1-2+b1 libsigc++-2.0-0v5_2.10.8-1 libsigsegv2_2.14-1 libsm-dev_2:1.2.3-1 libsm6_2:1.2.3-1 libsmartcols1_2.38.1-4 libsmbclient_2:4.17.4+dfsg-2 libsmbclient-dev_2:4.17.4+dfsg-2 libsnappy1v5_1.1.9-2 libsndfile1_1.2.0-1 libsndio-dev_1.9.0-0.3 libsndio7.0_1.9.0-0.3 libsodium23_1.0.18-1 libsord-0-0_0.16.14+git221008-1 libsoxr0_0.1.3-4+rpi1 libspa-0.2-dev_0.3.64-2 libspa-0.2-modules_0.3.64-2 libspdlog-dev_1:1.10.0+ds-0.4 libspdlog1.10_1:1.10.0+ds-0.4 libspeex1_1.2.1-1 libsphinxbase3_0.8+5prealpha+1-15+rpi1 libspiro1_1:20221101-1 libsqlite3-0_3.40.1-1 libsqlite3-dev_3.40.1-1 libsratom-0-0_0.6.14-1 libsrt1.5-gnutls_1.5.1-1 libss2_1.46.6~rc1-1 libssh-gcrypt-4_0.10.4-2 libssh2-1_1.10.0-3+b1 libssl-dev_3.0.7-2 libssl1.1_1.1.1o-1 libssl3_3.0.7-2 libstdc++-12-dev_12.2.0-14+rpi1 libstdc++6_12.2.0-14+rpi1 libsub-override-perl_0.09-4 libsvtav1enc1_1.4.1+dfsg-1 libswresample-dev_7:5.1.2-1 libswresample4_7:5.1.2-1 libswscale-dev_7:5.1.2-1 libswscale6_7:5.1.2-1 libsystemd0_252.4-1+rpi1 libtag1-dev_1.13-1 libtag1v5_1.13-1 libtag1v5-vanilla_1.13-1 libtalloc2_2.3.4-2 libtasn1-6_4.19.0-2 libtasn1-6-dev_4.19.0-2 libtdb1_1.4.7-2 libtevent0_0.13.0-2 libthai-data_0.1.29-1 libthai0_0.1.29-1 libtheora0_1.1.1+dfsg.1-16.1 libtiff6_4.5.0-3 libtinfo6_6.3+20220423-2 libtinyxml-dev_2.6.2-6 libtinyxml2.6.2v5_2.6.2-6 libtirpc-common_1.3.3+ds-1 libtirpc-dev_1.3.3+ds-1 libtirpc3_1.3.3+ds-1 libtool_2.4.7-5 libtwolame0_0.4.0-2 libubsan1_12.2.0-14+rpi1 libuchardet0_0.0.7-1 libudev-dev_252.4-1+rpi1 libudev1_252.4-1+rpi1 libudfread-dev_1.1.2-1 libudfread0_1.1.2-1 libunbound8_1.17.0-1 libunistring2_1.0-2 libusb-0.1-4_2:0.1.12-32 libuuid1_2.38.1-4 libuv1_1.44.2-1+rpi1 libva-dev_2.17.0-1 libva-drm2_2.17.0-1 libva-glx2_2.17.0-1 libva-wayland2_2.17.0-1 libva-x11-2_2.17.0-1 libva2_2.17.0-1 libvdpau-dev_1.5-2 libvdpau1_1.5-2 libvidstab1.1_1.1.0-2 libvorbis0a_1.3.7-1 libvorbisenc2_1.3.7-1 libvorbisfile3_1.3.7-1 libvpx7_1.12.0-1 libvulkan1_1.3.231.1-1 libwacom-common_2.5.0-1 libwacom-dev_2.5.0-1 libwacom9_2.5.0-1 libwayland-bin_1.21.0-1 libwayland-client++1_1.0.0-3 libwayland-client-extra++1_1.0.0-3 libwayland-client0_1.21.0-1 libwayland-cursor++1_1.0.0-3 libwayland-cursor0_1.21.0-1 libwayland-dev_1.21.0-1 libwayland-egl++1_1.0.0-3 libwayland-egl1_1.21.0-1 libwayland-server++1_1.0.0-3 libwayland-server0_1.21.0-1 libwbclient0_2:4.17.4+dfsg-2 libwebp7_1.2.2-2+b2 libwebpmux3_1.2.2-2+b2 libwebrtc-audio-processing1_0.3-1 libwoff1_1.0.2-2 libx11-6_2:1.8.3-3 libx11-data_2:1.8.3-3 libx11-dev_2:1.8.3-3 libx11-xcb1_2:1.8.3-3 libx264-164_2:0.164.3095+gitbaee400-2+rpi1+b4 libx265-199_3.5-2 libxapian30_1.4.21-1 libxau-dev_1:1.0.9-1 libxau6_1:1.0.9-1 libxcb-dri2-0_1.15-1 libxcb-dri3-0_1.15-1 libxcb-glx0_1.15-1 libxcb-present0_1.15-1 libxcb-render0_1.15-1 libxcb-shm0_1.15-1 libxcb-sync1_1.15-1 libxcb-xfixes0_1.15-1 libxcb1_1.15-1 libxcb1-dev_1.15-1 libxcomposite1_1:0.4.5-1 libxcursor1_1:1.2.1-1 libxdamage1_1:1.1.6-1 libxdmcp-dev_1:1.1.2-3 libxdmcp6_1:1.1.2-3 libxext-dev_2:1.3.4-1 libxext6_2:1.3.4-1 libxfixes3_1:6.0.0-2 libxi6_2:1.8-1 libxinerama1_2:1.1.4-3 libxkbcommon-dev_1.5.0-1 libxkbcommon0_1.5.0-1 libxml2_2.9.14+dfsg-1.1 libxml2-dev_2.9.14+dfsg-1.1 libxpp3-java_1.1.4c-3 libxrandr-dev_2:1.5.2-2 libxrandr2_2:1.5.2-2 libxrender-dev_1:0.9.10-1.1 libxrender1_1:0.9.10-1.1 libxshmfence1_1.3-1 libxslt1-dev_1.1.35-1 libxslt1.1_1.1.35-1 libxstream-java_1.4.20-1 libxt-dev_1:1.2.1-1 libxt6_1:1.2.1-1 libxtst6_2:1.2.3-1.1 libxvidcore4_2:1.3.7-1 libxxf86vm1_1:1.1.4-1+b2 libxxhash0_0.8.1-1 libz3-4_4.8.12-3 libzimg2_3.0.4+ds1-1 libzmq5_4.3.4-6 libzstd1_1.5.2+dfsg-1 libzvbi-common_0.2.39-2 libzvbi0_0.2.39-2 linux-libc-dev_6.0.12-1+rpi1 login_1:4.13+dfsg1-1 logsave_1.46.6~rc1-1 lsb-base_11.4+rpi1 m4_1.4.19-2 make_4.3-4.1 man-db_2.11.2-1 mariadb-common_1:10.6.11-2+rpi1 mawk_1.3.4.20200120-3.1 media-types_8.0.0 mount_2.38.1-4 mysql-common_5.8+1.0.8 nano_7.1-1 ncurses-base_6.3+20220423-2 ncurses-bin_6.3+20220423-2 netbase_6.4 nettle-dev_3.8.1-2 ocl-icd-libopencl1_2.3.1-1 openjdk-17-jre_17.0.4+8-1+rpi1 openjdk-17-jre-headless_17.0.4+8-1+rpi1 openssl_3.0.7-2 passwd_1:4.13+dfsg1-1 patch_2.7.6-7 perl_5.36.0-6 perl-base_5.36.0-6 perl-modules-5.36_5.36.0-6 pinentry-curses_1.2.1-1 pkg-config_1.8.0-12 pkgconf_1.8.0-12 pkgconf-bin_1.8.0-12 po-debconf_1.0.21+nmu1 procps_2:4.0.2-3 python3_3.10.6-3 python3-dev_3.10.6-3 python3-distutils_3.10.8-1 python3-lib2to3_3.10.8-1 python3-minimal_3.10.6-3 python3.10_3.10.9-1 python3.10-dev_3.10.9-1 python3.10-minimal_3.10.9-1 rapidjson-dev_1.1.0+dfsg2-7.1 raspbian-archive-keyring_20120528.2 readline-common_8.2-1.2 rpcsvc-proto_1.4.3-1 samba-libs_2:4.17.4+dfsg-2 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-kodi-dummy_0.invalid.0 sed_4.8-1 sensible-utils_0.0.17 sgml-base_1.31 shared-mime-info_2.2-1 swig_4.1.0-0.2 swig4.0_4.1.0-0.2 sysvinit-utils_3.05-7 tar_1.34+dfsg-1 tzdata_2022f-1 unzip_6.0-27 util-linux_2.38.1-4 util-linux-extra_2.38.1-4 uuid-dev_2.38.1-4 wayland-protocols_1.31-1 wayland-scanner++_1.0.0-3 waylandpp-dev_1.0.0-3 x11-common_1:7.7+23 x11proto-dev_2022.1-1 xkb-data_2.35.1-1 xml-core_0.18+nmu1 xorg-sgml-doctools_1:1.11-1.1 xtrans-dev_1.4.0-1 xz-utils_5.4.0-0.1 zip_3.0-12 zlib1g_1:1.2.13.dfsg-1 zlib1g-dev_1:1.2.13.dfsg-1

+------------------------------------------------------------------------------+
| Build                                                                        |
+------------------------------------------------------------------------------+


Unpack source
-------------

gpgv: unknown type of key resource 'trustedkeys.kbx'
gpgv: keyblock resource '/tmp/dpkg-verify-sig.1rUH4CnD/trustedkeys.kbx': General error
gpgv: Signature made Sun Jan 22 14:21:55 2023 UTC
gpgv:                using RSA key 8B7868786C33E5C64C4D0A480816B9E18C762BAD
gpgv: Can't check signature: No public key
dpkg-source: warning: cannot verify signature ./kodi_20.0+dfsg-1.dsc
dpkg-source: info: extracting kodi in /<<BUILDDIR>>/kodi-20.0+dfsg
dpkg-source: info: unpacking kodi_20.0+dfsg.orig.tar.xz
dpkg-source: info: unpacking kodi_20.0+dfsg.orig-libdvdnav-embedded.tar.xz
dpkg-source: info: unpacking kodi_20.0+dfsg.orig-libdvdread-embedded.tar.xz
dpkg-source: info: unpacking kodi_20.0+dfsg.orig-repo-resources-embedded.tar.xz
dpkg-source: info: unpacking kodi_20.0+dfsg-1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying kodi/0001-Implement-hashes-using-Libgcrypt.patch
dpkg-source: info: applying kodi/0002-Find-and-link-with-Libgcrypt.patch
dpkg-source: info: applying kodi/0003-differentiate-from-vanilla-Kodi.patch
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/kodi/0004-use-system-groovy.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/tools/codegenerator/Generator.groovy more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/kodi/0004-use-system-groovy.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/tools/codegenerator/Helper.groovy more than once
dpkg-source: info: applying kodi/0004-use-system-groovy.patch
dpkg-source: info: applying kodi/0005-fix-tests.patch
dpkg-source: info: applying kodi/0006-dont-use-openssl.patch
dpkg-source: info: applying kodi/0007-support-omitting-addons-service.patch
dpkg-source: info: applying kodi/0008-Find-test-fixtures-in-source-directory.patch
dpkg-source: info: applying kodi/0009-Skip-long-time-broken-test.patch
dpkg-source: info: applying kodi/0010-Disable-flaky-TestMassEvent.General-and-TestMassEven.patch
dpkg-source: info: applying kodi/0011-Skip-checking-errno-against-ENOENT-because-this-test.patch
dpkg-source: info: applying kodi/0012-The-baseline-of-the-i386-port-does-not-include-SSE.patch
dpkg-source: info: applying kodi/0013-Disable-GetCPUFrequency-test.patch
dpkg-source: info: applying kodi/0014-Fix-C++-example-includes.patch
dpkg-source: info: applying kodi/0015-debian-cross-compile.patch
dpkg-source: info: applying kodi/0016-ports-architectures.patch
dpkg-source: info: applying libdvdnav/0001-libdvdnav-PR48-enen92.patch
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/libdvdread/0001-libdvdread-PR40-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/libdvdread-embedded/src/dvd_input.c more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/libdvdread/0001-libdvdread-PR40-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/libdvdread-embedded/src/dvd_input.h more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/libdvdread/0001-libdvdread-PR40-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/libdvdread-embedded/src/dvd_reader.c more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/libdvdread/0001-libdvdread-PR40-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/libdvdread-embedded/src/dvdread/dvd_reader.h more than once
dpkg-source: info: applying libdvdread/0001-libdvdread-PR40-enen92.patch
dpkg-source: info: applying libdvdread/debian-0001-libdvdcss.patch
dpkg-source: info: applying libdvdread/debian-0002-descriptor.patch
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PosixTimezone.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/test/TestDateTime.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgInfoTag.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainerModel.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/guiinfo/PVRGUITimesInfo.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecording.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceManager.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/TimeZoneResource.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogNumeric.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Archive.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Archive.h more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/test/TestArchive.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/CMakeLists.txt more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DateLib.h more than once
dpkg-source: info: applying cdatetime-std-chrono/0001-Replace-Kodi-date-time-implementation-with-std-c.patch
dpkg-source: info: applying workarounds/0001-Workaround-989814.patch
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cdrip/EncoderFFmpeg.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/FFmpeg.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/FFmpeg.h more than once
dpkg-source: warning: unexpected end of diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0002-ffmpeg5.patch'
dpkg-source: info: applying workarounds/0002-ffmpeg5.patch
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0003-xbmc-libdvd_vfs-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDInputStreams/DVDInputStreamNavigator.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0003-xbmc-libdvd_vfs-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDInputStreams/DVDInputStreamNavigator.h more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0003-xbmc-libdvd_vfs-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/DllPaths.h more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0003-xbmc-libdvd_vfs-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdread/LIBDVDREAD-VERSION more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0003-xbmc-libdvd_vfs-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0003-xbmc-libdvd_vfs-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DvdCallback.cpp more than once
dpkg-source: warning: diff '/<<BUILDDIR>>/kodi-20.0+dfsg/debian/patches/workarounds/0003-xbmc-libdvd_vfs-enen92.patch' patches file /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DvdCallback.h more than once
dpkg-source: info: applying workarounds/0003-xbmc-libdvd_vfs-enen92.patch
dpkg-source: info: applying workarounds/0004-security-stop-dividing-by-zero.patch

Check disc space
----------------

Sufficient free space for build

User Environment
----------------

APT_CONFIG=/var/lib/sbuild/apt.conf
DEB_BUILD_OPTIONS=parallel=4
HOME=/sbuild-nonexistent
LC_ALL=POSIX
LOGNAME=buildd
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=bookworm-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=bookworm-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=109
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=bookworm-staging-armhf-sbuild-1029f76e-64d0-4294-98c1-2d41f9de5cbc
SCHROOT_UID=104
SCHROOT_USER=buildd
SHELL=/bin/sh
TERM=linux
USER=buildd

dpkg-buildpackage
-----------------

dpkg-buildpackage: info: source package kodi
dpkg-buildpackage: info: source version 2:20.0+dfsg-1
dpkg-buildpackage: info: source distribution unstable
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 debian/rules clean
dh clean --buildsystem cmake --with python3
   dh_auto_clean -O--buildsystem=cmake
   dh_autoreconf_clean -O--buildsystem=cmake
   debian/rules override_dh_clean
make[1]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg'
#‌ Clean the optional language packs originating in repo-resources-embedded
#‌ We rely on the fact that there are no optional resource.language.* in
# system/addon-manifest.xml
cd repo-resources-embedded && for i in resource.language.*; do \
	if grep -q "<addon optional=\"true\">$i</addon>" \
		/<<BUILDDIR>>/kodi-20.0+dfsg/system/addon-manifest.xml; \
	then \
		echo "Cleaning language pack $i"; \
		rm -rf /<<BUILDDIR>>/kodi-20.0+dfsg/addons/$i; \
		sed -i "/<addon optional=\"true\">$i</d" \
			/<<BUILDDIR>>/kodi-20.0+dfsg/system/addon-manifest.xml; \
		sed -i "/$i\//d" \
			/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/common/addons.txt; \
	fi; \
done
# ‌Perform the rest of cleaning
dh_clean \
	addons/skin.estuary/media/from-debian-logo.png \
	addons/webinterface.default/ \
	debian/dh-addon/*.1 \
	lib/gtest/ \
	media/Fonts/arial.ttf \
	native-tools/ \
	tools/depends/native/JsonSchemaBuilder/native/ \
	tools/depends/native/JsonSchemaBuilder/.installed-native \
	tools/depends/native/TexturePacker/native/ \
	tools/depends/native/TexturePacker/.installed-native \
	tools/depends/target/libdvdnav/libdvdnav-embedded.tar.xz \
	tools/depends/target/libdvdread/libdvdread-embedded.tar.xz
make[1]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg'
 debian/rules binary-arch
dh binary-arch --buildsystem cmake --with python3
   dh_update_autotools_config -a -O--buildsystem=cmake
   dh_autoreconf -a -O--buildsystem=cmake
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg'
rsvg-convert -w 250 -h 82 -o addons/skin.estuary/media/from-debian-logo.png debian/from-debian-logo.svg
#‌ Copy default webinterface addon
cp -r /<<BUILDDIR>>/kodi-20.0+dfsg/debian/webinterface-default /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default
#‌ Copy the optional language packs originating in repo-resources-embedded
cd repo-resources-embedded && for i in resource.language.*; do \
	echo "Adding language pack $i"; \
	cp -r $i /<<BUILDDIR>>/kodi-20.0+dfsg/addons/$i; \
	sed -i "/<\/addons>/i\ \ <addon optional=\"true\">$i<\/addon>" \
		/<<BUILDDIR>>/kodi-20.0+dfsg/system/addon-manifest.xml; \
	echo "addons/$i/*"‌ \
		1>>/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/common/addons.txt; \
done
Adding language pack resource.language.af_za
Adding language pack resource.language.am_et
Adding language pack resource.language.ar_sa
Adding language pack resource.language.ast_es
Adding language pack resource.language.az_az
Adding language pack resource.language.be_by
Adding language pack resource.language.bg_bg
Adding language pack resource.language.bs_ba
Adding language pack resource.language.ca_es
Adding language pack resource.language.cs_cz
Adding language pack resource.language.cy_gb
Adding language pack resource.language.da_dk
Adding language pack resource.language.de_de
Adding language pack resource.language.el_gr
Adding language pack resource.language.en_au
Adding language pack resource.language.en_nz
Adding language pack resource.language.en_us
Adding language pack resource.language.eo
Adding language pack resource.language.es_ar
Adding language pack resource.language.es_es
Adding language pack resource.language.es_mx
Adding language pack resource.language.et_ee
Adding language pack resource.language.eu_es
Adding language pack resource.language.fa_af
Adding language pack resource.language.fa_ir
Adding language pack resource.language.fi_fi
Adding language pack resource.language.fil
Adding language pack resource.language.fo_fo
Adding language pack resource.language.fr_ca
Adding language pack resource.language.fr_fr
Adding language pack resource.language.gl_es
Adding language pack resource.language.he_il
Adding language pack resource.language.hi_in
Adding language pack resource.language.hr_hr
Adding language pack resource.language.hu_hu
Adding language pack resource.language.hy_am
Adding language pack resource.language.id_id
Adding language pack resource.language.is_is
Adding language pack resource.language.it_it
Adding language pack resource.language.ja_jp
Adding language pack resource.language.kn_in
Adding language pack resource.language.ko_kr
Adding language pack resource.language.lt_lt
Adding language pack resource.language.lv_lv
Adding language pack resource.language.mi
Adding language pack resource.language.mk_mk
Adding language pack resource.language.ml_in
Adding language pack resource.language.mn_mn
Adding language pack resource.language.ms_my
Adding language pack resource.language.mt_mt
Adding language pack resource.language.my_mm
Adding language pack resource.language.nb_no
Adding language pack resource.language.nl_nl
Adding language pack resource.language.os_os
Adding language pack resource.language.pl_pl
Adding language pack resource.language.pt_br
Adding language pack resource.language.pt_pt
Adding language pack resource.language.ro_ro
Adding language pack resource.language.ru_ru
Adding language pack resource.language.si_lk
Adding language pack resource.language.sk_sk
Adding language pack resource.language.sl_si
Adding language pack resource.language.sq_al
Adding language pack resource.language.sr_rs
Adding language pack resource.language.sr_rs@latin
Adding language pack resource.language.sv_se
Adding language pack resource.language.szl
Adding language pack resource.language.ta_in
Adding language pack resource.language.te_in
Adding language pack resource.language.tg_tj
Adding language pack resource.language.th_th
Adding language pack resource.language.tr_tr
Adding language pack resource.language.uk_ua
Adding language pack resource.language.uz_uz
Adding language pack resource.language.vi_vn
Adding language pack resource.language.zh_cn
Adding language pack resource.language.zh_tw
#‌ Prepare archives from embedded libdvd*
tar -cf tools/depends/target/libdvdnav/libdvdnav-embedded.tar.xz libdvdnav-embedded
tar -cf tools/depends/target/libdvdread/libdvdread-embedded.tar.xz libdvdread-embedded
cp -r /usr/src/gtest/ /<<BUILDDIR>>/kodi-20.0+dfsg/lib/ && mkdir -p /<<BUILDDIR>>/kodi-20.0+dfsg/lib/gtest/lib/.libs
# work around #948876 until fontforge is fixed by using cached result
fontforge -script debian/mergefonts.ff \
	/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf \
	/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf \
	media/Fonts/arial.ttf || cp debian/extra/arial.ttf media/Fonts/arial.ttf
Copyright (c) 2000-2022. See AUTHORS for Contributors.
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
 Version: 20220308
 Based on sources from 2022-06-21 12:15 UTC-D.
This font contains both a 'kern' table and a 'GPOS' table.
  The 'kern' table will only be read if there is no 'kern' feature in 'GPOS'.
Use-my-metrics flag set on at least two components in glyph 685
The glyph named Omega is mapped to U+03A9.
But its name indicates it should be mapped to U+2126.
dh_auto_configure -- -DVERBOSE=1 -DUSE_LTO=4 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_AIRTUNES=ON -DENABLE_ALSA=ON -DENABLE_AVAHI=ON -DENABLE_BLURAY=ON -DENABLE_CEC=ON -DENABLE_DBUS=ON -DENABLE_DEBUGFISSION=OFF -DENABLE_DVDCSS=OFF -DENABLE_EVENTCLIENTS=ON -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_DATE=OFF -DENABLE_INTERNAL_FFMPEG=OFF -DENABLE_INTERNAL_KISSFFT=OFF -DENABLE_INTERNAL_LIBDVD=ON -DENABLE_INTERNAL_RapidJSON=OFF -DENABLE_INTERNAL_TZDATA=OFF -DENABLE_MICROHTTPD=ON -DENABLE_MYSQLCLIENT=ON -DENABLE_NFS=ON -DENABLE_OPTICAL=ON -DENABLE_PULSEAUDIO=ON -DENABLE_SMBCLIENT=ON -DENABLE_UDEV=ON -DENABLE_UPNP=ON -DENABLE_VAAPI=ON -DENABLE_VDPAU=ON -DENABLE_XSLT=ON -DLIBDVDREAD_URL=tools/depends/target/libdvdread/libdvdread-embedded.tar.xz -DLIBDVDNAV_URL=tools/depends/target/libdvdnav/libdvdnav-embedded.tar.xz -DENABLE_LIRCCLIENT=ON -DNEON=False -DCORE_PLATFORM_NAME="x11 wayland gbm" -DAPP_RENDER_SYSTEM=gl  -DWITH_ARCH=arm \
	-DLIBDVDREAD_HASH="SHA256=6eb47799d1a7e22a7fe88ac489445b8a3a870df0d7a91899d7f3192ff6732bca" \
	-DLIBDVDNAV_HASH="SHA256=79eb4f33a22dd99d8535cde98c75a6317c20b9117111f935c1c9d53ffc0baca3"
	cd obj-arm-linux-gnueabihf && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/arm-linux-gnueabihf -DVERBOSE=1 -DUSE_LTO=4 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_AIRTUNES=ON -DENABLE_ALSA=ON -DENABLE_AVAHI=ON -DENABLE_BLURAY=ON -DENABLE_CEC=ON -DENABLE_DBUS=ON -DENABLE_DEBUGFISSION=OFF -DENABLE_DVDCSS=OFF -DENABLE_EVENTCLIENTS=ON -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_DATE=OFF -DENABLE_INTERNAL_FFMPEG=OFF -DENABLE_INTERNAL_KISSFFT=OFF -DENABLE_INTERNAL_LIBDVD=ON -DENABLE_INTERNAL_RapidJSON=OFF -DENABLE_INTERNAL_TZDATA=OFF -DENABLE_MICROHTTPD=ON -DENABLE_MYSQLCLIENT=ON -DENABLE_NFS=ON -DENABLE_OPTICAL=ON -DENABLE_PULSEAUDIO=ON -DENABLE_SMBCLIENT=ON -DENABLE_UDEV=ON -DENABLE_UPNP=ON -DENABLE_VAAPI=ON -DENABLE_VDPAU=ON -DENABLE_XSLT=ON -DLIBDVDREAD_URL=tools/depends/target/libdvdread/libdvdread-embedded.tar.xz -DLIBDVDNAV_URL=tools/depends/target/libdvdnav/libdvdnav-embedded.tar.xz -DENABLE_LIRCCLIENT=ON -DNEON=False "-DCORE_PLATFORM_NAME=x11 wayland gbm" -DAPP_RENDER_SYSTEM=gl -DWITH_ARCH=arm -DLIBDVDREAD_HASH=SHA256=6eb47799d1a7e22a7fe88ac489445b8a3a870df0d7a91899d7f3192ff6732bca -DLIBDVDNAV_HASH=SHA256=79eb4f33a22dd99d8535cde98c75a6317c20b9117111f935c1c9d53ffc0baca3 ..
-- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Source directory: /<<BUILDDIR>>/kodi-20.0+dfsg
-- Build directory: /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf
-- Generator: Single-configuration: RelWithDebInfo (Unix Makefiles)
-- CMake Version: 3.25.1
-- System type: Linux
-- Linker: GNU gold
-- Looking for include file linux/udmabuf.h
-- Looking for include file linux/udmabuf.h - found
-- Looking for include file linux/dma-heap.h
-- Looking for include file linux/dma-heap.h - found
-- Looking for include file linux/dma-buf.h
-- Looking for include file linux/dma-buf.h - found
-- Looking for mkostemp
-- Looking for mkostemp - found
-- Looking for memfd_create
-- Looking for memfd_create - found
-- Host architecture is little-endian
-- Core system type: linux
-- Platform: x11;wayland;gbm
-- CPU: armv7l, ARCH: arm
-- Cross-Compiling: FALSE
-- Execute build artefacts on host: 
-- Depends based build: 
-- Looking for posix_fadvise
-- Looking for posix_fadvise - found
-- Looking for PRIdMAX
-- Looking for PRIdMAX - found
-- Performing Test HAS_BUILTIN_SYNC_ADD_AND_FETCH
-- Performing Test HAS_BUILTIN_SYNC_ADD_AND_FETCH - Success
-- Performing Test HAS_BUILTIN_SYNC_SUB_AND_FETCH
-- Performing Test HAS_BUILTIN_SYNC_SUB_AND_FETCH - Success
-- Performing Test HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP
-- Performing Test HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP - Success
-- Looking for sys/inotify.h
-- Looking for sys/inotify.h - found
-- Looking for localtime_r
-- Looking for localtime_r - found
-- Looking for gmtime_r
-- Looking for gmtime_r - found
-- Looking for STATX_BTIME
-- Looking for STATX_BTIME - found
-- Looking for statx
-- Looking for statx - found
-- statx is available
-- Could not find hardware support for SSE (missing: _SSE_TRUE _SSE_OK) 
-- Could not find hardware support for SSE2 (missing: _SSE2_TRUE _SSE2_OK) 
-- Could not find hardware support for SSE3 (missing: _SSE3_TRUE _SSE3_OK) 
-- Could not find hardware support for SSSE3 (missing: _SSSE3_TRUE _SSSE3_OK) 
-- Could not find hardware support for SSE4.1 (missing: _SSE41_TRUE _SSE41_OK) 
-- Could not find hardware support for SSE4.2 (missing: _SSE42_TRUE _SSE42_OK) 
-- Could not find hardware support for AVX (missing: _AVX_TRUE _AVX_OK) 
-- Could not find hardware support for AVX2 (missing: _AVX2_TRUE _AVX2_OK) 
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/version.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema/version.txt
-- Could NOT find Git (missing: GIT_EXECUTABLE) 
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") 
-- Could NOT find CCache (missing: CCACHE_PROGRAM) 
-- Could NOT find ClangFormat (missing: CLANG_FORMAT_EXECUTABLE) 
-- Found FlatC: /usr/bin/flatc (found version "2.0.8") 
-- Found Lzo2: /usr/lib/arm-linux-gnueabihf/liblzo2.so  
-- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.13") 
-- Found PNG: /usr/lib/arm-linux-gnueabihf/libpng.so (found version "1.6.39") 
-- Found GIF: /usr/lib/arm-linux-gnueabihf/libgif.so  
-- Found JPEG: /usr/lib/arm-linux-gnueabihf/libjpeg.so (found version "62") 
-- Building internal TexturePacker
-- Shipping internal TexturePacker
-- Internal TexturePacker will be executed during build
-- Found Alsa: /usr/lib/arm-linux-gnueabihf/libasound.so (found version "1.2.8") 
-- Found Avahi: /usr/lib/arm-linux-gnueabihf/libavahi-client.so (found version "0.8") 
-- Found Bluetooth: /usr/lib/arm-linux-gnueabihf/libbluetooth.so  
-- Found Bluray: /usr/lib/arm-linux-gnueabihf/libbluray.so (found suitable version "1.3.4", minimum required is "0.9.3") 
-- Found CAP: /usr/lib/arm-linux-gnueabihf/libcap.so (found version "2.66") 
-- Found CEC: /usr/lib/arm-linux-gnueabihf/libcec.so (found suitable version "6.0.2", minimum required is "4.0.0") 
-- Found Dav1d: /usr/lib/arm-linux-gnueabihf/libdav1d.so (found version "1.0.0") 
-- Found DBus: /usr/lib/arm-linux-gnueabihf/libdbus-1.so (found version "1.14.4") 
-- Found Cdio: /usr/lib/arm-linux-gnueabihf/libcdio.so (found version "2.1.0") 
-- Found Iso9660pp: /usr/lib/arm-linux-gnueabihf/libiso9660++.so (found version "2.1.0") 
-- Found LCMS2: /usr/lib/arm-linux-gnueabihf/liblcms2.so (found version "2.14") 
-- Found LircClient: /usr/lib/arm-linux-gnueabihf/liblirc_client.so  
-- Could NOT find MDNS (missing: MDNS_LIBRARY MDNS_INCLUDE_DIR) 
-- Found MicroHttpd: /usr/lib/arm-linux-gnueabihf/libmicrohttpd.so (found version "0.9.75") 
-- MODULE: LIBNFS
-- LIB_TYPE: target
-- DEP_LOCATION: /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build
-- PROJECTSOURCE: /<<BUILDDIR>>/kodi-20.0+dfsg
-- LIBNFS_URL: http://mirrors.kodi.tv/build-deps/sources/libnfs-5.0.2.tar.gz
-- Found NFS: /usr/lib/arm-linux-gnueabihf/libnfs.so (found version "4.0.0") 
-- Performing Test NFS_SET_TIMEOUT
-- Performing Test NFS_SET_TIMEOUT - Success
-- Performing Test NFS_MOUNT_GETEXPORTS_TIMEOUT
-- Performing Test NFS_MOUNT_GETEXPORTS_TIMEOUT - Failed
-- Found Pipewire: /usr/lib/arm-linux-gnueabihf/libpipewire-0.3.so (found version "0.3.64") 
-- Found Plist: /usr/lib/arm-linux-gnueabihf/libplist-2.0.so (found version "2.2.0") 
-- Found PulseAudio: /usr/lib/arm-linux-gnueabihf/libpulse.so (found version "16.1") 
-- Found Python3: /usr/include/python3.10 (found version "3.10.9") found components: Development Development.Module Development.Embed 
-- Found Python3: /usr/bin/python3 (found version "3.10.9") found components: Interpreter 
-- Found SmbClient: /usr/lib/arm-linux-gnueabihf/libsmbclient.so (found version "0.7.0") 
-- Found Sndio: /usr/lib/arm-linux-gnueabihf/libsndio.so  
-- Found UDEV: /usr/lib/arm-linux-gnueabihf/libudev.so (found version "252") 
-- Found Udfread: /usr/lib/arm-linux-gnueabihf/libudfread.so  
-- Found LibXml2: /usr/lib/arm-linux-gnueabihf/libxml2.so (found version "2.9.14") 
-- Found XSLT: /usr/lib/arm-linux-gnueabihf/libxslt.so (found version "1.1.35") 
-- Found VAAPI: /usr/lib/arm-linux-gnueabihf/libva.so (found suitable version "1.17.0", minimum required is "0.39.0") 
-- Found GLX: /usr/lib/arm-linux-gnueabihf/libGLX.so  
-- Found VDPAU: /usr/lib/arm-linux-gnueabihf/libvdpau.so (found version "1.5") 
-- Found ASS: /usr/lib/arm-linux-gnueabihf/libass.so (found version "0.17.0") 
-- Found CrossGUID: /usr/lib/arm-linux-gnueabihf/libcrossguid.so  
-- Found UUID: /usr/lib/arm-linux-gnueabihf/libuuid.so (found version "2.38.1") 
-- Found Curl: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.87.0") 
-- Found Date: /usr/lib/arm-linux-gnueabihf/libdate-tz.so  
-- Found FFMPEG: /usr/include/arm-linux-gnueabihf (found version "4.4.1") 
-- Found FlatBuffers: /usr/include  
-- Found Fmt: /usr/lib/arm-linux-gnueabihf/libfmt.so (found version "9.1.0") 
-- Found FreeType: /usr/lib/arm-linux-gnueabihf/libfreetype.so (found version "24.3.18") 
-- Found FriBidi: /usr/lib/arm-linux-gnueabihf/libfribidi.so (found version "1.0.8") 
-- Found Fstrcmp: /usr/lib/libfstrcmp.so (found version "0.7.D001") 
-- Found HarfBuzz: /usr/lib/arm-linux-gnueabihf/libharfbuzz.so (found version "6.0.0") 
-- Looking for iconv
-- Looking for iconv - found
-- Found Iconv: /usr/lib/arm-linux-gnueabihf/libc.so  
-- Found KissFFT: /usr/include  
-- MODULE: LIBDVDREAD
-- LIB_TYPE: target
-- DEP_LOCATION: /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build
-- PROJECTSOURCE: /<<BUILDDIR>>/kodi-20.0+dfsg
-- LIBDVDREAD_URL: /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdread/libdvdread-embedded.tar.xz
CMake Warning (dev) at /usr/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
  cmake/scripts/common/ModuleHelpers.cmake:383 (externalproject_add)
  cmake/modules/FindLibDvdRead.cmake:105 (BUILD_DEP_TARGET)
  cmake/modules/FindLibDvdNav.cmake:21 (find_package)
  cmake/modules/FindLibDvd.cmake:5 (find_package)
  cmake/scripts/common/Macros.cmake:372 (find_package)
  cmake/scripts/common/Macros.cmake:386 (find_package_with_ver)
  CMakeLists.txt:223 (core_require_dep)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found LibDvdRead: /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdread.a (found version "upstream_skodi8") 
-- MODULE: LIBDVDNAV
-- LIB_TYPE: target
-- DEP_LOCATION: /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build
-- PROJECTSOURCE: /<<BUILDDIR>>/kodi-20.0+dfsg
-- LIBDVDNAV_URL: /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdnav/libdvdnav-embedded.tar.xz
CMake Warning (dev) at /usr/share/cmake-3.25/Modules/ExternalProject.cmake:3075 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/ExternalProject.cmake:4185 (_ep_add_download_command)
  cmake/scripts/common/ModuleHelpers.cmake:383 (externalproject_add)
  cmake/modules/FindLibDvdNav.cmake:99 (BUILD_DEP_TARGET)
  cmake/modules/FindLibDvd.cmake:5 (find_package)
  cmake/scripts/common/Macros.cmake:372 (find_package)
  cmake/scripts/common/Macros.cmake:386 (find_package_with_ver)
  CMakeLists.txt:223 (core_require_dep)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found LibDvdNav: /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdnav.a (found version "upstream_submission_kodi2") 
-- Found Libgcrypt: /usr/lib/arm-linux-gnueabihf/libgcrypt.so  
-- Found PCRE: /usr/lib/arm-linux-gnueabihf/libpcrecpp.so (found version "8.39") 
-- Found RapidJSON: /usr/include (found version "1.1.0") 
-- Found Threads: TRUE  
-- Found Spdlog: /usr/lib/arm-linux-gnueabihf/libspdlog.so (found version "1.10.0") 
-- Found Sqlite3: /usr/lib/arm-linux-gnueabihf/libsqlite3.so (found version "3.40.1") 
-- Found TagLib: /usr/lib/arm-linux-gnueabihf/libtag.so (found version "1.13") 
-- Found TinyXML: /usr/lib/arm-linux-gnueabihf/libtinyxml.so (found version "2.6.2") 
-- Found EGL: /usr/lib/arm-linux-gnueabihf/libEGL.so (found version "1.5") 
-- Looking for 3 include files EGL/egl.h, ..., EGL/eglext_angle.h
-- Looking for 3 include files EGL/egl.h, ..., EGL/eglext_angle.h - not found
-- Found X: /usr/lib/arm-linux-gnueabihf/libX11.so (found version "1.8.3") 
-- Found XRandR: /usr/lib/arm-linux-gnueabihf/libXrandr.so (found version "1.5.2") 
-- Found LibDRM: /usr/lib/arm-linux-gnueabihf/libdrm.so (found version "2.4.114") 
-- Performing Test LIBDRM_HAS_HDR_OUTPUT_METADATA
-- Performing Test LIBDRM_HAS_HDR_OUTPUT_METADATA - Success
-- Looking for drmGetFormatModifierName
-- Looking for drmGetFormatModifierName - found
-- Found OpenGl: /usr/lib/arm-linux-gnueabihf/libGL.so  
-- Checking for module 'wayland-protocols'
--   Found wayland-protocols, version 1.31
-- Found WaylandProtocols: 1 (found suitable version "1.31", minimum required is "1.7") 
-- Found Waylandpp: /usr/include (Required is at least version "0.2.2") 
-- Found Xkbcommon: /usr/lib/arm-linux-gnueabihf/libxkbcommon.so (found suitable version "1.5.0", minimum required is "0.4.1") 
-- Found GBM: /usr/lib/arm-linux-gnueabihf/libgbm.so (found version "22.2.0") 
-- Performing Test GBM_HAS_BO_MAP
-- Performing Test GBM_HAS_BO_MAP - Success
-- Performing Test GBM_HAS_MODIFIERS
-- Performing Test GBM_HAS_MODIFIERS - Success
-- Found LibInput: /usr/lib/arm-linux-gnueabihf/libinput.so (found version "1.22.0") 
-- Found Xkbcommon: /usr/lib/arm-linux-gnueabihf/libxkbcommon.so (found version "1.5.0") 
-- Performing Test ATOMIC_LOCK_FREE_INSTRUCTIONS
-- Performing Test ATOMIC_LOCK_FREE_INSTRUCTIONS - Success
-- Found MySqlClient: /usr/lib/arm-linux-gnueabihf/libmysqlclient.so (found version "") 
-- Performing Test HAVE_SHAIRPLAY_CALLBACK_CLS
-- Performing Test HAVE_SHAIRPLAY_CALLBACK_CLS - Success
-- Found Shairplay: /usr/lib/arm-linux-gnueabihf/libshairplay.so  
-- find_addon_xml_in_files: filtering addons/xbmc.json
-- core_add_subdirs_from_filelist - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/messages/flatbuffers/*.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/messages/flatbuffers/retroplayer.txt
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/messages -> build/cores/RetroPlayer/messages
-- copy_files_from_filelist_to_buildtree - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/common/*.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/linux/*.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/common/addons.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.oc_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.oc_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.os_os/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.os_os/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.aac/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.aac/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.oc_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.oc_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.os_os/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.os_os/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/audioencoder.kodi.builtin.wma/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/audioencoder.kodi.builtin.wma/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.fil/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.fil/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.oc_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.oc_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.os_os/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.os_os/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/layout.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/layout.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.default/resources/layout.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.default/resources/layout.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/layout.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/layout.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.keyboard/resources/layout.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.keyboard/resources/layout.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.oc_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.oc_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.os_os/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.os_os/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/layout.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/layout.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.mouse/resources/layout.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.mouse/resources/layout.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.fil/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.fil/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.oc_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.oc_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.os_os/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.os_os/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/layout.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/layout.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/layout.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/layout.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/game.controller.snes/resources/mask.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/game.controller.snes/resources/mask.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/kodi.resource/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/kodi.resource/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/kodi.resource/games.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/kodi.resource/games.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/kodi.resource/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/kodi.resource/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/kodi.resource/images.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/kodi.resource/images.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/kodi.resource/language.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/kodi.resource/language.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/kodi.resource/timezone.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/kodi.resource/timezone.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/kodi.resource/uisounds.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/kodi.resource/uisounds.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/albumuniversal.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/albumuniversal.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/changelog.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/changelog.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Afrikaans/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Afrikaans/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Amharic/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Amharic/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Asturian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Asturian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Belarusian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Belarusian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Bulgarian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Bulgarian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Burmese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Burmese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Catalan/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Catalan/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Chinese (Traditional)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Chinese (Traditional)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Croatian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Croatian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Czech/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Czech/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Danish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Danish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Dutch/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Dutch/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/English (Australia)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/English (Australia)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/English (New Zealand)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/English (New Zealand)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/English (US)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/English (US)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/English/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/English/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Estonian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Estonian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Finnish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Finnish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/French (Canada)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/French (Canada)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/French/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/French/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Galician/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Galician/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Georgian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Georgian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/German/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/German/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Greek/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Greek/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Hebrew/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Hebrew/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Hungarian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Hungarian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Icelandic/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Icelandic/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Indonesian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Indonesian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Italian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Italian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Japanese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Japanese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Korean/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Korean/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Latvian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Latvian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Lithuanian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Lithuanian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Macedonian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Macedonian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Malay/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Malay/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Norwegian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Norwegian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Polish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Polish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Portuguese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Portuguese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Romanian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Romanian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Russian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Russian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Slovak/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Slovak/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Slovenian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Slovenian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Spanish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Spanish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Swedish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Swedish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Tamil (India)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Tamil (India)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Thai/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Thai/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Turkish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Turkish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Ukrainian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Ukrainian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Vietnamese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Vietnamese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/language/Welsh/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/language/Welsh/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.album.universal/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.album.universal/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/artistuniversal.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/artistuniversal.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/changelog.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/changelog.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Afrikaans/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Afrikaans/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Amharic/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Amharic/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Arabic/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Arabic/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Asturian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Asturian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Belarusian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Belarusian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Bulgarian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Bulgarian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Burmese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Burmese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Catalan/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Catalan/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Chinese (Simple)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Chinese (Simple)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Chinese (Traditional)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Chinese (Traditional)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Croatian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Croatian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Czech/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Czech/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Danish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Danish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Dutch/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Dutch/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/English (Australia)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/English (Australia)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/English (New Zealand)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/English (New Zealand)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/English (US)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/English (US)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/English/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/English/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Estonian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Estonian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Finnish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Finnish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/French (Canada)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/French (Canada)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/French/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/French/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Galician/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Galician/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/German/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/German/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Greek/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Greek/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Hebrew/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Hebrew/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Hungarian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Hungarian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Icelandic/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Icelandic/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Indonesian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Indonesian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Italian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Italian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Japanese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Japanese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Korean/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Korean/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Latvian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Latvian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Lithuanian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Lithuanian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Macedonian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Macedonian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Malay/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Malay/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Norwegian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Norwegian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Polish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Polish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Portuguese (Brazil)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Portuguese (Brazil)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Portuguese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Portuguese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Romanian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Romanian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Russian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Russian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Slovak/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Slovak/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Slovenian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Slovenian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Spanish (Argentina)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Spanish (Argentina)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Spanish (Mexico)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Spanish (Mexico)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Spanish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Spanish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Swedish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Swedish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Tamil (India)/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Tamil (India)/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Thai/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Thai/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Turkish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Turkish/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Ukrainian/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Ukrainian/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Vietnamese/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Vietnamese/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/language/Welsh/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/language/Welsh/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.artists.universal/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.artists.universal/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.allmusic.com/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.allmusic.com/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.allmusic.com/allmusic.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.allmusic.com/allmusic.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.allmusic.com/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.allmusic.com/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.fanart.tv/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.fanart.tv/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.fanart.tv/fanarttv.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.fanart.tv/fanarttv.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.fanart.tv/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.fanart.tv/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.musicbrainz.org/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.musicbrainz.org/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.musicbrainz.org/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.musicbrainz.org/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.musicbrainz.org/musicbrainz.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.musicbrainz.org/musicbrainz.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.theaudiodb.com/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.theaudiodb.com/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.theaudiodb.com/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.theaudiodb.com/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.common.theaudiodb.com/tadb.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.common.theaudiodb.com/tadb.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/LICENSE.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/LICENSE.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/changelog.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/changelog.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/default.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/default.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/allmusic.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/allmusic.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/discogs.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/discogs.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/fanarttv.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/fanarttv.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/musicbrainz.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/musicbrainz.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/nfo.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/nfo.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/scraper.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/scraper.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/theaudiodb.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/theaudiodb.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/utils.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/utils.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/lib/wikipedia.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/lib/wikipedia.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.albums/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.albums/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/LICENSE.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/LICENSE.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/changelog.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/changelog.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/default.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/default.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/allmusic.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/allmusic.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/discogs.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/discogs.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/fanarttv.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/fanarttv.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/musicbrainz.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/musicbrainz.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/nfo.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/nfo.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/scraper.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/scraper.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/theaudiodb.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/theaudiodb.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/utils.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/utils.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/lib/wikipedia.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/lib/wikipedia.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.generic.artists/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.generic.artists/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.local/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.local/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.local/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.local/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.local/local.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.local/local.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/LICENSE.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/LICENSE.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/README.md -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/README.md
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/__init__.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/__init__.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/__init__.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/__init__.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/api_utils.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/api_utils.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/fanarttv.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/fanarttv.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/imdbratings.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/imdbratings.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/tmdb.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/tmdb.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/tmdbapi.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/tmdbapi.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/traktratings.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/lib/tmdbscraper/traktratings.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/scraper.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/scraper.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/scraper_config.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/scraper_config.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/python/scraper_datahelper.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/python/scraper_datahelper.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.themoviedb.org.python/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.themoviedb.org.python/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/LICENSE.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/LICENSE.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/changelog.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/changelog.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/actions.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/actions.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/api_utils.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/api_utils.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/cache.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/cache.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/data_utils.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/data_utils.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/debugger.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/debugger.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/imdbratings.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/imdbratings.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/settings.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/settings.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/tmdb.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/tmdb.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/traktratings.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/traktratings.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/libs/utils.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/libs/utils.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/main.py -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/main.py
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/metadata.tvshows.themoviedb.org.python/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/metadata.tvshows.themoviedb.org.python/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/repository.xbmc.org/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/repository.xbmc.org/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/repository.xbmc.org/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/repository.xbmc.org/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/License.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/License.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/0.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/0.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/1.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/1.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/10.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/10.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/11.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/11.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/12.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/12.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/13.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/13.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/14.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/14.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/15.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/15.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/16.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/16.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/17.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/17.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/18.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/18.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/19.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/19.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/2.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/2.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/20.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/20.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/21.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/21.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/22.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/22.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/23.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/23.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/24.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/24.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/25.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/25.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/26.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/26.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/27.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/27.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/28.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/28.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/29.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/29.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/3.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/3.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/30.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/30.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/31.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/31.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/32.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/32.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/33.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/33.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/34.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/34.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/35.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/35.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/36.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/36.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/37.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/37.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/38.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/38.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/39.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/39.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/4.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/4.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/40.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/40.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/41.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/41.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/42.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/42.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/43.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/43.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/44.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/44.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/45.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/45.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/46.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/46.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/47.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/47.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/5.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/5.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/6.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/6.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/7.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/7.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/8.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/8.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/9.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/9.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/License.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/License.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.images.weathericons.default/resources/na.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.images.weathericons.default/resources/na.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_gb/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_gb/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_gb/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_gb/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_gb/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_gb/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_gb/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_gb/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.timezone/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.timezone/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/resources/back.wav -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/resources/back.wav
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/resources/click.wav -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/resources/click.wav
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/resources/cursor.wav -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/resources/cursor.wav
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/resources/notify.wav -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/resources/notify.wav
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/resources/out.wav -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/resources/out.wav
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/resources/shutter.wav -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/resources/shutter.wav
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.uisounds.kodi/resources/sounds.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.uisounds.kodi/resources/sounds.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.black/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.black/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.black/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.black/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/screensaver.xbmc.builtin.dim/resources/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/screensaver.xbmc.builtin.dim/resources/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/script.module.pil/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/script.module.pil/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/script.module.pil/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/script.module.pil/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/script.module.pycryptodome/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/script.module.pycryptodome/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/script.module.pycryptodome/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/script.module.pycryptodome/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/css/core.css -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/css/core.css
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/css/ipad.css -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/css/ipad.css
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/favicon.ico -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/favicon.ico
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/images/DefaultAlbumCover.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/images/DefaultAlbumCover.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/images/DefaultVideo.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/images/DefaultVideo.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/images/ajax-loader.gif -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/images/ajax-loader.gif
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/images/close-button.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/images/close-button.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/images/remote.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/images/remote.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/index.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/index.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/js/MediaLibrary.js -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/js/MediaLibrary.js
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/js/NowPlayingManager.js -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/js/NowPlayingManager.js
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/js/json2.js -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/js/json2.js
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/js/xbmc.core.js -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/js/xbmc.core.js
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/js/xbmc.init.js -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/js/xbmc.init.js
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/js/xbmc.launcher.js -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/js/xbmc.launcher.js
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/webinterface.default/js/xbmc.rpc.js -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/webinterface.default/js/xbmc.rpc.js
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.addon/metadata.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.addon/metadata.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.addon/repository.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.addon/repository.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.core/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.core/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.gui/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.gui/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.gui/skin.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.gui/skin.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.metadata/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.metadata/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.metadata/scraper.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.metadata/scraper.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.python/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.python/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.python/contextitem.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.python/contextitem.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.python/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.python/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.python/pluginsource.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.python/pluginsource.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.python/script.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.python/script.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.python/service.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.python/service.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.webinterface/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.webinterface/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/xbmc.webinterface/webinterface.xsd -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/xbmc.webinterface/webinterface.xsd
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.af_za/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.af_za/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.af_za/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.af_za/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.af_za/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.af_za/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.af_za/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.af_za/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.am_et/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.am_et/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.am_et/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.am_et/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.am_et/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.am_et/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.am_et/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.am_et/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ar_sa/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ar_sa/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ar_sa/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ar_sa/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ar_sa/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ar_sa/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ar_sa/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ar_sa/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ast_es/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ast_es/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ast_es/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ast_es/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ast_es/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ast_es/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.az_az/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.az_az/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.az_az/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.az_az/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.az_az/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.az_az/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.az_az/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.az_az/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.be_by/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.be_by/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.be_by/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.be_by/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.be_by/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.be_by/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.be_by/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.be_by/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bg_bg/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bg_bg/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bg_bg/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bg_bg/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bg_bg/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bg_bg/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bg_bg/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bg_bg/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bs_ba/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bs_ba/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bs_ba/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bs_ba/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bs_ba/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bs_ba/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.bs_ba/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.bs_ba/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ca_es/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ca_es/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ca_es/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ca_es/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ca_es/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ca_es/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ca_es/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ca_es/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cs_cz/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cs_cz/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cs_cz/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cs_cz/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cs_cz/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cs_cz/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cs_cz/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cs_cz/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cy_gb/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cy_gb/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cy_gb/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cy_gb/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cy_gb/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cy_gb/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.cy_gb/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.cy_gb/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.da_dk/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.da_dk/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.da_dk/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.da_dk/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.da_dk/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.da_dk/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.da_dk/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.da_dk/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.de_de/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.de_de/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.de_de/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.de_de/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.de_de/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.de_de/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.de_de/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.de_de/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.el_gr/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.el_gr/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.el_gr/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.el_gr/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.el_gr/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.el_gr/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.el_gr/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.el_gr/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_au/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_au/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_au/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_au/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_au/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_au/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_au/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_au/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_nz/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_nz/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_nz/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_nz/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_nz/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_nz/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_nz/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_nz/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_us/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_us/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_us/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_us/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_us/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_us/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.en_us/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.en_us/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eo/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eo/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eo/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eo/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eo/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eo/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eo/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eo/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_ar/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_ar/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_ar/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_ar/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_ar/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_ar/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_ar/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_ar/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_es/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_es/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_es/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_es/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_es/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_es/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_es/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_es/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_mx/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_mx/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_mx/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_mx/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_mx/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_mx/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.es_mx/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.es_mx/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.et_ee/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.et_ee/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.et_ee/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.et_ee/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.et_ee/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.et_ee/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.et_ee/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.et_ee/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eu_es/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eu_es/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eu_es/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eu_es/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eu_es/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eu_es/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.eu_es/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.eu_es/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_af/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_af/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_af/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_af/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_af/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_af/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_af/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_af/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_ir/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_ir/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_ir/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_ir/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_ir/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_ir/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fa_ir/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fa_ir/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fi_fi/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fi_fi/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fi_fi/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fi_fi/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fi_fi/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fi_fi/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fi_fi/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fi_fi/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fil/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fil/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fil/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fil/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fil/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fil/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fil/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fil/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fo_fo/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fo_fo/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fo_fo/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fo_fo/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fo_fo/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fo_fo/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fo_fo/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fo_fo/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_ca/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_ca/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_ca/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_ca/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_ca/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_ca/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_ca/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_ca/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_fr/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_fr/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_fr/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_fr/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_fr/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_fr/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.fr_fr/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.fr_fr/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.gl_es/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.gl_es/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.gl_es/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.gl_es/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.gl_es/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.gl_es/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.gl_es/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.gl_es/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.he_il/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.he_il/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.he_il/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.he_il/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.he_il/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.he_il/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.he_il/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.he_il/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hi_in/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hi_in/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hi_in/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hi_in/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hi_in/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hi_in/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hi_in/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hi_in/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hr_hr/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hr_hr/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hr_hr/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hr_hr/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hr_hr/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hr_hr/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hr_hr/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hr_hr/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hu_hu/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hu_hu/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hu_hu/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hu_hu/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hu_hu/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hu_hu/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hu_hu/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hu_hu/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hy_am/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hy_am/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hy_am/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hy_am/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hy_am/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hy_am/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.hy_am/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.hy_am/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.id_id/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.id_id/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.id_id/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.id_id/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.id_id/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.id_id/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.id_id/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.id_id/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.is_is/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.is_is/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.is_is/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.is_is/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.is_is/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.is_is/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.is_is/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.is_is/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.it_it/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.it_it/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.it_it/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.it_it/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.it_it/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.it_it/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.it_it/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.it_it/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ja_jp/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ja_jp/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ja_jp/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ja_jp/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ja_jp/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ja_jp/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ja_jp/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ja_jp/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.kn_in/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.kn_in/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.kn_in/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.kn_in/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.kn_in/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.kn_in/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ko_kr/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ko_kr/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ko_kr/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ko_kr/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ko_kr/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ko_kr/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ko_kr/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ko_kr/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lt_lt/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lt_lt/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lt_lt/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lt_lt/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lt_lt/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lt_lt/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lt_lt/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lt_lt/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lv_lv/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lv_lv/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lv_lv/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lv_lv/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lv_lv/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lv_lv/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.lv_lv/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.lv_lv/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mi/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mi/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mi/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mi/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mi/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mi/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mi/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mi/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mk_mk/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mk_mk/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mk_mk/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mk_mk/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mk_mk/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mk_mk/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mk_mk/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mk_mk/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ml_in/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ml_in/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ml_in/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ml_in/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ml_in/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ml_in/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ml_in/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ml_in/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mn_mn/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mn_mn/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mn_mn/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mn_mn/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mn_mn/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mn_mn/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mn_mn/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mn_mn/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ms_my/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ms_my/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ms_my/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ms_my/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ms_my/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ms_my/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ms_my/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ms_my/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mt_mt/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mt_mt/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mt_mt/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mt_mt/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mt_mt/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mt_mt/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.mt_mt/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.mt_mt/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.my_mm/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.my_mm/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.my_mm/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.my_mm/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.my_mm/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.my_mm/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.my_mm/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.my_mm/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nb_no/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nb_no/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nb_no/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nb_no/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nb_no/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nb_no/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nb_no/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nb_no/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nl_nl/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nl_nl/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nl_nl/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nl_nl/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nl_nl/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nl_nl/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.nl_nl/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.nl_nl/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.os_os/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.os_os/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.os_os/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.os_os/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.os_os/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.os_os/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.os_os/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.os_os/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pl_pl/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pl_pl/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pl_pl/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pl_pl/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pl_pl/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pl_pl/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pl_pl/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pl_pl/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_br/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_br/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_br/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_br/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_br/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_br/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_br/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_br/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_pt/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_pt/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_pt/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_pt/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_pt/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_pt/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.pt_pt/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.pt_pt/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ro_ro/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ro_ro/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ro_ro/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ro_ro/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ro_ro/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ro_ro/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ro_ro/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ro_ro/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ru_ru/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ru_ru/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ru_ru/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ru_ru/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ru_ru/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ru_ru/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ru_ru/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ru_ru/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.si_lk/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.si_lk/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.si_lk/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.si_lk/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.si_lk/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.si_lk/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.si_lk/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.si_lk/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sk_sk/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sk_sk/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sk_sk/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sk_sk/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sk_sk/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sk_sk/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sk_sk/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sk_sk/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sl_si/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sl_si/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sl_si/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sl_si/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sl_si/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sl_si/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sl_si/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sl_si/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sq_al/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sq_al/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sq_al/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sq_al/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sq_al/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sq_al/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sq_al/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sq_al/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs@latin/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs@latin/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs@latin/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs@latin/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs@latin/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs@latin/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sr_rs@latin/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sr_rs@latin/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sv_se/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sv_se/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sv_se/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sv_se/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sv_se/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sv_se/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.sv_se/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.sv_se/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.szl/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.szl/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.szl/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.szl/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.szl/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.szl/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.szl/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.szl/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ta_in/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ta_in/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ta_in/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ta_in/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ta_in/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ta_in/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.ta_in/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.ta_in/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.te_in/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.te_in/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.te_in/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.te_in/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.te_in/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.te_in/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.te_in/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.te_in/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tg_tj/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tg_tj/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tg_tj/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tg_tj/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tg_tj/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tg_tj/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tg_tj/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tg_tj/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.th_th/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.th_th/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.th_th/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.th_th/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.th_th/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.th_th/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.th_th/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.th_th/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tr_tr/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tr_tr/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tr_tr/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tr_tr/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tr_tr/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tr_tr/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.tr_tr/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.tr_tr/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uk_ua/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uk_ua/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uk_ua/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uk_ua/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uk_ua/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uk_ua/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uk_ua/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uk_ua/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uz_uz/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uz_uz/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uz_uz/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uz_uz/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uz_uz/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uz_uz/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.uz_uz/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.uz_uz/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.vi_vn/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.vi_vn/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.vi_vn/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.vi_vn/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.vi_vn/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.vi_vn/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.vi_vn/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.vi_vn/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_cn/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_cn/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_cn/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_cn/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_cn/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_cn/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_cn/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_cn/resources/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_tw/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_tw/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_tw/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_tw/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_tw/resources/langinfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_tw/resources/langinfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/resource.language.zh_tw/resources/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/resource.language.zh_tw/resources/strings.po
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/common/certificates.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/common/common.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/Fonts/arial.ttf -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/Fonts/arial.ttf
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/Fonts/teletext.ttf -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/Fonts/teletext.ttf
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/banner.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/banner.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/icon120x120.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/icon120x120.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/icon16x16.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/icon16x16.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/icon256x256.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/icon256x256.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/icon32x32.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/icon32x32.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/icon48x48.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/icon48x48.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/icon80x80.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/icon80x80.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/splash.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/splash.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/vendor_icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/vendor_icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/media/vendor_logo.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/media/vendor_logo.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/addon-manifest.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/addon-manifest.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/colors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/colors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/dialogcolors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/dialogcolors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/arabic.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/arabic.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/bulgarian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/bulgarian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/chinese.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/chinese.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/croatian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/croatian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/czech.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/czech.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/danish.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/danish.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/english.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/english.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/estonian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/estonian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/french.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/french.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/german.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/german.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/greek.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/greek.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/hebrew.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/hebrew.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/hungarian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/hungarian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/icelandic.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/icelandic.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/italian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/italian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/korean.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/korean.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/lithuanian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/lithuanian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/norwegian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/norwegian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/persian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/persian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/polish.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/polish.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/portuguese.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/portuguese.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/romanian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/romanian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/russian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/russian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/silesian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/silesian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/slovak.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/slovak.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/slovenian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/slovenian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/spanish.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/spanish.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/swedish.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/swedish.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/thai.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/thai.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/turkish.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/turkish.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keyboardlayouts/ukrainian.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keyboardlayouts/ukrainian.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/appcommand.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/appcommand.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/customcontroller.AppleRemote.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/customcontroller.AppleRemote.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/customcontroller.Harmony.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/customcontroller.Harmony.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/customcontroller.SiriRemote.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/customcontroller.SiriRemote.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/gamepad.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/gamepad.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/joystick.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/joystick.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/keyboard.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/keyboard.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/mouse.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/mouse.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/nyxboard/keyboard.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/nyxboard/keyboard.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/osmc/osmc_remote.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/osmc/osmc_remote.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/remote.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/remote.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/touchscreen.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/touchscreen.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/keymaps/wetek-play/keyboard.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/keymaps/wetek-play/keyboard.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/addons.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/addons.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/albums.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/albums.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/artists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/artists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/boxsets.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/boxsets.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/compilations.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/compilations.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/files.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/files.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/genres.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/genres.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/albumartists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/albumartists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/allartists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/allartists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/allcontributors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/allcontributors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/allroles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/allroles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/arrangers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/arrangers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/composers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/composers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/conductors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/conductors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/djmixers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/djmixers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/index.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/index.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/lyricists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/lyricists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/orchestras.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/orchestras.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicroles/remixers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicroles/remixers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/albums.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/albums.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/artists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/artists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/directors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/directors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/genres.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/genres.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/index.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/index.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/studios.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/studios.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/tags.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/tags.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/titles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/titles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/musicvideos/years.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/musicvideos/years.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/playlists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/playlists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/recentlyaddedalbums.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/recentlyaddedalbums.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/recentlyplayedalbums.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/recentlyplayedalbums.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/singles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/singles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/songs.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/songs.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/sources.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/sources.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/top100/index.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/top100/index.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/top100/top100albums.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/top100/top100albums.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/top100/top100songs.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/top100/top100songs.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/music/years.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/music/years.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/addons.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/addons.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/files.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/files.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/actors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/actors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/country.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/country.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/directors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/directors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/genres.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/genres.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/index.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/index.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/recentlyaddedmovies.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/recentlyaddedmovies.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/sets.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/sets.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/studios.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/studios.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/tags.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/tags.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/titles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/titles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/movies/years.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/movies/years.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/albums.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/albums.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/artists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/artists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/directors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/directors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/genres.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/genres.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/index.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/index.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/recentlyaddedmusicvideos.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/recentlyaddedmusicvideos.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/studios.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/studios.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/tags.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/tags.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/titles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/titles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/musicvideos/years.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/musicvideos/years.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/playlists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/playlists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/actors.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/actors.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/genres.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/genres.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/index.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/index.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/inprogressshows.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/inprogressshows.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/recentlyaddedepisodes.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/recentlyaddedepisodes.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/studios.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/studios.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/tags.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/tags.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/titles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/titles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video/tvshows/years.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video/tvshows/years.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/addons.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/addons.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/files.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/files.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/inprogressshows.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/inprogressshows.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/movies.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/movies.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/musicvideos.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/musicvideos.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/playlists.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/playlists.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/recentlyaddedepisodes.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/recentlyaddedepisodes.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/recentlyaddedmovies.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/recentlyaddedmovies.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/recentlyaddedmusicvideos.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/recentlyaddedmusicvideos.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/library/video_flat/tvshows.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/library/video_flat/tvshows.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/peripherals.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/peripherals.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/playercorefactory.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/playercorefactory.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/android.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/android.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/darwin.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/darwin.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/darwin_ios.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/darwin_ios.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/darwin_osx.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/darwin_osx.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/darwin_tvos.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/darwin_tvos.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/freebsd.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/freebsd.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/linux.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/linux.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/win10.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/win10.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/win32.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/win32.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/settings/windows.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/settings/windows.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_convolution-4x4.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_convolution-4x4.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_convolution-6x6.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_convolution-6x6.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_output.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_output.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_frag_default.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_frag_default.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_frag_fonts.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_frag_fonts.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_frag_multi.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_frag_multi.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_frag_multi_blendcolor.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_frag_multi_blendcolor.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_frag_texture.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_frag_texture.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_frag_texture_noblend.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_frag_texture_noblend.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_vert.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_vert.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_shader_vert_default.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_shader_vert_default.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_stretch.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_stretch.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_videofilter_frag.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_videofilter_frag.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_videofilter_vertex.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_videofilter_vertex.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.2/gl_yuv2rgb_vertex.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.2/gl_yuv2rgb_vertex.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_convolution-4x4.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_convolution-4x4.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_convolution-6x6.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_convolution-6x6.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_output.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_output.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_frag_default.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_frag_default.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_frag_fonts.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_frag_fonts.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_frag_multi.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_frag_multi.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_frag_multi_blendcolor.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_frag_multi_blendcolor.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_frag_texture.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_frag_texture.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_frag_texture_lim.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_frag_texture_lim.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_frag_texture_noblend.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_frag_texture_noblend.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_vert.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_vert.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_shader_vert_default.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_shader_vert_default.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_stretch.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_stretch.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_tonemap.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_tonemap.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_videofilter_frag.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_videofilter_frag.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_videofilter_vertex.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_videofilter_vertex.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/1.5/gl_yuv2rgb_vertex.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/1.5/gl_yuv2rgb_vertex.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GL/4.0/gl_yuv2rgb_filter4.glsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GL/4.0/gl_yuv2rgb_filter4.glsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_convolution-4x4.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_convolution-4x4.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_convolution-6x6.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_convolution-6x6.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader.vert -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader.vert
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_default.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_default.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_fonts.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_fonts.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_multi.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_multi.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_multi_blendcolor.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_multi_blendcolor.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_rgba.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_rgba.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_rgba_blendcolor.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_rgba_blendcolor.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_rgba_bob.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_rgba_bob.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_rgba_bob_oes.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_rgba_bob_oes.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_rgba_oes.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_rgba_oes.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_texture.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_texture.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_texture_noalpha.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_texture_noalpha.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_shader_texture_noblend.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_shader_texture_noblend.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_tonemap.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_tonemap.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_videofilter.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_videofilter.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_videofilter.vert -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_videofilter.vert
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_yuv2rgb.vert -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_yuv2rgb.vert
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_yuv2rgb_basic.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_yuv2rgb_basic.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/GLES/2.0/gles_yuv2rgb_bob.frag -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/GLES/2.0/gles_yuv2rgb_bob.frag
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/convolution-4x4_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/convolution-4x4_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/convolution-6x6_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/convolution-6x6_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/convolution_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/convolution_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/convolutionsep-4x4_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/convolutionsep-4x4_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/convolutionsep-6x6_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/convolutionsep-6x6_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_checkerboard_left.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_checkerboard_left.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_checkerboard_right.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_checkerboard_right.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_common.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_common.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_default.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_default.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_fonts.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_fonts.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_interlaced_left.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_interlaced_left.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_interlaced_right.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_interlaced_right.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_multi_texture_blend.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_multi_texture_blend.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_texture.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_texture.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_texture_noblend.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_texture_noblend.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/guishader_vert.hlsl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/guishader_vert.hlsl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/output_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/output_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/rp_output_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/rp_output_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/shaders/yuv2rgb_d3d.fx -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/shaders/yuv2rgb_d3d.fx
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/userdata/ModeLines_template.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/userdata/ModeLines_template.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/userdata/RssFeeds.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/userdata/RssFeeds.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/userdata/iOS/sources.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/userdata/iOS/sources.xml
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/linux/lirc.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/system/Lircmap.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/system/Lircmap.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/LICENSE.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/LICENSE.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/changelog.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/changelog.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/brown.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/brown.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/charcoal.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/charcoal.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/chartreuse.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/chartreuse.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/concrete.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/concrete.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/defaults.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/defaults.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/gold.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/gold.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/green.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/green.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/maroon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/maroon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/midnight.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/midnight.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/orange.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/orange.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/pink.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/pink.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/rose.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/rose.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/teal.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/teal.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/colors/violet.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/colors/violet.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern0.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern0.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern1.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern1.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern2.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern2.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern3.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern3.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern4.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern4.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern5.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern5.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern6.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern6.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/pattern7.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/pattern7.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/backgrounds/primary.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/backgrounds/primary.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/home-images/LICENSE -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/home-images/LICENSE
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/home-images/movie.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/home-images/movie.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/extras/home-images/music.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/extras/home-images/music.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/fonts/heebo_licence.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/fonts/heebo_licence.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/fonts/mardoto_license.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/fonts/mardoto_license.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/fonts/noto_license.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/fonts/noto_license.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/fonts/roboto_license.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/fonts/roboto_license.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.fil/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.fil/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/inprogress_movies.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/inprogress_movies.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/mostplayed_albums.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/mostplayed_albums.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/random_albums.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/random_albums.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/random_artists.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/random_artists.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/random_movies.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/random_movies.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/random_musicvideo_artists.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/random_musicvideo_artists.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/random_musicvideos.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/random_musicvideos.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/recent_unwatched_episodes.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/recent_unwatched_episodes.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/recent_unwatched_movies.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/recent_unwatched_movies.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/unplayed_albums.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/unplayed_albums.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/unwatched_movies.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/unwatched_movies.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/unwatched_musicvideos.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/unwatched_musicvideos.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/playlists/unwatched_tvshows.xsp -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/playlists/unwatched_tvshows.xsp
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/fanart.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/fanart.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-01.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-01.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-02.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-02.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-03.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-03.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-04.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-04.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-05.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-05.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-06.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-06.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-07.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-07.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/resources/screenshot-08.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/resources/screenshot-08.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/curial/buttons/button-nofo.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/curial/buttons/button-nofo.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/curial/dialogs/dialog-bg-nobo.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/curial/dialogs/dialog-bg-nobo.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/curial/dialogs/dialog-bg.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/curial/dialogs/dialog-bg.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/curial/lists/panel-mediamenu.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/curial/lists/panel-mediamenu.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/curial/lists/panel.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/curial/lists/panel.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/curial/overlays/shadow.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/curial/overlays/shadow.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/flat/buttons/button-nofo.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/flat/buttons/button-nofo.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/flat/dialogs/dialog-bg.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/flat/dialogs/dialog-bg.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/flat/overlays/shadow.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/themes/flat/overlays/shadow.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/AddonBrowser.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/AddonBrowser.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1100_AddonLauncher.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1100_AddonLauncher.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1101_SettingsList.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1101_SettingsList.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1102_TextViewer.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1102_TextViewer.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1103_VolumeSlider.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1103_VolumeSlider.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1104_Fanart.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1104_Fanart.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1105_MusicOSDSettings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1105_MusicOSDSettings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1107_SearchDialog.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1107_SearchDialog.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1109_TopBarOverlay.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1109_TopBarOverlay.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Custom_1110_TempoControl.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Custom_1110_TempoControl.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Defaults.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Defaults.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogAddonInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogAddonInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogAddonSettings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogAddonSettings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogBusy.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogBusy.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogButtonMenu.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogButtonMenu.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogColorPicker.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogColorPicker.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogConfirm.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogConfirm.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogContextMenu.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogContextMenu.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogExtendedProgressBar.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogExtendedProgressBar.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogFavourites.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogFavourites.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogFullScreenInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogFullScreenInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogGameControllers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogGameControllers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogKeyboard.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogKeyboard.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogMediaSource.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogMediaSource.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogMusicInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogMusicInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogNotification.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogNotification.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogNumeric.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogNumeric.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRChannelGuide.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRChannelGuide.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRChannelManager.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRChannelManager.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRChannelsOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRChannelsOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRGroupManager.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRGroupManager.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRGuideControls.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRGuideControls.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRGuideSearch.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRGuideSearch.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPVRRadioRDSInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPVRRadioRDSInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPictureInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPictureInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogPlayerProcessInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogPlayerProcessInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogSeekBar.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogSeekBar.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogSelect.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogSelect.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogSettings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogSettings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogSlider.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogSlider.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogSubtitles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogSubtitles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogTextViewer.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogTextViewer.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogVideoInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogVideoInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/DialogVolumeBar.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/DialogVolumeBar.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/EventLog.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/EventLog.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/FileBrowser.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/FileBrowser.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/FileManager.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/FileManager.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Font.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Font.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/GameOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/GameOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Home.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Home.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_Animations.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_Animations.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_Buttons.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_Buttons.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_DialogSelect.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_DialogSelect.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_Games.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_Games.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_Home.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_Home.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_MediaMenu.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_MediaMenu.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_MusicInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_MusicInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Includes_PVR.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Includes_PVR.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/LoginScreen.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/LoginScreen.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MusicOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MusicOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MusicVisualisation.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MusicVisualisation.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyFavourites.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyFavourites.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyGames.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyGames.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyMusicNav.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyMusicNav.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyMusicPlaylistEditor.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyMusicPlaylistEditor.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPVRChannels.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPVRChannels.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPVRGuide.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPVRGuide.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPVRRecordings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPVRRecordings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPVRSearch.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPVRSearch.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPVRTimers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPVRTimers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPics.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPics.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPlaylist.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPlaylist.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyPrograms.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyPrograms.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyVideoNav.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyVideoNav.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/MyWeather.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/MyWeather.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/PlayerControls.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/PlayerControls.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Pointer.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Pointer.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SettingsCategory.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SettingsCategory.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SettingsProfile.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SettingsProfile.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SettingsScreenCalibration.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SettingsScreenCalibration.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SettingsSystemInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SettingsSystemInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SkinSettings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SkinSettings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SlideShow.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SlideShow.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SmartPlaylistEditor.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SmartPlaylistEditor.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/SmartPlaylistRule.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/SmartPlaylistRule.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Startup.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Startup.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Timers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Timers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/Variables.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/Variables.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/VideoFullScreen.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/VideoFullScreen.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/VideoOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/VideoOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/VideoOSDBookmarks.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/VideoOSDBookmarks.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_500_Wall.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_500_Wall.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_501_Banner.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_501_Banner.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_502_FanArt.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_502_FanArt.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_503_NowPlaying.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_503_NowPlaying.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_50_List.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_50_List.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_51_Poster.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_51_Poster.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_52_IconWall.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_52_IconWall.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_53_Shift.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_53_Shift.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_54_InfoWall.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_54_InfoWall.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/xml/View_55_WideList.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/xml/View_55_WideList.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/LICENSE.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/LICENSE.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/addon.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/addon.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/background/primary.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/background/primary.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/background/secondary1.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/background/secondary1.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/background/tv.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/background/tv.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/changelog.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/changelog.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/colors/defaults.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/colors/defaults.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/fonts/noto_license.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/fonts/noto_license.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.af_za/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.af_za/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.am_et/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.am_et/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ar_sa/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ar_sa/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ast_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ast_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.az_az/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.az_az/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.be_by/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.be_by/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.bg_bg/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.bg_bg/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.bs_ba/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.bs_ba/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ca_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ca_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.cs_cz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.cs_cz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.cy_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.cy_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.da_dk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.da_dk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.de_de/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.de_de/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.el_gr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.el_gr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.en_au/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.en_au/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.en_gb/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.en_gb/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.en_nz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.en_nz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.en_us/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.en_us/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.eo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.eo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.es_ar/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.es_ar/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.es_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.es_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.es_mx/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.es_mx/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.et_ee/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.et_ee/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.eu_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.eu_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.fa_af/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.fa_af/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.fa_ir/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.fa_ir/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.fi_fi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.fi_fi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.fil/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.fil/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.fo_fo/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.fo_fo/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.fr_ca/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.fr_ca/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.fr_fr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.fr_fr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.gl_es/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.gl_es/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.he_il/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.he_il/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.hi_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.hi_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.hr_hr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.hr_hr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.hu_hu/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.hu_hu/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.hy_am/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.hy_am/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.id_id/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.id_id/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.is_is/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.is_is/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.it_it/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.it_it/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ja_jp/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ja_jp/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.kn_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.kn_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ko_kr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ko_kr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.lt_lt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.lt_lt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.lv_lv/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.lv_lv/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.mi/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.mi/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.mk_mk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.mk_mk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ml_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ml_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.mn_mn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.mn_mn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ms_my/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ms_my/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.mt_mt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.mt_mt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.my_mm/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.my_mm/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.nb_no/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.nb_no/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.nl_nl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.nl_nl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.pl_pl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.pl_pl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.pt_br/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.pt_br/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.pt_pt/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.pt_pt/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ro_ro/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ro_ro/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ru_ru/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ru_ru/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.si_lk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.si_lk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.sk_sk/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.sk_sk/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.sl_si/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.sl_si/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.sq_al/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.sq_al/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.sr_rs/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.sr_rs/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.sr_rs@latin/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.sr_rs@latin/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.sv_se/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.sv_se/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.szl/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.szl/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.ta_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.ta_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.te_in/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.te_in/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.tg_tj/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.tg_tj/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.th_th/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.th_th/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.tr_tr/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.tr_tr/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.uk_ua/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.uk_ua/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.uz_uz/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.uz_uz/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.vi_vn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.vi_vn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.zh_cn/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.zh_cn/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/language/resource.language.zh_tw/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/language/resource.language.zh_tw/strings.po
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/fanart.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/fanart.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/icon.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/icon.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-01.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-01.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-02.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-02.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-03.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-03.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-04.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-04.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-05.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-05.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-06.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-06.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-07.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-07.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-08.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-08.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-09.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-09.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-10.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-10.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-11.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-11.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/resources/screenshot-12.jpg -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/resources/screenshot-12.jpg
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/AddonBrowser.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/AddonBrowser.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/CustomFirstRun.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/CustomFirstRun.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/CustomVolume.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/CustomVolume.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/Defaults.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/Defaults.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogAddonInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogAddonInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogAddonSettings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogAddonSettings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogBusy.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogBusy.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogButtonMenu.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogButtonMenu.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogColorPicker.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogColorPicker.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogConfirm.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogConfirm.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogContextMenu.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogContextMenu.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogExtendedProgressBar.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogExtendedProgressBar.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogFavourites.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogFavourites.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogGameControllers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogGameControllers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogKeyboard.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogKeyboard.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogMediaSource.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogMediaSource.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogMusicInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogMusicInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogNotification.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogNotification.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogNumeric.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogNumeric.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPVRChannelGuide.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPVRChannelGuide.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPVRChannelManager.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPVRChannelManager.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPVRChannelsOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPVRChannelsOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPVRGroupManager.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPVRGroupManager.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPVRGuideSearch.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPVRGuideSearch.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPVRInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPVRInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPVRRadioRDSInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPVRRadioRDSInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPictureInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPictureInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogPlayerProcessInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogPlayerProcessInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogSeekBar.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogSeekBar.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogSelect.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogSelect.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogSettings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogSettings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogSlider.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogSlider.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogSubtitles.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogSubtitles.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogTextViewer.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogTextViewer.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogVideoInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogVideoInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/DialogVolumeBar.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/DialogVolumeBar.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/EventLog.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/EventLog.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/FileBrowser.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/FileBrowser.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/FileManager.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/FileManager.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/Font.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/Font.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/GameOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/GameOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/Home.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/Home.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/Includes.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/Includes.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/IncludesCodecFlagging.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/IncludesCodecFlagging.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/IncludesHomeRecentlyAdded.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/IncludesHomeRecentlyAdded.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/IncludesPlayerControls.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/IncludesPlayerControls.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/LoginScreen.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/LoginScreen.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MusicOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MusicOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MusicVisualisation.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MusicVisualisation.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyGames.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyGames.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyMusicNav.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyMusicNav.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyMusicPlaylistEditor.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyMusicPlaylistEditor.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPVRChannels.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPVRChannels.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPVRGuide.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPVRGuide.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPVRRecordings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPVRRecordings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPVRSearch.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPVRSearch.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPVRTimers.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPVRTimers.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPics.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPics.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPlaylist.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPlaylist.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyPrograms.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyPrograms.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyVideoNav.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyVideoNav.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/MyWeather.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/MyWeather.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/PlayerControls.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/PlayerControls.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/Pointer.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/Pointer.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/Settings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/Settings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SettingsCategory.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SettingsCategory.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SettingsProfile.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SettingsProfile.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SettingsScreenCalibration.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SettingsScreenCalibration.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SettingsSystemInfo.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SettingsSystemInfo.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SkinSettings.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SkinSettings.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SlideShow.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SlideShow.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SmartPlaylistEditor.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SmartPlaylistEditor.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/SmartPlaylistRule.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/SmartPlaylistRule.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/Startup.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/Startup.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/VideoFullScreen.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/VideoFullScreen.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/VideoOSD.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/VideoOSD.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/VideoOSDBookmarks.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/VideoOSDBookmarks.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/ViewsList.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/ViewsList.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/ViewsPVR.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/ViewsPVR.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/ViewsThumbnail.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/ViewsThumbnail.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/xml/ViewsWide.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/xml/ViewsWide.xml
-- core_add_subdirs_from_filelist - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/x11/*.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/linux/x11/*.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/x11/X.txt
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/X11 -> build/cores/RetroPlayer/process/X11
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/X11 -> build/cores/VideoPlayer/Process/X11
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11 -> build/windowing/X11
-- core_add_subdirs_from_filelist - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/wayland/*.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/linux/wayland/*.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/wayland/wayland.txt
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/wayland -> build/cores/RetroPlayer/process/wayland
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/wayland -> build/cores/VideoPlayer/Process/wayland
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland -> build/windowing/wayland
-- core_add_subdirs_from_filelist - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/gbm/*.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/linux/gbm/*.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/gbm/gbm.txt
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/gbm -> build/cores/RetroPlayer/process/gbm
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/gbm -> build/cores/VideoPlayer/Process/gbm
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm -> build/windowing/gbm
-- core_add_subdirs_from_filelist - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/*.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/linux/*.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/addon_dev_kit.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/addons.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/cores.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/events.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/externals.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/filesystem.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/games.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/interfaces.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/media.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/music.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/network.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/peripherals.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/profiles.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/pvr.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/retroplayer.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/settings.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/subdirs.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/tests.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/video.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/common/videoplayer.txt
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi -> build/addons_kodi-dev-kit_include_kodi
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api -> build/addons_kodi-dev-kit_include_kodi_c-api
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/platform -> build/addons_kodi-dev-kit_include_kodi_c-api_platform
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/platform/android -> build/addons_kodi-dev-kit_include_kodi_c-api_platform_android
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance -> build/addons_kodi-dev-kit_include_kodi_c-api_addon-instance
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/inputstream -> build/addons_kodi-dev-kit_include_kodi_c-api_addon-instance_inputstream
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/pvr -> build/addons_kodi-dev-kit_include_kodi_c-api_addon-instance_pvr
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/gui -> build/addons_kodi-dev-kit_include_kodi_c-api_gui
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/gui/dialogs -> build/addons_kodi-dev-kit_include_kodi_c-api_gui_dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/gui/controls -> build/addons_kodi-dev-kit_include_kodi_c-api_gui_controls
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/gui/input -> build/addons_kodi-dev-kit_include_kodi_c-api_gui_input
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/platform -> build/addons_kodi-dev-kit_include_kodi_platform
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/platform/android -> build/addons_kodi-dev-kit_include_kodi_platform_android
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance -> build/addons_kodi-dev-kit_include_kodi_addon-instance
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/peripheral -> build/addons_kodi-dev-kit_include_kodi_addon-instance_peripheral
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/inputstream -> build/addons_kodi-dev-kit_include_kodi_addon-instance_inputstream
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/pvr -> build/addons_kodi-dev-kit_include_kodi_addon-instance_pvr
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/gui -> build/addons_kodi-dev-kit_include_kodi_gui
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/gui/dialogs -> build/addons_kodi-dev-kit_include_kodi_gui_dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/gui/controls -> build/addons_kodi-dev-kit_include_kodi_gui_controls
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/gui/input -> build/addons_kodi-dev-kit_include_kodi_gui_input
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/gui/gl -> build/addons_kodi-dev-kit_include_kodi_gui_gl
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/tools -> build/addons_kodi-dev-kit_include_kodi_tools
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores -> build/cores
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -> build/cores/audioengine
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader -> build/cores/dll-loader
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports -> build/cores/dll-loader/exports
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/util -> build/cores/dll-loader/exports/util
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/ExternalPlayer -> build/cores/externalplayer
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/paplayer -> build/cores/paplayer
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/playercorefactory -> build/cores/playercorefactory
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events -> build/events
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/windows -> build/events/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/contrib/kissfft -> build/kissfft
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem -> build/filesystem
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory -> build/filesystem/musicdatabase
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory -> build/filesystem/videodatabase
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games -> build/games
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons -> build/games/addons
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/cheevos -> build/games/addons/cheevos
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input -> build/games/addons/input
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/streams -> build/games/addons/streams
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/agents -> build/games/agents
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers -> build/games/controllers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/dialogs -> build/games/controllers/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols -> build/games/controllers/guicontrols
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/input -> build/games/controllers/input
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/types -> build/games/controllers/types
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/windows -> build/games/controllers/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs -> build/games/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd -> build/games/dialogs/osd
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/input -> build/games/ports/input
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/types -> build/games/ports/types
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/windows -> build/games/ports/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/tags -> build/games/tags
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/windows -> build/games/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces -> build/interfaces
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins -> build/interfaces/builtins
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic -> build/interfaces/generic
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info -> build/interfaces/info
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc -> build/interfaces/json-rpc
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema -> build/interfaces/json-rpc/schema
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media -> build/media
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/drm -> build/drm
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music -> build/music
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/dialogs -> build/music/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner -> build/music/infoscanner
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs -> build/music/jobs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags -> build/music/tags
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows -> build/music/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network -> build/network
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/websocket -> build/network/websocket
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals -> build/peripherals
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/addons -> build/peripherals/addons
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus -> build/peripherals/bus
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus/virtual -> build/peripherals/bus/virtual
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices -> build/peripherals/devices
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/dialogs -> build/peripherals/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles -> build/profiles
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/dialogs -> build/profiles/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/windows -> build/profiles/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr -> build/pvr
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons -> build/pvr/addons
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels -> build/pvr/channels
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs -> build/pvr/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg -> build/pvr/epg
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/filesystem -> build/pvr/filesystem
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib -> build/pvr/guilib
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/guiinfo -> build/pvr/guilib/guiinfo
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/providers -> build/pvr/providers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings -> build/pvr/recordings
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/settings -> build/pvr/settings
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/timers -> build/pvr/timers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows -> build/pvr/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer -> build/cores/RetroPlayer
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/audio -> build/cores/RetroPlayer/audio
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers -> build/cores/RetroPlayer/buffers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/video -> build/cores/RetroPlayer/buffers/video
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/cheevos -> build/cores/RetroPlayer/cheevos
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge -> build/cores/RetroPlayer/guibridge
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guicontrols -> build/cores/RetroPlayer/guicontrols
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guiplayback -> build/cores/RetroPlayer/guiplayback
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guiwindows -> build/cores/RetroPlayer/guiwindows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/playback -> build/cores/RetroPlayer/playback
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process -> build/cores/RetroPlayer/process
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering -> build/cores/RetroPlayer/rendering
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoRenderers -> build/cores/RetroPlayer/rendering/VideoRenderers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoShaders -> build/cores/RetroPlayer/rendering/VideoShaders
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/savestates -> build/cores/RetroPlayer/savestates
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams -> build/cores/RetroPlayer/streams
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/memory -> build/cores/RetroPlayer/streams/memory
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings -> build/settings
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs -> build/settings/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib -> build/settings/lib
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows -> build/settings/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -> build/xbmc
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons -> build/addons
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo -> build/addons_addoninfo
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons -> build/addons_binary-addons
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui -> build/addons_gui
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/skin -> build/addons_gui_skin
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces -> build/addons_interfaces
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui -> build/addons_interfaces_gui
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls -> build/addons_interfaces_gui_controls
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs -> build/addons_interfaces_gui_dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings -> build/addons_settings
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application -> build/application
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons -> build/commons
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers -> build/dbwrappers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs -> build/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites -> build/favourites
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib -> build/guilib
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo -> build/guilib_guiinfo
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input -> build/input
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions -> build/input/actions
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/button -> build/input/button
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks -> build/input/joysticks
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/dialogs -> build/input/joysticks/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic -> build/input/joysticks/generic
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/keymaps -> build/input/joysticks/keymaps
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/keyboard -> build/input/keyboard
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/keyboard/generic -> build/input/keyboard/generic
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/mouse -> build/input/mouse
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/mouse/generic -> build/input/mouse/generic
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/listproviders -> build/listproviders
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging -> build/messaging
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/helpers -> build/messagingHelpers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures -> build/pictures
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform -> build/platform
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists -> build/playlists
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/powermanagement -> build/powermanagement
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/programs -> build/programs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering -> build/rendering
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/speech -> build/speech
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/storage -> build/storage
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads -> build/threads
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils -> build/utils
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view -> build/view
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather -> build/weather
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing -> build/windowing
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windows -> build/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/test -> build/test/addons
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/test -> build/test/audioengine_sinks
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl -> build/test/edl
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/VideoShaders/test -> build/test/videoshaders
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test -> build/test/filesystem
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/python/test -> build/test/python
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/test -> build/test/music_tags
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/test -> build/test/network
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/test -> build/test/playlists
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/test -> build/test/pvrchannels
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/test -> build/test
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/test -> build/test/threads
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/test -> build/test/utils
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test -> build/test/video
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video -> build/video
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/dialogs -> build/video/dialogs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/jobs -> build/video/jobs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/tags -> build/video/tags
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/windows -> build/video/windows
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -> build/cores/VideoPlayer
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Buffers -> build/cores/VideoPlayer/Buffers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDCodecs -> build/cores/VideoPlayer/codecs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDCodecs/Audio -> build/cores/VideoPlayer/codecs/audio
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDCodecs/Overlay -> build/cores/VideoPlayer/codecs/overlay
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDCodecs/Video -> build/cores/VideoPlayer/codecs/video
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDDemuxers -> build/cores/VideoPlayer/demuxers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDInputStreams -> build/cores/VideoPlayer/inputstreams
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDSubtitles -> build/cores/VideoPlayer/subtitles
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/DVDSubtitles/webvtt -> build/cores/VideoPlayer/subtitles/webvtt
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process -> build/cores/VideoPlayer/process
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers -> build/cores/VideoPlayer/videorenderers
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender -> build/cores/VideoPlayer/videorenderers/hwdec
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/VideoShaders -> build/cores/VideoPlayer/videorenderers/shaders
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/linux/subdirs.txt
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/linux/tests.txt
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/touch -> build/input/touch
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/touch/generic -> build/input/touch/generic
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/common/speech -> build/platform/common/speech
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -> build/platform/linux
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/input -> build/platform/linux/input
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/network -> build/platform/linux/network
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/peripherals -> build/platform/linux/peripherals
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/powermanagement -> build/platform/linux/powermanagement
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/sse4 -> build/platform/linux/sse4
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/storage -> build/platform/linux/storage
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/threads -> build/platform/linux/threads
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -> build/platform/posix
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/filesystem -> build/platform/posix/filesystem
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/network -> build/platform/posix/network
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/storage/discs -> build/platform/posix/storage/discs
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads -> build/platform/posix/threads
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/utils -> build/platform/posix/utils
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/linux -> build/windowing/linux
--   core_add_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/test -> build/platform/linux/test
-- core_add_optional_subdirs_from_filelist - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/avahi.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/cdrip.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/dacp.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/mdns.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/opengl.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/opengles.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/python.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/upnp.txt;/<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/webserver.txt
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/avahi.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux/network/zeroconf -> build/platform/linux/network/zeroconf
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/cdrip.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cdrip -> build/cdrip
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/dacp.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/dacp -> build/network/dacp
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/mdns.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/mdns -> build/mdns
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/opengl.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/gl -> build/rendering/gl
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/opengles.txt
--   core_add_optional_subdirs_from_filelist: OPTION OPENGLES not enabled for xbmc/rendering/gles, skipping subdir
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/python.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/legacy -> build/interfaces/legacy
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/legacy/wsgi -> build/interfaces/legacy/wsgi
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/python -> build/interfaces/python
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/swig -> build/swig
-- Found Java: /usr/bin/java (found version "17.0.4") found components: Runtime 
-- Found SWIG: /usr/bin/swig4.0 (found version "4.1.0") 
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/upnp.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -> build/upnp
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/upnp -> build/network/upnp
-- core_add_optional_subdirs_from_filelist - reading file: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/treedata/optional/common/webserver.txt
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/httprequesthandler -> build/network/httprequesthandler
--   core_add_optional_subdirs_from_filelist - adding subdir: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/httprequesthandler/python -> build/network/httprequesthandler/python
-- Found Gtest: /usr/lib/arm-linux-gnueabihf/libgtest.a (found version "1.12.1") 
-- copy_files_from_filelist_to_buildtree - got pattern: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/test-reference-data.txt;NO_INSTALL
-- core_file_read_filtered - filename: /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/installdata/test-reference-data.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/comskipversion1.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/comskipversion1.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/comskipversion2.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/comskipversion2.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/edlautowindautowait.edl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/edlautowindautowait.edl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/mplayerframebased.edl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/mplayerframebased.edl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/mplayertimebased.edl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/mplayertimebased.edl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/mplayertimebasedinterleavedcuts.edl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/mplayertimebasedinterleavedcuts.edl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/mplayertimebasedmixed.edl -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/mplayertimebasedmixed.edl
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/snapstream.mkv.chapters.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/snapstream.mkv.chapters.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/test/edl/testdata/videoredo.Vprj -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/cores/VideoPlayer/test/edl/testdata/videoredo.Vprj
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/apache-default.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/apache-default.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/apache-fancy.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/apache-fancy.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/apache-html.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/apache-html.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/basic-multiline.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/basic-multiline.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/basic.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/basic.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/lighttp-default.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/lighttp-default.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/nginx-default.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/nginx-default.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/data/httpdirectory/nginx-fancyindex.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/data/httpdirectory/nginx-fancyindex.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/extendedlocalheader.zip -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/extendedlocalheader.zip
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/reffile.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/reffile.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/reffile.txt.rar -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/reffile.txt.rar
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/reffile.txt.zip -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/reffile.txt.zip
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/refRARnormal.rar -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/refRARnormal.rar
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/test/refRARstored.rar -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/filesystem/test/refRARstored.rar
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/test/data/webserver/test-ranges.txt -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/network/test/data/webserver/test-ranges.txt
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/test/data/webserver/test.html -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/network/test/data/webserver/test.html
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/test/data/webserver/test.png -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/network/test/data/webserver/test.png
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/test/test.xspf -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/playlists/test/test.xspf
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test/testdata/moviestack_ab/Movie-(2001)/Movie-(2001)A.mp4 -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/video/test/testdata/moviestack_ab/Movie-(2001)/Movie-(2001)A.mp4
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test/testdata/moviestack_ab/Movie-(2001)/Movie-(2001)B.mp4 -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/video/test/testdata/moviestack_ab/Movie-(2001)/Movie-(2001)B.mp4
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test/testdata/moviestack_part/Movie_(2001)/Movie_(2001)_part1.mkv -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/video/test/testdata/moviestack_part/Movie_(2001)/Movie_(2001)_part1.mkv
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test/testdata/moviestack_part/Movie_(2001)/Movie_(2001)_part2.mkv -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/video/test/testdata/moviestack_part/Movie_(2001)/Movie_(2001)_part2.mkv
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test/testdata/moviestack_part/Movie_(2001)/Movie_(2001)_part3.mkv -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/video/test/testdata/moviestack_part/Movie_(2001)/Movie_(2001)_part3.mkv
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test/testdata/moviestack_dvdiso/Movie_(2001)/Movie_(2001)_dvd1.iso -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/video/test/testdata/moviestack_dvdiso/Movie_(2001)/Movie_(2001)_dvd1.iso
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/test/testdata/moviestack_dvdiso/Movie_(2001)/Movie_(2001)_dvd2.iso -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/video/test/testdata/moviestack_dvdiso/Movie_(2001)/Movie_(2001)_dvd2.iso
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/test/CXBMCTinyXML-test.xml -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/utils/test/CXBMCTinyXML-test.xml
-- copy_file_to_buildtree - copying file: /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/test/data/language/Spanish/strings.po -> /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/xbmc/utils/test/data/language/Spanish/strings.po
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.4") found components: doxygen missing components: dot
-- Found CWiid: /usr/lib/libcwiid.so (found version "0.6.00") 
-- Found GLU: /usr/lib/arm-linux-gnueabihf/libGLU.so  
<string>:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
<string>:1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
-- #---- CONFIGURATION ----#
-- Platforms: x11 wayland gbm
-- App package: org.xbmc.kodi
-- -- PATH config --
-- Prefix: /usr
-- Libdir: /usr/lib/arm-linux-gnueabihf
-- Bindir: /usr/bin
-- Includedir: /usr/include
-- Datarootdir: /usr/share
-- Datadir: /usr/share
-- Docdir: /usr/share/doc/kodi
-- CCACHE enabled: No
-- CLANGFORMAT enabled: No
-- CLANGTIDY enabled: No
-- CPPCHECK enabled: No
-- INCLUDEWHATYOUUSE enabled: No
-- ALSA enabled: Yes
-- AVAHI enabled: Yes
-- BLUETOOTH enabled: Yes
-- BLURAY enabled: Yes
-- CAP enabled: Yes
-- CEC enabled: Yes
-- DAV1D enabled: Yes
-- DBUS enabled: Yes
-- ISO9660PP enabled: Yes
-- LCMS2 enabled: Yes
-- LIRCCLIENT enabled: Yes
-- MDNS enabled: No
-- MICROHTTPD enabled: Yes
-- NFS enabled: Yes
-- PIPEWIRE enabled: Yes
-- PLIST enabled: Yes
-- PULSEAUDIO enabled: Yes
-- PYTHON enabled: Yes
-- SMBCLIENT enabled: Yes
-- SNDIO enabled: Yes
-- UDEV enabled: Yes
-- UDFREAD enabled: Yes
-- XSLT enabled: Yes
-- VAAPI enabled: Yes
-- GLX enabled: Yes
-- VDPAU enabled: Yes
-- VAAPI enabled: Yes
-- VAAPI enabled: Yes
-- MARIADBCLIENT enabled: No
-- MYSQLCLIENT enabled: Yes
-- 
#--------------- Internal Variables -------------#
-- DEPLIBS: /usr/lib/arm-linux-gnueabihf/libasound.so;/usr/lib/arm-linux-gnueabihf/libavahi-client.so;/usr/lib/arm-linux-gnueabihf/libavahi-common.so;/usr/lib/arm-linux-gnueabihf/libbluetooth.so;/usr/lib/arm-linux-gnueabihf/libbluray.so;/usr/lib/arm-linux-gnueabihf/libcap.so;/usr/lib/arm-linux-gnueabihf/libcec.so;/usr/lib/arm-linux-gnueabihf/libdav1d.so;/usr/lib/arm-linux-gnueabihf/libdbus-1.so;/usr/lib/arm-linux-gnueabihf/libiso9660++.so;/usr/lib/arm-linux-gnueabihf/libiso9660.so;/usr/lib/arm-linux-gnueabihf/libcdio.so;/usr/lib/arm-linux-gnueabihf/liblcms2.so;/usr/lib/arm-linux-gnueabihf/liblirc_client.so;/usr/lib/arm-linux-gnueabihf/libmicrohttpd.so;/usr/lib/arm-linux-gnueabihf/libnfs.so;/usr/lib/arm-linux-gnueabihf/libpipewire-0.3.so;/usr/lib/arm-linux-gnueabihf/libplist-2.0.so;/usr/lib/arm-linux-gnueabihf/libpulse.so;/usr/lib/arm-linux-gnueabihf/libpulse-mainloop-glib.so;/usr/lib/arm-linux-gnueabihf/libpulse-simple.so;/usr/lib/arm-linux-gnueabihf/libpython3.10.so;/usr/lib/arm-linux-gnueabihf/libsmbclient.so;/usr/lib/arm-linux-gnueabihf/libsndio.so;/usr/lib/arm-linux-gnueabihf/libudev.so;/usr/lib/arm-linux-gnueabihf/libudfread.so;/usr/lib/arm-linux-gnueabihf/libxslt.so;/usr/lib/arm-linux-gnueabihf/libxml2.so;/usr/lib/arm-linux-gnueabihf/libva.so;/usr/lib/arm-linux-gnueabihf/libva-drm.so;/usr/lib/arm-linux-gnueabihf/libva-wayland.so;/usr/lib/arm-linux-gnueabihf/libva-x11.so;/usr/lib/arm-linux-gnueabihf/libGLX.so;/usr/lib/arm-linux-gnueabihf/libvdpau.so;/usr/lib/arm-linux-gnueabihf/libva.so;/usr/lib/arm-linux-gnueabihf/libva-drm.so;/usr/lib/arm-linux-gnueabihf/libva-wayland.so;/usr/lib/arm-linux-gnueabihf/libva-x11.so;/usr/lib/arm-linux-gnueabihf/libva.so;/usr/lib/arm-linux-gnueabihf/libva-drm.so;/usr/lib/arm-linux-gnueabihf/libva-wayland.so;/usr/lib/arm-linux-gnueabihf/libva-x11.so;/usr/lib/arm-linux-gnueabihf/libass.so;/usr/lib/arm-linux-gnueabihf/libcdio.so;/usr/lib/arm-linux-gnueabihf/libcrossguid.so;/usr/lib/arm-linux-gnueabihf/libuuid.so;/usr/lib/arm-linux-gnueabihf/libcurl.so;/usr/lib/arm-linux-gnueabihf/libdate-tz.so;/usr/lib/arm-linux-gnueabihf/libavcodec.so;/usr/lib/arm-linux-gnueabihf/libavfilter.so;/usr/lib/arm-linux-gnueabihf/libavformat.so;/usr/lib/arm-linux-gnueabihf/libavutil.so;/usr/lib/arm-linux-gnueabihf/libswscale.so;/usr/lib/arm-linux-gnueabihf/libswresample.so;/usr/lib/arm-linux-gnueabihf/libpostproc.so;-L/usr/lib/arm-linux-gnueabihf;-lavcodec;-lavfilter;-lavformat;-lavutil;-lswscale;-lswresample;-lpostproc;/usr/lib/arm-linux-gnueabihf/libfmt.so;/usr/lib/arm-linux-gnueabihf/libfreetype.so;/usr/lib/arm-linux-gnueabihf/libfribidi.so;/usr/lib/libfstrcmp.so;/usr/lib/arm-linux-gnueabihf/libharfbuzz.so;/usr/lib/arm-linux-gnueabihf/libc.so;/usr/lib/arm-linux-gnueabihf/libkissfft-float.so;/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdnav.a;/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdread.a;/usr/lib/arm-linux-gnueabihf/libgcrypt.so;/usr/lib/arm-linux-gnueabihf/liblzo2.so;/usr/lib/arm-linux-gnueabihf/libpcrecpp.so;/usr/lib/arm-linux-gnueabihf/libpcre.so;/usr/lib/arm-linux-gnueabihf/libspdlog.so;/usr/lib/arm-linux-gnueabihf/libsqlite3.so;/usr/lib/arm-linux-gnueabihf/libtag.so;/usr/lib/arm-linux-gnueabihf/libtinyxml.so;/usr/lib/arm-linux-gnueabihf/libz.so;/usr/lib/arm-linux-gnueabihf/libEGL.so;/usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so;/usr/lib/arm-linux-gnueabihf/libXrandr.so;/usr/lib/arm-linux-gnueabihf/libdrm.so;/usr/lib/arm-linux-gnueabihf/libGL.so;/usr/lib/arm-linux-gnueabihf/libwayland-client++.so;/usr/lib/arm-linux-gnueabihf/libwayland-cursor++.so;/usr/lib/arm-linux-gnueabihf/libwayland-egl++.so;/usr/lib/arm-linux-gnueabihf/libdrm.so;/usr/lib/arm-linux-gnueabihf/libxkbcommon.so;/usr/lib/arm-linux-gnueabihf/libGL.so;/usr/lib/arm-linux-gnueabihf/libEGL.so;/usr/lib/arm-linux-gnueabihf/libgbm.so;/usr/lib/arm-linux-gnueabihf/libdrm.so;/usr/lib/arm-linux-gnueabihf/libinput.so;/usr/lib/arm-linux-gnueabihf/libxkbcommon.so;/usr/lib/arm-linux-gnueabihf/libudev.so;/usr/lib/arm-linux-gnueabihf/libGL.so;/usr/lib/arm-linux-gnueabihf/libEGL.so;/usr/lib/arm-linux-gnueabihf/libmysqlclient.so;/usr/lib/arm-linux-gnueabihf/libshairplay.so
-- core_DEPENDS: network_httprequesthandlers_python;network_httprequesthandlers;network_upnp;upnp;python_binding;python_interface;legacy_interface_wsgi;legacy_interface;rendering_gl;network_dacp;cdrip;platform_linux_network_zeroconf;windowing_linux;platform_posix_utils;platform_posix_threads;platform_posix_storage_discs;platform_posix_network;platform_posix_filesystem;platform_posix;platform_linux_threads;platform_linux_storage;platform_linux_powermanagement;platform_linux_peripherals;platform_linux_network;input_linux;linuxsupport;platform_common_speech;input_touch_generic;input_touch;videoshaders;videorenderers_hwdec;videorenderers;process;subtitles_webvtt;dvdsubtitles;dvdinputstreams;dvddemuxers;dvdvideocodecs;dvdoverlaycodecs;dvdaudiocodecs;dvdcodecs;videoplayer-buffers;VideoPlayer;video_windows;video_tags;video_jobs;video_dialogs;video;windows;windowing;weather;view;utils;threads;storage;rendering;programs;powermanagement;playlists;platform_common;pictures;messagingHelpers;messaging;listproviders;input_mouse_generic;input_mouse;input_keyboard_generic;input_keyboard;input_joystick_keymaps;input_joystick_generic;input_joystick_dialogs;input_joystick;input_button;input_actions;input;guilib_guiinfo;guilib;favourites;dialogs;dbwrappers;commons;application;addons_settings;addons_interfaces_gui_dialogs;addons_interfaces_gui_controls;addons_interfaces_gui;addons_interfaces;addons_gui_skin;addons_gui;addons_binary-addons;addons_addoninfo;addons;xbmc;settings_windows;settings_lib;settings_dialogs;settings;retroplayer_memory;retroplayer_streams;retroplayer_savestates;rp-videorenderers;rp-rendering;rp-process;retroplayer_playback;retroplayer_guiwindows;retroplayer_guiplayback;retroplayer_guicontrols;retroplayer_guibridge;retroplayer_cheevos;rp-buffers-video;rp-buffers;rp_audio;retroplayer;pvr_windows;pvr_timers;pvr_settings;pvr_recordings;pvr_providers;pvr_guilib_guiinfo;pvr_guilib;pvr_filesystem;pvr_epg;pvr_dialogs;pvr_channels;pvr_addons;pvr;profiles_windows;profiles_dialogs;profiles;peripherals_dialogs;peripherals_devices;peripheral_bus_virtual;peripherals_bus;peripherals_addons;peripherals;network_websockets;network;music_windows;music_tags;music_jobs;music_infoscanner;music_dialogs;music;drm;media;jsonrpc_interface;info_interface;generic_interface;interfaces_builtins;interfaces;gameswindows;gametags;games_ports_windows;games_ports_types;games_ports_input;gameosddialogs;gamedialogs;games_controller_windows;games_controller_types;games_controller_input;games_controller_guicontrols;games_controller_dialogs;games_controller;games_agents;game_addon_streams;gameinput;gamecheevos;gameaddons;games;videodatabasedirectory;musicdatabasedirectory;filesystem;events_windows;events;playercorefactory;paplayer;externalplayer;exports_utils;dllexports;dllloader;audioengine;cores;windowing_gbm;windowing_gbm_drm;processGBM;rp-process-gbm;windowing_WAYLAND;processWayland;rp-process-wayland;windowing_X11;processX11;rp-process-x11
-- #---------------------------------------------#
-- SYSTEM_LDFLAGS        : 
-- CMAKE_DL_LIBS         : dl
-- CMAKE_C_FLAGS         : -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type
-- CMAKE_CXX_FLAGS       : -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor
-- CMAKE_EXE_LINKER_FLAGS: -Wl,-z,relro -latomic -lpthread -fuse-ld=gold
-- LTO_OPTIMIZATION      : 
-- #---------------------------------------------#
-- bindir     : /usr/bin
-- includedir : /usr/include
-- libdir     : /usr/lib/arm-linux-gnueabihf
-- datarootdir: /usr/share
-- #---------------------------------------------#
-- BINARY: kodi.bin
-- #---------------------------------------------#
-- GIT_REV: 20230121-nogitfound
-- Build date: 20230121
-- #---------------------------------------------#
-- CPACK_GENERATOR       : 
-- CPACK_SOURCE_GENERATOR: 
-- #---------------------------------------------#
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY
    FETCHCONTENT_FULLY_DISCONNECTED


-- Build files have been written to: /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf
make[1]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg'
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg'
dh_auto_build
	cd obj-arm-linux-gnueabihf && make -j4 "INSTALL=install --strip-program=true" VERBOSE=1
make[2]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
/usr/bin/cmake -S/<<BUILDDIR>>/kodi-20.0+dfsg -B/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[3]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/libdvdread.dir/build.make CMakeFiles/libdvdread.dir/depend
make  -f CMakeFiles/export-files.dir/build.make CMakeFiles/export-files.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/libdvdread.dir/DependInfo.cmake --color=
make  -f build/texturepacker/CMakeFiles/TexturePacker.dir/build.make build/texturepacker/CMakeFiles/TexturePacker.dir/depend
make  -f CMakeFiles/generate-wayland-extra-protocols.dir/build.make CMakeFiles/generate-wayland-extra-protocols.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/export-files.dir/DependInfo.cmake --color=
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/generate-wayland-extra-protocols.dir/DependInfo.cmake --color=
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker/CMakeFiles/TexturePacker.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/libdvdread.dir/build.make CMakeFiles/libdvdread.dir/build
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/export-files.dir/build.make CMakeFiles/export-files.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/generate-wayland-extra-protocols.dir/build.make CMakeFiles/generate-wayland-extra-protocols.dir/build
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/texturepacker/CMakeFiles/TexturePacker.dir/build.make build/texturepacker/CMakeFiles/TexturePacker.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Copying files into build tree
/usr/bin/cmake -P /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/ExportFiles.cmake
[  0%] Creating directories for 'libdvdread'
/usr/bin/cmake -Dcfgdir= -P /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/tmp/libdvdread-mkdirs.cmake
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/md5.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/md5.cpp.o -MF CMakeFiles/TexturePacker.dir/src/md5.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/md5.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/md5.cpp
[  0%] Generating wayland-protocols C++ wrappers
/usr/bin/wayland-scanner++ /usr/share/waylandpp/protocols/presentation-time.xml /usr/share/waylandpp/protocols/xdg-shell.xml //usr/share/wayland-protocols/unstable/xdg-shell/xdg-shell-unstable-v6.xml //usr/share/wayland-protocols/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/wayland-extra-protocols.hpp /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/wayland-extra-protocols.cpp
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-mkdir
[  0%] Performing download step (verify and extract) for 'libdvdread'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src && /usr/bin/cmake -P /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/verify-libdvdread.cmake
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
-- verifying file...
     file='/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdread/libdvdread-embedded.tar.xz'
-- verifying file... done
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src && /usr/bin/cmake -P /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/extract-libdvdread.cmake
[  0%] Built target generate-wayland-extra-protocols
make  -f build/upnp/CMakeFiles/upnp.dir/build.make build/upnp/CMakeFiles/upnp.dir/depend
-- extracting...
     src='/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdread/libdvdread-embedded.tar.xz'
     dst='/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
-- extracting... [tar xfz]
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp/CMakeFiles/upnp.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/upnp/CMakeFiles/upnp.dir/build.make build/upnp/CMakeFiles/upnp.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltAction.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltAction.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltAction.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltAction.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltAction.cpp
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-download
[  0%] No update step for 'libdvdread'
/usr/bin/cmake -E echo_append
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-update
[  0%] No patch step for 'libdvdread'
/usr/bin/cmake -E echo_append
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-patch
[  0%] Performing configure step for 'libdvdread'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread && /usr/bin/autoreconf -vif
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/DecoderManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/DecoderManager.cpp.o -MF CMakeFiles/TexturePacker.dir/src/DecoderManager.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/DecoderManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/DecoderManager.cpp
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -Im4
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Built target export-files
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/TexturePacker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/TexturePacker.cpp.o -MF CMakeFiles/TexturePacker.dir/src/TexturePacker.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/TexturePacker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/TexturePacker.cpp
make  -f build/jsonschemabuilder/CMakeFiles/JsonSchemaBuilder.dir/build.make build/jsonschemabuilder/CMakeFiles/JsonSchemaBuilder.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/JsonSchemaBuilder /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/jsonschemabuilder /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/jsonschemabuilder/CMakeFiles/JsonSchemaBuilder.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/jsonschemabuilder/CMakeFiles/JsonSchemaBuilder.dir/build.make build/jsonschemabuilder/CMakeFiles/JsonSchemaBuilder.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Building CXX object build/jsonschemabuilder/CMakeFiles/JsonSchemaBuilder.dir/src/JsonSchemaBuilder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/jsonschemabuilder && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -std=c++11 -MD -MT build/jsonschemabuilder/CMakeFiles/JsonSchemaBuilder.dir/src/JsonSchemaBuilder.cpp.o -MF CMakeFiles/JsonSchemaBuilder.dir/src/JsonSchemaBuilder.cpp.o.d -o CMakeFiles/JsonSchemaBuilder.dir/src/JsonSchemaBuilder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp
[  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltArgument.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltArgument.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltArgument.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltArgument.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltArgument.cpp
[  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltConstants.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltConstants.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltConstants.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltConstants.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltConstants.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/XBTF.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/TexturePacker.cpp:34:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CXBTFFrame&}; _Tp = CXBTFFrame; _Alloc = std::allocator<CXBTFFrame>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CXBTFFrame>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
[  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPoint.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPoint.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPoint.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPoint.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CXBTFFrame; _Alloc = std::allocator<CXBTFFrame>]',
    inlined from 'int createBundle(const std::string&, const std::string&, double, unsigned int, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/TexturePacker.cpp:324:35:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CXBTFFrame*, std::vector<CXBTFFrame> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp: In member function 'virtual NPT_Result PLT_CtrlPoint::ProcessSsdpMessage(const NPT_HttpMessage&, const NPT_HttpRequestContext&, NPT_String&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp:1207:76: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
 1207 |         leasetime = *PLT_Constants::GetInstance().GetDefaultSubscribeLease();
      |                                                                            ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp: In member function 'virtual NPT_Result PLT_CtrlPoint::ProcessGetDescriptionResponse(NPT_Result, const NPT_HttpRequest&, const NPT_HttpRequestContext&, NPT_HttpResponse*, NPT_TimeInterval, NPT_String)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp:1374:21: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
 1374 |             delay = 1.f;
      |                     ^~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
autoreconf: configure.ac: tracing
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h:46:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp: In member function 'virtual NPT_Result PLT_CtrlPoint::ProcessSsdpNotify(const NPT_HttpRequest&, const NPT_HttpRequestContext&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp:1038:9: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
 1038 |         PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINER, prefix, &request);
      |         ^~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp: In member function 'virtual NPT_Result PLT_CtrlPoint::ProcessHttpNotify(const NPT_HttpRequest&, const NPT_HttpRequestContext&, NPT_HttpResponse&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.cpp:909:5: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
  909 |     PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINER, "PLT_CtrlPoint::ProcessHttpNotify:", &request);
      |     ^~~~~~~~~~~~~~~~~~~~
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/XBTFWriter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/XBTFWriter.cpp.o -MF CMakeFiles/TexturePacker.dir/src/XBTFWriter.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/XBTFWriter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/XBTFWriter.cpp
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force -Im4
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/GIFDecoder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/GIFDecoder.cpp.o -MF CMakeFiles/TexturePacker.dir/src/decoder/GIFDecoder.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/decoder/GIFDecoder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/GifHelper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/GifHelper.cpp.o -MF CMakeFiles/TexturePacker.dir/src/decoder/GifHelper.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/decoder/GifHelper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
autoreconf: running: /usr/bin/autoconf --force
configure.ac:21: warning: The macro `AC_CONFIG_HEADER' is obsolete.
configure.ac:21: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:21: the top level
configure.ac:55: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:55: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:55: the top level
configure.ac:136: warning: AC_OUTPUT should be used without arguments.
configure.ac:136: You should run autoupdate.
autoreconf: running: /usr/bin/autoheader --force
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/JPGDecoder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/JPGDecoder.cpp.o -MF CMakeFiles/TexturePacker.dir/src/decoder/JPGDecoder.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/decoder/JPGDecoder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp
[  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPointTask.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPointTask.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPointTask.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPointTask.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPointTask.cpp
autoreconf: running: automake --add-missing --copy --force-missing
[  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltDatagramStream.cpp.o
configure.ac:19: installing './compile'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltDatagramStream.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltDatagramStream.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltDatagramStream.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDatagramStream.cpp
configure.ac:12: installing './config.guess'
configure.ac:12: installing './config.sub'
configure.ac:14: installing './install-sh'
configure.ac:14: installing './missing'
[  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/PNGDecoder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/src/decoder/PNGDecoder.cpp.o -MF CMakeFiles/TexturePacker.dir/src/decoder/PNGDecoder.cpp.o.d -o CMakeFiles/TexturePacker.dir/src/decoder/PNGDecoder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp
Makefile.am: installing './depcomp'
autoreconf: Leaving directory '.'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread && ac_cv_path_GIT= ./configure --target=arm --host=arm --enable-static --disable-shared --with-pic --prefix=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build --libdir=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib CC=/usr/bin/cc "CFLAGS=-g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\\\"2:20.0+dfsg-1\\\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC" "LDFLAGS=-Wl,-z,relro -latomic -lpthread -fuse-ld=gold " PKG_CONFIG_PATH=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/pkgconfig
[  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceData.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceData.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceData.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceData.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceData.cpp
checking build system type... armv7l-unknown-linux-gnueabihf
checking host system type... /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceData.cpp: In member function 'NPT_Result PLT_DeviceData::SetLeaseTime(NPT_TimeInterval, NPT_TimeStamp)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceData.cpp:256:111: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  256 |     m_LeaseTime = (lease_time.ToSeconds()>=10)?lease_time:*PLT_Constants::GetInstance().GetDefaultDeviceLease();
      |                                                                                                               ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceData.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceData.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceData.cpp:262:29: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  262 |     m_LeaseTimeLastUpdate = lease_time_last_update;
      |                             ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
arm-unknown-none
checking for a BSD-compatible install... install --strip-program=true
checking whether build environment is sane... yes
checking for arm-strip... no
checking for strip... strip
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for arm-gcc... /usr/bin/cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether /usr/bin/cc accepts -g... [  0%] Building CXX object build/texturepacker/CMakeFiles/TexturePacker.dir/__/__/__/__/xbmc/guilib/XBTF.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src -I/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/native/TexturePacker/src/decoder -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -std=c++17 -MD -MT build/texturepacker/CMakeFiles/TexturePacker.dir/__/__/__/__/xbmc/guilib/XBTF.cpp.o -MF CMakeFiles/TexturePacker.dir/__/__/__/__/xbmc/guilib/XBTF.cpp.o.d -o CMakeFiles/TexturePacker.dir/__/__/__/__/xbmc/guilib/XBTF.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/XBTF.cpp
yes
checking for /usr/bin/cc option to enable C11 features... none needed
checking whether /usr/bin/cc understands -c and -o together... yes
checking dependency style of /usr/bin/cc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by /usr/bin/cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... no
checking for arm-dumpbin... no
checking for arm-link... no
checking for dumpbin... no
checking for link... link -dump
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert armv7l-unknown-linux-gnueabihf file names to arm-unknown-none format... func_convert_file_noop
checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for arm-file... no
checking for file... file
checking for arm-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... unknown
checking for arm-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for arm-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for arm-strip... strip
checking for arm-ranlib... no
checking for ranlib... ranlib
checking command to parse nm output from /usr/bin/cc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for arm-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for sys/param.h... yes
checking for limits.h... yes
checking for dlfcn.h... yes
checking for dlfcn.h... (cached) yes
checking for objdir... .libs
[  0%] Linking CXX executable TexturePacker
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/texturepacker && /usr/bin/cmake -E cmake_link_script CMakeFiles/TexturePacker.dir/link.txt --verbose=1
/usr/bin/c++ -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -Wl,-z,relro -latomic -lpthread -fuse-ld=gold CMakeFiles/TexturePacker.dir/src/md5.cpp.o CMakeFiles/TexturePacker.dir/src/DecoderManager.cpp.o CMakeFiles/TexturePacker.dir/src/TexturePacker.cpp.o CMakeFiles/TexturePacker.dir/src/XBTFWriter.cpp.o CMakeFiles/TexturePacker.dir/src/decoder/GIFDecoder.cpp.o CMakeFiles/TexturePacker.dir/src/decoder/GifHelper.cpp.o CMakeFiles/TexturePacker.dir/src/decoder/JPGDecoder.cpp.o CMakeFiles/TexturePacker.dir/src/decoder/PNGDecoder.cpp.o CMakeFiles/TexturePacker.dir/__/__/__/__/xbmc/guilib/XBTF.cpp.o -o TexturePacker  /usr/lib/arm-linux-gnueabihf/libgif.so /usr/lib/arm-linux-gnueabihf/libpng.so /usr/lib/arm-linux-gnueabihf/libz.so /usr/lib/arm-linux-gnueabihf/libjpeg.so /usr/lib/arm-linux-gnueabihf/liblzo2.so 
checking if /usr/bin/cc supports -fno-rtti -fno-exceptions... make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
no
checking for /usr/bin/cc option to produce PIC... -fPIC -DPIC
checking if /usr/bin/cc PIC flag -fPIC -DPIC works... [  0%] Built target TexturePacker
make  -f build/cores/RetroPlayer/messages/CMakeFiles/retroplayer_messages.dir/build.make build/cores/RetroPlayer/messages/CMakeFiles/retroplayer_messages.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/messages /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages/CMakeFiles/retroplayer_messages.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/messages/CMakeFiles/retroplayer_messages.dir/build.make build/cores/RetroPlayer/messages/CMakeFiles/retroplayer_messages.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
yes
checking if /usr/bin/cc static flag -static works... [  0%] Building C++ header for savestate.fbs
cd /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/messages && /usr/bin/flatc -c -o /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages/ savestate.fbs
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Built target retroplayer_messages
make  -f CMakeFiles/kodi-libraries.dir/build.make CMakeFiles/kodi-libraries.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/kodi-libraries.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/kodi-libraries.dir/build.make CMakeFiles/kodi-libraries.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Nothing to be done for 'CMakeFiles/kodi-libraries.dir/build'.
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Built target kodi-libraries
make  -f CMakeFiles/kodi-xrandr.dir/build.make CMakeFiles/kodi-xrandr.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/kodi-xrandr.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/kodi-xrandr.dir/build.make CMakeFiles/kodi-xrandr.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Building C object CMakeFiles/kodi-xrandr.dir/xbmc-xrandr.c.o
/usr/bin/cc  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -MD -MT CMakeFiles/kodi-xrandr.dir/xbmc-xrandr.c.o -MF CMakeFiles/kodi-xrandr.dir/xbmc-xrandr.c.o.d -o CMakeFiles/kodi-xrandr.dir/xbmc-xrandr.c.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc-xrandr.c
yes
checking if /usr/bin/cc supports -c -o file.o... yes
checking if /usr/bin/cc supports -c -o file.o... (cached) yes
checking whether the /usr/bin/cc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... no
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking whether byte ordering is bigendian... no
checking for dirent.h... yes
checking for arm-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for library containing dlopen... none required
checking if /usr/bin/cc supports -Wall flag... [  0%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceHost.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceHost.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceHost.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceHost.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp
yes
checking if /usr/bin/cc supports -Wsign-compare flag... yes
checking if /usr/bin/cc supports -Wextra flag... yes
checking for doxygen... /usr/bin/doxygen
checking for /usr/bin/cc options needed to detect all undeclared functions... [  0%] Linking CXX executable JsonSchemaBuilder
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/jsonschemabuilder && /usr/bin/cmake -E cmake_link_script CMakeFiles/JsonSchemaBuilder.dir/link.txt --verbose=1
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp: In member function 'virtual NPT_Result PLT_DeviceHost::ProcessHttpPostRequest(NPT_HttpRequest&, const NPT_HttpRequestContext&, NPT_HttpResponse&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp:648:1: warning: label 'bad_request' defined but not used [-Wunused-label]
  648 | bad_request:
      | ^~~~~~~~~~~
/usr/bin/c++ -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -Wl,-z,relro -latomic -lpthread -fuse-ld=gold CMakeFiles/JsonSchemaBuilder.dir/src/JsonSchemaBuilder.cpp.o -o JsonSchemaBuilder 
none needed
checking whether strerror_r is declared... make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Built target JsonSchemaBuilder
make  -f build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/build.make build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/build.make build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Building C object build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports && /usr/bin/cc  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -fPIC -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -MD -MT build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o -MF CMakeFiles/wrapper.dir/wrapper.c.o.d -o CMakeFiles/wrapper.dir/wrapper.c.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/wrapper.c
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp: In member function 'virtual NPT_Result PLT_DeviceHost::SetupResponse(NPT_HttpRequest&, const NPT_HttpRequestContext&, NPT_HttpResponse&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp:396:5: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
  396 |     PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINER, "PLT_DeviceHost::SetupResponse:", &request);
      |     ^~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp: In member function 'virtual NPT_Result PLT_DeviceHost::OnSsdpPacket(const NPT_HttpRequest&, const NPT_HttpRequestContext&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp:810:17: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
  810 |                 PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINE, prefix, &request);
      |                 ^~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.cpp:843:17: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
  843 |                 PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINE, prefix, &request);
      |                 ^~~~~~~~~~~~~~~~~~~~
yes
checking whether strerror_r returns char *... In function 'set_name_xid',
    inlined from 'get_outputs' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc-xrandr.c:1649:5:
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc-xrandr.c:546:7: warning: 'output_name.kind' may be used uninitialized [-Wmaybe-uninitialized]
  546 |   name->kind |= name_xid;
      |   ~~~~^~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc-xrandr.c: In function 'get_outputs':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc-xrandr.c:1646:12: note: 'output_name' declared here
 1646 |     name_t output_name;
      |            ^~~~~~~~~~~
no
checking for strerror_s... no
checking that generated files are newer than configure... done
configure: creating ./config.status
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Built target wrapper
make  -f build/WiiRemote/CMakeFiles/kodi-wiiremote.dir/build.make build/WiiRemote/CMakeFiles/kodi-wiiremote.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/tools/EventClients/Clients/WiiRemote /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/WiiRemote /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/WiiRemote/CMakeFiles/kodi-wiiremote.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/WiiRemote/CMakeFiles/kodi-wiiremote.dir/build.make build/WiiRemote/CMakeFiles/kodi-wiiremote.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  0%] Building CXX object build/WiiRemote/CMakeFiles/kodi-wiiremote.dir/CWIID_WiiRemote.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/WiiRemote && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/WiiRemote/CMakeFiles/kodi-wiiremote.dir/CWIID_WiiRemote.cpp.o -MF CMakeFiles/kodi-wiiremote.dir/CWIID_WiiRemote.cpp.o.d -o CMakeFiles/kodi-wiiremote.dir/CWIID_WiiRemote.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/tools/EventClients/Clients/WiiRemote/CWIID_WiiRemote.cpp
config.status: creating Makefile
config.status: creating doc/doxygen.cfg
/<<BUILDDIR>>/kodi-20.0+dfsg/tools/EventClients/Clients/WiiRemote/CWIID_WiiRemote.cpp: In member function 'bool CWiiRemote::Connect()':
/<<BUILDDIR>>/kodi-20.0+dfsg/tools/EventClients/Clients/WiiRemote/CWIID_WiiRemote.cpp:347:118: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
  347 |         sprintf(Mesg, "%i%% battery remaining", static_cast<int>(((float)(wiiremote_state.battery)/CWIID_BATTERY_MAX)*100.0));
      |                                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
config.status: creating misc/dvdread.pc
config.status: creating src/dvdread/version.h
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-configure
[  1%] Performing build step for 'libdvdread'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread && /usr/bin/make
make[5]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
make[5]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
/usr/bin/make  all-am
make[6]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
depbase=`echo src/bitreader.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/bitreader.lo -MD -MP -MF $depbase.Tpo -c -o src/bitreader.lo src/bitreader.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/bitreader.lo -MD -MP -MF src/.deps/bitreader.Tpo -c src/bitreader.c  -fPIC -DPIC -o src/bitreader.o
depbase=`echo src/dvd_input.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvd_input.lo -MD -MP -MF $depbase.Tpo -c -o src/dvd_input.lo src/dvd_input.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  1%] Linking C executable kodi-xrandr
/usr/bin/cmake -E cmake_link_script CMakeFiles/kodi-xrandr.dir/link.txt --verbose=1
/usr/bin/cc -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -O2 -g -DNDEBUG -Wl,-z,relro -latomic -lpthread -fuse-ld=gold "CMakeFiles/kodi-xrandr.dir/xbmc-xrandr.c.o" -o kodi-xrandr  /usr/lib/arm-linux-gnueabihf/libX11.so /usr/lib/arm-linux-gnueabihf/libXext.so -lm /usr/lib/arm-linux-gnueabihf/libXrandr.so 
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  1%] Built target kodi-xrandr
make  -f CMakeFiles/compileinfo.dir/build.make CMakeFiles/compileinfo.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  1%] Generating build/xbmc/CompileInfo.cpp, addons/kodi.binary.global.audioengine/addon.xml, addons/kodi.binary.global.filesystem/addon.xml, addons/kodi.binary.global.general/addon.xml, addons/kodi.binary.global.gui/addon.xml, addons/kodi.binary.global.main/addon.xml, addons/kodi.binary.global.network/addon.xml, addons/kodi.binary.global.tools/addon.xml, addons/kodi.binary.instance.audiodecoder/addon.xml, addons/kodi.binary.instance.audioencoder/addon.xml, addons/kodi.binary.instance.game/addon.xml, addons/kodi.binary.instance.imagedecoder/addon.xml, addons/kodi.binary.instance.inputstream/addon.xml, addons/kodi.binary.instance.peripheral/addon.xml, addons/kodi.binary.instance.pvr/addon.xml, addons/kodi.binary.instance.screensaver/addon.xml, addons/kodi.binary.instance.vfs/addon.xml, addons/kodi.binary.instance.videocodec/addon.xml, addons/kodi.binary.instance.visualization/addon.xml, addons/xbmc.addon/addon.xml
/usr/bin/cmake -DCORE_SOURCE_DIR=/<<BUILDDIR>>/kodi-20.0+dfsg -DCORE_SYSTEM_NAME=linux -DCORE_PLATFORM_NAME_LC="x11 wayland gbm" -DCORE_BUILD_DIR=build -DCMAKE_BINARY_DIR=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -DARCH_DEFINES="-DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1" -DAPP_SCMID=20230121-nogitfound -DAPP_COPYRIGHT_YEARS=2005-2021 -DAPP_BUILD_DATE=20230121 -DAPP_SHARED_LIBRARY_SUFFIX=".so" -DPYTHON_VERSION=3.10 -Dprefix=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -DKODI_WEBSERVER_EXTRA_WHITELIST="" -P /<<BUILDDIR>>/kodi-20.0+dfsg/cmake/scripts/common/GenerateVersionedFiles.cmake
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvd_input.lo -MD -MP -MF src/.deps/dvd_input.Tpo -c src/dvd_input.c  -fPIC -DPIC -o src/dvd_input.o
In file included from src/dvdread_internal.h:31,
                 from src/dvd_input.c:29:
src/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
src/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
src/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
src/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
src/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
src/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
src/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
src/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
src/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
src/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
src/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
src/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
src/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
src/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
src/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
src/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
src/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
src/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
src/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
src/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
src/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
src/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
src/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
src/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
src/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
src/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
src/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
src/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
src/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
src/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
src/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
src/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
src/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
src/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
src/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
src/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
src/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
src/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
depbase=`echo src/dvd_reader.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvd_reader.lo -MD -MP -MF $depbase.Tpo -c -o src/dvd_reader.lo src/dvd_reader.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvd_reader.lo -MD -MP -MF src/.deps/dvd_reader.Tpo -c src/dvd_reader.c  -fPIC -DPIC -o src/dvd_reader.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/compileinfo.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/compileinfo.dir/build.make CMakeFiles/compileinfo.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
In file included from src/dvdread_internal.h:31,
                 from src/dvd_reader.c:53:
src/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
src/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
src/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
[  1%] Building CXX object CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o
src/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
src/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
src/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
src/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
src/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
src/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
src/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o -MF CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o.d -o CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc/CompileInfo.cpp
src/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
src/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
src/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
src/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
src/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
src/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
src/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
src/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
src/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
src/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
src/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
src/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
src/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
src/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
src/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
src/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
src/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
src/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
src/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
src/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
src/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
src/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
src/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
src/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
src/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
src/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
src/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
src/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
[  1%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltEvent.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltEvent.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltEvent.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltEvent.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.cpp
depbase=`echo src/dvd_udf.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvd_udf.lo -MD -MP -MF $depbase.Tpo -c -o src/dvd_udf.lo src/dvd_udf.c &&\
mv -f $depbase.Tpo $depbase.Plo
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.cpp:39:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.cpp: In static member function 'static PLT_EventNotification* PLT_EventNotification::Parse(const NPT_HttpRequest&, const NPT_HttpRequestContext&, NPT_HttpResponse&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.cpp:58:5: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
   58 |     PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINER, "PLT_CtrlPoint::ProcessHttpNotify:", &request);
      |     ^~~~~~~~~~~~~~~~~~~~
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvd_udf.lo -MD -MP -MF src/.deps/dvd_udf.Tpo -c src/dvd_udf.c  -fPIC -DPIC -o src/dvd_udf.o
In file included from src/dvdread_internal.h:31,
                 from src/dvd_udf.c:42:
src/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
src/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
src/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
src/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
src/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
src/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
src/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
src/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
src/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
src/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
src/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
src/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
src/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
src/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
src/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
src/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
src/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
src/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
src/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
src/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
src/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
src/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
src/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
src/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
src/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
src/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
src/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
src/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
src/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
src/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
src/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
src/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
src/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
src/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
src/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
src/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
src/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
src/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
depbase=`echo src/ifo_print.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/ifo_print.lo -MD -MP -MF $depbase.Tpo -c -o src/ifo_print.lo src/ifo_print.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  1%] Linking CXX executable kodi-wiiremote
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/WiiRemote && /usr/bin/cmake -E cmake_link_script CMakeFiles/kodi-wiiremote.dir/link.txt --verbose=1
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/ifo_print.lo -MD -MP -MF src/.deps/ifo_print.Tpo -c src/ifo_print.c  -fPIC -DPIC -o src/ifo_print.o
/usr/bin/c++ -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -Wl,-z,relro -latomic -lpthread -fuse-ld=gold "CMakeFiles/kodi-wiiremote.dir/CWIID_WiiRemote.cpp.o" -o kodi-wiiremote  /usr/lib/arm-linux-gnueabihf/libbluetooth.so /usr/lib/libcwiid.so 
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
In file included from src/ifo_print.c:28:
src/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
src/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
src/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
src/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
src/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
src/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
src/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
src/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
src/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
src/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
src/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
src/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
[  1%] Built target kodi-wiiremote
src/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
src/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
src/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
make  -f CMakeFiles/pack-skins.dir/build.make CMakeFiles/pack-skins.dir/depend
src/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
src/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
src/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
src/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
src/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
src/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
src/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
src/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
src/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
src/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
src/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
src/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
src/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
src/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
src/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
src/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
src/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
src/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
src/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
src/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
src/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
src/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
src/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/pack-skins.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/pack-skins.dir/build.make CMakeFiles/pack-skins.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  1%] Generating addons/skin.estuary/media/Textures.xbt
/usr/bin/cmake -E make_directory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/media
build/texturepacker/TexturePacker -input /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/media -output /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/media/Textures.xbt -dupecheck
[  1%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttp.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttp.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttp.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttp.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.cpp
DefaultActor.png                              
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultActorSolid.png                         
    frame    0 (delay:   0)                         ARGB * (256,392 @ 401408 bytes)
DefaultAddSource.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddon.png                              
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonAlbumInfo.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonArtistInfo.png                    
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonAudioDSP.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonAudioDecoder.png                  
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonAudioEncoder.png                  
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonContextItem.png                   
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonFont.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonGame.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonHelper.png                        
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonImageDecoder.png                  
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonImages.png                        
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonInfoLibrary.png                   
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonInfoProvider.png                  
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonInputstream.png                   
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonLanguage.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonLibrary.png                       
****  duplicate of DefaultAddon.png
DefaultAddonLookAndFeel.png                   
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonLyrics.png                        
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonMovieInfo.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonMusic.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonMusicVideoInfo.png                
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonNone.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonPVRClient.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonPeripheral.png                    
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonPicture.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonProgram.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonRepository.png                    
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonScreensaver.png                   
    frame    0 (delay:   0)         make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  1%] Built target compileinfo
[  1%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpClientTask.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpClientTask.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpClientTask.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpClientTask.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.cpp
make  -f build/interfaces/json-rpc/schema/CMakeFiles/generate_json_header.dir/build.make build/interfaces/json-rpc/schema/CMakeFiles/generate_json_header.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc/schema /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc/schema/CMakeFiles/generate_json_header.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/interfaces/json-rpc/schema/CMakeFiles/generate_json_header.dir/build.make build/interfaces/json-rpc/schema/CMakeFiles/generate_json_header.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
depbase=`echo src/ifo_read.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/ifo_read.lo -MD -MP -MF $depbase.Tpo -c -o src/ifo_read.lo src/ifo_read.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  1%] Generating xbmc.json/addon.xml
cd /<<BUILDDIR>>/kodi-20.0+dfsg && /usr/bin/cmake -DCMAKE_SOURCE_DIR=/<<BUILDDIR>>/kodi-20.0+dfsg -DCORE_BINARY_DIR=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -DCORE_SYSTEM_NAME=linux -P /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema/GenerateAddonXml.cmake
[  1%] Generating ServiceDescription.h
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build && /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/jsonschemabuilder/JsonSchemaBuilder /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema/version.txt /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema/license.txt /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema/methods.json /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema/types.json /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/schema/notifications.json
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/ifo_read.lo -MD -MP -MF src/.deps/ifo_read.Tpo -c src/ifo_read.c  -fPIC -DPIC -o src/ifo_read.o
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  1%] Built target generate_json_header
In file included from src/ifo_read.c:31:
src/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
src/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
src/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
src/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
src/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
src/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
src/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
src/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
src/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
src/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
src/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
src/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
src/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
src/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
src/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
src/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
src/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
src/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
src/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
src/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
src/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
src/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
src/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
src/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
src/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
src/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
src/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
src/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
[  1%] Generating addons/skin.estuary/media/curial.xbt
src/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/usr/bin/cmake -E make_directory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/media
src/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
src/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
src/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
src/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
src/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
src/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
src/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
src/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
src/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
build/texturepacker/TexturePacker -input /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/curial -output /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/media/curial.xbt -dupecheck
src/ifo_read.c: In function 'ifoRead_PGC_COMMAND_TBL':
src/ifo_read.c:740:38: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  740 |               + PGC_COMMAND_TBL_SIZE <= cmd_tbl->last_byte + 1);
      |                                      ^~
src/ifo_read.c:44:8: note: in definition of macro 'CHECK_VALUE'
   44 |   if(!(arg)) {\
      |        ^~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.cpp: In member function 'virtual void PLT_HttpClientSocketTask::DoRun()':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.cpp:145:24: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  145 |             watchdog = now;
      |                        ^~~
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
src/ifo_read.c: In function 'ifoRead_PGCIT_internal':
src/ifo_read.c:1940:21: warning: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Waddress-of-packed-member]
 1940 |         ifoFree_PGC(&pgcit->pgci_srp[j].pgc);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~
src/ifo_read.c: In function 'ifoFree_PGCIT_internal':
src/ifo_read.c:1966:19: warning: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Waddress-of-packed-member]
 1966 |       ifoFree_PGC(&(*pgcit)->pgci_srp[i].pgc);
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/ifo_read.c: In function 'ifoRead_PGCI_UT':
src/ifo_read.c:2098:32: warning: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Waddress-of-packed-member]
 2098 |         ifoFree_PGCIT_internal(&pgci_ut->lu[j].pgcit);
      |                                ^~~~~~~~~~~~~~~~~~~~~
src/ifo_read.c:2111:32: warning: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Waddress-of-packed-member]
 2111 |         ifoFree_PGCIT_internal(&pgci_ut->lu[j].pgcit);
      |                                ^~~~~~~~~~~~~~~~~~~~~
src/ifo_read.c: In function 'ifoFree_PGCI_UT':
src/ifo_read.c:2134:30: warning: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Waddress-of-packed-member]
 2134 |       ifoFree_PGCIT_internal(&ifofile->pgci_ut->lu[i].pgcit);
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ARGB   (256,256 @ 262144 bytes)
DefaultAddonService.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonSkin.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonSubtitles.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonTvInfo.png                        
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonUISounds.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonVfs.png                           
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonVideo.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonVisualization.png                 
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonWeather.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonWebSkin.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonsInstalled.png                    
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonsRecentlyUpdated.png              
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonsRepo.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonsSearch.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonsUpdates.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAddonsZip.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAlbumCover.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultArtist.png                             
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultAudio.png                              
    frame    0 (delay:   0)                         ARGB * (256,256 @ 262144 bytes)
DefaultAudioDSP.png                           
    frame    0 (delay:   0)                         ARGB * (128,128 @ 65536 bytes)
DefaultBackBanner.png                         
    frame    0 (delay:   0)                         ARGB * (758,140 @ 424480 bytes)
DefaultBluray.png                             
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultCDDA.png                               
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultCountry.png                            
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultDVDEmpty.png                           
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultDVDFull.png                            
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultDVDRom.png                             
****  duplicate of DefaultDVDFull.png
DefaultDirector.png                           
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultExtensionInfo.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultFavourites.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultFile.png                               
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultFolder.png                             
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultFolderBack.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultFolderBackPoster.png                   
    frame    0 (delay:   0)                         ARGB * (256,392 @ 401408 bytes)
DefaultFolderBackSquare.png                   
    frame    0 (delay:   0)                         ARGB * (256,256 @ 262144 bytes)
DefaultFolderSquare.png                       
    frame    0 (delay:   0)                         ARGB * (256,256 @ 262144 bytes)
DefaultGenre.png                              
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultHardDisk.png                           
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultIconError.png                          
    frame    0 (delay:   0)                         ARGB   (110,110 @ 48400 bytes)
DefaultIconInfo.png                           
    frame    0 (delay:   0)                         ARGB   (110,110 @ 48400 bytes)
DefaultIconWarning.png                        
    frame    0 (delay:   0)                         ARGB   (110,110 @ 48400 bytes)
DefaultInProgressShows.png                    
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMimetypeInfo.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMovieTitle.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMovies.png                             
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicAlbums.png                        
****  duplicate of DefaultAlbumCover.png
DefaultMusicArtists.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicCompilations.png                  
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicGenres.png                        
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicPlaylists.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicRecentlyAdded.png                 
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicRecentlyPlayed.png                
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicRoles.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicSearch.png                        
****  duplicate of DefaultAddonsSearch.png
DefaultMusicSongs.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicSources.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicTop100.png                        
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicTop100Albums.png                  
****  duplicate of DefaultAlbumCover.png
DefaultMusicTop100Songs.png                   
****  duplicate of DefaultMusicSongs.png
DefaultMusicVideoTitle.png                    
****  duplicate of DefaultMovieTitle.png
DefaultMusicVideos.png                        
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultMusicYears.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultNetwork.png                            
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultNoPreview.png                          
    frame    0 (delay:   0)                         ARGB * (385,220 @ 338800 bytes)
DefaultPVRChannels.png [  1%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServer.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServer.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp
                       
****  duplicate of DefaultAddonPeripheral.png
DefaultPVRGuide.png                           
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultPVRRecordings.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultPVRSearch.png                          
****  duplicate of DefaultAddonsSearch.png
DefaultPVRTimerRules.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultPVRTimers.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultPartyMode.png                          
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultPicture.png                            
****  duplicate of DefaultAddonImages.png
DefaultPlaylist.png                           
****  duplicate of DefaultMusicPlaylists.png
DefaultProgram.png                            
****  duplicate of DefaultAddonProgram.png
DefaultRecentlyAddedEpisodes.png              
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultRecentlyAddedMovies.png                
****  duplicate of DefaultRecentlyAddedEpisodes.png
DefaultRecentlyAddedMusicVideos.png           
****  duplicate of DefaultRecentlyAddedEpisodes.png
DefaultRemovableDisk.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultScript.png                             
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultSets.png                               
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultStudios.png                            
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultTVShowTitle.png                        
****  duplicate of DefaultMovieTitle.png
DefaultTVShows.png                            
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultTags.png                               
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultUser.png                               
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultVCD.png                                
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultVideo.png                              
    frame    0 (delay:   0)                         ARGB * (256,392 @ 401408 bytes)
DefaultVideoCover.png                         
****  duplicate of DefaultVideo.png
DefaultVideoDeleted.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultVideoPlaylists.png                     
****  duplicate of DefaultMusicPlaylists.png
DefaultYear.png                               
****  duplicate of DefaultMusicYears.png
OverlayHD.png                                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
OverlayLocked.png                             
    frame    0 (delay:   0)                         ARGB   (55,52 @ 11440 bytes)
OverlayRAR.png                                
    frame    0 (delay:   0)                         ARGB   (55,52 @ 11440 bytes)
OverlaySpoiler.png                            
    frame    0 (delay:   0)                         ARGB   (320,180 @ 230400 bytes)
OverlayUnwatched.png                          
****  duplicate of OverlayHD.png
OverlayWatched.png                            
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
OverlayZIP.png                                
****  duplicate of OverlayRAR.png
buttons/button-alt-nofo.png                   
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
buttons/button-fo.png                         
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
buttons/button-nofo.png                       
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
buttons/color-back.png                        
    frame    0 (delay:   0)                         ARGB * (138,74 @ 40848 bytes)
buttons/color-button-box.png                  
    frame    0 (delay:   0)                         ARGB   (150,76 @ 45600 bytes)
buttons/dialogbutton-fo.png                   
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
buttons/dialogbutton-nofo.png                 
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
buttons/radio-button-off.png                  
    frame    0 (delay:   0)                         ARGB   (120,75 @ 36000 bytes)
buttons/radio-button-on.png                   
    frame    0 (delay:   0)                         ARGB   (120,75 @ 36000 bytes)
buttons/roundbutton-fo.png                    
    frame    0 (delay:   0)                         ARGB   (120,120 @ 57600 bytes)
buttons/slider-back.png                       
    frame    0 (delay:   0)                         ARGB   (150,28 @ 16800 bytes)
buttons/slider-nib.png                        
    frame    0 (delay:   0)                         ARGB   (28,28 @ 3136 bytes)
buttons/spinctrl/arrow-light-down.png         
    frame    0 (delay:   0)                         ARGB   (55,120 @ 26400 bytes)
buttons/spinctrl/arrow-light-up.png           
    frame    0 (delay:   0)                         ARGB   (55,120 @ 26400 bytes)
buttons/thumbnail_focused.png                 
    frame    0 (delay:   0)                         ARGB   (20,20 @ 1600 bytes)
calibrate/cal_br.png                          
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
calibrate/cal_ratio.png                       
    frame    0 (delay:   0)                         ARGB   (500,500 @ 1000000 bytes)
calibrate/cal_sub.png                         
    frame    0 (delay:   0)                         ARGB   (380,90 @ 136800 bytes)
calibrate/cal_tl.png                          
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
calibrate/reset.png                           
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
colors/black.png                              
    frame    0 (delay:   0)                         ARGB * (4,4 @ 64 bytes)
colors/grey.png                               
    frame    0 (delay:   0)                         ARGB * (4,4 @ 64 bytes)
colors/red.png                                
    frame    0 (delay:   0)                         ARGB   (8,8 @ 256 bytes)
colors/red50.png                              
    frame    0 (delay:   0)                         ARGB   (8,8 @ 256 bytes)
colors/white.png                              
    frame    0 (delay:   0)                         ARGB * (4,4 @ 64 bytes)
colors/white50.png                            
    frame    0 (delay:   0)                         ARGB   (4,4 @ 64 bytes)
colors/white70.png                            
    frame    0 (delay:   0)                         ARGB   (4,4 @ 64 bytes)
dialogs/close.png                             
    frame    0 (delay:   0)                         ARGB   (84,84 @ 28224 bytes)
dialogs/dialog-bg-nobo.png                    
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
dialogs/dialog-bg.png                         
****  duplicate of buttons/button-nofo.png
dialogs/extendedprogress/loading-back.pn      
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/extendedprogress/loading.png          
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/separator-grey.png                    
    frame    0 (delay:   0)                         ARGB   (196,6 @ 4704 bytes)
dialogs/volume/mute.png                       
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
dialogs/volIn file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServerTask.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServer.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp:39:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp: In member function 'virtual NPT_Result PLT_HttpServer::SetupResponse(NPT_HttpRequest&, const NPT_HttpRequestContext&, NPT_HttpResponse&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServer.cpp:163:5: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
  163 |     PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINE, prefix, &request);
      |     ^~~~~~~~~~~~~~~~~~~~
ume/progress/p0.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p1.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p10.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p100.png              
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p11.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p12.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p13.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p14.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p15.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p16.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p17.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p18.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p19.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p2.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p20.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p21.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p22.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p23.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p24.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p25.png               
****  duplicate of dialogs/extendedprogress/loading.png
dialogs/volume/progress/p26.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p27.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p28.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p29.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p3.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p30.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p31.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p32.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p33.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p34.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p35.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p36.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p37.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p38.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p39.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p4.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p40.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p41.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p42.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p43.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p44.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p45.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p46.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p47.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p48.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p49.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p5.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p50.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p51.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p52.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p53.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p54.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p55.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p56.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p57.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p58.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p59.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p6.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p60.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p61.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p62.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p63.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p64.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p65.png               
****  duplicate of dialogs/volume/progress/p64.png
dialogs/volume/progress/p66.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p67.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p68.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p69.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p7.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p70.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p71.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p72.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p73.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p74.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p75.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p76.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p77.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p78.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p79.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p8.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p80.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p81.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p82.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p83.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p84.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p85.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p86.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p87.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p88.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p89.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p9.png                
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p90.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p91.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p92.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p93.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p94.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p95.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p96.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p97.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p98.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/progress/p99.png               
    frame    0 (delay:   0)                         ARGB   (160,160 @ 102400 bytes)
dialogs/volume/volume.png                     
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
dialogs/volume/volume1.png                    
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
dialogs/volume/volume2.png                    
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
flags/aspectratio/1.00.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/1.19.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/1.33.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/1.37.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/1.66.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/1.78.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/1.85.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/2.00.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/2.20.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/2.35.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/2.40.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/2.55.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/aspectratio/2.76.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/0.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/1.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/10.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/2.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/3.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/4.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/5.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/6.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/7.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiochannel/8.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/aac.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/aac_latm.png                 
****  duplicate of flags/audiocodec/aac.png
flags/audiocodec/ac3.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/aif.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/aifc.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/aiff.png                     
****  duplicate of flags/audiocodec/aif.png
flags/audiocodec/alac.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/ape.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/avc.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/cdda.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/dca.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/dolbydigital.png             
****  duplicate of flags/audiocodec/ac3.png
flags/audiocodec/dts.png                      
****  duplicate of flags/audiocodec/dca.png
flags/audiocodec/dtshd_hra.png                
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/dtshd_ma.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/dtsma.png                    
****  duplicate of flags/audiocodec/dtshd_ma.png
flags/audiocodec/eac3.png                     
****  duplicate of flags/audiocodec/ac3.png
flags/audiocodec/flac.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/mp1.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/mp2.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/mp3.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/mp3float.png                 
****  duplicate of flags/audiocodec/mp3.png
flags/audiocodec/ogg.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/opus.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/pcm.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/pcm_bluray.png               
****  duplicate of flags/audiocodec/pcm.png
flags/audiocodec/pcm_s16le.png                
****  duplicate of flags/audiocodec/pcm.png
flags/audiocodec/pcm_s24le.png                
****  duplicate of flags/audiocodec/pcm.png
flags/audiocodec/truehd.png                   
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/vorbis.png                   
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/wav.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/wavpack.png                  
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/audiocodec/wma.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)[  1%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServerTask.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServerTask.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServerTask.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServerTask.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServerTask.cpp

flags/audiocodec/wmapro.png                   
****  duplicate of flags/audiocodec/wma.png
flags/audiocodec/wmav2.png                    
****  duplicate of flags/audiocodec/wma.png
flags/flag.png                                
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/rds/rds.png                             
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/starrating/0.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/1.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/10.png                       
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/2.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/3.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/4.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/5.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/6.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/7.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/8.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/9.png                        
    frame    0 (delay:   0)                         ARGB   (196,40 @ 31360 bytes)
flags/starrating/rating0.png                  
    frame    0 (delay:   0)                         ARGB   (128,32 @ 16384 bytes)
flags/starrating/rating1.png                  
    frame    0 (delay:   0)                         ARGB   (128,32 @ 16384 bytes)
flags/starrating/rating2.png                  
    frame    0 (delay:   0)                         ARGB   (128,32 @ 16384 bytes)
flags/starrating/rating3.png                  
    frame    0 (delay:   0)                         ARGB   (128,32 @ 16384 bytes)
flags/starrating/rating4.png                  
    frame    0 (delay:   0)                         ARGB   (128,32 @ 16384 bytes)
flags/starrating/rating5.png                  
    frame    0 (delay:   0)                         ARGB   (128,32 @ 16384 bytes)
flags/videocodec/av1.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/avc1.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/bluray.png                   
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/div3.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/divx.png                     
****  duplicate of flags/videocodec/div3.png
flags/videocodec/dvd.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/dx50.png                     
****  duplicate of flags/videocodec/div3.png
flags/videocodec/flv.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/h264.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/hddvd.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/hdmv.png                     
****  duplicate of flags/videocodec/bluray.png
flags/videocodec/hev1.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/hevc.png                     
****  duplicate of flags/videocodec/hev1.png
flags/videocodec/hvc1.png                     
****  duplicate of flags/videocodec/hev1.png
flags/videocodec/mp4v.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/mpeg1.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/mpeg1video.png               
****  duplicate of flags/videocodec/mpeg1.png
flags/videocodec/mpeg2.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/mpeg2video.png               
****  duplicate of flags/videocodec/mpeg2.png
flags/videocodec/mpeg4.png                    
****  duplicate of flags/videocodec/mp4v.png
flags/videocodec/tv.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/vc-1.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/vc1.png                      
****  duplicate of flags/videocodec/vc-1.png
flags/videocodec/vhs.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/vp8.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/vp9.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/wmv.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videocodec/wmv3.png                     
****  duplicate of flags/videocodec/wmv.png
flags/videocodec/wvc1.png                     
****  duplicate of flags/videocodec/vc-1.png
flags/videocodec/xvid.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videohdr/dolbyvision.png                
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videohdr/hdr10.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videohdr/hlg.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/1080.png                
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/3D.png                  
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/480.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/4K.png                  
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/540.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/576.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/720.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flags/videoresolution/8K.png                  
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
frame/InfoBar.png                             
    frame    0 (delay:   0)                         ARGB   (16,512 @ 32768 bytes)
frame/item-count.png                          
    frame    0 (delay:   0)                         ARGB   (54,44 @ 9504 bytes)
frame/menu-nofo.png                           
    frame    0 (delay:   0)                         ARGB   (44,44 @ 7744 bytes)
frame/osdfade.png                             
    frame    0 (delay:   0)                         ARGB   (16,512 @ 32768 bytes)
from-debian-logo.png                          
    frame    0 (delay:   0)                         ARGB   (250,82 @ 82000 bytes)
icons/addonstatus/disable.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/enabled-broken.png          
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/enabled-deprecated.png      
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/enabled-normal.png          
****  duplicate of OverlayWatched.png
icons/addonstatus/install-pinned.png          
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/install.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/manual-pinned.png           
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/manual.png                  
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/official-pinned.png         
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/official.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/orphan.png                  
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/addonstatus/update.png                  
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/back.png                                
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/favourites.png                          
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/file-manager/left-right.png             
    frame    0 (delay:   0)                         ARGB   (96,96 @ 36864 bytes)
icons/filemanager.png                         
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/infodialogs/bell.png                    
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/choose_image.png            
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/cinema.png                  
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/configure.png               
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/director.png                
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/disable.png                 
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/enabled.png                 
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/image.png                   
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/info.png                    
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/install.png                 
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/launch.png                  
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/play.png                    
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/play_record.png             
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/rating.png                  
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/record.png                  
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/set.png                     
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/similar.png         depbase=`echo src/logger.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/logger.lo -MD -MP -MF $depbase.Tpo -c -o src/logger.lo src/logger.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/logger.lo -MD -MP -MF src/.deps/logger.Tpo -c src/logger.c  -fPIC -DPIC -o src/logger.o
        
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/timer.png                   
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/trailer.png                 
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/uninstall.png               
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/infodialogs/update.png                  
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/keyboard/accents.png                    
    frame    0 (delay:   0)                         ARGB   (56,36 @ 8064 bytes)
icons/keyboard/arrowleft.png                  
    frame    0 (delay:   0)                         ARGB   (24,36 @ 3456 bytes)
icons/keyboard/arrowright.png                 
    frame    0 (delay:   0)                         ARGB   (24,36 @ 3456 bytes)
icons/keyboard/backspace.png                  
    frame    0 (delay:   0)                         ARGB   (51,36 @ 7344 bytes)
icons/keyboard/capslock.png                   
    frame    0 (delay:   0)                         ARGB   (42,47 @ 7896 bytes)
icons/keyboard/letters.png                    
    frame    0 (delay:   0)                         ARGB   (56,36 @ 8064 bytes)
icons/keyboard/shift.png                      
    frame    0 (delay:   0)                         ARGB   (36,36 @ 5184 bytes)
icons/keyboard/spacebar.png                   
    frame    0 (delay:   0)                         ARGB   (328,36 @ 47232 bytes)
icons/menu.png                                
    frame    0 (delay:   0)                         ARGB   (48,48 @ 9216 bytes)
icons/now-playing/fullscreen.png              
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/now-playing/next.png                    
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/now-playing/pause.png                   
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/now-playing/play.png                    
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/now-playing/stop.png                    
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/power.png                               
    frame    0 (delay:   0)                         ARGB   (72,83 @ 23904 bytes)
icons/profiles/profile-diffuse.png            
    frame    0 (delay:   0)                         ARGB   (400,400 @ 640000 bytes)
icons/pvr/PVR-HasArchive.png                  
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/pvr/PVR-HasRecording.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/pvr/PVR-HasTimer.png                    
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/pvr/PVR-HasTimerConflict.png            
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/pvr/PVR-HasTimerDisabled.png            
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/pvr/PVR-HasTimerError.png               
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/pvr/PVR-HasTimerSchedule.png            
    frame    0 (delay:   0)                         ARGB   (38,38 @ 5776 bytes)
icons/pvr/PVR-HasTimerScheduleConflict.p      
    frame    0 (delay:   0)                         ARGB   (38,38 @ 5776 bytes)
icons/pvr/PVR-HasTimerScheduleDisabled.p      
    frame    0 (delay:   0)                         ARGB   (38,38 @ 5776 bytes)
icons/pvr/PVR-HasTimerScheduleError.png       
    frame    0 (delay:   0)                         ARGB   (38,38 @ 5776 bytes)
icons/pvr/PVR-IsRecording.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
icons/pvr/premiere.png                        
    frame  depbase=`echo src/md5.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/md5.lo -MD -MP -MF $depbase.Tpo -c -o src/md5.lo src/md5.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/md5.lo -MD -MP -MF src/.deps/md5.Tpo -c src/md5.c  -fPIC -DPIC -o src/md5.o
  0 (delay:   0)                         ARGB   (16,16 @ 1024 bytes)
icons/pvr/timers/bell.png                     
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/pvr/timers/recording.png                
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/search.png                              
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/settings.png                            
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icons/settings/addons.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/eventlog.png                   
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/filemanager.png                
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/games.png                      
****  duplicate of DefaultAddonGame.png
icons/settings/interface.png                  
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/libreelec.png                  
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/livetv.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/media.png                      
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/network.png                    
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/player.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/profiles.png                   
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/skin.png                       
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/sysinfo.png                    
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/settings/system.png                     
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
icons/sidemenu/addons.png                     
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/android.png                    
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/disc.png                       
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/download.png                   
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/favourites.png                 
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/games.png                      
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/livetv.png                     
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/manage.png                     
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/movies.png                     
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/music.png                      
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/musicvideos.png                
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/pictures.png                   
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/programs.png                   
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/radio.png                      
    frame    0 (depbase=`echo src/nav_print.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/nav_print.lo -MD -MP -MF $depbase.Tpo -c -o src/nav_print.lo src/nav_print.c &&\
mv -f $depbase.Tpo $depbase.Plo
delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/tv.png                         
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/videos.png                     
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/sidemenu/weather.png                    
    frame    0 (delay:   0)                         ARGB   (95,95 @ 36100 bytes)
icons/submenu/add-ons.png                     
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/submenu/channels.png                    
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/submenu/guide.png                       
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/submenu/recordings.png                  
****  duplicate of icons/pvr/timers/recording.png
icons/submenu/timer-rules.png                 
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/submenu/timers.png                      
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/submenu/tv-search.png                   
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/submenu/updatelibrary.png               
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
icons/weather/humidity.png                    
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
icons/weather/rain.png                        
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
icons/weather/sunrise.png                     
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
icons/weather/sunset.png                      
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
icons/weather/wind.png                        
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
lists/duration.png                            
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
lists/focus.png                               
    frame    0 (delay:   0)                         ARGB * (470,77 @ 144760 bytes)
lists/panel-mediamenu.png                     
    frame    0 (delay:   0)                         ARGB   (450,920 @ 1656000 bytes)
lists/panel.png                               
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
lists/played-total.png                        
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
lists/rating.png                              
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
lists/year.png                                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
osd/buffer-bg.png                             
    frame    0 (delay:   0)                         ARGB   (110,110 @ 48400 bytes)
osd/fullscreen/buttons/bookmarks.png          
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/button-fo.png          
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/calendar.png           
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/channels.png           
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/forward.png            
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/guide.png              
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/home.png               
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/information.png        
    frame    0 (delay:   0)          libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/nav_print.lo -MD -MP -MF src/.deps/nav_print.Tpo -c src/nav_print.c  -fPIC -DPIC -o src/nav_print.o
In file included from src/dvdread/nav_types.h:32,
                 from src/nav_print.c:30:
src/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
src/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
src/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
src/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
src/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
src/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
src/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
src/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
src/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
src/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
src/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
src/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
src/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
src/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
src/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
src/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
src/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
src/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
src/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
src/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
src/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
src/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
src/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
src/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
src/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
src/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
src/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
src/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
src/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
src/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
src/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
src/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
src/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
src/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
src/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
src/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
src/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
src/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
src/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
src/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
src/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
src/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
src/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
src/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
src/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
src/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
src/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
src/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
src/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
src/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
src/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
src/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
               ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/next.png               
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/pause.png              
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/play.png               
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/playlist.png           
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/previous.png           
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/random-off.png         
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/random-on.png          
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/rating.png             
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/rds.png                
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/record-white.png       
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/record.png             
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/repeat-all.png         
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/repeat-off.png         
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/repeat-one.png         
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/reset.png              
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/rewind.png             
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/saves.png              
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/settings-subtitle      
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/settings.png           
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/stereoscopic.png       
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/stop.png               
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/fullscreen/buttons/teletext.png           
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
osd/progress/nub_bar.png                      
    frame    0 (delay:   0)                         ARGB * (4,12 @ 192 bytes)
osd/progress/nub_leftright.png                
    frame    0 (delay:   0)                         ARGB * (54,36 @ 7776 bytes)
overlays/arrowdown.png                        
    frame    0 (delay:   0)                         ARGB   (96,48 @ 18432 bytes)
overlays/arrowright.png                       
    frame    0 (delay:   0)                         ARGB   (28,28 @ 3136 bytes)
overlays/badge.png                            
    frame    0 (delay:   0)                         ARGB   (44,44 @ 7744 bytes)
overlays/folder.png                           
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
overlays/overlay-bg.png                       
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
overlays/overlayfade.png                      
    frame    0 (delay:   0)                         ARGB   (16,512 @ 32768 bytes)
overlays/set.png                              
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
overlays/shadow.png                           
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
overlays/watched/OverlayPlaying-List.png      
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
overlays/watched/resume.png                   
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
pointer_arrow.png                             
    frame    0 (delay:   0)                         ARGB   (44,50 @ 8800 bytes)
pointer_click.png                             
    frame    0 (delay:   0)                         ARGB   (44,50 @ 8800 bytes)
progress/texturebg_alt_white.png              
    frame    0 (delay:   0)                         ARGB   (30,30 @ 3600 bytes)
progress/texturebg_border_white.png           
    frame    0 (delay:   0)                         ARGB   (30,30 @ 3600 bytes)
progress/texturebg_white.png                  
    frame    0 (delay:   0)                         ARGB   (30,30 @ 3600 bytes)
spinner.png                                   
    frame    0 (delay:   0)                         ARGB   (128,128 @ 65536 bytes)
weather/small/0.png                           
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/1.png                           
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/10.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/11.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/12.png                          
****  duplicate of weather/small/11.png
weather/small/13.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/14.png                          
****  duplicate of weather/small/13.png
weather/small/15.png                          
****  duplicate of weather/small/13.png
weather/small/16.png                          
****  duplicate of weather/small/13.png
weather/small/17.png                          
****  duplicate of weather/small/0.png
weather/small/18.png                          
****  duplicate of weather/small/11.png
weather/small/19.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/2.png                           
****  duplicate of weather/small/1.png
weather/small/20.png                          
****  duplicate of weather/small/19.png
weather/small/21.png                          
****  duplicate of weather/small/19.png
weather/small/22.png                          
****  duplicate of weather/small/19.png
weather/small/23.png                          
****  duplicate of weather/small/1.png
weather/small/24.png                          
****  duplicate of weather/small/1.png
weather/small/25.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/26.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/27.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/28.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/29.png                          
****  duplicate of weather/small/27.png
weather/small/3.png                           
****  duplicate of weather/small/0.png
weather/small/30.png                          
****  duplicate of weather/small/28.png
weather/small/31.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/32.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/33.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/34.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/35.png                          
****  duplicate of weather/small/0.png
weather/small/36.png                          
****  duplicate of weather/small/32.png
weather/small/37.png                          
****  duplicate of weather/small/0.png
weather/small/38.png                          
****  duplicate of weather/small/0.png
weather/small/39.png                          
****  duplicate of weather/small/10.png
weather/small/4.png                           
****  duplicate of weather/small/0.png
weather/small/40.png                          
****  duplicate of weather/small/10.png
weather/small/41.png                          
****  duplicate of weather/small/13.png
weather/small/42.png                          
****  duplicate of weather/small/13.png
weather/small/43.png                          
****  duplicate of weather/small/1.png
weather/small/44.png                          
****  duplicate of weather/small/28.png
weather/small/45.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/46.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/47.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/5.png                           
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
weather/small/6.png                           
****  duplicate of weather/small/11.png
weather/small/7.png                           
****  duplicate of weather/small/5.png
weather/small/8.png                           
****  duplicate of weather/small/19.png
weather/small/9.png                           
****  duplicate of weather/small/19.png
weather/small/na.png                          
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
windows/pvr/archive.png                       
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
windows/pvr/epg-genres/0.png                  
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/112.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/128.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/144.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/16.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/160.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/176.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/192.png                
****  duplicate of windows/pvr/epg-genres/0.png
windows/pvr/epg-genres/208.png                
****  duplicate of windows/pvr/epg-genres/0.png
windows/pvr/epg-genres/224.png                
****  duplicate of windows/pvr/epg-genres/0.png
windows/pvr/epg-genres/240.png                
****  duplicate of windows/pvr/epg-genres/0.png
windows/pvr/epg-genres/256.png                
****  duplicate of windows/pvr/epg-genres/0.png
windows/pvr/epg-genres/32.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/48.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/64.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/80.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg-genres/96.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/pvr/epg_progress_horizontal.png       
    frame    0 (delay:   0)                         ARGB   (47,15 @ 2820 bytes)
windows/pvr/epg_progress_vertical.png         
    frame    0 (delay:   0)                         ARGB   (19,92 @ 6992 bytes)
windows/pvr/record.png                        
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
windows/pvr/timer.png                         
    frame    0 (delay:   0)                         ARGB   (40,40 @ 6400 bytes)
windows/subtitles/flags/-.png                 
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/ar.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/bg.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/bs.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/ca.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/cs.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/da.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/de.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/el.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/en.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/es.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/et.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/fa.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/fi.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/fo.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/fr.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/gl.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/he.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/hi.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/hr.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/hu.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/hy.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/id.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/is.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/it.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/ja.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/kk.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/ko.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/lb.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/lt.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/lv.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/mk.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/ms.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/nl.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/no.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/pb.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/pl.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/pt.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/ro.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/ru.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/sk.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/sl.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/sq.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/sr.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/sv.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/tr.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/uk.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/vi.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/flags/zh.png                
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
windows/subtitles/icon_close_caption.png      
    frame    0 (delay:   0)                         ARGB   (70,41 @ 11480 bytes)
windows/subtitles/icon_sync.png               
    frame    0 (delay:   0)                         ARGB   (133,41 @ 21812 bytes)
make  -f build/cores/dll-loader/exports/CMakeFiles/wrapper.def.dir/build.make build/cores/dll-loader/exports/CMakeFiles/wrapper.def.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/CMakeFiles/wrapper.def.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/dll-loader/exports/CMakeFiles/wrapper.def.dir/build.make build/cores/dll-loader/exports/CMakeFiles/wrapper.def.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports && /usr/bin/nm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o | grep __wrap | awk '{ printf ( "%s ", $3 ) }' | sed "s/^/-flto=auto -fno-fat-lto-objects /" | sed "s/___wrap_/__wrap_/g" | sed "s/__wrap_/-Wl,-wrap,/g" > wrapper.def && test -s wrapper.def
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
depbase=`echo src/nav_read.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/nav_read.lo -MD -MP -MF $depbase.Tpo -c -o src/nav_read.lo src/nav_read.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  1%] Built target wrapper.def
[  1%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltIconsData.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltIconsData.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltIconsData.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltIconsData.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltIconsData.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/nav_read.lo -MD -MP -MF src/.deps/nav_read.Tpo -c src/nav_read.c  -fPIC -DPIC -o src/nav_read.o
In file included from src/dvdread/nav_types.h:32,
                 from src/nav_read.c:29:
src/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
src/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
src/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
src/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
src/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
src/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
src/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
src/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
src/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
src/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
src/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
src/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
src/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
src/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
src/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
src/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
src/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
src/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
src/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
src/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
src/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
src/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
src/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
src/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
src/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
src/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
src/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
src/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
src/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
src/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
src/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
src/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
src/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
src/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
src/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
src/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
src/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
src/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
src/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
src/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
src/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
src/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
src/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
src/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
src/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
src/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
src/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
src/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
src/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
src/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
src/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
src/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
[  2%] Generating addons/skin.estuary/media/flat.xbt
/usr/bin/cmake -E make_directory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/media
build/texturepacker/TexturePacker -input /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estuary/themes/flat -output /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estuary/media/flat.xbt -dupecheck
buttons/button-nofo.png                       
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
dialogs/dialog-bg.png                         
****  duplicate of buttons/button-nofo.png
overlays/shadow.png                           
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
[  2%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltMimeType.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltMimeType.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltMimeType.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltMimeType.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltMimeType.cpp
[  2%] Generating addons/skin.estouchy/media/Textures.xbt
/usr/bin/cmake -E make_directory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/media
build/texturepacker/TexturePacker -input /<<BUILDDIR>>/kodi-20.0+dfsg/addons/skin.estouchy/media -output /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/addons/skin.estouchy/media/Textures.xbt -dupecheck
DefaultActor.png                              
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddSource.png                          
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddon.png                              
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonAlbumInfo.png                     
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonArtistInfo.png                    
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonAudioDSP.png                      
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonAudioDecoder.png                  
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonAudioEncoder.png                  
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonContextItem.png                   
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonFont.png                          
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonGame.png                          
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonHelper.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonImageDecoder.png                  
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonImages.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonInfoLibrary.png                   
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonInfoProvider.png                  
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonInputstream.png                   
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonLanguage.png                      
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonLibrary.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonLookAndFeel.png                   
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonLyrics.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonMovieInfo.png                     
    frame    0 (delay:   0)                         ARGB   (210,210 @ 176400 bytes)
DefaultAddonMusic.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonMusicVideoInfo.png                
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonNone.png                          
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonPVRClient.png                     
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonPeripheral.png                    
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonPicture.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonProgram.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonRepository.png                    
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonScreensaver.png                   
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonService.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytedepbase=`echo src/file/filesystem.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/filesystem.lo -MD -MP -MF $depbase.Tpo -c -o src/file/filesystem.lo src/file/filesystem.c &&\
mv -f $depbase.Tpo $depbase.Plo
s)
DefaultAddonSkin.png                          
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonSubtitles.png                     
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonTvInfo.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonUISounds.png                      
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonVfs.png                           
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonVideo.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonVisualization.png                 
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonWeather.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonWebSkin.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonsInstalled.png                    
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonsRecentlyUpdated.png              
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonsRepo.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonsSearch.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonsUpdates.png                      
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAddonsZip.png                          
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAlbumCover.png                         
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultArtist.png                             
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultAudio.png                              
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultCDDA.png                               
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultCountry.png                            
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultDVDEmpty.png                           
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultDVDFull.png                            
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultDVDRom.png                             
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultDirector.png                           
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultFile.png                               
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultFolder.png                             
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultFolderBack.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultGameAddons.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultGenre.png                              
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultHardDisk.png                           
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultIconError.png                          
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
DefaultIconInfo.png                           
    frame    0 (delay:   0)                         ARGB   (80,80 @ 2560[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltProtocolInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltProtocolInfo.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltProtocolInfo.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltProtocolInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltProtocolInfo.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/filesystem.lo -MD -MP -MF src/file/.deps/filesystem.Tpo -c src/file/filesystem.c  -fPIC -DPIC -o src/file/filesystem.o
depbase=`echo src/file/dir_posix.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/dir_posix.lo -MD -MP -MF $depbase.Tpo -c -o src/file/dir_posix.lo src/file/dir_posix.c &&\
mv -f $depbase.Tpo $depbase.Plo
0 bytes)
DefaultIconWarning.png                        
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
DefaultInProgressShows.png                    
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMovieTitle.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMovies.png                             
****  duplicate of DefaultMovieTitle.png
DefaultMusicAlbums.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicArtists.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicCompilations.png                  
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicGenres.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicPlaylist.png                      
    frame    0 (delay:   0)                         ARGB   (210,210 @ 176400 bytes)
DefaultMusicPlaylists.png                     
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicRecentlyAdded.png                 
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicRecentlyPlayed.png                
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicRoles.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicSearch.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicSongs.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicSources.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicTop100.png                        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicTop100Albums.png                  
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicTop100Songs.png                   
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicVideoTitle.png                    
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultMusicVideos.png                        
****  duplicate of DefaultMusicVideoTitle.png
DefaultMusicYears.png                         
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultNetwork.png                            
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultPicture.png                            
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultPlaylist.png                           
****  duplicate of DefaultMusicPlaylists.png
DefaultProgram.png                            
****  duplicate of DefaultAddonProgram.png
DefaultRecentlyAddedEpisodes.png              
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultRecentlyAddedMovies.png                
****  duplicate of DefaultRecentlyAddedEpisodes.png
DefaultRecentlyAddedMusicVideos.png           
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultRemovableDisk.png                      
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultScript.png                             
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultSets.png                               
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultStudios.png                            
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultTVShowTitle.png                libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/dir_posix.lo -MD -MP -MF src/file/.deps/dir_posix.Tpo -c src/file/dir_posix.c  -fPIC -DPIC -o src/file/dir_posix.o
        
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultTVShows.png                            
****  duplicate of DefaultTVShowTitle.png
DefaultTags.png                               
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultUser.png                               
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultVCD.png                                
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultVideo.png                              
    frame    0 (delay:   0)                         ARGB   (256,256 @ 262144 bytes)
DefaultVideoCover.png                         
****  duplicate of DefaultVideo.png
DefaultVideoDeleted.png                       
    frame    0 (delay:   0)                         ARGB   (86,86 @ 29584 bytes)
DefaultVideoPlaylist.png                      
****  duplicate of DefaultMusicPlaylist.png
DefaultVideoPlaylists.png                     
****  duplicate of DefaultMusicPlaylists.png
DefaultYear.png                               
****  duplicate of DefaultMusicYears.png
OverlayUnwatched.png                          
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
OverlayWatched.png                            
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
OverlayWatching.png                           
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
arrow_down.png                                
    frame    0 (delay:   0)                         ARGB   (55,33 @ 7260 bytes)
arrow_left.png                                
    frame    0 (delay:   0)                         ARGB   (33,55 @ 7260 bytes)
arrow_right.png                               
    frame    0 (delay:   0)                         ARGB   (33,55 @ 7260 bytes)
arrow_up.png                                  
    frame    0 (delay:   0)                         ARGB   (55,33 @ 7260 bytes)
back.png                                      
    frame    0 (delay:   0)                         ARGB   (4,4 @ 64 bytes)
black.png                                     
    frame    0 (delay:   0)                         ARGB * (4,4 @ 64 bytes)
blank.png                                     
****  duplicate of OverlayUnwatched.png
busy.png                                      
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
button_nofocus.png                            
    frame    0 (delay:   0)                         ARGB   (4,4 @ 64 bytes)
calibrate_aspect.png                          
    frame    0 (delay:   0)                         ARGB   (500,500 @ 1000000 bytes)
calibrate_bottom.png                          
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
calibrate_reset.png                           
    frame    0 (delay:   0)                         ARGB   (100,100 @ 40000 bytes)
calibrate_subtitles.png                       
    frame    0 (delay:   0)                         ARGB   (380,90 @ 136800 bytes)
calibrate_top.png                             
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
color-back.png                                
    frame    0 (delay:   0)                         ARGB * (158,94 @ 59408 bytes)
color-button-box.png                          
    frame    0 (delay:   0)                         ARGB   (130,76 @ 39520 bytes)
dialog_back.png                               
    frame    0 (delay:   0)                         ARGB * (4,4 @ 64 bytes)
dialog_header.png                             
    frame    0 (delay:   0)                         ARGB * (64,64 @ 16384 bytes)
dialogbutton-focus.png                        
    frame    0 (delay:   0)                         ARGB   (50,50 @ 10000 bytes)
dialogbutton-nofocus.png                      
    frame    0 (delay:   0)                         ARGB   (50,50 @ 10000 bytes)
epg/0.png                   depbase=`echo src/file/file_posix.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/file_posix.lo -MD -MP -MF $depbase.Tpo -c -o src/file/file_posix.lo src/file/file_posix.c &&\
mv -f $depbase.Tpo $depbase.Plo
                  
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/112.png                                   
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/128.png                                   
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/144.png                                   
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/16.png                                    
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/160.png                                   
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/176.png                                   
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/192.png                                   
****  duplicate of epg/0.png
epg/208.png                                   
****  duplicate of epg/0.png
epg/224.png                                   
****  duplicate of epg/0.png
epg/240.png                                   
****  duplicate of epg/0.png
epg/256.png                                   
****  duplicate of epg/0.png
epg/32.png                                    
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/48.png                                    
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/64.png                                    
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/80.png                                    
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg/96.png                                    
    frame    0 (delay:   0)                         ARGB   (32,32 @ 4096 bytes)
epg_archive.png                               
    frame    0 (delay:   0)                         ARGB   (30,30 @ 3600 bytes)
epg_marker.png                                
    frame    0 (delay:   0)                         ARGB   (15,47 @ 2820 bytes)
epg_record.png                                
    frame    0 (delay:   0)                         ARGB   (30,30 @ 3600 bytes)
epg_schedule.png                              
    frame    0 (delay:   0)                         ARGB   (30,30 @ 3600 bytes)
flagging/aspectratio/1.00.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/1.19.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/1.33.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/1.37.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/1.66.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/1.78.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/1.85.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/2.00.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/2.20.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/2.35.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/2.40.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/2.55.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/aspectratio/2.76.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/file_posix.lo -MD -MP -MF src/file/.deps/file_posix.Tpo -c src/file/file_posix.c  -fPIC -DPIC -o src/file/file_posix.o
audio/0.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/1.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/10.png                         
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/2.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/3.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/4.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/5.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/6.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/7.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/8.png                          
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/aac.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/ac3.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/aif.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/aifc.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/aiff.png                       
****  duplicate of flagging/audio/aif.png
flagging/audio/alac.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/ape.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/avc.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/cdda.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/dca.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/dolbydigital.png               
****  duplicate of flagging/audio/ac3.png
flagging/audio/dts.png                        
****  duplicate of flagging/audio/dca.png
flagging/audio/dtshd_hra.png                  
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/dtshd_ma.png                   
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/dtsma.png                      
****  duplicate of flagging/audio/dtshd_ma.png
flagging/audio/eac3.png                       
****  duplicate of flagging/audio/ac3.png
flagging/audio/flac.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/mp1.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/mp2.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/mp3.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/ogg.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/opus.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/pcm.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 1depbase=`echo src/file/stat_posix.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdread  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/stat_posix.lo -MD -MP -MF $depbase.Tpo -c -o src/file/stat_posix.lo src/file/stat_posix.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdread -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -MT src/file/stat_posix.lo -MD -MP -MF src/file/.deps/stat_posix.Tpo -c src/file/stat_posix.c  -fPIC -DPIC -o src/file/stat_posix.o
29600 bytes)
flagging/audio/pcm_bluray.png                 
****  duplicate of flagging/audio/pcm.png
flagging/audio/pcm_s16le.png                  
****  duplicate of flagging/audio/pcm.png
flagging/audio/pcm_s24le.png                  
****  duplicate of flagging/audio/pcm.png
flagging/audio/truehd.png                     
****  duplicate of flagging/audio/ac3.png
flagging/audio/vorbis.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/wav.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/wavpack.png                    
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/wma.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/audio/wmapro.png                     
****  duplicate of flagging/audio/wma.png
flagging/audio/wmav2.png                      
****  duplicate of flagging/audio/wma.png
flagging/blank.png                            
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/resolution/1080.png                  
    frame    0 (delay:   0)                         ARGB   (90,60 @ 21600 bytes)
flagging/resolution/480.png                   
    frame    0 (delay:   0)                         ARGB   (90,60 @ 21600 bytes)
flagging/resolution/540.png                   
****  duplicate of flagging/resolution/480.png
flagging/resolution/576.png                   
****  duplicate of flagging/resolution/480.png
flagging/resolution/720.png                   
****  duplicate of flagging/resolution/1080.png
flagging/source/Set.png                       
    frame    0 (delay:   0)                         ARGB   (90,60 @ 21600 bytes)
flagging/video/1080.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/3D.png                         
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/480.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/4K.png                         
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/540.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/576.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/720.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/av1.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/avc1.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/bluray.png                     
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/divx.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/dvd.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/flv.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/h262.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/h264.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/hddvd.png                      
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/hdmv.png                       
****  duplicate of flagging/video/bluray.png
flagging/video/hev1.png                /bin/bash ./libtool  --tag=CC   --mode=link /usr/bin/cc  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -Wall -Wsign-compare -Wextra -version-info 8:0:0 -export-symbols-regex "(^dvdread.*|^nav.*|^ifo.*|^DVD.*|^UDF.*)" -Wl,-z,relro -latomic -lpthread -fuse-ld=gold  -o libdvdread.la -rpath /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib src/bitreader.lo src/dvd_input.lo src/dvd_reader.lo src/dvd_udf.lo src/ifo_print.lo src/ifo_read.lo src/logger.lo src/md5.lo src/nav_print.lo src/nav_read.lo src/file/filesystem.lo  src/file/dir_posix.lo src/file/file_posix.lo src/file/stat_posix.lo  
       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/hevc.png                       
****  duplicate of flagging/video/hev1.png
flagging/video/hvc1.png                       
****  duplicate of flagging/video/hev1.png
flagging/video/mpeg1video.png                 
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/mpeg2video.png                 
****  duplicate of flagging/video/h262.png
flagging/video/tv.png                         
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/vc-1.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/vhs.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/vp8.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/vp9.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/wmv.png                        
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
flagging/video/wmv3.png                       
****  duplicate of flagging/video/wmv.png
flagging/video/wvc1.png                       
****  duplicate of flagging/video/vc-1.png
flagging/video/xvid.png                       
    frame    0 (delay:   0)                         ARGB   (270,120 @ 129600 bytes)
grey.png                                      
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
header.png                                    
    frame    0 (delay:   0)                         ARGB   (16,512 @ 32768 bytes)
icon_breadcrumb_addons.png                    
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_breadcrumb_music.png                     
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_breadcrumb_pictures.png                  
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_breadcrumb_settings.png                  
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_breadcrumb_tv.png                        
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_breadcrumb_video.png                     
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_breadcrumb_weather.png                   
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_back.png                          
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_city.png                          
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_favourites.png                    
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_filemanager.png                   
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_filter.png                        
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_filtered.png                      
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_logoff.png                        
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_refresh.png                       
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_settings.png                      
****  duplicate of icon_breadcrumb_settings.png
icon_button_shutdown.png                      
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_button_view.png                          
    frame    0 (delay:   0)                         ARGB   (libtool: link: ar cr .libs/libdvdread.a  src/bitreader.o src/dvd_input.o src/dvd_reader.o src/dvd_udf.o src/ifo_print.o src/ifo_read.o src/logger.o src/md5.o src/nav_print.o src/nav_read.o src/file/filesystem.o src/file/dir_posix.o src/file/file_posix.o src/file/stat_posix.o
libtool: link: ranlib .libs/libdvdread.a
libtool: link: ( cd ".libs" && rm -f "libdvdread.la" && ln -s "../libdvdread.la" "libdvdread.la" )
cd . && git log > /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread/ChangeLog-tmp
/bin/bash: line 1: git: command not found
make[6]: [Makefile:1119: ChangeLog] Error 127 (ignored)
test -s ChangeLog-tmp && mv ChangeLog-tmp ChangeLog
make[6]: [Makefile:1120: ChangeLog] Error 1 (ignored)
rm -f ChangeLog-tmp
test -e ChangeLog || touch ChangeLog
make[6]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
make[5]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-build
[  3%] Performing install step for 'libdvdread'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread && /usr/bin/make install
make[5]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
make[5]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[6]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib'
 /bin/bash ./libtool   --mode=install install --strip-program=true   libdvdread.la '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib'
80,80 @ 25600 bytes)
icon_dialog_close.png                         
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
icon_keyboard_arrowkey.png                    
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
icon_keyboard_backspace.png                   
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
icon_keyboard_enter.png                       
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
icon_keyboard_hide.png                        
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
icon_keyboard_shift.png                       
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
icon_keyboard_show.png                        
    frame    0 (delay:   0)                         ARGB   (64,64 @ 16384 bytes)
icon_menu_addons.png                          
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_favourites.png                      
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_menu_games.png                           
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_livetv.png                          
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_movies.png                          
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_music.png                           
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_pictures.png                        
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_radio.png                           
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_tvshows.png                         
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_videos.png                          
    frame    0 (delay:   0)                         ARGB   (90,90 @ 32400 bytes)
icon_menu_weather.png                         
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
icon_settings_addons.png                      
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_games.png                       
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_interface.png                   
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_livetv.png                      
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_media.png                       
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_player.png                      
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_profiles.png                    
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_services.png                    
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_system.png                      
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
icon_settings_systeminfo.png                  
    frame    0 (delay:   0)                         ARGB   (283,283 @ 320356 bytes)
list_focus.png                                
    frame    0 (delay:   0)                         ARGB   (4,4 @ 64 bytes)
osd_forward.png                               
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
osd_next.png                                  
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
osd_pause.png                                 
    frame    0 (delay:   0)        libtool: install: install --strip-program=true .libs/libdvdread.lai /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdread.la
install: WARNING: ignoring --strip-program option as -s option was not specified
libtool: install: install --strip-program=true .libs/libdvdread.a /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdread.a
install: WARNING: ignoring --strip-program option as -s option was not specified
libtool: install: chmod 644 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdread.a
libtool: install: ranlib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdread.a
                 ARGB   (80,80 @ 25600 bytes)
osd_play.png                                  
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
osd_previous.png                              
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
osd_record.png                                
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
osd_rewind.png                                
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
osd_stop.png                                  
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
osd_volume.png                                
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
panel.png                                     
****  duplicate of button_nofocus.png
panel_shadow.png                              
    frame    0 (delay:   0)                         ARGB   (52,52 @ 10816 bytes)
pointer_focus.png                             
    frame    0 (delay:   0)                         ARGB   (40,60 @ 9600 bytes)
radiobutton_off.png                           
    frame    0 (delay:   0)                         ARGB   (80,50 @ 16000 bytes)
radiobutton_on.png                            
    frame    0 (delay:   0)                         ARGB   (80,50 @ 16000 bytes)
rating/0.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/1.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/10.png                                 
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/2.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/3.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/4.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/5.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/6.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/7.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/8.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
rating/9.png                                  
    frame    0 (delay:   0)                         ARGB   (256,32 @ 32768 bytes)
red.png                                       
    frame    0 (delay:   0)                         ARGB   (8,8 @ 256 bytes)
roundbutton-focus.png                         
    frame    0 (delay:   0)                         ARGB   (120,120 @ 57600 bytes)
separator.png                                 
    frame    0 (delay:   0)                         ARGB   (4,4 @ 64 bytes)
side_panel.png                                
    frame    0 (delay:   0)                         ARGB   (4,4 @ 64 bytes)
slider.png                                    
    frame    0 (delay:   0)                         ARGB   (350,40 @ 56000 bytes)
slider_focus.png                              
    frame    0 (delay:   0)                         ARGB * (5,20 @ 400 bytes)
slider_nofocus.png                            
    frame    0 (delay:   0)                         ARGB   (5,20 @ 400 bytes)
subtitles/flags/-.gif                         
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/ar.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/bg.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/bs.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/ca.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/cs.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/da.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/de.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/el.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/en.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/es.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/et.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/fa.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/fi.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/fo.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/fr.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/gl.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/he.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/hi.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/hr.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/hu.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/hy.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/id.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/is.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/it.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/ja.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/kk.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/ko.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/lb.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/lt.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/lv.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/mk.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/ms.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/nl.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/no.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/pb.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/pl.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/pt.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/ro.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/ru.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/sk.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/sl.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/sq.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/sr.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/sv.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/tr.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/uk.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/vi.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/flags/zh.gif                        
    frame    0 (delay:   0)                         ARGB * (18,12 @ 864 bytes)
subtitles/rating/rating0.png                  
    frame    0 (delay:   0)                         ARGB   (125,32 @ 16000 bytes)
subtitles/rating/rating1.png                  
    frame    0 (delay:   0)                         ARGB   (125,32 @ 16000 bytes)
subtitles/rating/rating2.png                  
    frame    0 (delay:   0)                         ARGB   (125,32 @ 16000 bytes)
subtitles/rating/rating3.png                  
    frame    0 (delay:   0)                         ARGB   (125,32 @ 16000 bytes)
subtitles/rating/rating4.png                  
    frame    0 (delay:   0)                         ARGB   (125,32 @ 16000 bytes)
subtitles/rating/rating5.png                  
    frame    0 (delay:   0)                         ARGB   (125,32 @ 16000 bytes)
thumb_focus.png                               
    frame    0 (delay:   0)                         ARGB   (16,16 @ 1024 bytes)
weather/0.png                                 
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/1.png                                 
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/10.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/11.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/12.png                                
****  duplicate of weather/11.png
weather/13.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/14.png                                
****  duplicate of weather/13.png
weather/15.png                                
****  duplicate of weather/13.png
weather/16.png                                
****  duplicate of weather/13.png
weather/17.png                                
****  duplicate of weather/0.png
weather/18.png                                
****  duplicate of weather/11.png
weather/19.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/2.png                                 
****  duplicate of weather/1.png
weather/20.png                                
****  duplicate of weather/19.png
weather/21.png                                
****  duplicate of weather/19.png
weather/22 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/share/doc/libdvdread'
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltService.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltService.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltService.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltService.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.cpp
 install --strip-program=true -m 644 AUTHORS ChangeLog COPYING NEWS README.md TODO '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/share/doc/libdvdread'
install: WARNING: ignoring --strip-program option as -s option was not specified
 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/pkgconfig'
 install --strip-program=true -m 644 misc/dvdread.pc '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/pkgconfig'
install: WARNING: ignoring --strip-program option as -s option was not specified
 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread'
 install --strip-program=true -m 644 src/dvdread/bitreader.h src/dvdread/dvd_filesystem.h src/dvdread/dvd_reader.h src/dvdread/dvd_udf.h src/dvdread/ifo_print.h src/dvdread/ifo_read.h src/dvdread/ifo_types.h src/dvdread/nav_print.h src/dvdread/nav_read.h src/dvdread/nav_types.h src/dvdread/version.h '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread'
install: WARNING: ignoring --strip-program option as -s option was not specified
make[6]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
make[5]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-install
.png                                
****  duplicate of weather/19.png
weather/23.png                                
****  duplicate of weather/1.png
weather/24.png                                
****  duplicate of weather/1.png
weather/25.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/26.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/27.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/28.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/29.png                                
****  duplicate of weather/27.png
weather/3.png                                 
****  duplicate of weather/0.png
weather/30.png                                
****  duplicate of weather/28.png
weather/31.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/32.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/33.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/34.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/35.png                                
****  duplicate of weather/0.png
weather/36.png                                
****  duplicate of weather/32.png
weather/37.png                                
****  duplicate of weather/0.png
weather/38.png                                
****  duplicate of weather/0.png
weather/39.png                                
****  duplicate of weather/10.png
weather/4.png                                 
****  duplicate of weather/0.png
weather/40.png                                
****  duplicate of weather/10.png
weather/41.png                                
****  duplicate of weather/13.png
weather/42.png                                
****  duplicate of weather/13.png
weather/43.png                                
****  duplicate of weather/1.png
weather/44.png                                
****  duplicate of weather/28.png
weather/45.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/46.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/47.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/5.png                                 
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
weather/6.png                                 
****  duplicate of weather/11.png
weather/7.png                                 
****  duplicate of weather/5.png
weather/8.png                                 
****  duplicate of weather/19.png
weather/9.png                                 
****  duplicate of weather/19.png
weather/na.png                                
    frame    0 (delay:   0)                         ARGB   (60,60 @ 14400 bytes)
white.png                                     
    frame    0 (delay:   0)                         ARGB * (4,4 @ 64 bytes)
[  3%] Completed 'libdvdread'
/usr/bin/cmake -E make_directory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltSsdp.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltSsdp.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltSsdp.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltSsdp.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltSsdp.cpp
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/libdvdread-complete
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdread/src/libdvdread-stamp/libdvdread-done
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  3%] Built target libdvdread
make  -f CMakeFiles/libdvdnav.dir/build.make CMakeFiles/libdvdnav.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/libdvdnav.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f CMakeFiles/libdvdnav.dir/build.make CMakeFiles/libdvdnav.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  3%] Creating directories for 'libdvdnav'
/usr/bin/cmake -Dcfgdir= -P /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/tmp/libdvdnav-mkdirs.cmake
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-mkdir
[  3%] Performing download step (verify and extract) for 'libdvdnav'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src && /usr/bin/cmake -P /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/verify-libdvdnav.cmake
-- verifying file...
     file='/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdnav/libdvdnav-embedded.tar.xz'
-- verifying file... done
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src && /usr/bin/cmake -P /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/extract-libdvdnav.cmake
-- extracting...
     src='/<<BUILDDIR>>/kodi-20.0+dfsg/tools/depends/target/libdvdnav/libdvdnav-embedded.tar.xz'
     dst='/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-download
[  3%] No update step for 'libdvdnav'
/usr/bin/cmake -E echo_append
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.cpp: In member function 'NPT_Result PLT_Service::ProcessRenewSubscription(const NPT_SocketAddress&, const NPT_String&, int, NPT_HttpResponse&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.cpp:649:52: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  649 |         expiration = subscriber->GetExpirationTime();
      |                                                    ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.cpp: In member function 'NPT_Result PLT_Service::NotifyChanged()':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.cpp:822:45: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  822 |         expiration = sub->GetExpirationTime();
      |                                             ^
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-update
[  3%] No patch step for 'libdvdnav'
/usr/bin/cmake -E echo_append
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-patch
[  3%] Performing configure step for 'libdvdnav'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav && /usr/bin/autoreconf -vif
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpServerTask.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltSsdp.h:47,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltSsdp.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltSsdp.cpp: In static member function 'static NPT_Result PLT_SsdpSender::SendSsdp(NPT_HttpRequest&, const char*, const char*, NPT_UdpSocket&, bool, const NPT_SocketAddress*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltSsdp.cpp:64:5: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
   64 |     PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINER, prefix, &request);
      |     ^~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltSsdp.cpp: In static member function 'static NPT_Result PLT_SsdpSender::SendSsdp(NPT_HttpResponse&, const char*, const char*, NPT_UdpSocket&, bool, const NPT_SocketAddress*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:168:5: warning: 'nonnull' argument 'response' compared to NULL [-Wnonnull-compare]
  168 |     if (!_response) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:180:57: note: in expansion of macro 'PLT_LOG_HTTP_RESPONSE_L'
  180 | #define PLT_LOG_HTTP_RESPONSE(_level,_prefix,_response) PLT_LOG_HTTP_RESPONSE_L(_NPT_LocalLogger,(_level),(_prefix),(_response))
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltSsdp.cpp:96:5: note: in expansion of macro 'PLT_LOG_HTTP_RESPONSE'
   96 |     PLT_LOG_HTTP_RESPONSE(NPT_LOG_LEVEL_FINER, prefix, &response);
      |     ^~~~~~~~~~~~~~~~~~~~~
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -Im4
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltStateVariable.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltStateVariable.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltStateVariable.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltStateVariable.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltStateVariable.cpp
buttons/button-nofo.png                       
    frame    0 (delay:   0)                         ARGB   (232,119 @ 110432 bytes)
dialogs/dialog-bg-nobo.png                    
    frame    0 (delay:   0)                         ARGB   (216,216 @ 186624 bytes)
dialogs/dialog-bg.png                         
    frame    0 (delay:   0)                         ARGB   (1004,594 @ 2385504 bytes)
lists/panel-mediamenu.png                     
    frame    0 (delay:   0)                         ARGB   (450,920 @ 1656000 bytes)
lists/panel.png                               
    frame    0 (delay:   0)                         ARGB * (450,920 @ 1656000 bytes)
overlays/shadow.png                           
    frame    0 (delay:   0)                         ARGB   (80,80 @ 25600 bytes)
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  3%] Built target pack-skins
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltTaskManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltTaskManager.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltTaskManager.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltTaskManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltTaskManager.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltStateVariable.cpp: In member function 'NPT_Result PLT_StateVariable::SetRate(NPT_TimeInterval)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltStateVariable.cpp:142:14: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  142 |     m_Rate = rate;
      |              ^~~~
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltStateVariable.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltStateVariable.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltStateVariable.cpp: In member function 'bool PLT_StateVariable::IsReadyToPublish()':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltStateVariable.cpp:181:23: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  181 |         m_LastEvent = now;
      |                       ^~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
autoreconf: configure.ac: tracing
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltThreadTask.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltThreadTask.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltThreadTask.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltThreadTask.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltThreadTask.cpp
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltUPnP.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Core/PltUPnP.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Core/PltUPnP.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Core/PltUPnP.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltUPnP.cpp
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltDidl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltDidl.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltDidl.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltDidl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltThreadTask.cpp: In member function 'NPT_Result PLT_ThreadTask::Start(PLT_TaskManager*, NPT_TimeInterval*, bool)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltThreadTask.cpp:71:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
   71 |     m_Delay       = delay?*delay:NPT_TimeStamp(0.);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltThreadTask.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltThreadTask.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
autoreconf: running: libtoolize --copy --force
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h: In static member function 'static NPT_Result PLT_Didl::ParseTimeStamp(const NPT_String&, NPT_TimeStamp&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:190:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  190 |         timestamp = NPT_TimeStamp((double)seconds);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:45:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force -Im4
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp:44:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h: In static member function 'static NPT_Result PLT_Didl::ParseTimeStamp(const NPT_String&, NPT_TimeStamp&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:190:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  190 |         timestamp = NPT_TimeStamp((double)seconds);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltTaskManager.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltUPnP.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.h:47,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp:39:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaCache.h: In instantiation of 'NPT_Result PLT_MediaCache<T, U>::Get(const char*, const char*, T&, U*) [with T = NPT_Reference<NPT_List<NPT_String> >; U = NPT_TimeStamp; NPT_Result = int]':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp:194:24:   required from here
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaCache.h:141:24: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  141 |         if (_tag) *tag = *_tag;
      |                   ~~~~~^~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:65:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptMap.h: In instantiation of 'void NPT_Map<K, V>::Entry::SetValue(const V&) [with K = NPT_String; V = NPT_TimeStamp]':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptMap.h:175:24:   required from 'NPT_Result NPT_Map<K, V>::Put(const K&, const V&) [with K = NPT_String; V = NPT_TimeStamp; NPT_Result = int]'
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaCache.h:114:14:   required from 'NPT_Result PLT_MediaCache<T, U>::Put(const char*, const char*, T&, U*) [with T = NPT_Reference<NPT_List<NPT_String> >; U = NPT_TimeStamp; NPT_Result = int]'
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp:212:27:   required from here
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptMap.h:68:49: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
   68 |         void SetValue(const V& value) { m_Value = value; }
      |                                         ~~~~~~~~^~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltEvent.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltService.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h:46,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltUPnP.h:46:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp: In member function 'virtual NPT_Result PLT_FileMediaServerDelegate::ProcessFileRequest(NPT_HttpRequest&, const NPT_HttpRequestContext&, NPT_HttpResponse&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:156:5: warning: 'nonnull' argument 'request' compared to NULL [-Wnonnull-compare]
  156 |     if (!_request) break; \
      |     ^~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltHttp.h:178:55: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST_L'
  178 | #define PLT_LOG_HTTP_REQUEST(_level,_prefix,_request) PLT_LOG_HTTP_REQUEST_L(_NPT_LocalLogger,(_level),(_prefix),(_request))
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp:82:5: note: in expansion of macro 'PLT_LOG_HTTP_REQUEST'
   82 |     PLT_LOG_HTTP_REQUEST(NPT_LOG_LEVEL_FINE, "PLT_FileMediaServerDelegate::ProcessFileRequest:", &request);
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp:40:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h: In static member function 'static NPT_Result PLT_Didl::ParseTimeStamp(const NPT_String&, NPT_TimeStamp&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:190:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  190 |         timestamp = NPT_TimeStamp((double)seconds);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaCache.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaCache.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaCache.cpp
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp:40:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h: In static member function 'static NPT_Result PLT_Didl::ParseTimeStamp(const NPT_String&, NPT_TimeStamp&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:190:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  190 |         timestamp = NPT_TimeStamp((double)seconds);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp: In member function 'virtual NPT_Result PLT_MediaObject::ToDidl(NPT_UInt64, NPT_String&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp:589:55: warning: implicit conversion from 'NPT_Float' {aka 'float'} to 'double' when passing argument to function [-Wdouble-promotion]
  589 |         didl += NPT_String::Format("%.1f", m_XbmcInfo.rating);
      |                                            ~~~~~~~~~~~^~~~~~
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp:44:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h: In static member function 'static NPT_Result PLT_Didl::ParseTimeStamp(const NPT_String&, NPT_TimeStamp&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:190:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  190 |         timestamp = NPT_TimeStamp((double)seconds);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltTaskManager.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core/PltUPnP.h:45,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
autoreconf: running: /usr/bin/autoconf --force
configure.ac:70: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:70: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:70: the top level
configure.ac:126: warning: AC_OUTPUT should be used without arguments.
configure.ac:126: You should run autoupdate.
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ConnectionManagerSCPD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ConnectionManagerSCPD.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ConnectionManagerSCPD.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ConnectionManagerSCPD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/ConnectionManagerSCPD.cpp
autoreconf: running: /usr/bin/autoheader --force
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorySCPD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorySCPD.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorySCPD.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorySCPD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/ContentDirectorySCPD.cpp
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorywSearchSCPD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorywSearchSCPD.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorywSearchSCPD.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorywSearchSCPD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/ContentDirectorywSearchSCPD.cpp
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/Neptune.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/Neptune.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/Neptune.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/Neptune.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.cpp
autoreconf: running: automake --add-missing --copy --force-missing
[  3%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptAutomaticCleaner.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptAutomaticCleaner.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptAutomaticCleaner.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptAutomaticCleaner.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptAutomaticCleaner.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptBase64.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptBase64.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptBase64.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptBase64.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptBase64.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptBufferedStreams.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptBufferedStreams.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptBufferedStreams.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptBufferedStreams.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptBufferedStreams.cpp
configure.ac:20: installing './compile'
configure.ac:15: installing './config.guess'
configure.ac:15: installing './config.sub'
configure.ac:17: installing './install-sh'
configure.ac:17: installing './missing'
Makefile.am: installing './depcomp'
autoreconf: Leaving directory '.'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav && ac_cv_path_GIT= ./configure --target=arm --host=arm --enable-static --disable-shared --with-pic --prefix=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build --libdir=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib CC=/usr/bin/cc "CFLAGS=-g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\\\"2:20.0+dfsg-1\\\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC" "LDFLAGS=-Wl,-z,relro -latomic -lpthread -fuse-ld=gold " PKG_CONFIG_PATH=/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/pkgconfig
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptCommon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptCommon.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptCommon.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptCommon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptCommon.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptDataBuffer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptDataBuffer.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptDataBuffer.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptDataBuffer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptDataBuffer.cpp
checking build system type... armv7l-unknown-linux-gnueabihf
checking host system type... [  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptDebug.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptDebug.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptDebug.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptDebug.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptDebug.cpp
arm-unknown-none
checking for a BSD-compatible install... install --strip-program=true
checking whether build environment is sane... yes
checking for arm-strip... no
checking for strip... strip
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for arm-gcc... /usr/bin/cc
checking whether the C compiler works... [  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptFile.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptFile.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptHash.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptHash.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptHash.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptHash.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptHash.cpp
yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptHttp.cpp.o
checking whether we are cross compiling... cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptHttp.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptHttp.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptHttp.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptHttp.cpp
no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether /usr/bin/cc accepts -g... yes
checking for /usr/bin/cc option to enable C11 features... none needed
checking whether /usr/bin/cc understands -c and -o together... yes
checking dependency style of /usr/bin/cc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by /usr/bin/cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... no
checking for arm-dumpbin... no
checking for arm-link... no
checking for dumpbin... no
checking for link... link -dump
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert armv7l-unknown-linux-gnueabihf file names to arm-unknown-none format... func_convert_file_noop
checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for arm-file... no
checking for file... file
checking for arm-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... unknown
checking for arm-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for arm-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for arm-strip... strip
checking for arm-ranlib... no
checking for ranlib... ranlib
checking command to parse nm output from /usr/bin/cc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for arm-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... [  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptList.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptList.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptList.cpp
yes
checking for inttypes.h... [  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptLogging.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptLogging.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptLogging.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptLogging.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptLogging.cpp
yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptMessaging.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptMessaging.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptMessaging.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptMessaging.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptMessaging.cpp
checking if /usr/bin/cc supports -fno-rtti -fno-exceptions... no
checking for /usr/bin/cc option to produce PIC... -fPIC -DPIC
checking if /usr/bin/cc PIC flag -fPIC -DPIC works... yes
checking if /usr/bin/cc static flag -static works... yes
checking if /usr/bin/cc supports -c -o file.o... yes
checking if /usr/bin/cc supports -c -o file.o... (cached) yes
checking whether the /usr/bin/cc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... no
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... [  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptNetwork.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptNetwork.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptNetwork.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptNetwork.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptNetwork.cpp
64
checking whether byte ordering is bigendian... no
checking for pthread_create in -lpthread... yes
checking for arm-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for dvdread >= 6.0.0... yes
checking if /usr/bin/cc supports -mno-ms-bitfields flag... no
checking if /usr/bin/cc supports -Wall -Wsign-compare -Wextra flag... [  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptQueue.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptQueue.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptQueue.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptQueue.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptQueue.cpp
yes
checking for doxygen... doxygen
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptResults.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptResults.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptResults.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptResults.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptResults.cpp
checking that generated files are newer than configure... done
configure: creating ./config.status
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptRingBuffer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptRingBuffer.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptRingBuffer.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptRingBuffer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptRingBuffer.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptSimpleMessageQueue.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptSimpleMessageQueue.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptSimpleMessageQueue.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptSimpleMessageQueue.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptSimpleMessageQueue.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptSockets.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptSockets.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptSockets.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptSockets.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptSockets.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptStreams.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptStreams.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptStreams.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptStreams.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptStreams.cpp
[  4%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptStrings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptStrings.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptStrings.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptStrings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptStrings.cpp
config.status: creating Makefile
config.status: creating misc/dvdnav.pc
config.status: creating misc/libdvdnav.spec
config.status: creating src/dvdnav/version.h
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-configure
[  4%] Performing build step for 'libdvdnav'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav && /usr/bin/make
make[5]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
make[5]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
/usr/bin/make  all-am
make[6]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
depbase=`echo src/dvdnav.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvdnav.lo -MD -MP -MF $depbase.Tpo -c -o src/dvdnav.lo src/dvdnav.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptSystem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptSystem.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptSystem.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptSystem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptSystem.cpp
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptThreads.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptThreads.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptThreads.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptThreads.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptThreads.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/dvdnav.lo -MD -MP -MF src/.deps/dvdnav.Tpo -c src/dvdnav.c  -fPIC -DPIC -o src/dvdnav.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/dvdnav/dvdnav.h:37,
                 from src/dvdnav.c:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/dvdnav.c:44:
src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptTime.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptTime.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptTime.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptTime.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.cpp
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptTls.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptTls.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptTls.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptTls.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTls.cpp
depbase=`echo src/read_cache.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/read_cache.lo -MD -MP -MF $depbase.Tpo -c -o src/read_cache.lo src/read_cache.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/read_cache.lo -MD -MP -MF src/.deps/read_cache.Tpo -c src/read_cache.c  -fPIC -DPIC -o src/read_cache.o
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptUri.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptUri.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptUri.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptUri.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptUri.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/dvdnav/dvdnav.h:37,
                 from src/read_cache.c:37:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/read_cache.c:41:
src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptUtils.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptUtils.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptUtils.cpp
depbase=`echo src/navigation.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/navigation.lo -MD -MP -MF $depbase.Tpo -c -o src/navigation.lo src/navigation.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/navigation.lo -MD -MP -MF src/.deps/navigation.Tpo -c src/navigation.c  -fPIC -DPIC -o src/navigation.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/dvdnav/dvdnav.h:37,
                 from src/navigation.c:29:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/navigation.c:33:
src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptXml.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/Core/NptXml.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/Core/NptXml.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/Core/NptXml.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptXml.cpp
depbase=`echo src/highlight.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/highlight.lo -MD -MP -MF $depbase.Tpo -c -o src/highlight.lo src/highlight.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdResolver.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdResolver.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdResolver.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdResolver.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Bsd/NptBsdResolver.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/highlight.lo -MD -MP -MF src/.deps/highlight.Tpo -c src/highlight.c  -fPIC -DPIC -o src/highlight.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/highlight.c:32:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/highlight.c:37:
src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdSockets.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdSockets.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdSockets.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdSockets.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Bsd/NptBsdSockets.cpp
depbase=`echo src/logger.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/logger.lo -MD -MP -MF $depbase.Tpo -c -o src/logger.lo src/logger.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcDebug.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcDebug.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcDebug.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcDebug.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/StdC/NptStdcDebug.cpp
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcEnvironment.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcEnvironment.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcEnvironment.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcEnvironment.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/StdC/NptStdcEnvironment.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/logger.lo -MD -MP -MF src/.deps/logger.Tpo -c src/logger.c  -fPIC -DPIC -o src/logger.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/dvdnav/dvdnav.h:37,
                 from src/logger.c:23:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
depbase=`echo src/searching.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/searching.lo -MD -MP -MF $depbase.Tpo -c -o src/searching.lo src/searching.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/searching.lo -MD -MP -MF src/.deps/searching.Tpo -c src/searching.c  -fPIC -DPIC -o src/searching.o
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/dvdnav/dvdnav.h:37,
                 from src/searching.c:32:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/searching.c:36:
src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
depbase=`echo src/settings.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/settings.lo -MD -MP -MF $depbase.Tpo -c -o src/settings.lo src/settings.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/settings.lo -MD -MP -MF src/.deps/settings.Tpo -c src/settings.c  -fPIC -DPIC -o src/settings.o
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/AVTransportSCPD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/AVTransportSCPD.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/AVTransportSCPD.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/AVTransportSCPD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/AVTransportSCPD.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/dvdnav/dvdnav.h:37,
                 from src/settings.c:29:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/settings.c:33:
src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
depbase=`echo src/vm/decoder.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/decoder.lo -MD -MP -MF $depbase.Tpo -c -o src/vm/decoder.lo src/vm/decoder.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/decoder.lo -MD -MP -MF src/vm/.deps/decoder.Tpo -c src/vm/decoder.c  -fPIC -DPIC -o src/vm/decoder.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp:40:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h: In static member function 'static NPT_Result PLT_Didl::ParseTimeStamp(const NPT_String&, NPT_TimeStamp&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:190:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  190 |         timestamp = NPT_TimeStamp((double)seconds);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/vm/decoder.c:35:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/vm/decoder.c:41:
./src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
./src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RdrConnectionManagerSCPD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RdrConnectionManagerSCPD.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RdrConnectionManagerSCPD.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RdrConnectionManagerSCPD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/RdrConnectionManagerSCPD.cpp
src/vm/decoder.c: In function 'eval_set_op':
src/vm/decoder.c:602:79: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
  602 |       set_GPRM(command->registers, reg, 1 + ((uint16_t) ((float) data * rand()/(RAND_MAX+1.0))) );
      |                                                                               ^
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp: In member function 'NPT_Result PLT_MediaController::OnGetPositionInfoResponse(NPT_Result, PLT_DeviceDataReference&, PLT_ActionReference&, void*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp:1083:55: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
 1083 |                 info.track_duration = NPT_TimeStamp(0.);
      |                                                       ^
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp:1101:52: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
 1101 |                 info.rel_time = NPT_TimeStamp(-1.0f);
      |                                                    ^
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp:1111:52: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
 1111 |                 info.abs_time = NPT_TimeStamp(-1.0f);
      |                                                    ^
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RenderingControlSCPD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RenderingControlSCPD.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RenderingControlSCPD.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RenderingControlSCPD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/RenderingControlSCPD.cpp
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/X_MS_MediaReceiverRegistrarSCPD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/X_MS_MediaReceiverRegistrarSCPD.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/X_MS_MediaReceiverRegistrarSCPD.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/X_MS_MediaReceiverRegistrarSCPD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect/X_MS_MediaReceiverRegistrarSCPD.cpp
depbase=`echo src/vm/vm.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/vm.lo -MD -MP -MF $depbase.Tpo -c -o src/vm/vm.lo src/vm/vm.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  5%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp.o -MF CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp.o.d -o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixEnvironment.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixEnvironment.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixEnvironment.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixEnvironment.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix/NptPosixEnvironment.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/vm.lo -MD -MP -MF src/vm/.deps/vm.Tpo -c src/vm/vm.c  -fPIC -DPIC -o src/vm/vm.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/vm/vm.c:41:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/vm/vm.c:49:
./src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
./src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixSystem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixSystem.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixSystem.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixSystem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix/NptPosixSystem.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum/Platinum.h:102,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp:39:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h: In static member function 'static NPT_Result PLT_Didl::ParseTimeStamp(const NPT_String&, NPT_TimeStamp&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltDidl.h:190:50: warning: implicitly-declared 'constexpr NPT_TimeStamp& NPT_TimeStamp::operator=(const NPT_TimeStamp&)' is deprecated [-Wdeprecated-copy]
  190 |         timestamp = NPT_TimeStamp((double)seconds);
      |                                                  ^
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptFile.h:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/Neptune.h:51,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp:38:
/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core/NptTime.h:54:5: note: because 'NPT_TimeStamp' has user-provided 'NPT_TimeStamp::NPT_TimeStamp(const NPT_TimeStamp&)'
   54 |     NPT_TimeStamp(const NPT_TimeStamp& timestamp);
      |     ^~~~~~~~~~~~~
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptSelectableMessageQueue.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptSelectableMessageQueue.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptSelectableMessageQueue.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptSelectableMessageQueue.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix/NptSelectableMessageQueue.cpp
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixQueue.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixQueue.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixQueue.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixQueue.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix/NptPosixQueue.cpp
depbase=`echo src/vm/play.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/play.lo -MD -MP -MF $depbase.Tpo -c -o src/vm/play.lo src/vm/play.c &&\
mv -f $depbase.Tpo $depbase.Plo
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixThreads.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixThreads.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixThreads.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixThreads.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix/NptPosixThreads.cpp
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/play.lo -MD -MP -MF src/vm/.deps/play.Tpo -c src/vm/play.c  -fPIC -DPIC -o src/vm/play.o
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixTime.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixTime.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixTime.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixTime.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix/NptPosixTime.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/vm/play.c:32:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/vm/play.c:41:
./src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
./src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
src/vm/play.c: In function 'play_PGC':
src/vm/play.c:76:59: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
   76 |       (vm->state).pgN = 1 + ((int) ((float) pgCnt * rand()/(RAND_MAX+1.0)));
      |                                                           ^
depbase=`echo src/vm/getset.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/getset.lo -MD -MP -MF $depbase.Tpo -c -o src/vm/getset.lo src/vm/getset.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/getset.lo -MD -MP -MF src/vm/.deps/getset.Tpo -c src/vm/getset.c  -fPIC -DPIC -o src/vm/getset.o
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdNetwork.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdNetwork.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdNetwork.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdNetwork.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Bsd/NptBsdNetwork.cpp
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/vm/getset.c:33:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/vm/getset.c:40:
./src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
./src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
[  6%] Building CXX object build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Null/NptNullAutoreleasePool.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -std=c++17 -MD -MT build/upnp/CMakeFiles/upnp.dir/Neptune/Source/System/Null/NptNullAutoreleasePool.cpp.o -MF CMakeFiles/upnp.dir/Neptune/Source/System/Null/NptNullAutoreleasePool.cpp.o.d -o CMakeFiles/upnp.dir/Neptune/Source/System/Null/NptNullAutoreleasePool.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Null/NptNullAutoreleasePool.cpp
depbase=`echo src/vm/vmget.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/vmget.lo -MD -MP -MF $depbase.Tpo -c -o src/vm/vmget.lo src/vm/vmget.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/vmget.lo -MD -MP -MF src/vm/.deps/vmget.Tpo -c src/vm/vmget.c  -fPIC -DPIC -o src/vm/vmget.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from src/vm/vmget.c:34:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
[  6%] Linking CXX static library libupnp.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/cmake -P CMakeFiles/upnp.dir/cmake_clean_target.cmake
In file included from src/vm/vmget.c:41:
./src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
./src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/upnp && /usr/bin/cmake -E cmake_link_script CMakeFiles/upnp.dir/link.txt --verbose=1
/usr/bin/ar qc libupnp.a CMakeFiles/upnp.dir/Platinum/Source/Core/PltAction.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltArgument.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltConstants.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPoint.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltCtrlPointTask.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltDatagramStream.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceData.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltDeviceHost.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltEvent.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttp.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpClientTask.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServer.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltHttpServerTask.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltIconsData.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltMimeType.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltProtocolInfo.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltService.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltSsdp.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltStateVariable.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltTaskManager.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltThreadTask.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Core/PltUPnP.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltDidl.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaBrowser.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaCache.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaItem.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltMediaServer.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ConnectionManagerSCPD.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorySCPD.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/ContentDirectorywSearchSCPD.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/Neptune.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptAutomaticCleaner.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptBase64.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptBufferedStreams.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptCommon.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptDataBuffer.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptDebug.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptFile.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptHash.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptHttp.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptList.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptLogging.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptMessaging.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptNetwork.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptQueue.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptResults.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptRingBuffer.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptSimpleMessageQueue.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptSockets.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptStreams.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptStrings.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptSystem.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptThreads.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptTime.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptTls.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptUri.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptUtils.cpp.o CMakeFiles/upnp.dir/Neptune/Source/Core/NptXml.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdResolver.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdSockets.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcDebug.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/StdC/NptStdcEnvironment.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/PltMediaController.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/AVTransportSCPD.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RdrConnectionManagerSCPD.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaRenderer/RenderingControlSCPD.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/X_MS_MediaReceiverRegistrarSCPD.cpp.o CMakeFiles/upnp.dir/Platinum/Source/Devices/MediaConnect/PltMediaConnect.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixEnvironment.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixSystem.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptSelectableMessageQueue.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixQueue.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixThreads.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Posix/NptPosixTime.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Bsd/NptBsdNetwork.cpp.o CMakeFiles/upnp.dir/Neptune/Source/System/Null/NptNullAutoreleasePool.cpp.o
/usr/bin/ranlib libupnp.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Built target upnp
depbase=`echo src/vm/vmcmd.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile /usr/bin/cc -DHAVE_CONFIG_H -I.  -I./src -I./src/dvdnav  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include  -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\"  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/vmcmd.lo -MD -MP -MF $depbase.Tpo -c -o src/vm/vmcmd.lo src/vm/vmcmd.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /usr/bin/cc -DHAVE_CONFIG_H -I. -I./src -I./src/dvdnav -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -MT src/vm/vmcmd.lo -MD -MP -MF src/vm/.deps/vmcmd.Tpo -c src/vm/vmcmd.c  -fPIC -DPIC -o src/vm/vmcmd.o
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:32,
                 from ./src/dvdnav/dvdnav.h:37,
                 from src/vm/vmcmd.c:33:
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:67:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   67 | } ATTRIBUTE_PACKED dvd_time_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:74:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   74 | } ATTRIBUTE_PACKED vm_cmd_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:95:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   95 | } ATTRIBUTE_PACKED video_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:121:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  121 |     } karaoke;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:126:5: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  126 |     } surround;
      |     ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:127:3: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  127 |   } ATTRIBUTE_PACKED app_info;
      |   ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:128:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  128 | } ATTRIBUTE_PACKED audio_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:159:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  159 | } ATTRIBUTE_PACKED multichannel_ext_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:183:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  183 | } ATTRIBUTE_PACKED subp_attr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:198:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  198 | } ATTRIBUTE_PACKED pgc_command_tbl_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:227:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  227 | } ATTRIBUTE_PACKED cell_playback_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:244:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  244 | } ATTRIBUTE_PACKED cell_position_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:279:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  279 | } ATTRIBUTE_PACKED user_ops_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:307:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  307 | } ATTRIBUTE_PACKED pgc_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:321:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  321 | } ATTRIBUTE_PACKED pgci_srp_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:333:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  333 | } ATTRIBUTE_PACKED pgcit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:345:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  345 | } ATTRIBUTE_PACKED pgci_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:356:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  356 | } ATTRIBUTE_PACKED pgci_ut_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:368:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  368 | } ATTRIBUTE_PACKED cell_adr_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:378:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  378 | } ATTRIBUTE_PACKED c_adt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:387:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  387 | } ATTRIBUTE_PACKED vobu_admap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:440:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  440 | } ATTRIBUTE_PACKED vmgi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:451:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  451 | } ATTRIBUTE_PACKED playback_type_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:464:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  464 | } ATTRIBUTE_PACKED title_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:474:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  474 | } ATTRIBUTE_PACKED tt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:494:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  494 | } ATTRIBUTE_PACKED ptl_mait_country_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:505:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  505 | } ATTRIBUTE_PACKED ptl_mait_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:536:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  536 | } ATTRIBUTE_PACKED vts_attributes_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:549:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  549 | } ATTRIBUTE_PACKED vts_atrt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:572:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  572 | } ATTRIBUTE_PACKED txtdt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:583:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  583 | } ATTRIBUTE_PACKED txtdt_lu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:595:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  595 | } ATTRIBUTE_PACKED txtdt_mgi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:660:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  660 | } ATTRIBUTE_PACKED vtsi_mat_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:668:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  668 | } ATTRIBUTE_PACKED ptt_info_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:676:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  676 | } ATTRIBUTE_PACKED ttu_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:687:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  687 | } ATTRIBUTE_PACKED vts_ptt_srpt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:705:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  705 | } ATTRIBUTE_PACKED vts_tmap_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/ifo_types.h:717:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  717 | } ATTRIBUTE_PACKED vts_tmapt_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:57:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   57 | } ATTRIBUTE_PACKED pci_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:64:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   64 | } ATTRIBUTE_PACKED nsml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:94:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   94 | } ATTRIBUTE_PACKED hl_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED btn_colit_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:136:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  136 | } ATTRIBUTE_PACKED btni_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:145:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  145 | } ATTRIBUTE_PACKED hli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:155:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  155 | } ATTRIBUTE_PACKED pci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:174:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  174 | } ATTRIBUTE_PACKED dsi_gi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:192:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  192 | } ATTRIBUTE_PACKED sml_pbi_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:200:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  200 | } ATTRIBUTE_PACKED sml_agl_data_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:207:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  207 | } ATTRIBUTE_PACKED sml_agli_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:219:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  219 | } ATTRIBUTE_PACKED vobu_sri_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:229:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  229 | } ATTRIBUTE_PACKED synci_t;
      | ^
/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdread/nav_types.h:241:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  241 | } ATTRIBUTE_PACKED dsi_t;
      | ^
In file included from src/vm/vmcmd.c:38:
./src/dvdnav_internal.h:107:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  107 | } ATTRIBUTE_PACKED audio_status_t;
      | ^
./src/dvdnav_internal.h:133:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
  133 | } ATTRIBUTE_PACKED spu_status_t;
      | ^
/bin/bash ./libtool  --tag=CC   --mode=link /usr/bin/cc  -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -D_XBMC -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -D_XBMC -Wall -Wsign-compare -Wextra -version-info 8:0:4 -export-symbols-regex "^dvdnav" -Wl,-z,relro -latomic -lpthread -fuse-ld=gold  -o libdvdnav.la -rpath /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib src/dvdnav.lo src/read_cache.lo src/navigation.lo src/highlight.lo src/logger.lo src/searching.lo src/settings.lo src/vm/decoder.lo src/vm/vm.lo src/vm/play.lo src/vm/getset.lo src/vm/vmget.lo src/vm/vmcmd.lo -lpthread -L/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib -ldvdread  
libtool: link: ar cr .libs/libdvdnav.a  src/dvdnav.o src/read_cache.o src/navigation.o src/highlight.o src/logger.o src/searching.o src/settings.o src/vm/decoder.o src/vm/vm.o src/vm/play.o src/vm/getset.o src/vm/vmget.o src/vm/vmcmd.o
libtool: link: ranlib .libs/libdvdnav.a
libtool: link: ( cd ".libs" && rm -f "libdvdnav.la" && ln -s "../libdvdnav.la" "libdvdnav.la" )
make[6]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
make[5]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-build
[  6%] Performing install step for 'libdvdnav'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav && /usr/bin/make install
make[5]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
make[5]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[6]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib'
 /bin/bash ./libtool   --mode=install install --strip-program=true   libdvdnav.la '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib'
libtool: install: install --strip-program=true .libs/libdvdnav.lai /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdnav.la
install: WARNING: ignoring --strip-program option as -s option was not specified
libtool: install: install --strip-program=true .libs/libdvdnav.a /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdnav.a
install: WARNING: ignoring --strip-program option as -s option was not specified
libtool: install: chmod 644 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdnav.a
libtool: install: ranlib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/libdvdnav.a
 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/share/doc/libdvdnav'
 install --strip-program=true -m 644 AUTHORS ChangeLog COPYING README.md TODO '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/share/doc/libdvdnav'
install: WARNING: ignoring --strip-program option as -s option was not specified
 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/pkgconfig'
 install --strip-program=true -m 644 misc/dvdnav.pc '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/lib/pkgconfig'
install: WARNING: ignoring --strip-program option as -s option was not specified
 /bin/mkdir -p '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdnav'
 install --strip-program=true -m 644 src/dvdnav/dvdnav.h src/dvdnav/dvdnav_events.h src/dvdnav/dvd_types.h src/dvdnav/version.h '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include/dvdnav'
install: WARNING: ignoring --strip-program option as -s option was not specified
make[6]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
make[5]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav && /usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-install
[  6%] Completed 'libdvdnav'
/usr/bin/cmake -E make_directory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/CMakeFiles/libdvdnav-complete
/usr/bin/cmake -E touch /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/libdvdnav/src/libdvdnav-stamp/libdvdnav-done
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Built target libdvdnav
make  -f build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/build.make build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/depend
make  -f build/cores/RetroPlayer/process/X11/CMakeFiles/rp-process-x11.dir/build.make build/cores/RetroPlayer/process/X11/CMakeFiles/rp-process-x11.dir/depend
make  -f build/cores/VideoPlayer/Process/X11/CMakeFiles/processX11.dir/build.make build/cores/VideoPlayer/Process/X11/CMakeFiles/processX11.dir/depend
make  -f build/windowing/X11/CMakeFiles/windowing_X11.dir/build.make build/windowing/X11/CMakeFiles/windowing_X11.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/X11 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/X11 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/X11/CMakeFiles/rp-process-x11.dir/DependInfo.cmake --color=
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/X11 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/X11 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/X11/CMakeFiles/processX11.dir/DependInfo.cmake --color=
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/httprequesthandler/python /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/httprequesthandler/python /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/DependInfo.cmake --color=
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11/CMakeFiles/windowing_X11.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/windowing/X11/CMakeFiles/windowing_X11.dir/build.make build/windowing/X11/CMakeFiles/windowing_X11.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/VideoPlayer/Process/X11/CMakeFiles/processX11.dir/build.make build/cores/VideoPlayer/Process/X11/CMakeFiles/processX11.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/process/X11/CMakeFiles/rp-process-x11.dir/build.make build/cores/RetroPlayer/process/X11/CMakeFiles/rp-process-x11.dir/build
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/build.make build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Building CXX object build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonInvoker.cpp.o
[  6%] Building CXX object build/cores/VideoPlayer/Process/X11/CMakeFiles/processX11.dir/ProcessInfoX11.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/httprequesthandler/python && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonInvoker.cpp.o -MF CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonInvoker.cpp.o.d -o CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonInvoker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/httprequesthandler/python/HTTPPythonInvoker.cpp
[  6%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/GLContextEGL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/VideoPlayer/Process/X11/CMakeFiles/processX11.dir/ProcessInfoX11.cpp.o -MF CMakeFiles/processX11.dir/ProcessInfoX11.cpp.o.d -o CMakeFiles/processX11.dir/ProcessInfoX11.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/X11/ProcessInfoX11.cpp
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/GLContextEGL.cpp.o -MF CMakeFiles/windowing_X11.dir/GLContextEGL.cpp.o.d -o CMakeFiles/windowing_X11.dir/GLContextEGL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/GLContextEGL.cpp
[  6%] Building CXX object build/cores/RetroPlayer/process/X11/CMakeFiles/rp-process-x11.dir/RPProcessInfoX11.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/process/X11/CMakeFiles/rp-process-x11.dir/RPProcessInfoX11.cpp.o -MF CMakeFiles/rp-process-x11.dir/RPProcessInfoX11.cpp.o.d -o CMakeFiles/rp-process-x11.dir/RPProcessInfoX11.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/X11/RPProcessInfoX11.cpp
[  6%] Linking CXX static library rp-process-x11.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/X11 && /usr/bin/cmake -P CMakeFiles/rp-process-x11.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/X11 && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-process-x11.dir/link.txt --verbose=1
/usr/bin/ar qc rp-process-x11.a "CMakeFiles/rp-process-x11.dir/RPProcessInfoX11.cpp.o"
/usr/bin/ranlib rp-process-x11.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Built target rp-process-x11
[  6%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/GLContext.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/GLContext.cpp.o -MF CMakeFiles/windowing_X11.dir/GLContext.cpp.o.d -o CMakeFiles/windowing_X11.dir/GLContext.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/GLContext.cpp
make  -f build/cores/RetroPlayer/process/wayland/CMakeFiles/rp-process-wayland.dir/build.make build/cores/RetroPlayer/process/wayland/CMakeFiles/rp-process-wayland.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/wayland /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/wayland /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/wayland/CMakeFiles/rp-process-wayland.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/process/wayland/CMakeFiles/rp-process-wayland.dir/build.make build/cores/RetroPlayer/process/wayland/CMakeFiles/rp-process-wayland.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Building CXX object build/cores/RetroPlayer/process/wayland/CMakeFiles/rp-process-wayland.dir/RPProcessInfoWayland.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/process/wayland/CMakeFiles/rp-process-wayland.dir/RPProcessInfoWayland.cpp.o -MF CMakeFiles/rp-process-wayland.dir/RPProcessInfoWayland.cpp.o.d -o CMakeFiles/rp-process-wayland.dir/RPProcessInfoWayland.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/wayland/RPProcessInfoWayland.cpp
[  6%] Linking CXX static library processX11.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/X11 && /usr/bin/cmake -P CMakeFiles/processX11.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/X11 && /usr/bin/cmake -E cmake_link_script CMakeFiles/processX11.dir/link.txt --verbose=1
/usr/bin/ar qc processX11.a CMakeFiles/processX11.dir/ProcessInfoX11.cpp.o
/usr/bin/ranlib processX11.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Built target processX11
make  -f build/cores/VideoPlayer/Process/wayland/CMakeFiles/processWayland.dir/build.make build/cores/VideoPlayer/Process/wayland/CMakeFiles/processWayland.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/wayland /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/wayland /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/wayland/CMakeFiles/processWayland.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/VideoPlayer/Process/wayland/CMakeFiles/processWayland.dir/build.make build/cores/VideoPlayer/Process/wayland/CMakeFiles/processWayland.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Building CXX object build/cores/VideoPlayer/Process/wayland/CMakeFiles/processWayland.dir/ProcessInfoWayland.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/VideoPlayer/Process/wayland/CMakeFiles/processWayland.dir/ProcessInfoWayland.cpp.o -MF CMakeFiles/processWayland.dir/ProcessInfoWayland.cpp.o.d -o CMakeFiles/processWayland.dir/ProcessInfoWayland.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/wayland/ProcessInfoWayland.cpp
[  6%] Linking CXX static library rp-process-wayland.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/wayland && /usr/bin/cmake -P CMakeFiles/rp-process-wayland.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/wayland && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-process-wayland.dir/link.txt --verbose=1
/usr/bin/ar qc rp-process-wayland.a "CMakeFiles/rp-process-wayland.dir/RPProcessInfoWayland.cpp.o"
/usr/bin/ranlib rp-process-wayland.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  6%] Built target rp-process-wayland
[  6%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/OptionalsReg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/OptionalsReg.cpp.o -MF CMakeFiles/windowing_X11.dir/OptionalsReg.cpp.o.d -o CMakeFiles/windowing_X11.dir/OptionalsReg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/OptionalsReg.cpp
[  7%] Building CXX object build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonWsgiInvoker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/httprequesthandler/python && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/httprequesthandler/python/CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonWsgiInvoker.cpp.o -MF CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonWsgiInvoker.cpp.o.d -o CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonWsgiInvoker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/httprequesthandler/python/HTTPPythonWsgiInvoker.cpp
make  -f build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/build.make build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/build.make build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  7%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Connection.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Connection.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/Connection.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/Connection.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/Connection.cpp
[  7%] Linking CXX static library processWayland.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/wayland && /usr/bin/cmake -P CMakeFiles/processWayland.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/wayland && /usr/bin/cmake -E cmake_link_script CMakeFiles/processWayland.dir/link.txt --verbose=1
/usr/bin/ar qc processWayland.a CMakeFiles/processWayland.dir/ProcessInfoWayland.cpp.o
/usr/bin/ranlib processWayland.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  7%] Built target processWayland
[  7%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/OSScreenSaverX11.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/OSScreenSaverX11.cpp.o -MF CMakeFiles/windowing_X11.dir/OSScreenSaverX11.cpp.o.d -o CMakeFiles/windowing_X11.dir/OSScreenSaverX11.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/OSScreenSaverX11.cpp
[  7%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/OptionalsReg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/OptionalsReg.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/OptionalsReg.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/OptionalsReg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/OptionalsReg.cpp
[  9%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Output.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Output.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/Output.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/Output.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/Output.cpp
[  9%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/WinEventsX11.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/WinEventsX11.cpp.o -MF CMakeFiles/windowing_X11.dir/WinEventsX11.cpp.o.d -o CMakeFiles/windowing_X11.dir/WinEventsX11.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/WinEventsX11.cpp
make  -f build/cores/RetroPlayer/process/gbm/CMakeFiles/rp-process-gbm.dir/build.make build/cores/RetroPlayer/process/gbm/CMakeFiles/rp-process-gbm.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/gbm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/gbm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/gbm/CMakeFiles/rp-process-gbm.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/process/gbm/CMakeFiles/rp-process-gbm.dir/build.make build/cores/RetroPlayer/process/gbm/CMakeFiles/rp-process-gbm.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[  9%] Building CXX object build/cores/RetroPlayer/process/gbm/CMakeFiles/rp-process-gbm.dir/RPProcessInfoGbm.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/process/gbm/CMakeFiles/rp-process-gbm.dir/RPProcessInfoGbm.cpp.o -MF CMakeFiles/rp-process-gbm.dir/RPProcessInfoGbm.cpp.o.d -o CMakeFiles/rp-process-gbm.dir/RPProcessInfoGbm.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/gbm/RPProcessInfoGbm.cpp
[  9%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/OSScreenSaverIdleInhibitUnstableV1.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/OSScreenSaverIdleInhibitUnstableV1.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/OSScreenSaverIdleInhibitUnstableV1.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/OSScreenSaverIdleInhibitUnstableV1.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/OSScreenSaverIdleInhibitUnstableV1.cpp
[ 10%] Linking CXX static library rp-process-gbm.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/gbm && /usr/bin/cmake -P CMakeFiles/rp-process-gbm.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/gbm && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-process-gbm.dir/link.txt --verbose=1
/usr/bin/ar qc rp-process-gbm.a "CMakeFiles/rp-process-gbm.dir/RPProcessInfoGbm.cpp.o"
/usr/bin/ranlib rp-process-gbm.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 10%] Built target rp-process-gbm
[ 10%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/WinSystemX11.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/WinSystemX11.cpp.o -MF CMakeFiles/windowing_X11.dir/WinSystemX11.cpp.o.d -o CMakeFiles/windowing_X11.dir/WinSystemX11.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/WinSystemX11.cpp
[ 10%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Registry.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Registry.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/Registry.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/Registry.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/Registry.cpp
[ 10%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Seat.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Seat.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/Seat.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/Seat.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/Seat.cpp
make  -f build/cores/VideoPlayer/Process/gbm/CMakeFiles/processGBM.dir/build.make build/cores/VideoPlayer/Process/gbm/CMakeFiles/processGBM.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/gbm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/gbm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/gbm/CMakeFiles/processGBM.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/VideoPlayer/Process/gbm/CMakeFiles/processGBM.dir/build.make build/cores/VideoPlayer/Process/gbm/CMakeFiles/processGBM.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 10%] Building CXX object build/cores/VideoPlayer/Process/gbm/CMakeFiles/processGBM.dir/ProcessInfoGBM.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/VideoPlayer/Process/gbm/CMakeFiles/processGBM.dir/ProcessInfoGBM.cpp.o -MF CMakeFiles/processGBM.dir/ProcessInfoGBM.cpp.o.d -o CMakeFiles/processGBM.dir/ProcessInfoGBM.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.cpp
[ 10%] Linking CXX static library network_httprequesthandlers_python.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/httprequesthandler/python && /usr/bin/cmake -P CMakeFiles/network_httprequesthandlers_python.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/httprequesthandler/python && /usr/bin/cmake -E cmake_link_script CMakeFiles/network_httprequesthandlers_python.dir/link.txt --verbose=1
/usr/bin/ar qc network_httprequesthandlers_python.a CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonInvoker.cpp.o CMakeFiles/network_httprequesthandlers_python.dir/HTTPPythonWsgiInvoker.cpp.o
/usr/bin/ranlib network_httprequesthandlers_python.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 10%] Built target network_httprequesthandlers_python
[ 10%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/SeatInputProcessing.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/SeatInputProcessing.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/SeatInputProcessing.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/SeatInputProcessing.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/SeatInputProcessing.cpp
make  -f build/windowing/gbm/CMakeFiles/windowing_gbm.dir/build.make build/windowing/gbm/CMakeFiles/windowing_gbm.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/CMakeFiles/windowing_gbm.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/windowing/gbm/CMakeFiles/windowing_gbm.dir/build.make build/windowing/gbm/CMakeFiles/windowing_gbm.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 10%] Building CXX object build/windowing/gbm/CMakeFiles/windowing_gbm.dir/OptionalsReg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/CMakeFiles/windowing_gbm.dir/OptionalsReg.cpp.o -MF CMakeFiles/windowing_gbm.dir/OptionalsReg.cpp.o.d -o CMakeFiles/windowing_gbm.dir/OptionalsReg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/OptionalsReg.cpp
[ 10%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/XRandR.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/XRandR.cpp.o -MF CMakeFiles/windowing_X11.dir/XRandR.cpp.o.d -o CMakeFiles/windowing_X11.dir/XRandR.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/XRandR.cpp
[ 11%] Linking CXX static library processGBM.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/gbm && /usr/bin/cmake -P CMakeFiles/processGBM.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/VideoPlayer/Process/gbm && /usr/bin/cmake -E cmake_link_script CMakeFiles/processGBM.dir/link.txt --verbose=1
/usr/bin/ar qc processGBM.a CMakeFiles/processGBM.dir/ProcessInfoGBM.cpp.o
/usr/bin/ranlib processGBM.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 11%] Built target processGBM
[ 11%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/SeatSelection.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/SeatSelection.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/SeatSelection.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/SeatSelection.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/SeatSelection.cpp
make  -f build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/build.make build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/build.make build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 11%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMAtomic.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMAtomic.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMAtomic.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMAtomic.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMAtomic.cpp
[ 11%] Building CXX object build/windowing/gbm/CMakeFiles/windowing_gbm.dir/WinSystemGbm.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/CMakeFiles/windowing_gbm.dir/WinSystemGbm.cpp.o -MF CMakeFiles/windowing_gbm.dir/WinSystemGbm.cpp.o.d -o CMakeFiles/windowing_gbm.dir/WinSystemGbm.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/WinSystemGbm.cpp
[ 11%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurface.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurface.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/ShellSurface.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/ShellSurface.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/ShellSurface.cpp
[ 11%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/X11DPMSSupport.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/X11DPMSSupport.cpp.o -MF CMakeFiles/windowing_X11.dir/X11DPMSSupport.cpp.o.d -o CMakeFiles/windowing_X11.dir/X11DPMSSupport.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/X11DPMSSupport.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMPlane.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMUtils.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMAtomic.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMAtomic.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In member function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = unsigned int; _Val = std::pair<const unsigned int, long long unsigned int>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, long long unsigned int> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, long long unsigned int> >]':
/usr/include/c++/12/bits/stl_tree.h:2209:5: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, long long unsigned int>, std::_Select1st<std::pair<const unsigned int, long long unsigned int> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, long long unsigned int> > >::const_iterator' changed in GCC 7.1
 2209 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/algorithm:61,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMAtomic.cpp:13:
/usr/include/c++/12/bits/stl_algo.h: In function '_OutputIterator std::__set_difference(_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare) [with _InputIterator1 = _Rb_tree_iterator<pair<const unsigned int, long long unsigned int> >; _InputIterator2 = _Rb_tree_iterator<pair<const unsigned int, long long unsigned int> >; _OutputIterator = insert_iterator<map<unsigned int, long long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]':
/usr/include/c++/12/bits/stl_algo.h:5334:5: note: parameter passing for argument of type 'std::_Rb_tree_iterator<std::pair<const unsigned int, long long unsigned int> >' changed in GCC 7.1
 5334 |     __set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:5334:5: note: parameter passing for argument of type 'std::_Rb_tree_iterator<std::pair<const unsigned int, long long unsigned int> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:5334:5: note: parameter passing for argument of type 'std::_Rb_tree_iterator<std::pair<const unsigned int, long long unsigned int> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:5334:5: note: parameter passing for argument of type 'std::_Rb_tree_iterator<std::pair<const unsigned int, long long unsigned int> >' changed in GCC 7.1
In function '_OIter std::set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter) [with _IIter1 = _Rb_tree_iterator<pair<const unsigned int, long long unsigned int> >; _IIter2 = _Rb_tree_iterator<pair<const unsigned int, long long unsigned int> >; _OIter = insert_iterator<map<unsigned int, long long unsigned int> >]',
    inlined from 'static void KODI::WINDOWING::GBM::CDRMAtomic::CDRMAtomicRequest::LogAtomicDiff(KODI::WINDOWING::GBM::CDRMAtomic::CDRMAtomicRequest*, KODI::WINDOWING::GBM::CDRMAtomic::CDRMAtomicRequest*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMAtomic.cpp:299:26:
/usr/include/c++/12/bits/stl_algo.h:5399:46: note: parameter passing for argument of type 'std::_Rb_tree_iterator<std::pair<const unsigned int, long long unsigned int> >' changed in GCC 7.1
 5399 |       return _GLIBCXX_STD_A::__set_difference(__first1, __last1,
      |                                              ^
/usr/include/c++/12/bits/stl_algo.h:5399:46: note: parameter passing for argument of type 'std::_Rb_tree_iterator<std::pair<const unsigned int, long long unsigned int> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:5399:46: note: parameter passing for argument of type 'std::_Rb_tree_iterator<std::pair<const unsigned int, long long unsigned int> >' changed in GCC 7.1
[ 11%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceWlShell.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceWlShell.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceWlShell.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceWlShell.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/ShellSurfaceWlShell.cpp
[ 11%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/GLContextGLX.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/GLContextGLX.cpp.o -MF CMakeFiles/windowing_X11.dir/GLContextGLX.cpp.o.d -o CMakeFiles/windowing_X11.dir/GLContextGLX.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/GLContextGLX.cpp
[ 11%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMConnector.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMConnector.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMConnector.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMConnector.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMConnector.cpp
[ 11%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShell.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShell.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShell.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShell.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/ShellSurfaceXdgShell.cpp
[ 12%] Building CXX object build/windowing/gbm/CMakeFiles/windowing_gbm.dir/VideoSyncGbm.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/CMakeFiles/windowing_gbm.dir/VideoSyncGbm.cpp.o -MF CMakeFiles/windowing_gbm.dir/VideoSyncGbm.cpp.o.d -o CMakeFiles/windowing_gbm.dir/VideoSyncGbm.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/VideoSyncGbm.cpp
[ 12%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/VideoSyncGLX.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/VideoSyncGLX.cpp.o -MF CMakeFiles/windowing_X11.dir/VideoSyncGLX.cpp.o.d -o CMakeFiles/windowing_X11.dir/VideoSyncGLX.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/VideoSyncGLX.cpp
[ 12%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMCrtc.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMCrtc.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMCrtc.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMCrtc.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMCrtc.cpp
[ 12%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMEncoder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMEncoder.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMEncoder.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMEncoder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMEncoder.cpp
[ 12%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShellUnstableV6.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShellUnstableV6.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShellUnstableV6.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShellUnstableV6.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/ShellSurfaceXdgShellUnstableV6.cpp
[ 12%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMLegacy.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMLegacy.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMLegacy.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMLegacy.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMLegacy.cpp
[ 12%] Building CXX object build/windowing/gbm/CMakeFiles/windowing_gbm.dir/GBMUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/CMakeFiles/windowing_gbm.dir/GBMUtils.cpp.o -MF CMakeFiles/windowing_gbm.dir/GBMUtils.cpp.o.d -o CMakeFiles/windowing_gbm.dir/GBMUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/GBMUtils.cpp
[ 12%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/WinSystemX11GLContext.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/WinSystemX11GLContext.cpp.o -MF CMakeFiles/windowing_X11.dir/WinSystemX11GLContext.cpp.o.d -o CMakeFiles/windowing_X11.dir/WinSystemX11GLContext.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/WinSystemX11GLContext.cpp
[ 12%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Util.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/Util.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/Util.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/Util.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/Util.cpp
[ 12%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMObject.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMObject.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMObject.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMObject.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMObject.cpp
[ 12%] Building CXX object build/windowing/gbm/CMakeFiles/windowing_gbm.dir/WinSystemGbmEGLContext.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/CMakeFiles/windowing_gbm.dir/WinSystemGbmEGLContext.cpp.o -MF CMakeFiles/windowing_gbm.dir/WinSystemGbmEGLContext.cpp.o.d -o CMakeFiles/windowing_gbm.dir/WinSystemGbmEGLContext.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/WinSystemGbmEGLContext.cpp
[ 12%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/VideoSyncWpPresentation.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/VideoSyncWpPresentation.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/VideoSyncWpPresentation.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/VideoSyncWpPresentation.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/VideoSyncWpPresentation.cpp
[ 12%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMPlane.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMPlane.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMPlane.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMPlane.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMPlane.cpp
[ 12%] Building CXX object build/windowing/X11/CMakeFiles/windowing_X11.dir/VideoSyncOML.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/X11/CMakeFiles/windowing_X11.dir/VideoSyncOML.cpp.o -MF CMakeFiles/windowing_X11.dir/VideoSyncOML.cpp.o.d -o CMakeFiles/windowing_X11.dir/VideoSyncOML.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/X11/VideoSyncOML.cpp
[ 12%] Building CXX object build/windowing/gbm/CMakeFiles/windowing_gbm.dir/GBMDPMSSupport.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/CMakeFiles/windowing_gbm.dir/GBMDPMSSupport.cpp.o -MF CMakeFiles/windowing_gbm.dir/GBMDPMSSupport.cpp.o.d -o CMakeFiles/windowing_gbm.dir/GBMDPMSSupport.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/GBMDPMSSupport.cpp
[ 12%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/__/__/__/wayland-extra-protocols.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/__/__/__/wayland-extra-protocols.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/__/__/__/wayland-extra-protocols.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/__/__/__/wayland-extra-protocols.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/wayland-extra-protocols.cpp
[ 12%] Linking CXX static library windowing_X11.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/cmake -P CMakeFiles/windowing_X11.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/X11 && /usr/bin/cmake -E cmake_link_script CMakeFiles/windowing_X11.dir/link.txt --verbose=1
/usr/bin/ar qc windowing_X11.a CMakeFiles/windowing_X11.dir/GLContextEGL.cpp.o CMakeFiles/windowing_X11.dir/GLContext.cpp.o CMakeFiles/windowing_X11.dir/OptionalsReg.cpp.o CMakeFiles/windowing_X11.dir/OSScreenSaverX11.cpp.o CMakeFiles/windowing_X11.dir/WinEventsX11.cpp.o CMakeFiles/windowing_X11.dir/WinSystemX11.cpp.o CMakeFiles/windowing_X11.dir/XRandR.cpp.o CMakeFiles/windowing_X11.dir/X11DPMSSupport.cpp.o CMakeFiles/windowing_X11.dir/GLContextGLX.cpp.o CMakeFiles/windowing_X11.dir/VideoSyncGLX.cpp.o CMakeFiles/windowing_X11.dir/WinSystemX11GLContext.cpp.o CMakeFiles/windowing_X11.dir/VideoSyncOML.cpp.o
/usr/bin/ranlib windowing_X11.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 12%] Built target windowing_X11
make  -f build/cores/CMakeFiles/cores.dir/build.make build/cores/CMakeFiles/cores.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/CMakeFiles/cores.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/CMakeFiles/cores.dir/build.make build/cores/CMakeFiles/cores.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 12%] Building CXX object build/cores/CMakeFiles/cores.dir/DataCacheCore.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/CMakeFiles/cores.dir/DataCacheCore.cpp.o -MF CMakeFiles/cores.dir/DataCacheCore.cpp.o.d -o CMakeFiles/cores.dir/DataCacheCore.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DataCacheCore.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMObject.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMPlane.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMPlane.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<long long unsigned int>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]',
    inlined from 'void KODI::WINDOWING::GBM::CDRMPlane::FindModifiers()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMPlane.cpp:110:31:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 12%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/DRMUtils.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/DRMUtils.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/DRMUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/DRMUtils.cpp
[ 12%] Building CXX object build/windowing/gbm/CMakeFiles/windowing_gbm.dir/WinSystemGbmGLContext.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/CMakeFiles/windowing_gbm.dir/WinSystemGbmGLContext.cpp.o -MF CMakeFiles/windowing_gbm.dir/WinSystemGbmGLContext.cpp.o.d -o CMakeFiles/windowing_gbm.dir/WinSystemGbmGLContext.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/WinSystemGbmGLContext.cpp
[ 12%] Building CXX object build/cores/CMakeFiles/cores.dir/FFmpeg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/CMakeFiles/cores.dir/FFmpeg.cpp.o -MF CMakeFiles/cores.dir/FFmpeg.cpp.o.d -o CMakeFiles/cores.dir/FFmpeg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/FFmpeg.cpp
[ 12%] Linking CXX static library windowing_gbm.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/cmake -P CMakeFiles/windowing_gbm.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm && /usr/bin/cmake -E cmake_link_script CMakeFiles/windowing_gbm.dir/link.txt --verbose=1
/usr/bin/ar qc windowing_gbm.a CMakeFiles/windowing_gbm.dir/OptionalsReg.cpp.o CMakeFiles/windowing_gbm.dir/WinSystemGbm.cpp.o CMakeFiles/windowing_gbm.dir/VideoSyncGbm.cpp.o CMakeFiles/windowing_gbm.dir/GBMUtils.cpp.o CMakeFiles/windowing_gbm.dir/WinSystemGbmEGLContext.cpp.o CMakeFiles/windowing_gbm.dir/GBMDPMSSupport.cpp.o CMakeFiles/windowing_gbm.dir/WinSystemGbmGLContext.cpp.o
/usr/bin/ranlib windowing_gbm.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 12%] Built target windowing_gbm
[ 12%] Building CXX object build/cores/CMakeFiles/cores.dir/VideoSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/CMakeFiles/cores.dir/VideoSettings.cpp.o -MF CMakeFiles/cores.dir/VideoSettings.cpp.o.d -o CMakeFiles/cores.dir/VideoSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.cpp
make  -f build/cores/audioengine/CMakeFiles/audioengine.dir/build.make build/cores/audioengine/CMakeFiles/audioengine.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine/CMakeFiles/audioengine.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/audioengine/CMakeFiles/audioengine.dir/build.make build/cores/audioengine/CMakeFiles/audioengine.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 12%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/AEResampleFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/AEResampleFactory.cpp.o -MF CMakeFiles/audioengine.dir/AEResampleFactory.cpp.o.d -o CMakeFiles/audioengine.dir/AEResampleFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/AEResampleFactory.cpp
[ 12%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WindowDecorator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WindowDecorator.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/WindowDecorator.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/WindowDecorator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/WindowDecorator.cpp
[ 12%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/AESinkFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/AESinkFactory.cpp.o -MF CMakeFiles/audioengine.dir/AESinkFactory.cpp.o.d -o CMakeFiles/audioengine.dir/AESinkFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/AESinkFactory.cpp
[ 12%] Linking CXX static library cores.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores && /usr/bin/cmake -P CMakeFiles/cores.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores && /usr/bin/cmake -E cmake_link_script CMakeFiles/cores.dir/link.txt --verbose=1
/usr/bin/ar qc cores.a CMakeFiles/cores.dir/DataCacheCore.cpp.o CMakeFiles/cores.dir/FFmpeg.cpp.o CMakeFiles/cores.dir/VideoSettings.cpp.o
/usr/bin/ranlib cores.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 12%] Built target cores
[ 12%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Encoders/AEEncoderFFmpeg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Encoders/AEEncoderFFmpeg.cpp.o -MF CMakeFiles/audioengine.dir/Encoders/AEEncoderFFmpeg.cpp.o.d -o CMakeFiles/audioengine.dir/Encoders/AEEncoderFFmpeg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp
[ 12%] Building CXX object build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/OffScreenModeSetting.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/gbm/drm/CMakeFiles/windowing_gbm_drm.dir/OffScreenModeSetting.cpp.o -MF CMakeFiles/windowing_gbm_drm.dir/OffScreenModeSetting.cpp.o.d -o CMakeFiles/windowing_gbm_drm.dir/OffScreenModeSetting.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/gbm/drm/OffScreenModeSetting.cpp
[ 12%] Linking CXX static library windowing_gbm_drm.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/cmake -P CMakeFiles/windowing_gbm_drm.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/gbm/drm && /usr/bin/cmake -E cmake_link_script CMakeFiles/windowing_gbm_drm.dir/link.txt --verbose=1
/usr/bin/ar qc windowing_gbm_drm.a CMakeFiles/windowing_gbm_drm.dir/DRMAtomic.cpp.o CMakeFiles/windowing_gbm_drm.dir/DRMConnector.cpp.o CMakeFiles/windowing_gbm_drm.dir/DRMCrtc.cpp.o CMakeFiles/windowing_gbm_drm.dir/DRMEncoder.cpp.o CMakeFiles/windowing_gbm_drm.dir/DRMLegacy.cpp.o CMakeFiles/windowing_gbm_drm.dir/DRMObject.cpp.o CMakeFiles/windowing_gbm_drm.dir/DRMPlane.cpp.o CMakeFiles/windowing_gbm_drm.dir/DRMUtils.cpp.o CMakeFiles/windowing_gbm_drm.dir/OffScreenModeSetting.cpp.o
/usr/bin/ranlib windowing_gbm_drm.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/dll-loader/CMakeFiles/dllloader.dir/build.make build/cores/dll-loader/CMakeFiles/dllloader.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/CMakeFiles/dllloader.dir/DependInfo.cmake --color=
[ 12%] Built target windowing_gbm_drm
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/dll-loader/CMakeFiles/dllloader.dir/build.make build/cores/dll-loader/CMakeFiles/dllloader.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 12%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAE.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAE.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAE.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAE.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
[ 12%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/coff.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/coff.cpp.o -MF CMakeFiles/dllloader.dir/coff.cpp.o.d -o CMakeFiles/dllloader.dir/coff.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/coff.cpp
make  -f build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/build.make build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/build.make build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 13%] Building CXX object build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/emu_dummy.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/emu_dummy.cpp.o -MF CMakeFiles/dllexports.dir/emu_dummy.cpp.o.d -o CMakeFiles/dllexports.dir/emu_dummy.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/emu_dummy.cpp
[ 13%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinEventsWayland.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinEventsWayland.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/WinEventsWayland.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/WinEventsWayland.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/WinEventsWayland.cpp
[ 13%] Building CXX object build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/emu_msvcrt.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/exports/CMakeFiles/dllexports.dir/emu_msvcrt.cpp.o -MF CMakeFiles/dllexports.dir/emu_msvcrt.cpp.o.d -o CMakeFiles/dllexports.dir/emu_msvcrt.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/dll.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/dll.cpp.o -MF CMakeFiles/dllloader.dir/dll.cpp.o.d -o CMakeFiles/dllloader.dir/dll.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/dll.cpp
[ 13%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinSystemWayland.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinSystemWayland.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/WinSystemWayland.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/WinSystemWayland.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/WinSystemWayland.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp: In function 'dirent* dll_readdir(DIR*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp:992:16: warning: 'char* __builtin_strncpy(char*, const char*, unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
  992 |         strncpy(entry->d_name, dirData->items[dirData->curr_index - 2]->GetLabel().c_str(), sizeof(entry->d_name));
      |                ^
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp: In function 'int dll_putenv(const char*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp:1875:22: warning: 'char* __builtin_strncat(char*, const char*, unsigned int)' specified bound depends on the length of the source argument [-Wstringop-overflow=]
 1875 |               strncat(*free_position, value, size - strlen(*free_position));
      |                      ^
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp:1868:40: note: length computed here
 1868 |             size = strlen(var) + strlen(value) + 2;
      |                                  ~~~~~~^~~~~~~
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/DllLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/DllLoader.cpp.o -MF CMakeFiles/dllloader.dir/DllLoader.cpp.o.d -o CMakeFiles/dllloader.dir/DllLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/DllLoader.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEAudioFormat.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/AESinkFactory.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const ActiveAE::CEngineStats::StreamStats&}; _Tp = ActiveAE::CEngineStats::StreamStats; _Alloc = std::allocator<ActiveAE::CEngineStats::StreamStats>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<ActiveAE::CEngineStats::StreamStats>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = ActiveAE::CEngineStats::StreamStats; _Alloc = std::allocator<ActiveAE::CEngineStats::StreamStats>]',
    inlined from 'void ActiveAE::CEngineStats::AddStream(unsigned int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp:88:26:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<ActiveAE::CEngineStats::StreamStats*, std::vector<ActiveAE::CEngineStats::StreamStats> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 13%] Linking CXX static library dllexports.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports && /usr/bin/cmake -P CMakeFiles/dllexports.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports && /usr/bin/cmake -E cmake_link_script CMakeFiles/dllexports.dir/link.txt --verbose=1
/usr/bin/ar qc dllexports.a CMakeFiles/dllexports.dir/emu_dummy.cpp.o CMakeFiles/dllexports.dir/emu_msvcrt.cpp.o
/usr/bin/ranlib dllexports.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 13%] Built target dllexports
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/DllLoaderContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/DllLoaderContainer.cpp.o -MF CMakeFiles/dllloader.dir/DllLoaderContainer.cpp.o.d -o CMakeFiles/dllloader.dir/DllLoaderContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/DllLoaderContainer.cpp
[ 13%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEBuffer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEBuffer.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEBuffer.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEBuffer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
make  -f build/cores/dll-loader/exports/util/CMakeFiles/exports_utils.dir/build.make build/cores/dll-loader/exports/util/CMakeFiles/exports_utils.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/util /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/util /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/util/CMakeFiles/exports_utils.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/dll-loader/exports/util/CMakeFiles/exports_utils.dir/build.make build/cores/dll-loader/exports/util/CMakeFiles/exports_utils.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 13%] Building CXX object build/cores/dll-loader/exports/util/CMakeFiles/exports_utils.dir/EmuFileWrapper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/util && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/exports/util/CMakeFiles/exports_utils.dir/EmuFileWrapper.cpp.o -MF CMakeFiles/exports_utils.dir/EmuFileWrapper.cpp.o.d -o CMakeFiles/exports_utils.dir/EmuFileWrapper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_tracker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_tracker.cpp.o -MF CMakeFiles/dllloader.dir/dll_tracker.cpp.o.d -o CMakeFiles/dllloader.dir/dll_tracker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/dll_tracker.cpp
[ 13%] Linking CXX static library exports_utils.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/util && /usr/bin/cmake -P CMakeFiles/exports_utils.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader/exports/util && /usr/bin/cmake -E cmake_link_script CMakeFiles/exports_utils.dir/link.txt --verbose=1
/usr/bin/ar qc exports_utils.a CMakeFiles/exports_utils.dir/EmuFileWrapper.cpp.o
/usr/bin/ranlib exports_utils.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 13%] Built target exports_utils
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_tracker_file.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_tracker_file.cpp.o -MF CMakeFiles/dllloader.dir/dll_tracker_file.cpp.o.d -o CMakeFiles/dllloader.dir/dll_tracker_file.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/dll_tracker_file.cpp
[ 13%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEFilter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEFilter.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEFilter.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEFilter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
[ 13%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESink.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESink.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESink.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESink.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_tracker_library.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_tracker_library.cpp.o -MF CMakeFiles/dllloader.dir/dll_tracker_library.cpp.o.d -o CMakeFiles/dllloader.dir/dll_tracker_library.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/dll_tracker_library.cpp
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_util.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/dll_util.cpp.o -MF CMakeFiles/dllloader.dir/dll_util.cpp.o.d -o CMakeFiles/dllloader.dir/dll_util.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/dll_util.cpp
[ 13%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEStream.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEStream.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEStream.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEStream.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/LibraryLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/LibraryLoader.cpp.o -MF CMakeFiles/dllloader.dir/LibraryLoader.cpp.o.d -o CMakeFiles/dllloader.dir/LibraryLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/LibraryLoader.cpp
[ 13%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/XkbcommonKeymap.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/XkbcommonKeymap.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/XkbcommonKeymap.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/XkbcommonKeymap.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/XkbcommonKeymap.cpp
[ 13%] Building C object build/cores/dll-loader/CMakeFiles/dllloader.dir/mmap_anon.c.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/cc -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/mmap_anon.c.o -MF CMakeFiles/dllloader.dir/mmap_anon.c.o.d -o CMakeFiles/dllloader.dir/mmap_anon.c.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/mmap_anon.c
[ 13%] Building CXX object build/cores/dll-loader/CMakeFiles/dllloader.dir/SoLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/c++ -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/SoLoader.cpp.o -MF CMakeFiles/dllloader.dir/SoLoader.cpp.o.d -o CMakeFiles/dllloader.dir/SoLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/SoLoader.cpp
make  -f build/cores/externalplayer/CMakeFiles/externalplayer.dir/build.make build/cores/externalplayer/CMakeFiles/externalplayer.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/ExternalPlayer /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/externalplayer /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/externalplayer/CMakeFiles/externalplayer.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/externalplayer/CMakeFiles/externalplayer.dir/build.make build/cores/externalplayer/CMakeFiles/externalplayer.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 13%] Building CXX object build/cores/externalplayer/CMakeFiles/externalplayer.dir/ExternalPlayer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/externalplayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/externalplayer/CMakeFiles/externalplayer.dir/ExternalPlayer.cpp.o -MF CMakeFiles/externalplayer.dir/ExternalPlayer.cpp.o.d -o CMakeFiles/externalplayer.dir/ExternalPlayer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/ExternalPlayer/ExternalPlayer.cpp
[ 13%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESound.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESound.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESound.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESound.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESound.cpp
[ 13%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContext.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContext.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContext.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContext.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/WinSystemWaylandEGLContext.cpp
[ 13%] Building C object build/cores/dll-loader/CMakeFiles/dllloader.dir/ldt_keeper.c.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/cc -DAPI_DEBUG -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -MD -MT build/cores/dll-loader/CMakeFiles/dllloader.dir/ldt_keeper.c.o -MF CMakeFiles/dllloader.dir/ldt_keeper.c.o.d -o CMakeFiles/dllloader.dir/ldt_keeper.c.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/DllLoader/ldt_keeper.c
[ 13%] Linking CXX static library dllloader.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/cmake -P CMakeFiles/dllloader.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/dll-loader && /usr/bin/cmake -E cmake_link_script CMakeFiles/dllloader.dir/link.txt --verbose=1
/usr/bin/ar qc dllloader.a CMakeFiles/dllloader.dir/coff.cpp.o CMakeFiles/dllloader.dir/dll.cpp.o CMakeFiles/dllloader.dir/DllLoader.cpp.o CMakeFiles/dllloader.dir/DllLoaderContainer.cpp.o CMakeFiles/dllloader.dir/dll_tracker.cpp.o CMakeFiles/dllloader.dir/dll_tracker_file.cpp.o CMakeFiles/dllloader.dir/dll_tracker_library.cpp.o CMakeFiles/dllloader.dir/dll_util.cpp.o CMakeFiles/dllloader.dir/LibraryLoader.cpp.o CMakeFiles/dllloader.dir/mmap_anon.c.o CMakeFiles/dllloader.dir/SoLoader.cpp.o CMakeFiles/dllloader.dir/ldt_keeper.c.o
/usr/bin/ranlib dllloader.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 13%] Built target dllloader
[ 13%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESettings.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESettings.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESettings.cpp
make  -f build/cores/paplayer/CMakeFiles/paplayer.dir/build.make build/cores/paplayer/CMakeFiles/paplayer.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/paplayer /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer/CMakeFiles/paplayer.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/paplayer/CMakeFiles/paplayer.dir/build.make build/cores/paplayer/CMakeFiles/paplayer.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 13%] Building CXX object build/cores/paplayer/CMakeFiles/paplayer.dir/AudioDecoder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/paplayer/CMakeFiles/paplayer.dir/AudioDecoder.cpp.o -MF CMakeFiles/paplayer.dir/AudioDecoder.cpp.o.d -o CMakeFiles/paplayer.dir/AudioDecoder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/paplayer/AudioDecoder.cpp
[ 13%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContextGL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContextGL.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContextGL.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContextGL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/WinSystemWaylandEGLContextGL.cpp
[ 13%] Building CXX object build/cores/paplayer/CMakeFiles/paplayer.dir/CodecFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/paplayer/CMakeFiles/paplayer.dir/CodecFactory.cpp.o -MF CMakeFiles/paplayer.dir/CodecFactory.cpp.o.d -o CMakeFiles/paplayer.dir/CodecFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/paplayer/CodecFactory.cpp
[ 14%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEBitstreamPacker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEBitstreamPacker.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AEBitstreamPacker.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AEBitstreamPacker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEBitstreamPacker.cpp
[ 14%] Linking CXX static library externalplayer.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/externalplayer && /usr/bin/cmake -P CMakeFiles/externalplayer.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/externalplayer && /usr/bin/cmake -E cmake_link_script CMakeFiles/externalplayer.dir/link.txt --verbose=1
/usr/bin/ar qc externalplayer.a CMakeFiles/externalplayer.dir/ExternalPlayer.cpp.o
/usr/bin/ranlib externalplayer.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 14%] Built target externalplayer
[ 14%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEChannelInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEChannelInfo.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AEChannelInfo.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AEChannelInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.cpp
make  -f build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/build.make build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/playercorefactory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/playercorefactory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/build.make build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 14%] Building CXX object build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/PlayerCoreConfig.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/playercorefactory && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/PlayerCoreConfig.cpp.o -MF CMakeFiles/playercorefactory.dir/PlayerCoreConfig.cpp.o.d -o CMakeFiles/playercorefactory.dir/PlayerCoreConfig.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/playercorefactory/PlayerCoreConfig.cpp
[ 15%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/InputProcessorKeyboard.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/InputProcessorKeyboard.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/InputProcessorKeyboard.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/InputProcessorKeyboard.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/InputProcessorKeyboard.cpp
[ 15%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEDeviceInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEDeviceInfo.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AEDeviceInfo.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AEDeviceInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEDeviceInfo.cpp
[ 15%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AELimiter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AELimiter.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AELimiter.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AELimiter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AELimiter.cpp
[ 15%] Building CXX object build/cores/paplayer/CMakeFiles/paplayer.dir/PAPlayer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/paplayer/CMakeFiles/paplayer.dir/PAPlayer.cpp.o -MF CMakeFiles/paplayer.dir/PAPlayer.cpp.o.d -o CMakeFiles/paplayer.dir/PAPlayer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/paplayer/PAPlayer.cpp
[ 15%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/InputProcessorPointer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/InputProcessorPointer.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/InputProcessorPointer.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/InputProcessorPointer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/InputProcessorPointer.cpp
[ 15%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEPackIEC61937.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEPackIEC61937.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AEPackIEC61937.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AEPackIEC61937.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEPackIEC61937.cpp
[ 15%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEStreamInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEStreamInfo.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AEStreamInfo.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AEStreamInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.cpp
[ 15%] Building CXX object build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/PlayerCoreFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/playercorefactory && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/PlayerCoreFactory.cpp.o -MF CMakeFiles/playercorefactory.dir/PlayerCoreFactory.cpp.o.d -o CMakeFiles/playercorefactory.dir/PlayerCoreFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
[ 15%] Building CXX object build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/InputProcessorTouch.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/windowing/wayland/CMakeFiles/windowing_WAYLAND.dir/InputProcessorTouch.cpp.o -MF CMakeFiles/windowing_WAYLAND.dir/InputProcessorTouch.cpp.o.d -o CMakeFiles/windowing_WAYLAND.dir/InputProcessorTouch.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/wayland/InputProcessorTouch.cpp
[ 15%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEUtil.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEUtil.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AEUtil.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AEUtil.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEUtil.cpp
[ 15%] Linking CXX static library windowing_WAYLAND.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/cmake -P CMakeFiles/windowing_WAYLAND.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/windowing/wayland && /usr/bin/cmake -E cmake_link_script CMakeFiles/windowing_WAYLAND.dir/link.txt --verbose=1
/usr/bin/ar qc windowing_WAYLAND.a CMakeFiles/windowing_WAYLAND.dir/Connection.cpp.o CMakeFiles/windowing_WAYLAND.dir/OptionalsReg.cpp.o CMakeFiles/windowing_WAYLAND.dir/Output.cpp.o CMakeFiles/windowing_WAYLAND.dir/OSScreenSaverIdleInhibitUnstableV1.cpp.o CMakeFiles/windowing_WAYLAND.dir/Registry.cpp.o CMakeFiles/windowing_WAYLAND.dir/Seat.cpp.o CMakeFiles/windowing_WAYLAND.dir/SeatInputProcessing.cpp.o CMakeFiles/windowing_WAYLAND.dir/SeatSelection.cpp.o CMakeFiles/windowing_WAYLAND.dir/ShellSurface.cpp.o CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceWlShell.cpp.o CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShell.cpp.o CMakeFiles/windowing_WAYLAND.dir/ShellSurfaceXdgShellUnstableV6.cpp.o CMakeFiles/windowing_WAYLAND.dir/Util.cpp.o CMakeFiles/windowing_WAYLAND.dir/VideoSyncWpPresentation.cpp.o "CMakeFiles/windowing_WAYLAND.dir/__/__/__/wayland-extra-protocols.cpp.o" CMakeFiles/windowing_WAYLAND.dir/WindowDecorator.cpp.o CMakeFiles/windowing_WAYLAND.dir/WinEventsWayland.cpp.o CMakeFiles/windowing_WAYLAND.dir/WinSystemWayland.cpp.o CMakeFiles/windowing_WAYLAND.dir/XkbcommonKeymap.cpp.o CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContext.cpp.o CMakeFiles/windowing_WAYLAND.dir/WinSystemWaylandEGLContextGL.cpp.o CMakeFiles/windowing_WAYLAND.dir/InputProcessorKeyboard.cpp.o CMakeFiles/windowing_WAYLAND.dir/InputProcessorPointer.cpp.o CMakeFiles/windowing_WAYLAND.dir/InputProcessorTouch.cpp.o
/usr/bin/ranlib windowing_WAYLAND.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 15%] Built target windowing_WAYLAND
[ 15%] Building CXX object build/cores/paplayer/CMakeFiles/paplayer.dir/VideoPlayerCodec.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/paplayer/CMakeFiles/paplayer.dir/VideoPlayerCodec.cpp.o -MF CMakeFiles/paplayer.dir/VideoPlayerCodec.cpp.o.d -o CMakeFiles/paplayer.dir/VideoPlayerCodec.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/paplayer/VideoPlayerCodec.cpp
[ 15%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/AESinkALSA.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/AESinkALSA.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/AESinkALSA.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/AESinkALSA.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
make  -f build/events/CMakeFiles/events.dir/build.make build/events/CMakeFiles/events.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events/CMakeFiles/events.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/events/CMakeFiles/events.dir/build.make build/events/CMakeFiles/events.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 15%] Building CXX object build/events/CMakeFiles/events.dir/AddonEvent.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/CMakeFiles/events.dir/AddonEvent.cpp.o -MF CMakeFiles/events.dir/AddonEvent.cpp.o.d -o CMakeFiles/events.dir/AddonEvent.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/AddonEvent.cpp
[ 15%] Linking CXX static library paplayer.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer && /usr/bin/cmake -P CMakeFiles/paplayer.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/paplayer && /usr/bin/cmake -E cmake_link_script CMakeFiles/paplayer.dir/link.txt --verbose=1
/usr/bin/ar qc paplayer.a CMakeFiles/paplayer.dir/AudioDecoder.cpp.o CMakeFiles/paplayer.dir/CodecFactory.cpp.o CMakeFiles/paplayer.dir/PAPlayer.cpp.o CMakeFiles/paplayer.dir/VideoPlayerCodec.cpp.o
/usr/bin/ranlib paplayer.a
[ 15%] Building CXX object build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/PlayerSelectionRule.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/playercorefactory && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/playercorefactory/CMakeFiles/playercorefactory.dir/PlayerSelectionRule.cpp.o -MF CMakeFiles/playercorefactory.dir/PlayerSelectionRule.cpp.o.d -o CMakeFiles/playercorefactory.dir/PlayerSelectionRule.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/playercorefactory/PlayerSelectionRule.cpp
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 15%] Built target paplayer
[ 15%] Building CXX object build/events/CMakeFiles/events.dir/AddonManagementEvent.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/CMakeFiles/events.dir/AddonManagementEvent.cpp.o -MF CMakeFiles/events.dir/AddonManagementEvent.cpp.o.d -o CMakeFiles/events.dir/AddonManagementEvent.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/AddonManagementEvent.cpp
make  -f build/events/windows/CMakeFiles/events_windows.dir/build.make build/events/windows/CMakeFiles/events_windows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events/windows/CMakeFiles/events_windows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/events/windows/CMakeFiles/events_windows.dir/build.make build/events/windows/CMakeFiles/events_windows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 15%] Building CXX object build/events/windows/CMakeFiles/events_windows.dir/GUIViewStateEventLog.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/windows/CMakeFiles/events_windows.dir/GUIViewStateEventLog.cpp.o -MF CMakeFiles/events_windows.dir/GUIViewStateEventLog.cpp.o.d -o CMakeFiles/events_windows.dir/GUIViewStateEventLog.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/windows/GUIViewStateEventLog.cpp
[ 17%] Building CXX object build/events/windows/CMakeFiles/events_windows.dir/GUIWindowEventLog.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/windows/CMakeFiles/events_windows.dir/GUIWindowEventLog.cpp.o -MF CMakeFiles/events_windows.dir/GUIWindowEventLog.cpp.o.d -o CMakeFiles/events_windows.dir/GUIWindowEventLog.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/windows/GUIWindowEventLog.cpp
[ 17%] Building CXX object build/events/CMakeFiles/events.dir/BaseEvent.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/CMakeFiles/events.dir/BaseEvent.cpp.o -MF CMakeFiles/events.dir/BaseEvent.cpp.o.d -o CMakeFiles/events.dir/BaseEvent.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/BaseEvent.cpp
[ 17%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEELDParser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Utils/AEELDParser.cpp.o -MF CMakeFiles/audioengine.dir/Utils/AEELDParser.cpp.o.d -o CMakeFiles/audioengine.dir/Utils/AEELDParser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEELDParser.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEELDParser.cpp: In static member function 'static void CAEELDParser::Parse(const uint8_t*, size_t, CAEDeviceInfo&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEELDParser.cpp:75:93: warning: 'std::pointer_to_unary_function<_Arg, _Result> std::ptr_fun(_Result (*)(_Arg)) [with _Arg = int; _Result = int]' is deprecated: use 'std::function' instead [-Wdeprecated-declarations]
   75 | #define rtrim(s) s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end())
      |                                                                       ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEELDParser.cpp:116:5: note: in expansion of macro 'rtrim'
  116 |     rtrim(header.monitor_name);
      |     ^~~~~
In file included from /usr/include/c++/12/string:48,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEDeviceInfo.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEELDParser.cpp:11:
/usr/include/c++/12/bits/stl_function.h:1126:5: note: declared here
 1126 |     ptr_fun(_Result (*__x)(_Arg))
      |     ^~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEELDParser.cpp:75:70: warning: 'constexpr std::unary_negate<_Predicate> std::not1(const _Predicate&) [with _Predicate = pointer_to_unary_function<int, int>]' is deprecated: use 'std::not_fn' instead [-Wdeprecated-declarations]
   75 | #define rtrim(s) s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end())
      |                                                             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEELDParser.cpp:116:5: note: in expansion of macro 'rtrim'
  116 |     rtrim(header.monitor_name);
      |     ^~~~~
/usr/include/c++/12/bits/stl_function.h:1046:5: note: declared here
 1046 |     not1(const _Predicate& __pred)
      |     ^~~~
[ 17%] Linking CXX static library playercorefactory.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/playercorefactory && /usr/bin/cmake -P CMakeFiles/playercorefactory.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/playercorefactory && /usr/bin/cmake -E cmake_link_script CMakeFiles/playercorefactory.dir/link.txt --verbose=1
/usr/bin/ar qc playercorefactory.a CMakeFiles/playercorefactory.dir/PlayerCoreConfig.cpp.o CMakeFiles/playercorefactory.dir/PlayerCoreFactory.cpp.o CMakeFiles/playercorefactory.dir/PlayerSelectionRule.cpp.o
/usr/bin/ranlib playercorefactory.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 17%] Built target playercorefactory
[ 17%] Building CXX object build/events/CMakeFiles/events.dir/EventLog.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/CMakeFiles/events.dir/EventLog.cpp.o -MF CMakeFiles/events.dir/EventLog.cpp.o.d -o CMakeFiles/events.dir/EventLog.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/EventLog.cpp
[ 17%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/alsa/ALSADeviceMonitor.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/alsa/ALSADeviceMonitor.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/alsa/ALSADeviceMonitor.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/alsa/ALSADeviceMonitor.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/alsa/ALSADeviceMonitor.cpp
make  -f build/filesystem/CMakeFiles/filesystem.dir/build.make build/filesystem/CMakeFiles/filesystem.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/CMakeFiles/filesystem.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/filesystem/CMakeFiles/filesystem.dir/build.make build/filesystem/CMakeFiles/filesystem.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 17%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/AddonsDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/AddonsDirectory.cpp.o -MF CMakeFiles/filesystem.dir/AddonsDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/AddonsDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/AddonsDirectory.cpp
[ 17%] Linking CXX static library events_windows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events/windows && /usr/bin/cmake -P CMakeFiles/events_windows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/events_windows.dir/link.txt --verbose=1
/usr/bin/ar qc events_windows.a CMakeFiles/events_windows.dir/GUIViewStateEventLog.cpp.o CMakeFiles/events_windows.dir/GUIWindowEventLog.cpp.o
/usr/bin/ranlib events_windows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 17%] Built target events_windows
[ 17%] Building CXX object build/events/CMakeFiles/events.dir/EventLogManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/CMakeFiles/events.dir/EventLogManager.cpp.o -MF CMakeFiles/events.dir/EventLogManager.cpp.o.d -o CMakeFiles/events.dir/EventLogManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/EventLogManager.cpp
[ 17%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/AESinkPULSE.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/AESinkPULSE.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/AESinkPULSE.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/AESinkPULSE.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp
make  -f build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/build.make build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/build.make build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 17%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbum.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbum.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbum.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbum.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbum.cpp
[ 17%] Building CXX object build/events/CMakeFiles/events.dir/MediaLibraryEvent.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/events/CMakeFiles/events.dir/MediaLibraryEvent.cpp.o -MF CMakeFiles/events.dir/MediaLibraryEvent.cpp.o.d -o CMakeFiles/events.dir/MediaLibraryEvent.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/MediaLibraryEvent.cpp
[ 17%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAdded.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAdded.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAdded.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAdded.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbumRecentlyAdded.cpp
[ 17%] Linking CXX static library events.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/cmake -P CMakeFiles/events.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/events && /usr/bin/cmake -E cmake_link_script CMakeFiles/events.dir/link.txt --verbose=1
/usr/bin/ar qc events.a CMakeFiles/events.dir/AddonEvent.cpp.o CMakeFiles/events.dir/AddonManagementEvent.cpp.o CMakeFiles/events.dir/BaseEvent.cpp.o CMakeFiles/events.dir/EventLog.cpp.o CMakeFiles/events.dir/EventLogManager.cpp.o CMakeFiles/events.dir/MediaLibraryEvent.cpp.o
/usr/bin/ranlib events.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 17%] Built target events
[ 17%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/AudioBookFileDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/AudioBookFileDirectory.cpp.o -MF CMakeFiles/filesystem.dir/AudioBookFileDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/AudioBookFileDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/AudioBookFileDirectory.cpp
[ 17%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/AESinkPipewire.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/AESinkPipewire.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/AESinkPipewire.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/AESinkPipewire.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/AESinkPipewire.cpp
[ 17%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAddedSong.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAddedSong.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAddedSong.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAddedSong.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbumRecentlyAddedSong.cpp
[ 17%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayed.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayed.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayed.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayed.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbumRecentlyPlayed.cpp
[ 17%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/CacheStrategy.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/CacheStrategy.cpp.o -MF CMakeFiles/filesystem.dir/CacheStrategy.cpp.o.d -o CMakeFiles/filesystem.dir/CacheStrategy.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CacheStrategy.cpp
[ 17%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/CircularCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/CircularCache.cpp.o -MF CMakeFiles/filesystem.dir/CircularCache.cpp.o.d -o CMakeFiles/filesystem.dir/CircularCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CircularCache.cpp
[ 17%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/Pipewire.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/Pipewire.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/Pipewire.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/Pipewire.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp
[ 17%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayedSong.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayedSong.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayedSong.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayedSong.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbumRecentlyPlayedSong.cpp
[ 17%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbumTop100.cpp
[ 17%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireContext.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireContext.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireContext.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireContext.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/PipewireContext.cpp
[ 17%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/CurlFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/CurlFile.cpp.o -MF CMakeFiles/filesystem.dir/CurlFile.cpp.o.d -o CMakeFiles/filesystem.dir/CurlFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp
[ 18%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DAVCommon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DAVCommon.cpp.o -MF CMakeFiles/filesystem.dir/DAVCommon.cpp.o.d -o CMakeFiles/filesystem.dir/DAVCommon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DAVCommon.cpp
[ 18%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireCore.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireCore.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireCore.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireCore.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/PipewireCore.cpp
[ 18%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100Song.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100Song.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100Song.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100Song.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbumTop100Song.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp: In member function 'long int XFILE::CCurlFile::CReadState::Connect(unsigned int)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp:369:62: warning: 'CURLINFO_CONTENT_LENGTH_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T [-Wdeprecated-declarations]
  369 |   if (CURLE_OK == g_curlInterface.easy_getinfo(m_easyHandle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &length))
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DllLibCurl.h:21,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp:34:
/usr/include/arm-linux-gnueabihf/curl/curl.h:2853:3: note: declared here
 2853 |   CURLINFO_CONTENT_LENGTH_DOWNLOAD
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp: In member function 'virtual int XFILE::CCurlFile::Stat(const CURL&, stat64*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp:1578:64: warning: 'CURLINFO_CONTENT_LENGTH_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T [-Wdeprecated-declarations]
 1578 |   result = g_curlInterface.easy_getinfo(m_state->m_easyHandle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &length);
      |                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/arm-linux-gnueabihf/curl/curl.h:2853:3: note: declared here
 2853 |   CURLINFO_CONTENT_LENGTH_DOWNLOAD
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp: In member function 'virtual double XFILE::CCurlFile::GetDownloadSpeed()':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CurlFile.cpp:2129:59: warning: 'CURLINFO_SPEED_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_SPEED_DOWNLOAD_T [-Wdeprecated-declarations]
 2129 |   if (g_curlInterface.easy_getinfo(m_state->m_easyHandle, CURLINFO_SPEED_DOWNLOAD, &speed) == CURLE_OK)
      |                                                           ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/arm-linux-gnueabihf/curl/curl.h:2840:3: note: declared here
 2840 |   CURLINFO_SPEED_DOWNLOAD
      |   ^~~~~~~~~~~~~~~~~~~~~~~
[ 18%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireNode.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireNode.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireNode.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireNode.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/PipewireNode.cpp
[ 18%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireProxy.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireProxy.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireProxy.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireProxy.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/PipewireProxy.cpp
[ 18%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeArtist.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeArtist.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeArtist.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeArtist.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeArtist.cpp
[ 18%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeDiscs.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeDiscs.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeDiscs.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeDiscs.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeDiscs.cpp
[ 18%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireRegistry.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireRegistry.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireRegistry.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireRegistry.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/PipewireRegistry.cpp
[ 18%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireStream.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireStream.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireStream.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireStream.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/PipewireStream.cpp
[ 18%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNode.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNode.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNode.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNode.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNode.cpp
[ 18%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DAVDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DAVDirectory.cpp.o -MF CMakeFiles/filesystem.dir/DAVDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/DAVDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DAVDirectory.cpp
[ 18%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DAVFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DAVFile.cpp.o -MF CMakeFiles/filesystem.dir/DAVFile.cpp.o.d -o CMakeFiles/filesystem.dir/DAVFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DAVFile.cpp
[ 18%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeGrouped.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeGrouped.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeGrouped.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeGrouped.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeGrouped.cpp
[ 19%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireThreadLoop.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireThreadLoop.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireThreadLoop.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireThreadLoop.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/pipewire/PipewireThreadLoop.cpp
[ 19%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeOverview.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeOverview.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeOverview.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeOverview.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeOverview.cpp
[ 19%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DirectoryCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DirectoryCache.cpp.o -MF CMakeFiles/filesystem.dir/DirectoryCache.cpp.o.d -o CMakeFiles/filesystem.dir/DirectoryCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DirectoryCache.cpp
[ 19%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/AESinkSNDIO.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Sinks/AESinkSNDIO.cpp.o -MF CMakeFiles/audioengine.dir/Sinks/AESinkSNDIO.cpp.o.d -o CMakeFiles/audioengine.dir/Sinks/AESinkSNDIO.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Sinks/AESinkSNDIO.cpp
[ 19%] Building CXX object build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/audioengine/CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp.o -MF CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp.o.d -o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp
[ 19%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeRoot.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeRoot.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeRoot.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeRoot.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeRoot.cpp
[ 19%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSingles.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSingles.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSingles.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSingles.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeSingles.cpp
[ 19%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/Directory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/Directory.cpp.o -MF CMakeFiles/filesystem.dir/Directory.cpp.o.d -o CMakeFiles/filesystem.dir/Directory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/Directory.cpp
make  -f build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/build.make build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/build.make build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 19%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNode.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNode.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNode.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNode.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNode.cpp
[ 19%] Linking CXX static library audioengine.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/cmake -P CMakeFiles/audioengine.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/audioengine && /usr/bin/cmake -E cmake_link_script CMakeFiles/audioengine.dir/link.txt --verbose=1
/usr/bin/ar qc audioengine.a CMakeFiles/audioengine.dir/AEResampleFactory.cpp.o CMakeFiles/audioengine.dir/AESinkFactory.cpp.o CMakeFiles/audioengine.dir/Encoders/AEEncoderFFmpeg.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAE.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEBuffer.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEFilter.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESink.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEStream.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESound.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAESettings.cpp.o CMakeFiles/audioengine.dir/Utils/AEBitstreamPacker.cpp.o CMakeFiles/audioengine.dir/Utils/AEChannelInfo.cpp.o CMakeFiles/audioengine.dir/Utils/AEDeviceInfo.cpp.o CMakeFiles/audioengine.dir/Utils/AELimiter.cpp.o CMakeFiles/audioengine.dir/Utils/AEPackIEC61937.cpp.o CMakeFiles/audioengine.dir/Utils/AEStreamInfo.cpp.o CMakeFiles/audioengine.dir/Utils/AEUtil.cpp.o CMakeFiles/audioengine.dir/Sinks/AESinkALSA.cpp.o CMakeFiles/audioengine.dir/Utils/AEELDParser.cpp.o CMakeFiles/audioengine.dir/Sinks/alsa/ALSADeviceMonitor.cpp.o CMakeFiles/audioengine.dir/Sinks/AESinkPULSE.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/AESinkPipewire.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/Pipewire.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireContext.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireCore.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireNode.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireProxy.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireRegistry.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireStream.cpp.o CMakeFiles/audioengine.dir/Sinks/pipewire/PipewireThreadLoop.cpp.o CMakeFiles/audioengine.dir/Sinks/AESinkSNDIO.cpp.o CMakeFiles/audioengine.dir/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp.o
/usr/bin/ranlib audioengine.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 19%] Built target audioengine
[ 19%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DirectoryFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DirectoryFactory.cpp.o -MF CMakeFiles/filesystem.dir/DirectoryFactory.cpp.o.d -o CMakeFiles/filesystem.dir/DirectoryFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DirectoryFactory.cpp
[ 19%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSong.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSong.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSong.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSong.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeSong.cpp
[ 19%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeEpisodes.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeEpisodes.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeEpisodes.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeEpisodes.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeEpisodes.cpp
[ 19%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeGrouped.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeGrouped.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeGrouped.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeGrouped.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeGrouped.cpp
[ 20%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSongTop100.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSongTop100.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSongTop100.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSongTop100.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeSongTop100.cpp
make  -f build/games/CMakeFiles/games.dir/build.make build/games/CMakeFiles/games.dir/depend
[ 20%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DirectoryHistory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DirectoryHistory.cpp.o -MF CMakeFiles/filesystem.dir/DirectoryHistory.cpp.o.d -o CMakeFiles/filesystem.dir/DirectoryHistory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DirectoryHistory.cpp
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/CMakeFiles/games.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/CMakeFiles/games.dir/build.make build/games/CMakeFiles/games.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 20%] Building CXX object build/games/CMakeFiles/games.dir/GameServices.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/CMakeFiles/games.dir/GameServices.cpp.o -MF CMakeFiles/games.dir/GameServices.cpp.o.d -o CMakeFiles/games.dir/GameServices.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/GameServices.cpp
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeInProgressTvShows.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeInProgressTvShows.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeInProgressTvShows.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeInProgressTvShows.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeInProgressTvShows.cpp
[ 20%] Building CXX object build/games/CMakeFiles/games.dir/GameSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/CMakeFiles/games.dir/GameSettings.cpp.o -MF CMakeFiles/games.dir/GameSettings.cpp.o.d -o CMakeFiles/games.dir/GameSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/GameSettings.cpp
[ 20%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeTop100.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeTop100.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeTop100.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeTop100.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeTop100.cpp
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMoviesOverview.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMoviesOverview.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMoviesOverview.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMoviesOverview.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeMoviesOverview.cpp
[ 20%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DllLibCurl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DllLibCurl.cpp.o -MF CMakeFiles/filesystem.dir/DllLibCurl.cpp.o.d -o CMakeFiles/filesystem.dir/DllLibCurl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DllLibCurl.cpp
[ 20%] Building CXX object build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/QueryParams.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/musicdatabase/CMakeFiles/musicdatabasedirectory.dir/QueryParams.cpp.o -MF CMakeFiles/musicdatabasedirectory.dir/QueryParams.cpp.o.d -o CMakeFiles/musicdatabasedirectory.dir/QueryParams.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory/QueryParams.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DllLibCurl.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DllLibCurl.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const XCURL::DllLibCurlGlobal::SSession&}; _Tp = XCURL::DllLibCurlGlobal::SSession; _Alloc = std::allocator<XCURL::DllLibCurlGlobal::SSession>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<XCURL::DllLibCurlGlobal::SSession>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = XCURL::DllLibCurlGlobal::SSession; _Alloc = std::allocator<XCURL::DllLibCurlGlobal::SSession>]',
    inlined from 'void XCURL::DllLibCurlGlobal::easy_acquire(const char*, const char*, CURL_HANDLE**, CURLM**)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DllLibCurl.cpp:218:23:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<XCURL::DllLibCurlGlobal::SSession*, std::vector<XCURL::DllLibCurlGlobal::SSession> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = XCURL::DllLibCurlGlobal::SSession; _Alloc = std::allocator<XCURL::DllLibCurlGlobal::SSession>]',
    inlined from 'virtual CURL_HANDLE* XCURL::DllLibCurlGlobal::easy_duphandle(CURL_HANDLE*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DllLibCurl.cpp:266:27:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<XCURL::DllLibCurlGlobal::SSession*, std::vector<XCURL::DllLibCurlGlobal::SSession> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = XCURL::DllLibCurlGlobal::SSession; _Alloc = std::allocator<XCURL::DllLibCurlGlobal::SSession>]',
    inlined from 'void XCURL::DllLibCurlGlobal::easy_duplicate(CURL_HANDLE*, const CURLM*, CURL_HANDLE**, CURLM**)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DllLibCurl.cpp:301:27:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<XCURL::DllLibCurlGlobal::SSession*, std::vector<XCURL::DllLibCurlGlobal::SSession> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 20%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/DvdCallback.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/DvdCallback.cpp.o -MF CMakeFiles/filesystem.dir/DvdCallback.cpp.o.d -o CMakeFiles/filesystem.dir/DvdCallback.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DvdCallback.cpp
[ 20%] Linking CXX static library musicdatabasedirectory.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/cmake -P CMakeFiles/musicdatabasedirectory.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/musicdatabase && /usr/bin/cmake -E cmake_link_script CMakeFiles/musicdatabasedirectory.dir/link.txt --verbose=1
/usr/bin/ar qc musicdatabasedirectory.a CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbum.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAdded.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyAddedSong.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayed.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumRecentlyPlayedSong.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeAlbumTop100Song.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeArtist.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeDiscs.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNode.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeGrouped.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeOverview.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeRoot.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSingles.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSong.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeSongTop100.cpp.o CMakeFiles/musicdatabasedirectory.dir/DirectoryNodeTop100.cpp.o CMakeFiles/musicdatabasedirectory.dir/QueryParams.cpp.o
/usr/bin/ranlib musicdatabasedirectory.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 20%] Built target musicdatabasedirectory
make  -f build/games/addons/CMakeFiles/gameaddons.dir/build.make build/games/addons/CMakeFiles/gameaddons.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/CMakeFiles/gameaddons.dir/DependInfo.cmake --color=
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMusicVideosOverview.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMusicVideosOverview.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMusicVideosOverview.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMusicVideosOverview.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeMusicVideosOverview.cpp
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/addons/CMakeFiles/gameaddons.dir/build.make build/games/addons/CMakeFiles/gameaddons.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 20%] Building CXX object build/games/addons/CMakeFiles/gameaddons.dir/GameClient.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/CMakeFiles/gameaddons.dir/GameClient.cpp.o -MF CMakeFiles/gameaddons.dir/GameClient.cpp.o.d -o CMakeFiles/gameaddons.dir/GameClient.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/GameClient.cpp
[ 20%] Building CXX object build/games/CMakeFiles/games.dir/GameUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/CMakeFiles/games.dir/GameUtils.cpp.o -MF CMakeFiles/games.dir/GameUtils.cpp.o.d -o CMakeFiles/games.dir/GameUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/GameUtils.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DvdCallback.cpp: In static member function 'static int CDVDCallback::dir_read(dvd_dir_h*, dvd_dirent_t*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/DvdCallback.cpp:95:10: warning: 'char* __builtin_strncpy(char*, const char*, unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
   95 |   strncpy(entry->d_name, state->list[state->curr]->GetLabel().c_str(), sizeof(entry->d_name));
      |          ^
[ 20%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/EventsDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/EventsDirectory.cpp.o -MF CMakeFiles/filesystem.dir/EventsDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/EventsDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/EventsDirectory.cpp
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeOverview.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeOverview.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeOverview.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeOverview.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeOverview.cpp
[ 20%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/FavouritesDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/FavouritesDirectory.cpp.o -MF CMakeFiles/filesystem.dir/FavouritesDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/FavouritesDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/FavouritesDirectory.cpp
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedEpisodes.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedEpisodes.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedEpisodes.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedEpisodes.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeRecentlyAddedEpisodes.cpp
[ 20%] Linking CXX static library games.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games && /usr/bin/cmake -P CMakeFiles/games.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games && /usr/bin/cmake -E cmake_link_script CMakeFiles/games.dir/link.txt --verbose=1
/usr/bin/ar qc games.a CMakeFiles/games.dir/GameServices.cpp.o CMakeFiles/games.dir/GameSettings.cpp.o CMakeFiles/games.dir/GameUtils.cpp.o
/usr/bin/ranlib games.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 20%] Built target games
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMovies.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMovies.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMovies.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMovies.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeRecentlyAddedMovies.cpp
make  -f build/games/addons/cheevos/CMakeFiles/gamecheevos.dir/build.make build/games/addons/cheevos/CMakeFiles/gamecheevos.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/cheevos /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/cheevos /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/cheevos/CMakeFiles/gamecheevos.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/addons/cheevos/CMakeFiles/gamecheevos.dir/build.make build/games/addons/cheevos/CMakeFiles/gamecheevos.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 20%] Building CXX object build/games/addons/cheevos/CMakeFiles/gamecheevos.dir/GameClientCheevos.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/cheevos && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/cheevos/CMakeFiles/gamecheevos.dir/GameClientCheevos.cpp.o -MF CMakeFiles/gamecheevos.dir/GameClientCheevos.cpp.o.d -o CMakeFiles/gamecheevos.dir/GameClientCheevos.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/cheevos/GameClientCheevos.cpp
[ 20%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/FileCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/FileCache.cpp.o -MF CMakeFiles/filesystem.dir/FileCache.cpp.o.d -o CMakeFiles/filesystem.dir/FileCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/FileCache.cpp
[ 20%] Building CXX object build/games/addons/CMakeFiles/gameaddons.dir/GameClientInGameSaves.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/CMakeFiles/gameaddons.dir/GameClientInGameSaves.cpp.o -MF CMakeFiles/gameaddons.dir/GameClientInGameSaves.cpp.o.d -o CMakeFiles/gameaddons.dir/GameClientInGameSaves.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/GameClientInGameSaves.cpp
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMusicVideos.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMusicVideos.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMusicVideos.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMusicVideos.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeRecentlyAddedMusicVideos.cpp
[ 20%] Linking CXX static library gamecheevos.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/cheevos && /usr/bin/cmake -P CMakeFiles/gamecheevos.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/cheevos && /usr/bin/cmake -E cmake_link_script CMakeFiles/gamecheevos.dir/link.txt --verbose=1
/usr/bin/ar qc gamecheevos.a CMakeFiles/gamecheevos.dir/GameClientCheevos.cpp.o
/usr/bin/ranlib gamecheevos.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 20%] Built target gamecheevos
[ 20%] Building CXX object build/games/addons/CMakeFiles/gameaddons.dir/GameClientProperties.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/CMakeFiles/gameaddons.dir/GameClientProperties.cpp.o -MF CMakeFiles/gameaddons.dir/GameClientProperties.cpp.o.d -o CMakeFiles/gameaddons.dir/GameClientProperties.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/GameClientProperties.cpp
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRoot.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRoot.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRoot.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRoot.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeRoot.cpp
[ 20%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeSeasons.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeSeasons.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeSeasons.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeSeasons.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeSeasons.cpp
make  -f build/games/addons/input/CMakeFiles/gameinput.dir/build.make build/games/addons/input/CMakeFiles/gameinput.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input/CMakeFiles/gameinput.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/addons/input/CMakeFiles/gameinput.dir/build.make build/games/addons/input/CMakeFiles/gameinput.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 20%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientController.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientController.cpp.o -MF CMakeFiles/gameinput.dir/GameClientController.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientController.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientController.cpp
[ 20%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/File.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/File.cpp.o -MF CMakeFiles/filesystem.dir/File.cpp.o.d -o CMakeFiles/filesystem.dir/File.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/File.cpp
[ 21%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMovies.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMovies.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMovies.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMovies.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeTitleMovies.cpp
[ 21%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMusicVideos.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMusicVideos.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMusicVideos.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMusicVideos.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeTitleMusicVideos.cpp
[ 21%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientDevice.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientDevice.cpp.o -MF CMakeFiles/gameinput.dir/GameClientDevice.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientDevice.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientDevice.cpp
[ 21%] Building CXX object build/games/addons/CMakeFiles/gameaddons.dir/GameClientSubsystem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/CMakeFiles/gameaddons.dir/GameClientSubsystem.cpp.o -MF CMakeFiles/gameaddons.dir/GameClientSubsystem.cpp.o.d -o CMakeFiles/gameaddons.dir/GameClientSubsystem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/GameClientSubsystem.cpp
[ 21%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleTvShows.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleTvShows.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleTvShows.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleTvShows.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeTitleTvShows.cpp
[ 21%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/FileDirectoryFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/FileDirectoryFactory.cpp.o -MF CMakeFiles/filesystem.dir/FileDirectoryFactory.cpp.o.d -o CMakeFiles/filesystem.dir/FileDirectoryFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/FileDirectoryFactory.cpp
[ 21%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTvShowsOverview.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTvShowsOverview.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTvShowsOverview.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTvShowsOverview.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/DirectoryNodeTvShowsOverview.cpp
[ 21%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientHardware.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientHardware.cpp.o -MF CMakeFiles/gameinput.dir/GameClientHardware.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientHardware.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientHardware.cpp
[ 21%] Building CXX object build/games/addons/CMakeFiles/gameaddons.dir/GameClientTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/CMakeFiles/gameaddons.dir/GameClientTranslator.cpp.o -MF CMakeFiles/gameaddons.dir/GameClientTranslator.cpp.o.d -o CMakeFiles/gameaddons.dir/GameClientTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/GameClientTranslator.cpp
[ 21%] Building CXX object build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/QueryParams.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/videodatabase/CMakeFiles/videodatabasedirectory.dir/QueryParams.cpp.o -MF CMakeFiles/videodatabasedirectory.dir/QueryParams.cpp.o.d -o CMakeFiles/videodatabasedirectory.dir/QueryParams.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory/QueryParams.cpp
[ 21%] Linking CXX static library gameaddons.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons && /usr/bin/cmake -P CMakeFiles/gameaddons.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons && /usr/bin/cmake -E cmake_link_script CMakeFiles/gameaddons.dir/link.txt --verbose=1
/usr/bin/ar qc gameaddons.a CMakeFiles/gameaddons.dir/GameClient.cpp.o CMakeFiles/gameaddons.dir/GameClientInGameSaves.cpp.o CMakeFiles/gameaddons.dir/GameClientProperties.cpp.o CMakeFiles/gameaddons.dir/GameClientSubsystem.cpp.o CMakeFiles/gameaddons.dir/GameClientTranslator.cpp.o
/usr/bin/ranlib gameaddons.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 21%] Built target gameaddons
[ 21%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/FileFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/FileFactory.cpp.o -MF CMakeFiles/filesystem.dir/FileFactory.cpp.o.d -o CMakeFiles/filesystem.dir/FileFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/FileFactory.cpp
[ 21%] Linking CXX static library videodatabasedirectory.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/cmake -P CMakeFiles/videodatabasedirectory.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem/videodatabase && /usr/bin/cmake -E cmake_link_script CMakeFiles/videodatabasedirectory.dir/link.txt --verbose=1
/usr/bin/ar qc videodatabasedirectory.a CMakeFiles/videodatabasedirectory.dir/DirectoryNode.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeEpisodes.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeGrouped.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeInProgressTvShows.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMoviesOverview.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeMusicVideosOverview.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeOverview.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedEpisodes.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMovies.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRecentlyAddedMusicVideos.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeRoot.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeSeasons.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMovies.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleMusicVideos.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTitleTvShows.cpp.o CMakeFiles/videodatabasedirectory.dir/DirectoryNodeTvShowsOverview.cpp.o CMakeFiles/videodatabasedirectory.dir/QueryParams.cpp.o
/usr/bin/ranlib videodatabasedirectory.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 21%] Built target videodatabasedirectory
[ 21%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/FTPDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/FTPDirectory.cpp.o -MF CMakeFiles/filesystem.dir/FTPDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/FTPDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/FTPDirectory.cpp
[ 21%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientInput.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientInput.cpp.o -MF CMakeFiles/gameinput.dir/GameClientInput.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientInput.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientInput.cpp
[ 21%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientJoystick.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientJoystick.cpp.o -MF CMakeFiles/gameinput.dir/GameClientJoystick.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientJoystick.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientJoystick.cpp
[ 21%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/FTPParse.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/FTPParse.cpp.o -MF CMakeFiles/filesystem.dir/FTPParse.cpp.o.d -o CMakeFiles/filesystem.dir/FTPParse.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/FTPParse.cpp
[ 21%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/HTTPDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/HTTPDirectory.cpp.o -MF CMakeFiles/filesystem.dir/HTTPDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/HTTPDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/HTTPDirectory.cpp
[ 21%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/IDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/IDirectory.cpp.o -MF CMakeFiles/filesystem.dir/IDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/IDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/IDirectory.cpp
make  -f build/games/addons/streams/CMakeFiles/game_addon_streams.dir/build.make build/games/addons/streams/CMakeFiles/game_addon_streams.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/streams /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams/CMakeFiles/game_addon_streams.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/addons/streams/CMakeFiles/game_addon_streams.dir/build.make build/games/addons/streams/CMakeFiles/game_addon_streams.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 21%] Building CXX object build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreamAudio.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreamAudio.cpp.o -MF CMakeFiles/game_addon_streams.dir/GameClientStreamAudio.cpp.o.d -o CMakeFiles/game_addon_streams.dir/GameClientStreamAudio.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/streams/GameClientStreamAudio.cpp
[ 21%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientKeyboard.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientKeyboard.cpp.o -MF CMakeFiles/gameinput.dir/GameClientKeyboard.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientKeyboard.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientKeyboard.cpp
[ 21%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientMouse.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientMouse.cpp.o -MF CMakeFiles/gameinput.dir/GameClientMouse.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientMouse.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientMouse.cpp
[ 21%] Building CXX object build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreams.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreams.cpp.o -MF CMakeFiles/game_addon_streams.dir/GameClientStreams.cpp.o.d -o CMakeFiles/game_addon_streams.dir/GameClientStreams.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/streams/GameClientStreams.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/IFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/IFile.cpp.o -MF CMakeFiles/filesystem.dir/IFile.cpp.o.d -o CMakeFiles/filesystem.dir/IFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/IFile.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ImageFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ImageFile.cpp.o -MF CMakeFiles/filesystem.dir/ImageFile.cpp.o.d -o CMakeFiles/filesystem.dir/ImageFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ImageFile.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/LibraryDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/LibraryDirectory.cpp.o -MF CMakeFiles/filesystem.dir/LibraryDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/LibraryDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/LibraryDirectory.cpp
[ 22%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientPort.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientPort.cpp.o -MF CMakeFiles/gameinput.dir/GameClientPort.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientPort.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientPort.cpp
[ 22%] Building CXX object build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreamSwFramebuffer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreamSwFramebuffer.cpp.o -MF CMakeFiles/game_addon_streams.dir/GameClientStreamSwFramebuffer.cpp.o.d -o CMakeFiles/game_addon_streams.dir/GameClientStreamSwFramebuffer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/streams/GameClientStreamSwFramebuffer.cpp
[ 22%] Building CXX object build/games/addons/input/CMakeFiles/gameinput.dir/GameClientTopology.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/input/CMakeFiles/gameinput.dir/GameClientTopology.cpp.o -MF CMakeFiles/gameinput.dir/GameClientTopology.cpp.o.d -o CMakeFiles/gameinput.dir/GameClientTopology.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/input/GameClientTopology.cpp
[ 22%] Building CXX object build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreamVideo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/addons/streams/CMakeFiles/game_addon_streams.dir/GameClientStreamVideo.cpp.o -MF CMakeFiles/game_addon_streams.dir/GameClientStreamVideo.cpp.o.d -o CMakeFiles/game_addon_streams.dir/GameClientStreamVideo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/addons/streams/GameClientStreamVideo.cpp
make  -f build/games/agents/CMakeFiles/games_agents.dir/build.make build/games/agents/CMakeFiles/games_agents.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/agents /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/agents /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/agents/CMakeFiles/games_agents.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/agents/CMakeFiles/games_agents.dir/build.make build/games/agents/CMakeFiles/games_agents.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 22%] Building CXX object build/games/agents/CMakeFiles/games_agents.dir/GameAgentManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/agents && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/agents/CMakeFiles/games_agents.dir/GameAgentManager.cpp.o -MF CMakeFiles/games_agents.dir/GameAgentManager.cpp.o.d -o CMakeFiles/games_agents.dir/GameAgentManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/agents/GameAgentManager.cpp
[ 22%] Linking CXX static library gameinput.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/cmake -P CMakeFiles/gameinput.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/input && /usr/bin/cmake -E cmake_link_script CMakeFiles/gameinput.dir/link.txt --verbose=1
/usr/bin/ar qc gameinput.a CMakeFiles/gameinput.dir/GameClientController.cpp.o CMakeFiles/gameinput.dir/GameClientDevice.cpp.o CMakeFiles/gameinput.dir/GameClientHardware.cpp.o CMakeFiles/gameinput.dir/GameClientInput.cpp.o CMakeFiles/gameinput.dir/GameClientJoystick.cpp.o CMakeFiles/gameinput.dir/GameClientKeyboard.cpp.o CMakeFiles/gameinput.dir/GameClientMouse.cpp.o CMakeFiles/gameinput.dir/GameClientPort.cpp.o CMakeFiles/gameinput.dir/GameClientTopology.cpp.o
/usr/bin/ranlib gameinput.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 22%] Built target gameinput
make  -f build/games/controllers/CMakeFiles/games_controller.dir/build.make build/games/controllers/CMakeFiles/games_controller.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/CMakeFiles/games_controller.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/controllers/CMakeFiles/games_controller.dir/build.make build/games/controllers/CMakeFiles/games_controller.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 22%] Building CXX object build/games/controllers/CMakeFiles/games_controller.dir/Controller.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/CMakeFiles/games_controller.dir/Controller.cpp.o -MF CMakeFiles/games_controller.dir/Controller.cpp.o.d -o CMakeFiles/games_controller.dir/Controller.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/Controller.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/MultiPathDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/MultiPathDirectory.cpp.o -MF CMakeFiles/filesystem.dir/MultiPathDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/MultiPathDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MultiPathDirectory.cpp
[ 22%] Linking CXX static library game_addon_streams.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams && /usr/bin/cmake -P CMakeFiles/game_addon_streams.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/addons/streams && /usr/bin/cmake -E cmake_link_script CMakeFiles/game_addon_streams.dir/link.txt --verbose=1
/usr/bin/ar qc game_addon_streams.a CMakeFiles/game_addon_streams.dir/GameClientStreamAudio.cpp.o CMakeFiles/game_addon_streams.dir/GameClientStreams.cpp.o CMakeFiles/game_addon_streams.dir/GameClientStreamSwFramebuffer.cpp.o CMakeFiles/game_addon_streams.dir/GameClientStreamVideo.cpp.o
/usr/bin/ranlib game_addon_streams.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 22%] Built target game_addon_streams
[ 22%] Building CXX object build/games/controllers/CMakeFiles/games_controller.dir/ControllerLayout.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/CMakeFiles/games_controller.dir/ControllerLayout.cpp.o -MF CMakeFiles/games_controller.dir/ControllerLayout.cpp.o.d -o CMakeFiles/games_controller.dir/ControllerLayout.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/ControllerLayout.cpp
[ 22%] Building CXX object build/games/controllers/CMakeFiles/games_controller.dir/ControllerManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/CMakeFiles/games_controller.dir/ControllerManager.cpp.o -MF CMakeFiles/games_controller.dir/ControllerManager.cpp.o.d -o CMakeFiles/games_controller.dir/ControllerManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/ControllerManager.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/MultiPathFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/MultiPathFile.cpp.o -MF CMakeFiles/filesystem.dir/MultiPathFile.cpp.o.d -o CMakeFiles/filesystem.dir/MultiPathFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MultiPathFile.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/MusicDatabaseDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/MusicDatabaseDirectory.cpp.o -MF CMakeFiles/filesystem.dir/MusicDatabaseDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/MusicDatabaseDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseDirectory.cpp
[ 22%] Building CXX object build/games/controllers/CMakeFiles/games_controller.dir/ControllerTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/CMakeFiles/games_controller.dir/ControllerTranslator.cpp.o -MF CMakeFiles/games_controller.dir/ControllerTranslator.cpp.o.d -o CMakeFiles/games_controller.dir/ControllerTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/ControllerTranslator.cpp
[ 22%] Linking CXX static library games_agents.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/agents && /usr/bin/cmake -P CMakeFiles/games_agents.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/agents && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_agents.dir/link.txt --verbose=1
/usr/bin/ar qc games_agents.a CMakeFiles/games_agents.dir/GameAgentManager.cpp.o
/usr/bin/ranlib games_agents.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 22%] Built target games_agents
make  -f build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/build.make build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/build.make build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 22%] Building CXX object build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/ControllerInstaller.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/ControllerInstaller.cpp.o -MF CMakeFiles/games_controller_dialogs.dir/ControllerInstaller.cpp.o.d -o CMakeFiles/games_controller_dialogs.dir/ControllerInstaller.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/dialogs/ControllerInstaller.cpp
[ 22%] Linking CXX static library games_controller.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers && /usr/bin/cmake -P CMakeFiles/games_controller.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_controller.dir/link.txt --verbose=1
/usr/bin/ar qc games_controller.a CMakeFiles/games_controller.dir/Controller.cpp.o CMakeFiles/games_controller.dir/ControllerLayout.cpp.o CMakeFiles/games_controller.dir/ControllerManager.cpp.o CMakeFiles/games_controller.dir/ControllerTranslator.cpp.o
/usr/bin/ranlib games_controller.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 22%] Built target games_controller
[ 22%] Building CXX object build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/ControllerSelect.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/ControllerSelect.cpp.o -MF CMakeFiles/games_controller_dialogs.dir/ControllerSelect.cpp.o.d -o CMakeFiles/games_controller_dialogs.dir/ControllerSelect.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/dialogs/ControllerSelect.cpp
[ 22%] Building CXX object build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/GUIDialogAxisDetection.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/GUIDialogAxisDetection.cpp.o -MF CMakeFiles/games_controller_dialogs.dir/GUIDialogAxisDetection.cpp.o.d -o CMakeFiles/games_controller_dialogs.dir/GUIDialogAxisDetection.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/dialogs/GUIDialogAxisDetection.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/MusicDatabaseFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/MusicDatabaseFile.cpp.o -MF CMakeFiles/filesystem.dir/MusicDatabaseFile.cpp.o.d -o CMakeFiles/filesystem.dir/MusicDatabaseFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicDatabaseFile.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/MusicFileDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/MusicFileDirectory.cpp.o -MF CMakeFiles/filesystem.dir/MusicFileDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/MusicFileDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicFileDirectory.cpp
[ 22%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/MusicSearchDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/MusicSearchDirectory.cpp.o -MF CMakeFiles/filesystem.dir/MusicSearchDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/MusicSearchDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/MusicSearchDirectory.cpp
[ 23%] Building CXX object build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/GUIDialogButtonCapture.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/GUIDialogButtonCapture.cpp.o -MF CMakeFiles/games_controller_dialogs.dir/GUIDialogButtonCapture.cpp.o.d -o CMakeFiles/games_controller_dialogs.dir/GUIDialogButtonCapture.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/dialogs/GUIDialogButtonCapture.cpp
make  -f build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/build.make build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/build.make build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 23%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUICardinalFeatureButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUICardinalFeatureButton.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUICardinalFeatureButton.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUICardinalFeatureButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUICardinalFeatureButton.cpp
make  -f build/games/controllers/input/CMakeFiles/games_controller_input.dir/build.make build/games/controllers/input/CMakeFiles/games_controller_input.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/input/CMakeFiles/games_controller_input.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/controllers/input/CMakeFiles/games_controller_input.dir/build.make build/games/controllers/input/CMakeFiles/games_controller_input.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 23%] Building CXX object build/games/controllers/input/CMakeFiles/games_controller_input.dir/InputSink.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/input/CMakeFiles/games_controller_input.dir/InputSink.cpp.o -MF CMakeFiles/games_controller_input.dir/InputSink.cpp.o.d -o CMakeFiles/games_controller_input.dir/InputSink.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/input/InputSink.cpp
[ 23%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/OverrideDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/OverrideDirectory.cpp.o -MF CMakeFiles/filesystem.dir/OverrideDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/OverrideDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/OverrideDirectory.cpp
[ 23%] Building CXX object build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/GUIDialogIgnoreInput.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/dialogs/CMakeFiles/games_controller_dialogs.dir/GUIDialogIgnoreInput.cpp.o -MF CMakeFiles/games_controller_dialogs.dir/GUIDialogIgnoreInput.cpp.o.d -o CMakeFiles/games_controller_dialogs.dir/GUIDialogIgnoreInput.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/dialogs/GUIDialogIgnoreInput.cpp
[ 23%] Building CXX object build/games/controllers/input/CMakeFiles/games_controller_input.dir/PhysicalFeature.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/input/CMakeFiles/games_controller_input.dir/PhysicalFeature.cpp.o -MF CMakeFiles/games_controller_input.dir/PhysicalFeature.cpp.o.d -o CMakeFiles/games_controller_input.dir/PhysicalFeature.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/input/PhysicalFeature.cpp
[ 23%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/OverrideFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/OverrideFile.cpp.o -MF CMakeFiles/filesystem.dir/OverrideFile.cpp.o.d -o CMakeFiles/filesystem.dir/OverrideFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/OverrideFile.cpp
[ 23%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIControllerButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIControllerButton.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIControllerButton.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIControllerButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIControllerButton.cpp
[ 23%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/PipeFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/PipeFile.cpp.o -MF CMakeFiles/filesystem.dir/PipeFile.cpp.o.d -o CMakeFiles/filesystem.dir/PipeFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/PipeFile.cpp
[ 23%] Building CXX object build/games/controllers/input/CMakeFiles/games_controller_input.dir/PhysicalTopology.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/input/CMakeFiles/games_controller_input.dir/PhysicalTopology.cpp.o -MF CMakeFiles/games_controller_input.dir/PhysicalTopology.cpp.o.d -o CMakeFiles/games_controller_input.dir/PhysicalTopology.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/input/PhysicalTopology.cpp
[ 23%] Linking CXX static library games_controller_dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs && /usr/bin/cmake -P CMakeFiles/games_controller_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_controller_dialogs.dir/link.txt --verbose=1
[ 23%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/PipesManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/PipesManager.cpp.o -MF CMakeFiles/filesystem.dir/PipesManager.cpp.o.d -o CMakeFiles/filesystem.dir/PipesManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/PipesManager.cpp
/usr/bin/ar qc games_controller_dialogs.a CMakeFiles/games_controller_dialogs.dir/ControllerInstaller.cpp.o CMakeFiles/games_controller_dialogs.dir/ControllerSelect.cpp.o CMakeFiles/games_controller_dialogs.dir/GUIDialogAxisDetection.cpp.o CMakeFiles/games_controller_dialogs.dir/GUIDialogButtonCapture.cpp.o CMakeFiles/games_controller_dialogs.dir/GUIDialogIgnoreInput.cpp.o
/usr/bin/ranlib games_controller_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 23%] Built target games_controller_dialogs
[ 23%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureButton.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIFeatureButton.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIFeatureButton.cpp
make  -f build/games/controllers/types/CMakeFiles/games_controller_types.dir/build.make build/games/controllers/types/CMakeFiles/games_controller_types.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/types /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/types /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/types/CMakeFiles/games_controller_types.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/controllers/types/CMakeFiles/games_controller_types.dir/build.make build/games/controllers/types/CMakeFiles/games_controller_types.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 25%] Building CXX object build/games/controllers/types/CMakeFiles/games_controller_types.dir/ControllerGrid.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/types && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/types/CMakeFiles/games_controller_types.dir/ControllerGrid.cpp.o -MF CMakeFiles/games_controller_types.dir/ControllerGrid.cpp.o.d -o CMakeFiles/games_controller_types.dir/ControllerGrid.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/types/ControllerGrid.cpp
[ 25%] Linking CXX static library games_controller_input.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/input && /usr/bin/cmake -P CMakeFiles/games_controller_input.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/input && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_controller_input.dir/link.txt --verbose=1
/usr/bin/ar qc games_controller_input.a CMakeFiles/games_controller_input.dir/InputSink.cpp.o CMakeFiles/games_controller_input.dir/PhysicalFeature.cpp.o CMakeFiles/games_controller_input.dir/PhysicalTopology.cpp.o
/usr/bin/ranlib games_controller_input.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 25%] Built target games_controller_input
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureControls.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureControls.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIFeatureControls.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureControls.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIFeatureControls.cpp
[ 25%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/PlaylistDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/PlaylistDirectory.cpp.o -MF CMakeFiles/filesystem.dir/PlaylistDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/PlaylistDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/PlaylistDirectory.cpp
[ 25%] Building CXX object build/games/controllers/types/CMakeFiles/games_controller_types.dir/ControllerHub.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/types && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/types/CMakeFiles/games_controller_types.dir/ControllerHub.cpp.o -MF CMakeFiles/games_controller_types.dir/ControllerHub.cpp.o.d -o CMakeFiles/games_controller_types.dir/ControllerHub.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/types/ControllerHub.cpp
[ 25%] Building CXX object build/games/controllers/types/CMakeFiles/games_controller_types.dir/ControllerNode.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/types && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/types/CMakeFiles/games_controller_types.dir/ControllerNode.cpp.o -MF CMakeFiles/games_controller_types.dir/ControllerNode.cpp.o.d -o CMakeFiles/games_controller_types.dir/ControllerNode.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/types/ControllerNode.cpp
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureFactory.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIFeatureFactory.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIFeatureFactory.cpp
[ 25%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/PlaylistFileDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/PlaylistFileDirectory.cpp.o -MF CMakeFiles/filesystem.dir/PlaylistFileDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/PlaylistFileDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/PlaylistFileDirectory.cpp
make  -f build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/build.make build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/build.make build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 25%] Building CXX object build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIConfigurationWizard.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIConfigurationWizard.cpp.o -MF CMakeFiles/games_controller_windows.dir/GUIConfigurationWizard.cpp.o.d -o CMakeFiles/games_controller_windows.dir/GUIConfigurationWizard.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/windows/GUIConfigurationWizard.cpp
[ 25%] Linking CXX static library games_controller_types.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/types && /usr/bin/cmake -P CMakeFiles/games_controller_types.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/types && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_controller_types.dir/link.txt --verbose=1
/usr/bin/ar qc games_controller_types.a CMakeFiles/games_controller_types.dir/ControllerGrid.cpp.o CMakeFiles/games_controller_types.dir/ControllerHub.cpp.o CMakeFiles/games_controller_types.dir/ControllerNode.cpp.o
/usr/bin/ranlib games_controller_types.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 25%] Built target games_controller_types
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIFeatureTranslator.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIFeatureTranslator.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIFeatureTranslator.cpp
[ 25%] Building CXX object build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIControllerList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIControllerList.cpp.o -MF CMakeFiles/games_controller_windows.dir/GUIControllerList.cpp.o.d -o CMakeFiles/games_controller_windows.dir/GUIControllerList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/windows/GUIControllerList.cpp
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIGameController.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIGameController.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIGameController.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIGameController.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIGameController.cpp
[ 25%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/PluginDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/PluginDirectory.cpp.o -MF CMakeFiles/filesystem.dir/PluginDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/PluginDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/PluginDirectory.cpp
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIScalarFeatureButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIScalarFeatureButton.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIScalarFeatureButton.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIScalarFeatureButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIScalarFeatureButton.cpp
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUISelectKeyButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUISelectKeyButton.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUISelectKeyButton.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUISelectKeyButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUISelectKeyButton.cpp
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIThrottleButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIThrottleButton.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIThrottleButton.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIThrottleButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIThrottleButton.cpp
[ 25%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/PluginFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/PluginFile.cpp.o -MF CMakeFiles/filesystem.dir/PluginFile.cpp.o.d -o CMakeFiles/filesystem.dir/PluginFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/PluginFile.cpp
[ 25%] Building CXX object build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIControllerWindow.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIControllerWindow.cpp.o -MF CMakeFiles/games_controller_windows.dir/GUIControllerWindow.cpp.o.d -o CMakeFiles/games_controller_windows.dir/GUIControllerWindow.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/windows/GUIControllerWindow.cpp
[ 25%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/PVRDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/PVRDirectory.cpp.o -MF CMakeFiles/filesystem.dir/PVRDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/PVRDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/PVRDirectory.cpp
[ 25%] Building CXX object build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIFeatureList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/windows/CMakeFiles/games_controller_windows.dir/GUIFeatureList.cpp.o -MF CMakeFiles/games_controller_windows.dir/GUIFeatureList.cpp.o.d -o CMakeFiles/games_controller_windows.dir/GUIFeatureList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/windows/GUIFeatureList.cpp
[ 25%] Building CXX object build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIWheelButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/controllers/guicontrols/CMakeFiles/games_controller_guicontrols.dir/GUIWheelButton.cpp.o -MF CMakeFiles/games_controller_guicontrols.dir/GUIWheelButton.cpp.o.d -o CMakeFiles/games_controller_guicontrols.dir/GUIWheelButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/controllers/guicontrols/GUIWheelButton.cpp
[ 26%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ResourceDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ResourceDirectory.cpp.o -MF CMakeFiles/filesystem.dir/ResourceDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/ResourceDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ResourceDirectory.cpp
[ 26%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ResourceFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ResourceFile.cpp.o -MF CMakeFiles/filesystem.dir/ResourceFile.cpp.o.d -o CMakeFiles/filesystem.dir/ResourceFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ResourceFile.cpp
[ 26%] Linking CXX static library games_controller_guicontrols.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/cmake -P CMakeFiles/games_controller_guicontrols.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/guicontrols && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_controller_guicontrols.dir/link.txt --verbose=1
/usr/bin/ar qc games_controller_guicontrols.a CMakeFiles/games_controller_guicontrols.dir/GUICardinalFeatureButton.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIControllerButton.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureButton.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureControls.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureFactory.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIFeatureTranslator.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIGameController.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIScalarFeatureButton.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUISelectKeyButton.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIThrottleButton.cpp.o CMakeFiles/games_controller_guicontrols.dir/GUIWheelButton.cpp.o
/usr/bin/ranlib games_controller_guicontrols.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 26%] Built target games_controller_guicontrols
[ 26%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/RSSDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/RSSDirectory.cpp.o -MF CMakeFiles/filesystem.dir/RSSDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/RSSDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/RSSDirectory.cpp
make  -f build/games/dialogs/CMakeFiles/gamedialogs.dir/build.make build/games/dialogs/CMakeFiles/gamedialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/CMakeFiles/gamedialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/dialogs/CMakeFiles/gamedialogs.dir/build.make build/games/dialogs/CMakeFiles/gamedialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Building CXX object build/games/dialogs/CMakeFiles/gamedialogs.dir/GUIDialogSelectGameClient.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/CMakeFiles/gamedialogs.dir/GUIDialogSelectGameClient.cpp.o -MF CMakeFiles/gamedialogs.dir/GUIDialogSelectGameClient.cpp.o.d -o CMakeFiles/gamedialogs.dir/GUIDialogSelectGameClient.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/GUIDialogSelectGameClient.cpp
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ShoutcastFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ShoutcastFile.cpp.o -MF CMakeFiles/filesystem.dir/ShoutcastFile.cpp.o.d -o CMakeFiles/filesystem.dir/ShoutcastFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ShoutcastFile.cpp
[ 27%] Linking CXX static library games_controller_windows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows && /usr/bin/cmake -P CMakeFiles/games_controller_windows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/controllers/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_controller_windows.dir/link.txt --verbose=1
/usr/bin/ar qc games_controller_windows.a CMakeFiles/games_controller_windows.dir/GUIConfigurationWizard.cpp.o CMakeFiles/games_controller_windows.dir/GUIControllerList.cpp.o CMakeFiles/games_controller_windows.dir/GUIControllerWindow.cpp.o CMakeFiles/games_controller_windows.dir/GUIFeatureList.cpp.o
/usr/bin/ranlib games_controller_windows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Built target games_controller_windows
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/SmartPlaylistDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/SmartPlaylistDirectory.cpp.o -MF CMakeFiles/filesystem.dir/SmartPlaylistDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/SmartPlaylistDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SmartPlaylistDirectory.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/IDirectory.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/IFileDirectory.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/RSSDirectory.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/RSSDirectory.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CDateTime>}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, CDateTime>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CDateTime> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, CDateTime> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CDateTime>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CDateTime> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, CDateTime> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h:14:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const SActorInfo&}; _Tp = SActorInfo; _Alloc = std::allocator<SActorInfo>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<SActorInfo>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = SActorInfo; _Alloc = std::allocator<SActorInfo>]',
    inlined from 'void ParseItemMRSS(CFileItem*, {anonymous}::SResources&, TiXmlElement*, const std::string&, const std::string&, const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/RSSDirectory.cpp:206:29:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<SActorInfo*, std::vector<SActorInfo> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CDateTime>}; _Key = std::__cxx11::basic_string<char>; _Tp = CDateTime; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, CDateTime> >]',
    inlined from 'std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair>::value, std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> > std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = std::pair<std::__cxx11::basic_string<char>, CDateTime>; _Key = std::__cxx11::basic_string<char>; _Tp = CDateTime; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, CDateTime> >]' at /usr/include/c++/12/bits/stl_map.h:858:27,
    inlined from 'virtual bool XFILE::CRSSDirectory::GetDirectory(const CURL&, CFileItemList&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/RSSDirectory.cpp:614:17:
/usr/include/c++/12/bits/stl_map.h:638:45: note: parameter passing for argument of type 'std::map<std::__cxx11::basic_string<char>, CDateTime>::const_iterator' {aka 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CDateTime>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CDateTime> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, CDateTime> > >::const_iterator'} changed in GCC 7.1
  638 |           return _M_t._M_emplace_hint_unique(__pos,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  639 |                                              std::forward<_Args>(__args)...);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make  -f build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/build.make build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/build.make build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameAdvancedSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameAdvancedSettings.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameAdvancedSettings.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameAdvancedSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameAdvancedSettings.cpp
[ 27%] Building CXX object build/games/dialogs/CMakeFiles/gamedialogs.dir/GUIDialogSelectSavestate.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/CMakeFiles/gamedialogs.dir/GUIDialogSelectSavestate.cpp.o -MF CMakeFiles/gamedialogs.dir/GUIDialogSelectSavestate.cpp.o.d -o CMakeFiles/gamedialogs.dir/GUIDialogSelectSavestate.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/GUIDialogSelectSavestate.cpp
[ 27%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameOSD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameOSD.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameOSD.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameOSD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameOSD.cpp
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/SourcesDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/SourcesDirectory.cpp.o -MF CMakeFiles/filesystem.dir/SourcesDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/SourcesDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SourcesDirectory.cpp
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/SpecialProtocol.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/SpecialProtocol.cpp.o -MF CMakeFiles/filesystem.dir/SpecialProtocol.cpp.o.d -o CMakeFiles/filesystem.dir/SpecialProtocol.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SpecialProtocol.cpp
[ 27%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameOSDHelp.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameOSDHelp.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameOSDHelp.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameOSDHelp.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameOSDHelp.cpp
[ 27%] Linking CXX static library gamedialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs && /usr/bin/cmake -P CMakeFiles/gamedialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/gamedialogs.dir/link.txt --verbose=1
/usr/bin/ar qc gamedialogs.a CMakeFiles/gamedialogs.dir/GUIDialogSelectGameClient.cpp.o CMakeFiles/gamedialogs.dir/GUIDialogSelectSavestate.cpp.o
/usr/bin/ranlib gamedialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Built target gamedialogs
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/SpecialProtocolDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/SpecialProtocolDirectory.cpp.o -MF CMakeFiles/filesystem.dir/SpecialProtocolDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/SpecialProtocolDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SpecialProtocolDirectory.cpp
make  -f build/games/ports/input/CMakeFiles/games_ports_input.dir/build.make build/games/ports/input/CMakeFiles/games_ports_input.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/input/CMakeFiles/games_ports_input.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/ports/input/CMakeFiles/games_ports_input.dir/build.make build/games/ports/input/CMakeFiles/games_ports_input.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Building CXX object build/games/ports/input/CMakeFiles/games_ports_input.dir/PhysicalPort.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/ports/input/CMakeFiles/games_ports_input.dir/PhysicalPort.cpp.o -MF CMakeFiles/games_ports_input.dir/PhysicalPort.cpp.o.d -o CMakeFiles/games_ports_input.dir/PhysicalPort.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/input/PhysicalPort.cpp
make  -f build/games/ports/types/CMakeFiles/games_ports_types.dir/build.make build/games/ports/types/CMakeFiles/games_ports_types.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/types /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/types /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/types/CMakeFiles/games_ports_types.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/ports/types/CMakeFiles/games_ports_types.dir/build.make build/games/ports/types/CMakeFiles/games_ports_types.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Building CXX object build/games/ports/types/CMakeFiles/games_ports_types.dir/PortNode.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/types && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/ports/types/CMakeFiles/games_ports_types.dir/PortNode.cpp.o -MF CMakeFiles/games_ports_types.dir/PortNode.cpp.o.d -o CMakeFiles/games_ports_types.dir/PortNode.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/types/PortNode.cpp
[ 27%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameSaves.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameSaves.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameSaves.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameSaves.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameSaves.cpp
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/SpecialProtocolFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/SpecialProtocolFile.cpp.o -MF CMakeFiles/filesystem.dir/SpecialProtocolFile.cpp.o.d -o CMakeFiles/filesystem.dir/SpecialProtocolFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SpecialProtocolFile.cpp
[ 27%] Building CXX object build/games/ports/input/CMakeFiles/games_ports_input.dir/PortInput.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/ports/input/CMakeFiles/games_ports_input.dir/PortInput.cpp.o -MF CMakeFiles/games_ports_input.dir/PortInput.cpp.o.d -o CMakeFiles/games_ports_input.dir/PortInput.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/input/PortInput.cpp
[ 27%] Linking CXX static library games_ports_types.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/types && /usr/bin/cmake -P CMakeFiles/games_ports_types.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/types && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_ports_types.dir/link.txt --verbose=1
/usr/bin/ar qc games_ports_types.a CMakeFiles/games_ports_types.dir/PortNode.cpp.o
/usr/bin/ranlib games_ports_types.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Built target games_ports_types
[ 27%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameStretchMode.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameStretchMode.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameStretchMode.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameStretchMode.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameStretchMode.cpp
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/StackDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/StackDirectory.cpp.o -MF CMakeFiles/filesystem.dir/StackDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/StackDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/StackDirectory.cpp
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/VideoDatabaseDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/VideoDatabaseDirectory.cpp.o -MF CMakeFiles/filesystem.dir/VideoDatabaseDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/VideoDatabaseDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseDirectory.cpp
[ 27%] Building CXX object build/games/ports/input/CMakeFiles/games_ports_input.dir/PortManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/ports/input/CMakeFiles/games_ports_input.dir/PortManager.cpp.o -MF CMakeFiles/games_ports_input.dir/PortManager.cpp.o.d -o CMakeFiles/games_ports_input.dir/PortManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/input/PortManager.cpp
[ 27%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVideoFilter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVideoFilter.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameVideoFilter.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameVideoFilter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameVideoFilter.cpp
make  -f build/games/ports/windows/CMakeFiles/games_ports_windows.dir/build.make build/games/ports/windows/CMakeFiles/games_ports_windows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/windows/CMakeFiles/games_ports_windows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/ports/windows/CMakeFiles/games_ports_windows.dir/build.make build/games/ports/windows/CMakeFiles/games_ports_windows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Building CXX object build/games/ports/windows/CMakeFiles/games_ports_windows.dir/GUIPortList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/ports/windows/CMakeFiles/games_ports_windows.dir/GUIPortList.cpp.o -MF CMakeFiles/games_ports_windows.dir/GUIPortList.cpp.o.d -o CMakeFiles/games_ports_windows.dir/GUIPortList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/windows/GUIPortList.cpp
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/VideoDatabaseFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/VideoDatabaseFile.cpp.o -MF CMakeFiles/filesystem.dir/VideoDatabaseFile.cpp.o.d -o CMakeFiles/filesystem.dir/VideoDatabaseFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VideoDatabaseFile.cpp
[ 27%] Linking CXX static library games_ports_input.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/input && /usr/bin/cmake -P CMakeFiles/games_ports_input.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/input && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_ports_input.dir/link.txt --verbose=1
/usr/bin/ar qc games_ports_input.a CMakeFiles/games_ports_input.dir/PhysicalPort.cpp.o CMakeFiles/games_ports_input.dir/PortInput.cpp.o CMakeFiles/games_ports_input.dir/PortManager.cpp.o
/usr/bin/ranlib games_ports_input.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 27%] Built target games_ports_input
[ 27%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/VirtualDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/VirtualDirectory.cpp.o -MF CMakeFiles/filesystem.dir/VirtualDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/VirtualDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/VirtualDirectory.cpp
[ 28%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVideoRotation.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVideoRotation.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameVideoRotation.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameVideoRotation.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameVideoRotation.cpp
make  -f build/games/tags/CMakeFiles/gametags.dir/build.make build/games/tags/CMakeFiles/gametags.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/tags /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/tags /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/tags/CMakeFiles/gametags.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/tags/CMakeFiles/gametags.dir/build.make build/games/tags/CMakeFiles/gametags.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 28%] Building CXX object build/games/tags/CMakeFiles/gametags.dir/GameInfoTag.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/tags/CMakeFiles/gametags.dir/GameInfoTag.cpp.o -MF CMakeFiles/gametags.dir/GameInfoTag.cpp.o.d -o CMakeFiles/gametags.dir/GameInfoTag.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/tags/GameInfoTag.cpp
[ 28%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVideoSelect.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVideoSelect.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameVideoSelect.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameVideoSelect.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameVideoSelect.cpp
[ 28%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/XbtDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/XbtDirectory.cpp.o -MF CMakeFiles/filesystem.dir/XbtDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/XbtDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/XbtDirectory.cpp
[ 28%] Linking CXX static library gametags.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/tags && /usr/bin/cmake -P CMakeFiles/gametags.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/tags && /usr/bin/cmake -E cmake_link_script CMakeFiles/gametags.dir/link.txt --verbose=1
/usr/bin/ar qc gametags.a CMakeFiles/gametags.dir/GameInfoTag.cpp.o
/usr/bin/ranlib gametags.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 28%] Built target gametags
[ 28%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVolume.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogGameVolume.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogGameVolume.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogGameVolume.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogGameVolume.cpp
[ 28%] Building CXX object build/games/ports/windows/CMakeFiles/games_ports_windows.dir/GUIPortWindow.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/ports/windows/CMakeFiles/games_ports_windows.dir/GUIPortWindow.cpp.o -MF CMakeFiles/games_ports_windows.dir/GUIPortWindow.cpp.o.d -o CMakeFiles/games_ports_windows.dir/GUIPortWindow.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/ports/windows/GUIPortWindow.cpp
make  -f build/games/windows/CMakeFiles/gameswindows.dir/build.make build/games/windows/CMakeFiles/gameswindows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/windows/CMakeFiles/gameswindows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/games/windows/CMakeFiles/gameswindows.dir/build.make build/games/windows/CMakeFiles/gameswindows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 28%] Building CXX object build/games/windows/CMakeFiles/gameswindows.dir/GUIViewStateWindowGames.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/windows/CMakeFiles/gameswindows.dir/GUIViewStateWindowGames.cpp.o -MF CMakeFiles/gameswindows.dir/GUIViewStateWindowGames.cpp.o.d -o CMakeFiles/gameswindows.dir/GUIViewStateWindowGames.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/windows/GUIViewStateWindowGames.cpp
[ 28%] Building CXX object build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogInGameSaves.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/dialogs/osd/CMakeFiles/gameosddialogs.dir/DialogInGameSaves.cpp.o -MF CMakeFiles/gameosddialogs.dir/DialogInGameSaves.cpp.o.d -o CMakeFiles/gameosddialogs.dir/DialogInGameSaves.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/dialogs/osd/DialogInGameSaves.cpp
[ 28%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/XbtFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/XbtFile.cpp.o -MF CMakeFiles/filesystem.dir/XbtFile.cpp.o.d -o CMakeFiles/filesystem.dir/XbtFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/XbtFile.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/IFile.h:23,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/XbtFile.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/XbtFile.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<long long unsigned int>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
[ 28%] Linking CXX static library games_ports_windows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/windows && /usr/bin/cmake -P CMakeFiles/games_ports_windows.dir/cmake_clean_target.cmake
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]',
    inlined from 'virtual bool XFILE::CXbtFile::Open(const CURL&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/XbtFile.cpp:59:36:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/ports/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/games_ports_windows.dir/link.txt --verbose=1
/usr/bin/ar qc games_ports_windows.a CMakeFiles/games_ports_windows.dir/GUIPortList.cpp.o CMakeFiles/games_ports_windows.dir/GUIPortWindow.cpp.o
/usr/bin/ranlib games_ports_windows.a
[ 29%] Building CXX object build/games/windows/CMakeFiles/gameswindows.dir/GUIWindowGames.cpp.o
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/games/windows/CMakeFiles/gameswindows.dir/GUIWindowGames.cpp.o -MF CMakeFiles/gameswindows.dir/GUIWindowGames.cpp.o.d -o CMakeFiles/gameswindows.dir/GUIWindowGames.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/games/windows/GUIWindowGames.cpp
[ 29%] Built target games_ports_windows
[ 29%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/XbtManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/XbtManager.cpp.o -MF CMakeFiles/filesystem.dir/XbtManager.cpp.o.d -o CMakeFiles/filesystem.dir/XbtManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/XbtManager.cpp
[ 29%] Linking CXX static library gameosddialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/cmake -P CMakeFiles/gameosddialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/dialogs/osd && /usr/bin/cmake -E cmake_link_script CMakeFiles/gameosddialogs.dir/link.txt --verbose=1
/usr/bin/ar qc gameosddialogs.a CMakeFiles/gameosddialogs.dir/DialogGameAdvancedSettings.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameOSD.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameOSDHelp.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameSaves.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameStretchMode.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameVideoFilter.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameVideoRotation.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameVideoSelect.cpp.o CMakeFiles/gameosddialogs.dir/DialogGameVolume.cpp.o CMakeFiles/gameosddialogs.dir/DialogInGameSaves.cpp.o
/usr/bin/ranlib gameosddialogs.a
make  -f build/interfaces/CMakeFiles/interfaces.dir/build.make build/interfaces/CMakeFiles/interfaces.dir/depend
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/CMakeFiles/interfaces.dir/DependInfo.cmake --color=
[ 29%] Built target gameosddialogs
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/interfaces/CMakeFiles/interfaces.dir/build.make build/interfaces/CMakeFiles/interfaces.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 29%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ZeroconfDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ZeroconfDirectory.cpp.o -MF CMakeFiles/filesystem.dir/ZeroconfDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/ZeroconfDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZeroconfDirectory.cpp
[ 29%] Building CXX object build/interfaces/CMakeFiles/interfaces.dir/AnnouncementManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/CMakeFiles/interfaces.dir/AnnouncementManager.cpp.o -MF CMakeFiles/interfaces.dir/AnnouncementManager.cpp.o.d -o CMakeFiles/interfaces.dir/AnnouncementManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/AnnouncementManager.cpp
make  -f build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/build.make build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/build.make build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 29%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/AddonBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/AddonBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/AddonBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/AddonBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/AddonBuiltins.cpp
[ 29%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ZipDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ZipDirectory.cpp.o -MF CMakeFiles/filesystem.dir/ZipDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/ZipDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipDirectory.cpp
[ 29%] Linking CXX static library gameswindows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/windows && /usr/bin/cmake -P CMakeFiles/gameswindows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/games/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/gameswindows.dir/link.txt --verbose=1
/usr/bin/ar qc gameswindows.a CMakeFiles/gameswindows.dir/GUIViewStateWindowGames.cpp.o CMakeFiles/gameswindows.dir/GUIWindowGames.cpp.o
/usr/bin/ranlib gameswindows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 29%] Built target gameswindows
[ 29%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ZipFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ZipFile.cpp.o -MF CMakeFiles/filesystem.dir/ZipFile.cpp.o.d -o CMakeFiles/filesystem.dir/ZipFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipFile.cpp
[ 29%] Linking CXX static library interfaces.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces && /usr/bin/cmake -P CMakeFiles/interfaces.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces && /usr/bin/cmake -E cmake_link_script CMakeFiles/interfaces.dir/link.txt --verbose=1
/usr/bin/ar qc interfaces.a CMakeFiles/interfaces.dir/AnnouncementManager.cpp.o
/usr/bin/ranlib interfaces.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 29%] Built target interfaces
[ 29%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/ApplicationBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/ApplicationBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/ApplicationBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/ApplicationBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/ApplicationBuiltins.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/IDirectory.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/IFileDirectory.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipDirectory.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipDirectory.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, SZipEntry>}; _Tp = std::pair<std::__cxx11::basic_string<char>, SZipEntry>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, SZipEntry> >]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<std::pair<std::__cxx11::basic_string<char>, SZipEntry>, std::allocator<std::pair<std::__cxx11::basic_string<char>, SZipEntry> > >::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, SZipEntry>}; _Tp = std::pair<std::__cxx11::basic_string<char>, SZipEntry>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, SZipEntry> >]',
    inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, SZipEntry>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, SZipEntry> >]' at /usr/include/c++/12/bits/stl_vector.h:1294:21,
    inlined from 'virtual bool XFILE::CZipDirectory::GetDirectory(const CURL&, CFileItemList&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipDirectory.cpp:56:24:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, SZipEntry>*, std::vector<std::pair<std::__cxx11::basic_string<char>, SZipEntry>, std::allocator<std::pair<std::__cxx11::basic_string<char>, SZipEntry> > > >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make  -f build/interfaces/generic/CMakeFiles/generic_interface.dir/build.make build/interfaces/generic/CMakeFiles/generic_interface.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic/CMakeFiles/generic_interface.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/interfaces/generic/CMakeFiles/generic_interface.dir/build.make build/interfaces/generic/CMakeFiles/generic_interface.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 29%] Building CXX object build/interfaces/generic/CMakeFiles/generic_interface.dir/ILanguageInvoker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/generic/CMakeFiles/generic_interface.dir/ILanguageInvoker.cpp.o -MF CMakeFiles/generic_interface.dir/ILanguageInvoker.cpp.o.d -o CMakeFiles/generic_interface.dir/ILanguageInvoker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ILanguageInvoker.cpp
[ 29%] Building CXX object build/interfaces/generic/CMakeFiles/generic_interface.dir/LanguageInvokerThread.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/generic/CMakeFiles/generic_interface.dir/LanguageInvokerThread.cpp.o -MF CMakeFiles/generic_interface.dir/LanguageInvokerThread.cpp.o.d -o CMakeFiles/generic_interface.dir/LanguageInvokerThread.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/LanguageInvokerThread.cpp
[ 30%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ZipManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ZipManager.cpp.o -MF CMakeFiles/filesystem.dir/ZipManager.cpp.o.d -o CMakeFiles/filesystem.dir/ZipManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipManager.cpp
make  -f build/interfaces/info/CMakeFiles/info_interface.dir/build.make build/interfaces/info/CMakeFiles/info_interface.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/info /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/info/CMakeFiles/info_interface.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/interfaces/info/CMakeFiles/info_interface.dir/build.make build/interfaces/info/CMakeFiles/info_interface.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 30%] Building CXX object build/interfaces/info/CMakeFiles/info_interface.dir/InfoBool.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/info && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/info/CMakeFiles/info_interface.dir/InfoBool.cpp.o -MF CMakeFiles/info_interface.dir/InfoBool.cpp.o.d -o CMakeFiles/info_interface.dir/InfoBool.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.cpp
[ 30%] Building CXX object build/interfaces/generic/CMakeFiles/generic_interface.dir/RunningScriptObserver.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/generic/CMakeFiles/generic_interface.dir/RunningScriptObserver.cpp.o -MF CMakeFiles/generic_interface.dir/RunningScriptObserver.cpp.o.d -o CMakeFiles/generic_interface.dir/RunningScriptObserver.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/RunningScriptObserver.cpp
[ 30%] Building CXX object build/interfaces/info/CMakeFiles/info_interface.dir/InfoExpression.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/info && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/info/CMakeFiles/info_interface.dir/InfoExpression.cpp.o -MF CMakeFiles/info_interface.dir/InfoExpression.cpp.o.d -o CMakeFiles/info_interface.dir/InfoExpression.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoExpression.cpp
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/Builtins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/Builtins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/Builtins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/Builtins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/Builtins.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipManager.h:25,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipManager.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const SZipEntry&}; _Tp = SZipEntry; _Alloc = std::allocator<SZipEntry>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<SZipEntry>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipManager.h:23:
/usr/include/c++/12/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long int>}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, long long int>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, long long int> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, long long int> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, long long int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, long long int> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, long long int> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long int>}; _Key = std::__cxx11::basic_string<char>; _Tp = long long int; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, long long int> >]',
    inlined from 'std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair>::value, std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> > std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = std::pair<std::__cxx11::basic_string<char>, long int>; _Key = std::__cxx11::basic_string<char>; _Tp = long long int; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, long long int> >]' at /usr/include/c++/12/bits/stl_map.h:858:27,
    inlined from 'bool CZipManager::GetZipList(const CURL&, std::vector<SZipEntry>&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipManager.cpp:80:18:
/usr/include/c++/12/bits/stl_map.h:638:45: note: parameter passing for argument of type 'std::map<std::__cxx11::basic_string<char>, long long int>::const_iterator' {aka 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, long long int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, long long int> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, long long int> > >::const_iterator'} changed in GCC 7.1
  638 |           return _M_t._M_emplace_hint_unique(__pos,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  639 |                                              std::forward<_Args>(__args)...);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = SZipEntry; _Alloc = std::allocator<SZipEntry>]',
    inlined from 'bool CZipManager::GetZipList(const CURL&, std::vector<SZipEntry>&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ZipManager.cpp:197:22:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<SZipEntry*, std::vector<SZipEntry> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 31%] Building CXX object build/interfaces/generic/CMakeFiles/generic_interface.dir/ScriptInvocationManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/generic/CMakeFiles/generic_interface.dir/ScriptInvocationManager.cpp.o -MF CMakeFiles/generic_interface.dir/ScriptInvocationManager.cpp.o.d -o CMakeFiles/generic_interface.dir/ScriptInvocationManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ISO9660Directory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ISO9660Directory.cpp.o -MF CMakeFiles/filesystem.dir/ISO9660Directory.cpp.o.d -o CMakeFiles/filesystem.dir/ISO9660Directory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ISO9660Directory.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/ISO9660File.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/ISO9660File.cpp.o -MF CMakeFiles/filesystem.dir/ISO9660File.cpp.o.d -o CMakeFiles/filesystem.dir/ISO9660File.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/ISO9660File.cpp
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/CECBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/CECBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/CECBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/CECBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/CECBuiltins.cpp
[ 31%] Building CXX object build/interfaces/info/CMakeFiles/info_interface.dir/SkinVariable.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/info && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/info/CMakeFiles/info_interface.dir/SkinVariable.cpp.o -MF CMakeFiles/info_interface.dir/SkinVariable.cpp.o.d -o CMakeFiles/info_interface.dir/SkinVariable.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/SkinVariable.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/UDFBlockInput.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/UDFBlockInput.cpp.o -MF CMakeFiles/filesystem.dir/UDFBlockInput.cpp.o.d -o CMakeFiles/filesystem.dir/UDFBlockInput.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/UDFBlockInput.cpp
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/GUIBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/GUIBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/GUIBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/GUIBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/GUIBuiltins.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/UDFDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/UDFDirectory.cpp.o -MF CMakeFiles/filesystem.dir/UDFDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/UDFDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/UDFDirectory.cpp
[ 31%] Building CXX object build/interfaces/generic/CMakeFiles/generic_interface.dir/ScriptRunner.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/generic/CMakeFiles/generic_interface.dir/ScriptRunner.cpp.o -MF CMakeFiles/generic_interface.dir/ScriptRunner.cpp.o.d -o CMakeFiles/generic_interface.dir/ScriptRunner.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptRunner.cpp
[ 31%] Linking CXX static library info_interface.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/info && /usr/bin/cmake -P CMakeFiles/info_interface.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/info && /usr/bin/cmake -E cmake_link_script CMakeFiles/info_interface.dir/link.txt --verbose=1
/usr/bin/ar qc info_interface.a CMakeFiles/info_interface.dir/InfoBool.cpp.o CMakeFiles/info_interface.dir/InfoExpression.cpp.o CMakeFiles/info_interface.dir/SkinVariable.cpp.o
/usr/bin/ranlib info_interface.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Built target info_interface
make  -f build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/build.make build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/build.make build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/AddonsOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/AddonsOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/AddonsOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/AddonsOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/AddonsOperations.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/UDFFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/UDFFile.cpp.o -MF CMakeFiles/filesystem.dir/UDFFile.cpp.o.d -o CMakeFiles/filesystem.dir/UDFFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/UDFFile.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/BlurayCallback.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/BlurayCallback.cpp.o -MF CMakeFiles/filesystem.dir/BlurayCallback.cpp.o.d -o CMakeFiles/filesystem.dir/BlurayCallback.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/BlurayCallback.cpp
[ 31%] Linking CXX static library generic_interface.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic && /usr/bin/cmake -P CMakeFiles/generic_interface.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/generic && /usr/bin/cmake -E cmake_link_script CMakeFiles/generic_interface.dir/link.txt --verbose=1
/usr/bin/ar qc generic_interface.a CMakeFiles/generic_interface.dir/ILanguageInvoker.cpp.o CMakeFiles/generic_interface.dir/LanguageInvokerThread.cpp.o CMakeFiles/generic_interface.dir/RunningScriptObserver.cpp.o CMakeFiles/generic_interface.dir/ScriptInvocationManager.cpp.o CMakeFiles/generic_interface.dir/ScriptRunner.cpp.o
/usr/bin/ranlib generic_interface.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Built target generic_interface
[ 31%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/ApplicationOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/ApplicationOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/ApplicationOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/ApplicationOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/ApplicationOperations.cpp
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/GUIControlBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/GUIControlBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/GUIControlBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/GUIControlBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/GUIControlBuiltins.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/BlurayCallback.cpp: In static member function 'static int CBlurayCallback::dir_read(BD_DIR_H*, BD_DIRENT*)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/BlurayCallback.cpp:81:10: warning: 'char* __builtin_strncpy(char*, const char*, unsigned int)' specified bound 256 equals destination size [-Wstringop-truncation]
   81 |   strncpy(entry->d_name, state->list[state->curr]->GetLabel().c_str(), sizeof(entry->d_name));
      |          ^
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/BlurayDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/BlurayDirectory.cpp.o -MF CMakeFiles/filesystem.dir/BlurayDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/BlurayDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/BlurayDirectory.cpp
make  -f build/media/CMakeFiles/media.dir/build.make build/media/CMakeFiles/media.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/media /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/media/CMakeFiles/media.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/media/CMakeFiles/media.dir/build.make build/media/CMakeFiles/media.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Building CXX object build/media/CMakeFiles/media.dir/MediaType.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/media && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/media/CMakeFiles/media.dir/MediaType.cpp.o -MF CMakeFiles/media.dir/MediaType.cpp.o.d -o CMakeFiles/media.dir/MediaType.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.cpp
[ 31%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/AudioLibrary.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/AudioLibrary.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/AudioLibrary.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/AudioLibrary.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/AudioLibrary.cpp
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/GUIContainerBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/GUIContainerBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/GUIContainerBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/GUIContainerBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/GUIContainerBuiltins.cpp
[ 31%] Linking CXX static library media.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/media && /usr/bin/cmake -P CMakeFiles/media.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/media && /usr/bin/cmake -E cmake_link_script CMakeFiles/media.dir/link.txt --verbose=1
/usr/bin/ar qc media.a CMakeFiles/media.dir/MediaType.cpp.o
/usr/bin/ranlib media.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Built target media
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/LibraryBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/LibraryBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/LibraryBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/LibraryBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/LibraryBuiltins.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/BlurayFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/BlurayFile.cpp.o -MF CMakeFiles/filesystem.dir/BlurayFile.cpp.o.d -o CMakeFiles/filesystem.dir/BlurayFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/BlurayFile.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/CDDADirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/CDDADirectory.cpp.o -MF CMakeFiles/filesystem.dir/CDDADirectory.cpp.o.d -o CMakeFiles/filesystem.dir/CDDADirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CDDADirectory.cpp
make  -f build/drm/CMakeFiles/drm.dir/build.make build/drm/CMakeFiles/drm.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/drm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/drm /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/drm/CMakeFiles/drm.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/drm/CMakeFiles/drm.dir/build.make build/drm/CMakeFiles/drm.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Building CXX object build/drm/CMakeFiles/drm.dir/CryptoSession.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/drm && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/drm/CMakeFiles/drm.dir/CryptoSession.cpp.o -MF CMakeFiles/drm.dir/CryptoSession.cpp.o.d -o CMakeFiles/drm.dir/CryptoSession.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/drm/CryptoSession.cpp
[ 31%] Linking CXX static library drm.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/drm && /usr/bin/cmake -P CMakeFiles/drm.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/drm && /usr/bin/cmake -E cmake_link_script CMakeFiles/drm.dir/link.txt --verbose=1
/usr/bin/ar qc drm.a CMakeFiles/drm.dir/CryptoSession.cpp.o
/usr/bin/ranlib drm.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Built target drm
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/OpticalBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/OpticalBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/OpticalBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/OpticalBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/OpticalBuiltins.cpp
make  -f build/music/CMakeFiles/music.dir/build.make build/music/CMakeFiles/music.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/CMakeFiles/music.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/music/CMakeFiles/music.dir/build.make build/music/CMakeFiles/music.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 31%] Building CXX object build/music/CMakeFiles/music.dir/Album.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/Album.cpp.o -MF CMakeFiles/music.dir/Album.cpp.o.d -o CMakeFiles/music.dir/Album.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/CDDAFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/CDDAFile.cpp.o -MF CMakeFiles/filesystem.dir/CDDAFile.cpp.o.d -o CMakeFiles/filesystem.dir/CDDAFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/CDDAFile.cpp
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/PictureBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/PictureBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/PictureBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/PictureBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/PictureBuiltins.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/NFSDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/NFSDirectory.cpp.o -MF CMakeFiles/filesystem.dir/NFSDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/NFSDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/NFSDirectory.cpp
[ 31%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/FavouritesOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/FavouritesOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/FavouritesOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/FavouritesOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/FavouritesOperations.cpp
[ 31%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/PlayerBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/PlayerBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/PlayerBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/PlayerBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/PlayerBuiltins.cpp
[ 31%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/NFSFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/NFSFile.cpp.o -MF CMakeFiles/filesystem.dir/NFSFile.cpp.o.d -o CMakeFiles/filesystem.dir/NFSFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/NFSFile.cpp
[ 32%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/FileItemHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/FileItemHandler.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/FileItemHandler.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/FileItemHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/FileItemHandler.cpp
[ 32%] Building CXX object build/music/CMakeFiles/music.dir/Artist.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/Artist.cpp.o -MF CMakeFiles/music.dir/Artist.cpp.o.d -o CMakeFiles/music.dir/Artist.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/UrlOptions.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/URL.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/NFSFile.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/NFSFile.cpp:13:
/usr/include/c++/12/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<nfsfh* const&>, std::tuple<>}; _Key = nfsfh*; _Val = std::pair<nfsfh* const, CNfsConnection::keepAliveStruct>; _KeyOfValue = std::_Select1st<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> >; _Compare = std::less<nfsfh*>; _Alloc = std::allocator<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<nfsfh*, std::pair<nfsfh* const, CNfsConnection::keepAliveStruct>, std::_Select1st<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> >, std::less<nfsfh*>, std::allocator<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = nfsfh*; _Tp = CNfsConnection::keepAliveStruct; _Compare = std::less<nfsfh*>; _Alloc = std::allocator<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> >]',
    inlined from 'void CNfsConnection::resetKeepAlive(const std::string&, nfsfh*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/NFSFile.cpp:415:35:
/usr/include/c++/12/bits/stl_map.h:511:44: note: parameter passing for argument of type 'std::_Rb_tree<nfsfh*, std::pair<nfsfh* const, CNfsConnection::keepAliveStruct>, std::_Select1st<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> >, std::less<nfsfh*>, std::allocator<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> > >::const_iterator' changed in GCC 7.1
  511 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  512 |                                             std::tuple<const key_type&>(__k),
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  513 |                                             std::tuple<>());
      |                                             ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = nfsfh*; _Tp = CNfsConnection::keepAliveStruct; _Compare = std::less<nfsfh*>; _Alloc = std::allocator<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> >]',
    inlined from 'void CNfsConnection::resetKeepAlive(const std::string&, nfsfh*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/NFSFile.cpp:416:35:
/usr/include/c++/12/bits/stl_map.h:511:44: note: parameter passing for argument of type 'std::_Rb_tree<nfsfh*, std::pair<nfsfh* const, CNfsConnection::keepAliveStruct>, std::_Select1st<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> >, std::less<nfsfh*>, std::allocator<std::pair<nfsfh* const, CNfsConnection::keepAliveStruct> > >::const_iterator' changed in GCC 7.1
  511 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  512 |                                             std::tuple<const key_type&>(__k),
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  513 |                                             std::tuple<>());
      |                                             ~~~~~~~~~~~~~~~
[ 32%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/NptXbmcFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/NptXbmcFile.cpp.o -MF CMakeFiles/filesystem.dir/NptXbmcFile.cpp.o.d -o CMakeFiles/filesystem.dir/NptXbmcFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/NptXbmcFile.cpp
[ 32%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/ProfileBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/ProfileBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/ProfileBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/ProfileBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/ProfileBuiltins.cpp
[ 32%] Building CXX object build/music/CMakeFiles/music.dir/ContextMenus.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/ContextMenus.cpp.o -MF CMakeFiles/music.dir/ContextMenus.cpp.o.d -o CMakeFiles/music.dir/ContextMenus.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/ContextMenus.cpp
[ 32%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/UPnPDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/UPnPDirectory.cpp.o -MF CMakeFiles/filesystem.dir/UPnPDirectory.cpp.o.d -o CMakeFiles/filesystem.dir/UPnPDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/UPnPDirectory.cpp
[ 32%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/FileOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/FileOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/FileOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/FileOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/FileOperations.cpp
[ 32%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/PVRBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/PVRBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/PVRBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/PVRBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/PVRBuiltins.cpp
[ 32%] Building CXX object build/music/CMakeFiles/music.dir/GUIViewStateMusic.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/GUIViewStateMusic.cpp.o -MF CMakeFiles/music.dir/GUIViewStateMusic.cpp.o.d -o CMakeFiles/music.dir/GUIViewStateMusic.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/GUIViewStateMusic.cpp
[ 32%] Building CXX object build/filesystem/CMakeFiles/filesystem.dir/UPnPFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/c++ -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/filesystem/CMakeFiles/filesystem.dir/UPnPFile.cpp.o -MF CMakeFiles/filesystem.dir/UPnPFile.cpp.o.d -o CMakeFiles/filesystem.dir/UPnPFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/UPnPFile.cpp
[ 32%] Linking CXX static library filesystem.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/cmake -P CMakeFiles/filesystem.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/filesystem && /usr/bin/cmake -E cmake_link_script CMakeFiles/filesystem.dir/link.txt --verbose=1
/usr/bin/ar qc filesystem.a CMakeFiles/filesystem.dir/AddonsDirectory.cpp.o CMakeFiles/filesystem.dir/AudioBookFileDirectory.cpp.o CMakeFiles/filesystem.dir/CacheStrategy.cpp.o CMakeFiles/filesystem.dir/CircularCache.cpp.o CMakeFiles/filesystem.dir/CurlFile.cpp.o CMakeFiles/filesystem.dir/DAVCommon.cpp.o CMakeFiles/filesystem.dir/DAVDirectory.cpp.o CMakeFiles/filesystem.dir/DAVFile.cpp.o CMakeFiles/filesystem.dir/DirectoryCache.cpp.o CMakeFiles/filesystem.dir/Directory.cpp.o CMakeFiles/filesystem.dir/DirectoryFactory.cpp.o CMakeFiles/filesystem.dir/DirectoryHistory.cpp.o CMakeFiles/filesystem.dir/DllLibCurl.cpp.o CMakeFiles/filesystem.dir/DvdCallback.cpp.o CMakeFiles/filesystem.dir/EventsDirectory.cpp.o CMakeFiles/filesystem.dir/FavouritesDirectory.cpp.o CMakeFiles/filesystem.dir/FileCache.cpp.o CMakeFiles/filesystem.dir/File.cpp.o CMakeFiles/filesystem.dir/FileDirectoryFactory.cpp.o CMakeFiles/filesystem.dir/FileFactory.cpp.o CMakeFiles/filesystem.dir/FTPDirectory.cpp.o CMakeFiles/filesystem.dir/FTPParse.cpp.o CMakeFiles/filesystem.dir/HTTPDirectory.cpp.o CMakeFiles/filesystem.dir/IDirectory.cpp.o CMakeFiles/filesystem.dir/IFile.cpp.o CMakeFiles/filesystem.dir/ImageFile.cpp.o CMakeFiles/filesystem.dir/LibraryDirectory.cpp.o CMakeFiles/filesystem.dir/MultiPathDirectory.cpp.o CMakeFiles/filesystem.dir/MultiPathFile.cpp.o CMakeFiles/filesystem.dir/MusicDatabaseDirectory.cpp.o CMakeFiles/filesystem.dir/MusicDatabaseFile.cpp.o CMakeFiles/filesystem.dir/MusicFileDirectory.cpp.o CMakeFiles/filesystem.dir/MusicSearchDirectory.cpp.o CMakeFiles/filesystem.dir/OverrideDirectory.cpp.o CMakeFiles/filesystem.dir/OverrideFile.cpp.o CMakeFiles/filesystem.dir/PipeFile.cpp.o CMakeFiles/filesystem.dir/PipesManager.cpp.o CMakeFiles/filesystem.dir/PlaylistDirectory.cpp.o CMakeFiles/filesystem.dir/PlaylistFileDirectory.cpp.o CMakeFiles/filesystem.dir/PluginDirectory.cpp.o CMakeFiles/filesystem.dir/PluginFile.cpp.o CMakeFiles/filesystem.dir/PVRDirectory.cpp.o CMakeFiles/filesystem.dir/ResourceDirectory.cpp.o CMakeFiles/filesystem.dir/ResourceFile.cpp.o CMakeFiles/filesystem.dir/RSSDirectory.cpp.o CMakeFiles/filesystem.dir/ShoutcastFile.cpp.o CMakeFiles/filesystem.dir/SmartPlaylistDirectory.cpp.o CMakeFiles/filesystem.dir/SourcesDirectory.cpp.o CMakeFiles/filesystem.dir/SpecialProtocol.cpp.o CMakeFiles/filesystem.dir/SpecialProtocolDirectory.cpp.o CMakeFiles/filesystem.dir/SpecialProtocolFile.cpp.o CMakeFiles/filesystem.dir/StackDirectory.cpp.o CMakeFiles/filesystem.dir/VideoDatabaseDirectory.cpp.o CMakeFiles/filesystem.dir/VideoDatabaseFile.cpp.o CMakeFiles/filesystem.dir/VirtualDirectory.cpp.o CMakeFiles/filesystem.dir/XbtDirectory.cpp.o CMakeFiles/filesystem.dir/XbtFile.cpp.o CMakeFiles/filesystem.dir/XbtManager.cpp.o CMakeFiles/filesystem.dir/ZeroconfDirectory.cpp.o CMakeFiles/filesystem.dir/ZipDirectory.cpp.o CMakeFiles/filesystem.dir/ZipFile.cpp.o CMakeFiles/filesystem.dir/ZipManager.cpp.o CMakeFiles/filesystem.dir/ISO9660Directory.cpp.o CMakeFiles/filesystem.dir/ISO9660File.cpp.o CMakeFiles/filesystem.dir/UDFBlockInput.cpp.o CMakeFiles/filesystem.dir/UDFDirectory.cpp.o CMakeFiles/filesystem.dir/UDFFile.cpp.o CMakeFiles/filesystem.dir/BlurayCallback.cpp.o CMakeFiles/filesystem.dir/BlurayDirectory.cpp.o CMakeFiles/filesystem.dir/BlurayFile.cpp.o CMakeFiles/filesystem.dir/CDDADirectory.cpp.o CMakeFiles/filesystem.dir/CDDAFile.cpp.o CMakeFiles/filesystem.dir/NFSDirectory.cpp.o CMakeFiles/filesystem.dir/NFSFile.cpp.o CMakeFiles/filesystem.dir/NptXbmcFile.cpp.o CMakeFiles/filesystem.dir/UPnPDirectory.cpp.o CMakeFiles/filesystem.dir/UPnPFile.cpp.o
/usr/bin/ranlib filesystem.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 32%] Built target filesystem
[ 32%] Building CXX object build/music/CMakeFiles/music.dir/MusicDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/MusicDatabase.cpp.o -MF CMakeFiles/music.dir/MusicDatabase.cpp.o.d -o CMakeFiles/music.dir/MusicDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp
[ 32%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/GUIOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/GUIOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/GUIOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/GUIOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/GUIOperations.cpp
[ 32%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/InputOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/InputOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/InputOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/InputOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/InputOperations.cpp
[ 34%] Building CXX object build/music/CMakeFiles/music.dir/MusicDbUrl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/MusicDbUrl.cpp.o -MF CMakeFiles/music.dir/MusicDbUrl.cpp.o.d -o CMakeFiles/music.dir/MusicDbUrl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDbUrl.cpp
[ 34%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/JSONRPC.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/JSONRPC.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/JSONRPC.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/JSONRPC.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONRPC.cpp
make  -f build/music/dialogs/CMakeFiles/music_dialogs.dir/build.make build/music/dialogs/CMakeFiles/music_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs/CMakeFiles/music_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/music/dialogs/CMakeFiles/music_dialogs.dir/build.make build/music/dialogs/CMakeFiles/music_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 34%] Building CXX object build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogInfoProviderSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogInfoProviderSettings.cpp.o -MF CMakeFiles/music_dialogs.dir/GUIDialogInfoProviderSettings.cpp.o.d -o CMakeFiles/music_dialogs.dir/GUIDialogInfoProviderSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/dialogs/GUIDialogInfoProviderSettings.cpp
[ 34%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/SkinBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/SkinBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/SkinBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/SkinBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/SkinBuiltins.cpp
[ 34%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/JSONServiceDescription.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/JSONServiceDescription.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/JSONServiceDescription.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/JSONServiceDescription.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp
[ 34%] Building CXX object build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogMusicInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogMusicInfo.cpp.o -MF CMakeFiles/music_dialogs.dir/GUIDialogMusicInfo.cpp.o.d -o CMakeFiles/music_dialogs.dir/GUIDialogMusicInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/dialogs/GUIDialogMusicInfo.cpp
[ 34%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/SystemBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/SystemBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/SystemBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/SystemBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/SystemBuiltins.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/DatabaseQuery.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/SmartPlayList.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONUtils.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CVariant&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
[ 34%] Building CXX object build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/WeatherBuiltins.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/builtins/CMakeFiles/interfaces_builtins.dir/WeatherBuiltins.cpp.o -MF CMakeFiles/interfaces_builtins.dir/WeatherBuiltins.cpp.o.d -o CMakeFiles/interfaces_builtins.dir/WeatherBuiltins.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/builtins/WeatherBuiltins.cpp
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'bool JSONRPC::JSONSchemaTypeDefinition::Parse(const CVariant&, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp:607:24:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 34%] Linking CXX static library interfaces_builtins.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/cmake -P CMakeFiles/interfaces_builtins.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/builtins && /usr/bin/cmake -E cmake_link_script CMakeFiles/interfaces_builtins.dir/link.txt --verbose=1
/usr/bin/ar qc interfaces_builtins.a CMakeFiles/interfaces_builtins.dir/AddonBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/ApplicationBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/Builtins.cpp.o CMakeFiles/interfaces_builtins.dir/CECBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/GUIBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/GUIControlBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/GUIContainerBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/LibraryBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/OpticalBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/PictureBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/PlayerBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/ProfileBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/PVRBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/SkinBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/SystemBuiltins.cpp.o CMakeFiles/interfaces_builtins.dir/WeatherBuiltins.cpp.o
/usr/bin/ranlib interfaces_builtins.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 34%] Built target interfaces_builtins
[ 34%] Building CXX object build/music/CMakeFiles/music.dir/MusicInfoLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/MusicInfoLoader.cpp.o -MF CMakeFiles/music.dir/MusicInfoLoader.cpp.o.d -o CMakeFiles/music.dir/MusicInfoLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicInfoLoader.cpp
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'static bool JSONRPC::CJSONServiceDescription::AddEnum(const std::string&, const std::vector<std::__cxx11::basic_string<char> >&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp:1781:23:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'static bool JSONRPC::CJSONServiceDescription::AddEnum(const std::string&, const std::vector<int>&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp:1791:23:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 34%] Building CXX object build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogMusicOSD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogMusicOSD.cpp.o -MF CMakeFiles/music_dialogs.dir/GUIDialogMusicOSD.cpp.o.d -o CMakeFiles/music_dialogs.dir/GUIDialogMusicOSD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/dialogs/GUIDialogMusicOSD.cpp
[ 34%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/JSONUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/JSONUtils.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/JSONUtils.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/JSONUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONUtils.cpp
[ 34%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/PlayerOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/PlayerOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/PlayerOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/PlayerOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/PlayerOperations.cpp
[ 34%] Building CXX object build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogSongInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogSongInfo.cpp.o -MF CMakeFiles/music_dialogs.dir/GUIDialogSongInfo.cpp.o.d -o CMakeFiles/music_dialogs.dir/GUIDialogSongInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/dialogs/GUIDialogSongInfo.cpp
[ 34%] Building CXX object build/music/CMakeFiles/music.dir/MusicLibraryQueue.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/MusicLibraryQueue.cpp.o -MF CMakeFiles/music.dir/MusicLibraryQueue.cpp.o.d -o CMakeFiles/music.dir/MusicLibraryQueue.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicLibraryQueue.cpp
make  -f build/music/infoscanner/CMakeFiles/music_infoscanner.dir/build.make build/music/infoscanner/CMakeFiles/music_infoscanner.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner/CMakeFiles/music_infoscanner.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/music/infoscanner/CMakeFiles/music_infoscanner.dir/build.make build/music/infoscanner/CMakeFiles/music_infoscanner.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 34%] Building CXX object build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicAlbumInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicAlbumInfo.cpp.o -MF CMakeFiles/music_infoscanner.dir/MusicAlbumInfo.cpp.o.d -o CMakeFiles/music_infoscanner.dir/MusicAlbumInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicAlbumInfo.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ScraperUrl.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::_M_erase(iterator, iterator) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]':
/usr/include/c++/12/bits/vector.tcc:189:5: note: parameter passing for argument of type 'std::vector<CAlbum>::iterator' changed in GCC 7.1
  189 |     vector<_Tp, _Alloc>::
      |     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc:189:5: note: parameter passing for argument of type 'std::vector<CAlbum>::iterator' changed in GCC 7.1
[ 34%] Building CXX object build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogVisualisationPresetList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/dialogs/CMakeFiles/music_dialogs.dir/GUIDialogVisualisationPresetList.cpp.o -MF CMakeFiles/music_dialogs.dir/GUIDialogVisualisationPresetList.cpp.o.d -o CMakeFiles/music_dialogs.dir/GUIDialogVisualisationPresetList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/dialogs/GUIDialogVisualisationPresetList.cpp
In file included from /usr/include/c++/12/functional:64,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h:19,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/LibExportSettings.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.h:20:
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::shuffle(_RAIter, _RAIter, _UGenerator&&) [with _RAIter = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _UGenerator = mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&]':
/usr/include/c++/12/bits/stl_algo.h:3696:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 3696 |     shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~
/usr/include/c++/12/bits/stl_algo.h:3696:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
In file included from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:58:
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Random.h: In function 'void KODI::UTILS::RandomShuffle(TIterator, TIterator) [with TIterator = __gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >]':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Random.h:19:6: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
   19 | void RandomShuffle(TIterator begin, TIterator end)
      |      ^~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Random.h:19:6: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Random.h:23:15: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
   23 |   std::shuffle(begin, end, mt);
      |   ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp: In member function 'bool CMusicDatabase::GetArtistsByWhereJSON(const std::set<std::__cxx11::basic_string<char> >&, const std::string&, CVariant&, int&, const SortDescription&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:7133:33: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 7133 |       KODI::UTILS::RandomShuffle(result["artists"].begin_array(), result["artists"].end_array());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp: In member function 'bool CMusicDatabase::GetAlbumsByWhereJSON(const std::set<std::__cxx11::basic_string<char> >&, const std::string&, CVariant&, int&, const SortDescription&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:7535:33: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 7535 |       KODI::UTILS::RandomShuffle(result["albums"].begin_array(), result["albums"].end_array());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp: In member function 'bool CMusicDatabase::GetSongsByWhereJSON(const std::set<std::__cxx11::basic_string<char> >&, const std::string&, CVariant&, int&, const SortDescription&)':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:8210:33: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 8210 |       KODI::UTILS::RandomShuffle(result["songs"].begin_array(), result["songs"].end_array());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 34%] Linking CXX static library music_dialogs.a
[ 34%] Building CXX object build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicArtistInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicArtistInfo.cpp.o -MF CMakeFiles/music_infoscanner.dir/MusicArtistInfo.cpp.o.d -o CMakeFiles/music_infoscanner.dir/MusicArtistInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicArtistInfo.cpp
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs && /usr/bin/cmake -P CMakeFiles/music_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/music_dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc music_dialogs.a CMakeFiles/music_dialogs.dir/GUIDialogInfoProviderSettings.cpp.o CMakeFiles/music_dialogs.dir/GUIDialogMusicInfo.cpp.o CMakeFiles/music_dialogs.dir/GUIDialogMusicOSD.cpp.o CMakeFiles/music_dialogs.dir/GUIDialogSongInfo.cpp.o CMakeFiles/music_dialogs.dir/GUIDialogVisualisationPresetList.cpp.o
/usr/bin/ranlib music_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 34%] Built target music_dialogs
[ 34%] Building CXX object build/music/CMakeFiles/music.dir/MusicThumbLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/MusicThumbLoader.cpp.o -MF CMakeFiles/music.dir/MusicThumbLoader.cpp.o.d -o CMakeFiles/music.dir/MusicThumbLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicThumbLoader.cpp
[ 34%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/PlaylistOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/PlaylistOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/PlaylistOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/PlaylistOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/PlaylistOperations.cpp
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {CSong}; _Tp = CSong; _Alloc = std::allocator<CSong>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CSong>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CSong}; _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'bool CMusicDatabase::GetAlbum(int, CAlbum&, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:1633:35:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {CAlbum}; _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CAlbum>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator, const_iterator) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'bool CMusicDatabase::GetRecentlyPlayedAlbums(VECALBUMS&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:3561:17:
/usr/include/c++/12/bits/stl_vector.h:1561:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
 1561 |         return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
      |                ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CAlbum}; _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]' at /usr/include/c++/12/bits/stl_vector.h:1294:21,
    inlined from 'bool CMusicDatabase::GetRecentlyPlayedAlbums(VECALBUMS&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:3605:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 34%] Building CXX object build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicInfoScanner.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicInfoScanner.cpp.o -MF CMakeFiles/music_infoscanner.dir/MusicInfoScanner.cpp.o.d -o CMakeFiles/music_infoscanner.dir/MusicInfoScanner.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp
In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator, const_iterator) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'bool CMusicDatabase::GetTop100Albums(VECALBUMS&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:3450:17:
/usr/include/c++/12/bits/stl_vector.h:1561:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
 1561 |         return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
      |                ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CAlbum}; _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]' at /usr/include/c++/12/bits/stl_vector.h:1294:21,
    inlined from 'bool CMusicDatabase::GetTop100Albums(VECALBUMS&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:3484:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator, const_iterator) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'bool CMusicDatabase::GetRecentlyAddedAlbums(VECALBUMS&, unsigned int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:3722:17:
/usr/include/c++/12/bits/stl_vector.h:1561:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
 1561 |         return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
      |                ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CAlbum}; _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]' at /usr/include/c++/12/bits/stl_vector.h:1294:21,
    inlined from 'bool CMusicDatabase::GetRecentlyAddedAlbums(VECALBUMS&, unsigned int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:3762:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {CSong&}; _Tp = CSong; _Alloc = std::allocator<CSong>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CSong>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CSong&}; _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'bool CMusicDatabase::GetSongsByPath(const std::string&, MAPSONGS&, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:3941:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CSong&}; _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'bool CMusicDatabase::RemoveSongsFromPath(const std::string&, MAPSONGS&, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicDatabase.cpp:11203:27:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/memory:66,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/DatabaseQuery.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/SmartPlayList.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONUtils.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONRPC.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/FileItemHandler.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/PlaylistOperations.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/PlaylistOperations.cpp:9:
/usr/include/c++/12/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CVariant*, vector<CVariant> >; _ForwardIterator = CVariant*]':
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >' changed in GCC 7.1
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >; _ForwardIterator = CVariant*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CVariant*, vector<CVariant> >; _ForwardIterator = CVariant*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const CVariant*, vector<CVariant> >; _ForwardIterator = CVariant*; _Tp = CVariant]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >; _Tp = CVariant; _Alloc = std::allocator<CVariant>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'void std::vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >; _Tp = CVariant; _Alloc = std::allocator<CVariant>]' at /usr/include/c++/12/bits/vector.tcc:318:40,
    inlined from 'void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_InputIterator, _InputIterator, std::__false_type) [with _InputIterator = __gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >; _Tp = CVariant; _Alloc = std::allocator<CVariant>]' at /usr/include/c++/12/bits/stl_vector.h:1737:17,
    inlined from 'void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >; <template-parameter-2-2> = void; _Tp = CVariant; _Alloc = std::allocator<CVariant>]' at /usr/include/c++/12/bits/stl_vector.h:824:22,
    inlined from 'static bool JSONRPC::CPlaylistOperations::HandleItemsParameter(PLAYLIST::Id, const CVariant&, CFileItemList&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/PlaylistOperations.cpp:296:20:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 34%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/ProfilesOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/ProfilesOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/ProfilesOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/ProfilesOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/ProfilesOperations.cpp
make  -f build/music/jobs/CMakeFiles/music_jobs.dir/build.make build/music/jobs/CMakeFiles/music_jobs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs/CMakeFiles/music_jobs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/music/jobs/CMakeFiles/music_jobs.dir/build.make build/music/jobs/CMakeFiles/music_jobs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 34%] Building CXX object build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryJob.cpp.o -MF CMakeFiles/music_jobs.dir/MusicLibraryJob.cpp.o.d -o CMakeFiles/music_jobs.dir/MusicLibraryJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs/MusicLibraryJob.cpp
[ 35%] Building CXX object build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryProgressJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryProgressJob.cpp.o -MF CMakeFiles/music_jobs.dir/MusicLibraryProgressJob.cpp.o.d -o CMakeFiles/music_jobs.dir/MusicLibraryProgressJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs/MusicLibraryProgressJob.cpp
[ 35%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/PVROperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/PVROperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/PVROperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/PVROperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/PVROperations.cpp
[ 35%] Building CXX object build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryCleaningJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryCleaningJob.cpp.o -MF CMakeFiles/music_jobs.dir/MusicLibraryCleaningJob.cpp.o.d -o CMakeFiles/music_jobs.dir/MusicLibraryCleaningJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs/MusicLibraryCleaningJob.cpp
In file included from /usr/include/c++/12/bits/stl_tree.h:63,
                 from /usr/include/c++/12/set:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/InfoScanner.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:9:
/usr/include/c++/12/bits/stl_algobase.h: In function '_RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Predicate = __gnu_cxx::__ops::_Iter_equals_val<const __cxx11::basic_string<char> >]':
/usr/include/c++/12/bits/stl_algobase.h:2059:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 2059 |     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~~~
/usr/include/c++/12/bits/stl_algobase.h:2059:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/InfoScanner.h:13:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const char (&)[7]}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const char (&)[7]}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::vector<CVariant> MUSIC_INFO::CMusicInfoScanner::GetArtWhitelist(const MediaType&, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:2141:37:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 35%] Building CXX object build/music/CMakeFiles/music.dir/MusicUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/MusicUtils.cpp.o -MF CMakeFiles/music.dir/MusicUtils.cpp.o.d -o CMakeFiles/music.dir/MusicUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/MusicUtils.cpp
In function '_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Predicate = __gnu_cxx::__ops::_Iter_equals_val<const __cxx11::basic_string<char> >]',
    inlined from '_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Tp = __cxx11::basic_string<char>]' at /usr/include/c++/12/bits/stl_algo.h:3851:28,
    inlined from 'bool MUSIC_INFO::CMusicInfoScanner::AddRemoteArtwork(std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, const std::string&, const CScraperUrl&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:2283:20:
/usr/include/c++/12/bits/stl_algobase.h:2112:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 2112 |       return __find_if(__first, __last, __pred,
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |                        std::__iterator_category(__first));
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 35%] Building CXX object build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryExportJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryExportJob.cpp.o -MF CMakeFiles/music_jobs.dir/MusicLibraryExportJob.cpp.o.d -o CMakeFiles/music_jobs.dir/MusicLibraryExportJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs/MusicLibraryExportJob.cpp
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const MUSIC_GRABBER::CMusicArtistInfo&}; _Tp = MUSIC_GRABBER::CMusicArtistInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicArtistInfo>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<MUSIC_GRABBER::CMusicArtistInfo>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/bits/stl_algo.h:60,
                 from /usr/include/c++/12/functional:64,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScraper.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.h:13:
/usr/include/c++/12/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Distance = int; _Tp = CSong; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]':
/usr/include/c++/12/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
      |     ^~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_heap.h: In function 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]':
/usr/include/c++/12/bits/stl_heap.h:340:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
  340 |     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~~~~~
/usr/include/c++/12/bits/stl_heap.h:340:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_heap.h: In function 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]':
/usr/include/c++/12/bits/stl_heap.h:254:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
  254 |     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~~~~
/usr/include/c++/12/bits/stl_heap.h:254:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_heap.h:254:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]':
/usr/include/c++/12/bits/stl_algo.h:1908:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1908 |     __introsort_loop(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1908:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
In function 'void std::__sort_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]',
    inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]' at /usr/include/c++/12/bits/stl_algo.h:1901:23,
    inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]' at /usr/include/c++/12/bits/stl_algo.h:1916:27:
/usr/include/c++/12/bits/stl_heap.h:425:26: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
  425 |           std::__pop_heap(__first, __last, __last, __comp);
      |           ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]':
/usr/include/c++/12/bits/stl_algo.h:1922:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1922 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]',
    inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]' at /usr/include/c++/12/bits/stl_algo.h:1900:25,
    inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]' at /usr/include/c++/12/bits/stl_algo.h:1916:27:
/usr/include/c++/12/bits/stl_algo.h:1629:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1629 |       std::__make_heap(__first, __middle, __comp);
      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<bool (*)(const CSong&, const CSong&)>]':
/usr/include/c++/12/bits/stl_algo.h:1782:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1782 |     __unguarded_linear_insert(_RandomAccessIterator __last,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]':
/usr/include/c++/12/bits/stl_algo.h:1802:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1802 |     __insertion_sort(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1802:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CSong&}; _Tp = CSong; _Alloc = std::allocator<CSong>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CSong>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:63:
/usr/include/c++/12/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*]':
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >; _ForwardIterator = CSong*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*; _Tp = CSong]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'CAlbum::CAlbum(const CAlbum&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h:26:7:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CAlbum&}; _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CAlbum>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const MUSIC_GRABBER::CMusicAlbumInfo&}; _Tp = MUSIC_GRABBER::CMusicAlbumInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicAlbumInfo>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<MUSIC_GRABBER::CMusicAlbumInfo>::iterator' changed in GCC 7.1
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:676:30:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:677:25:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:680:28:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:683:50:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]',
    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = bool (*)(const CSong&, const CSong&)]' at /usr/include/c++/12/bits/stl_algo.h:4853:18,
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:695:9:
/usr/include/c++/12/bits/stl_algo.h:1937:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1937 |           std::__introsort_loop(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
 1938 |                                 std::__lg(__last - __first) * 2,
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1939 |                                 __comp);
      |                                 ~~~~~~~
In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]',
    inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CSong&, const CSong&)>]' at /usr/include/c++/12/bits/stl_algo.h:1940:31,
    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<CSong*, vector<CSong> >; _Compare = bool (*)(const CSong&, const CSong&)]' at /usr/include/c++/12/bits/stl_algo.h:4853:18,
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:695:9:
/usr/include/c++/12/bits/stl_algo.h:1849:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1849 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1854:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1854 |         std::__insertion_sort(__first, __last, __comp);
      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:877:30:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CAlbum; _Alloc = std::allocator<CAlbum>]',
    inlined from 'static void MUSIC_INFO::CMusicInfoScanner::FileItemsToAlbums(CFileItemList&, VECALBUMS&, MAPSONGS*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:879:23:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CAlbum*, std::vector<CAlbum> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 35%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/SettingsOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/SettingsOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/SettingsOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/SettingsOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/SettingsOperations.cpp
In function '_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Predicate = __gnu_cxx::__ops::_Iter_equals_val<const __cxx11::basic_string<char> >]',
    inlined from '_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Tp = __cxx11::basic_string<char>]' at /usr/include/c++/12/bits/stl_algo.h:3851:28,
    inlined from 'bool MUSIC_INFO::CMusicInfoScanner::AddLocalArtwork(std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, const std::string&, const std::string&, const std::string&, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:2199:18:
/usr/include/c++/12/bits/stl_algobase.h:2112:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 2112 |       return __find_if(__first, __last, __pred,
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |                        std::__iterator_category(__first));
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function '_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Predicate = __gnu_cxx::__ops::_Iter_equals_val<const __cxx11::basic_string<char> >]',
    inlined from '_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Tp = __cxx11::basic_string<char>]' at /usr/include/c++/12/bits/stl_algo.h:3851:28,
    inlined from 'bool MUSIC_INFO::CMusicInfoScanner::AddLocalArtwork(std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, const std::string&, const std::string&, const std::string&, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:2230:29:
/usr/include/c++/12/bits/stl_algobase.h:2112:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 2112 |       return __find_if(__first, __last, __pred,
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |                        std::__iterator_category(__first));
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function '_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Predicate = __gnu_cxx::__ops::_Iter_equals_val<const __cxx11::basic_string<char> >]',
    inlined from '_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<CVariant*, vector<CVariant> >; _Tp = __cxx11::basic_string<char>]' at /usr/include/c++/12/bits/stl_algo.h:3851:28,
    inlined from 'bool MUSIC_INFO::CMusicInfoScanner::AddLocalArtwork(std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, const std::string&, const std::string&, const std::string&, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:2237:22:
/usr/include/c++/12/bits/stl_algobase.h:2112:23: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 2112 |       return __find_if(__first, __last, __pred,
      |              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
 2113 |                        std::__iterator_category(__first));
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 35%] Building CXX object build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryImportJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryImportJob.cpp.o -MF CMakeFiles/music_jobs.dir/MusicLibraryImportJob.cpp.o.d -o CMakeFiles/music_jobs.dir/MusicLibraryImportJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs/MusicLibraryImportJob.cpp
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = MUSIC_GRABBER::CMusicAlbumInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicAlbumInfo>]',
    inlined from 'CInfoScanner::INFO_RET MUSIC_INFO::CMusicInfoScanner::DownloadAlbumInfo(const CAlbum&, const ADDON::ScraperPtr&, MUSIC_GRABBER::CMusicAlbumInfo&, bool, CGUIDialogProgress*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:1478:36:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicAlbumInfo*, std::vector<MUSIC_GRABBER::CMusicAlbumInfo> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = MUSIC_GRABBER::CMusicAlbumInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicAlbumInfo>]',
    inlined from 'CInfoScanner::INFO_RET MUSIC_INFO::CMusicInfoScanner::DownloadAlbumInfo(const CAlbum&, const ADDON::ScraperPtr&, MUSIC_GRABBER::CMusicAlbumInfo&, bool, CGUIDialogProgress*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:1519:36:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicAlbumInfo*, std::vector<MUSIC_GRABBER::CMusicAlbumInfo> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >; _ForwardIterator = CSong*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*; _Tp = CSong]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >; _Tp = CSong; _Alloc = std::allocator<CSong>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]' at /usr/include/c++/12/bits/vector.tcc:232:44,
    inlined from 'CAlbum& CAlbum::operator=(const CAlbum&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h:26:7,
    inlined from 'MUSIC_GRABBER::CMusicAlbumInfo& MUSIC_GRABBER::CMusicAlbumInfo::operator=(const MUSIC_GRABBER::CMusicAlbumInfo&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicAlbumInfo.h:21:7,
    inlined from 'CInfoScanner::INFO_RET MUSIC_INFO::CMusicInfoScanner::DownloadAlbumInfo(const CAlbum&, const ADDON::ScraperPtr&, MUSIC_GRABBER::CMusicAlbumInfo&, bool, CGUIDialogProgress*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:1699:46:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = MUSIC_GRABBER::CMusicArtistInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicArtistInfo>]',
    inlined from 'CInfoScanner::INFO_RET MUSIC_INFO::CMusicInfoScanner::DownloadArtistInfo(const CArtist&, const ADDON::ScraperPtr&, MUSIC_GRABBER::CMusicArtistInfo&, bool, CGUIDialogProgress*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:1739:37:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicArtistInfo*, std::vector<MUSIC_GRABBER::CMusicArtistInfo> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = MUSIC_GRABBER::CMusicArtistInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicArtistInfo>]',
    inlined from 'CInfoScanner::INFO_RET MUSIC_INFO::CMusicInfoScanner::DownloadArtistInfo(const CArtist&, const ADDON::ScraperPtr&, MUSIC_GRABBER::CMusicArtistInfo&, bool, CGUIDialogProgress*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScanner.cpp:1800:37:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicArtistInfo*, std::vector<MUSIC_GRABBER::CMusicArtistInfo> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 35%] Building CXX object build/music/CMakeFiles/music.dir/Song.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/CMakeFiles/music.dir/Song.cpp.o -MF CMakeFiles/music.dir/Song.cpp.o.d -o CMakeFiles/music.dir/Song.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.cpp
[ 35%] Building CXX object build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryScanningJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/jobs/CMakeFiles/music_jobs.dir/MusicLibraryScanningJob.cpp.o -MF CMakeFiles/music_jobs.dir/MusicLibraryScanningJob.cpp.o.d -o CMakeFiles/music_jobs.dir/MusicLibraryScanningJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/jobs/MusicLibraryScanningJob.cpp
[ 35%] Building CXX object build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicInfoScraper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/infoscanner/CMakeFiles/music_infoscanner.dir/MusicInfoScraper.cpp.o -MF CMakeFiles/music_infoscanner.dir/MusicInfoScraper.cpp.o.d -o CMakeFiles/music_infoscanner.dir/MusicInfoScraper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicInfoScraper.cpp
[ 35%] Linking CXX static library music_jobs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/cmake -P CMakeFiles/music_jobs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/jobs && /usr/bin/cmake -E cmake_link_script CMakeFiles/music_jobs.dir/link.txt --verbose=1
/usr/bin/ar qc music_jobs.a CMakeFiles/music_jobs.dir/MusicLibraryJob.cpp.o CMakeFiles/music_jobs.dir/MusicLibraryProgressJob.cpp.o CMakeFiles/music_jobs.dir/MusicLibraryCleaningJob.cpp.o CMakeFiles/music_jobs.dir/MusicLibraryExportJob.cpp.o CMakeFiles/music_jobs.dir/MusicLibraryImportJob.cpp.o CMakeFiles/music_jobs.dir/MusicLibraryScanningJob.cpp.o
/usr/bin/ranlib music_jobs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Built target music_jobs
make  -f build/music/tags/CMakeFiles/music_tags.dir/build.make build/music/tags/CMakeFiles/music_tags.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags/CMakeFiles/music_tags.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/music/tags/CMakeFiles/music_tags.dir/build.make build/music/tags/CMakeFiles/music_tags.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/DatabaseQuery.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/SmartPlayList.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONUtils.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONServiceDescription.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/JSONRPC.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/SettingsOperations.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/SettingsOperations.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CVariant&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTag.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTag.cpp.o -MF CMakeFiles/music_tags.dir/MusicInfoTag.cpp.o.d -o CMakeFiles/music_tags.dir/MusicInfoTag.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTag.cpp
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'static JSONRPC::JSONRPC_STATUS JSONRPC::CSettingsOperations::SetSettingValue(const std::string&, JSONRPC::ITransportLayer*, JSONRPC::IClient*, const CVariant&, CVariant&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/SettingsOperations.cpp:292:23:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 35%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/SystemOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/SystemOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/SystemOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/SystemOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/SystemOperations.cpp
[ 35%] Linking CXX static library music_infoscanner.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner && /usr/bin/cmake -P CMakeFiles/music_infoscanner.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/infoscanner && /usr/bin/cmake -E cmake_link_script CMakeFiles/music_infoscanner.dir/link.txt --verbose=1
/usr/bin/ar qc music_infoscanner.a CMakeFiles/music_infoscanner.dir/MusicAlbumInfo.cpp.o CMakeFiles/music_infoscanner.dir/MusicArtistInfo.cpp.o CMakeFiles/music_infoscanner.dir/MusicInfoScanner.cpp.o CMakeFiles/music_infoscanner.dir/MusicInfoScraper.cpp.o
/usr/bin/ranlib music_infoscanner.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Built target music_infoscanner
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderCDDA.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderCDDA.cpp.o -MF CMakeFiles/music_tags.dir/MusicInfoTagLoaderCDDA.cpp.o.d -o CMakeFiles/music_tags.dir/MusicInfoTagLoaderCDDA.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTagLoaderCDDA.cpp
[ 35%] Linking CXX static library music.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/cmake -P CMakeFiles/music.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music && /usr/bin/cmake -E cmake_link_script CMakeFiles/music.dir/link.txt --verbose=1
/usr/bin/ar qc music.a CMakeFiles/music.dir/Album.cpp.o CMakeFiles/music.dir/Artist.cpp.o CMakeFiles/music.dir/ContextMenus.cpp.o CMakeFiles/music.dir/GUIViewStateMusic.cpp.o CMakeFiles/music.dir/MusicDatabase.cpp.o CMakeFiles/music.dir/MusicDbUrl.cpp.o CMakeFiles/music.dir/MusicInfoLoader.cpp.o CMakeFiles/music.dir/MusicLibraryQueue.cpp.o CMakeFiles/music.dir/MusicThumbLoader.cpp.o CMakeFiles/music.dir/MusicUtils.cpp.o CMakeFiles/music.dir/Song.cpp.o
/usr/bin/ranlib music.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Built target music
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderDatabase.cpp.o -MF CMakeFiles/music_tags.dir/MusicInfoTagLoaderDatabase.cpp.o.d -o CMakeFiles/music_tags.dir/MusicInfoTagLoaderDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTagLoaderDatabase.cpp
[ 35%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/TextureOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/TextureOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/TextureOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/TextureOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/TextureOperations.cpp
make  -f build/music/windows/CMakeFiles/music_windows.dir/build.make build/music/windows/CMakeFiles/music_windows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows/CMakeFiles/music_windows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/music/windows/CMakeFiles/music_windows.dir/build.make build/music/windows/CMakeFiles/music_windows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Building CXX object build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicBase.cpp.o -MF CMakeFiles/music_windows.dir/GUIWindowMusicBase.cpp.o.d -o CMakeFiles/music_windows.dir/GUIWindowMusicBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows/GUIWindowMusicBase.cpp
make  -f build/network/CMakeFiles/network.dir/build.make build/network/CMakeFiles/network.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/CMakeFiles/network.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/network/CMakeFiles/network.dir/build.make build/network/CMakeFiles/network.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Building CXX object build/network/CMakeFiles/network.dir/DNSNameCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/DNSNameCache.cpp.o -MF CMakeFiles/network.dir/DNSNameCache.cpp.o.d -o CMakeFiles/network.dir/DNSNameCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/DNSNameCache.cpp
[ 35%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/VideoLibrary.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/VideoLibrary.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/VideoLibrary.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/VideoLibrary.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/VideoLibrary.cpp
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderFactory.cpp.o -MF CMakeFiles/music_tags.dir/MusicInfoTagLoaderFactory.cpp.o.d -o CMakeFiles/music_tags.dir/MusicInfoTagLoaderFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp
[ 35%] Building CXX object build/network/CMakeFiles/network.dir/EventClient.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/EventClient.cpp.o -MF CMakeFiles/network.dir/EventClient.cpp.o.d -o CMakeFiles/network.dir/EventClient.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.cpp
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderFFmpeg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderFFmpeg.cpp.o -MF CMakeFiles/music_tags.dir/MusicInfoTagLoaderFFmpeg.cpp.o.d -o CMakeFiles/music_tags.dir/MusicInfoTagLoaderFFmpeg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTagLoaderFFmpeg.cpp
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderShn.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/MusicInfoTagLoaderShn.cpp.o -MF CMakeFiles/music_tags.dir/MusicInfoTagLoaderShn.cpp.o.d -o CMakeFiles/music_tags.dir/MusicInfoTagLoaderShn.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTagLoaderShn.cpp
In file included from /usr/include/c++/12/list:63,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.h:20,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.cpp:9:
/usr/include/c++/12/bits/stl_list.h: In member function 'void std::__cxx11::list<_Tp, _Alloc>::_M_insert(iterator, _Args&& ...) [with _Args = {const EVENTCLIENT::CEventButtonState&}; _Tp = EVENTCLIENT::CEventButtonState; _Alloc = std::allocator<EVENTCLIENT::CEventButtonState>]':
/usr/include/c++/12/bits/stl_list.h:2003:8: note: parameter passing for argument of type 'std::__cxx11::list<EVENTCLIENT::CEventButtonState>::iterator' changed in GCC 7.1
 2003 |        _M_insert(iterator __position, _Args&&... __args)
      |        ^~~~~~~~~
[ 35%] Building CXX object build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicNav.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicNav.cpp.o -MF CMakeFiles/music_windows.dir/GUIWindowMusicNav.cpp.o.d -o CMakeFiles/music_windows.dir/GUIWindowMusicNav.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows/GUIWindowMusicNav.cpp
In member function 'void std::__cxx11::list<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = EVENTCLIENT::CEventButtonState; _Alloc = std::allocator<EVENTCLIENT::CEventButtonState>]',
    inlined from 'virtual bool EVENTCLIENT::CEventClient::OnPacketBUTTON(EVENTPACKET::CEventPacket*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.cpp:402:32:
/usr/include/c++/12/bits/stl_list.h:1306:24: note: parameter passing for argument of type 'std::_List_iterator<EVENTCLIENT::CEventButtonState>' changed in GCC 7.1
 1306 |       { this->_M_insert(end(), __x); }
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::__cxx11::list<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = EVENTCLIENT::CEventButtonState; _Alloc = std::allocator<EVENTCLIENT::CEventButtonState>]',
    inlined from 'virtual bool EVENTCLIENT::CEventClient::OnPacketBUTTON(EVENTPACKET::CEventPacket*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.cpp:414:34:
/usr/include/c++/12/bits/stl_list.h:1306:24: note: parameter passing for argument of type 'std::_List_iterator<EVENTCLIENT::CEventButtonState>' changed in GCC 7.1
 1306 |       { this->_M_insert(end(), __x); }
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::__cxx11::list<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = EVENTCLIENT::CEventButtonState; _Alloc = std::allocator<EVENTCLIENT::CEventButtonState>]',
    inlined from 'virtual bool EVENTCLIENT::CEventClient::OnPacketBUTTON(EVENTPACKET::CEventPacket*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.cpp:434:32:
/usr/include/c++/12/bits/stl_list.h:1306:24: note: parameter passing for argument of type 'std::_List_iterator<EVENTCLIENT::CEventButtonState>' changed in GCC 7.1
 1306 |       { this->_M_insert(end(), __x); }
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::__cxx11::list<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = EVENTCLIENT::CEventButtonState; _Alloc = std::allocator<EVENTCLIENT::CEventButtonState>]',
    inlined from 'virtual bool EVENTCLIENT::CEventClient::OnPacketBUTTON(EVENTPACKET::CEventPacket*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.cpp:440:34:
/usr/include/c++/12/bits/stl_list.h:1306:24: note: parameter passing for argument of type 'std::_List_iterator<EVENTCLIENT::CEventButtonState>' changed in GCC 7.1
 1306 |       { this->_M_insert(end(), __x); }
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::__cxx11::list<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = EVENTCLIENT::CEventButtonState; _Alloc = std::allocator<EVENTCLIENT::CEventButtonState>]',
    inlined from 'virtual bool EVENTCLIENT::CEventClient::OnPacketBUTTON(EVENTPACKET::CEventPacket*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventClient.cpp:476:33:
/usr/include/c++/12/bits/stl_list.h:1306:24: note: parameter passing for argument of type 'std::_List_iterator<EVENTCLIENT::CEventButtonState>' changed in GCC 7.1
 1306 |       { this->_M_insert(end(), __x); }
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 35%] Building CXX object build/network/CMakeFiles/network.dir/EventPacket.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/EventPacket.cpp.o -MF CMakeFiles/network.dir/EventPacket.cpp.o.d -o CMakeFiles/network.dir/EventPacket.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventPacket.cpp
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/ReplayGain.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/ReplayGain.cpp.o -MF CMakeFiles/music_tags.dir/ReplayGain.cpp.o.d -o CMakeFiles/music_tags.dir/ReplayGain.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/ReplayGain.cpp
[ 35%] Building CXX object build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/XBMCOperations.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/interfaces/json-rpc/CMakeFiles/jsonrpc_interface.dir/XBMCOperations.cpp.o -MF CMakeFiles/jsonrpc_interface.dir/XBMCOperations.cpp.o.d -o CMakeFiles/jsonrpc_interface.dir/XBMCOperations.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/json-rpc/XBMCOperations.cpp
[ 35%] Building CXX object build/network/CMakeFiles/network.dir/EventServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/EventServer.cpp.o -MF CMakeFiles/network.dir/EventServer.cpp.o.d -o CMakeFiles/network.dir/EventServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/EventServer.cpp
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/TagLibVFSStream.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/TagLibVFSStream.cpp.o -MF CMakeFiles/music_tags.dir/TagLibVFSStream.cpp.o.d -o CMakeFiles/music_tags.dir/TagLibVFSStream.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/TagLibVFSStream.cpp
[ 35%] Building CXX object build/music/tags/CMakeFiles/music_tags.dir/TagLoaderTagLib.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/tags/CMakeFiles/music_tags.dir/TagLoaderTagLib.cpp.o -MF CMakeFiles/music_tags.dir/TagLoaderTagLib.cpp.o.d -o CMakeFiles/music_tags.dir/TagLoaderTagLib.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/TagLoaderTagLib.cpp
[ 35%] Linking CXX static library jsonrpc_interface.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/cmake -P CMakeFiles/jsonrpc_interface.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/interfaces/json-rpc && /usr/bin/cmake -E cmake_link_script CMakeFiles/jsonrpc_interface.dir/link.txt --verbose=1
/usr/bin/ar qc jsonrpc_interface.a CMakeFiles/jsonrpc_interface.dir/AddonsOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/ApplicationOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/AudioLibrary.cpp.o CMakeFiles/jsonrpc_interface.dir/FavouritesOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/FileItemHandler.cpp.o CMakeFiles/jsonrpc_interface.dir/FileOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/GUIOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/InputOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/JSONRPC.cpp.o CMakeFiles/jsonrpc_interface.dir/JSONServiceDescription.cpp.o CMakeFiles/jsonrpc_interface.dir/JSONUtils.cpp.o CMakeFiles/jsonrpc_interface.dir/PlayerOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/PlaylistOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/ProfilesOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/PVROperations.cpp.o CMakeFiles/jsonrpc_interface.dir/SettingsOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/SystemOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/TextureOperations.cpp.o CMakeFiles/jsonrpc_interface.dir/VideoLibrary.cpp.o CMakeFiles/jsonrpc_interface.dir/XBMCOperations.cpp.o
/usr/bin/ranlib jsonrpc_interface.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Built target jsonrpc_interface
[ 35%] Building CXX object build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicPlaylist.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicPlaylist.cpp.o -MF CMakeFiles/music_windows.dir/GUIWindowMusicPlaylist.cpp.o.d -o CMakeFiles/music_windows.dir/GUIWindowMusicPlaylist.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows/GUIWindowMusicPlaylist.cpp
[ 35%] Building CXX object build/network/CMakeFiles/network.dir/GUIDialogNetworkSetup.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/GUIDialogNetworkSetup.cpp.o -MF CMakeFiles/network.dir/GUIDialogNetworkSetup.cpp.o.d -o CMakeFiles/network.dir/GUIDialogNetworkSetup.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/GUIDialogNetworkSetup.cpp
make  -f build/network/websocket/CMakeFiles/network_websockets.dir/build.make build/network/websocket/CMakeFiles/network_websockets.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/websocket /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket/CMakeFiles/network_websockets.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/network/websocket/CMakeFiles/network_websockets.dir/build.make build/network/websocket/CMakeFiles/network_websockets.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Building CXX object build/network/websocket/CMakeFiles/network_websockets.dir/WebSocket.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/websocket/CMakeFiles/network_websockets.dir/WebSocket.cpp.o -MF CMakeFiles/network_websockets.dir/WebSocket.cpp.o.d -o CMakeFiles/network_websockets.dir/WebSocket.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/websocket/WebSocket.cpp
[ 35%] Linking CXX static library music_tags.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/cmake -P CMakeFiles/music_tags.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/tags && /usr/bin/cmake -E cmake_link_script CMakeFiles/music_tags.dir/link.txt --verbose=1
/usr/bin/ar qc music_tags.a CMakeFiles/music_tags.dir/MusicInfoTag.cpp.o CMakeFiles/music_tags.dir/MusicInfoTagLoaderCDDA.cpp.o CMakeFiles/music_tags.dir/MusicInfoTagLoaderDatabase.cpp.o CMakeFiles/music_tags.dir/MusicInfoTagLoaderFactory.cpp.o CMakeFiles/music_tags.dir/MusicInfoTagLoaderFFmpeg.cpp.o CMakeFiles/music_tags.dir/MusicInfoTagLoaderShn.cpp.o CMakeFiles/music_tags.dir/ReplayGain.cpp.o CMakeFiles/music_tags.dir/TagLibVFSStream.cpp.o CMakeFiles/music_tags.dir/TagLoaderTagLib.cpp.o
/usr/bin/ranlib music_tags.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 35%] Built target music_tags
[ 36%] Building CXX object build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicPlaylistEditor.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/windows/CMakeFiles/music_windows.dir/GUIWindowMusicPlaylistEditor.cpp.o -MF CMakeFiles/music_windows.dir/GUIWindowMusicPlaylistEditor.cpp.o.d -o CMakeFiles/music_windows.dir/GUIWindowMusicPlaylistEditor.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows/GUIWindowMusicPlaylistEditor.cpp
make  -f build/peripherals/CMakeFiles/peripherals.dir/build.make build/peripherals/CMakeFiles/peripherals.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/CMakeFiles/peripherals.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/peripherals/CMakeFiles/peripherals.dir/build.make build/peripherals/CMakeFiles/peripherals.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Building CXX object build/peripherals/CMakeFiles/peripherals.dir/EventLockHandle.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/CMakeFiles/peripherals.dir/EventLockHandle.cpp.o -MF CMakeFiles/peripherals.dir/EventLockHandle.cpp.o.d -o CMakeFiles/peripherals.dir/EventLockHandle.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/EventLockHandle.cpp
[ 36%] Building CXX object build/peripherals/CMakeFiles/peripherals.dir/EventPollHandle.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/CMakeFiles/peripherals.dir/EventPollHandle.cpp.o -MF CMakeFiles/peripherals.dir/EventPollHandle.cpp.o.d -o CMakeFiles/peripherals.dir/EventPollHandle.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/EventPollHandle.cpp
[ 36%] Building CXX object build/peripherals/CMakeFiles/peripherals.dir/EventScanner.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/CMakeFiles/peripherals.dir/EventScanner.cpp.o -MF CMakeFiles/peripherals.dir/EventScanner.cpp.o.d -o CMakeFiles/peripherals.dir/EventScanner.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/EventScanner.cpp
[ 36%] Building CXX object build/network/websocket/CMakeFiles/network_websockets.dir/WebSocketManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/websocket/CMakeFiles/network_websockets.dir/WebSocketManager.cpp.o -MF CMakeFiles/network_websockets.dir/WebSocketManager.cpp.o.d -o CMakeFiles/network_websockets.dir/WebSocketManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/websocket/WebSocketManager.cpp
[ 36%] Building CXX object build/network/websocket/CMakeFiles/network_websockets.dir/WebSocketV13.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/websocket/CMakeFiles/network_websockets.dir/WebSocketV13.cpp.o -MF CMakeFiles/network_websockets.dir/WebSocketV13.cpp.o.d -o CMakeFiles/network_websockets.dir/WebSocketV13.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/websocket/WebSocketV13.cpp
[ 36%] Building CXX object build/peripherals/CMakeFiles/peripherals.dir/Peripherals.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/CMakeFiles/peripherals.dir/Peripherals.cpp.o -MF CMakeFiles/peripherals.dir/Peripherals.cpp.o.d -o CMakeFiles/peripherals.dir/Peripherals.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/Peripherals.cpp
[ 36%] Building CXX object build/network/CMakeFiles/network.dir/Network.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/Network.cpp.o -MF CMakeFiles/network.dir/Network.cpp.o.d -o CMakeFiles/network.dir/Network.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/Network.cpp
[ 36%] Building CXX object build/music/windows/CMakeFiles/music_windows.dir/GUIWindowVisualisation.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/windows/CMakeFiles/music_windows.dir/GUIWindowVisualisation.cpp.o -MF CMakeFiles/music_windows.dir/GUIWindowVisualisation.cpp.o.d -o CMakeFiles/music_windows.dir/GUIWindowVisualisation.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows/GUIWindowVisualisation.cpp
[ 36%] Building CXX object build/network/websocket/CMakeFiles/network_websockets.dir/WebSocketV8.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/websocket/CMakeFiles/network_websockets.dir/WebSocketV8.cpp.o -MF CMakeFiles/network_websockets.dir/WebSocketV8.cpp.o.d -o CMakeFiles/network_websockets.dir/WebSocketV8.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/websocket/WebSocketV8.cpp
[ 36%] Building CXX object build/network/CMakeFiles/network.dir/NetworkServices.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/NetworkServices.cpp.o -MF CMakeFiles/network.dir/NetworkServices.cpp.o.d -o CMakeFiles/network.dir/NetworkServices.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/NetworkServices.cpp
[ 36%] Linking CXX static library network_websockets.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket && /usr/bin/cmake -P CMakeFiles/network_websockets.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network/websocket && /usr/bin/cmake -E cmake_link_script CMakeFiles/network_websockets.dir/link.txt --verbose=1
/usr/bin/ar qc network_websockets.a CMakeFiles/network_websockets.dir/WebSocket.cpp.o CMakeFiles/network_websockets.dir/WebSocketManager.cpp.o CMakeFiles/network_websockets.dir/WebSocketV13.cpp.o CMakeFiles/network_websockets.dir/WebSocketV8.cpp.o
/usr/bin/ranlib network_websockets.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Built target network_websockets
make  -f build/peripherals/addons/CMakeFiles/peripherals_addons.dir/build.make build/peripherals/addons/CMakeFiles/peripherals_addons.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons/CMakeFiles/peripherals_addons.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/peripherals/addons/CMakeFiles/peripherals_addons.dir/build.make build/peripherals/addons/CMakeFiles/peripherals_addons.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Building CXX object build/peripherals/addons/CMakeFiles/peripherals_addons.dir/AddonButtonMap.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/addons/CMakeFiles/peripherals_addons.dir/AddonButtonMap.cpp.o -MF CMakeFiles/peripherals_addons.dir/AddonButtonMap.cpp.o.d -o CMakeFiles/peripherals_addons.dir/AddonButtonMap.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/addons/AddonButtonMap.cpp
[ 36%] Building CXX object build/music/windows/CMakeFiles/music_windows.dir/MusicFileItemListModifier.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/music/windows/CMakeFiles/music_windows.dir/MusicFileItemListModifier.cpp.o -MF CMakeFiles/music_windows.dir/MusicFileItemListModifier.cpp.o.d -o CMakeFiles/music_windows.dir/MusicFileItemListModifier.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/windows/MusicFileItemListModifier.cpp
[ 36%] Linking CXX static library music_windows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/cmake -P CMakeFiles/music_windows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/music/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/music_windows.dir/link.txt --verbose=1
/usr/bin/ar qc music_windows.a CMakeFiles/music_windows.dir/GUIWindowMusicBase.cpp.o CMakeFiles/music_windows.dir/GUIWindowMusicNav.cpp.o CMakeFiles/music_windows.dir/GUIWindowMusicPlaylist.cpp.o CMakeFiles/music_windows.dir/GUIWindowMusicPlaylistEditor.cpp.o CMakeFiles/music_windows.dir/GUIWindowVisualisation.cpp.o CMakeFiles/music_windows.dir/MusicFileItemListModifier.cpp.o
/usr/bin/ranlib music_windows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Built target music_windows
[ 36%] Building CXX object build/peripherals/addons/CMakeFiles/peripherals_addons.dir/AddonButtonMapping.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/addons/CMakeFiles/peripherals_addons.dir/AddonButtonMapping.cpp.o -MF CMakeFiles/peripherals_addons.dir/AddonButtonMapping.cpp.o.d -o CMakeFiles/peripherals_addons.dir/AddonButtonMapping.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/addons/AddonButtonMapping.cpp
make  -f build/peripherals/bus/CMakeFiles/peripherals_bus.dir/build.make build/peripherals/bus/CMakeFiles/peripherals_bus.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/CMakeFiles/peripherals_bus.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/peripherals/bus/CMakeFiles/peripherals_bus.dir/build.make build/peripherals/bus/CMakeFiles/peripherals_bus.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Building CXX object build/peripherals/bus/CMakeFiles/peripherals_bus.dir/PeripheralBus.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/bus/CMakeFiles/peripherals_bus.dir/PeripheralBus.cpp.o -MF CMakeFiles/peripherals_bus.dir/PeripheralBus.cpp.o.d -o CMakeFiles/peripherals_bus.dir/PeripheralBus.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus/PeripheralBus.cpp
[ 36%] Linking CXX static library peripherals.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals && /usr/bin/cmake -P CMakeFiles/peripherals.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals && /usr/bin/cmake -E cmake_link_script CMakeFiles/peripherals.dir/link.txt --verbose=1
/usr/bin/ar qc peripherals.a CMakeFiles/peripherals.dir/EventLockHandle.cpp.o CMakeFiles/peripherals.dir/EventPollHandle.cpp.o CMakeFiles/peripherals.dir/EventScanner.cpp.o CMakeFiles/peripherals.dir/Peripherals.cpp.o
/usr/bin/ranlib peripherals.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Built target peripherals
[ 36%] Building CXX object build/peripherals/addons/CMakeFiles/peripherals_addons.dir/AddonInputHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/addons/CMakeFiles/peripherals_addons.dir/AddonInputHandling.cpp.o -MF CMakeFiles/peripherals_addons.dir/AddonInputHandling.cpp.o.d -o CMakeFiles/peripherals_addons.dir/AddonInputHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/addons/AddonInputHandling.cpp
make  -f build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/build.make build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus/virtual /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/virtual /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/build.make build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Building CXX object build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusAddon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/virtual && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusAddon.cpp.o -MF CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusAddon.cpp.o.d -o CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusAddon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp
[ 36%] Building CXX object build/network/CMakeFiles/network.dir/Socket.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/Socket.cpp.o -MF CMakeFiles/network.dir/Socket.cpp.o.d -o CMakeFiles/network.dir/Socket.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/Socket.cpp
[ 36%] Linking CXX static library peripherals_bus.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus && /usr/bin/cmake -P CMakeFiles/peripherals_bus.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus && /usr/bin/cmake -E cmake_link_script CMakeFiles/peripherals_bus.dir/link.txt --verbose=1
/usr/bin/ar qc peripherals_bus.a CMakeFiles/peripherals_bus.dir/PeripheralBus.cpp.o
/usr/bin/ranlib peripherals_bus.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 36%] Built target peripherals_bus
[ 36%] Building CXX object build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusApplication.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/virtual && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusApplication.cpp.o -MF CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusApplication.cpp.o.d -o CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusApplication.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus/virtual/PeripheralBusApplication.cpp
[ 36%] Building CXX object build/network/CMakeFiles/network.dir/TCPServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/TCPServer.cpp.o -MF CMakeFiles/network.dir/TCPServer.cpp.o.d -o CMakeFiles/network.dir/TCPServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/TCPServer.cpp
[ 36%] Building CXX object build/peripherals/addons/CMakeFiles/peripherals_addons.dir/PeripheralAddon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/addons/CMakeFiles/peripherals_addons.dir/PeripheralAddon.cpp.o -MF CMakeFiles/peripherals_addons.dir/PeripheralAddon.cpp.o.d -o CMakeFiles/peripherals_addons.dir/PeripheralAddon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/addons/PeripheralAddon.cpp
[ 37%] Building CXX object build/peripherals/addons/CMakeFiles/peripherals_addons.dir/PeripheralAddonTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/addons/CMakeFiles/peripherals_addons.dir/PeripheralAddonTranslator.cpp.o -MF CMakeFiles/peripherals_addons.dir/PeripheralAddonTranslator.cpp.o.d -o CMakeFiles/peripherals_addons.dir/PeripheralAddonTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/addons/PeripheralAddonTranslator.cpp
[ 37%] Building CXX object build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusCEC.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/virtual && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/bus/virtual/CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusCEC.cpp.o -MF CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusCEC.cpp.o.d -o CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusCEC.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
[ 37%] Building CXX object build/network/CMakeFiles/network.dir/UdpClient.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/UdpClient.cpp.o -MF CMakeFiles/network.dir/UdpClient.cpp.o.d -o CMakeFiles/network.dir/UdpClient.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/UdpClient.cpp
[ 37%] Building CXX object build/network/CMakeFiles/network.dir/WakeOnAccess.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/WakeOnAccess.cpp.o -MF CMakeFiles/network.dir/WakeOnAccess.cpp.o.d -o CMakeFiles/network.dir/WakeOnAccess.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.cpp
[ 37%] Linking CXX static library peripheral_bus_virtual.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/virtual && /usr/bin/cmake -P CMakeFiles/peripheral_bus_virtual.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/bus/virtual && /usr/bin/cmake -E cmake_link_script CMakeFiles/peripheral_bus_virtual.dir/link.txt --verbose=1
/usr/bin/ar qc peripheral_bus_virtual.a CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusAddon.cpp.o CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusApplication.cpp.o CMakeFiles/peripheral_bus_virtual.dir/PeripheralBusCEC.cpp.o
/usr/bin/ranlib peripheral_bus_virtual.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 37%] Built target peripheral_bus_virtual
make  -f build/peripherals/devices/CMakeFiles/peripherals_devices.dir/build.make build/peripherals/devices/CMakeFiles/peripherals_devices.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices/CMakeFiles/peripherals_devices.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/peripherals/devices/CMakeFiles/peripherals_devices.dir/build.make build/peripherals/devices/CMakeFiles/peripherals_devices.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 37%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/Peripheral.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/Peripheral.cpp.o -MF CMakeFiles/peripherals_devices.dir/Peripheral.cpp.o.d -o CMakeFiles/peripherals_devices.dir/Peripheral.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/Peripheral.cpp
make  -f build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/build.make build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/build.make build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 37%] Building CXX object build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripherals.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripherals.cpp.o -MF CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripherals.cpp.o.d -o CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripherals.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/dialogs/GUIDialogPeripherals.cpp
[ 37%] Linking CXX static library peripherals_addons.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons && /usr/bin/cmake -P CMakeFiles/peripherals_addons.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/addons && /usr/bin/cmake -E cmake_link_script CMakeFiles/peripherals_addons.dir/link.txt --verbose=1
/usr/bin/ar qc peripherals_addons.a CMakeFiles/peripherals_addons.dir/AddonButtonMap.cpp.o CMakeFiles/peripherals_addons.dir/AddonButtonMapping.cpp.o CMakeFiles/peripherals_addons.dir/AddonInputHandling.cpp.o CMakeFiles/peripherals_addons.dir/PeripheralAddon.cpp.o CMakeFiles/peripherals_addons.dir/PeripheralAddonTranslator.cpp.o
/usr/bin/ranlib peripherals_addons.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 37%] Built target peripherals_addons
[ 37%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralBluetooth.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralBluetooth.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralBluetooth.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralBluetooth.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralBluetooth.cpp
make  -f build/profiles/CMakeFiles/profiles.dir/build.make build/profiles/CMakeFiles/profiles.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/CMakeFiles/profiles.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/profiles/CMakeFiles/profiles.dir/build.make build/profiles/CMakeFiles/profiles.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 37%] Building CXX object build/profiles/CMakeFiles/profiles.dir/Profile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/profiles/CMakeFiles/profiles.dir/Profile.cpp.o -MF CMakeFiles/profiles.dir/Profile.cpp.o.d -o CMakeFiles/profiles.dir/Profile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/Profile.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/UrlOptions.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/URL.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const UPnPServer&}; _Tp = UPnPServer; _Alloc = std::allocator<UPnPServer>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<UPnPServer>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = UPnPServer; _Alloc = std::allocator<UPnPServer>]',
    inlined from 'void AddOrUpdateUPnPServer(std::vector<UPnPServer>&, const UPnPServer&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.cpp:120:18,
    inlined from 'void AddMatchingUPnPServers(std::vector<UPnPServer>&, const std::string&, const std::string&, const CDateTimeSpan&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.cpp:148:30:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<UPnPServer*, std::vector<UPnPServer> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CWakeOnAccess::WakeUpEntry&}; _Tp = CWakeOnAccess::WakeUpEntry; _Alloc = std::allocator<CWakeOnAccess::WakeUpEntry>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CWakeOnAccess::WakeUpEntry>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
[ 37%] Building CXX object build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripheralSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/dialogs/CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripheralSettings.cpp.o -MF CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripheralSettings.cpp.o.d -o CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripheralSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CWakeOnAccess::WakeUpEntry; _Alloc = std::allocator<CWakeOnAccess::WakeUpEntry>]',
    inlined from 'void CWakeOnAccess::LoadFromXML()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.cpp:881:26:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CWakeOnAccess::WakeUpEntry*, std::vector<CWakeOnAccess::WakeUpEntry> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = UPnPServer; _Alloc = std::allocator<UPnPServer>]',
    inlined from 'void CWakeOnAccess::LoadFromXML()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.cpp:909:30:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<UPnPServer*, std::vector<UPnPServer> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 37%] Building CXX object build/profiles/CMakeFiles/profiles.dir/ProfileManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/profiles/CMakeFiles/profiles.dir/ProfileManager.cpp.o -MF CMakeFiles/profiles.dir/ProfileManager.cpp.o.d -o CMakeFiles/profiles.dir/ProfileManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/ProfileManager.cpp
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CWakeOnAccess::WakeUpEntry; _Alloc = std::allocator<CWakeOnAccess::WakeUpEntry>]',
    inlined from 'void CWakeOnAccess::SaveMACDiscoveryResult(const std::string&, const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WakeOnAccess.cpp:731:22:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CWakeOnAccess::WakeUpEntry*, std::vector<CWakeOnAccess::WakeUpEntry> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 37%] Building CXX object build/network/CMakeFiles/network.dir/ZeroconfBrowser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/ZeroconfBrowser.cpp.o -MF CMakeFiles/network.dir/ZeroconfBrowser.cpp.o.d -o CMakeFiles/network.dir/ZeroconfBrowser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/ZeroconfBrowser.cpp
[ 37%] Building CXX object build/network/CMakeFiles/network.dir/Zeroconf.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/Zeroconf.cpp.o -MF CMakeFiles/network.dir/Zeroconf.cpp.o.d -o CMakeFiles/network.dir/Zeroconf.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/Zeroconf.cpp
[ 37%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralDisk.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralDisk.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralDisk.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralDisk.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralDisk.cpp
[ 38%] Linking CXX static library peripherals_dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/dialogs && /usr/bin/cmake -P CMakeFiles/peripherals_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/peripherals_dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc peripherals_dialogs.a CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripherals.cpp.o CMakeFiles/peripherals_dialogs.dir/GUIDialogPeripheralSettings.cpp.o
/usr/bin/ranlib peripherals_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 38%] Built target peripherals_dialogs
[ 38%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralHID.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralHID.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralHID.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralHID.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralHID.cpp
[ 39%] Building CXX object build/network/CMakeFiles/network.dir/cddb.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/cddb.cpp.o -MF CMakeFiles/network.dir/cddb.cpp.o.d -o CMakeFiles/network.dir/cddb.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/cddb.cpp
make  -f build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/build.make build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/build.make build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 39%] Building CXX object build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/GUIDialogLockSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/GUIDialogLockSettings.cpp.o -MF CMakeFiles/profiles_dialogs.dir/GUIDialogLockSettings.cpp.o.d -o CMakeFiles/profiles_dialogs.dir/GUIDialogLockSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/dialogs/GUIDialogLockSettings.cpp
[ 39%] Linking CXX static library profiles.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles && /usr/bin/cmake -P CMakeFiles/profiles.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles && /usr/bin/cmake -E cmake_link_script CMakeFiles/profiles.dir/link.txt --verbose=1
/usr/bin/ar qc profiles.a CMakeFiles/profiles.dir/Profile.cpp.o CMakeFiles/profiles.dir/ProfileManager.cpp.o
/usr/bin/ranlib profiles.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 39%] Built target profiles
[ 39%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralImon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralImon.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralImon.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralImon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralImon.cpp
make  -f build/profiles/windows/CMakeFiles/profiles_windows.dir/build.make build/profiles/windows/CMakeFiles/profiles_windows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/windows/CMakeFiles/profiles_windows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/profiles/windows/CMakeFiles/profiles_windows.dir/build.make build/profiles/windows/CMakeFiles/profiles_windows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 39%] Building CXX object build/profiles/windows/CMakeFiles/profiles_windows.dir/GUIWindowSettingsProfile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/profiles/windows/CMakeFiles/profiles_windows.dir/GUIWindowSettingsProfile.cpp.o -MF CMakeFiles/profiles_windows.dir/GUIWindowSettingsProfile.cpp.o.d -o CMakeFiles/profiles_windows.dir/GUIWindowSettingsProfile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/windows/GUIWindowSettingsProfile.cpp
[ 39%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralJoystick.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralJoystick.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralJoystick.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralJoystick.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralJoystick.cpp
[ 39%] Linking CXX static library profiles_windows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/windows && /usr/bin/cmake -P CMakeFiles/profiles_windows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/profiles_windows.dir/link.txt --verbose=1
/usr/bin/ar qc profiles_windows.a CMakeFiles/profiles_windows.dir/GUIWindowSettingsProfile.cpp.o
/usr/bin/ranlib profiles_windows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 39%] Built target profiles_windows
[ 39%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralKeyboard.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralKeyboard.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralKeyboard.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralKeyboard.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralKeyboard.cpp
[ 39%] Building CXX object build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/GUIDialogProfileSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/profiles/dialogs/CMakeFiles/profiles_dialogs.dir/GUIDialogProfileSettings.cpp.o -MF CMakeFiles/profiles_dialogs.dir/GUIDialogProfileSettings.cpp.o.d -o CMakeFiles/profiles_dialogs.dir/GUIDialogProfileSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/profiles/dialogs/GUIDialogProfileSettings.cpp
[ 39%] Building CXX object build/network/CMakeFiles/network.dir/AirPlayServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/AirPlayServer.cpp.o -MF CMakeFiles/network.dir/AirPlayServer.cpp.o.d -o CMakeFiles/network.dir/AirPlayServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/AirPlayServer.cpp
make  -f build/pvr/CMakeFiles/pvr.dir/build.make build/pvr/CMakeFiles/pvr.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/CMakeFiles/pvr.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/CMakeFiles/pvr.dir/build.make build/pvr/CMakeFiles/pvr.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 39%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRCachedImage.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRCachedImage.cpp.o -MF CMakeFiles/pvr.dir/PVRCachedImage.cpp.o.d -o CMakeFiles/pvr.dir/PVRCachedImage.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRCachedImage.cpp
[ 39%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralMouse.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralMouse.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralMouse.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralMouse.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralMouse.cpp
[ 39%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRCachedImages.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRCachedImages.cpp.o -MF CMakeFiles/pvr.dir/PVRCachedImages.cpp.o.d -o CMakeFiles/pvr.dir/PVRCachedImages.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRCachedImages.cpp
[ 39%] Linking CXX static library profiles_dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/dialogs && /usr/bin/cmake -P CMakeFiles/profiles_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/profiles/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/profiles_dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc profiles_dialogs.a CMakeFiles/profiles_dialogs.dir/GUIDialogLockSettings.cpp.o CMakeFiles/profiles_dialogs.dir/GUIDialogProfileSettings.cpp.o
/usr/bin/ranlib profiles_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 39%] Built target profiles_dialogs
[ 39%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralNIC.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralNIC.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralNIC.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralNIC.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralNIC.cpp
make  -f build/pvr/addons/CMakeFiles/pvr_addons.dir/build.make build/pvr/addons/CMakeFiles/pvr_addons.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons/CMakeFiles/pvr_addons.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/addons/CMakeFiles/pvr_addons.dir/build.make build/pvr/addons/CMakeFiles/pvr_addons.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 39%] Building CXX object build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClient.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClient.cpp.o -MF CMakeFiles/pvr_addons.dir/PVRClient.cpp.o.d -o CMakeFiles/pvr_addons.dir/PVRClient.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClient.cpp
[ 39%] Building CXX object build/network/CMakeFiles/network.dir/AirTunesServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/AirTunesServer.cpp.o -MF CMakeFiles/network.dir/AirTunesServer.cpp.o.d -o CMakeFiles/network.dir/AirTunesServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/AirTunesServer.cpp
[ 39%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRChannelNumberInputHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRChannelNumberInputHandler.cpp.o -MF CMakeFiles/pvr.dir/PVRChannelNumberInputHandler.cpp.o.d -o CMakeFiles/pvr.dir/PVRChannelNumberInputHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRChannelNumberInputHandler.cpp
[ 39%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralNyxboard.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralNyxboard.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralNyxboard.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralNyxboard.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralNyxboard.cpp
[ 39%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralTuner.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralTuner.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralTuner.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralTuner.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralTuner.cpp
[ 40%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRComponentRegistration.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRComponentRegistration.cpp.o -MF CMakeFiles/pvr.dir/PVRComponentRegistration.cpp.o.d -o CMakeFiles/pvr.dir/PVRComponentRegistration.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRComponentRegistration.cpp
[ 40%] Building CXX object build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralCecAdapter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/peripherals/devices/CMakeFiles/peripherals_devices.dir/PeripheralCecAdapter.cpp.o -MF CMakeFiles/peripherals_devices.dir/PeripheralCecAdapter.cpp.o.d -o CMakeFiles/peripherals_devices.dir/PeripheralCecAdapter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
[ 40%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRContextMenus.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRContextMenus.cpp.o -MF CMakeFiles/pvr.dir/PVRContextMenus.cpp.o.d -o CMakeFiles/pvr.dir/PVRContextMenus.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRContextMenus.cpp
[ 40%] Building CXX object build/network/CMakeFiles/network.dir/WebServer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/c++ -DHAVE_LIBBLUETOOTH=1 -DNPT_CONFIG_ENABLE_LOGGING -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Platinum -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaConnect -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaRenderer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Platinum/Source/Devices/MediaServer -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/Core -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/lib/libUPnP/Neptune/Source/System/Posix -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/network/CMakeFiles/network.dir/WebServer.cpp.o -MF CMakeFiles/network.dir/WebServer.cpp.o.d -o CMakeFiles/network.dir/WebServer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WebServer.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClient.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClient.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {PVR_EDL_ENTRY&}; _Tp = PVR_EDL_ENTRY; _Alloc = std::allocator<PVR_EDL_ENTRY>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<PVR_EDL_ENTRY>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {PVR_EDL_ENTRY&}; _Tp = PVR_EDL_ENTRY; _Alloc = std::allocator<PVR_EDL_ENTRY>]',
    inlined from 'PVR::CPVRClient::GetRecordingEdl(const PVR::CPVRRecording&, std::vector<PVR_EDL_ENTRY>&)::<lambda(const PVR::CPVRClient::AddonInstance*)>' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClient.cpp:996:30:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<PVR_EDL_ENTRY*, std::vector<PVR_EDL_ENTRY> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {PVR_EDL_ENTRY&}; _Tp = PVR_EDL_ENTRY; _Alloc = std::allocator<PVR_EDL_ENTRY>]',
    inlined from 'PVR::CPVRClient::GetEpgTagEdl(const std::shared_ptr<const PVR::CPVREpgInfoTag>&, std::vector<PVR_EDL_ENTRY>&)::<lambda(const PVR::CPVRClient::AddonInstance*)>' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClient.cpp:771:30:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<PVR_EDL_ENTRY*, std::vector<PVR_EDL_ENTRY> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 40%] Building CXX object build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClientCapabilities.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClientCapabilities.cpp.o -MF CMakeFiles/pvr_addons.dir/PVRClientCapabilities.cpp.o.d -o CMakeFiles/pvr_addons.dir/PVRClientCapabilities.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClientCapabilities.cpp
[ 40%] Linking CXX static library peripherals_devices.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/cmake -P CMakeFiles/peripherals_devices.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/peripherals/devices && /usr/bin/cmake -E cmake_link_script CMakeFiles/peripherals_devices.dir/link.txt --verbose=1
/usr/bin/ar qc peripherals_devices.a CMakeFiles/peripherals_devices.dir/Peripheral.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralBluetooth.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralDisk.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralHID.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralImon.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralJoystick.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralKeyboard.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralMouse.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralNIC.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralNyxboard.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralTuner.cpp.o CMakeFiles/peripherals_devices.dir/PeripheralCecAdapter.cpp.o
/usr/bin/ranlib peripherals_devices.a
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HttpRangeUtils.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/httprequesthandler/IHTTPRequestHandler.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WebServer.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WebServer.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CHttpResponseRange&}; _Tp = CHttpResponseRange; _Alloc = std::allocator<CHttpResponseRange>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CHttpResponseRange>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 40%] Built target peripherals_devices
make  -f build/pvr/channels/CMakeFiles/pvr_channels.dir/build.make build/pvr/channels/CMakeFiles/pvr_channels.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels/CMakeFiles/pvr_channels.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/channels/CMakeFiles/pvr_channels.dir/build.make build/pvr/channels/CMakeFiles/pvr_channels.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 40%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannel.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannel.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannel.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannel.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannel.cpp
[ 40%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRDatabase.cpp.o -MF CMakeFiles/pvr.dir/PVRDatabase.cpp.o.d -o CMakeFiles/pvr.dir/PVRDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRDatabase.cpp
[ 40%] Building CXX object build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClientMenuHooks.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClientMenuHooks.cpp.o -MF CMakeFiles/pvr_addons.dir/PVRClientMenuHooks.cpp.o.d -o CMakeFiles/pvr_addons.dir/PVRClientMenuHooks.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClientMenuHooks.cpp
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CHttpResponseRange; _Alloc = std::allocator<CHttpResponseRange>]',
    inlined from 'MHD_RESULT CWebServer::CreateRangedMemoryDownloadResponse(const std::shared_ptr<IHTTPRequestHandler>&, MHD_Response*&) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/WebServer.cpp:706:21:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CHttpResponseRange*, std::vector<CHttpResponseRange> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 40%] Building CXX object build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClientUID.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClientUID.cpp.o -MF CMakeFiles/pvr_addons.dir/PVRClientUID.cpp.o.d -o CMakeFiles/pvr_addons.dir/PVRClientUID.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClientUID.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannel.h:17,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannel.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<Field&&>, std::tuple<>}; _Key = Field; _Val = std::pair<const Field, CVariant>; _KeyOfValue = std::_Select1st<std::pair<const Field, CVariant> >; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRChannel::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannel.cpp:660:30:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRChannel::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannel.cpp:664:29:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRChannel::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannel.cpp:668:27:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
[ 40%] Building CXX object build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClients.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/addons/CMakeFiles/pvr_addons.dir/PVRClients.cpp.o -MF CMakeFiles/pvr_addons.dir/PVRClients.cpp.o.d -o CMakeFiles/pvr_addons.dir/PVRClients.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClients.cpp
[ 40%] Linking CXX static library network.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/cmake -P CMakeFiles/network.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/network && /usr/bin/cmake -E cmake_link_script CMakeFiles/network.dir/link.txt --verbose=1
/usr/bin/ar qc network.a CMakeFiles/network.dir/DNSNameCache.cpp.o CMakeFiles/network.dir/EventClient.cpp.o CMakeFiles/network.dir/EventPacket.cpp.o CMakeFiles/network.dir/EventServer.cpp.o CMakeFiles/network.dir/GUIDialogNetworkSetup.cpp.o CMakeFiles/network.dir/Network.cpp.o CMakeFiles/network.dir/NetworkServices.cpp.o CMakeFiles/network.dir/Socket.cpp.o CMakeFiles/network.dir/TCPServer.cpp.o CMakeFiles/network.dir/UdpClient.cpp.o CMakeFiles/network.dir/WakeOnAccess.cpp.o CMakeFiles/network.dir/ZeroconfBrowser.cpp.o CMakeFiles/network.dir/Zeroconf.cpp.o CMakeFiles/network.dir/cddb.cpp.o CMakeFiles/network.dir/AirPlayServer.cpp.o CMakeFiles/network.dir/AirTunesServer.cpp.o CMakeFiles/network.dir/WebServer.cpp.o
/usr/bin/ranlib network.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 40%] Built target network
make  -f build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/build.make build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/build.make build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 40%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelManager.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelManager.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp
[ 40%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroup.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroup.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelGroup.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelGroup.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroup.cpp
[ 40%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVREdl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVREdl.cpp.o -MF CMakeFiles/pvr.dir/PVREdl.cpp.o.d -o CMakeFiles/pvr.dir/PVREdl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVREdl.cpp
[ 40%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVREventLogJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVREventLogJob.cpp.o -MF CMakeFiles/pvr.dir/PVREventLogJob.cpp.o.d -o CMakeFiles/pvr.dir/PVREventLogJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVREventLogJob.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddonManagerCallback.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClients.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClients.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {CVariant&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CVariant&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::vector<CVariant> PVR::CPVRClients::GetClientProviderInfos() const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClients.cpp:375:39:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CVariant&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::vector<CVariant> PVR::CPVRClients::GetEnabledClientInfos() const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClients.cpp:474:28:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {PVR::SBackend&}; _Tp = PVR::SBackend; _Alloc = std::allocator<PVR::SBackend>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<PVR::SBackend>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {PVR::SBackend&}; _Tp = PVR::SBackend; _Alloc = std::allocator<PVR::SBackend>]',
    inlined from 'PVR::CPVRClients::GetBackendProperties() const::<lambda(const std::shared_ptr<PVR::CPVRClient>&)>' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/addons/PVRClients.cpp:586:35,
    inlined from 'constexpr _Res std::__invoke_impl(__invoke_other, _Fn&&, _Args&& ...) [with _Res = PVR_ERROR; _Fn = PVR::CPVRClients::GetBackendProperties() const::<lambda(const shared_ptr<PVR::CPVRClient>&)>&; _Args = {const shared_ptr<PVR::CPVRClient>&}]' at /usr/include/c++/12/bits/invoke.h:61:36,
    inlined from 'constexpr std::enable_if_t<is_invocable_r_v<_Res, _Callable, _Args ...>, _Res> std::__invoke_r(_Callable&&, _Args&& ...) [with _Res = PVR_ERROR; _Callable = PVR::CPVRClients::GetBackendProperties() const::<lambda(const shared_ptr<PVR::CPVRClient>&)>&; _Args = {const shared_ptr<PVR::CPVRClient>&}]' at /usr/include/c++/12/bits/invoke.h:114:35,
    inlined from 'static _Res std::_Function_handler<_Res(_ArgTypes ...), _Functor>::_M_invoke(const std::_Any_data&, _ArgTypes&& ...) [with _Res = PVR_ERROR; _Functor = PVR::CPVRClients::GetBackendProperties() const::<lambda(const std::shared_ptr<PVR::CPVRClient>&)>; _ArgTypes = {const std::shared_ptr<PVR::CPVRClient>&}]' at /usr/include/c++/12/bits/std_function.h:290:30:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<PVR::SBackend*, std::vector<PVR::SBackend> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 40%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRItem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRItem.cpp.o -MF CMakeFiles/pvr.dir/PVRItem.cpp.o.d -o CMakeFiles/pvr.dir/PVRItem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRItem.cpp
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupInternal.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupInternal.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelGroupInternal.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelGroupInternal.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelsOSD.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelsOSD.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelsOSD.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelsOSD.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp
[ 42%] Linking CXX static library pvr_addons.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons && /usr/bin/cmake -P CMakeFiles/pvr_addons.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/addons && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_addons.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_addons.a CMakeFiles/pvr_addons.dir/PVRClient.cpp.o CMakeFiles/pvr_addons.dir/PVRClientCapabilities.cpp.o CMakeFiles/pvr_addons.dir/PVRClientMenuHooks.cpp.o CMakeFiles/pvr_addons.dir/PVRClientUID.cpp.o CMakeFiles/pvr_addons.dir/PVRClients.cpp.o
/usr/bin/ranlib pvr_addons.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 42%] Built target pvr_addons
make  -f build/pvr/epg/CMakeFiles/pvr_epg.dir/build.make build/pvr/epg/CMakeFiles/pvr_epg.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg/CMakeFiles/pvr_epg.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/epg/CMakeFiles/pvr_epg.dir/build.make build/pvr/epg/CMakeFiles/pvr_epg.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgContainer.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgContainer.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgContainer.cpp
[ 42%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRManager.cpp.o -MF CMakeFiles/pvr.dir/PVRManager.cpp.o.d -o CMakeFiles/pvr.dir/PVRManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRManager.cpp
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupMember.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupMember.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelGroupMember.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelGroupMember.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupMember.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGroupManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGroupManager.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGroupManager.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGroupManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/Epg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/Epg.cpp.o -MF CMakeFiles/pvr_epg.dir/Epg.cpp.o.d -o CMakeFiles/pvr_epg.dir/Epg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/Epg.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupMember.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupMember.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<Field&&>, std::tuple<>}; _Key = Field; _Val = std::pair<const Field, CVariant>; _KeyOfValue = std::_Select1st<std::pair<const Field, CVariant> >; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRChannelGroupMember::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupMember.cpp:55:32:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRChannelGroupMember::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupMember.cpp:60:39:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRChannelGroupMember::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupMember.cpp:62:39:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupSettings.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelGroupSettings.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelGroupSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupSettings.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideInfo.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideInfo.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.cpp
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroups.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroups.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelGroups.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelGroups.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroups.cpp
[ 42%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRPlaybackState.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRPlaybackState.cpp.o -MF CMakeFiles/pvr.dir/PVRPlaybackState.cpp.o.d -o CMakeFiles/pvr.dir/PVRPlaybackState.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRPlaybackState.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgDatabase.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgDatabase.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgDatabase.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelGuide.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelGuide.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelGuide.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelGuide.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRChannelGuide.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideControls.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideControls.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideControls.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideControls.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRGuideControls.cpp
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupsContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelGroupsContainer.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelGroupsContainer.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelGroupsContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelGroupsContainer.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideSearch.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideSearch.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideSearch.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideSearch.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.cpp
[ 42%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRStreamProperties.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRStreamProperties.cpp.o -MF CMakeFiles/pvr.dir/PVRStreamProperties.cpp.o.d -o CMakeFiles/pvr.dir/PVRStreamProperties.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRStreamProperties.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgInfoTag.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgInfoTag.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgInfoTag.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgInfoTag.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgInfoTag.cpp
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelNumber.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelNumber.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelNumber.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelNumber.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelNumber.cpp
[ 42%] Building CXX object build/pvr/CMakeFiles/pvr.dir/PVRThumbLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/CMakeFiles/pvr.dir/PVRThumbLoader.cpp.o -MF CMakeFiles/pvr.dir/PVRThumbLoader.cpp.o.d -o CMakeFiles/pvr.dir/PVRThumbLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/PVRThumbLoader.cpp
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRRadioRDSInfoTag.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRRadioRDSInfoTag.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRRadioRDSInfoTag.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRRadioRDSInfoTag.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRRadioRDSInfoTag.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRadioRDSInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRadioRDSInfo.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRadioRDSInfo.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRadioRDSInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRRadioRDSInfo.cpp
[ 42%] Linking CXX static library pvr.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/cmake -P CMakeFiles/pvr.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr.dir/link.txt --verbose=1
/usr/bin/ar qc pvr.a CMakeFiles/pvr.dir/PVRCachedImage.cpp.o CMakeFiles/pvr.dir/PVRCachedImages.cpp.o CMakeFiles/pvr.dir/PVRChannelNumberInputHandler.cpp.o CMakeFiles/pvr.dir/PVRComponentRegistration.cpp.o CMakeFiles/pvr.dir/PVRContextMenus.cpp.o CMakeFiles/pvr.dir/PVRDatabase.cpp.o CMakeFiles/pvr.dir/PVREdl.cpp.o CMakeFiles/pvr.dir/PVREventLogJob.cpp.o CMakeFiles/pvr.dir/PVRItem.cpp.o CMakeFiles/pvr.dir/PVRManager.cpp.o CMakeFiles/pvr.dir/PVRPlaybackState.cpp.o CMakeFiles/pvr.dir/PVRStreamProperties.cpp.o CMakeFiles/pvr.dir/PVRThumbLoader.cpp.o
/usr/bin/ranlib pvr.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 42%] Built target pvr
make  -f build/pvr/filesystem/CMakeFiles/pvr_filesystem.dir/build.make build/pvr/filesystem/CMakeFiles/pvr_filesystem.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/filesystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/filesystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/filesystem/CMakeFiles/pvr_filesystem.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/filesystem/CMakeFiles/pvr_filesystem.dir/build.make build/pvr/filesystem/CMakeFiles/pvr_filesystem.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 42%] Building CXX object build/pvr/filesystem/CMakeFiles/pvr_filesystem.dir/PVRGUIDirectory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/filesystem && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/filesystem/CMakeFiles/pvr_filesystem.dir/PVRGUIDirectory.cpp.o -MF CMakeFiles/pvr_filesystem.dir/PVRGUIDirectory.cpp.o.d -o CMakeFiles/pvr_filesystem.dir/PVRGUIDirectory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/filesystem/PVRGUIDirectory.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgSearchFilter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgSearchFilter.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgSearchFilter.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgSearchFilter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgSearchFilter.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingInfo.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingInfo.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp
[ 42%] Building CXX object build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelsPath.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/channels/CMakeFiles/pvr_channels.dir/PVRChannelsPath.cpp.o -MF CMakeFiles/pvr_channels.dir/PVRChannelsPath.cpp.o.d -o CMakeFiles/pvr_channels.dir/PVRChannelsPath.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/channels/PVRChannelsPath.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgSearchPath.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgSearchPath.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgSearchPath.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgSearchPath.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgSearchPath.cpp
[ 42%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingSettings.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingSettings.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRRecordingSettings.cpp
[ 42%] Linking CXX static library pvr_channels.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/cmake -P CMakeFiles/pvr_channels.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/channels && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_channels.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_channels.a CMakeFiles/pvr_channels.dir/PVRChannel.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelGroup.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelGroupInternal.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelGroupMember.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelGroupSettings.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelGroups.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelGroupsContainer.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelNumber.cpp.o CMakeFiles/pvr_channels.dir/PVRRadioRDSInfoTag.cpp.o CMakeFiles/pvr_channels.dir/PVRChannelsPath.cpp.o
/usr/bin/ranlib pvr_channels.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 42%] Built target pvr_channels
make  -f build/pvr/guilib/CMakeFiles/pvr_guilib.dir/build.make build/pvr/guilib/CMakeFiles/pvr_guilib.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/CMakeFiles/pvr_guilib.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/guilib/CMakeFiles/pvr_guilib.dir/build.make build/pvr/guilib/CMakeFiles/pvr_guilib.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 42%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/GUIEPGGridContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/GUIEPGGridContainer.cpp.o -MF CMakeFiles/pvr_guilib.dir/GUIEPGGridContainer.cpp.o.d -o CMakeFiles/pvr_guilib.dir/GUIEPGGridContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp
[ 42%] Linking CXX static library pvr_filesystem.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/filesystem && /usr/bin/cmake -P CMakeFiles/pvr_filesystem.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/filesystem && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_filesystem.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_filesystem.a CMakeFiles/pvr_filesystem.dir/PVRGUIDirectory.cpp.o
/usr/bin/ranlib pvr_filesystem.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 42%] Built target pvr_filesystem
[ 42%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/GUIEPGGridContainerModel.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/GUIEPGGridContainerModel.cpp.o -MF CMakeFiles/pvr_guilib.dir/GUIEPGGridContainerModel.cpp.o.d -o CMakeFiles/pvr_guilib.dir/GUIEPGGridContainerModel.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainerModel.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgChannelData.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgChannelData.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgChannelData.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgChannelData.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgChannelData.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgTagsCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgTagsCache.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgTagsCache.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgTagsCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgTagsCache.cpp
[ 42%] Building CXX object build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgTagsContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/epg/CMakeFiles/pvr_epg.dir/EpgTagsContainer.cpp.o -MF CMakeFiles/pvr_epg.dir/EpgTagsContainer.cpp.o.d -o CMakeFiles/pvr_epg.dir/EpgTagsContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/epg/EpgTagsContainer.cpp
[ 43%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRTimerSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRTimerSettings.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRTimerSettings.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRTimerSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp
make  -f build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/build.make build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/guiinfo /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/guiinfo /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/build.make build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 43%] Building CXX object build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUIInfo.cpp.o -MF CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUIInfo.cpp.o.d -o CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h:20,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {}; _Tp = CGUIListItemLayout; _Alloc = std::allocator<CGUIListItemLayout>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CGUIListItemLayout>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = CGUIListItemLayout; _Alloc = std::allocator<CGUIListItemLayout>]',
    inlined from 'void PVR::CGUIEPGGridContainer::LoadLayout(TiXmlElement*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp:1629:34:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CGUIListItemLayout*, std::vector<CGUIListItemLayout> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = CGUIListItemLayout; _Alloc = std::allocator<CGUIListItemLayout>]',
    inlined from 'void PVR::CGUIEPGGridContainer::LoadLayout(TiXmlElement*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp:1636:41:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CGUIListItemLayout*, std::vector<CGUIListItemLayout> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = CGUIListItemLayout; _Alloc = std::allocator<CGUIListItemLayout>]',
    inlined from 'void PVR::CGUIEPGGridContainer::LoadLayout(TiXmlElement*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp:1645:43:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CGUIListItemLayout*, std::vector<CGUIListItemLayout> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = CGUIListItemLayout; _Alloc = std::allocator<CGUIListItemLayout>]',
    inlined from 'void PVR::CGUIEPGGridContainer::LoadLayout(TiXmlElement*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp:1652:36:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CGUIListItemLayout*, std::vector<CGUIListItemLayout> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = CGUIListItemLayout; _Alloc = std::allocator<CGUIListItemLayout>]',
    inlined from 'void PVR::CGUIEPGGridContainer::LoadLayout(TiXmlElement*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp:1661:36:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CGUIListItemLayout*, std::vector<CGUIListItemLayout> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = CGUIListItemLayout; _Alloc = std::allocator<CGUIListItemLayout>]',
    inlined from 'void PVR::CGUIEPGGridContainer::LoadLayout(TiXmlElement*)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/GUIEPGGridContainer.cpp:1670:32:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CGUIListItemLayout*, std::vector<CGUIListItemLayout> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 43%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionListener.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionListener.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionListener.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionListener.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionListener.cpp
[ 43%] Linking CXX static library pvr_epg.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/cmake -P CMakeFiles/pvr_epg.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/epg && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_epg.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_epg.a CMakeFiles/pvr_epg.dir/EpgContainer.cpp.o CMakeFiles/pvr_epg.dir/Epg.cpp.o CMakeFiles/pvr_epg.dir/EpgDatabase.cpp.o CMakeFiles/pvr_epg.dir/EpgInfoTag.cpp.o CMakeFiles/pvr_epg.dir/EpgSearchFilter.cpp.o CMakeFiles/pvr_epg.dir/EpgSearchPath.cpp.o CMakeFiles/pvr_epg.dir/EpgChannelData.cpp.o CMakeFiles/pvr_epg.dir/EpgTagsCache.cpp.o CMakeFiles/pvr_epg.dir/EpgTagsContainer.cpp.o
/usr/bin/ranlib pvr_epg.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 43%] Built target pvr_epg
[ 44%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsChannels.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsChannels.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsChannels.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsChannels.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsChannels.cpp
make  -f build/pvr/providers/CMakeFiles/pvr_providers.dir/build.make build/pvr/providers/CMakeFiles/pvr_providers.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/providers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/providers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/providers/CMakeFiles/pvr_providers.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/providers/CMakeFiles/pvr_providers.dir/build.make build/pvr/providers/CMakeFiles/pvr_providers.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 44%] Building CXX object build/pvr/providers/CMakeFiles/pvr_providers.dir/PVRProvider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/providers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/providers/CMakeFiles/pvr_providers.dir/PVRProvider.cpp.o -MF CMakeFiles/pvr_providers.dir/PVRProvider.cpp.o.d -o CMakeFiles/pvr_providers.dir/PVRProvider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/providers/PVRProvider.cpp
[ 44%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRClientPriorities.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRClientPriorities.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRClientPriorities.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRClientPriorities.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRClientPriorities.cpp
[ 44%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsClients.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsClients.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsClients.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsClients.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsClients.cpp
[ 44%] Building CXX object build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimerInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimerInfo.cpp.o -MF CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimerInfo.cpp.o.d -o CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimerInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/guiinfo/PVRGUITimerInfo.cpp
[ 45%] Building CXX object build/pvr/providers/CMakeFiles/pvr_providers.dir/PVRProviders.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/providers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/providers/CMakeFiles/pvr_providers.dir/PVRProviders.cpp.o -MF CMakeFiles/pvr_providers.dir/PVRProviders.cpp.o.d -o CMakeFiles/pvr_providers.dir/PVRProviders.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/providers/PVRProviders.cpp
[ 45%] Building CXX object build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimesInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/guiinfo/CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimesInfo.cpp.o -MF CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimesInfo.cpp.o.d -o CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimesInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/guiinfo/PVRGUITimesInfo.cpp
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsDatabase.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsDatabase.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsDatabase.cpp
[ 45%] Building CXX object build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRItemsViewBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/dialogs/CMakeFiles/pvr_dialogs.dir/GUIDialogPVRItemsViewBase.cpp.o -MF CMakeFiles/pvr_dialogs.dir/GUIDialogPVRItemsViewBase.cpp.o.d -o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRItemsViewBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/dialogs/GUIDialogPVRItemsViewBase.cpp
[ 45%] Linking CXX static library pvr_providers.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/providers && /usr/bin/cmake -P CMakeFiles/pvr_providers.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/providers && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_providers.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_providers.a CMakeFiles/pvr_providers.dir/PVRProvider.cpp.o CMakeFiles/pvr_providers.dir/PVRProviders.cpp.o
/usr/bin/ranlib pvr_providers.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Built target pvr_providers
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsEPG.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsEPG.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsEPG.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsEPG.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsEPG.cpp
[ 45%] Linking CXX static library pvr_guilib_guiinfo.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/guiinfo && /usr/bin/cmake -P CMakeFiles/pvr_guilib_guiinfo.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib/guiinfo && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_guilib_guiinfo.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_guilib_guiinfo.a CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUIInfo.cpp.o CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimerInfo.cpp.o CMakeFiles/pvr_guilib_guiinfo.dir/PVRGUITimesInfo.cpp.o
/usr/bin/ranlib pvr_guilib_guiinfo.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Built target pvr_guilib_guiinfo
make  -f build/pvr/recordings/CMakeFiles/pvr_recordings.dir/build.make build/pvr/recordings/CMakeFiles/pvr_recordings.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/recordings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/recordings/CMakeFiles/pvr_recordings.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/recordings/CMakeFiles/pvr_recordings.dir/build.make build/pvr/recordings/CMakeFiles/pvr_recordings.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Building CXX object build/pvr/recordings/CMakeFiles/pvr_recordings.dir/PVRRecording.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/recordings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/recordings/CMakeFiles/pvr_recordings.dir/PVRRecording.cpp.o -MF CMakeFiles/pvr_recordings.dir/PVRRecording.cpp.o.d -o CMakeFiles/pvr_recordings.dir/PVRRecording.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecording.cpp
[ 45%] Linking CXX static library pvr_dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/cmake -P CMakeFiles/pvr_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_dialogs.a CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelManager.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelsOSD.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGroupManager.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideInfo.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRChannelGuide.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideControls.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRGuideSearch.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRadioRDSInfo.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingInfo.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRRecordingSettings.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRTimerSettings.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRClientPriorities.cpp.o CMakeFiles/pvr_dialogs.dir/GUIDialogPVRItemsViewBase.cpp.o
/usr/bin/ranlib pvr_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Built target pvr_dialogs
make  -f build/pvr/settings/CMakeFiles/pvr_settings.dir/build.make build/pvr/settings/CMakeFiles/pvr_settings.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/settings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/settings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/settings/CMakeFiles/pvr_settings.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/settings/CMakeFiles/pvr_settings.dir/build.make build/pvr/settings/CMakeFiles/pvr_settings.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Building CXX object build/pvr/settings/CMakeFiles/pvr_settings.dir/PVRSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/settings/CMakeFiles/pvr_settings.dir/PVRSettings.cpp.o -MF CMakeFiles/pvr_settings.dir/PVRSettings.cpp.o.d -o CMakeFiles/pvr_settings.dir/PVRSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/settings/PVRSettings.cpp
[ 45%] Building CXX object build/pvr/recordings/CMakeFiles/pvr_recordings.dir/PVRRecordings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/recordings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/recordings/CMakeFiles/pvr_recordings.dir/PVRRecordings.cpp.o -MF CMakeFiles/pvr_recordings.dir/PVRRecordings.cpp.o.d -o CMakeFiles/pvr_recordings.dir/PVRRecordings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecordings.cpp
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsUtils.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsUtils.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsUtils.cpp
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsParentalControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsParentalControl.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsParentalControl.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsParentalControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsParentalControl.cpp
[ 45%] Linking CXX static library pvr_settings.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/settings && /usr/bin/cmake -P CMakeFiles/pvr_settings.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/settings && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_settings.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_settings.a CMakeFiles/pvr_settings.dir/PVRSettings.cpp.o
/usr/bin/ranlib pvr_settings.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Built target pvr_settings
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsPlayback.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsPlayback.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsPlayback.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsPlayback.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp
make  -f build/pvr/timers/CMakeFiles/pvr_timers.dir/build.make build/pvr/timers/CMakeFiles/pvr_timers.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/timers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers/CMakeFiles/pvr_timers.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/timers/CMakeFiles/pvr_timers.dir/build.make build/pvr/timers/CMakeFiles/pvr_timers.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Building CXX object build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimerInfoTag.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimerInfoTag.cpp.o -MF CMakeFiles/pvr_timers.dir/PVRTimerInfoTag.cpp.o.d -o CMakeFiles/pvr_timers.dir/PVRTimerInfoTag.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/timers/PVRTimerInfoTag.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/VideoInfoTag.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecording.h:17,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecording.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<Field&&>, std::tuple<>}; _Key = Field; _Val = std::pair<const Field, CVariant>; _KeyOfValue = std::_Select1st<std::pair<const Field, CVariant> >; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRRecording::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecording.cpp:257:23:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'virtual void PVR::CPVRRecording::ToSortable(SortItem&, Field) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecording.cpp:259:27:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
[ 45%] Building CXX object build/pvr/recordings/CMakeFiles/pvr_recordings.dir/PVRRecordingsPath.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/recordings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/recordings/CMakeFiles/pvr_recordings.dir/PVRRecordingsPath.cpp.o -MF CMakeFiles/pvr_recordings.dir/PVRRecordingsPath.cpp.o.d -o CMakeFiles/pvr_recordings.dir/PVRRecordingsPath.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/recordings/PVRRecordingsPath.cpp
make  -f build/pvr/windows/CMakeFiles/pvr_windows.dir/build.make build/pvr/windows/CMakeFiles/pvr_windows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows/CMakeFiles/pvr_windows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pvr/windows/CMakeFiles/pvr_windows.dir/build.make build/pvr/windows/CMakeFiles/pvr_windows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIViewStatePVR.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIViewStatePVR.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIViewStatePVR.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIViewStatePVR.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIViewStatePVR.cpp
[ 45%] Linking CXX static library pvr_recordings.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/recordings && /usr/bin/cmake -P CMakeFiles/pvr_recordings.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/recordings && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_recordings.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_recordings.a CMakeFiles/pvr_recordings.dir/PVRRecording.cpp.o CMakeFiles/pvr_recordings.dir/PVRRecordings.cpp.o CMakeFiles/pvr_recordings.dir/PVRRecordingsPath.cpp.o
/usr/bin/ranlib pvr_recordings.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Built target pvr_recordings
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsPowerManagement.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsPowerManagement.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsPowerManagement.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsPowerManagement.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsPowerManagement.cpp
[ 45%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRBase.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRBase.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRBase.cpp
[ 45%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRChannels.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRChannels.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRChannels.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRChannels.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRChannels.cpp
[ 45%] Building CXX object build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimerRuleMatcher.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimerRuleMatcher.cpp.o -MF CMakeFiles/pvr_timers.dir/PVRTimerRuleMatcher.cpp.o.d -o CMakeFiles/pvr_timers.dir/PVRTimerRuleMatcher.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/timers/PVRTimerRuleMatcher.cpp
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsRecordings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsRecordings.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsRecordings.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsRecordings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsRecordings.cpp
[ 45%] Building CXX object build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimers.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimers.cpp.o -MF CMakeFiles/pvr_timers.dir/PVRTimers.cpp.o.d -o CMakeFiles/pvr_timers.dir/PVRTimers.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/timers/PVRTimers.cpp
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsTimers.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIActionsTimers.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIActionsTimers.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIActionsTimers.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIActionsTimers.cpp
[ 45%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRGuide.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRGuide.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRGuide.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRGuide.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRGuide.cpp
[ 45%] Building CXX object build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimersPath.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimersPath.cpp.o -MF CMakeFiles/pvr_timers.dir/PVRTimersPath.cpp.o.d -o CMakeFiles/pvr_timers.dir/PVRTimersPath.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/timers/PVRTimersPath.cpp
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIChannelIconUpdater.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIChannelIconUpdater.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIChannelIconUpdater.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIChannelIconUpdater.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIChannelIconUpdater.cpp
[ 45%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRRecordings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRRecordings.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRRecordings.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRRecordings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
[ 45%] Building CXX object build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimerType.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/timers/CMakeFiles/pvr_timers.dir/PVRTimerType.cpp.o -MF CMakeFiles/pvr_timers.dir/PVRTimerType.cpp.o.d -o CMakeFiles/pvr_timers.dir/PVRTimerType.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/timers/PVRTimerType.cpp
make  -f build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/build.make build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/build.make build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 45%] Building CXX object build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayer.cpp.o -MF CMakeFiles/retroplayer.dir/RetroPlayer.cpp.o.d -o CMakeFiles/retroplayer.dir/RetroPlayer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/RetroPlayer.cpp
[ 45%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIChannelNavigator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIChannelNavigator.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIChannelNavigator.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIChannelNavigator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIChannelNavigator.cpp
[ 46%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRSearch.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRSearch.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRSearch.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRSearch.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRSearch.cpp
[ 46%] Building CXX object build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIProgressHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/guilib/CMakeFiles/pvr_guilib.dir/PVRGUIProgressHandler.cpp.o -MF CMakeFiles/pvr_guilib.dir/PVRGUIProgressHandler.cpp.o.d -o CMakeFiles/pvr_guilib.dir/PVRGUIProgressHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/guilib/PVRGUIProgressHandler.cpp
[ 46%] Linking CXX static library pvr_timers.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers && /usr/bin/cmake -P CMakeFiles/pvr_timers.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/timers && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_timers.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_timers.a CMakeFiles/pvr_timers.dir/PVRTimerInfoTag.cpp.o CMakeFiles/pvr_timers.dir/PVRTimerRuleMatcher.cpp.o CMakeFiles/pvr_timers.dir/PVRTimers.cpp.o CMakeFiles/pvr_timers.dir/PVRTimersPath.cpp.o CMakeFiles/pvr_timers.dir/PVRTimerType.cpp.o
/usr/bin/ranlib pvr_timers.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 46%] Built target pvr_timers
[ 46%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRTimers.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRTimers.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRTimers.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRTimers.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRTimers.cpp
[ 46%] Linking CXX static library pvr_guilib.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/cmake -P CMakeFiles/pvr_guilib.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/guilib && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_guilib.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_guilib.a CMakeFiles/pvr_guilib.dir/GUIEPGGridContainer.cpp.o CMakeFiles/pvr_guilib.dir/GUIEPGGridContainerModel.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionListener.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsChannels.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsClients.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsDatabase.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsEPG.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsUtils.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsParentalControl.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsPlayback.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsPowerManagement.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsRecordings.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIActionsTimers.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIChannelIconUpdater.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIChannelNavigator.cpp.o CMakeFiles/pvr_guilib.dir/PVRGUIProgressHandler.cpp.o
/usr/bin/ranlib pvr_guilib.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 46%] Built target pvr_guilib
[ 46%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRTimersBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRTimersBase.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRTimersBase.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRTimersBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRTimersBase.cpp
make  -f build/cores/RetroPlayer/audio/CMakeFiles/rp_audio.dir/build.make build/cores/RetroPlayer/audio/CMakeFiles/rp_audio.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/audio /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/audio /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/audio/CMakeFiles/rp_audio.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/audio/CMakeFiles/rp_audio.dir/build.make build/cores/RetroPlayer/audio/CMakeFiles/rp_audio.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 46%] Building CXX object build/cores/RetroPlayer/audio/CMakeFiles/rp_audio.dir/AudioTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/audio && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/audio/CMakeFiles/rp_audio.dir/AudioTranslator.cpp.o -MF CMakeFiles/rp_audio.dir/AudioTranslator.cpp.o.d -o CMakeFiles/rp_audio.dir/AudioTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/audio/AudioTranslator.cpp
[ 47%] Linking CXX static library rp_audio.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/audio && /usr/bin/cmake -P CMakeFiles/rp_audio.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/audio && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp_audio.dir/link.txt --verbose=1
/usr/bin/ar qc rp_audio.a CMakeFiles/rp_audio.dir/AudioTranslator.cpp.o
/usr/bin/ranlib rp_audio.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Built target rp_audio
make  -f build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/build.make build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/build.make build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/BaseRenderBuffer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/BaseRenderBuffer.cpp.o -MF CMakeFiles/rp-buffers.dir/BaseRenderBuffer.cpp.o.d -o CMakeFiles/rp-buffers.dir/BaseRenderBuffer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/BaseRenderBuffer.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/BaseRenderBufferPool.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/BaseRenderBufferPool.cpp.o -MF CMakeFiles/rp-buffers.dir/BaseRenderBufferPool.cpp.o.d -o CMakeFiles/rp-buffers.dir/BaseRenderBufferPool.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/BaseRenderBufferPool.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayerAutoSave.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayerAutoSave.cpp.o -MF CMakeFiles/retroplayer.dir/RetroPlayerAutoSave.cpp.o.d -o CMakeFiles/retroplayer.dir/RetroPlayerAutoSave.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/RetroPlayerAutoSave.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayerInput.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayerInput.cpp.o -MF CMakeFiles/retroplayer.dir/RetroPlayerInput.cpp.o.d -o CMakeFiles/retroplayer.dir/RetroPlayerInput.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/RetroPlayerInput.cpp
[ 47%] Building CXX object build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRTimerRules.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pvr/windows/CMakeFiles/pvr_windows.dir/GUIWindowPVRTimerRules.cpp.o -MF CMakeFiles/pvr_windows.dir/GUIWindowPVRTimerRules.cpp.o.d -o CMakeFiles/pvr_windows.dir/GUIWindowPVRTimerRules.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pvr/windows/GUIWindowPVRTimerRules.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferManager.cpp.o -MF CMakeFiles/rp-buffers.dir/RenderBufferManager.cpp.o.d -o CMakeFiles/rp-buffers.dir/RenderBufferManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/RenderBufferManager.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayerUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/CMakeFiles/retroplayer.dir/RetroPlayerUtils.cpp.o -MF CMakeFiles/retroplayer.dir/RetroPlayerUtils.cpp.o.d -o CMakeFiles/retroplayer.dir/RetroPlayerUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/RetroPlayerUtils.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferOpenGLES.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferOpenGLES.cpp.o -MF CMakeFiles/rp-buffers.dir/RenderBufferOpenGLES.cpp.o.d -o CMakeFiles/rp-buffers.dir/RenderBufferOpenGLES.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/RenderBufferOpenGLES.cpp
[ 47%] Linking CXX static library retroplayer.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer && /usr/bin/cmake -P CMakeFiles/retroplayer.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer.a CMakeFiles/retroplayer.dir/RetroPlayer.cpp.o CMakeFiles/retroplayer.dir/RetroPlayerAutoSave.cpp.o CMakeFiles/retroplayer.dir/RetroPlayerInput.cpp.o CMakeFiles/retroplayer.dir/RetroPlayerUtils.cpp.o
/usr/bin/ranlib retroplayer.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Built target retroplayer
make  -f build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/build.make build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/video /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers/video /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/build.make build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/RenderBufferGuiTexture.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers/video && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/RenderBufferGuiTexture.cpp.o -MF CMakeFiles/rp-buffers-video.dir/RenderBufferGuiTexture.cpp.o.d -o CMakeFiles/rp-buffers-video.dir/RenderBufferGuiTexture.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/video/RenderBufferGuiTexture.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGLES.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGLES.cpp.o -MF CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGLES.cpp.o.d -o CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGLES.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/RenderBufferPoolOpenGLES.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferOpenGL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferOpenGL.cpp.o -MF CMakeFiles/rp-buffers.dir/RenderBufferOpenGL.cpp.o.d -o CMakeFiles/rp-buffers.dir/RenderBufferOpenGL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/RenderBufferOpenGL.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/RenderBufferSysMem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers/video && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/video/CMakeFiles/rp-buffers-video.dir/RenderBufferSysMem.cpp.o -MF CMakeFiles/rp-buffers-video.dir/RenderBufferSysMem.cpp.o.d -o CMakeFiles/rp-buffers-video.dir/RenderBufferSysMem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/video/RenderBufferSysMem.cpp
[ 47%] Linking CXX static library pvr_windows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/cmake -P CMakeFiles/pvr_windows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pvr/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/pvr_windows.dir/link.txt --verbose=1
/usr/bin/ar qc pvr_windows.a CMakeFiles/pvr_windows.dir/GUIViewStatePVR.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRBase.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRChannels.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRGuide.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRRecordings.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRSearch.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRTimers.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRTimersBase.cpp.o CMakeFiles/pvr_windows.dir/GUIWindowPVRTimerRules.cpp.o
/usr/bin/ranlib pvr_windows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Built target pvr_windows
make  -f build/cores/RetroPlayer/cheevos/CMakeFiles/retroplayer_cheevos.dir/build.make build/cores/RetroPlayer/cheevos/CMakeFiles/retroplayer_cheevos.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/cheevos /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/cheevos /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/cheevos/CMakeFiles/retroplayer_cheevos.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/cheevos/CMakeFiles/retroplayer_cheevos.dir/build.make build/cores/RetroPlayer/cheevos/CMakeFiles/retroplayer_cheevos.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Building CXX object build/cores/RetroPlayer/cheevos/CMakeFiles/retroplayer_cheevos.dir/Cheevos.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/cheevos && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/cheevos/CMakeFiles/retroplayer_cheevos.dir/Cheevos.cpp.o -MF CMakeFiles/retroplayer_cheevos.dir/Cheevos.cpp.o.d -o CMakeFiles/retroplayer_cheevos.dir/Cheevos.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/cheevos/Cheevos.cpp
[ 47%] Linking CXX static library rp-buffers-video.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers/video && /usr/bin/cmake -P CMakeFiles/rp-buffers-video.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers/video && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-buffers-video.dir/link.txt --verbose=1
/usr/bin/ar qc rp-buffers-video.a "CMakeFiles/rp-buffers-video.dir/RenderBufferGuiTexture.cpp.o" "CMakeFiles/rp-buffers-video.dir/RenderBufferSysMem.cpp.o"
/usr/bin/ranlib rp-buffers-video.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Built target rp-buffers-video
make  -f build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/build.make build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/build.make build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Building CXX object build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameRenderManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameRenderManager.cpp.o -MF CMakeFiles/retroplayer_guibridge.dir/GUIGameRenderManager.cpp.o.d -o CMakeFiles/retroplayer_guibridge.dir/GUIGameRenderManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge/GUIGameRenderManager.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameSettings.cpp.o -MF CMakeFiles/retroplayer_guibridge.dir/GUIGameSettings.cpp.o.d -o CMakeFiles/retroplayer_guibridge.dir/GUIGameSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge/GUIGameSettings.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGL.cpp.o -MF CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGL.cpp.o.d -o CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/RenderBufferPoolOpenGL.cpp
make  -f build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/build.make build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guicontrols /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guicontrols /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/build.make build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Building CXX object build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/GUIGameControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/GUIGameControl.cpp.o -MF CMakeFiles/retroplayer_guicontrols.dir/GUIGameControl.cpp.o.d -o CMakeFiles/retroplayer_guicontrols.dir/GUIGameControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guicontrols/GUIGameControl.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferDMA.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferDMA.cpp.o -MF CMakeFiles/rp-buffers.dir/RenderBufferDMA.cpp.o.d -o CMakeFiles/rp-buffers.dir/RenderBufferDMA.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/RenderBufferDMA.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameSettingsHandle.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameSettingsHandle.cpp.o -MF CMakeFiles/retroplayer_guibridge.dir/GUIGameSettingsHandle.cpp.o.d -o CMakeFiles/retroplayer_guibridge.dir/GUIGameSettingsHandle.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge/GUIGameSettingsHandle.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameVideoHandle.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIGameVideoHandle.cpp.o -MF CMakeFiles/retroplayer_guibridge.dir/GUIGameVideoHandle.cpp.o.d -o CMakeFiles/retroplayer_guibridge.dir/GUIGameVideoHandle.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge/GUIGameVideoHandle.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIRenderHandle.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIRenderHandle.cpp.o -MF CMakeFiles/retroplayer_guibridge.dir/GUIRenderHandle.cpp.o.d -o CMakeFiles/retroplayer_guibridge.dir/GUIRenderHandle.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge/GUIRenderHandle.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferPoolDMA.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/buffers/CMakeFiles/rp-buffers.dir/RenderBufferPoolDMA.cpp.o -MF CMakeFiles/rp-buffers.dir/RenderBufferPoolDMA.cpp.o.d -o CMakeFiles/rp-buffers.dir/RenderBufferPoolDMA.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/buffers/RenderBufferPoolDMA.cpp
[ 47%] Linking CXX static library retroplayer_cheevos.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/cheevos && /usr/bin/cmake -P CMakeFiles/retroplayer_cheevos.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/cheevos && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_cheevos.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_cheevos.a CMakeFiles/retroplayer_cheevos.dir/Cheevos.cpp.o
/usr/bin/ranlib retroplayer_cheevos.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Built target retroplayer_cheevos
[ 47%] Building CXX object build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/GUIRenderSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guicontrols && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guicontrols/CMakeFiles/retroplayer_guicontrols.dir/GUIRenderSettings.cpp.o -MF CMakeFiles/retroplayer_guicontrols.dir/GUIRenderSettings.cpp.o.d -o CMakeFiles/retroplayer_guicontrols.dir/GUIRenderSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guicontrols/GUIRenderSettings.cpp
[ 47%] Building CXX object build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIRenderTarget.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIRenderTarget.cpp.o -MF CMakeFiles/retroplayer_guibridge.dir/GUIRenderTarget.cpp.o.d -o CMakeFiles/retroplayer_guibridge.dir/GUIRenderTarget.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge/GUIRenderTarget.cpp
make  -f build/cores/RetroPlayer/guiplayback/CMakeFiles/retroplayer_guiplayback.dir/build.make build/cores/RetroPlayer/guiplayback/CMakeFiles/retroplayer_guiplayback.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guiplayback /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiplayback /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiplayback/CMakeFiles/retroplayer_guiplayback.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/guiplayback/CMakeFiles/retroplayer_guiplayback.dir/build.make build/cores/RetroPlayer/guiplayback/CMakeFiles/retroplayer_guiplayback.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Building CXX object build/cores/RetroPlayer/guiplayback/CMakeFiles/retroplayer_guiplayback.dir/GUIPlaybackControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiplayback && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guiplayback/CMakeFiles/retroplayer_guiplayback.dir/GUIPlaybackControl.cpp.o -MF CMakeFiles/retroplayer_guiplayback.dir/GUIPlaybackControl.cpp.o.d -o CMakeFiles/retroplayer_guiplayback.dir/GUIPlaybackControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guiplayback/GUIPlaybackControl.cpp
[ 47%] Linking CXX static library rp-buffers.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/cmake -P CMakeFiles/rp-buffers.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/buffers && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-buffers.dir/link.txt --verbose=1
/usr/bin/ar qc rp-buffers.a "CMakeFiles/rp-buffers.dir/BaseRenderBuffer.cpp.o" "CMakeFiles/rp-buffers.dir/BaseRenderBufferPool.cpp.o" "CMakeFiles/rp-buffers.dir/RenderBufferManager.cpp.o" "CMakeFiles/rp-buffers.dir/RenderBufferOpenGLES.cpp.o" "CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGLES.cpp.o" "CMakeFiles/rp-buffers.dir/RenderBufferOpenGL.cpp.o" "CMakeFiles/rp-buffers.dir/RenderBufferPoolOpenGL.cpp.o" "CMakeFiles/rp-buffers.dir/RenderBufferDMA.cpp.o" "CMakeFiles/rp-buffers.dir/RenderBufferPoolDMA.cpp.o"
/usr/bin/ranlib rp-buffers.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Built target rp-buffers
make  -f build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/build.make build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guiwindows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiwindows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/build.make build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 47%] Building CXX object build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreen.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiwindows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreen.cpp.o -MF CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreen.cpp.o.d -o CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreen.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guiwindows/GameWindowFullScreen.cpp
[ 48%] Linking CXX static library retroplayer_guicontrols.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guicontrols && /usr/bin/cmake -P CMakeFiles/retroplayer_guicontrols.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guicontrols && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_guicontrols.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_guicontrols.a CMakeFiles/retroplayer_guicontrols.dir/GUIGameControl.cpp.o CMakeFiles/retroplayer_guicontrols.dir/GUIRenderSettings.cpp.o
/usr/bin/ranlib retroplayer_guicontrols.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Built target retroplayer_guicontrols
[ 48%] Building CXX object build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreenText.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiwindows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guiwindows/CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreenText.cpp.o -MF CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreenText.cpp.o.d -o CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreenText.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guiwindows/GameWindowFullScreenText.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIRenderTargetFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/guibridge/CMakeFiles/retroplayer_guibridge.dir/GUIRenderTargetFactory.cpp.o -MF CMakeFiles/retroplayer_guibridge.dir/GUIRenderTargetFactory.cpp.o.d -o CMakeFiles/retroplayer_guibridge.dir/GUIRenderTargetFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/guibridge/GUIRenderTargetFactory.cpp
[ 48%] Linking CXX static library retroplayer_guibridge.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/cmake -P CMakeFiles/retroplayer_guibridge.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guibridge && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_guibridge.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_guibridge.a CMakeFiles/retroplayer_guibridge.dir/GUIGameRenderManager.cpp.o CMakeFiles/retroplayer_guibridge.dir/GUIGameSettings.cpp.o CMakeFiles/retroplayer_guibridge.dir/GUIGameSettingsHandle.cpp.o CMakeFiles/retroplayer_guibridge.dir/GUIGameVideoHandle.cpp.o CMakeFiles/retroplayer_guibridge.dir/GUIRenderHandle.cpp.o CMakeFiles/retroplayer_guibridge.dir/GUIRenderTarget.cpp.o CMakeFiles/retroplayer_guibridge.dir/GUIRenderTargetFactory.cpp.o
/usr/bin/ranlib retroplayer_guibridge.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Built target retroplayer_guibridge
make  -f build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/build.make build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/playback /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/playback /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/build.make build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Building CXX object build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/GameLoop.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/playback && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/GameLoop.cpp.o -MF CMakeFiles/retroplayer_playback.dir/GameLoop.cpp.o.d -o CMakeFiles/retroplayer_playback.dir/GameLoop.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/playback/GameLoop.cpp
[ 48%] Linking CXX static library retroplayer_guiplayback.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiplayback && /usr/bin/cmake -P CMakeFiles/retroplayer_guiplayback.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiplayback && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_guiplayback.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_guiplayback.a CMakeFiles/retroplayer_guiplayback.dir/GUIPlaybackControl.cpp.o
/usr/bin/ranlib retroplayer_guiplayback.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Built target retroplayer_guiplayback
make  -f build/cores/RetroPlayer/process/CMakeFiles/rp-process.dir/build.make build/cores/RetroPlayer/process/CMakeFiles/rp-process.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process/CMakeFiles/rp-process.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/process/CMakeFiles/rp-process.dir/build.make build/cores/RetroPlayer/process/CMakeFiles/rp-process.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Building CXX object build/cores/RetroPlayer/process/CMakeFiles/rp-process.dir/RPProcessInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/process/CMakeFiles/rp-process.dir/RPProcessInfo.cpp.o -MF CMakeFiles/rp-process.dir/RPProcessInfo.cpp.o.d -o CMakeFiles/rp-process.dir/RPProcessInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/process/RPProcessInfo.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/ReversiblePlayback.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/playback && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/playback/CMakeFiles/retroplayer_playback.dir/ReversiblePlayback.cpp.o -MF CMakeFiles/retroplayer_playback.dir/ReversiblePlayback.cpp.o.d -o CMakeFiles/retroplayer_playback.dir/ReversiblePlayback.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/playback/ReversiblePlayback.cpp
make  -f build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/build.make build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/build.make build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderContext.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderContext.cpp.o -MF CMakeFiles/rp-rendering.dir/RenderContext.cpp.o.d -o CMakeFiles/rp-rendering.dir/RenderContext.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/RenderContext.cpp
[ 48%] Linking CXX static library retroplayer_guiwindows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiwindows && /usr/bin/cmake -P CMakeFiles/retroplayer_guiwindows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/guiwindows && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_guiwindows.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_guiwindows.a CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreen.cpp.o CMakeFiles/retroplayer_guiwindows.dir/GameWindowFullScreenText.cpp.o
/usr/bin/ranlib retroplayer_guiwindows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Built target retroplayer_guiwindows
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderSettings.cpp.o -MF CMakeFiles/rp-rendering.dir/RenderSettings.cpp.o.d -o CMakeFiles/rp-rendering.dir/RenderSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/RenderSettings.cpp
make  -f build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/build.make build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoRenderers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/build.make build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPBaseRenderer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPBaseRenderer.cpp.o -MF CMakeFiles/rp-videorenderers.dir/RPBaseRenderer.cpp.o.d -o CMakeFiles/rp-videorenderers.dir/RPBaseRenderer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoRenderers/RPBaseRenderer.cpp
[ 48%] Linking CXX static library rp-process.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process && /usr/bin/cmake -P CMakeFiles/rp-process.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/process && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-process.dir/link.txt --verbose=1
/usr/bin/ar qc rp-process.a "CMakeFiles/rp-process.dir/RPProcessInfo.cpp.o"
/usr/bin/ranlib rp-process.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Built target rp-process
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererGuiTexture.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererGuiTexture.cpp.o -MF CMakeFiles/rp-videorenderers.dir/RPRendererGuiTexture.cpp.o.d -o CMakeFiles/rp-videorenderers.dir/RPRendererGuiTexture.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoRenderers/RPRendererGuiTexture.cpp
make  -f build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/build.make build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/savestates /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/savestates /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/build.make build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Building CXX object build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/savestates && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateDatabase.cpp.o -MF CMakeFiles/retroplayer_savestates.dir/SavestateDatabase.cpp.o.d -o CMakeFiles/retroplayer_savestates.dir/SavestateDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/savestates/SavestateDatabase.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderTranslator.cpp.o -MF CMakeFiles/rp-rendering.dir/RenderTranslator.cpp.o.d -o CMakeFiles/rp-rendering.dir/RenderTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/RenderTranslator.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderUtils.cpp.o -MF CMakeFiles/rp-rendering.dir/RenderUtils.cpp.o.d -o CMakeFiles/rp-rendering.dir/RenderUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/RenderUtils.cpp
[ 48%] Linking CXX static library retroplayer_playback.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/playback && /usr/bin/cmake -P CMakeFiles/retroplayer_playback.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/playback && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_playback.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_playback.a CMakeFiles/retroplayer_playback.dir/GameLoop.cpp.o CMakeFiles/retroplayer_playback.dir/ReversiblePlayback.cpp.o
/usr/bin/ranlib retroplayer_playback.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Built target retroplayer_playback
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderVideoSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RenderVideoSettings.cpp.o -MF CMakeFiles/rp-rendering.dir/RenderVideoSettings.cpp.o.d -o CMakeFiles/rp-rendering.dir/RenderVideoSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/RenderVideoSettings.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererOpenGLES.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererOpenGLES.cpp.o -MF CMakeFiles/rp-videorenderers.dir/RPRendererOpenGLES.cpp.o.d -o CMakeFiles/rp-videorenderers.dir/RPRendererOpenGLES.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoRenderers/RPRendererOpenGLES.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RPRenderManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/CMakeFiles/rp-rendering.dir/RPRenderManager.cpp.o -MF CMakeFiles/rp-rendering.dir/RPRenderManager.cpp.o.d -o CMakeFiles/rp-rendering.dir/RPRenderManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/RPRenderManager.cpp
make  -f build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/build.make build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/build.make build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 48%] Building CXX object build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RetroPlayerAudio.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RetroPlayerAudio.cpp.o -MF CMakeFiles/retroplayer_streams.dir/RetroPlayerAudio.cpp.o.d -o CMakeFiles/retroplayer_streams.dir/RetroPlayerAudio.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/RetroPlayerAudio.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/savestates && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o -MF CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o.d -o CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/savestates/SavestateFlatBuffer.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererOpenGL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererOpenGL.cpp.o -MF CMakeFiles/rp-videorenderers.dir/RPRendererOpenGL.cpp.o.d -o CMakeFiles/rp-videorenderers.dir/RPRendererOpenGL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoRenderers/RPRendererOpenGL.cpp
[ 48%] Building CXX object build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RetroPlayerStreamTypes.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RetroPlayerStreamTypes.cpp.o -MF CMakeFiles/retroplayer_streams.dir/RetroPlayerStreamTypes.cpp.o.d -o CMakeFiles/retroplayer_streams.dir/RetroPlayerStreamTypes.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/RetroPlayerStreamTypes.cpp
[ 50%] Building CXX object build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RetroPlayerVideo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RetroPlayerVideo.cpp.o -MF CMakeFiles/retroplayer_streams.dir/RetroPlayerVideo.cpp.o.d -o CMakeFiles/retroplayer_streams.dir/RetroPlayerVideo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/RetroPlayerVideo.cpp
[ 50%] Linking CXX static library rp-rendering.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/cmake -P CMakeFiles/rp-rendering.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-rendering.dir/link.txt --verbose=1
/usr/bin/ar qc rp-rendering.a "CMakeFiles/rp-rendering.dir/RenderContext.cpp.o" "CMakeFiles/rp-rendering.dir/RenderSettings.cpp.o" "CMakeFiles/rp-rendering.dir/RenderTranslator.cpp.o" "CMakeFiles/rp-rendering.dir/RenderUtils.cpp.o" "CMakeFiles/rp-rendering.dir/RenderVideoSettings.cpp.o" "CMakeFiles/rp-rendering.dir/RPRenderManager.cpp.o"
/usr/bin/ranlib rp-rendering.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Built target rp-rendering
make  -f build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/build.make build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/memory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/memory /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/build.make build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Building CXX object build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/BasicMemoryStream.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/memory && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/BasicMemoryStream.cpp.o -MF CMakeFiles/retroplayer_memory.dir/BasicMemoryStream.cpp.o.d -o CMakeFiles/retroplayer_memory.dir/BasicMemoryStream.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/memory/BasicMemoryStream.cpp
[ 50%] Building CXX object build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/DeltaPairMemoryStream.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/memory && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/DeltaPairMemoryStream.cpp.o -MF CMakeFiles/retroplayer_memory.dir/DeltaPairMemoryStream.cpp.o.d -o CMakeFiles/retroplayer_memory.dir/DeltaPairMemoryStream.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/memory/DeltaPairMemoryStream.cpp
[ 50%] Building CXX object build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererDMA.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/rendering/VideoRenderers/CMakeFiles/rp-videorenderers.dir/RPRendererDMA.cpp.o -MF CMakeFiles/rp-videorenderers.dir/RPRendererDMA.cpp.o.d -o CMakeFiles/rp-videorenderers.dir/RPRendererDMA.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/rendering/VideoRenderers/RPRendererDMA.cpp
[ 50%] Building CXX object build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RPStreamManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/streams/CMakeFiles/retroplayer_streams.dir/RPStreamManager.cpp.o -MF CMakeFiles/retroplayer_streams.dir/RPStreamManager.cpp.o.d -o CMakeFiles/retroplayer_streams.dir/RPStreamManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/RPStreamManager.cpp
[ 50%] Linking CXX static library retroplayer_savestates.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/savestates && /usr/bin/cmake -P CMakeFiles/retroplayer_savestates.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/savestates && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_savestates.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_savestates.a CMakeFiles/retroplayer_savestates.dir/SavestateDatabase.cpp.o CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o
/usr/bin/ranlib retroplayer_savestates.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Built target retroplayer_savestates
[ 50%] Building CXX object build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/LinearMemoryStream.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/memory && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/streams/memory/CMakeFiles/retroplayer_memory.dir/LinearMemoryStream.cpp.o -MF CMakeFiles/retroplayer_memory.dir/LinearMemoryStream.cpp.o.d -o CMakeFiles/retroplayer_memory.dir/LinearMemoryStream.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/RetroPlayer/streams/memory/LinearMemoryStream.cpp
[ 50%] Linking CXX static library retroplayer_streams.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams && /usr/bin/cmake -P CMakeFiles/retroplayer_streams.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_streams.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_streams.a CMakeFiles/retroplayer_streams.dir/RetroPlayerAudio.cpp.o CMakeFiles/retroplayer_streams.dir/RetroPlayerStreamTypes.cpp.o CMakeFiles/retroplayer_streams.dir/RetroPlayerVideo.cpp.o CMakeFiles/retroplayer_streams.dir/RPStreamManager.cpp.o
/usr/bin/ranlib retroplayer_streams.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Built target retroplayer_streams
make  -f build/settings/CMakeFiles/settings.dir/build.make build/settings/CMakeFiles/settings.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/CMakeFiles/settings.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/settings/CMakeFiles/settings.dir/build.make build/settings/CMakeFiles/settings.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/AdvancedSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/AdvancedSettings.cpp.o -MF CMakeFiles/settings.dir/AdvancedSettings.cpp.o.d -o CMakeFiles/settings.dir/AdvancedSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/DisplaySettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/DisplaySettings.cpp.o -MF CMakeFiles/settings.dir/DisplaySettings.cpp.o.d -o CMakeFiles/settings.dir/DisplaySettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/DisplaySettings.cpp
[ 50%] Linking CXX static library rp-videorenderers.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/cmake -P CMakeFiles/rp-videorenderers.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/rendering/VideoRenderers && /usr/bin/cmake -E cmake_link_script CMakeFiles/rp-videorenderers.dir/link.txt --verbose=1
/usr/bin/ar qc rp-videorenderers.a "CMakeFiles/rp-videorenderers.dir/RPBaseRenderer.cpp.o" "CMakeFiles/rp-videorenderers.dir/RPRendererGuiTexture.cpp.o" "CMakeFiles/rp-videorenderers.dir/RPRendererOpenGLES.cpp.o" "CMakeFiles/rp-videorenderers.dir/RPRendererOpenGL.cpp.o" "CMakeFiles/rp-videorenderers.dir/RPRendererDMA.cpp.o"
/usr/bin/ranlib rp-videorenderers.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Built target rp-videorenderers
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/GameSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/GameSettings.cpp.o -MF CMakeFiles/settings.dir/GameSettings.cpp.o.d -o CMakeFiles/settings.dir/GameSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/GameSettings.cpp
[ 50%] Linking CXX static library retroplayer_memory.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/memory && /usr/bin/cmake -P CMakeFiles/retroplayer_memory.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/streams/memory && /usr/bin/cmake -E cmake_link_script CMakeFiles/retroplayer_memory.dir/link.txt --verbose=1
/usr/bin/ar qc retroplayer_memory.a CMakeFiles/retroplayer_memory.dir/BasicMemoryStream.cpp.o CMakeFiles/retroplayer_memory.dir/DeltaPairMemoryStream.cpp.o CMakeFiles/retroplayer_memory.dir/LinearMemoryStream.cpp.o
/usr/bin/ranlib retroplayer_memory.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Built target retroplayer_memory
make  -f build/settings/dialogs/CMakeFiles/settings_dialogs.dir/build.make build/settings/dialogs/CMakeFiles/settings_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs/CMakeFiles/settings_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/settings/dialogs/CMakeFiles/settings_dialogs.dir/build.make build/settings/dialogs/CMakeFiles/settings_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Building CXX object build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogContentSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogContentSettings.cpp.o -MF CMakeFiles/settings_dialogs.dir/GUIDialogContentSettings.cpp.o.d -o CMakeFiles/settings_dialogs.dir/GUIDialogContentSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogContentSettings.cpp
make  -f build/settings/lib/CMakeFiles/settings_lib.dir/build.make build/settings/lib/CMakeFiles/settings_lib.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib/CMakeFiles/settings_lib.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/settings/lib/CMakeFiles/settings_lib.dir/build.make build/settings/lib/CMakeFiles/settings_lib.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/ISetting.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/ISetting.cpp.o -MF CMakeFiles/settings_lib.dir/ISetting.cpp.o.d -o CMakeFiles/settings_lib.dir/ISetting.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.cpp
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/ISettingControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/ISettingControl.cpp.o -MF CMakeFiles/settings_lib.dir/ISettingControl.cpp.o.d -o CMakeFiles/settings_lib.dir/ISettingControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h:17,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'void ConvertToWhitelist(const std::vector<std::__cxx11::basic_string<char> >&, std::vector<CVariant>&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.cpp:1465:29:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'void CAdvancedSettings::MigrateOldArtSettings()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.cpp:1506:28:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 50%] Building CXX object build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogLibExportSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogLibExportSettings.cpp.o -MF CMakeFiles/settings_dialogs.dir/GUIDialogLibExportSettings.cpp.o.d -o CMakeFiles/settings_dialogs.dir/GUIDialogLibExportSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogLibExportSettings.cpp
[ 50%] Building CXX object build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogSettingsBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogSettingsBase.cpp.o -MF CMakeFiles/settings_dialogs.dir/GUIDialogSettingsBase.cpp.o.d -o CMakeFiles/settings_dialogs.dir/GUIDialogSettingsBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.cpp
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/Setting.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/Setting.cpp.o -MF CMakeFiles/settings_lib.dir/Setting.cpp.o.d -o CMakeFiles/settings_lib.dir/Setting.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/LibExportSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/LibExportSettings.cpp.o -MF CMakeFiles/settings.dir/LibExportSettings.cpp.o.d -o CMakeFiles/settings.dir/LibExportSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/LibExportSettings.cpp
make  -f build/settings/windows/CMakeFiles/settings_windows.dir/build.make build/settings/windows/CMakeFiles/settings_windows.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows/CMakeFiles/settings_windows.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/settings/windows/CMakeFiles/settings_windows.dir/build.make build/settings/windows/CMakeFiles/settings_windows.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Building CXX object build/settings/windows/CMakeFiles/settings_windows.dir/GUIControlSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/windows/CMakeFiles/settings_windows.dir/GUIControlSettings.cpp.o -MF CMakeFiles/settings_windows.dir/GUIControlSettings.cpp.o.d -o CMakeFiles/settings_windows.dir/GUIControlSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/MediaSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/MediaSettings.cpp.o -MF CMakeFiles/settings.dir/MediaSettings.cpp.o.d -o CMakeFiles/settings.dir/MediaSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/MediaSettings.cpp
[ 50%] Building CXX object build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManagerBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManagerBase.cpp.o -MF CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManagerBase.cpp.o.d -o CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManagerBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManagerBase.cpp
In file included from /usr/include/c++/12/vector:63,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.cpp:9:
/usr/include/c++/12/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]':
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/vector.tcc:232:44:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'IntegerSettingOption::IntegerSettingOption(const IntegerSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:66:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = IntegerSettingOption; _Args = {const IntegerSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, std::vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*; _Tp = IntegerSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, std::vector<IntegerSettingOption> >; _Tp = IntegerSettingOption; _Alloc = std::allocator<IntegerSettingOption>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = IntegerSettingOption; _Alloc = std::allocator<IntegerSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:232:44:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'IntegerSettingOption::IntegerSettingOption(const IntegerSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:66:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = IntegerSettingOption; _Args = {IntegerSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*; _Tp = IntegerSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = IntegerSettingOption; _Alloc = std::allocator<IntegerSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:251:35:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'StringSettingOption::StringSettingOption(const StringSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:85:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = StringSettingOption; _Args = {const StringSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, std::vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*; _Tp = StringSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, std::vector<StringSettingOption> >; _Tp = StringSettingOption; _Alloc = std::allocator<StringSettingOption>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = StringSettingOption; _Alloc = std::allocator<StringSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:232:44:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'StringSettingOption::StringSettingOption(const StringSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:85:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = StringSettingOption; _Args = {StringSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*; _Tp = StringSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = StringSettingOption; _Alloc = std::allocator<StringSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:251:35:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 50%] Building CXX object build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManualBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/dialogs/CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManualBase.cpp.o -MF CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManualBase.cpp.o.d -o CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManualBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/MediaSourceSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/MediaSourceSettings.cpp.o -MF CMakeFiles/settings.dir/MediaSourceSettings.cpp.o.d -o CMakeFiles/settings.dir/MediaSourceSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/MediaSourceSettings.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /usr/include/c++/12/functional:62,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CVariant&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {int}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {float}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'virtual bool CGUIControlRangeSetting::OnClick()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.cpp:1615:26:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'virtual bool CGUIControlRangeSetting::OnClick()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.cpp:1616:26:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {float}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'virtual bool CGUIControlRangeSetting::OnClick()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.cpp:1620:26:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {float}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'virtual bool CGUIControlRangeSetting::OnClick()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.cpp:1621:26:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/SettingCategoryAccess.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/SettingCategoryAccess.cpp.o -MF CMakeFiles/settings_lib.dir/SettingCategoryAccess.cpp.o.d -o CMakeFiles/settings_lib.dir/SettingCategoryAccess.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingCategoryAccess.cpp
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/SettingConditions.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/SettingConditions.cpp.o -MF CMakeFiles/settings_lib.dir/SettingConditions.cpp.o.d -o CMakeFiles/settings_lib.dir/SettingConditions.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {float&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
In file included from /usr/include/c++/12/memory:66,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h:12:
/usr/include/c++/12/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]':
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/vector.tcc:232:44:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'virtual bool CGUIControlListSetting::OnClick()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIControlSettings.cpp:764:21:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingAddon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingAddon.cpp.o -MF CMakeFiles/settings.dir/SettingAddon.cpp.o.d -o CMakeFiles/settings.dir/SettingAddon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingAddon.cpp
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'IntegerSettingOption::IntegerSettingOption(const IntegerSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:66:8:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'IntegerSettingOption::IntegerSettingOption(const IntegerSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:66:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = IntegerSettingOption; _Args = {IntegerSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*; _Tp = IntegerSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = IntegerSettingOption; _Alloc = std::allocator<IntegerSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:251:35:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddList(const SettingGroupPtr&, const std::string&, int, SettingLevel, std::vector<std::__cxx11::basic_string<char> >, StringSettingOptionsFiller, int, int, int, bool, int, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:833:27:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 50%] Building CXX object build/settings/windows/CMakeFiles/settings_windows.dir/GUIWindowSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/windows/CMakeFiles/settings_windows.dir/GUIWindowSettings.cpp.o -MF CMakeFiles/settings_windows.dir/GUIWindowSettings.cpp.o.d -o CMakeFiles/settings_windows.dir/GUIWindowSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIWindowSettings.cpp
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {float&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddRange(const SettingGroupPtr&, const std::string&, int, SettingLevel, float, float, float, float, float, const std::string&, int, int, const std::string&, bool, bool, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:1459:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {float&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddRange(const SettingGroupPtr&, const std::string&, int, SettingLevel, float, float, float, float, float, const std::string&, int, int, const std::string&, bool, bool, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:1460:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddList(const SettingGroupPtr&, const std::string&, int, SettingLevel, std::vector<int>, const IntegerSettingOptions&, int, int, int, bool, int, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:925:27:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddRange(const SettingGroupPtr&, const std::string&, int, SettingLevel, int, int, int, int, int, const std::string&, int, int, const std::string&, bool, bool, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:1406:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddRange(const SettingGroupPtr&, const std::string&, int, SettingLevel, int, int, int, int, int, const std::string&, int, int, const std::string&, bool, bool, int)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:1407:25:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddList(const SettingGroupPtr&, const std::string&, int, SettingLevel, std::vector<int>, IntegerSettingOptionsFiller, int, int, int, bool, int, SettingControlListValueFormatter, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:972:27:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const int&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'std::shared_ptr<CSettingList> CGUIDialogSettingsManualBase::AddList(const SettingGroupPtr&, const std::string&, int, SettingLevel, std::vector<int>, const TranslatableIntegerSettingOptions&, int, int, int, bool, int, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManualBase.cpp:879:27:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/SettingDependency.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/SettingDependency.cpp.o -MF CMakeFiles/settings_lib.dir/SettingDependency.cpp.o.d -o CMakeFiles/settings_lib.dir/SettingDependency.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.cpp
[ 50%] Building CXX object build/settings/windows/CMakeFiles/settings_windows.dir/GUIWindowSettingsCategory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/windows/CMakeFiles/settings_windows.dir/GUIWindowSettingsCategory.cpp.o -MF CMakeFiles/settings_windows.dir/GUIWindowSettingsCategory.cpp.o.d -o CMakeFiles/settings_windows.dir/GUIWindowSettingsCategory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIWindowSettingsCategory.cpp
[ 50%] Linking CXX static library settings_dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs && /usr/bin/cmake -P CMakeFiles/settings_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/settings_dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc settings_dialogs.a CMakeFiles/settings_dialogs.dir/GUIDialogContentSettings.cpp.o CMakeFiles/settings_dialogs.dir/GUIDialogLibExportSettings.cpp.o CMakeFiles/settings_dialogs.dir/GUIDialogSettingsBase.cpp.o CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManagerBase.cpp.o CMakeFiles/settings_dialogs.dir/GUIDialogSettingsManualBase.cpp.o
/usr/bin/ranlib settings_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Built target settings_dialogs
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingConditions.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingConditions.cpp.o -MF CMakeFiles/settings.dir/SettingConditions.cpp.o.d -o CMakeFiles/settings.dir/SettingConditions.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingConditions.cpp
make  -f build/xbmc/CMakeFiles/xbmc.dir/build.make build/xbmc/CMakeFiles/xbmc.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc/CMakeFiles/xbmc.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/xbmc/CMakeFiles/xbmc.dir/build.make build/xbmc/CMakeFiles/xbmc.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/AutoSwitch.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/AutoSwitch.cpp.o -MF CMakeFiles/xbmc.dir/AutoSwitch.cpp.o.d -o CMakeFiles/xbmc.dir/AutoSwitch.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/AutoSwitch.cpp
[ 50%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/BackgroundInfoLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/BackgroundInfoLoader.cpp.o -MF CMakeFiles/xbmc.dir/BackgroundInfoLoader.cpp.o.d -o CMakeFiles/xbmc.dir/BackgroundInfoLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/BackgroundInfoLoader.cpp
[ 50%] Building CXX object build/settings/windows/CMakeFiles/settings_windows.dir/GUIWindowSettingsScreenCalibration.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/windows/CMakeFiles/settings_windows.dir/GUIWindowSettingsScreenCalibration.cpp.o -MF CMakeFiles/settings_windows.dir/GUIWindowSettingsScreenCalibration.cpp.o.d -o CMakeFiles/settings_windows.dir/GUIWindowSettingsScreenCalibration.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIWindowSettingsScreenCalibration.cpp
[ 50%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/ContextMenuItem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/ContextMenuItem.cpp.o -MF CMakeFiles/xbmc.dir/ContextMenuItem.cpp.o.d -o CMakeFiles/xbmc.dir/ContextMenuItem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ContextMenuItem.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingControl.cpp.o -MF CMakeFiles/settings.dir/SettingControl.cpp.o.d -o CMakeFiles/settings.dir/SettingControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.cpp
In file included from /usr/include/c++/12/bits/stl_algobase.h:64,
                 from /usr/include/c++/12/memory:63,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIWindowSettingsScreenCalibration.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIWindowSettingsScreenCalibration.cpp:9:
/usr/include/c++/12/bits/stl_pair.h: In instantiation of 'constexpr std::pair<typename std::__strip_reference_wrapper<typename std::decay<_Tp>::type>::__type, typename std::__strip_reference_wrapper<typename std::decay<_Tp2>::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = float; _T2 = float; typename __strip_reference_wrapper<typename decay<_Tp2>::type>::__type = float; typename decay<_Tp2>::type = float; typename __strip_reference_wrapper<typename decay<_Tp>::type>::__type = float; typename decay<_Tp>::type = float]':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/windows/GUIWindowSettingsScreenCalibration.cpp:194:52:   required from here
/usr/include/c++/12/bits/stl_pair.h:741:5: note: parameter passing for argument of type 'std::pair<float, float>' when C++17 is enabled changed to match C++14 in GCC 10.1
  741 |     make_pair(_T1&& __x, _T2&& __y)
      |     ^~~~~~~~~
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/SettingRequirement.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/SettingRequirement.cpp.o -MF CMakeFiles/settings_lib.dir/SettingRequirement.cpp.o.d -o CMakeFiles/settings_lib.dir/SettingRequirement.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.cpp
[ 50%] Linking CXX static library settings_windows.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows && /usr/bin/cmake -P CMakeFiles/settings_windows.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/windows && /usr/bin/cmake -E cmake_link_script CMakeFiles/settings_windows.dir/link.txt --verbose=1
/usr/bin/ar qc settings_windows.a CMakeFiles/settings_windows.dir/GUIControlSettings.cpp.o CMakeFiles/settings_windows.dir/GUIWindowSettings.cpp.o CMakeFiles/settings_windows.dir/GUIWindowSettingsCategory.cpp.o CMakeFiles/settings_windows.dir/GUIWindowSettingsScreenCalibration.cpp.o
/usr/bin/ranlib settings_windows.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 50%] Built target settings_windows
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingCreator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingCreator.cpp.o -MF CMakeFiles/settings.dir/SettingCreator.cpp.o.d -o CMakeFiles/settings.dir/SettingCreator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.cpp
[ 50%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/ContextMenuManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/ContextMenuManager.cpp.o -MF CMakeFiles/xbmc.dir/ContextMenuManager.cpp.o.d -o CMakeFiles/xbmc.dir/ContextMenuManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ContextMenuManager.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingDateTime.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingDateTime.cpp.o -MF CMakeFiles/settings.dir/SettingDateTime.cpp.o.d -o CMakeFiles/settings.dir/SettingDateTime.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingDateTime.cpp
[ 50%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/SettingSection.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/SettingSection.cpp.o -MF CMakeFiles/settings_lib.dir/SettingSection.cpp.o.d -o CMakeFiles/settings_lib.dir/SettingSection.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingSection.cpp
[ 50%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/ContextMenus.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/ContextMenus.cpp.o -MF CMakeFiles/xbmc.dir/ContextMenus.cpp.o.d -o CMakeFiles/xbmc.dir/ContextMenus.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ContextMenus.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingPath.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingPath.cpp.o -MF CMakeFiles/settings.dir/SettingPath.cpp.o.d -o CMakeFiles/settings.dir/SettingPath.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingPath.cpp
[ 50%] Building CXX object build/settings/CMakeFiles/settings.dir/Settings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/Settings.cpp.o -MF CMakeFiles/settings.dir/Settings.cpp.o.d -o CMakeFiles/settings.dir/Settings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.cpp
[ 50%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/CueDocument.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/CueDocument.cpp.o -MF CMakeFiles/xbmc.dir/CueDocument.cpp.o.d -o CMakeFiles/xbmc.dir/CueDocument.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/CueDocument.cpp
[ 51%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/DatabaseManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/DatabaseManager.cpp.o -MF CMakeFiles/xbmc.dir/DatabaseManager.cpp.o.d -o CMakeFiles/xbmc.dir/DatabaseManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/DatabaseManager.cpp
[ 51%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/SettingsManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/SettingsManager.cpp.o -MF CMakeFiles/settings_lib.dir/SettingsManager.cpp.o.d -o CMakeFiles/settings_lib.dir/SettingsManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ScraperUrl.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/CueDocument.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/CueDocument.cpp:43:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CSong&}; _Tp = CSong; _Alloc = std::allocator<CSong>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CSong>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]',
    inlined from 'void CCueDocument::GetSongs(VECSONGS&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/CueDocument.cpp:217:20:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSong*, std::vector<CSong> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 51%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingsBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingsBase.cpp.o -MF CMakeFiles/settings.dir/SettingsBase.cpp.o.d -o CMakeFiles/settings.dir/SettingsBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.cpp
[ 51%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/DbUrl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/DbUrl.cpp.o -MF CMakeFiles/xbmc.dir/DbUrl.cpp.o.d -o CMakeFiles/xbmc.dir/DbUrl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/DbUrl.cpp
[ 51%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingsValueFlatJsonSerializer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingsValueFlatJsonSerializer.cpp.o -MF CMakeFiles/settings.dir/SettingsValueFlatJsonSerializer.cpp.o.d -o CMakeFiles/settings.dir/SettingsValueFlatJsonSerializer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsValueFlatJsonSerializer.cpp
[ 51%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/DynamicDll.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/DynamicDll.cpp.o -MF CMakeFiles/xbmc.dir/DynamicDll.cpp.o.d -o CMakeFiles/xbmc.dir/DynamicDll.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/DynamicDll.cpp
[ 51%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingsValueXmlSerializer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingsValueXmlSerializer.cpp.o -MF CMakeFiles/settings.dir/SettingsValueXmlSerializer.cpp.o.d -o CMakeFiles/settings.dir/SettingsValueXmlSerializer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsValueXmlSerializer.cpp
[ 51%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/FileItem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/FileItem.cpp.o -MF CMakeFiles/xbmc.dir/FileItem.cpp.o.d -o CMakeFiles/xbmc.dir/FileItem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.cpp
[ 51%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/FileItemListModification.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/FileItemListModification.cpp.o -MF CMakeFiles/xbmc.dir/FileItemListModification.cpp.o.d -o CMakeFiles/xbmc.dir/FileItemListModification.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItemListModification.cpp
[ 51%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingUtils.cpp.o -MF CMakeFiles/settings.dir/SettingUtils.cpp.o.d -o CMakeFiles/settings.dir/SettingUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingUtils.cpp
[ 51%] Building CXX object build/settings/CMakeFiles/settings.dir/SkinSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SkinSettings.cpp.o -MF CMakeFiles/settings.dir/SkinSettings.cpp.o.d -o CMakeFiles/settings.dir/SkinSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SkinSettings.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingUtils.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingUtils.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {bool}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {int}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {double}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CVariant>::iterator' changed in GCC 7.1
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {bool}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'static std::vector<CVariant> CSettingUtils::ListToValues(const std::shared_ptr<const CSettingList>&, const std::vector<std::shared_ptr<CSetting> >&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingUtils.cpp:46:32:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'static std::vector<CVariant> CSettingUtils::ListToValues(const std::shared_ptr<const CSettingList>&, const std::vector<std::shared_ptr<CSetting> >&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingUtils.cpp:50:32:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'static std::vector<CVariant> CSettingUtils::ListToValues(const std::shared_ptr<const CSettingList>&, const std::vector<std::shared_ptr<CSetting> >&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingUtils.cpp:54:32:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; _Tp = CVariant; _Alloc = std::allocator<CVariant>]',
    inlined from 'static std::vector<CVariant> CSettingUtils::ListToValues(const std::shared_ptr<const CSettingList>&, const std::vector<std::shared_ptr<CSetting> >&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingUtils.cpp:58:32:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CVariant*, std::vector<CVariant> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make  -f build/addons/CMakeFiles/addons.dir/build.make build/addons/CMakeFiles/addons.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons/CMakeFiles/addons.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons/CMakeFiles/addons.dir/build.make build/addons/CMakeFiles/addons.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 51%] Building CXX object build/addons/CMakeFiles/addons.dir/Addon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/Addon.cpp.o -MF CMakeFiles/addons.dir/Addon.cpp.o.d -o CMakeFiles/addons.dir/Addon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Addon.cpp
[ 52%] Building CXX object build/settings/CMakeFiles/settings.dir/SettingsComponent.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SettingsComponent.cpp.o -MF CMakeFiles/settings.dir/SettingsComponent.cpp.o.d -o CMakeFiles/settings.dir/SettingsComponent.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsComponent.cpp
[ 52%] Building CXX object build/settings/CMakeFiles/settings.dir/SubtitlesSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/SubtitlesSettings.cpp.o -MF CMakeFiles/settings.dir/SubtitlesSettings.cpp.o.d -o CMakeFiles/settings.dir/SubtitlesSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SubtitlesSettings.cpp
[ 53%] Building CXX object build/settings/lib/CMakeFiles/settings_lib.dir/SettingUpdate.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/lib/CMakeFiles/settings_lib.dir/SettingUpdate.cpp.o -MF CMakeFiles/settings_lib.dir/SettingUpdate.cpp.o.d -o CMakeFiles/settings_lib.dir/SettingUpdate.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingUpdate.cpp
[ 53%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonBuilder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonBuilder.cpp.o -MF CMakeFiles/addons.dir/AddonBuilder.cpp.o.d -o CMakeFiles/addons.dir/AddonBuilder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonBuilder.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<Field&&>, std::tuple<>}; _Key = Field; _Val = std::pair<const Field, CVariant>; _KeyOfValue = std::_Select1st<std::pair<const Field, CVariant> >; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
/usr/include/c++/12/bits/stl_map.h: In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]':
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'void CFileItem::ToSortable(SortItem&, const Fields&) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.cpp:832:22:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'void CFileItem::ToSortable(SortItem&, const Fields&) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.cpp:834:28:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'void CFileItem::ToSortable(SortItem&, const Fields&) const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.cpp:835:23:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](key_type&&) [with _Key = Field; _Tp = CVariant; _Compare = std::less<Field>; _Alloc = std::allocator<std::pair<const Field, CVariant> >]',
    inlined from 'void CFileItemList::Sort(SortDescription)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.cpp:2465:32:
/usr/include/c++/12/bits/stl_map.h:530:44: note: parameter passing for argument of type 'std::_Rb_tree<Field, std::pair<const Field, CVariant>, std::_Select1st<std::pair<const Field, CVariant> >, std::less<Field>, std::allocator<std::pair<const Field, CVariant> > >::const_iterator' changed in GCC 7.1
  530 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  531 |                                         std::forward_as_tuple(std::move(__k)),
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532 |                                         std::tuple<>());
      |                                         ~~~~~~~~~~~~~~~
[ 53%] Building CXX object build/settings/CMakeFiles/settings.dir/DiscSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/settings/CMakeFiles/settings.dir/DiscSettings.cpp.o -MF CMakeFiles/settings.dir/DiscSettings.cpp.o.d -o CMakeFiles/settings.dir/DiscSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/DiscSettings.cpp
[ 53%] Linking CXX static library settings_lib.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/cmake -P CMakeFiles/settings_lib.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings/lib && /usr/bin/cmake -E cmake_link_script CMakeFiles/settings_lib.dir/link.txt --verbose=1
/usr/bin/ar qc settings_lib.a CMakeFiles/settings_lib.dir/ISetting.cpp.o CMakeFiles/settings_lib.dir/ISettingControl.cpp.o CMakeFiles/settings_lib.dir/Setting.cpp.o CMakeFiles/settings_lib.dir/SettingCategoryAccess.cpp.o CMakeFiles/settings_lib.dir/SettingConditions.cpp.o CMakeFiles/settings_lib.dir/SettingDependency.cpp.o CMakeFiles/settings_lib.dir/SettingRequirement.cpp.o CMakeFiles/settings_lib.dir/SettingSection.cpp.o CMakeFiles/settings_lib.dir/SettingsManager.cpp.o CMakeFiles/settings_lib.dir/SettingUpdate.cpp.o
/usr/bin/ranlib settings_lib.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 53%] Built target settings_lib
[ 53%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/GUIInfoManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/GUIInfoManager.cpp.o -MF CMakeFiles/xbmc.dir/GUIInfoManager.cpp.o.d -o CMakeFiles/xbmc.dir/GUIInfoManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.cpp
In file included from /usr/include/c++/12/memory:66,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h:17:
/usr/include/c++/12/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, vector<SActorInfo> >; _ForwardIterator = SActorInfo*]':
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const SActorInfo*, std::vector<SActorInfo> >' changed in GCC 7.1
  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const SActorInfo*, std::vector<SActorInfo> >' changed in GCC 7.1
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, std::vector<SActorInfo> >; _ForwardIterator = SActorInfo*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, vector<SActorInfo> >; _ForwardIterator = SActorInfo*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, vector<SActorInfo> >; _ForwardIterator = SActorInfo*; _Tp = SActorInfo]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, std::vector<SActorInfo> >; _Tp = SActorInfo; _Alloc = std::allocator<SActorInfo>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = SActorInfo; _Alloc = std::allocator<SActorInfo>]' at /usr/include/c++/12/bits/vector.tcc:232:44,
    inlined from 'CVideoInfoTag& CVideoInfoTag::operator=(const CVideoInfoTag&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/VideoInfoTag.h:51:7:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const SActorInfo*, std::vector<SActorInfo> >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, std::vector<SActorInfo> >; _ForwardIterator = SActorInfo*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, vector<SActorInfo> >; _ForwardIterator = SActorInfo*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const SActorInfo*, vector<SActorInfo> >; _ForwardIterator = SActorInfo*; _Tp = SActorInfo]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = SActorInfo; _Alloc = std::allocator<SActorInfo>]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'CVideoInfoTag::CVideoInfoTag(const CVideoInfoTag&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/video/VideoInfoTag.h:51:7:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const SActorInfo*, std::vector<SActorInfo> >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 53%] Linking CXX static library settings.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/cmake -P CMakeFiles/settings.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/settings && /usr/bin/cmake -E cmake_link_script CMakeFiles/settings.dir/link.txt --verbose=1
/usr/bin/ar qc settings.a CMakeFiles/settings.dir/AdvancedSettings.cpp.o CMakeFiles/settings.dir/DisplaySettings.cpp.o CMakeFiles/settings.dir/GameSettings.cpp.o CMakeFiles/settings.dir/LibExportSettings.cpp.o CMakeFiles/settings.dir/MediaSettings.cpp.o CMakeFiles/settings.dir/MediaSourceSettings.cpp.o CMakeFiles/settings.dir/SettingAddon.cpp.o CMakeFiles/settings.dir/SettingConditions.cpp.o CMakeFiles/settings.dir/SettingControl.cpp.o CMakeFiles/settings.dir/SettingCreator.cpp.o CMakeFiles/settings.dir/SettingDateTime.cpp.o CMakeFiles/settings.dir/SettingPath.cpp.o CMakeFiles/settings.dir/Settings.cpp.o CMakeFiles/settings.dir/SettingsBase.cpp.o CMakeFiles/settings.dir/SettingsValueFlatJsonSerializer.cpp.o CMakeFiles/settings.dir/SettingsValueXmlSerializer.cpp.o CMakeFiles/settings.dir/SettingUtils.cpp.o CMakeFiles/settings.dir/SkinSettings.cpp.o CMakeFiles/settings.dir/SettingsComponent.cpp.o CMakeFiles/settings.dir/SubtitlesSettings.cpp.o CMakeFiles/settings.dir/DiscSettings.cpp.o
/usr/bin/ranlib settings.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 53%] Built target settings
[ 53%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/GUILargeTextureManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/GUILargeTextureManager.cpp.o -MF CMakeFiles/xbmc.dir/GUILargeTextureManager.cpp.o.d -o CMakeFiles/xbmc.dir/GUILargeTextureManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUILargeTextureManager.cpp
[ 53%] Building CXX object build/addons/CMakeFiles/addons.dir/BinaryAddonCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/BinaryAddonCache.cpp.o -MF CMakeFiles/addons.dir/BinaryAddonCache.cpp.o.d -o CMakeFiles/addons.dir/BinaryAddonCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/BinaryAddonCache.cpp
[ 53%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/GUIPassword.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/GUIPassword.cpp.o -MF CMakeFiles/xbmc.dir/GUIPassword.cpp.o.d -o CMakeFiles/xbmc.dir/GUIPassword.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIPassword.cpp
[ 53%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonDatabase.cpp.o -MF CMakeFiles/addons.dir/AddonDatabase.cpp.o.d -o CMakeFiles/addons.dir/AddonDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonDatabase.cpp
[ 53%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/InfoScanner.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/InfoScanner.cpp.o -MF CMakeFiles/xbmc.dir/InfoScanner.cpp.o.d -o CMakeFiles/xbmc.dir/InfoScanner.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/InfoScanner.cpp
[ 53%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonInstaller.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonInstaller.cpp.o -MF CMakeFiles/addons.dir/AddonInstaller.cpp.o.d -o CMakeFiles/addons.dir/AddonInstaller.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonInstaller.cpp
make  -f build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/build.make build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/build.make build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 53%] Building CXX object build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonInfoBuilder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonInfoBuilder.cpp.o -MF CMakeFiles/addons_addoninfo.dir/AddonInfoBuilder.cpp.o.d -o CMakeFiles/addons_addoninfo.dir/AddonInfoBuilder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonInfoBuilder.cpp
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonInfoBuilder.cpp:829:6: warning: #warning no architecture dependant platform tag [-Wcpp]
  829 |     #warning no architecture dependant platform tag
      |      ^~~~~~~
[ 53%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/LangInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/LangInfo.cpp.o -MF CMakeFiles/xbmc.dir/LangInfo.cpp.o.d -o CMakeFiles/xbmc.dir/LangInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.cpp
make  -f build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/build.make build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/build.make build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 53%] Building CXX object build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/BinaryAddonManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/BinaryAddonManager.cpp.o -MF CMakeFiles/addons_binary-addons.dir/BinaryAddonManager.cpp.o.d -o CMakeFiles/addons_binary-addons.dir/BinaryAddonManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/BinaryAddonManager.cpp
[ 53%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonManager.cpp.o -MF CMakeFiles/addons.dir/AddonManager.cpp.o.d -o CMakeFiles/addons.dir/AddonManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.cpp
[ 53%] Building CXX object build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/AddonDll.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/AddonDll.cpp.o -MF CMakeFiles/addons_binary-addons.dir/AddonDll.cpp.o.d -o CMakeFiles/addons_binary-addons.dir/AddonDll.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonDll.cpp
[ 53%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/MediaSource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/MediaSource.cpp.o -MF CMakeFiles/xbmc.dir/MediaSource.cpp.o.d -o CMakeFiles/xbmc.dir/MediaSource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/MediaSource.cpp
[ 53%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/NfoFile.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/NfoFile.cpp.o -MF CMakeFiles/xbmc.dir/NfoFile.cpp.o.d -o CMakeFiles/xbmc.dir/NfoFile.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/NfoFile.cpp
[ 53%] Building CXX object build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonExtensions.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonExtensions.cpp.o -MF CMakeFiles/addons_addoninfo.dir/AddonExtensions.cpp.o.d -o CMakeFiles/addons_addoninfo.dir/AddonExtensions.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.cpp
[ 53%] Building CXX object build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/AddonInstanceHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/AddonInstanceHandler.cpp.o -MF CMakeFiles/addons_binary-addons.dir/AddonInstanceHandler.cpp.o.d -o CMakeFiles/addons_binary-addons.dir/AddonInstanceHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.cpp
[ 53%] Building CXX object build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonInfo.cpp.o -MF CMakeFiles/addons_addoninfo.dir/AddonInfo.cpp.o.d -o CMakeFiles/addons_addoninfo.dir/AddonInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonInfo.cpp
[ 54%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonRepos.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonRepos.cpp.o -MF CMakeFiles/addons.dir/AddonRepos.cpp.o.d -o CMakeFiles/addons.dir/AddonRepos.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonRepos.cpp
[ 54%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/PasswordManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/PasswordManager.cpp.o -MF CMakeFiles/xbmc.dir/PasswordManager.cpp.o.d -o CMakeFiles/xbmc.dir/PasswordManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/PasswordManager.cpp
[ 54%] Building CXX object build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/BinaryAddonBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_binary-addons/CMakeFiles/addons_binary-addons.dir/BinaryAddonBase.cpp.o -MF CMakeFiles/addons_binary-addons.dir/BinaryAddonBase.cpp.o.d -o CMakeFiles/addons_binary-addons.dir/BinaryAddonBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/BinaryAddonBase.cpp
[ 54%] Building CXX object build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonType.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_addoninfo/CMakeFiles/addons_addoninfo.dir/AddonType.cpp.o -MF CMakeFiles/addons_addoninfo.dir/AddonType.cpp.o.d -o CMakeFiles/addons_addoninfo.dir/AddonType.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.cpp
[ 54%] Linking CXX static library addons_binary-addons.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons && /usr/bin/cmake -P CMakeFiles/addons_binary-addons.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_binary-addons && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_binary-addons.dir/link.txt --verbose=1
/usr/bin/ar qc addons_binary-addons.a "CMakeFiles/addons_binary-addons.dir/BinaryAddonManager.cpp.o" "CMakeFiles/addons_binary-addons.dir/AddonDll.cpp.o" "CMakeFiles/addons_binary-addons.dir/AddonInstanceHandler.cpp.o" "CMakeFiles/addons_binary-addons.dir/BinaryAddonBase.cpp.o"
/usr/bin/ranlib addons_binary-addons.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 54%] Built target addons_binary-addons
make  -f build/addons_gui/CMakeFiles/addons_gui.dir/build.make build/addons_gui/CMakeFiles/addons_gui.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui/CMakeFiles/addons_gui.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_gui/CMakeFiles/addons_gui.dir/build.make build/addons_gui/CMakeFiles/addons_gui.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Building CXX object build/addons_gui/CMakeFiles/addons_gui.dir/GUIDialogAddonInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_gui/CMakeFiles/addons_gui.dir/GUIDialogAddonInfo.cpp.o -MF CMakeFiles/addons_gui.dir/GUIDialogAddonInfo.cpp.o.d -o CMakeFiles/addons_gui.dir/GUIDialogAddonInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIDialogAddonInfo.cpp
[ 55%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/PlayListPlayer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/PlayListPlayer.cpp.o -MF CMakeFiles/xbmc.dir/PlayListPlayer.cpp.o.d -o CMakeFiles/xbmc.dir/PlayListPlayer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/PlayListPlayer.cpp
[ 55%] Linking CXX static library addons_addoninfo.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo && /usr/bin/cmake -P CMakeFiles/addons_addoninfo.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_addoninfo && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_addoninfo.dir/link.txt --verbose=1
/usr/bin/ar qc addons_addoninfo.a CMakeFiles/addons_addoninfo.dir/AddonInfoBuilder.cpp.o CMakeFiles/addons_addoninfo.dir/AddonExtensions.cpp.o CMakeFiles/addons_addoninfo.dir/AddonInfo.cpp.o CMakeFiles/addons_addoninfo.dir/AddonType.cpp.o
/usr/bin/ranlib addons_addoninfo.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Built target addons_addoninfo
make  -f build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/build.make build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/skin /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui_skin /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/build.make build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Building CXX object build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/SkinTimer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui_skin && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/SkinTimer.cpp.o -MF CMakeFiles/addons_gui_skin.dir/SkinTimer.cpp.o.d -o CMakeFiles/addons_gui_skin.dir/SkinTimer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/skin/SkinTimer.cpp
[ 55%] Building CXX object build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/SkinTimerManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui_skin && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_gui_skin/CMakeFiles/addons_gui_skin.dir/SkinTimerManager.cpp.o -MF CMakeFiles/addons_gui_skin.dir/SkinTimerManager.cpp.o.d -o CMakeFiles/addons_gui_skin.dir/SkinTimerManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/skin/SkinTimerManager.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonStatusHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonStatusHandler.cpp.o -MF CMakeFiles/addons.dir/AddonStatusHandler.cpp.o.d -o CMakeFiles/addons.dir/AddonStatusHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonStatusHandler.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonSystemSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonSystemSettings.cpp.o -MF CMakeFiles/addons.dir/AddonSystemSettings.cpp.o.d -o CMakeFiles/addons.dir/AddonSystemSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonSystemSettings.cpp
[ 55%] Linking CXX static library addons_gui_skin.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui_skin && /usr/bin/cmake -P CMakeFiles/addons_gui_skin.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui_skin && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_gui_skin.dir/link.txt --verbose=1
/usr/bin/ar qc addons_gui_skin.a CMakeFiles/addons_gui_skin.dir/SkinTimer.cpp.o CMakeFiles/addons_gui_skin.dir/SkinTimerManager.cpp.o
/usr/bin/ranlib addons_gui_skin.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Built target addons_gui_skin
[ 55%] Building CXX object build/addons_gui/CMakeFiles/addons_gui.dir/GUIDialogAddonSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_gui/CMakeFiles/addons_gui.dir/GUIDialogAddonSettings.cpp.o -MF CMakeFiles/addons_gui.dir/GUIDialogAddonSettings.cpp.o.d -o CMakeFiles/addons_gui.dir/GUIDialogAddonSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIDialogAddonSettings.cpp
[ 55%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/PartyModeManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/PartyModeManager.cpp.o -MF CMakeFiles/xbmc.dir/PartyModeManager.cpp.o.d -o CMakeFiles/xbmc.dir/PartyModeManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/PartyModeManager.cpp
make  -f build/addons_interfaces/CMakeFiles/addons_interfaces.dir/build.make build/addons_interfaces/CMakeFiles/addons_interfaces.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces/CMakeFiles/addons_interfaces.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_interfaces/CMakeFiles/addons_interfaces.dir/build.make build/addons_interfaces/CMakeFiles/addons_interfaces.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Building CXX object build/addons_interfaces/CMakeFiles/addons_interfaces.dir/AddonBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces/CMakeFiles/addons_interfaces.dir/AddonBase.cpp.o -MF CMakeFiles/addons_interfaces.dir/AddonBase.cpp.o.d -o CMakeFiles/addons_interfaces.dir/AddonBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/AddonBase.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonUpdateRules.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonUpdateRules.cpp.o -MF CMakeFiles/addons.dir/AddonUpdateRules.cpp.o.d -o CMakeFiles/addons.dir/AddonUpdateRules.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonUpdateRules.cpp
[ 55%] Building CXX object build/addons_gui/CMakeFiles/addons_gui.dir/GUIHelpers.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_gui/CMakeFiles/addons_gui.dir/GUIHelpers.cpp.o -MF CMakeFiles/addons_gui.dir/GUIHelpers.cpp.o.d -o CMakeFiles/addons_gui.dir/GUIHelpers.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIHelpers.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/AddonVersion.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AddonVersion.cpp.o -MF CMakeFiles/addons.dir/AddonVersion.cpp.o.d -o CMakeFiles/addons.dir/AddonVersion.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonVersion.cpp
[ 55%] Building CXX object build/addons_gui/CMakeFiles/addons_gui.dir/GUIViewStateAddonBrowser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_gui/CMakeFiles/addons_gui.dir/GUIViewStateAddonBrowser.cpp.o -MF CMakeFiles/addons_gui.dir/GUIViewStateAddonBrowser.cpp.o.d -o CMakeFiles/addons_gui.dir/GUIViewStateAddonBrowser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIViewStateAddonBrowser.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/AudioDecoder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/AudioDecoder.cpp.o -MF CMakeFiles/addons.dir/AudioDecoder.cpp.o.d -o CMakeFiles/addons.dir/AudioDecoder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AudioDecoder.cpp
[ 55%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/SectionLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/SectionLoader.cpp.o -MF CMakeFiles/xbmc.dir/SectionLoader.cpp.o.d -o CMakeFiles/xbmc.dir/SectionLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SectionLoader.cpp
[ 55%] Building CXX object build/addons_gui/CMakeFiles/addons_gui.dir/GUIWindowAddonBrowser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_gui/CMakeFiles/addons_gui.dir/GUIWindowAddonBrowser.cpp.o -MF CMakeFiles/addons_gui.dir/GUIWindowAddonBrowser.cpp.o.d -o CMakeFiles/addons_gui.dir/GUIWindowAddonBrowser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIWindowAddonBrowser.cpp
[ 55%] Building CXX object build/addons_interfaces/CMakeFiles/addons_interfaces.dir/AudioEngine.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces/CMakeFiles/addons_interfaces.dir/AudioEngine.cpp.o -MF CMakeFiles/addons_interfaces.dir/AudioEngine.cpp.o.d -o CMakeFiles/addons_interfaces.dir/AudioEngine.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/AudioEngine.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SectionLoader.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SectionLoader.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CSectionLoader::CDll&}; _Tp = CSectionLoader::CDll; _Alloc = std::allocator<CSectionLoader::CDll>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CSectionLoader::CDll>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CSectionLoader::CDll; _Alloc = std::allocator<CSectionLoader::CDll>]',
    inlined from 'static LibraryLoader* CSectionLoader::LoadDLL(const std::string&, bool, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SectionLoader.cpp:60:44:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSectionLoader::CDll*, std::vector<CSectionLoader::CDll> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::_M_erase(iterator) [with _Tp = CSectionLoader::CDll; _Alloc = std::allocator<CSectionLoader::CDll>]':
/usr/include/c++/12/bits/vector.tcc:175:5: note: parameter passing for argument of type 'std::vector<CSectionLoader::CDll>::iterator' changed in GCC 7.1
  175 |     vector<_Tp, _Alloc>::
      |     ^~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator) [with _Tp = CSectionLoader::CDll; _Alloc = std::allocator<CSectionLoader::CDll>]',
    inlined from 'static void CSectionLoader::UnloadDLL(const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SectionLoader.cpp:86:48:
/usr/include/c++/12/bits/stl_vector.h:1530:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSectionLoader::CDll*, std::vector<CSectionLoader::CDll> >' changed in GCC 7.1
 1530 |       { return _M_erase(begin() + (__position - cbegin())); }
      |                ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator) [with _Tp = CSectionLoader::CDll; _Alloc = std::allocator<CSectionLoader::CDll>]',
    inlined from 'static void CSectionLoader::UnloadDelayed()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SectionLoader.cpp:112:44:
/usr/include/c++/12/bits/stl_vector.h:1530:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSectionLoader::CDll*, std::vector<CSectionLoader::CDll> >' changed in GCC 7.1
 1530 |       { return _M_erase(begin() + (__position - cbegin())); }
      |                ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator) [with _Tp = CSectionLoader::CDll; _Alloc = std::allocator<CSectionLoader::CDll>]',
    inlined from 'void CSectionLoader::UnloadAll()' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SectionLoader.cpp:128:47:
/usr/include/c++/12/bits/stl_vector.h:1530:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CSectionLoader::CDll*, std::vector<CSectionLoader::CDll> >' changed in GCC 7.1
 1530 |       { return _M_erase(begin() + (__position - cbegin())); }
      |                ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 55%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/SeekHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/SeekHandler.cpp.o -MF CMakeFiles/xbmc.dir/SeekHandler.cpp.o.d -o CMakeFiles/xbmc.dir/SeekHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/ContextMenuAddon.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/ContextMenuAddon.cpp.o -MF CMakeFiles/addons.dir/ContextMenuAddon.cpp.o.d -o CMakeFiles/addons.dir/ContextMenuAddon.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/ContextMenuAddon.cpp
[ 55%] Building CXX object build/addons_interfaces/CMakeFiles/addons_interfaces.dir/General.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces/CMakeFiles/addons_interfaces.dir/General.cpp.o -MF CMakeFiles/addons_interfaces.dir/General.cpp.o.d -o CMakeFiles/addons_interfaces.dir/General.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/General.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/ContextMenus.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/ContextMenus.cpp.o -MF CMakeFiles/addons.dir/ContextMenus.cpp.o.d -o CMakeFiles/addons.dir/ContextMenus.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/ContextMenus.cpp
[ 55%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/ServiceBroker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/ServiceBroker.cpp.o -MF CMakeFiles/xbmc.dir/ServiceBroker.cpp.o.d -o CMakeFiles/xbmc.dir/ServiceBroker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.cpp
[ 55%] Linking CXX static library addons_gui.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui && /usr/bin/cmake -P CMakeFiles/addons_gui.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_gui && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_gui.dir/link.txt --verbose=1
/usr/bin/ar qc addons_gui.a CMakeFiles/addons_gui.dir/GUIDialogAddonInfo.cpp.o CMakeFiles/addons_gui.dir/GUIDialogAddonSettings.cpp.o CMakeFiles/addons_gui.dir/GUIHelpers.cpp.o CMakeFiles/addons_gui.dir/GUIViewStateAddonBrowser.cpp.o CMakeFiles/addons_gui.dir/GUIWindowAddonBrowser.cpp.o
/usr/bin/ranlib addons_gui.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Built target addons_gui
[ 55%] Building CXX object build/addons_interfaces/CMakeFiles/addons_interfaces.dir/Filesystem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces/CMakeFiles/addons_interfaces.dir/Filesystem.cpp.o -MF CMakeFiles/addons_interfaces.dir/Filesystem.cpp.o.d -o CMakeFiles/addons_interfaces.dir/Filesystem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/Filesystem.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/ExtsMimeSupportList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/ExtsMimeSupportList.cpp.o -MF CMakeFiles/addons.dir/ExtsMimeSupportList.cpp.o.d -o CMakeFiles/addons.dir/ExtsMimeSupportList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/ExtsMimeSupportList.cpp
make  -f build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/build.make build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/build.make build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Building CXX object build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/GUITranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/GUITranslator.cpp.o -MF CMakeFiles/addons_interfaces_gui.dir/GUITranslator.cpp.o.d -o CMakeFiles/addons_interfaces_gui.dir/GUITranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/GUITranslator.cpp
[ 55%] Building CXX object build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/General.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/General.cpp.o -MF CMakeFiles/addons_interfaces_gui.dir/General.cpp.o.d -o CMakeFiles/addons_interfaces_gui.dir/General.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/General.cpp
[ 55%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/ServiceManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/ServiceManager.cpp.o -MF CMakeFiles/xbmc.dir/ServiceManager.cpp.o.d -o CMakeFiles/xbmc.dir/ServiceManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceManager.cpp
[ 55%] Building CXX object build/addons_interfaces/CMakeFiles/addons_interfaces.dir/Network.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces/CMakeFiles/addons_interfaces.dir/Network.cpp.o -MF CMakeFiles/addons_interfaces.dir/Network.cpp.o.d -o CMakeFiles/addons_interfaces.dir/Network.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/Network.cpp
[ 55%] Building CXX object build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/ListItem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/ListItem.cpp.o -MF CMakeFiles/addons_interfaces_gui.dir/ListItem.cpp.o.d -o CMakeFiles/addons_interfaces_gui.dir/ListItem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/ListItem.cpp
[ 55%] Building CXX object build/addons/CMakeFiles/addons.dir/FontResource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/FontResource.cpp.o -MF CMakeFiles/addons.dir/FontResource.cpp.o.d -o CMakeFiles/addons.dir/FontResource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/FontResource.cpp
[ 55%] Linking CXX static library addons_interfaces.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces && /usr/bin/cmake -P CMakeFiles/addons_interfaces.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_interfaces.dir/link.txt --verbose=1
/usr/bin/ar qc addons_interfaces.a CMakeFiles/addons_interfaces.dir/AddonBase.cpp.o CMakeFiles/addons_interfaces.dir/AudioEngine.cpp.o CMakeFiles/addons_interfaces.dir/General.cpp.o CMakeFiles/addons_interfaces.dir/Filesystem.cpp.o CMakeFiles/addons_interfaces.dir/Network.cpp.o
/usr/bin/ranlib addons_interfaces.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 55%] Built target addons_interfaces
[ 56%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/SystemGlobals.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/SystemGlobals.cpp.o -MF CMakeFiles/xbmc.dir/SystemGlobals.cpp.o.d -o CMakeFiles/xbmc.dir/SystemGlobals.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SystemGlobals.cpp
make  -f build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/build.make build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/build.make build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 56%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Button.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Button.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Button.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Button.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Button.cpp
[ 56%] Building CXX object build/addons/CMakeFiles/addons.dir/FilesystemInstaller.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/FilesystemInstaller.cpp.o -MF CMakeFiles/addons.dir/FilesystemInstaller.cpp.o.d -o CMakeFiles/addons.dir/FilesystemInstaller.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/FilesystemInstaller.cpp
[ 56%] Building CXX object build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/Window.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui/CMakeFiles/addons_interfaces_gui.dir/Window.cpp.o -MF CMakeFiles/addons_interfaces_gui.dir/Window.cpp.o.d -o CMakeFiles/addons_interfaces_gui.dir/Window.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/Window.cpp
[ 56%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/TextureCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/TextureCache.cpp.o -MF CMakeFiles/xbmc.dir/TextureCache.cpp.o.d -o CMakeFiles/xbmc.dir/TextureCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/TextureCache.cpp
[ 56%] Building CXX object build/addons/CMakeFiles/addons.dir/GameResource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/GameResource.cpp.o -MF CMakeFiles/addons.dir/GameResource.cpp.o.d -o CMakeFiles/addons.dir/GameResource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/GameResource.cpp
[ 56%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Edit.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Edit.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Edit.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Edit.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Edit.cpp
[ 56%] Building CXX object build/addons/CMakeFiles/addons.dir/ImageDecoder.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/ImageDecoder.cpp.o -MF CMakeFiles/addons.dir/ImageDecoder.cpp.o.d -o CMakeFiles/addons.dir/ImageDecoder.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/ImageDecoder.cpp
[ 56%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/TextureCacheJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/TextureCacheJob.cpp.o -MF CMakeFiles/xbmc.dir/TextureCacheJob.cpp.o.d -o CMakeFiles/xbmc.dir/TextureCacheJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/TextureCacheJob.cpp
[ 56%] Building CXX object build/addons/CMakeFiles/addons.dir/ImageResource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/ImageResource.cpp.o -MF CMakeFiles/addons.dir/ImageResource.cpp.o.d -o CMakeFiles/addons.dir/ImageResource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/ImageResource.cpp
[ 56%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/FadeLabel.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/FadeLabel.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/FadeLabel.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/FadeLabel.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/FadeLabel.cpp
[ 56%] Building CXX object build/addons/CMakeFiles/addons.dir/LanguageResource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/LanguageResource.cpp.o -MF CMakeFiles/addons.dir/LanguageResource.cpp.o.d -o CMakeFiles/addons.dir/LanguageResource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/LanguageResource.cpp
[ 56%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/TextureDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/TextureDatabase.cpp.o -MF CMakeFiles/xbmc.dir/TextureDatabase.cpp.o.d -o CMakeFiles/xbmc.dir/TextureDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/TextureDatabase.cpp
[ 57%] Linking CXX static library addons_interfaces_gui.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui && /usr/bin/cmake -P CMakeFiles/addons_interfaces_gui.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_interfaces_gui.dir/link.txt --verbose=1
/usr/bin/ar qc addons_interfaces_gui.a CMakeFiles/addons_interfaces_gui.dir/GUITranslator.cpp.o CMakeFiles/addons_interfaces_gui.dir/General.cpp.o CMakeFiles/addons_interfaces_gui.dir/ListItem.cpp.o CMakeFiles/addons_interfaces_gui.dir/Window.cpp.o
/usr/bin/ranlib addons_interfaces_gui.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 57%] Built target addons_interfaces_gui
make  -f build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/build.make build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/build.make build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 57%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/ContextMenu.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/ContextMenu.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/ContextMenu.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/ContextMenu.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/ContextMenu.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Image.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Image.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Image.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Image.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Image.cpp
[ 57%] Building CXX object build/addons/CMakeFiles/addons.dir/PluginSource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/PluginSource.cpp.o -MF CMakeFiles/addons.dir/PluginSource.cpp.o.d -o CMakeFiles/addons.dir/PluginSource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/PluginSource.cpp
[ 57%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/ThumbLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/ThumbLoader.cpp.o -MF CMakeFiles/xbmc.dir/ThumbLoader.cpp.o.d -o CMakeFiles/xbmc.dir/ThumbLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ThumbLoader.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/ExtendedProgressBar.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/ExtendedProgressBar.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/ExtendedProgressBar.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/ExtendedProgressBar.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/ExtendedProgressBar.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Label.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Label.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Label.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Label.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Label.cpp
[ 57%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/URL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/URL.cpp.o -MF CMakeFiles/xbmc.dir/URL.cpp.o.d -o CMakeFiles/xbmc.dir/URL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/URL.cpp
[ 57%] Building CXX object build/addons/CMakeFiles/addons.dir/Repository.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/Repository.cpp.o -MF CMakeFiles/addons.dir/Repository.cpp.o.d -o CMakeFiles/addons.dir/Repository.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Repository.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/FileBrowser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/FileBrowser.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/FileBrowser.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/FileBrowser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/FileBrowser.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Progress.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Progress.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Progress.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Progress.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Progress.cpp
[ 57%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/Util.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/Util.cpp.o -MF CMakeFiles/xbmc.dir/Util.cpp.o.d -o CMakeFiles/xbmc.dir/Util.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/Util.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/RadioButton.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/RadioButton.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/RadioButton.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/RadioButton.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/RadioButton.cpp
[ 57%] Building CXX object build/addons/CMakeFiles/addons.dir/RepositoryUpdater.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/RepositoryUpdater.cpp.o -MF CMakeFiles/addons.dir/RepositoryUpdater.cpp.o.d -o CMakeFiles/addons.dir/RepositoryUpdater.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/RepositoryUpdater.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Keyboard.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Keyboard.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/Keyboard.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/Keyboard.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/Keyboard.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Rendering.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Rendering.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Rendering.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Rendering.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Rendering.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /usr/include/c++/12/functional:62,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Timer.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/RepositoryUpdater.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/RepositoryUpdater.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {CDateTime}; _Tp = CDateTime; _Alloc = std::allocator<CDateTime>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CDateTime>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
[ 57%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Numeric.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Numeric.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/Numeric.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/Numeric.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/Numeric.cpp
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CDateTime}; _Tp = CDateTime; _Alloc = std::allocator<CDateTime>]',
    inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = CDateTime; _Alloc = std::allocator<CDateTime>]' at /usr/include/c++/12/bits/stl_vector.h:1294:21,
    inlined from 'std::back_insert_iterator<_Container>& std::back_insert_iterator<_Container>::operator=(typename _Container::value_type&&) [with _Container = std::vector<CDateTime>]' at /usr/include/c++/12/bits/stl_iterator.h:743:22,
    inlined from '_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = __gnu_cxx::__normal_iterator<shared_ptr<ADDON::IAddon>*, vector<shared_ptr<ADDON::IAddon> > >; _OIter = back_insert_iterator<vector<CDateTime> >; _UnaryOperation = ADDON::CRepositoryUpdater::LastUpdated() const::<lambda(const ADDON::AddonPtr&)>]' at /usr/include/c++/12/bits/stl_algo.h:4263:12,
    inlined from 'CDateTime ADDON::CRepositoryUpdater::LastUpdated() const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/RepositoryUpdater.cpp:283:17:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CDateTime*, std::vector<CDateTime> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CDateTime}; _Tp = CDateTime; _Alloc = std::allocator<CDateTime>]',
    inlined from 'void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with _Tp = CDateTime; _Alloc = std::allocator<CDateTime>]' at /usr/include/c++/12/bits/stl_vector.h:1294:21,
    inlined from 'std::back_insert_iterator<_Container>& std::back_insert_iterator<_Container>::operator=(typename _Container::value_type&&) [with _Container = std::vector<CDateTime>]' at /usr/include/c++/12/bits/stl_iterator.h:743:22,
    inlined from '_OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation) [with _IIter = __gnu_cxx::__normal_iterator<shared_ptr<ADDON::IAddon>*, vector<shared_ptr<ADDON::IAddon> > >; _OIter = back_insert_iterator<vector<CDateTime> >; _UnaryOperation = ADDON::CRepositoryUpdater::ClosestNextCheck() const::<lambda(const ADDON::AddonPtr&)>]' at /usr/include/c++/12/bits/stl_algo.h:4263:12,
    inlined from 'CDateTime ADDON::CRepositoryUpdater::ClosestNextCheck() const' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/RepositoryUpdater.cpp:303:17:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CDateTime*, std::vector<CDateTime> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 57%] Building CXX object build/addons/CMakeFiles/addons.dir/Scraper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/Scraper.cpp.o -MF CMakeFiles/addons.dir/Scraper.cpp.o.d -o CMakeFiles/addons.dir/Scraper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp
[ 57%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/SettingsSlider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/SettingsSlider.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/SettingsSlider.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/SettingsSlider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/SettingsSlider.cpp
[ 57%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/XBDateTime.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/XBDateTime.cpp.o -MF CMakeFiles/xbmc.dir/XBDateTime.cpp.o.d -o CMakeFiles/xbmc.dir/XBDateTime.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.cpp
[ 59%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/OK.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/OK.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/OK.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/OK.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/OK.cpp
[ 59%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Slider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Slider.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Slider.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Slider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Slider.cpp
[ 59%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Progress.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Progress.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/Progress.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/Progress.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/Progress.cpp
In file included from /usr/include/c++/12/memory:67,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Addon.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:9:
/usr/include/c++/12/bits/stl_tempbuf.h: In constructor 'std::_Temporary_buffer<_ForwardIterator, _Tp>::_Temporary_buffer(_ForwardIterator, size_type) [with _ForwardIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >; _Tp = CScraperUrl]':
/usr/include/c++/12/bits/stl_tempbuf.h:258:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
  258 |     _Temporary_buffer<_ForwardIterator, _Tp>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/functional:64,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:15:
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:1802:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 1802 |     __insertion_sort(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1802:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function '_RandomAccessIterator std::_V2::__rotate(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >]':
/usr/include/c++/12/bits/stl_algo.h:1281:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 1281 |     __rotate(_RandomAccessIterator __first,
      |     ^~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1281:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:1281:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
[ 59%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Spin.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/Spin.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/Spin.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/Spin.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/Spin.cpp
In file included from /usr/include/c++/12/string:50,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.h:11:
/usr/include/c++/12/bits/stl_algobase.h: In function '_ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Tp = CScraperUrl; _Compare = __gnu_cxx::__ops::_Iter_comp_val<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algobase.h:1450:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 1450 |     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algobase.h:1450:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function '_ForwardIterator std::__upper_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Tp = CScraperUrl; _Compare = __gnu_cxx::__ops::_Val_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2011:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2011 |     __upper_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2011:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__merge_without_buffer(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2451:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2451 |     __merge_without_buffer(_BidirectionalIterator __first,
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2451:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2451:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2476:33: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2476 |             = std::__lower_bound(__middle, __last, *__first_cut,
      |               ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2477 |                                  __gnu_cxx::__ops::__iter_comp_val(__comp));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2485:33: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2485 |             = std::__upper_bound(__first, __middle, *__second_cut,
      |               ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2486 |                                  __gnu_cxx::__ops::__val_comp_iter(__comp));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function '_FIter std::_V2::rotate(_FIter, _FIter, _FIter) [with _FIter = __gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >]',
    inlined from 'void std::__merge_without_buffer(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]' at /usr/include/c++/12/bits/stl_algo.h:2491:15:
/usr/include/c++/12/bits/stl_algo.h:1397:27: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 1397 |       return std::__rotate(__first, __middle, __last,
      |              ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
 1398 |                            std::__iterator_category(__first));
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__merge_without_buffer(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2492:34: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2492 |       std::__merge_without_buffer(__first, __first_cut, __new_middle,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2493 |                                   __len11, __len22, __comp);
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2494:34: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2494 |       std::__merge_without_buffer(__new_middle, __second_cut, __last,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2495 |                                   __len1 - __len11, __len2 - __len22, __comp);
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__inplace_stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2739:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2739 |     __inplace_stable_sort(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2739:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2744:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2744 |           std::__insertion_sort(__first, __last, __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2748:33: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2748 |       std::__inplace_stable_sort(__first, __middle, __comp);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2749:33: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2749 |       std::__inplace_stable_sort(__middle, __last, __comp);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2750:34: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2750 |       std::__merge_without_buffer(__first, __middle, __last,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
 2751 |                                   __middle - __first,
      |                                   ~~~~~~~~~~~~~~~~~~~
 2752 |                                   __last - __middle,
      |                                   ~~~~~~~~~~~~~~~~~~
 2753 |                                   __comp);
      |                                   ~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function '_OutputIterator std::__move_merge(_InputIterator, _InputIterator, _InputIterator, _InputIterator, _OutputIterator, _Compare) [with _InputIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _OutputIterator = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2615:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2615 |     __move_merge(_InputIterator __first1, _InputIterator __last1,
      |     ^~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2615:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2615:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2615:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function '_OutputIterator std::__move_merge(_InputIterator, _InputIterator, _InputIterator, _InputIterator, _OutputIterator, _Compare) [with _InputIterator = CScraperUrl*; _OutputIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2615:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__merge_sort_with_buffer(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Pointer = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2682:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2682 |     __merge_sort_with_buffer(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2682:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
In function 'void std::__chunk_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Distance, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]',
    inlined from 'void std::__merge_sort_with_buffer(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Pointer = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]' at /usr/include/c++/12/bits/stl_algo.h:2693:34:
/usr/include/c++/12/bits/stl_algo.h:2672:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2672 |           std::__insertion_sort(__first, __first + __chunk_size, __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2675:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2675 |       std::__insertion_sort(__first, __last, __comp);
      |       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2675:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
In function 'void std::__merge_sort_loop(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _Distance, _Compare) [with _RandomAccessIterator1 = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _RandomAccessIterator2 = CScraperUrl*; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]',
    inlined from 'void std::__merge_sort_with_buffer(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Pointer = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]' at /usr/include/c++/12/bits/stl_algo.h:2697:26:
/usr/include/c++/12/bits/stl_algo.h:2650:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2650 |           __result = std::__move_merge(__first, __first + __step_size,
      |                      ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2651 |                                        __first + __step_size,
      |                                        ~~~~~~~~~~~~~~~~~~~~~~
 2652 |                                        __first + __two_step,
      |                                        ~~~~~~~~~~~~~~~~~~~~~
 2653 |                                        __result, __comp);
      |                                        ~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2650:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2658:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2658 |       std::__move_merge(__first, __first + __step_size,
      |       ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2659 |                         __first + __step_size, __last, __result, __comp);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2658:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
In function 'void std::__merge_sort_loop(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _Distance, _Compare) [with _RandomAccessIterator1 = CScraperUrl*; _RandomAccessIterator2 = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]',
    inlined from 'void std::__merge_sort_with_buffer(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Pointer = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]' at /usr/include/c++/12/bits/stl_algo.h:2700:26:
/usr/include/c++/12/bits/stl_algo.h:2650:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2650 |           __result = std::__move_merge(__first, __first + __step_size,
      |                      ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2651 |                                        __first + __step_size,
      |                                        ~~~~~~~~~~~~~~~~~~~~~~
 2652 |                                        __first + __two_step,
      |                                        ~~~~~~~~~~~~~~~~~~~~~
 2653 |                                        __result, __comp);
      |                                        ~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2658:24: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2658 |       std::__move_merge(__first, __first + __step_size,
      |       ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2659 |                         __first + __step_size, __last, __result, __comp);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 59%] Building CXX object build/xbmc/CMakeFiles/xbmc.dir/Autorun.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/c++ -DHAVE_LIBCAP=1 -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/xbmc/CMakeFiles/xbmc.dir/Autorun.cpp.o -MF CMakeFiles/xbmc.dir/Autorun.cpp.o.d -o CMakeFiles/xbmc.dir/Autorun.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/Autorun.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h:14:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {CScraperUrl}; _Tp = CScraperUrl; _Alloc = std::allocator<CScraperUrl>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CScraperUrl>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const CScraperUrl&}; _Tp = CScraperUrl; _Alloc = std::allocator<CScraperUrl>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<CScraperUrl>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {MUSIC_GRABBER::CMusicArtistInfo}; _Tp = MUSIC_GRABBER::CMusicArtistInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicArtistInfo>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<MUSIC_GRABBER::CMusicArtistInfo>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const MUSIC_GRABBER::CMusicArtistInfo&}; _Tp = MUSIC_GRABBER::CMusicArtistInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicArtistInfo>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<MUSIC_GRABBER::CMusicArtistInfo>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const VIDEO::EPISODE&}; _Tp = VIDEO::EPISODE; _Alloc = std::allocator<VIDEO::EPISODE>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<VIDEO::EPISODE>::iterator' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__merge_adaptive(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Pointer = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2390:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2390 |     __merge_adaptive(_BidirectionalIterator __first,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2390:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2390:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2420:37: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2420 |                 = std::__lower_bound(__middle, __last, *__first_cut,
      |                   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2421 |                                      __gnu_cxx::__ops::__iter_comp_val(__comp));
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2429:37: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2429 |                 = std::__upper_bound(__first, __middle, *__second_cut,
      |                   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2430 |                                      __gnu_cxx::__ops::__val_comp_iter(__comp));
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function '_FIter std::_V2::rotate(_FIter, _FIter, _FIter) [with _FIter = __gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >]',
    inlined from '_BidirectionalIterator1 std::__rotate_adaptive(_BidirectionalIterator1, _BidirectionalIterator1, _BidirectionalIterator1, _Distance, _Distance, _BidirectionalIterator2, _Distance) [with _BidirectionalIterator1 = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _BidirectionalIterator2 = CScraperUrl*; _Distance = int]' at /usr/include/c++/12/bits/stl_algo.h:2383:20,
    inlined from 'void std::__merge_adaptive(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Pointer = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]' at /usr/include/c++/12/bits/stl_algo.h:2435:30:
/usr/include/c++/12/bits/stl_algo.h:1397:27: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 1397 |       return std::__rotate(__first, __middle, __last,
      |              ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
 1398 |                            std::__iterator_category(__first));
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__merge_adaptive(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Distance = int; _Pointer = CScraperUrl*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2438:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2438 |           std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2439 |                                 __len22, __buffer, __buffer_size, __comp);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2440:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2440 |           std::__merge_adaptive(__new_middle, __second_cut, __last,
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2441 |                                 __len1 - __len11,
      |                                 ~~~~~~~~~~~~~~~~~
 2442 |                                 __len2 - __len22, __buffer,
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2443 |                                 __buffer_size, __comp);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__stable_sort_adaptive(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Distance, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Pointer = CScraperUrl*; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]':
/usr/include/c++/12/bits/stl_algo.h:2709:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2709 |     __stable_sort_adaptive(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2709:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h:2718:38: note: parameter passing for argument of type 'const __gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2718 |           std::__stable_sort_adaptive(__first, __middle, __buffer,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2719 |                                       __buffer_size, __comp);
      |                                       ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2720:38: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2720 |           std::__stable_sort_adaptive(__middle, __last, __buffer,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2721 |                                       __buffer_size, __comp);
      |                                       ~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2725:40: note: parameter passing for argument of type 'const __gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2725 |           std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2726:40: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2726 |           std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:2729:28: note: parameter passing for argument of type 'const __gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 2729 |       std::__merge_adaptive(__first, __middle, __last,
      |       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
 2730 |                             _Distance(__middle - __first),
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2731 |                             _Distance(__last - __middle),
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2732 |                             __buffer, __buffer_size,
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~
 2733 |                             __comp);
      |                             ~~~~~~~
In file included from /usr/include/c++/12/memory:66:
/usr/include/c++/12/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*]':
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >; _ForwardIterator = CSong*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*; _Tp = CSong]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'CAlbum::CAlbum(const CAlbum&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h:26:7:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const MUSIC_GRABBER::CMusicAlbumInfo&}; _Tp = MUSIC_GRABBER::CMusicAlbumInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicAlbumInfo>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<MUSIC_GRABBER::CMusicAlbumInfo>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {MUSIC_GRABBER::CMusicAlbumInfo}; _Tp = MUSIC_GRABBER::CMusicAlbumInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicAlbumInfo>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<MUSIC_GRABBER::CMusicAlbumInfo>::iterator' changed in GCC 7.1
[ 59%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Select.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/Select.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/Select.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/Select.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/Select.cpp
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {CScraperUrl}; _Tp = CScraperUrl; _Alloc = std::allocator<CScraperUrl>]',
    inlined from 'std::vector<_Tp> ADDON::PythonFind(const std::string&, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&) [with T = CScraperUrl]' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:681:26,
    inlined from 'std::vector<CScraperUrl> ADDON::CScraper::FindMovie(XFILE::CCurlFile&, const std::string&, int, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:903:53:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = CScraperUrl; _Alloc = std::allocator<CScraperUrl>]',
    inlined from 'std::vector<CScraperUrl> ADDON::CScraper::FindMovie(XFILE::CCurlFile&, const std::string&, int, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1006:28:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In function 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const CScraperUrl&, const CScraperUrl&)>]',
    inlined from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<CScraperUrl*, vector<CScraperUrl> >; _Compare = bool (*)(const CScraperUrl&, const CScraperUrl&)]' at /usr/include/c++/12/bits/stl_algo.h:5070:36,
    inlined from 'std::vector<CScraperUrl> ADDON::CScraper::FindMovie(XFILE::CCurlFile&, const std::string&, int, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1016:21:
/usr/include/c++/12/bits/stl_algo.h:4996:15: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 4996 |       _TmpBuf __buf(__first, (__last - __first + 1) / 2);
      |               ^~~~~
/usr/include/c++/12/bits/stl_algo.h:4999:35: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 4999 |         std::__inplace_stable_sort(__first, __last, __comp);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:5001:36: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<CScraperUrl*, std::vector<CScraperUrl> >' changed in GCC 7.1
 5001 |         std::__stable_sort_adaptive(__first, __last, __buf.begin(),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 5002 |                                     _DistanceType(__buf.size()), __comp);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >; _ForwardIterator = CSong*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const CSong*, vector<CSong> >; _ForwardIterator = CSong*; _Tp = CSong]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >; _Tp = CSong; _Alloc = std::allocator<CSong>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = CSong; _Alloc = std::allocator<CSong>]' at /usr/include/c++/12/bits/vector.tcc:232:44,
    inlined from 'CAlbum& CAlbum::operator=(const CAlbum&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h:26:7,
    inlined from 'MUSIC_GRABBER::CMusicAlbumInfo& MUSIC_GRABBER::CMusicAlbumInfo::operator=(const MUSIC_GRABBER::CMusicAlbumInfo&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/infoscanner/MusicAlbumInfo.h:21:7,
    inlined from 'T ADDON::FromFileItem(const CFileItem&) [with T = MUSIC_GRABBER::CMusicAlbumInfo]' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:625:58,
    inlined from 'std::vector<_Tp> ADDON::PythonFind(const std::string&, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&) [with T = MUSIC_GRABBER::CMusicAlbumInfo]' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:681:26,
    inlined from 'std::vector<MUSIC_GRABBER::CMusicAlbumInfo> ADDON::CScraper::FindAlbum(XFILE::CCurlFile&, const std::string&, const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1039:90:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CSong*, std::vector<CSong> >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {MUSIC_GRABBER::CMusicAlbumInfo}; _Tp = MUSIC_GRABBER::CMusicAlbumInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicAlbumInfo>]',
    inlined from 'std::vector<_Tp> ADDON::PythonFind(const std::string&, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&) [with T = MUSIC_GRABBER::CMusicAlbumInfo]' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:681:26,
    inlined from 'std::vector<MUSIC_GRABBER::CMusicAlbumInfo> ADDON::CScraper::FindAlbum(XFILE::CCurlFile&, const std::string&, const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1039:90:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicAlbumInfo*, std::vector<MUSIC_GRABBER::CMusicAlbumInfo> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = MUSIC_GRABBER::CMusicAlbumInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicAlbumInfo>]',
    inlined from 'std::vector<MUSIC_GRABBER::CMusicAlbumInfo> ADDON::CScraper::FindAlbum(XFILE::CCurlFile&, const std::string&, const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1117:24:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicAlbumInfo*, std::vector<MUSIC_GRABBER::CMusicAlbumInfo> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {MUSIC_GRABBER::CMusicArtistInfo}; _Tp = MUSIC_GRABBER::CMusicArtistInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicArtistInfo>]',
    inlined from 'std::vector<_Tp> ADDON::PythonFind(const std::string&, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&) [with T = MUSIC_GRABBER::CMusicArtistInfo]' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:681:26,
    inlined from 'std::vector<MUSIC_GRABBER::CMusicArtistInfo> ADDON::CScraper::FindArtist(XFILE::CCurlFile&, const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1140:71:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicArtistInfo*, std::vector<MUSIC_GRABBER::CMusicArtistInfo> >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = MUSIC_GRABBER::CMusicArtistInfo; _Alloc = std::allocator<MUSIC_GRABBER::CMusicArtistInfo>]',
    inlined from 'std::vector<MUSIC_GRABBER::CMusicArtistInfo> ADDON::CScraper::FindArtist(XFILE::CCurlFile&, const std::string&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1205:24:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<MUSIC_GRABBER::CMusicArtistInfo*, std::vector<MUSIC_GRABBER::CMusicArtistInfo> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 59%] Building CXX object build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/TextBox.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_controls/CMakeFiles/addons_interfaces_gui_controls.dir/TextBox.cpp.o -MF CMakeFiles/addons_interfaces_gui_controls.dir/TextBox.cpp.o.d -o CMakeFiles/addons_interfaces_gui_controls.dir/TextBox.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/controls/TextBox.cpp
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = VIDEO::EPISODE; _Alloc = std::allocator<VIDEO::EPISODE>]',
    inlined from 'VIDEO::EPISODELIST ADDON::CScraper::GetEpisodeList(XFILE::CCurlFile&, const CScraperUrl&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1249:21:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<VIDEO::EPISODE*, std::vector<VIDEO::EPISODE> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = VIDEO::EPISODE; _Alloc = std::allocator<VIDEO::EPISODE>]',
    inlined from 'VIDEO::EPISODELIST ADDON::CScraper::GetEpisodeList(XFILE::CCurlFile&, const CScraperUrl&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Scraper.cpp:1304:23:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<VIDEO::EPISODE*, std::vector<VIDEO::EPISODE> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 59%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/TextViewer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/TextViewer.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/TextViewer.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/TextViewer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/TextViewer.cpp
[ 60%] Building CXX object build/addons/CMakeFiles/addons.dir/ScreenSaver.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/ScreenSaver.cpp.o -MF CMakeFiles/addons.dir/ScreenSaver.cpp.o.d -o CMakeFiles/addons.dir/ScreenSaver.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/ScreenSaver.cpp
[ 60%] Linking CXX static library xbmc.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/cmake -P CMakeFiles/xbmc.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/xbmc && /usr/bin/cmake -E cmake_link_script CMakeFiles/xbmc.dir/link.txt --verbose=1
/usr/bin/ar qc xbmc.a CMakeFiles/xbmc.dir/AutoSwitch.cpp.o CMakeFiles/xbmc.dir/BackgroundInfoLoader.cpp.o CMakeFiles/xbmc.dir/ContextMenuItem.cpp.o CMakeFiles/xbmc.dir/ContextMenuManager.cpp.o CMakeFiles/xbmc.dir/ContextMenus.cpp.o CMakeFiles/xbmc.dir/CueDocument.cpp.o CMakeFiles/xbmc.dir/DatabaseManager.cpp.o CMakeFiles/xbmc.dir/DbUrl.cpp.o CMakeFiles/xbmc.dir/DynamicDll.cpp.o CMakeFiles/xbmc.dir/FileItem.cpp.o CMakeFiles/xbmc.dir/FileItemListModification.cpp.o CMakeFiles/xbmc.dir/GUIInfoManager.cpp.o CMakeFiles/xbmc.dir/GUILargeTextureManager.cpp.o CMakeFiles/xbmc.dir/GUIPassword.cpp.o CMakeFiles/xbmc.dir/InfoScanner.cpp.o CMakeFiles/xbmc.dir/LangInfo.cpp.o CMakeFiles/xbmc.dir/MediaSource.cpp.o CMakeFiles/xbmc.dir/NfoFile.cpp.o CMakeFiles/xbmc.dir/PasswordManager.cpp.o CMakeFiles/xbmc.dir/PlayListPlayer.cpp.o CMakeFiles/xbmc.dir/PartyModeManager.cpp.o CMakeFiles/xbmc.dir/SectionLoader.cpp.o CMakeFiles/xbmc.dir/SeekHandler.cpp.o CMakeFiles/xbmc.dir/ServiceBroker.cpp.o CMakeFiles/xbmc.dir/ServiceManager.cpp.o CMakeFiles/xbmc.dir/SystemGlobals.cpp.o CMakeFiles/xbmc.dir/TextureCache.cpp.o CMakeFiles/xbmc.dir/TextureCacheJob.cpp.o CMakeFiles/xbmc.dir/TextureDatabase.cpp.o CMakeFiles/xbmc.dir/ThumbLoader.cpp.o CMakeFiles/xbmc.dir/URL.cpp.o CMakeFiles/xbmc.dir/Util.cpp.o CMakeFiles/xbmc.dir/XBDateTime.cpp.o CMakeFiles/xbmc.dir/Autorun.cpp.o
/usr/bin/ranlib xbmc.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Built target xbmc
[ 60%] Building CXX object build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/YesNo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_interfaces_gui_dialogs/CMakeFiles/addons_interfaces_gui_dialogs.dir/YesNo.cpp.o -MF CMakeFiles/addons_interfaces_gui_dialogs.dir/YesNo.cpp.o.d -o CMakeFiles/addons_interfaces_gui_dialogs.dir/YesNo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/interfaces/gui/dialogs/YesNo.cpp
[ 60%] Linking CXX static library addons_interfaces_gui_controls.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/cmake -P CMakeFiles/addons_interfaces_gui_controls.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_controls && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_interfaces_gui_controls.dir/link.txt --verbose=1
/usr/bin/ar qc addons_interfaces_gui_controls.a CMakeFiles/addons_interfaces_gui_controls.dir/Button.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/Edit.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/FadeLabel.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/Image.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/Label.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/Progress.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/RadioButton.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/Rendering.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/SettingsSlider.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/Slider.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/Spin.cpp.o CMakeFiles/addons_interfaces_gui_controls.dir/TextBox.cpp.o
/usr/bin/ranlib addons_interfaces_gui_controls.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Built target addons_interfaces_gui_controls
make  -f build/addons_settings/CMakeFiles/addons_settings.dir/build.make build/addons_settings/CMakeFiles/addons_settings.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_settings /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_settings/CMakeFiles/addons_settings.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/addons_settings/CMakeFiles/addons_settings.dir/build.make build/addons_settings/CMakeFiles/addons_settings.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Building CXX object build/addons_settings/CMakeFiles/addons_settings.dir/AddonSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_settings/CMakeFiles/addons_settings.dir/AddonSettings.cpp.o -MF CMakeFiles/addons_settings.dir/AddonSettings.cpp.o.d -o CMakeFiles/addons_settings.dir/AddonSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings/AddonSettings.cpp
make  -f build/application/CMakeFiles/application.dir/build.make build/application/CMakeFiles/application.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application/CMakeFiles/application.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/application/CMakeFiles/application.dir/build.make build/application/CMakeFiles/application.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Building CXX object build/application/CMakeFiles/application.dir/AppEnvironment.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/AppEnvironment.cpp.o -MF CMakeFiles/application.dir/AppEnvironment.cpp.o.d -o CMakeFiles/application.dir/AppEnvironment.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/AppEnvironment.cpp
[ 60%] Building CXX object build/addons/CMakeFiles/addons.dir/Service.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/Service.cpp.o -MF CMakeFiles/addons.dir/Service.cpp.o.d -o CMakeFiles/addons.dir/Service.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Service.cpp
[ 60%] Building CXX object build/application/CMakeFiles/application.dir/AppInboundProtocol.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/AppInboundProtocol.cpp.o -MF CMakeFiles/application.dir/AppInboundProtocol.cpp.o.d -o CMakeFiles/application.dir/AppInboundProtocol.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/AppInboundProtocol.cpp
[ 60%] Linking CXX static library addons_interfaces_gui_dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/cmake -P CMakeFiles/addons_interfaces_gui_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_interfaces_gui_dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_interfaces_gui_dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc addons_interfaces_gui_dialogs.a CMakeFiles/addons_interfaces_gui_dialogs.dir/ContextMenu.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/ExtendedProgressBar.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/FileBrowser.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/Keyboard.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/Numeric.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/OK.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/Progress.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/Select.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/TextViewer.cpp.o CMakeFiles/addons_interfaces_gui_dialogs.dir/YesNo.cpp.o
/usr/bin/ranlib addons_interfaces_gui_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Built target addons_interfaces_gui_dialogs
[ 60%] Building CXX object build/application/CMakeFiles/application.dir/Application.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/Application.cpp.o -MF CMakeFiles/application.dir/Application.cpp.o.d -o CMakeFiles/application.dir/Application.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.cpp
make  -f build/commons/CMakeFiles/commons.dir/build.make build/commons/CMakeFiles/commons.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/commons /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/commons/CMakeFiles/commons.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/commons/CMakeFiles/commons.dir/build.make build/commons/CMakeFiles/commons.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Building CXX object build/commons/CMakeFiles/commons.dir/Exception.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/commons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/commons/CMakeFiles/commons.dir/Exception.cpp.o -MF CMakeFiles/commons.dir/Exception.cpp.o.d -o CMakeFiles/commons.dir/Exception.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons/Exception.cpp
[ 60%] Building CXX object build/addons/CMakeFiles/addons.dir/Skin.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/Skin.cpp.o -MF CMakeFiles/addons.dir/Skin.cpp.o.d -o CMakeFiles/addons.dir/Skin.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Skin.cpp
[ 60%] Linking CXX static library commons.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/commons && /usr/bin/cmake -P CMakeFiles/commons.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/commons && /usr/bin/cmake -E cmake_link_script CMakeFiles/commons.dir/link.txt --verbose=1
/usr/bin/ar qc commons.a CMakeFiles/commons.dir/Exception.cpp.o
/usr/bin/ranlib commons.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Built target commons
[ 60%] Building CXX object build/addons_settings/CMakeFiles/addons_settings.dir/SettingUrlEncodedString.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_settings && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons_settings/CMakeFiles/addons_settings.dir/SettingUrlEncodedString.cpp.o -MF CMakeFiles/addons_settings.dir/SettingUrlEncodedString.cpp.o.d -o CMakeFiles/addons_settings.dir/SettingUrlEncodedString.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings/SettingUrlEncodedString.cpp
make  -f build/dbwrappers/CMakeFiles/dbwrappers.dir/build.make build/dbwrappers/CMakeFiles/dbwrappers.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers/CMakeFiles/dbwrappers.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/dbwrappers/CMakeFiles/dbwrappers.dir/build.make build/dbwrappers/CMakeFiles/dbwrappers.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 60%] Building CXX object build/dbwrappers/CMakeFiles/dbwrappers.dir/Database.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dbwrappers/CMakeFiles/dbwrappers.dir/Database.cpp.o -MF CMakeFiles/dbwrappers.dir/Database.cpp.o.d -o CMakeFiles/dbwrappers.dir/Database.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/Database.cpp
In file included from /usr/include/c++/12/memory:66,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings/AddonSettings.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings/AddonSettings.cpp:9:
/usr/include/c++/12/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]':
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/vector.tcc:232:44:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'StringSettingOption::StringSettingOption(const StringSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:85:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = StringSettingOption; _Args = {const StringSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, std::vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, vector<StringSettingOption> >; _ForwardIterator = StringSettingOption*; _Tp = StringSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const StringSettingOption*, std::vector<StringSettingOption> >; _Tp = StringSettingOption; _Alloc = std::allocator<StringSettingOption>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = StringSettingOption; _Alloc = std::allocator<StringSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:232:44:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'StringSettingOption::StringSettingOption(const StringSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:85:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = StringSettingOption; _Args = {StringSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = StringSettingOption*; _ForwardIterator = StringSettingOption*; _Tp = StringSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = StringSettingOption; _Alloc = std::allocator<StringSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:251:35:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'IntegerSettingOption::IntegerSettingOption(const IntegerSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:66:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = IntegerSettingOption; _Args = {const IntegerSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, std::vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, vector<IntegerSettingOption> >; _ForwardIterator = IntegerSettingOption*; _Tp = IntegerSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const IntegerSettingOption*, std::vector<IntegerSettingOption> >; _Tp = IntegerSettingOption; _Alloc = std::allocator<IntegerSettingOption>]' at /usr/include/c++/12/bits/stl_vector.h:1617:35,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = IntegerSettingOption; _Alloc = std::allocator<IntegerSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:232:44,
    inlined from 'void CSettingInt::SetOptions(const IntegerSettingOptions&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h:316:71,
    inlined from 'SettingPtr ADDON::CAddonSettings::InitializeFromOldSettingEnums(const std::string&, const std::string&, const TiXmlElement*, const std::string&, const std::string&, const std::vector<std::__cxx11::basic_string<char> >&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings/AddonSettings.cpp:1258:29:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = std::pair<std::__cxx11::basic_string<char>, CVariant>*; bool _TrivialValueTypes = false]',
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const pair<__cxx11::basic_string<char>, CVariant>*, vector<pair<__cxx11::basic_string<char>, CVariant> > >; _ForwardIterator = pair<__cxx11::basic_string<char>, CVariant>*; _Tp = pair<__cxx11::basic_string<char>, CVariant>]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_vector.h:601:31,
    inlined from 'IntegerSettingOption::IntegerSettingOption(const IntegerSettingOption&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h:66:8,
    inlined from 'void std::_Construct(_Tp*, _Args&& ...) [with _Tp = IntegerSettingOption; _Args = {IntegerSettingOption&}]' at /usr/include/c++/12/bits/stl_construct.h:119:7,
    inlined from '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:120:21,
    inlined from 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*; bool _TrivialValueTypes = false]' at /usr/include/c++/12/bits/stl_uninitialized.h:137:32,
    inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*]' at /usr/include/c++/12/bits/stl_uninitialized.h:185:15,
    inlined from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = IntegerSettingOption*; _ForwardIterator = IntegerSettingOption*; _Tp = IntegerSettingOption]' at /usr/include/c++/12/bits/stl_uninitialized.h:372:37,
    inlined from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = IntegerSettingOption; _Alloc = std::allocator<IntegerSettingOption>]' at /usr/include/c++/12/bits/vector.tcc:251:35,
    inlined from 'void CSettingInt::SetOptions(const IntegerSettingOptions&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h:316:71,
    inlined from 'SettingPtr ADDON::CAddonSettings::InitializeFromOldSettingEnums(const std::string&, const std::string&, const TiXmlElement*, const std::string&, const std::string&, const std::vector<std::__cxx11::basic_string<char> >&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/settings/AddonSettings.cpp:1258:29:
/usr/include/c++/12/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const std::pair<std::__cxx11::basic_string<char>, CVariant>*, std::vector<std::pair<std::__cxx11::basic_string<char>, CVariant> > >' changed in GCC 7.1
  137 |         { return std::__do_uninit_copy(__first, __last, __result); }
      |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 61%] Building CXX object build/dbwrappers/CMakeFiles/dbwrappers.dir/DatabaseQuery.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dbwrappers/CMakeFiles/dbwrappers.dir/DatabaseQuery.cpp.o -MF CMakeFiles/dbwrappers.dir/DatabaseQuery.cpp.o.d -o CMakeFiles/dbwrappers.dir/DatabaseQuery.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/DatabaseQuery.cpp
[ 61%] Building CXX object build/addons/CMakeFiles/addons.dir/TimeZoneResource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/TimeZoneResource.cpp.o -MF CMakeFiles/addons.dir/TimeZoneResource.cpp.o.d -o CMakeFiles/addons.dir/TimeZoneResource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/TimeZoneResource.cpp
[ 61%] Building CXX object build/addons/CMakeFiles/addons.dir/UISoundsResource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/UISoundsResource.cpp.o -MF CMakeFiles/addons.dir/UISoundsResource.cpp.o.d -o CMakeFiles/addons.dir/UISoundsResource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/UISoundsResource.cpp
[ 61%] Building CXX object build/dbwrappers/CMakeFiles/dbwrappers.dir/dataset.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dbwrappers/CMakeFiles/dbwrappers.dir/dataset.cpp.o -MF CMakeFiles/dbwrappers.dir/dataset.cpp.o.d -o CMakeFiles/dbwrappers.dir/dataset.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/dataset.cpp
[ 61%] Building CXX object build/addons/CMakeFiles/addons.dir/VFSEntry.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/VFSEntry.cpp.o -MF CMakeFiles/addons.dir/VFSEntry.cpp.o.d -o CMakeFiles/addons.dir/VFSEntry.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/VFSEntry.cpp
[ 61%] Linking CXX static library addons_settings.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_settings && /usr/bin/cmake -P CMakeFiles/addons_settings.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons_settings && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons_settings.dir/link.txt --verbose=1
/usr/bin/ar qc addons_settings.a CMakeFiles/addons_settings.dir/AddonSettings.cpp.o CMakeFiles/addons_settings.dir/SettingUrlEncodedString.cpp.o
/usr/bin/ranlib addons_settings.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 61%] Built target addons_settings
[ 61%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationActionListeners.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationActionListeners.cpp.o -MF CMakeFiles/application.dir/ApplicationActionListeners.cpp.o.d -o CMakeFiles/application.dir/ApplicationActionListeners.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationActionListeners.cpp
make  -f build/dialogs/CMakeFiles/dialogs.dir/build.make build/dialogs/CMakeFiles/dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs/CMakeFiles/dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/dialogs/CMakeFiles/dialogs.dir/build.make build/dialogs/CMakeFiles/dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 61%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogBoxBase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogBoxBase.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogBoxBase.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogBoxBase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogBoxBase.cpp
[ 61%] Building CXX object build/dbwrappers/CMakeFiles/dbwrappers.dir/qry_dat.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dbwrappers/CMakeFiles/dbwrappers.dir/qry_dat.cpp.o -MF CMakeFiles/dbwrappers.dir/qry_dat.cpp.o.d -o CMakeFiles/dbwrappers.dir/qry_dat.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/qry_dat.cpp
[ 61%] Building CXX object build/dbwrappers/CMakeFiles/dbwrappers.dir/sqlitedataset.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dbwrappers/CMakeFiles/dbwrappers.dir/sqlitedataset.cpp.o -MF CMakeFiles/dbwrappers.dir/sqlitedataset.cpp.o.d -o CMakeFiles/dbwrappers.dir/sqlitedataset.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/sqlitedataset.cpp
[ 61%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationPlayer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationPlayer.cpp.o -MF CMakeFiles/application.dir/ApplicationPlayer.cpp.o.d -o CMakeFiles/application.dir/ApplicationPlayer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.cpp
[ 61%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogBusy.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogBusy.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogBusy.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogBusy.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogBusy.cpp
[ 61%] Building CXX object build/addons/CMakeFiles/addons.dir/Visualization.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/Visualization.cpp.o -MF CMakeFiles/addons.dir/Visualization.cpp.o.d -o CMakeFiles/addons.dir/Visualization.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Visualization.cpp
[ 61%] Building CXX object build/dbwrappers/CMakeFiles/dbwrappers.dir/mysqldataset.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dbwrappers/CMakeFiles/dbwrappers.dir/mysqldataset.cpp.o -MF CMakeFiles/dbwrappers.dir/mysqldataset.cpp.o.d -o CMakeFiles/dbwrappers.dir/mysqldataset.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dbwrappers/mysqldataset.cpp
[ 61%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogBusyNoCancel.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogBusyNoCancel.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogBusyNoCancel.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogBusyNoCancel.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogBusyNoCancel.cpp
[ 62%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationPlayerCallback.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationPlayerCallback.cpp.o -MF CMakeFiles/application.dir/ApplicationPlayerCallback.cpp.o.d -o CMakeFiles/application.dir/ApplicationPlayerCallback.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayerCallback.cpp
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogButtonMenu.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogButtonMenu.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogButtonMenu.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogButtonMenu.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogButtonMenu.cpp
[ 62%] Building CXX object build/addons/CMakeFiles/addons.dir/Webinterface.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/addons/CMakeFiles/addons.dir/Webinterface.cpp.o -MF CMakeFiles/addons.dir/Webinterface.cpp.o.d -o CMakeFiles/addons.dir/Webinterface.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Webinterface.cpp
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogCache.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogCache.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogCache.cpp
[ 62%] Linking CXX static library dbwrappers.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/cmake -P CMakeFiles/dbwrappers.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dbwrappers && /usr/bin/cmake -E cmake_link_script CMakeFiles/dbwrappers.dir/link.txt --verbose=1
/usr/bin/ar qc dbwrappers.a CMakeFiles/dbwrappers.dir/Database.cpp.o CMakeFiles/dbwrappers.dir/DatabaseQuery.cpp.o CMakeFiles/dbwrappers.dir/dataset.cpp.o CMakeFiles/dbwrappers.dir/qry_dat.cpp.o CMakeFiles/dbwrappers.dir/sqlitedataset.cpp.o CMakeFiles/dbwrappers.dir/mysqldataset.cpp.o
/usr/bin/ranlib dbwrappers.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 62%] Built target dbwrappers
[ 62%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationPowerHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationPowerHandling.cpp.o -MF CMakeFiles/application.dir/ApplicationPowerHandling.cpp.o.d -o CMakeFiles/application.dir/ApplicationPowerHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPowerHandling.cpp
[ 62%] Linking CXX static library addons.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/cmake -P CMakeFiles/addons.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/addons && /usr/bin/cmake -E cmake_link_script CMakeFiles/addons.dir/link.txt --verbose=1
/usr/bin/ar qc addons.a CMakeFiles/addons.dir/Addon.cpp.o CMakeFiles/addons.dir/AddonBuilder.cpp.o CMakeFiles/addons.dir/BinaryAddonCache.cpp.o CMakeFiles/addons.dir/AddonDatabase.cpp.o CMakeFiles/addons.dir/AddonInstaller.cpp.o CMakeFiles/addons.dir/AddonManager.cpp.o CMakeFiles/addons.dir/AddonRepos.cpp.o CMakeFiles/addons.dir/AddonStatusHandler.cpp.o CMakeFiles/addons.dir/AddonSystemSettings.cpp.o CMakeFiles/addons.dir/AddonUpdateRules.cpp.o CMakeFiles/addons.dir/AddonVersion.cpp.o CMakeFiles/addons.dir/AudioDecoder.cpp.o CMakeFiles/addons.dir/ContextMenuAddon.cpp.o CMakeFiles/addons.dir/ContextMenus.cpp.o CMakeFiles/addons.dir/ExtsMimeSupportList.cpp.o CMakeFiles/addons.dir/FontResource.cpp.o CMakeFiles/addons.dir/FilesystemInstaller.cpp.o CMakeFiles/addons.dir/GameResource.cpp.o CMakeFiles/addons.dir/ImageDecoder.cpp.o CMakeFiles/addons.dir/ImageResource.cpp.o CMakeFiles/addons.dir/LanguageResource.cpp.o CMakeFiles/addons.dir/PluginSource.cpp.o CMakeFiles/addons.dir/Repository.cpp.o CMakeFiles/addons.dir/RepositoryUpdater.cpp.o CMakeFiles/addons.dir/Scraper.cpp.o CMakeFiles/addons.dir/ScreenSaver.cpp.o CMakeFiles/addons.dir/Service.cpp.o CMakeFiles/addons.dir/Skin.cpp.o CMakeFiles/addons.dir/TimeZoneResource.cpp.o CMakeFiles/addons.dir/UISoundsResource.cpp.o CMakeFiles/addons.dir/VFSEntry.cpp.o CMakeFiles/addons.dir/Visualization.cpp.o CMakeFiles/addons.dir/Webinterface.cpp.o
/usr/bin/ranlib addons.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 62%] Built target addons
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogColorPicker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogColorPicker.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogColorPicker.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogColorPicker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogColorPicker.cpp
make  -f build/favourites/CMakeFiles/favourites.dir/build.make build/favourites/CMakeFiles/favourites.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites/CMakeFiles/favourites.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/favourites/CMakeFiles/favourites.dir/build.make build/favourites/CMakeFiles/favourites.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 62%] Building CXX object build/favourites/CMakeFiles/favourites.dir/ContextMenus.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/favourites/CMakeFiles/favourites.dir/ContextMenus.cpp.o -MF CMakeFiles/favourites.dir/ContextMenus.cpp.o.d -o CMakeFiles/favourites.dir/ContextMenus.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites/ContextMenus.cpp
make  -f build/guilib/CMakeFiles/guilib.dir/build.make build/guilib/CMakeFiles/guilib.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib/CMakeFiles/guilib.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/guilib/CMakeFiles/guilib.dir/build.make build/guilib/CMakeFiles/guilib.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 62%] Building CXX object build/guilib/CMakeFiles/guilib.dir/DDSImage.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/DDSImage.cpp.o -MF CMakeFiles/guilib.dir/DDSImage.cpp.o.d -o CMakeFiles/guilib.dir/DDSImage.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DDSImage.cpp
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogContextMenu.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogContextMenu.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogContextMenu.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogContextMenu.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogContextMenu.cpp
[ 62%] Building CXX object build/favourites/CMakeFiles/favourites.dir/GUIDialogFavourites.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/favourites/CMakeFiles/favourites.dir/GUIDialogFavourites.cpp.o -MF CMakeFiles/favourites.dir/GUIDialogFavourites.cpp.o.d -o CMakeFiles/favourites.dir/GUIDialogFavourites.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites/GUIDialogFavourites.cpp
[ 62%] Building CXX object build/guilib/CMakeFiles/guilib.dir/DirtyRegionSolvers.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/DirtyRegionSolvers.cpp.o -MF CMakeFiles/guilib.dir/DirtyRegionSolvers.cpp.o.d -o CMakeFiles/guilib.dir/DirtyRegionSolvers.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionSolvers.cpp
[ 62%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationSettingsHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationSettingsHandling.cpp.o -MF CMakeFiles/application.dir/ApplicationSettingsHandling.cpp.o.d -o CMakeFiles/application.dir/ApplicationSettingsHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationSettingsHandling.cpp
[ 62%] Building CXX object build/guilib/CMakeFiles/guilib.dir/DirtyRegionTracker.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/DirtyRegionTracker.cpp.o -MF CMakeFiles/guilib.dir/DirtyRegionTracker.cpp.o.d -o CMakeFiles/guilib.dir/DirtyRegionTracker.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.cpp
[ 62%] Building CXX object build/favourites/CMakeFiles/favourites.dir/GUIViewStateFavourites.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/favourites/CMakeFiles/favourites.dir/GUIViewStateFavourites.cpp.o -MF CMakeFiles/favourites.dir/GUIViewStateFavourites.cpp.o.d -o CMakeFiles/favourites.dir/GUIViewStateFavourites.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites/GUIViewStateFavourites.cpp
[ 62%] Building CXX object build/guilib/CMakeFiles/guilib.dir/FFmpegImage.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/FFmpegImage.cpp.o -MF CMakeFiles/guilib.dir/FFmpegImage.cpp.o.d -o CMakeFiles/guilib.dir/FFmpegImage.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/FFmpegImage.cpp
[ 62%] Building CXX object build/favourites/CMakeFiles/favourites.dir/GUIWindowFavourites.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/favourites/CMakeFiles/favourites.dir/GUIWindowFavourites.cpp.o -MF CMakeFiles/favourites.dir/GUIWindowFavourites.cpp.o.d -o CMakeFiles/favourites.dir/GUIWindowFavourites.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites/GUIWindowFavourites.cpp
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogExtendedProgressBar.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogExtendedProgressBar.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogExtendedProgressBar.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogExtendedProgressBar.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogExtendedProgressBar.cpp
[ 62%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationSkinHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationSkinHandling.cpp.o -MF CMakeFiles/application.dir/ApplicationSkinHandling.cpp.o.d -o CMakeFiles/application.dir/ApplicationSkinHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationSkinHandling.cpp
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogFileBrowser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogFileBrowser.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogFileBrowser.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogFileBrowser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogFileBrowser.cpp
[ 62%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIAction.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIAction.cpp.o -MF CMakeFiles/guilib.dir/GUIAction.cpp.o.d -o CMakeFiles/guilib.dir/GUIAction.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.cpp
[ 62%] Building CXX object build/favourites/CMakeFiles/favourites.dir/FavouritesService.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/favourites/CMakeFiles/favourites.dir/FavouritesService.cpp.o -MF CMakeFiles/favourites.dir/FavouritesService.cpp.o.d -o CMakeFiles/favourites.dir/FavouritesService.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites/FavouritesService.cpp
[ 62%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIAudioManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIAudioManager.cpp.o -MF CMakeFiles/guilib.dir/GUIAudioManager.cpp.o.d -o CMakeFiles/guilib.dir/GUIAudioManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAudioManager.cpp
[ 62%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationStackHelper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationStackHelper.cpp.o -MF CMakeFiles/application.dir/ApplicationStackHelper.cpp.o.d -o CMakeFiles/application.dir/ApplicationStackHelper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationStackHelper.cpp
[ 62%] Building CXX object build/favourites/CMakeFiles/favourites.dir/FavouritesURL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/favourites/CMakeFiles/favourites.dir/FavouritesURL.cpp.o -MF CMakeFiles/favourites.dir/FavouritesURL.cpp.o.d -o CMakeFiles/favourites.dir/FavouritesURL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/favourites/FavouritesURL.cpp
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogGamepad.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogGamepad.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogGamepad.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogGamepad.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogGamepad.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h:17,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/FileItem.h:22,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationStackHelper.cpp:11:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<long long unsigned int>::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/vector:64:
In member function 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]',
    inlined from 'int CApplicationStackHelper::InitializeStackStartPartAndOffset(const CFileItem&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationStackHelper.cpp:170:24:
/usr/include/c++/12/bits/stl_vector.h:1287:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >' changed in GCC 7.1
 1287 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
[ 62%] Building CXX object build/application/CMakeFiles/application.dir/ApplicationVolumeHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/ApplicationVolumeHandling.cpp.o -MF CMakeFiles/application.dir/ApplicationVolumeHandling.cpp.o.d -o CMakeFiles/application.dir/ApplicationVolumeHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationVolumeHandling.cpp
[ 62%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogKaiToast.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogKaiToast.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogKaiToast.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogKaiToast.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogKaiToast.cpp
[ 63%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIBaseContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIBaseContainer.cpp.o -MF CMakeFiles/guilib.dir/GUIBaseContainer.cpp.o.d -o CMakeFiles/guilib.dir/GUIBaseContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIBaseContainer.cpp
[ 63%] Linking CXX static library favourites.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/cmake -P CMakeFiles/favourites.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/favourites && /usr/bin/cmake -E cmake_link_script CMakeFiles/favourites.dir/link.txt --verbose=1
/usr/bin/ar qc favourites.a CMakeFiles/favourites.dir/ContextMenus.cpp.o CMakeFiles/favourites.dir/GUIDialogFavourites.cpp.o CMakeFiles/favourites.dir/GUIViewStateFavourites.cpp.o CMakeFiles/favourites.dir/GUIWindowFavourites.cpp.o CMakeFiles/favourites.dir/FavouritesService.cpp.o CMakeFiles/favourites.dir/FavouritesURL.cpp.o
/usr/bin/ranlib favourites.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 63%] Built target favourites
make  -f build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/build.make build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/build.make build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 63%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfo.cpp
[ 63%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoHelper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoHelper.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GUIInfoHelper.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GUIInfoHelper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoHelper.cpp
[ 63%] Building CXX object build/application/CMakeFiles/application.dir/AppParamParser.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/AppParamParser.cpp.o -MF CMakeFiles/application.dir/AppParamParser.cpp.o.d -o CMakeFiles/application.dir/AppParamParser.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/AppParamParser.cpp
[ 63%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogKeyboardGeneric.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogKeyboardGeneric.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogKeyboardGeneric.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogKeyboardGeneric.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogKeyboardGeneric.cpp
[ 63%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoProviders.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoProviders.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GUIInfoProviders.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GUIInfoProviders.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.cpp
[ 63%] Building CXX object build/application/CMakeFiles/application.dir/AppParams.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/application/CMakeFiles/application.dir/AppParams.cpp.o -MF CMakeFiles/application.dir/AppParams.cpp.o.d -o CMakeFiles/application.dir/AppParams.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/AppParams.cpp
[ 63%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoLabel.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoLabel.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GUIInfoLabel.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GUIInfoLabel.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.cpp
[ 63%] Linking CXX static library application.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/cmake -P CMakeFiles/application.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/application && /usr/bin/cmake -E cmake_link_script CMakeFiles/application.dir/link.txt --verbose=1
/usr/bin/ar qc application.a CMakeFiles/application.dir/AppEnvironment.cpp.o CMakeFiles/application.dir/AppInboundProtocol.cpp.o CMakeFiles/application.dir/Application.cpp.o CMakeFiles/application.dir/ApplicationActionListeners.cpp.o CMakeFiles/application.dir/ApplicationPlayer.cpp.o CMakeFiles/application.dir/ApplicationPlayerCallback.cpp.o CMakeFiles/application.dir/ApplicationPowerHandling.cpp.o CMakeFiles/application.dir/ApplicationSettingsHandling.cpp.o CMakeFiles/application.dir/ApplicationSkinHandling.cpp.o CMakeFiles/application.dir/ApplicationStackHelper.cpp.o CMakeFiles/application.dir/ApplicationVolumeHandling.cpp.o CMakeFiles/application.dir/AppParamParser.cpp.o CMakeFiles/application.dir/AppParams.cpp.o
/usr/bin/ranlib application.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 63%] Built target application
make  -f build/input/CMakeFiles/input.dir/build.make build/input/CMakeFiles/input.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/CMakeFiles/input.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/CMakeFiles/input.dir/build.make build/input/CMakeFiles/input.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 63%] Building CXX object build/input/CMakeFiles/input.dir/AppTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/AppTranslator.cpp.o -MF CMakeFiles/input.dir/AppTranslator.cpp.o.d -o CMakeFiles/input.dir/AppTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/AppTranslator.cpp
[ 63%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIBorderedImage.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIBorderedImage.cpp.o -MF CMakeFiles/guilib.dir/GUIBorderedImage.cpp.o.d -o CMakeFiles/guilib.dir/GUIBorderedImage.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIBorderedImage.cpp
[ 64%] Building CXX object build/input/CMakeFiles/input.dir/ButtonTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/ButtonTranslator.cpp.o -MF CMakeFiles/input.dir/ButtonTranslator.cpp.o.d -o CMakeFiles/input.dir/ButtonTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/ButtonTranslator.cpp
[ 64%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIButtonControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIButtonControl.cpp.o -MF CMakeFiles/guilib.dir/GUIButtonControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIButtonControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIButtonControl.cpp
[ 64%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogKeyboardTouch.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogKeyboardTouch.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogKeyboardTouch.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogKeyboardTouch.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogKeyboardTouch.cpp
[ 64%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoBool.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoBool.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GUIInfoBool.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GUIInfoBool.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.cpp
[ 64%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIColorButtonControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIColorButtonControl.cpp.o -MF CMakeFiles/guilib.dir/GUIColorButtonControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIColorButtonControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorButtonControl.cpp
[ 65%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogMediaFilter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogMediaFilter.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogMediaFilter.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogMediaFilter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogMediaFilter.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoColor.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIInfoColor.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GUIInfoColor.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GUIInfoColor.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/CustomControllerTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/CustomControllerTranslator.cpp.o -MF CMakeFiles/input.dir/CustomControllerTranslator.cpp.o.d -o CMakeFiles/input.dir/CustomControllerTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/CustomControllerTranslator.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIColorManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIColorManager.cpp.o -MF CMakeFiles/guilib.dir/GUIColorManager.cpp.o.d -o CMakeFiles/guilib.dir/GUIColorManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorManager.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/GamepadTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/GamepadTranslator.cpp.o -MF CMakeFiles/input.dir/GamepadTranslator.cpp.o.d -o CMakeFiles/input.dir/GamepadTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/GamepadTranslator.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/AddonsGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/AddonsGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/AddonsGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/AddonsGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/AddonsGUIInfo.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/InertialScrollingHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/InertialScrollingHandler.cpp.o -MF CMakeFiles/input.dir/InertialScrollingHandler.cpp.o.d -o CMakeFiles/input.dir/InertialScrollingHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/InertialScrollingHandler.cpp
In file included from /usr/include/c++/12/vector:70,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorManager.h:21,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorManager.cpp:9:
/usr/include/c++/12/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(iterator, _Args&& ...) [with _Args = {std::pair<const char*, UTILS::COLOR::ColorInfo>}; _Tp = std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> >]':
/usr/include/c++/12/bits/vector.tcc:439:7: note: parameter passing for argument of type 'std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> >::iterator' changed in GCC 7.1
  439 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/algorithm:61,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h:13,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h:12,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Skin.h:14,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorManager.cpp:11:
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]':
/usr/include/c++/12/bits/stl_algo.h:1782:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
 1782 |     __unguarded_linear_insert(_RandomAccessIterator __last,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]':
/usr/include/c++/12/bits/stl_algo.h:1802:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
 1802 |     __insertion_sort(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1802:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
In file included from /usr/include/c++/12/bits/stl_algo.h:60:
/usr/include/c++/12/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Distance = int; _Tp = pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]':
/usr/include/c++/12/bits/stl_heap.h:224:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
  224 |     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
      |     ^~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_heap.h: In function 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]':
/usr/include/c++/12/bits/stl_heap.h:254:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
  254 |     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~~~~
/usr/include/c++/12/bits/stl_heap.h:254:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_heap.h:254:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]':
/usr/include/c++/12/bits/stl_algo.h:1908:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
 1908 |     __introsort_loop(_RandomAccessIterator __first,
      |     ^~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1908:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
In function 'void std::__sort_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]',
    inlined from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]' at /usr/include/c++/12/bits/stl_algo.h:1901:23,
    inlined from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]' at /usr/include/c++/12/bits/stl_algo.h:1916:27:
/usr/include/c++/12/bits/stl_heap.h:425:26: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
  425 |           std::__pop_heap(__first, __last, __last, __comp);
      |           ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h: In function 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]':
/usr/include/c++/12/bits/stl_algo.h:1922:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
 1922 |           std::__introsort_loop(__cut, __last, __depth_limit, __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {std::pair<const char*, UTILS::COLOR::ColorInfo>}; _Tp = std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>; _Alloc = std::allocator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> >]',
    inlined from 'bool CGUIColorManager::LoadColorsListFromXML(const std::string&, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> >&, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorManager.cpp:133:26:
/usr/include/c++/12/bits/vector.tcc:123:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
  123 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]',
    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)]' at /usr/include/c++/12/bits/stl_algo.h:4853:18,
    inlined from 'bool CGUIColorManager::LoadColorsListFromXML(const std::string&, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> >&, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorManager.cpp:141:14:
/usr/include/c++/12/bits/stl_algo.h:1937:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
 1937 |           std::__introsort_loop(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
 1938 |                                 std::__lg(__last - __first) * 2,
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1939 |                                 __comp);
      |                                 ~~~~~~~
In function 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]',
    inlined from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)>]' at /usr/include/c++/12/bits/stl_algo.h:1940:31,
    inlined from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, vector<pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >; _Compare = bool (*)(const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&, const pair<__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>&)]' at /usr/include/c++/12/bits/stl_algo.h:4853:18,
    inlined from 'bool CGUIColorManager::LoadColorsListFromXML(const std::string&, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> >&, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIColorManager.cpp:141:14:
/usr/include/c++/12/bits/stl_algo.h:1849:32: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
 1849 |           std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
      |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/bits/stl_algo.h:1854:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo>*, std::vector<std::pair<std::__cxx11::basic_string<char>, UTILS::COLOR::ColorInfo> > >' changed in GCC 7.1
 1854 |         std::__insertion_sort(__first, __last, __comp);
      |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIComponent.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIComponent.cpp.o -MF CMakeFiles/guilib.dir/GUIComponent.cpp.o.d -o CMakeFiles/guilib.dir/GUIComponent.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GamesGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GamesGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GamesGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GamesGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GamesGUIInfo.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/InputCodingTableBasePY.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/InputCodingTableBasePY.cpp.o -MF CMakeFiles/input.dir/InputCodingTableBasePY.cpp.o.d -o CMakeFiles/input.dir/InputCodingTableBasePY.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/InputCodingTableBasePY.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogMediaSource.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogMediaSource.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogMediaSource.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogMediaSource.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogMediaSource.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIControl.cpp.o -MF CMakeFiles/guilib.dir/GUIControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIControlsGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/GUIControlsGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/GUIControlsGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/GUIControlsGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIControlsGUIInfo.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIControlFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIControlFactory.cpp.o -MF CMakeFiles/guilib.dir/GUIControlFactory.cpp.o.d -o CMakeFiles/guilib.dir/GUIControlFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlFactory.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogNumeric.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogNumeric.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogNumeric.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogNumeric.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogNumeric.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/LibraryGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/LibraryGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/LibraryGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/LibraryGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/LibraryGUIInfo.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogOK.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogOK.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogOK.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogOK.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogOK.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/MusicGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/MusicGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/MusicGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/MusicGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/MusicGUIInfo.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogPlayerControls.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogPlayerControls.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogPlayerControls.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogPlayerControls.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogPlayerControls.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/InputCodingTableFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/InputCodingTableFactory.cpp.o -MF CMakeFiles/input.dir/InputCodingTableFactory.cpp.o.d -o CMakeFiles/input.dir/InputCodingTableFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/InputCodingTableFactory.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogPlayerProcessInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogPlayerProcessInfo.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogPlayerProcessInfo.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogPlayerProcessInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogPlayerProcessInfo.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/InputCodingTableKorean.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/InputCodingTableKorean.cpp.o -MF CMakeFiles/input.dir/InputCodingTableKorean.cpp.o.d -o CMakeFiles/input.dir/InputCodingTableKorean.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/InputCodingTableKorean.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIControlGroup.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIControlGroup.cpp.o -MF CMakeFiles/guilib.dir/GUIControlGroup.cpp.o.d -o CMakeFiles/guilib.dir/GUIControlGroup.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/InputManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/InputManager.cpp.o -MF CMakeFiles/input.dir/InputManager.cpp.o.d -o CMakeFiles/input.dir/InputManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/InputManager.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogProgress.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogProgress.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogProgress.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogProgress.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogProgress.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/PicturesGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/PicturesGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/PicturesGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/PicturesGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PicturesGUIInfo.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIControlGroupList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIControlGroupList.cpp.o -MF CMakeFiles/guilib.dir/GUIControlGroupList.cpp.o.d -o CMakeFiles/guilib.dir/GUIControlGroupList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroupList.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSeekBar.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSeekBar.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogSeekBar.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogSeekBar.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogSeekBar.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIControlLookup.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIControlLookup.cpp.o -MF CMakeFiles/guilib.dir/GUIControlLookup.cpp.o.d -o CMakeFiles/guilib.dir/GUIControlLookup.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/PlayerGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/PlayerGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/PlayerGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/PlayerGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSelect.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSelect.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogSelect.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogSelect.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogSelect.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIControlProfiler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIControlProfiler.cpp.o -MF CMakeFiles/guilib.dir/GUIControlProfiler.cpp.o.d -o CMakeFiles/guilib.dir/GUIControlProfiler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlProfiler.cpp
In file included from /usr/include/c++/12/bits/stl_algobase.h:64,
                 from /usr/include/c++/12/algorithm:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Interface/StreamInfo.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProvider.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.cpp:9:
/usr/include/c++/12/bits/stl_pair.h: In instantiation of 'constexpr std::pair<typename std::__strip_reference_wrapper<typename std::decay<_Tp>::type>::__type, typename std::__strip_reference_wrapper<typename std::decay<_Tp2>::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = float&; _T2 = float&; typename __strip_reference_wrapper<typename decay<_Tp2>::type>::__type = float; typename decay<_Tp2>::type = float; typename __strip_reference_wrapper<typename decay<_Tp>::type>::__type = float; typename decay<_Tp>::type = float]':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.cpp:669:39:   required from here
/usr/include/c++/12/bits/stl_pair.h:741:5: note: parameter passing for argument of type 'std::pair<float, float>' when C++17 is enabled changed to match C++14 in GCC 10.1
  741 |     make_pair(_T1&& __x, _T2&& __y)
      |     ^~~~~~~~~
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/InputTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/InputTranslator.cpp.o -MF CMakeFiles/input.dir/InputTranslator.cpp.o.d -o CMakeFiles/input.dir/InputTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/InputTranslator.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/IRTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/IRTranslator.cpp.o -MF CMakeFiles/input.dir/IRTranslator.cpp.o.d -o CMakeFiles/input.dir/IRTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/IRTranslator.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIDialog.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIDialog.cpp.o -MF CMakeFiles/guilib.dir/GUIDialog.cpp.o.d -o CMakeFiles/guilib.dir/GUIDialog.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIDialog.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSimpleMenu.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSimpleMenu.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogSimpleMenu.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogSimpleMenu.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogSimpleMenu.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/SkinGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/SkinGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/SkinGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/SkinGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/SkinGUIInfo.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIEditControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIEditControl.cpp.o -MF CMakeFiles/guilib.dir/GUIEditControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIEditControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIEditControl.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/JoystickMapper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/JoystickMapper.cpp.o -MF CMakeFiles/input.dir/JoystickMapper.cpp.o.d -o CMakeFiles/input.dir/JoystickMapper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/JoystickMapper.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSlider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSlider.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogSlider.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogSlider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogSlider.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/SystemGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/SystemGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/SystemGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/SystemGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/SystemGUIInfo.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/Key.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/Key.cpp.o -MF CMakeFiles/input.dir/Key.cpp.o.d -o CMakeFiles/input.dir/Key.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/Key.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistEditor.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistEditor.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistEditor.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistEditor.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogSmartPlaylistEditor.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/KeyboardLayout.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/KeyboardLayout.cpp.o -MF CMakeFiles/input.dir/KeyboardLayout.cpp.o.d -o CMakeFiles/input.dir/KeyboardLayout.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/KeyboardLayout.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIFadeLabelControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIFadeLabelControl.cpp.o -MF CMakeFiles/guilib.dir/GUIFadeLabelControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIFadeLabelControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIFadeLabelControl.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/KeyboardLayoutManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/KeyboardLayoutManager.cpp.o -MF CMakeFiles/input.dir/KeyboardLayoutManager.cpp.o.d -o CMakeFiles/input.dir/KeyboardLayoutManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/KeyboardLayoutManager.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/VideoGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/VideoGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/VideoGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/VideoGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/VideoGUIInfo.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIFixedListContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIFixedListContainer.cpp.o -MF CMakeFiles/guilib.dir/GUIFixedListContainer.cpp.o.d -o CMakeFiles/guilib.dir/GUIFixedListContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIFixedListContainer.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistRule.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistRule.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistRule.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistRule.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIFont.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIFont.cpp.o -MF CMakeFiles/guilib.dir/GUIFont.cpp.o.d -o CMakeFiles/guilib.dir/GUIFont.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIFont.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/KeyboardStat.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/KeyboardStat.cpp.o -MF CMakeFiles/input.dir/KeyboardStat.cpp.o.d -o CMakeFiles/input.dir/KeyboardStat.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/KeyboardStat.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIFontCache.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIFontCache.cpp.o -MF CMakeFiles/guilib.dir/GUIFontCache.cpp.o.d -o CMakeFiles/guilib.dir/GUIFontCache.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIFontCache.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/KeyboardTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/KeyboardTranslator.cpp.o -MF CMakeFiles/input.dir/KeyboardTranslator.cpp.o.d -o CMakeFiles/input.dir/KeyboardTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/KeyboardTranslator.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/VisualisationGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/VisualisationGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/VisualisationGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/VisualisationGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/VisualisationGUIInfo.cpp
[ 67%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIFontManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIFontManager.cpp.o -MF CMakeFiles/guilib.dir/GUIFontManager.cpp.o.d -o CMakeFiles/guilib.dir/GUIFontManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIFontManager.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSubMenu.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogSubMenu.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogSubMenu.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogSubMenu.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogSubMenu.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/Keymap.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/Keymap.cpp.o -MF CMakeFiles/input.dir/Keymap.cpp.o.d -o CMakeFiles/input.dir/Keymap.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/Keymap.cpp
[ 67%] Building CXX object build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/WeatherGUIInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib_guiinfo/CMakeFiles/guilib_guiinfo.dir/WeatherGUIInfo.cpp.o -MF CMakeFiles/guilib_guiinfo.dir/WeatherGUIInfo.cpp.o.d -o CMakeFiles/guilib_guiinfo.dir/WeatherGUIInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/WeatherGUIInfo.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/KeymapEnvironment.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/KeymapEnvironment.cpp.o -MF CMakeFiles/input.dir/KeymapEnvironment.cpp.o.d -o CMakeFiles/input.dir/KeymapEnvironment.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/KeymapEnvironment.cpp
[ 67%] Building CXX object build/input/CMakeFiles/input.dir/TouchTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/TouchTranslator.cpp.o -MF CMakeFiles/input.dir/TouchTranslator.cpp.o.d -o CMakeFiles/input.dir/TouchTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/TouchTranslator.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogTextViewer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogTextViewer.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogTextViewer.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogTextViewer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogTextViewer.cpp
[ 67%] Linking CXX static library guilib_guiinfo.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/cmake -P CMakeFiles/guilib_guiinfo.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib_guiinfo && /usr/bin/cmake -E cmake_link_script CMakeFiles/guilib_guiinfo.dir/link.txt --verbose=1
/usr/bin/ar qc guilib_guiinfo.a CMakeFiles/guilib_guiinfo.dir/GUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/GUIInfoHelper.cpp.o CMakeFiles/guilib_guiinfo.dir/GUIInfoProviders.cpp.o CMakeFiles/guilib_guiinfo.dir/GUIInfoLabel.cpp.o CMakeFiles/guilib_guiinfo.dir/GUIInfoBool.cpp.o CMakeFiles/guilib_guiinfo.dir/GUIInfoColor.cpp.o CMakeFiles/guilib_guiinfo.dir/AddonsGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/GamesGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/GUIControlsGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/LibraryGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/MusicGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/PicturesGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/PlayerGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/SkinGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/SystemGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/VideoGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/VisualisationGUIInfo.cpp.o CMakeFiles/guilib_guiinfo.dir/WeatherGUIInfo.cpp.o
/usr/bin/ranlib guilib_guiinfo.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 67%] Built target guilib_guiinfo
make  -f build/input/actions/CMakeFiles/input_actions.dir/build.make build/input/actions/CMakeFiles/input_actions.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/actions /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/actions/CMakeFiles/input_actions.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/actions/CMakeFiles/input_actions.dir/build.make build/input/actions/CMakeFiles/input_actions.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 67%] Building CXX object build/input/actions/CMakeFiles/input_actions.dir/Action.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/actions && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/actions/CMakeFiles/input_actions.dir/Action.cpp.o -MF CMakeFiles/input_actions.dir/Action.cpp.o.d -o CMakeFiles/input_actions.dir/Action.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/Action.cpp
[ 67%] Building CXX object build/input/actions/CMakeFiles/input_actions.dir/ActionTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/actions && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/actions/CMakeFiles/input_actions.dir/ActionTranslator.cpp.o -MF CMakeFiles/input_actions.dir/ActionTranslator.cpp.o.d -o CMakeFiles/input_actions.dir/ActionTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionTranslator.cpp
[ 67%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogVolumeBar.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogVolumeBar.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogVolumeBar.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogVolumeBar.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogVolumeBar.cpp
[ 68%] Building CXX object build/input/CMakeFiles/input.dir/WindowKeymap.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/WindowKeymap.cpp.o -MF CMakeFiles/input.dir/WindowKeymap.cpp.o.d -o CMakeFiles/input.dir/WindowKeymap.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/WindowKeymap.cpp
[ 68%] Building CXX object build/input/CMakeFiles/input.dir/WindowTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/WindowTranslator.cpp.o -MF CMakeFiles/input.dir/WindowTranslator.cpp.o.d -o CMakeFiles/input.dir/WindowTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/WindowTranslator.cpp
[ 68%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogYesNo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogYesNo.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogYesNo.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogYesNo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogYesNo.cpp
[ 69%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIFontTTF.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIFontTTF.cpp.o -MF CMakeFiles/guilib.dir/GUIFontTTF.cpp.o.d -o CMakeFiles/guilib.dir/GUIFontTTF.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIFontTTF.cpp
[ 69%] Linking CXX static library input_actions.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/actions && /usr/bin/cmake -P CMakeFiles/input_actions.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/actions && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_actions.dir/link.txt --verbose=1
/usr/bin/ar qc input_actions.a CMakeFiles/input_actions.dir/Action.cpp.o CMakeFiles/input_actions.dir/ActionTranslator.cpp.o
/usr/bin/ranlib input_actions.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 69%] Built target input_actions
make  -f build/input/button/CMakeFiles/input_button.dir/build.make build/input/button/CMakeFiles/input_button.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/button /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/button /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/button/CMakeFiles/input_button.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/button/CMakeFiles/input_button.dir/build.make build/input/button/CMakeFiles/input_button.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 69%] Building CXX object build/input/button/CMakeFiles/input_button.dir/ButtonStat.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/button && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/button/CMakeFiles/input_button.dir/ButtonStat.cpp.o -MF CMakeFiles/input_button.dir/ButtonStat.cpp.o.d -o CMakeFiles/input_button.dir/ButtonStat.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/button/ButtonStat.cpp
[ 69%] Linking CXX static library input_button.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/button && /usr/bin/cmake -P CMakeFiles/input_button.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/button && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_button.dir/link.txt --verbose=1
/usr/bin/ar qc input_button.a CMakeFiles/input_button.dir/ButtonStat.cpp.o
/usr/bin/ranlib input_button.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 69%] Built target input_button
make  -f build/input/joysticks/CMakeFiles/input_joystick.dir/build.make build/input/joysticks/CMakeFiles/input_joystick.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/CMakeFiles/input_joystick.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/joysticks/CMakeFiles/input_joystick.dir/build.make build/input/joysticks/CMakeFiles/input_joystick.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 69%] Building CXX object build/input/joysticks/CMakeFiles/input_joystick.dir/DeadzoneFilter.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/CMakeFiles/input_joystick.dir/DeadzoneFilter.cpp.o -MF CMakeFiles/input_joystick.dir/DeadzoneFilter.cpp.o.d -o CMakeFiles/input_joystick.dir/DeadzoneFilter.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/DeadzoneFilter.cpp
[ 69%] Building CXX object build/dialogs/CMakeFiles/dialogs.dir/GUIDialogPlayEject.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/dialogs/CMakeFiles/dialogs.dir/GUIDialogPlayEject.cpp.o -MF CMakeFiles/dialogs.dir/GUIDialogPlayEject.cpp.o.d -o CMakeFiles/dialogs.dir/GUIDialogPlayEject.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/dialogs/GUIDialogPlayEject.cpp
[ 69%] Building CXX object build/input/joysticks/CMakeFiles/input_joystick.dir/DriverPrimitive.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/CMakeFiles/input_joystick.dir/DriverPrimitive.cpp.o -MF CMakeFiles/input_joystick.dir/DriverPrimitive.cpp.o.d -o CMakeFiles/input_joystick.dir/DriverPrimitive.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/DriverPrimitive.cpp
[ 69%] Building CXX object build/input/CMakeFiles/input.dir/XBMC_keytable.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/CMakeFiles/input.dir/XBMC_keytable.cpp.o -MF CMakeFiles/input.dir/XBMC_keytable.cpp.o.d -o CMakeFiles/input.dir/XBMC_keytable.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keytable.cpp
[ 69%] Building CXX object build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickEasterEgg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickEasterEgg.cpp.o -MF CMakeFiles/input_joystick.dir/JoystickEasterEgg.cpp.o.d -o CMakeFiles/input_joystick.dir/JoystickEasterEgg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/JoystickEasterEgg.cpp
[ 69%] Linking CXX static library dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/cmake -P CMakeFiles/dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc dialogs.a CMakeFiles/dialogs.dir/GUIDialogBoxBase.cpp.o CMakeFiles/dialogs.dir/GUIDialogBusy.cpp.o CMakeFiles/dialogs.dir/GUIDialogBusyNoCancel.cpp.o CMakeFiles/dialogs.dir/GUIDialogButtonMenu.cpp.o CMakeFiles/dialogs.dir/GUIDialogCache.cpp.o CMakeFiles/dialogs.dir/GUIDialogColorPicker.cpp.o CMakeFiles/dialogs.dir/GUIDialogContextMenu.cpp.o CMakeFiles/dialogs.dir/GUIDialogExtendedProgressBar.cpp.o CMakeFiles/dialogs.dir/GUIDialogFileBrowser.cpp.o CMakeFiles/dialogs.dir/GUIDialogGamepad.cpp.o CMakeFiles/dialogs.dir/GUIDialogKaiToast.cpp.o CMakeFiles/dialogs.dir/GUIDialogKeyboardGeneric.cpp.o CMakeFiles/dialogs.dir/GUIDialogKeyboardTouch.cpp.o CMakeFiles/dialogs.dir/GUIDialogMediaFilter.cpp.o CMakeFiles/dialogs.dir/GUIDialogMediaSource.cpp.o CMakeFiles/dialogs.dir/GUIDialogNumeric.cpp.o CMakeFiles/dialogs.dir/GUIDialogOK.cpp.o CMakeFiles/dialogs.dir/GUIDialogPlayerControls.cpp.o CMakeFiles/dialogs.dir/GUIDialogPlayerProcessInfo.cpp.o CMakeFiles/dialogs.dir/GUIDialogProgress.cpp.o CMakeFiles/dialogs.dir/GUIDialogSeekBar.cpp.o CMakeFiles/dialogs.dir/GUIDialogSelect.cpp.o CMakeFiles/dialogs.dir/GUIDialogSimpleMenu.cpp.o CMakeFiles/dialogs.dir/GUIDialogSlider.cpp.o CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistEditor.cpp.o CMakeFiles/dialogs.dir/GUIDialogSmartPlaylistRule.cpp.o CMakeFiles/dialogs.dir/GUIDialogSubMenu.cpp.o CMakeFiles/dialogs.dir/GUIDialogTextViewer.cpp.o CMakeFiles/dialogs.dir/GUIDialogVolumeBar.cpp.o CMakeFiles/dialogs.dir/GUIDialogYesNo.cpp.o CMakeFiles/dialogs.dir/GUIDialogPlayEject.cpp.o
/usr/bin/ranlib dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 69%] Built target dialogs
make  -f build/input/joysticks/dialogs/CMakeFiles/input_joystick_dialogs.dir/build.make build/input/joysticks/dialogs/CMakeFiles/input_joystick_dialogs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/dialogs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/dialogs/CMakeFiles/input_joystick_dialogs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/joysticks/dialogs/CMakeFiles/input_joystick_dialogs.dir/build.make build/input/joysticks/dialogs/CMakeFiles/input_joystick_dialogs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 69%] Building CXX object build/input/joysticks/dialogs/CMakeFiles/input_joystick_dialogs.dir/GUIDialogNewJoystick.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/dialogs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/dialogs/CMakeFiles/input_joystick_dialogs.dir/GUIDialogNewJoystick.cpp.o -MF CMakeFiles/input_joystick_dialogs.dir/GUIDialogNewJoystick.cpp.o.d -o CMakeFiles/input_joystick_dialogs.dir/GUIDialogNewJoystick.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/dialogs/GUIDialogNewJoystick.cpp
[ 69%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIImage.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIImage.cpp.o -MF CMakeFiles/guilib.dir/GUIImage.cpp.o.d -o CMakeFiles/guilib.dir/GUIImage.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIImage.cpp
[ 69%] Linking CXX static library input.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/cmake -P CMakeFiles/input.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input && /usr/bin/cmake -E cmake_link_script CMakeFiles/input.dir/link.txt --verbose=1
/usr/bin/ar qc input.a CMakeFiles/input.dir/AppTranslator.cpp.o CMakeFiles/input.dir/ButtonTranslator.cpp.o CMakeFiles/input.dir/CustomControllerTranslator.cpp.o CMakeFiles/input.dir/GamepadTranslator.cpp.o CMakeFiles/input.dir/InertialScrollingHandler.cpp.o CMakeFiles/input.dir/InputCodingTableBasePY.cpp.o CMakeFiles/input.dir/InputCodingTableFactory.cpp.o CMakeFiles/input.dir/InputCodingTableKorean.cpp.o CMakeFiles/input.dir/InputManager.cpp.o CMakeFiles/input.dir/InputTranslator.cpp.o CMakeFiles/input.dir/IRTranslator.cpp.o CMakeFiles/input.dir/JoystickMapper.cpp.o CMakeFiles/input.dir/Key.cpp.o CMakeFiles/input.dir/KeyboardLayout.cpp.o CMakeFiles/input.dir/KeyboardLayoutManager.cpp.o CMakeFiles/input.dir/KeyboardStat.cpp.o CMakeFiles/input.dir/KeyboardTranslator.cpp.o CMakeFiles/input.dir/Keymap.cpp.o CMakeFiles/input.dir/KeymapEnvironment.cpp.o CMakeFiles/input.dir/TouchTranslator.cpp.o CMakeFiles/input.dir/WindowKeymap.cpp.o CMakeFiles/input.dir/WindowTranslator.cpp.o CMakeFiles/input.dir/XBMC_keytable.cpp.o
/usr/bin/ranlib input.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 69%] Built target input
make  -f build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/build.make build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/build.make build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/ButtonMapping.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/ButtonMapping.cpp.o -MF CMakeFiles/input_joystick_generic.dir/ButtonMapping.cpp.o.d -o CMakeFiles/input_joystick_generic.dir/ButtonMapping.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/ButtonMapping.cpp
[ 70%] Building CXX object build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickMonitor.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickMonitor.cpp.o -MF CMakeFiles/input_joystick.dir/JoystickMonitor.cpp.o.d -o CMakeFiles/input_joystick.dir/JoystickMonitor.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/JoystickMonitor.cpp
[ 70%] Linking CXX static library input_joystick_dialogs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/dialogs && /usr/bin/cmake -P CMakeFiles/input_joystick_dialogs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/dialogs && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_joystick_dialogs.dir/link.txt --verbose=1
/usr/bin/ar qc input_joystick_dialogs.a CMakeFiles/input_joystick_dialogs.dir/GUIDialogNewJoystick.cpp.o
/usr/bin/ranlib input_joystick_dialogs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_joystick_dialogs
make  -f build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/build.make build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/keymaps /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/keymaps /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/build.make build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/KeyHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/keymaps && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/KeyHandler.cpp.o -MF CMakeFiles/input_joystick_keymaps.dir/KeyHandler.cpp.o.d -o CMakeFiles/input_joystick_keymaps.dir/KeyHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/keymaps/KeyHandler.cpp
[ 70%] Building CXX object build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickTranslator.cpp.o -MF CMakeFiles/input_joystick.dir/JoystickTranslator.cpp.o.d -o CMakeFiles/input_joystick.dir/JoystickTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/JoystickTranslator.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIIncludes.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIIncludes.cpp.o -MF CMakeFiles/guilib.dir/GUIIncludes.cpp.o.d -o CMakeFiles/guilib.dir/GUIIncludes.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIIncludes.cpp
[ 70%] Building CXX object build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/KeymapHandler.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/keymaps && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/KeymapHandler.cpp.o -MF CMakeFiles/input_joystick_keymaps.dir/KeymapHandler.cpp.o.d -o CMakeFiles/input_joystick_keymaps.dir/KeymapHandler.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/keymaps/KeymapHandler.cpp
In file included from /usr/include/c++/12/set:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/JoystickTypes.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/DriverPrimitive.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/ButtonMapping.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/ButtonMapping.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {std::pair<unsigned int, KODI::JOYSTICK::CAxisDetector>}; _Key = unsigned int; _Val = std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector>; _KeyOfValue = std::_Select1st<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> >; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector>, std::_Select1st<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/ButtonMapping.h:19:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {std::pair<unsigned int, KODI::JOYSTICK::CAxisDetector>}; _Key = unsigned int; _Tp = KODI::JOYSTICK::CAxisDetector; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> >]',
    inlined from 'std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair>::value, std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> > std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = std::pair<unsigned int, KODI::JOYSTICK::CAxisDetector>; _Key = unsigned int; _Tp = KODI::JOYSTICK::CAxisDetector; _Compare = std::less<unsigned int>; _Alloc = std::allocator<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> >]' at /usr/include/c++/12/bits/stl_map.h:858:27,
    inlined from 'KODI::JOYSTICK::CAxisDetector& KODI::JOYSTICK::CButtonMapping::GetAxis(unsigned int, float, const KODI::JOYSTICK::AxisConfiguration&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/ButtonMapping.cpp:545:18:
/usr/include/c++/12/bits/stl_map.h:638:45: note: parameter passing for argument of type 'std::map<unsigned int, KODI::JOYSTICK::CAxisDetector>::const_iterator' {aka 'std::_Rb_tree<unsigned int, std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector>, std::_Select1st<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, KODI::JOYSTICK::CAxisDetector> > >::const_iterator'} changed in GCC 7.1
  638 |           return _M_t._M_emplace_hint_unique(__pos,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  639 |                                              std::forward<_Args>(__args)...);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 70%] Building CXX object build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/DriverReceiving.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/DriverReceiving.cpp.o -MF CMakeFiles/input_joystick_generic.dir/DriverReceiving.cpp.o.d -o CMakeFiles/input_joystick_generic.dir/DriverReceiving.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/DriverReceiving.cpp
[ 70%] Building CXX object build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/CMakeFiles/input_joystick.dir/JoystickUtils.cpp.o -MF CMakeFiles/input_joystick.dir/JoystickUtils.cpp.o.d -o CMakeFiles/input_joystick.dir/JoystickUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/JoystickUtils.cpp
[ 70%] Building CXX object build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/FeatureHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/FeatureHandling.cpp.o -MF CMakeFiles/input_joystick_generic.dir/FeatureHandling.cpp.o.d -o CMakeFiles/input_joystick_generic.dir/FeatureHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/FeatureHandling.cpp
[ 70%] Building CXX object build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/KeymapHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/keymaps && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/keymaps/CMakeFiles/input_joystick_keymaps.dir/KeymapHandling.cpp.o -MF CMakeFiles/input_joystick_keymaps.dir/KeymapHandling.cpp.o.d -o CMakeFiles/input_joystick_keymaps.dir/KeymapHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/keymaps/KeymapHandling.cpp
[ 70%] Building CXX object build/input/joysticks/CMakeFiles/input_joystick.dir/RumbleGenerator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/CMakeFiles/input_joystick.dir/RumbleGenerator.cpp.o -MF CMakeFiles/input_joystick.dir/RumbleGenerator.cpp.o.d -o CMakeFiles/input_joystick.dir/RumbleGenerator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/RumbleGenerator.cpp
[ 70%] Linking CXX static library input_joystick_keymaps.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/keymaps && /usr/bin/cmake -P CMakeFiles/input_joystick_keymaps.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/keymaps && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_joystick_keymaps.dir/link.txt --verbose=1
[ 70%] Building CXX object build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/InputHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/joysticks/generic/CMakeFiles/input_joystick_generic.dir/InputHandling.cpp.o -MF CMakeFiles/input_joystick_generic.dir/InputHandling.cpp.o.d -o CMakeFiles/input_joystick_generic.dir/InputHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/joysticks/generic/InputHandling.cpp
/usr/bin/ar qc input_joystick_keymaps.a CMakeFiles/input_joystick_keymaps.dir/KeyHandler.cpp.o CMakeFiles/input_joystick_keymaps.dir/KeymapHandler.cpp.o CMakeFiles/input_joystick_keymaps.dir/KeymapHandling.cpp.o
/usr/bin/ranlib input_joystick_keymaps.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_joystick_keymaps
make  -f build/input/keyboard/CMakeFiles/input_keyboard.dir/build.make build/input/keyboard/CMakeFiles/input_keyboard.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/keyboard /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard/CMakeFiles/input_keyboard.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/keyboard/CMakeFiles/input_keyboard.dir/build.make build/input/keyboard/CMakeFiles/input_keyboard.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/input/keyboard/CMakeFiles/input_keyboard.dir/KeyboardEasterEgg.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/keyboard/CMakeFiles/input_keyboard.dir/KeyboardEasterEgg.cpp.o -MF CMakeFiles/input_keyboard.dir/KeyboardEasterEgg.cpp.o.d -o CMakeFiles/input_keyboard.dir/KeyboardEasterEgg.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/keyboard/KeyboardEasterEgg.cpp
[ 70%] Building CXX object build/input/keyboard/CMakeFiles/input_keyboard.dir/KeymapActionMap.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/keyboard/CMakeFiles/input_keyboard.dir/KeymapActionMap.cpp.o -MF CMakeFiles/input_keyboard.dir/KeymapActionMap.cpp.o.d -o CMakeFiles/input_keyboard.dir/KeymapActionMap.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/keyboard/KeymapActionMap.cpp
[ 70%] Linking CXX static library input_joystick.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/cmake -P CMakeFiles/input_joystick.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_joystick.dir/link.txt --verbose=1
/usr/bin/ar qc input_joystick.a CMakeFiles/input_joystick.dir/DeadzoneFilter.cpp.o CMakeFiles/input_joystick.dir/DriverPrimitive.cpp.o CMakeFiles/input_joystick.dir/JoystickEasterEgg.cpp.o CMakeFiles/input_joystick.dir/JoystickMonitor.cpp.o CMakeFiles/input_joystick.dir/JoystickTranslator.cpp.o CMakeFiles/input_joystick.dir/JoystickUtils.cpp.o CMakeFiles/input_joystick.dir/RumbleGenerator.cpp.o
/usr/bin/ranlib input_joystick.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_joystick
make  -f build/input/keyboard/generic/CMakeFiles/input_keyboard_generic.dir/build.make build/input/keyboard/generic/CMakeFiles/input_keyboard_generic.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/keyboard/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard/generic/CMakeFiles/input_keyboard_generic.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/keyboard/generic/CMakeFiles/input_keyboard_generic.dir/build.make build/input/keyboard/generic/CMakeFiles/input_keyboard_generic.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/input/keyboard/generic/CMakeFiles/input_keyboard_generic.dir/KeyboardInputHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/keyboard/generic/CMakeFiles/input_keyboard_generic.dir/KeyboardInputHandling.cpp.o -MF CMakeFiles/input_keyboard_generic.dir/KeyboardInputHandling.cpp.o.d -o CMakeFiles/input_keyboard_generic.dir/KeyboardInputHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/keyboard/generic/KeyboardInputHandling.cpp
[ 70%] Linking CXX static library input_keyboard_generic.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard/generic && /usr/bin/cmake -P CMakeFiles/input_keyboard_generic.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard/generic && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_keyboard_generic.dir/link.txt --verbose=1
/usr/bin/ar qc input_keyboard_generic.a CMakeFiles/input_keyboard_generic.dir/KeyboardInputHandling.cpp.o
/usr/bin/ranlib input_keyboard_generic.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_keyboard_generic
make  -f build/input/mouse/CMakeFiles/input_mouse.dir/build.make build/input/mouse/CMakeFiles/input_mouse.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/mouse /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse/CMakeFiles/input_mouse.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/mouse/CMakeFiles/input_mouse.dir/build.make build/input/mouse/CMakeFiles/input_mouse.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/input/mouse/CMakeFiles/input_mouse.dir/MouseStat.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/mouse/CMakeFiles/input_mouse.dir/MouseStat.cpp.o -MF CMakeFiles/input_mouse.dir/MouseStat.cpp.o.d -o CMakeFiles/input_mouse.dir/MouseStat.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/mouse/MouseStat.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIKeyboardFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIKeyboardFactory.cpp.o -MF CMakeFiles/guilib.dir/GUIKeyboardFactory.cpp.o.d -o CMakeFiles/guilib.dir/GUIKeyboardFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIKeyboardFactory.cpp
[ 70%] Linking CXX static library input_joystick_generic.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic && /usr/bin/cmake -P CMakeFiles/input_joystick_generic.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/joysticks/generic && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_joystick_generic.dir/link.txt --verbose=1
/usr/bin/ar qc input_joystick_generic.a CMakeFiles/input_joystick_generic.dir/ButtonMapping.cpp.o CMakeFiles/input_joystick_generic.dir/DriverReceiving.cpp.o CMakeFiles/input_joystick_generic.dir/FeatureHandling.cpp.o CMakeFiles/input_joystick_generic.dir/InputHandling.cpp.o
/usr/bin/ranlib input_joystick_generic.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_joystick_generic
[ 70%] Building CXX object build/input/mouse/CMakeFiles/input_mouse.dir/MouseTranslator.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/mouse/CMakeFiles/input_mouse.dir/MouseTranslator.cpp.o -MF CMakeFiles/input_mouse.dir/MouseTranslator.cpp.o.d -o CMakeFiles/input_mouse.dir/MouseTranslator.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/mouse/MouseTranslator.cpp
[ 70%] Linking CXX static library input_keyboard.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard && /usr/bin/cmake -P CMakeFiles/input_keyboard.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/keyboard && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_keyboard.dir/link.txt --verbose=1
/usr/bin/ar qc input_keyboard.a CMakeFiles/input_keyboard.dir/KeyboardEasterEgg.cpp.o CMakeFiles/input_keyboard.dir/KeymapActionMap.cpp.o
/usr/bin/ranlib input_keyboard.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_keyboard
make  -f build/input/mouse/generic/CMakeFiles/input_mouse_generic.dir/build.make build/input/mouse/generic/CMakeFiles/input_mouse_generic.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/mouse/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse/generic /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse/generic/CMakeFiles/input_mouse_generic.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/input/mouse/generic/CMakeFiles/input_mouse_generic.dir/build.make build/input/mouse/generic/CMakeFiles/input_mouse_generic.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/input/mouse/generic/CMakeFiles/input_mouse_generic.dir/MouseInputHandling.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse/generic && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/input/mouse/generic/CMakeFiles/input_mouse_generic.dir/MouseInputHandling.cpp.o -MF CMakeFiles/input_mouse_generic.dir/MouseInputHandling.cpp.o.d -o CMakeFiles/input_mouse_generic.dir/MouseInputHandling.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/mouse/generic/MouseInputHandling.cpp
make  -f build/listproviders/CMakeFiles/listproviders.dir/build.make build/listproviders/CMakeFiles/listproviders.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/listproviders /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders/CMakeFiles/listproviders.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/listproviders/CMakeFiles/listproviders.dir/build.make build/listproviders/CMakeFiles/listproviders.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/listproviders/CMakeFiles/listproviders.dir/DirectoryProvider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/listproviders/CMakeFiles/listproviders.dir/DirectoryProvider.cpp.o -MF CMakeFiles/listproviders.dir/DirectoryProvider.cpp.o.d -o CMakeFiles/listproviders.dir/DirectoryProvider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/listproviders/DirectoryProvider.cpp
[ 70%] Linking CXX static library input_mouse_generic.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse/generic && /usr/bin/cmake -P CMakeFiles/input_mouse_generic.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse/generic && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_mouse_generic.dir/link.txt --verbose=1
/usr/bin/ar qc input_mouse_generic.a CMakeFiles/input_mouse_generic.dir/MouseInputHandling.cpp.o
/usr/bin/ranlib input_mouse_generic.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_mouse_generic
[ 70%] Building CXX object build/listproviders/CMakeFiles/listproviders.dir/IListProvider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/listproviders/CMakeFiles/listproviders.dir/IListProvider.cpp.o -MF CMakeFiles/listproviders.dir/IListProvider.cpp.o.d -o CMakeFiles/listproviders.dir/IListProvider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/listproviders/IListProvider.cpp
[ 70%] Linking CXX static library input_mouse.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse && /usr/bin/cmake -P CMakeFiles/input_mouse.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/input/mouse && /usr/bin/cmake -E cmake_link_script CMakeFiles/input_mouse.dir/link.txt --verbose=1
/usr/bin/ar qc input_mouse.a CMakeFiles/input_mouse.dir/MouseStat.cpp.o CMakeFiles/input_mouse.dir/MouseTranslator.cpp.o
/usr/bin/ranlib input_mouse.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target input_mouse
[ 70%] Building CXX object build/listproviders/CMakeFiles/listproviders.dir/MultiProvider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/listproviders/CMakeFiles/listproviders.dir/MultiProvider.cpp.o -MF CMakeFiles/listproviders.dir/MultiProvider.cpp.o.d -o CMakeFiles/listproviders.dir/MultiProvider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/listproviders/MultiProvider.cpp
make  -f build/messaging/CMakeFiles/messaging.dir/build.make build/messaging/CMakeFiles/messaging.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messaging /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messaging/CMakeFiles/messaging.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/messaging/CMakeFiles/messaging.dir/build.make build/messaging/CMakeFiles/messaging.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/messaging/CMakeFiles/messaging.dir/ApplicationMessenger.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messaging && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/messaging/CMakeFiles/messaging.dir/ApplicationMessenger.cpp.o -MF CMakeFiles/messaging.dir/ApplicationMessenger.cpp.o.d -o CMakeFiles/messaging.dir/ApplicationMessenger.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/ApplicationMessenger.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUILabelControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUILabelControl.cpp.o -MF CMakeFiles/guilib.dir/GUILabelControl.cpp.o.d -o CMakeFiles/guilib.dir/GUILabelControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUILabelControl.cpp
make  -f build/messagingHelpers/CMakeFiles/messagingHelpers.dir/build.make build/messagingHelpers/CMakeFiles/messagingHelpers.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/helpers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messagingHelpers /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messagingHelpers/CMakeFiles/messagingHelpers.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/messagingHelpers/CMakeFiles/messagingHelpers.dir/build.make build/messagingHelpers/CMakeFiles/messagingHelpers.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/messagingHelpers/CMakeFiles/messagingHelpers.dir/DialogHelper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messagingHelpers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/messagingHelpers/CMakeFiles/messagingHelpers.dir/DialogHelper.cpp.o -MF CMakeFiles/messagingHelpers.dir/DialogHelper.cpp.o.d -o CMakeFiles/messagingHelpers.dir/DialogHelper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/helpers/DialogHelper.cpp
[ 70%] Building CXX object build/messagingHelpers/CMakeFiles/messagingHelpers.dir/DialogOKHelper.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messagingHelpers && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/messagingHelpers/CMakeFiles/messagingHelpers.dir/DialogOKHelper.cpp.o -MF CMakeFiles/messagingHelpers.dir/DialogOKHelper.cpp.o.d -o CMakeFiles/messagingHelpers.dir/DialogOKHelper.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/helpers/DialogOKHelper.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUILabel.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUILabel.cpp.o -MF CMakeFiles/guilib.dir/GUILabel.cpp.o.d -o CMakeFiles/guilib.dir/GUILabel.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUILabel.cpp
[ 70%] Linking CXX static library messaging.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messaging && /usr/bin/cmake -P CMakeFiles/messaging.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messaging && /usr/bin/cmake -E cmake_link_script CMakeFiles/messaging.dir/link.txt --verbose=1
/usr/bin/ar qc messaging.a CMakeFiles/messaging.dir/ApplicationMessenger.cpp.o
/usr/bin/ranlib messaging.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target messaging
[ 70%] Building CXX object build/listproviders/CMakeFiles/listproviders.dir/StaticProvider.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/listproviders/CMakeFiles/listproviders.dir/StaticProvider.cpp.o -MF CMakeFiles/listproviders.dir/StaticProvider.cpp.o.d -o CMakeFiles/listproviders.dir/StaticProvider.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/listproviders/StaticProvider.cpp
[ 70%] Linking CXX static library messagingHelpers.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messagingHelpers && /usr/bin/cmake -P CMakeFiles/messagingHelpers.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/messagingHelpers && /usr/bin/cmake -E cmake_link_script CMakeFiles/messagingHelpers.dir/link.txt --verbose=1
/usr/bin/ar qc messagingHelpers.a CMakeFiles/messagingHelpers.dir/DialogHelper.cpp.o CMakeFiles/messagingHelpers.dir/DialogOKHelper.cpp.o
/usr/bin/ranlib messagingHelpers.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target messagingHelpers
make  -f build/pictures/CMakeFiles/pictures.dir/build.make build/pictures/CMakeFiles/pictures.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures/CMakeFiles/pictures.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/pictures/CMakeFiles/pictures.dir/build.make build/pictures/CMakeFiles/pictures.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/pictures/CMakeFiles/pictures.dir/ExifParse.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/ExifParse.cpp.o -MF CMakeFiles/pictures.dir/ExifParse.cpp.o.d -o CMakeFiles/pictures.dir/ExifParse.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/ExifParse.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIListContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIListContainer.cpp.o -MF CMakeFiles/guilib.dir/GUIListContainer.cpp.o.d -o CMakeFiles/guilib.dir/GUIListContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListContainer.cpp
[ 70%] Building CXX object build/pictures/CMakeFiles/pictures.dir/GUIDialogPictureInfo.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/GUIDialogPictureInfo.cpp.o -MF CMakeFiles/pictures.dir/GUIDialogPictureInfo.cpp.o.d -o CMakeFiles/pictures.dir/GUIDialogPictureInfo.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/GUIDialogPictureInfo.cpp
make  -f build/platform/CMakeFiles/platform_common.dir/build.make build/platform/CMakeFiles/platform_common.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/platform /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/platform/CMakeFiles/platform_common.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/platform/CMakeFiles/platform_common.dir/build.make build/platform/CMakeFiles/platform_common.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/platform/CMakeFiles/platform_common.dir/Environment.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/platform && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/platform/CMakeFiles/platform_common.dir/Environment.cpp.o -MF CMakeFiles/platform_common.dir/Environment.cpp.o.d -o CMakeFiles/platform_common.dir/Environment.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/Environment.cpp
[ 70%] Linking CXX static library listproviders.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders && /usr/bin/cmake -P CMakeFiles/listproviders.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/listproviders && /usr/bin/cmake -E cmake_link_script CMakeFiles/listproviders.dir/link.txt --verbose=1
/usr/bin/ar qc listproviders.a CMakeFiles/listproviders.dir/DirectoryProvider.cpp.o CMakeFiles/listproviders.dir/IListProvider.cpp.o CMakeFiles/listproviders.dir/MultiProvider.cpp.o CMakeFiles/listproviders.dir/StaticProvider.cpp.o
/usr/bin/ranlib listproviders.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target listproviders
[ 70%] Building CXX object build/pictures/CMakeFiles/pictures.dir/GUIViewStatePictures.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/GUIViewStatePictures.cpp.o -MF CMakeFiles/pictures.dir/GUIViewStatePictures.cpp.o.d -o CMakeFiles/pictures.dir/GUIViewStatePictures.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/GUIViewStatePictures.cpp
[ 70%] Building CXX object build/platform/CMakeFiles/platform_common.dir/xbmc.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/platform && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/platform/CMakeFiles/platform_common.dir/xbmc.cpp.o -MF CMakeFiles/platform_common.dir/xbmc.cpp.o.d -o CMakeFiles/platform_common.dir/xbmc.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/xbmc.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIListGroup.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIListGroup.cpp.o -MF CMakeFiles/guilib.dir/GUIListGroup.cpp.o.d -o CMakeFiles/guilib.dir/GUIListGroup.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListGroup.cpp
[ 70%] Building CXX object build/pictures/CMakeFiles/pictures.dir/GUIWindowPictures.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/GUIWindowPictures.cpp.o -MF CMakeFiles/pictures.dir/GUIWindowPictures.cpp.o.d -o CMakeFiles/pictures.dir/GUIWindowPictures.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/GUIWindowPictures.cpp
[ 70%] Linking CXX static library platform_common.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/platform && /usr/bin/cmake -P CMakeFiles/platform_common.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/platform && /usr/bin/cmake -E cmake_link_script CMakeFiles/platform_common.dir/link.txt --verbose=1
/usr/bin/ar qc platform_common.a CMakeFiles/platform_common.dir/Environment.cpp.o CMakeFiles/platform_common.dir/xbmc.cpp.o
/usr/bin/ranlib platform_common.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Built target platform_common
[ 70%] Building CXX object build/pictures/CMakeFiles/pictures.dir/GUIWindowSlideShow.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/GUIWindowSlideShow.cpp.o -MF CMakeFiles/pictures.dir/GUIWindowSlideShow.cpp.o.d -o CMakeFiles/pictures.dir/GUIWindowSlideShow.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/GUIWindowSlideShow.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIListItem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIListItem.cpp.o -MF CMakeFiles/guilib.dir/GUIListItem.cpp.o.d -o CMakeFiles/guilib.dir/GUIListItem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.cpp
make  -f build/playlists/CMakeFiles/playlists.dir/build.make build/playlists/CMakeFiles/playlists.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists/CMakeFiles/playlists.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/playlists/CMakeFiles/playlists.dir/build.make build/playlists/CMakeFiles/playlists.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 70%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListB4S.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListB4S.cpp.o -MF CMakeFiles/playlists.dir/PlayListB4S.cpp.o.d -o CMakeFiles/playlists.dir/PlayListB4S.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListB4S.cpp
[ 70%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayList.cpp.o -MF CMakeFiles/playlists.dir/PlayList.cpp.o.d -o CMakeFiles/playlists.dir/PlayList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayList.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CVariant>}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, CVariant>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CVariant> >; _Compare = CGUIListItem::icompare; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, CVariant> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CVariant>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CVariant> >, CGUIListItem::icompare, std::allocator<std::pair<const std::__cxx11::basic_string<char>, CVariant> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CVariant>}; _Key = std::__cxx11::basic_string<char>; _Tp = CVariant; _Compare = CGUIListItem::icompare; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, CVariant> >]',
    inlined from 'std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair>::value, std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> > std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = std::pair<std::__cxx11::basic_string<char>, CVariant>; _Key = std::__cxx11::basic_string<char>; _Tp = CVariant; _Compare = CGUIListItem::icompare; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, CVariant> >]' at /usr/include/c++/12/bits/stl_map.h:858:27,
    inlined from 'void CGUIListItem::SetProperty(const std::string&, const CVariant&)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.cpp:357:27:
/usr/include/c++/12/bits/stl_map.h:638:45: note: parameter passing for argument of type 'std::map<std::__cxx11::basic_string<char>, CVariant, CGUIListItem::icompare>::const_iterator' {aka 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, CVariant>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, CVariant> >, CGUIListItem::icompare, std::allocator<std::pair<const std::__cxx11::basic_string<char>, CVariant> > >::const_iterator'} changed in GCC 7.1
  638 |           return _M_t._M_emplace_hint_unique(__pos,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  639 |                                              std::forward<_Args>(__args)...);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 70%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListFactory.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListFactory.cpp.o -MF CMakeFiles/playlists.dir/PlayListFactory.cpp.o.d -o CMakeFiles/playlists.dir/PlayListFactory.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListFactory.cpp
[ 70%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIListItemLayout.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIListItemLayout.cpp.o -MF CMakeFiles/guilib.dir/GUIListItemLayout.cpp.o.d -o CMakeFiles/guilib.dir/GUIListItemLayout.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItemLayout.cpp
[ 70%] Building CXX object build/pictures/CMakeFiles/pictures.dir/IptcParse.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/IptcParse.cpp.o -MF CMakeFiles/pictures.dir/IptcParse.cpp.o.d -o CMakeFiles/pictures.dir/IptcParse.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/IptcParse.cpp
[ 71%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListM3U.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListM3U.cpp.o -MF CMakeFiles/playlists.dir/PlayListM3U.cpp.o.d -o CMakeFiles/playlists.dir/PlayListM3U.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListM3U.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/JpegParse.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/JpegParse.cpp.o -MF CMakeFiles/pictures.dir/JpegParse.cpp.o.d -o CMakeFiles/pictures.dir/JpegParse.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/JpegParse.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIListLabel.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIListLabel.cpp.o -MF CMakeFiles/guilib.dir/GUIListLabel.cpp.o.d -o CMakeFiles/guilib.dir/GUIListLabel.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListLabel.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/libexif.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/libexif.cpp.o -MF CMakeFiles/pictures.dir/libexif.cpp.o.d -o CMakeFiles/pictures.dir/libexif.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/libexif.cpp
[ 71%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListPLS.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListPLS.cpp.o -MF CMakeFiles/playlists.dir/PlayListPLS.cpp.o.d -o CMakeFiles/playlists.dir/PlayListPLS.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListPLS.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/Picture.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/Picture.cpp.o -MF CMakeFiles/pictures.dir/Picture.cpp.o.d -o CMakeFiles/pictures.dir/Picture.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/Picture.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIMessage.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIMessage.cpp.o -MF CMakeFiles/guilib.dir/GUIMessage.cpp.o.d -o CMakeFiles/guilib.dir/GUIMessage.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/PictureInfoLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/PictureInfoLoader.cpp.o -MF CMakeFiles/pictures.dir/PictureInfoLoader.cpp.o.d -o CMakeFiles/pictures.dir/PictureInfoLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/PictureInfoLoader.cpp
[ 71%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListURL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListURL.cpp.o -MF CMakeFiles/playlists.dir/PlayListURL.cpp.o.d -o CMakeFiles/playlists.dir/PlayListURL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListURL.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIMoverControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIMoverControl.cpp.o -MF CMakeFiles/guilib.dir/GUIMoverControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIMoverControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMoverControl.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/PictureInfoTag.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/PictureInfoTag.cpp.o -MF CMakeFiles/pictures.dir/PictureInfoTag.cpp.o.d -o CMakeFiles/pictures.dir/PictureInfoTag.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/PictureInfoTag.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/PictureScalingAlgorithm.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/PictureScalingAlgorithm.cpp.o -MF CMakeFiles/pictures.dir/PictureScalingAlgorithm.cpp.o.d -o CMakeFiles/pictures.dir/PictureScalingAlgorithm.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/PictureScalingAlgorithm.cpp
[ 71%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListWPL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListWPL.cpp.o -MF CMakeFiles/playlists.dir/PlayListWPL.cpp.o.d -o CMakeFiles/playlists.dir/PlayListWPL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListWPL.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIMultiImage.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIMultiImage.cpp.o -MF CMakeFiles/guilib.dir/GUIMultiImage.cpp.o.d -o CMakeFiles/guilib.dir/GUIMultiImage.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMultiImage.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIPanelContainer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIPanelContainer.cpp.o -MF CMakeFiles/guilib.dir/GUIPanelContainer.cpp.o.d -o CMakeFiles/guilib.dir/GUIPanelContainer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIPanelContainer.cpp
[ 71%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListXML.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListXML.cpp.o -MF CMakeFiles/playlists.dir/PlayListXML.cpp.o.d -o CMakeFiles/playlists.dir/PlayListXML.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListXML.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/PictureThumbLoader.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/PictureThumbLoader.cpp.o -MF CMakeFiles/pictures.dir/PictureThumbLoader.cpp.o.d -o CMakeFiles/pictures.dir/PictureThumbLoader.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/PictureThumbLoader.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIProgressControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIProgressControl.cpp.o -MF CMakeFiles/guilib.dir/GUIProgressControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIProgressControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIProgressControl.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIRadioButtonControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIRadioButtonControl.cpp.o -MF CMakeFiles/guilib.dir/GUIRadioButtonControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIRadioButtonControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIRadioButtonControl.cpp
[ 71%] Building CXX object build/playlists/CMakeFiles/playlists.dir/PlayListXSPF.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/PlayListXSPF.cpp.o -MF CMakeFiles/playlists.dir/PlayListXSPF.cpp.o.d -o CMakeFiles/playlists.dir/PlayListXSPF.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListXSPF.cpp
[ 71%] Building CXX object build/pictures/CMakeFiles/pictures.dir/SlideShowPicture.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/pictures/CMakeFiles/pictures.dir/SlideShowPicture.cpp.o -MF CMakeFiles/pictures.dir/SlideShowPicture.cpp.o.d -o CMakeFiles/pictures.dir/SlideShowPicture.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/SlideShowPicture.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIRangesControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIRangesControl.cpp.o -MF CMakeFiles/guilib.dir/GUIRangesControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIRangesControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIRangesControl.cpp
[ 71%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIRenderingControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIRenderingControl.cpp.o -MF CMakeFiles/guilib.dir/GUIRenderingControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIRenderingControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIRenderingControl.cpp
[ 71%] Building CXX object build/playlists/CMakeFiles/playlists.dir/SmartPlayList.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/SmartPlayList.cpp.o -MF CMakeFiles/playlists.dir/SmartPlayList.cpp.o.d -o CMakeFiles/playlists.dir/SmartPlayList.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/SmartPlayList.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIResizeControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIResizeControl.cpp.o -MF CMakeFiles/guilib.dir/GUIResizeControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIResizeControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIResizeControl.cpp
In file included from /usr/include/c++/12/bits/stl_algobase.h:64,
                 from /usr/include/c++/12/algorithm:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIRangesControl.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIRangesControl.cpp:9:
/usr/include/c++/12/bits/stl_pair.h: In instantiation of 'constexpr std::pair<typename std::__strip_reference_wrapper<typename std::decay<_Tp>::type>::__type, typename std::__strip_reference_wrapper<typename std::decay<_Tp2>::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = float&; _T2 = float&; typename __strip_reference_wrapper<typename decay<_Tp2>::type>::__type = float; typename decay<_Tp2>::type = float; typename __strip_reference_wrapper<typename decay<_Tp>::type>::__type = float; typename decay<_Tp>::type = float]':
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIRangesControl.cpp:402:47:   required from here
/usr/include/c++/12/bits/stl_pair.h:741:5: note: parameter passing for argument of type 'std::pair<float, float>' when C++17 is enabled changed to match C++14 in GCC 10.1
  741 |     make_pair(_T1&& __x, _T2&& __y)
      |     ^~~~~~~~~
[ 72%] Linking CXX static library pictures.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/cmake -P CMakeFiles/pictures.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/pictures && /usr/bin/cmake -E cmake_link_script CMakeFiles/pictures.dir/link.txt --verbose=1
/usr/bin/ar qc pictures.a CMakeFiles/pictures.dir/ExifParse.cpp.o CMakeFiles/pictures.dir/GUIDialogPictureInfo.cpp.o CMakeFiles/pictures.dir/GUIViewStatePictures.cpp.o CMakeFiles/pictures.dir/GUIWindowPictures.cpp.o CMakeFiles/pictures.dir/GUIWindowSlideShow.cpp.o CMakeFiles/pictures.dir/IptcParse.cpp.o CMakeFiles/pictures.dir/JpegParse.cpp.o CMakeFiles/pictures.dir/libexif.cpp.o CMakeFiles/pictures.dir/Picture.cpp.o CMakeFiles/pictures.dir/PictureInfoLoader.cpp.o CMakeFiles/pictures.dir/PictureInfoTag.cpp.o CMakeFiles/pictures.dir/PictureScalingAlgorithm.cpp.o CMakeFiles/pictures.dir/PictureThumbLoader.cpp.o CMakeFiles/pictures.dir/SlideShowPicture.cpp.o
/usr/bin/ranlib pictures.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Built target pictures
make  -f build/powermanagement/CMakeFiles/powermanagement.dir/build.make build/powermanagement/CMakeFiles/powermanagement.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/powermanagement /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/powermanagement /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/powermanagement/CMakeFiles/powermanagement.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/powermanagement/CMakeFiles/powermanagement.dir/build.make build/powermanagement/CMakeFiles/powermanagement.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/powermanagement/CMakeFiles/powermanagement.dir/DPMSSupport.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/powermanagement && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/powermanagement/CMakeFiles/powermanagement.dir/DPMSSupport.cpp.o -MF CMakeFiles/powermanagement.dir/DPMSSupport.cpp.o.d -o CMakeFiles/powermanagement.dir/DPMSSupport.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/powermanagement/DPMSSupport.cpp
[ 72%] Building CXX object build/powermanagement/CMakeFiles/powermanagement.dir/IPowerSyscall.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/powermanagement && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/powermanagement/CMakeFiles/powermanagement.dir/IPowerSyscall.cpp.o -MF CMakeFiles/powermanagement.dir/IPowerSyscall.cpp.o.d -o CMakeFiles/powermanagement.dir/IPowerSyscall.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/powermanagement/IPowerSyscall.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIRSSControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIRSSControl.cpp.o -MF CMakeFiles/guilib.dir/GUIRSSControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIRSSControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIRSSControl.cpp
[ 72%] Building CXX object build/powermanagement/CMakeFiles/powermanagement.dir/PowerManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/powermanagement && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/powermanagement/CMakeFiles/powermanagement.dir/PowerManager.cpp.o -MF CMakeFiles/powermanagement.dir/PowerManager.cpp.o.d -o CMakeFiles/powermanagement.dir/PowerManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/powermanagement/PowerManager.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIScrollBarControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIScrollBarControl.cpp.o -MF CMakeFiles/guilib.dir/GUIScrollBarControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIScrollBarControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIScrollBarControl.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUISettingsSliderControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUISettingsSliderControl.cpp.o -MF CMakeFiles/guilib.dir/GUISettingsSliderControl.cpp.o.d -o CMakeFiles/guilib.dir/GUISettingsSliderControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUISettingsSliderControl.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUISliderControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUISliderControl.cpp.o -MF CMakeFiles/guilib.dir/GUISliderControl.cpp.o.d -o CMakeFiles/guilib.dir/GUISliderControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUISliderControl.cpp
[ 72%] Building CXX object build/playlists/CMakeFiles/playlists.dir/SmartPlaylistFileItemListModifier.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/playlists/CMakeFiles/playlists.dir/SmartPlaylistFileItemListModifier.cpp.o -MF CMakeFiles/playlists.dir/SmartPlaylistFileItemListModifier.cpp.o.d -o CMakeFiles/playlists.dir/SmartPlaylistFileItemListModifier.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/SmartPlaylistFileItemListModifier.cpp
[ 72%] Linking CXX static library powermanagement.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/powermanagement && /usr/bin/cmake -P CMakeFiles/powermanagement.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/powermanagement && /usr/bin/cmake -E cmake_link_script CMakeFiles/powermanagement.dir/link.txt --verbose=1
/usr/bin/ar qc powermanagement.a CMakeFiles/powermanagement.dir/DPMSSupport.cpp.o CMakeFiles/powermanagement.dir/IPowerSyscall.cpp.o CMakeFiles/powermanagement.dir/PowerManager.cpp.o
/usr/bin/ranlib powermanagement.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Built target powermanagement
make  -f build/programs/CMakeFiles/programs.dir/build.make build/programs/CMakeFiles/programs.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/programs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/programs /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/programs/CMakeFiles/programs.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/programs/CMakeFiles/programs.dir/build.make build/programs/CMakeFiles/programs.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/programs/CMakeFiles/programs.dir/GUIViewStatePrograms.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/programs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/programs/CMakeFiles/programs.dir/GUIViewStatePrograms.cpp.o -MF CMakeFiles/programs.dir/GUIViewStatePrograms.cpp.o.d -o CMakeFiles/programs.dir/GUIViewStatePrograms.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/programs/GUIViewStatePrograms.cpp
[ 72%] Building CXX object build/programs/CMakeFiles/programs.dir/GUIWindowPrograms.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/programs && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/programs/CMakeFiles/programs.dir/GUIWindowPrograms.cpp.o -MF CMakeFiles/programs.dir/GUIWindowPrograms.cpp.o.d -o CMakeFiles/programs.dir/GUIWindowPrograms.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/programs/GUIWindowPrograms.cpp
[ 72%] Linking CXX static library playlists.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/cmake -P CMakeFiles/playlists.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/playlists && /usr/bin/cmake -E cmake_link_script CMakeFiles/playlists.dir/link.txt --verbose=1
/usr/bin/ar qc playlists.a CMakeFiles/playlists.dir/PlayListB4S.cpp.o CMakeFiles/playlists.dir/PlayList.cpp.o CMakeFiles/playlists.dir/PlayListFactory.cpp.o CMakeFiles/playlists.dir/PlayListM3U.cpp.o CMakeFiles/playlists.dir/PlayListPLS.cpp.o CMakeFiles/playlists.dir/PlayListURL.cpp.o CMakeFiles/playlists.dir/PlayListWPL.cpp.o CMakeFiles/playlists.dir/PlayListXML.cpp.o CMakeFiles/playlists.dir/PlayListXSPF.cpp.o CMakeFiles/playlists.dir/SmartPlayList.cpp.o CMakeFiles/playlists.dir/SmartPlaylistFileItemListModifier.cpp.o
/usr/bin/ranlib playlists.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Built target playlists
make  -f build/rendering/CMakeFiles/rendering.dir/build.make build/rendering/CMakeFiles/rendering.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/rendering /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/rendering/CMakeFiles/rendering.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/rendering/CMakeFiles/rendering.dir/build.make build/rendering/CMakeFiles/rendering.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/rendering/CMakeFiles/rendering.dir/RenderSystem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/rendering/CMakeFiles/rendering.dir/RenderSystem.cpp.o -MF CMakeFiles/rendering.dir/RenderSystem.cpp.o.d -o CMakeFiles/rendering.dir/RenderSystem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUISpinControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUISpinControl.cpp.o -MF CMakeFiles/guilib.dir/GUISpinControl.cpp.o.d -o CMakeFiles/guilib.dir/GUISpinControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUISpinControl.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUISpinControlEx.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUISpinControlEx.cpp.o -MF CMakeFiles/guilib.dir/GUISpinControlEx.cpp.o.d -o CMakeFiles/guilib.dir/GUISpinControlEx.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUISpinControlEx.cpp
[ 72%] Linking CXX static library programs.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/programs && /usr/bin/cmake -P CMakeFiles/programs.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/programs && /usr/bin/cmake -E cmake_link_script CMakeFiles/programs.dir/link.txt --verbose=1
/usr/bin/ar qc programs.a CMakeFiles/programs.dir/GUIViewStatePrograms.cpp.o CMakeFiles/programs.dir/GUIWindowPrograms.cpp.o
/usr/bin/ranlib programs.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Built target programs
[ 72%] Building CXX object build/rendering/CMakeFiles/rendering.dir/MatrixGL.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/rendering && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/rendering/CMakeFiles/rendering.dir/MatrixGL.cpp.o -MF CMakeFiles/rendering.dir/MatrixGL.cpp.o.d -o CMakeFiles/rendering.dir/MatrixGL.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/MatrixGL.cpp
make  -f build/storage/CMakeFiles/storage.dir/build.make build/storage/CMakeFiles/storage.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/storage /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage/CMakeFiles/storage.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/storage/CMakeFiles/storage.dir/build.make build/storage/CMakeFiles/storage.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/storage/CMakeFiles/storage.dir/AutorunMediaJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/storage/CMakeFiles/storage.dir/AutorunMediaJob.cpp.o -MF CMakeFiles/storage.dir/AutorunMediaJob.cpp.o.d -o CMakeFiles/storage.dir/AutorunMediaJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/storage/AutorunMediaJob.cpp
[ 72%] Building CXX object build/storage/CMakeFiles/storage.dir/MediaManager.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/storage/CMakeFiles/storage.dir/MediaManager.cpp.o -MF CMakeFiles/storage.dir/MediaManager.cpp.o.d -o CMakeFiles/storage.dir/MediaManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/storage/MediaManager.cpp
[ 72%] Linking CXX static library rendering.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/rendering && /usr/bin/cmake -P CMakeFiles/rendering.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/rendering && /usr/bin/cmake -E cmake_link_script CMakeFiles/rendering.dir/link.txt --verbose=1
/usr/bin/ar qc rendering.a CMakeFiles/rendering.dir/RenderSystem.cpp.o CMakeFiles/rendering.dir/MatrixGL.cpp.o
/usr/bin/ranlib rendering.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Built target rendering
[ 72%] Building CXX object build/storage/CMakeFiles/storage.dir/cdioSupport.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/storage/CMakeFiles/storage.dir/cdioSupport.cpp.o -MF CMakeFiles/storage.dir/cdioSupport.cpp.o.d -o CMakeFiles/storage.dir/cdioSupport.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/storage/cdioSupport.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIStaticItem.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIStaticItem.cpp.o -MF CMakeFiles/guilib.dir/GUIStaticItem.cpp.o.d -o CMakeFiles/guilib.dir/GUIStaticItem.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIStaticItem.cpp
[ 72%] Building CXX object build/storage/CMakeFiles/storage.dir/DetectDVDType.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/storage/CMakeFiles/storage.dir/DetectDVDType.cpp.o -MF CMakeFiles/storage.dir/DetectDVDType.cpp.o.d -o CMakeFiles/storage.dir/DetectDVDType.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/storage/DetectDVDType.cpp
make  -f build/threads/CMakeFiles/threads.dir/build.make build/threads/CMakeFiles/threads.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/threads /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/threads/CMakeFiles/threads.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/threads/CMakeFiles/threads.dir/build.make build/threads/CMakeFiles/threads.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/threads/CMakeFiles/threads.dir/Event.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/threads && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/threads/CMakeFiles/threads.dir/Event.cpp.o -MF CMakeFiles/threads.dir/Event.cpp.o.d -o CMakeFiles/threads.dir/Event.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.cpp
[ 72%] Building CXX object build/threads/CMakeFiles/threads.dir/Thread.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/threads && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/threads/CMakeFiles/threads.dir/Thread.cpp.o -MF CMakeFiles/threads.dir/Thread.cpp.o.d -o CMakeFiles/threads.dir/Thread.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUITextBox.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUITextBox.cpp.o -MF CMakeFiles/guilib.dir/GUITextBox.cpp.o.d -o CMakeFiles/guilib.dir/GUITextBox.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUITextBox.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUITextLayout.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUITextLayout.cpp.o -MF CMakeFiles/guilib.dir/GUITextLayout.cpp.o.d -o CMakeFiles/guilib.dir/GUITextLayout.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUITextLayout.cpp
[ 72%] Linking CXX static library storage.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage && /usr/bin/cmake -P CMakeFiles/storage.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/storage && /usr/bin/cmake -E cmake_link_script CMakeFiles/storage.dir/link.txt --verbose=1
/usr/bin/ar qc storage.a CMakeFiles/storage.dir/AutorunMediaJob.cpp.o CMakeFiles/storage.dir/MediaManager.cpp.o CMakeFiles/storage.dir/cdioSupport.cpp.o CMakeFiles/storage.dir/DetectDVDType.cpp.o
/usr/bin/ranlib storage.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Built target storage
[ 72%] Building CXX object build/threads/CMakeFiles/threads.dir/Timer.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/threads && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/threads/CMakeFiles/threads.dir/Timer.cpp.o -MF CMakeFiles/threads.dir/Timer.cpp.o.d -o CMakeFiles/threads.dir/Timer.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Timer.cpp
make  -f build/utils/CMakeFiles/utils.dir/build.make build/utils/CMakeFiles/utils.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils/CMakeFiles/utils.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/utils/CMakeFiles/utils.dir/build.make build/utils/CMakeFiles/utils.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/utils/CMakeFiles/utils.dir/ActorProtocol.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/utils/CMakeFiles/utils.dir/ActorProtocol.cpp.o -MF CMakeFiles/utils.dir/ActorProtocol.cpp.o.d -o CMakeFiles/utils.dir/ActorProtocol.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ActorProtocol.cpp
make  -f build/view/CMakeFiles/view.dir/build.make build/view/CMakeFiles/view.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/view /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/view/CMakeFiles/view.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/view/CMakeFiles/view.dir/build.make build/view/CMakeFiles/view.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/view/CMakeFiles/view.dir/GUIViewControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/view && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/view/CMakeFiles/view.dir/GUIViewControl.cpp.o -MF CMakeFiles/view.dir/GUIViewControl.cpp.o.d -o CMakeFiles/view.dir/GUIViewControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/GUIViewControl.cpp
[ 72%] Linking CXX static library threads.a
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/threads && /usr/bin/cmake -P CMakeFiles/threads.dir/cmake_clean_target.cmake
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/threads && /usr/bin/cmake -E cmake_link_script CMakeFiles/threads.dir/link.txt --verbose=1
/usr/bin/ar qc threads.a CMakeFiles/threads.dir/Event.cpp.o CMakeFiles/threads.dir/Thread.cpp.o CMakeFiles/threads.dir/Timer.cpp.o
/usr/bin/ranlib threads.a
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Built target threads
[ 72%] Building CXX object build/utils/CMakeFiles/utils.dir/AlarmClock.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/utils/CMakeFiles/utils.dir/AlarmClock.cpp.o -MF CMakeFiles/utils.dir/AlarmClock.cpp.o.d -o CMakeFiles/utils.dir/AlarmClock.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/AlarmClock.cpp
[ 72%] Building CXX object build/view/CMakeFiles/view.dir/GUIViewState.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/view && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/view/CMakeFiles/view.dir/GUIViewState.cpp.o -MF CMakeFiles/view.dir/GUIViewState.cpp.o.d -o CMakeFiles/view.dir/GUIViewState.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/GUIViewState.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUITexture.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUITexture.cpp.o -MF CMakeFiles/guilib.dir/GUITexture.cpp.o.d -o CMakeFiles/guilib.dir/GUITexture.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUITexture.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIToggleButtonControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIToggleButtonControl.cpp.o -MF CMakeFiles/guilib.dir/GUIToggleButtonControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIToggleButtonControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIToggleButtonControl.cpp
In file included from /usr/include/c++/12/map:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/AlarmClock.h:15,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/AlarmClock.cpp:9:
/usr/include/c++/12/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, SAlarmClockEvent>}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> >]':
/usr/include/c++/12/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> > >::const_iterator' changed in GCC 7.1
 2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/12/map:61:
In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::emplace_hint(const_iterator, _Args&& ...) [with _Args = {std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, SAlarmClockEvent>}; _Key = std::__cxx11::basic_string<char>; _Tp = SAlarmClockEvent; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> >]',
    inlined from 'std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Val>, _Pair>::value, std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Val>, std::_Select1st<std::pair<const _Key, _Val> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Val> >::other>::iterator, bool> > std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = std::pair<std::__cxx11::basic_string<char>, SAlarmClockEvent>; _Key = std::__cxx11::basic_string<char>; _Tp = SAlarmClockEvent; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> >]' at /usr/include/c++/12/bits/stl_map.h:858:27,
    inlined from 'void CAlarmClock::Start(const std::string&, float, const std::string&, bool, bool)' at /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/AlarmClock.cpp:77:17:
/usr/include/c++/12/bits/stl_map.h:638:45: note: parameter passing for argument of type 'std::map<std::__cxx11::basic_string<char>, SAlarmClockEvent>::const_iterator' {aka 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, SAlarmClockEvent> > >::const_iterator'} changed in GCC 7.1
  638 |           return _M_t._M_emplace_hint_unique(__pos,
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
  639 |                                              std::forward<_Args>(__args)...);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make  -f build/weather/CMakeFiles/weather.dir/build.make build/weather/CMakeFiles/weather.dir/depend
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<BUILDDIR>>/kodi-20.0+dfsg /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/weather /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/weather/CMakeFiles/weather.dir/DependInfo.cmake --color=
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make  -f build/weather/CMakeFiles/weather.dir/build.make build/weather/CMakeFiles/weather.dir/build
make[4]: Entering directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
[ 72%] Building CXX object build/weather/CMakeFiles/weather.dir/GUIWindowWeather.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/weather && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/weather/CMakeFiles/weather.dir/GUIWindowWeather.cpp.o -MF CMakeFiles/weather.dir/GUIWindowWeather.cpp.o.d -o CMakeFiles/weather.dir/GUIWindowWeather.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/GUIWindowWeather.cpp
[ 72%] Building CXX object build/utils/CMakeFiles/utils.dir/AliasShortcutUtils.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/utils/CMakeFiles/utils.dir/AliasShortcutUtils.cpp.o -MF CMakeFiles/utils.dir/AliasShortcutUtils.cpp.o.d -o CMakeFiles/utils.dir/AliasShortcutUtils.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/AliasShortcutUtils.cpp
[ 72%] Building CXX object build/utils/CMakeFiles/utils.dir/Archive.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/utils/CMakeFiles/utils.dir/Archive.cpp.o -MF CMakeFiles/utils.dir/Archive.cpp.o.d -o CMakeFiles/utils.dir/Archive.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Archive.cpp
[ 72%] Building CXX object build/view/CMakeFiles/view.dir/ViewDatabase.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/view && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/view/CMakeFiles/view.dir/ViewDatabase.cpp.o -MF CMakeFiles/view.dir/ViewDatabase.cpp.o.d -o CMakeFiles/view.dir/ViewDatabase.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewDatabase.cpp
[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIVideoControl.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIVideoControl.cpp.o -MF CMakeFiles/guilib.dir/GUIVideoControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIVideoControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp
[ 72%] Building CXX object build/weather/CMakeFiles/weather.dir/WeatherJob.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/weather && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/weather/CMakeFiles/weather.dir/WeatherJob.cpp.o -MF CMakeFiles/weather.dir/WeatherJob.cpp.o.d -o CMakeFiles/weather.dir/WeatherJob.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp
[ 72%] Building CXX object build/utils/CMakeFiles/utils.dir/Base64.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/utils/CMakeFiles/utils.dir/Base64.cpp.o -MF CMakeFiles/utils.dir/Base64.cpp.o.d -o CMakeFiles/utils.dir/Base64.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp
In file included from /usr/include/c++/12/bits/char_traits.h:42,
                 from /usr/include/c++/12/string:40,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp:9:
/usr/include/c++/12/type_traits:2393:55: internal compiler error: Segmentation fault
 2393 |     auto declval() noexcept -> decltype(__declval<_Tp>(0))
      |                                                       ^
In file included from /usr/include/c++/12/bits/stl_algobase.h:64,
                 from /usr/include/c++/12/memory:63,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp:9:
/usr/include/c++/12/bits/stl_pair.h:469:58: internal compiler error: Segmentation fault
  469 |                  typename = __enable_if_t<is_null_pointer<_Tp>::value>>
      |                                                          ^
0x137a10f internal_error(char const*, ...)
	???:0
0x137a10f internal_error(char const*, ...)
	???:0
0x389c8b pop_to_parent_deferring_access_checks()
	???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
In file included from /usr/include/c++/12/bits/stl_pair.h:60,
                 from /usr/include/c++/12/bits/stl_algobase.h:64,
                 from /usr/include/c++/12/algorithm:60,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h:18,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h:11,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.h:16,
                 from /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp:9:
/usr/include/c++/12/type_traits: In instantiation of 'struct std::__is_referenceable<const float*, void>':
/usr/include/c++/12/type_traits:1079:12:   required from 'struct std::is_nothrow_copy_constructible<const float*>'
/usr/include/c++/12/bits/stl_algobase.h:314:5:   required from '_Iterator std::__niter_base(_Iterator) [with _Iterator = const float*]'
/usr/include/c++/12/bits/stl_algobase.h:1218:49:   required from 'bool std::__equal_aux(_II1, _II1, _II2) [with _II1 = const float*; _II2 = const float*]'
/usr/include/c++/12/bits/stl_algobase.h:1555:30:   required from 'bool std::equal(_II1, _II1, _II2) [with _II1 = const float*; _II2 = const float*]'
/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h:289:19:   required from here
/usr/include/c++/12/type_traits:697:12: internal compiler error: Segmentation fault
  697 |     struct __is_referenceable<_Tp, __void_t<_Tp&>>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x389c8b pop_to_parent_deferring_access_checks()
	???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
0x137a10f internal_error(char const*, ...)
	???:0
0x389c8b pop_to_parent_deferring_access_checks()
	???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccYajJhB.out file, please attach this to your bugreport.
=== BEGIN GCC DUMP ===
1152: // Target: arm-linux-gnueabihf
1152: // Configured with: ../src/configure -v --with-pkgversion='Raspbian 12.2.0-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6+fp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
1152: // Thread model: posix
1152: // Supported LTO compression algorithms: zlib zstd
1152: // gcc version 12.2.0 (Raspbian 12.2.0-14+rpi1) 
1152: // 
1152: // /usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
1152: //   298 |   typedef __SIZE_TYPE__         size_t;
1152: //       |           ^~~~~~~~~~~~~
1152: // 0x137a10f internal_error(char const*, ...)
1152: // 	???:0
1152: // 0x389c8b pop_to_parent_deferring_access_checks()
1152: // 	???:0
1152: // Please submit a full bug report, with preprocessed source (by using -freport-bug).
1152: // Please include the complete backtrace with any bug report.
1152: // See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
1152: 
1152: // /usr/lib/gcc/arm-linux-gnueabihf/12/cc1plus -quiet -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I /<<BUILDDIR>>/kodi-20.0+dfsg -I /<<BUILDDIR>>/kodi-20.0+dfsg/lib -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -imultilib . -imultiarch arm-linux-gnueabihf -MD CMakeFiles/utils.dir/Base64.cpp.d -MF CMakeFiles/utils.dir/Base64.cpp.o.d -MT build/utils/CMakeFiles/utils.dir/Base64.cpp.o -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 -D _XBMC -D DEB_VERSION="2:20.0+dfsg-1" -D NDEBUG -D TARGET_POSIX -D TARGET_LINUX -D _GNU_SOURCE -D HAVE_LINUX_UDMABUF=1 -D HAVE_LINUX_DMA_HEAP=1 -D HAVE_LINUX_DMA_BUF=1 -D HAVE_MKOSTEMP=1 -D HAVE_LINUX_MEMFD=1 -D HAVE_STATX=1 -D __STDC_CONSTANT_MACROS -D _FILE_OFFSET_BITS=64 -D HAS_POSIX_NETWORK -D HAS_LINUX_NETWORK -D HAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -D HAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -D HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -D HAVE_INOTIFY=1 -D HAVE_POSIX_FADVISE=1 -D HAVE_LOCALTIME_R=1 -D HAVE_GMTIME_R=1 -D HAVE_INTTYPES_H=1 -D HAS_ALSA=1 -D HAS_AVAHI=1 -D HAS_ZEROCONF=1 -D HAVE_LIBBLURAY=1 -D HAVE_LIBBLURAY_BDJ=1 -D HAVE_LIBCEC=1 -D HAS_DBUS=1 -D HAS_ISO9660PP=1 -D HAVE_LCMS2=1 -D CMS_NO_REGISTER_KEYWORD=1 -D HAS_LIRC=1 -D HAS_WEB_SERVER=1 -D HAS_WEB_INTERFACE=1 -D HAS_FILESYSTEM_NFS=1 -D HAS_NFS_SET_TIMEOUT -D HAS_PIPEWIRE=1 -D HAS_AIRPLAY=1 -D HAS_PULSEAUDIO=1 -D HAS_PYTHON=1 -D HAS_FILESYSTEM_SMB=1 -D HAS_SNDIO=1 -D HAVE_LIBUDEV=1 -D HAS_UDFREAD=1 -D HAVE_LIBXSLT=1 -D HAVE_LIBVA=1 -D HAS_GLX=1 -D HAVE_LIBVDPAU=1 -D DATE_HAS_STRINGVIEW -D FFMPEG_VER_SHA="4.4.1" -D HAVE_GCRYPT=1 -D SPDLOG_FMT_EXTERNAL -D SPDLOG_DEBUG_ON -D SPDLOG_NO_ATOMIC_LEVELS -D SPDLOG_ENABLE_PATTERN_PADDING -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D HAS_EGL=1 -D HAVE_X11=1 -D HAVE_LIBXRANDR=1 -D HAVE_HDR_OUTPUT_METADATA=1 -D HAVE_DRM_MODIFIER_NAME=1 -D HAS_GL=1 -D HAVE_WAYLAND=1 -D HAVE_GBM=1 -D HAS_GBM_BO_MAP=1 -D HAS_GBM_MODIFIERS=1 -D HAS_MYSQL=1 -D HAS_UPNP=1 -D HAS_DVD_DRIVE -D HAS_CDDA_RIPPER -D HAS_AIRTUNES=1 -D BIN_INSTALL_PATH="/usr/lib/arm-linux-gnueabihf/kodi" -D INSTALL_PATH="/usr/share/kodi" -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp -quiet -dumpdir CMakeFiles/utils.dir/ -dumpbase Base64.cpp.cpp -dumpbase-ext .cpp -mfloat-abi=hard -mtls-dialect=gnu -marm -mlibarch=armv6+fp -march=armv6+fp -g -g -O3 -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -o - -frandom-seed=0 -fdump-noaddr
1152: 
1152: # 0 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp"
1152: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/utils//"
1152: # 0 "<built-in>"
1152: # 0 "<command-line>"
1152: # 1 "/usr/include/stdc-predef.h" 1 3 4
1152: # 0 "<command-line>" 2
1152: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp"
1152: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp"
1152: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.h" 1
1152: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.h"
1152:        
1152: 
1152: # 1 "/usr/include/c++/12/string" 1 3
1152: # 36 "/usr/include/c++/12/string" 3
1152:        
1152: # 37 "/usr/include/c++/12/string" 3
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 1 3
1152: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1152: 
1152: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1152: namespace std
1152: {
1152:   typedef unsigned int size_t;
1152:   typedef int ptrdiff_t;
1152: 
1152: 
1152:   typedef decltype(nullptr) nullptr_t;
1152: 
1152: 
1152: #pragma GCC visibility push(default)
1152: 
1152: 
1152:   extern "C++" __attribute__ ((__noreturn__, __always_inline__))
1152:   inline void __terminate() noexcept
1152:   {
1152:     void terminate() noexcept __attribute__ ((__noreturn__));
1152:     terminate();
1152:   }
1152: #pragma GCC visibility pop
1152: }
1152: # 329 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1152: namespace std
1152: {
1152:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1152: }
1152: namespace __gnu_cxx
1152: {
1152:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1152: }
1152: # 508 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1152: namespace std
1152: {
1152: #pragma GCC visibility push(default)
1152: 
1152: 
1152: 
1152: 
1152:   constexpr inline bool
1152:   __is_constant_evaluated() noexcept
1152:   {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:     return __builtin_is_constant_evaluated();
1152: 
1152: 
1152: 
1152:   }
1152: #pragma GCC visibility pop
1152: }
1152: # 655 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1152: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 1 3
1152: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 3
1152: # 1 "/usr/include/features.h" 1 3 4
1152: # 392 "/usr/include/features.h" 3 4
1152: # 1 "/usr/include/features-time64.h" 1 3 4
1152: # 20 "/usr/include/features-time64.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1152: # 21 "/usr/include/features-time64.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1152: # 22 "/usr/include/features-time64.h" 2 3 4
1152: # 393 "/usr/include/features.h" 2 3 4
1152: # 489 "/usr/include/features.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 1 3 4
1152: # 559 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1152: # 560 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1152: # 561 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1152: # 490 "/usr/include/features.h" 2 3 4
1152: # 513 "/usr/include/features.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 1 3 4
1152: # 10 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h" 1 3 4
1152: # 11 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 2 3 4
1152: # 514 "/usr/include/features.h" 2 3 4
1152: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 2 3
1152: # 656 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/cpu_defines.h" 1 3
1152: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1152: # 841 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1152: # 1 "/usr/include/c++/12/pstl/pstl_config.h" 1 3
1152: # 842 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1152: # 39 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/stringfwd.h" 1 3
1152: # 37 "/usr/include/c++/12/bits/stringfwd.h" 3
1152:        
1152: # 38 "/usr/include/c++/12/bits/stringfwd.h" 3
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/bits/memoryfwd.h" 1 3
1152: # 46 "/usr/include/c++/12/bits/memoryfwd.h" 3
1152:        
1152: # 47 "/usr/include/c++/12/bits/memoryfwd.h" 3
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 63 "/usr/include/c++/12/bits/memoryfwd.h" 3
1152:   template<typename>
1152:     class allocator;
1152: 
1152:   template<>
1152:     class allocator<void>;
1152: 
1152: 
1152: 
1152:   template<typename, typename>
1152:     struct uses_allocator;
1152: 
1152:   template<typename>
1152:     struct allocator_traits;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 41 "/usr/include/c++/12/bits/stringfwd.h" 2 3
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<class _CharT>
1152:     struct char_traits;
1152: 
1152:   template<> struct char_traits<char>;
1152: 
1152:   template<> struct char_traits<wchar_t>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<> struct char_traits<char16_t>;
1152:   template<> struct char_traits<char32_t>;
1152: 
1152: 
1152: namespace __cxx11 {
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1152:            typename _Alloc = allocator<_CharT> >
1152:     class basic_string;
1152: 
1152: }
1152: 
1152: 
1152:   typedef basic_string<char> string;
1152: 
1152: 
1152:   typedef basic_string<wchar_t> wstring;
1152: # 89 "/usr/include/c++/12/bits/stringfwd.h" 3
1152:   typedef basic_string<char16_t> u16string;
1152: 
1152: 
1152:   typedef basic_string<char32_t> u32string;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 40 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/char_traits.h" 1 3
1152: # 37 "/usr/include/c++/12/bits/char_traits.h" 3
1152:        
1152: # 38 "/usr/include/c++/12/bits/char_traits.h" 3
1152: 
1152: # 1 "/usr/include/c++/12/bits/postypes.h" 1 3
1152: # 38 "/usr/include/c++/12/bits/postypes.h" 3
1152:        
1152: # 39 "/usr/include/c++/12/bits/postypes.h" 3
1152: 
1152: # 1 "/usr/include/c++/12/cwchar" 1 3
1152: # 39 "/usr/include/c++/12/cwchar" 3
1152:        
1152: # 40 "/usr/include/c++/12/cwchar" 3
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/wchar.h" 1 3 4
1152: # 27 "/usr/include/wchar.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1152: # 28 "/usr/include/wchar.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1152: # 52 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 1 3 4
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1152: # 25 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 2 3 4
1152: # 214 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1152: typedef float _Float32;
1152: # 238 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1152: typedef long double _Float64;
1152: # 268 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1152: typedef double _Float32x;
1152: # 53 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 2 3 4
1152: # 31 "/usr/include/wchar.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1152: # 214 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1152: typedef unsigned int size_t;
1152: # 36 "/usr/include/wchar.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1152: # 40 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 3 4
1152: typedef __builtin_va_list __gnuc_va_list;
1152: # 39 "/usr/include/wchar.h" 2 3 4
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar.h" 1 3 4
1152: # 41 "/usr/include/wchar.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 1 3 4
1152: # 20 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 3 4
1152: typedef unsigned int wint_t;
1152: # 42 "/usr/include/wchar.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 1 3 4
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 1 3 4
1152: # 13 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 3 4
1152: typedef struct
1152: {
1152:   int __count;
1152:   union
1152:   {
1152:     unsigned int __wch;
1152:     char __wchb[4];
1152:   } __value;
1152: } __mbstate_t;
1152: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 2 3 4
1152: 
1152: typedef __mbstate_t mbstate_t;
1152: # 43 "/usr/include/wchar.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__FILE.h" 1 3 4
1152: 
1152: 
1152: 
1152: struct _IO_FILE;
1152: typedef struct _IO_FILE __FILE;
1152: # 44 "/usr/include/wchar.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/FILE.h" 1 3 4
1152: 
1152: 
1152: 
1152: struct _IO_FILE;
1152: 
1152: 
1152: typedef struct _IO_FILE FILE;
1152: # 47 "/usr/include/wchar.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 1 3 4
1152: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 1 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 3 4
1152: struct __locale_struct
1152: {
1152: 
1152:   struct __locale_data *__locales[13];
1152: 
1152: 
1152:   const unsigned short int *__ctype_b;
1152:   const int *__ctype_tolower;
1152:   const int *__ctype_toupper;
1152: 
1152: 
1152:   const char *__names[13];
1152: };
1152: 
1152: typedef struct __locale_struct *__locale_t;
1152: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 2 3 4
1152: 
1152: typedef __locale_t locale_t;
1152: # 50 "/usr/include/wchar.h" 2 3 4
1152: # 79 "/usr/include/wchar.h" 3 4
1152: extern "C" {
1152: 
1152: 
1152: 
1152: struct tm;
1152: 
1152: 
1152: 
1152: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
1152:    const wchar_t *__restrict __src)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
1152:     const wchar_t *__restrict __src, size_t __n)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: extern wchar_t *wcscat (wchar_t *__restrict __dest,
1152:    const wchar_t *__restrict __src)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
1152:     const wchar_t *__restrict __src, size_t __n)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
1152:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1152:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: 
1152: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1152: 
1152: 
1152: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
1152:    size_t __n) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1152:     locale_t __loc) noexcept (true);
1152: 
1152: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1152:      size_t __n, locale_t __loc) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1152: 
1152: 
1152: 
1152: extern size_t wcsxfrm (wchar_t *__restrict __s1,
1152:          const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
1152:         locale_t __loc) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
1152:     size_t __n, locale_t __loc) noexcept (true);
1152: 
1152: 
1152: extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1152: 
1152: 
1152: 
1152: 
1152: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
1152:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1152: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
1152:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
1152:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1152: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
1152:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1152: # 182 "/usr/include/wchar.h" 3 4
1152: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
1152:      noexcept (true) __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: 
1152: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
1152:      noexcept (true) __attribute__ ((__pure__));
1152: 
1152: 
1152: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
1152:      noexcept (true) __attribute__ ((__pure__));
1152: 
1152: 
1152: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
1152:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1152: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
1152:          const wchar_t *__accept)
1152:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
1152:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1152: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
1152:         const wchar_t *__needle)
1152:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wchar_t *wcstok (wchar_t *__restrict __s,
1152:    const wchar_t *__restrict __delim,
1152:    wchar_t **__restrict __ptr) noexcept (true);
1152: 
1152: 
1152: extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: 
1152: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
1152:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1152: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
1152:         const wchar_t *__needle)
1152:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1152: # 241 "/usr/include/wchar.h" 3 4
1152: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
1152:      noexcept (true) __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
1152:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1152: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
1152:          size_t __n)
1152:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1152:      noexcept (true) __attribute__ ((__pure__));
1152: 
1152: 
1152: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
1152:     const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1152: 
1152: 
1152: 
1152: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
1152:      noexcept (true);
1152: 
1152: 
1152: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
1152:      const wchar_t *__restrict __s2, size_t __n)
1152:      noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t btowc (int __c) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int wctob (wint_t __c) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__));
1152: 
1152: 
1152: 
1152: extern size_t mbrtowc (wchar_t *__restrict __pwc,
1152:          const char *__restrict __s, size_t __n,
1152:          mbstate_t *__restrict __p) noexcept (true);
1152: 
1152: 
1152: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
1152:          mbstate_t *__restrict __ps) noexcept (true);
1152: 
1152: 
1152: extern size_t __mbrlen (const char *__restrict __s, size_t __n,
1152:    mbstate_t *__restrict __ps) noexcept (true);
1152: extern size_t mbrlen (const char *__restrict __s, size_t __n,
1152:         mbstate_t *__restrict __ps) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t __btowc_alias (int __c) __asm ("btowc");
1152: extern __inline __attribute__ ((__gnu_inline__)) wint_t
1152: __attribute__ ((__leaf__)) btowc (int __c) noexcept (true)
1152: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
1152:    ? (wint_t) __c : __btowc_alias (__c)); }
1152: 
1152: extern int __wctob_alias (wint_t __c) __asm ("wctob");
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: __attribute__ ((__leaf__)) wctob (wint_t __wc) noexcept (true)
1152: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
1152:    ? (int) __wc : __wctob_alias (__wc)); }
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) size_t
1152: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) noexcept (true)
1152: 
1152: { return (__ps != __null
1152:    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
1152: 
1152: 
1152: 
1152: 
1152: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
1152:     const char **__restrict __src, size_t __len,
1152:     mbstate_t *__restrict __ps) noexcept (true);
1152: 
1152: 
1152: 
1152: extern size_t wcsrtombs (char *__restrict __dst,
1152:     const wchar_t **__restrict __src, size_t __len,
1152:     mbstate_t *__restrict __ps) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
1152:      const char **__restrict __src, size_t __nmc,
1152:      size_t __len, mbstate_t *__restrict __ps) noexcept (true);
1152: 
1152: 
1152: 
1152: extern size_t wcsnrtombs (char *__restrict __dst,
1152:      const wchar_t **__restrict __src,
1152:      size_t __nwc, size_t __len,
1152:      mbstate_t *__restrict __ps) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int wcwidth (wchar_t __c) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern double wcstod (const wchar_t *__restrict __nptr,
1152:         wchar_t **__restrict __endptr) noexcept (true);
1152: 
1152: 
1152: 
1152: extern float wcstof (const wchar_t *__restrict __nptr,
1152:        wchar_t **__restrict __endptr) noexcept (true);
1152: extern long double wcstold (const wchar_t *__restrict __nptr,
1152:        wchar_t **__restrict __endptr) noexcept (true);
1152: # 397 "/usr/include/wchar.h" 3 4
1152: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
1152:      wchar_t **__restrict __endptr) noexcept (true);
1152: 
1152: 
1152: 
1152: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
1152:      wchar_t **__restrict __endptr) noexcept (true);
1152: # 412 "/usr/include/wchar.h" 3 4
1152: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
1152:        wchar_t **__restrict __endptr) noexcept (true);
1152: # 429 "/usr/include/wchar.h" 3 4
1152: extern long int wcstol (const wchar_t *__restrict __nptr,
1152:    wchar_t **__restrict __endptr, int __base) noexcept (true);
1152: 
1152: 
1152: 
1152: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
1152:       wchar_t **__restrict __endptr, int __base)
1152:      noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: __extension__
1152: extern long long int wcstoll (const wchar_t *__restrict __nptr,
1152:          wchar_t **__restrict __endptr, int __base)
1152:      noexcept (true);
1152: 
1152: 
1152: 
1152: __extension__
1152: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
1152:      wchar_t **__restrict __endptr,
1152:      int __base) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: __extension__
1152: extern long long int wcstoq (const wchar_t *__restrict __nptr,
1152:         wchar_t **__restrict __endptr, int __base)
1152:      noexcept (true);
1152: 
1152: 
1152: 
1152: __extension__
1152: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
1152:            wchar_t **__restrict __endptr,
1152:            int __base) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern long int wcstol_l (const wchar_t *__restrict __nptr,
1152:      wchar_t **__restrict __endptr, int __base,
1152:      locale_t __loc) noexcept (true);
1152: 
1152: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
1152:         wchar_t **__restrict __endptr,
1152:         int __base, locale_t __loc) noexcept (true);
1152: 
1152: __extension__
1152: extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
1152:     wchar_t **__restrict __endptr,
1152:     int __base, locale_t __loc) noexcept (true);
1152: 
1152: __extension__
1152: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
1152:        wchar_t **__restrict __endptr,
1152:        int __base, locale_t __loc)
1152:      noexcept (true);
1152: 
1152: extern double wcstod_l (const wchar_t *__restrict __nptr,
1152:    wchar_t **__restrict __endptr, locale_t __loc)
1152:      noexcept (true);
1152: 
1152: extern float wcstof_l (const wchar_t *__restrict __nptr,
1152:          wchar_t **__restrict __endptr, locale_t __loc)
1152:      noexcept (true);
1152: 
1152: extern long double wcstold_l (const wchar_t *__restrict __nptr,
1152:          wchar_t **__restrict __endptr,
1152:          locale_t __loc) noexcept (true);
1152: # 512 "/usr/include/wchar.h" 3 4
1152: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
1152:        wchar_t **__restrict __endptr,
1152:        locale_t __loc) noexcept (true);
1152: 
1152: 
1152: 
1152: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
1152:        wchar_t **__restrict __endptr,
1152:        locale_t __loc) noexcept (true);
1152: # 530 "/usr/include/wchar.h" 3 4
1152: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
1152:          wchar_t **__restrict __endptr,
1152:          locale_t __loc) noexcept (true);
1152: # 552 "/usr/include/wchar.h" 3 4
1152: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
1152:    const wchar_t *__restrict __src) noexcept (true);
1152: 
1152: 
1152: 
1152: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
1152:     const wchar_t *__restrict __src, size_t __n)
1152:      noexcept (true);
1152: # 581 "/usr/include/wchar.h" 3 4
1152: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1152:   __attribute__ ((__malloc__)) ;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fwide (__FILE *__fp, int __mode) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fwprintf (__FILE *__restrict __stream,
1152:        const wchar_t *__restrict __format, ...)
1152:                                                            ;
1152: 
1152: 
1152: 
1152: 
1152: extern int wprintf (const wchar_t *__restrict __format, ...)
1152:                                                            ;
1152: 
1152: extern int swprintf (wchar_t *__restrict __s, size_t __n,
1152:        const wchar_t *__restrict __format, ...)
1152:      noexcept (true) ;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int vfwprintf (__FILE *__restrict __s,
1152:         const wchar_t *__restrict __format,
1152:         __gnuc_va_list __arg)
1152:                                                            ;
1152: 
1152: 
1152: 
1152: 
1152: extern int vwprintf (const wchar_t *__restrict __format,
1152:        __gnuc_va_list __arg)
1152:                                                            ;
1152: 
1152: 
1152: extern int vswprintf (wchar_t *__restrict __s, size_t __n,
1152:         const wchar_t *__restrict __format,
1152:         __gnuc_va_list __arg)
1152:      noexcept (true) ;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fwscanf (__FILE *__restrict __stream,
1152:       const wchar_t *__restrict __format, ...)
1152:                                                           ;
1152: 
1152: 
1152: 
1152: 
1152: extern int wscanf (const wchar_t *__restrict __format, ...)
1152:                                                           ;
1152: 
1152: extern int swscanf (const wchar_t *__restrict __s,
1152:       const wchar_t *__restrict __format, ...)
1152:      noexcept (true) ;
1152: # 657 "/usr/include/wchar.h" 3 4
1152: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf")
1152: 
1152: 
1152:                                                           ;
1152: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf")
1152: 
1152:                                                           ;
1152: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_swscanf")
1152: 
1152: 
1152:                                                           ;
1152: # 688 "/usr/include/wchar.h" 3 4
1152: extern int vfwscanf (__FILE *__restrict __s,
1152:        const wchar_t *__restrict __format,
1152:        __gnuc_va_list __arg)
1152:                                                           ;
1152: 
1152: 
1152: 
1152: 
1152: extern int vwscanf (const wchar_t *__restrict __format,
1152:       __gnuc_va_list __arg)
1152:                                                           ;
1152: 
1152: extern int vswscanf (const wchar_t *__restrict __s,
1152:        const wchar_t *__restrict __format,
1152:        __gnuc_va_list __arg)
1152:      noexcept (true) ;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf")
1152: 
1152: 
1152:                                                           ;
1152: extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf")
1152: 
1152:                                                           ;
1152: extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vswscanf")
1152: 
1152: 
1152:                                                           ;
1152: # 744 "/usr/include/wchar.h" 3 4
1152: extern wint_t fgetwc (__FILE *__stream);
1152: extern wint_t getwc (__FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t getwchar (void);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
1152: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t putwchar (wchar_t __wc);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
1152:    __FILE *__restrict __stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fputws (const wchar_t *__restrict __ws,
1152:      __FILE *__restrict __stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
1152: # 799 "/usr/include/wchar.h" 3 4
1152: extern wint_t getwc_unlocked (__FILE *__stream);
1152: extern wint_t getwchar_unlocked (void);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t fgetwc_unlocked (__FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
1152: # 825 "/usr/include/wchar.h" 3 4
1152: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
1152: extern wint_t putwchar_unlocked (wchar_t __wc);
1152: # 835 "/usr/include/wchar.h" 3 4
1152: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
1152:      __FILE *__restrict __stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fputws_unlocked (const wchar_t *__restrict __ws,
1152:        __FILE *__restrict __stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
1152:    const wchar_t *__restrict __format,
1152:    const struct tm *__restrict __tp) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
1152:      const wchar_t *__restrict __format,
1152:      const struct tm *__restrict __tp,
1152:      locale_t __loc) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 1 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 3 4
1152: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
1152:           const wchar_t *__restrict __s2, size_t __n,
1152:           size_t __ns1) noexcept (true);
1152: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
1152:     size_t __n, size_t __ns1) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
1152:     const wchar_t *__restrict __s2, size_t __n,
1152:     size_t __ns1) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
1152:           size_t __ns) noexcept (true);
1152: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
1152:          const wchar_t *__restrict __src,
1152:          size_t __n) noexcept (true);
1152: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
1152:          const wchar_t *__restrict __src,
1152:          size_t __destlen) noexcept (true);
1152: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
1152:           const wchar_t *__restrict __src, size_t __n,
1152:           size_t __destlen) noexcept (true);
1152: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
1152:           const wchar_t *__restrict __src, size_t __n,
1152:           size_t __destlen) noexcept (true);
1152: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
1152:          const wchar_t *__restrict __src,
1152:          size_t __destlen) noexcept (true);
1152: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
1152:           const wchar_t *__restrict __src,
1152:           size_t __n, size_t __destlen) noexcept (true);
1152: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
1152:       int __flag, size_t __s_len,
1152:       const wchar_t *__restrict __format, ...)
1152:      noexcept (true) ;
1152: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
1152:        int __flag, size_t __s_len,
1152:        const wchar_t *__restrict __format,
1152:        __gnuc_va_list __arg)
1152:      noexcept (true) ;
1152: 
1152: 
1152: 
1152: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
1152:       const wchar_t *__restrict __format, ...);
1152: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
1152:      ...);
1152: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
1152:        const wchar_t *__restrict __format,
1152:        __gnuc_va_list __ap);
1152: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
1152:       __gnuc_va_list __ap);
1152: 
1152: 
1152: 
1152: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
1152:          __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
1152:            int __n, __FILE *__restrict __stream)
1152:        __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
1152:         mbstate_t *__restrict __p,
1152:         size_t __buflen) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
1152:           const char **__restrict __src,
1152:           size_t __len, mbstate_t *__restrict __ps,
1152:           size_t __dstlen) noexcept (true);
1152: extern size_t __wcsrtombs_chk (char *__restrict __dst,
1152:           const wchar_t **__restrict __src,
1152:           size_t __len, mbstate_t *__restrict __ps,
1152:           size_t __dstlen) noexcept (true);
1152: 
1152: 
1152: 
1152: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
1152:     const char **__restrict __src, size_t __nmc,
1152:     size_t __len, mbstate_t *__restrict __ps,
1152:     size_t __dstlen) noexcept (true);
1152: extern size_t __wcsnrtombs_chk (char *__restrict __dst,
1152:     const wchar_t **__restrict __src,
1152:     size_t __nwc, size_t __len,
1152:     mbstate_t *__restrict __ps, size_t __dstlen)
1152:        noexcept (true);
1152: # 869 "/usr/include/wchar.h" 2 3 4
1152: # 879 "/usr/include/wchar.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 1 3 4
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1152: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmemcpy")
1152: 
1152: 
1152:             ;
1152: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemcpy_chk")
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer")))
1152:             ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1152: 
1152:                        ;
1152: }
1152: 
1152: 
1152: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true) __asm__ ("" "wmemmove")
1152: 
1152:                                ;
1152: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemmove_chk")
1152: 
1152: 
1152:      __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer")))
1152:             ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true)
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemmove_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemmove_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemmove_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1152: 
1152:                        ;
1152: }
1152: 
1152: 
1152: 
1152: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmempcpy")
1152: 
1152: 
1152:                            ;
1152: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmempcpy_chk")
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer")))
1152:             ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmempcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmempcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmempcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1152: 
1152:                        ;
1152: }
1152: 
1152: 
1152: 
1152: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true) __asm__ ("" "wmemset")
1152:                              ;
1152: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) noexcept (true) __asm__ ("" "__wmemset_chk")
1152: 
1152: 
1152:      __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer")))
1152:             ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true)
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__s, 0)) && (__builtin_object_size (__s, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t)))))) ? __wmemset_alias (__s, __c, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) ? __wmemset_chk_warn (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t))) : __wmemset_chk (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))))
1152: 
1152:                      ;
1152: }
1152: 
1152: 
1152: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscpy")
1152: 
1152:                                               ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1152: {
1152:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1152:   if (sz != (size_t) -1)
1152:     return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t));
1152:   return __wcscpy_alias (__dest, __src);
1152: }
1152: 
1152: 
1152: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcpcpy")
1152: 
1152:                                               ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1152: {
1152:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1152:   if (sz != (size_t) -1)
1152:     return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t));
1152:   return __wcpcpy_alias (__dest, __src);
1152: }
1152: 
1152: 
1152: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncpy")
1152: 
1152: 
1152:                           ;
1152: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcsncpy_chk")
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer")))
1152:             ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcsncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcsncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcsncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1152: 
1152:                           ;
1152: }
1152: 
1152: 
1152: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcpncpy")
1152: 
1152: 
1152:                           ;
1152: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcpncpy_chk")
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer")))
1152:             ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcpncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcpncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcpncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1152: 
1152:                           ;
1152: }
1152: 
1152: 
1152: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscat")
1152: 
1152:                                               ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1152: {
1152:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1152:   if (sz != (size_t) -1)
1152:     return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t));
1152:   return __wcscat_alias (__dest, __src);
1152: }
1152: 
1152: 
1152: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncat")
1152: 
1152: 
1152:                           ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1152: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1152: 
1152: {
1152:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1152:   if (sz != (size_t) -1)
1152:     return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t));
1152:   return __wcsncat_alias (__dest, __src, __n);
1152: }
1152: 
1152: 
1152: 
1152: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true) __asm__ ("" "swprintf")
1152: 
1152: 
1152:              ;
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true)
1152: 
1152: {
1152:   size_t sz = __builtin_object_size (__s, 2 > 1);
1152:   if (sz != (size_t) -1 || 2 > 1)
1152:     return __swprintf_chk (__s, __n, 2 - 1,
1152:       sz / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ());
1152:   return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ());
1152: }
1152: # 230 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1152: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true) __asm__ ("" "vswprintf")
1152: 
1152: 
1152:                                      ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1152: 
1152: {
1152:   size_t sz = __builtin_object_size (__s, 2 > 1);
1152:   if (sz != (size_t) -1 || 2 > 1)
1152:     return __vswprintf_chk (__s, __n, 2 - 1,
1152:        sz / sizeof (wchar_t), __fmt, __ap);
1152:   return __vswprintf_alias (__s, __n, __fmt, __ap);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: wprintf (const wchar_t *__restrict __fmt, ...)
1152: {
1152:   return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1152: }
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
1152: {
1152:   return __fwprintf_chk (__stream, 2 - 1, __fmt,
1152:     __builtin_va_arg_pack ());
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1152: {
1152:   return __vwprintf_chk (2 - 1, __fmt, __ap);
1152: }
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: vfwprintf (__FILE *__restrict __stream,
1152:     const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1152: {
1152:   return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap);
1152: }
1152: 
1152: 
1152: 
1152: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws")
1152: 
1152:                                               __attribute__ ((__warn_unused_result__));
1152: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk")
1152: 
1152: 
1152:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer")))
1152:                                  ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1152: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1152: {
1152:   size_t sz = __builtin_object_size (__s, 2 > 1);
1152:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1152:     return __fgetws_alias (__s, __n, __stream);
1152:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1152:     return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream);
1152:   return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1152: }
1152: 
1152: 
1152: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked")
1152: 
1152: 
1152:   __attribute__ ((__warn_unused_result__));
1152: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk")
1152: 
1152: 
1152: 
1152:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer")))
1152:                                  ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1152: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1152: {
1152:   size_t sz = __builtin_object_size (__s, 2 > 1);
1152:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1152:     return __fgetws_unlocked_alias (__s, __n, __stream);
1152:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1152:     return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n,
1152:            __stream);
1152:   return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1152: }
1152: 
1152: 
1152: 
1152: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcrtomb")
1152: 
1152:                                                 __attribute__ ((__warn_unused_result__));
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1152: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true)
1152: 
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1152:       && 16 > __builtin_object_size (__s, 2 > 1))
1152:     return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1));
1152:   return __wcrtomb_alias (__s, __wchar, __ps);
1152: }
1152: 
1152: 
1152: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsrtowcs")
1152: 
1152: 
1152: 
1152:                    ;
1152: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsrtowcs_chk")
1152: 
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1152:                         ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1152: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsrtowcs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsrtowcs_chk (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1152: 
1152:                                  ;
1152: }
1152: 
1152: 
1152: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsrtombs")
1152: 
1152: 
1152: 
1152:                    ;
1152: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsrtombs_chk")
1152: 
1152: 
1152: 
1152: 
1152:     __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len")));
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1152: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsrtombs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1152: 
1152:                                ;
1152: }
1152: 
1152: 
1152: 
1152: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsnrtowcs")
1152: 
1152: 
1152: 
1152:                     ;
1152: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsnrtowcs_chk")
1152: 
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1152:                         ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1152: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1152: 
1152:                                         ;
1152: }
1152: 
1152: 
1152: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsnrtombs")
1152: 
1152: 
1152: 
1152:                                                   ;
1152: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsnrtombs_chk")
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len")));
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1152: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1152: 
1152:                                       ;
1152: }
1152: # 880 "/usr/include/wchar.h" 2 3 4
1152: 
1152: 
1152: }
1152: # 45 "/usr/include/c++/12/cwchar" 2 3
1152: # 62 "/usr/include/c++/12/cwchar" 3
1152: namespace std
1152: {
1152:   using ::mbstate_t;
1152: }
1152: # 135 "/usr/include/c++/12/cwchar" 3
1152: extern "C++"
1152: {
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   using ::wint_t;
1152: 
1152:   using ::btowc;
1152:   using ::fgetwc;
1152:   using ::fgetws;
1152:   using ::fputwc;
1152:   using ::fputws;
1152:   using ::fwide;
1152:   using ::fwprintf;
1152:   using ::fwscanf;
1152:   using ::getwc;
1152:   using ::getwchar;
1152:   using ::mbrlen;
1152:   using ::mbrtowc;
1152:   using ::mbsinit;
1152:   using ::mbsrtowcs;
1152:   using ::putwc;
1152:   using ::putwchar;
1152: 
1152:   using ::swprintf;
1152: 
1152:   using ::swscanf;
1152:   using ::ungetwc;
1152:   using ::vfwprintf;
1152: 
1152:   using ::vfwscanf;
1152: 
1152: 
1152:   using ::vswprintf;
1152: 
1152: 
1152:   using ::vswscanf;
1152: 
1152:   using ::vwprintf;
1152: 
1152:   using ::vwscanf;
1152: 
1152:   using ::wcrtomb;
1152:   using ::wcscat;
1152:   using ::wcscmp;
1152:   using ::wcscoll;
1152:   using ::wcscpy;
1152:   using ::wcscspn;
1152:   using ::wcsftime;
1152:   using ::wcslen;
1152:   using ::wcsncat;
1152:   using ::wcsncmp;
1152:   using ::wcsncpy;
1152:   using ::wcsrtombs;
1152:   using ::wcsspn;
1152:   using ::wcstod;
1152: 
1152:   using ::wcstof;
1152: 
1152:   using ::wcstok;
1152:   using ::wcstol;
1152:   using ::wcstoul;
1152:   using ::wcsxfrm;
1152:   using ::wctob;
1152:   using ::wmemcmp;
1152:   using ::wmemcpy;
1152:   using ::wmemmove;
1152:   using ::wmemset;
1152:   using ::wprintf;
1152:   using ::wscanf;
1152:   using ::wcschr;
1152:   using ::wcspbrk;
1152:   using ::wcsrchr;
1152:   using ::wcsstr;
1152:   using ::wmemchr;
1152: # 234 "/usr/include/c++/12/cwchar" 3
1152: 
1152: }
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace __gnu_cxx
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   using ::wcstold;
1152: # 260 "/usr/include/c++/12/cwchar" 3
1152:   using ::wcstoll;
1152:   using ::wcstoull;
1152: 
1152: }
1152: 
1152: namespace std
1152: {
1152:   using ::__gnu_cxx::wcstold;
1152:   using ::__gnu_cxx::wcstoll;
1152:   using ::__gnu_cxx::wcstoull;
1152: }
1152: # 280 "/usr/include/c++/12/cwchar" 3
1152: namespace std
1152: {
1152: 
1152:   using std::wcstof;
1152: 
1152: 
1152:   using std::vfwscanf;
1152: 
1152: 
1152:   using std::vswscanf;
1152: 
1152: 
1152:   using std::vwscanf;
1152: 
1152: 
1152: 
1152:   using std::wcstold;
1152:   using std::wcstoll;
1152:   using std::wcstoull;
1152: 
1152: }
1152: # 41 "/usr/include/c++/12/bits/postypes.h" 2 3
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 62 "/usr/include/c++/12/bits/postypes.h" 3
1152:   typedef long long int streamoff;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   typedef ptrdiff_t streamsize;
1152: # 81 "/usr/include/c++/12/bits/postypes.h" 3
1152:   template<typename _StateT>
1152:     class fpos
1152:     {
1152:     private:
1152:       streamoff _M_off;
1152:       _StateT _M_state;
1152: 
1152:     public:
1152: 
1152: 
1152: 
1152: 
1152:       fpos()
1152:       : _M_off(0), _M_state() { }
1152: # 103 "/usr/include/c++/12/bits/postypes.h" 3
1152:       fpos(streamoff __off)
1152:       : _M_off(__off), _M_state() { }
1152: 
1152: 
1152:       fpos(const fpos&) = default;
1152:       fpos& operator=(const fpos&) = default;
1152:       ~fpos() = default;
1152: 
1152: 
1152: 
1152:       operator streamoff() const { return _M_off; }
1152: 
1152: 
1152:       void
1152:       state(_StateT __st)
1152:       { _M_state = __st; }
1152: 
1152: 
1152:       _StateT
1152:       state() const
1152:       { return _M_state; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       fpos&
1152:       operator+=(streamoff __off)
1152:       {
1152:  _M_off += __off;
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       fpos&
1152:       operator-=(streamoff __off)
1152:       {
1152:  _M_off -= __off;
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       fpos
1152:       operator+(streamoff __off) const
1152:       {
1152:  fpos __pos(*this);
1152:  __pos += __off;
1152:  return __pos;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       fpos
1152:       operator-(streamoff __off) const
1152:       {
1152:  fpos __pos(*this);
1152:  __pos -= __off;
1152:  return __pos;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       streamoff
1152:       operator-(const fpos& __other) const
1152:       { return _M_off - __other._M_off; }
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _StateT>
1152:     inline bool
1152:     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1152:     { return streamoff(__lhs) == streamoff(__rhs); }
1152: 
1152:   template<typename _StateT>
1152:     inline bool
1152:     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1152:     { return streamoff(__lhs) != streamoff(__rhs); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   typedef fpos<mbstate_t> streampos;
1152: 
1152:   typedef fpos<mbstate_t> wstreampos;
1152: # 215 "/usr/include/c++/12/bits/postypes.h" 3
1152:   typedef fpos<mbstate_t> u16streampos;
1152: 
1152:   typedef fpos<mbstate_t> u32streampos;
1152: 
1152: 
1152: 
1152: }
1152: # 40 "/usr/include/c++/12/bits/char_traits.h" 2 3
1152: # 1 "/usr/include/c++/12/cwchar" 1 3
1152: # 39 "/usr/include/c++/12/cwchar" 3
1152:        
1152: # 40 "/usr/include/c++/12/cwchar" 3
1152: # 41 "/usr/include/c++/12/bits/char_traits.h" 2 3
1152: 
1152: # 1 "/usr/include/c++/12/type_traits" 1 3
1152: # 32 "/usr/include/c++/12/type_traits" 3
1152:        
1152: # 33 "/usr/include/c++/12/type_traits" 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   template<typename _Tp>
1152:     class reference_wrapper;
1152: # 61 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Tp, _Tp __v>
1152:     struct integral_constant
1152:     {
1152:       static constexpr _Tp value = __v;
1152:       typedef _Tp value_type;
1152:       typedef integral_constant<_Tp, __v> type;
1152:       constexpr operator value_type() const noexcept { return value; }
1152: 
1152: 
1152: 
1152: 
1152:       constexpr value_type operator()() const noexcept { return value; }
1152: 
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   using true_type = integral_constant<bool, true>;
1152: 
1152: 
1152:   using false_type = integral_constant<bool, false>;
1152: 
1152: 
1152: 
1152:   template<bool __v>
1152:     using __bool_constant = integral_constant<bool, __v>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<bool __v>
1152:     using bool_constant = integral_constant<bool, __v>;
1152: 
1152: 
1152: 
1152: 
1152:   template<bool>
1152:     struct __conditional
1152:     {
1152:       template<typename _Tp, typename>
1152:  using type = _Tp;
1152:     };
1152: 
1152:   template<>
1152:     struct __conditional<false>
1152:     {
1152:       template<typename, typename _Up>
1152:  using type = _Up;
1152:     };
1152: 
1152: 
1152:   template<bool _Cond, typename _If, typename _Else>
1152:     using __conditional_t
1152:       = typename __conditional<_Cond>::template type<_If, _Else>;
1152: 
1152: 
1152:   template <typename _Type>
1152:     struct __type_identity
1152:     { using type = _Type; };
1152: 
1152:   template<typename _Tp>
1152:     using __type_identity_t = typename __type_identity<_Tp>::type;
1152: 
1152:   template<typename...>
1152:     struct __or_;
1152: 
1152:   template<>
1152:     struct __or_<>
1152:     : public false_type
1152:     { };
1152: 
1152:   template<typename _B1>
1152:     struct __or_<_B1>
1152:     : public _B1
1152:     { };
1152: 
1152:   template<typename _B1, typename _B2>
1152:     struct __or_<_B1, _B2>
1152:     : public __conditional_t<_B1::value, _B1, _B2>
1152:     { };
1152: 
1152:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1152:     struct __or_<_B1, _B2, _B3, _Bn...>
1152:     : public __conditional_t<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>
1152:     { };
1152: 
1152:   template<typename...>
1152:     struct __and_;
1152: 
1152:   template<>
1152:     struct __and_<>
1152:     : public true_type
1152:     { };
1152: 
1152:   template<typename _B1>
1152:     struct __and_<_B1>
1152:     : public _B1
1152:     { };
1152: 
1152:   template<typename _B1, typename _B2>
1152:     struct __and_<_B1, _B2>
1152:     : public __conditional_t<_B1::value, _B2, _B1>
1152:     { };
1152: 
1152:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1152:     struct __and_<_B1, _B2, _B3, _Bn...>
1152:     : public __conditional_t<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>
1152:     { };
1152: 
1152:   template<typename _Pp>
1152:     struct __not_
1152:     : public __bool_constant<!bool(_Pp::value)>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename... _Bn>
1152:     inline constexpr bool __or_v = __or_<_Bn...>::value;
1152:   template<typename... _Bn>
1152:     inline constexpr bool __and_v = __and_<_Bn...>::value;
1152: 
1152: 
1152: 
1152: 
1152:   template<typename... _Bn>
1152:     struct conjunction
1152:     : __and_<_Bn...>
1152:     { };
1152: 
1152:   template<typename... _Bn>
1152:     struct disjunction
1152:     : __or_<_Bn...>
1152:     { };
1152: 
1152:   template<typename _Pp>
1152:     struct negation
1152:     : __not_<_Pp>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename... _Bn>
1152:     inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
1152: 
1152:   template<typename... _Bn>
1152:     inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
1152: 
1152:   template<typename _Pp>
1152:     inline constexpr bool negation_v = negation<_Pp>::value;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename>
1152:     struct is_reference;
1152:   template<typename>
1152:     struct is_function;
1152:   template<typename>
1152:     struct is_void;
1152:   template<typename>
1152:     struct remove_cv;
1152:   template<typename>
1152:     struct is_const;
1152: 
1152: 
1152:   template<typename>
1152:     struct __is_array_unknown_bounds;
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Tp, size_t = sizeof(_Tp)>
1152:     constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
1152:     { return {}; }
1152: 
1152:   template <typename _TypeIdentity,
1152:       typename _NestedType = typename _TypeIdentity::type>
1152:     constexpr typename __or_<
1152:       is_reference<_NestedType>,
1152:       is_function<_NestedType>,
1152:       is_void<_NestedType>,
1152:       __is_array_unknown_bounds<_NestedType>
1152:     >::type __is_complete_or_unbounded(_TypeIdentity)
1152:     { return {}; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __success_type
1152:     { typedef _Tp type; };
1152: 
1152:   struct __failure_type
1152:   { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using __remove_cv_t = typename remove_cv<_Tp>::type;
1152: 
1152: 
1152: 
1152:   template<typename>
1152:     struct __is_void_helper
1152:     : public false_type { };
1152: 
1152:   template<>
1152:     struct __is_void_helper<void>
1152:     : public true_type { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_void
1152:     : public __is_void_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename>
1152:     struct __is_integral_helper
1152:     : public false_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<bool>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<char>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<signed char>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<unsigned char>
1152:     : public true_type { };
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct __is_integral_helper<wchar_t>
1152:     : public true_type { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct __is_integral_helper<char16_t>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<char32_t>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<short>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<unsigned short>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<int>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<unsigned int>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<long>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<unsigned long>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<long long>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_integral_helper<unsigned long long>
1152:     : public true_type { };
1152: # 412 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Tp>
1152:     struct is_integral
1152:     : public __is_integral_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename>
1152:     struct __is_floating_point_helper
1152:     : public false_type { };
1152: 
1152:   template<>
1152:     struct __is_floating_point_helper<float>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_floating_point_helper<double>
1152:     : public true_type { };
1152: 
1152:   template<>
1152:     struct __is_floating_point_helper<long double>
1152:     : public true_type { };
1152: # 442 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Tp>
1152:     struct is_floating_point
1152:     : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename>
1152:     struct is_array
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp, std::size_t _Size>
1152:     struct is_array<_Tp[_Size]>
1152:     : public true_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct is_array<_Tp[]>
1152:     : public true_type { };
1152: 
1152:   template<typename>
1152:     struct __is_pointer_helper
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_pointer_helper<_Tp*>
1152:     : public true_type { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_pointer
1152:     : public __is_pointer_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename>
1152:     struct is_lvalue_reference
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct is_lvalue_reference<_Tp&>
1152:     : public true_type { };
1152: 
1152: 
1152:   template<typename>
1152:     struct is_rvalue_reference
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct is_rvalue_reference<_Tp&&>
1152:     : public true_type { };
1152: 
1152:   template<typename>
1152:     struct __is_member_object_pointer_helper
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp, typename _Cp>
1152:     struct __is_member_object_pointer_helper<_Tp _Cp::*>
1152:     : public __not_<is_function<_Tp>>::type { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_member_object_pointer
1152:     : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152:   template<typename>
1152:     struct __is_member_function_pointer_helper
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp, typename _Cp>
1152:     struct __is_member_function_pointer_helper<_Tp _Cp::*>
1152:     : public is_function<_Tp>::type { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_member_function_pointer
1152:     : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_enum
1152:     : public integral_constant<bool, __is_enum(_Tp)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_union
1152:     : public integral_constant<bool, __is_union(_Tp)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_class
1152:     : public integral_constant<bool, __is_class(_Tp)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_function
1152:     : public __bool_constant<!is_const<const _Tp>::value> { };
1152: 
1152:   template<typename _Tp>
1152:     struct is_function<_Tp&>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct is_function<_Tp&&>
1152:     : public false_type { };
1152: 
1152: 
1152: 
1152:   template<typename>
1152:     struct __is_null_pointer_helper
1152:     : public false_type { };
1152: 
1152:   template<>
1152:     struct __is_null_pointer_helper<std::nullptr_t>
1152:     : public true_type { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_null_pointer
1152:     : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nullptr_t
1152:     : public is_null_pointer<_Tp>
1152:     { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_reference
1152:     : public __or_<is_lvalue_reference<_Tp>,
1152:                    is_rvalue_reference<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_arithmetic
1152:     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_fundamental
1152:     : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
1152:      is_null_pointer<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_object
1152:     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
1152:                           is_void<_Tp>>>::type
1152:     { };
1152: 
1152:   template<typename>
1152:     struct is_member_pointer;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_scalar
1152:     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
1152:                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_compound
1152:     : public __not_<is_fundamental<_Tp>>::type { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_member_pointer_helper
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp, typename _Cp>
1152:     struct __is_member_pointer_helper<_Tp _Cp::*>
1152:     : public true_type { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_member_pointer
1152:     : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type
1152:     { };
1152: 
1152:   template<typename, typename>
1152:     struct is_same;
1152: 
1152: 
1152:   template<typename _Tp, typename... _Types>
1152:     using __is_one_of = __or_<is_same<_Tp, _Types>...>;
1152: 
1152: 
1152:   __extension__
1152:   template<typename _Tp>
1152:     using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
1152:    signed char, signed short, signed int, signed long,
1152:    signed long long
1152: # 659 "/usr/include/c++/12/type_traits" 3
1152:    >;
1152: 
1152: 
1152:   __extension__
1152:   template<typename _Tp>
1152:     using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
1152:    unsigned char, unsigned short, unsigned int, unsigned long,
1152:    unsigned long long
1152: # 679 "/usr/include/c++/12/type_traits" 3
1152:    >;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using __is_standard_integer
1152:       = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
1152: 
1152: 
1152:   template<typename...> using __void_t = void;
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename = void>
1152:     struct __is_referenceable
1152:     : public false_type
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_referenceable<_Tp, __void_t<_Tp&>>
1152:     : public true_type
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename>
1152:     struct is_const
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct is_const<_Tp const>
1152:     : public true_type { };
1152: 
1152: 
1152:   template<typename>
1152:     struct is_volatile
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct is_volatile<_Tp volatile>
1152:     : public true_type { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivial
1152:     : public integral_constant<bool, __is_trivial(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivially_copyable
1152:     : public integral_constant<bool, __is_trivially_copyable(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_standard_layout
1152:     : public integral_constant<bool, __is_standard_layout(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct
1152:    
1152:     is_pod
1152:     : public integral_constant<bool, __is_pod(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct
1152:     [[__deprecated__]]
1152:     is_literal_type
1152:     : public integral_constant<bool, __is_literal_type(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_empty
1152:     : public integral_constant<bool, __is_empty(_Tp)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_polymorphic
1152:     : public integral_constant<bool, __is_polymorphic(_Tp)>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_final
1152:     : public integral_constant<bool, __is_final(_Tp)>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_abstract
1152:     : public integral_constant<bool, __is_abstract(_Tp)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp,
1152:     bool = is_arithmetic<_Tp>::value>
1152:     struct __is_signed_helper
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_signed_helper<_Tp, true>
1152:     : public integral_constant<bool, _Tp(-1) < _Tp(0)>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_signed
1152:     : public __is_signed_helper<_Tp>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_unsigned
1152:     : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp, typename _Up = _Tp&&>
1152:     _Up
1152:     __declval(int);
1152: 
1152:   template<typename _Tp>
1152:     _Tp
1152:     __declval(long);
1152: 
1152: 
1152:   template<typename _Tp>
1152:     auto declval() noexcept -> decltype(__declval<_Tp>(0));
1152: 
1152:   template<typename, unsigned = 0>
1152:     struct extent;
1152: 
1152:   template<typename>
1152:     struct remove_all_extents;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_array_known_bounds
1152:     : public integral_constant<bool, (extent<_Tp>::value > 0)>
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_array_unknown_bounds
1152:     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
1152:     { };
1152: # 867 "/usr/include/c++/12/type_traits" 3
1152:   struct __do_is_destructible_impl
1152:   {
1152:     template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
1152:       static true_type __test(int);
1152: 
1152:     template<typename>
1152:       static false_type __test(...);
1152:   };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_destructible_impl
1152:     : public __do_is_destructible_impl
1152:     {
1152:       typedef decltype(__test<_Tp>(0)) type;
1152:     };
1152: 
1152:   template<typename _Tp,
1152:            bool = __or_<is_void<_Tp>,
1152:                         __is_array_unknown_bounds<_Tp>,
1152:                         is_function<_Tp>>::value,
1152:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1152:     struct __is_destructible_safe;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_destructible_safe<_Tp, false, false>
1152:     : public __is_destructible_impl<typename
1152:                remove_all_extents<_Tp>::type>::type
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_destructible_safe<_Tp, true, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_destructible_safe<_Tp, false, true>
1152:     : public true_type { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_destructible
1152:     : public __is_destructible_safe<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   struct __do_is_nt_destructible_impl
1152:   {
1152:     template<typename _Tp>
1152:       static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
1152:       __test(int);
1152: 
1152:     template<typename>
1152:       static false_type __test(...);
1152:   };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_destructible_impl
1152:     : public __do_is_nt_destructible_impl
1152:     {
1152:       typedef decltype(__test<_Tp>(0)) type;
1152:     };
1152: 
1152:   template<typename _Tp,
1152:            bool = __or_<is_void<_Tp>,
1152:                         __is_array_unknown_bounds<_Tp>,
1152:                         is_function<_Tp>>::value,
1152:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1152:     struct __is_nt_destructible_safe;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_destructible_safe<_Tp, false, false>
1152:     : public __is_nt_destructible_impl<typename
1152:                remove_all_extents<_Tp>::type>::type
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_destructible_safe<_Tp, true, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_destructible_safe<_Tp, false, true>
1152:     : public true_type { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_nothrow_destructible
1152:     : public __is_nt_destructible_safe<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename... _Args>
1152:     struct __is_constructible_impl
1152:     : public __bool_constant<__is_constructible(_Tp, _Args...)>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename... _Args>
1152:     struct is_constructible
1152:       : public __is_constructible_impl<_Tp, _Args...>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_default_constructible
1152:     : public __is_constructible_impl<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_copy_constructible_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_copy_constructible_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_copy_constructible_impl<_Tp, true>
1152:     : public __is_constructible_impl<_Tp, const _Tp&>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_copy_constructible
1152:     : public __is_copy_constructible_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_move_constructible_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_move_constructible_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_move_constructible_impl<_Tp, true>
1152:     : public __is_constructible_impl<_Tp, _Tp&&>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_move_constructible
1152:     : public __is_move_constructible_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename... _Args>
1152:     using __is_nothrow_constructible_impl
1152:       = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename... _Args>
1152:     struct is_nothrow_constructible
1152:     : public __is_nothrow_constructible_impl<_Tp, _Args...>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_nothrow_default_constructible
1152:     : public __bool_constant<__is_nothrow_constructible(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_nothrow_copy_constructible_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nothrow_copy_constructible_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nothrow_copy_constructible_impl<_Tp, true>
1152:     : public __is_nothrow_constructible_impl<_Tp, const _Tp&>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_nothrow_copy_constructible
1152:     : public __is_nothrow_copy_constructible_impl<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_nothrow_move_constructible_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nothrow_move_constructible_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nothrow_move_constructible_impl<_Tp, true>
1152:     : public __is_nothrow_constructible_impl<_Tp, _Tp&&>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_nothrow_move_constructible
1152:     : public __is_nothrow_move_constructible_impl<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct is_assignable
1152:     : public __bool_constant<__is_assignable(_Tp, _Up)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_copy_assignable_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_copy_assignable_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_copy_assignable_impl<_Tp, true>
1152:     : public __bool_constant<__is_assignable(_Tp&, const _Tp&)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_copy_assignable
1152:     : public __is_copy_assignable_impl<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_move_assignable_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_move_assignable_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_move_assignable_impl<_Tp, true>
1152:     : public __bool_constant<__is_assignable(_Tp&, _Tp&&)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_move_assignable
1152:     : public __is_move_assignable_impl<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     using __is_nothrow_assignable_impl
1152:       = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct is_nothrow_assignable
1152:     : public __is_nothrow_assignable_impl<_Tp, _Up>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_nt_copy_assignable_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_copy_assignable_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_copy_assignable_impl<_Tp, true>
1152:     : public __is_nothrow_assignable_impl<_Tp&, const _Tp&>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_nothrow_copy_assignable
1152:     : public __is_nt_copy_assignable_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_nt_move_assignable_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_move_assignable_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nt_move_assignable_impl<_Tp, true>
1152:     : public __is_nothrow_assignable_impl<_Tp&, _Tp&&>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_nothrow_move_assignable
1152:     : public __is_nt_move_assignable_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename... _Args>
1152:     struct is_trivially_constructible
1152:     : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivially_default_constructible
1152:     : public __bool_constant<__is_trivially_constructible(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   struct __do_is_implicitly_default_constructible_impl
1152:   {
1152:     template <typename _Tp>
1152:     static void __helper(const _Tp&);
1152: 
1152:     template <typename _Tp>
1152:     static true_type __test(const _Tp&,
1152:                             decltype(__helper<const _Tp&>({}))* = 0);
1152: 
1152:     static false_type __test(...);
1152:   };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_implicitly_default_constructible_impl
1152:     : public __do_is_implicitly_default_constructible_impl
1152:     {
1152:       typedef decltype(__test(declval<_Tp>())) type;
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_implicitly_default_constructible_safe
1152:     : public __is_implicitly_default_constructible_impl<_Tp>::type
1152:     { };
1152: 
1152:   template <typename _Tp>
1152:     struct __is_implicitly_default_constructible
1152:     : public __and_<__is_constructible_impl<_Tp>,
1152:       __is_implicitly_default_constructible_safe<_Tp>>
1152:     { };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_trivially_copy_constructible_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_copy_constructible_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_copy_constructible_impl<_Tp, true>
1152:     : public __and_<__is_copy_constructible_impl<_Tp>,
1152:       integral_constant<bool,
1152:    __is_trivially_constructible(_Tp, const _Tp&)>>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivially_copy_constructible
1152:     : public __is_trivially_copy_constructible_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_trivially_move_constructible_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_move_constructible_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_move_constructible_impl<_Tp, true>
1152:     : public __and_<__is_move_constructible_impl<_Tp>,
1152:       integral_constant<bool,
1152:    __is_trivially_constructible(_Tp, _Tp&&)>>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivially_move_constructible
1152:     : public __is_trivially_move_constructible_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct is_trivially_assignable
1152:     : public __bool_constant<__is_trivially_assignable(_Tp, _Up)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_trivially_copy_assignable_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_copy_assignable_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_copy_assignable_impl<_Tp, true>
1152:     : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivially_copy_assignable
1152:     : public __is_trivially_copy_assignable_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __is_trivially_move_assignable_impl;
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_move_assignable_impl<_Tp, false>
1152:     : public false_type { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_trivially_move_assignable_impl<_Tp, true>
1152:     : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivially_move_assignable
1152:     : public __is_trivially_move_assignable_impl<_Tp>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_trivially_destructible
1152:     : public __and_<__is_destructible_safe<_Tp>,
1152:       __bool_constant<__has_trivial_destructor(_Tp)>>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct has_virtual_destructor
1152:     : public integral_constant<bool, __has_virtual_destructor(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct alignment_of
1152:     : public integral_constant<std::size_t, alignof(_Tp)>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename>
1152:     struct rank
1152:     : public integral_constant<std::size_t, 0> { };
1152: 
1152:   template<typename _Tp, std::size_t _Size>
1152:     struct rank<_Tp[_Size]>
1152:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1152: 
1152:   template<typename _Tp>
1152:     struct rank<_Tp[]>
1152:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1152: 
1152: 
1152:   template<typename, unsigned _Uint>
1152:     struct extent
1152:     : public integral_constant<std::size_t, 0> { };
1152: 
1152:   template<typename _Tp, unsigned _Uint, std::size_t _Size>
1152:     struct extent<_Tp[_Size], _Uint>
1152:     : public integral_constant<std::size_t,
1152:           _Uint == 0 ? _Size : extent<_Tp,
1152:           _Uint - 1>::value>
1152:     { };
1152: 
1152:   template<typename _Tp, unsigned _Uint>
1152:     struct extent<_Tp[], _Uint>
1152:     : public integral_constant<std::size_t,
1152:           _Uint == 0 ? 0 : extent<_Tp,
1152:              _Uint - 1>::value>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct is_same
1152: 
1152:     : public integral_constant<bool, __is_same(_Tp, _Up)>
1152: 
1152: 
1152: 
1152:     { };
1152: # 1445 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Base, typename _Derived>
1152:     struct is_base_of
1152:     : public integral_constant<bool, __is_base_of(_Base, _Derived)>
1152:     { };
1152: 
1152:   template<typename _From, typename _To,
1152:            bool = __or_<is_void<_From>, is_function<_To>,
1152:                         is_array<_To>>::value>
1152:     struct __is_convertible_helper
1152:     {
1152:       typedef typename is_void<_To>::type type;
1152:     };
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1152:   template<typename _From, typename _To>
1152:     class __is_convertible_helper<_From, _To, false>
1152:     {
1152:       template<typename _To1>
1152:  static void __test_aux(_To1) noexcept;
1152: 
1152:       template<typename _From1, typename _To1,
1152:         typename = decltype(__test_aux<_To1>(std::declval<_From1>()))>
1152:  static true_type
1152:  __test(int);
1152: 
1152:       template<typename, typename>
1152:  static false_type
1152:  __test(...);
1152: 
1152:     public:
1152:       typedef decltype(__test<_From, _To>(0)) type;
1152:     };
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152:   template<typename _From, typename _To>
1152:     struct is_convertible
1152:     : public __is_convertible_helper<_From, _To>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _ToElementType, typename _FromElementType>
1152:     using __is_array_convertible
1152:       = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
1152: 
1152:   template<typename _From, typename _To,
1152:            bool = __or_<is_void<_From>, is_function<_To>,
1152:                         is_array<_To>>::value>
1152:     struct __is_nt_convertible_helper
1152:     : is_void<_To>
1152:     { };
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1152:   template<typename _From, typename _To>
1152:     class __is_nt_convertible_helper<_From, _To, false>
1152:     {
1152:       template<typename _To1>
1152:  static void __test_aux(_To1) noexcept;
1152: 
1152:       template<typename _From1, typename _To1>
1152:  static
1152:  __bool_constant<noexcept(__test_aux<_To1>(std::declval<_From1>()))>
1152:  __test(int);
1152: 
1152:       template<typename, typename>
1152:  static false_type
1152:  __test(...);
1152: 
1152:     public:
1152:       using type = decltype(__test<_From, _To>(0));
1152:     };
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152:   template<typename _From, typename _To>
1152:     struct __is_nothrow_convertible
1152:     : public __is_nt_convertible_helper<_From, _To>::type
1152:     { };
1152: # 1543 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Tp>
1152:     struct remove_const
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_const<_Tp const>
1152:     { typedef _Tp type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct remove_volatile
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_volatile<_Tp volatile>
1152:     { typedef _Tp type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct remove_cv
1152:     { using type = _Tp; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_cv<const _Tp>
1152:     { using type = _Tp; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_cv<volatile _Tp>
1152:     { using type = _Tp; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_cv<const volatile _Tp>
1152:     { using type = _Tp; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct add_const
1152:     { typedef _Tp const type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct add_volatile
1152:     { typedef _Tp volatile type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct add_cv
1152:     {
1152:       typedef typename
1152:       add_const<typename add_volatile<_Tp>::type>::type type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using remove_const_t = typename remove_const<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using remove_volatile_t = typename remove_volatile<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using remove_cv_t = typename remove_cv<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using add_const_t = typename add_const<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using add_volatile_t = typename add_volatile<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using add_cv_t = typename add_cv<_Tp>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct remove_reference
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_reference<_Tp&>
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_reference<_Tp&&>
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __add_lvalue_reference_helper
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct __add_lvalue_reference_helper<_Tp, true>
1152:     { typedef _Tp& type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct add_lvalue_reference
1152:     : public __add_lvalue_reference_helper<_Tp>
1152:     { };
1152: 
1152:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1152:     struct __add_rvalue_reference_helper
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct __add_rvalue_reference_helper<_Tp, true>
1152:     { typedef _Tp&& type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct add_rvalue_reference
1152:     : public __add_rvalue_reference_helper<_Tp>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using remove_reference_t = typename remove_reference<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Unqualified, bool _IsConst, bool _IsVol>
1152:     struct __cv_selector;
1152: 
1152:   template<typename _Unqualified>
1152:     struct __cv_selector<_Unqualified, false, false>
1152:     { typedef _Unqualified __type; };
1152: 
1152:   template<typename _Unqualified>
1152:     struct __cv_selector<_Unqualified, false, true>
1152:     { typedef volatile _Unqualified __type; };
1152: 
1152:   template<typename _Unqualified>
1152:     struct __cv_selector<_Unqualified, true, false>
1152:     { typedef const _Unqualified __type; };
1152: 
1152:   template<typename _Unqualified>
1152:     struct __cv_selector<_Unqualified, true, true>
1152:     { typedef const volatile _Unqualified __type; };
1152: 
1152:   template<typename _Qualified, typename _Unqualified,
1152:     bool _IsConst = is_const<_Qualified>::value,
1152:     bool _IsVol = is_volatile<_Qualified>::value>
1152:     class __match_cv_qualifiers
1152:     {
1152:       typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
1152: 
1152:     public:
1152:       typedef typename __match::__type __type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __make_unsigned
1152:     { typedef _Tp __type; };
1152: 
1152:   template<>
1152:     struct __make_unsigned<char>
1152:     { typedef unsigned char __type; };
1152: 
1152:   template<>
1152:     struct __make_unsigned<signed char>
1152:     { typedef unsigned char __type; };
1152: 
1152:   template<>
1152:     struct __make_unsigned<short>
1152:     { typedef unsigned short __type; };
1152: 
1152:   template<>
1152:     struct __make_unsigned<int>
1152:     { typedef unsigned int __type; };
1152: 
1152:   template<>
1152:     struct __make_unsigned<long>
1152:     { typedef unsigned long __type; };
1152: 
1152:   template<>
1152:     struct __make_unsigned<long long>
1152:     { typedef unsigned long long __type; };
1152: # 1771 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Tp,
1152:     bool _IsInt = is_integral<_Tp>::value,
1152:     bool _IsEnum = is_enum<_Tp>::value>
1152:     class __make_unsigned_selector;
1152: 
1152:   template<typename _Tp>
1152:     class __make_unsigned_selector<_Tp, true, false>
1152:     {
1152:       using __unsigned_type
1152:  = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
1152: 
1152:     public:
1152:       using __type
1152:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1152:     };
1152: 
1152:   class __make_unsigned_selector_base
1152:   {
1152:   protected:
1152:     template<typename...> struct _List { };
1152: 
1152:     template<typename _Tp, typename... _Up>
1152:       struct _List<_Tp, _Up...> : _List<_Up...>
1152:       { static constexpr size_t __size = sizeof(_Tp); };
1152: 
1152:     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
1152:       struct __select;
1152: 
1152:     template<size_t _Sz, typename _Uint, typename... _UInts>
1152:       struct __select<_Sz, _List<_Uint, _UInts...>, true>
1152:       { using __type = _Uint; };
1152: 
1152:     template<size_t _Sz, typename _Uint, typename... _UInts>
1152:       struct __select<_Sz, _List<_Uint, _UInts...>, false>
1152:       : __select<_Sz, _List<_UInts...>>
1152:       { };
1152:   };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     class __make_unsigned_selector<_Tp, false, true>
1152:     : __make_unsigned_selector_base
1152:     {
1152: 
1152:       using _UInts = _List<unsigned char, unsigned short, unsigned int,
1152:       unsigned long, unsigned long long>;
1152: 
1152:       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
1152: 
1152:     public:
1152:       using __type
1152:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct __make_unsigned<wchar_t>
1152:     {
1152:       using __type
1152:  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
1152:     };
1152: # 1845 "/usr/include/c++/12/type_traits" 3
1152:   template<>
1152:     struct __make_unsigned<char16_t>
1152:     {
1152:       using __type
1152:  = typename __make_unsigned_selector<char16_t, false, true>::__type;
1152:     };
1152: 
1152:   template<>
1152:     struct __make_unsigned<char32_t>
1152:     {
1152:       using __type
1152:  = typename __make_unsigned_selector<char32_t, false, true>::__type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct make_unsigned
1152:     { typedef typename __make_unsigned_selector<_Tp>::__type type; };
1152: 
1152: 
1152:   template<>
1152:     struct make_unsigned<bool>;
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __make_signed
1152:     { typedef _Tp __type; };
1152: 
1152:   template<>
1152:     struct __make_signed<char>
1152:     { typedef signed char __type; };
1152: 
1152:   template<>
1152:     struct __make_signed<unsigned char>
1152:     { typedef signed char __type; };
1152: 
1152:   template<>
1152:     struct __make_signed<unsigned short>
1152:     { typedef signed short __type; };
1152: 
1152:   template<>
1152:     struct __make_signed<unsigned int>
1152:     { typedef signed int __type; };
1152: 
1152:   template<>
1152:     struct __make_signed<unsigned long>
1152:     { typedef signed long __type; };
1152: 
1152:   template<>
1152:     struct __make_signed<unsigned long long>
1152:     { typedef signed long long __type; };
1152: # 1929 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Tp,
1152:     bool _IsInt = is_integral<_Tp>::value,
1152:     bool _IsEnum = is_enum<_Tp>::value>
1152:     class __make_signed_selector;
1152: 
1152:   template<typename _Tp>
1152:     class __make_signed_selector<_Tp, true, false>
1152:     {
1152:       using __signed_type
1152:  = typename __make_signed<__remove_cv_t<_Tp>>::__type;
1152: 
1152:     public:
1152:       using __type
1152:  = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     class __make_signed_selector<_Tp, false, true>
1152:     {
1152:       typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type;
1152: 
1152:     public:
1152:       typedef typename __make_signed_selector<__unsigned_type>::__type __type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct __make_signed<wchar_t>
1152:     {
1152:       using __type
1152:  = typename __make_signed_selector<wchar_t, false, true>::__type;
1152:     };
1152: # 1975 "/usr/include/c++/12/type_traits" 3
1152:   template<>
1152:     struct __make_signed<char16_t>
1152:     {
1152:       using __type
1152:  = typename __make_signed_selector<char16_t, false, true>::__type;
1152:     };
1152: 
1152:   template<>
1152:     struct __make_signed<char32_t>
1152:     {
1152:       using __type
1152:  = typename __make_signed_selector<char32_t, false, true>::__type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct make_signed
1152:     { typedef typename __make_signed_selector<_Tp>::__type type; };
1152: 
1152: 
1152:   template<>
1152:     struct make_signed<bool>;
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using make_signed_t = typename make_signed<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using make_unsigned_t = typename make_unsigned<_Tp>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct remove_extent
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp, std::size_t _Size>
1152:     struct remove_extent<_Tp[_Size]>
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_extent<_Tp[]>
1152:     { typedef _Tp type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct remove_all_extents
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp, std::size_t _Size>
1152:     struct remove_all_extents<_Tp[_Size]>
1152:     { typedef typename remove_all_extents<_Tp>::type type; };
1152: 
1152:   template<typename _Tp>
1152:     struct remove_all_extents<_Tp[]>
1152:     { typedef typename remove_all_extents<_Tp>::type type; };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using remove_extent_t = typename remove_extent<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename>
1152:     struct __remove_pointer_helper
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct __remove_pointer_helper<_Tp, _Up*>
1152:     { typedef _Up type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct remove_pointer
1152:     : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>>
1152:     { };
1152: 
1152:   template<typename _Tp, bool = __or_<__is_referenceable<_Tp>,
1152:           is_void<_Tp>>::value>
1152:     struct __add_pointer_helper
1152:     { typedef _Tp type; };
1152: 
1152:   template<typename _Tp>
1152:     struct __add_pointer_helper<_Tp, true>
1152:     { typedef typename remove_reference<_Tp>::type* type; };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct add_pointer
1152:     : public __add_pointer_helper<_Tp>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using remove_pointer_t = typename remove_pointer<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using add_pointer_t = typename add_pointer<_Tp>::type;
1152: 
1152: 
1152:   template<std::size_t _Len>
1152:     struct __aligned_storage_msa
1152:     {
1152:       union __type
1152:       {
1152:  unsigned char __data[_Len];
1152:  struct __attribute__((__aligned__)) { } __align;
1152:       };
1152:     };
1152: # 2111 "/usr/include/c++/12/type_traits" 3
1152:   template<std::size_t _Len, std::size_t _Align =
1152:     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1152:     struct aligned_storage
1152:     {
1152:       union type
1152:       {
1152:  unsigned char __data[_Len];
1152:  struct __attribute__((__aligned__((_Align)))) { } __align;
1152:       };
1152:     };
1152: 
1152:   template <typename... _Types>
1152:     struct __strictest_alignment
1152:     {
1152:       static const size_t _S_alignment = 0;
1152:       static const size_t _S_size = 0;
1152:     };
1152: 
1152:   template <typename _Tp, typename... _Types>
1152:     struct __strictest_alignment<_Tp, _Types...>
1152:     {
1152:       static const size_t _S_alignment =
1152:         alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
1152:  ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
1152:       static const size_t _S_size =
1152:         sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
1152:  ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
1152:     };
1152: # 2150 "/usr/include/c++/12/type_traits" 3
1152:   template <size_t _Len, typename... _Types>
1152:     struct aligned_union
1152:     {
1152:     private:
1152:       static_assert(sizeof...(_Types) != 0, "At least one type is required");
1152: 
1152:       using __strictest = __strictest_alignment<_Types...>;
1152:       static const size_t _S_len = _Len > __strictest::_S_size
1152:  ? _Len : __strictest::_S_size;
1152:     public:
1152: 
1152:       static const size_t alignment_value = __strictest::_S_alignment;
1152: 
1152:       typedef typename aligned_storage<_S_len, alignment_value>::type type;
1152:     };
1152: 
1152:   template <size_t _Len, typename... _Types>
1152:     const size_t aligned_union<_Len, _Types...>::alignment_value;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Up,
1152:     bool _IsArray = is_array<_Up>::value,
1152:     bool _IsFunction = is_function<_Up>::value>
1152:     struct __decay_selector;
1152: 
1152: 
1152:   template<typename _Up>
1152:     struct __decay_selector<_Up, false, false>
1152:     { typedef __remove_cv_t<_Up> __type; };
1152: 
1152:   template<typename _Up>
1152:     struct __decay_selector<_Up, true, false>
1152:     { typedef typename remove_extent<_Up>::type* __type; };
1152: 
1152:   template<typename _Up>
1152:     struct __decay_selector<_Up, false, true>
1152:     { typedef typename add_pointer<_Up>::type __type; };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     class decay
1152:     {
1152:       typedef typename remove_reference<_Tp>::type __remove_type;
1152: 
1152:     public:
1152:       typedef typename __decay_selector<__remove_type>::__type type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __strip_reference_wrapper
1152:     {
1152:       typedef _Tp __type;
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __strip_reference_wrapper<reference_wrapper<_Tp> >
1152:     {
1152:       typedef _Tp& __type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using __decay_t = typename decay<_Tp>::type;
1152: 
1152:   template<typename _Tp>
1152:     using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
1152: 
1152: 
1152: 
1152: 
1152:   template<bool, typename _Tp = void>
1152:     struct enable_if
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct enable_if<true, _Tp>
1152:     { typedef _Tp type; };
1152: 
1152: 
1152: 
1152: 
1152:   template<bool _Cond, typename _Tp = void>
1152:     using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
1152: 
1152: 
1152:   template<typename... _Cond>
1152:     using _Require = __enable_if_t<__and_<_Cond...>::value>;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using __remove_cvref_t
1152:      = typename remove_cv<typename remove_reference<_Tp>::type>::type;
1152: 
1152: 
1152: 
1152: 
1152:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1152:     struct conditional
1152:     { typedef _Iftrue type; };
1152: 
1152: 
1152:   template<typename _Iftrue, typename _Iffalse>
1152:     struct conditional<false, _Iftrue, _Iffalse>
1152:     { typedef _Iffalse type; };
1152: 
1152: 
1152:   template<typename... _Tp>
1152:     struct common_type;
1152: 
1152: 
1152: 
1152: 
1152:   struct __do_common_type_impl
1152:   {
1152:     template<typename _Tp, typename _Up>
1152:       using __cond_t
1152:  = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
1152: 
1152: 
1152: 
1152:     template<typename _Tp, typename _Up>
1152:       static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
1152:       _S_test(int);
1152: # 2290 "/usr/include/c++/12/type_traits" 3
1152:     template<typename, typename>
1152:       static __failure_type
1152:       _S_test_2(...);
1152: 
1152:     template<typename _Tp, typename _Up>
1152:       static decltype(_S_test_2<_Tp, _Up>(0))
1152:       _S_test(...);
1152:   };
1152: 
1152: 
1152:   template<>
1152:     struct common_type<>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp0>
1152:     struct common_type<_Tp0>
1152:     : public common_type<_Tp0, _Tp0>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp1, typename _Tp2,
1152:     typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
1152:     struct __common_type_impl
1152:     {
1152: 
1152: 
1152:       using type = common_type<_Dp1, _Dp2>;
1152:     };
1152: 
1152:   template<typename _Tp1, typename _Tp2>
1152:     struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
1152:     : private __do_common_type_impl
1152:     {
1152: 
1152: 
1152:       using type = decltype(_S_test<_Tp1, _Tp2>(0));
1152:     };
1152: 
1152: 
1152:   template<typename _Tp1, typename _Tp2>
1152:     struct common_type<_Tp1, _Tp2>
1152:     : public __common_type_impl<_Tp1, _Tp2>::type
1152:     { };
1152: 
1152:   template<typename...>
1152:     struct __common_type_pack
1152:     { };
1152: 
1152:   template<typename, typename, typename = void>
1152:     struct __common_type_fold;
1152: 
1152: 
1152:   template<typename _Tp1, typename _Tp2, typename... _Rp>
1152:     struct common_type<_Tp1, _Tp2, _Rp...>
1152:     : public __common_type_fold<common_type<_Tp1, _Tp2>,
1152:     __common_type_pack<_Rp...>>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CTp, typename... _Rp>
1152:     struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
1152:          __void_t<typename _CTp::type>>
1152:     : public common_type<typename _CTp::type, _Rp...>
1152:     { };
1152: 
1152: 
1152:   template<typename _CTp, typename _Rp>
1152:     struct __common_type_fold<_CTp, _Rp, void>
1152:     { };
1152: 
1152:   template<typename _Tp, bool = is_enum<_Tp>::value>
1152:     struct __underlying_type_impl
1152:     {
1152:       using type = __underlying_type(_Tp);
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __underlying_type_impl<_Tp, false>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct underlying_type
1152:     : public __underlying_type_impl<_Tp>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __declval_protector
1152:     {
1152:       static const bool __stop = false;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     auto declval() noexcept -> decltype(__declval<_Tp>(0))
1152:     {
1152:       static_assert(__declval_protector<_Tp>::__stop,
1152:       "declval() must not be used!");
1152:       return __declval<_Tp>(0);
1152:     }
1152: 
1152: 
1152:   template<typename _Signature>
1152:     struct result_of;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   struct __invoke_memfun_ref { };
1152:   struct __invoke_memfun_deref { };
1152:   struct __invoke_memobj_ref { };
1152:   struct __invoke_memobj_deref { };
1152:   struct __invoke_other { };
1152: 
1152: 
1152:   template<typename _Tp, typename _Tag>
1152:     struct __result_of_success : __success_type<_Tp>
1152:     { using __invoke_type = _Tag; };
1152: 
1152: 
1152:   struct __result_of_memfun_ref_impl
1152:   {
1152:     template<typename _Fp, typename _Tp1, typename... _Args>
1152:       static __result_of_success<decltype(
1152:       (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
1152:       ), __invoke_memfun_ref> _S_test(int);
1152: 
1152:     template<typename...>
1152:       static __failure_type _S_test(...);
1152:   };
1152: 
1152:   template<typename _MemPtr, typename _Arg, typename... _Args>
1152:     struct __result_of_memfun_ref
1152:     : private __result_of_memfun_ref_impl
1152:     {
1152:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1152:     };
1152: 
1152: 
1152:   struct __result_of_memfun_deref_impl
1152:   {
1152:     template<typename _Fp, typename _Tp1, typename... _Args>
1152:       static __result_of_success<decltype(
1152:       ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
1152:       ), __invoke_memfun_deref> _S_test(int);
1152: 
1152:     template<typename...>
1152:       static __failure_type _S_test(...);
1152:   };
1152: 
1152:   template<typename _MemPtr, typename _Arg, typename... _Args>
1152:     struct __result_of_memfun_deref
1152:     : private __result_of_memfun_deref_impl
1152:     {
1152:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1152:     };
1152: 
1152: 
1152:   struct __result_of_memobj_ref_impl
1152:   {
1152:     template<typename _Fp, typename _Tp1>
1152:       static __result_of_success<decltype(
1152:       std::declval<_Tp1>().*std::declval<_Fp>()
1152:       ), __invoke_memobj_ref> _S_test(int);
1152: 
1152:     template<typename, typename>
1152:       static __failure_type _S_test(...);
1152:   };
1152: 
1152:   template<typename _MemPtr, typename _Arg>
1152:     struct __result_of_memobj_ref
1152:     : private __result_of_memobj_ref_impl
1152:     {
1152:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1152:     };
1152: 
1152: 
1152:   struct __result_of_memobj_deref_impl
1152:   {
1152:     template<typename _Fp, typename _Tp1>
1152:       static __result_of_success<decltype(
1152:       (*std::declval<_Tp1>()).*std::declval<_Fp>()
1152:       ), __invoke_memobj_deref> _S_test(int);
1152: 
1152:     template<typename, typename>
1152:       static __failure_type _S_test(...);
1152:   };
1152: 
1152:   template<typename _MemPtr, typename _Arg>
1152:     struct __result_of_memobj_deref
1152:     : private __result_of_memobj_deref_impl
1152:     {
1152:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1152:     };
1152: 
1152:   template<typename _MemPtr, typename _Arg>
1152:     struct __result_of_memobj;
1152: 
1152:   template<typename _Res, typename _Class, typename _Arg>
1152:     struct __result_of_memobj<_Res _Class::*, _Arg>
1152:     {
1152:       typedef __remove_cvref_t<_Arg> _Argval;
1152:       typedef _Res _Class::* _MemPtr;
1152:       typedef typename __conditional_t<__or_<is_same<_Argval, _Class>,
1152:         is_base_of<_Class, _Argval>>::value,
1152:         __result_of_memobj_ref<_MemPtr, _Arg>,
1152:         __result_of_memobj_deref<_MemPtr, _Arg>
1152:       >::type type;
1152:     };
1152: 
1152:   template<typename _MemPtr, typename _Arg, typename... _Args>
1152:     struct __result_of_memfun;
1152: 
1152:   template<typename _Res, typename _Class, typename _Arg, typename... _Args>
1152:     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
1152:     {
1152:       typedef typename remove_reference<_Arg>::type _Argval;
1152:       typedef _Res _Class::* _MemPtr;
1152:       typedef typename __conditional_t<is_base_of<_Class, _Argval>::value,
1152:         __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
1152:         __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
1152:       >::type type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
1152:     struct __inv_unwrap
1152:     {
1152:       using type = _Tp;
1152:     };
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
1152:     {
1152:       using type = _Up&;
1152:     };
1152: 
1152:   template<bool, bool, typename _Functor, typename... _ArgTypes>
1152:     struct __result_of_impl
1152:     {
1152:       typedef __failure_type type;
1152:     };
1152: 
1152:   template<typename _MemPtr, typename _Arg>
1152:     struct __result_of_impl<true, false, _MemPtr, _Arg>
1152:     : public __result_of_memobj<__decay_t<_MemPtr>,
1152:     typename __inv_unwrap<_Arg>::type>
1152:     { };
1152: 
1152:   template<typename _MemPtr, typename _Arg, typename... _Args>
1152:     struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
1152:     : public __result_of_memfun<__decay_t<_MemPtr>,
1152:     typename __inv_unwrap<_Arg>::type, _Args...>
1152:     { };
1152: 
1152: 
1152:   struct __result_of_other_impl
1152:   {
1152:     template<typename _Fn, typename... _Args>
1152:       static __result_of_success<decltype(
1152:       std::declval<_Fn>()(std::declval<_Args>()...)
1152:       ), __invoke_other> _S_test(int);
1152: 
1152:     template<typename...>
1152:       static __failure_type _S_test(...);
1152:   };
1152: 
1152:   template<typename _Functor, typename... _ArgTypes>
1152:     struct __result_of_impl<false, false, _Functor, _ArgTypes...>
1152:     : private __result_of_other_impl
1152:     {
1152:       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
1152:     };
1152: 
1152: 
1152:   template<typename _Functor, typename... _ArgTypes>
1152:     struct __invoke_result
1152:     : public __result_of_impl<
1152:         is_member_object_pointer<
1152:           typename remove_reference<_Functor>::type
1152:         >::value,
1152:         is_member_function_pointer<
1152:           typename remove_reference<_Functor>::type
1152:         >::value,
1152:  _Functor, _ArgTypes...
1152:       >::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Functor, typename... _ArgTypes>
1152:     struct result_of<_Functor(_ArgTypes...)>
1152:     : public __invoke_result<_Functor, _ArgTypes...>
1152:     { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
1152: 
1152: 
1152: 
1152:   template<size_t _Len, size_t _Align =
1152:      __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1152:     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
1152: 
1152:   template <size_t _Len, typename... _Types>
1152:     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using decay_t = typename decay<_Tp>::type;
1152: 
1152: 
1152:   template<bool _Cond, typename _Tp = void>
1152:     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
1152: 
1152: 
1152:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1152:     using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
1152: 
1152: 
1152:   template<typename... _Tp>
1152:     using common_type_t = typename common_type<_Tp...>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using underlying_type_t = typename underlying_type<_Tp>::type;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     using result_of_t = typename result_of<_Tp>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename...> using void_t = void;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Default, typename _AlwaysVoid,
1152:     template<typename...> class _Op, typename... _Args>
1152:     struct __detector
1152:     {
1152:       using value_t = false_type;
1152:       using type = _Default;
1152:     };
1152: 
1152: 
1152:   template<typename _Default, template<typename...> class _Op,
1152:      typename... _Args>
1152:     struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
1152:     {
1152:       using value_t = true_type;
1152:       using type = _Op<_Args...>;
1152:     };
1152: 
1152: 
1152:   template<typename _Default, template<typename...> class _Op,
1152:     typename... _Args>
1152:     using __detected_or = __detector<_Default, void, _Op, _Args...>;
1152: 
1152: 
1152:   template<typename _Default, template<typename...> class _Op,
1152:     typename... _Args>
1152:     using __detected_or_t
1152:       = typename __detected_or<_Default, _Op, _Args...>::type;
1152: # 2684 "/usr/include/c++/12/type_traits" 3
1152:   template <typename _Tp>
1152:     struct __is_swappable;
1152: 
1152:   template <typename _Tp>
1152:     struct __is_nothrow_swappable;
1152: 
1152:   template<typename>
1152:     struct __is_tuple_like_impl : false_type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_tuple_like
1152:     : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:    
1152:     inline
1152:     _Require<__not_<__is_tuple_like<_Tp>>,
1152:       is_move_constructible<_Tp>,
1152:       is_move_assignable<_Tp>>
1152:     swap(_Tp&, _Tp&)
1152:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1152:              is_nothrow_move_assignable<_Tp>>::value);
1152: 
1152:   template<typename _Tp, size_t _Nm>
1152:    
1152:     inline
1152:     __enable_if_t<__is_swappable<_Tp>::value>
1152:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1152:     noexcept(__is_nothrow_swappable<_Tp>::value);
1152: 
1152: 
1152:   namespace __swappable_details {
1152:     using std::swap;
1152: 
1152:     struct __do_is_swappable_impl
1152:     {
1152:       template<typename _Tp, typename
1152:                = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
1152:         static true_type __test(int);
1152: 
1152:       template<typename>
1152:         static false_type __test(...);
1152:     };
1152: 
1152:     struct __do_is_nothrow_swappable_impl
1152:     {
1152:       template<typename _Tp>
1152:         static __bool_constant<
1152:           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
1152:         > __test(int);
1152: 
1152:       template<typename>
1152:         static false_type __test(...);
1152:     };
1152: 
1152:   }
1152: 
1152:   template<typename _Tp>
1152:     struct __is_swappable_impl
1152:     : public __swappable_details::__do_is_swappable_impl
1152:     {
1152:       typedef decltype(__test<_Tp>(0)) type;
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nothrow_swappable_impl
1152:     : public __swappable_details::__do_is_nothrow_swappable_impl
1152:     {
1152:       typedef decltype(__test<_Tp>(0)) type;
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_swappable
1152:     : public __is_swappable_impl<_Tp>::type
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nothrow_swappable
1152:     : public __is_nothrow_swappable_impl<_Tp>::type
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_swappable
1152:     : public __is_swappable_impl<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_nothrow_swappable
1152:     : public __is_nothrow_swappable_impl<_Tp>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr bool is_swappable_v =
1152:       is_swappable<_Tp>::value;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr bool is_nothrow_swappable_v =
1152:       is_nothrow_swappable<_Tp>::value;
1152: 
1152: 
1152: 
1152:   namespace __swappable_with_details {
1152:     using std::swap;
1152: 
1152:     struct __do_is_swappable_with_impl
1152:     {
1152:       template<typename _Tp, typename _Up, typename
1152:                = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
1152:                typename
1152:                = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
1152:         static true_type __test(int);
1152: 
1152:       template<typename, typename>
1152:         static false_type __test(...);
1152:     };
1152: 
1152:     struct __do_is_nothrow_swappable_with_impl
1152:     {
1152:       template<typename _Tp, typename _Up>
1152:         static __bool_constant<
1152:           noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
1152:           &&
1152:           noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
1152:         > __test(int);
1152: 
1152:       template<typename, typename>
1152:         static false_type __test(...);
1152:     };
1152: 
1152:   }
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct __is_swappable_with_impl
1152:     : public __swappable_with_details::__do_is_swappable_with_impl
1152:     {
1152:       typedef decltype(__test<_Tp, _Up>(0)) type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_swappable_with_impl<_Tp&, _Tp&>
1152:     : public __swappable_details::__do_is_swappable_impl
1152:     {
1152:       typedef decltype(__test<_Tp&>(0)) type;
1152:     };
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct __is_nothrow_swappable_with_impl
1152:     : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
1152:     {
1152:       typedef decltype(__test<_Tp, _Up>(0)) type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
1152:     : public __swappable_details::__do_is_nothrow_swappable_impl
1152:     {
1152:       typedef decltype(__test<_Tp&>(0)) type;
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct is_swappable_with
1152:     : public __is_swappable_with_impl<_Tp, _Up>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "first template argument must be a complete class or an unbounded array");
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1152:  "second template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct is_nothrow_swappable_with
1152:     : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "first template argument must be a complete class or an unbounded array");
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1152:  "second template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     inline constexpr bool is_swappable_with_v =
1152:       is_swappable_with<_Tp, _Up>::value;
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     inline constexpr bool is_nothrow_swappable_with_v =
1152:       is_nothrow_swappable_with<_Tp, _Up>::value;
1152: # 2907 "/usr/include/c++/12/type_traits" 3
1152:   template<typename _Result, typename _Ret,
1152:     bool = is_void<_Ret>::value, typename = void>
1152:     struct __is_invocable_impl : false_type { };
1152: 
1152: 
1152:   template<typename _Result, typename _Ret>
1152:     struct __is_invocable_impl<_Result, _Ret,
1152:                                 true,
1152:           __void_t<typename _Result::type>>
1152:     : true_type
1152:     { };
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1152: 
1152:   template<typename _Result, typename _Ret>
1152:     struct __is_invocable_impl<_Result, _Ret,
1152:                                 false,
1152:           __void_t<typename _Result::type>>
1152:     {
1152:     private:
1152: 
1152: 
1152:       static typename _Result::type _S_get();
1152: 
1152:       template<typename _Tp>
1152:  static void _S_conv(_Tp);
1152: 
1152: 
1152:       template<typename _Tp, typename = decltype(_S_conv<_Tp>(_S_get()))>
1152:  static true_type
1152:  _S_test(int);
1152: 
1152:       template<typename _Tp>
1152:  static false_type
1152:  _S_test(...);
1152: 
1152:     public:
1152:       using type = decltype(_S_test<_Ret>(1));
1152:     };
1152: #pragma GCC diagnostic pop
1152: 
1152:   template<typename _Fn, typename... _ArgTypes>
1152:     struct __is_invocable
1152:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1152:     { };
1152: 
1152:   template<typename _Fn, typename _Tp, typename... _Args>
1152:     constexpr bool __call_is_nt(__invoke_memfun_ref)
1152:     {
1152:       using _Up = typename __inv_unwrap<_Tp>::type;
1152:       return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
1152:      std::declval<_Args>()...));
1152:     }
1152: 
1152:   template<typename _Fn, typename _Tp, typename... _Args>
1152:     constexpr bool __call_is_nt(__invoke_memfun_deref)
1152:     {
1152:       return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
1152:      std::declval<_Args>()...));
1152:     }
1152: 
1152:   template<typename _Fn, typename _Tp>
1152:     constexpr bool __call_is_nt(__invoke_memobj_ref)
1152:     {
1152:       using _Up = typename __inv_unwrap<_Tp>::type;
1152:       return noexcept(std::declval<_Up>().*std::declval<_Fn>());
1152:     }
1152: 
1152:   template<typename _Fn, typename _Tp>
1152:     constexpr bool __call_is_nt(__invoke_memobj_deref)
1152:     {
1152:       return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
1152:     }
1152: 
1152:   template<typename _Fn, typename... _Args>
1152:     constexpr bool __call_is_nt(__invoke_other)
1152:     {
1152:       return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
1152:     }
1152: 
1152:   template<typename _Result, typename _Fn, typename... _Args>
1152:     struct __call_is_nothrow
1152:     : __bool_constant<
1152:  std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
1152:       >
1152:     { };
1152: 
1152:   template<typename _Fn, typename... _Args>
1152:     using __call_is_nothrow_
1152:       = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
1152: 
1152: 
1152:   template<typename _Fn, typename... _Args>
1152:     struct __is_nothrow_invocable
1152:     : __and_<__is_invocable<_Fn, _Args...>,
1152:              __call_is_nothrow_<_Fn, _Args...>>::type
1152:     { };
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1152:   struct __nonesuchbase {};
1152:   struct __nonesuch : private __nonesuchbase {
1152:     ~__nonesuch() = delete;
1152:     __nonesuch(__nonesuch const&) = delete;
1152:     void operator=(__nonesuch const&) = delete;
1152:   };
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Functor, typename... _ArgTypes>
1152:     struct invoke_result
1152:     : public __invoke_result<_Functor, _ArgTypes...>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}),
1152:  "_Functor must be a complete class or an unbounded array");
1152:       static_assert((std::__is_complete_or_unbounded(
1152:  __type_identity<_ArgTypes>{}) && ...),
1152:  "each argument type must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Fn, typename... _Args>
1152:     using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
1152: 
1152: 
1152:   template<typename _Fn, typename... _ArgTypes>
1152:     struct is_invocable
1152:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1152:  "_Fn must be a complete class or an unbounded array");
1152:       static_assert((std::__is_complete_or_unbounded(
1152:  __type_identity<_ArgTypes>{}) && ...),
1152:  "each argument type must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1152:     struct is_invocable_r
1152:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1152:  "_Fn must be a complete class or an unbounded array");
1152:       static_assert((std::__is_complete_or_unbounded(
1152:  __type_identity<_ArgTypes>{}) && ...),
1152:  "each argument type must be a complete class or an unbounded array");
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1152:  "_Ret must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Fn, typename... _ArgTypes>
1152:     struct is_nothrow_invocable
1152:     : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
1152:       __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1152:  "_Fn must be a complete class or an unbounded array");
1152:       static_assert((std::__is_complete_or_unbounded(
1152:  __type_identity<_ArgTypes>{}) && ...),
1152:  "each argument type must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Result, typename _Ret, typename = void>
1152:     struct __is_nt_invocable_impl : false_type { };
1152: 
1152:   template<typename _Result, typename _Ret>
1152:     struct __is_nt_invocable_impl<_Result, _Ret,
1152:       __void_t<typename _Result::type>>
1152:     : __or_<is_void<_Ret>,
1152:      __is_nothrow_convertible<typename _Result::type, _Ret>>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1152:     struct is_nothrow_invocable_r
1152:     : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
1152:              __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1152:  "_Fn must be a complete class or an unbounded array");
1152:       static_assert((std::__is_complete_or_unbounded(
1152:  __type_identity<_ArgTypes>{}) && ...),
1152:  "each argument type must be a complete class or an unbounded array");
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1152:  "_Ret must be a complete class or an unbounded array");
1152:     };
1152: # 3119 "/usr/include/c++/12/type_traits" 3
1152: template <typename _Tp>
1152:   inline constexpr bool is_void_v = is_void<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_integral_v = is_integral<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_array_v = is_array<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_pointer_v = is_pointer<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_lvalue_reference_v =
1152:     is_lvalue_reference<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_rvalue_reference_v =
1152:     is_rvalue_reference<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_member_object_pointer_v =
1152:     is_member_object_pointer<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_member_function_pointer_v =
1152:     is_member_function_pointer<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_enum_v = is_enum<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_union_v = is_union<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_class_v = is_class<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_function_v = is_function<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_reference_v = is_reference<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_object_v = is_object<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_compound_v = is_compound<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_const_v = is_const<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_volatile_v = is_volatile<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivial_v = is_trivial<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivially_copyable_v =
1152:     is_trivially_copyable<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value;
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: template <typename _Tp>
1152:  
1152:   inline constexpr bool is_pod_v = is_pod<_Tp>::value;
1152: template <typename _Tp>
1152:   [[__deprecated__]]
1152:   inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value;
1152: #pragma GCC diagnostic pop
1152:  template <typename _Tp>
1152:   inline constexpr bool is_empty_v = is_empty<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_abstract_v = is_abstract<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_final_v = is_final<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_signed_v = is_signed<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
1152: template <typename _Tp, typename... _Args>
1152:   inline constexpr bool is_constructible_v =
1152:     is_constructible<_Tp, _Args...>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_default_constructible_v =
1152:     is_default_constructible<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_copy_constructible_v =
1152:     is_copy_constructible<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_move_constructible_v =
1152:     is_move_constructible<_Tp>::value;
1152: template <typename _Tp, typename _Up>
1152:   inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
1152: template <typename _Tp, typename... _Args>
1152:   inline constexpr bool is_trivially_constructible_v =
1152:     is_trivially_constructible<_Tp, _Args...>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivially_default_constructible_v =
1152:     is_trivially_default_constructible<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivially_copy_constructible_v =
1152:     is_trivially_copy_constructible<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivially_move_constructible_v =
1152:     is_trivially_move_constructible<_Tp>::value;
1152: template <typename _Tp, typename _Up>
1152:   inline constexpr bool is_trivially_assignable_v =
1152:     is_trivially_assignable<_Tp, _Up>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivially_copy_assignable_v =
1152:     is_trivially_copy_assignable<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivially_move_assignable_v =
1152:     is_trivially_move_assignable<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_trivially_destructible_v =
1152:     is_trivially_destructible<_Tp>::value;
1152: template <typename _Tp, typename... _Args>
1152:   inline constexpr bool is_nothrow_constructible_v =
1152:     is_nothrow_constructible<_Tp, _Args...>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_nothrow_default_constructible_v =
1152:     is_nothrow_default_constructible<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_nothrow_copy_constructible_v =
1152:     is_nothrow_copy_constructible<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_nothrow_move_constructible_v =
1152:     is_nothrow_move_constructible<_Tp>::value;
1152: template <typename _Tp, typename _Up>
1152:   inline constexpr bool is_nothrow_assignable_v =
1152:     is_nothrow_assignable<_Tp, _Up>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_nothrow_copy_assignable_v =
1152:     is_nothrow_copy_assignable<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_nothrow_move_assignable_v =
1152:     is_nothrow_move_assignable<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool is_nothrow_destructible_v =
1152:     is_nothrow_destructible<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr bool has_virtual_destructor_v =
1152:     has_virtual_destructor<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
1152: template <typename _Tp>
1152:   inline constexpr size_t rank_v = rank<_Tp>::value;
1152: template <typename _Tp, unsigned _Idx = 0>
1152:   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
1152: 
1152: template <typename _Tp, typename _Up>
1152:   inline constexpr bool is_same_v = __is_same(_Tp, _Up);
1152: 
1152: 
1152: 
1152: 
1152: template <typename _Base, typename _Derived>
1152:   inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value;
1152: template <typename _From, typename _To>
1152:   inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value;
1152: template<typename _Fn, typename... _Args>
1152:   inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
1152: template<typename _Fn, typename... _Args>
1152:   inline constexpr bool is_nothrow_invocable_v
1152:     = is_nothrow_invocable<_Fn, _Args...>::value;
1152: template<typename _Ret, typename _Fn, typename... _Args>
1152:   inline constexpr bool is_invocable_r_v
1152:     = is_invocable_r<_Ret, _Fn, _Args...>::value;
1152: template<typename _Ret, typename _Fn, typename... _Args>
1152:   inline constexpr bool is_nothrow_invocable_r_v
1152:     = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct has_unique_object_representations
1152:     : bool_constant<__has_unique_object_representations(
1152:       remove_cv_t<remove_all_extents_t<_Tp>>
1152:       )>
1152:     {
1152:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1152:  "template argument must be a complete class or an unbounded array");
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr bool has_unique_object_representations_v
1152:       = has_unique_object_representations<_Tp>::value;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct is_aggregate
1152:     : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value;
1152: # 3703 "/usr/include/c++/12/type_traits" 3
1152: 
1152: }
1152: # 43 "/usr/include/c++/12/bits/char_traits.h" 2 3
1152: # 53 "/usr/include/c++/12/bits/char_traits.h" 3
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wstringop-overflow"
1152: #pragma GCC diagnostic ignored "-Wstringop-overread"
1152: #pragma GCC diagnostic ignored "-Warray-bounds"
1152: # 72 "/usr/include/c++/12/bits/char_traits.h" 3
1152:   template<typename _CharT>
1152:     struct _Char_types
1152:     {
1152:       typedef unsigned long int_type;
1152:       typedef std::streampos pos_type;
1152:       typedef std::streamoff off_type;
1152:       typedef std::mbstate_t state_type;
1152:     };
1152: # 97 "/usr/include/c++/12/bits/char_traits.h" 3
1152:   template<typename _CharT>
1152:     struct char_traits
1152:     {
1152:       typedef _CharT char_type;
1152:       typedef typename _Char_types<_CharT>::int_type int_type;
1152:       typedef typename _Char_types<_CharT>::pos_type pos_type;
1152:       typedef typename _Char_types<_CharT>::off_type off_type;
1152:       typedef typename _Char_types<_CharT>::state_type state_type;
1152: 
1152: 
1152: 
1152: 
1152:       static constexpr void
1152:       assign(char_type& __c1, const char_type& __c2)
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  __c1 = __c2;
1152:       }
1152: 
1152:       static constexpr bool
1152:       eq(const char_type& __c1, const char_type& __c2)
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr bool
1152:       lt(const char_type& __c1, const char_type& __c2)
1152:       { return __c1 < __c2; }
1152: 
1152:       static constexpr int
1152:       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
1152: 
1152:       static constexpr std::size_t
1152:       length(const char_type* __s);
1152: 
1152:       static constexpr const char_type*
1152:       find(const char_type* __s, std::size_t __n, const char_type& __a);
1152: 
1152:       static char_type*
1152:       move(char_type* __s1, const char_type* __s2, std::size_t __n);
1152: 
1152:       static char_type*
1152:       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
1152: 
1152:       static char_type*
1152:       assign(char_type* __s, std::size_t __n, char_type __a);
1152: 
1152:       static constexpr char_type
1152:       to_char_type(const int_type& __c)
1152:       { return static_cast<char_type>(__c); }
1152: 
1152:       static constexpr int_type
1152:       to_int_type(const char_type& __c)
1152:       { return static_cast<int_type>(__c); }
1152: 
1152:       static constexpr bool
1152:       eq_int_type(const int_type& __c1, const int_type& __c2)
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr int_type
1152:       eof()
1152:       { return static_cast<int_type>(-1); }
1152: 
1152:       static constexpr int_type
1152:       not_eof(const int_type& __c)
1152:       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
1152:     };
1152: 
1152:   template<typename _CharT>
1152:     constexpr int
1152:     char_traits<_CharT>::
1152:     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
1152:     {
1152:       for (std::size_t __i = 0; __i < __n; ++__i)
1152:  if (lt(__s1[__i], __s2[__i]))
1152:    return -1;
1152:  else if (lt(__s2[__i], __s1[__i]))
1152:    return 1;
1152:       return 0;
1152:     }
1152: 
1152:   template<typename _CharT>
1152:     constexpr std::size_t
1152:     char_traits<_CharT>::
1152:     length(const char_type* __p)
1152:     {
1152:       std::size_t __i = 0;
1152:       while (!eq(__p[__i], char_type()))
1152:         ++__i;
1152:       return __i;
1152:     }
1152: 
1152:   template<typename _CharT>
1152:     constexpr const typename char_traits<_CharT>::char_type*
1152:     char_traits<_CharT>::
1152:     find(const char_type* __s, std::size_t __n, const char_type& __a)
1152:     {
1152:       for (std::size_t __i = 0; __i < __n; ++__i)
1152:         if (eq(__s[__i], __a))
1152:           return __s + __i;
1152:       return 0;
1152:     }
1152: 
1152:   template<typename _CharT>
1152:    
1152:     typename char_traits<_CharT>::char_type*
1152:     char_traits<_CharT>::
1152:     move(char_type* __s1, const char_type* __s2, std::size_t __n)
1152:     {
1152:       if (__n == 0)
1152:  return __s1;
1152: # 248 "/usr/include/c++/12/bits/char_traits.h" 3
1152:       __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
1152:       return __s1;
1152:     }
1152: 
1152:   template<typename _CharT>
1152:    
1152:     typename char_traits<_CharT>::char_type*
1152:     char_traits<_CharT>::
1152:     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
1152:     {
1152: # 267 "/usr/include/c++/12/bits/char_traits.h" 3
1152:       __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
1152:       return __s1;
1152:     }
1152: 
1152:   template<typename _CharT>
1152:    
1152:     typename char_traits<_CharT>::char_type*
1152:     char_traits<_CharT>::
1152:     assign(char_type* __s, std::size_t __n, char_type __a)
1152:     {
1152: # 286 "/usr/include/c++/12/bits/char_traits.h" 3
1152:       if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
1152:  {
1152:    unsigned char __c;
1152:    __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
1152:    __builtin_memset(__s, __c, __n);
1152:  }
1152:       else
1152:  {
1152:    for (std::size_t __i = 0; __i < __n; ++__i)
1152:      __s[__i] = __a;
1152:  }
1152:       return __s;
1152:     }
1152: 
1152: 
1152: }
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 328 "/usr/include/c++/12/bits/char_traits.h" 3
1152:   template<typename _CharT>
1152:     struct char_traits : public __gnu_cxx::char_traits<_CharT>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct char_traits<char>
1152:     {
1152:       typedef char char_type;
1152:       typedef int int_type;
1152:       typedef streampos pos_type;
1152:       typedef streamoff off_type;
1152:       typedef mbstate_t state_type;
1152: 
1152: 
1152: 
1152: 
1152:       static constexpr void
1152:       assign(char_type& __c1, const char_type& __c2) noexcept
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  __c1 = __c2;
1152:       }
1152: 
1152:       static constexpr bool
1152:       eq(const char_type& __c1, const char_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr bool
1152:       lt(const char_type& __c1, const char_type& __c2) noexcept
1152:       {
1152: 
1152:  return (static_cast<unsigned char>(__c1)
1152:   < static_cast<unsigned char>(__c2));
1152:       }
1152: 
1152:       static constexpr int
1152:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return 0;
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    {
1152:      for (size_t __i = 0; __i < __n; ++__i)
1152:        if (lt(__s1[__i], __s2[__i]))
1152:   return -1;
1152:        else if (lt(__s2[__i], __s1[__i]))
1152:   return 1;
1152:      return 0;
1152:    }
1152: 
1152:  return __builtin_memcmp(__s1, __s2, __n);
1152:       }
1152: 
1152:       static constexpr size_t
1152:       length(const char_type* __s)
1152:       {
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __gnu_cxx::char_traits<char_type>::length(__s);
1152: 
1152:  return __builtin_strlen(__s);
1152:       }
1152: 
1152:       static constexpr const char_type*
1152:       find(const char_type* __s, size_t __n, const char_type& __a)
1152:       {
1152:  if (__n == 0)
1152:    return 0;
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1152: 
1152:  return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
1152:       }
1152: 
1152:       static char_type*
1152:       move(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
1152:       }
1152: 
1152:       static char_type*
1152:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
1152:       }
1152: 
1152:       static char_type*
1152:       assign(char_type* __s, size_t __n, char_type __a)
1152:       {
1152:  if (__n == 0)
1152:    return __s;
1152: 
1152: 
1152: 
1152: 
1152:  return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
1152:       }
1152: 
1152:       static constexpr char_type
1152:       to_char_type(const int_type& __c) noexcept
1152:       { return static_cast<char_type>(__c); }
1152: 
1152: 
1152: 
1152:       static constexpr int_type
1152:       to_int_type(const char_type& __c) noexcept
1152:       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
1152: 
1152:       static constexpr bool
1152:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr int_type
1152:       eof() noexcept
1152:       { return static_cast<int_type>(-1); }
1152: 
1152:       static constexpr int_type
1152:       not_eof(const int_type& __c) noexcept
1152:       { return (__c == eof()) ? 0 : __c; }
1152:   };
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct char_traits<wchar_t>
1152:     {
1152:       typedef wchar_t char_type;
1152:       typedef wint_t int_type;
1152:       typedef streamoff off_type;
1152:       typedef wstreampos pos_type;
1152:       typedef mbstate_t state_type;
1152: 
1152: 
1152: 
1152: 
1152:       static constexpr void
1152:       assign(char_type& __c1, const char_type& __c2) noexcept
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  __c1 = __c2;
1152:       }
1152: 
1152:       static constexpr bool
1152:       eq(const char_type& __c1, const char_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr bool
1152:       lt(const char_type& __c1, const char_type& __c2) noexcept
1152:       { return __c1 < __c2; }
1152: 
1152:       static constexpr int
1152:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return 0;
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
1152: 
1152:  return wmemcmp(__s1, __s2, __n);
1152:       }
1152: 
1152:       static constexpr size_t
1152:       length(const char_type* __s)
1152:       {
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __gnu_cxx::char_traits<char_type>::length(__s);
1152: 
1152:  return wcslen(__s);
1152:       }
1152: 
1152:       static constexpr const char_type*
1152:       find(const char_type* __s, size_t __n, const char_type& __a)
1152:       {
1152:  if (__n == 0)
1152:    return 0;
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1152: 
1152:  return wmemchr(__s, __a, __n);
1152:       }
1152: 
1152:       static char_type*
1152:       move(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return wmemmove(__s1, __s2, __n);
1152:       }
1152: 
1152:       static char_type*
1152:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return wmemcpy(__s1, __s2, __n);
1152:       }
1152: 
1152:       static char_type*
1152:       assign(char_type* __s, size_t __n, char_type __a)
1152:       {
1152:  if (__n == 0)
1152:    return __s;
1152: 
1152: 
1152: 
1152: 
1152:  return wmemset(__s, __a, __n);
1152:       }
1152: 
1152:       static constexpr char_type
1152:       to_char_type(const int_type& __c) noexcept
1152:       { return char_type(__c); }
1152: 
1152:       static constexpr int_type
1152:       to_int_type(const char_type& __c) noexcept
1152:       { return int_type(__c); }
1152: 
1152:       static constexpr bool
1152:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr int_type
1152:       eof() noexcept
1152:       { return static_cast<int_type>((0xffffffffu)); }
1152: 
1152:       static constexpr int_type
1152:       not_eof(const int_type& __c) noexcept
1152:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1152:   };
1152: # 726 "/usr/include/c++/12/bits/char_traits.h" 3
1152: 
1152: }
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/cstdint" 1 3
1152: # 32 "/usr/include/c++/12/cstdint" 3
1152:        
1152: # 33 "/usr/include/c++/12/cstdint" 3
1152: # 41 "/usr/include/c++/12/cstdint" 3
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 1 3 4
1152: # 9 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 3 4
1152: # 1 "/usr/include/stdint.h" 1 3 4
1152: # 26 "/usr/include/stdint.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1152: # 27 "/usr/include/stdint.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types.h" 1 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1152: # 28 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1152: # 29 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1152: 
1152: 
1152: typedef unsigned char __u_char;
1152: typedef unsigned short int __u_short;
1152: typedef unsigned int __u_int;
1152: typedef unsigned long int __u_long;
1152: 
1152: 
1152: typedef signed char __int8_t;
1152: typedef unsigned char __uint8_t;
1152: typedef signed short int __int16_t;
1152: typedef unsigned short int __uint16_t;
1152: typedef signed int __int32_t;
1152: typedef unsigned int __uint32_t;
1152: 
1152: 
1152: 
1152: 
1152: __extension__ typedef signed long long int __int64_t;
1152: __extension__ typedef unsigned long long int __uint64_t;
1152: 
1152: 
1152: 
1152: typedef __int8_t __int_least8_t;
1152: typedef __uint8_t __uint_least8_t;
1152: typedef __int16_t __int_least16_t;
1152: typedef __uint16_t __uint_least16_t;
1152: typedef __int32_t __int_least32_t;
1152: typedef __uint32_t __uint_least32_t;
1152: typedef __int64_t __int_least64_t;
1152: typedef __uint64_t __uint_least64_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: __extension__ typedef long long int __quad_t;
1152: __extension__ typedef unsigned long long int __u_quad_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: __extension__ typedef long long int __intmax_t;
1152: __extension__ typedef unsigned long long int __uintmax_t;
1152: # 141 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/typesizes.h" 1 3 4
1152: # 142 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/time64.h" 1 3 4
1152: # 143 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1152: 
1152: 
1152: __extension__ typedef __uint64_t __dev_t;
1152: __extension__ typedef unsigned int __uid_t;
1152: __extension__ typedef unsigned int __gid_t;
1152: __extension__ typedef unsigned long int __ino_t;
1152: __extension__ typedef __uint64_t __ino64_t;
1152: __extension__ typedef unsigned int __mode_t;
1152: __extension__ typedef unsigned int __nlink_t;
1152: __extension__ typedef long int __off_t;
1152: __extension__ typedef __int64_t __off64_t;
1152: __extension__ typedef int __pid_t;
1152: __extension__ typedef struct { int __val[2]; } __fsid_t;
1152: __extension__ typedef long int __clock_t;
1152: __extension__ typedef unsigned long int __rlim_t;
1152: __extension__ typedef __uint64_t __rlim64_t;
1152: __extension__ typedef unsigned int __id_t;
1152: __extension__ typedef long int __time_t;
1152: __extension__ typedef unsigned int __useconds_t;
1152: __extension__ typedef long int __suseconds_t;
1152: __extension__ typedef __int64_t __suseconds64_t;
1152: 
1152: __extension__ typedef int __daddr_t;
1152: __extension__ typedef int __key_t;
1152: 
1152: 
1152: __extension__ typedef int __clockid_t;
1152: 
1152: 
1152: __extension__ typedef void * __timer_t;
1152: 
1152: 
1152: __extension__ typedef long int __blksize_t;
1152: 
1152: 
1152: 
1152: 
1152: __extension__ typedef long int __blkcnt_t;
1152: __extension__ typedef __int64_t __blkcnt64_t;
1152: 
1152: 
1152: __extension__ typedef unsigned long int __fsblkcnt_t;
1152: __extension__ typedef __uint64_t __fsblkcnt64_t;
1152: 
1152: 
1152: __extension__ typedef unsigned long int __fsfilcnt_t;
1152: __extension__ typedef __uint64_t __fsfilcnt64_t;
1152: 
1152: 
1152: __extension__ typedef int __fsword_t;
1152: 
1152: __extension__ typedef int __ssize_t;
1152: 
1152: 
1152: __extension__ typedef long int __syscall_slong_t;
1152: 
1152: __extension__ typedef unsigned long int __syscall_ulong_t;
1152: 
1152: 
1152: 
1152: typedef __off64_t __loff_t;
1152: typedef char *__caddr_t;
1152: 
1152: 
1152: __extension__ typedef int __intptr_t;
1152: 
1152: 
1152: __extension__ typedef unsigned int __socklen_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef int __sig_atomic_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: __extension__ typedef __int64_t __time64_t;
1152: # 28 "/usr/include/stdint.h" 2 3 4
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1152: # 30 "/usr/include/stdint.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 1 3 4
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 3 4
1152: typedef __int8_t int8_t;
1152: typedef __int16_t int16_t;
1152: typedef __int32_t int32_t;
1152: typedef __int64_t int64_t;
1152: # 35 "/usr/include/stdint.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 1 3 4
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 3 4
1152: typedef __uint8_t uint8_t;
1152: typedef __uint16_t uint16_t;
1152: typedef __uint32_t uint32_t;
1152: typedef __uint64_t uint64_t;
1152: # 38 "/usr/include/stdint.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __int_least8_t int_least8_t;
1152: typedef __int_least16_t int_least16_t;
1152: typedef __int_least32_t int_least32_t;
1152: typedef __int_least64_t int_least64_t;
1152: 
1152: 
1152: typedef __uint_least8_t uint_least8_t;
1152: typedef __uint_least16_t uint_least16_t;
1152: typedef __uint_least32_t uint_least32_t;
1152: typedef __uint_least64_t uint_least64_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef signed char int_fast8_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef int int_fast16_t;
1152: typedef int int_fast32_t;
1152: __extension__
1152: typedef long long int int_fast64_t;
1152: 
1152: 
1152: 
1152: typedef unsigned char uint_fast8_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef unsigned int uint_fast16_t;
1152: typedef unsigned int uint_fast32_t;
1152: __extension__
1152: typedef unsigned long long int uint_fast64_t;
1152: # 93 "/usr/include/stdint.h" 3 4
1152: typedef int intptr_t;
1152: 
1152: 
1152: typedef unsigned int uintptr_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __intmax_t intmax_t;
1152: typedef __uintmax_t uintmax_t;
1152: # 10 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 2 3 4
1152: # 42 "/usr/include/c++/12/cstdint" 2 3
1152: 
1152: 
1152: namespace std
1152: {
1152: 
1152:   using ::int8_t;
1152:   using ::int16_t;
1152:   using ::int32_t;
1152:   using ::int64_t;
1152: 
1152:   using ::int_fast8_t;
1152:   using ::int_fast16_t;
1152:   using ::int_fast32_t;
1152:   using ::int_fast64_t;
1152: 
1152:   using ::int_least8_t;
1152:   using ::int_least16_t;
1152:   using ::int_least32_t;
1152:   using ::int_least64_t;
1152: 
1152:   using ::intmax_t;
1152:   using ::intptr_t;
1152: 
1152:   using ::uint8_t;
1152:   using ::uint16_t;
1152:   using ::uint32_t;
1152:   using ::uint64_t;
1152: 
1152:   using ::uint_fast8_t;
1152:   using ::uint_fast16_t;
1152:   using ::uint_fast32_t;
1152:   using ::uint_fast64_t;
1152: 
1152:   using ::uint_least8_t;
1152:   using ::uint_least16_t;
1152:   using ::uint_least32_t;
1152:   using ::uint_least64_t;
1152: 
1152:   using ::uintmax_t;
1152:   using ::uintptr_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 732 "/usr/include/c++/12/bits/char_traits.h" 2 3
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   template<>
1152:     struct char_traits<char16_t>
1152:     {
1152:       typedef char16_t char_type;
1152: 
1152:       typedef uint_least16_t int_type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       typedef streamoff off_type;
1152:       typedef u16streampos pos_type;
1152:       typedef mbstate_t state_type;
1152: 
1152: 
1152: 
1152: 
1152:       static constexpr void
1152:       assign(char_type& __c1, const char_type& __c2) noexcept
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  __c1 = __c2;
1152:       }
1152: 
1152:       static constexpr bool
1152:       eq(const char_type& __c1, const char_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr bool
1152:       lt(const char_type& __c1, const char_type& __c2) noexcept
1152:       { return __c1 < __c2; }
1152: 
1152:       static constexpr int
1152:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  for (size_t __i = 0; __i < __n; ++__i)
1152:    if (lt(__s1[__i], __s2[__i]))
1152:      return -1;
1152:    else if (lt(__s2[__i], __s1[__i]))
1152:      return 1;
1152:  return 0;
1152:       }
1152: 
1152:       static constexpr size_t
1152:       length(const char_type* __s)
1152:       {
1152:  size_t __i = 0;
1152:  while (!eq(__s[__i], char_type()))
1152:    ++__i;
1152:  return __i;
1152:       }
1152: 
1152:       static constexpr const char_type*
1152:       find(const char_type* __s, size_t __n, const char_type& __a)
1152:       {
1152:  for (size_t __i = 0; __i < __n; ++__i)
1152:    if (eq(__s[__i], __a))
1152:      return __s + __i;
1152:  return 0;
1152:       }
1152: 
1152:       static char_type*
1152:       move(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return (static_cast<char_type*>
1152:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1152:       }
1152: 
1152:       static char_type*
1152:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return (static_cast<char_type*>
1152:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1152:       }
1152: 
1152:       static char_type*
1152:       assign(char_type* __s, size_t __n, char_type __a)
1152:       {
1152:  for (size_t __i = 0; __i < __n; ++__i)
1152:    assign(__s[__i], __a);
1152:  return __s;
1152:       }
1152: 
1152:       static constexpr char_type
1152:       to_char_type(const int_type& __c) noexcept
1152:       { return char_type(__c); }
1152: 
1152:       static constexpr int_type
1152:       to_int_type(const char_type& __c) noexcept
1152:       { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
1152: 
1152:       static constexpr bool
1152:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr int_type
1152:       eof() noexcept
1152:       { return static_cast<int_type>(-1); }
1152: 
1152:       static constexpr int_type
1152:       not_eof(const int_type& __c) noexcept
1152:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1152:     };
1152: 
1152:   template<>
1152:     struct char_traits<char32_t>
1152:     {
1152:       typedef char32_t char_type;
1152: 
1152:       typedef uint_least32_t int_type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       typedef streamoff off_type;
1152:       typedef u32streampos pos_type;
1152:       typedef mbstate_t state_type;
1152: 
1152: 
1152: 
1152: 
1152:       static constexpr void
1152:       assign(char_type& __c1, const char_type& __c2) noexcept
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  __c1 = __c2;
1152:       }
1152: 
1152:       static constexpr bool
1152:       eq(const char_type& __c1, const char_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr bool
1152:       lt(const char_type& __c1, const char_type& __c2) noexcept
1152:       { return __c1 < __c2; }
1152: 
1152:       static constexpr int
1152:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  for (size_t __i = 0; __i < __n; ++__i)
1152:    if (lt(__s1[__i], __s2[__i]))
1152:      return -1;
1152:    else if (lt(__s2[__i], __s1[__i]))
1152:      return 1;
1152:  return 0;
1152:       }
1152: 
1152:       static constexpr size_t
1152:       length(const char_type* __s)
1152:       {
1152:  size_t __i = 0;
1152:  while (!eq(__s[__i], char_type()))
1152:    ++__i;
1152:  return __i;
1152:       }
1152: 
1152:       static constexpr const char_type*
1152:       find(const char_type* __s, size_t __n, const char_type& __a)
1152:       {
1152:  for (size_t __i = 0; __i < __n; ++__i)
1152:    if (eq(__s[__i], __a))
1152:      return __s + __i;
1152:  return 0;
1152:       }
1152: 
1152:       static char_type*
1152:       move(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return (static_cast<char_type*>
1152:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1152:       }
1152: 
1152:       static char_type*
1152:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1152:       {
1152:  if (__n == 0)
1152:    return __s1;
1152: 
1152: 
1152: 
1152: 
1152:  return (static_cast<char_type*>
1152:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1152:       }
1152: 
1152:       static char_type*
1152:       assign(char_type* __s, size_t __n, char_type __a)
1152:       {
1152:  for (size_t __i = 0; __i < __n; ++__i)
1152:    assign(__s[__i], __a);
1152:  return __s;
1152:       }
1152: 
1152:       static constexpr char_type
1152:       to_char_type(const int_type& __c) noexcept
1152:       { return char_type(__c); }
1152: 
1152:       static constexpr int_type
1152:       to_int_type(const char_type& __c) noexcept
1152:       { return int_type(__c); }
1152: 
1152:       static constexpr bool
1152:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1152:       { return __c1 == __c2; }
1152: 
1152:       static constexpr int_type
1152:       eof() noexcept
1152:       { return static_cast<int_type>(-1); }
1152: 
1152:       static constexpr int_type
1152:       not_eof(const int_type& __c) noexcept
1152:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1152:     };
1152: # 998 "/usr/include/c++/12/bits/char_traits.h" 3
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152: }
1152: # 41 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/allocator.h" 1 3
1152: # 46 "/usr/include/c++/12/bits/allocator.h" 3
1152: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 1 3
1152: # 33 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1152: # 1 "/usr/include/c++/12/bits/new_allocator.h" 1 3
1152: # 34 "/usr/include/c++/12/bits/new_allocator.h" 3
1152: # 1 "/usr/include/c++/12/new" 1 3
1152: # 38 "/usr/include/c++/12/new" 3
1152:        
1152: # 39 "/usr/include/c++/12/new" 3
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/bits/exception.h" 1 3
1152: # 34 "/usr/include/c++/12/bits/exception.h" 3
1152:        
1152: # 35 "/usr/include/c++/12/bits/exception.h" 3
1152: 
1152: #pragma GCC visibility push(default)
1152: 
1152: 
1152: 
1152: extern "C++" {
1152: 
1152: namespace std
1152: {
1152: # 61 "/usr/include/c++/12/bits/exception.h" 3
1152:   class exception
1152:   {
1152:   public:
1152:     exception() noexcept { }
1152:     virtual ~exception() noexcept;
1152: 
1152:     exception(const exception&) = default;
1152:     exception& operator=(const exception&) = default;
1152:     exception(exception&&) = default;
1152:     exception& operator=(exception&&) = default;
1152: 
1152: 
1152: 
1152: 
1152:     virtual const char*
1152:     what() const noexcept;
1152:   };
1152: 
1152: 
1152: 
1152: }
1152: 
1152: }
1152: 
1152: #pragma GCC visibility pop
1152: # 42 "/usr/include/c++/12/new" 2 3
1152: 
1152: #pragma GCC visibility push(default)
1152: 
1152: extern "C++" {
1152: 
1152: namespace std
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   class bad_alloc : public exception
1152:   {
1152:   public:
1152:     bad_alloc() throw() { }
1152: 
1152: 
1152:     bad_alloc(const bad_alloc&) = default;
1152:     bad_alloc& operator=(const bad_alloc&) = default;
1152: 
1152: 
1152: 
1152: 
1152:     virtual ~bad_alloc() throw();
1152: 
1152: 
1152:     virtual const char* what() const throw();
1152:   };
1152: 
1152: 
1152:   class bad_array_new_length : public bad_alloc
1152:   {
1152:   public:
1152:     bad_array_new_length() throw() { }
1152: 
1152: 
1152: 
1152:     virtual ~bad_array_new_length() throw();
1152: 
1152: 
1152:     virtual const char* what() const throw();
1152:   };
1152: 
1152: 
1152: 
1152:   enum class align_val_t: size_t {};
1152: 
1152: 
1152:   struct nothrow_t
1152:   {
1152: 
1152:     explicit nothrow_t() = default;
1152: 
1152:   };
1152: 
1152:   extern const nothrow_t nothrow;
1152: 
1152: 
1152: 
1152:   typedef void (*new_handler)();
1152: 
1152: 
1152: 
1152:   new_handler set_new_handler(new_handler) throw();
1152: 
1152: 
1152: 
1152:   new_handler get_new_handler() noexcept;
1152: 
1152: }
1152: # 126 "/usr/include/c++/12/new" 3
1152: [[__nodiscard__]] void* operator new(std::size_t)
1152:   __attribute__((__externally_visible__));
1152: [[__nodiscard__]] void* operator new[](std::size_t)
1152:   __attribute__((__externally_visible__));
1152: void operator delete(void*) noexcept
1152:   __attribute__((__externally_visible__));
1152: void operator delete[](void*) noexcept
1152:   __attribute__((__externally_visible__));
1152: 
1152: void operator delete(void*, std::size_t) noexcept
1152:   __attribute__((__externally_visible__));
1152: void operator delete[](void*, std::size_t) noexcept
1152:   __attribute__((__externally_visible__));
1152: 
1152: [[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept
1152:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1152: [[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept
1152:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1152: void operator delete(void*, const std::nothrow_t&) noexcept
1152:   __attribute__((__externally_visible__));
1152: void operator delete[](void*, const std::nothrow_t&) noexcept
1152:   __attribute__((__externally_visible__));
1152: 
1152: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
1152:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1152: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
1152:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1152: void operator delete(void*, std::align_val_t)
1152:   noexcept __attribute__((__externally_visible__));
1152: void operator delete(void*, std::align_val_t, const std::nothrow_t&)
1152:   noexcept __attribute__((__externally_visible__));
1152: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
1152:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1152: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
1152:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1152: void operator delete[](void*, std::align_val_t)
1152:   noexcept __attribute__((__externally_visible__));
1152: void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
1152:   noexcept __attribute__((__externally_visible__));
1152: 
1152: void operator delete(void*, std::size_t, std::align_val_t)
1152:   noexcept __attribute__((__externally_visible__));
1152: void operator delete[](void*, std::size_t, std::align_val_t)
1152:   noexcept __attribute__((__externally_visible__));
1152: 
1152: 
1152: 
1152: 
1152: [[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept
1152: { return __p; }
1152: [[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept
1152: { return __p; }
1152: 
1152: 
1152: inline void operator delete (void*, void*) noexcept { }
1152: inline void operator delete[](void*, void*) noexcept { }
1152: 
1152: }
1152: 
1152: 
1152: namespace std
1152: {
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     [[nodiscard]] constexpr _Tp*
1152:     launder(_Tp* __p) noexcept
1152:     { return __builtin_launder(__p); }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Ret, typename... _Args , bool _NE>
1152:     void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete;
1152:   template<typename _Ret, typename... _Args , bool _NE>
1152:     void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete;
1152: 
1152:   void launder(void*) = delete;
1152:   void launder(const void*) = delete;
1152:   void launder(volatile void*) = delete;
1152:   void launder(const volatile void*) = delete;
1152: 
1152: 
1152: 
1152: 
1152:   inline constexpr size_t hardware_destructive_interference_size = 64;
1152:   inline constexpr size_t hardware_constructive_interference_size = 64;
1152: 
1152: }
1152: # 236 "/usr/include/c++/12/new" 3
1152: #pragma GCC visibility pop
1152: # 35 "/usr/include/c++/12/bits/new_allocator.h" 2 3
1152: # 1 "/usr/include/c++/12/bits/functexcept.h" 1 3
1152: # 40 "/usr/include/c++/12/bits/functexcept.h" 3
1152: # 1 "/usr/include/c++/12/bits/exception_defines.h" 1 3
1152: # 41 "/usr/include/c++/12/bits/functexcept.h" 2 3
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152:   void
1152:   __throw_bad_exception(void) __attribute__((__noreturn__));
1152: 
1152: 
1152:   void
1152:   __throw_bad_alloc(void) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_bad_array_new_length(void) __attribute__((__noreturn__));
1152: 
1152: 
1152:   void
1152:   __throw_bad_cast(void) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_bad_typeid(void) __attribute__((__noreturn__));
1152: 
1152: 
1152:   void
1152:   __throw_logic_error(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_domain_error(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_length_error(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_out_of_range(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
1152:     __attribute__((__format__(__gnu_printf__, 1, 2)));
1152: 
1152:   void
1152:   __throw_runtime_error(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_range_error(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_overflow_error(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_underflow_error(const char*) __attribute__((__noreturn__));
1152: 
1152: 
1152:   void
1152:   __throw_ios_failure(const char*) __attribute__((__noreturn__));
1152: 
1152:   void
1152:   __throw_ios_failure(const char*, int) __attribute__((__noreturn__));
1152: 
1152: 
1152:   void
1152:   __throw_system_error(int) __attribute__((__noreturn__));
1152: 
1152: 
1152:   void
1152:   __throw_future_error(int) __attribute__((__noreturn__));
1152: 
1152: 
1152:   void
1152:   __throw_bad_function_call() __attribute__((__noreturn__));
1152: 
1152: 
1152: }
1152: # 36 "/usr/include/c++/12/bits/new_allocator.h" 2 3
1152: # 1 "/usr/include/c++/12/bits/move.h" 1 3
1152: # 38 "/usr/include/c++/12/bits/move.h" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr _Tp*
1152:     __addressof(_Tp& __r) noexcept
1152:     { return __builtin_addressof(__r); }
1152: 
1152: 
1152: 
1152: 
1152: }
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 74 "/usr/include/c++/12/bits/move.h" 3
1152:   template<typename _Tp>
1152:     [[__nodiscard__]]
1152:     constexpr _Tp&&
1152:     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
1152:     { return static_cast<_Tp&&>(__t); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     [[__nodiscard__]]
1152:     constexpr _Tp&&
1152:     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
1152:     {
1152:       static_assert(!std::is_lvalue_reference<_Tp>::value,
1152:    "std::forward must not be used to convert an rvalue to an lvalue");
1152:       return static_cast<_Tp&&>(__t);
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     [[__nodiscard__]]
1152:     constexpr typename std::remove_reference<_Tp>::type&&
1152:     move(_Tp&& __t) noexcept
1152:     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __move_if_noexcept_cond
1152:     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
1152:                     is_copy_constructible<_Tp>>::type { };
1152: # 121 "/usr/include/c++/12/bits/move.h" 3
1152:   template<typename _Tp>
1152:     [[__nodiscard__]]
1152:     constexpr
1152:     __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
1152:     move_if_noexcept(_Tp& __x) noexcept
1152:     { return std::move(__x); }
1152: # 142 "/usr/include/c++/12/bits/move.h" 3
1152:   template<typename _Tp>
1152:     [[__nodiscard__]]
1152:     inline constexpr _Tp*
1152:     addressof(_Tp& __r) noexcept
1152:     { return std::__addressof(__r); }
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     const _Tp* addressof(const _Tp&&) = delete;
1152: 
1152: 
1152:   template <typename _Tp, typename _Up = _Tp>
1152:    
1152:     inline _Tp
1152:     __exchange(_Tp& __obj, _Up&& __new_val)
1152:     {
1152:       _Tp __old_val = std::move(__obj);
1152:       __obj = std::forward<_Up>(__new_val);
1152:       return __old_val;
1152:     }
1152: # 186 "/usr/include/c++/12/bits/move.h" 3
1152:   template<typename _Tp>
1152:    
1152:     inline
1152: 
1152:     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
1152:          is_move_constructible<_Tp>,
1152:          is_move_assignable<_Tp>>::value>::type
1152: 
1152: 
1152: 
1152:     swap(_Tp& __a, _Tp& __b)
1152:     noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
1152: 
1152:     {
1152: 
1152: 
1152: 
1152: 
1152:       _Tp __tmp = std::move(__a);
1152:       __a = std::move(__b);
1152:       __b = std::move(__tmp);
1152:     }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, size_t _Nm>
1152:    
1152:     inline
1152: 
1152:     typename enable_if<__is_swappable<_Tp>::value>::type
1152: 
1152: 
1152: 
1152:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1152:     noexcept(__is_nothrow_swappable<_Tp>::value)
1152:     {
1152:       for (size_t __n = 0; __n < _Nm; ++__n)
1152:  swap(__a[__n], __b[__n]);
1152:     }
1152: 
1152: 
1152: 
1152: }
1152: # 37 "/usr/include/c++/12/bits/new_allocator.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 55 "/usr/include/c++/12/bits/new_allocator.h" 3
1152:   template<typename _Tp>
1152:     class __new_allocator
1152:     {
1152:     public:
1152:       typedef _Tp value_type;
1152:       typedef std::size_t size_type;
1152:       typedef std::ptrdiff_t difference_type;
1152: 
1152:       typedef _Tp* pointer;
1152:       typedef const _Tp* const_pointer;
1152:       typedef _Tp& reference;
1152:       typedef const _Tp& const_reference;
1152: 
1152:       template<typename _Tp1>
1152:  struct rebind
1152:  { typedef __new_allocator<_Tp1> other; };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       typedef std::true_type propagate_on_container_move_assignment;
1152: 
1152: 
1152:      
1152:       __new_allocator() noexcept { }
1152: 
1152:      
1152:       __new_allocator(const __new_allocator&) noexcept { }
1152: 
1152:       template<typename _Tp1>
1152: 
1152:  __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
1152: 
1152: 
1152:       ~__new_allocator() noexcept { }
1152: 
1152:       pointer
1152:       address(reference __x) const noexcept
1152:       { return std::__addressof(__x); }
1152: 
1152:       const_pointer
1152:       address(const_reference __x) const noexcept
1152:       { return std::__addressof(__x); }
1152: # 111 "/usr/include/c++/12/bits/new_allocator.h" 3
1152:       [[__nodiscard__]] _Tp*
1152:       allocate(size_type __n, const void* = static_cast<const void*>(0))
1152:       {
1152: 
1152: 
1152: 
1152:  static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
1152: 
1152: 
1152:  if (__builtin_expect(__n > this->_M_max_size(), false))
1152:    {
1152: 
1152: 
1152:      if (__n > (std::size_t(-1) / sizeof(_Tp)))
1152:        std::__throw_bad_array_new_length();
1152:      std::__throw_bad_alloc();
1152:    }
1152: 
1152: 
1152:  if (alignof(_Tp) > 8)
1152:    {
1152:      std::align_val_t __al = std::align_val_t(alignof(_Tp));
1152:      return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp),
1152:           __al));
1152:    }
1152: 
1152:  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
1152:       }
1152: 
1152: 
1152:       void
1152:       deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  if (alignof(_Tp) > 8)
1152:    {
1152:      ::operator delete((__p), (__n) * sizeof(_Tp),
1152:          std::align_val_t(alignof(_Tp)));
1152:      return;
1152:    }
1152: 
1152:  ::operator delete((__p), (__n) * sizeof(_Tp));
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       size_type
1152:       max_size() const noexcept
1152:       { return _M_max_size(); }
1152: 
1152: 
1152:       template<typename _Up, typename... _Args>
1152:  void
1152:  construct(_Up* __p, _Args&&... __args)
1152:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1152:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
1152: 
1152:       template<typename _Up>
1152:  void
1152:  destroy(_Up* __p)
1152:  noexcept(std::is_nothrow_destructible<_Up>::value)
1152:  { __p->~_Up(); }
1152: # 194 "/usr/include/c++/12/bits/new_allocator.h" 3
1152:       template<typename _Up>
1152:  friend bool
1152:  operator==(const __new_allocator&, const __new_allocator<_Up>&)
1152:  noexcept
1152:  { return true; }
1152: 
1152: 
1152:       template<typename _Up>
1152:  friend bool
1152:  operator!=(const __new_allocator&, const __new_allocator<_Up>&)
1152:  noexcept
1152:  { return false; }
1152: 
1152: 
1152:     private:
1152:       constexpr size_type
1152:       _M_max_size() const noexcept
1152:       {
1152: 
1152:  return std::size_t(0x7fffffff) / sizeof(_Tp);
1152: 
1152: 
1152: 
1152:       }
1152:     };
1152: 
1152: 
1152: }
1152: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 2 3
1152: 
1152: 
1152: namespace std
1152: {
1152: # 46 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1152:   template<typename _Tp>
1152:     using __allocator_base = __new_allocator<_Tp>;
1152: }
1152: # 47 "/usr/include/c++/12/bits/allocator.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 71 "/usr/include/c++/12/bits/allocator.h" 3
1152:   template<>
1152:     class allocator<void>
1152:     {
1152:     public:
1152:       typedef void value_type;
1152:       typedef size_t size_type;
1152:       typedef ptrdiff_t difference_type;
1152: 
1152: 
1152: 
1152:       typedef void* pointer;
1152:       typedef const void* const_pointer;
1152: 
1152:       template<typename _Tp1>
1152:  struct rebind
1152:  { typedef allocator<_Tp1> other; };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using propagate_on_container_move_assignment = true_type;
1152: 
1152:       using is_always_equal
1152: 
1152:  = true_type;
1152: # 113 "/usr/include/c++/12/bits/allocator.h" 3
1152:     };
1152: # 123 "/usr/include/c++/12/bits/allocator.h" 3
1152:   template<typename _Tp>
1152:     class allocator : public __allocator_base<_Tp>
1152:     {
1152:     public:
1152:       typedef _Tp value_type;
1152:       typedef size_t size_type;
1152:       typedef ptrdiff_t difference_type;
1152: 
1152: 
1152: 
1152:       typedef _Tp* pointer;
1152:       typedef const _Tp* const_pointer;
1152:       typedef _Tp& reference;
1152:       typedef const _Tp& const_reference;
1152: 
1152:       template<typename _Tp1>
1152:  struct rebind
1152:  { typedef allocator<_Tp1> other; };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using propagate_on_container_move_assignment = true_type;
1152: 
1152:       using is_always_equal
1152: 
1152:  = true_type;
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       allocator() noexcept { }
1152: 
1152:      
1152:       allocator(const allocator& __a) noexcept
1152:       : __allocator_base<_Tp>(__a) { }
1152: 
1152: 
1152: 
1152:       allocator& operator=(const allocator&) = default;
1152: 
1152: 
1152:       template<typename _Tp1>
1152: 
1152:  allocator(const allocator<_Tp1>&) noexcept { }
1152: 
1152: 
1152: 
1152: 
1152:       ~allocator() noexcept { }
1152: # 204 "/usr/include/c++/12/bits/allocator.h" 3
1152:       friend bool
1152:       operator==(const allocator&, const allocator&) noexcept
1152:       { return true; }
1152: 
1152: 
1152:       friend bool
1152:       operator!=(const allocator&, const allocator&) noexcept
1152:       { return false; }
1152: 
1152: 
1152: 
1152:     };
1152: 
1152:   template<typename _T1, typename _T2>
1152:     inline bool
1152:     operator==(const allocator<_T1>&, const allocator<_T2>&)
1152:     noexcept
1152:     { return true; }
1152: 
1152: 
1152:   template<typename _T1, typename _T2>
1152:     inline bool
1152:     operator!=(const allocator<_T1>&, const allocator<_T2>&)
1152:     noexcept
1152:     { return false; }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     class allocator<const _Tp>
1152:     {
1152:     public:
1152:       typedef _Tp value_type;
1152:       template<typename _Up> allocator(const allocator<_Up>&) { }
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     class allocator<volatile _Tp>
1152:     {
1152:     public:
1152:       typedef _Tp value_type;
1152:       template<typename _Up> allocator(const allocator<_Up>&) { }
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     class allocator<const volatile _Tp>
1152:     {
1152:     public:
1152:       typedef _Tp value_type;
1152:       template<typename _Up> allocator(const allocator<_Up>&) { }
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   extern template class allocator<char>;
1152:   extern template class allocator<wchar_t>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1152:     struct __alloc_swap
1152:     { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
1152: 
1152:   template<typename _Alloc>
1152:     struct __alloc_swap<_Alloc, false>
1152:     {
1152:       static void
1152:       _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
1152:       {
1152: 
1152:  if (__one != __two)
1152:    swap(__one, __two);
1152:       }
1152:     };
1152: 
1152: 
1152:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1152:     struct __alloc_neq
1152:     {
1152:       static bool
1152:       _S_do_it(const _Alloc&, const _Alloc&)
1152:       { return false; }
1152:     };
1152: 
1152:   template<typename _Alloc>
1152:     struct __alloc_neq<_Alloc, false>
1152:     {
1152:       static bool
1152:       _S_do_it(const _Alloc& __one, const _Alloc& __two)
1152:       { return __one != __two; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, bool
1152:     = __or_<is_copy_constructible<typename _Tp::value_type>,
1152:             is_nothrow_move_constructible<typename _Tp::value_type>>::value>
1152:     struct __shrink_to_fit_aux
1152:     { static bool _S_do_it(_Tp&) noexcept { return false; } };
1152: 
1152:   template<typename _Tp>
1152:     struct __shrink_to_fit_aux<_Tp, true>
1152:     {
1152:      
1152:       static bool
1152:       _S_do_it(_Tp& __c) noexcept
1152:       {
1152: 
1152:  try
1152:    {
1152:      _Tp(__make_move_if_noexcept_iterator(__c.begin()),
1152:   __make_move_if_noexcept_iterator(__c.end()),
1152:   __c.get_allocator()).swap(__c);
1152:      return true;
1152:    }
1152:  catch(...)
1152:    { return false; }
1152: 
1152: 
1152: 
1152:       }
1152:     };
1152: 
1152: 
1152: 
1152: }
1152: # 42 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/cpp_type_traits.h" 1 3
1152: # 35 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1152:        
1152: # 36 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1152: # 67 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1152: extern "C++" {
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   struct __true_type { };
1152:   struct __false_type { };
1152: 
1152:   template<bool>
1152:     struct __truth_type
1152:     { typedef __false_type __type; };
1152: 
1152:   template<>
1152:     struct __truth_type<true>
1152:     { typedef __true_type __type; };
1152: 
1152: 
1152: 
1152:   template<class _Sp, class _Tp>
1152:     struct __traitor
1152:     {
1152:       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
1152:       typedef typename __truth_type<__value>::__type __type;
1152:     };
1152: 
1152: 
1152:   template<typename, typename>
1152:     struct __are_same
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __are_same<_Tp, _Tp>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_void
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_void<void>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_integer
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct __is_integer<bool>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<char>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<signed char>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<unsigned char>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __is_integer<wchar_t>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: # 184 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1152:   template<>
1152:     struct __is_integer<char16_t>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<char32_t>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __is_integer<short>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<unsigned short>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<int>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<unsigned int>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<long>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<unsigned long>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<long long>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_integer<unsigned long long>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: # 289 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1152:   template<typename _Tp>
1152:     struct __is_floating
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __is_floating<float>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_floating<double>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_floating<long double>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_pointer
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_pointer<_Tp*>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_arithmetic
1152:     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_scalar
1152:     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_char
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_char<char>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __is_char<wchar_t>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_byte
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_byte<char>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_byte<signed char>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __is_byte<unsigned char>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152: 
1152:   enum class byte : unsigned char;
1152: 
1152:   template<>
1152:     struct __is_byte<byte>
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: # 425 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1152:   template<typename> struct iterator_traits;
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nonvolatile_trivially_copyable
1152:     {
1152:       enum { __value = __is_trivially_copyable(_Tp) };
1152:     };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_nonvolatile_trivially_copyable<volatile _Tp>
1152:     {
1152:       enum { __value = 0 };
1152:     };
1152: 
1152: 
1152:   template<typename _OutputIter, typename _InputIter>
1152:     struct __memcpyable
1152:     {
1152:       enum { __value = 0 };
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __memcpyable<_Tp*, _Tp*>
1152:     : __is_nonvolatile_trivially_copyable<_Tp>
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __memcpyable<_Tp*, const _Tp*>
1152:     : __is_nonvolatile_trivially_copyable<_Tp>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Iter1, typename _Iter2>
1152:     struct __memcmpable
1152:     {
1152:       enum { __value = 0 };
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __memcmpable<_Tp*, _Tp*>
1152:     : __is_nonvolatile_trivially_copyable<_Tp>
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __memcmpable<const _Tp*, _Tp*>
1152:     : __is_nonvolatile_trivially_copyable<_Tp>
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __memcmpable<_Tp*, const _Tp*>
1152:     : __is_nonvolatile_trivially_copyable<_Tp>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, bool _TreatAsBytes =
1152: 
1152: 
1152: 
1152:  __is_byte<_Tp>::__value
1152: 
1152:     >
1152:     struct __is_memcmp_ordered
1152:     {
1152:       static const bool __value = _Tp(-1) > _Tp(1);
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __is_memcmp_ordered<_Tp, false>
1152:     {
1152:       static const bool __value = false;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
1152:     struct __is_memcmp_ordered_with
1152:     {
1152:       static const bool __value = __is_memcmp_ordered<_Tp>::__value
1152:  && __is_memcmp_ordered<_Up>::__value;
1152:     };
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct __is_memcmp_ordered_with<_Tp, _Up, false>
1152:     {
1152:       static const bool __value = false;
1152:     };
1152: # 534 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1152:   template<>
1152:     struct __is_memcmp_ordered_with<std::byte, std::byte, true>
1152:     { static constexpr bool __value = true; };
1152: 
1152:   template<typename _Tp, bool _SameSize>
1152:     struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
1152:     { static constexpr bool __value = false; };
1152: 
1152:   template<typename _Up, bool _SameSize>
1152:     struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
1152:     { static constexpr bool __value = false; };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_move_iterator
1152:     {
1152:       enum { __value = 0 };
1152:       typedef __false_type __type;
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Iterator>
1152:    
1152:     inline _Iterator
1152:     __miter_base(_Iterator __it)
1152:     { return __it; }
1152: 
1152: 
1152: }
1152: }
1152: # 43 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/localefwd.h" 1 3
1152: # 37 "/usr/include/c++/12/bits/localefwd.h" 3
1152:        
1152: # 38 "/usr/include/c++/12/bits/localefwd.h" 3
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 1 3
1152: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1152:        
1152: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1152: 
1152: # 1 "/usr/include/c++/12/clocale" 1 3
1152: # 39 "/usr/include/c++/12/clocale" 3
1152:        
1152: # 40 "/usr/include/c++/12/clocale" 3
1152: 
1152: 
1152: # 1 "/usr/include/locale.h" 1 3 4
1152: # 28 "/usr/include/locale.h" 3 4
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1152: # 29 "/usr/include/locale.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/locale.h" 1 3 4
1152: # 30 "/usr/include/locale.h" 2 3 4
1152: 
1152: extern "C" {
1152: # 51 "/usr/include/locale.h" 3 4
1152: struct lconv
1152: {
1152: 
1152: 
1152:   char *decimal_point;
1152:   char *thousands_sep;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   char *grouping;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   char *int_curr_symbol;
1152:   char *currency_symbol;
1152:   char *mon_decimal_point;
1152:   char *mon_thousands_sep;
1152:   char *mon_grouping;
1152:   char *positive_sign;
1152:   char *negative_sign;
1152:   char int_frac_digits;
1152:   char frac_digits;
1152: 
1152:   char p_cs_precedes;
1152: 
1152:   char p_sep_by_space;
1152: 
1152:   char n_cs_precedes;
1152: 
1152:   char n_sep_by_space;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   char p_sign_posn;
1152:   char n_sign_posn;
1152: 
1152: 
1152:   char int_p_cs_precedes;
1152: 
1152:   char int_p_sep_by_space;
1152: 
1152:   char int_n_cs_precedes;
1152: 
1152:   char int_n_sep_by_space;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   char int_p_sign_posn;
1152:   char int_n_sign_posn;
1152: # 118 "/usr/include/locale.h" 3 4
1152: };
1152: 
1152: 
1152: 
1152: extern char *setlocale (int __category, const char *__locale) noexcept (true);
1152: 
1152: 
1152: extern struct lconv *localeconv (void) noexcept (true);
1152: # 141 "/usr/include/locale.h" 3 4
1152: extern locale_t newlocale (int __category_mask, const char *__locale,
1152:       locale_t __base) noexcept (true);
1152: # 176 "/usr/include/locale.h" 3 4
1152: extern locale_t duplocale (locale_t __dataset) noexcept (true);
1152: 
1152: 
1152: 
1152: extern void freelocale (locale_t __dataset) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern locale_t uselocale (locale_t __dataset) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 43 "/usr/include/c++/12/clocale" 2 3
1152: # 51 "/usr/include/c++/12/clocale" 3
1152: namespace std
1152: {
1152:   using ::lconv;
1152:   using ::setlocale;
1152:   using ::localeconv;
1152: }
1152: # 42 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   extern "C" __typeof(uselocale) __uselocale;
1152: 
1152: 
1152: }
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   typedef __locale_t __c_locale;
1152: # 73 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1152:   inline int
1152:   __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
1152:      char* __out,
1152:      const int __size __attribute__ ((__unused__)),
1152:      const char* __fmt, ...)
1152:   {
1152: 
1152:     __c_locale __old = __gnu_cxx::__uselocale(__cloc);
1152: # 93 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1152:     __builtin_va_list __args;
1152:     __builtin_va_start(__args, __fmt);
1152: 
1152: 
1152:     const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
1152: 
1152: 
1152: 
1152: 
1152:     __builtin_va_end(__args);
1152: 
1152: 
1152:     __gnu_cxx::__uselocale(__old);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:     return __ret;
1152:   }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 41 "/usr/include/c++/12/bits/localefwd.h" 2 3
1152: # 1 "/usr/include/c++/12/iosfwd" 1 3
1152: # 36 "/usr/include/c++/12/iosfwd" 3
1152:        
1152: # 37 "/usr/include/c++/12/iosfwd" 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 74 "/usr/include/c++/12/iosfwd" 3
1152:   class ios_base;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_ios;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_streambuf;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_istream;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_ostream;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_iostream;
1152: 
1152: 
1152: namespace __cxx11 {
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1152:      typename _Alloc = allocator<_CharT> >
1152:     class basic_stringbuf;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1152:     typename _Alloc = allocator<_CharT> >
1152:     class basic_istringstream;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1152:     typename _Alloc = allocator<_CharT> >
1152:     class basic_ostringstream;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1152:     typename _Alloc = allocator<_CharT> >
1152:     class basic_stringstream;
1152: 
1152: }
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_filebuf;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_ifstream;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_ofstream;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class basic_fstream;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class istreambuf_iterator;
1152: 
1152:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1152:     class ostreambuf_iterator;
1152: 
1152: 
1152: 
1152:   typedef basic_ios<char> ios;
1152: 
1152: 
1152:   typedef basic_streambuf<char> streambuf;
1152: 
1152: 
1152:   typedef basic_istream<char> istream;
1152: 
1152: 
1152:   typedef basic_ostream<char> ostream;
1152: 
1152: 
1152:   typedef basic_iostream<char> iostream;
1152: 
1152: 
1152:   typedef basic_stringbuf<char> stringbuf;
1152: 
1152: 
1152:   typedef basic_istringstream<char> istringstream;
1152: 
1152: 
1152:   typedef basic_ostringstream<char> ostringstream;
1152: 
1152: 
1152:   typedef basic_stringstream<char> stringstream;
1152: 
1152: 
1152:   typedef basic_filebuf<char> filebuf;
1152: 
1152: 
1152:   typedef basic_ifstream<char> ifstream;
1152: 
1152: 
1152:   typedef basic_ofstream<char> ofstream;
1152: 
1152: 
1152:   typedef basic_fstream<char> fstream;
1152: 
1152: 
1152: 
1152:   typedef basic_ios<wchar_t> wios;
1152: 
1152: 
1152:   typedef basic_streambuf<wchar_t> wstreambuf;
1152: 
1152: 
1152:   typedef basic_istream<wchar_t> wistream;
1152: 
1152: 
1152:   typedef basic_ostream<wchar_t> wostream;
1152: 
1152: 
1152:   typedef basic_iostream<wchar_t> wiostream;
1152: 
1152: 
1152:   typedef basic_stringbuf<wchar_t> wstringbuf;
1152: 
1152: 
1152:   typedef basic_istringstream<wchar_t> wistringstream;
1152: 
1152: 
1152:   typedef basic_ostringstream<wchar_t> wostringstream;
1152: 
1152: 
1152:   typedef basic_stringstream<wchar_t> wstringstream;
1152: 
1152: 
1152:   typedef basic_filebuf<wchar_t> wfilebuf;
1152: 
1152: 
1152:   typedef basic_ifstream<wchar_t> wifstream;
1152: 
1152: 
1152:   typedef basic_ofstream<wchar_t> wofstream;
1152: 
1152: 
1152:   typedef basic_fstream<wchar_t> wfstream;
1152: # 253 "/usr/include/c++/12/iosfwd" 3
1152: 
1152: }
1152: # 42 "/usr/include/c++/12/bits/localefwd.h" 2 3
1152: # 1 "/usr/include/c++/12/cctype" 1 3
1152: # 39 "/usr/include/c++/12/cctype" 3
1152:        
1152: # 40 "/usr/include/c++/12/cctype" 3
1152: 
1152: 
1152: # 1 "/usr/include/ctype.h" 1 3 4
1152: # 28 "/usr/include/ctype.h" 3 4
1152: extern "C" {
1152: # 39 "/usr/include/ctype.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 1 3 4
1152: # 35 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/endianness.h" 1 3 4
1152: # 36 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 2 3 4
1152: # 40 "/usr/include/ctype.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: enum
1152: {
1152:   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
1152:   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
1152:   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
1152:   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
1152:   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
1152:   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
1152:   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
1152:   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
1152:   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
1152:   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
1152:   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
1152:   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
1152: };
1152: # 79 "/usr/include/ctype.h" 3 4
1152: extern const unsigned short int **__ctype_b_loc (void)
1152:      noexcept (true) __attribute__ ((__const__));
1152: extern const __int32_t **__ctype_tolower_loc (void)
1152:      noexcept (true) __attribute__ ((__const__));
1152: extern const __int32_t **__ctype_toupper_loc (void)
1152:      noexcept (true) __attribute__ ((__const__));
1152: # 108 "/usr/include/ctype.h" 3 4
1152: extern int isalnum (int) noexcept (true);
1152: extern int isalpha (int) noexcept (true);
1152: extern int iscntrl (int) noexcept (true);
1152: extern int isdigit (int) noexcept (true);
1152: extern int islower (int) noexcept (true);
1152: extern int isgraph (int) noexcept (true);
1152: extern int isprint (int) noexcept (true);
1152: extern int ispunct (int) noexcept (true);
1152: extern int isspace (int) noexcept (true);
1152: extern int isupper (int) noexcept (true);
1152: extern int isxdigit (int) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int tolower (int __c) noexcept (true);
1152: 
1152: 
1152: extern int toupper (int __c) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern int isblank (int) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern int isctype (int __c, int __mask) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int isascii (int __c) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int toascii (int __c) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int _toupper (int) noexcept (true);
1152: extern int _tolower (int) noexcept (true);
1152: # 251 "/usr/include/ctype.h" 3 4
1152: extern int isalnum_l (int, locale_t) noexcept (true);
1152: extern int isalpha_l (int, locale_t) noexcept (true);
1152: extern int iscntrl_l (int, locale_t) noexcept (true);
1152: extern int isdigit_l (int, locale_t) noexcept (true);
1152: extern int islower_l (int, locale_t) noexcept (true);
1152: extern int isgraph_l (int, locale_t) noexcept (true);
1152: extern int isprint_l (int, locale_t) noexcept (true);
1152: extern int ispunct_l (int, locale_t) noexcept (true);
1152: extern int isspace_l (int, locale_t) noexcept (true);
1152: extern int isupper_l (int, locale_t) noexcept (true);
1152: extern int isxdigit_l (int, locale_t) noexcept (true);
1152: 
1152: extern int isblank_l (int, locale_t) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int __tolower_l (int __c, locale_t __l) noexcept (true);
1152: extern int tolower_l (int __c, locale_t __l) noexcept (true);
1152: 
1152: 
1152: extern int __toupper_l (int __c, locale_t __l) noexcept (true);
1152: extern int toupper_l (int __c, locale_t __l) noexcept (true);
1152: # 327 "/usr/include/ctype.h" 3 4
1152: }
1152: # 43 "/usr/include/c++/12/cctype" 2 3
1152: # 62 "/usr/include/c++/12/cctype" 3
1152: namespace std
1152: {
1152:   using ::isalnum;
1152:   using ::isalpha;
1152:   using ::iscntrl;
1152:   using ::isdigit;
1152:   using ::isgraph;
1152:   using ::islower;
1152:   using ::isprint;
1152:   using ::ispunct;
1152:   using ::isspace;
1152:   using ::isupper;
1152:   using ::isxdigit;
1152:   using ::tolower;
1152:   using ::toupper;
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std
1152: {
1152:   using ::isblank;
1152: }
1152: # 43 "/usr/include/c++/12/bits/localefwd.h" 2 3
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 55 "/usr/include/c++/12/bits/localefwd.h" 3
1152:   class locale;
1152: 
1152:   template<typename _Facet>
1152:     bool
1152:     has_facet(const locale&) throw();
1152: 
1152:   template<typename _Facet>
1152:     const _Facet&
1152:     use_facet(const locale&);
1152: 
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isspace(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isprint(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     iscntrl(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isupper(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     islower(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isalpha(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isdigit(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     ispunct(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isxdigit(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isalnum(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isgraph(_CharT, const locale&);
1152: 
1152: 
1152:   template<typename _CharT>
1152:     bool
1152:     isblank(_CharT, const locale&);
1152: 
1152: 
1152:   template<typename _CharT>
1152:     _CharT
1152:     toupper(_CharT, const locale&);
1152: 
1152:   template<typename _CharT>
1152:     _CharT
1152:     tolower(_CharT, const locale&);
1152: 
1152: 
1152:   struct ctype_base;
1152:   template<typename _CharT>
1152:     class ctype;
1152:   template<> class ctype<char>;
1152: 
1152:   template<> class ctype<wchar_t>;
1152: 
1152:   template<typename _CharT>
1152:     class ctype_byname;
1152: 
1152: 
1152:   class codecvt_base;
1152:   template<typename _InternT, typename _ExternT, typename _StateT>
1152:     class codecvt;
1152:   template<> class codecvt<char, char, mbstate_t>;
1152: 
1152:   template<> class codecvt<wchar_t, char, mbstate_t>;
1152: 
1152: 
1152:   template<> class codecvt<char16_t, char, mbstate_t>;
1152:   template<> class codecvt<char32_t, char, mbstate_t>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _InternT, typename _ExternT, typename _StateT>
1152:     class codecvt_byname;
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1152:     class num_get;
1152:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1152:     class num_put;
1152: 
1152: namespace __cxx11 {
1152:   template<typename _CharT> class numpunct;
1152:   template<typename _CharT> class numpunct_byname;
1152: }
1152: 
1152: namespace __cxx11 {
1152: 
1152:   template<typename _CharT>
1152:     class collate;
1152:   template<typename _CharT>
1152:     class collate_byname;
1152: }
1152: 
1152: 
1152:   class time_base;
1152: namespace __cxx11 {
1152:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1152:     class time_get;
1152:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1152:     class time_get_byname;
1152: }
1152:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1152:     class time_put;
1152:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1152:     class time_put_byname;
1152: 
1152: 
1152:   class money_base;
1152: namespace __cxx11 {
1152:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1152:     class money_get;
1152:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1152:     class money_put;
1152: }
1152: namespace __cxx11 {
1152:   template<typename _CharT, bool _Intl = false>
1152:     class moneypunct;
1152:   template<typename _CharT, bool _Intl = false>
1152:     class moneypunct_byname;
1152: }
1152: 
1152: 
1152:   struct messages_base;
1152: namespace __cxx11 {
1152:   template<typename _CharT>
1152:     class messages;
1152:   template<typename _CharT>
1152:     class messages_byname;
1152: }
1152: 
1152: 
1152: }
1152: # 44 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/ostream_insert.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/ostream_insert.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/ostream_insert.h" 3
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/bits/cxxabi_forced.h" 1 3
1152: # 34 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1152:        
1152: # 35 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1152: 
1152: #pragma GCC visibility push(default)
1152: 
1152: 
1152: namespace __cxxabiv1
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   class __forced_unwind
1152:   {
1152:     virtual ~__forced_unwind() throw();
1152: 
1152: 
1152:     virtual void __pure_dummy() = 0;
1152:   };
1152: }
1152: 
1152: 
1152: #pragma GCC visibility pop
1152: # 37 "/usr/include/c++/12/bits/ostream_insert.h" 2 3
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     inline void
1152:     __ostream_write(basic_ostream<_CharT, _Traits>& __out,
1152:       const _CharT* __s, streamsize __n)
1152:     {
1152:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1152:       typedef typename __ostream_type::ios_base __ios_base;
1152: 
1152:       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
1152:       if (__put != __n)
1152:  __out.setstate(__ios_base::badbit);
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     inline void
1152:     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
1152:     {
1152:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1152:       typedef typename __ostream_type::ios_base __ios_base;
1152: 
1152:       const _CharT __c = __out.fill();
1152:       for (; __n > 0; --__n)
1152:  {
1152:    const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
1152:    if (_Traits::eq_int_type(__put, _Traits::eof()))
1152:      {
1152:        __out.setstate(__ios_base::badbit);
1152:        break;
1152:      }
1152:  }
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     basic_ostream<_CharT, _Traits>&
1152:     __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
1152:        const _CharT* __s, streamsize __n)
1152:     {
1152:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1152:       typedef typename __ostream_type::ios_base __ios_base;
1152: 
1152:       typename __ostream_type::sentry __cerb(__out);
1152:       if (__cerb)
1152:  {
1152:    try
1152:      {
1152:        const streamsize __w = __out.width();
1152:        if (__w > __n)
1152:   {
1152:     const bool __left = ((__out.flags()
1152:      & __ios_base::adjustfield)
1152:            == __ios_base::left);
1152:     if (!__left)
1152:       __ostream_fill(__out, __w - __n);
1152:     if (__out.good())
1152:       __ostream_write(__out, __s, __n);
1152:     if (__left && __out.good())
1152:       __ostream_fill(__out, __w - __n);
1152:   }
1152:        else
1152:   __ostream_write(__out, __s, __n);
1152:        __out.width(0);
1152:      }
1152:    catch(__cxxabiv1::__forced_unwind&)
1152:      {
1152:        __out._M_setstate(__ios_base::badbit);
1152:        throw;
1152:      }
1152:    catch(...)
1152:      { __out._M_setstate(__ios_base::badbit); }
1152:  }
1152:       return __out;
1152:     }
1152: 
1152: 
1152: 
1152: 
1152:   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
1152: 
1152: 
1152:   extern template wostream& __ostream_insert(wostream&, const wchar_t*,
1152:           streamsize);
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 45 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 1 3
1152: # 62 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1152:        
1152: # 63 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1152: # 74 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 93 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1152:   struct input_iterator_tag { };
1152: 
1152: 
1152:   struct output_iterator_tag { };
1152: 
1152: 
1152:   struct forward_iterator_tag : public input_iterator_tag { };
1152: 
1152: 
1152: 
1152:   struct bidirectional_iterator_tag : public forward_iterator_tag { };
1152: 
1152: 
1152: 
1152:   struct random_access_iterator_tag : public bidirectional_iterator_tag { };
1152: # 125 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1152:   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
1152:            typename _Pointer = _Tp*, typename _Reference = _Tp&>
1152:     struct [[__deprecated__]] iterator
1152:     {
1152: 
1152:       typedef _Category iterator_category;
1152: 
1152:       typedef _Tp value_type;
1152: 
1152:       typedef _Distance difference_type;
1152: 
1152:       typedef _Pointer pointer;
1152: 
1152:       typedef _Reference reference;
1152:     };
1152: # 149 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1152:   template<typename _Iterator>
1152:     struct iterator_traits;
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Iterator, typename = __void_t<>>
1152:     struct __iterator_traits { };
1152: 
1152: 
1152: 
1152:   template<typename _Iterator>
1152:     struct __iterator_traits<_Iterator,
1152:         __void_t<typename _Iterator::iterator_category,
1152:           typename _Iterator::value_type,
1152:           typename _Iterator::difference_type,
1152:           typename _Iterator::pointer,
1152:           typename _Iterator::reference>>
1152:     {
1152:       typedef typename _Iterator::iterator_category iterator_category;
1152:       typedef typename _Iterator::value_type value_type;
1152:       typedef typename _Iterator::difference_type difference_type;
1152:       typedef typename _Iterator::pointer pointer;
1152:       typedef typename _Iterator::reference reference;
1152:     };
1152: 
1152: 
1152:   template<typename _Iterator>
1152:     struct iterator_traits
1152:     : public __iterator_traits<_Iterator> { };
1152: # 209 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1152:   template<typename _Tp>
1152:     struct iterator_traits<_Tp*>
1152:     {
1152:       typedef random_access_iterator_tag iterator_category;
1152:       typedef _Tp value_type;
1152:       typedef ptrdiff_t difference_type;
1152:       typedef _Tp* pointer;
1152:       typedef _Tp& reference;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct iterator_traits<const _Tp*>
1152:     {
1152:       typedef random_access_iterator_tag iterator_category;
1152:       typedef _Tp value_type;
1152:       typedef ptrdiff_t difference_type;
1152:       typedef const _Tp* pointer;
1152:       typedef const _Tp& reference;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Iter>
1152:     inline constexpr
1152:     typename iterator_traits<_Iter>::iterator_category
1152:     __iterator_category(const _Iter&)
1152:     { return typename iterator_traits<_Iter>::iterator_category(); }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Iter>
1152:     using __iterator_category_t
1152:       = typename iterator_traits<_Iter>::iterator_category;
1152: 
1152:   template<typename _InIter>
1152:     using _RequireInputIter =
1152:       __enable_if_t<is_convertible<__iterator_category_t<_InIter>,
1152:        input_iterator_tag>::value>;
1152: 
1152:   template<typename _It,
1152:     typename _Cat = __iterator_category_t<_It>>
1152:     struct __is_random_access_iter
1152:       : is_base_of<random_access_iterator_tag, _Cat>
1152:     {
1152:       typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
1152:       enum { __value = _Base::value };
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 46 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 1 3
1152: # 62 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1152:        
1152: # 63 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1152: 
1152: # 1 "/usr/include/c++/12/bits/concept_check.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/concept_check.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/concept_check.h" 3
1152: # 65 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1152: # 1 "/usr/include/c++/12/debug/assertions.h" 1 3
1152: # 66 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152:   template <typename> struct _List_iterator;
1152:   template <typename> struct _List_const_iterator;
1152: 
1152: 
1152:   template<typename _InputIterator>
1152:     inline constexpr
1152:     typename iterator_traits<_InputIterator>::difference_type
1152:     __distance(_InputIterator __first, _InputIterator __last,
1152:                input_iterator_tag)
1152:     {
1152: 
1152:      
1152: 
1152:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1152:       while (__first != __last)
1152:  {
1152:    ++__first;
1152:    ++__n;
1152:  }
1152:       return __n;
1152:     }
1152: 
1152:   template<typename _RandomAccessIterator>
1152:     inline constexpr
1152:     typename iterator_traits<_RandomAccessIterator>::difference_type
1152:     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
1152:                random_access_iterator_tag)
1152:     {
1152: 
1152:      
1152: 
1152:       return __last - __first;
1152:     }
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     ptrdiff_t
1152:     __distance(std::_List_iterator<_Tp>,
1152:         std::_List_iterator<_Tp>,
1152:         input_iterator_tag);
1152: 
1152:   template<typename _Tp>
1152:     ptrdiff_t
1152:     __distance(std::_List_const_iterator<_Tp>,
1152:         std::_List_const_iterator<_Tp>,
1152:         input_iterator_tag);
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _OutputIterator>
1152:     void
1152:     __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
1152: # 143 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1152:   template<typename _InputIterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr
1152:     typename iterator_traits<_InputIterator>::difference_type
1152:     distance(_InputIterator __first, _InputIterator __last)
1152:     {
1152: 
1152:       return std::__distance(__first, __last,
1152:         std::__iterator_category(__first));
1152:     }
1152: 
1152:   template<typename _InputIterator, typename _Distance>
1152:     inline constexpr void
1152:     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
1152:     {
1152: 
1152:      
1152:       do { if (std::__is_constant_evaluated() && !bool(__n >= 0)) __builtin_unreachable(); } while (false);
1152:       while (__n--)
1152:  ++__i;
1152:     }
1152: 
1152:   template<typename _BidirectionalIterator, typename _Distance>
1152:     inline constexpr void
1152:     __advance(_BidirectionalIterator& __i, _Distance __n,
1152:        bidirectional_iterator_tag)
1152:     {
1152: 
1152:      
1152: 
1152:       if (__n > 0)
1152:         while (__n--)
1152:    ++__i;
1152:       else
1152:         while (__n++)
1152:    --__i;
1152:     }
1152: 
1152:   template<typename _RandomAccessIterator, typename _Distance>
1152:     inline constexpr void
1152:     __advance(_RandomAccessIterator& __i, _Distance __n,
1152:               random_access_iterator_tag)
1152:     {
1152: 
1152:      
1152: 
1152:       if (__builtin_constant_p(__n) && __n == 1)
1152:  ++__i;
1152:       else if (__builtin_constant_p(__n) && __n == -1)
1152:  --__i;
1152:       else
1152:  __i += __n;
1152:     }
1152: 
1152: 
1152: 
1152:   template<typename _OutputIterator, typename _Distance>
1152:     void
1152:     __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete;
1152: # 216 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1152:   template<typename _InputIterator, typename _Distance>
1152:     inline constexpr void
1152:     advance(_InputIterator& __i, _Distance __n)
1152:     {
1152: 
1152:       typename iterator_traits<_InputIterator>::difference_type __d = __n;
1152:       std::__advance(__i, __d, std::__iterator_category(__i));
1152:     }
1152: 
1152: 
1152: 
1152:   template<typename _InputIterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr _InputIterator
1152:     next(_InputIterator __x, typename
1152:   iterator_traits<_InputIterator>::difference_type __n = 1)
1152:     {
1152: 
1152:      
1152:       std::advance(__x, __n);
1152:       return __x;
1152:     }
1152: 
1152:   template<typename _BidirectionalIterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr _BidirectionalIterator
1152:     prev(_BidirectionalIterator __x, typename
1152:   iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
1152:     {
1152: 
1152:      
1152: 
1152:       std::advance(__x, -__n);
1152:       return __x;
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 47 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/stl_iterator.h" 1 3
1152: # 65 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152: # 1 "/usr/include/c++/12/ext/type_traits.h" 1 3
1152: # 32 "/usr/include/c++/12/ext/type_traits.h" 3
1152:        
1152: # 33 "/usr/include/c++/12/ext/type_traits.h" 3
1152: 
1152: 
1152: 
1152: 
1152: extern "C++" {
1152: 
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152:   template<bool, typename>
1152:     struct __enable_if
1152:     { };
1152: 
1152:   template<typename _Tp>
1152:     struct __enable_if<true, _Tp>
1152:     { typedef _Tp __type; };
1152: 
1152: 
1152: 
1152:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1152:     struct __conditional_type
1152:     { typedef _Iftrue __type; };
1152: 
1152:   template<typename _Iftrue, typename _Iffalse>
1152:     struct __conditional_type<false, _Iftrue, _Iffalse>
1152:     { typedef _Iffalse __type; };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __add_unsigned
1152:     {
1152:     private:
1152:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1152: 
1152:     public:
1152:       typedef typename __if_type::__type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __add_unsigned<char>
1152:     { typedef unsigned char __type; };
1152: 
1152:   template<>
1152:     struct __add_unsigned<signed char>
1152:     { typedef unsigned char __type; };
1152: 
1152:   template<>
1152:     struct __add_unsigned<short>
1152:     { typedef unsigned short __type; };
1152: 
1152:   template<>
1152:     struct __add_unsigned<int>
1152:     { typedef unsigned int __type; };
1152: 
1152:   template<>
1152:     struct __add_unsigned<long>
1152:     { typedef unsigned long __type; };
1152: 
1152:   template<>
1152:     struct __add_unsigned<long long>
1152:     { typedef unsigned long long __type; };
1152: 
1152: 
1152:   template<>
1152:     struct __add_unsigned<bool>;
1152: 
1152:   template<>
1152:     struct __add_unsigned<wchar_t>;
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __remove_unsigned
1152:     {
1152:     private:
1152:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1152: 
1152:     public:
1152:       typedef typename __if_type::__type __type;
1152:     };
1152: 
1152:   template<>
1152:     struct __remove_unsigned<char>
1152:     { typedef signed char __type; };
1152: 
1152:   template<>
1152:     struct __remove_unsigned<unsigned char>
1152:     { typedef signed char __type; };
1152: 
1152:   template<>
1152:     struct __remove_unsigned<unsigned short>
1152:     { typedef short __type; };
1152: 
1152:   template<>
1152:     struct __remove_unsigned<unsigned int>
1152:     { typedef int __type; };
1152: 
1152:   template<>
1152:     struct __remove_unsigned<unsigned long>
1152:     { typedef long __type; };
1152: 
1152:   template<>
1152:     struct __remove_unsigned<unsigned long long>
1152:     { typedef long long __type; };
1152: 
1152: 
1152:   template<>
1152:     struct __remove_unsigned<bool>;
1152: 
1152:   template<>
1152:     struct __remove_unsigned<wchar_t>;
1152: 
1152: 
1152: 
1152:   template<typename _Type>
1152:     constexpr
1152:     inline bool
1152:     __is_null_pointer(_Type* __ptr)
1152:     { return __ptr == 0; }
1152: 
1152:   template<typename _Type>
1152:     constexpr
1152:     inline bool
1152:     __is_null_pointer(_Type)
1152:     { return false; }
1152: 
1152: 
1152:   constexpr bool
1152:   __is_null_pointer(std::nullptr_t)
1152:   { return true; }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
1152:     struct __promote
1152:     { typedef double __type; };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __promote<_Tp, false>
1152:     { };
1152: 
1152:   template<>
1152:     struct __promote<long double>
1152:     { typedef long double __type; };
1152: 
1152:   template<>
1152:     struct __promote<double>
1152:     { typedef double __type; };
1152: 
1152:   template<>
1152:     struct __promote<float>
1152:     { typedef float __type; };
1152: 
1152: 
1152: 
1152:   template<typename... _Tp>
1152:     using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
1152: 
1152:   template<typename _Tp, typename _Up, typename _Vp>
1152:     using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
1152: 
1152:   template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
1152:     using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
1152: # 239 "/usr/include/c++/12/ext/type_traits.h" 3
1152: 
1152: }
1152: }
1152: # 66 "/usr/include/c++/12/bits/stl_iterator.h" 2 3
1152: 
1152: # 1 "/usr/include/c++/12/bits/ptr_traits.h" 1 3
1152: # 46 "/usr/include/c++/12/bits/ptr_traits.h" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   class __undefined;
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __get_first_arg
1152:     { using type = __undefined; };
1152: 
1152:   template<template<typename, typename...> class _SomeTemplate, typename _Tp,
1152:            typename... _Types>
1152:     struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
1152:     { using type = _Tp; };
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     struct __replace_first_arg
1152:     { };
1152: 
1152:   template<template<typename, typename...> class _SomeTemplate, typename _Up,
1152:            typename _Tp, typename... _Types>
1152:     struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
1152:     { using type = _SomeTemplate<_Up, _Types...>; };
1152: # 81 "/usr/include/c++/12/bits/ptr_traits.h" 3
1152:   template<typename _Ptr, typename = void>
1152:     struct __ptr_traits_elem : __get_first_arg<_Ptr>
1152:     { };
1152: 
1152: 
1152:   template<typename _Ptr>
1152:     struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
1152:     { using type = typename _Ptr::element_type; };
1152: 
1152:   template<typename _Ptr>
1152:     using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
1152: 
1152: 
1152: 
1152:   template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
1152:     struct __ptr_traits_ptr_to
1152:     {
1152:       using pointer = _Ptr;
1152:       using element_type = _Elt;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       static pointer
1152:       pointer_to(element_type& __e)
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       { return pointer::pointer_to(__e); }
1152:     };
1152: 
1152: 
1152:   template<typename _Ptr, typename _Elt>
1152:     struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
1152:     {
1152:       using pointer = _Tp*;
1152:       using element_type = _Tp;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       static pointer
1152:       pointer_to(element_type& __r) noexcept
1152:       { return std::addressof(__r); }
1152:     };
1152: 
1152:   template<typename _Ptr, typename _Elt>
1152:     struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
1152:     {
1152:     private:
1152:       template<typename _Tp, typename = void>
1152:  struct __difference { using type = ptrdiff_t; };
1152: 
1152:       template<typename _Tp>
1152: 
1152: 
1152: 
1152: 
1152:  struct __difference<_Tp, __void_t<typename _Tp::difference_type>>
1152: 
1152:  { using type = typename _Tp::difference_type; };
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __rebind : __replace_first_arg<_Tp, _Up> { };
1152: 
1152:       template<typename _Tp, typename _Up>
1152: 
1152: 
1152: 
1152: 
1152:  struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>>
1152: 
1152:  { using type = typename _Tp::template rebind<_Up>; };
1152: 
1152:     public:
1152: 
1152:       using pointer = _Ptr;
1152: 
1152: 
1152:       using element_type = _Elt;
1152: 
1152: 
1152:       using difference_type = typename __difference<_Ptr>::type;
1152: 
1152: 
1152:       template<typename _Up>
1152:         using rebind = typename __rebind<_Ptr, _Up>::type;
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Ptr>
1152:     struct __ptr_traits_impl<_Ptr, __undefined>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Ptr>
1152:     struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
1152:     { };
1152: # 209 "/usr/include/c++/12/bits/ptr_traits.h" 3
1152:   template<typename _Tp>
1152:     struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
1152:     {
1152: 
1152:       typedef _Tp* pointer;
1152: 
1152:       typedef _Tp element_type;
1152: 
1152:       typedef ptrdiff_t difference_type;
1152: 
1152:       template<typename _Up> using rebind = _Up*;
1152:     };
1152: 
1152: 
1152:   template<typename _Ptr, typename _Tp>
1152:     using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
1152: 
1152:   template<typename _Tp>
1152:     constexpr _Tp*
1152:     __to_address(_Tp* __ptr) noexcept
1152:     {
1152:       static_assert(!std::is_function<_Tp>::value, "not a function pointer");
1152:       return __ptr;
1152:     }
1152: 
1152: 
1152:   template<typename _Ptr>
1152:     constexpr typename std::pointer_traits<_Ptr>::element_type*
1152:     __to_address(const _Ptr& __ptr)
1152:     { return std::__to_address(__ptr.operator->()); }
1152: # 282 "/usr/include/c++/12/bits/ptr_traits.h" 3
1152: 
1152: }
1152: # 68 "/usr/include/c++/12/bits/stl_iterator.h" 2 3
1152: # 88 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 109 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: # 131 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Iterator>
1152:     class reverse_iterator
1152:     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
1152:         typename iterator_traits<_Iterator>::value_type,
1152:         typename iterator_traits<_Iterator>::difference_type,
1152:         typename iterator_traits<_Iterator>::pointer,
1152:                       typename iterator_traits<_Iterator>::reference>
1152:     {
1152:       template<typename _Iter>
1152:  friend class reverse_iterator;
1152: # 150 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:     protected:
1152:       _Iterator current;
1152: 
1152:       typedef iterator_traits<_Iterator> __traits_type;
1152: 
1152:     public:
1152:       typedef _Iterator iterator_type;
1152:       typedef typename __traits_type::pointer pointer;
1152: 
1152:       typedef typename __traits_type::difference_type difference_type;
1152:       typedef typename __traits_type::reference reference;
1152: # 181 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:       constexpr
1152:       reverse_iterator()
1152:       noexcept(noexcept(_Iterator()))
1152:       : current()
1152:       { }
1152: 
1152: 
1152: 
1152: 
1152:       explicit constexpr
1152:       reverse_iterator(iterator_type __x)
1152:       noexcept(noexcept(_Iterator(__x)))
1152:       : current(__x)
1152:       { }
1152: 
1152: 
1152: 
1152: 
1152:       constexpr
1152:       reverse_iterator(const reverse_iterator& __x)
1152:       noexcept(noexcept(_Iterator(__x.current)))
1152:       : current(__x.current)
1152:       { }
1152: 
1152: 
1152:       reverse_iterator& operator=(const reverse_iterator&) = default;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       template<typename _Iter>
1152: 
1152: 
1152: 
1152:  constexpr
1152:         reverse_iterator(const reverse_iterator<_Iter>& __x)
1152:  noexcept(noexcept(_Iterator(__x.current)))
1152:  : current(__x.current)
1152:  { }
1152: 
1152: 
1152:       template<typename _Iter>
1152: 
1152: 
1152: 
1152: 
1152:  constexpr
1152:  reverse_iterator&
1152:  operator=(const reverse_iterator<_Iter>& __x)
1152:  noexcept(noexcept(current = __x.current))
1152:  {
1152:    current = __x.current;
1152:    return *this;
1152:  }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr iterator_type
1152:       base() const
1152:       noexcept(noexcept(_Iterator(current)))
1152:       { return current; }
1152: # 258 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:       [[__nodiscard__]]
1152:       constexpr reference
1152:       operator*() const
1152:       {
1152:  _Iterator __tmp = current;
1152:  return *--__tmp;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr pointer
1152:       operator->() const
1152: 
1152: 
1152: 
1152: 
1152:       {
1152: 
1152: 
1152:  _Iterator __tmp = current;
1152:  --__tmp;
1152:  return _S_to_pointer(__tmp);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr reverse_iterator&
1152:       operator++()
1152:       {
1152:  --current;
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr reverse_iterator
1152:       operator++(int)
1152:       {
1152:  reverse_iterator __tmp = *this;
1152:  --current;
1152:  return __tmp;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr reverse_iterator&
1152:       operator--()
1152:       {
1152:  ++current;
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr reverse_iterator
1152:       operator--(int)
1152:       {
1152:  reverse_iterator __tmp = *this;
1152:  ++current;
1152:  return __tmp;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr reverse_iterator
1152:       operator+(difference_type __n) const
1152:       { return reverse_iterator(current - __n); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr reverse_iterator&
1152:       operator+=(difference_type __n)
1152:       {
1152:  current -= __n;
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr reverse_iterator
1152:       operator-(difference_type __n) const
1152:       { return reverse_iterator(current + __n); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr reverse_iterator&
1152:       operator-=(difference_type __n)
1152:       {
1152:  current += __n;
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr reference
1152:       operator[](difference_type __n) const
1152:       { return *(*this + __n); }
1152: # 418 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:     private:
1152:       template<typename _Tp>
1152:  static constexpr _Tp*
1152:  _S_to_pointer(_Tp* __p)
1152:         { return __p; }
1152: 
1152:       template<typename _Tp>
1152:  static constexpr pointer
1152:  _S_to_pointer(_Tp __t)
1152:         { return __t.operator->(); }
1152:     };
1152: # 441 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator==(const reverse_iterator<_Iterator>& __x,
1152:         const reverse_iterator<_Iterator>& __y)
1152:     { return __x.base() == __y.base(); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator<(const reverse_iterator<_Iterator>& __x,
1152:        const reverse_iterator<_Iterator>& __y)
1152:     { return __y.base() < __x.base(); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator!=(const reverse_iterator<_Iterator>& __x,
1152:         const reverse_iterator<_Iterator>& __y)
1152:     { return !(__x == __y); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>(const reverse_iterator<_Iterator>& __x,
1152:        const reverse_iterator<_Iterator>& __y)
1152:     { return __y < __x; }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator<=(const reverse_iterator<_Iterator>& __x,
1152:         const reverse_iterator<_Iterator>& __y)
1152:     { return !(__y < __x); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>=(const reverse_iterator<_Iterator>& __x,
1152:         const reverse_iterator<_Iterator>& __y)
1152:     { return !(__x < __y); }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator==(const reverse_iterator<_IteratorL>& __x,
1152:         const reverse_iterator<_IteratorR>& __y)
1152:     { return __x.base() == __y.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator<(const reverse_iterator<_IteratorL>& __x,
1152:        const reverse_iterator<_IteratorR>& __y)
1152:     { return __x.base() > __y.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator!=(const reverse_iterator<_IteratorL>& __x,
1152:         const reverse_iterator<_IteratorR>& __y)
1152:     { return __x.base() != __y.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>(const reverse_iterator<_IteratorL>& __x,
1152:        const reverse_iterator<_IteratorR>& __y)
1152:     { return __x.base() < __y.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     inline constexpr bool
1152:     operator<=(const reverse_iterator<_IteratorL>& __x,
1152:         const reverse_iterator<_IteratorR>& __y)
1152:     { return __x.base() >= __y.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>=(const reverse_iterator<_IteratorL>& __x,
1152:         const reverse_iterator<_IteratorR>& __y)
1152:     { return __x.base() <= __y.base(); }
1152: # 618 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     operator-(const reverse_iterator<_IteratorL>& __x,
1152:        const reverse_iterator<_IteratorR>& __y)
1152:     -> decltype(__y.base() - __x.base())
1152:     { return __y.base() - __x.base(); }
1152: 
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr reverse_iterator<_Iterator>
1152:     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
1152:        const reverse_iterator<_Iterator>& __x)
1152:     { return reverse_iterator<_Iterator>(__x.base() - __n); }
1152: 
1152: 
1152: 
1152:   template<typename _Iterator>
1152:     inline constexpr reverse_iterator<_Iterator>
1152:     __make_reverse_iterator(_Iterator __i)
1152:     { return reverse_iterator<_Iterator>(__i); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr reverse_iterator<_Iterator>
1152:     make_reverse_iterator(_Iterator __i)
1152:     { return reverse_iterator<_Iterator>(__i); }
1152: # 662 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Iterator>
1152:    
1152:     auto
1152:     __niter_base(reverse_iterator<_Iterator> __it)
1152:     -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
1152:     { return __make_reverse_iterator(__niter_base(__it.base())); }
1152: 
1152:   template<typename _Iterator>
1152:     struct __is_move_iterator<reverse_iterator<_Iterator> >
1152:       : __is_move_iterator<_Iterator>
1152:     { };
1152: 
1152:   template<typename _Iterator>
1152:    
1152:     auto
1152:     __miter_base(reverse_iterator<_Iterator> __it)
1152:     -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
1152:     { return __make_reverse_iterator(__miter_base(__it.base())); }
1152: # 693 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Container>
1152:     class back_insert_iterator
1152:     : public iterator<output_iterator_tag, void, void, void, void>
1152:     {
1152:     protected:
1152:       _Container* container;
1152: 
1152:     public:
1152: 
1152:       typedef _Container container_type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       explicit
1152:       back_insert_iterator(_Container& __x)
1152:       : container(std::__addressof(__x)) { }
1152: # 731 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:      
1152:       back_insert_iterator&
1152:       operator=(const typename _Container::value_type& __value)
1152:       {
1152:  container->push_back(__value);
1152:  return *this;
1152:       }
1152: 
1152:      
1152:       back_insert_iterator&
1152:       operator=(typename _Container::value_type&& __value)
1152:       {
1152:  container->push_back(std::move(__value));
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       back_insert_iterator&
1152:       operator*()
1152:       { return *this; }
1152: 
1152: 
1152:      
1152:       back_insert_iterator&
1152:       operator++()
1152:       { return *this; }
1152: 
1152: 
1152:      
1152:       back_insert_iterator
1152:       operator++(int)
1152:       { return *this; }
1152:     };
1152: # 778 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline back_insert_iterator<_Container>
1152:     back_inserter(_Container& __x)
1152:     { return back_insert_iterator<_Container>(__x); }
1152: # 794 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Container>
1152:     class front_insert_iterator
1152:     : public iterator<output_iterator_tag, void, void, void, void>
1152:     {
1152:     protected:
1152:       _Container* container;
1152: 
1152:     public:
1152: 
1152:       typedef _Container container_type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       explicit
1152:       front_insert_iterator(_Container& __x)
1152:       : container(std::__addressof(__x)) { }
1152: # 832 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:      
1152:       front_insert_iterator&
1152:       operator=(const typename _Container::value_type& __value)
1152:       {
1152:  container->push_front(__value);
1152:  return *this;
1152:       }
1152: 
1152:      
1152:       front_insert_iterator&
1152:       operator=(typename _Container::value_type&& __value)
1152:       {
1152:  container->push_front(std::move(__value));
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       front_insert_iterator&
1152:       operator*()
1152:       { return *this; }
1152: 
1152: 
1152:      
1152:       front_insert_iterator&
1152:       operator++()
1152:       { return *this; }
1152: 
1152: 
1152:      
1152:       front_insert_iterator
1152:       operator++(int)
1152:       { return *this; }
1152:     };
1152: # 879 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline front_insert_iterator<_Container>
1152:     front_inserter(_Container& __x)
1152:     { return front_insert_iterator<_Container>(__x); }
1152: # 899 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Container>
1152:     class insert_iterator
1152:     : public iterator<output_iterator_tag, void, void, void, void>
1152:     {
1152: 
1152: 
1152: 
1152:       typedef typename _Container::iterator _Iter;
1152: 
1152:     protected:
1152:       _Container* container;
1152:       _Iter iter;
1152: 
1152:     public:
1152: 
1152:       typedef _Container container_type;
1152: # 924 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:      
1152:       insert_iterator(_Container& __x, _Iter __i)
1152:       : container(std::__addressof(__x)), iter(__i) {}
1152: # 960 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:      
1152:       insert_iterator&
1152:       operator=(const typename _Container::value_type& __value)
1152:       {
1152:  iter = container->insert(iter, __value);
1152:  ++iter;
1152:  return *this;
1152:       }
1152: 
1152:      
1152:       insert_iterator&
1152:       operator=(typename _Container::value_type&& __value)
1152:       {
1152:  iter = container->insert(iter, std::move(__value));
1152:  ++iter;
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       insert_iterator&
1152:       operator*()
1152:       { return *this; }
1152: 
1152: 
1152:      
1152:       insert_iterator&
1152:       operator++()
1152:       { return *this; }
1152: 
1152: 
1152:      
1152:       insert_iterator&
1152:       operator++(int)
1152:       { return *this; }
1152:     };
1152: 
1152: #pragma GCC diagnostic pop
1152: # 1019 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline insert_iterator<_Container>
1152:     inserter(_Container& __x, typename _Container::iterator __i)
1152:     { return insert_iterator<_Container>(__x, __i); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: 
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 1042 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Iterator, typename _Container>
1152:     class __normal_iterator
1152:     {
1152:     protected:
1152:       _Iterator _M_current;
1152: 
1152:       typedef std::iterator_traits<_Iterator> __traits_type;
1152: 
1152: 
1152:       template<typename _Iter>
1152:  using __convertible_from
1152:    = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
1152: 
1152: 
1152:     public:
1152:       typedef _Iterator iterator_type;
1152:       typedef typename __traits_type::iterator_category iterator_category;
1152:       typedef typename __traits_type::value_type value_type;
1152:       typedef typename __traits_type::difference_type difference_type;
1152:       typedef typename __traits_type::reference reference;
1152:       typedef typename __traits_type::pointer pointer;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr __normal_iterator() noexcept
1152:       : _M_current(_Iterator()) { }
1152: 
1152:       explicit
1152:       __normal_iterator(const _Iterator& __i) noexcept
1152:       : _M_current(__i) { }
1152: 
1152: 
1152: 
1152:       template<typename _Iter, typename = __convertible_from<_Iter>>
1152: 
1152:  __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
1152:  noexcept
1152: # 1090 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:         : _M_current(__i.base()) { }
1152: 
1152: 
1152:      
1152:       reference
1152:       operator*() const noexcept
1152:       { return *_M_current; }
1152: 
1152:      
1152:       pointer
1152:       operator->() const noexcept
1152:       { return _M_current; }
1152: 
1152:      
1152:       __normal_iterator&
1152:       operator++() noexcept
1152:       {
1152:  ++_M_current;
1152:  return *this;
1152:       }
1152: 
1152:      
1152:       __normal_iterator
1152:       operator++(int) noexcept
1152:       { return __normal_iterator(_M_current++); }
1152: 
1152: 
1152:      
1152:       __normal_iterator&
1152:       operator--() noexcept
1152:       {
1152:  --_M_current;
1152:  return *this;
1152:       }
1152: 
1152:      
1152:       __normal_iterator
1152:       operator--(int) noexcept
1152:       { return __normal_iterator(_M_current--); }
1152: 
1152: 
1152:      
1152:       reference
1152:       operator[](difference_type __n) const noexcept
1152:       { return _M_current[__n]; }
1152: 
1152:      
1152:       __normal_iterator&
1152:       operator+=(difference_type __n) noexcept
1152:       { _M_current += __n; return *this; }
1152: 
1152:      
1152:       __normal_iterator
1152:       operator+(difference_type __n) const noexcept
1152:       { return __normal_iterator(_M_current + __n); }
1152: 
1152:      
1152:       __normal_iterator&
1152:       operator-=(difference_type __n) noexcept
1152:       { _M_current -= __n; return *this; }
1152: 
1152:      
1152:       __normal_iterator
1152:       operator-(difference_type __n) const noexcept
1152:       { return __normal_iterator(_M_current - __n); }
1152: 
1152:      
1152:       const _Iterator&
1152:       base() const noexcept
1152:       { return _M_current; }
1152:     };
1152: # 1210 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
1152:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() == __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
1152:         const __normal_iterator<_Iterator, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() == __rhs.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1152:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() != __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
1152:         const __normal_iterator<_Iterator, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() != __rhs.base(); }
1152: 
1152: 
1152:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
1152:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() < __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
1152:        const __normal_iterator<_Iterator, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() < __rhs.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
1152:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() > __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
1152:        const __normal_iterator<_Iterator, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() > __rhs.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1152:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() <= __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
1152:         const __normal_iterator<_Iterator, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() <= __rhs.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1152:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() >= __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline bool
1152:     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
1152:         const __normal_iterator<_Iterator, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() >= __rhs.base(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1152: 
1152: 
1152:     [[__nodiscard__]]
1152:     inline auto
1152:     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
1152:        const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
1152:     -> decltype(__lhs.base() - __rhs.base())
1152: 
1152: 
1152: 
1152: 
1152: 
1152:     { return __lhs.base() - __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline typename __normal_iterator<_Iterator, _Container>::difference_type
1152:     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
1152:        const __normal_iterator<_Iterator, _Container>& __rhs)
1152:     noexcept
1152:     { return __lhs.base() - __rhs.base(); }
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     [[__nodiscard__]]
1152:     inline __normal_iterator<_Iterator, _Container>
1152:     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
1152:        __n, const __normal_iterator<_Iterator, _Container>& __i)
1152:     noexcept
1152:     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
1152: 
1152: 
1152: }
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:    
1152:     _Iterator
1152:     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
1152:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1152:     { return __it.base(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Iterator, typename _Container>
1152:     constexpr auto
1152:     __to_address(const __gnu_cxx::__normal_iterator<_Iterator,
1152:           _Container>& __it) noexcept
1152:     -> decltype(std::__to_address(__it.base()))
1152:     { return std::__to_address(__it.base()); }
1152: # 1417 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   namespace __detail
1152:   {
1152: # 1433 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   }
1152: # 1444 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Iterator>
1152:     class move_iterator
1152: 
1152: 
1152: 
1152:     {
1152:       _Iterator _M_current;
1152: 
1152:       using __traits_type = iterator_traits<_Iterator>;
1152: 
1152:       using __base_ref = typename __traits_type::reference;
1152: 
1152: 
1152:       template<typename _Iter2>
1152:  friend class move_iterator;
1152: # 1468 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:     public:
1152:       using iterator_type = _Iterator;
1152: # 1479 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:       typedef typename __traits_type::iterator_category iterator_category;
1152:       typedef typename __traits_type::value_type value_type;
1152:       typedef typename __traits_type::difference_type difference_type;
1152: 
1152:       typedef _Iterator pointer;
1152: 
1152: 
1152:       using reference
1152:  = __conditional_t<is_reference<__base_ref>::value,
1152:      typename remove_reference<__base_ref>::type&&,
1152:      __base_ref>;
1152: 
1152: 
1152:       constexpr
1152:       move_iterator()
1152:       : _M_current() { }
1152: 
1152:       explicit constexpr
1152:       move_iterator(iterator_type __i)
1152:       : _M_current(std::move(__i)) { }
1152: 
1152:       template<typename _Iter>
1152: 
1152: 
1152: 
1152:  constexpr
1152:  move_iterator(const move_iterator<_Iter>& __i)
1152:  : _M_current(__i._M_current) { }
1152: 
1152:       template<typename _Iter>
1152: 
1152: 
1152: 
1152: 
1152:  constexpr
1152:  move_iterator& operator=(const move_iterator<_Iter>& __i)
1152:  {
1152:    _M_current = __i._M_current;
1152:    return *this;
1152:  }
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr iterator_type
1152:       base() const
1152:       { return _M_current; }
1152: # 1537 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:       [[__nodiscard__]]
1152:       constexpr reference
1152:       operator*() const
1152: 
1152: 
1152: 
1152:       { return static_cast<reference>(*_M_current); }
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr pointer
1152:       operator->() const
1152:       { return _M_current; }
1152: 
1152:       constexpr move_iterator&
1152:       operator++()
1152:       {
1152:  ++_M_current;
1152:  return *this;
1152:       }
1152: 
1152:       constexpr move_iterator
1152:       operator++(int)
1152:       {
1152:  move_iterator __tmp = *this;
1152:  ++_M_current;
1152:  return __tmp;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       constexpr move_iterator&
1152:       operator--()
1152:       {
1152:  --_M_current;
1152:  return *this;
1152:       }
1152: 
1152:       constexpr move_iterator
1152:       operator--(int)
1152:       {
1152:  move_iterator __tmp = *this;
1152:  --_M_current;
1152:  return __tmp;
1152:       }
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr move_iterator
1152:       operator+(difference_type __n) const
1152:       { return move_iterator(_M_current + __n); }
1152: 
1152:       constexpr move_iterator&
1152:       operator+=(difference_type __n)
1152:       {
1152:  _M_current += __n;
1152:  return *this;
1152:       }
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr move_iterator
1152:       operator-(difference_type __n) const
1152:       { return move_iterator(_M_current - __n); }
1152: 
1152:       constexpr move_iterator&
1152:       operator-=(difference_type __n)
1152:       {
1152:  _M_current -= __n;
1152:  return *this;
1152:       }
1152: 
1152:       [[__nodiscard__]]
1152:       constexpr reference
1152:       operator[](difference_type __n) const
1152: 
1152: 
1152: 
1152:       { return std::move(_M_current[__n]); }
1152: # 1651 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:     };
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator==(const move_iterator<_IteratorL>& __x,
1152:         const move_iterator<_IteratorR>& __y)
1152: 
1152: 
1152: 
1152:     { return __x.base() == __y.base(); }
1152: # 1672 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator!=(const move_iterator<_IteratorL>& __x,
1152:         const move_iterator<_IteratorR>& __y)
1152:     { return !(__x == __y); }
1152: 
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator<(const move_iterator<_IteratorL>& __x,
1152:        const move_iterator<_IteratorR>& __y)
1152: 
1152: 
1152: 
1152:     { return __x.base() < __y.base(); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator<=(const move_iterator<_IteratorL>& __x,
1152:         const move_iterator<_IteratorR>& __y)
1152: 
1152: 
1152: 
1152:     { return !(__y < __x); }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>(const move_iterator<_IteratorL>& __x,
1152:        const move_iterator<_IteratorR>& __y)
1152: 
1152: 
1152: 
1152:     { return __y < __x; }
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>=(const move_iterator<_IteratorL>& __x,
1152:         const move_iterator<_IteratorR>& __y)
1152: 
1152: 
1152: 
1152:     { return !(__x < __y); }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator==(const move_iterator<_Iterator>& __x,
1152:         const move_iterator<_Iterator>& __y)
1152:     { return __x.base() == __y.base(); }
1152: # 1738 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator!=(const move_iterator<_Iterator>& __x,
1152:         const move_iterator<_Iterator>& __y)
1152:     { return !(__x == __y); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator<(const move_iterator<_Iterator>& __x,
1152:        const move_iterator<_Iterator>& __y)
1152:     { return __x.base() < __y.base(); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator<=(const move_iterator<_Iterator>& __x,
1152:         const move_iterator<_Iterator>& __y)
1152:     { return !(__y < __x); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>(const move_iterator<_Iterator>& __x,
1152:        const move_iterator<_Iterator>& __y)
1152:     { return __y < __x; }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr bool
1152:     operator>=(const move_iterator<_Iterator>& __x,
1152:         const move_iterator<_Iterator>& __y)
1152:     { return !(__x < __y); }
1152: 
1152: 
1152: 
1152:   template<typename _IteratorL, typename _IteratorR>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     operator-(const move_iterator<_IteratorL>& __x,
1152:        const move_iterator<_IteratorR>& __y)
1152:     -> decltype(__x.base() - __y.base())
1152:     { return __x.base() - __y.base(); }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr move_iterator<_Iterator>
1152:     operator+(typename move_iterator<_Iterator>::difference_type __n,
1152:        const move_iterator<_Iterator>& __x)
1152:     { return __x + __n; }
1152: 
1152:   template<typename _Iterator>
1152:     [[__nodiscard__]]
1152:     inline constexpr move_iterator<_Iterator>
1152:     make_move_iterator(_Iterator __i)
1152:     { return move_iterator<_Iterator>(std::move(__i)); }
1152: 
1152:   template<typename _Iterator, typename _ReturnType
1152:     = __conditional_t<__move_if_noexcept_cond
1152:       <typename iterator_traits<_Iterator>::value_type>::value,
1152:   _Iterator, move_iterator<_Iterator>>>
1152:     inline constexpr _ReturnType
1152:     __make_move_if_noexcept_iterator(_Iterator __i)
1152:     { return _ReturnType(__i); }
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _ReturnType
1152:     = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
1152:         const _Tp*, move_iterator<_Tp*>>>
1152:     inline constexpr _ReturnType
1152:     __make_move_if_noexcept_iterator(_Tp* __i)
1152:     { return _ReturnType(__i); }
1152: # 2552 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _Iterator>
1152:    
1152:     auto
1152:     __niter_base(move_iterator<_Iterator> __it)
1152:     -> decltype(make_move_iterator(__niter_base(__it.base())))
1152:     { return make_move_iterator(__niter_base(__it.base())); }
1152: 
1152:   template<typename _Iterator>
1152:     struct __is_move_iterator<move_iterator<_Iterator> >
1152:     {
1152:       enum { __value = 1 };
1152:       typedef __true_type __type;
1152:     };
1152: 
1152:   template<typename _Iterator>
1152:    
1152:     auto
1152:     __miter_base(move_iterator<_Iterator> __it)
1152:     -> decltype(__miter_base(__it.base()))
1152:     { return __miter_base(__it.base()); }
1152: # 2584 "/usr/include/c++/12/bits/stl_iterator.h" 3
1152:   template<typename _InputIterator>
1152:     using __iter_key_t = remove_const_t<
1152:     typename iterator_traits<_InputIterator>::value_type::first_type>;
1152: 
1152:   template<typename _InputIterator>
1152:     using __iter_val_t =
1152:     typename iterator_traits<_InputIterator>::value_type::second_type;
1152: 
1152:   template<typename _T1, typename _T2>
1152:     struct pair;
1152: 
1152:   template<typename _InputIterator>
1152:     using __iter_to_alloc_t =
1152:     pair<add_const_t<__iter_key_t<_InputIterator>>,
1152:   __iter_val_t<_InputIterator>>;
1152: 
1152: 
1152: 
1152: }
1152: # 48 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/stl_function.h" 1 3
1152: # 63 "/usr/include/c++/12/bits/stl_function.h" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 116 "/usr/include/c++/12/bits/stl_function.h" 3
1152:   template<typename _Arg, typename _Result>
1152:     struct unary_function
1152:     {
1152: 
1152:       typedef _Arg argument_type;
1152: 
1152: 
1152:       typedef _Result result_type;
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Arg1, typename _Arg2, typename _Result>
1152:     struct binary_function
1152:     {
1152: 
1152:       typedef _Arg1 first_argument_type;
1152: 
1152: 
1152:       typedef _Arg2 second_argument_type;
1152: 
1152: 
1152:       typedef _Result result_type;
1152:     } __attribute__ ((__deprecated__));
1152: # 157 "/usr/include/c++/12/bits/stl_function.h" 3
1152:   struct __is_transparent;
1152: 
1152:   template<typename _Tp = void>
1152:     struct plus;
1152: 
1152:   template<typename _Tp = void>
1152:     struct minus;
1152: 
1152:   template<typename _Tp = void>
1152:     struct multiplies;
1152: 
1152:   template<typename _Tp = void>
1152:     struct divides;
1152: 
1152:   template<typename _Tp = void>
1152:     struct modulus;
1152: 
1152:   template<typename _Tp = void>
1152:     struct negate;
1152: 
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct plus : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152: 
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x + __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct minus : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x - __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x * __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct divides : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x / __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct modulus : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x % __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct negate : public unary_function<_Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x) const
1152:       { return -__x; }
1152:     };
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct plus<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct minus<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct multiplies<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct divides<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct modulus<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct negate<void>
1152:     {
1152:       template <typename _Tp>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t) const
1152:  noexcept(noexcept(-std::forward<_Tp>(__t)))
1152:  -> decltype(-std::forward<_Tp>(__t))
1152:  { return -std::forward<_Tp>(__t); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: # 349 "/usr/include/c++/12/bits/stl_function.h" 3
1152:   template<typename _Tp = void>
1152:     struct equal_to;
1152: 
1152:   template<typename _Tp = void>
1152:     struct not_equal_to;
1152: 
1152:   template<typename _Tp = void>
1152:     struct greater;
1152: 
1152:   template<typename _Tp = void>
1152:     struct less;
1152: 
1152:   template<typename _Tp = void>
1152:     struct greater_equal;
1152: 
1152:   template<typename _Tp = void>
1152:     struct less_equal;
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct equal_to : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x == __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x != __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct greater : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x > __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct less : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x < __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct greater_equal : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x >= __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct less_equal : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x <= __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1152:     {
1152:       constexpr bool
1152:       operator()(_Tp* __x, _Tp* __y) const noexcept
1152:       {
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __x > __y;
1152: 
1152:  return (unsigned int)__x > (unsigned int)__y;
1152:       }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1152:     {
1152:       constexpr bool
1152:       operator()(_Tp* __x, _Tp* __y) const noexcept
1152:       {
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __x < __y;
1152: 
1152:  return (unsigned int)__x < (unsigned int)__y;
1152:       }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1152:     {
1152:       constexpr bool
1152:       operator()(_Tp* __x, _Tp* __y) const noexcept
1152:       {
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __x >= __y;
1152: 
1152:  return (unsigned int)__x >= (unsigned int)__y;
1152:       }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1152:     {
1152:       constexpr bool
1152:       operator()(_Tp* __x, _Tp* __y) const noexcept
1152:       {
1152: 
1152:  if (std::__is_constant_evaluated())
1152:    return __x <= __y;
1152: 
1152:  return (unsigned int)__x <= (unsigned int)__y;
1152:       }
1152:     };
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct equal_to<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct not_equal_to<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct greater<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
1152:  {
1152:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1152:    __ptr_cmp<_Tp, _Up>{});
1152:  }
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  constexpr bool
1152:  operator()(_Tp* __t, _Up* __u) const noexcept
1152:  { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152: 
1152:     private:
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr decltype(auto)
1152:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1152:  { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
1152: 
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr bool
1152:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1152:  {
1152:    return greater<const volatile void*>{}(
1152:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1152:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1152:  }
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded2 : true_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded2<_Tp, _Up, __void_t<
1152:    decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded<_Tp, _Up, __void_t<
1152:    decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1152:        is_convertible<_Tp, const volatile void*>,
1152:        is_convertible<_Up, const volatile void*>>;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct less<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
1152:  {
1152:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1152:    __ptr_cmp<_Tp, _Up>{});
1152:  }
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  constexpr bool
1152:  operator()(_Tp* __t, _Up* __u) const noexcept
1152:  { return less<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152: 
1152:     private:
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr decltype(auto)
1152:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1152:  { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
1152: 
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr bool
1152:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1152:  {
1152:    return less<const volatile void*>{}(
1152:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1152:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1152:  }
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded2 : true_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded2<_Tp, _Up, __void_t<
1152:    decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded<_Tp, _Up, __void_t<
1152:    decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1152:        is_convertible<_Tp, const volatile void*>,
1152:        is_convertible<_Up, const volatile void*>>;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct greater_equal<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
1152:  {
1152:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1152:    __ptr_cmp<_Tp, _Up>{});
1152:  }
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  constexpr bool
1152:  operator()(_Tp* __t, _Up* __u) const noexcept
1152:  { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152: 
1152:     private:
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr decltype(auto)
1152:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1152:  { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
1152: 
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr bool
1152:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1152:  {
1152:    return greater_equal<const volatile void*>{}(
1152:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1152:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1152:  }
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded2 : true_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded2<_Tp, _Up, __void_t<
1152:    decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded<_Tp, _Up, __void_t<
1152:    decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1152:        is_convertible<_Tp, const volatile void*>,
1152:        is_convertible<_Up, const volatile void*>>;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct less_equal<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
1152:  {
1152:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1152:    __ptr_cmp<_Tp, _Up>{});
1152:  }
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  constexpr bool
1152:  operator()(_Tp* __t, _Up* __u) const noexcept
1152:  { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152: 
1152:     private:
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr decltype(auto)
1152:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1152:  { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
1152: 
1152:       template <typename _Tp, typename _Up>
1152:  static constexpr bool
1152:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1152:  {
1152:    return less_equal<const volatile void*>{}(
1152:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1152:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1152:  }
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded2 : true_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded2<_Tp, _Up, __void_t<
1152:    decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up, typename = void>
1152:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1152: 
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  struct __not_overloaded<_Tp, _Up, __void_t<
1152:    decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
1152:  : false_type { };
1152: 
1152:       template<typename _Tp, typename _Up>
1152:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1152:        is_convertible<_Tp, const volatile void*>,
1152:        is_convertible<_Up, const volatile void*>>;
1152:     };
1152: # 781 "/usr/include/c++/12/bits/stl_function.h" 3
1152:   template<typename _Tp = void>
1152:     struct logical_and;
1152: 
1152:   template<typename _Tp = void>
1152:     struct logical_or;
1152: 
1152:   template<typename _Tp = void>
1152:     struct logical_not;
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct logical_and : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x && __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct logical_or : public binary_function<_Tp, _Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x || __y; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct logical_not : public unary_function<_Tp, bool>
1152:     {
1152:       constexpr
1152:       bool
1152:       operator()(const _Tp& __x) const
1152:       { return !__x; }
1152:     };
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct logical_and<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct logical_or<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct logical_not<void>
1152:     {
1152:       template <typename _Tp>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t) const
1152:  noexcept(noexcept(!std::forward<_Tp>(__t)))
1152:  -> decltype(!std::forward<_Tp>(__t))
1152:  { return !std::forward<_Tp>(__t); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp = void>
1152:     struct bit_and;
1152: 
1152:   template<typename _Tp = void>
1152:     struct bit_or;
1152: 
1152:   template<typename _Tp = void>
1152:     struct bit_xor;
1152: 
1152:   template<typename _Tp = void>
1152:     struct bit_not;
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct bit_and : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x & __y; }
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct bit_or : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x | __y; }
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
1152:     {
1152:       constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x, const _Tp& __y) const
1152:       { return __x ^ __y; }
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct bit_not : public unary_function<_Tp, _Tp>
1152:     {
1152:     constexpr
1152:       _Tp
1152:       operator()(const _Tp& __x) const
1152:       { return ~__x; }
1152:     };
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152:   template <>
1152:     struct bit_and<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152:   template <>
1152:     struct bit_or<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152:   template <>
1152:     struct bit_xor<void>
1152:     {
1152:       template <typename _Tp, typename _Up>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t, _Up&& __u) const
1152:  noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
1152:  -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
1152:  { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152:   template <>
1152:     struct bit_not<void>
1152:     {
1152:       template <typename _Tp>
1152:  constexpr
1152:  auto
1152:  operator()(_Tp&& __t) const
1152:  noexcept(noexcept(~std::forward<_Tp>(__t)))
1152:  -> decltype(~std::forward<_Tp>(__t))
1152:  { return ~std::forward<_Tp>(__t); }
1152: 
1152:       typedef __is_transparent is_transparent;
1152:     };
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: # 1023 "/usr/include/c++/12/bits/stl_function.h" 3
1152:   template<typename _Predicate>
1152:     class [[__deprecated__]] unary_negate
1152:     : public unary_function<typename _Predicate::argument_type, bool>
1152:     {
1152:     protected:
1152:       _Predicate _M_pred;
1152: 
1152:     public:
1152:       constexpr
1152:       explicit
1152:       unary_negate(const _Predicate& __x) : _M_pred(__x) { }
1152: 
1152:       constexpr
1152:       bool
1152:       operator()(const typename _Predicate::argument_type& __x) const
1152:       { return !_M_pred(__x); }
1152:     };
1152: 
1152: 
1152:   template<typename _Predicate>
1152:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1152:     constexpr
1152:     inline unary_negate<_Predicate>
1152:     not1(const _Predicate& __pred)
1152:     { return unary_negate<_Predicate>(__pred); }
1152: 
1152: 
1152:   template<typename _Predicate>
1152:     class [[__deprecated__]] binary_negate
1152:     : public binary_function<typename _Predicate::first_argument_type,
1152:         typename _Predicate::second_argument_type, bool>
1152:     {
1152:     protected:
1152:       _Predicate _M_pred;
1152: 
1152:     public:
1152:       constexpr
1152:       explicit
1152:       binary_negate(const _Predicate& __x) : _M_pred(__x) { }
1152: 
1152:       constexpr
1152:       bool
1152:       operator()(const typename _Predicate::first_argument_type& __x,
1152:    const typename _Predicate::second_argument_type& __y) const
1152:       { return !_M_pred(__x, __y); }
1152:     };
1152: 
1152: 
1152:   template<typename _Predicate>
1152:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1152:     constexpr
1152:     inline binary_negate<_Predicate>
1152:     not2(const _Predicate& __pred)
1152:     { return binary_negate<_Predicate>(__pred); }
1152: # 1104 "/usr/include/c++/12/bits/stl_function.h" 3
1152:   template<typename _Arg, typename _Result>
1152:     class pointer_to_unary_function : public unary_function<_Arg, _Result>
1152:     {
1152:     protected:
1152:       _Result (*_M_ptr)(_Arg);
1152: 
1152:     public:
1152:       pointer_to_unary_function() { }
1152: 
1152:       explicit
1152:       pointer_to_unary_function(_Result (*__x)(_Arg))
1152:       : _M_ptr(__x) { }
1152: 
1152:       _Result
1152:       operator()(_Arg __x) const
1152:       { return _M_ptr(__x); }
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Arg, typename _Result>
1152:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1152:     inline pointer_to_unary_function<_Arg, _Result>
1152:     ptr_fun(_Result (*__x)(_Arg))
1152:     { return pointer_to_unary_function<_Arg, _Result>(__x); }
1152: 
1152: 
1152:   template<typename _Arg1, typename _Arg2, typename _Result>
1152:     class pointer_to_binary_function
1152:     : public binary_function<_Arg1, _Arg2, _Result>
1152:     {
1152:     protected:
1152:       _Result (*_M_ptr)(_Arg1, _Arg2);
1152: 
1152:     public:
1152:       pointer_to_binary_function() { }
1152: 
1152:       explicit
1152:       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
1152:       : _M_ptr(__x) { }
1152: 
1152:       _Result
1152:       operator()(_Arg1 __x, _Arg2 __y) const
1152:       { return _M_ptr(__x, __y); }
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Arg1, typename _Arg2, typename _Result>
1152:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1152:     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
1152:     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
1152:     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct _Identity
1152:     : public unary_function<_Tp, _Tp>
1152:     {
1152:       _Tp&
1152:       operator()(_Tp& __x) const
1152:       { return __x; }
1152: 
1152:       const _Tp&
1152:       operator()(const _Tp& __x) const
1152:       { return __x; }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
1152: 
1152:   template<typename _Pair>
1152:     struct _Select1st
1152:     : public unary_function<_Pair, typename _Pair::first_type>
1152:     {
1152:       typename _Pair::first_type&
1152:       operator()(_Pair& __x) const
1152:       { return __x.first; }
1152: 
1152:       const typename _Pair::first_type&
1152:       operator()(const _Pair& __x) const
1152:       { return __x.first; }
1152: 
1152: 
1152:       template<typename _Pair2>
1152:         typename _Pair2::first_type&
1152:         operator()(_Pair2& __x) const
1152:         { return __x.first; }
1152: 
1152:       template<typename _Pair2>
1152:         const typename _Pair2::first_type&
1152:         operator()(const _Pair2& __x) const
1152:         { return __x.first; }
1152: 
1152:     };
1152: 
1152:   template<typename _Pair>
1152:     struct _Select2nd
1152:     : public unary_function<_Pair, typename _Pair::second_type>
1152:     {
1152:       typename _Pair::second_type&
1152:       operator()(_Pair& __x) const
1152:       { return __x.second; }
1152: 
1152:       const typename _Pair::second_type&
1152:       operator()(const _Pair& __x) const
1152:       { return __x.second; }
1152:     };
1152: # 1231 "/usr/include/c++/12/bits/stl_function.h" 3
1152:   template<typename _Ret, typename _Tp>
1152:     class mem_fun_t : public unary_function<_Tp*, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       mem_fun_t(_Ret (_Tp::*__pf)())
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(_Tp* __p) const
1152:       { return (__p->*_M_f)(); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)();
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp>
1152:     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(const _Tp* __p) const
1152:       { return (__p->*_M_f)(); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)() const;
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp>
1152:     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       mem_fun_ref_t(_Ret (_Tp::*__pf)())
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(_Tp& __r) const
1152:       { return (__r.*_M_f)(); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)();
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp>
1152:     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(const _Tp& __r) const
1152:       { return (__r.*_M_f)(); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)() const;
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(_Tp* __p, _Arg __x) const
1152:       { return (__p->*_M_f)(__x); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)(_Arg);
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(const _Tp* __p, _Arg __x) const
1152:       { return (__p->*_M_f)(__x); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)(_Arg) const;
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(_Tp& __r, _Arg __x) const
1152:       { return (__r.*_M_f)(__x); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)(_Arg);
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1152:     {
1152:     public:
1152:       explicit
1152:       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
1152:       : _M_f(__pf) { }
1152: 
1152:       _Ret
1152:       operator()(const _Tp& __r, _Arg __x) const
1152:       { return (__r.*_M_f)(__x); }
1152: 
1152:     private:
1152:       _Ret (_Tp::*_M_f)(_Arg) const;
1152:     } __attribute__ ((__deprecated__));
1152: 
1152: 
1152: 
1152:   template<typename _Ret, typename _Tp>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline mem_fun_t<_Ret, _Tp>
1152:     mem_fun(_Ret (_Tp::*__f)())
1152:     { return mem_fun_t<_Ret, _Tp>(__f); }
1152: 
1152:   template<typename _Ret, typename _Tp>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline const_mem_fun_t<_Ret, _Tp>
1152:     mem_fun(_Ret (_Tp::*__f)() const)
1152:     { return const_mem_fun_t<_Ret, _Tp>(__f); }
1152: 
1152:   template<typename _Ret, typename _Tp>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline mem_fun_ref_t<_Ret, _Tp>
1152:     mem_fun_ref(_Ret (_Tp::*__f)())
1152:     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
1152: 
1152:   template<typename _Ret, typename _Tp>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline const_mem_fun_ref_t<_Ret, _Tp>
1152:     mem_fun_ref(_Ret (_Tp::*__f)() const)
1152:     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline mem_fun1_t<_Ret, _Tp, _Arg>
1152:     mem_fun(_Ret (_Tp::*__f)(_Arg))
1152:     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
1152:     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
1152:     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
1152:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
1152:     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1152: 
1152:   template<typename _Ret, typename _Tp, typename _Arg>
1152:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1152:     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
1152:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
1152:     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1152: #pragma GCC diagnostic pop
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Func, typename _SfinaeType, typename = __void_t<>>
1152:     struct __has_is_transparent
1152:     { };
1152: 
1152:   template<typename _Func, typename _SfinaeType>
1152:     struct __has_is_transparent<_Func, _SfinaeType,
1152:     __void_t<typename _Func::is_transparent>>
1152:     { typedef void type; };
1152: 
1152:   template<typename _Func, typename _SfinaeType>
1152:     using __has_is_transparent_t
1152:       = typename __has_is_transparent<_Func, _SfinaeType>::type;
1152: 
1152: 
1152: 
1152: }
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/backward/binders.h" 1 3
1152: # 60 "/usr/include/c++/12/backward/binders.h" 3
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 107 "/usr/include/c++/12/backward/binders.h" 3
1152:   template<typename _Operation>
1152:     class binder1st
1152:     : public unary_function<typename _Operation::second_argument_type,
1152:        typename _Operation::result_type>
1152:     {
1152:     protected:
1152:       _Operation op;
1152:       typename _Operation::first_argument_type value;
1152: 
1152:     public:
1152:       binder1st(const _Operation& __x,
1152:   const typename _Operation::first_argument_type& __y)
1152:       : op(__x), value(__y) { }
1152: 
1152:       typename _Operation::result_type
1152:       operator()(const typename _Operation::second_argument_type& __x) const
1152:       { return op(value, __x); }
1152: 
1152: 
1152: 
1152:       typename _Operation::result_type
1152:       operator()(typename _Operation::second_argument_type& __x) const
1152:       { return op(value, __x); }
1152:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1152: 
1152: 
1152:   template<typename _Operation, typename _Tp>
1152:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1152:     inline binder1st<_Operation>
1152:     bind1st(const _Operation& __fn, const _Tp& __x)
1152:     {
1152:       typedef typename _Operation::first_argument_type _Arg1_type;
1152:       return binder1st<_Operation>(__fn, _Arg1_type(__x));
1152:     }
1152: 
1152: 
1152:   template<typename _Operation>
1152:     class binder2nd
1152:     : public unary_function<typename _Operation::first_argument_type,
1152:        typename _Operation::result_type>
1152:     {
1152:     protected:
1152:       _Operation op;
1152:       typename _Operation::second_argument_type value;
1152: 
1152:     public:
1152:       binder2nd(const _Operation& __x,
1152:   const typename _Operation::second_argument_type& __y)
1152:       : op(__x), value(__y) { }
1152: 
1152:       typename _Operation::result_type
1152:       operator()(const typename _Operation::first_argument_type& __x) const
1152:       { return op(__x, value); }
1152: 
1152: 
1152: 
1152:       typename _Operation::result_type
1152:       operator()(typename _Operation::first_argument_type& __x) const
1152:       { return op(__x, value); }
1152:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1152: 
1152: 
1152:   template<typename _Operation, typename _Tp>
1152:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1152:     inline binder2nd<_Operation>
1152:     bind2nd(const _Operation& __fn, const _Tp& __x)
1152:     {
1152:       typedef typename _Operation::second_argument_type _Arg2_type;
1152:       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
1152:     }
1152: 
1152: 
1152: 
1152: }
1152: 
1152: #pragma GCC diagnostic pop
1152: # 1439 "/usr/include/c++/12/bits/stl_function.h" 2 3
1152: # 49 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/ext/numeric_traits.h" 1 3
1152: # 32 "/usr/include/c++/12/ext/numeric_traits.h" 3
1152:        
1152: # 33 "/usr/include/c++/12/ext/numeric_traits.h" 3
1152: 
1152: 
1152: 
1152: 
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 50 "/usr/include/c++/12/ext/numeric_traits.h" 3
1152:   template<typename _Tp>
1152:     struct __is_integer_nonstrict
1152:     : public std::__is_integer<_Tp>
1152:     {
1152:       using std::__is_integer<_Tp>::__value;
1152: 
1152: 
1152:       enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
1152:     };
1152: 
1152:   template<typename _Value>
1152:     struct __numeric_traits_integer
1152:     {
1152: 
1152:       static_assert(__is_integer_nonstrict<_Value>::__value,
1152:       "invalid specialization");
1152: 
1152: 
1152: 
1152: 
1152:       static const bool __is_signed = (_Value)(-1) < 0;
1152:       static const int __digits
1152:  = __is_integer_nonstrict<_Value>::__width - __is_signed;
1152: 
1152: 
1152:       static const _Value __max = __is_signed
1152:  ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
1152:  : ~(_Value)0;
1152:       static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
1152:     };
1152: 
1152:   template<typename _Value>
1152:     const _Value __numeric_traits_integer<_Value>::__min;
1152: 
1152:   template<typename _Value>
1152:     const _Value __numeric_traits_integer<_Value>::__max;
1152: 
1152:   template<typename _Value>
1152:     const bool __numeric_traits_integer<_Value>::__is_signed;
1152: 
1152:   template<typename _Value>
1152:     const int __numeric_traits_integer<_Value>::__digits;
1152: # 137 "/usr/include/c++/12/ext/numeric_traits.h" 3
1152:   template<typename _Tp>
1152:     using __int_traits = __numeric_traits_integer<_Tp>;
1152: # 157 "/usr/include/c++/12/ext/numeric_traits.h" 3
1152:   template<typename _Value>
1152:     struct __numeric_traits_floating
1152:     {
1152: 
1152:       static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136);
1152: 
1152: 
1152:       static const bool __is_signed = true;
1152:       static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15);
1152:       static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308);
1152:     };
1152: 
1152:   template<typename _Value>
1152:     const int __numeric_traits_floating<_Value>::__max_digits10;
1152: 
1152:   template<typename _Value>
1152:     const bool __numeric_traits_floating<_Value>::__is_signed;
1152: 
1152:   template<typename _Value>
1152:     const int __numeric_traits_floating<_Value>::__digits10;
1152: 
1152:   template<typename _Value>
1152:     const int __numeric_traits_floating<_Value>::__max_exponent10;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Value>
1152:     struct __numeric_traits
1152:     : public __numeric_traits_integer<_Value>
1152:     { };
1152: 
1152:   template<>
1152:     struct __numeric_traits<float>
1152:     : public __numeric_traits_floating<float>
1152:     { };
1152: 
1152:   template<>
1152:     struct __numeric_traits<double>
1152:     : public __numeric_traits_floating<double>
1152:     { };
1152: 
1152:   template<>
1152:     struct __numeric_traits<long double>
1152:     : public __numeric_traits_floating<long double>
1152:     { };
1152: # 238 "/usr/include/c++/12/ext/numeric_traits.h" 3
1152: 
1152: }
1152: # 50 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/stl_algobase.h" 1 3
1152: # 64 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152: # 1 "/usr/include/c++/12/bits/stl_pair.h" 1 3
1152: # 62 "/usr/include/c++/12/bits/stl_pair.h" 3
1152: # 1 "/usr/include/c++/12/bits/utility.h" 1 3
1152: # 36 "/usr/include/c++/12/bits/utility.h" 3
1152:        
1152: # 37 "/usr/include/c++/12/bits/utility.h" 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct tuple_size;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp,
1152:     typename _Up = typename remove_cv<_Tp>::type,
1152:     typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
1152:     size_t = tuple_size<_Tp>::value>
1152:     using __enable_if_has_tuple_size = _Tp;
1152: 
1152:   template<typename _Tp>
1152:     struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
1152:     : public tuple_size<_Tp> { };
1152: 
1152:   template<typename _Tp>
1152:     struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
1152:     : public tuple_size<_Tp> { };
1152: 
1152:   template<typename _Tp>
1152:     struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
1152:     : public tuple_size<_Tp> { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
1152: 
1152: 
1152: 
1152:   template<size_t __i, typename _Tp>
1152:     struct tuple_element;
1152: 
1152: 
1152:   template<size_t __i, typename _Tp>
1152:     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
1152: 
1152:   template<size_t __i, typename _Tp>
1152:     struct tuple_element<__i, const _Tp>
1152:     {
1152:       typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
1152:     };
1152: 
1152:   template<size_t __i, typename _Tp>
1152:     struct tuple_element<__i, volatile _Tp>
1152:     {
1152:       typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
1152:     };
1152: 
1152:   template<size_t __i, typename _Tp>
1152:     struct tuple_element<__i, const volatile _Tp>
1152:     {
1152:       typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename... _Types>
1152:     constexpr size_t
1152:     __find_uniq_type_in_pack()
1152:     {
1152:       constexpr size_t __sz = sizeof...(_Types);
1152:       constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
1152:       size_t __n = __sz;
1152:       for (size_t __i = 0; __i < __sz; ++__i)
1152:  {
1152:    if (__found[__i])
1152:      {
1152:        if (__n < __sz)
1152:   return __sz;
1152:        __n = __i;
1152:      }
1152:  }
1152:       return __n;
1152:     }
1152: # 134 "/usr/include/c++/12/bits/utility.h" 3
1152:   template<size_t __i, typename _Tp>
1152:     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
1152: 
1152: 
1152: 
1152: 
1152:   template<size_t... _Indexes> struct _Index_tuple { };
1152: 
1152: 
1152:   template<size_t _Num>
1152:     struct _Build_index_tuple
1152:     {
1152: # 154 "/usr/include/c++/12/bits/utility.h" 3
1152:       using __type = _Index_tuple<__integer_pack(_Num)...>;
1152: 
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, _Tp... _Idx>
1152:     struct integer_sequence
1152:     {
1152:       typedef _Tp value_type;
1152:       static constexpr size_t size() noexcept { return sizeof...(_Idx); }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, _Tp _Num>
1152:     using make_integer_sequence
1152: 
1152: 
1152: 
1152:       = integer_sequence<_Tp, __integer_pack(_Num)...>;
1152: 
1152: 
1152: 
1152:   template<size_t... _Idx>
1152:     using index_sequence = integer_sequence<size_t, _Idx...>;
1152: 
1152: 
1152:   template<size_t _Num>
1152:     using make_index_sequence = make_integer_sequence<size_t, _Num>;
1152: 
1152: 
1152:   template<typename... _Types>
1152:     using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
1152: 
1152: 
1152: 
1152:   struct in_place_t {
1152:     explicit in_place_t() = default;
1152:   };
1152: 
1152:   inline constexpr in_place_t in_place{};
1152: 
1152:   template<typename _Tp> struct in_place_type_t
1152:   {
1152:     explicit in_place_type_t() = default;
1152:   };
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr in_place_type_t<_Tp> in_place_type{};
1152: 
1152:   template<size_t _Idx> struct in_place_index_t
1152:   {
1152:     explicit in_place_index_t() = default;
1152:   };
1152: 
1152:   template<size_t _Idx>
1152:     inline constexpr in_place_index_t<_Idx> in_place_index{};
1152: 
1152:   template<typename>
1152:     inline constexpr bool __is_in_place_type_v = false;
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
1152: 
1152:   template<typename _Tp>
1152:     using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>;
1152: 
1152: 
1152: 
1152: 
1152:   template<size_t _Np, typename... _Types>
1152:     struct _Nth_type
1152:     { };
1152: 
1152:   template<typename _Tp0, typename... _Rest>
1152:     struct _Nth_type<0, _Tp0, _Rest...>
1152:     { using type = _Tp0; };
1152: 
1152:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1152:     struct _Nth_type<1, _Tp0, _Tp1, _Rest...>
1152:     { using type = _Tp1; };
1152: 
1152:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1152:     struct _Nth_type<2, _Tp0, _Tp1, _Tp2, _Rest...>
1152:     { using type = _Tp2; };
1152: 
1152:   template<size_t _Np, typename _Tp0, typename _Tp1, typename _Tp2,
1152:     typename... _Rest>
1152: 
1152: 
1152: 
1152:     struct _Nth_type<_Np, _Tp0, _Tp1, _Tp2, _Rest...>
1152:     : _Nth_type<_Np - 3, _Rest...>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1152:     struct _Nth_type<0, _Tp0, _Tp1, _Rest...>
1152:     { using type = _Tp0; };
1152: 
1152:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1152:     struct _Nth_type<0, _Tp0, _Tp1, _Tp2, _Rest...>
1152:     { using type = _Tp0; };
1152: 
1152:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1152:     struct _Nth_type<1, _Tp0, _Tp1, _Tp2, _Rest...>
1152:     { using type = _Tp1; };
1152: 
1152: 
1152: 
1152: }
1152: # 63 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 80 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:   struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
1152: 
1152: 
1152:   inline constexpr piecewise_construct_t piecewise_construct =
1152:     piecewise_construct_t();
1152: 
1152: 
1152: 
1152: 
1152:   template<typename...>
1152:     class tuple;
1152: 
1152:   template<size_t...>
1152:     struct _Index_tuple;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <bool, typename _T1, typename _T2>
1152:     struct _PCC
1152:     {
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _ConstructiblePair()
1152:       {
1152:  return __and_<is_constructible<_T1, const _U1&>,
1152:         is_constructible<_T2, const _U2&>>::value;
1152:       }
1152: 
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _ImplicitlyConvertiblePair()
1152:       {
1152:  return __and_<is_convertible<const _U1&, _T1>,
1152:         is_convertible<const _U2&, _T2>>::value;
1152:       }
1152: 
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _MoveConstructiblePair()
1152:       {
1152:  return __and_<is_constructible<_T1, _U1&&>,
1152:         is_constructible<_T2, _U2&&>>::value;
1152:       }
1152: 
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1152:       {
1152:  return __and_<is_convertible<_U1&&, _T1>,
1152:         is_convertible<_U2&&, _T2>>::value;
1152:       }
1152:     };
1152: 
1152:   template <typename _T1, typename _T2>
1152:     struct _PCC<false, _T1, _T2>
1152:     {
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _ConstructiblePair()
1152:       {
1152:  return false;
1152:       }
1152: 
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _ImplicitlyConvertiblePair()
1152:       {
1152:  return false;
1152:       }
1152: 
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _MoveConstructiblePair()
1152:       {
1152:  return false;
1152:       }
1152: 
1152:       template <typename _U1, typename _U2>
1152:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1152:       {
1152:  return false;
1152:       }
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _U1, typename _U2> class __pair_base
1152:   {
1152: 
1152:     template<typename _T1, typename _T2> friend struct pair;
1152:     __pair_base() = default;
1152:     ~__pair_base() = default;
1152:     __pair_base(const __pair_base&) = default;
1152:     __pair_base& operator=(const __pair_base&) = delete;
1152: 
1152:   };
1152: # 184 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:   template<typename _T1, typename _T2>
1152:     struct pair
1152:     : public __pair_base<_T1, _T2>
1152:     {
1152:       typedef _T1 first_type;
1152:       typedef _T2 second_type;
1152: 
1152:       _T1 first;
1152:       _T2 second;
1152: 
1152: 
1152:       constexpr pair(const pair&) = default;
1152:       constexpr pair(pair&&) = default;
1152: 
1152:       template<typename... _Args1, typename... _Args2>
1152: 
1152:  pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
1152: 
1152: 
1152:       void
1152:       swap(pair& __p)
1152:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1152:         __is_nothrow_swappable<_T2>>::value)
1152:       {
1152:  using std::swap;
1152:  swap(first, __p.first);
1152:  swap(second, __p.second);
1152:       }
1152: 
1152:     private:
1152:       template<typename... _Args1, size_t... _Indexes1,
1152:         typename... _Args2, size_t... _Indexes2>
1152: 
1152:  pair(tuple<_Args1...>&, tuple<_Args2...>&,
1152:       _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
1152:     public:
1152: # 378 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:       template <typename _U1 = _T1,
1152:                 typename _U2 = _T2,
1152:                 typename enable_if<__and_<
1152:                                      __is_implicitly_default_constructible<_U1>,
1152:                                      __is_implicitly_default_constructible<_U2>>
1152:                                    ::value, bool>::type = true>
1152:       constexpr pair()
1152:       : first(), second() { }
1152: 
1152:       template <typename _U1 = _T1,
1152:                 typename _U2 = _T2,
1152:                 typename enable_if<__and_<
1152:                        is_default_constructible<_U1>,
1152:                        is_default_constructible<_U2>,
1152:                        __not_<
1152:                          __and_<__is_implicitly_default_constructible<_U1>,
1152:                                 __is_implicitly_default_constructible<_U2>>>>
1152:                                    ::value, bool>::type = false>
1152:       explicit constexpr pair()
1152:       : first(), second() { }
1152: 
1152: 
1152: 
1152:       using _PCCP = _PCC<true, _T1, _T2>;
1152: 
1152: 
1152: 
1152:       template<typename _U1 = _T1, typename _U2=_T2, typename
1152:         enable_if<_PCCP::template
1152:       _ConstructiblePair<_U1, _U2>()
1152:                   && _PCCP::template
1152:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1152:                          bool>::type=true>
1152:       constexpr pair(const _T1& __a, const _T2& __b)
1152:       : first(__a), second(__b) { }
1152: 
1152: 
1152:        template<typename _U1 = _T1, typename _U2=_T2, typename
1152:   enable_if<_PCCP::template
1152:        _ConstructiblePair<_U1, _U2>()
1152:                    && !_PCCP::template
1152:        _ImplicitlyConvertiblePair<_U1, _U2>(),
1152:                          bool>::type=false>
1152:       explicit constexpr pair(const _T1& __a, const _T2& __b)
1152:       : first(__a), second(__b) { }
1152: 
1152: 
1152: 
1152:       template <typename _U1, typename _U2>
1152:         using _PCCFP = _PCC<!is_same<_T1, _U1>::value
1152:        || !is_same<_T2, _U2>::value,
1152:        _T1, _T2>;
1152: 
1152: 
1152:       template<typename _U1, typename _U2, typename
1152:         enable_if<_PCCFP<_U1, _U2>::template
1152:       _ConstructiblePair<_U1, _U2>()
1152:                   && _PCCFP<_U1, _U2>::template
1152:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1152:      bool>::type=true>
1152:         constexpr pair(const pair<_U1, _U2>& __p)
1152:         : first(__p.first), second(__p.second) { }
1152: 
1152:       template<typename _U1, typename _U2, typename
1152:         enable_if<_PCCFP<_U1, _U2>::template
1152:       _ConstructiblePair<_U1, _U2>()
1152:     && !_PCCFP<_U1, _U2>::template
1152:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1152:                          bool>::type=false>
1152:  explicit constexpr pair(const pair<_U1, _U2>& __p)
1152:  : first(__p.first), second(__p.second) { }
1152: # 460 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:     private:
1152: 
1152: 
1152: 
1152:       struct __zero_as_null_pointer_constant
1152:       {
1152:  __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
1152:  { }
1152:  template<typename _Tp,
1152:    typename = __enable_if_t<is_null_pointer<_Tp>::value>>
1152:  __zero_as_null_pointer_constant(_Tp) = delete;
1152:       };
1152: 
1152:     public:
1152: 
1152: 
1152: 
1152: 
1152:       template<typename _U1,
1152:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1152:         is_pointer<_T2>,
1152:         is_constructible<_T1, _U1>,
1152:         __not_<is_constructible<_T1, const _U1&>>,
1152:         is_convertible<_U1, _T1>>::value,
1152:         bool> = true>
1152:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1152:  constexpr
1152:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1152:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1152: 
1152:       template<typename _U1,
1152:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1152:         is_pointer<_T2>,
1152:         is_constructible<_T1, _U1>,
1152:         __not_<is_constructible<_T1, const _U1&>>,
1152:         __not_<is_convertible<_U1, _T1>>>::value,
1152:         bool> = false>
1152:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1152:  explicit constexpr
1152:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1152:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1152: 
1152:       template<typename _U2,
1152:         __enable_if_t<__and_<is_pointer<_T1>,
1152:         __not_<is_reference<_U2>>,
1152:         is_constructible<_T2, _U2>,
1152:         __not_<is_constructible<_T2, const _U2&>>,
1152:         is_convertible<_U2, _T2>>::value,
1152:         bool> = true>
1152:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1152:  constexpr
1152:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1152:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1152: 
1152:       template<typename _U2,
1152:         __enable_if_t<__and_<is_pointer<_T1>,
1152:         __not_<is_reference<_U2>>,
1152:         is_constructible<_T2, _U2>,
1152:         __not_<is_constructible<_T2, const _U2&>>,
1152:         __not_<is_convertible<_U2, _T2>>>::value,
1152:         bool> = false>
1152:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1152:  explicit constexpr
1152:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1152:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1152: 
1152: 
1152: 
1152:       template<typename _U1, typename _U2, typename
1152:         enable_if<_PCCP::template
1152:       _MoveConstructiblePair<_U1, _U2>()
1152:      && _PCCP::template
1152:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1152:                          bool>::type=true>
1152:  constexpr pair(_U1&& __x, _U2&& __y)
1152:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1152: 
1152:       template<typename _U1, typename _U2, typename
1152:         enable_if<_PCCP::template
1152:       _MoveConstructiblePair<_U1, _U2>()
1152:      && !_PCCP::template
1152:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1152:                          bool>::type=false>
1152:  explicit constexpr pair(_U1&& __x, _U2&& __y)
1152:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1152: 
1152: 
1152:       template<typename _U1, typename _U2, typename
1152:         enable_if<_PCCFP<_U1, _U2>::template
1152:       _MoveConstructiblePair<_U1, _U2>()
1152:      && _PCCFP<_U1, _U2>::template
1152:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1152:                          bool>::type=true>
1152:  constexpr pair(pair<_U1, _U2>&& __p)
1152:  : first(std::forward<_U1>(__p.first)),
1152:    second(std::forward<_U2>(__p.second)) { }
1152: 
1152:       template<typename _U1, typename _U2, typename
1152:         enable_if<_PCCFP<_U1, _U2>::template
1152:       _MoveConstructiblePair<_U1, _U2>()
1152:      && !_PCCFP<_U1, _U2>::template
1152:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1152:                          bool>::type=false>
1152:  explicit constexpr pair(pair<_U1, _U2>&& __p)
1152:  : first(std::forward<_U1>(__p.first)),
1152:    second(std::forward<_U2>(__p.second)) { }
1152: 
1152:       pair&
1152:       operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
1152:            is_copy_assignable<_T2>>::value,
1152:     const pair&, const __nonesuch&> __p)
1152:       {
1152:  first = __p.first;
1152:  second = __p.second;
1152:  return *this;
1152:       }
1152: 
1152:       pair&
1152:       operator=(__conditional_t<__and_<is_move_assignable<_T1>,
1152:            is_move_assignable<_T2>>::value,
1152:     pair&&, __nonesuch&&> __p)
1152:       noexcept(__and_<is_nothrow_move_assignable<_T1>,
1152:         is_nothrow_move_assignable<_T2>>::value)
1152:       {
1152:  first = std::forward<first_type>(__p.first);
1152:  second = std::forward<second_type>(__p.second);
1152:  return *this;
1152:       }
1152: 
1152:       template<typename _U1, typename _U2>
1152:  typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
1152:       is_assignable<_T2&, const _U2&>>::value,
1152:       pair&>::type
1152:  operator=(const pair<_U1, _U2>& __p)
1152:  {
1152:    first = __p.first;
1152:    second = __p.second;
1152:    return *this;
1152:  }
1152: 
1152:       template<typename _U1, typename _U2>
1152:  typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
1152:       is_assignable<_T2&, _U2&&>>::value,
1152:       pair&>::type
1152:  operator=(pair<_U1, _U2>&& __p)
1152:  {
1152:    first = std::forward<_U1>(__p.first);
1152:    second = std::forward<_U2>(__p.second);
1152:    return *this;
1152:  }
1152: # 629 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:     };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
1152: 
1152: 
1152: 
1152:   template<typename _T1, typename _T2>
1152:     inline constexpr bool
1152:     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1152:     { return __x.first == __y.first && __x.second == __y.second; }
1152: # 661 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:   template<typename _T1, typename _T2>
1152:     inline constexpr bool
1152:     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1152:     { return __x.first < __y.first
1152:       || (!(__y.first < __x.first) && __x.second < __y.second); }
1152: 
1152: 
1152:   template<typename _T1, typename _T2>
1152:     inline constexpr bool
1152:     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1152:     { return !(__x == __y); }
1152: 
1152: 
1152:   template<typename _T1, typename _T2>
1152:     inline constexpr bool
1152:     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1152:     { return __y < __x; }
1152: 
1152: 
1152:   template<typename _T1, typename _T2>
1152:     inline constexpr bool
1152:     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1152:     { return !(__y < __x); }
1152: 
1152: 
1152:   template<typename _T1, typename _T2>
1152:     inline constexpr bool
1152:     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1152:     { return !(__x < __y); }
1152: # 698 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:   template<typename _T1, typename _T2>
1152:     inline
1152: 
1152: 
1152:     typename enable_if<__and_<__is_swappable<_T1>,
1152:                               __is_swappable<_T2>>::value>::type
1152: 
1152: 
1152: 
1152:     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
1152:     noexcept(noexcept(__x.swap(__y)))
1152:     { __x.swap(__y); }
1152: 
1152: 
1152:   template<typename _T1, typename _T2>
1152:     typename enable_if<!__and_<__is_swappable<_T1>,
1152:           __is_swappable<_T2>>::value>::type
1152:     swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
1152: # 738 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:   template<typename _T1, typename _T2>
1152:     constexpr pair<typename __decay_and_strip<_T1>::__type,
1152:                    typename __decay_and_strip<_T2>::__type>
1152:     make_pair(_T1&& __x, _T2&& __y)
1152:     {
1152:       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
1152:       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
1152:       typedef pair<__ds_type1, __ds_type2> __pair_type;
1152:       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
1152:     }
1152: # 760 "/usr/include/c++/12/bits/stl_pair.h" 3
1152:   template<typename _T1, typename _T2>
1152:     struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
1152:     { };
1152: 
1152: 
1152:   template<class _Tp1, class _Tp2>
1152:     struct tuple_size<pair<_Tp1, _Tp2>>
1152:     : public integral_constant<size_t, 2> { };
1152: 
1152: 
1152:   template<class _Tp1, class _Tp2>
1152:     struct tuple_element<0, pair<_Tp1, _Tp2>>
1152:     { typedef _Tp1 type; };
1152: 
1152: 
1152:   template<class _Tp1, class _Tp2>
1152:     struct tuple_element<1, pair<_Tp1, _Tp2>>
1152:     { typedef _Tp2 type; };
1152: 
1152: 
1152:   template<typename _Tp1, typename _Tp2>
1152:     inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
1152: 
1152:   template<typename _Tp1, typename _Tp2>
1152:     inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
1152: 
1152:   template<typename _Tp>
1152:     inline constexpr bool __is_pair = false;
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     inline constexpr bool __is_pair<const pair<_Tp, _Up>> = true;
1152: 
1152: 
1152: 
1152:   template<size_t _Int>
1152:     struct __pair_get;
1152: 
1152:   template<>
1152:     struct __pair_get<0>
1152:     {
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr _Tp1&
1152:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1152:  { return __pair.first; }
1152: 
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr _Tp1&&
1152:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1152:  { return std::forward<_Tp1>(__pair.first); }
1152: 
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr const _Tp1&
1152:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1152:  { return __pair.first; }
1152: 
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr const _Tp1&&
1152:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1152:  { return std::forward<const _Tp1>(__pair.first); }
1152:     };
1152: 
1152:   template<>
1152:     struct __pair_get<1>
1152:     {
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr _Tp2&
1152:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1152:  { return __pair.second; }
1152: 
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr _Tp2&&
1152:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1152:  { return std::forward<_Tp2>(__pair.second); }
1152: 
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr const _Tp2&
1152:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1152:  { return __pair.second; }
1152: 
1152:       template<typename _Tp1, typename _Tp2>
1152:  static constexpr const _Tp2&&
1152:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1152:  { return std::forward<const _Tp2>(__pair.second); }
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<size_t _Int, class _Tp1, class _Tp2>
1152:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1152:     get(pair<_Tp1, _Tp2>& __in) noexcept
1152:     { return __pair_get<_Int>::__get(__in); }
1152: 
1152:   template<size_t _Int, class _Tp1, class _Tp2>
1152:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1152:     get(pair<_Tp1, _Tp2>&& __in) noexcept
1152:     { return __pair_get<_Int>::__move_get(std::move(__in)); }
1152: 
1152:   template<size_t _Int, class _Tp1, class _Tp2>
1152:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1152:     get(const pair<_Tp1, _Tp2>& __in) noexcept
1152:     { return __pair_get<_Int>::__const_get(__in); }
1152: 
1152:   template<size_t _Int, class _Tp1, class _Tp2>
1152:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1152:     get(const pair<_Tp1, _Tp2>&& __in) noexcept
1152:     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr _Tp&
1152:     get(pair<_Tp, _Up>& __p) noexcept
1152:     { return __p.first; }
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr const _Tp&
1152:     get(const pair<_Tp, _Up>& __p) noexcept
1152:     { return __p.first; }
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr _Tp&&
1152:     get(pair<_Tp, _Up>&& __p) noexcept
1152:     { return std::move(__p.first); }
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr const _Tp&&
1152:     get(const pair<_Tp, _Up>&& __p) noexcept
1152:     { return std::move(__p.first); }
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr _Tp&
1152:     get(pair<_Up, _Tp>& __p) noexcept
1152:     { return __p.second; }
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr const _Tp&
1152:     get(const pair<_Up, _Tp>& __p) noexcept
1152:     { return __p.second; }
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr _Tp&&
1152:     get(pair<_Up, _Tp>&& __p) noexcept
1152:     { return std::move(__p.second); }
1152: 
1152:   template <typename _Tp, typename _Up>
1152:     constexpr const _Tp&&
1152:     get(const pair<_Up, _Tp>&& __p) noexcept
1152:     { return std::move(__p.second); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 65 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/debug/debug.h" 1 3
1152: # 48 "/usr/include/c++/12/debug/debug.h" 3
1152: namespace std
1152: {
1152:   namespace __debug { }
1152: }
1152: 
1152: 
1152: 
1152: 
1152: namespace __gnu_debug
1152: {
1152:   using namespace std::__debug;
1152: 
1152:   template<typename _Ite, typename _Seq, typename _Cat>
1152:     struct _Safe_iterator;
1152: }
1152: # 70 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1152: 
1152: # 1 "/usr/include/c++/12/bits/predefined_ops.h" 1 3
1152: # 35 "/usr/include/c++/12/bits/predefined_ops.h" 3
1152: namespace __gnu_cxx
1152: {
1152: namespace __ops
1152: {
1152:   struct _Iter_less_iter
1152:   {
1152:     template<typename _Iterator1, typename _Iterator2>
1152:       constexpr
1152:       bool
1152:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1152:       { return *__it1 < *__it2; }
1152:   };
1152: 
1152:   constexpr
1152:   inline _Iter_less_iter
1152:   __iter_less_iter()
1152:   { return _Iter_less_iter(); }
1152: 
1152:   struct _Iter_less_val
1152:   {
1152: 
1152:     constexpr _Iter_less_val() = default;
1152: 
1152: 
1152: 
1152: 
1152:    
1152:     explicit
1152:     _Iter_less_val(_Iter_less_iter) { }
1152: 
1152:     template<typename _Iterator, typename _Value>
1152:      
1152:       bool
1152:       operator()(_Iterator __it, _Value& __val) const
1152:       { return *__it < __val; }
1152:   };
1152: 
1152:  
1152:   inline _Iter_less_val
1152:   __iter_less_val()
1152:   { return _Iter_less_val(); }
1152: 
1152:  
1152:   inline _Iter_less_val
1152:   __iter_comp_val(_Iter_less_iter)
1152:   { return _Iter_less_val(); }
1152: 
1152:   struct _Val_less_iter
1152:   {
1152: 
1152:     constexpr _Val_less_iter() = default;
1152: 
1152: 
1152: 
1152: 
1152:    
1152:     explicit
1152:     _Val_less_iter(_Iter_less_iter) { }
1152: 
1152:     template<typename _Value, typename _Iterator>
1152:      
1152:       bool
1152:       operator()(_Value& __val, _Iterator __it) const
1152:       { return __val < *__it; }
1152:   };
1152: 
1152:  
1152:   inline _Val_less_iter
1152:   __val_less_iter()
1152:   { return _Val_less_iter(); }
1152: 
1152:  
1152:   inline _Val_less_iter
1152:   __val_comp_iter(_Iter_less_iter)
1152:   { return _Val_less_iter(); }
1152: 
1152:   struct _Iter_equal_to_iter
1152:   {
1152:     template<typename _Iterator1, typename _Iterator2>
1152:      
1152:       bool
1152:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1152:       { return *__it1 == *__it2; }
1152:   };
1152: 
1152:  
1152:   inline _Iter_equal_to_iter
1152:   __iter_equal_to_iter()
1152:   { return _Iter_equal_to_iter(); }
1152: 
1152:   struct _Iter_equal_to_val
1152:   {
1152:     template<typename _Iterator, typename _Value>
1152:      
1152:       bool
1152:       operator()(_Iterator __it, _Value& __val) const
1152:       { return *__it == __val; }
1152:   };
1152: 
1152:  
1152:   inline _Iter_equal_to_val
1152:   __iter_equal_to_val()
1152:   { return _Iter_equal_to_val(); }
1152: 
1152:  
1152:   inline _Iter_equal_to_val
1152:   __iter_comp_val(_Iter_equal_to_iter)
1152:   { return _Iter_equal_to_val(); }
1152: 
1152:   template<typename _Compare>
1152:     struct _Iter_comp_iter
1152:     {
1152:       _Compare _M_comp;
1152: 
1152:       explicit constexpr
1152:       _Iter_comp_iter(_Compare __comp)
1152:  : _M_comp(std::move(__comp))
1152:       { }
1152: 
1152:       template<typename _Iterator1, typename _Iterator2>
1152:         constexpr
1152:         bool
1152:         operator()(_Iterator1 __it1, _Iterator2 __it2)
1152:         { return bool(_M_comp(*__it1, *__it2)); }
1152:     };
1152: 
1152:   template<typename _Compare>
1152:     constexpr
1152:     inline _Iter_comp_iter<_Compare>
1152:     __iter_comp_iter(_Compare __comp)
1152:     { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
1152: 
1152:   template<typename _Compare>
1152:     struct _Iter_comp_val
1152:     {
1152:       _Compare _M_comp;
1152: 
1152:      
1152:       explicit
1152:       _Iter_comp_val(_Compare __comp)
1152:  : _M_comp(std::move(__comp))
1152:       { }
1152: 
1152:      
1152:       explicit
1152:       _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
1152:  : _M_comp(__comp._M_comp)
1152:       { }
1152: 
1152: 
1152:      
1152:       explicit
1152:       _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
1152:  : _M_comp(std::move(__comp._M_comp))
1152:       { }
1152: 
1152: 
1152:       template<typename _Iterator, typename _Value>
1152: 
1152:  bool
1152:  operator()(_Iterator __it, _Value& __val)
1152:  { return bool(_M_comp(*__it, __val)); }
1152:     };
1152: 
1152:   template<typename _Compare>
1152:    
1152:     inline _Iter_comp_val<_Compare>
1152:     __iter_comp_val(_Compare __comp)
1152:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1152: 
1152:   template<typename _Compare>
1152:    
1152:     inline _Iter_comp_val<_Compare>
1152:     __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
1152:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1152: 
1152:   template<typename _Compare>
1152:     struct _Val_comp_iter
1152:     {
1152:       _Compare _M_comp;
1152: 
1152:      
1152:       explicit
1152:       _Val_comp_iter(_Compare __comp)
1152:  : _M_comp(std::move(__comp))
1152:       { }
1152: 
1152:      
1152:       explicit
1152:       _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
1152:  : _M_comp(__comp._M_comp)
1152:       { }
1152: 
1152: 
1152:      
1152:       explicit
1152:       _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
1152:  : _M_comp(std::move(__comp._M_comp))
1152:       { }
1152: 
1152: 
1152:       template<typename _Value, typename _Iterator>
1152: 
1152:  bool
1152:  operator()(_Value& __val, _Iterator __it)
1152:  { return bool(_M_comp(__val, *__it)); }
1152:     };
1152: 
1152:   template<typename _Compare>
1152:    
1152:     inline _Val_comp_iter<_Compare>
1152:     __val_comp_iter(_Compare __comp)
1152:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1152: 
1152:   template<typename _Compare>
1152:    
1152:     inline _Val_comp_iter<_Compare>
1152:     __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
1152:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1152: 
1152:   template<typename _Value>
1152:     struct _Iter_equals_val
1152:     {
1152:       _Value& _M_value;
1152: 
1152:      
1152:       explicit
1152:       _Iter_equals_val(_Value& __value)
1152:  : _M_value(__value)
1152:       { }
1152: 
1152:       template<typename _Iterator>
1152: 
1152:  bool
1152:  operator()(_Iterator __it)
1152:  { return *__it == _M_value; }
1152:     };
1152: 
1152:   template<typename _Value>
1152:    
1152:     inline _Iter_equals_val<_Value>
1152:     __iter_equals_val(_Value& __val)
1152:     { return _Iter_equals_val<_Value>(__val); }
1152: 
1152:   template<typename _Iterator1>
1152:     struct _Iter_equals_iter
1152:     {
1152:       _Iterator1 _M_it1;
1152: 
1152:      
1152:       explicit
1152:       _Iter_equals_iter(_Iterator1 __it1)
1152:  : _M_it1(__it1)
1152:       { }
1152: 
1152:       template<typename _Iterator2>
1152: 
1152:  bool
1152:  operator()(_Iterator2 __it2)
1152:  { return *__it2 == *_M_it1; }
1152:     };
1152: 
1152:   template<typename _Iterator>
1152:    
1152:     inline _Iter_equals_iter<_Iterator>
1152:     __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
1152:     { return _Iter_equals_iter<_Iterator>(__it); }
1152: 
1152:   template<typename _Predicate>
1152:     struct _Iter_pred
1152:     {
1152:       _Predicate _M_pred;
1152: 
1152:      
1152:       explicit
1152:       _Iter_pred(_Predicate __pred)
1152:  : _M_pred(std::move(__pred))
1152:       { }
1152: 
1152:       template<typename _Iterator>
1152: 
1152:  bool
1152:  operator()(_Iterator __it)
1152:  { return bool(_M_pred(*__it)); }
1152:     };
1152: 
1152:   template<typename _Predicate>
1152:    
1152:     inline _Iter_pred<_Predicate>
1152:     __pred_iter(_Predicate __pred)
1152:     { return _Iter_pred<_Predicate>(std::move(__pred)); }
1152: 
1152:   template<typename _Compare, typename _Value>
1152:     struct _Iter_comp_to_val
1152:     {
1152:       _Compare _M_comp;
1152:       _Value& _M_value;
1152: 
1152:      
1152:       _Iter_comp_to_val(_Compare __comp, _Value& __value)
1152:  : _M_comp(std::move(__comp)), _M_value(__value)
1152:       { }
1152: 
1152:       template<typename _Iterator>
1152: 
1152:  bool
1152:  operator()(_Iterator __it)
1152:  { return bool(_M_comp(*__it, _M_value)); }
1152:     };
1152: 
1152:   template<typename _Compare, typename _Value>
1152:     _Iter_comp_to_val<_Compare, _Value>
1152:    
1152:     __iter_comp_val(_Compare __comp, _Value &__val)
1152:     {
1152:       return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
1152:     }
1152: 
1152:   template<typename _Compare, typename _Iterator1>
1152:     struct _Iter_comp_to_iter
1152:     {
1152:       _Compare _M_comp;
1152:       _Iterator1 _M_it1;
1152: 
1152:      
1152:       _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
1152:  : _M_comp(std::move(__comp)), _M_it1(__it1)
1152:       { }
1152: 
1152:       template<typename _Iterator2>
1152: 
1152:  bool
1152:  operator()(_Iterator2 __it2)
1152:  { return bool(_M_comp(*__it2, *_M_it1)); }
1152:     };
1152: 
1152:   template<typename _Compare, typename _Iterator>
1152:    
1152:     inline _Iter_comp_to_iter<_Compare, _Iterator>
1152:     __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
1152:     {
1152:       return _Iter_comp_to_iter<_Compare, _Iterator>(
1152:    std::move(__comp._M_comp), __it);
1152:     }
1152: 
1152:   template<typename _Predicate>
1152:     struct _Iter_negate
1152:     {
1152:       _Predicate _M_pred;
1152: 
1152:      
1152:       explicit
1152:       _Iter_negate(_Predicate __pred)
1152:  : _M_pred(std::move(__pred))
1152:       { }
1152: 
1152:       template<typename _Iterator>
1152: 
1152:  bool
1152:  operator()(_Iterator __it)
1152:  { return !bool(_M_pred(*__it)); }
1152:     };
1152: 
1152:   template<typename _Predicate>
1152:    
1152:     inline _Iter_negate<_Predicate>
1152:     __negate(_Iter_pred<_Predicate> __pred)
1152:     { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
1152: 
1152: }
1152: }
1152: # 72 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Up>
1152:     constexpr
1152:     inline int
1152:     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
1152:     {
1152: 
1152:       static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
1152: # 105 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:  return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
1152:     }
1152: # 149 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1152:    
1152:     inline void
1152:     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
1152:     {
1152: 
1152:      
1152: 
1152:      
1152: # 182 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:       swap(*__a, *__b);
1152: 
1152:     }
1152: # 198 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1152:    
1152:     _ForwardIterator2
1152:     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1152:   _ForwardIterator2 __first2)
1152:     {
1152: 
1152:      
1152: 
1152:      
1152: 
1152:       ;
1152: 
1152:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1152:  std::iter_swap(__first1, __first2);
1152:       return __first2;
1152:     }
1152: # 227 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _Tp>
1152:     constexpr
1152:     inline const _Tp&
1152:     min(const _Tp& __a, const _Tp& __b)
1152:     {
1152: 
1152:      
1152: 
1152:       if (__b < __a)
1152:  return __b;
1152:       return __a;
1152:     }
1152: # 251 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _Tp>
1152:     constexpr
1152:     inline const _Tp&
1152:     max(const _Tp& __a, const _Tp& __b)
1152:     {
1152: 
1152:      
1152: 
1152:       if (__a < __b)
1152:  return __b;
1152:       return __a;
1152:     }
1152: # 275 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _Tp, typename _Compare>
1152:     constexpr
1152:     inline const _Tp&
1152:     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
1152:     {
1152: 
1152:       if (__comp(__b, __a))
1152:  return __b;
1152:       return __a;
1152:     }
1152: # 297 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _Tp, typename _Compare>
1152:     constexpr
1152:     inline const _Tp&
1152:     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
1152:     {
1152: 
1152:       if (__comp(__a, __b))
1152:  return __b;
1152:       return __a;
1152:     }
1152: 
1152: 
1152: 
1152:   template<typename _Iterator>
1152:    
1152:     inline _Iterator
1152:     __niter_base(_Iterator __it)
1152:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1152:     { return __it; }
1152: 
1152:   template<typename _Ite, typename _Seq>
1152:     _Ite
1152:     __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
1152:    std::random_access_iterator_tag>&);
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _From, typename _To>
1152:    
1152:     inline _From
1152:     __niter_wrap(_From __from, _To __res)
1152:     { return __from + (__res - std::__niter_base(__from)); }
1152: 
1152: 
1152:   template<typename _Iterator>
1152:    
1152:     inline _Iterator
1152:     __niter_wrap(const _Iterator&, _Iterator __res)
1152:     { return __res; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<bool _IsMove, bool _IsSimple, typename _Category>
1152:     struct __copy_move
1152:     {
1152:       template<typename _II, typename _OI>
1152: 
1152:  static _OI
1152:  __copy_m(_II __first, _II __last, _OI __result)
1152:  {
1152:    for (; __first != __last; ++__result, (void)++__first)
1152:      *__result = *__first;
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<typename _Category>
1152:     struct __copy_move<true, false, _Category>
1152:     {
1152:       template<typename _II, typename _OI>
1152: 
1152:  static _OI
1152:  __copy_m(_II __first, _II __last, _OI __result)
1152:  {
1152:    for (; __first != __last; ++__result, (void)++__first)
1152:      *__result = std::move(*__first);
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __copy_move<false, false, random_access_iterator_tag>
1152:     {
1152:       template<typename _II, typename _OI>
1152: 
1152:  static _OI
1152:  __copy_m(_II __first, _II __last, _OI __result)
1152:  {
1152:    typedef typename iterator_traits<_II>::difference_type _Distance;
1152:    for(_Distance __n = __last - __first; __n > 0; --__n)
1152:      {
1152:        *__result = *__first;
1152:        ++__first;
1152:        ++__result;
1152:      }
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __copy_move<true, false, random_access_iterator_tag>
1152:     {
1152:       template<typename _II, typename _OI>
1152: 
1152:  static _OI
1152:  __copy_m(_II __first, _II __last, _OI __result)
1152:  {
1152:    typedef typename iterator_traits<_II>::difference_type _Distance;
1152:    for(_Distance __n = __last - __first; __n > 0; --__n)
1152:      {
1152:        *__result = std::move(*__first);
1152:        ++__first;
1152:        ++__result;
1152:      }
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<bool _IsMove>
1152:     struct __copy_move<_IsMove, true, random_access_iterator_tag>
1152:     {
1152:       template<typename _Tp>
1152: 
1152:  static _Tp*
1152:  __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
1152:  {
1152: 
1152:    using __assignable = __conditional_t<_IsMove,
1152:             is_move_assignable<_Tp>,
1152:             is_copy_assignable<_Tp>>;
1152: 
1152:    static_assert( __assignable::value, "type must be assignable" );
1152: 
1152:    const ptrdiff_t _Num = __last - __first;
1152:    if (_Num)
1152:      __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
1152:    return __result + _Num;
1152:  }
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename _Ref, typename _Ptr>
1152:     struct _Deque_iterator;
1152: 
1152:   struct _Bit_iterator;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT>
1152:     struct char_traits;
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     class istreambuf_iterator;
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     class ostreambuf_iterator;
1152: 
1152:   template<bool _IsMove, typename _CharT>
1152:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1152:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1152:     __copy_move_a2(_CharT*, _CharT*,
1152:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1152: 
1152:   template<bool _IsMove, typename _CharT>
1152:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1152:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1152:     __copy_move_a2(const _CharT*, const _CharT*,
1152:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1152: 
1152:   template<bool _IsMove, typename _CharT>
1152:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1152:         _CharT*>::__type
1152:     __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1152:      istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
1152: 
1152:   template<bool _IsMove, typename _CharT>
1152:     typename __gnu_cxx::__enable_if<
1152:       __is_char<_CharT>::__value,
1152:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1152:     __copy_move_a2(
1152:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1152:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1152:  std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
1152: 
1152:   template<bool _IsMove, typename _II, typename _OI>
1152:    
1152:     inline _OI
1152:     __copy_move_a2(_II __first, _II __last, _OI __result)
1152:     {
1152:       typedef typename iterator_traits<_II>::iterator_category _Category;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value,
1152:          _Category>::__copy_m(__first, __last, __result);
1152:     }
1152: 
1152:   template<bool _IsMove,
1152:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1152:     _OI
1152:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1152:      std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1152:      _OI);
1152: 
1152:   template<bool _IsMove,
1152:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1152:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1152:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1152:      std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1152:      std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1152: 
1152:   template<bool _IsMove, typename _II, typename _Tp>
1152:     typename __gnu_cxx::__enable_if<
1152:       __is_random_access_iter<_II>::__value,
1152:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1152:     __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1152: 
1152:   template<bool _IsMove, typename _II, typename _OI>
1152:    
1152:     inline _OI
1152:     __copy_move_a1(_II __first, _II __last, _OI __result)
1152:     { return std::__copy_move_a2<_IsMove>(__first, __last, __result); }
1152: 
1152:   template<bool _IsMove, typename _II, typename _OI>
1152:    
1152:     inline _OI
1152:     __copy_move_a(_II __first, _II __last, _OI __result)
1152:     {
1152:       return std::__niter_wrap(__result,
1152:   std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
1152:           std::__niter_base(__last),
1152:           std::__niter_base(__result)));
1152:     }
1152: 
1152:   template<bool _IsMove,
1152:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1152:     _OI
1152:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1152:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1152:     _OI);
1152: 
1152:   template<bool _IsMove,
1152:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1152:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1152:     __copy_move_a(_II, _II,
1152:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1152: 
1152:   template<bool _IsMove,
1152:     typename _IIte, typename _ISeq, typename _ICat,
1152:     typename _OIte, typename _OSeq, typename _OCat>
1152:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1152:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1152:     const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1152:     const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1152: 
1152:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1152:    
1152:     _OutputIterator
1152:     __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
1152:         bool)
1152:     {
1152:       if (__n > 0)
1152:  {
1152:    while (true)
1152:      {
1152:        *__result = *__first;
1152:        ++__result;
1152:        if (--__n > 0)
1152:   ++__first;
1152:        else
1152:   break;
1152:      }
1152:  }
1152:       return __result;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Size>
1152:     typename __gnu_cxx::__enable_if<
1152:       __is_char<_CharT>::__value, _CharT*>::__type
1152:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1152:         _Size, _CharT*, bool);
1152: 
1152:   template<typename _CharT, typename _Size>
1152:     typename __gnu_cxx::__enable_if<
1152:       __is_char<_CharT>::__value,
1152:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1152:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
1152:         std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
1152:         bool);
1152: # 608 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _II, typename _OI>
1152:    
1152:     inline _OI
1152:     copy(_II __first, _II __last, _OI __result)
1152:     {
1152: 
1152:      
1152:      
1152: 
1152:       ;
1152: 
1152:       return std::__copy_move_a<__is_move_iterator<_II>::__value>
1152:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1152:     }
1152: # 641 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _II, typename _OI>
1152:    
1152:     inline _OI
1152:     move(_II __first, _II __last, _OI __result)
1152:     {
1152: 
1152:      
1152:      
1152: 
1152:       ;
1152: 
1152:       return std::__copy_move_a<true>(std::__miter_base(__first),
1152:           std::__miter_base(__last), __result);
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<bool _IsMove, bool _IsSimple, typename _Category>
1152:     struct __copy_move_backward
1152:     {
1152:       template<typename _BI1, typename _BI2>
1152: 
1152:  static _BI2
1152:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1152:  {
1152:    while (__first != __last)
1152:      *--__result = *--__last;
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<typename _Category>
1152:     struct __copy_move_backward<true, false, _Category>
1152:     {
1152:       template<typename _BI1, typename _BI2>
1152: 
1152:  static _BI2
1152:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1152:  {
1152:    while (__first != __last)
1152:      *--__result = std::move(*--__last);
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __copy_move_backward<false, false, random_access_iterator_tag>
1152:     {
1152:       template<typename _BI1, typename _BI2>
1152: 
1152:  static _BI2
1152:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1152:  {
1152:    typename iterator_traits<_BI1>::difference_type
1152:      __n = __last - __first;
1152:    for (; __n > 0; --__n)
1152:      *--__result = *--__last;
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct __copy_move_backward<true, false, random_access_iterator_tag>
1152:     {
1152:       template<typename _BI1, typename _BI2>
1152: 
1152:  static _BI2
1152:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1152:  {
1152:    typename iterator_traits<_BI1>::difference_type
1152:      __n = __last - __first;
1152:    for (; __n > 0; --__n)
1152:      *--__result = std::move(*--__last);
1152:    return __result;
1152:  }
1152:     };
1152: 
1152: 
1152:   template<bool _IsMove>
1152:     struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
1152:     {
1152:       template<typename _Tp>
1152: 
1152:  static _Tp*
1152:  __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
1152:  {
1152: 
1152:    using __assignable = __conditional_t<_IsMove,
1152:             is_move_assignable<_Tp>,
1152:             is_copy_assignable<_Tp>>;
1152: 
1152:    static_assert( __assignable::value, "type must be assignable" );
1152: 
1152:    const ptrdiff_t _Num = __last - __first;
1152:    if (_Num)
1152:      __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
1152:    return __result - _Num;
1152:  }
1152:     };
1152: 
1152:   template<bool _IsMove, typename _BI1, typename _BI2>
1152:    
1152:     inline _BI2
1152:     __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
1152:     {
1152:       typedef typename iterator_traits<_BI1>::iterator_category _Category;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       return std::__copy_move_backward<_IsMove,
1152:            __memcpyable<_BI2, _BI1>::__value,
1152:            _Category>::__copy_move_b(__first,
1152:          __last,
1152:          __result);
1152:     }
1152: 
1152:   template<bool _IsMove, typename _BI1, typename _BI2>
1152:    
1152:     inline _BI2
1152:     __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
1152:     { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
1152: 
1152:   template<bool _IsMove,
1152:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1152:     _OI
1152:     __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1152:        std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1152:        _OI);
1152: 
1152:   template<bool _IsMove,
1152:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1152:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1152:     __copy_move_backward_a1(
1152:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1152:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1152:    std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1152: 
1152:   template<bool _IsMove, typename _II, typename _Tp>
1152:     typename __gnu_cxx::__enable_if<
1152:       __is_random_access_iter<_II>::__value,
1152:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1152:     __copy_move_backward_a1(_II, _II,
1152:        std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1152: 
1152:   template<bool _IsMove, typename _II, typename _OI>
1152:    
1152:     inline _OI
1152:     __copy_move_backward_a(_II __first, _II __last, _OI __result)
1152:     {
1152:       return std::__niter_wrap(__result,
1152:   std::__copy_move_backward_a1<_IsMove>
1152:     (std::__niter_base(__first), std::__niter_base(__last),
1152:      std::__niter_base(__result)));
1152:     }
1152: 
1152:   template<bool _IsMove,
1152:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1152:     _OI
1152:     __copy_move_backward_a(
1152:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1152:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1152:   _OI);
1152: 
1152:   template<bool _IsMove,
1152:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1152:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1152:     __copy_move_backward_a(_II, _II,
1152:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1152: 
1152:   template<bool _IsMove,
1152:     typename _IIte, typename _ISeq, typename _ICat,
1152:     typename _OIte, typename _OSeq, typename _OCat>
1152:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1152:     __copy_move_backward_a(
1152:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1152:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1152:   const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1152: # 845 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _BI1, typename _BI2>
1152:    
1152:     inline _BI2
1152:     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1152:     {
1152: 
1152:      
1152:      
1152:      
1152: 
1152:       ;
1152: 
1152:       return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
1152:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1152:     }
1152: # 880 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _BI1, typename _BI2>
1152:    
1152:     inline _BI2
1152:     move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1152:     {
1152: 
1152:      
1152:      
1152:      
1152: 
1152:       ;
1152: 
1152:       return std::__copy_move_backward_a<true>(std::__miter_base(__first),
1152:             std::__miter_base(__last),
1152:             __result);
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _ForwardIterator, typename _Tp>
1152:    
1152:     inline typename
1152:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
1152:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1152:        const _Tp& __value)
1152:     {
1152:       for (; __first != __last; ++__first)
1152:  *__first = __value;
1152:     }
1152: 
1152:   template<typename _ForwardIterator, typename _Tp>
1152:    
1152:     inline typename
1152:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
1152:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1152:        const _Tp& __value)
1152:     {
1152:       const _Tp __tmp = __value;
1152:       for (; __first != __last; ++__first)
1152:  *__first = __tmp;
1152:     }
1152: 
1152: 
1152:   template<typename _Tp>
1152:    
1152:     inline typename
1152:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
1152:     __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c)
1152:     {
1152:       const _Tp __tmp = __c;
1152: # 941 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:       if (const size_t __len = __last - __first)
1152:  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
1152:     }
1152: 
1152:   template<typename _Ite, typename _Cont, typename _Tp>
1152:    
1152:     inline void
1152:     __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
1152:        ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
1152:        const _Tp& __value)
1152:     { std::__fill_a1(__first.base(), __last.base(), __value); }
1152: 
1152:   template<typename _Tp, typename _VTp>
1152:     void
1152:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1152:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1152:        const _VTp&);
1152: 
1152:  
1152:   void
1152:   __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
1152:      const bool&);
1152: 
1152:   template<typename _FIte, typename _Tp>
1152:    
1152:     inline void
1152:     __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
1152:     { std::__fill_a1(__first, __last, __value); }
1152: 
1152:   template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
1152:     void
1152:     __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1152:       const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1152:       const _Tp&);
1152: # 988 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _ForwardIterator, typename _Tp>
1152:    
1152:     inline void
1152:     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
1152:     {
1152: 
1152:      
1152: 
1152:       ;
1152: 
1152:       std::__fill_a(__first, __last, __value);
1152:     }
1152: 
1152: 
1152:   inline constexpr int
1152:   __size_to_integer(int __n) { return __n; }
1152:   inline constexpr unsigned
1152:   __size_to_integer(unsigned __n) { return __n; }
1152:   inline constexpr long
1152:   __size_to_integer(long __n) { return __n; }
1152:   inline constexpr unsigned long
1152:   __size_to_integer(unsigned long __n) { return __n; }
1152:   inline constexpr long long
1152:   __size_to_integer(long long __n) { return __n; }
1152:   inline constexpr unsigned long long
1152:   __size_to_integer(unsigned long long __n) { return __n; }
1152: # 1040 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   inline constexpr long long
1152:   __size_to_integer(float __n) { return (long long)__n; }
1152:   inline constexpr long long
1152:   __size_to_integer(double __n) { return (long long)__n; }
1152:   inline constexpr long long
1152:   __size_to_integer(long double __n) { return (long long)__n; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _OutputIterator, typename _Size, typename _Tp>
1152:    
1152:     inline typename
1152:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
1152:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1152:     {
1152:       for (; __n > 0; --__n, (void) ++__first)
1152:  *__first = __value;
1152:       return __first;
1152:     }
1152: 
1152:   template<typename _OutputIterator, typename _Size, typename _Tp>
1152:    
1152:     inline typename
1152:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
1152:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1152:     {
1152:       const _Tp __tmp = __value;
1152:       for (; __n > 0; --__n, (void) ++__first)
1152:  *__first = __tmp;
1152:       return __first;
1152:     }
1152: 
1152:   template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
1152:     typename _Tp>
1152:     ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1152:     __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
1152:         _Size __n, const _Tp& __value,
1152:         std::input_iterator_tag);
1152: 
1152:   template<typename _OutputIterator, typename _Size, typename _Tp>
1152:    
1152:     inline _OutputIterator
1152:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1152:         std::output_iterator_tag)
1152:     {
1152: 
1152:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1152: 
1152:       return __fill_n_a1(__first, __n, __value);
1152:     }
1152: 
1152:   template<typename _OutputIterator, typename _Size, typename _Tp>
1152:    
1152:     inline _OutputIterator
1152:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1152:         std::input_iterator_tag)
1152:     {
1152: 
1152:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1152: 
1152:       return __fill_n_a1(__first, __n, __value);
1152:     }
1152: 
1152:   template<typename _OutputIterator, typename _Size, typename _Tp>
1152:    
1152:     inline _OutputIterator
1152:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1152:         std::random_access_iterator_tag)
1152:     {
1152: 
1152:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1152: 
1152:       if (__n <= 0)
1152:  return __first;
1152: 
1152:       ;
1152: 
1152:       std::__fill_a(__first, __first + __n, __value);
1152:       return __first + __n;
1152:     }
1152: # 1140 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _OI, typename _Size, typename _Tp>
1152:    
1152:     inline _OI
1152:     fill_n(_OI __first, _Size __n, const _Tp& __value)
1152:     {
1152: 
1152:      
1152: 
1152:       return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
1152:           std::__iterator_category(__first));
1152:     }
1152: 
1152:   template<bool _BoolType>
1152:     struct __equal
1152:     {
1152:       template<typename _II1, typename _II2>
1152: 
1152:  static bool
1152:  equal(_II1 __first1, _II1 __last1, _II2 __first2)
1152:  {
1152:    for (; __first1 != __last1; ++__first1, (void) ++__first2)
1152:      if (!(*__first1 == *__first2))
1152:        return false;
1152:    return true;
1152:  }
1152:     };
1152: 
1152:   template<>
1152:     struct __equal<true>
1152:     {
1152:       template<typename _Tp>
1152: 
1152:  static bool
1152:  equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
1152:  {
1152:    if (const size_t __len = (__last1 - __first1))
1152:      return !std::__memcmp(__first1, __first2, __len);
1152:    return true;
1152:  }
1152:     };
1152: 
1152:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1152:     typename __gnu_cxx::__enable_if<
1152:       __is_random_access_iter<_II>::__value, bool>::__type
1152:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1152:    std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1152:    _II);
1152: 
1152:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1152:     typename _Tp2, typename _Ref2, typename _Ptr2>
1152:     bool
1152:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1152:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1152:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1152: 
1152:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1152:     typename __gnu_cxx::__enable_if<
1152:       __is_random_access_iter<_II>::__value, bool>::__type
1152:     __equal_aux1(_II, _II,
1152:   std::_Deque_iterator<_Tp, _Ref, _Ptr>);
1152: 
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
1152:     {
1152:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1152:       const bool __simple = ((__is_integer<_ValueType1>::__value
1152:          || __is_pointer<_ValueType1>::__value)
1152:         && __memcmpable<_II1, _II2>::__value);
1152:       return std::__equal<__simple>::equal(__first1, __last1, __first2);
1152:     }
1152: 
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
1152:     {
1152:       return std::__equal_aux1(std::__niter_base(__first1),
1152:           std::__niter_base(__last1),
1152:           std::__niter_base(__first2));
1152:     }
1152: 
1152:   template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
1152:     bool
1152:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1152:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1152:   _II2);
1152: 
1152:   template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
1152:     bool
1152:     __equal_aux(_II1, _II1,
1152:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1152: 
1152:   template<typename _II1, typename _Seq1, typename _Cat1,
1152:     typename _II2, typename _Seq2, typename _Cat2>
1152:     bool
1152:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1152:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1152:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1152: 
1152:   template<typename, typename>
1152:     struct __lc_rai
1152:     {
1152:       template<typename _II1, typename _II2>
1152: 
1152:  static _II1
1152:  __newlast1(_II1, _II1 __last1, _II2, _II2)
1152:  { return __last1; }
1152: 
1152:       template<typename _II>
1152: 
1152:  static bool
1152:  __cnd2(_II __first, _II __last)
1152:  { return __first != __last; }
1152:     };
1152: 
1152:   template<>
1152:     struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
1152:     {
1152:       template<typename _RAI1, typename _RAI2>
1152: 
1152:  static _RAI1
1152:  __newlast1(_RAI1 __first1, _RAI1 __last1,
1152:      _RAI2 __first2, _RAI2 __last2)
1152:  {
1152:    const typename iterator_traits<_RAI1>::difference_type
1152:      __diff1 = __last1 - __first1;
1152:    const typename iterator_traits<_RAI2>::difference_type
1152:      __diff2 = __last2 - __first2;
1152:    return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
1152:  }
1152: 
1152:       template<typename _RAI>
1152:  static bool
1152:  __cnd2(_RAI, _RAI)
1152:  { return true; }
1152:     };
1152: 
1152:   template<typename _II1, typename _II2, typename _Compare>
1152:    
1152:     bool
1152:     __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
1152:        _II2 __first2, _II2 __last2,
1152:        _Compare __comp)
1152:     {
1152:       typedef typename iterator_traits<_II1>::iterator_category _Category1;
1152:       typedef typename iterator_traits<_II2>::iterator_category _Category2;
1152:       typedef std::__lc_rai<_Category1, _Category2> __rai_type;
1152: 
1152:       __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
1152:       for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
1152:     ++__first1, (void)++__first2)
1152:  {
1152:    if (__comp(__first1, __first2))
1152:      return true;
1152:    if (__comp(__first2, __first1))
1152:      return false;
1152:  }
1152:       return __first1 == __last1 && __first2 != __last2;
1152:     }
1152: 
1152:   template<bool _BoolType>
1152:     struct __lexicographical_compare
1152:     {
1152:       template<typename _II1, typename _II2>
1152: 
1152:  static bool
1152:  __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1152:  {
1152:    using __gnu_cxx::__ops::__iter_less_iter;
1152:    return std::__lexicographical_compare_impl(__first1, __last1,
1152:            __first2, __last2,
1152:            __iter_less_iter());
1152:  }
1152: 
1152:       template<typename _II1, typename _II2>
1152: 
1152:  static int
1152:  __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1152:  {
1152:    while (__first1 != __last1)
1152:      {
1152:        if (__first2 == __last2)
1152:   return +1;
1152:        if (*__first1 < *__first2)
1152:   return -1;
1152:        if (*__first2 < *__first1)
1152:   return +1;
1152:        ++__first1;
1152:        ++__first2;
1152:      }
1152:    return int(__first2 == __last2) - 1;
1152:  }
1152:     };
1152: 
1152:   template<>
1152:     struct __lexicographical_compare<true>
1152:     {
1152:       template<typename _Tp, typename _Up>
1152: 
1152:  static bool
1152:  __lc(const _Tp* __first1, const _Tp* __last1,
1152:       const _Up* __first2, const _Up* __last2)
1152:  { return __3way(__first1, __last1, __first2, __last2) < 0; }
1152: 
1152:       template<typename _Tp, typename _Up>
1152: 
1152:  static ptrdiff_t
1152:  __3way(const _Tp* __first1, const _Tp* __last1,
1152:         const _Up* __first2, const _Up* __last2)
1152:  {
1152:    const size_t __len1 = __last1 - __first1;
1152:    const size_t __len2 = __last2 - __first2;
1152:    if (const size_t __len = std::min(__len1, __len2))
1152:      if (int __result = std::__memcmp(__first1, __first2, __len))
1152:        return __result;
1152:    return ptrdiff_t(__len1 - __len2);
1152:  }
1152:     };
1152: 
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
1152:        _II2 __first2, _II2 __last2)
1152:     {
1152:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1152:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
1152:       const bool __simple =
1152:  (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
1152:   && __is_pointer<_II1>::__value
1152:   && __is_pointer<_II2>::__value
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   );
1152: 
1152:       return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
1152:            __first2, __last2);
1152:     }
1152: 
1152:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1152:     typename _Tp2>
1152:     bool
1152:     __lexicographical_compare_aux1(
1152:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1152:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1152:  _Tp2*, _Tp2*);
1152: 
1152:   template<typename _Tp1,
1152:     typename _Tp2, typename _Ref2, typename _Ptr2>
1152:     bool
1152:     __lexicographical_compare_aux1(_Tp1*, _Tp1*,
1152:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1152:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1152: 
1152:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1152:     typename _Tp2, typename _Ref2, typename _Ptr2>
1152:     bool
1152:     __lexicographical_compare_aux1(
1152:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1152:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1152:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1152:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1152: 
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
1152:       _II2 __first2, _II2 __last2)
1152:     {
1152:       return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
1152:        std::__niter_base(__last1),
1152:        std::__niter_base(__first2),
1152:        std::__niter_base(__last2));
1152:     }
1152: 
1152:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1152:     typename _II2>
1152:     bool
1152:     __lexicographical_compare_aux(
1152:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1152:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1152:   _II2, _II2);
1152: 
1152:   template<typename _II1,
1152:     typename _Iter2, typename _Seq2, typename _Cat2>
1152:     bool
1152:     __lexicographical_compare_aux(
1152:   _II1, _II1,
1152:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1152:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1152: 
1152:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1152:     typename _Iter2, typename _Seq2, typename _Cat2>
1152:     bool
1152:     __lexicographical_compare_aux(
1152:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1152:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1152:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1152:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1152: 
1152:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1152:    
1152:     _ForwardIterator
1152:     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1152:     const _Tp& __val, _Compare __comp)
1152:     {
1152:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1152:  _DistanceType;
1152: 
1152:       _DistanceType __len = std::distance(__first, __last);
1152: 
1152:       while (__len > 0)
1152:  {
1152:    _DistanceType __half = __len >> 1;
1152:    _ForwardIterator __middle = __first;
1152:    std::advance(__middle, __half);
1152:    if (__comp(__middle, __val))
1152:      {
1152:        __first = __middle;
1152:        ++__first;
1152:        __len = __len - __half - 1;
1152:      }
1152:    else
1152:      __len = __half;
1152:  }
1152:       return __first;
1152:     }
1152: # 1486 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _ForwardIterator, typename _Tp>
1152:    
1152:     inline _ForwardIterator
1152:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1152:   const _Tp& __val)
1152:     {
1152: 
1152:      
1152:      
1152: 
1152:       ;
1152: 
1152:       return std::__lower_bound(__first, __last, __val,
1152:     __gnu_cxx::__ops::__iter_less_val());
1152:     }
1152: 
1152: 
1152: 
1152:   inline constexpr int
1152:   __lg(int __n)
1152:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1152: 
1152:   inline constexpr unsigned
1152:   __lg(unsigned __n)
1152:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1152: 
1152:   inline constexpr long
1152:   __lg(long __n)
1152:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1152: 
1152:   inline constexpr unsigned long
1152:   __lg(unsigned long __n)
1152:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1152: 
1152:   inline constexpr long long
1152:   __lg(long long __n)
1152:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1152: 
1152:   inline constexpr unsigned long long
1152:   __lg(unsigned long long __n)
1152:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1152: 
1152: 
1152: # 1542 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     equal(_II1 __first1, _II1 __last1, _II2 __first2)
1152:     {
1152: 
1152:      
1152:      
1152:      
1152: 
1152: 
1152:       ;
1152: 
1152:       return std::__equal_aux(__first1, __last1, __first2);
1152:     }
1152: # 1573 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1152:    
1152:     inline bool
1152:     equal(_IIter1 __first1, _IIter1 __last1,
1152:    _IIter2 __first2, _BinaryPredicate __binary_pred)
1152:     {
1152: 
1152:      
1152:      
1152:       ;
1152: 
1152:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1152:  if (!bool(__binary_pred(*__first1, *__first2)))
1152:    return false;
1152:       return true;
1152:     }
1152: 
1152: 
1152: 
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1152:     {
1152:       using _RATag = random_access_iterator_tag;
1152:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1152:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1152:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1152:       if (_RAIters())
1152:  {
1152:    auto __d1 = std::distance(__first1, __last1);
1152:    auto __d2 = std::distance(__first2, __last2);
1152:    if (__d1 != __d2)
1152:      return false;
1152:    return std::equal(__first1, __last1, __first2);
1152:  }
1152: 
1152:       for (; __first1 != __last1 && __first2 != __last2;
1152:    ++__first1, (void)++__first2)
1152:  if (!(*__first1 == *__first2))
1152:    return false;
1152:       return __first1 == __last1 && __first2 == __last2;
1152:     }
1152: 
1152: 
1152:   template<typename _II1, typename _II2, typename _BinaryPredicate>
1152:    
1152:     inline bool
1152:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
1152:       _BinaryPredicate __binary_pred)
1152:     {
1152:       using _RATag = random_access_iterator_tag;
1152:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1152:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1152:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1152:       if (_RAIters())
1152:  {
1152:    auto __d1 = std::distance(__first1, __last1);
1152:    auto __d2 = std::distance(__first2, __last2);
1152:    if (__d1 != __d2)
1152:      return false;
1152:    return std::equal(__first1, __last1, __first2,
1152:            __binary_pred);
1152:  }
1152: 
1152:       for (; __first1 != __last1 && __first2 != __last2;
1152:    ++__first1, (void)++__first2)
1152:  if (!bool(__binary_pred(*__first1, *__first2)))
1152:    return false;
1152:       return __first1 == __last1 && __first2 == __last2;
1152:     }
1152: # 1663 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1152:     {
1152: 
1152:      
1152:      
1152:      
1152: 
1152: 
1152:       ;
1152:       ;
1152: 
1152:       return std::__equal4(__first1, __last1, __first2, __last2);
1152:     }
1152: # 1696 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1152:    
1152:     inline bool
1152:     equal(_IIter1 __first1, _IIter1 __last1,
1152:    _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
1152:     {
1152: 
1152:      
1152:      
1152:       ;
1152:       ;
1152: 
1152:       return std::__equal4(__first1, __last1, __first2, __last2,
1152:           __binary_pred);
1152:     }
1152: # 1728 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _II1, typename _II2>
1152:    
1152:     inline bool
1152:     lexicographical_compare(_II1 __first1, _II1 __last1,
1152:        _II2 __first2, _II2 __last2)
1152:     {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:      
1152:      
1152:      
1152:       ;
1152:       ;
1152: 
1152:       return std::__lexicographical_compare_aux(__first1, __last1,
1152:       __first2, __last2);
1152:     }
1152: # 1763 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _II1, typename _II2, typename _Compare>
1152:    
1152:     inline bool
1152:     lexicographical_compare(_II1 __first1, _II1 __last1,
1152:        _II2 __first2, _II2 __last2, _Compare __comp)
1152:     {
1152: 
1152:      
1152:      
1152:       ;
1152:       ;
1152: 
1152:       return std::__lexicographical_compare_impl
1152:  (__first1, __last1, __first2, __last2,
1152:   __gnu_cxx::__ops::__iter_comp_iter(__comp));
1152:     }
1152: # 1875 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _InputIterator1, typename _InputIterator2,
1152:     typename _BinaryPredicate>
1152:    
1152:     pair<_InputIterator1, _InputIterator2>
1152:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1152:         _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1152:     {
1152:       while (__first1 != __last1 && __binary_pred(__first1, __first2))
1152:  {
1152:    ++__first1;
1152:    ++__first2;
1152:  }
1152:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1152:     }
1152: # 1903 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _InputIterator1, typename _InputIterator2>
1152:    
1152:     inline pair<_InputIterator1, _InputIterator2>
1152:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1152:       _InputIterator2 __first2)
1152:     {
1152: 
1152:      
1152:      
1152:      
1152: 
1152: 
1152:       ;
1152: 
1152:       return std::__mismatch(__first1, __last1, __first2,
1152:         __gnu_cxx::__ops::__iter_equal_to_iter());
1152:     }
1152: # 1937 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _InputIterator1, typename _InputIterator2,
1152:     typename _BinaryPredicate>
1152:    
1152:     inline pair<_InputIterator1, _InputIterator2>
1152:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1152:       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1152:     {
1152: 
1152:      
1152:      
1152:       ;
1152: 
1152:       return std::__mismatch(__first1, __last1, __first2,
1152:  __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1152:     }
1152: 
1152: 
1152: 
1152:   template<typename _InputIterator1, typename _InputIterator2,
1152:     typename _BinaryPredicate>
1152:    
1152:     pair<_InputIterator1, _InputIterator2>
1152:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1152:         _InputIterator2 __first2, _InputIterator2 __last2,
1152:         _BinaryPredicate __binary_pred)
1152:     {
1152:       while (__first1 != __last1 && __first2 != __last2
1152:       && __binary_pred(__first1, __first2))
1152:  {
1152:    ++__first1;
1152:    ++__first2;
1152:  }
1152:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1152:     }
1152: # 1986 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _InputIterator1, typename _InputIterator2>
1152:    
1152:     inline pair<_InputIterator1, _InputIterator2>
1152:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1152:       _InputIterator2 __first2, _InputIterator2 __last2)
1152:     {
1152: 
1152:      
1152:      
1152:      
1152: 
1152: 
1152:       ;
1152:       ;
1152: 
1152:       return std::__mismatch(__first1, __last1, __first2, __last2,
1152:         __gnu_cxx::__ops::__iter_equal_to_iter());
1152:     }
1152: # 2022 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _InputIterator1, typename _InputIterator2,
1152:     typename _BinaryPredicate>
1152:    
1152:     inline pair<_InputIterator1, _InputIterator2>
1152:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1152:       _InputIterator2 __first2, _InputIterator2 __last2,
1152:       _BinaryPredicate __binary_pred)
1152:     {
1152: 
1152:      
1152:      
1152:       ;
1152:       ;
1152: 
1152:       return std::__mismatch(__first1, __last1, __first2, __last2,
1152:         __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _InputIterator, typename _Predicate>
1152:    
1152:     inline _InputIterator
1152:     __find_if(_InputIterator __first, _InputIterator __last,
1152:        _Predicate __pred, input_iterator_tag)
1152:     {
1152:       while (__first != __last && !__pred(__first))
1152:  ++__first;
1152:       return __first;
1152:     }
1152: 
1152: 
1152:   template<typename _RandomAccessIterator, typename _Predicate>
1152:    
1152:     _RandomAccessIterator
1152:     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
1152:        _Predicate __pred, random_access_iterator_tag)
1152:     {
1152:       typename iterator_traits<_RandomAccessIterator>::difference_type
1152:  __trip_count = (__last - __first) >> 2;
1152: 
1152:       for (; __trip_count > 0; --__trip_count)
1152:  {
1152:    if (__pred(__first))
1152:      return __first;
1152:    ++__first;
1152: 
1152:    if (__pred(__first))
1152:      return __first;
1152:    ++__first;
1152: 
1152:    if (__pred(__first))
1152:      return __first;
1152:    ++__first;
1152: 
1152:    if (__pred(__first))
1152:      return __first;
1152:    ++__first;
1152:  }
1152: 
1152:       switch (__last - __first)
1152:  {
1152:  case 3:
1152:    if (__pred(__first))
1152:      return __first;
1152:    ++__first;
1152: 
1152:  case 2:
1152:    if (__pred(__first))
1152:      return __first;
1152:    ++__first;
1152: 
1152:  case 1:
1152:    if (__pred(__first))
1152:      return __first;
1152:    ++__first;
1152: 
1152:  case 0:
1152:  default:
1152:    return __last;
1152:  }
1152:     }
1152: 
1152:   template<typename _Iterator, typename _Predicate>
1152:    
1152:     inline _Iterator
1152:     __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
1152:     {
1152:       return __find_if(__first, __last, __pred,
1152:          std::__iterator_category(__first));
1152:     }
1152: 
1152:   template<typename _InputIterator, typename _Predicate>
1152:    
1152:     typename iterator_traits<_InputIterator>::difference_type
1152:     __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1152:     {
1152:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1152:       for (; __first != __last; ++__first)
1152:  if (__pred(__first))
1152:    ++__n;
1152:       return __n;
1152:     }
1152: 
1152:   template<typename _ForwardIterator, typename _Predicate>
1152:    
1152:     _ForwardIterator
1152:     __remove_if(_ForwardIterator __first, _ForwardIterator __last,
1152:   _Predicate __pred)
1152:     {
1152:       __first = std::__find_if(__first, __last, __pred);
1152:       if (__first == __last)
1152:  return __first;
1152:       _ForwardIterator __result = __first;
1152:       ++__first;
1152:       for (; __first != __last; ++__first)
1152:  if (!__pred(__first))
1152:    {
1152:      *__result = std::move(*__first);
1152:      ++__result;
1152:    }
1152:       return __result;
1152:     }
1152: 
1152: 
1152:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1152:     typename _BinaryPredicate>
1152:    
1152:     bool
1152:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1152:        _ForwardIterator2 __first2, _BinaryPredicate __pred)
1152:     {
1152: 
1152: 
1152:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1152:  if (!__pred(__first1, __first2))
1152:    break;
1152: 
1152:       if (__first1 == __last1)
1152:  return true;
1152: 
1152: 
1152: 
1152:       _ForwardIterator2 __last2 = __first2;
1152:       std::advance(__last2, std::distance(__first1, __last1));
1152:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1152:  {
1152:    if (__scan != std::__find_if(__first1, __scan,
1152:      __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1152:      continue;
1152: 
1152:    auto __matches
1152:      = std::__count_if(__first2, __last2,
1152:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1152:    if (0 == __matches ||
1152:        std::__count_if(__scan, __last1,
1152:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1152:        != __matches)
1152:      return false;
1152:  }
1152:       return true;
1152:     }
1152: # 2199 "/usr/include/c++/12/bits/stl_algobase.h" 3
1152:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1152:    
1152:     inline bool
1152:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1152:      _ForwardIterator2 __first2)
1152:     {
1152: 
1152:      
1152:      
1152:      
1152: 
1152: 
1152:       ;
1152: 
1152:       return std::__is_permutation(__first1, __last1, __first2,
1152:        __gnu_cxx::__ops::__iter_equal_to_iter());
1152:     }
1152: 
1152: 
1152: 
1152: }
1152: # 51 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/refwrap.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/refwrap.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/refwrap.h" 3
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/bits/invoke.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/invoke.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/invoke.h" 3
1152: # 42 "/usr/include/c++/12/bits/invoke.h" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 53 "/usr/include/c++/12/bits/invoke.h" 3
1152:   template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
1152:     constexpr _Up&&
1152:     __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
1152:     { return static_cast<_Up&&>(__t); }
1152: 
1152:   template<typename _Res, typename _Fn, typename... _Args>
1152:     constexpr _Res
1152:     __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
1152:     { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
1152: 
1152:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1152:     constexpr _Res
1152:     __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
1152:     _Args&&... __args)
1152:     { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
1152: 
1152:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1152:     constexpr _Res
1152:     __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
1152:     _Args&&... __args)
1152:     {
1152:       return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
1152:     }
1152: 
1152:   template<typename _Res, typename _MemPtr, typename _Tp>
1152:     constexpr _Res
1152:     __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
1152:     { return __invfwd<_Tp>(__t).*__f; }
1152: 
1152:   template<typename _Res, typename _MemPtr, typename _Tp>
1152:     constexpr _Res
1152:     __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
1152:     { return (*std::forward<_Tp>(__t)).*__f; }
1152: 
1152: 
1152:   template<typename _Callable, typename... _Args>
1152:     constexpr typename __invoke_result<_Callable, _Args...>::type
1152:     __invoke(_Callable&& __fn, _Args&&... __args)
1152:     noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
1152:     {
1152:       using __result = __invoke_result<_Callable, _Args...>;
1152:       using __type = typename __result::type;
1152:       using __tag = typename __result::__invoke_type;
1152:       return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1152:      std::forward<_Args>(__args)...);
1152:     }
1152: 
1152: 
1152: 
1152:   template<typename _Res, typename _Callable, typename... _Args>
1152:     constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
1152:     __invoke_r(_Callable&& __fn, _Args&&... __args)
1152:     noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
1152:     {
1152:       using __result = __invoke_result<_Callable, _Args...>;
1152:       using __type = typename __result::type;
1152:       using __tag = typename __result::__invoke_type;
1152:       if constexpr (is_void_v<_Res>)
1152:  std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1152:      std::forward<_Args>(__args)...);
1152:       else
1152:  return std::__invoke_impl<__type>(__tag{},
1152:        std::forward<_Callable>(__fn),
1152:        std::forward<_Args>(__args)...);
1152:     }
1152: # 159 "/usr/include/c++/12/bits/invoke.h" 3
1152: 
1152: }
1152: # 39 "/usr/include/c++/12/bits/refwrap.h" 2 3
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 52 "/usr/include/c++/12/bits/refwrap.h" 3
1152:   template<typename _Res, typename... _ArgTypes>
1152:     struct _Maybe_unary_or_binary_function { };
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152: 
1152:   template<typename _Res, typename _T1>
1152:     struct _Maybe_unary_or_binary_function<_Res, _T1>
1152:     : std::unary_function<_T1, _Res> { };
1152: 
1152: 
1152:   template<typename _Res, typename _T1, typename _T2>
1152:     struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
1152:     : std::binary_function<_T1, _T2, _Res> { };
1152: 
1152: #pragma GCC diagnostic pop
1152: 
1152:   template<typename _Signature>
1152:     struct _Mem_fn_traits;
1152: 
1152:   template<typename _Res, typename _Class, typename... _ArgTypes>
1152:     struct _Mem_fn_traits_base
1152:     {
1152:       using __result_type = _Res;
1152:       using __maybe_type
1152:  = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
1152:       using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
1152:     };
1152: # 103 "/usr/include/c++/12/bits/refwrap.h" 3
1152: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1152: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1152: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1152: 
1152: 
1152: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1152: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1152: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Functor, typename = __void_t<>>
1152:     struct _Maybe_get_result_type
1152:     { };
1152: 
1152:   template<typename _Functor>
1152:     struct _Maybe_get_result_type<_Functor,
1152:       __void_t<typename _Functor::result_type>>
1152:     { typedef typename _Functor::result_type result_type; };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Functor>
1152:     struct _Weak_result_type_impl
1152:     : _Maybe_get_result_type<_Functor>
1152:     { };
1152: 
1152: 
1152:   template<typename _Res, typename... _ArgTypes , bool _NE>
1152:     struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
1152:     { typedef _Res result_type; };
1152: 
1152: 
1152:   template<typename _Res, typename... _ArgTypes , bool _NE>
1152:     struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)>
1152:     { typedef _Res result_type; };
1152: 
1152: 
1152:   template<typename _Res, typename... _ArgTypes , bool _NE>
1152:     struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
1152:     { typedef _Res result_type; };
1152: 
1152: 
1152:   template<typename _Res, typename... _ArgTypes , bool _NE>
1152:     struct
1152:     _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)>
1152:     { typedef _Res result_type; };
1152: 
1152: 
1152:   template<typename _Functor,
1152:     bool = is_member_function_pointer<_Functor>::value>
1152:     struct _Weak_result_type_memfun
1152:     : _Weak_result_type_impl<_Functor>
1152:     { };
1152: 
1152: 
1152:   template<typename _MemFunPtr>
1152:     struct _Weak_result_type_memfun<_MemFunPtr, true>
1152:     {
1152:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1152:     };
1152: 
1152: 
1152:   template<typename _Func, typename _Class>
1152:     struct _Weak_result_type_memfun<_Func _Class::*, false>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Functor>
1152:     struct _Weak_result_type
1152:     : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
1152:     { };
1152: 
1152: 
1152: 
1152:   template<typename _Tp, typename = __void_t<>>
1152:     struct _Refwrap_base_arg1
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct _Refwrap_base_arg1<_Tp,
1152:          __void_t<typename _Tp::argument_type>>
1152:     {
1152:       typedef typename _Tp::argument_type argument_type;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, typename = __void_t<>>
1152:     struct _Refwrap_base_arg2
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct _Refwrap_base_arg2<_Tp,
1152:          __void_t<typename _Tp::first_argument_type,
1152:            typename _Tp::second_argument_type>>
1152:     {
1152:       typedef typename _Tp::first_argument_type first_argument_type;
1152:       typedef typename _Tp::second_argument_type second_argument_type;
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct _Reference_wrapper_base
1152:     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
1152:     { };
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152: 
1152:   template<typename _Res, typename _T1 , bool _NE>
1152:     struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
1152:     : unary_function<_T1, _Res>
1152:     { };
1152: 
1152:   template<typename _Res, typename _T1>
1152:     struct _Reference_wrapper_base<_Res(_T1) const>
1152:     : unary_function<_T1, _Res>
1152:     { };
1152: 
1152:   template<typename _Res, typename _T1>
1152:     struct _Reference_wrapper_base<_Res(_T1) volatile>
1152:     : unary_function<_T1, _Res>
1152:     { };
1152: 
1152:   template<typename _Res, typename _T1>
1152:     struct _Reference_wrapper_base<_Res(_T1) const volatile>
1152:     : unary_function<_T1, _Res>
1152:     { };
1152: 
1152: 
1152:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1152:     struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
1152:     : binary_function<_T1, _T2, _Res>
1152:     { };
1152: 
1152:   template<typename _Res, typename _T1, typename _T2>
1152:     struct _Reference_wrapper_base<_Res(_T1, _T2) const>
1152:     : binary_function<_T1, _T2, _Res>
1152:     { };
1152: 
1152:   template<typename _Res, typename _T1, typename _T2>
1152:     struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
1152:     : binary_function<_T1, _T2, _Res>
1152:     { };
1152: 
1152:   template<typename _Res, typename _T1, typename _T2>
1152:     struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
1152:     : binary_function<_T1, _T2, _Res>
1152:     { };
1152: 
1152: 
1152:   template<typename _Res, typename _T1 , bool _NE>
1152:     struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
1152:     : unary_function<_T1, _Res>
1152:     { };
1152: 
1152: 
1152:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1152:     struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
1152:     : binary_function<_T1, _T2, _Res>
1152:     { };
1152: 
1152:   template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
1152:     struct _Reference_wrapper_base_memfun
1152:     : _Reference_wrapper_base<_Tp>
1152:     { };
1152: 
1152:   template<typename _MemFunPtr>
1152:     struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
1152:     : _Mem_fn_traits<_MemFunPtr>::__maybe_type
1152:     {
1152:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1152:     };
1152: #pragma GCC diagnostic pop
1152: # 302 "/usr/include/c++/12/bits/refwrap.h" 3
1152:   template<typename _Tp>
1152:     class reference_wrapper
1152: 
1152: 
1152: 
1152:     : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
1152: 
1152:     {
1152:       _Tp* _M_data;
1152: 
1152:      
1152:       static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
1152: 
1152:       static void _S_fun(_Tp&&) = delete;
1152: 
1152:       template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
1152:  using __not_same
1152:    = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
1152: 
1152:     public:
1152:       typedef _Tp type;
1152: 
1152: 
1152: 
1152: 
1152:       template<typename _Up, typename = __not_same<_Up>, typename
1152:   = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
1152: 
1152:  reference_wrapper(_Up&& __uref)
1152:  noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
1152:  : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
1152:  { }
1152: 
1152:       reference_wrapper(const reference_wrapper&) = default;
1152: 
1152:       reference_wrapper&
1152:       operator=(const reference_wrapper&) = default;
1152: 
1152:      
1152:       operator _Tp&() const noexcept
1152:       { return this->get(); }
1152: 
1152:      
1152:       _Tp&
1152:       get() const noexcept
1152:       { return *_M_data; }
1152: 
1152:       template<typename... _Args>
1152: 
1152:  typename result_of<_Tp&(_Args&&...)>::type
1152:  operator()(_Args&&... __args) const
1152:  {
1152: 
1152: 
1152: 
1152: 
1152:    return std::__invoke(get(), std::forward<_Args>(__args)...);
1152:  }
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:    
1152:     inline reference_wrapper<_Tp>
1152:     ref(_Tp& __t) noexcept
1152:     { return reference_wrapper<_Tp>(__t); }
1152: 
1152: 
1152:   template<typename _Tp>
1152:    
1152:     inline reference_wrapper<const _Tp>
1152:     cref(const _Tp& __t) noexcept
1152:     { return reference_wrapper<const _Tp>(__t); }
1152: 
1152:   template<typename _Tp>
1152:     void ref(const _Tp&&) = delete;
1152: 
1152:   template<typename _Tp>
1152:     void cref(const _Tp&&) = delete;
1152: 
1152: 
1152:   template<typename _Tp>
1152:    
1152:     inline reference_wrapper<_Tp>
1152:     ref(reference_wrapper<_Tp> __t) noexcept
1152:     { return __t; }
1152: 
1152: 
1152:   template<typename _Tp>
1152:    
1152:     inline reference_wrapper<const _Tp>
1152:     cref(reference_wrapper<_Tp> __t) noexcept
1152:     { return { __t.get() }; }
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 52 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/range_access.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/range_access.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/range_access.h" 3
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/initializer_list" 1 3
1152: # 33 "/usr/include/c++/12/initializer_list" 3
1152:        
1152: # 34 "/usr/include/c++/12/initializer_list" 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: #pragma GCC visibility push(default)
1152: 
1152: 
1152: 
1152: namespace std
1152: {
1152: 
1152:   template<class _E>
1152:     class initializer_list
1152:     {
1152:     public:
1152:       typedef _E value_type;
1152:       typedef const _E& reference;
1152:       typedef const _E& const_reference;
1152:       typedef size_t size_type;
1152:       typedef const _E* iterator;
1152:       typedef const _E* const_iterator;
1152: 
1152:     private:
1152:       iterator _M_array;
1152:       size_type _M_len;
1152: 
1152: 
1152:       constexpr initializer_list(const_iterator __a, size_type __l)
1152:       : _M_array(__a), _M_len(__l) { }
1152: 
1152:     public:
1152:       constexpr initializer_list() noexcept
1152:       : _M_array(0), _M_len(0) { }
1152: 
1152: 
1152:       constexpr size_type
1152:       size() const noexcept { return _M_len; }
1152: 
1152: 
1152:       constexpr const_iterator
1152:       begin() const noexcept { return _M_array; }
1152: 
1152: 
1152:       constexpr const_iterator
1152:       end() const noexcept { return begin() + size(); }
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<class _Tp>
1152:     constexpr const _Tp*
1152:     begin(initializer_list<_Tp> __ils) noexcept
1152:     { return __ils.begin(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<class _Tp>
1152:     constexpr const _Tp*
1152:     end(initializer_list<_Tp> __ils) noexcept
1152:     { return __ils.end(); }
1152: }
1152: 
1152: #pragma GCC visibility pop
1152: # 37 "/usr/include/c++/12/bits/range_access.h" 2 3
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     begin(_Container& __cont) -> decltype(__cont.begin())
1152:     { return __cont.begin(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     begin(const _Container& __cont) -> decltype(__cont.begin())
1152:     { return __cont.begin(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     end(_Container& __cont) -> decltype(__cont.end())
1152:     { return __cont.end(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     end(const _Container& __cont) -> decltype(__cont.end())
1152:     { return __cont.end(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, size_t _Nm>
1152:     [[__nodiscard__]]
1152:     inline constexpr _Tp*
1152:     begin(_Tp (&__arr)[_Nm]) noexcept
1152:     { return __arr; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, size_t _Nm>
1152:     [[__nodiscard__]]
1152:     inline constexpr _Tp*
1152:     end(_Tp (&__arr)[_Nm]) noexcept
1152:     { return __arr + _Nm; }
1152: 
1152: 
1152: 
1152:   template<typename _Tp> class valarray;
1152: 
1152:   template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
1152:   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
1152:   template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
1152:   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     constexpr auto
1152:     cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
1152:       -> decltype(std::begin(__cont))
1152:     { return std::begin(__cont); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     constexpr auto
1152:     cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
1152:       -> decltype(std::end(__cont))
1152:     { return std::end(__cont); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     rbegin(_Container& __cont) -> decltype(__cont.rbegin())
1152:     { return __cont.rbegin(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     rbegin(const _Container& __cont) -> decltype(__cont.rbegin())
1152:     { return __cont.rbegin(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     rend(_Container& __cont) -> decltype(__cont.rend())
1152:     { return __cont.rend(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     rend(const _Container& __cont) -> decltype(__cont.rend())
1152:     { return __cont.rend(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, size_t _Nm>
1152:     [[__nodiscard__]]
1152:     inline constexpr reverse_iterator<_Tp*>
1152:     rbegin(_Tp (&__arr)[_Nm]) noexcept
1152:     { return reverse_iterator<_Tp*>(__arr + _Nm); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp, size_t _Nm>
1152:     [[__nodiscard__]]
1152:     inline constexpr reverse_iterator<_Tp*>
1152:     rend(_Tp (&__arr)[_Nm]) noexcept
1152:     { return reverse_iterator<_Tp*>(__arr); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     [[__nodiscard__]]
1152:     inline constexpr reverse_iterator<const _Tp*>
1152:     rbegin(initializer_list<_Tp> __il) noexcept
1152:     { return reverse_iterator<const _Tp*>(__il.end()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     [[__nodiscard__]]
1152:     inline constexpr reverse_iterator<const _Tp*>
1152:     rend(initializer_list<_Tp> __il) noexcept
1152:     { return reverse_iterator<const _Tp*>(__il.begin()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont))
1152:     { return std::rbegin(__cont); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Container>
1152:     [[__nodiscard__]]
1152:     inline constexpr auto
1152:     crend(const _Container& __cont) -> decltype(std::rend(__cont))
1152:     { return std::rend(__cont); }
1152: # 261 "/usr/include/c++/12/bits/range_access.h" 3
1152:   template <typename _Container>
1152:     [[nodiscard]]
1152:     constexpr auto
1152:     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
1152:     -> decltype(__cont.size())
1152:     { return __cont.size(); }
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Tp, size_t _Nm>
1152:     [[nodiscard]]
1152:     constexpr size_t
1152:     size(const _Tp (&)[_Nm]) noexcept
1152:     { return _Nm; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Container>
1152:     [[nodiscard]] constexpr auto
1152:     empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
1152:     -> decltype(__cont.empty())
1152:     { return __cont.empty(); }
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Tp, size_t _Nm>
1152:     [[nodiscard]] constexpr bool
1152:     empty(const _Tp (&)[_Nm]) noexcept
1152:     { return false; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Tp>
1152:     [[nodiscard]] constexpr bool
1152:     empty(initializer_list<_Tp> __il) noexcept
1152:     { return __il.size() == 0;}
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Container>
1152:     [[nodiscard]]
1152:     constexpr auto
1152:     data(_Container& __cont) noexcept(noexcept(__cont.data()))
1152:     -> decltype(__cont.data())
1152:     { return __cont.data(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Container>
1152:     [[nodiscard]]
1152:     constexpr auto
1152:     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
1152:     -> decltype(__cont.data())
1152:     { return __cont.data(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Tp, size_t _Nm>
1152:     [[nodiscard]]
1152:     constexpr _Tp*
1152:     data(_Tp (&__array)[_Nm]) noexcept
1152:     { return __array; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template <typename _Tp>
1152:     [[nodiscard]]
1152:     constexpr const _Tp*
1152:     data(initializer_list<_Tp> __il) noexcept
1152:     { return __il.begin(); }
1152: # 367 "/usr/include/c++/12/bits/range_access.h" 3
1152: 
1152: }
1152: # 53 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/basic_string.h" 1 3
1152: # 37 "/usr/include/c++/12/bits/basic_string.h" 3
1152:        
1152: # 38 "/usr/include/c++/12/bits/basic_string.h" 3
1152: 
1152: # 1 "/usr/include/c++/12/ext/alloc_traits.h" 1 3
1152: # 32 "/usr/include/c++/12/ext/alloc_traits.h" 3
1152:        
1152: # 33 "/usr/include/c++/12/ext/alloc_traits.h" 3
1152: 
1152: # 1 "/usr/include/c++/12/bits/alloc_traits.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152: # 1 "/usr/include/c++/12/bits/stl_construct.h" 1 3
1152: # 73 "/usr/include/c++/12/bits/stl_construct.h" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152:   template <typename _Tp>
1152:     inline void
1152:     destroy_at(_Tp* __location)
1152:     {
1152:       if constexpr (201703L > 201703L && is_array_v<_Tp>)
1152:  {
1152:    for (auto& __x : *__location)
1152:      std::destroy_at(std::__addressof(__x));
1152:  }
1152:       else
1152:  __location->~_Tp();
1152:     }
1152: # 106 "/usr/include/c++/12/bits/stl_construct.h" 3
1152:   template<typename _Tp, typename... _Args>
1152:    
1152:     inline void
1152:     _Construct(_Tp* __p, _Args&&... __args)
1152:     {
1152: # 119 "/usr/include/c++/12/bits/stl_construct.h" 3
1152:       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1152:     }
1152: # 132 "/usr/include/c++/12/bits/stl_construct.h" 3
1152:   template<typename _T1>
1152:     inline void
1152:     _Construct_novalue(_T1* __p)
1152:     { ::new((void*)__p) _T1; }
1152: 
1152:   template<typename _ForwardIterator>
1152:     void
1152:     _Destroy(_ForwardIterator __first, _ForwardIterator __last);
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     constexpr inline void
1152:     _Destroy(_Tp* __pointer)
1152:     {
1152: 
1152: 
1152: 
1152:       __pointer->~_Tp();
1152: 
1152:     }
1152: 
1152:   template<bool>
1152:     struct _Destroy_aux
1152:     {
1152:       template<typename _ForwardIterator>
1152:  static void
1152:  __destroy(_ForwardIterator __first, _ForwardIterator __last)
1152:  {
1152:    for (; __first != __last; ++__first)
1152:      std::_Destroy(std::__addressof(*__first));
1152:  }
1152:     };
1152: 
1152:   template<>
1152:     struct _Destroy_aux<true>
1152:     {
1152:       template<typename _ForwardIterator>
1152:         static void
1152:         __destroy(_ForwardIterator, _ForwardIterator) { }
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _ForwardIterator>
1152:     inline void
1152:     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
1152:     {
1152:       typedef typename iterator_traits<_ForwardIterator>::value_type
1152:                        _Value_type;
1152: 
1152: 
1152:       static_assert(is_destructible<_Value_type>::value,
1152:       "value type is destructible");
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
1152:  __destroy(__first, __last);
1152:     }
1152: 
1152:   template<bool>
1152:     struct _Destroy_n_aux
1152:     {
1152:       template<typename _ForwardIterator, typename _Size>
1152:  static _ForwardIterator
1152:  __destroy_n(_ForwardIterator __first, _Size __count)
1152:  {
1152:    for (; __count > 0; (void)++__first, --__count)
1152:      std::_Destroy(std::__addressof(*__first));
1152:    return __first;
1152:  }
1152:     };
1152: 
1152:   template<>
1152:     struct _Destroy_n_aux<true>
1152:     {
1152:       template<typename _ForwardIterator, typename _Size>
1152:         static _ForwardIterator
1152:         __destroy_n(_ForwardIterator __first, _Size __count)
1152:  {
1152:    std::advance(__first, __count);
1152:    return __first;
1152:  }
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _ForwardIterator, typename _Size>
1152:     inline _ForwardIterator
1152:     _Destroy_n(_ForwardIterator __first, _Size __count)
1152:     {
1152:       typedef typename iterator_traits<_ForwardIterator>::value_type
1152:                        _Value_type;
1152: 
1152: 
1152:       static_assert(is_destructible<_Value_type>::value,
1152:       "value type is destructible");
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>::
1152:  __destroy_n(__first, __count);
1152:     }
1152: 
1152: 
1152:   template <typename _ForwardIterator>
1152:     inline void
1152:     destroy(_ForwardIterator __first, _ForwardIterator __last)
1152:     {
1152:       std::_Destroy(__first, __last);
1152:     }
1152: 
1152:   template <typename _ForwardIterator, typename _Size>
1152:     inline _ForwardIterator
1152:     destroy_n(_ForwardIterator __first, _Size __count)
1152:     {
1152:       return std::_Destroy_n(__first, __count);
1152:     }
1152: 
1152: 
1152: 
1152: }
1152: # 34 "/usr/include/c++/12/bits/alloc_traits.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   struct __allocator_traits_base
1152:   {
1152:     template<typename _Tp, typename _Up, typename = void>
1152:       struct __rebind : __replace_first_arg<_Tp, _Up> { };
1152: 
1152:     template<typename _Tp, typename _Up>
1152:       struct __rebind<_Tp, _Up,
1152:         __void_t<typename _Tp::template rebind<_Up>::other>>
1152:       { using type = typename _Tp::template rebind<_Up>::other; };
1152: 
1152:   protected:
1152:     template<typename _Tp>
1152:       using __pointer = typename _Tp::pointer;
1152:     template<typename _Tp>
1152:       using __c_pointer = typename _Tp::const_pointer;
1152:     template<typename _Tp>
1152:       using __v_pointer = typename _Tp::void_pointer;
1152:     template<typename _Tp>
1152:       using __cv_pointer = typename _Tp::const_void_pointer;
1152:     template<typename _Tp>
1152:       using __pocca = typename _Tp::propagate_on_container_copy_assignment;
1152:     template<typename _Tp>
1152:       using __pocma = typename _Tp::propagate_on_container_move_assignment;
1152:     template<typename _Tp>
1152:       using __pocs = typename _Tp::propagate_on_container_swap;
1152:     template<typename _Tp>
1152:       using __equal = typename _Tp::is_always_equal;
1152:   };
1152: 
1152:   template<typename _Alloc, typename _Up>
1152:     using __alloc_rebind
1152:       = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
1152: # 89 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:   template<typename _Alloc>
1152:     struct allocator_traits : __allocator_traits_base
1152:     {
1152: 
1152:       typedef _Alloc allocator_type;
1152: 
1152:       typedef typename _Alloc::value_type value_type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
1152: 
1152:     private:
1152: 
1152:       template<template<typename> class _Func, typename _Tp, typename = void>
1152:  struct _Ptr
1152:  {
1152:    using type = typename pointer_traits<pointer>::template rebind<_Tp>;
1152:  };
1152: 
1152:       template<template<typename> class _Func, typename _Tp>
1152:  struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
1152:  {
1152:    using type = _Func<_Alloc>;
1152:  };
1152: 
1152: 
1152:       template<typename _A2, typename _PtrT, typename = void>
1152:  struct _Diff
1152:  { using type = typename pointer_traits<_PtrT>::difference_type; };
1152: 
1152:       template<typename _A2, typename _PtrT>
1152:  struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
1152:  { using type = typename _A2::difference_type; };
1152: 
1152: 
1152:       template<typename _A2, typename _DiffT, typename = void>
1152:  struct _Size : make_unsigned<_DiffT> { };
1152: 
1152:       template<typename _A2, typename _DiffT>
1152:  struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
1152:  { using type = typename _A2::size_type; };
1152: 
1152:     public:
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using void_pointer = typename _Ptr<__v_pointer, void>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using difference_type = typename _Diff<_Alloc, pointer>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using size_type = typename _Size<_Alloc, difference_type>::type;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using propagate_on_container_copy_assignment
1152:  = __detected_or_t<false_type, __pocca, _Alloc>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using propagate_on_container_move_assignment
1152:  = __detected_or_t<false_type, __pocma, _Alloc>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using propagate_on_container_swap
1152:  = __detected_or_t<false_type, __pocs, _Alloc>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       using is_always_equal
1152:  = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>;
1152: 
1152:       template<typename _Tp>
1152:  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
1152:       template<typename _Tp>
1152:  using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
1152: 
1152:     private:
1152:       template<typename _Alloc2>
1152:  static constexpr auto
1152:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int)
1152:  -> decltype(__a.allocate(__n, __hint))
1152:  { return __a.allocate(__n, __hint); }
1152: 
1152:       template<typename _Alloc2>
1152:  static constexpr pointer
1152:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...)
1152:  { return __a.allocate(__n); }
1152: 
1152:       template<typename _Tp, typename... _Args>
1152:  struct __construct_helper
1152:  {
1152:    template<typename _Alloc2,
1152:      typename = decltype(std::declval<_Alloc2*>()->construct(
1152:     std::declval<_Tp*>(), std::declval<_Args>()...))>
1152:      static true_type __test(int);
1152: 
1152:    template<typename>
1152:      static false_type __test(...);
1152: 
1152:    using type = decltype(__test<_Alloc>(0));
1152:  };
1152: 
1152:       template<typename _Tp, typename... _Args>
1152:  using __has_construct
1152:    = typename __construct_helper<_Tp, _Args...>::type;
1152: 
1152:       template<typename _Tp, typename... _Args>
1152:  static constexpr _Require<__has_construct<_Tp, _Args...>>
1152:  _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1152:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
1152:  { __a.construct(__p, std::forward<_Args>(__args)...); }
1152: 
1152:       template<typename _Tp, typename... _Args>
1152:  static constexpr
1152:  _Require<__and_<__not_<__has_construct<_Tp, _Args...>>,
1152:           is_constructible<_Tp, _Args...>>>
1152:  _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
1152:  noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value)
1152:  {
1152: 
1152:    ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1152: 
1152: 
1152: 
1152:  }
1152: 
1152:       template<typename _Alloc2, typename _Tp>
1152:  static constexpr auto
1152:  _S_destroy(_Alloc2& __a, _Tp* __p, int)
1152:  noexcept(noexcept(__a.destroy(__p)))
1152:  -> decltype(__a.destroy(__p))
1152:  { __a.destroy(__p); }
1152: 
1152:       template<typename _Alloc2, typename _Tp>
1152:  static constexpr void
1152:  _S_destroy(_Alloc2&, _Tp* __p, ...)
1152:  noexcept(std::is_nothrow_destructible<_Tp>::value)
1152:  { std::_Destroy(__p); }
1152: 
1152:       template<typename _Alloc2>
1152:  static constexpr auto
1152:  _S_max_size(_Alloc2& __a, int)
1152:  -> decltype(__a.max_size())
1152:  { return __a.max_size(); }
1152: 
1152:       template<typename _Alloc2>
1152:  static constexpr size_type
1152:  _S_max_size(_Alloc2&, ...)
1152:  {
1152: 
1152: 
1152:    return __gnu_cxx::__numeric_traits<size_type>::__max
1152:      / sizeof(value_type);
1152:  }
1152: 
1152:       template<typename _Alloc2>
1152:  static constexpr auto
1152:  _S_select(_Alloc2& __a, int)
1152:  -> decltype(__a.select_on_container_copy_construction())
1152:  { return __a.select_on_container_copy_construction(); }
1152: 
1152:       template<typename _Alloc2>
1152:  static constexpr _Alloc2
1152:  _S_select(_Alloc2& __a, ...)
1152:  { return __a; }
1152: 
1152:     public:
1152: # 316 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       [[__nodiscard__]] static pointer
1152:       allocate(_Alloc& __a, size_type __n)
1152:       { return __a.allocate(__n); }
1152: # 331 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       [[__nodiscard__]] static pointer
1152:       allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
1152:       { return _S_allocate(__a, __n, __hint, 0); }
1152: # 343 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       static void
1152:       deallocate(_Alloc& __a, pointer __p, size_type __n)
1152:       { __a.deallocate(__p, __n); }
1152: # 358 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       template<typename _Tp, typename... _Args>
1152:  static auto
1152:  construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1152:  noexcept(noexcept(_S_construct(__a, __p,
1152:            std::forward<_Args>(__args)...)))
1152:  -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
1152:  { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
1152: # 374 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       template<typename _Tp>
1152:  static void
1152:  destroy(_Alloc& __a, _Tp* __p)
1152:  noexcept(noexcept(_S_destroy(__a, __p, 0)))
1152:  { _S_destroy(__a, __p, 0); }
1152: # 388 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       static size_type
1152:       max_size(const _Alloc& __a) noexcept
1152:       { return _S_max_size(__a, 0); }
1152: # 400 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       static _Alloc
1152:       select_on_container_copy_construction(const _Alloc& __rhs)
1152:       { return _S_select(__rhs, 0); }
1152:     };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct allocator_traits<allocator<_Tp>>
1152:     {
1152: 
1152:       using allocator_type = allocator<_Tp>;
1152: 
1152: 
1152:       using value_type = _Tp;
1152: 
1152: 
1152:       using pointer = _Tp*;
1152: 
1152: 
1152:       using const_pointer = const _Tp*;
1152: 
1152: 
1152:       using void_pointer = void*;
1152: 
1152: 
1152:       using const_void_pointer = const void*;
1152: 
1152: 
1152:       using difference_type = std::ptrdiff_t;
1152: 
1152: 
1152:       using size_type = std::size_t;
1152: 
1152: 
1152:       using propagate_on_container_copy_assignment = false_type;
1152: 
1152: 
1152:       using propagate_on_container_move_assignment = true_type;
1152: 
1152: 
1152:       using propagate_on_container_swap = false_type;
1152: 
1152: 
1152:       using is_always_equal = true_type;
1152: 
1152:       template<typename _Up>
1152:  using rebind_alloc = allocator<_Up>;
1152: 
1152:       template<typename _Up>
1152:  using rebind_traits = allocator_traits<allocator<_Up>>;
1152: # 462 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       [[__nodiscard__]] static pointer
1152:       allocate(allocator_type& __a, size_type __n)
1152:       { return __a.allocate(__n); }
1152: # 476 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       [[__nodiscard__]] static pointer
1152:       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
1152:       {
1152: 
1152:  return __a.allocate(__n, __hint);
1152: 
1152: 
1152: 
1152:       }
1152: # 494 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       static void
1152:       deallocate(allocator_type& __a, pointer __p, size_type __n)
1152:       { __a.deallocate(__p, __n); }
1152: # 509 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       template<typename _Up, typename... _Args>
1152:  static void
1152:  construct(allocator_type& __a __attribute__((__unused__)), _Up* __p,
1152:     _Args&&... __args)
1152:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1152:  {
1152: 
1152:    __a.construct(__p, std::forward<_Args>(__args)...);
1152: 
1152: 
1152: 
1152:  }
1152: # 529 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       template<typename _Up>
1152:  static void
1152:  destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
1152:  noexcept(is_nothrow_destructible<_Up>::value)
1152:  {
1152: 
1152:    __a.destroy(__p);
1152: 
1152: 
1152: 
1152:  }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       static size_type
1152:       max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
1152:       {
1152: 
1152:  return __a.max_size();
1152: 
1152: 
1152: 
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       static allocator_type
1152:       select_on_container_copy_construction(const allocator_type& __rhs)
1152:       { return __rhs; }
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct allocator_traits<allocator<void>>
1152:     {
1152: 
1152:       using allocator_type = allocator<void>;
1152: 
1152: 
1152:       using value_type = void;
1152: 
1152: 
1152:       using pointer = void*;
1152: 
1152: 
1152:       using const_pointer = const void*;
1152: 
1152: 
1152:       using void_pointer = void*;
1152: 
1152: 
1152:       using const_void_pointer = const void*;
1152: 
1152: 
1152:       using difference_type = std::ptrdiff_t;
1152: 
1152: 
1152:       using size_type = std::size_t;
1152: 
1152: 
1152:       using propagate_on_container_copy_assignment = false_type;
1152: 
1152: 
1152:       using propagate_on_container_move_assignment = true_type;
1152: 
1152: 
1152:       using propagate_on_container_swap = false_type;
1152: 
1152: 
1152:       using is_always_equal = true_type;
1152: 
1152:       template<typename _Up>
1152:  using rebind_alloc = allocator<_Up>;
1152: 
1152:       template<typename _Up>
1152:  using rebind_traits = allocator_traits<allocator<_Up>>;
1152: 
1152: 
1152:       static void*
1152:       allocate(allocator_type&, size_type, const void* = nullptr) = delete;
1152: 
1152: 
1152:       static void
1152:       deallocate(allocator_type&, void*, size_type) = delete;
1152: # 631 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       template<typename _Up, typename... _Args>
1152:  static void
1152:  construct(allocator_type&, _Up* __p, _Args&&... __args)
1152:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1152:  { std::_Construct(__p, std::forward<_Args>(__args)...); }
1152: # 644 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:       template<typename _Up>
1152:  static void
1152:  destroy(allocator_type&, _Up* __p)
1152:  noexcept(is_nothrow_destructible<_Up>::value)
1152:  { std::_Destroy(__p); }
1152: 
1152: 
1152:       static size_type
1152:       max_size(const allocator_type&) = delete;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       static allocator_type
1152:       select_on_container_copy_construction(const allocator_type& __rhs)
1152:       { return __rhs; }
1152:     };
1152: # 676 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:   template<typename _Alloc>
1152:     constexpr inline void
1152:     __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
1152:     {
1152:       typedef allocator_traits<_Alloc> __traits;
1152:       typedef typename __traits::propagate_on_container_copy_assignment __pocca;
1152: 
1152:       if constexpr (__pocca::value)
1152:  __one = __two;
1152: 
1152: 
1152: 
1152:     }
1152: 
1152:   template<typename _Alloc>
1152:     constexpr _Alloc
1152:     __alloc_on_copy(const _Alloc& __a)
1152:     {
1152:       typedef allocator_traits<_Alloc> __traits;
1152:       return __traits::select_on_container_copy_construction(__a);
1152:     }
1152: # 708 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:   template<typename _Alloc>
1152:     constexpr inline void
1152:     __alloc_on_move(_Alloc& __one, _Alloc& __two)
1152:     {
1152:       typedef allocator_traits<_Alloc> __traits;
1152:       typedef typename __traits::propagate_on_container_move_assignment __pocma;
1152: 
1152:       if constexpr (__pocma::value)
1152:  __one = std::move(__two);
1152: 
1152: 
1152: 
1152:     }
1152: # 735 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:   template<typename _Alloc>
1152:     constexpr inline void
1152:     __alloc_on_swap(_Alloc& __one, _Alloc& __two)
1152:     {
1152:       typedef allocator_traits<_Alloc> __traits;
1152:       typedef typename __traits::propagate_on_container_swap __pocs;
1152: 
1152:       if constexpr (__pocs::value)
1152:  {
1152:    using std::swap;
1152:    swap(__one, __two);
1152:  }
1152: 
1152: 
1152: 
1152:     }
1152: 
1152:   template<typename _Alloc, typename _Tp,
1152:     typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
1152:     typename = void>
1152:     struct __is_alloc_insertable_impl
1152:     : false_type
1152:     { };
1152: 
1152:   template<typename _Alloc, typename _Tp, typename _ValueT>
1152:     struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
1152:       __void_t<decltype(allocator_traits<_Alloc>::construct(
1152:      std::declval<_Alloc&>(), std::declval<_ValueT*>(),
1152:      std::declval<_Tp>()))>>
1152:     : true_type
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Alloc>
1152:     struct __is_copy_insertable
1152:     : __is_alloc_insertable_impl<_Alloc,
1152:      typename _Alloc::value_type const&>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_copy_insertable<allocator<_Tp>>
1152:     : is_copy_constructible<_Tp>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Alloc>
1152:     struct __is_move_insertable
1152:     : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __is_move_insertable<allocator<_Tp>>
1152:     : is_move_constructible<_Tp>
1152:     { };
1152: 
1152: 
1152:   template<typename _Alloc, typename = void>
1152:     struct __is_allocator : false_type { };
1152: 
1152:   template<typename _Alloc>
1152:     struct __is_allocator<_Alloc,
1152:       __void_t<typename _Alloc::value_type,
1152:         decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
1152:     : true_type { };
1152: 
1152:   template<typename _Alloc>
1152:     using _RequireAllocator
1152:       = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
1152: 
1152:   template<typename _Alloc>
1152:     using _RequireNotAllocator
1152:       = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
1152: # 829 "/usr/include/c++/12/bits/alloc_traits.h" 3
1152:   template<typename _ForwardIterator, typename _Allocator>
1152:    
1152:     void
1152:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1152:       _Allocator& __alloc)
1152:     {
1152:       for (; __first != __last; ++__first)
1152: 
1152: 
1152: 
1152:  allocator_traits<_Allocator>::destroy(__alloc,
1152:            std::__addressof(*__first));
1152: 
1152:     }
1152: 
1152:   template<typename _ForwardIterator, typename _Tp>
1152:    
1152:     inline void
1152:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1152:       allocator<_Tp>&)
1152:     {
1152:       _Destroy(__first, __last);
1152:     }
1152: 
1152: 
1152: }
1152: # 35 "/usr/include/c++/12/ext/alloc_traits.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: template<typename _Alloc, typename = typename _Alloc::value_type>
1152:   struct __alloc_traits
1152: 
1152:   : std::allocator_traits<_Alloc>
1152: 
1152:   {
1152:     typedef _Alloc allocator_type;
1152: 
1152:     typedef std::allocator_traits<_Alloc> _Base_type;
1152:     typedef typename _Base_type::value_type value_type;
1152:     typedef typename _Base_type::pointer pointer;
1152:     typedef typename _Base_type::const_pointer const_pointer;
1152:     typedef typename _Base_type::size_type size_type;
1152:     typedef typename _Base_type::difference_type difference_type;
1152: 
1152:     typedef value_type& reference;
1152:     typedef const value_type& const_reference;
1152:     using _Base_type::allocate;
1152:     using _Base_type::deallocate;
1152:     using _Base_type::construct;
1152:     using _Base_type::destroy;
1152:     using _Base_type::max_size;
1152: 
1152:   private:
1152:     template<typename _Ptr>
1152:       using __is_custom_pointer
1152:  = std::__and_<std::is_same<pointer, _Ptr>,
1152:         std::__not_<std::is_pointer<_Ptr>>>;
1152: 
1152:   public:
1152: 
1152:     template<typename _Ptr, typename... _Args>
1152:       static constexpr
1152:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1152:       construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
1152:       noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
1152:            std::forward<_Args>(__args)...)))
1152:       {
1152:  _Base_type::construct(__a, std::__to_address(__p),
1152:          std::forward<_Args>(__args)...);
1152:       }
1152: 
1152: 
1152:     template<typename _Ptr>
1152:       static constexpr
1152:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1152:       destroy(_Alloc& __a, _Ptr __p)
1152:       noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
1152:       { _Base_type::destroy(__a, std::__to_address(__p)); }
1152: 
1152:     static constexpr _Alloc _S_select_on_copy(const _Alloc& __a)
1152:     { return _Base_type::select_on_container_copy_construction(__a); }
1152: 
1152:     static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
1152:     { std::__alloc_on_swap(__a, __b); }
1152: 
1152:     static constexpr bool _S_propagate_on_copy_assign()
1152:     { return _Base_type::propagate_on_container_copy_assignment::value; }
1152: 
1152:     static constexpr bool _S_propagate_on_move_assign()
1152:     { return _Base_type::propagate_on_container_move_assignment::value; }
1152: 
1152:     static constexpr bool _S_propagate_on_swap()
1152:     { return _Base_type::propagate_on_container_swap::value; }
1152: 
1152:     static constexpr bool _S_always_equal()
1152:     { return _Base_type::is_always_equal::value; }
1152: 
1152:     static constexpr bool _S_nothrow_move()
1152:     { return _S_propagate_on_move_assign() || _S_always_equal(); }
1152: 
1152:     template<typename _Tp>
1152:       struct rebind
1152:       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
1152: # 166 "/usr/include/c++/12/ext/alloc_traits.h" 3
1152:   };
1152: 
1152: 
1152: }
1152: # 40 "/usr/include/c++/12/bits/basic_string.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/string_view" 1 3
1152: # 36 "/usr/include/c++/12/string_view" 3
1152:        
1152: # 37 "/usr/include/c++/12/string_view" 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/bits/functional_hash.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/functional_hash.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/functional_hash.h" 3
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/bits/hash_bytes.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/hash_bytes.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/hash_bytes.h" 3
1152: 
1152: 
1152: 
1152: namespace std
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   size_t
1152:   _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   size_t
1152:   _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1152: 
1152: 
1152: }
1152: # 37 "/usr/include/c++/12/bits/functional_hash.h" 2 3
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: # 50 "/usr/include/c++/12/bits/functional_hash.h" 3
1152:   template<typename _Result, typename _Arg>
1152:     struct __hash_base
1152:     {
1152:       typedef _Result result_type [[__deprecated__]];
1152:       typedef _Arg argument_type [[__deprecated__]];
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct hash;
1152: 
1152:   template<typename _Tp, typename = void>
1152:     struct __poison_hash
1152:     {
1152:       static constexpr bool __enable_hash_call = false;
1152:     private:
1152: 
1152:       __poison_hash(__poison_hash&&);
1152:       ~__poison_hash();
1152:     };
1152: 
1152:   template<typename _Tp>
1152:     struct __poison_hash<_Tp, __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
1152:     {
1152:       static constexpr bool __enable_hash_call = true;
1152:     };
1152: 
1152: 
1152:   template<typename _Tp, bool = is_enum<_Tp>::value>
1152:     struct __hash_enum
1152:     {
1152:     private:
1152: 
1152:       __hash_enum(__hash_enum&&);
1152:       ~__hash_enum();
1152:     };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp>
1152:     {
1152:       size_t
1152:       operator()(_Tp __val) const noexcept
1152:       {
1152:        using __type = typename underlying_type<_Tp>::type;
1152:        return hash<__type>{}(static_cast<__type>(__val));
1152:       }
1152:     };
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct hash : __hash_enum<_Tp>
1152:     { };
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
1152:     {
1152:       size_t
1152:       operator()(_Tp* __p) const noexcept
1152:       { return reinterpret_cast<size_t>(__p); }
1152:     };
1152: # 125 "/usr/include/c++/12/bits/functional_hash.h" 3
1152:   template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
1152: 
1152: 
1152:   template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
1152: # 201 "/usr/include/c++/12/bits/functional_hash.h" 3
1152:   struct _Hash_impl
1152:   {
1152:     static size_t
1152:     hash(const void* __ptr, size_t __clength,
1152:   size_t __seed = static_cast<size_t>(0xc70f6907UL))
1152:     { return _Hash_bytes(__ptr, __clength, __seed); }
1152: 
1152:     template<typename _Tp>
1152:       static size_t
1152:       hash(const _Tp& __val)
1152:       { return hash(&__val, sizeof(__val)); }
1152: 
1152:     template<typename _Tp>
1152:       static size_t
1152:       __hash_combine(const _Tp& __val, size_t __hash)
1152:       { return hash(&__val, sizeof(__val), __hash); }
1152:   };
1152: 
1152: 
1152:   struct _Fnv_hash_impl
1152:   {
1152:     static size_t
1152:     hash(const void* __ptr, size_t __clength,
1152:   size_t __seed = static_cast<size_t>(2166136261UL))
1152:     { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
1152: 
1152:     template<typename _Tp>
1152:       static size_t
1152:       hash(const _Tp& __val)
1152:       { return hash(&__val, sizeof(__val)); }
1152: 
1152:     template<typename _Tp>
1152:       static size_t
1152:       __hash_combine(const _Tp& __val, size_t __hash)
1152:       { return hash(&__val, sizeof(__val), __hash); }
1152:   };
1152: 
1152: 
1152:   template<>
1152:     struct hash<float> : public __hash_base<size_t, float>
1152:     {
1152:       size_t
1152:       operator()(float __val) const noexcept
1152:       {
1152: 
1152:  return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
1152:       }
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct hash<double> : public __hash_base<size_t, double>
1152:     {
1152:       size_t
1152:       operator()(double __val) const noexcept
1152:       {
1152: 
1152:  return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
1152:       }
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct hash<long double>
1152:     : public __hash_base<size_t, long double>
1152:     {
1152:       __attribute__ ((__pure__)) size_t
1152:       operator()(long double __val) const noexcept;
1152:     };
1152: 
1152: 
1152:   template<>
1152:     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
1152:     {
1152:       size_t
1152:       operator()(nullptr_t) const noexcept
1152:       { return 0; }
1152:     };
1152: # 287 "/usr/include/c++/12/bits/functional_hash.h" 3
1152:   template<typename _Hash>
1152:     struct __is_fast_hash : public std::true_type
1152:     { };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<long double>> : public std::false_type
1152:     { };
1152: 
1152: 
1152: }
1152: # 44 "/usr/include/c++/12/string_view" 2 3
1152: # 53 "/usr/include/c++/12/string_view" 3
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   constexpr size_t
1152:   __sv_check(size_t __size, size_t __pos, const char* __s)
1152:   {
1152:     if (__pos > __size)
1152:       __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)")
1152:                         , __s, __pos, __size);
1152:     return __pos;
1152:   }
1152: 
1152: 
1152: 
1152:   constexpr size_t
1152:   __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
1152:   {
1152:    const bool __testoff = __off < __size - __pos;
1152:    return __testoff ? __off : __size - __pos;
1152:   }
1152: # 99 "/usr/include/c++/12/string_view" 3
1152:   template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
1152:     class basic_string_view
1152:     {
1152:       static_assert(!is_array_v<_CharT>);
1152:       static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>);
1152:       static_assert(is_same_v<_CharT, typename _Traits::char_type>);
1152: 
1152:     public:
1152: 
1152: 
1152:       using traits_type = _Traits;
1152:       using value_type = _CharT;
1152:       using pointer = value_type*;
1152:       using const_pointer = const value_type*;
1152:       using reference = value_type&;
1152:       using const_reference = const value_type&;
1152:       using const_iterator = const value_type*;
1152:       using iterator = const_iterator;
1152:       using const_reverse_iterator = std::reverse_iterator<const_iterator>;
1152:       using reverse_iterator = const_reverse_iterator;
1152:       using size_type = size_t;
1152:       using difference_type = ptrdiff_t;
1152:       static constexpr size_type npos = size_type(-1);
1152: 
1152: 
1152: 
1152:       constexpr
1152:       basic_string_view() noexcept
1152:       : _M_len{0}, _M_str{nullptr}
1152:       { }
1152: 
1152:       constexpr basic_string_view(const basic_string_view&) noexcept = default;
1152: 
1152:       __attribute__((__nonnull__)) constexpr
1152:       basic_string_view(const _CharT* __str) noexcept
1152:       : _M_len{traits_type::length(__str)},
1152:  _M_str{__str}
1152:       { }
1152: 
1152:       constexpr
1152:       basic_string_view(const _CharT* __str, size_type __len) noexcept
1152:       : _M_len{__len}, _M_str{__str}
1152:       { }
1152: # 176 "/usr/include/c++/12/string_view" 3
1152:       constexpr basic_string_view&
1152:       operator=(const basic_string_view&) noexcept = default;
1152: 
1152: 
1152: 
1152:       constexpr const_iterator
1152:       begin() const noexcept
1152:       { return this->_M_str; }
1152: 
1152:       constexpr const_iterator
1152:       end() const noexcept
1152:       { return this->_M_str + this->_M_len; }
1152: 
1152:       constexpr const_iterator
1152:       cbegin() const noexcept
1152:       { return this->_M_str; }
1152: 
1152:       constexpr const_iterator
1152:       cend() const noexcept
1152:       { return this->_M_str + this->_M_len; }
1152: 
1152:       constexpr const_reverse_iterator
1152:       rbegin() const noexcept
1152:       { return const_reverse_iterator(this->end()); }
1152: 
1152:       constexpr const_reverse_iterator
1152:       rend() const noexcept
1152:       { return const_reverse_iterator(this->begin()); }
1152: 
1152:       constexpr const_reverse_iterator
1152:       crbegin() const noexcept
1152:       { return const_reverse_iterator(this->end()); }
1152: 
1152:       constexpr const_reverse_iterator
1152:       crend() const noexcept
1152:       { return const_reverse_iterator(this->begin()); }
1152: 
1152: 
1152: 
1152:       constexpr size_type
1152:       size() const noexcept
1152:       { return this->_M_len; }
1152: 
1152:       constexpr size_type
1152:       length() const noexcept
1152:       { return _M_len; }
1152: 
1152:       constexpr size_type
1152:       max_size() const noexcept
1152:       {
1152:  return (npos - sizeof(size_type) - sizeof(void*))
1152:   / sizeof(value_type) / 4;
1152:       }
1152: 
1152:       [[nodiscard]] constexpr bool
1152:       empty() const noexcept
1152:       { return this->_M_len == 0; }
1152: 
1152: 
1152: 
1152:       constexpr const_reference
1152:       operator[](size_type __pos) const noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(__pos < this->_M_len)) __builtin_unreachable(); } while (false);
1152:  return *(this->_M_str + __pos);
1152:       }
1152: 
1152:       constexpr const_reference
1152:       at(size_type __pos) const
1152:       {
1152:  if (__pos >= _M_len)
1152:    __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)")
1152: 
1152:                             , __pos, this->size());
1152:  return *(this->_M_str + __pos);
1152:       }
1152: 
1152:       constexpr const_reference
1152:       front() const noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1152:  return *this->_M_str;
1152:       }
1152: 
1152:       constexpr const_reference
1152:       back() const noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1152:  return *(this->_M_str + this->_M_len - 1);
1152:       }
1152: 
1152:       constexpr const_pointer
1152:       data() const noexcept
1152:       { return this->_M_str; }
1152: 
1152: 
1152: 
1152:       constexpr void
1152:       remove_prefix(size_type __n) noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false);
1152:  this->_M_str += __n;
1152:  this->_M_len -= __n;
1152:       }
1152: 
1152:       constexpr void
1152:       remove_suffix(size_type __n) noexcept
1152:       { this->_M_len -= __n; }
1152: 
1152:       constexpr void
1152:       swap(basic_string_view& __sv) noexcept
1152:       {
1152:  auto __tmp = *this;
1152:  *this = __sv;
1152:  __sv = __tmp;
1152:       }
1152: 
1152: 
1152: 
1152:      
1152:       size_type
1152:       copy(_CharT* __str, size_type __n, size_type __pos = 0) const
1152:       {
1152:  ;
1152:  __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
1152:  const size_type __rlen = std::min(__n, _M_len - __pos);
1152: 
1152: 
1152:  traits_type::copy(__str, data() + __pos, __rlen);
1152:  return __rlen;
1152:       }
1152: 
1152:       constexpr basic_string_view
1152:       substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
1152:       {
1152:  __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
1152:  const size_type __rlen = std::min(__n, _M_len - __pos);
1152:  return basic_string_view{_M_str + __pos, __rlen};
1152:       }
1152: 
1152:       constexpr int
1152:       compare(basic_string_view __str) const noexcept
1152:       {
1152:  const size_type __rlen = std::min(this->_M_len, __str._M_len);
1152:  int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
1152:  if (__ret == 0)
1152:    __ret = _S_compare(this->_M_len, __str._M_len);
1152:  return __ret;
1152:       }
1152: 
1152:       constexpr int
1152:       compare(size_type __pos1, size_type __n1, basic_string_view __str) const
1152:       { return this->substr(__pos1, __n1).compare(__str); }
1152: 
1152:       constexpr int
1152:       compare(size_type __pos1, size_type __n1,
1152:        basic_string_view __str, size_type __pos2, size_type __n2) const
1152:       {
1152:  return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
1152:       }
1152: 
1152:       __attribute__((__nonnull__)) constexpr int
1152:       compare(const _CharT* __str) const noexcept
1152:       { return this->compare(basic_string_view{__str}); }
1152: 
1152:       __attribute__((__nonnull__)) constexpr int
1152:       compare(size_type __pos1, size_type __n1, const _CharT* __str) const
1152:       { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
1152: 
1152:       constexpr int
1152:       compare(size_type __pos1, size_type __n1,
1152:        const _CharT* __str, size_type __n2) const noexcept(false)
1152:       {
1152:  return this->substr(__pos1, __n1)
1152:      .compare(basic_string_view(__str, __n2));
1152:       }
1152: # 402 "/usr/include/c++/12/string_view" 3
1152:       constexpr size_type
1152:       find(basic_string_view __str, size_type __pos = 0) const noexcept
1152:       { return this->find(__str._M_str, __pos, __str._M_len); }
1152: 
1152:       constexpr size_type
1152:       find(_CharT __c, size_type __pos = 0) const noexcept;
1152: 
1152:       constexpr size_type
1152:       find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1152: 
1152:       __attribute__((__nonnull__)) constexpr size_type
1152:       find(const _CharT* __str, size_type __pos = 0) const noexcept
1152:       { return this->find(__str, __pos, traits_type::length(__str)); }
1152: 
1152:       constexpr size_type
1152:       rfind(basic_string_view __str, size_type __pos = npos) const noexcept
1152:       { return this->rfind(__str._M_str, __pos, __str._M_len); }
1152: 
1152:       constexpr size_type
1152:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1152: 
1152:       constexpr size_type
1152:       rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1152: 
1152:       __attribute__((__nonnull__)) constexpr size_type
1152:       rfind(const _CharT* __str, size_type __pos = npos) const noexcept
1152:       { return this->rfind(__str, __pos, traits_type::length(__str)); }
1152: 
1152:       constexpr size_type
1152:       find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
1152:       { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
1152: 
1152:       constexpr size_type
1152:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1152:       { return this->find(__c, __pos); }
1152: 
1152:       constexpr size_type
1152:       find_first_of(const _CharT* __str, size_type __pos,
1152:       size_type __n) const noexcept;
1152: 
1152:       __attribute__((__nonnull__)) constexpr size_type
1152:       find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
1152:       { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
1152: 
1152:       constexpr size_type
1152:       find_last_of(basic_string_view __str,
1152:      size_type __pos = npos) const noexcept
1152:       { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
1152: 
1152:       constexpr size_type
1152:       find_last_of(_CharT __c, size_type __pos=npos) const noexcept
1152:       { return this->rfind(__c, __pos); }
1152: 
1152:       constexpr size_type
1152:       find_last_of(const _CharT* __str, size_type __pos,
1152:      size_type __n) const noexcept;
1152: 
1152:       __attribute__((__nonnull__)) constexpr size_type
1152:       find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
1152:       { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
1152: 
1152:       constexpr size_type
1152:       find_first_not_of(basic_string_view __str,
1152:    size_type __pos = 0) const noexcept
1152:       { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
1152: 
1152:       constexpr size_type
1152:       find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
1152: 
1152:       constexpr size_type
1152:       find_first_not_of(const _CharT* __str,
1152:    size_type __pos, size_type __n) const noexcept;
1152: 
1152:       __attribute__((__nonnull__)) constexpr size_type
1152:       find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
1152:       {
1152:  return this->find_first_not_of(__str, __pos,
1152:            traits_type::length(__str));
1152:       }
1152: 
1152:       constexpr size_type
1152:       find_last_not_of(basic_string_view __str,
1152:          size_type __pos = npos) const noexcept
1152:       { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
1152: 
1152:       constexpr size_type
1152:       find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
1152: 
1152:       constexpr size_type
1152:       find_last_not_of(const _CharT* __str,
1152:          size_type __pos, size_type __n) const noexcept;
1152: 
1152:       __attribute__((__nonnull__)) constexpr size_type
1152:       find_last_not_of(const _CharT* __str,
1152:          size_type __pos = npos) const noexcept
1152:       {
1152:  return this->find_last_not_of(__str, __pos,
1152:           traits_type::length(__str));
1152:       }
1152: 
1152:     private:
1152: 
1152:       static constexpr int
1152:       _S_compare(size_type __n1, size_type __n2) noexcept
1152:       {
1152:  using __limits = __gnu_cxx::__int_traits<int>;
1152:  const difference_type __diff = __n1 - __n2;
1152:  if (__diff > __limits::__max)
1152:    return __limits::__max;
1152:  if (__diff < __limits::__min)
1152:    return __limits::__min;
1152:  return static_cast<int>(__diff);
1152:       }
1152: 
1152:       size_t _M_len;
1152:       const _CharT* _M_str;
1152:     };
1152: # 538 "/usr/include/c++/12/string_view" 3
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator==(basic_string_view<_CharT, _Traits> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator==(basic_string_view<_CharT, _Traits> __x,
1152:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1152:     noexcept
1152:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1152: # 567 "/usr/include/c++/12/string_view" 3
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator!=(basic_string_view<_CharT, _Traits> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return !(__x == __y); }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator!=(basic_string_view<_CharT, _Traits> __x,
1152:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1152:     noexcept
1152:     { return !(__x == __y); }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return !(__x == __y); }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator< (basic_string_view<_CharT, _Traits> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) < 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator< (basic_string_view<_CharT, _Traits> __x,
1152:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1152:     noexcept
1152:     { return __x.compare(__y) < 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) < 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator> (basic_string_view<_CharT, _Traits> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) > 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator> (basic_string_view<_CharT, _Traits> __x,
1152:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1152:     noexcept
1152:     { return __x.compare(__y) > 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) > 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator<=(basic_string_view<_CharT, _Traits> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) <= 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator<=(basic_string_view<_CharT, _Traits> __x,
1152:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1152:     noexcept
1152:     { return __x.compare(__y) <= 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) <= 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator>=(basic_string_view<_CharT, _Traits> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) >= 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator>=(basic_string_view<_CharT, _Traits> __x,
1152:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1152:     noexcept
1152:     { return __x.compare(__y) >= 0; }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr bool
1152:     operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1152:                basic_string_view<_CharT, _Traits> __y) noexcept
1152:     { return __x.compare(__y) >= 0; }
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     inline basic_ostream<_CharT, _Traits>&
1152:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1152:         basic_string_view<_CharT,_Traits> __str)
1152:     { return __ostream_insert(__os, __str.data(), __str.size()); }
1152: 
1152: 
1152: 
1152: 
1152:   using string_view = basic_string_view<char>;
1152:   using wstring_view = basic_string_view<wchar_t>;
1152: 
1152: 
1152: 
1152:   using u16string_view = basic_string_view<char16_t>;
1152:   using u32string_view = basic_string_view<char32_t>;
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     struct hash;
1152: 
1152:   template<>
1152:     struct hash<string_view>
1152:     : public __hash_base<size_t, string_view>
1152:     {
1152:       size_t
1152:       operator()(const string_view& __str) const noexcept
1152:       { return std::_Hash_impl::hash(__str.data(), __str.length()); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<string_view>> : std::false_type
1152:     { };
1152: 
1152:   template<>
1152:     struct hash<wstring_view>
1152:     : public __hash_base<size_t, wstring_view>
1152:     {
1152:       size_t
1152:       operator()(const wstring_view& __s) const noexcept
1152:       { return std::_Hash_impl::hash(__s.data(),
1152:                                      __s.length() * sizeof(wchar_t)); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<wstring_view>> : std::false_type
1152:     { };
1152: # 734 "/usr/include/c++/12/string_view" 3
1152:   template<>
1152:     struct hash<u16string_view>
1152:     : public __hash_base<size_t, u16string_view>
1152:     {
1152:       size_t
1152:       operator()(const u16string_view& __s) const noexcept
1152:       { return std::_Hash_impl::hash(__s.data(),
1152:                                      __s.length() * sizeof(char16_t)); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<u16string_view>> : std::false_type
1152:     { };
1152: 
1152:   template<>
1152:     struct hash<u32string_view>
1152:     : public __hash_base<size_t, u32string_view>
1152:     {
1152:       size_t
1152:       operator()(const u32string_view& __s) const noexcept
1152:       { return std::_Hash_impl::hash(__s.data(),
1152:                                      __s.length() * sizeof(char32_t)); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<u32string_view>> : std::false_type
1152:     { };
1152: 
1152:   inline namespace literals
1152:   {
1152:   inline namespace string_view_literals
1152:   {
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1152:     inline constexpr basic_string_view<char>
1152:     operator""sv(const char* __str, size_t __len) noexcept
1152:     { return basic_string_view<char>{__str, __len}; }
1152: 
1152:     inline constexpr basic_string_view<wchar_t>
1152:     operator""sv(const wchar_t* __str, size_t __len) noexcept
1152:     { return basic_string_view<wchar_t>{__str, __len}; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:     inline constexpr basic_string_view<char16_t>
1152:     operator""sv(const char16_t* __str, size_t __len) noexcept
1152:     { return basic_string_view<char16_t>{__str, __len}; }
1152: 
1152:     inline constexpr basic_string_view<char32_t>
1152:     operator""sv(const char32_t* __str, size_t __len) noexcept
1152:     { return basic_string_view<char32_t>{__str, __len}; }
1152: 
1152: #pragma GCC diagnostic pop
1152:   }
1152:   }
1152: # 808 "/usr/include/c++/12/string_view" 3
1152: 
1152: }
1152: 
1152: # 1 "/usr/include/c++/12/bits/string_view.tcc" 1 3
1152: # 37 "/usr/include/c++/12/bits/string_view.tcc" 3
1152:        
1152: # 38 "/usr/include/c++/12/bits/string_view.tcc" 3
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1152:     {
1152:       ;
1152: 
1152:       if (__n == 0)
1152:  return __pos <= _M_len ? __pos : npos;
1152:       if (__pos >= _M_len)
1152:  return npos;
1152: 
1152:       const _CharT __elem0 = __str[0];
1152:       const _CharT* __first = _M_str + __pos;
1152:       const _CharT* const __last = _M_str + _M_len;
1152:       size_type __len = _M_len - __pos;
1152: 
1152:       while (__len >= __n)
1152:  {
1152: 
1152:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1152:    if (!__first)
1152:      return npos;
1152: 
1152: 
1152: 
1152:    if (traits_type::compare(__first, __str, __n) == 0)
1152:      return __first - _M_str;
1152:    __len = __last - ++__first;
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       size_type __ret = npos;
1152:       if (__pos < this->_M_len)
1152:  {
1152:    const size_type __n = this->_M_len - __pos;
1152:    const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
1152:    if (__p)
1152:      __ret = __p - this->_M_str;
1152:  }
1152:       return __ret;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1152:     {
1152:       ;
1152: 
1152:       if (__n <= this->_M_len)
1152:  {
1152:    __pos = std::min(size_type(this->_M_len - __n), __pos);
1152:    do
1152:      {
1152:        if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
1152:   return __pos;
1152:      }
1152:    while (__pos-- > 0);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     rfind(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       size_type __size = this->_M_len;
1152:       if (__size > 0)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    for (++__size; __size-- > 0; )
1152:      if (traits_type::eq(this->_M_str[__size], __c))
1152:        return __size;
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find_first_of(const _CharT* __str, size_type __pos,
1152:     size_type __n) const noexcept
1152:     {
1152:       ;
1152:       for (; __n && __pos < this->_M_len; ++__pos)
1152:  {
1152:    const _CharT* __p = traits_type::find(__str, __n,
1152:       this->_M_str[__pos]);
1152:    if (__p)
1152:      return __pos;
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find_last_of(const _CharT* __str, size_type __pos,
1152:    size_type __n) const noexcept
1152:     {
1152:       ;
1152:       size_type __size = this->size();
1152:       if (__size && __n)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    do
1152:      {
1152:        if (traits_type::find(__str, __n, this->_M_str[__size]))
1152:   return __size;
1152:      }
1152:    while (__size-- != 0);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find_first_not_of(const _CharT* __str, size_type __pos,
1152:         size_type __n) const noexcept
1152:     {
1152:       ;
1152:       for (; __pos < this->_M_len; ++__pos)
1152:  if (!traits_type::find(__str, __n, this->_M_str[__pos]))
1152:    return __pos;
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       for (; __pos < this->_M_len; ++__pos)
1152:  if (!traits_type::eq(this->_M_str[__pos], __c))
1152:    return __pos;
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find_last_not_of(const _CharT* __str, size_type __pos,
1152:        size_type __n) const noexcept
1152:     {
1152:       ;
1152:       size_type __size = this->_M_len;
1152:       if (__size)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    do
1152:      {
1152:        if (!traits_type::find(__str, __n, this->_M_str[__size]))
1152:   return __size;
1152:      }
1152:    while (__size--);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits>
1152:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1152:     basic_string_view<_CharT, _Traits>::
1152:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       size_type __size = this->_M_len;
1152:       if (__size)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    do
1152:      {
1152:        if (!traits_type::eq(this->_M_str[__size], __c))
1152:   return __size;
1152:      }
1152:    while (__size--);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152: 
1152: }
1152: # 812 "/usr/include/c++/12/string_view" 2 3
1152: # 48 "/usr/include/c++/12/bits/basic_string.h" 2 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: namespace __cxx11 {
1152: # 84 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     class basic_string
1152:     {
1152:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1152:  rebind<_CharT>::other _Char_alloc_type;
1152: 
1152: 
1152:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1152: # 122 "/usr/include/c++/12/bits/basic_string.h" 3
1152:     public:
1152:       typedef _Traits traits_type;
1152:       typedef typename _Traits::char_type value_type;
1152:       typedef _Char_alloc_type allocator_type;
1152:       typedef typename _Alloc_traits::size_type size_type;
1152:       typedef typename _Alloc_traits::difference_type difference_type;
1152:       typedef typename _Alloc_traits::reference reference;
1152:       typedef typename _Alloc_traits::const_reference const_reference;
1152:       typedef typename _Alloc_traits::pointer pointer;
1152:       typedef typename _Alloc_traits::const_pointer const_pointer;
1152:       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
1152:       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
1152:        const_iterator;
1152:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1152:       typedef std::reverse_iterator<iterator> reverse_iterator;
1152: 
1152: 
1152:       static const size_type npos = static_cast<size_type>(-1);
1152: 
1152:     protected:
1152: 
1152: 
1152: 
1152: 
1152:       typedef const_iterator __const_iterator;
1152: 
1152: 
1152:     private:
1152: 
1152: 
1152:       typedef basic_string_view<_CharT, _Traits> __sv_type;
1152: 
1152:       template<typename _Tp, typename _Res>
1152:  using _If_sv = enable_if_t<
1152:    __and_<is_convertible<const _Tp&, __sv_type>,
1152:    __not_<is_convertible<const _Tp*, const basic_string*>>,
1152:    __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
1152:    _Res>;
1152: 
1152: 
1152:      
1152:       static __sv_type
1152:       _S_to_string_view(__sv_type __svt) noexcept
1152:       { return __svt; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       struct __sv_wrapper
1152:       {
1152:  explicit
1152:  __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
1152: 
1152:  __sv_type _M_sv;
1152:       };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       explicit
1152:       basic_string(__sv_wrapper __svw, const _Alloc& __a)
1152:       : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
1152: 
1152: 
1152: 
1152:       struct _Alloc_hider : allocator_type
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  _Alloc_hider(pointer __dat, const _Alloc& __a)
1152:  : allocator_type(__a), _M_p(__dat) { }
1152: 
1152: 
1152:  _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
1152:  : allocator_type(std::move(__a)), _M_p(__dat) { }
1152: 
1152: 
1152:  pointer _M_p;
1152:       };
1152: 
1152:       _Alloc_hider _M_dataplus;
1152:       size_type _M_string_length;
1152: 
1152:       enum { _S_local_capacity = 15 / sizeof(_CharT) };
1152: 
1152:       union
1152:       {
1152:  _CharT _M_local_buf[_S_local_capacity + 1];
1152:  size_type _M_allocated_capacity;
1152:       };
1152: 
1152:      
1152:       void
1152:       _M_data(pointer __p)
1152:       { _M_dataplus._M_p = __p; }
1152: 
1152:      
1152:       void
1152:       _M_length(size_type __length)
1152:       { _M_string_length = __length; }
1152: 
1152:      
1152:       pointer
1152:       _M_data() const
1152:       { return _M_dataplus._M_p; }
1152: 
1152:      
1152:       pointer
1152:       _M_local_data()
1152:       {
1152: 
1152:  return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
1152: 
1152: 
1152: 
1152:       }
1152: 
1152:      
1152:       const_pointer
1152:       _M_local_data() const
1152:       {
1152: 
1152:  return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
1152: 
1152: 
1152: 
1152:       }
1152: 
1152:      
1152:       void
1152:       _M_capacity(size_type __capacity)
1152:       { _M_allocated_capacity = __capacity; }
1152: 
1152:      
1152:       void
1152:       _M_set_length(size_type __n)
1152:       {
1152:  _M_length(__n);
1152:  traits_type::assign(_M_data()[__n], _CharT());
1152:       }
1152: 
1152:      
1152:       bool
1152:       _M_is_local() const
1152:       { return _M_data() == _M_local_data(); }
1152: 
1152: 
1152:      
1152:       pointer
1152:       _M_create(size_type&, size_type);
1152: 
1152:      
1152:       void
1152:       _M_dispose()
1152:       {
1152:  if (!_M_is_local())
1152:    _M_destroy(_M_allocated_capacity);
1152:       }
1152: 
1152:      
1152:       void
1152:       _M_destroy(size_type __size) throw()
1152:       { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
1152: # 319 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _InIterator>
1152: 
1152:         void
1152:         _M_construct(_InIterator __beg, _InIterator __end,
1152:        std::input_iterator_tag);
1152: 
1152: 
1152: 
1152:       template<typename _FwdIterator>
1152: 
1152:         void
1152:         _M_construct(_FwdIterator __beg, _FwdIterator __end,
1152:        std::forward_iterator_tag);
1152: 
1152:      
1152:       void
1152:       _M_construct(size_type __req, _CharT __c);
1152: 
1152:      
1152:       allocator_type&
1152:       _M_get_allocator()
1152:       { return _M_dataplus; }
1152: 
1152:      
1152:       const allocator_type&
1152:       _M_get_allocator() const
1152:       { return _M_dataplus; }
1152: 
1152: 
1152:       __attribute__((__always_inline__))
1152:       constexpr
1152:       pointer
1152:       _M_use_local_data() noexcept
1152:       {
1152: 
1152: 
1152: 
1152: 
1152: 
1152:  return _M_local_data();
1152:       }
1152: 
1152:     private:
1152: # 377 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       _M_check(size_type __pos, const char* __s) const
1152:       {
1152:  if (__pos > this->size())
1152:    __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)")
1152:                                          ,
1152:        __s, __pos, this->size());
1152:  return __pos;
1152:       }
1152: 
1152:      
1152:       void
1152:       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
1152:       {
1152:  if (this->max_size() - (this->size() - __n1) < __n2)
1152:    __throw_length_error((__s));
1152:       }
1152: 
1152: 
1152: 
1152:      
1152:       size_type
1152:       _M_limit(size_type __pos, size_type __off) const noexcept
1152:       {
1152:  const bool __testoff = __off < this->size() - __pos;
1152:  return __testoff ? __off : this->size() - __pos;
1152:       }
1152: 
1152: 
1152:       bool
1152:       _M_disjunct(const _CharT* __s) const noexcept
1152:       {
1152:  return (less<const _CharT*>()(__s, _M_data())
1152:   || less<const _CharT*>()(_M_data() + this->size(), __s));
1152:       }
1152: 
1152: 
1152: 
1152:      
1152:       static void
1152:       _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
1152:       {
1152:  if (__n == 1)
1152:    traits_type::assign(*__d, *__s);
1152:  else
1152:    traits_type::copy(__d, __s, __n);
1152:       }
1152: 
1152:      
1152:       static void
1152:       _S_move(_CharT* __d, const _CharT* __s, size_type __n)
1152:       {
1152:  if (__n == 1)
1152:    traits_type::assign(*__d, *__s);
1152:  else
1152:    traits_type::move(__d, __s, __n);
1152:       }
1152: 
1152:      
1152:       static void
1152:       _S_assign(_CharT* __d, size_type __n, _CharT __c)
1152:       {
1152:  if (__n == 1)
1152:    traits_type::assign(*__d, __c);
1152:  else
1152:    traits_type::assign(__d, __n, __c);
1152:       }
1152: 
1152: 
1152: 
1152:       template<class _Iterator>
1152: 
1152:         static void
1152:         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
1152:         {
1152:    for (; __k1 != __k2; ++__k1, (void)++__p)
1152:      traits_type::assign(*__p, *__k1);
1152:  }
1152: 
1152:      
1152:       static void
1152:       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept
1152:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1152: 
1152:      
1152:       static void
1152:       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
1152:       noexcept
1152:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1152: 
1152:      
1152:       static void
1152:       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept
1152:       { _S_copy(__p, __k1, __k2 - __k1); }
1152: 
1152:      
1152:       static void
1152:       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
1152:       noexcept
1152:       { _S_copy(__p, __k1, __k2 - __k1); }
1152: 
1152:      
1152:       static int
1152:       _S_compare(size_type __n1, size_type __n2) noexcept
1152:       {
1152:  const difference_type __d = difference_type(__n1 - __n2);
1152: 
1152:  if (__d > __gnu_cxx::__numeric_traits<int>::__max)
1152:    return __gnu_cxx::__numeric_traits<int>::__max;
1152:  else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
1152:    return __gnu_cxx::__numeric_traits<int>::__min;
1152:  else
1152:    return int(__d);
1152:       }
1152: 
1152:      
1152:       void
1152:       _M_assign(const basic_string&);
1152: 
1152:      
1152:       void
1152:       _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1152:   size_type __len2);
1152: 
1152:      
1152:       void
1152:       _M_erase(size_type __pos, size_type __n);
1152: 
1152:     public:
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string()
1152:       noexcept(is_nothrow_default_constructible<_Alloc>::value)
1152:       : _M_dataplus(_M_local_data())
1152:       {
1152:  _M_use_local_data();
1152:  _M_set_length(0);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       explicit
1152:       basic_string(const _Alloc& __a) noexcept
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       {
1152:  _M_use_local_data();
1152:  _M_set_length(0);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string(const basic_string& __str)
1152:       : _M_dataplus(_M_local_data(),
1152:       _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
1152:       {
1152:  _M_construct(__str._M_data(), __str._M_data() + __str.length(),
1152:        std::forward_iterator_tag());
1152:       }
1152: # 556 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string(const basic_string& __str, size_type __pos,
1152:      const _Alloc& __a = _Alloc())
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       {
1152:  const _CharT* __start = __str._M_data()
1152:    + __str._M_check(__pos, "basic_string::basic_string");
1152:  _M_construct(__start, __start + __str._M_limit(__pos, npos),
1152:        std::forward_iterator_tag());
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string(const basic_string& __str, size_type __pos,
1152:      size_type __n)
1152:       : _M_dataplus(_M_local_data())
1152:       {
1152:  const _CharT* __start = __str._M_data()
1152:    + __str._M_check(__pos, "basic_string::basic_string");
1152:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1152:        std::forward_iterator_tag());
1152:       }
1152: # 591 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string(const basic_string& __str, size_type __pos,
1152:      size_type __n, const _Alloc& __a)
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       {
1152:  const _CharT* __start
1152:    = __str._M_data() + __str._M_check(__pos, "string::string");
1152:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1152:        std::forward_iterator_tag());
1152:       }
1152: # 611 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string(const _CharT* __s, size_type __n,
1152:      const _Alloc& __a = _Alloc())
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       {
1152: 
1152:  if (__s == 0 && __n > 0)
1152:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1152:                                                  );
1152:  _M_construct(__s, __s + __n, std::forward_iterator_tag());
1152:       }
1152: # 631 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename = _RequireAllocator<_Alloc>>
1152: 
1152:      
1152:       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       {
1152: 
1152:  if (__s == 0)
1152:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1152:                                                  );
1152:  const _CharT* __end = __s + traits_type::length(__s);
1152:  _M_construct(__s, __end, forward_iterator_tag());
1152:       }
1152: # 654 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename = _RequireAllocator<_Alloc>>
1152: 
1152:      
1152:       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       { _M_construct(__n, __c); }
1152: # 669 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string(basic_string&& __str) noexcept
1152:       : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
1152:       {
1152:  if (__str._M_is_local())
1152:    {
1152:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1152:          __str.length() + 1);
1152:    }
1152:  else
1152:    {
1152:      _M_data(__str._M_data());
1152:      _M_capacity(__str._M_allocated_capacity);
1152:    }
1152: 
1152: 
1152: 
1152: 
1152:  _M_length(__str.length());
1152:  __str._M_data(__str._M_local_data());
1152:  __str._M_set_length(0);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
1152: 
1152:      
1152:       basic_string(const basic_string& __str, const _Alloc& __a)
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
1152: 
1152:      
1152:       basic_string(basic_string&& __str, const _Alloc& __a)
1152:       noexcept(_Alloc_traits::_S_always_equal())
1152:       : _M_dataplus(_M_local_data(), __a)
1152:       {
1152:  if (__str._M_is_local())
1152:    {
1152:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1152:          __str.length() + 1);
1152:      _M_length(__str.length());
1152:      __str._M_set_length(0);
1152:    }
1152:  else if (_Alloc_traits::_S_always_equal()
1152:      || __str.get_allocator() == __a)
1152:    {
1152:      _M_data(__str._M_data());
1152:      _M_length(__str.length());
1152:      _M_capacity(__str._M_allocated_capacity);
1152:      __str._M_data(__str._M_local_buf);
1152:      __str._M_set_length(0);
1152:    }
1152:  else
1152:    _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag());
1152:       }
1152: # 745 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _InputIterator,
1152:         typename = std::_RequireInputIter<_InputIterator>>
1152: 
1152: 
1152: 
1152: 
1152:         basic_string(_InputIterator __beg, _InputIterator __end,
1152:        const _Alloc& __a = _Alloc())
1152:  : _M_dataplus(_M_local_data(), __a)
1152:  {
1152: 
1152:    _M_construct(__beg, __end, std::__iterator_category(__beg));
1152: 
1152: 
1152: 
1152: 
1152:  }
1152: # 771 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp,
1152:         typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
1152: 
1152:  basic_string(const _Tp& __t, size_type __pos, size_type __n,
1152:        const _Alloc& __a = _Alloc())
1152:  : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       template<typename _Tp, typename = _If_sv<_Tp, void>>
1152: 
1152:  explicit
1152:  basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
1152:  : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       ~basic_string()
1152:       { _M_dispose(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       operator=(const basic_string& __str)
1152:       {
1152:  return this->assign(__str);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       operator=(const _CharT* __s)
1152:       { return this->assign(__s); }
1152: # 824 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       operator=(_CharT __c)
1152:       {
1152:  this->assign(1, __c);
1152:  return *this;
1152:       }
1152: # 842 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       operator=(basic_string&& __str)
1152:       noexcept(_Alloc_traits::_S_nothrow_move())
1152:       {
1152:  if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
1152:      && !_Alloc_traits::_S_always_equal()
1152:      && _M_get_allocator() != __str._M_get_allocator())
1152:    {
1152: 
1152:      _M_destroy(_M_allocated_capacity);
1152:      _M_data(_M_local_data());
1152:      _M_set_length(0);
1152:    }
1152: 
1152:  std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
1152: 
1152:  if (__str._M_is_local())
1152:    {
1152: 
1152: 
1152: 
1152:      if (__builtin_expect(std::__addressof(__str) != this, true))
1152:        {
1152:   if (__str.size())
1152:     this->_S_copy(_M_data(), __str._M_data(), __str.size());
1152:   _M_set_length(__str.size());
1152:        }
1152:    }
1152:  else if (_Alloc_traits::_S_propagate_on_move_assign()
1152:      || _Alloc_traits::_S_always_equal()
1152:      || _M_get_allocator() == __str._M_get_allocator())
1152:    {
1152: 
1152:      pointer __data = nullptr;
1152:      size_type __capacity;
1152:      if (!_M_is_local())
1152:        {
1152:   if (_Alloc_traits::_S_always_equal())
1152:     {
1152: 
1152:       __data = _M_data();
1152:       __capacity = _M_allocated_capacity;
1152:     }
1152:   else
1152:     _M_destroy(_M_allocated_capacity);
1152:        }
1152: 
1152:      _M_data(__str._M_data());
1152:      _M_length(__str.length());
1152:      _M_capacity(__str._M_allocated_capacity);
1152:      if (__data)
1152:        {
1152:   __str._M_data(__data);
1152:   __str._M_capacity(__capacity);
1152:        }
1152:      else
1152:        __str._M_data(__str._M_local_buf);
1152:    }
1152:  else
1152:    assign(__str);
1152:  __str.clear();
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       operator=(initializer_list<_CharT> __l)
1152:       {
1152:  this->assign(__l.begin(), __l.size());
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      template<typename _Tp>
1152:       
1152:        _If_sv<_Tp, basic_string&>
1152:        operator=(const _Tp& __svt)
1152:        { return this->assign(__svt); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       operator __sv_type() const noexcept
1152:       { return __sv_type(data(), size()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       iterator
1152:       begin() noexcept
1152:       { return iterator(_M_data()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_iterator
1152:       begin() const noexcept
1152:       { return const_iterator(_M_data()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       iterator
1152:       end() noexcept
1152:       { return iterator(_M_data() + this->size()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_iterator
1152:       end() const noexcept
1152:       { return const_iterator(_M_data() + this->size()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       reverse_iterator
1152:       rbegin() noexcept
1152:       { return reverse_iterator(this->end()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_reverse_iterator
1152:       rbegin() const noexcept
1152:       { return const_reverse_iterator(this->end()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       reverse_iterator
1152:       rend() noexcept
1152:       { return reverse_iterator(this->begin()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_reverse_iterator
1152:       rend() const noexcept
1152:       { return const_reverse_iterator(this->begin()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_iterator
1152:       cbegin() const noexcept
1152:       { return const_iterator(this->_M_data()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_iterator
1152:       cend() const noexcept
1152:       { return const_iterator(this->_M_data() + this->size()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_reverse_iterator
1152:       crbegin() const noexcept
1152:       { return const_reverse_iterator(this->end()); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_reverse_iterator
1152:       crend() const noexcept
1152:       { return const_reverse_iterator(this->begin()); }
1152: 
1152: 
1152:     public:
1152: 
1152: 
1152: 
1152:      
1152:       size_type
1152:       size() const noexcept
1152:       { return _M_string_length; }
1152: 
1152: 
1152: 
1152:      
1152:       size_type
1152:       length() const noexcept
1152:       { return _M_string_length; }
1152: 
1152: 
1152:      
1152:       size_type
1152:       max_size() const noexcept
1152:       { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; }
1152: # 1089 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       void
1152:       resize(size_type __n, _CharT __c);
1152: # 1103 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       void
1152:       resize(size_type __n)
1152:       { this->resize(__n, _CharT()); }
1152: 
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1152: 
1152:      
1152:       void
1152:       shrink_to_fit() noexcept
1152:       { reserve(); }
1152: #pragma GCC diagnostic pop
1152: # 1130 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       capacity() const noexcept
1152:       {
1152:  return _M_is_local() ? size_type(_S_local_capacity)
1152:                       : _M_allocated_capacity;
1152:       }
1152: # 1155 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       void
1152:       reserve(size_type __res_arg);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       void
1152:       reserve();
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       void
1152:       clear() noexcept
1152:       { _M_set_length(0); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       [[__nodiscard__]]
1152:       bool
1152:       empty() const noexcept
1152:       { return this->size() == 0; }
1152: # 1197 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       const_reference
1152:       operator[] (size_type __pos) const noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1152:  return _M_data()[__pos];
1152:       }
1152: # 1215 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       reference
1152:       operator[](size_type __pos)
1152:       {
1152: 
1152: 
1152:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1152: 
1152:  ;
1152:  return _M_data()[__pos];
1152:       }
1152: # 1237 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       const_reference
1152:       at(size_type __n) const
1152:       {
1152:  if (__n >= this->size())
1152:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1152: 
1152:                             ,
1152:        __n, this->size());
1152:  return _M_data()[__n];
1152:       }
1152: # 1259 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       reference
1152:       at(size_type __n)
1152:       {
1152:  if (__n >= size())
1152:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1152: 
1152:                             ,
1152:        __n, this->size());
1152:  return _M_data()[__n];
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       reference
1152:       front() noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1152:  return operator[](0);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_reference
1152:       front() const noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1152:  return operator[](0);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       reference
1152:       back() noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1152:  return operator[](this->size() - 1);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       const_reference
1152:       back() const noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1152:  return operator[](this->size() - 1);
1152:       }
1152: # 1327 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       operator+=(const basic_string& __str)
1152:       { return this->append(__str); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       operator+=(const _CharT* __s)
1152:       { return this->append(__s); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       operator+=(_CharT __c)
1152:       {
1152:  this->push_back(__c);
1152:  return *this;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       operator+=(initializer_list<_CharT> __l)
1152:       { return this->append(__l.begin(), __l.size()); }
1152: # 1373 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  operator+=(const _Tp& __svt)
1152:  { return this->append(__svt); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       append(const basic_string& __str)
1152:       { return this->append(__str._M_data(), __str.size()); }
1152: # 1403 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       append(const basic_string& __str, size_type __pos, size_type __n = npos)
1152:       { return this->append(__str._M_data()
1152:        + __str._M_check(__pos, "basic_string::append"),
1152:        __str._M_limit(__pos, __n)); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       append(const _CharT* __s, size_type __n)
1152:       {
1152:  ;
1152:  _M_check_length(size_type(0), __n, "basic_string::append");
1152:  return _M_append(__s, __n);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       append(const _CharT* __s)
1152:       {
1152:  ;
1152:  const size_type __n = traits_type::length(__s);
1152:  _M_check_length(size_type(0), __n, "basic_string::append");
1152:  return _M_append(__s, __n);
1152:       }
1152: # 1448 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       append(size_type __n, _CharT __c)
1152:       { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       append(initializer_list<_CharT> __l)
1152:       { return this->append(__l.begin(), __l.size()); }
1152: # 1474 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<class _InputIterator,
1152:         typename = std::_RequireInputIter<_InputIterator>>
1152: 
1152: 
1152: 
1152: 
1152:         basic_string&
1152:         append(_InputIterator __first, _InputIterator __last)
1152:         { return this->replace(end(), end(), __first, __last); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       template<typename _Tp>
1152: 
1152:         _If_sv<_Tp, basic_string&>
1152:         append(const _Tp& __svt)
1152:         {
1152:           __sv_type __sv = __svt;
1152:           return this->append(__sv.data(), __sv.size());
1152:         }
1152: # 1506 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:         _If_sv<_Tp, basic_string&>
1152:  append(const _Tp& __svt, size_type __pos, size_type __n = npos)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return _M_append(__sv.data()
1152:        + std::__sv_chePreprocessed source stored into /tmp/cc9QSGDl.out file, please attach this to your bugreport.
=== BEGIN GCC DUMP ===
ck(__sv.size(), __pos, "basic_string::append"),
1152:        std::__sv_limit(__sv.size(), __pos, __n));
1152:  }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       void
1152:       push_back(_CharT __c)
1152:       {
1152:  const size_type __size = this->size();
1152:  if (__size + 1 > this->capacity())
1152:    this->_M_mutate(__size, size_type(0), 0, size_type(1));
1152:  traits_type::assign(this->_M_data()[__size], __c);
1152:  this->_M_set_length(__size + 1);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       assign(const basic_string& __str)
1152:       {
1152: 
1152:  if (_Alloc_traits::_S_propagate_on_copy_assign())
1152:    {
1152:      if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
1152:   && _M_get_allocator() != __str._M_get_allocator())
1152:        {
1152: 
1152: 
1152:   if (__str.size() <= _S_local_capacity)
1152:     {
1152:       _M_destroy(_M_allocated_capacity);
1152:       _M_data(_M_use_local_data());
1152:       _M_set_length(0);
1152:     }
1152:   else
1152:     {
1152:       const auto __len = __str.size();
1152:       auto __alloc = __str._M_get_allocator();
1152: 
1152:       auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1);
1152:       _M_destroy(_M_allocated_capacity);
1152:       _M_data(__ptr);
1152:       _M_capacity(__len);
1152:       _M_set_length(__len);
1152:     }
1152:        }
1152:      std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
1152:    }
1152: 
1152:  this->_M_assign(__str);
1152:  return *this;
1152:       }
1152: # 1584 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       assign(basic_string&& __str)
1152:       noexcept(_Alloc_traits::_S_nothrow_move())
1152:       {
1152: 
1152: 
1152:  return *this = std::move(__str);
1152:       }
1152: # 1608 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       assign(const basic_string& __str, size_type __pos, size_type __n = npos)
1152:       { return _M_replace(size_type(0), this->size(), __str._M_data()
1152:      + __str._M_check(__pos, "basic_string::assign"),
1152:      __str._M_limit(__pos, __n)); }
1152: # 1625 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       assign(const _CharT* __s, size_type __n)
1152:       {
1152:  ;
1152:  return _M_replace(size_type(0), this->size(), __s, __n);
1152:       }
1152: # 1642 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       assign(const _CharT* __s)
1152:       {
1152:  ;
1152:  return _M_replace(size_type(0), this->size(), __s,
1152:      traits_type::length(__s));
1152:       }
1152: # 1660 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       assign(size_type __n, _CharT __c)
1152:       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
1152: # 1674 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<class _InputIterator,
1152:         typename = std::_RequireInputIter<_InputIterator>>
1152: 
1152: 
1152: 
1152: 
1152:         basic_string&
1152:         assign(_InputIterator __first, _InputIterator __last)
1152:         { return this->replace(begin(), end(), __first, __last); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       basic_string&
1152:       assign(initializer_list<_CharT> __l)
1152:       { return this->assign(__l.begin(), __l.size()); }
1152: # 1702 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  assign(const _Tp& __svt)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->assign(__sv.data(), __sv.size());
1152:  }
1152: # 1718 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return _M_replace(size_type(0), this->size(),
1152:        __sv.data()
1152:        + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
1152:        std::__sv_limit(__sv.size(), __pos, __n));
1152:  }
1152: # 1747 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       iterator
1152:       insert(const_iterator __p, size_type __n, _CharT __c)
1152:       {
1152:  ;
1152:  const size_type __pos = __p - begin();
1152:  this->replace(__p, __p, __n, __c);
1152:  return iterator(this->_M_data() + __pos);
1152:       }
1152: # 1790 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<class _InputIterator,
1152:         typename = std::_RequireInputIter<_InputIterator>>
1152: 
1152:  iterator
1152:         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
1152:         {
1152:    ;
1152:    const size_type __pos = __p - begin();
1152:    this->replace(__p, __p, __beg, __end);
1152:    return iterator(this->_M_data() + __pos);
1152:  }
1152: # 1827 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       iterator
1152:       insert(const_iterator __p, initializer_list<_CharT> __l)
1152:       { return this->insert(__p, __l.begin(), __l.end()); }
1152: # 1855 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       insert(size_type __pos1, const basic_string& __str)
1152:       { return this->replace(__pos1, size_type(0),
1152:         __str._M_data(), __str.size()); }
1152: # 1879 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       insert(size_type __pos1, const basic_string& __str,
1152:       size_type __pos2, size_type __n = npos)
1152:       { return this->replace(__pos1, size_type(0), __str._M_data()
1152:         + __str._M_check(__pos2, "basic_string::insert"),
1152:         __str._M_limit(__pos2, __n)); }
1152: # 1903 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       insert(size_type __pos, const _CharT* __s, size_type __n)
1152:       { return this->replace(__pos, size_type(0), __s, __n); }
1152: # 1923 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       insert(size_type __pos, const _CharT* __s)
1152:       {
1152:  ;
1152:  return this->replace(__pos, size_type(0), __s,
1152:         traits_type::length(__s));
1152:       }
1152: # 1948 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       insert(size_type __pos, size_type __n, _CharT __c)
1152:       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
1152:          size_type(0), __n, __c); }
1152: # 1967 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       iterator
1152:       insert(__const_iterator __p, _CharT __c)
1152:       {
1152:  ;
1152:  const size_type __pos = __p - begin();
1152:  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
1152:  return iterator(_M_data() + __pos);
1152:       }
1152: # 1984 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  insert(size_type __pos, const _Tp& __svt)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->insert(__pos, __sv.data(), __sv.size());
1152:  }
1152: # 2001 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  insert(size_type __pos1, const _Tp& __svt,
1152:         size_type __pos2, size_type __n = npos)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->replace(__pos1, size_type(0),
1152:        __sv.data()
1152:        + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
1152:        std::__sv_limit(__sv.size(), __pos2, __n));
1152:  }
1152: # 2030 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       erase(size_type __pos = 0, size_type __n = npos)
1152:       {
1152:  _M_check(__pos, "basic_string::erase");
1152:  if (__n == npos)
1152:    this->_M_set_length(__pos);
1152:  else if (__n != 0)
1152:    this->_M_erase(__pos, _M_limit(__pos, _609: // Target: arm-linux-gnueabihf
609: // Configured with: ../src/configure -v --with-pkgversion='Raspbian 12.2.0-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6+fp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
609: // Thread model: posix
609: // Supported LTO compression algorithms: zlib zstd
609: // gcc version 12.2.0 (Raspbian 12.2.0-14+rpi1) 
609: // 
609: // /usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
609: //   298 |   typedef __SIZE_TYPE__         size_t;
609: //       |           ^~~~~~~~~~~~~
609: // 0x137a10f internal_error(char const*, ...)
609: // 	???:0
609: // 0x389c8b pop_to_parent_deferring_access_checks()
609: // 	???:0
609: // Please submit a full bug report, with preprocessed source (by using -freport-bug).
609: // Please include the complete backtrace with any bug report.
609: // See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
609: 
609: // /usr/lib/gcc/arm-linux-gnueabihf/12/cc1plus -quiet -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I /<<BUILDDIR>>/kodi-20.0+dfsg -I /<<BUILDDIR>>/kodi-20.0+dfsg/lib -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -imultilib . -imultiarch arm-linux-gnueabihf -MD CMakeFiles/guilib.dir/GUIVideoControl.cpp.d -MF CMakeFiles/guilib.dir/GUIVideoControl.cpp.o.d -MT build/guilib/CMakeFiles/guilib.dir/GUIVideoControl.cpp.o -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 -D _XBMC -D DEB_VERSION="2:20.0+dfsg-1" -D NDEBUG -D TARGET_POSIX -D TARGET_LINUX -D _GNU_SOURCE -D HAVE_LINUX_UDMABUF=1 -D HAVE_LINUX_DMA_HEAP=1 -D HAVE_LINUX_DMA_BUF=1 -D HAVE_MKOSTEMP=1 -D HAVE_LINUX_MEMFD=1 -D HAVE_STATX=1 -D __STDC_CONSTANT_MACROS -D _FILE_OFFSET_BITS=64 -D HAS_POSIX_NETWORK -D HAS_LINUX_NETWORK -D HAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -D HAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -D HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -D HAVE_INOTIFY=1 -D HAVE_POSIX_FADVISE=1 -D HAVE_LOCALTIME_R=1 -D HAVE_GMTIME_R=1 -D HAVE_INTTYPES_H=1 -D HAS_ALSA=1 -D HAS_AVAHI=1 -D HAS_ZEROCONF=1 -D HAVE_LIBBLURAY=1 -D HAVE_LIBBLURAY_BDJ=1 -D HAVE_LIBCEC=1 -D HAS_DBUS=1 -D HAS_ISO9660PP=1 -D HAVE_LCMS2=1 -D CMS_NO_REGISTER_KEYWORD=1 -D HAS_LIRC=1 -D HAS_WEB_SERVER=1 -D HAS_WEB_INTERFACE=1 -D HAS_FILESYSTEM_NFS=1 -D HAS_NFS_SET_TIMEOUT -D HAS_PIPEWIRE=1 -D HAS_AIRPLAY=1 -D HAS_PULSEAUDIO=1 -D HAS_PYTHON=1 -D HAS_FILESYSTEM_SMB=1 -D HAS_SNDIO=1 -D HAVE_LIBUDEV=1 -D HAS_UDFREAD=1 -D HAVE_LIBXSLT=1 -D HAVE_LIBVA=1 -D HAS_GLX=1 -D HAVE_LIBVDPAU=1 -D DATE_HAS_STRINGVIEW -D FFMPEG_VER_SHA="4.4.1" -D HAVE_GCRYPT=1 -D SPDLOG_FMT_EXTERNAL -D SPDLOG_DEBUG_ON -D SPDLOG_NO_ATOMIC_LEVELS -D SPDLOG_ENABLE_PATTERN_PADDING -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D HAS_EGL=1 -D HAVE_X11=1 -D HAVE_LIBXRANDR=1 -D HAVE_HDR_OUTPUT_METADATA=1 -D HAVE_DRM_MODIFIER_NAME=1 -D HAS_GL=1 -D HAVE_WAYLAND=1 -D HAVE_GBM=1 -D HAS_GBM_BO_MAP=1 -D HAS_GBM_MODIFIERS=1 -D HAS_MYSQL=1 -D HAS_UPNP=1 -D HAS_DVD_DRIVE -D HAS_CDDA_RIPPER -D HAS_AIRTUNES=1 -D BIN_INSTALL_PATH="/usr/lib/arm-linux-gnueabihf/kodi" -D INSTALL_PATH="/usr/share/kodi" -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp -quiet -dumpdir CMakeFiles/guilib.dir/ -dumpbase GUIVideoControl.cpp.cpp -dumpbase-ext .cpp -mfloat-abi=hard -mtls-dialect=gnu -marm -mlibarch=armv6+fp -march=armv6+fp -g -g -O3 -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -o - -frandom-seed=0 -fdump-noaddr
609: 
609: # 0 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp"
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib//"
609: # 0 "<built-in>"
609: # 0 "<command-line>"
609: # 1 "/usr/include/stdc-predef.h" 1 3 4
609: # 0 "<command-line>" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp"
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp"
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
609:        
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
609: # 1 "/usr/include/c++/12/algorithm" 1 3
609: # 58 "/usr/include/c++/12/algorithm" 3
609:        
609: # 59 "/usr/include/c++/12/algorithm" 3
609: 
609: # 1 "/usr/include/c++/12/bits/stl_algobase.h" 1 3
609: # 59 "/usr/include/c++/12/bits/stl_algobase.h" 3
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 1 3
609: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
609: 
609: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
609: namespace std
609: {
609:   typedef unsigned int size_t;
609:   typedef int ptrdiff_t;
609: 
609: 
609:   typedef decltype(nullptr) nullptr_t;
609: 
609: 
609: #pragma GCC visibility push(default)
609: 
609: 
609:   extern "C++" __attribute__ ((__noreturn__, __always_inline__))
609:   inline void __terminate() noexcept
609:   {
609:     void terminate() noexcept __attribute__ ((__noreturn__));
609:     terminate();
609:   }
609: #pragma GCC visibility pop
609: }
609: # 329 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
609: namespace std
609: {
609:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
609: }
609: namespace __gnu_cxx
609: {
609:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
609: }
609: # 508 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
609: namespace std
609: {
609: #pragma GCC visibility push(default)
609: 
609: 
609: 
609: 
609:   constexpr inline bool
609:   __is_constant_evaluated() noexcept
609:   {
609: 
609: 
609: 
609: 
609: 
609:     return __builtin_is_constant_evaluated();
609: 
609: 
609: 
609:   }
609: #pragma GCC visibility pop
609: }
609: # 655 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c_n));
1152:  return *this;
1152:       }
1152: # 2050 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       iterator
1152:       erase(__const_iterator __position)
1152:       {
1152: 
1152:                            ;
1152:  const size_type __pos = __position - begin();
1152:  this->_M_erase(__pos, size_type(1));
1152:  return iterator(_M_data() + __pos);
1152:       }
1152: # 2070 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       iterator
1152:       erase(__const_iterator __first, __const_iterator __last)
1152:       {
1152: 
1152:                         ;
1152:         const size_type __pos = __first - begin();
1152:  if (__last == end())
1152:    this->_M_set_length(__pos);
1152:  else
1152:    this->_M_erase(__pos, __last - __first);
1152:  return iterator(this->_M_data() + __pos);
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       void
1152:       pop_back() noexcept
1152:       {
1152:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1152:  _M_erase(size() - 1, 1);
1152:       }
1152: # 2116 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(size_type __pos, size_type __n, const basic_string& __str)
1152:       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
1152: # 2139 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(size_type __pos1, size_type __n1, const basic_string& __str,
1152:        size_type __pos2, size_type __n2 = npos)
1152:       { return this->replace(__pos1, __n1, __str._M_data()
1152:         + __str._M_check(__pos2, "basic_string::replace"),
1152:         __str._M_limit(__pos2, __n2)); }
1152: # 2165 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(size_type __pos, size_type __n1, const _CharT* __s,
1152:        size_type __n2)
1152:       {
1152:  ;
1152:  return _M_replace(_M_check(__pos, "basic_string::replace"),
1152:      _M_limit(__pos, __n1), __s, __n2);
1152:       }
1152: # 2191 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(size_type __pos, size_type __n1, const _CharT* __s)
1152:       {
1152:  ;
1152:  return this->replace(__pos, __n1, __s, traits_type::length(__s));
1152:       }
1152: # 2216 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
1152:       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
1152:          _M_limit(__pos, __n1), __n2, __c); }
1152: # 2235 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2,
1152:        const basic_string& __str)
1152:       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
1152: # 2256 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2,
1152:        const _CharT* __s, size_type __n)
1152:       {
1152: 
1152:                       ;
1152:  return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
1152:       }
1152: # 2279 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
1152:       {
1152:  ;
1152:  return this->replace(__i1, __i2, __s, traits_type::length(__s));
1152:       }
1152: # 2301 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
1152:        _CharT __c)
1152:       {
1152: 
1152:                       ;
1152:  return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
1152:       }
1152: # 2327 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<class _InputIterator,
1152:         typename = std::_RequireInputIter<_InputIterator>>
1152: 
1152:         basic_string&
1152:         replace(const_iterator __i1, const_iterator __i2,
1152:   _InputIterator __k1, _InputIterator __k2)
1152:         {
1152:   
1152:                         ;
1152:    ;
1152:    return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
1152:         std::__false_type());
1152:  }
1152: # 2360 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2,
1152:        _CharT* __k1, _CharT* __k2)
1152:       {
1152: 
1152:                       ;
1152:  ;
1152:  return this->replace(__i1 - begin(), __i2 - __i1,
1152:         __k1, __k2 - __k1);
1152:       }
1152: 
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2,
1152:        const _CharT* __k1, const _CharT* __k2)
1152:       {
1152: 
1152:                       ;
1152:  ;
1152:  return this->replace(__i1 - begin(), __i2 - __i1,
1152:         __k1, __k2 - __k1);
1152:       }
1152: 
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2,
1152:        iterator __k1, iterator __k2)
1152:       {
1152: 
1152:                       ;
1152:  ;
1152:  return this->replace(__i1 - begin(), __i2 - __i1,
1152:         __k1.base(), __k2 - __k1);
1152:       }
1152: 
1152:      
1152:       basic_string&
1152:       replace(__const_iterator __i1, __const_iterator __i2,
1152:        const_iterator __k1, const_iterator __k2)
1152:       {
1152: 
1152:                       ;
1152:  ;
1152:  return this->replace(__i1 - begin(), __i2 - __i1,
1152:         __k1.base(), __k2 - __k1);
1152:       }
1152: # 2423 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string& replace(const_iterator __i1, const_iterator __i2,
1152:        initializer_list<_CharT> __l)
1152:       { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
1152: # 2437 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  replace(size_type __pos, size_type __n, const _Tp& __svt)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->replace(__pos, __n, __sv.data(), __sv.size());
1152:  }
1152: # 2455 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  replace(size_type __pos1, size_type __n1, const _Tp& __svt,
1152:   size_type __pos2, size_type __n2 = npos)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->replace(__pos1, __n1,
1152:        __sv.data()
1152:        + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
1152:        std::__sv_limit(__sv.size(), __pos2, __n2));
1152:  }
1152: # 2477 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, basic_string&>
1152:  replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->replace(__i1 - begin(), __i2 - __i1, __sv);
1152:  }
1152: 
1152: 
1152:     private:
1152:       template<class _Integer>
1152: 
1152:  basic_string&
1152:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1152:        _Integer __n, _Integer __val, __true_type)
1152:         { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
1152: 
1152:       template<class _InputIterator>
1152: 
1152:  basic_string&
1152:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1152:        _InputIterator __k1, _InputIterator __k2,
1152:        __false_type);
1152: 
1152:      
1152:       basic_string&
1152:       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1152:        _CharT __c);
1152: 
1152:      
1152:       basic_string&
1152:       _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1152:    const size_type __len2);
1152: 
1152:      
1152:       basic_string&
1152:       _M_append(const _CharT* __s, size_type __n);
1152: 
1152:     public++config.h" 3
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 1 3
609: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 3
609: # 1 "/usr/include/features.h" 1 3 4
609: # 392 "/usr/include/features.h" 3 4
609: # 1 "/usr/include/features-time64.h" 1 3 4
609: # 20 "/usr/include/features-time64.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
609: # 21 "/usr/include/features-time64.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
609: # 22 "/usr/include/features-time64.h" 2 3 4
609: # 393 "/usr/include/features.h" 2 3 4
609: # 489 "/usr/include/features.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 1 3 4
609: # 559 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
609: # 560 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
609: # 561 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
609: # 490 "/usr/include/features.h" 2 3 4
609: # 513 "/usr/include/features.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 1 3 4
609: # 10 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h" 1 3 4
609: # 11 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 2 3 4
609: # 514 "/usr/include/features.h" 2 3 4
609: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 2 3
609: # 656 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/cpu_defines.h" 1 3
609: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
609: # 841 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
609: # 1 "/usr/include/c++/12/pstl/pstl_config.h" 1 3
609: # 842 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
609: # 60 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/bits/functexcept.h" 1 3
609: # 40 "/usr/include/c++/12/bits/functexcept.h" 3
609: # 1 "/usr/include/c++/12/bits/exception_defines.h" 1 3
609: # 41 "/usr/include/c++/12/bits/functexcept.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   void
609:   __throw_bad_exception(void) __attribute__((__noreturn__));
609: 
609: 
609:   void
609:   __throw_bad_alloc(void) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_bad_array_new_length(void) __attribute__((__noreturn__));
609: 
609: 
609:   void
609:   __throw_bad_cast(void) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_bad_typeid(void) __attribute__((__noreturn__));
609: 
609: 
609:   void
609:   __throw_logic_error(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_domain_error(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_length_error(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_out_of_range(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
609:     __attribute__((__format__(__gnu_printf__, 1, 2)));
609: 
609:   void
609:   __throw_runtime_error(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_range_error(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_overflow_error(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_underflow_error(const char*) __attribute__((__noreturn__));
609: 
609: 
609:   void
609:   __throw_ios_failure(const char*) __attribute__((__noreturn__));
609: 
609:   void
609:   __throw_ios_failure(const char*, int) __attribute__((__noreturn__));
609: 
609: 
609:   void
609:   __throw_system_error(int) __attribute__((__noreturn__));
609: 
609: 
609:   void
609:   __throw_future_error(int) __attribute__((__noreturn__));
609: 
609: 
609:   void
609:   __throw_bad_function_call() __attribute__((__noreturn__));
609: 
609: 
609: }
609: # 61 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/bits/cpp_type_traits.h" 1 3
609: # 35 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
609:        
609: # 36 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
609: # 67 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
609: extern "C++" {
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   struct __true_type { };
609:   struct __false_type { };
609: 
609:   template<bool>
609:     struct __truth_type
609:     { typedef __false_type __type; };
609: 
609:   template<>
609:     struct __truth_type<true>
609:     { typedef __true_type __type; };
609: 
609: 
609: 
609:   template<class _Sp, class _Tp>
609:     struct __traitor
609:     {
609:       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
609:       typedef typename __truth_type<__value>::__type __type;
609:     };
609: 
609: 
609:   template<typename, typename>
609:     struct __are_same
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609:   template<typename _Tp>
609:     struct __are_same<_Tp, _Tp>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_void
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_void<void>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_integer
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct __is_integer<bool>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<char>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<signed char>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<unsigned char>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609:   template<>
609:     struct __is_integer<wchar_t>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: # 184 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
609:   template<>
609:     struct __is_integer<char16_t>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<char32_t>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609:   template<>
609:     struct __is_integer<short>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<unsigned short>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<int>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<unsigned int>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<long>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<unsigned long>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<long long>
609:     {
609:       enum { __value = 1 };
609:       typedef:
1152: # 2530 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
1152: # 2541 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       void
1152:       swap(basic_string& __s) noexcept;
1152: # 2552 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       const _CharT*
1152:       c_str() const noexcept
1152:       { return _M_data(); }
1152: # 2565 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       const _CharT*
1152:       data() const noexcept
1152:       { return _M_data(); }
1152: # 2577 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       _CharT*
1152:       data() noexcept
1152:       { return _M_data(); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:      
1152:       allocator_type
1152:       get_allocator() const noexcept
1152:       { return _M_get_allocator(); }
1152: # 2603 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find(const _CharT* __s, size_type __pos, size_type __n) const
1152:       noexcept;
1152: # 2618 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find(const basic_string& __str, size_type __pos = 0) const
1152:       noexcept
1152:       { return this->find(__str.data(), __pos, __str.size()); }
1152: # 2631 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, size_type>
1152:  find(const _Tp& __svt, size_type __pos = 0) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->find(__sv.data(), __pos, __sv.size());
1152:  }
1152: # 2652 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find(const _CharT* __s, size_type __pos = 0) const noexcept
1152:       {
1152:  ;
1152:  return this->find(__s, __pos, traits_type::length(__s));
1152:       }
1152: # 2670 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find(_CharT __c, size_type __pos = 0) const noexcept;
1152: # 2684 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       rfind(const basic_string& __str, size_type __pos = npos) const
1152:       noexcept
1152:       { return this->rfind(__str.data(), __pos, __str.size()); }
1152: # 2697 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, size_type>
1152:  rfind(const _Tp& __svt, size_type __pos = npos) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->rfind(__sv.data(), __pos, __sv.size());
1152:  }
1152: # 2720 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       rfind(const _CharT* __s, size_type __pos, size_type __n) const
1152:       noexcept;
1152: # 2735 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       rfind(const _CharT* __s, size_type __pos = npos) const
1152:       {
1152:  ;
1152:  return this->rfind(__s, __pos, traits_type::length(__s));
1152:       }
1152: # 2753 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1152: # 2768 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_of(const basic_string& __str, size_type __pos = 0) const
1152:       noexcept
1152:       { return this->find_first_of(__str.data(), __pos, __str.size()); }
1152: # 2782 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, size_type>
1152:  find_first_of(const _Tp& __svt, size_type __pos = 0) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->find_first_of(__sv.data(), __pos, __sv.size());
1152:  }
1152: # 2805 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1152:       noexcept;
1152: # 2820 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_of(const _CharT* __s, size_type __pos = 0) const
1152:       noexcept
1152:       {
1152:  ;
1152:  return this->find_first_of(__s, __pos, traits_type::length(__s));
1152:       }
1152: # 2841 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1152:       { return this->find(__c, __pos); }
1152: # 2857 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_of(const basic_string& __str, size_type __pos = npos) const
1152:       noexcept
1152:       { return this->find_last_of(__str.data(), __pos, __str.size()); }
1152: # 2871 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, size_type>
1152:  find_last_of(const _Tp& __svt, size_type __pos = npos) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->find_last_of(__sv.data(), __pos, __sv.size());
1152:  }
1152: # 2894 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1152:       noexcept;
1152: # 2909 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_of(const _CharT* __s, size_type __pos = npos) const
1152:       noexcept
1152:       {
1152:  ;
1152:  return this->find_last_of(__s, __pos, traits_type::length(__s));
1152:       }
1152: # 2930 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_of(_CharT __c, size_type __pos = npos) const noexcept
1152:       { return this->rfind(__c, __pos); }
1152: # 2945 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
1152:       noexcept
1152:       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
1152: # 2959 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152:  _If_sv<_Tp, size_type>
1152: 
1152:  find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->find_first_not_of(__sv.data(), __pos, __sv.size());
1152:  }
1152: # 2982 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_not_of(const _CharT* __s, size_type __pos,
1152:    size_type __n) const noexcept;
1152: # 2997 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
1152:       noexcept
1152:       {
1152:  ;
1152:  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
1152:       }
1152: # 3016 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_first_not_of(_CharT __c, size_type __pos = 0) const
1152:       noexcept;
1152: # 3032 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
1152:       noexcept
1152:       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
1152: # 3046 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, size_type>
1152:  find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return this->find_last_not_of(__sv.data(), __pos, __sv.size());
1152:  }
1152: # 3069 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_not_of(const _CharT* __s, size_type __pos,
1152:       __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_integer<unsigned long long>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: # 289 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
609:   template<typename _Tp>
609:     struct __is_floating
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609: 
609:   template<>
609:     struct __is_floating<float>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_floating<double>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_floating<long double>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_pointer
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609:   template<typename _Tp>
609:     struct __is_pointer<_Tp*>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_arithmetic
609:     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_scalar
609:     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_char
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_char<char>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609:   template<>
609:     struct __is_char<wchar_t>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_byte
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_byte<char>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_byte<signed char>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<>
609:     struct __is_byte<unsigned char>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609: 
609:   enum class byte : unsigned char;
609: 
609:   template<>
609:     struct __is_byte<byte>
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: # 425 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
609:   template<typename> struct iterator_traits;
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_nonvolatile_trivially_copyable
609:     {
609:       enum { __value = __is_trivially_copyable(_Tp) };
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_nonvolatile_trivially_copyable<volatile _Tp>
609:     {
609:       enum { __value = 0 };
609:     };
609: 
609: 
609:   template<typename _OutputIter, typename _InputIter>
609:     struct __memcpyable
609:     {
609:       enum { __value = 0 };
609:     };
609: 
609:   template<typename _Tp>
609:     struct __memcpyable<_Tp*, _Tp*>
609:     : __is_nonvolatile_trivially_copyable<_Tp>
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __memcpyable<_Tp*, const _Tp*>
609:     : __is_nonvolatile_trivially_copyable<_Tp>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Iter1, typename _Iter2>
609:     struct __memcmpable
609:     {
609:       enum { __value = 0 };
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct __memcmpable<_Tp*, _Tp*>
609:     : __is_nonvolatile_trivially_copyable<_Tp>
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __memcmpable<const _Tp*, _Tp*>
609:     : __is_nonvolatile_trivially_copyable<_Tp>
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __memcmpable<_Tp*, const _Tp*>
609:     : __is_nonvolatile_trivially_copyable<_Tp>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, bool _TreatAsBytes =
609: 
609: 
609: 
609:  __is_byte<_Tp>::__value
609: 
609:     >
609:     struct __is_memcmp_ordered
609:     {
609:       static const bool __value = _Tp(-1) > _Tp(1);
609:     };
609: 
609:   template<typename _Tp>
609:     struct __is_memcmp_ordered<_Tp, false>
609:     {
609:       static const bool __value = false;
609:     };
609: 
609: 
609:   template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
609:     struct __is_memcmp_ordered_with
609:     {
609:       static const bool __value = __is_memcmp_ordered<_Tp>::__value
609:  && __is_memcmp_ordered<_Up>::__value;
609:     };
609: 
609:   template<typename _Tp, typename _Up>
609:     struct __is_memcmp_ordered_with<_Tp, _Up, false>
609:     {
609:       static const bool __value = false;
609:     };
609: # 534 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
609:   template<>
609:     struct __is_memcmp_ordered_with<std::byte, std::byte, true>
609:     { static constexpr bool __value = true; };
609: 
609:   template<typename _Tp, bool _SameSize>
609:     struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
609:     { static constexpr bool __value = false; };
609: 
609:   template<typename _Up, bool _SameSize>
609:     struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
609:     { static constexpr bool __value = false; };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_move_iterator
609:     {
609:       enum { __value = 0 };
609:       typedef __false_type __type;
609:     };
609: 
609: 
609: 
609:   template<typename _Iterator>
609:    
609:     inline _Iterator
609:     __miter_base(_Iterator __it)
609:     { return __it; }
609: 
609: 
609: }
609: }
609: # 62 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/ext/type_traits.h" 1 3
609: # 32 "/usr/include/c++/12/ext/type_traits.h" 3
609:        
609: # 33 "/usr/include/c++/12/ext/type_traits.h" 3
609: 
609: 
609: 
609: 
609: extern "C++" {
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<bool, typename>
609:     struct __enable_if
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __enable_if<true, _Tp>
609:     { typedef _Tp __type; };
609: 
609: 
609: 
609:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
609:     struct __conditional_type
609:     { typedef _Iftrue __type; };
609: 
609:   template<typename _Iftrue, typename _Iffalse>
609:     struct __conditional_type<false, _Iftrue, _Iffalse>
609:     { typedef _Iffalse __type; };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __add_unsigned
609:     {
609:     private:
609:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
609: 
609:     public:
609:       typedef typename __if_type::__type __type;
609:     };
609: 
609:   template<>
609:     struct __add_unsigned<char>
609:     { typedef unsigned char __type; };
609: 
609:   template<>
609:     struct __add_unsigned<signed char>
609:     { typedef unsigned char __type; };
609: 
609:   template<>
609:     struct __add_unsigned<short>
609:     { typedef unsigned short __type; };
609: 
609:   template<>
609:     struct __add_unsigned<int>
609:     { typedef unsigned int __type; };
609: 
609:   template<>
609:     struct __add_unsigned<long>
609:     { typedef unsigned long __type; };
609: 
609:   template<>
609:     struct __add_unsigned<long long>
609:     { typedef unsigned long long __type; };
609: 
609: 
609:   template<>
609:     struct __add_unsigned<bool>;
609: 
609:   template<>
609:     struct __add_unsigned<wchar_t>;
609: 
609: 
609: 
609:   template<typename _Tp>
609:    size_type __n) const noexcept;
1152: # 3084 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
1152:       noexcept
1152:       {
1152:  ;
1152:  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
1152:       }
1152: # 3103 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       size_type
1152:       find_last_not_of(_CharT __c, size_type __pos = npos) const
1152:       noexcept;
1152: # 3120 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       basic_string
1152:       substr(size_type __pos = 0, size_type __n = npos) const
1152:       { return basic_string(*this,
1152:        _M_check(__pos, "basic_string::substr"), __n); }
1152: # 3140 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       int
1152:       compare(const basic_string& __str) const
1152:       {
1152:  const size_type __size = this->size();
1152:  const size_type __osize = __str.size();
1152:  const size_type __len = std::min(__size, __osize);
1152: 
1152:  int __r = traits_type::compare(_M_data(), __str.data(), __len);
1152:  if (!__r)
1152:    __r = _S_compare(__size, __osize);
1152:  return __r;
1152:       }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, int>
1152:  compare(const _Tp& __svt) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    const size_type __size = this->size();
1152:    const size_type __osize = __sv.size();
1152:    const size_type __len = std::min(__size, __osize);
1152: 
1152:    int __r = traits_type::compare(_M_data(), __sv.data(), __len);
1152:    if (!__r)
1152:      __r = _S_compare(__size, __osize);
1152:    return __r;
1152:  }
1152: # 3185 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, int>
1152:  compare(size_type __pos, size_type __n, const _Tp& __svt) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return __sv_type(*this).substr(__pos, __n).compare(__sv);
1152:  }
1152: # 3205 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename _Tp>
1152: 
1152:  _If_sv<_Tp, int>
1152:  compare(size_type __pos1, size_type __n1, const _Tp& __svt,
1152:   size_type __pos2, size_type __n2 = npos) const
1152:  noexcept(is_same<_Tp, __sv_type>::value)
1152:  {
1152:    __sv_type __sv = __svt;
1152:    return __sv_type(*this)
1152:      .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
1152:  }
1152: # 3237 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       int
1152:       compare(size_type __pos, size_type __n, const basic_string& __str) const;
1152: # 3264 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       int
1152:       compare(size_type __pos1, size_type __n1, const basic_string& __str,
1152:        size_type __pos2, size_type __n2 = npos) const;
1152: # 3283 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       int
1152:       compare(const _CharT* __s) const noexcept;
1152: # 3308 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       int
1152:       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
1152: # 3336 "/usr/include/c++/12/bits/basic_string.h" 3
1152:      
1152:       int
1152:       compare(size_type __pos, size_type __n1, const _CharT* __s,
1152:        size_type __n2) const;
1152: # 3382 "/usr/include/c++/12/bits/basic_string.h" 3
1152:       template<typename, typename, typename> friend class basic_stringbuf;
1152:     };
1152: }
1152: 
1152: }
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: namespace __cxx11 {
1152:   template<typename _InputIterator, typename _CharT
1152:       = typename iterator_traits<_InputIterator>::value_type,
1152:     typename _Allocator = allocator<_CharT>,
1152:     typename = _RequireInputIter<_InputIterator>,
1152:     typename = _RequireAllocator<_Allocator>>
1152:     basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
1152:       -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits,
1152:     typename _Allocator = allocator<_CharT>,
1152:     typename = _RequireAllocator<_Allocator>>
1152:     basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
1152:       -> basic_string<_CharT, _Traits, _Allocator>;
1152: 
1152:   template<typename _CharT, typename _Traits,
1152:     typename _Allocator = allocator<_CharT>,
1152:     typename = _RequireAllocator<_Allocator>>
1152:     basic_string(basic_string_view<_CharT, _Traits>,
1152:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1152:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1152:    const _Allocator& = _Allocator())
1152:       -> basic_string<_CharT, _Traits, _Allocator>;
1152: }
1152: # 3429 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     {
1152:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1152:       __str.append(__rhs);
1152:       return __str;
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT,_Traits,_Alloc>
1152:     operator+(const _CharT* __lhs,
1152:        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT,_Traits,_Alloc>
1152:     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:        const _CharT* __rhs)
1152:     {
1152:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1152:       __str.append(__rhs);
1152:       return __str;
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
1152:     {
1152:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1152:       typedef typename __string_type::size_type __size_type;
1152:       __string_type __str(__lhs);
1152:       __str.append(__size_type(1), __rhs);
1152:       return __str;
1152:     }
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1152:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     { return std::move(__lhs.append(__rhs)); }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1152:     { return std::move(__rhs.insert(0, __lhs)); }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1152:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1152:     {
1152: 
1152:       using _Alloc_traits = allocator_traits<_Alloc>;
1152:       bool __use_rhs = false;
1152:       if constexpr (typename _Alloc_traits::is_always_equal{})
1152:     struct __remove_unsigned
609:     {
609:     private:
609:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
609: 
609:     public:
609:       typedef typename __if_type::__type __type;
609:     };
609: 
609:   template<>
609:     struct __remove_unsigned<char>
609:     { typedef signed char __type; };
609: 
609:   template<>
609:     struct __remove_unsigned<unsigned char>
609:     { typedef signed char __type; };
609: 
609:   template<>
609:     struct __remove_unsigned<unsigned short>
609:     { typedef short __type; };
609: 
609:   template<>
609:     struct __remove_unsigned<unsigned int>
609:     { typedef int __type; };
609: 
609:   template<>
609:     struct __remove_unsigned<unsigned long>
609:     { typedef long __type; };
609: 
609:   template<>
609:     struct __remove_unsigned<unsigned long long>
609:     { typedef long long __type; };
609: 
609: 
609:   template<>
609:     struct __remove_unsigned<bool>;
609: 
609:   template<>
609:     struct __remove_unsigned<wchar_t>;
609: 
609: 
609: 
609:   template<typename _Type>
609:     constexpr
609:     inline bool
609:     __is_null_pointer(_Type* __ptr)
609:     { return __ptr == 0; }
609: 
609:   template<typename _Type>
609:     constexpr
609:     inline bool
609:     __is_null_pointer(_Type)
609:     { return false; }
609: 
609: 
609:   constexpr bool
609:   __is_null_pointer(std::nullptr_t)
609:   { return true; }
609: 
609: 
609: 
609: 
609:   template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
609:     struct __promote
609:     { typedef double __type; };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __promote<_Tp, false>
609:     { };
609: 
609:   template<>
609:     struct __promote<long double>
609:     { typedef long double __type; };
609: 
609:   template<>
609:     struct __promote<double>
609:     { typedef double __type; };
609: 
609:   template<>
609:     struct __promote<float>
609:     { typedef float __type; };
609: 
609: 
609: 
609:   template<typename... _Tp>
609:     using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
609: 
609:   template<typename _Tp, typename _Up, typename _Vp>
609:     using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
609: 
609:   template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
609:     using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
609: # 239 "/usr/include/c++/12/ext/type_traits.h" 3
609: 
609: }
609: }
609: # 63 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/ext/numeric_traits.h" 1 3
609: # 32 "/usr/include/c++/12/ext/numeric_traits.h" 3
609:        
609: # 33 "/usr/include/c++/12/ext/numeric_traits.h" 3
609: 
609: 
609: 
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 50 "/usr/include/c++/12/ext/numeric_traits.h" 3
609:   template<typename _Tp>
609:     struct __is_integer_nonstrict
609:     : public std::__is_integer<_Tp>
609:     {
609:       using std::__is_integer<_Tp>::__value;
609: 
609: 
609:       enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
609:     };
609: 
609:   template<typename _Value>
609:     struct __numeric_traits_integer
609:     {
609: 
609:       static_assert(__is_integer_nonstrict<_Value>::__value,
609:       "invalid specialization");
609: 
609: 
609: 
609: 
609:       static const bool __is_signed = (_Value)(-1) < 0;
609:       static const int __digits
609:  = __is_integer_nonstrict<_Value>::__width - __is_signed;
609: 
609: 
609:       static const _Value __max = __is_signed
609:  ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
609:  : ~(_Value)0;
609:       static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
609:     };
609: 
609:   template<typename _Value>
609:     const _Value __numeric_traits_integer<_Value>::__min;
609: 
609:   template<typename _Value>
609:     const _Value __numeric_traits_integer<_Value>::__max;
609: 
609:   template<typename _Value>
609:     const bool __numeric_traits_integer<_Value>::__is_signed;
609: 
609:   template<typename _Value>
609:     const int __numeric_traits_integer<_Value>::__digits;
609: # 137 "/usr/include/c++/12/ext/numeric_traits.h" 3
609:   template<typename _Tp>
609:     using __int_traits = __numeric_traits_integer<_Tp>;
609: # 157 "/usr/include/c++/12/ext/numeric_traits.h" 3
609:   template<typename _Value>
609:     struct __numeric_traits_floating
609:     {
609: 
609:       static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136);
609: 
609: 
609:       static const bool __is_signed = true;
609:       static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15);
609:       static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308);
609:     };
609: 
609:   template<typename _Value>
609:     const int __numeric_traits_floating<_Value>::__max_digits10;
609: 
609:   template<typename _Value>
609:     const bool __numeric_traits_floating<_Value>::__is_signed;
609: 
609:   template<typename _Value>
609:     const int __numeric_traits_floating<_Value>::__digits10;
609: 
609:   template<typename _Value>
609:     const int __numeric_traits_floating<_Value>::__max_exponent10;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Value>
609:     struct __numeric_traits
609:     : public __numeric_traits_integer<_Value>
609:     { };
609: 
609:   template<>
609:     struct __numeric_traits<float>
609:     : public __numeric_traits_floating<float>
609:     { };
609: 
609:   template<>
609:     struct __numeric_traits<double>
609:     : public __numeric_traits_floating<double>
609:     { };
609: 
609:   template<>
609:     struct __numeric_traits<long double>
609:     : public __numeric_traits_floating<long double>
609:     { };
609: # 238 "/usr/include/c++/12/ext/numeric_traits.h" 3
609: 
609: }
609: # 64 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_pair.h" 1 3
609: # 60 "/usr/include/c++/12/bits/stl_pair.h" 3
609: # 1 "/usr/include/c++/12/type_traits" 1 3
609: # 32 "/usr/include/c++/12/type_traits" 3
609:        
609: # 33 "/usr/include/c++/12/type_traits" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _Tp>
609:     class reference_wrapper;
609: # 61 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Tp, _Tp __v>
609:     struct integral_constant
609:     {
609:       static constexpr _Tp value = __v;
609:       typedef _Tp value_type;
609:       typedef integral_constant<_Tp, __v> type;
609:       constexpr operator value_type() const noexcept { return value; }
609: 
609: 
609: 
609: 
609:       constexpr value_type operator()() const noexcept { return value; }
609: 
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   using true_type = integral_constant<bool, true>;
609: 
609: 
609:   using false_type = integral_constant<bool, false>;
609: 
609: 
609: 
609:   template<bool __v>
609:     using __bool_constant = integral_constant<bool, __v>;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<bool __v>
609:     using bool_constant = integral_constant<bool, __v>;
609: 
609: 
609: 
609: 
609:   template<bool>
609:     struct __conditional
609:     {
609:       template<typename _Tp, typename>
609:  using type = _Tp;
609:     };
609: 
609:   template<>
609:     struct __conditional<false>
609:     {
609:       template<typename, typename _Up>
609:  using type = _Up;
609:     };
609: 
609: 
609:   template<bool _Cond, typename _If, typename _Else>
609:     using __conditional_t
609:       = typename __conditional<_Cond>::template type<_If, _Else>;
609: 
609: 
609:   template <typename _Type>
609:     struct __type_identity
609:     { using type = _Type; };
609: 
609:   template<typename _Tp>
609:     using __ty  __use_rhs = true;
1152:       else if (__lhs.get_allocator() == __rhs.get_allocator())
1152:  __use_rhs = true;
1152:       if (__use_rhs)
1152: 
1152:  {
1152:    const auto __size = __lhs.size() + __rhs.size();
1152:    if (__size > __lhs.capacity() && __size <= __rhs.capacity())
1152:      return std::move(__rhs.insert(0, __lhs));
1152:  }
1152:       return std::move(__lhs.append(__rhs));
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(const _CharT* __lhs,
1152:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1152:     { return std::move(__rhs.insert(0, __lhs)); }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(_CharT __lhs,
1152:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1152:     { return std::move(__rhs.insert(0, 1, __lhs)); }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1152:        const _CharT* __rhs)
1152:     { return std::move(__lhs.append(__rhs)); }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1152:        _CharT __rhs)
1152:     { return std::move(__lhs.append(1, __rhs)); }
1152: # 3572 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline bool
1152:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     noexcept
1152:     { return __lhs.compare(__rhs) == 0; }
1152: 
1152:   template<typename _CharT>
1152:    
1152:     inline
1152:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type
1152:     operator==(const basic_string<_CharT>& __lhs,
1152:         const basic_string<_CharT>& __rhs) noexcept
1152:     { return (__lhs.size() == __rhs.size()
1152:        && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),
1152:           __lhs.size())); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline bool
1152:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const _CharT* __rhs)
1152:     { return __lhs.compare(__rhs) == 0; }
1152: # 3638 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator==(const _CharT* __lhs,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     { return __rhs.compare(__lhs) == 0; }
1152: # 3651 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     noexcept
1152:     { return !(__lhs == __rhs); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator!=(const _CharT* __lhs,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     { return !(__lhs == __rhs); }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const _CharT* __rhs)
1152:     { return !(__lhs == __rhs); }
1152: # 3689 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     noexcept
1152:     { return __lhs.compare(__rhs) < 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:        const _CharT* __rhs)
1152:     { return __lhs.compare(__rhs) < 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator<(const _CharT* __lhs,
1152:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     { return __rhs.compare(__lhs) > 0; }
1152: # 3727 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     noexcept
1152:     { return __lhs.compare(__rhs) > 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:        const _CharT* __rhs)
1152:     { return __lhs.compare(__rhs) > 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator>(const _CharT* __lhs,
1152:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     { return __rhs.compare(__lhs) < 0; }
1152: # 3765 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     noexcept
1152:     { return __lhs.compare(__rhs) <= 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const _CharT* __rhs)
1152:     { return __lhs.compare(__rhs) <= 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator<=(const _CharT* __lhs,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     { return __rhs.compare(__lhs) >= 0; }
1152: # 3803 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     noexcept
1152:     { return __lhs.compare(__rhs) >= 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:         const _CharT* __rhs)
1152:     { return __lhs.compare(__rhs) >= 0; }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline bool
1152:     operator>=(const _CharT* __lhs,
1152:       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     { return __rhs.compare(__lhs) <= 0; }
1152: # 3842 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     inline void
1152:     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
1152:   basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     noexcept(noexcept(__lhs.swap(__rhs)))
1152:     { __lhs.swap(__rhs); }
1152: # 3863 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     basic_istream<_CharT, _Trape_identity_t = typename __type_identity<_Tp>::type;
609: 
609:   template<typename...>
609:     struct __or_;
609: 
609:   template<>
609:     struct __or_<>
609:     : public false_type
609:     { };
609: 
609:   template<typename _B1>
609:     struct __or_<_B1>
609:     : public _B1
609:     { };
609: 
609:   template<typename _B1, typename _B2>
609:     struct __or_<_B1, _B2>
609:     : public __conditional_t<_B1::value, _B1, _B2>
609:     { };
609: 
609:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
609:     struct __or_<_B1, _B2, _B3, _Bn...>
609:     : public __conditional_t<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>
609:     { };
609: 
609:   template<typename...>
609:     struct __and_;
609: 
609:   template<>
609:     struct __and_<>
609:     : public true_type
609:     { };
609: 
609:   template<typename _B1>
609:     struct __and_<_B1>
609:     : public _B1
609:     { };
609: 
609:   template<typename _B1, typename _B2>
609:     struct __and_<_B1, _B2>
609:     : public __conditional_t<_B1::value, _B2, _B1>
609:     { };
609: 
609:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
609:     struct __and_<_B1, _B2, _B3, _Bn...>
609:     : public __conditional_t<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>
609:     { };
609: 
609:   template<typename _Pp>
609:     struct __not_
609:     : public __bool_constant<!bool(_Pp::value)>
609:     { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename... _Bn>
609:     inline constexpr bool __or_v = __or_<_Bn...>::value;
609:   template<typename... _Bn>
609:     inline constexpr bool __and_v = __and_<_Bn...>::value;
609: 
609: 
609: 
609: 
609:   template<typename... _Bn>
609:     struct conjunction
609:     : __and_<_Bn...>
609:     { };
609: 
609:   template<typename... _Bn>
609:     struct disjunction
609:     : __or_<_Bn...>
609:     { };
609: 
609:   template<typename _Pp>
609:     struct negation
609:     : __not_<_Pp>
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename... _Bn>
609:     inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
609: 
609:   template<typename... _Bn>
609:     inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
609: 
609:   template<typename _Pp>
609:     inline constexpr bool negation_v = negation<_Pp>::value;
609: 
609: 
609: 
609: 
609: 
609:   template<typename>
609:     struct is_reference;
609:   template<typename>
609:     struct is_function;
609:   template<typename>
609:     struct is_void;
609:   template<typename>
609:     struct remove_cv;
609:   template<typename>
609:     struct is_const;
609: 
609: 
609:   template<typename>
609:     struct __is_array_unknown_bounds;
609: 
609: 
609: 
609: 
609:   template <typename _Tp, size_t = sizeof(_Tp)>
609:     constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
609:     { return {}; }
609: 
609:   template <typename _TypeIdentity,
609:       typename _NestedType = typename _TypeIdentity::type>
609:     constexpr typename __or_<
609:       is_reference<_NestedType>,
609:       is_function<_NestedType>,
609:       is_void<_NestedType>,
609:       __is_array_unknown_bounds<_NestedType>
609:     >::type __is_complete_or_unbounded(_TypeIdentity)
609:     { return {}; }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __success_type
609:     { typedef _Tp type; };
609: 
609:   struct __failure_type
609:   { };
609: 
609: 
609:   template<typename _Tp>
609:     using __remove_cv_t = typename remove_cv<_Tp>::type;
609: 
609: 
609: 
609:   template<typename>
609:     struct __is_void_helper
609:     : public false_type { };
609: 
609:   template<>
609:     struct __is_void_helper<void>
609:     : public true_type { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_void
609:     : public __is_void_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename>
609:     struct __is_integral_helper
609:     : public false_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<bool>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<char>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<signed char>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<unsigned char>
609:     : public true_type { };
609: 
609: 
609: 
609: 
609:   template<>
609:     struct __is_integral_helper<wchar_t>
609:     : public true_type { };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct __is_integral_helper<char16_t>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<char32_t>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<short>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<unsigned short>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<int>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<unsigned int>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<long>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<unsigned long>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<long long>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_integral_helper<unsigned long long>
609:     : public true_type { };
609: # 412 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Tp>
609:     struct is_integral
609:     : public __is_integral_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename>
609:     struct __is_floating_point_helper
609:     : public false_type { };
609: 
609:   template<>
609:     struct __is_floating_point_helper<float>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_floating_point_helper<double>
609:     : public true_type { };
609: 
609:   template<>
609:     struct __is_floating_point_helper<long double>
609:     : public true_type { };
609: # 442 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Tp>
609:     struct is_floating_point
609:     : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename>
609:     struct is_array
609:     : public false_type { };
609: 
609:   template<typename _Tp, std::size_t _Size>
609:     struct is_array<_Tp[_Size]>
609:     : public true_type { };
609: 
609:   template<typename _Tp>
609:     struct is_array<_Tp[]>
609:     : public true_type { };
609: 
609:   template<typename>
609:     struct __is_pointer_helper
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_pointer_helper<_Tp*>
609:     : public true_type { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_pointer
609:     : public __is_pointer_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename>
609:     struct is_lvalue_reference
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct is_lvalue_reference<_Tp&>
609:     : public true_type { };
609: 
609: 
609:   template<typename>
609:     struct is_rvalue_reference
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct is_rvalue_reference<_Tp&&>
609:     : public true_type { };
609: 
609:   template<typename>
609:     struct __is_member_object_pointer_helper
609:     : public false_type { };
609: 
609:   template<typename _Tp, typename _Cp>
609:     struct __is_member_object_pointer_helper<_Tp _Cp::*>
609:     : public __not_<is_function<_Tp>>::type { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_member_object_pointer
609:     : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609:   template<typename>
609:     struct __is_member_function_pointer_helper
609:     : public false_type { };
609: 
609:   template<typename _Tp, typenamits>&
1152:     operator>>(basic_istream<_CharT, _Traits>& __is,
1152:         basic_string<_CharT, _Traits, _Alloc>& __str);
1152: 
1152:   template<>
1152:     basic_istream<char>&
1152:     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
1152: # 3881 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline basic_ostream<_CharT, _Traits>&
1152:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1152:         const basic_string<_CharT, _Traits, _Alloc>& __str)
1152:     {
1152: 
1152: 
1152:       return __ostream_insert(__os, __str.data(), __str.size());
1152:     }
1152: # 3904 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     basic_istream<_CharT, _Traits>&
1152:     getline(basic_istream<_CharT, _Traits>& __is,
1152:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
1152: # 3921 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline basic_istream<_CharT, _Traits>&
1152:     getline(basic_istream<_CharT, _Traits>& __is,
1152:      basic_string<_CharT, _Traits, _Alloc>& __str)
1152:     { return std::getline(__is, __str, __is.widen('\n')); }
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline basic_istream<_CharT, _Traits>&
1152:     getline(basic_istream<_CharT, _Traits>&& __is,
1152:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1152:     { return std::getline(__is, __str, __delim); }
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     inline basic_istream<_CharT, _Traits>&
1152:     getline(basic_istream<_CharT, _Traits>&& __is,
1152:      basic_string<_CharT, _Traits, _Alloc>& __str)
1152:     { return std::getline(__is, __str); }
1152: 
1152: 
1152:   template<>
1152:     basic_istream<char>&
1152:     getline(basic_istream<char>& __in, basic_string<char>& __str,
1152:      char __delim);
1152: 
1152: 
1152:   template<>
1152:     basic_istream<wchar_t>&
1152:     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
1152:      wchar_t __delim);
1152: 
1152: 
1152: 
1152: }
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/c++/12/ext/string_conversions.h" 1 3
1152: # 32 "/usr/include/c++/12/ext/string_conversions.h" 3
1152:        
1152: # 33 "/usr/include/c++/12/ext/string_conversions.h" 3
1152: # 41 "/usr/include/c++/12/ext/string_conversions.h" 3
1152: # 1 "/usr/include/c++/12/cstdlib" 1 3
1152: # 39 "/usr/include/c++/12/cstdlib" 3
1152:        
1152: # 40 "/usr/include/c++/12/cstdlib" 3
1152: # 75 "/usr/include/c++/12/cstdlib" 3
1152: # 1 "/usr/include/stdlib.h" 1 3 4
1152: # 26 "/usr/include/stdlib.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1152: # 27 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1152: # 33 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: extern "C" {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 1 3 4
1152: # 41 "/usr/include/stdlib.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitstatus.h" 1 3 4
1152: # 42 "/usr/include/stdlib.h" 2 3 4
1152: # 56 "/usr/include/stdlib.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1152: # 57 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: typedef struct
1152:   {
1152:     int quot;
1152:     int rem;
1152:   } div_t;
1152: 
1152: 
1152: 
1152: typedef struct
1152:   {
1152:     long int quot;
1152:     long int rem;
1152:   } ldiv_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: __extension__ typedef struct
1152:   {
1152:     long long int quot;
1152:     long long int rem;
1152:   } lldiv_t;
1152: # 98 "/usr/include/stdlib.h" 3 4
1152: extern size_t __ctype_get_mb_cur_max (void) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: extern double atof (const char *__nptr)
1152:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: extern int atoi (const char *__nptr)
1152:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: extern long int atol (const char *__nptr)
1152:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: __extension__ extern long long int atoll (const char *__nptr)
1152:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: extern double strtod (const char *__restrict __nptr,
1152:         char **__restrict __endptr)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: extern float strtof (const char *__restrict __nptr,
1152:        char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: extern long double strtold (const char *__restrict __nptr,
1152:        char **__restrict __endptr)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: # 141 "/usr/include/stdlib.h" 3 4
1152: extern _Float32 strtof32 (const char *__restrict __nptr,
1152:      char **__restrict __endptr)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: extern _Float64 strtof64 (const char *__restrict __nptr,
1152:      char **__restrict __endptr)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: # 159 "/usr/include/stdlib.h" 3 4
1152: extern _Float32x strtof32x (const char *__restrict __nptr,
1152:        char **__restrict __endptr)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: # 177 "/usr/include/stdlib.h" 3 4
1152: extern long int strtol (const char *__restrict __nptr,
1152:    char **__restrict __endptr, int __base)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: extern unsigned long int strtoul (const char *__restrict __nptr,
1152:       char **__restrict __endptr, int __base)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: __extension__
1152: extern long long int strtoq (const char *__restrict __nptr,
1152:         char **__restrict __endptr, int __base)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: __extension__
1152: extern unsigned long long int strtouq (const char *__restrict __nptr,
1152:            char **__restrict __endptr, int __base)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: __extension__
1152: extern long long int strtoll (const char *__restrict __nptr,
1152:          char **__restrict __endptr, int __base)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: __extension__
1152: extern unsigned long long int strtoull (const char *__restrict __nptr,
1152:      char **__restrict __endptr, int __base)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: extern int strfromd (char *__dest, size_t __size, const char *__format,
1152:        double __f)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1152: 
1152: extern int strfromf (char *__dest, size_t __size, const char *__format,
1152:        float __f)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1152: 
1152: extern int strfroml (char *__dest, size_t __size, const char *__format,
1152:        long double __f)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1152: # 233 "/usr/include/stdlib.h" 3 4
1152: extern int strfromf32 (char *__dest, size_t __size, const char * __format,
1152:          _Float32 __f)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1152: 
1152: 
1152: 
1152: extern int strfromf64 (char *__dest, size_t __size, const char * __format,
1152:          _Float64 __f)
1152:      noexcept (true) __attribute__ e _Cp>
609:     struct __is_member_function_pointer_helper<_Tp _Cp::*>
609:     : public is_function<_Tp>::type { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_member_function_pointer
609:     : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_enum
609:     : public integral_constant<bool, __is_enum(_Tp)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_union
609:     : public integral_constant<bool, __is_union(_Tp)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_class
609:     : public integral_constant<bool, __is_class(_Tp)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_function
609:     : public __bool_constant<!is_const<const _Tp>::value> { };
609: 
609:   template<typename _Tp>
609:     struct is_function<_Tp&>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct is_function<_Tp&&>
609:     : public false_type { };
609: 
609: 
609: 
609:   template<typename>
609:     struct __is_null_pointer_helper
609:     : public false_type { };
609: 
609:   template<>
609:     struct __is_null_pointer_helper<std::nullptr_t>
609:     : public true_type { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_null_pointer
609:     : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_nullptr_t
609:     : public is_null_pointer<_Tp>
609:     { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_reference
609:     : public __or_<is_lvalue_reference<_Tp>,
609:                    is_rvalue_reference<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_arithmetic
609:     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_fundamental
609:     : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
609:      is_null_pointer<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_object
609:     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
609:                           is_void<_Tp>>>::type
609:     { };
609: 
609:   template<typename>
609:     struct is_member_pointer;
609: 
609: 
609:   template<typename _Tp>
609:     struct is_scalar
609:     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
609:                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_compound
609:     : public __not_<is_fundamental<_Tp>>::type { };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_member_pointer_helper
609:     : public false_type { };
609: 
609:   template<typename _Tp, typename _Cp>
609:     struct __is_member_pointer_helper<_Tp _Cp::*>
609:     : public true_type { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_member_pointer
609:     : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type
609:     { };
609: 
609:   template<typename, typename>
609:     struct is_same;
609: 
609: 
609:   template<typename _Tp, typename... _Types>
609:     using __is_one_of = __or_<is_same<_Tp, _Types>...>;
609: 
609: 
609:   __extension__
609:   template<typename _Tp>
609:     using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
609:    signed char, signed short, signed int, signed long,
609:    signed long long
609: # 659 "/usr/include/c++/12/type_traits" 3
609:    >;
609: 
609: 
609:   __extension__
609:   template<typename _Tp>
609:     using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
609:    unsigned char, unsigned short, unsigned int, unsigned long,
609:    unsigned long long
609: # 679 "/usr/include/c++/12/type_traits" 3
609:    >;
609: 
609: 
609:   template<typename _Tp>
609:     using __is_standard_integer
609:       = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
609: 
609: 
609:   template<typename...> using __void_t = void;
609: 
609: 
609: 
609:   template<typename _Tp, typename = void>
609:     struct __is_referenceable
609:     : public false_type
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __is_referenceable<_Tp, __void_t<_Tp&>>
609:     : public true_type
609:     { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename>
609:     struct is_const
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct is_const<_Tp const>
609:     : public true_type { };
609: 
609: 
609:   template<typename>
609:     struct is_volatile
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct is_volatile<_Tp volatile>
609:     : public true_type { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivial
609:     : public integral_constant<bool, __is_trivial(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivially_copyable
609:     : public integral_constant<bool, __is_trivially_copyable(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_standard_layout
609:     : public integral_constant<bool, __is_standard_layout(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct
609:    
609:     is_pod
609:     : public integral_constant<bool, __is_pod(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct
609:     [[__deprecated__]]
609:     is_literal_type
609:     : public integral_constant<bool, __is_literal_type(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_empty
609:     : public integral_constant<bool, __is_empty(_Tp)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_polymorphic
609:     : public integral_constant<bool, __is_polymorphic(_Tp)>
609:     { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_final
609:     : public integral_constant<bool, __is_final(_Tp)>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_abstract
609:     : public integral_constant<bool, __is_abstract(_Tp)>
609:     { };
609: 
609: 
609:   template<typename _Tp,
609:     bool = is_arithmetic<_Tp>::value>
609:     struct __is_signed_helper
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_signed_helper<_Tp, true>
609:     : public integral_constant<bool, _Tp(-1) < _Tp(0)>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_signed
609:     : public __is_signed_helper<_Tp>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_unsigned
609:     : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>
609:     { };
609: 
609: 
609:   template<typename _Tp, typename _Up = _Tp&&>
609:     _Up
609:     __declval(int);
609: 
609:   template<typename _Tp>
609:     _Tp
609:     __declval(long);
609: 
609: 
609:   template<typename _Tp>
609:     auto declval() noexcept -> decltype(__declval<_Tp>(0));
609: 
609:   template<typename, unsigned = 0>
609:     struct extent;
609: 
609:   te((__nonnull__ (3)));
1152: # 251 "/usr/include/stdlib.h" 3 4
1152: extern int strfromf32x (char *__dest, size_t __size, const char * __format,
1152:    _Float32x __f)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1152: # 275 "/usr/include/stdlib.h" 3 4
1152: extern long int strtol_l (const char *__restrict __nptr,
1152:      char **__restrict __endptr, int __base,
1152:      locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1152: 
1152: extern unsigned long int strtoul_l (const char *__restrict __nptr,
1152:         char **__restrict __endptr,
1152:         int __base, locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1152: 
1152: __extension__
1152: extern long long int strtoll_l (const char *__restrict __nptr,
1152:     char **__restrict __endptr, int __base,
1152:     locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1152: 
1152: __extension__
1152: extern unsigned long long int strtoull_l (const char *__restrict __nptr,
1152:        char **__restrict __endptr,
1152:        int __base, locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1152: 
1152: extern double strtod_l (const char *__restrict __nptr,
1152:    char **__restrict __endptr, locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1152: 
1152: extern float strtof_l (const char *__restrict __nptr,
1152:          char **__restrict __endptr, locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1152: 
1152: extern long double strtold_l (const char *__restrict __nptr,
1152:          char **__restrict __endptr,
1152:          locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1152: # 317 "/usr/include/stdlib.h" 3 4
1152: extern _Float32 strtof32_l (const char *__restrict __nptr,
1152:        char **__restrict __endptr,
1152:        locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1152: 
1152: 
1152: 
1152: extern _Float64 strtof64_l (const char *__restrict __nptr,
1152:        char **__restrict __endptr,
1152:        locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1152: # 338 "/usr/include/stdlib.h" 3 4
1152: extern _Float32x strtof32x_l (const char *__restrict __nptr,
1152:          char **__restrict __endptr,
1152:          locale_t __loc)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1152: # 361 "/usr/include/stdlib.h" 3 4
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: __attribute__ ((__leaf__)) atoi (const char *__nptr) noexcept (true)
1152: {
1152:   return (int) strtol (__nptr, (char **) __null, 10);
1152: }
1152: extern __inline __attribute__ ((__gnu_inline__)) long int
1152: __attribute__ ((__leaf__)) atol (const char *__nptr) noexcept (true)
1152: {
1152:   return strtol (__nptr, (char **) __null, 10);
1152: }
1152: 
1152: 
1152: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
1152: __attribute__ ((__leaf__)) atoll (const char *__nptr) noexcept (true)
1152: {
1152:   return strtoll (__nptr, (char **) __null, 10);
1152: }
1152: # 386 "/usr/include/stdlib.h" 3 4
1152: extern char *l64a (long int __n) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: extern long int a64l (const char *__s)
1152:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/sys/types.h" 1 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1152: extern "C" {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __u_char u_char;
1152: typedef __u_short u_short;
1152: typedef __u_int u_int;
1152: typedef __u_long u_long;
1152: typedef __quad_t quad_t;
1152: typedef __u_quad_t u_quad_t;
1152: typedef __fsid_t fsid_t;
1152: 
1152: 
1152: typedef __loff_t loff_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __ino64_t ino_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __ino64_t ino64_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __dev_t dev_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __gid_t gid_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __mode_t mode_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __nlink_t nlink_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __uid_t uid_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __off64_t off_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __off64_t off64_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __pid_t pid_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __id_t id_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef __ssize_t ssize_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __daddr_t daddr_t;
1152: typedef __caddr_t caddr_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __key_t key_t;
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clock_t.h" 1 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __clock_t clock_t;
1152: # 127 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h" 1 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __clockid_t clockid_t;
1152: # 129 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 1 3 4
1152: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 3 4
1152: typedef __time_t time_t;
1152: # 130 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/timer_t.h" 1 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __timer_t timer_t;
1152: # 131 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: 
1152: 
1152: 
1152: typedef __useconds_t useconds_t;
1152: 
1152: 
1152: 
1152: typedef __suseconds_t suseconds_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1152: # 145 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: 
1152: 
1152: 
1152: typedef unsigned long int ulong;
1152: typedef unsigned short int ushort;
1152: typedef unsigned int uint;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __uint8_t u_int8_t;
1152: typedef __uint16_t u_int16_t;
1152: typedef __uint32_t u_int32_t;
1152: typedef __uint64_t u_int64_t;
1152: 
1152: 
1152: typedef int register_t __attribute__ ((__mode__ (__word__)));
1152: # 176 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1152: # 1 "/usr/include/endian.h" 1 3 4
1152: # 35 "/usr/include/endian.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 1 3 4
1152: # 33 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1152: static __inline __uint16_t
1152: __bswap_16 (__uint16_t __bsx)
1152: {
1152: 
1152:   return __builtin_bswap16 (__bsx);
1152: 
1152: 
1152: 
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: static __inline __uint32_t
1152: __bswap_32 (__uint32_t __bsx)
1152: {
1152: 
1152:   return __builtin_bswap32 (__bsx);
1152: 
1152: 
1152: 
1152: }
1152: # 69 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1152: __extension__ static __inline __uint64_t
1152: __bswap_64 (__uint64_t __bsx)
1152: {
1152: 
1152:   return __builtin_bswap64 (__bsx);
1152: 
1152: 
1152: 
1152: }
1152: # 36 "/usr/include/endian.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 1 3 4
1152: # 32 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 3 4
1152: static __inline __uint16_t
1152: __uint16_identity (__uint16_t __x)
1152: {
1152:   return __x;
1152: }
1152: 
1152: static __inline __uint32_t
1152: __uint32_identity (__uint32_t __x)
1152: {
1152:   return __x;
1152: }
1152: 
1152: static __inline __uint64_t
1152: __uint64_identity (__uint64_t __x)
1152: {
1152:   return __x;
1152: }
1152: # 37 "/usr/include/endian.h" 2 3 4
1152: # 177 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/sys/select.h" 1 3 4
1152: # 30 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bimplate<typename>
609:     struct remove_all_extents;
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_array_known_bounds
609:     : public integral_constant<bool, (extent<_Tp>::value > 0)>
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __is_array_unknown_bounds
609:     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
609:     { };
609: # 867 "/usr/include/c++/12/type_traits" 3
609:   struct __do_is_destructible_impl
609:   {
609:     template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
609:       static true_type __test(int);
609: 
609:     template<typename>
609:       static false_type __test(...);
609:   };
609: 
609:   template<typename _Tp>
609:     struct __is_destructible_impl
609:     : public __do_is_destructible_impl
609:     {
609:       typedef decltype(__test<_Tp>(0)) type;
609:     };
609: 
609:   template<typename _Tp,
609:            bool = __or_<is_void<_Tp>,
609:                         __is_array_unknown_bounds<_Tp>,
609:                         is_function<_Tp>>::value,
609:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
609:     struct __is_destructible_safe;
609: 
609:   template<typename _Tp>
609:     struct __is_destructible_safe<_Tp, false, false>
609:     : public __is_destructible_impl<typename
609:                remove_all_extents<_Tp>::type>::type
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __is_destructible_safe<_Tp, true, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_destructible_safe<_Tp, false, true>
609:     : public true_type { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_destructible
609:     : public __is_destructible_safe<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   struct __do_is_nt_destructible_impl
609:   {
609:     template<typename _Tp>
609:       static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
609:       __test(int);
609: 
609:     template<typename>
609:       static false_type __test(...);
609:   };
609: 
609:   template<typename _Tp>
609:     struct __is_nt_destructible_impl
609:     : public __do_is_nt_destructible_impl
609:     {
609:       typedef decltype(__test<_Tp>(0)) type;
609:     };
609: 
609:   template<typename _Tp,
609:            bool = __or_<is_void<_Tp>,
609:                         __is_array_unknown_bounds<_Tp>,
609:                         is_function<_Tp>>::value,
609:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
609:     struct __is_nt_destructible_safe;
609: 
609:   template<typename _Tp>
609:     struct __is_nt_destructible_safe<_Tp, false, false>
609:     : public __is_nt_destructible_impl<typename
609:                remove_all_extents<_Tp>::type>::type
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __is_nt_destructible_safe<_Tp, true, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_nt_destructible_safe<_Tp, false, true>
609:     : public true_type { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_nothrow_destructible
609:     : public __is_nt_destructible_safe<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, typename... _Args>
609:     struct __is_constructible_impl
609:     : public __bool_constant<__is_constructible(_Tp, _Args...)>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp, typename... _Args>
609:     struct is_constructible
609:       : public __is_constructible_impl<_Tp, _Args...>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_default_constructible
609:     : public __is_constructible_impl<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_copy_constructible_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_copy_constructible_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_copy_constructible_impl<_Tp, true>
609:     : public __is_constructible_impl<_Tp, const _Tp&>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_copy_constructible
609:     : public __is_copy_constructible_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_move_constructible_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_move_constructible_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_move_constructible_impl<_Tp, true>
609:     : public __is_constructible_impl<_Tp, _Tp&&>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_move_constructible
609:     : public __is_move_constructible_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, typename... _Args>
609:     using __is_nothrow_constructible_impl
609:       = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
609: 
609: 
609: 
609:   template<typename _Tp, typename... _Args>
609:     struct is_nothrow_constructible
609:     : public __is_nothrow_constructible_impl<_Tp, _Args...>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_nothrow_default_constructible
609:     : public __bool_constant<__is_nothrow_constructible(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_nothrow_copy_constructible_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_nothrow_copy_constructible_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_nothrow_copy_constructible_impl<_Tp, true>
609:     : public __is_nothrow_constructible_impl<_Tp, const _Tp&>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_nothrow_copy_constructible
609:     : public __is_nothrow_copy_constructible_impl<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_nothrow_move_constructible_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_nothrow_move_constructible_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_nothrow_move_constructible_impl<_Tp, true>
609:     : public __is_nothrow_constructible_impl<_Tp, _Tp&&>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_nothrow_move_constructible
609:     : public __is_nothrow_move_constructible_impl<_Tp>::type
609:     {
609:       static_assert(std::__ists/select.h" 1 3 4
1152: # 31 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 1 3 4
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h" 1 3 4
1152: 
1152: 
1152: 
1152: 
1152: typedef struct
1152: {
1152:   unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
1152: } __sigset_t;
1152: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 2 3 4
1152: 
1152: 
1152: typedef __sigset_t sigset_t;
1152: # 34 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h" 1 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: struct timeval
1152: {
1152: 
1152: 
1152: 
1152: 
1152:   __time_t tv_sec;
1152:   __suseconds_t tv_usec;
1152: 
1152: };
1152: # 38 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 1 3 4
1152: # 11 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1152: struct timespec
1152: {
1152: 
1152: 
1152: 
1152:   __time_t tv_sec;
1152: 
1152: 
1152: 
1152: 
1152:   __syscall_slong_t tv_nsec;
1152: # 31 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1152: };
1152: # 40 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1152: # 49 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1152: typedef long int __fd_mask;
1152: # 59 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1152: typedef struct
1152:   {
1152: 
1152: 
1152: 
1152:     __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   } fd_set;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __fd_mask fd_mask;
1152: # 91 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1152: extern "C" {
1152: # 102 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1152: extern int select (int __nfds, fd_set *__restrict __readfds,
1152:      fd_set *__restrict __writefds,
1152:      fd_set *__restrict __exceptfds,
1152:      struct timeval *__restrict __timeout);
1152: # 127 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1152: extern int pselect (int __nfds, fd_set *__restrict __readfds,
1152:       fd_set *__restrict __writefds,
1152:       fd_set *__restrict __exceptfds,
1152:       const struct timespec *__restrict __timeout,
1152:       const __sigset_t *__restrict __sigmask);
1152: # 150 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 1 3 4
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 3 4
1152: extern long int __fdelt_chk (long int __d);
1152: extern long int __fdelt_warn (long int __d)
1152:   __attribute__((__warning__ ("bit outside of fd_set selected")));
1152: # 151 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1152: 
1152: 
1152: }
1152: # 180 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __blksize_t blksize_t;
1152: # 205 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1152: typedef __blkcnt64_t blkcnt_t;
1152: 
1152: 
1152: 
1152: typedef __fsblkcnt64_t fsblkcnt_t;
1152: 
1152: 
1152: 
1152: typedef __fsfilcnt64_t fsfilcnt_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __blkcnt64_t blkcnt64_t;
1152: typedef __fsblkcnt64_t fsblkcnt64_t;
1152: typedef __fsfilcnt64_t fsfilcnt64_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 1 3 4
1152: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 1 3 4
1152: # 44 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 1 3 4
1152: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 2 3 4
1152: # 45 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 1 3 4
1152: # 25 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 3 4
1152: typedef union
1152: {
1152:   __extension__ unsigned long long int __value64;
1152:   struct
1152:   {
1152:     unsigned int __low;
1152:     unsigned int __high;
1152:   } __value32;
1152: } __atomic_wide_counter;
1152: # 47 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: typedef struct __pthread_internal_list
1152: {
1152:   struct __pthread_internal_list *__prev;
1152:   struct __pthread_internal_list *__next;
1152: } __pthread_list_t;
1152: 
1152: typedef struct __pthread_internal_slist
1152: {
1152:   struct __pthread_internal_slist *__next;
1152: } __pthread_slist_t;
1152: # 76 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 1 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1152: struct __pthread_mutex_s
1152: {
1152:   int __lock ;
1152:   unsigned int __count;
1152:   int __owner;
1152: # 58 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1152:   int __kind;
1152: 
1152:   unsigned int __nusers;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   __extension__ union
1152:   {
1152:     int __spins;
1152:     __pthread_slist_t __list;
1152:   };
1152: 
1152: 
1152: };
1152: # 77 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1152: # 89 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 1 3 4
1152: # 29 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1152: struct __pthread_rwlock_arch_t
1152: {
1152:   unsigned int __readers;
1152:   unsigned int __writers;
1152:   unsigned int __wrphase_futex;
1152:   unsigned int __writers_futex;
1152:   unsigned int __pad3;
1152:   unsigned int __pad4;
1152: # 45 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1152:   unsigned char __flags;
1152:   unsigned char __shared;
1152:   unsigned char __pad1;
1152:   unsigned char __pad2;
1152: 
1152:   int __cur_writer;
1152: };
1152: # 90 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: struct __pthread_cond_s
1152: {
1152:   __atomic_wide_counter __wseq;
1152:   __atomic_wide_counter __g1_start;
1152:   unsigned int __g_refs[2] ;
1152:   unsigned int __g_size[2];
1152:   unsigned int __g1_orig_size;
1152:   unsigned int __wrefs;
1152:   unsigned int __g_signals[2];
1152: };
1152: 
1152: typedef unsigned int __tss_t;
1152: typedef unsigned long int __thrd_t;
1152: 
1152: typedef struct
1152: {
1152:   int __data ;
1152: } __once_flag;
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 2 3 4
1152: 
1152: 
1152: 
1152: typedef unsigned long int pthread_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef union
1152: {
1152:   char __size[4];
1152:   int __align;
1152: } pthread_mutexattr_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef union
1152: {
1152:   char __size[4];
1152:   int __align;
1152: } pthread_condattr_t;
1152: 
1152: 
1152: 
1152: typedef unsigned int pthread_key_t;
1152: 
1152: 
1152: 
1152: typedef int pthread_once_t;
1152: 
1152: 
1152: union pthread_attr_t
1152: {
1152:   char __size[36];
1152:   long int __align;
1152: };
1152: 
1152: typedef union pthread_attr_t pthread_attr_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef union
1152: {
1152:   struct __pthread_mutex_s __data;
1152:   char __size[24];
1152:   long int __align;
1152: } pthread_mutex_t;
1152: 
1152: 
1152: typedef union
1152: {
1152:   struct __pthread_cond_s __data;
1152:   char __size[48];
1152:   __extension__ long long int __align;
1152: } pthread_cond_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef union
1152: {
1152:   struct __pthread_rwlock_arch_t __data;
1152:   char __size[32];
1152:   long int __align;
1152: } pthread_rwlock_t;
1152: 
1152: typede_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     struct is_assignable
609:     : public __bool_constant<__is_assignable(_Tp, _Up)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_copy_assignable_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_copy_assignable_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_copy_assignable_impl<_Tp, true>
609:     : public __bool_constant<__is_assignable(_Tp&, const _Tp&)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_copy_assignable
609:     : public __is_copy_assignable_impl<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_move_assignable_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_move_assignable_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_move_assignable_impl<_Tp, true>
609:     : public __bool_constant<__is_assignable(_Tp&, _Tp&&)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_move_assignable
609:     : public __is_move_assignable_impl<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, typename _Up>
609:     using __is_nothrow_assignable_impl
609:       = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     struct is_nothrow_assignable
609:     : public __is_nothrow_assignable_impl<_Tp, _Up>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_nt_copy_assignable_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_nt_copy_assignable_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_nt_copy_assignable_impl<_Tp, true>
609:     : public __is_nothrow_assignable_impl<_Tp&, const _Tp&>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_nothrow_copy_assignable
609:     : public __is_nt_copy_assignable_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_nt_move_assignable_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_nt_move_assignable_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_nt_move_assignable_impl<_Tp, true>
609:     : public __is_nothrow_assignable_impl<_Tp&, _Tp&&>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_nothrow_move_assignable
609:     : public __is_nt_move_assignable_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, typename... _Args>
609:     struct is_trivially_constructible
609:     : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivially_default_constructible
609:     : public __bool_constant<__is_trivially_constructible(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   struct __do_is_implicitly_default_constructible_impl
609:   {
609:     template <typename _Tp>
609:     static void __helper(const _Tp&);
609: 
609:     template <typename _Tp>
609:     static true_type __test(const _Tp&,
609:                             decltype(__helper<const _Tp&>({}))* = 0);
609: 
609:     static false_type __test(...);
609:   };
609: 
609:   template<typename _Tp>
609:     struct __is_implicitly_default_constructible_impl
609:     : public __do_is_implicitly_default_constructible_impl
609:     {
609:       typedef decltype(__test(declval<_Tp>())) type;
609:     };
609: 
609:   template<typename _Tp>
609:     struct __is_implicitly_default_constructible_safe
609:     : public __is_implicitly_default_constructible_impl<_Tp>::type
609:     { };
609: 
609:   template <typename _Tp>
609:     struct __is_implicitly_default_constructible
609:     : public __and_<__is_constructible_impl<_Tp>,
609:       __is_implicitly_default_constructible_safe<_Tp>>
609:     { };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_trivially_copy_constructible_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_copy_constructible_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_copy_constructible_impl<_Tp, true>
609:     : public __and_<__is_copy_constructible_impl<_Tp>,
609:       integral_constant<bool,
609:    __is_trivially_constructible(_Tp, const _Tp&)>>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivially_copy_constructible
609:     : public __is_trivially_copy_constructible_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_trivially_move_constructible_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_move_constructible_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_move_constructible_impl<_Tp, true>
609:     : public __and_<__is_move_constructible_impl<_Tp>,
609:       integral_constant<bool,
609:    __is_trivially_constructible(_Tp, _Tp&&)>>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivially_move_constructible
609:     : public __is_trivially_move_constructible_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     struct is_trivially_assignable
609:     : public __bool_constant<__is_trivially_assignable(_Tp, _Up)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_trivially_copy_assignable_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_copy_assignable_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_copy_assignable_impl<_Tp, true>
609:     : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivially_copy_assignable
609:     : public __is_trivially_copy_assignable_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __is_trivially_move_assignable_impl;
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_move_assignable_impl<_Tp, false>
609:     : public false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_trivially_move_assignable_impl<_Tp, true>
609:     : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivially_move_assignable
609:     : public __is_trivially_move_assignable_impl<_Tp>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_trivially_destructible
609:     : public __and_<__is_destructible_safe<_Tp>,
609:       __bool_constant<__has_trivial_destructor(_Tp)>>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct has_virtual_destructor
609:     : public integral_constant<bool, __has_virtual_destructor(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct alignment_of
609:     : public integral_constant<std::size_t, alignof(_Tp)>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename>
609:     struct rank
609:     : public integral_constant<std::size_t, 0> { };
609: 
609:   template<typename _Tp, std::size_t _Size>
609:     struct rank<_Tp[_Size]>
609:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
609: 
609:   template<typename _Tp>
609:     struct rank<_Tp[]>
609:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
609: 
609: 
609:   template<typename, unsigned _Uint>
609:     struct extent
609:     : public integral_constant<std::size_t, 0> { };
609: 
609:   template<typename _Tp, unsigned _Uint, std::size_t _Size>
609:     struct extent<_Tp[_Size], _Uint>
609:     : public integral_constant<std::size_t,
609:           _Uint == 0 ? _Size : extent<_Tp,
609:           _Uint - 1>::value>
609:     { };
609: 
609:   template<typename _Tp, unsigned _Uint>
609:     struct extent<_Tp[], _Uint>
609:     : public integral_constant<std::size_t,
609:           _Uint == 0 ? 0 : extent<_Tp,
609:              _Uint - 1>::value>
609:     { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     struct is_same
609: 
609:     : public integral_constant<bool, __is_same(_Tp, _Up)>
609: 
609: 
609: 
609:     { };
609: # 1445 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Base, typename _Derived>
609:     struct is_base_of
609:     : public integral_constant<bool, __is_base_of(_Base, _Derived)>
609:     { };
609: 
609:   template<typename _From, typename _To,
609:            bool = __or_<is_void<_From>, is_function<_To>,
609:                         is_array<_To>>::value>
609:     struct __is_convertible_helper
609:     {
609:       typedef typename is_void<_To>::type type;
609:     };
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
609:   template<typename _From, typename _To>
609:     class __is_convertible_helper<_From, _To, false>
609:     {
609:       template<typename _To1>
609:  static void __test_aux(_To1) noexcept;
609: 
609:       template<typename _From1, typename _To1,
609:         typename = decltype(__test_aux<_To1>(std::declval<_From1>()))>
609:  static true_type
609:  __test(int);
609: 
609:       template<typename, typename>
609:  static false_type
609:  __test(...);
609: 
609:     public:
609:       typedef decltype(__test<_From, _To>(0)) type;
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609:   template<typename _From, typename _To>
609:     struct is_convertible
609:     : public __is_convertible_helper<_From, _To>::type
609:     { };
609: 
609: 
609:   template<typename _ToElementType, typename _FromElementType>
609:     using __is_array_convertible
609:       = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
609: 
609:   template<typename _From, typename _To,
609:            bool = __or_<is_void<_From>, is_function<_To>,
609:                         is_array<_To>>::value>
609:     struct __is_nt_convertible_helper
609:     : is_void<_To>
609:     { };
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
609:   template<typename _From, typename _To>
609:     class __is_nt_convertible_helper<_From, _To, false>
609:     {
609:       template<typename _To1>
609:  static void __test_aux(_To1) noexcept;
609: 
609:       template<typename _From1, typename _To1>
609:  static
609:  __bool_constant<noexcept(__test_aux<_To1>(std::declval<_From1>()))>
609:  __test(int);
609: 
609:       template<typename, typename>
609:  static false_type
609:  __test(...);
609: 
609:     public:
609:       using type = decltype(__test<_From, _To>(0));
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609:   template<typename _From, typename _To>
609:     struct __is_nothrow_convertible
609:     : public __is_nt_convertible_helper<_From, _To>::type
609:     { };
609: # 1543 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Tp>
609:     struct remove_const
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct remove_const<_Tp const>
609:     { typedef _Tp type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct remove_volatile
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct remove_volatile<_Tp volatile>
609:     { typedef _Tp type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct remove_cv
609:     { using type = _Tp; };
609: 
609:   template<typename _Tp>
609:     struct remove_cv<const _Tp>
609:     { using type = _Tp; };
609: 
609:   template<typename _Tp>
609:     struct remove_cv<volatile _Tp>
609:     { using type = _Tp; };
609: 
609:   template<typename _Tp>
609:     struct remove_cv<const volatile _Tp>
609:     { using type = _Tp; };
609: 
609: 
609:   template<typename _Tp>
609:     struct add_const
609:     { typedef _Tp const type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct add_volatile
609:     { typedef _Tp volatile type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct add_cv
609:     {
609:       typedef typename
609:       add_const<typename add_volatile<_Tp>::type>::type type;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     using remove_const_t = typename remove_const<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using remove_volatile_t = typename remove_volatile<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using remove_cv_t = typename remove_cv<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using add_const_t = typename add_const<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using add_volatile_t = typename add_volatile<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using add_cv_t = typename add_cv<_Tp>::type;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct remove_reference
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct remove_reference<_Tp&>
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct remove_reference<_Tp&&f union
1152: {
1152:   char __size[8];
1152:   long int __align;
1152: } pthread_rwlockattr_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef volatile int pthread_spinlock_t;
1152: 
1152: 
1152: 
1152: 
1152: typedef union
1152: {
1152:   char __size[20];
1152:   long int __align;
1152: } pthread_barrier_t;
1152: 
1152: typedef union
1152: {
1152:   char __size[4];
1152:   int __align;
1152: } pthread_barrierattr_t;
1152: # 228 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1152: 
1152: 
1152: }
1152: # 396 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern long int random (void) noexcept (true);
1152: 
1152: 
1152: extern void srandom (unsigned int __seed) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern char *initstate (unsigned int __seed, char *__statebuf,
1152:    size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
1152: 
1152: 
1152: 
1152: extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: struct random_data
1152:   {
1152:     int32_t *fptr;
1152:     int32_t *rptr;
1152:     int32_t *state;
1152:     int rand_type;
1152:     int rand_deg;
1152:     int rand_sep;
1152:     int32_t *end_ptr;
1152:   };
1152: 
1152: extern int random_r (struct random_data *__restrict __buf,
1152:        int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: extern int srandom_r (unsigned int __seed, struct random_data *__buf)
1152:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1152: 
1152: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
1152:    size_t __statelen,
1152:    struct random_data *__restrict __buf)
1152:      noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
1152: 
1152: extern int setstate_r (char *__restrict __statebuf,
1152:          struct random_data *__restrict __buf)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int rand (void) noexcept (true);
1152: 
1152: extern void srand (unsigned int __seed) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int rand_r (unsigned int *__seed) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern double drand48 (void) noexcept (true);
1152: extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: extern long int lrand48 (void) noexcept (true);
1152: extern long int nrand48 (unsigned short int __xsubi[3])
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: extern long int mrand48 (void) noexcept (true);
1152: extern long int jrand48 (unsigned short int __xsubi[3])
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: extern void srand48 (long int __seedval) noexcept (true);
1152: extern unsigned short int *seed48 (unsigned short int __seed16v[3])
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: struct drand48_data
1152:   {
1152:     unsigned short int __x[3];
1152:     unsigned short int __old_x[3];
1152:     unsigned short int __c;
1152:     unsigned short int __init;
1152:     __extension__ unsigned long long int __a;
1152: 
1152:   };
1152: 
1152: 
1152: extern int drand48_r (struct drand48_data *__restrict __buffer,
1152:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: extern int erand48_r (unsigned short int __xsubi[3],
1152:         struct drand48_data *__restrict __buffer,
1152:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: extern int lrand48_r (struct drand48_data *__restrict __buffer,
1152:         long int *__restrict __result)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: extern int nrand48_r (unsigned short int __xsubi[3],
1152:         struct drand48_data *__restrict __buffer,
1152:         long int *__restrict __result)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: extern int mrand48_r (struct drand48_data *__restrict __buffer,
1152:         long int *__restrict __result)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: extern int jrand48_r (unsigned short int __xsubi[3],
1152:         struct drand48_data *__restrict __buffer,
1152:         long int *__restrict __result)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
1152:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1152: 
1152: extern int seed48_r (unsigned short int __seed16v[3],
1152:        struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: extern int lcong48_r (unsigned short int __param[7],
1152:         struct drand48_data *__buffer)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1152: 
1152: 
1152: extern __uint32_t arc4random (void)
1152:      noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: extern void arc4random_buf (void *__buf, size_t __size)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
1152:      noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1152:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: extern void *calloc (size_t __nmemb, size_t __size)
1152:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void *realloc (void *__ptr, size_t __size)
1152:      noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2)));
1152: 
1152: 
1152: extern void free (void *__ptr) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1152:      noexcept (true) __attribute__ ((__warn_unused_result__))
1152:      __attribute__ ((__alloc_size__ (2, 3)))
1152:     __attribute__ ((__malloc__ (__builtin_free, 1)));
1152: 
1152: 
1152: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1152:      noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1)));
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/alloca.h" 1 3 4
1152: # 24 "/usr/include/alloca.h" 3 4
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1152: # 25 "/usr/include/alloca.h" 2 3 4
1152: 
1152: extern "C" {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void *alloca (size_t __size) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 588 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1152:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern void *aligned_alloc (size_t __alignment, size_t __size)
1152:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
1152:      __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: extern void abort (void) noexcept (true) __attribute__ ((__noreturn__));
1152: 
1152: 
1152: 
1152: extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: extern "C++" int at_quick_exit (void (*__f>
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __add_lvalue_reference_helper
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct __add_lvalue_reference_helper<_Tp, true>
609:     { typedef _Tp& type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct add_lvalue_reference
609:     : public __add_lvalue_reference_helper<_Tp>
609:     { };
609: 
609:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
609:     struct __add_rvalue_reference_helper
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct __add_rvalue_reference_helper<_Tp, true>
609:     { typedef _Tp&& type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct add_rvalue_reference
609:     : public __add_rvalue_reference_helper<_Tp>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     using remove_reference_t = typename remove_reference<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Unqualified, bool _IsConst, bool _IsVol>
609:     struct __cv_selector;
609: 
609:   template<typename _Unqualified>
609:     struct __cv_selector<_Unqualified, false, false>
609:     { typedef _Unqualified __type; };
609: 
609:   template<typename _Unqualified>
609:     struct __cv_selector<_Unqualified, false, true>
609:     { typedef volatile _Unqualified __type; };
609: 
609:   template<typename _Unqualified>
609:     struct __cv_selector<_Unqualified, true, false>
609:     { typedef const _Unqualified __type; };
609: 
609:   template<typename _Unqualified>
609:     struct __cv_selector<_Unqualified, true, true>
609:     { typedef const volatile _Unqualified __type; };
609: 
609:   template<typename _Qualified, typename _Unqualified,
609:     bool _IsConst = is_const<_Qualified>::value,
609:     bool _IsVol = is_volatile<_Qualified>::value>
609:     class __match_cv_qualifiers
609:     {
609:       typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
609: 
609:     public:
609:       typedef typename __match::__type __type;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct __make_unsigned
609:     { typedef _Tp __type; };
609: 
609:   template<>
609:     struct __make_unsigned<char>
609:     { typedef unsigned char __type; };
609: 
609:   template<>
609:     struct __make_unsigned<signed char>
609:     { typedef unsigned char __type; };
609: 
609:   template<>
609:     struct __make_unsigned<short>
609:     { typedef unsigned short __type; };
609: 
609:   template<>
609:     struct __make_unsigned<int>
609:     { typedef unsigned int __type; };
609: 
609:   template<>
609:     struct __make_unsigned<long>
609:     { typedef unsigned long __type; };
609: 
609:   template<>
609:     struct __make_unsigned<long long>
609:     { typedef unsigned long long __type; };
609: # 1771 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Tp,
609:     bool _IsInt = is_integral<_Tp>::value,
609:     bool _IsEnum = is_enum<_Tp>::value>
609:     class __make_unsigned_selector;
609: 
609:   template<typename _Tp>
609:     class __make_unsigned_selector<_Tp, true, false>
609:     {
609:       using __unsigned_type
609:  = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
609: 
609:     public:
609:       using __type
609:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
609:     };
609: 
609:   class __make_unsigned_selector_base
609:   {
609:   protected:
609:     template<typename...> struct _List { };
609: 
609:     template<typename _Tp, typename... _Up>
609:       struct _List<_Tp, _Up...> : _List<_Up...>
609:       { static constexpr size_t __size = sizeof(_Tp); };
609: 
609:     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
609:       struct __select;
609: 
609:     template<size_t _Sz, typename _Uint, typename... _UInts>
609:       struct __select<_Sz, _List<_Uint, _UInts...>, true>
609:       { using __type = _Uint; };
609: 
609:     template<size_t _Sz, typename _Uint, typename... _UInts>
609:       struct __select<_Sz, _List<_Uint, _UInts...>, false>
609:       : __select<_Sz, _List<_UInts...>>
609:       { };
609:   };
609: 
609: 
609:   template<typename _Tp>
609:     class __make_unsigned_selector<_Tp, false, true>
609:     : __make_unsigned_selector_base
609:     {
609: 
609:       using _UInts = _List<unsigned char, unsigned short, unsigned int,
609:       unsigned long, unsigned long long>;
609: 
609:       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
609: 
609:     public:
609:       using __type
609:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct __make_unsigned<wchar_t>
609:     {
609:       using __type
609:  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
609:     };
609: # 1845 "/usr/include/c++/12/type_traits" 3
609:   template<>
609:     struct __make_unsigned<char16_t>
609:     {
609:       using __type
609:  = typename __make_unsigned_selector<char16_t, false, true>::__type;
609:     };
609: 
609:   template<>
609:     struct __make_unsigned<char32_t>
609:     {
609:       using __type
609:  = typename __make_unsigned_selector<char32_t, false, true>::__type;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct make_unsigned
609:     { typedef typename __make_unsigned_selector<_Tp>::__type type; };
609: 
609: 
609:   template<>
609:     struct make_unsigned<bool>;
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __make_signed
609:     { typedef _Tp __type; };
609: 
609:   template<>
609:     struct __make_signed<char>
609:     { typedef signed char __type; };
609: 
609:   template<>
609:     struct __make_signed<unsigned char>
609:     { typedef signed char __type; };
609: 
609:   template<>
609:     struct __make_signed<unsigned short>
609:     { typedef signed short __type; };
609: 
609:   template<>
609:     struct __make_signed<unsigned int>
609:     { typedef signed int __type; };
609: 
609:   template<>
609:     struct __make_signed<unsigned long>
609:     { typedef signed long __type; };
609: 
609:   template<>
609:     struct __make_signed<unsigned long long>
609:     { typedef signed long long __type; };
609: # 1929 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Tp,
609:     bool _IsInt = is_integral<_Tp>::value,
609:     bool _IsEnum = is_enum<_Tp>::value>
609:     class __make_signed_selector;
609: 
609:   template<typename _Tp>
609:     class __make_signed_selector<_Tp, true, false>
609:     {
609:       using __signed_type
609:  = typename __make_signed<__remove_cv_t<_Tp>>::__type;
609: 
609:     public:
609:       using __type
609:  = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     class __make_signed_selector<_Tp, false, true>
609:     {
609:       typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type;
609: 
609:     public:
609:       typedef typename __make_signed_selector<__unsigned_type>::__type __type;
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct __make_signed<wchar_t>
609:     {
609:       using __type
609:  = typename __make_signed_selector<wchar_t, false, true>::__type;
609:     };
609: # 1975 "/usr/include/c++/12/type_traits" 3
609:   template<>
609:     struct __make_signed<char16_t>
609:     {
609:       using __type
609:  = typename __make_signed_selector<char16_t, false, true>::__type;
609:     };
609: 
609:   template<>
609:     struct __make_signed<char32_t>
609:     {
609:       using __type
609:  = typename __make_signed_selector<char32_t, false, true>::__type;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct make_signed
609:     { typedef typename __make_signed_selector<_Tp>::__type type; };
609: 
609: 
609:   template<>
609:     struct make_signed<bool>;
609: 
609: 
609: 
609:   template<typename _Tp>
609:     using make_signed_t = typename make_signed<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using make_unsigned_t = typename make_unsigned<_Tp>::type;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct remove_extent
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp, std::size_t _Size>
609:     struct remove_extent<_Tp[_Size]>
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct remove_extent<_Tp[]>
609:     { typedef _Tp type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct remove_all_extents
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp, std::size_t _Size>
609:     struct remove_all_extents<_Tp[_Size]>
609:     { typedef typename remove_all_extents<_Tp>::type type; };
609: 
609:   template<typename _Tp>
609:     struct remove_all_extents<_Tp[]>
609:     { typedef typename remove_all_extents<_Tp>::type type; };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     using remove_extent_t = typename remove_extent<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename>
609:     struct __remove_pointer_helper
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp, typename _Up>
609:     struct __remove_pointer_helper<_Tp, _Up*>
609:     { typedef _Up type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct remove_pointer
609:     : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>>
609:     { };
609: 
609:   template<typename _Tp, bool = __or_<__is_referenceable<_Tp>,
609:           is_void<_Tp>>::value>
609:     struct __add_pointer_helper
609:     { typedef _Tp type; };
609: 
609:   template<typename _Tp>
609:     struct __add_pointer_helper<_Tp, true>
609:     { typedef typename remove_reference<_Tp>::type* type; };
609: 
609: 
609:   template<typename _Tp>
609:     struct add_pointer
609:     : public __add_pointer_helper<_Tp>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     using remove_pointer_t = typename remove_pointer<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using add_pointer_t = typename add_pointer<_Tp>::type;
609: 
609: 
609:   template<std::size_t _Len>
609:     struct __aligned_storage_msa
609:     {
609:       union __type
609:       {
609:  unsigned char __data[_Len];
609:  struct __attribute__((__aligned__)) { } __align;
609:       };
609:     };
609: # 2111 "/usr/include/c++/12/type_traits" 3
609:   template<std::size_t _Len, std::size_t _Align =
609:     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
609:     struct aligned_storage
609:     {
609:       union type
609:       {
609:  unsigned char __data[_Len];
609:  struct __attribute__((__aligned__((_Align)))) { } __align;
609:       };
609:     };
609: 
609:   template <typename... _Types>
609:     struct __strictest_alignment
609:     {
609:       static const size_t _S_alignment = 0;
609:       static const size_t _S_size = 0;
609:     };
609: 
609:   template <typename _Tp, typename... _Types>
609:     struct __strictest_alignment<_Tp, _Types...>
609:     {
609:       static const size_t _S_alignment =
609:         alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
609:  ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
609:       static const size_t _S_size =
609:         sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
609:  ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
609:     };
609: # 2150 "/usr/include/c++/12/type_traits" 3
609:   template <size_t _Len, typename... _Types>
609:     struct aligned_union
609:     {
609:     private:
609:       static_assert(sizeof...(_Types) != 0, "At least one type is required");
609: 
609:       using __strictest = __strictest_alignment<_Types...>;
609:       static const size_t _S_len = _Len > __strictest::_S_size
609:  ? _Len : __strictest::_S_size;
609:     public:
609: 
609:       static const size_t alignment_value = __strictest::_S_alignment;
609: 
609:       typedef typename aligned_storage<_S_len, alignment_value>::type type;
609:     };
609: 
609:   template <size_t _Len, typename... _Types>
609:     const size_t aligned_union<_Len, _Types...>::alignment_value;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Up,
609:     bool _IsArray = is_array<_Up>::value,
609:     bool _IsFunction = is_function<_Up>::value>
609:     struct __decay_selector;
609: 
609: 
609:   template<typename _Up>
609:     struct __decay_selector<_Up, false, false>
609:     { typedef __remove_cv_t<_Up> __type; };
609: 
609:   template<typename _Up>
609:     struct __decay_selector<_Up, true, false>
609:     { typedef typename remove_extent<_Up>::type* __type; };
609: 
609:   template<typename _Up>
609:     struct __decay_selector<_Up, false, true>
609:     { typedef typename add_pointer<_Up>::type __type; };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     class decay
609:     {
609:       typedef typename remove_reference<_Tp>::type __remove_type;
609: 
609:     public:
609:       typedef typename __decay_selector<__remove_type>::__type type;
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __strip_reference_wrapper
609:     {
609:       typedef _Tp __type;
609:     };
609: 
609:   template<typename _Tp>
609:     struct __strip_reference_wrapper<reference_wrapper<_Tp> >
609:     {
609:       typedef _Tp& __type;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     using __decay_t = typename decay<_Tp>::type;
609: 
609:   template<typename _Tp>
609:     using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
609: 
609: 
609: 
609: 
609:   template<bool, typename _Tp = void>
609:     struct enable_if
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct enable_if<true, _Tp>
609:     { typedef _Tp type; };
609: 
609: 
609: 
609: 
609:   template<bool _Cond, typename _Tp = void>
609:     using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
609: 
609: 
609:   template<typename... _Cond>
609:     using _Require = __enable_if_t<__and_<_Cond...>::value>;
609: 
609: 
609:   template<typename _Tp>
609:     using __remove_cvref_t
609:      = typename remove_cv<typename remove_reference<_Tp>::type>::type;
609: 
609: 
609: 
609: 
609:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
609:     struct conditional
609:     { typedef _Iftrue type; };
609: 
609: 
609:   template<typename _Iftrue, typename _Iffalse>
609:     struct conditional<false, _Iftrue, _Iffalse>
609:     { typedef _Iffalse type; };
609: 
609: 
609:   template<typename... _Tp>
609:     struct common_type;
609: 
609: 
609: 
609: 
609:   struct __do_common_type_impl
609:   {
609:     template<typename _Tp, typename _Up>
609:       using __cond_t
609:  = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
609: 
609: 
609: 
609:     template<typename _Tp, typename _Up>
609:       static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
609:       _S_test(int);
609: # 2290 "/usr/include/c++/12/type_traits" 3
609:     template<typename, typename>
609:       static __failure_type
609:       _S_test_2(...);
609: 
609:     template<typename _Tp, typename _Up>
609:       static decltype(_S_test_2<_Tp, _Up>(0))
609:       _S_test(...);
609:   };
609: 
609: 
609:   template<>
609:     struct common_type<>
609:     { };
609: 
609: 
609:   template<typename _Tp0>
609:     struct common_type<_Tp0>
609:     : public common_type<_Tp0, _Tp0>
609:     { };
609: 
609: 
609:   template<typename _Tp1, typename _Tp2,
609:     typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
609:     struct __common_type_impl
609:     {
609: 
609: 
609:       using type = common_type<_Dp1, _Dp2>;
609:     };
609: 
609:   template<typename _Tp1, typename _Tp2>
609:     struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
609:     : private __do_common_type_unc) (void))
1152:      noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
1152: # 630 "/usr/include/stdlib.h" 3 4
1152: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1152: 
1152: 
1152: 
1152: 
1152: extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern char *secure_getenv (const char *__name)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int setenv (const char *__name, const char *__value, int __replace)
1152:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1152: 
1152: 
1152: extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int clearenv (void) noexcept (true);
1152: # 695 "/usr/include/stdlib.h" 3 4
1152: extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: # 711 "/usr/include/stdlib.h" 3 4
1152: extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
1152:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: # 733 "/usr/include/stdlib.h" 3 4
1152: extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64")
1152:                      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int mkstemps64 (char *__template, int __suffixlen)
1152:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: # 751 "/usr/include/stdlib.h" 3 4
1152: extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: # 765 "/usr/include/stdlib.h" 3 4
1152: extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64")
1152:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: # 786 "/usr/include/stdlib.h" 3 4
1152: extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64")
1152: 
1152:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
1152:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: # 804 "/usr/include/stdlib.h" 3 4
1152: extern int system (const char *__command) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern char *canonicalize_file_name (const char *__name)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
1152:      __attribute__ ((__malloc__ (__builtin_free, 1))) __attribute__ ((__warn_unused_result__));
1152: # 821 "/usr/include/stdlib.h" 3 4
1152: extern char *realpath (const char *__restrict __name,
1152:          char *__restrict __resolved) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef int (*__compar_fn_t) (const void *, const void *);
1152: 
1152: 
1152: typedef __compar_fn_t comparison_fn_t;
1152: 
1152: 
1152: 
1152: typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
1152: 
1152: 
1152: 
1152: 
1152: extern void *bsearch (const void *__key, const void *__base,
1152:         size_t __nmemb, size_t __size, __compar_fn_t __compar)
1152:      __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 1 3 4
1152: # 19 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 3 4
1152: extern __inline __attribute__ ((__gnu_inline__)) void *
1152: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
1152:   __compar_fn_t __compar)
1152: {
1152:   size_t __l, __u, __idx;
1152:   const void *__p;
1152:   int __comparison;
1152: 
1152:   __l = 0;
1152:   __u = __nmemb;
1152:   while (__l < __u)
1152:     {
1152:       __idx = (__l + __u) / 2;
1152:       __p = (const void *) (((const char *) __base) + (__idx * __size));
1152:       __comparison = (*__compar) (__key, __p);
1152:       if (__comparison < 0)
1152:  __u = __idx;
1152:       else if (__comparison > 0)
1152:  __l = __idx + 1;
1152:       else
1152:  {
1152: 
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wcast-qual"
1152: 
1152:    return (void *) __p;
1152: 
1152: #pragma GCC diagnostic pop
1152: 
1152:  }
1152:     }
1152: 
1152:   return __null;
1152: }
1152: # 847 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: extern void qsort (void *__base, size_t __nmemb, size_t __size,
1152:      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
1152: 
1152: extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
1152:        __compar_d_fn_t __compar, void *__arg)
1152:   __attribute__ ((__nonnull__ (1, 4)));
1152: 
1152: 
1152: 
1152: 
1152: extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1152: extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: __extension__ extern long long int llabs (long long int __x)
1152:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern div_t div (int __numer, int __denom)
1152:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1152: extern ldiv_t ldiv (long int __numer, long int __denom)
1152:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: __extension__ extern lldiv_t lldiv (long long int __numer,
1152:         long long int __denom)
1152:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1152: # 893 "/usr/include/stdlib.h" 3 4
1152: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
1152:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
1152:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern char *gcvt (double __value, int __ndigit, char *__buf)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern char *qecvt (long double __value, int __ndigit,
1152:       int *__restrict __decpt, int *__restrict __sign)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1152: extern char *qfcvt (long double __value, int __ndigit,
1152:       int *__restrict __decpt, int *__restrict __sign)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1152: extern char *qgcvt (long double __value, int __ndigit, char *__buf)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
1152:      int *__restrict __sign, char *__restrict __buf,
1152:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1152: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
1152:      int *__restrict __sign, char *__restrict __buf,
1152:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1152: 
1152: extern int qecvt_r (long double __value, int __ndigit,
1152:       int *__restrict __decpt, int *__restrict __sign,
1152:       char *__restrict __buf, size_t __len)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1152: extern int qfcvt_r (long double __value, int __ndigit,
1152:       int *__restrict __decpt, int *__restrict __sign,
1152:       char *__restrict __buf, size_t __len)
1152:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int mblen (const char *__s, size_t __n) noexcept (true);
1152: 
1152: 
1152: extern int mbtowc (wchar_t *__restrict __pwc,
1152:      const char *__restrict __s, size_t __n) noexcept (true);
1152: 
1152: 
1152: extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
1152: 
1152: 
1152: 
1152: extern size_t mbstowcs (wchar_t *__restrict __pwcs,
1152:    const char *__restrict __s, size_t __n) noexcept (true)
1152:     __attribute__ ((__access__ (__read_only__, 2)));
1152: 
1152: extern size_t wcstombs (char *__restrict __s,
1152:    const wchar_t *__restrict __pwcs, size_t __n)
1152:      noexcept (true)
1152:   __attribute__ ((__access__ (__write_only__, 1, 3)))
1152:   __attribute__ ((__access__ (__read_only__, 2)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1152: # 980 "/usr/include/stdlib.h" 3 4
1152: extern int getsubopt (char **__restrict __optionp,
1152:         char *const *__restrict __tokens,
1152:         char **__restrict __valuep)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int grantpt (int __fd) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int unlockpt (int __fd) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern char *ptsname (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
1152:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1152: 
1152: 
1152: extern int getpt (void);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int getloadavg (double __loadavg[], int __nelem)
1152:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1152: # 1036 "/usr/include/stdlib.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 1 3 4
1152: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 3 4
1152: extern __inline __attribute__ ((__gnu_inline__)) double
1152: __attribute__ ((__leaf__)) atof (const char *__nptr) noexcept (true)
1152: {
1152:   return strtod (__nptr, (char **) __null);
1152: }
1152: # 1037 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 1 3 4
1152: # 23 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 3 4
1152: extern char *__realpath_chk (const char *__restrict __name,
1152:         char *__restrict __resolved,
1152:         size_t __resolvedlen) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) noexcept (true) __asm__ ("" "realpath")
1152: 
1152:                                                  __attribute__ ((__warn_unused_result__));
1152: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) noexcept (true) __asm__ ("" "__realpath_chk")
1152: 
1152: 
1152:                                                 __attribute__ ((__warn_unused_result__))
1152:      __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
1152:                                       ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
1152: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) noexcept (true)
1152: {
1152:   size_t sz = __builtin_object_size (__resolved, 2 > 1);
1152: 
1152:   if (sz == (size_t) -1)
1152:     return __realpath_alias (__name, __resolved);
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   return __realpath_chk (__name, __resolved, sz);
1152: }
1152: 
1152: 
1152: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
1152:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2)))
1152:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1152: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ptsname_r")
1152: 
1152:      __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1152: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ptsname_r_chk")
1152: 
1152: 
1152:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
1152:                    ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) noexcept (true)
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1152: 
1152:                            ;
1152: }
1152: 
1152: 
1152: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
1152:   noexcept (true) __attribute__ ((__warn_unused_result__));
1152: extern int __wctomb_alias (char *__s, wchar_t __wchar) noexcept (true) __asm__ ("" "wctomb")
1152:               __attribute__ ((__warn_unused_result__));
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
1152: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) noexcept (true)
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1152:       && 16 > __builtin_object_size (__s, 2 > 1))
1152:     return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
1152:   return __wctomb_alias (__s, __wchar);
1152: }
1152: 
1152: 
1152: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
1152:          const char *__restrict __src,
1152:          size_t __len, size_t __dstlen) noexcept (true)
1152:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1152: extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1152: 
1152: 
1152: 
1152:     __attribute__ ((__access__ (__read_only__, 2)));
1152: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1152: 
1152: 
1152: 
1152:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1152: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__mbstowcs_chk")
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1152:                         ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1152: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true)
1152: 
1152: {
1152:   if (__builtin_constant_p (__dst == __null) && __dst == __null)
1152:     return __mbstowcs_nulldst (__dst, __src, __len);
1152:   else
1152:     return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1152:                                                       ;
1152: }
1152: 
1152: extern size_t __wcstombs_chk (char *__restrict __dst,
1152:          const wchar_t *__restrict __src,
1152:          size_t __len, size_t __dstlen) noexcept (true)
1152:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1152: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "wcstombs")
1152: 
1152: 
1152: 
1152:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1152: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__wcstombs_chk")
1152: 
1152: 
1152: 
1152:      __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1152: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true)
1152: 
1152: {
1152:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1))))
1152: 
1152:                          ;
1152: }
1152: # 1041 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1152: # 1044 "/usr/include/stdlib.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 76 "/usr/include/c++/12/cstdlib" 2 3
1152: 
1152: # 1 "/usr/include/c++/12/bits/std_abs.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/std_abs.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/std_abs.h" 3
1152: # 46 "/usr/include/c++/12/bits/std_abs.h" 3
1152: extern "C++"
1152: {
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   using ::abs;
1152: 
1152: 
1152:   inline long
1152:   abs(long __i) { return __builtin_labs(__i); }
1152: 
1152: 
1152: 
1152:   inline long long
1152:   abs(long long __x) { return __builtin_llabs (__x); }
1152: # 70 "/usr/include/c++/12/bits/std_abs.h" 3
1152:   inline constexpr double
1152:   abs(double __x)
1152:   { return __builtin_fabs(__x); }
1152: 
1152:   inline constexpr float
1152:   abs(float __x)
1152:   { return __builtin_fabsf(__x); }
1152: 
1152:   inline constexpr long double
1152:   abs(long double __x)
1152:   { return __builtin_fabsl(__x); }
1152: # 107 "/usr/include/c++/12/bits/std_abs.h" 3
1152: 
1152: }
1152: }
1152: # 78 "/usr/include/c++/12/cstdlib" 2 3
1152: # 121 "/usr/include/c++/12/cstdlib" 3
1152: extern "C++"
1152: {
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152:   using ::div_t;
1152:   using ::ldiv_t;
1152: 
1152:   using ::abort;
1152: 
1152:   using ::aligned_alloc;
1152: 
1152:   using ::atexit;
1152: 
1152: 
1152:   using ::at_quick_exit;
1152: 
1152: 
1152:   using ::atof;
1152:   using ::atoi;
1152:   using ::atol;
1152:   using ::bsearch;
1152:   using ::calloc;
1152:   using ::div;
1152:   using ::exit;
1152:   using ::free;
1152:   using ::getenv;
1152:   using ::labs;
1152:   using ::ldiv;
1152:   using ::malloc;
1152: 
1152:   using ::mblen;
1152:   using ::mbstowcs;
1152:   using ::mbtowc;
1152: 
1152:   using ::qsort;
1152: 
1152: 
1152:   using ::quick_exit;
1152: 
1152: 
1152:   using ::rand;
1152:   using ::realloc;
1152:   using ::srand;
1152:   using ::strtod;
1152:   using ::strtol;
1152:   using ::strtoul;
1152:   using ::system;
1152: 
1152:   using ::wcstombs;
1152:   using ::wctomb;
1152: 
1152: 
1152: 
1152:   inline ldiv_t
1152:   div(long __i, long __j) { return ldiv(__i, __j); }
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 195 "/usr/include/c++/12/cstdlib" 3
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152:   using ::lldiv_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   using ::_Exit;
1152: 
1152: 
1152: 
1152:   using ::llabs;
1152: 
1152:   inline lldiv_t
1152:   div(long long __n, long long __d)
1152:   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
1152: 
1152:   using ::lldiv;
1152: # 227 "/usr/include/c++/12/cstdlib" 3
1152:   using ::atoll;
1152:   using ::strtoll;
1152:   using ::strtoull;
1152: 
1152:   using ::strtof;
1152:   using ::strtold;
1152: 
1152: 
1152: }
1152: 
1152: namespace std
1152: {
1152: 
1152:   using ::__gnu_cxx::lldiv_t;
1152: 
1152:   using ::__gnu_cxx::_Exit;
1152: 
1152:   using ::__gnu_cxx::llabs;
1152:   using ::__gnu_cxx::div;
1152:   uimpl
609:     {
609: 
609: 
609:       using type = decltype(_S_test<_Tp1, _Tp2>(0));
609:     };
609: 
609: 
609:   template<typename _Tp1, typename _Tp2>
609:     struct common_type<_Tp1, _Tp2>
609:     : public __common_type_impl<_Tp1, _Tp2>::type
609:     { };
609: 
609:   template<typename...>
609:     struct __common_type_pack
609:     { };
609: 
609:   template<typename, typename, typename = void>
609:     struct __common_type_fold;
609: 
609: 
609:   template<typename _Tp1, typename _Tp2, typename... _Rp>
609:     struct common_type<_Tp1, _Tp2, _Rp...>
609:     : public __common_type_fold<common_type<_Tp1, _Tp2>,
609:     __common_type_pack<_Rp...>>
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename _CTp, typename... _Rp>
609:     struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
609:          __void_t<typename _CTp::type>>
609:     : public common_type<typename _CTp::type, _Rp...>
609:     { };
609: 
609: 
609:   template<typename _CTp, typename _Rp>
609:     struct __common_type_fold<_CTp, _Rp, void>
609:     { };
609: 
609:   template<typename _Tp, bool = is_enum<_Tp>::value>
609:     struct __underlying_type_impl
609:     {
609:       using type = __underlying_type(_Tp);
609:     };
609: 
609:   template<typename _Tp>
609:     struct __underlying_type_impl<_Tp, false>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct underlying_type
609:     : public __underlying_type_impl<_Tp>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct __declval_protector
609:     {
609:       static const bool __stop = false;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     auto declval() noexcept -> decltype(__declval<_Tp>(0))
609:     {
609:       static_assert(__declval_protector<_Tp>::__stop,
609:       "declval() must not be used!");
609:       return __declval<_Tp>(0);
609:     }
609: 
609: 
609:   template<typename _Signature>
609:     struct result_of;
609: 
609: 
609: 
609: 
609: 
609: 
609:   struct __invoke_memfun_ref { };
609:   struct __invoke_memfun_deref { };
609:   struct __invoke_memobj_ref { };
609:   struct __invoke_memobj_deref { };
609:   struct __invoke_other { };
609: 
609: 
609:   template<typename _Tp, typename _Tag>
609:     struct __result_of_success : __success_type<_Tp>
609:     { using __invoke_type = _Tag; };
609: 
609: 
609:   struct __result_of_memfun_ref_impl
609:   {
609:     template<typename _Fp, typename _Tp1, typename... _Args>
609:       static __result_of_success<decltype(
609:       (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
609:       ), __invoke_memfun_ref> _S_test(int);
609: 
609:     template<typename...>
609:       static __failure_type _S_test(...);
609:   };
609: 
609:   template<typename _MemPtr, typename _Arg, typename... _Args>
609:     struct __result_of_memfun_ref
609:     : private __result_of_memfun_ref_impl
609:     {
609:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
609:     };
609: 
609: 
609:   struct __result_of_memfun_deref_impl
609:   {
609:     template<typename _Fp, typename _Tp1, typename... _Args>
609:       static __result_of_success<decltype(
609:       ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
609:       ), __invoke_memfun_deref> _S_test(int);
609: 
609:     template<typename...>
609:       static __failure_type _S_test(...);
609:   };
609: 
609:   template<typename _MemPtr, typename _Arg, typename... _Args>
609:     struct __result_of_memfun_deref
609:     : private __result_of_memfun_deref_impl
609:     {
609:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
609:     };
609: 
609: 
609:   struct __result_of_memobj_ref_impl
609:   {
609:     template<typename _Fp, typename _Tp1>
609:       static __result_of_success<decltype(
609:       std::declval<_Tp1>().*std::declval<_Fp>()
609:       ), __invoke_memobj_ref> _S_test(int);
609: 
609:     template<typename, typename>
609:       static __failure_type _S_test(...);
609:   };
609: 
609:   template<typename _MemPtr, typename _Arg>
609:     struct __result_of_memobj_ref
609:     : private __result_of_memobj_ref_impl
609:     {
609:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
609:     };
609: 
609: 
609:   struct __result_of_memobj_deref_impl
609:   {
609:     template<typename _Fp, typename _Tp1>
609:       static __result_of_success<decltype(
609:       (*std::declval<_Tp1>()).*std::declval<_Fp>()
609:       ), __invoke_memobj_deref> _S_test(int);
609: 
609:     template<typename, typename>
609:       static __failure_type _S_test(...);
609:   };
609: 
609:   template<typename _MemPtr, typename _Arg>
609:     struct __result_of_memobj_deref
609:     : private __result_of_memobj_deref_impl
609:     {
609:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
609:     };
609: 
609:   template<typename _MemPtr, typename _Arg>
609:     struct __result_of_memobj;
609: 
609:   template<typename _Res, typename _Class, typename _Arg>
609:     struct __result_of_memobj<_Res _Class::*, _Arg>
609:     {
609:       typedef __remove_cvref_t<_Arg> _Argval;
609:       typedef _Res _Class::* _MemPtr;
609:       typedef typename __conditional_t<__or_<is_same<_Argval, _Class>,
609:         is_base_of<_Class, _Argval>>::value,
609:         __result_of_memobj_ref<_MemPtr, _Arg>,
609:         __result_of_memobj_deref<_MemPtr, _Arg>
609:       >::type type;
609:     };
609: 
609:   template<typename _MemPtr, typename _Arg, typename... _Args>
609:     struct __result_of_memfun;
609: 
609:   template<typename _Res, typename _Class, typename _Arg, typename... _Args>
609:     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
609:     {
609:       typedef typename remove_reference<_Arg>::type _Argval;
609:       typedef _Res _Class::* _MemPtr;
609:       typedef typename __conditional_t<is_base_of<_Class, _Argval>::value,
609:         __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
609:         __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
609:       >::type type;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
609:     struct __inv_unwrap
609:     {
609:       using type = _Tp;
609:     };
609: 
609:   template<typename _Tp, typename _Up>
609:     struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
609:     {
609:       using type = _Up&;
609:     };
609: 
609:   template<bool, bool, typename _Functor, typename... _ArgTypes>
609:     struct __result_of_impl
609:     {
609:       typedef __failure_type type;
609:     };
609: 
609:   template<typename _MemPtr, typename _Arg>
609:     struct __result_of_impl<true, false, _MemPtr, _Arg>
609:     : public __result_of_memobj<__decay_t<_MemPtr>,
609:     typename __inv_unwrap<_Arg>::type>
609:     { };
609: 
609:   template<typename _MemPtr, typename _Arg, typename... _Args>
609:     struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
609:     : public __result_of_memfun<__decay_t<_MemPtr>,
609:     typename __inv_unwrap<_Arg>::type, _Args...>
609:     { };
609: 
609: 
609:   struct __result_of_other_impl
609:   {
609:     template<typename _Fn, typename... _Args>
609:       static __result_of_success<decltype(
609:       std::declval<_Fn>()(std::declval<_Args>()...)
609:       ), __invoke_other> _S_test(int);
609: 
609:     template<typename...>
609:       static __failure_type _S_test(...);
609:   };
609: 
609:   template<typename _Functor, typename... _ArgTypes>
609:     struct __result_of_impl<false, false, _Functor, _ArgTypes...>
609:     : private __result_of_other_impl
609:     {
609:       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
609:     };
609: 
609: 
609:   template<typename _Functor, typename... _ArgTypes>
609:     struct __invoke_result
609:     : public __result_of_impl<
609:         is_member_object_pointer<
609:           typename remove_reference<_Functor>::type
609:         >::value,
609:         is_member_function_pointer<
609:           typename remove_reference<_Functor>::type
609:         >::value,
609:  _Functor, _ArgTypes...
609:       >::type
609:     { };
609: 
609: 
6sing ::__gnu_cxx::lldiv;
1152: 
1152:   using ::__gnu_cxx::atoll;
1152:   using ::__gnu_cxx::strtof;
1152:   using ::__gnu_cxx::strtoll;
1152:   using ::__gnu_cxx::strtoull;
1152:   using ::__gnu_cxx::strtold;
1152: }
1152: 
1152: 
1152: 
1152: }
1152: # 42 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1152: # 1 "/usr/include/c++/12/cwchar" 1 3
1152: # 39 "/usr/include/c++/12/cwchar" 3
1152:        
1152: # 40 "/usr/include/c++/12/cwchar" 3
1152: # 43 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1152: # 1 "/usr/include/c++/12/cstdio" 1 3
1152: # 39 "/usr/include/c++/12/cstdio" 3
1152:        
1152: # 40 "/usr/include/c++/12/cstdio" 3
1152: 
1152: 
1152: # 1 "/usr/include/stdio.h" 1 3 4
1152: # 27 "/usr/include/stdio.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1152: # 28 "/usr/include/stdio.h" 2 3 4
1152: 
1152: extern "C" {
1152: 
1152: 
1152: 
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1152: # 34 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1152: # 37 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 1 3 4
1152: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 3 4
1152: typedef struct _G_fpos_t
1152: {
1152:   __off_t __pos;
1152:   __mbstate_t __state;
1152: } __fpos_t;
1152: # 40 "/usr/include/stdio.h" 2 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 1 3 4
1152: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 3 4
1152: typedef struct _G_fpos64_t
1152: {
1152:   __off64_t __pos;
1152:   __mbstate_t __state;
1152: } __fpos64_t;
1152: # 41 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 1 3 4
1152: # 35 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 3 4
1152: struct _IO_FILE;
1152: struct _IO_marker;
1152: struct _IO_codecvt;
1152: struct _IO_wide_data;
1152: 
1152: 
1152: 
1152: 
1152: typedef void _IO_lock_t;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: struct _IO_FILE
1152: {
1152:   int _flags;
1152: 
1152: 
1152:   char *_IO_read_ptr;
1152:   char *_IO_read_end;
1152:   char *_IO_read_base;
1152:   char *_IO_write_base;
1152:   char *_IO_write_ptr;
1152:   char *_IO_write_end;
1152:   char *_IO_buf_base;
1152:   char *_IO_buf_end;
1152: 
1152: 
1152:   char *_IO_save_base;
1152:   char *_IO_backup_base;
1152:   char *_IO_save_end;
1152: 
1152:   struct _IO_marker *_markers;
1152: 
1152:   struct _IO_FILE *_chain;
1152: 
1152:   int _fileno;
1152:   int _flags2;
1152:   __off_t _old_offset;
1152: 
1152: 
1152:   unsigned short _cur_column;
1152:   signed char _vtable_offset;
1152:   char _shortbuf[1];
1152: 
1152:   _IO_lock_t *_lock;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   __off64_t _offset;
1152: 
1152:   struct _IO_codecvt *_codecvt;
1152:   struct _IO_wide_data *_wide_data;
1152:   struct _IO_FILE *_freeres_list;
1152:   void *_freeres_buf;
1152:   size_t __pad5;
1152:   int _mode;
1152: 
1152:   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
1152: };
1152: # 44 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 1 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 3 4
1152: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
1152:                                           size_t __nbytes);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
1152:                                            size_t __nbytes);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
1152: 
1152: 
1152: typedef int cookie_close_function_t (void *__cookie);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef struct _IO_cookie_io_functions_t
1152: {
1152:   cookie_read_function_t *read;
1152:   cookie_write_function_t *write;
1152:   cookie_seek_function_t *seek;
1152:   cookie_close_function_t *close;
1152: } cookie_io_functions_t;
1152: # 47 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: typedef __gnuc_va_list va_list;
1152: # 86 "/usr/include/stdio.h" 3 4
1152: typedef __fpos64_t fpos_t;
1152: 
1152: 
1152: typedef __fpos64_t fpos64_t;
1152: # 133 "/usr/include/stdio.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4
1152: # 134 "/usr/include/stdio.h" 2 3 4
1152: # 143 "/usr/include/stdio.h" 3 4
1152: extern FILE *stdin;
1152: extern FILE *stdout;
1152: extern FILE *stderr;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int remove (const char *__filename) noexcept (true);
1152: 
1152: extern int rename (const char *__old, const char *__new) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int renameat (int __oldfd, const char *__old, int __newfd,
1152:        const char *__new) noexcept (true);
1152: # 170 "/usr/include/stdio.h" 3 4
1152: extern int renameat2 (int __oldfd, const char *__old, int __newfd,
1152:         const char *__new, unsigned int __flags) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fclose (FILE *__stream);
1152: # 192 "/usr/include/stdio.h" 3 4
1152: extern FILE *tmpfile (void) __asm__ ("" "tmpfile64")
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern FILE *tmpfile64 (void)
1152:    __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: extern char *tmpnam (char[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern char *tmpnam_r (char __s[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: # 222 "/usr/include/stdio.h" 3 4
1152: extern char *tempnam (const char *__dir, const char *__pfx)
1152:    noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fflush (FILE *__stream);
1152: # 239 "/usr/include/stdio.h" 3 4
1152: extern int fflush_unlocked (FILE *__stream);
1152: # 249 "/usr/include/stdio.h" 3 4
1152: extern int fcloseall (void);
1152: # 270 "/usr/include/stdio.h" 3 4
1152: extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64")
1152: 
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64")
1152: 
1152: 
1152:   __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern FILE *fopen64 (const char *__restrict __filename,
1152:         const char *__restrict __modes)
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: extern FILE *freopen64 (const char *__restrict __filename,
1152:    const char *__restrict __modes,
1152:    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern FILE *fopencookie (void *__restrict __magic_cookie,
1152:      const char *__restrict __modes,
1152:      cookie_io_functions_t __io_funcs) noexcept (true)
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
1152:   noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__09:   template<typename _Functor, typename... _ArgTypes>
609:     struct result_of<_Functor(_ArgTypes...)>
609:     : public __invoke_result<_Functor, _ArgTypes...>
609:     { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
609: 
609: 
609: 
609:   template<size_t _Len, size_t _Align =
609:      __alignof__(typename __aligned_storage_msa<_Len>::__type)>
609:     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
609: 
609:   template <size_t _Len, typename... _Types>
609:     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using decay_t = typename decay<_Tp>::type;
609: 
609: 
609:   template<bool _Cond, typename _Tp = void>
609:     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
609: 
609: 
609:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
609:     using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
609: 
609: 
609:   template<typename... _Tp>
609:     using common_type_t = typename common_type<_Tp...>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using underlying_type_t = typename underlying_type<_Tp>::type;
609: 
609: 
609:   template<typename _Tp>
609:     using result_of_t = typename result_of<_Tp>::type;
609: 
609: 
609: 
609: 
609: 
609:   template<typename...> using void_t = void;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Default, typename _AlwaysVoid,
609:     template<typename...> class _Op, typename... _Args>
609:     struct __detector
609:     {
609:       using value_t = false_type;
609:       using type = _Default;
609:     };
609: 
609: 
609:   template<typename _Default, template<typename...> class _Op,
609:      typename... _Args>
609:     struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
609:     {
609:       using value_t = true_type;
609:       using type = _Op<_Args...>;
609:     };
609: 
609: 
609:   template<typename _Default, template<typename...> class _Op,
609:     typename... _Args>
609:     using __detected_or = __detector<_Default, void, _Op, _Args...>;
609: 
609: 
609:   template<typename _Default, template<typename...> class _Op,
609:     typename... _Args>
609:     using __detected_or_t
609:       = typename __detected_or<_Default, _Op, _Args...>::type;
609: # 2684 "/usr/include/c++/12/type_traits" 3
609:   template <typename _Tp>
609:     struct __is_swappable;
609: 
609:   template <typename _Tp>
609:     struct __is_nothrow_swappable;
609: 
609:   template<typename>
609:     struct __is_tuple_like_impl : false_type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_tuple_like
609:     : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:    
609:     inline
609:     _Require<__not_<__is_tuple_like<_Tp>>,
609:       is_move_constructible<_Tp>,
609:       is_move_assignable<_Tp>>
609:     swap(_Tp&, _Tp&)
609:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
609:              is_nothrow_move_assignable<_Tp>>::value);
609: 
609:   template<typename _Tp, size_t _Nm>
609:    
609:     inline
609:     __enable_if_t<__is_swappable<_Tp>::value>
609:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
609:     noexcept(__is_nothrow_swappable<_Tp>::value);
609: 
609: 
609:   namespace __swappable_details {
609:     using std::swap;
609: 
609:     struct __do_is_swappable_impl
609:     {
609:       template<typename _Tp, typename
609:                = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
609:         static true_type __test(int);
609: 
609:       template<typename>
609:         static false_type __test(...);
609:     };
609: 
609:     struct __do_is_nothrow_swappable_impl
609:     {
609:       template<typename _Tp>
609:         static __bool_constant<
609:           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
609:         > __test(int);
609: 
609:       template<typename>
609:         static false_type __test(...);
609:     };
609: 
609:   }
609: 
609:   template<typename _Tp>
609:     struct __is_swappable_impl
609:     : public __swappable_details::__do_is_swappable_impl
609:     {
609:       typedef decltype(__test<_Tp>(0)) type;
609:     };
609: 
609:   template<typename _Tp>
609:     struct __is_nothrow_swappable_impl
609:     : public __swappable_details::__do_is_nothrow_swappable_impl
609:     {
609:       typedef decltype(__test<_Tp>(0)) type;
609:     };
609: 
609:   template<typename _Tp>
609:     struct __is_swappable
609:     : public __is_swappable_impl<_Tp>::type
609:     { };
609: 
609:   template<typename _Tp>
609:     struct __is_nothrow_swappable
609:     : public __is_nothrow_swappable_impl<_Tp>::type
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_swappable
609:     : public __is_swappable_impl<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_nothrow_swappable
609:     : public __is_nothrow_swappable_impl<_Tp>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr bool is_swappable_v =
609:       is_swappable<_Tp>::value;
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr bool is_nothrow_swappable_v =
609:       is_nothrow_swappable<_Tp>::value;
609: 
609: 
609: 
609:   namespace __swappable_with_details {
609:     using std::swap;
609: 
609:     struct __do_is_swappable_with_impl
609:     {
609:       template<typename _Tp, typename _Up, typename
609:                = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
609:                typename
609:                = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
609:         static true_type __test(int);
609: 
609:       template<typename, typename>
609:         static false_type __test(...);
609:     };
609: 
609:     struct __do_is_nothrow_swappable_with_impl
609:     {
609:       template<typename _Tp, typename _Up>
609:         static __bool_constant<
609:           noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
609:           &&
609:           noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
609:         > __test(int);
609: 
609:       template<typename, typename>
609:         static false_type __test(...);
609:     };
609: 
609:   }
609: 
609:   template<typename _Tp, typename _Up>
609:     struct __is_swappable_with_impl
609:     : public __swappable_with_details::__do_is_swappable_with_impl
609:     {
609:       typedef decltype(__test<_Tp, _Up>(0)) type;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_swappable_with_impl<_Tp&, _Tp&>
609:     : public __swappable_details::__do_is_swappable_impl
609:     {
609:       typedef decltype(__test<_Tp&>(0)) type;
609:     };
609: 
609:   template<typename _Tp, typename _Up>
609:     struct __is_nothrow_swappable_with_impl
609:     : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
609:     {
609:       typedef decltype(__test<_Tp, _Up>(0)) type;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
609:     : public __swappable_details::__do_is_nothrow_swappable_impl
609:     {
609:       typedef decltype(__test<_Tp&>(0)) type;
609:     };
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     struct is_swappable_with
609:     : public __is_swappable_with_impl<_Tp, _Up>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "first template argument must be a complete class or an unbounded array");
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
609:  "second template argument must be a complete class or an unbounded array");
609:     }; (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
1152:       int __modes, size_t __n) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
1152:          size_t __size) noexcept (true);
1152: 
1152: 
1152: extern void setlinebuf (FILE *__stream) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fprintf (FILE *__restrict __stream,
1152:       const char *__restrict __format, ...);
1152: 
1152: 
1152: 
1152: 
1152: extern int printf (const char *__restrict __format, ...);
1152: 
1152: extern int sprintf (char *__restrict __s,
1152:       const char *__restrict __format, ...) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
1152:        __gnuc_va_list __arg);
1152: 
1152: 
1152: 
1152: 
1152: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
1152: 
1152: extern int vsprintf (char *__restrict __s, const char *__restrict __format,
1152:        __gnuc_va_list __arg) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int snprintf (char *__restrict __s, size_t __maxlen,
1152:        const char *__restrict __format, ...)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1152: 
1152: extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1152:         const char *__restrict __format, __gnuc_va_list __arg)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
1152:         __gnuc_va_list __arg)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1152: extern int __asprintf (char **__restrict __ptr,
1152:          const char *__restrict __fmt, ...)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1152: extern int asprintf (char **__restrict __ptr,
1152:        const char *__restrict __fmt, ...)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern int vdprintf (int __fd, const char *__restrict __fmt,
1152:        __gnuc_va_list __arg)
1152:      __attribute__ ((__format__ (__printf__, 2, 0)));
1152: extern int dprintf (int __fd, const char *__restrict __fmt, ...)
1152:      __attribute__ ((__format__ (__printf__, 2, 3)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fscanf (FILE *__restrict __stream,
1152:      const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1152: 
1152: extern int sscanf (const char *__restrict __s,
1152:      const char *__restrict __format, ...) noexcept (true);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1152: # 431 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: 
1152: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
1152: 
1152:                           __attribute__ ((__warn_unused_result__));
1152: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
1152:                          __attribute__ ((__warn_unused_result__));
1152: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_sscanf")
1152: 
1152:                       ;
1152: # 459 "/usr/include/stdio.h" 3 4
1152: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
1152:       __gnuc_va_list __arg)
1152:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
1152:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: extern int vsscanf (const char *__restrict __s,
1152:       const char *__restrict __format, __gnuc_va_list __arg)
1152:      noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
1152: 
1152: 
1152: 
1152:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1152: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
1152: 
1152:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1152: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vsscanf")
1152: 
1152: 
1152: 
1152:      __attribute__ ((__format__ (__scanf__, 2, 0)));
1152: # 513 "/usr/include/stdio.h" 3 4
1152: extern int fgetc (FILE *__stream);
1152: extern int getc (FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int getchar (void);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int getc_unlocked (FILE *__stream);
1152: extern int getchar_unlocked (void);
1152: # 538 "/usr/include/stdio.h" 3 4
1152: extern int fgetc_unlocked (FILE *__stream);
1152: # 549 "/usr/include/stdio.h" 3 4
1152: extern int fputc (int __c, FILE *__stream);
1152: extern int putc (int __c, FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int putchar (int __c);
1152: # 565 "/usr/include/stdio.h" 3 4
1152: extern int fputc_unlocked (int __c, FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int putc_unlocked (int __c, FILE *__stream);
1152: extern int putchar_unlocked (int __c);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int getw (FILE *__stream);
1152: 
1152: 
1152: extern int putw (int __w, FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1152:      __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1152: # 615 "/usr/include/stdio.h" 3 4
1152: extern char *fgets_unlocked (char *__restrict __s, int __n,
1152:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__))
1152:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1152: # 632 "/usr/include/stdio.h" 3 4
1152: extern __ssize_t __getdelim (char **__restrict __lineptr,
1152:                              size_t *__restrict __n, int __delimiter,
1152:                              FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: extern __ssize_t getdelim (char **__restrict __lineptr,
1152:                            size_t *__restrict __n, int __delimiter,
1152:                            FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __ssize_t getline (char **__restrict __lineptr,
1152:                           size_t *__restrict __n,
1152:                           FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fputs (const 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     struct is_nothrow_swappable_with
609:     : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "first template argument must be a complete class or an unbounded array");
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
609:  "second template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline constexpr bool is_swappable_with_v =
609:       is_swappable_with<_Tp, _Up>::value;
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline constexpr bool is_nothrow_swappable_with_v =
609:       is_nothrow_swappable_with<_Tp, _Up>::value;
609: # 2907 "/usr/include/c++/12/type_traits" 3
609:   template<typename _Result, typename _Ret,
609:     bool = is_void<_Ret>::value, typename = void>
609:     struct __is_invocable_impl : false_type { };
609: 
609: 
609:   template<typename _Result, typename _Ret>
609:     struct __is_invocable_impl<_Result, _Ret,
609:                                 true,
609:           __void_t<typename _Result::type>>
609:     : true_type
609:     { };
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
609: 
609:   template<typename _Result, typename _Ret>
609:     struct __is_invocable_impl<_Result, _Ret,
609:                                 false,
609:           __void_t<typename _Result::type>>
609:     {
609:     private:
609: 
609: 
609:       static typename _Result::type _S_get();
609: 
609:       template<typename _Tp>
609:  static void _S_conv(_Tp);
609: 
609: 
609:       template<typename _Tp, typename = decltype(_S_conv<_Tp>(_S_get()))>
609:  static true_type
609:  _S_test(int);
609: 
609:       template<typename _Tp>
609:  static false_type
609:  _S_test(...);
609: 
609:     public:
609:       using type = decltype(_S_test<_Ret>(1));
609:     };
609: #pragma GCC diagnostic pop
609: 
609:   template<typename _Fn, typename... _ArgTypes>
609:     struct __is_invocable
609:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
609:     { };
609: 
609:   template<typename _Fn, typename _Tp, typename... _Args>
609:     constexpr bool __call_is_nt(__invoke_memfun_ref)
609:     {
609:       using _Up = typename __inv_unwrap<_Tp>::type;
609:       return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
609:      std::declval<_Args>()...));
609:     }
609: 
609:   template<typename _Fn, typename _Tp, typename... _Args>
609:     constexpr bool __call_is_nt(__invoke_memfun_deref)
609:     {
609:       return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
609:      std::declval<_Args>()...));
609:     }
609: 
609:   template<typename _Fn, typename _Tp>
609:     constexpr bool __call_is_nt(__invoke_memobj_ref)
609:     {
609:       using _Up = typename __inv_unwrap<_Tp>::type;
609:       return noexcept(std::declval<_Up>().*std::declval<_Fn>());
609:     }
609: 
609:   template<typename _Fn, typename _Tp>
609:     constexpr bool __call_is_nt(__invoke_memobj_deref)
609:     {
609:       return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
609:     }
609: 
609:   template<typename _Fn, typename... _Args>
609:     constexpr bool __call_is_nt(__invoke_other)
609:     {
609:       return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
609:     }
609: 
609:   template<typename _Result, typename _Fn, typename... _Args>
609:     struct __call_is_nothrow
609:     : __bool_constant<
609:  std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
609:       >
609:     { };
609: 
609:   template<typename _Fn, typename... _Args>
609:     using __call_is_nothrow_
609:       = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
609: 
609: 
609:   template<typename _Fn, typename... _Args>
609:     struct __is_nothrow_invocable
609:     : __and_<__is_invocable<_Fn, _Args...>,
609:              __call_is_nothrow_<_Fn, _Args...>>::type
609:     { };
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
609:   struct __nonesuchbase {};
609:   struct __nonesuch : private __nonesuchbase {
609:     ~__nonesuch() = delete;
609:     __nonesuch(__nonesuch const&) = delete;
609:     void operator=(__nonesuch const&) = delete;
609:   };
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Functor, typename... _ArgTypes>
609:     struct invoke_result
609:     : public __invoke_result<_Functor, _ArgTypes...>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}),
609:  "_Functor must be a complete class or an unbounded array");
609:       static_assert((std::__is_complete_or_unbounded(
609:  __type_identity<_ArgTypes>{}) && ...),
609:  "each argument type must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Fn, typename... _Args>
609:     using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
609: 
609: 
609:   template<typename _Fn, typename... _ArgTypes>
609:     struct is_invocable
609:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
609:  "_Fn must be a complete class or an unbounded array");
609:       static_assert((std::__is_complete_or_unbounded(
609:  __type_identity<_ArgTypes>{}) && ...),
609:  "each argument type must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
609:     struct is_invocable_r
609:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
609:  "_Fn must be a complete class or an unbounded array");
609:       static_assert((std::__is_complete_or_unbounded(
609:  __type_identity<_ArgTypes>{}) && ...),
609:  "each argument type must be a complete class or an unbounded array");
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
609:  "_Ret must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Fn, typename... _ArgTypes>
609:     struct is_nothrow_invocable
609:     : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
609:       __call_is_nothrow_<_Fn, _ArgTypes...>>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
609:  "_Fn must be a complete class or an unbounded array");
609:       static_assert((std::__is_complete_or_unbounded(
609:  __type_identity<_ArgTypes>{}) && ...),
609:  "each argument type must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Result, typename _Ret, typename = void>
609:     struct __is_nt_invocable_impl : false_type { };
609: 
609:   template<typename _Result, typename _Ret>
609:     struct __is_nt_invocable_impl<_Result, _Ret,
609:       __void_t<typename _Result::type>>
609:     : __or_<is_void<_Ret>,
609:      __is_nothrow_convertible<typename _Result::type, _Ret>>
609:     { };
609: 
609: 
609: 
609:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
609:     struct is_nothrow_invocable_r
609:     : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
609:              __call_is_nothrow_<_Fn, _ArgTypes...>>::type
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
609:  "_Fn must be a complete class or an unbounded array");
609:       static_assert((std::__is_complete_or_unbounded(
609:  __type_identity<_ArgTypes>{}) && ...),
609:  "each argument type must be a complete class or an unbounded array");
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
609:  "_Ret must be a complete class or an unbounded array");
609:     };
609: # 3119 "/usr/include/c++/12/type_traits" 3
609: templatechar *__restrict __s, FILE *__restrict __stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int puts (const char *__s);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int ungetc (int __c, FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern size_t fread (void *__restrict __ptr, size_t __size,
1152:        size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern size_t fwrite (const void *__restrict __ptr, size_t __size,
1152:         size_t __n, FILE *__restrict __s);
1152: # 691 "/usr/include/stdio.h" 3 4
1152: extern int fputs_unlocked (const char *__restrict __s,
1152:       FILE *__restrict __stream);
1152: # 702 "/usr/include/stdio.h" 3 4
1152: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
1152:          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
1152:           size_t __n, FILE *__restrict __stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fseek (FILE *__stream, long int __off, int __whence);
1152: 
1152: 
1152: 
1152: 
1152: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern void rewind (FILE *__stream);
1152: # 744 "/usr/include/stdio.h" 3 4
1152: extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64")
1152: 
1152:                   ;
1152: extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
1152: # 768 "/usr/include/stdio.h" 3 4
1152: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64")
1152:                                           ;
1152: extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64")
1152:                                                           ;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
1152: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
1152: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
1152: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
1152: 
1152: 
1152: 
1152: extern void clearerr (FILE *__stream) noexcept (true);
1152: 
1152: extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: extern void clearerr_unlocked (FILE *__stream) noexcept (true);
1152: extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void perror (const char *__s);
1152: 
1152: 
1152: 
1152: 
1152: extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: # 823 "/usr/include/stdio.h" 3 4
1152: extern int pclose (FILE *__stream);
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern FILE *popen (const char *__command, const char *__modes)
1152:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern char *ctermid (char *__s) noexcept (true)
1152:   __attribute__ ((__access__ (__write_only__, 1)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern char *cuserid (char *__s)
1152:   __attribute__ ((__access__ (__write_only__, 1)));
1152: 
1152: 
1152: 
1152: 
1152: struct obstack;
1152: 
1152: 
1152: extern int obstack_printf (struct obstack *__restrict __obstack,
1152:       const char *__restrict __format, ...)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
1152: extern int obstack_vprintf (struct obstack *__restrict __obstack,
1152:        const char *__restrict __format,
1152:        __gnuc_va_list __args)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern void flockfile (FILE *__stream) noexcept (true);
1152: 
1152: 
1152: 
1152: extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1152: 
1152: 
1152: extern void funlockfile (FILE *__stream) noexcept (true);
1152: # 885 "/usr/include/stdio.h" 3 4
1152: extern int __uflow (FILE *);
1152: extern int __overflow (FILE *, int);
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 1 3 4
1152: # 26 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1152: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1152:      const char *__restrict __format, ...) noexcept (true)
1152:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1152: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1152:       const char *__restrict __format,
1152:       __gnuc_va_list __ap) noexcept (true)
1152:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1152: 
1152: 
1152: 
1152: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
1152:       size_t __slen, const char *__restrict __format,
1152:       ...) noexcept (true)
1152:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1152: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
1152:        size_t __slen, const char *__restrict __format,
1152:        __gnuc_va_list __ap) noexcept (true)
1152:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
1152:      const char *__restrict __format, ...);
1152: extern int __printf_chk (int __flag, const char *__restrict __format, ...);
1152: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
1152:       const char *__restrict __format, __gnuc_va_list __ap);
1152: extern int __vprintf_chk (int __flag, const char *__restrict __format,
1152:      __gnuc_va_list __ap);
1152: 
1152: 
1152: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
1152:      ...) __attribute__ ((__format__ (__printf__, 3, 4)));
1152: extern int __vdprintf_chk (int __fd, int __flag,
1152:       const char *__restrict __fmt, __gnuc_va_list __arg)
1152:      __attribute__ ((__format__ (__printf__, 3, 0)));
1152: 
1152: 
1152: 
1152: 
1152: extern int __asprintf_chk (char **__restrict __ptr, int __flag,
1152:       const char *__restrict __fmt, ...)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
1152: extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
1152:        const char *__restrict __fmt, __gnuc_va_list __arg)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
1152: extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
1152:      int __flag, const char *__restrict __format,
1152:      ...)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1152: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
1152:       int __flag,
1152:       const char *__restrict __format,
1152:       __gnuc_va_list __args)
1152:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1152: # 90 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1152: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
1152:      FILE *__restrict __stream)
1152:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1152: 
1152: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
1152:       size_t __size, size_t __n,
1152:       FILE *__restrict __stream) __attribute <typename _Tp>
609:   inline constexpr bool is_void_v = is_void<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_integral_v = is_integral<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_array_v = is_array<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_pointer_v = is_pointer<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_lvalue_reference_v =
609:     is_lvalue_reference<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_rvalue_reference_v =
609:     is_rvalue_reference<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_member_object_pointer_v =
609:     is_member_object_pointer<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_member_function_pointer_v =
609:     is_member_function_pointer<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_enum_v = is_enum<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_union_v = is_union<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_class_v = is_class<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_function_v = is_function<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_reference_v = is_reference<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_object_v = is_object<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_compound_v = is_compound<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_const_v = is_const<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_volatile_v = is_volatile<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivial_v = is_trivial<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivially_copyable_v =
609:     is_trivially_copyable<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value;
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: template <typename _Tp>
609:  
609:   inline constexpr bool is_pod_v = is_pod<_Tp>::value;
609: template <typename _Tp>
609:   [[__deprecated__]]
609:   inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value;
609: #pragma GCC diagnostic pop
609:  template <typename _Tp>
609:   inline constexpr bool is_empty_v = is_empty<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_abstract_v = is_abstract<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_final_v = is_final<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_signed_v = is_signed<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
609: template <typename _Tp, typename... _Args>
609:   inline constexpr bool is_constructible_v =
609:     is_constructible<_Tp, _Args...>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_default_constructible_v =
609:     is_default_constructible<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_copy_constructible_v =
609:     is_copy_constructible<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_move_constructible_v =
609:     is_move_constructible<_Tp>::value;
609: template <typename _Tp, typename _Up>
609:   inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
609: template <typename _Tp, typename... _Args>
609:   inline constexpr bool is_trivially_constructible_v =
609:     is_trivially_constructible<_Tp, _Args...>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivially_default_constructible_v =
609:     is_trivially_default_constructible<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivially_copy_constructible_v =
609:     is_trivially_copy_constructible<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivially_move_constructible_v =
609:     is_trivially_move_constructible<_Tp>::value;
609: template <typename _Tp, typename _Up>
609:   inline constexpr bool is_trivially_assignable_v =
609:     is_trivially_assignable<_Tp, _Up>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivially_copy_assignable_v =
609:     is_trivially_copy_assignable<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivially_move_assignable_v =
609:     is_trivially_move_assignable<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_trivially_destructible_v =
609:     is_trivially_destructible<_Tp>::value;
609: template <typename _Tp, typename... _Args>
609:   inline constexpr bool is_nothrow_constructible_v =
609:     is_nothrow_constructible<_Tp, _Args...>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_nothrow_default_constructible_v =
609:     is_nothrow_default_constructible<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_nothrow_copy_constructible_v =
609:     is_nothrow_copy_constructible<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_nothrow_move_constructible_v =
609:     is_nothrow_move_constructible<_Tp>::value;
609: template <typename _Tp, typename _Up>
609:   inline constexpr bool is_nothrow_assignable_v =
609:     is_nothrow_assignable<_Tp, _Up>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_nothrow_copy_assignable_v =
609:     is_nothrow_copy_assignable<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_nothrow_move_assignable_v =
609:     is_nothrow_move_assignable<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool is_nothrow_destructible_v =
609:     is_nothrow_destructible<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr bool has_virtual_destructor_v =
609:     has_virtual_destructor<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
609: template <typename _Tp>
609:   inline constexpr size_t rank_v = rank<_Tp>::value;
609: template <typename _Tp, unsigned _Idx = 0>
609:   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
609: 
609: template <typename _Tp, typename _Up>
609:   inline constexpr bool is_same_v = __is_same(_Tp, _Up);
609: 
609: 
609: 
609: 
609: template <typename _Base, typename _Derived>
609:   inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value;
609: template <typename _From, typename _To>
609:   inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value;
609: template<typename _Fn, typename... _Args>
609:   inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
609: template<typename _Fn, typename... _Args>
609:   inline constexpr bool is_nothrow_invocable_v
609:     = is_nothrow_invocable<_Fn, _Args...>::value;
609: template<typename _Ret, typename _Fn, typename... _Args>
609:   inline const__ ((__warn_unused_result__));
1152: 
1152: 
1152: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
1152:        int __n, FILE *__restrict __stream)
1152:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1152: 
1152: 
1152: 
1152: 
1152: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
1152:         size_t __size, size_t __n,
1152:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1152: # 891 "/usr/include/stdio.h" 2 3 4
1152: # 902 "/usr/include/stdio.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 1 3 4
1152: # 46 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 3 4
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: getchar (void)
1152: {
1152:   return getc (stdin);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: fgetc_unlocked (FILE *__fp)
1152: {
1152:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: getc_unlocked (FILE *__fp)
1152: {
1152:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1152: }
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: getchar_unlocked (void)
1152: {
1152:   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: putchar (int __c)
1152: {
1152:   return putc (__c, stdout);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: fputc_unlocked (int __c, FILE *__stream)
1152: {
1152:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: putc_unlocked (int __c, FILE *__stream)
1152: {
1152:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1152: }
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: putchar_unlocked (int __c)
1152: {
1152:   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
1152: getline (char **__lineptr, size_t *__n, FILE *__stream)
1152: {
1152:   return __getdelim (__lineptr, __n, '\n', __stream);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) noexcept (true)
1152: {
1152:   return (((__stream)->_flags & 0x0010) != 0);
1152: }
1152: 
1152: 
1152: extern __inline __attribute__ ((__gnu_inline__)) int
1152: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) noexcept (true)
1152: {
1152:   return (((__stream)->_flags & 0x0020) != 0);
1152: }
1152: # 903 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 1 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) noexcept (true)
1152: {
1152:   return __builtin___sprintf_chk (__s, 2 - 1,
1152:       __builtin_object_size (__s, 2 > 1), __fmt,
1152:       __builtin_va_arg_pack ());
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1152: 
1152: {
1152:   return __builtin___vsprintf_chk (__s, 2 - 1,
1152:        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1152: }
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) noexcept (true)
1152: 
1152: {
1152:   return __builtin___snprintf_chk (__s, __n, 2 - 1,
1152:        __builtin_object_size (__s, 2 > 1), __fmt,
1152:        __builtin_va_arg_pack ());
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1152: 
1152: {
1152:   return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
1152:         __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
1152: {
1152:   return __fprintf_chk (__stream, 2 - 1, __fmt,
1152:    __builtin_va_arg_pack ());
1152: }
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: printf (const char *__restrict __fmt, ...)
1152: {
1152:   return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)
1152: {
1152: 
1152:   return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
1152: 
1152: 
1152: 
1152: }
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: vfprintf (FILE *__restrict __stream,
1152:    const char *__restrict __fmt, __gnuc_va_list __ap)
1152: {
1152:   return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
1152: }
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: dprintf (int __fd, const char *__restrict __fmt, ...)
1152: {
1152:   return __dprintf_chk (__fd, 2 - 1, __fmt,
1152:    __builtin_va_arg_pack ());
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)
1152: {
1152:   return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1152: {
1152:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1152:     __builtin_va_arg_pack ());
1152: }
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1152: 
1152: {
1152:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1152:     __builtin_va_arg_pack ());
1152: }
1152: 
1expr bool is_invocable_r_v
609:     = is_invocable_r<_Ret, _Fn, _Args...>::value;
609: template<typename _Ret, typename _Fn, typename... _Args>
609:   inline constexpr bool is_nothrow_invocable_r_v
609:     = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct has_unique_object_representations
609:     : bool_constant<__has_unique_object_representations(
609:       remove_cv_t<remove_all_extents_t<_Tp>>
609:       )>
609:     {
609:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
609:  "template argument must be a complete class or an unbounded array");
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr bool has_unique_object_representations_v
609:       = has_unique_object_representations<_Tp>::value;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct is_aggregate
609:     : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value;
609: # 3703 "/usr/include/c++/12/type_traits" 3
609: 
609: }
609: # 61 "/usr/include/c++/12/bits/stl_pair.h" 2 3
609: # 1 "/usr/include/c++/12/bits/move.h" 1 3
609: # 38 "/usr/include/c++/12/bits/move.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr _Tp*
609:     __addressof(_Tp& __r) noexcept
609:     { return __builtin_addressof(__r); }
609: 
609: 
609: 
609: 
609: }
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 74 "/usr/include/c++/12/bits/move.h" 3
609:   template<typename _Tp>
609:     [[__nodiscard__]]
609:     constexpr _Tp&&
609:     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
609:     { return static_cast<_Tp&&>(__t); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]]
609:     constexpr _Tp&&
609:     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
609:     {
609:       static_assert(!std::is_lvalue_reference<_Tp>::value,
609:    "std::forward must not be used to convert an rvalue to an lvalue");
609:       return static_cast<_Tp&&>(__t);
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]]
609:     constexpr typename std::remove_reference<_Tp>::type&&
609:     move(_Tp&& __t) noexcept
609:     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
609: 
609: 
609:   template<typename _Tp>
609:     struct __move_if_noexcept_cond
609:     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
609:                     is_copy_constructible<_Tp>>::type { };
609: # 121 "/usr/include/c++/12/bits/move.h" 3
609:   template<typename _Tp>
609:     [[__nodiscard__]]
609:     constexpr
609:     __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
609:     move_if_noexcept(_Tp& __x) noexcept
609:     { return std::move(__x); }
609: # 142 "/usr/include/c++/12/bits/move.h" 3
609:   template<typename _Tp>
609:     [[__nodiscard__]]
609:     inline constexpr _Tp*
609:     addressof(_Tp& __r) noexcept
609:     { return std::__addressof(__r); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     const _Tp* addressof(const _Tp&&) = delete;
609: 
609: 
609:   template <typename _Tp, typename _Up = _Tp>
609:    
609:     inline _Tp
609:     __exchange(_Tp& __obj, _Up&& __new_val)
609:     {
609:       _Tp __old_val = std::move(__obj);
609:       __obj = std::forward<_Up>(__new_val);
609:       return __old_val;
609:     }
609: # 186 "/usr/include/c++/12/bits/move.h" 3
609:   template<typename _Tp>
609:    
609:     inline
609: 
609:     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
609:          is_move_constructible<_Tp>,
609:          is_move_assignable<_Tp>>::value>::type
609: 
609: 
609: 
609:     swap(_Tp& __a, _Tp& __b)
609:     noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
609: 
609:     {
609: 
609: 
609: 
609: 
609:       _Tp __tmp = std::move(__a);
609:       __a = std::move(__b);
609:       __b = std::move(__tmp);
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _Tp, size_t _Nm>
609:    
609:     inline
609: 
609:     typename enable_if<__is_swappable<_Tp>::value>::type
609: 
609: 
609: 
609:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
609:     noexcept(__is_nothrow_swappable<_Tp>::value)
609:     {
609:       for (size_t __n = 0; __n < _Nm; ++__n)
609:  swap(__a[__n], __b[__n]);
609:     }
609: 
609: 
609: 
609: }
609: # 62 "/usr/include/c++/12/bits/stl_pair.h" 2 3
609: # 1 "/usr/include/c++/12/bits/utility.h" 1 3
609: # 36 "/usr/include/c++/12/bits/utility.h" 3
609:        
609: # 37 "/usr/include/c++/12/bits/utility.h" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct tuple_size;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp,
609:     typename _Up = typename remove_cv<_Tp>::type,
609:     typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
609:     size_t = tuple_size<_Tp>::value>
609:     using __enable_if_has_tuple_size = _Tp;
609: 
609:   template<typename _Tp>
609:     struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
609:     : public tuple_size<_Tp> { };
609: 
609:   template<typename _Tp>
609:     struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
609:     : public tuple_size<_Tp> { };
609: 
609:   template<typename _Tp>
609:     struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
609:     : public tuple_size<_Tp> { };
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
609: 
609: 
609: 
609:   template<size_t __i, typename _Tp>
609:     struct tuple_element;
609: 
609: 
609:   template<size_t __i, typename _Tp>
609:     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
609: 
609:   template<size_t __i, typename _Tp>
609:     struct tuple_element<__i, const _Tp>
609:     {
609:       typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
609:     };
609: 
609:   template<size_t __i, typename _Tp>
609:     struct tuple_element<__i, volatile _Tp>
609:     {
609:       typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
609:     };
609: 
609:   template<size_t __i, typename _Tp>
609:     struct tuple_element<__i, const volatile _Tp>
609:     {
609:       typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename... _Types>
609:     constexpr size_t
609:     __find_uniq_type_in_pack()
609:     {
609:       constexpr size_t __sz = sizeof...(_Types);
609:       constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
609:       size_t __n = __sz;
609:       for (size_t __i = 0; __i < __sz; ++__i)
609:  {
609:    if (__found[__i])
609:      {
609:        if (__n < __sz)
609:   return __sz;
609:        __n = __i;
609:      }
609:  }
609:       return __n;
609:     }
609: # 134 "/usr/include/c++/12/bits/utility.h" 3
609:   template<size_t __i, typename _Tp>
609:     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
609: 
609: 
609: 
609: 
609:   template<size_t... _Indexes> struct _Index_tuple { };
609: 
609: 
609:   template<size_t _Num>
609:     struct _Build_index_tuple
609:     {
609: # 154 "/usr/include/c++/12/bits/utility.h" 3
609:       using __type = _Index_tuple<__integer_pack(_Num)...>;
609: 
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, _Tp... _Idx>
609:     struct integer_sequence
609:     {
609:       typedef _Tp value_type;
609:       static constexpr size_t size() noexcept { return sizeof...(_Idx); }
609:     };
609: 
609: 
609:   template<typename _Tp, _Tp _Num>
609:     using make_integer_sequence
609: 
609: 
609: 
609:       = integer_sequence<_Tp, __integer_p152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) noexcept (true)
1152: 
1152: {
1152:   return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
1152:           __builtin_va_arg_pack ());
1152: }
1152: # 165 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1152: 
1152: {
1152:   return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
1152: }
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1152: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1152: 
1152: {
1152:   return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
1152:     __ap);
1152: }
1152: # 198 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1152: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
1152: 
1152: 
1152:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1152: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
1152: 
1152: 
1152:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
1152:                                  ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1152: fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1152: {
1152:   size_t sz = __builtin_object_size (__s, 2 > 1);
1152:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1152:     return __fgets_alias (__s, __n, __stream);
1152:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1152:     return __fgets_chk_warn (__s, sz, __n, __stream);
1152:   return __fgets_chk (__s, sz, __n, __stream);
1152: }
1152: 
1152: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
1152: 
1152: 
1152:             __attribute__ ((__warn_unused_result__));
1152: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
1152: 
1152: 
1152: 
1152: 
1152:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
1152:                                  ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1152: fread (void *__restrict __ptr, size_t __size, size_t __n,
1152:        FILE *__restrict __stream)
1152: {
1152:   size_t sz = __builtin_object_size (__ptr, 0);
1152:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1152:     return __fread_alias (__ptr, __size, __n, __stream);
1152:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1152:     return __fread_chk_warn (__ptr, sz, __size, __n, __stream);
1152:   return __fread_chk (__ptr, sz, __size, __n, __stream);
1152: }
1152: 
1152: 
1152: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
1152: 
1152: 
1152:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1152: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
1152: 
1152: 
1152:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
1152:                                  ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1152: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
1152: {
1152:   size_t sz = __builtin_object_size (__s, 2 > 1);
1152:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1152:     return __fgets_unlocked_alias (__s, __n, __stream);
1152:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1152:     return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);
1152:   return __fgets_unlocked_chk (__s, sz, __n, __stream);
1152: }
1152: 
1152: 
1152: 
1152: 
1152: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
1152: 
1152: 
1152:                      __attribute__ ((__warn_unused_result__));
1152: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
1152: 
1152: 
1152: 
1152: 
1152:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
1152:                                         ;
1152: 
1152: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1152: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
1152:   FILE *__restrict __stream)
1152: {
1152:   size_t sz = __builtin_object_size (__ptr, 0);
1152:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1152:     {
1152: 
1152:       if (__builtin_constant_p (__size)
1152:    && __builtin_constant_p (__n)
1152:    && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
1152:    && __size * __n <= 8)
1152:  {
1152:    size_t __cnt = __size * __n;
1152:    char *__cptr = (char *) __ptr;
1152:    if (__cnt == 0)
1152:      return 0;
1152: 
1152:    for (; __cnt > 0; --__cnt)
1152:      {
1152:        int __c = getc_unlocked (__stream);
1152:        if (__c == (-1))
1152:   break;
1152:        *__cptr++ = __c;
1152:      }
115ack(_Num)...>;
609: 
609: 
609: 
609:   template<size_t... _Idx>
609:     using index_sequence = integer_sequence<size_t, _Idx...>;
609: 
609: 
609:   template<size_t _Num>
609:     using make_index_sequence = make_integer_sequence<size_t, _Num>;
609: 
609: 
609:   template<typename... _Types>
609:     using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
609: 
609: 
609: 
609:   struct in_place_t {
609:     explicit in_place_t() = default;
609:   };
609: 
609:   inline constexpr in_place_t in_place{};
609: 
609:   template<typename _Tp> struct in_place_type_t
609:   {
609:     explicit in_place_type_t() = default;
609:   };
609: 
609:   template<typename _Tp>
609:     inline constexpr in_place_type_t<_Tp> in_place_type{};
609: 
609:   template<size_t _Idx> struct in_place_index_t
609:   {
609:     explicit in_place_index_t() = default;
609:   };
609: 
609:   template<size_t _Idx>
609:     inline constexpr in_place_index_t<_Idx> in_place_index{};
609: 
609:   template<typename>
609:     inline constexpr bool __is_in_place_type_v = false;
609: 
609:   template<typename _Tp>
609:     inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
609: 
609:   template<typename _Tp>
609:     using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>;
609: 
609: 
609: 
609: 
609:   template<size_t _Np, typename... _Types>
609:     struct _Nth_type
609:     { };
609: 
609:   template<typename _Tp0, typename... _Rest>
609:     struct _Nth_type<0, _Tp0, _Rest...>
609:     { using type = _Tp0; };
609: 
609:   template<typename _Tp0, typename _Tp1, typename... _Rest>
609:     struct _Nth_type<1, _Tp0, _Tp1, _Rest...>
609:     { using type = _Tp1; };
609: 
609:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
609:     struct _Nth_type<2, _Tp0, _Tp1, _Tp2, _Rest...>
609:     { using type = _Tp2; };
609: 
609:   template<size_t _Np, typename _Tp0, typename _Tp1, typename _Tp2,
609:     typename... _Rest>
609: 
609: 
609: 
609:     struct _Nth_type<_Np, _Tp0, _Tp1, _Tp2, _Rest...>
609:     : _Nth_type<_Np - 3, _Rest...>
609:     { };
609: 
609: 
609:   template<typename _Tp0, typename _Tp1, typename... _Rest>
609:     struct _Nth_type<0, _Tp0, _Tp1, _Rest...>
609:     { using type = _Tp0; };
609: 
609:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
609:     struct _Nth_type<0, _Tp0, _Tp1, _Tp2, _Rest...>
609:     { using type = _Tp0; };
609: 
609:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
609:     struct _Nth_type<1, _Tp0, _Tp1, _Tp2, _Rest...>
609:     { using type = _Tp1; };
609: 
609: 
609: 
609: }
609: # 63 "/usr/include/c++/12/bits/stl_pair.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 80 "/usr/include/c++/12/bits/stl_pair.h" 3
609:   struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
609: 
609: 
609:   inline constexpr piecewise_construct_t piecewise_construct =
609:     piecewise_construct_t();
609: 
609: 
609: 
609: 
609:   template<typename...>
609:     class tuple;
609: 
609:   template<size_t...>
609:     struct _Index_tuple;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template <bool, typename _T1, typename _T2>
609:     struct _PCC
609:     {
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _ConstructiblePair()
609:       {
609:  return __and_<is_constructible<_T1, const _U1&>,
609:         is_constructible<_T2, const _U2&>>::value;
609:       }
609: 
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _ImplicitlyConvertiblePair()
609:       {
609:  return __and_<is_convertible<const _U1&, _T1>,
609:         is_convertible<const _U2&, _T2>>::value;
609:       }
609: 
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _MoveConstructiblePair()
609:       {
609:  return __and_<is_constructible<_T1, _U1&&>,
609:         is_constructible<_T2, _U2&&>>::value;
609:       }
609: 
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _ImplicitlyMoveConvertiblePair()
609:       {
609:  return __and_<is_convertible<_U1&&, _T1>,
609:         is_convertible<_U2&&, _T2>>::value;
609:       }
609:     };
609: 
609:   template <typename _T1, typename _T2>
609:     struct _PCC<false, _T1, _T2>
609:     {
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _ConstructiblePair()
609:       {
609:  return false;
609:       }
609: 
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _ImplicitlyConvertiblePair()
609:       {
609:  return false;
609:       }
609: 
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _MoveConstructiblePair()
609:       {
609:  return false;
609:       }
609: 
609:       template <typename _U1, typename _U2>
609:       static constexpr bool _ImplicitlyMoveConvertiblePair()
609:       {
609:  return false;
609:       }
609:     };
609: 
609: 
609: 
609:   template<typename _U1, typename _U2> class __pair_base
609:   {
609: 
609:     template<typename _T1, typename _T2> friend struct pair;
609:     __pair_base() = default;
609:     ~__pair_base() = default;
609:     __pair_base(const __pair_base&) = default;
609:     __pair_base& operator=(const __pair_base&) = delete;
609: 
609:   };
609: # 184 "/usr/include/c++/12/bits/stl_pair.h" 3
609:   template<typename _T1, typename _T2>
609:     struct pair
609:     : public __pair_base<_T1, _T2>
609:     {
609:       typedef _T1 first_type;
609:       typedef _T2 second_type;
609: 
609:       _T1 first;
609:       _T2 second;
609: 
609: 
609:       constexpr pair(const pair&) = default;
609:       constexpr pair(pair&&) = default;
609: 
609:       template<typename... _Args1, typename... _Args2>
609: 
609:  pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
609: 
609: 
609:       void
609:       swap(pair& __p)
609:       noexcept(__and_<__is_nothrow_swappable<_T1>,
609:         __is_nothrow_swappable<_T2>>::value)
609:       {
609:  using std::swap;
609:  swap(first, __p.first);
609:  swap(second, __p.second);
609:       }
609: 
609:     private:
609:       template<typename... _Args1, size_t... _Indexes1,
609:         typename... _Args2, size_t... _Indexes2>
609: 
609:  pair(tuple<_Args1...>&, tuple<_Args2...>&,
609:       _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
609:     public:
609: # 378 "/usr/include/c++/12/bits/stl_pair.h" 3
609:       template <typename _U1 = _T1,
609:                 typename _U2 = _T2,
609:                 typename enable_if<__and_<
609:                                      __is_implicitly_default_constructible<_U1>,
609:                                      __is_implicitly_default_constructible<_U2>>
609:                                    ::value, bool>::type = true>
609:       constexpr pair()
609:       : first(), second() { }
609: 
609:       template <typename _U1 = _T1,
609:                 typename _U2 = _T2,
609:                 typename enable_if<__and_<
609:                        is_default_constructible<_U1>,
609:                        is_default_constructible<_U2>,
609:                        __not_<
609:                          __and_<__is_implicitly_default_constructible<_U1>,
609:                                 __is_implicitly_default_constructible<_U2>>>>
609:                                    ::value, bool>::type = false>
609:       explicit constexpr pair()
609:       : first(), second() { }
609: 
609: 
609: 
609:       using _PCCP = _PCC<true, _T1, _T2>;
609: 
609: 
609: 
609:       template<typename _U1 = _T1, typename _U2=_T2, typename
609:         enable_if<_PCCP::template
609:       _ConstructiblePair<_U1, _U2>()
609:                   && _PCCP::template
609:       _ImplicitlyConvertiblePair<_U1, _U2>(),
609:                          bool>::type=true>
609:       constexpr pair(const _T1& __a, const _T2& __b)
609:       : first(__a), second(__b) { }
609: 
609: 
609:        template<typename _U1 = _T1, typename _U2=_T2, typename
609:   enable_if<_PCCP::template
609:        2:    return (__cptr - (char *) __ptr) / __size;
1152:  }
1152: 
1152:       return __fread_unlocked_alias (__ptr, __size, __n, __stream);
1152:     }
1152:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1152:     return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);
1152:   return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);
1152: 
1152: }
1152: # 907 "/usr/include/stdio.h" 2 3 4
1152: 
1152: 
1152: }
1152: # 43 "/usr/include/c++/12/cstdio" 2 3
1152: # 96 "/usr/include/c++/12/cstdio" 3
1152: namespace std
1152: {
1152:   using ::FILE;
1152:   using ::fpos_t;
1152: 
1152:   using ::clearerr;
1152:   using ::fclose;
1152:   using ::feof;
1152:   using ::ferror;
1152:   using ::fflush;
1152:   using ::fgetc;
1152:   using ::fgetpos;
1152:   using ::fgets;
1152:   using ::fopen;
1152:   using ::fprintf;
1152:   using ::fputc;
1152:   using ::fputs;
1152:   using ::fread;
1152:   using ::freopen;
1152:   using ::fscanf;
1152:   using ::fseek;
1152:   using ::fsetpos;
1152:   using ::ftell;
1152:   using ::fwrite;
1152:   using ::getc;
1152:   using ::getchar;
1152: 
1152: 
1152: 
1152: 
1152:   using ::perror;
1152:   using ::printf;
1152:   using ::putc;
1152:   using ::putchar;
1152:   using ::puts;
1152:   using ::remove;
1152:   using ::rename;
1152:   using ::rewind;
1152:   using ::scanf;
1152:   using ::setbuf;
1152:   using ::setvbuf;
1152:   using ::sprintf;
1152:   using ::sscanf;
1152:   using ::tmpfile;
1152: 
1152:   using ::tmpnam;
1152: 
1152:   using ::ungetc;
1152:   using ::vfprintf;
1152:   using ::vprintf;
1152:   using ::vsprintf;
1152: }
1152: # 157 "/usr/include/c++/12/cstdio" 3
1152: namespace __gnu_cxx
1152: {
1152: # 175 "/usr/include/c++/12/cstdio" 3
1152:   using ::snprintf;
1152:   using ::vfscanf;
1152:   using ::vscanf;
1152:   using ::vsnprintf;
1152:   using ::vsscanf;
1152: 
1152: }
1152: 
1152: namespace std
1152: {
1152:   using ::__gnu_cxx::snprintf;
1152:   using ::__gnu_cxx::vfscanf;
1152:   using ::__gnu_cxx::vscanf;
1152:   using ::__gnu_cxx::vsnprintf;
1152:   using ::__gnu_cxx::vsscanf;
1152: }
1152: # 44 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1152: # 1 "/usr/include/c++/12/cerrno" 1 3
1152: # 39 "/usr/include/c++/12/cerrno" 3
1152:        
1152: # 40 "/usr/include/c++/12/cerrno" 3
1152: 
1152: 
1152: # 1 "/usr/include/errno.h" 1 3 4
1152: # 28 "/usr/include/errno.h" 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 1 3 4
1152: # 26 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4
1152: # 1 "/usr/include/linux/errno.h" 1 3 4
1152: # 1 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 1 3 4
1152: # 1 "/usr/include/asm-generic/errno.h" 1 3 4
1152: 
1152: 
1152: 
1152: 
1152: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
1152: # 6 "/usr/include/asm-generic/errno.h" 2 3 4
1152: # 2 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 2 3 4
1152: # 2 "/usr/include/linux/errno.h" 2 3 4
1152: # 27 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 2 3 4
1152: # 29 "/usr/include/errno.h" 2 3 4
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern "C" {
1152: 
1152: 
1152: extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: extern char *program_invocation_name;
1152: extern char *program_invocation_short_name;
1152: 
1152: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 1 3 4
1152: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 3 4
1152: typedef int error_t;
1152: # 49 "/usr/include/errno.h" 2 3 4
1152: 
1152: 
1152: 
1152: }
1152: # 43 "/usr/include/c++/12/cerrno" 2 3
1152: # 45 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1152: 
1152: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152:   template<typename _TRet, typename _Ret = _TRet, typename _CharT,
1152:     typename... _Base>
1152:     _Ret
1152:     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
1152:     const char* __name, const _CharT* __str, std::size_t* __idx,
1152:     _Base... __base)
1152:     {
1152:       _Ret __ret;
1152: 
1152:       _CharT* __endptr;
1152: 
1152:       struct _Save_errno {
1152:  _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
1152:  ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
1152:  int _M_errno;
1152:       } const __save_errno;
1152: 
1152:       struct _Range_chk {
1152:    static bool
1152:    _S_chk(_TRet, std::false_type) { return false; }
1152: 
1152:    static bool
1152:    _S_chk(_TRet __val, std::true_type)
1152:    {
1152:      return __val < _TRet(__numeric_traits<int>::__min)
1152:        || __val > _TRet(__numeric_traits<int>::__max);
1152:    }
1152:       };
1152: 
1152:       const _TRet __tmp = __convf(__str, &__endptr, __base...);
1152: 
1152:       if (__endptr == __str)
1152:  std::__throw_invalid_argument(__name);
1152:       else if ((*__errno_location ()) == 34
1152:    || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
1152:  std::__throw_out_of_range(__name);
1152:       else
1152:  __ret = __tmp;
1152: 
1152:       if (__idx)
1152:  *__idx = __endptr - __str;
1152: 
1152:       return __ret;
1152:     }
1152: 
1152: 
1152:   template<typename _String, typename _CharT = typename _String::value_type>
1152:     _String
1152:     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
1152:      __builtin_va_list), std::size_t __n,
1152:    const _CharT* __fmt, ...)
1152:     {
1152: 
1152: 
1152:       _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1152:          * __n));
1152: 
1152:       __builtin_va_list __args;
1152:       __builtin_va_start(__args, __fmt);
1152: 
1152:       const int __len = __convf(__s, __n, __fmt, __args);
1152: 
1152:       __builtin_va_end(__args);
1152: 
1152:       return _String(__s, __s + __len);
1152:     }
1152: 
1152: 
1152: }
1152: # 3961 "/usr/include/c++/12/bits/basic_string.h" 2 3
1152: # 1 "/usr/include/c++/12/bits/charconv.h" 1 3
1152: # 33 "/usr/include/c++/12/bits/charconv.h" 3
1152:        
1152: # 34 "/usr/include/c++/12/bits/charconv.h" 3
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: namespace __detail
1152: {
1152: 
1152:   template<typename _Tp>
1152:     constexpr unsigned
1152:     __to_chars_len(_Tp __value, int __base = 10) noexcept
1152:     {
1152:       static_assert(is_integral<_Tp>::value, "implementation bug");
1152:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1152: 
1152:       unsigned __n = 1;
1152:       const unsigned __b2 = __base * __base;
1152:       const unsigned __b3 = __b2 * __base;
1152:       const unsigned long __b4 = __b3 * __base;
1152:       for (;;)
1152:  {
1152:    if (__value < (unsigned)__base) return __n;
1152:    if (__value < __b2) return __n + 1;
1152:    if (__value < __b3) return __n + 2;
1152:    if (__value < __b4) return __n + 3;
1152:    __value /= __b4;
1152:    __n += 4;
1152:  }
1152:     }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _Tp>
1152:     void
1152:     __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
1152:     {
1152:       static_assert(is_integral<_Tp>::value, "implementation bug");
1152:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1152: 
1152:       static constexpr char __digits[201] =
1152:  "0001020304050607080910111213141516171819"
1152:  "2021222324252627282930313233343536373839"
1152:  "4041424344454647484950515253545556575859"
1152:  "6061626364656667686970717273747576777879"
1152:  "8081828384858687888990919293949596979899";
1152:       unsigned __pos = __len - 1;
1152:       while (__val >= 100)
1152:  {
1152:    auto const __num = (__val % 100) * 2;
1152:    __val /= 100;
1152:    __first[__pos] = __digits[__num + 1];
1152:    __first[__pos - 1] = __digits[__num];
1152:    __pos -= 2;
1152:  }
1152:       if (__val >= 10)
1152:  {
1152:    auto const __num = __val * 2;
1152:    __first[1] = __digits[__num + 1];
1152:    __first[0] = __digits[__num];
1152:  }
1152:       else
1152:  __first[0] = '0' + __val;
1152:     }
1152: 
1152: }
1152: 
1152: }
1152: # 3962 "/usr/include/c++/12/bits/basic_string.h" 2 3
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: namespace __cxx11 {
1152: 
1152: 
1152: 
1152:   inline int
1152:   stoi(const string& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
1152:      __idx, __base); }
1152: 
1152:   inline long
1152:   stol(const string& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152:   inline unsigned long
1152:   stoul(const string& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152:   inline long long
1152:   stoll(const string& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152:   inline unsigned long long
1152:   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152: 
1152:   inline float
1152:   stof(const string& __str, size_t* __idx = 0)
1152:   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
1152: 
1152:   inline double
1152:   stod(const string& __str, size_t* __idx = 0)
1152:   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
1152: 
1152:   inline long double
1152:   stold(const string& __str, size_t* __idx = 0)
1152:   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
1152: 
1152: 
1152: 
1152: 
1152:   inline string
1152:   to_string(int __val)
1152: 
1152:   noexcept
1152: 
1152:   {
1152:     const bool __neg = __val < 0;
1152:     const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
1152:     const auto __len = __detail::__to_chars_len(__uval);
1152:     string __str(__neg + __len, '-');
1152:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1152:     return __str;
1152:   }
1152: 
1152:   inline string
1152:   to_string(unsigned __val)
1152: 
1152:   noexcept
1152: 
1152:   {
1152:     string __str(__detail::__to_chars_len(__val), '\0');
1152:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1152:     return __str;
1152:   }
1152: 
1152:   inline string
1152:   to_string(long __val)
1152: 
1152:   noexcept
1152: 
1152:   {
1152:     const bool __neg = __val < 0;
1152:     const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
1152:     const auto __len = __detail::__to_chars_len(__uval);
1152:     string __str(__neg + __len, '-');
1152:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1152:     return __str;
1152:   }
1152: 
1152:   inline string
1152:   to_string(unsigned long __val)
1152: 
1152:   noexcept
1152: 
1152:   {
1152:     string __str(__detail::__to_chars_len(__val), '\0');
1152:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1152:     return __str;
1152:   }
1152: 
1152:   inline string
1152:   to_string(long long __val)
1152:   {
1152:     const bool __neg = __val < 0;
1152:     const unsigned long long __uval
1152:       = __neg ? (unsigned long long)~__val + 1ull : __val;
1152:     const auto __len = __detail::__to_chars_len(__uval);
1152:     string __str(__neg + __len, '-');
1152:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1152:     return __str;
1152:   }
1152: 
1152:   inline string
1152:   to_string(unsigned long long __val)
1152:   {
1152:     string __str(__detail::__to_chars_len(__val), '\0');
1152:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1152:     return __str;
1152:   }
1152: 
1152: 
1152: 
1152: 
1152:   inline string
1152:   to_string(float __val)
1152:   {
1152:     const int __n =
1152:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1152:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1152:         "%f", __val);
1152:   }
1152: 
1152:   inline string
1152:   to_string(double __val)
1152:   {
1152:     const int __n =
1152:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1152:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1152:         "%f", __val);
1152:   }
1152: 
1152:   inline string
1152:   to_string(long double __val)
1152:   {
1152:     const int __n =
1152:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1152:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1152:         "%Lf", __val);
1152:   }
1152: 
1152: 
1152: 
1152:   inline int
1152:   stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
1152:      __idx, __base); }
1152: 
1152:   inline long
1152:   stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152:   inline unsigned long
1152:   stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152:   inline long long
1152:   stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152:   inline unsigned long long
1152:   stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
1152:   { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
1152:         __idx, __base); }
1152: 
1152: 
1152:   inline float
1152:   stof(const wstring& __str, size_t* __idx = 0)
1152:   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
1152: 
1152:   inline double
1152:   stod(const wstring& __str, size_t* __idx = 0)
1152:   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
1152: 
1152:   inline long double
1152:   stold(const wstring& __str, size_t* __idx = 0)
1152:   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
1152: 
1152: 
1152: 
1152:   inline wstring
1152:   to_wstring(int __val)
1152:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int),
1152:          L"%d", __val); }
1152: 
1152:   inline wstring
1152:   to_wstring(unsigned __val)
1152:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1152:          4 * sizeof(unsigned),
1152:          L"%u", __val); }
1152: 
1152:   inline wstring
1152:   to_wstring(long __val)
1152:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long),
1152:          L"%ld", __val); }
1152: 
1152:   inline wstring
1152:   to_wstring(unsigned long __val)
1152:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1152:          4 * sizeof(unsigned long),
1152:          L"%lu", __val); }
1152: 
1152:   inline wstring
1152:   to_wstring(long long __val)
1152:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1152:          4 * sizeof(long long),
1152:          L"%lld", __val); }
1152: 
1152:   inline wstring
1152:   to_wstring(unsigned long long __val)
1152:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1152:          4 * sizeof(unsigned long long),
1152:          L"%llu", __val); }
1152: 
1152:   inline wstring
1152:   to_wstring(float __val)
1152:   {
1152:     const int __n =
1152:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1152:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1152:          L"%f", __val);
1152:   }
1152: 
1152:   inline wstring
1152:   to_wstring(double __val)
1152:   {
1152:     const int __n =
1152:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1152:     returnPreprocessed source stored into /tmp/cc2exDUJ.out file, please attach this to your bugreport.
_ConstructiblePair<_U1, _U2>()
609:                    && !_PCCP::template
609:        _ImplicitlyConvertiblePair<_U1, _U2>(),
609:                          bool>::type=false>
609:       explicit constexpr pair(const _T1& __a, const _T2& __b)
609:       : first(__a), second(__b) { }
609: 
609: 
609: 
609:       template <typename _U1, typename _U2>
609:         using _PCCFP = _PCC<!is_same<_T1, _U1>::value
609:        || !is_same<_T2, _U2>::value,
609:        _T1, _T2>;
609: 
609: 
609:       template<typename _U1, typename _U2, typename
609:         enable_if<_PCCFP<_U1, _U2>::template
609:       _ConstructiblePair<_U1, _U2>()
609:                   && _PCCFP<_U1, _U2>::template
609:       _ImplicitlyConvertiblePair<_U1, _U2>(),
609:      bool>::type=true>
609:         constexpr pair(const pair<_U1, _U2>& __p)
609:         : first(__p.first), second(__p.second) { }
609: 
609:       template<typename _U1, typename _U2, typename
609:         enable_if<_PCCFP<_U1, _U2>::template
609:       _ConstructiblePair<_U1, _U2>()
609:     && !_PCCFP<_U1, _U2>::template
609:       _ImplicitlyConvertiblePair<_U1, _U2>(),
609:                          bool>::type=false>
609:  explicit constexpr pair(const pair<_U1, _U2>& __p)
609:  : first(__p.first), second(__p.second) { }
609: # 460 "/usr/include/c++/12/bits/stl_pair.h" 3
609:     private:
609: 
609: 
609: 
609:       struct __zero_as_null_pointer_constant
609:       {
609:  __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
609:  { }
609:  template<typename _Tp,
609:    typename = __enable_if_t<is_null_pointer<_Tp>::value>>
609:  __zero_as_null_pointer_constant(_Tp) = delete;
609:       };
609: 
609:     public:
609: 
609: 
609: 
609: 
609:       template<typename _U1,
609:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
609:         is_pointer<_T2>,
609:         is_constructible<_T1, _U1>,
609:         __not_<is_constructible<_T1, const _U1&>>,
609:         is_convertible<_U1, _T1>>::value,
609:         bool> = true>
609:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
609:  constexpr
609:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
609:  : first(std::forward<_U1>(__x)), second(nullptr) { }
609: 
609:       template<typename _U1,
609:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
609:         is_pointer<_T2>,
609:         is_constructible<_T1, _U1>,
609:         __not_<is_constructible<_T1, const _U1&>>,
609:         __not_<is_convertible<_U1, _T1>>>::value,
609:         bool> = false>
609:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
609:  explicit constexpr
609:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
609:  : first(std::forward<_U1>(__x)), second(nullptr) { }
609: 
609:       template<typename _U2,
609:         __enable_if_t<__and_<is_pointer<_T1>,
609:         __not_<is_reference<_U2>>,
609:         is_constructible<_T2, _U2>,
609:         __not_<is_constructible<_T2, const _U2&>>,
609:         is_convertible<_U2, _T2>>::value,
609:         bool> = true>
609:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
609:  constexpr
609:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
609:  : first(nullptr), second(std::forward<_U2>(__y)) { }
609: 
609:       template<typename _U2,
609:         __enable_if_t<__and_<is_pointer<_T1>,
609:         __not_<is_reference<_U2>>,
609:         is_constructible<_T2, _U2>,
609:         __not_<is_constructible<_T2, const _U2&>>,
609:         __not_<is_convertible<_U2, _T2>>>::value,
609:         bool> = false>
609:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
609:  explicit constexpr
609:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
609:  : first(nullptr), second(std::forward<_U2>(__y)) { }
609: 
609: 
609: 
609:       template<typename _U1, typename _U2, typename
609:         enable_if<_PCCP::template
609:       _MoveConstructiblePair<_U1, _U2>()
609:      && _PCCP::template
609:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
609:                          bool>::type=true>
609:  constexpr pair(_U1&& __x, _U2&& __y)
609:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
609: 
609:       template<typename _U1, typename _U2, typename
609:         enable_if<_PCCP::template
609:       _MoveConstructiblePair<_U1, _U2>()
609:      && !_PCCP::template
609:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
609:                          bool>::type=false>
609:  explicit constexpr pair(_U1&& __x, _U2&& __y)
609:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
609: 
609: 
609:       template<typename _U1, typename _U2, typename
609:         enable_if<_PCCFP<_U1, _U2>::template
609:       _MoveConstructiblePair<_U1, _U2>()
609:      && _PCCFP<_U1, _U2>::template
609:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
609:                          bool>::type=true>
609:  constexpr pair(pair<_U1, _U2>&& __p)
609:  : first(std::forward<_U1>(__p.first)),
609:    second(std::forward<_U2>(__p.second)) { }
609: 
609:       template<typename _U1, typename _U2, typename
609:         enable_if<_PCCFP<_U1, _U2>::template
609:       _MoveConstructiblePair<_U1, _U2>()
609:      && !_PCCFP<_U1, _U2>::template
609:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
609:                          bool>::type=false>
609:  explicit constexpr pair(pair<_U1, _U2>&& __p)
609:  : first(std::forward<_U1>(__p.first)),
609:    second(std::forward<_U2>(__p.second)) { }
609: 
609:       pair&
609:       operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
609:            is_copy_assignable<_T2>>::value,
609:     const pair&, const __nonesuch&> __p)
609:       {
609:  first = __p.first;
609:  second = __p.second;
609:  return *this;
609:       }
609: 
609:       pair&
609:       operator=(__conditional_t<__and_<is_move_assignable<_T1>,
609:            is_move_assignable<_T2>>::value,
609:     pair&&, __nonesuch&&> __p)
609:       noexcept(__and_<is_nothrow_move_assignable<_T1>,
609:         is_nothrow_move_assignable<_T2>>::value)
609:       {
609:  first = std::forward<first_type>(__p.first);
609:  second = std::forward<second_type>(__p.second);
609:  return *this;
609:       }
609: 
609:       template<typename _U1, typename _U2>
609:  typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
609:       is_assignable<_T2&, const _U2&>>::value,
609:       pair&>::type
609:  operator=(const pair<_U1, _U2>& __p)
609:  {
609:    first = __p.first;
609:    second = __p.second;
609:    return *this;
609:  }
609: 
609:       template<typename _U1, typename _U2>
609:  typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
609:       is_assignable<_T2&, _U2&&>>::value,
609:       pair&>::type
609:  operator=(pair<_U1, _U2>&& __p)
609:  {
609:    first = std::forward<_U1>(__p.first);
609:    second = std::forward<_U2>(__p.second);
609:    return *this;
609:  }
609: # 629 "/usr/include/c++/12/bits/stl_pair.h" 3
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
609: 
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     inline constexpr bool
609:     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
609:     { return __x.first == __y.first && __x.second == __y.second; }
609: # 661 "/usr/include/c++/12/bits/stl_pair.h" 3
609:   template<typename _T1, typename _T2>
609:     inline constexpr bool
609:     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
609:     { return __x.first < __y.first
609:       || (!(__y.first < __x.first) && __x.second < __y.second); }
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     inline constexpr bool
609:     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     inline constexpr bool
609:     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
609:     { return __y < __x; }
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     inline constexpr bool
609:     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     inline constexpr bool
609:     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
609:     { return !(__x < __y); }
609: # 698 "/usr/include/c++/12/bits/stl_pair.h" 3
609:   template<typename _T1, typename _T2>
609:     inline
609: 
609: 
609:     typename enable_if<__and_<__is_swappable<_T1>,
609:                               __is_swappable<_T2>>::value>::type
609: 
609: 
609: 
609:     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     typename enable_if<!__and_<__is_swappable<_T1>,
609:           __is_swappable<_T2>>::value>::type
609:     swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
609: # 738 "/usr/include/c++/12/bits/stl_pair.h" 3
609:   template<typename _T1, typename _T2>
609:     constexpr pair<typename __decay_and_strip<_T1>::__type,
609:                    typename __decay_and_strip<_T2>::__type>
609:     make_pair(_T1&& __x, _T2&& __y)
609:     {
609:       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
609:       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
609:       typedef pair<__ds_type1, __ds_type2> __pair_type;
609:       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
609:     }
609: # 760 "/usr/include/c++/12/bits/stl_pair.h" 3
609:   template<typename _T1, typename _T2>
609:     struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
609:     { };
609: 
609: 
609:   template<class _Tp1, class _Tp2>
609:     struct tuple_size<pair<_Tp1, _Tp2>>
609:     : public integral_constant<size_t, 2> { };
609: 
609: 
609:   template<class _Tp1, class _Tp2>
609:     struct tuple_element<0, pair<_Tp1, _Tp2>>
609:     { typedef _Tp1 type; };
609: 
609: 
609:   template<class _Tp1, class _Tp2>
609:     struct tuple_element<1, pair<_Tp1, _Tp2>>
609:     { typedef _Tp2 type; };
609: 
609: 
609:   template<typename _Tp1, typename _Tp2>
609:     inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
609: 
609:   template<typename _Tp1, typename _Tp2>
609:     inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
609: 
609:   template<typename _Tp>
609:     inline constexpr bool __is_pair = false;
609: 
609:   template<typename _Tp, typename _Up>
609:     inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
609: 
609:   template<typename _Tp, typename _Up>
609:     inline constexpr bool __is_pair<const pair<_Tp, _Up>> = true;
609: 
609: 
609: 
609:   template<size_t _Int>
609:     struct __pair_get;
609: 
609:   template<>
609:     struct __pair_get<0>
609:     {
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr _Tp1&
609:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
609:  { return __pair.first; }
609: 
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr _Tp1&&
609:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
609:  { return std::forward<_Tp1>(__pair.first); }
609: 
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr const _Tp1&
609:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
609:  { return __pair.first; }
609: 
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr const _Tp1&&
609:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
609:  { return std::forward<const _Tp1>(__pair.first); }
609:     };
609: 
609:   template<>
609:     struct __pair_get<1>
609:     {
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr _Tp2&
609:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
609:  { return __pair.second; }
609: 
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr _Tp2&&
609:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
609:  { return std::forward __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1152:          L"%f", __val);
1152:   }
1152: 
1152:   inline wstring
1152:   to_wstring(long double __val)
1152:   {
1152:     const int __n =
1152:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1152:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1152:          L"%Lf", __val);
1152:   }
1152: 
1152: 
1152: 
1152: }
1152: 
1152: }
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct hash<string>
1152:     : public __hash_base<size_t, string>
1152:     {
1152:       size_t
1152:       operator()(const string& __s) const noexcept
1152:       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<string>> : std::false_type
1152:     { };
1152: 
1152: 
1152:   template<>
1152:     struct hash<wstring>
1152:     : public __hash_base<size_t, wstring>
1152:     {
1152:       size_t
1152:       operator()(const wstring& __s) const noexcept
1152:       { return std::_Hash_impl::hash(__s.data(),
1152:                                      __s.length() * sizeof(wchar_t)); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<wstring>> : std::false_type
1152:     { };
1152: # 4281 "/usr/include/c++/12/bits/basic_string.h" 3
1152:   template<>
1152:     struct hash<u16string>
1152:     : public __hash_base<size_t, u16string>
1152:     {
1152:       size_t
1152:       operator()(const u16string& __s) const noexcept
1152:       { return std::_Hash_impl::hash(__s.data(),
1152:                                      __s.length() * sizeof(char16_t)); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<u16string>> : std::false_type
1152:     { };
1152: 
1152: 
1152:   template<>
1152:     struct hash<u32string>
1152:     : public __hash_base<size_t, u32string>
1152:     {
1152:       size_t
1152:       operator()(const u32string& __s) const noexcept
1152:       { return std::_Hash_impl::hash(__s.data(),
1152:                                      __s.length() * sizeof(char32_t)); }
1152:     };
1152: 
1152:   template<>
1152:     struct __is_fast_hash<hash<u32string>> : std::false_type
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   inline namespace literals
1152:   {
1152:   inline namespace string_literals
1152:   {
1152: #pragma GCC diagnostic push
1152: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:     __attribute ((__abi_tag__ ("cxx11")))
1152:     inline basic_string<char>
1152:     operator""s(const char* __str, size_t __len)
1152:     { return basic_string<char>{__str, __len}; }
1152: 
1152:     __attribute ((__abi_tag__ ("cxx11")))
1152:     inline basic_string<wchar_t>
1152:     operator""s(const wchar_t* __str, size_t __len)
1152:     { return basic_string<wchar_t>{__str, __len}; }
1152: # 4344 "/usr/include/c++/12/bits/basic_string.h" 3
1152:     __attribute ((__abi_tag__ ("cxx11")))
1152:     inline basic_string<char16_t>
1152:     operator""s(const char16_t* __str, size_t __len)
1152:     { return basic_string<char16_t>{__str, __len}; }
1152: 
1152:     __attribute ((__abi_tag__ ("cxx11")))
1152:     inline basic_string<char32_t>
1152:     operator""s(const char32_t* __str, size_t __len)
1152:     { return basic_string<char32_t>{__str, __len}; }
1152: 
1152: 
1152: #pragma GCC diagnostic pop
1152:   }
1152:   }
1152: 
1152: 
1152:   namespace __detail::__variant
1152:   {
1152:     template<typename> struct _Never_valueless_alt;
1152: 
1152: 
1152: 
1152:     template<typename _Tp, typename _Traits, typename _Alloc>
1152:       struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
1152:       : __and_<
1152:  is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
1152:  is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
1152:  >::type
1152:  === BEGIN GCC DUMP ===
<_Tp2>(__pair.second); }
609: 
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr const _Tp2&
609:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
609:  { return __pair.second; }
609: 
609:       template<typename _Tp1, typename _Tp2>
609:  static constexpr const _Tp2&&
609:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
609:  { return std::forward<const _Tp2>(__pair.second); }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<size_t _Int, class _Tp1, class _Tp2>
609:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
609:     get(pair<_Tp1, _Tp2>& __in) noexcept
609:     { return __pair_get<_Int>::__get(__in); }
609: 
609:   template<size_t _Int, class _Tp1, class _Tp2>
609:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
609:     get(pair<_Tp1, _Tp2>&& __in) noexcept
609:     { return __pair_get<_Int>::__move_get(std::move(__in)); }
609: 
609:   template<size_t _Int, class _Tp1, class _Tp2>
609:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
609:     get(const pair<_Tp1, _Tp2>& __in) noexcept
609:     { return __pair_get<_Int>::__const_get(__in); }
609: 
609:   template<size_t _Int, class _Tp1, class _Tp2>
609:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
609:     get(const pair<_Tp1, _Tp2>&& __in) noexcept
609:     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr _Tp&
609:     get(pair<_Tp, _Up>& __p) noexcept
609:     { return __p.first; }
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr const _Tp&
609:     get(const pair<_Tp, _Up>& __p) noexcept
609:     { return __p.first; }
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr _Tp&&
609:     get(pair<_Tp, _Up>&& __p) noexcept
609:     { return std::move(__p.first); }
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr const _Tp&&
609:     get(const pair<_Tp, _Up>&& __p) noexcept
609:     { return std::move(__p.first); }
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr _Tp&
609:     get(pair<_Up, _Tp>& __p) noexcept
609:     { return __p.second; }
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr const _Tp&
609:     get(const pair<_Up, _Tp>& __p) noexcept
609:     { return __p.second; }
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr _Tp&&
609:     get(pair<_Up, _Tp>&& __p) noexcept
609:     { return std::move(__p.second); }
609: 
609:   template <typename _Tp, typename _Up>
609:     constexpr const _Tp&&
609:     get(const pair<_Up, _Tp>&& __p) noexcept
609:     { return std::move(__p.second); }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 65 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 1 3
609: # 62 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
609:        
609: # 63 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
609: # 74 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 93 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
609:   struct input_iterator_tag { };
609: 
609: 
609:   struct output_iterator_tag { };
609: 
609: 
609:   struct forward_iterator_tag : public input_iterator_tag { };
609: 
609: 
609: 
609:   struct bidirectional_iterator_tag : public forward_iterator_tag { };
609: 
609: 
609: 
609:   struct random_access_iterator_tag : public bidirectional_iterator_tag { };
609: # 125 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
609:   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
609:            typename _Pointer = _Tp*, typename _Reference = _Tp&>
609:     struct [[__deprecated__]] iterator
609:     {
609: 
609:       typedef _Category iterator_category;
609: 
609:       typedef _Tp value_type;
609: 
609:       typedef _Distance difference_type;
609: 
609:       typedef _[ 72%] Building CXX object build/view/CMakeFiles/view.dir/ViewStateSettings.cpp.o
cd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/view && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/view/CMakeFiles/view.dir/ViewStateSettings.cpp.o -MF CMakeFiles/view.dir/ViewStateSettings.cpp.o.d -o CMakeFiles/view.dir/ViewStateSettings.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp
Pointer pointer;
609: 
609:       typedef _Reference reference;
609:     };
609: # 149 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
609:   template<typename _Iterator>
609:     struct iterator_traits;
609: 
609: 
609: 
609: 
609:   template<typename _Iterator, typename = __void_t<>>
609:     struct __iterator_traits { };
609: 
609: 
609: 
609:   template<typename _Iterator>
609:     struct __iterator_traits<_Iterator,
609:         __void_t<typename _Iterator::iterator_category,
609:           typename _Iterator::value_type,
609:           typename _Iterator::difference_type,
609:           typename _Iterator::pointer,
609:           typename _Iterator::reference>>
609:     {
609:       typedef typename _Iterator::iterator_category iterator_category;
609:       typedef typename _Iterator::value_type value_type;
609:       typedef typename _Iterator::difference_type difference_type;
609:       typedef typename _Iterator::pointer pointer;
609:       typedef typename _Iterator::reference reference;
609:     };
609: 
609: 
609:   template<typename _Iterator>
609:     struct iterator_traits
609:     : public __iterator_traits<_Iterator> { };
609: # 209 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
609:   template<typename _Tp>
609:     struct iterator_traits<_Tp*>
609:     {
609:       typedef random_access_iterator_tag iterator_category;
609:       typedef _Tp value_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef _Tp* pointer;
609:       typedef _Tp& reference;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct iterator_traits<const _Tp*>
609:     {
609:       typedef random_access_iterator_tag iterator_category;
609:       typedef _Tp value_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef const _Tp* pointer;
609:       typedef const _Tp& reference;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Iter>
609:     inline constexpr
609:     typename iterator_traits<_Iter>::iterator_category
609:     __iterator_category(const _Iter&)
609:     { return typename iterator_traits<_Iter>::iterator_category(); }
609: 
609: 
609: 
609: 
609:   template<typename _Iter>
609:     using __iterator_category_t
609:       = typename iterator_traits<_Iter>::iterator_category;
609: 
609:   template<typename _InIter>
609:     using _RequireInputIter =
609:       __enable_if_t<is_convertible<__iterator_category_t<_InIter>,
609:        input_iterator_tag>::value>;
609: 
609:   template<typename _It,
609:     typename _Cat = __iterator_category_t<_It>>
609:     struct __is_random_access_iter
609:       : is_base_of<random_access_iterator_tag, _Cat>
609:     {
609:       typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
609:       enum { __value = _Base::value };
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 66 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 1 3
609: # 62 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
609:        
609: # 63 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
609: 
609: # 1 "/usr/include/c++/12/bits/concept_check.h" 1 3
609: # 33 "/usr/include/c++/12/bits/concept_check.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/concept_check.h" 3
609: # 65 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
609: # 1 "/usr/include/c++/12/debug/assertions.h" 1 3
609: # 66 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   template <typename> struct _List_iterator;
609:   template <typename> struct _List_const_iterator;
609: 
609: 
609:   template<typename _InputIterator>
609:     inline constexpr
609:     typename iterator_traits<_InputIterator>::difference_type
609:     __distance(_InputIterator __first, _InputIterator __last,
609:                input_iterator_tag)
609:     {
609: 
609:      
609: 
609:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
609:       while (__first != __last)
609:  {
609:    ++__first;
609:    ++__n;
609:  }
609:       return __n;
609:     }
609: 
609:   template<typename _RandomAccessIterator>
609:     inline constexpr
609:     typename iterator_traits<_RandomAccessIterator>::difference_type
609:     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:                random_access_iterator_tag)
609:     {
609: 
609:      
609: 
609:       return __last - __first;
609:     }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     ptrdiff_t
609:     __distance(std::_List_iterator<_Tp>,
609:         std::_List_iterator<_Tp>,
609:         input_iterator_tag);
609: 
609:   template<typename _Tp>
609:     ptrdiff_t
609:     __distance(std::_List_const_iterator<_Tp>,
609:         std::_List_const_iterator<_Tp>,
609:         input_iterator_tag);
609: 
609: 
609: 
609: 
609:   template<typename _OutputIterator>
609:     void
609:     __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
609: # 143 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
609:   template<typename _InputIterator>
609:     [[__nodiscard__]]
609:     inline constexpr
609:     typename iterator_traits<_InputIterator>::difference_type
609:     distance(_InputIterator __first, _InputIterator __last)
609:     {
609: 
609:       return std::__distance(__first, __last,
609:         std::__iterator_category(__first));
609:     }
609: 
609:   template<typename _InputIterator, typename _Distance>
609:     inline constexpr void
609:     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
609:     {
609: 
609:      
609:       do { if (std::__is_constant_evaluated() && !bool(__n >= 0)) __builtin_unreachable(); } while (false);
609:       while (__n--)
609:  ++__i;
609:     }
609: 
609:   template<typename _BidirectionalIterator, typename _Distance>
609:     inline constexpr void
609:     __advance(_BidirectionalIterator& __i, _Distance __n,
609:        bidirectional_iterator_tag)
609:     {
609: 
609:      
609: 
609:       if (__n > 0)
609:         while (__n--)
609:    ++__i;
609:       else
609:         while (__n++)
609:    --__i;
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Distance>
609:     inline constexpr void
609:     __advance(_RandomAccessIterator& __i, _Distance __n,
609:               random_access_iterator_tag)
609:     {
609: 
609:      
609: 
609:       if (__builtin_constant_p(__n) && __n == 1)
609:  ++__i;
609:       else if (__builtin_constant_p(__n) && __n == -1)
609:  --__i;
609:       else
609:  __i += __n;
609:     }
609: 
609: 
609: 
609:   template<typename _OutputIterator, typename _Distance>
609:     void
609:     __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete;
609: # 216 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
609:   template<typename _InputIterator, typename _Distance>
609:     inline constexpr void
609:     advance(_InputIterator& __i, _Distance __n)
609:     {
609: 
609:       typename iterator_traits<_InputIterator>::difference_type __d = __n;
609:       std::__advance(__i, __d, std::__iterator_category(__i));
609:     }
609: 
609: 
609: 
609:   template<typename _InputIterator>
609:     [[__nodiscard__]]
609:     inline constexpr _InputIterator
609:     next(_InputIterator __x, typename
609:   iterator_traits<_InputIterator>::difference_type __n = 1)
609:     {
609: 
609:      
609:       std::advance(__x, __n);
609:       return __x;
609:     }
609: 
609:   template<typename _BidirectionalIterator>
609:     [[__nodiscard__]]
609:     inline constexpr _BidirectionalIterator
609:     prev(_BidirectionalIterator __x, typename
609:   iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
609:     {
609: 
609:      
609: 
609:       std::advance(__x, -__n);
609:       return __x;
609:     }
609: 
609: 
609: 
609: 
609: }
609: # 67 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_iterator.h" 1 3
609: # 67 "/usr/include/c++/12/bits/stl_iterator.h" 3
609: # 1 "/usr/include/c++/12/bits/ptr_traits.1115: // Target: arm-linux-gnueabihf
1115: // Configured with: ../src/configure -v --with-pkgversion='Raspbian 12.2.0-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6+fp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
1115: // Thread model: posix
1115: // Supported LTO compression algorithms: zlib zstd
1115: // gcc version 12.2.0 (Raspbian 12.2.0-14+rpi1) 
1115: // 
1115: // /usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
1115: //   298 |   typedef __SIZE_TYPE__         size_t;
1115: //       |           ^~~~~~~~~~~~~
1115: // 0x137a10f internal_error(char const*, ...)
1115: // 	???:0
1115: // 0x389c8b pop_to_parent_deferring_access_checks()
1115: // 	???:0
1115: // Please submit a full bug report, with preprocessed source (by using -freport-bug).
1115: // Please include the complete backtrace with any bug report.
1115: // See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
1115: 
1115: // /usr/lib/gcc/arm-linux-gnueabihf/12/cc1plus -quiet -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I /<<BUILDDIR>>/kodi-20.0+dfsg -I /<<BUILDDIR>>/kodi-20.0+dfsg/lib -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -imultilib . -imultiarch arm-linux-gnueabihf -MD CMakeFiles/weather.dir/WeatherJob.cpp.d -MF CMakeFiles/weather.dir/WeatherJob.cpp.o.d -MT build/weather/CMakeFiles/weather.dir/WeatherJob.cpp.o -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 -D _XBMC -D DEB_VERSION="2:20.0+dfsg-1" -D NDEBUG -D TARGET_POSIX -D TARGET_LINUX -D _GNU_SOURCE -D HAVE_LINUX_UDMABUF=1 -D HAVE_LINUX_DMA_HEAP=1 -D HAVE_LINUX_DMA_BUF=1 -D HAVE_MKOSTEMP=1 -D HAVE_LINUX_MEMFD=1 -D HAVE_STATX=1 -D __STDC_CONSTANT_MACROS -D _FILE_OFFSET_BITS=64 -D HAS_POSIX_NETWORK -D HAS_LINUX_NETWORK -D HAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -D HAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -D HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -D HAVE_INOTIFY=1 -D HAVE_POSIX_FADVISE=1 -D HAVE_LOCALTIME_R=1 -D HAVE_GMTIME_R=1 -D HAVE_INTTYPES_H=1 -D HAS_ALSA=1 -D HAS_AVAHI=1 -D HAS_ZEROCONF=1 -D HAVE_LIBBLURAY=1 -D HAVE_LIBBLURAY_BDJ=1 -D HAVE_LIBCEC=1 -D HAS_DBUS=1 -D HAS_ISO9660PP=1 -D HAVE_LCMS2=1 -D CMS_NO_REGISTER_KEYWORD=1 -D HAS_LIRC=1 -D HAS_WEB_SERVER=1 -D HAS_WEB_INTERFACE=1 -D HAS_FILESYSTEM_NFS=1 -D HAS_NFS_SET_TIMEOUT -D HAS_PIPEWIRE=1 -D HAS_AIRPLAY=1 -D HAS_PULSEAUDIO=1 -D HAS_PYTHON=1 -D HAS_FILESYSTEM_SMB=1 -D HAS_SNDIO=1 -D HAVE_LIBUDEV=1 -D HAS_UDFREAD=1 -D HAVE_LIBXSLT=1 -D HAVE_LIBVA=1 -D HAS_GLX=1 -D HAVE_LIBVDPAU=1 -D DATE_HAS_STRINGVIEW -D FFMPEG_VER_SHA="4.4.1" -D HAVE_GCRYPT=1 -D SPDLOG_FMT_EXTERNAL -D SPDLOG_DEBUG_ON -D SPDLOG_NO_ATOMIC_LEVELS -D SPDLOG_ENABLE_PATTERN_PADDING -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D HAS_EGL=1 -D HAVE_X11=1 -D HAVE_LIBXRANDR=1 -D HAVE_HDR_OUTPUT_METADATA=1 -D HAVE_DRM_MODIFIER_NAME=1 -D HAS_GL=1 -D HAVE_WAYLAND=1 -D HAVE_GBM=1 -D HAS_GBM_BO_MAP=1 -D HAS_GBM_MODIFIERS=1 -D HAS_MYSQL=1 -D HAS_UPNP=1 -D HAS_DVD_DRIVE -D HAS_CDDA_RIPPER -D HAS_AIRTUNES=1 -D BIN_INSTALL_PATH="/usr/lib/arm-linux-gnueabihf/kodi" -D INSTALL_PATH="/usr/share/k     { };
1152:   }
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 54 "/usr/include/c++/12/string" 2 3
1152: # 1 "/usr/include/c++/12/bits/basic_string.tcc" 1 3
1152: # 42 "/usr/include/c++/12/bits/basic_string.tcc" 3
1152:        
1152: # 43 "/usr/include/c++/12/bits/basic_string.tcc" 3
1152: 
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::npos;
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     swap(basic_string& __s) noexcept
1152:     {
1152:       if (this == std::__addressof(__s))
1152:  return;
1152: 
1152:       _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
1152: 
1152:       if (_M_is_local())
1152:  if (__s._M_is_local())
1152:    {
1152:      if (length() && __s.length())
1152:        {
1152:   _CharT __tmp_data[_S_local_capacity + 1];
1152:   traits_type::copy(__tmp_data, __s._M_local_buf,
1152:       __s.length() + 1);
1152:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1152:       length() + 1);
1152:   traits_type::copy(_M_local_buf, __tmp_data,
1152:       __s.length() + 1);
1152:        }
1152:      else if (__s.length())
1152:        {
1152:   traits_type::copy(_M_local_buf, __s._M_local_buf,
1152:       __s.length() + 1);
1152:   _M_length(__s.length());
1152:   __s._M_set_length(0);
1152:   return;
1152:        }
1152:      else if (length())
1152:        {
1152:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1152:       length() + 1);
1152:   __s._M_length(length());
1152:   _M_set_length(0);
1152:   return;
1152:        }
1152:    }
1152:  else
1152:    {
1152:      const size_type __tmp_capacity = __s._M_allocated_capacity;
1152:      traits_type::copy(__s._M_local_buf, _M_local_buf,
1152:          length() + 1);
1152:      _M_data(__s._M_data());
1152:      __s._M_data(__s._M_local_buf);
1152:      _M_capacity(__tmp_capacity);
1152:    }
1152:       else
1152:  {
1152:    const size_type __tmp_capacity = _M_allocated_capacity;
1152:    if (__s._M_is_local())
1152:      {
1152:        traits_type::copy(_M_local_buf, __s._M_local_buf,
1152:     __s.length() + 1);
1152:        __s._M_data(_M_data());
1152:        _M_data(_M_local_buf);
1152:      }
1152:    else
1152:      {
1152:        pointer __tmp_ptr = _M_data();
1152:        _M_data(__s._M_data());
1152:        __s._M_data(__tmp_ptr);
1152:        _M_capacity(__s._M_allocated_capacity);
1152:      }
1152:    __s._M_capacity(__tmp_capacity);
1152:  }
1152: 
1152:       const size_type __tmp_length = length();
1152:       _M_length(__s.length());
1152:       __s._M_length(__tmp_length);
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::pointer
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_create(size_type& __capacity, size_type __old_capacity)
1152:     {
1152: 
1152: 
1152:       if (__capacity > max_size())
1152:  std::__throw_length_error(("basic_string::_M_create"));
1152: 
1152: 
1152: 
1152: 
1152:       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
1152:  {
1152:    __capacity = 2 * __old_capacity;
1152: 
1152:    if (__capacity > max_size())
1152:      __capacity = max_size();
1152:  }
1152: 
1152: 
1152: 
1152:       return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
1152:     }
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     template<typename _InIterator>
1152:      
1152:       void
1152:       basic_string<_CharT, _Traits, _Alloc>::
1152:       _M_construct(_InIterator __beg, _InIterator __end,
1152:      std::input_iterator_tag)
1152:       {
1152:  size_type __len = 0;
1152:  size_type __capacity = size_type(_S_loodi" -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp -quiet -dumpdir CMakeFiles/weather.dir/ -dumpbase WeatherJob.cpp.cpp -dumpbase-ext .cpp -mfloat-abi=hard -mtls-dialect=gnu -marm -mlibarch=armv6+fp -march=armv6+fp -g -g -O3 -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -o - -frandom-seed=0 -fdump-noaddr
1115: 
1115: # 0 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp"
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/weather//"
1115: # 0 "<built-in>"
1115: # 0 "<command-line>"
1115: # 1 "/usr/include/stdc-predef.h" 1 3 4
1115: # 0 "<command-line>" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp"
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp"
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1115:        
1115: 
1115: # 1 "/usr/include/c++/12/memory" 1 3
1115: # 47 "/usr/include/c++/12/memory" 3
1115:        
1115: # 48 "/usr/include/c++/12/memory" 3
1115: # 63 "/usr/include/c++/12/memory" 3
1115: # 1 "/usr/include/c++/12/bits/stl_algobase.h" 1 3
1115: # 59 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 1 3
1115: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1115: 
1115: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1115: namespace std
1115: {
1115:   typedef unsigned int size_t;
1115:   typedef int ptrdiff_t;
1115: 
1115: 
1115:   typedef decltype(nullptr) nullptr_t;
1115: 
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115:   extern "C++" __attribute__ ((__noreturn__, __always_inline__))
1115:   inline void __terminate() noexcept
1115:   {
1115:     void terminate() noexcept __attribute__ ((__noreturn__));
1115:     terminate();
1115:   }
1115: #pragma GCC visibility pop
1115: }
1115: # 329 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1115: namespace std
1115: {
1115:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1115: }
1115: namespace __gnu_cxx
1115: {
1115:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1115: }
1115: # 508 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1115: namespace std
1115: {
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115: 
1115: 
1115:   constexpr inline bool
1115:   __is_constant_evaluated() noexcept
1115:   {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     return __builtin_is_constant_evaluated();
1115: 
1115: 
1115: 
1115:   }
1115: #pragma GCC visibility pop
1115: }
1115: # 655 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 1 3
1115: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_definecal_capacity);
1152: 
1152:  pointer __p = _M_use_local_data();
1152: 
1152:  while (__beg != __end && __len < __capacity)
1152:    {
1152:      __p[__len++] = *__beg;
1152:      ++__beg;
1152:    }
1152: 
1152:  struct _Guard
1152:  {
1152:   
1152:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1152: 
1152:   
1152:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1152: 
1152:    basic_string* _M_guarded;
1152:  } __guard(this);
1152: 
1152:  while (__beg != __end)
1152:    {
1152:      if (__len == __capacity)
1152:        {
1152: 
1152:   __capacity = __len + 1;
1152:   pointer __another = _M_create(__capacity, __len);
1152:   this->_S_copy(__another, _M_data(), __len);
1152:   _M_dispose();
1152:   _M_data(__another);
1152:   _M_capacity(__capacity);
1152:        }
1152:      traits_type::assign(_M_data()[__len++], *__beg);
1152:      ++__beg;
1152:    }
1152: 
1152:  __guard._M_guarded = 0;
1152: 
1152:  _M_set_length(__len);
1152:       }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     template<typename _InIterator>
1152:      
1152:       void
1152:       basic_string<_CharT, _Traits, _Alloc>::
1152:       _M_construct(_InIterator __beg, _InIterator __end,
1152:      std::forward_iterator_tag)
1152:       {
1152:  size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
1152: 
1152:  if (__dnew > size_type(_S_local_capacity))
1152:    {
1152:      _M_data(_M_create(__dnew, size_type(0)));
1152:      _M_capacity(__dnew);
1152:    }
1152:  else
1152:    _M_use_local_data();
1152: 
1152: 
1152:  struct _Guard
1152:  {
1152:   
1152:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1152: 
1152:   
1152:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1152: 
1152:    basic_string* _M_guarded;
1152:  } __guard(this);
1152: 
1152:  this->_S_copy_chars(_M_data(), __beg, __end);
1152: 
1152:  __guard._M_guarded = 0;
1152: 
1152:  _M_set_length(__dnew);
1152:       }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_construct(size_type __n, _CharT __c)
1152:     {
1152:       if (__n > size_type(_S_local_capacity))
1152:  {
1152:    _M_data(_M_create(__n, size_type(0)));
1152:    _M_capacity(__n);
1152:  }
1152:       else
1152:  _M_use_local_data();
1152: 
1152:       if (__n)
1152:  this->_S_assign(_M_data(), __n, __c);
1152: 
1152:       _M_set_length(__n);
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_assign(const basic_string& __str)
1152:     {
1152:       if (this != std::__addressof(__str))
1152:  {
1152:    const size_type __rsize = __str.length();
1152:    const size_type __capacity = capacity();
1152: 
1152:    if (__rsize > __capacity)
1152:      {
1152:        size_type __new_capacity = __rsize;
1152:        pointer __tmp = _M_create(__new_capacity, __capacity);
1152:        _M_dispose();
1152:        _M_data(__tmp);
1152:        _M_capacity(__new_capacity);
1152:      }
1152: 
1152:    if (__rsize)
1152:      this->_S_copy(_M_data(), __str._M_data(), __rsize);
1152: 
1152:    _M_set_length(__rsize);
1152:  }
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     reserve(size_type __res)
1152:     {
1152:       const size_type __capacity = capacity();
1152: 
1152: 
1152: 
1152: 
1152:       if (__res <= __capacity)
1152:  return;
1152: 
1152:       pointer __tmp = _M_create(__res, __capacity);
1152:       this->_S_copy(__tmp, _M_data(), length() + 1);
1152:       _M_dispose();
1152:       _M_data(__tmp);
1152:       _M_capacity(__res);
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_mutate(size_type __pos, size_type __len1, const _Chs.h" 3
1115: # 1 "/usr/include/features.h" 1 3 4
1115: # 392 "/usr/include/features.h" 3 4
1115: # 1 "/usr/include/features-time64.h" 1 3 4
1115: # 20 "/usr/include/features-time64.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 21 "/usr/include/features-time64.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1115: # 22 "/usr/include/features-time64.h" 2 3 4
1115: # 393 "/usr/include/features.h" 2 3 4
1115: # 489 "/usr/include/features.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 1 3 4
1115: # 559 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 560 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1115: # 561 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1115: # 490 "/usr/include/features.h" 2 3 4
1115: # 513 "/usr/include/features.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 1 3 4
1115: # 10 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h" 1 3 4
1115: # 11 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 2 3 4
1115: # 514 "/usr/include/features.h" 2 3 4
1115: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 2 3
1115: # 656 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/cpu_defines.h" 1 3
1115: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1115: # 841 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1115: # 1 "/usr/include/c++/12/pstl/pstl_config.h" 1 3
1115: # 842 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1115: # 60 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/functexcept.h" 1 3
1115: # 40 "/usr/include/c++/12/bits/functexcept.h" 3
1115: # 1 "/usr/include/c++/12/bits/exception_defines.h" 1 3
1115: # 41 "/usr/include/c++/12/bits/functexcept.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   void
1115:   __throw_bad_exception(void) __attribute__((__noreturn__));
1115: 
1115: 
1115:   void
1115:   __throw_bad_alloc(void) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_bad_array_new_length(void) __attribute__((__noreturn__));
1115: 
1115: 
1115:   void
1115:   __throw_bad_cast(void) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_bad_typeid(void) __attribute__((__noreturn__));
1115: 
1115: 
1115:   void
1115:   __throw_logic_error(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_domain_error(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_length_error(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_out_of_range(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
1115:     __attribute__((__format__(__gnu_printf__, 1, 2)));
1115: 
1115:   void
1115:   __throw_runtime_error(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_range_error(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_overflow_error(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_underflow_error(const char*) __attribute__((__noreturn__));
1115: 
1115: 
1115:   void
1115:   __throw_ios_failure(const char*) __attribute__((__noreturn__));
1115: 
1115:   void
1115:   __throw_ios_failure(const char*, int) __attribute__((__noreturn__));
1115: 
1115: 
1115:   void
1115:   __throw_system_error(int) __attribute__((__noreturn__));
1115: 
1115: 
1115:   void
1115:   __throw_future_error(int) __attribute__((__noreturn__));
1115: 
1115: 
1115:   void
1115:   __throw_bad_function_call() __attribute__h" 1 3
609: # 46 "/usr/include/c++/12/bits/ptr_traits.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   class __undefined;
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __get_first_arg
609:     { using type = __undefined; };
609: 
609:   template<template<typename, typename...> class _SomeTemplate, typename _Tp,
609:            typename... _Types>
609:     struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
609:     { using type = _Tp; };
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     struct __replace_first_arg
609:     { };
609: 
609:   template<template<typename, typename...> class _SomeTemplate, typename _Up,
609:            typename _Tp, typename... _Types>
609:     struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
609:     { using type = _SomeTemplate<_Up, _Types...>; };
609: # 81 "/usr/include/c++/12/bits/ptr_traits.h" 3
609:   template<typename _Ptr, typename = void>
609:     struct __ptr_traits_elem : __get_first_arg<_Ptr>
609:     { };
609: 
609: 
609:   template<typename _Ptr>
609:     struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
609:     { using type = typename _Ptr::element_type; };
609: 
609:   template<typename _Ptr>
609:     using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
609: 
609: 
609: 
609:   template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
609:     struct __ptr_traits_ptr_to
609:     {
609:       using pointer = _Ptr;
609:       using element_type = _Elt;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       static pointer
609:       pointer_to(element_type& __e)
609: 
609: 
609: 
609: 
609: 
609:       { return pointer::pointer_to(__e); }
609:     };
609: 
609: 
609:   template<typename _Ptr, typename _Elt>
609:     struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
609:     {
609:       using pointer = _Tp*;
609:       using element_type = _Tp;
609: 
609: 
609: 
609: 
609: 
609: 
609:       static pointer
609:       pointer_to(element_type& __r) noexcept
609:       { return std::addressof(__r); }
609:     };
609: 
609:   template<typename _Ptr, typename _Elt>
609:     struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
609:     {
609:     private:
609:       template<typename _Tp, typename = void>
609:  struct __difference { using type = ptrdiff_t; };
609: 
609:       template<typename _Tp>
609: 
609: 
609: 
609: 
609:  struct __difference<_Tp, __void_t<typename _Tp::difference_type>>
609: 
609:  { using type = typename _Tp::difference_type; };
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __rebind : __replace_first_arg<_Tp, _Up> { };
609: 
609:       template<typename _Tp, typename _Up>
609: 
609: 
609: 
609: 
609:  struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>>
609: 
609:  { using type = typename _Tp::template rebind<_Up>; };
609: 
609:     public:
609: 
609:       using pointer = _Ptr;
609: 
609: 
609:       using element_type = _Elt;
609: 
609: 
609:       using difference_type = typename __difference<_Ptr>::type;
609: 
609: 
609:       template<typename _Up>
609:         using rebind = typename __rebind<_Ptr, _Up>::type;
609:     };
609: 
609: 
609: 
609:   template<typename _Ptr>
609:     struct __ptr_traits_impl<_Ptr, __undefined>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Ptr>
609:     struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
609:     { };
609: # 209 "/usr/include/c++/12/bits/ptr_traits.h" 3
609:   template<typename _Tp>
609:     struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
609:     {
609: 
609:       typedef _Tp* pointer;
609: 
609:       typedef _Tp element_type;
609: 
609:       typedef ptrdiff_t difference_type;
609: 
609:       template<typename _Up> using rebind = _Up*;
609:     };
609: 
609: 
609:   template<typename _Ptr, typename _Tp>
609:     using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
609: 
609:   template<typename _Tp>
609:     constexpr _Tp*
609:     __to_address(_Tp* __ptr) noexcept
609:     {
609:       static_assert(!std::is_function<_Tp>::value, "not a function pointer");
609:       return __ptr;
609:     }
609: 
609: 
609:   template<typename _Ptr>
609:     constexpr typename std::pointer_traits<_Ptr>::element_type*
609:     __to_address(const _Ptr& __ptr)
609:     { return std::__to_address(__ptr.operator->()); }
609: # 282 "/usr/include/c++/12/bits/ptr_traits.h" 3
609: 
609: }
609: # 68 "/usr/include/c++/12/bits/stl_iterator.h" 2 3
609: # 88 "/usr/include/c++/12/bits/stl_iterator.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 109 "/usr/include/c++/12/bits/stl_iterator.h" 3
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: # 131 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Iterator>
609:     class reverse_iterator
609:     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
609:         typename iterator_traits<_Iterator>::value_type,
609:         typename iterator_traits<_Iterator>::difference_type,
609:         typename iterator_traits<_Iterator>::pointer,
609:                       typename iterator_traits<_Iterator>::reference>
609:     {
609:       template<typename _Iter>
609:  friend class reverse_iterator;
609: # 150 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:     protected:
609:       _Iterator current;
609: 
609:       typedef iterator_traits<_Iterator> __traits_type;
609: 
609:     public:
609:       typedef _Iterator iterator_type;
609:       typedef typename __traits_type::pointer pointer;
609: 
609:       typedef typename __traits_type::difference_type difference_type;
609:       typedef typename __traits_type::reference reference;
609: # 181 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:       constexpr
609:       reverse_iterator()
609:       noexcept(noexcept(_Iterator()))
609:       : current()
609:       { }
609: 
609: 
609: 
609: 
609:       explicit constexpr
609:       reverse_iterator(iterator_type __x)
609:       noexcept(noexcept(_Iterator(__x)))
609:       : current(__x)
609:       { }
609: 
609: 
609: 
609: 
609:       constexpr
609:       reverse_iterator(const reverse_iterator& __x)
609:       noexcept(noexcept(_Iterator(__x.current)))
609:       : current(__x.current)
609:       { }
609: 
609: 
609:       reverse_iterator& operator=(const reverse_iterator&) = default;
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Iter>
609: 
609: 
609: 
609:  constexpr
609:         reverse_iterator(const reverse_iterator<_Iter>& __x)
609:  noexcept(noexcept(_Iterator(__x.current)))
609:  : current(__x.current)
609:  { }
609: 
609: 
609:       template<typename _Iter>
609: 
609: 
609: 
609: 
609:  constexpr
609:  reverse_iterator&
609:  operator=(const reverse_iterator<_Iter>& __x)
609:  noexcept(noexcept(current = __x.current))
609:  {
609:    current = __x.current;
609:    return *this;
609:  }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr iterator_type
609:       base() const
609:       noexcept(noexcept(_Iterator(current)))
609:       { return current; }
609: # 258 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:       [[__nodiscard__]]
609:       constexpr reference
609:       operator*() const
609:       {
609:  _Iterator __tmp = current;
609:  return *--__tmp;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr pointer
609:       operator->() const
609: 
609: 
609: 
609: 
609:       {
609: 
609: 
609:  _Iterator __tmp = current;
609:  --__tmp;
609:  return _S_to_pointer(__tmp);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       constexpr reverse_iterator&
609:       operator++()
609:       {
609:  --current;
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       constexpr reverse_iterator
609:       operator++(int)
609:       {
609:  reverse_iteratoarT* __s,
1152:        size_type __len2)
1152:     {
1152:       const size_type __how_much = length() - __pos - __len1;
1152: 
1152:       size_type __new_capacity = length() + __len2 - __len1;
1152:       pointer __r = _M_create(__new_capacity, capacity());
1152: 
1152:       if (__pos)
1152:  this->_S_copy(__r, _M_data(), __pos);
1152:       if (__s && __len2)
1152:  this->_S_copy(__r + __pos, __s, __len2);
1152:       if (__how_much)
1152:  this->_S_copy(__r + __pos + __len2,
1152:         _M_data() + __pos + __len1, __how_much);
1152: 
1152:       _M_dispose();
1152:       _M_data(__r);
1152:       _M_capacity(__new_capacity);
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_erase(size_type __pos, size_type __n)
1152:     {
1152:       const size_type __how_much = length() - __pos - __n;
1152: 
1152:       if (__how_much && __n)
1152:  this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
1152: 
1152:       _M_set_length(length() - __n);
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     reserve()
1152:     {
1152:       if (_M_is_local())
1152:  return;
1152: 
1152:       const size_type __length = length();
1152:       const size_type __capacity = _M_allocated_capacity;
1152: 
1152:       if (__length <= size_type(_S_local_capacity))
1152:  {
1152:    this->_S_copy(_M_use_local_data(), _M_data(), __length + 1);
1152:    _M_destroy(__capacity);
1152:    _M_data(_M_local_data());
1152:  }
1152: 
1152:       else if (__length < __capacity)
1152:  try
1152:    {
1152:      pointer __tmp
1152:        = _Alloc_traits::allocate(_M_get_allocator(), __length + 1);
1152:      this->_S_copy(__tmp, _M_data(), __length + 1);
1152:      _M_dispose();
1152:      _M_data(__tmp);
1152:      _M_capacity(__length);
1152:    }
1152:  catch (const __cxxabiv1::__forced_unwind&)
1152:    { throw; }
1152:  catch (...)
1152:    { }
1152: 
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     void
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     resize(size_type __n, _CharT __c)
1152:     {
1152:       const size_type __size = this->size();
1152:       if (__size < __n)
1152:  this->append(__n - __size, __c);
1152:       else if (__n < __size)
1152:  this->_M_set_length(__n);
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT, _Traits, _Alloc>&
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_append(const _CharT* __s, size_type __n)
1152:     {
1152:       const size_type __len = __n + this->size();
1152: 
1152:       if (__len <= this->capacity())
1152:  {
1152:    if (__n)
1152:      this->_S_copy(this->_M_data() + this->size(), __s, __n);
1152:  }
1152:       else
1152:  this->_M_mutate(this->size(), size_type(0), __s, __n);
1152: 
1152:       this->_M_set_length(__len);
1152:       return *this;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     template<typename _InputIterator>
1152:      
1152:       basic_string<_CharT, _Traits, _Alloc>&
1152:       basic_string<_CharT, _Traits, _Alloc>::
1152:       _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1152:      _InputIterator __k1, _InputIterator __k2,
1152:      std::__false_type)
1152:       {
1152: 
1152: 
1152:  const basic_string __s(__k1, __k2, this->get_allocator());
1152:  const size_type __n1 = __i2 - __i1;
1152:  return _M_replace(__i1 - begin(), __n1, __s._M_data(),
1152:      __s.size());
1152:       }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT, _Traits, _Alloc>&
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1152:      _CharT __c)
1152:     {
1152:   ((__noreturn__));
1115: 
1115: 
1115: }
1115: # 61 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/cpp_type_traits.h" 1 3
1115: # 35 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1115:        
1115: # 36 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1115: # 67 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1115: extern "C++" {
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   struct __true_type { };
1115:   struct __false_type { };
1115: 
1115:   template<bool>
1115:     struct __truth_type
1115:     { typedef __false_type __type; };
1115: 
1115:   template<>
1115:     struct __truth_type<true>
1115:     { typedef __true_type __type; };
1115: 
1115: 
1115: 
1115:   template<class _Sp, class _Tp>
1115:     struct __traitor
1115:     {
1115:       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
1115:       typedef typename __truth_type<__value>::__type __type;
1115:     };
1115: 
1115: 
1115:   template<typename, typename>
1115:     struct __are_same
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __are_same<_Tp, _Tp>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_void
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_void<void>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_integer
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct __is_integer<bool>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<char>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<signed char>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<unsigned char>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __is_integer<wchar_t>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: # 184 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1115:   template<>
1115:     struct __is_integer<char16_t>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<char32_t>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __is_integer<short>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<unsigned short>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<int>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<unsigned int>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<long>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<unsigned long>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<long long>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_integer<unsigned long long>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: # 289 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1115:   template<typename _Tp>
1115:     struct __is_floating
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __is_floating<float>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_floating<double>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_floating<long double>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_pointer
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_pointer<_Tp*>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_arithmetic
1115:     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_scalar
1115:     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_char
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_char<char>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __is_char<wchar_t>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_byte
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_byte<char>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_byte<signed char>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __is_byte<unsigned char>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115: 
1115:   enum class byte : unsigned char;
1115: 
1115:   template<>
1115:     struct __is_byte<byte>
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: # 425 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1115:   template<typename> struct iterator_traits;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nonvolatile_trivially_copyable
1115:     {
1115:       enum { __value = __is_trivially_copyable(_Tp) };
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nonvolatile_trivially_copyable<volatile _Tp>
1115:     {
1115:       enum { __value = 0 };
1115:     };
1115: 
1115: 
1115:   template<typename _OutputIter, typename _InputIter>
1115:     struct __memcpyable
1115:     {
1115:       enum { __value = 0 };
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __memcpyable<_Tp*, _Tp*>
1115:     : __is_nonvolatile_trivially_copyable<_Tp>
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __memcpyable<_Tp*, const _Tp*>
1115:     : __is_nonvolatile_trivially_copyable<_Tp>
    _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
1152: 
1152:       const size_type __old_size = this->size();
1152:       const size_type __new_size = __old_size + __n2 - __n1;
1152: 
1152:       if (__new_size <= this->capacity())
1152:  {
1152:    pointer __p = this->_M_data() + __pos1;
1152: 
1152:    const size_type __how_much = __old_size - __pos1 - __n1;
1152:    if (__how_much && __n1 != __n2)
1152:      this->_S_move(__p + __n2, __p + __n1, __how_much);
1152:  }
1152:       else
1152:  this->_M_mutate(__pos1, __n1, 0, __n2);
1152: 
1152:       if (__n2)
1152:  this->_S_assign(this->_M_data() + __pos1, __n2, __c);
1152: 
1152:       this->_M_set_length(__new_size);
1152:       return *this;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT, _Traits, _Alloc>&
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1152:         const size_type __len2)
1152:     {
1152:       _M_check_length(__len1, __len2, "basic_string::_M_replace");
1152: 
1152:       const size_type __old_size = this->size();
1152:       const size_type __new_size = __old_size + __len2 - __len1;
1152: 
1152:       if (__new_size <= this->capacity())
1152:  {
1152:    pointer __p = this->_M_data() + __pos;
1152: 
1152:    const size_type __how_much = __old_size - __pos - __len1;
1152: # 503 "/usr/include/c++/12/bits/basic_string.tcc" 3
1152:    if (_M_disjunct(__s))
1152:      {
1152:        if (__how_much && __len1 != __len2)
1152:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1152:        if (__len2)
1152:   this->_S_copy(__p, __s, __len2);
1152:      }
1152:    else
1152:      {
1152: 
1152:        if (__len2 && __len2 <= __len1)
1152:   this->_S_move(__p, __s, __len2);
1152:        if (__how_much && __len1 != __len2)
1152:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1152:        if (__len2 > __len1)
1152:   {
1152:     if (__s + __len2 <= __p + __len1)
1152:       this->_S_move(__p, __s, __len2);
1152:     else if (__s >= __p + __len1)
1152:       {
1152: 
1152: 
1152:         const size_type __poff = (__s - __p) + (__len2 - __len1);
1152:         this->_S_copy(__p, __p + __poff, __len2);
1152:       }
1152:     else
1152:       {
1152:         const size_type __nleft = (__p + __len1) - __s;
1152:         this->_S_move(__p, __s, __nleft);
1152:         this->_S_copy(__p + __nleft, __p + __len2,
1152:         __len2 - __nleft);
1152:       }
1152:   }
1152:      }
1152:  }
1152:       else
1152:  this->_M_mutate(__pos, __len1, __s, __len2);
1152: 
1152:       this->_M_set_length(__new_size);
1152:       return *this;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     copy(_CharT* __s, size_type __n, size_type __pos) const
1152:     {
1152:       _M_check(__pos, "basic_string::copy");
1152:       __n = _M_limit(__pos, __n);
1152:       ;
1152:       if (__n)
1152:  _S_copy(__s, _M_data() + __pos, __n);
1152: 
1152:       return __n;
1152:     }
1152: # 603 "/usr/include/c++/12/bits/basic_string.tcc" 3
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(const _CharT* __lhs,
1152:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     {
1152:       ;
1152:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1152:       typedef typename __string_type::size_type __size_type;
1152:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1152:  rebind<_CharT>::other _Char_alloc_type;
1152:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1152:       const __size_type __len = _Traits::length(__lhs);
1152:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1152:           __rhs.get_allocator()));
1152:       __str.reserve(__len + __rhs.size());
1152:       __str.append(__lhs, __len);
1152:       __str.append(__rhs);
1152:       return __str;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     basic_string<_CharT, _Traits, _Alloc>
1152:     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1152:     {
1152:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1152:       typedef typename __string_type::size_type __size_type;
1152:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1152:  rebind<_CharT>::other _Char_alloc_type;
1152:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1152:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1152:           __rhs.get_allocator()));
1152:       const __size_type __len = __rhs.size();
1152:       __str.reserve(__len + 1);
1152:       __str.append(__size_type(1), __lhs);
1152:       __str.append(__rhs);
1152:       return __str;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find(const _CharT* __s, size_type __pos, size_type __n) const
1152:     noexcept
1152:     {
1152:       ;
1152:       const size_type __size = this->size();
1152: 
1152:       if (__n == 0)
1152:  return __pos <= __size ? __pos : npos;
1152:       if (__pos >= __size)
1152:  return npos;
1152: 
1152:       const _CharT __elem0 = __s[0];
1152:       const _CharT* const __data = data();
1152:       const _CharT* __first = __data + __pos;
1152:       const _CharT* const __last = __data + __size;
1152:       size_type __len = __size - __pos;
1152: 
1152:       while (__len >= __n)
1152:  {
1152: 
1152:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1152:    if (!__first)
1152:      return npos;
1152: 
1152: 
1152: 
1152:    if (traits_type::compare(__first, __s, __n) == 0)
1152:      return __first - __data;
1152:    __len = __last - ++__first;
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       size_type __ret = npos;
1152:       const size_type __size = this->size();
1152:       if (__pos < __size)
1152:  {
1152:    const _CharT* __data = _M_data();
1152:    const size_type __n = __size - __pos;
1152:    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
1152:    if (__p)
1152:      __ret = __p - __data;
1152:  }
1152:       return __ret;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     rfind(const _CharT* __s, size_type __pos, size_type __n) const
1152:     noexcept
1152:     {
1152:       ;
1152:       const size_type __size = this->size();
1152:       if (__n <= __size)
1152:  {
1152:    __pos = std::min(size_type(__size - __n), __pos);
1152:    const _CharT* __data = _M_data();
1152:    do
1152:      {
1152:        if (traits_type::compare(__data + __pos, __s, __n) == 0)
1152:   return __pos;
1152:      }
1152:    while (__pos-- > 0);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     rfind(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       size_type __size = this->size();
1152:       if (__size)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    for (++__size; __size-- > 0; )
1152:      if (traits_type::eq(_M_data()[__size], __c))
1152:        return __size;
1152:  }
1152:       return1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Iter1, typename _Iter2>
1115:     struct __memcmpable
1115:     {
1115:       enum { __value = 0 };
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __memcmpable<_Tp*, _Tp*>
1115:     : __is_nonvolatile_trivially_copyable<_Tp>
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __memcmpable<const _Tp*, _Tp*>
1115:     : __is_nonvolatile_trivially_copyable<_Tp>
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __memcmpable<_Tp*, const _Tp*>
1115:     : __is_nonvolatile_trivially_copyable<_Tp>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, bool _TreatAsBytes =
1115: 
1115: 
1115: 
1115:  __is_byte<_Tp>::__value
1115: 
1115:     >
1115:     struct __is_memcmp_ordered
1115:     {
1115:       static const bool __value = _Tp(-1) > _Tp(1);
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_memcmp_ordered<_Tp, false>
1115:     {
1115:       static const bool __value = false;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
1115:     struct __is_memcmp_ordered_with
1115:     {
1115:       static const bool __value = __is_memcmp_ordered<_Tp>::__value
1115:  && __is_memcmp_ordered<_Up>::__value;
1115:     };
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct __is_memcmp_ordered_with<_Tp, _Up, false>
1115:     {
1115:       static const bool __value = false;
1115:     };
1115: # 534 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1115:   template<>
1115:     struct __is_memcmp_ordered_with<std::byte, std::byte, true>
1115:     { static constexpr bool __value = true; };
1115: 
1115:   template<typename _Tp, bool _SameSize>
1115:     struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
1115:     { static constexpr bool __value = false; };
1115: 
1115:   template<typename _Up, bool _SameSize>
1115:     struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
1115:     { static constexpr bool __value = false; };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_move_iterator
1115:     {
1115:       enum { __value = 0 };
1115:       typedef __false_type __type;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Iterator>
1115:    
1115:     inline _Iterator
1115:     __miter_base(_Iterator __it)
1115:     { return __it; }
1115: 
1115: 
1115: }
1115: }
1115: # 62 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/ext/type_traits.h" 1 3
1115: # 32 "/usr/include/c++/12/ext/type_traits.h" 3
1115:        
1115: # 33 "/usr/include/c++/12/ext/type_traits.h" 3
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" {
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<bool, typename>
1115:     struct __enable_if
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __enable_if<true, _Tp>
1115:     { typedef _Tp __type; };
1115: 
1115: 
1115: 
1115:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1115:     struct __conditional_type
1115:     { typedef _Iftrue __type; };
1115: 
1115:   template<typename _Iftrue, typename _Iffalse>
1115:     struct __conditional_type<false, _Iftrue, _Iffalse>
1115:     { typedef _Iffalse __type; };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __add_unsigned
1115:     {
1115:     private:
1115:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1115: 
1115:     public:
1115:       typedef typename __if_type::__type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __add_unsigned<char>
1115:     { typedef unsigned char __type; };
1115: 
1115:   template<>
1115:     struct __add_unsigned<signed char>
1115:     { typedef unsigned char __type; };
1115: 
1115:   template<>
1115:     struct __add_unsigned<short>
1115:     { typedef unsigned short __type; };
1115: 
1115:   template<>
1115:     struct __adr __tmp = *this;
609:  --current;
609:  return __tmp;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       constexpr reverse_iterator&
609:       operator--()
609:       {
609:  ++current;
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       constexpr reverse_iterator
609:       operator--(int)
609:       {
609:  reverse_iterator __tmp = *this;
609:  ++current;
609:  return __tmp;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr reverse_iterator
609:       operator+(difference_type __n) const
609:       { return reverse_iterator(current - __n); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       constexpr reverse_iterator&
609:       operator+=(difference_type __n)
609:       {
609:  current -= __n;
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr reverse_iterator
609:       operator-(difference_type __n) const
609:       { return reverse_iterator(current + __n); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       constexpr reverse_iterator&
609:       operator-=(difference_type __n)
609:       {
609:  current += __n;
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr reference
609:       operator[](difference_type __n) const
609:       { return *(*this + __n); }
609: # 418 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:     private:
609:       template<typename _Tp>
609:  static constexpr _Tp*
609:  _S_to_pointer(_Tp* __p)
609:         { return __p; }
609: 
609:       template<typename _Tp>
609:  static constexpr pointer
609:  _S_to_pointer(_Tp __t)
609:         { return __t.operator->(); }
609:     };
609: # 441 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator==(const reverse_iterator<_Iterator>& __x,
609:         const reverse_iterator<_Iterator>& __y)
609:     { return __x.base() == __y.base(); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator<(const reverse_iterator<_Iterator>& __x,
609:        const reverse_iterator<_Iterator>& __y)
609:     { return __y.base() < __x.base(); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator!=(const reverse_iterator<_Iterator>& __x,
609:         const reverse_iterator<_Iterator>& __y)
609:     { return !(__x == __y); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>(const reverse_iterator<_Iterator>& __x,
609:        const reverse_iterator<_Iterator>& __y)
609:     { return __y < __x; }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator<=(const reverse_iterator<_Iterator>& __x,
609:         const reverse_iterator<_Iterator>& __y)
609:     { return !(__y < __x); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>=(const reverse_iterator<_Iterator>& __x,
609:         const reverse_iterator<_Iterator>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609: 
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator==(const reverse_iterator<_IteratorL>& __x,
609:         const reverse_iterator<_IteratorR>& __y)
609:     { return __x.base() == __y.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator<(const reverse_iterator<_IteratorL>& __x,
609:        const reverse_iterator<_IteratorR>& __y)
609:     { return __x.base() > __y.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator!=(const reverse_iterator<_IteratorL>& __x,
609:         const reverse_iterator<_IteratorR>& __y)
609:     { return __x.base() != __y.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>(const reverse_iterator<_IteratorL>& __x,
609:        const reverse_iterator<_IteratorR>& __y)
609:     { return __x.base() < __y.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     inline constexpr bool
609:     operator<=(const reverse_iterator<_IteratorL>& __x,
609:         const reverse_iterator<_IteratorR>& __y)
609:     { return __x.base() >= __y.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>=(const reverse_iterator<_IteratorL>& __x,
609:         const reverse_iterator<_IteratorR>& __y)
609:     { return __x.base() <= __y.base(); }
609: # 618 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     operator-(const reverse_iterator<_IteratorL>& __x,
609:        const reverse_iterator<_IteratorR>& __y)
609:     -> decltype(__y.base() - __x.base())
609:     { return __y.base() - __x.base(); }
609: 
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr reverse_iterator<_Iterator>
609:     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
609:        const reverse_iterator<_Iterator>& __x)
609:     { return reverse_iterator<_Iterator>(__x.base() - __n); }
609: 
609: 
609: 
609:   template<typename _Iterator>
609:     inline constexpr reverse_iterator<_Iterator>
609:     __make_reverse_iterator(_Iterator __i)
609:     { return reverse_iterator<_Iterator>(__i); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr reverse_iterator<_Iterator>
609:     make_reverse_iterator(_Iterator __i)
609:     { return reverse_iterator<_Iterator>(__i); }
609: # 662 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Iterator>
609:    
609:     auto
609:     __niter_base(reverse_iterator<_Iterator> __it)
609:     -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
609:     { return __make_reverse_iterator(__niter_base(__it.base())); }
609: 
609:   template<typename _Iterator>
609:     struct __is_move_iterator<reverse_iterator<_Iterator> >
609:       : __is_move_iterator<_Iterator>
609:     { };
609: 
609:   template<typename _Iterator>
609:    
609:     auto
609:     __miter_base(reverse_iterator<_Iterator> __it)
609:     -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
609:     { return __make_reverse_iterator(__miter_base(__it.base())); }
609: # 693 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Container>
609:     class back_insert_iterator
609:     : public iterator<output_iterator_tag, void, void, void, void>
609:     {
609:     protected:
609:       _Container* container;
609: 
609:     public:
609: 
609:       typedef _Container container_type;
609: 
609: 
609: 
609: 
609: 
609:       explicit
609:       back_insert_iterator(_Container& __x)
609:       : container(std::__addressof(__x)) { }
609: # 731 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:      
609:       back_insert_iterator&
609:       operator=(const typename _Container::value_type& __value)
609:       {
609:  container->push_back(__value);
609:  return *this;
609:       }
609: 
609:      
609:       back_insert_iterator&
609:       operator=(typename _Container::value_type&& __value)
609:       {
609:  container->push_back(std::move(__value));
609:  return *this;
609:       }
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       back_insert_iterator&
609:       operator*()
609:       { return *this; }
609: 
609: 
609:      
609:       back_insert_iterator&
609:       operator++()
609:       { return *this; }
609: 
609: 
609:      
609:       back_insert_iterator
609:       operator++(int)
609:       { retud_unsigned<int>
1115:     { typedef unsigned int __type; };
1115: 
1115:   template<>
1115:     struct __add_unsigned<long>
1115:     { typedef unsigned long __type; };
1115: 
1115:   template<>
1115:     struct __add_unsigned<long long>
1115:     { typedef unsigned long long __type; };
1115: 
1115: 
1115:   template<>
1115:     struct __add_unsigned<bool>;
1115: 
1115:   template<>
1115:     struct __add_unsigned<wchar_t>;
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __remove_unsigned
1115:     {
1115:     private:
1115:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1115: 
1115:     public:
1115:       typedef typename __if_type::__type __type;
1115:     };
1115: 
1115:   template<>
1115:     struct __remove_unsigned<char>
1115:     { typedef signed char __type; };
1115: 
1115:   template<>
1115:     struct __remove_unsigned<unsigned char>
1115:     { typedef signed char __type; };
1115: 
1115:   template<>
1115:     struct __remove_unsigned<unsigned short>
1115:     { typedef short __type; };
1115: 
1115:   template<>
1115:     struct __remove_unsigned<unsigned int>
1115:     { typedef int __type; };
1115: 
1115:   template<>
1115:     struct __remove_unsigned<unsigned long>
1115:     { typedef long __type; };
1115: 
1115:   template<>
1115:     struct __remove_unsigned<unsigned long long>
1115:     { typedef long long __type; };
1115: 
1115: 
1115:   template<>
1115:     struct __remove_unsigned<bool>;
1115: 
1115:   template<>
1115:     struct __remove_unsigned<wchar_t>;
1115: 
1115: 
1115: 
1115:   template<typename _Type>
1115:     constexpr
1115:     inline bool
1115:     __is_null_pointer(_Type* __ptr)
1115:     { return __ptr == 0; }
1115: 
1115:   template<typename _Type>
1115:     constexpr
1115:     inline bool
1115:     __is_null_pointer(_Type)
1115:     { return false; }
1115: 
1115: 
1115:   constexpr bool
1115:   __is_null_pointer(std::nullptr_t)
1115:   { return true; }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
1115:     struct __promote
1115:     { typedef double __type; };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __promote<_Tp, false>
1115:     { };
1115: 
1115:   template<>
1115:     struct __promote<long double>
1115:     { typedef long double __type; };
1115: 
1115:   template<>
1115:     struct __promote<double>
1115:     { typedef double __type; };
1115: 
1115:   template<>
1115:     struct __promote<float>
1115:     { typedef float __type; };
1115: 
1115: 
1115: 
1115:   template<typename... _Tp>
1115:     using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
1115: 
1115:   template<typename _Tp, typename _Up, typename _Vp>
1115:     using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
1115: 
1115:   template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
1115:     using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
1115: # 239 "/usr/include/c++/12/ext/type_traits.h" 3
1115: 
1115: }
1115: }
1115: # 63 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/ext/numeric_traits.h" 1 3
1115: # 32 "/usr/include/c++/12/ext/numeric_traits.h" 3
1115:        
1115: # 33 "/usr/include/c++/12/ext/numeric_traits.h" 3
1115: 
1115: 
1115: 
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 50 "/usr/include/c++/12/ext/numeric_traits.h" 3
1115:   template<typename _Tp>
1115:     struct __is_integer_nonstrict
1115:     : public std::__is_integer<_Tp>
1115:     {
1115:       using std::__is_integer<_Tp>::__value;
1115: 
1115: 
1115:       enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
1115:     };
1115: 
1115:   template<typename _Value>
1115:     struct __numeric_traits_integer
1115:     {
1115: 
1115:       static_assert(__is_integer_nonstrict<_Value>::__value,
1115:       "invalid specialization");
1115: 
1115: 
1115: npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1152:     noexcept
1152:     {
1152:       ;
1152:       for (; __n && __pos < this->size(); ++__pos)
1152:  {
1152:    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
1152:    if (__p)
1152:      return __pos;
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1152:     noexcept
1152:     {
1152:       ;
1152:       size_type __size = this->size();
1152:       if (__size && __n)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    do
1152:      {
1152:        if (traits_type::find(__s, __n, _M_data()[__size]))
1152:   return __size;
1152:      }
1152:    while (__size-- != 0);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1152:     noexcept
1152:     {
1152:       ;
1152:       for (; __pos < this->size(); ++__pos)
1152:  if (!traits_type::find(__s, __n, _M_data()[__pos]))
1152:    return __pos;
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       for (; __pos < this->size(); ++__pos)
1152:  if (!traits_type::eq(_M_data()[__pos], __c))
1152:    return __pos;
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1152:     noexcept
1152:     {
1152:       ;
1152:       size_type __size = this->size();
1152:       if (__size)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    do
1152:      {
1152:        if (!traits_type::find(__s, __n, _M_data()[__size]))
1152:   return __size;
1152:      }
1152:    while (__size--);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1152:     {
1152:       size_type __size = this->size();
1152:       if (__size)
1152:  {
1152:    if (--__size > __pos)
1152:      __size = __pos;
1152:    do
1152:      {
1152:        if (!traits_type::eq(_M_data()[__size], __c))
1152:   return __size;
1152:      }
1152:    while (__size--);
1152:  }
1152:       return npos;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     int
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     compare(size_type __pos, size_type __n, const basic_string& __str) const
1152:     {
1152:       _M_check(__pos, "basic_string::compare");
1152:       __n = _M_limit(__pos, __n);
1152:       const size_type __osize = __str.size();
1152:       const size_type __len = std::min(__n, __osize);
1152:       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
1152:       if (!__r)
1152:  __r = _S_compare(__n, __osize);
1152:  
1115: 
1115:       static const bool __is_signed = (_Value)(-1) < 0;
1115:       static const int __digits
1115:  = __is_integer_nonstrict<_Value>::__width - __is_signed;
1115: 
1115: 
1115:       static const _Value __max = __is_signed
1115:  ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
1115:  : ~(_Value)0;
1115:       static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
1115:     };
1115: 
1115:   template<typename _Value>
1115:     const _Value __numeric_traits_integer<_Value>::__min;
1115: 
1115:   template<typename _Value>
1115:     const _Value __numeric_traits_integer<_Value>::__max;
1115: 
1115:   template<typename _Value>
1115:     const bool __numeric_traits_integer<_Value>::__is_signed;
1115: 
1115:   template<typename _Value>
1115:     const int __numeric_traits_integer<_Value>::__digits;
1115: # 137 "/usr/include/c++/12/ext/numeric_traits.h" 3
1115:   template<typename _Tp>
1115:     using __int_traits = __numeric_traits_integer<_Tp>;
1115: # 157 "/usr/include/c++/12/ext/numeric_traits.h" 3
1115:   template<typename _Value>
1115:     struct __numeric_traits_floating
1115:     {
1115: 
1115:       static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136);
1115: 
1115: 
1115:       static const bool __is_signed = true;
1115:       static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15);
1115:       static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308);
1115:     };
1115: 
1115:   template<typename _Value>
1115:     const int __numeric_traits_floating<_Value>::__max_digits10;
1115: 
1115:   template<typename _Value>
1115:     const bool __numeric_traits_floating<_Value>::__is_signed;
1115: 
1115:   template<typename _Value>
1115:     const int __numeric_traits_floating<_Value>::__digits10;
1115: 
1115:   template<typename _Value>
1115:     const int __numeric_traits_floating<_Value>::__max_exponent10;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Value>
1115:     struct __numeric_traits
1115:     : public __numeric_traits_integer<_Value>
1115:     { };
1115: 
1115:   template<>
1115:     struct __numeric_traits<float>
1115:     : public __numeric_traits_floating<float>
1115:     { };
1115: 
1115:   template<>
1115:     struct __numeric_traits<double>
1115:     : public __numeric_traits_floating<double>
1115:     { };
1115: 
1115:   template<>
1115:     struct __numeric_traits<long double>
1115:     : public __numeric_traits_floating<long double>
1115:     { };
1115: # 238 "/usr/include/c++/12/ext/numeric_traits.h" 3
1115: 
1115: }
1115: # 64 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_pair.h" 1 3
1115: # 60 "/usr/include/c++/12/bits/stl_pair.h" 3
1115: # 1 "/usr/include/c++/12/type_traits" 1 3
1115: # 32 "/usr/include/c++/12/type_traits" 3
1115:        
1115: # 33 "/usr/include/c++/12/type_traits" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _Tp>
1115:     class reference_wrapper;
1115: # 61 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Tp, _Tp __v>
1115:     struct integral_constant
1115:     {
1115:       static constexpr _Tp value = __v;
1115:       typedef _Tp value_type;
1115:       typedef integral_constant<_Tp, __v> type;
1115:       constexpr operator value_type() const noexcept { return value; }
1115: 
1115: 
1115: 
1115: 
1115:       constexpr value_type operator()() const noexcept { return value; }
1115: 
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   using true_type = integral_constant<bool, true>;
1115: 
1115: 
1115:   using false_type = integral_constant<bool, false>;
1115: 
1115: 
1115: 
1115:   template<bool __v>
1115:     using __bool_constant = integral_constant<bool, __v>;
1115: 
1115: 
1115: 
1115: 
111      return __r;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     int
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     compare(size_type __pos1, size_type __n1, const basic_string& __str,
1152:      size_type __pos2, size_type __n2) const
1152:     {
1152:       _M_check(__pos1, "basic_string::compare");
1152:       __str._M_check(__pos2, "basic_string::compare");
1152:       __n1 = _M_limit(__pos1, __n1);
1152:       __n2 = __str._M_limit(__pos2, __n2);
1152:       const size_type __len = std::min(__n1, __n2);
1152:       int __r = traits_type::compare(_M_data() + __pos1,
1152:          __str.data() + __pos2, __len);
1152:       if (!__r)
1152:  __r = _S_compare(__n1, __n2);
1152:       return __r;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     int
1152:     basic_string<_CharT, _Traits, _Alloc>::
1152:     compare(const _CharT* __s) const noexcept
1152:     {
1152:       ;
1152:       const size_type __size = this->size();
1152:       const size_type __osize = traits_type::length(__s);
1152:       const size_type __len = std::min(__size, __osize);
1152:       int __r = traits_type::compare(_M_data(), __s, __len);
1152:       if (!__r)
1152:  __r = _S_compare(__size, __osize);
1152:       return __r;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     int
1152:     basic_string <_CharT, _Traits, _Alloc>::
1152:     compare(size_type __pos, size_type __n1, const _CharT* __s) const
1152:     {
1152:       ;
1152:       _M_check(__pos, "basic_string::compare");
1152:       __n1 = _M_limit(__pos, __n1);
1152:       const size_type __osize = traits_type::length(__s);
1152:       const size_type __len = std::min(__n1, __osize);
1152:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1152:       if (!__r)
1152:  __r = _S_compare(__n1, __osize);
1152:       return __r;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:    
1152:     int
1152:     basic_string <_CharT, _Traits, _Alloc>::
1152:     compare(size_type __pos, size_type __n1, const _CharT* __s,
1152:      size_type __n2) const
1152:     {
1152:       ;
1152:       _M_check(__pos, "basic_string::compare");
1152:       __n1 = _M_limit(__pos, __n1);
1152:       const size_type __len = std::min(__n1, __n2);
1152:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1152:       if (!__r)
1152:  __r = _S_compare(__n1, __n2);
1152:       return __r;
1152:     }
1152: 
1152: 
1152: 
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     basic_istream<_CharT, _Traits>&
1152:     operator>>(basic_istream<_CharT, _Traits>& __in,
1152:         basic_string<_CharT, _Traits, _Alloc>& __str)
1152:     {
1152:       typedef basic_istream<_CharT, _Traits> __istream_type;
1152:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1152:       typedef typename __istream_type::ios_base __ios_base;
1152:       typedef typename __istream_type::int_type __int_type;
1152:       typedef typename __string_type::size_type __size_type;
1152:       typedef ctype<_CharT> __ctype_type;
1152:       typedef typename __ctype_type::ctype_base __ctype_base;
1152: 
1152:       __size_type __extracted = 0;
1152:       typename __ios_base::iostate __err = __ios_base::goodbit;
1152:       typename __istream_type::sentry __cerb(__in, false);
1152:       if (__cerb)
1152:  {
1152:    try
1152:      {
1152: 
1152:        __str.erase();
1152:        _CharT __buf[128];
1152:        __size_type __len = 0;
1152:        const streamsize __w = __in.width();
1152:        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
1152:                                 : __str.max_size();
1152:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1152:        const __int_type __eof = _Traits::eof();
1152:        __int_type __c = __in.rdbuf()->sgetc();
1152: 
1152:        while (__extracted5: 
1115: 
1115:   template<bool __v>
1115:     using bool_constant = integral_constant<bool, __v>;
1115: 
1115: 
1115: 
1115: 
1115:   template<bool>
1115:     struct __conditional
1115:     {
1115:       template<typename _Tp, typename>
1115:  using type = _Tp;
1115:     };
1115: 
1115:   template<>
1115:     struct __conditional<false>
1115:     {
1115:       template<typename, typename _Up>
1115:  using type = _Up;
1115:     };
1115: 
1115: 
1115:   template<bool _Cond, typename _If, typename _Else>
1115:     using __conditional_t
1115:       = typename __conditional<_Cond>::template type<_If, _Else>;
1115: 
1115: 
1115:   template <typename _Type>
1115:     struct __type_identity
1115:     { using type = _Type; };
1115: 
1115:   template<typename _Tp>
1115:     using __type_identity_t = typename __type_identity<_Tp>::type;
1115: 
1115:   template<typename...>
1115:     struct __or_;
1115: 
1115:   template<>
1115:     struct __or_<>
1115:     : public false_type
1115:     { };
1115: 
1115:   template<typename _B1>
1115:     struct __or_<_B1>
1115:     : public _B1
1115:     { };
1115: 
1115:   template<typename _B1, typename _B2>
1115:     struct __or_<_B1, _B2>
1115:     : public __conditional_t<_B1::value, _B1, _B2>
1115:     { };
1115: 
1115:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1115:     struct __or_<_B1, _B2, _B3, _Bn...>
1115:     : public __conditional_t<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>
1115:     { };
1115: 
1115:   template<typename...>
1115:     struct __and_;
1115: 
1115:   template<>
1115:     struct __and_<>
1115:     : public true_type
1115:     { };
1115: 
1115:   template<typename _B1>
1115:     struct __and_<_B1>
1115:     : public _B1
1115:     { };
1115: 
1115:   template<typename _B1, typename _B2>
1115:     struct __and_<_B1, _B2>
1115:     : public __conditional_t<_B1::value, _B2, _B1>
1115:     { };
1115: 
1115:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1115:     struct __and_<_B1, _B2, _B3, _Bn...>
1115:     : public __conditional_t<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>
1115:     { };
1115: 
1115:   template<typename _Pp>
1115:     struct __not_
1115:     : public __bool_constant<!bool(_Pp::value)>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename... _Bn>
1115:     inline constexpr bool __or_v = __or_<_Bn...>::value;
1115:   template<typename... _Bn>
1115:     inline constexpr bool __and_v = __and_<_Bn...>::value;
1115: 
1115: 
1115: 
1115: 
1115:   template<typename... _Bn>
1115:     struct conjunction
1115:     : __and_<_Bn...>
1115:     { };
1115: 
1115:   template<typename... _Bn>
1115:     struct disjunction
1115:     : __or_<_Bn...>
1115:     { };
1115: 
1115:   template<typename _Pp>
1115:     struct negation
1115:     : __not_<_Pp>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename... _Bn>
1115:     inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
1115: 
1115:   template<typename... _Bn>
1115:     inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
1115: 
1115:   template<typename _Pp>
1115:     inline constexpr bool negation_v = negation<_Pp>::value;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename>
1115:     struct is_reference;
1115:   template<typename>
1115:     struct is_function;
1115:   template<typename>
1115:     struct is_void;
1115:   template<typename>
1115:     struct remove_cv;
1115:   template<typename>
1115:     struct is_const;
1115: 
1115: 
1115:   template<typename>
1115:     struct __is_array_unknown_bounds;
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, size_t = sizeof(_Tp)>
1115:     constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
1115:     { return {}; }
1115: 
1115:   template <typename _TypeIdentity,
1115:       typename _NestedType = typename _TypeIdentity::type>
1115:     constexpr typename __or_<
1115:       is_reference<_NestedType>,
1115:       is_function<_NestedType>,
1115:       is_void<_NestedType>,
1115:       __is_array_unknown_bounds<_NestedType>
1115:    rn *this; }
609:     };
609: # 778 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline back_insert_iterator<_Container>
609:     back_inserter(_Container& __x)
609:     { return back_insert_iterator<_Container>(__x); }
609: # 794 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Container>
609:     class front_insert_iterator
609:     : public iterator<output_iterator_tag, void, void, void, void>
609:     {
609:     protected:
609:       _Container* container;
609: 
609:     public:
609: 
609:       typedef _Container container_type;
609: 
609: 
609: 
609: 
609: 
609:       explicit
609:       front_insert_iterator(_Container& __x)
609:       : container(std::__addressof(__x)) { }
609: # 832 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:      
609:       front_insert_iterator&
609:       operator=(const typename _Container::value_type& __value)
609:       {
609:  container->push_front(__value);
609:  return *this;
609:       }
609: 
609:      
609:       front_insert_iterator&
609:       operator=(typename _Container::value_type&& __value)
609:       {
609:  container->push_front(std::move(__value));
609:  return *this;
609:       }
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       front_insert_iterator&
609:       operator*()
609:       { return *this; }
609: 
609: 
609:      
609:       front_insert_iterator&
609:       operator++()
609:       { return *this; }
609: 
609: 
609:      
609:       front_insert_iterator
609:       operator++(int)
609:       { return *this; }
609:     };
609: # 879 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline front_insert_iterator<_Container>
609:     front_inserter(_Container& __x)
609:     { return front_insert_iterator<_Container>(__x); }
609: # 899 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Container>
609:     class insert_iterator
609:     : public iterator<output_iterator_tag, void, void, void, void>
609:     {
609: 
609: 
609: 
609:       typedef typename _Container::iterator _Iter;
609: 
609:     protected:
609:       _Container* container;
609:       _Iter iter;
609: 
609:     public:
609: 
609:       typedef _Container container_type;
609: # 924 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:      
609:       insert_iterator(_Container& __x, _Iter __i)
609:       : container(std::__addressof(__x)), iter(__i) {}
609: # 960 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:      
609:       insert_iterator&
609:       operator=(const typename _Container::value_type& __value)
609:       {
609:  iter = container->insert(iter, __value);
609:  ++iter;
609:  return *this;
609:       }
609: 
609:      
609:       insert_iterator&
609:       operator=(typename _Container::value_type&& __value)
609:       {
609:  iter = container->insert(iter, std::move(__value));
609:  ++iter;
609:  return *this;
609:       }
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       insert_iterator&
609:       operator*()
609:       { return *this; }
609: 
609: 
609:      
609:       insert_iterator&
609:       operator++()
609:       { return *this; }
609: 
609: 
609:      
609:       insert_iterator&
609:       operator++(int)
609:       { return *this; }
609:     };
609: 
609: #pragma GCC diagnostic pop
609: # 1019 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline insert_iterator<_Container>
609:     inserter(_Container& __x, typename _Container::iterator __i)
609:     { return insert_iterator<_Container>(__x, __i); }
609: 
609: 
609: 
609: 
609: 
609: }
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 1042 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Iterator, typename _Container>
609:     class __normal_iterator
609:     {
609:     protected:
609:       _Iterator _M_current;
609: 
609:       typedef std::iterator_traits<_Iterator> __traits_type;
609: 
609 >::type __is_complete_or_unbounded(_TypeIdentity)
1115:     { return {}; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __success_type
1115:     { typedef _Tp type; };
1115: 
1115:   struct __failure_type
1115:   { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using __remove_cv_t = typename remove_cv<_Tp>::type;
1115: 
1115: 
1115: 
1115:   template<typename>
1115:     struct __is_void_helper
1115:     : public false_type { };
1115: 
1115:   template<>
1115:     struct __is_void_helper<void>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_void
1115:     : public __is_void_helper<__remove_cv_t<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename>
1115:     struct __is_integral_helper
1115:     : public false_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<bool>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<char>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<signed char>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<unsigned char>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct __is_integral_helper<wchar_t>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct __is_integral_helper<char16_t>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<char32_t>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<short>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<unsigned short>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<int>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<unsigned int>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<long>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<unsigned long>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<long long>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_integral_helper<unsigned long long>
1115:     : public true_type { };
1115: # 412 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Tp>
1115:     struct is_integral
1115:     : public __is_integral_helper<__remove_cv_t<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename>
1115:     struct __is_floating_point_helper
1115:     : public false_type { };
1115: 
1115:   template<>
1115:     struct __is_floating_point_helper<float>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_floating_point_helper<double>
1115:     : public true_type { };
1115: 
1115:   template<>
1115:     struct __is_floating_point_helper<long double>
1115:     : public true_type { };
1115: # 442 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Tp>
1115:     struct is_floating_point
1115:     : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename>
1115:     struct is_array
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp, std::size_t _Size>
1115:     struct is_array<_Tp[_Size]>
1115:     : public true_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct is_array<_Tp[]>
1115:     : public true_type { };
1115: 
1115:   template<typename>
1115:     struct __is_pointer_helper
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_pointer_helper<_Tp*>
1115:     : public true_type { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_pointer
1115:     : public __is_pointer_helper<__remove_cv_t<_Tp>>::typ < __n
1152:        && !_Traits::eq_int_type(__c, __eof)
1152:        && !__ct.is(__ctype_base::space,
1152:      _Traits::to_char_type(__c)))
1152:   {
1152:     if (__len == sizeof(__buf) / sizeof(_CharT))
1152:       {
1152:         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
1152:         __len = 0;
1152:       }
1152:     __buf[__len++] = _Traits::to_char_type(__c);
1152:     ++__extracted;
1152:     __c = __in.rdbuf()->snextc();
1152:   }
1152:        __str.append(__buf, __len);
1152: 
1152:        if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
1152:   __err |= __ios_base::eofbit;
1152:        __in.width(0);
1152:      }
1152:    catch(__cxxabiv1::__forced_unwind&)
1152:      {
1152:        __in._M_setstate(__ios_base::badbit);
1152:        throw;
1152:      }
1152:    catch(...)
1152:      {
1152: 
1152: 
1152: 
1152:        __in._M_setstate(__ios_base::badbit);
1152:      }
1152:  }
1152: 
1152:       if (!__extracted)
1152:  __err |= __ios_base::failbit;
1152:       if (__err)
1152:  __in.setstate(__err);
1152:       return __in;
1152:     }
1152: 
1152:   template<typename _CharT, typename _Traits, typename _Alloc>
1152:     basic_istream<_CharT, _Traits>&
1152:     getline(basic_istream<_CharT, _Traits>& __in,
1152:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1152:     {
1152:       typedef basic_istream<_CharT, _Traits> __istream_type;
1152:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1152:       typedef typename __istream_type::ios_base __ios_base;
1152:       typedef typename __istream_type::int_type __int_type;
1152:       typedef typename __string_type::size_type __size_type;
1152: 
1152:       __size_type __extracted = 0;
1152:       const __size_type __n = __str.max_size();
1152:       typename __ios_base::iostate __err = __ios_base::goodbit;
1152:       typename __istream_type::sentry __cerb(__in, true);
1152:       if (__cerb)
1152:  {
1152:    try
1152:      {
1152:        __str.erase();
1152:        const __int_type __idelim = _Traits::to_int_type(__delim);
1152:        const __int_type __eof = _Traits::eof();
1152:        __int_type __c = __in.rdbuf()->sgetc();
1152: 
1152:        while (__extracted < __n
1152:        && !_Traits::eq_int_type(__c, __eof)
1152:        && !_Traits::eq_int_type(__c, __idelim))
1152:   {
1152:     __str += _Traits::to_char_type(__c);
1152:     ++__extracted;
1152:     __c = __in.rdbuf()->snextc();
1152:   }
1152: 
1152:        if (_Traits::eq_int_type(__c, __eof))
1152:   __err |= __ios_base::eofbit;
1152:        else if (_Traits::eq_int_type(__c, __idelim))
1152:   {
1152:     ++__extracted;
1152:     __in.rdbuf()->sbumpc();
1152:   }
1152:        else
1152:   __err |= __ios_base::failbit;
1152:      }
1152:    catch(__cxxabiv1::__forced_unwind&)
1152:      {
1152:        __in._M_setstate(__ios_base::badbit);
1152:        throw;
1152:      }
1152:    catch(...)
1152:      {
1152: 
1152: 
1152: 
1152:        __in._M_setstate(__ios_base::badbit);
1152:      }
1152:  }
1152:       if (!__extracted)
1152:  __err |= __ios_base::failbit;
1152:       if (__err)
1152:  __in.setstate(__err);
1152:       return __in;
1152:     }
1152: # 1082 "/usr/include/c++/12/bits/basic_string.tcc" 3
1152:   extern template class basic_string<char>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   extern template
1152:     basic_istream<char>&
1152:     operator>>(basic_istream<char>&, string&);
1152:   extern template
1152:     basic_ostream<char>&
1152:     operator<<(basic_ostream<char>&, const string&);
1152:   extern template
1152:     basic_istream<char>&
1152:     getline(basic_istream<char>&, string&, char);
1152:   extern template
1152:     basic_istream<char>&
1152:     getline(basic_istream<char>&, string&);
1152: 
1152: 
1152: 
1152:   extern template class basic_string<wchar_t>;
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   extern template
1152:     basic_istream<wchar_t>&
1152:     operator>>(basic_istream<wchar_t>&, wstring&);
1152:   extern template
1152:     basic_ostream<wchar_t>&
1152:     operator<<(be
1115:     { };
1115: 
1115: 
1115:   template<typename>
1115:     struct is_lvalue_reference
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct is_lvalue_reference<_Tp&>
1115:     : public true_type { };
1115: 
1115: 
1115:   template<typename>
1115:     struct is_rvalue_reference
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct is_rvalue_reference<_Tp&&>
1115:     : public true_type { };
1115: 
1115:   template<typename>
1115:     struct __is_member_object_pointer_helper
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp, typename _Cp>
1115:     struct __is_member_object_pointer_helper<_Tp _Cp::*>
1115:     : public __not_<is_function<_Tp>>::type { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_member_object_pointer
1115:     : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type
1115:     { };
1115: 
1115:   template<typename>
1115:     struct __is_member_function_pointer_helper
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp, typename _Cp>
1115:     struct __is_member_function_pointer_helper<_Tp _Cp::*>
1115:     : public is_function<_Tp>::type { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_member_function_pointer
1115:     : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_enum
1115:     : public integral_constant<bool, __is_enum(_Tp)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_union
1115:     : public integral_constant<bool, __is_union(_Tp)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_class
1115:     : public integral_constant<bool, __is_class(_Tp)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_function
1115:     : public __bool_constant<!is_const<const _Tp>::value> { };
1115: 
1115:   template<typename _Tp>
1115:     struct is_function<_Tp&>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct is_function<_Tp&&>
1115:     : public false_type { };
1115: 
1115: 
1115: 
1115:   template<typename>
1115:     struct __is_null_pointer_helper
1115:     : public false_type { };
1115: 
1115:   template<>
1115:     struct __is_null_pointer_helper<std::nullptr_t>
1115:     : public true_type { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_null_pointer
1115:     : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nullptr_t
1115:     : public is_null_pointer<_Tp>
1115:     { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_reference
1115:     : public __or_<is_lvalue_reference<_Tp>,
1115:                    is_rvalue_reference<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_arithmetic
1115:     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_fundamental
1115:     : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
1115:      is_null_pointer<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_object
1115:     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
1115:                           is_void<_Tp>>>::type
1115:     { };
1115: 
1115:   template<typename>
1115:     struct is_member_pointer;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_scalar
1115:     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
1115:                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_compound
1115:     : public __not_<is_fundamental<_Tp>>::type { };
1115: 
1115: 
1115:   template<typename _Tp>asic_ostream<wchar_t>&, const wstring&);
1152:   extern template
1152:     basic_istream<wchar_t>&
1152:     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
1152:   extern template
1152:     basic_istream<wchar_t>&
1152:     getline(basic_istream<wchar_t>&, wstring&);
1152: 
1152: 
1152: 
1152: 
1152: }
1152: # 55 "/usr/include/c++/12/string" 2 3
1152: 
1152: 
1152: namespace std __attribute__ ((__visibility__ ("default")))
1152: {
1152: 
1152:   namespace pmr {
1152:     template<typename _Tp> class polymorphic_allocator;
1152:     template<typename _CharT, typename _Traits = char_traits<_CharT>>
1152:       using basic_string = std::basic_string<_CharT, _Traits,
1152:           polymorphic_allocator<_CharT>>;
1152:     using string = basic_string<char>;
1152: 
1152: 
1152: 
1152:     using u16string = basic_string<char16_t>;
1152:     using u32string = basic_string<char32_t>;
1152:     using wstring = basic_string<wchar_t>;
1152:   }
1152: 
1152:   template<typename _Str>
1152:     struct __hash_string_base
1152:     : public __hash_base<size_t, _Str>
1152:     {
1152:       size_t
1152:       operator()(const _Str& __s) const noexcept
1152:       { return hash<basic_string_view<typename _Str::value_type>>{}(__s); }
1152:     };
1152: 
1152:   template<>
1152:     struct hash<pmr::string>
1152:     : public __hash_string_base<pmr::string>
1152:     { };
1152: 
1152: 
1152: 
1152: 
1152: 
1152: 
1152:   template<>
1152:     struct hash<pmr::u16string>
1152:     : public __hash_string_base<pmr::u16string>
1152:     { };
1152:   template<>
1152:     struct hash<pmr::u32string>
1152:     : public __hash_string_base<pmr::u32string>
1152:     { };
1152:   template<>
1152:     struct hash<pmr::wstring>
1152:     : public __hash_string_base<pmr::wstring>
1152:     { };
1152: 
1152: 
1152: }
1152: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.h" 2
1152: 
1152: 
1152: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.h"
1152: class Base64
1152: {
1152: public:
1152:   static void Encode(const char* input, unsigned int length, std::string &output);
1152:   static std::string Encode(const char* input, unsigned int length);
1152:   static void Encode(const std::string &input, std::string &output);
1152:   static std::string Encode(const std::string &input);
1152:   static void Decode(const char* input, unsigned int length, std::string &output);
1152:   static std::string Decode(const char* input, unsigned int length);
1152:   static void Decode(const std::string &input, std::string &output);
1152:   static std::string Decode(const std::string &input);
1152: 
1152: private:
1152:   static const std::string m_characters;
1152: };
1152: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp" 2
1152: 
1152: 
1152: 
1152: const std::string Base64::m_characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
1152:                                          "abcdefghijklmnopqrstuvwxyz"
1152:                                          "0123456789+/";
1152: 
1152: void Base64::Encode(const char* input, unsigned int length, std::string &output)
1152: {
1152:   if (input == 
1152: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp" 3 4
1152:               __null 
1152: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp"
1152:                    || length == 0)
1152:     return;
1152: 
1152:   long l;
1152:   output.clear();
1152:   output.reserve(((length + 2) / 3) * 4);
1152: 
1152:   for (unsigned int i = 0; i < length; i += 3)
1152:   {
1152:     l = ((((unsigned long) input[i]) << 16) & 0xFFFFFF) |
1152:          ((((i + 1) < length) ? (((unsigned long) input[i + 1]) << 8) : 0) & 0xFFFF) |
1152:          ((((i + 2) < length) ? (((unsigned long) input[i + 2]) << 0) : 0) & 0x00FF);
1152: 
1152:     output.push_back(m_characters[(l >> 18) & 0x3F]);
1152:     output.push_back(m_characters[(l >> 12) & 0x3F]);
1152: 
1152:     if (i + 1 < length)
1152:       output.push_back(m_characters[(l >> 6) & 0x3F]);
1152:     if (i + 2 < length)
1152:       output.push_back(m_characters[(l >> 0) & 0x3F]);
1152:   }
1152: 
1115:     struct __is_member_pointer_helper
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp, typename _Cp>
1115:     struct __is_member_pointer_helper<_Tp _Cp::*>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_member_pointer
1115:     : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type
1115:     { };
1115: 
1115:   template<typename, typename>
1115:     struct is_same;
1115: 
1115: 
1115:   template<typename _Tp, typename... _Types>
1115:     using __is_one_of = __or_<is_same<_Tp, _Types>...>;
1115: 
1115: 
1115:   __extension__
1115:   template<typename _Tp>
1115:     using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
1115:    signed char, signed short, signed int, signed long,
1115:    signed long long
1115: # 659 "/usr/include/c++/12/type_traits" 3
1115:    >;
1115: 
1115: 
1115:   __extension__
1115:   template<typename _Tp>
1115:     using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
1115:    unsigned char, unsigned short, unsigned int, unsigned long,
1115:    unsigned long long
1115: # 679 "/usr/include/c++/12/type_traits" 3
1115:    >;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using __is_standard_integer
1115:       = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
1115: 
1115: 
1115:   template<typename...> using __void_t = void;
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename = void>
1115:     struct __is_referenceable
1115:     : public false_type
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_referenceable<_Tp, __void_t<_Tp&>>
1115:     : public true_type
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename>
1115:     struct is_const
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct is_const<_Tp const>
1115:     : public true_type { };
1115: 
1115: 
1115:   template<typename>
1115:     struct is_volatile
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct is_volatile<_Tp volatile>
1115:     : public true_type { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivial
1115:     : public integral_constant<bool, __is_trivial(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivially_copyable
1115:     : public integral_constant<bool, __is_trivially_copyable(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_standard_layout
1115:     : public integral_constant<bool, __is_standard_layout(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct
1115:    
1115:     is_pod
1115:     : public integral_constant<bool, __is_pod(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct
1115:     [[__deprecated__]]
1115:     is_literal_type
1115:     : public integral_constant<bool, __is_literal_type(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_empty
1115:     : public integral_constant<bool, __is_empty(_Tp)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_pol
1152:   int left = 3 - (length % 3);
1152: 
1152:   if (length % 3)
1152:   {
1152:     for (int i = 0; i < left; i++)
1152:       output.push_back('=');
1152:   }
1152: }
1152: 
1152: std::string Base64::Encode(const char* input, unsigned int length)
1152: {
1152:   std::string output;
1152:   Encode(input, length, output);
1152: 
1152:   return output;
1152: }
1152: 
1152: void Base64::Encode(const std::string &input, std::string &output)
1152: {
1152:   Encode(input.c_str(), input.size(), output);
1152: }
1152: 
1152: std::string Base64::Encode(const std::string &input)
1152: {
1152:   std::string output;
1152:   Encode(input, output);
1152: 
1152:   return output;
1152: }
1152: 
1152: void Base64::Decode(const char* input, unsigned int length, std::string &output)
1152: {
1152:   if (input == 
1152: # 73 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp" 3 4
1152:               __null 
1152: # 73 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Base64.cpp"
1152:                    || length == 0)
1152:     return;
1152: 
1152:   long l;
1152:   output.clear();
1152: 
1152:   for (unsigned int index = 0; index < length; index++)
1152:   {
1152:     if (input[index] == '=')
1152:     {
1152:       length = index;
1152:       break;
1152:     }
1152:   }
1152: 
1152:   output.reserve(length - ((length + 2) / 4));
1152: 
1152:   for (unsigned int i = 0; i < length; i += 4)
1152:   {
1152:     l = ((((unsigned long) m_characters.find(input[i])) & 0x3F) << 18);
1152:     l |= (((i + 1) < length) ? ((((unsigned long) m_characters.find(input[i + 1])) & 0x3F) << 12) : 0);
1152:     l |= (((i + 2) < length) ? ((((unsigned long) m_characters.find(input[i + 2])) & 0x3F) << 6) : 0);
1152:     l |= (((i + 3) < length) ? ((((unsigned long) m_characters.find(input[i + 3])) & 0x3F) << 0) : 0);
1152: 
1152:     output.push_back((char)((l >> 16) & 0xFF));
1152:     if (i + 2 < length)
1152:       output.push_back((char)((l >> 8) & 0xFF));
1152:     if (i + 3 < length)
1152:       output.push_back((char)((l >> 0) & 0xFF));
1152:   }
1152: }
1152: 
1152: std::string Base64::Decode(const char* input, unsigned int length)
1152: {
1152:   std::string output;
1152:   Decode(input, length, output);
1152: 
1152:   return output;
1152: }
1152: 
1152: void Base64::Decode(const std::string &input, std::string &output)
1152: {
1152:   size_t length = input.find_first_of('=');
1152:   if (length == std::string::npos)
1152:     length = input.size();
1152: 
1152:   Decode(input.c_str(), length, output);
1152: }
1152: 
1152: std::string Base64::Decode(const std::string &input)
1152: {
1152:   std::string output;
1152:   Decode(input, output);
1152: 
1152:   return output;
1152: }
=== END GCC DUMP ===
make[4]: *** [build/utils/CMakeFiles/utils.dir/build.make:135: build/utils/CMakeFiles/utils.dir/Base64.cpp.o] Error 1
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
ymorphic
1115:     : public integral_constant<bool, __is_polymorphic(_Tp)>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_final
1115:     : public integral_constant<bool, __is_final(_Tp)>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_abstract
1115:     : public integral_constant<bool, __is_abstract(_Tp)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp,
1115:     bool = is_arithmetic<_Tp>::value>
1115:     struct __is_signed_helper
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_signed_helper<_Tp, true>
1115:     : public integral_constant<bool, _Tp(-1) < _Tp(0)>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_signed
1115:     : public __is_signed_helper<_Tp>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_unsigned
1115:     : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp, typename _Up = _Tp&&>
1115:     _Up
1115:     __declval(int);
1115: 
1115:   template<typename _Tp>
1115:     _Tp
1115:     __declval(long);
1115: 
1115: 
1115:   template<typename _Tp>
1115:     auto declval() noexcept -> decltype(__declval<_Tp>(0));
1115: 
1115:   template<typename, unsigned = 0>
1115:     struct extent;
1115: 
1115:   template<typename>
1115:     struct remove_all_extents;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_array_known_bounds
1115:     : public integral_constant<bool, (extent<_Tp>::value > 0)>
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_array_unknown_bounds
1115:     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
1115:     { };
1115: # 867 "/usr/include/c++/12/type_traits" 3
1115:   struct __do_is_destructible_impl
1115:   {
1115:     template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
1115:       static true_type __test(int);
1115: 
1115:     template<typename>
1115:       static false_type __test(...);
1115:   };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_destructible_impl
1115:     : public __do_is_destructible_impl
1115:     {
1115:       typedef decltype(__test<_Tp>(0)) type;
1115:     };
1115: 
1115:   template<typename _Tp,
1115:            bool = __or_<is_void<_Tp>,
1115:                         __is_array_unknown_bounds<_Tp>,
1115:                         is_function<_Tp>>::value,
1115:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1115:     struct __is_destructible_safe;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_destructible_safe<_Tp, false, false>
1115:     : public __is_destructible_impl<typename
1115:                remove_all_extents<_Tp>::type>::type
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_destructible_safe<_Tp, true, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_destructible_safe<_Tp, false, true>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_destructible
1115:     : public __is_destructible_safe<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   struct __do_is_nt_destructible_impl
1115:   {
1115:     template<typename _Tp>
1115:       static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
1115:       __test(int);
1115: 
1115:     template<typename>
1115:       static false_type __test(...);
1115:   };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_destructible_impl
1115:     : public __do_is_nt_destructible_impl
1115:     {
1115:       typedef decltype(__test<_Tp>(0)) type;
1115:     };
1115: 
1115:   template<typename _Tp,
1115:            bool = __or_<is_void<_Tp>,
1115:                         __is_array_unknown_bounds: 
609:       template<typename _Iter>
609:  using __convertible_from
609:    = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
609: 
609: 
609:     public:
609:       typedef _Iterator iterator_type;
609:       typedef typename __traits_type::iterator_category iterator_category;
609:       typedef typename __traits_type::value_type value_type;
609:       typedef typename __traits_type::difference_type difference_type;
609:       typedef typename __traits_type::reference reference;
609:       typedef typename __traits_type::pointer pointer;
609: 
609: 
609: 
609: 
609: 
609:       constexpr __normal_iterator() noexcept
609:       : _M_current(_Iterator()) { }
609: 
609:       explicit
609:       __normal_iterator(const _Iterator& __i) noexcept
609:       : _M_current(__i) { }
609: 
609: 
609: 
609:       template<typename _Iter, typename = __convertible_from<_Iter>>
609: 
609:  __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
609:  noexcept
609: # 1090 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:         : _M_current(__i.base()) { }
609: 
609: 
609:      
609:       reference
609:       operator*() const noexcept
609:       { return *_M_current; }
609: 
609:      
609:       pointer
609:       operator->() const noexcept
609:       { return _M_current; }
609: 
609:      
609:       __normal_iterator&
609:       operator++() noexcept
609:       {
609:  ++_M_current;
609:  return *this;
609:       }
609: 
609:      
609:       __normal_iterator
609:       operator++(int) noexcept
609:       { return __normal_iterator(_M_current++); }
609: 
609: 
609:      
609:       __normal_iterator&
609:       operator--() noexcept
609:       {
609:  --_M_current;
609:  return *this;
609:       }
609: 
609:      
609:       __normal_iterator
609:       operator--(int) noexcept
609:       { return __normal_iterator(_M_current--); }
609: 
609: 
609:      
609:       reference
609:       operator[](difference_type __n) const noexcept
609:       { return _M_current[__n]; }
609: 
609:      
609:       __normal_iterator&
609:       operator+=(difference_type __n) noexcept
609:       { _M_current += __n; return *this; }
609: 
609:      
609:       __normal_iterator
609:       operator+(difference_type __n) const noexcept
609:       { return __normal_iterator(_M_current + __n); }
609: 
609:      
609:       __normal_iterator&
609:       operator-=(difference_type __n) noexcept
609:       { _M_current -= __n; return *this; }
609: 
609:      
609:       __normal_iterator
609:       operator-(difference_type __n) const noexcept
609:       { return __normal_iterator(_M_current - __n); }
609: 
609:      
609:       const _Iterator&
609:       base() const noexcept
609:       { return _M_current; }
609:     };
609: # 1210 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _IteratorL, typename _IteratorR, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
609:         const __normal_iterator<_IteratorR, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() == __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
609:         const __normal_iterator<_Iterator, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() == __rhs.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
609:         const __normal_iterator<_IteratorR, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() != __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
609:         const __normal_iterator<_Iterator, _Container>& __rhs)
609:    <_Tp>,
1115:                         is_function<_Tp>>::value,
1115:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1115:     struct __is_nt_destructible_safe;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_destructible_safe<_Tp, false, false>
1115:     : public __is_nt_destructible_impl<typename
1115:                remove_all_extents<_Tp>::type>::type
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_destructible_safe<_Tp, true, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_destructible_safe<_Tp, false, true>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_nothrow_destructible
1115:     : public __is_nt_destructible_safe<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename... _Args>
1115:     struct __is_constructible_impl
1115:     : public __bool_constant<__is_constructible(_Tp, _Args...)>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename... _Args>
1115:     struct is_constructible
1115:       : public __is_constructible_impl<_Tp, _Args...>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_default_constructible
1115:     : public __is_constructible_impl<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_copy_constructible_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_copy_constructible_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_copy_constructible_impl<_Tp, true>
1115:     : public __is_constructible_impl<_Tp, const _Tp&>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_copy_constructible
1115:     : public __is_copy_constructible_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_move_constructible_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_move_constructible_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_move_constructible_impl<_Tp, true>
1115:     : public __is_constructible_impl<_Tp, _Tp&&>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_move_constructible
1115:     : public __is_move_constructible_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename... _Args>
1115:     using __is_nothrow_constructible_impl
1115:       = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename... _Args>
1115:     struct is_nothrow_constructible
1115:     : public __is_nothrow_constructible_impl<_Tp, _Args...>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_nothrow_default_constructible
1115:     : public __bool_constant<__is_nothrow_constructiblmake[3]: *** [CMakeFiles/Makefile2:9483: build/utils/CMakeFiles/utils.dir/all] Error 2
make[3]: *** Waiting for unfinished jobs....
e(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_nothrow_copy_constructible_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nothrow_copy_constructible_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nothrow_copy_constructible_impl<_Tp, true>
1115:     : public __is_nothrow_constructible_impl<_Tp, const _Tp&>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_nothrow_copy_constructible
1115:     : public __is_nothrow_copy_constructible_impl<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_nothrow_move_constructible_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nothrow_move_constructible_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nothrow_move_constructible_impl<_Tp, true>
1115:     : public __is_nothrow_constructible_impl<_Tp, _Tp&&>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_nothrow_move_constructible
1115:     : public __is_nothrow_move_constructible_impl<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct is_assignable
1115:     : public __bool_constant<__is_assignable(_Tp, _Up)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_copy_assignable_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_copy_assignable_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_copy_assignable_impl<_Tp, true>
1115:     : public __bool_constant<__is_assignable(_Tp&, const _Tp&)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_copy_assignable
1115:     : public __is_copy_assignable_impl<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_move_assignable_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_move_assignable_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_move_assignable_impl<_Tp, true>
1115:     : public __bool_constant<__is_assignable(_Tp&, _Tp&&)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_move_assignable
1115:     : public __is_move_assignable_impl<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     using __is_nothrow_assignable_impl
1115:       = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct is_nothrow_assignable
1115:     : public __is_nothrow_assignable_impl<_Tp, _Up>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a comple noexcept
609:     { return __lhs.base() != __rhs.base(); }
609: 
609: 
609:   template<typename _IteratorL, typename _IteratorR, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
609:        const __normal_iterator<_IteratorR, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() < __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
609:        const __normal_iterator<_Iterator, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() < __rhs.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
609:        const __normal_iterator<_IteratorR, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() > __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
609:        const __normal_iterator<_Iterator, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() > __rhs.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
609:         const __normal_iterator<_IteratorR, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() <= __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
609:         const __normal_iterator<_Iterator, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() <= __rhs.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
609:         const __normal_iterator<_IteratorR, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() >= __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
609:         const __normal_iterator<_Iterator, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() >= __rhs.base(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _IteratorL, typename _IteratorR, typename _Container>
609: 
609: 
609:     [[__nodiscard__]]
609:     inline auto
609:     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
609:        const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
609:     -> decltype(__lhs.base() - __rhs.base())
609: 
609: 
609: 
609: 
609: 
609:     { return __lhs.base() - __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline typename __normal_iterator<_Iterator, _Container>::difference_type
609:     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
609:        const __normal_iterator<_Iterator, _Container>& __rhs)
609:     noexcept
609:     { return __lhs.base() - __rhs.base(); }
609: 
609:   template<typename _Iterator, typename _Container>
609:     [[__nodiscard__]]
609:     inline __normal_iterator<_Iterator, _Container>
609:     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
609:        __n, const __normal_iterator<_Iterator, _Container>& __i)
609:     noexcept
609:     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
609: 
609: 
609: }
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _Iterator, typename _Container>
609:    
609:     _Iterator
609:     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
609:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
609:     { return __it.base(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Iterator, typename _Container>
609:     constexpr auto
609:     __to_address(const __gnu_cxx::__normal_iterator<_Iterator,
609:           _Container>& __it) noexcept
609:     -> decltype(std::__to_address(__it.base()))
609:     { return std::__to_address(__it.base()); }
609: # 1417 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   namespace __detail
609:   {
609: # 1433 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   }
609: # 1444 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Iterator>
609:     class move_iterator
609: 
609: 
609: 
609:     {
609:       _Iterator _M_current;
609: 
609:       using __traits_type = iterator_traits<_Iterator>;
609: 
609:       using __base_ref = typename __traits_type::reference;
609: 
609: 
609:       template<typename _Iter2>
609:  friend class move_iterator;
609: # 1468 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:     public:
609:       using iterator_type = _Iterator;
609: # 1479 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:       typedef typename __traits_type::iterator_category iterator_category;
609:       typedef typename __traits_type::value_type value_type;
609:       typedef typename __traits_type::difference_type difference_type;
609: 
609:       typedef _Iterator pointer;
609: 
609: 
609:       using reference
609:  = __conditional_t<is_reference<__base_ref>::value,
609:      typename remove_reference<__base_ref>::type&&,
609:      __base_ref>;
609: 
609: 
609:       constexpr
609:       move_iterator()
609:       : _M_current() { }
609: 
609:       explicit constexpr
609:       move_iterator(iterator_type __i)
609:       : _M_current(std::move(__i)) { }
609: 
609:       template<typename _Iter>
609: 
609: 
609: 
609:  constexpr
609:  move_iterator(const move_iterator<_Iter>& __i)
609:  : _M_current(__i._M_current) { }
609: 
609:       template<typename _Iter>
609: 
609: 
609: 
609: 
609:  constexpr
609:  move_iterator& operator=(const move_iterator<_Iter>& __i)
609:  {
609:    _M_current = __i._M_current;
609:    return *this;
609:  }
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr iterator_type
609:       base() const
609:       { return _M_current; }
609: # 1537 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:       [[__nodiscard__]]
609:       constexpr reference
609:       operator*() const
609: 
609: 
609: 
609:       { return static_cast<reference>(*_M_current); }
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr pointer
609:       operator->() const
609:       { return _M_current; }
609: 
609:       constexpr move_iterator&
609:       operator++()
609:       {
609:  ++_M_current;
609:  return *this;
609:       }
609: 
609:       constexpr move_iterator
609:       operator++(int)
609:       {
609:  move_iterator __tmp = *this;
609:  ++_M_current;
609:  return __tmp;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       constexpr move_iterator&
609:       operator--()
609:       {
609:  --_M_current;
609:  return *this;
609:       }
609: 
609:       constexpr move_iterator
609:       operator--(int)
609:       {
609:  move_iterator __tmp = *this;
609:  --_M_current;
609:  return __tmp;
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr move_iterator
609:       operator+(difference_type __n) const
609:       { return move_iterator(_M_current + __n); }
609: 
609:       constexpr move_iterator&
609:       operator+=(difference_type __n)
609:       {
609:  _M_current += __n;
609:  return *this;
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr move_iterator
609:       operator-(difference_type __n) const
609:       { return move_iterator(_M_current - __n); }
609: 
609:       constexpr move_iterator&
609:       operator-=(difference_type __n)
609:       {
609:  _M_current -= __n;
609:  return *this;
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr reference
609:       operator[](difference_type __n) const
609: 
609: 
609: 
609:       { return std::move(_M_current[__n]); }
609: # 1651 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:     };
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator==(const move_iterator<_IteratorL>& __x,
609:         const move_iterator<_IteratorR>& __y)
609: 
609: 
609: 
609:     { return __x.base() == __y.base(); }
609: # 1672 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator!=(const move_iterator<_IteratorL>& __x,
609:         const move_iterator<_IteratorR>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator<(const move_iterator<_IteratorL>& __x,
609:        const move_iterator<_IteratorR>& __y)
609: 
609: 
609: 
609:     { return __x.base() < __y.base(); }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator<=(const move_iterator<_IteratorL>& __x,
609:         const move_iterator<_IteratorR>& __y)
609: 
609: 
609: 
609:     { return !(__y < __x); }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>(const move_iterator<_IteratorL>& __x,
609:        const move_iterator<_IteratorR>& __y)
609: 
609: 
609: 
609:     { return __y < __x; }
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>=(const move_iterator<_IteratorL>& __x,
609:         const move_iterator<_IteratorR>& __y)
609: 
609: 
609: 
609:     { return !(__x < __y); }
609: 
609: 
609: 
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator==(const move_iterator<_Iterator>& __x,
609:         const move_iterator<_Iterator>& __y)
609:     { return __x.base() == __y.base(); }
609: # 1738 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator!=(const move_iterator<_Iterator>& __x,
609:         const move_iterator<_Iterator>& __y)
609:     { return !(__x == __y); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator<(const move_iterator<_Iterator>& __x,
609:        const move_iterator<_Iterator>& __y)
609:     { return __x.base() < __y.base(); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator<=(const move_iterator<_Iterator>& __x,
609:         const move_iterator<_Iterator>& __y)
609:     { return !(__y < __x); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>(const move_iterator<_Iterator>& __x,
609:        const move_iterator<_Iterator>& __y)
609:     { return __y < __x; }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr bool
609:     operator>=(const move_iterator<_Iterator>& __x,
609:         const move_iterator<_Iterator>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609: 
609:   template<typename _IteratorL, typename _IteratorR>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     operator-(const move_iterator<_IteratorL>& __x,
609:        const move_iterator<_IteratorR>& __y)
609:     -> decltype(__x.base() - __y.base())
609:     { return __x.base() - __y.base(); }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr move_iterator<_Iterator>
609:     operator+(typename move_iterator<_Iterator>::difference_type __n,
609:        const move_iterator<_Iterator>& __x)
609:     { return __x + __n; }
609: 
609:   template<typename _Iterator>
609:     [[__nodiscard__]]
609:     inline constexpr move_iterator<_Iterator>
609:     make_move_iterator(_Iterator __i)
609:     { return move_iterator<_Iterator>(std::move(__i)); }
609: 
609:   template<typename _Iterator, typename _ReturnType
609:     = __conditional_t<__move_if_noexcept_cond
609:       <typename iterator_traits<_Iterator>::value_type>::value,
609:   _Iterator, move_iterator<_Iterator>>>
609:     inline constexpr _ReturnType
609:     __make_move_if_noexcept_iterator(_Iterator __i)
609:     { return _ReturnType(__i); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _ReturnType
609:     = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
609:         const _Tp*, move_iterator<_Tp*>>>
609:     inline constexpr _ReturnType
609:     __make_move_if_noexcept_iterator(_Tp* __i)
609:     { return _ReturnType(__i); }
609: # 2552 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _Iterator>
609:    
609:     auto
609:     __niter_base(move_iterator<_Iterator> __it)
609:     -> decltype(make_move_iterator(__niter_base(__it.base())))
609:     { return make_move_iterator(__niter_base(__it.base())); }
609: 
609:   template<typename _Iterator>
609:     struct __is_move_iterator<move_iterator<_Iterator> >
609:     {
609:       enum { __value = 1 };
609:       typedef __true_type __type;
609:     };
609: 
609:   template<typename _Iterator>
609:    
609:     auto
609:     __miter_base(move_iterator<_Iterator> __it)
609:     -> decltype(__miter_base(__it.base()))
609:     { return __miter_base(__it.base()); }
609: # 2584 "/usr/include/c++/12/bits/stl_iterator.h" 3
609:   template<typename _InputIterator>
609:     using __iter_key_t = remove_const_t<
609:     typename iterator_traits<_InputIterator>::value_type::first_type>;
609: 
609:   template<typename _InputIterator>
609:     using __iter_val_t =
609:     typename iterator_traits<_InputIterator>::value_type::second_type;
609: 
609:   template<typename _T1, typename _T2>
609:     struct pair;
609: 
609:   template<typename _InputIterator>
609:     using __iter_to_alloc_t =
609:     pair<add_const_t<__iter_key_t<_InputIterator>>,
609:   __iter_val_t<_InputIterator>>;
609: 
609: 
609: 
609: }
609: # 68 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: 
609: # 1 "/usr/include/c++/12/debug/debug.h" 1 3
609: # 48 "/usr/include/c++/12/debug/debug.h" 3
609: namespace std
609: {
609:   namespace __debug { }
609: }
609: 
609: 
609: 
609: 
609: namespace __gnu_debug
609: {
609:   using namespace std::__debug;
609: 
609:   template<typename _Ite, typename _Seq, typename _Cat>
609:     struct _Safe_iterator;
609: }
609: # 70 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: 
609: # 1 "/usr/include/c++/12/bits/predefined_ops.h" 1 3
609: # 35 "/usr/include/c++/12/bits/predefined_ops.h" 3
609: namespace __gnu_cxx
609: {
609: namespace __ops
609: {
609:   struct _Iter_less_iter
609:   {
609:     template<typename _Iterator1, typename _Iterator2>
609:       constexpr
609:       bool
609:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
609:       { return *__it1 < *__it2; }
609:   };
609: 
609:   constexpr
609:   inline _Iter_less_iter
609:   __iter_less_iter()
609:   { return _Iter_less_iter(); }
609: 
609:   struct _Iter_less_val
609:   {
609: 
609:     constexpr _Iter_less_val() = default;
609: 
609: 
609: 
609: 
609:    
609:     explicit
609:     _Iter_less_val(_Iter_less_iter) { }
609: 
609:     template<typename _Iterator, typename _Value>
609:      
609:       bool
609:       operator()(_Iterator __it, _Value& __val) const
609:       { return *__it < __val; }
609:   };
609: 
609:  
609:   inline _Iter_less_val
609:   __iter_less_val()
609:   { return _Iter_less_val(); }
609: 
609:  
609:   inline _Iter_less_val
609:   __iter_comp_val(_Iter_less_iter)
609:   { return _Iter_less_val(); }
609: 
609:   struct _Val_less_iter
609:   {
609: 
609:     constexpr _Val_less_iter() = default;
609: 
609: 
609: 
609: 
609:    
609:     explicit
609:     _Val_less_iter(_Iter_less_iter) { }
609: 
609:     template<typename _Value, typename _Iterator>
609:      
609:       bool
609:       operator()(_Value& __val, _Iterator __it) const
609:       { return __val < *__it; }
609:   };
609: 
609:  
609:   inline _Val_less_iter
609:   __val_less_iter()
609:   { return _Val_less_iter(); }
609: 
609:  
609:   inline _Val_less_iter
609:   __val_comp_iter(_Iter_less_iter)
609:   { return _Val_less_iter(); }
609: 
609:   struct _Iter_equal_to_iter
609:   {
609:     template<typename _Iterator1, typename _Iterator2>
609:      
609:       bool
609:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
609:       { return *__it1 == *__it2; }
609:   };
609: 
609:  
609:   inline _Iter_equal_to_iter
609:   __iter_equal_to_iter()
609:   { return _Iter_equal_to_iter(); }
609: 
609:   struct _Iter_equal_to_val
609:   {
609:     template<typename _Iterator, typename _Value>
609:      
609:       bool
609:       operator()(_Iterator __it, _Value& __val) const
609:       { return *__it == __val; }
609:   };
609: 
609:  
609:   inline _Iter_equal_to_val
609:   __iter_equal_to_val()
609:   { return _Iter_equal_to_val(); }
609: 
609:  
609:   inline _Iter_equal_to_val
609:   __iter_comp_val(_Iter_equal_to_iter)
609:   { return _Iter_equal_to_val(); }
609: 
609:   template<typename _Compare>
609:     struct _Iter_comp_iter
609:     {
609:       _Compare _M_comp;
609: 
609:       explicit constexpr
609:       _Iter_comp_iter(_Compare __comp)
609:  : _M_comp(std::move(__comp))
609:       { }
609: 
609:       template<typename _Iterator1, typename _Iterator2>
609:         constexpr
609:         bool
609:         operator()(_Iterator1 __it1, _Iterator2 __it2)
609:         { return bool(_M_comp(*__it1, *__it2)); }
609:     };
609: 
609:   template<typename _Compare>
609:     constexpr
609:     inline _Iter_comp_iter<_Compare>
609:     __iter_comp_iter(_Compare __comp)
609:     { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
609: 
609:   template<typename _Compare>
609:     struct _Iter_comp_val
609:     {
609:       _Compare _M_comp;
609: 
609:      
609:       explicit
609:       _Iter_comp_val(_Compare __comp)
609:  : _M_comp(std::move(__comp))
609:       { }
609: 
609:      
609:       explicit
609:       _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
609:  : _M_comp(__comp._M_comp)
609:       { }
609: 
609: 
609:      
609:       explicit
609:       _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
609:  : _M_comp(std::move(__comp._M_comp))
609:       { }
609: 
609: 
609:       template<typename _Iterator, typename _Value>
609: 
609:  bool
609:  operator()(_Iterator __it, _Value& __val)
609:  { return bool(_M_comp(*__it, __val)); }
609:     };
609: 
609:   template<typename _Compare>
609:    
609:     inline _Iter_comp_val<_Compare>
609:     __iter_comp_val(_Compare __comp)
609:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
609: 
609:   template<typename _Compare>
609:    
609:     inline _Iter_comp_val<_Compare>
609:     __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
609:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
609: 
609:   template<typename _Compare>
609:     struct _Val_comp_iter
609:     {
609:       _Compare _M_comp;
609: 
609:      
609:       explicit
609:       _Val_comp_iter(_Compare __comp)
609:  : _M_comp(std::move(__comp))
609:       { }
609: 
609:      
609:       explicit
609:       _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
609:  : _M_comp(__comp._M_comp)
609:       { }
609: 
609: 
609:      
609:       explicit
609:       _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
609:  : _M_comp(std::move(__comp._M_comp))
609:       { }
609: 
609: 
609:       template<typename _Value, typename _Iterator>
609: 
609:  bool
609:  operator()(_Value& __val, _Iterator __it)
609:  { return bool(_M_comp(__val, *__it)); }
609:     };
609: 
609:   template<typename _Compare>
609:    
609:     inline _Val_comp_iter<_Compare>
609:     __val_comp_iter(_Compare __comp)
609:     { return _Val_cte class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_nt_copy_assignable_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_copy_assignable_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_copy_assignable_impl<_Tp, true>
1115:     : public __is_nothrow_assignable_impl<_Tp&, const _Tp&>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_nothrow_copy_assignable
1115:     : public __is_nt_copy_assignable_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_nt_move_assignable_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_move_assignable_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nt_move_assignable_impl<_Tp, true>
1115:     : public __is_nothrow_assignable_impl<_Tp&, _Tp&&>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_nothrow_move_assignable
1115:     : public __is_nt_move_assignable_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename... _Args>
1115:     struct is_trivially_constructible
1115:     : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivially_default_constructible
1115:     : public __bool_constant<__is_trivially_constructible(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   struct __do_is_implicitly_default_constructible_impl
1115:   {
1115:     template <typename _Tp>
1115:     static void __helper(const _Tp&);
1115: 
1115:     template <typename _Tp>
1115:     static true_type __test(const _Tp&,
1115:                             decltype(__helper<const _Tp&>({}))* = 0);
1115: 
1115:     static false_type __test(...);
1115:   };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_implicitly_default_constructible_impl
1115:     : public __do_is_implicitly_default_constructible_impl
1115:     {
1115:       typedef decltype(__test(declval<_Tp>())) type;
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_implicitly_default_constructible_safe
1115:     : public __is_implicitly_default_constructible_impl<_Tp>::type
1115:     { };
1115: 
1115:   template <typename _Tp>
1115:     struct __is_implicitly_default_constructible
1115:     : public __and_<__is_constructible_impl<_Tp>,
1115:       __is_implicitly_default_constructible_safe<_Tp>>
1115:     { };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_trivially_copy_constructible_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_copy_constructible_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_copy_constructible_impl<_Tp, true>
1115:     : public __and_<__is_copy_constructible_impl<_Tp>,
1115:       integral_constant<bool,
1115:    __is_trivially_constructible(_Tp, const _Tp&)>>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivially_copy_constructible
1115:     : public __is_trivially_copy_constructible_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_trivially_move_constructible_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_move_constructible_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_move_constructible_impl<_Tp, true>
1115:     : public __and_<__is_move_constructible_impl<_Tp>,
1115:       integral_constant<bool,
1115:    __is_trivially_constructible(_Tp, _Tp&&)>>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivially_move_constructible
1115:     : public __is_trivially_move_constructible_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct is_trivially_assignable
1115:     : public __bool_constant<__is_trivially_assignable(_Tp, _Up)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_trivially_copy_assignable_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_copy_assignable_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_copy_assignable_impl<_Tp, true>
1115:     : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivially_copy_assignable
1115:     : public __is_trivially_copy_assignable_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __is_trivially_move_assignable_impl;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_move_assignable_impl<_Tp, false>
1115:     : public false_type { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_trivially_move_assignable_impl<_Tp, true>
1115:     : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivially_move_assignable
1115:     : public __is_trivially_move_assignable_impl<_Tp>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_trivially_destructible
1115:     : public __and_<__is_destructible_safe<_Tp>,
1115:       __bool_constant<__has_trivial_destructor(_Tp)>>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct has_virtual_destructor
1115:     : public integral_constant<bool, __has_virtual_destructor(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct alignment_of
1115:     : public integral_constant<std::size_t, alignof(_Tp)>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename>
1115:     struct rank
1115[ 72%] Building CXX object build/guilib/CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.o
omp_iter<_Compare>(std::move(__comp)); }
609: 
609:   template<typename _Compare>
609:    
609:     inline _Val_comp_iter<_Compare>
609:     __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
609:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
609: 
609:   template<typename _Value>
609:     struct _Iter_equals_val
609:     {
609:       _Value& _M_value;
609: 
609:      
609:       explicit
609:       _Iter_equals_val(_Value& __value)
609:  : _M_value(__value)
609:       { }
609: 
609:       template<typename _Iterator>
609: 
609:  bool
609:  operator()(_Iterator __it)
609:  { return *__it == _M_value; }
609:     };
609: 
609:   template<typename _Value>
609:    
609:     inline _Iter_equals_val<_Value>
609:     __iter_equals_val(_Value& __val)
609:     { return _Iter_equals_val<_Value>(__val); }
609: 
609:   template<typename _Iterator1>
609:     struct _Iter_equals_iter
609:     {
609:       _Iterator1 _M_it1;
609: 
609:      
609:       explicit
609:       _Iter_equals_iter(_Iterator1 __it1)
609:  : _M_it1(__it1)
609:       { }
609: 
609:       template<typename _Iterator2>
609: 
609:  bool
609:  operator()(_Iterator2 __it2)
609:  { return *__it2 == *_M_it1; }
609:     };
609: 
609:   template<typename _Iterator>
609:    
609:     inline _Iter_equals_iter<_Iterator>
609:     __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
609:     { return _Iter_equals_iter<_Iterator>(__it); }
609: 
609:   template<typename _Predicate>
609:     struct _Iter_pred
609:     {
609:       _Predicate _M_pred;
609: 
609:      
609:       explicit
609:       _Iter_pred(_Predicate __pred)
609:  : _M_pred(std::move(__pred))
609:       { }
609: 
609:       template<typename _Iterator>
609: 
609:  bool
609:  operator()(_Iterator __it)
609:  { return bool(_M_pred(*__it)); }
609:     };
609: 
609:   template<typename _Predicate>
609:    
609:     inline _Iter_pred<_Predicate>
609:     __pred_iter(_Predicate __pred)
609:     { return _Iter_pred<_Predicate>(std::move(__pred)); }
609: 
609:   template<typename _Compare, typename _Value>
609:     struct _Iter_comp_to_val
609:     {
609:       _Compare _M_comp;
609:       _Value& _M_value;
609: 
609:      
609:       _Iter_comp_to_val(_Compare __comp, _Value& __value)
609:  : _M_comp(std::move(__comp)), _M_value(__value)
609:       { }
609: 
609:       template<typename _Iterator>
609: 
609:  bool
609:  operator()(_Iterator __it)
609:  { return bool(_M_comp(*__it, _M_value)); }
609:     };
609: 
609:   template<typename _Compare, typename _Value>
609:     _Iter_comp_to_val<_Compare, _Value>
609:    
609:     __iter_comp_val(_Compare __comp, _Value &__val)
609:     {
609:       return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
609:     }
609: 
609:   template<typename _Compare, typename _Iterator1>
609:     struct _Iter_comp_to_iter
609:     {
609:       _Compare _M_comp;
609:       _Iterator1 _M_it1;
609: 
609:      
609:       _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
609:  : _M_comp(std::move(__comp)), _M_it1(__it1)
609:       { }
609: 
609:       template<typename _Iterator2>
609: 
609:  bool
609:  operator()(_Iterator2 __it2)
609:  { return bool(_M_comp(*__it2, *_M_it1)); }
609:     };
609: 
609:   template<typename _Compare, typename _Iterator>
609:    
609:     inline _Iter_comp_to_iter<_Compare, _Iterator>
609:     __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
609:     {
609:       return _Iter_comp_to_iter<_Compare, _Iterator>(
609:    std::move(__comp._M_comp), __it);
609:     }
609: 
609:   template<typename _Predicate>
609:     struct _Iter_negate
609:     {
609:       _Predicate _M_pred;
609: 
609:      
609:       explicit
609:       _Iter_negate(_Predicate __pred)
609:  : _M_pred(std::move(__pred))
609:       { }
609: 
609:       template<typename _Iterator>
609: 
609:  bool
609:  operator()(_Iterator __it)
609:  { return !bool(_M_pred(*__it)); }
609:     };
609: 
609:   template<typename _Predicate>
609:    
609:     inline _Iter_negate<_Predicate>
609:     __negate(_Iter_pred<_Predicate> __pred)
609:     { return _Itercd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/guilib/CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.o -MF CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.o.d -o CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp
_negate<_Predicate>(std::move(__pred._M_pred)); }
609: 
609: }
609: }
609: # 72 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr
609:     inline int
609:     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
609:     {
609: 
609:       static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
609: # 105 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:  return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
609:     }
609: # 149 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2>
609:    
609:     inline void
609:     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
609:     {
609: 
609:      
609: 
609:      
609: # 182 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:       swap(*__a, *__b);
609: 
609:     }
609: # 198 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2>
609:    
609:     _ForwardIterator2
609:     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:   _ForwardIterator2 __first2)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       for (; __first1 != __last1; ++__first1, (void)++__first2)
609:  std::iter_swap(__first1, __first2);
609:       return __first2;
609:     }
609: # 227 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _Tp>
609:     constexpr
609:     inline const _Tp&
609:     min(const _Tp& __a, const _Tp& __b)
609:     {
609: 
609:      
609: 
609:       if (__b < __a)
609:  return __b;
609:       return __a;
609:     }
609: # 251 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _Tp>
609:     constexpr
609:     inline const _Tp&
609:     max(const _Tp& __a, const _Tp& __b)
609:     {
609: 
609:      
609: 
609:       if (__a < __b)
609:  return __b;
609:       return __a;
609:     }
609: # 275 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     inline const _Tp&
609:     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
609:     {
609: 
609:       if (__comp(__b, __a))
609:  return __b;
609:       return __a;
609:     }
609: # 297 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     inline const _Tp&
609:     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
609:     {
609: 
609:       if (__comp(__a, __b))
609:  return __b;
609:       return __a;
609:     }
609: 
609: 
609: 
609:   template<typename _Iterator>
609:    
609:     inline _Iterator
609:     __niter_base(_Iterator __it)
609:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
609:     { return __it; }
609: 
609:   template<typename _Ite, typename _Seq>
609:     _Ite
609:     __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
609:    std::random_access_iterator_tag>&);
609: 
609: 
609: 
609: 
609:   template<typename _From, typename _To>
609:    
609:     inline _From
609:     __niter_wrap(_From __from, _To __res)
609:     { return __from + (__res - std::__niter_base(__from)); }
609: 
609: 
609:   template<typename _Iterator>
609:    
609:     inline _Iterator
609:     __niter_wrap(const _Iterator&, _Iterator __res)
609:     { return __res; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<bool _IsMove, bool _IsSimple, typename _Category>
609:     struct __copy_move
609:     {
609:       template<typename _II, typename _OI>
609: 
609:  static _OI
609:  __copy_m(_II __first, _II __last, _OI __result)
609:  {
609:    for (; __first != __last; ++__result, (void)++__first)
609:      *__result = *__first;
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<typename _Category>
609:     struct __copy_move<true, false, _Category>
609:     {
609:       template<typename _II, typename _OI>
609: 
609:  static _OI
609:  __copy_m(_II __first, _II __last, _OI __result)
609:  {
609:    for (; __first != __last; ++__result, (void)++__first)
609:      *__result = std::move(*__first);
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<>
609:     struct __copy_move<false, false, random_access_iterator_tag>
609:     {
609:       template<typename _II, typename _OI>
609: 
609:  static _OI
609:  __copy_m(_II __first, _II __last, _OI __result)
609:  {
609:    typedef typename iterator_traits<_II>::difference_type _Distance;
609:    for(_Distance __n = __last - __first; __n > 0; --__n)
609:      {
609:        *__result = *__first;
609:        ++__first;
609:        ++__result;
609:      }
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<>
609:     struct __copy_move<true, false, random_access_iterator_tag>
609:     {
609:       template<typename _II, typename _OI>
609: 
609:  static _OI
609:  __copy_m(_II __first, _II __last, _OI __result)
609:  {
609:    typedef typename iterator_traits<_II>::difference_type _Distance;
609:    for(_Distance __n = __last - __first; __n > 0; --__n)
609:      {
609:        *__result = std::move(*__first);
609:        ++__first;
609:        ++__result;
609:      }
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<bool _IsMove>
609:     struct __copy_move<_IsMove, true, random_access_iterator_tag>
609:     {
609:       template<typename _Tp>
609: 
609:  static _Tp*
609:  __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
609:  {
609: 
609:    using __assignable = __conditional_t<_IsMove,
609:             is_move_assignable<_Tp>,
609:             is_copy_assignable<_Tp>>;
609: 
609:    static_assert( __assignable::value, "type must be assignable" );
609: 
609:    const ptrdiff_t _Num = __last - __first;
609:    if (_Num)
609:      __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
609:    return __result + _Num;
609:  }
609:     };
609: 
609: 
609: 
609:   template<typename _Tp, typename _Ref, typename _Ptr>
609:     struct _Deque_iterator;
609: 
609:   struct _Bit_iterator;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT>
609:     struct char_traits;
609: 
609:   template<typename _CharT, typename _Traits>
609:     class istreambuf_iterator;
609: 
609:   template<typename _CharT, typename _Traits>
609:     class ostreambuf_iterator;
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
609:     __copy_move_a2(_CharT*, _CharT*,
609:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
609:     __copy_move_a2(const _CharT*, const _CharT*,
609:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:         _CharT*>::__type
609:     __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
609:      istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<
609:       __is_char<_CharT>::__value,
609:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
609:     __copy_move_a2(
609:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
609:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
609:  std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
609: 
609:   template<bool _IsMove, typename _II, typename _OI>
609:    
609:     inline _OI
609:     __copy_move_a2(_II __first, _II __last, _OI __result)
609:     {
609:       typedef typename iterator_traits<_II>::iterator_category _Category;
609: 
609: 
609: 
609: 
609: 
609:       return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value,
609:          _Category>::__copy_m(__first, __last, __result);
609:     }
609: 
609:   template<bool _IsMove,
609:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
609:     _OI
609:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
609:      std::_Deque_iterator<_Tp, _Ref, _Ptr>,
609:      _OI);
609: 
609:   template<bool _IsMove,
609:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
609:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
609:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
609:      std::_Deque_iterator<_ITp, _IRef, _IPtr>,
609:      std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
609: 
609:   template<bool _IsMove, typename _II, typename _Tp>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value,
609:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
609:     __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
609: 
609:   template<bool _IsMove, typename _II, typename _OI>
609:    
609:     inline _OI
609:     __copy_move_a1(_II __first, _II __last, _OI __result)
609:     { return std::__copy_move_a2<_IsMove>(__first, __last, __result); }
609: 
609:   template<bool _IsMove, typename _II, typename _OI>
609:    
609:     inline _OI
609:     __copy_move_a(_II __first, _II __last, _OI __result)
609:     {
609:       return std::__niter_wrap(__result,
609:   std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
609:           std::__niter_base(__last),
609:           std::__niter_base(__result)));
609:     }
609: 
609:   template<bool _IsMove,
609:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
609:     _OI
609:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
609:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
609:     _OI);
609: 
609:   template<bool _IsMove,
609:     typename _II, typename _Ite, typename _Seq, typename _Cat>
609:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
609:     __copy_move_a(_II, _II,
609:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
609: 
609:   template<bool _IsMove,
609:     typename _IIte, typename _ISeq, typename _ICat,
609:     typename _OIte, typename _OSeq, typename _OCat>
609:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
609:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
609:     const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
609:     const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
609: 
609:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
609:    
609:     _OutputIterator
609:     __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
609:         bool)
609:     {
609:       if (__n > 0)
609:  {
609:    while (true)
609:      {
609:        *__result = *__first;
609:        ++__result;
609:        if (--__n > 0)
609:   ++__first;
609:        else
609:   break;
609:      }
609:  }
609:       return __result;
609:     }
609: 
609:   template<typename _CharT, typename _Size>
609:     typename __gnu_cxx::__enable_if<
609:       __is_char<_CharT>::__value, _CharT*>::__type
609:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
609:         _Size, _CharT*, bool);
609: 
609:   template<typename _CharT, typename _Size>
609:     typename __gnu_cxx::__enable_if<
609:       __is_char<_CharT>::__value,
609:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
609:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
609:         std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
609:         bool);
609: # 608 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _II, typename _OI>
609:    
609:     inline _OI
609:     copy(_II __first, _II __last, _OI __result)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__copy_move_a<__is_move_iterator<_II>::__value>
609:       (std::__miter_base(__first), std::__miter_base(__last), __result);
609:     }
609: # 641 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _II, typename _OI>
609:    
609:     inline _OI
609:     move(_II __first, _II __last, _OI __result)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__copy_move_a<true>(std::__miter_base(__first),
609:           std::__miter_base(__last), __result);
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<bool _IsMove, bool _IsSimple, typename _Category>
609:     struct __copy_move_backward
609:     {
609:       template<typename _BI1, typename _BI2>
609: 
609:  static _BI2
609:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
609:  {
609:    while (__first != __last)
609:      *--__result = *--__last;
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<typename _Category>
609:     struct __copy_move_backward<true, false, _Category>
609:     {
609:       template<typename _BI1, typename _BI2>
609: 
609:  static _BI2
609:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
609:  {
609:    while (__first != __last)
609:      *--__result = std::move(*--__last);
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<>
609:     struct __copy_move_backward<false, false, random_access_iterator_tag>
609:     {
609:       template<typename _BI1, typename _BI2>
609: 
609:  static _BI2
609:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
609:  {
609:    typename iterator_traits<_BI1>::difference_type
609:      __n = __last - __first;
609:    for (; __n > 0; --__n)
609:      *--__result = *--__last;
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<>
609:     struct __copy_move_backward<true, false, random_access_iterator_tag>
609:     {
609:       template<typename _BI1, typename _BI2>
609: 
609:  static _BI2
609:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
609:  {
609:    typename iterator_traits<_BI1>::difference_type
609:      __n = __last - __first;
609:    for (; __n > 0; --__n)
609:      *--__result = std::move(*--__last);
609:    return __result;
609:  }
609:     };
609: 
609: 
609:   template<bool _IsMove>
609:     struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
609:     {
609:       template<typename _Tp>
609: 
609:  static _Tp*
609:  __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
609:  {
609: 
609:    using __assignable = __conditional_t<_IsMove,
609:             is_move_assignable<_Tp>,
609:             is_copy_assignable<_Tp>>;
609: 
609:    static_assert( __assignable::value, "type must be assignable" );
609: 
609:    const ptrdiff_t _Num = __last - __first;
609:    if (_Num)
609:      __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
609:    return __result - _Num;
609:  }
609:     };
609: 
609:   template<bool _IsMove, typename _BI1, typename _BI2>
609:    
609:     inline _BI2
609:     __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
609:     {
609:       typedef typename iterator_traits<_BI1>::iterator_category _Category;
609: 
609: 
609: 
609: 
609: 
609:       return std::__copy_move_backward<_IsMove,
609:            __memcpyable<_BI2, _BI1>::__value,
609:            _Category>::__copy_move_b(__first,
609:          __last,
609:          __result);
609:     }
609: 
609:   template<bool _IsMove, typename _BI1, typename _BI2>
609:    
609:     inline _BI2
609:     __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
609:     { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
609: 
609:   template<bool _IsMove,
609:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
609:     _OI
609:     __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
609:        std::_Deque_iterator<_Tp, _Ref, _Ptr>,
609:        _OI);
609: 
609:   template<bool _IsMove,
609:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
609:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
609:     __copy_move_backward_a1(
609:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
609:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
609:    std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
609: 
609:   template<bool _IsMove, typename _II, typename _Tp>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value,
609:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
609:     __copy_move_backward_a1(_II, _II,
609:        std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
609: 
609:   template<bool _IsMove, typename _II, typename _OI>
609:    
609:     inline _OI
609:     __copy_move_backward_a(_II __first, _II __last, _OI __result)
609:     {
609:       return std::__niter_wrap(__result,
609:   std::__copy_move_backward_a1<_IsMove>
609:     (std::__niter_base(__first), std::__niter_base(__last),
609:      std::__niter_base(__result)));
609:     }
609: 
609:   template<bool _IsMove,
609:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
609:     _OI
609:     __copy_move_backward_a(
609:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
609:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
609:   _OI);
609: 
609:   template<bool _IsMove,
609:     typename _II, typename _Ite, typename _Seq, typename _Cat>
609:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
609:     __copy_move_backward_a(_II, _II,
609:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
609: 
609:   template<bool _IsMove,
609:     typename _IIte, typename _ISeq, typename _ICat,
609:     typename _OIte, typename _OSeq, typename _OCat>
609:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
609:     __copy_move_backward_a(
609:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
609:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
609:   const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
609: # 845 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _BI1, typename _BI2>
609:    
609:     inline _BI2
609:     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
609:     {
609: 
609:      
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
609:       (std::__miter_base(__first), std::__miter_base(__last), __result);
609:     }
609: # 880 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _BI1, typename _BI2>
609:    
609:     inline _BI2
609:     move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
609:     {
609: 
609:      
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__copy_move_backward_a<true>(std::__miter_base(__first),
609:             std::__miter_base(__last),
609:             __result);
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline typename
609:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
609:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
609:        const _Tp& __value)
609:     {
609:       for (; __first != __last; ++__first)
609:  *__first = __value;
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline typename
609:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
609:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
609:        const _Tp& __value)
609:     {
609:       const _Tp __tmp = __value;
609:       for (; __first != __last; ++__first)
609:  *__first = __tmp;
609:     }
609: 
609: 
609:   template<typename _Tp>
609:    
609:     inline typename
609:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
609:     __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c)
609:     {
609:       const _Tp __tmp = __c;
609: # 941 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:       if (const size_t __len = __last - __first)
609:  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
609:     }
609: 
609:   template<typename _Ite, typename _Cont, typename _Tp>
609:    
609:     inline void
609:     __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
609:        ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
609:        const _Tp& __value)
609:     { std::__fill_a1(__first.base(), __last.base(), __value); }
609: 
609:   template<typename _Tp, typename _VTp>
609:     void
609:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
609:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
609:        const _VTp&);
609: 
609:  
609:   void
609:   __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
609:      const bool&);
609: 
609:   template<typename _FIte, typename _Tp>
609:    
609:     inline void
609:     __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
609:     { std::__fill_a1(__first, __last, __value); }
609: 
609:   template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
609:     void
609:     __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
609:       const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
609:       const _Tp&);
609: # 988 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline void
609:     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
609:     {
609: 
609:      
609: 
609:       ;
609: 
609:       std::__fill_a(__first, __last, __value);
609:     }
609: 
609: 
609:   inline constexpr int
609:   __size_to_integer(int __n) { return __n; }
609:   inline constexpr unsigned
609:   __size_to_integer(unsigned __n) { return __n; }
609:   inline constexpr long
609:   __size_to_integer(long __n) { return __n; }
609:   inline constexpr unsigned long
609:   __size_to_integer(unsigned long __n) { return __n; }
609:   inline constexpr long long
609:   __size_to_integer(long long __n) { return __n; }
609:   inline constexpr unsigned long long
609:   __size_to_integer(unsigned long long __n) { return __n; }
609: # 1040 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   inline constexpr long long
609:   __size_to_integer(float __n) { return (long long)__n; }
609:   inline constexpr long long
609:   __size_to_integer(double __n) { return (long long)__n; }
609:   inline constexpr long long
609:   __size_to_integer(long double __n) { return (long long)__n; }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _OutputIterator, typename _Size, typename _Tp>
609:    
609:     inline typename
609:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
609:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
609:     {
609:       for (; __n > 0; --__n, (void) ++__first)
609:  *__first = __value;
609:       return __first;
609:     }
609: 
609:   template<typename _OutputIterator, typename _Size, typename _Tp>
609:    
609:     inline typename
609:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
609:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
609:     {
609:       const _Tp __tmp = __value;
609:       for (; __n > 0; --__n, (void) ++__first)
609:  *__first = __tmp;
609:       return __first;
609:     }
609: 
609:   template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
609:     typename _Tp>
609:     ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
609:     __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
609:         _Size __n, const _Tp& __value,
609:         std::input_iterator_tag);
609: 
609:   template<typename _OutputIterator, typename _Size, typename _Tp>
609:    
609:     inline _OutputIterator
609:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
609:         std::output_iterator_tag)
609:     {
609: 
609:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
609: 
609:       return __fill_n_a1(__first, __n, __value);
609:     }
609: 
609:   template<typename _OutputIterator, typename _Size, typename _Tp>
609:    
609:     inline _OutputIterator
609:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
609:         std::input_iterator_tag)
609:     {
609: 
609:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
609: 
609:       return __fill_n_a1(__first, __n, __value);
609:     }
609: 
609:   template<typename _OutputIterator, typename _Size, typename _Tp>
609:    
609:     inline _OutputIterator
609:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
609:         std::random_access_iterator_tag)
609:     {
609: 
609:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
609: 
609:       if (__n <= 0)
609:  return __first;
609: 
609:       ;
609: 
609:       std::__fill_a(__first, __first + __n, __value);
609:       return __first + __n;
609:     }
609: # 1140 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _OI, typename _Size, typename _Tp>
609:    
609:     inline _OI
609:     fill_n(_OI __first, _Size __n, const _Tp& __value)
609:     {
609: 
609:      
609: 
609:       return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
609:           std::__iterator_category(__first));
609:     }
609: 
609:   template<bool _BoolType>
609:     struct __equal
609:     {
609:       template<typename _II1, typename _II2>
609: 
609:  static bool
609:  equal(_II1 __first1, _II1 __last1, _II2 __first2)
609:  {
609:    for (; __first1 != __last1; ++__first1, (void) ++__first2)
609:      if (!(*__first1 == *__first2))
609:        return false;
609:    return true;
609:  }
609:     };
609: 
609:   template<>
609:     struct __equal<true>
609:     {
609:       template<typename _Tp>
609: 
609:  static bool
609:  equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
609:  {
609:    if (const size_t __len = (__last1 - __first1))
609:      return !std::__memcmp(__first1, __first2, __len);
609:    return true;
609:  }
609:     };
609: 
609:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value, bool>::__type
609:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
609:    std::_Deque_iterator<_Tp, _Ref, _Ptr>,
609:    _II);
609: 
609:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
609:     typename _Tp2, typename _Ref2, typename _Ptr2>
609:     bool
609:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
609:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
609:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
609: 
609:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value, bool>::__type
609:     __equal_aux1(_II, _II,
609:   std::_Deque_iterator<_Tp, _Ref, _Ptr>);
609: 
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
609:     {
609:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
609:       const bool __simple = ((__is_integer<_ValueType1>::__value
609:          || __is_pointer<_ValueType1>::__value)
609:         && __memcmpable<_II1, _II2>::__value);
609:       return std::__equal<__simple>::equal(__first1, __last1, __first2);
609:     }
609: 
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
609:     {
609:       return std::__equal_aux1(std::__niter_base(__first1),
609:           std::__niter_base(__last1),
609:           std::__niter_base(__first2));
609:     }
609: 
609:   template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
609:     bool
609:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
609:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
609:   _II2);
609: 
609:   template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
609:     bool
609:     __equal_aux(_II1, _II1,
609:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
609: 
609:   template<typename _II1, typename _Seq1, typename _Cat1,
609:     typename _II2, typename _Seq2, typename _Cat2>
609:     bool
609:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
609:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
609:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
609: 
609:   template<typename, typename>
609:     struct __lc_rai
609:     {
609:       template<typename _II1, typename _II2>
609: 
609:  static _II1
609:  __newlast1(_II1, _II1 __last1, _II2, _II2)
609:  { return __last1; }
609: 
609:       template<typename _II>
609: 
609:  static bool
609:  __cnd2(_II __first, _II __last)
609:  { return __first != __last; }
609:     };
609: 
609:   template<>
609:     struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
609:     {
609:       template<typename _RAI1, typename _RAI2>
609: 
609:  static _RAI1
609:  __newlast1(_RAI1 __first1, _RAI1 __last1,
609:      _RAI2 __first2, _RAI2 __last2)
609:  {
609:    const typename iterator_traits<_RAI1>::difference_type
609:      __diff1 = __last1 - __first1;
609:    const typename iterator_traits<_RAI2>::difference_type
609:      __diff2 = __last2 - __first2;
609:    return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
609:  }
609: 
609:       template<typename _RAI>
609:  static bool
609:  __cnd2(_RAI, _RAI)
609:  { return true; }
609:     };
609: 
609:   template<typename _II1, typename _II2, typename _Compare>
609:    
609:     bool
609:     __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
609:        _II2 __first2, _II2 __last2,
609:        _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_II1>::iterator_category _Category1;
609:       typedef typename iterator_traits<_II2>::iterator_category _Category2;
609:       typedef std::__lc_rai<_Category1, _Category2> __rai_type;
609: 
609:       __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
609:       for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
609:     ++__first1, (void)++__first2)
609:  {
609:    if (__comp(__first1, __first2))
609:      return true;
609:    if (__comp(__first2, __first1))
609:      return false;
609:  }
609:       return __first1 == __last1 && __first2 != __last2;
609:     }
609: 
609:   template<bool _BoolType>
609:     struct __lexicographical_compare
609:     {
609:       template<typename _II1, typename _II2>
609: 
609:  static bool
609:  __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
609:  {
609:    using __gnu_cxx::__ops::__iter_less_iter;
609:    return std::__lexicographical_compare_impl(__first1, __last1,
609:            __first2, __last2,
609:            __iter_less_iter());
609:  }
609: 
609:       template<typename _II1, typename _II2>
609: 
609:  static int
609:  __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
609:  {
609:    while (__first1 != __last1)
609:      {
609:        if (__first2 == __last2)
609:   return +1;
609:        if (*__first1 < *__first2)
609:   return -1;
609:        if (*__first2 < *__first1)
609:   return +1;
609:        ++__first1;
609:        ++__first2;
609:      }
609:    return int(__first2 == __last2) - 1;
609:  }
609:     };
609: 
609:   template<>
609:     struct __lexicographical_compare<true>
609:     {
609:       template<typename _Tp, typename _Up>
609: 
609:  static bool
609:  __lc(const _Tp* __first1, const _Tp* __last1,
609:       const _Up* __first2, const _Up* __last2)
609:  { return __3way(__first1, __last1, __first2, __last2) < 0; }
609: 
609:       template<typename _Tp, typename _Up>
609: 
609:  static ptrdiff_t
609:  __3way(const _Tp* __first1, const _Tp* __last1,
609:         const _Up* __first2, const _Up* __last2)
609:  {
609:    const size_t __len1 = __last1 - __first1;
609:    const size_t __len2 = __last2 - __first2;
609:    if (const size_t __len = std::min(__len1, __len2))
609:      if (int __result = std::__memcmp(__first1, __first2, __len))
609:        return __result;
609:    return ptrdiff_t(__len1 - __len2);
609:  }
609:     };
609: 
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
609:        _II2 __first2, _II2 __last2)
609:     {
609:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
609:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
609:       const bool __simple =
609:  (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
609:   && __is_pointer<_II1>::__value
609:   && __is_pointer<_II2>::__value
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   );
609: 
609:       return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
609:            __first2, __last2);
609:     }
609: 
609:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
609:     typename _Tp2>
609:     bool
609:     __lexicographical_compare_aux1(
609:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
609:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
609:  _Tp2*, _Tp2*);
609: 
609:   template<typename _Tp1,
609:     typename _Tp2, typename _Ref2, typename _Ptr2>
609:     bool
609:     __lexicographical_compare_aux1(_Tp1*, _Tp1*,
609:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
609:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
609: 
609:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
609:     typename _Tp2, typename _Ref2, typename _Ptr2>
609:     bool
609:     __lexicographical_compare_aux1(
609:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
609:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
609:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
609:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
609: 
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
609:       _II2 __first2, _II2 __last2)
609:     {
609:       return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
609:        std::__niter_base(__last1),
609:        std::__niter_base(__first2),
609:        std::__niter_base(__last2));
609:     }
609: 
609:   template<typename _Iter1, typename _Seq1, typename _Cat1,
609:     typename _II2>
609:     bool
609:     __lexicographical_compare_aux(
609:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
609:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
609:   _II2, _II2);
609: 
609:   template<typename _II1,
609:     typename _Iter2, typename _Seq2, typename _Cat2>
609:     bool
609:     __lexicographical_compare_aux(
609:   _II1, _II1,
609:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
609:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
609: 
609:   template<typename _Iter1, typename _Seq1, typename _Cat1,
609:     typename _Iter2, typename _Seq2, typename _Cat2>
609:     bool
609:     __lexicographical_compare_aux(
609:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
609:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
609:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
609:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
609: 
609:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
609:    
609:     _ForwardIterator
609:     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
609:     const _Tp& __val, _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::difference_type
609:  _DistanceType;
609: 
609:       _DistanceType __len = std::distance(__first, __last);
609: 
609:       while (__len > 0)
609:  {
609:    _DistanceType __half = __len >> 1;
609:    _ForwardIterator __middle = __first;
609:    std::advance(__middle, __half);
609:    if (__comp(__middle, __val))
609:      {
609:        __first = __middle;
609:        ++__first;
609:        __len = __len - __half - 1;
609:      }
609:    else
609:      __len = __half;
609:  }
609:       return __first;
609:     }
609: # 1486 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline _ForwardIterator
609:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
609:   const _Tp& __val)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__lower_bound(__first, __last, __val,
609:     __gnu_cxx::__ops::__iter_less_val());
609:     }
609: 
609: 
609: 
609:   inline constexpr int
609:   __lg(int __n)
609:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
609: 
609:   inline constexpr unsigned
609:   __lg(unsigned __n)
609:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
609: 
609:   inline constexpr long
609:   __lg(long __n)
609:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
609: 
609:   inline constexpr unsigned long
609:   __lg(unsigned long __n)
609:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
609: 
609:   inline constexpr long long
609:   __lg(long long __n)
609:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
609: 
609:   inline constexpr unsigned long long
609:   __lg(unsigned long long __n)
609:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
609: 
609: 
609: # 1542 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     equal(_II1 __first1, _II1 __last1, _II2 __first2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609: 
609:       return std::__equal_aux(__first1, __last1, __first2);
609:     }
609: # 1573 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
609:    
609:     inline bool
609:     equal(_IIter1 __first1, _IIter1 __last1,
609:    _IIter2 __first2, _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609:      
609:       ;
609: 
609:       for (; __first1 != __last1; ++__first1, (void)++__first2)
609:  if (!bool(__binary_pred(*__first1, *__first2)))
609:    return false;
609:       return true;
609:     }
609: 
609: 
609: 
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
609:     {
609:       using _RATag = random_access_iterator_tag;
609:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
609:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
609:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
609:       if (_RAIters())
609:  {
609:    auto __d1 = std::distance(__first1, __last1);
609:    auto __d2 = std::distance(__first2, __last2);
609:    if (__d1 != __d2)
609:      return false;
609:    return std::equal(__first1, __last1, __first2);
609:  }
609: 
609:       for (; __first1 != __last1 && __first2 != __last2;
609:    ++__first1, (void)++__first2)
609:  if (!(*__first1 == *__first2))
609:    return false;
609:       return __first1 == __last1 && __first2 == __last2;
609:     }
609: 
609: 
609:   template<typename _II1, typename _II2, typename _BinaryPredicate>
609:    
609:     inline bool
609:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
609:       _BinaryPredicate __binary_pred)
609:     {
609:       using _RATag = random_access_iterator_tag;
609:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
609:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
609:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
609:       if (_RAIters())
609:  {
609:    auto __d1 = std::distance(__first1, __last1);
609:    auto __d2 = std::distance(__first2, __last2);
609:    if (__d1 != __d2)
609:      return false;
609:    return std::equal(__first1, __last1, __first2,
609:            __binary_pred);
609:  }
609: 
609:       for (; __first1 != __last1 && __first2 != __last2;
609:    ++__first1, (void)++__first2)
609:  if (!bool(__binary_pred(*__first1, *__first2)))
609:    return false;
609:       return __first1 == __last1 && __first2 == __last2;
609:     }
609: # 1663 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__equal4(__first1, __last1, __first2, __last2);
609:     }
609: # 1696 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
609:    
609:     inline bool
609:     equal(_IIter1 __first1, _IIter1 __last1,
609:    _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609:      
609:       ;
609:       ;
609: 
609:       return std::__equal4(__first1, __last1, __first2, __last2,
609:           __binary_pred);
609:     }
609: # 1728 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _II1, typename _II2>
609:    
609:     inline bool
609:     lexicographical_compare(_II1 __first1, _II1 __last1,
609:        _II2 __first2, _II2 __last2)
609:     {
609: 
609: 
609: 
609: 
609: 
609:      
609:      
609:      
609:      
609:       ;
609:       ;
609: 
609:       return std::__lexicographical_compare_aux(__first1, __last1,
609:       __first2, __last2);
609:     }
609: # 1763 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _II1, typename _II2, typename _Compare>
609:    
609:     inline bool
609:     lexicographical_compare(_II1 __first1, _II1 __last1,
609:        _II2 __first2, _II2 __last2, _Compare __comp)
609:     {
609: 
609:      
609:      
609:       ;
609:       ;
609: 
609:       return std::__lexicographical_compare_impl
609:  (__first1, __last1, __first2, __last2,
609:   __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: # 1875 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _BinaryPredicate>
609:    
609:     pair<_InputIterator1, _InputIterator2>
609:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
609:         _InputIterator2 __first2, _BinaryPredicate __binary_pred)
609:     {
609:       while (__first1 != __last1 && __binary_pred(__first1, __first2))
609:  {
609:    ++__first1;
609:    ++__first2;
609:  }
609:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
609:     }
609: # 1903 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2>
609:    
609:     inline pair<_InputIterator1, _InputIterator2>
609:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
609:       _InputIterator2 __first2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609: 
609:       return std::__mismatch(__first1, __last1, __first2,
609:         __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: # 1937 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _BinaryPredicate>
609:    
609:     inline pair<_InputIterator1, _InputIterator2>
609:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
609:       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609:      
609:       ;
609: 
609:       return std::__mismatch(__first1, __last1, __first2,
609:  __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
609:     }
609: 
609: 
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _BinaryPredicate>
609:    
609:     pair<_InputIterator1, _InputIterator2>
609:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
609:         _InputIterator2 __first2, _InputIterator2 __last2,
609:         _BinaryPredicate __binary_pred)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2
609:       && __binary_pred(__first1, __first2))
609:  {
609:    ++__first1;
609:    ++__first2;
609:  }
609:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
609:     }
609: # 1986 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2>
609:    
609:     inline pair<_InputIterator1, _InputIterator2>
609:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
609:       _InputIterator2 __first2, _InputIterator2 __last2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__mismatch(__first1, __last1, __first2, __last2,
609:         __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: # 2022 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _BinaryPredicate>
609:    
609:     inline pair<_InputIterator1, _InputIterator2>
609:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
609:       _InputIterator2 __first2, _InputIterator2 __last2,
609:       _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609:      
609:       ;
609:       ;
609: 
609:       return std::__mismatch(__first1, __last1, __first2, __last2,
609:         __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline _InputIterator
609:     __find_if(_InputIterator __first, _InputIterator __last,
609:        _Predicate __pred, input_iterator_tag)
609:     {
609:       while (__first != __last && !__pred(__first))
609:  ++__first;
609:       return __first;
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Predicate>
609:    
609:     _RandomAccessIterator
609:     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:        _Predicate __pred, random_access_iterator_tag)
609:     {
609:       typename iterator_traits<_RandomAccessIterator>::difference_type
609:  __trip_count = (__last - __first) >> 2;
609: 
609:       for (; __trip_count > 0; --__trip_count)
609:  {
609:    if (__pred(__first))
609:      return __first;
609:    ++__first;
609: 
609:    if (__pred(__first))
609:      return __first;
609:    ++__first;
609: 
609:    if (__pred(__first))
609:      return __first;
609:    ++__first;
609: 
609:    if (__pred(__first))
609:      return __first;
609:    ++__first;
609:  }
609: 
609:       switch (__last - __first)
609:  {
609:  case 3:
609:    if (__pred(__first))
609:      return __first;
609:    ++__first;
609: 
609:  case 2:
609:    if (__pred(__first))
609:      return __first;
609:    ++__first;
609: 
609:  case 1:
609:    if (__pred(__first))
609:      return __first;
609:    ++__first;
609: 
609:  case 0:
609:  default:
609:    return __last;
609:  }
609:     }
609: 
609:   template<typename _Iterator, typename _Predicate>
609:    
609:     inline _Iterator
609:     __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
609:     {
609:       return __find_if(__first, __last, __pred,
609:          std::__iterator_category(__first));
609:     }
609: 
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     typename iterator_traits<_InputIterator>::difference_type
609:     __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
609:     {
609:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
609:       for (; __first != __last; ++__first)
609:  if (__pred(__first))
609:    ++__n;
609:       return __n;
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Predicate>
609:    
609:     _ForwardIterator
609:     __remove_if(_ForwardIterator __first, _ForwardIterator __last,
609:   _Predicate __pred)
609:     {
609:       __first = std::__find_if(__first, __last, __pred);
609:       if (__first == __last)
609:  return __first;
609:       _ForwardIterator __result = __first;
609:       ++__first;
609:       for (; __first != __last; ++__first)
609:  if (!__pred(__first))
609:    {
609:      *__result = std::move(*__first);
609:      ++__result;
609:    }
609:       return __result;
609:     }
609: 
609: 
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     bool
609:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:        _ForwardIterator2 __first2, _BinaryPredicate __pred)
609:     {
609: 
609: 
609:       for (; __first1 != __last1; ++__first1, (void)++__first2)
609:  if (!__pred(__first1, __first2))
609:    break;
609: 
609:       if (__first1 == __last1)
609:  return true;
609: 
609: 
609: 
609:       _ForwardIterator2 __last2 = __first2;
609:       std::advance(__last2, std::distance(__first1, __last1));
609:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
609:  {
609:    if (__scan != std::__find_if(__first1, __scan,
609:      __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
609:      continue;
609: 
609:    auto __matches
609:      = std::__count_if(__first2, __last2,
609:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
609:    if (0 == __matches ||
609:        std::__count_if(__scan, __last1,
609:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
609:        != __matches)
609:      return false;
609:  }
609:       return true;
609:     }
609: # 2199 "/usr/include/c++/12/bits/stl_algobase.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2>
609:    
609:     inline bool
609:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:      _ForwardIterator2 __first2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609: 
609:       return std::__is_permutation(__first1, __last1, __first2,
609:        __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: 
609: 
609: 
609: }
609: # 61 "/usr/include/c++/12/algorithm" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_algo.h" 1 3
609: # 59 "/usr/include/c++/12/bits/stl_algo.h" 3
609: # 1 "/usr/include/c++/12/bits/algorithmfwd.h" 1 3
609: # 33 "/usr/include/c++/12/bits/algorithmfwd.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/algorithmfwd.h" 3
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/initializer_list" 1 3
609: # 33 "/usr/include/c++/12/initializer_list" 3
609:        
609: # 34 "/usr/include/c++/12/initializer_list" 3
609: 
609: 
609: 
609: 
609: 
609: #pragma GCC visibility push(default)
609: 
609: 
609: 
609: namespace std
609: {
609: 
609:   template<class _E>
609:     class initializer_list
609:     {
609:     public:
609:       typedef _E value_type;
609:       typedef const _E& reference;
609:       typedef const _E& const_reference;
609:       typedef size_t size_type;
609:       typedef const _E* iterator;
609:       typedef const _E* const_iterator;
609: 
609:     private:
609:       iterator _M_array;
609:       size_type _M_len;
609: 
609: 
609:       constexpr initializer_list(const_iterator __a, size_type __l)
609:       : _M_array(__a), _M_len(__l) { }
609: 
609:     public:
609:       constexpr initializer_list() noexcept
609:       : _M_array(0), _M_len(0) { }
609: 
609: 
609:       constexpr size_type
609:       size() const noexcept { return _M_len; }
609: 
609: 
609:       constexpr const_iterator
609:       begin() const noexcept { return _M_array; }
609: 
609: 
609:       constexpr const_iterator
609:       end() const noexcept { return begin() + size(); }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<class _Tp>
609:     constexpr const _Tp*
609:     begin(initializer_list<_Tp> __ils) noexcept
609:     { return __ils.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<class _Tp>
609:     constexpr const _Tp*
609:     end(initializer_list<_Tp> __ils) noexcept
609:     { return __ils.end(); }
609: }
609: 
609: #pragma GCC visibility pop
609: # 40 "/usr/include/c++/12/bits/algorithmfwd.h" 2 3
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 199 "/usr/include/c++/12/bits/algorithmfwd.h" 3
609:   template<typename _IIter, typename _Predicate>
609:    
609:     bool
609:     all_of(_IIter, _IIter, _Predicate);
609: 
609:   template<typename _IIter, typename _Predicate>
609:    
609:     bool
609:     any_of(_IIter, _IIter, _Predicate);
609: 
609: 
609:   template<typename _FIter, typename _Tp>
609:    
609:     bool
609:     binary_search(_FIter, _FIter, const _Tp&);
609: 
609:   template<typename _FIter, typename _Tp, typename _Compare>
609:    
609:     bool
609:     binary_search(_FIter, _FIter, const _Tp&, _Compare);
609: 
609: 
609:   template<typename _Tp>
609:     constexpr
609:     const _Tp&
609:     clamp(const _Tp&, const _Tp&, const _Tp&);
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     const _Tp&
609:     clamp(const _Tp&, const _Tp&, const _Tp&, _Compare);
609: 
609: 
609:   template<typename _IIter, typename _OIter>
609:    
609:     _OIter
609:     copy(_IIter, _IIter, _OIter);
609: 
609:   template<typename _BIter1, typename _BIter2>
609:    
609:     _BIter2
609:     copy_backward(_BIter1, _BIter1, _BIter2);
609: 
609: 
609:   template<typename _IIter, typename _OIter, typename _Predicate>
609:    
609:     _OIter
609:     copy_if(_IIter, _IIter, _OIter, _Predicate);
609: 
609:   template<typename _IIter, typename _Size, typename _OIter>
609:    
609:     _OIter
609:     copy_n(_IIter, _Size, _OIter);
609: 
609: 
609: 
609: 
609: 
609:   template<typename _FIter, typename _Tp>
609:    
609:     pair<_FIter, _FIter>
609:     equal_range(_FIter, _FIter, const _Tp&);
609: 
609:   template<typename _FIter, typename _Tp, typename _Compare>
609:    
609:     pair<_FIter, _FIter>
609:     equal_range(_FIter, _FIter, const _Tp&, _Compare);
609: 
609:   template<typename _FIter, typename _Tp>
609:    
609:     void
609:     fill(_FIter, _FIter, const _Tp&);
609: 
609:   template<typename _OIter, typename _Size, typename _Tp>
609:    
609:     _OIter
609:     fill_n(_OIter, _Size, const _Tp&);
609: 
609: 
609: 
609:   template<typename _FIter1, typename _FIter2>
609:    
609:     _FIter1
609:     find_end(_FIter1, _FIter1, _FIter2, _FIter2);
609: 
609:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
609:    
609:     _FIter1
609:     find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
609: 
609: 
609: 
609: 
609: 
609:   template<typename _IIter, typename _Predicate>
609:    
609:     _IIter
609:     find_if_not(_IIter, _IIter, _Predicate);
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _IIter1, typename _IIter2>
609:    
609:     bool
609:     includes(_IIter1, _IIter1, _IIter2, _IIter2);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _Compare>
609:    
609:     bool
609:     includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
609: 
609:   template<typename _BIter>
609:     void
609:     inplace_merge(_BIter, _BIter, _BIter);
609: 
609:   template<typename _BIter, typename _Compare>
609:     void
609:     inplace_merge(_BIter, _BIter, _BIter, _Compare);
609: 
609: 
609:   template<typename _RAIter>
609:    
609:     bool
609:     is_heap(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     bool
609:     is_heap(_RAIter, _RAIter, _Compare);
609: 
609:   template<typename _RAIter>
609:    
609:     _RAIter
609:     is_heap_until(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     _RAIter
609:     is_heap_until(_RAIter, _RAIter, _Compare);
609: 
609:   template<typename _IIter, typename _Predicate>
609:    
609:     bool
609:     is_partitioned(_IIter, _IIter, _Predicate);
609: 
609:   template<typename _FIter1, typename _FIter2>
609:    
609:     bool
609:     is_permutation(_FIter1, _FIter1, _FIter2);
609: 
609:   template<typename _FIter1, typename _FIter2,
609:     typename _BinaryPredicate>
609:    
609:     bool
609:     is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate);
609: 
609:   template<typename _FIter>
609:    
609:     bool
609:     is_sorted(_FIter, _FIter);
609: 
609:   template<typename _FIter, typename _Compare>
609:    
609:     bool
609:     is_sorted(_FIter, _FIter, _Compare);
609: 
609:   template<typename _FIter>
609:    
609:     _FIter
609:     is_sorted_until(_FIter, _FIter);
609: 
609:   template<typename _FIter, typename _Compare>
609:    
609:     _FIter
609:     is_sorted_until(_FIter, _FIter, _Compare);
609: 
609: 
609:   template<typename _FIter1, typename _FIter2>
609:    
609:     void
609:     iter_swap(_FIter1, _FIter2);
609: 
609:   template<typename _FIter, typename _Tp>
609:    
609:     _FIter
609:     lower_bound(_FIter, _FIter, const _Tp&);
609: 
609:   template<typename _FIter, typename _Tp, typename _Compare>
609:    
609:     _FIter
609:     lower_bound(_FIter, _FIter, const _Tp&, _Compare);
609: 
609:   template<typename _RAIter>
609:    
609:     void
609:     make_heap(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     void
609:     make_heap(_RAIter, _RAIter, _Compare);
609: 
609:   template<typename _Tp>
609:     constexpr
609:     const _Tp&
609:     max(const _Tp&, const _Tp&);
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     const _Tp&
609:     max(const _Tp&, const _Tp&, _Compare);
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr
609:     const _Tp&
609:     min(const _Tp&, const _Tp&);
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     const _Tp&
609:     min(const _Tp&, const _Tp&, _Compare);
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr
609:     pair<const _Tp&, const _Tp&>
609:     minmax(const _Tp&, const _Tp&);
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     pair<const _Tp&, const _Tp&>
609:     minmax(const _Tp&, const _Tp&, _Compare);
609: 
609:   template<typename _FIter>
609:     constexpr
609:     pair<_FIter, _FIter>
609:     minmax_element(_FIter, _FIter);
609: 
609:   template<typename _FIter, typename _Compare>
609:     constexpr
609:     pair<_FIter, _FIter>
609:     minmax_element(_FIter, _FIter, _Compare);
609: 
609:   template<typename _Tp>
609:     constexpr
609:     _Tp
609:     min(initializer_list<_Tp>);
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     _Tp
609:     min(initializer_list<_Tp>, _Compare);
609: 
609:   template<typename _Tp>
609:     constexpr
609:     _Tp
609:     max(initializer_list<_Tp>);
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     _Tp
609:     max(initializer_list<_Tp>, _Compare);
609: 
609:   template<typename _Tp>
609:     constexpr
609:     pair<_Tp, _Tp>
609:     minmax(initializer_list<_Tp>);
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     pair<_Tp, _Tp>
609:     minmax(initializer_list<_Tp>, _Compare);
609: 
609: 
609: 
609: 
609:   template<typename _BIter>
609:    
609:     bool
609:     next_permutation(_BIter, _BIter);
609: 
609:   template<typename _BIter, typename _Compare>
609:    
609:     bool
609:     next_permutation(_BIter, _BIter, _Compare);
609: 
609: 
609:   template<typename _IIter, typename _Predicate>
609:    
609:     bool
609:     none_of(_IIter, _IIter, _Predicate);
609: 
609: 
609: 
609: 
609: 
609:   template<typename _IIter, typename _RAIter>
609:    
609:     _RAIter
609:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter);
609: 
609:   template<typename _IIter, typename _RAIter, typename _Compare>
609:    
609:     _RAIter
609:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare);
609: 
609: 
609: 
609: 
609:   template<typename _IIter, typename _OIter1,
609:     typename _OIter2, typename _Predicate>
609:    
609:     pair<_OIter1, _OIter2>
609:     partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate);
609: 
609:   template<typename _FIter, typename _Predicate>
609:    
609:     _FIter
609:     partition_point(_FIter, _FIter, _Predicate);
609: 
609: 
609:   template<typename _RAIter>
609:    
609:     void
609:     pop_heap(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     void
609:     pop_heap(_RAIter, _RAIter, _Compare);
609: 
609:   template<typename _BIter>
609:    
609:     bool
609:     prev_permutation(_BIter, _BIter);
609: 
609:   template<typename _BIter, typename _Compare>
609:    
609:     bool
609:     prev_permutation(_BIter, _BIter, _Compare);
609: 
609:   template<typename _RAIter>
609:    
609:     void
609:     push_heap(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     void
609:     push_heap(_RAIter, _RAIter, _Compa:     : public integral_constant<std::size_t, 0> { };
1115: 
1115:   template<typename _Tp, std::size_t _Size>
1115:     struct rank<_Tp[_Size]>
1115:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1115: 
1115:   template<typename _Tp>
1115:     struct rank<_Tp[]>
1115:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1115: 
1115: 
1115:   template<typename, unsigned _Uint>
1115:     struct extent
1115:     : public integral_constant<std::size_t, 0> { };
1115: 
1115:   template<typename _Tp, unsigned _Uint, std::size_t _Size>
1115:     struct extent<_Tp[_Size], _Uint>
1115:     : public integral_constant<std::size_t,
1115:           _Uint == 0 ? _Size : extent<_Tp,
1115:           _Uint - 1>::value>
1115:     { };
1115: 
1115:   template<typename _Tp, unsigned _Uint>
1115:     struct extent<_Tp[], _Uint>
1115:     : public integral_constant<std::size_t,
1115:           _Uint == 0 ? 0 : extent<_Tp,
1115:              _Uint - 1>::value>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct is_same
1115: 
1115:     : public integral_constant<bool, __is_same(_Tp, _Up)>
1115: 
1115: 
1115: 
1115:     { };
1115: # 1445 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Base, typename _Derived>
1115:     struct is_base_of
1115:     : public integral_constant<bool, __is_base_of(_Base, _Derived)>
1115:     { };
1115: 
1115:   template<typename _From, typename _To,
1115:            bool = __or_<is_void<_From>, is_function<_To>,
1115:                         is_array<_To>>::value>
1115:     struct __is_convertible_helper
1115:     {
1115:       typedef typename is_void<_To>::type type;
1115:     };
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1115:   template<typename _From, typename _To>
1115:     class __is_convertible_helper<_From, _To, false>
1115:     {
1115:       template<typename _To1>
1115:  static void __test_aux(_To1) noexcept;
1115: 
1115:       template<typename _From1, typename _To1,
1115:         typename = decltype(__test_aux<_To1>(std::declval<_From1>()))>
1115:  static true_type
1115:  __test(int);
1115: 
1115:       template<typename, typename>
1115:  static false_type
1115:  __test(...);
1115: 
1115:     public:
1115:       typedef decltype(__test<_From, _To>(0)) type;
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115:   template<typename _From, typename _To>
1115:     struct is_convertible
1115:     : public __is_convertible_helper<_From, _To>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _ToElementType, typename _FromElementType>
1115:     using __is_array_convertible
1115:       = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
1115: 
1115:   template<typename _From, typename _To,
1115:            bool = __or_<is_void<_From>, is_function<_To>,
1115:                         is_array<_To>>::value>
1115:     struct __is_nt_convertible_helper
1115:     : is_void<_To>
1115:     { };
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1115:   template<typename _From, typename _To>
1115:     class __is_nt_convertible_helper<_From, _To, false>
1115:     {
1115:       template<typename _To1>
1115:  static void __test_aux(_To1) noexcept;
1115: 
1115:       template<typename _From1, typename _To1>
1115:  static
1115:  __bool_constant<noexcept(__test_aux<_To1>(std::declval<_From1>()))>
1115:  __test(int);
1115: 
1115:       template<typename, typename>
1115:  static false_type
1115:  __test(...);
1115: 
1115:     public:
1115:       using type = decltype(__test<_From, _To>(0));
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115:   template<typename _From, typename _To>
1115:     struct __is_nothrow_convertible
1115:     : public __is_nt_convertible_helper<_From, _To>::type
1115:     { };
1115: # 1543 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Tp>
1115:     struct remove_const
1115:     { typedef _Tp type; };
1115: 
1115:   templatere);
609: 
609: 
609: 
609:   template<typename _FIter, typename _Tp>
609:    
609:     _FIter
609:     remove(_FIter, _FIter, const _Tp&);
609: 
609:   template<typename _FIter, typename _Predicate>
609:    
609:     _FIter
609:     remove_if(_FIter, _FIter, _Predicate);
609: 
609:   template<typename _IIter, typename _OIter, typename _Tp>
609:    
609:     _OIter
609:     remove_copy(_IIter, _IIter, _OIter, const _Tp&);
609: 
609:   template<typename _IIter, typename _OIter, typename _Predicate>
609:    
609:     _OIter
609:     remove_copy_if(_IIter, _IIter, _OIter, _Predicate);
609: 
609: 
609: 
609:   template<typename _IIter, typename _OIter, typename _Tp>
609:    
609:     _OIter
609:     replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&);
609: 
609:   template<typename _Iter, typename _OIter, typename _Predicate, typename _Tp>
609:    
609:     _OIter
609:     replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&);
609: 
609: 
609: 
609:   template<typename _BIter>
609:    
609:     void
609:     reverse(_BIter, _BIter);
609: 
609:   template<typename _BIter, typename _OIter>
609:    
609:     _OIter
609:     reverse_copy(_BIter, _BIter, _OIter);
609: 
609:   inline namespace _V2
609:   {
609:     template<typename _FIter>
609:      
609:       _FIter
609:       rotate(_FIter, _FIter, _FIter);
609:   }
609: 
609:   template<typename _FIter, typename _OIter>
609:    
609:     _OIter
609:     rotate_copy(_FIter, _FIter, _FIter, _OIter);
609: # 625 "/usr/include/c++/12/bits/algorithmfwd.h" 3
609:   template<typename _RAIter, typename _UGenerator>
609:     void
609:     shuffle(_RAIter, _RAIter, _UGenerator&&);
609: 
609: 
609:   template<typename _RAIter>
609:    
609:     void
609:     sort_heap(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     void
609:     sort_heap(_RAIter, _RAIter, _Compare);
609: 
609:   template<typename _BIter, typename _Predicate>
609:     _BIter
609:     stable_partition(_BIter, _BIter, _Predicate);
609: # 658 "/usr/include/c++/12/bits/algorithmfwd.h" 3
609:   template<typename _FIter1, typename _FIter2>
609:    
609:     _FIter2
609:     swap_ranges(_FIter1, _FIter1, _FIter2);
609: 
609: 
609: 
609:   template<typename _FIter>
609:    
609:     _FIter
609:     unique(_FIter, _FIter);
609: 
609:   template<typename _FIter, typename _BinaryPredicate>
609:    
609:     _FIter
609:     unique(_FIter, _FIter, _BinaryPredicate);
609: 
609: 
609: 
609:   template<typename _FIter, typename _Tp>
609:    
609:     _FIter
609:     upper_bound(_FIter, _FIter, const _Tp&);
609: 
609:   template<typename _FIter, typename _Tp, typename _Compare>
609:    
609:     _FIter
609:     upper_bound(_FIter, _FIter, const _Tp&, _Compare);
609: 
609: 
609: 
609:   template<typename _FIter>
609:    
609:     _FIter
609:     adjacent_find(_FIter, _FIter);
609: 
609:   template<typename _FIter, typename _BinaryPredicate>
609:    
609:     _FIter
609:     adjacent_find(_FIter, _FIter, _BinaryPredicate);
609: 
609:   template<typename _IIter, typename _Tp>
609:    
609:     typename iterator_traits<_IIter>::difference_type
609:     count(_IIter, _IIter, const _Tp&);
609: 
609:   template<typename _IIter, typename _Predicate>
609:    
609:     typename iterator_traits<_IIter>::difference_type
609:     count_if(_IIter, _IIter, _Predicate);
609: 
609:   template<typename _IIter1, typename _IIter2>
609:    
609:     bool
609:     equal(_IIter1, _IIter1, _IIter2);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
609:    
609:     bool
609:     equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
609: 
609:   template<typename _IIter, typename _Tp>
609:    
609:     _IIter
609:     find(_IIter, _IIter, const _Tp&);
609: 
609:   template<typename _FIter1, typename _FIter2>
609:    
609:     _FIter1
609:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2);
609: 
609:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
609:    
609:     _FIter1
609:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _Bina<typename _Tp>
1115:     struct remove_const<_Tp const>
1115:     { typedef _Tp type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct remove_volatile
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_volatile<_Tp volatile>
1115:     { typedef _Tp type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct remove_cv
1115:     { using type = _Tp; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_cv<const _Tp>
1115:     { using type = _Tp; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_cv<volatile _Tp>
1115:     { using type = _Tp; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_cv<const volatile _Tp>
1115:     { using type = _Tp; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct add_const
1115:     { typedef _Tp const type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct add_volatile
1115:     { typedef _Tp volatile type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct add_cv
1115:     {
1115:       typedef typename
1115:       add_const<typename add_volatile<_Tp>::type>::type type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using remove_const_t = typename remove_const<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using remove_volatile_t = typename remove_volatile<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using remove_cv_t = typename remove_cv<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using add_const_t = typename add_const<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using add_volatile_t = typename add_volatile<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using add_cv_t = typename add_cv<_Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct remove_reference
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_reference<_Tp&>
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_reference<_Tp&&>
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __add_lvalue_reference_helper
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp>
1115:     struct __add_lvalue_reference_helper<_Tp, true>
1115:     { typedef _Tp& type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct add_lvalue_reference
1115:     : public __add_lvalue_reference_helper<_Tp>
1115:     { };
1115: 
1115:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1115:     struct __add_rvalue_reference_helper
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp>
1115:     struct __add_rvalue_reference_helper<_Tp, true>
1115:     { typedef _Tp&& type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct add_rvalue_reference
1115:     : public __add_rvalue_reference_helper<_Tp>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using remove_reference_t = typename remove_reference<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Unqualified, bool _IsConst, bool _IsVol>
1115:     struct __cv_selector;
1115: 
1115:   template<typename _Unqualified>
1115:     struct __cv_selector<_Unqualified, false, false>
1115:     { typedef _Unqualified __type; };
1115: 
1115:   template<typename _Unqualified>
1115:     struct __cv_selector<_Unqualified, false, true>
1115:     { typedef volatile _Unqualified __type; };
1115: 
1115:   template<typename _Unqualified>
1115:     struct __cv_selector<_Unqualified, true, false>
1115:     { typedef const _Unqualified __type; };
111ryPredicate);
609: 
609:   template<typename _IIter, typename _Predicate>
609:    
609:     _IIter
609:     find_if(_IIter, _IIter, _Predicate);
609: 
609:   template<typename _IIter, typename _Funct>
609:    
609:     _Funct
609:     for_each(_IIter, _IIter, _Funct);
609: 
609:   template<typename _FIter, typename _Generator>
609:    
609:     void
609:     generate(_FIter, _FIter, _Generator);
609: 
609:   template<typename _OIter, typename _Size, typename _Generator>
609:    
609:     _OIter
609:     generate_n(_OIter, _Size, _Generator);
609: 
609:   template<typename _IIter1, typename _IIter2>
609:    
609:     bool
609:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _Compare>
609:    
609:     bool
609:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
609: 
609:   template<typename _FIter>
609:     constexpr
609:     _FIter
609:     max_element(_FIter, _FIter);
609: 
609:   template<typename _FIter, typename _Compare>
609:     constexpr
609:     _FIter
609:     max_element(_FIter, _FIter, _Compare);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter>
609:    
609:     _OIter
609:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter,
609:     typename _Compare>
609:    
609:     _OIter
609:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
609: 
609:   template<typename _FIter>
609:     constexpr
609:     _FIter
609:     min_element(_FIter, _FIter);
609: 
609:   template<typename _FIter, typename _Compare>
609:     constexpr
609:     _FIter
609:     min_element(_FIter, _FIter, _Compare);
609: 
609:   template<typename _IIter1, typename _IIter2>
609:    
609:     pair<_IIter1, _IIter2>
609:     mismatch(_IIter1, _IIter1, _IIter2);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
609:    
609:     pair<_IIter1, _IIter2>
609:     mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
609: 
609:   template<typename _RAIter>
609:    
609:     void
609:     nth_element(_RAIter, _RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     void
609:     nth_element(_RAIter, _RAIter, _RAIter, _Compare);
609: 
609:   template<typename _RAIter>
609:    
609:     void
609:     partial_sort(_RAIter, _RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     void
609:     partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
609: 
609:   template<typename _BIter, typename _Predicate>
609:    
609:     _BIter
609:     partition(_BIter, _BIter, _Predicate);
609: 
609:   template<typename _RAIter>
609:     void
609:     random_shuffle(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Generator>
609:     void
609:     random_shuffle(_RAIter, _RAIter,
609: 
609:      _Generator&&);
609: 
609: 
609: 
609: 
609:   template<typename _FIter, typename _Tp>
609:    
609:     void
609:     replace(_FIter, _FIter, const _Tp&, const _Tp&);
609: 
609:   template<typename _FIter, typename _Predicate, typename _Tp>
609:    
609:     void
609:     replace_if(_FIter, _FIter, _Predicate, const _Tp&);
609: 
609:   template<typename _FIter1, typename _FIter2>
609:    
609:     _FIter1
609:     search(_FIter1, _FIter1, _FIter2, _FIter2);
609: 
609:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
609:    
609:     _FIter1
609:     search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
609: 
609:   template<typename _FIter, typename _Size, typename _Tp>
609:    
609:     _FIter
609:     search_n(_FIter, _FIter, _Size, const _Tp&);
609: 
609:   template<typename _FIter, typename _Size, typename _Tp,
609:     typename _BinaryPredicate>
609:    
609:     _FIter
609:     search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter>
609:    
609:     _OIter
609:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter,
609:     typename _Compare>
609:    
609:     _OIter
609:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter>
609:    
609:     _OIter
609:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter,
609:     typename _Compare>
609:    
609:     _OIter
609:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter>
609:    
609:     _OIter
609:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter,
609:     typename _Compare>
609:    
609:     _OIter
609:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2,
609:         _OIter, _Compare);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter>
609:    
609:     _OIter
609:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter,
609:     typename _Compare>
609:    
609:     _OIter
609:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
609: 
609:   template<typename _RAIter>
609:    
609:     void
609:     sort(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:    
609:     void
609:     sort(_RAIter, _RAIter, _Compare);
609: 
609:   template<typename _RAIter>
609:     void
609:     stable_sort(_RAIter, _RAIter);
609: 
609:   template<typename _RAIter, typename _Compare>
609:     void
609:     stable_sort(_RAIter, _RAIter, _Compare);
609: 
609:   template<typename _IIter, typename _OIter, typename _UnaryOperation>
609:    
609:     _OIter
609:     transform(_IIter, _IIter, _OIter, _UnaryOperation);
609: 
609:   template<typename _IIter1, typename _IIter2, typename _OIter,
609:     typename _BinaryOperation>
609:    
609:     _OIter
609:     transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation);
609: 
609:   template<typename _IIter, typename _OIter>
609:    
609:     _OIter
609:     unique_copy(_IIter, _IIter, _OIter);
609: 
609:   template<typename _IIter, typename _OIter, typename _BinaryPredicate>
609:    
609:     _OIter
609:     unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
609: 
609: 
609: 
609: }
609: # 60 "/usr/include/c++/12/bits/stl_algo.h" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_heap.h" 1 3
609: # 63 "/usr/include/c++/12/bits/stl_heap.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Distance,
609:     typename _Compare>
609:    
609:     _Distance
609:     __is_heap_until(_RandomAccessIterator __first, _Distance __n,
609:       _Compare& __comp)
609:     {
609:       _Distance __parent = 0;
609:       for (_Distance __child = 1; __child < __n; ++__child)
609:  {
609:    if (__comp(__first + __parent, __first + __child))
609:      return __child;
609:    if ((__child & 1) == 0)
609:      ++__parent;
609:  }
609:       return __n;
609:     }
609: 
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Distance>
609:    
609:     inline bool
609:     __is_heap(_RandomAccessIterator __first, _Distance __n)
609:     {
609:       __gnu_cxx::__ops::_Iter_less_iter __comp;
609:       return std::__is_heap_until(__first, __n, __comp) == __n;
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Compare,
609:     typename _Distance>
609:    
609:     inline bool
609:     __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n)
609:     {
609:       typedef __decltype(__comp) _Cmp;
609:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
609:       return std::__is_heap_until(__first, __n, __cmp) == __n;
609:     }
609: 
609:   template<typename _RandomA5: 
1115:   template<typename _Unqualified>
1115:     struct __cv_selector<_Unqualified, true, true>
1115:     { typedef const volatile _Unqualified __type; };
1115: 
1115:   template<typename _Qualified, typename _Unqualified,
1115:     bool _IsConst = is_const<_Qualified>::value,
1115:     bool _IsVol = is_volatile<_Qualified>::value>
1115:     class __match_cv_qualifiers
1115:     {
1115:       typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
1115: 
1115:     public:
1115:       typedef typename __match::__type __type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __make_unsigned
1115:     { typedef _Tp __type; };
1115: 
1115:   template<>
1115:     struct __make_unsigned<char>
1115:     { typedef unsigned char __type; };
1115: 
1115:   template<>
1115:     struct __make_unsigned<signed char>
1115:     { typedef unsigned char __type; };
1115: 
1115:   template<>
1115:     struct __make_unsigned<short>
1115:     { typedef unsigned short __type; };
1115: 
1115:   template<>
1115:     struct __make_unsigned<int>
1115:     { typedef unsigned int __type; };
1115: 
1115:   template<>
1115:     struct __make_unsigned<long>
1115:     { typedef unsigned long __type; };
1115: 
1115:   template<>
1115:     struct __make_unsigned<long long>
1115:     { typedef unsigned long long __type; };
1115: # 1771 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Tp,
1115:     bool _IsInt = is_integral<_Tp>::value,
1115:     bool _IsEnum = is_enum<_Tp>::value>
1115:     class __make_unsigned_selector;
1115: 
1115:   template<typename _Tp>
1115:     class __make_unsigned_selector<_Tp, true, false>
1115:     {
1115:       using __unsigned_type
1115:  = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
1115: 
1115:     public:
1115:       using __type
1115:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1115:     };
1115: 
1115:   class __make_unsigned_selector_base
1115:   {
1115:   protected:
1115:     template<typename...> struct _List { };
1115: 
1115:     template<typename _Tp, typename... _Up>
1115:       struct _List<_Tp, _Up...> : _List<_Up...>
1115:       { static constexpr size_t __size = sizeof(_Tp); };
1115: 
1115:     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
1115:       struct __select;
1115: 
1115:     template<size_t _Sz, typename _Uint, typename... _UInts>
1115:       struct __select<_Sz, _List<_Uint, _UInts...>, true>
1115:       { using __type = _Uint; };
1115: 
1115:     template<size_t _Sz, typename _Uint, typename... _UInts>
1115:       struct __select<_Sz, _List<_Uint, _UInts...>, false>
1115:       : __select<_Sz, _List<_UInts...>>
1115:       { };
1115:   };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     class __make_unsigned_selector<_Tp, false, true>
1115:     : __make_unsigned_selector_base
1115:     {
1115: 
1115:       using _UInts = _List<unsigned char, unsigned short, unsigned int,
1115:       unsigned long, unsigned long long>;
1115: 
1115:       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
1115: 
1115:     public:
1115:       using __type
1115:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct __make_unsigned<wchar_t>
1115:     {
1115:       using __type
1115:  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
1115:     };
1115: # 1845 "/usr/include/c++/12/type_traits" 3
1115:   template<>
1115:     struct __make_unsigned<char16_t>
1115:     {
1115:       using __type
1115:  = typename __make_unsigned_selector<char16_t, false, true>::__type;
1115:     };
1115: 
1115:   template<>
1115:     struct __make_unsigned<char32_t>
1115:     {
1115:       using __type
1115:  = typename __make_unsigned_selector<char32_t, false, true>::__type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct make_unsigned
1115:     { typedef typename __make_unsigned_selector<_Tp>::__type type; };
1115: 
1115: 
1115:   template<>
1115:     struct make_unsigned<bool>;
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __make_signed
1115:     { typedef _Tp __type; };
1115: 
1115:   template<>
1115:     struct __make_signed<char>
1115:     { typedef signed char __type; };
1115: 
1115:   template<>
1115:     struct __make_signed<unsigned char>
1115:     { typedef signed char __type; };
1115: 
1115:   template<>
1115:     struct __make_signed<unsigned short>
1115:     { typedef signed short __type; };
1115: 
1115:   template<>
1115:     struct __make_signed<unsigned int>
1115:     { typedef signed int __type; };
1115: 
1115:   template<>
1115:     struct __make_signed<unsigned long>
1115:     { typedef signed long __type; };
1115: 
1115:   template<>
1115:     struct __make_signed<unsigned long long>
1115:     { typedef signed long long __type; };
1115: # 1929 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Tp,
1115:     bool _IsInt = is_integral<_Tp>::value,
1115:     bool _IsEnum = is_enum<_Tp>::value>
1115:     class __make_signed_selector;
1115: 
1115:   template<typename _Tp>
1115:     class __make_signed_selector<_Tp, true, false>
1115:     {
1115:       using __signed_type
1115:  = typename __make_signed<__remove_cv_t<_Tp>>::__type;
1115: 
1115:     public:
1115:       using __type
1115:  = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     class __make_signed_selector<_Tp, false, true>
1115:     {
1115:       typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type;
1115: 
1115:     public:
1115:       typedef typename __make_signed_selector<__unsigned_type>::__type __type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct __make_signed<wchar_t>
1115:     {
1115:       using __type
1115:  = typename __make_signed_selector<wchar_t, false, true>::__type;
1115:     };
1115: # 1975 "/usr/include/c++/12/type_traits" 3
1115:   template<>
1115:     struct __make_signed<char16_t>
1115:     {
1115:       using __type
1115:  = typename __make_signed_selector<char16_t, false, true>::__type;
1115:     };
1115: 
1115:   template<>
1115:     struct __make_signed<char32_t>
1115:     {
1115:       using __type
1115:  = typename __make_signed_selector<char32_t, false, true>::__type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct make_signed
1115:     { typedef typename __make_signed_selector<_Tp>::__type type; };
1115: 
1115: 
1115:   template<>
1115:     struct make_signed<bool>;
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using make_signed_t = typename make_signed<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using make_unsigned_t = typename make_unsigned<_Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct remove_extent
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp, std::size_t _Size>
1115:     struct remove_extent<_Tp[_Size]>
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_extent<_Tp[]>
1115:     { typedef _Tp type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct remove_all_extents
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp, std::size_t _Size>
1115:     struct remove_all_extents<_Tp[_Size]>
1115:     { typedef typename remove_all_extents<_Tp>::type type; };
1115: 
1115:   template<typename _Tp>
1115:     struct remove_all_extents<_Tp[]>
1115:     { typedef typename remove_all_extents<_Tp>::type type; };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using remove_extent_t = typename remove_extent<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename>
1115:     struct __remove_pointer_helper
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct __remoccessIterator>
609:    
609:     inline bool
609:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     { return std::__is_heap(__first, std::distance(__first, __last)); }
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline bool
609:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:        _Compare __comp)
609:     {
609:       return std::__is_heap(__first, std::move(__comp),
609:        std::distance(__first, __last));
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
609:     typename _Compare>
609:    
609:     void
609:     __push_heap(_RandomAccessIterator __first,
609:   _Distance __holeIndex, _Distance __topIndex, _Tp __value,
609:   _Compare& __comp)
609:     {
609:       _Distance __parent = (__holeIndex - 1) / 2;
609:       while (__holeIndex > __topIndex && __comp(__first + __parent, __value))
609:  {
609:    *(__first + __holeIndex) = std::move(*(__first + __parent));
609:    __holeIndex = __parent;
609:    __parent = (__holeIndex - 1) / 2;
609:  }
609:       *(__first + __holeIndex) = std::move(__value);
609:     }
609: # 159 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline void
609:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
609:    _ValueType;
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:    _DistanceType;
609: 
609: 
609:      
609: 
609:      
609:       ;
609:       ;
609:       ;
609: 
609:       __gnu_cxx::__ops::_Iter_less_val __comp;
609:       _ValueType __value = std::move(*(__last - 1));
609:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
609:          _DistanceType(0), std::move(__value), __comp);
609:     }
609: # 195 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:        _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
609:    _ValueType;
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:    _DistanceType;
609: 
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
609:  __cmp(std::move(__comp));
609:       _ValueType __value = std::move(*(__last - 1));
609:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
609:          _DistanceType(0), std::move(__value), __cmp);
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Distance,
609:     typename _Tp, typename _Compare>
609:    
609:     void
609:     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
609:     _Distance __len, _Tp __value, _Compare __comp)
609:     {
609:       const _Distance __topIndex = __holeIndex;
609:       _Distance __secondChild = __holeIndex;
609:       while (__secondChild < (__len - 1) / 2)
609:  {
609:    __secondChild = 2 * (__secondChild + 1);
609:    if (__comp(__first + __secondChild,
609:        __first + (__secondChild - 1)))
609:      __secondChild--;
609:    *(__first + __holeIndex) = std::move(*(__first + __secondChild));
609:    __holeIndex = __secondChild;
609:  }
609:       if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2)
609:  {
609:    __secondChild = 2 * (__secondChild + 1);
609:    *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1)))
609:                                   ;
609:    __holeIndex = __secondChild - 1;
609:  }
609:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
609:  __cmp(std::move(__comp));
609:       std::__push_heap(__first, __holeIndex, __topIndex,
609:          std::move(__value), __cmp);
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:         _RandomAccessIterator __result, _Compare& __comp)
609:     {
609:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
609:  _ValueType;
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:  _DistanceType;
609: 
609:       _ValueType __value = std::move(*__result);
609:       *__result = std::move(*__first);
609:       std::__adjust_heap(__first, _DistanceType(0),
609:     _DistanceType(__last - __first),
609:     std::move(__value), __comp);
609:     }
609: # 280 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline void
609:     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       if (__last - __first > 1)
609:  {
609:    --__last;
609:    __gnu_cxx::__ops::_Iter_less_iter __comp;
609:    std::__pop_heap(__first, __last, __last, __comp);
609:  }
609:     }
609: # 314 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     pop_heap(_RandomAccessIterator __first,
609:       _RandomAccessIterator __last, _Compare __comp)
609:     {
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       if (__last - __first > 1)
609:  {
609:    typedef __decltype(__comp) _Cmp;
609:    __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
609:    --__last;
609:    std::__pop_heap(__first, __last, __last, __cmp);
609:  }
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     void
609:     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:   _Compare& __comp)
609:     {
609:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
609:    _ValueType;
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:    _DistanceType;
609: 
609:       if (__last - __first < 2)
609:  return;
609: 
609:       const _DistanceType __len = __last - __first;
609:       _DistanceType __parent = (__len - 2) / 2;
609:       while (true)
609:  {
609:    _ValueType __value = std::move(*(__first + __parent));
609:    std::__adjust_heap(__first, __parent, __len, std::move(__value),
609:         __comp);
609:    if (__parent == 0)
609:      return;
609:    __parent--;
609:  }
609:     }
609: # 372 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline void
609:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       __gnu_cxx::__ops::_Iter_less_iter __comp;
609:       std::__make_heap(__first, __last, __comp);
609:     }
609: # 399 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:        _Compare __comp)
609:     {
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       typedef __decltype(__comp) _Cmp;
609:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
609:       std::__make_heap(__first, __last, __cmp);
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     void
609:     __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:   _Compare& __comp)
609:     {
609:       while (__last - __first > 1)
609:  {
609:    --__last;
609:    std::__pop_heap(__first, __last, __last, __comp);
609:  }
609:     }
609: # 437 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline void
609:   ve_pointer_helper<_Tp, _Up*>
1115:     { typedef _Up type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct remove_pointer
1115:     : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>>
1115:     { };
1115: 
1115:   template<typename _Tp, bool = __or_<__is_referenceable<_Tp>,
1115:           is_void<_Tp>>::value>
1115:     struct __add_pointer_helper
1115:     { typedef _Tp type; };
1115: 
1115:   template<typename _Tp>
1115:     struct __add_pointer_helper<_Tp, true>
1115:     { typedef typename remove_reference<_Tp>::type* type; };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct add_pointer
1115:     : public __add_pointer_helper<_Tp>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using remove_pointer_t = typename remove_pointer<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using add_pointer_t = typename add_pointer<_Tp>::type;
1115: 
1115: 
1115:   template<std::size_t _Len>
1115:     struct __aligned_storage_msa
1115:     {
1115:       union __type
1115:       {
1115:  unsigned char __data[_Len];
1115:  struct __attribute__((__aligned__)) { } __align;
1115:       };
1115:     };
1115: # 2111 "/usr/include/c++/12/type_traits" 3
1115:   template<std::size_t _Len, std::size_t _Align =
1115:     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1115:     struct aligned_storage
1115:     {
1115:       union type
1115:       {
1115:  unsigned char __data[_Len];
1115:  struct __attribute__((__aligned__((_Align)))) { } __align;
1115:       };
1115:     };
1115: 
1115:   template <typename... _Types>
1115:     struct __strictest_alignment
1115:     {
1115:       static const size_t _S_alignment = 0;
1115:       static const size_t _S_size = 0;
1115:     };
1115: 
1115:   template <typename _Tp, typename... _Types>
1115:     struct __strictest_alignment<_Tp, _Types...>
1115:     {
1115:       static const size_t _S_alignment =
1115:         alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
1115:  ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
1115:       static const size_t _S_size =
1115:         sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
1115:  ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
1115:     };
1115: # 2150 "/usr/include/c++/12/type_traits" 3
1115:   template <size_t _Len, typename... _Types>
1115:     struct aligned_union
1115:     {
1115:     private:
1115:       static_assert(sizeof...(_Types) != 0, "At least one type is required");
1115: 
1115:       using __strictest = __strictest_alignment<_Types...>;
1115:       static const size_t _S_len = _Len > __strictest::_S_size
1115:  ? _Len : __strictest::_S_size;
1115:     public:
1115: 
1115:       static const size_t alignment_value = __strictest::_S_alignment;
1115: 
1115:       typedef typename aligned_storage<_S_len, alignment_value>::type type;
1115:     };
1115: 
1115:   template <size_t _Len, typename... _Types>
1115:     const size_t aligned_union<_Len, _Types...>::alignment_value;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Up,
1115:     bool _IsArray = is_array<_Up>::value,
1115:     bool _IsFunction = is_function<_Up>::value>
1115:     struct __decay_selector;
1115: 
1115: 
1115:   template<typename _Up>
1115:     struct __decay_selector<_Up, false, false>
1115:     { typedef __remove_cv_t<_Up> __type; };
1115: 
1115:   template<typename _Up>
1115:     struct __decay_selector<_Up, true, false>
1115:     { typedef typename remove_extent<_Up>::type* __type; };
1115: 
1115:   template<typename _Up>
1115:     struct __decay_selector<_Up, false, true>
1115:     { typedef typename add_pointer<_Up>::type __type; };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     class decay
1115:     {
1115:       typedef typename remove_reference<_Tp>::type __remove_type;
1115: 
1115:     public:
1115:       typedef typename __decay_selector<__remove_type>::__type type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __strip_reference_wrapper
1115:     {
1115:       typedef _Tp __type;
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __strip_reference_wrapper<reference_wrapper<_Tp> >
1115:     {
1115:       typedef _Tp& __type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using __decay_t = typename decay<_Tp>::type;
1115: 
1115:   template<typename _Tp>
1115:     using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
1115: 
1115: 
1115: 
1115: 
1115:   template<bool, typename _Tp = void>
1115:     struct enable_if
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct enable_if<true, _Tp>
1115:     { typedef _Tp type; };
1115: 
1115: 
1115: 
1115: 
1115:   template<bool _Cond, typename _Tp = void>
1115:     using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
1115: 
1115: 
1115:   template<typename... _Cond>
1115:     using _Require = __enable_if_t<__and_<_Cond...>::value>;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using __remove_cvref_t
1115:      = typename remove_cv<typename remove_reference<_Tp>::type>::type;
1115: 
1115: 
1115: 
1115: 
1115:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1115:     struct conditional
1115:     { typedef _Iftrue type; };
1115: 
1115: 
1115:   template<typename _Iftrue, typename _Iffalse>
1115:     struct conditional<false, _Iftrue, _Iffalse>
1115:     { typedef _Iffalse type; };
1115: 
1115: 
1115:   template<typename... _Tp>
1115:     struct common_type;
1115: 
1115: 
1115: 
1115: 
1115:   struct __do_common_type_impl
1115:   {
1115:     template<typename _Tp, typename _Up>
1115:       using __cond_t
1115:  = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
1115: 
1115: 
1115: 
1115:     template<typename _Tp, typename _Up>
1115:       static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
1115:       _S_test(int);
1115: # 2290 "/usr/include/c++/12/type_traits" 3
1115:     template<typename, typename>
1115:       static __failure_type
1115:       _S_test_2(...);
1115: 
1115:     template<typename _Tp, typename _Up>
1115:       static decltype(_S_test_2<_Tp, _Up>(0))
1115:       _S_test(...);
1115:   };
1115: 
1115: 
1115:   template<>
1115:     struct common_type<>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp0>
1115:     struct common_type<_Tp0>
1115:     : public common_type<_Tp0, _Tp0>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp1, typename _Tp2,
1115:     typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
1115:     struct __common_type_impl
1115:     {
1115: 
1115: 
1115:       using type = common_type<_Dp1, _Dp2>;
1115:     };
1115: 
1115:   template<typename _Tp1, typename _Tp2>
1115:     struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
1115:     : private __do_common_type_impl
1115:     {
1115: 
1115: 
1115:       using type = decltype(_S_test<_Tp1, _Tp2>(0));
1115:     };
1115: 
1115: 
1115:   template<typename _Tp1, typename _Tp2>
1115:     struct common_type<_Tp1, _Tp2>
1115:     : public __common_type_impl<_Tp1, _Tp2>::type
1115:     { };
1115: 
1115:   template<typename...>
1115:     struct __common_type_pack
1115:     { };
1115: 
1115:   template<typename, typename, typename = void>
1115:     struct __common_type_fold;
1115: 
1115: 
1115:   template<typename _Tp1, typename _Tp2, typename... _Rp>
1115:     struct common_type<_Tp1, _Tp2, _Rp...>
1115:     : public __common_type_fold<common_type<_Tp1, _Tp2>,
1115:     __common_type_pack<_Rp...>>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CTp, typename... _Rp>
1115:     struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
1115:          __void_t<typename _CTp::type>>
1115:     : public common_type<typename _CTp::type, _Rp...>
1115:     { };
1115: 
1115: 
1115:   template<typename _CTp, typename _Rp>
1115:     struct __common_type_fold<_CTp, _Rp, void>
1115:     { };
1115: 
1115:   template<typename _Tp, bool = is_enum<_Tp>::value>
1115:     struct __underlying_type_impl
1115:     {
1115:       using type = __underlying_type(_Tp);
1115:     };
1115: 
1115:   template<typename _Tp>
1115:/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
  298 |   typedef __SIZE_TYPE__         size_t;
      |           ^~~~~~~~~~~~~
0x137a10f internal_error(char const*, ...)
	???:0
0x389c8b pop_to_parent_deferring_access_checks()
	???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
     struct __underlying_type_impl<_Tp, false>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct underlying_type
1115:     : public __underlying_type_impl<_Tp>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __declval_protector
1115:     {
1115:       static const bool __stop = false;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     auto declval() noexcept -> decltype(__declval<_Tp>(0))
1115:     {
1115:       static_assert(__declval_protector<_Tp>::__stop,
1115:       "declval() must not be used!");
1115:       return __declval<_Tp>(0);
1115:     }
1115: 
1115: 
1115:   template<typename _Signature>
1115:     struct result_of;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   struct __invoke_memfun_ref { };
1115:   struct __invoke_memfun_deref { };
1115:   struct __invoke_memobj_ref { };
1115:   struct __invoke_memobj_deref { };
1115:   struct __invoke_other { };
1115: 
1115: 
1115:   template<typename _Tp, typename _Tag>
1115:     struct __result_of_success : __success_type<_Tp>
1115:     { using __invoke_type = _Tag; };
1115: 
1115: 
1115:   struct __result_of_memfun_ref_impl
1115:   {
1115:     template<typename _Fp, typename _Tp1, typename... _Args>
1115:       static __result_of_success<decltype(
1115:       (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
1115:       ), __invoke_memfun_ref> _S_test(int);
1115: 
1115:     template<typename...>
1115:       static __failure_type _S_test(...);
1115:   };
1115: 
1115:   template<typename _MemPtr, typename _Arg, typename... _Args>
1115:     struct __result_of_memfun_ref
1115:     : private __result_of_memfun_ref_impl
1115:     {
1115:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1115:     };
1115: 
1115: 
1115:   struct __result_of_memfun_deref_impl
1115:   {
1115:     template<typename _Fp, typename _Tp1, typename... _Args>
1115:       static __result_of_success<decltype(
1115:       ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
1115:       ), __invoke_memfun_deref> _S_test(int);
1115: 
1115:     template<typename...>
1115:       static __failure_type _S_test(...);
1115:   };
1115: 
1115:   template<typename _MemPtr, typename _Arg, typename... _Args>
1115:     struct __result_of_memfun_deref
1115:     : private __result_of_memfun_deref_impl
1115:     {
1115:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1115:     };
1115: 
1115: 
1115:   struct __result_of_memobj_ref_impl
1115:   {
1115:     template<typename _Fp, typename _Tp1>
1115:       static __result_of_success<decltype(
1115:       std::declval<_Tp1>().*std::declval<_Fp>()
1115:       ), __invoke_memobj_ref> _S_test(int);
1115: 
1115:     template<typename, typename>
1115:       static __failure_type _S_test(...);
1115:   };
1115: 
1115:   template<typename _MemPtr, typename _Arg>
1115:     struct __result_of_memobj_ref
1115:     : private __result_of_memobj_ref_impl
1115:     {
1115:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1115:     };
1115: 
1115: 
1115:   struct __result_of_memobj_deref_impl
1115:   {
1115:     template<typename _Fp, typename _Tp1>
1115:       static __result_of_success<decltype(
1115:       (*std::declval<_Tp1>()).*std::declval<_Fp>()
1115:       ), __invoke_memobj_deref> _S_test(int);
1115: 
1115:     template<typename, typename>
1115:       static __failure_type _S_test(...);
1115:   };
1115: 
1115:   template<typename _MemPtr, typename _Arg>
1115:     struct __result_of_memobj_deref
1115:     : private __result_of_memobj_deref_impl
1115:     {
1115:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1115:     };
1115: 
1115:   template<typename _MemPtr, typename _Arg>
1115:     struct __result_of_memobj;
1115: 
1115:   template<typename _Res, typename _Class, typename _Arg>
1115:     struct __result_of_memobj<_Res _Class::*, _Arg>
1115:     {
1115:       typedef __remove_cvref_t<_Arg> _Argval;
1115:       typedef _Res _Class::* _MemPtr;
1115:       typedef typename __condi  sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       __gnu_cxx::__ops::_Iter_less_iter __comp;
609:       std::__sort_heap(__first, __last, __comp);
609:     }
609: # 465 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:        _Compare __comp)
609:     {
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       typedef __decltype(__comp) _Cmp;
609:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
609:       std::__sort_heap(__first, __last, __cmp);
609:     }
609: # 494 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline _RandomAccessIterator
609:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       __gnu_cxx::__ops::_Iter_less_iter __comp;
609:       return __first +
609:  std::__is_heap_until(__first, std::distance(__first, __last), __comp);
609:     }
609: # 523 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline _RandomAccessIterator
609:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:     _Compare __comp)
609:     {
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       typedef __decltype(__comp) _Cmp;
609:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
609:       return __first
609:  + std::__is_heap_until(__first, std::distance(__first, __last), __cmp);
609:     }
609: # 548 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline bool
609:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     { return std::is_heap_until(__first, __last) == __last; }
609: # 562 "/usr/include/c++/12/bits/stl_heap.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline bool
609:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:      _Compare __comp)
609:     {
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       const auto __dist = std::distance(__first, __last);
609:       typedef __decltype(__comp) _Cmp;
609:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
609:       return std::__is_heap_until(__first, __dist, __cmp) == __dist;
609:     }
609: 
609: 
609: 
609: }
609: # 61 "/usr/include/c++/12/bits/stl_algo.h" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_tempbuf.h" 1 3
609: # 60 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
609: # 1 "/usr/include/c++/12/bits/stl_construct.h" 1 3
609: # 59 "/usr/include/c++/12/bits/stl_construct.h" 3
609: # 1 "/usr/include/c++/12/new" 1 3
609: # 38 "/usr/include/c++/12/new" 3
609:        
609: # 39 "/usr/include/c++/12/new" 3
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/exception.h" 1 3
609: # 34 "/usr/include/c++/12/bits/exception.h" 3
609:        
609: # 35 "/usr/include/c++/12/bits/exception.h" 3
609: 
609: #pragma GCC visibility push(default)
609: 
609: 
609: 
609: extern "C++" {
609: 
609: namespace std
609: {
609: # 61 "/usr/include/c++/12/bits/exception.h" 3
609:   class exception
609:   {
609:   public:
609:     exception() noexcept { }
609:     virtual ~exception() noexcept;
609: 
609:     exception(const exception&) = default;
609:     exception& operator=(const exception&) = default;
609:     exception(exception&&) = default;
609:     exception& operator=(exception&&) = default;
609: 
609: 
609: 
609: 
609:     virtual const char*
609:     what() const noexcept;
609:   };
609: 
609: 
609: 
609: }
609: 
609: }
609: 
609: #pragma GCC visibility pop
609: # 42 "/usr/include/c++/12/new" 2 3
609: 
609: #pragma GCC visibility push(default)
609: 
tional_t<__or_<is_same<_Argval, _Class>,
1115:         is_base_of<_Class, _Argval>>::value,
1115:         __result_of_memobj_ref<_MemPtr, _Arg>,
1115:         __result_of_memobj_deref<_MemPtr, _Arg>
1115:       >::type type;
1115:     };
1115: 
1115:   template<typename _MemPtr, typename _Arg, typename... _Args>
1115:     struct __result_of_memfun;
1115: 
1115:   template<typename _Res, typename _Class, typename _Arg, typename... _Args>
1115:     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
1115:     {
1115:       typedef typename remove_reference<_Arg>::type _Argval;
1115:       typedef _Res _Class::* _MemPtr;
1115:       typedef typename __conditional_t<is_base_of<_Class, _Argval>::value,
1115:         __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
1115:         __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
1115:       >::type type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
1115:     struct __inv_unwrap
1115:     {
1115:       using type = _Tp;
1115:     };
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
1115:     {
1115:       using type = _Up&;
1115:     };
1115: 
1115:   template<bool, bool, typename _Functor, typename... _ArgTypes>
1115:     struct __result_of_impl
1115:     {
1115:       typedef __failure_type type;
1115:     };
1115: 
1115:   template<typename _MemPtr, typename _Arg>
1115:     struct __result_of_impl<true, false, _MemPtr, _Arg>
1115:     : public __result_of_memobj<__decay_t<_MemPtr>,
1115:     typename __inv_unwrap<_Arg>::type>
1115:     { };
1115: 
1115:   template<typename _MemPtr, typename _Arg, typename... _Args>
1115:     struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
1115:     : public __result_of_memfun<__decay_t<_MemPtr>,
1115:     typename __inv_unwrap<_Arg>::type, _Args...>
1115:     { };
1115: 
1115: 
1115:   struct __result_of_other_impl
1115:   {
1115:     template<typename _Fn, typename... _Args>
1115:       static __result_of_success<decltype(
1115:       std::declval<_Fn>()(std::declval<_Args>()...)
1115:       ), __invoke_other> _S_test(int);
1115: 
1115:     template<typename...>
1115:       static __failure_type _S_test(...);
1115:   };
1115: 
1115:   template<typename _Functor, typename... _ArgTypes>
1115:     struct __result_of_impl<false, false, _Functor, _ArgTypes...>
1115:     : private __result_of_other_impl
1115:     {
1115:       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
1115:     };
1115: 
1115: 
1115:   template<typename _Functor, typename... _ArgTypes>
1115:     struct __invoke_result
1115:     : public __result_of_impl<
1115:         is_member_object_pointer<
1115:           typename remove_reference<_Functor>::type
1115:         >::value,
1115:         is_member_function_pointer<
1115:           typename remove_reference<_Functor>::type
1115:         >::value,
1115:  _Functor, _ArgTypes...
1115:       >::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Functor, typename... _ArgTypes>
1115:     struct result_of<_Functor(_ArgTypes...)>
1115:     : public __invoke_result<_Functor, _ArgTypes...>
1115:     { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
1115: 
1115: 
1115: 
1115:   template<size_t _Len, size_t _Align =
1115:      __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1115:     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
1115: 
1115:   template <size_t _Len, typename... _Types>
1115:     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using decay_t = typename decay<_Tp>::type;
1115: 
1115: 
1115:   template<bool _Cond, typename _Tp = void>
1115:     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
1115: 
1115: 
1115:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1115:     using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
1115: 
1115: 
1115:   template<typename.609: extern "C++" {
609: 
609: namespace std
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   class bad_alloc : public exception
609:   {
609:   public:
609:     bad_alloc() throw() { }
609: 
609: 
609:     bad_alloc(const bad_alloc&) = default;
609:     bad_alloc& operator=(const bad_alloc&) = default;
609: 
609: 
609: 
609: 
609:     virtual ~bad_alloc() throw();
609: 
609: 
609:     virtual const char* what() const throw();
609:   };
609: 
609: 
609:   class bad_array_new_length : public bad_alloc
609:   {
609:   public:
609:     bad_array_new_length() throw() { }
609: 
609: 
609: 
609:     virtual ~bad_array_new_length() throw();
609: 
609: 
609:     virtual const char* what() const throw();
609:   };
609: 
609: 
609: 
609:   enum class align_val_t: size_t {};
609: 
609: 
609:   struct nothrow_t
609:   {
609: 
609:     explicit nothrow_t() = default;
609: 
609:   };
609: 
609:   extern const nothrow_t nothrow;
609: 
609: 
609: 
609:   typedef void (*new_handler)();
609: 
609: 
609: 
609:   new_handler set_new_handler(new_handler) throw();
609: 
609: 
609: 
609:   new_handler get_new_handler() noexcept;
609: 
609: }
609: # 126 "/usr/include/c++/12/new" 3
609: [[__nodiscard__]] void* operator new(std::size_t)
609:   __attribute__((__externally_visible__));
609: [[__nodiscard__]] void* operator new[](std::size_t)
609:   __attribute__((__externally_visible__));
609: void operator delete(void*) noexcept
609:   __attribute__((__externally_visible__));
609: void operator delete[](void*) noexcept
609:   __attribute__((__externally_visible__));
609: 
609: void operator delete(void*, std::size_t) noexcept
609:   __attribute__((__externally_visible__));
609: void operator delete[](void*, std::size_t) noexcept
609:   __attribute__((__externally_visible__));
609: 
609: [[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept
609:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
609: [[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept
609:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
609: void operator delete(void*, const std::nothrow_t&) noexcept
609:   __attribute__((__externally_visible__));
609: void operator delete[](void*, const std::nothrow_t&) noexcept
609:   __attribute__((__externally_visible__));
609: 
609: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
609:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
609: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
609:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
609: void operator delete(void*, std::align_val_t)
609:   noexcept __attribute__((__externally_visible__));
609: void operator delete(void*, std::align_val_t, const std::nothrow_t&)
609:   noexcept __attribute__((__externally_visible__));
609: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
609:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
609: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
609:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
609: void operator delete[](void*, std::align_val_t)
609:   noexcept __attribute__((__externally_visible__));
609: void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
609:   noexcept __attribute__((__externally_visible__));
609: 
609: void operator delete(void*, std::size_t, std::align_val_t)
609:   noexcept __attribute__((__externally_visible__));
609: void operator delete[](void*, std::size_t, std::align_val_t)
609:   noexcept __attribute__((__externally_visible__));
609: 
609: 
609: 
609: 
609: [[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept
609: { return __p; }
609: [[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept
609: { return __p; }
609: 
609: 
609: inline void operator delete (void*, void*) noexcept { }
609: inline void operator delete[](void*, void*) noexcept { }
609: 
609: }
609: 
609: 
609: namespace std
609: {
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[nodiscard]] constexpr _Tp*
609:     launder(_Tp* __p) noexcept
609:     { return __builtin_launder(__p); }
609: 
609: 
609: 
609: 
609:   template<typename _Ret, typename... _Args , bool _NE>
609:     void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete;
609:   template<typename _Ret, typename... _Args , bool _NE>
609:     void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete;
609: 
609:   void launder(void*) = delete;
609:   void launder(const void*) = delete;
609:   void launder(volatile void*) = delete;
609:   void launder(const volatile void*) = delete;
609: 
609: 
609: 
609: 
609:   inline constexpr size_t hardware_destructive_interference_size = 64;
609:   inline constexpr size_t hardware_constructive_interference_size = 64;
609: 
609: }
609: # 236 "/usr/include/c++/12/new" 3
609: #pragma GCC visibility pop
609: # 60 "/usr/include/c++/12/bits/stl_construct.h" 2 3
609: # 73 "/usr/include/c++/12/bits/stl_construct.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template <typename _Tp>
609:     inline void
609:     destroy_at(_Tp* __location)
609:     {
609:       if constexpr (201703L > 201703L && is_array_v<_Tp>)
609:  {
609:    for (auto& __x : *__location)
609:      std::destroy_at(std::__addressof(__x));
609:  }
609:       else
609:  __location->~_Tp();
609:     }
609: # 106 "/usr/include/c++/12/bits/stl_construct.h" 3
609:   template<typename _Tp, typename... _Args>
609:    
609:     inline void
609:     _Construct(_Tp* __p, _Args&&... __args)
609:     {
609: # 119 "/usr/include/c++/12/bits/stl_construct.h" 3
609:       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
609:     }
609: # 132 "/usr/include/c++/12/bits/stl_construct.h" 3
609:   template<typename _T1>
609:     inline void
609:     _Construct_novalue(_T1* __p)
609:     { ::new((void*)__p) _T1; }
609: 
609:   template<typename _ForwardIterator>
609:     void
609:     _Destroy(_ForwardIterator __first, _ForwardIterator __last);
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr inline void
609:     _Destroy(_Tp* __pointer)
609:     {
609: 
609: 
609: 
609:       __pointer->~_Tp();
609: 
609:     }
609: 
609:   template<bool>
609:     struct _Destroy_aux
609:     {
609:       template<typename _ForwardIterator>
609:  static void
609:  __destroy(_ForwardIterator __first, _ForwardIterator __last)
609:  {
609:    for (; __first != __last; ++__first)
609:      std::_Destroy(std::__addressof(*__first));
609:  }
609:     };
609: 
609:   template<>
609:     struct _Destroy_aux<true>
609:     {
609:       template<typename _ForwardIterator>
609:         static void
609:         __destroy(_ForwardIterator, _ForwardIterator) { }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator>
609:     inline void
609:     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:                        _Value_type;
609: 
609: 
609:       static_assert(is_destructible<_Value_type>::value,
609:       "value type is destructible");
609: 
609: 
609: 
609: 
609: 
609:       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
609:  __destroy(__first, __last);
609:     }
609: 
609:   template<bool>
609:     struct _Destroy_n_aux
609:     {
609:       template<typename _ForwardIterator, typename _Size>
609:  static _ForwardIterator
609:  __destroy_n(_ForwardIterator __first, _Size __count)
609:  {
609:    for (; __count > 0; (void)++__first, --__count)
609:      std::_Destroy(std::__addressof(*__first));
609:    return __first;
609:  }
609:     };
609: 
609:   template<>
609:     struct _Destroy_n_aux<true>
609:     {
609:       template<typename _ForwardIterator, typename _Size>
609:         static _ForwardIterator
609:         __destroy_n(_ForwardIterator __first, _Size __count)
609:  {
609:    std::advance(__first, __count);
609:    return __first;
609:  }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Size>
609:     inline _ForwardIterator
609:     _Destroy_n(_ForwardIterator __first, _Size __count)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:                        _Value_type;
609: 
609: 
609:       static_assert(is_destructible<_Value_type>::value,
609:       "value type is destructible");
609: 
609: 
609: 
609: 
609: 
609:       return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>::
609:  __destroy_n(__first, __count);
609:     }
609: 
609: 
609:   template <typename _ForwardIterator>
609:     inline void
609:     destroy(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609:       std::_Destroy(__first, __last);
609:     }
609: 
609:   template <typename _ForwardIterator, typename _Size>
609:     inline _ForwardIterator
609:     destroy_n(_ForwardIterator __first, _Size __count)
609:     {
609:       return std::_Destroy_n(__first, __count);
609:     }
609: 
609: 
609: 
609: }
609: # 61 "/usr/include/c++/12/bits/stl_tempbuf.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   namespace __detail
609:   {
609:     template<typename _Tp>
609:       inline void
609:       __return_temporary_buffer(_Tp* __p,
609:     size_t __len __attribute__((__unused__)))
609:       {
609: 
609:  ::operator delete(__p, __len * sizeof(_Tp));
609: 
609: 
609: 
609:       }
609:   }
609: # 98 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
609:   template<typename _Tp>
609:     [[__deprecated__]]
609:     pair<_Tp*, ptrdiff_t>
609:     get_temporary_buffer(ptrdiff_t __len) noexcept
609:     {
609:       const ptrdiff_t __max =
609:  __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
609:       if (__len > __max)
609:  __len = __max;
609: 
609:       while (__len > 0)
609:  {
609:    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
609:        std::nothrow));
609:    if (__tmp != 0)
609:      return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
609:    __len = __len == 1 ? 0 : ((__len + 1) / 2);
609:  }
609:       return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
609:     }
609: # 126 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
609:   template<typename _Tp>
609:     inline void
609:     return_temporary_buffer(_Tp* __p)
609:     { ::operator delete(__p); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Tp>
609:     class _Temporary_buffer
609:     {
609: 
609:      
609: 
609:     public:
609:       typedef _Tp value_type;
609:       typedef value_type* pointer;
609:       typedef pointer iterator;
609:       typedef ptrdiff_t size_type;
609: 
609:     protected:
609:       size_type _M_original_len;
609:       size_type _M_len;
609:       pointer _M_buffer;
609: 
609:     public:
609: 
609:       size_type
609:       size() const
609:       { return _M_len; }
609: 
609: 
609:       size_type
609:       requested_size() const
609:       { return _M_original_len; }
609: 
609: 
609:       iterator
609:       begin()
609:       { return _M_buffer; }
609: 
609: 
609:       iterator
609:       end()
609:       { return _M_buffer + _M_len; }
609: 
609: 
609: 
609: 
609: 
609:       _Temporary_buffer(_ForwardIterator __seed, size_type __original_len);
609: 
609:       ~_Temporary_buffer()
609:       {
609:  std::_Destroy(_M_buffer, _M_buffer + _M_len);
609:  std::__detail::__return_temporary_buffer(_M_buffer, _M_len);
609:       }
609: 
609:     private:
609: 
609:       _Temporary_buffer(const _Temporary_buffer&);
609: 
609:       void
609:       operator=(const _Temporary_buffer&);
609:     };
609: 
609: 
609:   template<bool>
609:     struct __uninitialized_construct_buf_dispatch
609:     {
609:       template<typename _Pointer, typename _ForwardIterator>
609:         static void
609:         __ucr(_Pointer __first, _Pointer __last,
609:        _ForwardIterator __seed)
609:         {
609:    if (__first == _.. _Tp>
1115:     using common_type_t = typename common_type<_Tp...>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using underlying_type_t = typename underlying_type<_Tp>::type;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using result_of_t = typename result_of<_Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename...> using void_t = void;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Default, typename _AlwaysVoid,
1115:     template<typename...> class _Op, typename... _Args>
1115:     struct __detector
1115:     {
1115:       using value_t = false_type;
1115:       using type = _Default;
1115:     };
1115: 
1115: 
1115:   template<typename _Default, template<typename...> class _Op,
1115:      typename... _Args>
1115:     struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
1115:     {
1115:       using value_t = true_type;
1115:       using type = _Op<_Args...>;
1115:     };
1115: 
1115: 
1115:   template<typename _Default, template<typename...> class _Op,
1115:     typename... _Args>
1115:     using __detected_or = __detector<_Default, void, _Op, _Args...>;
1115: 
1115: 
1115:   template<typename _Default, template<typename...> class _Op,
1115:     typename... _Args>
1115:     using __detected_or_t
1115:       = typename __detected_or<_Default, _Op, _Args...>::type;
1115: # 2684 "/usr/include/c++/12/type_traits" 3
1115:   template <typename _Tp>
1115:     struct __is_swappable;
1115: 
1115:   template <typename _Tp>
1115:     struct __is_nothrow_swappable;
1115: 
1115:   template<typename>
1115:     struct __is_tuple_like_impl : false_type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_tuple_like
1115:     : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:    
1115:     inline
1115:     _Require<__not_<__is_tuple_like<_Tp>>,
1115:       is_move_constructible<_Tp>,
1115:       is_move_assignable<_Tp>>
1115:     swap(_Tp&, _Tp&)
1115:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1115:              is_nothrow_move_assignable<_Tp>>::value);
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:    
1115:     inline
1115:     __enable_if_t<__is_swappable<_Tp>::value>
1115:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1115:     noexcept(__is_nothrow_swappable<_Tp>::value);
1115: 
1115: 
1115:   namespace __swappable_details {
1115:     using std::swap;
1115: 
1115:     struct __do_is_swappable_impl
1115:     {
1115:       template<typename _Tp, typename
1115:                = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
1115:         static true_type __test(int);
1115: 
1115:       template<typename>
1115:         static false_type __test(...);
1115:     };
1115: 
1115:     struct __do_is_nothrow_swappable_impl
1115:     {
1115:       template<typename _Tp>
1115:         static __bool_constant<
1115:           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
1115:         > __test(int);
1115: 
1115:       template<typename>
1115:         static false_type __test(...);
1115:     };
1115: 
1115:   }
1115: 
1115:   template<typename _Tp>
1115:     struct __is_swappable_impl
1115:     : public __swappable_details::__do_is_swappable_impl
1115:     {
1115:       typedef decltype(__test<_Tp>(0)) type;
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nothrow_swappable_impl
1115:     : public __swappable_details::__do_is_nothrow_swappable_impl
1115:     {
1115:       typedef decltype(__test<_Tp>(0)) type;
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_swappable
1115:     : public __is_swappable_impl<_Tp>::type
1115:     { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nothrow_swappable
1115:     : public __is_nothrow_swappable_impl<_Tp>::type
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_swappable
1115:     : public __is_swappable_impl<_Tp>::type
1115:     {
1115:       static_assert(st_last)
609:      return;
609: 
609:    _Pointer __cur = __first;
609:    try
609:      {
609:        std::_Construct(std::__addressof(*__first),
609:          std::move(*__seed));
609:        _Pointer __prev = __cur;
609:        ++__cur;
609:        for(; __cur != __last; ++__cur, ++__prev)
609:   std::_Construct(std::__addressof(*__cur),
609:     std::move(*__prev));
609:        *__seed = std::move(*__prev);
609:      }
609:    catch(...)
609:      {
609:        std::_Destroy(__first, __cur);
609:        throw;
609:      }
609:  }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_construct_buf_dispatch<true>
609:     {
609:       template<typename _Pointer, typename _ForwardIterator>
609:         static void
609:         __ucr(_Pointer, _Pointer, _ForwardIterator) { }
609:     };
609: # 244 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
609:   template<typename _Pointer, typename _ForwardIterator>
609:     inline void
609:     __uninitialized_construct_buf(_Pointer __first, _Pointer __last,
609:       _ForwardIterator __seed)
609:     {
609:       typedef typename std::iterator_traits<_Pointer>::value_type
609:  _ValueType;
609: 
609:       std::__uninitialized_construct_buf_dispatch<
609:         __has_trivial_constructor(_ValueType)>::
609:    __ucr(__first, __last, __seed);
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp>
609:     _Temporary_buffer<_ForwardIterator, _Tp>::
609:     _Temporary_buffer(_ForwardIterator __seed, size_type __original_len)
609:     : _M_original_len(__original_len), _M_len(0), _M_buffer(0)
609:     {
609:       std::pair<pointer, size_type> __p(
609:   std::get_temporary_buffer<value_type>(_M_original_len));
609: 
609:       if (__p.first)
609:  {
609:    try
609:      {
609:        std::__uninitialized_construct_buf(__p.first, __p.first + __p.second,
609:        __seed);
609:        _M_buffer = __p.first;
609:        _M_len = __p.second;
609:      }
609:    catch(...)
609:      {
609:        std::__detail::__return_temporary_buffer(__p.first, __p.second);
609:        throw;
609:      }
609:  }
609:     }
609: 
609: 
609: }
609: # 62 "/usr/include/c++/12/bits/stl_algo.h" 2 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/uniform_int_dist.h" 1 3
609: # 41 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 58 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
609:   namespace __detail
609:   {
609: 
609: 
609: 
609:     template<typename _Tp>
609:       constexpr bool
609:       _Power_of_2(_Tp __x)
609:       {
609:  return ((__x - 1) & __x) == 0;
609:       }
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _IntType = int>
609:     class uniform_int_distribution
609:     {
609:       static_assert(std::is_integral<_IntType>::value,
609:       "template argument must be an integral type");
609: 
609:     public:
609: 
609:       typedef _IntType result_type;
609: 
609:       struct param_type
609:       {
609:  typedef uniform_int_distribution<_IntType> distribution_type;
609: 
609:  param_type() : param_type(0) { }
609: 
609:  explicit
609:  param_type(_IntType __a,
609:      _IntType __b = __gnu_cxx::__int_traits<_IntType>::__max)
609:  : _M_a(__a), _M_b(__b)
609:  {
609:    do { if (std::__is_constant_evaluated() && !bool(_M_a <= _M_b)) __builtin_unreachable(); } while (false);
609:  }
609: 
609:  result_type
609:  a() const
609:  { return _M_a; }
609: 
609:  result_type
609:  b() const
609:  { return _M_b; }
609: 
609:  friend bool
609:  operator==(const param_type& __p1, const param_type& __p2)
609:  { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; }
609: 
609:  friend bool
609:  operator!=(const param_type& __p1, const param_type& __p2)
609:  { return !(__p1 == __p2); }
609: 
609:       private:
609:  _IntType _M_a;
609:  _IntType _M_b;
609:       };
609: 
609:     public:
609: 
609: 
609: 
609:       uniform_int_distribution() : uniform_int_distribution(0) { }
609: 
609: 
609: 
609: 
609:       explicit
609:       uniform_int_distribution(_IntType __a,
609:           _IntType __b
609:      = __gnu_cxx::__int_traits<_IntType>::__max)
609:       : _M_param(__a, __b)
609:       { }
609: 
609:       explicit
609:       uniform_int_distribution(const param_type& __p)
609:       : _M_param(__p)
609:       { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       reset() { }
609: 
609:       result_type
609:       a() const
609:       { return _M_param.a(); }
609: 
609:       result_type
609:       b() const
609:       { return _M_param.b(); }
609: 
609: 
609: 
609: 
609:       param_type
609:       param() const
609:       { return _M_param; }
609: 
609: 
609: 
609: 
609: 
609:       void
609:       param(const param_type& __param)
609:       { _M_param = __param; }
609: 
609: 
609: 
609: 
609:       result_type
609:       min() const
609:       { return this->a(); }
609: 
609: 
609: 
609: 
609:       result_type
609:       max() const
609:       { return this->b(); }
609: 
609: 
609: 
609: 
609:       template<typename _UniformRandomBitGenerator>
609:  result_type
609:  operator()(_UniformRandomBitGenerator& __urng)
609:         { return this->operator()(__urng, _M_param); }
609: 
609:       template<typename _UniformRandomBitGenerator>
609:  result_type
609:  operator()(_UniformRandomBitGenerator& __urng,
609:      const param_type& __p);
609: 
609:       template<typename _ForwardIterator,
609:         typename _UniformRandomBitGenerator>
609:  void
609:  __generate(_ForwardIterator __f, _ForwardIterator __t,
609:      _UniformRandomBitGenerator& __urng)
609:  { this->__generate(__f, __t, __urng, _M_param); }
609: 
609:       template<typename _ForwardIterator,
609:         typename _UniformRandomBitGenerator>
609:  void
609:  __generate(_ForwardIterator __f, _ForwardIterator __t,
609:      _UniformRandomBitGenerator& __urng,
609:      const param_type& __p)
609:  { this->__generate_impl(__f, __t, __urng, __p); }
609: 
609:       template<typename _UniformRandomBitGenerator>
609:  void
609:  __generate(result_type* __f, result_type* __t,
609:      _UniformRandomBitGenerator& __urng,
609:      const param_type& __p)
609:  { this->__generate_impl(__f, __t, __urng, __p); }
609: 
609: 
609: 
609: 
609: 
609:       friend bool
609:       operator==(const uniform_int_distribution& __d1,
609:    const uniform_int_distribution& __d2)
609:       { return __d1._M_param == __d2._M_param; }
609: 
609:     private:
609:       template<typename _ForwardIterator,
609:         typename _UniformRandomBitGenerator>
609:  void
609:  __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
609:    _UniformRandomBitGenerator& __urng,
609:    const param_type& __p);
609: 
609:       param_type _M_param;
609: 
609: 
609: 
609: 
609:       template<typename _Wp, typename _Urbg, typename _Up>
609:  static _Up
609:  _S_nd(_Urbg& __g, _Up __range)
609:  {
609:    using _Up_traits = __gnu_cxx::__int_traits<_Up>;
609:    using _Wp_traits = __gnu_cxx::__int_traits<_Wp>;
609:    static_assert(!_Up_traits::__is_signed, "U must be unsigned");
609:    static_assert(!_Wp_traits::__is_signed, "W must be unsigned");
609:    static_assert(_Wp_traits::__digits == (2 * _Up_traits::__digits),
609:    "W must be twice as wide as U");
609: 
609: 
609: 
609: 
609:    _Wp __product = _Wp(__g()) * _Wp(__range);
609:    _Up __low = _Up(__product);
609:    if (__low < __range)
609:      {
609:        _Up __threshold = -__range % __range;
609:        while (__low < __threshold)
609:   {
609:     __product = _Wp(__g()) * _Wp(__range);
609:     __low = _Up(__product);
609:   }
609:      }
609:    return __product >> _Up_traits::__digits;
609:  }
609:     };
609: 
609:   template<typename _IntType>
609:     template<typename _UniformRandomBitGenerator>
609:       typename uniform_int_distribution<_IntType>::result_type
609:       uniform_int_distribution<_IntType>::
609:       operator()(_UniformRandomBitGenerator& __urng,
609:    const param_type& __param)
609:       {
609:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
609:  typedef typename make_unsigned<result_type>::type __utype;
609:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
609: 
609:  constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
609:  constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
609:  static_assert( __urngmin < __urngmax,
609:      "Uniform random bit generator must define min() < max()");
609:  constexpr __uctype __urngrange = __urngmax - __urngmin;
609: 
609:  const __uctype __urange
609:    = __uctype(__param.b()) - __uctype(__param.a());
609: 
609:  __uctype __ret;
609:  if (__urngrange > __urange)
609:    {
609: 
609: 
609:      const __uctype __uerange = __urange + 1;
609: # 312 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
609:      if constexpr (__urngrange == 0xffffffffU)
609:        {
609: 
609: 
609:   unsigned int __u32erange = __uerange;
609:   __ret = _S_nd<long long unsigned int>(__urng, __u32erange);
609:        }
609:      else
609: 
609:        {
609: 
609:   const __uctype __scaling = __urngrange / __uerange;
609:   const __uctype __past = __uerange * __scaling;
609:   do
609:     __ret = __uctype(__urng()) - __urngmin;
609:   while (__ret >= __past);
609:   __ret /= __scaling;
609:        }
609:    }
609:  else if (__urngrange < __urange)
609:    {
609: # 348 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
609:      __uctype __tmp;
609:      do
609:        {
609:   const __uctype __uerngrange = __urngrange + 1;
609:   __tmp = (__uerngrange * operator()
609:     (__urng, param_type(0, __urange / __uerngrange)));
609:   __ret = __tmp + (__uctype(__urng()) - __urngmin);
609:        }
609:      while (__ret > __urange || __ret < __tmp);
609:    }
609:  else
609:    __ret = __uctype(__urng()) - __urngmin;
609: 
609:  return __ret + __param.a();
609:       }
609: 
609: 
609:   template<typename _IntType>
609:     template<typename _ForwardIterator,
609:       typename _UniformRandomBitGenerator>
609:       void
609:       uniform_int_distribution<_IntType>::
609:       __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
609:         _UniformRandomBitGenerator& __urng,
609:         const param_type& __param)
609:       {
609: 
609:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
609:  typedef typename make_unsigned<result_type>::type __utype;
609:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
609: 
609:  static_assert( __urng.min() < __urng.max(),
609:      "Uniform random bit generator must define min() < max()");
609: 
609:  constexpr __uctype __urngmin = __urng.min();
609:  constexpr __uctype __urngmax = __urng.max();
609:  constexpr __uctype __urngrange = __urngmax - __urngmin;
609:  const __uctype __urange
609:    = __uctype(__param.b()) - __uctype(__param.a());
609: 
609:  __uctype __ret;
609: 
609:  if (__urngrange > __urange)
609:    {
609:      if (__detail::_Power_of_2(__urngrange + 1)
609:   && __detail::_Power_of_2(__urange + 1))
609:        {
609:   while (__f != __t)
609:     {
609:       __ret = __uctype(__urng()) - __urngmin;
609:       *__f++ = (__ret & __urange) + __param.a();
609:     }
609:        }
609:      else
609:        {
609: 
609:   const __uctype __uerange = __urange + 1;
609:   const __uctype __scaling = __urngrange / __uerange;
609:   const __uctype __past = __uerange * __scaling;
609:   while (__f != __t)
609:     {
609:       do
609:         __ret = __uctype(__urng()) - __urngmin;
609:       while (__ret >= __past);
609:       *__f++ = __ret / __scaling + __param.a();
609:     }
609:        }
609:    }
609:  else if (__urngrange < __urange)
609:    {
609: # 433 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
609:      __uctype __tmp;
609:      while (__f != __t)
609:        {
609:   do
609:     {
609:       constexpr __uctype __uerngrange = __urngrange + 1;
609:       __tmp = (__uerngrange * operator()
609:         (__urng, param_type(0, __urange / __uerngrange)));
609:       __ret = __tmp + (__uctype(__urng()) - __urngmin);
609:     }
609:   while (__ret > __urange || __ret < __tmp);
609:   *__f++ = __ret;
609:        }
609:    }
609:  else
609:    while (__f != __t)
609:      *__f++ = __uctype(__urng()) - __urngmin + __param.a();
609:       }
609: 
609: 
609: 
609: 
609: }
609: # 66 "/usr/include/c++/12/bits/stl_algo.h" 2 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/cstdlib" 1 3
609: # 39 "/usr/include/c++/12/cstdlib" 3
609:        
609: # 40 "/usr/include/c++/12/cstdlib" 3
609: # 75 "/usr/include/c++/12/cstdlib" 3
609: # 1 "/usr/include/stdlib.h" 1 3 4
609: # 26 "/usr/include/stdlib.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
609: # 27 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 214 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
609: typedef unsigned int size_t;
609: # 33 "/usr/include/stdlib.h" 2 3 4
609: 
609: extern "C" {
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 1 3 4
609: # 41 "/usr/include/stdlib.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitstatus.h" 1 3 4
609: # 42 "/usr/include/stdlib.h" 2 3 4
609: # 56 "/usr/include/stdlib.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
609: # 52 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
609: # 25 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 2 3 4
609: # 214 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
609: typedef float _Float32;
609: # 238 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
609: typedef long double _Float64;
609: # 268 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
609: typedef double _Float32x;
609: # 53 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 2 3 4
609: # 57 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: typedef struct
609:   {
609:     int quot;
609:     int rem;
609:   } div_t;
609: 
609: 
609: 
609: typedef struct
609:   {
609:     long int quot;
609:     long int rem;
609:   } ldiv_t;
609: 
609: 
609: 
609: 
609: 
609: __extension__ typedef struct
609:   {
609:     long long int quot;
609:     long long int rem;
609:   } lldiv_t;
609: # 98 "/usr/include/stdlib.h" 3 4
609: extern size_t __ctype_get_mb_cur_max (void) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: extern double atof (const char *__nptr)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: extern int atoi (const char *__nptr)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: extern long int atol (const char *__nptr)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: __extension__ extern long long int atoll (const char *__nptr)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: extern double strtod (const char *__restrict __nptr,
609:         char **__restrict __endptr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern float strtof (const char *__restrict __nptr,
609:        char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: extern long double strtold (const char *__restrict __nptr,
609:        char **__restrict __endptr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 141 "/usr/include/stdlib.h" 3 4
609: extern _Float32 strtof32 (const char *__restrict __nptr,
609:      char **__restrict __endptr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern _Float64 strtof64 (const char *__restrict __nptr,
609:      char **__restrict __endptr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 159 "/usr/include/stdlib.h" 3 4
609: extern _Float32x strtof32x (const char *__restrict __nptr,
609:        char **__restrict __endptr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 177 "/usr/include/stdlib.h" 3 4
609: extern long int strtol (const char *__restrict __nptr,
609:    char **__restrict __endptr, int __base)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: extern unsigned long int strtoul (const char *__restrict __nptr,
609:       char **__restrict __endptr, int __base)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: __extension__
609: extern long long int strtoq (const char *__restrict __nptr,
609:         char **__restrict __endptr, int __base)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: __extension__
609: extern unsigned long long int strtouq (const char *__restrict __nptr,
609:            char **__restrict __endptr, int __base)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: __extension__
609: extern long long int strtoll (const char *__restrict __nptr,
609:          char **__restrict __endptr, int __base)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: __extension__
609: extern unsigned long long int strtoull (const char *__restrict __nptr,
609:      char **__restrict __endptr, int __base)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern int strfromd (char *__dest, size_t __size, const char *__format,
609:        double __f)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: 
609: extern int strfromf (char *__dest, size_t __size, const char *__format,
609:        float __f)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: 
609: extern int strfroml (char *__dest, size_t __size, const char *__format,
609:        long double __f)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: # 233 "/usr/include/stdlib.h" 3 4
609: extern int strfromf32 (char *__dest, size_t __size, const char * __format,
609:          _Float32 __f)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: 
609: 
609: 
609: extern int strfromf64 (char *__dest, size_t __size, const char * __format,
609:          _Float64 __f)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: # 251 "/usr/include/stdlib.h" 3 4
609: extern int strfromf32x (char *__dest, size_t __size, const char * __format,
609:    _Float32x __f)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: # 273 "/usr/include/stdlib.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 1 3 4
609: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 3 4
609: struct __locale_struct
609: {
609: 
609:   struct __locale_data *__locales[13];
609: 
609: 
609:   const unsigned short int *__ctype_b;
609:   const int *__ctype_tolower;
609:   const int *__ctype_toupper;
609: 
609: 
609:   const char *__names[13];
609: };
609: 
609: typedef struct __locale_struct *__locale_t;
609: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 2 3 4
609: 
609: typedef __locale_t locale_t;
609: # 274 "/usr/include/stdlib.h" 2 3 4
609: 
609: extern long int strtol_l (const char *__restrict __nptr,
609:      char **__restrict __endptr, int __base,
609:      locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
609: 
609: extern unsigned long int strtoul_l (const char *__restrict __nptr,
609:         char **__restrict __endptr,
609:         int __base, locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
609: 
609: __extension__
609: extern long long int strtoll_l (const char *__restrict __nptr,
609:     char **__restrict __endptr, int __base,
609:     locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
609: 
609: __extension__
609: extern unsigned::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_nothrow_swappable
1115:     : public __is_nothrow_swappable_impl<_Tp>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr bool is_swappable_v =
1115:       is_swappable<_Tp>::value;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr bool is_nothrow_swappable_v =
1115:       is_nothrow_swappable<_Tp>::value;
1115: 
1115: 
1115: 
1115:   namespace __swappable_with_details {
1115:     using std::swap;
1115: 
1115:     struct __do_is_swappable_with_impl
1115:     {
1115:       template<typename _Tp, typename _Up, typename
1115:                = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
1115:                typename
1115:                = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
1115:         static true_type __test(int);
1115: 
1115:       template<typename, typename>
1115:         static false_type __test(...);
1115:     };
1115: 
1115:     struct __do_is_nothrow_swappable_with_impl
1115:     {
1115:       template<typename _Tp, typename _Up>
1115:         static __bool_constant<
1115:           noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
1115:           &&
1115:           noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
1115:         > __test(int);
1115: 
1115:       template<typename, typename>
1115:         static false_type __test(...);
1115:     };
1115: 
1115:   }
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct __is_swappable_with_impl
1115:     : public __swappable_with_details::__do_is_swappable_with_impl
1115:     {
1115:       typedef decltype(__test<_Tp, _Up>(0)) type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_swappable_with_impl<_Tp&, _Tp&>
1115:     : public __swappable_details::__do_is_swappable_impl
1115:     {
1115:       typedef decltype(__test<_Tp&>(0)) type;
1115:     };
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct __is_nothrow_swappable_with_impl
1115:     : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
1115:     {
1115:       typedef decltype(__test<_Tp, _Up>(0)) type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
1115:     : public __swappable_details::__do_is_nothrow_swappable_impl
1115:     {
1115:       typedef decltype(__test<_Tp&>(0)) type;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct is_swappable_with
1115:     : public __is_swappable_with_impl<_Tp, _Up>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "first template argument must be a complete class or an unbounded array");
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1115:  "second template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct is_nothrow_swappable_with
1115:     : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "first template argument must be a complete class or an unbounded array");
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1115:  "second template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline constexpr bool is_swappable_with_v =
1115:       is_swappable_with<_Tp, _Up>::value;
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline constexpr boold long long int strtoull_l (const char *__restrict __nptr,
609:        char **__restrict __endptr,
609:        int __base, locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
609: 
609: extern double strtod_l (const char *__restrict __nptr,
609:    char **__restrict __endptr, locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: 
609: extern float strtof_l (const char *__restrict __nptr,
609:          char **__restrict __endptr, locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: 
609: extern long double strtold_l (const char *__restrict __nptr,
609:          char **__restrict __endptr,
609:          locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: # 317 "/usr/include/stdlib.h" 3 4
609: extern _Float32 strtof32_l (const char *__restrict __nptr,
609:        char **__restrict __endptr,
609:        locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: 
609: 
609: 
609: extern _Float64 strtof64_l (const char *__restrict __nptr,
609:        char **__restrict __endptr,
609:        locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: # 338 "/usr/include/stdlib.h" 3 4
609: extern _Float32x strtof32x_l (const char *__restrict __nptr,
609:          char **__restrict __endptr,
609:          locale_t __loc)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: # 361 "/usr/include/stdlib.h" 3 4
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: __attribute__ ((__leaf__)) atoi (const char *__nptr) noexcept (true)
609: {
609:   return (int) strtol (__nptr, (char **) __null, 10);
609: }
609: extern __inline __attribute__ ((__gnu_inline__)) long int
609: __attribute__ ((__leaf__)) atol (const char *__nptr) noexcept (true)
609: {
609:   return strtol (__nptr, (char **) __null, 10);
609: }
609: 
609: 
609: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
609: __attribute__ ((__leaf__)) atoll (const char *__nptr) noexcept (true)
609: {
609:   return strtoll (__nptr, (char **) __null, 10);
609: }
609: # 386 "/usr/include/stdlib.h" 3 4
609: extern char *l64a (long int __n) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: extern long int a64l (const char *__s)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/sys/types.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
609: extern "C" {
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
609: # 28 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
609: # 29 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
609: 
609: 
609: typedef unsigned char __u_char;
609: typedef unsigned short int __u_short;
609: typedef unsigned int __u_int;
609: typedef unsigned long int __u_long;
609: 
609: 
609: typedef signed char __int8_t;
609: typedef unsigned char __uint8_t;
609: typedef signed short int __int16_t;
609: typedef unsigned short int __uint16_t;
609: typedef signed int __int32_t;
609: typedef unsigned int __uint32_t;
609: 
609: 
609: 
609: 
609: __extension__ typedef signed long long int __int64_t;
609: __extension__ typedef unsigned long long int __uint64_t;
609: 
609: 
609: 
609: typedef __int8_t __int_least8_t;
609: typedef __uint8_t __uint_least8_t;
609: typedef __int16_t __int_least16_t;
609: typedef __uint16_t __uint_least16_t;
609: typedef __int32_t __int_least32_t;
609: typedef __uint32_t __uint_least32_t;
609: typedef __int64_t __int_least64_t;
609: typedef __uint64_t __uint_least64_t;
609: 
609: 
609: 
609: 
609: 
609: 
609: __extension__ typedef long long int __quad_t;
609: __extension__ typedef unsigned long long int __u_quad_t;
609: 
609: 
609: 
 is_nothrow_swappable_with_v =
1115:       is_nothrow_swappable_with<_Tp, _Up>::value;
1115: # 2907 "/usr/include/c++/12/type_traits" 3
1115:   template<typename _Result, typename _Ret,
1115:     bool = is_void<_Ret>::value, typename = void>
1115:     struct __is_invocable_impl : false_type { };
1115: 
1115: 
1115:   template<typename _Result, typename _Ret>
1115:     struct __is_invocable_impl<_Result, _Ret,
1115:                                 true,
1115:           __void_t<typename _Result::type>>
1115:     : true_type
1115:     { };
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1115: 
1115:   template<typename _Result, typename _Ret>
1115:     struct __is_invocable_impl<_Result, _Ret,
1115:                                 false,
1115:           __void_t<typename _Result::type>>
1115:     {
1115:     private:
1115: 
1115: 
1115:       static typename _Result::type _S_get();
1115: 
1115:       template<typename _Tp>
1115:  static void _S_conv(_Tp);
1115: 
1115: 
1115:       template<typename _Tp, typename = decltype(_S_conv<_Tp>(_S_get()))>
1115:  static true_type
1115:  _S_test(int);
1115: 
1115:       template<typename _Tp>
1115:  static false_type
1115:  _S_test(...);
1115: 
1115:     public:
1115:       using type = decltype(_S_test<_Ret>(1));
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115:   template<typename _Fn, typename... _ArgTypes>
1115:     struct __is_invocable
1115:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1115:     { };
1115: 
1115:   template<typename _Fn, typename _Tp, typename... _Args>
1115:     constexpr bool __call_is_nt(__invoke_memfun_ref)
1115:     {
1115:       using _Up = typename __inv_unwrap<_Tp>::type;
1115:       return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
1115:      std::declval<_Args>()...));
1115:     }
1115: 
1115:   template<typename _Fn, typename _Tp, typename... _Args>
1115:     constexpr bool __call_is_nt(__invoke_memfun_deref)
1115:     {
1115:       return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
1115:      std::declval<_Args>()...));
1115:     }
1115: 
1115:   template<typename _Fn, typename _Tp>
1115:     constexpr bool __call_is_nt(__invoke_memobj_ref)
1115:     {
1115:       using _Up = typename __inv_unwrap<_Tp>::type;
1115:       return noexcept(std::declval<_Up>().*std::declval<_Fn>());
1115:     }
1115: 
1115:   template<typename _Fn, typename _Tp>
1115:     constexpr bool __call_is_nt(__invoke_memobj_deref)
1115:     {
1115:       return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
1115:     }
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     constexpr bool __call_is_nt(__invoke_other)
1115:     {
1115:       return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
1115:     }
1115: 
1115:   template<typename _Result, typename _Fn, typename... _Args>
1115:     struct __call_is_nothrow
1115:     : __bool_constant<
1115:  std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
1115:       >
1115:     { };
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     using __call_is_nothrow_
1115:       = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
1115: 
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     struct __is_nothrow_invocable
1115:     : __and_<__is_invocable<_Fn, _Args...>,
1115:              __call_is_nothrow_<_Fn, _Args...>>::type
1115:     { };
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1115:   struct __nonesuchbase {};
1115:   struct __nonesuch : private __nonesuchbase {
1115:     ~__nonesuch() = delete;
1115:     __nonesuch(__nonesuch const&) = delete;
1115:     void operator=(__nonesuch const&) = delete;
1115:   };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Functor, typename... _ArgTypes>
1115:     struct invoke_result
1115:     : public __invoke_result<_Functor, _ArgTypes...>
1115:     {
1115:       static_assert(std::__is_comple609: 
609: 
609: 
609: 
609: __extension__ typedef long long int __intmax_t;
609: __extension__ typedef unsigned long long int __uintmax_t;
609: # 141 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/typesizes.h" 1 3 4
609: # 142 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/time64.h" 1 3 4
609: # 143 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
609: 
609: 
609: __extension__ typedef __uint64_t __dev_t;
609: __extension__ typedef unsigned int __uid_t;
609: __extension__ typedef unsigned int __gid_t;
609: __extension__ typedef unsigned long int __ino_t;
609: __extension__ typedef __uint64_t __ino64_t;
609: __extension__ typedef unsigned int __mode_t;
609: __extension__ typedef unsigned int __nlink_t;
609: __extension__ typedef long int __off_t;
609: __extension__ typedef __int64_t __off64_t;
609: __extension__ typedef int __pid_t;
609: __extension__ typedef struct { int __val[2]; } __fsid_t;
609: __extension__ typedef long int __clock_t;
609: __extension__ typedef unsigned long int __rlim_t;
609: __extension__ typedef __uint64_t __rlim64_t;
609: __extension__ typedef unsigned int __id_t;
609: __extension__ typedef long int __time_t;
609: __extension__ typedef unsigned int __useconds_t;
609: __extension__ typedef long int __suseconds_t;
609: __extension__ typedef __int64_t __suseconds64_t;
609: 
609: __extension__ typedef int __daddr_t;
609: __extension__ typedef int __key_t;
609: 
609: 
609: __extension__ typedef int __clockid_t;
609: 
609: 
609: __extension__ typedef void * __timer_t;
609: 
609: 
609: __extension__ typedef long int __blksize_t;
609: 
609: 
609: 
609: 
609: __extension__ typedef long int __blkcnt_t;
609: __extension__ typedef __int64_t __blkcnt64_t;
609: 
609: 
609: __extension__ typedef unsigned long int __fsblkcnt_t;
609: __extension__ typedef __uint64_t __fsblkcnt64_t;
609: 
609: 
609: __extension__ typedef unsigned long int __fsfilcnt_t;
609: __extension__ typedef __uint64_t __fsfilcnt64_t;
609: 
609: 
609: __extension__ typedef int __fsword_t;
609: 
609: __extension__ typedef int __ssize_t;
609: 
609: 
609: __extension__ typedef long int __syscall_slong_t;
609: 
609: __extension__ typedef unsigned long int __syscall_ulong_t;
609: 
609: 
609: 
609: typedef __off64_t __loff_t;
609: typedef char *__caddr_t;
609: 
609: 
609: __extension__ typedef int __intptr_t;
609: 
609: 
609: __extension__ typedef unsigned int __socklen_t;
609: 
609: 
609: 
609: 
609: typedef int __sig_atomic_t;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: __extension__ typedef __int64_t __time64_t;
609: # 30 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: 
609: 
609: typedef __u_char u_char;
609: typedef __u_short u_short;
609: typedef __u_int u_int;
609: typedef __u_long u_long;
609: typedef __quad_t quad_t;
609: typedef __u_quad_t u_quad_t;
609: typedef __fsid_t fsid_t;
609: 
609: 
609: typedef __loff_t loff_t;
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef __ino64_t ino_t;
609: 
609: 
609: 
609: 
609: typedef __ino64_t ino64_t;
609: 
609: 
609: 
609: 
609: typedef __dev_t dev_t;
609: 
609: 
609: 
609: 
609: typedef __gid_t gid_t;
609: 
609: 
609: 
609: 
609: typedef __mode_t mode_t;
609: 
609: 
609: 
609: 
609: typedef __nlink_t nlink_t;
609: 
609: 
609: 
609: 
609: typedef __uid_t uid_t;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef __off64_t off_t;
609: 
609: 
609: 
609: 
609: typedef __off64_t off64_t;
609: 
609: 
609: 
609: 
609: typedef __pid_t pid_t;
609: 
609: 
609: 
609: 
609: 
609: typedef __id_t id_t;
609: 
609: 
609: 
609: 
609: typedef __ssize_t ssize_t;
609: 
609: 
609: 
609: 
609: 
609: typedef __daddr_t daddr_t;
609: typedef __caddr_t caddr_t;
609: 
609: 
609: 
609: 
609: 
609: typedef __key_t key_t;
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clock_t.h" 1 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef __clock_t clock_t;
609: # 127 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bite_or_unbounded(__type_identity<_Functor>{}),
1115:  "_Functor must be a complete class or an unbounded array");
1115:       static_assert((std::__is_complete_or_unbounded(
1115:  __type_identity<_ArgTypes>{}) && ...),
1115:  "each argument type must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
1115: 
1115: 
1115:   template<typename _Fn, typename... _ArgTypes>
1115:     struct is_invocable
1115:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1115:  "_Fn must be a complete class or an unbounded array");
1115:       static_assert((std::__is_complete_or_unbounded(
1115:  __type_identity<_ArgTypes>{}) && ...),
1115:  "each argument type must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1115:     struct is_invocable_r
1115:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1115:  "_Fn must be a complete class or an unbounded array");
1115:       static_assert((std::__is_complete_or_unbounded(
1115:  __type_identity<_ArgTypes>{}) && ...),
1115:  "each argument type must be a complete class or an unbounded array");
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1115:  "_Ret must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Fn, typename... _ArgTypes>
1115:     struct is_nothrow_invocable
1115:     : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
1115:       __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1115:  "_Fn must be a complete class or an unbounded array");
1115:       static_assert((std::__is_complete_or_unbounded(
1115:  __type_identity<_ArgTypes>{}) && ...),
1115:  "each argument type must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Result, typename _Ret, typename = void>
1115:     struct __is_nt_invocable_impl : false_type { };
1115: 
1115:   template<typename _Result, typename _Ret>
1115:     struct __is_nt_invocable_impl<_Result, _Ret,
1115:       __void_t<typename _Result::type>>
1115:     : __or_<is_void<_Ret>,
1115:      __is_nothrow_convertible<typename _Result::type, _Ret>>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1115:     struct is_nothrow_invocable_r
1115:     : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
1115:              __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1115:  "_Fn must be a complete class or an unbounded array");
1115:       static_assert((std::__is_complete_or_unbounded(
1115:  __type_identity<_ArgTypes>{}) && ...),
1115:  "each argument type must be a complete class or an unbounded array");
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1115:  "_Ret must be a complete class or an unbounded array");
1115:     };
1115: # 3119 "/usr/include/c++/12/type_traits" 3
1115: template <typename _Tp>
1115:   inline constexpr bool is_void_v = is_void<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_integral_v = is_integral<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_array_v = is_array<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_pointer_v = is_pointer<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_lvalue_reference_v =
1115:     is_lvalue_reference<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_rvalue_reference_v =
1115:     is_rvalue_reference<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_member_object_pointer_v =
1115:     is_member_object_pointer<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_member_function_pointer_v =
1115:     is_member_function_pointer<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_enum_v = is_enum<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_union_v = is_union<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_class_v = is_class<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_function_v = is_function<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_reference_v = is_reference<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_object_v = is_object<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_compound_v = is_compound<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_const_v = is_const<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_volatile_v = is_volatile<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivial_v = is_trivial<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivially_copyable_v =
1115:     is_trivially_copyable<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value;
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: template <typename _Tp>
1115:  
1115:   inline constexpr bool is_pod_v = is_pod<_Tp>::value;
1115: template <typename _Tp>
1115:   [[__deprecated__]]
1115:   inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value;
1115: #pragma GCC diagnostic pop
1115:  template <typename _Tp>
1115:   inline constexpr bool is_empty_v = is_empty<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_abstract_v = is_abstract<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_final_v = is_final<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_signed_v = is_signed<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
1115: template <typename _Tp, typename... _Args>
1115:   inline constexpr bool is_constructible_v =
1115:     is_constructible<_Tp, _Args...>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_default_constructible_v =
1115:     is_default_constructible<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_copy_constructible_v =
1115:     is_copy_constructible<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_move_constructible_v =
1115:     is_move_constructible<_Tp>::value;
1115: template <typename _Tp, typename _Up>
1115:   inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value;
1115: template <typts/types/clockid_t.h" 1 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef __clockid_t clockid_t;
609: # 129 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 1 3 4
609: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 3 4
609: typedef __time_t time_t;
609: # 130 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/timer_t.h" 1 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef __timer_t timer_t;
609: # 131 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: 
609: 
609: typedef __useconds_t useconds_t;
609: 
609: 
609: 
609: typedef __suseconds_t suseconds_t;
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 145 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: 
609: 
609: typedef unsigned long int ulong;
609: typedef unsigned short int ushort;
609: typedef unsigned int uint;
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 3 4
609: typedef __int8_t int8_t;
609: typedef __int16_t int16_t;
609: typedef __int32_t int32_t;
609: typedef __int64_t int64_t;
609: # 156 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: 
609: typedef __uint8_t u_int8_t;
609: typedef __uint16_t u_int16_t;
609: typedef __uint32_t u_int32_t;
609: typedef __uint64_t u_int64_t;
609: 
609: 
609: typedef int register_t __attribute__ ((__mode__ (__word__)));
609: # 176 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
609: # 1 "/usr/include/endian.h" 1 3 4
609: # 24 "/usr/include/endian.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 1 3 4
609: # 35 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/endianness.h" 1 3 4
609: # 36 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 2 3 4
609: # 25 "/usr/include/endian.h" 2 3 4
609: # 35 "/usr/include/endian.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 1 3 4
609: # 33 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
609: static __inline __uint16_t
609: __bswap_16 (__uint16_t __bsx)
609: {
609: 
609:   return __builtin_bswap16 (__bsx);
609: 
609: 
609: 
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: static __inline __uint32_t
609: __bswap_32 (__uint32_t __bsx)
609: {
609: 
609:   return __builtin_bswap32 (__bsx);
609: 
609: 
609: 
609: }
609: # 69 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
609: __extension__ static __inline __uint64_t
609: __bswap_64 (__uint64_t __bsx)
609: {
609: 
609:   return __builtin_bswap64 (__bsx);
609: 
609: 
609: 
609: }
609: # 36 "/usr/include/endian.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 1 3 4
609: # 32 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 3 4
609: static __inline __uint16_t
609: __uint16_identity (__uint16_t __x)
609: {
609:   return __x;
609: }
609: 
609: static __inline __uint32_t
609: __uint32_identity (__uint32_t __x)
609: {
609:   return __x;
609: }
609: 
609: static __inline __uint64_t
609: __uint64_identity (__uint64_t __x)
609: {
609:   return __x;
609: }
609: # 37 "/usr/include/endian.h" 2 3 4
609: # 177 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/sys/select.h" 1 3 4
609: # 30 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/select.h" 1 3 4
609: # 31 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 1 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h" 1 3 4
609: 
609: 
609: 
609: 
609: typedef struct
609: {
609:   unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
609: } __sigset_t;
609: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 2 3 4
609: 
609: 
609: typedef __sigset_t sigset_t;
609: # 34 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h" 1 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: struct timeval
609: {
609: 
609: 
609: 
609: 
609:   __time_t tv_sec;
609:   __suseconds_t tv_usec;
609: 
609: };
609: # 38 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 1 3 4
609: # 11 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
609: struct timespec
609: {
609: 
609: 
609: 
609:   __time_t tv_sec;
609: 
609: 
609: 
609: 
609:   __syscall_slong_t tv_nsec;
609: # 31 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
609: };
609: # 40 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
609: # 49 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
609: typedef long int __fd_mask;
609: # 59 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
609: typedef struct
609:   {
609: 
609: 
609: 
609:     __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
609: 
609: 
609: 
609: 
609: 
609:   } fd_set;
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef __fd_mask fd_mask;
609: # 91 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
609: extern "C" {
609: # 102 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
609: extern int select (int __nfds, fd_set *__restrict __readfds,
609:      fd_set *__restrict __writefds,
609:      fd_set *__restrict __exceptfds,
609:      struct timeval *__restrict __timeout);
609: # 127 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
609: extern int pselect (int __nfds, fd_set *__restrict __readfds,
609:       fd_set *__restrict __writefds,
609:       fd_set *__restrict __exceptfds,
609:       const struct timespec *__restrict __timeout,
609:       const __sigset_t *__restrict __sigmask);
609: # 150 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 3 4
609: extern long int __fdelt_chk (long int __d);
609: extern long int __fdelt_warn (long int __d)
609:   __attribute__((__warning__ ("bit outside of fd_set selected")));
609: # 151 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
609: 
609: 
609: }
609: # 180 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: typedef __blksize_t blksize_t;
609: # 205 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
609: typedef __blkcnt64_t blkcnt_t;
609: 
609: 
609: 
609: typedef __fsblkcnt64_t fsblkcnt_t;
609: 
609: 
609: 
609: typedef __fsfilcnt64_t fsfilcnt_t;
609: 
609: 
609: 
609: 
609: 
609: typedef __blkcnt64_t blkcnt64_t;
609: typedef __fsblkcnt64_t fsblkcnt64_t;
609: typedef __fsfilcnt64_t fsfilcnt64_t;
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 1 3 4
609: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 1 3 4
609: # 44 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 1 3 4
609: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 2 3 4
609: # 45 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 1 3 4
609: # 25 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 3 4
609: typedef union
609: {
609:   __extension__ unsigned long long int __value64;
609:   struct
609:   {
609:     unsigned int __low;
609:     unsigned int __high;
609:   } __value32;
609: } __atomic_wide_counter;
609: # 47 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
609: 
609: 
609: 
609: 
609: typedef struct __pthread_internal_list
609: {
609:   struct __pthread_internal_list *__prev;
609:   struct __pthread_internal_list *__nextename _Tp>
1115:   inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
1115: template <typename _Tp, typename... _Args>
1115:   inline constexpr bool is_trivially_constructible_v =
1115:     is_trivially_constructible<_Tp, _Args...>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivially_default_constructible_v =
1115:     is_trivially_default_constructible<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivially_copy_constructible_v =
1115:     is_trivially_copy_constructible<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivially_move_constructible_v =
1115:     is_trivially_move_constructible<_Tp>::value;
1115: template <typename _Tp, typename _Up>
1115:   inline constexpr bool is_trivially_assignable_v =
1115:     is_trivially_assignable<_Tp, _Up>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivially_copy_assignable_v =
1115:     is_trivially_copy_assignable<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivially_move_assignable_v =
1115:     is_trivially_move_assignable<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_trivially_destructible_v =
1115:     is_trivially_destructible<_Tp>::value;
1115: template <typename _Tp, typename... _Args>
1115:   inline constexpr bool is_nothrow_constructible_v =
1115:     is_nothrow_constructible<_Tp, _Args...>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_nothrow_default_constructible_v =
1115:     is_nothrow_default_constructible<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_nothrow_copy_constructible_v =
1115:     is_nothrow_copy_constructible<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_nothrow_move_constructible_v =
1115:     is_nothrow_move_constructible<_Tp>::value;
1115: template <typename _Tp, typename _Up>
1115:   inline constexpr bool is_nothrow_assignable_v =
1115:     is_nothrow_assignable<_Tp, _Up>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_nothrow_copy_assignable_v =
1115:     is_nothrow_copy_assignable<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_nothrow_move_assignable_v =
1115:     is_nothrow_move_assignable<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool is_nothrow_destructible_v =
1115:     is_nothrow_destructible<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr bool has_virtual_destructor_v =
1115:     has_virtual_destructor<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
1115: template <typename _Tp>
1115:   inline constexpr size_t rank_v = rank<_Tp>::value;
1115: template <typename _Tp, unsigned _Idx = 0>
1115:   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
1115: 
1115: template <typename _Tp, typename _Up>
1115:   inline constexpr bool is_same_v = __is_same(_Tp, _Up);
1115: 
1115: 
1115: 
1115: 
1115: template <typename _Base, typename _Derived>
1115:   inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value;
1115: template <typename _From, typename _To>
1115:   inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value;
1115: template<typename _Fn, typename... _Args>
1115:   inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
1115: template<typename _Fn, typename... _Args>
1115:   inline constexpr bool is_nothrow_invocable_v
1115:     = is_nothrow_invocable<_Fn, _Args...>::value;
1115: template<typename _Ret, typename _Fn, typename... _Args>
1115:   inline constexpr bool is_invocable_r_v
1115:     = is_invocable_r<_Ret, _Fn, _Args...>::value;
1115: template<typename _Ret, typename _Fn, typename... _Args>
1115:   inline constexpr bool is_nothrow_invocable_r_v
1115:     = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct has_unique_object_representations
1115:     : bool_constant<__has_unique_object_representations(
1115:       remove_cv_t<remove_all_extents_t<_Tp>>
1115:       )>
1115:     {
1115:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1115:  "template argument must be a complete class or an unbounded array");
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr bool has_unique_object_representations_v
1115:       = has_unique_object_representations<_Tp>::value;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_aggregate
1115:     : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value;
1115: # 3703 "/usr/include/c++/12/type_traits" 3
1115: 
1115: }
1115: # 61 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/move.h" 1 3
1115: # 38 "/usr/include/c++/12/bits/move.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr _Tp*
1115:     __addressof(_Tp& __r) noexcept
1115:     { return __builtin_addressof(__r); }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 74 "/usr/include/c++/12/bits/move.h" 3
1115:   template<typename _Tp>
1115:     [[__nodiscard__]]
1115:     constexpr _Tp&&
1115:     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
1115:     { return static_cast<_Tp&&>(__t); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]]
1115:     constexpr _Tp&&
1115:     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
1115:     {
1115:       static_assert(!std::is_lvalue_reference<_Tp>::value,
1115:    "std::forward must not be used to convert an rvalue to an lvalue");
1115:       return static_cast<_Tp&&>(__t);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]]
1115:     constexpr typename std::remove_reference<_Tp>::type&&
1115:     move(_Tp&& __t) noexcept
1115:     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __move_if_noexcept_cond
1115:     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
1115:                     is_copy_constructible<_Tp>>::type { };
1115: # 121 "/usr/include/c++/12/bits/move.h" 3
1115:   template<typename _Tp>
1115:     [[__nodiscard__]]
1115:     constexpr
1115:     __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
1115:     move_if_noexcept(_Tp& __x) noexcept
1115:     { return std::move(__x); }
1115: # 142 "/usr/include/c++/12/bits/move.h" 3
1115:   template<typename _Tp>
1115:     [[__nodiscard__]]
1115:     inline constexpr _Tp*
1115:     addressof(_Tp& __r) noexcept
1115:     { return std::__addressof(__r); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     const _Tp* addressof(const _Tp&&) = delete;
1115: 
1115: 
1115:   template <typename _Tp, typename _Up = _Tp>
1115:    
1115:     inline _Tp
1115:     __exchange(_Tp& __obj, _Up&& __new_val)
1115:     {
1115:       _Tp __old_val = std::move(__obj);
1115:       __obj = std::forward<_Up>(__new_val);
1115:       return __old_val;
1115:     }
1115: # 186 "/usr/include/c++/12/bits/move.h" 3
1115:   template<typename _Tp>
1115:    
1115:     inline
1115: 
1115:     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
1115:          is_move_constructible<_Tp>,
1115:          is_move_assignable<_Tp>>::value>::type
1115: 
1115: 
1115: 
1115:     swap(_Tp& __a, _Tp& __b)
1115:     noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
1115: 
1115:     {
1115: 
1115: 
1115: 
1115: 
1115:       _Tp __tmp = std::move(__a);
1115:       __a = std::move(__b);
1115:       __b = std::move(__tmp);
1115:  ;
609: } __pthread_list_t;
609: 
609: typedef struct __pthread_internal_slist
609: {
609:   struct __pthread_internal_slist *__next;
609: } __pthread_slist_t;
609: # 76 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
609: struct __pthread_mutex_s
609: {
609:   int __lock ;
609:   unsigned int __count;
609:   int __owner;
609: # 58 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
609:   int __kind;
609: 
609:   unsigned int __nusers;
609: 
609: 
609: 
609: 
609: 
609: 
609:   __extension__ union
609:   {
609:     int __spins;
609:     __pthread_slist_t __list;
609:   };
609: 
609: 
609: };
609: # 77 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
609: # 89 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 1 3 4
609: # 29 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
609: struct __pthread_rwlock_arch_t
609: {
609:   unsigned int __readers;
609:   unsigned int __writers;
609:   unsigned int __wrphase_futex;
609:   unsigned int __writers_futex;
609:   unsigned int __pad3;
609:   unsigned int __pad4;
609: # 45 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
609:   unsigned char __flags;
609:   unsigned char __shared;
609:   unsigned char __pad1;
609:   unsigned char __pad2;
609: 
609:   int __cur_writer;
609: };
609: # 90 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
609: 
609: 
609: 
609: 
609: struct __pthread_cond_s
609: {
609:   __atomic_wide_counter __wseq;
609:   __atomic_wide_counter __g1_start;
609:   unsigned int __g_refs[2] ;
609:   unsigned int __g_size[2];
609:   unsigned int __g1_orig_size;
609:   unsigned int __wrefs;
609:   unsigned int __g_signals[2];
609: };
609: 
609: typedef unsigned int __tss_t;
609: typedef unsigned long int __thrd_t;
609: 
609: typedef struct
609: {
609:   int __data ;
609: } __once_flag;
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 2 3 4
609: 
609: 
609: 
609: typedef unsigned long int pthread_t;
609: 
609: 
609: 
609: 
609: typedef union
609: {
609:   char __size[4];
609:   int __align;
609: } pthread_mutexattr_t;
609: 
609: 
609: 
609: 
609: typedef union
609: {
609:   char __size[4];
609:   int __align;
609: } pthread_condattr_t;
609: 
609: 
609: 
609: typedef unsigned int pthread_key_t;
609: 
609: 
609: 
609: typedef int pthread_once_t;
609: 
609: 
609: union pthread_attr_t
609: {
609:   char __size[36];
609:   long int __align;
609: };
609: 
609: typedef union pthread_attr_t pthread_attr_t;
609: 
609: 
609: 
609: 
609: typedef union
609: {
609:   struct __pthread_mutex_s __data;
609:   char __size[24];
609:   long int __align;
609: } pthread_mutex_t;
609: 
609: 
609: typedef union
609: {
609:   struct __pthread_cond_s __data;
609:   char __size[48];
609:   __extension__ long long int __align;
609: } pthread_cond_t;
609: 
609: 
609: 
609: 
609: 
609: typedef union
609: {
609:   struct __pthread_rwlock_arch_t __data;
609:   char __size[32];
609:   long int __align;
609: } pthread_rwlock_t;
609: 
609: typedef union
609: {
609:   char __size[8];
609:   long int __align;
609: } pthread_rwlockattr_t;
609: 
609: 
609: 
609: 
609: 
609: typedef volatile int pthread_spinlock_t;
609: 
609: 
609: 
609: 
609: typedef union
609: {
609:   char __size[20];
609:   long int __align;
609: } pthread_barrier_t;
609: 
609: typedef union
609: {
609:   char __size[4];
609:   int __align;
609: } pthread_barrierattr_t;
609: # 228 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
609: 
609: 
609: }
609: # 396 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int random (void) noexcept (true);
609: 
609: 
609: extern void srandom (unsigned int __seed) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern char *initstate (unsigned int __seed, char *__statebuf,
609:    size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
60   }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:    
1115:     inline
1115: 
1115:     typename enable_if<__is_swappable<_Tp>::value>::type
1115: 
1115: 
1115: 
1115:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1115:     noexcept(__is_nothrow_swappable<_Tp>::value)
1115:     {
1115:       for (size_t __n = 0; __n < _Nm; ++__n)
1115:  swap(__a[__n], __b[__n]);
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: # 62 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/utility.h" 1 3
1115: # 36 "/usr/include/c++/12/bits/utility.h" 3
1115:        
1115: # 37 "/usr/include/c++/12/bits/utility.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct tuple_size;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp,
1115:     typename _Up = typename remove_cv<_Tp>::type,
1115:     typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
1115:     size_t = tuple_size<_Tp>::value>
1115:     using __enable_if_has_tuple_size = _Tp;
1115: 
1115:   template<typename _Tp>
1115:     struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
1115:     : public tuple_size<_Tp> { };
1115: 
1115:   template<typename _Tp>
1115:     struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
1115:     : public tuple_size<_Tp> { };
1115: 
1115:   template<typename _Tp>
1115:     struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
1115:     : public tuple_size<_Tp> { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
1115: 
1115: 
1115: 
1115:   template<size_t __i, typename _Tp>
1115:     struct tuple_element;
1115: 
1115: 
1115:   template<size_t __i, typename _Tp>
1115:     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
1115: 
1115:   template<size_t __i, typename _Tp>
1115:     struct tuple_element<__i, const _Tp>
1115:     {
1115:       typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
1115:     };
1115: 
1115:   template<size_t __i, typename _Tp>
1115:     struct tuple_element<__i, volatile _Tp>
1115:     {
1115:       typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
1115:     };
1115: 
1115:   template<size_t __i, typename _Tp>
1115:     struct tuple_element<__i, const volatile _Tp>
1115:     {
1115:       typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename... _Types>
1115:     constexpr size_t
1115:     __find_uniq_type_in_pack()
1115:     {
1115:       constexpr size_t __sz = sizeof...(_Types);
1115:       constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
1115:       size_t __n = __sz;
1115:       for (size_t __i = 0; __i < __sz; ++__i)
1115:  {
1115:    if (__found[__i])
1115:      {
1115:        if (__n < __sz)
1115:   return __sz;
1115:        __n = __i;
1115:      }
1115:  }
1115:       return __n;
1115:     }
1115: # 134 "/usr/include/c++/12/bits/utility.h" 3
1115:   template<size_t __i, typename _Tp>
1115:     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115:   template<size_t... _Indexes> struct _Index_tuple { };
1115: 
1115: 
1115:   template<size_t _Num>
1115:     struct _Build_index_tuple
1115:     {
1115: # 154 "/usr/include/c++/12/bits/utility.h" 3
1115:       using __type = _Index_tuple<__integer_pack(_Num)...>;
1115: 
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, _Tp... _Idx>
1115:     struct integer_sequence
1115:     {
1115:       typedef _Tp value_type;
1115:       static constexpr size_t size() noexcept { return sizeof...(_Idx); }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, _Tp _Num>
1115:     using make_integer_sequence
1115: 
1115: 
1115: 
1115:       = integer_sequence<_Tp, __integer_pack(_Num)...>;
1115: 
1115: 
1115: 
1115:   template<size_t... _Idx>
1115:     usi9: 
609: 
609: 
609: extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: struct random_data
609:   {
609:     int32_t *fptr;
609:     int32_t *rptr;
609:     int32_t *state;
609:     int rand_type;
609:     int rand_deg;
609:     int rand_sep;
609:     int32_t *end_ptr;
609:   };
609: 
609: extern int random_r (struct random_data *__restrict __buf,
609:        int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern int srandom_r (unsigned int __seed, struct random_data *__buf)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
609:    size_t __statelen,
609:    struct random_data *__restrict __buf)
609:      noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
609: 
609: extern int setstate_r (char *__restrict __statebuf,
609:          struct random_data *__restrict __buf)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: 
609: extern int rand (void) noexcept (true);
609: 
609: extern void srand (unsigned int __seed) noexcept (true);
609: 
609: 
609: 
609: extern int rand_r (unsigned int *__seed) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern double drand48 (void) noexcept (true);
609: extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern long int lrand48 (void) noexcept (true);
609: extern long int nrand48 (unsigned short int __xsubi[3])
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern long int mrand48 (void) noexcept (true);
609: extern long int jrand48 (unsigned short int __xsubi[3])
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern void srand48 (long int __seedval) noexcept (true);
609: extern unsigned short int *seed48 (unsigned short int __seed16v[3])
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: struct drand48_data
609:   {
609:     unsigned short int __x[3];
609:     unsigned short int __old_x[3];
609:     unsigned short int __c;
609:     unsigned short int __init;
609:     __extension__ unsigned long long int __a;
609: 
609:   };
609: 
609: 
609: extern int drand48_r (struct drand48_data *__restrict __buffer,
609:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: extern int erand48_r (unsigned short int __xsubi[3],
609:         struct drand48_data *__restrict __buffer,
609:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int lrand48_r (struct drand48_data *__restrict __buffer,
609:         long int *__restrict __result)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: extern int nrand48_r (unsigned short int __xsubi[3],
609:         struct drand48_data *__restrict __buffer,
609:         long int *__restrict __result)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int mrand48_r (struct drand48_data *__restrict __buffer,
609:         long int *__restrict __result)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: extern int jrand48_r (unsigned short int __xsubi[3],
609:         struct drand48_data *__restrict __buffer,
609:         long int *__restrict __result)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: extern int seed48_r (unsigned short int __seed16v[3],
609:        struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern int lcong48_r (unsigned short int __param[7],
609:         struct drand48_data *__bufferng index_sequence = integer_sequence<size_t, _Idx...>;
1115: 
1115: 
1115:   template<size_t _Num>
1115:     using make_index_sequence = make_integer_sequence<size_t, _Num>;
1115: 
1115: 
1115:   template<typename... _Types>
1115:     using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
1115: 
1115: 
1115: 
1115:   struct in_place_t {
1115:     explicit in_place_t() = default;
1115:   };
1115: 
1115:   inline constexpr in_place_t in_place{};
1115: 
1115:   template<typename _Tp> struct in_place_type_t
1115:   {
1115:     explicit in_place_type_t() = default;
1115:   };
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr in_place_type_t<_Tp> in_place_type{};
1115: 
1115:   template<size_t _Idx> struct in_place_index_t
1115:   {
1115:     explicit in_place_index_t() = default;
1115:   };
1115: 
1115:   template<size_t _Idx>
1115:     inline constexpr in_place_index_t<_Idx> in_place_index{};
1115: 
1115:   template<typename>
1115:     inline constexpr bool __is_in_place_type_v = false;
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
1115: 
1115:   template<typename _Tp>
1115:     using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>;
1115: 
1115: 
1115: 
1115: 
1115:   template<size_t _Np, typename... _Types>
1115:     struct _Nth_type
1115:     { };
1115: 
1115:   template<typename _Tp0, typename... _Rest>
1115:     struct _Nth_type<0, _Tp0, _Rest...>
1115:     { using type = _Tp0; };
1115: 
1115:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1115:     struct _Nth_type<1, _Tp0, _Tp1, _Rest...>
1115:     { using type = _Tp1; };
1115: 
1115:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1115:     struct _Nth_type<2, _Tp0, _Tp1, _Tp2, _Rest...>
1115:     { using type = _Tp2; };
1115: 
1115:   template<size_t _Np, typename _Tp0, typename _Tp1, typename _Tp2,
1115:     typename... _Rest>
1115: 
1115: 
1115: 
1115:     struct _Nth_type<_Np, _Tp0, _Tp1, _Tp2, _Rest...>
1115:     : _Nth_type<_Np - 3, _Rest...>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1115:     struct _Nth_type<0, _Tp0, _Tp1, _Rest...>
1115:     { using type = _Tp0; };
1115: 
1115:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1115:     struct _Nth_type<0, _Tp0, _Tp1, _Tp2, _Rest...>
1115:     { using type = _Tp0; };
1115: 
1115:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1115:     struct _Nth_type<1, _Tp0, _Tp1, _Tp2, _Rest...>
1115:     { using type = _Tp1; };
1115: 
1115: 
1115: 
1115: }
1115: # 63 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 80 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:   struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
1115: 
1115: 
1115:   inline constexpr piecewise_construct_t piecewise_construct =
1115:     piecewise_construct_t();
1115: 
1115: 
1115: 
1115: 
1115:   template<typename...>
1115:     class tuple;
1115: 
1115:   template<size_t...>
1115:     struct _Index_tuple;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <bool, typename _T1, typename _T2>
1115:     struct _PCC
1115:     {
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _ConstructiblePair()
1115:       {
1115:  return __and_<is_constructible<_T1, const _U1&>,
1115:         is_constructible<_T2, const _U2&>>::value;
1115:       }
1115: 
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _ImplicitlyConvertiblePair()
1115:       {
1115:  return __and_<is_convertible<const _U1&, _T1>,
1115:         is_convertible<const _U2&, _T2>>::value;
1115:       }
1115: 
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _MoveConstructiblePair()
1115:       {
1115:  return __and_<is_constructible<_T1, _U1&&>,
1115:         is_constructible<_T2, _U2)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern __uint32_t arc4random (void)
609:      noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: extern void arc4random_buf (void *__buf, size_t __size)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
609:      noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
609:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: extern void *calloc (size_t __nmemb, size_t __size)
609:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern void *realloc (void *__ptr, size_t __size)
609:      noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2)));
609: 
609: 
609: extern void free (void *__ptr) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
609:      noexcept (true) __attribute__ ((__warn_unused_result__))
609:      __attribute__ ((__alloc_size__ (2, 3)))
609:     __attribute__ ((__malloc__ (__builtin_free, 1)));
609: 
609: 
609: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
609:      noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1)));
609: 
609: 
609: 
609: # 1 "/usr/include/alloca.h" 1 3 4
609: # 24 "/usr/include/alloca.h" 3 4
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 25 "/usr/include/alloca.h" 2 3 4
609: 
609: extern "C" {
609: 
609: 
609: 
609: 
609: 
609: extern void *alloca (size_t __size) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: }
609: # 588 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
609:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
609:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern void *aligned_alloc (size_t __alignment, size_t __size)
609:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
609:      __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: extern void abort (void) noexcept (true) __attribute__ ((__noreturn__));
609: 
609: 
609: 
609: extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern "C++" int at_quick_exit (void (*__func) (void))
609:      noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
609: # 630 "/usr/include/stdlib.h" 3 4
609: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
609: 
609: 
609: 
609: 
609: 
609: extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
609: 
609: 
609: 
609: 
609: 
609: extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
609: 
609: 
609: 
609: 
609: extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern char *secure_getenv (const char *__name)
609:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: extern int setenv (const char *__name, const char *__value, int __replace)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int clearenv (void) noexcept (true);
609: # 695 "/usr/include/stdlib.h" 3 4
609: extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 711 "/usr/include/stdlib.h" 3 4
609: extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
609:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: # 733 "/usr/include/stdlib.h" 3 4
609: extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64")
609:                      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern int mkstemps64 (char *__template, int __suffixlen)
609:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: # 751 "/usr/include/stdlib.h" 3 4
609: extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: # 765 "/usr/include/stdlib.h" 3 4
609: extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64")
609:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: # 786 "/usr/include/stdlib.h" 3 4
609: extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64")
609: 
609:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
609:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: # 804 "/usr/include/stdlib.h" 3 4
609: extern int system (const char *__command) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern char *canonicalize_file_name (const char *__name)
609:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
609:      __attribute__ ((__malloc__ (__builtin_free, 1))) __attribute__ ((__warn_unused_result__));
609: # 821 "/usr/include/stdlib.h" 3 4
609: extern char *realpath (const char *__restrict __name,
609:          char *__restrict __resolved) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef int (*__compar_fn_t) (const void *, const void *);
609: 
609: 
609: typedef __compar_fn_t comparison_fn_t;
609: 
609: 
609: 
609: typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
609: 
609: 
609: 
609: 
609: extern void *bsearch (const void *__key, const void *__base,
609:         size_t __nmemb, size_t __size, __compar_fn_t __compar)
609:      __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 1 3 4
609: # 19 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 3 4
609: extern __inline __attribute__ ((__gnu_inline__)) void *
609: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
609:   __compar_fn_t __compar)
609: {
609:   size_t __l, __u, __idx;
609:   const void *__p;
609:   int __comparison;
609: 
609:   __l = 0;
609:   __u = __nmemb;
609:   while (__l < __u)
609:     {
609:       __idx = (__l + __u) / 2;
609:       __p = (const void *) (((const char *) __base) + (__idx * __size));
609:       __comparison = (*__compar) (__key, __p);
609:       if (__comparison < 0)
609:  __u = __idx;
609:       else if (__comparison > 0)
609:  __l = __idx + 1;
609:       else
609:  {
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wcast-qual"
609: 
609:    return (void *) __p;
609: 
609: #pragma GCC diagnostic pop
609: 
609:  }
609:     }
609: 
609:   return __null;
609: }
609: # 847 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: 
609: 
609: extern void qsort (void *__base, size_t __nmemb, size_t __size,
609:      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
609: 
609: extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
609:        __compar_d_fn_t __compar, void *__arg)
609:   __attribute__ ((__nonnull__ (1, 4)));
609: 
609: 
609: 
609: 
609: extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
609: extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: __extension__ extern long long int llabs (long long int __x)
609:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern div_t div (int __numer, int __denom)
609:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
609: extern ldiv_t ldiv (long int __numer, long int __denom)
609:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: __extension__ extern lldiv_t lldiv (long long int __numer,
609:         long long int __denom)
609:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
609: # 893 "/usr/include/stdlib.h" 3 4
609: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
609:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
609:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern char *gcvt (double __value, int __ndigit, char *__buf)
609:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern char *qecvt (long double __value, int __ndigit,
609:       int *__restrict __decpt, int *__restrict __sign)
609:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
609: extern char *qfcvt (long double __value, int __ndigit,
609:       int *__restrict __decpt, int *__restrict __sign)
609:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
609: extern char *qgcvt (long double __value, int __ndigit, char *__buf)
609:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
609:      int *__restrict __sign, char *__restrict __buf,
609:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
609: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
609:      int *__restrict __sign, char *__restrict __buf,
609:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
609: 
609: extern int qecvt_r (long double __value, int __ndigit,
609:       int *__restrict __decpt, int *__restrict __sign,
609:       char *__restrict __buf, size_t __len)
609:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
609: extern int qfcvt_r (long double __value, int __ndigit,
609:       int *__restrict __decpt, int *__restrict __sign,
609:       char *__restrict __buf, size_t __len)
609:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
609: 
609: 
609: 
609: 
609: 
609: extern int mblen (const char *__s, size_t __n) noexcept (true);
609: 
609: 
609: extern int mbtowc (wchar_t *__restrict __pwc,
609:      const char *__restrict __s, size_t __n) noexcept (true);
609: 
609: 
609: extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
609: 
609: 
609: 
609: extern size_t mbstowcs (wchar_t *__restrict __pwcs,
609:    const char *__restrict __s, size_t __n) noexcept (true)
609:     __attribute__ ((__access__ (__read_only__, 2)));
609: 
609: extern size_t wcstombs (char *__restrict __s,
609:    const wchar_t *__restrict __pwcs, size_t __n)
609:      noexcept (true)
609:   __attribute__ ((__access__ (__write_only__, 1, 3)))
609:   __attribute__ ((__access__ (__read_only__, 2)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
609: # 980 "/usr/include/stdlib.h" 3 4
609: extern int getsubopt (char **__restrict __optionp,
609:         char *const *__restrict __tokens,
609:         char **__restrict __valuep)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int grantpt (int __fd) noexcept (true);
609: 
609: 
609: 
609: extern int unlockpt (int __fd) noexcept (true);
609: 
609: 
609: 
609: 
609: extern char *ptsname (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
609:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
609: 
609: 
609: extern int getpt (void);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int getloadavg (double __loadavg[], int __nelem)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 1036 "/usr/include/stdlib.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 3 4
609: extern __inline __attribute__ ((__gnu_inline__)) double
609: __attribute__ ((__leaf__)) atof (const char *__nptr) noexcept (true)
609: {
609:   return strtod (__nptr, (char **) __null);
609: }
609: # 1037 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 1 3 4
609: # 23 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 3 4
609: extern char *__realpath_chk (const char *__restrict __name,
609:         char *__restrict __resolved,
609:         size_t __resolvedlen) noexcept (true) __attribute__ ((__warn_unused_result__));
609: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) noexcept (true) __asm__ ("" "realpath")
609: 
609:                                                  __attribute__ ((__warn_unused_result__));
609: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) noexcept (true) __asm__ ("" "__realpath_chk")
609: 
609: 
609:                                                 __attribute__ ((__warn_unused_result__))
609:      __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
609:                                       ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
609: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) noexcept (true)
609: {
609:   size_t sz = __builtin_object_size (__resolved, 2 > 1);
609: 
609:   if (sz == (size_t) -1)
609:     return __realpath_alias (__name, __resolved);
609: 
609: 
609: 
609: 
609: 
609:   return __realpath_chk (__name, __resolved, sz);
609: }
609: 
609: 
609: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
609:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2)))
609:     __attribute__ ((__access__ (__write_only__, 2, 3)));
609: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ptsname_r")
609: 
609:      __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
609: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ptsname_r_chk")
609: 
609: 
609:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
609:                    ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) noexcept (true)
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
609: 
609:                            ;
609: }
609: 
609: 
609: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
609:   noexcept (true) __attribute__ ((__warn_unused_result__));
609: extern int __wctomb_alias (char *__s, wchar_t __wchar) noexcept (true) __asm__ ("" "wctomb")
609:               __attribute__ ((__warn_unused_result__));
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
609: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) noexcept (true)
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
609:       && 16 > __builtin_object_size (__s, 2 > 1))
609:     return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
609:   return __wctomb_alias (__s, __wchar);
609: }
609: 
609: 
609: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
609:          const char *__restrict __src,
609:          size_t __len, size_t __dstlen) noexcept (true)
609:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
609: extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
609: 
609: 
609: 
609:     __attribute__ ((__access__ (__read_only__, 2)));
609: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
609: 
609: 
609: 
609:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
609: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__mbstowcs_chk")
609: 
609: 
609: 
609:      __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
609:                         ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
609: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true)
609: 
609: {
609:   if (__builtin_constant_p (__dst == __null) && __dst == __nu&&>>::value;
1115:       }
1115: 
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1115:       {
1115:  return __and_<is_convertible<_U1&&, _T1>,
1115:         is_convertible<_U2&&, _T2>>::value;
1115:       }
1115:     };
1115: 
1115:   template <typename _T1, typename _T2>
1115:     struct _PCC<false, _T1, _T2>
1115:     {
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _ConstructiblePair()
1115:       {
1115:  return false;
1115:       }
1115: 
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _ImplicitlyConvertiblePair()
1115:       {
1115:  return false;
1115:       }
1115: 
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _MoveConstructiblePair()
1115:       {
1115:  return false;
1115:       }
1115: 
1115:       template <typename _U1, typename _U2>
1115:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1115:       {
1115:  return false;
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _U1, typename _U2> class __pair_base
1115:   {
1115: 
1115:     template<typename _T1, typename _T2> friend struct pair;
1115:     __pair_base() = default;
1115:     ~__pair_base() = default;
1115:     __pair_base(const __pair_base&) = default;
1115:     __pair_base& operator=(const __pair_base&) = delete;
1115: 
1115:   };
1115: # 184 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:   template<typename _T1, typename _T2>
1115:     struct pair
1115:     : public __pair_base<_T1, _T2>
1115:     {
1115:       typedef _T1 first_type;
1115:       typedef _T2 second_type;
1115: 
1115:       _T1 first;
1115:       _T2 second;
1115: 
1115: 
1115:       constexpr pair(const pair&) = default;
1115:       constexpr pair(pair&&) = default;
1115: 
1115:       template<typename... _Args1, typename... _Args2>
1115: 
1115:  pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
1115: 
1115: 
1115:       void
1115:       swap(pair& __p)
1115:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1115:         __is_nothrow_swappable<_T2>>::value)
1115:       {
1115:  using std::swap;
1115:  swap(first, __p.first);
1115:  swap(second, __p.second);
1115:       }
1115: 
1115:     private:
1115:       template<typename... _Args1, size_t... _Indexes1,
1115:         typename... _Args2, size_t... _Indexes2>
1115: 
1115:  pair(tuple<_Args1...>&, tuple<_Args2...>&,
1115:       _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
1115:     public:
1115: # 378 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:       template <typename _U1 = _T1,
1115:                 typename _U2 = _T2,
1115:                 typename enable_if<__and_<
1115:                                      __is_implicitly_default_constructible<_U1>,
1115:                                      __is_implicitly_default_constructible<_U2>>
1115:                                    ::value, bool>::type = true>
1115:       constexpr pair()
1115:       : first(), second() { }
1115: 
1115:       template <typename _U1 = _T1,
1115:                 typename _U2 = _T2,
1115:                 typename enable_if<__and_<
1115:                        is_default_constructible<_U1>,
1115:                        is_default_constructible<_U2>,
1115:                        __not_<
1115:                          __and_<__is_implicitly_default_constructible<_U1>,
1115:                                 __is_implicitly_default_constructible<_U2>>>>
1115:                                    ::value, bool>::type = false>
1115:       explicit constexpr pair()
1115:       : first(), second() { }
1115: 
1115: 
1115: 
1115:       using _PCCP = _PCC<true, _T1, _T2>;
1115: 
1115: 
1115: 
1115:       template<typename _U1 = _T1, typename _U2=_T2, typename
1115:         enable_if<_PCCP::template
1115:       _ConstructiblePair<_U1, _U2>()
1115:                   && _PCCP::template
1115:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1115:                          bool>::type=true>
1115:       constexpr pair(const _T1& __ll)
609:     return __mbstowcs_nulldst (__dst, __src, __len);
609:   else
609:     return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
609:                                                       ;
609: }
609: 
609: extern size_t __wcstombs_chk (char *__restrict __dst,
609:          const wchar_t *__restrict __src,
609:          size_t __len, size_t __dstlen) noexcept (true)
609:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
609: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "wcstombs")
609: 
609: 
609: 
609:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
609: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__wcstombs_chk")
609: 
609: 
609: 
609:      __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
609: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1))))
609: 
609:                          ;
609: }
609: # 1041 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
609: # 1044 "/usr/include/stdlib.h" 2 3 4
609: 
609: 
609: 
609: 
609: }
609: # 76 "/usr/include/c++/12/cstdlib" 2 3
609: 
609: # 1 "/usr/include/c++/12/bits/std_abs.h" 1 3
609: # 33 "/usr/include/c++/12/bits/std_abs.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/std_abs.h" 3
609: # 46 "/usr/include/c++/12/bits/std_abs.h" 3
609: extern "C++"
609: {
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   using ::abs;
609: 
609: 
609:   inline long
609:   abs(long __i) { return __builtin_labs(__i); }
609: 
609: 
609: 
609:   inline long long
609:   abs(long long __x) { return __builtin_llabs (__x); }
609: # 70 "/usr/include/c++/12/bits/std_abs.h" 3
609:   inline constexpr double
609:   abs(double __x)
609:   { return __builtin_fabs(__x); }
609: 
609:   inline constexpr float
609:   abs(float __x)
609:   { return __builtin_fabsf(__x); }
609: 
609:   inline constexpr long double
609:   abs(long double __x)
609:   { return __builtin_fabsl(__x); }
609: # 107 "/usr/include/c++/12/bits/std_abs.h" 3
609: 
609: }
609: }
609: # 78 "/usr/include/c++/12/cstdlib" 2 3
609: # 121 "/usr/include/c++/12/cstdlib" 3
609: extern "C++"
609: {
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   using ::div_t;
609:   using ::ldiv_t;
609: 
609:   using ::abort;
609: 
609:   using ::aligned_alloc;
609: 
609:   using ::atexit;
609: 
609: 
609:   using ::at_quick_exit;
609: 
609: 
609:   using ::atof;
609:   using ::atoi;
609:   using ::atol;
609:   using ::bsearch;
609:   using ::calloc;
609:   using ::div;
609:   using ::exit;
609:   using ::free;
609:   using ::getenv;
609:   using ::labs;
609:   using ::ldiv;
609:   using ::malloc;
609: 
609:   using ::mblen;
609:   using ::mbstowcs;
609:   using ::mbtowc;
609: 
609:   using ::qsort;
609: 
609: 
609:   using ::quick_exit;
609: 
609: 
609:   using ::rand;
609:   using ::realloc;
609:   using ::srand;
609:   using ::strtod;
609:   using ::strtol;
609:   using ::strtoul;
609:   using ::system;
609: 
609:   using ::wcstombs;
609:   using ::wctomb;
609: 
609: 
609: 
609:   inline ldiv_t
609:   div(long __i, long __j) { return ldiv(__i, __j); }
609: 
609: 
609: 
609: 
609: }
609: # 195 "/usr/include/c++/12/cstdlib" 3
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   using ::lldiv_t;
609: 
609: 
609: 
609: 
609: 
609:   using ::_Exit;
609: 
609: 
609: 
609:   using ::llabs;
609: 
609:   inline lldiv_t
609:   div(long long __n, long long __d)
609:   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
609: 
609:   using ::lldiv;
609: # 227 "/usr/include/c++/12/cstdlib" 3
609:   using ::atoll;
609:   using ::strtoll;
609:   using ::strtoull;
609: 
609:   using ::strtof;
609:   using ::strtold;
609: 
609: 
609: }
609: 
609: namespace std
609: {
609: 
609:   using ::__gnu_cxx::lldiv_t;
609: 
609:   using ::__gnu_cxx::_Exit;
609: 
609:   using ::__gnu_cxx::llabs;
609:   using ::__gnu_cxx::div;
609:   using ::__gnu_cxx::lldiv;
609: 
609:   using ::__gnu_cxx::atoll;
609:   using ::__gnu_cxx::strtof;
609:   using ::__gnu_cxx::strtoll;
609:   using ::__gnu_cxx::strtoull;
609:   using ::__gnu_cxx::strtold;
609: }
609: 
609: 
609: 
609: }
609: # 70 "/usr/include/c++/12/bits/stl_algo.h" 2 3
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<typename _Iterator, typename _Compare>
609:    
609:     void
609:     __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b,
609:       _Iterator __c, _Compare __comp)
609:     {
609:       if (__comp(__a, __b))
609:  {
609:    if (__comp(__b, __c))
609:      std::iter_swap(__result, __b);
609:    else if (__comp(__a, __c))
609:      std::iter_swap(__result, __c);
609:    else
609:      std::iter_swap(__result, __a);
609:  }
609:       else if (__comp(__a, __c))
609:  std::iter_swap(__result, __a);
609:       else if (__comp(__b, __c))
609:  std::iter_swap(__result, __c);
609:       else
609:  std::iter_swap(__result, __b);
609:     }
609: 
609: 
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline _InputIterator
609:     __find_if_not(_InputIterator __first, _InputIterator __last,
609:     _Predicate __pred)
609:     {
609:       return std::__find_if(__first, __last,
609:        __gnu_cxx::__ops::__negate(__pred),
609:        std::__iterator_category(__first));
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _Predicate, typename _Distance>
609:    
609:     _InputIterator
609:     __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred)
609:     {
609:       for (; __len; --__len, (void) ++__first)
609:  if (!__pred(__first))
609:    break;
609:       return __first;
609:     }
609: # 141 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     _ForwardIterator1
609:     __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
609:       _BinaryPredicate __predicate)
609:     {
609: 
609:       if (__first1 == __last1 || __first2 == __last2)
609:  return __first1;
609: 
609: 
609:       _ForwardIterator2 __p1(__first2);
609:       if (++__p1 == __last2)
609:  return std::__find_if(__first1, __last1,
609:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
609: 
609: 
609:       _ForwardIterator1 __current = __first1;
609: 
609:       for (;;)
609:  {
609:    __first1 =
609:      std::__find_if(__first1, __last1,
609:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
609: 
609:    if (__first1 == __last1)
609:      return __last1;
609: 
609:    _ForwardIterator2 __p = __p1;
609:    __current = __first1;
609:    if (++__current == __last1)
609:      return __last1;
609: 
609:    while (__predicate(__current, __p))
609:      {
609:        if (++__p == __last2)
609:   return __first1;
609:        if (++__current == __last1)
609:   return __last1;
609:      }
609:    ++__first1;
609:  }
609:       return __first1;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Integer,
609:     typename _UnaryPredicate>
609:    
609:     _ForwardIterator
609:     __search_n_aux(_ForwardIterator __first, _ForwardIterator __last,
609:      _Integer __count, _UnaryPredicate __unary_pred,
609:      std::forward_iterator_tag)
609:     {
609:       __first = std::__find_if(__first, __last, __unary_pred);
609:       while (__first != __last)
609:  {
609:    typename iterator_traits<_ForwardIterator>::difference_type
609:      __n = __count;
609:    _ForwardIterator __i = __first;
609:    ++__i;
609:    while (__i != __last && __n != 1 && __unary_pred(__i))
609:      {
609:        ++__i;
609:        --__n;
609:      }
609:    if (__n == 1)
609:      return __first;
609:    if (__i == __last)
609:      return __last;
609:    __first = std::__find_if(++__i, __last, __unary_pred);
609:  }
609:       return __last;
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _RandomAccessIter, typename _Integer,
609:     typename _UnaryPredicate>
609:    
609:     _RandomAccessIter
609:     __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last,
609:      _Integer __count, _UnaryPredicate __unary_pred,
609:      std::random_access_iterator_tag)
609:     {
609:       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
609:  _DistanceType;
609: 
609:       _DistanceType __tailSize = __last - __first;
609:       _DistanceType __remainder = __count;
609: 
609:       while (__remainder <= __tailSize)
609:  {
609:    __first += __remainder;
609:    __tailSize -= __remainder;
609: 
609: 
609:    _RandomAccessIter __backTrack = __first;
609:    while (__unary_pred(--__backTrack))
609:      {
609:        if (--__remainder == 0)
609:   return (__first - __count);
609:      }
609:    __remainder = __count + 1 - (__first - __backTrack);
609:  }
609:       return __last;
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Integer,
609:     typename _UnaryPredicate>
609:    
609:     _ForwardIterator
609:     __search_n(_ForwardIterator __first, _ForwardIterator __last,
609:         _Integer __count,
609:         _UnaryPredicate __unary_pred)
609:     {
609:       if (__count <= 0)
609:  return __first;
609: 
609:       if (__count == 1)
609:  return std::__find_if(__first, __last, __unary_pred);
609: 
609:       return std::__search_n_aux(__first, __last, __count, __unary_pred,
609:      std::__iterator_category(__first));
609:     }
609: 
609: 
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     _Forwara, const _T2& __b)
1115:       : first(__a), second(__b) { }
1115: 
1115: 
1115:        template<typename _U1 = _T1, typename _U2=_T2, typename
1115:   enable_if<_PCCP::template
1115:        _ConstructiblePair<_U1, _U2>()
1115:                    && !_PCCP::template
1115:        _ImplicitlyConvertiblePair<_U1, _U2>(),
1115:                          bool>::type=false>
1115:       explicit constexpr pair(const _T1& __a, const _T2& __b)
1115:       : first(__a), second(__b) { }
1115: 
1115: 
1115: 
1115:       template <typename _U1, typename _U2>
1115:         using _PCCFP = _PCC<!is_same<_T1, _U1>::value
1115:        || !is_same<_T2, _U2>::value,
1115:        _T1, _T2>;
1115: 
1115: 
1115:       template<typename _U1, typename _U2, typename
1115:         enable_if<_PCCFP<_U1, _U2>::template
1115:       _ConstructiblePair<_U1, _U2>()
1115:                   && _PCCFP<_U1, _U2>::template
1115:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1115:      bool>::type=true>
1115:         constexpr pair(const pair<_U1, _U2>& __p)
1115:         : first(__p.first), second(__p.second) { }
1115: 
1115:       template<typename _U1, typename _U2, typename
1115:         enable_if<_PCCFP<_U1, _U2>::template
1115:       _ConstructiblePair<_U1, _U2>()
1115:     && !_PCCFP<_U1, _U2>::template
1115:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1115:                          bool>::type=false>
1115:  explicit constexpr pair(const pair<_U1, _U2>& __p)
1115:  : first(__p.first), second(__p.second) { }
1115: # 460 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:     private:
1115: 
1115: 
1115: 
1115:       struct __zero_as_null_pointer_constant
1115:       {
1115:  __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
1115:  { }
1115:  template<typename _Tp,
1115:    typename = __enable_if_t<is_null_pointer<_Tp>::value>>
1115:  __zero_as_null_pointer_constant(_Tp) = delete;
1115:       };
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _U1,
1115:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1115:         is_pointer<_T2>,
1115:         is_constructible<_T1, _U1>,
1115:         __not_<is_constructible<_T1, const _U1&>>,
1115:         is_convertible<_U1, _T1>>::value,
1115:         bool> = true>
1115:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1115:  constexpr
1115:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1115:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1115: 
1115:       template<typename _U1,
1115:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1115:         is_pointer<_T2>,
1115:         is_constructible<_T1, _U1>,
1115:         __not_<is_constructible<_T1, const _U1&>>,
1115:         __not_<is_convertible<_U1, _T1>>>::value,
1115:         bool> = false>
1115:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1115:  explicit constexpr
1115:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1115:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1115: 
1115:       template<typename _U2,
1115:         __enable_if_t<__and_<is_pointer<_T1>,
1115:         __not_<is_reference<_U2>>,
1115:         is_constructible<_T2, _U2>,
1115:         __not_<is_constructible<_T2, const _U2&>>,
1115:         is_convertible<_U2, _T2>>::value,
1115:         bool> = true>
1115:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1115:  constexpr
1115:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1115:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1115: 
1115:       template<typename _U2,
1115:         __enable_if_t<__and_<is_pointer<_T1>,
1115:         __not_<is_reference<_U2>>,
1115:         is_constructible<_T2, _U2>,
1115:         __not_<is_constructible<_T2, const _U2&>>,
1115:         __not_<is_convertible<_U2, _T2>>>::value,
1115:         bool> = false>
1115:  __attribute__ ((__deprecated__ ("use 'nullptr' instdIterator1
609:     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
609:         forward_iterator_tag, forward_iterator_tag,
609:         _BinaryPredicate __comp)
609:     {
609:       if (__first2 == __last2)
609:  return __last1;
609: 
609:       _ForwardIterator1 __result = __last1;
609:       while (1)
609:  {
609:    _ForwardIterator1 __new_result
609:      = std::__search(__first1, __last1, __first2, __last2, __comp);
609:    if (__new_result == __last1)
609:      return __result;
609:    else
609:      {
609:        __result = __new_result;
609:        __first1 = __new_result;
609:        ++__first1;
609:      }
609:  }
609:     }
609: 
609: 
609:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
609:     typename _BinaryPredicate>
609:    
609:     _BidirectionalIterator1
609:     __find_end(_BidirectionalIterator1 __first1,
609:         _BidirectionalIterator1 __last1,
609:         _BidirectionalIterator2 __first2,
609:         _BidirectionalIterator2 __last2,
609:         bidirectional_iterator_tag, bidirectional_iterator_tag,
609:         _BinaryPredicate __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
609:       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
609: 
609:       _RevIterator1 __rlast1(__first1);
609:       _RevIterator2 __rlast2(__first2);
609:       _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1,
609:            _RevIterator2(__last2), __rlast2,
609:            __comp);
609: 
609:       if (__rresult == __rlast1)
609:  return __last1;
609:       else
609:  {
609:    _BidirectionalIterator1 __result = __rresult.base();
609:    std::advance(__result, -std::distance(__first2, __last2));
609:    return __result;
609:  }
609:     }
609: # 367 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2>
609:    
609:     inline _ForwardIterator1
609:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__find_end(__first1, __last1, __first2, __last2,
609:         std::__iterator_category(__first1),
609:         std::__iterator_category(__first2),
609:         __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: # 416 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     inline _ForwardIterator1
609:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
609:       _BinaryPredicate __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__find_end(__first1, __last1, __first2, __last2,
609:         std::__iterator_category(__first1),
609:         std::__iterator_category(__first2),
609:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: # 452 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline bool
609:     all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
609:     { return __last == std::find_if_not(__first, __last, __pred); }
609: # 470 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline bool
609:     none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
609:     { return __last == std::find_if(__first, __last, __pred); }
609: # 489 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline bool
609:     any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)ead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1115:  explicit constexpr
1115:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1115:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1115: 
1115: 
1115: 
1115:       template<typename _U1, typename _U2, typename
1115:         enable_if<_PCCP::template
1115:       _MoveConstructiblePair<_U1, _U2>()
1115:      && _PCCP::template
1115:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1115:                          bool>::type=true>
1115:  constexpr pair(_U1&& __x, _U2&& __y)
1115:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1115: 
1115:       template<typename _U1, typename _U2, typename
1115:         enable_if<_PCCP::template
1115:       _MoveConstructiblePair<_U1, _U2>()
1115:      && !_PCCP::template
1115:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1115:                          bool>::type=false>
1115:  explicit constexpr pair(_U1&& __x, _U2&& __y)
1115:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1115: 
1115: 
1115:       template<typename _U1, typename _U2, typename
1115:         enable_if<_PCCFP<_U1, _U2>::template
1115:       _MoveConstructiblePair<_U1, _U2>()
1115:      && _PCCFP<_U1, _U2>::template
1115:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1115:                          bool>::type=true>
1115:  constexpr pair(pair<_U1, _U2>&& __p)
1115:  : first(std::forward<_U1>(__p.first)),
1115:    second(std::forward<_U2>(__p.second)) { }
1115: 
1115:       template<typename _U1, typename _U2, typename
1115:         enable_if<_PCCFP<_U1, _U2>::template
1115:       _MoveConstructiblePair<_U1, _U2>()
1115:      && !_PCCFP<_U1, _U2>::template
1115:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1115:                          bool>::type=false>
1115:  explicit constexpr pair(pair<_U1, _U2>&& __p)
1115:  : first(std::forward<_U1>(__p.first)),
1115:    second(std::forward<_U2>(__p.second)) { }
1115: 
1115:       pair&
1115:       operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
1115:            is_copy_assignable<_T2>>::value,
1115:     const pair&, const __nonesuch&> __p)
1115:       {
1115:  first = __p.first;
1115:  second = __p.second;
1115:  return *this;
1115:       }
1115: 
1115:       pair&
1115:       operator=(__conditional_t<__and_<is_move_assignable<_T1>,
1115:            is_move_assignable<_T2>>::value,
1115:     pair&&, __nonesuch&&> __p)
1115:       noexcept(__and_<is_nothrow_move_assignable<_T1>,
1115:         is_nothrow_move_assignable<_T2>>::value)
1115:       {
1115:  first = std::forward<first_type>(__p.first);
1115:  second = std::forward<second_type>(__p.second);
1115:  return *this;
1115:       }
1115: 
1115:       template<typename _U1, typename _U2>
1115:  typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
1115:       is_assignable<_T2&, const _U2&>>::value,
1115:       pair&>::type
1115:  operator=(const pair<_U1, _U2>& __p)
1115:  {
1115:    first = __p.first;
1115:    second = __p.second;
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _U1, typename _U2>
1115:  typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
1115:       is_assignable<_T2&, _U2&&>>::value,
1115:       pair&>::type
1115:  operator=(pair<_U1, _U2>&& __p)
1115:  {
1115:    first = std::forward<_U1>(__p.first);
1115:    second = std::forward<_U2>(__p.second);
1115:    return *this;
1115:  }
1115: # 629 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
1115: 
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     inline constexpr bool
1115:     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1115:     { return __x.first == __y.first && __x.second == __y.second; }
1115: # 661 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:   template<typename _T1, typename _T2>
1115:     inline constexpr bool
1115:     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1115:     { return __x.first < __y.first
609:     { return !std::none_of(__first, __last, __pred); }
609: # 505 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline _InputIterator
609:     find_if_not(_InputIterator __first, _InputIterator __last,
609:   _Predicate __pred)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       return std::__find_if_not(__first, __last,
609:     __gnu_cxx::__ops::__pred_iter(__pred));
609:     }
609: # 530 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline bool
609:     is_partitioned(_InputIterator __first, _InputIterator __last,
609:      _Predicate __pred)
609:     {
609:       __first = std::find_if_not(__first, __last, __pred);
609:       if (__first == __last)
609:  return true;
609:       ++__first;
609:       return std::none_of(__first, __last, __pred);
609:     }
609: # 552 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Predicate>
609:    
609:     _ForwardIterator
609:     partition_point(_ForwardIterator __first, _ForwardIterator __last,
609:       _Predicate __pred)
609:     {
609: 
609:      
609:      
609: 
609: 
609: 
609:       ;
609: 
609:       typedef typename iterator_traits<_ForwardIterator>::difference_type
609:  _DistanceType;
609: 
609:       _DistanceType __len = std::distance(__first, __last);
609: 
609:       while (__len > 0)
609:  {
609:    _DistanceType __half = __len >> 1;
609:    _ForwardIterator __middle = __first;
609:    std::advance(__middle, __half);
609:    if (__pred(*__middle))
609:      {
609:        __first = __middle;
609:        ++__first;
609:        __len = __len - __half - 1;
609:      }
609:    else
609:      __len = __half;
609:  }
609:       return __first;
609:     }
609: 
609: 
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _Predicate>
609:    
609:     _OutputIterator
609:     __remove_copy_if(_InputIterator __first, _InputIterator __last,
609:        _OutputIterator __result, _Predicate __pred)
609:     {
609:       for (; __first != __last; ++__first)
609:  if (!__pred(__first))
609:    {
609:      *__result = *__first;
609:      ++__result;
609:    }
609:       return __result;
609:     }
609: # 619 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
609:    
609:     inline _OutputIterator
609:     remove_copy(_InputIterator __first, _InputIterator __last,
609:   _OutputIterator __result, const _Tp& __value)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__remove_copy_if(__first, __last, __result,
609:  __gnu_cxx::__ops::__iter_equals_val(__value));
609:     }
609: # 652 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _Predicate>
609:    
609:     inline _OutputIterator
609:     remove_copy_if(_InputIterator __first, _InputIterator __last,
609:      _OutputIterator __result, _Predicate __pred)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__remove_copy_if(__first, __last, __result,
609:        __gnu_cxx::__ops::__pred_iter(__pred));
609:     }
609: # 687 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _Predicate>
609:    
609:     _OutputIterator
609:     copy_if(_InputIterator __first, _InputIterator __last,
609:      _OutputIterator __result, _Predicate __pred)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       for (; __first != __last; ++__first)
609:  if (__pred(*__first))
609:    {
609:      *__result = *__first;
609:      ++__result;
609:    }
609:       return __result;
609:     }
609: 
609:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
609:    
609:     _OutputIterator
609:     __copy_n(_InputIterator __first, _Size
1115:       || (!(__y.first < __x.first) && __x.second < __y.second); }
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     inline constexpr bool
1115:     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     inline constexpr bool
1115:     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     inline constexpr bool
1115:     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     inline constexpr bool
1115:     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1115:     { return !(__x < __y); }
1115: # 698 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:   template<typename _T1, typename _T2>
1115:     inline
1115: 
1115: 
1115:     typename enable_if<__and_<__is_swappable<_T1>,
1115:                               __is_swappable<_T2>>::value>::type
1115: 
1115: 
1115: 
1115:     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     typename enable_if<!__and_<__is_swappable<_T1>,
1115:           __is_swappable<_T2>>::value>::type
1115:     swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
1115: # 738 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:   template<typename _T1, typename _T2>
1115:     constexpr pair<typename __decay_and_strip<_T1>::__type,
1115:                    typename __decay_and_strip<_T2>::__type>
1115:     make_pair(_T1&& __x, _T2&& __y)
1115:     {
1115:       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
1115:       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
1115:       typedef pair<__ds_type1, __ds_type2> __pair_type;
1115:       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
1115:     }
1115: # 760 "/usr/include/c++/12/bits/stl_pair.h" 3
1115:   template<typename _T1, typename _T2>
1115:     struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
1115:     { };
1115: 
1115: 
1115:   template<class _Tp1, class _Tp2>
1115:     struct tuple_size<pair<_Tp1, _Tp2>>
1115:     : public integral_constant<size_t, 2> { };
1115: 
1115: 
1115:   template<class _Tp1, class _Tp2>
1115:     struct tuple_element<0, pair<_Tp1, _Tp2>>
1115:     { typedef _Tp1 type; };
1115: 
1115: 
1115:   template<class _Tp1, class _Tp2>
1115:     struct tuple_element<1, pair<_Tp1, _Tp2>>
1115:     { typedef _Tp2 type; };
1115: 
1115: 
1115:   template<typename _Tp1, typename _Tp2>
1115:     inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
1115: 
1115:   template<typename _Tp1, typename _Tp2>
1115:     inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr bool __is_pair = false;
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline constexpr bool __is_pair<const pair<_Tp, _Up>> = true;
1115: 
1115: 
1115: 
1115:   template<size_t _Int>
1115:     struct __pair_get;
1115: 
1115:   template<>
1115:     struct __pair_get<0>
1115:     {
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr _Tp1&
1115:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1115:  { return __pair.first; }
1115: 
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr _Tp1&&
1115:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1115:  { return std::forward<_Tp1>(__pair.first); }
1115: 
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr const _Tp1&
1115:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1115:  { return __pair.first; }
1115: 
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr const _Tp1&&
1115:  __const_ __n,
609:       _OutputIterator __result, input_iterator_tag)
609:     {
609:       return std::__niter_wrap(__result,
609:           __copy_n_a(__first, __n,
609:        std::__niter_base(__result), true));
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Size,
609:     typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     __copy_n(_RandomAccessIterator __first, _Size __n,
609:       _OutputIterator __result, random_access_iterator_tag)
609:     { return std::copy(__first, __first + __n, __result); }
609: # 743 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     copy_n(_InputIterator __first, _Size __n, _OutputIterator __result)
609:     {
609: 
609:      
609:      
609: 
609: 
609:       const auto __n2 = std::__size_to_integer(__n);
609:       if (__n2 <= 0)
609:  return __result;
609: 
609:       ;
609:       ;
609: 
609:       return std::__copy_n(__first, __n2, __result,
609:       std::__iterator_category(__first));
609:     }
609: # 779 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator1,
609:     typename _OutputIterator2, typename _Predicate>
609:    
609:     pair<_OutputIterator1, _OutputIterator2>
609:     partition_copy(_InputIterator __first, _InputIterator __last,
609:      _OutputIterator1 __out_true, _OutputIterator2 __out_false,
609:      _Predicate __pred)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       for (; __first != __last; ++__first)
609:  if (__pred(*__first))
609:    {
609:      *__out_true = *__first;
609:      ++__out_true;
609:    }
609:  else
609:    {
609:      *__out_false = *__first;
609:      ++__out_false;
609:    }
609: 
609:       return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false);
609:     }
609: # 830 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline _ForwardIterator
609:     remove(_ForwardIterator __first, _ForwardIterator __last,
609:     const _Tp& __value)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__remove_if(__first, __last,
609:   __gnu_cxx::__ops::__iter_equals_val(__value));
609:     }
609: # 864 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Predicate>
609:    
609:     inline _ForwardIterator
609:     remove_if(_ForwardIterator __first, _ForwardIterator __last,
609:        _Predicate __pred)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__remove_if(__first, __last,
609:          __gnu_cxx::__ops::__pred_iter(__pred));
609:     }
609: 
609:   template<typename _ForwardIterator, typename _BinaryPredicate>
609:    
609:     _ForwardIterator
609:     __adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
609:       _BinaryPredicate __binary_pred)
609:     {
609:       if (__first == __last)
609:  return __last;
609:       _ForwardIterator __next = __first;
609:       while (++__next != __last)
609:  {
609:    if (__binary_pred(__first, __next))
609:      return __first;
609:    __first = __next;
609:  }
609:       return __last;
609:     }
609: 
609:   template<typename _ForwardIterator, typename _BinaryPredicate>
609:    
609:     _ForwardIterator
609:     __unique(_ForwardIterator __first, _ForwardIterator __last,
609:       _BinaryPredicate __binary_pred)
609:     {
609: 
609:       __first = std::__adjacent_find(__first, __last, __binary_pred);
609:       if (__first == __last)
609:  return __last;
609: 
609: 
609:       _ForwardIterator __dest = __first;
609:       ++__first;
609:       while (++__first != __last)
609:  if (!__binary_pred(__dest, __first))
609:    *++__dest = std::move(*__first);
609:       return ++__dest;
609:     }
609: # 933 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:    
609:  move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1115:  { return std::forward<const _Tp1>(__pair.first); }
1115:     };
1115: 
1115:   template<>
1115:     struct __pair_get<1>
1115:     {
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr _Tp2&
1115:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1115:  { return __pair.second; }
1115: 
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr _Tp2&&
1115:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1115:  { return std::forward<_Tp2>(__pair.second); }
1115: 
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr const _Tp2&
1115:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1115:  { return __pair.second; }
1115: 
1115:       template<typename _Tp1, typename _Tp2>
1115:  static constexpr const _Tp2&&
1115:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1115:  { return std::forward<const _Tp2>(__pair.second); }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<size_t _Int, class _Tp1, class _Tp2>
1115:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1115:     get(pair<_Tp1, _Tp2>& __in) noexcept
1115:     { return __pair_get<_Int>::__get(__in); }
1115: 
1115:   template<size_t _Int, class _Tp1, class _Tp2>
1115:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1115:     get(pair<_Tp1, _Tp2>&& __in) noexcept
1115:     { return __pair_get<_Int>::__move_get(std::move(__in)); }
1115: 
1115:   template<size_t _Int, class _Tp1, class _Tp2>
1115:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1115:     get(const pair<_Tp1, _Tp2>& __in) noexcept
1115:     { return __pair_get<_Int>::__const_get(__in); }
1115: 
1115:   template<size_t _Int, class _Tp1, class _Tp2>
1115:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1115:     get(const pair<_Tp1, _Tp2>&& __in) noexcept
1115:     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr _Tp&
1115:     get(pair<_Tp, _Up>& __p) noexcept
1115:     { return __p.first; }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr const _Tp&
1115:     get(const pair<_Tp, _Up>& __p) noexcept
1115:     { return __p.first; }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr _Tp&&
1115:     get(pair<_Tp, _Up>&& __p) noexcept
1115:     { return std::move(__p.first); }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr const _Tp&&
1115:     get(const pair<_Tp, _Up>&& __p) noexcept
1115:     { return std::move(__p.first); }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr _Tp&
1115:     get(pair<_Up, _Tp>& __p) noexcept
1115:     { return __p.second; }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr const _Tp&
1115:     get(const pair<_Up, _Tp>& __p) noexcept
1115:     { return __p.second; }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr _Tp&&
1115:     get(pair<_Up, _Tp>&& __p) noexcept
1115:     { return std::move(__p.second); }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:     constexpr const _Tp&&
1115:     get(const pair<_Up, _Tp>&& __p) noexcept
1115:     { return std::move(__p.second); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 1 3
1115: # 62 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1115:        
1115: # 63 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1115: # 74 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 93 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1115:   struct input_iterator_tag { };
1115: 
1115: 
1115:   struct output_iterator_tag { };
1115: 
1115: 
1115:   struct forward_iterator_tag : public input_iterator_tag { };
1115: 
1115:   inline _ForwardIterator
609:     unique(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__unique(__first, __last,
609:       __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: # 964 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _BinaryPredicate>
609:    
609:     inline _ForwardIterator
609:     unique(_ForwardIterator __first, _ForwardIterator __last,
609:     _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609: 
609:       return std::__unique(__first, __last,
609:       __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _OutputIterator,
609:     typename _BinaryPredicate>
609:    
609:     _OutputIterator
609:     __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
609:     _OutputIterator __result, _BinaryPredicate __binary_pred,
609:     forward_iterator_tag, output_iterator_tag)
609:     {
609: 
609:      
609: 
609: 
609: 
609:       _ForwardIterator __next = __first;
609:       *__result = *__first;
609:       while (++__next != __last)
609:  if (!__binary_pred(__first, __next))
609:    {
609:      __first = __next;
609:      *++__result = *__first;
609:    }
609:       return ++__result;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _BinaryPredicate>
609:    
609:     _OutputIterator
609:     __unique_copy(_InputIterator __first, _InputIterator __last,
609:     _OutputIterator __result, _BinaryPredicate __binary_pred,
609:     input_iterator_tag, output_iterator_tag)
609:     {
609: 
609:      
609: 
609: 
609: 
609:       typename iterator_traits<_InputIterator>::value_type __value = *__first;
609:       __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred))
609:  __rebound_pred
609:  = __gnu_cxx::__ops::__iter_comp_val(__binary_pred);
609:       *__result = __value;
609:       while (++__first != __last)
609:  if (!__rebound_pred(__first, __value))
609:    {
609:      __value = *__first;
609:      *++__result = __value;
609:    }
609:       return ++__result;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _ForwardIterator,
609:     typename _BinaryPredicate>
609:    
609:     _ForwardIterator
609:     __unique_copy(_InputIterator __first, _InputIterator __last,
609:     _ForwardIterator __result, _BinaryPredicate __binary_pred,
609:     input_iterator_tag, forward_iterator_tag)
609:     {
609: 
609:      
609: 
609: 
609:       *__result = *__first;
609:       while (++__first != __last)
609:  if (!__binary_pred(__result, __first))
609:    *++__result = *__first;
609:       return ++__result;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _BidirectionalIterator>
609:    
609:     void
609:     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
609:        bidirectional_iterator_tag)
609:     {
609:       while (true)
609:  if (__first == __last || __first == --__last)
609:    return;
609:  else
609:    {
609:      std::iter_swap(__first, __last);
609:      ++__first;
609:    }
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _RandomAccessIterator>
609:    
609:     void
609:     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:        random_access_iterator_tag)
609:     {
609:       if (__first == __last)
609:  return;
609:       --__last;
609:       while (__first < __last)
609:  {
609:    std::iter_swap(__first, __last);
609:    ++__first;
609:    --__last;
609:  }
609:     }
609: # 1125 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator>
609:    
609:     inline void
609:     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
609:     {
609: 
609:      
609: 
609:       ;
609:       st 
1115: 
1115:   struct bidirectional_iterator_tag : public forward_iterator_tag { };
1115: 
1115: 
1115: 
1115:   struct random_access_iterator_tag : public bidirectional_iterator_tag { };
1115: # 125 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1115:   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
1115:            typename _Pointer = _Tp*, typename _Reference = _Tp&>
1115:     struct [[__deprecated__]] iterator
1115:     {
1115: 
1115:       typedef _Category iterator_category;
1115: 
1115:       typedef _Tp value_type;
1115: 
1115:       typedef _Distance difference_type;
1115: 
1115:       typedef _Pointer pointer;
1115: 
1115:       typedef _Reference reference;
1115:     };
1115: # 149 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1115:   template<typename _Iterator>
1115:     struct iterator_traits;
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Iterator, typename = __void_t<>>
1115:     struct __iterator_traits { };
1115: 
1115: 
1115: 
1115:   template<typename _Iterator>
1115:     struct __iterator_traits<_Iterator,
1115:         __void_t<typename _Iterator::iterator_category,
1115:           typename _Iterator::value_type,
1115:           typename _Iterator::difference_type,
1115:           typename _Iterator::pointer,
1115:           typename _Iterator::reference>>
1115:     {
1115:       typedef typename _Iterator::iterator_category iterator_category;
1115:       typedef typename _Iterator::value_type value_type;
1115:       typedef typename _Iterator::difference_type difference_type;
1115:       typedef typename _Iterator::pointer pointer;
1115:       typedef typename _Iterator::reference reference;
1115:     };
1115: 
1115: 
1115:   template<typename _Iterator>
1115:     struct iterator_traits
1115:     : public __iterator_traits<_Iterator> { };
1115: # 209 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1115:   template<typename _Tp>
1115:     struct iterator_traits<_Tp*>
1115:     {
1115:       typedef random_access_iterator_tag iterator_category;
1115:       typedef _Tp value_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef _Tp* pointer;
1115:       typedef _Tp& reference;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct iterator_traits<const _Tp*>
1115:     {
1115:       typedef random_access_iterator_tag iterator_category;
1115:       typedef _Tp value_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef const _Tp* pointer;
1115:       typedef const _Tp& reference;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Iter>
1115:     inline constexpr
1115:     typename iterator_traits<_Iter>::iterator_category
1115:     __iterator_category(const _Iter&)
1115:     { return typename iterator_traits<_Iter>::iterator_category(); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Iter>
1115:     using __iterator_category_t
1115:       = typename iterator_traits<_Iter>::iterator_category;
1115: 
1115:   template<typename _InIter>
1115:     using _RequireInputIter =
1115:       __enable_if_t<is_convertible<__iterator_category_t<_InIter>,
1115:        input_iterator_tag>::value>;
1115: 
1115:   template<typename _It,
1115:     typename _Cat = __iterator_category_t<_It>>
1115:     struct __is_random_access_iter
1115:       : is_base_of<random_access_iterator_tag, _Cat>
1115:     {
1115:       typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
1115:       enum { __value = _Base::value };
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 66 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 1 3
1115: # 62 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1115:        
1115: # 63 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/concept_check.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/concept_check.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/concept_check.h" 3
1115: # 65 "/usr/included::__reverse(__first, __last, std::__iterator_category(__first));
609:     }
609: # 1153 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator, typename _OutputIterator>
609:    
609:     _OutputIterator
609:     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
609:    _OutputIterator __result)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       while (__first != __last)
609:  {
609:    --__last;
609:    *__result = *__last;
609:    ++__result;
609:  }
609:       return __result;
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _EuclideanRingElement>
609:    
609:     _EuclideanRingElement
609:     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
609:     {
609:       while (__n != 0)
609:  {
609:    _EuclideanRingElement __t = __m % __n;
609:    __m = __n;
609:    __n = __t;
609:  }
609:       return __m;
609:     }
609: 
609:   inline namespace _V2
609:   {
609: 
609: 
609:   template<typename _ForwardIterator>
609:    
609:     _ForwardIterator
609:     __rotate(_ForwardIterator __first,
609:       _ForwardIterator __middle,
609:       _ForwardIterator __last,
609:       forward_iterator_tag)
609:     {
609:       if (__first == __middle)
609:  return __last;
609:       else if (__last == __middle)
609:  return __first;
609: 
609:       _ForwardIterator __first2 = __middle;
609:       do
609:  {
609:    std::iter_swap(__first, __first2);
609:    ++__first;
609:    ++__first2;
609:    if (__first == __middle)
609:      __middle = __first2;
609:  }
609:       while (__first2 != __last);
609: 
609:       _ForwardIterator __ret = __first;
609: 
609:       __first2 = __middle;
609: 
609:       while (__first2 != __last)
609:  {
609:    std::iter_swap(__first, __first2);
609:    ++__first;
609:    ++__first2;
609:    if (__first == __middle)
609:      __middle = __first2;
609:    else if (__first2 == __last)
609:      __first2 = __middle;
609:  }
609:       return __ret;
609:     }
609: 
609: 
609:   template<typename _BidirectionalIterator>
609:    
609:     _BidirectionalIterator
609:     __rotate(_BidirectionalIterator __first,
609:       _BidirectionalIterator __middle,
609:       _BidirectionalIterator __last,
609:        bidirectional_iterator_tag)
609:     {
609: 
609:      
609: 
609: 
609:       if (__first == __middle)
609:  return __last;
609:       else if (__last == __middle)
609:  return __first;
609: 
609:       std::__reverse(__first, __middle, bidirectional_iterator_tag());
609:       std::__reverse(__middle, __last, bidirectional_iterator_tag());
609: 
609:       while (__first != __middle && __middle != __last)
609:  {
609:    std::iter_swap(__first, --__last);
609:    ++__first;
609:  }
609: 
609:       if (__first == __middle)
609:  {
609:    std::__reverse(__middle, __last, bidirectional_iterator_tag());
609:    return __last;
609:  }
609:       else
609:  {
609:    std::__reverse(__first, __middle, bidirectional_iterator_tag());
609:    return __first;
609:  }
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator>
609:    
609:     _RandomAccessIterator
609:     __rotate(_RandomAccessIterator __first,
609:       _RandomAccessIterator __middle,
609:       _RandomAccessIterator __last,
609:       random_access_iterator_tag)
609:     {
609: 
609:      
609: 
609: 
609:       if (__first == __middle)
609:  return __last;
609:       else if (__last == __middle)
609:  return __first;
609: 
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:  _Distance;
609:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
609:  _ValueType;
609: 
609:       _Distance __n = __last - __first;
609:       _Distance __k = __middle - __first;
609: 
609:       if (__k == __n - __k)
609:  {
609:    std::swap_ranges(__first, __middle, __middle);
609:    return __middle;
609:  }
609: 
609:       _RandomAccessIterator __p = __first;
609:       _RandomAccessIterator __ret = __first + (__last - __middle);
609: 
609:       for (;;)
609:  {
609:  /c++/12/bits/stl_iterator_base_funcs.h" 2 3
1115: # 1 "/usr/include/c++/12/debug/assertions.h" 1 3
1115: # 66 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template <typename> struct _List_iterator;
1115:   template <typename> struct _List_const_iterator;
1115: 
1115: 
1115:   template<typename _InputIterator>
1115:     inline constexpr
1115:     typename iterator_traits<_InputIterator>::difference_type
1115:     __distance(_InputIterator __first, _InputIterator __last,
1115:                input_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1115:       while (__first != __last)
1115:  {
1115:    ++__first;
1115:    ++__n;
1115:  }
1115:       return __n;
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator>
1115:     inline constexpr
1115:     typename iterator_traits<_RandomAccessIterator>::difference_type
1115:     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:                random_access_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115:       return __last - __first;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     ptrdiff_t
1115:     __distance(std::_List_iterator<_Tp>,
1115:         std::_List_iterator<_Tp>,
1115:         input_iterator_tag);
1115: 
1115:   template<typename _Tp>
1115:     ptrdiff_t
1115:     __distance(std::_List_const_iterator<_Tp>,
1115:         std::_List_const_iterator<_Tp>,
1115:         input_iterator_tag);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _OutputIterator>
1115:     void
1115:     __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
1115: # 143 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1115:   template<typename _InputIterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr
1115:     typename iterator_traits<_InputIterator>::difference_type
1115:     distance(_InputIterator __first, _InputIterator __last)
1115:     {
1115: 
1115:       return std::__distance(__first, __last,
1115:         std::__iterator_category(__first));
1115:     }
1115: 
1115:   template<typename _InputIterator, typename _Distance>
1115:     inline constexpr void
1115:     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
1115:     {
1115: 
1115:      
1115:       do { if (std::__is_constant_evaluated() && !bool(__n >= 0)) __builtin_unreachable(); } while (false);
1115:       while (__n--)
1115:  ++__i;
1115:     }
1115: 
1115:   template<typename _BidirectionalIterator, typename _Distance>
1115:     inline constexpr void
1115:     __advance(_BidirectionalIterator& __i, _Distance __n,
1115:        bidirectional_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115:       if (__n > 0)
1115:         while (__n--)
1115:    ++__i;
1115:       else
1115:         while (__n++)
1115:    --__i;
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Distance>
1115:     inline constexpr void
1115:     __advance(_RandomAccessIterator& __i, _Distance __n,
1115:               random_access_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115:       if (__builtin_constant_p(__n) && __n == 1)
1115:  ++__i;
1115:       else if (__builtin_constant_p(__n) && __n == -1)
1115:  --__i;
1115:       else
1115:  __i += __n;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _OutputIterator, typename _Distance>
1115:     void
1115:     __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete;
1115: # 216 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1115:   template<typename _InputIterator, typename _Distance>
1115:     inline constexpr void
1115:     advance(_InputIterator& __i, _Distance __n)
1115:     {
1115: 
1115:       typename iterator_traits<_InputIterator>::difference_type __d = __n;
1115:       std::__advance(__i, __d, std::__iterator_category(__i));
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr _InputIterator
1115:     next(_InputIterator __x, typename
1115:   iterator_traits<_InputIterator>::difference_type __n = 1)
1115:     {
1115: 
1115:      
1115:       std::advance(__x, __n);
1115:       return __x;
1115:     }
1115: 
1115:   template<typename _BidirectionalIterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr _BidirectionalIterator
1115:     prev(_BidirectionalIterator __x, typename
1115:   iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
1115:     {
1115: 
1115:      
1115: 
1115:       std::advance(__x, -__n);
1115:       return __x;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 67 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_iterator.h" 1 3
1115: # 67 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115: # 1 "/usr/include/c++/12/bits/ptr_traits.h" 1 3
1115: # 46 "/usr/include/c++/12/bits/ptr_traits.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   class __undefined;
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __get_first_arg
1115:     { using type = __undefined; };
1115: 
1115:   template<template<typename, typename...> class _SomeTemplate, typename _Tp,
1115:            typename... _Types>
1115:     struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
1115:     { using type = _Tp; };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     struct __replace_first_arg
1115:     { };
1115: 
1115:   template<template<typename, typename...> class _SomeTemplate, typename _Up,
1115:            typename _Tp, typename... _Types>
1115:     struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
1115:     { using type = _SomeTemplate<_Up, _Types...>; };
1115: # 81 "/usr/include/c++/12/bits/ptr_traits.h" 3
1115:   template<typename _Ptr, typename = void>
1115:     struct __ptr_traits_elem : __get_first_arg<_Ptr>
1115:     { };
1115: 
1115: 
1115:   template<typename _Ptr>
1115:     struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
1115:     { using type = typename _Ptr::element_type; };
1115: 
1115:   template<typename _Ptr>
1115:     using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
1115: 
1115: 
1115: 
1115:   template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
1115:     struct __ptr_traits_ptr_to
1115:     {
1115:       using pointer = _Ptr;
1115:       using element_type = _Elt;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static pointer
1115:       pointer_to(element_type& __e)
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       { return pointer::pointer_to(__e); }
1115:     };
1115: 
1115: 
1115:   template<typename _Ptr, typename _Elt>
1115:     struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
1115:     {
1115:       using pointer = _Tp*;
1115:       using element_type = _Tp;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static pointer
1115:       pointer_to(element_type& __r) noexcept
1115:       { return std::addressof(__r); }
1115:     };
1115: 
1115:   template<typename _Ptr, typename _Elt>
1115:     struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
1115:     {
1115:     private:
1115:       template<typename _Tp, typename = void>
1115:  struct __difference { using type = ptrdiff_t; };
1115: 
1115:       template<typename _Tp>
1115: 
1115: 
1115: 
1115: 
1115:  struct __difference<_Tp, __void_t<typename _Tp::difference_type>>
1115: 
1115:  { using type = typename _Tp::difference_type; };
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __rebind : __replace_first_arg<_Tp, _Up> { };
1115: 
1115:       template<typename _Tp, typename _Up>
1115: 
1115: 
1115: 
1115: 
1115:  struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>>
1115: 
1115:  { using type = typename _Tp::template rebind<_Up>; };
1115: 
1115:     public:
1115: 
1115:       using pointer = _Ptr;
1115: 
1115: 
1115:       using element_type = _Elt;
1115: 
1115: 
1115:       using difference_type = typename __difference<_Ptr>::type;
1115: 
1115: 
1115:       template<typename _Up>
1115:         using rebind = typename __rebind<_Ptr, _Up>::type;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Ptr>
1115:     struct __ptr_traits_impl<_Ptr, __undefined>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Ptr>
1115:     struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
1115:     { };
1115: # 209 "/usr/include/c++/12/bits/ptr_traits.h" 3
1115:   template<typename _Tp>
1115:     struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
1115:     {
1115: 
1115:       typedef _Tp* pointer;
1115: 
1115:       typedef _Tp element_type;
1115: 
1115:       typedef ptrdiff_t difference_type;
1115: 
1115:       template<typename _Up> using rebind = _Up*;
1115:     };
1115: 
1115: 
1115:   template<typename _Ptr, typename _Tp>
1115:     using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
1115: 
1115:   template<typename _Tp>
1115:     constexpr _Tp*
1115:     __to_address(_Tp* __ptr) noexcept
1115:     {
1115:       static_assert(!std::is_function<_Tp>::value, "not a function pointer");
1115:       return __ptr;
1115:     }
1115: 
1115: 
1115:   template<typename _Ptr>
1115:     constexpr typename std::pointer_traits<_Ptr>::element_type*
1115:     __to_address(const _Ptr& __ptr)
1115:     { return std::__to_address(__ptr.operator->()); }
1115: # 282 "/usr/include/c++/12/bits/ptr_traits.h" 3
1115: 
1115: }
1115: # 68 "/usr/include/c++/12/bits/stl_iterator.h" 2 3
1115: # 88 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 109 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: # 131 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Iterator>
1115:     class reverse_iterator
1115:     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
1115:         typename iterator_traits<_Iterator>::value_type,
1115:         typename iterator_traits<_Iterator>::difference_type,
1115:         typename iterator_traits<_Iterator>::pointer,
1115:                       typename iterator_traits<_Iterator>::reference>
1115:     {
1115:       template<typename _Iter>
1115:  friend class reverse_iterator;
1115: # 150 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:     protected:
1115:       _Iterator current;
1115: 
1115:       typedef iterator_traits<_Iterator> __traits_type;
1115: 
1115:     public:
1115:       typedef _Iterator iterator_type;
1115:       typedef typename __traits_type::pointer pointer;
1115: 
1115:       typedef typename __traits_type::difference_type difference_type;
1115:       typedef typename __traits_type::reference reference;
1115: # 181 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:       constexpr
1115:       reverse_iterator()
1115:       noexcept(noexcept(_Iterator()))
1115:       : current()
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115:       explicit constexpr
1115:       reverse_iterator(iterator_type __x)
1115:       noexcept(noexcept(_Iterator(__x)))
1115:       : current(__x)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115:       constexpr
1115:       reverse_iterator(const reverse_iterator& __x)
1115:       noexcept(noexcept(_Iterator(__x.current)))
1115:       : current(__x.current)
1115:       { }
1115: 
1115: 
1115:       reverse_iterator& operator=(const reverse_iterator&) = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Iter>
1115: 
1115: 
1115: 
1115:  constexpr
1115:         reverse_iterator(const reverse_iterator<_Iter>& __x)
1115:  noexcept(noexcept(_Iterator(__x.current)))
1115:  : current(__x.current)
1115:  { }
1115: 
1115: 
1115:       template<typename _Iter>
1115: 
1115: 
1115: 
1115: 
1115:  constexpr
  if (__k < __n - __k)
609:      {
609:        if (__is_pod(_ValueType) && __k == 1)
609:   {
609:     _ValueType __t = std::move(*__p);
609:     std::move(__p + 1, __p + __n, __p);
609:     *(__p + __n - 1) = std::move(__t);
609:     return __ret;
609:   }
609:        _RandomAccessIterator __q = __p + __k;
609:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
609:   {
609:     std::iter_swap(__p, __q);
609:     ++__p;
609:     ++__q;
609:   }
609:        __n %= __k;
609:        if (__n == 0)
609:   return __ret;
609:        std::swap(__n, __k);
609:        __k = __n - __k;
609:      }
609:    else
609:      {
609:        __k = __n - __k;
609:        if (__is_pod(_ValueType) && __k == 1)
609:   {
609:     _ValueType __t = std::move(*(__p + __n - 1));
609:     std::move_backward(__p, __p + __n - 1, __p + __n);
609:     *__p = std::move(__t);
609:     return __ret;
609:   }
609:        _RandomAccessIterator __q = __p + __n;
609:        __p = __q - __k;
609:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
609:   {
609:     --__p;
609:     --__q;
609:     std::iter_swap(__p, __q);
609:   }
609:        __n %= __k;
609:        if (__n == 0)
609:   return __ret;
609:        std::swap(__n, __k);
609:      }
609:  }
609:     }
609: # 1385 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:    
609:     inline _ForwardIterator
609:     rotate(_ForwardIterator __first, _ForwardIterator __middle,
609:     _ForwardIterator __last)
609:     {
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__rotate(__first, __middle, __last,
609:       std::__iterator_category(__first));
609:     }
609: 
609:   }
609: # 1423 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
609:   _ForwardIterator __last, _OutputIterator __result)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::copy(__first, __middle,
609:          std::copy(__middle, __last, __result));
609:     }
609: 
609: 
609:   template<typename _ForwardIterator, typename _Predicate>
609:    
609:     _ForwardIterator
609:     __partition(_ForwardIterator __first, _ForwardIterator __last,
609:   _Predicate __pred, forward_iterator_tag)
609:     {
609:       if (__first == __last)
609:  return __first;
609: 
609:       while (__pred(*__first))
609:  if (++__first == __last)
609:    return __first;
609: 
609:       _ForwardIterator __next = __first;
609: 
609:       while (++__next != __last)
609:  if (__pred(*__next))
609:    {
609:      std::iter_swap(__first, __next);
609:      ++__first;
609:    }
609: 
609:       return __first;
609:     }
609: 
609: 
609:   template<typename _BidirectionalIterator, typename _Predicate>
609:    
609:     _BidirectionalIterator
609:     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
609:   _Predicate __pred, bidirectional_iterator_tag)
609:     {
609:       while (true)
609:  {
609:    while (true)
609:      if (__first == __last)
609:        return __first;
609:      else if (__pred(*__first))
609:        ++__first;
609:      else
609:        break;
609:    --__last;
609:    while (true)
609:      if (__first == __last)
609:        return __first;
609:      else if (!bool(__pred(*__last)))
609:        --__last;
609:      else
609:        break;
609:    std::iter_swap(__first, __last);
609:    ++__first;
609:  }
609:     }
609: # 1503 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
609:     typename _Distance>
609:     _ForwardIterator
609:     __stable_partition_adaptive(_ForwardIterator __first,
609:     _ForwardIterator __last,
609:     _Predicate __pred, _Distance __len,
609:     _Pointer __buffer,
609:     _Distance __buffer_size)
609:     {
609:       if (__len == 1)
609:  return __first;
609: 
609:       if (__len <= __buffer_size)
609:  {
609:    _Fo1115:  reverse_iterator&
1115:  operator=(const reverse_iterator<_Iter>& __x)
1115:  noexcept(noexcept(current = __x.current))
1115:  {
1115:    current = __x.current;
1115:    return *this;
1115:  }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr iterator_type
1115:       base() const
1115:       noexcept(noexcept(_Iterator(current)))
1115:       { return current; }
1115: # 258 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:       [[__nodiscard__]]
1115:       constexpr reference
1115:       operator*() const
1115:       {
1115:  _Iterator __tmp = current;
1115:  return *--__tmp;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr pointer
1115:       operator->() const
1115: 
1115: 
1115: 
1115: 
1115:       {
1115: 
1115: 
1115:  _Iterator __tmp = current;
1115:  --__tmp;
1115:  return _S_to_pointer(__tmp);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr reverse_iterator&
1115:       operator++()
1115:       {
1115:  --current;
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr reverse_iterator
1115:       operator++(int)
1115:       {
1115:  reverse_iterator __tmp = *this;
1115:  --current;
1115:  return __tmp;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr reverse_iterator&
1115:       operator--()
1115:       {
1115:  ++current;
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr reverse_iterator
1115:       operator--(int)
1115:       {
1115:  reverse_iterator __tmp = *this;
1115:  ++current;
1115:  return __tmp;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr reverse_iterator
1115:       operator+(difference_type __n) const
1115:       { return reverse_iterator(current - __n); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr reverse_iterator&
1115:       operator+=(difference_type __n)
1115:       {
1115:  current -= __n;
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr reverse_iterator
1115:       operator-(difference_type __n) const
1115:       { return reverse_iterator(current + __n); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr reverse_iterator&
1115:       operator-=(difference_type __n)
1115:       {
1115:  current += __n;
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr reference
1115:       operator[](difference_type __n) const
1115:       { return *(*this + __n); }
1115: # 418 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:     private:
1115:       template<typename _Tp>
1115:  static constexpr _Tp*
1115:  _S_to_pointer(_Tp* __p)
1115:         { return __p; }
1115: 
1115:       template<typename _Tp>
1115:  static constexpr pointer
1115:  _S_to_pointer(_Tp __t)
1115:         { return __t.operator->(); }
1115:     };
1115: # 441 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator==(const reverse_iterator<_Iterator>& __x,
1115:         const reverse_iterator<_Iterator>& __y)
1115:     { return __x.base() == __y.base(); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator<(const reverse_iterator<_Iterator>& __x,
1115:        const reverse_iterator<_Iterator>& __y)
1115:     { return __y.base() < __x.base(); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator!=(const reverse_iterator<_Iterator>& __x,
1115:         const reverse_iterator<_Iterator>& __y)
1115:     { return !(__x == __y); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>(const reverse_iterator<_Iterator>& __x,
1115:        const reverse_iterator<_Iterator>& __y)
1115:     { return __y < __x; }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator<=(const reverse_iterator<_Iterator>& __x,
1115:         const reverse_iterator<_Iterator>& __y)
1115:     { return !(__y < __x); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>=(const reverse_iterator<_Iterator>& __x,
1115:         const reverse_iterator<_Iterator>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator==(const reverse_iterator<_IteratorL>& __x,
1115:         const reverse_iterator<_IteratorR>& __y)
1115:     { return __x.base() == __y.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator<(const reverse_iterator<_IteratorL>& __x,
1115:        const reverse_iterator<_IteratorR>& __y)
1115:     { return __x.base() > __y.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator!=(const reverse_iterator<_IteratorL>& __x,
1115:         const reverse_iterator<_IteratorR>& __y)
1115:     { return __x.base() != __y.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>(const reverse_iterator<_IteratorL>& __x,
1115:        const reverse_iterator<_IteratorR>& __y)
1115:     { return __x.base() < __y.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     inline constexpr bool
1115:     operator<=(const reverse_iterator<_IteratorL>& __x,
1115:         const reverse_iterator<_IteratorR>& __y)
1115:     { return __x.base() >= __y.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>=(const reverse_iterator<_IteratorL>& __x,
1115:         const reverse_iterator<_IteratorR>& __y)
1115:     { return __x.base() <= __y.base(); }
1115: # 618 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     operator-(const reverse_iterator<_IteratorL>& __x,
1115:        const reverse_iterator<_IteratorR>& __y)
1115:     -> decltype(__y.base() - __x.base())
1115:     { return __y.base() - __x.base(); }
1115: 
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr reverse_iterator<_Iterator>
1115:     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
1115:        const reverse_iterator<_Iterator>& __x)
1115:     { return reverse_iterator<_Iterator>(__x.base() - __n); }
1115: 
1115: 
1115: 
1115:   template<typename _Iterator>
1115:     inline constexpr reverse_iterator<_Iterator>
1115:     __make_reverse_iterator(_Iterator __i)
1115:     { return reverse_iterator<_Iterator>(__i); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr reverse_iterator<_Iterator>
1115:     make_reverse_iterator(_Iterator __i)
1115:     { return reverse_iterator<_Iterator>(__i); }
1115: # 662 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Iterator>
1115:    
1115:     auto
1115:     __niter_base(reverse_iterator<_Iterator> __it)
1115:     -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
1115:     { return __make_reverse_iterator(__niter_base(__it.base())); }
1115: 
1115:   template<typename _Iterator>
1115:     struct __is_move_iterator<reverse_iterator<_Iterator> >
1115:       : __is_move_iterator<_Iterator>
1115:     { };
1115: 
1115:   template<typename _Iterator>
1115:    
1115:     auto
1115:     __miter_base(reverse_iterator<_Iterator> __it)
1115:     -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
1115:     { return __make_reverse_iterator(__miter_base(__it.base())); }
1115: # 693 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Container>
1115:     class back_insert_iterator
1115:     : public iterator<output_iterator_tag, void, void, void, void>
1115:     {
1115:     protected:
1115:       _Container* container;
1115: 
1115:     public:
1115: 
1115:       typedef _Container container_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       back_insert_iterator(_Container& __x)
1115:       : container(std::__addressof(__x)) { }
1115: # 731 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:      
1115:       back_insert_iterator&
1115:       operator=(const typename _Container::value_type& __value)
1115:       {
1115:  container->push_back(__value);
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       back_insert_iterator&
1115:       operator=(typename _Container::value_type&& __value)
1115:       {
1115:  container->push_back(std::move(__value));
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       back_insert_iterator&
1115:       operator*()
1115:       { return *this; }
1115: 
1115: 
1115:      
1115:       back_insert_iterator&
1115:       operator++()
1115:       { return *this; }
1115: 
1115: 
1115:      
1115:       back_insert_iterator
1115:       operator++(int)
1115:       { return *this; }
1115:     };
1115: # 778 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline back_insert_iterator<_Container>
1115:     back_inserter(_Container& __x)
1115:     { return back_insert_iterator<_Container>(__x); }
1115: # 794 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Container>
1115:     class front_insert_iterator
1115:     : public iterator<output_iterator_tag, void, void, void, void>
1115:     {
1115:     protected:
1115:       _Container* container;
1115: 
1115:     public:
1115: 
1115:       typedef _Container container_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       front_insert_iterator(_Container& __x)
1115:       : container(std::__addressof(__x)) { }
1115: # 832 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:      
1115:       front_insert_iterator&
1115:       operator=(const typename _Container::value_type& __value)
1115:       {
1115:  container->push_front(__value);
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       front_insert_iterator&
1115:       operator=(typename _Container::value_type&& __value)
1115:       {
1115:  container->push_front(std::move(__value));
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       front_insert_iterator&
1115:       operator*()
1115:       { return *this; }
1115: 
1115: 
1115:      
1115:       front_insert_iterator&
1115:       operator++()
1115:       { return *this; }
1115: 
1115: 
1115:      
1115:       front_insert_iterator
1115:       operator++(int)
1115:       { return *this; }
1115:     };
1115: # 879 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline front_insert_iterator<_Container>
1115:     front_inserter(_Container& __x)
1115:     { return front_insert_iterator<_Container>(__x); }
1115: # 899 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Container>
1115:     class insert_iterator
1115:     : public iterator<output_iterator_tag, void, void, void, void>
1115:     {
1115: 
1115: 
1115: 
1115:       typedef typename _Container::iterator _Iter;
1115: 
1115:     protected:
1115:       _Container* container;
1115:       _Iter iter;
1115: 
1115:     public:
1115: 
1115:       typedef _Container container_type;
1115: # 924 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:      
1115:       insert_iterator(_Container& __x, _Iter __i)
1115:       : container(strwardIterator __result1 = __first;
609:    _Pointer __result2 = __buffer;
609: 
609: 
609: 
609: 
609:    *__result2 = std::move(*__first);
609:    ++__result2;
609:    ++__first;
609:    for (; __first != __last; ++__first)
609:      if (__pred(__first))
609:        {
609:   *__result1 = std::move(*__first);
609:   ++__result1;
609:        }
609:      else
609:        {
609:   *__result2 = std::move(*__first);
609:   ++__result2;
609:        }
609: 
609:    std::move(__buffer, __result2, __result1);
609:    return __result1;
609:  }
609: 
609:       _ForwardIterator __middle = __first;
609:       std::advance(__middle, __len / 2);
609:       _ForwardIterator __left_split =
609:  std::__stable_partition_adaptive(__first, __middle, __pred,
609:       __len / 2, __buffer,
609:       __buffer_size);
609: 
609: 
609: 
609:       _Distance __right_len = __len - __len / 2;
609:       _ForwardIterator __right_split =
609:  std::__find_if_not_n(__middle, __right_len, __pred);
609: 
609:       if (__right_len)
609:  __right_split =
609:    std::__stable_partition_adaptive(__right_split, __last, __pred,
609:         __right_len,
609:         __buffer, __buffer_size);
609: 
609:       return std::rotate(__left_split, __middle, __right_split);
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Predicate>
609:     _ForwardIterator
609:     __stable_partition(_ForwardIterator __first, _ForwardIterator __last,
609:          _Predicate __pred)
609:     {
609:       __first = std::__find_if_not(__first, __last, __pred);
609: 
609:       if (__first == __last)
609:  return __first;
609: 
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType;
609:       typedef typename iterator_traits<_ForwardIterator>::difference_type
609:  _DistanceType;
609: 
609:       _Temporary_buffer<_ForwardIterator, _ValueType>
609:  __buf(__first, std::distance(__first, __last));
609:       return
609:  std::__stable_partition_adaptive(__first, __last, __pred,
609:       _DistanceType(__buf.requested_size()),
609:       __buf.begin(),
609:       _DistanceType(__buf.size()));
609:     }
609: # 1605 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Predicate>
609:     inline _ForwardIterator
609:     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
609:        _Predicate __pred)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__stable_partition(__first, __last,
609:          __gnu_cxx::__ops::__pred_iter(__pred));
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     void
609:     __heap_select(_RandomAccessIterator __first,
609:     _RandomAccessIterator __middle,
609:     _RandomAccessIterator __last, _Compare __comp)
609:     {
609:       std::__make_heap(__first, __middle, __comp);
609:       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
609:  if (__comp(__i, __first))
609:    std::__pop_heap(__first, __middle, __i, __comp);
609:     }
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _RandomAccessIterator,
609:     typename _Compare>
609:    
609:     _RandomAccessIterator
609:     __partial_sort_copy(_InputIterator __first, _InputIterator __last,
609:    _RandomAccessIterator __result_first,
609:    _RandomAccessIterator __result_last,
609:    _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_InputIterator>::value_type
609:  _InputValueType;
609:       typedef iterator_traits<_RandomAccessIterator> _RItTraits;
609:       typedef typename _RItTraits::difference_type _DistanceType;
609: 
609:       if (__result_first == __result_last)
609:  return __result_last;
609:       _RandomAccessIterator __result_real_last = __result_first;
609:       while (__first != __last && __result_real_last != __result_last)
609:  {
609:    *__result_real_last = *__first;
609:    ++__result_real_last;
609:    ++__first;
609:  }
609: 
609:       std::__make_heap(__result_first, __result_real_last, __comp);
609d::__addressof(__x)), iter(__i) {}
1115: # 960 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:      
1115:       insert_iterator&
1115:       operator=(const typename _Container::value_type& __value)
1115:       {
1115:  iter = container->insert(iter, __value);
1115:  ++iter;
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       insert_iterator&
1115:       operator=(typename _Container::value_type&& __value)
1115:       {
1115:  iter = container->insert(iter, std::move(__value));
1115:  ++iter;
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       insert_iterator&
1115:       operator*()
1115:       { return *this; }
1115: 
1115: 
1115:      
1115:       insert_iterator&
1115:       operator++()
1115:       { return *this; }
1115: 
1115: 
1115:      
1115:       insert_iterator&
1115:       operator++(int)
1115:       { return *this; }
1115:     };
1115: 
1115: #pragma GCC diagnostic pop
1115: # 1019 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline insert_iterator<_Container>
1115:     inserter(_Container& __x, typename _Container::iterator __i)
1115:     { return insert_iterator<_Container>(__x, __i); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 1042 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Iterator, typename _Container>
1115:     class __normal_iterator
1115:     {
1115:     protected:
1115:       _Iterator _M_current;
1115: 
1115:       typedef std::iterator_traits<_Iterator> __traits_type;
1115: 
1115: 
1115:       template<typename _Iter>
1115:  using __convertible_from
1115:    = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
1115: 
1115: 
1115:     public:
1115:       typedef _Iterator iterator_type;
1115:       typedef typename __traits_type::iterator_category iterator_category;
1115:       typedef typename __traits_type::value_type value_type;
1115:       typedef typename __traits_type::difference_type difference_type;
1115:       typedef typename __traits_type::reference reference;
1115:       typedef typename __traits_type::pointer pointer;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr __normal_iterator() noexcept
1115:       : _M_current(_Iterator()) { }
1115: 
1115:       explicit
1115:       __normal_iterator(const _Iterator& __i) noexcept
1115:       : _M_current(__i) { }
1115: 
1115: 
1115: 
1115:       template<typename _Iter, typename = __convertible_from<_Iter>>
1115: 
1115:  __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
1115:  noexcept
1115: # 1090 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:         : _M_current(__i.base()) { }
1115: 
1115: 
1115:      
1115:       reference
1115:       operator*() const noexcept
1115:       { return *_M_current; }
1115: 
1115:      
1115:       pointer
1115:       operator->() const noexcept
1115:       { return _M_current; }
1115: 
1115:      
1115:       __normal_iterator&
1115:       operator++() noexcept
1115:       {
1115:  ++_M_current;
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       __normal_iterator
1115:       operator++(int) noexcept
1115:       { return __normal_iterator(_M_current++); }
1115: 
1115: 
1115:      
1115:       __normal_iterator&
1115:       operator--() noexcept
1115:       {
1115:  --_M_current;
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       __normal_iterator
1115:       operator--(int) noexcept
1115:       { return __normal_iterator(_M_current--); }
1115: 
1115: 
1115:      
1115:       reference
1115:       operator[](difference_type __n) const noexcept
1115:       { return _M_current[__n]; }
1115: 
1115:      
1115:       __normal_iterator&
1115:       operator+=(difference_type __n) noexcept
1115:       { _M_current += __n; return *this; }
1115: 
1115:      
1115:       __normal_iterator
1115:       operator+(difference_type __n) const noexcept
1115:       { return __normal_iterato:       while (__first != __last)
609:  {
609:    if (__comp(__first, __result_first))
609:      std::__adjust_heap(__result_first, _DistanceType(0),
609:           _DistanceType(__result_real_last
609:           - __result_first),
609:           _InputValueType(*__first), __comp);
609:    ++__first;
609:  }
609:       std::__sort_heap(__result_first, __result_real_last, __comp);
609:       return __result_real_last;
609:     }
609: # 1693 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _RandomAccessIterator>
609:    
609:     inline _RandomAccessIterator
609:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
609:         _RandomAccessIterator __result_first,
609:         _RandomAccessIterator __result_last)
609:     {
609: # 1708 "/usr/include/c++/12/bits/stl_algo.h" 3
609:      
609:      
609: 
609:      
609: 
609:      
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__partial_sort_copy(__first, __last,
609:           __result_first, __result_last,
609:           __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 1743 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _RandomAccessIterator,
609:     typename _Compare>
609:    
609:     inline _RandomAccessIterator
609:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
609:         _RandomAccessIterator __result_first,
609:         _RandomAccessIterator __result_last,
609:         _Compare __comp)
609:     {
609: # 1760 "/usr/include/c++/12/bits/stl_algo.h" 3
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__partial_sort_copy(__first, __last,
609:           __result_first, __result_last,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     void
609:     __unguarded_linear_insert(_RandomAccessIterator __last,
609:          _Compare __comp)
609:     {
609:       typename iterator_traits<_RandomAccessIterator>::value_type
609:  __val = std::move(*__last);
609:       _RandomAccessIterator __next = __last;
609:       --__next;
609:       while (__comp(__val, __next))
609:  {
609:    *__last = std::move(*__next);
609:    __last = __next;
609:    --__next;
609:  }
609:       *__last = std::move(__val);
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     void
609:     __insertion_sort(_RandomAccessIterator __first,
609:        _RandomAccessIterator __last, _Compare __comp)
609:     {
609:       if (__first == __last) return;
609: 
609:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
609:  {
609:    if (__comp(__i, __first))
609:      {
609:        typename iterator_traits<_RandomAccessIterator>::value_type
609:   __val = std::move(*__i);
609:        std::move_backward(__first, __i, __i + 1);
609:        *__first = std::move(__val);
609:      }
609:    else
609:      std::__unguarded_linear_insert(__i,
609:     __gnu_cxx::__ops::__val_comp_iter(__comp));
609:  }
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     __unguarded_insertion_sort(_RandomAccessIterator __first,
609:           _RandomAccessIterator __last, _Compare __comp)
609:     {
609:       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
609:  std::__unguarded_linear_insert(__i,
609:     __gnu_cxx::__ops::__val_comp_iter(__comp));
609:     }
609: 
609: 
609: 
609: 
609: 
609:   enum { _S_threshold = 16 };
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     void
609:     __final_insertion_sort(_RandomAccessIterator __first,
609:       _RandomAccessIterator __last, _Compare __comp)
609:     {
609:       if (__last - __first > int(_S_threshold))
609:  {
609:    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
609:    std::__unguarded_ir(_M_current + __n); }
1115: 
1115:      
1115:       __normal_iterator&
1115:       operator-=(difference_type __n) noexcept
1115:       { _M_current -= __n; return *this; }
1115: 
1115:      
1115:       __normal_iterator
1115:       operator-(difference_type __n) const noexcept
1115:       { return __normal_iterator(_M_current - __n); }
1115: 
1115:      
1115:       const _Iterator&
1115:       base() const noexcept
1115:       { return _M_current; }
1115:     };
1115: # 1210 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
1115:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() == __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
1115:         const __normal_iterator<_Iterator, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() == __rhs.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1115:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() != __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
1115:         const __normal_iterator<_Iterator, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() != __rhs.base(); }
1115: 
1115: 
1115:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
1115:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() < __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
1115:        const __normal_iterator<_Iterator, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() < __rhs.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
1115:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() > __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
1115:        const __normal_iterator<_Iterator, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() > __rhs.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1115:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() <= __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
1115:         const __normal_iterator<_Iterator, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() <= __rhs.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(cnsertion_sort(__first + int(_S_threshold), __last,
609:        __comp);
609:  }
609:       else
609:  std::__insertion_sort(__first, __last, __comp);
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     _RandomAccessIterator
609:     __unguarded_partition(_RandomAccessIterator __first,
609:      _RandomAccessIterator __last,
609:      _RandomAccessIterator __pivot, _Compare __comp)
609:     {
609:       while (true)
609:  {
609:    while (__comp(__first, __pivot))
609:      ++__first;
609:    --__last;
609:    while (__comp(__pivot, __last))
609:      --__last;
609:    if (!(__first < __last))
609:      return __first;
609:    std::iter_swap(__first, __last);
609:    ++__first;
609:  }
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline _RandomAccessIterator
609:     __unguarded_partition_pivot(_RandomAccessIterator __first,
609:     _RandomAccessIterator __last, _Compare __comp)
609:     {
609:       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
609:       std::__move_median_to_first(__first, __first + 1, __mid, __last - 1,
609:       __comp);
609:       return std::__unguarded_partition(__first + 1, __last, __first, __comp);
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     __partial_sort(_RandomAccessIterator __first,
609:      _RandomAccessIterator __middle,
609:      _RandomAccessIterator __last,
609:      _Compare __comp)
609:     {
609:       std::__heap_select(__first, __middle, __last, __comp);
609:       std::__sort_heap(__first, __middle, __comp);
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
609:    
609:     void
609:     __introsort_loop(_RandomAccessIterator __first,
609:        _RandomAccessIterator __last,
609:        _Size __depth_limit, _Compare __comp)
609:     {
609:       while (__last - __first > int(_S_threshold))
609:  {
609:    if (__depth_limit == 0)
609:      {
609:        std::__partial_sort(__first, __last, __last, __comp);
609:        return;
609:      }
609:    --__depth_limit;
609:    _RandomAccessIterator __cut =
609:      std::__unguarded_partition_pivot(__first, __last, __comp);
609:    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
609:    __last = __cut;
609:  }
609:     }
609: 
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     __sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:     _Compare __comp)
609:     {
609:       if (__first != __last)
609:  {
609:    std::__introsort_loop(__first, __last,
609:     std::__lg(__last - __first) * 2,
609:     __comp);
609:    std::__final_insertion_sort(__first, __last, __comp);
609:  }
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
609:    
609:     void
609:     __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
609:     _RandomAccessIterator __last, _Size __depth_limit,
609:     _Compare __comp)
609:     {
609:       while (__last - __first > 3)
609:  {
609:    if (__depth_limit == 0)
609:      {
609:        std::__heap_select(__first, __nth + 1, __last, __comp);
609: 
609:        std::iter_swap(__first, __nth);
609:        return;
609:      }
609:    --__depth_limit;
609:    _RandomAccessIterator __cut =
609:      std::__unguarded_partition_pivot(__first, __last, __comp);
609:    if (__cut <= __nth)
609:      __first = __cut;
609:    else
609:      __last = __cut;
609:  }
609:       std::__insertion_sort(__first, __last, __comp);
609:     }
609: # 1991 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
609:    
609:     inline _ForwardIterator
609:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
609:   const _Tp& __val, _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609:      
609:                     ;
6onst __normal_iterator<_IteratorL, _Container>& __lhs,
1115:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() >= __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
1115:         const __normal_iterator<_Iterator, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() >= __rhs.base(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1115: 
1115: 
1115:     [[__nodiscard__]]
1115:     inline auto
1115:     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
1115:        const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
1115:     -> decltype(__lhs.base() - __rhs.base())
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     { return __lhs.base() - __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline typename __normal_iterator<_Iterator, _Container>::difference_type
1115:     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
1115:        const __normal_iterator<_Iterator, _Container>& __rhs)
1115:     noexcept
1115:     { return __lhs.base() - __rhs.base(); }
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     [[__nodiscard__]]
1115:     inline __normal_iterator<_Iterator, _Container>
1115:     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
1115:        __n, const __normal_iterator<_Iterator, _Container>& __i)
1115:     noexcept
1115:     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
1115: 
1115: 
1115: }
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:    
1115:     _Iterator
1115:     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
1115:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1115:     { return __it.base(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Iterator, typename _Container>
1115:     constexpr auto
1115:     __to_address(const __gnu_cxx::__normal_iterator<_Iterator,
1115:           _Container>& __it) noexcept
1115:     -> decltype(std::__to_address(__it.base()))
1115:     { return std::__to_address(__it.base()); }
1115: # 1417 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   namespace __detail
1115:   {
1115: # 1433 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   }
1115: # 1444 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Iterator>
1115:     class move_iterator
1115: 
1115: 
1115: 
1115:     {
1115:       _Iterator _M_current;
1115: 
1115:       using __traits_type = iterator_traits<_Iterator>;
1115: 
1115:       using __base_ref = typename __traits_type::reference;
1115: 
1115: 
1115:       template<typename _Iter2>
1115:  friend class move_iterator;
1115: # 1468 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:     public:
1115:       using iterator_type = _Iterator;
1115: # 1479 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:       typedef typename __traits_type::iterator_category iterator_category;
1115:       typedef typename __traits_type::value_type value_type;
1115:       typedef typename __traits_type::difference_type difference_type;
1115: 
1115:       typedef _Iterator pointer;
1115: 
1115: 
1115:       using reference
1115:  = __conditional_t<is_reference<__base_ref>::value,
1115:      typename remove_reference<__base_ref>::type&&,
1115:      __base_ref>;
1115: 
1115: 
1115:       constexpr
1115:       move_iterator()
1115:       : _M_current() { }
1115: 
1115:       explicit constexpr
1115:       move_iterator(iterator_type __i)
1115:       : _M_current(std::move(__i)) { }
1115: 
1115:       template<typename _Iter>
1115: 
1115: 
1115: 
1115:  constexpr
1115:  move_iterator(const move_iterator<_It09: 
609:       return std::__lower_bound(__first, __last, __val,
609:     __gnu_cxx::__ops::__iter_comp_val(__comp));
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
609:    
609:     _ForwardIterator
609:     __upper_bound(_ForwardIterator __first, _ForwardIterator __last,
609:     const _Tp& __val, _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::difference_type
609:  _DistanceType;
609: 
609:       _DistanceType __len = std::distance(__first, __last);
609: 
609:       while (__len > 0)
609:  {
609:    _DistanceType __half = __len >> 1;
609:    _ForwardIterator __middle = __first;
609:    std::advance(__middle, __half);
609:    if (__comp(__val, __middle))
609:      __len = __half;
609:    else
609:      {
609:        __first = __middle;
609:        ++__first;
609:        __len = __len - __half - 1;
609:      }
609:  }
609:       return __first;
609:     }
609: # 2047 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline _ForwardIterator
609:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
609:   const _Tp& __val)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__upper_bound(__first, __last, __val,
609:     __gnu_cxx::__ops::__val_less_iter());
609:     }
609: # 2078 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
609:    
609:     inline _ForwardIterator
609:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
609:   const _Tp& __val, _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609:      
609:                     ;
609: 
609:       return std::__upper_bound(__first, __last, __val,
609:     __gnu_cxx::__ops::__val_comp_iter(__comp));
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp,
609:     typename _CompareItTp, typename _CompareTpIt>
609:    
609:     pair<_ForwardIterator, _ForwardIterator>
609:     __equal_range(_ForwardIterator __first, _ForwardIterator __last,
609:     const _Tp& __val,
609:     _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::difference_type
609:  _DistanceType;
609: 
609:       _DistanceType __len = std::distance(__first, __last);
609: 
609:       while (__len > 0)
609:  {
609:    _DistanceType __half = __len >> 1;
609:    _ForwardIterator __middle = __first;
609:    std::advance(__middle, __half);
609:    if (__comp_it_val(__middle, __val))
609:      {
609:        __first = __middle;
609:        ++__first;
609:        __len = __len - __half - 1;
609:      }
609:    else if (__comp_val_it(__val, __middle))
609:      __len = __half;
609:    else
609:      {
609:        _ForwardIterator __left
609:   = std::__lower_bound(__first, __middle, __val, __comp_it_val);
609:        std::advance(__first, __len);
609:        _ForwardIterator __right
609:   = std::__upper_bound(++__middle, __first, __val, __comp_val_it);
609:        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
609:      }
609:  }
609:       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
609:     }
609: # 2151 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline pair<_ForwardIterator, _ForwardIterator>
609:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
609:   const _Tp& __val)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__equal_range(__first, __last, __val,
609:     __gnu_cxx::__ops::__iter_less_val(),
609:     __gnu_cxx::__ops::__val_less_iter());
609:     }
609: # 2188 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
609:    
609:     inline pair<_ForwardIterator, _ForwardIterator>
609:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
609:   c/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
  298 |   typedef __SIZE_TYPE__         size_t;
      |           ^~~~~~~~~~~~~
onst _Tp& __val, _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:      
609:                     ;
609:      
609:                     ;
609: 
609:       return std::__equal_range(__first, __last, __val,
609:     __gnu_cxx::__ops::__iter_comp_val(__comp),
609:     __gnu_cxx::__ops::__val_comp_iter(__comp));
609:     }
609: # 2222 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     bool
609:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
609:     const _Tp& __val)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       ;
609: 
609:       _ForwardIterator __i
609:  = std::__lower_bound(__first, __last, __val,
609:         __gnu_cxx::__ops::__iter_less_val());
609:       return __i != __last && !(__val < *__i);
609:     }
609: # 2256 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
609:    
609:     bool
609:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
609:     const _Tp& __val, _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609:      
609:                     ;
609:      
609:                     ;
609: 
609:       _ForwardIterator __i
609:  = std::__lower_bound(__first, __last, __val,
609:         __gnu_cxx::__ops::__iter_comp_val(__comp));
609:       return __i != __last && !bool(__comp(__val, *__i));
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _Compare>
609:     void
609:     __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1,
609:      _InputIterator2 __first2, _InputIterator2 __last2,
609:      _OutputIterator __result, _Compare __comp)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2)
609:  {
609:    if (__comp(__first2, __first1))
609:      {
609:        *__result = std::move(*__first2);
609:        ++__first2;
609:      }
609:    else
609:      {
609:        *__result = std::move(*__first1);
609:        ++__first1;
609:      }
609:    ++__result;
609:  }
609:       if (__first1 != __last1)
609:  std::move(__first1, __last1, __result);
609:     }
609: 
609: 
609:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
609:     typename _BidirectionalIterator3, typename _Compare>
609:     void
609:     __move_merge_adaptive_backward(_BidirectionalIterator1 __first1,
609:        _BidirectionalIterator1 __last1,
609:        _BidirectionalIterator2 __first2,
609:        _BidirectionalIterator2 __last2,
609:        _BidirectionalIterator3 __result,
609:        _Compare __comp)
609:     {
609:       if (__first1 == __last1)
609:  {
609:    std::move_backward(__first2, __last2, __result);
609:    return;
609:  }
609:       else if (__first2 == __last2)
609:  return;
609: 
609:       --__last1;
609:       --__last2;
609:       while (true)
609:  {
609:    if (__comp(__last2, __last1))
609:      {
609:        *--__result = std::move(*__last1);
609:        if (__first1 == __last1)
609:   {
609:     std::move_backward(__first2, ++__last2, __result);
609:     return;
609:   }
609:        --__last1;
609:      }
609:    else
609:      {
609:        *--__result = std::move(*__last2);
609:        if (__first2 == __last2)
609:   return;
609:        --__last2;
609:      }
609:  }
609:     }
609: 
609: 
609:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
609:     typename _Distance>
609:     _BidirectionalIterator1
609:     __rotate_adaptive(_BidirectionalIterator1 __first,
609:         _BidirectionalIterator1 __middle,
609:         _BidirectionalIterator1 __last,
609:         _Distance __len1, _Distance __len2,
609:         _BidirectionalIterator2 __buffer,
609:         _Distance __buffer_size)
609:     {
609:       _BidirectionalIterator2 __buffer_end;
609:       if (__len1 > __len2 && __len2 <= __buffer_size)
609:  {
609:    if (__len2)
609:      {
609:        __buffer_end = std::move(__middle, __ler>& __i)
1115:  : _M_current(__i._M_current) { }
1115: 
1115:       template<typename _Iter>
1115: 
1115: 
1115: 
1115: 
1115:  constexpr
1115:  move_iterator& operator=(const move_iterator<_Iter>& __i)
1115:  {
1115:    _M_current = __i._M_current;
1115:    return *this;
1115:  }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr iterator_type
1115:       base() const
1115:       { return _M_current; }
1115: # 1537 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:       [[__nodiscard__]]
1115:       constexpr reference
1115:       operator*() const
1115: 
1115: 
1115: 
1115:       { return static_cast<reference>(*_M_current); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr pointer
1115:       operator->() const
1115:       { return _M_current; }
1115: 
1115:       constexpr move_iterator&
1115:       operator++()
1115:       {
1115:  ++_M_current;
1115:  return *this;
1115:       }
1115: 
1115:       constexpr move_iterator
1115:       operator++(int)
1115:       {
1115:  move_iterator __tmp = *this;
1115:  ++_M_current;
1115:  return __tmp;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr move_iterator&
1115:       operator--()
1115:       {
1115:  --_M_current;
1115:  return *this;
1115:       }
1115: 
1115:       constexpr move_iterator
1115:       operator--(int)
1115:       {
1115:  move_iterator __tmp = *this;
1115:  --_M_current;
1115:  return __tmp;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr move_iterator
1115:       operator+(difference_type __n) const
1115:       { return move_iterator(_M_current + __n); }
1115: 
1115:       constexpr move_iterator&
1115:       operator+=(difference_type __n)
1115:       {
1115:  _M_current += __n;
1115:  return *this;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr move_iterator
1115:       operator-(difference_type __n) const
1115:       { return move_iterator(_M_current - __n); }
1115: 
1115:       constexpr move_iterator&
1115:       operator-=(difference_type __n)
1115:       {
1115:  _M_current -= __n;
1115:  return *this;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr reference
1115:       operator[](difference_type __n) const
1115: 
1115: 
1115: 
1115:       { return std::move(_M_current[__n]); }
1115: # 1651 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:     };
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator==(const move_iterator<_IteratorL>& __x,
1115:         const move_iterator<_IteratorR>& __y)
1115: 
1115: 
1115: 
1115:     { return __x.base() == __y.base(); }
1115: # 1672 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator!=(const move_iterator<_IteratorL>& __x,
1115:         const move_iterator<_IteratorR>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator<(const move_iterator<_IteratorL>& __x,
1115:        const move_iterator<_IteratorR>& __y)
1115: 
1115: 
1115: 
1115:     { return __x.base() < __y.base(); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator<=(const move_iterator<_IteratorL>& __x,
1115:         const move_iterator<_IteratorR>& __y)
1115: 
1115: 
1115: 
1115:     { return !(__y < __x); }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>(const move_iterator<_IteratorL>& __x,
1115:        const move_iterator<_IteratorR>& __y)
1115: 
1115: 
1115: 
1115:     { return __y < __x; }
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>=(const move_iterator<_ast, __buffer);
609:        std::move_backward(__first, __middle, __last);
609:        return std::move(__buffer, __buffer_end, __first);
609:      }
609:    else
609:      return __first;
609:  }
609:       else if (__len1 <= __buffer_size)
609:  {
609:    if (__len1)
609:      {
609:        __buffer_end = std::move(__first, __middle, __buffer);
609:        std::move(__middle, __last, __first);
609:        return std::move_backward(__buffer, __buffer_end, __last);
609:      }
609:    else
609:      return __last;
609:  }
609:       else
609:  return std::rotate(__first, __middle, __last);
609:     }
609: 
609: 
609:   template<typename _BidirectionalIterator, typename _Distance,
609:     typename _Pointer, typename _Compare>
609:     void
609:     __merge_adaptive(_BidirectionalIterator __first,
609:        _BidirectionalIterator __middle,
609:        _BidirectionalIterator __last,
609:        _Distance __len1, _Distance __len2,
609:        _Pointer __buffer, _Distance __buffer_size,
609:        _Compare __comp)
609:     {
609:       if (__len1 <= __len2 && __len1 <= __buffer_size)
609:  {
609:    _Pointer __buffer_end = std::move(__first, __middle, __buffer);
609:    std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
609:          __first, __comp);
609:  }
609:       else if (__len2 <= __buffer_size)
609:  {
609:    _Pointer __buffer_end = std::move(__middle, __last, __buffer);
609:    std::__move_merge_adaptive_backward(__first, __middle, __buffer,
609:            __buffer_end, __last, __comp);
609:  }
609:       else
609:  {
609:    _BidirectionalIterator __first_cut = __first;
609:    _BidirectionalIterator __second_cut = __middle;
609:    _Distance __len11 = 0;
609:    _Distance __len22 = 0;
609:    if (__len1 > __len2)
609:      {
609:        __len11 = __len1 / 2;
609:        std::advance(__first_cut, __len11);
609:        __second_cut
609:   = std::__lower_bound(__middle, __last, *__first_cut,
609:          __gnu_cxx::__ops::__iter_comp_val(__comp));
609:        __len22 = std::distance(__middle, __second_cut);
609:      }
609:    else
609:      {
609:        __len22 = __len2 / 2;
609:        std::advance(__second_cut, __len22);
609:        __first_cut
609:   = std::__upper_bound(__first, __middle, *__second_cut,
609:          __gnu_cxx::__ops::__val_comp_iter(__comp));
609:        __len11 = std::distance(__first, __first_cut);
609:      }
609: 
609:    _BidirectionalIterator __new_middle
609:      = std::__rotate_adaptive(__first_cut, __middle, __second_cut,
609:          __len1 - __len11, __len22, __buffer,
609:          __buffer_size);
609:    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
609:     __len22, __buffer, __buffer_size, __comp);
609:    std::__merge_adaptive(__new_middle, __second_cut, __last,
609:     __len1 - __len11,
609:     __len2 - __len22, __buffer,
609:     __buffer_size, __comp);
609:  }
609:     }
609: 
609: 
609:   template<typename _BidirectionalIterator, typename _Distance,
609:     typename _Compare>
609:     void
609:     __merge_without_buffer(_BidirectionalIterator __first,
609:       _BidirectionalIterator __middle,
609:       _BidirectionalIterator __last,
609:       _Distance __len1, _Distance __len2,
609:       _Compare __comp)
609:     {
609:       if (__len1 == 0 || __len2 == 0)
609:  return;
609: 
609:       if (__len1 + __len2 == 2)
609:  {
609:    if (__comp(__middle, __first))
609:      std::iter_swap(__first, __middle);
609:    return;
609:  }
609: 
609:       _BidirectionalIterator __first_cut = __first;
609:       _BidirectionalIterator __second_cut = __middle;
609:       _Distance __len11 = 0;
609:       _Distance __len22 = 0;
609:       if (__len1 > __len2)
609:  {
609:    __len11 = __len1 / 2;
609:    std::advance(__first_cut, __len11);
609:    __second_cut
609:      = std::__lower_bound(__middle, __last, *__first_cut,
609:      __gnu_cxx::__ops::__iter_comp_val(__comp));
609:    __len22 = std::distance(__middle, __second_cut);
609:  }
609:       else
609:  {
609:    __len22 = __len2 / 2;
609:    std::advance(__second_cut, __len2IteratorL>& __x,
1115:         const move_iterator<_IteratorR>& __y)
1115: 
1115: 
1115: 
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator==(const move_iterator<_Iterator>& __x,
1115:         const move_iterator<_Iterator>& __y)
1115:     { return __x.base() == __y.base(); }
1115: # 1738 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator!=(const move_iterator<_Iterator>& __x,
1115:         const move_iterator<_Iterator>& __y)
1115:     { return !(__x == __y); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator<(const move_iterator<_Iterator>& __x,
1115:        const move_iterator<_Iterator>& __y)
1115:     { return __x.base() < __y.base(); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator<=(const move_iterator<_Iterator>& __x,
1115:         const move_iterator<_Iterator>& __y)
1115:     { return !(__y < __x); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>(const move_iterator<_Iterator>& __x,
1115:        const move_iterator<_Iterator>& __y)
1115:     { return __y < __x; }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr bool
1115:     operator>=(const move_iterator<_Iterator>& __x,
1115:         const move_iterator<_Iterator>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _IteratorL, typename _IteratorR>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     operator-(const move_iterator<_IteratorL>& __x,
1115:        const move_iterator<_IteratorR>& __y)
1115:     -> decltype(__x.base() - __y.base())
1115:     { return __x.base() - __y.base(); }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr move_iterator<_Iterator>
1115:     operator+(typename move_iterator<_Iterator>::difference_type __n,
1115:        const move_iterator<_Iterator>& __x)
1115:     { return __x + __n; }
1115: 
1115:   template<typename _Iterator>
1115:     [[__nodiscard__]]
1115:     inline constexpr move_iterator<_Iterator>
1115:     make_move_iterator(_Iterator __i)
1115:     { return move_iterator<_Iterator>(std::move(__i)); }
1115: 
1115:   template<typename _Iterator, typename _ReturnType
1115:     = __conditional_t<__move_if_noexcept_cond
1115:       <typename iterator_traits<_Iterator>::value_type>::value,
1115:   _Iterator, move_iterator<_Iterator>>>
1115:     inline constexpr _ReturnType
1115:     __make_move_if_noexcept_iterator(_Iterator __i)
1115:     { return _ReturnType(__i); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _ReturnType
1115:     = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
1115:         const _Tp*, move_iterator<_Tp*>>>
1115:     inline constexpr _ReturnType
1115:     __make_move_if_noexcept_iterator(_Tp* __i)
1115:     { return _ReturnType(__i); }
1115: # 2552 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _Iterator>
1115:    
1115:     auto
1115:     __niter_base(move_iterator<_Iterator> __it)
1115:     -> decltype(make_move_iterator(__niter_base(__it.base())))
1115:     { return make_move_iterator(__niter_base(__it.base())); }
1115: 
1115:   template<typename _Iterator>
1115:     struct __is_move_iterator<move_iterator<_Iterator> >
1115:     {
1115:       enum { __value = 1 };
1115:       typedef __true_type __type;
1115:     };
1115: 
1115:   template<typename _Iterator>
1115:    
1115:     auto
1115:     __miter_base(move_iterator<_Iterator> __it)
1115:     -> decltype(__miter_base(__it.base()))
1115:     { return __miter_base(__it.base()); }
1115: # 2584 "/usr/include/c++/12/bits/stl_iterator.h" 3
1115:   template<typename _InputIterator>
1115:     using __i2);
609:    __first_cut
609:      = std::__upper_bound(__first, __middle, *__second_cut,
609:      __gnu_cxx::__ops::__val_comp_iter(__comp));
609:    __len11 = std::distance(__first, __first_cut);
609:  }
609: 
609:       _BidirectionalIterator __new_middle
609:  = std::rotate(__first_cut, __middle, __second_cut);
609:       std::__merge_without_buffer(__first, __first_cut, __new_middle,
609:       __len11, __len22, __comp);
609:       std::__merge_without_buffer(__new_middle, __second_cut, __last,
609:       __len1 - __len11, __len2 - __len22, __comp);
609:     }
609: 
609:   template<typename _BidirectionalIterator, typename _Compare>
609:     void
609:     __inplace_merge(_BidirectionalIterator __first,
609:       _BidirectionalIterator __middle,
609:       _BidirectionalIterator __last,
609:       _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_BidirectionalIterator>::value_type
609:    _ValueType;
609:       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
609:    _DistanceType;
609:       typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf;
609: 
609:       if (__first == __middle || __middle == __last)
609:  return;
609: 
609:       const _DistanceType __len1 = std::distance(__first, __middle);
609:       const _DistanceType __len2 = std::distance(__middle, __last);
609: 
609: 
609: 
609:       _TmpBuf __buf(__first, std::min(__len1, __len2));
609: 
609:       if (__buf.begin() == 0)
609:  std::__merge_without_buffer
609:    (__first, __middle, __last, __len1, __len2, __comp);
609:       else
609:  std::__merge_adaptive
609:    (__first, __middle, __last, __len1, __len2, __buf.begin(),
609:     _DistanceType(__buf.size()), __comp);
609:     }
609: # 2548 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator>
609:     inline void
609:     inplace_merge(_BidirectionalIterator __first,
609:     _BidirectionalIterator __middle,
609:     _BidirectionalIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       std::__inplace_merge(__first, __middle, __last,
609:       __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 2589 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator, typename _Compare>
609:     inline void
609:     inplace_merge(_BidirectionalIterator __first,
609:     _BidirectionalIterator __middle,
609:     _BidirectionalIterator __last,
609:     _Compare __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       std::__inplace_merge(__first, __middle, __last,
609:       __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _Compare>
609:     _OutputIterator
609:     __move_merge(_InputIterator __first1, _InputIterator __last1,
609:    _InputIterator __first2, _InputIterator __last2,
609:    _OutputIterator __result, _Compare __comp)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2)
609:  {
609:    if (__comp(__first2, __first1))
609:      {
609:        *__result = std::move(*__first2);
609:        ++__first2;
609:      }
609:    else
609:      {
609:        *__result = std::move(*__first1);
609:        ++__first1;
609:      }
609:    ++__result;
609:  }
609:       return std::move(__first2, __last2, std::move(__first1, __last1, __result))
609: 
609:                   ;
609:     }
609: 
609:   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
609:     typename _Distance, typename _Compare>
609:     void
609:     __merge_sort_loop(_RandomAccessIterator1 __first,
609:         _RandomAccessIterator1 __last,
609:         _RandomAccessIterator2 __result, _Distance __step_size,
609:         _Compare __comp)
609:     {
609:       const _Distance __two_step = 2 * __step_size;
609: 
609:       while (__last - __first >= __two_step)
609:  {
609:    __result = std::__move_merge(__first, __first + __step0x137a10f internal_error(char const*, ...)
	???:0
_size,
609:            __first + __step_size,
609:            __first + __two_step,
609:            __result, __comp);
609:    __first += __two_step;
609:  }
609:       __step_size = std::min(_Distance(__last - __first), __step_size);
609: 
609:       std::__move_merge(__first, __first + __step_size,
609:    __first + __step_size, __last, __result, __comp);
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Distance,
609:     typename _Compare>
609:    
609:     void
609:     __chunk_insertion_sort(_RandomAccessIterator __first,
609:       _RandomAccessIterator __last,
609:       _Distance __chunk_size, _Compare __comp)
609:     {
609:       while (__last - __first >= __chunk_size)
609:  {
609:    std::__insertion_sort(__first, __first + __chunk_size, __comp);
609:    __first += __chunk_size;
609:  }
609:       std::__insertion_sort(__first, __last, __comp);
609:     }
609: 
609:   enum { _S_chunk_size = 7 };
609: 
609:   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
609:     void
609:     __merge_sort_with_buffer(_RandomAccessIterator __first,
609:         _RandomAccessIterator __last,
609:         _Pointer __buffer, _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:  _Distance;
609: 
609:       const _Distance __len = __last - __first;
609:       const _Pointer __buffer_last = __buffer + __len;
609: 
609:       _Distance __step_size = _S_chunk_size;
609:       std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
609: 
609:       while (__step_size < __len)
609:  {
609:    std::__merge_sort_loop(__first, __last, __buffer,
609:      __step_size, __comp);
609:    __step_size *= 2;
609:    std::__merge_sort_loop(__buffer, __buffer_last, __first,
609:      __step_size, __comp);
609:    __step_size *= 2;
609:  }
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Pointer,
609:     typename _Distance, typename _Compare>
609:     void
609:     __stable_sort_adaptive(_RandomAccessIterator __first,
609:       _RandomAccessIterator __last,
609:       _Pointer __buffer, _Distance __buffer_size,
609:       _Compare __comp)
609:     {
609:       const _Distance __len = (__last - __first + 1) / 2;
609:       const _RandomAccessIterator __middle = __first + __len;
609:       if (__len > __buffer_size)
609:  {
609:    std::__stable_sort_adaptive(__first, __middle, __buffer,
609:           __buffer_size, __comp);
609:    std::__stable_sort_adaptive(__middle, __last, __buffer,
609:           __buffer_size, __comp);
609:  }
609:       else
609:  {
609:    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
609:    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
609:  }
609: 
609:       std::__merge_adaptive(__first, __middle, __last,
609:        _Distance(__middle - __first),
609:        _Distance(__last - __middle),
609:        __buffer, __buffer_size,
609:        __comp);
609:     }
609: 
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:     void
609:     __inplace_stable_sort(_RandomAccessIterator __first,
609:      _RandomAccessIterator __last, _Compare __comp)
609:     {
609:       if (__last - __first < 15)
609:  {
609:    std::__insertion_sort(__first, __last, __comp);
609:    return;
609:  }
609:       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
609:       std::__inplace_stable_sort(__first, __middle, __comp);
609:       std::__inplace_stable_sort(__middle, __last, __comp);
609:       std::__merge_without_buffer(__first, __middle, __last,
609:       __middle - __first,
609:       __last - __middle,
609:       __comp);
609:     }
609: # 2763 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _Compare>
609:    
609:     bool
609:     __includes(_InputIterator1 __first1, _InputIterator1 __last1,
609:         _InputIterator2 __first2, _InputIterator2 __last2,
609:         _Compare __comp)
609:     {
609:       while (__ter_key_t = remove_const_t<
1115:     typename iterator_traits<_InputIterator>::value_type::first_type>;
1115: 
1115:   template<typename _InputIterator>
1115:     using __iter_val_t =
1115:     typename iterator_traits<_InputIterator>::value_type::second_type;
1115: 
1115:   template<typename _T1, typename _T2>
1115:     struct pair;
1115: 
1115:   template<typename _InputIterator>
1115:     using __iter_to_alloc_t =
1115:     pair<add_const_t<__iter_key_t<_InputIterator>>,
1115:   __iter_val_t<_InputIterator>>;
1115: 
1115: 
1115: 
1115: }
1115: # 68 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/debug/debug.h" 1 3
1115: # 48 "/usr/include/c++/12/debug/debug.h" 3
1115: namespace std
1115: {
1115:   namespace __debug { }
1115: }
1115: 
1115: 
1115: 
1115: 
1115: namespace __gnu_debug
1115: {
1115:   using namespace std::__debug;
1115: 
1115:   template<typename _Ite, typename _Seq, typename _Cat>
1115:     struct _Safe_iterator;
1115: }
1115: # 70 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/predefined_ops.h" 1 3
1115: # 35 "/usr/include/c++/12/bits/predefined_ops.h" 3
1115: namespace __gnu_cxx
1115: {
1115: namespace __ops
1115: {
1115:   struct _Iter_less_iter
1115:   {
1115:     template<typename _Iterator1, typename _Iterator2>
1115:       constexpr
1115:       bool
1115:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1115:       { return *__it1 < *__it2; }
1115:   };
1115: 
1115:   constexpr
1115:   inline _Iter_less_iter
1115:   __iter_less_iter()
1115:   { return _Iter_less_iter(); }
1115: 
1115:   struct _Iter_less_val
1115:   {
1115: 
1115:     constexpr _Iter_less_val() = default;
1115: 
1115: 
1115: 
1115: 
1115:    
1115:     explicit
1115:     _Iter_less_val(_Iter_less_iter) { }
1115: 
1115:     template<typename _Iterator, typename _Value>
1115:      
1115:       bool
1115:       operator()(_Iterator __it, _Value& __val) const
1115:       { return *__it < __val; }
1115:   };
1115: 
1115:  
1115:   inline _Iter_less_val
1115:   __iter_less_val()
1115:   { return _Iter_less_val(); }
1115: 
1115:  
1115:   inline _Iter_less_val
1115:   __iter_comp_val(_Iter_less_iter)
1115:   { return _Iter_less_val(); }
1115: 
1115:   struct _Val_less_iter
1115:   {
1115: 
1115:     constexpr _Val_less_iter() = default;
1115: 
1115: 
1115: 
1115: 
1115:    
1115:     explicit
1115:     _Val_less_iter(_Iter_less_iter) { }
1115: 
1115:     template<typename _Value, typename _Iterator>
1115:      
1115:       bool
1115:       operator()(_Value& __val, _Iterator __it) const
1115:       { return __val < *__it; }
1115:   };
1115: 
1115:  
1115:   inline _Val_less_iter
1115:   __val_less_iter()
1115:   { return _Val_less_iter(); }
1115: 
1115:  
1115:   inline _Val_less_iter
1115:   __val_comp_iter(_Iter_less_iter)
1115:   { return _Val_less_iter(); }
1115: 
1115:   struct _Iter_equal_to_iter
1115:   {
1115:     template<typename _Iterator1, typename _Iterator2>
1115:      
1115:       bool
1115:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1115:       { return *__it1 == *__it2; }
1115:   };
1115: 
1115:  
1115:   inline _Iter_equal_to_iter
1115:   __iter_equal_to_iter()
1115:   { return _Iter_equal_to_iter(); }
1115: 
1115:   struct _Iter_equal_to_val
1115:   {
1115:     template<typename _Iterator, typename _Value>
1115:      
1115:       bool
1115:       operator()(_Iterator __it, _Value& __val) const
1115:       { return *__it == __val; }
1115:   };
1115: 
1115:  
1115:   inline _Iter_equal_to_val
1115:   __iter_equal_to_val()
1115:   { return _Iter_equal_to_val(); }
1115: 
1115:  
1115:   inline _Iter_equal_to_val
1115:   __iter_comp_val(_Iter_equal_to_iter)
1115:   { return _Iter_equal_to_val(); }
1115: 
1115:   template<typename _Compare>
1115:     struct _Iter_comp_iter
1115:     {
1115:       _Compare _M_comp;
1115: 
1115:       explicit constexpr
1115:       _Iter_comp_iter(_Compare __comp)
1115:  : _M_comp(std::move(__comp))
1115:       { }
1115: 
1115:       template<typename _Iterator1, typename _Iterator2>
1115: first1 != __last1 && __first2 != __last2)
609:  {
609:    if (__comp(__first2, __first1))
609:      return false;
609:    if (!__comp(__first1, __first2))
609:      ++__first2;
609:    ++__first1;
609:  }
609: 
609:       return __first2 == __last2;
609:     }
609: # 2801 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2>
609:    
609:     inline bool
609:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
609:       _InputIterator2 __first2, _InputIterator2 __last2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__includes(__first1, __last1, __first2, __last2,
609:         __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 2846 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _Compare>
609:    
609:     inline bool
609:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
609:       _InputIterator2 __first2, _InputIterator2 __last2,
609:       _Compare __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__includes(__first1, __last1, __first2, __last2,
609:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: # 2882 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator, typename _Compare>
609:    
609:     bool
609:     __next_permutation(_BidirectionalIterator __first,
609:          _BidirectionalIterator __last, _Compare __comp)
609:     {
609:       if (__first == __last)
609:  return false;
609:       _BidirectionalIterator __i = __first;
609:       ++__i;
609:       if (__i == __last)
609:  return false;
609:       __i = __last;
609:       --__i;
609: 
609:       for(;;)
609:  {
609:    _BidirectionalIterator __ii = __i;
609:    --__i;
609:    if (__comp(__i, __ii))
609:      {
609:        _BidirectionalIterator __j = __last;
609:        while (!__comp(__i, --__j))
609:   {}
609:        std::iter_swap(__i, __j);
609:        std::__reverse(__ii, __last,
609:         std::__iterator_category(__first));
609:        return true;
609:      }
609:    if (__i == __first)
609:      {
609:        std::__reverse(__first, __last,
609:         std::__iterator_category(__first));
609:        return false;
609:      }
609:  }
609:     }
609: # 2932 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator>
609:    
609:     inline bool
609:     next_permutation(_BidirectionalIterator __first,
609:        _BidirectionalIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__next_permutation
609:  (__first, __last, __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 2965 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator, typename _Compare>
609:    
609:     inline bool
609:     next_permutation(_BidirectionalIterator __first,
609:        _BidirectionalIterator __last, _Compare __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__next_permutation
609:  (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _BidirectionalIterator, typename _Compare>
609:    
609:     bool
609:     __prev_permutation(_BidirectionalIterator __first,
609:          _BidirectionalIterator __last, _Compare __comp)
609:     {
609:       if (__first == __last)
609:  return false;
609:       _BidirectionalIterator __i = __first;
609:       ++__i;
609:       if (__i == __last)
609:  return false;
609:       __i = __last;
609:       --__i;
609: 
609:       for(;;)
609:  {
609:    _BidirectionalIterator __ii = __i;
609:    --__i;
609:    if (__comp(__ii, __i))
609:      {
609:        _BidirectionalIterator __j = __last;
609:        while (!__comp(--__j, __i))
0x389c8b pop_to_parent_deferring_access_checks()
	???:0
609:   {}
609:        std::iter_swap(__i, __j);
609:        std::__reverse(__ii, __last,
609:         std::__iterator_category(__first));
609:        return true;
609:      }
609:    if (__i == __first)
609:      {
609:        std::__reverse(__first, __last,
609:         std::__iterator_category(__first));
609:        return false;
609:      }
609:  }
609:     }
609: # 3035 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator>
609:    
609:     inline bool
609:     prev_permutation(_BidirectionalIterator __first,
609:        _BidirectionalIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__prev_permutation(__first, __last,
609:          __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 3068 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _BidirectionalIterator, typename _Compare>
609:    
609:     inline bool
609:     prev_permutation(_BidirectionalIterator __first,
609:        _BidirectionalIterator __last, _Compare __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__prev_permutation(__first, __last,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _Predicate, typename _Tp>
609:    
609:     _OutputIterator
609:     __replace_copy_if(_InputIterator __first, _InputIterator __last,
609:         _OutputIterator __result,
609:         _Predicate __pred, const _Tp& __new_value)
609:     {
609:       for (; __first != __last; ++__first, (void)++__result)
609:  if (__pred(__first))
609:    *__result = __new_value;
609:  else
609:    *__result = *__first;
609:       return __result;
609:     }
609: # 3120 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
609:    
609:     inline _OutputIterator
609:     replace_copy(_InputIterator __first, _InputIterator __last,
609:    _OutputIterator __result,
609:    const _Tp& __old_value, const _Tp& __new_value)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__replace_copy_if(__first, __last, __result,
609:    __gnu_cxx::__ops::__iter_equals_val(__old_value),
609:            __new_value);
609:     }
609: # 3155 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _Predicate, typename _Tp>
609:    
609:     inline _OutputIterator
609:     replace_copy_if(_InputIterator __first, _InputIterator __last,
609:       _OutputIterator __result,
609:       _Predicate __pred, const _Tp& __new_value)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__replace_copy_if(__first, __last, __result,
609:     __gnu_cxx::__ops::__pred_iter(__pred),
609:            __new_value);
609:     }
609: # 3184 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:    
609:     inline bool
609:     is_sorted(_ForwardIterator __first, _ForwardIterator __last)
609:     { return std::is_sorted_until(__first, __last) == __last; }
609: # 3199 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Compare>
609:    
609:     inline bool
609:     is_sorted(_ForwardIterator __first, _ForwardIterator __last,
609:        _Compare __comp)
609:     { return std::is_sorted_until(__first, __last, __comp) == __last; }
609: 
609:   template<typename _ForwardIterator, typename _Compare>
609:    
609:     _ForwardIterator
609:     __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
609:         _Compare __comp)
609:     {
609:       if (__first == __last)
609:  return __last;
609: 
609:       _ForwardIterator __next = __first;
609:       for (++__next; __next != __last; __first = __next, (void)++__next)
609:  if (__comp(__next, __first))
609:    return __next;
609:       return __next;
609:     }
609: # 3230 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:    
609:     inline _ForwardIterator
609:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__is_sorted_until(__first, __last,
609:         __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 3255 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Compare>
609:    
609:     inline _ForwardIterator
609:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
609:       _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__is_sorted_until(__first, __last,
609:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: # 3281 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _Tp>
609:     constexpr
609:     inline pair<const _Tp&, const _Tp&>
609:     minmax(const _Tp& __a, const _Tp& __b)
609:     {
609: 
609:      
609: 
609:       return __b < __a ? pair<const _Tp&, const _Tp&>(__b, __a)
609:          : pair<const _Tp&, const _Tp&>(__a, __b);
609:     }
609: # 3302 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     inline pair<const _Tp&, const _Tp&>
609:     minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
609:     {
609:       return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a)
609:          : pair<const _Tp&, const _Tp&>(__a, __b);
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Compare>
609:     constexpr
609:     pair<_ForwardIterator, _ForwardIterator>
609:     __minmax_element(_ForwardIterator __first, _ForwardIterator __last,
609:        _Compare __comp)
609:     {
609:       _ForwardIterator __next = __first;
609:       if (__first == __last
609:    || ++__next == __last)
609:  return std::make_pair(__first, __first);
609: 
609:       _ForwardIterator __min{}, __max{};
609:       if (__comp(__next, __first))
609:  {
609:    __min = __next;
609:    __max = __first;
609:  }
609:       else
609:  {
609:    __min = __first;
609:    __max = __next;
609:  }
609: 
609:       __first = __next;
609:       ++__first;
609: 
609:       while (__first != __last)
609:  {
609:    __next = __first;
609:    if (++__next == __last)
609:      {
609:        if (__comp(__first, __min))
609:   __min = __first;
609:        else if (!__comp(__first, __max))
609:   __max = __first;
609:        break;
609:      }
609: 
609:    if (__comp(__next, __first))
609:      {
609:        if (__comp(__next, __min))
609:   __min = __next;
609:        if (!__comp(__first, __max))
609:   __max = __first;
609:      }
609:    else
609:      {
609:        if (__comp(__first, __min))
609:   __min = __first;
609:        if (!__comp(__next, __max))
609:   __max = __next;
609:      }
609: 
609:    __first = __next;
609:    ++__first;
609:  }
609: 
609:       return std::make_pair(__min, __max);
609:     }
609: # 3382 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:     constexpr
609:     inline pair<_ForwardIterator, _ForwardIterator>
609:     minmax_element(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__minmax_element(__first, __last,
609:        __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 3410 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Compare>
609:     constexpr
609:     inline pair<_ForwardIterator, _ForwardIterator>
609:     minmax_element(_ForwardIterator __first, _ForwardIterator __last,
609:      _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__minmax_element(__first, __last,
609:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _Tp>
        constexpr
1115:         bool
1115:         operator()(_Iterator1 __it1, _Iterator2 __it2)
1115:         { return bool(_M_comp(*__it1, *__it2)); }
1115:     };
1115: 
1115:   template<typename _Compare>
1115:     constexpr
1115:     inline _Iter_comp_iter<_Compare>
1115:     __iter_comp_iter(_Compare __comp)
1115:     { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
1115: 
1115:   template<typename _Compare>
1115:     struct _Iter_comp_val
1115:     {
1115:       _Compare _M_comp;
1115: 
1115:      
1115:       explicit
1115:       _Iter_comp_val(_Compare __comp)
1115:  : _M_comp(std::move(__comp))
1115:       { }
1115: 
1115:      
1115:       explicit
1115:       _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
1115:  : _M_comp(__comp._M_comp)
1115:       { }
1115: 
1115: 
1115:      
1115:       explicit
1115:       _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
1115:  : _M_comp(std::move(__comp._M_comp))
1115:       { }
1115: 
1115: 
1115:       template<typename _Iterator, typename _Value>
1115: 
1115:  bool
1115:  operator()(_Iterator __it, _Value& __val)
1115:  { return bool(_M_comp(*__it, __val)); }
1115:     };
1115: 
1115:   template<typename _Compare>
1115:    
1115:     inline _Iter_comp_val<_Compare>
1115:     __iter_comp_val(_Compare __comp)
1115:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1115: 
1115:   template<typename _Compare>
1115:    
1115:     inline _Iter_comp_val<_Compare>
1115:     __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
1115:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1115: 
1115:   template<typename _Compare>
1115:     struct _Val_comp_iter
1115:     {
1115:       _Compare _M_comp;
1115: 
1115:      
1115:       explicit
1115:       _Val_comp_iter(_Compare __comp)
1115:  : _M_comp(std::move(__comp))
1115:       { }
1115: 
1115:      
1115:       explicit
1115:       _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
1115:  : _M_comp(__comp._M_comp)
1115:       { }
1115: 
1115: 
1115:      
1115:       explicit
1115:       _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
1115:  : _M_comp(std::move(__comp._M_comp))
1115:       { }
1115: 
1115: 
1115:       template<typename _Value, typename _Iterator>
1115: 
1115:  bool
1115:  operator()(_Value& __val, _Iterator __it)
1115:  { return bool(_M_comp(__val, *__it)); }
1115:     };
1115: 
1115:   template<typename _Compare>
1115:    
1115:     inline _Val_comp_iter<_Compare>
1115:     __val_comp_iter(_Compare __comp)
1115:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1115: 
1115:   template<typename _Compare>
1115:    
1115:     inline _Val_comp_iter<_Compare>
1115:     __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
1115:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1115: 
1115:   template<typename _Value>
1115:     struct _Iter_equals_val
1115:     {
1115:       _Value& _M_value;
1115: 
1115:      
1115:       explicit
1115:       _Iter_equals_val(_Value& __value)
1115:  : _M_value(__value)
1115:       { }
1115: 
1115:       template<typename _Iterator>
1115: 
1115:  bool
1115:  operator()(_Iterator __it)
1115:  { return *__it == _M_value; }
1115:     };
1115: 
1115:   template<typename _Value>
1115:    
1115:     inline _Iter_equals_val<_Value>
1115:     __iter_equals_val(_Value& __val)
1115:     { return _Iter_equals_val<_Value>(__val); }
1115: 
1115:   template<typename _Iterator1>
1115:     struct _Iter_equals_iter
1115:     {
1115:       _Iterator1 _M_it1;
1115: 
1115:      
1115:       explicit
1115:       _Iter_equals_iter(_Iterator1 __it1)
1115:  : _M_it1(__it1)
1115:       { }
1115: 
1115:       template<typename _Iterator2>
1115: 
1115:  bool
1115:  operator()(_Iterator2 __it2)
1115:  { return *__it2 == *_M_it1; }
1115:     };
1115: 
1115:   template<typename _Iterator>
1115:    
1115:     inline _Iter_equals_iter<_Iterator>
1115:     __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
1115:     { return _Iter_equals_iter<_Iterator>(__it); }
1115: 
1115:   template<typename _Predicate>
1115:     struct _Iter_pred
1115:     {
1115:Please submit a full bug report, with preprocessed source (by using -freport-bug).
609:     constexpr
609:     inline pair<_Tp, _Tp>
609:     minmax(initializer_list<_Tp> __l)
609:     {
609:       ;
609:       pair<const _Tp*, const _Tp*> __p =
609:  std::__minmax_element(__l.begin(), __l.end(),
609:          __gnu_cxx::__ops::__iter_less_iter());
609:       return std::make_pair(*__p.first, *__p.second);
609:     }
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     inline pair<_Tp, _Tp>
609:     minmax(initializer_list<_Tp> __l, _Compare __comp)
609:     {
609:       ;
609:       pair<const _Tp*, const _Tp*> __p =
609:  std::__minmax_element(__l.begin(), __l.end(),
609:          __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:       return std::make_pair(*__p.first, *__p.second);
609:     }
609: # 3466 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     inline bool
609:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:      _ForwardIterator2 __first2, _BinaryPredicate __pred)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609: 
609:       return std::__is_permutation(__first1, __last1, __first2,
609:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
609:     }
609: 
609: 
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     bool
609:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
609:        _BinaryPredicate __pred)
609:     {
609:       using _Cat1
609:  = typename iterator_traits<_ForwardIterator1>::iterator_category;
609:       using _Cat2
609:  = typename iterator_traits<_ForwardIterator2>::iterator_category;
609:       using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>;
609:       using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>;
609:       constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA();
609:       if (__ra_iters)
609:  {
609:    auto __d1 = std::distance(__first1, __last1);
609:    auto __d2 = std::distance(__first2, __last2);
609:    if (__d1 != __d2)
609:      return false;
609:  }
609: 
609: 
609: 
609:       for (; __first1 != __last1 && __first2 != __last2;
609:    ++__first1, (void)++__first2)
609:  if (!__pred(__first1, __first2))
609:    break;
609: 
609:       if (__ra_iters)
609:  {
609:    if (__first1 == __last1)
609:      return true;
609:  }
609:       else
609:  {
609:    auto __d1 = std::distance(__first1, __last1);
609:    auto __d2 = std::distance(__first2, __last2);
609:    if (__d1 == 0 && __d2 == 0)
609:      return true;
609:    if (__d1 != __d2)
609:      return false;
609:  }
609: 
609:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
609:  {
609:    if (__scan != std::__find_if(__first1, __scan,
609:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
609:      continue;
609: 
609:    auto __matches = std::__count_if(__first2, __last2,
609:   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
609:    if (0 == __matches
609:        || std::__count_if(__scan, __last1,
609:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
609:        != __matches)
609:      return false;
609:  }
609:       return true;
609:     }
609: # 3561 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2>
609:    
609:     inline bool
609:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:      _ForwardIterator2 __first2, _ForwardIterator2 __last2)
609:     {
609:       ;
609:       ;
609: 
609:       return
609:  std::__is_permutation(__first1, __last1, __first2, __last2,
609:          __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: # 3589 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     inline bool
609:     is_permutation(_ForwardIterator1 __first1Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
       _Predicate _M_pred;
1115: 
1115:      
1115:       explicit
1115:       _Iter_pred(_Predicate __pred)
1115:  : _M_pred(std::move(__pred))
1115:       { }
1115: 
1115:       template<typename _Iterator>
1115: 
1115:  bool
1115:  operator()(_Iterator __it)
1115:  { return bool(_M_pred(*__it)); }
1115:     };
1115: 
1115:   template<typename _Predicate>
1115:    
1115:     inline _Iter_pred<_Predicate>
1115:     __pred_iter(_Predicate __pred)
1115:     { return _Iter_pred<_Predicate>(std::move(__pred)); }
1115: 
1115:   template<typename _Compare, typename _Value>
1115:     struct _Iter_comp_to_val
1115:     {
1115:       _Compare _M_comp;
1115:       _Value& _M_value;
1115: 
1115:      
1115:       _Iter_comp_to_val(_Compare __comp, _Value& __value)
1115:  : _M_comp(std::move(__comp)), _M_value(__value)
1115:       { }
1115: 
1115:       template<typename _Iterator>
1115: 
1115:  bool
1115:  operator()(_Iterator __it)
1115:  { return bool(_M_comp(*__it, _M_value)); }
1115:     };
1115: 
1115:   template<typename _Compare, typename _Value>
1115:     _Iter_comp_to_val<_Compare, _Value>
1115:    
1115:     __iter_comp_val(_Compare __comp, _Value &__val)
1115:     {
1115:       return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
1115:     }
1115: 
1115:   template<typename _Compare, typename _Iterator1>
1115:     struct _Iter_comp_to_iter
1115:     {
1115:       _Compare _M_comp;
1115:       _Iterator1 _M_it1;
1115: 
1115:      
1115:       _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
1115:  : _M_comp(std::move(__comp)), _M_it1(__it1)
1115:       { }
1115: 
1115:       template<typename _Iterator2>
1115: 
1115:  bool
1115:  operator()(_Iterator2 __it2)
1115:  { return bool(_M_comp(*__it2, *_M_it1)); }
1115:     };
1115: 
1115:   template<typename _Compare, typename _Iterator>
1115:    
1115:     inline _Iter_comp_to_iter<_Compare, _Iterator>
1115:     __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
1115:     {
1115:       return _Iter_comp_to_iter<_Compare, _Iterator>(
1115:    std::move(__comp._M_comp), __it);
1115:     }
1115: 
1115:   template<typename _Predicate>
1115:     struct _Iter_negate
1115:     {
1115:       _Predicate _M_pred;
1115: 
1115:      
1115:       explicit
1115:       _Iter_negate(_Predicate __pred)
1115:  : _M_pred(std::move(__pred))
1115:       { }
1115: 
1115:       template<typename _Iterator>
1115: 
1115:  bool
1115:  operator()(_Iterator __it)
1115:  { return !bool(_M_pred(*__it)); }
1115:     };
1115: 
1115:   template<typename _Predicate>
1115:    
1115:     inline _Iter_negate<_Predicate>
1115:     __negate(_Iter_pred<_Predicate> __pred)
1115:     { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
1115: 
1115: }
1115: }
1115: # 72 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr
1115:     inline int
1115:     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
1115:     {
1115: 
1115:       static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
1115: # 105 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:  return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
1115:     }
1115: # 149 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1115:    
1115:     inline void
1115:     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: # 182 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:       swap(*__a, *__b);
1115: 
1115:     }
1115: # 198 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1115:    
1115:     _ForwardIterator2
1115:     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:   _ForwardIterator2 __first2)
1115:     {
1115: 
1115:      
1115: 
1115:   , _ForwardIterator1 __last1,
609:      _ForwardIterator2 __first2, _ForwardIterator2 __last2,
609:      _BinaryPredicate __pred)
609:     {
609:       ;
609:       ;
609: 
609:       return std::__is_permutation(__first1, __last1, __first2, __last2,
609:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
609:     }
609: # 3619 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _Tp>
609:     constexpr const _Tp&
609:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi)
609:     {
609:       do { if (std::__is_constant_evaluated() && !bool(!(__hi < __lo))) __builtin_unreachable(); } while (false);
609:       return std::min(std::max(__val, __lo), __hi);
609:     }
609: # 3639 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _Tp, typename _Compare>
609:     constexpr const _Tp&
609:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
609:     {
609:       do { if (std::__is_constant_evaluated() && !bool(!__comp(__hi, __lo))) __builtin_unreachable(); } while (false);
609:       return std::min(std::max(__val, __lo, __comp), __hi, __comp);
609:     }
609: # 3671 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _IntType, typename _UniformRandomBitGenerator>
609:     pair<_IntType, _IntType>
609:     __gen_two_uniform_ints(_IntType __b0, _IntType __b1,
609:       _UniformRandomBitGenerator&& __g)
609:     {
609:       _IntType __x
609:  = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g);
609:       return std::make_pair(__x / __b1, __x % __b1);
609:     }
609: # 3693 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator,
609:     typename _UniformRandomNumberGenerator>
609:     void
609:     shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:      _UniformRandomNumberGenerator&& __g)
609:     {
609: 
609:      
609: 
609:       ;
609: 
609:       if (__first == __last)
609:  return;
609: 
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:  _DistanceType;
609: 
609:       typedef typename std::make_unsigned<_DistanceType>::type __ud_type;
609:       typedef typename std::uniform_int_distribution<__ud_type> __distr_type;
609:       typedef typename __distr_type::param_type __p_type;
609: 
609:       typedef typename remove_reference<_UniformRandomNumberGenerator>::type
609:  _Gen;
609:       typedef typename common_type<typename _Gen::result_type, __ud_type>::type
609:  __uc_type;
609: 
609:       const __uc_type __urngrange = __g.max() - __g.min();
609:       const __uc_type __urange = __uc_type(__last - __first);
609: 
609:       if (__urngrange / __urange >= __urange)
609: 
609:       {
609:  _RandomAccessIterator __i = __first + 1;
609: 
609: 
609: 
609: 
609: 
609:  if ((__urange % 2) == 0)
609:  {
609:    __distr_type __d{0, 1};
609:    std::iter_swap(__i++, __first + __d(__g));
609:  }
609: 
609: 
609: 
609: 
609: 
609:  while (__i != __last)
609:  {
609:    const __uc_type __swap_range = __uc_type(__i - __first) + 1;
609: 
609:    const pair<__uc_type, __uc_type> __pospos =
609:      __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g);
609: 
609:    std::iter_swap(__i++, __first + __pospos.first);
609:    std::iter_swap(__i++, __first + __pospos.second);
609:  }
609: 
609:  return;
609:       }
609: 
609:       __distr_type __d;
609: 
609:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
609:  std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first)));
609:     }
609: 
609: 
609: 
609: 
609: 
609: # 3778 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Function>
609:    
609:     _Function
609:     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
609:     {
609: 
609:      
609:       ;
609:       for (; __first != __last; ++__first)
609:  __f(*__first);
609:       return __f;
609:     }
609: # 3804 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Size, typename _Function>
609:    
609:        
1115: 
1115:       ;
1115: 
1115:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1115:  std::iter_swap(__first1, __first2);
1115:       return __first2;
1115:     }
1115: # 227 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _Tp>
1115:     constexpr
1115:     inline const _Tp&
1115:     min(const _Tp& __a, const _Tp& __b)
1115:     {
1115: 
1115:      
1115: 
1115:       if (__b < __a)
1115:  return __b;
1115:       return __a;
1115:     }
1115: # 251 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _Tp>
1115:     constexpr
1115:     inline const _Tp&
1115:     max(const _Tp& __a, const _Tp& __b)
1115:     {
1115: 
1115:      
1115: 
1115:       if (__a < __b)
1115:  return __b;
1115:       return __a;
1115:     }
1115: # 275 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     inline const _Tp&
1115:     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
1115:     {
1115: 
1115:       if (__comp(__b, __a))
1115:  return __b;
1115:       return __a;
1115:     }
1115: # 297 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     inline const _Tp&
1115:     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
1115:     {
1115: 
1115:       if (__comp(__a, __b))
1115:  return __b;
1115:       return __a;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Iterator>
1115:    
1115:     inline _Iterator
1115:     __niter_base(_Iterator __it)
1115:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1115:     { return __it; }
1115: 
1115:   template<typename _Ite, typename _Seq>
1115:     _Ite
1115:     __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
1115:    std::random_access_iterator_tag>&);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _From, typename _To>
1115:    
1115:     inline _From
1115:     __niter_wrap(_From __from, _To __res)
1115:     { return __from + (__res - std::__niter_base(__from)); }
1115: 
1115: 
1115:   template<typename _Iterator>
1115:    
1115:     inline _Iterator
1115:     __niter_wrap(const _Iterator&, _Iterator __res)
1115:     { return __res; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<bool _IsMove, bool _IsSimple, typename _Category>
1115:     struct __copy_move
1115:     {
1115:       template<typename _II, typename _OI>
1115: 
1115:  static _OI
1115:  __copy_m(_II __first, _II __last, _OI __result)
1115:  {
1115:    for (; __first != __last; ++__result, (void)++__first)
1115:      *__result = *__first;
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<typename _Category>
1115:     struct __copy_move<true, false, _Category>
1115:     {
1115:       template<typename _II, typename _OI>
1115: 
1115:  static _OI
1115:  __copy_m(_II __first, _II __last, _OI __result)
1115:  {
1115:    for (; __first != __last; ++__result, (void)++__first)
1115:      *__result = std::move(*__first);
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __copy_move<false, false, random_access_iterator_tag>
1115:     {
1115:       template<typename _II, typename _OI>
1115: 
1115:  static _OI
1115:  __copy_m(_II __first, _II __last, _OI __result)
1115:  {
1115:    typedef typename iterator_traits<_II>::difference_type _Distance;
1115:    for(_Distance __n = __last - __first; __n > 0; --__n)
1115:      {
1115:        *__result = *__first;
1115:        ++__first;
1115:        ++__result;
1115:      }
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __copy_move<true, false, random_access_iterator_tag>
1115:     {
1115:       template<typename _II, typename _OI>
1115: 
1115:  static _OI
1115:  __copy_m(_II __first, _II __last, _OI __result)
1115:  {
1115:    typedef typename iterator_traits<_II>::difference_type _Distance;
1115:    for(_Distance __n = __last - __first; __n > 0; --__n)
1115:      {
1115:        *__result = std::move(*___InputIterator
609:     for_each_n(_InputIterator __first, _Size __n, _Function __f)
609:     {
609:       auto __n2 = std::__size_to_integer(__n);
609:       using _Cat = typename iterator_traits<_InputIterator>::iterator_category;
609:       if constexpr (is_base_of_v<random_access_iterator_tag, _Cat>)
609:  {
609:    if (__n2 <= 0)
609:      return __first;
609:    auto __last = __first + __n2;
609:    std::for_each(__first, __last, std::move(__f));
609:    return __last;
609:  }
609:       else
609:  {
609:    while (__n2-->0)
609:      {
609:        __f(*__first);
609:        ++__first;
609:      }
609:    return __first;
609:  }
609:     }
609: # 3840 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Tp>
609:    
609:     inline _InputIterator
609:     find(_InputIterator __first, _InputIterator __last,
609:   const _Tp& __val)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       return std::__find_if(__first, __last,
609:        __gnu_cxx::__ops::__iter_equals_val(__val));
609:     }
609: # 3865 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline _InputIterator
609:     find_if(_InputIterator __first, _InputIterator __last,
609:      _Predicate __pred)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__find_if(__first, __last,
609:        __gnu_cxx::__ops::__pred_iter(__pred));
609:     }
609: # 3897 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _ForwardIterator>
609:    
609:     _InputIterator
609:     find_first_of(_InputIterator __first1, _InputIterator __last1,
609:     _ForwardIterator __first2, _ForwardIterator __last2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       for (; __first1 != __last1; ++__first1)
609:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
609:    if (*__first1 == *__iter)
609:      return __first1;
609:       return __last1;
609:     }
609: # 3938 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _ForwardIterator,
609:     typename _BinaryPredicate>
609:    
609:     _InputIterator
609:     find_first_of(_InputIterator __first1, _InputIterator __last1,
609:     _ForwardIterator __first2, _ForwardIterator __last2,
609:     _BinaryPredicate __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       for (; __first1 != __last1; ++__first1)
609:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
609:    if (__comp(*__first1, *__iter))
609:      return __first1;
609:       return __last1;
609:     }
609: # 3971 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:    
609:     inline _ForwardIterator
609:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__adjacent_find(__first, __last,
609:       __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: # 3997 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _BinaryPredicate>
609:    
609:     inline _ForwardIterator
609:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
609:     _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609:      
609: 
609: 
609:       ;
609: 
609:       return std::__adjacent_find(__first, __last,
609:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
609:     }
609: # 4023 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Tp>
609:    
609:     inline typename iterator_traits<_InputIterator>::difference_type
609:     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__count_if(__first, __last,
609:         __gnu_cxx::__ops::__iter_equals_val(__value));
first);
1115:        ++__first;
1115:        ++__result;
1115:      }
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<bool _IsMove>
1115:     struct __copy_move<_IsMove, true, random_access_iterator_tag>
1115:     {
1115:       template<typename _Tp>
1115: 
1115:  static _Tp*
1115:  __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
1115:  {
1115: 
1115:    using __assignable = __conditional_t<_IsMove,
1115:             is_move_assignable<_Tp>,
1115:             is_copy_assignable<_Tp>>;
1115: 
1115:    static_assert( __assignable::value, "type must be assignable" );
1115: 
1115:    const ptrdiff_t _Num = __last - __first;
1115:    if (_Num)
1115:      __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
1115:    return __result + _Num;
1115:  }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Ref, typename _Ptr>
1115:     struct _Deque_iterator;
1115: 
1115:   struct _Bit_iterator;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     struct char_traits;
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     class istreambuf_iterator;
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     class ostreambuf_iterator;
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1115:     __copy_move_a2(_CharT*, _CharT*,
1115:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1115:     __copy_move_a2(const _CharT*, const _CharT*,
1115:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:         _CharT*>::__type
1115:     __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1115:      istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_char<_CharT>::__value,
1115:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1115:     __copy_move_a2(
1115:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1115:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1115:  std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
1115: 
1115:   template<bool _IsMove, typename _II, typename _OI>
1115:    
1115:     inline _OI
1115:     __copy_move_a2(_II __first, _II __last, _OI __result)
1115:     {
1115:       typedef typename iterator_traits<_II>::iterator_category _Category;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value,
1115:          _Category>::__copy_m(__first, __last, __result);
1115:     }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1115:     _OI
1115:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1115:      std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1115:      _OI);
1115: 
1115:   template<bool _IsMove,
1115:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1115:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1115:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1115:      std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1115:      std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1115: 
1115:   template<bool _IsMove, typename _II, typename _Tp>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value,
1115:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1115:     __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1115: 
1115:   template<bool _IsMove, typename _II, typename _OI>
1115:    
1115:     inline _OI
1115:     __copy_move_a1(_II __first, _II __last, _OI __result)
1115:     { return std::609:     }
609: # 4047 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _Predicate>
609:    
609:     inline typename iterator_traits<_InputIterator>::difference_type
609:     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__count_if(__first, __last,
609:         __gnu_cxx::__ops::__pred_iter(__pred));
609:     }
609: # 4088 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2>
609:    
609:     inline _ForwardIterator1
609:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__search(__first1, __last1, __first2, __last2,
609:       __gnu_cxx::__ops::__iter_equal_to_iter());
609:     }
609: # 4128 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator1, typename _ForwardIterator2,
609:     typename _BinaryPredicate>
609:    
609:     inline _ForwardIterator1
609:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
609:     _BinaryPredicate __predicate)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__search(__first1, __last1, __first2, __last2,
609:       __gnu_cxx::__ops::__iter_comp_iter(__predicate));
609:     }
609: # 4164 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Integer, typename _Tp>
609:    
609:     inline _ForwardIterator
609:     search_n(_ForwardIterator __first, _ForwardIterator __last,
609:       _Integer __count, const _Tp& __val)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__search_n(__first, __last, __count,
609:         __gnu_cxx::__ops::__iter_equals_val(__val));
609:     }
609: # 4198 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Integer, typename _Tp,
609:     typename _BinaryPredicate>
609:    
609:     inline _ForwardIterator
609:     search_n(_ForwardIterator __first, _ForwardIterator __last,
609:       _Integer __count, const _Tp& __val,
609:       _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       return std::__search_n(__first, __last, __count,
609:   __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val));
609:     }
609: # 4224 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Searcher>
609:    
609:     inline _ForwardIterator
609:     search(_ForwardIterator __first, _ForwardIterator __last,
609:     const _Searcher& __searcher)
609:     { return __searcher(__first, __last).first; }
609: # 4248 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _UnaryOperation>
609:    
609:     _OutputIterator
609:     transform(_InputIterator __first, _InputIterator __last,
609:        _OutputIterator __result, _UnaryOperation __unary_op)
609:     {
609: 
609:      
609:      
609: 
609: 
609:       ;
609: 
609:       for (; __first != __last; ++__first, (void)++__result)
609:  *__result = __unary_op(*__first);
609:       return __result;
609:     }
609: # 4286 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _BinaryOperation>
609:    
609:     _OutputIterator
609:     transform(_InputIterator1 __first1, _InputIterator1 __last1,
609:        _InputIterator2 __first2, _OutputIterator __result,
609:        _BinaryOperation __binary_op)
609:     {
609: 
609:      
609:      
609:      
609: 
609: 
609:       ;
609: 
609:       for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result)
609:  *__result = __binary_op(*__copy_move_a2<_IsMove>(__first, __last, __result); }
1115: 
1115:   template<bool _IsMove, typename _II, typename _OI>
1115:    
1115:     inline _OI
1115:     __copy_move_a(_II __first, _II __last, _OI __result)
1115:     {
1115:       return std::__niter_wrap(__result,
1115:   std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
1115:           std::__niter_base(__last),
1115:           std::__niter_base(__result)));
1115:     }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1115:     _OI
1115:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1115:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1115:     _OI);
1115: 
1115:   template<bool _IsMove,
1115:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1115:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1115:     __copy_move_a(_II, _II,
1115:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1115: 
1115:   template<bool _IsMove,
1115:     typename _IIte, typename _ISeq, typename _ICat,
1115:     typename _OIte, typename _OSeq, typename _OCat>
1115:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1115:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1115:     const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1115:     const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1115: 
1115:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1115:    
1115:     _OutputIterator
1115:     __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
1115:         bool)
1115:     {
1115:       if (__n > 0)
1115:  {
1115:    while (true)
1115:      {
1115:        *__result = *__first;
1115:        ++__result;
1115:        if (--__n > 0)
1115:   ++__first;
1115:        else
1115:   break;
1115:      }
1115:  }
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Size>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_char<_CharT>::__value, _CharT*>::__type
1115:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1115:         _Size, _CharT*, bool);
1115: 
1115:   template<typename _CharT, typename _Size>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_char<_CharT>::__value,
1115:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1115:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
1115:         std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
1115:         bool);
1115: # 608 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _II, typename _OI>
1115:    
1115:     inline _OI
1115:     copy(_II __first, _II __last, _OI __result)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__copy_move_a<__is_move_iterator<_II>::__value>
1115:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1115:     }
1115: # 641 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _II, typename _OI>
1115:    
1115:     inline _OI
1115:     move(_II __first, _II __last, _OI __result)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__copy_move_a<true>(std::__miter_base(__first),
1115:           std::__miter_base(__last), __result);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<bool _IsMove, bool _IsSimple, typename _Category>
1115:     struct __copy_move_backward
1115:     {
1115:       template<typename _BI1, typename _BI2>
1115: 
1115:  static _BI2
1115:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1115:  {
1115:    while (__first != __last)
1115:      *--__result = *--__last;
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<typename _Category>
1115:     struct __copy_move_backward<true, false, _Category>
1115:     {
1115:       template<typename _BI1, typename _BI2>
1115: 
1115:  static _BI2
1115:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1115:  {
1115:    while (__first != __last)
1115:      *--__result = std::move(*--__last);
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __copy_move_backward<false, false, random_access_iterator_tag>
1115:     {
1115:       template<typename _BI1, typename _BI2>
1115: 
1115:  static _BI2
1115:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1115:  {
1115:    typename iterator_traits<_BI1>::difference_type
1115:      __n = __last - __first;
1115:    for (; __n > 0; --__n)
1115:      *--__result = *--__last;
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __copy_move_backward<true, false, random_access_iterator_tag>
1115:     {
1115:       template<typename _BI1, typename _BI2>
1115: 
1115:  static _BI2
1115:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1115:  {
1115:    typename iterator_traits<_BI1>::difference_type
1115:      __n = __last - __first;
1115:    for (; __n > 0; --__n)
1115:      *--__result = std::move(*--__last);
1115:    return __result;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<bool _IsMove>
1115:     struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
1115:     {
1115:       template<typename _Tp>
1115: 
1115:  static _Tp*
1115:  __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
1115:  {
1115: 
1115:    using __assignable = __conditional_t<_IsMove,
1115:             is_move_assignable<_Tp>,
1115:             is_copy_assignable<_Tp>>;
1115: 
1115:    static_assert( __assignable::value, "type must be assignable" );
1115: 
1115:    const ptrdiff_t _Num = __last - __first;
1115:    if (_Num)
1115:      __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
1115:    return __result - _Num;
1115:  }
1115:     };
1115: 
1115:   template<bool _IsMove, typename _BI1, typename _BI2>
1115:    
1115:     inline _BI2
1115:     __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
1115:     {
1115:       typedef typename iterator_traits<_BI1>::iterator_category _Category;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       return std::__copy_move_backward<_IsMove,
1115:            __memcpyable<_BI2, _BI1>::__value,
1115:            _Category>::__copy_move_b(__first,
1115:          __last,
1115:          __result);
1115:     }
1115: 
1115:   template<bool _IsMove, typename _BI1, typename _BI2>
1115:    
1115:     inline _BI2
1115:     __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
1115:     { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1115:     _OI
1115:     __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1115:        std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1115:        _OI);
1115: 
1115:   template<bool _IsMove,
1115:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1115:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1115:     __copy_move_backward_a1(
1115:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1115:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1115:    std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1115: 
1115:   template<bool _IsMove, typename _II, typename _Tp>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value,
1115:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1115:     __copy_move_backward_a1(_II, _II,
1115:        std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1115: 
1115:   template<bool _IsMove, typename _II, typename _OI>
1115:    
1115:     inline _OI
1115:     __copy_move_backward_a(_II __first, _II __last, _OI __result)
1115:     {
1115:       return std::__niter_wrap(__result,
1115:   std::__copy_move_backward_a1<_IsMove>
1115:     (std::__niter_base(__first), std::__niter_base(__last),
1115:      std::__niter_base(__result)));
1115:     }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1115:     _OI
1115:     __copy_move_backward_a(
1115:   cons__first1, *__first2);
609:       return __result;
609:     }
609: # 4320 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     void
609:     replace(_ForwardIterator __first, _ForwardIterator __last,
609:      const _Tp& __old_value, const _Tp& __new_value)
609:     {
609: 
609:      
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       for (; __first != __last; ++__first)
609:  if (*__first == __old_value)
609:    *__first = __new_value;
609:     }
609: # 4353 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
609:    
609:     void
609:     replace_if(_ForwardIterator __first, _ForwardIterator __last,
609:         _Predicate __pred, const _Tp& __new_value)
609:     {
609: 
609:      
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       for (; __first != __last; ++__first)
609:  if (__pred(*__first))
609:    *__first = __new_value;
609:     }
609: # 4386 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Generator>
609:    
609:     void
609:     generate(_ForwardIterator __first, _ForwardIterator __last,
609:       _Generator __gen)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       for (; __first != __last; ++__first)
609:  *__first = __gen();
609:     }
609: # 4420 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _OutputIterator, typename _Size, typename _Generator>
609:    
609:     _OutputIterator
609:     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
609:     {
609: 
609:      
609: 
609: 
609: 
609:       typedef __decltype(std::__size_to_integer(__n)) _IntSize;
609:       for (_IntSize __niter = std::__size_to_integer(__n);
609:     __niter > 0; --__niter, (void) ++__first)
609:  *__first = __gen();
609:       return __first;
609:     }
609: # 4458 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     unique_copy(_InputIterator __first, _InputIterator __last,
609:   _OutputIterator __result)
609:     {
609: 
609:      
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       if (__first == __last)
609:  return __result;
609:       return std::__unique_copy(__first, __last, __result,
609:     __gnu_cxx::__ops::__iter_equal_to_iter(),
609:     std::__iterator_category(__first),
609:     std::__iterator_category(__result));
609:     }
609: # 4499 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator, typename _OutputIterator,
609:     typename _BinaryPredicate>
609:    
609:     inline _OutputIterator
609:     unique_copy(_InputIterator __first, _InputIterator __last,
609:   _OutputIterator __result,
609:   _BinaryPredicate __binary_pred)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609: 
609:       if (__first == __last)
609:  return __result;
609:       return std::__unique_copy(__first, __last, __result,
609:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred),
609:     std::__iterator_category(__first),
609:     std::__iterator_category(__result));
609:     }
609: # 4538 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator>
609:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
609:     inline void
609:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:       ;
609: 
609:       if (__first != __last)
609:  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
609:    {
609: 
609:      _RandomAccessIterator __j = __first
609:      + std::rand() % ((__i - __first) + 1);
609:      if (__i != __j)
609:        std::iter_swap(__i, __j);
609:    }
609:     }
609: # 4578 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
609:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
609:     t ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1115:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1115:   _OI);
1115: 
1115:   template<bool _IsMove,
1115:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1115:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1115:     __copy_move_backward_a(_II, _II,
1115:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1115: 
1115:   template<bool _IsMove,
1115:     typename _IIte, typename _ISeq, typename _ICat,
1115:     typename _OIte, typename _OSeq, typename _OCat>
1115:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1115:     __copy_move_backward_a(
1115:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1115:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1115:   const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1115: # 845 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _BI1, typename _BI2>
1115:    
1115:     inline _BI2
1115:     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
1115:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1115:     }
1115: # 880 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _BI1, typename _BI2>
1115:    
1115:     inline _BI2
1115:     move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__copy_move_backward_a<true>(std::__miter_base(__first),
1115:             std::__miter_base(__last),
1115:             __result);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline typename
1115:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
1115:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1115:        const _Tp& __value)
1115:     {
1115:       for (; __first != __last; ++__first)
1115:  *__first = __value;
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline typename
1115:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
1115:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1115:        const _Tp& __value)
1115:     {
1115:       const _Tp __tmp = __value;
1115:       for (; __first != __last; ++__first)
1115:  *__first = __tmp;
1115:     }
1115: 
1115: 
1115:   template<typename _Tp>
1115:    
1115:     inline typename
1115:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
1115:     __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c)
1115:     {
1115:       const _Tp __tmp = __c;
1115: # 941 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:       if (const size_t __len = __last - __first)
1115:  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
1115:     }
1115: 
1115:   template<typename _Ite, typename _Cont, typename _Tp>
1115:    
1115:     inline void
1115:     __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
1115:        ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
1115:        const _Tp& __value)
1115:     { std::__fill_a1(__first.base(), __last.base(), __value); }
1115: 
1115:   template<typename _Tp, typename _VTp>
1115:     void
1115:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1115:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1115:        const _VTp&);
1115: 
1115:  
1115:   void
1115:   __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
1115:      const bool&);
1115: 
1115:   template<typename _FIte, typename _Tp>
1115:    
1115:     inline void
1115:     __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
1115:     { std::__fill_a1(__first, __last, __value); }
1115: 
1115:   template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
1115:     void
1115:     __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _void
609:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
609: 
609:      _RandomNumberGenerator&& __rand)
609: 
609: 
609: 
609:     {
609: 
609:      
609: 
609:       ;
609: 
609:       if (__first == __last)
609:  return;
609:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
609:  {
609:    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
609:    if (__i != __j)
609:      std::iter_swap(__i, __j);
609:  }
609:     }
609: # 4619 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Predicate>
609:    
609:     inline _ForwardIterator
609:     partition(_ForwardIterator __first, _ForwardIterator __last,
609:        _Predicate __pred)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609: 
609:       return std::__partition(__first, __last, __pred,
609:          std::__iterator_category(__first));
609:     }
609: # 4653 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline void
609:     partial_sort(_RandomAccessIterator __first,
609:    _RandomAccessIterator __middle,
609:    _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       std::__partial_sort(__first, __middle, __last,
609:      __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 4692 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     partial_sort(_RandomAccessIterator __first,
609:    _RandomAccessIterator __middle,
609:    _RandomAccessIterator __last,
609:    _Compare __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       std::__partial_sort(__first, __middle, __last,
609:      __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: # 4729 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline void
609:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
609:   _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       if (__first == __last || __nth == __last)
609:  return;
609: 
609:       std::__introselect(__first, __nth, __last,
609:     std::__lg(__last - __first) * 2,
609:     __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 4769 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
609:   _RandomAccessIterator __last, _Compare __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609: 
609:       if (__first == __last || __nth == __last)
609:  return;
609: 
609:       std::__introselect(__first, __nth, __last,
609:     std::__lg(__last - __first) * 2,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: # 4807 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator>
609:    
609:     inline void
609:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 4838 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:    
609:     inline void
609:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:   _Compare __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _Compare>
609:    
609:     _OutputIterator
609:     __merge(_InputIterator1 __first1, _InputIterator1 __last1,
609:      _InputIterator2 __first2, _InputIterator2 __last2,
609:      _OutputIterator __result, _Compare __comp)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2)
609:  {
609:    if (__comp(__first2, __first1))
609:      {
609:        *__result = *__first2;
609:        ++__first2;
609:      }
609:    else
609:      {
609:        *__result = *__first1;
609:        ++__first1;
609:      }
609:    ++__result;
609:  }
609:       return std::copy(__first2, __last2,
609:          std::copy(__first1, __last1, __result));
609:     }
609: # 4901 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
609:    _InputIterator2 __first2, _InputIterator2 __last2,
609:    _OutputIterator __result)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__merge(__first1, __last1,
609:          __first2, __last2, __result,
609:          __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 4952 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _Compare>
609:    
609:     inline _OutputIterator
609:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
609:    _InputIterator2 __first2, _InputIterator2 __last2,
609:    _OutputIterator __result, _Compare __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__merge(__first1, __last1,
609:     __first2, __last2, __result,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Compare>
609:     inline void
609:     __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:     _Compare __comp)
609:     {
609:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
609:  _ValueType;
609:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
609:  _DistanceType;
609:       typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf;
609: 
609:       if (__first == __last)
609:  return;
609: 
609: 
609: 
609:       _TmpBuf __buf(__first, (__last - __first + 1) / 2);
609: 
609:       if (__buf.begin() == 0)
609:  std::__inplace_stable_sort(__first, __last, __comp);
609:       else
609:  std::__stable_sort_adaptive(__first, __last, __buf.begin(),
609:         _DistanceType(__buf.size()), __comp);
609:     }
609: # 5022 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator>
609:     inline void
609:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
609:     {
609: 
609:      
609: 
609:      
609: 
609:       ;
609:       ;
609: 
609:       std::__stable_sort(__first, __last,
609:         __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 5056 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _RandomAccessIterator, typename _Compare>
609:     inline void
609:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
609:   _Compare __comp)
609:     {
609: 
609:      
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       std::__stable_sort(__first, __last,
609:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator,
609:     typename _Compare>
609:    
609:     _OutputIterator
609:     __set_union(_InputIterator1 __first1, _InputIterator1 __last1,
609:   _InputIterator2 __first2, _InputIterator2 __last2,
609:   _OutputIterator __result, _Compare __comp)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2)
609:  {
609:    if (__comp(__first1, __first2))
609:      {
609:        *__result = *__first1;
609:        ++__first1;
609:      }
609:    else if (__comp(__first2, __first1))
609:      {
609:        *__result = *__first2;
609:        ++__first2;
609:      }
609:    else
609:      {
609:        *__result = *__first1;
609:        ++__first1;
609:        ++__first2;
609:      }
609:    ++__result;
609:  }
609:       return std::copy(__first2, __last2,
609:          std::copy(__first1, __last1, __result));
609:     }
609: # 5126 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
609:        _InputIterator2 __first2, _InputIterator2 __last2,
609:        _OutputIterator __result)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_union(__first1, __last1,
609:     __first2, __last2, __result,
609:     __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 5177 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _Compare>
609:    
609:     inline _OutputIterator
609:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
609:        _InputIterator2 __first2, _InputIterator2 __last2,
609:        _OutputIterator __result, _Compare __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_union(__first1, __last1,
609:     __first2, __last2, __result,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator,
609:     typename _Compare>
609:    
609:     _OutputIterator
609:     __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
609:          _InputIterator2 __first2, _InputIterator2 __last2,
609:          _OutputIterator __result, _Compare __comp)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2)
609:  if (__comp(__first1, __first2))
609:    ++__first1;
609:  else if (__comp(__first2, __first1))
609:    ++__first2;
609:  else
609:    {
609:      *__result = *__first1;
609:      ++__first1;
609:      ++__first2;
609:      ++__result;
609:    }
609:       return __result;
609:     }
609: # 5250 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
609:        _InputIterator2 __first2, _InputIterator2 __last2,
609:        _OutputIterator __result)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_intersection(__first1, __last1,
609:          __first2, __last2, __result,
609:          __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 5300 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _Compare>
609:    
609:     inline _OutputIterator
609:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
609:        _InputIterator2 __first2, _InputIterator2 __last2,
609:        _OutputIterator __result, _Compare __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_intersection(__first1, __last1,
609:     __first2, __last2, __result,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator,
609:     typename _Compare>
609:    
609:     _OutputIterator
609:     __set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
609:        _InputIterator2 __first2, _InputIterator2 __last2,
609:        _OutputIterator __result, _Compare __comp)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2)
609:  if (__comp(__first1, __first2))
609:    {
609:      *__result = *__first1;
609:      ++__first1;
609:      ++__result;
609:    }
609:  else if (__comp(__first2, __first1))
609:    ++__first2;
609:  else
609:    {
609:      ++__first1;
609:      ++__first2;
609:    }
609:       return std::copy(__first1, __last1, __result);
609:     }
609: # 5375 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
609:      _InputIterator2 __first2, _InputIterator2 __last2,
609:      _OutputIterator __result)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_difference(__first1, __last1,
609:        __first2, __last2, __result,
609:        __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 5427 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _Compare>
609:    
609:     inline _OutputIterator
609:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
609:      _InputIterator2 __first2, _InputIterator2 __last2,
609:      _OutputIterator __result, _Compare __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_difference(__first1, __last1,
609:        __first2, __last2, __result,
609:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator,
609:     typename _Compare>
609:    
609:     _OutputIterator
609:     __set_symmetric_difference(_InputIterator1 __first1,
609:           _InputIterator1 __last1,
609:           _InputIterator2 __first2,
609:           _InputIterator2 __last2,
609:           _OutputIterator __result,
609:           _Compare __comp)
609:     {
609:       while (__first1 != __last1 && __first2 != __last2)
609:  if (__comp(__first1, __first2))
609:    {
609:      *__result = *__first1;
609:      ++__first1;
609:      ++__result;
609:    }
609:  else if (__comp(__first2, __first1))
609:    {
609:      *__result = *__first2;
609:      ++__first2;
609:      ++__result;
609:    }
609:  else
609:    {
609:      ++__first1;
609:      ++__first2;
609:    }
609:       return std::copy(__first2, __last2,
609:          std::copy(__first1, __last1, __result));
609:     }
609: # 5508 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator>
609:    
609:     inline _OutputIterator
609:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
609:         _InputIterator2 __first2, _InputIterator2 __last2,
609:         _OutputIterator __result)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_symmetric_difference(__first1, __last1,
609:      __first2, __last2, __result,
609:      __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 5560 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _OutputIterator, typename _Compare>
609:    
609:     inline _OutputIterator
609:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
609:         _InputIterator2 __first2, _InputIterator2 __last2,
609:         _OutputIterator __result,
609:         _Compare __comp)
609:     {
609: 
609:      
609:      
609:      
609: 
609:      
609: 
609:      
609: 
609: 
609:      
609: 
609: 
609:       ;
609:       ;
609:       ;
609:       ;
609: 
609:       return std::__set_symmetric_difference(__first1, __last1,
609:     __first2, __last2, __result,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Compare>
609:     constexpr
609:     _ForwardIterator
609:     __min_element(_ForwardIterator __first, _ForwardIterator __last,
609:     _Compare __comp)
609:     {
609:       if (__first == __last)
609:  return __first;
609:       _ForwardIterator __result = __first;
609:       while (++__first != __last)
609:  if (__comp(__first, __result))
609:    __result = __first;
609:       return __result;
609:     }
609: # 5614 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:     constexpr
609:     _ForwardIterator
609:     inline min_element(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__min_element(__first, __last,
609:     __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 5639 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Compare>
609:     constexpr
609:     inline _ForwardIterator
609:     min_element(_ForwardIterator __first, _ForwardIterator __last,
609:   _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__min_element(__first, __last,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Compare>
609:     constexpr
609:     _ForwardIterator
609:     __max_element(_ForwardIterator __first, _ForwardIterator __last,
609:     _Compare __comp)
609:     {
609:       if (__first == __last) return __first;
609:       _ForwardIterator __result = __first;
609:       while (++__first != __last)
609:  if (__comp(__result, __first))
609:    __result = __first;
609:       return __result;
609:     }
609: # 5678 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator>
609:     constexpr
609:     inline _ForwardIterator
609:     max_element(_ForwardIterator __first, _ForwardIterator __last)
609:     {
609: 
609:      
609:      
609: 
609:       ;
609:       ;
609: 
609:       return std::__max_element(__first, __last,
609:     __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: # 5703 "/usr/include/c++/12/bits/stl_algo.h" 3
609:   template<typename _ForwardIterator, typename _Compare>
609:     constexpr
609:     inline _ForwardIterator
609:     max_element(_ForwardIterator __first, _ForwardIterator __last,
609:   _Compare __comp)
609:     {
609: 
609:      
609:      
609: 
609: 
609:       ;
609:       ;
609: 
609:       return std::__max_element(__first, __last,
609:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr
609:     inline _Tp
609:     min(initializer_list<_Tp> __l)
609:     {
609:       ;
609:       return *std::__min_element(__l.begin(), __l.end(),
609:    __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     inline _Tp
609:     min(initializer_list<_Tp> __l, _Compare __comp)
609:     {
609:       ;
609:       return *std::__min_element(__l.begin(), __l.end(),
609:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr
609:     inline _Tp
609:     max(initializer_list<_Tp> __l)
609:     {
609:       ;
609:       return *std::__max_element(__l.begin(), __l.end(),
609:    __gnu_cxx::__ops::__iter_less_iter());
609:     }
609: 
609:   template<typename _Tp, typename _Compare>
609:     constexpr
609:     inline _Tp
609:     max(initializer_list<_Tp> __l, _Compare __comp)
609:     {
609:       ;
609:       return *std::__max_element(__l.begin(), __l.end(),
609:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _RandomAccessIterator,
609:            typename _Size, typename _UniformRandomBitGenerator>
609:     _RandomAccessIterator
609:     __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag,
609:       _RandomAccessIterator __out, random_access_iterator_tag,
609:       _Size __n, _UniformRandomBitGenerator&& __g)
609:     {
609:       using __distrib_type = uniform_int_distribution<_Size>;
609:       using __param_type = typename __distrib_type::param_type;
609:       __distrib_type __d{};
609:       _Size __sample_sz = 0;
609:       while (__first != __last && __sample_sz != __n)
609:  {
609:    __out[__sample_sz++] = *__first;
609:    ++__first;
609:  }
609:       for (auto __pop_sz = __sample_sz; __first != __last;
609:    ++__first, (void) ++__pop_sz)
609:  {
609:    const auto __k = __d(__g, __param_type{0, __pop_sz});
609:    if (__k < __n)
609:      __out[__k] = *__first;
609:  }
609:       return __out + __sample_sz;
609:     }
609: 
609: 
609:   template<typename _ForwardIterator, typename _OutputIterator, typename _Cat,
609:            typename _Size, typename _UniformRandomBitGenerator>
609:     _OutputIterator
609:     __sample(_ForwardIterator __first, _ForwardIterator __last,
609:       forward_iterator_tag,
609:       _OutputIterator __out, _Cat,
609:       _Size __n, _UniformRandomBitGenerator&& __g)
609:     {
609:       using __distrib_type = uniform_int_distribution<_Size>;
609:       using __param_type = typename __distrib_type::param_type;
609:       using _USize = make_unsigned_t<_Size>;
609:       using _Gen = remove_reference_t<_UniformRandomBitGenerator>;
609:       using __uc_type = common_type_t<typename _Gen::result_type, _USize>;
609: 
609:       if (__first == __last)
609:  return __out;
609: 
609:       __distrib_type __d{};
609:       _Size __unsampled_sz = std::distance(__first, __last);
609:       __n = std::min(__n, __unsampled_sz);
609: 
609: 
609: 
609: 
609:       const __uc_type __urngrange = __g.max() - __g.min();
609:       if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz))
609: 
609: 
609:         {
609:    while (__n != 0 && __unsampled_sz >= 2)
609:      {
609:        const pair<_Size, _Size> __p =
609:   __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g);
609: 
609:        --__unsampled_sz;
609:        if (__p.first < __n)
609:   {
609:     *__out++ = *__first;
609:     --__n;
609:   }
609: 
609:        ++__first;
609: 
609:        if (__n == 0) break;
609: 
609:        --__unsampled_sz;
609:        if (__p.second < __n)
609:   {
609:     *__out++ = *__first;
609:     --__n;
609:   }
609: 
609:        ++__first;
609:      }
609:         }
609: 
609: 
609: 
609:       for (; __n != 0; ++__first)
609:  if (__d(__g, __param_type{0, --__unsampled_sz}) < __n)
609:    {
609:      *__out++ = *__first;
609:      --__n;
609:    }
609:       return __out;
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _PopulationIterator, typename _SampleIterator,
609:            typename _Distance, typename _UniformRandomBitGenerator>
609:     _SampleIterator
609:     sample(_PopulationIterator __first, _PopulationIterator __last,
609:     _SampleIterator __out, _Distance __n,
609:     _UniformRandomBitGenerator&& __g)
609:     {
609:       using __pop_cat = typename
609:  std::iterator_traits<_PopulationIterator>::iterator_category;
609:       using __samp_cat = typename
609:  std::iterator_traits<_SampleIterator>::iterator_category;
609: 
609:       static_assert(
609:    __or_<is_convertible<__pop_cat, forward_iterator_tag>,
609:   is_convertible<__samp_cat, random_access_iterator_tag>>::value,
609:    "output range must use a RandomAccessIterator when input range"
609:    " does not meet the ForwardIterator requirements");
609: 
609:       static_assert(is_integral<_Distance>::value,
609:       "sample size must be an integer type");
609: 
609:       typename iterator_traits<_PopulationIterator>::difference_type __d = __n;
609:       return std::
609:  __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d,
609:    std::forward<_UniformRandomBitGenerator>(__g));
609:     }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 62 "/usr/include/c++/12/algorithm" 2 3
609: # 73 "/usr/include/c++/12/algorithm" 3
609: # 1 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 1 3
609: # 15 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
609: # 1 "/usr/include/c++/12/pstl/execution_defs.h" 1 3
609: # 15 "/usr/include/c++/12/pstl/execution_defs.h" 3
609: namespace __pstl
609: {
609: namespace execution
609: {
609: inline namespace v1
609: {
609: 
609: 
609: class sequenced_policy
609: {
609:   public:
609: 
609:     static constexpr std::false_type
609:     __allow_unsequenced()
609:     {
609:         return std::false_type{};
609:     }
609:     static constexpr std::false_type
609:     __allow_vector()
609:     {
609:         return std::false_type{};
609:     }
609:     static constexpr std::false_type
609:     __allow_parallel()
609:     {
609:         return std::false_type{};
609:     }
609: };
609: 
609: 
609: class parallel_policy
609: {
609:   public:
609: 
609:     static constexpr std::false_type
609:     __allow_unsequenced()
609:     {
609:         return std::false_type{};
609:     }
609:     static constexpr std::false_type
609:     __allow_vector()
609:     {
609:         return std::false_type{};
609:     }
609:     static constexpr std::true_type
609:     __allow_parallel()
609:     {
609:         return std::true_type{};
609:     }
609: };
609: 
609: 
609: class parallel_unsequenced_policy
609: {
609:   public:
609: 
609:     static constexpr std::true_type
609:     __allow_unsequenced()
609:     {
609:         return std::true_type{};
609:     }
609:     static constexpr std::true_type
609:     __allow_vector()
609:     {
609:         return std::true_type{};
609:     }
609:     static constexpr std::true_type
609:     __allow_parallel()
609:     {
609:         return std::true_type{};
609:     }
609: };
609: 
609: class unsequenced_policy
609: {
609:   public:
609: 
609:     static constexpr std::true_type
609:     __allow_unsequenced()
609:     {
609:         return std::true_type{};
609:     }
609:     static constexpr std::true_type
609:     __allow_vector()
609:     {
609:         return std::true_type{};
609:     }
609:     static constexpr std::false_type
609:     __allow_parallel()
609:     {
609:         return std::false_type{};
609:     }
609: };
609: 
609: 
609: constexpr sequenced_policy seq{};
609: constexpr parallel_policy par{};
609: constexpr parallel_unsequenced_policy par_unseq{};
609: constexpr unsequenced_policy unseq{};
609: 
609: 
609: template <class _Tp>
609: struct is_execution_policy : std::false_type
609: {
609: };
609: 
609: template <>
609: struct is_execution_policy<__pstl::execution::sequenced_policy> : std::true_type
609: {
609: };
609: template <>
609: struct is_execution_policy<__pstl::execution::parallel_policy> : std::true_type
609: {
609: };
609: template <>
609: struct is_execution_policy<__pstl::execution::parallel_unsequenced_policy> : std::true_type
609: {
609: };
609: template <>
609: struct is_execution_policy<__pstl::execution::unsequenced_policy> : std::true_type
609: {
609: };
609: 
609: 
609: template <class _Tp>
609: constexpr bool is_execution_policy_v = __pstl::execution::is_execution_policy<_Tp>::value;
609: 
609: 
609: }
609: }
609: 
609: namespace __internal
609: {
609: template <class _ExecPolicy, class _Tp>
609: 
609: using __enable_if_execution_policy =
609:     typename std::enable_if<__pstl::execution::is_execution_policy<std::__remove_cvref_t<_ExecPolicy>>::value,
609:                             _Tp>::type;
609: 
609: 
609: 
609: 
609: 
609: }
609: 
609: }
609: # 16 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 2 3
609: 
609: namespace std
609: {
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: any_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: all_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: none_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Function>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: for_each(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Function __f);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Function>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: for_each_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, _Function __f);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: find_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: find_if_not(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
609: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
609:          _ForwardIterator2 __s_last, _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
609: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
609:          _ForwardIterator2 __s_last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
609: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
609:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last, _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
609: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
609:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
609:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
609: count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
609:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
609: count_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
609: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
609:        _ForwardIterator2 __s_last, _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
609: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
609:        _ForwardIterator2 __s_last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
609:          const _Tp& __value, _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
609:          const _Tp& __value);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _Size, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: copy_n(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _Size __n, _ForwardIterator2 __result);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 result,
609:         _Predicate __pred);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: swap_ranges(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:             _ForwardIterator2 __first2);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryOperation>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
609:           _UnaryOperation __op);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
609:           class _BinaryOperation>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:           _ForwardIterator __result, _BinaryOperation __op);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: replace_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred,
609:            const _Tp& __new_value);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: replace(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value,
609:         const _Tp& __new_value);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryPredicate, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: replace_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
609:                 _ForwardIterator2 __result, _UnaryPredicate __pred, const _Tp& __new_value);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: replace_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
609:              const _Tp& __old_value, const _Tp& __new_value);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __count, const _Tp& __value);
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Generator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: generate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Generator __g);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Generator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: generate_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size count, _Generator __g);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: remove_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
609:                _ForwardIterator2 __result, _Predicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: remove_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
609:             const _Tp& __value);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: remove_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: remove(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
609:             _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _BidirectionalIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: reverse(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last);
609: 
609: template <class _ExecutionPolicy, class _BidirectionalIterator, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: reverse_copy(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
609:              _ForwardIterator __d_first);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: rotate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: rotate_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __middle, _ForwardIterator1 __last,
609:             _ForwardIterator2 __result);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: is_partitioned(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: partition(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _BidirectionalIterator, class _UnaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _BidirectionalIterator>
609: stable_partition(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
609:                  _UnaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _ForwardIterator1, class _ForwardIterator2,
609:           class _UnaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
609: partition_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
609:                _ForwardIterator1 __out_true, _ForwardIterator2 __out_false, _UnaryPredicate __pred);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
609: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:          _ForwardIterator2 __last2, _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
609: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:          _BinaryPredicate __pred);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
609: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:          _ForwardIterator2 __last2);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
609: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:       _BinaryPredicate __p);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:       _ForwardIterator2 __last2, _BinaryPredicate __p);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:       _ForwardIterator2 __last2);
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
609: move(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __d_first);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
609:              _RandomAccessIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
609:              _RandomAccessIterator __last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
609: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
609:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
609: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
609:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last);
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
609:             _RandomAccessIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
609:             _RandomAccessIterator __last);
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
609:           class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:       _ForwardIterator2 __last2, _ForwardIterator __d_first, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:       _ForwardIterator2 __last2, _ForwardIterator __d_first);
609: 
609: template <class _ExecutionPolicy, class _BidirectionalIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
609:               _BidirectionalIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _BidirectionalIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
609:               _BidirectionalIterator __last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:          _ForwardIterator2 __last2, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:          _ForwardIterator2 __last2);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
609:           class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:           _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
609:           _ForwardIterator2 __last2, _ForwardIterator __result);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
609:           class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
609:           class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
609:           class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator result,
609:                          _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
609: 
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
609: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
609: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _RandomAccessIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
609: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
609: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2, _Compare __comp);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
609: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
609:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2);
609: 
609: }
609: # 74 "/usr/include/c++/12/algorithm" 2 3
609: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 2
609: # 1 "/usr/include/c++/12/stdexcept" 1 3
609: # 36 "/usr/include/c++/12/stdexcept" 3
609:        
609: # 37 "/usr/include/c++/12/stdexcept" 3
609: 
609: # 1 "/usr/include/c++/12/exception" 1 3
609: # 33 "/usr/include/c++/12/exception" 3
609:        
609: # 34 "/usr/include/c++/12/exception" 3
609: 
609: #pragma GCC visibility push(default)
609: 
609: 
609: 
609: 
609: extern "C++" {
609: 
609: namespace std
609: {
609: # 53 "/usr/include/c++/12/exception" 3
609:   class bad_exception : public exception
609:   {
609:   public:
609:     bad_exception() noexcept { }
609: 
609: 
609: 
609:     virtual ~bad_exception() noexcept;
609: 
609: 
609:     virtual const char*
609:     what() const noexcept;
609:   };
609: 
609: 
609:   typedef void (*terminate_handler) ();
609: 
609: 
609:   terminate_handler set_terminate(terminate_handler) noexcept;
609: 
609: 
609: 
609:   terminate_handler get_terminate() noexcept;
609: 
609: 
609: 
609: 
609:   void terminate() noexcept __attribute__ ((__noreturn__));
609: 
609: 
609: 
609:   typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) ();
609: 
609: 
609: 
609: 
609: 
609:   __attribute__ ((__deprecated__))
609:   unexpected_handler set_unexpected(unexpected_handler) noexcept;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   __attribute__ ((__deprecated__))
609:   unexpected_handler get_unexpected() noexcept;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   __attribute__ ((__deprecated__))
609:   void unexpected() __attribute__ ((__noreturn__));
609: # 123 "/usr/include/c++/12/exception" 3
609:   __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead")))
609:   bool uncaught_exception() noexcept __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   int uncaught_exceptions() noexcept __attribute__ ((__pure__));
609: 
609: 
609: 
609: }
609: 
609: namespace __gnu_cxx
609: {
609: 
609: # 158 "/usr/include/c++/12/exception" 3
609:   void __verbose_terminate_handler();
609: 
609: 
609: }
609: 
609: }
609: 
609: #pragma GCC visibility pop
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/exception_ptr.h" 1 3
609: # 34 "/usr/include/c++/12/bits/exception_ptr.h" 3
609: #pragma GCC visibility push(default)
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 1 3
609: # 34 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
609:        
609: # 35 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
609: 
609: #pragma GCC visibility push(default)
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 145 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
609: typedef int ptrdiff_t;
609: # 424 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
609: typedef struct {
609:   long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
609:   long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
609: # 435 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
609: } max_align_t;
609: 
609: 
609: 
609: 
609: 
609: 
609:   typedef decltype(nullptr) nullptr_t;
609: # 39 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 2 3
609: # 50 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
609: namespace std
609: {
609:   class type_info;
609: }
609: 
609: namespace __cxxabiv1
609: {
609:   struct __cxa_refcounted_exception;
609: 
609:   extern "C"
609:     {
609: 
609:       void*
609:       __cxa_allocate_exception(size_t) noexcept;
609: 
609:       void
609:       __cxa_free_exception(void*) noexcept;
609: 
609: 
609:       __cxa_refcounted_exception*
609:       __cxa_init_primary_exception(void *object, std::type_info *tinfo,
609:                 void ( *dest) (void *)) noexcept;
609: 
609:     }
609: }
609: 
609: 
609: 
609: #pragma GCC visibility pop
609: # 39 "/usr/include/c++/12/bits/exception_ptr.h" 2 3
609: # 1 "/usr/include/c++/12/typeinfo" 1 3
609: # 32 "/usr/include/c++/12/typeinfo" 3
609:        
609: # 33 "/usr/include/c++/12/typeinfo" 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/hash_bytes.h" 1 3
609: # 33 "/usr/include/c++/12/bits/hash_bytes.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/hash_bytes.h" 3
609: 
609: 
609: 
609: namespace std
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   size_t
609:   _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
609: 
609: 
609: 
609: 
609: 
609:   size_t
609:   _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
609: 
609: 
609: }
609: # 37 "/usr/include/c++/12/typeinfo" 2 3
609: 
609: 
609: #pragma GCC visibility push(default)
609: 
609: 
609: 
609: 
609: 
609: extern "C++" {
609: 
609: namespace __cxxabiv1
609: {
609:   class __class_type_info;
609: }
609: # 84 "/usr/include/c++/12/typeinfo" 3
609: namespace std
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   class type_info
609:   {
609:   public:
609: 
609: 
609: 
609: 
609:     virtual ~type_info();
609: 
609: 
609: 
609:     const char* name() const noexcept
609:     { return __name[0] == '*' ? __name + 1 : __name; }
609: 
609: 
609: 
609:     bool before(const type_info& __arg) const noexcept;
609: 
609:    
609:     bool operator==(const type_info& __arg) const noexcept;
609: 
609: 
609:     bool operator!=(const type_info& __arg) const noexcept
609:     { return !operator==(__arg); }
609: 
609: 
609: 
609:     size_t hash_code() const noexcept
609:     {
609: 
609:       return _Hash_bytes(name(), __builtin_strlen(name()),
609:     static_cast<size_t>(0xc70f6907UL));
609: 
609: 
609: 
609:     }
609: 
609: 
609: 
609:     virtual bool __is_pointer_p() const;
609: 
609: 
609:     virtual bool __is_function_p() const;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
609:        unsigned __outer) const;
609: 
609: 
609:     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
609:         void **__obj_ptr) const;
609: 
609:   protected:
609:     const char *__name;
609: 
609:     explicit type_info(const char *__n): __name(__n) { }
609: 
609:   private:
609: 
609: 
609:     type_info& operator=(const type_info&) = delete;
609:     type_info(const type_info&) = delete;
609: 
609: 
609: 
609: 
609: 
609: 
609:     bool __equal(const type_info&) const noexcept;
609: 
609:   };
609: # 220 "/usr/include/c++/12/typeinfo" 3
609:   class bad_cast : public exception
609:   {
609:   public:
609:     bad_cast() noexcept { }
609: 
609: 
609: 
609:     virtual ~bad_cast() noexcept;
609: 
609: 
609:     virtual const char* what() const noexcept;
609:   };
609: 
609: 
609: 
609: 
609: 
609:   class bad_typeid : public exception
609:   {
609:   public:
609:     bad_typeid () noexcept { }
609: 
609: 
609: 
609:     virtual ~bad_typeid() noexcept;
609: 
609: 
609:     virtual const char* what() const noexcept;
609:   };
609: }
609: 
609: }
609: 
609: #pragma GCC visibility pop
609: # 40 "/usr/include/c++/12/bits/exception_ptr.h" 2 3
609: # 52 "/usr/include/c++/12/bits/exception_ptr.h" 3
609: extern "C++" {
609: 
609: namespace std
609: {
609:   class type_info;
609: 
609: 
609: 
609: 
609: 
609: 
609:   namespace __exception_ptr
609:   {
609:     class exception_ptr;
609:   }
609: 
609:   using __exception_ptr::exception_ptr;
609: 
609: 
609: 
609: 
609: 
609:   exception_ptr current_exception() noexcept;
609: 
609:   template<typename _Ex>
609:   exception_ptr make_exception_ptr(_Ex) noexcept;
609: 
609: 
609:   void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
609: 
609:   namespace __exception_ptr
609:   {
609:     using std::rethrow_exception;
609: 
609: 
609: 
609: 
609: 
609:     class exception_ptr
609:     {
609:       void* _M_exception_object;
609: 
609:       explicit exception_ptr(void* __e) noexcept;
609: 
609:       void _M_addref() noexcept;
609:       void _M_release() noexcept;
609: 
609:       void *_M_get() const noexcept __attribute__ ((__pure__));
609: 
609:       friend exception_ptr std::current_exception() noexcept;
609:       friend void std::rethrow_exception(exception_ptr);
609:       template<typename _Ex>
609:       friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
609: 
609:     public:
609:       exception_ptr() noexcept;
609: 
609:       exception_ptr(const exception_ptr&) noexcept;
609: 
609: 
609:       exception_ptr(nullptr_t) noexcept
609:       : _M_exception_object(nullptr)
609:       { }
609: 
609:       exception_ptr(exception_ptr&& __o) noexcept
609:       : _M_exception_object(__o._M_exception_object)
609:       { __o._M_exception_object = nullptr; }
609: # 128 "/usr/include/c++/12/bits/exception_ptr.h" 3
609:       exception_ptr&
609:       operator=(const exception_ptr&) noexcept;
609: 
609: 
609:       exception_ptr&
609:       operator=(exception_ptr&& __o) noexcept
609:       {
609:         exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
609:         return *this;
609:       }
609: 
609: 
609:       ~exception_ptr() noexcept;
609: 
609:       void
609:       swap(exception_ptr&) noexcept;
609: # 155 "/usr/include/c++/12/bits/exception_ptr.h" 3
609:       explicit operator bool() const noexcept
609:       { return _M_exception_object; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       friend bool
609:       operator==(const exception_ptr& __x, const exception_ptr& __y)
609:       noexcept
609:       { return __x._M_exception_object == __y._M_exception_object; }
609: 
609:       friend bool
609:       operator!=(const exception_ptr& __x, const exception_ptr& __y)
609:       noexcept
609:       { return __x._M_exception_object != __y._M_exception_object; }
609: 
609: 
609:       const class std::type_info*
609:       __cxa_exception_type() const noexcept
609:  __attribute__ ((__pure__));
609:     };
609: 
609:    
609:     inline
609:     exception_ptr::exception_ptr() noexcept
609:     : _M_exception_object(0)
609:     { }
609: 
609:    
609:     inline
609:     exception_ptr::exception_ptr(const exception_ptr& __other)
609:     noexcept
609:     : _M_exception_object(__other._M_exception_object)
609:     {
609:       if (_M_exception_object)
609:  _M_addref();
609:     }
609: 
609:    
609:     inline
609:     exception_ptr::~exception_ptr() noexcept
609:     {
609:       if (_M_exception_object)
609:  _M_release();
609:     }
609: 
609:    
609:     inline exception_ptr&
609:     exception_ptr::operator=(const exception_ptr& __other) noexcept
609:     {
609:       exception_ptr(__other).swap(*this);
609:       return *this;
609:     }
609: 
609:    
609:     inline void
609:     exception_ptr::swap(exception_ptr &__other) noexcept
609:     {
609:       void *__tmp = _M_exception_object;
609:       _M_exception_object = __other._M_exception_object;
609:       __other._M_exception_object = __tmp;
609:     }
609: 
609: 
609:     inline void
609:     swap(exception_ptr& __lhs, exception_ptr& __rhs)
609:     { __lhs.swap(__rhs); }
609: 
609: 
609:     template<typename _Ex>
609:      
609:       inline void
609:       __dest_thunk(void* __x)
609:       { static_cast<_Ex*>(__x)->~_Ex(); }
609: 
609: 
609:   }
609: 
609: 
609: 
609:   template<typename _Ex>
609:     exception_ptr
609:     make_exception_ptr(_Ex __ex) noexcept
609:     {
609: 
609:       using _Ex2 = typename decay<_Ex>::type;
609:       void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
609:       (void) __cxxabiv1::__cxa_init_primary_exception(
609:    __e, const_cast<std::type_info*>(&typeid(_Ex)),
609:    __exception_ptr::__dest_thunk<_Ex2>);
609:       try
609:  {
609:    ::new (__e) _Ex2(__ex);
609:    return exception_ptr(__e);
609:  }
609:       catch(...)
609:  {
609:    __cxxabiv1::__cxa_free_exception(__e);
609:    return current_exception();
609:  }
609: # 268 "/usr/include/c++/12/bits/exception_ptr.h" 3
609:     }
609: # 282 "/usr/include/c++/12/bits/exception_ptr.h" 3
609: }
609: 
609: }
609: 
609: #pragma GCC visibility pop
609: # 169 "/usr/include/c++/12/exception" 2 3
609: # 1 "/usr/include/c++/12/bits/nested_exception.h" 1 3
609: # 33 "/usr/include/c++/12/bits/nested_exception.h" 3
609: #pragma GCC visibility push(default)
609: # 42 "/usr/include/c++/12/bits/nested_exception.h" 3
609: extern "C++" {
609: 
609: namespace std
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   class nested_exception
609:   {
609:     exception_ptr _M_ptr;
609: 
609:   public:
609:     nested_exception() noexcept : _M_ptr(current_exception()) { }
609: 
609:     nested_exception(const nested_exception&) noexcept = default;
609: 
609:     nested_exception& operator=(const nested_exception&) noexcept = default;
609: 
609:     virtual ~nested_exception() noexcept;
609: 
609:     [[noreturn]]
609:     void
609:     rethrow_nested() const
609:     {
609:       if (_M_ptr)
609:  rethrow_exception(_M_ptr);
609:       std::terminate();
609:     }
609: 
609:     exception_ptr
609:     nested_ptr() const noexcept
609:     { return _M_ptr; }
609:   };
609: 
609: 
609: 
609:   template<typename _Except>
609:     struct _Nested_exception : public _Except, public nested_exception
609:     {
609:       explicit _Nested_exception(const _Except& __ex)
609:       : _Except(__ex)
609:       { }
609: 
609:       explicit _Nested_exception(_Except&& __ex)
609:       : _Except(static_cast<_Except&&>(__ex))
609:       { }
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[noreturn]]
609:     inline void
609:     __throw_with_nested_impl(_Tp&& __t, true_type)
609:     {
609:       using _Up = typename remove_reference<_Tp>::type;
609:       throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
609:     }
609: 
609:   template<typename _Tp>
609:     [[noreturn]]
609:     inline void
609:     __throw_with_nested_impl(_Tp&& __t, false_type)
609:     { throw std::forward<_Tp>(__t); }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[noreturn]]
609:     inline void
609:     throw_with_nested(_Tp&& __t)
609:     {
609:       using _Up = typename decay<_Tp>::type;
609:       using _CopyConstructible
609:  = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
609:       static_assert(_CopyConstructible::value,
609:    "throw_with_nested argument must be CopyConstructible");
609:       using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>,
609:        __not_<is_base_of<nested_exception, _Up>>>;
609:       std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{});
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     using __rethrow_if_nested_cond = typename enable_if<
609:       __and_<is_polymorphic<_Tp>,
609:       __or_<__not_<is_base_of<nested_exception, _Tp>>,
609:      is_convertible<_Tp*, nested_exception*>>>::value
609:     >::type;
609: 
609: 
609:   template<typename _Ex>
609:     inline __rethrow_if_nested_cond<_Ex>
609:     __rethrow_if_nested_impl(const _Ex* __ptr)
609:     {
609:       if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
609:  __ne_ptr->rethrow_nested();
609:     }
609: 
609: 
609:   inline void
609:   __rethrow_if_nested_impl(const void*)
609:   { }
609: 
609: 
609: 
609: 
609:   template<typename _Ex>
609:     inline void
609:     rethrow_if_nested(const _Ex& __ex)
609:     { std::__rethrow_if_nested_impl(std::__addressof(__ex)); }
609: 
609: 
609: }
609: 
609: }
609: 
609: 
609: 
609: #pragma GCC visibility pop
609: # 170 "/usr/include/c++/12/exception" 2 3
609: # 39 "/usr/include/c++/12/stdexcept" 2 3
609: # 1 "/usr/include/c++/12/string" 1 3
609: # 36 "/usr/include/c++/12/string" 3
609:        
609: # 37 "/usr/include/c++/12/string" 3
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/stringfwd.h" 1 3
609: # 37 "/usr/include/c++/12/bits/stringfwd.h" 3
609:        
609: # 38 "/usr/include/c++/12/bits/stringfwd.h" 3
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/memoryfwd.h" 1 3
609: # 46 "/usr/include/c++/12/bits/memoryfwd.h" 3
609:        
609: # 47 "/usr/include/c++/12/bits/memoryfwd.h" 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 63 "/usr/include/c++/12/bits/memoryfwd.h" 3
609:   template<typename>
609:     class allocator;
609: 
609:   template<>
609:     class allocator<void>;
609: 
609: 
609: 
609:   template<typename, typename>
609:     struct uses_allocator;
609: 
609:   template<typename>
609:     struct allocator_traits;
609: 
609: 
609: 
609: 
609: 
609: }
609: # 41 "/usr/include/c++/12/bits/stringfwd.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<class _CharT>
609:     struct char_traits;
609: 
609:   template<> struct char_traits<char>;
609: 
609:   template<> struct char_traits<wchar_t>;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<> struct char_traits<char16_t>;
609:   template<> struct char_traits<char32_t>;
609: 
609: 
609: namespace __cxx11 {
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
609:            typename _Alloc = allocator<_CharT> >
609:     class basic_string;
609: 
609: }
609: 
609: 
609:   typedef basic_string<char> string;
609: 
609: 
609:   typedef basic_string<wchar_t> wstring;
609: # 89 "/usr/include/c++/12/bits/stringfwd.h" 3
609:   typedef basic_string<char16_t> u16string;
609: 
609: 
609:   typedef basic_string<char32_t> u32string;
609: 
609: 
609: 
609: 
609: 
609: }
609: # 40 "/usr/include/c++/12/string" 2 3
609: # 1 "/usr/include/c++/12/bits/char_traits.h" 1 3
609: # 37 "/usr/include/c++/12/bits/char_traits.h" 3
609:        
609: # 38 "/usr/include/c++/12/bits/char_traits.h" 3
609: 
609: # 1 "/usr/include/c++/12/bits/postypes.h" 1 3
609: # 38 "/usr/include/c++/12/bits/postypes.h" 3
609:        
609: # 39 "/usr/include/c++/12/bits/postypes.h" 3
609: 
609: # 1 "/usr/include/c++/12/cwchar" 1 3
609: # 39 "/usr/include/c++/12/cwchar" 3
609:        
609: # 40 "/usr/include/c++/12/cwchar" 3
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/wchar.h" 1 3 4
609: # 27 "/usr/include/wchar.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
609: # 28 "/usr/include/wchar.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
609: # 31 "/usr/include/wchar.h" 2 3 4
609: 
609: 
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 36 "/usr/include/wchar.h" 2 3 4
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
609: # 40 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 3 4
609: typedef __builtin_va_list __gnuc_va_list;
609: # 39 "/usr/include/wchar.h" 2 3 4
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar.h" 1 3 4
609: # 41 "/usr/include/wchar.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 1 3 4
609: # 20 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 3 4
609: typedef unsigned int wint_t;
609: # 42 "/usr/include/wchar.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 1 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 1 3 4
609: # 13 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 3 4
609: typedef struct
609: {
609:   int __count;
609:   union
609:   {
609:     unsigned int __wch;
609:     char __wchb[4];
609:   } __value;
609: } __mbstate_t;
609: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 2 3 4
609: 
609: typedef __mbstate_t mbstate_t;
609: # 43 "/usr/include/wchar.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__FILE.h" 1 3 4
609: 
609: 
609: 
609: struct _IO_FILE;
609: typedef struct _IO_FILE __FILE;
609: # 44 "/usr/include/wchar.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/FILE.h" 1 3 4
609: 
609: 
609: 
609: struct _IO_FILE;
609: 
609: 
609: typedef struct _IO_FILE FILE;
609: # 47 "/usr/include/wchar.h" 2 3 4
609: # 79 "/usr/include/wchar.h" 3 4
609: extern "C" {
609: 
609: 
609: 
609: struct tm;
609: 
609: 
609: 
609: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
609:    const wchar_t *__restrict __src)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
609:     const wchar_t *__restrict __src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern wchar_t *wcscat (wchar_t *__restrict __dest,
609:    const wchar_t *__restrict __src)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
609:     const wchar_t *__restrict __src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
609: 
609: 
609: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
609:    size_t __n) noexcept (true);
609: 
609: 
609: 
609: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
609:     locale_t __loc) noexcept (true);
609: 
609: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
609:      size_t __n, locale_t __loc) noexcept (true);
609: 
609: 
609: 
609: 
609: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
609: 
609: 
609: 
609: extern size_t wcsxfrm (wchar_t *__restrict __s1,
609:          const wchar_t *__restrict __s2, size_t __n) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
609:         locale_t __loc) noexcept (true);
609: 
609: 
609: 
609: 
609: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
609:     size_t __n, locale_t __loc) noexcept (true);
609: 
609: 
609: extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
609: 
609: 
609: 
609: 
609: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
609:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
609: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
609:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
609:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
609: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
609:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
609: # 182 "/usr/include/wchar.h" 3 4
609: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
609:      noexcept (true) __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
609:      noexcept (true) __attribute__ ((__pure__));
609: 
609: 
609: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
609:      noexcept (true) __attribute__ ((__pure__));
609: 
609: 
609: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
609:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
609: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
609:          const wchar_t *__accept)
609:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
609:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
609: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
609:         const wchar_t *__needle)
609:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern wchar_t *wcstok (wchar_t *__restrict __s,
609:    const wchar_t *__restrict __delim,
609:    wchar_t **__restrict __ptr) noexcept (true);
609: 
609: 
609: extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
609:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
609: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
609:         const wchar_t *__needle)
609:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
609: # 241 "/usr/include/wchar.h" 3 4
609: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
609:      noexcept (true) __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: 
609: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
609:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
609: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
609:          size_t __n)
609:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
609:      noexcept (true) __attribute__ ((__pure__));
609: 
609: 
609: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
609:     const wchar_t *__restrict __s2, size_t __n) noexcept (true);
609: 
609: 
609: 
609: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
609:      noexcept (true);
609: 
609: 
609: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
609: 
609: 
609: 
609: 
609: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
609:      const wchar_t *__restrict __s2, size_t __n)
609:      noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern wint_t btowc (int __c) noexcept (true);
609: 
609: 
609: 
609: extern int wctob (wint_t __c) noexcept (true);
609: 
609: 
609: 
609: extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__));
609: 
609: 
609: 
609: extern size_t mbrtowc (wchar_t *__restrict __pwc,
609:          const char *__restrict __s, size_t __n,
609:          mbstate_t *__restrict __p) noexcept (true);
609: 
609: 
609: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
609:          mbstate_t *__restrict __ps) noexcept (true);
609: 
609: 
609: extern size_t __mbrlen (const char *__restrict __s, size_t __n,
609:    mbstate_t *__restrict __ps) noexcept (true);
609: extern size_t mbrlen (const char *__restrict __s, size_t __n,
609:         mbstate_t *__restrict __ps) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern wint_t __btowc_alias (int __c) __asm ("btowc");
609: extern __inline __attribute__ ((__gnu_inline__)) wint_t
609: __attribute__ ((__leaf__)) btowc (int __c) noexcept (true)
609: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
609:    ? (wint_t) __c : __btowc_alias (__c)); }
609: 
609: extern int __wctob_alias (wint_t __c) __asm ("wctob");
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: __attribute__ ((__leaf__)) wctob (wint_t __wc) noexcept (true)
609: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
609:    ? (int) __wc : __wctob_alias (__wc)); }
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) size_t
609: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) noexcept (true)
609: 
609: { return (__ps != __null
609:    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
609: 
609: 
609: 
609: 
609: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
609:     const char **__restrict __src, size_t __len,
609:     mbstate_t *__restrict __ps) noexcept (true);
609: 
609: 
609: 
609: extern size_t wcsrtombs (char *__restrict __dst,
609:     const wchar_t **__restrict __src, size_t __len,
609:     mbstate_t *__restrict __ps) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
609:      const char **__restrict __src, size_t __nmc,
609:      size_t __len, mbstate_t *__restrict __ps) noexcept (true);
609: 
609: 
609: 
609: extern size_t wcsnrtombs (char *__restrict __dst,
609:      const wchar_t **__restrict __src,
609:      size_t __nwc, size_t __len,
609:      mbstate_t *__restrict __ps) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int wcwidth (wchar_t __c) noexcept (true);
609: 
609: 
609: 
609: extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern double wcstod (const wchar_t *__restrict __nptr,
609:         wchar_t **__restrict __endptr) noexcept (true);
609: 
609: 
609: 
609: extern float wcstof (const wchar_t *__restrict __nptr,
609:        wchar_t **__restrict __endptr) noexcept (true);
609: extern long double wcstold (const wchar_t *__restrict __nptr,
609:        wchar_t **__restrict __endptr) noexcept (true);
609: # 397 "/usr/include/wchar.h" 3 4
609: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
609:      wchar_t **__restrict __endptr) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
609:      wchar_t **__restrict __endptr) noexcept (true);
609: # 412 "/usr/include/wchar.h" 3 4
609: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
609:        wchar_t **__restrict __endptr) noexcept (true);
609: # 429 "/usr/include/wchar.h" 3 4
609: extern long int wcstol (const wchar_t *__restrict __nptr,
609:    wchar_t **__restrict __endptr, int __base) noexcept (true);
609: 
609: 
609: 
609: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
609:       wchar_t **__restrict __endptr, int __base)
609:      noexcept (true);
609: 
609: 
609: 
609: 
609: __extension__
609: extern long long int wcstoll (const wchar_t *__restrict __nptr,
609:          wchar_t **__restrict __endptr, int __base)
609:      noexcept (true);
609: 
609: 
609: 
609: __extension__
609: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
609:      wchar_t **__restrict __endptr,
609:      int __base) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: __extension__
609: extern long long int wcstoq (const wchar_t *__restrict __nptr,
609:         wchar_t **__restrict __endptr, int __base)
609:      noexcept (true);
609: 
609: 
609: 
609: __extension__
609: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
609:            wchar_t **__restrict __endptr,
609:            int __base) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int wcstol_l (const wchar_t *__restrict __nptr,
609:      wchar_t **__restrict __endptr, int __base,
609:      locale_t __loc) noexcept (true);
609: 
609: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
609:         wchar_t **__restrict __endptr,
609:         int __base, locale_t __loc) noexcept (true);
609: 
609: __extension__
609: extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
609:     wchar_t **__restrict __endptr,
609:     int __base, locale_t __loc) noexcept (true);
609: 
609: __extension__
609: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
609:        wchar_t **__restrict __endptr,
609:        int __base, locale_t __loc)
609:      noexcept (true);
609: 
609: extern double wcstod_l (const wchar_t *__restrict __nptr,
609:    wchar_t **__restrict __endptr, locale_t __loc)
609:      noexcept (true);
609: 
609: extern float wcstof_l (const wchar_t *__restrict __nptr,
609:          wchar_t **__restrict __endptr, locale_t __loc)
609:      noexcept (true);
609: 
609: extern long double wcstold_l (const wchar_t *__restrict __nptr,
609:          wchar_t **__restrict __endptr,
609:          locale_t __loc) noexcept (true);
609: # 512 "/usr/include/wchar.h" 3 4
609: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
609:        wchar_t **__restrict __endptr,
609:        locale_t __loc) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
609:        wchar_t **__restrict __endptr,
609:        locale_t __loc) noexcept (true);
609: # 530 "/usr/include/wchar.h" 3 4
609: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
609:          wchar_t **__restrict __endptr,
609:          locale_t __loc) noexcept (true);
609: # 552 "/usr/include/wchar.h" 3 4
609: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
609:    const wchar_t *__restrict __src) noexcept (true);
609: 
609: 
609: 
609: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
609:     const wchar_t *__restrict __src, size_t __n)
609:      noexcept (true);
609: # 581 "/usr/include/wchar.h" 3 4
609: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
609:   __attribute__ ((__malloc__)) ;
609: 
609: 
609: 
609: 
609: 
609: extern int fwide (__FILE *__fp, int __mode) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fwprintf (__FILE *__restrict __stream,
609:        const wchar_t *__restrict __format, ...)
609:                                                            ;
609: 
609: 
609: 
609: 
609: extern int wprintf (const wchar_t *__restrict __format, ...)
609:                                                            ;
609: 
609: extern int swprintf (wchar_t *__restrict __s, size_t __n,
609:        const wchar_t *__restrict __format, ...)
609:      noexcept (true) ;
609: 
609: 
609: 
609: 
609: 
609: extern int vfwprintf (__FILE *__restrict __s,
609:         const wchar_t *__restrict __format,
609:         __gnuc_va_list __arg)
609:                                                            ;
609: 
609: 
609: 
609: 
609: extern int vwprintf (const wchar_t *__restrict __format,
609:        __gnuc_va_list __arg)
609:                                                            ;
609: 
609: 
609: extern int vswprintf (wchar_t *__restrict __s, size_t __n,
609:         const wchar_t *__restrict __format,
609:         __gnuc_va_list __arg)
609:      noexcept (true) ;
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fwscanf (__FILE *__restrict __stream,
609:       const wchar_t *__restrict __format, ...)
609:                                                           ;
609: 
609: 
609: 
609: 
609: extern int wscanf (const wchar_t *__restrict __format, ...)
609:                                                           ;
609: 
609: extern int swscanf (const wchar_t *__restrict __s,
609:       const wchar_t *__restrict __format, ...)
609:      noexcept (true) ;
609: # 657 "/usr/include/wchar.h" 3 4
609: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf")
609: 
609: 
609:                                                           ;
609: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf")
609: 
609:                                                           ;
609: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_swscanf")
609: 
609: 
609:                                                           ;
609: # 688 "/usr/include/wchar.h" 3 4
609: extern int vfwscanf (__FILE *__restrict __s,
609:        const wchar_t *__restrict __format,
609:        __gnuc_va_list __arg)
609:                                                           ;
609: 
609: 
609: 
609: 
609: extern int vwscanf (const wchar_t *__restrict __format,
609:       __gnuc_va_list __arg)
609:                                                           ;
609: 
609: extern int vswscanf (const wchar_t *__restrict __s,
609:        const wchar_t *__restrict __format,
609:        __gnuc_va_list __arg)
609:      noexcept (true) ;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf")
609: 
609: 
609:                                                           ;
609: extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf")
609: 
609:                                                           ;
609: extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vswscanf")
609: 
609: 
609:                                                           ;
609: # 744 "/usr/include/wchar.h" 3 4
609: extern wint_t fgetwc (__FILE *__stream);
609: extern wint_t getwc (__FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: extern wint_t getwchar (void);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
609: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: extern wint_t putwchar (wchar_t __wc);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
609:    __FILE *__restrict __stream);
609: 
609: 
609: 
609: 
609: 
609: extern int fputws (const wchar_t *__restrict __ws,
609:      __FILE *__restrict __stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
609: # 799 "/usr/include/wchar.h" 3 4
609: extern wint_t getwc_unlocked (__FILE *__stream);
609: extern wint_t getwchar_unlocked (void);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern wint_t fgetwc_unlocked (__FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
609: # 825 "/usr/include/wchar.h" 3 4
609: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
609: extern wint_t putwchar_unlocked (wchar_t __wc);
609: # 835 "/usr/include/wchar.h" 3 4
609: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
609:      __FILE *__restrict __stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fputws_unlocked (const wchar_t *__restrict __ws,
609:        __FILE *__restrict __stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
609:    const wchar_t *__restrict __format,
609:    const struct tm *__restrict __tp) noexcept (true);
609: 
609: 
609: 
609: 
609: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
609:      const wchar_t *__restrict __format,
609:      const struct tm *__restrict __tp,
609:      locale_t __loc) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 3 4
609: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
609:           const wchar_t *__restrict __s2, size_t __n,
609:           size_t __ns1) noexcept (true);
609: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
609:     size_t __n, size_t __ns1) noexcept (true);
609: 
609: 
609: 
609: 
609: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
609:     const wchar_t *__restrict __s2, size_t __n,
609:     size_t __ns1) noexcept (true);
609: 
609: 
609: 
609: 
609: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
609:           size_t __ns) noexcept (true);
609: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
609:          const wchar_t *__restrict __src,
609:          size_t __n) noexcept (true);
609: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
609:          const wchar_t *__restrict __src,
609:          size_t __destlen) noexcept (true);
609: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
609:           const wchar_t *__restrict __src, size_t __n,
609:           size_t __destlen) noexcept (true);
609: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
609:           const wchar_t *__restrict __src, size_t __n,
609:           size_t __destlen) noexcept (true);
609: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
609:          const wchar_t *__restrict __src,
609:          size_t __destlen) noexcept (true);
609: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
609:           const wchar_t *__restrict __src,
609:           size_t __n, size_t __destlen) noexcept (true);
609: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
609:       int __flag, size_t __s_len,
609:       const wchar_t *__restrict __format, ...)
609:      noexcept (true) ;
609: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
609:        int __flag, size_t __s_len,
609:        const wchar_t *__restrict __format,
609:        __gnuc_va_list __arg)
609:      noexcept (true) ;
609: 
609: 
609: 
609: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
609:       const wchar_t *__restrict __format, ...);
609: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
609:      ...);
609: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
609:        const wchar_t *__restrict __format,
609:        __gnuc_va_list __ap);
609: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
609:       __gnuc_va_list __ap);
609: 
609: 
609: 
609: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
609:          __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
609:            int __n, __FILE *__restrict __stream)
609:        __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
609:         mbstate_t *__restrict __p,
609:         size_t __buflen) noexcept (true) __attribute__ ((__warn_unused_result__));
609: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
609:           const char **__restrict __src,
609:           size_t __len, mbstate_t *__restrict __ps,
609:           size_t __dstlen) noexcept (true);
609: extern size_t __wcsrtombs_chk (char *__restrict __dst,
609:           const wchar_t **__restrict __src,
609:           size_t __len, mbstate_t *__restrict __ps,
609:           size_t __dstlen) noexcept (true);
609: 
609: 
609: 
609: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
609:     const char **__restrict __src, size_t __nmc,
609:     size_t __len, mbstate_t *__restrict __ps,
609:     size_t __dstlen) noexcept (true);
609: extern size_t __wcsnrtombs_chk (char *__restrict __dst,
609:     const wchar_t **__restrict __src,
609:     size_t __nwc, size_t __len,
609:     mbstate_t *__restrict __ps, size_t __dstlen)
609:        noexcept (true);
609: # 869 "/usr/include/wchar.h" 2 3 4
609: # 879 "/usr/include/wchar.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
609: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmemcpy")
609: 
609: 
609:             ;
609: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemcpy_chk")
609: 
609: 
609: 
609:      __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer")))
609:             ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
609: 
609:                        ;
609: }
609: 
609: 
609: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true) __asm__ ("" "wmemmove")
609: 
609:                                ;
609: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemmove_chk")
609: 
609: 
609:      __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer")))
609:             ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true)
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemmove_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemmove_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemmove_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
609: 
609:                        ;
609: }
609: 
609: 
609: 
609: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmempcpy")
609: 
609: 
609:                            ;
609: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmempcpy_chk")
609: 
609: 
609: 
609:      __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer")))
609:             ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmempcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmempcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmempcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
609: 
609:                        ;
609: }
609: 
609: 
609: 
609: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true) __asm__ ("" "wmemset")
609:                              ;
609: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) noexcept (true) __asm__ ("" "__wmemset_chk")
609: 
609: 
609:      __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer")))
609:             ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true)
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__s, 0)) && (__builtin_object_size (__s, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t)))))) ? __wmemset_alias (__s, __c, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) ? __wmemset_chk_warn (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t))) : __wmemset_chk (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))))
609: 
609:                      ;
609: }
609: 
609: 
609: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscpy")
609: 
609:                                               ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
609: {
609:   size_t sz = __builtin_object_size (__dest, 2 > 1);
609:   if (sz != (size_t) -1)
609:     return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t));
609:   return __wcscpy_alias (__dest, __src);
609: }
609: 
609: 
609: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcpcpy")
609: 
609:                                               ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
609: {
609:   size_t sz = __builtin_object_size (__dest, 2 > 1);
609:   if (sz != (size_t) -1)
609:     return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t));
609:   return __wcpcpy_alias (__dest, __src);
609: }
609: 
609: 
609: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncpy")
609: 
609: 
609:                           ;
609: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcsncpy_chk")
609: 
609: 
609: 
609:      __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer")))
609:             ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcsncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcsncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcsncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
609: 
609:                           ;
609: }
609: 
609: 
609: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcpncpy")
609: 
609: 
609:                           ;
609: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcpncpy_chk")
609: 
609: 
609: 
609:      __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer")))
609:             ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcpncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcpncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcpncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
609: 
609:                           ;
609: }
609: 
609: 
609: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscat")
609: 
609:                                               ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
609: {
609:   size_t sz = __builtin_object_size (__dest, 2 > 1);
609:   if (sz != (size_t) -1)
609:     return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t));
609:   return __wcscat_alias (__dest, __src);
609: }
609: 
609: 
609: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncat")
609: 
609: 
609:                           ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
609: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
609: 
609: {
609:   size_t sz = __builtin_object_size (__dest, 2 > 1);
609:   if (sz != (size_t) -1)
609:     return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t));
609:   return __wcsncat_alias (__dest, __src, __n);
609: }
609: 
609: 
609: 
609: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true) __asm__ ("" "swprintf")
609: 
609: 
609:              ;
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true)
609: 
609: {
609:   size_t sz = __builtin_object_size (__s, 2 > 1);
609:   if (sz != (size_t) -1 || 2 > 1)
609:     return __swprintf_chk (__s, __n, 2 - 1,
609:       sz / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ());
609:   return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ());
609: }
609: # 230 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
609: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true) __asm__ ("" "vswprintf")
609: 
609: 
609:                                      ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
609: 
609: {
609:   size_t sz = __builtin_object_size (__s, 2 > 1);
609:   if (sz != (size_t) -1 || 2 > 1)
609:     return __vswprintf_chk (__s, __n, 2 - 1,
609:        sz / sizeof (wchar_t), __fmt, __ap);
609:   return __vswprintf_alias (__s, __n, __fmt, __ap);
609: }
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: wprintf (const wchar_t *__restrict __fmt, ...)
609: {
609:   return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
609: {
609:   return __fwprintf_chk (__stream, 2 - 1, __fmt,
609:     __builtin_va_arg_pack ());
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
609: {
609:   return __vwprintf_chk (2 - 1, __fmt, __ap);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: vfwprintf (__FILE *__restrict __stream,
609:     const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
609: {
609:   return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap);
609: }
609: 
609: 
609: 
609: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws")
609: 
609:                                               __attribute__ ((__warn_unused_result__));
609: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk")
609: 
609: 
609:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer")))
609:                                  ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
609: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
609: {
609:   size_t sz = __builtin_object_size (__s, 2 > 1);
609:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
609:     return __fgetws_alias (__s, __n, __stream);
609:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
609:     return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream);
609:   return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream);
609: }
609: 
609: 
609: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked")
609: 
609: 
609:   __attribute__ ((__warn_unused_result__));
609: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk")
609: 
609: 
609: 
609:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer")))
609:                                  ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
609: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
609: {
609:   size_t sz = __builtin_object_size (__s, 2 > 1);
609:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
609:     return __fgetws_unlocked_alias (__s, __n, __stream);
609:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
609:     return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n,
609:            __stream);
609:   return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream);
609: }
609: 
609: 
609: 
609: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcrtomb")
609: 
609:                                                 __attribute__ ((__warn_unused_result__));
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
609: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true)
609: 
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
609:       && 16 > __builtin_object_size (__s, 2 > 1))
609:     return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1));
609:   return __wcrtomb_alias (__s, __wchar, __ps);
609: }
609: 
609: 
609: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsrtowcs")
609: 
609: 
609: 
609:                    ;
609: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsrtowcs_chk")
609: 
609: 
609: 
609: 
609:      __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
609:                         ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
609: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsrtowcs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsrtowcs_chk (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
609: 
609:                                  ;
609: }
609: 
609: 
609: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsrtombs")
609: 
609: 
609: 
609:                    ;
609: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsrtombs_chk")
609: 
609: 
609: 
609: 
609:     __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len")));
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
609: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsrtombs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
609: 
609:                                ;
609: }
609: 
609: 
609: 
609: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsnrtowcs")
609: 
609: 
609: 
609:                     ;
609: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsnrtowcs_chk")
609: 
609: 
609: 
609: 
609:      __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
609:                         ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
609: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
609: 
609:                                         ;
609: }
609: 
609: 
609: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsnrtombs")
609: 
609: 
609: 
609:                                                   ;
609: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsnrtombs_chk")
609: 
609: 
609: 
609: 
609: 
609:      __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len")));
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
609: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
609: 
609: {
609:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
609: 
609:                                       ;
609: }
609: # 880 "/usr/include/wchar.h" 2 3 4
609: 
609: 
609: }
609: # 45 "/usr/include/c++/12/cwchar" 2 3
609: # 62 "/usr/include/c++/12/cwchar" 3
609: namespace std
609: {
609:   using ::mbstate_t;
609: }
609: # 135 "/usr/include/c++/12/cwchar" 3
609: extern "C++"
609: {
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   using ::wint_t;
609: 
609:   using ::btowc;
609:   using ::fgetwc;
609:   using ::fgetws;
609:   using ::fputwc;
609:   using ::fputws;
609:   using ::fwide;
609:   using ::fwprintf;
609:   using ::fwscanf;
609:   using ::getwc;
609:   using ::getwchar;
609:   using ::mbrlen;
609:   using ::mbrtowc;
609:   using ::mbsinit;
609:   using ::mbsrtowcs;
609:   using ::putwc;
609:   using ::putwchar;
609: 
609:   using ::swprintf;
609: 
609:   using ::swscanf;
609:   using ::ungetwc;
609:   using ::vfwprintf;
609: 
609:   using ::vfwscanf;
609: 
609: 
609:   using ::vswprintf;
609: 
609: 
609:   using ::vswscanf;
609: 
609:   using ::vwprintf;
609: 
609:   using ::vwscanf;
609: 
609:   using ::wcrtomb;
609:   using ::wcscat;
609:   using ::wcscmp;
609:   using ::wcscoll;
609:   using ::wcscpy;
609:   using ::wcscspn;
609:   using ::wcsftime;
609:   using ::wcslen;
609:   using ::wcsncat;
609:   using ::wcsncmp;
609:   using ::wcsncpy;
609:   using ::wcsrtombs;
609:   using ::wcsspn;
609:   using ::wcstod;
609: 
609:   using ::wcstof;
609: 
609:   using ::wcstok;
609:   using ::wcstol;
609:   using ::wcstoul;
609:   using ::wcsxfrm;
609:   using ::wctob;
609:   using ::wmemcmp;
609:   using ::wmemcpy;
609:   using ::wmemmove;
609:   using ::wmemset;
609:   using ::wprintf;
609:   using ::wscanf;
609:   using ::wcschr;
609:   using ::wcspbrk;
609:   using ::wcsrchr;
609:   using ::wcsstr;
609:   using ::wmemchr;
609: # 234 "/usr/include/c++/12/cwchar" 3
609: 
609: }
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace __gnu_cxx
609: {
609: 
609: 
609: 
609: 
609: 
609:   using ::wcstold;
609: # 260 "/usr/include/c++/12/cwchar" 3
609:   using ::wcstoll;
609:   using ::wcstoull;
609: 
609: }
609: 
609: namespace std
609: {
609:   using ::__gnu_cxx::wcstold;
609:   using ::__gnu_cxx::wcstoll;
609:   using ::__gnu_cxx::wcstoull;
609: }
609: # 280 "/usr/include/c++/12/cwchar" 3
609: namespace std
609: {
609: 
609:   using std::wcstof;
609: 
609: 
609:   using std::vfwscanf;
609: 
609: 
609:   using std::vswscanf;
609: 
609: 
609:   using std::vwscanf;
609: 
609: 
609: 
609:   using std::wcstold;
609:   using std::wcstoll;
609:   using std::wcstoull;
609: 
609: }
609: # 41 "/usr/include/c++/12/bits/postypes.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 62 "/usr/include/c++/12/bits/postypes.h" 3
609:   typedef long long int streamoff;
609: 
609: 
609: 
609: 
609: 
609:   typedef ptrdiff_t streamsize;
609: # 81 "/usr/include/c++/12/bits/postypes.h" 3
609:   template<typename _StateT>
609:     class fpos
609:     {
609:     private:
609:       streamoff _M_off;
609:       _StateT _M_state;
609: 
609:     public:
609: 
609: 
609: 
609: 
609:       fpos()
609:       : _M_off(0), _M_state() { }
609: # 103 "/usr/include/c++/12/bits/postypes.h" 3
609:       fpos(streamoff __off)
609:       : _M_off(__off), _M_state() { }
609: 
609: 
609:       fpos(const fpos&) = default;
609:       fpos& operator=(const fpos&) = default;
609:       ~fpos() = default;
609: 
609: 
609: 
609:       operator streamoff() const { return _M_off; }
609: 
609: 
609:       void
609:       state(_StateT __st)
609:       { _M_state = __st; }
609: 
609: 
609:       _StateT
609:       state() const
609:       { return _M_state; }
609: 
609: 
609: 
609: 
609: 
609:       fpos&
609:       operator+=(streamoff __off)
609:       {
609:  _M_off += __off;
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609:       fpos&
609:       operator-=(streamoff __off)
609:       {
609:  _M_off -= __off;
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       fpos
609:       operator+(streamoff __off) const
609:       {
609:  fpos __pos(*this);
609:  __pos += __off;
609:  return __pos;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       fpos
609:       operator-(streamoff __off) const
609:       {
609:  fpos __pos(*this);
609:  __pos -= __off;
609:  return __pos;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       streamoff
609:       operator-(const fpos& __other) const
609:       { return _M_off - __other._M_off; }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _StateT>
609:     inline bool
609:     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
609:     { return streamoff(__lhs) == streamoff(__rhs); }
609: 
609:   template<typename _StateT>
609:     inline bool
609:     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
609:     { return streamoff(__lhs) != streamoff(__rhs); }
609: 
609: 
609: 
609: 
609: 
609:   typedef fpos<mbstate_t> streampos;
609: 
609:   typedef fpos<mbstate_t> wstreampos;
609: # 215 "/usr/include/c++/12/bits/postypes.h" 3
609:   typedef fpos<mbstate_t> u16streampos;
609: 
609:   typedef fpos<mbstate_t> u32streampos;
609: 
609: 
609: 
609: }
609: # 40 "/usr/include/c++/12/bits/char_traits.h" 2 3
609: # 1 "/usr/include/c++/12/cwchar" 1 3
609: # 39 "/usr/include/c++/12/cwchar" 3
609:        
609: # 40 "/usr/include/c++/12/cwchar" 3
609: # 41 "/usr/include/c++/12/bits/char_traits.h" 2 3
609: # 53 "/usr/include/c++/12/bits/char_traits.h" 3
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wstringop-overflow"
609: #pragma GCC diagnostic ignored "-Wstringop-overread"
609: #pragma GCC diagnostic ignored "-Warray-bounds"
609: # 72 "/usr/include/c++/12/bits/char_traits.h" 3
609:   template<typename _CharT>
609:     struct _Char_types
609:     {
609:       typedef unsigned long int_type;
609:       typedef std::streampos pos_type;
609:       typedef std::streamoff off_type;
609:       typedef std::mbstate_t state_type;
609:     };
609: # 97 "/usr/include/c++/12/bits/char_traits.h" 3
609:   template<typename _CharT>
609:     struct char_traits
609:     {
609:       typedef _CharT char_type;
609:       typedef typename _Char_types<_CharT>::int_type int_type;
609:       typedef typename _Char_types<_CharT>::pos_type pos_type;
609:       typedef typename _Char_types<_CharT>::off_type off_type;
609:       typedef typename _Char_types<_CharT>::state_type state_type;
609: 
609: 
609: 
609: 
609:       static constexpr void
609:       assign(char_type& __c1, const char_type& __c2)
609:       {
609: 
609: 
609: 
609: 
609: 
609:  __c1 = __c2;
609:       }
609: 
609:       static constexpr bool
609:       eq(const char_type& __c1, const char_type& __c2)
609:       { return __c1 == __c2; }
609: 
609:       static constexpr bool
609:       lt(const char_type& __c1, const char_type& __c2)
609:       { return __c1 < __c2; }
609: 
609:       static constexpr int
609:       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
609: 
609:       static constexpr std::size_t
609:       length(const char_type* __s);
609: 
609:       static constexpr const char_type*
609:       find(const char_type* __s, std::size_t __n, const char_type& __a);
609: 
609:       static char_type*
609:       move(char_type* __s1, const char_type* __s2, std::size_t __n);
609: 
609:       static char_type*
609:       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
609: 
609:       static char_type*
609:       assign(char_type* __s, std::size_t __n, char_type __a);
609: 
609:       static constexpr char_type
609:       to_char_type(const int_type& __c)
609:       { return static_cast<char_type>(__c); }
609: 
609:       static constexpr int_type
609:       to_int_type(const char_type& __c)
609:       { return static_cast<int_type>(__c); }
609: 
609:       static constexpr bool
609:       eq_int_type(const int_type& __c1, const int_type& __c2)
609:       { return __c1 == __c2; }
609: 
609:       static constexpr int_type
609:       eof()
609:       { return static_cast<int_type>(-1); }
609: 
609:       static constexpr int_type
609:       not_eof(const int_type& __c)
609:       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
609:     };
609: 
609:   template<typename _CharT>
609:     constexpr int
609:     char_traits<_CharT>::
609:     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
609:     {
609:       for (std::size_t __i = 0; __i < __n; ++__i)
609:  if (lt(__s1[__i], __s2[__i]))
609:    return -1;
609:  else if (lt(__s2[__i], __s1[__i]))
609:    return 1;
609:       return 0;
609:     }
609: 
609:   template<typename _CharT>
609:     constexpr std::size_t
609:     char_traits<_CharT>::
609:     length(const char_type* __p)
609:     {
609:       std::size_t __i = 0;
609:       while (!eq(__p[__i], char_type()))
609:         ++__i;
609:       return __i;
609:     }
609: 
609:   template<typename _CharT>
609:     constexpr const typename char_traits<_CharT>::char_type*
609:     char_traits<_CharT>::
609:     find(const char_type* __s, std::size_t __n, const char_type& __a)
609:     {
609:       for (std::size_t __i = 0; __i < __n; ++__i)
609:         if (eq(__s[__i], __a))
609:           return __s + __i;
609:       return 0;
609:     }
609: 
609:   template<typename _CharT>
609:    
609:     typename char_traits<_CharT>::char_type*
609:     char_traits<_CharT>::
609:     move(char_type* __s1, const char_type* __s2, std::size_t __n)
609:     {
609:       if (__n == 0)
609:  return __s1;
609: # 248 "/usr/include/c++/12/bits/char_traits.h" 3
609:       __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
609:       return __s1;
609:     }
609: 
609:   template<typename _CharT>
609:    
609:     typename char_traits<_CharT>::char_type*
609:     char_traits<_CharT>::
609:     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
609:     {
609: # 267 "/usr/include/c++/12/bits/char_traits.h" 3
609:       __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
609:       return __s1;
609:     }
609: 
609:   template<typename _CharT>
609:    
609:     typename char_traits<_CharT>::char_type*
609:     char_traits<_CharT>::
609:     assign(char_type* __s, std::size_t __n, char_type __a)
609:     {
609: # 286 "/usr/include/c++/12/bits/char_traits.h" 3
609:       if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
609:  {
609:    unsigned char __c;
609:    __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
609:    __builtin_memset(__s, __c, __n);
609:  }
609:       else
609:  {
609:    for (std::size_t __i = 0; __i < __n; ++__i)
609:      __s[__i] = __a;
609:  }
609:       return __s;
609:     }
609: 
609: 
609: }
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 328 "/usr/include/c++/12/bits/char_traits.h" 3
609:   template<typename _CharT>
609:     struct char_traits : public __gnu_cxx::char_traits<_CharT>
609:     { };
609: 
609: 
609: 
609:   template<>
609:     struct char_traits<char>
609:     {
609:       typedef char char_type;
609:       typedef int int_type;
609:       typedef streampos pos_type;
609:       typedef streamoff off_type;
609:       typedef mbstate_t state_type;
609: 
609: 
609: 
609: 
609:       static constexpr void
609:       assign(char_type& __c1, const char_type& __c2) noexcept
609:       {
609: 
609: 
609: 
609: 
609: 
609:  __c1 = __c2;
609:       }
609: 
609:       static constexpr bool
609:       eq(const char_type& __c1, const char_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr bool
609:       lt(const char_type& __c1, const char_type& __c2) noexcept
609:       {
609: 
609:  return (static_cast<unsigned char>(__c1)
609:   < static_cast<unsigned char>(__c2));
609:       }
609: 
609:       static constexpr int
609:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return 0;
609: 
609:  if (std::__is_constant_evaluated())
609:    {
609:      for (size_t __i = 0; __i < __n; ++__i)
609:        if (lt(__s1[__i], __s2[__i]))
609:   return -1;
609:        else if (lt(__s2[__i], __s1[__i]))
609:   return 1;
609:      return 0;
609:    }
609: 
609:  return __builtin_memcmp(__s1, __s2, __n);
609:       }
609: 
609:       static constexpr size_t
609:       length(const char_type* __s)
609:       {
609: 
609:  if (std::__is_constant_evaluated())
609:    return __gnu_cxx::char_traits<char_type>::length(__s);
609: 
609:  return __builtin_strlen(__s);
609:       }
609: 
609:       static constexpr const char_type*
609:       find(const char_type* __s, size_t __n, const char_type& __a)
609:       {
609:  if (__n == 0)
609:    return 0;
609: 
609:  if (std::__is_constant_evaluated())
609:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
609: 
609:  return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
609:       }
609: 
609:       static char_type*
609:       move(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
609:       }
609: 
609:       static char_type*
609:       copy(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
609:       }
609: 
609:       static char_type*
609:       assign(char_type* __s, size_t __n, char_type __a)
609:       {
609:  if (__n == 0)
609:    return __s;
609: 
609: 
609: 
609: 
609:  return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
609:       }
609: 
609:       static constexpr char_type
609:       to_char_type(const int_type& __c) noexcept
609:       { return static_cast<char_type>(__c); }
609: 
609: 
609: 
609:       static constexpr int_type
609:       to_int_type(const char_type& __c) noexcept
609:       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
609: 
609:       static constexpr bool
609:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr int_type
609:       eof() noexcept
609:       { return static_cast<int_type>(-1); }
609: 
609:       static constexpr int_type
609:       not_eof(const int_type& __c) noexcept
609:       { return (__c == eof()) ? 0 : __c; }
609:   };
609: 
609: 
609: 
609: 
609:   template<>
609:     struct char_traits<wchar_t>
609:     {
609:       typedef wchar_t char_type;
609:       typedef wint_t int_type;
609:       typedef streamoff off_type;
609:       typedef wstreampos pos_type;
609:       typedef mbstate_t state_type;
609: 
609: 
609: 
609: 
609:       static constexpr void
609:       assign(char_type& __c1, const char_type& __c2) noexcept
609:       {
609: 
609: 
609: 
609: 
609: 
609:  __c1 = __c2;
609:       }
609: 
609:       static constexpr bool
609:       eq(const char_type& __c1, const char_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr bool
609:       lt(const char_type& __c1, const char_type& __c2) noexcept
609:       { return __c1 < __c2; }
609: 
609:       static constexpr int
609:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return 0;
609: 
609:  if (std::__is_constant_evaluated())
609:    return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
609: 
609:  return wmemcmp(__s1, __s2, __n);
609:       }
609: 
609:       static constexpr size_t
609:       length(const char_type* __s)
609:       {
609: 
609:  if (std::__is_constant_evaluated())
609:    return __gnu_cxx::char_traits<char_type>::length(__s);
609: 
609:  return wcslen(__s);
609:       }
609: 
609:       static constexpr const char_type*
609:       find(const char_type* __s, size_t __n, const char_type& __a)
609:       {
609:  if (__n == 0)
609:    return 0;
609: 
609:  if (std::__is_constant_evaluated())
609:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
609: 
609:  return wmemchr(__s, __a, __n);
609:       }
609: 
609:       static char_type*
609:       move(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return wmemmove(__s1, __s2, __n);
609:       }
609: 
609:       static char_type*
609:       copy(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return wmemcpy(__s1, __s2, __n);
609:       }
609: 
609:       static char_type*
609:       assign(char_type* __s, size_t __n, char_type __a)
609:       {
609:  if (__n == 0)
609:    return __s;
609: 
609: 
609: 
609: 
609:  return wmemset(__s, __a, __n);
609:       }
609: 
609:       static constexpr char_type
609:       to_char_type(const int_type& __c) noexcept
609:       { return char_type(__c); }
609: 
609:       static constexpr int_type
609:       to_int_type(const char_type& __c) noexcept
609:       { return int_type(__c); }
609: 
609:       static constexpr bool
609:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr int_type
609:       eof() noexcept
609:       { return static_cast<int_type>((0xffffffffu)); }
609: 
609:       static constexpr int_type
609:       not_eof(const int_type& __c) noexcept
609:       { return eq_int_type(__c, eof()) ? 0 : __c; }
609:   };
609: # 726 "/usr/include/c++/12/bits/char_traits.h" 3
609: 
609: }
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/cstdint" 1 3
609: # 32 "/usr/include/c++/12/cstdint" 3
609:        
609: # 33 "/usr/include/c++/12/cstdint" 3
609: # 41 "/usr/include/c++/12/cstdint" 3
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 1 3 4
609: # 9 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 3 4
609: # 1 "/usr/include/stdint.h" 1 3 4
609: # 26 "/usr/include/stdint.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
609: # 27 "/usr/include/stdint.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
609: # 30 "/usr/include/stdint.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 3 4
609: typedef __uint8_t uint8_t;
609: typedef __uint16_t uint16_t;
609: typedef __uint32_t uint32_t;
609: typedef __uint64_t uint64_t;
609: # 38 "/usr/include/stdint.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: typedef __int_least8_t int_least8_t;
609: typedef __int_least16_t int_least16_t;
609: typedef __int_least32_t int_least32_t;
609: typedef __int_least64_t int_least64_t;
609: 
609: 
609: typedef __uint_least8_t uint_least8_t;
609: typedef __uint_least16_t uint_least16_t;
609: typedef __uint_least32_t uint_least32_t;
609: typedef __uint_least64_t uint_least64_t;
609: 
609: 
609: 
609: 
609: 
609: typedef signed char int_fast8_t;
609: 
609: 
609: 
609: 
609: 
609: typedef int int_fast16_t;
609: typedef int int_fast32_t;
609: __extension__
609: typedef long long int int_fast64_t;
609: 
609: 
609: 
609: typedef unsigned char uint_fast8_t;
609: 
609: 
609: 
609: 
609: 
609: typedef unsigned int uint_fast16_t;
609: typedef unsigned int uint_fast32_t;
609: __extension__
609: typedef unsigned long long int uint_fast64_t;
609: # 93 "/usr/include/stdint.h" 3 4
609: typedef int intptr_t;
609: 
609: 
609: typedef unsigned int uintptr_t;
609: 
609: 
609: 
609: 
609: typedef __intmax_t intmax_t;
609: typedef __uintmax_t uintmax_t;
609: # 10 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 2 3 4
609: # 42 "/usr/include/c++/12/cstdint" 2 3
609: 
609: 
609: namespace std
609: {
609: 
609:   using ::int8_t;
609:   using ::int16_t;
609:   using ::int32_t;
609:   using ::int64_t;
609: 
609:   using ::int_fast8_t;
609:   using ::int_fast16_t;
609:   using ::int_fast32_t;
609:   using ::int_fast64_t;
609: 
609:   using ::int_least8_t;
609:   using ::int_least16_t;
609:   using ::int_least32_t;
609:   using ::int_least64_t;
609: 
609:   using ::intmax_t;
609:   using ::intptr_t;
609: 
609:   using ::uint8_t;
609:   using ::uint16_t;
609:   using ::uint32_t;
609:   using ::uint64_t;
609: 
609:   using ::uint_fast8_t;
609:   using ::uint_fast16_t;
609:   using ::uint_fast32_t;
609:   using ::uint_fast64_t;
609: 
609:   using ::uint_least8_t;
609:   using ::uint_least16_t;
609:   using ::uint_least32_t;
609:   using ::uint_least64_t;
609: 
609:   using ::uintmax_t;
609:   using ::uintptr_t;
609: 
609: 
609: 
609: 
609: 
609: }
609: # 732 "/usr/include/c++/12/bits/char_traits.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<>
609:     struct char_traits<char16_t>
609:     {
609:       typedef char16_t char_type;
609: 
609:       typedef uint_least16_t int_type;
609: 
609: 
609: 
609: 
609: 
609:       typedef streamoff off_type;
609:       typedef u16streampos pos_type;
609:       typedef mbstate_t state_type;
609: 
609: 
609: 
609: 
609:       static constexpr void
609:       assign(char_type& __c1, const char_type& __c2) noexcept
609:       {
609: 
609: 
609: 
609: 
609: 
609:  __c1 = __c2;
609:       }
609: 
609:       static constexpr bool
609:       eq(const char_type& __c1, const char_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr bool
609:       lt(const char_type& __c1, const char_type& __c2) noexcept
609:       { return __c1 < __c2; }
609: 
609:       static constexpr int
609:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  for (size_t __i = 0; __i < __n; ++__i)
609:    if (lt(__s1[__i], __s2[__i]))
609:      return -1;
609:    else if (lt(__s2[__i], __s1[__i]))
609:      return 1;
609:  return 0;
609:       }
609: 
609:       static constexpr size_t
609:       length(const char_type* __s)
609:       {
609:  size_t __i = 0;
609:  while (!eq(__s[__i], char_type()))
609:    ++__i;
609:  return __i;
609:       }
609: 
609:       static constexpr const char_type*
609:       find(const char_type* __s, size_t __n, const char_type& __a)
609:       {
609:  for (size_t __i = 0; __i < __n; ++__i)
609:    if (eq(__s[__i], __a))
609:      return __s + __i;
609:  return 0;
609:       }
609: 
609:       static char_type*
609:       move(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return (static_cast<char_type*>
609:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
609:       }
609: 
609:       static char_type*
609:       copy(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return (static_cast<char_type*>
609:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
609:       }
609: 
609:       static char_type*
609:       assign(char_type* __s, size_t __n, char_type __a)
609:       {
609:  for (size_t __i = 0; __i < __n; ++__i)
609:    assign(__s[__i], __a);
609:  return __s;
609:       }
609: 
609:       static constexpr char_type
609:       to_char_type(const int_type& __c) noexcept
609:       { return char_type(__c); }
609: 
609:       static constexpr int_type
609:       to_int_type(const char_type& __c) noexcept
609:       { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
609: 
609:       static constexpr bool
609:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr int_type
609:       eof() noexcept
609:       { return static_cast<int_type>(-1); }
609: 
609:       static constexpr int_type
609:       not_eof(const int_type& __c) noexcept
609:       { return eq_int_type(__c, eof()) ? 0 : __c; }
609:     };
609: 
609:   template<>
609:     struct char_traits<char32_t>
609:     {
609:       typedef char32_t char_type;
609: 
609:       typedef uint_least32_t int_type;
609: 
609: 
609: 
609: 
609: 
609:       typedef streamoff off_type;
609:       typedef u32streampos pos_type;
609:       typedef mbstate_t state_type;
609: 
609: 
609: 
609: 
609:       static constexpr void
609:       assign(char_type& __c1, const char_type& __c2) noexcept
609:       {
609: 
609: 
609: 
609: 
609: 
609:  __c1 = __c2;
609:       }
609: 
609:       static constexpr bool
609:       eq(const char_type& __c1, const char_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr bool
609:       lt(const char_type& __c1, const char_type& __c2) noexcept
609:       { return __c1 < __c2; }
609: 
609:       static constexpr int
609:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  for (size_t __i = 0; __i < __n; ++__i)
609:    if (lt(__s1[__i], __s2[__i]))
609:      return -1;
609:    else if (lt(__s2[__i], __s1[__i]))
609:      return 1;
609:  return 0;
609:       }
609: 
609:       static constexpr size_t
609:       length(const char_type* __s)
609:       {
609:  size_t __i = 0;
609:  while (!eq(__s[__i], char_type()))
609:    ++__i;
609:  return __i;
609:       }
609: 
609:       static constexpr const char_type*
609:       find(const char_type* __s, size_t __n, const char_type& __a)
609:       {
609:  for (size_t __i = 0; __i < __n; ++__i)
609:    if (eq(__s[__i], __a))
609:      return __s + __i;
609:  return 0;
609:       }
609: 
609:       static char_type*
609:       move(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return (static_cast<char_type*>
609:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
609:       }
609: 
609:       static char_type*
609:       copy(char_type* __s1, const char_type* __s2, size_t __n)
609:       {
609:  if (__n == 0)
609:    return __s1;
609: 
609: 
609: 
609: 
609:  return (static_cast<char_type*>
609:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
609:       }
609: 
609:       static char_type*
609:       assign(char_type* __s, size_t __n, char_type __a)
609:       {
609:  for (size_t __i = 0; __i < __n; ++__i)
609:    assign(__s[__i], __a);
609:  return __s;
609:       }
609: 
609:       static constexpr char_type
609:       to_char_type(const int_type& __c) noexcept
609:       { return char_type(__c); }
609: 
609:       static constexpr int_type
609:       to_int_type(const char_type& __c) noexcept
609:       { return int_type(__c); }
609: 
609:       static constexpr bool
609:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
609:       { return __c1 == __c2; }
609: 
609:       static constexpr int_type
609:       eof() noexcept
609:       { return static_cast<int_type>(-1); }
609: 
609:       static constexpr int_type
609:       not_eof(const int_type& __c) noexcept
609:       { return eq_int_type(__c, eof()) ? 0 : __c; }
609:     };
609: # 998 "/usr/include/c++/12/bits/char_traits.h" 3
609: #pragma GCC diagnostic pop
609: 
609: 
609: }
609: # 41 "/usr/include/c++/12/string" 2 3
609: # 1 "/usr/include/c++/12/bits/allocator.h" 1 3
609: # 46 "/usr/include/c++/12/bits/allocator.h" 3
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 1 3
609: # 33 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
609: # 1 "/usr/include/c++/12/bits/new_allocator.h" 1 3
609: # 41 "/usr/include/c++/12/bits/new_allocator.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 55 "/usr/include/c++/12/bits/new_allocator.h" 3
609:   template<typename _Tp>
609:     class __new_allocator
609:     {
609:     public:
609:       typedef _Tp value_type;
609:       typedef std::size_t size_type;
609:       typedef std::ptrdiff_t difference_type;
609: 
609:       typedef _Tp* pointer;
609:       typedef const _Tp* const_pointer;
609:       typedef _Tp& reference;
609:       typedef const _Tp& const_reference;
609: 
609:       template<typename _Tp1>
609:  struct rebind
609:  { typedef __new_allocator<_Tp1> other; };
609: 
609: 
609: 
609: 
609: 
609:       typedef std::true_type propagate_on_container_move_assignment;
609: 
609: 
609:      
609:       __new_allocator() noexcept { }
609: 
609:      
609:       __new_allocator(const __new_allocator&) noexcept { }
609: 
609:       template<typename _Tp1>
609: 
609:  __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
609: 
609: 
609:       ~__new_allocator() noexcept { }
609: 
609:       pointer
609:       address(reference __x) const noexcept
609:       { return std::__addressof(__x); }
609: 
609:       const_pointer
609:       address(const_reference __x) const noexcept
609:       { return std::__addressof(__x); }
609: # 111 "/usr/include/c++/12/bits/new_allocator.h" 3
609:       [[__nodiscard__]] _Tp*
609:       allocate(size_type __n, const void* = static_cast<const void*>(0))
609:       {
609: 
609: 
609: 
609:  static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
609: 
609: 
609:  if (__builtin_expect(__n > this->_M_max_size(), false))
609:    {
609: 
609: 
609:      if (__n > (std::size_t(-1) / sizeof(_Tp)))
609:        std::__throw_bad_array_new_length();
609:      std::__throw_bad_alloc();
609:    }
609: 
609: 
609:  if (alignof(_Tp) > 8)
609:    {
609:      std::align_val_t __al = std::align_val_t(alignof(_Tp));
609:      return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp),
609:           __al));
609:    }
609: 
609:  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
609:       }
609: 
609: 
609:       void
609:       deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
609:       {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:  if (alignof(_Tp) > 8)
609:    {
609:      ::operator delete((__p), (__n) * sizeof(_Tp),
609:          std::align_val_t(alignof(_Tp)));
609:      return;
609:    }
609: 
609:  ::operator delete((__p), (__n) * sizeof(_Tp));
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       size_type
609:       max_size() const noexcept
609:       { return _M_max_size(); }
609: 
609: 
609:       template<typename _Up, typename... _Args>
609:  void
609:  construct(_Up* __p, _Args&&... __args)
609:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
609:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
609: 
609:       template<typename _Up>
609:  void
609:  destroy(_Up* __p)
609:  noexcept(std::is_nothrow_destructible<_Up>::value)
609:  { __p->~_Up(); }
609: # 194 "/usr/include/c++/12/bits/new_allocator.h" 3
609:       template<typename _Up>
609:  friend bool
609:  operator==(const __new_allocator&, const __new_allocator<_Up>&)
609:  noexcept
609:  { return true; }
609: 
609: 
609:       template<typename _Up>
609:  friend bool
609:  operator!=(const __new_allocator&, const __new_allocator<_Up>&)
609:  noexcept
609:  { return false; }
609: 
609: 
609:     private:
609:       constexpr size_type
609:       _M_max_size() const noexcept
609:       {
609: 
609:  return std::size_t(0x7fffffff) / sizeof(_Tp);
609: 
609: 
609: 
609:       }
609:     };
609: 
609: 
609: }
609: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 2 3
609: 
609: 
609: namespace std
609: {
609: # 46 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
609:   template<typename _Tp>
609:     using __allocator_base = __new_allocator<_Tp>;
609: }
609: # 47 "/usr/include/c++/12/bits/allocator.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 71 "/usr/include/c++/12/bits/allocator.h" 3
609:   template<>
609:     class allocator<void>
609:     {
609:     public:
609:       typedef void value_type;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609: 
609: 
609: 
609:       typedef void* pointer;
609:       typedef const void* const_pointer;
609: 
609:       template<typename _Tp1>
609:  struct rebind
609:  { typedef allocator<_Tp1> other; };
609: 
609: 
609: 
609: 
609: 
609:       using propagate_on_container_move_assignment = true_type;
609: 
609:       using is_always_equal
609: 
609:  = true_type;
609: # 113 "/usr/include/c++/12/bits/allocator.h" 3
609:     };
609: # 123 "/usr/include/c++/12/bits/allocator.h" 3
609:   template<typename _Tp>
609:     class allocator : public __allocator_base<_Tp>
609:     {
609:     public:
609:       typedef _Tp value_type;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609: 
609: 
609: 
609:       typedef _Tp* pointer;
609:       typedef const _Tp* const_pointer;
609:       typedef _Tp& reference;
609:       typedef const _Tp& const_reference;
609: 
609:       template<typename _Tp1>
609:  struct rebind
609:  { typedef allocator<_Tp1> other; };
609: 
609: 
609: 
609: 
609: 
609:       using propagate_on_container_move_assignment = true_type;
609: 
609:       using is_always_equal
609: 
609:  = true_type;
609: 
609: 
609: 
609: 
609:      
609:       allocator() noexcept { }
609: 
609:      
609:       allocator(const allocator& __a) noexcept
609:       : __allocator_base<_Tp>(__a) { }
609: 
609: 
609: 
609:       allocator& operator=(const allocator&) = default;
609: 
609: 
609:       template<typename _Tp1>
609: 
609:  allocator(const allocator<_Tp1>&) noexcept { }
609: 
609: 
609: 
609: 
609:       ~allocator() noexcept { }
609: # 204 "/usr/include/c++/12/bits/allocator.h" 3
609:       friend bool
609:       operator==(const allocator&, const allocator&) noexcept
609:       { return true; }
609: 
609: 
609:       friend bool
609:       operator!=(const allocator&, const allocator&) noexcept
609:       { return false; }
609: 
609: 
609: 
609:     };
609: 
609:   template<typename _T1, typename _T2>
609:     inline bool
609:     operator==(const allocator<_T1>&, const allocator<_T2>&)
609:     noexcept
609:     { return true; }
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     inline bool
609:     operator!=(const allocator<_T1>&, const allocator<_T2>&)
609:     noexcept
609:     { return false; }
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     class allocator<const _Tp>
609:     {
609:     public:
609:       typedef _Tp value_type;
609:       template<typename _Up> allocator(const allocator<_Up>&) { }
609:     };
609: 
609:   template<typename _Tp>
609:     class allocator<volatile _Tp>
609:     {
609:     public:
609:       typedef _Tp value_type;
609:       template<typename _Up> allocator(const allocator<_Up>&) { }
609:     };
609: 
609:   template<typename _Tp>
609:     class allocator<const volatile _Tp>
609:     {
609:     public:
609:       typedef _Tp value_type;
609:       template<typename _Up> allocator(const allocator<_Up>&) { }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   extern template class allocator<char>;
609:   extern template class allocator<wchar_t>;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Alloc, bool = __is_empty(_Alloc)>
609:     struct __alloc_swap
609:     { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
609: 
609:   template<typename _Alloc>
609:     struct __alloc_swap<_Alloc, false>
609:     {
609:       static void
609:       _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
609:       {
609: 
609:  if (__one != __two)
609:    swap(__one, __two);
609:       }
609:     };
609: 
609: 
609:   template<typename _Alloc, bool = __is_empty(_Alloc)>
609:     struct __alloc_neq
609:     {
609:       static bool
609:       _S_do_it(const _Alloc&, const _Alloc&)
609:       { return false; }
609:     };
609: 
609:   template<typename _Alloc>
609:     struct __alloc_neq<_Alloc, false>
609:     {
609:       static bool
609:       _S_do_it(const _Alloc& __one, const _Alloc& __two)
609:       { return __one != __two; }
609:     };
609: 
609: 
609:   template<typename _Tp, bool
609:     = __or_<is_copy_constructible<typename _Tp::value_type>,
609:             is_nothrow_move_constructible<typename _Tp::value_type>>::value>
609:     struct __shrink_to_fit_aux
609:     { static bool _S_do_it(_Tp&) noexcept { return false; } };
609: 
609:   template<typename _Tp>
609:     struct __shrink_to_fit_aux<_Tp, true>
609:     {
609:      
609:       static bool
609:       _S_do_it(_Tp& __c) noexcept
609:       {
609: 
609:  try
609:    {
609:      _Tp(__make_move_if_noexcept_iterator(__c.begin()),
609:   __make_move_if_noexcept_iterator(__c.end()),
609:   __c.get_allocator()).swap(__c);
609:      return true;
609:    }
609:  catch(...)
609:    { return false; }
609: 
609: 
609: 
609:       }
609:     };
609: 
609: 
609: 
609: }
609: # 42 "/usr/include/c++/12/string" 2 3
609: 
609: # 1 "/usr/include/c++/12/bits/localefwd.h" 1 3
609: # 37 "/usr/include/c++/12/bits/localefwd.h" 3
609:        
609: # 38 "/usr/include/c++/12/bits/localefwd.h" 3
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 1 3
609: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
609:        
609: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
609: 
609: # 1 "/usr/include/c++/12/clocale" 1 3
609: # 39 "/usr/include/c++/12/clocale" 3
609:        
609: # 40 "/usr/include/c++/12/clocale" 3
609: 
609: 
609: # 1 "/usr/include/locale.h" 1 3 4
609: # 28 "/usr/include/locale.h" 3 4
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 29 "/usr/include/locale.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/locale.h" 1 3 4
609: # 30 "/usr/include/locale.h" 2 3 4
609: 
609: extern "C" {
609: # 51 "/usr/include/locale.h" 3 4
609: struct lconv
609: {
609: 
609: 
609:   char *decimal_point;
609:   char *thousands_sep;
609: 
609: 
609: 
609: 
609: 
609:   char *grouping;
609: 
609: 
609: 
609: 
609: 
609:   char *int_curr_symbol;
609:   char *currency_symbol;
609:   char *mon_decimal_point;
609:   char *mon_thousands_sep;
609:   char *mon_grouping;
609:   char *positive_sign;
609:   char *negative_sign;
609:   char int_frac_digits;
609:   char frac_digits;
609: 
609:   char p_cs_precedes;
609: 
609:   char p_sep_by_space;
609: 
609:   char n_cs_precedes;
609: 
609:   char n_sep_by_space;
609: 
609: 
609: 
609: 
609: 
609: 
609:   char p_sign_posn;
609:   char n_sign_posn;
609: 
609: 
609:   char int_p_cs_precedes;
609: 
609:   char int_p_sep_by_space;
609: 
609:   char int_n_cs_precedes;
609: 
609:   char int_n_sep_by_space;
609: 
609: 
609: 
609: 
609: 
609: 
609:   char int_p_sign_posn;
609:   char int_n_sign_posn;
609: # 118 "/usr/include/locale.h" 3 4
609: };
609: 
609: 
609: 
609: extern char *setlocale (int __category, const char *__locale) noexcept (true);
609: 
609: 
609: extern struct lconv *localeconv (void) noexcept (true);
609: # 141 "/usr/include/locale.h" 3 4
609: extern locale_t newlocale (int __category_mask, const char *__locale,
609:       locale_t __base) noexcept (true);
609: # 176 "/usr/include/locale.h" 3 4
609: extern locale_t duplocale (locale_t __dataset) noexcept (true);
609: 
609: 
609: 
609: extern void freelocale (locale_t __dataset) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern locale_t uselocale (locale_t __dataset) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 43 "/usr/include/c++/12/clocale" 2 3
609: # 51 "/usr/include/c++/12/clocale" 3
609: namespace std
609: {
609:   using ::lconv;
609:   using ::setlocale;
609:   using ::localeconv;
609: }
609: # 42 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   extern "C" __typeof(uselocale) __uselocale;
609: 
609: 
609: }
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   typedef __locale_t __c_locale;
609: # 73 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
609:   inline int
609:   __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
609:      char* __out,
609:      const int __size __attribute__ ((__unused__)),
609:      const char* __fmt, ...)
609:   {
609: 
609:     __c_locale __old = __gnu_cxx::__uselocale(__cloc);
609: # 93 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
609:     __builtin_va_list __args;
609:     __builtin_va_start(__args, __fmt);
609: 
609: 
609:     const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
609: 
609: 
609: 
609: 
609:     __builtin_va_end(__args);
609: 
609: 
609:     __gnu_cxx::__uselocale(__old);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     return __ret;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 41 "/usr/include/c++/12/bits/localefwd.h" 2 3
609: # 1 "/usr/include/c++/12/iosfwd" 1 3
609: # 36 "/usr/include/c++/12/iosfwd" 3
609:        
609: # 37 "/usr/include/c++/12/iosfwd" 3
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 74 "/usr/include/c++/12/iosfwd" 3
609:   class ios_base;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_ios;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_streambuf;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_istream;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_ostream;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_iostream;
609: 
609: 
609: namespace __cxx11 {
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
609:      typename _Alloc = allocator<_CharT> >
609:     class basic_stringbuf;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
609:     typename _Alloc = allocator<_CharT> >
609:     class basic_istringstream;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
609:     typename _Alloc = allocator<_CharT> >
609:     class basic_ostringstream;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
609:     typename _Alloc = allocator<_CharT> >
609:     class basic_stringstream;
609: 
609: }
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_filebuf;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_ifstream;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_ofstream;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class basic_fstream;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class istreambuf_iterator;
609: 
609:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
609:     class ostreambuf_iterator;
609: 
609: 
609: 
609:   typedef basic_ios<char> ios;
609: 
609: 
609:   typedef basic_streambuf<char> streambuf;
609: 
609: 
609:   typedef basic_istream<char> istream;
609: 
609: 
609:   typedef basic_ostream<char> ostream;
609: 
609: 
609:   typedef basic_iostream<char> iostream;
609: 
609: 
609:   typedef basic_stringbuf<char> stringbuf;
609: 
609: 
609:   typedef basic_istringstream<char> istringstream;
609: 
609: 
609:   typedef basic_ostringstream<char> ostringstream;
609: 
609: 
609:   typedef basic_stringstream<char> stringstream;
609: 
609: 
609:   typedef basic_filebuf<char> filebuf;
609: 
609: 
609:   typedef basic_ifstream<char> ifstream;
609: 
609: 
609:   typedef basic_ofstream<char> ofstream;
609: 
609: 
609:   typedef basic_fstream<char> fstream;
609: 
609: 
609: 
609:   typedef basic_ios<wchar_t> wios;
609: 
609: 
609:   typedef basic_streambuf<wchar_t> wstreambuf;
609: 
609: 
609:   typedef basic_istream<wchar_t> wistream;
609: 
609: 
609:   typedef basic_ostream<wchar_t> wostream;
609: 
609: 
609:   typedef basic_iostream<wchar_t> wiostream;
609: 
609: 
609:   typedef basic_stringbuf<wchar_t> wstringbuf;
609: 
609: 
609:   typedef basic_istringstream<wchar_t> wistringstream;
609: 
609: 
609:   typedef basic_ostringstream<wchar_t> wostringstream;
609: 
609: 
609:   typedef basic_stringstream<wchar_t> wstringstream;
609: 
609: 
609:   typedef basic_filebuf<wchar_t> wfilebuf;
609: 
609: 
609:   typedef basic_ifstream<wchar_t> wifstream;
609: 
609: 
609:   typedef basic_ofstream<wchar_t> wofstream;
609: 
609: 
609:   typedef basic_fstream<wchar_t> wfstream;
609: # 253 "/usr/include/c++/12/iosfwd" 3
609: 
609: }
609: # 42 "/usr/include/c++/12/bits/localefwd.h" 2 3
609: # 1 "/usr/include/c++/12/cctype" 1 3
609: # 39 "/usr/include/c++/12/cctype" 3
609:        
609: # 40 "/usr/include/c++/12/cctype" 3
609: 
609: 
609: # 1 "/usr/include/ctype.h" 1 3 4
609: # 28 "/usr/include/ctype.h" 3 4
609: extern "C" {
609: # 46 "/usr/include/ctype.h" 3 4
609: enum
609: {
609:   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
609:   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
609:   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
609:   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
609:   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
609:   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
609:   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
609:   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
609:   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
609:   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
609:   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
609:   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
609: };
609: # 79 "/usr/include/ctype.h" 3 4
609: extern const unsigned short int **__ctype_b_loc (void)
609:      noexcept (true) __attribute__ ((__const__));
609: extern const __int32_t **__ctype_tolower_loc (void)
609:      noexcept (true) __attribute__ ((__const__));
609: extern const __int32_t **__ctype_toupper_loc (void)
609:      noexcept (true) __attribute__ ((__const__));
609: # 108 "/usr/include/ctype.h" 3 4
609: extern int isalnum (int) noexcept (true);
609: extern int isalpha (int) noexcept (true);
609: extern int iscntrl (int) noexcept (true);
609: extern int isdigit (int) noexcept (true);
609: extern int islower (int) noexcept (true);
609: extern int isgraph (int) noexcept (true);
609: extern int isprint (int) noexcept (true);
609: extern int ispunct (int) noexcept (true);
609: extern int isspace (int) noexcept (true);
609: extern int isupper (int) noexcept (true);
609: extern int isxdigit (int) noexcept (true);
609: 
609: 
609: 
609: extern int tolower (int __c) noexcept (true);
609: 
609: 
609: extern int toupper (int __c) noexcept (true);
609: 
609: 
609: 
609: 
609: extern int isblank (int) noexcept (true);
609: 
609: 
609: 
609: 
609: extern int isctype (int __c, int __mask) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int isascii (int __c) noexcept (true);
609: 
609: 
609: 
609: extern int toascii (int __c) noexcept (true);
609: 
609: 
609: 
609: extern int _toupper (int) noexcept (true);
609: extern int _tolower (int) noexcept (true);
609: # 251 "/usr/include/ctype.h" 3 4
609: extern int isalnum_l (int, locale_t) noexcept (true);
609: extern int isalpha_l (int, locale_t) noexcept (true);
609: extern int iscntrl_l (int, locale_t) noexcept (true);
609: extern int isdigit_l (int, locale_t) noexcept (true);
609: extern int islower_l (int, locale_t) noexcept (true);
609: extern int isgraph_l (int, locale_t) noexcept (true);
609: extern int isprint_l (int, locale_t) noexcept (true);
609: extern int ispunct_l (int, locale_t) noexcept (true);
609: extern int isspace_l (int, locale_t) noexcept (true);
609: extern int isupper_l (int, locale_t) noexcept (true);
609: extern int isxdigit_l (int, locale_t) noexcept (true);
609: 
609: extern int isblank_l (int, locale_t) noexcept (true);
609: 
609: 
609: 
609: extern int __tolower_l (int __c, locale_t __l) noexcept (true);
609: extern int tolower_l (int __c, locale_t __l) noexcept (true);
609: 
609: 
609: extern int __toupper_l (int __c, locale_t __l) noexcept (true);
609: extern int toupper_l (int __c, locale_t __l) noexcept (true);
609: # 327 "/usr/include/ctype.h" 3 4
609: }
609: # 43 "/usr/include/c++/12/cctype" 2 3
609: # 62 "/usr/include/c++/12/cctype" 3
609: namespace std
609: {
609:   using ::isalnum;
609:   using ::isalpha;
609:   using ::iscntrl;
609:   using ::isdigit;
609:   using ::isgraph;
609:   using ::islower;
609:   using ::isprint;
609:   using ::ispunct;
609:   using ::isspace;
609:   using ::isupper;
609:   using ::isxdigit;
609:   using ::tolower;
609:   using ::toupper;
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std
609: {
609:   using ::isblank;
609: }
609: # 43 "/usr/include/c++/12/bits/localefwd.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 55 "/usr/include/c++/12/bits/localefwd.h" 3
609:   class locale;
609: 
609:   template<typename _Facet>
609:     bool
609:     has_facet(const locale&) throw();
609: 
609:   template<typename _Facet>
609:     const _Facet&
609:     use_facet(const locale&);
609: 
609: 
609:   template<typename _CharT>
609:     bool
609:     isspace(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     isprint(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     iscntrl(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     isupper(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     islower(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     isalpha(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     isdigit(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     ispunct(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     isxdigit(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     isalnum(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     bool
609:     isgraph(_CharT, const locale&);
609: 
609: 
609:   template<typename _CharT>
609:     bool
609:     isblank(_CharT, const locale&);
609: 
609: 
609:   template<typename _CharT>
609:     _CharT
609:     toupper(_CharT, const locale&);
609: 
609:   template<typename _CharT>
609:     _CharT
609:     tolower(_CharT, const locale&);
609: 
609: 
609:   struct ctype_base;
609:   template<typename _CharT>
609:     class ctype;
609:   template<> class ctype<char>;
609: 
609:   template<> class ctype<wchar_t>;
609: 
609:   template<typename _CharT>
609:     class ctype_byname;
609: 
609: 
609:   class codecvt_base;
609:   template<typename _InternT, typename _ExternT, typename _StateT>
609:     class codecvt;
609:   template<> class codecvt<char, char, mbstate_t>;
609: 
609:   template<> class codecvt<wchar_t, char, mbstate_t>;
609: 
609: 
609:   template<> class codecvt<char16_t, char, mbstate_t>;
609:   template<> class codecvt<char32_t, char, mbstate_t>;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _InternT, typename _ExternT, typename _StateT>
609:     class codecvt_byname;
609: 
609: 
609: 
609:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
609:     class num_get;
609:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
609:     class num_put;
609: 
609: namespace __cxx11 {
609:   template<typename _CharT> class numpunct;
609:   template<typename _CharT> class numpunct_byname;
609: }
609: 
609: namespace __cxx11 {
609: 
609:   template<typename _CharT>
609:     class collate;
609:   template<typename _CharT>
609:     class collate_byname;
609: }
609: 
609: 
609:   class time_base;
609: namespace __cxx11 {
609:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
609:     class time_get;
609:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
609:     class time_get_byname;
609: }
609:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
609:     class time_put;
609:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
609:     class time_put_byname;
609: 
609: 
609:   class money_base;
609: namespace __cxx11 {
609:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
609:     class money_get;
609:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
609:     class money_put;
609: }
609: namespace __cxx11 {
609:   template<typename _CharT, bool _Intl = false>
609:     class moneypunct;
609:   template<typename _CharT, bool _Intl = false>
609:     class moneypunct_byname;
609: }
609: 
609: 
609:   struct messages_base;
609: namespace __cxx11 {
609:   template<typename _CharT>
609:     class messages;
609:   template<typename _CharT>
609:     class messages_byname;
609: }
609: 
609: 
609: }
609: # 44 "/usr/include/c++/12/string" 2 3
609: # 1 "/usr/include/c++/12/bits/ostream_insert.h" 1 3
609: # 33 "/usr/include/c++/12/bits/ostream_insert.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/ostream_insert.h" 3
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/cxxabi_forced.h" 1 3
609: # 34 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
609:        
609: # 35 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
609: 
609: #pragma GCC visibility push(default)
609: 
609: 
609: namespace __cxxabiv1
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   class __forced_unwind
609:   {
609:     virtual ~__forced_unwind() throw();
609: 
609: 
609:     virtual void __pure_dummy() = 0;
609:   };
609: }
609: 
609: 
609: #pragma GCC visibility pop
609: # 37 "/usr/include/c++/12/bits/ostream_insert.h" 2 3
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     inline void
609:     __ostream_write(basic_ostream<_CharT, _Traits>& __out,
609:       const _CharT* __s, streamsize __n)
609:     {
609:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
609:       typedef typename __ostream_type::ios_base __ios_base;
609: 
609:       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
609:       if (__put != __n)
609:  __out.setstate(__ios_base::badbit);
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     inline void
609:     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
609:     {
609:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
609:       typedef typename __ostream_type::ios_base __ios_base;
609: 
609:       const _CharT __c = __out.fill();
609:       for (; __n > 0; --__n)
609:  {
609:    const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
609:    if (_Traits::eq_int_type(__put, _Traits::eof()))
609:      {
609:        __out.setstate(__ios_base::badbit);
609:        break;
609:      }
609:  }
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     basic_ostream<_CharT, _Traits>&
609:     __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
609:        const _CharT* __s, streamsize __n)
609:     {
609:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
609:       typedef typename __ostream_type::ios_base __ios_base;
609: 
609:       typename __ostream_type::sentry __cerb(__out);
609:       if (__cerb)
609:  {
609:    try
609:      {
609:        const streamsize __w = __out.width();
609:        if (__w > __n)
609:   {
609:     const bool __left = ((__out.flags()
609:      & __ios_base::adjustfield)
609:            == __ios_base::left);
609:     if (!__left)
609:       __ostream_fill(__out, __w - __n);
609:     if (__out.good())
609:       __ostream_write(__out, __s, __n);
609:     if (__left && __out.good())
609:       __ostream_fill(__out, __w - __n);
609:   }
609:        else
609:   __ostream_write(__out, __s, __n);
609:        __out.width(0);
609:      }
609:    catch(__cxxabiv1::__forced_unwind&)
609:      {
609:        __out._M_setstate(__ios_base::badbit);
609:        throw;
609:      }
609:    catch(...)
609:      { __out._M_setstate(__ios_base::badbit); }
609:  }
609:       return __out;
609:     }
609: 
609: 
609: 
609: 
609:   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
609: 
609: 
609:   extern template wostream& __ostream_insert(wostream&, const wchar_t*,
609:           streamsize);
609: 
609: 
609: 
609: 
609: }
609: # 45 "/usr/include/c++/12/string" 2 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/stl_function.h" 1 3
609: # 63 "/usr/include/c++/12/bits/stl_function.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 116 "/usr/include/c++/12/bits/stl_function.h" 3
609:   template<typename _Arg, typename _Result>
609:     struct unary_function
609:     {
609: 
609:       typedef _Arg argument_type;
609: 
609: 
609:       typedef _Result result_type;
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Arg1, typename _Arg2, typename _Result>
609:     struct binary_function
609:     {
609: 
609:       typedef _Arg1 first_argument_type;
609: 
609: 
609:       typedef _Arg2 second_argument_type;
609: 
609: 
609:       typedef _Result result_type;
609:     } __attribute__ ((__deprecated__));
609: # 157 "/usr/include/c++/12/bits/stl_function.h" 3
609:   struct __is_transparent;
609: 
609:   template<typename _Tp = void>
609:     struct plus;
609: 
609:   template<typename _Tp = void>
609:     struct minus;
609: 
609:   template<typename _Tp = void>
609:     struct multiplies;
609: 
609:   template<typename _Tp = void>
609:     struct divides;
609: 
609:   template<typename _Tp = void>
609:     struct modulus;
609: 
609:   template<typename _Tp = void>
609:     struct negate;
609: 
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609:   template<typename _Tp>
609:     struct plus : public binary_function<_Tp, _Tp, _Tp>
609:     {
609: 
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x + __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct minus : public binary_function<_Tp, _Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x - __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x * __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct divides : public binary_function<_Tp, _Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x / __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct modulus : public binary_function<_Tp, _Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x % __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct negate : public unary_function<_Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x) const
609:       { return -__x; }
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct plus<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct minus<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct multiplies<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct divides<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct modulus<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct negate<void>
609:     {
609:       template <typename _Tp>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t) const
609:  noexcept(noexcept(-std::forward<_Tp>(__t)))
609:  -> decltype(-std::forward<_Tp>(__t))
609:  { return -std::forward<_Tp>(__t); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: # 349 "/usr/include/c++/12/bits/stl_function.h" 3
609:   template<typename _Tp = void>
609:     struct equal_to;
609: 
609:   template<typename _Tp = void>
609:     struct not_equal_to;
609: 
609:   template<typename _Tp = void>
609:     struct greater;
609: 
609:   template<typename _Tp = void>
609:     struct less;
609: 
609:   template<typename _Tp = void>
609:     struct greater_equal;
609: 
609:   template<typename _Tp = void>
609:     struct less_equal;
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609:   template<typename _Tp>
609:     struct equal_to : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x == __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x != __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct greater : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x > __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct less : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x < __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct greater_equal : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x >= __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct less_equal : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x <= __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
609:     {
609:       constexpr bool
609:       operator()(_Tp* __x, _Tp* __y) const noexcept
609:       {
609: 
609:  if (std::__is_constant_evaluated())
609:    return __x > __y;
609: 
609:  return (unsigned int)__x > (unsigned int)__y;
609:       }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
609:     {
609:       constexpr bool
609:       operator()(_Tp* __x, _Tp* __y) const noexcept
609:       {
609: 
609:  if (std::__is_constant_evaluated())
609:    return __x < __y;
609: 
609:  return (unsigned int)__x < (unsigned int)__y;
609:       }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
609:     {
609:       constexpr bool
609:       operator()(_Tp* __x, _Tp* __y) const noexcept
609:       {
609: 
609:  if (std::__is_constant_evaluated())
609:    return __x >= __y;
609: 
609:  return (unsigned int)__x >= (unsigned int)__y;
609:       }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
609:     {
609:       constexpr bool
609:       operator()(_Tp* __x, _Tp* __y) const noexcept
609:       {
609: 
609:  if (std::__is_constant_evaluated())
609:    return __x <= __y;
609: 
609:  return (unsigned int)__x <= (unsigned int)__y;
609:       }
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609:   template<>
609:     struct equal_to<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct not_equal_to<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct greater<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
609:  {
609:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
609:    __ptr_cmp<_Tp, _Up>{});
609:  }
609: 
609:       template<typename _Tp, typename _Up>
609:  constexpr bool
609:  operator()(_Tp* __t, _Up* __u) const noexcept
609:  { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
609: 
609:       typedef __is_transparent is_transparent;
609: 
609:     private:
609:       template <typename _Tp, typename _Up>
609:  static constexpr decltype(auto)
609:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
609:  { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
609: 
609:       template <typename _Tp, typename _Up>
609:  static constexpr bool
609:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
609:  {
609:    return greater<const volatile void*>{}(
609:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
609:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
609:  }
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded2 : true_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded2<_Tp, _Up, __void_t<
609:    decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
609:  : false_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded<_Tp, _Up, __void_t<
609:    decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
609:  : false_type { };
609: 
609:       template<typename _Tp, typename _Up>
609:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
609:        is_convertible<_Tp, const volatile void*>,
609:        is_convertible<_Up, const volatile void*>>;
609:     };
609: 
609: 
609:   template<>
609:     struct less<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
609:  {
609:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
609:    __ptr_cmp<_Tp, _Up>{});
609:  }
609: 
609:       template<typename _Tp, typename _Up>
609:  constexpr bool
609:  operator()(_Tp* __t, _Up* __u) const noexcept
609:  { return less<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
609: 
609:       typedef __is_transparent is_transparent;
609: 
609:     private:
609:       template <typename _Tp, typename _Up>
609:  static constexpr decltype(auto)
609:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
609Seq, _Cat>&,
1115:       const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1115:       const _Tp&);
1115: # 988 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline void
1115:     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       std::__fill_a(__first, __last, __value);
1115:     }
1115: 
1115: 
1115:   inline constexpr int
1115:   __size_to_integer(int __n) { return __n; }
1115:   inline constexpr unsigned
1115:   __size_to_integer(unsigned __n) { return __n; }
1115:   inline constexpr long
1115:   __size_to_integer(long __n) { return __n; }
1115:   inline constexpr unsigned long
1115:   __size_to_integer(unsigned long __n) { return __n; }
1115:   inline constexpr long long
1115:   __size_to_integer(long long __n) { return __n; }
1115:   inline constexpr unsigned long long
1115:   __size_to_integer(unsigned long long __n) { return __n; }
1115: # 1040 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   inline constexpr long long
1115:   __size_to_integer(float __n) { return (long long)__n; }
1115:   inline constexpr long long
1115:   __size_to_integer(double __n) { return (long long)__n; }
1115:   inline constexpr long long
1115:   __size_to_integer(long double __n) { return (long long)__n; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _OutputIterator, typename _Size, typename _Tp>
1115:    
1115:     inline typename
1115:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
1115:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1115:     {
1115:       for (; __n > 0; --__n, (void) ++__first)
1115:  *__first = __value;
1115:       return __first;
1115:     }
1115: 
1115:   template<typename _OutputIterator, typename _Size, typename _Tp>
1115:    
1115:     inline typename
1115:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
1115:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1115:     {
1115:       const _Tp __tmp = __value;
1115:       for (; __n > 0; --__n, (void) ++__first)
1115:  *__first = __tmp;
1115:       return __first;
1115:     }
1115: 
1115:   template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
1115:     typename _Tp>
1115:     ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1115:     __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
1115:         _Size __n, const _Tp& __value,
1115:         std::input_iterator_tag);
1115: 
1115:   template<typename _OutputIterator, typename _Size, typename _Tp>
1115:    
1115:     inline _OutputIterator
1115:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1115:         std::output_iterator_tag)
1115:     {
1115: 
1115:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1115: 
1115:       return __fill_n_a1(__first, __n, __value);
1115:     }
1115: 
1115:   template<typename _OutputIterator, typename _Size, typename _Tp>
1115:    
1115:     inline _OutputIterator
1115:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1115:         std::input_iterator_tag)
1115:     {
1115: 
1115:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1115: 
1115:       return __fill_n_a1(__first, __n, __value);
1115:     }
1115: 
1115:   template<typename _OutputIterator, typename _Size, typename _Tp>
1115:    
1115:     inline _OutputIterator
1115:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1115:         std::random_access_iterator_tag)
1115:     {
1115: 
1115:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1115: 
1115:       if (__n <= 0)
1115:  return __first;
1115: 
1115:       ;
1115: 
1115:       std::__fill_a(__first, __first + __n, __value);
1115:       return __first + __n;
1115:     }
1115: # 1140 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _OI, typename _Size, typena:  { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
609: 
609:       template <typename _Tp, typename _Up>
609:  static constexpr bool
609:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
609:  {
609:    return less<const volatile void*>{}(
609:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
609:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
609:  }
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded2 : true_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded2<_Tp, _Up, __void_t<
609:    decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
609:  : false_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded<_Tp, _Up, __void_t<
609:    decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
609:  : false_type { };
609: 
609:       template<typename _Tp, typename _Up>
609:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
609:        is_convertible<_Tp, const volatile void*>,
609:        is_convertible<_Up, const volatile void*>>;
609:     };
609: 
609: 
609:   template<>
609:     struct greater_equal<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
609:  {
609:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
609:    __ptr_cmp<_Tp, _Up>{});
609:  }
609: 
609:       template<typename _Tp, typename _Up>
609:  constexpr bool
609:  operator()(_Tp* __t, _Up* __u) const noexcept
609:  { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
609: 
609:       typedef __is_transparent is_transparent;
609: 
609:     private:
609:       template <typename _Tp, typename _Up>
609:  static constexpr decltype(auto)
609:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
609:  { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
609: 
609:       template <typename _Tp, typename _Up>
609:  static constexpr bool
609:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
609:  {
609:    return greater_equal<const volatile void*>{}(
609:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
609:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
609:  }
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded2 : true_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded2<_Tp, _Up, __void_t<
609:    decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
609:  : false_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded<_Tp, _Up, __void_t<
609:    decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
609:  : false_type { };
609: 
609:       template<typename _Tp, typename _Up>
609:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
609:        is_convertible<_Tp, const volatile void*>,
609:        is_convertible<_Up, const volatile void*>>;
609:     };
609: 
609: 
609:   template<>
609:     struct less_equal<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
609:  {
609:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
609:    __ptr_cmp<_Tp, _Up>{});
609:  }
609: 
609:       template<typename _Tp, typename _Up>
609:  constexpr bool
609:  operator()(_Tp* __t, _Up* __u) const noexceme _Tp>
1115:    
1115:     inline _OI
1115:     fill_n(_OI __first, _Size __n, const _Tp& __value)
1115:     {
1115: 
1115:      
1115: 
1115:       return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
1115:           std::__iterator_category(__first));
1115:     }
1115: 
1115:   template<bool _BoolType>
1115:     struct __equal
1115:     {
1115:       template<typename _II1, typename _II2>
1115: 
1115:  static bool
1115:  equal(_II1 __first1, _II1 __last1, _II2 __first2)
1115:  {
1115:    for (; __first1 != __last1; ++__first1, (void) ++__first2)
1115:      if (!(*__first1 == *__first2))
1115:        return false;
1115:    return true;
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct __equal<true>
1115:     {
1115:       template<typename _Tp>
1115: 
1115:  static bool
1115:  equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
1115:  {
1115:    if (const size_t __len = (__last1 - __first1))
1115:      return !std::__memcmp(__first1, __first2, __len);
1115:    return true;
1115:  }
1115:     };
1115: 
1115:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value, bool>::__type
1115:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1115:    std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1115:    _II);
1115: 
1115:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1115:     typename _Tp2, typename _Ref2, typename _Ptr2>
1115:     bool
1115:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1115:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1115:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1115: 
1115:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value, bool>::__type
1115:     __equal_aux1(_II, _II,
1115:   std::_Deque_iterator<_Tp, _Ref, _Ptr>);
1115: 
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
1115:     {
1115:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1115:       const bool __simple = ((__is_integer<_ValueType1>::__value
1115:          || __is_pointer<_ValueType1>::__value)
1115:         && __memcmpable<_II1, _II2>::__value);
1115:       return std::__equal<__simple>::equal(__first1, __last1, __first2);
1115:     }
1115: 
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
1115:     {
1115:       return std::__equal_aux1(std::__niter_base(__first1),
1115:           std::__niter_base(__last1),
1115:           std::__niter_base(__first2));
1115:     }
1115: 
1115:   template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
1115:     bool
1115:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1115:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1115:   _II2);
1115: 
1115:   template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
1115:     bool
1115:     __equal_aux(_II1, _II1,
1115:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1115: 
1115:   template<typename _II1, typename _Seq1, typename _Cat1,
1115:     typename _II2, typename _Seq2, typename _Cat2>
1115:     bool
1115:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1115:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1115:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1115: 
1115:   template<typename, typename>
1115:     struct __lc_rai
1115:     {
1115:       template<typename _II1, typename _II2>
1115: 
1115:  static _II1
1115:  __newlast1(_II1, _II1 __last1, _II2, _II2)
1115:  { return __last1; }
1115: 
1115:       template<typename _II>
1115: 
1115:  static bool
1115:  __cnd2(_II __first, _II __last)
1115:  { return __first != __last; }
1115:     };
1115: 
1115:   template<>
1115:     struct __lc_rai<random_access_iterator_tag, randpt
609:  { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
609: 
609:       typedef __is_transparent is_transparent;
609: 
609:     private:
609:       template <typename _Tp, typename _Up>
609:  static constexpr decltype(auto)
609:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
609:  { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
609: 
609:       template <typename _Tp, typename _Up>
609:  static constexpr bool
609:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
609:  {
609:    return less_equal<const volatile void*>{}(
609:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
609:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
609:  }
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded2 : true_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded2<_Tp, _Up, __void_t<
609:    decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
609:  : false_type { };
609: 
609: 
609:       template<typename _Tp, typename _Up, typename = void>
609:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
609: 
609: 
609:       template<typename _Tp, typename _Up>
609:  struct __not_overloaded<_Tp, _Up, __void_t<
609:    decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
609:  : false_type { };
609: 
609:       template<typename _Tp, typename _Up>
609:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
609:        is_convertible<_Tp, const volatile void*>,
609:        is_convertible<_Up, const volatile void*>>;
609:     };
609: # 781 "/usr/include/c++/12/bits/stl_function.h" 3
609:   template<typename _Tp = void>
609:     struct logical_and;
609: 
609:   template<typename _Tp = void>
609:     struct logical_or;
609: 
609:   template<typename _Tp = void>
609:     struct logical_not;
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609:   template<typename _Tp>
609:     struct logical_and : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x && __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct logical_or : public binary_function<_Tp, _Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x || __y; }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct logical_not : public unary_function<_Tp, bool>
609:     {
609:       constexpr
609:       bool
609:       operator()(const _Tp& __x) const
609:       { return !__x; }
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609:   template<>
609:     struct logical_and<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct logical_or<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609:   template<>
609:     struct logical_not<void>
609:     {
609:       template <typename _Tp>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t) const
609:  noexcept(noexcept(!std::forward<_Tp>(__t)))
609:  -> decltype(!std::forward<_Tp>(__t))
609:  { return !std::forward<_Tp>(__t); }
609: 
609:       typedef __is_transparent iom_access_iterator_tag>
1115:     {
1115:       template<typename _RAI1, typename _RAI2>
1115: 
1115:  static _RAI1
1115:  __newlast1(_RAI1 __first1, _RAI1 __last1,
1115:      _RAI2 __first2, _RAI2 __last2)
1115:  {
1115:    const typename iterator_traits<_RAI1>::difference_type
1115:      __diff1 = __last1 - __first1;
1115:    const typename iterator_traits<_RAI2>::difference_type
1115:      __diff2 = __last2 - __first2;
1115:    return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
1115:  }
1115: 
1115:       template<typename _RAI>
1115:  static bool
1115:  __cnd2(_RAI, _RAI)
1115:  { return true; }
1115:     };
1115: 
1115:   template<typename _II1, typename _II2, typename _Compare>
1115:    
1115:     bool
1115:     __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
1115:        _II2 __first2, _II2 __last2,
1115:        _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_II1>::iterator_category _Category1;
1115:       typedef typename iterator_traits<_II2>::iterator_category _Category2;
1115:       typedef std::__lc_rai<_Category1, _Category2> __rai_type;
1115: 
1115:       __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
1115:       for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
1115:     ++__first1, (void)++__first2)
1115:  {
1115:    if (__comp(__first1, __first2))
1115:      return true;
1115:    if (__comp(__first2, __first1))
1115:      return false;
1115:  }
1115:       return __first1 == __last1 && __first2 != __last2;
1115:     }
1115: 
1115:   template<bool _BoolType>
1115:     struct __lexicographical_compare
1115:     {
1115:       template<typename _II1, typename _II2>
1115: 
1115:  static bool
1115:  __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1115:  {
1115:    using __gnu_cxx::__ops::__iter_less_iter;
1115:    return std::__lexicographical_compare_impl(__first1, __last1,
1115:            __first2, __last2,
1115:            __iter_less_iter());
1115:  }
1115: 
1115:       template<typename _II1, typename _II2>
1115: 
1115:  static int
1115:  __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1115:  {
1115:    while (__first1 != __last1)
1115:      {
1115:        if (__first2 == __last2)
1115:   return +1;
1115:        if (*__first1 < *__first2)
1115:   return -1;
1115:        if (*__first2 < *__first1)
1115:   return +1;
1115:        ++__first1;
1115:        ++__first2;
1115:      }
1115:    return int(__first2 == __last2) - 1;
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct __lexicographical_compare<true>
1115:     {
1115:       template<typename _Tp, typename _Up>
1115: 
1115:  static bool
1115:  __lc(const _Tp* __first1, const _Tp* __last1,
1115:       const _Up* __first2, const _Up* __last2)
1115:  { return __3way(__first1, __last1, __first2, __last2) < 0; }
1115: 
1115:       template<typename _Tp, typename _Up>
1115: 
1115:  static ptrdiff_t
1115:  __3way(const _Tp* __first1, const _Tp* __last1,
1115:         const _Up* __first2, const _Up* __last2)
1115:  {
1115:    const size_t __len1 = __last1 - __first1;
1115:    const size_t __len2 = __last2 - __first2;
1115:    if (const size_t __len = std::min(__len1, __len2))
1115:      if (int __result = std::__memcmp(__first1, __first2, __len))
1115:        return __result;
1115:    return ptrdiff_t(__len1 - __len2);
1115:  }
1115:     };
1115: 
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
1115:        _II2 __first2, _II2 __last2)
1115:     {
1115:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1115:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
1115:       const bool __simple =
1115:  (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
1115:   && __is_pointer<_II1>::__value
1115:   && __is_pointer<_II2>::__value
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   );
1115: 
1115:       return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
1115: s_transparent;
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp = void>
609:     struct bit_and;
609: 
609:   template<typename _Tp = void>
609:     struct bit_or;
609: 
609:   template<typename _Tp = void>
609:     struct bit_xor;
609: 
609:   template<typename _Tp = void>
609:     struct bit_not;
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct bit_and : public binary_function<_Tp, _Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x & __y; }
609:     };
609: 
609:   template<typename _Tp>
609:     struct bit_or : public binary_function<_Tp, _Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x | __y; }
609:     };
609: 
609:   template<typename _Tp>
609:     struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
609:     {
609:       constexpr
609:       _Tp
609:       operator()(const _Tp& __x, const _Tp& __y) const
609:       { return __x ^ __y; }
609:     };
609: 
609:   template<typename _Tp>
609:     struct bit_not : public unary_function<_Tp, _Tp>
609:     {
609:     constexpr
609:       _Tp
609:       operator()(const _Tp& __x) const
609:       { return ~__x; }
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609:   template <>
609:     struct bit_and<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609:   template <>
609:     struct bit_or<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609:   template <>
609:     struct bit_xor<void>
609:     {
609:       template <typename _Tp, typename _Up>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t, _Up&& __u) const
609:  noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
609:  -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
609:  { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609:   template <>
609:     struct bit_not<void>
609:     {
609:       template <typename _Tp>
609:  constexpr
609:  auto
609:  operator()(_Tp&& __t) const
609:  noexcept(noexcept(~std::forward<_Tp>(__t)))
609:  -> decltype(~std::forward<_Tp>(__t))
609:  { return ~std::forward<_Tp>(__t); }
609: 
609:       typedef __is_transparent is_transparent;
609:     };
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: # 1023 "/usr/include/c++/12/bits/stl_function.h" 3
609:   template<typename _Predicate>
609:     class [[__deprecated__]] unary_negate
609:     : public unary_function<typename _Predicate::argument_type, bool>
609:     {
609:     protected:
609:       _Predicate _M_pred;
609: 
609:     public:
609:       constexpr
609:       explicit
609:       unary_negate(const _Predicate& __x) : _M_pred(__x) { }
609: 
609:       constexpr
609:       bool
609:       operator()(const typename _Predicate::argument_type& __x) const
609:       { return !_M_pred(__x); }
609:     };
609: 
609: 
609:   template<typename _Predicate>
609:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
609:     constexpr
609:     inline unary_negate<_Predicate>
609:     not1(const _Predicate& __pred)
609:     { return unary_negate<_Predicate>(__pred); }
609: 
609: 
609:   template<typename _Predicate>
609:     class [[__deprecated__]] binary_negate
609:     : public binary_function<typename _Predicate::first_argument_type,
609:         typename _Predicate::second_argument_type, bool>
609:     {
609:     protected:
609:       _Predicate _M_pred;
609: 
609:     public:
609:       constexpr
609:       explicit
609:       binary_negate(const _Predicate& __x) : _M_pred(__x) { }
609: 
609:       constexpr
609:       bool
609:       operator()(const typename _Predicate::first_argument_type& __x,
609:    const typename _Predicate::second_argument_type& __y) const
609:       { return !_M_pred(__x, __y); }
609:     };
609: 
609: 
609:   template<typename _Predicate>
609:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
609:     constexpr
609:     inline binary_negate<_Predicate>
609:     not2(const _Predicate& __pred)
609:     { return binary_negate<_Predicate>(__pred); }
609: # 1104 "/usr/include/c++/12/bits/stl_function.h" 3
609:   template<typename _Arg, typename _Result>
609:     class pointer_to_unary_function : public unary_function<_Arg, _Result>
609:     {
609:     protected:
609:       _Result (*_M_ptr)(_Arg);
609: 
609:     public:
609:       pointer_to_unary_function() { }
609: 
609:       explicit
609:       pointer_to_unary_function(_Result (*__x)(_Arg))
609:       : _M_ptr(__x) { }
609: 
609:       _Result
609:       operator()(_Arg __x) const
609:       { return _M_ptr(__x); }
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Arg, typename _Result>
609:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
609:     inline pointer_to_unary_function<_Arg, _Result>
609:     ptr_fun(_Result (*__x)(_Arg))
609:     { return pointer_to_unary_function<_Arg, _Result>(__x); }
609: 
609: 
609:   template<typename _Arg1, typename _Arg2, typename _Result>
609:     class pointer_to_binary_function
609:     : public binary_function<_Arg1, _Arg2, _Result>
609:     {
609:     protected:
609:       _Result (*_M_ptr)(_Arg1, _Arg2);
609: 
609:     public:
609:       pointer_to_binary_function() { }
609: 
609:       explicit
609:       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
609:       : _M_ptr(__x) { }
609: 
609:       _Result
609:       operator()(_Arg1 __x, _Arg2 __y) const
609:       { return _M_ptr(__x, __y); }
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Arg1, typename _Arg2, typename _Result>
609:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
609:     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
609:     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
609:     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     struct _Identity
609:     : public unary_function<_Tp, _Tp>
609:     {
609:       _Tp&
609:       operator()(_Tp& __x) const
609:       { return __x; }
609: 
609:       const _Tp&
609:       operator()(const _Tp& __x) const
609:       { return __x; }
609:     };
609: 
609: 
609:   template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
609: 
609:   template<typename _Pair>
609:     struct _Select1st
609:     : public unary_function<_Pair, typename _Pair::first_type>
609:     {
609:       typename _Pair::first_type&
609:       operator()(_Pair& __x) const
609:       { return __x.first; }
609: 
609:       const typename _Pair::first_type&
609:       operator()(const _Pair& __x) const
609:       { return __x.first; }
609: 
609: 
609:       template<typename _Pair2>
609:         typename _Pair2::first_type&
609:         operator()(_Pair2& __x) const
609:         { return __x.first; }
609: 
609:       template<typename _Pair2>
609:         const typename _Pair2::first_type&
609:         operator()(const _Pair2& __x) const
609:         { return __x.first; }
609: 
609:     };
609: 
609:   template<typename _Pair>
609:     struct _Select2nd
609:     : public u           __first2, __last2);
1115:     }
1115: 
1115:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1115:     typename _Tp2>
1115:     bool
1115:     __lexicographical_compare_aux1(
1115:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1115:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1115:  _Tp2*, _Tp2*);
1115: 
1115:   template<typename _Tp1,
1115:     typename _Tp2, typename _Ref2, typename _Ptr2>
1115:     bool
1115:     __lexicographical_compare_aux1(_Tp1*, _Tp1*,
1115:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1115:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1115: 
1115:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1115:     typename _Tp2, typename _Ref2, typename _Ptr2>
1115:     bool
1115:     __lexicographical_compare_aux1(
1115:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1115:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1115:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1115:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1115: 
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
1115:       _II2 __first2, _II2 __last2)
1115:     {
1115:       return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
1115:        std::__niter_base(__last1),
1115:        std::__niter_base(__first2),
1115:        std::__niter_base(__last2));
1115:     }
1115: 
1115:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1115:     typename _II2>
1115:     bool
1115:     __lexicographical_compare_aux(
1115:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1115:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1115:   _II2, _II2);
1115: 
1115:   template<typename _II1,
1115:     typename _Iter2, typename _Seq2, typename _Cat2>
1115:     bool
1115:     __lexicographical_compare_aux(
1115:   _II1, _II1,
1115:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1115:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1115: 
1115:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1115:     typename _Iter2, typename _Seq2, typename _Cat2>
1115:     bool
1115:     __lexicographical_compare_aux(
1115:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1115:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1115:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1115:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1115: 
1115:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1115:    
1115:     _ForwardIterator
1115:     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1115:     const _Tp& __val, _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1115:  _DistanceType;
1115: 
1115:       _DistanceType __len = std::distance(__first, __last);
1115: 
1115:       while (__len > 0)
1115:  {
1115:    _DistanceType __half = __len >> 1;
1115:    _ForwardIterator __middle = __first;
1115:    std::advance(__middle, __half);
1115:    if (__comp(__middle, __val))
1115:      {
1115:        __first = __middle;
1115:        ++__first;
1115:        __len = __len - __half - 1;
1115:      }
1115:    else
1115:      __len = __half;
1115:  }
1115:       return __first;
1115:     }
1115: # 1486 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline _ForwardIterator
1115:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1115:   const _Tp& __val)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__lower_bound(__first, __last, __val,
1115:     __gnu_cxx::__ops::__iter_less_val());
1115:     }
1115: 
1115: 
1115: 
1115:   inline constexpr int
1115:   __lg(int __n)
1115:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1115: 
1115:   inline constexpr unsigned
1115:   __lg(unsigned __n)
1115:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1115: 
1115:   inline constexpr long
1115:   __lg(long __n)
1115:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1115: 
1115:   inline constexpr unsigned long
1115:   __lg(unsigned long __n)
1115:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1115: 
1115:   inline constexpr long long
1115:   __lg(long long __n)
1115:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1115: 
1115:   inline constexpr unsigned long long
1115:   __lg(unsigned long long __n)
1115:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1115: 
1115: 
1115: # 1542 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     equal(_II1 __first1, _II1 __last1, _II2 __first2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       return std::__equal_aux(__first1, __last1, __first2);
1115:     }
1115: # 1573 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1115:    
1115:     inline bool
1115:     equal(_IIter1 __first1, _IIter1 __last1,
1115:    _IIter2 __first2, _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115:      
1115:       ;
1115: 
1115:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1115:  if (!bool(__binary_pred(*__first1, *__first2)))
1115:    return false;
1115:       return true;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1115:     {
1115:       using _RATag = random_access_iterator_tag;
1115:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1115:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1115:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1115:       if (_RAIters())
1115:  {
1115:    auto __d1 = std::distance(__first1, __last1);
1115:    auto __d2 = std::distance(__first2, __last2);
1115:    if (__d1 != __d2)
1115:      return false;
1115:    return std::equal(__first1, __last1, __first2);
1115:  }
1115: 
1115:       for (; __first1 != __last1 && __first2 != __last2;
1115:    ++__first1, (void)++__first2)
1115:  if (!(*__first1 == *__first2))
1115:    return false;
1115:       return __first1 == __last1 && __first2 == __last2;
1115:     }
1115: 
1115: 
1115:   template<typename _II1, typename _II2, typename _BinaryPredicate>
1115:    
1115:     inline bool
1115:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
1115:       _BinaryPredicate __binary_pred)
1115:     {
1115:       using _RATag = random_access_iterator_tag;
1115:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1115:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1115:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1115:       if (_RAIters())
1115:  {
1115:    auto __d1 = std::distance(__first1, __last1);
1115:    auto __d2 = std::distance(__first2, __last2);
1115:    if (__d1 != __d2)
1115:      return false;
1115:    return std::equal(__first1, __last1, __first2,
1115:            __binary_pred);
1115:  }
1115: 
1115:       for (; __first1 != __last1 && __first2 != __last2;
1115:    ++__first1, (void)++__first2)
1115:  if (!bool(__binary_pred(*__first1, *__first2)))
1115:    return false;
1115:       return __first1 == __last1 && __first2 == __last2;
1115:     }
1115: # 1663 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__equal4(__first1, __last1, __first2, __last2);
1115:     }
1115: # 1696 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1115:    
1115:  nary_function<_Pair, typename _Pair::second_type>
609:     {
609:       typename _Pair::second_type&
609:       operator()(_Pair& __x) const
609:       { return __x.second; }
609: 
609:       const typename _Pair::second_type&
609:       operator()(const _Pair& __x) const
609:       { return __x.second; }
609:     };
609: # 1231 "/usr/include/c++/12/bits/stl_function.h" 3
609:   template<typename _Ret, typename _Tp>
609:     class mem_fun_t : public unary_function<_Tp*, _Ret>
609:     {
609:     public:
609:       explicit
609:       mem_fun_t(_Ret (_Tp::*__pf)())
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(_Tp* __p) const
609:       { return (__p->*_M_f)(); }
609: 
609:     private:
609:       _Ret (_Tp::*_M_f)();
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Ret, typename _Tp>
609:     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
609:     {
609:     public:
609:       explicit
609:       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(const _Tp* __p) const
609:       { return (__p->*_M_f)(); }
609: 
609:     private:
609:       _Ret (_Tp::*_M_f)() const;
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Ret, typename _Tp>
609:     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
609:     {
609:     public:
609:       explicit
609:       mem_fun_ref_t(_Ret (_Tp::*__pf)())
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(_Tp& __r) const
609:       { return (__r.*_M_f)(); }
609: 
609:     private:
609:       _Ret (_Tp::*_M_f)();
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Ret, typename _Tp>
609:     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
609:     {
609:     public:
609:       explicit
609:       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(const _Tp& __r) const
609:       { return (__r.*_M_f)(); }
609: 
609:     private:
609:       _Ret (_Tp::*_M_f)() const;
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
609:     {
609:     public:
609:       explicit
609:       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(_Tp* __p, _Arg __x) const
609:       { return (__p->*_M_f)(__x); }
609: 
609:     private:
609:       _Ret (_Tp::*_M_f)(_Arg);
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
609:     {
609:     public:
609:       explicit
609:       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(const _Tp* __p, _Arg __x) const
609:       { return (__p->*_M_f)(__x); }
609: 
609:     private:
609:       _Ret (_Tp::*_M_f)(_Arg) const;
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
609:     {
609:     public:
609:       explicit
609:       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(_Tp& __r, _Arg __x) const
609:       { return (__r.*_M_f)(__x); }
609: 
609:     private:
609:       _Ret (_Tp::*_M_f)(_Arg);
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
609:     {
609:     public:
609:       explicit
609:       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
609:       : _M_f(__pf) { }
609: 
609:       _Ret
609:       operator()(const _Tp& __r, _Arg __x) const
609:       { return (__r.*_M_f)(__x); }
609: 
609:     private:
609:   inline bool
1115:     equal(_IIter1 __first1, _IIter1 __last1,
1115:    _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115:      
1115:       ;
1115:       ;
1115: 
1115:       return std::__equal4(__first1, __last1, __first2, __last2,
1115:           __binary_pred);
1115:     }
1115: # 1728 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _II1, typename _II2>
1115:    
1115:     inline bool
1115:     lexicographical_compare(_II1 __first1, _II1 __last1,
1115:        _II2 __first2, _II2 __last2)
1115:     {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:      
1115:      
1115:      
1115:       ;
1115:       ;
1115: 
1115:       return std::__lexicographical_compare_aux(__first1, __last1,
1115:       __first2, __last2);
1115:     }
1115: # 1763 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _II1, typename _II2, typename _Compare>
1115:    
1115:     inline bool
1115:     lexicographical_compare(_II1 __first1, _II1 __last1,
1115:        _II2 __first2, _II2 __last2, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115:       ;
1115:       ;
1115: 
1115:       return std::__lexicographical_compare_impl
1115:  (__first1, __last1, __first2, __last2,
1115:   __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: # 1875 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     pair<_InputIterator1, _InputIterator2>
1115:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1115:         _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1115:     {
1115:       while (__first1 != __last1 && __binary_pred(__first1, __first2))
1115:  {
1115:    ++__first1;
1115:    ++__first2;
1115:  }
1115:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1115:     }
1115: # 1903 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2>
1115:    
1115:     inline pair<_InputIterator1, _InputIterator2>
1115:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1115:       _InputIterator2 __first2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       return std::__mismatch(__first1, __last1, __first2,
1115:         __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: # 1937 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline pair<_InputIterator1, _InputIterator2>
1115:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1115:       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115:      
1115:       ;
1115: 
1115:       return std::__mismatch(__first1, __last1, __first2,
1115:  __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     pair<_InputIterator1, _InputIterator2>
1115:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1115:         _InputIterator2 __first2, _InputIterator2 __last2,
1115:         _BinaryPredicate __binary_pred)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2
1115:       && __binary_pred(__first1, __first2))
1115:  {
1115:    ++__first1;
1115:    ++__first2;
1115:  }
1115:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1115:     }
1115: # 1986 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2>
1115:    
1115:     inline pair<_InputIterator1, _InputIterator2>
1115:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1115:       _InputIterator2 __first2, _InputIterator2 __last2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
111       _Ret (_Tp::*_M_f)(_Arg) const;
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609: 
609:   template<typename _Ret, typename _Tp>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline mem_fun_t<_Ret, _Tp>
609:     mem_fun(_Ret (_Tp::*__f)())
609:     { return mem_fun_t<_Ret, _Tp>(__f); }
609: 
609:   template<typename _Ret, typename _Tp>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline const_mem_fun_t<_Ret, _Tp>
609:     mem_fun(_Ret (_Tp::*__f)() const)
609:     { return const_mem_fun_t<_Ret, _Tp>(__f); }
609: 
609:   template<typename _Ret, typename _Tp>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline mem_fun_ref_t<_Ret, _Tp>
609:     mem_fun_ref(_Ret (_Tp::*__f)())
609:     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
609: 
609:   template<typename _Ret, typename _Tp>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline const_mem_fun_ref_t<_Ret, _Tp>
609:     mem_fun_ref(_Ret (_Tp::*__f)() const)
609:     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline mem_fun1_t<_Ret, _Tp, _Arg>
609:     mem_fun(_Ret (_Tp::*__f)(_Arg))
609:     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
609:     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
609:     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
609:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
609:     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
609: 
609:   template<typename _Ret, typename _Tp, typename _Arg>
609:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
609:     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
609:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
609:     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609:   template<typename _Func, typename _SfinaeType, typename = __void_t<>>
609:     struct __has_is_transparent
609:     { };
609: 
609:   template<typename _Func, typename _SfinaeType>
609:     struct __has_is_transparent<_Func, _SfinaeType,
609:     __void_t<typename _Func::is_transparent>>
609:     { typedef void type; };
609: 
609:   template<typename _Func, typename _SfinaeType>
609:     using __has_is_transparent_t
609:       = typename __has_is_transparent<_Func, _SfinaeType>::type;
609: 
609: 
609: 
609: }
609: 
609: 
609: # 1 "/usr/include/c++/12/backward/binders.h" 1 3
609: # 60 "/usr/include/c++/12/backward/binders.h" 3
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 107 "/usr/include/c++/12/backward/binders.h" 3
609:   template<typename _Operation>
609:     class binder1st
609:     : public unary_function<typename _Operation::second_argument_type,
609:        typename _Operation::result_type>
609:     {
609:     protected:
609:       _Operation op;
609:       typename _Operation::first_argument_type value;
609: 
609:     public:
609:       binder1st(const _Operation& __x,
609:   const typename _Operation::first_argument_type& __y)
609:       : op(__x), value(__y) { }
609: 
609:       typename _Operation::result_type
609:       operator()(const typename _Operation::second_argument_type& __x) const
609:       { return op(value, __x); }
609: 
609: 
609: 
609:       typename _Operation::result_type
609:       operator()(typename _Operation::second_argument_type& __x) const
609:       { return op(value, __x); }
609:    5:       ;
1115: 
1115:       return std::__mismatch(__first1, __last1, __first2, __last2,
1115:         __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: # 2022 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline pair<_InputIterator1, _InputIterator2>
1115:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1115:       _InputIterator2 __first2, _InputIterator2 __last2,
1115:       _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115:      
1115:       ;
1115:       ;
1115: 
1115:       return std::__mismatch(__first1, __last1, __first2, __last2,
1115:         __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline _InputIterator
1115:     __find_if(_InputIterator __first, _InputIterator __last,
1115:        _Predicate __pred, input_iterator_tag)
1115:     {
1115:       while (__first != __last && !__pred(__first))
1115:  ++__first;
1115:       return __first;
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Predicate>
1115:    
1115:     _RandomAccessIterator
1115:     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:        _Predicate __pred, random_access_iterator_tag)
1115:     {
1115:       typename iterator_traits<_RandomAccessIterator>::difference_type
1115:  __trip_count = (__last - __first) >> 2;
1115: 
1115:       for (; __trip_count > 0; --__trip_count)
1115:  {
1115:    if (__pred(__first))
1115:      return __first;
1115:    ++__first;
1115: 
1115:    if (__pred(__first))
1115:      return __first;
1115:    ++__first;
1115: 
1115:    if (__pred(__first))
1115:      return __first;
1115:    ++__first;
1115: 
1115:    if (__pred(__first))
1115:      return __first;
1115:    ++__first;
1115:  }
1115: 
1115:       switch (__last - __first)
1115:  {
1115:  case 3:
1115:    if (__pred(__first))
1115:      return __first;
1115:    ++__first;
1115: 
1115:  case 2:
1115:    if (__pred(__first))
1115:      return __first;
1115:    ++__first;
1115: 
1115:  case 1:
1115:    if (__pred(__first))
1115:      return __first;
1115:    ++__first;
1115: 
1115:  case 0:
1115:  default:
1115:    return __last;
1115:  }
1115:     }
1115: 
1115:   template<typename _Iterator, typename _Predicate>
1115:    
1115:     inline _Iterator
1115:     __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
1115:     {
1115:       return __find_if(__first, __last, __pred,
1115:          std::__iterator_category(__first));
1115:     }
1115: 
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     typename iterator_traits<_InputIterator>::difference_type
1115:     __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1115:     {
1115:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1115:       for (; __first != __last; ++__first)
1115:  if (__pred(__first))
1115:    ++__n;
1115:       return __n;
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Predicate>
1115:    
1115:     _ForwardIterator
1115:     __remove_if(_ForwardIterator __first, _ForwardIterator __last,
1115:   _Predicate __pred)
1115:     {
1115:       __first = std::__find_if(__first, __last, __pred);
1115:       if (__first == __last)
1115:  return __first;
1115:       _ForwardIterator __result = __first;
1115:       ++__first;
1115:       for (; __first != __last; ++__first)
1115:  if (!__pred(__first))
1115:    {
1115:      *__result = std::move(*__first);
1115:      ++__result;
1115:    }
1115:       return __result;
1115:     }
1115: 
1115: 
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     bool
1115:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:        _ForwardIterator2 __first2, _BinaryPredicate __pr } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
609: 
609: 
609:   template<typename _Operation, typename _Tp>
609:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
609:     inline binder1st<_Operation>
609:     bind1st(const _Operation& __fn, const _Tp& __x)
609:     {
609:       typedef typename _Operation::first_argument_type _Arg1_type;
609:       return binder1st<_Operation>(__fn, _Arg1_type(__x));
609:     }
609: 
609: 
609:   template<typename _Operation>
609:     class binder2nd
609:     : public unary_function<typename _Operation::first_argument_type,
609:        typename _Operation::result_type>
609:     {
609:     protected:
609:       _Operation op;
609:       typename _Operation::second_argument_type value;
609: 
609:     public:
609:       binder2nd(const _Operation& __x,
609:   const typename _Operation::second_argument_type& __y)
609:       : op(__x), value(__y) { }
609: 
609:       typename _Operation::result_type
609:       operator()(const typename _Operation::first_argument_type& __x) const
609:       { return op(__x, value); }
609: 
609: 
609: 
609:       typename _Operation::result_type
609:       operator()(typename _Operation::first_argument_type& __x) const
609:       { return op(__x, value); }
609:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
609: 
609: 
609:   template<typename _Operation, typename _Tp>
609:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
609:     inline binder2nd<_Operation>
609:     bind2nd(const _Operation& __fn, const _Tp& __x)
609:     {
609:       typedef typename _Operation::second_argument_type _Arg2_type;
609:       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
609:     }
609: 
609: 
609: 
609: }
609: 
609: #pragma GCC diagnostic pop
609: # 1439 "/usr/include/c++/12/bits/stl_function.h" 2 3
609: # 49 "/usr/include/c++/12/string" 2 3
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/refwrap.h" 1 3
609: # 33 "/usr/include/c++/12/bits/refwrap.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/refwrap.h" 3
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/invoke.h" 1 3
609: # 33 "/usr/include/c++/12/bits/invoke.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/invoke.h" 3
609: # 42 "/usr/include/c++/12/bits/invoke.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 53 "/usr/include/c++/12/bits/invoke.h" 3
609:   template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
609:     constexpr _Up&&
609:     __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
609:     { return static_cast<_Up&&>(__t); }
609: 
609:   template<typename _Res, typename _Fn, typename... _Args>
609:     constexpr _Res
609:     __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
609:     { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
609: 
609:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
609:     constexpr _Res
609:     __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
609:     _Args&&... __args)
609:     { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
609: 
609:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
609:     constexpr _Res
609:     __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
609:     _Args&&... __args)
609:     {
609:       return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
609:     }
609: 
609:   template<typename _Res, typename _MemPtr, typename _Tp>
609:     constexpr _Res
609:     __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
609:     { return __invfwd<_Tp>(__t).*__f; }
609: 
609:   template<typename _Res, typename _MemPtr, typename _Tp>
609:     constexpr _Res
609:     __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
609:     { return (*std::forward<_Tp>(__t)).*__f; }
609: 
609: 
609:   template<typename _Callable, typename... _Args>
609:     constexpr typename __invoke_result<_Callable, _Args...>::type
609:     __invoke(_Ced)
1115:     {
1115: 
1115: 
1115:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1115:  if (!__pred(__first1, __first2))
1115:    break;
1115: 
1115:       if (__first1 == __last1)
1115:  return true;
1115: 
1115: 
1115: 
1115:       _ForwardIterator2 __last2 = __first2;
1115:       std::advance(__last2, std::distance(__first1, __last1));
1115:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1115:  {
1115:    if (__scan != std::__find_if(__first1, __scan,
1115:      __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1115:      continue;
1115: 
1115:    auto __matches
1115:      = std::__count_if(__first2, __last2,
1115:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1115:    if (0 == __matches ||
1115:        std::__count_if(__scan, __last1,
1115:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1115:        != __matches)
1115:      return false;
1115:  }
1115:       return true;
1115:     }
1115: # 2199 "/usr/include/c++/12/bits/stl_algobase.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1115:    
1115:     inline bool
1115:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:      _ForwardIterator2 __first2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       return std::__is_permutation(__first1, __last1, __first2,
1115:        __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: # 64 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr/include/c++/12/bits/allocator.h" 1 3
1115: # 46 "/usr/include/c++/12/bits/allocator.h" 3
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 1 3
1115: # 33 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1115: # 1 "/usr/include/c++/12/bits/new_allocator.h" 1 3
1115: # 34 "/usr/include/c++/12/bits/new_allocator.h" 3
1115: # 1 "/usr/include/c++/12/new" 1 3
1115: # 38 "/usr/include/c++/12/new" 3
1115:        
1115: # 39 "/usr/include/c++/12/new" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/exception.h" 1 3
1115: # 34 "/usr/include/c++/12/bits/exception.h" 3
1115:        
1115: # 35 "/usr/include/c++/12/bits/exception.h" 3
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115: 
1115: extern "C++" {
1115: 
1115: namespace std
1115: {
1115: # 61 "/usr/include/c++/12/bits/exception.h" 3
1115:   class exception
1115:   {
1115:   public:
1115:     exception() noexcept { }
1115:     virtual ~exception() noexcept;
1115: 
1115:     exception(const exception&) = default;
1115:     exception& operator=(const exception&) = default;
1115:     exception(exception&&) = default;
1115:     exception& operator=(exception&&) = default;
1115: 
1115: 
1115: 
1115: 
1115:     virtual const char*
1115:     what() const noexcept;
1115:   };
1115: 
1115: 
1115: 
1115: }
1115: 
1115: }
1115: 
1115: #pragma GCC visibility pop
1115: # 42 "/usr/include/c++/12/new" 2 3
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: extern "C++" {
1115: 
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class bad_alloc : public exception
1115:   {
1115:   public:
1115:     bad_alloc() throw() { }
1115: 
1115: 
1115:     bad_alloc(const bad_alloc&) = default;
1115:     bad_alloc& operator=(const bad_alloc&) = default;
1115: 
1115: 
1115: 
1115: 
1115:     virtual ~bad_alloc() throw();
1115: 
1115: 
1115:     virtual const char* what() const throw();
1115:   };
1115: 
1115: 
1115:   class bad_array_new_length : public bad_alloc
1115:   {
1115:   public:
1115:     bad_array_new_length() throw() { }
1115: 
1115: 
1115: 
1115:     virtual ~bad_array_new_length() throw();
1115: 
1115: 
1115:     virtual const char* what() const throw();
1115:   };
1115: 
1115: 
1115: 
1115:   enum class align_val_t: size_t {};
1115: 
1115: 
1115:   struct nothrow_t
1115:   {
1115: 
1115:     explicit nothrow_t() = default;
1115: 
1115:   };
1115: 
1115:   extern const nothrow_t nothrow;
1115: 
1115: 
1115: 
1115:   typedef void (*new_handler)();
1115: 
111allable&& __fn, _Args&&... __args)
609:     noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
609:     {
609:       using __result = __invoke_result<_Callable, _Args...>;
609:       using __type = typename __result::type;
609:       using __tag = typename __result::__invoke_type;
609:       return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
609:      std::forward<_Args>(__args)...);
609:     }
609: 
609: 
609: 
609:   template<typename _Res, typename _Callable, typename... _Args>
609:     constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
609:     __invoke_r(_Callable&& __fn, _Args&&... __args)
609:     noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
609:     {
609:       using __result = __invoke_result<_Callable, _Args...>;
609:       using __type = typename __result::type;
609:       using __tag = typename __result::__invoke_type;
609:       if constexpr (is_void_v<_Res>)
609:  std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
609:      std::forward<_Args>(__args)...);
609:       else
609:  return std::__invoke_impl<__type>(__tag{},
609:        std::forward<_Callable>(__fn),
609:        std::forward<_Args>(__args)...);
609:     }
609: # 159 "/usr/include/c++/12/bits/invoke.h" 3
609: 
609: }
609: # 39 "/usr/include/c++/12/bits/refwrap.h" 2 3
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 52 "/usr/include/c++/12/bits/refwrap.h" 3
609:   template<typename _Res, typename... _ArgTypes>
609:     struct _Maybe_unary_or_binary_function { };
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609:   template<typename _Res, typename _T1>
609:     struct _Maybe_unary_or_binary_function<_Res, _T1>
609:     : std::unary_function<_T1, _Res> { };
609: 
609: 
609:   template<typename _Res, typename _T1, typename _T2>
609:     struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
609:     : std::binary_function<_T1, _T2, _Res> { };
609: 
609: #pragma GCC diagnostic pop
609: 
609:   template<typename _Signature>
609:     struct _Mem_fn_traits;
609: 
609:   template<typename _Res, typename _Class, typename... _ArgTypes>
609:     struct _Mem_fn_traits_base
609:     {
609:       using __result_type = _Res;
609:       using __maybe_type
609:  = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
609:       using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
609:     };
609: # 103 "/usr/include/c++/12/bits/refwrap.h" 3
609: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; t5: 
1115: 
1115:   new_handler set_new_handler(new_handler) throw();
1115: 
1115: 
1115: 
1115:   new_handler get_new_handler() noexcept;
1115: 
1115: }
1115: # 126 "/usr/include/c++/12/new" 3
1115: [[__nodiscard__]] void* operator new(std::size_t)
1115:   __attribute__((__externally_visible__));
1115: [[__nodiscard__]] void* operator new[](std::size_t)
1115:   __attribute__((__externally_visible__));
1115: void operator delete(void*) noexcept
1115:   __attribute__((__externally_visible__));
1115: void operator delete[](void*) noexcept
1115:   __attribute__((__externally_visible__));
1115: 
1115: void operator delete(void*, std::size_t) noexcept
1115:   __attribute__((__externally_visible__));
1115: void operator delete[](void*, std::size_t) noexcept
1115:   __attribute__((__externally_visible__));
1115: 
1115: [[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept
1115:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1115: [[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept
1115:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1115: void operator delete(void*, const std::nothrow_t&) noexcept
1115:   __attribute__((__externally_visible__));
1115: void operator delete[](void*, const std::nothrow_t&) noexcept
1115:   __attribute__((__externally_visible__));
1115: 
1115: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
1115:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1115: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
1115:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1115: void operator delete(void*, std::align_val_t)
1115:   noexcept __attribute__((__externally_visible__));
1115: void operator delete(void*, std::align_val_t, const std::nothrow_t&)
1115:   noexcept __attribute__((__externally_visible__));
1115: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
1115:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1115: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
1115:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1115: void operator delete[](void*, std::align_val_t)
1115:   noexcept __attribute__((__externally_visible__));
1115: void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
1115:   noexcept __attribute__((__externally_visible__));
1115: 
1115: void operator delete(void*, std::size_t, std::align_val_t)
1115:   noexcept __attribute__((__externally_visible__));
1115: void operator delete[](void*, std::size_t, std::align_val_t)
1115:   noexcept __attribute__((__externally_visible__));
1115: 
1115: 
1115: 
1115: 
1115: [[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept
1115: { return __p; }
1115: [[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept
1115: { return __p; }
1115: 
1115: 
1115: inline void operator delete (void*, void*) noexcept { }
1115: inline void operator delete[](void*, void*) noexcept { }
1115: 
1115: }
1115: 
1115: 
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[nodiscard]] constexpr _Tp*
1115:     launder(_Tp* __p) noexcept
1115:     { return __builtin_launder(__p); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Ret, typename... _Args , bool _NE>
1115:     void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete;
1115:   template<typename _Ret, typename... _Args , bool _NE>
1115:     void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete;
1115: 
1115:   void launder(void*) = delete;
1115:   void launder(const void*) = delete;
1115:   void launder(volatile void*) = delete;
1115:   void launder(const volatile void*) = delete;
1115: 
1115: 
1115: 
1115: 
1115:   inline constexpr size_t hardware_destructive_interference_size = 64;
1115:   inline constexpr size_t hardware_constructive_interference_size =emplate<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
609: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
609: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
609: 
609: 
609: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_ 64;
1115: 
1115: }
1115: # 236 "/usr/include/c++/12/new" 3
1115: #pragma GCC visibility pop
1115: # 35 "/usr/include/c++/12/bits/new_allocator.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 55 "/usr/include/c++/12/bits/new_allocator.h" 3
1115:   template<typename _Tp>
1115:     class __new_allocator
1115:     {
1115:     public:
1115:       typedef _Tp value_type;
1115:       typedef std::size_t size_type;
1115:       typedef std::ptrdiff_t difference_type;
1115: 
1115:       typedef _Tp* pointer;
1115:       typedef const _Tp* const_pointer;
1115:       typedef _Tp& reference;
1115:       typedef const _Tp& const_reference;
1115: 
1115:       template<typename _Tp1>
1115:  struct rebind
1115:  { typedef __new_allocator<_Tp1> other; };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef std::true_type propagate_on_container_move_assignment;
1115: 
1115: 
1115:      
1115:       __new_allocator() noexcept { }
1115: 
1115:      
1115:       __new_allocator(const __new_allocator&) noexcept { }
1115: 
1115:       template<typename _Tp1>
1115: 
1115:  __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
1115: 
1115: 
1115:       ~__new_allocator() noexcept { }
1115: 
1115:       pointer
1115:       address(reference __x) const noexcept
1115:       { return std::__addressof(__x); }
1115: 
1115:       const_pointer
1115:       address(const_reference __x) const noexcept
1115:       { return std::__addressof(__x); }
1115: # 111 "/usr/include/c++/12/bits/new_allocator.h" 3
1115:       [[__nodiscard__]] _Tp*
1115:       allocate(size_type __n, const void* = static_cast<const void*>(0))
1115:       {
1115: 
1115: 
1115: 
1115:  static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
1115: 
1115: 
1115:  if (__builtin_expect(__n > this->_M_max_size(), false))
1115:    {
1115: 
1115: 
1115:      if (__n > (std::size_t(-1) / sizeof(_Tp)))
1115:        std::__throw_bad_array_new_length();
1115:      std::__throw_bad_alloc();
1115:    }
1115: 
1115: 
1115:  if (alignof(_Tp) > 8)
1115:    {
1115:      std::align_val_t __al = std::align_val_t(alignof(_Tp));
1115:      return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp),
1115:           __al));
1115:    }
1115: 
1115:  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
1115:       }
1115: 
1115: 
1115:       void
1115:       deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  if (alignof(_Tp) > 8)
1115:    {
1115:      ::operator delete((__p), (__n) * sizeof(_Tp),
1115:          std::align_val_t(alignof(_Tp)));
1115:      return;
1115:    }
1115: 
1115:  ::operator delete((__p), (__n) * sizeof(_Tp));
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _M_max_size(); }
1115: 
1115: 
1115:       template<typename _Up, typename... _Args>
1115:  void
1115:  construct(_Up* __p, _Args&&... __args)
1115:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1115:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
1115: 
1115:       template<typename _Up>
1115:  void
1115:  destroy(_Up* __p)
1115:  noexcept(std::is_nothrow_destructible<_Up>::value)
1115:  { __p->~_Up(); }
1115: # 194 "/usr/include/c++/12/bits/new_allocator.h" 3
1115:       template<typename _Up>
1115:  friend bool
1115:  operator==(const __new_allocator&, const __new_allocator<_Up>&)
1115:  noexcept
1115:  { return true; }
1115: 
1115: 
1115:       template<typename _Up>
1115:  friend bool
1115:  operator!=(const __new_allocator&, const __new_allocator<_Up>&)
1115:  noexcept
1115:  { return false; }
1115: 
1115: 
1115:     private:
1115:       constexpr size_type
1115:       _M_max_size() const noexcept
1115:       {
1115: 
1115:  return std::size_t(0x7fffffff) / sizeof(_Tp);
1115: 
1115: 
1115: 
1115:       }
1115:     };
1115: 
1115: 
1115: }
1115: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 2 3
Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
609: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
609: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct 1115: 
1115: 
1115: namespace std
1115: {
1115: # 46 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1115:   template<typename _Tp>
1115:     using __allocator_base = __new_allocator<_Tp>;
1115: }
1115: # 47 "/usr/include/c++/12/bits/allocator.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/memoryfwd.h" 1 3
1115: # 46 "/usr/include/c++/12/bits/memoryfwd.h" 3
1115:        
1115: # 47 "/usr/include/c++/12/bits/memoryfwd.h" 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 63 "/usr/include/c++/12/bits/memoryfwd.h" 3
1115:   template<typename>
1115:     class allocator;
1115: 
1115:   template<>
1115:     class allocator<void>;
1115: 
1115: 
1115: 
1115:   template<typename, typename>
1115:     struct uses_allocator;
1115: 
1115:   template<typename>
1115:     struct allocator_traits;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 48 "/usr/include/c++/12/bits/allocator.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 71 "/usr/include/c++/12/bits/allocator.h" 3
1115:   template<>
1115:     class allocator<void>
1115:     {
1115:     public:
1115:       typedef void value_type;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115: 
1115: 
1115: 
1115:       typedef void* pointer;
1115:       typedef const void* const_pointer;
1115: 
1115:       template<typename _Tp1>
1115:  struct rebind
1115:  { typedef allocator<_Tp1> other; };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using propagate_on_container_move_assignment = true_type;
1115: 
1115:       using is_always_equal
1115: 
1115:  = true_type;
1115: # 113 "/usr/include/c++/12/bits/allocator.h" 3
1115:     };
1115: # 123 "/usr/include/c++/12/bits/allocator.h" 3
1115:   template<typename _Tp>
1115:     class allocator : public __allocator_base<_Tp>
1115:     {
1115:     public:
1115:       typedef _Tp value_type;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115: 
1115: 
1115: 
1115:       typedef _Tp* pointer;
1115:       typedef const _Tp* const_pointer;
1115:       typedef _Tp& reference;
1115:       typedef const _Tp& const_reference;
1115: 
1115:       template<typename _Tp1>
1115:  struct rebind
1115:  { typedef allocator<_Tp1> other; };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using propagate_on_container_move_assignment = true_type;
1115: 
1115:       using is_always_equal
1115: 
1115:  = true_type;
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       allocator() noexcept { }
1115: 
1115:      
1115:       allocator(const allocator& __a) noexcept
1115:       : __allocator_base<_Tp>(__a) { }
1115: 
1115: 
1115: 
1115:       allocator& operator=(const allocator&) = default;
1115: 
1115: 
1115:       template<typename _Tp1>
1115: 
1115:  allocator(const allocator<_Tp1>&) noexcept { }
1115: 
1115: 
1115: 
1115: 
1115:       ~allocator() noexcept { }
1115: # 204 "/usr/include/c++/12/bits/allocator.h" 3
1115:       friend bool
1115:       operator==(const allocator&, const allocator&) noexcept
1115:       { return true; }
1115: 
1115: 
1115:       friend bool
1115:       operator!=(const allocator&, const allocator&) noexcept
1115:       { return false; }
1115: 
1115: 
1115: 
1115:     };
1115: 
1115:   template<typename _T1, typename _T2>
1115:     inline bool
1115:     operator==(const allocator<_T1>&, const allocator<_T2>&)
1115:     noexcept
1115:     { return true; }
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     inline bool
1115:     operator!=(const allocator<_T1>&, const allocator<_T2>&)
1115:     noexcept
1115:     { return false; }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     class allocator<const _Tp>
1115:     {
1115:     public:
1115:       typedef _Tp value_type;
1115:       template<typename _Up> allocator(const allocator<_Up>&) { }
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     class allocator<volatile _Tp>
1115:     {
1115:     public:
1115:       typed_Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Functor, typename = __void_t<>>
609:     struct _Maybe_get_result_type
609:     { };
609: 
609:   template<typename _Functor>
609:     struct _Maybe_get_result_type<_Functor,
609:       __void_t<typename _Functor::result_type>>
609:     { typedef typename _Functor::result_type result_type; };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Functor>
609:     struct _Weak_result_type_impl
609:     : _Maybe_get_result_type<_Functor>
609:     { };
609: 
609: 
609:   template<typename _Res, typename... _ArgTypes , bool _NE>
609:     struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
609:     { typedef _Res result_type; };
609: 
609: 
609:   template<typename _Res, typename... _ArgTypes , bool _NE>
609:     struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)>
609:     { typedef _Res result_type; };
609: 
609: 
609:   template<typename _Res, typename... _ArgTypes , bool _NE>
609:     struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
609:     { typedef _Res result_type; };
609: 
609: 
609:   template<typename _Res, typename... _ArgTypes , bool _NE>
609:     struct
609:     _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)>
609:     { typedef _Res result_type; };
609: 
609: 
609:   template<typename _Functor,
609:     bool = is_member_function_pointer<_Functor>::value>
609:     struct _Weak_result_type_memfun
609:     : _Weak_result_type_impl<_Functor>
609:     { };
609: 
609: 
609:   template<typename _MemFunPtr>
609:     struct _Weak_result_type_memfun<_MemFunPtr, true>
609:     {
609:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
609:     };
609: 
609: 
609:   template<typename _Func, typename _Class>
609:     struct _Weak_result_type_memfun<_Func _Class::*, false>
609:     { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Functor>
609:     struct _Weak_result_type
609:     : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp, typename = __void_t<>>
609:     struct _Refwrap_base_arg1
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct _Refwrap_base_arg1<_Tp,
609:          __void_t<typename _Tp::argument_type>>
609:     {
609:       typedef typename _Tp::argument_type argument_type;
609:     };
609: 
609: 
609:   template<typename _Tp, typename = __void_t<>>
609:     struct _Refwrap_base_arg2
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct _Refwrap_base_arg2<_Tp,
609:          __void_t<typename _Tp::first_argument_type,
609:            typename _Tp::second_argument_type>>
609:     {
609:       typedef typename _Tp::first_argument_type first_argument_type;
609:       typedef typename _Tp::second_argument_type second_argument_type;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct _Reference_wrapper_baseef _Tp value_type;
1115:       template<typename _Up> allocator(const allocator<_Up>&) { }
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     class allocator<const volatile _Tp>
1115:     {
1115:     public:
1115:       typedef _Tp value_type;
1115:       template<typename _Up> allocator(const allocator<_Up>&) { }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   extern template class allocator<char>;
1115:   extern template class allocator<wchar_t>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1115:     struct __alloc_swap
1115:     { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
1115: 
1115:   template<typename _Alloc>
1115:     struct __alloc_swap<_Alloc, false>
1115:     {
1115:       static void
1115:       _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
1115:       {
1115: 
1115:  if (__one != __two)
1115:    swap(__one, __two);
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1115:     struct __alloc_neq
1115:     {
1115:       static bool
1115:       _S_do_it(const _Alloc&, const _Alloc&)
1115:       { return false; }
1115:     };
1115: 
1115:   template<typename _Alloc>
1115:     struct __alloc_neq<_Alloc, false>
1115:     {
1115:       static bool
1115:       _S_do_it(const _Alloc& __one, const _Alloc& __two)
1115:       { return __one != __two; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, bool
1115:     = __or_<is_copy_constructible<typename _Tp::value_type>,
1115:             is_nothrow_move_constructible<typename _Tp::value_type>>::value>
1115:     struct __shrink_to_fit_aux
1115:     { static bool _S_do_it(_Tp&) noexcept { return false; } };
1115: 
1115:   template<typename _Tp>
1115:     struct __shrink_to_fit_aux<_Tp, true>
1115:     {
1115:      
1115:       static bool
1115:       _S_do_it(_Tp& __c) noexcept
1115:       {
1115: 
1115:  try
1115:    {
1115:      _Tp(__make_move_if_noexcept_iterator(__c.begin()),
1115:   __make_move_if_noexcept_iterator(__c.end()),
1115:   __c.get_allocator()).swap(__c);
1115:      return true;
1115:    }
1115:  catch(...)
1115:    { return false; }
1115: 
1115: 
1115: 
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_construct.h" 1 3
1115: # 73 "/usr/include/c++/12/bits/stl_construct.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template <typename _Tp>
1115:     inline void
1115:     destroy_at(_Tp* __location)
1115:     {
1115:       if constexpr (201703L > 201703L && is_array_v<_Tp>)
1115:  {
1115:    for (auto& __x : *__location)
1115:      std::destroy_at(std::__addressof(__x));
1115:  }
1115:       else
1115:  __location->~_Tp();
1115:     }
1115: # 106 "/usr/include/c++/12/bits/stl_construct.h" 3
1115:   template<typename _Tp, typename... _Args>
1115:    
1115:     inline void
1115:     _Construct(_Tp* __p, _Args&&... __args)
1115:     {
1115: # 119 "/usr/include/c++/12/bits/stl_construct.h" 3
1115:       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1115:     }
1115: # 132 "/usr/include/c++/12/bits/stl_construct.h" 3
1115:   template<typename _T1>
1115:     inline void
1115:     _Construct_novalue(_T1* __p)
1115:     { ::new((void*)__p) _T1; }
1115: 
1115:   template<typename _ForwardIterator>
1115:     void
1115:     _Destroy(_ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr inline void
1115:     _Destroy(_Tp* __pointer)
1115:     {
1115: 
1115: 
1115: 
1115:       __pointer->~_Tp();
1115: 
1115:     }
1115: 
1115:   template<bool>
1115:     struct _Destroy_aux
1115:     {
1115:       template<typename _ForwardIterator>
1115:  static void
1115:  __destroy(_ForwardIterator __first, _ForwardIterator __last)
1115:  {
1115:    for (; __first != __last; ++__first)
1115:      std::_Destroy(std::__addressof(*__first));
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     s
609:     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
609:     { };
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609:   template<typename _Res, typename _T1 , bool _NE>
609:     struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
609:     : unary_function<_T1, _Res>
609:     { };
609: 
609:   template<typename _Res, typename _T1>
609:     struct _Reference_wrapper_base<_Res(_T1) const>
609:     : unary_function<_T1, _Res>
609:     { };
609: 
609:   template<typename _Res, typename _T1>
609:     struct _Reference_wrapper_base<_Res(_T1) volatile>
609:     : unary_function<_T1, _Res>
609:     { };
609: 
609:   template<typename _Res, typename _T1>
609:     struct _Reference_wrapper_base<_Res(_T1) const volatile>
609:     : unary_function<_T1, _Res>
609:     { };
609: 
609: 
609:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
609:     struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
609:     : binary_function<_T1, _T2, _Res>
609:     { };
609: 
609:   template<typename _Res, typename _T1, typename _T2>
609:     struct _Reference_wrapper_base<_Res(_T1, _T2) const>
609:     : binary_function<_T1, _T2, _Res>
609:     { };
609: 
609:   template<typename _Res, typename _T1, typename _T2>
609:     struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
609:     : binary_function<_T1, _T2, _Res>
609:     { };
609: 
609:   template<typename _Res, typename _T1, typename _T2>
609:     struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
609:     : binary_function<_T1, _T2, _Res>
609:     { };
609: 
609: 
609:   template<typename _Res, typename _T1 , bool _NE>
609:     struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
609:     : unary_function<_T1, _Res>
609:     { };
609: 
609: 
609:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
609:     struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
609:     : binary_function<_T1, _T2, _Res>
609:     { };
609: 
609:   template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
609:     struct _Reference_wrapper_base_memfun
609:     : _Reference_wrapper_base<_Tp>
609:     { };
609: 
609:   template<typename _MemFunPtr>
609:     struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
609:     : _Mem_fn_traits<_MemFunPtr>::__maybe_type
609:     {
609:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
609:     };
609: #pragma GCC diagnostic pop
609: # 302 "/usr/include/c++/12/bits/refwrap.h" 3
609:   template<typename _Tp>
609:     class reference_wrapper
609: 
609: 
609: 
609:     : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
609: 
609:     {
609:       _Tp* _M_data;
609: 
609:      
609:       static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
609: 
609:       static void _S_fun(_Tp&&) = delete;
609: 
609:       template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
609:  using __not_same
609:    = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
609: 
609:     public:
609:       typedef _Tp type;
609: 
609: 
609: 
609: 
609:       template<typename _Up, typename = __not_same<_Up>, typename
609:   = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
609: 
609:  reference_wrapper(_Up&& __uref)
609:  noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
609:  : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
609:  { }
609: 
609:       reference_wrapper(const reference_wrapper&) = default;
609: 
609:       reference_wrapper&
609:       operator=(const reference_wrapper&) = default;
609: 
609:      
609:       operator _Tp&() const noexcept
609:       { return this->get(); }
609: 
609:      
609:       _Tp&
609:       get() const noexcept
609:       { return *_M_data; }
609: 
609:       template<typename... _Args>
609: 
609:  typename result_of<_Tp&(_Args&&...)>::type
609:  operator()(_Args&&... __args) const
609:  {
609: 
609: 
609: 
609: 
609:    return std::__invoke(truct _Destroy_aux<true>
1115:     {
1115:       template<typename _ForwardIterator>
1115:         static void
1115:         __destroy(_ForwardIterator, _ForwardIterator) { }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator>
1115:     inline void
1115:     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:                        _Value_type;
1115: 
1115: 
1115:       static_assert(is_destructible<_Value_type>::value,
1115:       "value type is destructible");
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
1115:  __destroy(__first, __last);
1115:     }
1115: 
1115:   template<bool>
1115:     struct _Destroy_n_aux
1115:     {
1115:       template<typename _ForwardIterator, typename _Size>
1115:  static _ForwardIterator
1115:  __destroy_n(_ForwardIterator __first, _Size __count)
1115:  {
1115:    for (; __count > 0; (void)++__first, --__count)
1115:      std::_Destroy(std::__addressof(*__first));
1115:    return __first;
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct _Destroy_n_aux<true>
1115:     {
1115:       template<typename _ForwardIterator, typename _Size>
1115:         static _ForwardIterator
1115:         __destroy_n(_ForwardIterator __first, _Size __count)
1115:  {
1115:    std::advance(__first, __count);
1115:    return __first;
1115:  }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Size>
1115:     inline _ForwardIterator
1115:     _Destroy_n(_ForwardIterator __first, _Size __count)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:                        _Value_type;
1115: 
1115: 
1115:       static_assert(is_destructible<_Value_type>::value,
1115:       "value type is destructible");
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>::
1115:  __destroy_n(__first, __count);
1115:     }
1115: 
1115: 
1115:   template <typename _ForwardIterator>
1115:     inline void
1115:     destroy(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115:       std::_Destroy(__first, __last);
1115:     }
1115: 
1115:   template <typename _ForwardIterator, typename _Size>
1115:     inline _ForwardIterator
1115:     destroy_n(_ForwardIterator __first, _Size __count)
1115:     {
1115:       return std::_Destroy_n(__first, __count);
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: # 66 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_uninitialized.h" 1 3
1115: # 64 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115: # 1 "/usr/include/c++/12/ext/alloc_traits.h" 1 3
1115: # 32 "/usr/include/c++/12/ext/alloc_traits.h" 3
1115:        
1115: # 33 "/usr/include/c++/12/ext/alloc_traits.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/alloc_traits.h" 1 3
1115: # 41 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   struct __allocator_traits_base
1115:   {
1115:     template<typename _Tp, typename _Up, typename = void>
1115:       struct __rebind : __replace_first_arg<_Tp, _Up> { };
1115: 
1115:     template<typename _Tp, typename _Up>
1115:       struct __rebind<_Tp, _Up,
1115:         __void_t<typename _Tp::template rebind<_Up>::other>>
1115:       { using type = typename _Tp::template rebind<_Up>::other; };
1115: 
1115:   protected:
1115:     template<typename _Tp>
1115:       using __pointer = typename _Tp::pointer;
1115:     template<typename _Tp>
1115:       using __c_pointer = typename _Tp::const_pointer;
1115:     template<typename _Tp>
1115:       using __v_pointer = typename _Tp::void_pointer;
1115:     template<typename _Tp>
1115:       using __cv_pointer = typename _Tp::const_void_pointer;
1115:     template<typename _Tp>
1115:       using __pocca = typename _Tp::propagate_on_container_copy_assget(), std::forward<_Args>(__args)...);
609:  }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:    
609:     inline reference_wrapper<_Tp>
609:     ref(_Tp& __t) noexcept
609:     { return reference_wrapper<_Tp>(__t); }
609: 
609: 
609:   template<typename _Tp>
609:    
609:     inline reference_wrapper<const _Tp>
609:     cref(const _Tp& __t) noexcept
609:     { return reference_wrapper<const _Tp>(__t); }
609: 
609:   template<typename _Tp>
609:     void ref(const _Tp&&) = delete;
609: 
609:   template<typename _Tp>
609:     void cref(const _Tp&&) = delete;
609: 
609: 
609:   template<typename _Tp>
609:    
609:     inline reference_wrapper<_Tp>
609:     ref(reference_wrapper<_Tp> __t) noexcept
609:     { return __t; }
609: 
609: 
609:   template<typename _Tp>
609:    
609:     inline reference_wrapper<const _Tp>
609:     cref(reference_wrapper<_Tp> __t) noexcept
609:     { return { __t.get() }; }
609: 
609: 
609: 
609: 
609: }
609: # 52 "/usr/include/c++/12/string" 2 3
609: # 1 "/usr/include/c++/12/bits/range_access.h" 1 3
609: # 33 "/usr/include/c++/12/bits/range_access.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/range_access.h" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     begin(_Container& __cont) -> decltype(__cont.begin())
609:     { return __cont.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     begin(const _Container& __cont) -> decltype(__cont.begin())
609:     { return __cont.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     end(_Container& __cont) -> decltype(__cont.end())
609:     { return __cont.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     end(const _Container& __cont) -> decltype(__cont.end())
609:     { return __cont.end(); }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, size_t _Nm>
609:     [[__nodiscard__]]
609:     inline constexpr _Tp*
609:     begin(_Tp (&__arr)[_Nm]) noexcept
609:     { return __arr; }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, size_t _Nm>
609:     [[__nodiscard__]]
609:     inline constexpr _Tp*
609:     end(_Tp (&__arr)[_Nm]) noexcept
609:     { return __arr + _Nm; }
609: 
609: 
609: 
609:   template<typename _Tp> class valarray;
609: 
609:   template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
609:   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
609:   template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
609:   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     constexpr auto
609:     cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
609:       -> decltype(std::begin(__cont))
609:     { return std::begin(__cont); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     constexpr auto
609:     cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
609:       -> decltype(std::end(__cont))
609:     { return std::end(__cont); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     rbegin(_Container& __cont) -> decltype(__cont.rbegin())
609:     { return __cont.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     rbegin(const _Container& __cont) -> decltype(__cont.rbegin())ignment;
1115:     template<typename _Tp>
1115:       using __pocma = typename _Tp::propagate_on_container_move_assignment;
1115:     template<typename _Tp>
1115:       using __pocs = typename _Tp::propagate_on_container_swap;
1115:     template<typename _Tp>
1115:       using __equal = typename _Tp::is_always_equal;
1115:   };
1115: 
1115:   template<typename _Alloc, typename _Up>
1115:     using __alloc_rebind
1115:       = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
1115: # 89 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:   template<typename _Alloc>
1115:     struct allocator_traits : __allocator_traits_base
1115:     {
1115: 
1115:       typedef _Alloc allocator_type;
1115: 
1115:       typedef typename _Alloc::value_type value_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
1115: 
1115:     private:
1115: 
1115:       template<template<typename> class _Func, typename _Tp, typename = void>
1115:  struct _Ptr
1115:  {
1115:    using type = typename pointer_traits<pointer>::template rebind<_Tp>;
1115:  };
1115: 
1115:       template<template<typename> class _Func, typename _Tp>
1115:  struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
1115:  {
1115:    using type = _Func<_Alloc>;
1115:  };
1115: 
1115: 
1115:       template<typename _A2, typename _PtrT, typename = void>
1115:  struct _Diff
1115:  { using type = typename pointer_traits<_PtrT>::difference_type; };
1115: 
1115:       template<typename _A2, typename _PtrT>
1115:  struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
1115:  { using type = typename _A2::difference_type; };
1115: 
1115: 
1115:       template<typename _A2, typename _DiffT, typename = void>
1115:  struct _Size : make_unsigned<_DiffT> { };
1115: 
1115:       template<typename _A2, typename _DiffT>
1115:  struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
1115:  { using type = typename _A2::size_type; };
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using void_pointer = typename _Ptr<__v_pointer, void>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using difference_type = typename _Diff<_Alloc, pointer>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using size_type = typename _Size<_Alloc, difference_type>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using propagate_on_container_copy_assignment
1115:  = __detected_or_t<false_type, __pocca, _Alloc>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using propagate_on_container_move_assignment
1115:  = __detected_or_t<false_type, __pocma, _Alloc>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using propagate_on_container_swap
1115:  = __detected_or_t<false_type, __pocs, _Alloc>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using is_always_equal
1115:  = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>;
1115: 
1115:       template<typename _Tp>
1115:  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
1115:       template<typename _Tp>
1115:  using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
1115: 
1115:     private:
1115:       template<typename _Alloc2>
1115:  static constexpr auto
1115:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int)
1115:  -> decltype(__a.allocate(__n, __hint))
1115:  { return __a.allocate(__n, __hint); }
1115: 
1115:       template<typename _Alloc2>
1115:  static constexpr pointer
1115:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...)
1115:  { return __a.allocate(__n); }
1115: 
1115:       template<typename _Tp, typename... _Args>
1115:  struct __construct_helper
1115:  {
1115:    template<typename _Alloc2,
1115:      typename = de
609:     { return __cont.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     rend(_Container& __cont) -> decltype(__cont.rend())
609:     { return __cont.rend(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     rend(const _Container& __cont) -> decltype(__cont.rend())
609:     { return __cont.rend(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, size_t _Nm>
609:     [[__nodiscard__]]
609:     inline constexpr reverse_iterator<_Tp*>
609:     rbegin(_Tp (&__arr)[_Nm]) noexcept
609:     { return reverse_iterator<_Tp*>(__arr + _Nm); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, size_t _Nm>
609:     [[__nodiscard__]]
609:     inline constexpr reverse_iterator<_Tp*>
609:     rend(_Tp (&__arr)[_Nm]) noexcept
609:     { return reverse_iterator<_Tp*>(__arr); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]]
609:     inline constexpr reverse_iterator<const _Tp*>
609:     rbegin(initializer_list<_Tp> __il) noexcept
609:     { return reverse_iterator<const _Tp*>(__il.end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]]
609:     inline constexpr reverse_iterator<const _Tp*>
609:     rend(initializer_list<_Tp> __il) noexcept
609:     { return reverse_iterator<const _Tp*>(__il.begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont))
609:     { return std::rbegin(__cont); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Container>
609:     [[__nodiscard__]]
609:     inline constexpr auto
609:     crend(const _Container& __cont) -> decltype(std::rend(__cont))
609:     { return std::rend(__cont); }
609: # 261 "/usr/include/c++/12/bits/range_access.h" 3
609:   template <typename _Container>
609:     [[nodiscard]]
609:     constexpr auto
609:     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
609:     -> decltype(__cont.size())
609:     { return __cont.size(); }
609: 
609: 
609: 
609: 
609:   template <typename _Tp, size_t _Nm>
609:     [[nodiscard]]
609:     constexpr size_t
609:     size(const _Tp (&)[_Nm]) noexcept
609:     { return _Nm; }
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Container>
609:     [[nodiscard]] constexpr auto
609:     empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
609:     -> decltype(__cont.empty())
609:     { return __cont.empty(); }
609: 
609: 
609: 
609: 
609:   template <typename _Tp, size_t _Nm>
609:     [[nodiscard]] constexpr bool
609:     empty(const _Tp (&)[_Nm]) noexcept
609:     { return false; }
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp>
609:     [[nodiscard]] constexpr bool
609:     empty(initializer_list<_Tp> __il) noexcept
609:     { return __il.size() == 0;}
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Container>
609:     [[nodiscard]]
609:     constexpr auto
609:     data(_Container& __cont) noexcept(noexcept(__cont.data()))
609:     -> decltype(__cont.data())
609:     { return __cont.data(); }
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Container>
609:     [[nodiscard]]
609:     constexpr auto
609:     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
609:     -> decltype(__cont.data())
609:     { return __cont.data(); }
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp, size_t _Nm>
609:     [[nodiscard]]
609:     constexpr _Tp*
609:     data(_Tp (&__array)[_Nm]) noexcept
609:     { return __array; }
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp>
609:     [[nodiscard]]
609:     constexpr const _Tp*
609:     data(initializer_list<_Tp> __il) noexcept
609:     { return __il.begin(); }
609: # 367 "/usr/include/c++/12/bits/range_access.h" 3
609: 
609: }
609: # 53 "/usr/incltype(std::declval<_Alloc2*>()->construct(
1115:     std::declval<_Tp*>(), std::declval<_Args>()...))>
1115:      static true_type __test(int);
1115: 
1115:    template<typename>
1115:      static false_type __test(...);
1115: 
1115:    using type = decltype(__test<_Alloc>(0));
1115:  };
1115: 
1115:       template<typename _Tp, typename... _Args>
1115:  using __has_construct
1115:    = typename __construct_helper<_Tp, _Args...>::type;
1115: 
1115:       template<typename _Tp, typename... _Args>
1115:  static constexpr _Require<__has_construct<_Tp, _Args...>>
1115:  _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1115:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
1115:  { __a.construct(__p, std::forward<_Args>(__args)...); }
1115: 
1115:       template<typename _Tp, typename... _Args>
1115:  static constexpr
1115:  _Require<__and_<__not_<__has_construct<_Tp, _Args...>>,
1115:           is_constructible<_Tp, _Args...>>>
1115:  _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
1115:  noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value)
1115:  {
1115: 
1115:    ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1115: 
1115: 
1115: 
1115:  }
1115: 
1115:       template<typename _Alloc2, typename _Tp>
1115:  static constexpr auto
1115:  _S_destroy(_Alloc2& __a, _Tp* __p, int)
1115:  noexcept(noexcept(__a.destroy(__p)))
1115:  -> decltype(__a.destroy(__p))
1115:  { __a.destroy(__p); }
1115: 
1115:       template<typename _Alloc2, typename _Tp>
1115:  static constexpr void
1115:  _S_destroy(_Alloc2&, _Tp* __p, ...)
1115:  noexcept(std::is_nothrow_destructible<_Tp>::value)
1115:  { std::_Destroy(__p); }
1115: 
1115:       template<typename _Alloc2>
1115:  static constexpr auto
1115:  _S_max_size(_Alloc2& __a, int)
1115:  -> decltype(__a.max_size())
1115:  { return __a.max_size(); }
1115: 
1115:       template<typename _Alloc2>
1115:  static constexpr size_type
1115:  _S_max_size(_Alloc2&, ...)
1115:  {
1115: 
1115: 
1115:    return __gnu_cxx::__numeric_traits<size_type>::__max
1115:      / sizeof(value_type);
1115:  }
1115: 
1115:       template<typename _Alloc2>
1115:  static constexpr auto
1115:  _S_select(_Alloc2& __a, int)
1115:  -> decltype(__a.select_on_container_copy_construction())
1115:  { return __a.select_on_container_copy_construction(); }
1115: 
1115:       template<typename _Alloc2>
1115:  static constexpr _Alloc2
1115:  _S_select(_Alloc2& __a, ...)
1115:  { return __a; }
1115: 
1115:     public:
1115: # 316 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       [[__nodiscard__]] static pointer
1115:       allocate(_Alloc& __a, size_type __n)
1115:       { return __a.allocate(__n); }
1115: # 331 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       [[__nodiscard__]] static pointer
1115:       allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
1115:       { return _S_allocate(__a, __n, __hint, 0); }
1115: # 343 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       static void
1115:       deallocate(_Alloc& __a, pointer __p, size_type __n)
1115:       { __a.deallocate(__p, __n); }
1115: # 358 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       template<typename _Tp, typename... _Args>
1115:  static auto
1115:  construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1115:  noexcept(noexcept(_S_construct(__a, __p,
1115:            std::forward<_Args>(__args)...)))
1115:  -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
1115:  { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
1115: # 374 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       template<typename _Tp>
1115:  static void
1115:  destroy(_Alloc& __a, _Tp* __p)
1115:  noexcept(noexcept(_S_destroy(__a, __p, 0)))
1115:  { _S_destroy(__a, __p, 0); }
1115: # 388 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       static size_type
1115:       max_size(const _Alloc& __a) noexcept
1115:       { return _S_max_size(__a, 0); }
1115: # 400 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       static _Alloc
1115:       select_on_container_copy_construction(const _Alloc& _clude/c++/12/string" 2 3
609: # 1 "/usr/include/c++/12/bits/basic_string.h" 1 3
609: # 37 "/usr/include/c++/12/bits/basic_string.h" 3
609:        
609: # 38 "/usr/include/c++/12/bits/basic_string.h" 3
609: 
609: # 1 "/usr/include/c++/12/ext/alloc_traits.h" 1 3
609: # 32 "/usr/include/c++/12/ext/alloc_traits.h" 3
609:        
609: # 33 "/usr/include/c++/12/ext/alloc_traits.h" 3
609: 
609: # 1 "/usr/include/c++/12/bits/alloc_traits.h" 1 3
609: # 41 "/usr/include/c++/12/bits/alloc_traits.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   struct __allocator_traits_base
609:   {
609:     template<typename _Tp, typename _Up, typename = void>
609:       struct __rebind : __replace_first_arg<_Tp, _Up> { };
609: 
609:     template<typename _Tp, typename _Up>
609:       struct __rebind<_Tp, _Up,
609:         __void_t<typename _Tp::template rebind<_Up>::other>>
609:       { using type = typename _Tp::template rebind<_Up>::other; };
609: 
609:   protected:
609:     template<typename _Tp>
609:       using __pointer = typename _Tp::pointer;
609:     template<typename _Tp>
609:       using __c_pointer = typename _Tp::const_pointer;
609:     template<typename _Tp>
609:       using __v_pointer = typename _Tp::void_pointer;
609:     template<typename _Tp>
609:       using __cv_pointer = typename _Tp::const_void_pointer;
609:     template<typename _Tp>
609:       using __pocca = typename _Tp::propagate_on_container_copy_assignment;
609:     template<typename _Tp>
609:       using __pocma = typename _Tp::propagate_on_container_move_assignment;
609:     template<typename _Tp>
609:       using __pocs = typename _Tp::propagate_on_container_swap;
609:     template<typename _Tp>
609:       using __equal = typename _Tp::is_always_equal;
609:   };
609: 
609:   template<typename _Alloc, typename _Up>
609:     using __alloc_rebind
609:       = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
609: # 89 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:   template<typename _Alloc>
609:     struct allocator_traits : __allocator_traits_base
609:     {
609: 
609:       typedef _Alloc allocator_type;
609: 
609:       typedef typename _Alloc::value_type value_type;
609: 
609: 
609: 
609: 
609: 
609: 
609:       using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
609: 
609:     private:
609: 
609:       template<template<typename> class _Func, typename _Tp, typename = void>
609:  struct _Ptr
609:  {
609:    using type = typename pointer_traits<pointer>::template rebind<_Tp>;
609:  };
609: 
609:       template<template<typename> class _Func, typename _Tp>
609:  struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
609:  {
609:    using type = _Func<_Alloc>;
609:  };
609: 
609: 
609:       template<typename _A2, typename _PtrT, typename = void>
609:  struct _Diff
609:  { using type = typename pointer_traits<_PtrT>::difference_type; };
609: 
609:       template<typename _A2, typename _PtrT>
609:  struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
609:  { using type = typename _A2::difference_type; };
609: 
609: 
609:       template<typename _A2, typename _DiffT, typename = void>
609:  struct _Size : make_unsigned<_DiffT> { };
609: 
609:       template<typename _A2, typename _DiffT>
609:  struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
609:  { using type = typename _A2::size_type; };
609: 
609:     public:
609: 
609: 
609: 
609: 
609: 
609: 
609:       using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       using void_pointer = typename _Ptr<__v_pointer, void>::type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       using difference_type = typename _Diff<_Alloc, pointer>::type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       using size_type = typename _Size<_Alloc, difference_type>::type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:  _rhs)
1115:       { return _S_select(__rhs, 0); }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct allocator_traits<allocator<_Tp>>
1115:     {
1115: 
1115:       using allocator_type = allocator<_Tp>;
1115: 
1115: 
1115:       using value_type = _Tp;
1115: 
1115: 
1115:       using pointer = _Tp*;
1115: 
1115: 
1115:       using const_pointer = const _Tp*;
1115: 
1115: 
1115:       using void_pointer = void*;
1115: 
1115: 
1115:       using const_void_pointer = const void*;
1115: 
1115: 
1115:       using difference_type = std::ptrdiff_t;
1115: 
1115: 
1115:       using size_type = std::size_t;
1115: 
1115: 
1115:       using propagate_on_container_copy_assignment = false_type;
1115: 
1115: 
1115:       using propagate_on_container_move_assignment = true_type;
1115: 
1115: 
1115:       using propagate_on_container_swap = false_type;
1115: 
1115: 
1115:       using is_always_equal = true_type;
1115: 
1115:       template<typename _Up>
1115:  using rebind_alloc = allocator<_Up>;
1115: 
1115:       template<typename _Up>
1115:  using rebind_traits = allocator_traits<allocator<_Up>>;
1115: # 462 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       [[__nodiscard__]] static pointer
1115:       allocate(allocator_type& __a, size_type __n)
1115:       { return __a.allocate(__n); }
1115: # 476 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       [[__nodiscard__]] static pointer
1115:       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
1115:       {
1115: 
1115:  return __a.allocate(__n, __hint);
1115: 
1115: 
1115: 
1115:       }
1115: # 494 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       static void
1115:       deallocate(allocator_type& __a, pointer __p, size_type __n)
1115:       { __a.deallocate(__p, __n); }
1115: # 509 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       template<typename _Up, typename... _Args>
1115:  static void
1115:  construct(allocator_type& __a __attribute__((__unused__)), _Up* __p,
1115:     _Args&&... __args)
1115:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1115:  {
1115: 
1115:    __a.construct(__p, std::forward<_Args>(__args)...);
1115: 
1115: 
1115: 
1115:  }
1115: # 529 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       template<typename _Up>
1115:  static void
1115:  destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
1115:  noexcept(is_nothrow_destructible<_Up>::value)
1115:  {
1115: 
1115:    __a.destroy(__p);
1115: 
1115: 
1115: 
1115:  }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static size_type
1115:       max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
1115:       {
1115: 
1115:  return __a.max_size();
1115: 
1115: 
1115: 
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static allocator_type
1115:       select_on_container_copy_construction(const allocator_type& __rhs)
1115:       { return __rhs; }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct allocator_traits<allocator<void>>
1115:     {
1115: 
1115:       using allocator_type = allocator<void>;
1115: 
1115: 
1115:       using value_type = void;
1115: 
1115: 
1115:       using pointer = void*;
1115: 
1115: 
1115:       using const_pointer = const void*;
1115: 
1115: 
1115:       using void_pointer = void*;
1115: 
1115: 
1115:       using const_void_pointer = const void*;
1115: 
1115: 
1115:       using difference_type = std::ptrdiff_t;
1115: 
1115: 
1115:       using size_type = std::size_t;
1115: 
1115: 
1115:       using propagate_on_container_copy_assignment = false_type;
1115: 
1115: 
1115:       using propagate_on_container_move_assignment = true_type;
1115: 
1115: 
1115:       using propagate_on_container_swap = false_type;
1115: 
1115: 
1115:       using is_always_equal = true_type;
1115: 
1115:       template<typename _Up>
1115:  using rebind_alloc = allocator<_Up>;
1115: 
1115:       template<typename _Up>
1115:  using rebind_traits = allocator_traits<allocator<_Up>>;
1115: 
1115: 
1115:       static void*
1115:       all     using propagate_on_container_copy_assignment
609:  = __detected_or_t<false_type, __pocca, _Alloc>;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       using propagate_on_container_move_assignment
609:  = __detected_or_t<false_type, __pocma, _Alloc>;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       using propagate_on_container_swap
609:  = __detected_or_t<false_type, __pocs, _Alloc>;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       using is_always_equal
609:  = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>;
609: 
609:       template<typename _Tp>
609:  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
609:       template<typename _Tp>
609:  using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
609: 
609:     private:
609:       template<typename _Alloc2>
609:  static constexpr auto
609:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int)
609:  -> decltype(__a.allocate(__n, __hint))
609:  { return __a.allocate(__n, __hint); }
609: 
609:       template<typename _Alloc2>
609:  static constexpr pointer
609:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...)
609:  { return __a.allocate(__n); }
609: 
609:       template<typename _Tp, typename... _Args>
609:  struct __construct_helper
609:  {
609:    template<typename _Alloc2,
609:      typename = decltype(std::declval<_Alloc2*>()->construct(
609:     std::declval<_Tp*>(), std::declval<_Args>()...))>
609:      static true_type __test(int);
609: 
609:    template<typename>
609:      static false_type __test(...);
609: 
609:    using type = decltype(__test<_Alloc>(0));
609:  };
609: 
609:       template<typename _Tp, typename... _Args>
609:  using __has_construct
609:    = typename __construct_helper<_Tp, _Args...>::type;
609: 
609:       template<typename _Tp, typename... _Args>
609:  static constexpr _Require<__has_construct<_Tp, _Args...>>
609:  _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
609:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
609:  { __a.construct(__p, std::forward<_Args>(__args)...); }
609: 
609:       template<typename _Tp, typename... _Args>
609:  static constexpr
609:  _Require<__and_<__not_<__has_construct<_Tp, _Args...>>,
609:           is_constructible<_Tp, _Args...>>>
609:  _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
609:  noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value)
609:  {
609: 
609:    ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
609: 
609: 
609: 
609:  }
609: 
609:       template<typename _Alloc2, typename _Tp>
609:  static constexpr auto
609:  _S_destroy(_Alloc2& __a, _Tp* __p, int)
609:  noexcept(noexcept(__a.destroy(__p)))
609:  -> decltype(__a.destroy(__p))
609:  { __a.destroy(__p); }
609: 
609:       template<typename _Alloc2, typename _Tp>
609:  static constexpr void
609:  _S_destroy(_Alloc2&, _Tp* __p, ...)
609:  noexcept(std::is_nothrow_destructible<_Tp>::value)
609:  { std::_Destroy(__p); }
609: 
609:       template<typename _Alloc2>
609:  static constexpr auto
609:  _S_max_size(_Alloc2& __a, int)
609:  -> decltype(__a.max_size())
609:  { return __a.max_size(); }
609: 
609:       template<typename _Alloc2>
609:  static constexpr size_type
609:  _S_max_size(_Alloc2&, ...)
609:  {
609: 
609: 
609:    return __gnu_cxx::__numeric_traits<size_type>::__max
609:      / sizeof(value_type);
609:  }
609: 
609:       template<typename _Alloc2>
609:  static constexpr auto
609:  _S_select(_Alloc2& __a, int)
609:  -> decltype(__a.select_on_container_copy_construction())
609:  { return __a.select_on_container_copy_construction(); }
609: 
609:       template<typename _Alloc2>
609:  static constexpr _Alloc2
609:  _S_select(_Alloc2& __a, ...)
609:  { return __a; }
609: 
609:     public:
609: # 316 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       [[__nodiscard__]] static pointer
609:       allocate(_Alloc& __a, size_type __n)
609:       { return __a.allocate(__n); }
609: # 331 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       [[__nodiscard__]] static pointer
609:       allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
609:       { return _S_allocate(__a, __n, __hint, 0); }
609: # 343 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       static void
609:       deallocate(_Alloc& __a, pointer __p, size_type __n)
609:       { __a.deallocate(__p, __n); }
609: # 358 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       template<typename _Tp, typename... _Args>
609:  static auto
609:  construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
609:  noexcept(noexcept(_S_construct(__a, __p,
609:            std::forward<_Args>(__args)...)))
609:  -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
609:  { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
609: # 374 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       template<typename _Tp>
609:  static void
609:  destroy(_Alloc& __a, _Tp* __p)
609:  noexcept(noexcept(_S_destroy(__a, __p, 0)))
609:  { _S_destroy(__a, __p, 0); }
609: # 388 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       static size_type
609:       max_size(const _Alloc& __a) noexcept
609:       { return _S_max_size(__a, 0); }
609: # 400 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       static _Alloc
609:       select_on_container_copy_construction(const _Alloc& __rhs)
609:       { return _S_select(__rhs, 0); }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct allocator_traits<allocator<_Tp>>
609:     {
609: 
609:       using allocator_type = allocator<_Tp>;
609: 
609: 
609:       using value_type = _Tp;
609: 
609: 
609:       using pointer = _Tp*;
609: 
609: 
609:       using const_pointer = const _Tp*;
609: 
609: 
609:       using void_pointer = void*;
609: 
609: 
609:       using const_void_pointer = const void*;
609: 
609: 
609:       using difference_type = std::ptrdiff_t;
609: 
609: 
609:       using size_type = std::size_t;
609: 
609: 
609:       using propagate_on_container_copy_assignment = false_type;
609: 
609: 
609:       using propagate_on_container_move_assignment = true_type;
609: 
609: 
609:       using propagate_on_container_swap = false_type;
609: 
609: 
609:       using is_always_equal = true_type;
609: 
609:       template<typename _Up>
609:  using rebind_alloc = allocator<_Up>;
609: 
609:       template<typename _Up>
609:  using rebind_traits = allocator_traits<allocator<_Up>>;
609: # 462 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       [[__nodiscard__]] static pointer
609:       allocate(allocator_type& __a, size_type __n)
609:       { return __a.allocate(__n); }
609: # 476 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       [[__nodiscard__]] static pointer
609:       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
609:       {
609: 
609:  return __a.allocate(__n, __hint);
609: 
609: 
609: 
609:       }
609: # 494 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       static void
609:       deallocate(allocator_type& __a, pointer __p, size_type __n)
609:       { __a.deallocate(__p, __n); }
609: # 509 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       template<typename _Up, typename... _Args>
609:  static void
609:  construct(allocator_type& __a __attribute__((__unused__)), _Up* __p,
609:     _Args&&... __args)
609:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
609:  {
609: 
609:    __a.construct(__p, std::forward<_Args>(__args)...);
609: 
609: 
609: 
609:  }
609: # 529 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       template<typename _Up>
609:  static void
609:  destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
609:  noexcept(is_nothrow_destructible<_Up>::value)
609:  {
609: 
609:    __a.destroy(__p);
609: 
609: 
609: 
609:  }
609: 
609: 
609: 
609: 
609: 
609: 
609:       static size_type
609:       max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
609:       {
609: 
609:  return __a.max_size();
609: 
609: 
609: 
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       static allocator_type
609:       select_on_container_copy_construction(const allocator_type& __rhs)
609:       { return __rhs; }
609:     };
609: 
609: 
609:   template<>
609:     struct allocator_traits<allocator<void>>
609:     {
609: 
609:       using allocator_type = allocator<void>;
609: 
609: 
609:       using value_type = void;
609: 
609: 
609:       using pointer = void*;
609: 
609: 
609:       using const_pointer = const void*;
609: 
609: 
609:       using void_pointer = void*;
609: 
609: 
609:       using const_void_pointer = const void*;
609: 
609: 
609:       using difference_type = std::ptrdiff_t;
609: 
609: 
609:       using size_type = std::size_t;
609: 
609: 
609:       using propagate_on_container_copy_assignment = false_type;
609: 
609: 
609:       using propagate_on_container_move_assignment = true_type;
609: 
609: 
609:       using propagate_on_container_swap = false_type;
609: 
609: 
609:       using is_always_equal = true_type;
609: 
609:       template<typename _Up>
609:  using rebind_alloc = allocator<_Up>;
609: 
609:       template<typename _Up>
609:  using rebind_traits = allocator_traits<allocator<_Up>>;
609: 
609: 
609:       static void*
609:       allocate(allocator_type&, size_type, const void* = nullptr) = delete;
609: 
609: 
609:       static void
609:       deallocate(allocator_type&, void*, size_type) = delete;
609: # 631 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       template<typename _Up, typename... _Args>
609:  static void
609:  construct(allocator_type&, _Up* __p, _Args&&... __args)
609:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
609:  { std::_Construct(__p, std::forward<_Args>(__args)...); }
609: # 644 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:       template<typename _Up>
609:  static void
609:  destroy(allocator_type&, _Up* __p)
609:  noexcept(is_nothrow_destructible<_Up>::value)
609:  { std::_Destroy(__p); }
609: 
609: 
609:       static size_type
609:       max_size(const allocator_type&) = delete;
609: 
609: 
609: 
609: 
609: 
609: 
609:       static allocator_type
609:       select_on_container_copy_construction(const allocator_type& __rhs)
609:       { return __rhs; }
609:     };
609: # 676 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:   template<typename _Alloc>
609:     constexpr inline void
609:     __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
609:     {
609:       typedef allocator_traits<_Alloc> __traits;
609:       typedef typename __traits::propagate_on_container_copy_assignment __pocca;
609: 
609:       if constexpr (__pocca::value)
609:  __one = __two;
609: 
609: 
609: 
609:     }
609: 
609:   template<typename _Alloc>
609:     constexpr _Alloc
609:     __alloc_on_copy(const _Alloc& __a)
609:     {
609:       typedef allocator_traits<_Alloc> __traits;
609:       return __traits::select_on_container_copy_construction(__a);
609:     }
609: # 708 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:   template<typename _Alloc>
609:     constexpr inline void
609:     __alloc_on_move(_Alloc& __one, _Alloc& __two)
609:     {
609:       typedef allocator_traits<_Alloc> __traits;
609:       typedef typename __traits::propagate_on_container_move_assignment __pocma;
609: 
609:       if constexpr (__pocma::value)
609:  __one = std::move(__two);
609: 
609: 
609: 
609:     }
609: # 735 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:   template<typename _Alloc>
609:     constexpr inline void
609:     __alloc_on_swap(_Alloc& __one, _Alloc& __two)
609:     {
609:       typedef allocator_traits<_Alloc> __traits;
609:       typedef typename __traits::propagate_on_container_swap __pocs;
609: 
609:       if constexpr (__pocs::value)
609:  {
609:    using std::swap;
609:    swap(__one, __two);
609:  }
609: 
609: 
609: 
609:     }
609: 
609:   template<typename _Alloc, typename _Tp,
609:     typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
609:     typename = void>
609:     struct __is_alloc_insertable_impl
609:     : false_type
609:     { };
609: 
609:   template<typename _Alloc, typename _Tp, typename _ValueT>
609:     struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
609:       __void_t<decltype(allocator_traits<_Alloc>::construct(
609:      std::declval<_Alloc&>(), std::declval<_ValueT*>(),
609:      std::declval<_Tp>()))>>
609:     : true_type
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename _Alloc>
609:     struct __is_copy_insertable
609:     : __is_alloc_insertable_impl<_Alloc,
609:      typename _Alloc::value_type const&>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_copy_insertable<allocator<_Tp>>
609:     : is_copy_constructible<_Tp>
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename _Alloc>
609:     struct __is_move_insertable
609:     : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_move_insertable<allocator<_Tp>>
609:     : is_move_constructible<_Tp>
609:     { };
609: 
609: 
609:   template<typename _Alloc, typename = void>
609:     struct __is_allocator : false_type { };
609: 
609:   template<typename _Alloc>
609:     struct __is_allocator<_Alloc,
609:       __void_t<typename _Alloc::value_type,
609:         decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
609:     : true_type { };
609: 
609:   template<typename _Alloc>
609:     using _RequireAllocator
609:       = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
609: 
609:   template<typename _Alloc>
609:     using _RequireNotAllocator
609:       = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
609: # 829 "/usr/include/c++/12/bits/alloc_traits.h" 3
609:   template<typename _ForwardIterator, typename _Allocator>
609:    
609:     void
609:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
609:       _Allocator& __alloc)
609:     {
609:       for (; __first != __last; ++__first)
609: 
609: 
609: 
609:  allocator_traits<_Allocator>::destroy(__alloc,
609:            std::__addressof(*__first));
609: 
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp>
609:    
609:     inline void
609:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
609:       allocator<_Tp>&)
609:     {
609:       _Destroy(__first, __last);
609:     }
609: 
609: 
609: }
609: # 35 "/usr/include/c++/12/ext/alloc_traits.h" 2 3
609: 
609: 
609: 
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: template<typename _Alloc, typename = typename _Alloc::value_type>
609:   struct __alloc_traits
609: 
609:   : std::allocator_traits<_Alloc>
609: 
609:   {
609:     typedef _Alloc allocator_type;
609: 
609:     typedef std::allocator_traits<_Alloc> _Base_type;
609:     typedef typename _Base_type::value_type value_type;
609:     typedef typename _Base_type::pointer pointer;
609:     typedef typename _Base_type::const_pointer const_pointer;
609:     typedef typename _Base_type::size_type size_type;
609:     typedef typename _Base_type::difference_type difference_type;
609: 
609:     typedef value_type& reference;
609:     typedef const value_type& const_reference;
609:     using _Base_type::allocate;
609:     using _Base_type::deallocate;
609:     using _Base_type::construct;
609:     using _Base_type::destroy;
609:     using _Base_type::max_size;
609: 
609:   private:
609:     template<typename _Ptr>
609:       using __is_custom_pointer
609:  = std::__and_<std::is_same<pointer, _Ptr>,
609:         std::__not_<std::is_pointer<_Ptr>>>;
609: 
609:   public:
609: 
609:     template<typename _Ptr, typename... _Args>
609:       static constexpr
609:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
609:       construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
609:       noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
609:            std::forward<_Args>(__args)...)))
609:       {
609:  _Base_type::construct(__a, std::__to_address(__p),
609:          std::forward<_Args>(__args)...);
609:       }
609: 
609: 
609:     template<typename _Ptr>
609:       static constexpr
609:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
609:       destroy(_Alloc& __a, _Ptr __p)
609:       noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
609:       { _Base_type::destroy(__a, std::__to_address(__p)); }
609: 
609:     static constexpr _Alloc _S_select_on_copy(const _Alloc& __a)
609:     { return _Base_type::select_on_container_copy_construction(__a); }
609: 
609:     static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
609:     { std::__alloc_on_swap(__a, __b); }
609: 
609:     static constexpr bool _S_propagate_on_copy_assign()
609:     { return _Base_type::propagate_on_container_copy_assignment::value; }
609: 
609:     static constexpr bool _S_propagate_on_move_assign()
609:     { return _Base_type::propagate_on_container_move_assignment::value; }
609: 
609:     static constexpr bool _S_propagate_on_swap()
609:     { return _Base_type::propagate_on_container_swap::value; }
609: 
609:     static constexpr bool _S_always_equal()
609:     { return _Base_type::is_always_equal::value; }
609: 
609:     static constexpr bool _S_nothrow_move()
609:     { return _S_propagate_on_move_assign() || _S_always_equal(); }
609: 
609:     template<typename _Tp>
609:       struct rebind
609:       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
609: # 166 "/usr/include/c++/12/ext/alloc_traits.h" 3
609:   };
609: 
609: 
609: }
609: # 40 "/usr/include/c++/12/bits/basic_string.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/string_view" 1 3
609: # 36 "/usr/include/c++/12/string_view" 3
609:        
609: # 37 "/usr/include/c++/12/string_view" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/functional_hash.h" 1 3
609: # 33 "/usr/include/c++/12/bits/functional_hash.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/functional_hash.h" 3
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 50 "/usr/include/c++/12/bits/functional_hash.h" 3
609:   template<typename _Result, typename _Arg>
609:     struct __hash_base
609:     {
609:       typedef _Result result_type [[__deprecated__]];
609:       typedef _Arg argument_type [[__deprecated__]];
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct hash;
609: 
609:   template<typename _Tp, typename = void>
609:     struct __poison_hash
609:     {
609:       static constexpr bool __enable_hash_call = false;
609:     private:
609: 
609:       __poison_hash(__poison_hash&&);
609:       ~__poison_hash();
609:     };
609: 
609:   template<typename _Tp>
609:     struct __poison_hash<_Tp, __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
609:     {
609:       static constexpr bool __enable_hash_call = true;
609:     };
609: 
609: 
609:   template<typename _Tp, bool = is_enum<_Tp>::value>
609:     struct __hash_enum
609:     {
609:     private:
609: 
609:       __hash_enum(__hash_enum&&);
609:       ~__hash_enum();
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp>
609:     {
609:       size_t
609:       operator()(_Tp __val) const noexcept
609:       {
609:        using __type = typename underlying_type<_Tp>::type;
609:        return hash<__type>{}(static_cast<__type>(__val));
609:       }
609:     };
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct hash : __hash_enum<_Tp>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
609:     {
609:       size_t
609:       operator()(_Tp* __p) const noexcept
609:       { return reinterpret_cast<size_t>(__p); }
609:     };
609: # 125 "/usr/include/c++/12/bits/functional_hash.h" 3
609:   template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
609: 
609: 
609:   template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
609: # 201 "/usr/include/c++/12/bits/functional_hash.h" 3
609:   struct _Hash_impl
609:   {
609:     static size_t
609:     hash(const void* __ptr, size_t __clength,
609:   size_t __seed = static_cast<size_t>(0xc70f6907UL))
609:     { return _Hash_bytes(__ptr, __clength, __seed); }
609: 
609:     template<typename _Tp>
609:       static size_t
609:       hash(const _Tp& __val)
609:       { return hash(&__val, sizeof(__val)); }
609: 
609:     template<typename _Tp>
609:       static size_t
609:       __hash_combine(const _Tp& __val, size_t __hash)
609:       { return hash(&__val, sizeof(__val), __hash); }
609:   };
609: 
609: 
609:   struct _Fnv_hash_impl
609:   {
609:     static size_t
609:     hash(const void* __ptr, size_t __clength,
609:   size_t __seed = static_cast<size_t>(2166136261UL))
609:     { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
609: 
609:     template<typename _Tp>
609:       static size_t
609:       hash(const _Tp& __val)
609:       { return hash(&__val, sizeof(__val)); }
609: 
609:     template<typename _Tp>
609:       static size_t
609:       __hash_combine(const _Tp& __val, size_t __hash)
609:       { return hash(&__val, sizeof(__val), __hash); }
609:   };
609: 
609: 
609:   template<>
609:     struct hash<float> : public __hash_base<size_t, float>
609:     {
609:       size_t
609:       operator()(float __val) const noexcept
609:       {
609: 
609:  return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
609:       }
609:     };
609: 
609: 
609:   template<>
609:     struct hash<double> : public __hash_base<size_t, double>
609:     {
609:       size_t
609:       operator()(double __val) const noexcept
609:       {
609: 
609:  return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
609:       }
609:     };
609: 
609: 
609:   template<>
609:     struct hash<long double>
609:     : public __hash_base<size_t, long double>
609:     {
609:       __attribute__ ((__pure__)) size_t
609:       operator()(long double __val) const noexcept;
609:     };
609: 
609: 
609:   template<>
609:     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
609:     {
609:       size_t
609:       operator()(nullptr_t) const noexcept
609:       { return 0; }
609:     };
609: # 287 "/usr/include/c++/12/bits/functional_hash.h" 3
609:   template<typename _Hash>
609:     struct __is_fast_hash : public std::true_type
609:     { };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<long double>> : public std::false_type
609:     { };
609: 
609: 
609: }
609: # 44 "/usr/include/c++/12/string_view" 2 3
609: # 53 "/usr/include/c++/12/string_view" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   constexpr size_t
609:   __sv_check(size_t __size, size_t __pos, const char* __s)
609:   {
609:     if (__pos > __size)
609:       __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)")
609:                         , __s, __pos, __size);
609:     return __pos;
609:   }
609: 
609: 
609: 
609:   constexpr size_t
609:   __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
609:   {
609:    const bool __testoff = __off < __size - __pos;
609:    return __testoff ? __off : __size - __pos;
609:   }
609: # 99 "/usr/include/c++/12/string_view" 3
609:   template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
609:     class basic_string_view
609:     {
609:       static_assert(!is_array_v<_CharT>);
609:       static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>);
609:       static_assert(is_same_v<_CharT, typename _Traits::char_type>);
609: 
609:     public:
609: 
609: 
609:       using traits_type = _Traits;
609:       using value_type = _CharT;
609:       using pointer = value_type*;
609:       using const_pointer = const value_type*;
609:       using reference = value_type&;
609:       using const_reference = const value_type&;
609:       using const_iterator = const value_type*;
609:       using iterator = const_iterator;
609:       using const_reverse_iterator = std::reverse_iterator<const_iterator>;
609:       using reverse_iterator = const_reverse_iterator;
609:       using size_type = size_t;
609:       using difference_type = ptrdiff_t;
609:       static constexpr size_type npos = size_type(-1);
609: 
609: 
609: 
609:       constexpr
609:       basic_string_view() noexcept
609:       : _M_len{0}, _M_str{nullptr}
609:       { }
609: 
609:       constexpr basic_string_view(const basic_string_view&) noexcept = default;
609: 
609:       __attribute__((__nonnull__)) constexpr
609:       basic_string_view(const _CharT* __str) noexcept
609:       : _M_len{traits_type::length(__str)},
609:  _M_str{__str}
609:       { }
609: 
609:       constexpr
609:       basic_string_view(const _CharT* __str, size_type __len) noexcept
609:       : _M_len{__len}, _M_str{__str}
609:       { }
609: # 176 "/usr/include/c++/12/string_view" 3
609:       constexpr basic_string_view&
609:       operator=(const basic_string_view&) noexcept = default;
609: 
609: 
609: 
609:       constexpr const_iterator
609:       begin() const noexcept
609:       { return this->_M_str; }
609: 
609:       constexpr const_iterator
609:       end() const noexcept
609:       { return this->_M_str + this->_M_len; }
609: 
609:       constexpr const_iterator
609:       cbegin() const noexcept
609:       { return this->_M_str; }
609: 
609:       constexpr const_iterator
609:       cend() const noexcept
609:       { return this->_M_str + this->_M_len; }
609: 
609:       constexpr const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(this->end()); }
609: 
609:       constexpr const_reverse_iterator
609:       rend() const noexcept
609:       { return const_reverse_iterator(this->begin()); }
609: 
609:       constexpr const_rocate(allocator_type&, size_type, const void* = nullptr) = delete;
1115: 
1115: 
1115:       static void
1115:       deallocate(allocator_type&, void*, size_type) = delete;
1115: # 631 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       template<typename _Up, typename... _Args>
1115:  static void
1115:  construct(allocator_type&, _Up* __p, _Args&&... __args)
1115:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1115:  { std::_Construct(__p, std::forward<_Args>(__args)...); }
1115: # 644 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:       template<typename _Up>
1115:  static void
1115:  destroy(allocator_type&, _Up* __p)
1115:  noexcept(is_nothrow_destructible<_Up>::value)
1115:  { std::_Destroy(__p); }
1115: 
1115: 
1115:       static size_type
1115:       max_size(const allocator_type&) = delete;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static allocator_type
1115:       select_on_container_copy_construction(const allocator_type& __rhs)
1115:       { return __rhs; }
1115:     };
1115: # 676 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:   template<typename _Alloc>
1115:     constexpr inline void
1115:     __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
1115:     {
1115:       typedef allocator_traits<_Alloc> __traits;
1115:       typedef typename __traits::propagate_on_container_copy_assignment __pocca;
1115: 
1115:       if constexpr (__pocca::value)
1115:  __one = __two;
1115: 
1115: 
1115: 
1115:     }
1115: 
1115:   template<typename _Alloc>
1115:     constexpr _Alloc
1115:     __alloc_on_copy(const _Alloc& __a)
1115:     {
1115:       typedef allocator_traits<_Alloc> __traits;
1115:       return __traits::select_on_container_copy_construction(__a);
1115:     }
1115: # 708 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:   template<typename _Alloc>
1115:     constexpr inline void
1115:     __alloc_on_move(_Alloc& __one, _Alloc& __two)
1115:     {
1115:       typedef allocator_traits<_Alloc> __traits;
1115:       typedef typename __traits::propagate_on_container_move_assignment __pocma;
1115: 
1115:       if constexpr (__pocma::value)
1115:  __one = std::move(__two);
1115: 
1115: 
1115: 
1115:     }
1115: # 735 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:   template<typename _Alloc>
1115:     constexpr inline void
1115:     __alloc_on_swap(_Alloc& __one, _Alloc& __two)
1115:     {
1115:       typedef allocator_traits<_Alloc> __traits;
1115:       typedef typename __traits::propagate_on_container_swap __pocs;
1115: 
1115:       if constexpr (__pocs::value)
1115:  {
1115:    using std::swap;
1115:    swap(__one, __two);
1115:  }
1115: 
1115: 
1115: 
1115:     }
1115: 
1115:   template<typename _Alloc, typename _Tp,
1115:     typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
1115:     typename = void>
1115:     struct __is_alloc_insertable_impl
1115:     : false_type
1115:     { };
1115: 
1115:   template<typename _Alloc, typename _Tp, typename _ValueT>
1115:     struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
1115:       __void_t<decltype(allocator_traits<_Alloc>::construct(
1115:      std::declval<_Alloc&>(), std::declval<_ValueT*>(),
1115:      std::declval<_Tp>()))>>
1115:     : true_type
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Alloc>
1115:     struct __is_copy_insertable
1115:     : __is_alloc_insertable_impl<_Alloc,
1115:      typename _Alloc::value_type const&>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_copy_insertable<allocator<_Tp>>
1115:     : is_copy_constructible<_Tp>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Alloc>
1115:     struct __is_move_insertable
1115:     : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_move_insertable<allocator<_Tp>>
1115:     : is_move_constructible<_Tp>
1115:     { };
1115: 
1115: 
1115:   template<typename _Alloc, typename = void>
1115:     struct __is_allocator : false_type { };
1115: 
1115:   template<teverse_iterator
609:       crbegin() const noexcept
609:       { return const_reverse_iterator(this->end()); }
609: 
609:       constexpr const_reverse_iterator
609:       crend() const noexcept
609:       { return const_reverse_iterator(this->begin()); }
609: 
609: 
609: 
609:       constexpr size_type
609:       size() const noexcept
609:       { return this->_M_len; }
609: 
609:       constexpr size_type
609:       length() const noexcept
609:       { return _M_len; }
609: 
609:       constexpr size_type
609:       max_size() const noexcept
609:       {
609:  return (npos - sizeof(size_type) - sizeof(void*))
609:   / sizeof(value_type) / 4;
609:       }
609: 
609:       [[nodiscard]] constexpr bool
609:       empty() const noexcept
609:       { return this->_M_len == 0; }
609: 
609: 
609: 
609:       constexpr const_reference
609:       operator[](size_type __pos) const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__pos < this->_M_len)) __builtin_unreachable(); } while (false);
609:  return *(this->_M_str + __pos);
609:       }
609: 
609:       constexpr const_reference
609:       at(size_type __pos) const
609:       {
609:  if (__pos >= _M_len)
609:    __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)")
609: 
609:                             , __pos, this->size());
609:  return *(this->_M_str + __pos);
609:       }
609: 
609:       constexpr const_reference
609:       front() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
609:  return *this->_M_str;
609:       }
609: 
609:       constexpr const_reference
609:       back() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
609:  return *(this->_M_str + this->_M_len - 1);
609:       }
609: 
609:       constexpr const_pointer
609:       data() const noexcept
609:       { return this->_M_str; }
609: 
609: 
609: 
609:       constexpr void
609:       remove_prefix(size_type __n) noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false);
609:  this->_M_str += __n;
609:  this->_M_len -= __n;
609:       }
609: 
609:       constexpr void
609:       remove_suffix(size_type __n) noexcept
609:       { this->_M_len -= __n; }
609: 
609:       constexpr void
609:       swap(basic_string_view& __sv) noexcept
609:       {
609:  auto __tmp = *this;
609:  *this = __sv;
609:  __sv = __tmp;
609:       }
609: 
609: 
609: 
609:      
609:       size_type
609:       copy(_CharT* __str, size_type __n, size_type __pos = 0) const
609:       {
609:  ;
609:  __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
609:  const size_type __rlen = std::min(__n, _M_len - __pos);
609: 
609: 
609:  traits_type::copy(__str, data() + __pos, __rlen);
609:  return __rlen;
609:       }
609: 
609:       constexpr basic_string_view
609:       substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
609:       {
609:  __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
609:  const size_type __rlen = std::min(__n, _M_len - __pos);
609:  return basic_string_view{_M_str + __pos, __rlen};
609:       }
609: 
609:       constexpr int
609:       compare(basic_string_view __str) const noexcept
609:       {
609:  const size_type __rlen = std::min(this->_M_len, __str._M_len);
609:  int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
609:  if (__ret == 0)
609:    __ret = _S_compare(this->_M_len, __str._M_len);
609:  return __ret;
609:       }
609: 
609:       constexpr int
609:       compare(size_type __pos1, size_type __n1, basic_string_view __str) const
609:       { return this->substr(__pos1, __n1).compare(__str); }
609: 
609:       constexpr int
609:       compare(size_type __pos1, size_type __n1,
609:        basic_string_view __str, size_type __pos2, size_type __n2) const
609:       {
609:  return thisypename _Alloc>
1115:     struct __is_allocator<_Alloc,
1115:       __void_t<typename _Alloc::value_type,
1115:         decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
1115:     : true_type { };
1115: 
1115:   template<typename _Alloc>
1115:     using _RequireAllocator
1115:       = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
1115: 
1115:   template<typename _Alloc>
1115:     using _RequireNotAllocator
1115:       = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
1115: # 829 "/usr/include/c++/12/bits/alloc_traits.h" 3
1115:   template<typename _ForwardIterator, typename _Allocator>
1115:    
1115:     void
1115:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1115:       _Allocator& __alloc)
1115:     {
1115:       for (; __first != __last; ++__first)
1115: 
1115: 
1115: 
1115:  allocator_traits<_Allocator>::destroy(__alloc,
1115:            std::__addressof(*__first));
1115: 
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline void
1115:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1115:       allocator<_Tp>&)
1115:     {
1115:       _Destroy(__first, __last);
1115:     }
1115: 
1115: 
1115: }
1115: # 35 "/usr/include/c++/12/ext/alloc_traits.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template<typename _Alloc, typename = typename _Alloc::value_type>
1115:   struct __alloc_traits
1115: 
1115:   : std::allocator_traits<_Alloc>
1115: 
1115:   {
1115:     typedef _Alloc allocator_type;
1115: 
1115:     typedef std::allocator_traits<_Alloc> _Base_type;
1115:     typedef typename _Base_type::value_type value_type;
1115:     typedef typename _Base_type::pointer pointer;
1115:     typedef typename _Base_type::const_pointer const_pointer;
1115:     typedef typename _Base_type::size_type size_type;
1115:     typedef typename _Base_type::difference_type difference_type;
1115: 
1115:     typedef value_type& reference;
1115:     typedef const value_type& const_reference;
1115:     using _Base_type::allocate;
1115:     using _Base_type::deallocate;
1115:     using _Base_type::construct;
1115:     using _Base_type::destroy;
1115:     using _Base_type::max_size;
1115: 
1115:   private:
1115:     template<typename _Ptr>
1115:       using __is_custom_pointer
1115:  = std::__and_<std::is_same<pointer, _Ptr>,
1115:         std::__not_<std::is_pointer<_Ptr>>>;
1115: 
1115:   public:
1115: 
1115:     template<typename _Ptr, typename... _Args>
1115:       static constexpr
1115:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1115:       construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
1115:       noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
1115:            std::forward<_Args>(__args)...)))
1115:       {
1115:  _Base_type::construct(__a, std::__to_address(__p),
1115:          std::forward<_Args>(__args)...);
1115:       }
1115: 
1115: 
1115:     template<typename _Ptr>
1115:       static constexpr
1115:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1115:       destroy(_Alloc& __a, _Ptr __p)
1115:       noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
1115:       { _Base_type::destroy(__a, std::__to_address(__p)); }
1115: 
1115:     static constexpr _Alloc _S_select_on_copy(const _Alloc& __a)
1115:     { return _Base_type::select_on_container_copy_construction(__a); }
1115: 
1115:     static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
1115:     { std::__alloc_on_swap(__a, __b); }
1115: 
1115:     static constexpr bool _S_propagate_on_copy_assign()
1115:     { return _Base_type::propagate_on_container_copy_assignment::value; }
1115: 
1115:     static constexpr bool _S_propagate_on_move_assign()
1115:     { return _Base_type::propagate_on_container_move_assignment::value; }
1115: 
1115:     static constexpr bool _S_propagate_on_swap()
1115:     { return _Base_type::propagate_on_container_swap::value; }
1115: 
1115:     st->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
609:       }
609: 
609:       __attribute__((__nonnull__)) constexpr int
609:       compare(const _CharT* __str) const noexcept
609:       { return this->compare(basic_string_view{__str}); }
609: 
609:       __attribute__((__nonnull__)) constexpr int
609:       compare(size_type __pos1, size_type __n1, const _CharT* __str) const
609:       { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
609: 
609:       constexpr int
609:       compare(size_type __pos1, size_type __n1,
609:        const _CharT* __str, size_type __n2) const noexcept(false)
609:       {
609:  return this->substr(__pos1, __n1)
609:      .compare(basic_string_view(__str, __n2));
609:       }
609: # 402 "/usr/include/c++/12/string_view" 3
609:       constexpr size_type
609:       find(basic_string_view __str, size_type __pos = 0) const noexcept
609:       { return this->find(__str._M_str, __pos, __str._M_len); }
609: 
609:       constexpr size_type
609:       find(_CharT __c, size_type __pos = 0) const noexcept;
609: 
609:       constexpr size_type
609:       find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
609: 
609:       __attribute__((__nonnull__)) constexpr size_type
609:       find(const _CharT* __str, size_type __pos = 0) const noexcept
609:       { return this->find(__str, __pos, traits_type::length(__str)); }
609: 
609:       constexpr size_type
609:       rfind(basic_string_view __str, size_type __pos = npos) const noexcept
609:       { return this->rfind(__str._M_str, __pos, __str._M_len); }
609: 
609:       constexpr size_type
609:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
609: 
609:       constexpr size_type
609:       rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
609: 
609:       __attribute__((__nonnull__)) constexpr size_type
609:       rfind(const _CharT* __str, size_type __pos = npos) const noexcept
609:       { return this->rfind(__str, __pos, traits_type::length(__str)); }
609: 
609:       constexpr size_type
609:       find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
609:       { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
609: 
609:       constexpr size_type
609:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
609:       { return this->find(__c, __pos); }
609: 
609:       constexpr size_type
609:       find_first_of(const _CharT* __str, size_type __pos,
609:       size_type __n) const noexcept;
609: 
609:       __attribute__((__nonnull__)) constexpr size_type
609:       find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
609:       { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
609: 
609:       constexpr size_type
609:       find_last_of(basic_string_view __str,
609:      size_type __pos = npos) const noexcept
609:       { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
609: 
609:       constexpr size_type
609:       find_last_of(_CharT __c, size_type __pos=npos) const noexcept
609:       { return this->rfind(__c, __pos); }
609: 
609:       constexpr size_type
609:       find_last_of(const _CharT* __str, size_type __pos,
609:      size_type __n) const noexcept;
609: 
609:       __attribute__((__nonnull__)) constexpr size_type
609:       find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
609:       { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
609: 
609:       constexpr size_type
609:       find_first_not_of(basic_string_view __str,
609:    size_type __pos = 0) const noexcept
609:       { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
609: 
609:       constexpr size_type
609:       find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
609: 
609:       constexpr size_type
609:       find_first_not_of(const _CharT* __str,
609:    size_type __pos, size_type __n) const noexcept;
609: 
609:       __attribute__((__nonnull__)) constexpr size_type
609:       find_first_not_of(conatic constexpr bool _S_always_equal()
1115:     { return _Base_type::is_always_equal::value; }
1115: 
1115:     static constexpr bool _S_nothrow_move()
1115:     { return _S_propagate_on_move_assign() || _S_always_equal(); }
1115: 
1115:     template<typename _Tp>
1115:       struct rebind
1115:       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
1115: # 166 "/usr/include/c++/12/ext/alloc_traits.h" 3
1115:   };
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/bits/stl_uninitialized.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 81 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _ValueType, typename _Tp>
1115:     constexpr bool
1115:     __check_constructible()
1115:     {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static_assert(is_constructible<_ValueType, _Tp>::value,
1115:    "result type must be constructible from input type");
1115: 
1115:       return true;
1115:     }
1115: # 110 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _InputIterator, typename _ForwardIterator>
1115:    
1115:     _ForwardIterator
1115:     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
1115:        _ForwardIterator __result)
1115:     {
1115:       _ForwardIterator __cur = __result;
1115:       try
1115:  {
1115:    for (; __first != __last; ++__first, (void)++__cur)
1115:      std::_Construct(std::__addressof(*__cur), *__first);
1115:    return __cur;
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__result, __cur);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<bool _TrivialValueTypes>
1115:     struct __uninitialized_copy
1115:     {
1115:       template<typename _InputIterator, typename _ForwardIterator>
1115:         static _ForwardIterator
1115:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1115:         _ForwardIterator __result)
1115:  { return std::__do_uninit_copy(__first, __last, __result); }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_copy<true>
1115:     {
1115:       template<typename _InputIterator, typename _ForwardIterator>
1115:         static _ForwardIterator
1115:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1115:         _ForwardIterator __result)
1115:         { return std::copy(__first, __last, __result); }
1115:     };
1115: # 161 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _InputIterator, typename _ForwardIterator>
1115:     inline _ForwardIterator
1115:     uninitialized_copy(_InputIterator __first, _InputIterator __last,
1115:          _ForwardIterator __result)
1115:     {
1115:       typedef typename iterator_traits<_InputIterator>::value_type
1115:  _ValueType1;
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType2;
1115: 
1115: 
1115: 
1115: 
1115:       const bool __can_memmove = __is_trivial(_ValueType1);
1115: 
1115: 
1115: 
1115: 
1115:       using _From = decltype(*__first);
1115: 
1115:       const bool __assignable
1115:  = __is_trivial(_ValueType2) && __is_assignable(_ValueType2&, _From) && std::__check_constructible<_ValueType2, _From>();
1115: 
1115:       return std::__uninitialized_copy<__can_memmove && __assignable>::
1115:  __uninit_copy(__first, __last, __result);
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Tp>
1115:     void
1115:     __do_uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1115:        const _Tp& __x)
1115:     {
1115:       _ForwardIterator __cur = __first;
1115:       try
1115:  {
1115:    for (; __cur != __last; ++__cur)
1115:      std::_Construct(std::__addressof(*__cur), __x);
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__first, __cur);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<bool _TrivialValueType>
1115:     struct __uninitialized_fill
1115:     {
1115:       template<typename _ForwardIterator, typename _Tp>
1115:        st _CharT* __str, size_type __pos = 0) const noexcept
609:       {
609:  return this->find_first_not_of(__str, __pos,
609:            traits_type::length(__str));
609:       }
609: 
609:       constexpr size_type
609:       find_last_not_of(basic_string_view __str,
609:          size_type __pos = npos) const noexcept
609:       { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
609: 
609:       constexpr size_type
609:       find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
609: 
609:       constexpr size_type
609:       find_last_not_of(const _CharT* __str,
609:          size_type __pos, size_type __n) const noexcept;
609: 
609:       __attribute__((__nonnull__)) constexpr size_type
609:       find_last_not_of(const _CharT* __str,
609:          size_type __pos = npos) const noexcept
609:       {
609:  return this->find_last_not_of(__str, __pos,
609:           traits_type::length(__str));
609:       }
609: 
609:     private:
609: 
609:       static constexpr int
609:       _S_compare(size_type __n1, size_type __n2) noexcept
609:       {
609:  using __limits = __gnu_cxx::__int_traits<int>;
609:  const difference_type __diff = __n1 - __n2;
609:  if (__diff > __limits::__max)
609:    return __limits::__max;
609:  if (__diff < __limits::__min)
609:    return __limits::__min;
609:  return static_cast<int>(__diff);
609:       }
609: 
609:       size_t _M_len;
609:       const _CharT* _M_str;
609:     };
609: # 538 "/usr/include/c++/12/string_view" 3
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator==(basic_string_view<_CharT, _Traits> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator==(basic_string_view<_CharT, _Traits> __x,
609:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
609:     noexcept
609:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
609: # 567 "/usr/include/c++/12/string_view" 3
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator!=(basic_string_view<_CharT, _Traits> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return !(__x == __y); }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator!=(basic_string_view<_CharT, _Traits> __x,
609:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
609:     noexcept
609:     { return !(__x == __y); }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return !(__x == __y); }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator< (basic_string_view<_CharT, _Traits> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) < 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator< (basic_string_view<_CharT, _Traits> __x,
609:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
609:     noexcept
609:     { return __x.compare(__y) < 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) < 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool static void
1115:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1115:         const _Tp& __x)
1115:  { std::__do_uninit_fill(__first, __last, __x); }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_fill<true>
1115:     {
1115:       template<typename _ForwardIterator, typename _Tp>
1115:         static void
1115:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1115:         const _Tp& __x)
1115:         { std::fill(__first, __last, __x); }
1115:     };
1115: # 239 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:     inline void
1115:     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
1115:          const _Tp& __x)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType;
1115: 
1115: 
1115: 
1115:       const bool __can_fill
1115:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>();
1115: 
1115:       std::__uninitialized_fill<__can_fill>::
1115:  __uninit_fill(__first, __last, __x);
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1115:    
1115:     _ForwardIterator
1115:     __do_uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1115:     {
1115:       _ForwardIterator __cur = __first;
1115:       try
1115:  {
1115:    for (; __n > 0; --__n, (void) ++__cur)
1115:      std::_Construct(std::__addressof(*__cur), __x);
1115:    return __cur;
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__first, __cur);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<bool _TrivialValueType>
1115:     struct __uninitialized_fill_n
1115:     {
1115:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1115:  static _ForwardIterator
1115:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1115:    const _Tp& __x)
1115:  { return std::__do_uninit_fill_n(__first, __n, __x); }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_fill_n<true>
1115:     {
1115:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1115:  static _ForwardIterator
1115:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1115:    const _Tp& __x)
1115:         { return std::fill_n(__first, __n, __x); }
1115:     };
1115: # 310 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1115:     inline _ForwardIterator
1115:     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType;
1115: 
1115: 
1115: 
1115:       const bool __can_fill
1115:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>()
1115: 
1115: 
1115: 
1115:  && __is_integer<_Size>::__value;
1115: 
1115:       return __uninitialized_fill_n<__can_fill>::
1115:  __uninit_fill_n(__first, __n, __x);
1115:     }
1115: # 340 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _InputIterator, typename _ForwardIterator,
1115:     typename _Allocator>
1115:    
1115:     _ForwardIterator
1115:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1115:       _ForwardIterator __result, _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __cur = __result;
1115:       try
1115:  {
1115:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1115:    for (; __first != __last; ++__first, (void)++__cur)
1115:      __traits::construct(__alloc, std::__addressof(*__cur), *__first);
1115:    return __cur;
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__result, __cur, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline _Fo
609:     operator> (basic_string_view<_CharT, _Traits> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) > 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator> (basic_string_view<_CharT, _Traits> __x,
609:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
609:     noexcept
609:     { return __x.compare(__y) > 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) > 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator<=(basic_string_view<_CharT, _Traits> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) <= 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator<=(basic_string_view<_CharT, _Traits> __x,
609:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
609:     noexcept
609:     { return __x.compare(__y) <= 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) <= 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator>=(basic_string_view<_CharT, _Traits> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) >= 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator>=(basic_string_view<_CharT, _Traits> __x,
609:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
609:     noexcept
609:     { return __x.compare(__y) >= 0; }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr bool
609:     operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
609:                basic_string_view<_CharT, _Traits> __y) noexcept
609:     { return __x.compare(__y) >= 0; }
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     inline basic_ostream<_CharT, _Traits>&
609:     operator<<(basic_ostream<_CharT, _Traits>& __os,
609:         basic_string_view<_CharT,_Traits> __str)
609:     { return __ostream_insert(__os, __str.data(), __str.size()); }
609: 
609: 
609: 
609: 
609:   using string_view = basic_string_view<char>;
609:   using wstring_view = basic_string_view<wchar_t>;
609: 
609: 
609: 
609:   using u16string_view = basic_string_view<char16_t>;
609:   using u32string_view = basic_string_view<char32_t>;
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct hash;
609: 
609:   template<>
609:     struct hash<string_view>
609:     : public __hash_base<size_t, string_view>
609:     {
609:       size_t
609:       operator()(const string_view& __str) const noexcept
609:       { return std::_Hash_impl::hash(__str.data(), __str.length()); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<string_view>> : std::false_type
609:     { };
609: 
609:   template<>
609:     struct hash<wstring_view>
609:     : public __hash_base<size_t, wstring_view>
609:     {
609:       size_t
609:       operator()(const wstring_view& __s) const noexcept
609:       { return std::_Hash_impl::hash(__s.data(),
609:                                      __s.length() * sizeof(wchar_t)); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<wstring_view>> : std::false_type
609:     { };
609: # 734 "/usr/include/c++/12/string_view" 3
609:   template<>
609:     struct hash<u16string_view>
609:     : public __hash_base<size_t, u16string_view>
609:     {
609:       size_t
609:       operator()(const u16string_view& __s) const noexcept
609:       { return std::_HrwardIterator
1115:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1115:       _ForwardIterator __result, allocator<_Tp>&)
1115:     {
1115: 
1115: 
1115: 
1115: 
1115:       return std::uninitialized_copy(__first, __last, __result);
1115:     }
1115: 
1115:   template<typename _InputIterator, typename _ForwardIterator,
1115:     typename _Allocator>
1115:    
1115:     inline _ForwardIterator
1115:     __uninitialized_move_a(_InputIterator __first, _InputIterator __last,
1115:       _ForwardIterator __result, _Allocator& __alloc)
1115:     {
1115:       return std::__uninitialized_copy_a(std::make_move_iterator(__first),
1115:       std::make_move_iterator(__last),
1115:       __result, __alloc);
1115:     }
1115: 
1115:   template<typename _InputIterator, typename _ForwardIterator,
1115:     typename _Allocator>
1115:    
1115:     inline _ForwardIterator
1115:     __uninitialized_move_if_noexcept_a(_InputIterator __first,
1115:            _InputIterator __last,
1115:            _ForwardIterator __result,
1115:            _Allocator& __alloc)
1115:     {
1115:       return std::__uninitialized_copy_a
1115:  (std::__make_move_if_noexcept_iterator(__first),
1115:   std::__make_move_if_noexcept_iterator(__last), __result, __alloc);
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
1115:    
1115:     void
1115:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1115:       const _Tp& __x, _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __cur = __first;
1115:       try
1115:  {
1115:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1115:    for (; __cur != __last; ++__cur)
1115:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__first, __cur, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
1115:    
1115:     inline void
1115:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1115:       const _Tp& __x, allocator<_Tp2>&)
1115:     {
1115: 
1115: 
1115: 
1115: 
1115:       std::uninitialized_fill(__first, __last, __x);
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1115:     typename _Allocator>
1115:     
1115:     _ForwardIterator
1115:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1115:         const _Tp& __x, _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __cur = __first;
1115:       try
1115:  {
1115:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1115:    for (; __n > 0; --__n, (void) ++__cur)
1115:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1115:    return __cur;
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__first, __cur, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1115:     typename _Tp2>
1115:    
1115:     inline _ForwardIterator
1115:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1115:         const _Tp& __x, allocator<_Tp2>&)
1115:     {
1115: 
1115: 
1115: 
1115: 
1115:       return std::uninitialized_fill_n(__first, __n, __x);
1115:     }
1115: # 480 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _ForwardIterator, typename _Allocator>
1115:     inline _ForwardIterator
1115:     __uninitialized_copy_move(_InputIterator1 __first1,
1115:          _InputIterator1 __last1,
1115:          _InputIterator2 __first2,
1115:          _InputIterator2 __last2,
1115:          _ForwardIterator __result,
1115:          _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
1115:           __result,
1115:           __alloc);
1115:       try
1115:  {
1115:    return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc);
1115: ash_impl::hash(__s.data(),
609:                                      __s.length() * sizeof(char16_t)); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<u16string_view>> : std::false_type
609:     { };
609: 
609:   template<>
609:     struct hash<u32string_view>
609:     : public __hash_base<size_t, u32string_view>
609:     {
609:       size_t
609:       operator()(const u32string_view& __s) const noexcept
609:       { return std::_Hash_impl::hash(__s.data(),
609:                                      __s.length() * sizeof(char32_t)); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<u32string_view>> : std::false_type
609:     { };
609: 
609:   inline namespace literals
609:   {
609:   inline namespace string_view_literals
609:   {
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wliteral-suffix"
609:     inline constexpr basic_string_view<char>
609:     operator""sv(const char* __str, size_t __len) noexcept
609:     { return basic_string_view<char>{__str, __len}; }
609: 
609:     inline constexpr basic_string_view<wchar_t>
609:     operator""sv(const wchar_t* __str, size_t __len) noexcept
609:     { return basic_string_view<wchar_t>{__str, __len}; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     inline constexpr basic_string_view<char16_t>
609:     operator""sv(const char16_t* __str, size_t __len) noexcept
609:     { return basic_string_view<char16_t>{__str, __len}; }
609: 
609:     inline constexpr basic_string_view<char32_t>
609:     operator""sv(const char32_t* __str, size_t __len) noexcept
609:     { return basic_string_view<char32_t>{__str, __len}; }
609: 
609: #pragma GCC diagnostic pop
609:   }
609:   }
609: # 808 "/usr/include/c++/12/string_view" 3
609: 
609: }
609: 
609: # 1 "/usr/include/c++/12/bits/string_view.tcc" 1 3
609: # 37 "/usr/include/c++/12/bits/string_view.tcc" 3
609:        
609: # 38 "/usr/include/c++/12/bits/string_view.tcc" 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
609:     {
609:       ;
609: 
609:       if (__n == 0)
609:  return __pos <= _M_len ? __pos : npos;
609:       if (__pos >= _M_len)
609:  return npos;
609: 
609:       const _CharT __elem0 = __str[0];
609:       const _CharT* __first = _M_str + __pos;
609:       const _CharT* const __last = _M_str + _M_len;
609:       size_type __len = _M_len - __pos;
609: 
609:       while (__len >= __n)
609:  {
609: 
609:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
609:    if (!__first)
609:      return npos;
609: 
609: 
609: 
609:    if (traits_type::compare(__first, __str, __n) == 0)
609:      return __first - _M_str;
609:    __len = __last - ++__first;
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find(_CharT __c, size_type __pos) const noexcept
609:     {
609:       size_type __ret = npos;
609:       if (__pos < this->_M_len)
609:  {
609:    const size_type __n = this->_M_len - __pos;
609:    const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
609:    if (__p)
609:      __ret = __p - this->_M_str;
609:  }
609:       return __ret;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
609:     {
609:       ;
609: 
609:       if (__n <= this->_M_len)
609:  {
609:    __pos = std::min(size_type(this->_M_len - __n), __pos);
609:    do
609:      {
609:        if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
609:   return __pos;
609:      }
609:    while (__pos-- > 0);
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     rfind(_CharT __c, size_type __pos) const noexcept
609:     {
609:       size_type __size = this->_M_len;
609:       if (__size > 0)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    for (++__size; __size-- > 0; )
609:      if (traits_type::eq(this->_M_str[__size], __c))
609:        return __size;
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find_first_of(const _CharT* __str, size_type __pos,
609:     size_type __n) const noexcept
609:     {
609:       ;
609:       for (; __n && __pos < this->_M_len; ++__pos)
609:  {
609:    const _CharT* __p = traits_type::find(__str, __n,
609:       this->_M_str[__pos]);
609:    if (__p)
609:      return __pos;
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find_last_of(const _CharT* __str, size_type __pos,
609:    size_type __n) const noexcept
609:     {
609:       ;
609:       size_type __size = this->size();
609:       if (__size && __n)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    do
609:      {
609:        if (traits_type::find(__str, __n, this->_M_str[__size]))
609:   return __size;
609:      }
609:    while (__size-- != 0);
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find_first_not_of(const _CharT* __str, size_type __pos,
609:         size_type __n) const noexcept
609:     {
609:       ;
609:       for (; __pos < this->_M_len; ++__pos)
609:  if (!traits_type::find(__str, __n, this->_M_str[__pos]))
609:    return __pos;
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
609:     {
609:       for (; __pos < this->_M_len; ++__pos)
609:  if (!traits_type::eq(this->_M_str[__pos], __c))
609:    return __pos;
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find_last_not_of(const _CharT* __str, size_type __pos,
609:        size_type __n) const noexcept
609:     {
609:       ;
609:       size_type __size = this->_M_len;
609:       if (__size)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    do
609:      {
609:        if (!traits_type::find(__str, __n, this->_M_str[__size]))
609:   return __size;
609:      }
609:    while (__size--);
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
609:     basic_string_view<_CharT, _Traits>::
609:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
609:     {
609:       size_type __size = this->_M_len;
609:       if (__size)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    do
609:      {
609:        if (!traits_type::eq(this->_M_str[__size], __c))
609:   return __size;
609:      }
609:    while (__size--);
609:  }
609:       return npos;
609:     }
609: 
609: 
609: }
609: # 812 "/usr/include/c++/12/string_view" 2 3
609: # 48 "/usr/include/c++/12/bits/basic_string.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: namespace std _ }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__result, __mid, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _ForwardIterator, typename _Allocator>
1115:     inline _ForwardIterator
1115:     __uninitialized_move_copy(_InputIterator1 __first1,
1115:          _InputIterator1 __last1,
1115:          _InputIterator2 __first2,
1115:          _InputIterator2 __last2,
1115:          _ForwardIterator __result,
1115:          _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1,
1115:           __result,
1115:           __alloc);
1115:       try
1115:  {
1115:    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__result, __mid, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
1115:     typename _Allocator>
1115:     inline _ForwardIterator
1115:     __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid,
1115:          const _Tp& __x, _InputIterator __first,
1115:          _InputIterator __last, _Allocator& __alloc)
1115:     {
1115:       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
1115:       try
1115:  {
1115:    return std::__uninitialized_move_a(__first, __last, __mid, __alloc);
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__result, __mid, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
1115:     typename _Allocator>
1115:     inline void
1115:     __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1,
1115:          _ForwardIterator __first2,
1115:          _ForwardIterator __last2, const _Tp& __x,
1115:          _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1,
1115:            __first2,
1115:            __alloc);
1115:       try
1115:  {
1115:    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__first2, __mid2, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: # 587 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<bool _TrivialValueType>
1115:     struct __uninitialized_default_1
1115:     {
1115:       template<typename _ForwardIterator>
1115:         static void
1115:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1115:         {
1115:    _ForwardIterator __cur = __first;
1115:    try
1115:      {
1115:        for (; __cur != __last; ++__cur)
1115:   std::_Construct(std::__addressof(*__cur));
1115:      }
1115:    catch(...)
1115:      {
1115:        std::_Destroy(__first, __cur);
1115:        throw;
1115:      }
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_default_1<true>
1115:     {
1115:       template<typename _ForwardIterator>
1115:         static void
1115:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1115:         {
1115:    if (__first == __last)
1115:      return;
1115: 
1115:    typename iterator_traits<_ForwardIterator>::value_type* __val
1115:      = std::__addressof(*__first);
1115:    std::_Construct(__val);
1115:    if (++__first != __last)
1115:      std::fill(__first, __last, *__val);
1115:  }
1115:     };
1115: 
1115:   template<bool _TrivialValueType>
1115:     struct __uninitialized_default_n_1
1115:     {
1115:       template<typename _ForwardIterator, typename _Size>
1115: 
1115:         static _ForwardIterator
1115:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1115:         {
1115:    _ForwardIterator __cur = __first;
1115:    try
1115:      {
1115:        for (; __n > 0; --__n, (void) ++__cur)
1115:   std::_Construct(std::__addressof(*__cur));
1115:        return __cur;
1115:      }
1115:    catch(...)
1115:      {
1115:        std::_Destroy(__first, __cur);
1115:        throw;
1115:      }
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_default_n_1<true>
1115:     {
1115:       template<typename _ForwardIterator, typename _Size>
1115: 
1115:         static _ForwardIterator
1115:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1115:         {
1115:    if (__n > 0)
1115:      {
1115:        typename iterator_traits<_ForwardIterator>::value_type* __val
1115:   = std::__addressof(*__first);
1115:        std::_Construct(__val);
1115:        ++__first;
1115:        __first = std::fill_n(__first, __n - 1, *__val);
1115:      }
1115:    return __first;
1115:  }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator>
1115:     inline void
1115:     __uninitialized_default(_ForwardIterator __first,
1115:        _ForwardIterator __last)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType;
1115: 
1115:       const bool __assignable = is_copy_assignable<_ValueType>::value;
1115: 
1115:       std::__uninitialized_default_1<__is_trivial(_ValueType)
1115:          && __assignable>::
1115:  __uninit_default(__first, __last);
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Size>
1115:    
1115:     inline _ForwardIterator
1115:     __uninitialized_default_n(_ForwardIterator __first, _Size __n)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType;
1115: 
1115:       constexpr bool __can_fill
1115:  = __and_<is_integral<_Size>, is_copy_assignable<_ValueType>>::value;
1115: 
1115:       return __uninitialized_default_n_1<__is_trivial(_ValueType)
1115:       && __can_fill>::
1115:  __uninit_default_n(__first, __n);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Allocator>
1115:     void
1115:     __uninitialized_default_a(_ForwardIterator __first,
1115:          _ForwardIterator __last,
1115:          _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __cur = __first;
1115:       try
1115:  {
1115:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1115:    for (; __cur != __last; ++__cur)
1115:      __traits::construct(__alloc, std::__addressof(*__cur));
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__first, __cur, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp>
1115:     inline void
1115:     __uninitialized_default_a(_ForwardIterator __first,
1115:          _ForwardIterator __last,
1115:          allocator<_Tp>&)
1115:     { std::__uninitialized_default(__first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Size, typename _Allocator>
1115:     _ForwardIterator
1115:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1115:     _Allocator& __alloc)
1115:     {
1115:       _ForwardIterator __cur = __first;
1115:       try
1115:  {
1115:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1115:    for (; __n > 0; --__n, (void) ++__cur)
1115:      __traits::construct(__alloc, std::__addressof(*__cur));
1115:    return __cur;
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__first, __cur, __alloc);
1115:    throw;
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1115:    
1115:     inline _ForwardIterator
1115:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1115:     allocator<_Tp>&)
1115:     { return std::__uninitialized_default_n(__first, __n); }
1115: 
1115:   template<bool _TrivialValueType>
1115:     struct __uninitialized_default_novalue_1
1115:     {
1115:       template<typename _ForwardIterator>
1115:  static void
1115:  __uninit_default_novalue(_ForwardIterator __first,
1115:      _ForwardIterator __last)
1115:  {
1115:    _ForwardIterato_attribute__ ((__visibility__ ("default")))
609: {
609: 
609: namespace __cxx11 {
609: # 84 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     class basic_string
609:     {
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<_CharT>::other _Char_alloc_type;
609: 
609: 
609:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
609: # 122 "/usr/include/c++/12/bits/basic_string.h" 3
609:     public:
609:       typedef _Traits traits_type;
609:       typedef typename _Traits::char_type value_type;
609:       typedef _Char_alloc_type allocator_type;
609:       typedef typename _Alloc_traits::size_type size_type;
609:       typedef typename _Alloc_traits::difference_type difference_type;
609:       typedef typename _Alloc_traits::reference reference;
609:       typedef typename _Alloc_traits::const_reference const_reference;
609:       typedef typename _Alloc_traits::pointer pointer;
609:       typedef typename _Alloc_traits::const_pointer const_pointer;
609:       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
609:       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
609:        const_iterator;
609:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
609:       typedef std::reverse_iterator<iterator> reverse_iterator;
609: 
609: 
609:       static const size_type npos = static_cast<size_type>(-1);
609: 
609:     protected:
609: 
609: 
609: 
609: 
609:       typedef const_iterator __const_iterator;
609: 
609: 
609:     private:
609: 
609: 
609:       typedef basic_string_view<_CharT, _Traits> __sv_type;
609: 
609:       template<typename _Tp, typename _Res>
609:  using _If_sv = enable_if_t<
609:    __and_<is_convertible<const _Tp&, __sv_type>,
609:    __not_<is_convertible<const _Tp*, const basic_string*>>,
609:    __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
609:    _Res>;
609: 
609: 
609:      
609:       static __sv_type
609:       _S_to_string_view(__sv_type __svt) noexcept
609:       { return __svt; }
609: 
609: 
609: 
609: 
609: 
609:       struct __sv_wrapper
609:       {
609:  explicit
609:  __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
609: 
609:  __sv_type _M_sv;
609:       };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       explicit
609:       basic_string(__sv_wrapper __svw, const _Alloc& __a)
609:       : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
609: 
609: 
609: 
609:       struct _Alloc_hider : allocator_type
609:       {
609: 
609: 
609: 
609: 
609: 
609:  _Alloc_hider(pointer __dat, const _Alloc& __a)
609:  : allocator_type(__a), _M_p(__dat) { }
609: 
609: 
609:  _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
609:  : allocator_type(std::move(__a)), _M_p(__dat) { }
609: 
609: 
609:  pointer _M_p;
609:       };
609: 
609:       _Alloc_hider _M_dataplus;
609:       size_type _M_string_length;
609: 
609:       enum { _S_local_capacity = 15 / sizeof(_CharT) };
609: 
609:       union
609:       {
609:  _CharT _M_local_buf[_S_local_capacity + 1];
609:  size_type _M_allocated_capacity;
609:       };
609: 
609:      
609:       void
609:       _M_data(pointer __p)
609:       { _M_dataplus._M_p = __p; }
609: 
609:      
609:       void
609:       _M_length(size_type __length)
609:       { _M_string_length = __length; }
609: 
609:      
609:       pointer
609:       _M_data() const
609:       { return _M_dataplus._M_p; }
609: 
609:      
609:       pointer
609:       _M_local_data()
609:       {
609: 
609:  return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
609: 
609: 
609: 
609:       }
609: 
609:      
609:       const_pointer
609:       _M_local_data() const
609:       {
609: 
609:  return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
609: 
609: 
609: 
609:       }
609: 
609:      
609:       void
609:       _M_capacity(size_type __capacity)
609:       { _M_allocated_capacity = __capacity; }
609: 
609:      
609:       void
609:       _M_set_length(size_type __n)
609:       {
609:  _M_length(__n);
609:  traits_type::assign(_M_data()[__n], _CharT());
609:       }
609: 
609:      
609:       bool
609:       _M_is_local() const
609:       { return _M_data() == _M_local_data(); }
609: 
609: 
609:      
609:       pointer
609:       _M_create(size_type&, size_type);
609: 
609:      
609:       void
609:       _M_dispose()
609:       {
609:  if (!_M_is_local())
609:    _M_destroy(_M_allocated_capacity);
609:       }
609: 
609:      
609:       void
609:       _M_destroy(size_type __size) throw()
609:       { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
609: # 319 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _InIterator>
609: 
609:         void
609:         _M_construct(_InIterator __beg, _InIterator __end,
609:        std::input_iterator_tag);
609: 
609: 
609: 
609:       template<typename _FwdIterator>
609: 
609:         void
609:         _M_construct(_FwdIterator __beg, _FwdIterator __end,
609:        std::forward_iterator_tag);
609: 
609:      
609:       void
609:       _M_construct(size_type __req, _CharT __c);
609: 
609:      
609:       allocator_type&
609:       _M_get_allocator()
609:       { return _M_dataplus; }
609: 
609:      
609:       const allocator_type&
609:       _M_get_allocator() const
609:       { return _M_dataplus; }
609: 
609: 
609:       __attribute__((__always_inline__))
609:       constexpr
609:       pointer
609:       _M_use_local_data() noexcept
609:       {
609: 
609: 
609: 
609: 
609: 
609:  return _M_local_data();
609:       }
609: 
609:     private:
609: # 377 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       _M_check(size_type __pos, const char* __s) const
609:       {
609:  if (__pos > this->size())
609:    __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)")
609:                                          ,
609:        __s, __pos, this->size());
609:  return __pos;
609:       }
609: 
609:      
609:       void
609:       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
609:       {
609:  if (this->max_size() - (this->size() - __n1) < __n2)
609:    __throw_length_error((__s));
609:       }
609: 
609: 
609: 
609:      
609:       size_type
609:       _M_limit(size_type __pos, size_type __off) const noexcept
609:       {
609:  const bool __testoff = __off < this->size() - __pos;
609:  return __testoff ? __off : this->size() - __pos;
609:       }
609: 
609: 
609:       bool
609:       _M_disjunct(const _CharT* __s) const noexcept
609:       {
609:  return (less<const _CharT*>()(__s, _M_data())
609:   || less<const _CharT*>()(_M_data() + this->size(), __s));
609:       }
609: 
609: 
609: 
609:      
609:       static void
609:       _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
609:       {
609:  if (__n == 1)
609:    traits_type::assign(*__d, *__s);
609:  else
609:    traits_type::copy(__d, __s, __n);
609:       }
609: 
609:      
609:       static void
609:       _S_move(_CharT* __d, const _CharT* __s, size_type __n)
609:       {
609:  if (__n == 1)
609:    traits_type::assign(*__d, *__s);
609:  else
609:    traits_type::move(__d, __s, __n);
609:       }
609: 
609:      
609:       static void
609:       _S_assign(_CharT* __d, size_type __n, _CharT __c)
609:       {
609:  if (__n == 1)
609:    traits_type::assign(*__d, __c);
609:  else
609:    traits_type::assign(__d, __n, __c);
609:       }
609: 
609: 
609: 
609:       template<class _Iterator>
609: 
609:         static void
609:         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
609:         {
609:    for (; __k1 != __k2; ++__k1, (void)++__p)
609:      traits_type::assign(*__p, *__k1);
609:  }
609: 
609:      
609:       static void
609:       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept
609:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
609: 
609:      
609:       static void
609:       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
609:       noexcept
609:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
609: 
609:      
609:       static void
609:       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept
609:       { _S_copy(__p, __k1, __k2 - __k1); }
609: 
609:      
609:       static void
609:       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
609:       noexcept
609:       { _S_copy(__p, __k1, __k2 - __k1); }
609: 
609:      
609:       static int
609:       _S_compare(size_type __n1, size_type __n2) noexcept
609:       {
609:  const difference_type __d = difference_type(__n1 - __n2);
609: 
609:  if (__d > __gnu_cxx::__numeric_traits<int>::__max)
609:    return __gnu_cxx::__numeric_traits<int>::__max;
609:  else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
609:    return __gnu_cxx::__numeric_traits<int>::__min;
609:  else
609:    return int(__d);
609:       }
609: 
609:      
609:       void
609:       _M_assign(const basic_string&);
609: 
609:      
609:       void
609:       _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
609:   size_type __len2);
609: 
609:      
609:       void
609:       _M_erase(size_type __pos, size_type __n);
609: 
609:     public:
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string()
609:       noexcept(is_nothrow_default_constructible<_Alloc>::value)
609:       : _M_dataplus(_M_local_data())
609:       {
609:  _M_use_local_data();
609:  _M_set_length(0);
609:       }
609: 
609: 
609: 
609: 
609:      
609:       explicit
609:       basic_string(const _Alloc& __a) noexcept
609:       : _M_dataplus(_M_local_data(), __a)
609:       {
609:  _M_use_local_data();
609:  _M_set_length(0);
609:       }
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string(const basic_string& __str)
609:       : _M_dataplus(_M_local_data(),
609:       _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
609:       {
609:  _M_construct(__str._M_data(), __str._M_data() + __str.length(),
609:        std::forward_iterator_tag());
609:       }
609: # 556 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string(const basic_string& __str, size_type __pos,
609:      const _Alloc& __a = _Alloc())
609:       : _M_dataplus(_M_local_data(), __a)
609:       {
609:  const _CharT* __start = __str._M_data()
609:    + __str._M_check(__pos, "basic_string::basic_string");
609:  _M_construct(__start, __start + __str._M_limit(__pos, npos),
609:        std::forward_iterator_tag());
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string(const basic_string& __str, size_type __pos,
609:      size_type __n)
609:       : _M_dataplus(_M_local_data())
609:       {
609:  const _CharT* __start = __str._M_data()
609:    + __str._M_check(__pos, "basic_string::basic_string");
609:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
609:        std::forward_iterator_tag());
609:       }
609: # 591 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string(const basic_string& __str, size_type __pos,
609:      size_type __n, const _Alloc& __a)
609:       : _M_dataplus(_M_local_data(), __a)
609:       {
609:  const _CharT* __start
609:    = __str._M_data() + __str._M_check(__pos, "string::string");
609:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
609:        std::forward_iterator_tag());
609:       }
609: # 611 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string(const _CharT* __s, size_type __n,
609:      const _Alloc& __a = _Alloc())
609:       : _M_dataplus(_M_local_data(), __a)
609:       {
609: 
609:  if (__s == 0 && __n > 0)
609:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
609:                                                  );
609:  _M_construct(__s, __s + __n, std::forward_iterator_tag());
609:       }
609: # 631 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename = _RequireAllocator<_Alloc>>
609: 
609:      
609:       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
609:       : _M_datar __cur = __first;
1115:    try
1115:      {
1115:        for (; __cur != __last; ++__cur)
1115:   std::_Construct_novalue(std::__addressof(*__cur));
1115:      }
1115:    catch(...)
1115:      {
1115:        std::_Destroy(__first, __cur);
1115:        throw;
1115:      }
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_default_novalue_1<true>
1115:     {
1115:       template<typename _ForwardIterator>
1115:         static void
1115:         __uninit_default_novalue(_ForwardIterator __first,
1115:      _ForwardIterator __last)
1115:  {
1115:  }
1115:     };
1115: 
1115:   template<bool _TrivialValueType>
1115:     struct __uninitialized_default_novalue_n_1
1115:     {
1115:       template<typename _ForwardIterator, typename _Size>
1115:  static _ForwardIterator
1115:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1115:  {
1115:    _ForwardIterator __cur = __first;
1115:    try
1115:      {
1115:        for (; __n > 0; --__n, (void) ++__cur)
1115:   std::_Construct_novalue(std::__addressof(*__cur));
1115:        return __cur;
1115:      }
1115:    catch(...)
1115:      {
1115:        std::_Destroy(__first, __cur);
1115:        throw;
1115:      }
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_default_novalue_n_1<true>
1115:     {
1115:       template<typename _ForwardIterator, typename _Size>
1115:  static _ForwardIterator
1115:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1115:  { return std::next(__first, __n); }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator>
1115:     inline void
1115:     __uninitialized_default_novalue(_ForwardIterator __first,
1115:         _ForwardIterator __last)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType;
1115: 
1115:       std::__uninitialized_default_novalue_1<
1115:  is_trivially_default_constructible<_ValueType>::value>::
1115:  __uninit_default_novalue(__first, __last);
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Size>
1115:     inline _ForwardIterator
1115:     __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType;
1115: 
1115:       return __uninitialized_default_novalue_n_1<
1115:  is_trivially_default_constructible<_ValueType>::value>::
1115:  __uninit_default_novalue_n(__first, __n);
1115:     }
1115: 
1115:   template<typename _InputIterator, typename _Size,
1115:     typename _ForwardIterator>
1115:     _ForwardIterator
1115:     __uninitialized_copy_n(_InputIterator __first, _Size __n,
1115:       _ForwardIterator __result, input_iterator_tag)
1115:     {
1115:       _ForwardIterator __cur = __result;
1115:       try
1115:  {
1115:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1115:      std::_Construct(std::__addressof(*__cur), *__first);
1115:    return __cur;
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(__result, __cur);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Size,
1115:     typename _ForwardIterator>
1115:     inline _ForwardIterator
1115:     __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n,
1115:       _ForwardIterator __result,
1115:       random_access_iterator_tag)
1115:     { return std::uninitialized_copy(__first, __first + __n, __result); }
1115: 
1115:   template<typename _InputIterator, typename _Size,
1115:     typename _ForwardIterator>
1115:     pair<_InputIterator, _ForwardIterator>
1115:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1115:       _ForwardIterator __result, input_iterator_tag)
1115:     {
1115:       _ForwardIterator __cur = __result;
1115:       try
1115:  {
1115:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1115:      std::_Construct(std::__addressof(*__cur), *__first);
1115:    return {__first, __cur};
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destplus(_M_local_data(), __a)
609:       {
609: 
609:  if (__s == 0)
609:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
609:                                                  );
609:  const _CharT* __end = __s + traits_type::length(__s);
609:  _M_construct(__s, __end, forward_iterator_tag());
609:       }
609: # 654 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename = _RequireAllocator<_Alloc>>
609: 
609:      
609:       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
609:       : _M_dataplus(_M_local_data(), __a)
609:       { _M_construct(__n, __c); }
609: # 669 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string(basic_string&& __str) noexcept
609:       : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
609:       {
609:  if (__str._M_is_local())
609:    {
609:      traits_type::copy(_M_local_buf, __str._M_local_buf,
609:          __str.length() + 1);
609:    }
609:  else
609:    {
609:      _M_data(__str._M_data());
609:      _M_capacity(__str._M_allocated_capacity);
609:    }
609: 
609: 
609: 
609: 
609:  _M_length(__str.length());
609:  __str._M_data(__str._M_local_data());
609:  __str._M_set_length(0);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
609:       : _M_dataplus(_M_local_data(), __a)
609:       { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
609: 
609:      
609:       basic_string(const basic_string& __str, const _Alloc& __a)
609:       : _M_dataplus(_M_local_data(), __a)
609:       { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
609: 
609:      
609:       basic_string(basic_string&& __str, const _Alloc& __a)
609:       noexcept(_Alloc_traits::_S_always_equal())
609:       : _M_dataplus(_M_local_data(), __a)
609:       {
609:  if (__str._M_is_local())
609:    {
609:      traits_type::copy(_M_local_buf, __str._M_local_buf,
609:          __str.length() + 1);
609:      _M_length(__str.length());
609:      __str._M_set_length(0);
609:    }
609:  else if (_Alloc_traits::_S_always_equal()
609:      || __str.get_allocator() == __a)
609:    {
609:      _M_data(__str._M_data());
609:      _M_length(__str.length());
609:      _M_capacity(__str._M_allocated_capacity);
609:      __str._M_data(__str._M_local_buf);
609:      __str._M_set_length(0);
609:    }
609:  else
609:    _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag());
609:       }
609: # 745 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609: 
609: 
609: 
609:         basic_string(_InputIterator __beg, _InputIterator __end,
609:        const _Alloc& __a = _Alloc())
609:  : _M_dataplus(_M_local_data(), __a)
609:  {
609: 
609:    _M_construct(__beg, __end, std::__iterator_category(__beg));
609: 
609: 
609: 
609: 
609:  }
609: # 771 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp,
609:         typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
609: 
609:  basic_string(const _Tp& __t, size_type __pos, size_type __n,
609:        const _Alloc& __a = _Alloc())
609:  : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Tp, typename = _If_sv<_Tp, void>>
609: 
609:  explicit
609:  basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
609:  : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
609: 
609: 
609: 
609: 
609: 
609:      
609:       ~basic_string()
609:       { _M_dispose(); }
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       operator=(const basic_string& __str)
609:       {
609:  return this->assign(__str);
609:       }
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       operator=(const _CharT* __s)
609:       { return this->assign(__s); }
609: # 824 "/usr/include/c++/12/bitsroy(__result, __cur);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Size,
1115:     typename _ForwardIterator>
1115:     inline pair<_RandomAccessIterator, _ForwardIterator>
1115:     __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n,
1115:       _ForwardIterator __result,
1115:       random_access_iterator_tag)
1115:     {
1115:       auto __second_res = uninitialized_copy(__first, __first + __n, __result);
1115:       auto __first_res = std::next(__first, __n);
1115:       return {__first_res, __second_res};
1115:     }
1115: # 933 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1115:     inline _ForwardIterator
1115:     uninitialized_copy_n(_InputIterator __first, _Size __n,
1115:     _ForwardIterator __result)
1115:     { return std::__uninitialized_copy_n(__first, __n, __result,
1115:       std::__iterator_category(__first)); }
1115: 
1115: 
1115:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1115:     inline pair<_InputIterator, _ForwardIterator>
1115:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1115:          _ForwardIterator __result)
1115:     {
1115:       return
1115:  std::__uninitialized_copy_n_pair(__first, __n, __result,
1115:       std::__iterator_category(__first));
1115:     }
1115: # 962 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template <typename _ForwardIterator>
1115:     inline void
1115:     uninitialized_default_construct(_ForwardIterator __first,
1115:         _ForwardIterator __last)
1115:     {
1115:       __uninitialized_default_novalue(__first, __last);
1115:     }
1115: # 977 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template <typename _ForwardIterator, typename _Size>
1115:     inline _ForwardIterator
1115:     uninitialized_default_construct_n(_ForwardIterator __first, _Size __count)
1115:     {
1115:       return __uninitialized_default_novalue_n(__first, __count);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _ForwardIterator>
1115:     inline void
1115:     uninitialized_value_construct(_ForwardIterator __first,
1115:       _ForwardIterator __last)
1115:     {
1115:       return __uninitialized_default(__first, __last);
1115:     }
1115: # 1005 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template <typename _ForwardIterator, typename _Size>
1115:     inline _ForwardIterator
1115:     uninitialized_value_construct_n(_ForwardIterator __first, _Size __count)
1115:     {
1115:       return __uninitialized_default_n(__first, __count);
1115:     }
1115: # 1020 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template <typename _InputIterator, typename _ForwardIterator>
1115:     inline _ForwardIterator
1115:     uninitialized_move(_InputIterator __first, _InputIterator __last,
1115:          _ForwardIterator __result)
1115:     {
1115:       return std::uninitialized_copy
1115:  (std::make_move_iterator(__first),
1115:   std::make_move_iterator(__last), __result);
1115:     }
1115: # 1038 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:   template <typename _InputIterator, typename _Size, typename _ForwardIterator>
1115:     inline pair<_InputIterator, _ForwardIterator>
1115:     uninitialized_move_n(_InputIterator __first, _Size __count,
1115:     _ForwardIterator __result)
1115:     {
1115:       auto __res = std::__uninitialized_copy_n_pair
1115:  (std::make_move_iterator(__first),
1115:   __count, __result);
1115:       return {__res.first.base(), __res.second};
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up, typename _Allocator>
1115:    
1115:     inline void
1115:     __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig,
1115:    _Allocator& __alloc)
1115:     noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc,
1115:     __dest, std::move(*__orig)))
1115:       && noexcept(std::allocator_traits<_A/basic_string.h" 3
609:      
609:       basic_string&
609:       operator=(_CharT __c)
609:       {
609:  this->assign(1, __c);
609:  return *this;
609:       }
609: # 842 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       operator=(basic_string&& __str)
609:       noexcept(_Alloc_traits::_S_nothrow_move())
609:       {
609:  if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
609:      && !_Alloc_traits::_S_always_equal()
609:      && _M_get_allocator() != __str._M_get_allocator())
609:    {
609: 
609:      _M_destroy(_M_allocated_capacity);
609:      _M_data(_M_local_data());
609:      _M_set_length(0);
609:    }
609: 
609:  std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
609: 
609:  if (__str._M_is_local())
609:    {
609: 
609: 
609: 
609:      if (__builtin_expect(std::__addressof(__str) != this, true))
609:        {
609:   if (__str.size())
609:     this->_S_copy(_M_data(), __str._M_data(), __str.size());
609:   _M_set_length(__str.size());
609:        }
609:    }
609:  else if (_Alloc_traits::_S_propagate_on_move_assign()
609:      || _Alloc_traits::_S_always_equal()
609:      || _M_get_allocator() == __str._M_get_allocator())
609:    {
609: 
609:      pointer __data = nullptr;
609:      size_type __capacity;
609:      if (!_M_is_local())
609:        {
609:   if (_Alloc_traits::_S_always_equal())
609:     {
609: 
609:       __data = _M_data();
609:       __capacity = _M_allocated_capacity;
609:     }
609:   else
609:     _M_destroy(_M_allocated_capacity);
609:        }
609: 
609:      _M_data(__str._M_data());
609:      _M_length(__str.length());
609:      _M_capacity(__str._M_allocated_capacity);
609:      if (__data)
609:        {
609:   __str._M_data(__data);
609:   __str._M_capacity(__capacity);
609:        }
609:      else
609:        __str._M_data(__str._M_local_buf);
609:    }
609:  else
609:    assign(__str);
609:  __str.clear();
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       operator=(initializer_list<_CharT> __l)
609:       {
609:  this->assign(__l.begin(), __l.size());
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      template<typename _Tp>
609:       
609:        _If_sv<_Tp, basic_string&>
609:        operator=(const _Tp& __svt)
609:        { return this->assign(__svt); }
609: 
609: 
609: 
609: 
609: 
609:      
609:       operator __sv_type() const noexcept
609:       { return __sv_type(data(), size()); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       iterator
609:       begin() noexcept
609:       { return iterator(_M_data()); }
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_iterator
609:       begin() const noexcept
609:       { return const_iterator(_M_data()); }
609: 
609: 
609: 
609: 
609: 
609:      
609:       iterator
609:       end() noexcept
609:       { return iterator(_M_data() + this->size()); }
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_iterator
609:       end() const noexcept
609:       { return const_iterator(_M_data() + this->size()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return reverse_iterator(this->end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(this->end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       reverse_iterator
609:       rend() noexcept
609:       { return reverse_iterator(this->begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return const_reverse_iterator(this->begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_iterator
609:       cbegin() const noexcept
609:       { return const_iterator(this->_M_data()); }
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_iterator
609:       cend() const noexcept
609:       { return const_iterator(this->_M_data() + this->size()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_reverse_iterator
609:       crbegin() const noexcept
609:       { return const_reverse_iterator(this->end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_reverse_iterator
609:       crend() const noexcept
609:       { return const_reverse_iterator(this->begin()); }
609: 
609: 
609:     public:
609: 
609: 
609: 
609:      
609:       size_type
609:       size() const noexcept
609:       { return _M_string_length; }
609: 
609: 
609: 
609:      
609:       size_type
609:       length() const noexcept
609:       { return _M_string_length; }
609: 
609: 
609:      
609:       size_type
609:       max_size() const noexcept
609:       { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; }
609: # 1089 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       void
609:       resize(size_type __n, _CharT __c);
609: # 1103 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       void
609:       resize(size_type __n)
609:       { this->resize(__n, _CharT()); }
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609:      
609:       void
609:       shrink_to_fit() noexcept
609:       { reserve(); }
609: #pragma GCC diagnostic pop
609: # 1130 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       capacity() const noexcept
609:       {
609:  return _M_is_local() ? size_type(_S_local_capacity)
609:                       : _M_allocated_capacity;
609:       }
609: # 1155 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       void
609:       reserve(size_type __res_arg);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       void
609:       reserve();
609: 
609: 
609: 
609: 
609:      
609:       void
609:       clear() noexcept
609:       { _M_set_length(0); }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       bool
609:       empty() const noexcept
609:       { return this->size() == 0; }
609: # 1197 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       const_reference
609:       operator[] (size_type __pos) const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
609:  return _M_data()[__pos];
609:       }
609: # 1215 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       reference
609:       operator[](size_type __pos)
609:       {
609: 
609: 
609:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
609: 
609:  ;
609:  return _M_data()[__pos];
609:       }
609: # 1237 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       const_reference
609:       at(size_type __n) const
609:       {
609:  if (__n >= this->size())
609:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
609: 
609:                             ,
609:        __n, this->size());
609:  return _M_data()[__n];
609:       }
609: # 1259 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       reference
609:       at(size_type __n)
609:       {
609:  if (__n >= size())
609:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
609: 
609:                             ,
609:        __n, this->size());
609:  return _M_data()[__n];
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       reference
609:       front() noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
609:  return operator[](0);
609:       }
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_reference
609:       front() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
609:  return operator[](0);
609:       }
609: 
609: 
609: 
609: 
609: 
609:      
609:       refllocator>::destroy(
1115:        __alloc, std::__addressof(*__orig))))
1115:     {
1115:       typedef std::allocator_traits<_Allocator> __traits;
1115:       __traits::construct(__alloc, __dest, std::move(*__orig));
1115:       __traits::destroy(__alloc, std::__addressof(*__orig));
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename = void>
1115:     struct __is_bitwise_relocatable
1115:     : is_trivial<_Tp> { };
1115: 
1115:   template <typename _InputIterator, typename _ForwardIterator,
1115:      typename _Allocator>
1115:    
1115:     inline _ForwardIterator
1115:     __relocate_a_1(_InputIterator __first, _InputIterator __last,
1115:      _ForwardIterator __result, _Allocator& __alloc)
1115:     noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result),
1115:             std::addressof(*__first),
1115:             __alloc)))
1115:     {
1115:       typedef typename iterator_traits<_InputIterator>::value_type
1115:  _ValueType;
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType2;
1115:       static_assert(std::is_same<_ValueType, _ValueType2>::value,
1115:    "relocation is only possible for values of the same type");
1115:       _ForwardIterator __cur = __result;
1115:       for (; __first != __last; ++__first, (void)++__cur)
1115:  std::__relocate_object_a(std::__addressof(*__cur),
1115:      std::__addressof(*__first), __alloc);
1115:       return __cur;
1115:     }
1115: 
1115:   template <typename _Tp, typename _Up>
1115:    
1115:     inline __enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp*>
1115:     __relocate_a_1(_Tp* __first, _Tp* __last,
1115:      _Tp* __result,
1115:      [[__maybe_unused__]] allocator<_Up>& __alloc) noexcept
1115:     {
1115:       ptrdiff_t __count = __last - __first;
1115:       if (__count > 0)
1115:  {
1115: # 1117 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1115:    __builtin_memmove(__result, __first, __count * sizeof(_Tp));
1115:  }
1115:       return __result + __count;
1115:     }
1115: 
1115: 
1115:   template <typename _InputIterator, typename _ForwardIterator,
1115:      typename _Allocator>
1115:    
1115:     inline _ForwardIterator
1115:     __relocate_a(_InputIterator __first, _InputIterator __last,
1115:    _ForwardIterator __result, _Allocator& __alloc)
1115:     noexcept(noexcept(__relocate_a_1(std::__niter_base(__first),
1115:          std::__niter_base(__last),
1115:          std::__niter_base(__result), __alloc)))
1115:     {
1115:       return std::__relocate_a_1(std::__niter_base(__first),
1115:      std::__niter_base(__last),
1115:      std::__niter_base(__result), __alloc);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 67 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_tempbuf.h" 1 3
1115: # 62 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   namespace __detail
1115:   {
1115:     template<typename _Tp>
1115:       inline void
1115:       __return_temporary_buffer(_Tp* __p,
1115:     size_t __len __attribute__((__unused__)))
1115:       {
1115: 
1115:  ::operator delete(__p, __len * sizeof(_Tp));
1115: 
1115: 
1115: 
1115:       }
1115:   }
1115: # 98 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1115:   template<typename _Tp>
1115:     [[__deprecated__]]
1115:     pair<_Tp*, ptrdiff_t>
1115:     get_temporary_buffer(ptrdiff_t __len) noexcept
1115:     {
1115:       const ptrdiff_t __max =
1115:  __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1115:       if (__len > __max)
1115:  __len = __max;
1115: 
1115:       while (__len > 0)
1115:  {
1115:    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
1115:        std::nothrow));
1115:    if (__tmp != 0)
1115:      return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
1115:    __len = __len == 1 ? 0 : ((__len + 1) / 2);
1115:  }
1115:       return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
1115:     }
1115: # 126 "/usr/include/c++/12/bits/stl_tempberence
609:       back() noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
609:  return operator[](this->size() - 1);
609:       }
609: 
609: 
609: 
609: 
609: 
609:      
609:       const_reference
609:       back() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
609:  return operator[](this->size() - 1);
609:       }
609: # 1327 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       operator+=(const basic_string& __str)
609:       { return this->append(__str); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       operator+=(const _CharT* __s)
609:       { return this->append(__s); }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       operator+=(_CharT __c)
609:       {
609:  this->push_back(__c);
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       operator+=(initializer_list<_CharT> __l)
609:       { return this->append(__l.begin(), __l.size()); }
609: # 1373 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  operator+=(const _Tp& __svt)
609:  { return this->append(__svt); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       append(const basic_string& __str)
609:       { return this->append(__str._M_data(), __str.size()); }
609: # 1403 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       append(const basic_string& __str, size_type __pos, size_type __n = npos)
609:       { return this->append(__str._M_data()
609:        + __str._M_check(__pos, "basic_string::append"),
609:        __str._M_limit(__pos, __n)); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       append(const _CharT* __s, size_type __n)
609:       {
609:  ;
609:  _M_check_length(size_type(0), __n, "basic_string::append");
609:  return _M_append(__s, __n);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       append(const _CharT* __s)
609:       {
609:  ;
609:  const size_type __n = traits_type::length(__s);
609:  _M_check_length(size_type(0), __n, "basic_string::append");
609:  return _M_append(__s, __n);
609:       }
609: # 1448 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       append(size_type __n, _CharT __c)
609:       { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       append(initializer_list<_CharT> __l)
609:       { return this->append(__l.begin(), __l.size()); }
609: # 1474 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<class _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609: 
609: 
609: 
609:         basic_string&
609:         append(_InputIterator __first, _InputIterator __last)
609:         { return this->replace(end(), end(), __first, __last); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Tp>
609: 
609:         _If_sv<_Tp, basic_string&>
609:         append(const _Tp& __svt)
609:         {
609:           __sv_type __sv = __svt;
609:           return this->append(__sv.data(), __sv.size());
609:         }
609: # 1506 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:         _If_sv<_Tp, basic_string&>
609:  append(const _Tp& __svt, size_type __pos, size_type __n = npos)
609:  {
609:    __sv_type __sv = __svt;
609:    return _M_append(__sv.data()
609:        + std::__sv_check(__sv.size(), __pos, "basic_string::append"),
609:        std::__sv_limit(__sv.size(), __pos, __n));
609:  }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       void
609:       push_back(_CharT __c)
609:       {
609:  const size_type __size = this->size();
609:  if (__size + 1 > this->capacity())
609:    this->_M_mutate(__size, size_type(0), 0, size_type(1));
609:  traits_type::assign(this->_M_data()[__size], __c);
609:  this->_M_set_length(__size + 1);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       assign(const basic_string& __str)
609:       {
609: 
609:  if (_Alloc_traits::_S_propagate_on_copy_assign())
609:    {
609:      if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
609:   && _M_get_allocator() != __str._M_get_allocator())
609:        {
609: 
609: 
609:   if (__str.size() <= _S_local_capacity)
609:     {
609:       _M_destroy(_M_allocated_capacity);
609:       _M_data(_M_use_local_data());
609:       _M_set_length(0);
609:     }
609:   else
609:     {
609:       const auto __len = __str.size();
609:       auto __alloc = __str._M_get_allocator();
609: 
609:       auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1);
609:       _M_destroy(_M_allocated_capacity);
609:       _M_data(__ptr);
609:       _M_capacity(__len);
609:       _M_set_length(__len);
609:     }
609:        }
609:      std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
609:    }
609: 
609:  this->_M_assign(__str);
609:  return *this;
609:       }
609: # 1584 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       assign(basic_string&& __str)
609:       noexcept(_Alloc_traits::_S_nothrow_move())
609:       {
609: 
609: 
609:  return *this = std::move(__str);
609:       }
609: # 1608 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       assign(const basic_string& __str, size_type __pos, size_type __n = npos)
609:       { return _M_replace(size_type(0), this->size(), __str._M_data()
609:      + __str._M_check(__pos, "basic_string::assign"),
609:      __str._M_limit(__pos, __n)); }
609: # 1625 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       assign(const _CharT* __s, size_type __n)
609:       {
609:  ;
609:  return _M_replace(size_type(0), this->size(), __s, __n);
609:       }
609: # 1642 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       assign(const _CharT* __s)
609:       {
609:  ;
609:  return _M_replace(size_type(0), this->size(), __s,
609:      traits_type::length(__s));
609:       }
609: # 1660 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       assign(size_type __n, _CharT __c)
609:       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
609: # 1674 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<class _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609: 
609: 
609: 
609:         basic_string&
609:         assign(_InputIterator __first, _InputIterator __last)
609:         { return this->replace(begin(), end(), __first, __last); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       basic_string&
609:       assign(initializer_list<_CharT> __l)
609:       { return this->assign(__l.begin(), __l.size()); }
609: # 1702 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  assign(const _Tp& __svt)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->assign(__sv.data(), __sv.size());
609:  }
609: # 1718 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
609:  {
609:    __sv_type __sv = __svt;
609:    return _M_replace(size_type(0), this->size(),
609:        __sv.data()
609:        + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
609:        std::__sv_limit(__sv.size(), __pos, __n));
609:  }
609: # 1747 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       iterator
609:       insert(const_iterator __p, size_type __n, _CharT __c)
609:       {
609:  ;
609:  const size_type __pos = __p - begin();
609:  this->replace(__p, __p, __nuf.h" 3
1115:   template<typename _Tp>
1115:     inline void
1115:     return_temporary_buffer(_Tp* __p)
1115:     { ::operator delete(__p); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Tp>
1115:     class _Temporary_buffer
1115:     {
1115: 
1115:      
1115: 
1115:     public:
1115:       typedef _Tp value_type;
1115:       typedef value_type* pointer;
1115:       typedef pointer iterator;
1115:       typedef ptrdiff_t size_type;
1115: 
1115:     protected:
1115:       size_type _M_original_len;
1115:       size_type _M_len;
1115:       pointer _M_buffer;
1115: 
1115:     public:
1115: 
1115:       size_type
1115:       size() const
1115:       { return _M_len; }
1115: 
1115: 
1115:       size_type
1115:       requested_size() const
1115:       { return _M_original_len; }
1115: 
1115: 
1115:       iterator
1115:       begin()
1115:       { return _M_buffer; }
1115: 
1115: 
1115:       iterator
1115:       end()
1115:       { return _M_buffer + _M_len; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       _Temporary_buffer(_ForwardIterator __seed, size_type __original_len);
1115: 
1115:       ~_Temporary_buffer()
1115:       {
1115:  std::_Destroy(_M_buffer, _M_buffer + _M_len);
1115:  std::__detail::__return_temporary_buffer(_M_buffer, _M_len);
1115:       }
1115: 
1115:     private:
1115: 
1115:       _Temporary_buffer(const _Temporary_buffer&);
1115: 
1115:       void
1115:       operator=(const _Temporary_buffer&);
1115:     };
1115: 
1115: 
1115:   template<bool>
1115:     struct __uninitialized_construct_buf_dispatch
1115:     {
1115:       template<typename _Pointer, typename _ForwardIterator>
1115:         static void
1115:         __ucr(_Pointer __first, _Pointer __last,
1115:        _ForwardIterator __seed)
1115:         {
1115:    if (__first == __last)
1115:      return;
1115: 
1115:    _Pointer __cur = __first;
1115:    try
1115:      {
1115:        std::_Construct(std::__addressof(*__first),
1115:          std::move(*__seed));
1115:        _Pointer __prev = __cur;
1115:        ++__cur;
1115:        for(; __cur != __last; ++__cur, ++__prev)
1115:   std::_Construct(std::__addressof(*__cur),
1115:     std::move(*__prev));
1115:        *__seed = std::move(*__prev);
1115:      }
1115:    catch(...)
1115:      {
1115:        std::_Destroy(__first, __cur);
1115:        throw;
1115:      }
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct __uninitialized_construct_buf_dispatch<true>
1115:     {
1115:       template<typename _Pointer, typename _ForwardIterator>
1115:         static void
1115:         __ucr(_Pointer, _Pointer, _ForwardIterator) { }
1115:     };
1115: # 244 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1115:   template<typename _Pointer, typename _ForwardIterator>
1115:     inline void
1115:     __uninitialized_construct_buf(_Pointer __first, _Pointer __last,
1115:       _ForwardIterator __seed)
1115:     {
1115:       typedef typename std::iterator_traits<_Pointer>::value_type
1115:  _ValueType;
1115: 
1115:       std::__uninitialized_construct_buf_dispatch<
1115:         __has_trivial_constructor(_ValueType)>::
1115:    __ucr(__first, __last, __seed);
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp>
1115:     _Temporary_buffer<_ForwardIterator, _Tp>::
1115:     _Temporary_buffer(_ForwardIterator __seed, size_type __original_len)
1115:     : _M_original_len(__original_len), _M_len(0), _M_buffer(0)
1115:     {
1115:       std::pair<pointer, size_type> __p(
1115:   std::get_temporary_buffer<value_type>(_M_original_len));
1115: 
1115:       if (__p.first)
1115:  {
1115:    try
1115:      {
1115:        std::__uninitialized_construct_buf(__p.first, __p.first + __p.second,
1115:        __seed);
1115:        _M_buffer = __p.first;
1115:        _M_len = __p.second;
1115:      }
1115:    catch(...)
1115:      {
1115:        std::__detail::__return_temporary_buffer(__p.first, __p.second);
1115:        throw;
1115:      }
1115:  }
1115:     }
1115: 
1115: 
1115: }
1115: # 68 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr, __c);
609:  return iterator(this->_M_data() + __pos);
609:       }
609: # 1790 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<class _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:  iterator
609:         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
609:         {
609:    ;
609:    const size_type __pos = __p - begin();
609:    this->replace(__p, __p, __beg, __end);
609:    return iterator(this->_M_data() + __pos);
609:  }
609: # 1827 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       iterator
609:       insert(const_iterator __p, initializer_list<_CharT> __l)
609:       { return this->insert(__p, __l.begin(), __l.end()); }
609: # 1855 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       insert(size_type __pos1, const basic_string& __str)
609:       { return this->replace(__pos1, size_type(0),
609:         __str._M_data(), __str.size()); }
609: # 1879 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       insert(size_type __pos1, const basic_string& __str,
609:       size_type __pos2, size_type __n = npos)
609:       { return this->replace(__pos1, size_type(0), __str._M_data()
609:         + __str._M_check(__pos2, "basic_string::insert"),
609:         __str._M_limit(__pos2, __n)); }
609: # 1903 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       insert(size_type __pos, const _CharT* __s, size_type __n)
609:       { return this->replace(__pos, size_type(0), __s, __n); }
609: # 1923 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       insert(size_type __pos, const _CharT* __s)
609:       {
609:  ;
609:  return this->replace(__pos, size_type(0), __s,
609:         traits_type::length(__s));
609:       }
609: # 1948 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       insert(size_type __pos, size_type __n, _CharT __c)
609:       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
609:          size_type(0), __n, __c); }
609: # 1967 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       iterator
609:       insert(__const_iterator __p, _CharT __c)
609:       {
609:  ;
609:  const size_type __pos = __p - begin();
609:  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
609:  return iterator(_M_data() + __pos);
609:       }
609: # 1984 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  insert(size_type __pos, const _Tp& __svt)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->insert(__pos, __sv.data(), __sv.size());
609:  }
609: # 2001 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  insert(size_type __pos1, const _Tp& __svt,
609:         size_type __pos2, size_type __n = npos)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->replace(__pos1, size_type(0),
609:        __sv.data()
609:        + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
609:        std::__sv_limit(__sv.size(), __pos2, __n));
609:  }
609: # 2030 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       erase(size_type __pos = 0, size_type __n = npos)
609:       {
609:  _M_check(__pos, "basic_string::erase");
609:  if (__n == npos)
609:    this->_M_set_length(__pos);
609:  else if (__n != 0)
609:    this->_M_erase(__pos, _M_limit(__pos, __n));
609:  return *this;
609:       }
609: # 2050 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       iterator
609:       erase(__const_iterator __position)
609:       {
609: 
609:                            ;
609:  const size_type __pos = __position - begin();
609:  this->_M_erase(__pos, size_type(1));
609:  return iterator(_M_data() + __pos);
609:       }
609: # 2070 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       iterator
609:       erase(__const_iterator __first, __co/include/c++/12/bits/stl_raw_storage_iter.h" 1 3
1115: # 59 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <class _OutputIterator, class _Tp>
1115:     class [[__deprecated__]] raw_storage_iterator
1115:     : public iterator<output_iterator_tag, void, void, void, void>
1115:     {
1115:     protected:
1115:       _OutputIterator _M_iter;
1115: 
1115:     public:
1115:       explicit
1115:       raw_storage_iterator(_OutputIterator __x)
1115:       : _M_iter(__x) {}
1115: 
1115:       raw_storage_iterator&
1115:       operator*() { return *this; }
1115: 
1115:       raw_storage_iterator&
1115:       operator=(const _Tp& __element)
1115:       {
1115:  std::_Construct(std::__addressof(*_M_iter), __element);
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:       raw_storage_iterator&
1115:       operator=(_Tp&& __element)
1115:       {
1115:  std::_Construct(std::__addressof(*_M_iter), std::move(__element));
1115:  return *this;
1115:       }
1115: 
1115: 
1115:       raw_storage_iterator&
1115:       operator++()
1115:       {
1115:  ++_M_iter;
1115:  return *this;
1115:       }
1115: 
1115:       raw_storage_iterator
1115:       operator++(int)
1115:       {
1115:  raw_storage_iterator __tmp = *this;
1115:  ++_M_iter;
1115:  return __tmp;
1115:       }
1115: 
1115: 
1115: 
1115:       _OutputIterator base() const { return _M_iter; }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: }
1115: # 69 "/usr/include/c++/12/memory" 2 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/align.h" 1 3
1115: # 35 "/usr/include/c++/12/bits/align.h" 3
1115: # 1 "/usr/include/c++/12/bit" 1 3
1115: # 32 "/usr/include/c++/12/bit" 3
1115:        
1115: # 33 "/usr/include/c++/12/bit" 3
1115: # 55 "/usr/include/c++/12/bit" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 149 "/usr/include/c++/12/bit" 3
1115:   template<typename _Tp>
1115:     constexpr _Tp
1115:     __rotl(_Tp __x, int __s) noexcept
1115:     {
1115:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1115:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1115:  {
1115: 
1115: 
1115:    constexpr unsigned __uNd = _Nd;
1115:    const unsigned __r = __s;
1115:    return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
1115:  }
1115:       const int __r = __s % _Nd;
1115:       if (__r == 0)
1115:  return __x;
1115:       else if (__r > 0)
1115:  return (__x << __r) | (__x >> ((_Nd - __r) % _Nd));
1115:       else
1115:  return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd));
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr _Tp
1115:     __rotr(_Tp __x, int __s) noexcept
1115:     {
1115:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1115:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1115:  {
1115: 
1115: 
1115:    constexpr unsigned __uNd = _Nd;
1115:    const unsigned __r = __s;
1115:    return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
1115:  }
1115:       const int __r = __s % _Nd;
1115:       if (__r == 0)
1115:  return __x;
1115:       else if (__r > 0)
1115:  return (__x >> __r) | (__x << ((_Nd - __r) % _Nd));
1115:       else
1115:  return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd));
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr int
1115:     __countl_zero(_Tp __x) noexcept
1115:     {
1115:       using __gnu_cxx::__int_traits;
1115:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1115: 
1115:       if (__x == 0)
1115:         return _Nd;
1115: 
1115:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1115:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1115:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1115: 
1115:       if constexpr (_Nd <= _Nd_u)
1115:  {
1115:    constexpr int __diff =nst_iterator __last)
609:       {
609: 
609:                         ;
609:         const size_type __pos = __first - begin();
609:  if (__last == end())
609:    this->_M_set_length(__pos);
609:  else
609:    this->_M_erase(__pos, __last - __first);
609:  return iterator(this->_M_data() + __pos);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       void
609:       pop_back() noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
609:  _M_erase(size() - 1, 1);
609:       }
609: # 2116 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(size_type __pos, size_type __n, const basic_string& __str)
609:       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
609: # 2139 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(size_type __pos1, size_type __n1, const basic_string& __str,
609:        size_type __pos2, size_type __n2 = npos)
609:       { return this->replace(__pos1, __n1, __str._M_data()
609:         + __str._M_check(__pos2, "basic_string::replace"),
609:         __str._M_limit(__pos2, __n2)); }
609: # 2165 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(size_type __pos, size_type __n1, const _CharT* __s,
609:        size_type __n2)
609:       {
609:  ;
609:  return _M_replace(_M_check(__pos, "basic_string::replace"),
609:      _M_limit(__pos, __n1), __s, __n2);
609:       }
609: # 2191 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(size_type __pos, size_type __n1, const _CharT* __s)
609:       {
609:  ;
609:  return this->replace(__pos, __n1, __s, traits_type::length(__s));
609:       }
609: # 2216 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
609:       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
609:          _M_limit(__pos, __n1), __n2, __c); }
609: # 2235 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2,
609:        const basic_string& __str)
609:       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
609: # 2256 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2,
609:        const _CharT* __s, size_type __n)
609:       {
609: 
609:                       ;
609:  return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
609:       }
609: # 2279 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
609:       {
609:  ;
609:  return this->replace(__i1, __i2, __s, traits_type::length(__s));
609:       }
609: # 2301 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
609:        _CharT __c)
609:       {
609: 
609:                       ;
609:  return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
609:       }
609: # 2327 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<class _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:         basic_string&
609:         replace(const_iterator __i1, const_iterator __i2,
609:   _InputIterator __k1, _InputIterator __k2)
609:         {
609:   
609:                         ;
609:    ;
609:    return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
609:         std::__false_type());
609:  }
609: # 2360 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2,
609:        _CharT* __k1, _CharT* __k2)
609:       {
609: 
609:                       ;
609:  ;
609:  return this->re _Nd_u - _Nd;
1115:    return __builtin_clz(__x) - __diff;
1115:  }
1115:       else if constexpr (_Nd <= _Nd_ul)
1115:  {
1115:    constexpr int __diff = _Nd_ul - _Nd;
1115:    return __builtin_clzl(__x) - __diff;
1115:  }
1115:       else if constexpr (_Nd <= _Nd_ull)
1115:  {
1115:    constexpr int __diff = _Nd_ull - _Nd;
1115:    return __builtin_clzll(__x) - __diff;
1115:  }
1115:       else
1115:  {
1115:    static_assert(_Nd <= (2 * _Nd_ull),
1115:    "Maximum supported integer size is 128-bit");
1115: 
1115:    unsigned long long __high = __x >> _Nd_ull;
1115:    if (__high != 0)
1115:      {
1115:        constexpr int __diff = (2 * _Nd_ull) - _Nd;
1115:        return __builtin_clzll(__high) - __diff;
1115:      }
1115:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1115:    unsigned long long __low = __x & __max_ull;
1115:    return (_Nd - _Nd_ull) + __builtin_clzll(__low);
1115:  }
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr int
1115:     __countl_one(_Tp __x) noexcept
1115:     {
1115:       return std::__countl_zero<_Tp>((_Tp)~__x);
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr int
1115:     __countr_zero(_Tp __x) noexcept
1115:     {
1115:       using __gnu_cxx::__int_traits;
1115:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1115: 
1115:       if (__x == 0)
1115:         return _Nd;
1115: 
1115:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1115:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1115:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1115: 
1115:       if constexpr (_Nd <= _Nd_u)
1115:  return __builtin_ctz(__x);
1115:       else if constexpr (_Nd <= _Nd_ul)
1115:  return __builtin_ctzl(__x);
1115:       else if constexpr (_Nd <= _Nd_ull)
1115:  return __builtin_ctzll(__x);
1115:       else
1115:  {
1115:    static_assert(_Nd <= (2 * _Nd_ull),
1115:    "Maximum supported integer size is 128-bit");
1115: 
1115:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1115:    unsigned long long __low = __x & __max_ull;
1115:    if (__low != 0)
1115:      return __builtin_ctzll(__low);
1115:    unsigned long long __high = __x >> _Nd_ull;
1115:    return __builtin_ctzll(__high) + _Nd_ull;
1115:  }
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr int
1115:     __countr_one(_Tp __x) noexcept
1115:     {
1115:       return std::__countr_zero((_Tp)~__x);
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr int
1115:     __popcount(_Tp __x) noexcept
1115:     {
1115:       using __gnu_cxx::__int_traits;
1115:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1115: 
1115:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1115:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1115:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1115: 
1115:       if constexpr (_Nd <= _Nd_u)
1115:  return __builtin_popcount(__x);
1115:       else if constexpr (_Nd <= _Nd_ul)
1115:  return __builtin_popcountl(__x);
1115:       else if constexpr (_Nd <= _Nd_ull)
1115:  return __builtin_popcountll(__x);
1115:       else
1115:  {
1115:    static_assert(_Nd <= (2 * _Nd_ull),
1115:    "Maximum supported integer size is 128-bit");
1115: 
1115:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1115:    unsigned long long __low = __x & __max_ull;
1115:    unsigned long long __high = __x >> _Nd_ull;
1115:    return __builtin_popcountll(__low) + __builtin_popcountll(__high);
1115:  }
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr bool
1115:     __has_single_bit(_Tp __x) noexcept
1115:     { return std::__popcount(__x) == 1; }
1115: 
1115:   template<typename _Tp>
1115:     constexpr _Tp
1115:     __bit_ceil(_Tp __x) noexcept
1115:     {
1115:       using __gnu_cxx::__int_traits;
1115:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1115:       if (__x == 0 || __x == 1)
1115:         return 1;
1115:       auto __shift_place(__i1 - begin(), __i2 - __i1,
609:         __k1, __k2 - __k1);
609:       }
609: 
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2,
609:        const _CharT* __k1, const _CharT* __k2)
609:       {
609: 
609:                       ;
609:  ;
609:  return this->replace(__i1 - begin(), __i2 - __i1,
609:         __k1, __k2 - __k1);
609:       }
609: 
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2,
609:        iterator __k1, iterator __k2)
609:       {
609: 
609:                       ;
609:  ;
609:  return this->replace(__i1 - begin(), __i2 - __i1,
609:         __k1.base(), __k2 - __k1);
609:       }
609: 
609:      
609:       basic_string&
609:       replace(__const_iterator __i1, __const_iterator __i2,
609:        const_iterator __k1, const_iterator __k2)
609:       {
609: 
609:                       ;
609:  ;
609:  return this->replace(__i1 - begin(), __i2 - __i1,
609:         __k1.base(), __k2 - __k1);
609:       }
609: # 2423 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string& replace(const_iterator __i1, const_iterator __i2,
609:        initializer_list<_CharT> __l)
609:       { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
609: # 2437 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  replace(size_type __pos, size_type __n, const _Tp& __svt)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->replace(__pos, __n, __sv.data(), __sv.size());
609:  }
609: # 2455 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  replace(size_type __pos1, size_type __n1, const _Tp& __svt,
609:   size_type __pos2, size_type __n2 = npos)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->replace(__pos1, __n1,
609:        __sv.data()
609:        + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
609:        std::__sv_limit(__sv.size(), __pos2, __n2));
609:  }
609: # 2477 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, basic_string&>
609:  replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->replace(__i1 - begin(), __i2 - __i1, __sv);
609:  }
609: 
609: 
609:     private:
609:       template<class _Integer>
609: 
609:  basic_string&
609:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
609:        _Integer __n, _Integer __val, __true_type)
609:         { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
609: 
609:       template<class _InputIterator>
609: 
609:  basic_string&
609:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
609:        _InputIterator __k1, _InputIterator __k2,
609:        __false_type);
609: 
609:      
609:       basic_string&
609:       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
609:        _CharT __c);
609: 
609:      
609:       basic_string&
609:       _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
609:    const size_type __len2);
609: 
609:      
609:       basic_string&
609:       _M_append(const _CharT* __s, size_type __n);
609: 
609:     public:
609: # 2530 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
609: # 2541 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       void
609:       swap(basic_string& __s) noexcept;
609: # 2552 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       const _CharT*
609:       c_str() const noexcept
609:       { return _M_data(); }
609: # 2565 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       const _CharT*
609:       data() const noexcept
609:       { return _M_data(); }
609: # 2577 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       _CharT*
609:       data() noexcept
609:       { return _M_data(); exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u));
1115: 
1115: 
1115: 
1115: 
1115:       if (!std::__is_constant_evaluated())
1115:  {
1115:    do { if (std::__is_constant_evaluated() && !bool(__shift_exponent != __int_traits<_Tp>::__digits)) __builtin_unreachable(); } while (false);
1115:  }
1115: 
1115:       using __promoted_type = decltype(__x << 1);
1115:       if constexpr (!is_same<__promoted_type, _Tp>::value)
1115:  {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2;
1115:    __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp;
1115:  }
1115:       return (_Tp)1u << __shift_exponent;
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr _Tp
1115:     __bit_floor(_Tp __x) noexcept
1115:     {
1115:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1115:       if (__x == 0)
1115:         return 0;
1115:       return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr _Tp
1115:     __bit_width(_Tp __x) noexcept
1115:     {
1115:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1115:       return _Nd - std::__countl_zero(__x);
1115:     }
1115: # 476 "/usr/include/c++/12/bit" 3
1115: 
1115: }
1115: # 36 "/usr/include/c++/12/bits/align.h" 2 3
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 1 3 4
1115: # 9 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 3 4
1115: # 1 "/usr/include/stdint.h" 1 3 4
1115: # 26 "/usr/include/stdint.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1115: # 27 "/usr/include/stdint.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 28 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1115: # 29 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1115: 
1115: 
1115: typedef unsigned char __u_char;
1115: typedef unsigned short int __u_short;
1115: typedef unsigned int __u_int;
1115: typedef unsigned long int __u_long;
1115: 
1115: 
1115: typedef signed char __int8_t;
1115: typedef unsigned char __uint8_t;
1115: typedef signed short int __int16_t;
1115: typedef unsigned short int __uint16_t;
1115: typedef signed int __int32_t;
1115: typedef unsigned int __uint32_t;
1115: 
1115: 
1115: 
1115: 
1115: __extension__ typedef signed long long int __int64_t;
1115: __extension__ typedef unsigned long long int __uint64_t;
1115: 
1115: 
1115: 
1115: typedef __int8_t __int_least8_t;
1115: typedef __uint8_t __uint_least8_t;
1115: typedef __int16_t __int_least16_t;
1115: typedef __uint16_t __uint_least16_t;
1115: typedef __int32_t __int_least32_t;
1115: typedef __uint32_t __uint_least32_t;
1115: typedef __int64_t __int_least64_t;
1115: typedef __uint64_t __uint_least64_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: __extension__ typedef long long int __quad_t;
1115: __extension__ typedef unsigned long long int __u_quad_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: __extension__ typedef long long int __intmax_t;
1115: __extension__ typedef unsigned long long int __uintmax_t;
1115: # 141 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/typesizes.h" 1 3 4
1115: # 142 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/time64.h" 1 3 4
1115: # 143 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1115: 
1115: 
1115: __extension__ typedef __uint64_t __dev_t;
1115: __extension__ typedef unsigned int __uid_t;
1115: __extension__ typedef unsigned int __gid_t;
1115: __extension__ typedef unsigned long int __ino_t;
1115: __extension__ typedef __uint64_t __ino64_t;
1115: __extension__ typedef unsigned int __mode_t;
1115: __extension__ typedef unsigned int __nlink_t;
1115: __extension__ typedef long int __off_t;
1115: _}
609: 
609: 
609: 
609: 
609: 
609:      
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return _M_get_allocator(); }
609: # 2603 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find(const _CharT* __s, size_type __pos, size_type __n) const
609:       noexcept;
609: # 2618 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find(const basic_string& __str, size_type __pos = 0) const
609:       noexcept
609:       { return this->find(__str.data(), __pos, __str.size()); }
609: # 2631 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, size_type>
609:  find(const _Tp& __svt, size_type __pos = 0) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->find(__sv.data(), __pos, __sv.size());
609:  }
609: # 2652 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find(const _CharT* __s, size_type __pos = 0) const noexcept
609:       {
609:  ;
609:  return this->find(__s, __pos, traits_type::length(__s));
609:       }
609: # 2670 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find(_CharT __c, size_type __pos = 0) const noexcept;
609: # 2684 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       rfind(const basic_string& __str, size_type __pos = npos) const
609:       noexcept
609:       { return this->rfind(__str.data(), __pos, __str.size()); }
609: # 2697 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, size_type>
609:  rfind(const _Tp& __svt, size_type __pos = npos) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->rfind(__sv.data(), __pos, __sv.size());
609:  }
609: # 2720 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       rfind(const _CharT* __s, size_type __pos, size_type __n) const
609:       noexcept;
609: # 2735 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       rfind(const _CharT* __s, size_type __pos = npos) const
609:       {
609:  ;
609:  return this->rfind(__s, __pos, traits_type::length(__s));
609:       }
609: # 2753 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
609: # 2768 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_of(const basic_string& __str, size_type __pos = 0) const
609:       noexcept
609:       { return this->find_first_of(__str.data(), __pos, __str.size()); }
609: # 2782 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, size_type>
609:  find_first_of(const _Tp& __svt, size_type __pos = 0) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->find_first_of(__sv.data(), __pos, __sv.size());
609:  }
609: # 2805 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
609:       noexcept;
609: # 2820 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_of(const _CharT* __s, size_type __pos = 0) const
609:       noexcept
609:       {
609:  ;
609:  return this->find_first_of(__s, __pos, traits_type::length(__s));
609:       }
609: # 2841 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
609:       { return this->find(__c, __pos); }
609: # 2857 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_of(const basic_string& __str, size_type __pos = npos) const
609:       noexcept
609:       { return this->find_last_of(__str.data(), __pos, __str.size()); }
609: # 2871 "/us_extension__ typedef __int64_t __off64_t;
1115: __extension__ typedef int __pid_t;
1115: __extension__ typedef struct { int __val[2]; } __fsid_t;
1115: __extension__ typedef long int __clock_t;
1115: __extension__ typedef unsigned long int __rlim_t;
1115: __extension__ typedef __uint64_t __rlim64_t;
1115: __extension__ typedef unsigned int __id_t;
1115: __extension__ typedef long int __time_t;
1115: __extension__ typedef unsigned int __useconds_t;
1115: __extension__ typedef long int __suseconds_t;
1115: __extension__ typedef __int64_t __suseconds64_t;
1115: 
1115: __extension__ typedef int __daddr_t;
1115: __extension__ typedef int __key_t;
1115: 
1115: 
1115: __extension__ typedef int __clockid_t;
1115: 
1115: 
1115: __extension__ typedef void * __timer_t;
1115: 
1115: 
1115: __extension__ typedef long int __blksize_t;
1115: 
1115: 
1115: 
1115: 
1115: __extension__ typedef long int __blkcnt_t;
1115: __extension__ typedef __int64_t __blkcnt64_t;
1115: 
1115: 
1115: __extension__ typedef unsigned long int __fsblkcnt_t;
1115: __extension__ typedef __uint64_t __fsblkcnt64_t;
1115: 
1115: 
1115: __extension__ typedef unsigned long int __fsfilcnt_t;
1115: __extension__ typedef __uint64_t __fsfilcnt64_t;
1115: 
1115: 
1115: __extension__ typedef int __fsword_t;
1115: 
1115: __extension__ typedef int __ssize_t;
1115: 
1115: 
1115: __extension__ typedef long int __syscall_slong_t;
1115: 
1115: __extension__ typedef unsigned long int __syscall_ulong_t;
1115: 
1115: 
1115: 
1115: typedef __off64_t __loff_t;
1115: typedef char *__caddr_t;
1115: 
1115: 
1115: __extension__ typedef int __intptr_t;
1115: 
1115: 
1115: __extension__ typedef unsigned int __socklen_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef int __sig_atomic_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: __extension__ typedef __int64_t __time64_t;
1115: # 28 "/usr/include/stdint.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar.h" 1 3 4
1115: # 29 "/usr/include/stdint.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 30 "/usr/include/stdint.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 3 4
1115: typedef __int8_t int8_t;
1115: typedef __int16_t int16_t;
1115: typedef __int32_t int32_t;
1115: typedef __int64_t int64_t;
1115: # 35 "/usr/include/stdint.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 3 4
1115: typedef __uint8_t uint8_t;
1115: typedef __uint16_t uint16_t;
1115: typedef __uint32_t uint32_t;
1115: typedef __uint64_t uint64_t;
1115: # 38 "/usr/include/stdint.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __int_least8_t int_least8_t;
1115: typedef __int_least16_t int_least16_t;
1115: typedef __int_least32_t int_least32_t;
1115: typedef __int_least64_t int_least64_t;
1115: 
1115: 
1115: typedef __uint_least8_t uint_least8_t;
1115: typedef __uint_least16_t uint_least16_t;
1115: typedef __uint_least32_t uint_least32_t;
1115: typedef __uint_least64_t uint_least64_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef signed char int_fast8_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef int int_fast16_t;
1115: typedef int int_fast32_t;
1115: __extension__
1115: typedef long long int int_fast64_t;
1115: 
1115: 
1115: 
1115: typedef unsigned char uint_fast8_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef unsigned int uint_fast16_t;
1115: typedef unsigned int uint_fast32_t;
1115: __extension__
1115: typedef unsigned long long int uint_fast64_t;
1115: # 93 "/usr/include/stdint.h" 3 4
1115: typedef int intptr_t;
1115: 
1115: 
1115: typedef unsigned int uintptr_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __intmax_t intmax_t;
1115: typedef __uintmax_t uintmax_t;
1115: # 10 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 2 3 4
1115: # 37 "/usr/include/c++/12/bits/align.h" 2 3
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115:r/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, size_type>
609:  find_last_of(const _Tp& __svt, size_type __pos = npos) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->find_last_of(__sv.data(), __pos, __sv.size());
609:  }
609: # 2894 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
609:       noexcept;
609: # 2909 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_of(const _CharT* __s, size_type __pos = npos) const
609:       noexcept
609:       {
609:  ;
609:  return this->find_last_of(__s, __pos, traits_type::length(__s));
609:       }
609: # 2930 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_of(_CharT __c, size_type __pos = npos) const noexcept
609:       { return this->rfind(__c, __pos); }
609: # 2945 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
609:       noexcept
609:       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
609: # 2959 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609:  _If_sv<_Tp, size_type>
609: 
609:  find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->find_first_not_of(__sv.data(), __pos, __sv.size());
609:  }
609: # 2982 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_not_of(const _CharT* __s, size_type __pos,
609:    size_type __n) const noexcept;
609: # 2997 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
609:       noexcept
609:       {
609:  ;
609:  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
609:       }
609: # 3016 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_first_not_of(_CharT __c, size_type __pos = 0) const
609:       noexcept;
609: # 3032 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
609:       noexcept
609:       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
609: # 3046 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, size_type>
609:  find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return this->find_last_not_of(__sv.data(), __pos, __sv.size());
609:  }
609: # 3069 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_not_of(const _CharT* __s, size_type __pos,
609:          size_type __n) const noexcept;
609: # 3084 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
609:       noexcept
609:       {
609:  ;
609:  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
609:       }
609: # 3103 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       size_type
609:       find_last_not_of(_CharT __c, size_type __pos = npos) const
609:       noexcept;
609: # 3120 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       basic_string
609:       substr(size_type __pos = 0, size_type __n = npos) const
609:       { return basic_string(*this,
609:        _M_check(__pos, "basic_string::substr"), __n); }
609: # 3140 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       int
609:       compare(const basic_string& __str) const
609:       {
609:  const size_type __size = this->size();
609:  const size {
1115: 
1115: # 61 "/usr/include/c++/12/bits/align.h" 3
1115: inline void*
1115: align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept
1115: {
1115:   if (__space < __size)
1115:     return nullptr;
1115:   const auto __intptr = reinterpret_cast<uintptr_t>(__ptr);
1115:   const auto __aligned = (__intptr - 1u + __align) & -__align;
1115:   const auto __diff = __aligned - __intptr;
1115:   if (__diff > (__space - __size))
1115:     return nullptr;
1115:   else
1115:     {
1115:       __space -= __diff;
1115:       return __ptr = reinterpret_cast<void*>(__aligned);
1115:     }
1115: }
1115: # 108 "/usr/include/c++/12/bits/align.h" 3
1115: 
1115: }
1115: # 73 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr/include/c++/12/bits/uses_allocator.h" 1 3
1115: # 35 "/usr/include/c++/12/bits/uses_allocator.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   struct __erased_type { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Alloc, typename _Tp>
1115:     using __is_erased_or_convertible
1115:       = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
1115: 
1115: 
1115:   struct allocator_arg_t { explicit allocator_arg_t() = default; };
1115: 
1115:   inline constexpr allocator_arg_t allocator_arg =
1115:     allocator_arg_t();
1115: 
1115:   template<typename _Tp, typename _Alloc, typename = __void_t<>>
1115:     struct __uses_allocator_helper
1115:     : false_type { };
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     struct __uses_allocator_helper<_Tp, _Alloc,
1115:        __void_t<typename _Tp::allocator_type>>
1115:     : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     struct uses_allocator
1115:     : __uses_allocator_helper<_Tp, _Alloc>::type
1115:     { };
1115: 
1115:   struct __uses_alloc_base { };
1115: 
1115:   struct __uses_alloc0 : __uses_alloc_base
1115:   {
1115:     struct _Sink { void operator=(const void*) { } } _M_a;
1115:   };
1115: 
1115:   template<typename _Alloc>
1115:     struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
1115: 
1115:   template<typename _Alloc>
1115:     struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
1115: 
1115:   template<bool, typename _Tp, typename _Alloc, typename... _Args>
1115:     struct __uses_alloc;
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     struct __uses_alloc<true, _Tp, _Alloc, _Args...>
1115:     : __conditional_t<
1115:         is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
1115:         __uses_alloc1<_Alloc>,
1115:         __uses_alloc2<_Alloc>>
1115:     {
1115: 
1115: 
1115:       static_assert(__or_<
1115:    is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
1115:    is_constructible<_Tp, _Args..., const _Alloc&>>::value,
1115:    "construction with an allocator must be possible"
1115:    " if uses_allocator is true");
1115:     };
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     struct __uses_alloc<false, _Tp, _Alloc, _Args...>
1115:     : __uses_alloc0 { };
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     using __uses_alloc_t =
1115:       __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:    
1115:     inline __uses_alloc_t<_Tp, _Alloc, _Args...>
1115:     __use_alloc(const _Alloc& __a)
1115:     {
1115:       __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
1115:       __ret._M_a = std::__addressof(__a);
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     void
1115:     __use_alloc(const _Alloc&&) = delete;
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     inline constexpr bool uses_allocator_v =
1115:       uses_allocator<_Tp, _Alloc>::value;
1115: 
1115: 
1115_type __osize = __str.size();
609:  const size_type __len = std::min(__size, __osize);
609: 
609:  int __r = traits_type::compare(_M_data(), __str.data(), __len);
609:  if (!__r)
609:    __r = _S_compare(__size, __osize);
609:  return __r;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, int>
609:  compare(const _Tp& __svt) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    const size_type __size = this->size();
609:    const size_type __osize = __sv.size();
609:    const size_type __len = std::min(__size, __osize);
609: 
609:    int __r = traits_type::compare(_M_data(), __sv.data(), __len);
609:    if (!__r)
609:      __r = _S_compare(__size, __osize);
609:    return __r;
609:  }
609: # 3185 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, int>
609:  compare(size_type __pos, size_type __n, const _Tp& __svt) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return __sv_type(*this).substr(__pos, __n).compare(__sv);
609:  }
609: # 3205 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename _Tp>
609: 
609:  _If_sv<_Tp, int>
609:  compare(size_type __pos1, size_type __n1, const _Tp& __svt,
609:   size_type __pos2, size_type __n2 = npos) const
609:  noexcept(is_same<_Tp, __sv_type>::value)
609:  {
609:    __sv_type __sv = __svt;
609:    return __sv_type(*this)
609:      .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
609:  }
609: # 3237 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       int
609:       compare(size_type __pos, size_type __n, const basic_string& __str) const;
609: # 3264 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       int
609:       compare(size_type __pos1, size_type __n1, const basic_string& __str,
609:        size_type __pos2, size_type __n2 = npos) const;
609: # 3283 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       int
609:       compare(const _CharT* __s) const noexcept;
609: # 3308 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       int
609:       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
609: # 3336 "/usr/include/c++/12/bits/basic_string.h" 3
609:      
609:       int
609:       compare(size_type __pos, size_type __n1, const _CharT* __s,
609:        size_type __n2) const;
609: # 3382 "/usr/include/c++/12/bits/basic_string.h" 3
609:       template<typename, typename, typename> friend class basic_stringbuf;
609:     };
609: }
609: 
609: }
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: namespace __cxx11 {
609:   template<typename _InputIterator, typename _CharT
609:       = typename iterator_traits<_InputIterator>::value_type,
609:     typename _Allocator = allocator<_CharT>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
609:       -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits,
609:     typename _Allocator = allocator<_CharT>,
609:     typename = _RequireAllocator<_Allocator>>
609:     basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
609:       -> basic_string<_CharT, _Traits, _Allocator>;
609: 
609:   template<typename _CharT, typename _Traits,
609:     typename _Allocator = allocator<_CharT>,
609:     typename = _RequireAllocator<_Allocator>>
609:     basic_string(basic_string_view<_CharT, _Traits>,
609:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
609:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
609:    const _Allocator& = _Allocator())
609:       -> basic_string<_CharT, _Traits, _Allocator>;
609: }
609: # 3429 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609::   template<template<typename...> class _Predicate,
1115:     typename _Tp, typename _Alloc, typename... _Args>
1115:     struct __is_uses_allocator_predicate
1115:     : __conditional_t<uses_allocator<_Tp, _Alloc>::value,
1115:       __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
1115:      _Predicate<_Tp, _Args..., _Alloc>>,
1115:       _Predicate<_Tp, _Args...>> { };
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     struct __is_uses_allocator_constructible
1115:     : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     inline constexpr bool __is_uses_allocator_constructible_v =
1115:       __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     struct __is_nothrow_uses_allocator_constructible
1115:     : __is_uses_allocator_predicate<is_nothrow_constructible,
1115:         _Tp, _Alloc, _Args...>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     inline constexpr bool
1115:     __is_nothrow_uses_allocator_constructible_v =
1115:       __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1115: 
1115: 
1115:   template<typename _Tp, typename... _Args>
1115:     void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr,
1115:       _Args&&... __args)
1115:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
1115:       _Args&&... __args)
1115:     {
1115:       ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a,
1115:           std::forward<_Args>(__args)...);
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
1115:       _Args&&... __args)
1115:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
1115: 
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
1115:         _Args&&... __args)
1115:     {
1115:       std::__uses_allocator_construct_impl(
1115:    std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
1115:    std::forward<_Args>(__args)...);
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: # 74 "/usr/include/c++/12/memory" 2 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/unique_ptr.h" 1 3
1115: # 36 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115: # 1 "/usr/include/c++/12/tuple" 1 3
1115: # 32 "/usr/include/c++/12/tuple" 3
1115:        
1115: # 33 "/usr/include/c++/12/tuple" 3
1115: # 41 "/usr/include/c++/12/tuple" 3
1115: # 1 "/usr/include/c++/12/bits/invoke.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/invoke.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/invoke.h" 3
1115: # 42 "/usr/include/c++/12/bits/invoke.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 53 "/usr/include/c++/12/bits/invoke.h" 3
1115:   template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
1115:     constexpr _Up&&
1115:     __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
1115:     { return static_cast<_Up&&>(__t); }
1115: 
1115:   template<typename _Res, typename _Fn, typename... _Args>
1115:     constexpr _Res
1115:     __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
1115:     { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
1115: 
1115:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1115:     constexpr _Res
1115:     __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
1115:     _Args&&... __args)
1115:     { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
1115: 
1115:   template<typename _Res, typename _MemFun, typ    
609:     basic_string<_CharT, _Traits, _Alloc>
609:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     {
609:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
609:       __str.append(__rhs);
609:       return __str;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     basic_string<_CharT,_Traits,_Alloc>
609:     operator+(const _CharT* __lhs,
609:        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     basic_string<_CharT,_Traits,_Alloc>
609:     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:        const _CharT* __rhs)
609:     {
609:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
609:       __str.append(__rhs);
609:       return __str;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
609:     {
609:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
609:       typedef typename __string_type::size_type __size_type;
609:       __string_type __str(__lhs);
609:       __str.append(__size_type(1), __rhs);
609:       return __str;
609:     }
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
609:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     { return std::move(__lhs.append(__rhs)); }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
609:     { return std::move(__rhs.insert(0, __lhs)); }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
609:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
609:     {
609: 
609:       using _Alloc_traits = allocator_traits<_Alloc>;
609:       bool __use_rhs = false;
609:       if constexpr (typename _Alloc_traits::is_always_equal{})
609:  __use_rhs = true;
609:       else if (__lhs.get_allocator() == __rhs.get_allocator())
609:  __use_rhs = true;
609:       if (__use_rhs)
609: 
609:  {
609:    const auto __size = __lhs.size() + __rhs.size();
609:    if (__size > __lhs.capacity() && __size <= __rhs.capacity())
609:      return std::move(__rhs.insert(0, __lhs));
609:  }
609:       return std::move(__lhs.append(__rhs));
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(const _CharT* __lhs,
609:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
609:     { return std::move(__rhs.insert(0, __lhs)); }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(_CharT __lhs,
609:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
609:     { return std::move(__rhs.insert(0, 1, __lhs)); }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
609:        const _CharT* __rhsPreprocessed source stored into /tmp/cccsdVaN.out file, please attach this to your bugreport.
ename _Tp, typename... _Args>
1115:     constexpr _Res
1115:     __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
1115:     _Args&&... __args)
1115:     {
1115:       return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
1115:     }
1115: 
1115:   template<typename _Res, typename _MemPtr, typename _Tp>
1115:     constexpr _Res
1115:     __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
1115:     { return __invfwd<_Tp>(__t).*__f; }
1115: 
1115:   template<typename _Res, typename _MemPtr, typename _Tp>
1115:     constexpr _Res
1115:     __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
1115:     { return (*std::forward<_Tp>(__t)).*__f; }
1115: 
1115: 
1115:   template<typename _Callable, typename... _Args>
1115:     constexpr typename __invoke_result<_Callable, _Args...>::type
1115:     __invoke(_Callable&& __fn, _Args&&... __args)
1115:     noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
1115:     {
1115:       using __result = __invoke_result<_Callable, _Args...>;
1115:       using __type = typename __result::type;
1115:       using __tag = typename __result::__invoke_type;
1115:       return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1115:      std::forward<_Args>(__args)...);
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Res, typename _Callable, typename... _Args>
1115:     constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
1115:     __invoke_r(_Callable&& __fn, _Args&&... __args)
1115:     noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
1115:     {
1115:       using __result = __invoke_result<_Callable, _Args...>;
1115:       using __type = typename __result::type;
1115:       using __tag = typename __result::__invoke_type;
1115:       if constexpr (is_void_v<_Res>)
1115:  std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1115:      std::forward<_Args>(__args)...);
1115:       else
1115:  return std::__invoke_impl<__type>(__tag{},
1115:        std::forward<_Callable>(__fn),
1115:        std::forward<_Args>(__args)...);
1115:     }
1115: # 159 "/usr/include/c++/12/bits/invoke.h" 3
1115: 
1115: }
1115: # 42 "/usr/include/c++/12/tuple" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename... _Elements>
1115:     class tuple;
1115: 
1115:   template<typename _Tp>
1115:     struct __is_empty_non_tuple : is_empty<_Tp> { };
1115: 
1115: 
1115:   template<typename _El0, typename... _El>
1115:     struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using __empty_not_final
1115:     = __conditional_t<__is_final(_Tp), false_type,
1115:         __is_empty_non_tuple<_Tp>>;
1115: 
1115:   template<size_t _Idx, typename _Head,
1115:     bool = __empty_not_final<_Head>::value>
1115:     struct _Head_base;
1115: 
1115: 
1115:   template<size_t _Idx, typename _Head>
1115:     struct _Head_base<_Idx, _Head, true>
1115:     {
1115:       constexpr _Head_base()
1115:       : _M_head_impl() { }
1115: 
1115:       constexpr _Head_base(const _Head& __h)
1115:       : _M_head_impl(__h) { }
1115: 
1115:       constexpr _Head_base(const _Head_base&) = default;
1115:       constexpr _Head_base(_Head_base&&) = default;
1115: 
1115:       template<typename _UHead>
1115:  constexpr _Head_base(_UHead&& __h)
1115:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1115: 
1115:      
1115:       _Head_base(allocator_arg_t, __uses_alloc0)
1115:       : _M_head_impl() { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1115:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1115:  : _M_head_impl(*__a._M_a) { }
1115: 
1115:       template<typename _UHead>
1115: 
1115:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1115:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1115: 
1115:       template<typename _Alloc, typename _UHead>
1115: 
1115:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1115:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead>
1115: 
1115:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1115:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1115: 
1115:       static constexpr _Head&
1115:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1115: 
1115:       static constexpr const _Head&
1115:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1115: 
1115:       [[__no_unique_address__]] _Head _M_head_impl;
1115:     };
1115: # 186 "/usr/include/c++/12/tuple" 3
1115:   template<size_t _Idx, typename _Head>
1115:     struct _Head_base<_Idx, _Head, false>
1115:     {
1115:       constexpr _Head_base()
1115:       : _M_head_impl() { }
1115: 
1115:       constexpr _Head_base(const _Head& __h)
1115:       : _M_head_impl(__h) { }
1115: 
1115:       constexpr _Head_base(const _Head_base&) = default;
1115:       constexpr _Head_base(_Head_base&&) = default;
1115: 
1115:       template<typename _UHead>
1115:         constexpr _Head_base(_UHead&& __h)
1115:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1115: 
1115:      
1115:       _Head_base(allocator_arg_t, __uses_alloc0)
1115:       : _M_head_impl() { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1115:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1115:  : _M_head_impl(*__a._M_a) { }
1115: 
1115:       template<typename _UHead>
1115: 
1115:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1115:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1115: 
1115:       template<typename _Alloc, typename _UHead>
1115: 
1115:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1115:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead>
1115: 
1115:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1115:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1115: 
1115:       static constexpr _Head&
1115:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1115: 
1115:       static constexpr const _Head&
1115:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1115: 
1115:       _Head _M_head_impl;
1115:     };
1115: # 249 "/usr/include/c++/12/tuple" 3
1115:   template<size_t _Idx, typename... _Elements>
1115:     struct _Tuple_impl;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<size_t _Idx, typename _Head, typename... _Tail>
1115:     struct _Tuple_impl<_Idx, _Head, _Tail...>
1115:     : public _Tuple_impl<_Idx + 1, _Tail...>,
1115:       private _Head_base<_Idx, _Head>
1115:     {
1115:       template<size_t, typename...> friend struct _Tuple_impl;
1115: 
1115:       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
1115:       typedef _Head_base<_Idx, _Head> _Base;
1115: 
1115:       static constexpr _Head&
1115:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1115: 
1115:       static constexpr const _Head&
1115:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1115: 
1115:       static constexpr _Inherited&
1115:       _M_tail(_Tuple_impl& __t) noexcept { return __t; }
1115: 
1115:       static constexpr const _Inherited&
1115:       _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
1115: 
1115:       constexpr _Tuple_impl()
1115:       : _Inherited(), _Base() { }
1115: 
1115:       explicit constexpr
1115:       _Tuple_impl(const _Head& __head, const _Tail&... __tail)
1115:       : _Inherited(__tail...), _Base(__head)
1115:       { }
1115: 
1115:       template<typename _UHead, typename... _UTail,
1115:         typenam=== BEGIN GCC DUMP ===
e = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1115:  explicit constexpr
1115:  _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
1115:  : _Inherited(std::forward<_UTail>(__tail)...),
1115:    _Base(std::forward<_UHead>(__head))
1115:  { }
1115: 
1115:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1115: 
1115: 
1115: 
1115:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1115: 
1115:       _Tuple_impl(_Tuple_impl&&) = default;
1115: 
1115:       template<typename... _UElements>
1115:  constexpr
1115:  _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
1115:  : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
1115:    _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in))
1115:  { }
1115: 
1115:       template<typename _UHead, typename... _UTails>
1115:  constexpr
1115:  _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1115:  : _Inherited(std::move
1115:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1115:    _Base(std::forward<_UHead>
1115:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1115:  : _Inherited(__tag, __a),
1115:    _Base(__tag, __use_alloc<_Head>(__a))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       const _Head& __head, const _Tail&... __tail)
1115:  : _Inherited(__tag, __a, __tail...),
1115:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head)
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead, typename... _UTail,
1115:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       _UHead&& __head, _UTail&&... __tail)
1115:  : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
1115:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1115:   std::forward<_UHead>(__head))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       const _Tuple_impl& __in)
1115:  : _Inherited(__tag, __a, _M_tail(__in)),
1115:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       _Tuple_impl&& __in)
1115:  : _Inherited(__tag, __a, std::move(_M_tail(__in))),
1115:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1115:   std::forward<_Head>(_M_head(__in)))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead, typename... _UTails>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       const _Tuple_impl<_Idx, _UHead, _UTails...>& __in)
1115:  : _Inherited(__tag, __a,
1115:        _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)),
1115:    _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1115:   _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead, typename... _UTails>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1115:  : _Inherited(__tag, __a, std::move
1115:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1115:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1115:   std::forward<_UHead>
1115:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1115:  { }
1115: 
1115:       template<typename... _UElements>
1115: 
1115:  void
1115:  _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in)
1115:  {
1115:    _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
1115:    _M_tail(*this)._M_assign(
1115:        _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
1115:  }
1115: 
1115:       template<typename _UHead, typename... _UTails>
1115: 
1115:  void
1115:  _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1115:  {
1115:    _M_head(*this) = std::forward<_UHead>)
609:     { return std::move(__lhs.append(__rhs)); }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline basic_string<_CharT, _Traits, _Alloc>
609:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
609:        _CharT __rhs)
609:     { return std::move(__lhs.append(1, __rhs)); }
609: # 3572 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline bool
609:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     noexcept
609:     { return __lhs.compare(__rhs) == 0; }
609: 
609:   template<typename _CharT>
609:    
609:     inline
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type
609:     operator==(const basic_string<_CharT>& __lhs,
609:         const basic_string<_CharT>& __rhs) noexcept
609:     { return (__lhs.size() == __rhs.size()
609:        && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),
609:           __lhs.size())); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline bool
609:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const _CharT* __rhs)
609:     { return __lhs.compare(__rhs) == 0; }
609: # 3638 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator==(const _CharT* __lhs,
609:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     { return __rhs.compare(__lhs) == 0; }
609: # 3651 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     noexcept
609:     { return !(__lhs == __rhs); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator!=(const _CharT* __lhs,
609:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     { return !(__lhs == __rhs); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const _CharT* __rhs)
609:     { return !(__lhs == __rhs); }
609: # 3689 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     noexcept
609:     { return __lhs.compare(__rhs) < 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:        const _CharT* __rhs)
609:     { return __lhs.compare(__rhs) < 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator<(const _CharT* __lhs,
609:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     { return __rhs.compare(__lhs) > 0; }
609: # 3727 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     noexcept
609:     { return __lhs.compare(__rhs) > 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:        const _CharT* __rhs)
609:     { return1412: // Target: arm-linux-gnueabihf
1412: // Configured with: ../src/configure -v --with-pkgversion='Raspbian 12.2.0-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6+fp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
1412: // Thread model: posix
1412: // Supported LTO compression algorithms: zlib zstd
1412: // gcc version 12.2.0 (Raspbian 12.2.0-14+rpi1) 
1412: // 
1412: // /usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
1412: //   298 |   typedef __SIZE_TYPE__         size_t;
1412: //       |           ^~~~~~~~~~~~~
1412: // 0x137a10f internal_error(char const*, ...)
1412: // 	???:0
1412: // 0x389c8b pop_to_parent_deferring_access_checks()
1412: // 	???:0
1412: // Please submit a full bug report, with preprocessed source (by using -freport-bug).
1412: // Please include the complete backtrace with any bug report.
1412: // See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
1412: 
1412: // /usr/lib/gcc/arm-linux-gnueabihf/12/cc1plus -quiet -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I /<<BUILDDIR>>/kodi-20.0+dfsg -I /<<BUILDDIR>>/kodi-20.0+dfsg/lib -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -imultilib . -imultiarch arm-linux-gnueabihf -MD CMakeFiles/view.dir/ViewStateSettings.cpp.d -MF CMakeFiles/view.dir/ViewStateSettings.cpp.o.d -MT build/view/CMakeFiles/view.dir/ViewStateSettings.cpp.o -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 -D _XBMC -D DEB_VERSION="2:20.0+dfsg-1" -D NDEBUG -D TARGET_POSIX -D TARGET_LINUX -D _GNU_SOURCE -D HAVE_LINUX_UDMABUF=1 -D HAVE_LINUX_DMA_HEAP=1 -D HAVE_LINUX_DMA_BUF=1 -D HAVE_MKOSTEMP=1 -D HAVE_LINUX_MEMFD=1 -D HAVE_STATX=1 -D __STDC_CONSTANT_MACROS -D _FILE_OFFSET_BITS=64 -D HAS_POSIX_NETWORK -D HAS_LINUX_NETWORK -D HAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -D HAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -D HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -D HAVE_INOTIFY=1 -D HAVE_POSIX_FADVISE=1 -D HAVE_LOCALTIME_R=1 -D HAVE_GMTIME_R=1 -D HAVE_INTTYPES_H=1 -D HAS_ALSA=1 -D HAS_AVAHI=1 -D HAS_ZEROCONF=1 -D HAVE_LIBBLURAY=1 -D HAVE_LIBBLURAY_BDJ=1 -D HAVE_LIBCEC=1 -D HAS_DBUS=1 -D HAS_ISO9660PP=1 -D HAVE_LCMS2=1 -D CMS_NO_REGISTER_KEYWORD=1 -D HAS_LIRC=1 -D HAS_WEB_SERVER=1 -D HAS_WEB_INTERFACE=1 -D HAS_FILESYSTEM_NFS=1 -D HAS_NFS_SET_TIMEOUT -D HAS_PIPEWIRE=1 -D HAS_AIRPLAY=1 -D HAS_PULSEAUDIO=1 -D HAS_PYTHON=1 -D HAS_FILESYSTEM_SMB=1 -D HAS_SNDIO=1 -D HAVE_LIBUDEV=1 -D HAS_UDFREAD=1 -D HAVE_LIBXSLT=1 -D HAVE_LIBVA=1 -D HAS_GLX=1 -D HAVE_LIBVDPAU=1 -D DATE_HAS_STRINGVIEW -D FFMPEG_VER_SHA="4.4.1" -D HAVE_GCRYPT=1 -D SPDLOG_FMT_EXTERNAL -D SPDLOG_DEBUG_ON -D SPDLOG_NO_ATOMIC_LEVELS -D SPDLOG_ENABLE_PATTERN_PADDING -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D HAS_EGL=1 -D HAVE_X11=1 -D HAVE_LIBXRANDR=1 -D HAVE_HDR_OUTPUT_METADATA=1 -D HAVE_DRM_MODIFIER_NAME=1 -D HAS_GL=1 -D HAVE_WAYLAND=1 -D HAVE_GBM=1 -D HAS_GBM_BO_MAP=1 -D HAS_GBM_MODIFIERS=1 -D HAS_MYSQL=1 -D HAS_UPNP=1 -D HAS_DVD_DRIVE -D HAS_CDDA_RIPPER -D HAS_AIRTUNES=1 -D BIN_INSTALL_PATH="/usr/lib/arm-linux-gnueabihf/kodi" -D INSTALL_PATH="/us __lhs.compare(__rhs) > 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator>(const _CharT* __lhs,
609:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     { return __rhs.compare(__lhs) < 0; }
609: # 3765 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     noexcept
609:     { return __lhs.compare(__rhs) <= 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const _CharT* __rhs)
609:     { return __lhs.compare(__rhs) <= 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator<=(const _CharT* __lhs,
609:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     { return __rhs.compare(__lhs) >= 0; }
609: # 3803 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     noexcept
609:     { return __lhs.compare(__rhs) >= 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:         const _CharT* __rhs)
609:     { return __lhs.compare(__rhs) >= 0; }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline bool
609:     operator>=(const _CharT* __lhs,
609:       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     { return __rhs.compare(__lhs) <= 0; }
609: # 3842 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     inline void
609:     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
609:   basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     noexcept(noexcept(__lhs.swap(__rhs)))
609:     { __lhs.swap(__rhs); }
609: # 3863 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     basic_istream<_CharT, _Traits>&
609:     operator>>(basic_istream<_CharT, _Traits>& __is,
609:         basic_string<_CharT, _Traits, _Alloc>& __str);
609: 
609:   template<>
609:     basic_istream<char>&
609:     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
609: # 3881 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline basic_ostream<_CharT, _Traits>&
609:     operator<<(basic_ostream<_CharT, _Traits>& __os,
609:         const basic_string<_CharT, _Traits, _Alloc>& __str)
609:     {
609: 
609: 
609:       return __ostream_insert(__os, __str.data(), __str.size());
609:     }
609: # 3904 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     basic_istream<_CharT, _Traits>&
609:     getline(basic_istream<_CharT, _Traits>& __is,
609:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
609: # 3921 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline basic_istream<_CharT, _Traits>&
609:     getline(basic_istream<_CharT, _Traits>& __is,
609:      basic_string<_CharT, _Traits, _Alloc>& __str)
609:     { return std::getline(__is, __str, __is.widen('\n')); }
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline basic_istream<_CharT, _Traits>&
609:     getline(basic_istream<_CharT, _Traits>&& __is,
609:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
609:     { return std::getline(__is, __str, __delim); }
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     inline basic_istream<_CharT, _Traits>&
609:     getline(basic_istream<_CharT, _Traits>&& __is,
609:      basic_string<_CharT, _Traits, _Alloc>& __str)
609:     { return std::getline(__is, __str); }
609: 
609: 
609:   template<>
609:     basic_istream<char>&
609:     getline(basic_istream<char>& __in, basic_string<char>& __str,
609:      char __delim);
609: 
609: 
609:   template<>
609:     basic_istream<wchar_t>&
609:     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
609:      wchar_t __delim);
609: 
609: 
609: 
609: }
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/ext/string_conversions.h" 1 3
609: # 32 "/usr/include/c++/12/ext/string_conversions.h" 3
609:        
609: # 33 "/usr/include/c++/12/ext/string_conversions.h" 3
609: # 41 "/usr/include/c++/12/ext/string_conversions.h" 3
609: # 1 "/usr/include/c++/12/cstdlib" 1 3
609: # 39 "/usr/include/c++/12/cstdlib" 3
609:        
609: # 40 "/usr/include/c++/12/cstdlib" 3
609: # 42 "/usr/include/c++/12/ext/string_conversions.h" 2 3
609: # 1 "/usr/include/c++/12/cwchar" 1 3
609: # 39 "/usr/include/c++/12/cwchar" 3
609:        
609: # 40 "/usr/include/c++/12/cwchar" 3
609: # 43 "/usr/include/c++/12/ext/string_conversions.h" 2 3
609: # 1 "/usr/include/c++/12/cstdio" 1 3
609: # 39 "/usr/include/c++/12/cstdio" 3
609:        
609: # 40 "/usr/include/c++/12/cstdio" 3
609: 
609: 
609: # 1 "/usr/include/stdio.h" 1 3 4
609: # 27 "/usr/include/stdio.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
609: # 28 "/usr/include/stdio.h" 2 3 4
609: 
609: extern "C" {
609: 
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 34 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
609: # 37 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 1 3 4
609: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 3 4
609: typedef struct _G_fpos_t
609: {
609:   __off_t __pos;
609:   __mbstate_t __state;
609: } __fpos_t;
609: # 40 "/usr/include/stdio.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 1 3 4
609: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 3 4
609: typedef struct _G_fpos64_t
609: {
609:   __off64_t __pos;
609:   __mbstate_t __state;
609: } __fpos64_t;
609: # 41 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 1 3 4
609: # 35 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 3 4
609: struct _IO_FILE;
609: struct _IO_marker;
609: struct _IO_codecvt;
609: struct _IO_wide_data;
609: 
609: 
609: 
609: 
609: typedef void _IO_lock_t;
609: 
609: 
609: 
609: 
609: 
609: struct _IO_FILE
609: {
609:   int _flags;
609: 
609: 
609:   char *_IO_read_ptr;
609:   char *_IO_read_end;
609:   char *_IO_read_base;
609:   char *_IO_write_base;
609:   char *_IO_write_ptr;
609:   char *_IO_write_end;
609:   char *_IO_buf_base;
609:   char *_IO_buf_end;
609: 
609: 
609:   char *_IO_save_base;
609:   char *_IO_backup_base;
609:   char *_IO_save_end;
609: 
609:   struct _IO_marker *_markers;
609: 
609:   struct _IO_FILE *_chain;
609: 
609:   int _fileno;
609:   int _flags2;
609:   __off_t _old_offset;
609: 
609: 
609:   unsigned short _cur_column;
609:   signed char _vtable_offset;
609:   char _shortbuf[1];
609: 
609:   _IO_lock_t *_lock;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   __off64_t _offset;
609: 
609:   struct _IO_codecvt *_codecvt;
609:   struct _IO_wide_data *_wide_data;
609:   struct _IO_FILE *_freeres_list;
609:   void *_freeres_buf;
609:   size_t __pad5;
609:   int _mode;
609: 
609:   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
609: };
609: # 44 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: # 1 "/usr
1115:      (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
1115:    _M_tail(*this)._M_assign(
1115:        std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
1115:  }
1115: 
1115:     protected:
1115:      
1115:       void
1115:       _M_swap(_Tuple_impl& __in)
1115:       {
1115:  using std::swap;
1115:  swap(_M_head(*this), _M_head(__in));
1115:  _Inherited::_M_swap(_M_tail(__in));
1115:       }
1115:     };
1115: 
1115: 
1115:   template<size_t _Idx, typename _Head>
1115:     struct _Tuple_impl<_Idx, _Head>
1115:     : private _Head_base<_Idx, _Head>
1115:     {
1115:       template<size_t, typename...> friend struct _Tuple_impl;
1115: 
1115:       typedef _Head_base<_Idx, _Head> _Base;
1115: 
1115:       static constexpr _Head&
1115:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1115: 
1115:       static constexpr const _Head&
1115:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1115: 
1115:       constexpr
1115:       _Tuple_impl()
1115:       : _Base() { }
1115: 
1115:       explicit constexpr
1115:       _Tuple_impl(const _Head& __head)
1115:       : _Base(__head)
1115:       { }
1115: 
1115:       template<typename _UHead>
1115:  explicit constexpr
1115:  _Tuple_impl(_UHead&& __head)
1115:  : _Base(std::forward<_UHead>(__head))
1115:  { }
1115: 
1115:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1115: 
1115: 
1115: 
1115:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1115: 
1115: 
1115: 
1115: 
1115:       constexpr
1115:       _Tuple_impl(_Tuple_impl&& __in)
1115:       noexcept(is_nothrow_move_constructible<_Head>::value)
1115:       : _Base(static_cast<_Base&&>(__in))
1115:       { }
1115: 
1115: 
1115:       template<typename _UHead>
1115:  constexpr
1115:  _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
1115:  : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in))
1115:  { }
1115: 
1115:       template<typename _UHead>
1115:  constexpr
1115:  _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
1115:  : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1115:  : _Base(__tag, __use_alloc<_Head>(__a))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       const _Head& __head)
1115:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head)
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       _UHead&& __head)
1115:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1115:   std::forward<_UHead>(__head))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       const _Tuple_impl& __in)
1115:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       _Tuple_impl&& __in)
1115:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1115:   std::forward<_Head>(_M_head(__in)))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       const _Tuple_impl<_Idx, _UHead>& __in)
1115:  : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1115:   _Tuple_impl<_Idx, _UHead>::_M_head(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _UHead>
1115: 
1115:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1115:       _Tuple_impl<_Idx, _UHead>&& __in)
1115:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1115:   std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1115:  { }
1115: 
1115:       template<typename _UHead>
1115: 
1115:  void
1115:  _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
1115:  {
1115:    _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_hear/share/kodi" -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp -quiet -dumpdir CMakeFiles/view.dir/ -dumpbase ViewStateSettings.cpp.cpp -dumpbase-ext .cpp -mfloat-abi=hard -mtls-dialect=gnu -marm -mlibarch=armv6+fp -march=armv6+fp -g -g -O3 -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -o - -frandom-seed=0 -fdump-noaddr
1412: 
1412: # 0 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/view//"
1412: # 0 "<built-in>"
1412: # 0 "<command-line>"
1412: # 1 "/usr/include/stdc-predef.h" 1 3 4
1412: # 0 "<command-line>" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewState.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewState.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h"
1412:        
1412: 
1412: # 1 "/usr/include/c++/12/map" 1 3
1412: # 58 "/usr/include/c++/12/map" 3
1412:        
1412: # 59 "/usr/include/c++/12/map" 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/stl_tree.h" 1 3
1412: # 61 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:        
1412: # 62 "/usr/include/c++/12/bits/stl_tree.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/stl_algobase.h" 1 3
1412: # 59 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 1 3
1412: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1412: 
1412: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1412: namespace std
1412: {
1412:   typedef unsigned int size_t;
1412:   typedef int ptrdiff_t;
1412: 
1412: 
1412:   typedef decltype(nullptr) nullptr_t;
1412: 
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412:   extern "C++" __attribute__ ((__noreturn__, __always_inline__))
1412:   inline void __terminate() noexcept
1412:   {
1412:     void terminate() noexcept __attribute__ ((__noreturn__));
1412:     terminate();
1412:   }
1412: #pragma GCC visibility pop
1412: }
1412: # 329 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1412: namespace std
1412: {
1412:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1412: }
1412: namespace __gnu_cxx
1412: {
1412:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1412: }
1412: # 508 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1412: namespace std
1412: {
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412: 
1412: 
1412/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 3 4
609: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
609:                                           size_t __nbytes);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
609:                                            size_t __nbytes);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
609: 
609: 
609: typedef int cookie_close_function_t (void *__cookie);
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef struct _IO_cookie_io_functions_t
609: {
609:   cookie_read_function_t *read;
609:   cookie_write_function_t *write;
609:   cookie_seek_function_t *seek;
609:   cookie_close_function_t *close;
609: } cookie_io_functions_t;
609: # 47 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: typedef __gnuc_va_list va_list;
609: # 86 "/usr/include/stdio.h" 3 4
609: typedef __fpos64_t fpos_t;
609: 
609: 
609: typedef __fpos64_t fpos64_t;
609: # 133 "/usr/include/stdio.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4
609: # 134 "/usr/include/stdio.h" 2 3 4
609: # 143 "/usr/include/stdio.h" 3 4
609: extern FILE *stdin;
609: extern FILE *stdout;
609: extern FILE *stderr;
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int remove (const char *__filename) noexcept (true);
609: 
609: extern int rename (const char *__old, const char *__new) noexcept (true);
609: 
609: 
609: 
609: extern int renameat (int __oldfd, const char *__old, int __newfd,
609:        const char *__new) noexcept (true);
609: # 170 "/usr/include/stdio.h" 3 4
609: extern int renameat2 (int __oldfd, const char *__old, int __newfd,
609:         const char *__new, unsigned int __flags) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fclose (FILE *__stream);
609: # 192 "/usr/include/stdio.h" 3 4
609: extern FILE *tmpfile (void) __asm__ ("" "tmpfile64")
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern FILE *tmpfile64 (void)
609:    __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: extern char *tmpnam (char[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern char *tmpnam_r (char __s[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
609: # 222 "/usr/include/stdio.h" 3 4
609: extern char *tempnam (const char *__dir, const char *__pfx)
609:    noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fflush (FILE *__stream);
609: # 239 "/usr/include/stdio.h" 3 4
609: extern int fflush_unlocked (FILE *__stream);
609: # 249 "/usr/include/stdio.h" 3 4
609: extern int fcloseall (void);
609: # 270 "/usr/include/stdio.h" 3 4
609: extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64")
609: 
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64")
609: 
609: 
609:   __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern FILE *fopen64 (const char *__restrict __filename,
609:         const char *__restrict __modes)
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: extern FILE *freopen64 (const char *__restrict __filename,
609:    const char *__restrict __modes,
609:    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern FILE *fopencookie (void *__restrict __magic_cookie,
609:      const char *__restrict __modes,
609:      cookie_io_functions_t __io_funcs) noexcept (true)
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
609:   noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1)));
609: 
609: 
609: 
609: 
609: 
609: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true);
609: 
609: 
609: 
609: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
609:       int __modes, size_t __n) noexcept (true);
609: 
609: 
609: 
609: 
609: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
609:          size_t __size) noexcept (true);
609: 
609: 
609: extern void setlinebuf (FILE *__stream) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fprintf (FILE *__restrict __stream,
609:       const char *__restrict __format, ...);
609: 
609: 
609: 
609: 
609: extern int printf (const char *__restrict __format, ...);
609: 
609: extern int sprintf (char *__restrict __s,
609:       const char *__restrict __format, ...) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
609:        __gnuc_va_list __arg);
609: 
609: 
609: 
609: 
609: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
609: 
609: extern int vsprintf (char *__restrict __s, const char *__restrict __format,
609:        __gnuc_va_list __arg) noexcept (true);
609: 
609: 
609: 
609: extern int snprintf (char *__restrict __s, size_t __maxlen,
609:        const char *__restrict __format, ...)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
609: 
609: extern int vsnprintf (char *__restrict __s, size_t __maxlen,
609:         const char *__restrict __format, __gnuc_va_list __arg)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
609: 
609: 
609: 
609: 
609: 
609: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
609:         __gnuc_va_list __arg)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
609: extern int __asprintf (char **__restrict __ptr,
609:          const char *__restrict __fmt, ...)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
609: extern int asprintf (char **__restrict __ptr,
609:        const char *__restrict __fmt, ...)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern int vdprintf (int __fd, const char *__restrict __fmt,
609:        __gnuc_va_list __arg)
609:      __attribute__ ((__format__ (__printf__, 2, 0)));
609: extern int dprintf (int __fd, const char *__restrict __fmt, ...)
609:      __attribute__ ((__format__ (__printf__, 2, 3)));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fscanf (FILE *__restrict __stream,
609:      const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern int scanf (const char *__restrict __format, ...)d(__in);
1115:  }
1115: 
1115:       template<typename _UHead>
1115: 
1115:  void
1115:  _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
1115:  {
1115:    _M_head(*this)
1115:      = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
1115:  }
1115: 
1115:     protected:
1115:      
1115:       void
1115:       _M_swap(_Tuple_impl& __in)
1115:       {
1115:  using std::swap;
1115:  swap(_M_head(*this), _M_head(__in));
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115:   template<bool, typename... _Types>
1115:     struct _TupleConstraints
1115:     {
1115: 
1115: 
1115: 
1115:       template<typename... _UTypes>
1115:  static constexpr bool __is_implicitly_constructible()
1115:  {
1115:    return __and_<is_constructible<_Types, _UTypes>...,
1115:    is_convertible<_UTypes, _Types>...
1115:    >::value;
1115:  }
1115: 
1115: 
1115: 
1115: 
1115:       template<typename... _UTypes>
1115:  static constexpr bool __is_explicitly_constructible()
1115:  {
1115:    return __and_<is_constructible<_Types, _UTypes>...,
1115:    __not_<__and_<is_convertible<_UTypes, _Types>...>>
1115:    >::value;
1115:  }
1115: 
1115:       static constexpr bool __is_implicitly_default_constructible()
1115:       {
1115:  return __and_<std::__is_implicitly_default_constructible<_Types>...
1115:         >::value;
1115:       }
1115: 
1115:       static constexpr bool __is_explicitly_default_constructible()
1115:       {
1115:  return __and_<is_default_constructible<_Types>...,
1115:         __not_<__and_<
1115:    std::__is_implicitly_default_constructible<_Types>...>
1115:         >>::value;
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename... _Types>
1115:     struct _TupleConstraints<false, _Types...>
1115:     {
1115:       template<typename... _UTypes>
1115:  static constexpr bool __is_implicitly_constructible()
1115:  { return false; }
1115: 
1115:       template<typename... _UTypes>
1115:  static constexpr bool __is_explicitly_constructible()
1115:  { return false; }
1115:     };
1115: 
1115: 
1115:   template<typename... _Elements>
1115:     class tuple : public _Tuple_impl<0, _Elements...>
1115:     {
1115:       typedef _Tuple_impl<0, _Elements...> _Inherited;
1115: 
1115:       template<bool _Cond>
1115:  using _TCC = _TupleConstraints<_Cond, _Elements...>;
1115: 
1115: 
1115:       template<bool _Dummy>
1115:  using _ImplicitDefaultCtor = __enable_if_t<
1115:    _TCC<_Dummy>::__is_implicitly_default_constructible(),
1115:    bool>;
1115: 
1115: 
1115:       template<bool _Dummy>
1115:  using _ExplicitDefaultCtor = __enable_if_t<
1115:    _TCC<_Dummy>::__is_explicitly_default_constructible(),
1115:    bool>;
1115: 
1115: 
1115:       template<bool _Cond, typename... _Args>
1115:  using _ImplicitCtor = __enable_if_t<
1115:    _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(),
1115:    bool>;
1115: 
1115: 
1115:       template<bool _Cond, typename... _Args>
1115:  using _ExplicitCtor = __enable_if_t<
1115:    _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(),
1115:    bool>;
1115: 
1115:       template<typename... _UElements>
1115:  static constexpr
1115:  __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
1115:  __assignable()
1115:  { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
1115: 
1115: 
1115:       template<typename... _UElements>
1115:  static constexpr bool __nothrow_assignable()
1115:  {
1115:    return
1115:      __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
1115:  }
1115: 
1115: 
1115:       template<typename... _UElements>
1115:  static constexpr bool __nothrow_constructible()
1115:  {
1115:    return
1115:      __and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
1115:  }
1115: 
1115: 
1115:       template<typename _Up>
1115:  static constexpr bool __valid_args()
1115:  {
1115:    return sizeof...(_Elements) == 1
1115:      && !is_same<tuple, __remove_cvref_t<_Up>>::value;
1115:  }
1115: 
1115: 
1115:       template<typename, typename, typename... _Tail>
1115:  static constexpr bool __valid_args __attribute__ ((__warn_unused_result__));
609: 
609: extern int sscanf (const char *__restrict __s,
609:      const char *__restrict __format, ...) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
609: # 431 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: 
609: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
609: 
609:                           __attribute__ ((__warn_unused_result__));
609: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
609:                          __attribute__ ((__warn_unused_result__));
609: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_sscanf")
609: 
609:                       ;
609: # 459 "/usr/include/stdio.h" 3 4
609: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
609:       __gnuc_va_list __arg)
609:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
609:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: extern int vsscanf (const char *__restrict __s,
609:       const char *__restrict __format, __gnuc_va_list __arg)
609:      noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
609: 
609: 
609: 
609: 
609: 
609: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
609: 
609: 
609: 
609:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
609: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
609: 
609:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
609: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vsscanf")
609: 
609: 
609: 
609:      __attribute__ ((__format__ (__scanf__, 2, 0)));
609: # 513 "/usr/include/stdio.h" 3 4
609: extern int fgetc (FILE *__stream);
609: extern int getc (FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: extern int getchar (void);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int getc_unlocked (FILE *__stream);
609: extern int getchar_unlocked (void);
609: # 538 "/usr/include/stdio.h" 3 4
609: extern int fgetc_unlocked (FILE *__stream);
609: # 549 "/usr/include/stdio.h" 3 4
609: extern int fputc (int __c, FILE *__stream);
609: extern int putc (int __c, FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: extern int putchar (int __c);
609: # 565 "/usr/include/stdio.h" 3 4
609: extern int fputc_unlocked (int __c, FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int putc_unlocked (int __c, FILE *__stream);
609: extern int putchar_unlocked (int __c);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int getw (FILE *__stream);
609: 
609: 
609: extern int putw (int __w, FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
609:      __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
609: # 615 "/usr/include/stdio.h" 3 4
609: extern char *fgets_unlocked (char *__restrict __s, int __n,
609:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__))
609:     __attribute__ ((__access__ (__write_only__, 1, 2)));
609: # 632 "/usr/include/stdio.h" 3 4
609: extern __ssize_t __getdelim (char **__restrict __lineptr,
609:                              size_t *__restrict __n, int __delimiter,
609:                              FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: extern __ssize_t getdelim (char **__restrict __lineptr,
609:                            size_t *__restrict __n, int __delimiter,
:   constexpr inline bool
1412:   __is_constant_evaluated() noexcept
1412:   {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     return __builtin_is_constant_evaluated();
1412: 
1412: 
1412: 
1412:   }
1412: #pragma GCC visibility pop
1412: }
1412: # 655 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 1 3
1412: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 3
1412: # 1 "/usr/include/features.h" 1 3 4
1412: # 392 "/usr/include/features.h" 3 4
1412: # 1 "/usr/include/features-time64.h" 1 3 4
1412: # 20 "/usr/include/features-time64.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1412: # 21 "/usr/include/features-time64.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1412: # 22 "/usr/include/features-time64.h" 2 3 4
1412: # 393 "/usr/include/features.h" 2 3 4
1412: # 489 "/usr/include/features.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 1 3 4
1412: # 559 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1412: # 560 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1412: # 561 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1412: # 490 "/usr/include/features.h" 2 3 4
1412: # 513 "/usr/include/features.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 1 3 4
1412: # 10 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h" 1 3 4
1412: # 11 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 2 3 4
1412: # 514 "/usr/include/features.h" 2 3 4
1412: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 2 3
1412: # 656 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/cpu_defines.h" 1 3
1412: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1412: # 841 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1412: # 1 "/usr/include/c++/12/pstl/pstl_config.h" 1 3
1412: # 842 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1412: # 60 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/functexcept.h" 1 3
1412: # 40 "/usr/include/c++/12/bits/functexcept.h" 3
1412: # 1 "/usr/include/c++/12/bits/exception_defines.h" 1 3
1412: # 41 "/usr/include/c++/12/bits/functexcept.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   void
1412:   __throw_bad_exception(void) __attribute__((__noreturn__));
1412: 
1412: 
1412:   void
1412:   __throw_bad_alloc(void) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_bad_array_new_length(void) __attribute__((__noreturn__));
1412: 
1412: 
1412:   void
1412:   __throw_bad_cast(void) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_bad_typeid(void) __attribute__((__noreturn__));
1412: 
1412: 
1412:   void
1412:   __throw_logic_error(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_domain_error(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_length_error(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_out_of_range(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
1412:     __attribute__((__format__(__gnu_printf__, 1, 2)));
1412: 
1412:   void
1412:   __throw_runtime_error(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_range_error(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_overflow_error(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_underflow_error(const char*) __attribute__((__noreturn__));
1412:609:                            FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern __ssize_t getline (char **__restrict __lineptr,
609:                           size_t *__restrict __n,
609:                           FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
609: 
609: 
609: 
609: 
609: 
609: extern int puts (const char *__s);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int ungetc (int __c, FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern size_t fread (void *__restrict __ptr, size_t __size,
609:        size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern size_t fwrite (const void *__restrict __ptr, size_t __size,
609:         size_t __n, FILE *__restrict __s);
609: # 691 "/usr/include/stdio.h" 3 4
609: extern int fputs_unlocked (const char *__restrict __s,
609:       FILE *__restrict __stream);
609: # 702 "/usr/include/stdio.h" 3 4
609: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
609:          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
609:           size_t __n, FILE *__restrict __stream);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fseek (FILE *__stream, long int __off, int __whence);
609: 
609: 
609: 
609: 
609: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern void rewind (FILE *__stream);
609: # 744 "/usr/include/stdio.h" 3 4
609: extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64")
609: 
609:                   ;
609: extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
609: # 768 "/usr/include/stdio.h" 3 4
609: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64")
609:                                           ;
609: extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64")
609:                                                           ;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
609: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
609: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
609: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
609: 
609: 
609: 
609: extern void clearerr (FILE *__stream) noexcept (true);
609: 
609: extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: extern void clearerr_unlocked (FILE *__stream) noexcept (true);
609: extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
609: extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern void perror (const char *__s);
609: 
609: 
609: 
609: 
609: extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
609: # 823 "/usr/include/stdio.h" 3 4
609: extern int pclose (FILE *__stream);
609: 
609: 
609: 
609: 
609: 
609: extern FILE *popen (const char *__command, const char *__modes)
609:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern char *ctermid (char *__s) noexcept (true)
609:   __attribute__ ((__access__ (__write_only__, 1)));
609: 
609: 
609: 
609: 
609: 
609: extern char *cuserid (char *__s)
609:   __attribute__ ((__access__ (__write_only__, 1)));
609: 
609: 
609: 
609: 
609: struct obstack;
609: 
609: 
609: extern int obstack_printf (struct obstack *__restrict __obstack,
609:       const char *__restrict __format, ...)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
609: extern int obstack_vprintf (struct obstack *__restrict __obstack,
609:        const char *__restrict __format,
609:        __gnuc_va_list __args)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern void flockfile (FILE *__stream) noexcept (true);
609: 
609: 
609: 
609: extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: extern void funlockfile (FILE *__stream) noexcept (true);
609: # 885 "/usr/include/stdio.h" 3 4
609: extern int __uflow (FILE *);
609: extern int __overflow (FILE *, int);
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 1 3 4
609: # 26 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
609: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
609:      const char *__restrict __format, ...) noexcept (true)
609:     __attribute__ ((__access__ (__write_only__, 1, 3)));
609: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
609:       const char *__restrict __format,
609:       __gnuc_va_list __ap) noexcept (true)
609:     __attribute__ ((__access__ (__write_only__, 1, 3)));
609: 
609: 
609: 
609: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
609:       size_t __slen, const char *__restrict __format,
609:       ...) noexcept (true)
609:     __attribute__ ((__access__ (__write_only__, 1, 2)));
609: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
609:        size_t __slen, const char *__restrict __format,
609:        __gnuc_va_list __ap) noexcept (true)
609:     __attribute__ ((__access__ (__write_only__, 1, 2)));
609: 
609: 
609: 
609: 
609: 
609: extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
609:      const char *__restrict __format, ...);
609: extern int __printf_chk (int __flag, const char *__restrict __format, ...);
609: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
609:       const char *__restrict __format, __gnuc_va_list __ap);
609: extern int __vprintf_chk (int __flag, const char *__restrict __format,
609:      __gnuc_va_list __ap);
609: 
609: 
609: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
609:      ...) __attribute__ ((__format__ (__printf__, 3, 4)));
609: extern int __vdprintf_chk (int __fd, int __flag,
609:       const char *__restrict __fmt, __gnuc_va_list __arg)
609:      __attribute__ ((__format__ (__printf__, 3, 0)));
609: 
609: 
609: 
609: 
609: extern int __asprintf_chk (char **__restrict __ptr, int __flag,
609:       const char *__restrict __fmt, ...)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
609: extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
609:        const char *__restrict __fmt, __gnuc_va_list __arg)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
609: extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
609:      int __flag, const char *__restrict __format,
609:      ...)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
609: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
609:       int __flag,
609:       const char *__restrict __format,
609:       __gnuc_va_list __args)
609:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
609: # 90 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
609: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
609:      FILE *__restrict __stream)
609:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__acc()
1115:  { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); }
1115: # 684 "/usr/include/c++/12/tuple" 3
1115:       template<typename _Tuple, typename = tuple,
1115:         typename = __remove_cvref_t<_Tuple>>
1115:  struct _UseOtherCtor
1115:  : false_type
1115:  { };
1115: 
1115: 
1115:       template<typename _Tuple, typename _Tp, typename _Up>
1115:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>>
1115:  : __or_<is_convertible<_Tuple, _Tp>, is_constructible<_Tp, _Tuple>>
1115:  { };
1115: 
1115: 
1115:       template<typename _Tuple, typename _Tp>
1115:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>>
1115:  : true_type
1115:  { };
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Tuple>
1115:  static constexpr bool __use_other_ctor()
1115:  { return _UseOtherCtor<_Tuple>::value; }
1115: 
1115:     public:
1115:       template<typename _Dummy = void,
1115:         _ImplicitDefaultCtor<is_void<_Dummy>::value> = true>
1115:  constexpr
1115:  tuple()
1115:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1115:  : _Inherited() { }
1115: 
1115:       template<typename _Dummy = void,
1115:         _ExplicitDefaultCtor<is_void<_Dummy>::value> = false>
1115:  explicit constexpr
1115:  tuple()
1115:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1115:  : _Inherited() { }
1115: 
1115:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1115:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1115:  constexpr
1115:  tuple(const _Elements&... __elements)
1115:  noexcept(__nothrow_constructible<const _Elements&...>())
1115:  : _Inherited(__elements...) { }
1115: 
1115:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1115:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1115:  explicit constexpr
1115:  tuple(const _Elements&... __elements)
1115:  noexcept(__nothrow_constructible<const _Elements&...>())
1115:  : _Inherited(__elements...) { }
1115: 
1115:       template<typename... _UElements,
1115:         bool _Valid = __valid_args<_UElements...>(),
1115:         _ImplicitCtor<_Valid, _UElements...> = true>
1115:  constexpr
1115:  tuple(_UElements&&... __elements)
1115:  noexcept(__nothrow_constructible<_UElements...>())
1115:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1115: 
1115:       template<typename... _UElements,
1115:         bool _Valid = __valid_args<_UElements...>(),
1115:         _ExplicitCtor<_Valid, _UElements...> = false>
1115:  explicit constexpr
1115:  tuple(_UElements&&... __elements)
1115:  noexcept(__nothrow_constructible<_UElements...>())
1115:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1115: 
1115:       constexpr tuple(const tuple&) = default;
1115: 
1115:       constexpr tuple(tuple&&) = default;
1115: 
1115:       template<typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1115:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1115:  constexpr
1115:  tuple(const tuple<_UElements...>& __in)
1115:  noexcept(__nothrow_constructible<const _UElements&...>())
1115:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1115:  { }
1115: 
1115:       template<typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1115:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1115:  explicit constexpr
1115:  tuple(const tuple<_UElements...>& __in)
1115:  noexcept(__nothrow_constructible<const _UElements&...>())
1115:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1115:  { }
1115: 
1115:       template<typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1115:         _ImplicitCtor<_Valid, _UElements...> = true>
1115:  constexpr
1115:  tuple(tuple<_UElements...>&& __in)
1115:  noexcept(__nothrow_constructible<_UElements...>())
1115:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1115: 
1115:       template<typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1115:         _ExplicitCtor<_Valid, _UElements...> = false>
1115:  explicit constexpr
1115:  tuple(tuple<_UElements...>&& __in)
1115:  noexcept(__nothrow_constructible<_UElements...>())
1115:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1115: 
1115: 
1115: 
1115:       template<typename _Alloc,
1115:         _ImplicitDefaultCtor<is_object<_Alloc>::value> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1115:  : _Inherited(__tag, __a) { }
1115: 
1115:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1115:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const _Elements&... __elements)
1115:  : _Inherited(__tag, __a, __elements...) { }
1115: 
1115:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1115:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1115: 
1115:  explicit
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const _Elements&... __elements)
1115:  : _Inherited(__tag, __a, __elements...) { }
1115: 
1115:       template<typename _Alloc, typename... _UElements,
1115:         bool _Valid = __valid_args<_UElements...>(),
1115:         _ImplicitCtor<_Valid, _UElements...> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        _UElements&&... __elements)
1115:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1115:  { }
1115: 
1115:       template<typename _Alloc, typename... _UElements,
1115:    bool _Valid = __valid_args<_UElements...>(),
1115:         _ExplicitCtor<_Valid, _UElements...> = false>
1115: 
1115:  explicit
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        _UElements&&... __elements)
1115:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1115:  { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1115:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1115:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1115: 
1115:       template<typename _Alloc, typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1115:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const tuple<_UElements...>& __in)
1115:  : _Inherited(__tag, __a,
1115:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1115:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1115: 
1115:  explicit
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const tuple<_UElements...>& __in)
1115:  : _Inherited(__tag, __a,
1115:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1115:         _ImplicitCtor<_Valid, _UElements...> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        tuple<_UElements...>&& __in)
1115:  : _Inherited(__tag, __a,
1115:               static_cast<_Tuple_impl<0, _UElements...> 
1412: 
1412:   void
1412:   __throw_ios_failure(const char*) __attribute__((__noreturn__));
1412: 
1412:   void
1412:   __throw_ios_failure(const char*, int) __attribute__((__noreturn__));
1412: 
1412: 
1412:   void
1412:   __throw_system_error(int) __attribute__((__noreturn__));
1412: 
1412: 
1412:   void
1412:   __throw_future_error(int) __attribute__((__noreturn__));
1412: 
1412: 
1412:   void
1412:   __throw_bad_function_call() __attribute__((__noreturn__));
1412: 
1412: 
1412: }
1412: # 61 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/cpp_type_traits.h" 1 3
1412: # 35 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1412:        
1412: # 36 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1412: # 67 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1412: extern "C++" {
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   struct __true_type { };
1412:   struct __false_type { };
1412: 
1412:   template<bool>
1412:     struct __truth_type
1412:     { typedef __false_type __type; };
1412: 
1412:   template<>
1412:     struct __truth_type<true>
1412:     { typedef __true_type __type; };
1412: 
1412: 
1412: 
1412:   template<class _Sp, class _Tp>
1412:     struct __traitor
1412:     {
1412:       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
1412:       typedef typename __truth_type<__value>::__type __type;
1412:     };
1412: 
1412: 
1412:   template<typename, typename>
1412:     struct __are_same
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __are_same<_Tp, _Tp>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_void
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_void<void>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_integer
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct __is_integer<bool>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<char>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<signed char>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<unsigned char>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct __is_integer<wchar_t>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: # 184 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1412:   template<>
1412:     struct __is_integer<char16_t>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<char32_t>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct __is_integer<short>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<unsigned short>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<int>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __iess__ (__write_only__, 1, 3)));
609: 
609: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
609:       size_t __size, size_t __n,
609:       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: 
609: 
609: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
609:        int __n, FILE *__restrict __stream)
609:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
609: 
609: 
609: 
609: 
609: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
609:         size_t __size, size_t __n,
609:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
609: # 891 "/usr/include/stdio.h" 2 3 4
609: # 902 "/usr/include/stdio.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 1 3 4
609: # 46 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 3 4
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: getchar (void)
609: {
609:   return getc (stdin);
609: }
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: fgetc_unlocked (FILE *__fp)
609: {
609:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
609: }
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: getc_unlocked (FILE *__fp)
609: {
609:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
609: }
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: getchar_unlocked (void)
609: {
609:   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
609: }
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: putchar (int __c)
609: {
609:   return putc (__c, stdout);
609: }
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: fputc_unlocked (int __c, FILE *__stream)
609: {
609:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
609: }
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: putc_unlocked (int __c, FILE *__stream)
609: {
609:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
609: }
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: putchar_unlocked (int __c)
609: {
609:   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
609: }
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
609: getline (char **__lineptr, size_t *__n, FILE *__stream)
609: {
609:   return __getdelim (__lineptr, __n, '\n', __stream);
609: }
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) noexcept (true)
609: {
609:   return (((__stream)->_flags & 0x0010) != 0);
609: }
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) noexcept (true)
609: {
609:   return (((__stream)->_flags & 0x0020) != 0);
609: }
609: # 903 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) noexcept (true)
6&&>(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename... _UElements,
1115:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1115:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1115:         _ExplicitCtor<_Valid, _UElements...> = false>
1115: 
1115:  explicit
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        tuple<_UElements...>&& __in)
1115:  : _Inherited(__tag, __a,
1115:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
1115:  { }
1115: 
1115: 
1115: 
1115:      
1115:       tuple&
1115:       operator=(__conditional_t<__assignable<const _Elements&...>(),
1115:     const tuple&,
1115:     const __nonesuch&> __in)
1115:       noexcept(__nothrow_assignable<const _Elements&...>())
1115:       {
1115:  this->_M_assign(__in);
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       tuple&
1115:       operator=(__conditional_t<__assignable<_Elements...>(),
1115:     tuple&&,
1115:     __nonesuch&&> __in)
1115:       noexcept(__nothrow_assignable<_Elements...>())
1115:       {
1115:  this->_M_assign(std::move(__in));
1115:  return *this;
1115:       }
1115: 
1115:       template<typename... _UElements>
1115: 
1115:  __enable_if_t<__assignable<const _UElements&...>(), tuple&>
1115:  operator=(const tuple<_UElements...>& __in)
1115:  noexcept(__nothrow_assignable<const _UElements&...>())
1115:  {
1115:    this->_M_assign(__in);
1115:    return *this;
1115:  }
1115: 
1115:       template<typename... _UElements>
1115: 
1115:  __enable_if_t<__assignable<_UElements...>(), tuple&>
1115:  operator=(tuple<_UElements...>&& __in)
1115:  noexcept(__nothrow_assignable<_UElements...>())
1115:  {
1115:    this->_M_assign(std::move(__in));
1115:    return *this;
1115:  }
1115: 
1115: 
1115:      
1115:       void
1115:       swap(tuple& __in)
1115:       noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
1115:       { _Inherited::_M_swap(__in); }
1115:     };
1115: 
1115: 
1115:   template<typename... _UTypes>
1115:     tuple(_UTypes...) -> tuple<_UTypes...>;
1115:   template<typename _T1, typename _T2>
1115:     tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>;
1115:   template<typename _Alloc, typename... _UTypes>
1115:     tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>;
1115:   template<typename _Alloc, typename _T1, typename _T2>
1115:     tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>;
1115:   template<typename _Alloc, typename... _UTypes>
1115:     tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>;
1115: 
1115: 
1115: 
1115:   template<>
1115:     class tuple<>
1115:     {
1115:     public:
1115:      
1115:       void swap(tuple&) noexcept { }
1115: 
1115: 
1115:       tuple() = default;
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  tuple(allocator_arg_t, const _Alloc&) noexcept { }
1115:       template<typename _Alloc>
1115: 
1115:  tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _T1, typename _T2>
1115:     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
1115:     {
1115:       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
1115: 
1115: 
1115:       template<bool _Dummy, typename _U1, typename _U2>
1115:  using _ImplicitDefaultCtor = __enable_if_t<
1115:    _TupleConstraints<_Dummy, _U1, _U2>::
1115:      __is_implicitly_default_constructible(),
1115:    bool>;
1115: 
1115: 
1115:       template<bool _Dummy, typename _U1, typename _U2>
1115:  using _ExplicitDefaultCtor = __enable_if_t<
1115:    _TupleConstraints<_Dummy, _U1, _U2>::
1115:      __is_explicitly_default_constructible(),
1115:    bool>;
1115: 
1115:       template<bool _Dummy>
1115:  using _TCC = _TupleConstraints<_Dummy, _T1, _T2>;
1115: 
1115: 
1115:       template<bool _Cond, typename _U1, typename _U2>
1115:  using _ImplicitCtor = __enable_if_t<
1115:    _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(),
1115:    bool>;
1115: 
1115: 
1115:       template<bool _Cond, typename _U1, typename _U2>
1115:  using09: {
609:   return __builtin___sprintf_chk (__s, 2 - 1,
609:       __builtin_object_size (__s, 2 > 1), __fmt,
609:       __builtin_va_arg_pack ());
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
609: 
609: {
609:   return __builtin___vsprintf_chk (__s, 2 - 1,
609:        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
609: }
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) noexcept (true)
609: 
609: {
609:   return __builtin___snprintf_chk (__s, __n, 2 - 1,
609:        __builtin_object_size (__s, 2 > 1), __fmt,
609:        __builtin_va_arg_pack ());
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
609: 
609: {
609:   return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
609:         __builtin_object_size (__s, 2 > 1), __fmt, __ap);
609: }
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
609: {
609:   return __fprintf_chk (__stream, 2 - 1, __fmt,
609:    __builtin_va_arg_pack ());
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: printf (const char *__restrict __fmt, ...)
609: {
609:   return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)
609: {
609: 
609:   return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
609: 
609: 
609: 
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: vfprintf (FILE *__restrict __stream,
609:    const char *__restrict __fmt, __gnuc_va_list __ap)
609: {
609:   return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
609: }
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: dprintf (int __fd, const char *__restrict __fmt, ...)
609: {
609:   return __dprintf_chk (__fd, 2 - 1, __fmt,
609:    __builtin_va_arg_pack ());
609: }
609: 
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)
609: {
609:   return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
609: }
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
609: {
609:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
609:     __builtin_va_arg_pack ());
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
609: 
609: {
609:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
609:     __builtin_va_arg_pack ());
609: }
609: 
609: extern __inline __attribute__ ((__as_integer<unsigned int>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<long>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<unsigned long>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<long long>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_integer<unsigned long long>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: # 289 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1412:   template<typename _Tp>
1412:     struct __is_floating
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct __is_floating<float>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_floating<double>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_floating<long double>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_pointer
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_pointer<_Tp*>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_arithmetic
1412:     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_scalar
1412:     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_char
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_char<char>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct __is_char<wchar_t>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_byte
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_byte<char>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_byte<signed char>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __is_byte<unsigned char>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412: 
1412:   enum class byte : unsigned char;
1412: 
1412:   template<>
1412:     struct __is_byte<byte>
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: # 425 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1412:   template<typename> struct iterator_traits;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nonvolatile_trivially_copyable
1412:     {
1412:       enum { __value = __is_trivially_copyable(_Tp) };
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nonvolatile_trivially_copyable<volatile _Tp>
1412:     {
1412:       enum { __value = 0 };
1412:     };lways_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) noexcept (true)
609: 
609: {
609:   return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
609:           __builtin_va_arg_pack ());
609: }
609: # 165 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
609: 
609: {
609:   return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
609: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
609: 
609: {
609:   return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
609:     __ap);
609: }
609: # 198 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
609: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
609: 
609: 
609:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
609: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
609: 
609: 
609:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
609:                                  ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
609: fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
609: {
609:   size_t sz = __builtin_object_size (__s, 2 > 1);
609:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
609:     return __fgets_alias (__s, __n, __stream);
609:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
609:     return __fgets_chk_warn (__s, sz, __n, __stream);
609:   return __fgets_chk (__s, sz, __n, __stream);
609: }
609: 
609: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
609: 
609: 
609:             __attribute__ ((__warn_unused_result__));
609: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
609: 
609: 
609: 
609: 
609:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
609:                                  ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
609: fread (void *__restrict __ptr, size_t __size, size_t __n,
609:        FILE *__restrict __stream)
609: {
609:   size_t sz = __builtin_object_size (__ptr, 0);
609:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
609:     return __fread_alias (__ptr, __s _ExplicitCtor = __enable_if_t<
1115:    _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(),
1115:    bool>;
1115: 
1115:       template<typename _U1, typename _U2>
1115:  static constexpr bool __assignable()
1115:  {
1115:    return __and_<is_assignable<_T1&, _U1>,
1115:    is_assignable<_T2&, _U2>>::value;
1115:  }
1115: 
1115:       template<typename _U1, typename _U2>
1115:  static constexpr bool __nothrow_assignable()
1115:  {
1115:    return __and_<is_nothrow_assignable<_T1&, _U1>,
1115:    is_nothrow_assignable<_T2&, _U2>>::value;
1115:  }
1115: 
1115:       template<typename _U1, typename _U2>
1115:  static constexpr bool __nothrow_constructible()
1115:  {
1115:    return __and_<is_nothrow_constructible<_T1, _U1>,
1115:        is_nothrow_constructible<_T2, _U2>>::value;
1115:  }
1115: 
1115:       static constexpr bool __nothrow_default_constructible()
1115:       {
1115:  return __and_<is_nothrow_default_constructible<_T1>,
1115:         is_nothrow_default_constructible<_T2>>::value;
1115:       }
1115: 
1115:       template<typename _U1>
1115:  static constexpr bool __is_alloc_arg()
1115:  { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; }
1115: 
1115:     public:
1115:       template<bool _Dummy = true,
1115:         _ImplicitDefaultCtor<_Dummy, _T1, _T2> = true>
1115:  constexpr
1115:  tuple()
1115:  noexcept(__nothrow_default_constructible())
1115:  : _Inherited() { }
1115: 
1115:       template<bool _Dummy = true,
1115:         _ExplicitDefaultCtor<_Dummy, _T1, _T2> = false>
1115:  explicit constexpr
1115:  tuple()
1115:  noexcept(__nothrow_default_constructible())
1115:  : _Inherited() { }
1115: 
1115:       template<bool _Dummy = true,
1115:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1115:  constexpr
1115:  tuple(const _T1& __a1, const _T2& __a2)
1115:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1115:  : _Inherited(__a1, __a2) { }
1115: 
1115:       template<bool _Dummy = true,
1115:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1115:  explicit constexpr
1115:  tuple(const _T1& __a1, const _T2& __a2)
1115:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1115:  : _Inherited(__a1, __a2) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ImplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = true>
1115:  constexpr
1115:  tuple(_U1&& __a1, _U2&& __a2)
1115:  noexcept(__nothrow_constructible<_U1, _U2>())
1115:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ExplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = false>
1115:  explicit constexpr
1115:  tuple(_U1&& __a1, _U2&& __a2)
1115:  noexcept(__nothrow_constructible<_U1, _U2>())
1115:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1115: 
1115:       constexpr tuple(const tuple&) = default;
1115: 
1115:       constexpr tuple(tuple&&) = default;
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1115:  constexpr
1115:  tuple(const tuple<_U1, _U2>& __in)
1115:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1115:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1115:  explicit constexpr
1115:  tuple(const tuple<_U1, _U2>& __in)
1115:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1115:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ImplicitCtor<true, _U1, _U2> = true>
1115:  constexpr
1115:  tuple(tuple<_U1, _U2>&& __in)
1115:  noexcept(__nothrow_constructible<_U1, _U2>())
1115:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ExplicitCtor<true, _U1, _U2> = false>
1115:  explicit constexpr
1115:  tuple(tuple<_U1, _U2>&& __in)
1115ize, __n, __stream);
609:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
609:     return __fread_chk_warn (__ptr, sz, __size, __n, __stream);
609:   return __fread_chk (__ptr, sz, __size, __n, __stream);
609: }
609: 
609: 
609: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
609: 
609: 
609:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
609: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
609: 
609: 
609:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
609:                                  ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
609: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
609: {
609:   size_t sz = __builtin_object_size (__s, 2 > 1);
609:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
609:     return __fgets_unlocked_alias (__s, __n, __stream);
609:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
609:     return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);
609:   return __fgets_unlocked_chk (__s, sz, __n, __stream);
609: }
609: 
609: 
609: 
609: 
609: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
609: 
609: 
609:                      __attribute__ ((__warn_unused_result__));
609: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
609: 
609: 
609: 
609: 
609:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
609:                                         ;
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
609: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
609:   FILE *__restrict __stream)
609: {
609:   size_t sz = __builtin_object_size (__ptr, 0);
609:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
609:     {
609: 
609:       if (__builtin_constant_p (__size)
609:    && __builtin_constant_p (__n)
609:    && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
609:    && __size * __n <= 8)
609:  {
609:    size_t __cnt = __size * __n;
609:    char *__cptr = (char *) __ptr;
609:    if (__cnt == 0)
609:      return 0;
609: 
609:    for (; __cnt > 0; --__cnt)
609:      {
609:        int __c = getc_unlocked (__stream);
609:        if (__c == (-1))
609:   break;
609:        *__cptr++ = __c;
609:      }
609:    return (__cptr - (char *) __ptr) / __size;
609:  }
609: 
609:       return __fread_unlocked_alias (__ptr, __size, __n, __stream);
609:     }
609:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
609:     return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);
609:   return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);
609: 
609: }
609: # 907 "/usr/include/stdio.h" 2 3 4
609: 
609: 
609: }
609: # 43 "/usr/include/c++/12/cstdio" 2 3
609: # 96 "/usr/include/c++/12/cstdio" 3
609: namespace std
609: {
609:   using ::FILE;
609:   using ::fpos_t;
609: 
609:   using ::clearerr;
609:   using ::fclose;
609:   using ::feof;
609:   using ::ferror;
609:   using ::fflush;
609:   using ::fgetc;
609:   using ::fgetpos;
609:   using ::fgets;
609:   using ::fopen;
609:   using ::fprintf;
609:   using ::fputc;
609:   using ::fputs;
609:   using ::fread;
609:   using ::freopen;
609:   using ::fscanf;
609:   using ::fseek;
609:   using ::fsetpos;
609:   using ::ftell;
609:   using ::fwrite;
609:   using ::getc;
609:   using ::getchar;
609: 
609: 
609: 
609: 
609:   using ::perror;
609:   using ::printf;
609:   using ::putc;
609:   using ::putchar;
609:   using ::puts;
609:   using ::remove;
609:   using ::rename;
609:   using ::rewind;
609:   using ::scanf;
609:   using ::setbuf;
609:   using ::setvbuf;
609:   using ::sprintf;
609:   using ::sscanf;
609:   using ::tmpfile;
609: 
609:   using ::tmpnam;
609: 
609:   using ::ungetc;
609:   using ::vfprintf;
609:   using ::vprintf;
609:   using ::vsprintf;
609: }
609: # 157 "/usr/include/c++/12/cstdio" 3
609: namespace __gnu_cxx
609: {
609: # 175 "/usr/include/c++/12/cstdio" 3
609:   using ::snprintf;
609:   using ::vfscanf;
609:   using ::vscanf;
609:   using ::vsnprintf;
609:   using ::vsscanf;
609: 
609: }
609: 
609: namespace std
609: {
609:   using ::__gnu_cxx::snprintf;
609:   using ::__gnu_cxx::vfscanf;
609:   using ::__gnu_cxx::vscanf;
609:   using ::__gnu_cxx::vsnprintf;
609:   using ::__gnu_cxx::vsscanf;
609: }
609: # 44 "/usr/include/c++/12/ext/string_conversions.h" 2 3
609: # 1 "/usr/include/c++/12/cerrno" 1 3
609: # 39 "/usr/include/c++/12/cerrno" 3
609:        
609: # 40 "/usr/include/c++/12/cerrno" 3
609: 
609: 
609: # 1 "/usr/include/errno.h" 1 3 4
609: # 28 "/usr/include/errno.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 1 3 4
609: # 26 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4
609: # 1 "/usr/include/linux/errno.h" 1 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 1 3 4
609: # 1 "/usr/include/asm-generic/errno.h" 1 3 4
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
609: # 6 "/usr/include/asm-generic/errno.h" 2 3 4
609: # 2 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 2 3 4
609: # 2 "/usr/include/linux/errno.h" 2 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 2 3 4
609: # 29 "/usr/include/errno.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: extern "C" {
609: 
609: 
609: extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern char *program_invocation_name;
609: extern char *program_invocation_short_name;
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 1 3 4
609: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 3 4
609: typedef int error_t;
609: # 49 "/usr/include/errno.h" 2 3 4
609: 
609: 
609: 
609: }
609: # 43 "/usr/include/c++/12/cerrno" 2 3
609: # 45 "/usr/include/c++/12/ext/string_conversions.h" 2 3
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<typename _TRet, typename _Ret = _TRet, typename _CharT,
609:     typename... _Base>
609:     _Ret
609:     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
609:     const char* __name, const _CharT* __str, std::size_t* __idx,
609:     _Base... __base)
609:     {
609:       _Ret __ret;
609: 
609:       _CharT* __endptr;
609: 
609:       struct _Save_errno {
609:  _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location 
1412: 
1412: 
1412:   template<typename _OutputIter, typename _InputIter>
1412:     struct __memcpyable
1412:     {
1412:       enum { __value = 0 };
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __memcpyable<_Tp*, _Tp*>
1412:     : __is_nonvolatile_trivially_copyable<_Tp>
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __memcpyable<_Tp*, const _Tp*>
1412:     : __is_nonvolatile_trivially_copyable<_Tp>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Iter1, typename _Iter2>
1412:     struct __memcmpable
1412:     {
1412:       enum { __value = 0 };
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __memcmpable<_Tp*, _Tp*>
1412:     : __is_nonvolatile_trivially_copyable<_Tp>
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __memcmpable<const _Tp*, _Tp*>
1412:     : __is_nonvolatile_trivially_copyable<_Tp>
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __memcmpable<_Tp*, const _Tp*>
1412:     : __is_nonvolatile_trivially_copyable<_Tp>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, bool _TreatAsBytes =
1412: 
1412: 
1412: 
1412:  __is_byte<_Tp>::__value
1412: 
1412:     >
1412:     struct __is_memcmp_ordered
1412:     {
1412:       static const bool __value = _Tp(-1) > _Tp(1);
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_memcmp_ordered<_Tp, false>
1412:     {
1412:       static const bool __value = false;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
1412:     struct __is_memcmp_ordered_with
1412:     {
1412:       static const bool __value = __is_memcmp_ordered<_Tp>::__value
1412:  && __is_memcmp_ordered<_Up>::__value;
1412:     };
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct __is_memcmp_ordered_with<_Tp, _Up, false>
1412:     {
1412:       static const bool __value = false;
1412:     };
1412: # 534 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1412:   template<>
1412:     struct __is_memcmp_ordered_with<std::byte, std::byte, true>
1412:     { static constexpr bool __value = true; };
1412: 
1412:   template<typename _Tp, bool _SameSize>
1412:     struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
1412:     { static constexpr bool __value = false; };
1412: 
1412:   template<typename _Up, bool _SameSize>
1412:     struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
1412:     { static constexpr bool __value = false; };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_move_iterator
1412:     {
1412:       enum { __value = 0 };
1412:       typedef __false_type __type;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Iterator>
1412:    
1412:     inline _Iterator
1412:     __miter_base(_Iterator __it)
1412:     { return __it; }
1412: 
1412: 
1412: }
1412: }
1412: # 62 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/ext/type_traits.h" 1 3
1412: # 32 "/usr/include/c++/12/ext/type_traits.h" 3
1412:        
1412: # 33 "/usr/include/c++/12/ext/type_traits.h" 3
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" {
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<bool, typename>
1412:     struct __enable_if
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __enable_if<true, _Tp>
1412:     { typedef _Tp __type; };
1412: 
1412: 
1412: 
1412:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1412:     struct __conditional_type
1412:     { typedef _Iftrue __type; };
1412: 
1412:   template<typename _Iftrue, typename _Iffalse>
1412:     struct __conditional_type<false, _Iftrue, _Iffalse>
1412:     { typedef _Iffalse __type; };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __add_unsigned
1412:     {
1412:     private:
1412:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1412: 
1412:     public:
:  noexcept(__nothrow_constructible<_U1, _U2>())
1115:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1115:  constexpr
1115:  tuple(const pair<_U1, _U2>& __in)
1115:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1115:  : _Inherited(__in.first, __in.second) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1115:  explicit constexpr
1115:  tuple(const pair<_U1, _U2>& __in)
1115:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1115:  : _Inherited(__in.first, __in.second) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ImplicitCtor<true, _U1, _U2> = true>
1115:  constexpr
1115:  tuple(pair<_U1, _U2>&& __in)
1115:  noexcept(__nothrow_constructible<_U1, _U2>())
1115:  : _Inherited(std::forward<_U1>(__in.first),
1115:        std::forward<_U2>(__in.second)) { }
1115: 
1115:       template<typename _U1, typename _U2,
1115:         _ExplicitCtor<true, _U1, _U2> = false>
1115:  explicit constexpr
1115:  tuple(pair<_U1, _U2>&& __in)
1115:  noexcept(__nothrow_constructible<_U1, _U2>())
1115:  : _Inherited(std::forward<_U1>(__in.first),
1115:        std::forward<_U2>(__in.second)) { }
1115: 
1115: 
1115: 
1115:       template<typename _Alloc,
1115:         _ImplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1115:  : _Inherited(__tag, __a) { }
1115: 
1115:       template<typename _Alloc, bool _Dummy = true,
1115:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const _T1& __a1, const _T2& __a2)
1115:  : _Inherited(__tag, __a, __a1, __a2) { }
1115: 
1115:       template<typename _Alloc, bool _Dummy = true,
1115:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1115:  explicit
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const _T1& __a1, const _T2& __a2)
1115:  : _Inherited(__tag, __a, __a1, __a2) { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ImplicitCtor<true, _U1, _U2> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
1115:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1115:               std::forward<_U2>(__a2)) { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ExplicitCtor<true, _U1, _U2> = false>
1115:  explicit
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        _U1&& __a1, _U2&& __a2)
1115:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1115:               std::forward<_U2>(__a2)) { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1115:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1115: 
1115:       template<typename _Alloc>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1115:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const tuple<_U1, _U2>& __in)
1115:  : _Inherited(__tag, __a,
1115:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1115:  explicit
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const tuple<_U1, _U2>& __in)
1115:  : _Inherited(__tag, __a,
1115:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ImplicitCtor<true, _U1, _U2>()) = 0; }
609:  ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
609:  int _M_errno;
609:       } const __save_errno;
609: 
609:       struct _Range_chk {
609:    static bool
609:    _S_chk(_TRet, std::false_type) { return false; }
609: 
609:    static bool
609:    _S_chk(_TRet __val, std::true_type)
609:    {
609:      return __val < _TRet(__numeric_traits<int>::__min)
609:        || __val > _TRet(__numeric_traits<int>::__max);
609:    }
609:       };
609: 
609:       const _TRet __tmp = __convf(__str, &__endptr, __base...);
609: 
609:       if (__endptr == __str)
609:  std::__throw_invalid_argument(__name);
609:       else if ((*__errno_location ()) == 34
609:    || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
609:  std::__throw_out_of_range(__name);
609:       else
609:  __ret = __tmp;
609: 
609:       if (__idx)
609:  *__idx = __endptr - __str;
609: 
609:       return __ret;
609:     }
609: 
609: 
609:   template<typename _String, typename _CharT = typename _String::value_type>
609:     _String
609:     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
609:      __builtin_va_list), std::size_t __n,
609:    const _CharT* __fmt, ...)
609:     {
609: 
609: 
609:       _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
609:          * __n));
609: 
609:       __builtin_va_list __args;
609:       __builtin_va_start(__args, __fmt);
609: 
609:       const int __len = __convf(__s, __n, __fmt, __args);
609: 
609:       __builtin_va_end(__args);
609: 
609:       return _String(__s, __s + __len);
609:     }
609: 
609: 
609: }
609: # 3961 "/usr/include/c++/12/bits/basic_string.h" 2 3
609: # 1 "/usr/include/c++/12/bits/charconv.h" 1 3
609: # 33 "/usr/include/c++/12/bits/charconv.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/charconv.h" 3
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: namespace __detail
609: {
609: 
609:   template<typename _Tp>
609:     constexpr unsigned
609:     __to_chars_len(_Tp __value, int __base = 10) noexcept
609:     {
609:       static_assert(is_integral<_Tp>::value, "implementation bug");
609:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
609: 
609:       unsigned __n = 1;
609:       const unsigned __b2 = __base * __base;
609:       const unsigned __b3 = __b2 * __base;
609:       const unsigned long __b4 = __b3 * __base;
609:       for (;;)
609:  {
609:    if (__value < (unsigned)__base) return __n;
609:    if (__value < __b2) return __n + 1;
609:    if (__value < __b3) return __n + 2;
609:    if (__value < __b4) return __n + 3;
609:    __value /= __b4;
609:    __n += 4;
609:  }
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     void
609:     __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
609:     {
609:       static_assert(is_integral<_Tp>::value, "implementation bug");
609:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
609: 
609:       static constexpr char __digits[201] =
609:  "0001020304050607080910111213141516171819"
609:  "2021222324252627282930313233343536373839"
609:  "4041424344454647484950515253545556575859"
609:  "6061626364656667686970717273747576777879"
609:  "8081828384858687888990919293949596979899";
609:       unsigned __pos = __len - 1;
609:       while (__val >= 100)
609:  {
609:    auto const __num = (__val % 100) * 2;
609:    __val /= 100;
609:    __first[__pos] = __digits[__num + 1];
609:    __first[__pos - 1] = __digits[__num];
609:    __pos -= 2;
609:  }
609:       if (__val >= 10)
609:  {
609:    auto const __num = __val * 2;
609:    __first[1] = __digits[__num + 1];
609:    __first[0] = __digits[__num];
609:  }
609:       else
609:  __first[0] = '0' + __val;
609:     }
609: 
609: }
609: 
609: }
609: # 3962 "/usr/include/c++/12/bits/basic_string.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: namespace __cxx11 {
609: 
609: 
609: 
609:   inline int
609:   stoi(const string& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
609:      __idx, __base); }
609: 
609:   inline long
609:   stol(const string& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
609:         __idx, __base); }
609: 
609:   inline unsigned long
609:   stoul(const string& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
609:         __idx, __base); }
609: 
609:   inline long long
609:   stoll(const string& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
609:         __idx, __base); }
609: 
609:   inline unsigned long long
609:   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
609:         __idx, __base); }
609: 
609: 
609:   inline float
609:   stof(const string& __str, size_t* __idx = 0)
609:   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
609: 
609:   inline double
609:   stod(const string& __str, size_t* __idx = 0)
609:   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
609: 
609:   inline long double
609:   stold(const string& __str, size_t* __idx = 0)
609:   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
609: 
609: 
609: 
609: 
609:   inline string
609:   to_string(int __val)
609: 
609:   noexcept
609: 
609:   {
609:     const bool __neg = __val < 0;
609:     const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
609:     const auto __len = __detail::__to_chars_len(__uval);
609:     string __str(__neg + __len, '-');
609:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
609:     return __str;
609:   }
609: 
609:   inline string
609:   to_string(unsigned __val)
609: 
609:   noexcept
609: 
609:   {
609:     string __str(__detail::__to_chars_len(__val), '\0');
609:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
609:     return __str;
609:   }
609: 
609:   inline string
609:   to_string(long __val)
609: 
609:   noexcept
609: 
609:   {
609:     const bool __neg = __val < 0;
609:     const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
609:     const auto __len = __detail::__to_chars_len(__uval);
609:     string __str(__neg + __len, '-');
609:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
609:     return __str;
609:   }
609: 
609:   inline string
609:   to_string(unsigned long __val)
609: 
609:   noexcept
609: 
609:   {
609:     string __str(__detail::__to_chars_len(__val), '\0');
609:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
609:     return __str;
609:   }
609: 
609:   inline string
609:   to_string(long long __val)
609:   {
609:     const bool __neg = __val < 0;
609:     const unsigned long long __uval
609:       = __neg ? (unsigned long long)~__val + 1ull : __val;
609:     const auto __len = __detail::__to_chars_len(__uval);
609:     string __str(__neg + __len, '-');
609:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
609:     return __str;
609:   }
609: 
609:   inline string
609:   to_string(unsigned long long __val)
609:   {
609:     string __str(__detail::__to_chars_len(__val), '\0');
609:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
609:     return __str;
609:   }
609: 
609: 
609: 
609: 
609:   inline string
609:   to_string(float __val)
609:   {
609:     const int __n =
609:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
609:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
609:         "%f", __val);
609:   }
609: 
609:   inline string
609:   to_string(double __val)
609:   {
609:     const int __n =
609:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
609:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
609:         "%f", __val);
609:   }
609: 
609:   inline string
609:   to_string(long dou1412:       typedef typename __if_type::__type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __add_unsigned<char>
1412:     { typedef unsigned char __type; };
1412: 
1412:   template<>
1412:     struct __add_unsigned<signed char>
1412:     { typedef unsigned char __type; };
1412: 
1412:   template<>
1412:     struct __add_unsigned<short>
1412:     { typedef unsigned short __type; };
1412: 
1412:   template<>
1412:     struct __add_unsigned<int>
1412:     { typedef unsigned int __type; };
1412: 
1412:   template<>
1412:     struct __add_unsigned<long>
1412:     { typedef unsigned long __type; };
1412: 
1412:   template<>
1412:     struct __add_unsigned<long long>
1412:     { typedef unsigned long long __type; };
1412: 
1412: 
1412:   template<>
1412:     struct __add_unsigned<bool>;
1412: 
1412:   template<>
1412:     struct __add_unsigned<wchar_t>;
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __remove_unsigned
1412:     {
1412:     private:
1412:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1412: 
1412:     public:
1412:       typedef typename __if_type::__type __type;
1412:     };
1412: 
1412:   template<>
1412:     struct __remove_unsigned<char>
1412:     { typedef signed char __type; };
1412: 
1412:   template<>
1412:     struct __remove_unsigned<unsigned char>
1412:     { typedef signed char __type; };
1412: 
1412:   template<>
1412:     struct __remove_unsigned<unsigned short>
1412:     { typedef short __type; };
1412: 
1412:   template<>
1412:     struct __remove_unsigned<unsigned int>
1412:     { typedef int __type; };
1412: 
1412:   template<>
1412:     struct __remove_unsigned<unsigned long>
1412:     { typedef long __type; };
1412: 
1412:   template<>
1412:     struct __remove_unsigned<unsigned long long>
1412:     { typedef long long __type; };
1412: 
1412: 
1412:   template<>
1412:     struct __remove_unsigned<bool>;
1412: 
1412:   template<>
1412:     struct __remove_unsigned<wchar_t>;
1412: 
1412: 
1412: 
1412:   template<typename _Type>
1412:     constexpr
1412:     inline bool
1412:     __is_null_pointer(_Type* __ptr)
1412:     { return __ptr == 0; }
1412: 
1412:   template<typename _Type>
1412:     constexpr
1412:     inline bool
1412:     __is_null_pointer(_Type)
1412:     { return false; }
1412: 
1412: 
1412:   constexpr bool
1412:   __is_null_pointer(std::nullptr_t)
1412:   { return true; }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
1412:     struct __promote
1412:     { typedef double __type; };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __promote<_Tp, false>
1412:     { };
1412: 
1412:   template<>
1412:     struct __promote<long double>
1412:     { typedef long double __type; };
1412: 
1412:   template<>
1412:     struct __promote<double>
1412:     { typedef double __type; };
1412: 
1412:   template<>
1412:     struct __promote<float>
1412:     { typedef float __type; };
1412: 
1412: 
1412: 
1412:   template<typename... _Tp>
1412:     using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
1412: 
1412:   template<typename _Tp, typename _Up, typename _Vp>
1412:     using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
1412: 
1412:   template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
1412:     using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
1412: # 239 "/usr/include/c++/12/ext/type_traits.h" 3
1412: 
1412: }
1412: }
1412: # 63 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/ext/numeric_traits.h" 1 3
1412: # 32 "/usr/include/c++/12/ext/numeric_traits.h" 3
1412:        
1412: # 33 "/usr/include/c++/12/ext/numeric_traits.h" 3
1412: 
1412: 
1412: 
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 50 "/usr/include/c++/12/ext/numeric_traits.h" 3
1412:   template<typename _Tp>
1412:     ble __val)
609:   {
609:     const int __n =
609:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
609:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
609:         "%Lf", __val);
609:   }
609: 
609: 
609: 
609:   inline int
609:   stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
609:      __idx, __base); }
609: 
609:   inline long
609:   stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
609:         __idx, __base); }
609: 
609:   inline unsigned long
609:   stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
609:         __idx, __base); }
609: 
609:   inline long long
609:   stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
609:         __idx, __base); }
609: 
609:   inline unsigned long long
609:   stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
609:   { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
609:         __idx, __base); }
609: 
609: 
609:   inline float
609:   stof(const wstring& __str, size_t* __idx = 0)
609:   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
609: 
609:   inline double
609:   stod(const wstring& __str, size_t* __idx = 0)
609:   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
609: 
609:   inline long double
609:   stold(const wstring& __str, size_t* __idx = 0)
609:   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
609: 
609: 
609: 
609:   inline wstring
609:   to_wstring(int __val)
609:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int),
609:          L"%d", __val); }
609: 
609:   inline wstring
609:   to_wstring(unsigned __val)
609:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
609:          4 * sizeof(unsigned),
609:          L"%u", __val); }
609: 
609:   inline wstring
609:   to_wstring(long __val)
609:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long),
609:          L"%ld", __val); }
609: 
609:   inline wstring
609:   to_wstring(unsigned long __val)
609:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
609:          4 * sizeof(unsigned long),
609:          L"%lu", __val); }
609: 
609:   inline wstring
609:   to_wstring(long long __val)
609:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
609:          4 * sizeof(long long),
609:          L"%lld", __val); }
609: 
609:   inline wstring
609:   to_wstring(unsigned long long __val)
609:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
609:          4 * sizeof(unsigned long long),
609:          L"%llu", __val); }
609: 
609:   inline wstring
609:   to_wstring(float __val)
609:   {
609:     const int __n =
609:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
609:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
609:          L"%f", __val);
609:   }
609: 
609:   inline wstring
609:   to_wstring(double __val)
609:   {
609:     const int __n =
609:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
609:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
609:          L"%f", __val);
609:   }
609: 
609:   inline wstring
609:   to_wstring(long double __val)
609:   {
609:     const int __n =
609:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
609:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
609:          L"%Lf", __val);
609:   }
609: 
609: 
609: 
609: }
609: 
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct hash<string>
609:     : public __hash_base<size_t, string>
609:     {
609:       size_t
609:       ope = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1115:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ExplicitCtor<true, _U1, _U2> = false>
1115:  explicit
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1115:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1115:  { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const pair<_U1, _U2>& __in)
1115:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1115:  explicit
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1115:        const pair<_U1, _U2>& __in)
1115:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ImplicitCtor<true, _U1, _U2> = true>
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1115:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1115:        std::forward<_U2>(__in.second)) { }
1115: 
1115:       template<typename _Alloc, typename _U1, typename _U2,
1115:         _ExplicitCtor<true, _U1, _U2> = false>
1115:  explicit
1115: 
1115:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1115:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1115:        std::forward<_U2>(__in.second)) { }
1115: 
1115: 
1115: 
1115:      
1115:       tuple&
1115:       operator=(__conditional_t<__assignable<const _T1&, const _T2&>(),
1115:     const tuple&,
1115:     const __nonesuch&> __in)
1115:       noexcept(__nothrow_assignable<const _T1&, const _T2&>())
1115:       {
1115:  this->_M_assign(__in);
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       tuple&
1115:       operator=(__conditional_t<__assignable<_T1, _T2>(),
1115:     tuple&&,
1115:     __nonesuch&&> __in)
1115:       noexcept(__nothrow_assignable<_T1, _T2>())
1115:       {
1115:  this->_M_assign(std::move(__in));
1115:  return *this;
1115:       }
1115: 
1115:       template<typename _U1, typename _U2>
1115: 
1115:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1115:  operator=(const tuple<_U1, _U2>& __in)
1115:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1115:  {
1115:    this->_M_assign(__in);
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _U1, typename _U2>
1115: 
1115:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1115:  operator=(tuple<_U1, _U2>&& __in)
1115:  noexcept(__nothrow_assignable<_U1, _U2>())
1115:  {
1115:    this->_M_assign(std::move(__in));
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _U1, typename _U2>
1115: 
1115:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1115:  operator=(const pair<_U1, _U2>& __in)
1115:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1115:  {
1115:    this->_M_head(*this) = __in.first;
1115:    this->_M_tail(*this)._M_head(*this) = __in.second;
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _U1, typename _U2>
1115: 
1115:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1115:  operator=(pair<_U1, _U2>&& __in)
1115:  noexcept(__nothrow_assignable<_U1, _U2>())
1115:  {
1115:    this->_M_head(*this) = std::forward<_U1>(__in.first);
1115:    this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
1115:    return *this;
1115:  }
1115: 
1115:      
1115:       void
1115:       swap(tuple& __in)
1115:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1115:         __is_nothrow_swappable<_T2>>::value)
1115:       { _Inherited::_M_swap(__in); }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename... _Elements>
rator()(const string& __s) const noexcept
609:       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<string>> : std::false_type
609:     { };
609: 
609: 
609:   template<>
609:     struct hash<wstring>
609:     : public __hash_base<size_t, wstring>
609:     {
609:       size_t
609:       operator()(const wstring& __s) const noexcept
609:       { return std::_Hash_impl::hash(__s.data(),
609:                                      __s.length() * sizeof(wchar_t)); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<wstring>> : std::false_type
609:     { };
609: # 4281 "/usr/include/c++/12/bits/basic_string.h" 3
609:   template<>
609:     struct hash<u16string>
609:     : public __hash_base<size_t, u16string>
609:     {
609:       size_t
609:       operator()(const u16string& __s) const noexcept
609:       { return std::_Hash_impl::hash(__s.data(),
609:                                      __s.length() * sizeof(char16_t)); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<u16string>> : std::false_type
609:     { };
609: 
609: 
609:   template<>
609:     struct hash<u32string>
609:     : public __hash_base<size_t, u32string>
609:     {
609:       size_t
609:       operator()(const u32string& __s) const noexcept
609:       { return std::_Hash_impl::hash(__s.data(),
609:                                      __s.length() * sizeof(char32_t)); }
609:     };
609: 
609:   template<>
609:     struct __is_fast_hash<hash<u32string>> : std::false_type
609:     { };
609: 
609: 
609: 
609: 
609: 
609:   inline namespace literals
609:   {
609:   inline namespace string_literals
609:   {
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wliteral-suffix"
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     inline basic_string<char>
609:     operator""s(const char* __str, size_t __len)
609:     { return basic_string<char>{__str, __len}; }
609: 
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     inline basic_string<wchar_t>
609:     operator""s(const wchar_t* __str, size_t __len)
609:     { return basic_string<wchar_t>{__str, __len}; }
609: # 4344 "/usr/include/c++/12/bits/basic_string.h" 3
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     inline basic_string<char16_t>
609:     operator""s(const char16_t* __str, size_t __len)
609:     { return basic_string<char16_t>{__str, __len}; }
609: 
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     inline basic_string<char32_t>
609:     operator""s(const char32_t* __str, size_t __len)
609:     { return basic_string<char32_t>{__str, __len}; }
609: 
609: 
609: #pragma GCC diagnostic pop
609:   }
609:   }
609: 
609: 
609:   namespace __detail::__variant
609:   {
609:     template<typename> struct _Never_valueless_alt;
609: 
609: 
609: 
609:     template<typename _Tp, typename _Traits, typename _Alloc>
609:       struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
609:       : __and_<
609:  is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
609:  is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
609:  >::type
609:       { };
609:   }
609: 
609: 
609: 
609: 
609: }
609: # 54 "/usr/include/c++/12/string" 2 3
609: # 1 "/usr/include/c++/12/bits/basic_string.tcc" 1 3
609: # 42 "/usr/include/c++/12/bits/basic_string.tcc" 3
609:        
609: # 43 "/usr/include/c++/12/bits/basic_string.tcc" 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::npos;
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     swap(basic_string& __s) noexcept
609:     {
609:       if (this == std::__addressof(__s))
609:  return;
609: struct __is_integer_nonstrict
1412:     : public std::__is_integer<_Tp>
1412:     {
1412:       using std::__is_integer<_Tp>::__value;
1412: 
1412: 
1412:       enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
1412:     };
1412: 
1412:   template<typename _Value>
1412:     struct __numeric_traits_integer
1412:     {
1412: 
1412:       static_assert(__is_integer_nonstrict<_Value>::__value,
1412:       "invalid specialization");
1412: 
1412: 
1412: 
1412: 
1412:       static const bool __is_signed = (_Value)(-1) < 0;
1412:       static const int __digits
1412:  = __is_integer_nonstrict<_Value>::__width - __is_signed;
1412: 
1412: 
1412:       static const _Value __max = __is_signed
1412:  ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
1412:  : ~(_Value)0;
1412:       static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
1412:     };
1412: 
1412:   template<typename _Value>
1412:     const _Value __numeric_traits_integer<_Value>::__min;
1412: 
1412:   template<typename _Value>
1412:     const _Value __numeric_traits_integer<_Value>::__max;
1412: 
1412:   template<typename _Value>
1412:     const bool __numeric_traits_integer<_Value>::__is_signed;
1412: 
1412:   template<typename _Value>
1412:     const int __numeric_traits_integer<_Value>::__digits;
1412: # 137 "/usr/include/c++/12/ext/numeric_traits.h" 3
1412:   template<typename _Tp>
1412:     using __int_traits = __numeric_traits_integer<_Tp>;
1412: # 157 "/usr/include/c++/12/ext/numeric_traits.h" 3
1412:   template<typename _Value>
1412:     struct __numeric_traits_floating
1412:     {
1412: 
1412:       static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136);
1412: 
1412: 
1412:       static const bool __is_signed = true;
1412:       static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15);
1412:       static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308);
1412:     };
1412: 
1412:   template<typename _Value>
1412:     const int __numeric_traits_floating<_Value>::__max_digits10;
1412: 
1412:   template<typename _Value>
1412:     const bool __numeric_traits_floating<_Value>::__is_signed;
1412: 
1412:   template<typename _Value>
1412:     const int __numeric_traits_floating<_Value>::__digits10;
1412: 
1412:   template<typename _Value>
1412:     const int __numeric_traits_floating<_Value>::__max_exponent10;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Value>
1412:     struct __numeric_traits
1412:     : public __numeric_traits_integer<_Value>
1412:     { };
1412: 
1412:   template<>
1412:     struct __numeric_traits<float>
1412:     : public __numeric_traits_floating<float>
1412:     { };
1412: 
1412:   template<>
1412:     struct __numeric_traits<double>
1412:     : public __numeric_traits_floating<double>
1412:     { };
1412: 
1412:   template<>
1412:     struct __numeric_traits<long double>
1412:     : public __numeric_traits_floating<long double>
1412:     { };
1412: # 238 "/usr/include/c++/12/ext/numeric_traits.h" 3
1412: 
1412: }
1412: # 64 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_pair.h" 1 3
1412: # 60 "/usr/include/c++/12/bits/stl_pair.h" 3
1412: # 1 "/usr/include/c++/12/type_traits" 1 3
1412: # 32 "/usr/include/c++/12/type_traits" 3
1412:        
1412: # 33 "/usr/include/c++/12/type_traits" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _Tp>
1412:     class reference_wrapper;
1412: # 61 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Tp, _Tp __v>
1412:     struct integral_constant
1412:     {
1412:       static constexpr _Tp value = __v;
1412:       typedef _Tp value_type;
1412:       typedef integral_constant<_Tp, __v> type;
1412:       constexpr operator value_type() const noexcept { return value; 1115:     struct tuple_size<tuple<_Elements...>>
1115:     : public integral_constant<size_t, sizeof...(_Elements)> { };
1115: 
1115: 
1115:   template<typename... _Types>
1115:     inline constexpr size_t tuple_size_v<tuple<_Types...>>
1115:       = sizeof...(_Types);
1115: 
1115:   template<typename... _Types>
1115:     inline constexpr size_t tuple_size_v<const tuple<_Types...>>
1115:       = sizeof...(_Types);
1115: 
1115: 
1115: 
1115:   template<size_t __i, typename... _Types>
1115:     struct tuple_element<__i, tuple<_Types...>>
1115:     {
1115:       static_assert(__i < sizeof...(_Types), "tuple index must be in range");
1115: 
1115:       using type = typename _Nth_type<__i, _Types...>::type;
1115:     };
1115: 
1115:   template<size_t __i, typename _Head, typename... _Tail>
1115:     constexpr _Head&
1115:     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1115:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1115: 
1115:   template<size_t __i, typename _Head, typename... _Tail>
1115:     constexpr const _Head&
1115:     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1115:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1115: 
1115: 
1115:   template<size_t __i, typename... _Types>
1115:     __enable_if_t<(__i >= sizeof...(_Types))>
1115:     __get_helper(const tuple<_Types...>&) = delete;
1115: 
1115: 
1115:   template<size_t __i, typename... _Elements>
1115:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
1115:     get(tuple<_Elements...>& __t) noexcept
1115:     { return std::__get_helper<__i>(__t); }
1115: 
1115: 
1115:   template<size_t __i, typename... _Elements>
1115:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
1115:     get(const tuple<_Elements...>& __t) noexcept
1115:     { return std::__get_helper<__i>(__t); }
1115: 
1115: 
1115:   template<size_t __i, typename... _Elements>
1115:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
1115:     get(tuple<_Elements...>&& __t) noexcept
1115:     {
1115:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
1115:       return std::forward<__element_type>(std::__get_helper<__i>(__t));
1115:     }
1115: 
1115: 
1115:   template<size_t __i, typename... _Elements>
1115:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
1115:     get(const tuple<_Elements...>&& __t) noexcept
1115:     {
1115:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
1115:       return std::forward<const __element_type>(std::__get_helper<__i>(__t));
1115:     }
1115: 
1115: 
1115: 
1115:   template<size_t __i, typename... _Elements>
1115:     constexpr __enable_if_t<(__i >= sizeof...(_Elements))>
1115:     get(const tuple<_Elements...>&) = delete;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename... _Types>
1115:     constexpr _Tp&
1115:     get(tuple<_Types...>& __t) noexcept
1115:     {
1115:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1115:       static_assert(__idx < sizeof...(_Types),
1115:    "the type T in std::get<T> must occur exactly once in the tuple");
1115:       return std::__get_helper<__idx>(__t);
1115:     }
1115: 
1115: 
1115:   template <typename _Tp, typename... _Types>
1115:     constexpr _Tp&&
1115:     get(tuple<_Types...>&& __t) noexcept
1115:     {
1115:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1115:       static_assert(__idx < sizeof...(_Types),
1115:    "the type T in std::get<T> must occur exactly once in the tuple");
1115:       return std::forward<_Tp>(std::__get_helper<__idx>(__t));
1115:     }
1115: 
1115: 
1115:   template <typename _Tp, typename... _Types>
1115:     constexpr const _Tp&
1115:     get(const tuple<_Types...>& __t) noexcept
1115:     {
1115:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1115:       static_assert(__idx < sizeof...(_Types),
1115:    "the type T in std::get<T> must occur exactly once in the tuple");
1115:       return std::__get
609:       _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
609: 
609:       if (_M_is_local())
609:  if (__s._M_is_local())
609:    {
609:      if (length() && __s.length())
609:        {
609:   _CharT __tmp_data[_S_local_capacity + 1];
609:   traits_type::copy(__tmp_data, __s._M_local_buf,
609:       __s.length() + 1);
609:   traits_type::copy(__s._M_local_buf, _M_local_buf,
609:       length() + 1);
609:   traits_type::copy(_M_local_buf, __tmp_data,
609:       __s.length() + 1);
609:        }
609:      else if (__s.length())
609:        {
609:   traits_type::copy(_M_local_buf, __s._M_local_buf,
609:       __s.length() + 1);
609:   _M_length(__s.length());
609:   __s._M_set_length(0);
609:   return;
609:        }
609:      else if (length())
609:        {
609:   traits_type::copy(__s._M_local_buf, _M_local_buf,
609:       length() + 1);
609:   __s._M_length(length());
609:   _M_set_length(0);
609:   return;
609:        }
609:    }
609:  else
609:    {
609:      const size_type __tmp_capacity = __s._M_allocated_capacity;
609:      traits_type::copy(__s._M_local_buf, _M_local_buf,
609:          length() + 1);
609:      _M_data(__s._M_data());
609:      __s._M_data(__s._M_local_buf);
609:      _M_capacity(__tmp_capacity);
609:    }
609:       else
609:  {
609:    const size_type __tmp_capacity = _M_allocated_capacity;
609:    if (__s._M_is_local())
609:      {
609:        traits_type::copy(_M_local_buf, __s._M_local_buf,
609:     __s.length() + 1);
609:        __s._M_data(_M_data());
609:        _M_data(_M_local_buf);
609:      }
609:    else
609:      {
609:        pointer __tmp_ptr = _M_data();
609:        _M_data(__s._M_data());
609:        __s._M_data(__tmp_ptr);
609:        _M_capacity(__s._M_allocated_capacity);
609:      }
609:    __s._M_capacity(__tmp_capacity);
609:  }
609: 
609:       const size_type __tmp_length = length();
609:       _M_length(__s.length());
609:       __s._M_length(__tmp_length);
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::pointer
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_create(size_type& __capacity, size_type __old_capacity)
609:     {
609: 
609: 
609:       if (__capacity > max_size())
609:  std::__throw_length_error(("basic_string::_M_create"));
609: 
609: 
609: 
609: 
609:       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
609:  {
609:    __capacity = 2 * __old_capacity;
609: 
609:    if (__capacity > max_size())
609:      __capacity = max_size();
609:  }
609: 
609: 
609: 
609:       return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     template<typename _InIterator>
609:      
609:       void
609:       basic_string<_CharT, _Traits, _Alloc>::
609:       _M_construct(_InIterator __beg, _InIterator __end,
609:      std::input_iterator_tag)
609:       {
609:  size_type __len = 0;
609:  size_type __capacity = size_type(_S_local_capacity);
609: 
609:  pointer __p = _M_use_local_data();
609: 
609:  while (__beg != __end && __len < __capacity)
609:    {
609:      __p[__len++] = *__beg;
609:      ++__beg;
609:    }
609: 
609:  struct _Guard
609:  {
609:   
609:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
609: 
609:   
609:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
609: 
609:    basic_string* _M_guarded;
609:  } __guard(this);
609: 
609:  while (__beg != __end)
609:    {
609:      if (__len == __capacity)
609:        {
609: 
609:   __capacity = __len + 1;
609:   pointer __another = _M_create(__capacity, __len);
609:   this->_S_copy(__another, _M_data(), __len);
609:   _M_dispose();
609:   _M_data(__another);
609:   _M_capacity(__capacity);
609:        }
609:      traits_type::assign(_M_data()[__len++], *__beg);
609:      ++__beg;
609:    }
609: 
609:  __guard._M_guarded = 0;
609: 
609:  _M_set_length(__len);
609:       }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     template<typename _InIterator>
609:      
609:       void
609:       basic_string<_CharT, _Traits, _Alloc>::
609:       _M_construct(_InIterator __beg, _InIterator __end,
609:      std::forward_iterator_tag)
609:       {
609:  size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
609: 
609:  if (__dnew > size_type(_S_local_capacity))
609:    {
609:      _M_data(_M_create(__dnew, size_type(0)));
609:      _M_capacity(__dnew);
609:    }
609:  else
609:    _M_use_local_data();
609: 
609: 
609:  struct _Guard
609:  {
609:   
609:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
609: 
609:   
609:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
609: 
609:    basic_string* _M_guarded;
609:  } __guard(this);
609: 
609:  this->_S_copy_chars(_M_data(), __beg, __end);
609: 
609:  __guard._M_guarded = 0;
609: 
609:  _M_set_length(__dnew);
609:       }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_construct(size_type __n, _CharT __c)
609:     {
609:       if (__n > size_type(_S_local_capacity))
609:  {
609:    _M_data(_M_create(__n, size_type(0)));
609:    _M_capacity(__n);
609:  }
609:       else
609:  _M_use_local_data();
609: 
609:       if (__n)
609:  this->_S_assign(_M_data(), __n, __c);
609: 
609:       _M_set_length(__n);
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_assign(const basic_string& __str)
609:     {
609:       if (this != std::__addressof(__str))
609:  {
609:    const size_type __rsize = __str.length();
609:    const size_type __capacity = capacity();
609: 
609:    if (__rsize > __capacity)
609:      {
609:        size_type __new_capacity = __rsize;
609:        pointer __tmp = _M_create(__new_capacity, __capacity);
609:        _M_dispose();
609:        _M_data(__tmp);
609:        _M_capacity(__new_capacity);
609:      }
609: 
609:    if (__rsize)
609:      this->_S_copy(_M_data(), __str._M_data(), __rsize);
609: 
609:    _M_set_length(__rsize);
609:  }
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     reserve(size_type __res)
609:     {
609:       const size_type __capacity = capacity();
609: 
609: 
609: 
609: 
609:       if (__res <= __capacity)
609:  return;
609: 
609:       pointer __tmp = _M_create(__res, __capacity);
609:       this->_S_copy(__tmp, _M_data(), length() + 1);
609:       _M_dispose();
609:       _M_data(__tmp);
609:       _M_capacity(__res);
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
609:        size_type __len2)
609:     {
609:       const size_type __how_much = length() - __pos - __len1;
609: 
609:       size_type __new_capacity = length() + __len2 - __len1;
609:       pointer __r = _M_create(__new_capacity, capacity());
609: 
609:       if (__pos)
609:  this->_S_copy(__r, _M_data(), __pos);
609:       if (__s && __len2)
609:  this->_S_copy(__r + __pos, __s, __len2);
609:       if (__how_much)
609:  this->_S_copy(__r + __pos + __len2,
609:         _M_data() + __pos + __len1, __how_much);
609: 
609:       _M_dispose();
609:       _M_data(__r);
609:       _M_capacity(__new_capacity);
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_erase(size_type __pos, size_type __n)
609:     {
609:       const size_type __how_much = length() - __pos - __n;
609: 
609:       if (__how_much && __n)
609:  this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
609: 
609:       _M_set_length(length() - __n);
609:     }
609: 
609:   template<typename _CharT, typename _Traits, t}
1412: 
1412: 
1412: 
1412: 
1412:       constexpr value_type operator()() const noexcept { return value; }
1412: 
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   using true_type = integral_constant<bool, true>;
1412: 
1412: 
1412:   using false_type = integral_constant<bool, false>;
1412: 
1412: 
1412: 
1412:   template<bool __v>
1412:     using __bool_constant = integral_constant<bool, __v>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<bool __v>
1412:     using bool_constant = integral_constant<bool, __v>;
1412: 
1412: 
1412: 
1412: 
1412:   template<bool>
1412:     struct __conditional
1412:     {
1412:       template<typename _Tp, typename>
1412:  using type = _Tp;
1412:     };
1412: 
1412:   template<>
1412:     struct __conditional<false>
1412:     {
1412:       template<typename, typename _Up>
1412:  using type = _Up;
1412:     };
1412: 
1412: 
1412:   template<bool _Cond, typename _If, typename _Else>
1412:     using __conditional_t
1412:       = typename __conditional<_Cond>::template type<_If, _Else>;
1412: 
1412: 
1412:   template <typename _Type>
1412:     struct __type_identity
1412:     { using type = _Type; };
1412: 
1412:   template<typename _Tp>
1412:     using __type_identity_t = typename __type_identity<_Tp>::type;
1412: 
1412:   template<typename...>
1412:     struct __or_;
1412: 
1412:   template<>
1412:     struct __or_<>
1412:     : public false_type
1412:     { };
1412: 
1412:   template<typename _B1>
1412:     struct __or_<_B1>
1412:     : public _B1
1412:     { };
1412: 
1412:   template<typename _B1, typename _B2>
1412:     struct __or_<_B1, _B2>
1412:     : public __conditional_t<_B1::value, _B1, _B2>
1412:     { };
1412: 
1412:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1412:     struct __or_<_B1, _B2, _B3, _Bn...>
1412:     : public __conditional_t<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>
1412:     { };
1412: 
1412:   template<typename...>
1412:     struct __and_;
1412: 
1412:   template<>
1412:     struct __and_<>
1412:     : public true_type
1412:     { };
1412: 
1412:   template<typename _B1>
1412:     struct __and_<_B1>
1412:     : public _B1
1412:     { };
1412: 
1412:   template<typename _B1, typename _B2>
1412:     struct __and_<_B1, _B2>
1412:     : public __conditional_t<_B1::value, _B2, _B1>
1412:     { };
1412: 
1412:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1412:     struct __and_<_B1, _B2, _B3, _Bn...>
1412:     : public __conditional_t<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>
1412:     { };
1412: 
1412:   template<typename _Pp>
1412:     struct __not_
1412:     : public __bool_constant<!bool(_Pp::value)>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename... _Bn>
1412:     inline constexpr bool __or_v = __or_<_Bn...>::value;
1412:   template<typename... _Bn>
1412:     inline constexpr bool __and_v = __and_<_Bn...>::value;
1412: 
1412: 
1412: 
1412: 
1412:   template<typename... _Bn>
1412:     struct conjunction
1412:     : __and_<_Bn...>
1412:     { };
1412: 
1412:   template<typename... _Bn>
1412:     struct disjunction
1412:     : __or_<_Bn...>
1412:     { };
1412: 
1412:   template<typename _Pp>
1412:     struct negation
1412:     : __not_<_Pp>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename... _Bn>
1412:     inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
1412: 
1412:   template<typename... _Bn>
1412:     inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
1412: 
1412:   template<typename _Pp>
1412:     inline constexpr bool negation_v = negation<_Pp>::value;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename>
1412:     struct is_reference;
1412:   template<typename>
1412:     struct is_function;
1412:   template<typename>
1412:     struct is_void;
1412:   template<typename>
1412:     struct remove_cv;
1412:   template<typename>
1412:     struct is_const;
1412: 
1412: 
1412:   template<typename>
1412:     struct __is_array_unknown_bounds;
1412: 
1412: 
1412: 
1412: 
1412:   template <typename __helper<__idx>(__t);
1115:     }
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename... _Types>
1115:     constexpr const _Tp&&
1115:     get(const tuple<_Types...>&& __t) noexcept
1115:     {
1115:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1115:       static_assert(__idx < sizeof...(_Types),
1115:    "the type T in std::get<T> must occur exactly once in the tuple");
1115:       return std::forward<const _Tp>(std::__get_helper<__idx>(__t));
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up, size_t __i, size_t __size>
1115:     struct __tuple_compare
1115:     {
1115:       static constexpr bool
1115:       __eq(const _Tp& __t, const _Up& __u)
1115:       {
1115:  return bool(std::get<__i>(__t) == std::get<__i>(__u))
1115:    && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
1115:       }
1115: 
1115:       static constexpr bool
1115:       __less(const _Tp& __t, const _Up& __u)
1115:       {
1115:  return bool(std::get<__i>(__t) < std::get<__i>(__u))
1115:    || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
1115:        && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
1115:       }
1115:     };
1115: 
1115:   template<typename _Tp, typename _Up, size_t __size>
1115:     struct __tuple_compare<_Tp, _Up, __size, __size>
1115:     {
1115:       static constexpr bool
1115:       __eq(const _Tp&, const _Up&) { return true; }
1115: 
1115:       static constexpr bool
1115:       __less(const _Tp&, const _Up&) { return false; }
1115:     };
1115: 
1115:   template<typename... _TElements, typename... _UElements>
1115:     constexpr bool
1115:     operator==(const tuple<_TElements...>& __t,
1115:         const tuple<_UElements...>& __u)
1115:     {
1115:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1115:    "tuple objects can only be compared if they have equal sizes.");
1115:       using __compare = __tuple_compare<tuple<_TElements...>,
1115:      tuple<_UElements...>,
1115:      0, sizeof...(_TElements)>;
1115:       return __compare::__eq(__t, __u);
1115:     }
1115: # 1536 "/usr/include/c++/12/tuple" 3
1115:   template<typename... _TElements, typename... _UElements>
1115:     constexpr bool
1115:     operator<(const tuple<_TElements...>& __t,
1115:        const tuple<_UElements...>& __u)
1115:     {
1115:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1115:    "tuple objects can only be compared if they have equal sizes.");
1115:       using __compare = __tuple_compare<tuple<_TElements...>,
1115:      tuple<_UElements...>,
1115:      0, sizeof...(_TElements)>;
1115:       return __compare::__less(__t, __u);
1115:     }
1115: 
1115:   template<typename... _TElements, typename... _UElements>
1115:     constexpr bool
1115:     operator!=(const tuple<_TElements...>& __t,
1115:         const tuple<_UElements...>& __u)
1115:     { return !(__t == __u); }
1115: 
1115:   template<typename... _TElements, typename... _UElements>
1115:     constexpr bool
1115:     operator>(const tuple<_TElements...>& __t,
1115:        const tuple<_UElements...>& __u)
1115:     { return __u < __t; }
1115: 
1115:   template<typename... _TElements, typename... _UElements>
1115:     constexpr bool
1115:     operator<=(const tuple<_TElements...>& __t,
1115:         const tuple<_UElements...>& __u)
1115:     { return !(__u < __t); }
1115: 
1115:   template<typename... _TElements, typename... _UElements>
1115:     constexpr bool
1115:     operator>=(const tuple<_TElements...>& __t,
1115:         const tuple<_UElements...>& __u)
1115:     { return !(__t < __u); }
1115: 
1115: 
1115: 
1115:   template<typename... _Elements>
1115:     constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
1115:     make_tuple(_Elements&&... __args)
1115:     {
1115:       typedef tuple<typename __decay_and_strip<_Elements>::__type...>
1115:  __result_type;
1115:       return __result_type(std::forward<_Elements>(__args)...);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename... _Elements>
1115:     constexpr tuypename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     reserve()
609:     {
609:       if (_M_is_local())
609:  return;
609: 
609:       const size_type __length = length();
609:       const size_type __capacity = _M_allocated_capacity;
609: 
609:       if (__length <= size_type(_S_local_capacity))
609:  {
609:    this->_S_copy(_M_use_local_data(), _M_data(), __length + 1);
609:    _M_destroy(__capacity);
609:    _M_data(_M_local_data());
609:  }
609: 
609:       else if (__length < __capacity)
609:  try
609:    {
609:      pointer __tmp
609:        = _Alloc_traits::allocate(_M_get_allocator(), __length + 1);
609:      this->_S_copy(__tmp, _M_data(), __length + 1);
609:      _M_dispose();
609:      _M_data(__tmp);
609:      _M_capacity(__length);
609:    }
609:  catch (const __cxxabiv1::__forced_unwind&)
609:    { throw; }
609:  catch (...)
609:    { }
609: 
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     void
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     resize(size_type __n, _CharT __c)
609:     {
609:       const size_type __size = this->size();
609:       if (__size < __n)
609:  this->append(__n - __size, __c);
609:       else if (__n < __size)
609:  this->_M_set_length(__n);
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     basic_string<_CharT, _Traits, _Alloc>&
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_append(const _CharT* __s, size_type __n)
609:     {
609:       const size_type __len = __n + this->size();
609: 
609:       if (__len <= this->capacity())
609:  {
609:    if (__n)
609:      this->_S_copy(this->_M_data() + this->size(), __s, __n);
609:  }
609:       else
609:  this->_M_mutate(this->size(), size_type(0), __s, __n);
609: 
609:       this->_M_set_length(__len);
609:       return *this;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     template<typename _InputIterator>
609:      
609:       basic_string<_CharT, _Traits, _Alloc>&
609:       basic_string<_CharT, _Traits, _Alloc>::
609:       _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
609:      _InputIterator __k1, _InputIterator __k2,
609:      std::__false_type)
609:       {
609: 
609: 
609:  const basic_string __s(__k1, __k2, this->get_allocator());
609:  const size_type __n1 = __i2 - __i1;
609:  return _M_replace(__i1 - begin(), __n1, __s._M_data(),
609:      __s.size());
609:       }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     basic_string<_CharT, _Traits, _Alloc>&
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
609:      _CharT __c)
609:     {
609:       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
609: 
609:       const size_type __old_size = this->size();
609:       const size_type __new_size = __old_size + __n2 - __n1;
609: 
609:       if (__new_size <= this->capacity())
609:  {
609:    pointer __p = this->_M_data() + __pos1;
609: 
609:    const size_type __how_much = __old_size - __pos1 - __n1;
609:    if (__how_much && __n1 != __n2)
609:      this->_S_move(__p + __n2, __p + __n1, __how_much);
609:  }
609:       else
609:  this->_M_mutate(__pos1, __n1, 0, __n2);
609: 
609:       if (__n2)
609:  this->_S_assign(this->_M_data() + __pos1, __n2, __c);
609: 
609:       this->_M_set_length(__new_size);
609:       return *this;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     basic_string<_CharT, _Traits, _Alloc>&
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
609:         const size_type __len2)
609:     {
609:       _M_check_length(__len1, __len2, "basic_string::_M_replace");
609: 
609:       const size_type __old_size = this->size();
609:       const size_type __new_size = __old_size + __len2 - __len1;
609: 
609:       if (__new_size <= this->capaciTp, size_t = sizeof(_Tp)>
1412:     constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
1412:     { return {}; }
1412: 
1412:   template <typename _TypeIdentity,
1412:       typename _NestedType = typename _TypeIdentity::type>
1412:     constexpr typename __or_<
1412:       is_reference<_NestedType>,
1412:       is_function<_NestedType>,
1412:       is_void<_NestedType>,
1412:       __is_array_unknown_bounds<_NestedType>
1412:     >::type __is_complete_or_unbounded(_TypeIdentity)
1412:     { return {}; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __success_type
1412:     { typedef _Tp type; };
1412: 
1412:   struct __failure_type
1412:   { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using __remove_cv_t = typename remove_cv<_Tp>::type;
1412: 
1412: 
1412: 
1412:   template<typename>
1412:     struct __is_void_helper
1412:     : public false_type { };
1412: 
1412:   template<>
1412:     struct __is_void_helper<void>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_void
1412:     : public __is_void_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename>
1412:     struct __is_integral_helper
1412:     : public false_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<bool>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<char>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<signed char>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<unsigned char>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct __is_integral_helper<wchar_t>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct __is_integral_helper<char16_t>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<char32_t>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<short>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<unsigned short>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<int>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<unsigned int>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<long>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<unsigned long>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<long long>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_integral_helper<unsigned long long>
1412:     : public true_type { };
1412: # 412 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Tp>
1412:     struct is_integral
1412:     : public __is_integral_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename>
1412:     struct __is_floating_point_helper
1412:     : public false_type { };
1412: 
1412:   template<>
1412:     struct __is_floating_point_helper<float>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_floating_point_helper<double>
1412:     : public true_type { };
1412: 
1412:   template<>
1412:     struct __is_floating_point_helper<long double>
1412:     : public true_type { };
1412: # 442 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Tp>
1412:     struct is_floating_point
1412:     : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename>
1412:     struct is_array
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp, std::size_t _Size>
1412:     struct is_array<_Tp[_Size]>
1412:     : public true_type { };
1412: 
1412ty())
609:  {
609:    pointer __p = this->_M_data() + __pos;
609: 
609:    const size_type __how_much = __old_size - __pos - __len1;
609: # 503 "/usr/include/c++/12/bits/basic_string.tcc" 3
609:    if (_M_disjunct(__s))
609:      {
609:        if (__how_much && __len1 != __len2)
609:   this->_S_move(__p + __len2, __p + __len1, __how_much);
609:        if (__len2)
609:   this->_S_copy(__p, __s, __len2);
609:      }
609:    else
609:      {
609: 
609:        if (__len2 && __len2 <= __len1)
609:   this->_S_move(__p, __s, __len2);
609:        if (__how_much && __len1 != __len2)
609:   this->_S_move(__p + __len2, __p + __len1, __how_much);
609:        if (__len2 > __len1)
609:   {
609:     if (__s + __len2 <= __p + __len1)
609:       this->_S_move(__p, __s, __len2);
609:     else if (__s >= __p + __len1)
609:       {
609: 
609: 
609:         const size_type __poff = (__s - __p) + (__len2 - __len1);
609:         this->_S_copy(__p, __p + __poff, __len2);
609:       }
609:     else
609:       {
609:         const size_type __nleft = (__p + __len1) - __s;
609:         this->_S_move(__p, __s, __nleft);
609:         this->_S_copy(__p + __nleft, __p + __len2,
609:         __len2 - __nleft);
609:       }
609:   }
609:      }
609:  }
609:       else
609:  this->_M_mutate(__pos, __len1, __s, __len2);
609: 
609:       this->_M_set_length(__new_size);
609:       return *this;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     copy(_CharT* __s, size_type __n, size_type __pos) const
609:     {
609:       _M_check(__pos, "basic_string::copy");
609:       __n = _M_limit(__pos, __n);
609:       ;
609:       if (__n)
609:  _S_copy(__s, _M_data() + __pos, __n);
609: 
609:       return __n;
609:     }
609: # 603 "/usr/include/c++/12/bits/basic_string.tcc" 3
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     basic_string<_CharT, _Traits, _Alloc>
609:     operator+(const _CharT* __lhs,
609:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     {
609:       ;
609:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
609:       typedef typename __string_type::size_type __size_type;
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<_CharT>::other _Char_alloc_type;
609:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
609:       const __size_type __len = _Traits::length(__lhs);
609:       __string_type __str(_Alloc_traits::_S_select_on_copy(
609:           __rhs.get_allocator()));
609:       __str.reserve(__len + __rhs.size());
609:       __str.append(__lhs, __len);
609:       __str.append(__rhs);
609:       return __str;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     basic_string<_CharT, _Traits, _Alloc>
609:     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
609:     {
609:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
609:       typedef typename __string_type::size_type __size_type;
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<_CharT>::other _Char_alloc_type;
609:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
609:       __string_type __str(_Alloc_traits::_S_select_on_copy(
609:           __rhs.get_allocator()));
609:       const __size_type __len = __rhs.size();
609:       __str.reserve(__len + 1);
609:       __str.append(__size_type(1), __lhs);
609:       __str.append(__rhs);
609:       return __str;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find(const _CharT* __s, size_type __pos, size_type __n) const
609:     noexcept
609:     {
609:       ;
609:       const size_type __size = this->size();
609: 
609:       if (__n ==ple<_Elements&&...>
1115:     forward_as_tuple(_Elements&&... __args) noexcept
1115:     { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm> struct array;
1115: 
1115:   template<size_t _Int, typename _Tp, size_t _Nm>
1115:     constexpr _Tp&
1115:     get(array<_Tp, _Nm>&) noexcept;
1115: 
1115:   template<size_t _Int, typename _Tp, size_t _Nm>
1115:     constexpr _Tp&&
1115:     get(array<_Tp, _Nm>&&) noexcept;
1115: 
1115:   template<size_t _Int, typename _Tp, size_t _Nm>
1115:     constexpr const _Tp&
1115:     get(const array<_Tp, _Nm>&) noexcept;
1115: 
1115:   template<size_t _Int, typename _Tp, size_t _Nm>
1115:     constexpr const _Tp&&
1115:     get(const array<_Tp, _Nm>&&) noexcept;
1115: 
1115: 
1115:   template<size_t, typename, typename, size_t>
1115:     struct __make_tuple_impl;
1115: 
1115:   template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
1115:     struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
1115:     : __make_tuple_impl<_Idx + 1,
1115:    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
1115:    _Tuple, _Nm>
1115:     { };
1115: 
1115:   template<size_t _Nm, typename _Tuple, typename... _Tp>
1115:     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
1115:     {
1115:       typedef tuple<_Tp...> __type;
1115:     };
1115: 
1115:   template<typename _Tuple>
1115:     struct __do_make_tuple
1115:     : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tuple>
1115:     struct __make_tuple
1115:     : public __do_make_tuple<__remove_cvref_t<_Tuple>>
1115:     { };
1115: 
1115: 
1115:   template<typename...>
1115:     struct __combine_tuples;
1115: 
1115:   template<>
1115:     struct __combine_tuples<>
1115:     {
1115:       typedef tuple<> __type;
1115:     };
1115: 
1115:   template<typename... _Ts>
1115:     struct __combine_tuples<tuple<_Ts...>>
1115:     {
1115:       typedef tuple<_Ts...> __type;
1115:     };
1115: 
1115:   template<typename... _T1s, typename... _T2s, typename... _Rem>
1115:     struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
1115:     {
1115:       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
1115:      _Rem...>::__type __type;
1115:     };
1115: 
1115: 
1115:   template<typename... _Tpls>
1115:     struct __tuple_cat_result
1115:     {
1115:       typedef typename __combine_tuples
1115:         <typename __make_tuple<_Tpls>::__type...>::__type __type;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename...>
1115:     struct __make_1st_indices;
1115: 
1115:   template<>
1115:     struct __make_1st_indices<>
1115:     {
1115:       typedef _Index_tuple<> __type;
1115:     };
1115: 
1115:   template<typename _Tp, typename... _Tpls>
1115:     struct __make_1st_indices<_Tp, _Tpls...>
1115:     {
1115:       typedef typename _Build_index_tuple<tuple_size<
1115:  typename remove_reference<_Tp>::type>::value>::__type __type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Ret, typename _Indices, typename... _Tpls>
1115:     struct __tuple_concater;
1115: 
1115:   template<typename _Ret, size_t... _Is, typename _Tp, typename... _Tpls>
1115:     struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...>
1115:     {
1115:       template<typename... _Us>
1115:         static constexpr _Ret
1115:         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
1115:         {
1115:    typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1115:    typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
1115:    return __next::_S_do(std::forward<_Tpls>(__tps)...,
1115:           std::forward<_Us>(__us)...,
1115:           std::get<_Is>(std::forward<_Tp>(__tp))...);
1115:  }
1115:     };
1115: 
1115:   template<typename _Ret>
1115:     struct __tuple_concater<_Ret, _Index_tuple<>>
1115:     {
1115:       template<typename... _Us>
1115:  static constexpr _Ret
1115:  _S_do(_Us&&... __us)
1115:         {
1115:    return _Ret(std::forwa 0)
609:  return __pos <= __size ? __pos : npos;
609:       if (__pos >= __size)
609:  return npos;
609: 
609:       const _CharT __elem0 = __s[0];
609:       const _CharT* const __data = data();
609:       const _CharT* __first = __data + __pos;
609:       const _CharT* const __last = __data + __size;
609:       size_type __len = __size - __pos;
609: 
609:       while (__len >= __n)
609:  {
609: 
609:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
609:    if (!__first)
609:      return npos;
609: 
609: 
609: 
609:    if (traits_type::compare(__first, __s, __n) == 0)
609:      return __first - __data;
609:    __len = __last - ++__first;
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find(_CharT __c, size_type __pos) const noexcept
609:     {
609:       size_type __ret = npos;
609:       const size_type __size = this->size();
609:       if (__pos < __size)
609:  {
609:    const _CharT* __data = _M_data();
609:    const size_type __n = __size - __pos;
609:    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
609:    if (__p)
609:      __ret = __p - __data;
609:  }
609:       return __ret;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     rfind(const _CharT* __s, size_type __pos, size_type __n) const
609:     noexcept
609:     {
609:       ;
609:       const size_type __size = this->size();
609:       if (__n <= __size)
609:  {
609:    __pos = std::min(size_type(__size - __n), __pos);
609:    const _CharT* __data = _M_data();
609:    do
609:      {
609:        if (traits_type::compare(__data + __pos, __s, __n) == 0)
609:   return __pos;
609:      }
609:    while (__pos-- > 0);
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     rfind(_CharT __c, size_type __pos) const noexcept
609:     {
609:       size_type __size = this->size();
609:       if (__size)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    for (++__size; __size-- > 0; )
609:      if (traits_type::eq(_M_data()[__size], __c))
609:        return __size;
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
609:     noexcept
609:     {
609:       ;
609:       for (; __n && __pos < this->size(); ++__pos)
609:  {
609:    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
609:    if (__p)
609:      return __pos;
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
609:     noexcept
609:     {
609:       ;
609:       size_type __size = this->size();
609:       if (__size && __n)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    do
609:      {
609:        if (traits_type::find(__s, __n, _M_data()[__size]))
609:   return __size;
609:      }
609:    while (__size-- != 0);
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
:   template<typename _Tp>
1412:     struct is_array<_Tp[]>
1412:     : public true_type { };
1412: 
1412:   template<typename>
1412:     struct __is_pointer_helper
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_pointer_helper<_Tp*>
1412:     : public true_type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_pointer
1412:     : public __is_pointer_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename>
1412:     struct is_lvalue_reference
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct is_lvalue_reference<_Tp&>
1412:     : public true_type { };
1412: 
1412: 
1412:   template<typename>
1412:     struct is_rvalue_reference
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct is_rvalue_reference<_Tp&&>
1412:     : public true_type { };
1412: 
1412:   template<typename>
1412:     struct __is_member_object_pointer_helper
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp, typename _Cp>
1412:     struct __is_member_object_pointer_helper<_Tp _Cp::*>
1412:     : public __not_<is_function<_Tp>>::type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_member_object_pointer
1412:     : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412:   template<typename>
1412:     struct __is_member_function_pointer_helper
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp, typename _Cp>
1412:     struct __is_member_function_pointer_helper<_Tp _Cp::*>
1412:     : public is_function<_Tp>::type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_member_function_pointer
1412:     : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_enum
1412:     : public integral_constant<bool, __is_enum(_Tp)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_union
1412:     : public integral_constant<bool, __is_union(_Tp)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_class
1412:     : public integral_constant<bool, __is_class(_Tp)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_function
1412:     : public __bool_constant<!is_const<const _Tp>::value> { };
1412: 
1412:   template<typename _Tp>
1412:     struct is_function<_Tp&>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct is_function<_Tp&&>
1412:     : public false_type { };
1412: 
1412: 
1412: 
1412:   template<typename>
1412:     struct __is_null_pointer_helper
1412:     : public false_type { };
1412: 
1412:   template<>
1412:     struct __is_null_pointer_helper<std::nullptr_t>
1412:     : public true_type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_null_pointer
1412:     : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nullptr_t
1412:     : public is_null_pointer<_Tp>
1412:     { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_reference
1412:     : public __or_<is_lvalue_reference<_Tp>,
1412:                    is_rvalue_reference<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_arithmetic
1412:     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_fundamental
1412:     : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
1412:      is_null_pointer<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_object
1412:     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
1412:                           is_void<_Tp>>>::type
1412:     { };
1412: 
1412:   template<typename>
1412:     struct is_member_pointer;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_scalar
1412:     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
1412:                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_compound
1412:     : public __not_<is_fundamental<_Tp>>::type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_member_pointer_helper
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp, typename _Cp>
1412:     struct __is_member_pointer_helper<_Tp _Cp::*>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_member_pointer
1412:     : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type
1412:     { };
1412: 
1412:   template<typename, typename>
1412:     struct is_same;
1412: 
1412: 
1412:   template<typename _Tp, typename... _Types>
1412:     using __is_one_of = __or_<is_same<_Tp, _Types>...>;
1412: 
1412: 
1412:   __extension__
1412:   template<typename _Tp>
1412:     using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
1412:    signed char, signed short, signed int, signed long,
1412:    signed long long
1412: # 659 "/usr/include/c++/12/type_traits" 3
1412:    >;
1412: 
1412: 
1412:   __extension__
1412:   template<typename _Tp>
1412:     using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
1412:    unsigned char, unsigned short, unsigned int, unsigned long,
1412:    unsigned long long
1412: # 679 "/usr/include/c++/12/type_traits" 3
1412:    >;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using __is_standard_integer
1412:       = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
1412: 
1412: 
1412:   template<typename...> using __void_t = void;
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename = void>
1412:     struct __is_referenceable
1412:     : public false_type
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_referenceable<_Tp, __void_t<_Tp&>>
1412:     : public true_type
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename>
1412:     struct is_const
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct is_const<_Tp const>
1412:     : public true_type { };
1412: 
1412: 
1412:   template<typename>
1412:     struct is_volatile
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct is_volatile<_Tp volatile>
1412:     : public true_type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivial
1412:     : public integral_constant<bool, __is_trivial(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivially_copyable
1412:     : public integral_constant<bool, __is_trivially_copyable(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_standard_layout
1412:     : public integral_constant<bool, __is_standard_layout(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct
1412:    
1412:     is_pod
1412:     : public integral_constant<bool, __is_pod(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct
1412:     [[__deprecated__]]
1412:     is_literal_type
1412:     : pu609:     noexcept
609:     {
609:       ;
609:       for (; __pos < this->size(); ++__pos)
609:  if (!traits_type::find(__s, __n, _M_data()[__pos]))
609:    return __pos;
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
609:     {
609:       for (; __pos < this->size(); ++__pos)
609:  if (!traits_type::eq(_M_data()[__pos], __c))
609:    return __pos;
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
609:     noexcept
609:     {
609:       ;
609:       size_type __size = this->size();
609:       if (__size)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    do
609:      {
609:        if (!traits_type::find(__s, __n, _M_data()[__size]))
609:   return __size;
609:      }
609:    while (__size--);
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
609:     {
609:       size_type __size = this->size();
609:       if (__size)
609:  {
609:    if (--__size > __pos)
609:      __size = __pos;
609:    do
609:      {
609:        if (!traits_type::eq(_M_data()[__size], __c))
609:   return __size;
609:      }
609:    while (__size--);
609:  }
609:       return npos;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     int
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     compare(size_type __pos, size_type __n, const basic_string& __str) const
609:     {
609:       _M_check(__pos, "basic_string::compare");
609:       __n = _M_limit(__pos, __n);
609:       const size_type __osize = __str.size();
609:       const size_type __len = std::min(__n, __osize);
609:       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
609:       if (!__r)
609:  __r = _S_compare(__n, __osize);
609:       return __r;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     int
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     compare(size_type __pos1, size_type __n1, const basic_string& __str,
609:      size_type __pos2, size_type __n2) const
609:     {
609:       _M_check(__pos1, "basic_string::compare");
609:       __str._M_check(__pos2, "basic_string::compare");
609:       __n1 = _M_limit(__pos1, __n1);
609:       __n2 = __str._M_limit(__pos2, __n2);
609:       const size_type __len = std::min(__n1, __n2);
609:       int __r = traits_type::compare(_M_data() + __pos1,
609:          __str.data() + __pos2, __len);
609:       if (!__r)
609:  __r = _S_compare(__n1, __n2);
609:       return __r;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     int
609:     basic_string<_CharT, _Traits, _Alloc>::
609:     compare(const _CharT* __s) const noexcept
609:     {
609:       ;
609:       const size_type __size = this->size();
609:       const size_type __osize = traits_type::length(__s);
609:       const size_type __len = std::min(__size, __osize);
609:       int __r = traits_type::compare(_M_data(), __s, __len);
609:       if (!__r)
609:  __r = _S_compare(__size, __osize);
609:       return __r;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     int
609:     basic_string <_CharT, _Traits, _Alloc>::
609:     compare(size_type __pos, size_type __n1, const _CharT* __s) const
609:     {
609:       ;
609:       _M_check(__pos, "basic_string::compare"rd<_Us>(__us)...);
1115:  }
1115:     };
1115: 
1115:   template<typename... _Tps>
1115:     struct __is_tuple_like_impl<tuple<_Tps...>> : true_type
1115:     { };
1115: 
1115: 
1115:   template<typename... _Tpls, typename = typename
1115:            enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
1115:     constexpr auto
1115:     tuple_cat(_Tpls&&... __tpls)
1115:     -> typename __tuple_cat_result<_Tpls...>::__type
1115:     {
1115:       typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
1115:       typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1115:       typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
1115:       return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename... _Elements>
1115:     constexpr tuple<_Elements&...>
1115:     tie(_Elements&... __args) noexcept
1115:     { return tuple<_Elements&...>(__args...); }
1115: 
1115: 
1115:   template<typename... _Elements>
1115:    
1115:     inline
1115: 
1115: 
1115:     typename enable_if<__and_<__is_swappable<_Elements>...>::value
1115:       >::type
1115: 
1115: 
1115: 
1115:     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   template<typename... _Elements>
1115:    
1115:     typename enable_if<!__and_<__is_swappable<_Elements>...>::value>::type
1115:     swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   struct _Swallow_assign
1115:   {
1115:     template<class _Tp>
1115:       constexpr const _Swallow_assign&
1115:       operator=(const _Tp&) const
1115:       { return *this; }
1115:   };
1115: 
1115: 
1115: 
1115:   inline constexpr _Swallow_assign ignore{};
1115: 
1115: 
1115:   template<typename... _Types, typename _Alloc>
1115:     struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
1115: # 1798 "/usr/include/c++/12/tuple" 3
1115:   template<class _T1, class _T2>
1115:     template<typename... _Args1, typename... _Args2>
1115:      
1115:       inline
1115:       pair<_T1, _T2>::
1115:       pair(piecewise_construct_t,
1115:     tuple<_Args1...> __first, tuple<_Args2...> __second)
1115:       : pair(__first, __second,
1115:       typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
1115:       typename _Build_index_tuple<sizeof...(_Args2)>::__type())
1115:       { }
1115: 
1115:   template<class _T1, class _T2>
1115:     template<typename... _Args1, size_t... _Indexes1,
1115:       typename... _Args2, size_t... _Indexes2>
1115:       inline
1115:       pair<_T1, _T2>::
1115:       pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
1115:     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
1115:       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
1115:  second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<template<typename...> class _Trait, typename _Tp, typename _Tuple>
1115:     inline constexpr bool __unpack_std_tuple = false;
1115: 
1115:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1115:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>>
1115:       = _Trait<_Tp, _Up...>::value;
1115: 
1115:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1115:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&>
1115:       = _Trait<_Tp, _Up&...>::value;
1115: 
1115:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1115:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>>
1115:       = _Trait<_Tp, const _Up...>::value;
1115: 
1115:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1115:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&>
1115:       = _Trait<_Tp, const _Up&...>::value;
1115: 
1115: 
1115: 
1115:   template <typename _blic integral_constant<bool, __is_literal_type(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_empty
1412:     : public integral_constant<bool, __is_empty(_Tp)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_polymorphic
1412:     : public integral_constant<bool, __is_polymorphic(_Tp)>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_final
1412:     : public integral_constant<bool, __is_final(_Tp)>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_abstract
1412:     : public integral_constant<bool, __is_abstract(_Tp)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp,
1412:     bool = is_arithmetic<_Tp>::value>
1412:     struct __is_signed_helper
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_signed_helper<_Tp, true>
1412:     : public integral_constant<bool, _Tp(-1) < _Tp(0)>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_signed
1412:     : public __is_signed_helper<_Tp>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_unsigned
1412:     : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp, typename _Up = _Tp&&>
1412:     _Up
1412:     __declval(int);
1412: 
1412:   template<typename _Tp>
1412:     _Tp
1412:     __declval(long);
1412: 
1412: 
1412:   template<typename _Tp>
1412:     auto declval() noexcept -> decltype(__declval<_Tp>(0));
1412: 
1412:   template<typename, unsigned = 0>
1412:     struct extent;
1412: 
1412:   template<typename>
1412:     struct remove_all_extents;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_array_known_bounds
1412:     : public integral_constant<bool, (extent<_Tp>::value > 0)>
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_array_unknown_bounds
1412:     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
1412:     { };
1412: # 867 "/usr/include/c++/12/type_traits" 3
1412:   struct __do_is_destructible_impl
1412:   {
1412:     template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
1412:       static true_type __test(int);
1412: 
1412:     template<typename>
1412:       static false_type __test(...);
1412:   };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_destructible_impl
1412:     : public __do_is_destructible_impl
1412:     {
1412:       typedef decltype(__test<_Tp>(0)) type;
1412:     };
1412: 
1412:   template<typename _Tp,
1412:            bool = __or_<is_void<_Tp>,
1412:                         __is_array_unknown_bounds<_Tp>,
1412:                         is_function<_Tp>>::value,
1412:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1412:     struct __is_destructible_safe;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_destructible_safe<_Tp, false, false>
1412:     : public __is_destructible_impl<typename
1412:                remove_all_extents<_Tp>::type>::type
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_destructible_safe<_Tp, true, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_destructible_safe<_Tp, false, true>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_destructible
1412:     : public __is_destructible_safe<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   struct __do_is_nt_destructible_impl
1412:   {
1412:     template<typename _Tp>
1412:       static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
1412: );
609:       __n1 = _M_limit(__pos, __n1);
609:       const size_type __osize = traits_type::length(__s);
609:       const size_type __len = std::min(__n1, __osize);
609:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
609:       if (!__r)
609:  __r = _S_compare(__n1, __osize);
609:       return __r;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:    
609:     int
609:     basic_string <_CharT, _Traits, _Alloc>::
609:     compare(size_type __pos, size_type __n1, const _CharT* __s,
609:      size_type __n2) const
609:     {
609:       ;
609:       _M_check(__pos, "basic_string::compare");
609:       __n1 = _M_limit(__pos, __n1);
609:       const size_type __len = std::min(__n1, __n2);
609:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
609:       if (!__r)
609:  __r = _S_compare(__n1, __n2);
609:       return __r;
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     basic_istream<_CharT, _Traits>&
609:     operator>>(basic_istream<_CharT, _Traits>& __in,
609:         basic_string<_CharT, _Traits, _Alloc>& __str)
609:     {
609:       typedef basic_istream<_CharT, _Traits> __istream_type;
609:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
609:       typedef typename __istream_type::ios_base __ios_base;
609:       typedef typename __istream_type::int_type __int_type;
609:       typedef typename __string_type::size_type __size_type;
609:       typedef ctype<_CharT> __ctype_type;
609:       typedef typename __ctype_type::ctype_base __ctype_base;
609: 
609:       __size_type __extracted = 0;
609:       typename __ios_base::iostate __err = __ios_base::goodbit;
609:       typename __istream_type::sentry __cerb(__in, false);
609:       if (__cerb)
609:  {
609:    try
609:      {
609: 
609:        __str.erase();
609:        _CharT __buf[128];
609:        __size_type __len = 0;
609:        const streamsize __w = __in.width();
609:        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
609:                                 : __str.max_size();
609:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
609:        const __int_type __eof = _Traits::eof();
609:        __int_type __c = __in.rdbuf()->sgetc();
609: 
609:        while (__extracted < __n
609:        && !_Traits::eq_int_type(__c, __eof)
609:        && !__ct.is(__ctype_base::space,
609:      _Traits::to_char_type(__c)))
609:   {
609:     if (__len == sizeof(__buf) / sizeof(_CharT))
609:       {
609:         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
609:         __len = 0;
609:       }
609:     __buf[__len++] = _Traits::to_char_type(__c);
609:     ++__extracted;
609:     __c = __in.rdbuf()->snextc();
609:   }
609:        __str.append(__buf, __len);
609: 
609:        if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
609:   __err |= __ios_base::eofbit;
609:        __in.width(0);
609:      }
609:    catch(__cxxabiv1::__forced_unwind&)
609:      {
609:        __in._M_setstate(__ios_base::badbit);
609:        throw;
609:      }
609:    catch(...)
609:      {
609: 
609: 
609: 
609:        __in._M_setstate(__ios_base::badbit);
609:      }
609:  }
609: 
609:       if (!__extracted)
609:  __err |= __ios_base::failbit;
609:       if (__err)
609:  __in.setstate(__err);
609:       return __in;
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     basic_istream<_CharT, _Traits>&
609:     getline(basic_istream<_CharT, _Traits>& __in,
609:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
609:     {
609:       typedef basic_istream<_CharT, _Traits> __istream_type;
609:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
609:       typedef typename __istream_type::ios_base __ios_base;
609:       typedef typename __istream_type::int_type __int_type;
609:       typedef typename __string_type::size_type __size_type;
609: 
609:       __size_type __extracted = 0;
609:       const __size_type __n = __str.max_size();
609:       typename __ios_base::iostate __err = __ios_base::goodbit;
609:       typename __istream_type::sentry __cerb(__in, true);
609:       if (__cerb)
609:  {
609:    try
609:      {
609:        __str.erase();
609:        const __int_type __idelim = _Traits::to_int_type(__delim);
609:        const __int_type __eof = _Traits::eof();
609:        __int_type __c = __in.rdbuf()->sgetc();
609: 
609:        while (__extracted < __n
609:        && !_Traits::eq_int_type(__c, __eof)
609:        && !_Traits::eq_int_type(__c, __idelim))
609:   {
609:     __str += _Traits::to_char_type(__c);
609:     ++__extracted;
609:     __c = __in.rdbuf()->snextc();
609:   }
609: 
609:        if (_Traits::eq_int_type(__c, __eof))
609:   __err |= __ios_base::eofbit;
609:        else if (_Traits::eq_int_type(__c, __idelim))
609:   {
609:     ++__extracted;
609:     __in.rdbuf()->sbumpc();
609:   }
609:        else
609:   __err |= __ios_base::failbit;
609:      }
609:    catch(__cxxabiv1::__forced_unwind&)
609:      {
609:        __in._M_setstate(__ios_base::badbit);
609:        throw;
609:      }
609:    catch(...)
609:      {
609: 
609: 
609: 
609:        __in._M_setstate(__ios_base::badbit);
609:      }
609:  }
609:       if (!__extracted)
609:  __err |= __ios_base::failbit;
609:       if (__err)
609:  __in.setstate(__err);
609:       return __in;
609:     }
609: # 1082 "/usr/include/c++/12/bits/basic_string.tcc" 3
609:   extern template class basic_string<char>;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   extern template
609:     basic_istream<char>&
609:     operator>>(basic_istream<char>&, string&);
609:   extern template
609:     basic_ostream<char>&
609:     operator<<(basic_ostream<char>&, const string&);
609:   extern template
609:     basic_istream<char>&
609:     getline(basic_istream<char>&, string&, char);
609:   extern template
609:     basic_istream<char>&
609:     getline(basic_istream<char>&, string&);
609: 
609: 
609: 
609:   extern template class basic_string<wchar_t>;
609: 
609: 
609: 
609: 
609: 
609:   extern template
609:     basic_istream<wchar_t>&
609:     operator>>(basic_istream<wchar_t>&, wstring&);
609:   extern template
609:     basic_ostream<wchar_t>&
609:     operator<<(basic_ostream<wchar_t>&, const wstring&);
609:   extern template
609:     basic_istream<wchar_t>&
609:     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
609:   extern template
609:     basic_istream<wchar_t>&
609:     getline(basic_istream<wchar_t>&, wstring&);
609: 
609: 
609: 
609: 
609: }
609: # 55 "/usr/include/c++/12/string" 2 3
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609:   namespace pmr {
609:     template<typename _Tp> class polymorphic_allocator;
609:     template<typename _CharT, typename _Traits = char_traits<_CharT>>
609:       using basic_string = std::basic_string<_CharT, _Traits,
609:           polymorphic_allocator<_CharT>>;
609:     using string = basic_string<char>;
609: 
609: 
609: 
609:     using u16string = basic_string<char16_t>;
609:     using u32string = basic_string<char32_t>;
609:     using wstring = basic_string<wchar_t>;
609:   }
609: 
609:   template<typename _Str>
609:     struct __hash_string_base
609:     : public __hash_base<size_t, _Str>
609:     {
609:       size_t
609:       operator()(const _Str& __s) const noexcept
609:       { return hash<basic_string_view<typename _Str::value_type>>{}(__s); }
609:     };
609: 
609:   template<>
609:     struct hash<pmr::string>
609:     : public __hash_string_base<pmr::string>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct hash<pmr::u16string>
609:     : public __hash_string_base<pmr::u16string>
609:     { };
609:   template<>
609:     struct hash<pmr::u32string>
609:     : public __hash_string_base<pmr::u32string>
609:     { };
609:   template<>
609:     struct hash<pmr::wstring>
609:     : public __hash_string_base<pmr::wstring>
609:     { };
609: 
609: 
609: }
609: # 40 "/usr/include/c++/12/stdexcept" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default"Fn, typename _Tuple, size_t... _Idx>
1115:     constexpr decltype(auto)
1115:     __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>)
1115:     {
1115:       return std::__invoke(std::forward<_Fn>(__f),
1115:       std::get<_Idx>(std::forward<_Tuple>(__t))...);
1115:     }
1115: 
1115:   template <typename _Fn, typename _Tuple>
1115:     constexpr decltype(auto)
1115:     apply(_Fn&& __f, _Tuple&& __t)
1115:     noexcept(__unpack_std_tuple<is_nothrow_invocable, _Fn, _Tuple>)
1115:     {
1115:       using _Indices
1115:  = make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>;
1115:       return std::__apply_impl(std::forward<_Fn>(__f),
1115:           std::forward<_Tuple>(__t),
1115:           _Indices{});
1115:     }
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename _Tuple, size_t... _Idx>
1115:     constexpr _Tp
1115:     __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>)
1115:     { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); }
1115: 
1115:   template <typename _Tp, typename _Tuple>
1115:     constexpr _Tp
1115:     make_from_tuple(_Tuple&& __t)
1115:     noexcept(__unpack_std_tuple<is_nothrow_constructible, _Tp, _Tuple>)
1115:     {
1115:       return __make_from_tuple_impl<_Tp>(
1115:         std::forward<_Tuple>(__t),
1115:  make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>{});
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 37 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_function.h" 1 3
1115: # 63 "/usr/include/c++/12/bits/stl_function.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 116 "/usr/include/c++/12/bits/stl_function.h" 3
1115:   template<typename _Arg, typename _Result>
1115:     struct unary_function
1115:     {
1115: 
1115:       typedef _Arg argument_type;
1115: 
1115: 
1115:       typedef _Result result_type;
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Arg1, typename _Arg2, typename _Result>
1115:     struct binary_function
1115:     {
1115: 
1115:       typedef _Arg1 first_argument_type;
1115: 
1115: 
1115:       typedef _Arg2 second_argument_type;
1115: 
1115: 
1115:       typedef _Result result_type;
1115:     } __attribute__ ((__deprecated__));
1115: # 157 "/usr/include/c++/12/bits/stl_function.h" 3
1115:   struct __is_transparent;
1115: 
1115:   template<typename _Tp = void>
1115:     struct plus;
1115: 
1115:   template<typename _Tp = void>
1115:     struct minus;
1115: 
1115:   template<typename _Tp = void>
1115:     struct multiplies;
1115: 
1115:   template<typename _Tp = void>
1115:     struct divides;
1115: 
1115:   template<typename _Tp = void>
1115:     struct modulus;
1115: 
1115:   template<typename _Tp = void>
1115:     struct negate;
1115: 
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct plus : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115: 
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x + __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct minus : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x - __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x * __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct divides : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x / __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115: )))
609: {
609: 
609: 
609: 
609: 
609: 
609:   struct __cow_string
609:   {
609:     union {
609:       const char* _M_p;
609:       char _M_bytes[sizeof(const char*)];
609:     };
609: 
609:     __cow_string();
609:     __cow_string(const std::string&);
609:     __cow_string(const char*, size_t);
609:     __cow_string(const __cow_string&) noexcept;
609:     __cow_string& operator=(const __cow_string&) noexcept;
609:     ~__cow_string();
609: 
609:     __cow_string(__cow_string&&) noexcept;
609:     __cow_string& operator=(__cow_string&&) noexcept;
609: 
609:   };
609: 
609:   typedef basic_string<char> __sso_string;
609: # 113 "/usr/include/c++/12/stdexcept" 3
609:   class logic_error : public exception
609:   {
609:     __cow_string _M_msg;
609: 
609:   public:
609: 
609:     explicit
609:     logic_error(const string& __arg) ;
609: 
609: 
609:     explicit
609:     logic_error(const char*) ;
609: 
609:     logic_error(logic_error&&) noexcept;
609:     logic_error& operator=(logic_error&&) noexcept;
609: 
609: 
609: 
609:     logic_error(const logic_error&) noexcept;
609:     logic_error& operator=(const logic_error&) noexcept;
609: 
609: 
609: 
609: 
609: 
609:     virtual ~logic_error() noexcept;
609: 
609: 
609: 
609:     virtual const char*
609:     what() const noexcept;
609: 
609: 
609: 
609: 
609: 
609:   };
609: 
609: 
609: 
609:   class domain_error : public logic_error
609:   {
609:   public:
609:     explicit domain_error(const string& __arg) ;
609: 
609:     explicit domain_error(const char*) ;
609:     domain_error(const domain_error&) = default;
609:     domain_error& operator=(const domain_error&) = default;
609:     domain_error(domain_error&&) = default;
609:     domain_error& operator=(domain_error&&) = default;
609: 
609:     virtual ~domain_error() noexcept;
609:   };
609: 
609: 
609:   class invalid_argument : public logic_error
609:   {
609:   public:
609:     explicit invalid_argument(const string& __arg) ;
609: 
609:     explicit invalid_argument(const char*) ;
609:     invalid_argument(const invalid_argument&) = default;
609:     invalid_argument& operator=(const invalid_argument&) = default;
609:     invalid_argument(invalid_argument&&) = default;
609:     invalid_argument& operator=(invalid_argument&&) = default;
609: 
609:     virtual ~invalid_argument() noexcept;
609:   };
609: 
609: 
609: 
609:   class length_error : public logic_error
609:   {
609:   public:
609:     explicit length_error(const string& __arg) ;
609: 
609:     explicit length_error(const char*) ;
609:     length_error(const length_error&) = default;
609:     length_error& operator=(const length_error&) = default;
609:     length_error(length_error&&) = default;
609:     length_error& operator=(length_error&&) = default;
609: 
609:     virtual ~length_error() noexcept;
609:   };
609: 
609: 
609: 
609:   class out_of_range : public logic_error
609:   {
609:   public:
609:     explicit out_of_range(const string& __arg) ;
609: 
609:     explicit out_of_range(const char*) ;
609:     out_of_range(const out_of_range&) = default;
609:     out_of_range& operator=(const out_of_range&) = default;
609:     out_of_range(out_of_range&&) = default;
609:     out_of_range& operator=(out_of_range&&) = default;
609: 
609:     virtual ~out_of_range() noexcept;
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609:   class runtime_error : public exception
609:   {
609:     __cow_string _M_msg;
609: 
609:   public:
609: 
609:     explicit
609:     runtime_error(const string& __arg) ;
609: 
609: 
609:     explicit
609:     runtime_error(const char*) ;
609: 
609:     runtime_error(runtime_error&&) noexcept;
609:     runtime_error& operator=(runtime_error&&) noexcept;
609: 
609: 
609: 
609:     runtime_error(const runtime_error&) noexcept;
609:     runtime_error& operator=(const runtime_error&) noexcept;
609: 
609: 
609: 
609: 
609: 
609:     virtual ~runtime_error() noexcept;
609: 
609: 
609: 
609:     virtual const char*
609:     what() const noexcept;
609: 
609: 
609: 
609: 
609: 
609:   };
609: 
609: 
609:   class range_error : public runtime_err      __test(int);
1412: 
1412:     template<typename>
1412:       static false_type __test(...);
1412:   };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_destructible_impl
1412:     : public __do_is_nt_destructible_impl
1412:     {
1412:       typedef decltype(__test<_Tp>(0)) type;
1412:     };
1412: 
1412:   template<typename _Tp,
1412:            bool = __or_<is_void<_Tp>,
1412:                         __is_array_unknown_bounds<_Tp>,
1412:                         is_function<_Tp>>::value,
1412:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1412:     struct __is_nt_destructible_safe;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_destructible_safe<_Tp, false, false>
1412:     : public __is_nt_destructible_impl<typename
1412:                remove_all_extents<_Tp>::type>::type
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_destructible_safe<_Tp, true, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_destructible_safe<_Tp, false, true>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_nothrow_destructible
1412:     : public __is_nt_destructible_safe<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename... _Args>
1412:     struct __is_constructible_impl
1412:     : public __bool_constant<__is_constructible(_Tp, _Args...)>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename... _Args>
1412:     struct is_constructible
1412:       : public __is_constructible_impl<_Tp, _Args...>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_default_constructible
1412:     : public __is_constructible_impl<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_copy_constructible_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_copy_constructible_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_copy_constructible_impl<_Tp, true>
1412:     : public __is_constructible_impl<_Tp, const _Tp&>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_copy_constructible
1412:     : public __is_copy_constructible_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_move_constructible_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_move_constructible_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_move_constructible_impl<_Tp, true>
1412:     : public __is_constructible_impl<_Tp, _Tp&&>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_move_constructible
1412:     : public __is_move_constructible_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename... _Args>
1412:     using __is_nothrow_constructible_impl
1412:       = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename... _Args>
14or
609:   {
609:   public:
609:     explicit range_error(const string& __arg) ;
609: 
609:     explicit range_error(const char*) ;
609:     range_error(const range_error&) = default;
609:     range_error& operator=(const range_error&) = default;
609:     range_error(range_error&&) = default;
609:     range_error& operator=(range_error&&) = default;
609: 
609:     virtual ~range_error() noexcept;
609:   };
609: 
609: 
609:   class overflow_error : public runtime_error
609:   {
609:   public:
609:     explicit overflow_error(const string& __arg) ;
609: 
609:     explicit overflow_error(const char*) ;
609:     overflow_error(const overflow_error&) = default;
609:     overflow_error& operator=(const overflow_error&) = default;
609:     overflow_error(overflow_error&&) = default;
609:     overflow_error& operator=(overflow_error&&) = default;
609: 
609:     virtual ~overflow_error() noexcept;
609:   };
609: 
609: 
609:   class underflow_error : public runtime_error
609:   {
609:   public:
609:     explicit underflow_error(const string& __arg) ;
609: 
609:     explicit underflow_error(const char*) ;
609:     underflow_error(const underflow_error&) = default;
609:     underflow_error& operator=(const underflow_error&) = default;
609:     underflow_error(underflow_error&&) = default;
609:     underflow_error& operator=(underflow_error&&) = default;
609: 
609:     virtual ~underflow_error() noexcept;
609:   };
609: 
609: 
609: 
609: 
609: }
609: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 2
609: # 1 "/usr/include/c++/12/vector" 1 3
609: # 58 "/usr/include/c++/12/vector" 3
609:        
609: # 59 "/usr/include/c++/12/vector" 3
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/stl_uninitialized.h" 1 3
609: # 70 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 81 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _ValueType, typename _Tp>
609:     constexpr bool
609:     __check_constructible()
609:     {
609: 
609: 
609: 
609: 
609: 
609:       static_assert(is_constructible<_ValueType, _Tp>::value,
609:    "result type must be constructible from input type");
609: 
609:       return true;
609:     }
609: # 110 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _InputIterator, typename _ForwardIterator>
609:    
609:     _ForwardIterator
609:     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
609:        _ForwardIterator __result)
609:     {
609:       _ForwardIterator __cur = __result;
609:       try
609:  {
609:    for (; __first != __last; ++__first, (void)++__cur)
609:      std::_Construct(std::__addressof(*__cur), *__first);
609:    return __cur;
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__result, __cur);
609:    throw;
609:  }
609:     }
609: 
609:   template<bool _TrivialValueTypes>
609:     struct __uninitialized_copy
609:     {
609:       template<typename _InputIterator, typename _ForwardIterator>
609:         static _ForwardIterator
609:         __uninit_copy(_InputIterator __first, _InputIterator __last,
609:         _ForwardIterator __result)
609:  { return std::__do_uninit_copy(__first, __last, __result); }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_copy<true>
609:     {
609:       template<typename _InputIterator, typename _ForwardIterator>
609:         static _ForwardIterator
609:         __uninit_copy(_InputIterator __first, _InputIterator __last,
609:         _ForwardIterator __result)
609:         { return std::copy(__first, __last, __result); }
609:     };
609: # 161 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _InputIterator, typename _ForwardIterator>
609:     inline _ForwardIterator
609:     uninitialized_copy(_InputIterator __first, _InputIterator __last,
609:          _ForwardIterator __result)
609:     {
609:       typedef typename iterator_traits<_InputIterator>::value_type
609:  _ValueType1;
609:       typedef typename iterator_traits<_ForwardIterator>::value_typ    struct modulus : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x % __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct negate : public unary_function<_Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x) const
1115:       { return -__x; }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct plus<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct minus<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct multiplies<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct divides<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct modulus<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct negate<void>
1115:     {
1115:       template <typename _Tp>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t) const
1115:  noexcept(noexcept(-std::forward<_Tp>(__t)))
1115:  -> decltype(-std::forward<_Tp>(__t))
1115:  { return -std::forward<_Tp>(__t); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: # 349 "/usr/include/c++/12/bits/stl_function.h" 3
1115:   template<typename _Tp = void>
1115:     struct equal_to;
1115: 
1115:   template<typename _Tp = void>
1115:     struct not_equal_to;
1115: 
1115:   template<typename _Tp = void>
1115:     struct greater;
1115: 
1115:   template<typename _Tp = void>
1115:     struct less;
1115: 
1115:   template<typename _Tp = void>
1115:     struct greater_equal;
1115: 
1115:   template<typename _Tp = void>
1115:     struct less_equal;
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct equal_to : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operat12:     struct is_nothrow_constructible
1412:     : public __is_nothrow_constructible_impl<_Tp, _Args...>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_nothrow_default_constructible
1412:     : public __bool_constant<__is_nothrow_constructible(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_nothrow_copy_constructible_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nothrow_copy_constructible_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nothrow_copy_constructible_impl<_Tp, true>
1412:     : public __is_nothrow_constructible_impl<_Tp, const _Tp&>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_nothrow_copy_constructible
1412:     : public __is_nothrow_copy_constructible_impl<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_nothrow_move_constructible_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nothrow_move_constructible_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nothrow_move_constructible_impl<_Tp, true>
1412:     : public __is_nothrow_constructible_impl<_Tp, _Tp&&>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_nothrow_move_constructible
1412:     : public __is_nothrow_move_constructible_impl<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct is_assignable
1412:     : public __bool_constant<__is_assignable(_Tp, _Up)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_copy_assignable_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_copy_assignable_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_copy_assignable_impl<_Tp, true>
1412:     : public __bool_constant<__is_assignable(_Tp&, const _Tp&)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_copy_assignable
1412:     : public __is_copy_assignable_impl<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_move_assignable_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_move_assignable_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_move_assignable_impl<_Tp, true>
1412:     : public __bool_constant<__is_assignable(_Tp&, _Tp&&)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_move_assignable
1412:     : public __is_move_assignable_impl<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412:e
609:  _ValueType2;
609: 
609: 
609: 
609: 
609:       const bool __can_memmove = __is_trivial(_ValueType1);
609: 
609: 
609: 
609: 
609:       using _From = decltype(*__first);
609: 
609:       const bool __assignable
609:  = __is_trivial(_ValueType2) && __is_assignable(_ValueType2&, _From) && std::__check_constructible<_ValueType2, _From>();
609: 
609:       return std::__uninitialized_copy<__can_memmove && __assignable>::
609:  __uninit_copy(__first, __last, __result);
609:     }
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Tp>
609:     void
609:     __do_uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
609:        const _Tp& __x)
609:     {
609:       _ForwardIterator __cur = __first;
609:       try
609:  {
609:    for (; __cur != __last; ++__cur)
609:      std::_Construct(std::__addressof(*__cur), __x);
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__first, __cur);
609:    throw;
609:  }
609:     }
609: 
609:   template<bool _TrivialValueType>
609:     struct __uninitialized_fill
609:     {
609:       template<typename _ForwardIterator, typename _Tp>
609:         static void
609:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
609:         const _Tp& __x)
609:  { std::__do_uninit_fill(__first, __last, __x); }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_fill<true>
609:     {
609:       template<typename _ForwardIterator, typename _Tp>
609:         static void
609:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
609:         const _Tp& __x)
609:         { std::fill(__first, __last, __x); }
609:     };
609: # 239 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _ForwardIterator, typename _Tp>
609:     inline void
609:     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
609:          const _Tp& __x)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType;
609: 
609: 
609: 
609:       const bool __can_fill
609:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>();
609: 
609:       std::__uninitialized_fill<__can_fill>::
609:  __uninit_fill(__first, __last, __x);
609:     }
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Size, typename _Tp>
609:    
609:     _ForwardIterator
609:     __do_uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
609:     {
609:       _ForwardIterator __cur = __first;
609:       try
609:  {
609:    for (; __n > 0; --__n, (void) ++__cur)
609:      std::_Construct(std::__addressof(*__cur), __x);
609:    return __cur;
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__first, __cur);
609:    throw;
609:  }
609:     }
609: 
609:   template<bool _TrivialValueType>
609:     struct __uninitialized_fill_n
609:     {
609:       template<typename _ForwardIterator, typename _Size, typename _Tp>
609:  static _ForwardIterator
609:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
609:    const _Tp& __x)
609:  { return std::__do_uninit_fill_n(__first, __n, __x); }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_fill_n<true>
609:     {
609:       template<typename _ForwardIterator, typename _Size, typename _Tp>
609:  static _ForwardIterator
609:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
609:    const _Tp& __x)
609:         { return std::fill_n(__first, __n, __x); }
609:     };
609: # 310 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _ForwardIterator, typename _Size, typename _Tp>
609:     inline _ForwardIterator
609:     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType;
609: 
609: 
609: 
609:       const bool __can_fill
609:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>()
609: 
609: 
609: 
609:  && __is_integer<_Size>::__value;
609: 
609:       return __uninitialized_fill_n<__can_fill>::
609:  __uninit_fill_n(__first, __n, __x);
609:     }
609: # 340 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _InputIterator, typename _ForwardIterator,
609:     typename _Allocator>
609:    
609:     _ForwardIterator
609:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
609:       _ForwardIterator __result, _Allocator& __alloc)
609:     {
609:       _ForwardIterator __cur = __result;
609:       try
609:  {
609:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
609:    for (; __first != __last; ++__first, (void)++__cur)
609:      __traits::construct(__alloc, std::__addressof(*__cur), *__first);
609:    return __cur;
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__result, __cur, __alloc);
609:    throw;
609:  }
609:     }
609: 
609:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
609:    
609:     inline _ForwardIterator
609:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
609:       _ForwardIterator __result, allocator<_Tp>&)
609:     {
609: 
609: 
609: 
609: 
609:       return std::uninitialized_copy(__first, __last, __result);
609:     }
609: 
609:   template<typename _InputIterator, typename _ForwardIterator,
609:     typename _Allocator>
609:    
609:     inline _ForwardIterator
609:     __uninitialized_move_a(_InputIterator __first, _InputIterator __last,
609:       _ForwardIterator __result, _Allocator& __alloc)
609:     {
609:       return std::__uninitialized_copy_a(std::make_move_iterator(__first),
609:       std::make_move_iterator(__last),
609:       __result, __alloc);
609:     }
609: 
609:   template<typename _InputIterator, typename _ForwardIterator,
609:     typename _Allocator>
609:    
609:     inline _ForwardIterator
609:     __uninitialized_move_if_noexcept_a(_InputIterator __first,
609:            _InputIterator __last,
609:            _ForwardIterator __result,
609:            _Allocator& __alloc)
609:     {
609:       return std::__uninitialized_copy_a
609:  (std::__make_move_if_noexcept_iterator(__first),
609:   std::__make_move_if_noexcept_iterator(__last), __result, __alloc);
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
609:    
609:     void
609:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
609:       const _Tp& __x, _Allocator& __alloc)
609:     {
609:       _ForwardIterator __cur = __first;
609:       try
609:  {
609:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
609:    for (; __cur != __last; ++__cur)
609:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__first, __cur, __alloc);
609:    throw;
609:  }
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
609:    
609:     inline void
609:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
609:       const _Tp& __x, allocator<_Tp2>&)
609:     {
609: 
609: 
609: 
609: 
609:       std::uninitialized_fill(__first, __last, __x);
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Size, typename _Tp,
609:     typename _Allocator>
609:     
609:     _ForwardIterator
609:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
609:         const _Tp& __x, _Allocator& __alloc)
609:     {
609:       _ForwardIterator __cur = __first;
609:       try
609:  {
609:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
609:    for (; __n > 0; --__n, (void) ++__cur)
609:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
609:    return __cur;
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__first, __cur, __alloc);
609:    throw;
609:  }
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Size, typename _Tp,
609:     typename _Tp2>
609:    
609:     inline _ForwardIterator
609:     __uninitialized_fill_n_a(_ForwardIterator __or()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x == __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x != __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct greater : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x > __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct less : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x < __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct greater_equal : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x >= __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct less_equal : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x <= __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1115:     {
1115:       constexpr bool
1115:       operator()(_Tp* __x, _Tp* __y) const noexcept
1115:       {
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __x > __y;
1115: 
1115:  return (unsigned int)__x > (unsigned int)__y;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1115:     {
1115:       constexpr bool
1115:       operator()(_Tp* __x, _Tp* __y) const noexcept
1115:       {
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __x < __y;
1115: 
1115:  return (unsigned int)__x < (unsigned int)__y;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1115:     {
1115:       constexpr bool
1115:       operator()(_Tp* __x, _Tp* __y) const noexcept
1115:       {
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __x >= __y;
1115: 
1115:  return (unsigned int)__x >= (unsigned int)__y;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1115:     {
1115:       constexpr bool
1115:       operator()(_Tp* __x, _Tp* __y) const noexcept
1115:       {
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __x <= __y;
1115: 
1115:  return (unsigned int)__x <= (unsigned int)__y;
1115:       }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct equal_to<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct not_equal_to<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     structfirst, _Size __n,
609:         const _Tp& __x, allocator<_Tp2>&)
609:     {
609: 
609: 
609: 
609: 
609:       return std::uninitialized_fill_n(__first, __n, __x);
609:     }
609: # 480 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _ForwardIterator, typename _Allocator>
609:     inline _ForwardIterator
609:     __uninitialized_copy_move(_InputIterator1 __first1,
609:          _InputIterator1 __last1,
609:          _InputIterator2 __first2,
609:          _InputIterator2 __last2,
609:          _ForwardIterator __result,
609:          _Allocator& __alloc)
609:     {
609:       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
609:           __result,
609:           __alloc);
609:       try
609:  {
609:    return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc);
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__result, __mid, __alloc);
609:    throw;
609:  }
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator1, typename _InputIterator2,
609:     typename _ForwardIterator, typename _Allocator>
609:     inline _ForwardIterator
609:     __uninitialized_move_copy(_InputIterator1 __first1,
609:          _InputIterator1 __last1,
609:          _InputIterator2 __first2,
609:          _InputIterator2 __last2,
609:          _ForwardIterator __result,
609:          _Allocator& __alloc)
609:     {
609:       _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1,
609:           __result,
609:           __alloc);
609:       try
609:  {
609:    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__result, __mid, __alloc);
609:    throw;
609:  }
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
609:     typename _Allocator>
609:     inline _ForwardIterator
609:     __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid,
609:          const _Tp& __x, _InputIterator __first,
609:          _InputIterator __last, _Allocator& __alloc)
609:     {
609:       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
609:       try
609:  {
609:    return std::__uninitialized_move_a(__first, __last, __mid, __alloc);
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__result, __mid, __alloc);
609:    throw;
609:  }
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
609:     typename _Allocator>
609:     inline void
609:     __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1,
609:          _ForwardIterator __first2,
609:          _ForwardIterator __last2, const _Tp& __x,
609:          _Allocator& __alloc)
609:     {
609:       _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1,
609:            __first2,
609:            __alloc);
609:       try
609:  {
609:    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__first2, __mid2, __alloc);
609:    throw;
609:  }
609:     }
609: # 587 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<bool _TrivialValueType>
609:     struct __uninitialized_default_1
609:     {
609:       template<typename _ForwardIterator>
609:         static void
609:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
609:         {
609:    _ForwardIterator __cur = __first;
609:    try
609:      {
609:        for (; __cur != __last; ++__cur)
609:   std::_Construct(std::__addressof(*__cur));
609:      }
609:    catch(...)
609:      {
609:        std::_Destroy(__first, __cur);
609:        throw;
609:      }
609:  }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_default_1<true>
609:     {
609:       template<typename _ForwardIterator>
609:         static void
609:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
609:          
1412:   template<typename _Tp, typename _Up>
1412:     using __is_nothrow_assignable_impl
1412:       = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct is_nothrow_assignable
1412:     : public __is_nothrow_assignable_impl<_Tp, _Up>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_nt_copy_assignable_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_copy_assignable_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_copy_assignable_impl<_Tp, true>
1412:     : public __is_nothrow_assignable_impl<_Tp&, const _Tp&>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_nothrow_copy_assignable
1412:     : public __is_nt_copy_assignable_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_nt_move_assignable_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_move_assignable_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nt_move_assignable_impl<_Tp, true>
1412:     : public __is_nothrow_assignable_impl<_Tp&, _Tp&&>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_nothrow_move_assignable
1412:     : public __is_nt_move_assignable_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename... _Args>
1412:     struct is_trivially_constructible
1412:     : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivially_default_constructible
1412:     : public __bool_constant<__is_trivially_constructible(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   struct __do_is_implicitly_default_constructible_impl
1412:   {
1412:     template <typename _Tp>
1412:     static void __helper(const _Tp&);
1412: 
1412:     template <typename _Tp>
1412:     static true_type __test(const _Tp&,
1412:                             decltype(__helper<const _Tp&>({}))* = 0);
1412: 
1412:     static false_type __test(...);
1412:   };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_implicitly_default_constructible_impl
1412:     : public __do_is_implicitly_default_constructible_impl
1412:     {
1412:       typedef decltype(__test(declval<_Tp>())) type;
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_implicitly_default_constructible_safe
1412:     : public __is_implicitly_default_constructible_impl<_Tp>::type
1412:     { };
1412: 
1412:   template <typename _Tp>
1412:     struct __is_implicitly_default_constructible
1412:     : public __and_<__is_constructible_impl<_Tp>,
1412:       __is_implicitly_default_constructible_safe<_Tp>>
1412:     { };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_trivially_copy_constructible_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_trivially_copy_constructible_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct{
609:    if (__first == __last)
609:      return;
609: 
609:    typename iterator_traits<_ForwardIterator>::value_type* __val
609:      = std::__addressof(*__first);
609:    std::_Construct(__val);
609:    if (++__first != __last)
609:      std::fill(__first, __last, *__val);
609:  }
609:     };
609: 
609:   template<bool _TrivialValueType>
609:     struct __uninitialized_default_n_1
609:     {
609:       template<typename _ForwardIterator, typename _Size>
609: 
609:         static _ForwardIterator
609:         __uninit_default_n(_ForwardIterator __first, _Size __n)
609:         {
609:    _ForwardIterator __cur = __first;
609:    try
609:      {
609:        for (; __n > 0; --__n, (void) ++__cur)
609:   std::_Construct(std::__addressof(*__cur));
609:        return __cur;
609:      }
609:    catch(...)
609:      {
609:        std::_Destroy(__first, __cur);
609:        throw;
609:      }
609:  }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_default_n_1<true>
609:     {
609:       template<typename _ForwardIterator, typename _Size>
609: 
609:         static _ForwardIterator
609:         __uninit_default_n(_ForwardIterator __first, _Size __n)
609:         {
609:    if (__n > 0)
609:      {
609:        typename iterator_traits<_ForwardIterator>::value_type* __val
609:   = std::__addressof(*__first);
609:        std::_Construct(__val);
609:        ++__first;
609:        __first = std::fill_n(__first, __n - 1, *__val);
609:      }
609:    return __first;
609:  }
609:     };
609: 
609: 
609: 
609:   template<typename _ForwardIterator>
609:     inline void
609:     __uninitialized_default(_ForwardIterator __first,
609:        _ForwardIterator __last)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType;
609: 
609:       const bool __assignable = is_copy_assignable<_ValueType>::value;
609: 
609:       std::__uninitialized_default_1<__is_trivial(_ValueType)
609:          && __assignable>::
609:  __uninit_default(__first, __last);
609:     }
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Size>
609:    
609:     inline _ForwardIterator
609:     __uninitialized_default_n(_ForwardIterator __first, _Size __n)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType;
609: 
609:       constexpr bool __can_fill
609:  = __and_<is_integral<_Size>, is_copy_assignable<_ValueType>>::value;
609: 
609:       return __uninitialized_default_n_1<__is_trivial(_ValueType)
609:       && __can_fill>::
609:  __uninit_default_n(__first, __n);
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Allocator>
609:     void
609:     __uninitialized_default_a(_ForwardIterator __first,
609:          _ForwardIterator __last,
609:          _Allocator& __alloc)
609:     {
609:       _ForwardIterator __cur = __first;
609:       try
609:  {
609:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
609:    for (; __cur != __last; ++__cur)
609:      __traits::construct(__alloc, std::__addressof(*__cur));
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__first, __cur, __alloc);
609:    throw;
609:  }
609:     }
609: 
609:   template<typename _ForwardIterator, typename _Tp>
609:     inline void
609:     __uninitialized_default_a(_ForwardIterator __first,
609:          _ForwardIterator __last,
609:          allocator<_Tp>&)
609:     { std::__uninitialized_default(__first, __last); }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Size, typename _Allocator>
609:     _ForwardIterator
609:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
609:     _Allocator& __alloc)
609:     {
609:       _ForwardIterator __cur = __first;
609:       try
609:  {
609:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
609:    for (; __n > 0; --__n, (void) ++__cur)
609:      __traits::construct(__alloc, std::__addressof(*__cur));
609:    return __cur;
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__first, __cur, __alloc);
6 greater<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
1115:  {
1115:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1115:    __ptr_cmp<_Tp, _Up>{});
1115:  }
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  constexpr bool
1115:  operator()(_Tp* __t, _Up* __u) const noexcept
1115:  { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115: 
1115:     private:
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr decltype(auto)
1115:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1115:  { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
1115: 
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr bool
1115:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1115:  {
1115:    return greater<const volatile void*>{}(
1115:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1115:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1115:  }
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded2 : true_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  struct __not_overloaded2<_Tp, _Up, __void_t<
1115:    decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  struct __not_overloaded<_Tp, _Up, __void_t<
1115:    decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1115:        is_convertible<_Tp, const volatile void*>,
1115:        is_convertible<_Up, const volatile void*>>;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct less<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
1115:  {
1115:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1115:    __ptr_cmp<_Tp, _Up>{});
1115:  }
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  constexpr bool
1115:  operator()(_Tp* __t, _Up* __u) const noexcept
1115:  { return less<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115: 
1115:     private:
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr decltype(auto)
1115:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1115:  { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
1115: 
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr bool
1115:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1115:  {
1115:    return less<const volatile void*>{}(
1115:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1115:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1115:  }
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded2 : true_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  struct __not_overloaded2<_Tp, _Up, __void_t<
1115:    decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  struct __not_overloaded<_Tp, _Up, __void_t<
1115:    dec09:    throw;
609:  }
609:     }
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Size, typename _Tp>
609:    
609:     inline _ForwardIterator
609:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
609:     allocator<_Tp>&)
609:     { return std::__uninitialized_default_n(__first, __n); }
609: 
609:   template<bool _TrivialValueType>
609:     struct __uninitialized_default_novalue_1
609:     {
609:       template<typename _ForwardIterator>
609:  static void
609:  __uninit_default_novalue(_ForwardIterator __first,
609:      _ForwardIterator __last)
609:  {
609:    _ForwardIterator __cur = __first;
609:    try
609:      {
609:        for (; __cur != __last; ++__cur)
609:   std::_Construct_novalue(std::__addressof(*__cur));
609:      }
609:    catch(...)
609:      {
609:        std::_Destroy(__first, __cur);
609:        throw;
609:      }
609:  }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_default_novalue_1<true>
609:     {
609:       template<typename _ForwardIterator>
609:         static void
609:         __uninit_default_novalue(_ForwardIterator __first,
609:      _ForwardIterator __last)
609:  {
609:  }
609:     };
609: 
609:   template<bool _TrivialValueType>
609:     struct __uninitialized_default_novalue_n_1
609:     {
609:       template<typename _ForwardIterator, typename _Size>
609:  static _ForwardIterator
609:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
609:  {
609:    _ForwardIterator __cur = __first;
609:    try
609:      {
609:        for (; __n > 0; --__n, (void) ++__cur)
609:   std::_Construct_novalue(std::__addressof(*__cur));
609:        return __cur;
609:      }
609:    catch(...)
609:      {
609:        std::_Destroy(__first, __cur);
609:        throw;
609:      }
609:  }
609:     };
609: 
609:   template<>
609:     struct __uninitialized_default_novalue_n_1<true>
609:     {
609:       template<typename _ForwardIterator, typename _Size>
609:  static _ForwardIterator
609:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
609:  { return std::next(__first, __n); }
609:     };
609: 
609: 
609: 
609:   template<typename _ForwardIterator>
609:     inline void
609:     __uninitialized_default_novalue(_ForwardIterator __first,
609:         _ForwardIterator __last)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType;
609: 
609:       std::__uninitialized_default_novalue_1<
609:  is_trivially_default_constructible<_ValueType>::value>::
609:  __uninit_default_novalue(__first, __last);
609:     }
609: 
609: 
609: 
609:   template<typename _ForwardIterator, typename _Size>
609:     inline _ForwardIterator
609:     __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n)
609:     {
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType;
609: 
609:       return __uninitialized_default_novalue_n_1<
609:  is_trivially_default_constructible<_ValueType>::value>::
609:  __uninit_default_novalue_n(__first, __n);
609:     }
609: 
609:   template<typename _InputIterator, typename _Size,
609:     typename _ForwardIterator>
609:     _ForwardIterator
609:     __uninitialized_copy_n(_InputIterator __first, _Size __n,
609:       _ForwardIterator __result, input_iterator_tag)
609:     {
609:       _ForwardIterator __cur = __result;
609:       try
609:  {
609:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
609:      std::_Construct(std::__addressof(*__cur), *__first);
609:    return __cur;
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__result, __cur);
609:    throw;
609:  }
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Size,
609:     typename _ForwardIterator>
609:     inline _ForwardIterator
609:     __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n,
609:       _ForwardIterator __result,
609:       random_access_iterator_tag)
609:     { return std::uninitialized_copy(__first, __first + __n, __result); }
609: 
609:   template<typename _InputIterator, typename _Size,
609:  __is_trivially_copy_constructible_impl<_Tp, true>
1412:     : public __and_<__is_copy_constructible_impl<_Tp>,
1412:       integral_constant<bool,
1412:    __is_trivially_constructible(_Tp, const _Tp&)>>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivially_copy_constructible
1412:     : public __is_trivially_copy_constructible_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_trivially_move_constructible_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_trivially_move_constructible_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_trivially_move_constructible_impl<_Tp, true>
1412:     : public __and_<__is_move_constructible_impl<_Tp>,
1412:       integral_constant<bool,
1412:    __is_trivially_constructible(_Tp, _Tp&&)>>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivially_move_constructible
1412:     : public __is_trivially_move_constructible_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct is_trivially_assignable
1412:     : public __bool_constant<__is_trivially_assignable(_Tp, _Up)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_trivially_copy_assignable_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_trivially_copy_assignable_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_trivially_copy_assignable_impl<_Tp, true>
1412:     : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivially_copy_assignable
1412:     : public __is_trivially_copy_assignable_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __is_trivially_move_assignable_impl;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_trivially_move_assignable_impl<_Tp, false>
1412:     : public false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_trivially_move_assignable_impl<_Tp, true>
1412:     : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivially_move_assignable
1412:     : public __is_trivially_move_assignable_impl<_Tp>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_trivially_destructible
1412:     : public __and_<__is_destructible_safe<_Tp>,
1412:       __bool_constant<__has_trivial_destructor(_Tp)>>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct has_virtual_destructor
1412:     : public integral_constant<bool, __has_virtual_destructor(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete clasltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1115:        is_convertible<_Tp, const volatile void*>,
1115:        is_convertible<_Up, const volatile void*>>;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct greater_equal<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
1115:  {
1115:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1115:    __ptr_cmp<_Tp, _Up>{});
1115:  }
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  constexpr bool
1115:  operator()(_Tp* __t, _Up* __u) const noexcept
1115:  { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115: 
1115:     private:
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr decltype(auto)
1115:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1115:  { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
1115: 
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr bool
1115:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1115:  {
1115:    return greater_equal<const volatile void*>{}(
1115:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1115:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1115:  }
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded2 : true_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  struct __not_overloaded2<_Tp, _Up, __void_t<
1115:    decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  struct __not_overloaded<_Tp, _Up, __void_t<
1115:    decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1115:        is_convertible<_Tp, const volatile void*>,
1115:        is_convertible<_Up, const volatile void*>>;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct less_equal<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
1115:  {
1115:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1115:    __ptr_cmp<_Tp, _Up>{});
1115:  }
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  constexpr bool
1115:  operator()(_Tp* __t, _Up* __u) const noexcept
1115:  { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115: 
1115:     private:
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr decltype(auto)
1115:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1115:  { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
1115: 
1115:       template <typename _Tp, typename _Up>
1115:  static constexpr bool
1115:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1115:  {
1115:    return less_equal<const volatile void*>{}(
1115:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1115:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1115:  }
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded2 : true_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
    typename _ForwardIterator>
609:     pair<_InputIterator, _ForwardIterator>
609:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
609:       _ForwardIterator __result, input_iterator_tag)
609:     {
609:       _ForwardIterator __cur = __result;
609:       try
609:  {
609:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
609:      std::_Construct(std::__addressof(*__cur), *__first);
609:    return {__first, __cur};
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(__result, __cur);
609:    throw;
609:  }
609:     }
609: 
609:   template<typename _RandomAccessIterator, typename _Size,
609:     typename _ForwardIterator>
609:     inline pair<_RandomAccessIterator, _ForwardIterator>
609:     __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n,
609:       _ForwardIterator __result,
609:       random_access_iterator_tag)
609:     {
609:       auto __second_res = uninitialized_copy(__first, __first + __n, __result);
609:       auto __first_res = std::next(__first, __n);
609:       return {__first_res, __second_res};
609:     }
609: # 933 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
609:     inline _ForwardIterator
609:     uninitialized_copy_n(_InputIterator __first, _Size __n,
609:     _ForwardIterator __result)
609:     { return std::__uninitialized_copy_n(__first, __n, __result,
609:       std::__iterator_category(__first)); }
609: 
609: 
609:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
609:     inline pair<_InputIterator, _ForwardIterator>
609:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
609:          _ForwardIterator __result)
609:     {
609:       return
609:  std::__uninitialized_copy_n_pair(__first, __n, __result,
609:       std::__iterator_category(__first));
609:     }
609: # 962 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template <typename _ForwardIterator>
609:     inline void
609:     uninitialized_default_construct(_ForwardIterator __first,
609:         _ForwardIterator __last)
609:     {
609:       __uninitialized_default_novalue(__first, __last);
609:     }
609: # 977 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template <typename _ForwardIterator, typename _Size>
609:     inline _ForwardIterator
609:     uninitialized_default_construct_n(_ForwardIterator __first, _Size __count)
609:     {
609:       return __uninitialized_default_novalue_n(__first, __count);
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template <typename _ForwardIterator>
609:     inline void
609:     uninitialized_value_construct(_ForwardIterator __first,
609:       _ForwardIterator __last)
609:     {
609:       return __uninitialized_default(__first, __last);
609:     }
609: # 1005 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template <typename _ForwardIterator, typename _Size>
609:     inline _ForwardIterator
609:     uninitialized_value_construct_n(_ForwardIterator __first, _Size __count)
609:     {
609:       return __uninitialized_default_n(__first, __count);
609:     }
609: # 1020 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template <typename _InputIterator, typename _ForwardIterator>
609:     inline _ForwardIterator
609:     uninitialized_move(_InputIterator __first, _InputIterator __last,
609:          _ForwardIterator __result)
609:     {
609:       return std::uninitialized_copy
609:  (std::make_move_iterator(__first),
609:   std::make_move_iterator(__last), __result);
609:     }
609: # 1038 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:   template <typename _InputIterator, typename _Size, typename _ForwardIterator>
609:     inline pair<_InputIterator, _ForwardIterator>
609:     uninitialized_move_n(_InputIterator __first, _Size __count,
609:     _ForwardIterator __result)
609:     {
609:       auto __res = std::__uninitialized_copy_n_pair
609:  (std::make_move_iterator(__first),
609:   __count, __result);
609:       return {__res.first.base(), __res.second};
609:     }
6s or an unbounded array");
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct alignment_of
1412:     : public integral_constant<std::size_t, alignof(_Tp)>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename>
1412:     struct rank
1412:     : public integral_constant<std::size_t, 0> { };
1412: 
1412:   template<typename _Tp, std::size_t _Size>
1412:     struct rank<_Tp[_Size]>
1412:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1412: 
1412:   template<typename _Tp>
1412:     struct rank<_Tp[]>
1412:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1412: 
1412: 
1412:   template<typename, unsigned _Uint>
1412:     struct extent
1412:     : public integral_constant<std::size_t, 0> { };
1412: 
1412:   template<typename _Tp, unsigned _Uint, std::size_t _Size>
1412:     struct extent<_Tp[_Size], _Uint>
1412:     : public integral_constant<std::size_t,
1412:           _Uint == 0 ? _Size : extent<_Tp,
1412:           _Uint - 1>::value>
1412:     { };
1412: 
1412:   template<typename _Tp, unsigned _Uint>
1412:     struct extent<_Tp[], _Uint>
1412:     : public integral_constant<std::size_t,
1412:           _Uint == 0 ? 0 : extent<_Tp,
1412:              _Uint - 1>::value>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct is_same
1412: 
1412:     : public integral_constant<bool, __is_same(_Tp, _Up)>
1412: 
1412: 
1412: 
1412:     { };
1412: # 1445 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Base, typename _Derived>
1412:     struct is_base_of
1412:     : public integral_constant<bool, __is_base_of(_Base, _Derived)>
1412:     { };
1412: 
1412:   template<typename _From, typename _To,
1412:            bool = __or_<is_void<_From>, is_function<_To>,
1412:                         is_array<_To>>::value>
1412:     struct __is_convertible_helper
1412:     {
1412:       typedef typename is_void<_To>::type type;
1412:     };
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1412:   template<typename _From, typename _To>
1412:     class __is_convertible_helper<_From, _To, false>
1412:     {
1412:       template<typename _To1>
1412:  static void __test_aux(_To1) noexcept;
1412: 
1412:       template<typename _From1, typename _To1,
1412:         typename = decltype(__test_aux<_To1>(std::declval<_From1>()))>
1412:  static true_type
1412:  __test(int);
1412: 
1412:       template<typename, typename>
1412:  static false_type
1412:  __test(...);
1412: 
1412:     public:
1412:       typedef decltype(__test<_From, _To>(0)) type;
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412:   template<typename _From, typename _To>
1412:     struct is_convertible
1412:     : public __is_convertible_helper<_From, _To>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _ToElementType, typename _FromElementType>
1412:     using __is_array_convertible
1412:       = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
1412: 
1412:   template<typename _From, typename _To,
1412:            bool = __or_<is_void<_From>, is_function<_To>,
1412:                         is_array<_To>>::value>
1412:     struct __is_nt_convertible_helper
1412:     : is_void<_To>
1412:     { };
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1412:   template<typename _From, typename _To>
1412:     class __is_nt_convertible_helper<_From, _To, false>
1412:     {
1412:       template<typename _To1>
1412:  static void __test_aux(_To1) noexcept;
1412: 
1412:       template<typename _From1, typename _To1>
1412:  static
1412:  __bool_constant<noexcept(__test_aux<_To1>(std::declval<_From1>()))>
1412:  __test(int);
1412: 
1412:       template<typename, typename>
1412:  static false_type
1412:  __test(...);
1412: 
1412:     public:
109: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up, typename _Allocator>
609:    
609:     inline void
609:     __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig,
609:    _Allocator& __alloc)
609:     noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc,
609:     __dest, std::move(*__orig)))
609:       && noexcept(std::allocator_traits<_Allocator>::destroy(
609:        __alloc, std::__addressof(*__orig))))
609:     {
609:       typedef std::allocator_traits<_Allocator> __traits;
609:       __traits::construct(__alloc, __dest, std::move(*__orig));
609:       __traits::destroy(__alloc, std::__addressof(*__orig));
609:     }
609: 
609: 
609: 
609:   template<typename _Tp, typename = void>
609:     struct __is_bitwise_relocatable
609:     : is_trivial<_Tp> { };
609: 
609:   template <typename _InputIterator, typename _ForwardIterator,
609:      typename _Allocator>
609:    
609:     inline _ForwardIterator
609:     __relocate_a_1(_InputIterator __first, _InputIterator __last,
609:      _ForwardIterator __result, _Allocator& __alloc)
609:     noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result),
609:             std::addressof(*__first),
609:             __alloc)))
609:     {
609:       typedef typename iterator_traits<_InputIterator>::value_type
609:  _ValueType;
609:       typedef typename iterator_traits<_ForwardIterator>::value_type
609:  _ValueType2;
609:       static_assert(std::is_same<_ValueType, _ValueType2>::value,
609:    "relocation is only possible for values of the same type");
609:       _ForwardIterator __cur = __result;
609:       for (; __first != __last; ++__first, (void)++__cur)
609:  std::__relocate_object_a(std::__addressof(*__cur),
609:      std::__addressof(*__first), __alloc);
609:       return __cur;
609:     }
609: 
609:   template <typename _Tp, typename _Up>
609:    
609:     inline __enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp*>
609:     __relocate_a_1(_Tp* __first, _Tp* __last,
609:      _Tp* __result,
609:      [[__maybe_unused__]] allocator<_Up>& __alloc) noexcept
609:     {
609:       ptrdiff_t __count = __last - __first;
609:       if (__count > 0)
609:  {
609: # 1117 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
609:    __builtin_memmove(__result, __first, __count * sizeof(_Tp));
609:  }
609:       return __result + __count;
609:     }
609: 
609: 
609:   template <typename _InputIterator, typename _ForwardIterator,
609:      typename _Allocator>
609:    
609:     inline _ForwardIterator
609:     __relocate_a(_InputIterator __first, _InputIterator __last,
609:    _ForwardIterator __result, _Allocator& __alloc)
609:     noexcept(noexcept(__relocate_a_1(std::__niter_base(__first),
609:          std::__niter_base(__last),
609:          std::__niter_base(__result), __alloc)))
609:     {
609:       return std::__relocate_a_1(std::__niter_base(__first),
609:      std::__niter_base(__last),
609:      std::__niter_base(__result), __alloc);
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 64 "/usr/include/c++/12/vector" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_vector.h" 1 3
609: # 78 "/usr/include/c++/12/bits/stl_vector.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     struct _Vector_base
609:     {
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<_Tp>::other _Tp_alloc_type;
609:       typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
609:         pointer;
609: 
609:       struct _Vector_impl_data
609:       {
609:  pointer _M_start;
609:  pointer _M_finish;
609:  pointer _M_end_of_storage;
609: 
609: 
609:  _Vector_impl_data() noexcept
609:  : _M_start(), _M_finish(), _M_end_of_storage()
609:  { }
609: 
609: 
609: 
609:  _Vector_impl_data(_Vector_impl_data&& __x) noexcept
609:  : _M_start(__x._M_start), _M_finish(__x._M_finish),
609:    _M_end_of_storage(__x._M_end_of_storage)
609:  { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); }
609: 
609: 
609: 
609:  void
609:  _M_copy_data(_Vector_impl_data const& __x) noexcept
609:  {
609:    _M_start = __x._M_start;
609:    _M_finish = __x._M_finish;
609:    _M_end_of_storage = __x._M_end_of_storage;
609:  }
609: 
609: 
609:  void
609:  _M_swap_data(_Vector_impl_data& __x) noexcept
609:  {
609: 
609: 
609:    _Vector_impl_data __tmp;
609:    __tmp._M_copy_data(*this);
609:    _M_copy_data(__x);
609:    __x._M_copy_data(__tmp);
609:  }
609:       };
609: 
609:       struct _Vector_impl
609:  : public _Tp_alloc_type, public _Vector_impl_data
609:       {
609: 
609:  _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
609: 
609:  : _Tp_alloc_type()
609:  { }
609: 
609: 
609:  _Vector_impl(_Tp_alloc_type const& __a) noexcept
609:  : _Tp_alloc_type(__a)
609:  { }
609: 
609: 
609: 
609: 
609: 
609:  _Vector_impl(_Vector_impl&& __x) noexcept
609:  : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x))
609:  { }
609: 
609: 
609:  _Vector_impl(_Tp_alloc_type&& __a) noexcept
609:  : _Tp_alloc_type(std::move(__a))
609:  { }
609: 
609: 
609:  _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept
609:  : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv))
609:  { }
609: # 291 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       };
609: 
609:     public:
609:       typedef _Alloc allocator_type;
609: 
609:      
609:       _Tp_alloc_type&
609:       _M_get_Tp_allocator() noexcept
609:       { return this->_M_impl; }
609: 
609:      
609:       const _Tp_alloc_type&
609:       _M_get_Tp_allocator() const noexcept
609:       { return this->_M_impl; }
609: 
609:      
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(_M_get_Tp_allocator()); }
609: 
609: 
609:       _Vector_base() = default;
609: 
609: 
609: 
609: 
609:      
609:       _Vector_base(const allocator_type& __a) noexcept
609:       : _M_impl(__a) { }
609: 
609: 
609: 
609:      
609:       _Vector_base(size_t __n)
609:       : _M_impl()
609:       { _M_create_storage(__n); }
609: 
609: 
609:      
609:       _Vector_base(size_t __n, const allocator_type& __a)
609:       : _M_impl(__a)
609:       { _M_create_storage(__n); }
609: 
609: 
609:       _Vector_base(_Vector_base&&) = default;
609: 
609: 
609: 
609:      
609:       _Vector_base(_Tp_alloc_type&& __a) noexcept
609:       : _M_impl(std::move(__a)) { }
609: 
609:      
609:       _Vector_base(_Vector_base&& __x, const allocator_type& __a)
609:       : _M_impl(__a)
609:       {
609:  if (__x.get_allocator() == __a)
609:    this->_M_impl._M_swap_data(__x._M_impl);
609:  else
609:    {
609:      size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start;
609:      _M_create_storage(__n);
609:    }
609:       }
609: 
609: 
609:      
609:       _Vector_base(const allocator_type& __a, _Vector_base&& __x)
609:       : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl))
609:       { }
609: 
609: 
609:      
609:       ~_Vector_base() noexcept
609:       {
609:  _M_deallocate(_M_impl._M_start,
609:         _M_impl._M_end_of_storage - _M_impl._M_start);
609:       }
609: 
609:     public:
609:       _Vector_impl _M_impl;
609: 
609:      
609:       pointer
609:       _M_allocate(size_t __n)
609:       {
609:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
609:  return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
609:       }
609: 
609:      
609:       void
609:       _M_deallocate(pointer __p, size_t __n)
609:       {
609:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
609:  if (__p)
609:    _Tr::deallocate(_M_impl, __p, __n);
609:       }
609: 
609:     protected:
609:      
609:       void
609:       _M_create_storage(size_t __n)
609:       {
609:  this->_M_impl._M_start = this->_M_allocate(__n);
609:  this->_M_impl._M_finish = this->_M_impl._M_start;
609:  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
609:       }
609:     };
609: # 422 "/usr/include/c++/12/bits/stl_vector.h" 3
609:   template<typename _Tp, typename _Alloc = std::all1115:  struct __not_overloaded2<_Tp, _Up, __void_t<
1115:    decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up, typename = void>
1115:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1115: 
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  struct __not_overloaded<_Tp, _Up, __void_t<
1115:    decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
1115:  : false_type { };
1115: 
1115:       template<typename _Tp, typename _Up>
1115:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1115:        is_convertible<_Tp, const volatile void*>,
1115:        is_convertible<_Up, const volatile void*>>;
1115:     };
1115: # 781 "/usr/include/c++/12/bits/stl_function.h" 3
1115:   template<typename _Tp = void>
1115:     struct logical_and;
1115: 
1115:   template<typename _Tp = void>
1115:     struct logical_or;
1115: 
1115:   template<typename _Tp = void>
1115:     struct logical_not;
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct logical_and : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x && __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct logical_or : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x || __y; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct logical_not : public unary_function<_Tp, bool>
1115:     {
1115:       constexpr
1115:       bool
1115:       operator()(const _Tp& __x) const
1115:       { return !__x; }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct logical_and<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct logical_or<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct logical_not<void>
1115:     {
1115:       template <typename _Tp>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t) const
1115:  noexcept(noexcept(!std::forward<_Tp>(__t)))
1115:  -> decltype(!std::forward<_Tp>(__t))
1115:  { return !std::forward<_Tp>(__t); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp = void>
1115:     struct bit_and;
1115: 
1115:   template<typename _Tp = void>
1115:     struct bit_or;
1115: 
1115:   template<typename _Tp = void>
1115:     struct bit_xor;
1115: 
1115:   template<typename _Tp = void>
1115:     struct bit_not;
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct bit_and : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x & __y; }
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct bit_412:       using type = decltype(__test<_From, _To>(0));
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412:   template<typename _From, typename _To>
1412:     struct __is_nothrow_convertible
1412:     : public __is_nt_convertible_helper<_From, _To>::type
1412:     { };
1412: # 1543 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Tp>
1412:     struct remove_const
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_const<_Tp const>
1412:     { typedef _Tp type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct remove_volatile
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_volatile<_Tp volatile>
1412:     { typedef _Tp type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct remove_cv
1412:     { using type = _Tp; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_cv<const _Tp>
1412:     { using type = _Tp; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_cv<volatile _Tp>
1412:     { using type = _Tp; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_cv<const volatile _Tp>
1412:     { using type = _Tp; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct add_const
1412:     { typedef _Tp const type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct add_volatile
1412:     { typedef _Tp volatile type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct add_cv
1412:     {
1412:       typedef typename
1412:       add_const<typename add_volatile<_Tp>::type>::type type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using remove_const_t = typename remove_const<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using remove_volatile_t = typename remove_volatile<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using remove_cv_t = typename remove_cv<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using add_const_t = typename add_const<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using add_volatile_t = typename add_volatile<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using add_cv_t = typename add_cv<_Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct remove_reference
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_reference<_Tp&>
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_reference<_Tp&&>
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __add_lvalue_reference_helper
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct __add_lvalue_reference_helper<_Tp, true>
1412:     { typedef _Tp& type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct add_lvalue_reference
1412:     : public __add_lvalue_reference_helper<_Tp>
1412:     { };
1412: 
1412:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1412:     struct __add_rvalue_reference_helper
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct __add_rvalue_reference_helper<_Tp, true>
1412:     { typedef _Tp&& type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct add_rvalue_reference
1412:     : public __add_rvalue_reference_helper<_Tp>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using remove_reference_t = typename remove_reference<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Unqualified, bool _IsConst, bool _IsVol>
1412:     struct __cv_selector;
1412: 
1412:   ocator<_Tp> >
609:     class vector : protected _Vector_base<_Tp, _Alloc>
609:     {
609: # 435 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
609:    "std::vector must have a non-const, non-volatile value_type");
609: 
609:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
609:    "std::vector must have the same value_type as its allocator");
609: 
609: 
609: 
609:       typedef _Vector_base<_Tp, _Alloc> _Base;
609:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
609:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
609: 
609:     public:
609:       typedef _Tp value_type;
609:       typedef typename _Base::pointer pointer;
609:       typedef typename _Alloc_traits::const_pointer const_pointer;
609:       typedef typename _Alloc_traits::reference reference;
609:       typedef typename _Alloc_traits::const_reference const_reference;
609:       typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
609:       typedef __gnu_cxx::__normal_iterator<const_pointer, vector>
609:       const_iterator;
609:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
609:       typedef std::reverse_iterator<iterator> reverse_iterator;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef _Alloc allocator_type;
609: 
609:     private:
609: 
609:       static constexpr bool
609:       _S_nothrow_relocate(true_type)
609:       {
609:  return noexcept(std::__relocate_a(std::declval<pointer>(),
609:        std::declval<pointer>(),
609:        std::declval<pointer>(),
609:        std::declval<_Tp_alloc_type&>()));
609:       }
609: 
609:       static constexpr bool
609:       _S_nothrow_relocate(false_type)
609:       { return false; }
609: 
609:       static constexpr bool
609:       _S_use_relocate()
609:       {
609: 
609: 
609: 
609:  return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{});
609:       }
609: 
609:       static pointer
609:       _S_do_relocate(pointer __first, pointer __last, pointer __result,
609:        _Tp_alloc_type& __alloc, true_type) noexcept
609:       {
609:  return std::__relocate_a(__first, __last, __result, __alloc);
609:       }
609: 
609:       static pointer
609:       _S_do_relocate(pointer, pointer, pointer __result,
609:        _Tp_alloc_type&, false_type) noexcept
609:       { return __result; }
609: 
609:       static pointer
609:       _S_relocate(pointer __first, pointer __last, pointer __result,
609:     _Tp_alloc_type& __alloc) noexcept
609:       {
609: 
609: 
609:  return std::__relocate_a(__first, __last, __result, __alloc);
609: 
609: 
609: 
609: 
609:       }
609: 
609: 
609:     protected:
609:       using _Base::_M_allocate;
609:       using _Base::_M_deallocate;
609:       using _Base::_M_impl;
609:       using _Base::_M_get_Tp_allocator;
609: 
609:     public:
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       vector() = default;
609: # 535 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       explicit
609:      
609:       vector(const allocator_type& __a) noexcept
609:       : _Base(__a) { }
609: # 549 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       explicit
609:      
609:       vector(size_type __n, const allocator_type& __a = allocator_type())
609:       : _Base(_S_check_init_len(__n, __a), __a)
609:       { _M_default_initialize(__n); }
609: # 563 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       vector(size_type __n, const value_type& __value,
609:       const allocator_type& __a = allocator_type())
609:       : _Base(_S_check_init_len(__n, __a), __a)
609:       { _M_fill_initialize(__n, __value); }
609: # 595 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       vector(const vector& __x)
609:       : _Base(__x.size(),
609:  _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()))
609:       {
609:  this->_M_impl._M_finish =
609:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
609:           this->_M_impl._M_start,
609:          or : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x | __y; }
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
1115:     {
1115:       constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x, const _Tp& __y) const
1115:       { return __x ^ __y; }
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct bit_not : public unary_function<_Tp, _Tp>
1115:     {
1115:     constexpr
1115:       _Tp
1115:       operator()(const _Tp& __x) const
1115:       { return ~__x; }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115:   template <>
1115:     struct bit_and<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115:   template <>
1115:     struct bit_or<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115:   template <>
1115:     struct bit_xor<void>
1115:     {
1115:       template <typename _Tp, typename _Up>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t, _Up&& __u) const
1115:  noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
1115:  -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
1115:  { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115:   template <>
1115:     struct bit_not<void>
1115:     {
1115:       template <typename _Tp>
1115:  constexpr
1115:  auto
1115:  operator()(_Tp&& __t) const
1115:  noexcept(noexcept(~std::forward<_Tp>(__t)))
1115:  -> decltype(~std::forward<_Tp>(__t))
1115:  { return ~std::forward<_Tp>(__t); }
1115: 
1115:       typedef __is_transparent is_transparent;
1115:     };
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: # 1023 "/usr/include/c++/12/bits/stl_function.h" 3
1115:   template<typename _Predicate>
1115:     class [[__deprecated__]] unary_negate
1115:     : public unary_function<typename _Predicate::argument_type, bool>
1115:     {
1115:     protected:
1115:       _Predicate _M_pred;
1115: 
1115:     public:
1115:       constexpr
1115:       explicit
1115:       unary_negate(const _Predicate& __x) : _M_pred(__x) { }
1115: 
1115:       constexpr
1115:       bool
1115:       operator()(const typename _Predicate::argument_type& __x) const
1115:       { return !_M_pred(__x); }
1115:     };
1115: 
1115: 
1115:   template<typename _Predicate>
1115:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1115:     constexpr
1115:     inline unary_negate<_Predicate>
1115:     not1(const _Predicate& __pred)
1115:     { return unary_negate<_Predicate>(__pred); }
1115: 
1115: 
1115:   template<typename _Predicate>
1115:     class [[__deprecated__]] binary_negate
1115:     : public binary_function<typename _Predicate::first_argument_type,
1115:         typename _Predicate::second_argument_type, bool>
1115:     {
1115:     protected:
1115:       _Predicate _M_pred;
1115: 
1115:     public:
1115:       constexpr
1115:       explicit
1115:       binary_negate(const _Predicate& __x) : _M_pred(__x) { }
1115: 
1115:       constexpr
1115:       bool
1115:       operator()(const typename _Predicate::first_argument_t _M_get_Tp_allocator());
609:       }
609: # 615 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       vector(vector&&) noexcept = default;
609: 
609: 
609:      
609:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
609:       : _Base(__x.size(), __a)
609:       {
609:  this->_M_impl._M_finish =
609:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
609:           this->_M_impl._M_start,
609:           _M_get_Tp_allocator());
609:       }
609: 
609:     private:
609:      
609:       vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
609:       : _Base(__m, std::move(__rv))
609:       { }
609: 
609:      
609:       vector(vector&& __rv, const allocator_type& __m, false_type)
609:       : _Base(__m)
609:       {
609:  if (__rv.get_allocator() == __m)
609:    this->_M_impl._M_swap_data(__rv._M_impl);
609:  else if (!__rv.empty())
609:    {
609:      this->_M_create_storage(__rv.size());
609:      this->_M_impl._M_finish =
609:        std::__uninitialized_move_a(__rv.begin(), __rv.end(),
609:        this->_M_impl._M_start,
609:        _M_get_Tp_allocator());
609:      __rv.clear();
609:    }
609:       }
609: 
609:     public:
609: 
609:      
609:       vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
609:       noexcept( noexcept(
609:  vector(std::declval<vector&&>(), std::declval<const allocator_type&>(),
609:         std::declval<typename _Alloc_traits::is_always_equal>())) )
609:       : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{})
609:       { }
609: # 672 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       vector(initializer_list<value_type> __l,
609:       const allocator_type& __a = allocator_type())
609:       : _Base(__a)
609:       {
609:  _M_range_initialize(__l.begin(), __l.end(),
609:        random_access_iterator_tag());
609:       }
609: # 699 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:  vector(_InputIterator __first, _InputIterator __last,
609:         const allocator_type& __a = allocator_type())
609:  : _Base(__a)
609:  {
609:    _M_range_initialize(__first, __last,
609:          std::__iterator_category(__first));
609:  }
609: # 727 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       ~vector() noexcept
609:       {
609:  std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
609:         _M_get_Tp_allocator());
609:  ;
609:       }
609: # 744 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       vector&
609:       operator=(const vector& __x);
609: # 759 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       vector&
609:       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
609:       {
609:  constexpr bool __move_storage =
609:    _Alloc_traits::_S_propagate_on_move_assign()
609:    || _Alloc_traits::_S_always_equal();
609:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
609:  return *this;
609:       }
609: # 781 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       vector&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  this->_M_assign_aux(__l.begin(), __l.end(),
609:        random_access_iterator_tag());
609:  return *this;
609:       }
609: # 801 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       assign(size_type __n, const value_type& __val)
609:       { _M_fill_assign(__n, __val); }
609: # 819 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:  void
609:  assign(_InputIterator __first, _InputIterator __last)
609:  { _M_assign_dispatch(__first, __last, __false_type()); }
609: # 848 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       assign(initializer_list<value_type> __l)
609:       {
609:  this->_M_assign_aux(__l.begin(), __l.end(),
609:        random_access_iterator_tag());
609:       }
609: 
609: 
609: 
609:       using _Base::get_allocator;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       begin() noexcept
609:       { return iterator(this->_M_impl._M_start); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       begin() const noexcept
609:       { return const_iterator(this->_M_impl._M_start); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       end() noexcept
609:       { return iterator(this->_M_impl._M_finish); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       end() const noexcept
609:       { return const_iterator(this->_M_impl._M_finish); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return reverse_iterator(end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rend() noexcept
609:       { return reverse_iterator(begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cbegin() const noexcept
609:       { return const_iterator(this->_M_impl._M_start); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cend() const noexcept
609:       { return const_iterator(this->_M_impl._M_finish); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       size() const noexcept
609:       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       max_size() const noexcept
609:       { return _S_max_size(_M_get_Tp_allocator()); }
609: # 1006 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       resize(size_type __new_size)
609:       {
609:  if (__new_size > size())
609:    _M_default_append(__new_size - size());
609:  else if (__new_size < size())
609:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
609:       }
609: # 1027 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       resize(size_type __new_size, const value_type& __x)
609:       {
609:  if (__new_size > size())
609:    _M_fill_insert(end(), __new_size - size(), __x);
609:  else if (__new_size < size())
609:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
609:       }
609: # 1061 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       shrink_to_fit()
609:       { _M_shrink_to_fit(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       capacity() const noexcept
609:       { return size_type(this->_M_impl._M_end_of_storage
609:     - this->_M_impl._M_start); }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       bool
609:       empty() const noexcept
609:       { return begin() == end(); }
609: # 1103 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       reserve(size_type __n);
609: # 1119 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       [[__nodiscard__]]
609:       reference
609:       operator[](size_type __n) noexcept
609:       {
609:  ;
609:  return *(this->_M_impl._template<typename _Unqualified>
1412:     struct __cv_selector<_Unqualified, false, false>
1412:     { typedef _Unqualified __type; };
1412: 
1412:   template<typename _Unqualified>
1412:     struct __cv_selector<_Unqualified, false, true>
1412:     { typedef volatile _Unqualified __type; };
1412: 
1412:   template<typename _Unqualified>
1412:     struct __cv_selector<_Unqualified, true, false>
1412:     { typedef const _Unqualified __type; };
1412: 
1412:   template<typename _Unqualified>
1412:     struct __cv_selector<_Unqualified, true, true>
1412:     { typedef const volatile _Unqualified __type; };
1412: 
1412:   template<typename _Qualified, typename _Unqualified,
1412:     bool _IsConst = is_const<_Qualified>::value,
1412:     bool _IsVol = is_volatile<_Qualified>::value>
1412:     class __match_cv_qualifiers
1412:     {
1412:       typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
1412: 
1412:     public:
1412:       typedef typename __match::__type __type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __make_unsigned
1412:     { typedef _Tp __type; };
1412: 
1412:   template<>
1412:     struct __make_unsigned<char>
1412:     { typedef unsigned char __type; };
1412: 
1412:   template<>
1412:     struct __make_unsigned<signed char>
1412:     { typedef unsigned char __type; };
1412: 
1412:   template<>
1412:     struct __make_unsigned<short>
1412:     { typedef unsigned short __type; };
1412: 
1412:   template<>
1412:     struct __make_unsigned<int>
1412:     { typedef unsigned int __type; };
1412: 
1412:   template<>
1412:     struct __make_unsigned<long>
1412:     { typedef unsigned long __type; };
1412: 
1412:   template<>
1412:     struct __make_unsigned<long long>
1412:     { typedef unsigned long long __type; };
1412: # 1771 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Tp,
1412:     bool _IsInt = is_integral<_Tp>::value,
1412:     bool _IsEnum = is_enum<_Tp>::value>
1412:     class __make_unsigned_selector;
1412: 
1412:   template<typename _Tp>
1412:     class __make_unsigned_selector<_Tp, true, false>
1412:     {
1412:       using __unsigned_type
1412:  = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
1412: 
1412:     public:
1412:       using __type
1412:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1412:     };
1412: 
1412:   class __make_unsigned_selector_base
1412:   {
1412:   protected:
1412:     template<typename...> struct _List { };
1412: 
1412:     template<typename _Tp, typename... _Up>
1412:       struct _List<_Tp, _Up...> : _List<_Up...>
1412:       { static constexpr size_t __size = sizeof(_Tp); };
1412: 
1412:     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
1412:       struct __select;
1412: 
1412:     template<size_t _Sz, typename _Uint, typename... _UInts>
1412:       struct __select<_Sz, _List<_Uint, _UInts...>, true>
1412:       { using __type = _Uint; };
1412: 
1412:     template<size_t _Sz, typename _Uint, typename... _UInts>
1412:       struct __select<_Sz, _List<_Uint, _UInts...>, false>
1412:       : __select<_Sz, _List<_UInts...>>
1412:       { };
1412:   };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     class __make_unsigned_selector<_Tp, false, true>
1412:     : __make_unsigned_selector_base
1412:     {
1412: 
1412:       using _UInts = _List<unsigned char, unsigned short, unsigned int,
1412:       unsigned long, unsigned long long>;
1412: 
1412:       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
1412: 
1412:     public:
1412:       using __type
1412:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct __make_unsigned<wchar_t>
1412:     {
1412:       using __type
1412:  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
1412:     };
1412: # 1845 "/usr/include/c++/12/type_traits" 3
1412:   template<>
1412:     struct __make_unsigned<char16_t>
1412:     {
1412:       using __type
1412:  = typename __make_unsigned_selector<char16_t, faM_start + __n);
609:       }
609: # 1138 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       [[__nodiscard__]]
609:       const_reference
609:       operator[](size_type __n) const noexcept
609:       {
609:  ;
609:  return *(this->_M_impl._M_start + __n);
609:       }
609: 
609:     protected:
609: 
609:      
609:       void
609:       _M_range_check(size_type __n) const
609:       {
609:  if (__n >= this->size())
609:    __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
609: 
609:                             ,
609:        __n, this->size());
609:       }
609: 
609:     public:
609: # 1171 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       reference
609:       at(size_type __n)
609:       {
609:  _M_range_check(__n);
609:  return (*this)[__n];
609:       }
609: # 1190 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       const_reference
609:       at(size_type __n) const
609:       {
609:  _M_range_check(__n);
609:  return (*this)[__n];
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       front() noexcept
609:       {
609:  ;
609:  return *begin();
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       front() const noexcept
609:       {
609:  ;
609:  return *begin();
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       back() noexcept
609:       {
609:  ;
609:  return *(end() - 1);
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       back() const noexcept
609:       {
609:  ;
609:  return *(end() - 1);
609:       }
609: # 1253 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       [[__nodiscard__]]
609:       _Tp*
609:       data() noexcept
609:       { return _M_data_ptr(this->_M_impl._M_start); }
609: 
609:       [[__nodiscard__]]
609:       const _Tp*
609:       data() const noexcept
609:       { return _M_data_ptr(this->_M_impl._M_start); }
609: # 1274 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       push_back(const value_type& __x)
609:       {
609:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
609:    {
609:      ;
609:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
609:          __x);
609:      ++this->_M_impl._M_finish;
609:      ;
609:    }
609:  else
609:    _M_realloc_insert(end(), __x);
609:       }
609: 
609: 
609:      
609:       void
609:       push_back(value_type&& __x)
609:       { emplace_back(std::move(__x)); }
609: 
609:       template<typename... _Args>
609: 
609: 
609:  reference
609: 
609: 
609: 
609:  emplace_back(_Args&&... __args);
609: # 1315 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       pop_back() noexcept
609:       {
609:  ;
609:  --this->_M_impl._M_finish;
609:  _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
609:  ;
609:       }
609: # 1338 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       template<typename... _Args>
609: 
609:  iterator
609:  emplace(const_iterator __position, _Args&&... __args)
609:  { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); }
609: # 1355 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       iterator
609:       insert(const_iterator __position, const value_type& __x);
609: # 1386 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       iterator
609:       insert(const_iterator __position, value_type&& __x)
609:       { return _M_insert_rval(__position, std::move(__x)); }
609: # 1404 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       iterator
609:       insert(const_iterator __position, initializer_list<value_type> __l)
609:       {
609:  auto __offset = __position - cbegin();
609:  _M_range_insert(begin() + __offset, __l.begin(), __l.end(),
609:    std::random_access_iterator_tag());
609:  return begin() + __offset;
609:       }
609: # 1430 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:ype& __x,
1115:    const typename _Predicate::second_argument_type& __y) const
1115:       { return !_M_pred(__x, __y); }
1115:     };
1115: 
1115: 
1115:   template<typename _Predicate>
1115:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1115:     constexpr
1115:     inline binary_negate<_Predicate>
1115:     not2(const _Predicate& __pred)
1115:     { return binary_negate<_Predicate>(__pred); }
1115: # 1104 "/usr/include/c++/12/bits/stl_function.h" 3
1115:   template<typename _Arg, typename _Result>
1115:     class pointer_to_unary_function : public unary_function<_Arg, _Result>
1115:     {
1115:     protected:
1115:       _Result (*_M_ptr)(_Arg);
1115: 
1115:     public:
1115:       pointer_to_unary_function() { }
1115: 
1115:       explicit
1115:       pointer_to_unary_function(_Result (*__x)(_Arg))
1115:       : _M_ptr(__x) { }
1115: 
1115:       _Result
1115:       operator()(_Arg __x) const
1115:       { return _M_ptr(__x); }
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Arg, typename _Result>
1115:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1115:     inline pointer_to_unary_function<_Arg, _Result>
1115:     ptr_fun(_Result (*__x)(_Arg))
1115:     { return pointer_to_unary_function<_Arg, _Result>(__x); }
1115: 
1115: 
1115:   template<typename _Arg1, typename _Arg2, typename _Result>
1115:     class pointer_to_binary_function
1115:     : public binary_function<_Arg1, _Arg2, _Result>
1115:     {
1115:     protected:
1115:       _Result (*_M_ptr)(_Arg1, _Arg2);
1115: 
1115:     public:
1115:       pointer_to_binary_function() { }
1115: 
1115:       explicit
1115:       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
1115:       : _M_ptr(__x) { }
1115: 
1115:       _Result
1115:       operator()(_Arg1 __x, _Arg2 __y) const
1115:       { return _M_ptr(__x, __y); }
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Arg1, typename _Arg2, typename _Result>
1115:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1115:     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
1115:     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
1115:     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _Identity
1115:     : public unary_function<_Tp, _Tp>
1115:     {
1115:       _Tp&
1115:       operator()(_Tp& __x) const
1115:       { return __x; }
1115: 
1115:       const _Tp&
1115:       operator()(const _Tp& __x) const
1115:       { return __x; }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
1115: 
1115:   template<typename _Pair>
1115:     struct _Select1st
1115:     : public unary_function<_Pair, typename _Pair::first_type>
1115:     {
1115:       typename _Pair::first_type&
1115:       operator()(_Pair& __x) const
1115:       { return __x.first; }
1115: 
1115:       const typename _Pair::first_type&
1115:       operator()(const _Pair& __x) const
1115:       { return __x.first; }
1115: 
1115: 
1115:       template<typename _Pair2>
1115:         typename _Pair2::first_type&
1115:         operator()(_Pair2& __x) const
1115:         { return __x.first; }
1115: 
1115:       template<typename _Pair2>
1115:         const typename _Pair2::first_type&
1115:         operator()(const _Pair2& __x) const
1115:         { return __x.first; }
1115: 
1115:     };
1115: 
1115:   template<typename _Pair>
1115:     struct _Select2nd
1115:     : public unary_function<_Pair, typename _Pair::second_type>
1115:     {
1115:       typename _Pair::second_type&
1115:       operator()(_Pair& __x) const
1115:       { return __x.second; }
1115: 
1115:       const typename _Pair::second_type&
1115:       operator()(const _Pair& __x) const
1115:       { return __x.second; }
1115:     };
1115: # 1231 "/usr/include/c++/12/bits/stl_function.h" 3
1115:   template<typename _Ret, typename _Tp>
1115:     class mem_fun_t : public unary_function<_Tp*, _Ret>
1115:     {
1       iterator
609:       insert(const_iterator __position, size_type __n, const value_type& __x)
609:       {
609:  difference_type __offset = __position - cbegin();
609:  _M_fill_insert(begin() + __offset, __n, __x);
609:  return begin() + __offset;
609:       }
609: # 1473 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:  iterator
609:  insert(const_iterator __position, _InputIterator __first,
609:         _InputIterator __last)
609:  {
609:    difference_type __offset = __position - cbegin();
609:    _M_insert_dispatch(begin() + __offset,
609:         __first, __last, __false_type());
609:    return begin() + __offset;
609:  }
609: # 1526 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       iterator
609: 
609:       erase(const_iterator __position)
609:       { return _M_erase(begin() + (__position - cbegin())); }
609: # 1554 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       iterator
609: 
609:       erase(const_iterator __first, const_iterator __last)
609:       {
609:  const auto __beg = begin();
609:  const auto __cbeg = cbegin();
609:  return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
609:       }
609: # 1579 "/usr/include/c++/12/bits/stl_vector.h" 3
609:      
609:       void
609:       swap(vector& __x) noexcept
609:       {
609: 
609:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
609:                                                           ;
609: 
609:  this->_M_impl._M_swap_data(__x._M_impl);
609:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
609:       __x._M_get_Tp_allocator());
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       void
609:       clear() noexcept
609:       { _M_erase_at_end(this->_M_impl._M_start); }
609: 
609:     protected:
609: 
609: 
609: 
609: 
609:       template<typename _ForwardIterator>
609: 
609:  pointer
609:  _M_allocate_and_copy(size_type __n,
609:         _ForwardIterator __first, _ForwardIterator __last)
609:  {
609:    pointer __result = this->_M_allocate(__n);
609:    try
609:      {
609:        std::__uninitialized_copy_a(__first, __last, __result,
609:        _M_get_Tp_allocator());
609:        return __result;
609:      }
609:    catch(...)
609:      {
609:        _M_deallocate(__result, __n);
609:        throw;
609:      }
609:  }
609: # 1659 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
609:        std::input_iterator_tag)
609:  {
609:    try {
609:      for (; __first != __last; ++__first)
609: 
609:        emplace_back(*__first);
609: 
609: 
609: 
609:    } catch(...) {
609:      clear();
609:      throw;
609:    }
609:  }
609: 
609: 
609:       template<typename _ForwardIterator>
609: 
609:  void
609:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
609:        std::forward_iterator_tag)
609:  {
609:    const size_type __n = std::distance(__first, __last);
609:    this->_M_impl._M_start
609:      = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
609:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
609:    this->_M_impl._M_finish =
609:      std::__uninitialized_copy_a(__first, __last,
609:      this->_M_impl._M_start,
609:      _M_get_Tp_allocator());
609:  }
609: 
609: 
609: 
609:      
609:       void
609:       _M_fill_initialize(size_type __n, const value_type& __value)
609:       {
609:  this->_M_impl._M_finish =
609:    std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
609:      _M_get_Tp_allocator());
609:       }
609: 
609: 
609: 
609:      
609:       void
609:       _M_default_initialize(size_type __n)
609:       {
609:  this->_M_impl._M_finish =
609:    std::__uninitialized_default_n_a(this->_M_impl._M_start, __n,lse, true>::__type;
1412:     };
1412: 
1412:   template<>
1412:     struct __make_unsigned<char32_t>
1412:     {
1412:       using __type
1412:  = typename __make_unsigned_selector<char32_t, false, true>::__type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct make_unsigned
1412:     { typedef typename __make_unsigned_selector<_Tp>::__type type; };
1412: 
1412: 
1412:   template<>
1412:     struct make_unsigned<bool>;
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __make_signed
1412:     { typedef _Tp __type; };
1412: 
1412:   template<>
1412:     struct __make_signed<char>
1412:     { typedef signed char __type; };
1412: 
1412:   template<>
1412:     struct __make_signed<unsigned char>
1412:     { typedef signed char __type; };
1412: 
1412:   template<>
1412:     struct __make_signed<unsigned short>
1412:     { typedef signed short __type; };
1412: 
1412:   template<>
1412:     struct __make_signed<unsigned int>
1412:     { typedef signed int __type; };
1412: 
1412:   template<>
1412:     struct __make_signed<unsigned long>
1412:     { typedef signed long __type; };
1412: 
1412:   template<>
1412:     struct __make_signed<unsigned long long>
1412:     { typedef signed long long __type; };
1412: # 1929 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Tp,
1412:     bool _IsInt = is_integral<_Tp>::value,
1412:     bool _IsEnum = is_enum<_Tp>::value>
1412:     class __make_signed_selector;
1412: 
1412:   template<typename _Tp>
1412:     class __make_signed_selector<_Tp, true, false>
1412:     {
1412:       using __signed_type
1412:  = typename __make_signed<__remove_cv_t<_Tp>>::__type;
1412: 
1412:     public:
1412:       using __type
1412:  = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     class __make_signed_selector<_Tp, false, true>
1412:     {
1412:       typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type;
1412: 
1412:     public:
1412:       typedef typename __make_signed_selector<__unsigned_type>::__type __type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct __make_signed<wchar_t>
1412:     {
1412:       using __type
1412:  = typename __make_signed_selector<wchar_t, false, true>::__type;
1412:     };
1412: # 1975 "/usr/include/c++/12/type_traits" 3
1412:   template<>
1412:     struct __make_signed<char16_t>
1412:     {
1412:       using __type
1412:  = typename __make_signed_selector<char16_t, false, true>::__type;
1412:     };
1412: 
1412:   template<>
1412:     struct __make_signed<char32_t>
1412:     {
1412:       using __type
1412:  = typename __make_signed_selector<char32_t, false, true>::__type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct make_signed
1412:     { typedef typename __make_signed_selector<_Tp>::__type type; };
1412: 
1412: 
1412:   template<>
1412:     struct make_signed<bool>;
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using make_signed_t = typename make_signed<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using make_unsigned_t = typename make_unsigned<_Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct remove_extent
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp, std::size_t _Size>
1412:     struct remove_extent<_Tp[_Size]>
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_extent<_Tp[]>
1412:     { typedef _Tp type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct remove_all_extents
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp, std::size_t _Size>
1412:     struct remove_all_extents<_Tp[_Size]>
1412:     { typedef typename remove_all_extents<_Tp>::type type; };
1412: 
1412:   template<typename _Tp>
1412:     struct remove_all_extents<_Tp[]>
1412:     { typedef typename remove_all_extents<_Tp>::type type; };
1412: 
1412:
609:         _M_get_Tp_allocator());
609:       }
609: # 1725 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       template<typename _Integer>
609: 
609:  void
609:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
609:  { _M_fill_assign(__n, __val); }
609: 
609: 
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
609:       __false_type)
609:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
609: 
609: 
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
609:         std::input_iterator_tag);
609: 
609: 
609:       template<typename _ForwardIterator>
609: 
609:  void
609:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
609:         std::forward_iterator_tag);
609: 
609: 
609: 
609:      
609:       void
609:       _M_fill_assign(size_type __n, const value_type& __val);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Integer>
609: 
609:  void
609:  _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
609:       __true_type)
609:  { _M_fill_insert(__pos, __n, __val); }
609: 
609: 
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_insert_dispatch(iterator __pos, _InputIterator __first,
609:       _InputIterator __last, __false_type)
609:  {
609:    _M_range_insert(__pos, __first, __last,
609:      std::__iterator_category(__first));
609:  }
609: 
609: 
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_range_insert(iterator __pos, _InputIterator __first,
609:    _InputIterator __last, std::input_iterator_tag);
609: 
609: 
609:       template<typename _ForwardIterator>
609: 
609:  void
609:  _M_range_insert(iterator __pos, _ForwardIterator __first,
609:    _ForwardIterator __last, std::forward_iterator_tag);
609: 
609: 
609: 
609:      
609:       void
609:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
609: 
609: 
609: 
609:      
609:       void
609:       _M_default_append(size_type __n);
609: 
609:      
609:       bool
609:       _M_shrink_to_fit();
609: # 1824 "/usr/include/c++/12/bits/stl_vector.h" 3
609:       struct _Temporary_value
609:       {
609:  template<typename... _Args>
609:    explicit
609:    _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec)
609:    {
609:      _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(),
609:          std::forward<_Args>(__args)...);
609:    }
609: 
609: 
609:  ~_Temporary_value()
609:  { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); }
609: 
609:  value_type&
609:  _M_val() noexcept { return _M_storage._M_val; }
609: 
609:       private:
609:  _Tp*
609:  _M_ptr() noexcept { return std::__addressof(_M_storage._M_val); }
609: 
609:  union _Storage
609:  {
609:    constexpr _Storage() : _M_byte() { }
609:    ~_Storage() { }
609:    _Storage& operator=(const _Storage&) = delete;
609:    unsigned char _M_byte;
609:    _Tp _M_val;
609:  };
609: 
609:  vector* _M_this;
609:  _Storage _M_storage;
609:       };
609: 
609: 
609: 
609:       template<typename _Arg>
609: 
609:  void
609:  _M_insert_aux(iterator __position, _Arg&& __arg);
609: 
609:       template<typename... _Args>
609: 
609:  void
609:  _M_realloc_insert(iterator __position, _Args&&... __args);
609: 
609: 
609:      
609:       iterator
609:       _M_insert_rval(const_iterator __position, value_type&& __v);
609: 
609: 
609:       template<typename... _Args>
609: 
609:  iterator
609:  _M_emplace_aux(const_iterator __position, _Args&&... __args);
609: 
609: 
609:      
609:       iterator
609:       _M_emplace_aux(const_iterator __position, value_type&& __v)
609:       { return _M_insert_rval(__position, std::move(__v)); }
609: 
609: 
609: 
609:      
609:       size_type
609:       _M_check_len(size_type __n, const char* __s) const
609:       {
609:  if (max_size() - size() < __n)
609:    __throw_length_error((__s));
609: 
609:  const size_type __len = size() + (std::max)(size(), __n);
115:     public:
1115:       explicit
1115:       mem_fun_t(_Ret (_Tp::*__pf)())
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(_Tp* __p) const
1115:       { return (__p->*_M_f)(); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)();
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp>
1115:     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
1115:     {
1115:     public:
1115:       explicit
1115:       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(const _Tp* __p) const
1115:       { return (__p->*_M_f)(); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)() const;
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp>
1115:     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
1115:     {
1115:     public:
1115:       explicit
1115:       mem_fun_ref_t(_Ret (_Tp::*__pf)())
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(_Tp& __r) const
1115:       { return (__r.*_M_f)(); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)();
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp>
1115:     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
1115:     {
1115:     public:
1115:       explicit
1115:       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(const _Tp& __r) const
1115:       { return (__r.*_M_f)(); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)() const;
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
1115:     {
1115:     public:
1115:       explicit
1115:       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(_Tp* __p, _Arg __x) const
1115:       { return (__p->*_M_f)(__x); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)(_Arg);
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
1115:     {
1115:     public:
1115:       explicit
1115:       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(const _Tp* __p, _Arg __x) const
1115:       { return (__p->*_M_f)(__x); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)(_Arg) const;
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1115:     {
1115:     public:
1115:       explicit
1115:       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(_Tp& __r, _Arg __x) const
1115:       { return (__r.*_M_f)(__x); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)(_Arg);
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1115:     {
1115:     public:
1115:       explicit
1115:       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
1115:       : _M_f(__pf) { }
1115: 
1115:       _Ret
1115:       operator()(const _Tp& __r, _Arg __x) const
1115:       { return (__r.*_M_f)(__x); }
1115: 
1115:     private:
1115:       _Ret (_Tp::*_M_f)(_Arg) const;
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115: 
1115:   template<typename _Ret, typename _Tp>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline mem_fun_t<_Ret, _Tp>
1115:     mem_fun(_Ret (_Tp::*__f)())
1115:     { return mem_fun_t<_Ret, _Tp>(__f); }
1115: 
11609:  return (__len < size() || __len > max_size()) ? max_size() : __len;
609:       }
609: 
609: 
609:       static size_type
609:       _S_check_init_len(size_type __n, const allocator_type& __a)
609:       {
609:  if (__n > _S_max_size(_Tp_alloc_type(__a)))
609:    __throw_length_error(
609:        ("cannot create std::vector larger than max_size()"));
609:  return __n;
609:       }
609: 
609:       static size_type
609:       _S_max_size(const _Tp_alloc_type& __a) noexcept
609:       {
609: 
609: 
609: 
609:  const size_t __diffmax
609:    = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
609:  const size_t __allocmax = _Alloc_traits::max_size(__a);
609:  return (std::min)(__diffmax, __allocmax);
609:       }
609: 
609: 
609: 
609: 
609: 
609:      
609:       void
609:       _M_erase_at_end(pointer __pos) noexcept
609:       {
609:  if (size_type __n = this->_M_impl._M_finish - __pos)
609:    {
609:      std::_Destroy(__pos, this->_M_impl._M_finish,
609:      _M_get_Tp_allocator());
609:      this->_M_impl._M_finish = __pos;
609:      ;
609:    }
609:       }
609: 
609:      
609:       iterator
609:       _M_erase(iterator __position);
609: 
609:      
609:       iterator
609:       _M_erase(iterator __first, iterator __last);
609: 
609: 
609:     private:
609: 
609: 
609: 
609:      
609:       void
609:       _M_move_assign(vector&& __x, true_type) noexcept
609:       {
609:  vector __tmp(get_allocator());
609:  this->_M_impl._M_swap_data(__x._M_impl);
609:  __tmp._M_impl._M_swap_data(__x._M_impl);
609:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
609:       }
609: 
609: 
609: 
609:      
609:       void
609:       _M_move_assign(vector&& __x, false_type)
609:       {
609:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
609:    _M_move_assign(std::move(__x), true_type());
609:  else
609:    {
609: 
609: 
609:      this->_M_assign_aux(std::make_move_iterator(__x.begin()),
609:            std::make_move_iterator(__x.end()),
609:     std::random_access_iterator_tag());
609:      __x.clear();
609:    }
609:       }
609: 
609: 
609:       template<typename _Up>
609: 
609:  _Up*
609:  _M_data_ptr(_Up* __ptr) const noexcept
609:  { return __ptr; }
609: 
609: 
609:       template<typename _Ptr>
609: 
609:  typename std::pointer_traits<_Ptr>::element_type*
609:  _M_data_ptr(_Ptr __ptr) const
609:  { return empty() ? nullptr : std::__to_address(__ptr); }
609: # 2010 "/usr/include/c++/12/bits/stl_vector.h" 3
609:     };
609: 
609: 
609:   template<typename _InputIterator, typename _ValT
609:       = typename iterator_traits<_InputIterator>::value_type,
609:     typename _Allocator = allocator<_ValT>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     vector(_InputIterator, _InputIterator, _Allocator = _Allocator())
609:       -> vector<_ValT, _Allocator>;
609: # 2032 "/usr/include/c++/12/bits/stl_vector.h" 3
609:   template<typename _Tp, typename _Alloc>
609:    
609:     inline bool
609:     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
609:     { return (__x.size() == __y.size()
609:        && std::equal(__x.begin(), __x.end(), __y.begin())); }
609: # 2072 "/usr/include/c++/12/bits/stl_vector.h" 3
609:   template<typename _Tp, typename _Alloc>
609:     inline bool
609:     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
609:     { return std::lexicographical_compare(__x.begin(), __x.end(),
609:        __y.begin(), __y.end()); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     inline bool
609:     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     inline bool
609:     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
609:     { return __y < __x; }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     inline bool
609:     operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     inline bool
609:     operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     inline void
609:     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609: 
609: 
609: 
609:   namespace __detail::__variant
609:   {
609:     template<typename> struct _Never_valueless_alt;
609: 
609: 
609: 
609:     template<typename _Tp, typename _Alloc>
609:       struct _Never_valueless_alt<std::vector<_Tp, _Alloc>>
609:       : std::is_nothrow_move_assignable<std::vector<_Tp, _Alloc>>
609:       { };
609:   }
609: 
609: 
609: 
609: }
609: # 65 "/usr/include/c++/12/vector" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_bvector.h" 1 3
609: # 64 "/usr/include/c++/12/bits/stl_bvector.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   typedef unsigned long _Bit_type;
609:   enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
609: 
609:   __attribute__((__nonnull__))
609:  
609:   void
609:   __fill_bvector_n(_Bit_type*, size_t, bool) noexcept;
609: 
609: 
609: 
609:   struct _Bit_reference
609:   {
609:     _Bit_type * _M_p;
609:     _Bit_type _M_mask;
609: 
609:    
609:     _Bit_reference(_Bit_type * __x, _Bit_type __y)
609:     : _M_p(__x), _M_mask(__y) { }
609: 
609:    
609:     _Bit_reference() noexcept : _M_p(0), _M_mask(0) { }
609: 
609: 
609:     _Bit_reference(const _Bit_reference&) = default;
609: 
609: 
609:     [[__nodiscard__]]
609:     operator bool() const noexcept
609:     { return !!(*_M_p & _M_mask); }
609: 
609:    
609:     _Bit_reference&
609:     operator=(bool __x) noexcept
609:     {
609:       if (__x)
609:  *_M_p |= _M_mask;
609:       else
609:  *_M_p &= ~_M_mask;
609:       return *this;
609:     }
609: 
609:    
609:     _Bit_reference&
609:     operator=(const _Bit_reference& __x) noexcept
609:     { return *this = bool(__x); }
609: 
609:     [[__nodiscard__]]
609:     bool
609:     operator==(const _Bit_reference& __x) const
609:     { return bool(*this) == bool(__x); }
609: 
609:     [[__nodiscard__]]
609:     bool
609:     operator<(const _Bit_reference& __x) const
609:     { return !bool(*this) && bool(__x); }
609: 
609:    
609:     void
609:     flip() noexcept
609:     { *_M_p ^= _M_mask; }
609: 
609: 
609:    
609:     friend void
609:     swap(_Bit_reference __x, _Bit_reference __y) noexcept
609:     {
609:       bool __tmp = __x;
609:       __x = __y;
609:       __y = __tmp;
609:     }
609: 
609:    
609:     friend void
609:     swap(_Bit_reference __x, bool& __y) noexcept
609:     {
609:       bool __tmp = __x;
609:       __x = __y;
609:       __y = __tmp;
609:     }
609: 
609:    
609:     friend void
609:     swap(bool& __x, _Bit_reference __y) noexcept
609:     {
609:       bool __tmp = __x;
609:       __x = __y;
609:       __y = __tmp;
609:     }
609: 
609:   };
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:   struct _Bit_iterator_base
609:   : public std::iterator<std::random_access_iterator_tag, bool>
609:   {
609:     _Bit_type * _M_p;
609:     unsigned int _M_offset;
609: 
609:    
609:     _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
609:     : _M_p(__x), _M_offset(__y) { }
609: 
609:    
609:     void
609:     _M_bump_up()
609:     {
609:       if (_M_offset++ == int(_S_word_bit) - 1)
609:  {
609:    _M_offset = 0;
609:    ++_M_p;
609:  }
609:     }
609: 
609:    
609:     void
609:     _M_bump_down()
609:     {
609:       if (_M_offset-- == 0)
609:  {
609:    _M_offset = int(_S_word_bit) - 1;
609:    --_M_p;
609:  }
609:     }
609: 
609:    
609:     void
609:     _M_incr(ptrdiff_t __i)
609:     {
609:       difference_type __n = __i + _M_offset;
609:       _M_p += __n / int(_S_word_bit);
609:       __n = __n % int(_S_word_bit);
609:       if (__n < 0)
609:  {
609:    __n += int(_S_word_bit);
609:    --_M_p;
609:  }
609:       _M_offset = static_cast<unsigned int>(__n);
609:     }
609: 
609:     [[__nodiscard__]]
609:     friend bool
609:     operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
609:     { return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; }
609: # 225 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:     [[__nodiscard__]]
609:     friend bool
609:     operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
609:     {
609:       return __x._M_p < __y._M_p
609:      || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset);
609:     }
609: 
609:     [[__nodiscard__]]
609:     friend bool
609:     operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
609:     { return !(__x == __y); }
609: 
609:     [[__nodiscard__]]
609:     friend bool
609:     operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
609:     { return __y < __x; }
609: 
609:     [[__nodiscard__]]
609:     friend bool
609:     operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
609:     { return !(__y < __x); }
609: 
609:     [[__nodiscard__]]
609:     friend bool
609:     operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
609:     { return !(__x < __y); }
609: 
609: 
609:     friend ptrdiff_t
609:     operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
609:     {
609:       return (int(_S_word_bit) * (__x._M_p - __y._M_p)
609:        + __x._M_offset - __y._M_offset);
609:     }
609:   };
609: #pragma GCC diagnostic pop
609: 
609:   struct _Bit_iterator : public _Bit_iterator_base
609:   {
609:     typedef _Bit_reference reference;
609: 
609: 
609: 
609:     typedef _Bit_reference* pointer;
609: 
609:     typedef _Bit_iterator iterator;
609: 
609:    
609:     _Bit_iterator() : _Bit_iterator_base(0, 0) { }
609: 
609:    
609:     _Bit_iterator(_Bit_type * __x, unsigned int __y)
609:     : _Bit_iterator_base(__x, __y) { }
609: 
609:    
609:     iterator
609:     _M_const_cast() const
609:     { return *this; }
609: 
609:     [[__nodiscard__]]
609:     reference
609:     operator*() const
609:     { return reference(_M_p, 1UL << _M_offset); }
609: 
609:    
609:     iterator&
609:     operator++()
609:     {
609:       _M_bump_up();
609:       return *this;
609:     }
609: 
609:    
609:     iterator
609:     operator++(int)
609:     {
609:       iterator __tmp = *this;
609:       _M_bump_up();
609:       return __tmp;
609:     }
609: 
609:    
609:     iterator&
609:     operator--()
609:     {
609:       _M_bump_down();
609:       return *this;
609:     }
609: 
609:    
609:     iterator
609:     operator--(int)
609:     {
609:       iterator __tmp = *this;
609:       _M_bump_down();
609:       return __tmp;
609:     }
609: 
609:    
609:     iterator&
609:     operator+=(difference_type __i)
609:     {
609:       _M_incr(__i);
609:       return *this;
609:     }
609: 
609:    
609:     iterator&
609:     operator-=(difference_type __i)
609:     {
609:       *this += -__i;
609:       return *this;
609:     }
609: 
609:     [[__nodiscard__]]
609:     reference
609:     operator[](difference_type __i) const
609:     { return *(*this + __i); }
609: 
609:     [[__nodiscard__]]
609:     friend iterator
609:     operator+(const iterator& __x, difference_type __n)
609:     {
609:       iterator __tmp = __x;
609:       __tmp += __n;
609:       return __tmp;
609:     }
609: 
609:     [[__nodiscard__]]
609:     friend iterator
609:     operator+(difference_type __n, const iterator& __x)
609:     { return __x + __n; }
609: 
609:     [[__nodiscard__]]
609:     friend iterator
609:     operator-(const iterator& __x, difference_type __n)
609:     {
609:       iterator __tmp = __x;
609:       __tmp -= __n;
609:       return __tmp;
609:     }
609:   };
609: 
609:   struct _Bit_const_iterator : public _Bit_iterator_base
609:   {
609:     typedef bool reference;
609:     typedef bool const_reference;
609: 
609: 
609: 
609:     typedef const bool* pointer;
609: 
609:     typedef _Bit_const_iterator const_iterator;
609: 
609:    
609:     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
609: 
609:    
609:     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
609:     : _Bit_iterator_base(__x, __y) { }
609: 
609:    
609:     _Bit_const_iterator(const _Bit_iterator& __x)
609:     : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
609: 
609:    
609:     _Bit_iterator
609:     _M_const_cast() const
609:     { return _Bit_iterator(_M_p, _M_offset); }
609: 
609:     [[__nodiscard__]]
609:     const_reference
609:     operator*() const
609:     { return _Bit_reference(_M_p, 1UL << _M_offset); }
609: 
609:    
609:     const_iterator&
609:     operator++()
609:     {
609:       _M_bump_up();
609:       return *this;
609:     }
609: 
609:    
609:     const_iterator
609:     operator++(int)
609:     {
609:       const_iterator __tmp = *this;
609:       _M_bump_up();
609:       return __tmp;
609:     }
609: 
609:    
609:     const_iterator&
609:     operator--()
609:     {
609:       _M_bump_down();
609:       return *this;
609:     }
609: 
609:    
609:     const_iterator
609:     operator--(int)
609:     {
609:       const_iterator __tmp = *this;
609:       _M_bump_down();
609:       return __tmp;
609:     }
609: 
609:    
609:     const_iterator&
609:     operator+=(difference_type __i)
609:     {
609:       _M_incr(__i);
609:       return *this;
609:     }
609: 
609:    
609:     const_iterator&
609:     operator-=(difference_type __i)
609:     {
609:       *this += -__i;
609:       return *this;
609:     }
609: 
609:     [[__nodiscard__]]
609:     const_reference
609:     operator[](difference_type __i) const
609:     { return *(*this + __i); }
609: 
609:     [[__nodiscard__]]
609:     friend const_iterator
609:     operator+(const const_iterator& __x, difference_type __n)
609:     {
609:       const_iterator __tmp = __x;
609:       __tmp += __n;
609:       return __tmp;
609:     }
609: 
609:     [[__nodiscard__]]
609:     friend const_iterator
609:     operator-(const const_iterator& __x, difference_type __n)
609:     {
609:       const_iterator __tmp = __x;
609:       __tmp -= __n;
609:       return __tmp;
609:     }
609: 
609:     [[__nodiscard__]]
609:     friend const_iterator
609:     operator+(difference_type __n, const const_iterator& __x)
609:     { return __x + __n; }
609:   };
609: 
609:   template<typename _Alloc>
609:     struct _Bvector_base
609:     {
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:         rebind<_Bit_type>::other _Bit_alloc_type;
609:       typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type>
609:  _Bit_alloc_traits;
609:       typedef typename _Bit_alloc_traits::pointer _Bit_pointer;
609: 
609:       struct _Bvector_impl_data
609:       {
609: 
609:  _Bit_iterator _M_start;
609: # 502 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:  _Bit_iterator _M_finish;
609:  _Bit_pointer _M_end_of_storage;
609: 
609: 
609:  _Bvector_impl_data() noexcept
609:  : _M_start(), _M_finish(), _M_end_of_storage()
609:  { }
609: 
609: 
609:  _Bvector_impl_data(const _Bvector_impl_data&) = default;
609: 
609:  _Bvector_impl_data&
609:  operator=(const _Bvector_impl_data&) = default;
609: 
609: 
609:  _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept
609:  : _Bvector_impl_data(__x)
609:  { __x._M_reset(); }
609: 
609: 
609:  void
609:  _M_move_data(_Bvector_impl_data&& __x) noexcept
609:  {
609:    *this = __x;
609:    __x._M_reset();
609:  }
609: 
609: 
609: 
609:  void
609:  _M_reset() noexcept
609:  { *this = _Bvector_impl_data(); }
609: 
609: 
609:  void
609:  _M_swap_data(_Bvector_impl_data& __x) noexcept
609:  {
609: 
609: 
609:    std::swap(*this, __x);
609:  }
609:       };
609: 
609:       struct _Bvector_impl
609:  : public _Bit_alloc_type, public _Bvector_impl_data
609:       {
609: 
609:  _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value)
609: 
609:  : _Bit_alloc_type()
609:  { }
609: 
609: 
609:  _Bvector_impl(const _Bit_alloc_type& __a) noexcept
609:  : _Bit_allo 
1412: 
1412:   template<typename _Tp>
1412:     using remove_extent_t = typename remove_extent<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename>
1412:     struct __remove_pointer_helper
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct __remove_pointer_helper<_Tp, _Up*>
1412:     { typedef _Up type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct remove_pointer
1412:     : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>>
1412:     { };
1412: 
1412:   template<typename _Tp, bool = __or_<__is_referenceable<_Tp>,
1412:           is_void<_Tp>>::value>
1412:     struct __add_pointer_helper
1412:     { typedef _Tp type; };
1412: 
1412:   template<typename _Tp>
1412:     struct __add_pointer_helper<_Tp, true>
1412:     { typedef typename remove_reference<_Tp>::type* type; };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct add_pointer
1412:     : public __add_pointer_helper<_Tp>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using remove_pointer_t = typename remove_pointer<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using add_pointer_t = typename add_pointer<_Tp>::type;
1412: 
1412: 
1412:   template<std::size_t _Len>
1412:     struct __aligned_storage_msa
1412:     {
1412:       union __type
1412:       {
1412:  unsigned char __data[_Len];
1412:  struct __attribute__((__aligned__)) { } __align;
1412:       };
1412:     };
1412: # 2111 "/usr/include/c++/12/type_traits" 3
1412:   template<std::size_t _Len, std::size_t _Align =
1412:     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1412:     struct aligned_storage
1412:     {
1412:       union type
1412:       {
1412:  unsigned char __data[_Len];
1412:  struct __attribute__((__aligned__((_Align)))) { } __align;
1412:       };
1412:     };
1412: 
1412:   template <typename... _Types>
1412:     struct __strictest_alignment
1412:     {
1412:       static const size_t _S_alignment = 0;
1412:       static const size_t _S_size = 0;
1412:     };
1412: 
1412:   template <typename _Tp, typename... _Types>
1412:     struct __strictest_alignment<_Tp, _Types...>
1412:     {
1412:       static const size_t _S_alignment =
1412:         alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
1412:  ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
1412:       static const size_t _S_size =
1412:         sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
1412:  ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
1412:     };
1412: # 2150 "/usr/include/c++/12/type_traits" 3
1412:   template <size_t _Len, typename... _Types>
1412:     struct aligned_union
1412:     {
1412:     private:
1412:       static_assert(sizeof...(_Types) != 0, "At least one type is required");
1412: 
1412:       using __strictest = __strictest_alignment<_Types...>;
1412:       static const size_t _S_len = _Len > __strictest::_S_size
1412:  ? _Len : __strictest::_S_size;
1412:     public:
1412: 
1412:       static const size_t alignment_value = __strictest::_S_alignment;
1412: 
1412:       typedef typename aligned_storage<_S_len, alignment_value>::type type;
1412:     };
1412: 
1412:   template <size_t _Len, typename... _Types>
1412:     const size_t aligned_union<_Len, _Types...>::alignment_value;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Up,
1412:     bool _IsArray = is_array<_Up>::value,
1412:     bool _IsFunction = is_function<_Up>::value>
1412:     struct __decay_selector;
1412: 
1412: 
1412:   template<typename _Up>
1412:     struct __decay_selector<_Up, false, false>
1412:     { typedef __remove_cv_t<_Up> __type; };
1412: 
1412:   template<typename _Up>
1412:     struct __decay_selector<_Up, true, false>
1412:     { typedef typename remove_extent<_Up>::type* __type; };
1412: 
1412:   template<typename _Up>
1412:     struct __decay_selector<_Up, false, true>
1412:     { typedef typename add_pointer<_Up>::type __type; };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     class decay
1412:     {
1412:       typedef typename remove_reference<_Tp>::type __remove_type;
1412: 
1412:     public:
1412:       typedef typename __decay_selector<__remove_type>::__type type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __strip_reference_wrapper
1412:     {
1412:       typedef _Tp __type;
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __strip_reference_wrapper<reference_wrapper<_Tp> >
1412:     {
1412:       typedef _Tp& __type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using __decay_t = typename decay<_Tp>::type;
1412: 
1412:   template<typename _Tp>
1412:     using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
1412: 
1412: 
1412: 
1412: 
1412:   template<bool, typename _Tp = void>
1412:     struct enable_if
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct enable_if<true, _Tp>
1412:     { typedef _Tp type; };
1412: 
1412: 
1412: 
1412: 
1412:   template<bool _Cond, typename _Tp = void>
1412:     using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
1412: 
1412: 
1412:   template<typename... _Cond>
1412:     using _Require = __enable_if_t<__and_<_Cond...>::value>;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using __remove_cvref_t
1412:      = typename remove_cv<typename remove_reference<_Tp>::type>::type;
1412: 
1412: 
1412: 
1412: 
1412:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1412:     struct conditional
1412:     { typedef _Iftrue type; };
1412: 
1412: 
1412:   template<typename _Iftrue, typename _Iffalse>
1412:     struct conditional<false, _Iftrue, _Iffalse>
1412:     { typedef _Iffalse type; };
1412: 
1412: 
1412:   template<typename... _Tp>
1412:     struct common_type;
1412: 
1412: 
1412: 
1412: 
1412:   struct __do_common_type_impl
1412:   {
1412:     template<typename _Tp, typename _Up>
1412:       using __cond_t
1412:  = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
1412: 
1412: 
1412: 
1412:     template<typename _Tp, typename _Up>
1412:       static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
1412:       _S_test(int);
1412: # 2290 "/usr/include/c++/12/type_traits" 3
1412:     template<typename, typename>
1412:       static __failure_type
1412:       _S_test_2(...);
1412: 
1412:     template<typename _Tp, typename _Up>
1412:       static decltype(_S_test_2<_Tp, _Up>(0))
1412:       _S_test(...);
1412:   };
1412: 
1412: 
1412:   template<>
1412:     struct common_type<>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp0>
1412:     struct common_type<_Tp0>
1412:     : public common_type<_Tp0, _Tp0>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp1, typename _Tp2,
1412:     typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
1412:     struct __common_type_impl
1412:     {
1412: 
1412: 
1412:       using type = common_type<_Dp1, _Dp2>;
1412:     };
1412: 
1412:   template<typename _Tp1, typename _Tp2>
1412:     struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
1412:     : private __do_common_type_impl
1412:     {
1412: 
1412: 
1412:       using type = decltype(_S_test<_Tp1, _Tp2>(0));
1412:     };
1412: 
1412: 
1412:   template<typename _Tp1, typename _Tp2>
1412:     struct common_type<_Tp1, _Tp2>
1412:     : public __common_type_impl<_Tp1, _Tp2>::type
1412:     { };
1412: 
1412:   template<typename...>
1412:     struct __common_type_pack
1412:     { };
1412: 
1412:   template<typename, typename, typename = void>
1412:     struct __common_type_fold;
1412: 
1412: 
1412:   template<typename _Tp1, typename _Tp2, typename... _Rp>
1412:     struct common_type<_Tp1, _Tp2, _Rp...>
1412:     : public __common_type_fold<common_type<_Tp1, _Tp2>,
1412:     __common_type_pack<_Rp...>>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CTp, typename... _Rp>
1412:     struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
1412:          __voidc_type(__a)
609:  { }
609: 
609: 
609: 
609: 
609: 
609:  _Bvector_impl(_Bvector_impl&& __x) noexcept
609:  : _Bit_alloc_type(std::move(__x)), _Bvector_impl_data(std::move(__x))
609:  { }
609: 
609: 
609:  _Bvector_impl(_Bit_alloc_type&& __a, _Bvector_impl&& __x) noexcept
609:  : _Bit_alloc_type(std::move(__a)), _Bvector_impl_data(std::move(__x))
609:  { }
609: 
609: 
609: 
609:  _Bit_type*
609:  _M_end_addr() const noexcept
609:  {
609:    if (this->_M_end_of_storage)
609:      return std::__addressof(this->_M_end_of_storage[-1]) + 1;
609:    return 0;
609:  }
609:       };
609: 
609:     public:
609:       typedef _Alloc allocator_type;
609: 
609:      
609:       _Bit_alloc_type&
609:       _M_get_Bit_allocator() noexcept
609:       { return this->_M_impl; }
609: 
609:      
609:       const _Bit_alloc_type&
609:       _M_get_Bit_allocator() const noexcept
609:       { return this->_M_impl; }
609: 
609:      
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(_M_get_Bit_allocator()); }
609: 
609: 
609:       _Bvector_base() = default;
609: 
609: 
609: 
609: 
609:      
609:       _Bvector_base(const allocator_type& __a)
609:       : _M_impl(__a) { }
609: 
609: 
609:       _Bvector_base(_Bvector_base&&) = default;
609: 
609:      
609:       _Bvector_base(_Bvector_base&& __x, const allocator_type& __a) noexcept
609:       : _M_impl(_Bit_alloc_type(__a), std::move(__x._M_impl))
609:       { }
609: 
609: 
609:      
609:       ~_Bvector_base()
609:       { this->_M_deallocate(); }
609: 
609:     protected:
609:       _Bvector_impl _M_impl;
609: 
609:      
609:       _Bit_pointer
609:       _M_allocate(size_t __n)
609:       {
609:  _Bit_pointer __p = _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n));
609: # 640 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:  return __p;
609:       }
609: 
609:      
609:       void
609:       _M_deallocate()
609:       {
609:  if (_M_impl._M_start._M_p)
609:    {
609:      const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p;
609:      _Bit_alloc_traits::deallocate(_M_impl,
609:        _M_impl._M_end_of_storage - __n,
609:        __n);
609:      _M_impl._M_reset();
609:    }
609:       }
609: 
609: 
609:      
609:       void
609:       _M_move_data(_Bvector_base&& __x) noexcept
609:       { _M_impl._M_move_data(std::move(__x._M_impl)); }
609: 
609: 
609:       constexpr
609:       static size_t
609:       _S_nword(size_t __n)
609:       { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
609:     };
609: # 689 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:   template<typename _Alloc>
609:     class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
609:     {
609:       typedef _Bvector_base<_Alloc> _Base;
609:       typedef typename _Base::_Bit_pointer _Bit_pointer;
609:       typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits;
609: 
609: 
609:       friend struct std::hash<vector>;
609: 
609: 
609:     public:
609:       typedef bool value_type;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef _Bit_reference reference;
609:       typedef bool const_reference;
609:       typedef _Bit_reference* pointer;
609:       typedef const bool* const_pointer;
609:       typedef _Bit_iterator iterator;
609:       typedef _Bit_const_iterator const_iterator;
609:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
609:       typedef std::reverse_iterator<iterator> reverse_iterator;
609:       typedef _Alloc allocator_type;
609: 
609:      
609:       allocator_type
609:       get_allocator() const
609:       { return _Base::get_allocator(); }
609: 
609:     protected:
609:       using _Base::_M_allocate;
609:       using _Base::_M_deallocate;
609:       using _Base::_S_nword;
609:       using _Base::_M_get_Bit_allocator;
609: 
609:     public:
609: 
609:       vector() = default;
609: 
609: 
609: 
609: 
609:      
609:       explicit
609:       vector(const allocator_type& __a)
609:       : _Base(__a) { }
609: 
609: 
609:      
609:   15:   template<typename _Ret, typename _Tp>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline const_mem_fun_t<_Ret, _Tp>
1115:     mem_fun(_Ret (_Tp::*__f)() const)
1115:     { return const_mem_fun_t<_Ret, _Tp>(__f); }
1115: 
1115:   template<typename _Ret, typename _Tp>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline mem_fun_ref_t<_Ret, _Tp>
1115:     mem_fun_ref(_Ret (_Tp::*__f)())
1115:     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
1115: 
1115:   template<typename _Ret, typename _Tp>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline const_mem_fun_ref_t<_Ret, _Tp>
1115:     mem_fun_ref(_Ret (_Tp::*__f)() const)
1115:     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline mem_fun1_t<_Ret, _Tp, _Arg>
1115:     mem_fun(_Ret (_Tp::*__f)(_Arg))
1115:     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
1115:     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
1115:     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
1115:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
1115:     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1115: 
1115:   template<typename _Ret, typename _Tp, typename _Arg>
1115:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1115:     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
1115:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
1115:     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Func, typename _SfinaeType, typename = __void_t<>>
1115:     struct __has_is_transparent
1115:     { };
1115: 
1115:   template<typename _Func, typename _SfinaeType>
1115:     struct __has_is_transparent<_Func, _SfinaeType,
1115:     __void_t<typename _Func::is_transparent>>
1115:     { typedef void type; };
1115: 
1115:   template<typename _Func, typename _SfinaeType>
1115:     using __has_is_transparent_t
1115:       = typename __has_is_transparent<_Func, _SfinaeType>::type;
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/backward/binders.h" 1 3
1115: # 60 "/usr/include/c++/12/backward/binders.h" 3
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 107 "/usr/include/c++/12/backward/binders.h" 3
1115:   template<typename _Operation>
1115:     class binder1st
1115:     : public unary_function<typename _Operation::second_argument_type,
1115:        typename _Operation::result_type>
1115:     {
1115:     protected:
1115:       _Operation op;
1115:       typename _Operation::first_argument_type value;
1115: 
1115:     public:
1115:       binder1st(const _Operation& __x,
1115:   const typename _Operation::first_argument_type& __y)
1115:       : op(__x), value(__y) { }
1115: 
1115:       typename _Operation::result_type
1115:       operator()(const typename _Operation::second_argument_type& __x) const
1115:       { return op(value, __x); }
1115: 
1115: 
1115: 
1115:       typename _Operation::result_type
1115:       operator()(typename _Operation::second_argument_type& __x) const
1115:       { return op(value, __x); }
1115:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1115: 
1115: 
1115:   template<typename _Operation, typename _Tp>
1115:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1115:     inline binder1st<_Operation>
111_t<typename _CTp::type>>
1412:     : public common_type<typename _CTp::type, _Rp...>
1412:     { };
1412: 
1412: 
1412:   template<typename _CTp, typename _Rp>
1412:     struct __common_type_fold<_CTp, _Rp, void>
1412:     { };
1412: 
1412:   template<typename _Tp, bool = is_enum<_Tp>::value>
1412:     struct __underlying_type_impl
1412:     {
1412:       using type = __underlying_type(_Tp);
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __underlying_type_impl<_Tp, false>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct underlying_type
1412:     : public __underlying_type_impl<_Tp>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __declval_protector
1412:     {
1412:       static const bool __stop = false;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     auto declval() noexcept -> decltype(__declval<_Tp>(0))
1412:     {
1412:       static_assert(__declval_protector<_Tp>::__stop,
1412:       "declval() must not be used!");
1412:       return __declval<_Tp>(0);
1412:     }
1412: 
1412: 
1412:   template<typename _Signature>
1412:     struct result_of;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   struct __invoke_memfun_ref { };
1412:   struct __invoke_memfun_deref { };
1412:   struct __invoke_memobj_ref { };
1412:   struct __invoke_memobj_deref { };
1412:   struct __invoke_other { };
1412: 
1412: 
1412:   template<typename _Tp, typename _Tag>
1412:     struct __result_of_success : __success_type<_Tp>
1412:     { using __invoke_type = _Tag; };
1412: 
1412: 
1412:   struct __result_of_memfun_ref_impl
1412:   {
1412:     template<typename _Fp, typename _Tp1, typename... _Args>
1412:       static __result_of_success<decltype(
1412:       (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
1412:       ), __invoke_memfun_ref> _S_test(int);
1412: 
1412:     template<typename...>
1412:       static __failure_type _S_test(...);
1412:   };
1412: 
1412:   template<typename _MemPtr, typename _Arg, typename... _Args>
1412:     struct __result_of_memfun_ref
1412:     : private __result_of_memfun_ref_impl
1412:     {
1412:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1412:     };
1412: 
1412: 
1412:   struct __result_of_memfun_deref_impl
1412:   {
1412:     template<typename _Fp, typename _Tp1, typename... _Args>
1412:       static __result_of_success<decltype(
1412:       ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
1412:       ), __invoke_memfun_deref> _S_test(int);
1412: 
1412:     template<typename...>
1412:       static __failure_type _S_test(...);
1412:   };
1412: 
1412:   template<typename _MemPtr, typename _Arg, typename... _Args>
1412:     struct __result_of_memfun_deref
1412:     : private __result_of_memfun_deref_impl
1412:     {
1412:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1412:     };
1412: 
1412: 
1412:   struct __result_of_memobj_ref_impl
1412:   {
1412:     template<typename _Fp, typename _Tp1>
1412:       static __result_of_success<decltype(
1412:       std::declval<_Tp1>().*std::declval<_Fp>()
1412:       ), __invoke_memobj_ref> _S_test(int);
1412: 
1412:     template<typename, typename>
1412:       static __failure_type _S_test(...);
1412:   };
1412: 
1412:   template<typename _MemPtr, typename _Arg>
1412:     struct __result_of_memobj_ref
1412:     : private __result_of_memobj_ref_impl
1412:     {
1412:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1412:     };
1412: 
1412: 
1412:   struct __result_of_memobj_deref_impl
1412:   {
1412:     template<typename _Fp, typename _Tp1>
1412:       static __result_of_success<decltype(
1412:       (*std::declval<_Tp1>()).*std::declval<_Fp>()
1412:       ), __invoke_memobj_deref> _S_test(int);
1412: 
1412:     template<typename, typename>
1412:       static __failure_type _S_test(...);
1412:   };
1412: 
1412:   template<typename _MemPtr, typename _Arg>
1412:     struct __result_of_memobj_deref
1412:     : private __result_of_memobj_deref_impl
141    explicit
609:       vector(size_type __n, const allocator_type& __a = allocator_type())
609:       : vector(__n, false, __a)
609:       { }
609: 
609:      
609:       vector(size_type __n, const bool& __value,
609:       const allocator_type& __a = allocator_type())
609: 
609: 
609: 
609: 
609: 
609:       : _Base(__a)
609:       {
609:  _M_initialize(__n);
609:  _M_initialize_value(__value);
609:       }
609: 
609:      
609:       vector(const vector& __x)
609:       : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator()))
609:       {
609:  _M_initialize(__x.size());
609:  _M_copy_aligned(__x.begin(), __x.end(), begin());
609:       }
609: 
609: 
609:       vector(vector&&) = default;
609: 
609:     private:
609:      
609:       vector(vector&& __x, const allocator_type& __a, true_type) noexcept
609:       : _Base(std::move(__x), __a)
609:       { }
609: 
609:      
609:       vector(vector&& __x, const allocator_type& __a, false_type)
609:       : _Base(__a)
609:       {
609:  if (__x.get_allocator() == __a)
609:    this->_M_move_data(std::move(__x));
609:  else
609:    {
609:      _M_initialize(__x.size());
609:      _M_copy_aligned(__x.begin(), __x.end(), begin());
609:      __x.clear();
609:    }
609:       }
609: 
609:     public:
609:      
609:       vector(vector&& __x, const __type_identity_t<allocator_type>& __a)
609:       noexcept(_Bit_alloc_traits::_S_always_equal())
609:       : vector(std::move(__x), __a,
609:         typename _Bit_alloc_traits::is_always_equal{})
609:       { }
609: 
609:      
609:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
609:       : _Base(__a)
609:       {
609:  _M_initialize(__x.size());
609:  _M_copy_aligned(__x.begin(), __x.end(), begin());
609:       }
609: 
609:      
609:       vector(initializer_list<bool> __l,
609:       const allocator_type& __a = allocator_type())
609:       : _Base(__a)
609:       {
609:  _M_initialize_range(__l.begin(), __l.end(),
609:        random_access_iterator_tag());
609:       }
609: 
609: 
609: 
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:  vector(_InputIterator __first, _InputIterator __last,
609:         const allocator_type& __a = allocator_type())
609:  : _Base(__a)
609:  {
609:    _M_initialize_range(__first, __last,
609:          std::__iterator_category(__first));
609:  }
609: # 838 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:      
609:       ~vector() noexcept { }
609: 
609:      
609:       vector&
609:       operator=(const vector& __x)
609:       {
609:  if (&__x == this)
609:    return *this;
609: 
609:  if (_Bit_alloc_traits::_S_propagate_on_copy_assign())
609:    {
609:      if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator())
609:        {
609:   this->_M_deallocate();
609:   std::__alloc_on_copy(_M_get_Bit_allocator(),
609:          __x._M_get_Bit_allocator());
609:   _M_initialize(__x.size());
609:        }
609:      else
609:        std::__alloc_on_copy(_M_get_Bit_allocator(),
609:        __x._M_get_Bit_allocator());
609:    }
609: 
609:  if (__x.size() > capacity())
609:    {
609:      this->_M_deallocate();
609:      _M_initialize(__x.size());
609:    }
609:  this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
609:         begin());
609:  return *this;
609:       }
609: 
609: 
609:      
609:       vector&
609:       operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
609:       {
609:  if (_Bit_alloc_traits::_S_propagate_on_move_assign()
609:      || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator())
609:    {
609:      this->_M_deallocate();
609:      this->_M_move_data(std::move(__x));
609:      std::__alloc_on_move(_M_get_Bit_allocator(),
609:      __x._M_get_Bit_allocator());
609:    }
609:  else
609:    {
609:      if (__x.size() > capacity())
609:        {
609:   this->_M_deallocate();
609:   _M_initialize(__x.size());
609:        }
609:      this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
609:             begin());
609:      __x.clear();
609:    }
609:  return *this;
609:       }
609: 
609:      
609:       vector&
609:       operator=(initializer_list<bool> __l)
609:       {
609:  this->assign(__l.begin(), __l.end());
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       void
609:       assign(size_type __n, const bool& __x)
609:       { _M_fill_assign(__n, __x); }
609: 
609: 
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:  void
609:  assign(_InputIterator __first, _InputIterator __last)
609:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
609: # 936 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:      
609:       void
609:       assign(initializer_list<bool> __l)
609:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
609: 
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       begin() noexcept
609:       { return iterator(this->_M_impl._M_start._M_p, 0); }
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       begin() const noexcept
609:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       end() noexcept
609:       { return this->_M_impl._M_finish; }
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       end() const noexcept
609:       { return this->_M_impl._M_finish; }
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return reverse_iterator(end()); }
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rend() noexcept
609:       { return reverse_iterator(begin()); }
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cbegin() const noexcept
609:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cend() const noexcept
609:       { return this->_M_impl._M_finish; }
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       size() const noexcept
609:       { return size_type(end() - begin()); }
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       max_size() const noexcept
609:       {
609:  const size_type __isize =
609:    __gnu_cxx::__numeric_traits<difference_type>::__max
609:    - int(_S_word_bit) + 1;
609:  const size_type __asize
609:    = _Bit_alloc_traits::max_size(_M_get_Bit_allocator());
609:  return (__asize <= __isize / int(_S_word_bit)
609:   ? __asize * int(_S_word_bit) : __isize);
609:       }
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       capacity() const noexcept
609:       { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0)
609:     - begin()); }
609: 
609:       [[__nodiscard__]]
609:       bool
609:       empty() const noexcept
609:       { return begin() == end(); }
609: 
609:       [[__nodiscard__]]
609:       reference
609:       operator[](size_type __n)
609:       { return begin()[__n]; }
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       operator[](size_type __n) const
609:       { return begin()[__n]; }
609: 
609:     protected:
609:      
609:       void
609:       _M_range_check(size_type __n) const
609:       {
609:  if (__n >= this->size())
609:    __throw_out_of_range_fmt(("vector<bool>::_M_range_check: __n " "(which is %zu) >= th5:     bind1st(const _Operation& __fn, const _Tp& __x)
1115:     {
1115:       typedef typename _Operation::first_argument_type _Arg1_type;
1115:       return binder1st<_Operation>(__fn, _Arg1_type(__x));
1115:     }
1115: 
1115: 
1115:   template<typename _Operation>
1115:     class binder2nd
1115:     : public unary_function<typename _Operation::first_argument_type,
1115:        typename _Operation::result_type>
1115:     {
1115:     protected:
1115:       _Operation op;
1115:       typename _Operation::second_argument_type value;
1115: 
1115:     public:
1115:       binder2nd(const _Operation& __x,
1115:   const typename _Operation::second_argument_type& __y)
1115:       : op(__x), value(__y) { }
1115: 
1115:       typename _Operation::result_type
1115:       operator()(const typename _Operation::first_argument_type& __x) const
1115:       { return op(__x, value); }
1115: 
1115: 
1115: 
1115:       typename _Operation::result_type
1115:       operator()(typename _Operation::first_argument_type& __x) const
1115:       { return op(__x, value); }
1115:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1115: 
1115: 
1115:   template<typename _Operation, typename _Tp>
1115:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1115:     inline binder2nd<_Operation>
1115:     bind2nd(const _Operation& __fn, const _Tp& __x)
1115:     {
1115:       typedef typename _Operation::second_argument_type _Arg2_type;
1115:       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: 
1115: #pragma GCC diagnostic pop
1115: # 1439 "/usr/include/c++/12/bits/stl_function.h" 2 3
1115: # 38 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/functional_hash.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/functional_hash.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/functional_hash.h" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/hash_bytes.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/hash_bytes.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/hash_bytes.h" 3
1115: 
1115: 
1115: 
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   size_t
1115:   _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   size_t
1115:   _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1115: 
1115: 
1115: }
1115: # 37 "/usr/include/c++/12/bits/functional_hash.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 50 "/usr/include/c++/12/bits/functional_hash.h" 3
1115:   template<typename _Result, typename _Arg>
1115:     struct __hash_base
1115:     {
1115:       typedef _Result result_type [[__deprecated__]];
1115:       typedef _Arg argument_type [[__deprecated__]];
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct hash;
1115: 
1115:   template<typename _Tp, typename = void>
1115:     struct __poison_hash
1115:     {
1115:       static constexpr bool __enable_hash_call = false;
1115:     private:
1115: 
1115:       __poison_hash(__poison_hash&&);
1115:       ~__poison_hash();
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct __poison_hash<_Tp, __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
1115:     {
1115:       static constexpr bool __enable_hash_call = true;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, bool = is_enum<_Tp>::value>
1115:     struct __hash_enum
1115:     {
1115:     private:
1115: 
1115:       __hash_enum(__hash_enum&&);
1115:       ~__hash_enum();
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp>
1115:     {
1115:       size_t
1115:       operator()(_Tp __val) const noexcept
1115:       {
1115:        using __type = typename underlying_type<_Tp>::type;
1115:        return hash<__type>{}(static_cast<__type>(__val));
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct hash : __hash_enum<_Tp>
11is->size() " "(which is %zu)")
609: 
609:                             ,
609:        __n, this->size());
609:       }
609: 
609:     public:
609:      
609:       reference
609:       at(size_type __n)
609:       {
609:  _M_range_check(__n);
609:  return (*this)[__n];
609:       }
609: 
609:      
609:       const_reference
609:       at(size_type __n) const
609:       {
609:  _M_range_check(__n);
609:  return (*this)[__n];
609:       }
609: 
609:      
609:       void
609:       reserve(size_type __n)
609:       {
609:  if (__n > max_size())
609:    __throw_length_error(("vector::reserve"));
609:  if (capacity() < __n)
609:    _M_reallocate(__n);
609:       }
609: 
609:       [[__nodiscard__]]
609:       reference
609:       front()
609:       { return *begin(); }
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       front() const
609:       { return *begin(); }
609: 
609:       [[__nodiscard__]]
609:       reference
609:       back()
609:       { return *(end() - 1); }
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       back() const
609:       { return *(end() - 1); }
609: 
609:      
609:       void
609:       push_back(bool __x)
609:       {
609:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
609:    *this->_M_impl._M_finish++ = __x;
609:  else
609:    _M_insert_aux(end(), __x);
609:       }
609: 
609:      
609:       void
609:       swap(vector& __x) noexcept
609:       {
609: 
609:  do { if (std::__is_constant_evaluated() && !bool(_Bit_alloc_traits::propagate_on_container_swap::value || _M_get_Bit_allocator() == __x._M_get_Bit_allocator())) __builtin_unreachable(); } while (false)
609:                                                             ;
609: 
609:  this->_M_impl._M_swap_data(__x._M_impl);
609:  _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(),
609:           __x._M_get_Bit_allocator());
609:       }
609: 
609: 
609:      
609:       static void
609:       swap(reference __x, reference __y) noexcept
609:       {
609:  bool __tmp = __x;
609:  __x = __y;
609:  __y = __tmp;
609:       }
609: 
609:      
609:       iterator
609: 
609:       insert(const_iterator __position, const bool& __x)
609: 
609: 
609: 
609:       {
609:  const difference_type __n = __position - begin();
609:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()
609:      && __position == end())
609:    *this->_M_impl._M_finish++ = __x;
609:  else
609:    _M_insert_aux(__position._M_const_cast(), __x);
609:  return begin() + __n;
609:       }
609: 
609: 
609:       __attribute__ ((__deprecated__ ("use '" "insert(position, false)" "' instead")))
609:       iterator
609:       insert(const_iterator __position)
609:       { return this->insert(__position._M_const_cast(), false); }
609: 
609: 
609: 
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609: 
609:  iterator
609:  insert(const_iterator __position,
609:         _InputIterator __first, _InputIterator __last)
609:  {
609:    difference_type __offset = __position - cbegin();
609:    _M_insert_range(__position._M_const_cast(),
609:      __first, __last,
609:      std::__iterator_category(__first));
609:    return begin() + __offset;
609:  }
609: # 1186 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:      
609:       iterator
609:       insert(const_iterator __position, size_type __n, const bool& __x)
609:       {
609:  difference_type __offset = __position - cbegin();
609:  _M_fill_insert(__position._M_const_cast(), __n, __x);
609:  return begin() + __offset;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       iterator
609:       insert(const_iterator __p, initializer_list<bool> __l)
609:       { return this->insert(__p, __l.begin(), __l.end()); }
609: 
609: 
609:      
609:       void
609:       pop_back()
609:       { --this->_M_impl._M_finish; }
609: 
609:      
609:       iterator
609: 
609:       erase(const_iterator __position)
609: 
609: 
609: 
609:       { return _M_erase(__position._M_const_cast()); }
609: 
609:      
609:2:     {
1412:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1412:     };
1412: 
1412:   template<typename _MemPtr, typename _Arg>
1412:     struct __result_of_memobj;
1412: 
1412:   template<typename _Res, typename _Class, typename _Arg>
1412:     struct __result_of_memobj<_Res _Class::*, _Arg>
1412:     {
1412:       typedef __remove_cvref_t<_Arg> _Argval;
1412:       typedef _Res _Class::* _MemPtr;
1412:       typedef typename __conditional_t<__or_<is_same<_Argval, _Class>,
1412:         is_base_of<_Class, _Argval>>::value,
1412:         __result_of_memobj_ref<_MemPtr, _Arg>,
1412:         __result_of_memobj_deref<_MemPtr, _Arg>
1412:       >::type type;
1412:     };
1412: 
1412:   template<typename _MemPtr, typename _Arg, typename... _Args>
1412:     struct __result_of_memfun;
1412: 
1412:   template<typename _Res, typename _Class, typename _Arg, typename... _Args>
1412:     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
1412:     {
1412:       typedef typename remove_reference<_Arg>::type _Argval;
1412:       typedef _Res _Class::* _MemPtr;
1412:       typedef typename __conditional_t<is_base_of<_Class, _Argval>::value,
1412:         __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
1412:         __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
1412:       >::type type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
1412:     struct __inv_unwrap
1412:     {
1412:       using type = _Tp;
1412:     };
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
1412:     {
1412:       using type = _Up&;
1412:     };
1412: 
1412:   template<bool, bool, typename _Functor, typename... _ArgTypes>
1412:     struct __result_of_impl
1412:     {
1412:       typedef __failure_type type;
1412:     };
1412: 
1412:   template<typename _MemPtr, typename _Arg>
1412:     struct __result_of_impl<true, false, _MemPtr, _Arg>
1412:     : public __result_of_memobj<__decay_t<_MemPtr>,
1412:     typename __inv_unwrap<_Arg>::type>
1412:     { };
1412: 
1412:   template<typename _MemPtr, typename _Arg, typename... _Args>
1412:     struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
1412:     : public __result_of_memfun<__decay_t<_MemPtr>,
1412:     typename __inv_unwrap<_Arg>::type, _Args...>
1412:     { };
1412: 
1412: 
1412:   struct __result_of_other_impl
1412:   {
1412:     template<typename _Fn, typename... _Args>
1412:       static __result_of_success<decltype(
1412:       std::declval<_Fn>()(std::declval<_Args>()...)
1412:       ), __invoke_other> _S_test(int);
1412: 
1412:     template<typename...>
1412:       static __failure_type _S_test(...);
1412:   };
1412: 
1412:   template<typename _Functor, typename... _ArgTypes>
1412:     struct __result_of_impl<false, false, _Functor, _ArgTypes...>
1412:     : private __result_of_other_impl
1412:     {
1412:       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
1412:     };
1412: 
1412: 
1412:   template<typename _Functor, typename... _ArgTypes>
1412:     struct __invoke_result
1412:     : public __result_of_impl<
1412:         is_member_object_pointer<
1412:           typename remove_reference<_Functor>::type
1412:         >::value,
1412:         is_member_function_pointer<
1412:           typename remove_reference<_Functor>::type
1412:         >::value,
1412:  _Functor, _ArgTypes...
1412:       >::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Functor, typename... _ArgTypes>
1412:     struct result_of<_Functor(_ArgTypes...)>
1412:     : public __invoke_result<_Functor, _ArgTypes...>
1412:     { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
1412: 
1412: 
1412: 
1412:   template<size_t _Len, size_t _Align =
1412:      __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1412:     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
1412: 
1412:   template <size_t _Len, typename... _Types>
1412:     using aligned_union_t = typename aligned_union<_Len, _Ty       iterator
609: 
609:       erase(const_iterator __first, const_iterator __last)
609: 
609: 
609: 
609:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
609: 
609:      
609:       void
609:       resize(size_type __new_size, bool __x = bool())
609:       {
609:  if (__new_size < size())
609:    _M_erase_at_end(begin() + difference_type(__new_size));
609:  else
609:    insert(end(), __new_size - size(), __x);
609:       }
609: 
609: 
609:      
609:       void
609:       shrink_to_fit()
609:       { _M_shrink_to_fit(); }
609: 
609: 
609:      
609:       void
609:       flip() noexcept
609:       {
609:  _Bit_type * const __end = this->_M_impl._M_end_addr();
609:  for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p)
609:    *__p = ~*__p;
609:       }
609: 
609:      
609:       void
609:       clear() noexcept
609:       { _M_erase_at_end(begin()); }
609: 
609: 
609:       template<typename... _Args>
609: 
609: 
609:  reference
609: 
609: 
609: 
609:  emplace_back(_Args&&... __args)
609:  {
609:    push_back(bool(__args...));
609: 
609:    return back();
609: 
609:  }
609: 
609:       template<typename... _Args>
609: 
609:  iterator
609:  emplace(const_iterator __pos, _Args&&... __args)
609:  { return insert(__pos, bool(__args...)); }
609: 
609: 
609:     protected:
609: 
609:      
609:       iterator
609:       _M_copy_aligned(const_iterator __first, const_iterator __last,
609:         iterator __result)
609:       {
609:  _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
609:  return std::copy(const_iterator(__last._M_p, 0), __last,
609:     iterator(__q, 0));
609:       }
609: 
609:      
609:       void
609:       _M_initialize(size_type __n)
609:       {
609:  if (__n)
609:    {
609:      _Bit_pointer __q = this->_M_allocate(__n);
609:      this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
609:      iterator __start = iterator(std::__addressof(*__q), 0);
609:      this->_M_impl._M_start = __start;
609:      this->_M_impl._M_finish = __start + difference_type(__n);
609:    }
609:       }
609: 
609:      
609:       void
609:       _M_initialize_value(bool __x) noexcept
609:       {
609:  if (_Bit_type* __p = this->_M_impl._M_start._M_p)
609:    __fill_bvector_n(__p, this->_M_impl._M_end_addr() - __p, __x);
609:       }
609: 
609:      
609:       void
609:       _M_reallocate(size_type __n);
609: 
609: 
609:      
609:       bool
609:       _M_shrink_to_fit();
609: # 1347 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_initialize_range(_InputIterator __first, _InputIterator __last,
609:        std::input_iterator_tag)
609:  {
609:    for (; __first != __last; ++__first)
609:      push_back(*__first);
609:  }
609: 
609:       template<typename _ForwardIterator>
609: 
609:  void
609:  _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
609:        std::forward_iterator_tag)
609:  {
609:    const size_type __n = std::distance(__first, __last);
609:    _M_initialize(__n);
609:    std::copy(__first, __last, begin());
609:  }
609: # 1383 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:      
609:       void
609:       _M_fill_assign(size_t __n, bool __x)
609:       {
609:  if (__n > size())
609:    {
609:      _M_initialize_value(__x);
609:      insert(end(), __n - size(), __x);
609:    }
609:  else
609:    {
609:      _M_erase_at_end(begin() + __n);
609:      _M_initialize_value(__x);
609:    }
609:       }
609: 
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
609:         std::input_iterator_tag)
609:  {
609:    iterator __cur = begin();
609:    for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
609:      *__cur = *__first;
609:    if (__first == __last)
609:      _M_erase_at_end(__cur);
609:    else
609:      insert(end(), __first, __last);
609:  }
609: 
609:       template<typename _ForwardIterator>
609: 
609:  void
609:  _M_assign_aux(_ForwardIterator __first, 15:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
1115:     {
1115:       size_t
1115:       operator()(_Tp* __p) const noexcept
1115:       { return reinterpret_cast<size_t>(__p); }
1115:     };
1115: # 125 "/usr/include/c++/12/bits/functional_hash.h" 3
1115:   template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
1115: 
1115: 
1115:   template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
1115: # 201 "/usr/include/c++/12/bits/functional_hash.h" 3
1115:   struct _Hash_impl
1115:   {
1115:     static size_t
1115:     hash(const void* __ptr, size_t __clength,
1115:   size_t __seed = static_cast<size_t>(0xc70f6907UL))
1115:     { return _Hash_bytes(__ptr, __clength, __seed); }
1115: 
1115:     template<typename _Tp>
1115:       static size_t
1115:       hash(const _Tp& __val)
1115:       { return hash(&__val, sizeof(__val)); }
1115: 
1115:     template<typename _Tp>
1115:       static size_t
1115:       __hash_combine(const _Tp& __val, size_t __hash)
1115:       { return hash(&__val, sizeof(__val), __hash); }
1115:   };
1115: 
1115: 
1115:   struct _Fnv_hash_impl
1115:   {
1115:     static size_t
1115:     hash(const void* __ptr, size_t __clength,
1115:   size_t __seed = static_cast<size_t>(2166136261UL))
1115:     { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
1115: 
1115:pes...>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using decay_t = typename decay<_Tp>::type;
1412: 
1412: 
1412:   template<bool _Cond, typename _Tp = void>
1412:     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
1412: 
1412: 
1412:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1412:     using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
1412: 
1412: 
1412:   template<typename... _Tp>
1412:     using common_type_t = typename common_type<_Tp...>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using underlying_type_t = typename underlying_type<_Tp>::type;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using result_of_t = typename result_of<_Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename...> using void_t = void;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Default, typename _AlwaysVoid,
1412:     template<typename...> class _Op, typename... _Args>
1412:     struct __detector
1412:     {
1412:       using value_t = false_type;
1412:       using type = _Default;
1412:     };
1412: 
1412: 
1412:   template<typename _Default, template<typename...> class _Op,
1412:      typename... _Args>
1412:     struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
1412:     {
1412:       using value_t = true_type;
1412:       using type = _Op<_Args...>;
1412:     };
1412: 
1412: 
1412:   template<typename _Default, template<typename...> class _Op,
1412:     typename... _Args>
1412:     using __detected_or = __detector<_Default, void, _Op, _Args...>;
1412: 
1412: 
1412:   template<typename _Default, template<typename...> class _Op,
1412:     typename... _Args>
1412:     using __detected_or_t
1412:       = typename __detected_or<_Default, _Op, _Args...>::type;
1412: # 2684 "/usr/include/c++/12/type_traits" 3
1412:   template <typename _Tp>
1412:     struct __is_swappable;
1412: 
1412:   template <typename _Tp>
1412:     struct __is_nothrow_swappable;
1412: 
1412:   template<typename>
1412:     struct __is_tuple_like_impl : false_type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_tuple_like
1412:     : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:    
1412:     inline
1412:     _Require<__not_<__is_tuple_like<_Tp>>,
1412:       is_move_constructible<_Tp>,
1412:       is_move_assignable<_Tp>>
1412:     swap(_Tp&, _Tp&)
1412:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1412:              is_nothrow_move_assignable<_Tp>>::value);
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:    
1412:     inline
1412:     __enable_if_t<__is_swappable<_Tp>::value>
1412:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1412:     noexcept(__is_nothrow_swappable<_Tp>::value);
1412: 
1412: 
1412:   namespace __swappable_details {
1412:     using std::swap;
1412: 
1412:     struct __do_is_swappable_impl
1412:     {
1412:       template<typename _Tp, typename
1412:                = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
1412:         static true_type __test(int);
1412: 
1412:       template<typename>
1412:         static false_type __test(...);
1412:     };
1412: 
1412:     struct __do_is_nothrow_swappable_impl
1412:     {
1412:       template<typename _Tp>
1412:         static __bool_constant<
1412:           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
1412:         > __test(int);
1412: 
1412:       template<typename>
1412:         static false_type __test(...);
1412:     };
1412: 
1412:   }
1412: 
1412:   template<typename _Tp>
1412:     struct __is_swappable_impl
1412:     : public __swappable_details::__do_is_swappable_impl
1412:     {
1412:       typedef decltype(__test<_Tp>(0)) type;
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nothrow_swappable_impl
1412:     : public __swappable_details::__do_is_nothrow_swappable_impl
1412:     {
1412:       typedef decltype(__test<_Tp>(0)) type;
1412:     };
1412: 
1412:   template<typename _T_ForwardIterator __last,
609:         std::forward_iterator_tag)
609:  {
609:    const size_type __len = std::distance(__first, __last);
609:    if (__len < size())
609:      _M_erase_at_end(std::copy(__first, __last, begin()));
609:    else
609:      {
609:        _ForwardIterator __mid = __first;
609:        std::advance(__mid, size());
609:        std::copy(__first, __mid, begin());
609:        insert(end(), __mid, __last);
609:      }
609:  }
609: # 1450 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:      
609:       void
609:       _M_fill_insert(iterator __position, size_type __n, bool __x);
609: 
609:       template<typename _InputIterator>
609: 
609:  void
609:  _M_insert_range(iterator __pos, _InputIterator __first,
609:    _InputIterator __last, std::input_iterator_tag)
609:  {
609:    for (; __first != __last; ++__first)
609:      {
609:        __pos = insert(__pos, *__first);
609:        ++__pos;
609:      }
609:  }
609: 
609:       template<typename _ForwardIterator>
609: 
609:  void
609:  _M_insert_range(iterator __position, _ForwardIterator __first,
609:    _ForwardIterator __last, std::forward_iterator_tag);
609: 
609:      
609:       void
609:       _M_insert_aux(iterator __position, bool __x);
609: 
609:      
609:       size_type
609:       _M_check_len(size_type __n, const char* __s) const
609:       {
609:  if (max_size() - size() < __n)
609:    __throw_length_error((__s));
609: 
609:  const size_type __len = size() + std::max(size(), __n);
609:  return (__len < size() || __len > max_size()) ? max_size() : __len;
609:       }
609: 
609:      
609:       void
609:       _M_erase_at_end(iterator __pos)
609:       { this->_M_impl._M_finish = __pos; }
609: 
609:      
609:       iterator
609:       _M_erase(iterator __pos);
609: 
609:      
609:       iterator
609:       _M_erase(iterator __first, iterator __last);
609: 
609:     protected:
609: 
609: 
609: 
609: 
609: 
609: 
609:       void data() = delete;
609: 
609: 
609: 
609:     };
609: 
609: 
609: 
609: 
609:  
609:   inline void
609:   __fill_bvector(_Bit_type* __v, unsigned int __first, unsigned int __last,
609:    bool __x) noexcept
609:   {
609:     const _Bit_type __fmask = ~0ul << __first;
609:     const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last);
609:     const _Bit_type __mask = __fmask & __lmask;
609: 
609:     if (__x)
609:       *__v |= __mask;
609:     else
609:       *__v &= ~__mask;
609:   }
609: 
609: 
609:   __attribute__((__nonnull__))
609:  
609:   inline void
609:   __fill_bvector_n(_Bit_type* __p, size_t __n, bool __x) noexcept
609:   {
609: # 1546 "/usr/include/c++/12/bits/stl_bvector.h" 3
609:     __builtin_memset(__p, __x ? ~0 : 0, __n * sizeof(_Bit_type));
609:   }
609: 
609: 
609:  
609:   inline void
609:   __fill_a1(std::_Bit_iterator __first,
609:      std::_Bit_iterator __last, const bool& __x)
609:   {
609:     if (__first._M_p != __last._M_p)
609:       {
609:  _Bit_type* __first_p = __first._M_p;
609:  if (__first._M_offset != 0)
609:    __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x);
609: 
609:  __fill_bvector_n(__first_p, __last._M_p - __first_p, __x);
609: 
609:  if (__last._M_offset != 0)
609:    __fill_bvector(__last._M_p, 0, __last._M_offset, __x);
609:       }
609:     else if (__first._M_offset != __last._M_offset)
609:       __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x);
609:   }
609: 
609: 
609: 
609: 
609:   template<typename _Alloc>
609:     struct hash<std::vector<bool, _Alloc>>
609:     : public __hash_base<size_t, std::vector<bool, _Alloc>>
609:     {
609:       size_t
609:       operator()(const std::vector<bool, _Alloc>&) const noexcept;
609:     };
609: 
609: 
609: 
609: }
609: # 66 "/usr/include/c++/12/vector" 2 3
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/vector.tcc" 1 3
609: # 59 "/usr/include/c++/12/bits/vector.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     void
609:     vector<_Tp, _Alloc>::
609:     reserve(size_type __n)
609:     {
609:       if (__n > this->max_size())
609:  __throw_length_error(("vector::reserve"));
609:       if (this->capacity() < __n)
609:  {
609:    const size_type __old_size = size();
609:    pointer __tmp;
609: 
609:    if constexpr (_S_use_relocate())
609:      {
609:        __tmp = this->_M_allocate(__n);
609:        _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
609:      __tmp, _M_get_Tp_allocator());
609:      }
609:    else
609: 
609:      {
609:        __tmp = _M_allocate_and_copy(__n,
609:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_start),
609:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish));
609:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
609:        _M_get_Tp_allocator());
609:      }
609:    ;
609:    _M_deallocate(this->_M_impl._M_start,
609:    this->_M_impl._M_end_of_storage
609:    - this->_M_impl._M_start);
609:    this->_M_impl._M_start = __tmp;
609:    this->_M_impl._M_finish = __tmp + __old_size;
609:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
609:  }
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename... _Args>
609: 
609:      
609:       typename vector<_Tp, _Alloc>::reference
609: 
609: 
609: 
609:       vector<_Tp, _Alloc>::
609:       emplace_back(_Args&&... __args)
609:       {
609:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
609:    {
609:      ;
609:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
609:          std::forward<_Args>(__args)...);
609:      ++this->_M_impl._M_finish;
609:      ;
609:    }
609:  else
609:    _M_realloc_insert(end(), std::forward<_Args>(__args)...);
609: 
609:  return back();
609: 
609:       }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     typename vector<_Tp, _Alloc>::iterator
609:     vector<_Tp, _Alloc>::
609: 
609:     insert(const_iterator __position, const value_type& __x)
609: 
609: 
609: 
609:     {
609:       const size_type __n = __position - begin();
609:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
609:  if (__position == end())
609:    {
609:      ;
609:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
609:          __x);
609:      ++this->_M_impl._M_finish;
609:      ;
609:    }
609:  else
609:    {
609: 
609:      const auto __pos = begin() + (__position - cbegin());
609: 
609: 
609:      _Temporary_value __x_copy(this, __x);
609:      _M_insert_aux(__pos, std::move(__x_copy._M_val()));
609: 
609: 
609: 
609:    }
609:       else
609: 
609:  _M_realloc_insert(begin() + (__position - cbegin()), __x);
609: 
609: 
609: 
609: 
609:       return iterator(this->_M_impl._M_start + __n);
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     typename vector<_Tp, _Alloc>::iterator
609:     vector<_Tp, _Alloc>::
609:     _M_erase(iterator __position)
609:     {
609:       if (__position + 1 != end())
609:  std::move(__position + 1, end(), __position);
609:       --this->_M_impl._M_finish;
609:       _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
609:       ;
609:       return __position;
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     typename vector<_Tp, _Alloc>::iterator
609:     vector<_Tp, _Alloc>::
609:     _M_erase(iterator __first, iterator __last)
609:     {
609:       if (__first != __last)
609:  {
609:    if (__last != end())
609:      std::move(__last, end(), __first);
609:    _M_erase_at_end(__first.base() + (end() - __last));
609:  }
609:       return __first;
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     vector<_Tp, _Alloc>&
609:     vector<_Tp, _Alloc>::
609:     operator=(const vector<_Tp, _Alloc>& __x)
609:     {
609:       if (std::__addressof(__x) != this)
609:  {
609:    ;
609: 
609:    if (_Alloc_traits::_S_propagate_on_copy_assign())
609:      {
609:        if (!_Alloc_traits::_S_always_equal()
609:            && _M_get_Tp_allocator() != __x._M_get_Tp_al     template<typename _Tp>
1115:       static size_t
1115:       hash(const _Tp& __val)
1115:       { return hash(&__val, sizeof(__val)); }
1115: 
1115:     template<typename _Tp>
1115:       static size_t
1115:       __hash_combine(const _Tp& __val, size_t __hash)
1115:       { return hash(&__val, sizeof(__val), __hash); }
1115:   };
1115: 
1115: 
1115:   template<>
1115:     struct hash<float> : public __hash_base<size_t, float>
1115:     {
1115:       size_t
1115:       operator()(float __val) const noexcept
1115:       {
1115: 
1115:  return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct hash<double> : public __hash_base<size_t, double>
1115:     {
1115:       size_t
1115:       operator()(double __val) const noexcept
1115:       {
1115: 
1115:  return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct hash<long double>
1115:     : public __hash_base<size_t, long double>
1115:     {
1115:       __attribute__ ((__pure__)) size_t
1115:       operator()(long double __val) const noexcept;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
1115:     {
1115:       size_t
1115:       operator()(nullptr_t) const noexcept
1115:       { return 0; }
1115:     };
1115: # 287 "/usr/include/c++/12/bits/functional_hash.h" 3
1115:   template<typename _Hash>
1115:     struct __is_fast_hash : public std::true_type
1115:     { };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<long double>> : public std::false_type
1115:     { };
1115: 
1115: 
1115: }
1115: # 39 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
1115: # 52 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:   template<typename> class auto_ptr;
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct default_delete
1115:     {
1115: 
1115:       constexpr default_delete() noexcept = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Up,
1115:         typename = _Require<is_convertible<_Up*, _Tp*>>>
1115: 
1115:         default_delete(const default_delete<_Up>&) noexcept { }
1115: 
1115: 
1115:      
1115:       void
1115:       operator()(_Tp* __ptr) const
1115:       {
1115:  static_assert(!is_void<_Tp>::value,
1115:         "can't delete pointer to incomplete type");
1115:  static_assert(sizeof(_Tp)>0,
1115:         "can't delete pointer to incomplete type");
1115:  delete __ptr;
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct default_delete<_Tp[]>
1115:     {
1115:     public:
1115: 
1115:       constexpr default_delete() noexcept = default;
1115: # 119 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Up,
1115:         typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>>
1115: 
1115:         default_delete(const default_delete<_Up[]>&) noexcept { }
1115: 
1115: 
1115:       template<typename _Up>
1115: 
1115:  typename enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type
1115:  operator()(_Up* __ptr) const
1115:  {
1115:    static_assert(sizeof(_Tp)>0,
1115:    "can't delete pointer to incomplete type");
1115:    delete [] __ptr;
1115:  }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename _Dp>
1115:     class __uniq_ptr_impl
1115:     {
1115:       template <typename _Up, typename _Ep, typename = void>
1115:  struct _Ptr
1115:  {
1115:    using type = _Up*;
1115:  };
1115: 
1115:       template <typename _Up, typename _Ep>
1115:  struct
1115:  _Ptr<_Up, _Ep, __void_t<typename remove_reference<_Ep>::type::pointer>>
1115:  {
1115:    using type = typename remove_reference<_Ep>::type::pointer;
1115:  };
1115: 
1115: p>
1412:     struct __is_swappable
1412:     : public __is_swappable_impl<_Tp>::type
1412:     { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nothrow_swappable
1412:     : public __is_nothrow_swappable_impl<_Tp>::type
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_swappable
1412:     : public __is_swappable_impl<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_nothrow_swappable
1412:     : public __is_nothrow_swappable_impl<_Tp>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr bool is_swappable_v =
1412:       is_swappable<_Tp>::value;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr bool is_nothrow_swappable_v =
1412:       is_nothrow_swappable<_Tp>::value;
1412: 
1412: 
1412: 
1412:   namespace __swappable_with_details {
1412:     using std::swap;
1412: 
1412:     struct __do_is_swappable_with_impl
1412:     {
1412:       template<typename _Tp, typename _Up, typename
1412:                = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
1412:                typename
1412:                = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
1412:         static true_type __test(int);
1412: 
1412:       template<typename, typename>
1412:         static false_type __test(...);
1412:     };
1412: 
1412:     struct __do_is_nothrow_swappable_with_impl
1412:     {
1412:       template<typename _Tp, typename _Up>
1412:         static __bool_constant<
1412:           noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
1412:           &&
1412:           noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
1412:         > __test(int);
1412: 
1412:       template<typename, typename>
1412:         static false_type __test(...);
1412:     };
1412: 
1412:   }
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct __is_swappable_with_impl
1412:     : public __swappable_with_details::__do_is_swappable_with_impl
1412:     {
1412:       typedef decltype(__test<_Tp, _Up>(0)) type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_swappable_with_impl<_Tp&, _Tp&>
1412:     : public __swappable_details::__do_is_swappable_impl
1412:     {
1412:       typedef decltype(__test<_Tp&>(0)) type;
1412:     };
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct __is_nothrow_swappable_with_impl
1412:     : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
1412:     {
1412:       typedef decltype(__test<_Tp, _Up>(0)) type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
1412:     : public __swappable_details::__do_is_nothrow_swappable_impl
1412:     {
1412:       typedef decltype(__test<_Tp&>(0)) type;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct is_swappable_with
1412:     : public __is_swappable_with_impl<_Tp, _Up>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "first template argument must be a complete class or an unbounded array");
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1412:  "second template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct is_nothrow_swappable_with
1412:     : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "first template argument must be a complete class or an unboulocator())
609:          {
609: 
609:     this->clear();
609:     _M_deallocate(this->_M_impl._M_start,
609:     this->_M_impl._M_end_of_storage
609:     - this->_M_impl._M_start);
609:     this->_M_impl._M_start = nullptr;
609:     this->_M_impl._M_finish = nullptr;
609:     this->_M_impl._M_end_of_storage = nullptr;
609:   }
609:        std::__alloc_on_copy(_M_get_Tp_allocator(),
609:        __x._M_get_Tp_allocator());
609:      }
609: 
609:    const size_type __xlen = __x.size();
609:    if (__xlen > capacity())
609:      {
609:        pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
609:          __x.end());
609:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
609:        _M_get_Tp_allocator());
609:        _M_deallocate(this->_M_impl._M_start,
609:        this->_M_impl._M_end_of_storage
609:        - this->_M_impl._M_start);
609:        this->_M_impl._M_start = __tmp;
609:        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
609:      }
609:    else if (size() >= __xlen)
609:      {
609:        std::_Destroy(std::copy(__x.begin(), __x.end(), begin()),
609:        end(), _M_get_Tp_allocator());
609:      }
609:    else
609:      {
609:        std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
609:    this->_M_impl._M_start);
609:        std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
609:        __x._M_impl._M_finish,
609:        this->_M_impl._M_finish,
609:        _M_get_Tp_allocator());
609:      }
609:    this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
609:  }
609:       return *this;
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     void
609:     vector<_Tp, _Alloc>::
609:     _M_fill_assign(size_t __n, const value_type& __val)
609:     {
609:       if (__n > capacity())
609:  {
609:    vector __tmp(__n, __val, _M_get_Tp_allocator());
609:    __tmp._M_impl._M_swap_data(this->_M_impl);
609:  }
609:       else if (__n > size())
609:  {
609:    std::fill(begin(), end(), __val);
609:    const size_type __add = __n - size();
609:    ;
609:    this->_M_impl._M_finish =
609:      std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
609:        __add, __val, _M_get_Tp_allocator());
609:    ;
609:  }
609:       else
609:         _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename _InputIterator>
609:      
609:       void
609:       vector<_Tp, _Alloc>::
609:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
609:       std::input_iterator_tag)
609:       {
609:  pointer __cur(this->_M_impl._M_start);
609:  for (; __first != __last && __cur != this->_M_impl._M_finish;
609:       ++__cur, (void)++__first)
609:    *__cur = *__first;
609:  if (__first == __last)
609:    _M_erase_at_end(__cur);
609:  else
609:    _M_range_insert(end(), __first, __last,
609:      std::__iterator_category(__first));
609:       }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename _ForwardIterator>
609:      
609:       void
609:       vector<_Tp, _Alloc>::
609:       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
609:       std::forward_iterator_tag)
609:       {
609:  const size_type __len = std::distance(__first, __last);
609: 
609:  if (__len > capacity())
609:    {
609:      _S_check_init_len(__len, _M_get_Tp_allocator());
609:      pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
609:      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
609:      _M_get_Tp_allocator());
609:      ;
609:      _M_deallocate(this->_M_impl._M_start,
609:      this->_M_impl._M_end_of_storage
609:      - this->_M_impl._M_start);
609:      this->_M_impl._M_start = __tmp;
609:      this->_M_impl._M_finish = this->_M_impl._M_start + __len;
609:      this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
609:    }
609:  else if (size() >= __len)
609:    _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
609:  else
609:    {
609:      _ForwardIterator __mid = __first;
609:      std::advance(__mid, size());
609:      std::copy(__first, __mid, this->_M_impl._M_start);
609:      const size_type __attribute__((__unused__)) __n = __len - size();
609:      ;
609:      this->_M_impl._M_finish =
609:        std::__uninitialized_copy_a(__mid, __last,
609:        this->_M_impl._M_finish,
609:        _M_get_Tp_allocator());
609:      ;
609:    }
609:       }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     auto
609:     vector<_Tp, _Alloc>::
609:     _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator
609:     {
609:       const auto __n = __position - cbegin();
609:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
609:  if (__position == cend())
609:    {
609:      ;
609:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
609:          std::move(__v));
609:      ++this->_M_impl._M_finish;
609:      ;
609:    }
609:  else
609:    _M_insert_aux(begin() + __n, std::move(__v));
609:       else
609:  _M_realloc_insert(begin() + __n, std::move(__v));
609: 
609:       return iterator(this->_M_impl._M_start + __n);
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename... _Args>
609:      
609:       auto
609:       vector<_Tp, _Alloc>::
609:       _M_emplace_aux(const_iterator __position, _Args&&... __args)
609:       -> iterator
609:       {
609:  const auto __n = __position - cbegin();
609:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
609:    if (__position == cend())
609:      {
609:        ;
609:        _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
609:            std::forward<_Args>(__args)...);
609:        ++this->_M_impl._M_finish;
609:        ;
609:      }
609:    else
609:      {
609: 
609: 
609: 
609:        _Temporary_value __tmp(this, std::forward<_Args>(__args)...);
609:        _M_insert_aux(begin() + __n, std::move(__tmp._M_val()));
609:      }
609:  else
609:    _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...);
609: 
609:  return iterator(this->_M_impl._M_start + __n);
609:       }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename _Arg>
609:      
609:       void
609:       vector<_Tp, _Alloc>::
609:       _M_insert_aux(iterator __position, _Arg&& __arg)
609: 
609: 
609: 
609: 
609: 
609: 
609:     {
609:       ;
609:       _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
609:           std::move(*(this->_M_impl._M_finish - 1)));
609:       ++this->_M_impl._M_finish;
609:       ;
609: 
609: 
609: 
609:       std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1)
609: 
609:                                      ;
609: 
609: 
609: 
609:       *__position = std::forward<_Arg>(__arg);
609: 
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename... _Args>
609:      
609:       void
609:       vector<_Tp, _Alloc>::
609:       _M_realloc_insert(iterator __position, _Args&&... __args)
609: 
609: 
609: 
609: 
609: 
609: 
609:     {
609:       const size_type __len =
609:  _M_check_len(size_type(1), "vector::_M_realloc_insert");
609:       pointer __old_start = this->_M_impl._M_start;
609:       pointer __old_finish = this->_M_impl._M_finish;
609:       const size_type __elems_before = __position - begin();
609:       pointer __new_start(this->_M_allocate(__len));
609:       pointer __new_finish(__new_start);
609:       try
609:  {
609: 
609: 
609: 
609: 
609: 
609:    _Alloc_traits::construct(this->_M_impl,
609:        __new_start + __elems_before,
609: 
609:        std::forward<_Args>(__args)...);
609: 
609: 
609: 
609:    __new_finish = pointer();
609: 
609: 
609:    if constexpr (_S_use_relocate())
609:      {
609:        __new_finish = _S_relocate(__old_start, __position.base(),
609:       __new_start, _M_get_Tp_allocator());
609: 
609:        ++__new_finish;
609: 
609:        __new_finish = _S_relocate(__position.base(), __old_finish,
609:       __new_finis    public:
1115:       using _DeleterConstraint = enable_if<
1115:         __and_<__not_<is_pointer<_Dp>>,
1115:         is_default_constructible<_Dp>>::value>;
1115: 
1115:       using pointer = typename _Ptr<_Tp, _Dp>::type;
1115: 
1115:       static_assert( !is_rvalue_reference<_Dp>::value,
1115:        "unique_ptr's deleter type must be a function object type"
1115:        " or an lvalue reference type" );
1115: 
1115:       __uniq_ptr_impl() = default;
1115:      
1115:       __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; }
1115: 
1115:       template<typename _Del>
1115: 
1115:  __uniq_ptr_impl(pointer __p, _Del&& __d)
1115:  : _M_t(__p, std::forward<_Del>(__d)) { }
1115: 
1115:      
1115:       __uniq_ptr_impl(__uniq_ptr_impl&& __u) noexcept
1115:       : _M_t(std::move(__u._M_t))
1115:       { __u._M_ptr() = nullptr; }
1115: 
1115:      
1115:       __uniq_ptr_impl& operator=(__uniq_ptr_impl&& __u) noexcept
1115:       {
1115:  reset(__u.release());
1115:  _M_deleter() = std::forward<_Dp>(__u._M_deleter());
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       pointer& _M_ptr() noexcept { return std::get<0>(_M_t); }
1115:      
1115:       pointer _M_ptr() const noexcept { return std::get<0>(_M_t); }
1115:      
1115:       _Dp& _M_deleter() noexcept { return std::get<1>(_M_t); }
1115:      
1115:       const _Dp& _M_deleter() const noexcept { return std::get<1>(_M_t); }
1115: 
1115:      
1115:       void reset(pointer __p) noexcept
1115:       {
1115:  const pointer __old_p = _M_ptr();
1115:  _M_ptr() = __p;
1115:  if (__old_p)
1115:    _M_deleter()(__old_p);
1115:       }
1115: 
1115:      
1115:       pointer release() noexcept
1115:       {
1115:  pointer __p = _M_ptr();
1115:  _M_ptr() = nullptr;
1115:  return __p;
1115:       }
1115: 
1115:      
1115:       void
1115:       swap(__uniq_ptr_impl& __rhs) noexcept
1115:       {
1115:  using std::swap;
1115:  swap(this->_M_ptr(), __rhs._M_ptr());
1115:  swap(this->_M_deleter(), __rhs._M_deleter());
1115:       }
1115: 
1115:     private:
1115:       tuple<pointer, _Dp> _M_t;
1115:     };
1115: 
1115: 
1115:   template <typename _Tp, typename _Dp,
1115:      bool = is_move_constructible<_Dp>::value,
1115:      bool = is_move_assignable<_Dp>::value>
1115:     struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp>
1115:     {
1115:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1115:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1115:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1115:     };
1115: 
1115:   template <typename _Tp, typename _Dp>
1115:     struct __uniq_ptr_data<_Tp, _Dp, true, false> : __uniq_ptr_impl<_Tp, _Dp>
1115:     {
1115:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1115:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1115:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1115:     };
1115: 
1115:   template <typename _Tp, typename _Dp>
1115:     struct __uniq_ptr_data<_Tp, _Dp, false, true> : __uniq_ptr_impl<_Tp, _Dp>
1115:     {
1115:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1115:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1115:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1115:     };
1115: 
1115:   template <typename _Tp, typename _Dp>
1115:     struct __uniq_ptr_data<_Tp, _Dp, false, false> : __uniq_ptr_impl<_Tp, _Dp>
1115:     {
1115:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1115:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1115:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename _Dp = default_delete<_Tp>>
1115:     class unique_ptr
1115:     {
1115:       template <typename _Up>
1115:  using _DeleterConstraint =
1115:    typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1115: 
1115:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1115: 
1115:     public:
1115:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1115:       using element_type = _Tp;
1115:       usinded array");
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1412:  "second template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline constexpr bool is_swappable_with_v =
1412:       is_swappable_with<_Tp, _Up>::value;
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline constexpr bool is_nothrow_swappable_with_v =
1412:       is_nothrow_swappable_with<_Tp, _Up>::value;
1412: # 2907 "/usr/include/c++/12/type_traits" 3
1412:   template<typename _Result, typename _Ret,
1412:     bool = is_void<_Ret>::value, typename = void>
1412:     struct __is_invocable_impl : false_type { };
1412: 
1412: 
1412:   template<typename _Result, typename _Ret>
1412:     struct __is_invocable_impl<_Result, _Ret,
1412:                                 true,
1412:           __void_t<typename _Result::type>>
1412:     : true_type
1412:     { };
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1412: 
1412:   template<typename _Result, typename _Ret>
1412:     struct __is_invocable_impl<_Result, _Ret,
1412:                                 false,
1412:           __void_t<typename _Result::type>>
1412:     {
1412:     private:
1412: 
1412: 
1412:       static typename _Result::type _S_get();
1412: 
1412:       template<typename _Tp>
1412:  static void _S_conv(_Tp);
1412: 
1412: 
1412:       template<typename _Tp, typename = decltype(_S_conv<_Tp>(_S_get()))>
1412:  static true_type
1412:  _S_test(int);
1412: 
1412:       template<typename _Tp>
1412:  static false_type
1412:  _S_test(...);
1412: 
1412:     public:
1412:       using type = decltype(_S_test<_Ret>(1));
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412:   template<typename _Fn, typename... _ArgTypes>
1412:     struct __is_invocable
1412:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1412:     { };
1412: 
1412:   template<typename _Fn, typename _Tp, typename... _Args>
1412:     constexpr bool __call_is_nt(__invoke_memfun_ref)
1412:     {
1412:       using _Up = typename __inv_unwrap<_Tp>::type;
1412:       return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
1412:      std::declval<_Args>()...));
1412:     }
1412: 
1412:   template<typename _Fn, typename _Tp, typename... _Args>
1412:     constexpr bool __call_is_nt(__invoke_memfun_deref)
1412:     {
1412:       return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
1412:      std::declval<_Args>()...));
1412:     }
1412: 
1412:   template<typename _Fn, typename _Tp>
1412:     constexpr bool __call_is_nt(__invoke_memobj_ref)
1412:     {
1412:       using _Up = typename __inv_unwrap<_Tp>::type;
1412:       return noexcept(std::declval<_Up>().*std::declval<_Fn>());
1412:     }
1412: 
1412:   template<typename _Fn, typename _Tp>
1412:     constexpr bool __call_is_nt(__invoke_memobj_deref)
1412:     {
1412:       return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
1412:     }
1412: 
1412:   template<typename _Fn, typename... _Args>
1412:     constexpr bool __call_is_nt(__invoke_other)
1412:     {
1412:       return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
1412:     }
1412: 
1412:   template<typename _Result, typename _Fn, typename... _Args>
1412:     struct __call_is_nothrow
1412:     : __bool_constant<
1412:  std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
1412:       >
1412:     { };
1412: 
1412:   template<typename _Fn, typename... _Args>
1412:     using __call_is_nothrow_
1412:       = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
1412: 
1412: 
1412:   template<typename _Fn, typename... _Args>
1412:     struct __is_nothrow_invocable
1412:     : __and_<__is_invocable<_Fn, _Args...>,
1412:              __call_is_nothrow_<_Fn, _Args...>>::type
1412:     { };
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1412:   struct __nonesuchbase {};
1412:   struct __nonesuch : ph, _M_get_Tp_allocator());
609:      }
609:    else
609: 
609:      {
609:        __new_finish
609:   = std::__uninitialized_move_if_noexcept_a
609:   (__old_start, __position.base(),
609:    __new_start, _M_get_Tp_allocator());
609: 
609:        ++__new_finish;
609: 
609:        __new_finish
609:   = std::__uninitialized_move_if_noexcept_a
609:   (__position.base(), __old_finish,
609:    __new_finish, _M_get_Tp_allocator());
609:      }
609:  }
609:       catch(...)
609:  {
609:    if (!__new_finish)
609:      _Alloc_traits::destroy(this->_M_impl,
609:        __new_start + __elems_before);
609:    else
609:      std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
609:    _M_deallocate(__new_start, __len);
609:    throw;
609:  }
609: 
609:       if constexpr (!_S_use_relocate())
609: 
609:  std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator());
609:       ;
609:       _M_deallocate(__old_start,
609:       this->_M_impl._M_end_of_storage - __old_start);
609:       this->_M_impl._M_start = __new_start;
609:       this->_M_impl._M_finish = __new_finish;
609:       this->_M_impl._M_end_of_storage = __new_start + __len;
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     void
609:     vector<_Tp, _Alloc>::
609:     _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
609:     {
609:       if (__n != 0)
609:  {
609:    if (size_type(this->_M_impl._M_end_of_storage
609:    - this->_M_impl._M_finish) >= __n)
609:      {
609: 
609: 
609: 
609:        _Temporary_value __tmp(this, __x);
609:        value_type& __x_copy = __tmp._M_val();
609: 
609:        const size_type __elems_after = end() - __position;
609:        pointer __old_finish(this->_M_impl._M_finish);
609:        if (__elems_after > __n)
609:   {
609:     ;
609:     std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
609:            this->_M_impl._M_finish,
609:            this->_M_impl._M_finish,
609:            _M_get_Tp_allocator());
609:     this->_M_impl._M_finish += __n;
609:     ;
609:     std::move_backward(__position.base(), __old_finish - __n, __old_finish)
609:                                         ;
609:     std::fill(__position.base(), __position.base() + __n,
609:        __x_copy);
609:   }
609:        else
609:   {
609:     ;
609:     this->_M_impl._M_finish =
609:       std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
609:         __n - __elems_after,
609:         __x_copy,
609:         _M_get_Tp_allocator());
609:     ;
609:     std::__uninitialized_move_a(__position.base(), __old_finish,
609:            this->_M_impl._M_finish,
609:            _M_get_Tp_allocator());
609:     this->_M_impl._M_finish += __elems_after;
609:     ;
609:     std::fill(__position.base(), __old_finish, __x_copy);
609:   }
609:      }
609:    else
609:      {
609:        const size_type __len =
609:   _M_check_len(__n, "vector::_M_fill_insert");
609:        const size_type __elems_before = __position - begin();
609:        pointer __new_start(this->_M_allocate(__len));
609:        pointer __new_finish(__new_start);
609:        try
609:   {
609: 
609:     std::__uninitialized_fill_n_a(__new_start + __elems_before,
609:       __n, __x,
609:       _M_get_Tp_allocator());
609:     __new_finish = pointer();
609: 
609:     __new_finish
609:       = std::__uninitialized_move_if_noexcept_a
609:       (this->_M_impl._M_start, __position.base(),
609:        __new_start, _M_get_Tp_allocator());
609: 
609:     __new_finish += __n;
609: 
609:     __new_finish
609:       = std::__uninitialized_move_if_noexcept_a
609:       (__position.base(), this->_M_impl._M_finish,
609:        __new_finish, _M_get_Tp_allocator());
609:   }
609:        catch(...)
609:   {
609:     if (!__new_finish)
609:       std::_Destroy(__new_start + __elems_before,
609:       __new_start + __elems_before + __n,
609:       _M_get_Tp_allocator());
609:     else
609:       std::_Destroy(__new_start, __new_finish,
609:       _M_get_Tp_allocator());
609:     _M_deallocate(__new_start, __len);
609:     throw;
609:   }
609:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
609:        _M_get_Tp_allocator());
609:        ;
609:        _M_deallocate(this->_M_impl._M_start,
609:        this->_M_impl._M_end_of_storage
609:        - this->_M_impl._M_start);
609:        this->_M_impl._M_start = __new_start;
609:        this->_M_impl._M_finish = __new_finish;
609:        this->_M_impl._M_end_of_storage = __new_start + __len;
609:      }
609:  }
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     void
609:     vector<_Tp, _Alloc>::
609:     _M_default_append(size_type __n)
609:     {
609:       if (__n != 0)
609:  {
609:    const size_type __size = size();
609:    size_type __navail = size_type(this->_M_impl._M_end_of_storage
609:       - this->_M_impl._M_finish);
609: 
609:    if (__size > max_size() || __navail > max_size() - __size)
609:      __builtin_unreachable();
609: 
609:    if (__navail >= __n)
609:      {
609:        ;
609:        this->_M_impl._M_finish =
609:   std::__uninitialized_default_n_a(this->_M_impl._M_finish,
609:        __n, _M_get_Tp_allocator());
609:        ;
609:      }
609:    else
609:      {
609:        const size_type __len =
609:   _M_check_len(__n, "vector::_M_default_append");
609:        pointer __new_start(this->_M_allocate(__len));
609:        if constexpr (_S_use_relocate())
609:   {
609:     try
609:       {
609:         std::__uninitialized_default_n_a(__new_start + __size,
609:          __n, _M_get_Tp_allocator());
609:       }
609:     catch(...)
609:       {
609:         _M_deallocate(__new_start, __len);
609:         throw;
609:       }
609:     _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
609:          __new_start, _M_get_Tp_allocator());
609:   }
609:        else
609:   {
609:     pointer __destroy_from = pointer();
609:     try
609:       {
609:         std::__uninitialized_default_n_a(__new_start + __size,
609:          __n, _M_get_Tp_allocator());
609:         __destroy_from = __new_start + __size;
609:         std::__uninitialized_move_if_noexcept_a(
609:          this->_M_impl._M_start, this->_M_impl._M_finish,
609:          __new_start, _M_get_Tp_allocator());
609:       }
609:     catch(...)
609:       {
609:         if (__destroy_from)
609:    std::_Destroy(__destroy_from, __destroy_from + __n,
609:           _M_get_Tp_allocator());
609:         _M_deallocate(__new_start, __len);
609:         throw;
609:       }
609:     std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
609:     _M_get_Tp_allocator());
609:   }
609:        ;
609:        _M_deallocate(this->_M_impl._M_start,
609:        this->_M_impl._M_end_of_storage
609:        - this->_M_impl._M_start);
609:        this->_M_impl._M_start = __new_start;
609:        this->_M_impl._M_finish = __new_start + __size + __n;
609:        this->_M_impl._M_end_of_storage = __new_start + __len;
609:      }
609:  }
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:    
609:     bool
609:     vector<_Tp, _Alloc>::
609:     _M_shrink_to_fit()
609:     {
609:       if (capacity() == size())
609:  return false;
609:       ;
609:       return std::__shrink_to_fit_aux<vector>::_S_do_it(*this);
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename _InputIterator>
609:      
609:       void
609:       vector<_Tp, _Alloc>::
609:       _M_range_insert(iterator __pos, _InputIterator __first,
609:         _InputIterator __last, std::input_iterator_tag)
609:       {
609:  if (__pos == end())
609:    {
609:      for (; __first != __last; ++__first)
609:        insert(end(), *__first);
609:    }
609:  else if (__first != __last)
609:    {
609:      vector __tmp(__first, __last, _M_get_Tp_allocator());
609:      insert(__pos,
609:      std::make_move_iterator(__tmp.begin()),
609:      std::make_move_iterator(__tmp.end()));
609:    }
609:       }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename _ForwardIterator>
609:      
609:       void
609:       vector<_Tp, _Alloc>::
609:       _M_range_insert(iterator __posng deleter_type = _Dp;
1115: 
1115:     private:
1115: 
1115: 
1115:       template<typename _Up, typename _Ep>
1115:  using __safe_conversion_up = __and_<
1115:    is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>,
1115:    __not_<is_array<_Up>>
1115:         >;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1115:  constexpr unique_ptr() noexcept
1115:  : _M_t()
1115:  { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1115: 
1115:  explicit
1115:  unique_ptr(pointer __p) noexcept
1115:  : _M_t(__p)
1115:         { }
1115: # 320 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Del = deleter_type,
1115:         typename = _Require<is_copy_constructible<_Del>>>
1115: 
1115:  unique_ptr(pointer __p, const deleter_type& __d) noexcept
1115:  : _M_t(__p, __d) { }
1115: # 333 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Del = deleter_type,
1115:         typename = _Require<is_move_constructible<_Del>>>
1115: 
1115:  unique_ptr(pointer __p,
1115:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1115:      _Del&&> __d) noexcept
1115:  : _M_t(__p, std::move(__d))
1115:  { }
1115: 
1115:       template<typename _Del = deleter_type,
1115:         typename _DelUnref = typename remove_reference<_Del>::type>
1115: 
1115:  unique_ptr(pointer,
1115:      __enable_if_t<is_lvalue_reference<_Del>::value,
1115:      _DelUnref&&>) = delete;
1115: 
1115: 
1115:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1115:  constexpr unique_ptr(nullptr_t) noexcept
1115:  : _M_t()
1115:  { }
1115: 
1115: 
1115: 
1115: 
1115:       unique_ptr(unique_ptr&&) = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Up, typename _Ep, typename = _Require<
1115:                __safe_conversion_up<_Up, _Ep>,
1115:         __conditional_t<is_reference<_Dp>::value,
1115:           is_same<_Ep, _Dp>,
1115:           is_convertible<_Ep, _Dp>>>>
1115: 
1115:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1115:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1115:  { }
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115:       template<typename _Up, typename = _Require<
1115:         is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>>
1115:  unique_ptr(auto_ptr<_Up>&& __u) noexcept;
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~unique_ptr() noexcept
1115:       {
1115:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1115:         "unique_ptr's deleter must be invocable with a pointer");
1115:  auto& __ptr = _M_t._M_ptr();
1115:  if (__ptr != nullptr)
1115:    get_deleter()(std::move(__ptr));
1115:  __ptr = pointer();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unique_ptr& operator=(unique_ptr&&) = default;
1115: # 415 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Up, typename _Ep>
1115: 
1115:         typename enable_if< __and_<
1115:           __safe_conversion_up<_Up, _Ep>,
1115:           is_assignable<deleter_type&, _Ep&&>
1115:           >::value,
1115:           unique_ptr&>::type
1115:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1115:  {
1115:    reset(__u.release());
1115:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1115:    return *this;
1115:  }
1115: 
1115: 
1115:      
1115:       unique_ptr&
1115:       operator=(nullptr_t) noexcept
1115:       {
1115:  reset();
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       typename add_lvalue_reference<element_type>::type
1115:       operator*() const noexcept(noexcept(*std::declval<pointer>()))
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1115:  return *get();
1115:       }
1115: rivate __nonesuchbase {
1412:     ~__nonesuch() = delete;
1412:     __nonesuch(__nonesuch const&) = delete;
1412:     void operator=(__nonesuch const&) = delete;
1412:   };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Functor, typename... _ArgTypes>
1412:     struct invoke_result
1412:     : public __invoke_result<_Functor, _ArgTypes...>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}),
1412:  "_Functor must be a complete class or an unbounded array");
1412:       static_assert((std::__is_complete_or_unbounded(
1412:  __type_identity<_ArgTypes>{}) && ...),
1412:  "each argument type must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Fn, typename... _Args>
1412:     using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
1412: 
1412: 
1412:   template<typename _Fn, typename... _ArgTypes>
1412:     struct is_invocable
1412:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1412:  "_Fn must be a complete class or an unbounded array");
1412:       static_assert((std::__is_complete_or_unbounded(
1412:  __type_identity<_ArgTypes>{}) && ...),
1412:  "each argument type must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1412:     struct is_invocable_r
1412:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1412:  "_Fn must be a complete class or an unbounded array");
1412:       static_assert((std::__is_complete_or_unbounded(
1412:  __type_identity<_ArgTypes>{}) && ...),
1412:  "each argument type must be a complete class or an unbounded array");
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1412:  "_Ret must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Fn, typename... _ArgTypes>
1412:     struct is_nothrow_invocable
1412:     : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
1412:       __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1412:  "_Fn must be a complete class or an unbounded array");
1412:       static_assert((std::__is_complete_or_unbounded(
1412:  __type_identity<_ArgTypes>{}) && ...),
1412:  "each argument type must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Result, typename _Ret, typename = void>
1412:     struct __is_nt_invocable_impl : false_type { };
1412: 
1412:   template<typename _Result, typename _Ret>
1412:     struct __is_nt_invocable_impl<_Result, _Ret,
1412:       __void_t<typename _Result::type>>
1412:     : __or_<is_void<_Ret>,
1412:      __is_nothrow_convertible<typename _Result::type, _Ret>>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1412:     struct is_nothrow_invocable_r
1412:     : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
1412:              __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1412:  "_Fn must be a complete class or an unbounded array");
1412:       static_assert((std::__is_complete_or_unbounded(
1412:  __type_identity<_ArgTypes>{}) && ...),
1412:  "each argument type must be a complete class or an unbounded array");
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1412:  "_Ret must be a complete class or an unbounded array");
1412:     };
1412: # 3119 "/usr/include/c++/12/type_traits" 3
1412: template <typename _Tp>
1412:   inline constexpr bool is_void_v = is_void<_Tp>::value;
1412: template <typename _Tp>
1412: ition, _ForwardIterator __first,
609:         _ForwardIterator __last, std::forward_iterator_tag)
609:       {
609:  if (__first != __last)
609:    {
609:      const size_type __n = std::distance(__first, __last);
609:      if (size_type(this->_M_impl._M_end_of_storage
609:      - this->_M_impl._M_finish) >= __n)
609:        {
609:   const size_type __elems_after = end() - __position;
609:   pointer __old_finish(this->_M_impl._M_finish);
609:   if (__elems_after > __n)
609:     {
609:       ;
609:       std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
609:       this->_M_impl._M_finish,
609:       this->_M_impl._M_finish,
609:       _M_get_Tp_allocator());
609:       this->_M_impl._M_finish += __n;
609:       ;
609:       std::move_backward(__position.base(), __old_finish - __n, __old_finish)
609:                                           ;
609:       std::copy(__first, __last, __position);
609:     }
609:   else
609:     {
609:       _ForwardIterator __mid = __first;
609:       std::advance(__mid, __elems_after);
609:       ;
609:       std::__uninitialized_copy_a(__mid, __last,
609:       this->_M_impl._M_finish,
609:       _M_get_Tp_allocator());
609:       this->_M_impl._M_finish += __n - __elems_after;
609:       ;
609:       std::__uninitialized_move_a(__position.base(),
609:       __old_finish,
609:       this->_M_impl._M_finish,
609:       _M_get_Tp_allocator());
609:       this->_M_impl._M_finish += __elems_after;
609:       ;
609:       std::copy(__first, __mid, __position);
609:     }
609:        }
609:      else
609:        {
609:   const size_type __len =
609:     _M_check_len(__n, "vector::_M_range_insert");
609:   pointer __new_start(this->_M_allocate(__len));
609:   pointer __new_finish(__new_start);
609:   try
609:     {
609:       __new_finish
609:         = std::__uninitialized_move_if_noexcept_a
609:         (this->_M_impl._M_start, __position.base(),
609:          __new_start, _M_get_Tp_allocator());
609:       __new_finish
609:         = std::__uninitialized_copy_a(__first, __last,
609:           __new_finish,
609:           _M_get_Tp_allocator());
609:       __new_finish
609:         = std::__uninitialized_move_if_noexcept_a
609:         (__position.base(), this->_M_impl._M_finish,
609:          __new_finish, _M_get_Tp_allocator());
609:     }
609:   catch(...)
609:     {
609:       std::_Destroy(__new_start, __new_finish,
609:       _M_get_Tp_allocator());
609:       _M_deallocate(__new_start, __len);
609:       throw;
609:     }
609:   std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
609:          _M_get_Tp_allocator());
609:   ;
609:   _M_deallocate(this->_M_impl._M_start,
609:          this->_M_impl._M_end_of_storage
609:          - this->_M_impl._M_start);
609:   this->_M_impl._M_start = __new_start;
609:   this->_M_impl._M_finish = __new_finish;
609:   this->_M_impl._M_end_of_storage = __new_start + __len;
609:        }
609:    }
609:       }
609: 
609: 
609: 
609:   template<typename _Alloc>
609:    
609:     void
609:     vector<bool, _Alloc>::
609:     _M_reallocate(size_type __n)
609:     {
609:       _Bit_pointer __q = this->_M_allocate(__n);
609:       iterator __start(std::__addressof(*__q), 0);
609:       iterator __finish(_M_copy_aligned(begin(), end(), __start));
609:       this->_M_deallocate();
609:       this->_M_impl._M_start = __start;
609:       this->_M_impl._M_finish = __finish;
609:       this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
609:     }
609: 
609:   template<typename _Alloc>
609:    
609:     void
609:     vector<bool, _Alloc>::
609:     _M_fill_insert(iterator __position, size_type __n, bool __x)
609:     {
609:       if (__n == 0)
609:  return;
609:       if (capacity() - size() >= __n)
609:  {
609:    std::copy_backward(__position, end(),
609:         this->_M_impl._M_finish + difference_type(__n));
609:    std::fill(__position, __position + difference_type(__n), __x);
609:    this->_M_impl._M_finish += difference_type(__n);
609:  }
609:       else
609:  {
609:    const size_type __len =
609:      _M_check_len(__n, "vector<bool>::_M_fill_insert");
609:    _Bit_pointer __q = this->_M_allocate(__len);
609:    iterator __start(std::__addressof(*__q), 0);
609:    iterator __i = _M_copy_aligned(begin(), __position, __start);
609:    std::fill(__i, __i + difference_type(__n), __x);
609:    iterator __finish = std::copy(__position, end(),
609:      __i + difference_type(__n));
609:    this->_M_deallocate();
609:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
609:    this->_M_impl._M_start = __start;
609:    this->_M_impl._M_finish = __finish;
609:  }
609:     }
609: 
609:   template<typename _Alloc>
609:     template<typename _ForwardIterator>
609:      
609:       void
609:       vector<bool, _Alloc>::
609:       _M_insert_range(iterator __position, _ForwardIterator __first,
609:         _ForwardIterator __last, std::forward_iterator_tag)
609:       {
609:  if (__first != __last)
609:    {
609:      size_type __n = std::distance(__first, __last);
609:      if (capacity() - size() >= __n)
609:        {
609:   std::copy_backward(__position, end(),
609:        this->_M_impl._M_finish
609:        + difference_type(__n));
609:   std::copy(__first, __last, __position);
609:   this->_M_impl._M_finish += difference_type(__n);
609:        }
609:      else
609:        {
609:   const size_type __len =
609:     _M_check_len(__n, "vector<bool>::_M_insert_range");
609:   _Bit_pointer __q = this->_M_allocate(__len);
609:   iterator __start(std::__addressof(*__q), 0);
609:   iterator __i = _M_copy_aligned(begin(), __position, __start);
609:   __i = std::copy(__first, __last, __i);
609:   iterator __finish = std::copy(__position, end(), __i);
609:   this->_M_deallocate();
609:   this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
609:   this->_M_impl._M_start = __start;
609:   this->_M_impl._M_finish = __finish;
609:        }
609:    }
609:       }
609: 
609:   template<typename _Alloc>
609:    
609:     void
609:     vector<bool, _Alloc>::
609:     _M_insert_aux(iterator __position, bool __x)
609:     {
609:       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
609:  {
609:    std::copy_backward(__position, this->_M_impl._M_finish,
609:         this->_M_impl._M_finish + 1);
609:    *__position = __x;
609:    ++this->_M_impl._M_finish;
609:  }
609:       else
609:  {
609:    const size_type __len =
609:      _M_check_len(size_type(1), "vector<bool>::_M_insert_aux");
609:    _Bit_pointer __q = this->_M_allocate(__len);
609:    iterator __start(std::__addressof(*__q), 0);
609:    iterator __i = _M_copy_aligned(begin(), __position, __start);
609:    *__i++ = __x;
609:    iterator __finish = std::copy(__position, end(), __i);
609:    this->_M_deallocate();
609:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
609:    this->_M_impl._M_start = __start;
609:    this->_M_impl._M_finish = __finish;
609:  }
609:     }
609: 
609:   template<typename _Alloc>
609:    
609:     typename vector<bool, _Alloc>::iterator
609:     vector<bool, _Alloc>::
609:     _M_erase(iterator __position)
609:     {
609:       if (__position + 1 != end())
609:         std::copy(__position + 1, end(), __position);
609:       --this->_M_impl._M_finish;
609:       return __position;
609:     }
609: 
609:   template<typename _Alloc>
609:    
609:     typename vector<bool, _Alloc>::iterator
609:     vector<bool, _Alloc>::
609:     _M_erase(iterator __first, iterator __last)
609:     {
609:       if (__first != __last)
609:  _M_erase_at_end(std::copy(__last, end(), __first));
609:       return __first;
609:     }
609: 
609: 
609:   template<typename _Alloc>
609:    
609:     bool
609:     vector<bool, _Alloc>::
609:     _M_shrink_to_fit()
609:     {
609:       if (capacity() - size() < int(_S_word_bit))
609:  return false;
609:       try
609:  {
609:    if (size_type __n = size())
609:      _M_reallocate(__n);
609:    else
609:      {
609:        this->_M_deallocate();
609:        this->_M_impl._M_reset();
609:      }
609:    return true;
609:  }
609:       catch(...)
609:  { return false; }
609:     }
609: 
609: 
609: 
609: 
609: }
609: 
609: 
609: 
609: namesp
1115: 
1115:      
1115:       pointer
1115:       operator->() const noexcept
1115:       {
1115:  ;
1115:  return get();
1115:       }
1115: 
1115: 
1115:      
1115:       pointer
1115:       get() const noexcept
1115:       { return _M_t._M_ptr(); }
1115: 
1115: 
1115:      
1115:       deleter_type&
1115:       get_deleter() noexcept
1115:       { return _M_t._M_deleter(); }
1115: 
1115: 
1115:      
1115:       const deleter_type&
1115:       get_deleter() const noexcept
1115:       { return _M_t._M_deleter(); }
1115: 
1115: 
1115:      
1115:       explicit operator bool() const noexcept
1115:       { return get() == pointer() ? false : true; }
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       pointer
1115:       release() noexcept
1115:       { return _M_t.release(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       reset(pointer __p = pointer()) noexcept
1115:       {
1115:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1115:         "unique_ptr's deleter must be invocable with a pointer");
1115:  _M_t.reset(std::move(__p));
1115:       }
1115: 
1115: 
1115:      
1115:       void
1115:       swap(unique_ptr& __u) noexcept
1115:       {
1115:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1115:  _M_t.swap(__u._M_t);
1115:       }
1115: 
1115: 
1115:       unique_ptr(const unique_ptr&) = delete;
1115:       unique_ptr& operator=(const unique_ptr&) = delete;
1115:   };
1115: # 526 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:   template<typename _Tp, typename _Dp>
1115:     class unique_ptr<_Tp[], _Dp>
1115:     {
1115:       template <typename _Up>
1115:       using _DeleterConstraint =
1115:  typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1115: 
1115:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1115: 
1115:       template<typename _Up>
1115:  using __remove_cv = typename remove_cv<_Up>::type;
1115: 
1115: 
1115:       template<typename _Up>
1115:  using __is_derived_Tp
1115:    = __and_< is_base_of<_Tp, _Up>,
1115:       __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >;
1115: 
1115:     public:
1115:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1115:       using element_type = _Tp;
1115:       using deleter_type = _Dp;
1115: 
1115: 
1115: 
1115:       template<typename _Up, typename _Ep,
1115:                typename _UPtr = unique_ptr<_Up, _Ep>,
1115:         typename _UP_pointer = typename _UPtr::pointer,
1115:         typename _UP_element_type = typename _UPtr::element_type>
1115:  using __safe_conversion_up = __and_<
1115:           is_array<_Up>,
1115:           is_same<pointer, element_type*>,
1115:           is_same<_UP_pointer, _UP_element_type*>,
1115:           is_convertible<_UP_element_type(*)[], element_type(*)[]>
1115:         >;
1115: 
1115: 
1115:       template<typename _Up>
1115:         using __safe_conversion_raw = __and_<
1115:           __or_<__or_<is_same<_Up, pointer>,
1115:                       is_same<_Up, nullptr_t>>,
1115:                 __and_<is_pointer<_Up>,
1115:                        is_same<pointer, element_type*>,
1115:                        is_convertible<
1115:                          typename remove_pointer<_Up>::type(*)[],
1115:                          element_type(*)[]>
1115:                 >
1115:           >
1115:         >;
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1115:  constexpr unique_ptr() noexcept
1115:  : _M_t()
1115:  { }
1115: # 591 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Up,
1115:         typename _Vp = _Dp,
1115:         typename = _DeleterConstraint<_Vp>,
1115:         typename = typename enable_if<
1115:                  __safe_conversion_raw<_Up>::value, bool>::type>
1115: 
1115:  explicit
1115:  unique_ptr(_Up __p) noexcept
1115:  : _M_t(__p)
1115:         { }
1115: # 610 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Up, typename _Del = deleter_type,
1115:         typename = _Require<__safe_conversion_raace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _Alloc>
609:     size_t
609:     hash<std::vector<bool, _Alloc>>::
609:     operator()(const std::vector<bool, _Alloc>& __b) const noexcept
609:     {
609:       size_t __hash = 0;
609:       const size_t __words = __b.size() / _S_word_bit;
609:       if (__words)
609:  {
609:    const size_t __clength = __words * sizeof(_Bit_type);
609:    __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength);
609:  }
609: 
609:       const size_t __extrabits = __b.size() % _S_word_bit;
609:       if (__extrabits)
609:  {
609:    _Bit_type __hiword = *__b._M_impl._M_finish._M_p;
609:    __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits);
609: 
609:    const size_t __clength
609:      = (__extrabits + 8 - 1) / 8;
609:    if (__words)
609:      __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash);
609:    else
609:      __hash = std::_Hash_impl::hash(&__hiword, __clength);
609:  }
609: 
609:       return __hash;
609:     }
609: 
609: 
609: }
609: # 71 "/usr/include/c++/12/vector" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609:   namespace pmr {
609:     template<typename _Tp> class polymorphic_allocator;
609:     template<typename _Tp>
609:       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 2
609: 
609: 
609: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
609: template <typename T> class CPointGen
609: {
609: public:
609:   typedef CPointGen<T> this_type;
609: 
609:   CPointGen() noexcept = default;
609: 
609:   constexpr CPointGen(T a, T b)
609:   : x{a}, y{b}
609:   {}
609: 
609:   template<class U> explicit constexpr CPointGen(const CPointGen<U>& rhs)
609:   : x{static_cast<T> (rhs.x)}, y{static_cast<T> (rhs.y)}
609:   {}
609: 
609:   constexpr this_type operator+(const this_type &point) const
609:   {
609:     return {x + point.x, y + point.y};
609:   };
609: 
609:   this_type& operator+=(const this_type &point)
609:   {
609:     x += point.x;
609:     y += point.y;
609:     return *this;
609:   };
609: 
609:   constexpr this_type operator-(const this_type &point) const
609:   {
609:     return {x - point.x, y - point.y};
609:   };
609: 
609:   this_type& operator-=(const this_type &point)
609:   {
609:     x -= point.x;
609:     y -= point.y;
609:     return *this;
609:   };
609: 
609:   constexpr this_type operator*(T factor) const
609:   {
609:     return {x * factor, y * factor};
609:   }
609: 
609:   this_type& operator*=(T factor)
609:   {
609:     x *= factor;
609:     y *= factor;
609:     return *this;
609:   }
609: 
609:   constexpr this_type operator/(T factor) const
609:   {
609:     return {x / factor, y / factor};
609:   }
609: 
609:   this_type& operator/=(T factor)
609:   {
609:     x /= factor;
609:     y /= factor;
609:     return *this;
609:   }
609: 
609:   T x{}, y{};
609: };
609: 
609: template<typename T>
609: constexpr bool operator==(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
609: {
609:   return (point1.x == point2.x && point1.y == point2.y);
609: }
609: 
609: template<typename T>
609: constexpr bool operator!=(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
609: {
609:   return !(point1 == point2);
609: }
609: 
609: using CPoint = CPointGen<float>;
609: using CPointInt = CPointGen<int>;
609: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
609: template <typename T> class CSizeGen
609: {
609:   T m_w{}, m_h{};
609: 
609:   void CheckSet(T width, T height)
609:   {
609:     if (width < 0)
609:     {
609:       throw std::out_of_range("Size may not have negative width");
609:     }
609:     if (height < 0)
609:     {
609:       throw std::out_of_range("Size may not have negative height");
609:     }
609:     m_w = width;
609:     m_h = height;
609:   }
609: 
609: public:
609:   typedef CSizeG  inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_integral_v = is_integral<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_array_v = is_array<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_pointer_v = is_pointer<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_lvalue_reference_v =
1412:     is_lvalue_reference<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_rvalue_reference_v =
1412:     is_rvalue_reference<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_member_object_pointer_v =
1412:     is_member_object_pointer<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_member_function_pointer_v =
1412:     is_member_function_pointer<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_enum_v = is_enum<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_union_v = is_union<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_class_v = is_class<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_function_v = is_function<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_reference_v = is_reference<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_object_v = is_object<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_compound_v = is_compound<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_const_v = is_const<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_volatile_v = is_volatile<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivial_v = is_trivial<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivially_copyable_v =
1412:     is_trivially_copyable<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value;
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: template <typename _Tp>
1412:  
1412:   inline constexpr bool is_pod_v = is_pod<_Tp>::value;
1412: template <typename _Tp>
1412:   [[__deprecated__]]
1412:   inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value;
1412: #pragma GCC diagnostic pop
1412:  template <typename _Tp>
1412:   inline constexpr bool is_empty_v = is_empty<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_abstract_v = is_abstract<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_final_v = is_final<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_signed_v = is_signed<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
1412: template <typename _Tp, typename... _Args>
1412:   inline constexpr bool is_constructible_v =
1412:     is_constructible<_Tp, _Args...>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_default_constructible_v =
1412:     is_default_constructible<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_copy_constructible_v =
1412:     is_copy_constructible<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpen<T> this_type;
609: 
609:   CSizeGen() noexcept = default;
609: 
609:   CSizeGen(T width, T height)
609:   {
609:     CheckSet(width, height);
609:   }
609: 
609:   T Width() const
609:   {
609:     return m_w;
609:   }
609: 
609:   T Height() const
609:   {
609:     return m_h;
609:   }
609: 
609:   void SetWidth(T width)
609:   {
609:     CheckSet(width, m_h);
609:   }
609: 
609:   void SetHeight(T height)
609:   {
609:     CheckSet(m_w, height);
609:   }
609: 
609:   void Set(T width, T height)
609:   {
609:     CheckSet(width, height);
609:   }
609: 
609:   bool IsZero() const
609:   {
609:     return (m_w == static_cast<T> (0) && m_h == static_cast<T> (0));
609:   }
609: 
609:   T Area() const
609:   {
609:     return m_w * m_h;
609:   }
609: 
609:   CPointGen<T> ToPoint() const
609:   {
609:     return {m_w, m_h};
609:   }
609: 
609:   template<class U> explicit CSizeGen<T>(const CSizeGen<U>& rhs)
609:   {
609:     CheckSet(static_cast<T> (rhs.m_w), static_cast<T> (rhs.m_h));
609:   }
609: 
609:   this_type operator+(const this_type& size) const
609:   {
609:     return {m_w + size.m_w, m_h + size.m_h};
609:   };
609: 
609:   this_type& operator+=(const this_type& size)
609:   {
609:     CheckSet(m_w + size.m_w, m_h + size.m_h);
609:     return *this;
609:   };
609: 
609:   this_type operator-(const this_type& size) const
609:   {
609:     return {m_w - size.m_w, m_h - size.m_h};
609:   };
609: 
609:   this_type& operator-=(const this_type& size)
609:   {
609:     CheckSet(m_w - size.m_w, m_h - size.m_h);
609:     return *this;
609:   };
609: 
609:   this_type operator*(T factor) const
609:   {
609:     return {m_w * factor, m_h * factor};
609:   }
609: 
609:   this_type& operator*=(T factor)
609:   {
609:     CheckSet(m_w * factor, m_h * factor);
609:     return *this;
609:   }
609: 
609:   this_type operator/(T factor) const
609:   {
609:     return {m_w / factor, m_h / factor};
609:   }
609: 
609:   this_type& operator/=(T factor)
609:   {
609:     CheckSet(m_w / factor, m_h / factor);
609:     return *this;
609:   }
609: };
609: 
609: template<typename T>
609: inline bool operator==(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
609: {
609:   return (size1.Width() == size2.Width() && size1.Height() == size2.Height());
609: }
609: 
609: template<typename T>
609: inline bool operator!=(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
609: {
609:   return !(size1 == size2);
609: }
609: 
609: using CSize = CSizeGen<float>;
609: using CSizeInt = CSizeGen<int>;
609: 
609: 
609: template <typename T> class CRectGen
609: {
609: public:
609:   typedef CRectGen<T> this_type;
609:   typedef CPointGen<T> point_type;
609:   typedef CSizeGen<T> size_type;
609: 
609:   CRectGen() noexcept = default;
609: 
609:   constexpr CRectGen(T left, T top, T right, T bottom)
609:   : x1{left}, y1{top}, x2{right}, y2{bottom}
609:   {}
609: 
609:   constexpr CRectGen(const point_type &p1, const point_type &p2)
609:   : x1{p1.x}, y1{p1.y}, x2{p2.x}, y2{p2.y}
609:   {}
609: 
609:   constexpr CRectGen(const point_type &origin, const size_type &size)
609:   : x1{origin.x}, y1{origin.y}, x2{x1 + size.Width()}, y2{y1 + size.Height()}
609:   {}
609: 
609:   template<class U> explicit constexpr CRectGen(const CRectGen<U>& rhs)
609:   : x1{static_cast<T> (rhs.x1)}, y1{static_cast<T> (rhs.y1)}, x2{static_cast<T> (rhs.x2)}, y2{static_cast<T> (rhs.y2)}
609:   {}
609: 
609:   void SetRect(T left, T top, T right, T bottom)
609:   {
609:     x1 = left;
609:     y1 = top;
609:     x2 = right;
609:     y2 = bottom;
609:   }
609: 
609:   constexpr bool PtInRect(const point_type &point) const
609:   {
609:     return (x1 <= point.x && point.x <= x2 && y1 <= point.y && point.y <= y2);
609:   };
609: 
609:   this_type& operator-=(const point_type &point) __attribute__((always_inline))
609:   {
609:     x1 -= point.x;
609:     y1 -= point.y;
609:     x2 -= point.x;
609:     y2 -= point.y;
609:     return *this;
609:   };
609: 
609:   constexpr this_type operator-(const point_type &point) const
609:   {
609:     return {x1 - point.x,w<_Up>,
1115:        is_copy_constructible<_Del>>>
1115: 
1115:  unique_ptr(_Up __p, const deleter_type& __d) noexcept
1115:  : _M_t(__p, __d) { }
1115: # 625 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Up, typename _Del = deleter_type,
1115:         typename = _Require<__safe_conversion_raw<_Up>,
1115:        is_move_constructible<_Del>>>
1115: 
1115:  unique_ptr(_Up __p,
1115:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1115:      _Del&&> __d) noexcept
1115:  : _M_t(std::move(__p), std::move(__d))
1115:  { }
1115: 
1115:       template<typename _Up, typename _Del = deleter_type,
1115:         typename _DelUnref = typename remove_reference<_Del>::type,
1115:         typename = _Require<__safe_conversion_raw<_Up>>>
1115:  unique_ptr(_Up,
1115:      __enable_if_t<is_lvalue_reference<_Del>::value,
1115:      _DelUnref&&>) = delete;
1115: 
1115: 
1115:       unique_ptr(unique_ptr&&) = default;
1115: 
1115: 
1115:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1115:  constexpr unique_ptr(nullptr_t) noexcept
1115:  : _M_t()
1115:         { }
1115: 
1115:       template<typename _Up, typename _Ep, typename = _Require<
1115:         __safe_conversion_up<_Up, _Ep>,
1115:         __conditional_t<is_reference<_Dp>::value,
1115:           is_same<_Ep, _Dp>,
1115:           is_convertible<_Ep, _Dp>>>>
1115: 
1115:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1115:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1115:  { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~unique_ptr()
1115:       {
1115:  auto& __ptr = _M_t._M_ptr();
1115:  if (__ptr != nullptr)
1115:    get_deleter()(__ptr);
1115:  __ptr = pointer();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unique_ptr&
1115:       operator=(unique_ptr&&) = default;
1115: # 689 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:       template<typename _Up, typename _Ep>
1115: 
1115:  typename
1115:  enable_if<__and_<__safe_conversion_up<_Up, _Ep>,
1115:                          is_assignable<deleter_type&, _Ep&&>
1115:                   >::value,
1115:                   unique_ptr&>::type
1115:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1115:  {
1115:    reset(__u.release());
1115:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1115:    return *this;
1115:  }
1115: 
1115: 
1115:      
1115:       unique_ptr&
1115:       operator=(nullptr_t) noexcept
1115:       {
1115:  reset();
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       typename std::add_lvalue_reference<element_type>::type
1115:       operator[](size_t __i) const
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1115:  return get()[__i];
1115:       }
1115: 
1115: 
1115:      
1115:       pointer
1115:       get() const noexcept
1115:       { return _M_t._M_ptr(); }
1115: 
1115: 
1115:      
1115:       deleter_type&
1115:       get_deleter() noexcept
1115:       { return _M_t._M_deleter(); }
1115: 
1115: 
1115:      
1115:       const deleter_type&
1115:       get_deleter() const noexcept
1115:       { return _M_t._M_deleter(); }
1115: 
1115: 
1115:      
1115:       explicit operator bool() const noexcept
1115:       { return get() == pointer() ? false : true; }
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       pointer
1115:       release() noexcept
1115:       { return _M_t.release(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template <typename _Up,
1115:                 typename = _Require<
1115:                   __or_<is_same<_Up, pointer>,
1115:                         __and_<is_same<pointer, element_type*>,
1115:                                is_pointer<_Up>,
1115:                                is_convertible<
1115:                                  typename remove_pointer<_Up>::type(*)[],
1115:                                  element_type(*)[]
1115:                                >
1115:                         >
1115:                   >
1115:      r bool is_move_constructible_v =
1412:     is_move_constructible<_Tp>::value;
1412: template <typename _Tp, typename _Up>
1412:   inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
1412: template <typename _Tp, typename... _Args>
1412:   inline constexpr bool is_trivially_constructible_v =
1412:     is_trivially_constructible<_Tp, _Args...>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivially_default_constructible_v =
1412:     is_trivially_default_constructible<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivially_copy_constructible_v =
1412:     is_trivially_copy_constructible<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivially_move_constructible_v =
1412:     is_trivially_move_constructible<_Tp>::value;
1412: template <typename _Tp, typename _Up>
1412:   inline constexpr bool is_trivially_assignable_v =
1412:     is_trivially_assignable<_Tp, _Up>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivially_copy_assignable_v =
1412:     is_trivially_copy_assignable<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivially_move_assignable_v =
1412:     is_trivially_move_assignable<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_trivially_destructible_v =
1412:     is_trivially_destructible<_Tp>::value;
1412: template <typename _Tp, typename... _Args>
1412:   inline constexpr bool is_nothrow_constructible_v =
1412:     is_nothrow_constructible<_Tp, _Args...>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_nothrow_default_constructible_v =
1412:     is_nothrow_default_constructible<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_nothrow_copy_constructible_v =
1412:     is_nothrow_copy_constructible<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_nothrow_move_constructible_v =
1412:     is_nothrow_move_constructible<_Tp>::value;
1412: template <typename _Tp, typename _Up>
1412:   inline constexpr bool is_nothrow_assignable_v =
1412:     is_nothrow_assignable<_Tp, _Up>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_nothrow_copy_assignable_v =
1412:     is_nothrow_copy_assignable<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_nothrow_move_assignable_v =
1412:     is_nothrow_move_assignable<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool is_nothrow_destructible_v =
1412:     is_nothrow_destructible<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr bool has_virtual_destructor_v =
1412:     has_virtual_destructor<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
1412: template <typename _Tp>
1412:   inline constexpr size_t rank_v = rank<_Tp>::value;
1412: template <typename _Tp, unsigned _Idx = 0>
1412:   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
1412: 
1412: template <typename _Tp, typename _Up>
1412:   inline constexpr bool is_same_v = __is_same(_Tp, _Up);
1412: 
1412: 
1412: 
1412: 
1412: template <typename _Base, typename _Derived>
1412:   inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value;
1412: template <typename _From, typename _To>
1412:   inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value;
1412: template<typename _Fn, typename... _Args>
1412:   inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
1412: template<typename _Fn, typename... _Args>
1412:   inline constexpr bool is_nothrow_invocable_v
1412:     = is_nothrow_invocable<_Fn, _Args...>::value;
1412: template<typename _R y1 - point.y, x2 - point.x, y2 - point.y};
609:   }
609: 
609:   this_type& operator+=(const point_type &point) __attribute__((always_inline))
609:   {
609:     x1 += point.x;
609:     y1 += point.y;
609:     x2 += point.x;
609:     y2 += point.y;
609:     return *this;
609:   };
609: 
609:   constexpr this_type operator+(const point_type &point) const
609:   {
609:     return {x1 + point.x, y1 + point.y, x2 + point.x, y2 + point.y};
609:   }
609: 
609:   this_type& operator-=(const size_type &size)
609:   {
609:     x2 -= size.Width();
609:     y2 -= size.Height();
609:     return *this;
609:   };
609: 
609:   constexpr this_type operator-(const size_type &size) const
609:   {
609:     return {x1, y1, x2 - size.Width(), y2 - size.Height()};
609:   }
609: 
609:   this_type& operator+=(const size_type &size)
609:   {
609:     x2 += size.Width();
609:     y2 += size.Height();
609:     return *this;
609:   };
609: 
609:   constexpr this_type operator+(const size_type &size) const
609:   {
609:     return {x1, y1, x2 + size.Width(), y2 + size.Height()};
609:   }
609: 
609:   this_type& Intersect(const this_type &rect)
609:   {
609:     x1 = clamp_range(x1, rect.x1, rect.x2);
609:     x2 = clamp_range(x2, rect.x1, rect.x2);
609:     y1 = clamp_range(y1, rect.y1, rect.y2);
609:     y2 = clamp_range(y2, rect.y1, rect.y2);
609:     return *this;
609:   };
609: 
609:   this_type& Union(const this_type &rect)
609:   {
609:     if (IsEmpty())
609:       *this = rect;
609:     else if (!rect.IsEmpty())
609:     {
609:       x1 = std::min(x1,rect.x1);
609:       y1 = std::min(y1,rect.y1);
609: 
609:       x2 = std::max(x2,rect.x2);
609:       y2 = std::max(y2,rect.y2);
609:     }
609: 
609:     return *this;
609:   };
609: 
609:   constexpr bool IsEmpty() const __attribute__((always_inline))
609:   {
609:     return (x2 - x1) * (y2 - y1) == 0;
609:   };
609: 
609:   constexpr point_type P1() const __attribute__((always_inline))
609:   {
609:     return {x1, y1};
609:   }
609: 
609:   constexpr point_type P2() const __attribute__((always_inline))
609:   {
609:     return {x2, y2};
609:   }
609: 
609:   constexpr T Width() const __attribute__((always_inline))
609:   {
609:     return x2 - x1;
609:   };
609: 
609:   constexpr T Height() const __attribute__((always_inline))
609:   {
609:     return y2 - y1;
609:   };
609: 
609:   constexpr T Area() const __attribute__((always_inline))
609:   {
609:     return Width() * Height();
609:   };
609: 
609:   size_type ToSize() const
609:   {
609:     return {Width(), Height()};
609:   };
609: 
609:   std::vector<this_type> SubtractRect(this_type splitterRect)
609:   {
609:     std::vector<this_type> newRectanglesList;
609:     this_type intersection = splitterRect.Intersect(*this);
609: 
609:     if (!intersection.IsEmpty())
609:     {
609:       this_type add;
609: 
609: 
609:       add = this_type(x1, y1, x2, intersection.y1);
609:       if (!add.IsEmpty())
609:         newRectanglesList.push_back(add);
609: 
609: 
609:       add = this_type(x1, intersection.y2, x2, y2);
609:       if (!add.IsEmpty())
609:         newRectanglesList.push_back(add);
609: 
609: 
609:       add = this_type(x1, intersection.y1, intersection.x1, intersection.y2);
609:       if (!add.IsEmpty())
609:         newRectanglesList.push_back(add);
609: 
609: 
609:       add = this_type(intersection.x2, intersection.y1, x2, intersection.y2);
609:       if (!add.IsEmpty())
609:         newRectanglesList.push_back(add);
609:     }
609:     else
609:     {
609:       newRectanglesList.push_back(*this);
609:     }
609: 
609:     return newRectanglesList;
609:   }
609: 
609:   std::vector<this_type> SubtractRects(std::vector<this_type> intersectionList)
609:   {
609:     std::vector<this_type> fragmentsList;
609:     fragmentsList.push_back(*this);
609: 
609:     for (typename std::vector<this_type>::iterator splitter = intersectionList.begin(); splitter != intersectionList.end(); ++splitter)
609:     {
609:       typename std::vector<this_type> toAddList;
609: 
609:       for (typename std::vector<this_type>::iterator fragment          >>
1115:      
1115:       void
1115:       reset(_Up __p) noexcept
1115:       { _M_t.reset(std::move(__p)); }
1115: 
1115:      
1115:       void reset(nullptr_t = nullptr) noexcept
1115:       { reset(pointer()); }
1115: 
1115: 
1115:      
1115:       void
1115:       swap(unique_ptr& __u) noexcept
1115:       {
1115:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1115:  _M_t.swap(__u._M_t);
1115:       }
1115: 
1115: 
1115:       unique_ptr(const unique_ptr&) = delete;
1115:       unique_ptr& operator=(const unique_ptr&) = delete;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     inline
1115: 
1115: 
1115:    
1115:     typename enable_if<__is_swappable<_Dp>::value>::type
1115: 
1115: 
1115: 
1115:     swap(unique_ptr<_Tp, _Dp>& __x,
1115:   unique_ptr<_Tp, _Dp>& __y) noexcept
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     typename enable_if<!__is_swappable<_Dp>::value>::type
1115:     swap(unique_ptr<_Tp, _Dp>&,
1115:   unique_ptr<_Tp, _Dp>&) = delete;
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp,
1115:     typename _Up, typename _Ep>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const unique_ptr<_Tp, _Dp>& __x,
1115:         const unique_ptr<_Up, _Ep>& __y)
1115:     { return __x.get() == __y.get(); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1115:     { return !__x; }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1115:     { return !__x; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp,
1115:     typename _Up, typename _Ep>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const unique_ptr<_Tp, _Dp>& __x,
1115:         const unique_ptr<_Up, _Ep>& __y)
1115:     { return __x.get() != __y.get(); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1115:     { return (bool)__x; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1115:     { return (bool)__x; }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp,
1115:     typename _Up, typename _Ep>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const unique_ptr<_Tp, _Dp>& __x,
1115:        const unique_ptr<_Up, _Ep>& __y)
1115:     {
1115:       typedef typename
1115:  std::common_type<typename unique_ptr<_Tp, _Dp>::pointer,
1115:                   typename unique_ptr<_Up, _Ep>::pointer>::type _CT;
1115:       return std::less<_CT>()(__x.get(), __y.get());
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1115:     {
1115:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1115:          nullptr);
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1115:     {
1115:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1115:          __x.get());
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp,
1115:     typename _Up, typename _Ep>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const unique_ptr<_Tp, _Dp>& __x,
1115:         const unique_ptr<_Up, _Ep>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const un = fragmentsList.begin(); fragment != fragmentsList.end(); ++fragment)
609:       {
609:         std::vector<this_type> newFragmentsList = fragment->SubtractRect(*splitter);
609:         toAddList.insert(toAddList.end(), newFragmentsList.begin(), newFragmentsList.end());
609:       }
609: 
609:       fragmentsList.clear();
609:       fragmentsList.insert(fragmentsList.end(), toAddList.begin(), toAddList.end());
609:     }
609: 
609:     return fragmentsList;
609:   }
609: 
609:   void GetQuad(point_type (&points)[4])
609:   {
609:     points[0] = { x1, y1 };
609:     points[1] = { x2, y1 };
609:     points[2] = { x2, y2 };
609:     points[3] = { x1, y2 };
609:   }
609: 
609:   T x1{}, y1{}, x2{}, y2{};
609: private:
609:   static constexpr T clamp_range(T x, T l, T h) __attribute__((always_inline))
609:   {
609:     return (x > h) ? h : ((x < l) ? l : x);
609:   }
609: };
609: 
609: template<typename T>
609: constexpr bool operator==(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
609: {
609:   return (rect1.x1 == rect2.x1 && rect1.y1 == rect2.y1 && rect1.x2 == rect2.x2 && rect1.y2 == rect2.y2);
609: }
609: 
609: template<typename T>
609: constexpr bool operator!=(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
609: {
609:   return !(rect1 == rect2);
609: }
609: 
609: using CRect = CRectGen<float>;
609: using CRectInt = CRectGen<int>;
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 2
609: 
609: 
609: 
609: class CDirtyRegion : public CRect
609: {
609: public:
609:   explicit CDirtyRegion(const CRect &rect) : CRect(rect) { m_age = 0; }
609:   CDirtyRegion(float left, float top, float right, float bottom) : CRect(left, top, right, bottom) { m_age = 0; }
609:   CDirtyRegion() : CRect() { m_age = 0; }
609: 
609:   int UpdateAge() { return ++m_age; }
609: private:
609:   int m_age;
609: };
609: 
609: typedef std::vector<CDirtyRegion> CDirtyRegionList;
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
609:        
609: 
609: enum ANIMATION_PROCESS { ANIM_PROCESS_NONE = 0, ANIM_PROCESS_NORMAL, ANIM_PROCESS_REVERSE };
609: enum ANIMATION_STATE { ANIM_STATE_NONE = 0, ANIM_STATE_DELAYED, ANIM_STATE_IN_PROCESS, ANIM_STATE_APPLIED };
609: 
609: 
609: 
609: class TiXmlElement;
609: class Tweener;
609: class CGUIListItem;
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h"
609:        
609: 
609: # 1 "/usr/include/c++/12/memory" 1 3
609: # 47 "/usr/include/c++/12/memory" 3
609:        
609: # 48 "/usr/include/c++/12/memory" 3
609: # 68 "/usr/include/c++/12/memory" 3
609: # 1 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 1 3
609: # 59 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 3
609: 
609: # 59 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609: 
609: 
609: 
609:   template <class _OutputIterator, class _Tp>
609:     class [[__deprecated__]] raw_storage_iterator
609:     : public iterator<output_iterator_tag, void, void, void, void>
609:     {
609:     protected:
609:       _OutputIterator _M_iter;
609: 
609:     public:
609:       explicit
609:       raw_storage_iterator(_OutputIterator __x)
609:       : _M_iter(__x) {}
609: 
609:       raw_storage_iterator&
609:       operator*() { return *this; }
609: 
609:       raw_storage_iterator&
609:       operator=(const _Tp& __element)
609:       {
609:  std::_Construct(std::__addressof(*_M_iter), __element);
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609:       raw_storage_iterator&
609:       operator=(_Tp&& __element)
609:       {
609:  std::_Construct(std::__addressof(*_M_iter), std::move(__element));
609:  return *this;
609:       }
609: 
609: 
609:       raw_storage_iterator&
609:       operator++()
609:       {
609:  ++_M_iter;
609:  return *this;
609:       }
609: 
609:       raw_storage_iterator
609:       operator++(int)
609:       {
609:  raw_storage_iterator __tmp = *this;
609:  ++_M_iter;
609:  return __tmp;
609:       }
609: 
609: 
609: 
609:       _OutputIterator base() const { return _M_iter; }
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609: }
609: # 69 "/usr/include/c++/12/memory" 2 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/align.h" 1 3
609: # 35 "/usr/include/c++/12/bits/align.h" 3
609: # 1 "/usr/include/c++/12/bit" 1 3
609: # 32 "/usr/include/c++/12/bit" 3
609:        
609: # 33 "/usr/include/c++/12/bit" 3
609: # 55 "/usr/include/c++/12/bit" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 149 "/usr/include/c++/12/bit" 3
609:   template<typename _Tp>
609:     constexpr _Tp
609:     __rotl(_Tp __x, int __s) noexcept
609:     {
609:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
609:       if constexpr ((_Nd & (_Nd - 1)) == 0)
609:  {
609: 
609: 
609:    constexpr unsigned __uNd = _Nd;
609:    const unsigned __r = __s;
609:    return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
609:  }
609:       const int __r = __s % _Nd;
609:       if (__r == 0)
609:  return __x;
609:       else if (__r > 0)
609:  return (__x << __r) | (__x >> ((_Nd - __r) % _Nd));
609:       else
609:  return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd));
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr _Tp
609:     __rotr(_Tp __x, int __s) noexcept
609:     {
609:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
609:       if constexpr ((_Nd & (_Nd - 1)) == 0)
609:  {
609: 
609: 
609:    constexpr unsigned __uNd = _Nd;
609:    const unsigned __r = __s;
609:    return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
609:  }
609:       const int __r = __s % _Nd;
609:       if (__r == 0)
609:  return __x;
609:       else if (__r > 0)
609:  return (__x >> __r) | (__x << ((_Nd - __r) % _Nd));
609:       else
609:  return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd));
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr int
609:     __countl_zero(_Tp __x) noexcept
609:     {
609:       using __gnu_cxx::__int_traits;
609:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
609: 
609:       if (__x == 0)
609:         return _Nd;
609: 
609:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
609:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
609:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
609: 
609:       if constexpr (_Nd <= _Nd_u)
609:  {
609:    constexpr int __diff = _Nd_u - _Nd;
609:    return __builtin_clz(__x) - __diff;
609:  }
609:       else if constexpr (_Nd <= _Nd_ul)
609:  {
609:    constexpr int __diff = _Nd_ul - _Nd;
609:    return __builtin_clzl(__x) - __diff;
609:  }
609:       else if constexpr (_Nd <= _Nd_ull)
609:  {
609:    constexpr int __diff = _Nd_ull - _Nd;
609:    return __builtin_clzll(__x) - __diff;
609:  }
609:       else
609:  {
609:    static_assert(_Nd <= (2 * _Nd_ull),
609:    "Maximum supported integer size is 128-bit");
609: 
609:    unsigned long long __high = __x >> _Nd_ull;
609:    if (__high != 0)
609:      {
609:        constexpr int __diff = (2 * _Nd_ull) - _Nd;
609:        return __builtin_clzll(__high) - __diff;
609:      }
609:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
609:    unsigned long long __low = __x & __max_ull;
609:    return (_Nd - _Nd_ull) + __builtin_clzll(__low);
609:  }
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr int
609:     __countl_one(_Tp __x) noexcept
609:     {
609:       return std::__countl_zero<_Tp>((_Tp)~__x);
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr int
609:     __countr_zero(_Tp __x) noexcept
609:     {
609:       using __gnu_cxx::__int_traits;
609:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
609: 
609:       if (__x == 0et, typename _Fn, typename... _Args>
1412:   inline constexpr bool is_invocable_r_v
1412:     = is_invocable_r<_Ret, _Fn, _Args...>::value;
1412: template<typename _Ret, typename _Fn, typename... _Args>
1412:   inline constexpr bool is_nothrow_invocable_r_v
1412:     = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct has_unique_object_representations
1412:     : bool_constant<__has_unique_object_representations(
1412:       remove_cv_t<remove_all_extents_t<_Tp>>
1412:       )>
1412:     {
1412:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1412:  "template argument must be a complete class or an unbounded array");
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr bool has_unique_object_representations_v
1412:       = has_unique_object_representations<_Tp>::value;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_aggregate
1412:     : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value;
1412: # 3703 "/usr/include/c++/12/type_traits" 3
1412: 
1412: }
1412: # 61 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/move.h" 1 3
1412: # 38 "/usr/include/c++/12/bits/move.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr _Tp*
1412:     __addressof(_Tp& __r) noexcept
1412:     { return __builtin_addressof(__r); }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 74 "/usr/include/c++/12/bits/move.h" 3
1412:   template<typename _Tp>
1412:     [[__nodiscard__]]
1412:     constexpr _Tp&&
1412:     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
1412:     { return static_cast<_Tp&&>(__t); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]]
1412:     constexpr _Tp&&
1412:     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
1412:     {
1412:       static_assert(!std::is_lvalue_reference<_Tp>::value,
1412:    "std::forward must not be used to convert an rvalue to an lvalue");
1412:       return static_cast<_Tp&&>(__t);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]]
1412:     constexpr typename std::remove_reference<_Tp>::type&&
1412:     move(_Tp&& __t) noexcept
1412:     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __move_if_noexcept_cond
1412:     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
1412:                     is_copy_constructible<_Tp>>::type { };
1412: # 121 "/usr/include/c++/12/bits/move.h" 3
1412:   template<typename _Tp>
1412:     [[__nodiscard__]]
1412:     constexpr
1412:     __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
1412:     move_if_noexcept(_Tp& __x) noexcept
1412:     { return std::move(__x); }
1412: # 142 "/usr/include/c++/12/bits/move.h" 3
1412:   template<typename _Tp>
1412:     [[__nodiscard__]]
1412:     inline constexpr _Tp*
1412:     addressof(_Tp& __r) noexcept
1412:     { return std::__addressof(__r); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     const _Tp* addressof(const _Tp&&) = delete;
1412: 
1412: 
1412:   template <typename _Tp, typename _Up = _Tp>
1412:    
1412:     inline _Tp
1412:     __exchange(_Tp& __obj, _Up&& __new_val)
1412:     {
1412:       _Tp __old_val = std::move(__obj);
1412:       __obj = std::forward<_Up>(__new_val);
1412:       return __old_val;
1412:     }
1412: # 186 "/usr/include/c++/12/bits/move.h" 3
1412:   template<typename _Tp>
1412:    
1412:     inline
1412: 
1412:     typename enable_if<__and_ique_ptr<_Tp, _Dp>& __x, nullptr_t)
1115:     { return !(nullptr < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1115:     { return !(__x < nullptr); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp,
1115:     typename _Up, typename _Ep>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const unique_ptr<_Tp, _Dp>& __x,
1115:        const unique_ptr<_Up, _Ep>& __y)
1115:     { return (__y < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1115:     {
1115:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1115:          __x.get());
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1115:     {
1115:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1115:          nullptr);
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp,
1115:     typename _Up, typename _Ep>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(const unique_ptr<_Tp, _Dp>& __x,
1115:         const unique_ptr<_Up, _Ep>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1115:     { return !(__x < nullptr); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     [[__nodiscard__]] inline bool
1115:     operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1115:     { return !(nullptr < __x); }
1115: # 1001 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:   template<typename _Up, typename _Ptr = typename _Up::pointer,
1115:     bool = __poison_hash<_Ptr>::__enable_hash_call>
1115:     struct __uniq_ptr_hash
1115: 
1115:     : private __poison_hash<_Ptr>
1115: 
1115:     {
1115:       size_t
1115:       operator()(const _Up& __u) const
1115:       noexcept(noexcept(std::declval<hash<_Ptr>>()(std::declval<_Ptr>())))
1115:       { return hash<_Ptr>()(__u.get()); }
1115:     };
1115: 
1115:   template<typename _Up, typename _Ptr>
1115:     struct __uniq_ptr_hash<_Up, _Ptr, false>
1115:     : private __poison_hash<_Ptr>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:     struct hash<unique_ptr<_Tp, _Dp>>
1115:     : public __hash_base<size_t, unique_ptr<_Tp, _Dp>>,
1115:       public __uniq_ptr_hash<unique_ptr<_Tp, _Dp>>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace __detail
1115: {
1115:   template<typename _Tp>
1115:     struct _MakeUniq
1115:     { typedef unique_ptr<_Tp> __single_object; };
1115: 
1115:   template<typename _Tp>
1115:     struct _MakeUniq<_Tp[]>
1115:     { typedef unique_ptr<_Tp[]> __array; };
1115: 
1115:   template<typename _Tp, size_t _Bound>
1115:     struct _MakeUniq<_Tp[_Bound]>
1115:     { struct __invalid_type { }; };
1115: 
1115:   template<typename _Tp>
1115:     using __unique_ptr_t = typename _MakeUniq<_Tp>::__single_object;
1115:   template<typename _Tp>
1115:     using __unique_ptr_array_t = typename _MakeUniq<_Tp>::__array;
1115:   template<typename _Tp>
1115:     using __invalid_make_unique_t = typename _MakeUniq<_Tp>::__invalid_type;
1115: }
1115: # 1061 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:   template<typename _Tp, typename... _Args>
1115:    
1115:     inline __detail::__unique_ptr_t<_Tp>
1115:     make_unique(_Args&&... __args)
1115:     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
1115: # 1076 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:   template<typename _Tp>
1115:    
1115:     inline __detail::__unique_ptr_array_t<_Tp>
1115:     make_unique(size_t __num)
1115:     { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); }
1115: 
1115:)
609:         return _Nd;
609: 
609:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
609:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
609:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
609: 
609:       if constexpr (_Nd <= _Nd_u)
609:  return __builtin_ctz(__x);
609:       else if constexpr (_Nd <= _Nd_ul)
609:  return __builtin_ctzl(__x);
609:       else if constexpr (_Nd <= _Nd_ull)
609:  return __builtin_ctzll(__x);
609:       else
609:  {
609:    static_assert(_Nd <= (2 * _Nd_ull),
609:    "Maximum supported integer size is 128-bit");
609: 
609:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
609:    unsigned long long __low = __x & __max_ull;
609:    if (__low != 0)
609:      return __builtin_ctzll(__low);
609:    unsigned long long __high = __x >> _Nd_ull;
609:    return __builtin_ctzll(__high) + _Nd_ull;
609:  }
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr int
609:     __countr_one(_Tp __x) noexcept
609:     {
609:       return std::__countr_zero((_Tp)~__x);
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr int
609:     __popcount(_Tp __x) noexcept
609:     {
609:       using __gnu_cxx::__int_traits;
609:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
609: 
609:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
609:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
609:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
609: 
609:       if constexpr (_Nd <= _Nd_u)
609:  return __builtin_popcount(__x);
609:       else if constexpr (_Nd <= _Nd_ul)
609:  return __builtin_popcountl(__x);
609:       else if constexpr (_Nd <= _Nd_ull)
609:  return __builtin_popcountll(__x);
609:       else
609:  {
609:    static_assert(_Nd <= (2 * _Nd_ull),
609:    "Maximum supported integer size is 128-bit");
609: 
609:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
609:    unsigned long long __low = __x & __max_ull;
609:    unsigned long long __high = __x >> _Nd_ull;
609:    return __builtin_popcountll(__low) + __builtin_popcountll(__high);
609:  }
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr bool
609:     __has_single_bit(_Tp __x) noexcept
609:     { return std::__popcount(__x) == 1; }
609: 
609:   template<typename _Tp>
609:     constexpr _Tp
609:     __bit_ceil(_Tp __x) noexcept
609:     {
609:       using __gnu_cxx::__int_traits;
609:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
609:       if (__x == 0 || __x == 1)
609:         return 1;
609:       auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u));
609: 
609: 
609: 
609: 
609:       if (!std::__is_constant_evaluated())
609:  {
609:    do { if (std::__is_constant_evaluated() && !bool(__shift_exponent != __int_traits<_Tp>::__digits)) __builtin_unreachable(); } while (false);
609:  }
609: 
609:       using __promoted_type = decltype(__x << 1);
609:       if constexpr (!is_same<__promoted_type, _Tp>::value)
609:  {
609: 
609: 
609: 
609: 
609: 
609:    const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2;
609:    __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp;
609:  }
609:       return (_Tp)1u << __shift_exponent;
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr _Tp
609:     __bit_floor(_Tp __x) noexcept
609:     {
609:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
609:       if (__x == 0)
609:         return 0;
609:       return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
609:     }
609: 
609:   template<typename _Tp>
609:     constexpr _Tp
609:     __bit_width(_Tp __x) noexcept
609:     {
609:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
609:       return _Nd - std::__countl_zero(__x);
609:     }
609: # 476 "/usr/include/c++/12/bit" 3
609: 
609: }
609: # 36 "/usr/include/c++/12/bits/align.h" 2 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 61 "/usr/include/c++/12/bits/<__not_<__is_tuple_like<_Tp>>,
1412:          is_move_constructible<_Tp>,
1412:          is_move_assignable<_Tp>>::value>::type
1412: 
1412: 
1412: 
1412:     swap(_Tp& __a, _Tp& __b)
1412:     noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
1412: 
1412:     {
1412: 
1412: 
1412: 
1412: 
1412:       _Tp __tmp = std::move(__a);
1412:       __a = std::move(__b);
1412:       __b = std::move(__tmp);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:    
1412:     inline
1412: 
1412:     typename enable_if<__is_swappable<_Tp>::value>::type
1412: 
1412: 
1412: 
1412:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1412:     noexcept(__is_nothrow_swappable<_Tp>::value)
1412:     {
1412:       for (size_t __n = 0; __n < _Nm; ++__n)
1412:  swap(__a[__n], __b[__n]);
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: # 62 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/utility.h" 1 3
1412: # 36 "/usr/include/c++/12/bits/utility.h" 3
1412:        
1412: # 37 "/usr/include/c++/12/bits/utility.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct tuple_size;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp,
1412:     typename _Up = typename remove_cv<_Tp>::type,
1412:     typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
1412:     size_t = tuple_size<_Tp>::value>
1412:     using __enable_if_has_tuple_size = _Tp;
1412: 
1412:   template<typename _Tp>
1412:     struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
1412:     : public tuple_size<_Tp> { };
1412: 
1412:   template<typename _Tp>
1412:     struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
1412:     : public tuple_size<_Tp> { };
1412: 
1412:   template<typename _Tp>
1412:     struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
1412:     : public tuple_size<_Tp> { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
1412: 
1412: 
1412: 
1412:   template<size_t __i, typename _Tp>
1412:     struct tuple_element;
1412: 
1412: 
1412:   template<size_t __i, typename _Tp>
1412:     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
1412: 
1412:   template<size_t __i, typename _Tp>
1412:     struct tuple_element<__i, const _Tp>
1412:     {
1412:       typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
1412:     };
1412: 
1412:   template<size_t __i, typename _Tp>
1412:     struct tuple_element<__i, volatile _Tp>
1412:     {
1412:       typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
1412:     };
1412: 
1412:   template<size_t __i, typename _Tp>
1412:     struct tuple_element<__i, const volatile _Tp>
1412:     {
1412:       typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename... _Types>
1412:     constexpr size_t
1412:     __find_uniq_type_in_pack()
1412:     {
1412:       constexpr size_t __sz = sizeof...(_Types);
1412:       constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
1412:       size_t __n = __sz;
1412:       for (size_t __i = 0; __i < __sz; ++__i)
1412:  {
1412:    if (__found[__i])
1412:      {
1412:        if (__n < __sz)
1412:   return __sz;
1412:        __n = __i;
1412:      }
1412:  }
1412:       return __n;
1412:     }
1412: # 134 "/usr/include/c++/12/bits/utility.h" 3
1412:   template<size_t __i, typename _Tp>
1412:     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412:   template<size_t... _Indexes> struct _Index_tuple { };
1412: 
1412: 
1412:   template<size_t _Num>
1412:     struct _Build_index_tuple
1412:     {
1412: # 154 "/usr/include/c++/12/bits/utility.h" 3
1412:       using __type = _Index_tuple<__integer_pack(_Num)...>;
1412: 
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, _Tp... _Idx>
1412:     struct integer_sequence
1412:     {
1412:       typedef _Tp value_type;
1412:       static constexpr size_t size() noexcept { return sizeof...(_Idx); }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, _Tp _Num>
1412:     using make_integer_sequence
1412: 
1412: 
1412: 
1412:       = integer_sequence<_Tp, __integer_pack(_Num)...>;
1412: 
1412: 
1412: 
1412:   template<size_t... _Idx>
1412:     using index_sequence = integer_sequence<size_t, _Idx...>;
1412: 
1412: 
1412:   template<size_t _Num>
1412:     using make_index_sequence = make_integer_sequence<size_t, _Num>;
1412: 
1412: 
1412:   template<typename... _Types>
1412:     using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
1412: 
1412: 
1412: 
1412:   struct in_place_t {
1412:     explicit in_place_t() = default;
1412:   };
1412: 
1412:   inline constexpr in_place_t in_place{};
1412: 
1412:   template<typename _Tp> struct in_place_type_t
1412:   {
1412:     explicit in_place_type_t() = default;
1412:   };
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr in_place_type_t<_Tp> in_place_type{};
1412: 
1412:   template<size_t _Idx> struct in_place_index_t
1412:   {
1412:     explicit in_place_index_t() = default;
1412:   };
1412: 
1412:   template<size_t _Idx>
1412:     inline constexpr in_place_index_t<_Idx> in_place_index{};
1412: 
1412:   template<typename>
1412:     inline constexpr bool __is_in_place_type_v = false;
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
1412: 
1412:   template<typename _Tp>
1412:     using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>;
1412: 
1412: 
1412: 
1412: 
1412:   template<size_t _Np, typename... _Types>
1412:     struct _Nth_type
1412:     { };
1412: 
1412:   template<typename _Tp0, typename... _Rest>
1412:     struct _Nth_type<0, _Tp0, _Rest...>
1412:     { using type = _Tp0; };
1412: 
1412:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1412:     struct _Nth_type<1, _Tp0, _Tp1, _Rest...>
1412:     { using type = _Tp1; };
1412: 
1412:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1412:     struct _Nth_type<2, _Tp0, _Tp1, _Tp2, _Rest...>
1412:     { using type = _Tp2; };
1412: 
1412:   template<size_t _Np, typename _Tp0, typename _Tp1, typename _Tp2,
1412:     typename... _Rest>
1412: 
1412: 
1412: 
1412:     struct _Nth_type<_Np, _Tp0, _Tp1, _Tp2, _Rest...>
1412:     : _Nth_type<_Np - 3, _Rest...>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1412:     struct _Nth_type<0, _Tp0, _Tp1, _Rest...>
1412:     { using type = _Tp0; };
1412: 
1412:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1412:     struct _Nth_type<0, _Tp0, _Tp1, _Tp2, _Rest...>
1412:     { using type = _Tp0; };
1412: 
1412:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1412:     struct _Nth_type<1, _Tp0, _Tp1, _Tp2, _Rest...>
1412:     { using type = _Tp1; };
1412: 
1412: 
1412: 
1412: }
1412: # 63 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 80 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:   struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
1412: 
1412: 
1412:   inline constexpr piecewise_construct_t piecewise_construct =
1412:     piecewise_construct_t();
1412: 
1412: 
1412: 
1412: 
1412:   template<typename...>
1412:     class tuple;
1412: 
1412:   template<size_t...>
1412:     struct _Index_tuple;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <bool, typename _T1, typename _T2>
1412:     struct _PCC
1412:     {
1412:       template <typename _U1, typename _U2>
1412:       static constexpr bool _ConstructiblePair()
1412:       {
1412:  return __and_<is_constructible<_T1, const _U1&>,
1412:         is_constructible<_T2, const _U2&>>::value;
1412:       }
1412: 
1412:       templatalign.h" 3
609: inline void*
609: align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept
609: {
609:   if (__space < __size)
609:     return nullptr;
609:   const auto __intptr = reinterpret_cast<uintptr_t>(__ptr);
609:   const auto __aligned = (__intptr - 1u + __align) & -__align;
609:   const auto __diff = __aligned - __intptr;
609:   if (__diff > (__space - __size))
609:     return nullptr;
609:   else
609:     {
609:       __space -= __diff;
609:       return __ptr = reinterpret_cast<void*>(__aligned);
609:     }
609: }
609: # 108 "/usr/include/c++/12/bits/align.h" 3
609: 
609: }
609: # 73 "/usr/include/c++/12/memory" 2 3
609: # 1 "/usr/include/c++/12/bits/uses_allocator.h" 1 3
609: # 35 "/usr/include/c++/12/bits/uses_allocator.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   struct __erased_type { };
609: 
609: 
609: 
609: 
609:   template<typename _Alloc, typename _Tp>
609:     using __is_erased_or_convertible
609:       = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
609: 
609: 
609:   struct allocator_arg_t { explicit allocator_arg_t() = default; };
609: 
609:   inline constexpr allocator_arg_t allocator_arg =
609:     allocator_arg_t();
609: 
609:   template<typename _Tp, typename _Alloc, typename = __void_t<>>
609:     struct __uses_allocator_helper
609:     : false_type { };
609: 
609:   template<typename _Tp, typename _Alloc>
609:     struct __uses_allocator_helper<_Tp, _Alloc,
609:        __void_t<typename _Tp::allocator_type>>
609:     : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
609:     { };
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     struct uses_allocator
609:     : __uses_allocator_helper<_Tp, _Alloc>::type
609:     { };
609: 
609:   struct __uses_alloc_base { };
609: 
609:   struct __uses_alloc0 : __uses_alloc_base
609:   {
609:     struct _Sink { void operator=(const void*) { } } _M_a;
609:   };
609: 
609:   template<typename _Alloc>
609:     struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
609: 
609:   template<typename _Alloc>
609:     struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
609: 
609:   template<bool, typename _Tp, typename _Alloc, typename... _Args>
609:     struct __uses_alloc;
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     struct __uses_alloc<true, _Tp, _Alloc, _Args...>
609:     : __conditional_t<
609:         is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
609:         __uses_alloc1<_Alloc>,
609:         __uses_alloc2<_Alloc>>
609:     {
609: 
609: 
609:       static_assert(__or_<
609:    is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
609:    is_constructible<_Tp, _Args..., const _Alloc&>>::value,
609:    "construction with an allocator must be possible"
609:    " if uses_allocator is true");
609:     };
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     struct __uses_alloc<false, _Tp, _Alloc, _Args...>
609:     : __uses_alloc0 { };
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     using __uses_alloc_t =
609:       __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:    
609:     inline __uses_alloc_t<_Tp, _Alloc, _Args...>
609:     __use_alloc(const _Alloc& __a)
609:     {
609:       __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
609:       __ret._M_a = std::__addressof(__a);
609:       return __ret;
609:     }
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     void
609:     __use_alloc(const _Alloc&&) = delete;
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     inline constexpr bool uses_allocator_v =
609:       uses_allocator<_Tp, _Alloc>::value;
609: 
609: 
609:   template<template<typename...> class _Predicate,
609:     typename _Tp, typename _Alloc, typename... _Args>
609:     struct __is_uses_allocator_predicate
609:      
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename... _Args>
1115:     __detail::__invalid_make_unique_t<_Tp>
1115:     make_unique(_Args&&...) = delete;
1115: # 1149 "/usr/include/c++/12/bits/unique_ptr.h" 3
1115:   namespace __detail::__variant
1115:   {
1115:     template<typename> struct _Never_valueless_alt;
1115: 
1115: 
1115: 
1115:     template<typename _Tp, typename _Del>
1115:       struct _Never_valueless_alt<std::unique_ptr<_Tp, _Del>>
1115:       : std::true_type
1115:       { };
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: # 77 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr/include/c++/12/bits/shared_ptr.h" 1 3
1115: # 52 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115: # 1 "/usr/include/c++/12/iosfwd" 1 3
1115: # 36 "/usr/include/c++/12/iosfwd" 3
1115:        
1115: # 37 "/usr/include/c++/12/iosfwd" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stringfwd.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/stringfwd.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/stringfwd.h" 3
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<class _CharT>
1115:     struct char_traits;
1115: 
1115:   template<> struct char_traits<char>;
1115: 
1115:   template<> struct char_traits<wchar_t>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<> struct char_traits<char16_t>;
1115:   template<> struct char_traits<char32_t>;
1115: 
1115: 
1115: namespace __cxx11 {
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1115:            typename _Alloc = allocator<_CharT> >
1115:     class basic_string;
1115: 
1115: }
1115: 
1115: 
1115:   typedef basic_string<char> string;
1115: 
1115: 
1115:   typedef basic_string<wchar_t> wstring;
1115: # 89 "/usr/include/c++/12/bits/stringfwd.h" 3
1115:   typedef basic_string<char16_t> u16string;
1115: 
1115: 
1115:   typedef basic_string<char32_t> u32string;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 40 "/usr/include/c++/12/iosfwd" 2 3
1115: # 1 "/usr/include/c++/12/bits/postypes.h" 1 3
1115: # 38 "/usr/include/c++/12/bits/postypes.h" 3
1115:        
1115: # 39 "/usr/include/c++/12/bits/postypes.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/cwchar" 1 3
1115: # 39 "/usr/include/c++/12/cwchar" 3
1115:        
1115: # 40 "/usr/include/c++/12/cwchar" 3
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/wchar.h" 1 3 4
1115: # 27 "/usr/include/wchar.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1115: # 28 "/usr/include/wchar.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1115: # 52 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1115: # 25 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 2 3 4
1115: # 214 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1115: typedef float _Float32;
1115: # 238 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1115: typedef long double _Float64;
1115: # 268 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1115: typedef double _Float32x;
1115: # 53 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 2 3 4
1115: # 31 "/usr/include/wchar.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 214 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1115: typedef unsigned int size_t;
1115: # 36 "/usr/include/wchar.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1115: # 40 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 3 4
1115: typedef __builtin_va_list __gnuc_va_list;
1115: # 39 "/usr/include/wchar.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 1 3 4
1115: # 20 "/usr/include/arm-linux-gnueabihf/bie <typename _U1, typename _U2>
1412:       static constexpr bool _ImplicitlyConvertiblePair()
1412:       {
1412:  return __and_<is_convertible<const _U1&, _T1>,
1412:         is_convertible<const _U2&, _T2>>::value;
1412:       }
1412: 
1412:       template <typename _U1, typename _U2>
1412:       static constexpr bool _MoveConstructiblePair()
1412:       {
1412:  return __and_<is_constructible<_T1, _U1&&>,
1412:         is_constructible<_T2, _U2&&>>::value;
1412:       }
1412: 
1412:       template <typename _U1, typename _U2>
1412:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1412:       {
1412:  return __and_<is_convertible<_U1&&, _T1>,
1412:         is_convertible<_U2&&, _T2>>::value;
1412:       }
1412:     };
1412: 
1412:   template <typename _T1, typename _T2>
1412:     struct _PCC<false, _T1, _T2>
1412:     {
1412:       template <typename _U1, typename _U2>
1412:       static constexpr bool _ConstructiblePair()
1412:       {
1412:  return false;
1412:       }
1412: 
1412:       template <typename _U1, typename _U2>
1412:       static constexpr bool _ImplicitlyConvertiblePair()
1412:       {
1412:  return false;
1412:       }
1412: 
1412:       template <typename _U1, typename _U2>
1412:       static constexpr bool _MoveConstructiblePair()
1412:       {
1412:  return false;
1412:       }
1412: 
1412:       template <typename _U1, typename _U2>
1412:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1412:       {
1412:  return false;
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _U1, typename _U2> class __pair_base
1412:   {
1412: 
1412:     template<typename _T1, typename _T2> friend struct pair;
1412:     __pair_base() = default;
1412:     ~__pair_base() = default;
1412:     __pair_base(const __pair_base&) = default;
1412:     __pair_base& operator=(const __pair_base&) = delete;
1412: 
1412:   };
1412: # 184 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:   template<typename _T1, typename _T2>
1412:     struct pair
1412:     : public __pair_base<_T1, _T2>
1412:     {
1412:       typedef _T1 first_type;
1412:       typedef _T2 second_type;
1412: 
1412:       _T1 first;
1412:       _T2 second;
1412: 
1412: 
1412:       constexpr pair(const pair&) = default;
1412:       constexpr pair(pair&&) = default;
1412: 
1412:       template<typename... _Args1, typename... _Args2>
1412: 
1412:  pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
1412: 
1412: 
1412:       void
1412:       swap(pair& __p)
1412:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1412:         __is_nothrow_swappable<_T2>>::value)
1412:       {
1412:  using std::swap;
1412:  swap(first, __p.first);
1412:  swap(second, __p.second);
1412:       }
1412: 
1412:     private:
1412:       template<typename... _Args1, size_t... _Indexes1,
1412:         typename... _Args2, size_t... _Indexes2>
1412: 
1412:  pair(tuple<_Args1...>&, tuple<_Args2...>&,
1412:       _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
1412:     public:
1412: # 378 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:       template <typename _U1 = _T1,
1412:                 typename _U2 = _T2,
1412:                 typename enable_if<__and_<
1412:                                      __is_implicitly_default_constructible<_U1>,
1412:                                      __is_implicitly_default_constructible<_U2>>
1412:                                    ::value, bool>::type = true>
1412:       constexpr pair()
1412:       : first(), second() { }
1412: 
1412:       template <typename _U1 = _T1,
1412:                 typename _U2 = _T2,
1412:                 typename enable_if<__and_<
1412:                        is_default_constructible<_U1>,
1412:                        is_default_constructible<_U2>,
1412:                        __not_<
1412:                          __and_<__is_implicitly_default_constructible<_U1>,
1412:                                 __is_implicitly_default_constructible<_U2>>>>
1412:                                    ::value, bool>::type = false>
1412:       explicit constexpr pair()
1412:     : __conditional_t<uses_allocator<_Tp, _Alloc>::value,
609:       __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
609:      _Predicate<_Tp, _Args..., _Alloc>>,
609:       _Predicate<_Tp, _Args...>> { };
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     struct __is_uses_allocator_constructible
609:     : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
609:     { };
609: 
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     inline constexpr bool __is_uses_allocator_constructible_v =
609:       __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
609: 
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     struct __is_nothrow_uses_allocator_constructible
609:     : __is_uses_allocator_predicate<is_nothrow_constructible,
609:         _Tp, _Alloc, _Args...>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     inline constexpr bool
609:     __is_nothrow_uses_allocator_constructible_v =
609:       __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
609: 
609: 
609:   template<typename _Tp, typename... _Args>
609:     void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr,
609:       _Args&&... __args)
609:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
609:       _Args&&... __args)
609:     {
609:       ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a,
609:           std::forward<_Args>(__args)...);
609:     }
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
609:       _Args&&... __args)
609:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
609: 
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
609:         _Args&&... __args)
609:     {
609:       std::__uses_allocator_construct_impl(
609:    std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
609:    std::forward<_Args>(__args)...);
609:     }
609: 
609: 
609: 
609: }
609: # 74 "/usr/include/c++/12/memory" 2 3
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/unique_ptr.h" 1 3
609: # 36 "/usr/include/c++/12/bits/unique_ptr.h" 3
609: # 1 "/usr/include/c++/12/tuple" 1 3
609: # 32 "/usr/include/c++/12/tuple" 3
609:        
609: # 33 "/usr/include/c++/12/tuple" 3
609: # 47 "/usr/include/c++/12/tuple" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename... _Elements>
609:     class tuple;
609: 
609:   template<typename _Tp>
609:     struct __is_empty_non_tuple : is_empty<_Tp> { };
609: 
609: 
609:   template<typename _El0, typename... _El>
609:     struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
609: 
609: 
609:   template<typename _Tp>
609:     using __empty_not_final
609:     = __conditional_t<__is_final(_Tp), false_type,
609:         __is_empty_non_tuple<_Tp>>;
609: 
609:   template<size_t _Idx, typename _Head,
609:     bool = __empty_not_final<_Head>::value>
609:     struct _Head_base;
609: 
609: 
609:   template<size_t _Idx, typename _Head>
609:     struct _Head_base<_Idx, _Head, true>
609:     {
609:       constexpr _Head_base()
609:       : _M_head_impl() { }
609: 
609:       constexpr _Head_base(const _Head& __h)
609:       : _M_head_impl(__h) { }
609: 
609:       constexpr _Head_base(const _Head_base&) = default;
609:       constexpr _Head_base(_Head_base&&) = default;
609: 
609:       template<typename _UHead>
609:  constexpr _Head_base(_UHead&& __h)
609:  : _M_head_impl(std::forward<_UHead>(__h)) { }
609: 
609:      
609:       _Head_base(allocator_arg_t, __uses_alloc0)
609:       : _M_head_impl() { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Head_bts/types/wint_t.h" 3 4
1115: typedef unsigned int wint_t;
1115: # 42 "/usr/include/wchar.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 1 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 1 3 4
1115: # 13 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 3 4
1115: typedef struct
1115: {
1115:   int __count;
1115:   union
1115:   {
1115:     unsigned int __wch;
1115:     char __wchb[4];
1115:   } __value;
1115: } __mbstate_t;
1115: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 2 3 4
1115: 
1115: typedef __mbstate_t mbstate_t;
1115: # 43 "/usr/include/wchar.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__FILE.h" 1 3 4
1115: 
1115: 
1115: 
1115: struct _IO_FILE;
1115: typedef struct _IO_FILE __FILE;
1115: # 44 "/usr/include/wchar.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/FILE.h" 1 3 4
1115: 
1115: 
1115: 
1115: struct _IO_FILE;
1115: 
1115: 
1115: typedef struct _IO_FILE FILE;
1115: # 47 "/usr/include/wchar.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 1 3 4
1115: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 3 4
1115: struct __locale_struct
1115: {
1115: 
1115:   struct __locale_data *__locales[13];
1115: 
1115: 
1115:   const unsigned short int *__ctype_b;
1115:   const int *__ctype_tolower;
1115:   const int *__ctype_toupper;
1115: 
1115: 
1115:   const char *__names[13];
1115: };
1115: 
1115: typedef struct __locale_struct *__locale_t;
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 2 3 4
1115: 
1115: typedef __locale_t locale_t;
1115: # 50 "/usr/include/wchar.h" 2 3 4
1115: # 79 "/usr/include/wchar.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: struct tm;
1115: 
1115: 
1115: 
1115: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
1115:    const wchar_t *__restrict __src)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
1115:     const wchar_t *__restrict __src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern wchar_t *wcscat (wchar_t *__restrict __dest,
1115:    const wchar_t *__restrict __src)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
1115:     const wchar_t *__restrict __src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1115: 
1115: 
1115: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
1115:    size_t __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1115:     locale_t __loc) noexcept (true);
1115: 
1115: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1115:      size_t __n, locale_t __loc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1115: 
1115: 
1115: 
1115: extern size_t wcsxfrm (wchar_t *__restrict __s1,
1115:          const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
1115:         locale_t __loc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t ase(allocator_arg_t, __uses_alloc1<_Alloc> __a)
609:  : _M_head_impl(allocator_arg, *__a._M_a) { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
609:  : _M_head_impl(*__a._M_a) { }
609: 
609:       template<typename _UHead>
609: 
609:  _Head_base(__uses_alloc0, _UHead&& __uhead)
609:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
609: 
609:       template<typename _Alloc, typename _UHead>
609: 
609:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
609:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead>
609: 
609:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
609:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
609: 
609:       static constexpr _Head&
609:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
609: 
609:       static constexpr const _Head&
609:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
609: 
609:       [[__no_unique_address__]] _Head _M_head_impl;
609:     };
609: # 186 "/usr/include/c++/12/tuple" 3
609:   template<size_t _Idx, typename _Head>
609:     struct _Head_base<_Idx, _Head, false>
609:     {
609:       constexpr _Head_base()
609:       : _M_head_impl() { }
609: 
609:       constexpr _Head_base(const _Head& __h)
609:       : _M_head_impl(__h) { }
609: 
609:       constexpr _Head_base(const _Head_base&) = default;
609:       constexpr _Head_base(_Head_base&&) = default;
609: 
609:       template<typename _UHead>
609:         constexpr _Head_base(_UHead&& __h)
609:  : _M_head_impl(std::forward<_UHead>(__h)) { }
609: 
609:      
609:       _Head_base(allocator_arg_t, __uses_alloc0)
609:       : _M_head_impl() { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
609:  : _M_head_impl(allocator_arg, *__a._M_a) { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
609:  : _M_head_impl(*__a._M_a) { }
609: 
609:       template<typename _UHead>
609: 
609:  _Head_base(__uses_alloc0, _UHead&& __uhead)
609:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
609: 
609:       template<typename _Alloc, typename _UHead>
609: 
609:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
609:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead>
609: 
609:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
609:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
609: 
609:       static constexpr _Head&
609:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
609: 
609:       static constexpr const _Head&
609:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
609: 
609:       _Head _M_head_impl;
609:     };
609: # 249 "/usr/include/c++/12/tuple" 3
609:   template<size_t _Idx, typename... _Elements>
609:     struct _Tuple_impl;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<size_t _Idx, typename _Head, typename... _Tail>
609:     struct _Tuple_impl<_Idx, _Head, _Tail...>
609:     : public _Tuple_impl<_Idx + 1, _Tail...>,
609:       private _Head_base<_Idx, _Head>
609:     {
609:       template<size_t, typename...> friend struct _Tuple_impl;
609: 
609:       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
609:       typedef _Head_base<_Idx, _Head> _Base;
609: 
609:       static constexpr _Head&
609:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
609: 
609:       static constexpr const _Head&
609:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
609: 
609:       static constexpr _Inherited&
609:       _M_tail(_Tuple_impl& __t) noexcept { return __t; }
609: 
609:       static constexpr const _Inherited&
609:       _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
609: 
609:       constexpr _Tuple_impl()
609:       : _Inherited(), _Base() { }
609: 
609  : first(), second() { }
1412: 
1412: 
1412: 
1412:       using _PCCP = _PCC<true, _T1, _T2>;
1412: 
1412: 
1412: 
1412:       template<typename _U1 = _T1, typename _U2=_T2, typename
1412:         enable_if<_PCCP::template
1412:       _ConstructiblePair<_U1, _U2>()
1412:                   && _PCCP::template
1412:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1412:                          bool>::type=true>
1412:       constexpr pair(const _T1& __a, const _T2& __b)
1412:       : first(__a), second(__b) { }
1412: 
1412: 
1412:        template<typename _U1 = _T1, typename _U2=_T2, typename
1412:   enable_if<_PCCP::template
1412:        _ConstructiblePair<_U1, _U2>()
1412:                    && !_PCCP::template
1412:        _ImplicitlyConvertiblePair<_U1, _U2>(),
1412:                          bool>::type=false>
1412:       explicit constexpr pair(const _T1& __a, const _T2& __b)
1412:       : first(__a), second(__b) { }
1412: 
1412: 
1412: 
1412:       template <typename _U1, typename _U2>
1412:         using _PCCFP = _PCC<!is_same<_T1, _U1>::value
1412:        || !is_same<_T2, _U2>::value,
1412:        _T1, _T2>;
1412: 
1412: 
1412:       template<typename _U1, typename _U2, typename
1412:         enable_if<_PCCFP<_U1, _U2>::template
1412:       _ConstructiblePair<_U1, _U2>()
1412:                   && _PCCFP<_U1, _U2>::template
1412:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1412:      bool>::type=true>
1412:         constexpr pair(const pair<_U1, _U2>& __p)
1412:         : first(__p.first), second(__p.second) { }
1412: 
1412:       template<typename _U1, typename _U2, typename
1412:         enable_if<_PCCFP<_U1, _U2>::template
1412:       _ConstructiblePair<_U1, _U2>()
1412:     && !_PCCFP<_U1, _U2>::template
1412:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1412:                          bool>::type=false>
1412:  explicit constexpr pair(const pair<_U1, _U2>& __p)
1412:  : first(__p.first), second(__p.second) { }
1412: # 460 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:     private:
1412: 
1412: 
1412: 
1412:       struct __zero_as_null_pointer_constant
1412:       {
1412:  __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
1412:  { }
1412:  template<typename _Tp,
1412:    typename = __enable_if_t<is_null_pointer<_Tp>::value>>
1412:  __zero_as_null_pointer_constant(_Tp) = delete;
1412:       };
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _U1,
1412:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1412:         is_pointer<_T2>,
1412:         is_constructible<_T1, _U1>,
1412:         __not_<is_constructible<_T1, const _U1&>>,
1412:         is_convertible<_U1, _T1>>::value,
1412:         bool> = true>
1412:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1412:  constexpr
1412:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1412:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1412: 
1412:       template<typename _U1,
1412:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1412:         is_pointer<_T2>,
1412:         is_constructible<_T1, _U1>,
1412:         __not_<is_constructible<_T1, const _U1&>>,
1412:         __not_<is_convertible<_U1, _T1>>>::value,
1412:         bool> = false>
1412:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1412:  explicit constexpr
1412:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1412:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1412: 
1412:       template<typename _U2,
1412:         __enable_if_t<__and_<is_pointer<_T1>,
1412:         __not_<is_reference<_U2>>,
1412:         is_constructible<_T2, _U2>,
1412:         __not_<is_constructible<_T2, const _U2&>>,
1412:         is_convertible<_U2, _T2>>::value,
1412:         bool> = true>
1412:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1412:  constexpr
1412:  pair(__zero_as_null_pointer_constant, _U:       explicit constexpr
609:       _Tuple_impl(const _Head& __head, const _Tail&... __tail)
609:       : _Inherited(__tail...), _Base(__head)
609:       { }
609: 
609:       template<typename _UHead, typename... _UTail,
609:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
609:  explicit constexpr
609:  _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
609:  : _Inherited(std::forward<_UTail>(__tail)...),
609:    _Base(std::forward<_UHead>(__head))
609:  { }
609: 
609:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
609: 
609: 
609: 
609:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
609: 
609:       _Tuple_impl(_Tuple_impl&&) = default;
609: 
609:       template<typename... _UElements>
609:  constexpr
609:  _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
609:  : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
609:    _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in))
609:  { }
609: 
609:       template<typename _UHead, typename... _UTails>
609:  constexpr
609:  _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
609:  : _Inherited(std::move
609:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
609:    _Base(std::forward<_UHead>
609:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
609:  : _Inherited(__tag, __a),
609:    _Base(__tag, __use_alloc<_Head>(__a))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       const _Head& __head, const _Tail&... __tail)
609:  : _Inherited(__tag, __a, __tail...),
609:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head)
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead, typename... _UTail,
609:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       _UHead&& __head, _UTail&&... __tail)
609:  : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
609:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
609:   std::forward<_UHead>(__head))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       const _Tuple_impl& __in)
609:  : _Inherited(__tag, __a, _M_tail(__in)),
609:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       _Tuple_impl&& __in)
609:  : _Inherited(__tag, __a, std::move(_M_tail(__in))),
609:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
609:   std::forward<_Head>(_M_head(__in)))
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead, typename... _UTails>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       const _Tuple_impl<_Idx, _UHead, _UTails...>& __in)
609:  : _Inherited(__tag, __a,
609:        _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)),
609:    _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
609:   _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead, typename... _UTails>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
609:  : _Inherited(__tag, __a, std::move
609:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
609:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
609:   std::forward<_UHead>
609:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
609:  { }
609: 
609:       template<typename... _UElements>
609: 
609:  void
609:  _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in)
609:  {
609:    _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
609:    _M_tail(*this)._M_assign(
609:        _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
609:  }
609: 
609:       template<typename _UHead, typename... _UTails>
609: 
609:  void
609:  _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
609:  {
609:    _M_head(*this) = std::forward<_UHead>
609:      (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
609:    _M_tail(*this)._M_assign(
609:        std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
609:  }
609: 
609:     protected:
609:      
609:       void
609:       _M_swap(_Tuple_impl& __in)
609:       {
609:  using std::swap;
609:  swap(_M_head(*this), _M_head(__in));
609:  _Inherited::_M_swap(_M_tail(__in));
609:       }
609:     };
609: 
609: 
609:   template<size_t _Idx, typename _Head>
609:     struct _Tuple_impl<_Idx, _Head>
609:     : private _Head_base<_Idx, _Head>
609:     {
609:       template<size_t, typename...> friend struct _Tuple_impl;
609: 
609:       typedef _Head_base<_Idx, _Head> _Base;
609: 
609:       static constexpr _Head&
609:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
609: 
609:       static constexpr const _Head&
609:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
609: 
609:       constexpr
609:       _Tuple_impl()
609:       : _Base() { }
609: 
609:       explicit constexpr
609:       _Tuple_impl(const _Head& __head)
609:       : _Base(__head)
609:       { }
609: 
609:       template<typename _UHead>
609:  explicit constexpr
609:  _Tuple_impl(_UHead&& __head)
609:  : _Base(std::forward<_UHead>(__head))
609:  { }
609: 
609:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
609: 
609: 
609: 
609:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
609: 
609: 
609: 
609: 
609:       constexpr
609:       _Tuple_impl(_Tuple_impl&& __in)
609:       noexcept(is_nothrow_move_constructible<_Head>::value)
609:       : _Base(static_cast<_Base&&>(__in))
609:       { }
609: 
609: 
609:       template<typename _UHead>
609:  constexpr
609:  _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
609:  : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in))
609:  { }
609: 
609:       template<typename _UHead>
609:  constexpr
609:  _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
609:  : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
609:  : _Base(__tag, __use_alloc<_Head>(__a))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       const _Head& __head)
609:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head)
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       _UHead&& __head)
609:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
609:   std::forward<_UHead>(__head))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       const _Tuple_impl& __in)
609:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in))
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       _Tuple_impl&& __in)
609:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
609:   std::forward<_Head>(_M_head(__in)))
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       const _Tuple_impl<_Idx, _UHead>& __in)
609:  : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
609:   _Tuple_impl<_Idx, _UHead>::_M_head(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename _UHead>
609: 
609:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
609:       _Tuple_impl<_Idx, _UHead>&& __in)
609:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
609:   std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
609:  { }
609: 
609:       template<typename _UHead>
609: 
609:  void
609:  _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
609:  {
609:    _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_h*__s2,
1115:     size_t __n, locale_t __loc) noexcept (true);
1115: 
1115: 
1115: extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
1115:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1115: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
1115:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
1115:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1115: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
1115:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1115: # 182 "/usr/include/wchar.h" 3 4
1115: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
1115:      noexcept (true) __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
1115:      noexcept (true) __attribute__ ((__pure__));
1115: 
1115: 
1115: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
1115:      noexcept (true) __attribute__ ((__pure__));
1115: 
1115: 
1115: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
1115:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1115: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
1115:          const wchar_t *__accept)
1115:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
1115:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1115: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
1115:         const wchar_t *__needle)
1115:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wchar_t *wcstok (wchar_t *__restrict __s,
1115:    const wchar_t *__restrict __delim,
1115:    wchar_t **__restrict __ptr) noexcept (true);
1115: 
1115: 
1115: extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
1115:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1115: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
1115:         const wchar_t *__needle)
1115:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1115: # 241 "/usr/include/wchar.h" 3 4
1115: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
1115:      noexcept (true) __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
1115:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1115: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
1115:          size_t __n)
1115:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1115:      noexcept (true) __attribute__ ((__pure__));
1115: 
1115: 
1115: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
1115:     const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
1115:      noexcept (true);
1115: 
1115: 
1115: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
1115:      const wchar_t *__restrict __s2, size_t __n)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t btowc (int __c) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int wctob (ead(__in);
609:  }
609: 
609:       template<typename _UHead>
609: 
609:  void
609:  _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
609:  {
609:    _M_head(*this)
609:      = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
609:  }
609: 
609:     protected:
609:      
609:       void
609:       _M_swap(_Tuple_impl& __in)
609:       {
609:  using std::swap;
609:  swap(_M_head(*this), _M_head(__in));
609:       }
609:     };
609: 
609: 
609: 
609:   template<bool, typename... _Types>
609:     struct _TupleConstraints
609:     {
609: 
609: 
609: 
609:       template<typename... _UTypes>
609:  static constexpr bool __is_implicitly_constructible()
609:  {
609:    return __and_<is_constructible<_Types, _UTypes>...,
609:    is_convertible<_UTypes, _Types>...
609:    >::value;
609:  }
609: 
609: 
609: 
609: 
609:       template<typename... _UTypes>
609:  static constexpr bool __is_explicitly_constructible()
609:  {
609:    return __and_<is_constructible<_Types, _UTypes>...,
609:    __not_<__and_<is_convertible<_UTypes, _Types>...>>
609:    >::value;
609:  }
609: 
609:       static constexpr bool __is_implicitly_default_constructible()
609:       {
609:  return __and_<std::__is_implicitly_default_constructible<_Types>...
609:         >::value;
609:       }
609: 
609:       static constexpr bool __is_explicitly_default_constructible()
609:       {
609:  return __and_<is_default_constructible<_Types>...,
609:         __not_<__and_<
609:    std::__is_implicitly_default_constructible<_Types>...>
609:         >>::value;
609:       }
609:     };
609: 
609: 
609: 
609:   template<typename... _Types>
609:     struct _TupleConstraints<false, _Types...>
609:     {
609:       template<typename... _UTypes>
609:  static constexpr bool __is_implicitly_constructible()
609:  { return false; }
609: 
609:       template<typename... _UTypes>
609:  static constexpr bool __is_explicitly_constructible()
609:  { return false; }
609:     };
609: 
609: 
609:   template<typename... _Elements>
609:     class tuple : public _Tuple_impl<0, _Elements...>
609:     {
609:       typedef _Tuple_impl<0, _Elements...> _Inherited;
609: 
609:       template<bool _Cond>
609:  using _TCC = _TupleConstraints<_Cond, _Elements...>;
609: 
609: 
609:       template<bool _Dummy>
609:  using _ImplicitDefaultCtor = __enable_if_t<
609:    _TCC<_Dummy>::__is_implicitly_default_constructible(),
609:    bool>;
609: 
609: 
609:       template<bool _Dummy>
609:  using _ExplicitDefaultCtor = __enable_if_t<
609:    _TCC<_Dummy>::__is_explicitly_default_constructible(),
609:    bool>;
609: 
609: 
609:       template<bool _Cond, typename... _Args>
609:  using _ImplicitCtor = __enable_if_t<
609:    _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(),
609:    bool>;
609: 
609: 
609:       template<bool _Cond, typename... _Args>
609:  using _ExplicitCtor = __enable_if_t<
609:    _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(),
609:    bool>;
609: 
609:       template<typename... _UElements>
609:  static constexpr
609:  __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
609:  __assignable()
609:  { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
609: 
609: 
609:       template<typename... _UElements>
609:  static constexpr bool __nothrow_assignable()
609:  {
609:    return
609:      __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
609:  }
609: 
609: 
609:       template<typename... _UElements>
609:  static constexpr bool __nothrow_constructible()
609:  {
609:    return
609:      __and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
609:  }
609: 
609: 
609:       template<typename _Up>
609:  static constexpr bool __valid_args()
609:  {
609:    return sizeof...(_Elements) == 1
609:      && !is_same<tuple, __remove_cvref_t<_Up>>::value;
609:  }
609: 
609: 
609:       template<typename, typename, typename... _Tail>
609:  static constexpr bool __valid_args()
609:  { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); }
609: # 684 "/usr/include/c++/12/tuple" 3
609:       template<typename _Tu2&& __y, ...)
1412:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1412: 
1412:       template<typename _U2,
1412:         __enable_if_t<__and_<is_pointer<_T1>,
1412:         __not_<is_reference<_U2>>,
1412:         is_constructible<_T2, _U2>,
1412:         __not_<is_constructible<_T2, const _U2&>>,
1412:         __not_<is_convertible<_U2, _T2>>>::value,
1412:         bool> = false>
1412:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1412:  explicit constexpr
1412:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1412:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1412: 
1412: 
1412: 
1412:       template<typename _U1, typename _U2, typename
1412:         enable_if<_PCCP::template
1412:       _MoveConstructiblePair<_U1, _U2>()
1412:      && _PCCP::template
1412:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1412:                          bool>::type=true>
1412:  constexpr pair(_U1&& __x, _U2&& __y)
1412:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1412: 
1412:       template<typename _U1, typename _U2, typename
1412:         enable_if<_PCCP::template
1412:       _MoveConstructiblePair<_U1, _U2>()
1412:      && !_PCCP::template
1412:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1412:                          bool>::type=false>
1412:  explicit constexpr pair(_U1&& __x, _U2&& __y)
1412:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1412: 
1412: 
1412:       template<typename _U1, typename _U2, typename
1412:         enable_if<_PCCFP<_U1, _U2>::template
1412:       _MoveConstructiblePair<_U1, _U2>()
1412:      && _PCCFP<_U1, _U2>::template
1412:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1412:                          bool>::type=true>
1412:  constexpr pair(pair<_U1, _U2>&& __p)
1412:  : first(std::forward<_U1>(__p.first)),
1412:    second(std::forward<_U2>(__p.second)) { }
1412: 
1412:       template<typename _U1, typename _U2, typename
1412:         enable_if<_PCCFP<_U1, _U2>::template
1412:       _MoveConstructiblePair<_U1, _U2>()
1412:      && !_PCCFP<_U1, _U2>::template
1412:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1412:                          bool>::type=false>
1412:  explicit constexpr pair(pair<_U1, _U2>&& __p)
1412:  : first(std::forward<_U1>(__p.first)),
1412:    second(std::forward<_U2>(__p.second)) { }
1412: 
1412:       pair&
1412:       operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
1412:            is_copy_assignable<_T2>>::value,
1412:     const pair&, const __nonesuch&> __p)
1412:       {
1412:  first = __p.first;
1412:  second = __p.second;
1412:  return *this;
1412:       }
1412: 
1412:       pair&
1412:       operator=(__conditional_t<__and_<is_move_assignable<_T1>,
1412:            is_move_assignable<_T2>>::value,
1412:     pair&&, __nonesuch&&> __p)
1412:       noexcept(__and_<is_nothrow_move_assignable<_T1>,
1412:         is_nothrow_move_assignable<_T2>>::value)
1412:       {
1412:  first = std::forward<first_type>(__p.first);
1412:  second = std::forward<second_type>(__p.second);
1412:  return *this;
1412:       }
1412: 
1412:       template<typename _U1, typename _U2>
1412:  typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
1412:       is_assignable<_T2&, const _U2&>>::value,
1412:       pair&>::type
1412:  operator=(const pair<_U1, _U2>& __p)
1412:  {
1412:    first = __p.first;
1412:    second = __p.second;
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _U1, typename _U2>
1412:  typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
1412:       is_assignable<_T2&, _U2&&>>::value,
1412:       pair&>::type
1412:  operator=(pair<_U1, _U2>&& __p)
1412:  {
1412:    first = std::forward<_U1>(__p.first);
1412:    second = std::forward<_U2>(__p.second);
1412:    return *this;
1412:  }
1412: # 629 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
1412: 
1412: 
1412: 
1412:   template<ple, typename = tuple,
609:         typename = __remove_cvref_t<_Tuple>>
609:  struct _UseOtherCtor
609:  : false_type
609:  { };
609: 
609: 
609:       template<typename _Tuple, typename _Tp, typename _Up>
609:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>>
609:  : __or_<is_convertible<_Tuple, _Tp>, is_constructible<_Tp, _Tuple>>
609:  { };
609: 
609: 
609:       template<typename _Tuple, typename _Tp>
609:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>>
609:  : true_type
609:  { };
609: 
609: 
609: 
609: 
609:       template<typename _Tuple>
609:  static constexpr bool __use_other_ctor()
609:  { return _UseOtherCtor<_Tuple>::value; }
609: 
609:     public:
609:       template<typename _Dummy = void,
609:         _ImplicitDefaultCtor<is_void<_Dummy>::value> = true>
609:  constexpr
609:  tuple()
609:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
609:  : _Inherited() { }
609: 
609:       template<typename _Dummy = void,
609:         _ExplicitDefaultCtor<is_void<_Dummy>::value> = false>
609:  explicit constexpr
609:  tuple()
609:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
609:  : _Inherited() { }
609: 
609:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
609:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
609:  constexpr
609:  tuple(const _Elements&... __elements)
609:  noexcept(__nothrow_constructible<const _Elements&...>())
609:  : _Inherited(__elements...) { }
609: 
609:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
609:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
609:  explicit constexpr
609:  tuple(const _Elements&... __elements)
609:  noexcept(__nothrow_constructible<const _Elements&...>())
609:  : _Inherited(__elements...) { }
609: 
609:       template<typename... _UElements,
609:         bool _Valid = __valid_args<_UElements...>(),
609:         _ImplicitCtor<_Valid, _UElements...> = true>
609:  constexpr
609:  tuple(_UElements&&... __elements)
609:  noexcept(__nothrow_constructible<_UElements...>())
609:  : _Inherited(std::forward<_UElements>(__elements)...) { }
609: 
609:       template<typename... _UElements,
609:         bool _Valid = __valid_args<_UElements...>(),
609:         _ExplicitCtor<_Valid, _UElements...> = false>
609:  explicit constexpr
609:  tuple(_UElements&&... __elements)
609:  noexcept(__nothrow_constructible<_UElements...>())
609:  : _Inherited(std::forward<_UElements>(__elements)...) { }
609: 
609:       constexpr tuple(const tuple&) = default;
609: 
609:       constexpr tuple(tuple&&) = default;
609: 
609:       template<typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
609:       && !__use_other_ctor<const tuple<_UElements...>&>(),
609:         _ImplicitCtor<_Valid, const _UElements&...> = true>
609:  constexpr
609:  tuple(const tuple<_UElements...>& __in)
609:  noexcept(__nothrow_constructible<const _UElements&...>())
609:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
609:  { }
609: 
609:       template<typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
609:       && !__use_other_ctor<const tuple<_UElements...>&>(),
609:         _ExplicitCtor<_Valid, const _UElements&...> = false>
609:  explicit constexpr
609:  tuple(const tuple<_UElements...>& __in)
609:  noexcept(__nothrow_constructible<const _UElements&...>())
609:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
609:  { }
609: 
609:       template<typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
609:         && !__use_other_ctor<tuple<_UElements...>&&>(),
609:         _ImplicitCtor<_Valid, _UElements...> = true>
609:  constexpr
609:  tuple(tuple<_UElements...>&& __in)
609:  noexcept(__nothrow_constructible<_UElements...>())
609:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
609: 
609:       template<typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElementswint_t __c) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: extern size_t mbrtowc (wchar_t *__restrict __pwc,
1115:          const char *__restrict __s, size_t __n,
1115:          mbstate_t *__restrict __p) noexcept (true);
1115: 
1115: 
1115: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
1115:          mbstate_t *__restrict __ps) noexcept (true);
1115: 
1115: 
1115: extern size_t __mbrlen (const char *__restrict __s, size_t __n,
1115:    mbstate_t *__restrict __ps) noexcept (true);
1115: extern size_t mbrlen (const char *__restrict __s, size_t __n,
1115:         mbstate_t *__restrict __ps) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t __btowc_alias (int __c) __asm ("btowc");
1115: extern __inline __attribute__ ((__gnu_inline__)) wint_t
1115: __attribute__ ((__leaf__)) btowc (int __c) noexcept (true)
1115: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
1115:    ? (wint_t) __c : __btowc_alias (__c)); }
1115: 
1115: extern int __wctob_alias (wint_t __c) __asm ("wctob");
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: __attribute__ ((__leaf__)) wctob (wint_t __wc) noexcept (true)
1115: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
1115:    ? (int) __wc : __wctob_alias (__wc)); }
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) size_t
1115: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) noexcept (true)
1115: 
1115: { return (__ps != __null
1115:    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
1115: 
1115: 
1115: 
1115: 
1115: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
1115:     const char **__restrict __src, size_t __len,
1115:     mbstate_t *__restrict __ps) noexcept (true);
1115: 
1115: 
1115: 
1115: extern size_t wcsrtombs (char *__restrict __dst,
1115:     const wchar_t **__restrict __src, size_t __len,
1115:     mbstate_t *__restrict __ps) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
1115:      const char **__restrict __src, size_t __nmc,
1115:      size_t __len, mbstate_t *__restrict __ps) noexcept (true);
1115: 
1115: 
1115: 
1115: extern size_t wcsnrtombs (char *__restrict __dst,
1115:      const wchar_t **__restrict __src,
1115:      size_t __nwc, size_t __len,
1115:      mbstate_t *__restrict __ps) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int wcwidth (wchar_t __c) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double wcstod (const wchar_t *__restrict __nptr,
1115:         wchar_t **__restrict __endptr) noexcept (true);
1115: 
1115: 
1115: 
1115: extern float wcstof (const wchar_t *__restrict __nptr,
1115:        wchar_t **__restrict __endptr) noexcept (true);
1115: extern long double wcstold (const wchar_t *__restrict __nptr,
1115:        wchar_t **__restrict __endptr) noexcept (true);
1115: # 397 "/usr/include/wchar.h" 3 4
1115: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
1115:      wchar_t **__restrict __endptr) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
1115:      wchar_t **__restrict __endptr) noexcept (true);
1115: # 412 "/usr/include/wchar.h" 3 4
1115: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
1115:        wchar_t **__restrict __endptr) noexcept (true);
1115: # 429 "/usr/include/wchar.h" 3 4
1115: extern long int wcstol (const wchar_t *__restrict __nptr,
1115:    wchar_t **__restrict __endptr, int __base) noexcept (true);
1115: 
1115: 
1115: 
1115: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
1115:       wchar_t **__restrict __endptr, int __base)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: __extension__
1115: extern long long int wcstoll (ctypename _T1, typename _T2>
1412:     inline constexpr bool
1412:     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1412:     { return __x.first == __y.first && __x.second == __y.second; }
1412: # 661 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:   template<typename _T1, typename _T2>
1412:     inline constexpr bool
1412:     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1412:     { return __x.first < __y.first
1412:       || (!(__y.first < __x.first) && __x.second < __y.second); }
1412: 
1412: 
1412:   template<typename _T1, typename _T2>
1412:     inline constexpr bool
1412:     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _T1, typename _T2>
1412:     inline constexpr bool
1412:     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _T1, typename _T2>
1412:     inline constexpr bool
1412:     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _T1, typename _T2>
1412:     inline constexpr bool
1412:     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1412:     { return !(__x < __y); }
1412: # 698 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:   template<typename _T1, typename _T2>
1412:     inline
1412: 
1412: 
1412:     typename enable_if<__and_<__is_swappable<_T1>,
1412:                               __is_swappable<_T2>>::value>::type
1412: 
1412: 
1412: 
1412:     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   template<typename _T1, typename _T2>
1412:     typename enable_if<!__and_<__is_swappable<_T1>,
1412:           __is_swappable<_T2>>::value>::type
1412:     swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
1412: # 738 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:   template<typename _T1, typename _T2>
1412:     constexpr pair<typename __decay_and_strip<_T1>::__type,
1412:                    typename __decay_and_strip<_T2>::__type>
1412:     make_pair(_T1&& __x, _T2&& __y)
1412:     {
1412:       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
1412:       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
1412:       typedef pair<__ds_type1, __ds_type2> __pair_type;
1412:       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
1412:     }
1412: # 760 "/usr/include/c++/12/bits/stl_pair.h" 3
1412:   template<typename _T1, typename _T2>
1412:     struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
1412:     { };
1412: 
1412: 
1412:   template<class _Tp1, class _Tp2>
1412:     struct tuple_size<pair<_Tp1, _Tp2>>
1412:     : public integral_constant<size_t, 2> { };
1412: 
1412: 
1412:   template<class _Tp1, class _Tp2>
1412:     struct tuple_element<0, pair<_Tp1, _Tp2>>
1412:     { typedef _Tp1 type; };
1412: 
1412: 
1412:   template<class _Tp1, class _Tp2>
1412:     struct tuple_element<1, pair<_Tp1, _Tp2>>
1412:     { typedef _Tp2 type; };
1412: 
1412: 
1412:   template<typename _Tp1, typename _Tp2>
1412:     inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
1412: 
1412:   template<typename _Tp1, typename _Tp2>
1412:     inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr bool __is_pair = false;
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline constexpr bool __is_pair<const pair<_Tp, _Up>> = true;
1412: 
1412: 
1412: 
1412:   template<size_t _Int>
1412:     struct __pair_get;
1412: 
1412:   template<>
1412:     struct __pair_get<0>
1412:     {
1412:       template<typename _Tp1, typename _Tp2>
1412:  static constexpr _Tp1&
1412:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1412:  { return __pair.first; }
1412: 
1412:       template<typename _Tp))
609:         && !__use_other_ctor<tuple<_UElements...>&&>(),
609:         _ExplicitCtor<_Valid, _UElements...> = false>
609:  explicit constexpr
609:  tuple(tuple<_UElements...>&& __in)
609:  noexcept(__nothrow_constructible<_UElements...>())
609:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
609: 
609: 
609: 
609:       template<typename _Alloc,
609:         _ImplicitDefaultCtor<is_object<_Alloc>::value> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a)
609:  : _Inherited(__tag, __a) { }
609: 
609:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
609:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const _Elements&... __elements)
609:  : _Inherited(__tag, __a, __elements...) { }
609: 
609:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
609:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
609: 
609:  explicit
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const _Elements&... __elements)
609:  : _Inherited(__tag, __a, __elements...) { }
609: 
609:       template<typename _Alloc, typename... _UElements,
609:         bool _Valid = __valid_args<_UElements...>(),
609:         _ImplicitCtor<_Valid, _UElements...> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        _UElements&&... __elements)
609:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
609:  { }
609: 
609:       template<typename _Alloc, typename... _UElements,
609:    bool _Valid = __valid_args<_UElements...>(),
609:         _ExplicitCtor<_Valid, _UElements...> = false>
609: 
609:  explicit
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        _UElements&&... __elements)
609:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
609:  { }
609: 
609:       template<typename _Alloc>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
609:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
609: 
609:       template<typename _Alloc>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
609:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
609: 
609:       template<typename _Alloc, typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
609:         && !__use_other_ctor<const tuple<_UElements...>&>(),
609:         _ImplicitCtor<_Valid, const _UElements&...> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const tuple<_UElements...>& __in)
609:  : _Inherited(__tag, __a,
609:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
609:         && !__use_other_ctor<const tuple<_UElements...>&>(),
609:         _ExplicitCtor<_Valid, const _UElements&...> = false>
609: 
609:  explicit
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const tuple<_UElements...>& __in)
609:  : _Inherited(__tag, __a,
609:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
609:         && !__use_other_ctor<tuple<_UElements...>&&>(),
609:         _ImplicitCtor<_Valid, _UElements...> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        tuple<_UElements...>&& __in)
609:  : _Inherited(__tag, __a,
609:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename... _UElements,
609:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
609:         && !__use_other_ctor<tuple<_UElements...>&&>(),
609:         _ExplicitCtor<_Valid, _UElements...> = false>
609: 
609:  explicit
609:  tuple(allocator_arg_t __tag, onst wchar_t *__restrict __nptr,
1115:          wchar_t **__restrict __endptr, int __base)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: __extension__
1115: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
1115:      wchar_t **__restrict __endptr,
1115:      int __base) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: __extension__
1115: extern long long int wcstoq (const wchar_t *__restrict __nptr,
1115:         wchar_t **__restrict __endptr, int __base)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: __extension__
1115: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
1115:            wchar_t **__restrict __endptr,
1115:            int __base) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int wcstol_l (const wchar_t *__restrict __nptr,
1115:      wchar_t **__restrict __endptr, int __base,
1115:      locale_t __loc) noexcept (true);
1115: 
1115: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
1115:         wchar_t **__restrict __endptr,
1115:         int __base, locale_t __loc) noexcept (true);
1115: 
1115: __extension__
1115: extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
1115:     wchar_t **__restrict __endptr,
1115:     int __base, locale_t __loc) noexcept (true);
1115: 
1115: __extension__
1115: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
1115:        wchar_t **__restrict __endptr,
1115:        int __base, locale_t __loc)
1115:      noexcept (true);
1115: 
1115: extern double wcstod_l (const wchar_t *__restrict __nptr,
1115:    wchar_t **__restrict __endptr, locale_t __loc)
1115:      noexcept (true);
1115: 
1115: extern float wcstof_l (const wchar_t *__restrict __nptr,
1115:          wchar_t **__restrict __endptr, locale_t __loc)
1115:      noexcept (true);
1115: 
1115: extern long double wcstold_l (const wchar_t *__restrict __nptr,
1115:          wchar_t **__restrict __endptr,
1115:          locale_t __loc) noexcept (true);
1115: # 512 "/usr/include/wchar.h" 3 4
1115: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
1115:        wchar_t **__restrict __endptr,
1115:        locale_t __loc) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
1115:        wchar_t **__restrict __endptr,
1115:        locale_t __loc) noexcept (true);
1115: # 530 "/usr/include/wchar.h" 3 4
1115: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
1115:          wchar_t **__restrict __endptr,
1115:          locale_t __loc) noexcept (true);
1115: # 552 "/usr/include/wchar.h" 3 4
1115: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
1115:    const wchar_t *__restrict __src) noexcept (true);
1115: 
1115: 
1115: 
1115: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
1115:     const wchar_t *__restrict __src, size_t __n)
1115:      noexcept (true);
1115: # 581 "/usr/include/wchar.h" 3 4
1115: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1115:   __attribute__ ((__malloc__)) ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fwide (__FILE *__fp, int __mode) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fwprintf (__FILE *__restrict __stream,
1115:        const wchar_t *__restrict __format, ...)
1115:                                                            ;
1115: 
1115: 
1115: 
1115: 
1115: extern int wprintf (const wchar_t *__restrict __format, ...)
1115:                                                            ;
1115: 
1115: extern int swprintf (wchar_t *__restrict __s, size_t __n,
1115:        const wchar_t *__restrict __format, ...)
1115:      noexcept (true) ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int vfwprintf (__FILE *__restrict __s,
1115:         const wchar_t *__restrict __format,
1115:         __gnuc_va_list __arg)
1115:                                                            ;
1115: 
1115: 
1115: 
1115: 
1115: extern int vwprintf (const wchar_t *__restrict __format,
1115:        __gnuconst _Alloc& __a,
609:        tuple<_UElements...>&& __in)
609:  : _Inherited(__tag, __a,
609:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
609:  { }
609: 
609: 
609: 
609:      
609:       tuple&
609:       operator=(__conditional_t<__assignable<const _Elements&...>(),
609:     const tuple&,
609:     const __nonesuch&> __in)
609:       noexcept(__nothrow_assignable<const _Elements&...>())
609:       {
609:  this->_M_assign(__in);
609:  return *this;
609:       }
609: 
609:      
609:       tuple&
609:       operator=(__conditional_t<__assignable<_Elements...>(),
609:     tuple&&,
609:     __nonesuch&&> __in)
609:       noexcept(__nothrow_assignable<_Elements...>())
609:       {
609:  this->_M_assign(std::move(__in));
609:  return *this;
609:       }
609: 
609:       template<typename... _UElements>
609: 
609:  __enable_if_t<__assignable<const _UElements&...>(), tuple&>
609:  operator=(const tuple<_UElements...>& __in)
609:  noexcept(__nothrow_assignable<const _UElements&...>())
609:  {
609:    this->_M_assign(__in);
609:    return *this;
609:  }
609: 
609:       template<typename... _UElements>
609: 
609:  __enable_if_t<__assignable<_UElements...>(), tuple&>
609:  operator=(tuple<_UElements...>&& __in)
609:  noexcept(__nothrow_assignable<_UElements...>())
609:  {
609:    this->_M_assign(std::move(__in));
609:    return *this;
609:  }
609: 
609: 
609:      
609:       void
609:       swap(tuple& __in)
609:       noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
609:       { _Inherited::_M_swap(__in); }
609:     };
609: 
609: 
609:   template<typename... _UTypes>
609:     tuple(_UTypes...) -> tuple<_UTypes...>;
609:   template<typename _T1, typename _T2>
609:     tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>;
609:   template<typename _Alloc, typename... _UTypes>
609:     tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>;
609:   template<typename _Alloc, typename _T1, typename _T2>
609:     tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>;
609:   template<typename _Alloc, typename... _UTypes>
609:     tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>;
609: 
609: 
609: 
609:   template<>
609:     class tuple<>
609:     {
609:     public:
609:      
609:       void swap(tuple&) noexcept { }
609: 
609: 
609:       tuple() = default;
609: 
609:       template<typename _Alloc>
609: 
609:  tuple(allocator_arg_t, const _Alloc&) noexcept { }
609:       template<typename _Alloc>
609: 
609:  tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { }
609:     };
609: 
609: 
609: 
609:   template<typename _T1, typename _T2>
609:     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
609:     {
609:       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
609: 
609: 
609:       template<bool _Dummy, typename _U1, typename _U2>
609:  using _ImplicitDefaultCtor = __enable_if_t<
609:    _TupleConstraints<_Dummy, _U1, _U2>::
609:      __is_implicitly_default_constructible(),
609:    bool>;
609: 
609: 
609:       template<bool _Dummy, typename _U1, typename _U2>
609:  using _ExplicitDefaultCtor = __enable_if_t<
609:    _TupleConstraints<_Dummy, _U1, _U2>::
609:      __is_explicitly_default_constructible(),
609:    bool>;
609: 
609:       template<bool _Dummy>
609:  using _TCC = _TupleConstraints<_Dummy, _T1, _T2>;
609: 
609: 
609:       template<bool _Cond, typename _U1, typename _U2>
609:  using _ImplicitCtor = __enable_if_t<
609:    _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(),
609:    bool>;
609: 
609: 
609:       template<bool _Cond, typename _U1, typename _U2>
609:  using _ExplicitCtor = __enable_if_t<
609:    _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(),
609:    bool>;
609: 
609:       template<typename _U1, typename _U2>
609:  static constexpr bool __assignable()
609:  {
609:    return __and_<is_assignable<_T1&, _U1>,
609:    is_assignable<_T2&, _U2>>::value;
609:  }
609: 
609:       template<typename _U1, typename _U2>
609:  static constexpr bool __nothrow_assignable()
609:  {
609:    return __and_<is_nothrow_a1, typename _Tp2>
1412:  static constexpr _Tp1&&
1412:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1412:  { return std::forward<_Tp1>(__pair.first); }
1412: 
1412:       template<typename _Tp1, typename _Tp2>
1412:  static constexpr const _Tp1&
1412:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1412:  { return __pair.first; }
1412: 
1412:       template<typename _Tp1, typename _Tp2>
1412:  static constexpr const _Tp1&&
1412:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1412:  { return std::forward<const _Tp1>(__pair.first); }
1412:     };
1412: 
1412:   template<>
1412:     struct __pair_get<1>
1412:     {
1412:       template<typename _Tp1, typename _Tp2>
1412:  static constexpr _Tp2&
1412:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1412:  { return __pair.second; }
1412: 
1412:       template<typename _Tp1, typename _Tp2>
1412:  static constexpr _Tp2&&
1412:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1412:  { return std::forward<_Tp2>(__pair.second); }
1412: 
1412:       template<typename _Tp1, typename _Tp2>
1412:  static constexpr const _Tp2&
1412:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1412:  { return __pair.second; }
1412: 
1412:       template<typename _Tp1, typename _Tp2>
1412:  static constexpr const _Tp2&&
1412:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1412:  { return std::forward<const _Tp2>(__pair.second); }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<size_t _Int, class _Tp1, class _Tp2>
1412:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1412:     get(pair<_Tp1, _Tp2>& __in) noexcept
1412:     { return __pair_get<_Int>::__get(__in); }
1412: 
1412:   template<size_t _Int, class _Tp1, class _Tp2>
1412:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1412:     get(pair<_Tp1, _Tp2>&& __in) noexcept
1412:     { return __pair_get<_Int>::__move_get(std::move(__in)); }
1412: 
1412:   template<size_t _Int, class _Tp1, class _Tp2>
1412:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1412:     get(const pair<_Tp1, _Tp2>& __in) noexcept
1412:     { return __pair_get<_Int>::__const_get(__in); }
1412: 
1412:   template<size_t _Int, class _Tp1, class _Tp2>
1412:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1412:     get(const pair<_Tp1, _Tp2>&& __in) noexcept
1412:     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr _Tp&
1412:     get(pair<_Tp, _Up>& __p) noexcept
1412:     { return __p.first; }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr const _Tp&
1412:     get(const pair<_Tp, _Up>& __p) noexcept
1412:     { return __p.first; }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr _Tp&&
1412:     get(pair<_Tp, _Up>&& __p) noexcept
1412:     { return std::move(__p.first); }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr const _Tp&&
1412:     get(const pair<_Tp, _Up>&& __p) noexcept
1412:     { return std::move(__p.first); }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr _Tp&
1412:     get(pair<_Up, _Tp>& __p) noexcept
1412:     { return __p.second; }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr const _Tp&
1412:     get(const pair<_Up, _Tp>& __p) noexcept
1412:     { return __p.second; }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr _Tp&&
1412:     get(pair<_Up, _Tp>&& __p) noexcept
1412:     { return std::move(__p.second); }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:     constexpr const _Tp&&
1412:     get(const pair<_Up, _Tp>&& __p) noexcept
1412:     { return std::move(__p.second); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 65 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 1 3
1412: # 62 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1412:        
1412: # 63 "/usssignable<_T1&, _U1>,
609:    is_nothrow_assignable<_T2&, _U2>>::value;
609:  }
609: 
609:       template<typename _U1, typename _U2>
609:  static constexpr bool __nothrow_constructible()
609:  {
609:    return __and_<is_nothrow_constructible<_T1, _U1>,
609:        is_nothrow_constructible<_T2, _U2>>::value;
609:  }
609: 
609:       static constexpr bool __nothrow_default_constructible()
609:       {
609:  return __and_<is_nothrow_default_constructible<_T1>,
609:         is_nothrow_default_constructible<_T2>>::value;
609:       }
609: 
609:       template<typename _U1>
609:  static constexpr bool __is_alloc_arg()
609:  { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; }
609: 
609:     public:
609:       template<bool _Dummy = true,
609:         _ImplicitDefaultCtor<_Dummy, _T1, _T2> = true>
609:  constexpr
609:  tuple()
609:  noexcept(__nothrow_default_constructible())
609:  : _Inherited() { }
609: 
609:       template<bool _Dummy = true,
609:         _ExplicitDefaultCtor<_Dummy, _T1, _T2> = false>
609:  explicit constexpr
609:  tuple()
609:  noexcept(__nothrow_default_constructible())
609:  : _Inherited() { }
609: 
609:       template<bool _Dummy = true,
609:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
609:  constexpr
609:  tuple(const _T1& __a1, const _T2& __a2)
609:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
609:  : _Inherited(__a1, __a2) { }
609: 
609:       template<bool _Dummy = true,
609:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
609:  explicit constexpr
609:  tuple(const _T1& __a1, const _T2& __a2)
609:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
609:  : _Inherited(__a1, __a2) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ImplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = true>
609:  constexpr
609:  tuple(_U1&& __a1, _U2&& __a2)
609:  noexcept(__nothrow_constructible<_U1, _U2>())
609:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ExplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = false>
609:  explicit constexpr
609:  tuple(_U1&& __a1, _U2&& __a2)
609:  noexcept(__nothrow_constructible<_U1, _U2>())
609:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
609: 
609:       constexpr tuple(const tuple&) = default;
609: 
609:       constexpr tuple(tuple&&) = default;
609: 
609:       template<typename _U1, typename _U2,
609:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
609:  constexpr
609:  tuple(const tuple<_U1, _U2>& __in)
609:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
609:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
609:  explicit constexpr
609:  tuple(const tuple<_U1, _U2>& __in)
609:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
609:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ImplicitCtor<true, _U1, _U2> = true>
609:  constexpr
609:  tuple(tuple<_U1, _U2>&& __in)
609:  noexcept(__nothrow_constructible<_U1, _U2>())
609:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ExplicitCtor<true, _U1, _U2> = false>
609:  explicit constexpr
609:  tuple(tuple<_U1, _U2>&& __in)
609:  noexcept(__nothrow_constructible<_U1, _U2>())
609:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
609:  constexpr
609:  tuple(const pair<_U1, _U2>& __in)
609:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
609:  : _Inherited(__in.first, __in.second) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
609:  explicit constexpr
609:  tuple(const pair<_c_va_list __arg)
1115:                                                            ;
1115: 
1115: 
1115: extern int vswprintf (wchar_t *__restrict __s, size_t __n,
1115:         const wchar_t *__restrict __format,
1115:         __gnuc_va_list __arg)
1115:      noexcept (true) ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fwscanf (__FILE *__restrict __stream,
1115:       const wchar_t *__restrict __format, ...)
1115:                                                           ;
1115: 
1115: 
1115: 
1115: 
1115: extern int wscanf (const wchar_t *__restrict __format, ...)
1115:                                                           ;
1115: 
1115: extern int swscanf (const wchar_t *__restrict __s,
1115:       const wchar_t *__restrict __format, ...)
1115:      noexcept (true) ;
1115: # 657 "/usr/include/wchar.h" 3 4
1115: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf")
1115: 
1115: 
1115:                                                           ;
1115: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf")
1115: 
1115:                                                           ;
1115: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_swscanf")
1115: 
1115: 
1115:                                                           ;
1115: # 688 "/usr/include/wchar.h" 3 4
1115: extern int vfwscanf (__FILE *__restrict __s,
1115:        const wchar_t *__restrict __format,
1115:        __gnuc_va_list __arg)
1115:                                                           ;
1115: 
1115: 
1115: 
1115: 
1115: extern int vwscanf (const wchar_t *__restrict __format,
1115:       __gnuc_va_list __arg)
1115:                                                           ;
1115: 
1115: extern int vswscanf (const wchar_t *__restrict __s,
1115:        const wchar_t *__restrict __format,
1115:        __gnuc_va_list __arg)
1115:      noexcept (true) ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf")
1115: 
1115: 
1115:                                                           ;
1115: extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf")
1115: 
1115:                                                           ;
1115: extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vswscanf")
1115: 
1115: 
1115:                                                           ;
1115: # 744 "/usr/include/wchar.h" 3 4
1115: extern wint_t fgetwc (__FILE *__stream);
1115: extern wint_t getwc (__FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t getwchar (void);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
1115: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t putwchar (wchar_t __wc);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
1115:    __FILE *__restrict __stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fputws (const wchar_t *__restrict __ws,
1115:      __FILE *__restrict __stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
1115: # 799 "/usr/include/wchar.h" 3 4
1115: extern wint_t getwc_unlocked (__FILE *__stream);
1115: extern wint_t getwchar_unlocked (void);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t fgetwc_unlocked (__FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
1115: # 825 "/usr/include/wchar.h" 3 4
1115: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
1115: extern wint_t putwchar_unlU1, _U2>& __in)
609:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
609:  : _Inherited(__in.first, __in.second) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ImplicitCtor<true, _U1, _U2> = true>
609:  constexpr
609:  tuple(pair<_U1, _U2>&& __in)
609:  noexcept(__nothrow_constructible<_U1, _U2>())
609:  : _Inherited(std::forward<_U1>(__in.first),
609:        std::forward<_U2>(__in.second)) { }
609: 
609:       template<typename _U1, typename _U2,
609:         _ExplicitCtor<true, _U1, _U2> = false>
609:  explicit constexpr
609:  tuple(pair<_U1, _U2>&& __in)
609:  noexcept(__nothrow_constructible<_U1, _U2>())
609:  : _Inherited(std::forward<_U1>(__in.first),
609:        std::forward<_U2>(__in.second)) { }
609: 
609: 
609: 
609:       template<typename _Alloc,
609:         _ImplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a)
609:  : _Inherited(__tag, __a) { }
609: 
609:       template<typename _Alloc, bool _Dummy = true,
609:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const _T1& __a1, const _T2& __a2)
609:  : _Inherited(__tag, __a, __a1, __a2) { }
609: 
609:       template<typename _Alloc, bool _Dummy = true,
609:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
609:  explicit
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const _T1& __a1, const _T2& __a2)
609:  : _Inherited(__tag, __a, __a1, __a2) { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ImplicitCtor<true, _U1, _U2> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
609:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
609:               std::forward<_U2>(__a2)) { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ExplicitCtor<true, _U1, _U2> = false>
609:  explicit
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        _U1&& __a1, _U2&& __a2)
609:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
609:               std::forward<_U2>(__a2)) { }
609: 
609:       template<typename _Alloc>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
609:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
609: 
609:       template<typename _Alloc>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
609:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const tuple<_U1, _U2>& __in)
609:  : _Inherited(__tag, __a,
609:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
609:  explicit
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const tuple<_U1, _U2>& __in)
609:  : _Inherited(__tag, __a,
609:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ImplicitCtor<true, _U1, _U2> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
609:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ExplicitCtor<true, _U1, _U2> = false>
609:  explicit
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
609:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
609:  { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _AlloPreprocessed source stored into /tmp/ccxRcpEj.out file, please attach this to your bugreport.
c& __a,
609:        const pair<_U1, _U2>& __in)
609:  : _Inherited(__tag, __a, __in.first, __in.second) { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
609:  explicit
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a,
609:        const pair<_U1, _U2>& __in)
609:  : _Inherited(__tag, __a, __in.first, __in.second) { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ImplicitCtor<true, _U1, _U2> = true>
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
609:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
609:        std::forward<_U2>(__in.second)) { }
609: 
609:       template<typename _Alloc, typename _U1, typename _U2,
609:         _ExplicitCtor<true, _U1, _U2> = false>
609:  explicit
609: 
609:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
609:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
609:        std::forward<_U2>(__in.second)) { }
609: 
609: 
609: 
609:      
609:       tuple&
609:       operator=(__conditional_t<__assignable<const _T1&, const _T2&>(),
609:     const tuple&,
609:     const __nonesuch&> __in)
609:       noexcept(__nothrow_assignable<const _T1&, const _T2&>())
609:       {
609:  this->_M_assign(__in);
609:  return *this;
609:       }
609: 
609:      
609:       tuple&
609:       operator=(__conditional_t<__assignable<_T1, _T2>(),
609:     tuple&&,
609:     __nonesuch&&> __in)
609:       noexcept(__nothrow_assignable<_T1, _T2>())
609:       {
609:  this->_M_assign(std::move(__in));
609:  return *this;
609:       }
609: 
609:       template<typename _U1, typename _U2>
609: 
609:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
609:  operator=(const tuple<_U1, _U2>& __in)
609:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
609:  {
609:    this->_M_assign(__in);
609:    return *this;
609:  }
609: 
609:       template<typename _U1, typename _U2>
609: 
609:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
609:  operator=(tuple<_U1, _U2>&& __in)
609:  noexcept(__nothrow_assignable<_U1, _U2>())
609:  {
609:    this->_M_assign(std::move(__in));
609:    return *this;
609:  }
609: 
609:       template<typename _U1, typename _U2>
609: 
609:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
609:  operator=(const pair<_U1, _U2>& __in)
609:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
609:  {
609:    this->_M_head(*this) = __in.first;
609:    this->_M_tail(*this)._M_head(*this) = __in.second;
609:    return *this;
609:  }
609: 
609:       template<typename _U1, typename _U2>
609: 
609:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
609:  operator=(pair<_U1, _U2>&& __in)
609:  noexcept(__nothrow_assignable<_U1, _U2>())
609:  {
609:    this->_M_head(*this) = std::forward<_U1>(__in.first);
609:    this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
609:    return *this;
609:  }
609: 
609:      
609:       void
609:       swap(tuple& __in)
609:       noexcept(__and_<__is_nothrow_swappable<_T1>,
609:         __is_nothrow_swappable<_T2>>::value)
609:       { _Inherited::_M_swap(__in); }
609:     };
609: 
609: 
609: 
609:   template<typename... _Elements>
609:     struct tuple_size<tuple<_Elements...>>
609:     : public integral_constant<size_t, sizeof...(_Elements)> { };
609: 
609: 
609:   template<typename... _Types>
609:     inline constexpr size_t tuple_size_v<tuple<_Types...>>
609:       = sizeof...(_Types);
609: 
609:   template<typename... _Types>
609:     inline constexpr size_t tuple_size_v<const tuple<_Types...>>
609:       = sizeof...(_Types);
609: 
609: 
609: 
609:   template<size_t __i, typename... _Types>
609:     struct tuple_element<__i, tuple<_Types...>>
609:     {
609:       static_assert(__i < sizeof...(_Types), "tuple index must be in range");
609: 
609:       using type = typename _Nth_type<__i, _Types...>::type;
609:     };
609: 
609:   template<size_t __i, typename _Head, typename... _Tail>
609:     constexpr _Head&
609:     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
609:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
609: 
609:   template<size_t __i, typename _Head, typename... _Tail>
609:     constexpr const _Head&
609:     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
609:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
609: 
609: 
609:   template<size_t __i, typename... _Types>
609:     __enable_if_t<(__i >= sizeof...(_Types))>
609:     __get_helper(const tuple<_Types...>&) = delete;
609: 
609: 
609:   template<size_t __i, typename... _Elements>
609:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
609:     get(tuple<_Elements...>& __t) noexcept
609:     { return std::__get_helper<__i>(__t); }
609: 
609: 
609:   template<size_t __i, typename... _Elements>
609:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
609:     get(const tuple<_Elements...>& __t) noexcept
609:     { return std::__get_helper<__i>(__t); }
609: 
609: 
609:   template<size_t __i, typename... _Elements>
609:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
609:     get(tuple<_Elements...>&& __t) noexcept
609:     {
609:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
609:       return std::forward<__element_type>(std::__get_helper<__i>(__t));
609:     }
609: 
609: 
609:   template<size_t __i, typename... _Elements>
609:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
609:     get(const tuple<_Elements...>&& __t) noexcept
609:     {
609:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
609:       return std::forward<const __element_type>(std::__get_helper<__i>(__t));
609:     }
609: 
609: 
609: 
609:   template<size_t __i, typename... _Elements>
609:     constexpr __enable_if_t<(__i >= sizeof...(_Elements))>
609:     get(const tuple<_Elements...>&) = delete;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp, typename... _Types>
609:     constexpr _Tp&
609:     get(tuple<_Types...>& __t) noexcept
609:     {
609:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
609:       static_assert(__idx < sizeof...(_Types),
609:    "the type T in std::get<T> must occur exactly once in the tuple");
609:       return std::__get_helper<__idx>(__t);
609:     }
609: 
609: 
609:   template <typename _Tp, typename... _Types>
609:     constexpr _Tp&&
609:     get(tuple<_Types...>&& __t) noexcept
609:     {
609:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
609:       static_assert(__idx < sizeof...(_Types),
609:    "the type T in std::get<T> must occur exactly once in the tuple");
609:       return std::forward<_Tp>(std::__get_helper<__idx>(__t));
609:     }
609: 
609: 
609:   template <typename _Tp, typename... _Types>
609:     constexpr const _Tp&
609:     get(const tuple<_Types...>& __t) noexcept
609:     {
609:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
609:       static_assert(__idx < sizeof...(_Types),
609:    "the type T in std::get<T> must occur exactly once in the tuple");
609:       return std::__get_helper<__idx>(__t);
609:     }
609: 
609: 
609: 
609:   template <typename _Tp, typename... _Types>
609:     constexpr const _Tp&&
609:     get(const tuple<_Types...>&& __t) noexcept
609:     {
609:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
609:       static_assert(__idx < sizeof...(_Types),
609:    "the type T in std::get<T> must occur exactly once in the tuple");
609:       return std::forward<const _Tp>(std::__get_helper<__idx>(__t));
609:     }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up, size_t __i, size_t __size>
609:     struct __tuple_compare
609:     {
609:       static constexpr bool
609:       __eq(const _Tp& __t, const _Up& __u)
609:       {
609:  return bool(std::get<__i>(__t) == std::get<__i>(__u))
609:    && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
609:       }
609: 
609:       static constexpr bool
609:       _=== BEGIN GCC DUMP ===
_less(const _Tp& __t, const _Up& __u)
609:       {
609:  return bool(std::get<__i>(__t) < std::get<__i>(__u))
609:    || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
609:        && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
609:       }
609:     };
609: 
609:   template<typename _Tp, typename _Up, size_t __size>
609:     struct __tuple_compare<_Tp, _Up, __size, __size>
609:     {
609:       static constexpr bool
609:       __eq(const _Tp&, const _Up&) { return true; }
609: 
609:       static constexpr bool
609:       __less(const _Tp&, const _Up&) { return false; }
609:     };
609: 
609:   template<typename... _TElements, typename... _UElements>
609:     constexpr bool
609:     operator==(const tuple<_TElements...>& __t,
609:         const tuple<_UElements...>& __u)
609:     {
609:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
609:    "tuple objects can only be compared if they have equal sizes.");
609:       using __compare = __tuple_compare<tuple<_TElements...>,
609:      tuple<_UElements...>,
609:      0, sizeof...(_TElements)>;
609:       return __compare::__eq(__t, __u);
609:     }
609: # 1536 "/usr/include/c++/12/tuple" 3
609:   template<typename... _TElements, typename... _UElements>
609:     constexpr bool
609:     operator<(const tuple<_TElements...>& __t,
609:        const tuple<_UElements...>& __u)
609:     {
609:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
609:    "tuple objects can only be compared if they have equal sizes.");
609:       using __compare = __tuple_compare<tuple<_TElements...>,
609:      tuple<_UElements...>,
609:      0, sizeof...(_TElements)>;
609:       return __compare::__less(__t, __u);
609:     }
609: 
609:   template<typename... _TElements, typename... _UElements>
609:     constexpr bool
609:     operator!=(const tuple<_TElements...>& __t,
609:         const tuple<_UElements...>& __u)
609:     { return !(__t == __u); }
609: 
609:   template<typename... _TElements, typename... _UElements>
609:     constexpr bool
609:     operator>(const tuple<_TElements...>& __t,
609:        const tuple<_UElements...>& __u)
609:     { return __u < __t; }
609: 
609:   template<typename... _TElements, typename... _UElements>
609:     constexpr bool
609:     operator<=(const tuple<_TElements...>& __t,
609:         const tuple<_UElements...>& __u)
609:     { return !(__u < __t); }
609: 
609:   template<typename... _TElements, typename... _UElements>
609:     constexpr bool
609:     operator>=(const tuple<_TElements...>& __t,
609:         const tuple<_UElements...>& __u)
609:     { return !(__t < __u); }
609: 
609: 
609: 
609:   template<typename... _Elements>
609:     constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
609:     make_tuple(_Elements&&... __args)
609:     {
609:       typedef tuple<typename __decay_and_strip<_Elements>::__type...>
609:  __result_type;
609:       return __result_type(std::forward<_Elements>(__args)...);
609:     }
609: 
609: 
609: 
609: 
609:   template<typename... _Elements>
609:     constexpr tuple<_Elements&&...>
609:     forward_as_tuple(_Elements&&... __args) noexcept
609:     { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
609: 
609: 
609: 
609: 
609:   template<typename _Tp, size_t _Nm> struct array;
609: 
609:   template<size_t _Int, typename _Tp, size_t _Nm>
609:     constexpr _Tp&
609:     get(array<_Tp, _Nm>&) noexcept;
609: 
609:   template<size_t _Int, typename _Tp, size_t _Nm>
609:     constexpr _Tp&&
609:     get(array<_Tp, _Nm>&&) noexcept;
609: 
609:   template<size_t _Int, typename _Tp, size_t _Nm>
609:     constexpr const _Tp&
609:     get(const array<_Tp, _Nm>&) noexcept;
609: 
609:   template<size_t _Int, typename _Tp, size_t _Nm>
609:     constexpr const _Tp&&
609:     get(const array<_Tp, _Nm>&&) noexcept;
609: 
609: 
609:   template<size_t, typename, typename, size_t>
609:     struct __make_tuple_impl;
609: 
609:   template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
609:     struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
601417: // Target: arm-linux-gnueabihf
1417: // Configured with: ../src/configure -v --with-pkgversion='Raspbian 12.2.0-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6+fp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
1417: // Thread model: posix
1417: // Supported LTO compression algorithms: zlib zstd
1417: // gcc version 12.2.0 (Raspbian 12.2.0-14+rpi1) 
1417: // 
1417: // /usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
1417: //   298 |   typedef __SIZE_TYPE__         size_t;
1417: //       |           ^~~~~~~~~~~~~
1417: // 0x137a10f internal_error(char const*, ...)
1417: // 	???:0
1417: // 0x389c8b pop_to_parent_deferring_access_checks()
1417: // 	???:0
1417: // Please submit a full bug report, with preprocessed source (by using -freport-bug).
1417: // Please include the complete backtrace with any bug report.
1417: // See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
1417: 
1417: // /usr/lib/gcc/arm-linux-gnueabihf/12/cc1plus -quiet -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I /<<BUILDDIR>>/kodi-20.0+dfsg -I /<<BUILDDIR>>/kodi-20.0+dfsg/lib -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -imultilib . -imultiarch arm-linux-gnueabihf -MD CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.d -MF CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.o.d -MT build/guilib/CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.o -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 -D _XBMC -D DEB_VERSION="2:20.0+dfsg-1" -D NDEBUG -D TARGET_POSIX -D TARGET_LINUX -D _GNU_SOURCE -D HAVE_LINUX_UDMABUF=1 -D HAVE_LINUX_DMA_HEAP=1 -D HAVE_LINUX_DMA_BUF=1 -D HAVE_MKOSTEMP=1 -D HAVE_LINUX_MEMFD=1 -D HAVE_STATX=1 -D __STDC_CONSTANT_MACROS -D _FILE_OFFSET_BITS=64 -D HAS_POSIX_NETWORK -D HAS_LINUX_NETWORK -D HAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -D HAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -D HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -D HAVE_INOTIFY=1 -D HAVE_POSIX_FADVISE=1 -D HAVE_LOCALTIME_R=1 -D HAVE_GMTIME_R=1 -D HAVE_INTTYPES_H=1 -D HAS_ALSA=1 -D HAS_AVAHI=1 -D HAS_ZEROCONF=1 -D HAVE_LIBBLURAY=1 -D HAVE_LIBBLURAY_BDJ=1 -D HAVE_LIBCEC=1 -D HAS_DBUS=1 -D HAS_ISO9660PP=1 -D HAVE_LCMS2=1 -D CMS_NO_REGISTER_KEYWORD=1 -D HAS_LIRC=1 -D HAS_WEB_SERVER=1 -D HAS_WEB_INTERFACE=1 -D HAS_FILESYSTEM_NFS=1 -D HAS_NFS_SET_TIMEOUT -D HAS_PIPEWIRE=1 -D HAS_AIRPLAY=1 -D HAS_PULSEAUDIO=1 -D HAS_PYTHON=1 -D HAS_FILESYSTEM_SMB=1 -D HAS_SNDIO=1 -D HAVE_LIBUDEV=1 -D HAS_UDFREAD=1 -D HAVE_LIBXSLT=1 -D HAVE_LIBVA=1 -D HAS_GLX=1 -D HAVE_LIBVDPAU=1 -D DATE_HAS_STRINGVIEW -D FFMPEG_VER_SHA="4.4.1" -D HAVE_GCRYPT=1 -D SPDLOG_FMT_EXTERNAL -D SPDLOG_DEBUG_ON -D SPDLOG_NO_ATOMIC_LEVELS -D SPDLOG_ENABLE_PATTERN_PADDING -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D HAS_EGL=1 -D HAVE_X11=1 -D HAVE_LIBXRANDR=1 -D HAVE_HDR_OUTPUT_METADATA=1 -D HAVE_DRM_MODIFIER_NAME=1 -D HAS_GL=1 -D HAVE_WAYLAND=1 -D HAVE_GBM=1 -D HAS_GBM_BO_MAP=1 -D HAS_GBM_MODIFIERS=1 -D HAS_MYSQL=1 -D HAS_UPNP=1 -D HAS_DVD_DRIVE -D HAS_CDDA_RIPPER -D HAS_AIRTUNES=1 -D BIN_INSTALL_PATH="/usr/lib/arm-linux-gnueabihf/9:     : __make_tuple_impl<_Idx + 1,
609:    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
609:    _Tuple, _Nm>
609:     { };
609: 
609:   template<size_t _Nm, typename _Tuple, typename... _Tp>
609:     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
609:     {
609:       typedef tuple<_Tp...> __type;
609:     };
609: 
609:   template<typename _Tuple>
609:     struct __do_make_tuple
609:     : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value>
609:     { };
609: 
609: 
609:   template<typename _Tuple>
609:     struct __make_tuple
609:     : public __do_make_tuple<__remove_cvref_t<_Tuple>>
609:     { };
609: 
609: 
609:   template<typename...>
609:     struct __combine_tuples;
609: 
609:   template<>
609:     struct __combine_tuples<>
609:     {
609:       typedef tuple<> __type;
609:     };
609: 
609:   template<typename... _Ts>
609:     struct __combine_tuples<tuple<_Ts...>>
609:     {
609:       typedef tuple<_Ts...> __type;
609:     };
609: 
609:   template<typename... _T1s, typename... _T2s, typename... _Rem>
609:     struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
609:     {
609:       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
609:      _Rem...>::__type __type;
609:     };
609: 
609: 
609:   template<typename... _Tpls>
609:     struct __tuple_cat_result
609:     {
609:       typedef typename __combine_tuples
609:         <typename __make_tuple<_Tpls>::__type...>::__type __type;
609:     };
609: 
609: 
609: 
609:   template<typename...>
609:     struct __make_1st_indices;
609: 
609:   template<>
609:     struct __make_1st_indices<>
609:     {
609:       typedef _Index_tuple<> __type;
609:     };
609: 
609:   template<typename _Tp, typename... _Tpls>
609:     struct __make_1st_indices<_Tp, _Tpls...>
609:     {
609:       typedef typename _Build_index_tuple<tuple_size<
609:  typename remove_reference<_Tp>::type>::value>::__type __type;
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Ret, typename _Indices, typename... _Tpls>
609:     struct __tuple_concater;
609: 
609:   template<typename _Ret, size_t... _Is, typename _Tp, typename... _Tpls>
609:     struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...>
609:     {
609:       template<typename... _Us>
609:         static constexpr _Ret
609:         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
609:         {
609:    typedef typename __make_1st_indices<_Tpls...>::__type __idx;
609:    typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
609:    return __next::_S_do(std::forward<_Tpls>(__tps)...,
609:           std::forward<_Us>(__us)...,
609:           std::get<_Is>(std::forward<_Tp>(__tp))...);
609:  }
609:     };
609: 
609:   template<typename _Ret>
609:     struct __tuple_concater<_Ret, _Index_tuple<>>
609:     {
609:       template<typename... _Us>
609:  static constexpr _Ret
609:  _S_do(_Us&&... __us)
609:         {
609:    return _Ret(std::forward<_Us>(__us)...);
609:  }
609:     };
609: 
609:   template<typename... _Tps>
609:     struct __is_tuple_like_impl<tuple<_Tps...>> : true_type
609:     { };
609: 
609: 
609:   template<typename... _Tpls, typename = typename
609:            enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
609:     constexpr auto
609:     tuple_cat(_Tpls&&... __tpls)
609:     -> typename __tuple_cat_result<_Tpls...>::__type
609:     {
609:       typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
609:       typedef typename __make_1st_indices<_Tpls...>::__type __idx;
609:       typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
609:       return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
609:     }
609: 
609: 
609: 
609: 
609:   template<typename... _Elements>
609:     constexpr tuple<_Elements&...>
609:     tie(_Elements&... __args) noexcept
609:     { return tuple<_Elements&...>(__args...); }
609: 
609: 
609:   template<typename... _Elements>
609:    
609:     inline
609: 
609: 
609:     typename enable_if<__and_<__is_swappable<_Elements>...>::value
609:       >::type
609: 
609: 
609: 
609:     swap(tuple<_Elemkodi" -D INSTALL_PATH="/usr/share/kodi" -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp -quiet -dumpdir CMakeFiles/guilib.dir/ -dumpbase GUIVisualisationControl.cpp.cpp -dumpbase-ext .cpp -mfloat-abi=hard -mtls-dialect=gnu -marm -mlibarch=armv6+fp -march=armv6+fp -g -g -O3 -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -o - -frandom-seed=0 -fdump-noaddr
1417: 
1417: # 0 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp"
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/guilib//"
1417: # 0 "<built-in>"
1417: # 0 "<command-line>"
1417: # 1 "/usr/include/stdc-predef.h" 1 3 4
1417: # 0 "<command-line>" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp"
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp"
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1417:        
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1417: # 1 "/usr/include/c++/12/algorithm" 1 3
1417: # 58 "/usr/include/c++/12/algorithm" 3
1417:        
1417: # 59 "/usr/include/c++/12/algorithm" 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_algobase.h" 1 3
1417: # 59 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 1 3
1417: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1417: 
1417: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1417: namespace std
1417: {
1417:   typedef unsigned int size_t;
1417:   typedef int ptrdiff_t;
1417: 
1417: 
1417:   typedef decltype(nullptr) nullptr_t;
1417: 
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417:   extern "C++" __attribute__ ((__noreturn__, __always_inline__))
1417:   inline void __terminate() noexcept
1417:   {
1417:     void terminate() noexcept __attribute__ ((__noreturn__));
1417:     terminate();
1417:   }
1417: #pragma GCC visibility pop
1417: }
1417: # 329 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1417: namespace std
1417: {
1417:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1417: }
1417: namespace __gnu_cxx
1417: {
1417:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1417: }
1417: # 508 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1417: namespace std
1417: {
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417: 
1417: 
1417:   constexpr inline bool
1417:   __is_constant_evaluated() noexcept
1417:   {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     return __buents...>& __x, tuple<_Elements...>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609: 
609:   template<typename... _Elements>
609:    
609:     typename enable_if<!__and_<__is_swappable<_Elements>...>::value>::type
609:     swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
609: 
609: 
609: 
609: 
609: 
609: 
609:   struct _Swallow_assign
609:   {
609:     template<class _Tp>
609:       constexpr const _Swallow_assign&
609:       operator=(const _Tp&) const
609:       { return *this; }
609:   };
609: 
609: 
609: 
609:   inline constexpr _Swallow_assign ignore{};
609: 
609: 
609:   template<typename... _Types, typename _Alloc>
609:     struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
609: # 1798 "/usr/include/c++/12/tuple" 3
609:   template<class _T1, class _T2>
609:     template<typename... _Args1, typename... _Args2>
609:      
609:       inline
609:       pair<_T1, _T2>::
609:       pair(piecewise_construct_t,
609:     tuple<_Args1...> __first, tuple<_Args2...> __second)
609:       : pair(__first, __second,
609:       typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
609:       typename _Build_index_tuple<sizeof...(_Args2)>::__type())
609:       { }
609: 
609:   template<class _T1, class _T2>
609:     template<typename... _Args1, size_t... _Indexes1,
609:       typename... _Args2, size_t... _Indexes2>
609:       inline
609:       pair<_T1, _T2>::
609:       pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
609:     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
609:       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
609:  second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
609:       { }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<template<typename...> class _Trait, typename _Tp, typename _Tuple>
609:     inline constexpr bool __unpack_std_tuple = false;
609: 
609:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
609:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>>
609:       = _Trait<_Tp, _Up...>::value;
609: 
609:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
609:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&>
609:       = _Trait<_Tp, _Up&...>::value;
609: 
609:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
609:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>>
609:       = _Trait<_Tp, const _Up...>::value;
609: 
609:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
609:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&>
609:       = _Trait<_Tp, const _Up&...>::value;
609: 
609: 
609: 
609:   template <typename _Fn, typename _Tuple, size_t... _Idx>
609:     constexpr decltype(auto)
609:     __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>)
609:     {
609:       return std::__invoke(std::forward<_Fn>(__f),
609:       std::get<_Idx>(std::forward<_Tuple>(__t))...);
609:     }
609: 
609:   template <typename _Fn, typename _Tuple>
609:     constexpr decltype(auto)
609:     apply(_Fn&& __f, _Tuple&& __t)
609:     noexcept(__unpack_std_tuple<is_nothrow_invocable, _Fn, _Tuple>)
609:     {
609:       using _Indices
609:  = make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>;
609:       return std::__apply_impl(std::forward<_Fn>(__f),
609:           std::forward<_Tuple>(__t),
609:           _Indices{});
609:     }
609: 
609: 
609: 
609:   template <typename _Tp, typename _Tuple, size_t... _Idx>
609:     constexpr _Tp
609:     __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>)
609:     { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); }
609: 
609:   template <typename _Tp, typename _Tuple>
609:     constexpr _Tp
609:     make_from_tuple(_Tuple&& __t)
609:     noexcept(__unpack_std_tuple<is_nothrow_constructible, _Tp, _Tuple>)
609:     {
609:       return __make_from_tuple_impl<_Tp>(
609:         std::forward<_Tuple>(__t),
609iltin_is_constant_evaluated();
1417: 
1417: 
1417: 
1417:   }
1417: #pragma GCC visibility pop
1417: }
1417: # 655 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 1 3
1417: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 3
1417: # 1 "/usr/include/features.h" 1 3 4
1417: # 392 "/usr/include/features.h" 3 4
1417: # 1 "/usr/include/features-time64.h" 1 3 4
1417: # 20 "/usr/include/features-time64.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 21 "/usr/include/features-time64.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1417: # 22 "/usr/include/features-time64.h" 2 3 4
1417: # 393 "/usr/include/features.h" 2 3 4
1417: # 489 "/usr/include/features.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 1 3 4
1417: # 559 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 560 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1417: # 561 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1417: # 490 "/usr/include/features.h" 2 3 4
1417: # 513 "/usr/include/features.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 1 3 4
1417: # 10 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h" 1 3 4
1417: # 11 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 2 3 4
1417: # 514 "/usr/include/features.h" 2 3 4
1417: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 2 3
1417: # 656 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/cpu_defines.h" 1 3
1417: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1417: # 841 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1417: # 1 "/usr/include/c++/12/pstl/pstl_config.h" 1 3
1417: # 842 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1417: # 60 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/functexcept.h" 1 3
1417: # 40 "/usr/include/c++/12/bits/functexcept.h" 3
1417: # 1 "/usr/include/c++/12/bits/exception_defines.h" 1 3
1417: # 41 "/usr/include/c++/12/bits/functexcept.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   void
1417:   __throw_bad_exception(void) __attribute__((__noreturn__));
1417: 
1417: 
1417:   void
1417:   __throw_bad_alloc(void) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_bad_array_new_length(void) __attribute__((__noreturn__));
1417: 
1417: 
1417:   void
1417:   __throw_bad_cast(void) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_bad_typeid(void) __attribute__((__noreturn__));
1417: 
1417: 
1417:   void
1417:   __throw_logic_error(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_domain_error(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_length_error(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_out_of_range(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
1417:     __attribute__((__format__(__gnu_printf__, 1, 2)));
1417: 
1417:   void
1417:   __throw_runtime_error(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_range_error(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_overflow_error(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_underflow_error(const char*) __attribute__((__noreturn__));
1417: 
1417: 
1417:   void
1417:   __throw_ios_failure(const char*) __attribute__((__noreturn__));
1417: 
1417:   void
1417:   __throw_ios_f:  make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>{});
609:     }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 37 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
609: # 52 "/usr/include/c++/12/bits/unique_ptr.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:   template<typename> class auto_ptr;
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct default_delete
609:     {
609: 
609:       constexpr default_delete() noexcept = default;
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Up,
609:         typename = _Require<is_convertible<_Up*, _Tp*>>>
609: 
609:         default_delete(const default_delete<_Up>&) noexcept { }
609: 
609: 
609:      
609:       void
609:       operator()(_Tp* __ptr) const
609:       {
609:  static_assert(!is_void<_Tp>::value,
609:         "can't delete pointer to incomplete type");
609:  static_assert(sizeof(_Tp)>0,
609:         "can't delete pointer to incomplete type");
609:  delete __ptr;
609:       }
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct default_delete<_Tp[]>
609:     {
609:     public:
609: 
609:       constexpr default_delete() noexcept = default;
609: # 119 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Up,
609:         typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>>
609: 
609:         default_delete(const default_delete<_Up[]>&) noexcept { }
609: 
609: 
609:       template<typename _Up>
609: 
609:  typename enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type
609:  operator()(_Up* __ptr) const
609:  {
609:    static_assert(sizeof(_Tp)>0,
609:    "can't delete pointer to incomplete type");
609:    delete [] __ptr;
609:  }
609:     };
609: 
609: 
609: 
609: 
609:   template <typename _Tp, typename _Dp>
609:     class __uniq_ptr_impl
609:     {
609:       template <typename _Up, typename _Ep, typename = void>
609:  struct _Ptr
609:  {
609:    using type = _Up*;
609:  };
609: 
609:       template <typename _Up, typename _Ep>
609:  struct
609:  _Ptr<_Up, _Ep, __void_t<typename remove_reference<_Ep>::type::pointer>>
609:  {
609:    using type = typename remove_reference<_Ep>::type::pointer;
609:  };
609: 
609:     public:
609:       using _DeleterConstraint = enable_if<
609:         __and_<__not_<is_pointer<_Dp>>,
609:         is_default_constructible<_Dp>>::value>;
609: 
609:       using pointer = typename _Ptr<_Tp, _Dp>::type;
609: 
609:       static_assert( !is_rvalue_reference<_Dp>::value,
609:        "unique_ptr's deleter type must be a function object type"
609:        " or an lvalue reference type" );
609: 
609:       __uniq_ptr_impl() = default;
609:      
609:       __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; }
609: 
609:       template<typename _Del>
609: 
609:  __uniq_ptr_impl(pointer __p, _Del&& __d)
609:  : _M_t(__p, std::forward<_Del>(__d)) { }
609: 
609:      
609:       __uniq_ptr_impl(__uniq_ptr_impl&& __u) noexcept
609:       : _M_t(std::move(__u._M_t))
609:       { __u._M_ptr() = nullptr; }
609: 
609:      
609:       __uniq_ptr_impl& operator=(__uniq_ptr_impl&& __u) noexcept
609:       {
609:  reset(__u.release());
609:  _M_deleter() = std::forward<_Dp>(__u._M_deleter());
609:  return *this;
609:       }
609: 
609:      
609:       pointer& _M_ptr() noexcept { return std::get<0>(_M_t); }
609:      
609:       pointer _M_ptr() const noexcept { return std::get<0>(_M_t); }
609:      
609:       _Dp& _M_deleter() noexcept { return std::get<1>(_M_t); }
609:      
609:       const _Dp& _M_deleter() const noexcept { return std::get<1>(_M_t); }
609: 
609:      
609:       void reset(pointer __p) noexcept
609:       {
609:  const pointer __old_p = _M_ptr();
609:  _M_ptr() = __p;
609:  if (__old_p)
609:    _M_deleter()(__old_p);
609:       }
609: 
609:      
609:       pointer release() noexcept
609:       {
609:  pointer __p = _M_ptr()ailure(const char*, int) __attribute__((__noreturn__));
1417: 
1417: 
1417:   void
1417:   __throw_system_error(int) __attribute__((__noreturn__));
1417: 
1417: 
1417:   void
1417:   __throw_future_error(int) __attribute__((__noreturn__));
1417: 
1417: 
1417:   void
1417:   __throw_bad_function_call() __attribute__((__noreturn__));
1417: 
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/cpp_type_traits.h" 1 3
1417: # 35 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1417:        
1417: # 36 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1417: # 67 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1417: extern "C++" {
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   struct __true_type { };
1417:   struct __false_type { };
1417: 
1417:   template<bool>
1417:     struct __truth_type
1417:     { typedef __false_type __type; };
1417: 
1417:   template<>
1417:     struct __truth_type<true>
1417:     { typedef __true_type __type; };
1417: 
1417: 
1417: 
1417:   template<class _Sp, class _Tp>
1417:     struct __traitor
1417:     {
1417:       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
1417:       typedef typename __truth_type<__value>::__type __type;
1417:     };
1417: 
1417: 
1417:   template<typename, typename>
1417:     struct __are_same
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __are_same<_Tp, _Tp>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_void
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_void<void>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_integer
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct __is_integer<bool>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<char>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<signed char>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<unsigned char>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __is_integer<wchar_t>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: # 184 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1417:   template<>
1417:     struct __is_integer<char16_t>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<char32_t>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __is_integer<short>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<unsigned short>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<int>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<unsigned int>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<long>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<unsigned long>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<long long>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_integer<unsigned long long>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: # 289 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1417:   template<typename _Tp>
1417:     struct __is_floating
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __is_floating<float>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_floating<double>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_floating<long double>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_pointer
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_pointer<_Tp*>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_arithmetic
1417:     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_scalar
1417:     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_char
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_char<char>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __is_char<wchar_t>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_byte
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_byte<char>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_byte<signed char>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __is_byte<unsigned char>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417: 
1417:   enum class byte : unsigned char;
1417: 
1417:   template<>
1417:     struct __is_byte<byte>
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: # 425 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1417:   template<typename> struct iterator_traits;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nonvolatile_trivially_copyable
1417:     {
1417:       enum { __value = __is_trivially_copyable(_Tp) };
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nonvolatile_trivially_copyable<volatile _Tp>
1417:     {
1417:       enum { __value = 0 };
1417:     };
1417: 
1417: 
1417:   template<typename _OutputIter, typename _InputIter>
1417:     struct __memcpyable
1417:     {
1417:       enum {;
609:  _M_ptr() = nullptr;
609:  return __p;
609:       }
609: 
609:      
609:       void
609:       swap(__uniq_ptr_impl& __rhs) noexcept
609:       {
609:  using std::swap;
609:  swap(this->_M_ptr(), __rhs._M_ptr());
609:  swap(this->_M_deleter(), __rhs._M_deleter());
609:       }
609: 
609:     private:
609:       tuple<pointer, _Dp> _M_t;
609:     };
609: 
609: 
609:   template <typename _Tp, typename _Dp,
609:      bool = is_move_constructible<_Dp>::value,
609:      bool = is_move_assignable<_Dp>::value>
609:     struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp>
609:     {
609:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
609:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
609:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
609:     };
609: 
609:   template <typename _Tp, typename _Dp>
609:     struct __uniq_ptr_data<_Tp, _Dp, true, false> : __uniq_ptr_impl<_Tp, _Dp>
609:     {
609:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
609:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
609:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
609:     };
609: 
609:   template <typename _Tp, typename _Dp>
609:     struct __uniq_ptr_data<_Tp, _Dp, false, true> : __uniq_ptr_impl<_Tp, _Dp>
609:     {
609:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
609:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
609:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
609:     };
609: 
609:   template <typename _Tp, typename _Dp>
609:     struct __uniq_ptr_data<_Tp, _Dp, false, false> : __uniq_ptr_impl<_Tp, _Dp>
609:     {
609:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
609:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
609:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp, typename _Dp = default_delete<_Tp>>
609:     class unique_ptr
609:     {
609:       template <typename _Up>
609:  using _DeleterConstraint =
609:    typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
609: 
609:       __uniq_ptr_data<_Tp, _Dp> _M_t;
609: 
609:     public:
609:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
609:       using element_type = _Tp;
609:       using deleter_type = _Dp;
609: 
609:     private:
609: 
609: 
609:       template<typename _Up, typename _Ep>
609:  using __safe_conversion_up = __and_<
609:    is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>,
609:    __not_<is_array<_Up>>
609:         >;
609: 
609:     public:
609: 
609: 
609: 
609:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
609:  constexpr unique_ptr() noexcept
609:  : _M_t()
609:  { }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
609: 
609:  explicit
609:  unique_ptr(pointer __p) noexcept
609:  : _M_t(__p)
609:         { }
609: # 320 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Del = deleter_type,
609:         typename = _Require<is_copy_constructible<_Del>>>
609: 
609:  unique_ptr(pointer __p, const deleter_type& __d) noexcept
609:  : _M_t(__p, __d) { }
609: # 333 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Del = deleter_type,
609:         typename = _Require<is_move_constructible<_Del>>>
609: 
609:  unique_ptr(pointer __p,
609:      __enable_if_t<!is_lvalue_reference<_Del>::value,
609:      _Del&&> __d) noexcept
609:  : _M_t(__p, std::move(__d))
609:  { }
609: 
609:       template<typename _Del = deleter_type,
609:         typename _DelUnref = typename remove_reference<_Del>::type>
609: 
609:  unique_ptr(pointer,
609:      __enable_if_t<is_lvalue_reference<_Del>::value,
609:      _DelUnref&&>) = delete;
609: 
609: 
609:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
609:  constexpr unique_ptr(nullptr_t) noexcept
609:  : _M_t()
609:  { }
609: 
609: 
609: 
609: 
609:       unique_ptr(unique_ptr&&) = default;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Up, typename _Ep, typename = _Require<
609:                __safe_conversion_up<_Up, _Ep>,
609:         __conditional_t<is_reference<_Dp>::value,
609:           is_same<_Ep, _Dp>,
609:           is_convertible<_Ep, _Dp>>>>
609: 
609:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
609:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
609:  { }
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609:       template<typename _Up, typename = _Require<
609:         is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>>
609:  unique_ptr(auto_ptr<_Up>&& __u) noexcept;
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609: 
609: 
609:       ~unique_ptr() noexcept
609:       {
609:  static_assert(__is_invocable<deleter_type&, pointer>::value,
609:         "unique_ptr's deleter must be invocable with a pointer");
609:  auto& __ptr = _M_t._M_ptr();
609:  if (__ptr != nullptr)
609:    get_deleter()(std::move(__ptr));
609:  __ptr = pointer();
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       unique_ptr& operator=(unique_ptr&&) = default;
609: # 415 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Up, typename _Ep>
609: 
609:         typename enable_if< __and_<
609:           __safe_conversion_up<_Up, _Ep>,
609:           is_assignable<deleter_type&, _Ep&&>
609:           >::value,
609:           unique_ptr&>::type
609:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
609:  {
609:    reset(__u.release());
609:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
609:    return *this;
609:  }
609: 
609: 
609:      
609:       unique_ptr&
609:       operator=(nullptr_t) noexcept
609:       {
609:  reset();
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609:      
609:       typename add_lvalue_reference<element_type>::type
609:       operator*() const noexcept(noexcept(*std::declval<pointer>()))
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
609:  return *get();
609:       }
609: 
609: 
609:      
609:       pointer
609:       operator->() const noexcept
609:       {
609:  ;
609:  return get();
609:       }
609: 
609: 
609:      
609:       pointer
609:       get() const noexcept
609:       { return _M_t._M_ptr(); }
609: 
609: 
609:      
609:       deleter_type&
609:       get_deleter() noexcept
609:       { return _M_t._M_deleter(); }
609: 
609: 
609:      
609:       const deleter_type&
609:       get_deleter() const noexcept
609:       { return _M_t._M_deleter(); }
609: 
609: 
609:      
609:       explicit operator bool() const noexcept
609:       { return get() == pointer() ? false : true; }
609: 
609: 
609: 
609: 
609:      
609:       pointer
609:       release() noexcept
609:       { return _M_t.release(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:      
609:       void
609:       reset(pointer __p = pointer()) noexcept
609:       {
609:  static_assert(__is_invocable<deleter_type&, pointer>::value,
609:         "unique_ptr's deleter must be invocable with a pointer");
609:  _M_t.reset(std::move(__p));
609:       }
609: 
609: 
609:      
609:       void
609:       swap(unique_ptr& __u) noexcept
609:       {
609:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
609:  _M_t.swap(__u._M_t);
609:       }
609: 
609: 
609:       unique_ptr(const unique_ptr&) = delete;
609:       unique_ptr& operator=(const unique_ptr&) = delete;
609:   };
609: # 526 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:   template<typename _Tp, typename _Dp>
609:     class unique_ptr<_Tp[], _Dp>
609:     {
609:       template <typename _Up>
609:       using _DeleterConstraint =
609:  typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
609: 
609:       __uniq_ptr_data<_Tp, _Dp> _M_t;
609: 
609:       template<typename _Up>
609:  using __remove_cv = typename remove_cv<_Up>::type;
609: 
609: 
609:       template<typename _Up>
609:  using __is_derived_Tp
609:    = __and_< is_base_of __value = 0 };
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __memcpyable<_Tp*, _Tp*>
1417:     : __is_nonvolatile_trivially_copyable<_Tp>
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __memcpyable<_Tp*, const _Tp*>
1417:     : __is_nonvolatile_trivially_copyable<_Tp>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Iter1, typename _Iter2>
1417:     struct __memcmpable
1417:     {
1417:       enum { __value = 0 };
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __memcmpable<_Tp*, _Tp*>
1417:     : __is_nonvolatile_trivially_copyable<_Tp>
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __memcmpable<const _Tp*, _Tp*>
1417:     : __is_nonvolatile_trivially_copyable<_Tp>
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __memcmpable<_Tp*, const _Tp*>
1417:     : __is_nonvolatile_trivially_copyable<_Tp>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, bool _TreatAsBytes =
1417: 
1417: 
1417: 
1417:  __is_byte<_Tp>::__value
1417: 
1417:     >
1417:     struct __is_memcmp_ordered
1417:     {
1417:       static const bool __value = _Tp(-1) > _Tp(1);
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_memcmp_ordered<_Tp, false>
1417:     {
1417:       static const bool __value = false;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
1417:     struct __is_memcmp_ordered_with
1417:     {
1417:       static const bool __value = __is_memcmp_ordered<_Tp>::__value
1417:  && __is_memcmp_ordered<_Up>::__value;
1417:     };
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct __is_memcmp_ordered_with<_Tp, _Up, false>
1417:     {
1417:       static const bool __value = false;
1417:     };
1417: # 534 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1417:   template<>
1417:     struct __is_memcmp_ordered_with<std::byte, std::byte, true>
1417:     { static constexpr bool __value = true; };
1417: 
1417:   template<typename _Tp, bool _SameSize>
1417:     struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
1417:     { static constexpr bool __value = false; };
1417: 
1417:   template<typename _Up, bool _SameSize>
1417:     struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
1417:     { static constexpr bool __value = false; };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_move_iterator
1417:     {
1417:       enum { __value = 0 };
1417:       typedef __false_type __type;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Iterator>
1417:    
1417:     inline _Iterator
1417:     __miter_base(_Iterator __it)
1417:     { return __it; }
1417: 
1417: 
1417: }
1417: }
1417: # 62 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/ext/type_traits.h" 1 3
1417: # 32 "/usr/include/c++/12/ext/type_traits.h" 3
1417:        
1417: # 33 "/usr/include/c++/12/ext/type_traits.h" 3
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" {
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<bool, typename>
1417:     struct __enable_if
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __enable_if<true, _Tp>
1417:     { typedef _Tp __type; };
1417: 
1417: 
1417: 
1417:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1417:     struct __conditional_type
1417:     { typedef _Iftrue __type; };
1417: 
1417:   template<typename _Iftrue, typename _Iffalse>
1417:     struct __conditional_type<false, _Iftrue, _Iffalse>
1417:     { typedef _Iffalse __type; };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __add_unsigned
1417:     {
1417:     private:
1417:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1417: 
1417:     public:
1417:       typedef typename __if_type::__type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __add_unsigned<char>
141ocked (wchar_t __wc);
1115: # 835 "/usr/include/wchar.h" 3 4
1115: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
1115:      __FILE *__restrict __stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fputws_unlocked (const wchar_t *__restrict __ws,
1115:        __FILE *__restrict __stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
1115:    const wchar_t *__restrict __format,
1115:    const struct tm *__restrict __tp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
1115:      const wchar_t *__restrict __format,
1115:      const struct tm *__restrict __tp,
1115:      locale_t __loc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 3 4
1115: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
1115:           const wchar_t *__restrict __s2, size_t __n,
1115:           size_t __ns1) noexcept (true);
1115: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
1115:     size_t __n, size_t __ns1) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
1115:     const wchar_t *__restrict __s2, size_t __n,
1115:     size_t __ns1) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
1115:           size_t __ns) noexcept (true);
1115: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
1115:          const wchar_t *__restrict __src,
1115:          size_t __n) noexcept (true);
1115: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
1115:          const wchar_t *__restrict __src,
1115:          size_t __destlen) noexcept (true);
1115: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
1115:           const wchar_t *__restrict __src, size_t __n,
1115:           size_t __destlen) noexcept (true);
1115: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
1115:           const wchar_t *__restrict __src, size_t __n,
1115:           size_t __destlen) noexcept (true);
1115: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
1115:          const wchar_t *__restrict __src,
1115:          size_t __destlen) noexcept (true);
1115: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
1115:           const wchar_t *__restrict __src,
1115:           size_t __n, size_t __destlen) noexcept (true);
1115: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
1115:       int __flag, size_t __s_len,
1115:       const wchar_t *__restrict __format, ...)
1115:      noexcept (true) ;
1115: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
1115:        int __flag, size_t __s_len,
1115:        const wchar_t *__restrict __format,
1115:        __gnuc_va_list __arg)
1115:      noexcept (true) ;
1115: 
1115: 
1115: 
1115: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
1115:       const wchar_t *__restrict __format, ...);
1115: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
1115:      ...);
1115: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
1115:        const wchar_t *__restrict __format,
1115:        __gnuc_va_list __ap);
1115: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
1115:       __gnuc_va_list __ap);
1115: 
1115: 
1115: 
1115: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
1115:          __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
1115:            int __n, __FILE *__restrict __stream)
1115:        __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
1115:         mbstate_t *__restrict __p,
111<_Tp, _Up>,
609:       __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >;
609: 
609:     public:
609:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
609:       using element_type = _Tp;
609:       using deleter_type = _Dp;
609: 
609: 
609: 
609:       template<typename _Up, typename _Ep,
609:                typename _UPtr = unique_ptr<_Up, _Ep>,
609:         typename _UP_pointer = typename _UPtr::pointer,
609:         typename _UP_element_type = typename _UPtr::element_type>
609:  using __safe_conversion_up = __and_<
609:           is_array<_Up>,
609:           is_same<pointer, element_type*>,
609:           is_same<_UP_pointer, _UP_element_type*>,
609:           is_convertible<_UP_element_type(*)[], element_type(*)[]>
609:         >;
609: 
609: 
609:       template<typename _Up>
609:         using __safe_conversion_raw = __and_<
609:           __or_<__or_<is_same<_Up, pointer>,
609:                       is_same<_Up, nullptr_t>>,
609:                 __and_<is_pointer<_Up>,
609:                        is_same<pointer, element_type*>,
609:                        is_convertible<
609:                          typename remove_pointer<_Up>::type(*)[],
609:                          element_type(*)[]>
609:                 >
609:           >
609:         >;
609: 
609: 
609: 
609: 
609:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
609:  constexpr unique_ptr() noexcept
609:  : _M_t()
609:  { }
609: # 591 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Up,
609:         typename _Vp = _Dp,
609:         typename = _DeleterConstraint<_Vp>,
609:         typename = typename enable_if<
609:                  __safe_conversion_raw<_Up>::value, bool>::type>
609: 
609:  explicit
609:  unique_ptr(_Up __p) noexcept
609:  : _M_t(__p)
609:         { }
609: # 610 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Up, typename _Del = deleter_type,
609:         typename = _Require<__safe_conversion_raw<_Up>,
609:        is_copy_constructible<_Del>>>
609: 
609:  unique_ptr(_Up __p, const deleter_type& __d) noexcept
609:  : _M_t(__p, __d) { }
609: # 625 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Up, typename _Del = deleter_type,
609:         typename = _Require<__safe_conversion_raw<_Up>,
609:        is_move_constructible<_Del>>>
609: 
609:  unique_ptr(_Up __p,
609:      __enable_if_t<!is_lvalue_reference<_Del>::value,
609:      _Del&&> __d) noexcept
609:  : _M_t(std::move(__p), std::move(__d))
609:  { }
609: 
609:       template<typename _Up, typename _Del = deleter_type,
609:         typename _DelUnref = typename remove_reference<_Del>::type,
609:         typename = _Require<__safe_conversion_raw<_Up>>>
609:  unique_ptr(_Up,
609:      __enable_if_t<is_lvalue_reference<_Del>::value,
609:      _DelUnref&&>) = delete;
609: 
609: 
609:       unique_ptr(unique_ptr&&) = default;
609: 
609: 
609:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
609:  constexpr unique_ptr(nullptr_t) noexcept
609:  : _M_t()
609:         { }
609: 
609:       template<typename _Up, typename _Ep, typename = _Require<
609:         __safe_conversion_up<_Up, _Ep>,
609:         __conditional_t<is_reference<_Dp>::value,
609:           is_same<_Ep, _Dp>,
609:           is_convertible<_Ep, _Dp>>>>
609: 
609:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
609:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
609:  { }
609: 
609: 
609: 
609: 
609: 
609:       ~unique_ptr()
609:       {
609:  auto& __ptr = _M_t._M_ptr();
609:  if (__ptr != nullptr)
609:    get_deleter()(__ptr);
609:  __ptr = pointer();
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       unique_ptr&
609:       operator=(unique_ptr&&) = default;
609: # 689 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:       template<typename _Up, typename _Ep>
609: 
609:  typename
609:  enable_if<__and_<__safe_conversion_up<_Up, _Ep>,
609:                          is_assignable<deleter_type&, _Ep&&>
609:                   >::value,
609:                   unique_7:     { typedef unsigned char __type; };
1417: 
1417:   template<>
1417:     struct __add_unsigned<signed char>
1417:     { typedef unsigned char __type; };
1417: 
1417:   template<>
1417:     struct __add_unsigned<short>
1417:     { typedef unsigned short __type; };
1417: 
1417:   template<>
1417:     struct __add_unsigned<int>
1417:     { typedef unsigned int __type; };
1417: 
1417:   template<>
1417:     struct __add_unsigned<long>
1417:     { typedef unsigned long __type; };
1417: 
1417:   template<>
1417:     struct __add_unsigned<long long>
1417:     { typedef unsigned long long __type; };
1417: 
1417: 
1417:   template<>
1417:     struct __add_unsigned<bool>;
1417: 
1417:   template<>
1417:     struct __add_unsigned<wchar_t>;
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __remove_unsigned
1417:     {
1417:     private:
1417:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1417: 
1417:     public:
1417:       typedef typename __if_type::__type __type;
1417:     };
1417: 
1417:   template<>
1417:     struct __remove_unsigned<char>
1417:     { typedef signed char __type; };
1417: 
1417:   template<>
1417:     struct __remove_unsigned<unsigned char>
1417:     { typedef signed char __type; };
1417: 
1417:   template<>
1417:     struct __remove_unsigned<unsigned short>
1417:     { typedef short __type; };
1417: 
1417:   template<>
1417:     struct __remove_unsigned<unsigned int>
1417:     { typedef int __type; };
1417: 
1417:   template<>
1417:     struct __remove_unsigned<unsigned long>
1417:     { typedef long __type; };
1417: 
1417:   template<>
1417:     struct __remove_unsigned<unsigned long long>
1417:     { typedef long long __type; };
1417: 
1417: 
1417:   template<>
1417:     struct __remove_unsigned<bool>;
1417: 
1417:   template<>
1417:     struct __remove_unsigned<wchar_t>;
1417: 
1417: 
1417: 
1417:   template<typename _Type>
1417:     constexpr
1417:     inline bool
1417:     __is_null_pointer(_Type* __ptr)
1417:     { return __ptr == 0; }
1417: 
1417:   template<typename _Type>
1417:     constexpr
1417:     inline bool
1417:     __is_null_pointer(_Type)
1417:     { return false; }
1417: 
1417: 
1417:   constexpr bool
1417:   __is_null_pointer(std::nullptr_t)
1417:   { return true; }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
1417:     struct __promote
1417:     { typedef double __type; };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __promote<_Tp, false>
1417:     { };
1417: 
1417:   template<>
1417:     struct __promote<long double>
1417:     { typedef long double __type; };
1417: 
1417:   template<>
1417:     struct __promote<double>
1417:     { typedef double __type; };
1417: 
1417:   template<>
1417:     struct __promote<float>
1417:     { typedef float __type; };
1417: 
1417: 
1417: 
1417:   template<typename... _Tp>
1417:     using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
1417: 
1417:   template<typename _Tp, typename _Up, typename _Vp>
1417:     using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
1417: 
1417:   template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
1417:     using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
1417: # 239 "/usr/include/c++/12/ext/type_traits.h" 3
1417: 
1417: }
1417: }
1417: # 63 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/ext/numeric_traits.h" 1 3
1417: # 32 "/usr/include/c++/12/ext/numeric_traits.h" 3
1417:        
1417: # 33 "/usr/include/c++/12/ext/numeric_traits.h" 3
1417: 
1417: 
1417: 
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 50 "/usr/include/c++/12/ext/numeric_traits.h" 3
1417:   template<typename _Tp>
1417:     struct __is_integer_nonstrict
1417:     : public std::__is_integer<_Tp>
1417:     {
1417:       using std::__is_integer<_Tp>::__value;
r/include/c++/12/bits/stl_iterator_base_types.h" 3
1412: # 74 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 93 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1412:   struct input_iterator_tag { };
1412: 
1412: 
1412:   struct output_iterator_tag { };
1412: 
1412: 
1412:   struct forward_iterator_tag : public input_iterator_tag { };
1412: 
1412: 
1412: 
1412:   struct bidirectional_iterator_tag : public forward_iterator_tag { };
1412: 
1412: 
1412: 
1412:   struct random_access_iterator_tag : public bidirectional_iterator_tag { };
1412: # 125 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1412:   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
1412:            typename _Pointer = _Tp*, typename _Reference = _Tp&>
1412:     struct [[__deprecated__]] iterator
1412:     {
1412: 
1412:       typedef _Category iterator_category;
1412: 
1412:       typedef _Tp value_type;
1412: 
1412:       typedef _Distance difference_type;
1412: 
1412:       typedef _Pointer pointer;
1412: 
1412:       typedef _Reference reference;
1412:     };
1412: # 149 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1412:   template<typename _Iterator>
1412:     struct iterator_traits;
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Iterator, typename = __void_t<>>
1412:     struct __iterator_traits { };
1412: 
1412: 
1412: 
1412:   template<typename _Iterator>
1412:     struct __iterator_traits<_Iterator,
1412:         __void_t<typename _Iterator::iterator_category,
1412:           typename _Iterator::value_type,
1412:           typename _Iterator::difference_type,
1412:           typename _Iterator::pointer,
1412:           typename _Iterator::reference>>
1412:     {
1412:       typedef typename _Iterator::iterator_category iterator_category;
1412:       typedef typename _Iterator::value_type value_type;
1412:       typedef typename _Iterator::difference_type difference_type;
1412:       typedef typename _Iterator::pointer pointer;
1412:       typedef typename _Iterator::reference reference;
1412:     };
1412: 
1412: 
1412:   template<typename _Iterator>
1412:     struct iterator_traits
1412:     : public __iterator_traits<_Iterator> { };
1412: # 209 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1412:   template<typename _Tp>
1412:     struct iterator_traits<_Tp*>
1412:     {
1412:       typedef random_access_iterator_tag iterator_category;
1412:       typedef _Tp value_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef _Tp* pointer;
1412:       typedef _Tp& reference;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct iterator_traits<const _Tp*>
1412:     {
1412:       typedef random_access_iterator_tag iterator_category;
1412:       typedef _Tp value_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef const _Tp* pointer;
1412:       typedef const _Tp& reference;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Iter>
1412:     inline constexpr
1412:     typename iterator_traits<_Iter>::iterator_category
1412:     __iterator_category(const _Iter&)
1412:     { return typename iterator_traits<_Iter>::iterator_category(); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Iter>
1412:     using __iterator_category_t
1412:       = typename iterator_traits<_Iter>::iterator_category;
1412: 
1412:   template<typename _InIter>
1412:     using _RequireInputIter =
1412:       __enable_if_t<is_convertible<__iterator_category_t<_InIter>,
1412:        input_iterator_tag>::value>;
1412: 
1412:   template<typename _It,
1412:     typename _Cat = __iterator_category_t<_It>>
1412:     struct __is_random_access_iter
1412:       : is_base_of<random_access_iterator_tag, _Cat>
1412:     {
1412:       typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
1412:       enum { __value = _Base::value };
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 66 "/usr/include/c++/12/bptr&>::type
609:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
609:  {
609:    reset(__u.release());
609:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
609:    return *this;
609:  }
609: 
609: 
609:      
609:       unique_ptr&
609:       operator=(nullptr_t) noexcept
609:       {
609:  reset();
609:  return *this;
609:       }
609: 
609: 
609: 
609: 
609:      
609:       typename std::add_lvalue_reference<element_type>::type
609:       operator[](size_t __i) const
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
609:  return get()[__i];
609:       }
609: 
609: 
609:      
609:       pointer
609:       get() const noexcept
609:       { return _M_t._M_ptr(); }
609: 
609: 
609:      
609:       deleter_type&
609:       get_deleter() noexcept
609:       { return _M_t._M_deleter(); }
609: 
609: 
609:      
609:       const deleter_type&
609:       get_deleter() const noexcept
609:       { return _M_t._M_deleter(); }
609: 
609: 
609:      
609:       explicit operator bool() const noexcept
609:       { return get() == pointer() ? false : true; }
609: 
609: 
609: 
609: 
609:      
609:       pointer
609:       release() noexcept
609:       { return _M_t.release(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template <typename _Up,
609:                 typename = _Require<
609:                   __or_<is_same<_Up, pointer>,
609:                         __and_<is_same<pointer, element_type*>,
609:                                is_pointer<_Up>,
609:                                is_convertible<
609:                                  typename remove_pointer<_Up>::type(*)[],
609:                                  element_type(*)[]
609:                                >
609:                         >
609:                   >
609:                >>
609:      
609:       void
609:       reset(_Up __p) noexcept
609:       { _M_t.reset(std::move(__p)); }
609: 
609:      
609:       void reset(nullptr_t = nullptr) noexcept
609:       { reset(pointer()); }
609: 
609: 
609:      
609:       void
609:       swap(unique_ptr& __u) noexcept
609:       {
609:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
609:  _M_t.swap(__u._M_t);
609:       }
609: 
609: 
609:       unique_ptr(const unique_ptr&) = delete;
609:       unique_ptr& operator=(const unique_ptr&) = delete;
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     inline
609: 
609: 
609:    
609:     typename enable_if<__is_swappable<_Dp>::value>::type
609: 
609: 
609: 
609:     swap(unique_ptr<_Tp, _Dp>& __x,
609:   unique_ptr<_Tp, _Dp>& __y) noexcept
609:     { __x.swap(__y); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     typename enable_if<!__is_swappable<_Dp>::value>::type
609:     swap(unique_ptr<_Tp, _Dp>&,
609:   unique_ptr<_Tp, _Dp>&) = delete;
609: 
609: 
609: 
609:   template<typename _Tp, typename _Dp,
609:     typename _Up, typename _Ep>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const unique_ptr<_Tp, _Dp>& __x,
609:         const unique_ptr<_Up, _Ep>& __y)
609:     { return __x.get() == __y.get(); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
609:     { return !__x; }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
609:     { return !__x; }
609: 
609: 
609:   template<typename _Tp, typename _Dp,
609:     typename _Up, typename _Ep>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const unique_ptr<_Tp, _Dp>& __x,
609:         const unique_ptr<_Up, _Ep>& __y)
609:     { return __x.get() != __y.get(); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
609:  5:         size_t __buflen) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
1115:           const char **__restrict __src,
1115:           size_t __len, mbstate_t *__restrict __ps,
1115:           size_t __dstlen) noexcept (true);
1115: extern size_t __wcsrtombs_chk (char *__restrict __dst,
1115:           const wchar_t **__restrict __src,
1115:           size_t __len, mbstate_t *__restrict __ps,
1115:           size_t __dstlen) noexcept (true);
1115: 
1115: 
1115: 
1115: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
1115:     const char **__restrict __src, size_t __nmc,
1115:     size_t __len, mbstate_t *__restrict __ps,
1115:     size_t __dstlen) noexcept (true);
1115: extern size_t __wcsnrtombs_chk (char *__restrict __dst,
1115:     const wchar_t **__restrict __src,
1115:     size_t __nwc, size_t __len,
1115:     mbstate_t *__restrict __ps, size_t __dstlen)
1115:        noexcept (true);
1115: # 869 "/usr/include/wchar.h" 2 3 4
1115: # 879 "/usr/include/wchar.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1115: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmemcpy")
1115: 
1115: 
1115:             ;
1115: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemcpy_chk")
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer")))
1115:             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1115: 
1115:                        ;
1115: }
1115: 
1115: 
1115: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true) __asm__ ("" "wmemmove")
1115: 
1115:                                ;
1115: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemmove_chk")
1115: 
1115: 
1115:      __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer")))
1115:             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__built   { return (bool)__x; }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
609:     { return (bool)__x; }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Dp,
609:     typename _Up, typename _Ep>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(const unique_ptr<_Tp, _Dp>& __x,
609:        const unique_ptr<_Up, _Ep>& __y)
609:     {
609:       typedef typename
609:  std::common_type<typename unique_ptr<_Tp, _Dp>::pointer,
609:                   typename unique_ptr<_Up, _Ep>::pointer>::type _CT;
609:       return std::less<_CT>()(__x.get(), __y.get());
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
609:     {
609:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
609:          nullptr);
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
609:     {
609:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
609:          __x.get());
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Dp,
609:     typename _Up, typename _Ep>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(const unique_ptr<_Tp, _Dp>& __x,
609:         const unique_ptr<_Up, _Ep>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
609:     { return !(nullptr < __x); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
609:     { return !(__x < nullptr); }
609: 
609: 
609:   template<typename _Tp, typename _Dp,
609:     typename _Up, typename _Ep>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(const unique_ptr<_Tp, _Dp>& __x,
609:        const unique_ptr<_Up, _Ep>& __y)
609:     { return (__y < __x); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
609:     {
609:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
609:          __x.get());
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
609:     {
609:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
609:          nullptr);
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Dp,
609:     typename _Up, typename _Ep>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>=(const unique_ptr<_Tp, _Dp>& __x,
609:         const unique_ptr<_Up, _Ep>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
609:     { return !(__x < nullptr); }
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     [[__nodiscard__]] inline bool
609:     operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
609:     { return !(nullptr < __x); }
609: # 1001 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:   template<typename _Up, typename _Ptr = typename _Up::pointer,
609:     bool = __poison_hash<_Ptr>::__enable_hash_call>
609:     struct __uniq_ptr_hash
609: 
609:     : private __poison_hash<_Ptr>
609: 
609:     {
609:       size_t
609:       operator()(const _Up& __u) const
609:       noexcept(noexcept(std::declval<hash<_Ptr>>()(std::declval<_Ptr>())))
609:       { return hash<_Ptr>()(__u.get()); }
609:     };
609: 
609:   template<typename _Up, typename _Ptr>
609:     struct __uniq_ptr_hash<_Up, _its/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 1 3
1412: # 62 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1412:        
1412: # 63 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/concept_check.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/concept_check.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/concept_check.h" 3
1412: # 65 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1412: # 1 "/usr/include/c++/12/debug/assertions.h" 1 3
1412: # 66 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template <typename> struct _List_iterator;
1412:   template <typename> struct _List_const_iterator;
1412: 
1412: 
1412:   template<typename _InputIterator>
1412:     inline constexpr
1412:     typename iterator_traits<_InputIterator>::difference_type
1412:     __distance(_InputIterator __first, _InputIterator __last,
1412:                input_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1412:       while (__first != __last)
1412:  {
1412:    ++__first;
1412:    ++__n;
1412:  }
1412:       return __n;
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator>
1412:     inline constexpr
1412:     typename iterator_traits<_RandomAccessIterator>::difference_type
1412:     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:                random_access_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412:       return __last - __first;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     ptrdiff_t
1412:     __distance(std::_List_iterator<_Tp>,
1412:         std::_List_iterator<_Tp>,
1412:         input_iterator_tag);
1412: 
1412:   template<typename _Tp>
1412:     ptrdiff_t
1412:     __distance(std::_List_const_iterator<_Tp>,
1412:         std::_List_const_iterator<_Tp>,
1412:         input_iterator_tag);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _OutputIterator>
1412:     void
1412:     __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
1412: # 143 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1412:   template<typename _InputIterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr
1412:     typename iterator_traits<_InputIterator>::difference_type
1412:     distance(_InputIterator __first, _InputIterator __last)
1412:     {
1412: 
1412:       return std::__distance(__first, __last,
1412:         std::__iterator_category(__first));
1412:     }
1412: 
1412:   template<typename _InputIterator, typename _Distance>
1412:     inline constexpr void
1412:     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
1412:     {
1412: 
1412:      
1412:       do { if (std::__is_constant_evaluated() && !bool(__n >= 0)) __builtin_unreachable(); } while (false);
1412:       while (__n--)
1412:  ++__i;
1412:     }
1412: 
1412:   template<typename _BidirectionalIterator, typename _Distance>
1412:     inline constexpr void
1412:     __advance(_BidirectionalIterator& __i, _Distance __n,
1412:        bidirectional_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412:       if (__n > 0)
1412:         while (__n--)
1412:    ++__i;
1412:       else
1412:         while (__n++)
1412:    --__i;
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Distance>
1412:     inline constexpr void
1412:     __advance(_RandomAccessIterator& __i, _Distance __n,
1412:               random_access_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412:       if (__builtin_constant_p(__n) && __n == 1)
1412:  ++__i;
1412:       else if (__builtin_constant_p(__n) && __n == -1)
1412:  --__i;
1412:       else
1412:  __i += __n;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _OutputIterator, typename _Distance>
1412:     void
1412:     __advance(_OutputIterator&, _Distance, output_iterator_tag)in_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemmove_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemmove_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemmove_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1115: 
1115:                        ;
1115: }
1115: 
1115: 
1115: 
1115: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmempcpy")
1115: 
1115: 
1115:                            ;
1115: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmempcpy_chk")
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer")))
1115:             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmempcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmempcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmempcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1115: 
1115:                        ;
1115: }
1115: 
1115: 
1115: 
1115: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true) __asm__ ("" "wmemset")
1115:                              ;
1115: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) noexcept (true) __asm__ ("" "__wmemset_chk")
1115: 
1115: 
1115:      __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer")))
1115:             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__s, 0)) && (__builtin_object_size (__s, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t)))))) ? __wmemset_alias (__s, __c, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) ? __wmemset_chk_warn (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t))) : __wmemset_chk (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))))
1115: 
1115:             Ptr, false>
609:     : private __poison_hash<_Ptr>
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp, typename _Dp>
609:     struct hash<unique_ptr<_Tp, _Dp>>
609:     : public __hash_base<size_t, unique_ptr<_Tp, _Dp>>,
609:       public __uniq_ptr_hash<unique_ptr<_Tp, _Dp>>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: namespace __detail
609: {
609:   template<typename _Tp>
609:     struct _MakeUniq
609:     { typedef unique_ptr<_Tp> __single_object; };
609: 
609:   template<typename _Tp>
609:     struct _MakeUniq<_Tp[]>
609:     { typedef unique_ptr<_Tp[]> __array; };
609: 
609:   template<typename _Tp, size_t _Bound>
609:     struct _MakeUniq<_Tp[_Bound]>
609:     { struct __invalid_type { }; };
609: 
609:   template<typename _Tp>
609:     using __unique_ptr_t = typename _MakeUniq<_Tp>::__single_object;
609:   template<typename _Tp>
609:     using __unique_ptr_array_t = typename _MakeUniq<_Tp>::__array;
609:   template<typename _Tp>
609:     using __invalid_make_unique_t = typename _MakeUniq<_Tp>::__invalid_type;
609: }
609: # 1061 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:   template<typename _Tp, typename... _Args>
609:    
609:     inline __detail::__unique_ptr_t<_Tp>
609:     make_unique(_Args&&... __args)
609:     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
609: # 1076 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:   template<typename _Tp>
609:    
609:     inline __detail::__unique_ptr_array_t<_Tp>
609:     make_unique(size_t __num)
609:     { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename... _Args>
609:     __detail::__invalid_make_unique_t<_Tp>
609:     make_unique(_Args&&...) = delete;
609: # 1149 "/usr/include/c++/12/bits/unique_ptr.h" 3
609:   namespace __detail::__variant
609:   {
609:     template<typename> struct _Never_valueless_alt;
609: 
609: 
609: 
609:     template<typename _Tp, typename _Del>
609:       struct _Never_valueless_alt<std::unique_ptr<_Tp, _Del>>
609:       : std::true_type
609:       { };
609:   }
609: 
609: 
609: 
609: }
609: # 77 "/usr/include/c++/12/memory" 2 3
609: # 1 "/usr/include/c++/12/bits/shared_ptr.h" 1 3
609: # 53 "/usr/include/c++/12/bits/shared_ptr.h" 3
609: # 1 "/usr/include/c++/12/bits/shared_ptr_base.h" 1 3
609: # 53 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609: # 1 "/usr/include/c++/12/bits/allocated_ptr.h" 1 3
609: # 40 "/usr/include/c++/12/bits/allocated_ptr.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   template<typename _Alloc>
609:     struct __allocated_ptr
609:     {
609:       using pointer = typename allocator_traits<_Alloc>::pointer;
609:       using value_type = typename allocator_traits<_Alloc>::value_type;
609: 
609: 
609:       __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept
609:       : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr)
609:       { }
609: 
609: 
609:       template<typename _Ptr,
609:         typename _Req = _Require<is_same<_Ptr, value_type*>>>
609:       __allocated_ptr(_Alloc& __a, _Ptr __ptr)
609:       : _M_alloc(std::__addressof(__a)),
609:  _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
609:       { }
609: 
609: 
609:       __allocated_ptr(__allocated_ptr&& __gd) noexcept
609:       : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr)
609:       { __gd._M_ptr = nullptr; }
609: 
609: 
609:       ~__allocated_ptr()
609:       {
609:  if (_M_ptr != nullptr)
609:    std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1);
609:       }
609: 
609: 
609:       __allocated_ptr&
609:       operator=(std::nullptr_t) noexcept
609:       {
609:  _M_ptr = nullptr;
609:  return *this;
609:       }
609: 
609: 
609:       value_type* get() { return std::__to_address(_M_ptr); }
609: 
609:     private:
609:       _Alloc* _M_alloc;
609:       pointer _M_ptr;
609:     };
609: 
609: 
609:   template<typename _Alloc>
609:     __allocated_ptr<_Alloc>
609:     __allocate_guarded(_Alloc& __a)
609:     {
609:       return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) };
609:     }
609: 
609: 
609: 
609: }
609: # 54 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/ext/aligned_buffer.h" 1 3
609: # 32 "/usr/include/c++/12/ext/aligned_buffer.h" 3
609:        
609: # 33 "/usr/include/c++/12/ext/aligned_buffer.h" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace __gnu_cxx
609: {
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __aligned_membuf
609:     {
609: 
609: 
609: 
609: 
609: 
609:       struct _Tp2 { _Tp _M_t; };
609: 
609:       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
609: 
609:       __aligned_membuf() = default;
609: 
609: 
609:       __aligned_membuf(std::nullptr_t) { }
609: 
609:       void*
609:       _M_addr() noexcept
609:       { return static_cast<void*>(&_M_storage); }
609: 
609:       const void*
609:       _M_addr() const noexcept
609:       { return static_cast<const void*>(&_M_storage); }
609: 
609:       _Tp*
609:       _M_ptr() noexcept
609:       { return static_cast<_Tp*>(_M_addr()); }
609: 
609:       const _Tp*
609:       _M_ptr() const noexcept
609:       { return static_cast<const _Tp*>(_M_addr()); }
609:     };
609: # 89 "/usr/include/c++/12/ext/aligned_buffer.h" 3
609:   template<typename _Tp>
609:     struct __aligned_buffer
609:     : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
609:     {
609:       typename
609:  std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>::type _M_storage;
609: 
609:       __aligned_buffer() = default;
609: 
609: 
609:       __aligned_buffer(std::nullptr_t) { }
609: 
609:       void*
609:       _M_addr() noexcept
609:       {
609:         return static_cast<void*>(&_M_storage);
609:       }
609: 
609:       const void*
609:       _M_addr() const noexcept
609:       {
609:         return static_cast<const void*>(&_M_storage);
609:       }
609: 
609:       _Tp*
609:       _M_ptr() noexcept
609:       { return static_cast<_Tp*>(_M_addr()); }
609: 
609:       const _Tp*
609:       _M_ptr() const noexcept
609:       { return static_cast<const _Tp*>(_M_addr()); }
609:     };
609: 
609: 
609: }
609: # 61 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
609: # 1 "/usr/include/c++/12/ext/atomicity.h" 1 3
609: # 32 "/usr/include/c++/12/ext/atomicity.h" 3
609:        
609: # 33 "/usr/include/c++/12/ext/atomicity.h" 3
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 1 3
609: # 30 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
609: #pragma GCC visibility push(default)
609: # 148 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 1 3
609: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
609: # 1 "/usr/include/pthread.h" 1 3 4
609: # 22 "/usr/include/pthread.h" 3 4
609: # 1 "/usr/include/sched.h" 1 3 4
609: # 29 "/usr/include/sched.h" 3 4
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 30 "/usr/include/sched.h" 2 3 4
609: # 43 "/usr/include/sched.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 1 3 4
609: # 80 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 1 3 4
609: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 3 4
609: struct sched_param
609: {
609:   int sched_priority;
609: };
609: # 81 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 2 3 4
609: 
609: extern "C" {
609: 
609: 
609: 
609: extern int clone (int (*__fn) (void *__arg), void *__child_stack,
609:     int __flags, void *__arg, ...) noexcept (true);
609: 
609: 
609: extern int unshare (int __flags) noexcept (true);
609: 
609: 
609: extern int sched_getcpu (void) noexcept (true);
609: 
609: 
609: extern int getcpu (unsigned int *, unsigned int *) noexcept (true);
609: 
609: 
609: extern int setns (int __fd, int __nstype) noexcept (true);
609: 
609: 
609: }
609: # 44 "/usr/include/sched.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/cpu-set = delete;
1412: # 216 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1412:   template<typename _InputIterator, typename _Distance>
1412:     inline constexpr void
1412:     advance(_InputIterator& __i, _Distance __n)
1412:     {
1412: 
1412:       typename iterator_traits<_InputIterator>::difference_type __d = __n;
1412:       std::__advance(__i, __d, std::__iterator_category(__i));
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr _InputIterator
1412:     next(_InputIterator __x, typename
1412:   iterator_traits<_InputIterator>::difference_type __n = 1)
1412:     {
1412: 
1412:      
1412:       std::advance(__x, __n);
1412:       return __x;
1412:     }
1412: 
1412:   template<typename _BidirectionalIterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr _BidirectionalIterator
1412:     prev(_BidirectionalIterator __x, typename
1412:   iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
1412:     {
1412: 
1412:      
1412: 
1412:       std::advance(__x, -__n);
1412:       return __x;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 67 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_iterator.h" 1 3
1412: # 67 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412: # 1 "/usr/include/c++/12/bits/ptr_traits.h" 1 3
1412: # 46 "/usr/include/c++/12/bits/ptr_traits.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   class __undefined;
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __get_first_arg
1412:     { using type = __undefined; };
1412: 
1412:   template<template<typename, typename...> class _SomeTemplate, typename _Tp,
1412:            typename... _Types>
1412:     struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
1412:     { using type = _Tp; };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     struct __replace_first_arg
1412:     { };
1412: 
1412:   template<template<typename, typename...> class _SomeTemplate, typename _Up,
1412:            typename _Tp, typename... _Types>
1412:     struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
1412:     { using type = _SomeTemplate<_Up, _Types...>; };
1412: # 81 "/usr/include/c++/12/bits/ptr_traits.h" 3
1412:   template<typename _Ptr, typename = void>
1412:     struct __ptr_traits_elem : __get_first_arg<_Ptr>
1412:     { };
1412: 
1412: 
1412:   template<typename _Ptr>
1412:     struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
1412:     { using type = typename _Ptr::element_type; };
1412: 
1412:   template<typename _Ptr>
1412:     using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
1412: 
1412: 
1412: 
1412:   template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
1412:     struct __ptr_traits_ptr_to
1412:     {
1412:       using pointer = _Ptr;
1412:       using element_type = _Elt;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       static pointer
1412:       pointer_to(element_type& __e)
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       { return pointer::pointer_to(__e); }
1412:     };
1412: 
1412: 
1412:   template<typename _Ptr, typename _Elt>
1412:     struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
1412:     {
1412:       using pointer = _Tp*;
1412:       using element_type = _Tp;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       static pointer
1412:       pointer_to(element_type& __r) noexcept
1412:       { return std::addressof(__r); }
1412:     };
1412: 
1412:   template<typename _Ptr, typename _Elt>
1412:     struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
1412:     {
1412:     private:
1412:       template<typename _Tp, typename = void>
1412:  struct __difference { using type = ptrdiff_t; };
1412: 
1412:       template<typename _Tp>
1412: 
1412: 
1412: 
1412: 
1412:  struct __difference<_Tp, __void_t<typename _Tp::difference_typ.h" 1 3 4
609: # 32 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
609: typedef unsigned long int __cpu_mask;
609: 
609: 
609: 
609: 
609: 
609: 
609: typedef struct
609: {
609:   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
609: } cpu_set_t;
609: # 115 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
609: extern "C" {
609: 
609: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
609:      noexcept (true);
609: extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) __attribute__ ((__warn_unused_result__));
609: extern void __sched_cpufree (cpu_set_t *__set) noexcept (true);
609: 
609: }
609: # 45 "/usr/include/sched.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C" {
609: 
609: 
609: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
609:      noexcept (true);
609: 
609: 
609: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true);
609: 
609: 
609: extern int sched_setscheduler (__pid_t __pid, int __policy,
609:           const struct sched_param *__param) noexcept (true);
609: 
609: 
609: extern int sched_getscheduler (__pid_t __pid) noexcept (true);
609: 
609: 
609: extern int sched_yield (void) noexcept (true);
609: 
609: 
609: extern int sched_get_priority_max (int __algorithm) noexcept (true);
609: 
609: 
609: extern int sched_get_priority_min (int __algorithm) noexcept (true);
609: 
609: 
609: 
609: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true);
609: # 130 "/usr/include/sched.h" 3 4
609: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
609:          const cpu_set_t *__cpuset) noexcept (true);
609: 
609: 
609: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
609:          cpu_set_t *__cpuset) noexcept (true);
609: 
609: 
609: }
609: # 23 "/usr/include/pthread.h" 2 3 4
609: # 1 "/usr/include/time.h" 1 3 4
609: # 29 "/usr/include/time.h" 3 4
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 30 "/usr/include/time.h" 2 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/time.h" 1 3 4
609: # 73 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 1 3 4
609: # 26 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
609: struct timex
609: {
609: # 58 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
609:   unsigned int modes;
609:   __syscall_slong_t offset;
609:   __syscall_slong_t freq;
609:   __syscall_slong_t maxerror;
609:   __syscall_slong_t esterror;
609:   int status;
609:   __syscall_slong_t constant;
609:   __syscall_slong_t precision;
609:   __syscall_slong_t tolerance;
609:   struct timeval time;
609:   __syscall_slong_t tick;
609:   __syscall_slong_t ppsfreq;
609:   __syscall_slong_t jitter;
609:   int shift;
609:   __syscall_slong_t stabil;
609:   __syscall_slong_t jitcnt;
609:   __syscall_slong_t calcnt;
609:   __syscall_slong_t errcnt;
609:   __syscall_slong_t stbcnt;
609: 
609:   int tai;
609: 
609: 
609:   int :32; int :32; int :32; int :32;
609:   int :32; int :32; int :32; int :32;
609:   int :32; int :32; int :32;
609: 
609: };
609: # 74 "/usr/include/arm-linux-gnueabihf/bits/time.h" 2 3 4
609: 
609: extern "C" {
609: 
609: 
609: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2)));
609: # 90 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
609: }
609: # 34 "/usr/include/time.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_tm.h" 1 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: struct tm
609: {
609:   int tm_sec;
609:   int tm_min;
609:   int tm_hour;
609:   int tm_mday;
609:   int tm_mon;
609:   int tm_year;
609:   int tm_wday;
609:   int tm_yday;
609:   int tm_isdst;
609: 
609: 
609:   long int tm_gmtoff;
609:   const char *tm_zone;
609: 
609: 
609: 
609: 
609: };
609: # 40 "/usr/include/time.h" 2 3 4
609: # 48 "/usr/include/time.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/         ;
1115: }
1115: 
1115: 
1115: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscpy")
1115: 
1115:                                               ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1115: {
1115:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1115:   if (sz != (size_t) -1)
1115:     return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t));
1115:   return __wcscpy_alias (__dest, __src);
1115: }
1115: 
1115: 
1115: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcpcpy")
1115: 
1115:                                               ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1115: {
1115:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1115:   if (sz != (size_t) -1)
1115:     return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t));
1115:   return __wcpcpy_alias (__dest, __src);
1115: }
1115: 
1115: 
1115: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncpy")
1115: 
1115: 
1115:                           ;
1115: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcsncpy_chk")
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer")))
1115:             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcsncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcsncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcsncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1115: 
1115:                           ;
1115: }
1115: 
1115: 
1115: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcpncpy")
1115: 
1115: 
1115:                           ;
1115: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcpncpy_chk")
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer")))
1115:             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept e>>
1412: 
1412:  { using type = typename _Tp::difference_type; };
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __rebind : __replace_first_arg<_Tp, _Up> { };
1412: 
1412:       template<typename _Tp, typename _Up>
1412: 
1412: 
1412: 
1412: 
1412:  struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>>
1412: 
1412:  { using type = typename _Tp::template rebind<_Up>; };
1412: 
1412:     public:
1412: 
1412:       using pointer = _Ptr;
1412: 
1412: 
1412:       using element_type = _Elt;
1412: 
1412: 
1412:       using difference_type = typename __difference<_Ptr>::type;
1412: 
1412: 
1412:       template<typename _Up>
1412:         using rebind = typename __rebind<_Ptr, _Up>::type;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Ptr>
1412:     struct __ptr_traits_impl<_Ptr, __undefined>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Ptr>
1412:     struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
1412:     { };
1412: # 209 "/usr/include/c++/12/bits/ptr_traits.h" 3
1412:   template<typename _Tp>
1412:     struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
1412:     {
1412: 
1412:       typedef _Tp* pointer;
1412: 
1412:       typedef _Tp element_type;
1412: 
1412:       typedef ptrdiff_t difference_type;
1412: 
1412:       template<typename _Up> using rebind = _Up*;
1412:     };
1412: 
1412: 
1412:   template<typename _Ptr, typename _Tp>
1412:     using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
1412: 
1412:   template<typename _Tp>
1412:     constexpr _Tp*
1412:     __to_address(_Tp* __ptr) noexcept
1412:     {
1412:       static_assert(!std::is_function<_Tp>::value, "not a function pointer");
1412:       return __ptr;
1412:     }
1412: 
1412: 
1412:   template<typename _Ptr>
1412:     constexpr typename std::pointer_traits<_Ptr>::element_type*
1412:     __to_address(const _Ptr& __ptr)
1412:     { return std::__to_address(__ptr.operator->()); }
1412: # 282 "/usr/include/c++/12/bits/ptr_traits.h" 3
1412: 
1412: }
1412: # 68 "/usr/include/c++/12/bits/stl_iterator.h" 2 3
1412: # 88 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 109 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: # 131 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Iterator>
1412:     class reverse_iterator
1412:     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
1412:         typename iterator_traits<_Iterator>::value_type,
1412:         typename iterator_traits<_Iterator>::difference_type,
1412:         typename iterator_traits<_Iterator>::pointer,
1412:                       typename iterator_traits<_Iterator>::reference>
1412:     {
1412:       template<typename _Iter>
1412:  friend class reverse_iterator;
1412: # 150 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:     protected:
1412:       _Iterator current;
1412: 
1412:       typedef iterator_traits<_Iterator> __traits_type;
1412: 
1412:     public:
1412:       typedef _Iterator iterator_type;
1412:       typedef typename __traits_type::pointer pointer;
1412: 
1412:       typedef typename __traits_type::difference_type difference_type;
1412:       typedef typename __traits_type::reference reference;
1412: # 181 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:       constexpr
1412:       reverse_iterator()
1412:       noexcept(noexcept(_Iterator()))
1412:       : current()
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412:       explicit constexpr
1412:       reverse_iterator(iterator_type __x)
1412:       noexcept(noexcept(_Iterator(__x)))
1412:       : current(__x)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412:       constexpr
1412:       reverse_iterator(const reverse_iterator& __x)
1412:       noexcept(noexcept(_Iterator(__x.current)))
1412:       : current(__x.current)
1412:       { }
1412: 
1411417: 
1417: 
1417:       enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
1417:     };
1417: 
1417:   template<typename _Value>
1417:     struct __numeric_traits_integer
1417:     {
1417: 
1417:       static_assert(__is_integer_nonstrict<_Value>::__value,
1417:       "invalid specialization");
1417: 
1417: 
1417: 
1417: 
1417:       static const bool __is_signed = (_Value)(-1) < 0;
1417:       static const int __digits
1417:  = __is_integer_nonstrict<_Value>::__width - __is_signed;
1417: 
1417: 
1417:       static const _Value __max = __is_signed
1417:  ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
1417:  : ~(_Value)0;
1417:       static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
1417:     };
1417: 
1417:   template<typename _Value>
1417:     const _Value __numeric_traits_integer<_Value>::__min;
1417: 
1417:   template<typename _Value>
1417:     const _Value __numeric_traits_integer<_Value>::__max;
1417: 
1417:   template<typename _Value>
1417:     const bool __numeric_traits_integer<_Value>::__is_signed;
1417: 
1417:   template<typename _Value>
1417:     const int __numeric_traits_integer<_Value>::__digits;
1417: # 137 "/usr/include/c++/12/ext/numeric_traits.h" 3
1417:   template<typename _Tp>
1417:     using __int_traits = __numeric_traits_integer<_Tp>;
1417: # 157 "/usr/include/c++/12/ext/numeric_traits.h" 3
1417:   template<typename _Value>
1417:     struct __numeric_traits_floating
1417:     {
1417: 
1417:       static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136);
1417: 
1417: 
1417:       static const bool __is_signed = true;
1417:       static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15);
1417:       static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308);
1417:     };
1417: 
1417:   template<typename _Value>
1417:     const int __numeric_traits_floating<_Value>::__max_digits10;
1417: 
1417:   template<typename _Value>
1417:     const bool __numeric_traits_floating<_Value>::__is_signed;
1417: 
1417:   template<typename _Value>
1417:     const int __numeric_traits_floating<_Value>::__digits10;
1417: 
1417:   template<typename _Value>
1417:     const int __numeric_traits_floating<_Value>::__max_exponent10;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Value>
1417:     struct __numeric_traits
1417:     : public __numeric_traits_integer<_Value>
1417:     { };
1417: 
1417:   template<>
1417:     struct __numeric_traits<float>
1417:     : public __numeric_traits_floating<float>
1417:     { };
1417: 
1417:   template<>
1417:     struct __numeric_traits<double>
1417:     : public __numeric_traits_floating<double>
1417:     { };
1417: 
1417:   template<>
1417:     struct __numeric_traits<long double>
1417:     : public __numeric_traits_floating<long double>
1417:     { };
1417: # 238 "/usr/include/c++/12/ext/numeric_traits.h" 3
1417: 
1417: }
1417: # 64 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_pair.h" 1 3
1417: # 60 "/usr/include/c++/12/bits/stl_pair.h" 3
1417: # 1 "/usr/include/c++/12/type_traits" 1 3
1417: # 32 "/usr/include/c++/12/type_traits" 3
1417:        
1417: # 33 "/usr/include/c++/12/type_traits" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _Tp>
1417:     class reference_wrapper;
1417: # 61 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Tp, _Tp __v>
1417:     struct integral_constant
1417:     {
1417:       static constexpr _Tp value = __v;
1417:       typedef _Tp value_type;
1417:       typedef integral_constant<_Tp, __v> type;
1417:       constexpr operator value_type() const noexcept { return value; }
1417: 
1417: 
1417: 
1417: 
1417:       constexpr value_type operator()() const noexcept { return value; }
1417: 
1417:     };
1417: struct_itimerspec.h" 1 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: struct itimerspec
609:   {
609:     struct timespec it_interval;
609:     struct timespec it_value;
609:   };
609: # 49 "/usr/include/time.h" 2 3 4
609: struct sigevent;
609: # 68 "/usr/include/time.h" 3 4
609: extern "C" {
609: 
609: 
609: 
609: extern clock_t clock (void) noexcept (true);
609: 
609: 
609: 
609: extern time_t time (time_t *__timer) noexcept (true);
609: 
609: 
609: extern double difftime (time_t __time1, time_t __time0)
609:      noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern time_t mktime (struct tm *__tp) noexcept (true);
609: # 100 "/usr/include/time.h" 3 4
609: extern size_t strftime (char *__restrict __s, size_t __maxsize,
609:    const char *__restrict __format,
609:    const struct tm *__restrict __tp) noexcept (true);
609: 
609: 
609: 
609: 
609: extern char *strptime (const char *__restrict __s,
609:          const char *__restrict __fmt, struct tm *__tp)
609:      noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
609:      const char *__restrict __format,
609:      const struct tm *__restrict __tp,
609:      locale_t __loc) noexcept (true);
609: 
609: 
609: 
609: extern char *strptime_l (const char *__restrict __s,
609:     const char *__restrict __fmt, struct tm *__tp,
609:     locale_t __loc) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern struct tm *gmtime (const time_t *__timer) noexcept (true);
609: 
609: 
609: 
609: extern struct tm *localtime (const time_t *__timer) noexcept (true);
609: # 154 "/usr/include/time.h" 3 4
609: extern struct tm *gmtime_r (const time_t *__restrict __timer,
609:        struct tm *__restrict __tp) noexcept (true);
609: 
609: 
609: 
609: extern struct tm *localtime_r (const time_t *__restrict __timer,
609:           struct tm *__restrict __tp) noexcept (true);
609: # 179 "/usr/include/time.h" 3 4
609: extern char *asctime (const struct tm *__tp) noexcept (true);
609: 
609: 
609: 
609: extern char *ctime (const time_t *__timer) noexcept (true);
609: # 197 "/usr/include/time.h" 3 4
609: extern char *asctime_r (const struct tm *__restrict __tp,
609:    char *__restrict __buf) noexcept (true);
609: 
609: 
609: 
609: extern char *ctime_r (const time_t *__restrict __timer,
609:         char *__restrict __buf) noexcept (true);
609: # 217 "/usr/include/time.h" 3 4
609: extern char *__tzname[2];
609: extern int __daylight;
609: extern long int __timezone;
609: 
609: 
609: 
609: 
609: extern char *tzname[2];
609: 
609: 
609: 
609: extern void tzset (void) noexcept (true);
609: 
609: 
609: 
609: extern int daylight;
609: extern long int timezone;
609: # 246 "/usr/include/time.h" 3 4
609: extern time_t timegm (struct tm *__tp) noexcept (true);
609: # 263 "/usr/include/time.h" 3 4
609: extern time_t timelocal (struct tm *__tp) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int dysize (int __year) noexcept (true) __attribute__ ((__const__));
609: # 281 "/usr/include/time.h" 3 4
609: extern int nanosleep (const struct timespec *__requested_time,
609:         struct timespec *__remaining);
609: 
609: 
609: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true);
609: 
609: 
609: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: # 323 "/usr/include/time.h" 3 4
609: extern int clock_nanosleep (clockid_t __clock_id, int __flags,
609:        const struct timespec *__req,
609:        struct timespec *__rem);
609: # 338 "/usr/include/time.h" 3 4
609: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true);
609: 
609: 
609: 
609: 
609: extern int timer_create (clockid_t __clock_id,
609:     struct sigevent *__restrict __evp,
609:     timer_t *__restrict __timerid) noexcept (true);
(true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcpncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcpncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcpncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1115: 
1115:                           ;
1115: }
1115: 
1115: 
1115: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscat")
1115: 
1115:                                               ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1115: {
1115:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1115:   if (sz != (size_t) -1)
1115:     return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t));
1115:   return __wcscat_alias (__dest, __src);
1115: }
1115: 
1115: 
1115: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncat")
1115: 
1115: 
1115:                           ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1115: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1115: 
1115: {
1115:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1115:   if (sz != (size_t) -1)
1115:     return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t));
1115:   return __wcsncat_alias (__dest, __src, __n);
1115: }
1115: 
1115: 
1115: 
1115: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true) __asm__ ("" "swprintf")
1115: 
1115: 
1115:              ;
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true)
1115: 
1115: {
1115:   size_t sz = __builtin_object_size (__s, 2 > 1);
1115:   if (sz != (size_t) -1 || 2 > 1)
1115:     return __swprintf_chk (__s, __n, 2 - 1,
1115:       sz / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ());
1115:   return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ());
1115: }
1115: # 230 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1115: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true) __asm__ ("" "vswprintf")
1115: 
1115: 
1115:                                      ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1115: 
1115: {
1115:   size_t sz = __builtin_object_size (__s, 2 > 1);
1115:   if (sz != (size_t) -1 || 2 > 1)
1115:     return __vswprintf_chk (__s, __n, 2 - 1,
1115:        sz / sizeof (wchar_t), __fmt, __ap);
1115:   return __vs609: 
609: 
609: extern int timer_delete (timer_t __timerid) noexcept (true);
609: 
609: 
609: 
609: extern int timer_settime (timer_t __timerid, int __flags,
609:      const struct itimerspec *__restrict __value,
609:      struct itimerspec *__restrict __ovalue) noexcept (true);
609: 
609: 
609: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
609:      noexcept (true);
609: # 376 "/usr/include/time.h" 3 4
609: extern int timer_getoverrun (timer_t __timerid) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int timespec_get (struct timespec *__ts, int __base)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 399 "/usr/include/time.h" 3 4
609: extern int timespec_getres (struct timespec *__ts, int __base)
609:      noexcept (true);
609: # 425 "/usr/include/time.h" 3 4
609: extern int getdate_err;
609: # 434 "/usr/include/time.h" 3 4
609: extern struct tm *getdate (const char *__string);
609: # 448 "/usr/include/time.h" 3 4
609: extern int getdate_r (const char *__restrict __string,
609:         struct tm *__restrict __resbufp);
609: 
609: 
609: }
609: # 24 "/usr/include/pthread.h" 2 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 1 3 4
609: # 33 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 3 4
609: typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
609: # 28 "/usr/include/pthread.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
609: # 29 "/usr/include/pthread.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 1 3 4
609: # 26 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 3 4
609: struct __jmp_buf_tag
609:   {
609: 
609: 
609: 
609: 
609:     __jmp_buf __jmpbuf;
609:     int __mask_was_saved;
609:     __sigset_t __saved_mask;
609:   };
609: # 32 "/usr/include/pthread.h" 2 3 4
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 1 3 4
609: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 3 4
609: extern "C" {
609: extern long int __sysconf (int __name) noexcept (true);
609: }
609: # 34 "/usr/include/pthread.h" 2 3 4
609: 
609: 
609: 
609: enum
609: {
609:   PTHREAD_CREATE_JOINABLE,
609: 
609:   PTHREAD_CREATE_DETACHED
609: 
609: };
609: 
609: 
609: 
609: enum
609: {
609:   PTHREAD_MUTEX_TIMED_NP,
609:   PTHREAD_MUTEX_RECURSIVE_NP,
609:   PTHREAD_MUTEX_ERRORCHECK_NP,
609:   PTHREAD_MUTEX_ADAPTIVE_NP
609: 
609:   ,
609:   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
609:   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
609:   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
609:   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
609: 
609: 
609: 
609:   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
609: 
609: };
609: 
609: 
609: 
609: 
609: enum
609: {
609:   PTHREAD_MUTEX_STALLED,
609:   PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
609:   PTHREAD_MUTEX_ROBUST,
609:   PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
609: };
609: 
609: 
609: 
609: 
609: 
609: enum
609: {
609:   PTHREAD_PRIO_NONE,
609:   PTHREAD_PRIO_INHERIT,
609:   PTHREAD_PRIO_PROTECT
609: };
609: # 104 "/usr/include/pthread.h" 3 4
609: enum
609: {
609:   PTHREAD_RWLOCK_PREFER_READER_NP,
609:   PTHREAD_RWLOCK_PREFER_WRITER_NP,
609:   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
609:   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
609: };
609: # 124 "/usr/include/pthread.h" 3 4
609: enum
609: {
609:   PTHREAD_INHERIT_SCHED,
609: 
609:   PTHREAD_EXPLICIT_SCHED
609: 
609: };
609: 
609: 
609: 
609: enum
609: {
609:   PTHREAD_SCOPE_SYSTEM,
609: 
609:   PTHREAD_SCOPE_PROCESS
609: 
609: };
609: 
609: 
609: 
609: enum
609: {
609:   PTHREAD_PROCESS_PRIVATE,
609: 
609:   PTHREAD_PROCESS_SHARED
609: 
609: };
609: # 159 "/usr/include/pthread.h" 3 4
609: struct _pthread_cleanup_buffer
609: {
609:   void (*__routine) (void *);
609:   void *__arg;
609:   int __canceltype;
609:   struct _pthread_cleanup_buffer *__prev;
609: };
609: 
609: 
609: enum
609: {
609:   PTHREAD_CANCEL_ENABLE,
609: 
6092: 
1412:       reverse_iterator& operator=(const reverse_iterator&) = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Iter>
1412: 
1412: 
1412: 
1412:  constexpr
1412:         reverse_iterator(const reverse_iterator<_Iter>& __x)
1412:  noexcept(noexcept(_Iterator(__x.current)))
1412:  : current(__x.current)
1412:  { }
1412: 
1412: 
1412:       template<typename _Iter>
1412: 
1412: 
1412: 
1412: 
1412:  constexpr
1412:  reverse_iterator&
1412:  operator=(const reverse_iterator<_Iter>& __x)
1412:  noexcept(noexcept(current = __x.current))
1412:  {
1412:    current = __x.current;
1412:    return *this;
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr iterator_type
1412:       base() const
1412:       noexcept(noexcept(_Iterator(current)))
1412:       { return current; }
1412: # 258 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:       [[__nodiscard__]]
1412:       constexpr reference
1412:       operator*() const
1412:       {
1412:  _Iterator __tmp = current;
1412:  return *--__tmp;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr pointer
1412:       operator->() const
1412: 
1412: 
1412: 
1412: 
1412:       {
1412: 
1412: 
1412:  _Iterator __tmp = current;
1412:  --__tmp;
1412:  return _S_to_pointer(__tmp);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr reverse_iterator&
1412:       operator++()
1412:       {
1412:  --current;
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr reverse_iterator
1412:       operator++(int)
1412:       {
1412:  reverse_iterator __tmp = *this;
1412:  --current;
1412:  return __tmp;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr reverse_iterator&
1412:       operator--()
1412:       {
1412:  ++current;
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr reverse_iterator
1412:       operator--(int)
1412:       {
1412:  reverse_iterator __tmp = *this;
1412:  ++current;
1412:  return __tmp;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr reverse_iterator
1412:       operator+(difference_type __n) const
1412:       { return reverse_iterator(current - __n); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr reverse_iterator&
1412:       operator+=(difference_type __n)
1412:       {
1412:  current -= __n;
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr reverse_iterator
1412:       operator-(difference_type __n) const
1412:       { return reverse_iterator(current + __n); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr reverse_iterator&
1412:       operator-=(difference_type __n)
1412:       {
1412:  current += __n;
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr reference
1412:       operator[](difference_type __n) const
1412:       { return *(*this + __n); }
1412: # 418 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:     private:
1412:       template<typename _Tp>
1412:  static constexpr _Tp*
1412:  _S_to_pointer(_Tp* __p)
1412:         { return __p; }
1412: 
1412:       template<typename _Tp>
1412:  static constexpr pointer
1412:  _S_to_pointer(_Tp __t)
1412:         { return __t.operator->(); }
1412:     };
1412: # 441 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator==(const reverse_iterator<_Iterator>& __x,
1412:         const reverse_iterator<_Iterator>& __y)
1412:     { return __x.base() == __y.base(); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator<(const reverse_iterator<_Iterator>& __x,
1412:        const reverse_iterator<_Iterator>& __y)
1412:   :   PTHREAD_CANCEL_DISABLE
609: 
609: };
609: enum
609: {
609:   PTHREAD_CANCEL_DEFERRED,
609: 
609:   PTHREAD_CANCEL_ASYNCHRONOUS
609: 
609: };
609: # 197 "/usr/include/pthread.h" 3 4
609: extern "C" {
609: 
609: 
609: 
609: 
609: extern int pthread_create (pthread_t *__restrict __newthread,
609:       const pthread_attr_t *__restrict __attr,
609:       void *(*__start_routine) (void *),
609:       void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: 
609: 
609: 
609: 
609: 
609: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_join (pthread_t __th, void **__thread_return);
609: 
609: 
609: 
609: 
609: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true);
609: # 233 "/usr/include/pthread.h" 3 4
609: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
609:      const struct timespec *__abstime);
609: # 243 "/usr/include/pthread.h" 3 4
609: extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
609:                                  clockid_t __clockid,
609:      const struct timespec *__abstime);
609: # 269 "/usr/include/pthread.h" 3 4
609: extern int pthread_detach (pthread_t __th) noexcept (true);
609: 
609: 
609: 
609: extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
609:   noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_attr_destroy (pthread_attr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
609:      int *__detachstate)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
609:      int __detachstate)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
609:           size_t *__guardsize)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
609:           size_t __guardsize)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
609:            struct sched_param *__restrict __param)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
609:            const struct sched_param *__restrict
609:            __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
609:      __attr, int *__restrict __policy)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
609:       __attr, int *__restrict __inherit)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
609:       int __inherit)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
609:       int *__restrict __scope)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: exterwprintf_alias (__s, __n, __fmt, __ap);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: wprintf (const wchar_t *__restrict __fmt, ...)
1115: {
1115:   return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
1115: {
1115:   return __fwprintf_chk (__stream, 2 - 1, __fmt,
1115:     __builtin_va_arg_pack ());
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1115: {
1115:   return __vwprintf_chk (2 - 1, __fmt, __ap);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: vfwprintf (__FILE *__restrict __stream,
1115:     const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1115: {
1115:   return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap);
1115: }
1115: 
1115: 
1115: 
1115: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws")
1115: 
1115:                                               __attribute__ ((__warn_unused_result__));
1115: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk")
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer")))
1115:                                  ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1115: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1115: {
1115:   size_t sz = __builtin_object_size (__s, 2 > 1);
1115:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1115:     return __fgetws_alias (__s, __n, __stream);
1115:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1115:     return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream);
1115:   return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1115: }
1115: 
1115: 
1115: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked")
1115: 
1115: 
1115:   __attribute__ ((__warn_unused_result__));
1115: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk")
1115: 
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer")))
1115:                                  ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1115: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1115: {
1115:   size_t sz = __builtin_object_size (__s, 2 > 1);
1115:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (_n int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
609:           __attr, void **__restrict __stackaddr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
609:           void *__stackaddr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
609: 
609: 
609: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
609:           __attr, size_t *__restrict __stacksize)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
609:           size_t __stacksize)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
609:       void **__restrict __stackaddr,
609:       size_t *__restrict __stacksize)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3)));
609: 
609: 
609: 
609: 
609: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
609:       size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
609:      size_t __cpusetsize,
609:      const cpu_set_t *__cpuset)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: 
609: 
609: 
609: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
609:      size_t __cpusetsize,
609:      cpu_set_t *__cpuset)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: 
609: 
609: extern int pthread_getattr_default_np (pthread_attr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
609:            const __sigset_t *sigmask);
609: 
609: 
609: 
609: 
609: extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
609:            __sigset_t *sigmask);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
609:       const struct sched_param *__param)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: 
609: 
609: extern int pthread_getschedparam (pthread_t __target_thread,
609:       int *__restrict __policy,
609:       struct sched_param *__restrict __param)
609:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
609: 
609: 
609: extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
609:      noexcept (true);
609: 
609: 
609: 
609: 
609: extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
609:           size_t __buflen)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_getconcurrency (void) noexcept (true);
609: 
609: 
609: extern int pthread_setconcurrency (int __level) noexcept (true);
609: 
609: 
609: 
609: extern int pthread_yield (void) noexcept (true);
609: 
609: extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield")
609:   __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead")))
609:                                                       ;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
609:        const cpu_set_t *__cpuset)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));  { return __y.base() < __x.base(); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator!=(const reverse_iterator<_Iterator>& __x,
1412:         const reverse_iterator<_Iterator>& __y)
1412:     { return !(__x == __y); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>(const reverse_iterator<_Iterator>& __x,
1412:        const reverse_iterator<_Iterator>& __y)
1412:     { return __y < __x; }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator<=(const reverse_iterator<_Iterator>& __x,
1412:         const reverse_iterator<_Iterator>& __y)
1412:     { return !(__y < __x); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>=(const reverse_iterator<_Iterator>& __x,
1412:         const reverse_iterator<_Iterator>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator==(const reverse_iterator<_IteratorL>& __x,
1412:         const reverse_iterator<_IteratorR>& __y)
1412:     { return __x.base() == __y.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator<(const reverse_iterator<_IteratorL>& __x,
1412:        const reverse_iterator<_IteratorR>& __y)
1412:     { return __x.base() > __y.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator!=(const reverse_iterator<_IteratorL>& __x,
1412:         const reverse_iterator<_IteratorR>& __y)
1412:     { return __x.base() != __y.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>(const reverse_iterator<_IteratorL>& __x,
1412:        const reverse_iterator<_IteratorR>& __y)
1412:     { return __x.base() < __y.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     inline constexpr bool
1412:     operator<=(const reverse_iterator<_IteratorL>& __x,
1412:         const reverse_iterator<_IteratorR>& __y)
1412:     { return __x.base() >= __y.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>=(const reverse_iterator<_IteratorL>& __x,
1412:         const reverse_iterator<_IteratorR>& __y)
1412:     { return __x.base() <= __y.base(); }
1412: # 618 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     operator-(const reverse_iterator<_IteratorL>& __x,
1412:        const reverse_iterator<_IteratorR>& __y)
1412:     -> decltype(__y.base() - __x.base())
1412:     { return __y.base() - __x.base(); }
1412: 
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr reverse_iterator<_Iterator>
1412:     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
1412:        const reverse_iterator<_Iterator>& __x)
1412:     { return reverse_iterator<_Iterator>(__x.base() - __n); }
1412: 
1412: 
1412: 
1412:   template<typename _Iterator>
1412:     inline constexpr reverse_iterator<_Iterator>
1412:     __make_reverse_iterator(_Iterator __i)
1412:     { return reverse_iterator<_Iterator>(__i); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr reverse_iterator<_Iterator>
1412:     make_reverse_iterator(_Iterator __i)
1412:     { return reverse_iterator<_Iterator>(__i); }
1412: # 662 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Iterator>
1412:    
1412:     a_n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1115:     return __fgetws_unlocked_alias (__s, __n, __stream);
1115:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1115:     return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n,
1115:            __stream);
1115:   return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1115: }
1115: 
1115: 
1115: 
1115: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcrtomb")
1115: 
1115:                                                 __attribute__ ((__warn_unused_result__));
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1115: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true)
1115: 
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1115:       && 16 > __builtin_object_size (__s, 2 > 1))
1115:     return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1));
1115:   return __wcrtomb_alias (__s, __wchar, __ps);
1115: }
1115: 
1115: 
1115: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsrtowcs")
1115: 
1115: 
1115: 
1115:                    ;
1115: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsrtowcs_chk")
1115: 
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1115:                         ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1115: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsrtowcs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsrtowcs_chk (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1115: 
1115:                                  ;
1115: }
1115: 
1115: 
1115: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsrtombs")
1115: 
1115: 
1115: 
1115:                    ;
1115: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsrtombs_chk")
1115: 
1115: 
1115: 
1115: 
1115:     __attribute__((
609: 
609: 
609: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
609:        cpu_set_t *__cpuset)
609:      noexcept (true) __attribute__ ((__nonnull__ (3)));
609: # 509 "/usr/include/pthread.h" 3 4
609: extern int pthread_once (pthread_once_t *__once_control,
609:     void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
609: # 521 "/usr/include/pthread.h" 3 4
609: extern int pthread_setcancelstate (int __state, int *__oldstate);
609: 
609: 
609: 
609: extern int pthread_setcanceltype (int __type, int *__oldtype);
609: 
609: 
609: extern int pthread_cancel (pthread_t __th);
609: 
609: 
609: 
609: 
609: extern void pthread_testcancel (void);
609: 
609: 
609: 
609: 
609: struct __cancel_jmp_buf_tag
609: {
609:   __jmp_buf __cancel_jmp_buf;
609:   int __mask_was_saved;
609: };
609: 
609: typedef struct
609: {
609:   struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
609:   void *__pad[4];
609: } __pthread_unwind_buf_t __attribute__ ((__aligned__));
609: # 557 "/usr/include/pthread.h" 3 4
609: struct __pthread_cleanup_frame
609: {
609:   void (*__cancel_routine) (void *);
609:   void *__cancel_arg;
609:   int __do_it;
609:   int __cancel_type;
609: };
609: 
609: 
609: 
609: 
609: class __pthread_cleanup_class
609: {
609:   void (*__cancel_routine) (void *);
609:   void *__cancel_arg;
609:   int __do_it;
609:   int __cancel_type;
609: 
609:  public:
609:   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
609:     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
609:   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
609:   void __setdoit (int __newval) { __do_it = __newval; }
609:   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
609:         &__cancel_type); }
609:   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
609: };
609: # 766 "/usr/include/pthread.h" 3 4
609: extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp")
609: 
609: 
609:                      __attribute__ ((__returns_twice__));
609: # 781 "/usr/include/pthread.h" 3 4
609: extern int pthread_mutex_init (pthread_mutex_t *__mutex,
609:           const pthread_mutexattr_t *__mutexattr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
609:         const struct timespec *__restrict
609:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: # 817 "/usr/include/pthread.h" 3 4
609: extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
609:         clockid_t __clockid,
609:         const struct timespec *__restrict
609:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: # 835 "/usr/include/pthread.h" 3 4
609: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
609:       __restrict __mutex,
609:       int *__restrict __prioceiling)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
609:       int __prioceiling,
609:       int *__restrict __old_ceiling)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: 
609: 
609: 
609: 
609: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent")
609:                                 __attribute__ ((__nonnull__ (1)))
609:   __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent")))
609:                                                                          ;
609: # 874 "/usr/include/pthread.h" 3 4
609: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
609:       __restrict __attr,
609:       int *__restrict __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
609:       int __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
609:           __attr, int *__restrict __kind)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
609:        __restrict __attr,
609:        int *__restrict __protocol)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
609:        int __protocol)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
609:           __restrict __attr,
609:           int *__restrict __prioceiling)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
609:           int __prioceiling)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
609:      int *__robustness)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust")
609: 
609:                                    __attribute__ ((__nonnull__ (1)))
609:   __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust")))
609:                                                                                ;
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
609:      int __robustness)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust")
609: 
609:                                    __attribute__ ((__nonnull__ (1)))
609:   __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust")))
609:                                                                                ;
609: # 967 "/usr/include/pthread.h" 3 4
609: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
609:     const pthread_rwlockattr_t *__restrict
609:     __attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_rwlock_tryrdlock (uto
1412:     __niter_base(reverse_iterator<_Iterator> __it)
1412:     -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
1412:     { return __make_reverse_iterator(__niter_base(__it.base())); }
1412: 
1412:   template<typename _Iterator>
1412:     struct __is_move_iterator<reverse_iterator<_Iterator> >
1412:       : __is_move_iterator<_Iterator>
1412:     { };
1412: 
1412:   template<typename _Iterator>
1412:    
1412:     auto
1412:     __miter_base(reverse_iterator<_Iterator> __it)
1412:     -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
1412:     { return __make_reverse_iterator(__miter_base(__it.base())); }
1412: # 693 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Container>
1412:     class back_insert_iterator
1412:     : public iterator<output_iterator_tag, void, void, void, void>
1412:     {
1412:     protected:
1412:       _Container* container;
1412: 
1412:     public:
1412: 
1412:       typedef _Container container_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       back_insert_iterator(_Container& __x)
1412:       : container(std::__addressof(__x)) { }
1412: # 731 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:      
1412:       back_insert_iterator&
1412:       operator=(const typename _Container::value_type& __value)
1412:       {
1412:  container->push_back(__value);
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       back_insert_iterator&
1412:       operator=(typename _Container::value_type&& __value)
1412:       {
1412:  container->push_back(std::move(__value));
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       back_insert_iterator&
1412:       operator*()
1412:       { return *this; }
1412: 
1412: 
1412:      
1412:       back_insert_iterator&
1412:       operator++()
1412:       { return *this; }
1412: 
1412: 
1412:      
1412:       back_insert_iterator
1412:       operator++(int)
1412:       { return *this; }
1412:     };
1412: # 778 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline back_insert_iterator<_Container>
1412:     back_inserter(_Container& __x)
1412:     { return back_insert_iterator<_Container>(__x); }
1412: # 794 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Container>
1412:     class front_insert_iterator
1412:     : public iterator<output_iterator_tag, void, void, void, void>
1412:     {
1412:     protected:
1412:       _Container* container;
1412: 
1412:     public:
1412: 
1412:       typedef _Container container_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       front_insert_iterator(_Container& __x)
1412:       : container(std::__addressof(__x)) { }
1412: # 832 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:      
1412:       front_insert_iterator&
1412:       operator=(const typename _Container::value_type& __value)
1412:       {
1412:  container->push_front(__value);
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       front_insert_iterator&
1412:       operator=(typename _Container::value_type&& __value)
1412:       {
1412:  container->push_front(std::move(__value));
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       front_insert_iterator&
1412:       operator*()
1412:       { return *this; }
1412: 
1412: 
1412:      
1412:       front_insert_iterator&
1412:       operator++()
1412:       { return *this; }
1412: 
1412: 
1412:      
1412:       front_insert_iterator
1412:       operator++(int)
1412:       { return *this; }
1412:     };
1412: # 879 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline front_insert_iterator<_Container>
1412:     front_inserter(_Container& __x)
1412:     { return front_insert_iterator<_Container>(__x); }
1412: # 899 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Container>
1412:     class insert_iterator
1412:     : public iterator<__warning__ ("wcsrtombs called with dst buffer smaller than len")));
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1115: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsrtombs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1115: 
1115:                                ;
1115: }
1115: 
1115: 
1115: 
1115: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsnrtowcs")
1115: 
1115: 
1115: 
1115:                     ;
1115: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsnrtowcs_chk")
1115: 
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1115:                         ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1115: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1115: 
1115:                                         ;
1115: }
1115: 
1115: 
1115: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsnrtombs")
1115: 
1115: 
1115: 
1115:                                                   ;
1115: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsnrtombs_chk")
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     pthread_rwlock_t *__rwlock)
609:   noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
609:            const struct timespec *__restrict
609:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: # 1004 "/usr/include/pthread.h" 3 4
609: extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
609:            clockid_t __clockid,
609:            const struct timespec *__restrict
609:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: # 1023 "/usr/include/pthread.h" 3 4
609: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
609:            const struct timespec *__restrict
609:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: # 1051 "/usr/include/pthread.h" 3 4
609: extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
609:            clockid_t __clockid,
609:            const struct timespec *__restrict
609:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
609: # 1071 "/usr/include/pthread.h" 3 4
609: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
609:        __restrict __attr,
609:        int *__restrict __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
609:        int __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
609:        __restrict __attr,
609:        int *__restrict __pref)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
609:        int __pref) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
609:          const pthread_condattr_t *__restrict __cond_attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_cond_destroy (pthread_cond_t *__cond)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_cond_signal (pthread_cond_t *__cond)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_cond_broadcast (pthread_cond_t *__cond)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
609:          pthread_mutex_t *__restrict __mutex)
609:      __attribute__ ((__nonnull__ (1, 2)));
609: # 1145 "/usr/include/pthread.h" 3 4
609: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
609:        pthread_mutex_t *__restrict __mutex,
609:        const struct timespec *__restrict __abstime)
609:      __attribute__ ((__nonnull__ (1, 2, 3)));
609: # 1171 "/usr/include/pthread.h" 3 4
609: extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
609:        pthread_mutex_t *__restrict __mutex,
609:        __clockid_t __clock_id,
609:        const struct timespec *__restrict __abstime)output_iterator_tag, void, void, void, void>
1412:     {
1412: 
1412: 
1412: 
1412:       typedef typename _Container::iterator _Iter;
1412: 
1412:     protected:
1412:       _Container* container;
1412:       _Iter iter;
1412: 
1412:     public:
1412: 
1412:       typedef _Container container_type;
1412: # 924 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:      
1412:       insert_iterator(_Container& __x, _Iter __i)
1412:       : container(std::__addressof(__x)), iter(__i) {}
1412: # 960 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:      
1412:       insert_iterator&
1412:       operator=(const typename _Container::value_type& __value)
1412:       {
1412:  iter = container->insert(iter, __value);
1412:  ++iter;
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       insert_iterator&
1412:       operator=(typename _Container::value_type&& __value)
1412:       {
1412:  iter = container->insert(iter, std::move(__value));
1412:  ++iter;
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       insert_iterator&
1412:       operator*()
1412:       { return *this; }
1412: 
1412: 
1412:      
1412:       insert_iterator&
1412:       operator++()
1412:       { return *this; }
1412: 
1412: 
1412:      
1412:       insert_iterator&
1412:       operator++(int)
1412:       { return *this; }
1412:     };
1412: 
1412: #pragma GCC diagnostic pop
1412: # 1019 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline insert_iterator<_Container>
1412:     inserter(_Container& __x, typename _Container::iterator __i)
1412:     { return insert_iterator<_Container>(__x, __i); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 1042 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Iterator, typename _Container>
1412:     class __normal_iterator
1412:     {
1412:     protected:
1412:       _Iterator _M_current;
1412: 
1412:       typedef std::iterator_traits<_Iterator> __traits_type;
1412: 
1412: 
1412:       template<typename _Iter>
1412:  using __convertible_from
1412:    = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
1412: 
1412: 
1412:     public:
1412:       typedef _Iterator iterator_type;
1412:       typedef typename __traits_type::iterator_category iterator_category;
1412:       typedef typename __traits_type::value_type value_type;
1412:       typedef typename __traits_type::difference_type difference_type;
1412:       typedef typename __traits_type::reference reference;
1412:       typedef typename __traits_type::pointer pointer;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr __normal_iterator() noexcept
1412:       : _M_current(_Iterator()) { }
1412: 
1412:       explicit
1412:       __normal_iterator(const _Iterator& __i) noexcept
1412:       : _M_current(__i) { }
1412: 
1412: 
1412: 
1412:       template<typename _Iter, typename = __convertible_from<_Iter>>
1412: 
1412:  __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
1412:  noexcept
1412: # 1090 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:         : _M_current(__i.base()) { }
1412: 
1412: 
1412:      
1412:       reference
1412:       operator*() const noexcept
1412:       { return *_M_current; }
1412: 
1412:      
1412:       pointer
1412:       operator->() const noexcept
1412:       { return _M_current; }
1412: 
1412:      
1412:       __normal_iterator&
1412:       operator++() noexcept
1412:       {
1412:  ++_M_current;
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       __normal_iterator
1412:       operator++(int) noexcept
1412:       { return __normal_iterator(_M_current++); }
1412: 
1412: 
1412:      
1412:       __normal_iterator&
1412:       operator--() noexcept
1412:       {
1412:  --_M_current;
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       __normal_iterator
1412:       operator--(int) noexcept
1412:       { return __normal_iterator(_M_curren
609:      __attribute__ ((__nonnull__ (1, 2, 4)));
609: # 1194 "/usr/include/pthread.h" 3 4
609: extern int pthread_condattr_init (pthread_condattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_condattr_getpshared (const pthread_condattr_t *
609:      __restrict __attr,
609:      int *__restrict __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
609:      int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_condattr_getclock (const pthread_condattr_t *
609:           __restrict __attr,
609:           __clockid_t *__restrict __clock_id)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
609:           __clockid_t __clock_id)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 1230 "/usr/include/pthread.h" 3 4
609: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_spin_lock (pthread_spinlock_t *__lock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
609:      const pthread_barrierattr_t *__restrict
609:      __attr, unsigned int __count)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
609:         __restrict __attr,
609:         int *__restrict __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
609:         int __pshared)
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: # 1297 "/usr/include/pthread.h" 3 4
609: extern int pthread_key_create (pthread_key_t *__key,
609:           void (*__destr_function) (void *))
609:      noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int pthread_key_delete (pthread_key_t __key) noexcept (true);
609: 
609: 
609: extern void *pthread_getspecific (pthread_key_t __key) noexcept (true);
609: 
609: 
609: extern int pthread_setspecific (pthread_key_t __key,
609:     const void *__pointer)
609:   noexcept (true) __attribute__ ((__access__ (__none__, 2)));
609: 
609: 
609: 
609: 
609: extern int pthread_getcpuclockid (pthread_t __thread_id,
609:       __clockid_t *__clock_id)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: # 1332 "/usr/include/pthread.h" 3 4
609: extern int pthread_atfork (void (*__prepare) (void),
609:       void (*__parent) (void),
609:       void (*__child) (void)) noexcept (true);
609: 
609: 
609: 
609: 
609: extern __inline __attribute__ ((__gnu_inline__)) int
609: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) noexcept (true)
609: {
609:   return __thread1 == __thread2;
609: }
609: 
609: 
609: }
609: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 2 3
609: # 47 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
609: typedef pthread_t __gthread_t;
609: typedef pthread_key_t __gthread_key_t;
609: typedef pthread_once_t __gthread_once_t;
609: typedef pthread_mutex_t __gthread_mutex_t;
609: typedef pthread_mutex_t __gthread_recursive_mutex_t;
609: typedef pthread_cond_t __gthread_cond_t;
609: typedef struct timespec __gthread_time_t;
609: # 102 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: # 299 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
609: static inline int
609: __gthread_active_p (void)
609: {
609:   return 1;
609: }
609: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
609: static inline int
609: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
609:     void *__args)
609: {
609:   return pthread_create (__threadid, __null, __func, __args);
609: }
609: 
609: static inline int
609: __gthread_join (__gthread_t __threadid, void **__value_ptr)
609: {
609:   return pthread_join (__threadid, __value_ptr);
609: }
609: 
609: static inline int
609: __gthread_detach (__gthread_t __threadid)
609: {
609:   return pthread_detach (__threadid);
609: }
609: 
609: static inline int
609: __gthread_equal (__gthread_t __t1, __gthread_t __t2)
609: {
609:   return pthread_equal (__t1, __t2);
609: }
609: 
609: static inline __gthread_t
609: __gthread_self (void)
609: {
609:   return pthread_self ();
609: }
609: 
609: static inline int
609: __gthread_yield (void)
609: {
609:   return sched_yield ();
609: }
609: 
609: static inline int
609: __gthread_once (__gthread_once_t *__once, void (*__func) (void))
609: {
609:   if (__gthread_active_p ())
609:     return pthread_once (__once, __func);
609:   else
609:     return -1;
609: }
609: 
609: static inline int
609: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
609: {
609:   return pthread_key_create (__key, __dtor);
609: }
609: 
609: static inline int
609: __gthread_key_delete (__gthread_key_t __key)
609: {
609:   return pthread_key_delete (__key);
609: }
609: 
609: static inline void *
609: __gthread_getspecific (__gthread_key_t __key)
609: {
609:   return pthread_getspecific (__key);
609: }
609: 
609: static inline int
609: __gthread_setspecific (__gthread_key_t __key, const void *__ptr)
609: {
609:   return pthread_setspecific (__key, __ptr);
609: }
609: 
609: static inline void
609: __gthread_mutex_init_function (__gthread_mutex_t *__mutex)
609: {
609:   if (__gthread_active_p ())
609:     pthread_mutex_init (__mutex, __null);
609: }
609: 
609: static inline int
609: __gthread_mutex_destroy (__gthread_mutex_t *__mutex)
609: {
609:   if (__gthread_active_p ())
609:     return pthread_mutex_destroy (__mutex);
609:   else
609:     return 0;
609: }
609: 
609: static inline int
609: __gthread_mutex_lock (__gthread_mutex_t *__mutex)
609: {
609:   if (__gthread_active_p ())
609:     return pthread_mutex_lock (__mutex);
609:   else
609:     return 0;
609: }
609: 
609: static inline int
609: __gthread_mutex_trylock (__gthread_mutex_t *__mutex)
609: {
609:   if (__gthread_active_p ())
609:     return pthread_mutex_trylock (__mutex);
609:   else
609:     return 0;
609: }
609: 
609: 
609: static inline int
609: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
609:       const __gthread_time_t *__abs_timeout)
609: {
609:   if (__gthread_active_p ())
609:     return pthread_mutex_timedlock (__mutex, __abs_timeout);
609:   else
609:     return 0;
609: }
609: 
609: 
609: static inline int
609: __gthread_mutex_unlock (__g __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len")));
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1115: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1115: 
1115:                                       ;
1115: }
1115: # 880 "/usr/include/wchar.h" 2 3 4
1115: 
1115: 
1115: }
1115: # 45 "/usr/include/c++/12/cwchar" 2 3
1115: # 62 "/usr/include/c++/12/cwchar" 3
1115: namespace std
1115: {
1115:   using ::mbstate_t;
1115: }
1115: # 135 "/usr/include/c++/12/cwchar" 3
1115: extern "C++"
1115: {
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   using ::wint_t;
1115: 
1115:   using ::btowc;
1115:   using ::fgetwc;
1115:   using ::fgetws;
1115:   using ::fputwc;
1115:   using ::fputws;
1115:   using ::fwide;
1115:   using ::fwprintf;
1115:   using ::fwscanf;
1115:   using ::getwc;
1115:   using ::getwchar;
1115:   using ::mbrlen;
1115:   using ::mbrtowc;
1115:   using ::mbsinit;
1115:   using ::mbsrtowcs;
1115:   using ::putwc;
1115:   using ::putwchar;
1115: 
1115:   using ::swprintf;
1115: 
1115:   using ::swscanf;
1115:   using ::ungetwc;
1115:   using ::vfwprintf;
1115: 
1115:   using ::vfwscanf;
1115: 
1115: 
1115:   using ::vswprintf;
1115: 
1115: 
1115:   using ::vswscanf;
1115: 
1115:   using ::vwprintf;
1115: 
1115:   using ::vwscanf;
1115: 
1115:   using ::wcrtomb;
1115:   using ::wcscat;
1115:   using ::wcscmp;
1115:   using ::wcscoll;
1115:   using ::wcscpy;
1115:   using ::wcscspn;
1115:   using ::wcsftime;
1115:   using ::wcslen;
1115:   using ::wcsncat;
1115:   using ::wcsncmp;
1115:   using ::wcsncpy;
1115:   using ::wcsrtombs;
1115:   using ::wcsspn;
1115:   using ::wcstod;
1115: 
1115:   using ::wcstof;
1115: 
1115:   using ::wcstok;
1115:   using ::wcstol;
1115:   using ::wcstoul;
1115:   using ::wcsxfrm;
1115:   using ::wctob;
1115:   using ::wmemcmp;
1115:   using ::wmemcpy;
1115:   using ::wmemmove;
1115:   using ::wmemset;
1115:   using ::wprintf;
1115:   using ::wscanf;
1115:   using ::wcschr;
1115:   using ::wcspbrk;
1115:   using ::wcsrchr;
1115:   using ::wcsstr;
1115:   using ::wmemchr;
1115: # 234 "/usr/include/c++/12/cwchar" 3
1115: 
1115: }
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace __gnu_cxx
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   using ::wcstold;
1115: # 260 "/usr/include/c++/12/cwchar" 3
1115:   using ::wcstoll;
1115:   using ::wcstoull;
1115: 
1115: }
1115: 
1115: namespace std
1115: {
1115:   using ::__gnu_cxx::wcstold;
1115:   using ::__gnu_cxx::wcstoll;
1115:   using ::__gnu_cxx::wcstoull;
1115: }
1115: # 280 "/usr/include/c++/12/cwchar" 3
1115: namespace std
1115: {
1115: 
1115:   using std::wcstof;
1115: 
1115: 
1115:   using std::vfwscanf;
1115: 
1115: 
1115:   using std::vswscanf;
1115: 
1115: 
1115:   using std::vwscanf;
1115: 
1115: 
1115: 
1115:   using stt--); }
1412: 
1412: 
1412:      
1412:       reference
1412:       operator[](difference_type __n) const noexcept
1412:       { return _M_current[__n]; }
1412: 
1412:      
1412:       __normal_iterator&
1412:       operator+=(difference_type __n) noexcept
1412:       { _M_current += __n; return *this; }
1412: 
1412:      
1412:       __normal_iterator
1412:       operator+(difference_type __n) const noexcept
1412:       { return __normal_iterator(_M_current + __n); }
1412: 
1412:      
1412:       __normal_iterator&
1412:       operator-=(difference_type __n) noexcept
1412:       { _M_current -= __n; return *this; }
1412: 
1412:      
1412:       __normal_iterator
1412:       operator-(difference_type __n) const noexcept
1412:       { return __normal_iterator(_M_current - __n); }
1412: 
1412:      
1412:       const _Iterator&
1412:       base() const noexcept
1412:       { return _M_current; }
1412:     };
1412: # 1210 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
1412:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() == __rhs.base(); }
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
1412:         const __normal_iterator<_Iterator, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() == __rhs.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1412:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() != __rhs.base(); }
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
1412:         const __normal_iterator<_Iterator, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() != __rhs.base(); }
1412: 
1412: 
1412:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
1412:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() < __rhs.base(); }
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
1412:        const __normal_iterator<_Iterator, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() < __rhs.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
1412:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() > __rhs.base(); }
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
1412:        const __normal_iterator<_Iterator, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() > __rhs.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1412:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() <= __rhs.base(); }
1412: 
1412:   template<typename _Iterthread_mutex_t *__mutex)
609: {
609:   if (__gthread_active_p ())
609:     return pthread_mutex_unlock (__mutex);
609:   else
609:     return 0;
609: }
609: # 808 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
609: static inline int
609: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
609: {
609:   return __gthread_mutex_lock (__mutex);
609: }
609: 
609: static inline int
609: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
609: {
609:   return __gthread_mutex_trylock (__mutex);
609: }
609: 
609: 
609: static inline int
609: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
609:          const __gthread_time_t *__abs_timeout)
609: {
609:   return __gthread_mutex_timedlock (__mutex, __abs_timeout);
609: }
609: 
609: 
609: static inline int
609: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
609: {
609:   return __gthread_mutex_unlock (__mutex);
609: }
609: 
609: static inline int
609: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
609: {
609:   return __gthread_mutex_destroy (__mutex);
609: }
609: # 850 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
609: static inline int
609: __gthread_cond_broadcast (__gthread_cond_t *__cond)
609: {
609:   return pthread_cond_broadcast (__cond);
609: }
609: 
609: static inline int
609: __gthread_cond_signal (__gthread_cond_t *__cond)
609: {
609:   return pthread_cond_signal (__cond);
609: }
609: 
609: static inline int
609: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
609: {
609:   return pthread_cond_wait (__cond, __mutex);
609: }
609: 
609: static inline int
609: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
609:      const __gthread_time_t *__abs_timeout)
609: {
609:   return pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
609: }
609: 
609: static inline int
609: __gthread_cond_wait_recursive (__gthread_cond_t *__cond,
609:           __gthread_recursive_mutex_t *__mutex)
609: {
609:   return __gthread_cond_wait (__cond, __mutex);
609: }
609: 
609: static inline int
609: __gthread_cond_destroy (__gthread_cond_t* __cond)
609: {
609:   return pthread_cond_destroy (__cond);
609: }
609: # 149 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 2 3
609: 
609: 
609: #pragma GCC visibility pop
609: # 36 "/usr/include/c++/12/ext/atomicity.h" 2 3
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 1 3
609: # 32 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 3
609: typedef int _Atomic_word;
609: # 37 "/usr/include/c++/12/ext/atomicity.h" 2 3
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 3 4
609: extern "C" {
609: 
609: 
609: 
609: 
609: extern char __libc_single_threaded;
609: 
609: }
609: # 39 "/usr/include/c++/12/ext/atomicity.h" 2 3
609: 
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   __attribute__((__always_inline__))
609:   inline bool
609:   __is_single_threaded() noexcept
609:   {
609: 
609: 
609: 
609:     return ::__libc_single_threaded;
609: 
609: 
609: 
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline _Atomic_word
609:   __attribute__((__always_inline__))
609:   __exchange_and_add(volatile _Atomic_word* __mem, int __val)
609:   { return __atomic_fetch_add(__mem, __val, 4); }
609: 
609:   inline void
609:   __attribute__((__always_inline__))
609:   __atomic_add(volatile _Atomic_word* __mem, int __val)
609:   { __atomic_fetch_add(__mem, __val, 4); }
609: # 80 "/usr/include/c++/12/ext/atomicity.h" 3
609:   inline _Atomic_word
609:   __attribute__((__always_inline__))
609:   __exchange_and_add_single(_Atomic_word* __mem, int __val)
609:   {
609:     _Atomic_word __result = *__mem;
609:     *__mem += __val;
609:     return __result;
609:   }
609: 
609:   inline void
609:   __attribute__((__always_inline__))
609:   __atomic_add_single(_Atomic_word* __mem, int __val)
609:   { *__mem += __val; }
609: 
609:   inline _Atomic_word
609:   __attribute__ ((__always_inline__))
609:   __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
609:   {
609:     if (__is_single_threaded())
609:       return __exchange_and_add_single(__mem, __val);
609:     else
609:       return __exchange_and_add(__mem, __val);
609:   }
609: 
609:   inline void
609:   __attribute__ ((__always_inline__))
609:   __atomic_add_dispatch(_Atomic_word* __mem, int __val)
609:   {
609:     if (__is_single_threaded())
609:       __atomic_add_single(__mem, __val);
609:     else
609:       __atomic_add(__mem, __val);
609:   }
609: 
609: 
609: }
609: # 62 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
609: # 1 "/usr/include/c++/12/ext/concurrence.h" 1 3
609: # 32 "/usr/include/c++/12/ext/concurrence.h" 3
609:        
609: # 33 "/usr/include/c++/12/ext/concurrence.h" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   enum _Lock_policy { _S_single, _S_mutex, _S_atomic };
609: 
609: 
609: 
609:   static const _Lock_policy __default_lock_policy =
609: 
609: 
609: 
609: 
609: 
609:   _S_mutex;
609: 
609: 
609: 
609: 
609:   class __concurrence_lock_error : public std::exception
609:   {
609:   public:
609:     virtual char const*
609:     what() const throw()
609:     { return "__gnu_cxx::__concurrence_lock_error"; }
609:   };
609: 
609:   class __concurrence_unlock_error : public std::exception
609:   {
609:   public:
609:     virtual char const*
609:     what() const throw()
609:     { return "__gnu_cxx::__concurrence_unlock_error"; }
609:   };
609: 
609:   class __concurrence_broadcast_error : public std::exception
609:   {
609:   public:
609:     virtual char const*
609:     what() const throw()
609:     { return "__gnu_cxx::__concurrence_broadcast_error"; }
609:   };
609: 
609:   class __concurrence_wait_error : public std::exception
609:   {
609:   public:
609:     virtual char const*
609:     what() const throw()
609:     { return "__gnu_cxx::__concurrence_wait_error"; }
609:   };
609: 
609: 
609:   inline void
609:   __throw_concurrence_lock_error()
609:   { (throw (__concurrence_lock_error())); }
609: 
609:   inline void
609:   __throw_concurrence_unlock_error()
609:   { (throw (__concurrence_unlock_error())); }
609: 
609: 
609:   inline void
609:   __throw_concurrence_broadcast_error()
609:   { (throw (__concurrence_broadcast_error())); }
609: 
609:   inline void
609:   __throw_concurrence_wait_error()
609:   { (throw (__concurrence_wait_error())); }
609: 
609: 
609:   class __mutex
609:   {
609:   private:
609: 
609:     __gthread_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
609: 
609: 
609: 
609: 
609:     __mutex(const __mutex&);
609:     __mutex& operator=(const __mutex&);
609: 
609:   public:
609:     __mutex()
609:     {
609: 
609: 
609: 
609: 
609:     }
609: # 144 "/usr/include/c++/12/ext/concurrence.h" 3
609:     void lock()
609:     {
609: 
609:       if (__gthread_active_p())
609:  {
609:    if (__gthread_mutex_lock(&_M_mutex) != 0)
609:      __throw_concurrence_lock_error();
609:  }
609: 
609:     }
609: 
609:     void unlock()
609:     {
609: 
609:       if (__gthread_active_p())
609:  {
609:    if (__gthread_mutex_unlock(&_M_mutex) != 0)
609:      __throw_concurrence_unlock_error();
609:  }
609: 
609:     }
609: 
609:     __gthread_mutex_t* gthread_mutex(void)
609:       { return &_M_mutex; }
609:   };
609: 
609:   class __recursive_mutex
609:   {
609:   private:
609: 
609:     __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
609: 
609: 
609: 
609: 
609:     __recursive_mutex(const __recursive_mutex&);
609:     __recursive_mutex& operator=(const __recursive_mutex&);
609: 
609:   public:
609:     __recursive_mutex()
609:     {
609: 
609: 
609: 
609: 
609:     }
609: # 199 "/usr/include/c++/12/ext/concurrence.h" 3
609:     void lock()
609:     {
609: 
609:       if (__gthread_active_p())
609:  {
609:    if (__gthread_recd::wcstold;
1115:   using std::wcstoll;
1115:   using std::wcstoull;
1115: 
1115: }
1115: # 41 "/usr/include/c++/12/bits/postypes.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 62 "/usr/include/c++/12/bits/postypes.h" 3
1115:   typedef long long int streamoff;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   typedef ptrdiff_t streamsize;
1115: # 81 "/usr/include/c++/12/bits/postypes.h" 3
1115:   template<typename _StateT>
1115:     class fpos
1115:     {
1115:     private:
1115:       streamoff _M_off;
1115:       _StateT _M_state;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115:       fpos()
1115:       : _M_off(0), _M_state() { }
1115: # 103 "/usr/include/c++/12/bits/postypes.h" 3
1115:       fpos(streamoff __off)
1115:       : _M_off(__off), _M_state() { }
1115: 
1115: 
1115:       fpos(const fpos&) = default;
1115:       fpos& operator=(const fpos&) = default;
1115:       ~fpos() = default;
1115: 
1115: 
1115: 
1115:       operator streamoff() const { return _M_off; }
1115: 
1115: 
1115:       void
1115:       state(_StateT __st)
1115:       { _M_state = __st; }
1115: 
1115: 
1115:       _StateT
1115:       state() const
1115:       { return _M_state; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       fpos&
1115:       operator+=(streamoff __off)
1115:       {
1115:  _M_off += __off;
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       fpos&
1115:       operator-=(streamoff __off)
1115:       {
1115:  _M_off -= __off;
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       fpos
1115:       operator+(streamoff __off) const
1115:       {
1115:  fpos __pos(*this);
1115:  __pos += __off;
1115:  return __pos;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       fpos
1115:       operator-(streamoff __off) const
1115:       {
1115:  fpos __pos(*this);
1115:  __pos -= __off;
1115:  return __pos;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       streamoff
1115:       operator-(const fpos& __other) const
1115:       { return _M_off - __other._M_off; }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _StateT>
1115:     inline bool
1115:     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1115:     { return streamoff(__lhs) == streamoff(__rhs); }
1115: 
1115:   template<typename _StateT>
1115:     inline bool
1115:     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1115:     { return streamoff(__lhs) != streamoff(__rhs); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   typedef fpos<mbstate_t> streampos;
1115: 
1115:   typedef fpos<mbstate_t> wstreampos;
1115: # 215 "/usr/include/c++/12/bits/postypes.h" 3
1115:   typedef fpos<mbstate_t> u16streampos;
1115: 
1115:   typedef fpos<mbstate_t> u32streampos;
1115: 
1115: 
1115: 
1115: }
1115: # 41 "/usr/include/c++/12/iosfwd" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 74 "/usr/include/c++/12/iosfwd" 3
1115:   class ios_base;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_ios;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_streambuf;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_istream;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_ostream;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_iostream;
1115: 
1115: 
1115: namespace __cxx11 {
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1115:      typename _Alloc = allocator<_CharT> >
1115:     class basic_stringbuf;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1115:     typename _Alloc = allocator<_CharT> >
1115:     class basic_istringstream;
1115: 
1115:   template<typename _CharT, typename _Traits = chaursive_mutex_lock(&_M_mutex) != 0)
609:      __throw_concurrence_lock_error();
609:  }
609: 
609:     }
609: 
609:     void unlock()
609:     {
609: 
609:       if (__gthread_active_p())
609:  {
609:    if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0)
609:      __throw_concurrence_unlock_error();
609:  }
609: 
609:     }
609: 
609:     __gthread_recursive_mutex_t* gthread_recursive_mutex(void)
609:     { return &_M_mutex; }
609:   };
609: 
609: 
609: 
609: 
609:   class __scoped_lock
609:   {
609:   public:
609:     typedef __mutex __mutex_type;
609: 
609:   private:
609:     __mutex_type& _M_device;
609: 
609:     __scoped_lock(const __scoped_lock&);
609:     __scoped_lock& operator=(const __scoped_lock&);
609: 
609:   public:
609:     explicit __scoped_lock(__mutex_type& __name) : _M_device(__name)
609:     { _M_device.lock(); }
609: 
609:     ~__scoped_lock() throw()
609:     { _M_device.unlock(); }
609:   };
609: 
609: 
609:   class __cond
609:   {
609:   private:
609: 
609:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
609: 
609: 
609: 
609: 
609:     __cond(const __cond&);
609:     __cond& operator=(const __cond&);
609: 
609:   public:
609:     __cond()
609:     {
609: 
609: 
609: 
609: 
609:     }
609: # 277 "/usr/include/c++/12/ext/concurrence.h" 3
609:     void broadcast()
609:     {
609: 
609:       if (__gthread_active_p())
609:  {
609:    if (__gthread_cond_broadcast(&_M_cond) != 0)
609:      __throw_concurrence_broadcast_error();
609:  }
609: 
609:     }
609: 
609:     void wait(__mutex *mutex)
609:     {
609: 
609:       {
609:    if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0)
609:      __throw_concurrence_wait_error();
609:       }
609: 
609:     }
609: 
609:     void wait_recursive(__recursive_mutex *mutex)
609:     {
609: 
609:       {
609:    if (__gthread_cond_wait_recursive(&_M_cond,
609:          mutex->gthread_recursive_mutex())
609:        != 0)
609:      __throw_concurrence_wait_error();
609:       }
609: 
609:     }
609:   };
609: 
609: 
609: 
609: }
609: # 63 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:   template<typename> class auto_ptr;
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609: 
609: 
609:   class bad_weak_ptr : public std::exception
609:   {
609:   public:
609:     virtual char const* what() const noexcept;
609: 
609:     virtual ~bad_weak_ptr() noexcept;
609:   };
609: 
609: 
609:   inline void
609:   __throw_bad_weak_ptr()
609:   { (throw (bad_weak_ptr())); }
609: 
609:   using __gnu_cxx::_Lock_policy;
609:   using __gnu_cxx::__default_lock_policy;
609:   using __gnu_cxx::_S_single;
609:   using __gnu_cxx::_S_mutex;
609:   using __gnu_cxx::_S_atomic;
609: 
609: 
609:   template<_Lock_policy _Lp>
609:     class _Mutex_base
609:     {
609:     protected:
609: 
609:       enum { _S_need_barriers = 0 };
609:     };
609: 
609:   template<>
609:     class _Mutex_base<_S_mutex>
609:     : public __gnu_cxx::__mutex
609:     {
609:     protected:
609: 
609: 
609: 
609:       enum { _S_need_barriers = 1 };
609:     };
609: 
609:   template<_Lock_policy _Lp = __default_lock_policy>
609:     class _Sp_counted_base
609:     : public _Mutex_base<_Lp>
609:     {
609:     public:
609:       _Sp_counted_base() noexcept
609:       : _M_use_count(1), _M_weak_count(1) { }
609: 
609:       virtual
609:       ~_Sp_counted_base() noexcept
609:       { }
609: 
609: 
609: 
609:       virtual void
609:       _M_dispose() noexcept = 0;
609: 
609: 
609:       virtual void
609:       _M_destroy() noexcept
609:       { delete this; }
609: 
609:       virtual void*
609:       _M_get_deleter(const std::type_info&) noexcept = 0;
609: 
609: 
609:       void
609:       _M_add_ref_copy()
609:       { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); }
609: 
609: 
609:       void
609:       _M_add_ref_lock()
609:      ator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
1412:         const __normal_iterator<_Iterator, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() <= __rhs.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1412:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() >= __rhs.base(); }
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
1412:         const __normal_iterator<_Iterator, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() >= __rhs.base(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1412: 
1412: 
1412:     [[__nodiscard__]]
1412:     inline auto
1412:     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
1412:        const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
1412:     -> decltype(__lhs.base() - __rhs.base())
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     { return __lhs.base() - __rhs.base(); }
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline typename __normal_iterator<_Iterator, _Container>::difference_type
1412:     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
1412:        const __normal_iterator<_Iterator, _Container>& __rhs)
1412:     noexcept
1412:     { return __lhs.base() - __rhs.base(); }
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     [[__nodiscard__]]
1412:     inline __normal_iterator<_Iterator, _Container>
1412:     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
1412:        __n, const __normal_iterator<_Iterator, _Container>& __i)
1412:     noexcept
1412:     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
1412: 
1412: 
1412: }
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:    
1412:     _Iterator
1412:     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
1412:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1412:     { return __it.base(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Iterator, typename _Container>
1412:     constexpr auto
1412:     __to_address(const __gnu_cxx::__normal_iterator<_Iterator,
1412:           _Container>& __it) noexcept
1412:     -> decltype(std::__to_address(__it.base()))
1412:     { return std::__to_address(__it.base()); }
1412: # 1417 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   namespace __detail
1412:   {
1412: # 1433 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   }
1412: # 1444 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Iterator>
1412:     class move_iterator
1412: 
1412: 
1412: 
1412:     {
1412:       _Iterator _M_current;
1412: 
1412:       using __traits_type = iterator_traits<_Iterator>;
1412: 
1412:       using __base_ref = typename __traits_type::reference;
1412: 
1412: 
1412:       template<typename _Iter2>
1412:  friend class move_iterator;
1412: # 1468 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:     public:
1412:       using iterator_type = _Iterator;
1412: # 1479 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:       typedef typename __traits_type::iterator_category iterator_category;
1412:       typedef typename __traits_type::value_type value_type;
1412:       typedef typename __traits_type::difference_type difference_type;
1412: 
1412:       typedef _Iterator pointer;
1412: 
1412: 
1412:       using reference
1412:  = __conditional_t<is_reference< {
609:  if (!_M_add_ref_lock_nothrow())
609:    __throw_bad_weak_ptr();
609:       }
609: 
609: 
609:       bool
609:       _M_add_ref_lock_nothrow() noexcept;
609: 
609: 
609:       void
609:       _M_release() noexcept;
609: 
609: 
609:       void
609:       _M_release_last_use() noexcept
609:       {
609:  ;
609:  _M_dispose();
609: 
609: 
609: 
609: 
609:  if (_Mutex_base<_Lp>::_S_need_barriers)
609:    {
609:      __atomic_thread_fence (4);
609:    }
609: 
609: 
609:  ;
609:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
609:          -1) == 1)
609:    {
609:      ;
609:      _M_destroy();
609:    }
609:       }
609: 
609: 
609:       __attribute__((__noinline__))
609:       void
609:       _M_release_last_use_cold() noexcept
609:       { _M_release_last_use(); }
609: 
609: 
609:       void
609:       _M_weak_add_ref() noexcept
609:       { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); }
609: 
609: 
609:       void
609:       _M_weak_release() noexcept
609:       {
609: 
609:         ;
609:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1)
609:    {
609:             ;
609:      if (_Mutex_base<_Lp>::_S_need_barriers)
609:        {
609: 
609: 
609:   __atomic_thread_fence (4);
609:        }
609:      _M_destroy();
609:    }
609:       }
609: 
609:       long
609:       _M_get_use_count() const noexcept
609:       {
609: 
609: 
609:         return __atomic_load_n(&_M_use_count, 0);
609:       }
609: 
609:     private:
609:       _Sp_counted_base(_Sp_counted_base const&) = delete;
609:       _Sp_counted_base& operator=(_Sp_counted_base const&) = delete;
609: 
609:       _Atomic_word _M_use_count;
609:       _Atomic_word _M_weak_count;
609:     };
609: 
609:   template<>
609:     inline bool
609:     _Sp_counted_base<_S_single>::
609:     _M_add_ref_lock_nothrow() noexcept
609:     {
609:       if (_M_use_count == 0)
609:  return false;
609:       ++_M_use_count;
609:       return true;
609:     }
609: 
609:   template<>
609:     inline bool
609:     _Sp_counted_base<_S_mutex>::
609:     _M_add_ref_lock_nothrow() noexcept
609:     {
609:       __gnu_cxx::__scoped_lock sentry(*this);
609:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
609:  {
609:    _M_use_count = 0;
609:    return false;
609:  }
609:       return true;
609:     }
609: 
609:   template<>
609:     inline bool
609:     _Sp_counted_base<_S_atomic>::
609:     _M_add_ref_lock_nothrow() noexcept
609:     {
609: 
609:       _Atomic_word __count = _M_get_use_count();
609:       do
609:  {
609:    if (__count == 0)
609:      return false;
609: 
609: 
609:  }
609:       while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
609:        true, 4,
609:        0));
609:       return true;
609:     }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_base<_S_single>::_M_add_ref_copy()
609:     { ++_M_use_count; }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_base<_S_single>::_M_release() noexcept
609:     {
609:       if (--_M_use_count == 0)
609:         {
609:           _M_dispose();
609:           if (--_M_weak_count == 0)
609:             _M_destroy();
609:         }
609:     }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_base<_S_mutex>::_M_release() noexcept
609:     {
609: 
609:       ;
609:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
609:  {
609:    _M_release_last_use();
609:  }
609:     }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_base<_S_atomic>::_M_release() noexcept
609:     {
609:       ;
609: 
609:       constexpr bool __lock_free
609:  = __atomic_always_lock_free(sizeof(long long), 0)
609:  && __atomic_always_lock_free(sizeof(_Atomic_word), 0);
609:       constexpr bool __double_word
609:  = sizeof(long long) == 2 * sizeof(_Atomic_word);
609: 
609: 
609:       constexpr bool __aligned = __alignof(long long) <= alignof(void*);
609:       if constexpr (__lock_free && __double_word && __aligned)
609:  {
609:    constexpr int __wordbits = 8 * sizeof(_Atomic_word);
6r_traits<_CharT>,
1115:     typename _Alloc = allocator<_CharT> >
1115:     class basic_ostringstream;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1115:     typename _Alloc = allocator<_CharT> >
1115:     class basic_stringstream;
1115: 
1115: }
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_filebuf;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_ifstream;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_ofstream;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class basic_fstream;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class istreambuf_iterator;
1115: 
1115:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1115:     class ostreambuf_iterator;
1115: 
1115: 
1115: 
1115:   typedef basic_ios<char> ios;
1115: 
1115: 
1115:   typedef basic_streambuf<char> streambuf;
1115: 
1115: 
1115:   typedef basic_istream<char> istream;
1115: 
1115: 
1115:   typedef basic_ostream<char> ostream;
1115: 
1115: 
1115:   typedef basic_iostream<char> iostream;
1115: 
1115: 
1115:   typedef basic_stringbuf<char> stringbuf;
1115: 
1115: 
1115:   typedef basic_istringstream<char> istringstream;
1115: 
1115: 
1115:   typedef basic_ostringstream<char> ostringstream;
1115: 
1115: 
1115:   typedef basic_stringstream<char> stringstream;
1115: 
1115: 
1115:   typedef basic_filebuf<char> filebuf;
1115: 
1115: 
1115:   typedef basic_ifstream<char> ifstream;
1115: 
1115: 
1115:   typedef basic_ofstream<char> ofstream;
1115: 
1115: 
1115:   typedef basic_fstream<char> fstream;
1115: 
1115: 
1115: 
1115:   typedef basic_ios<wchar_t> wios;
1115: 
1115: 
1115:   typedef basic_streambuf<wchar_t> wstreambuf;
1115: 
1115: 
1115:   typedef basic_istream<wchar_t> wistream;
1115: 
1115: 
1115:   typedef basic_ostream<wchar_t> wostream;
1115: 
1115: 
1115:   typedef basic_iostream<wchar_t> wiostream;
1115: 
1115: 
1115:   typedef basic_stringbuf<wchar_t> wstringbuf;
1115: 
1115: 
1115:   typedef basic_istringstream<wchar_t> wistringstream;
1115: 
1115: 
1115:   typedef basic_ostringstream<wchar_t> wostringstream;
1115: 
1115: 
1115:   typedef basic_stringstream<wchar_t> wstringstream;
1115: 
1115: 
1115:   typedef basic_filebuf<wchar_t> wfilebuf;
1115: 
1115: 
1115:   typedef basic_ifstream<wchar_t> wifstream;
1115: 
1115: 
1115:   typedef basic_ofstream<wchar_t> wofstream;
1115: 
1115: 
1115:   typedef basic_fstream<wchar_t> wfstream;
1115: # 253 "/usr/include/c++/12/iosfwd" 3
1115: 
1115: }
1115: # 53 "/usr/include/c++/12/bits/shared_ptr.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/shared_ptr_base.h" 1 3
1115: # 52 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115: # 1 "/usr/include/c++/12/typeinfo" 1 3
1115: # 32 "/usr/include/c++/12/typeinfo" 3
1115:        
1115: # 33 "/usr/include/c++/12/typeinfo" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" {
1115: 
1115: namespace __cxxabiv1
1115: {
1115:   class __class_type_info;
1115: }
1115: # 84 "/usr/include/c++/12/typeinfo" 3
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class type_info
1115:   {
1115:   public:
1115: 
1115: 
1115: 
1115: 
1115:     virtual ~type_info();
1115: 
1115: 
1115: 
1115:     const char* name() const noexcept
1115:     { return __name[0] == '*' ? __name + 1 : __name; }
1115: 
1115: 
1115: 
1115:     bool before(const type_info& __arg) const noexcept;
1115: 
1115:    
1115:     bool operator==(const type_info& __arg) const noexcept;
1115: 
1115: 
1115:     bool operator!=(const type_info& __arg) const noexcept
1115:     { return !operator==(__arg); }
1115: 
1115: 
1115: 
1115:     size_t hash_code() const noexcept
1115:     {
1115: 
1115:       return _Hash_bytes(name(), __builtin_strlen(name()),
1115:     static_cast<size_t>(0xc70f6907UL));
1115: 
11__base_ref>::value,
1412:      typename remove_reference<__base_ref>::type&&,
1412:      __base_ref>;
1412: 
1412: 
1412:       constexpr
1412:       move_iterator()
1412:       : _M_current() { }
1412: 
1412:       explicit constexpr
1412:       move_iterator(iterator_type __i)
1412:       : _M_current(std::move(__i)) { }
1412: 
1412:       template<typename _Iter>
1412: 
1412: 
1412: 
1412:  constexpr
1412:  move_iterator(const move_iterator<_Iter>& __i)
1412:  : _M_current(__i._M_current) { }
1412: 
1412:       template<typename _Iter>
1412: 
1412: 
1412: 
1412: 
1412:  constexpr
1412:  move_iterator& operator=(const move_iterator<_Iter>& __i)
1412:  {
1412:    _M_current = __i._M_current;
1412:    return *this;
1412:  }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr iterator_type
1412:       base() const
1412:       { return _M_current; }
1412: # 1537 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:       [[__nodiscard__]]
1412:       constexpr reference
1412:       operator*() const
1412: 
1412: 
1412: 
1412:       { return static_cast<reference>(*_M_current); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr pointer
1412:       operator->() const
1412:       { return _M_current; }
1412: 
1412:       constexpr move_iterator&
1412:       operator++()
1412:       {
1412:  ++_M_current;
1412:  return *this;
1412:       }
1412: 
1412:       constexpr move_iterator
1412:       operator++(int)
1412:       {
1412:  move_iterator __tmp = *this;
1412:  ++_M_current;
1412:  return __tmp;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr move_iterator&
1412:       operator--()
1412:       {
1412:  --_M_current;
1412:  return *this;
1412:       }
1412: 
1412:       constexpr move_iterator
1412:       operator--(int)
1412:       {
1412:  move_iterator __tmp = *this;
1412:  --_M_current;
1412:  return __tmp;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr move_iterator
1412:       operator+(difference_type __n) const
1412:       { return move_iterator(_M_current + __n); }
1412: 
1412:       constexpr move_iterator&
1412:       operator+=(difference_type __n)
1412:       {
1412:  _M_current += __n;
1412:  return *this;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr move_iterator
1412:       operator-(difference_type __n) const
1412:       { return move_iterator(_M_current - __n); }
1412: 
1412:       constexpr move_iterator&
1412:       operator-=(difference_type __n)
1412:       {
1412:  _M_current -= __n;
1412:  return *this;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr reference
1412:       operator[](difference_type __n) const
1412: 
1412: 
1412: 
1412:       { return std::move(_M_current[__n]); }
1412: # 1651 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:     };
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator==(const move_iterator<_IteratorL>& __x,
1412:         const move_iterator<_IteratorR>& __y)
1412: 
1412: 
1412: 
1412:     { return __x.base() == __y.base(); }
1412: # 1672 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator!=(const move_iterator<_IteratorL>& __x,
1412:         const move_iterator<_IteratorR>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator<(const move_iterator<_IteratorL>& __x,
1412:        const move_iterator<_IteratorR>& __y)
1412: 
1412: 
1412: 
1412:     { return __x.base() < __y.base(); }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator<=(const move_iterator<_IteratorL>& __x,
1412:         const move_iterator<_IteratorR>& __y)
1412: 
1412: 
1412: 
1412:     { return !(__y < __x); }
1412:09:    constexpr int __shiftbits = __double_word ? __wordbits : 0;
609:    constexpr long long __unique_ref = 1LL + (1LL << __shiftbits);
609:    auto __both_counts = reinterpret_cast<long long*>(&_M_use_count);
609: 
609:    ;
609:    if (__atomic_load_n(__both_counts, 2) == __unique_ref)
609:      {
609: 
609: 
609: 
609: 
609:        _M_weak_count = _M_use_count = 0;
609:        ;
609:        ;
609:        _M_dispose();
609:        _M_destroy();
609:        return;
609:      }
609:    if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
609:      [[__unlikely__]]
609:      {
609:        _M_release_last_use_cold();
609:        return;
609:      }
609:  }
609:       else
609: 
609:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
609:  {
609:    _M_release_last_use();
609:  }
609:     }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept
609:     { ++_M_weak_count; }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_base<_S_single>::_M_weak_release() noexcept
609:     {
609:       if (--_M_weak_count == 0)
609:         _M_destroy();
609:     }
609: 
609:   template<>
609:     inline long
609:     _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept
609:     { return _M_use_count; }
609: 
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
609:     class __shared_ptr;
609: 
609:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
609:     class __weak_ptr;
609: 
609:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
609:     class __enable_shared_from_this;
609: 
609:   template<typename _Tp>
609:     class shared_ptr;
609: 
609:   template<typename _Tp>
609:     class weak_ptr;
609: 
609:   template<typename _Tp>
609:     struct owner_less;
609: 
609:   template<typename _Tp>
609:     class enable_shared_from_this;
609: 
609:   template<_Lock_policy _Lp = __default_lock_policy>
609:     class __weak_count;
609: 
609:   template<_Lock_policy _Lp = __default_lock_policy>
609:     class __shared_count;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Ptr, _Lock_policy _Lp>
609:     class _Sp_counted_ptr final : public _Sp_counted_base<_Lp>
609:     {
609:     public:
609:       explicit
609:       _Sp_counted_ptr(_Ptr __p) noexcept
609:       : _M_ptr(__p) { }
609: 
609:       virtual void
609:       _M_dispose() noexcept
609:       { delete _M_ptr; }
609: 
609:       virtual void
609:       _M_destroy() noexcept
609:       { delete this; }
609: 
609:       virtual void*
609:       _M_get_deleter(const std::type_info&) noexcept
609:       { return nullptr; }
609: 
609:       _Sp_counted_ptr(const _Sp_counted_ptr&) = delete;
609:       _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete;
609: 
609:     private:
609:       _Ptr _M_ptr;
609:     };
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_ptr<nullptr_t, _S_single>::_M_dispose() noexcept { }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_ptr<nullptr_t, _S_mutex>::_M_dispose() noexcept { }
609: 
609:   template<>
609:     inline void
609:     _Sp_counted_ptr<nullptr_t, _S_atomic>::_M_dispose() noexcept { }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<int _Nm, typename _Tp,
609:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
609:     struct _Sp_ebo_helper;
609: 
609: 
609:   template<int _Nm, typename _Tp>
609:     struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp
609:     {
609:       explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { }
609:       explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { }
609: 
609:       static _Tp&
609:       _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); }
609:     };
609: 
609: 
609:   template<int _Nm, typename _Tp>
609:     struct _Sp_ebo_helper<_Nm, _Tp, false>
609:     {
609:       explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { }
609:       explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { }
609: 
609:       static _Tp&
609:       _S_get(_Sp_ebo_helper& __eboh)
609:       { return __eboh._M_tp; }
609: 
609:     private:
609:       _Tp _M_tp;
609:     };
609: 
609: 
609:   template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
609:     class _Sp_counted_deleter final : public _Sp_counted_base<_Lp>
609:     {
609:       class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc>
609:       {
609:  typedef _Sp_ebo_helper<0, _Deleter> _Del_base;
609:  typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base;
609: 
609:       public:
609:  _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
609:  : _Del_base(std::move(__d)), _Alloc_base(__a), _M_ptr(__p)
609:  { }
609: 
609:  _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); }
609:  _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); }
609: 
609:  _Ptr _M_ptr;
609:       };
609: 
609:     public:
609:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>;
609: 
609: 
609:       _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept
609:       : _M_impl(__p, std::move(__d), _Alloc()) { }
609: 
609: 
609:       _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
609:       : _M_impl(__p, std::move(__d), __a) { }
609: 
609:       ~_Sp_counted_deleter() noexcept { }
609: 
609:       virtual void
609:       _M_dispose() noexcept
609:       { _M_impl._M_del()(_M_impl._M_ptr); }
609: 
609:       virtual void
609:       _M_destroy() noexcept
609:       {
609:  __allocator_type __a(_M_impl._M_alloc());
609:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
609:  this->~_Sp_counted_deleter();
609:       }
609: 
609:       virtual void*
609:       _M_get_deleter(const type_info& __ti [[__gnu__::__unused__]]) noexcept
609:       {
609: 
609: 
609: 
609:         return __ti == typeid(_Deleter)
609:    ? std::__addressof(_M_impl._M_del())
609:    : nullptr;
609: 
609: 
609: 
609:       }
609: 
609:     private:
609:       _Impl _M_impl;
609:     };
609: 
609: 
609: 
609:   struct _Sp_make_shared_tag
609:   {
609:   private:
609:     template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
609:       friend class _Sp_counted_ptr_inplace;
609: 
609:     static const type_info&
609:     _S_ti() noexcept __attribute__ ((__visibility__ ("default")))
609:     {
609:       alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { };
609:       return reinterpret_cast<const type_info&>(__tag);
609:     }
609: 
609:     static bool _S_eq(const type_info&) noexcept;
609:   };
609: 
609:   template<typename _Alloc>
609:     struct _Sp_alloc_shared_tag
609:     {
609:       const _Alloc& _M_a;
609:     };
609: 
609:   template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
609:     class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp>
609:     {
609:       class _Impl : _Sp_ebo_helper<0, _Alloc>
609:       {
609:  typedef _Sp_ebo_helper<0, _Alloc> _A_base;
609: 
609:       public:
609:  explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { }
609: 
609:  _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); }
609: 
609:  __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
609:       };
609: 
609:     public:
609:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>;
609: 
609: 
609:       template<typename... _Args>
609:  _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
609:  : _M_impl(__a)
609:  {
609: 
609: 
609:    allocator_traits<_Alloc>::construct(__a, _M_ptr(),
609:        std::forward<_Args>(__args)...);
609:  }
609: 
609:       ~_Sp_counted_ptr_inplace() noexcept { }
609: 
609:       virtual void
609:       _M_dispose() noexcept
609:       {
609:  allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
609:       }
609: 
609: 
609:       virtual void
609:       _M_destroy() noexcept
609:       {
609:  __allocator_type __a(_M_impl._M_alloc());
609:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
609:  this->~_Sp_counted_ptr_inplace();
609:       }
609: 
609:     private:
609:       friend class __shared_count<_Lp>;
609: 
15: 
1115: 
1115:     }
1115: 
1115: 
1115: 
1115:     virtual bool __is_pointer_p() const;
1115: 
1115: 
1115:     virtual bool __is_function_p() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
1115:        unsigned __outer) const;
1115: 
1115: 
1115:     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
1115:         void **__obj_ptr) const;
1115: 
1115:   protected:
1115:     const char *__name;
1115: 
1115:     explicit type_info(const char *__n): __name(__n) { }
1115: 
1115:   private:
1115: 
1115: 
1115:     type_info& operator=(const type_info&) = delete;
1115:     type_info(const type_info&) = delete;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     bool __equal(const type_info&) const noexcept;
1115: 
1115:   };
1115: # 220 "/usr/include/c++/12/typeinfo" 3
1115:   class bad_cast : public exception
1115:   {
1115:   public:
1115:     bad_cast() noexcept { }
1115: 
1115: 
1115: 
1115:     virtual ~bad_cast() noexcept;
1115: 
1115: 
1115:     virtual const char* what() const noexcept;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class bad_typeid : public exception
1115:   {
1115:   public:
1115:     bad_typeid () noexcept { }
1115: 
1115: 
1115: 
1115:     virtual ~bad_typeid() noexcept;
1115: 
1115: 
1115:     virtual const char* what() const noexcept;
1115:   };
1115: }
1115: 
1115: }
1115: 
1115: #pragma GCC visibility pop
1115: # 53 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/allocated_ptr.h" 1 3
1115: # 40 "/usr/include/c++/12/bits/allocated_ptr.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Alloc>
1115:     struct __allocated_ptr
1115:     {
1115:       using pointer = typename allocator_traits<_Alloc>::pointer;
1115:       using value_type = typename allocator_traits<_Alloc>::value_type;
1115: 
1115: 
1115:       __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept
1115:       : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr)
1115:       { }
1115: 
1115: 
1115:       template<typename _Ptr,
1115:         typename _Req = _Require<is_same<_Ptr, value_type*>>>
1115:       __allocated_ptr(_Alloc& __a, _Ptr __ptr)
1115:       : _M_alloc(std::__addressof(__a)),
1115:  _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
1115:       { }
1115: 
1115: 
1115:       __allocated_ptr(__allocated_ptr&& __gd) noexcept
1115:       : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr)
1115:       { __gd._M_ptr = nullptr; }
1115: 
1115: 
1115:       ~__allocated_ptr()
1115:       {
1115:  if (_M_ptr != nullptr)
1115:    std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1);
1115:       }
1115: 
1115: 
1115:       __allocated_ptr&
1115:       operator=(std::nullptr_t) noexcept
1115:       {
1115:  _M_ptr = nullptr;
1115:  return *this;
1115:       }
1115: 
1115: 
1115:       value_type* get() { return std::__to_address(_M_ptr); }
1115: 
1115:     private:
1115:       _Alloc* _M_alloc;
1115:       pointer _M_ptr;
1115:     };
1115: 
1115: 
1115:   template<typename _Alloc>
1115:     __allocated_ptr<_Alloc>
1115:     __allocate_guarded(_Alloc& __a)
1115:     {
1115:       return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) };
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: # 54 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/refwrap.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/refwrap.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/refwrap.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 52 "/usr/include/c++/12/bits/refwrap.h" 3
1115:   template<typename _Res, typename... _ArgTypes>
1115:     struct _Maybe_unary_or_binary_function { };
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115:   template<typename _Res, typename _T1>
1115:     str609: 
609: 
609:       virtual void*
609:       _M_get_deleter(const std::type_info& __ti) noexcept override
609:       {
609:  auto __ptr = const_cast<typename remove_cv<_Tp>::type*>(_M_ptr());
609: 
609: 
609: 
609: 
609:  if (&__ti == &_Sp_make_shared_tag::_S_ti()
609:      ||
609: 
609:      __ti == typeid(_Sp_make_shared_tag)
609: 
609: 
609: 
609:     )
609:    return __ptr;
609:  return nullptr;
609:       }
609: 
609:       _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); }
609: 
609:       _Impl _M_impl;
609:     };
609: # 886 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609:   struct __sp_array_delete
609:   {
609:     template<typename _Yp>
609:       void operator()(_Yp* __p) const { delete[] __p; }
609:   };
609: 
609:   template<_Lock_policy _Lp>
609:     class __shared_count
609:     {
609: 
609:       template<typename _Tp>
609:  struct __not_alloc_shared_tag { using type = void; };
609: 
609:       template<typename _Tp>
609:  struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { };
609: 
609: 
609: 
609: 
609: 
609: 
609:     public:
609:       constexpr __shared_count() noexcept : _M_pi(0)
609:       { }
609: 
609:       template<typename _Ptr>
609:         explicit
609:  __shared_count(_Ptr __p) : _M_pi(0)
609:  {
609:    try
609:      {
609:        _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
609:      }
609:    catch(...)
609:      {
609:        delete __p;
609:        throw;
609:      }
609:  }
609: 
609:       template<typename _Ptr>
609:  __shared_count(_Ptr __p, false_type)
609:  : __shared_count(__p)
609:  { }
609: 
609:       template<typename _Ptr>
609:  __shared_count(_Ptr __p, true_type)
609:  : __shared_count(__p, __sp_array_delete{}, allocator<void>())
609:  { }
609: 
609:       template<typename _Ptr, typename _Deleter,
609:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
609:  __shared_count(_Ptr __p, _Deleter __d)
609:  : __shared_count(__p, std::move(__d), allocator<void>())
609:  { }
609: 
609:       template<typename _Ptr, typename _Deleter, typename _Alloc,
609:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
609:  __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
609:  {
609:    typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
609:    try
609:      {
609:        typename _Sp_cd_type::__allocator_type __a2(__a);
609:        auto __guard = std::__allocate_guarded(__a2);
609:        _Sp_cd_type* __mem = __guard.get();
609:        ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a));
609:        _M_pi = __mem;
609:        __guard = nullptr;
609:      }
609:    catch(...)
609:      {
609:        __d(__p);
609:        throw;
609:      }
609:  }
609: 
609:       template<typename _Tp, typename _Alloc, typename... _Args>
609:  __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a,
609:          _Args&&... __args)
609:  {
609:    typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
609:    typename _Sp_cp_type::__allocator_type __a2(__a._M_a);
609:    auto __guard = std::__allocate_guarded(__a2);
609:    _Sp_cp_type* __mem = __guard.get();
609:    auto __pi = ::new (__mem)
609:      _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
609:    __guard = nullptr;
609:    _M_pi = __pi;
609:    __p = __pi->_M_ptr();
609:  }
609: # 1024 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609:       template<typename _Tp>
609:         explicit
609:  __shared_count(std::auto_ptr<_Tp>&& __r);
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609:       template<typename _Tp, typename _Del>
609:         explicit
609:  __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0)
609:  {
609: 
609: 
609:    if (__r.get() == nullptr)
609:      return;
609: 
609:    using _Ptr = typename unique_ptr<_Tp, _Del>::pointer;
609:    using _Del2 = __conditional_t<is_reference<_Del>::value,
609:        reference_wrapper<typename remove_reference<_Del>::type>,
609:        _Del>;
609:    using _Sp_cd 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>(const move_iterator<_IteratorL>& __x,
1412:        const move_iterator<_IteratorR>& __y)
1412: 
1412: 
1412: 
1412:     { return __y < __x; }
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>=(const move_iterator<_IteratorL>& __x,
1412:         const move_iterator<_IteratorR>& __y)
1412: 
1412: 
1412: 
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator==(const move_iterator<_Iterator>& __x,
1412:         const move_iterator<_Iterator>& __y)
1412:     { return __x.base() == __y.base(); }
1412: # 1738 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator!=(const move_iterator<_Iterator>& __x,
1412:         const move_iterator<_Iterator>& __y)
1412:     { return !(__x == __y); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator<(const move_iterator<_Iterator>& __x,
1412:        const move_iterator<_Iterator>& __y)
1412:     { return __x.base() < __y.base(); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator<=(const move_iterator<_Iterator>& __x,
1412:         const move_iterator<_Iterator>& __y)
1412:     { return !(__y < __x); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>(const move_iterator<_Iterator>& __x,
1412:        const move_iterator<_Iterator>& __y)
1412:     { return __y < __x; }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr bool
1412:     operator>=(const move_iterator<_Iterator>& __x,
1412:         const move_iterator<_Iterator>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _IteratorL, typename _IteratorR>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     operator-(const move_iterator<_IteratorL>& __x,
1412:        const move_iterator<_IteratorR>& __y)
1412:     -> decltype(__x.base() - __y.base())
1412:     { return __x.base() - __y.base(); }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr move_iterator<_Iterator>
1412:     operator+(typename move_iterator<_Iterator>::difference_type __n,
1412:        const move_iterator<_Iterator>& __x)
1412:     { return __x + __n; }
1412: 
1412:   template<typename _Iterator>
1412:     [[__nodiscard__]]
1412:     inline constexpr move_iterator<_Iterator>
1412:     make_move_iterator(_Iterator __i)
1412:     { return move_iterator<_Iterator>(std::move(__i)); }
1412: 
1412:   template<typename _Iterator, typename _ReturnType
1412:     = __conditional_t<__move_if_noexcept_cond
1412:       <typename iterator_traits<_Iterator>::value_type>::value,
1412:   _Iterator, move_iterator<_Iterator>>>
1412:     inline constexpr _ReturnType
1412:     __make_move_if_noexcept_iterator(_Iterator __i)
1412:     { return _ReturnType(__i); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _ReturnType
1412:     = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
1412:         const _Tp*, move_iterator<_Tp*>>>
1412:     inline constexpr _ReturnType
1412:     __make_move_if_noexcept_iterator(_Tp* __i)
1412:     { return _ReturnType(__i); }
1412: # 2552 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _Iterator>
1412:    
1412:     auto
1412:     __niter_base(move_iterator<_Iterator> __it)
1412:     -> decltype(make_move_iterator(__niter_base(__it.base())))
1412:     { return make_move_iterator(__niter_base(__it.base())); }
1412: 
1412:   template<typename _Iterator>
1412:     struct __is_move_iterator<move_iteratoruct _Maybe_unary_or_binary_function<_Res, _T1>
1115:     : std::unary_function<_T1, _Res> { };
1115: 
1115: 
1115:   template<typename _Res, typename _T1, typename _T2>
1115:     struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
1115:     : std::binary_function<_T1, _T2, _Res> { };
1115: 
1115: #pragma GCC diagnostic pop
1115: 
1115:   template<typename _Signature>
1115:     struct _Mem_fn_traits;
1115: 
1115:   template<typename _Res, typename _Class, typename... _ArgTypes>
1115:     struct _Mem_fn_traits_base
1115:     {
1115:       using __result_type = _Res;
1115:       using __maybe_type
1115:  = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
1115:       using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
1115:     };
1115: # 103 "/usr/include/c++/12/bits/refwrap.h" 3
1115: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1115: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg =_type
609:      = _Sp_counted_deleter<_Ptr, _Del2, allocator<void>, _Lp>;
609:    using _Alloc = allocator<_Sp_cd_type>;
609:    using _Alloc_traits = allocator_traits<_Alloc>;
609:    _Alloc __a;
609:    _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1);
609: 
609: 
609: 
609:    _Alloc_traits::construct(__a, __mem, __r.release(),
609:        std::forward<_Del>(__r.get_deleter()));
609:    _M_pi = __mem;
609:  }
609: 
609: 
609:       explicit __shared_count(const __weak_count<_Lp>& __r);
609: 
609: 
609:       explicit
609:       __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept;
609: 
609:       ~__shared_count() noexcept
609:       {
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_release();
609:       }
609: 
609:       __shared_count(const __shared_count& __r) noexcept
609:       : _M_pi(__r._M_pi)
609:       {
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_add_ref_copy();
609:       }
609: 
609:       __shared_count&
609:       operator=(const __shared_count& __r) noexcept
609:       {
609:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
609:  if (__tmp != _M_pi)
609:    {
609:      if (__tmp != nullptr)
609:        __tmp->_M_add_ref_copy();
609:      if (_M_pi != nullptr)
609:        _M_pi->_M_release();
609:      _M_pi = __tmp;
609:    }
609:  return *this;
609:       }
609: 
609:       void
609:       _M_swap(__shared_count& __r) noexcept
609:       {
609:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
609:  __r._M_pi = _M_pi;
609:  _M_pi = __tmp;
609:       }
609: 
609:       long
609:       _M_get_use_count() const noexcept
609:       { return _M_pi ? _M_pi->_M_get_use_count() : 0; }
609: 
609:       bool
609:       _M_unique() const noexcept
609:       { return this->_M_get_use_count() == 1; }
609: 
609:       void*
609:       _M_get_deleter(const std::type_info& __ti) const noexcept
609:       { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; }
609: 
609:       bool
609:       _M_less(const __shared_count& __rhs) const noexcept
609:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
609: 
609:       bool
609:       _M_less(const __weak_count<_Lp>& __rhs) const noexcept
609:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
609: 
609: 
609:       friend inline bool
609:       operator==(const __shared_count& __a, const __shared_count& __b) noexcept
609:       { return __a._M_pi == __b._M_pi; }
609: 
609:     private:
609:       friend class __weak_count<_Lp>;
609: 
609: 
609: 
609: 
609:       _Sp_counted_base<_Lp>* _M_pi;
609:     };
609: 
609: 
609:   template<_Lock_policy _Lp>
609:     class __weak_count
609:     {
609:     public:
609:       constexpr __weak_count() noexcept : _M_pi(nullptr)
609:       { }
609: 
609:       __weak_count(const __shared_count<_Lp>& __r) noexcept
609:       : _M_pi(__r._M_pi)
609:       {
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_weak_add_ref();
609:       }
609: 
609:       __weak_count(const __weak_count& __r) noexcept
609:       : _M_pi(__r._M_pi)
609:       {
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_weak_add_ref();
609:       }
609: 
609:       __weak_count(__weak_count&& __r) noexcept
609:       : _M_pi(__r._M_pi)
609:       { __r._M_pi = nullptr; }
609: 
609:       ~__weak_count() noexcept
609:       {
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_weak_release();
609:       }
609: 
609:       __weak_count&
609:       operator=(const __shared_count<_Lp>& __r) noexcept
609:       {
609:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
609:  if (__tmp != nullptr)
609:    __tmp->_M_weak_add_ref();
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_weak_release();
609:  _M_pi = __tmp;
609:  return *this;
609:       }
609: 
609:       __weak_count&
609:       operator=(const __weak_count& __r) noexcept
609:       {
609:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
609:  if (__tmp != nullptr)
609:    __tmp->_M_weak_add_ref();
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_weak_release();
609:  _M_pi = __tmp;
609:  return *this;
609:       }
609: 
609:       __weak_count&
609:       operator=(__weak_count&& __r) noexcept
609:       {
609:  if (_M_pi != nullptr)
609:    _M_pi->_M_weak_release();
609:  _M_pi = __r._M_pi;
609:         __r._M_pi = nullptr;
609:  return *this;
609:       }
609: 
609:       void
609:       _M_swap(__weak_count& __r) noexcept
609:       {
609:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
609:  __r._M_pi = _M_pi;
609:  _M_pi = __tmp;
609:       }
609: 
609:       long
609:       _M_get_use_count() const noexcept
609:       { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; }
609: 
609:       bool
609:       _M_less(const __weak_count& __rhs) const noexcept
609:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
609: 
609:       bool
609:       _M_less(const __shared_count<_Lp>& __rhs) const noexcept
609:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
609: 
609: 
609:       friend inline bool
609:       operator==(const __weak_count& __a, const __weak_count& __b) noexcept
609:       { return __a._M_pi == __b._M_pi; }
609: 
609:     private:
609:       friend class __shared_count<_Lp>;
609: 
609: 
609: 
609: 
609:       _Sp_counted_base<_Lp>* _M_pi;
609:     };
609: 
609: 
609:   template<_Lock_policy _Lp>
609:     inline
609:     __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r)
609:     : _M_pi(__r._M_pi)
609:     {
609:       if (_M_pi == nullptr || !_M_pi->_M_add_ref_lock_nothrow())
609:  __throw_bad_weak_ptr();
609:     }
609: 
609: 
609:   template<_Lock_policy _Lp>
609:     inline
609:     __shared_count<_Lp>::
609:     __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept
609:     : _M_pi(__r._M_pi)
609:     {
609:       if (_M_pi && !_M_pi->_M_add_ref_lock_nothrow())
609:  _M_pi = nullptr;
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Yp_ptr, typename _Tp_ptr>
609:     struct __sp_compatible_with
609:     : false_type
609:     { };
609: 
609:   template<typename _Yp, typename _Tp>
609:     struct __sp_compatible_with<_Yp*, _Tp*>
609:     : is_convertible<_Yp*, _Tp*>::type
609:     { };
609: 
609:   template<typename _Up, size_t _Nm>
609:     struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]>
609:     : true_type
609:     { };
609: 
609:   template<typename _Up, size_t _Nm>
609:     struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]>
609:     : true_type
609:     { };
609: 
609:   template<typename _Up, size_t _Nm>
609:     struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]>
609:     : true_type
609:     { };
609: 
609:   template<typename _Up, size_t _Nm>
609:     struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]>
609:     : true_type
609:     { };
609: 
609: 
609:   template<typename _Up, size_t _Nm, typename _Yp, typename = void>
609:     struct __sp_is_constructible_arrN
609:     : false_type
609:     { };
609: 
609:   template<typename _Up, size_t _Nm, typename _Yp>
609:     struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>>
609:     : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type
609:     { };
609: 
609: 
609:   template<typename _Up, typename _Yp, typename = void>
609:     struct __sp_is_constructible_arr
609:     : false_type
609:     { };
609: 
609:   template<typename _Up, typename _Yp>
609:     struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>>
609:     : is_convertible<_Yp(*)[], _Up(*)[]>::type
609:     { };
609: 
609: 
609:   template<typename _Tp, typename _Yp>
609:     struct __sp_is_constructible;
609: 
609: 
609:   template<typename _Up, size_t _Nm, typename _Yp>
609:     struct __sp_is_constructible<_Up[_Nm], _Yp>
609:     : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type
609:     { };
609: 
609: 
609:   template<typename _Up, typename _Yp>
609:     struct __sp_is_constructible<_Up[], _Yp>
609:     : __sp_is_constructible_arr<_Up, _Yp>::type
609:     { };
609: 
609: 
609:   template<typename _Tp, typename _Yp>
609:     struct __sp_is_constructible
609:     : is_convertible<_Yp*, _Tp*>::type
609:     { };
609: 
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp,
609:     bool = is_array<_Tp>::<_Iterator> >
1412:     {
1412:       enum { __value = 1 };
1412:       typedef __true_type __type;
1412:     };
1412: 
1412:   template<typename _Iterator>
1412:    
1412:     auto
1412:     __miter_base(move_iterator<_Iterator> __it)
1412:     -> decltype(__miter_base(__it.base()))
1412:     { return __miter_base(__it.base()); }
1412: # 2584 "/usr/include/c++/12/bits/stl_iterator.h" 3
1412:   template<typename _InputIterator>
1412:     using __iter_key_t = remove_const_t<
1412:     typename iterator_traits<_InputIterator>::value_type::first_type>;
1412: 
1412:   template<typename _InputIterator>
1412:     using __iter_val_t =
1412:     typename iterator_traits<_InputIterator>::value_type::second_type;
1412: 
1412:   template<typename _T1, typename _T2>
1412:     struct pair;
1412: 
1412:   template<typename _InputIterator>
1412:     using __iter_to_alloc_t =
1412:     pair<add_const_t<__iter_key_t<_InputIterator>>,
1412:   __iter_val_t<_InputIterator>>;
1412: 
1412: 
1412: 
1412: }
1412: # 68 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/debug/debug.h" 1 3
1412: # 48 "/usr/include/c++/12/debug/debug.h" 3
1412: namespace std
1412: {
1412:   namespace __debug { }
1412: }
1412: 
1412: 
1412: 
1412: 
1412: namespace __gnu_debug
1412: {
1412:   using namespace std::__debug;
1412: 
1412:   template<typename _Ite, typename _Seq, typename _Cat>
1412:     struct _Safe_iterator;
1412: }
1412: # 70 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/predefined_ops.h" 1 3
1412: # 35 "/usr/include/c++/12/bits/predefined_ops.h" 3
1412: namespace __gnu_cxx
1412: {
1412: namespace __ops
1412: {
1412:   struct _Iter_less_iter
1412:   {
1412:     template<typename _Iterator1, typename _Iterator2>
1412:       constexpr
1412:       bool
1412:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1412:       { return *__it1 < *__it2; }
1412:   };
1412: 
1412:   constexpr
1412:   inline _Iter_less_iter
1412:   __iter_less_iter()
1412:   { return _Iter_less_iter(); }
1412: 
1412:   struct _Iter_less_val
1412:   {
1412: 
1412:     constexpr _Iter_less_val() = default;
1412: 
1412: 
1412: 
1412: 
1412:    
1412:     explicit
1412:     _Iter_less_val(_Iter_less_iter) { }
1412: 
1412:     template<typename _Iterator, typename _Value>
1412:      
1412:       bool
1412:       operator()(_Iterator __it, _Value& __val) const
1412:       { return *__it < __val; }
1412:   };
1412: 
1412:  
1412:   inline _Iter_less_val
1412:   __iter_less_val()
1412:   { return _Iter_less_val(); }
1412: 
1412:  
1412:   inline _Iter_less_val
1412:   __iter_comp_val(_Iter_less_iter)
1412:   { return _Iter_less_val(); }
1412: 
1412:   struct _Val_less_iter
1412:   {
1412: 
1412:     constexpr _Val_less_iter() = default;
1412: 
1412: 
1412: 
1412: 
1412:    
1412:     explicit
1412:     _Val_less_iter(_Iter_less_iter) { }
1412: 
1412:     template<typename _Value, typename _Iterator>
1412:      
1412:       bool
1412:       operator()(_Value& __val, _Iterator __it) const
1412:       { return __val < *__it; }
1412:   };
1412: 
1412:  
1412:   inline _Val_less_iter
1412:   __val_less_iter()
1412:   { return _Val_less_iter(); }
1412: 
1412:  
1412:   inline _Val_less_iter
1412:   __val_comp_iter(_Iter_less_iter)
1412:   { return _Val_less_iter(); }
1412: 
1412:   struct _Iter_equal_to_iter
1412:   {
1412:     template<typename _Iterator1, typename _Iterator2>
1412:      
1412:       bool
1412:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1412:       { return *__it1 == *__it2; }
1412:   };
1412: 
1412:  
1412:   inline _Iter_equal_to_iter
1412:   __iter_equal_to_iter()
1412:   { return _Iter_equal_to_iter(); }
1412: 
1412:   struct _Iter_equal_to_val
1412:   {
1412:     template<typename _Iterator, typename _Value>
1412:      
1412:       bool
1412:       operator()(_Iterator __it, _Value& __val) const
1412:       { return *__it == __val; }
1412:   };
1412: 
1412:  
1412:   inline _Iter_equal_to_val
1412:   __iter_equal_to_val()
1412:   { return _Iter_equal_to_val(); }
1412: 
1412:  false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1115: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1115: 
1115: 
1115: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1115: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; templavalue, bool = is_void<_Tp>::value>
609:     class __shared_ptr_access
609:     {
609:     public:
609:       using element_type = _Tp;
609: 
609:       element_type&
609:       operator*() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
609:  return *_M_get();
609:       }
609: 
609:       element_type*
609:       operator->() const noexcept
609:       {
609:  ;
609:  return _M_get();
609:       }
609: 
609:     private:
609:       element_type*
609:       _M_get() const noexcept
609:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
609:     };
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     class __shared_ptr_access<_Tp, _Lp, false, true>
609:     {
609:     public:
609:       using element_type = _Tp;
609: 
609:       element_type*
609:       operator->() const noexcept
609:       {
609:  auto __ptr = static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get();
609:  ;
609:  return __ptr;
609:       }
609:     };
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     class __shared_ptr_access<_Tp, _Lp, true, false>
609:     {
609:     public:
609:       using element_type = typename remove_extent<_Tp>::type;
609: # 1407 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609:       element_type&
609:       operator[](ptrdiff_t __i) const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(!extent<_Tp>::value || __i < extent<_Tp>::value)) __builtin_unreachable(); } while (false);
609:  return _M_get()[__i];
609:       }
609: 
609:     private:
609:       element_type*
609:       _M_get() const noexcept
609:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
609:     };
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     class __shared_ptr
609:     : public __shared_ptr_access<_Tp, _Lp>
609:     {
609:     public:
609:       using element_type = typename remove_extent<_Tp>::type;
609: 
609:     private:
609: 
609:       template<typename _Yp>
609:  using _SafeConv
609:    = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type;
609: 
609: 
609:       template<typename _Yp, typename _Res = void>
609:  using _Compatible = typename
609:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
609: 
609: 
609:       template<typename _Yp>
609:  using _Assignable = _Compatible<_Yp, __shared_ptr&>;
609: 
609: 
609:       template<typename _Yp, typename _Del, typename _Res = void,
609:         typename _Ptr = typename unique_ptr<_Yp, _Del>::pointer>
609:  using _UniqCompatible = __enable_if_t<__and_<
609:    __sp_compatible_with<_Yp*, _Tp*>,
609:    is_convertible<_Ptr, element_type*>,
609:    is_move_constructible<_Del>
609:    >::value, _Res>;
609: 
609: 
609:       template<typename _Yp, typename _Del>
609:  using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>;
609: 
609:     public:
609: 
609: 
609:       using weak_type = __weak_ptr<_Tp, _Lp>;
609: 
609: 
609:       constexpr __shared_ptr() noexcept
609:       : _M_ptr(0), _M_refcount()
609:       { }
609: 
609:       template<typename _Yp, typename = _SafeConv<_Yp>>
609:  explicit
609:  __shared_ptr(_Yp* __p)
609:  : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
609:  {
609:    static_assert( !is_void<_Yp>::value, "incomplete type" );
609:    static_assert( sizeof(_Yp) > 0, "incomplete type" );
609:    _M_enable_shared_from_this_with(__p);
609:  }
609: 
609:       template<typename _Yp, typename _Deleter, typename = _SafeConv<_Yp>>
609:  __shared_ptr(_Yp* __p, _Deleter __d)
609:  : _M_ptr(__p), _M_refcount(__p, std::move(__d))
609:  {
609:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
609:        "deleter expression d(p) is well-formed");
609:    _M_enable_shared_from_this_with(__p);
609:  }
609: 
609:       template<typename _Yp, typename _Deleter, typename _Alloc,
609:         typename = _SafeConv<_Yp>>
609:  __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
609:  : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a))
609:  {
609:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
609:        "deleter expression d(p) is well-formed");
609:    _M_enable_shared_from_this_with(__p);
609:  }
609: 
609:       template<typename _Deleter>
609:  __shared_ptr(nullptr_t __p, _Deleter __d)
609:  : _M_ptr(0), _M_refcount(__p, std::move(__d))
609:  { }
609: 
609:       template<typename _Deleter, typename _Alloc>
609:         __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
609:  : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a))
609:  { }
609: 
609: 
609:       template<typename _Yp>
609:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r,
609:        element_type* __p) noexcept
609:  : _M_ptr(__p), _M_refcount(__r._M_refcount)
609:  { }
609: 
609: 
609:       template<typename _Yp>
609:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r,
609:        element_type* __p) noexcept
609:  : _M_ptr(__p), _M_refcount()
609:  {
609:    _M_refcount._M_swap(__r._M_refcount);
609:    __r._M_ptr = nullptr;
609:  }
609: 
609:       __shared_ptr(const __shared_ptr&) noexcept = default;
609:       __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
609:       ~__shared_ptr() = default;
609: 
609:       template<typename _Yp, typename = _Compatible<_Yp>>
609:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
609:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
609:  { }
609: 
609:       __shared_ptr(__shared_ptr&& __r) noexcept
609:       : _M_ptr(__r._M_ptr), _M_refcount()
609:       {
609:  _M_refcount._M_swap(__r._M_refcount);
609:  __r._M_ptr = nullptr;
609:       }
609: 
609:       template<typename _Yp, typename = _Compatible<_Yp>>
609:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept
609:  : _M_ptr(__r._M_ptr), _M_refcount()
609:  {
609:    _M_refcount._M_swap(__r._M_refcount);
609:    __r._M_ptr = nullptr;
609:  }
609: 
609:       template<typename _Yp, typename = _Compatible<_Yp>>
609:  explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r)
609:  : _M_refcount(__r._M_refcount)
609:  {
609: 
609: 
609:    _M_ptr = __r._M_ptr;
609:  }
609: 
609: 
609:       template<typename _Yp, typename _Del,
609:         typename = _UniqCompatible<_Yp, _Del>>
609:  __shared_ptr(unique_ptr<_Yp, _Del>&& __r)
609:  : _M_ptr(__r.get()), _M_refcount()
609:  {
609:    auto __raw = __to_address(__r.get());
609:    _M_refcount = __shared_count<_Lp>(std::move(__r));
609:    _M_enable_shared_from_this_with(__raw);
609:  }
609: # 1585 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609:       template<typename _Yp, typename = _Compatible<_Yp>>
609:  __shared_ptr(auto_ptr<_Yp>&& __r);
609: #pragma GCC diagnostic pop
609: 
609: 
609:       constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
609: 
609:       template<typename _Yp>
609:  _Assignable<_Yp>
609:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
609:  {
609:    _M_ptr = __r._M_ptr;
609:    _M_refcount = __r._M_refcount;
609:    return *this;
609:  }
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:       template<typename _Yp>
609:  _Assignable<_Yp>
609:  operator=(auto_ptr<_Yp>&& __r)
609:  {
609:    __shared_ptr(std::move(__r)).swap(*this);
609:    return *this;
609:  }
609: #pragma GCC diagnostic pop
609: 
609: 
609:       __shared_ptr&
609:       operator=(__shared_ptr&& __r) noexcept
609:       {
609:  __shared_ptr(std::move(__r)).swap(*this);
609:  return *this;
609:       }
609: 
609:       template<class _Yp>
609:  _Assignable<_Yp>
609:  operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
609:  {
609:    __shared_ptr(std::move(__r)).swap(*this);
609:    return *this;
609:  }
609: 
609:       template<typename _Yp, typename _Del>
609:  _UniqAssignable<_Yp, _Del>
609:  operator=(unique_ptr<_Yp, _Del>&& __r)
609:  {
609:    __shared_ptr(std::move(__r)).swap(*t 
1412:   inline _Iter_equal_to_val
1412:   __iter_comp_val(_Iter_equal_to_iter)
1412:   { return _Iter_equal_to_val(); }
1412: 
1412:   template<typename _Compare>
1412:     struct _Iter_comp_iter
1412:     {
1412:       _Compare _M_comp;
1412: 
1412:       explicit constexpr
1412:       _Iter_comp_iter(_Compare __comp)
1412:  : _M_comp(std::move(__comp))
1412:       { }
1412: 
1412:       template<typename _Iterator1, typename _Iterator2>
1412:         constexpr
1412:         bool
1412:         operator()(_Iterator1 __it1, _Iterator2 __it2)
1412:         { return bool(_M_comp(*__it1, *__it2)); }
1412:     };
1412: 
1412:   template<typename _Compare>
1412:     constexpr
1412:     inline _Iter_comp_iter<_Compare>
1412:     __iter_comp_iter(_Compare __comp)
1412:     { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
1412: 
1412:   template<typename _Compare>
1412:     struct _Iter_comp_val
1412:     {
1412:       _Compare _M_comp;
1412: 
1412:      
1412:       explicit
1412:       _Iter_comp_val(_Compare __comp)
1412:  : _M_comp(std::move(__comp))
1412:       { }
1412: 
1412:      
1412:       explicit
1412:       _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
1412:  : _M_comp(__comp._M_comp)
1412:       { }
1412: 
1412: 
1412:      
1412:       explicit
1412:       _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
1412:  : _M_comp(std::move(__comp._M_comp))
1412:       { }
1412: 
1412: 
1412:       template<typename _Iterator, typename _Value>
1412: 
1412:  bool
1412:  operator()(_Iterator __it, _Value& __val)
1412:  { return bool(_M_comp(*__it, __val)); }
1412:     };
1412: 
1412:   template<typename _Compare>
1412:    
1412:     inline _Iter_comp_val<_Compare>
1412:     __iter_comp_val(_Compare __comp)
1412:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1412: 
1412:   template<typename _Compare>
1412:    
1412:     inline _Iter_comp_val<_Compare>
1412:     __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
1412:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1412: 
1412:   template<typename _Compare>
1412:     struct _Val_comp_iter
1412:     {
1412:       _Compare _M_comp;
1412: 
1412:      
1412:       explicit
1412:       _Val_comp_iter(_Compare __comp)
1412:  : _M_comp(std::move(__comp))
1412:       { }
1412: 
1412:      
1412:       explicit
1412:       _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
1412:  : _M_comp(__comp._M_comp)
1412:       { }
1412: 
1412: 
1412:      
1412:       explicit
1412:       _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
1412:  : _M_comp(std::move(__comp._M_comp))
1412:       { }
1412: 
1412: 
1412:       template<typename _Value, typename _Iterator>
1412: 
1412:  bool
1412:  operator()(_Value& __val, _Iterator __it)
1412:  { return bool(_M_comp(__val, *__it)); }
1412:     };
1412: 
1412:   template<typename _Compare>
1412:    
1412:     inline _Val_comp_iter<_Compare>
1412:     __val_comp_iter(_Compare __comp)
1412:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1412: 
1412:   template<typename _Compare>
1412:    
1412:     inline _Val_comp_iter<_Compare>
1412:     __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
1412:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1412: 
1412:   template<typename _Value>
1412:     struct _Iter_equals_val
1412:     {
1412:       _Value& _M_value;
1412: 
1412:      
1412:       explicit
1412:       _Iter_equals_val(_Value& __value)
1412:  : _M_value(__value)
1412:       { }
1412: 
1412:       template<typename _Iterator>
1412: 
1412:  bool
1412:  operator()(_Iterator __it)
1412:  { return *__it == _M_value; }
1412:     };
1412: 
1412:   template<typename _Value>
1412:    
1412:     inline _Iter_equals_val<_Value>
1412:     __iter_equals_val(_Value& __val)
1412:     { return _Iter_equals_val<_Value>(__val); }
1412: 
1412:   template<typename _Iterator1>
1412:     struct _Iter_equals_iter
1412:     {
1412:       _Iterator1 _M_it1;
1412: 
1412:      
1412:       explicit
1412:       _Iter_equals_iter(_Iterator1 __it1)
1412:  : _M_it1(__it1)
1412:       { }
1412: 
1412:  te<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1115: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Functor, typename = __void_t<>>
1115:     struct _Maybe_get_result_type
1115:     { };
1115: 
1115:   template<typename _Functor>
1115:     struct _Maybe_get_result_type<_Functor,
1115:       __void_t<typename _Functor::result_type>>
1115:     { typedef typename _Functor::result_type result_type; };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Functor>
1115:     struct _Weak_result_type_impl
1115:     : _Maybe_get_result_type<_Functor>
1115:     { };
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes , bool _NE>
1115:   his);
609:    return *this;
609:  }
609: 
609:       void
609:       reset() noexcept
609:       { __shared_ptr().swap(*this); }
609: 
609:       template<typename _Yp>
609:  _SafeConv<_Yp>
609:  reset(_Yp* __p)
609:  {
609: 
609:    do { if (std::__is_constant_evaluated() && !bool(__p == nullptr || __p != _M_ptr)) __builtin_unreachable(); } while (false);
609:    __shared_ptr(__p).swap(*this);
609:  }
609: 
609:       template<typename _Yp, typename _Deleter>
609:  _SafeConv<_Yp>
609:  reset(_Yp* __p, _Deleter __d)
609:  { __shared_ptr(__p, std::move(__d)).swap(*this); }
609: 
609:       template<typename _Yp, typename _Deleter, typename _Alloc>
609:  _SafeConv<_Yp>
609:  reset(_Yp* __p, _Deleter __d, _Alloc __a)
609:         { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); }
609: 
609: 
609:       element_type*
609:       get() const noexcept
609:       { return _M_ptr; }
609: 
609: 
609:       explicit operator bool() const noexcept
609:       { return _M_ptr != nullptr; }
609: 
609: 
609:       bool
609:       unique() const noexcept
609:       { return _M_refcount._M_unique(); }
609: 
609: 
609:       long
609:       use_count() const noexcept
609:       { return _M_refcount._M_get_use_count(); }
609: 
609: 
609:       void
609:       swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
609:       {
609:  std::swap(_M_ptr, __other._M_ptr);
609:  _M_refcount._M_swap(__other._M_refcount);
609:       }
609: # 1697 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609:       template<typename _Tp1>
609:  bool
609:  owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept
609:  { return _M_refcount._M_less(__rhs._M_refcount); }
609: 
609:       template<typename _Tp1>
609:  bool
609:  owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept
609:  { return _M_refcount._M_less(__rhs._M_refcount); }
609: 
609: 
609:     protected:
609: 
609:       template<typename _Alloc, typename... _Args>
609:  __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
609:  : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
609:  { _M_enable_shared_from_this_with(_M_ptr); }
609: 
609:       template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
609:         typename... _Args>
609:  friend __shared_ptr<_Tp1, _Lp1>
609:  __allocate_shared(const _Alloc& __a, _Args&&... __args);
609: # 1731 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609:       __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) noexcept
609:       : _M_refcount(__r._M_refcount, std::nothrow)
609:       {
609:  _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr;
609:       }
609: 
609:       friend class __weak_ptr<_Tp, _Lp>;
609: 
609:     private:
609: 
609:       template<typename _Yp>
609:  using __esft_base_t = decltype(__enable_shared_from_this_base(
609:        std::declval<const __shared_count<_Lp>&>(),
609:        std::declval<_Yp*>()));
609: 
609: 
609:       template<typename _Yp, typename = void>
609:  struct __has_esft_base
609:  : false_type { };
609: 
609:       template<typename _Yp>
609:  struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>>
609:  : __not_<is_array<_Tp>> { };
609: 
609:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
609:  typename enable_if<__has_esft_base<_Yp2>::value>::type
609:  _M_enable_shared_from_this_with(_Yp* __p) noexcept
609:  {
609:    if (auto __base = __enable_shared_from_this_base(_M_refcount, __p))
609:      __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount);
609:  }
609: 
609:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
609:  typename enable_if<!__has_esft_base<_Yp2>::value>::type
609:  _M_enable_shared_from_this_with(_Yp*) noexcept
609:  { }
609: 
609:       void*
609:       _M_get_deleter(const std::type_info& __ti) const noexcept
609:       { return _M_refcount._M_get_deleter(__ti); }
609: 
609:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
609:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
609: 
609:       tem     template<typename _Iterator2>
1412: 
1412:  bool
1412:  operator()(_Iterator2 __it2)
1412:  { return *__it2 == *_M_it1; }
1412:     };
1412: 
1412:   template<typename _Iterator>
1412:    
1412:     inline _Iter_equals_iter<_Iterator>
1412:     __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
1412:     { return _Iter_equals_iter<_Iterator>(__it); }
1412: 
1412:   template<typename _Predicate>
1412:     struct _Iter_pred
1412:     {
1412:       _Predicate _M_pred;
1412: 
1412:      
1412:       explicit
1412:       _Iter_pred(_Predicate __pred)
1412:  : _M_pred(std::move(__pred))
1412:       { }
1412: 
1412:       template<typename _Iterator>
1412: 
1412:  bool
1412:  operator()(_Iterator __it)
1412:  { return bool(_M_pred(*__it)); }
1412:     };
1412: 
1412:   template<typename _Predicate>
1412:    
1412:     inline _Iter_pred<_Predicate>
1412:     __pred_iter(_Predicate __pred)
1412:     { return _Iter_pred<_Predicate>(std::move(__pred)); }
1412: 
1412:   template<typename _Compare, typename _Value>
1412:     struct _Iter_comp_to_val
1412:     {
1412:       _Compare _M_comp;
1412:       _Value& _M_value;
1412: 
1412:      
1412:       _Iter_comp_to_val(_Compare __comp, _Value& __value)
1412:  : _M_comp(std::move(__comp)), _M_value(__value)
1412:       { }
1412: 
1412:       template<typename _Iterator>
1412: 
1412:  bool
1412:  operator()(_Iterator __it)
1412:  { return bool(_M_comp(*__it, _M_value)); }
1412:     };
1412: 
1412:   template<typename _Compare, typename _Value>
1412:     _Iter_comp_to_val<_Compare, _Value>
1412:    
1412:     __iter_comp_val(_Compare __comp, _Value &__val)
1412:     {
1412:       return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
1412:     }
1412: 
1412:   template<typename _Compare, typename _Iterator1>
1412:     struct _Iter_comp_to_iter
1412:     {
1412:       _Compare _M_comp;
1412:       _Iterator1 _M_it1;
1412: 
1412:      
1412:       _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
1412:  : _M_comp(std::move(__comp)), _M_it1(__it1)
1412:       { }
1412: 
1412:       template<typename _Iterator2>
1412: 
1412:  bool
1412:  operator()(_Iterator2 __it2)
1412:  { return bool(_M_comp(*__it2, *_M_it1)); }
1412:     };
1412: 
1412:   template<typename _Compare, typename _Iterator>
1412:    
1412:     inline _Iter_comp_to_iter<_Compare, _Iterator>
1412:     __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
1412:     {
1412:       return _Iter_comp_to_iter<_Compare, _Iterator>(
1412:    std::move(__comp._M_comp), __it);
1412:     }
1412: 
1412:   template<typename _Predicate>
1412:     struct _Iter_negate
1412:     {
1412:       _Predicate _M_pred;
1412: 
1412:      
1412:       explicit
1412:       _Iter_negate(_Predicate __pred)
1412:  : _M_pred(std::move(__pred))
1412:       { }
1412: 
1412:       template<typename _Iterator>
1412: 
1412:  bool
1412:  operator()(_Iterator __it)
1412:  { return !bool(_M_pred(*__it)); }
1412:     };
1412: 
1412:   template<typename _Predicate>
1412:    
1412:     inline _Iter_negate<_Predicate>
1412:     __negate(_Iter_pred<_Predicate> __pred)
1412:     { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
1412: 
1412: }
1412: }
1412: # 72 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr
1412:     inline int
1412:     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
1412:     {
1412: 
1412:       static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
1412: # 105 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:  return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
1412:     }
1412: # 149 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1412:    
1412:     inline void
1412:     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
1412:     {
1412: 
1412:      
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   using true_type = integral_constant<bool, true>;
1417: 
1417: 
1417:   using false_type = integral_constant<bool, false>;
1417: 
1417: 
1417: 
1417:   template<bool __v>
1417:     using __bool_constant = integral_constant<bool, __v>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<bool __v>
1417:     using bool_constant = integral_constant<bool, __v>;
1417: 
1417: 
1417: 
1417: 
1417:   template<bool>
1417:     struct __conditional
1417:     {
1417:       template<typename _Tp, typename>
1417:  using type = _Tp;
1417:     };
1417: 
1417:   template<>
1417:     struct __conditional<false>
1417:     {
1417:       template<typename, typename _Up>
1417:  using type = _Up;
1417:     };
1417: 
1417: 
1417:   template<bool _Cond, typename _If, typename _Else>
1417:     using __conditional_t
1417:       = typename __conditional<_Cond>::template type<_If, _Else>;
1417: 
1417: 
1417:   template <typename _Type>
1417:     struct __type_identity
1417:     { using type = _Type; };
1417: 
1417:   template<typename _Tp>
1417:     using __type_identity_t = typename __type_identity<_Tp>::type;
1417: 
1417:   template<typename...>
1417:     struct __or_;
1417: 
1417:   template<>
1417:     struct __or_<>
1417:     : public false_type
1417:     { };
1417: 
1417:   template<typename _B1>
1417:     struct __or_<_B1>
1417:     : public _B1
1417:     { };
1417: 
1417:   template<typename _B1, typename _B2>
1417:     struct __or_<_B1, _B2>
1417:     : public __conditional_t<_B1::value, _B1, _B2>
1417:     { };
1417: 
1417:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1417:     struct __or_<_B1, _B2, _B3, _Bn...>
1417:     : public __conditional_t<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>
1417:     { };
1417: 
1417:   template<typename...>
1417:     struct __and_;
1417: 
1417:   template<>
1417:     struct __and_<>
1417:     : public true_type
1417:     { };
1417: 
1417:   template<typename _B1>
1417:     struct __and_<_B1>
1417:     : public _B1
1417:     { };
1417: 
1417:   template<typename _B1, typename _B2>
1417:     struct __and_<_B1, _B2>
1417:     : public __conditional_t<_B1::value, _B2, _B1>
1417:     { };
1417: 
1417:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1417:     struct __and_<_B1, _B2, _B3, _Bn...>
1417:     : public __conditional_t<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>
1417:     { };
1417: 
1417:   template<typename _Pp>
1417:     struct __not_
1417:     : public __bool_constant<!bool(_Pp::value)>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename... _Bn>
1417:     inline constexpr bool __or_v = __or_<_Bn...>::value;
1417:   template<typename... _Bn>
1417:     inline constexpr bool __and_v = __and_<_Bn...>::value;
1417: 
1417: 
1417: 
1417: 
1417:   template<typename... _Bn>
1417:     struct conjunction
1417:     : __and_<_Bn...>
1417:     { };
1417: 
1417:   template<typename... _Bn>
1417:     struct disjunction
1417:     : __or_<_Bn...>
1417:     { };
1417: 
1417:   template<typename _Pp>
1417:     struct negation
1417:     : __not_<_Pp>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename... _Bn>
1417:     inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
1417: 
1417:   template<typename... _Bn>
1417:     inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
1417: 
1417:   template<typename _Pp>
1417:     inline constexpr bool negation_v = negation<_Pp>::value;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename>
1417:     struct is_reference;
1417:   template<typename>
1417:     struct is_function;
1417:   template<typename>
1417:     struct is_void;
1417:   template<typename>
1417:     struct remove_cv;
1417:   template<typename>
1417:     struct is_const;
1417: 
1417: 
1417:   template<typename>
1417:     struct __is_array_unknown_bounds;
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, size_t = sizeof(_Tp)>
1417:     constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
1417:     { return {}; }
1417:plate<typename _Del, typename _Tp1, _Lock_policy _Lp1>
609:  friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
609: 
609:       template<typename _Del, typename _Tp1>
609:  friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept;
609: 
609: 
609: 
609: 
609: 
609:       element_type* _M_ptr;
609:       __shared_count<_Lp> _M_refcount;
609:     };
609: 
609: 
609: 
609:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
609:     inline bool
609:     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
609:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
609:     { return __a.get() == __b.get(); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
609:     { return !__a; }
609: # 1817 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
609:     { return !__a; }
609: 
609:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
609:     inline bool
609:     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
609:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
609:     { return __a.get() != __b.get(); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
609:     { return (bool)__a; }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
609:     { return (bool)__a; }
609: 
609:   template<typename _Tp, typename _Up, _Lock_policy _Lp>
609:     inline bool
609:     operator<(const __shared_ptr<_Tp, _Lp>& __a,
609:        const __shared_ptr<_Up, _Lp>& __b) noexcept
609:     {
609:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
609:       using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type;
609:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
609:       return less<_Vp>()(__a.get(), __b.get());
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
609:     {
609:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
609:       return less<_Tp_elt*>()(__a.get(), nullptr);
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
609:     {
609:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
609:       return less<_Tp_elt*>()(nullptr, __a.get());
609:     }
609: 
609:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
609:     inline bool
609:     operator<=(const __shared_ptr<_Tp1, _Lp>& __a,
609:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
609:     { return !(__b < __a); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
609:     { return !(nullptr < __a); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
609:     { return !(__a < nullptr); }
609: 
609:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
609:     inline bool
609:     operator>(const __shared_ptr<_Tp1, _Lp>& __a,
609:        const __shared_ptr<_Tp2, _Lp>& __b) noexcept
609:     { return (__b < __a); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
609:     { return nullptr < __a; }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
609:     { return __a < nullptr; }
609: 
609:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
609:     inline bool
609:     operator>=(const __shared_ptr<_Tp1, 
1417:   template <typename _TypeIdentity,
1417:       typename _NestedType = typename _TypeIdentity::type>
1417:     constexpr typename __or_<
1417:       is_reference<_NestedType>,
1417:       is_function<_NestedType>,
1417:       is_void<_NestedType>,
1417:       __is_array_unknown_bounds<_NestedType>
1417:     >::type __is_complete_or_unbounded(_TypeIdentity)
1417:     { return {}; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __success_type
1417:     { typedef _Tp type; };
1417: 
1417:   struct __failure_type
1417:   { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using __remove_cv_t = typename remove_cv<_Tp>::type;
1417: 
1417: 
1417: 
1417:   template<typename>
1417:     struct __is_void_helper
1417:     : public false_type { };
1417: 
1417:   template<>
1417:     struct __is_void_helper<void>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_void
1417:     : public __is_void_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename>
1417:     struct __is_integral_helper
1417:     : public false_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<bool>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<char>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<signed char>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<unsigned char>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct __is_integral_helper<wchar_t>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct __is_integral_helper<char16_t>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<char32_t>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<short>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<unsigned short>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<int>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<unsigned int>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<long>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<unsigned long>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<long long>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_integral_helper<unsigned long long>
1417:     : public true_type { };
1417: # 412 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Tp>
1417:     struct is_integral
1417:     : public __is_integral_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename>
1417:     struct __is_floating_point_helper
1417:     : public false_type { };
1417: 
1417:   template<>
1417:     struct __is_floating_point_helper<float>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_floating_point_helper<double>
1417:     : public true_type { };
1417: 
1417:   template<>
1417:     struct __is_floating_point_helper<long double>
1417:     : public true_type { };
1417: # 442 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Tp>
1417:     struct is_floating_point
1417:     : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename>
1417:     struct is_array
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp, std::size_t _Size>
1417:     struct is_array<_Tp[_Size]>
1417:     : public true_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct is_array<_Tp[]>
1417:     : public true_type { };
1417: 
1417:   template<typename>
1417:     struct __is_pointer_helper
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_pointer_helper<_Tp*>
1417:     : public true_type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_pointer
1417:     : public __is_pointer_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename>
1417:     struct is_lvalue_reference
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct is_lvalue_reference<_Tp&>
1417:     : public true_type { };
1417: 
1417: 
1417:   template<typename>
1417:     struct is_rvalue_reference
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct is_rvalue_reference<_Tp&&>
1417:     : public true_type { };
1417: 
1417:   template<typename>
1417:     struct __is_member_object_pointer_helper
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp, typename _Cp>
1417:     struct __is_member_object_pointer_helper<_Tp _Cp::*>
1417:     : public __not_<is_function<_Tp>>::type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_member_object_pointer
1417:     : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417:   template<typename>
1417:     struct __is_member_function_pointer_helper
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp, typename _Cp>
1417:     struct __is_member_function_pointer_helper<_Tp _Cp::*>
1417:     : public is_function<_Tp>::type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_member_function_pointer
1417:     : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_enum
1417:     : public integral_constant<bool, __is_enum(_Tp)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_union
1417:     : public integral_constant<bool, __is_union(_Tp)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_class
1417:     : public integral_constant<bool, __is_class(_Tp)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_function
1417:     : public __bool_constant<!is_const<const _Tp>::value> { };
1417: 
1417:   template<typename _Tp>
1417:     struct is_function<_Tp&>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct is_function<_Tp&&>
1417:     : public false_type { };
1417: 
1417: 
1417: 
1417:   template<typename>
1417:     struct __is_null_pointer_helper
1417:     : public false_type { };
1417: 
1417:   template<>
1417:     struct __is_null_pointer_helper<std::nullptr_t>
1417:     : public true_type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_null_pointer
1417:     : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nullptr_t
1417:     : public is_null_pointer<_Tp>
1417:     { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_reference
1417:     : public __or_<is_lvalue_reference<_Tp>,
1417:                    is_rvalue_reference<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_arithmetic
1417:     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_fundamental
1417:     : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
1417:      is_null_pointer<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_object
1417:     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
1417:                           is_void<_Tp>>>::type
1417:     { };
1417: 
1417:   template<typename>
1417:     struct is_member_pointer;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_scalar
1417:     : public __or_<is_
1412: 
1412:      
1412: # 182 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:       swap(*__a, *__b);
1412: 
1412:     }
1412: # 198 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1412:    
1412:     _ForwardIterator2
1412:     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:   _ForwardIterator2 __first2)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1412:  std::iter_swap(__first1, __first2);
1412:       return __first2;
1412:     }
1412: # 227 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _Tp>
1412:     constexpr
1412:     inline const _Tp&
1412:     min(const _Tp& __a, const _Tp& __b)
1412:     {
1412: 
1412:      
1412: 
1412:       if (__b < __a)
1412:  return __b;
1412:       return __a;
1412:     }
1412: # 251 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _Tp>
1412:     constexpr
1412:     inline const _Tp&
1412:     max(const _Tp& __a, const _Tp& __b)
1412:     {
1412: 
1412:      
1412: 
1412:       if (__a < __b)
1412:  return __b;
1412:       return __a;
1412:     }
1412: # 275 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     inline const _Tp&
1412:     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
1412:     {
1412: 
1412:       if (__comp(__b, __a))
1412:  return __b;
1412:       return __a;
1412:     }
1412: # 297 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     inline const _Tp&
1412:     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
1412:     {
1412: 
1412:       if (__comp(__a, __b))
1412:  return __b;
1412:       return __a;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Iterator>
1412:    
1412:     inline _Iterator
1412:     __niter_base(_Iterator __it)
1412:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1412:     { return __it; }
1412: 
1412:   template<typename _Ite, typename _Seq>
1412:     _Ite
1412:     __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
1412:    std::random_access_iterator_tag>&);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _From, typename _To>
1412:    
1412:     inline _From
1412:     __niter_wrap(_From __from, _To __res)
1412:     { return __from + (__res - std::__niter_base(__from)); }
1412: 
1412: 
1412:   template<typename _Iterator>
1412:    
1412:     inline _Iterator
1412:     __niter_wrap(const _Iterator&, _Iterator __res)
1412:     { return __res; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<bool _IsMove, bool _IsSimple, typename _Category>
1412:     struct __copy_move
1412:     {
1412:       template<typename _II, typename _OI>
1412: 
1412:  static _OI
1412:  __copy_m(_II __first, _II __last, _OI __result)
1412:  {
1412:    for (; __first != __last; ++__result, (void)++__first)
1412:      *__result = *__first;
1412:    return __result;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<typename _Category>
1412:     struct __copy_move<true, false, _Category>
1412:     {
1412:       template<typename _II, typename _OI>
1412: 
1412:  static _OI
1412:  __copy_m(_II __first, _II __last, _OI __result)
1412:  {
1412:    for (; __first != __last; ++__result, (void)++__first)
1412:      *__result = std::move(*__first);
1412:    return __result;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct __copy_move<false, false, random_access_iterator_tag>
1412:     {
1412:       template<typename _II, typename _OI>
1412: 
1412:  static _OI
1412:  __copy_m(_II __first, _II __last, _OI __result)
1412:  {
1412:    typedef typename iterator_traits<_II>::difference_type _Distance;
1412:    for(_Distance __n = __last - __first; __n > 0; --__n)
1412:      {
1412:        *__result = *__first;
1412:        ++__first;
1412:        ++__result;
1412:      }
1412:    return __result;
1412:  }
1412 _Lp>& __a,
609:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
609:     { return !(__a < __b); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
609:     { return !(__a < nullptr); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
609:     { return !(nullptr < __a); }
609: 
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline void
609:     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
609:     { __a.swap(__b); }
609: # 1927 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
609:     {
609:       using _Sp = __shared_ptr<_Tp, _Lp>;
609:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
609:     {
609:       using _Sp = __shared_ptr<_Tp, _Lp>;
609:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
609:     {
609:       using _Sp = __shared_ptr<_Tp, _Lp>;
609:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
609:  return _Sp(__r, __p);
609:       return _Sp();
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     reinterpret_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
609:     {
609:       using _Sp = __shared_ptr<_Tp, _Lp>;
609:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
609:     }
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     class __weak_ptr
609:     {
609:       template<typename _Yp, typename _Res = void>
609:  using _Compatible = typename
609:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
609: 
609: 
609:       template<typename _Yp>
609:  using _Assignable = _Compatible<_Yp, __weak_ptr&>;
609: 
609:     public:
609:       using element_type = typename remove_extent<_Tp>::type;
609: 
609:       constexpr __weak_ptr() noexcept
609:       : _M_ptr(nullptr), _M_refcount()
609:       { }
609: 
609:       __weak_ptr(const __weak_ptr&) noexcept = default;
609: 
609:       ~__weak_ptr() = default;
609: # 2009 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
609:       template<typename _Yp, typename = _Compatible<_Yp>>
609:  __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept
609:  : _M_refcount(__r._M_refcount)
609:         { _M_ptr = __r.lock().get(); }
609: 
609:       template<typename _Yp, typename = _Compatible<_Yp>>
609:  __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
609:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
609:  { }
609: 
609:       __weak_ptr(__weak_ptr&& __r) noexcept
609:       : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount))
609:       { __r._M_ptr = nullptr; }
609: 
609:       template<typename _Yp, typename = _Compatible<_Yp>>
609:  __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept
609:  : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount))
609:         { __r._M_ptr = nullptr; }
609: 
609:       __weak_ptr&
609:       operator=(const __weak_ptr& __r) noexcept = default;
609: 
609:       template<typename _Yp>
609:  _Assignable<_Yp>
609:  operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept
609:  {
609:    _M_ptr = __r.lock().get();
609:    _M_refcount = __r._M_refcount;
609:    return *this;
609:  }
609: 
609:       template<typename _Yp>
609:  _Assignabarithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
1417:                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_compound
1417:     : public __not_<is_fundamental<_Tp>>::type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_member_pointer_helper
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp, typename _Cp>
1417:     struct __is_member_pointer_helper<_Tp _Cp::*>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_member_pointer
1417:     : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type
1417:     { };
1417: 
1417:   template<typename, typename>
1417:     struct is_same;
1417: 
1417: 
1417:   template<typename _Tp, typename... _Types>
1417:     using __is_one_of = __or_<is_same<_Tp, _Types>...>;
1417: 
1417: 
1417:   __extension__
1417:   template<typename _Tp>
1417:     using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
1417:    signed char, signed short, signed int, signed long,
1417:    signed long long
1417: # 659 "/usr/include/c++/12/type_traits" 3
1417:    >;
1417: 
1417: 
1417:   __extension__
1417:   template<typename _Tp>
1417:     using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
1417:    unsigned char, unsigned short, unsigned int, unsigned long,
1417:    unsigned long long
1417: # 679 "/usr/include/c++/12/type_traits" 3
1417:    >;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using __is_standard_integer
1417:       = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
1417: 
1417: 
1417:   template<typename...> using __void_t = void;
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename = void>
1417:     struct __is_referenceable
1417:     : public false_type
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_referenceable<_Tp, __void_t<_Tp&>>
1417:     : public true_type
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename>
1417:     struct is_const
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct is_const<_Tp const>
1417:     : public true_type { };
1417: 
1417: 
1417:   template<typename>
1417:     struct is_volatile
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct is_volatile<_Tp volatile>
1417:     : public true_type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivial
1417:     : public integral_constant<bool, __is_trivial(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivially_copyable
1417:     : public integral_constant<bool, __is_trivially_copyable(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_standard_layout
1417:     : public integral_constant<bool, __is_standard_layout(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct
1417:    
1417:     is_pod
1417:     : public integral_constant<bool, __is_pod(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct
1417:     [[__deprecated__]]
1417:     is_literal_type
1417:     : public integral_constant<bool, __is_literal_type(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identle<_Yp>
609:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
609:  {
609:    _M_ptr = __r._M_ptr;
609:    _M_refcount = __r._M_refcount;
609:    return *this;
609:  }
609: 
609:       __weak_ptr&
609:       operator=(__weak_ptr&& __r) noexcept
609:       {
609:  _M_ptr = __r._M_ptr;
609:  _M_refcount = std::move(__r._M_refcount);
609:  __r._M_ptr = nullptr;
609:  return *this;
609:       }
609: 
609:       template<typename _Yp>
609:  _Assignable<_Yp>
609:  operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept
609:  {
609:    _M_ptr = __r.lock().get();
609:    _M_refcount = std::move(__r._M_refcount);
609:    __r._M_ptr = nullptr;
609:    return *this;
609:  }
609: 
609:       __shared_ptr<_Tp, _Lp>
609:       lock() const noexcept
609:       { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); }
609: 
609:       long
609:       use_count() const noexcept
609:       { return _M_refcount._M_get_use_count(); }
609: 
609:       bool
609:       expired() const noexcept
609:       { return _M_refcount._M_get_use_count() == 0; }
609: 
609:       template<typename _Tp1>
609:  bool
609:  owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept
609:  { return _M_refcount._M_less(__rhs._M_refcount); }
609: 
609:       template<typename _Tp1>
609:  bool
609:  owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept
609:  { return _M_refcount._M_less(__rhs._M_refcount); }
609: 
609:       void
609:       reset() noexcept
609:       { __weak_ptr().swap(*this); }
609: 
609:       void
609:       swap(__weak_ptr& __s) noexcept
609:       {
609:  std::swap(_M_ptr, __s._M_ptr);
609:  _M_refcount._M_swap(__s._M_refcount);
609:       }
609: 
609:     private:
609: 
609:       void
609:       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
609:       {
609:  if (use_count() == 0)
609:    {
609:      _M_ptr = __ptr;
609:      _M_refcount = __refcount;
609:    }
609:       }
609: 
609:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
609:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
609:       friend class __enable_shared_from_this<_Tp, _Lp>;
609:       friend class enable_shared_from_this<_Tp>;
609: 
609: 
609: 
609: 
609:       element_type* _M_ptr;
609:       __weak_count<_Lp> _M_refcount;
609:     };
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline void
609:     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
609:     { __a.swap(__b); }
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:   template<typename _Tp, typename _Tp1>
609:     struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool>
609:     {
609:       bool
609:       operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept
609:       { return __lhs.owner_before(__rhs); }
609: 
609:       bool
609:       operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept
609:       { return __lhs.owner_before(__rhs); }
609: 
609:       bool
609:       operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept
609:       { return __lhs.owner_before(__rhs); }
609:     };
609: #pragma GCC diagnostic pop
609: 
609:   template<>
609:     struct _Sp_owner_less<void, void>
609:     {
609:       template<typename _Tp, typename _Up>
609:  auto
609:  operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept
609:  -> decltype(__lhs.owner_before(__rhs))
609:  { return __lhs.owner_before(__rhs); }
609: 
609:       using is_transparent = void;
609:     };
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     struct owner_less<__shared_ptr<_Tp, _Lp>>
609:     : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>>
609:     { };
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     struct owner_less<__weak_ptr<_Tp, _Lp>>
609:     : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>>
609:     { };
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     class __enable_shared_from_this
609:     {
609:     protected:
609ity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_empty
1417:     : public integral_constant<bool, __is_empty(_Tp)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_polymorphic
1417:     : public integral_constant<bool, __is_polymorphic(_Tp)>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_final
1417:     : public integral_constant<bool, __is_final(_Tp)>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_abstract
1417:     : public integral_constant<bool, __is_abstract(_Tp)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp,
1417:     bool = is_arithmetic<_Tp>::value>
1417:     struct __is_signed_helper
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_signed_helper<_Tp, true>
1417:     : public integral_constant<bool, _Tp(-1) < _Tp(0)>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_signed
1417:     : public __is_signed_helper<_Tp>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_unsigned
1417:     : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp, typename _Up = _Tp&&>
1417:     _Up
1417:     __declval(int);
1417: 
1417:   template<typename _Tp>
1417:     _Tp
1417:     __declval(long);
1417: 
1417: 
1417:   template<typename _Tp>
1417:     auto declval() noexcept -> decltype(__declval<_Tp>(0));
1417: 
1417:   template<typename, unsigned = 0>
1417:     struct extent;
1417: 
1417:   template<typename>
1417:     struct remove_all_extents;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_array_known_bounds
1417:     : public integral_constant<bool, (extent<_Tp>::value > 0)>
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_array_unknown_bounds
1417:     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
1417:     { };
1417: # 867 "/usr/include/c++/12/type_traits" 3
1417:   struct __do_is_destructible_impl
1417:   {
1417:     template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
1417:       static true_type __test(int);
1417: 
1417:     template<typename>
1417:       static false_type __test(...);
1417:   };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_destructible_impl
1417:     : public __do_is_destructible_impl
1417:     {
1417:       typedef decltype(__test<_Tp>(0)) type;
1417:     };
1417: 
1417:   template<typename _Tp,
1417:            bool = __or_<is_void<_Tp>,
1417:                         __is_array_unknown_bounds<_Tp>,
1417:                         is_function<_Tp>>::value,
1417:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1417:     struct __is_destructible_safe;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_destructible_safe<_Tp, false, false>
1417:     : public __is_destructible_impl<typename
1417:                remove_all_extents<_Tp>::type>::type
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_destructible_safe<_Tp, true, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_destructible_safe<_Tp, false, true>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_destructible
1417:     : public __is_destructible_safe<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct __do_is_nt_destructible_impl
1417:   {
1417:     template<typename _Tp>
1417:       static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
1417:       __test(int);
1417: 
1417:     template<typename>
1417:       static false_type __test(...);
1417:   };
1417: 
1417:   template<ty:       constexpr __enable_shared_from_this() noexcept { }
609: 
609:       __enable_shared_from_this(const __enable_shared_from_this&) noexcept { }
609: 
609:       __enable_shared_from_this&
609:       operator=(const __enable_shared_from_this&) noexcept
609:       { return *this; }
609: 
609:       ~__enable_shared_from_this() { }
609: 
609:     public:
609:       __shared_ptr<_Tp, _Lp>
609:       shared_from_this()
609:       { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
609: 
609:       __shared_ptr<const _Tp, _Lp>
609:       shared_from_this() const
609:       { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
609: 
609: 
609:       __weak_ptr<_Tp, _Lp>
609:       weak_from_this() noexcept
609:       { return this->_M_weak_this; }
609: 
609:       __weak_ptr<const _Tp, _Lp>
609:       weak_from_this() const noexcept
609:       { return this->_M_weak_this; }
609: 
609: 
609:     private:
609:       template<typename _Tp1>
609:  void
609:  _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept
609:  { _M_weak_this._M_assign(__p, __n); }
609: 
609:       friend const __enable_shared_from_this*
609:       __enable_shared_from_this_base(const __shared_count<_Lp>&,
609:          const __enable_shared_from_this* __p)
609:       { return __p; }
609: 
609:       template<typename, _Lock_policy>
609:  friend class __shared_ptr;
609: 
609:       mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
609:     };
609: 
609:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
609:     typename _Alloc, typename... _Args>
609:     inline __shared_ptr<_Tp, _Lp>
609:     __allocate_shared(const _Alloc& __a, _Args&&... __args)
609:     {
609:       static_assert(!is_array<_Tp>::value, "make_shared<T[]> not supported");
609: 
609:       return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a},
609:         std::forward<_Args>(__args)...);
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
609:     typename... _Args>
609:     inline __shared_ptr<_Tp, _Lp>
609:     __make_shared(_Args&&... __args)
609:     {
609:       typedef typename std::remove_const<_Tp>::type _Tp_nc;
609:       return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
609:            std::forward<_Args>(__args)...);
609:     }
609: 
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     struct hash<__shared_ptr<_Tp, _Lp>>
609:     : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
609:     {
609:       size_t
609:       operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept
609:       {
609:  return hash<typename __shared_ptr<_Tp, _Lp>::element_type*>()(
609:      __s.get());
609:       }
609:     };
609: 
609: 
609: }
609: # 54 "/usr/include/c++/12/bits/shared_ptr.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 68 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp>
609:     inline std::basic_ostream<_Ch, _Tr>&
609:     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
609:         const __shared_ptr<_Tp, _Lp>& __p)
609:     {
609:       __os << __p.get();
609:       return __os;
609:     }
609: 
609:   template<typename _Del, typename _Tp, _Lock_policy _Lp>
609:     inline _Del*
609:     get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept
609:     {
609: 
609:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
609: 
609: 
609: 
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Del, typename _Tp>
609:     inline _Del*
609:     get_deleter(const shared_ptr<_Tp>& __p) noexcept
609:     {
609: 
609:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
609: 
609: 
609: 
609:     }
609: # 111 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Tp>
609:     using _NonArray = __enable_if_t<!is_array<_Tp>::value, _Tp>;
609: # 174 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Tp>
609:     class shared_ptr : public __shared_ptr<_Tp>
609:     {
609:       template<typenampename _Tp>
1417:     struct __is_nt_destructible_impl
1417:     : public __do_is_nt_destructible_impl
1417:     {
1417:       typedef decltype(__test<_Tp>(0)) type;
1417:     };
1417: 
1417:   template<typename _Tp,
1417:            bool = __or_<is_void<_Tp>,
1417:                         __is_array_unknown_bounds<_Tp>,
1417:                         is_function<_Tp>>::value,
1417:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1417:     struct __is_nt_destructible_safe;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nt_destructible_safe<_Tp, false, false>
1417:     : public __is_nt_destructible_impl<typename
1417:                remove_all_extents<_Tp>::type>::type
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nt_destructible_safe<_Tp, true, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nt_destructible_safe<_Tp, false, true>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_nothrow_destructible
1417:     : public __is_nt_destructible_safe<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename... _Args>
1417:     struct __is_constructible_impl
1417:     : public __bool_constant<__is_constructible(_Tp, _Args...)>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename... _Args>
1417:     struct is_constructible
1417:       : public __is_constructible_impl<_Tp, _Args...>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_default_constructible
1417:     : public __is_constructible_impl<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_copy_constructible_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_copy_constructible_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_copy_constructible_impl<_Tp, true>
1417:     : public __is_constructible_impl<_Tp, const _Tp&>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_copy_constructible
1417:     : public __is_copy_constructible_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_move_constructible_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_move_constructible_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_move_constructible_impl<_Tp, true>
1417:     : public __is_constructible_impl<_Tp, _Tp&&>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_move_constructible
1417:     : public __is_move_constructible_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename... _Args>
1417:     using __is_nothrow_constructible_impl
1417:       = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename... _Args>
1417:     struct is_nothrow_constructible
1417:     : public __is_nothrow_constructible_impl<_Tp, _Args...>::type
1417:     {
1417:      e... _Args>
609:  using _Constructible = typename enable_if<
609:    is_constructible<__shared_ptr<_Tp>, _Args...>::value
609:  >::type;
609: 
609:       template<typename _Arg>
609:  using _Assignable = typename enable_if<
609:    is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr&
609:  >::type;
609: 
609:     public:
609: 
609: 
609:       using element_type = typename __shared_ptr<_Tp>::element_type;
609: 
609: 
609: 
609: 
609: 
609:       using weak_type = weak_ptr<_Tp>;
609: 
609: 
609: 
609: 
609: 
609:       constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
609: 
609:       shared_ptr(const shared_ptr&) noexcept = default;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Yp, typename = _Constructible<_Yp*>>
609:  explicit
609:  shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
609: # 229 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       template<typename _Yp, typename _Deleter,
609:         typename = _Constructible<_Yp*, _Deleter>>
609:  shared_ptr(_Yp* __p, _Deleter __d)
609:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
609: # 247 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       template<typename _Deleter>
609:  shared_ptr(nullptr_t __p, _Deleter __d)
609:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
609: # 266 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       template<typename _Yp, typename _Deleter, typename _Alloc,
609:         typename = _Constructible<_Yp*, _Deleter, _Alloc>>
609:  shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
609:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
609: # 286 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       template<typename _Deleter, typename _Alloc>
609:  shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
609:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
609: # 310 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       template<typename _Yp>
609:  shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept
609:  : __shared_ptr<_Tp>(__r, __p) { }
609: # 349 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       template<typename _Yp,
609:         typename = _Constructible<const shared_ptr<_Yp>&>>
609:  shared_ptr(const shared_ptr<_Yp>& __r) noexcept
609:         : __shared_ptr<_Tp>(__r) { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       shared_ptr(shared_ptr&& __r) noexcept
609:       : __shared_ptr<_Tp>(std::move(__r)) { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Yp, typename = _Constructible<shared_ptr<_Yp>>>
609:  shared_ptr(shared_ptr<_Yp>&& __r) noexcept
609:  : __shared_ptr<_Tp>(std::move(__r)) { }
609: # 379 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
609:  explicit shared_ptr(const weak_ptr<_Yp>& __r)
609:  : __shared_ptr<_Tp>(__r) { }
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:       template<typename _Yp, typename = _Constructible<auto_ptr<_Yp>>>
609:  shared_ptr(auto_ptr<_Yp>&& __r);
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609:       template<typename _Yp, typename _Del,
609:         typename = _Constructible<unique_ptr<_Yp, _Del>>>
609:  shared_ptr(unique_ptr<_Yp, _Del>&& __r)
609:  : __shared_ptr<_Tp>(std::move(__r)) { }
609: # 412 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { }
609: 
609:       shared_ptr& operator=(const shared_ptr&) noexcept = default;
609: 
609:       template<typename _Yp>
609:  _Assignable<const shared_ptr<_Yp>&>
609:  operator=(const shared_ptr<_Yp>& __r) noexcept
609:  {
609:    this->__shared_ptr<_Tp>::operator=(__r);
609:    return *this;
609:  }
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:       template<typename _Yp>
609:  _Assignable<auto_ptr<_Yp>>
609:  operator=(auto_ptr<_Yp>&& __r)
609:  {
609:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
609:    return *this;
609:  }
609: #pragma GCC diagnostic  static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_nothrow_default_constructible
1417:     : public __bool_constant<__is_nothrow_constructible(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_nothrow_copy_constructible_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nothrow_copy_constructible_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nothrow_copy_constructible_impl<_Tp, true>
1417:     : public __is_nothrow_constructible_impl<_Tp, const _Tp&>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_nothrow_copy_constructible
1417:     : public __is_nothrow_copy_constructible_impl<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_nothrow_move_constructible_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nothrow_move_constructible_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nothrow_move_constructible_impl<_Tp, true>
1417:     : public __is_nothrow_constructible_impl<_Tp, _Tp&&>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_nothrow_move_constructible
1417:     : public __is_nothrow_move_constructible_impl<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct is_assignable
1417:     : public __bool_constant<__is_assignable(_Tp, _Up)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_copy_assignable_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_copy_assignable_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_copy_assignable_impl<_Tp, true>
1417:     : public __bool_constant<__is_assignable(_Tp&, const _Tp&)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_copy_assignable
1417:     : public __is_copy_assignable_impl<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_move_assignable_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_move_assignable_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_move_assignable_impl<_Tp, true>
1417:     : public __bool_constant<__is_assignable(_Tp&, _Tp&&)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_move_assignable
1417:     : public __is_move_assignable_impl<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     using __is_nothrow_assignable_impl
1417:       = __bool_constant<__is_nothrow_pop
609: 
609: 
609:       shared_ptr&
609:       operator=(shared_ptr&& __r) noexcept
609:       {
609:  this->__shared_ptr<_Tp>::operator=(std::move(__r));
609:  return *this;
609:       }
609: 
609:       template<class _Yp>
609:  _Assignable<shared_ptr<_Yp>>
609:  operator=(shared_ptr<_Yp>&& __r) noexcept
609:  {
609:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
609:    return *this;
609:  }
609: 
609:       template<typename _Yp, typename _Del>
609:  _Assignable<unique_ptr<_Yp, _Del>>
609:  operator=(unique_ptr<_Yp, _Del>&& __r)
609:  {
609:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
609:    return *this;
609:  }
609: 
609:     private:
609: 
609:       template<typename _Alloc, typename... _Args>
609:  shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
609:  : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
609:  { }
609: 
609:       template<typename _Yp, typename _Alloc, typename... _Args>
609:  friend shared_ptr<_NonArray<_Yp>>
609:  allocate_shared(const _Alloc&, _Args&&...);
609: 
609:       template<typename _Yp, typename... _Args>
609:  friend shared_ptr<_NonArray<_Yp>>
609:  make_shared(_Args&&...);
609: # 535 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:       shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) noexcept
609:       : __shared_ptr<_Tp>(__r, std::nothrow) { }
609: 
609:       friend class weak_ptr<_Tp>;
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>;
609:   template<typename _Tp, typename _Del>
609:     shared_ptr(unique_ptr<_Tp, _Del>) -> shared_ptr<_Tp>;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     [[__nodiscard__]] inline bool
609:     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
609:     { return __a.get() == __b.get(); }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
609:     { return !__a; }
609: # 580 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
609:     { return !__a; }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     [[__nodiscard__]] inline bool
609:     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
609:     { return __a.get() != __b.get(); }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
609:     { return (bool)__a; }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
609:     { return (bool)__a; }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     [[__nodiscard__]] inline bool
609:     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
609:     {
609:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
609:       using _Up_elt = typename shared_ptr<_Up>::element_type;
609:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
609:       return less<_Vp>()(__a.get(), __b.get());
609:     }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
609:     {
609:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
609:       return less<_Tp_elt*>()(__a.get(), nullptr);
609:     }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
609:     {
609:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
609:       return less<_Tp_elt*>()(nullptr, __a.get());
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     [[__nodiscard__]] inline bool
609:     operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
609:     { return !(__b  struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
1115:     { typedef _Res result_type; };
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes , bool _NE>
1115:     struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)>
1115:     { typedef _Res result_type; };
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes , bool _NE>
1115:     struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
1115:     { typedef _Res result_type; };
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes , bool _NE>
1115:     struct
1115:     _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)>
1115:     { typedef _Res result_type; };
1115: 
1115: 
1115:   template<typename _Functor,
1115:     bool = is_member_function_pointer<_Functor>::value>
1115:     struct _Weak_result_type_memfun
1115:     : _Weak_result_type_impl<_Functor>
1115:     { };
1115: 
1115: 
1115:   template<typename _MemFunPtr>
1115:     struct _Weak_result_type_memfun<_MemFunPtr, true>
1115:     {
1115:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1115:     };
1115: 
1115: 
1115:   template<typename _Func, typename _Class>
1115:     struct _Weak_result_type_memfun<_Func _Class::*, false>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Functor>
1115:     struct _Weak_result_type
1115:     : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename = __void_t<>>
1115:     struct _Refwrap_base_arg1
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _Refwrap_base_arg1<_Tp,
1115:          __void_t<typename _Tp::argument_type>>
1115:     {
1115:       typedef typename _Tp::argument_type argument_type;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename = __void_t<>>
1115:     struct _Refwrap_base_arg2
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _Refwrap_base_arg2<_Tp,
1115:          __void_t<typename _Tp::first_argument_type,
1115:            typename _Tp::second_argument_type>>
1115:     {
1115:       typedef typename _Tp::first_argument_type first_argument_type;
1115:       typedef typename _Tp::second_argument_type second_argument_type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _Reference_wrapper_base
1115:     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
1115:     { };
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115:   template<typename _Res, typename _T1 , bool _NE>
1115:     struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
1115:     : unary_function<_T1, _Res>
1115:     { };
1115: 
1115:   template<typename _Res, typename _T1>
1115:     struct _Reference_wrapper_base<_Res(_T1) const>
1115:     : unary_function<_T1, _Res>
1115:     { };
1115: 
1115:   template<typename _Res, typename _T1>
1115:     struct _Reference_wrapper_base<_Res(_T1) volatile>
1115:     : unary_function<_T1, _Res>
1115:     { };
1115: 
1115:   template<typename _Res, typename _T1>
1115:     struct _Reference_wrapper_base<_Res(_T1) const volatile>
1115:     : unary_function<_T1, _Res>
1115:     { };
1115: 
1115: 
1115:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1115:     struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
1115:     : binary_function<_T1, _T2, _Res>
1115:     { };
1115: 
1115:   template<typename _Res, typename _T1, typename _T2>
1115:     struct _Reference_wrapper_base<_Res(_T1, _T2) const>
1115:     : binary_function<_T1, _T2, _Res>
1115:     { };
1115: 
1115:   template<typename _Res, typename _T1, typename _T2>
1115:     struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
1115:     : binary_function<_T1, _T2, _Res>
1115:     { };
1115: 
1115:   template<typename _Res, typename _T1, typename _T2>
1115:     struct _Reference_wrapper_base<_Res(_T1, _T2) const :     };
1412: 
1412: 
1412:   template<>
1412:     struct __copy_move<true, false, random_access_iterator_tag>
1412:     {
1412:       template<typename _II, typename _OI>
1412: 
1412:  static _OI
1412:  __copy_m(_II __first, _II __last, _OI __result)
1412:  {
1412:    typedef typename iterator_traits<_II>::difference_type _Distance;
1412:    for(_Distance __n = __last - __first; __n > 0; --__n)
1412:      {
1412:        *__result = std::move(*__first);
1412:        ++__first;
1412:        ++__result;
1412:      }
1412:    return __result;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<bool _IsMove>
1412:     struct __copy_move<_IsMove, true, random_access_iterator_tag>
1412:     {
1412:       template<typename _Tp>
1412: 
1412:  static _Tp*
1412:  __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
1412:  {
1412: 
1412:    using __assignable = __conditional_t<_IsMove,
1412:             is_move_assignable<_Tp>,
1412:             is_copy_assignable<_Tp>>;
1412: 
1412:    static_assert( __assignable::value, "type must be assignable" );
1412: 
1412:    const ptrdiff_t _Num = __last - __first;
1412:    if (_Num)
1412:      __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
1412:    return __result + _Num;
1412:  }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Ref, typename _Ptr>
1412:     struct _Deque_iterator;
1412: 
1412:   struct _Bit_iterator;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     struct char_traits;
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     class istreambuf_iterator;
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     class ostreambuf_iterator;
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1412:     __copy_move_a2(_CharT*, _CharT*,
1412:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1412:     __copy_move_a2(const _CharT*, const _CharT*,
1412:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:         _CharT*>::__type
1412:     __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1412:      istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_char<_CharT>::__value,
1412:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1412:     __copy_move_a2(
1412:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1412:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1412:  std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
1412: 
1412:   template<bool _IsMove, typename _II, typename _OI>
1412:    
1412:     inline _OI
1412:     __copy_move_a2(_II __first, _II __last, _OI __result)
1412:     {
1412:       typedef typename iterator_traits<_II>::iterator_category _Category;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value,
1412:          _Category>::__copy_m(__first, __last, __result);
1412:     }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1412:     _OI
1412:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1412:      std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1412:      _OI);
1412: 
1412:   template<bool _IsMove,
1412:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1412:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1412:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1412:      std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1412:      std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1412: 
1412:   template<bool  < __a); }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
609:     { return !(nullptr < __a); }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
609:     { return !(__a < nullptr); }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     [[__nodiscard__]] inline bool
609:     operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
609:     { return (__b < __a); }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
609:     { return nullptr < __a; }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
609:     { return __a < nullptr; }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     [[__nodiscard__]] inline bool
609:     operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
609:     { return !(__a < __b); }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
609:     { return !(__a < nullptr); }
609: 
609: 
609:   template<typename _Tp>
609:     [[__nodiscard__]] inline bool
609:     operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
609:     { return !(nullptr < __a); }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     inline void
609:     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
609:     { __a.swap(__b); }
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline shared_ptr<_Tp>
609:     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
609:     {
609:       using _Sp = shared_ptr<_Tp>;
609:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline shared_ptr<_Tp>
609:     const_pointer_cast(const shared_ptr<_Up>& __r) noexcept
609:     {
609:       using _Sp = shared_ptr<_Tp>;
609:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline shared_ptr<_Tp>
609:     dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept
609:     {
609:       using _Sp = shared_ptr<_Tp>;
609:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
609:  return _Sp(__r, __p);
609:       return _Sp();
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline shared_ptr<_Tp>
609:     reinterpret_pointer_cast(const shared_ptr<_Up>& __r) noexcept
609:     {
609:       using _Sp = shared_ptr<_Tp>;
609:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
609:     }
609: # 810 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Tp>
609:     class weak_ptr : public __weak_ptr<_Tp>
609:     {
609:       template<typename _Arg>
609:  using _Constructible = typename enable_if<
609:    is_constructible<__weak_ptr<_Tp>, _Arg>::value
609:  >::type;
609: 
609:       template<typename _Arg>
609:  using _Assignable = typename enable_if<
609:    is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr&
609:  >::type;
609: 
609:     public:
609:       constexpr weak_ptr() noexcept = default;
609: 
609:       template<typename _Yp,
609:         typename = _Constructible<const shared_ptr<_Yp>&>>
609:  weak_ptr(const shared_ptr<_Yp>& __r) noexcept
609:  : __weak_ptr<_Tp>(__r) { }
609: 
609:       weak_ptr(const weak_ptr&) noexcept = default;
609: 
609:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
609:  weak_ptr(const weak_ptr<_Yp>& __r) noexcept
609:  : __weak_ptr<_Tp>(__r) { }
609: 
609:       weak_ptr(weak_ptr&&) noexcept = default;
609: 
609:       template<typename _Yp, typename = _Constructible<weak_ptr<_Yp>>>
609:  weak_ptr(weak_ptr<_Yp>&& __r) noexcept
609:  : __weak_ptr<_Tp>(std::move(__r)) { }
609: 
609:       weak_ptr&
609:       operator=(const weak_ptr& __r) noexcept = default;
609: 
609:       template<typename _Yp>
609:  _Assignable<const weak_ptr<_Yp>&>
609:  operator=(const weak_ptr<_Yp>& __r) noexcept
609:  {
609:    this->__weak_ptr<_Tp>::operator=(__r);
609:    return *this;
609:  }
609: 
609:       template<typename _Yp>
609:  _Assignable<const shared_ptr<_Yp>&>
609:  operator=(const shared_ptr<_Yp>& __r) noexcept
609:  {
609:    this->__weak_ptr<_Tp>::operator=(__r);
609:    return *this;
609:  }
609: 
609:       weak_ptr&
609:       operator=(weak_ptr&& __r) noexcept = default;
609: 
609:       template<typename _Yp>
609:  _Assignable<weak_ptr<_Yp>>
609:  operator=(weak_ptr<_Yp>&& __r) noexcept
609:  {
609:    this->__weak_ptr<_Tp>::operator=(std::move(__r));
609:    return *this;
609:  }
609: 
609:       shared_ptr<_Tp>
609:       lock() const noexcept
609:       { return shared_ptr<_Tp>(*this, std::nothrow); }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>;
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     inline void
609:     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
609:     { __a.swap(__b); }
609: 
609: 
609: 
609:   template<typename _Tp = void>
609:     struct owner_less;
609: 
609: 
609:   template<>
609:     struct owner_less<void> : _Sp_owner_less<void, void>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct owner_less<shared_ptr<_Tp>>
609:     : public _Sp_owner_less<shared_ptr<_Tp>, weak_ptr<_Tp>>
609:     { };
609: 
609: 
609:   template<typename _Tp>
609:     struct owner_less<weak_ptr<_Tp>>
609:     : public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     class enable_shared_from_this
609:     {
609:     protected:
609:       constexpr enable_shared_from_this() noexcept { }
609: 
609:       enable_shared_from_this(const enable_shared_from_this&) noexcept { }
609: 
609:       enable_shared_from_this&
609:       operator=(const enable_shared_from_this&) noexcept
609:       { return *this; }
609: 
609:       ~enable_shared_from_this() { }
609: 
609:     public:
609:       shared_ptr<_Tp>
609:       shared_from_this()
609:       { return shared_ptr<_Tp>(this->_M_weak_this); }
609: 
609:       shared_ptr<const _Tp>
609:       shared_from_this() const
609:       { return shared_ptr<const _Tp>(this->_M_weak_this); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       weak_ptr<_Tp>
609:       weak_from_this() noexcept
609:       { return this->_M_weak_this; }
609: 
609:       weak_ptr<const _Tp>
609:       weak_from_this() const noexcept
609:       { return this->_M_weak_this; }
609: 
609: 
609: 
609:     private:
609:       template<typename _Tp1>
609:  void
609:  _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
609:  { _M_weak_this._M_assign(__p, __n); }
609: 
609: 
609:       friend const enable_shared_from_this*
609:       __enable_shared_from_this_base(const __shared_count<>&,
609:          const enable_shared_from_this* __p)
609:       { return __p; }
609: 
609:       template<typename, _Lock_policy>
609:  friend class __shared_ptr;
609: 
609:       mutable weak_ptr<_Tp> _M_weak_this;
609:     };
609: # 988 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Tp, typename _Alloc, typename... _Args>
609:     inline shared_ptr<_NonArray<_Tp>>
609:     allocate_shared(const _Alloc& __a, _Args&&... __args)
609:     {
609:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
609:         std::forward<_Args>(__args)...);
609:     }
609: # 1003 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Tp, typename... _Args>
609:     inline shared_ptr<_NonArray<_Tp>>
609:     make_shared(_Args&&... __args)
609:     {
609:       using _Alloc = allocator<void>;
609:       _Alloc __a;
609:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{_volatile>
1115:     : binary_function<_T1, _T2, _Res>
1115:     { };
1115: 
1115: 
1115:   template<typename _Res, typename _T1 , bool _NE>
1115:     struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
1115:     : unary_function<_T1, _Res>
1115:     { };
1115: 
1115: 
1115:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1115:     struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
1115:     : binary_function<_T1, _T2, _Res>
1115:     { };
1115: 
1115:   template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
1115:     struct _Reference_wrapper_base_memfun
1115:     : _Reference_wrapper_base<_Tp>
1115:     { };
1115: 
1115:   template<typename _MemFunPtr>
1115:     struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
1115:     : _Mem_fn_traits<_MemFunPtr>::__maybe_type
1115:     {
1115:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1115:     };
1115: #pragma GCC diagnostic pop
1115: # 302 "/usr/include/c++/12/bits/refwrap.h" 3
1115:   template<typename _Tp>
1115:     class reference_wrapper
1115: 
1115: 
1115: 
1115:     : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
1115: 
1115:     {
1115:       _Tp* _M_data;
1115: 
1115:      
1115:       static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
1115: 
1115:       static void _S_fun(_Tp&&) = delete;
1115: 
1115:       template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
1115:  using __not_same
1115:    = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
1115: 
1115:     public:
1115:       typedef _Tp type;
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Up, typename = __not_same<_Up>, typename
1115:   = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
1115: 
1115:  reference_wrapper(_Up&& __uref)
1115:  noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
1115:  : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
1115:  { }
1115: 
1115:       reference_wrapper(const reference_wrapper&) = default;
1115: 
1115:       reference_wrapper&
1115:       operator=(const reference_wrapper&) = default;
1115: 
1115:      
1115:       operator _Tp&() const noexcept
1115:       { return this->get(); }
1115: 
1115:      
1115:       _Tp&
1115:       get() const noexcept
1115:       { return *_M_data; }
1115: 
1115:       template<typename... _Args>
1115: 
1115:  typename result_of<_Tp&(_Args&&...)>::type
1115:  operator()(_Args&&... __args) const
1115:  {
1115: 
1115: 
1115: 
1115: 
1115:    return std::__invoke(get(), std::forward<_Args>(__args)...);
1115:  }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:    
1115:     inline reference_wrapper<_Tp>
1115:     ref(_Tp& __t) noexcept
1115:     { return reference_wrapper<_Tp>(__t); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:    
1115:     inline reference_wrapper<const _Tp>
1115:     cref(const _Tp& __t) noexcept
1115:     { return reference_wrapper<const _Tp>(__t); }
1115: 
1115:   template<typename _Tp>
1115:     void ref(const _Tp&&) = delete;
1115: 
1115:   template<typename _Tp>
1115:     void cref(const _Tp&&) = delete;
1115: 
1115: 
1115:   template<typename _Tp>
1115:    
1115:     inline reference_wrapper<_Tp>
1115:     ref(reference_wrapper<_Tp> __t) noexcept
1115:     { return __t; }
1115: 
1115: 
1115:   template<typename _Tp>
1115:    
1115:     inline reference_wrapper<const _Tp>
1115:     cref(reference_wrapper<_Tp> __t) noexcept
1115:     { return { __t.get() }; }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 58 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/ext/aligned_buffer.h" 1 3
1115: # 32 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1115:        
1115: # 33 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace __gnu_cxx
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   templa_IsMove, typename _II, typename _Tp>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value,
1412:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1412:     __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1412: 
1412:   template<bool _IsMove, typename _II, typename _OI>
1412:    
1412:     inline _OI
1412:     __copy_move_a1(_II __first, _II __last, _OI __result)
1412:     { return std::__copy_move_a2<_IsMove>(__first, __last, __result); }
1412: 
1412:   template<bool _IsMove, typename _II, typename _OI>
1412:    
1412:     inline _OI
1412:     __copy_move_a(_II __first, _II __last, _OI __result)
1412:     {
1412:       return std::__niter_wrap(__result,
1412:   std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
1412:           std::__niter_base(__last),
1412:           std::__niter_base(__result)));
1412:     }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1412:     _OI
1412:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1412:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1412:     _OI);
1412: 
1412:   template<bool _IsMove,
1412:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1412:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1412:     __copy_move_a(_II, _II,
1412:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1412: 
1412:   template<bool _IsMove,
1412:     typename _IIte, typename _ISeq, typename _ICat,
1412:     typename _OIte, typename _OSeq, typename _OCat>
1412:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1412:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1412:     const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1412:     const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1412: 
1412:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1412:    
1412:     _OutputIterator
1412:     __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
1412:         bool)
1412:     {
1412:       if (__n > 0)
1412:  {
1412:    while (true)
1412:      {
1412:        *__result = *__first;
1412:        ++__result;
1412:        if (--__n > 0)
1412:   ++__first;
1412:        else
1412:   break;
1412:      }
1412:  }
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Size>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_char<_CharT>::__value, _CharT*>::__type
1412:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1412:         _Size, _CharT*, bool);
1412: 
1412:   template<typename _CharT, typename _Size>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_char<_CharT>::__value,
1412:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1412:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
1412:         std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
1412:         bool);
1412: # 608 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _II, typename _OI>
1412:    
1412:     inline _OI
1412:     copy(_II __first, _II __last, _OI __result)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__copy_move_a<__is_move_iterator<_II>::__value>
1412:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1412:     }
1412: # 641 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _II, typename _OI>
1412:    
1412:     inline _OI
1412:     move(_II __first, _II __last, _OI __result)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__copy_move_a<true>(std::__miter_base(__first),
1412:           std::__miter_base(__last), __result);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<bool _IsMove, bool _IsSimple, typename _Category>
1412:     struct __copy_move_backward
1412:     {
1412:       template<typename _BI1, typename _BI2>
1412: 
1412:  static _BI2
1412:  __copy_move_b_a},
609:         std::forward<_Args>(__args)...);
609:     }
609: # 1152 "/usr/include/c++/12/bits/shared_ptr.h" 3
609:   template<typename _Tp>
609:     struct hash<shared_ptr<_Tp>>
609:     : public __hash_base<size_t, shared_ptr<_Tp>>
609:     {
609:       size_t
609:       operator()(const shared_ptr<_Tp>& __s) const noexcept
609:       {
609:  return std::hash<typename shared_ptr<_Tp>::element_type*>()(__s.get());
609:       }
609:     };
609: 
609: 
609: 
609: 
609: 
609:   namespace __detail::__variant
609:   {
609:     template<typename> struct _Never_valueless_alt;
609: 
609: 
609: 
609:     template<typename _Tp>
609:       struct _Never_valueless_alt<std::shared_ptr<_Tp>>
609:       : std::true_type
609:       { };
609: 
609: 
609: 
609:     template<typename _Tp>
609:       struct _Never_valueless_alt<std::weak_ptr<_Tp>>
609:       : std::true_type
609:       { };
609:   }
609: 
609: 
609: 
609: }
609: # 78 "/usr/include/c++/12/memory" 2 3
609: # 1 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 1 3
609: # 33 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609: # 1 "/usr/include/c++/12/bits/atomic_base.h" 1 3
609: # 33 "/usr/include/c++/12/bits/atomic_base.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/atomic_base.h" 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 1 3
609: # 33 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
609: # 38 "/usr/include/c++/12/bits/atomic_base.h" 2 3
609: # 48 "/usr/include/c++/12/bits/atomic_base.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 78 "/usr/include/c++/12/bits/atomic_base.h" 3
609:   typedef enum memory_order
609:     {
609:       memory_order_relaxed,
609:       memory_order_consume,
609:       memory_order_acquire,
609:       memory_order_release,
609:       memory_order_acq_rel,
609:       memory_order_seq_cst
609:     } memory_order;
609: 
609: 
609:   enum __memory_order_modifier
609:     {
609:       __memory_order_mask = 0x0ffff,
609:       __memory_order_modifier_mask = 0xffff0000,
609:       __memory_order_hle_acquire = 0x10000,
609:       __memory_order_hle_release = 0x20000
609:     };
609: 
609:   constexpr memory_order
609:   operator|(memory_order __m, __memory_order_modifier __mod)
609:   {
609:     return memory_order(int(__m) | int(__mod));
609:   }
609: 
609:   constexpr memory_order
609:   operator&(memory_order __m, __memory_order_modifier __mod)
609:   {
609:     return memory_order(int(__m) & int(__mod));
609:   }
609: 
609: 
609:   constexpr memory_order
609:   __cmpexch_failure_order2(memory_order __m) noexcept
609:   {
609:     return __m == memory_order_acq_rel ? memory_order_acquire
609:       : __m == memory_order_release ? memory_order_relaxed : __m;
609:   }
609: 
609:   constexpr memory_order
609:   __cmpexch_failure_order(memory_order __m) noexcept
609:   {
609:     return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask)
609:       | __memory_order_modifier(__m & __memory_order_modifier_mask));
609:   }
609: 
609:   constexpr bool
609:   __is_valid_cmpexch_failure_order(memory_order __m) noexcept
609:   {
609:     return (__m & __memory_order_mask) != memory_order_release
609:  && (__m & __memory_order_mask) != memory_order_acq_rel;
609:   }
609: 
609:   inline __attribute__((__always_inline__)) void
609:   atomic_thread_fence(memory_order __m) noexcept
609:   { __atomic_thread_fence(int(__m)); }
609: 
609:   inline __attribute__((__always_inline__)) void
609:   atomic_signal_fence(memory_order __m) noexcept
609:   { __atomic_signal_fence(int(__m)); }
609: 
609: 
609:   template<typename _Tp>
609:     inline _Tp
609:     kill_dependency(_Tp __y) noexcept
609:     {
609:       _Tp __ret(__y);
609:       return __ret;
609:     }
609: 
609: 
609:   template<typename _IntTp>
609:     struct __atomic_base;
609: # 161 "/usr/include/c++/12/bits/atomic_base.h" 3
609:   template<typename _Tp>
609:     struct atomic;
609: 
609:   template<typename _Tp>
609:     strute<typename _Tp>
1115:     struct __aligned_membuf
1115:     {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       struct _Tp2 { _Tp _M_t; };
1115: 
1115:       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
1115: 
1115:       __aligned_membuf() = default;
1115: 
1115: 
1115:       __aligned_membuf(std::nullptr_t) { }
1115: 
1115:       void*
1115:       _M_addr() noexcept
1115:       { return static_cast<void*>(&_M_storage); }
1115: 
1115:       const void*
1115:       _M_addr() const noexcept
1115:       { return static_cast<const void*>(&_M_storage); }
1115: 
1115:       _Tp*
1115:       _M_ptr() noexcept
1115:       { return static_cast<_Tp*>(_M_addr()); }
1115: 
1115:       const _Tp*
1115:       _M_ptr() const noexcept
1115:       { return static_cast<const _Tp*>(_M_addr()); }
1115:     };
1115: # 89 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1115:   template<typename _Tp>
1115:     struct __aligned_buffer
1115:     : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
1115:     {
1115:       typename
1115:  std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>::type _M_storage;
1115: 
1115:       __aligned_buffer() = default;
1115: 
1115: 
1115:       __aligned_buffer(std::nullptr_t) { }
1115: 
1115:       void*
1115:       _M_addr() noexcept
1115:       {
1115:         return static_cast<void*>(&_M_storage);
1115:       }
1115: 
1115:       const void*
1115:       _M_addr() const noexcept
1115:       {
1115:         return static_cast<const void*>(&_M_storage);
1115:       }
1115: 
1115:       _Tp*
1115:       _M_ptr() noexcept
1115:       { return static_cast<_Tp*>(_M_addr()); }
1115: 
1115:       const _Tp*
1115:       _M_ptr() const noexcept
1115:       { return static_cast<const _Tp*>(_M_addr()); }
1115:     };
1115: 
1115: 
1115: }
1115: # 61 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1115: # 1 "/usr/include/c++/12/ext/atomicity.h" 1 3
1115: # 32 "/usr/include/c++/12/ext/atomicity.h" 3
1115:        
1115: # 33 "/usr/include/c++/12/ext/atomicity.h" 3
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 1 3
1115: # 30 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1115: #pragma GCC visibility push(default)
1115: # 148 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 1 3
1115: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1115: # 1 "/usr/include/pthread.h" 1 3 4
1115: # 22 "/usr/include/pthread.h" 3 4
1115: # 1 "/usr/include/sched.h" 1 3 4
1115: # 29 "/usr/include/sched.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 30 "/usr/include/sched.h" 2 3 4
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 1 3 4
1115: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 3 4
1115: typedef __time_t time_t;
1115: # 32 "/usr/include/sched.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 1 3 4
1115: # 35 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/endianness.h" 1 3 4
1115: # 36 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 2 3 4
1115: # 7 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: struct timespec
1115: {
1115: 
1115: 
1115: 
1115:   __time_t tv_sec;
1115: 
1115: 
1115: 
1115: 
1115:   __syscall_slong_t tv_nsec;
1115: # 31 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1115: };
1115: # 33 "/usr/include/sched.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __pid_t pid_t;
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 1 3 4
1115: # 80 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 3 4
1115: struct sched_param
1115: {
111ct atomic<_Tp*>;
609: 
609: 
609: 
609:     typedef bool __atomic_flag_data_type;
609: # 184 "/usr/include/c++/12/bits/atomic_base.h" 3
609:   extern "C" {
609: 
609:   struct __atomic_flag_base
609:   {
609:     __atomic_flag_data_type _M_i ;
609:   };
609: 
609:   }
609: 
609: 
609: 
609: 
609:   struct atomic_flag : public __atomic_flag_base
609:   {
609:     atomic_flag() noexcept = default;
609:     ~atomic_flag() noexcept = default;
609:     atomic_flag(const atomic_flag&) = delete;
609:     atomic_flag& operator=(const atomic_flag&) = delete;
609:     atomic_flag& operator=(const atomic_flag&) volatile = delete;
609: 
609: 
609:     constexpr atomic_flag(bool __i) noexcept
609:       : __atomic_flag_base{ _S_init(__i) }
609:     { }
609: 
609:     inline __attribute__((__always_inline__)) bool
609:     test_and_set(memory_order __m = memory_order_seq_cst) noexcept
609:     {
609:       return __atomic_test_and_set (&_M_i, int(__m));
609:     }
609: 
609:     inline __attribute__((__always_inline__)) bool
609:     test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept
609:     {
609:       return __atomic_test_and_set (&_M_i, int(__m));
609:     }
609: # 268 "/usr/include/c++/12/bits/atomic_base.h" 3
609:     inline __attribute__((__always_inline__)) void
609:     clear(memory_order __m = memory_order_seq_cst) noexcept
609:     {
609:       memory_order __b __attribute__ ((__unused__))
609:  = __m & __memory_order_mask;
609:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
609:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
609:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609: 
609:       __atomic_clear (&_M_i, int(__m));
609:     }
609: 
609:     inline __attribute__((__always_inline__)) void
609:     clear(memory_order __m = memory_order_seq_cst) volatile noexcept
609:     {
609:       memory_order __b __attribute__ ((__unused__))
609:  = __m & __memory_order_mask;
609:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
609:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
609:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609: 
609:       __atomic_clear (&_M_i, int(__m));
609:     }
609: 
609:   private:
609:     static constexpr __atomic_flag_data_type
609:     _S_init(bool __i)
609:     { return __i ? 1 : 0; }
609:   };
609: # 323 "/usr/include/c++/12/bits/atomic_base.h" 3
609:   template<typename _ITp>
609:     struct __atomic_base
609:     {
609:       using value_type = _ITp;
609:       using difference_type = value_type;
609: 
609:     private:
609:       typedef _ITp __int_type;
609: 
609:       static constexpr int _S_alignment =
609:  sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp);
609: 
609:       alignas(_S_alignment) __int_type _M_i ;
609: 
609:     public:
609:       __atomic_base() noexcept = default;
609:       ~__atomic_base() noexcept = default;
609:       __atomic_base(const __atomic_base&) = delete;
609:       __atomic_base& operator=(const __atomic_base&) = delete;
609:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
609: 
609: 
609:       constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { }
609: 
609:       operator __int_type() const noexcept
609:       { return load(); }
609: 
609:       operator __int_type() const volatile noexcept
609:       { return load(); }
609: 
609:       __int_type
609:       operator=(__int_type __i) noexcept
609:       {
609:  store(__i);
609:  return __i;
609:       }
609: 
609:       __int_type
609:       operator=(__int_type __i) volatile noexcept
609:       {
609:  store(__i);
609:  return __i;
609:       }
609: 
609:       __int_type
609:       operator++(int) noexcept
609:       { return fetch_add(1); }
609: 
609:       __int_type
609:       operator++(int) volatile noexcept
609:       { return fetch_add(1); }
609: 
609:       __int_type
609:       operator--(int) noexcept
609:       { return fetch_sub(1); }
609: 
609:       __int_type
609:       operator--(int) volatile noexcept
609:       { return fetch_sub(1); }
609: 
609:       __int_type
609:       operator++() noexcept
609:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator++() volatile noexcept
609:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator--() noexcept
609:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator--() volatile noexcept
609:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator+=(__int_type __i) noexcept
609:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator+=(__int_type __i) volatile noexcept
609:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator-=(__int_type __i) noexcept
609:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator-=(__int_type __i) volatile noexcept
609:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator&=(__int_type __i) noexcept
609:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator&=(__int_type __i) volatile noexcept
609:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator|=(__int_type __i) noexcept
609:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator|=(__int_type __i) volatile noexcept
609:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator^=(__int_type __i) noexcept
609:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       __int_type
609:       operator^=(__int_type __i) volatile noexcept
609:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
609: 
609:       bool
609:       is_lock_free() const noexcept
609:       {
609: 
609:  return __atomic_is_lock_free(sizeof(_M_i),
609:      reinterpret_cast<void *>(-_S_alignment));
609:       }
609: 
609:       bool
609:       is_lock_free() const volatile noexcept
609:       {
609: 
609:  return __atomic_is_lock_free(sizeof(_M_i),
609:      reinterpret_cast<void *>(-_S_alignment));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) void
609:       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
609: 
609:  __atomic_store_n(&_M_i, __i, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) void
609:       store(__int_type __i,
609:      memory_order __m = memory_order_seq_cst) volatile noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_(_BI1 __first, _BI1 __last, _BI2 __result)
1412:  {
1412:    while (__first != __last)
1412:      *--__result = *--__last;
1412:    return __result;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<typename _Category>
1412:     struct __copy_move_backward<true, false, _Category>
1412:     {
1412:       template<typename _BI1, typename _BI2>
1412: 
1412:  static _BI2
1412:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1412:  {
1412:    while (__first != __last)
1412:      *--__result = std::move(*--__last);
1412:    return __result;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct __copy_move_backward<false, false, random_access_iterator_tag>
1412:     {
1412:       template<typename _BI1, typename _BI2>
1412: 
1412:  static _BI2
1412:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1412:  {
1412:    typename iterator_traits<_BI1>::difference_type
1412:      __n = __last - __first;
1412:    for (; __n > 0; --__n)
1412:      *--__result = *--__last;
1412:    return __result;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct __copy_move_backward<true, false, random_access_iterator_tag>
1412:     {
1412:       template<typename _BI1, typename _BI2>
1412: 
1412:  static _BI2
1412:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1412:  {
1412:    typename iterator_traits<_BI1>::difference_type
1412:      __n = __last - __first;
1412:    for (; __n > 0; --__n)
1412:      *--__result = std::move(*--__last);
1412:    return __result;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<bool _IsMove>
1412:     struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
1412:     {
1412:       template<typename _Tp>
1412: 
1412:  static _Tp*
1412:  __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
1412:  {
1412: 
1412:    using __assignable = __conditional_t<_IsMove,
1412:             is_move_assignable<_Tp>,
1412:             is_copy_assignable<_Tp>>;
1412: 
1412:    static_assert( __assignable::value, "type must be assignable" );
1412: 
1412:    const ptrdiff_t _Num = __last - __first;
1412:    if (_Num)
1412:      __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
1412:    return __result - _Num;
1412:  }
1412:     };
1412: 
1412:   template<bool _IsMove, typename _BI1, typename _BI2>
1412:    
1412:     inline _BI2
1412:     __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
1412:     {
1412:       typedef typename iterator_traits<_BI1>::iterator_category _Category;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       return std::__copy_move_backward<_IsMove,
1412:            __memcpyable<_BI2, _BI1>::__value,
1412:            _Category>::__copy_move_b(__first,
1412:          __last,
1412:          __result);
1412:     }
1412: 
1412:   template<bool _IsMove, typename _BI1, typename _BI2>
1412:    
1412:     inline _BI2
1412:     __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
1412:     { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1412:     _OI
1412:     __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1412:        std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1412:        _OI);
1412: 
1412:   template<bool _IsMove,
1412:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1412:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1412:     __copy_move_backward_a1(
1412:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1412:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1412:    std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1412: 
1412:   template<bool _IsMove, typename _II, typename _Tp>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value,
1412:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1412:     __copy_move_backward_a1(_II, _II,
1412:        std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1412: 
1412:   template<bool _IsMove, typename _II, typename _OI>
1412:    
1412:     inline _OI
1412:     __c5:   int sched_priority;
1115: };
1115: # 81 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 2 3 4
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: extern int clone (int (*__fn) (void *__arg), void *__child_stack,
1115:     int __flags, void *__arg, ...) noexcept (true);
1115: 
1115: 
1115: extern int unshare (int __flags) noexcept (true);
1115: 
1115: 
1115: extern int sched_getcpu (void) noexcept (true);
1115: 
1115: 
1115: extern int getcpu (unsigned int *, unsigned int *) noexcept (true);
1115: 
1115: 
1115: extern int setns (int __fd, int __nstype) noexcept (true);
1115: 
1115: 
1115: }
1115: # 44 "/usr/include/sched.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 1 3 4
1115: # 32 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1115: typedef unsigned long int __cpu_mask;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef struct
1115: {
1115:   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
1115: } cpu_set_t;
1115: # 115 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1115: extern "C" {
1115: 
1115: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
1115:      noexcept (true);
1115: extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: extern void __sched_cpufree (cpu_set_t *__set) noexcept (true);
1115: 
1115: }
1115: # 45 "/usr/include/sched.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C" {
1115: 
1115: 
1115: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
1115:      noexcept (true);
1115: 
1115: 
1115: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true);
1115: 
1115: 
1115: extern int sched_setscheduler (__pid_t __pid, int __policy,
1115:           const struct sched_param *__param) noexcept (true);
1115: 
1115: 
1115: extern int sched_getscheduler (__pid_t __pid) noexcept (true);
1115: 
1115: 
1115: extern int sched_yield (void) noexcept (true);
1115: 
1115: 
1115: extern int sched_get_priority_max (int __algorithm) noexcept (true);
1115: 
1115: 
1115: extern int sched_get_priority_min (int __algorithm) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true);
1115: # 130 "/usr/include/sched.h" 3 4
1115: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
1115:          const cpu_set_t *__cpuset) noexcept (true);
1115: 
1115: 
1115: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
1115:          cpu_set_t *__cpuset) noexcept (true);
1115: 
1115: 
1115: }
1115: # 23 "/usr/include/pthread.h" 2 3 4
1115: # 1 "/usr/include/time.h" 1 3 4
1115: # 29 "/usr/include/time.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 30 "/usr/include/time.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/time.h" 1 3 4
1115: # 73 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 1 3 4
1115: # 22 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: struct timeval
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   __time_t tv_sec;
1115:   __suseconds_t tv_usec;
1115: 
1115: };
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 2 3 4
1115: 
1115: 
1115: 
1115: struct timex
1115: {
1115: # 58 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1115:   unsigned int modes;
1115:   __syscall_slong_t offset;
1115:   __syscall_slong_t freq;
1115:   __syscall_slong_t maxerror;
1115:   __syscall_slong_t esterror;
1115:   int status;
1115:   __syscall_slong_t constant;
1115:   __syscall_slong_t precision;
1115:   __syscall_slong_t tolerance;
1115:   struct timeval time;
1115:   __syscall_slong_t tick;
1115:   __syscall_slong_t ppsfreq;
1115:   __syscall_slong_t jitter;
1115:   int shift;
1115:   __syscall_slong_t stabil;
1115:   __syscall_slong_t jitcnt;
1115:   __syscall_slong_t constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
609: 
609:  __atomic_store_n(&_M_i, __i, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       load(memory_order __m = memory_order_seq_cst) const noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_load_n(&_M_i, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_load_n(&_M_i, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       exchange(__int_type __i,
609:         memory_order __m = memory_order_seq_cst) noexcept
609:       {
609:  return __atomic_exchange_n(&_M_i, __i, int(__m));
609:       }
609: 
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       exchange(__int_type __i,
609:         memory_order __m = memory_order_seq_cst) volatile noexcept
609:       {
609:  return __atomic_exchange_n(&_M_i, __i, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
609:        memory_order __m1, memory_order __m2) noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
609:         int(__m1), int(__m2));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
609:        memory_order __m1,
609:        memory_order __m2) volatile noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
609:         int(__m1), int(__m2));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
609:        memory_order __m = memory_order_seq_cst) noexcept
609:       {
609:  return compare_exchange_weak(__i1, __i2, __m,
609:          __cmpexch_failure_order(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
609:      memory_order __m = memory_order_seq_cst) volatile noexcept
609:       {
609:  return compare_exchange_weak(__i1, __i2, __m,
609:          __cmpexch_failure_order(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
609:          memory_order __m1, memory_order __m2) noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
609:         int(__m1), int(__m2));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_strong(opy_move_backward_a(_II __first, _II __last, _OI __result)
1412:     {
1412:       return std::__niter_wrap(__result,
1412:   std::__copy_move_backward_a1<_IsMove>
1412:     (std::__niter_base(__first), std::__niter_base(__last),
1412:      std::__niter_base(__result)));
1412:     }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1412:     _OI
1412:     __copy_move_backward_a(
1412:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1412:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1412:   _OI);
1412: 
1412:   template<bool _IsMove,
1412:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1412:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1412:     __copy_move_backward_a(_II, _II,
1412:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1412: 
1412:   template<bool _IsMove,
1412:     typename _IIte, typename _ISeq, typename _ICat,
1412:     typename _OIte, typename _OSeq, typename _OCat>
1412:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1412:     __copy_move_backward_a(
1412:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1412:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1412:   const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1412: # 845 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _BI1, typename _BI2>
1412:    
1412:     inline _BI2
1412:     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
1412:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1412:     }
1412: # 880 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _BI1, typename _BI2>
1412:    
1412:     inline _BI2
1412:     move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__copy_move_backward_a<true>(std::__miter_base(__first),
1412:             std::__miter_base(__last),
1412:             __result);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline typename
1412:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
1412:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1412:        const _Tp& __value)
1412:     {
1412:       for (; __first != __last; ++__first)
1412:  *__first = __value;
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline typename
1412:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
1412:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1412:        const _Tp& __value)
1412:     {
1412:       const _Tp __tmp = __value;
1412:       for (; __first != __last; ++__first)
1412:  *__first = __tmp;
1412:     }
1412: 
1412: 
1412:   template<typename _Tp>
1412:    
1412:     inline typename
1412:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
1412:     __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c)
1412:     {
1412:       const _Tp __tmp = __c;
1412: # 941 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:       if (const size_t __len = __last - __first)
1412:  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
1412:     }
1412: 
1412:   template<typename _Ite, typename _Cont, typename _Tp>
1412:    
1412:     inline void
1412:     __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
1412:        ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
1412:        const _Tp& __value)
1412:     { std::__fill_a1(__first.base(), __last.base(), __value); }
1412: 
1412:   template<typename _Tp, typename _VTp>
1412:     void
1412:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1412:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1412:        const _VTp&);
1412: 
1412:  
1412:   void
14__int_type& __i1, __int_type __i2,
609:          memory_order __m1,
609:          memory_order __m2) volatile noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
609:         int(__m1), int(__m2));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
609:          memory_order __m = memory_order_seq_cst) noexcept
609:       {
609:  return compare_exchange_strong(__i1, __i2, __m,
609:            __cmpexch_failure_order(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
609:    memory_order __m = memory_order_seq_cst) volatile noexcept
609:       {
609:  return compare_exchange_strong(__i1, __i2, __m,
609:            __cmpexch_failure_order(__m));
609:       }
609: # 615 "/usr/include/c++/12/bits/atomic_base.h" 3
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_add(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) noexcept
609:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_add(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) volatile noexcept
609:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_sub(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) noexcept
609:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_sub(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) volatile noexcept
609:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_and(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) noexcept
609:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_and(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) volatile noexcept
609:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_or(__int_type __i,
609:         memory_order __m = memory_order_seq_cst) noexcept
609:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_or(__int_type __i,
609:         memory_order __m = memory_order_seq_cst) volatile noexcept
609:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_xor(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) noexcept
609:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __int_type
609:       fetch_xor(__int_type __i,
609:   memory_order __m = memory_order_seq_cst) volatile noexcept
609:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
609:     };
609: 
609: 
609: 
609:   template<typename _PTp>
609:     struct __atomic_base<_PTp*>
609:     {
609:     private:
609:       typedef _PTp* __pointer_type;
609: 
609:       __pointer_type _M_p ;
609: 
609: 
609:       constexpr ptrdiff_t
609:       _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
609: 
609:       constexpr ptrdiff_t
609:       _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); }
609: 
609:     public:
609:       __atomic_base() noexcept = default;
609:       ~__atomic_base() noexcept = default;
609:       __atomic_base(const __atomic_base&) = delete;
609:       __atomic_base& operator=(const __atomic_base&) = delete;
609:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
609: 
609: 
609:       constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { }
609: 
609:       operator __pointer_type() const noexcept
609:       { return load(); }
609: 
609:       operator __pointer_type() const volatile noexcept
609:       { return load(); }
609: 
609:       __pointer_type
609:       operator=(__pointer_type __p) noexcept
609:       {
609:  store(__p);
609:  return __p;
609:       }
609: 
609:       __pointer_type
609:       operator=(__pointer_type __p) volatile noexcept
609:       {
609:  store(__p);
609:  return __p;
609:       }
609: 
609:       __pointer_type
609:       operator++(int) noexcept
609:       { return fetch_add(1); }
609: 
609:       __pointer_type
609:       operator++(int) volatile noexcept
609:       { return fetch_add(1); }
609: 
609:       __pointer_type
609:       operator--(int) noexcept
609:       { return fetch_sub(1); }
609: 
609:       __pointer_type
609:       operator--(int) volatile noexcept
609:       { return fetch_sub(1); }
609: 
609:       __pointer_type
609:       operator++() noexcept
609:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
609:       int(memory_order_seq_cst)); }
609: 
609:       __pointer_type
609:       operator++() volatile noexcept
609:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
609:       int(memory_order_seq_cst)); }
609: 
609:       __pointer_type
609:       operator--() noexcept
609:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
609:       int(memory_order_seq_cst)); }
609: 
609:       __pointer_type
609:       operator--() volatile noexcept
609:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
609:       int(memory_order_seq_cst)); }
609: 
609:       __pointer_type
609:       operator+=(ptrdiff_t __d) noexcept
609:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
609:       int(memory_order_seq_cst)); }
609: 
609:       __pointer_type
609:       operator+=(ptrdiff_t __d) volatile noexcept
609:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
609:       int(memory_order_seq_cst)); }
609: 
609:       __pointer_type
609:       operator-=(ptrdiff_t __d) noexcept
609:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
609:       int(memory_order_seq_cst)); }
609: 
609:       __pointer_type
609:       operator-=(ptrdiff_t __d) volatile noexcept
609:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
609:       int(memory_order_seq_cst)); }
609: 
609:       bool
609:       is_lock_free() const noexcept
609:       {
609: 
609:  return __atomic_is_lock_free(sizeof(_M_p),
609:      reinterpret_cast<void *>(-__alignof(_M_p)));
609:       }
609: 
609:       bool
609:       is_lock_free() const volatile noexcept
609:       {
609: 
609:  return __atomic_is_lock_free(sizeof(_M_p),
609:      reinterpret_cast<void *>(-__alignof(_M_p)));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) void
609:       store(__pointer_type __p,
609:      memory_order __m = memory_order_seq_cst) noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609: 
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
609: 
609:  __atomic_store_n(&_M_p, __p, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) void
609:       store(__pointer_type __p,
609:      memory_order __m = memory_order_seq_cst) volatile noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
609:  do { if (std::__icalcnt;
1115:   __syscall_slong_t errcnt;
1115:   __syscall_slong_t stbcnt;
1115: 
1115:   int tai;
1115: 
1115: 
1115:   int :32; int :32; int :32; int :32;
1115:   int :32; int :32; int :32; int :32;
1115:   int :32; int :32; int :32;
1115: 
1115: };
1115: # 74 "/usr/include/arm-linux-gnueabihf/bits/time.h" 2 3 4
1115: 
1115: extern "C" {
1115: 
1115: 
1115: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: # 90 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1115: }
1115: # 34 "/usr/include/time.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clock_t.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __clock_t clock_t;
1115: # 38 "/usr/include/time.h" 2 3 4
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_tm.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: struct tm
1115: {
1115:   int tm_sec;
1115:   int tm_min;
1115:   int tm_hour;
1115:   int tm_mday;
1115:   int tm_mon;
1115:   int tm_year;
1115:   int tm_wday;
1115:   int tm_yday;
1115:   int tm_isdst;
1115: 
1115: 
1115:   long int tm_gmtoff;
1115:   const char *tm_zone;
1115: 
1115: 
1115: 
1115: 
1115: };
1115: # 40 "/usr/include/time.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __clockid_t clockid_t;
1115: # 47 "/usr/include/time.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/timer_t.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __timer_t timer_t;
1115: # 48 "/usr/include/time.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_itimerspec.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: struct itimerspec
1115:   {
1115:     struct timespec it_interval;
1115:     struct timespec it_value;
1115:   };
1115: # 49 "/usr/include/time.h" 2 3 4
1115: struct sigevent;
1115: # 68 "/usr/include/time.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: extern clock_t clock (void) noexcept (true);
1115: 
1115: 
1115: 
1115: extern time_t time (time_t *__timer) noexcept (true);
1115: 
1115: 
1115: extern double difftime (time_t __time1, time_t __time0)
1115:      noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern time_t mktime (struct tm *__tp) noexcept (true);
1115: # 100 "/usr/include/time.h" 3 4
1115: extern size_t strftime (char *__restrict __s, size_t __maxsize,
1115:    const char *__restrict __format,
1115:    const struct tm *__restrict __tp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern char *strptime (const char *__restrict __s,
1115:          const char *__restrict __fmt, struct tm *__tp)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
1115:      const char *__restrict __format,
1115:      const struct tm *__restrict __tp,
1115:      locale_t __loc) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char *strptime_l (const char *__restrict __s,
1115:     const char *__restrict __fmt, struct tm *__tp,
1115:     locale_t __loc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern struct tm *gmtime (const time_t *__timer) noexcept (true);
1115: 
1115: 
1115: 
1115: extern struct tm *localtime (const time_t *__timer) noexcept (true);
1115: # 154 "/usr/include/time.h" 3 4
1115: extern struct tm *gmtime_r (const time_t *__restrict __timer,
1115:        struct tm *__restrict __tp) noexcept (true);
1115: 
1115: 
1115: 
1115: extern struct tm *localtime_r (const time_t *__restrict __timer,
1115:           struct tm *__restrict __tp) noexcept (true);
1115: # 179 "/usr/include/time.h" 3 4
1115: extern char *asctime (const struct tm *__tp) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char *ctime (const time_t *__timer) noexcept (true);
1115: # 197 "/usr/include/time.h" 3 4
1115: extern char *asctime_r (const struct tm *__restrict __tp,
1115:    char *__restrict __bu12:   __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
1412:      const bool&);
1412: 
1412:   template<typename _FIte, typename _Tp>
1412:    
1412:     inline void
1412:     __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
1412:     { std::__fill_a1(__first, __last, __value); }
1412: 
1412:   template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
1412:     void
1412:     __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1412:       const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1412:       const _Tp&);
1412: # 988 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline void
1412:     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       std::__fill_a(__first, __last, __value);
1412:     }
1412: 
1412: 
1412:   inline constexpr int
1412:   __size_to_integer(int __n) { return __n; }
1412:   inline constexpr unsigned
1412:   __size_to_integer(unsigned __n) { return __n; }
1412:   inline constexpr long
1412:   __size_to_integer(long __n) { return __n; }
1412:   inline constexpr unsigned long
1412:   __size_to_integer(unsigned long __n) { return __n; }
1412:   inline constexpr long long
1412:   __size_to_integer(long long __n) { return __n; }
1412:   inline constexpr unsigned long long
1412:   __size_to_integer(unsigned long long __n) { return __n; }
1412: # 1040 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   inline constexpr long long
1412:   __size_to_integer(float __n) { return (long long)__n; }
1412:   inline constexpr long long
1412:   __size_to_integer(double __n) { return (long long)__n; }
1412:   inline constexpr long long
1412:   __size_to_integer(long double __n) { return (long long)__n; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _OutputIterator, typename _Size, typename _Tp>
1412:    
1412:     inline typename
1412:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
1412:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1412:     {
1412:       for (; __n > 0; --__n, (void) ++__first)
1412:  *__first = __value;
1412:       return __first;
1412:     }
1412: 
1412:   template<typename _OutputIterator, typename _Size, typename _Tp>
1412:    
1412:     inline typename
1412:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
1412:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1412:     {
1412:       const _Tp __tmp = __value;
1412:       for (; __n > 0; --__n, (void) ++__first)
1412:  *__first = __tmp;
1412:       return __first;
1412:     }
1412: 
1412:   template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
1412:     typename _Tp>
1412:     ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1412:     __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
1412:         _Size __n, const _Tp& __value,
1412:         std::input_iterator_tag);
1412: 
1412:   template<typename _OutputIterator, typename _Size, typename _Tp>
1412:    
1412:     inline _OutputIterator
1412:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1412:         std::output_iterator_tag)
1412:     {
1412: 
1412:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1412: 
1412:       return __fill_n_a1(__first, __n, __value);
1412:     }
1412: 
1412:   template<typename _OutputIterator, typename _Size, typename _Tp>
1412:    
1412:     inline _OutputIterator
1412:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1412:         std::input_iterator_tag)
1412:     {
1412: 
1412:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1412: 
1412:       return __fill_n_a1(__first, __n, __value);
1412:     }
1412: 
1412:   template<typename _OutputIterator, typename _Size, typename _Tp>
1412:    
1412:     inline _OutputIterator
1412:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __values_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
609: 
609:  __atomic_store_n(&_M_p, __p, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       load(memory_order __m = memory_order_seq_cst) const noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_load_n(&_M_p, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
609:       {
609:  memory_order __b __attribute__ ((__unused__))
609:    = __m & __memory_order_mask;
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
609:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_load_n(&_M_p, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       exchange(__pointer_type __p,
609:         memory_order __m = memory_order_seq_cst) noexcept
609:       {
609:  return __atomic_exchange_n(&_M_p, __p, int(__m));
609:       }
609: 
609: 
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       exchange(__pointer_type __p,
609:         memory_order __m = memory_order_seq_cst) volatile noexcept
609:       {
609:  return __atomic_exchange_n(&_M_p, __p, int(__m));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
609:        memory_order __m1,
609:        memory_order __m2) noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
609:         int(__m1), int(__m2));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
609:        memory_order __m1,
609:        memory_order __m2) volatile noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
609:         int(__m1), int(__m2));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
609:          memory_order __m1,
609:          memory_order __m2) noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
609:         int(__m1), int(__m2));
609:       }
609: 
609:       inline __attribute__((__always_inline__)) bool
609:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
609:          memory_order __m1,
609:          memory_order __m2) volatile noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
609: 
609:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
609:         int(__m1), int(__m2));
609:       }
609: # 918 "/usr/include/c++/12/bits/atomic_base.h" 3
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       fetch_add(ptrdiff_t __d,
609:   memf) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char *ctime_r (const time_t *__restrict __timer,
1115:         char *__restrict __buf) noexcept (true);
1115: # 217 "/usr/include/time.h" 3 4
1115: extern char *__tzname[2];
1115: extern int __daylight;
1115: extern long int __timezone;
1115: 
1115: 
1115: 
1115: 
1115: extern char *tzname[2];
1115: 
1115: 
1115: 
1115: extern void tzset (void) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int daylight;
1115: extern long int timezone;
1115: # 246 "/usr/include/time.h" 3 4
1115: extern time_t timegm (struct tm *__tp) noexcept (true);
1115: # 263 "/usr/include/time.h" 3 4
1115: extern time_t timelocal (struct tm *__tp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int dysize (int __year) noexcept (true) __attribute__ ((__const__));
1115: # 281 "/usr/include/time.h" 3 4
1115: extern int nanosleep (const struct timespec *__requested_time,
1115:         struct timespec *__remaining);
1115: 
1115: 
1115: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true);
1115: 
1115: 
1115: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: # 323 "/usr/include/time.h" 3 4
1115: extern int clock_nanosleep (clockid_t __clock_id, int __flags,
1115:        const struct timespec *__req,
1115:        struct timespec *__rem);
1115: # 338 "/usr/include/time.h" 3 4
1115: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int timer_create (clockid_t __clock_id,
1115:     struct sigevent *__restrict __evp,
1115:     timer_t *__restrict __timerid) noexcept (true);
1115: 
1115: 
1115: extern int timer_delete (timer_t __timerid) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int timer_settime (timer_t __timerid, int __flags,
1115:      const struct itimerspec *__restrict __value,
1115:      struct itimerspec *__restrict __ovalue) noexcept (true);
1115: 
1115: 
1115: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
1115:      noexcept (true);
1115: # 376 "/usr/include/time.h" 3 4
1115: extern int timer_getoverrun (timer_t __timerid) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int timespec_get (struct timespec *__ts, int __base)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 399 "/usr/include/time.h" 3 4
1115: extern int timespec_getres (struct timespec *__ts, int __base)
1115:      noexcept (true);
1115: # 425 "/usr/include/time.h" 3 4
1115: extern int getdate_err;
1115: # 434 "/usr/include/time.h" 3 4
1115: extern struct tm *getdate (const char *__string);
1115: # 448 "/usr/include/time.h" 3 4
1115: extern int getdate_r (const char *__restrict __string,
1115:         struct tm *__restrict __resbufp);
1115: 
1115: 
1115: }
1115: # 24 "/usr/include/pthread.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 1 3 4
1115: # 44 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 2 3 4
1115: # 45 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 1 3 4
1115: # 25 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 3 4
1115: typedef union
1115: {
1115:   __extension__ unsigned long long int __value64;
1115:   struct
1115:   {
1115:     unsigned int __low;
1115:   ory_order __m = memory_order_seq_cst) noexcept
609:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       fetch_add(ptrdiff_t __d,
609:   memory_order __m = memory_order_seq_cst) volatile noexcept
609:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       fetch_sub(ptrdiff_t __d,
609:   memory_order __m = memory_order_seq_cst) noexcept
609:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
609: 
609:       inline __attribute__((__always_inline__)) __pointer_type
609:       fetch_sub(ptrdiff_t __d,
609:   memory_order __m = memory_order_seq_cst) volatile noexcept
609:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
609:     };
609: # 1943 "/usr/include/c++/12/bits/atomic_base.h" 3
609: 
609: }
609: # 34 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 47 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609:   struct _Sp_locker
609:   {
609:     _Sp_locker(const _Sp_locker&) = delete;
609:     _Sp_locker& operator=(const _Sp_locker&) = delete;
609: 
609: 
609:     explicit
609:     _Sp_locker(const void*) noexcept;
609:     _Sp_locker(const void*, const void*) noexcept;
609:     ~_Sp_locker();
609: 
609:   private:
609:     unsigned char _M_key1;
609:     unsigned char _M_key2;
609: 
609: 
609: 
609:   };
609: # 74 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p)
609:     {
609: 
609:       return __gthread_active_p() == 0;
609: 
609: 
609: 
609:     }
609: 
609:   template<typename _Tp>
609:     inline bool
609:     atomic_is_lock_free(const shared_ptr<_Tp>* __p)
609:     { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); }
609: # 101 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609:   template<typename _Tp>
609:     inline shared_ptr<_Tp>
609:     atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
609:     {
609:       _Sp_locker __lock{__p};
609:       return *__p;
609:     }
609: 
609:   template<typename _Tp>
609:     inline shared_ptr<_Tp>
609:     atomic_load(const shared_ptr<_Tp>* __p)
609:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order)
609:     {
609:       _Sp_locker __lock{__p};
609:       return *__p;
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     atomic_load(const __shared_ptr<_Tp, _Lp>* __p)
609:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
609: # 137 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609:   template<typename _Tp>
609:     inline void
609:     atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
609:      memory_order)
609:     {
609:       _Sp_locker __lock{__p};
609:       __p->swap(__r);
609:     }
609: 
609:   template<typename _Tp>
609:     inline void
609:     atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
609:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline void
609:     atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p,
609:      __shared_ptr<_Tp, _Lp> __r,
609:      memory_order)
609:     {
609:       _Sp_locker __lock{__p};
609:       __p->swap(__r);
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline void
609:     atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
609:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
609: # 174 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609:   template<typename _Tp>,
1412:         std::random_access_iterator_tag)
1412:     {
1412: 
1412:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1412: 
1412:       if (__n <= 0)
1412:  return __first;
1412: 
1412:       ;
1412: 
1412:       std::__fill_a(__first, __first + __n, __value);
1412:       return __first + __n;
1412:     }
1412: # 1140 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _OI, typename _Size, typename _Tp>
1412:    
1412:     inline _OI
1412:     fill_n(_OI __first, _Size __n, const _Tp& __value)
1412:     {
1412: 
1412:      
1412: 
1412:       return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
1412:           std::__iterator_category(__first));
1412:     }
1412: 
1412:   template<bool _BoolType>
1412:     struct __equal
1412:     {
1412:       template<typename _II1, typename _II2>
1412: 
1412:  static bool
1412:  equal(_II1 __first1, _II1 __last1, _II2 __first2)
1412:  {
1412:    for (; __first1 != __last1; ++__first1, (void) ++__first2)
1412:      if (!(*__first1 == *__first2))
1412:        return false;
1412:    return true;
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct __equal<true>
1412:     {
1412:       template<typename _Tp>
1412: 
1412:  static bool
1412:  equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
1412:  {
1412:    if (const size_t __len = (__last1 - __first1))
1412:      return !std::__memcmp(__first1, __first2, __len);
1412:    return true;
1412:  }
1412:     };
1412: 
1412:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value, bool>::__type
1412:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1412:    std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1412:    _II);
1412: 
1412:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1412:     typename _Tp2, typename _Ref2, typename _Ptr2>
1412:     bool
1412:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1412:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1412:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1412: 
1412:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value, bool>::__type
1412:     __equal_aux1(_II, _II,
1412:   std::_Deque_iterator<_Tp, _Ref, _Ptr>);
1412: 
1412:   template<typename _II1, typename _II2>
1412:    
1412:     inline bool
1412:     __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
1412:     {
1412:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1412:       const bool __simple = ((__is_integer<_ValueType1>::__value
1412:          || __is_pointer<_ValueType1>::__value)
1412:         && __memcmpable<_II1, _II2>::__value);
1412:       return std::__equal<__simple>::equal(__first1, __last1, __first2);
1412:     }
1412: 
1412:   template<typename _II1, typename _II2>
1412:    
1412:     inline bool
1412:     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
1412:     {
1412:       return std::__equal_aux1(std::__niter_base(__first1),
1412:           std::__niter_base(__last1),
1412:           std::__niter_base(__first2));
1412:     }
1412: 
1412:   template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
1412:     bool
1412:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1412:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1412:   _II2);
1412: 
1412:   template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
1412:     bool
1412:     __equal_aux(_II1, _II1,
1412:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1412: 
1412:   template<typename _II1, typename _Seq1, typename _Cat1,
1412:     typename _II2, typename _Seq2, typename _Cat2>
1412:     bool
1412:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1412:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1412:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1412: 
1412:   template<ty
609:     inline shared_ptr<_Tp>
609:     atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
609:         memory_order)
609:     {
609:       _Sp_locker __lock{__p};
609:       __p->swap(__r);
609:       return __r;
609:     }
609: 
609:   template<typename _Tp>
609:     inline shared_ptr<_Tp>
609:     atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
609:     {
609:       return std::atomic_exchange_explicit(__p, std::move(__r),
609:         memory_order_seq_cst);
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p,
609:         __shared_ptr<_Tp, _Lp> __r,
609:         memory_order)
609:     {
609:       _Sp_locker __lock{__p};
609:       __p->swap(__r);
609:       return __r;
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline __shared_ptr<_Tp, _Lp>
609:     atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
609:     {
609:       return std::atomic_exchange_explicit(__p, std::move(__r),
609:         memory_order_seq_cst);
609:     }
609: # 223 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609:   template<typename _Tp>
609:     bool
609:     atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p,
609:          shared_ptr<_Tp>* __v,
609:          shared_ptr<_Tp> __w,
609:          memory_order,
609:          memory_order)
609:     {
609:       shared_ptr<_Tp> __x;
609:       _Sp_locker __lock{__p, __v};
609:       owner_less<shared_ptr<_Tp>> __less;
609:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
609:  {
609:    __x = std::move(*__p);
609:    *__p = std::move(__w);
609:    return true;
609:  }
609:       __x = std::move(*__v);
609:       *__v = *__p;
609:       return false;
609:     }
609: 
609:   template<typename _Tp>
609:     inline bool
609:     atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
609:      shared_ptr<_Tp> __w)
609:     {
609:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
609:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
609:     }
609: 
609:   template<typename _Tp>
609:     inline bool
609:     atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p,
609:        shared_ptr<_Tp>* __v,
609:        shared_ptr<_Tp> __w,
609:        memory_order __success,
609:        memory_order __failure)
609:     {
609:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
609:    std::move(__w), __success, __failure);
609:     }
609: 
609:   template<typename _Tp>
609:     inline bool
609:     atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
609:      shared_ptr<_Tp> __w)
609:     {
609:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
609:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     bool
609:     atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p,
609:          __shared_ptr<_Tp, _Lp>* __v,
609:          __shared_ptr<_Tp, _Lp> __w,
609:          memory_order,
609:          memory_order)
609:     {
609:       __shared_ptr<_Tp, _Lp> __x;
609:       _Sp_locker __lock{__p, __v};
609:       owner_less<__shared_ptr<_Tp, _Lp>> __less;
609:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
609:  {
609:    __x = std::move(*__p);
609:    *__p = std::move(__w);
609:    return true;
609:  }
609:       __x = std::move(*__v);
609:       *__v = *__p;
609:       return false;
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p,
609:        __shared_ptr<_Tp, _Lp>* __v,
609:        __shared_ptr<_Tp, _Lp> __w)
609:     {
609:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
609:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     atomic_coassignable(_Tp, _Up)>;
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct is_nothrow_assignable
1417:     : public __is_nothrow_assignable_impl<_Tp, _Up>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_nt_copy_assignable_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nt_copy_assignable_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nt_copy_assignable_impl<_Tp, true>
1417:     : public __is_nothrow_assignable_impl<_Tp&, const _Tp&>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_nothrow_copy_assignable
1417:     : public __is_nt_copy_assignable_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_nt_move_assignable_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nt_move_assignable_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nt_move_assignable_impl<_Tp, true>
1417:     : public __is_nothrow_assignable_impl<_Tp&, _Tp&&>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_nothrow_move_assignable
1417:     : public __is_nt_move_assignable_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename... _Args>
1417:     struct is_trivially_constructible
1417:     : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivially_default_constructible
1417:     : public __bool_constant<__is_trivially_constructible(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   struct __do_is_implicitly_default_constructible_impl
1417:   {
1417:     template <typename _Tp>
1417:     static void __helper(const _Tp&);
1417: 
1417:     template <typename _Tp>
1417:     static true_type __test(const _Tp&,
1417:                             decltype(__helper<const _Tp&>({}))* = 0);
1417: 
1417:     static false_type __test(...);
1417:   };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_implicitly_default_constructible_impl
1417:     : public __do_is_implicitly_default_constructible_impl
1417:     {
1417:       typedef decltype(__test(declval<_Tp>())) type;
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_implicitly_default_constructible_safe
1417:     : public __is_implicitly_default_constructible_impl<_Tp>::type
1417:     { };
1417: 
1417:   template <typename _Tp>
1417:     struct __is_implicitly_default_constructible
1417:     : public __and_<__is_constructible_impl<_Tp>,
1417:       __is_implicitly_default_constructible_safe<_Tp>>
1417:     { };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_trivially_copy_constructible_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_copy_constructible_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_copy_constructible_impl<_Tp, true>
1417:     : public __and_<__is_copy_constructible_impl<_Tp>,
1417:       integral_co  unsigned int __high;
1115:   } __value32;
1115: } __atomic_wide_counter;
1115: # 47 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: typedef struct __pthread_internal_list
1115: {
1115:   struct __pthread_internal_list *__prev;
1115:   struct __pthread_internal_list *__next;
1115: } __pthread_list_t;
1115: 
1115: typedef struct __pthread_internal_slist
1115: {
1115:   struct __pthread_internal_slist *__next;
1115: } __pthread_slist_t;
1115: # 76 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1115: struct __pthread_mutex_s
1115: {
1115:   int __lock ;
1115:   unsigned int __count;
1115:   int __owner;
1115: # 58 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1115:   int __kind;
1115: 
1115:   unsigned int __nusers;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   __extension__ union
1115:   {
1115:     int __spins;
1115:     __pthread_slist_t __list;
1115:   };
1115: 
1115: 
1115: };
1115: # 77 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1115: # 89 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 1 3 4
1115: # 29 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1115: struct __pthread_rwlock_arch_t
1115: {
1115:   unsigned int __readers;
1115:   unsigned int __writers;
1115:   unsigned int __wrphase_futex;
1115:   unsigned int __writers_futex;
1115:   unsigned int __pad3;
1115:   unsigned int __pad4;
1115: # 45 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1115:   unsigned char __flags;
1115:   unsigned char __shared;
1115:   unsigned char __pad1;
1115:   unsigned char __pad2;
1115: 
1115:   int __cur_writer;
1115: };
1115: # 90 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: struct __pthread_cond_s
1115: {
1115:   __atomic_wide_counter __wseq;
1115:   __atomic_wide_counter __g1_start;
1115:   unsigned int __g_refs[2] ;
1115:   unsigned int __g_size[2];
1115:   unsigned int __g1_orig_size;
1115:   unsigned int __wrefs;
1115:   unsigned int __g_signals[2];
1115: };
1115: 
1115: typedef unsigned int __tss_t;
1115: typedef unsigned long int __thrd_t;
1115: 
1115: typedef struct
1115: {
1115:   int __data ;
1115: } __once_flag;
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 2 3 4
1115: 
1115: 
1115: 
1115: typedef unsigned long int pthread_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef union
1115: {
1115:   char __size[4];
1115:   int __align;
1115: } pthread_mutexattr_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef union
1115: {
1115:   char __size[4];
1115:   int __align;
1115: } pthread_condattr_t;
1115: 
1115: 
1115: 
1115: typedef unsigned int pthread_key_t;
1115: 
1115: 
1115: 
1115: typedef int pthread_once_t;
1115: 
1115: 
1115: union pthread_attr_t
1115: {
1115:   char __size[36];
1115:   long int __align;
1115: };
1115: 
1115: typedef union pthread_attr_t pthread_attr_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef union
1115: {
1115:   struct __pthread_mutex_s __data;
1115:   char __size[24];
1115:   long int __align;
1115: } pthread_mutex_t;
1115: 
1115: 
1115: typedef union
1115: {
1115:   struct __pthread_cond_s __data;
1115:   char __size[48];
1115:   __extension__ long long int __align;
1115: } pthread_cond_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef union
1115: {
1115:   struct __pthread_rwlock_arch_t __data;
1115:   char __size[32];
1115:   long int __align;
1115: } pthread_rwlock_t;
1115: 
1115: typedef union
1115: {
1115:   char __size[8];
1115:   long int __align;
1115: } pthread_rwlockattr_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef volatile int pthread_spinlock_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef union
1115: {
1115:   char __size[20];
1115:   long int __align;
1115: } pthread_barrier_t;
1115: 
1115: typedef union
1115: {
1115:   char __size[4];
1115:   int __aligpename, typename>
1412:     struct __lc_rai
1412:     {
1412:       template<typename _II1, typename _II2>
1412: 
1412:  static _II1
1412:  __newlast1(_II1, _II1 __last1, _II2, _II2)
1412:  { return __last1; }
1412: 
1412:       template<typename _II>
1412: 
1412:  static bool
1412:  __cnd2(_II __first, _II __last)
1412:  { return __first != __last; }
1412:     };
1412: 
1412:   template<>
1412:     struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
1412:     {
1412:       template<typename _RAI1, typename _RAI2>
1412: 
1412:  static _RAI1
1412:  __newlast1(_RAI1 __first1, _RAI1 __last1,
1412:      _RAI2 __first2, _RAI2 __last2)
1412:  {
1412:    const typename iterator_traits<_RAI1>::difference_type
1412:      __diff1 = __last1 - __first1;
1412:    const typename iterator_traits<_RAI2>::difference_type
1412:      __diff2 = __last2 - __first2;
1412:    return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
1412:  }
1412: 
1412:       template<typename _RAI>
1412:  static bool
1412:  __cnd2(_RAI, _RAI)
1412:  { return true; }
1412:     };
1412: 
1412:   template<typename _II1, typename _II2, typename _Compare>
1412:    
1412:     bool
1412:     __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
1412:        _II2 __first2, _II2 __last2,
1412:        _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_II1>::iterator_category _Category1;
1412:       typedef typename iterator_traits<_II2>::iterator_category _Category2;
1412:       typedef std::__lc_rai<_Category1, _Category2> __rai_type;
1412: 
1412:       __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
1412:       for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
1412:     ++__first1, (void)++__first2)
1412:  {
1412:    if (__comp(__first1, __first2))
1412:      return true;
1412:    if (__comp(__first2, __first1))
1412:      return false;
1412:  }
1412:       return __first1 == __last1 && __first2 != __last2;
1412:     }
1412: 
1412:   template<bool _BoolType>
1412:     struct __lexicographical_compare
1412:     {
1412:       template<typename _II1, typename _II2>
1412: 
1412:  static bool
1412:  __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1412:  {
1412:    using __gnu_cxx::__ops::__iter_less_iter;
1412:    return std::__lexicographical_compare_impl(__first1, __last1,
1412:            __first2, __last2,
1412:            __iter_less_iter());
1412:  }
1412: 
1412:       template<typename _II1, typename _II2>
1412: 
1412:  static int
1412:  __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1412:  {
1412:    while (__first1 != __last1)
1412:      {
1412:        if (__first2 == __last2)
1412:   return +1;
1412:        if (*__first1 < *__first2)
1412:   return -1;
1412:        if (*__first2 < *__first1)
1412:   return +1;
1412:        ++__first1;
1412:        ++__first2;
1412:      }
1412:    return int(__first2 == __last2) - 1;
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct __lexicographical_compare<true>
1412:     {
1412:       template<typename _Tp, typename _Up>
1412: 
1412:  static bool
1412:  __lc(const _Tp* __first1, const _Tp* __last1,
1412:       const _Up* __first2, const _Up* __last2)
1412:  { return __3way(__first1, __last1, __first2, __last2) < 0; }
1412: 
1412:       template<typename _Tp, typename _Up>
1412: 
1412:  static ptrdiff_t
1412:  __3way(const _Tp* __first1, const _Tp* __last1,
1412:         const _Up* __first2, const _Up* __last2)
1412:  {
1412:    const size_t __len1 = __last1 - __first1;
1412:    const size_t __len2 = __last2 - __first2;
1412:    if (const size_t __len = std::min(__len1, __len2))
1412:      if (int __result = std::__memcmp(__first1, __first2, __len))
1412:        return __result;
1412:    return ptrdiff_t(__len1 - __len2);
1412:  }
1412:     };
1412: 
1412:   template<typename _II1, typename _II2>
1412:    
1412:     inline bool
1412:     __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
1412:        _II2 __first2, _II2 __last2)
1412:     {
1412:       typedef typename iterator_tmpare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p,
609:        __shared_ptr<_Tp, _Lp>* __v,
609:        __shared_ptr<_Tp, _Lp> __w,
609:        memory_order __success,
609:        memory_order __failure)
609:     {
609:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
609:    std::move(__w), __success, __failure);
609:     }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:     inline bool
609:     atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p,
609:      __shared_ptr<_Tp, _Lp>* __v,
609:      __shared_ptr<_Tp, _Lp> __w)
609:     {
609:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
609:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
609:     }
609: # 796 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
609: 
609: }
609: # 79 "/usr/include/c++/12/memory" 2 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/backward/auto_ptr.h" 1 3
609: # 36 "/usr/include/c++/12/backward/auto_ptr.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 47 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:   template<typename _Tp1>
609:     struct auto_ptr_ref
609:     {
609:       _Tp1* _M_ptr;
609: 
609:       explicit
609:       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
609:     } __attribute__ ((__deprecated__));
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: # 88 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:   template<typename _Tp>
609:     class auto_ptr
609:     {
609:     private:
609:       _Tp* _M_ptr;
609: 
609:     public:
609: 
609:       typedef _Tp element_type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       explicit
609:       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
609: # 114 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
609: # 126 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       template<typename _Tp1>
609:         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
609: # 137 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       auto_ptr&
609:       operator=(auto_ptr& __a) throw()
609:       {
609:  reset(__a.release());
609:  return *this;
609:       }
609: # 154 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       template<typename _Tp1>
609:         auto_ptr&
609:         operator=(auto_ptr<_Tp1>& __a) throw()
609:         {
609:    reset(__a.release());
609:    return *this;
609:  }
609: # 172 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       ~auto_ptr() { delete _M_ptr; }
609: # 182 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       element_type&
609:       operator*() const throw()
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
609:  return *_M_ptr;
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       element_type*
609:       operator->() const throw()
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
609:  return _M_ptr;
609:       }
609: # 212 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       element_type*
609:       get() const throw() { return _M_ptr; }
609: # 226 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       element_type*
609:       release() throw()
609:       {
609:  element_type* __tmp = _M_ptr;
609:  _M_ptr = 0;
609:  return __tmp;
609:       }
609: # 241 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       void
609:       reset(element_type* __p = 0) throw()
609:       {
609:  if (__p != _M_ptr)
609:    {
609:      delete _M_ptr;
609:      _M_ptr = __p;
609:    }
609:       }
609: # 266 "/usr/include/c++/12/backward/auto_ptr.h" 3
609:       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
609:       : _M_ptr(__ref._M_ptr) { }
609: 
609:       auto_ptr&
609:       operator=(auto_ptr_ref<element_type> __ref) throw()
609:       {
609:  if (__ref._M_ptr != this->get())
609:    {
609:      delete _M_ptr;
609:      _M_ptr = __ref._M_ptr;
n;
1115: } pthread_barrierattr_t;
1115: # 27 "/usr/include/pthread.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 1 3 4
1115: # 33 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 3 4
1115: typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
1115: # 28 "/usr/include/pthread.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 29 "/usr/include/pthread.h" 2 3 4
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: typedef struct
1115: {
1115:   unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
1115: } __sigset_t;
1115: # 31 "/usr/include/pthread.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 1 3 4
1115: # 26 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 3 4
1115: struct __jmp_buf_tag
1115:   {
1115: 
1115: 
1115: 
1115: 
1115:     __jmp_buf __jmpbuf;
1115:     int __mask_was_saved;
1115:     __sigset_t __saved_mask;
1115:   };
1115: # 32 "/usr/include/pthread.h" 2 3 4
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 3 4
1115: extern "C" {
1115: extern long int __sysconf (int __name) noexcept (true);
1115: }
1115: # 34 "/usr/include/pthread.h" 2 3 4
1115: 
1115: 
1115: 
1115: enum
1115: {
1115:   PTHREAD_CREATE_JOINABLE,
1115: 
1115:   PTHREAD_CREATE_DETACHED
1115: 
1115: };
1115: 
1115: 
1115: 
1115: enum
1115: {
1115:   PTHREAD_MUTEX_TIMED_NP,
1115:   PTHREAD_MUTEX_RECURSIVE_NP,
1115:   PTHREAD_MUTEX_ERRORCHECK_NP,
1115:   PTHREAD_MUTEX_ADAPTIVE_NP
1115: 
1115:   ,
1115:   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
1115:   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
1115:   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
1115:   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
1115: 
1115: 
1115: 
1115:   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
1115: 
1115: };
1115: 
1115: 
1115: 
1115: 
1115: enum
1115: {
1115:   PTHREAD_MUTEX_STALLED,
1115:   PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
1115:   PTHREAD_MUTEX_ROBUST,
1115:   PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: enum
1115: {
1115:   PTHREAD_PRIO_NONE,
1115:   PTHREAD_PRIO_INHERIT,
1115:   PTHREAD_PRIO_PROTECT
1115: };
1115: # 104 "/usr/include/pthread.h" 3 4
1115: enum
1115: {
1115:   PTHREAD_RWLOCK_PREFER_READER_NP,
1115:   PTHREAD_RWLOCK_PREFER_WRITER_NP,
1115:   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
1115:   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
1115: };
1115: # 124 "/usr/include/pthread.h" 3 4
1115: enum
1115: {
1115:   PTHREAD_INHERIT_SCHED,
1115: 
1115:   PTHREAD_EXPLICIT_SCHED
1115: 
1115: };
1115: 
1115: 
1115: 
1115: enum
1115: {
1115:   PTHREAD_SCOPE_SYSTEM,
1115: 
1115:   PTHREAD_SCOPE_PROCESS
1115: 
1115: };
1115: 
1115: 
1115: 
1115: enum
1115: {
1115:   PTHREAD_PROCESS_PRIVATE,
1115: 
1115:   PTHREAD_PROCESS_SHARED
1115: 
1115: };
1115: # 159 "/usr/include/pthread.h" 3 4
1115: struct _pthread_cleanup_buffer
1115: {
1115:   void (*__routine) (void *);
1115:   void *__arg;
1115:   int __canceltype;
1115:   struct _pthread_cleanup_buffer *__prev;
1115: };
1115: 
1115: 
1115: enum
1115: {
1115:   PTHREAD_CANCEL_ENABLE,
1115: 
1115:   PTHREAD_CANCEL_DISABLE
1115: 
1115: };
1115: enum
1115: {
1115:   PTHREAD_CANCEL_DEFERRED,
1115: 
1115:   PTHREAD_CANCEL_ASYNCHRONOUS
1115: 
1115: };
1115: # 197 "/usr/include/pthread.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_create (pthread_t *__restrict __newthread,
1115:       const pthread_attr_t *__restrict __attr,
1115:       void *(*__start_routine) (void *),
1115:       void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_join (pthread_t __t609:    }
609:  return *this;
609:       }
609: 
609:       template<typename _Tp1>
609:         operator auto_ptr_ref<_Tp1>() throw()
609:         { return auto_ptr_ref<_Tp1>(this->release()); }
609: 
609:       template<typename _Tp1>
609:         operator auto_ptr<_Tp1>() throw()
609:         { return auto_ptr<_Tp1>(this->release()); }
609:     } __attribute__ ((__deprecated__ ("use '" "std::unique_ptr" "' instead")));
609: 
609: 
609: 
609:   template<>
609:     class auto_ptr<void>
609:     {
609:     public:
609:       typedef void element_type;
609:     } __attribute__ ((__deprecated__));
609: 
609: 
609:   template<_Lock_policy _Lp>
609:   template<typename _Tp>
609:     inline
609:     __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r)
609:     : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get()))
609:     { __r.release(); }
609: 
609:   template<typename _Tp, _Lock_policy _Lp>
609:   template<typename _Tp1, typename>
609:     inline
609:     __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r)
609:     : _M_ptr(__r.get()), _M_refcount()
609:     {
609:      
609:       static_assert( sizeof(_Tp1) > 0, "incomplete type" );
609:       _Tp1* __tmp = __r.get();
609:       _M_refcount = __shared_count<_Lp>(std::move(__r));
609:       _M_enable_shared_from_this_with(__tmp);
609:     }
609: 
609:   template<typename _Tp>
609:   template<typename _Tp1, typename>
609:     inline
609:     shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r)
609:     : __shared_ptr<_Tp>(std::move(__r)) { }
609: 
609:   template<typename _Tp, typename _Dp>
609:   template<typename _Up, typename>
609:     inline
609:     unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept
609:     : _M_t(__u.release(), deleter_type()) { }
609: 
609: 
609: #pragma GCC diagnostic pop
609: 
609: 
609: }
609: # 83 "/usr/include/c++/12/memory" 2 3
609: # 91 "/usr/include/c++/12/memory" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 109 "/usr/include/c++/12/memory" 3
609: enum class pointer_safety { relaxed, preferred, strict };
609: 
609: 
609: inline void
609: declare_reachable(void*) { }
609: 
609: 
609: template <typename _Tp>
609:   inline _Tp*
609:   undeclare_reachable(_Tp* __p) { return __p; }
609: 
609: 
609: inline void
609: declare_no_pointers(char*, size_t) { }
609: 
609: 
609: inline void
609: undeclare_no_pointers(char*, size_t) { }
609: 
609: 
609: inline pointer_safety
609: get_pointer_safety() noexcept { return pointer_safety::relaxed; }
609: 
609: 
609: 
609: }
609: # 144 "/usr/include/c++/12/memory" 3
609: # 1 "/usr/include/c++/12/pstl/glue_memory_defs.h" 1 3
609: # 15 "/usr/include/c++/12/pstl/glue_memory_defs.h" 3
609: namespace std
609: {
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: uninitialized_copy(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
609: 
609: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: uninitialized_copy_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: uninitialized_move(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
609: 
609: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: uninitialized_move_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
609: __psraits<_II1>::value_type _ValueType1;
1412:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
1412:       const bool __simple =
1412:  (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
1412:   && __is_pointer<_II1>::__value
1412:   && __is_pointer<_II2>::__value
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   );
1412: 
1412:       return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
1412:            __first2, __last2);
1412:     }
1412: 
1412:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1412:     typename _Tp2>
1412:     bool
1412:     __lexicographical_compare_aux1(
1412:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1412:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1412:  _Tp2*, _Tp2*);
1412: 
1412:   template<typename _Tp1,
1412:     typename _Tp2, typename _Ref2, typename _Ptr2>
1412:     bool
1412:     __lexicographical_compare_aux1(_Tp1*, _Tp1*,
1412:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1412:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1412: 
1412:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1412:     typename _Tp2, typename _Ref2, typename _Ptr2>
1412:     bool
1412:     __lexicographical_compare_aux1(
1412:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1412:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1412:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1412:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1412: 
1412:   template<typename _II1, typename _II2>
1412:    
1412:     inline bool
1412:     __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
1412:       _II2 __first2, _II2 __last2)
1412:     {
1412:       return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
1412:        std::__niter_base(__last1),
1412:        std::__niter_base(__first2),
1412:        std::__niter_base(__last2));
1412:     }
1412: 
1412:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1412:     typename _II2>
1412:     bool
1412:     __lexicographical_compare_aux(
1412:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1412:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1412:   _II2, _II2);
1412: 
1412:   template<typename _II1,
1412:     typename _Iter2, typename _Seq2, typename _Cat2>
1412:     bool
1412:     __lexicographical_compare_aux(
1412:   _II1, _II1,
1412:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1412:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1412: 
1412:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1412:     typename _Iter2, typename _Seq2, typename _Cat2>
1412:     bool
1412:     __lexicographical_compare_aux(
1412:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1412:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1412:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1412:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1412: 
1412:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1412:    
1412:     _ForwardIterator
1412:     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1412:     const _Tp& __val, _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1412:  _DistanceType;
1412: 
1412:       _DistanceType __len = std::distance(__first, __last);
1412: 
1412:       while (__len > 0)
1412:  {
1412:    _DistanceType __half = __len >> 1;
1412:    _ForwardIterator __middle = __first;
1412:    std::advance(__middle, __half);
1412:    if (__comp(__middle, __val))
1412:      {
1412:        __first = __middle;
1412:        ++__first;
1412:        __len = __len - __half - 1;
1412:      }
1412:    else
1412:      __len = __half;
1412:  }
1412:       return __first;
1412:     }
1412: # 1486 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline _ForwardIterator
1412:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1412:   const _Tp& __val)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:nstant<bool,
1417:    __is_trivially_constructible(_Tp, const _Tp&)>>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivially_copy_constructible
1417:     : public __is_trivially_copy_constructible_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_trivially_move_constructible_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_move_constructible_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_move_constructible_impl<_Tp, true>
1417:     : public __and_<__is_move_constructible_impl<_Tp>,
1417:       integral_constant<bool,
1417:    __is_trivially_constructible(_Tp, _Tp&&)>>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivially_move_constructible
1417:     : public __is_trivially_move_constructible_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct is_trivially_assignable
1417:     : public __bool_constant<__is_trivially_assignable(_Tp, _Up)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_trivially_copy_assignable_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_copy_assignable_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_copy_assignable_impl<_Tp, true>
1417:     : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivially_copy_assignable
1417:     : public __is_trivially_copy_assignable_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __is_trivially_move_assignable_impl;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_move_assignable_impl<_Tp, false>
1417:     : public false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_trivially_move_assignable_impl<_Tp, true>
1417:     : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivially_move_assignable
1417:     : public __is_trivially_move_assignable_impl<_Tp>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_trivially_destructible
1417:     : public __and_<__is_destructible_safe<_Tp>,
1417:       __bool_constant<__has_trivial_destructor(_Tp)>>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct has_virtual_destructor
1417:     : public integral_constant<bool, __has_virtual_destructor(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct alignment_of
1417:     : public integral_constant<std::size_t, alignof(_Tp)>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename>
1417:     struct rank
1417:     : public integral_constant<std::size_t, 0> { };
1417: 
1417:   template<typename _Tp, std::size_t _Size>
1417:     struct rank<_Tp[_Size]>
1417:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1417: 
1417:   template<typename _Tp>
1417:     struct rank<_Tp[]>
1417:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1417: 
1417: 
1417:   template<typename, unsigned _Uint>
1417:     struct extent
1417:     : public integral_constant<std::size_t, 0> { };
1417: 
1417:   template<typename _Tp, unsigned _Uint, std::size_t _Size>
1417:     struct extent<_Tp[_Size], _Uint>
1417:     : public integral_constant<std::size_t,
1417:           _Uint == 0 ? _Size : extent<_Tp,
1417:           _Uint - 1>::value>
1417:     { };
1417: 
1417:   template<typename _Tp, unsigned _Uint>
1417:     struct extent<_Tp[], _Uint>
1417:     : public integral_constant<std::size_t,
1417:           _Uint == 0 ? 0 : extent<_Tp,
1417:              _Uint - 1>::value>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct is_same
1417: 
1417:     : public integral_constant<bool, __is_same(_Tp, _Up)>
1417: 
1417: 
1417: 
1417:     { };
1417: # 1445 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Base, typename _Derived>
1417:     struct is_base_of
1417:     : public integral_constant<bool, __is_base_of(_Base, _Derived)>
1417:     { };
1417: 
1417:   template<typename _From, typename _To,
1417:            bool = __or_<is_void<_From>, is_function<_To>,
1417:                         is_array<_To>>::value>
1417:     struct __is_convertible_helper
1417:     {
1417:       typedef typename is_void<_To>::type type;
1417:     };
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1417:   template<typename _From, typename _To>
1417:     class __is_convertible_helper<_From, _To, false>
1417:     {
1417:       template<typename _To1>
1417:  static void __test_aux(_To1) noexcept;
1417: 
1417:       template<typename _From1, typename _To1,
1417:         typename = decltype(__test_aux<_To1>(std::declval<_From1>()))>
1417:  static true_type
1417:  __test(int);
1417: 
1417:       template<typename, typename>
1417:  static false_type
1417:  __test(...);
1417: 
1417:     public:
1417:       typedef decltype(__test<_From, _To>(0)) type;
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417:   template<typename _From, typename _To>
1417:     struct is_convertible
1417:     : public __is_convertible_helper<_From, _To>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _ToElementType, typename _FromElementType>
1417:     using __is_array_convertible
1417:       = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
1417: 
1417:   template<typename _From, typename _To,
1417:            bool = __or_<is_void<_From>, is_function<_To>,
1417:                         is_array<_To>>::value>
1417:     struct __is_nt_convertible_helper
1417:     : is_void<_To>
1417:     { };
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1417:   template<typename _From, typename _To>
1417:     class __is_nt_convertible_helper<_From, _To, false>
1417:     {
1417:       template<typename _To1>
1417:  static void __test_aux(_To1) noexcept;
1417: 
1417:       template<typename _From1, typename _To1>
1417:  static
1417:  __bool_constant<noexcept(__test_aux<_To1>(std::declval<_From1>()))>
1417:  __test(int);
1417: 
1417:       template<typename, typename>
1417:  static false_type
1417:  __test(...);
1417: 
1417:     public:
1417:       using type = decltype(__test<_From, _To>(0));
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417:   template<th, void **__thread_return);
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true);
1115: # 233 "/usr/include/pthread.h" 3 4
1115: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
1115:      const struct timespec *__abstime);
1115: # 243 "/usr/include/pthread.h" 3 4
1115: extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
1115:                                  clockid_t __clockid,
1115:      const struct timespec *__abstime);
1115: # 269 "/usr/include/pthread.h" 3 4
1115: extern int pthread_detach (pthread_t __th) noexcept (true);
1115: 
1115: 
1115: 
1115: extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
1115:   noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_attr_destroy (pthread_attr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
1115:      int *__detachstate)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
1115:      int __detachstate)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
1115:           size_t *__guardsize)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
1115:           size_t __guardsize)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
1115:            struct sched_param *__restrict __param)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
1115:            const struct sched_param *__restrict
1115:            __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
1115:      __attr, int *__restrict __policy)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
1115:       __attr, int *__restrict __inherit)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
1115:       int __inherit)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
1115:       int *__restrict __scope)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
1115:           __attr, void **__restrict __stackaddr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
1115:           void *__stackaddr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
1115: 
1115: 
1115: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
1115:           __attr, size_t *__ypename _From, typename _To>
1417:     struct __is_nothrow_convertible
1417:     : public __is_nt_convertible_helper<_From, _To>::type
1417:     { };
1417: # 1543 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Tp>
1417:     struct remove_const
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_const<_Tp const>
1417:     { typedef _Tp type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct remove_volatile
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_volatile<_Tp volatile>
1417:     { typedef _Tp type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct remove_cv
1417:     { using type = _Tp; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_cv<const _Tp>
1417:     { using type = _Tp; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_cv<volatile _Tp>
1417:     { using type = _Tp; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_cv<const volatile _Tp>
1417:     { using type = _Tp; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct add_const
1417:     { typedef _Tp const type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct add_volatile
1417:     { typedef _Tp volatile type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct add_cv
1417:     {
1417:       typedef typename
1417:       add_const<typename add_volatile<_Tp>::type>::type type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using remove_const_t = typename remove_const<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using remove_volatile_t = typename remove_volatile<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using remove_cv_t = typename remove_cv<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using add_const_t = typename add_const<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using add_volatile_t = typename add_volatile<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using add_cv_t = typename add_cv<_Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct remove_reference
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_reference<_Tp&>
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_reference<_Tp&&>
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __add_lvalue_reference_helper
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct __add_lvalue_reference_helper<_Tp, true>
1417:     { typedef _Tp& type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct add_lvalue_reference
1417:     : public __add_lvalue_reference_helper<_Tp>
1417:     { };
1417: 
1417:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1417:     struct __add_rvalue_reference_helper
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct __add_rvalue_reference_helper<_Tp, true>
1417:     { typedef _Tp&& type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct add_rvalue_reference
1417:     : public __add_rvalue_reference_helper<_Tp>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using remove_reference_t = typename remove_reference<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Unqualified, bool _IsConst, bool _IsVol>
1417:     struct __cv_selector;
1417: 
1417:   template<typename _Unqualified>
1417:     struct __cv_selector<_Unqualified, false, false>
1417:     { typedef _Unqualified __type; };
       ;
1412: 
1412:       return std::__lower_bound(__first, __last, __val,
1412:     __gnu_cxx::__ops::__iter_less_val());
1412:     }
1412: 
1412: 
1412: 
1412:   inline constexpr int
1412:   __lg(int __n)
1412:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1412: 
1412:   inline constexpr unsigned
1412:   __lg(unsigned __n)
1412:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1412: 
1412:   inline constexpr long
1412:   __lg(long __n)
1412:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1412: 
1412:   inline constexpr unsigned long
1412:   __lg(unsigned long __n)
1412:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1412: 
1412:   inline constexpr long long
1412:   __lg(long long __n)
1412:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1412: 
1412:   inline constexpr unsigned long long
1412:   __lg(unsigned long long __n)
1412:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1412: 
1412: 
1412: # 1542 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _II1, typename _II2>
1412:    
1412:     inline bool
1412:     equal(_II1 __first1, _II1 __last1, _II2 __first2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       return std::__equal_aux(__first1, __last1, __first2);
1412:     }
1412: # 1573 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1412:    
1412:     inline bool
1412:     equal(_IIter1 __first1, _IIter1 __last1,
1412:    _IIter2 __first2, _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412:      
1412:       ;
1412: 
1412:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1412:  if (!bool(__binary_pred(*__first1, *__first2)))
1412:    return false;
1412:       return true;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _II1, typename _II2>
1412:    
1412:     inline bool
1412:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1412:     {
1412:       using _RATag = random_access_iterator_tag;
1412:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1412:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1412:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1412:       if (_RAIters())
1412:  {
1412:    auto __d1 = std::distance(__first1, __last1);
1412:    auto __d2 = std::distance(__first2, __last2);
1412:    if (__d1 != __d2)
1412:      return false;
1412:    return std::equal(__first1, __last1, __first2);
1412:  }
1412: 
1412:       for (; __first1 != __last1 && __first2 != __last2;
1412:    ++__first1, (void)++__first2)
1412:  if (!(*__first1 == *__first2))
1412:    return false;
1412:       return __first1 == __last1 && __first2 == __last2;
1412:     }
1412: 
1412: 
1412:   template<typename _II1, typename _II2, typename _BinaryPredicate>
1412:    
1412:     inline bool
1412:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
1412:       _BinaryPredicate __binary_pred)
1412:     {
1412:       using _RATag = random_access_iterator_tag;
1412:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1412:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1412:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1412:       if (_RAIters())
1412:  {
1412:    auto __d1 = std::distance(__first1, __last1);
1412:    auto __d2 = std::distance(__first2, __last2);
1412:    if (__d1 != __d2)
1412:      return false;
1412:    return std::equal(__first1, __last1, __first2,
1412:            __binary_pred);
1412:  }
1412: 
1412:       for (; __first1 != __last1 && __first2 != __last2;
1412:    ++__first1, (void)++__first2)
1412:  if (!bool(__binary_pred(*__first1, *__first2)))
1412:    return false;
1412:       return __first1 == __last1 && __first2 == __last2;
1412:     }
1412: # 1663 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _II1, typename _IIrestrict __stacksize)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
1115:           size_t __stacksize)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
1115:       void **__restrict __stackaddr,
1115:       size_t *__restrict __stacksize)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
1115:       size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
1115:      size_t __cpusetsize,
1115:      const cpu_set_t *__cpuset)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: 
1115: 
1115: 
1115: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
1115:      size_t __cpusetsize,
1115:      cpu_set_t *__cpuset)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: 
1115: 
1115: extern int pthread_getattr_default_np (pthread_attr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
1115:            const __sigset_t *sigmask);
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
1115:            __sigset_t *sigmask);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
1115:       const struct sched_param *__param)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: 
1115: 
1115: extern int pthread_getschedparam (pthread_t __target_thread,
1115:       int *__restrict __policy,
1115:       struct sched_param *__restrict __param)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1115: 
1115: 
1115: extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
1115:           size_t __buflen)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_getconcurrency (void) noexcept (true);
1115: 
1115: 
1115: extern int pthread_setconcurrency (int __level) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int pthread_yield (void) noexcept (true);
1115: 
1115: extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield")
1115:   __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead")))
1115:                                                       ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
1115:        const cpu_set_t *__cpuset)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: 
1115: 
1115: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
1115:        cpu_set_t *__cpuset)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: # 509 "/usr/include/pthread.h" 3 4
1115: extern int pthread_once (pthread_once_t *__once_control,
1115:     void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
1115: # 521 "/usr/include/pthread.h" 3 4
1115: extern int pthread_stl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: uninitialized_fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: uninitialized_fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, const _Tp& __value);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: destroy_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: uninitialized_default_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: uninitialized_default_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
609: 
609: 
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
609: uninitialized_value_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
609: 
609: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
609: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
609: uninitialized_value_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
609: 
609: }
609: # 145 "/usr/include/c++/12/memory" 2 3
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h" 2
609: 
609: 
609: 
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h"
609: class CGUIListItem;
609: 
609: namespace INFO
609: {
609: 
609: 
609: 
609: 
609: class InfoBool
609: {
609: public:
609:   InfoBool(const std::string &expression, int context, unsigned int &refreshCounter);
609:   virtual ~InfoBool() = default;
609: 
609:   virtual void Initialize() {}
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline bool Get(int contextWindow, const CGUIListItem* item = nullptr)
609:   {
609:     if (item && m_listItemDependent)
609:       Update(contextWindow, item);
609:     else if (m_refreshCounter != m_parentRefreshCounter || m_refreshCounter == 0)
609:     {
609:       Update(contextWindow, nullptr);
609:       m_refreshCounter = m_parentRefreshCounter;
609:     }
609:     return m_value;
609:   }
609: 
609:   bool operator==(const InfoBool &right) const
609:   {
609:     return (m_context == right.m_context &&
609:             m_expression == right.m_expression);
609:   }
609: 
609:   bool operator<(const InfoBool &right) const
609:   {
609:     if (m_context < right.m_context)
609:       return true;
609:     else if (m_context == right.m_context)
609:       return m_expression < right.m_expression;
609:     else
609:       return false;
609:   }
609: 
609: 
609: 
609: 
609:   virtual void Update(int contextWindow, const CGUIListItem* item) {}
609: 
609:   const std::string &GetExpression() const { return m_expression; }
609:   bool ListItemDependent() const { return m_listItemDependent; }
609: protected:
609: 
609:   bool m_value;
609:   int m_context;
609:   bool m_listItemDependent;
609:   std::string m_expression;
609: 
609: private:
609:   unsigned int m_refreshCounter;
609:   unsigned int &m_parentRefreshCounter;
609: };
609: 
609: typedef std::shared_ptr<InfoBool> InfoPtr;
609: };
609: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h"
609:        
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/utility" 1 3
609: # 58 "/usr/include/c++/12/utility" 3
609:        
609: # 59 "/usr/include/c++/12/utility" 3
609: # 68 "/usr/include/c++/12/utility" 3
609: # 1 "/usr/include/c++/12/bits/stl_relops.h" 1 3
609: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
609: 
609: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   namespace rel_ops
609:   {
609: # 86 "/usr/include/c++/12/bits/stl_relops.h" 3
609:     template <class _Tp>
609:       inline bool
609:       operator!=(const _Tp& __x, const _Tp& __y)
609:       { return !(__x == __y); }
609: # 99 "/usr/include/c++/12/bits/stl_relops.h" 3
609:     template <class _Tp>
609:       inline bool
609:       operator>(const _Tp& __x, const _Tp& __y)
609:       { return __y < __x; }
609: # 112 "/usr/include/c++/12/bits/stl_relops.h" 3
609:     template <class _Tp>
609:       inline bool
609:       operator<=(const _Tp& __x, const _Tp& __y)
609:       { return !(__y < __x); }
609: # 125 "/usr/include/c++/12/bits/stl_relops.h" 3
609:     template <class _Tp>
609:       inline bool
609:       operator>=(const _Tp& __x, const _Tp& __y)
609:       { return !(__x < __y); }
609:   }
609: 
609: 
609: }
609: # 69 "/usr/include/c++/12/utility" 2 3
609: # 82 "/usr/include/c++/12/utility" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp, typename _Up = _Tp>
609:    
609:     inline _Tp
609:     exchange(_Tp& __obj, _Up&& __new_val)
609:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
609:       is_nothrow_assignable<_Tp&, _Up>>::value)
609:     { return std::__exchange(__obj, std::forward<_Up>(__new_val)); }
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     [[nodiscard]]
609:     constexpr add_const_t<_Tp>&
609:     as_const(_Tp& __t) noexcept
609:     { return __t; }
609: 
609:   template<typename _Tp>
609:     void as_const(const _Tp&&) = delete;
609: # 220 "/usr/include/c++/12/utility" 3
609: 
609: }
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h" 2
609: 
609: 
609: 
609: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h"
609: namespace UTILS
609: {
609: namespace COLOR
609: {
609: 
609: typedef uint32_t Color;
609: 
609: constexpr Color BLACK = 0xFF000000;
609: constexpr Color LIMITED_BLACK = 0xFF101010;
609: constexpr Color BLUE = 0xFF0099FF;
609: constexpr Color BRIGHTGREEN = 0xFF00FF00;
609: constexpr Color CYAN = 0xFF00FFFF;
609: constexpr Color DARKGREY = 0xFF808080;
609: constexpr Color GREY = 0xFFC0C0C0;
609: constexpr Color LIGHTGREY = 0xFFE5E5E5;
609: constexpr Color NONE = 0x00000000;
609: constexpr Color WHITE = 0xFFFFFFFF;
609: constexpr Color YELLOW = 0xFFFFFF00;
609: constexpr Color YELLOWGREEN = 0xFFCCFF00;
609: 
609: struct ColorInfo
609: {
609:   Color colorARGB;
609:   double hue;
609:   double saturation;
609:   double lightness;
609: };
609: 
609: struct ColorFloats
609: {
609:   float red;
609:   float green;
609:   float blue;
609:   float alpha;
609: };
609: 
609: 
609: 
609: 
609: 
609: 
609: Color ChangeOpacity(const Color argb, const float opacity);
609: 
609: 
609: 
609: 
609: 
609: Color ConvertToRGBA(const Color argb);
609: 
609: 
609: 
609: 
609: 
609: Color ConvertToARGB(const Color rgba);
609: 
609: 
609: 
609: 
609: 
609: Color ConvertToBGR(const Color argb);
609: 
609: 
609: 
609: 
609: 
609: Color ConvertHexToColor(const std::string& hexColor);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: Color ConvertIntToRGB(int r, int g, int b);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: ColorInfo MakeColorInfo(const Color& argb);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: ColorInfo MakeColorInfo(const std::string& hexColor);
609: 
609: 
609: 
609: bool comparePairColorInfo(const std2>
1412:    
1412:     inline bool
1412:     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__equal4(__first1, __last1, __first2, __last2);
1412:     }
1412: # 1696 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1412:    
1412:     inline bool
1412:     equal(_IIter1 __first1, _IIter1 __last1,
1412:    _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412:      
1412:       ;
1412:       ;
1412: 
1412:       return std::__equal4(__first1, __last1, __first2, __last2,
1412:           __binary_pred);
1412:     }
1412: # 1728 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _II1, typename _II2>
1412:    
1412:     inline bool
1412:     lexicographical_compare(_II1 __first1, _II1 __last1,
1412:        _II2 __first2, _II2 __last2)
1412:     {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:      
1412:      
1412:      
1412:       ;
1412:       ;
1412: 
1412:       return std::__lexicographical_compare_aux(__first1, __last1,
1412:       __first2, __last2);
1412:     }
1412: # 1763 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _II1, typename _II2, typename _Compare>
1412:    
1412:     inline bool
1412:     lexicographical_compare(_II1 __first1, _II1 __last1,
1412:        _II2 __first2, _II2 __last2, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412:       ;
1412:       ;
1412: 
1412:       return std::__lexicographical_compare_impl
1412:  (__first1, __last1, __first2, __last2,
1412:   __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: # 1875 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     pair<_InputIterator1, _InputIterator2>
1412:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1412:         _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1412:     {
1412:       while (__first1 != __last1 && __binary_pred(__first1, __first2))
1412:  {
1412:    ++__first1;
1412:    ++__first2;
1412:  }
1412:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1412:     }
1412: # 1903 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2>
1412:    
1412:     inline pair<_InputIterator1, _InputIterator2>
1412:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1412:       _InputIterator2 __first2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       return std::__mismatch(__first1, __last1, __first2,
1412:         __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: # 1937 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline pair<_InputIterator1, _InputIterator2>
1412:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1412:       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412:      
1412:       ;
1412: 
1412:       return std::__mismatch(__first1, __last1, __first2,
1412:  __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     pair<_InputIterator1, _InputIterator2>
1412:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1412:         _InputIterator2 __first2, _InputIterator2 __last2,
1412:         _BinaryPredicate __binary_pred)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2
1412:       && __binary_pred(__first1, __first2))
1412:  {
1412:    ++__first1;
1412:    ++__first2;
1412:  }
1412:       return pair<_InputIterator1, _InputIteretcancelstate (int __state, int *__oldstate);
1115: 
1115: 
1115: 
1115: extern int pthread_setcanceltype (int __type, int *__oldtype);
1115: 
1115: 
1115: extern int pthread_cancel (pthread_t __th);
1115: 
1115: 
1115: 
1115: 
1115: extern void pthread_testcancel (void);
1115: 
1115: 
1115: 
1115: 
1115: struct __cancel_jmp_buf_tag
1115: {
1115:   __jmp_buf __cancel_jmp_buf;
1115:   int __mask_was_saved;
1115: };
1115: 
1115: typedef struct
1115: {
1115:   struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
1115:   void *__pad[4];
1115: } __pthread_unwind_buf_t __attribute__ ((__aligned__));
1115: # 557 "/usr/include/pthread.h" 3 4
1115: struct __pthread_cleanup_frame
1115: {
1115:   void (*__cancel_routine) (void *);
1115:   void *__cancel_arg;
1115:   int __do_it;
1115:   int __cancel_type;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: class __pthread_cleanup_class
1115: {
1115:   void (*__cancel_routine) (void *);
1115:   void *__cancel_arg;
1115:   int __do_it;
1115:   int __cancel_type;
1115: 
1115:  public:
1115:   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
1115:     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
1115:   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
1115:   void __setdoit (int __newval) { __do_it = __newval; }
1115:   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
1115:         &__cancel_type); }
1115:   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
1115: };
1115: # 766 "/usr/include/pthread.h" 3 4
1115: extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp")
1115: 
1115: 
1115:                      __attribute__ ((__returns_twice__));
1115: # 781 "/usr/include/pthread.h" 3 4
1115: extern int pthread_mutex_init (pthread_mutex_t *__mutex,
1115:           const pthread_mutexattr_t *__mutexattr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
1115:         const struct timespec *__restrict
1115:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: # 817 "/usr/include/pthread.h" 3 4
1115: extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
1115:         clockid_t __clockid,
1115:         const struct timespec *__restrict
1115:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: # 835 "/usr/include/pthread.h" 3 4
1115: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
1115:       __restrict __mutex,
1115:       int *__restrict __prioceiling)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
1115:       int __prioceiling,
1115:       int *__restrict __old_ceiling)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent")
1115:                                 __attribute__ ((__nonnull__ (1)))
1115:   __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent")))
1115:                                      ::pair<std::string, ColorInfo>& a,
609:                           const std::pair<std::string, ColorInfo>& b);
609: 
609: 
609: 
609: 
609: 
609: ColorFloats ConvertToFloats(const Color argb);
609: }
609: }
609: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
609:        
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/math.h" 1 3
609: # 36 "/usr/include/c++/12/math.h" 3
609: # 1 "/usr/include/c++/12/cmath" 1 3
609: # 39 "/usr/include/c++/12/cmath" 3
609:        
609: # 40 "/usr/include/c++/12/cmath" 3
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/math.h" 1 3 4
609: # 27 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
609: # 28 "/usr/include/math.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: # 34 "/usr/include/math.h" 3 4
609: extern "C" {
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libm-simd-decl-stubs.h" 1 3 4
609: # 28 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 2 3 4
609: # 41 "/usr/include/math.h" 2 3 4
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
609: # 44 "/usr/include/math.h" 2 3 4
609: # 152 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/flt-eval-method.h" 1 3 4
609: # 153 "/usr/include/math.h" 2 3 4
609: # 163 "/usr/include/math.h" 3 4
609: typedef float float_t;
609: typedef double double_t;
609: # 204 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-logb.h" 1 3 4
609: # 205 "/usr/include/math.h" 2 3 4
609: # 247 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-fast.h" 1 3 4
609: # 248 "/usr/include/math.h" 2 3 4
609: 
609: 
609: 
609: enum
609:   {
609:     FP_INT_UPWARD =
609: 
609:       0,
609:     FP_INT_DOWNWARD =
609: 
609:       1,
609:     FP_INT_TOWARDZERO =
609: 
609:       2,
609:     FP_INT_TONEARESTFROMZERO =
609: 
609:       3,
609:     FP_INT_TONEAREST =
609: 
609:       4,
609:   };
609: # 312 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
609: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
609: extern int __fpclassify (double __value) noexcept (true)
609:      __attribute__ ((__const__));
609: 
609: 
609: extern int __signbit (double __value) noexcept (true)
609:      __attribute__ ((__const__));
609: 
609: 
609: 
609: extern int __isinf (double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __finite (double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __isnan (double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __iseqsig (double __x, double __y) noexcept (true);
609: 
609: 
609: extern int __issignaling (double __value) noexcept (true)
609:      __attribute__ ((__const__));
609: # 313 "/usr/include/math.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
609: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609:  extern double acos (double __x) noexcept (true); extern double __acos (double __x) noexcept (true);
609: 
609:  extern double asin (double __x) noexcept (true); extern double __asin (double __x) noexcept (true);
609: 
609:  extern double atan (double __x) noexcept (true); extern double __atan (double __x) noexcept (true);
609: 
609:  extern double atan2 (double __y, double __x) noexcept (true); extern double __atan2 (double __y, double __x) noexcept (true);
609: 
609: 
609:  extern double cos (double __x) noexcept (true); extern double __cos (double __x) noexcept (true);
609: 
609:  extern double sin (double __x) noexcept (true); extern double __sin (double __x) noexcept (true);
609: 
609ator2>(__first1, __first2);
1412:     }
1412: # 1986 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2>
1412:    
1412:     inline pair<_InputIterator1, _InputIterator2>
1412:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1412:       _InputIterator2 __first2, _InputIterator2 __last2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__mismatch(__first1, __last1, __first2, __last2,
1412:         __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: # 2022 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline pair<_InputIterator1, _InputIterator2>
1412:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1412:       _InputIterator2 __first2, _InputIterator2 __last2,
1412:       _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412:      
1412:       ;
1412:       ;
1412: 
1412:       return std::__mismatch(__first1, __last1, __first2, __last2,
1412:         __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline _InputIterator
1412:     __find_if(_InputIterator __first, _InputIterator __last,
1412:        _Predicate __pred, input_iterator_tag)
1412:     {
1412:       while (__first != __last && !__pred(__first))
1412:  ++__first;
1412:       return __first;
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Predicate>
1412:    
1412:     _RandomAccessIterator
1412:     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:        _Predicate __pred, random_access_iterator_tag)
1412:     {
1412:       typename iterator_traits<_RandomAccessIterator>::difference_type
1412:  __trip_count = (__last - __first) >> 2;
1412: 
1412:       for (; __trip_count > 0; --__trip_count)
1412:  {
1412:    if (__pred(__first))
1412:      return __first;
1412:    ++__first;
1412: 
1412:    if (__pred(__first))
1412:      return __first;
1412:    ++__first;
1412: 
1412:    if (__pred(__first))
1412:      return __first;
1412:    ++__first;
1412: 
1412:    if (__pred(__first))
1412:      return __first;
1412:    ++__first;
1412:  }
1412: 
1412:       switch (__last - __first)
1412:  {
1412:  case 3:
1412:    if (__pred(__first))
1412:      return __first;
1412:    ++__first;
1412: 
1412:  case 2:
1412:    if (__pred(__first))
1412:      return __first;
1412:    ++__first;
1412: 
1412:  case 1:
1412:    if (__pred(__first))
1412:      return __first;
1412:    ++__first;
1412: 
1412:  case 0:
1412:  default:
1412:    return __last;
1412:  }
1412:     }
1412: 
1412:   template<typename _Iterator, typename _Predicate>
1412:    
1412:     inline _Iterator
1412:     __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
1412:     {
1412:       return __find_if(__first, __last, __pred,
1412:          std::__iterator_category(__first));
1412:     }
1412: 
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     typename iterator_traits<_InputIterator>::difference_type
1412:     __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1412:     {
1412:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1412:       for (; __first != __last; ++__first)
1412:  if (__pred(__first))
1412:    ++__n;
1412:       return __n;
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Predicate>
1412:    
1412:     _ForwardIterator
1412:     __remove_if(_ForwardIterator __first, _ForwardIterator __last,
1412:   _Predicate __pred)
1412:     {
1412:       __first = std::__find_if(__first, __last, __pred);
1412:       if (__first == __last)
1412:  return __first;
1412:       _ForwardIterator __result = __first;
1412:       ++__first;
1412:       for (; __first != __last; ++__first)
1:  extern double tan (double __x) noexcept (true); extern double __tan (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern double cosh (double __x) noexcept (true); extern double __cosh (double __x) noexcept (true);
609: 
609:  extern double sinh (double __x) noexcept (true); extern double __sinh (double __x) noexcept (true);
609: 
609:  extern double tanh (double __x) noexcept (true); extern double __tanh (double __x) noexcept (true);
609: 
609: 
609: 
609:  extern void sincos (double __x, double *__sinx, double *__cosx) noexcept (true); extern void __sincos (double __x, double *__sinx, double *__cosx) noexcept (true)
609:                                                         ;
609: 
609: 
609: 
609: 
609:  extern double acosh (double __x) noexcept (true); extern double __acosh (double __x) noexcept (true);
609: 
609:  extern double asinh (double __x) noexcept (true); extern double __asinh (double __x) noexcept (true);
609: 
609:  extern double atanh (double __x) noexcept (true); extern double __atanh (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern double exp (double __x) noexcept (true); extern double __exp (double __x) noexcept (true);
609: 
609: 
609: extern double frexp (double __x, int *__exponent) noexcept (true); extern double __frexp (double __x, int *__exponent) noexcept (true);
609: 
609: 
609: extern double ldexp (double __x, int __exponent) noexcept (true); extern double __ldexp (double __x, int __exponent) noexcept (true);
609: 
609: 
609:  extern double log (double __x) noexcept (true); extern double __log (double __x) noexcept (true);
609: 
609: 
609:  extern double log10 (double __x) noexcept (true); extern double __log10 (double __x) noexcept (true);
609: 
609: 
609: extern double modf (double __x, double *__iptr) noexcept (true); extern double __modf (double __x, double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609:  extern double exp10 (double __x) noexcept (true); extern double __exp10 (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern double expm1 (double __x) noexcept (true); extern double __expm1 (double __x) noexcept (true);
609: 
609: 
609:  extern double log1p (double __x) noexcept (true); extern double __log1p (double __x) noexcept (true);
609: 
609: 
609: extern double logb (double __x) noexcept (true); extern double __logb (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern double exp2 (double __x) noexcept (true); extern double __exp2 (double __x) noexcept (true);
609: 
609: 
609:  extern double log2 (double __x) noexcept (true); extern double __log2 (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609:  extern double pow (double __x, double __y) noexcept (true); extern double __pow (double __x, double __y) noexcept (true);
609: 
609: 
609: extern double sqrt (double __x) noexcept (true); extern double __sqrt (double __x) noexcept (true);
609: 
609: 
609: 
609:  extern double hypot (double __x, double __y) noexcept (true); extern double __hypot (double __x, double __y) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern double cbrt (double __x) noexcept (true); extern double __cbrt (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern double ceil (double __x) noexcept (true) __attribute__ ((__const__)); extern double __ceil (double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fabs (double __x) noexcept (true) __attribute__ ((__const__)); extern double __fabs (double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double floor (double __x) noexcept (true) __attribute__ ((__const__)); extern double __floor (double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fmod (double __x, double __y) noexcept (true); extern double __fmod (double __x, double __y) noexcept (true);
609: # 183 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern int finite (double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern d                                    ;
1115: # 874 "/usr/include/pthread.h" 3 4
1115: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
1115:       __restrict __attr,
1115:       int *__restrict __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
1115:       int __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
1115:           __attr, int *__restrict __kind)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
1115:        __restrict __attr,
1115:        int *__restrict __protocol)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
1115:        int __protocol)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
1115:           __restrict __attr,
1115:           int *__restrict __prioceiling)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
1115:           int __prioceiling)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
1115:      int *__robustness)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust")
1115: 
1115:                                    __attribute__ ((__nonnull__ (1)))
1115:   __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust")))
1115:                                                                                ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
1115:      int __robustness)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust")
1115: 
1115:                                    __attribute__ ((__nonnull__ (1)))
1115:   __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust")))
1115:                                                                                ;
1115: # 967 "/usr/include/pthread.h" 3 4
1115: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
1115:     const pthread_rwlockattr_t *__restrict
1115:     __attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
1115:   noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
1115:          ouble drem (double __x, double __y) noexcept (true); extern double __drem (double __x, double __y) noexcept (true);
609: 
609: 
609: 
609: extern double significand (double __x) noexcept (true); extern double __significand (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern double copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern double nan (const char *__tagb) noexcept (true); extern double __nan (const char *__tagb) noexcept (true);
609: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern double j0 (double) noexcept (true); extern double __j0 (double) noexcept (true);
609: extern double j1 (double) noexcept (true); extern double __j1 (double) noexcept (true);
609: extern double jn (int, double) noexcept (true); extern double __jn (int, double) noexcept (true);
609: extern double y0 (double) noexcept (true); extern double __y0 (double) noexcept (true);
609: extern double y1 (double) noexcept (true); extern double __y1 (double) noexcept (true);
609: extern double yn (int, double) noexcept (true); extern double __yn (int, double) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern double erf (double) noexcept (true); extern double __erf (double) noexcept (true);
609:  extern double erfc (double) noexcept (true); extern double __erfc (double) noexcept (true);
609: extern double lgamma (double) noexcept (true); extern double __lgamma (double) noexcept (true);
609: 
609: 
609: 
609: 
609: extern double tgamma (double) noexcept (true); extern double __tgamma (double) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern double gamma (double) noexcept (true); extern double __gamma (double) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern double lgamma_r (double, int *__signgamp) noexcept (true); extern double __lgamma_r (double, int *__signgamp) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern double rint (double __x) noexcept (true); extern double __rint (double __x) noexcept (true);
609: 
609: 
609: extern double nextafter (double __x, double __y) noexcept (true); extern double __nextafter (double __x, double __y) noexcept (true);
609: 
609: extern double nexttoward (double __x, long double __y) noexcept (true); extern double __nexttoward (double __x, long double __y) noexcept (true);
609: 
609: 
609: 
609: 
609: extern double nextdown (double __x) noexcept (true); extern double __nextdown (double __x) noexcept (true);
609: 
609: extern double nextup (double __x) noexcept (true); extern double __nextup (double __x) noexcept (true);
609: 
609: 
609: 
609: extern double remainder (double __x, double __y) noexcept (true); extern double __remainder (double __x, double __y) noexcept (true);
609: 
609: 
609: 
609: extern double scalbn (double __x, int __n) noexcept (true); extern double __scalbn (double __x, int __n) noexcept (true);
609: 
609: 
609: 
609: extern int ilogb (double __x) noexcept (true); extern int __ilogb (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long int llogb (double __x) noexcept (true); extern long int __llogb (double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern double scalbln (double __x, long int __n) noexcept (true); extern double __scalbln (double __x, long int __n) noexcept (true);
609: 
609: 
609: 
609: extern double nearbyint (double __x) noexcept (true); extern double __nearbyint (double __x) noexcept (true);
609: 
609: 
609: 
609: extern double round (double __x) noexcept (true) __attribute__ ((__const__)); extern double __round (double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern double trunc (double __x) noexcept (true) __attribute__ ((__const__)); extern double __trunc (double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern double remquo (double __x, double __y, int *__quo) noexcept (true); extern double __remquo (double __x, double __y,412:  if (!__pred(__first))
1412:    {
1412:      *__result = std::move(*__first);
1412:      ++__result;
1412:    }
1412:       return __result;
1412:     }
1412: 
1412: 
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     bool
1412:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:        _ForwardIterator2 __first2, _BinaryPredicate __pred)
1412:     {
1412: 
1412: 
1412:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1412:  if (!__pred(__first1, __first2))
1412:    break;
1412: 
1412:       if (__first1 == __last1)
1412:  return true;
1412: 
1412: 
1412: 
1412:       _ForwardIterator2 __last2 = __first2;
1412:       std::advance(__last2, std::distance(__first1, __last1));
1412:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1412:  {
1412:    if (__scan != std::__find_if(__first1, __scan,
1412:      __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1412:      continue;
1412: 
1412:    auto __matches
1412:      = std::__count_if(__first2, __last2,
1412:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1412:    if (0 == __matches ||
1412:        std::__count_if(__scan, __last1,
1412:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1412:        != __matches)
1412:      return false;
1412:  }
1412:       return true;
1412:     }
1412: # 2199 "/usr/include/c++/12/bits/stl_algobase.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1412:    
1412:     inline bool
1412:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:      _ForwardIterator2 __first2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       return std::__is_permutation(__first1, __last1, __first2,
1412:        __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: # 64 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/allocator.h" 1 3
1412: # 46 "/usr/include/c++/12/bits/allocator.h" 3
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 1 3
1412: # 33 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1412: # 1 "/usr/include/c++/12/bits/new_allocator.h" 1 3
1412: # 34 "/usr/include/c++/12/bits/new_allocator.h" 3
1412: # 1 "/usr/include/c++/12/new" 1 3
1412: # 38 "/usr/include/c++/12/new" 3
1412:        
1412: # 39 "/usr/include/c++/12/new" 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/exception.h" 1 3
1412: # 34 "/usr/include/c++/12/bits/exception.h" 3
1412:        
1412: # 35 "/usr/include/c++/12/bits/exception.h" 3
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412: 
1412: extern "C++" {
1412: 
1412: namespace std
1412: {
1412: # 61 "/usr/include/c++/12/bits/exception.h" 3
1412:   class exception
1412:   {
1412:   public:
1412:     exception() noexcept { }
1412:     virtual ~exception() noexcept;
1412: 
1412:     exception(const exception&) = default;
1412:     exception& operator=(const exception&) = default;
1412:     exception(exception&&) = default;
1412:     exception& operator=(exception&&) = default;
1412: 
1412: 
1412: 
1412: 
1412:     virtual const char*
1412:     what() const noexcept;
1412:   };
1412: 
1412: 
1412: 
1412: }
1412: 
1412: }
1412: 
1412: #pragma GCC visibility pop
1412: # 42 "/usr/include/c++/12/new" 2 3
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: extern "C++" {
1412: 
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class bad_alloc : public exception
1412:   {
1412:   public:
1412:     bad_alloc() throw() { }
1412: 
1412: 
1412:     bad_alloc(const bad_alloc&) = default;
1412:     bad_alloc& operator=(const bad_alloc&) = default;
1412: 
1412: 
1412: 
1412: 
1412:     virtual ~bad_alloc() throw();
1412: 
1412: 
1412:     virtual const char* what() const throw();
1412:   };
1412: 
1412: 
1412:   class bad_array_new_length : public bad_alloc
1412:   {
1412:   public:
1412:     bad_array_new_length( int *__quo) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int lrint (double __x) noexcept (true); extern long int __lrint (double __x) noexcept (true);
609: __extension__
609: extern long long int llrint (double __x) noexcept (true); extern long long int __llrint (double __x) noexcept (true);
609: 
609: 
609: 
609: extern long int lround (double __x) noexcept (true); extern long int __lround (double __x) noexcept (true);
609: __extension__
609: extern long long int llround (double __x) noexcept (true); extern long long int __llround (double __x) noexcept (true);
609: 
609: 
609: 
609: extern double fdim (double __x, double __y) noexcept (true); extern double __fdim (double __x, double __y) noexcept (true);
609: 
609: 
609: 
609: extern double fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern double fma (double __x, double __y, double __z) noexcept (true); extern double __fma (double __x, double __y, double __z) noexcept (true);
609: 
609: 
609: 
609: 
609: extern double roundeven (double __x) noexcept (true) __attribute__ ((__const__)); extern double __roundeven (double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) noexcept (true)
609:                             ;
609: 
609: 
609: 
609: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) noexcept (true)
609:                               ;
609: 
609: 
609: 
609: 
609: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) noexcept (true)
609:                              ;
609: 
609: 
609: 
609: 
609: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) noexcept (true)
609:                                ;
609: 
609: 
609: extern int canonicalize (double *__cx, const double *__x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern double fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern double fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: exter  const struct timespec *__restrict
1115:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: # 1004 "/usr/include/pthread.h" 3 4
1115: extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
1115:            clockid_t __clockid,
1115:            const struct timespec *__restrict
1115:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: # 1023 "/usr/include/pthread.h" 3 4
1115: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
1115:            const struct timespec *__restrict
1115:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: # 1051 "/usr/include/pthread.h" 3 4
1115: extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
1115:            clockid_t __clockid,
1115:            const struct timespec *__restrict
1115:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: # 1071 "/usr/include/pthread.h" 3 4
1115: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
1115:        __restrict __attr,
1115:        int *__restrict __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
1115:        int __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
1115:        __restrict __attr,
1115:        int *__restrict __pref)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
1115:        int __pref) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
1115:          const pthread_condattr_t *__restrict __cond_attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_cond_destroy (pthread_cond_t *__cond)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_cond_signal (pthread_cond_t *__cond)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_cond_broadcast (pthread_cond_t *__cond)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
1115:          pthread_mutex_t *__restrict __mutex)
1115:      __attribute__ ((__nonnull__ (1, 2)));
1115: # 1145 "/usr/include/pthread.h" 3 4
1115: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
1115:        pthread_mutex_t *__restrict __mutex,
1115:        const struct timespec *__restrict __abstime)
1115:      __attribute__ ((__nonnull__ (1, 2, 3)));
1115: # 1171 "/usr/include/pthread.h" 3 4
1115: extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
1115:        pthread_mutex_t *__restrict __mutex,
1115:        __clockid_t __clock_id,
1115:        const struct timespec *__restrict __abstime)
1115:      __attribute__ ((__nonnull__ (1, 2, 4)));
1115: # 1194 "/usr/include/pthread.h" 3 4
1115: extern double fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern double fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int totalorder (const double *__x, const double *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern int totalordermag (const double *__x, const double *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern double getpayload (const double *__x) noexcept (true); extern double __getpayload (const double *__x) noexcept (true);
609: 
609: 
609: extern int setpayload (double *__x, double __payload) noexcept (true);
609: 
609: 
609: extern int setpayloadsig (double *__x, double __payload) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern double scalb (double __x, double __n) noexcept (true); extern double __scalb (double __x, double __n) noexcept (true);
609: # 314 "/usr/include/math.h" 2 3 4
609: # 329 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
609: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
609: extern int __fpclassifyf (float __value) noexcept (true)
609:      __attribute__ ((__const__));
609: 
609: 
609: extern int __signbitf (float __value) noexcept (true)
609:      __attribute__ ((__const__));
609: 
609: 
609: 
609: extern int __isinff (float __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __finitef (float __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __isnanf (float __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __iseqsigf (float __x, float __y) noexcept (true);
609: 
609: 
609: extern int __issignalingf (float __value) noexcept (true)
609:      __attribute__ ((__const__));
609: # 330 "/usr/include/math.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
609: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609:  extern float acosf (float __x) noexcept (true); extern float __acosf (float __x) noexcept (true);
609: 
609:  extern float asinf (float __x) noexcept (true); extern float __asinf (float __x) noexcept (true);
609: 
609:  extern float atanf (float __x) noexcept (true); extern float __atanf (float __x) noexcept (true);
609: 
609:  extern float atan2f (float __y, float __x) noexcept (true); extern float __atan2f (float __y, float __x) noexcept (true);
609: 
609: 
609:  extern float cosf (float __x) noexcept (true); extern float __cosf (float __x) noexcept (true);
609: 
609:  extern float sinf (float __x) noexcept (true); extern float __sinf (float __x) noexcept (true);
609: 
609:  extern float tanf (float __x) noexcept (true); extern float __tanf (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern float coshf (float __x) noexcept (true); extern float __coshf (float __x) noexcept (true);
609: 
609:  extern float sinhf (float __x) noexcept (true); extern float __sinhf (float __x) noexcept (true);
609: 
609:  extern float tanhf (float __x) noexcept (true); extern float __tanhf (float __x) noexcept (true);
609: 
609: 
609: 
609:  extern void sincosf (float __x, float *__sinx, float *__cosx) noexcept (true); extern void __sincosf (float __x, float *__sinx, float *__cosx) noexcept (true)
609:                                                         ;
609: 
609: 
609: 
609: 
609:  extern float acoshf (float __x) noexcept (true); extern float __acoshf (float __x) noexcept (true);
609: 
609:  extern float) throw() { }
1412: 
1412: 
1412: 
1412:     virtual ~bad_array_new_length() throw();
1412: 
1412: 
1412:     virtual const char* what() const throw();
1412:   };
1412: 
1412: 
1412: 
1412:   enum class align_val_t: size_t {};
1412: 
1412: 
1412:   struct nothrow_t
1412:   {
1412: 
1412:     explicit nothrow_t() = default;
1412: 
1412:   };
1412: 
1412:   extern const nothrow_t nothrow;
1412: 
1412: 
1412: 
1412:   typedef void (*new_handler)();
1412: 
1412: 
1412: 
1412:   new_handler set_new_handler(new_handler) throw();
1412: 
1412: 
1412: 
1412:   new_handler get_new_handler() noexcept;
1412: 
1412: }
1412: # 126 "/usr/include/c++/12/new" 3
1412: [[__nodiscard__]] void* operator new(std::size_t)
1412:   __attribute__((__externally_visible__));
1412: [[__nodiscard__]] void* operator new[](std::size_t)
1412:   __attribute__((__externally_visible__));
1412: void operator delete(void*) noexcept
1412:   __attribute__((__externally_visible__));
1412: void operator delete[](void*) noexcept
1412:   __attribute__((__externally_visible__));
1412: 
1412: void operator delete(void*, std::size_t) noexcept
1412:   __attribute__((__externally_visible__));
1412: void operator delete[](void*, std::size_t) noexcept
1412:   __attribute__((__externally_visible__));
1412: 
1412: [[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept
1412:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1412: [[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept
1412:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1412: void operator delete(void*, const std::nothrow_t&) noexcept
1412:   __attribute__((__externally_visible__));
1412: void operator delete[](void*, const std::nothrow_t&) noexcept
1412:   __attribute__((__externally_visible__));
1412: 
1412: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
1412:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1412: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
1412:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1412: void operator delete(void*, std::align_val_t)
1412:   noexcept __attribute__((__externally_visible__));
1412: void operator delete(void*, std::align_val_t, const std::nothrow_t&)
1412:   noexcept __attribute__((__externally_visible__));
1412: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
1412:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1412: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
1412:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1412: void operator delete[](void*, std::align_val_t)
1412:   noexcept __attribute__((__externally_visible__));
1412: void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
1412:   noexcept __attribute__((__externally_visible__));
1412: 
1412: void operator delete(void*, std::size_t, std::align_val_t)
1412:   noexcept __attribute__((__externally_visible__));
1412: void operator delete[](void*, std::size_t, std::align_val_t)
1412:   noexcept __attribute__((__externally_visible__));
1412: 
1412: 
1412: 
1412: 
1412: [[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept
1412: { return __p; }
1412: [[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept
1412: { return __p; }
1412: 
1412: 
1412: inline void operator delete (void*, void*) noexcept { }
1412: inline void operator delete[](void*, void*) noexcept { }
1412: 
1412: }
1412: 
1412: 
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[nodiscard]] constexpr _Tp*
1412:     launder(_Tp* __p) noexcept
1412:     { return __builtin_launder(__p); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Ret, typename... _Args , bool _NE>
1412:     void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete;
1412:   template<typename _Ret, typename asinhf (float __x) noexcept (true); extern float __asinhf (float __x) noexcept (true);
609: 
609:  extern float atanhf (float __x) noexcept (true); extern float __atanhf (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern float expf (float __x) noexcept (true); extern float __expf (float __x) noexcept (true);
609: 
609: 
609: extern float frexpf (float __x, int *__exponent) noexcept (true); extern float __frexpf (float __x, int *__exponent) noexcept (true);
609: 
609: 
609: extern float ldexpf (float __x, int __exponent) noexcept (true); extern float __ldexpf (float __x, int __exponent) noexcept (true);
609: 
609: 
609:  extern float logf (float __x) noexcept (true); extern float __logf (float __x) noexcept (true);
609: 
609: 
609:  extern float log10f (float __x) noexcept (true); extern float __log10f (float __x) noexcept (true);
609: 
609: 
609: extern float modff (float __x, float *__iptr) noexcept (true); extern float __modff (float __x, float *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609:  extern float exp10f (float __x) noexcept (true); extern float __exp10f (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern float expm1f (float __x) noexcept (true); extern float __expm1f (float __x) noexcept (true);
609: 
609: 
609:  extern float log1pf (float __x) noexcept (true); extern float __log1pf (float __x) noexcept (true);
609: 
609: 
609: extern float logbf (float __x) noexcept (true); extern float __logbf (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern float exp2f (float __x) noexcept (true); extern float __exp2f (float __x) noexcept (true);
609: 
609: 
609:  extern float log2f (float __x) noexcept (true); extern float __log2f (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609:  extern float powf (float __x, float __y) noexcept (true); extern float __powf (float __x, float __y) noexcept (true);
609: 
609: 
609: extern float sqrtf (float __x) noexcept (true); extern float __sqrtf (float __x) noexcept (true);
609: 
609: 
609: 
609:  extern float hypotf (float __x, float __y) noexcept (true); extern float __hypotf (float __x, float __y) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern float cbrtf (float __x) noexcept (true); extern float __cbrtf (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern float ceilf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __ceilf (float __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fabsf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __fabsf (float __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float floorf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __floorf (float __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fmodf (float __x, float __y) noexcept (true); extern float __fmodf (float __x, float __y) noexcept (true);
609: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern int isinff (float __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int finitef (float __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern float dremf (float __x, float __y) noexcept (true); extern float __dremf (float __x, float __y) noexcept (true);
609: 
609: 
609: 
609: extern float significandf (float __x) noexcept (true); extern float __significandf (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern float copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern float nanf (const char *__tagb) noexcept (true); extern float __nanf (const char *__tagb) noexcept (true);
609: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern int isnanf (float __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: 
609: 
6n int pthread_condattr_init (pthread_condattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_condattr_getpshared (const pthread_condattr_t *
1115:      __restrict __attr,
1115:      int *__restrict __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
1115:      int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_condattr_getclock (const pthread_condattr_t *
1115:           __restrict __attr,
1115:           __clockid_t *__restrict __clock_id)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
1115:           __clockid_t __clock_id)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 1230 "/usr/include/pthread.h" 3 4
1115: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_spin_lock (pthread_spinlock_t *__lock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
1115:      const pthread_barrierattr_t *__restrict
1115:      __attr, unsigned int __count)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
1115:         __restrict __attr,
1115:         int *__restrict __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
1115:         int __pshared)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 1297 "/usr/include/pthread.h" 3 4
1115: extern int pthread_key_create (pthread_key_t *__key,
1115:           void (*__destr_function) (void *))
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int pthread_key_delete (pthread_key_t __key) noexcept (true);
1115: 
1115: 
1115: extern void *pthread_getspecific (pthread_key_t __key) noexcept (true);
1115: 
1115: 
1115: extern int pthread_setspecific (pthread_key_t __key,
1115:     const void *__pointer)
1115:   noexcept (true) __attribute__ ((__access__ (__none__, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int pthread_getcpuclockid (pthread_t __thread_id,
1115:       __clockid_t *__clock_id)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: # 1332 "/usr/include/pthread.h" 3 4
1115: extern int pthread_atfork (void (*__prepare) (void),
1115:       void (*__parent) (void),
1115:       void (*__child) (void)) noexcept (true);
1115: 
1115: 
1109: 
609: extern float j0f (float) noexcept (true); extern float __j0f (float) noexcept (true);
609: extern float j1f (float) noexcept (true); extern float __j1f (float) noexcept (true);
609: extern float jnf (int, float) noexcept (true); extern float __jnf (int, float) noexcept (true);
609: extern float y0f (float) noexcept (true); extern float __y0f (float) noexcept (true);
609: extern float y1f (float) noexcept (true); extern float __y1f (float) noexcept (true);
609: extern float ynf (int, float) noexcept (true); extern float __ynf (int, float) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern float erff (float) noexcept (true); extern float __erff (float) noexcept (true);
609:  extern float erfcf (float) noexcept (true); extern float __erfcf (float) noexcept (true);
609: extern float lgammaf (float) noexcept (true); extern float __lgammaf (float) noexcept (true);
609: 
609: 
609: 
609: 
609: extern float tgammaf (float) noexcept (true); extern float __tgammaf (float) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern float gammaf (float) noexcept (true); extern float __gammaf (float) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern float lgammaf_r (float, int *__signgamp) noexcept (true); extern float __lgammaf_r (float, int *__signgamp) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern float rintf (float __x) noexcept (true); extern float __rintf (float __x) noexcept (true);
609: 
609: 
609: extern float nextafterf (float __x, float __y) noexcept (true); extern float __nextafterf (float __x, float __y) noexcept (true);
609: 
609: extern float nexttowardf (float __x, long double __y) noexcept (true); extern float __nexttowardf (float __x, long double __y) noexcept (true);
609: 
609: 
609: 
609: 
609: extern float nextdownf (float __x) noexcept (true); extern float __nextdownf (float __x) noexcept (true);
609: 
609: extern float nextupf (float __x) noexcept (true); extern float __nextupf (float __x) noexcept (true);
609: 
609: 
609: 
609: extern float remainderf (float __x, float __y) noexcept (true); extern float __remainderf (float __x, float __y) noexcept (true);
609: 
609: 
609: 
609: extern float scalbnf (float __x, int __n) noexcept (true); extern float __scalbnf (float __x, int __n) noexcept (true);
609: 
609: 
609: 
609: extern int ilogbf (float __x) noexcept (true); extern int __ilogbf (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long int llogbf (float __x) noexcept (true); extern long int __llogbf (float __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern float scalblnf (float __x, long int __n) noexcept (true); extern float __scalblnf (float __x, long int __n) noexcept (true);
609: 
609: 
609: 
609: extern float nearbyintf (float __x) noexcept (true); extern float __nearbyintf (float __x) noexcept (true);
609: 
609: 
609: 
609: extern float roundf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundf (float __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern float truncf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __truncf (float __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern float remquof (float __x, float __y, int *__quo) noexcept (true); extern float __remquof (float __x, float __y, int *__quo) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int lrintf (float __x) noexcept (true); extern long int __lrintf (float __x) noexcept (true);
609: __extension__
609: extern long long int llrintf (float __x) noexcept (true); extern long long int __llrintf (float __x) noexcept (true);
609: 
609: 
609: 
609: extern long int lroundf (float __x) noexcept (true); extern long int __lroundf (float __x) noexcept (true);
609: __extension__
609: extern long long int llroundf (float __x) noexcept (true); extern long long int __llroundf (float __x) noexcept (true);
609: 
609: 
609: 
609: extern float fdimf (float __x, float __y) noexcept (true); extern float __fdimf (float __x, float __y) noexcept (true);
609:... _Args , bool _NE>
1412:     void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete;
1412: 
1412:   void launder(void*) = delete;
1412:   void launder(const void*) = delete;
1412:   void launder(volatile void*) = delete;
1412:   void launder(const volatile void*) = delete;
1412: 
1412: 
1412: 
1412: 
1412:   inline constexpr size_t hardware_destructive_interference_size = 64;
1412:   inline constexpr size_t hardware_constructive_interference_size = 64;
1412: 
1412: }
1412: # 236 "/usr/include/c++/12/new" 3
1412: #pragma GCC visibility pop
1412: # 35 "/usr/include/c++/12/bits/new_allocator.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 55 "/usr/include/c++/12/bits/new_allocator.h" 3
1412:   template<typename _Tp>
1412:     class __new_allocator
1412:     {
1412:     public:
1412:       typedef _Tp value_type;
1412:       typedef std::size_t size_type;
1412:       typedef std::ptrdiff_t difference_type;
1412: 
1412:       typedef _Tp* pointer;
1412:       typedef const _Tp* const_pointer;
1412:       typedef _Tp& reference;
1412:       typedef const _Tp& const_reference;
1412: 
1412:       template<typename _Tp1>
1412:  struct rebind
1412:  { typedef __new_allocator<_Tp1> other; };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef std::true_type propagate_on_container_move_assignment;
1412: 
1412: 
1412:      
1412:       __new_allocator() noexcept { }
1412: 
1412:      
1412:       __new_allocator(const __new_allocator&) noexcept { }
1412: 
1412:       template<typename _Tp1>
1412: 
1412:  __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
1412: 
1412: 
1412:       ~__new_allocator() noexcept { }
1412: 
1412:       pointer
1412:       address(reference __x) const noexcept
1412:       { return std::__addressof(__x); }
1412: 
1412:       const_pointer
1412:       address(const_reference __x) const noexcept
1412:       { return std::__addressof(__x); }
1412: # 111 "/usr/include/c++/12/bits/new_allocator.h" 3
1412:       [[__nodiscard__]] _Tp*
1412:       allocate(size_type __n, const void* = static_cast<const void*>(0))
1412:       {
1412: 
1412: 
1412: 
1412:  static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
1412: 
1412: 
1412:  if (__builtin_expect(__n > this->_M_max_size(), false))
1412:    {
1412: 
1412: 
1412:      if (__n > (std::size_t(-1) / sizeof(_Tp)))
1412:        std::__throw_bad_array_new_length();
1412:      std::__throw_bad_alloc();
1412:    }
1412: 
1412: 
1412:  if (alignof(_Tp) > 8)
1412:    {
1412:      std::align_val_t __al = std::align_val_t(alignof(_Tp));
1412:      return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp),
1412:           __al));
1412:    }
1412: 
1412:  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
1412:       }
1412: 
1412: 
1412:       void
1412:       deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  if (alignof(_Tp) > 8)
1412:    {
1412:      ::operator delete((__p), (__n) * sizeof(_Tp),
1412:          std::align_val_t(alignof(_Tp)));
1412:      return;
1412:    }
1412: 
1412:  ::operator delete((__p), (__n) * sizeof(_Tp));
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _M_max_size(); }
1412: 
1412: 
1412:       template<typename _Up, typename... _Args>
1412:  void
1412:  construct(_Up* __p, _Args&&... __args)
1412:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1412:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
1412: 
1412:       template<typename _Up>
1412:  void
1412:  destroy(_Up* __p)
1412:  noexcept(std::is_nothrow_destructible<_Up>::value)
1412:  { __p->~_Up(); }
1412: # 194 "/usr/include/c++/12/bits/new_allocator.h" 3
1412:       template<typename _Up>
1412:  friend bool
1412:  operator==(const __new_allocator&, const __new_allocator<_Up>&)
1412:  noexcept
1412:  { return true; }
1412: 
1412: 
1412:       template<typename _Up 
609: 
609: 
609: extern float fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern float fmaf (float __x, float __y, float __z) noexcept (true); extern float __fmaf (float __x, float __y, float __z) noexcept (true);
609: 
609: 
609: 
609: 
609: extern float roundevenf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundevenf (float __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) noexcept (true)
609:                             ;
609: 
609: 
609: 
609: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) noexcept (true)
609:                               ;
609: 
609: 
609: 
609: 
609: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
609:                              ;
609: 
609: 
609: 
609: 
609: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
609:                                ;
609: 
609: 
609: extern int canonicalizef (float *__cx, const float *__x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern float fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern float fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern float fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int totalorderf (const float *__x, const float *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: ext15: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) noexcept (true)
1115: {
1115:   return __thread1 == __thread2;
1115: }
1115: 
1115: 
1115: }
1115: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 2 3
1115: # 47 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1115: typedef pthread_t __gthread_t;
1115: typedef pthread_key_t __gthread_key_t;
1115: typedef pthread_once_t __gthread_once_t;
1115: typedef pthread_mutex_t __gthread_mutex_t;
1115: typedef pthread_mutex_t __gthread_recursive_mutex_t;
1115: typedef pthread_cond_t __gthread_cond_t;
1115: typedef struct timespec __gthread_time_t;
1115: # 102 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 299 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1115: static inline int
1115: __gthread_active_p (void)
1115: {
1115:   return 1;
1115: }
1115: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1115: static inline int
1115: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
1115:     void *__args)
1115: {
1115:   return pthread_create (__threadid, __null, __func, __args);
1115: }
1115: 
1115: static inline int
1115: __gthread_join (__gthread_t __threadid, void **__value_ptr)
1115: {
1115:   return pthread_join (__threadid, __value_ptr);
1115: }
1115: 
1115: static inline int
1115: __gthread_detach (__gthread_t __threadid)
1115: {
1115:   return pthread_detach (__threadid);
1115: }
1115: 
1115: static inline int
1115: __gthread_equal (__gthread_t __t1, __gthread_t __t2)
1115: {
1115:   return pthread_equal (__t1, __t2);
1115: }
1115: 
1115: static inline __gthread_t
1115: __gthread_self (void)
1115: {
1115:   return pthread_self ();
1115: }
1115: 
1115: static inline int
1115: __gthread_yield (void)
1115: {
1115:   return sched_yield ();
1115: }
1115: 
1115: static inline int
1115: __gthread_once (__gthread_once_t *__once, void (*__func) (void))
1115: {
1115:   if (__gthread_active_p ())
1115:     return pthread_once (__once, __func);
1115:   else
1115:     return -1;
1115: }
1115: 
1115: static inline int
1115: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
1115: {
1115:   return pthread_key_create (__key, __dtor);
1115: }
1115: 
1115: static inline int
1115: __gthread_key_delete (__gthread_key_t __key)
1115: {
1115:   return pthread_key_delete (__key);
1115: }
1115: 
1115: static inline void *
1115: __gthread_getspecific (__gthread_key_t __key)
1115: {
1115:   return pthread_getspecific (__key);
1115: }
1115: 
1115: static inline int
1115: __gthread_setspecific (__gthread_key_t __key, const void *__ptr)
1115: {
1115:   return pthread_setspecific (__key, __ptr);
1115: }
1115: 
1115: static inline void
1115: __gthread_mutex_init_function (__gthread_mutex_t *__mutex)
1115: {
1115:   if (__gthread_active_p ())
1115:     pthread_mutex_init (__mutex, __null);
1115: }
1115: 
1115: static inline int
1115: __gthread_mutex_destroy (__gthread_mutex_t *__mutex)
1115: {
1115:   if (__gthread_active_p ())
1115:     return pthread_mutex_destroy (__mutex);
1115:   else
1115:     return 0;
1115: }
1115: 
1115: static inline int
1115: __gthread_mutex_lock (__gthread_mutex_t *__mutex)
1115: {
1115:   if (__gthread_active_p ())
1115:     return pthread_mutex_lock (__mutex);
1115:   else
1115:     return 0;
1115: }
1115: 
1115: static inline int
1115: __gthread_mutex_trylock (__gthread_mutex_t *__mutex)
1115: {
1115:   if (__gthread_active_p ())
1115:     return pthread_mutex_trylock (__mutex);
1115:   else
1115:     return 0;
1115: }
1115: 
1115: 
1115: static inline int
1115: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
1115:       const __gthread_time_t *__abs_timeout)
1115: {
1115:   if (__gthread_actern int totalordermagf (const float *__x, const float *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern float getpayloadf (const float *__x) noexcept (true); extern float __getpayloadf (const float *__x) noexcept (true);
609: 
609: 
609: extern int setpayloadf (float *__x, float __payload) noexcept (true);
609: 
609: 
609: extern int setpayloadsigf (float *__x, float __payload) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern float scalbf (float __x, float __n) noexcept (true); extern float __scalbf (float __x, float __n) noexcept (true);
609: # 331 "/usr/include/math.h" 2 3 4
609: # 398 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
609: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
609: extern int __fpclassifyl (long double __value) noexcept (true)
609:      __attribute__ ((__const__));
609: 
609: 
609: extern int __signbitl (long double __value) noexcept (true)
609:      __attribute__ ((__const__));
609: 
609: 
609: 
609: extern int __isinfl (long double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __finitel (long double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __isnanl (long double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern int __iseqsigl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern int __issignalingl (long double __value) noexcept (true)
609:      __attribute__ ((__const__));
609: # 399 "/usr/include/math.h" 2 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
609: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609:  extern long double acosl (long double __x) noexcept (true); extern long double __acosl (long double __x) noexcept (true);
609: 
609:  extern long double asinl (long double __x) noexcept (true); extern long double __asinl (long double __x) noexcept (true);
609: 
609:  extern long double atanl (long double __x) noexcept (true); extern long double __atanl (long double __x) noexcept (true);
609: 
609:  extern long double atan2l (long double __y, long double __x) noexcept (true); extern long double __atan2l (long double __y, long double __x) noexcept (true);
609: 
609: 
609:  extern long double cosl (long double __x) noexcept (true); extern long double __cosl (long double __x) noexcept (true);
609: 
609:  extern long double sinl (long double __x) noexcept (true); extern long double __sinl (long double __x) noexcept (true);
609: 
609:  extern long double tanl (long double __x) noexcept (true); extern long double __tanl (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern long double coshl (long double __x) noexcept (true); extern long double __coshl (long double __x) noexcept (true);
609: 
609:  extern long double sinhl (long double __x) noexcept (true); extern long double __sinhl (long double __x) noexcept (true);
609: 
609:  extern long double tanhl (long double __x) noexcept (true); extern long double __tanhl (long double __x) noexcept (true);
609: 
609: 
609: 
609:  extern void sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true)
609:                                                         ;
609: 
609: 
609: 
609: 
609:  extern long double acoshl (long double __x) noexcept (true); extern long double __acoshl (long double __x) noexcept (true);
609: 
609:  extern long double asinhl (long double __x) noexcept (true); extern long double __asinhl (long double __x) noexcept (true);
609: 
609:  extern long double atanhl (long double __x) noexcept (true); extern long double __atanhl (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern long double expl (long double __x) noexcept (true); extern long double __expl (long double __x) noexcept (true);
609: 
609: 
609: extern long double frexpl (long>
1412:  friend bool
1412:  operator!=(const __new_allocator&, const __new_allocator<_Up>&)
1412:  noexcept
1412:  { return false; }
1412: 
1412: 
1412:     private:
1412:       constexpr size_type
1412:       _M_max_size() const noexcept
1412:       {
1412: 
1412:  return std::size_t(0x7fffffff) / sizeof(_Tp);
1412: 
1412: 
1412: 
1412:       }
1412:     };
1412: 
1412: 
1412: }
1412: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 2 3
1412: 
1412: 
1412: namespace std
1412: {
1412: # 46 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1412:   template<typename _Tp>
1412:     using __allocator_base = __new_allocator<_Tp>;
1412: }
1412: # 47 "/usr/include/c++/12/bits/allocator.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/memoryfwd.h" 1 3
1412: # 46 "/usr/include/c++/12/bits/memoryfwd.h" 3
1412:        
1412: # 47 "/usr/include/c++/12/bits/memoryfwd.h" 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 63 "/usr/include/c++/12/bits/memoryfwd.h" 3
1412:   template<typename>
1412:     class allocator;
1412: 
1412:   template<>
1412:     class allocator<void>;
1412: 
1412: 
1412: 
1412:   template<typename, typename>
1412:     struct uses_allocator;
1412: 
1412:   template<typename>
1412:     struct allocator_traits;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 48 "/usr/include/c++/12/bits/allocator.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 71 "/usr/include/c++/12/bits/allocator.h" 3
1412:   template<>
1412:     class allocator<void>
1412:     {
1412:     public:
1412:       typedef void value_type;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412: 
1412: 
1412: 
1412:       typedef void* pointer;
1412:       typedef const void* const_pointer;
1412: 
1412:       template<typename _Tp1>
1412:  struct rebind
1412:  { typedef allocator<_Tp1> other; };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using propagate_on_container_move_assignment = true_type;
1412: 
1412:       using is_always_equal
1412: 
1412:  = true_type;
1412: # 113 "/usr/include/c++/12/bits/allocator.h" 3
1412:     };
1412: # 123 "/usr/include/c++/12/bits/allocator.h" 3
1412:   template<typename _Tp>
1412:     class allocator : public __allocator_base<_Tp>
1412:     {
1412:     public:
1412:       typedef _Tp value_type;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412: 
1412: 
1412: 
1412:       typedef _Tp* pointer;
1412:       typedef const _Tp* const_pointer;
1412:       typedef _Tp& reference;
1412:       typedef const _Tp& const_reference;
1412: 
1412:       template<typename _Tp1>
1412:  struct rebind
1412:  { typedef allocator<_Tp1> other; };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using propagate_on_container_move_assignment = true_type;
1412: 
1412:       using is_always_equal
1412: 
1412:  = true_type;
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       allocator() noexcept { }
1412: 
1412:      
1412:       allocator(const allocator& __a) noexcept
1412:       : __allocator_base<_Tp>(__a) { }
1412: 
1412: 
1412: 
1412:       allocator& operator=(const allocator&) = default;
1412: 
1412: 
1412:       template<typename _Tp1>
1412: 
1412:  allocator(const allocator<_Tp1>&) noexcept { }
1412: 
1412: 
1412: 
1412: 
1412:       ~allocator() noexcept { }
1412: # 204 "/usr/include/c++/12/bits/allocator.h" 3
1412:       friend bool
1412:       operator==(const allocator&, const allocator&) noexcept
1412:       { return true; }
1412: 
1412: 
1412:       friend bool
1412:       operator!=(const allocator&, const allocator&) noexcept
1412:       { return false; }
1412: 
1412: 
1412: 
1412:     };
1412: 
1412:   template<typename _T1, typename _T2>
1412:     inline bool
1412:     operator==(const allocator<_T1>&, const allocator<_T2>&)
1412:     noexcept
1412:     { return true; }
1412: 
1412: 
1412:   template<typename _T1, typename _T2>
1412:     inline bool
1412:     operator!=(const double __x, int *__exponent) noexcept (true); extern long double __frexpl (long double __x, int *__exponent) noexcept (true);
609: 
609: 
609: extern long double ldexpl (long double __x, int __exponent) noexcept (true); extern long double __ldexpl (long double __x, int __exponent) noexcept (true);
609: 
609: 
609:  extern long double logl (long double __x) noexcept (true); extern long double __logl (long double __x) noexcept (true);
609: 
609: 
609:  extern long double log10l (long double __x) noexcept (true); extern long double __log10l (long double __x) noexcept (true);
609: 
609: 
609: extern long double modfl (long double __x, long double *__iptr) noexcept (true); extern long double __modfl (long double __x, long double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609:  extern long double exp10l (long double __x) noexcept (true); extern long double __exp10l (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern long double expm1l (long double __x) noexcept (true); extern long double __expm1l (long double __x) noexcept (true);
609: 
609: 
609:  extern long double log1pl (long double __x) noexcept (true); extern long double __log1pl (long double __x) noexcept (true);
609: 
609: 
609: extern long double logbl (long double __x) noexcept (true); extern long double __logbl (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern long double exp2l (long double __x) noexcept (true); extern long double __exp2l (long double __x) noexcept (true);
609: 
609: 
609:  extern long double log2l (long double __x) noexcept (true); extern long double __log2l (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609:  extern long double powl (long double __x, long double __y) noexcept (true); extern long double __powl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern long double sqrtl (long double __x) noexcept (true); extern long double __sqrtl (long double __x) noexcept (true);
609: 
609: 
609: 
609:  extern long double hypotl (long double __x, long double __y) noexcept (true); extern long double __hypotl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern long double cbrtl (long double __x) noexcept (true); extern long double __cbrtl (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long double ceill (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __ceill (long double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fabsl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __fabsl (long double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double floorl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __floorl (long double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fmodl (long double __x, long double __y) noexcept (true); extern long double __fmodl (long double __x, long double __y) noexcept (true);
609: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern int isinfl (long double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int finitel (long double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: extern long double dreml (long double __x, long double __y) noexcept (true); extern long double __dreml (long double __x, long double __y) noexcept (true);
609: 
609: 
609: 
609: extern long double significandl (long double __x) noexcept (true); extern long double __significandl (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long double copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern long double nanl (const char *__tagb) noexcept (true); extive_p ())
1115:     return pthread_mutex_timedlock (__mutex, __abs_timeout);
1115:   else
1115:     return 0;
1115: }
1115: 
1115: 
1115: static inline int
1115: __gthread_mutex_unlock (__gthread_mutex_t *__mutex)
1115: {
1115:   if (__gthread_active_p ())
1115:     return pthread_mutex_unlock (__mutex);
1115:   else
1115:     return 0;
1115: }
1115: # 808 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1115: static inline int
1115: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
1115: {
1115:   return __gthread_mutex_lock (__mutex);
1115: }
1115: 
1115: static inline int
1115: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
1115: {
1115:   return __gthread_mutex_trylock (__mutex);
1115: }
1115: 
1115: 
1115: static inline int
1115: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
1115:          const __gthread_time_t *__abs_timeout)
1115: {
1115:   return __gthread_mutex_timedlock (__mutex, __abs_timeout);
1115: }
1115: 
1115: 
1115: static inline int
1115: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
1115: {
1115:   return __gthread_mutex_unlock (__mutex);
1115: }
1115: 
1115: static inline int
1115: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
1115: {
1115:   return __gthread_mutex_destroy (__mutex);
1115: }
1115: # 850 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1115: static inline int
1115: __gthread_cond_broadcast (__gthread_cond_t *__cond)
1115: {
1115:   return pthread_cond_broadcast (__cond);
1115: }
1115: 
1115: static inline int
1115: __gthread_cond_signal (__gthread_cond_t *__cond)
1115: {
1115:   return pthread_cond_signal (__cond);
1115: }
1115: 
1115: static inline int
1115: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
1115: {
1115:   return pthread_cond_wait (__cond, __mutex);
1115: }
1115: 
1115: static inline int
1115: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
1115:      const __gthread_time_t *__abs_timeout)
1115: {
1115:   return pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
1115: }
1115: 
1115: static inline int
1115: __gthread_cond_wait_recursive (__gthread_cond_t *__cond,
1115:           __gthread_recursive_mutex_t *__mutex)
1115: {
1115:   return __gthread_cond_wait (__cond, __mutex);
1115: }
1115: 
1115: static inline int
1115: __gthread_cond_destroy (__gthread_cond_t* __cond)
1115: {
1115:   return pthread_cond_destroy (__cond);
1115: }
1115: # 149 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 2 3
1115: 
1115: 
1115: #pragma GCC visibility pop
1115: # 36 "/usr/include/c++/12/ext/atomicity.h" 2 3
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 1 3
1115: # 32 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 3
1115: typedef int _Atomic_word;
1115: # 37 "/usr/include/c++/12/ext/atomicity.h" 2 3
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: extern char __libc_single_threaded;
1115: 
1115: }
1115: # 39 "/usr/include/c++/12/ext/atomicity.h" 2 3
1115: 
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   __attribute__((__always_inline__))
1115:   inline bool
1115:   __is_single_threaded() noexcept
1115:   {
1115: 
1115: 
1115: 
1115:     return ::__libc_single_threaded;
1115: 
1115: 
1115: 
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline _Atomic_word
1115:   __attribute__((__always_inline__))
1115:   __exchange_and_add(volatile _Atomic_word* __mem, int __val)
1115:   { return __atomic_fetch_add(__mem, __val, 4); }
1115: 
1115:   inline void
1115:   __attribute__((__always_inline__))
1115:   __atomic_add(volatile _Atomic_word* __mem, int __val)
1115:   { __atomic_fetch_add(__mem, __val, 4); }
1115: # 80 "/usr/include/c++/12/ext/atomicity.h" 3
1115:   inline _Atomic_word
1115:   __attribute__((__ern long double __nanl (const char *__tagb) noexcept (true);
609: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern int isnanl (long double __value) noexcept (true)
609:   __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: 
609: extern long double j0l (long double) noexcept (true); extern long double __j0l (long double) noexcept (true);
609: extern long double j1l (long double) noexcept (true); extern long double __j1l (long double) noexcept (true);
609: extern long double jnl (int, long double) noexcept (true); extern long double __jnl (int, long double) noexcept (true);
609: extern long double y0l (long double) noexcept (true); extern long double __y0l (long double) noexcept (true);
609: extern long double y1l (long double) noexcept (true); extern long double __y1l (long double) noexcept (true);
609: extern long double ynl (int, long double) noexcept (true); extern long double __ynl (int, long double) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern long double erfl (long double) noexcept (true); extern long double __erfl (long double) noexcept (true);
609:  extern long double erfcl (long double) noexcept (true); extern long double __erfcl (long double) noexcept (true);
609: extern long double lgammal (long double) noexcept (true); extern long double __lgammal (long double) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long double tgammal (long double) noexcept (true); extern long double __tgammal (long double) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern long double gammal (long double) noexcept (true); extern long double __gammal (long double) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long double lgammal_r (long double, int *__signgamp) noexcept (true); extern long double __lgammal_r (long double, int *__signgamp) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long double rintl (long double __x) noexcept (true); extern long double __rintl (long double __x) noexcept (true);
609: 
609: 
609: extern long double nextafterl (long double __x, long double __y) noexcept (true); extern long double __nextafterl (long double __x, long double __y) noexcept (true);
609: 
609: extern long double nexttowardl (long double __x, long double __y) noexcept (true); extern long double __nexttowardl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long double nextdownl (long double __x) noexcept (true); extern long double __nextdownl (long double __x) noexcept (true);
609: 
609: extern long double nextupl (long double __x) noexcept (true); extern long double __nextupl (long double __x) noexcept (true);
609: 
609: 
609: 
609: extern long double remainderl (long double __x, long double __y) noexcept (true); extern long double __remainderl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: 
609: extern long double scalbnl (long double __x, int __n) noexcept (true); extern long double __scalbnl (long double __x, int __n) noexcept (true);
609: 
609: 
609: 
609: extern int ilogbl (long double __x) noexcept (true); extern int __ilogbl (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long int llogbl (long double __x) noexcept (true); extern long int __llogbl (long double __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long double scalblnl (long double __x, long int __n) noexcept (true); extern long double __scalblnl (long double __x, long int __n) noexcept (true);
609: 
609: 
609: 
609: extern long double nearbyintl (long double __x) noexcept (true); extern long double __nearbyintl (long double __x) noexcept (true);
609: 
609: 
609: 
609: extern long double roundl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundl (long double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern long double truncl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __truncl (long double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern lo allocator<_T1>&, const allocator<_T2>&)
1412:     noexcept
1412:     { return false; }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     class allocator<const _Tp>
1412:     {
1412:     public:
1412:       typedef _Tp value_type;
1412:       template<typename _Up> allocator(const allocator<_Up>&) { }
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     class allocator<volatile _Tp>
1412:     {
1412:     public:
1412:       typedef _Tp value_type;
1412:       template<typename _Up> allocator(const allocator<_Up>&) { }
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     class allocator<const volatile _Tp>
1412:     {
1412:     public:
1412:       typedef _Tp value_type;
1412:       template<typename _Up> allocator(const allocator<_Up>&) { }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   extern template class allocator<char>;
1412:   extern template class allocator<wchar_t>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1412:     struct __alloc_swap
1412:     { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
1412: 
1412:   template<typename _Alloc>
1412:     struct __alloc_swap<_Alloc, false>
1412:     {
1412:       static void
1412:       _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
1412:       {
1412: 
1412:  if (__one != __two)
1412:    swap(__one, __two);
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1412:     struct __alloc_neq
1412:     {
1412:       static bool
1412:       _S_do_it(const _Alloc&, const _Alloc&)
1412:       { return false; }
1412:     };
1412: 
1412:   template<typename _Alloc>
1412:     struct __alloc_neq<_Alloc, false>
1412:     {
1412:       static bool
1412:       _S_do_it(const _Alloc& __one, const _Alloc& __two)
1412:       { return __one != __two; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, bool
1412:     = __or_<is_copy_constructible<typename _Tp::value_type>,
1412:             is_nothrow_move_constructible<typename _Tp::value_type>>::value>
1412:     struct __shrink_to_fit_aux
1412:     { static bool _S_do_it(_Tp&) noexcept { return false; } };
1412: 
1412:   template<typename _Tp>
1412:     struct __shrink_to_fit_aux<_Tp, true>
1412:     {
1412:      
1412:       static bool
1412:       _S_do_it(_Tp& __c) noexcept
1412:       {
1412: 
1412:  try
1412:    {
1412:      _Tp(__make_move_if_noexcept_iterator(__c.begin()),
1412:   __make_move_if_noexcept_iterator(__c.end()),
1412:   __c.get_allocator()).swap(__c);
1412:      return true;
1412:    }
1412:  catch(...)
1412:    { return false; }
1412: 
1412: 
1412: 
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 65 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_function.h" 1 3
1412: # 63 "/usr/include/c++/12/bits/stl_function.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 116 "/usr/include/c++/12/bits/stl_function.h" 3
1412:   template<typename _Arg, typename _Result>
1412:     struct unary_function
1412:     {
1412: 
1412:       typedef _Arg argument_type;
1412: 
1412: 
1412:       typedef _Result result_type;
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Arg1, typename _Arg2, typename _Result>
1412:     struct binary_function
1412:     {
1412: 
1412:       typedef _Arg1 first_argument_type;
1412: 
1412: 
1412:       typedef _Arg2 second_argument_type;
1412: 
1412: 
1412:       typedef _Result result_type;
1412:     } __attribute__ ((__deprecated__));
1412: # 157 "/usr/include/c++/12/bits/stl_function.h" 3
1412:   struct __is_transparent;
1412: 
1412:   template<typename _Tp = void>
1412:     struct plus;
1412: 
1412:   template<typename _Tp = void>
1412:     struct minus;
1412: 
1412:   template<typename _Tp = void>
1412:     struct multiplies;
1412: 
1412:   template<typename _Tp = void>
1412:     struct divides;
1412: 
1412:   template<typename _Tp = void>
1412:     struct modulus;
1412: 
1412:   tempng double remquol (long double __x, long double __y, int *__quo) noexcept (true); extern long double __remquol (long double __x, long double __y, int *__quo) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int lrintl (long double __x) noexcept (true); extern long int __lrintl (long double __x) noexcept (true);
609: __extension__
609: extern long long int llrintl (long double __x) noexcept (true); extern long long int __llrintl (long double __x) noexcept (true);
609: 
609: 
609: 
609: extern long int lroundl (long double __x) noexcept (true); extern long int __lroundl (long double __x) noexcept (true);
609: __extension__
609: extern long long int llroundl (long double __x) noexcept (true); extern long long int __llroundl (long double __x) noexcept (true);
609: 
609: 
609: 
609: extern long double fdiml (long double __x, long double __y) noexcept (true); extern long double __fdiml (long double __x, long double __y) noexcept (true);
609: 
609: 
609: 
609: extern long double fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern long double fmal (long double __x, long double __y, long double __z) noexcept (true); extern long double __fmal (long double __x, long double __y, long double __z) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long double roundevenl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
609:                             ;
609: 
609: 
609: 
609: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
609:                               ;
609: 
609: 
609: 
609: 
609: extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
609:                              ;
609: 
609: 
609: 
609: 
609: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
609:                                ;
609: 
609: 
609: extern int canonicalizel (long double *__cx, const long double *__x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long double fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern long double fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__coalways_inline__))
1115:   __exchange_and_add_single(_Atomic_word* __mem, int __val)
1115:   {
1115:     _Atomic_word __result = *__mem;
1115:     *__mem += __val;
1115:     return __result;
1115:   }
1115: 
1115:   inline void
1115:   __attribute__((__always_inline__))
1115:   __atomic_add_single(_Atomic_word* __mem, int __val)
1115:   { *__mem += __val; }
1115: 
1115:   inline _Atomic_word
1115:   __attribute__ ((__always_inline__))
1115:   __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
1115:   {
1115:     if (__is_single_threaded())
1115:       return __exchange_and_add_single(__mem, __val);
1115:     else
1115:       return __exchange_and_add(__mem, __val);
1115:   }
1115: 
1115:   inline void
1115:   __attribute__ ((__always_inline__))
1115:   __atomic_add_dispatch(_Atomic_word* __mem, int __val)
1115:   {
1115:     if (__is_single_threaded())
1115:       __atomic_add_single(__mem, __val);
1115:     else
1115:       __atomic_add(__mem, __val);
1115:   }
1115: 
1115: 
1115: }
1115: # 62 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1115: # 1 "/usr/include/c++/12/ext/concurrence.h" 1 3
1115: # 32 "/usr/include/c++/12/ext/concurrence.h" 3
1115:        
1115: # 33 "/usr/include/c++/12/ext/concurrence.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/exception" 1 3
1115: # 33 "/usr/include/c++/12/exception" 3
1115:        
1115: # 34 "/usr/include/c++/12/exception" 3
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" {
1115: 
1115: namespace std
1115: {
1115: # 53 "/usr/include/c++/12/exception" 3
1115:   class bad_exception : public exception
1115:   {
1115:   public:
1115:     bad_exception() noexcept { }
1115: 
1115: 
1115: 
1115:     virtual ~bad_exception() noexcept;
1115: 
1115: 
1115:     virtual const char*
1115:     what() const noexcept;
1115:   };
1115: 
1115: 
1115:   typedef void (*terminate_handler) ();
1115: 
1115: 
1115:   terminate_handler set_terminate(terminate_handler) noexcept;
1115: 
1115: 
1115: 
1115:   terminate_handler get_terminate() noexcept;
1115: 
1115: 
1115: 
1115: 
1115:   void terminate() noexcept __attribute__ ((__noreturn__));
1115: 
1115: 
1115: 
1115:   typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) ();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   __attribute__ ((__deprecated__))
1115:   unexpected_handler set_unexpected(unexpected_handler) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   __attribute__ ((__deprecated__))
1115:   unexpected_handler get_unexpected() noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   __attribute__ ((__deprecated__))
1115:   void unexpected() __attribute__ ((__noreturn__));
1115: # 123 "/usr/include/c++/12/exception" 3
1115:   __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead")))
1115:   bool uncaught_exception() noexcept __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   int uncaught_exceptions() noexcept __attribute__ ((__pure__));
1115: 
1115: 
1115: 
1115: }
1115: 
1115: namespace __gnu_cxx
1115: {
1115: 
1115: # 158 "/usr/include/c++/12/exception" 3
1115:   void __verbose_terminate_handler();
1115: 
1115: 
1115: }
1115: 
1115: }
1115: 
1115: #pragma GCC visibility pop
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/exception_ptr.h" 1 3
1115: # 34 "/usr/include/c++/12/bits/exception_ptr.h" 3
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 1 3
1115: # 34 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1115:        
1115: # 35 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 145 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1115: typedef int ptrdiff_t;
1115: # 424 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1115: typedef struct {
1115:   long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
1115:   long double __nst__)); extern long double __fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern long double fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int totalorderl (const long double *__x, const long double *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern int totalordermagl (const long double *__x, const long double *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern long double getpayloadl (const long double *__x) noexcept (true); extern long double __getpayloadl (const long double *__x) noexcept (true);
609: 
609: 
609: extern int setpayloadl (long double *__x, long double __payload) noexcept (true);
609: 
609: 
609: extern int setpayloadsigl (long double *__x, long double __payload) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long double scalbl (long double __x, long double __n) noexcept (true); extern long double __scalbl (long double __x, long double __n) noexcept (true);
609: # 400 "/usr/include/math.h" 2 3 4
609: # 450 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
609: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609:  extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) noexcept (true);
609: 
609: 
609:  extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32 coshf32 (_Float32 __x) noexcept (true); extern _Float32 __coshf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 sinhf32 (_Float32 __x) noexcept (true); extern _Float32 __sinhf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 tanhf32 (_Float32 __x) noexcept (true); extern _Float32 __tanhf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609:  extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true)
609:                                                         ;
609: 
609: 
609: 
609: 
609:  extern _Float32 acoshf32 (_Float32 __xlate<typename _Tp = void>
1412:     struct negate;
1412: 
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct plus : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412: 
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x + __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct minus : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x - __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x * __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct divides : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x / __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct modulus : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x % __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct negate : public unary_function<_Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x) const
1412:       { return -__x; }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct plus<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct minus<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct multiplies<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct divides<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct modulus<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
1412:  {) noexcept (true); extern _Float32 __acoshf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 asinhf32 (_Float32 __x) noexcept (true); extern _Float32 __asinhf32 (_Float32 __x) noexcept (true);
609: 
609:  extern _Float32 atanhf32 (_Float32 __x) noexcept (true); extern _Float32 __atanhf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern _Float32 expf32 (_Float32 __x) noexcept (true); extern _Float32 __expf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) noexcept (true); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) noexcept (true);
609: 
609: 
609: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) noexcept (true); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) noexcept (true);
609: 
609: 
609:  extern _Float32 logf32 (_Float32 __x) noexcept (true); extern _Float32 __logf32 (_Float32 __x) noexcept (true);
609: 
609: 
609:  extern _Float32 log10f32 (_Float32 __x) noexcept (true); extern _Float32 __log10f32 (_Float32 __x) noexcept (true);
609: 
609: 
609: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609:  extern _Float32 exp10f32 (_Float32 __x) noexcept (true); extern _Float32 __exp10f32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32 expm1f32 (_Float32 __x) noexcept (true); extern _Float32 __expm1f32 (_Float32 __x) noexcept (true);
609: 
609: 
609:  extern _Float32 log1pf32 (_Float32 __x) noexcept (true); extern _Float32 __log1pf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: extern _Float32 logbf32 (_Float32 __x) noexcept (true); extern _Float32 __logbf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32 exp2f32 (_Float32 __x) noexcept (true); extern _Float32 __exp2f32 (_Float32 __x) noexcept (true);
609: 
609: 
609:  extern _Float32 log2f32 (_Float32 __x) noexcept (true); extern _Float32 __log2f32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609:  extern _Float32 powf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) noexcept (true);
609: 
609: 
609: extern _Float32 sqrtf32 (_Float32 __x) noexcept (true); extern _Float32 __sqrtf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609:  extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32 cbrtf32 (_Float32 __x) noexcept (true); extern _Float32 __cbrtf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32 ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) noexcept (true);
609: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float32 nanf32 (const char *__tagb) noexcept (true); extern _Float32 __nanf32 (const char *__tagb) noexcept (true);
609: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float32 j0f32 (_Float32) noexcept (true); extern _Float32 __j0f32 (_Float32) noexcept (true);
609: extern _Fmax_align_ld __attribute__((__aligned__(__alignof__(long double))));
1115: # 435 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1115: } max_align_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   typedef decltype(nullptr) nullptr_t;
1115: # 39 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 2 3
1115: # 50 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1115: namespace std
1115: {
1115:   class type_info;
1115: }
1115: 
1115: namespace __cxxabiv1
1115: {
1115:   struct __cxa_refcounted_exception;
1115: 
1115:   extern "C"
1115:     {
1115: 
1115:       void*
1115:       __cxa_allocate_exception(size_t) noexcept;
1115: 
1115:       void
1115:       __cxa_free_exception(void*) noexcept;
1115: 
1115: 
1115:       __cxa_refcounted_exception*
1115:       __cxa_init_primary_exception(void *object, std::type_info *tinfo,
1115:                 void ( *dest) (void *)) noexcept;
1115: 
1115:     }
1115: }
1115: 
1115: 
1115: 
1115: #pragma GCC visibility pop
1115: # 39 "/usr/include/c++/12/bits/exception_ptr.h" 2 3
1115: # 52 "/usr/include/c++/12/bits/exception_ptr.h" 3
1115: extern "C++" {
1115: 
1115: namespace std
1115: {
1115:   class type_info;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   namespace __exception_ptr
1115:   {
1115:     class exception_ptr;
1115:   }
1115: 
1115:   using __exception_ptr::exception_ptr;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   exception_ptr current_exception() noexcept;
1115: 
1115:   template<typename _Ex>
1115:   exception_ptr make_exception_ptr(_Ex) noexcept;
1115: 
1115: 
1115:   void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
1115: 
1115:   namespace __exception_ptr
1115:   {
1115:     using std::rethrow_exception;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     class exception_ptr
1115:     {
1115:       void* _M_exception_object;
1115: 
1115:       explicit exception_ptr(void* __e) noexcept;
1115: 
1115:       void _M_addref() noexcept;
1115:       void _M_release() noexcept;
1115: 
1115:       void *_M_get() const noexcept __attribute__ ((__pure__));
1115: 
1115:       friend exception_ptr std::current_exception() noexcept;
1115:       friend void std::rethrow_exception(exception_ptr);
1115:       template<typename _Ex>
1115:       friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
1115: 
1115:     public:
1115:       exception_ptr() noexcept;
1115: 
1115:       exception_ptr(const exception_ptr&) noexcept;
1115: 
1115: 
1115:       exception_ptr(nullptr_t) noexcept
1115:       : _M_exception_object(nullptr)
1115:       { }
1115: 
1115:       exception_ptr(exception_ptr&& __o) noexcept
1115:       : _M_exception_object(__o._M_exception_object)
1115:       { __o._M_exception_object = nullptr; }
1115: # 128 "/usr/include/c++/12/bits/exception_ptr.h" 3
1115:       exception_ptr&
1115:       operator=(const exception_ptr&) noexcept;
1115: 
1115: 
1115:       exception_ptr&
1115:       operator=(exception_ptr&& __o) noexcept
1115:       {
1115:         exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
1115:         return *this;
1115:       }
1115: 
1115: 
1115:       ~exception_ptr() noexcept;
1115: 
1115:       void
1115:       swap(exception_ptr&) noexcept;
1115: # 155 "/usr/include/c++/12/bits/exception_ptr.h" 3
1115:       explicit operator bool() const noexcept
1115:       { return _M_exception_object; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       friend bool
1115:       operator==(const exception_ptr& __x, const exception_ptr& __y)
1115:       noexcept
1115:       { return __x._M_exception_object == __y._M_exception_object; }
1115: 
1115:       friend bool
1115:       operator!=(const exception_ptr& __x, const exception_ptr& __y)
1115:       noexcept
1115:       { return __x._M_exception_object != __y._M_exception_object; }
1115: 
1115: 
1115:       const class std::type_info*
1115:       __cxa_exception_type() const noexcept
1115:  __attribute__ ((__pure__));
1115:     };
1115: 
1115:    
1115:     inline
1115:     exception_ptr::exception_ptr() noexcept
1115:     : _M_exception_object(0)
1115:     { loat32 j1f32 (_Float32) noexcept (true); extern _Float32 __j1f32 (_Float32) noexcept (true);
609: extern _Float32 jnf32 (int, _Float32) noexcept (true); extern _Float32 __jnf32 (int, _Float32) noexcept (true);
609: extern _Float32 y0f32 (_Float32) noexcept (true); extern _Float32 __y0f32 (_Float32) noexcept (true);
609: extern _Float32 y1f32 (_Float32) noexcept (true); extern _Float32 __y1f32 (_Float32) noexcept (true);
609: extern _Float32 ynf32 (int, _Float32) noexcept (true); extern _Float32 __ynf32 (int, _Float32) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern _Float32 erff32 (_Float32) noexcept (true); extern _Float32 __erff32 (_Float32) noexcept (true);
609:  extern _Float32 erfcf32 (_Float32) noexcept (true); extern _Float32 __erfcf32 (_Float32) noexcept (true);
609: extern _Float32 lgammaf32 (_Float32) noexcept (true); extern _Float32 __lgammaf32 (_Float32) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float32 tgammaf32 (_Float32) noexcept (true); extern _Float32 __tgammaf32 (_Float32) noexcept (true);
609: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) noexcept (true); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32 rintf32 (_Float32 __x) noexcept (true); extern _Float32 __rintf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32 nextdownf32 (_Float32 __x) noexcept (true); extern _Float32 __nextdownf32 (_Float32 __x) noexcept (true);
609: 
609: extern _Float32 nextupf32 (_Float32 __x) noexcept (true); extern _Float32 __nextupf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) noexcept (true);
609: 
609: 
609: 
609: extern _Float32 scalbnf32 (_Float32 __x, int __n) noexcept (true); extern _Float32 __scalbnf32 (_Float32 __x, int __n) noexcept (true);
609: 
609: 
609: 
609: extern int ilogbf32 (_Float32 __x) noexcept (true); extern int __ilogbf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long int llogbf32 (_Float32 __x) noexcept (true); extern long int __llogbf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float32 scalblnf32 (_Float32 __x, long int __n) noexcept (true); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) noexcept (true);
609: 
609: 
609: 
609: extern _Float32 nearbyintf32 (_Float32 __x) noexcept (true); extern _Float32 __nearbyintf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float32 roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern _Float32 truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int lrintf32 (_Float32 __x) noexcept (true); extern long int __lrintf32 (_Float32 __x) noexcept (true);
609: __extension__
609: extern long long int llrintf32 (_Float32 __x) noexcept (true); extern long long int __llrintf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: extern long int lroundf32 (_Float32 __x) noexcept (true); extern long int __lroundf32 (_Float32 __x) noexcept (true);
609: __extension__
609: extern long long int llroundf32 (_Float32 __x) noexcept (true); extern long long int __llroundf32 (_Float32 __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) noexcept (tr return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct negate<void>
1412:     {
1412:       template <typename _Tp>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t) const
1412:  noexcept(noexcept(-std::forward<_Tp>(__t)))
1412:  -> decltype(-std::forward<_Tp>(__t))
1412:  { return -std::forward<_Tp>(__t); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: # 349 "/usr/include/c++/12/bits/stl_function.h" 3
1412:   template<typename _Tp = void>
1412:     struct equal_to;
1412: 
1412:   template<typename _Tp = void>
1412:     struct not_equal_to;
1412: 
1412:   template<typename _Tp = void>
1412:     struct greater;
1412: 
1412:   template<typename _Tp = void>
1412:     struct less;
1412: 
1412:   template<typename _Tp = void>
1412:     struct greater_equal;
1412: 
1412:   template<typename _Tp = void>
1412:     struct less_equal;
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct equal_to : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x == __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x != __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct greater : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x > __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct less : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x < __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct greater_equal : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x >= __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct less_equal : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x <= __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1412:     {
1412:       constexpr bool
1412:       operator()(_Tp* __x, _Tp* __y) const noexcept
1412:       {
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __x > __y;
1412: 
1412:  return (unsigned int)__x > (unsigned int)__y;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1412:     {
1412:       constexpr bool
1412:       operator()(_Tp* __x, _Tp* __y) const noexcept
1412:       {
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __x < __y;
1412: 
1412:  return (unsigned int)__x < (unsigned int)__y;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1412:     {
1412:       constexpr bool
1412:       operator()(_Tp* __x, _Tp* __y) const noexcept
1412:       {
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __x >= __y;
1412: 
1412:  return (unsigned int)__x >= (unsigned int)__y;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1412:     {
1412:       constexpr1417: 
1417:   template<typename _Unqualified>
1417:     struct __cv_selector<_Unqualified, false, true>
1417:     { typedef volatile _Unqualified __type; };
1417: 
1417:   template<typename _Unqualified>
1417:     struct __cv_selector<_Unqualified, true, false>
1417:     { typedef const _Unqualified __type; };
1417: 
1417:   template<typename _Unqualified>
1417:     struct __cv_selector<_Unqualified, true, true>
1417:     { typedef const volatile _Unqualified __type; };
1417: 
1417:   template<typename _Qualified, typename _Unqualified,
1417:     bool _IsConst = is_const<_Qualified>::value,
1417:     bool _IsVol = is_volatile<_Qualified>::value>
1417:     class __match_cv_qualifiers
1417:     {
1417:       typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
1417: 
1417:     public:
1417:       typedef typename __match::__type __type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __make_unsigned
1417:     { typedef _Tp __type; };
1417: 
1417:   template<>
1417:     struct __make_unsigned<char>
1417:     { typedef unsigned char __type; };
1417: 
1417:   template<>
1417:     struct __make_unsigned<signed char>
1417:     { typedef unsigned char __type; };
1417: 
1417:   template<>
1417:     struct __make_unsigned<short>
1417:     { typedef unsigned short __type; };
1417: 
1417:   template<>
1417:     struct __make_unsigned<int>
1417:     { typedef unsigned int __type; };
1417: 
1417:   template<>
1417:     struct __make_unsigned<long>
1417:     { typedef unsigned long __type; };
1417: 
1417:   template<>
1417:     struct __make_unsigned<long long>
1417:     { typedef unsigned long long __type; };
1417: # 1771 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Tp,
1417:     bool _IsInt = is_integral<_Tp>::value,
1417:     bool _IsEnum = is_enum<_Tp>::value>
1417:     class __make_unsigned_selector;
1417: 
1417:   template<typename _Tp>
1417:     class __make_unsigned_selector<_Tp, true, false>
1417:     {
1417:       using __unsigned_type
1417:  = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
1417: 
1417:     public:
1417:       using __type
1417:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1417:     };
1417: 
1417:   class __make_unsigned_selector_base
1417:   {
1417:   protected:
1417:     template<typename...> struct _List { };
1417: 
1417:     template<typename _Tp, typename... _Up>
1417:       struct _List<_Tp, _Up...> : _List<_Up...>
1417:       { static constexpr size_t __size = sizeof(_Tp); };
1417: 
1417:     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
1417:       struct __select;
1417: 
1417:     template<size_t _Sz, typename _Uint, typename... _UInts>
1417:       struct __select<_Sz, _List<_Uint, _UInts...>, true>
1417:       { using __type = _Uint; };
1417: 
1417:     template<size_t _Sz, typename _Uint, typename... _UInts>
1417:       struct __select<_Sz, _List<_Uint, _UInts...>, false>
1417:       : __select<_Sz, _List<_UInts...>>
1417:       { };
1417:   };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     class __make_unsigned_selector<_Tp, false, true>
1417:     : __make_unsigned_selector_base
1417:     {
1417: 
1417:       using _UInts = _List<unsigned char, unsigned short, unsigned int,
1417:       unsigned long, unsigned long long>;
1417: 
1417:       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
1417: 
1417:     public:
1417:       using __type
1417:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct __make_unsigned<wchar_t>
1417:     {
1417:       using __type
1417:  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
1417:     };
1417: # 1845 "/usr/include/c++/12/type_traits" 3
1417:   template<>
1417:     struct __make_unsigned<char16_t>
1417:     {
1417:       using __type
1417:  = typename __make_unsigned_selector<char16_t, false, true>::__type;
1417:     };
1417: 
1417:   template<>
1417:     struct __make_unsigned<char32_t>
1417:     {
1417:       using __type
1417:  = typename __make_unsigned_selector<char32_t, false, true>::__type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct make_unsigned
1417:     { typedef typename __make_unsigned_selector<_Tp>::__type type; };
1417: 
1417: 
1417:   template<>
1417:     struct make_unsigned<bool>;
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __make_signed
1417:     { typedef _Tp __type; };
1417: 
1417:   template<>
1417:     struct __make_signed<char>
1417:     { typedef signed char __type; };
1417: 
1417:   template<>
1417:     struct __make_signed<unsigned char>
1417:     { typedef signed char __type; };
1417: 
1417:   template<>
1417:     struct __make_signed<unsigned short>
1417:     { typedef signed short __type; };
1417: 
1417:   template<>
1417:     struct __make_signed<unsigned int>
1417:     { typedef signed int __type; };
1417: 
1417:   template<>
1417:     struct __make_signed<unsigned long>
1417:     { typedef signed long __type; };
1417: 
1417:   template<>
1417:     struct __make_signed<unsigned long long>
1417:     { typedef signed long long __type; };
1417: # 1929 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Tp,
1417:     bool _IsInt = is_integral<_Tp>::value,
1417:     bool _IsEnum = is_enum<_Tp>::value>
1417:     class __make_signed_selector;
1417: 
1417:   template<typename _Tp>
1417:     class __make_signed_selector<_Tp, true, false>
1417:     {
1417:       using __signed_type
1417:  = typename __make_signed<__remove_cv_t<_Tp>>::__type;
1417: 
1417:     public:
1417:       using __type
1417:  = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     class __make_signed_selector<_Tp, false, true>
1417:     {
1417:       typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type;
1417: 
1417:     public:
1417:       typedef typename __make_signed_selector<__unsigned_type>::__type __type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct __make_signed<wchar_t>
1417:     {
1417:       using __type
1417:  = typename __make_signed_selector<wchar_t, false, true>::__type;
1417:     };
1417: # 1975 "/usr/include/c++/12/type_traits" 3
1417:   template<>
1417:     struct __make_signed<char16_t>
1417:     {
1417:       using __type
1417:  = typename __make_signed_selector<char16_t, false, true>::__type;
1417:     };
1417: 
1417:   template<>
1417:     struct __make_signed<char32_t>
1417:     {
1417:       using __type
1417:  = typename __make_signed_selector<char32_t, false, true>::__type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct make_signed
1417:     { typedef typename __make_signed_selector<_Tp>::__type type; };
1417: 
1417: 
1417:   template<>
1417:     struct make_signed<bool>;
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using make_signed_t = typename make_signed<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using make_unsigned_t = typename make_unsigned<_Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct remove_extent
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp, std::size_t _Size>
1417:     struct remove_extent<_Tp[_Size]>
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_extent<_Tp[]>
1417:     { typedef _Tp type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct remove_all_extents
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp, std::size_t _Size>
1417:     struct remove_all_extents<_Tp[_Size]>
1417:     { typedef typename remove_all_extents<_Tp>::type type; };
1417: 
1417:   template<typename _Tp>
1417:     struct remove_all_extents<_Tp[]>
1417:     { typedef typename remove_all_extents<_Tp>::type type; };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using remove_extent_t = typename remove_extent<_Tp>::type;
1417: 
1417: 
1417:   temp}
1115: 
1115:    
1115:     inline
1115:     exception_ptr::exception_ptr(const exception_ptr& __other)
1115:     noexcept
1115:     : _M_exception_object(__other._M_exception_object)
1115:     {
1115:       if (_M_exception_object)
1115:  _M_addref();
1115:     }
1115: 
1115:    
1115:     inline
1115:     exception_ptr::~exception_ptr() noexcept
1115:     {
1115:       if (_M_exception_object)
1115:  _M_release();
1115:     }
1115: 
1115:    
1115:     inline exception_ptr&
1115:     exception_ptr::operator=(const exception_ptr& __other) noexcept
1115:     {
1115:       exception_ptr(__other).swap(*this);
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     inline void
1115:     exception_ptr::swap(exception_ptr &__other) noexcept
1115:     {
1115:       void *__tmp = _M_exception_object;
1115:       _M_exception_object = __other._M_exception_object;
1115:       __other._M_exception_object = __tmp;
1115:     }
1115: 
1115: 
1115:     inline void
1115:     swap(exception_ptr& __lhs, exception_ptr& __rhs)
1115:     { __lhs.swap(__rhs); }
1115: 
1115: 
1115:     template<typename _Ex>
1115:      
1115:       inline void
1115:       __dest_thunk(void* __x)
1115:       { static_cast<_Ex*>(__x)->~_Ex(); }
1115: 
1115: 
1115:   }
1115: 
1115: 
1115: 
1115:   template<typename _Ex>
1115:     exception_ptr
1115:     make_exception_ptr(_Ex __ex) noexcept
1115:     {
1115: 
1115:       using _Ex2 = typename decay<_Ex>::type;
1115:       void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
1115:       (void) __cxxabiv1::__cxa_init_primary_exception(
1115:    __e, const_cast<std::type_info*>(&typeid(_Ex)),
1115:    __exception_ptr::__dest_thunk<_Ex2>);
1115:       try
1115:  {
1115:    ::new (__e) _Ex2(__ex);
1115:    return exception_ptr(__e);
1115:  }
1115:       catch(...)
1115:  {
1115:    __cxxabiv1::__cxa_free_exception(__e);
1115:    return current_exception();
1115:  }
1115: # 268 "/usr/include/c++/12/bits/exception_ptr.h" 3
1115:     }
1115: # 282 "/usr/include/c++/12/bits/exception_ptr.h" 3
1115: }
1115: 
1115: }
1115: 
1115: #pragma GCC visibility pop
1115: # 169 "/usr/include/c++/12/exception" 2 3
1115: # 1 "/usr/include/c++/12/bits/nested_exception.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/nested_exception.h" 3
1115: #pragma GCC visibility push(default)
1115: # 42 "/usr/include/c++/12/bits/nested_exception.h" 3
1115: extern "C++" {
1115: 
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class nested_exception
1115:   {
1115:     exception_ptr _M_ptr;
1115: 
1115:   public:
1115:     nested_exception() noexcept : _M_ptr(current_exception()) { }
1115: 
1115:     nested_exception(const nested_exception&) noexcept = default;
1115: 
1115:     nested_exception& operator=(const nested_exception&) noexcept = default;
1115: 
1115:     virtual ~nested_exception() noexcept;
1115: 
1115:     [[noreturn]]
1115:     void
1115:     rethrow_nested() const
1115:     {
1115:       if (_M_ptr)
1115:  rethrow_exception(_M_ptr);
1115:       std::terminate();
1115:     }
1115: 
1115:     exception_ptr
1115:     nested_ptr() const noexcept
1115:     { return _M_ptr; }
1115:   };
1115: 
1115: 
1115: 
1115:   template<typename _Except>
1115:     struct _Nested_exception : public _Except, public nested_exception
1115:     {
1115:       explicit _Nested_exception(const _Except& __ex)
1115:       : _Except(__ex)
1115:       { }
1115: 
1115:       explicit _Nested_exception(_Except&& __ex)
1115:       : _Except(static_cast<_Except&&>(__ex))
1115:       { }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[noreturn]]
1115:     inline void
1115:     __throw_with_nested_impl(_Tp&& __t, true_type)
1115:     {
1115:       using _Up = typename remove_reference<_Tp>::type;
1115:       throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     [[noreturn]]
1115:     inline void
1115:     __throw_with_nested_impl(_Tp&& __t, false_type)
1115:     { throw std::forward<_Tp>(__t); }
1115: 
1115: 
1115: 
1115: 
1115: 
11 bool
1412:       operator()(_Tp* __x, _Tp* __y) const noexcept
1412:       {
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __x <= __y;
1412: 
1412:  return (unsigned int)__x <= (unsigned int)__y;
1412:       }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct equal_to<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct not_equal_to<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct greater<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
1412:  {
1412:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1412:    __ptr_cmp<_Tp, _Up>{});
1412:  }
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  constexpr bool
1412:  operator()(_Tp* __t, _Up* __u) const noexcept
1412:  { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412: 
1412:     private:
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr decltype(auto)
1412:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1412:  { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
1412: 
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr bool
1412:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1412:  {
1412:    return greater<const volatile void*>{}(
1412:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1412:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1412:  }
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded2 : true_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded2<_Tp, _Up, __void_t<
1412:    decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded<_Tp, _Up, __void_t<
1412:    decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1412:        is_convertible<_Tp, const volatile void*>,
1412:        is_convertible<_Up, const volatile void*>>;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct less<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
1412:  {
1412:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1412:    __ptr_cmp<_Tp, _Up>{});
1412:  }
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  constexpr bool
1412:  operator()(_Tp* __t, _Up* __u) const noexcept
1412:  { return lelate<typename _Tp>
1417:     using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename>
1417:     struct __remove_pointer_helper
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct __remove_pointer_helper<_Tp, _Up*>
1417:     { typedef _Up type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct remove_pointer
1417:     : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>>
1417:     { };
1417: 
1417:   template<typename _Tp, bool = __or_<__is_referenceable<_Tp>,
1417:           is_void<_Tp>>::value>
1417:     struct __add_pointer_helper
1417:     { typedef _Tp type; };
1417: 
1417:   template<typename _Tp>
1417:     struct __add_pointer_helper<_Tp, true>
1417:     { typedef typename remove_reference<_Tp>::type* type; };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct add_pointer
1417:     : public __add_pointer_helper<_Tp>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using remove_pointer_t = typename remove_pointer<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using add_pointer_t = typename add_pointer<_Tp>::type;
1417: 
1417: 
1417:   template<std::size_t _Len>
1417:     struct __aligned_storage_msa
1417:     {
1417:       union __type
1417:       {
1417:  unsigned char __data[_Len];
1417:  struct __attribute__((__aligned__)) { } __align;
1417:       };
1417:     };
1417: # 2111 "/usr/include/c++/12/type_traits" 3
1417:   template<std::size_t _Len, std::size_t _Align =
1417:     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1417:     struct aligned_storage
1417:     {
1417:       union type
1417:       {
1417:  unsigned char __data[_Len];
1417:  struct __attribute__((__aligned__((_Align)))) { } __align;
1417:       };
1417:     };
1417: 
1417:   template <typename... _Types>
1417:     struct __strictest_alignment
1417:     {
1417:       static const size_t _S_alignment = 0;
1417:       static const size_t _S_size = 0;
1417:     };
1417: 
1417:   template <typename _Tp, typename... _Types>
1417:     struct __strictest_alignment<_Tp, _Types...>
1417:     {
1417:       static const size_t _S_alignment =
1417:         alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
1417:  ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
1417:       static const size_t _S_size =
1417:         sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
1417:  ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
1417:     };
1417: # 2150 "/usr/include/c++/12/type_traits" 3
1417:   template <size_t _Len, typename... _Types>
1417:     struct aligned_union
1417:     {
1417:     private:
1417:       static_assert(sizeof...(_Types) != 0, "At least one type is required");
1417: 
1417:       using __strictest = __strictest_alignment<_Types...>;
1417:       static const size_t _S_len = _Len > __strictest::_S_size
1417:  ? _Len : __strictest::_S_size;
1417:     public:
1417: 
1417:       static const size_t alignment_value = __strictest::_S_alignment;
1417: 
1417:       typedef typename aligned_storage<_S_len, alignment_value>::type type;
1417:     };
1417: 
1417:   template <size_t _Len, typename... _Types>
1417:     const size_t aligned_union<_Len, _Types...>::alignment_value;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Up,
1417:     bool _IsArray = is_array<_Up>::value,
1417:     bool _IsFunction = is_function<_Up>::value>
1417:     struct __decay_selector;
1417: 
1417: 
1417:   template<typename _Up>
1417:     struct __decay_selector<_Up, false, false>
1417:     { typedef __remove_cv_t<_Up> __type; };
1417: 
1417:   template<typename _Up>
1417:     struct __decay_selector<_Up, true, false>
1417:     { typedef typename remove_extent<_Up>::type* __type; };
1417: 
1417:   template<typename _Up>
1417:     struct __decay_selector<_Up, false, true>
1417:     { typedef typename add_pointer<_Up>::type __type; };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     class decay
1417:     {
1417:       typedef typename remove_reference<_Tp>::type __remove_type;
1417: 
1417:     public:
1417:       typedef typename __decay_selector<__remove_type>::__type type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __strip_reference_wrapper
1417:     {
1417:       typedef _Tp __type;
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __strip_reference_wrapper<reference_wrapper<_Tp> >
1417:     {
1417:       typedef _Tp& __type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using __decay_t = typename decay<_Tp>::type;
1417: 
1417:   template<typename _Tp>
1417:     using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
1417: 
1417: 
1417: 
1417: 
1417:   template<bool, typename _Tp = void>
1417:     struct enable_if
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct enable_if<true, _Tp>
1417:     { typedef _Tp type; };
1417: 
1417: 
1417: 
1417: 
1417:   template<bool _Cond, typename _Tp = void>
1417:     using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
1417: 
1417: 
1417:   template<typename... _Cond>
1417:     using _Require = __enable_if_t<__and_<_Cond...>::value>;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using __remove_cvref_t
1417:      = typename remove_cv<typename remove_reference<_Tp>::type>::type;
1417: 
1417: 
1417: 
1417: 
1417:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1417:     struct conditional
1417:     { typedef _Iftrue type; };
1417: 
1417: 
1417:   template<typename _Iftrue, typename _Iffalse>
1417:     struct conditional<false, _Iftrue, _Iffalse>
1417:     { typedef _Iffalse type; };
1417: 
1417: 
1417:   template<typename... _Tp>
1417:     struct common_type;
1417: 
1417: 
1417: 
1417: 
1417:   struct __do_common_type_impl
1417:   {
1417:     template<typename _Tp, typename _Up>
1417:       using __cond_t
1417:  = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
1417: 
1417: 
1417: 
1417:     template<typename _Tp, typename _Up>
1417:       static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
1417:       _S_test(int);
1417: # 2290 "/usr/include/c++/12/type_traits" 3
1417:     template<typename, typename>
1417:       static __failure_type
1417:       _S_test_2(...);
1417: 
1417:     template<typename _Tp, typename _Up>
1417:       static decltype(_S_test_2<_Tp, _Up>(0))
1417:       _S_test(...);
1417:   };
1417: 
1417: 
1417:   template<>
1417:     struct common_type<>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp0>
1417:     struct common_type<_Tp0>
1417:     : public common_type<_Tp0, _Tp0>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp1, typename _Tp2,
1417:     typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
1417:     struct __common_type_impl
1417:     {
1417: 
1417: 
1417:       using type = common_type<_Dp1, _Dp2>;
1417:     };
1417: 
1417:   template<typename _Tp1, typename _Tp2>
1417:     struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
1417:     : private __do_common_type_impl
1417:     {
1417: 
1417: 
1417:       using type = decltype(_S_test<_Tp1, _Tp2>(0));
1417:     };
1417: 
1417: 
1417:   template<typename _Tp1, typename _Tp2>
1417:     struct common_type<_Tp1, _Tp2>
1417:     : public __common_type_impl<_Tp1, _Tp2>::type
1417:     { };
1417: 
1417:   template<typename...>
1417:     struct __common_type_pack
1417:     { };
1417: 
1417:   template<typename, typename, typename = void>
1417:     struct __common_type_fold;
1417: 
1417: 
1417:   template<typename _Tp1, typename _Tp2, typename... _Rp>
1417:     struct common_type<_Tp1, _Tp2, _Rp...>
1417:     : public __common_type_fold<common_type<_Tp1, _Tp2>,
1417:     __common_type_pack<_Rp...>>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CTp, typename... _Rp>
1417:     struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
1417:          __void_t<typename _CTp::type>>
1417:     : public common_type<typename _CTp::type, _Rp...>
1417:     { };
1417: 
1417: 
1417:   template<type15:   template<typename _Tp>
1115:     [[noreturn]]
1115:     inline void
1115:     throw_with_nested(_Tp&& __t)
1115:     {
1115:       using _Up = typename decay<_Tp>::type;
1115:       using _CopyConstructible
1115:  = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
1115:       static_assert(_CopyConstructible::value,
1115:    "throw_with_nested argument must be CopyConstructible");
1115:       using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>,
1115:        __not_<is_base_of<nested_exception, _Up>>>;
1115:       std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{});
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using __rethrow_if_nested_cond = typename enable_if<
1115:       __and_<is_polymorphic<_Tp>,
1115:       __or_<__not_<is_base_of<nested_exception, _Tp>>,
1115:      is_convertible<_Tp*, nested_exception*>>>::value
1115:     >::type;
1115: 
1115: 
1115:   template<typename _Ex>
1115:     inline __rethrow_if_nested_cond<_Ex>
1115:     __rethrow_if_nested_impl(const _Ex* __ptr)
1115:     {
1115:       if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
1115:  __ne_ptr->rethrow_nested();
1115:     }
1115: 
1115: 
1115:   inline void
1115:   __rethrow_if_nested_impl(const void*)
1115:   { }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Ex>
1115:     inline void
1115:     rethrow_if_nested(const _Ex& __ex)
1115:     { std::__rethrow_if_nested_impl(std::__addressof(__ex)); }
1115: 
1115: 
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: #pragma GCC visibility pop
1115: # 170 "/usr/include/c++/12/exception" 2 3
1115: # 35 "/usr/include/c++/12/ext/concurrence.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   enum _Lock_policy { _S_single, _S_mutex, _S_atomic };
1115: 
1115: 
1115: 
1115:   static const _Lock_policy __default_lock_policy =
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   _S_mutex;
1115: 
1115: 
1115: 
1115: 
1115:   class __concurrence_lock_error : public std::exception
1115:   {
1115:   public:
1115:     virtual char const*
1115:     what() const throw()
1115:     { return "__gnu_cxx::__concurrence_lock_error"; }
1115:   };
1115: 
1115:   class __concurrence_unlock_error : public std::exception
1115:   {
1115:   public:
1115:     virtual char const*
1115:     what() const throw()
1115:     { return "__gnu_cxx::__concurrence_unlock_error"; }
1115:   };
1115: 
1115:   class __concurrence_broadcast_error : public std::exception
1115:   {
1115:   public:
1115:     virtual char const*
1115:     what() const throw()
1115:     { return "__gnu_cxx::__concurrence_broadcast_error"; }
1115:   };
1115: 
1115:   class __concurrence_wait_error : public std::exception
1115:   {
1115:   public:
1115:     virtual char const*
1115:     what() const throw()
1115:     { return "__gnu_cxx::__concurrence_wait_error"; }
1115:   };
1115: 
1115: 
1115:   inline void
1115:   __throw_concurrence_lock_error()
1115:   { (throw (__concurrence_lock_error())); }
1115: 
1115:   inline void
1115:   __throw_concurrence_unlock_error()
1115:   { (throw (__concurrence_unlock_error())); }
1115: 
1115: 
1115:   inline void
1115:   __throw_concurrence_broadcast_error()
1115:   { (throw (__concurrence_broadcast_error())); }
1115: 
1115:   inline void
1115:   __throw_concurrence_wait_error()
1115:   { (throw (__concurrence_wait_error())); }
1115: 
1115: 
1115:   class __mutex
1115:   {
1115:   private:
1115: 
1115:     __gthread_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1115: 
1115: 
1115: 
1115: 
1115:     __mutex(const __mutex&);
1115:     __mutex& operator=(const __mutex&);
1115: 
1115:   public:
1115:     __mutex()
1115:     {
1115: 
1115: 
1115: 
1115: 
1115:     }
1115: # 144 "/usr/include/c++/12/ext/concurrence.h" 3
1115:     void lock()
1115:     {
1115: 
1115:       if (__gthread_active_p())
1115:  {
1115:    if (__gthread_mutex_lock(&_M_mutex) != 0)
1115:      __throw_concurrence_lockss<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412: 
1412:     private:
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr decltype(auto)
1412:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1412:  { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
1412: 
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr bool
1412:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1412:  {
1412:    return less<const volatile void*>{}(
1412:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1412:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1412:  }
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded2 : true_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded2<_Tp, _Up, __void_t<
1412:    decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded<_Tp, _Up, __void_t<
1412:    decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1412:        is_convertible<_Tp, const volatile void*>,
1412:        is_convertible<_Up, const volatile void*>>;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct greater_equal<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
1412:  {
1412:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1412:    __ptr_cmp<_Tp, _Up>{});
1412:  }
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  constexpr bool
1412:  operator()(_Tp* __t, _Up* __u) const noexcept
1412:  { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412: 
1412:     private:
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr decltype(auto)
1412:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1412:  { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
1412: 
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr bool
1412:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1412:  {
1412:    return greater_equal<const volatile void*>{}(
1412:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1412:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1412:  }
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded2 : true_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded2<_Tp, _Up, __void_t<
1412:    decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded<_Tp, _Up, __void_t<
1412:    decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1412:        is_convertible<_Tp, const volatile void*>,
1412:        is_convertible<_Up, const volatile void*>>;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct less_equal<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  nue); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) noexcept (true);
609: 
609: 
609: 
609: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float32 roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
609:                             ;
609: 
609: 
609: 
609: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
609:                               ;
609: 
609: 
609: 
609: 
609: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
609:                              ;
609: 
609: 
609: 
609: 
609: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
609:                                ;
609: 
609: 
609: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) _error();
1115:  }
1115: 
1115:     }
1115: 
1115:     void unlock()
1115:     {
1115: 
1115:       if (__gthread_active_p())
1115:  {
1115:    if (__gthread_mutex_unlock(&_M_mutex) != 0)
1115:      __throw_concurrence_unlock_error();
1115:  }
1115: 
1115:     }
1115: 
1115:     __gthread_mutex_t* gthread_mutex(void)
1115:       { return &_M_mutex; }
1115:   };
1115: 
1115:   class __recursive_mutex
1115:   {
1115:   private:
1115: 
1115:     __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1115: 
1115: 
1115: 
1115: 
1115:     __recursive_mutex(const __recursive_mutex&);
1115:     __recursive_mutex& operator=(const __recursive_mutex&);
1115: 
1115:   public:
1115:     __recursive_mutex()
1115:     {
1115: 
1115: 
1115: 
1115: 
1115:     }
1115: # 199 "/usr/include/c++/12/ext/concurrence.h" 3
1115:     void lock()
1115:     {
1115: 
1115:       if (__gthread_active_p())
1115:  {
1115:    if (__gthread_recursive_mutex_lock(&_M_mutex) != 0)
1115:      __throw_concurrence_lock_error();
1115:  }
1115: 
1115:     }
1115: 
1115:     void unlock()
1115:     {
1115: 
1115:       if (__gthread_active_p())
1115:  {
1115:    if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0)
1115:      __throw_concurrence_unlock_error();
1115:  }
1115: 
1115:     }
1115: 
1115:     __gthread_recursive_mutex_t* gthread_recursive_mutex(void)
1115:     { return &_M_mutex; }
1115:   };
1115: 
1115: 
1115: 
1115: 
1115:   class __scoped_lock
1115:   {
1115:   public:
1115:     typedef __mutex __mutex_type;
1115: 
1115:   private:
1115:     __mutex_type& _M_device;
1115: 
1115:     __scoped_lock(const __scoped_lock&);
1115:     __scoped_lock& operator=(const __scoped_lock&);
1115: 
1115:   public:
1115:     explicit __scoped_lock(__mutex_type& __name) : _M_device(__name)
1115:     { _M_device.lock(); }
1115: 
1115:     ~__scoped_lock() throw()
1115:     { _M_device.unlock(); }
1115:   };
1115: 
1115: 
1115:   class __cond
1115:   {
1115:   private:
1115: 
1115:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1115: 
1115: 
1115: 
1115: 
1115:     __cond(const __cond&);
1115:     __cond& operator=(const __cond&);
1115: 
1115:   public:
1115:     __cond()
1115:     {
1115: 
1115: 
1115: 
1115: 
1115:     }
1115: # 277 "/usr/include/c++/12/ext/concurrence.h" 3
1115:     void broadcast()
1115:     {
1115: 
1115:       if (__gthread_active_p())
1115:  {
1115:    if (__gthread_cond_broadcast(&_M_cond) != 0)
1115:      __throw_concurrence_broadcast_error();
1115:  }
1115: 
1115:     }
1115: 
1115:     void wait(__mutex *mutex)
1115:     {
1115: 
1115:       {
1115:    if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0)
1115:      __throw_concurrence_wait_error();
1115:       }
1115: 
1115:     }
1115: 
1115:     void wait_recursive(__recursive_mutex *mutex)
1115:     {
1115: 
1115:       {
1115:    if (__gthread_cond_wait_recursive(&_M_cond,
1115:          mutex->gthread_recursive_mutex())
1115:        != 0)
1115:      __throw_concurrence_wait_error();
1115:       }
1115: 
1115:     }
1115:   };
1115: 
1115: 
1115: 
1115: }
1115: # 63 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:   template<typename> class auto_ptr;
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class bad_weak_ptr : public std::exception
1115:   {
1115:   public:
1115:     virtual char const* what() const noexcept;
1115: 
1115:     virtual ~bad_weak_ptr() noexcept;
1115:   };
1115: 
1115: 
1115:   inline void
1115:   __throw_bad_weak_ptr()
1115:   { (throw (bad_weak_ptr())); }
1115: 
1115:   using __gnu_cxx::_Lock_policy;
1115:   using __gnu_cxx::__default_lock_policy;
1115:   using __gnu_cxx::_S_single;
1115:   using __gnu_cxx::_S_mutex;
1115:   using __gnu_cxx::_S_atomic;
1115: 
1115: 
1115:   template<_Lock_policy _Lp>
11__attribute__ ((__const__));
609: 
609: 
609: extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern _Float32 getpayloadf32 (const _Float32 *__x) noexcept (true); extern _Float32 __getpayloadf32 (const _Float32 *__x) noexcept (true);
609: 
609: 
609: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
609: 
609: 
609: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
609: # 451 "/usr/include/math.h" 2 3 4
609: # 467 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
609: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609:  extern _Float64 acosf64 (_Float64 __x) noexcept (true); extern _Float64 __acosf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 asinf64 (_Float64 __x) noexcept (true); extern _Float64 __asinf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 atanf64 (_Float64 __x) noexcept (true); extern _Float64 __atanf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) noexcept (true); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) noexcept (true);
609: 
609: 
609:  extern _Float64 cosf64 (_Float64 __x) noexcept (true); extern _Float64 __cosf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 sinf64 (_Float64 __x) noexcept (true); extern _Float64 __sinf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 tanf64 (_Float64 __x) noexcept (true); extern _Float64 __tanf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float64 coshf64 (_Float64 __x) noexcept (true); extern _Float64 __coshf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 sinhf64 (_Float64 __x) noexcept (true); extern _Float64 __sinhf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 tanhf64 (_Float64 __x) noexcept (true); extern _Float64 __tanhf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609:  extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true)
609:                                                         ;
609: 
609: 
609: 
609: 
609:  extern _Float64 acoshf64 (_Float64 __x) noexcept (true); extern _Float64 __acoshf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 asinhf64 (_Float64 __x) noexcept (true); extern _Float64 __asinhf64 (_Float64 __x) noexcept (true);
609: 
609:  extern _Float64 atanhf64 (_Float64 __x) noexcept (true); extern _Float64 __atanhf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern _Float64 expf64 (_Float64 __x) noexcept (true); extern _Float64 __expf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) noexcept (true); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) noexcept (true);
609: 
609: 
609: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) noexcept (true); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) noexcept (true);
609: 
609: 
609:  extern _Float64 logf64 (_Float64 __x) noexcept (true); extern _Float64 __logf64 (_Float64 __x) noexcept (true);
609: 
609: 
609:  extern _Float64 log10f64 (_Float64 __x) noexcept (true); extern _Float64 __log10f64 (_Float64 __x) noexcept (true);
609: 
609: 
609: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609:  extern _Float64 exp10f6oexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
1412:  {
1412:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1412:    __ptr_cmp<_Tp, _Up>{});
1412:  }
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  constexpr bool
1412:  operator()(_Tp* __t, _Up* __u) const noexcept
1412:  { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412: 
1412:     private:
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr decltype(auto)
1412:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1412:  { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
1412: 
1412:       template <typename _Tp, typename _Up>
1412:  static constexpr bool
1412:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1412:  {
1412:    return less_equal<const volatile void*>{}(
1412:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1412:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1412:  }
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded2 : true_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded2<_Tp, _Up, __void_t<
1412:    decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up, typename = void>
1412:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1412: 
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  struct __not_overloaded<_Tp, _Up, __void_t<
1412:    decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
1412:  : false_type { };
1412: 
1412:       template<typename _Tp, typename _Up>
1412:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1412:        is_convertible<_Tp, const volatile void*>,
1412:        is_convertible<_Up, const volatile void*>>;
1412:     };
1412: # 781 "/usr/include/c++/12/bits/stl_function.h" 3
1412:   template<typename _Tp = void>
1412:     struct logical_and;
1412: 
1412:   template<typename _Tp = void>
1412:     struct logical_or;
1412: 
1412:   template<typename _Tp = void>
1412:     struct logical_not;
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct logical_and : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x && __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct logical_or : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x || __y; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct logical_not : public unary_function<_Tp, bool>
1412:     {
1412:       constexpr
1412:       bool
1412:       operator()(const _Tp& __x) const
1412:       { return !__x; }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct logical_and<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct logical_or<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) || std::forname _CTp, typename _Rp>
1417:     struct __common_type_fold<_CTp, _Rp, void>
1417:     { };
1417: 
1417:   template<typename _Tp, bool = is_enum<_Tp>::value>
1417:     struct __underlying_type_impl
1417:     {
1417:       using type = __underlying_type(_Tp);
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __underlying_type_impl<_Tp, false>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct underlying_type
1417:     : public __underlying_type_impl<_Tp>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __declval_protector
1417:     {
1417:       static const bool __stop = false;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     auto declval() noexcept -> decltype(__declval<_Tp>(0))
1417:     {
1417:       static_assert(__declval_protector<_Tp>::__stop,
1417:       "declval() must not be used!");
1417:       return __declval<_Tp>(0);
1417:     }
1417: 
1417: 
1417:   template<typename _Signature>
1417:     struct result_of;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct __invoke_memfun_ref { };
1417:   struct __invoke_memfun_deref { };
1417:   struct __invoke_memobj_ref { };
1417:   struct __invoke_memobj_deref { };
1417:   struct __invoke_other { };
1417: 
1417: 
1417:   template<typename _Tp, typename _Tag>
1417:     struct __result_of_success : __success_type<_Tp>
1417:     { using __invoke_type = _Tag; };
1417: 
1417: 
1417:   struct __result_of_memfun_ref_impl
1417:   {
1417:     template<typename _Fp, typename _Tp1, typename... _Args>
1417:       static __result_of_success<decltype(
1417:       (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
1417:       ), __invoke_memfun_ref> _S_test(int);
1417: 
1417:     template<typename...>
1417:       static __failure_type _S_test(...);
1417:   };
1417: 
1417:   template<typename _MemPtr, typename _Arg, typename... _Args>
1417:     struct __result_of_memfun_ref
1417:     : private __result_of_memfun_ref_impl
1417:     {
1417:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1417:     };
1417: 
1417: 
1417:   struct __result_of_memfun_deref_impl
1417:   {
1417:     template<typename _Fp, typename _Tp1, typename... _Args>
1417:       static __result_of_success<decltype(
1417:       ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
1417:       ), __invoke_memfun_deref> _S_test(int);
1417: 
1417:     template<typename...>
1417:       static __failure_type _S_test(...);
1417:   };
1417: 
1417:   template<typename _MemPtr, typename _Arg, typename... _Args>
1417:     struct __result_of_memfun_deref
1417:     : private __result_of_memfun_deref_impl
1417:     {
1417:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1417:     };
1417: 
1417: 
1417:   struct __result_of_memobj_ref_impl
1417:   {
1417:     template<typename _Fp, typename _Tp1>
1417:       static __result_of_success<decltype(
1417:       std::declval<_Tp1>().*std::declval<_Fp>()
1417:       ), __invoke_memobj_ref> _S_test(int);
1417: 
1417:     template<typename, typename>
1417:       static __failure_type _S_test(...);
1417:   };
1417: 
1417:   template<typename _MemPtr, typename _Arg>
1417:     struct __result_of_memobj_ref
1417:     : private __result_of_memobj_ref_impl
1417:     {
1417:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1417:     };
1417: 
1417: 
1417:   struct __result_of_memobj_deref_impl
1417:   {
1417:     template<typename _Fp, typename _Tp1>
1417:       static __result_of_success<decltype(
1417:       (*std::declval<_Tp1>()).*std::declval<_Fp>()
1417:       ), __invoke_memobj_deref> _S_test(int);
1417: 
1417:     template<typename, typename>
1417:       static __failure_type _S_test(...);
1417:   };
1417: 
1417:   template<typename _MemPtr, typename _Arg>
1417:     struct __result_of_memobj_deref
1417:     : private __result_of_memobj_deref_impl
1417:     {
1417:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1417:     };
1417: 
1417:   template<typename _MemPtr, typename 15:     class _Mutex_base
1115:     {
1115:     protected:
1115: 
1115:       enum { _S_need_barriers = 0 };
1115:     };
1115: 
1115:   template<>
1115:     class _Mutex_base<_S_mutex>
1115:     : public __gnu_cxx::__mutex
1115:     {
1115:     protected:
1115: 
1115: 
1115: 
1115:       enum { _S_need_barriers = 1 };
1115:     };
1115: 
1115:   template<_Lock_policy _Lp = __default_lock_policy>
1115:     class _Sp_counted_base
1115:     : public _Mutex_base<_Lp>
1115:     {
1115:     public:
1115:       _Sp_counted_base() noexcept
1115:       : _M_use_count(1), _M_weak_count(1) { }
1115: 
1115:       virtual
1115:       ~_Sp_counted_base() noexcept
1115:       { }
1115: 
1115: 
1115: 
1115:       virtual void
1115:       _M_dispose() noexcept = 0;
1115: 
1115: 
1115:       virtual void
1115:       _M_destroy() noexcept
1115:       { delete this; }
1115: 
1115:       virtual void*
1115:       _M_get_deleter(const std::type_info&) noexcept = 0;
1115: 
1115: 
1115:       void
1115:       _M_add_ref_copy()
1115:       { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); }
1115: 
1115: 
1115:       void
1115:       _M_add_ref_lock()
1115:       {
1115:  if (!_M_add_ref_lock_nothrow())
1115:    __throw_bad_weak_ptr();
1115:       }
1115: 
1115: 
1115:       bool
1115:       _M_add_ref_lock_nothrow() noexcept;
1115: 
1115: 
1115:       void
1115:       _M_release() noexcept;
1115: 
1115: 
1115:       void
1115:       _M_release_last_use() noexcept
1115:       {
1115:  ;
1115:  _M_dispose();
1115: 
1115: 
1115: 
1115: 
1115:  if (_Mutex_base<_Lp>::_S_need_barriers)
1115:    {
1115:      __atomic_thread_fence (4);
1115:    }
1115: 
1115: 
1115:  ;
1115:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
1115:          -1) == 1)
1115:    {
1115:      ;
1115:      _M_destroy();
1115:    }
1115:       }
1115: 
1115: 
1115:       __attribute__((__noinline__))
1115:       void
1115:       _M_release_last_use_cold() noexcept
1115:       { _M_release_last_use(); }
1115: 
1115: 
1115:       void
1115:       _M_weak_add_ref() noexcept
1115:       { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); }
1115: 
1115: 
1115:       void
1115:       _M_weak_release() noexcept
1115:       {
1115: 
1115:         ;
1115:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1)
1115:    {
1115:             ;
1115:      if (_Mutex_base<_Lp>::_S_need_barriers)
1115:        {
1115: 
1115: 
1115:   __atomic_thread_fence (4);
1115:        }
1115:      _M_destroy();
1115:    }
1115:       }
1115: 
1115:       long
1115:       _M_get_use_count() const noexcept
1115:       {
1115: 
1115: 
1115:         return __atomic_load_n(&_M_use_count, 0);
1115:       }
1115: 
1115:     private:
1115:       _Sp_counted_base(_Sp_counted_base const&) = delete;
1115:       _Sp_counted_base& operator=(_Sp_counted_base const&) = delete;
1115: 
1115:       _Atomic_word _M_use_count;
1115:       _Atomic_word _M_weak_count;
1115:     };
1115: 
1115:   template<>
1115:     inline bool
1115:     _Sp_counted_base<_S_single>::
1115:     _M_add_ref_lock_nothrow() noexcept
1115:     {
1115:       if (_M_use_count == 0)
1115:  return false;
1115:       ++_M_use_count;
1115:       return true;
1115:     }
1115: 
1115:   template<>
1115:     inline bool
1115:     _Sp_counted_base<_S_mutex>::
1115:     _M_add_ref_lock_nothrow() noexcept
1115:     {
1115:       __gnu_cxx::__scoped_lock sentry(*this);
1115:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
1115:  {
1115:    _M_use_count = 0;
1115:    return false;
1115:  }
1115:       return true;
1115:     }
1115: 
1115:   template<>
1115:     inline bool
1115:     _Sp_counted_base<_S_atomic>::
1115:     _M_add_ref_lock_nothrow() noexcept
1115:     {
1115: 
1115:       _Atomic_word __count = _M_get_use_count();
1115:       do
1115:  {
1115:    if (__count == 0)
1115:      return false;
1115: 
1115: 
1115:  }
1115:       while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
1115:        true, 4,
1115:        0));
1115:       return true;
1115:     }
1115: 
1115:   templa_Arg>
1417:     struct __result_of_memobj;
1417: 
1417:   template<typename _Res, typename _Class, typename _Arg>
1417:     struct __result_of_memobj<_Res _Class::*, _Arg>
1417:     {
1417:       typedef __remove_cvref_t<_Arg> _Argval;
1417:       typedef _Res _Class::* _MemPtr;
1417:       typedef typename __conditional_t<__or_<is_same<_Argval, _Class>,
1417:         is_base_of<_Class, _Argval>>::value,
1417:         __result_of_memobj_ref<_MemPtr, _Arg>,
1417:         __result_of_memobj_deref<_MemPtr, _Arg>
1417:       >::type type;
1417:     };
1417: 
1417:   template<typename _MemPtr, typename _Arg, typename... _Args>
1417:     struct __result_of_memfun;
1417: 
1417:   template<typename _Res, typename _Class, typename _Arg, typename... _Args>
1417:     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
1417:     {
1417:       typedef typename remove_reference<_Arg>::type _Argval;
1417:       typedef _Res _Class::* _MemPtr;
1417:       typedef typename __conditional_t<is_base_of<_Class, _Argval>::value,
1417:         __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
1417:         __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
1417:       >::type type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
1417:     struct __inv_unwrap
1417:     {
1417:       using type = _Tp;
1417:     };
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
1417:     {
1417:       using type = _Up&;
1417:     };
1417: 
1417:   template<bool, bool, typename _Functor, typename... _ArgTypes>
1417:     struct __result_of_impl
1417:     {
1417:       typedef __failure_type type;
1417:     };
1417: 
1417:   template<typename _MemPtr, typename _Arg>
1417:     struct __result_of_impl<true, false, _MemPtr, _Arg>
1417:     : public __result_of_memobj<__decay_t<_MemPtr>,
1417:     typename __inv_unwrap<_Arg>::type>
1417:     { };
1417: 
1417:   template<typename _MemPtr, typename _Arg, typename... _Args>
1417:     struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
1417:     : public __result_of_memfun<__decay_t<_MemPtr>,
1417:     typename __inv_unwrap<_Arg>::type, _Args...>
1417:     { };
1417: 
1417: 
1417:   struct __result_of_other_impl
1417:   {
1417:     template<typename _Fn, typename... _Args>
1417:       static __result_of_success<decltype(
1417:       std::declval<_Fn>()(std::declval<_Args>()...)
1417:       ), __invoke_other> _S_test(int);
1417: 
1417:     template<typename...>
1417:       static __failure_type _S_test(...);
1417:   };
1417: 
1417:   template<typename _Functor, typename... _ArgTypes>
1417:     struct __result_of_impl<false, false, _Functor, _ArgTypes...>
1417:     : private __result_of_other_impl
1417:     {
1417:       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
1417:     };
1417: 
1417: 
1417:   template<typename _Functor, typename... _ArgTypes>
1417:     struct __invoke_result
1417:     : public __result_of_impl<
1417:         is_member_object_pointer<
1417:           typename remove_reference<_Functor>::type
1417:         >::value,
1417:         is_member_function_pointer<
1417:           typename remove_reference<_Functor>::type
1417:         >::value,
1417:  _Functor, _ArgTypes...
1417:       >::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Functor, typename... _ArgTypes>
1417:     struct result_of<_Functor(_ArgTypes...)>
1417:     : public __invoke_result<_Functor, _ArgTypes...>
1417:     { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
1417: 
1417: 
1417: 
1417:   template<size_t _Len, size_t _Align =
1417:      __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1417:     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
1417: 
1417:   template <size_t _Len, typename... _Types>
1417:     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using decay_t = typename decay<_Tp>::type;
1417: 
1417: 
1417:   ward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct logical_not<void>
1412:     {
1412:       template <typename _Tp>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t) const
1412:  noexcept(noexcept(!std::forward<_Tp>(__t)))
1412:  -> decltype(!std::forward<_Tp>(__t))
1412:  { return !std::forward<_Tp>(__t); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp = void>
1412:     struct bit_and;
1412: 
1412:   template<typename _Tp = void>
1412:     struct bit_or;
1412: 
1412:   template<typename _Tp = void>
1412:     struct bit_xor;
1412: 
1412:   template<typename _Tp = void>
1412:     struct bit_not;
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct bit_and : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x & __y; }
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct bit_or : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x | __y; }
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
1412:     {
1412:       constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x, const _Tp& __y) const
1412:       { return __x ^ __y; }
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct bit_not : public unary_function<_Tp, _Tp>
1412:     {
1412:     constexpr
1412:       _Tp
1412:       operator()(const _Tp& __x) const
1412:       { return ~__x; }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412:   template <>
1412:     struct bit_and<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412:   template <>
1412:     struct bit_or<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412:   template <>
1412:     struct bit_xor<void>
1412:     {
1412:       template <typename _Tp, typename _Up>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t, _Up&& __u) const
1412:  noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
1412:  -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
1412:  { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412:   template <>
1412:     struct bit_not<void>
1412:     {
1412:       template <typename _Tp>
1412:  constexpr
1412:  auto
1412:  operator()(_Tp&& __t) const
1412:  noexcept(noexcept(~std::forward<_Tp>(__t)))
1412:  -> decltype(~std::forward<_Tp>(__t))
1412:  { return ~std::forward<_Tp>(__t); }
1412: 
1412:       typedef __is_transparent is_transparent;
1412:     };
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: # 1023 "/usr/include/c++/12/bits/stl_function.h" 3
1412:   template<typename _Predicate>
1412:     class [[__deprecated__]] unary_template<bool _Cond, typename _Tp = void>
1417:     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
1417: 
1417: 
1417:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1417:     using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
1417: 
1417: 
1417:   template<typename... _Tp>
1417:     using common_type_t = typename common_type<_Tp...>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using underlying_type_t = typename underlying_type<_Tp>::type;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using result_of_t = typename result_of<_Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename...> using void_t = void;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Default, typename _AlwaysVoid,
1417:     template<typename...> class _Op, typename... _Args>
1417:     struct __detector
1417:     {
1417:       using value_t = false_type;
1417:       using type = _Default;
1417:     };
1417: 
1417: 
1417:   template<typename _Default, template<typename...> class _Op,
1417:      typename... _Args>
1417:     struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
1417:     {
1417:       using value_t = true_type;
1417:       using type = _Op<_Args...>;
1417:     };
1417: 
1417: 
1417:   template<typename _Default, template<typename...> class _Op,
1417:     typename... _Args>
1417:     using __detected_or = __detector<_Default, void, _Op, _Args...>;
1417: 
1417: 
1417:   template<typename _Default, template<typename...> class _Op,
1417:     typename... _Args>
1417:     using __detected_or_t
1417:       = typename __detected_or<_Default, _Op, _Args...>::type;
1417: # 2684 "/usr/include/c++/12/type_traits" 3
1417:   template <typename _Tp>
1417:     struct __is_swappable;
1417: 
1417:   template <typename _Tp>
1417:     struct __is_nothrow_swappable;
1417: 
1417:   template<typename>
1417:     struct __is_tuple_like_impl : false_type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_tuple_like
1417:     : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:    
1417:     inline
1417:     _Require<__not_<__is_tuple_like<_Tp>>,
1417:       is_move_constructible<_Tp>,
1417:       is_move_assignable<_Tp>>
1417:     swap(_Tp&, _Tp&)
1417:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1417:              is_nothrow_move_assignable<_Tp>>::value);
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:    
1417:     inline
1417:     __enable_if_t<__is_swappable<_Tp>::value>
1417:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1417:     noexcept(__is_nothrow_swappable<_Tp>::value);
1417: 
1417: 
1417:   namespace __swappable_details {
1417:     using std::swap;
1417: 
1417:     struct __do_is_swappable_impl
1417:     {
1417:       template<typename _Tp, typename
1417:                = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
1417:         static true_type __test(int);
1417: 
1417:       template<typename>
1417:         static false_type __test(...);
1417:     };
1417: 
1417:     struct __do_is_nothrow_swappable_impl
1417:     {
1417:       template<typename _Tp>
1417:         static __bool_constant<
1417:           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
1417:         > __test(int);
1417: 
1417:       template<typename>
1417:         static false_type __test(...);
1417:     };
1417: 
1417:   }
1417: 
1417:   template<typename _Tp>
1417:     struct __is_swappable_impl
1417:     : public __swappable_details::__do_is_swappable_impl
1417:     {
1417:       typedef decltype(__test<_Tp>(0)) type;
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nothrow_swappable_impl
1417:     : public __swappable_details::__do_is_nothrow_swappable_impl
1417:     {
1417:       typedef decltype(__test<_Tp>(0)) type;
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_swappable
1417:     : public __is_swappable_impl<_Tp>::type
1417:     { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nothrow_swappable
1417:     : public __is_nothrow_swappable_impl<_Tp>::type
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_swappable
1417:     : public __is_swappable_impl<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_nothrow_swappable
1417:     : public __is_nothrow_swappable_impl<_Tp>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr bool is_swappable_v =
1417:       is_swappable<_Tp>::value;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr bool is_nothrow_swappable_v =
1417:       is_nothrow_swappable<_Tp>::value;
1417: 
1417: 
1417: 
1417:   namespace __swappable_with_details {
1417:     using std::swap;
1417: 
1417:     struct __do_is_swappable_with_impl
1417:     {
1417:       template<typename _Tp, typename _Up, typename
1417:                = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
1417:                typename
1417:                = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
1417:         static true_type __test(int);
1417: 
1417:       template<typename, typename>
1417:         static false_type __test(...);
1417:     };
1417: 
1417:     struct __do_is_nothrow_swappable_with_impl
1417:     {
1417:       template<typename _Tp, typename _Up>
1417:         static __bool_constant<
1417:           noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
1417:           &&
1417:           noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
1417:         > __test(int);
1417: 
1417:       template<typename, typename>
1417:         static false_type __test(...);
1417:     };
1417: 
1417:   }
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct __is_swappable_with_impl
1417:     : public __swappable_with_details::__do_is_swappable_with_impl
1417:     {
1417:       typedef decltype(__test<_Tp, _Up>(0)) type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_swappable_with_impl<_Tp&, _Tp&>
1417:     : public __swappable_details::__do_is_swappable_impl
1417:     {
1417:       typedef decltype(__test<_Tp&>(0)) type;
1417:     };
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct __is_nothrow_swappable_with_impl
1417:     : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
1417:     {
1417:       typedef decltype(__test<_Tp, _Up>(0)) type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
1417:     : public __swappable_details::__do_is_nothrow_swappable_impl
1417:     {
1417:       typedef decltype(__test<_Tp&>(0)) type;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct is_swappable_with
1417:     : public __is_swappable_with_impl<_Tp, _Up>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "first template argument must be a complete class or an unbounded array");
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1417:  "second template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct is_nothrow_swappable_with
1417:     : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "first template argument must be a complete class or an unbounded array");
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1417:  "second template argument must te<>
1115:     inline void
1115:     _Sp_counted_base<_S_single>::_M_add_ref_copy()
1115:     { ++_M_use_count; }
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_base<_S_single>::_M_release() noexcept
1115:     {
1115:       if (--_M_use_count == 0)
1115:         {
1115:           _M_dispose();
1115:           if (--_M_weak_count == 0)
1115:             _M_destroy();
1115:         }
1115:     }
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_base<_S_mutex>::_M_release() noexcept
1115:     {
1115: 
1115:       ;
1115:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1115:  {
1115:    _M_release_last_use();
1115:  }
1115:     }
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_base<_S_atomic>::_M_release() noexcept
1115:     {
1115:       ;
1115: 
1115:       constexpr bool __lock_free
1115:  = __atomic_always_lock_free(sizeof(long long), 0)
1115:  && __atomic_always_lock_free(sizeof(_Atomic_word), 0);
1115:       constexpr bool __double_word
1115:  = sizeof(long long) == 2 * sizeof(_Atomic_word);
1115: 
1115: 
1115:       constexpr bool __aligned = __alignof(long long) <= alignof(void*);
1115:       if constexpr (__lock_free && __double_word && __aligned)
1115:  {
1115:    constexpr int __wordbits = 8 * sizeof(_Atomic_word);
1115:    constexpr int __shiftbits = __double_word ? __wordbits : 0;
1115:    constexpr long long __unique_ref = 1LL + (1LL << __shiftbits);
1115:    auto __both_counts = reinterpret_cast<long long*>(&_M_use_count);
1115: 
1115:    ;
1115:    if (__atomic_load_n(__both_counts, 2) == __unique_ref)
1115:      {
1115: 
1115: 
1115: 
1115: 
1115:        _M_weak_count = _M_use_count = 0;
1115:        ;
1115:        ;
1115:        _M_dispose();
1115:        _M_destroy();
1115:        return;
1115:      }
1115:    if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1115:      [[__unlikely__]]
1115:      {
1115:        _M_release_last_use_cold();
1115:        return;
1115:      }
1115:  }
1115:       else
1115: 
1115:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1115:  {
1115:    _M_release_last_use();
1115:  }
1115:     }
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept
1115:     { ++_M_weak_count; }
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_base<_S_single>::_M_weak_release() noexcept
1115:     {
1115:       if (--_M_weak_count == 0)
1115:         _M_destroy();
1115:     }
1115: 
1115:   template<>
1115:     inline long
1115:     _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept
1115:     { return _M_use_count; }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1115:     class __shared_ptr;
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1115:     class __weak_ptr;
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1115:     class __enable_shared_from_this;
1115: 
1115:   template<typename _Tp>
1115:     class shared_ptr;
1115: 
1115:   template<typename _Tp>
1115:     class weak_ptr;
1115: 
1115:   template<typename _Tp>
1115:     struct owner_less;
1115: 
1115:   template<typename _Tp>
1115:     class enable_shared_from_this;
1115: 
1115:   template<_Lock_policy _Lp = __default_lock_policy>
1115:     class __weak_count;
1115: 
1115:   template<_Lock_policy _Lp = __default_lock_policy>
1115:     class __shared_count;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Ptr, _Lock_policy _Lp>
1115:     class _Sp_counted_ptr final : public _Sp_counted_base<_Lp>
1115:     {
1115:     public:
1115:       explicit
1115:       _Sp_counted_ptr(_Ptr __p) noexcept
1115:       : _M_ptr(__p) { }
1115: 
1115:       virtual void
1115:       _M_dispose() noexcept
1115:       { delete _M_ptr; }
1115: 
1115:       virtual void
1115:       _M_destroy() noexcept
1115:       { delete this; }
1115: 
1115:       virtual void*
1115:       _M_get_deleter(const std::tynegate
1412:     : public unary_function<typename _Predicate::argument_type, bool>
1412:     {
1412:     protected:
1412:       _Predicate _M_pred;
1412: 
1412:     public:
1412:       constexpr
1412:       explicit
1412:       unary_negate(const _Predicate& __x) : _M_pred(__x) { }
1412: 
1412:       constexpr
1412:       bool
1412:       operator()(const typename _Predicate::argument_type& __x) const
1412:       { return !_M_pred(__x); }
1412:     };
1412: 
1412: 
1412:   template<typename _Predicate>
1412:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1412:     constexpr
1412:     inline unary_negate<_Predicate>
1412:     not1(const _Predicate& __pred)
1412:     { return unary_negate<_Predicate>(__pred); }
1412: 
1412: 
1412:   template<typename _Predicate>
1412:     class [[__deprecated__]] binary_negate
1412:     : public binary_function<typename _Predicate::first_argument_type,
1412:         typename _Predicate::second_argument_type, bool>
1412:     {
1412:     protected:
1412:       _Predicate _M_pred;
1412: 
1412:     public:
1412:       constexpr
1412:       explicit
1412:       binary_negate(const _Predicate& __x) : _M_pred(__x) { }
1412: 
1412:       constexpr
1412:       bool
1412:       operator()(const typename _Predicate::first_argument_type& __x,
1412:    const typename _Predicate::second_argument_type& __y) const
1412:       { return !_M_pred(__x, __y); }
1412:     };
1412: 
1412: 
1412:   template<typename _Predicate>
1412:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1412:     constexpr
1412:     inline binary_negate<_Predicate>
1412:     not2(const _Predicate& __pred)
1412:     { return binary_negate<_Predicate>(__pred); }
1412: # 1104 "/usr/include/c++/12/bits/stl_function.h" 3
1412:   template<typename _Arg, typename _Result>
1412:     class pointer_to_unary_function : public unary_function<_Arg, _Result>
1412:     {
1412:     protected:
1412:       _Result (*_M_ptr)(_Arg);
1412: 
1412:     public:
1412:       pointer_to_unary_function() { }
1412: 
1412:       explicit
1412:       pointer_to_unary_function(_Result (*__x)(_Arg))
1412:       : _M_ptr(__x) { }
1412: 
1412:       _Result
1412:       operator()(_Arg __x) const
1412:       { return _M_ptr(__x); }
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Arg, typename _Result>
1412:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1412:     inline pointer_to_unary_function<_Arg, _Result>
1412:     ptr_fun(_Result (*__x)(_Arg))
1412:     { return pointer_to_unary_function<_Arg, _Result>(__x); }
1412: 
1412: 
1412:   template<typename _Arg1, typename _Arg2, typename _Result>
1412:     class pointer_to_binary_function
1412:     : public binary_function<_Arg1, _Arg2, _Result>
1412:     {
1412:     protected:
1412:       _Result (*_M_ptr)(_Arg1, _Arg2);
1412: 
1412:     public:
1412:       pointer_to_binary_function() { }
1412: 
1412:       explicit
1412:       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
1412:       : _M_ptr(__x) { }
1412: 
1412:       _Result
1412:       operator()(_Arg1 __x, _Arg2 __y) const
1412:       { return _M_ptr(__x, __y); }
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Arg1, typename _Arg2, typename _Result>
1412:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1412:     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
1412:     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
1412:     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _Identity
1412:     : public unary_function<_Tp, _Tp>
1412:     {
1412:       _Tp&
1412:       operator()(_Tp& __x) const
1412:       { return __x; }
1412: 
1412:       const _Tp&
1412:       operator()(const _Tp& __x) const
1412:       { return __x; }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
1412: 
1412:   template<typename _Pair>
1412:     struct _Select1st
be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline constexpr bool is_swappable_with_v =
1417:       is_swappable_with<_Tp, _Up>::value;
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline constexpr bool is_nothrow_swappable_with_v =
1417:       is_nothrow_swappable_with<_Tp, _Up>::value;
1417: # 2907 "/usr/include/c++/12/type_traits" 3
1417:   template<typename _Result, typename _Ret,
1417:     bool = is_void<_Ret>::value, typename = void>
1417:     struct __is_invocable_impl : false_type { };
1417: 
1417: 
1417:   template<typename _Result, typename _Ret>
1417:     struct __is_invocable_impl<_Result, _Ret,
1417:                                 true,
1417:           __void_t<typename _Result::type>>
1417:     : true_type
1417:     { };
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1417: 
1417:   template<typename _Result, typename _Ret>
1417:     struct __is_invocable_impl<_Result, _Ret,
1417:                                 false,
1417:           __void_t<typename _Result::type>>
1417:     {
1417:     private:
1417: 
1417: 
1417:       static typename _Result::type _S_get();
1417: 
1417:       template<typename _Tp>
1417:  static void _S_conv(_Tp);
1417: 
1417: 
1417:       template<typename _Tp, typename = decltype(_S_conv<_Tp>(_S_get()))>
1417:  static true_type
1417:  _S_test(int);
1417: 
1417:       template<typename _Tp>
1417:  static false_type
1417:  _S_test(...);
1417: 
1417:     public:
1417:       using type = decltype(_S_test<_Ret>(1));
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417:   template<typename _Fn, typename... _ArgTypes>
1417:     struct __is_invocable
1417:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1417:     { };
1417: 
1417:   template<typename _Fn, typename _Tp, typename... _Args>
1417:     constexpr bool __call_is_nt(__invoke_memfun_ref)
1417:     {
1417:       using _Up = typename __inv_unwrap<_Tp>::type;
1417:       return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
1417:      std::declval<_Args>()...));
1417:     }
1417: 
1417:   template<typename _Fn, typename _Tp, typename... _Args>
1417:     constexpr bool __call_is_nt(__invoke_memfun_deref)
1417:     {
1417:       return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
1417:      std::declval<_Args>()...));
1417:     }
1417: 
1417:   template<typename _Fn, typename _Tp>
1417:     constexpr bool __call_is_nt(__invoke_memobj_ref)
1417:     {
1417:       using _Up = typename __inv_unwrap<_Tp>::type;
1417:       return noexcept(std::declval<_Up>().*std::declval<_Fn>());
1417:     }
1417: 
1417:   template<typename _Fn, typename _Tp>
1417:     constexpr bool __call_is_nt(__invoke_memobj_deref)
1417:     {
1417:       return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
1417:     }
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     constexpr bool __call_is_nt(__invoke_other)
1417:     {
1417:       return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
1417:     }
1417: 
1417:   template<typename _Result, typename _Fn, typename... _Args>
1417:     struct __call_is_nothrow
1417:     : __bool_constant<
1417:  std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
1417:       >
1417:     { };
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     using __call_is_nothrow_
1417:       = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
1417: 
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     struct __is_nothrow_invocable
1417:     : __and_<__is_invocable<_Fn, _Args...>,
1417:              __call_is_nothrow_<_Fn, _Args...>>::type
1417:     { };
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1417:   struct __nonesuchbase {};
1417:   struct __nonesuch : private __nonesuchbase {
1417:     ~__nonesuch() = delete;
1417:     __nonesuch(__nonesuch const&) = delete;
1417:     void operator=(__4 (_Float64 __x) noexcept (true); extern _Float64 __exp10f64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float64 expm1f64 (_Float64 __x) noexcept (true); extern _Float64 __expm1f64 (_Float64 __x) noexcept (true);
609: 
609: 
609:  extern _Float64 log1pf64 (_Float64 __x) noexcept (true); extern _Float64 __log1pf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: extern _Float64 logbf64 (_Float64 __x) noexcept (true); extern _Float64 __logbf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float64 exp2f64 (_Float64 __x) noexcept (true); extern _Float64 __exp2f64 (_Float64 __x) noexcept (true);
609: 
609: 
609:  extern _Float64 log2f64 (_Float64 __x) noexcept (true); extern _Float64 __log2f64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609:  extern _Float64 powf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: extern _Float64 sqrtf64 (_Float64 __x) noexcept (true); extern _Float64 __sqrtf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609:  extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float64 cbrtf64 (_Float64 __x) noexcept (true); extern _Float64 __cbrtf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float64 ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float64 nanf64 (const char *__tagb) noexcept (true); extern _Float64 __nanf64 (const char *__tagb) noexcept (true);
609: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float64 j0f64 (_Float64) noexcept (true); extern _Float64 __j0f64 (_Float64) noexcept (true);
609: extern _Float64 j1f64 (_Float64) noexcept (true); extern _Float64 __j1f64 (_Float64) noexcept (true);
609: extern _Float64 jnf64 (int, _Float64) noexcept (true); extern _Float64 __jnf64 (int, _Float64) noexcept (true);
609: extern _Float64 y0f64 (_Float64) noexcept (true); extern _Float64 __y0f64 (_Float64) noexcept (true);
609: extern _Float64 y1f64 (_Float64) noexcept (true); extern _Float64 __y1f64 (_Float64) noexcept (true);
609: extern _Float64 ynf64 (int, _Float64) noexcept (true); extern _Float64 __ynf64 (int, _Float64) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern _Float64 erff64 (_Float64) noexcept (true); extern _Float64 __erff64 (_Float64) noexcept (true);
609:  extern _Float64 erfcf64 (_Float64) noexcept (true); extern _Float64 __erfcf64 (_Float64) noexcept (true);
609: extern _Float64 lgammaf64 (_Float64) noexcept (true); extern _Float64 __lgammaf64 (_Float64) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float64 tgammaf64 (_Float64) noexcept (true); extern _Float64 __tgammaf64 (_Float64) noexcept (true);
609: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) noexcept (true); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float64 ripe_info&) noexcept
1115:       { return nullptr; }
1115: 
1115:       _Sp_counted_ptr(const _Sp_counted_ptr&) = delete;
1115:       _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete;
1115: 
1115:     private:
1115:       _Ptr _M_ptr;
1115:     };
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_ptr<nullptr_t, _S_single>::_M_dispose() noexcept { }
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_ptr<nullptr_t, _S_mutex>::_M_dispose() noexcept { }
1115: 
1115:   template<>
1115:     inline void
1115:     _Sp_counted_ptr<nullptr_t, _S_atomic>::_M_dispose() noexcept { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<int _Nm, typename _Tp,
1115:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1115:     struct _Sp_ebo_helper;
1115: 
1115: 
1115:   template<int _Nm, typename _Tp>
1115:     struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp
1115:     {
1115:       explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { }
1115:       explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { }
1115: 
1115:       static _Tp&
1115:       _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); }
1115:     };
1115: 
1115: 
1115:   template<int _Nm, typename _Tp>
1115:     struct _Sp_ebo_helper<_Nm, _Tp, false>
1115:     {
1115:       explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { }
1115:       explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { }
1115: 
1115:       static _Tp&
1115:       _S_get(_Sp_ebo_helper& __eboh)
1115:       { return __eboh._M_tp; }
1115: 
1115:     private:
1115:       _Tp _M_tp;
1115:     };
1115: 
1115: 
1115:   template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
1115:     class _Sp_counted_deleter final : public _Sp_counted_base<_Lp>
1115:     {
1115:       class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc>
1115:       {
1115:  typedef _Sp_ebo_helper<0, _Deleter> _Del_base;
1115:  typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base;
1115: 
1115:       public:
1115:  _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1115:  : _Del_base(std::move(__d)), _Alloc_base(__a), _M_ptr(__p)
1115:  { }
1115: 
1115:  _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); }
1115:  _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); }
1115: 
1115:  _Ptr _M_ptr;
1115:       };
1115: 
1115:     public:
1115:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>;
1115: 
1115: 
1115:       _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept
1115:       : _M_impl(__p, std::move(__d), _Alloc()) { }
1115: 
1115: 
1115:       _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1115:       : _M_impl(__p, std::move(__d), __a) { }
1115: 
1115:       ~_Sp_counted_deleter() noexcept { }
1115: 
1115:       virtual void
1115:       _M_dispose() noexcept
1115:       { _M_impl._M_del()(_M_impl._M_ptr); }
1115: 
1115:       virtual void
1115:       _M_destroy() noexcept
1115:       {
1115:  __allocator_type __a(_M_impl._M_alloc());
1115:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1115:  this->~_Sp_counted_deleter();
1115:       }
1115: 
1115:       virtual void*
1115:       _M_get_deleter(const type_info& __ti [[__gnu__::__unused__]]) noexcept
1115:       {
1115: 
1115: 
1115: 
1115:         return __ti == typeid(_Deleter)
1115:    ? std::__addressof(_M_impl._M_del())
1115:    : nullptr;
1115: 
1115: 
1115: 
1115:       }
1115: 
1115:     private:
1115:       _Impl _M_impl;
1115:     };
1115: 
1115: 
1115: 
1115:   struct _Sp_make_shared_tag
1115:   {
1115:   private:
1115:     template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1115:       friend class _Sp_counted_ptr_inplace;
1115: 
1115:     static const type_info&
1115:     _S_ti() noexcept __attribute__ ((__visibility__ ("default")))
1115:     {
1115:       alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { };
1115:       return reinterpret_cast<const type_info&>(__tag);
1115:     }
1115: 
1115:     static bool _S_eq(const type_i1412:     : public unary_function<_Pair, typename _Pair::first_type>
1412:     {
1412:       typename _Pair::first_type&
1412:       operator()(_Pair& __x) const
1412:       { return __x.first; }
1412: 
1412:       const typename _Pair::first_type&
1412:       operator()(const _Pair& __x) const
1412:       { return __x.first; }
1412: 
1412: 
1412:       template<typename _Pair2>
1412:         typename _Pair2::first_type&
1412:         operator()(_Pair2& __x) const
1412:         { return __x.first; }
1412: 
1412:       template<typename _Pair2>
1412:         const typename _Pair2::first_type&
1412:         operator()(const _Pair2& __x) const
1412:         { return __x.first; }
1412: 
1412:     };
1412: 
1412:   template<typename _Pair>
1412:     struct _Select2nd
1412:     : public unary_function<_Pair, typename _Pair::second_type>
1412:     {
1412:       typename _Pair::second_type&
1412:       operator()(_Pair& __x) const
1412:       { return __x.second; }
1412: 
1412:       const typename _Pair::second_type&
1412:       operator()(const _Pair& __x) const
1412:       { return __x.second; }
1412:     };
1412: # 1231 "/usr/include/c++/12/bits/stl_function.h" 3
1412:   template<typename _Ret, typename _Tp>
1412:     class mem_fun_t : public unary_function<_Tp*, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       mem_fun_t(_Ret (_Tp::*__pf)())
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(_Tp* __p) const
1412:       { return (__p->*_M_f)(); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)();
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Ret, typename _Tp>
1412:     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(const _Tp* __p) const
1412:       { return (__p->*_M_f)(); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)() const;
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Ret, typename _Tp>
1412:     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       mem_fun_ref_t(_Ret (_Tp::*__pf)())
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(_Tp& __r) const
1412:       { return (__r.*_M_f)(); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)();
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Ret, typename _Tp>
1412:     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(const _Tp& __r) const
1412:       { return (__r.*_M_f)(); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)() const;
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(_Tp* __p, _Arg __x) const
1412:       { return (__p->*_M_f)(__x); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)(_Arg);
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(const _Tp* __p, _Arg __x) const
1412:       { return (__p->*_M_f)(__x); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)(_Arg) const;
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
14ntf64 (_Float64 __x) noexcept (true); extern _Float64 __rintf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float64 nextdownf64 (_Float64 __x) noexcept (true); extern _Float64 __nextdownf64 (_Float64 __x) noexcept (true);
609: 
609: extern _Float64 nextupf64 (_Float64 __x) noexcept (true); extern _Float64 __nextupf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 scalbnf64 (_Float64 __x, int __n) noexcept (true); extern _Float64 __scalbnf64 (_Float64 __x, int __n) noexcept (true);
609: 
609: 
609: 
609: extern int ilogbf64 (_Float64 __x) noexcept (true); extern int __ilogbf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long int llogbf64 (_Float64 __x) noexcept (true); extern long int __llogbf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float64 scalblnf64 (_Float64 __x, long int __n) noexcept (true); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 nearbyintf64 (_Float64 __x) noexcept (true); extern _Float64 __nearbyintf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern _Float64 truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int lrintf64 (_Float64 __x) noexcept (true); extern long int __lrintf64 (_Float64 __x) noexcept (true);
609: __extension__
609: extern long long int llrintf64 (_Float64 __x) noexcept (true); extern long long int __llrintf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: extern long int lroundf64 (_Float64 __x) noexcept (true); extern long int __lroundf64 (_Float64 __x) noexcept (true);
609: __extension__
609: extern long long int llroundf64 (_Float64 __x) noexcept (true); extern long long int __llroundf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: 
609: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float64 roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
609:                             ;
609: 
609: 
609: 
609: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf64 (_Float64 __nfo&) noexcept;
1115:   };
1115: 
1115:   template<typename _Alloc>
1115:     struct _Sp_alloc_shared_tag
1115:     {
1115:       const _Alloc& _M_a;
1115:     };
1115: 
1115:   template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1115:     class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp>
1115:     {
1115:       class _Impl : _Sp_ebo_helper<0, _Alloc>
1115:       {
1115:  typedef _Sp_ebo_helper<0, _Alloc> _A_base;
1115: 
1115:       public:
1115:  explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { }
1115: 
1115:  _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); }
1115: 
1115:  __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1115:       };
1115: 
1115:     public:
1115:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>;
1115: 
1115: 
1115:       template<typename... _Args>
1115:  _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
1115:  : _M_impl(__a)
1115:  {
1115: 
1115: 
1115:    allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1115:        std::forward<_Args>(__args)...);
1115:  }
1115: 
1115:       ~_Sp_counted_ptr_inplace() noexcept { }
1115: 
1115:       virtual void
1115:       _M_dispose() noexcept
1115:       {
1115:  allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
1115:       }
1115: 
1115: 
1115:       virtual void
1115:       _M_destroy() noexcept
1115:       {
1115:  __allocator_type __a(_M_impl._M_alloc());
1115:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1115:  this->~_Sp_counted_ptr_inplace();
1115:       }
1115: 
1115:     private:
1115:       friend class __shared_count<_Lp>;
1115: 
1115: 
1115: 
1115:       virtual void*
1115:       _M_get_deleter(const std::type_info& __ti) noexcept override
1115:       {
1115:  auto __ptr = const_cast<typename remove_cv<_Tp>::type*>(_M_ptr());
1115: 
1115: 
1115: 
1115: 
1115:  if (&__ti == &_Sp_make_shared_tag::_S_ti()
1115:      ||
1115: 
1115:      __ti == typeid(_Sp_make_shared_tag)
1115: 
1115: 
1115: 
1115:     )
1115:    return __ptr;
1115:  return nullptr;
1115:       }
1115: 
1115:       _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); }
1115: 
1115:       _Impl _M_impl;
1115:     };
1115: # 886 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115:   struct __sp_array_delete
1115:   {
1115:     template<typename _Yp>
1115:       void operator()(_Yp* __p) const { delete[] __p; }
1115:   };
1115: 
1115:   template<_Lock_policy _Lp>
1115:     class __shared_count
1115:     {
1115: 
1115:       template<typename _Tp>
1115:  struct __not_alloc_shared_tag { using type = void; };
1115: 
1115:       template<typename _Tp>
1115:  struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     public:
1115:       constexpr __shared_count() noexcept : _M_pi(0)
1115:       { }
1115: 
1115:       template<typename _Ptr>
1115:         explicit
1115:  __shared_count(_Ptr __p) : _M_pi(0)
1115:  {
1115:    try
1115:      {
1115:        _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
1115:      }
1115:    catch(...)
1115:      {
1115:        delete __p;
1115:        throw;
1115:      }
1115:  }
1115: 
1115:       template<typename _Ptr>
1115:  __shared_count(_Ptr __p, false_type)
1115:  : __shared_count(__p)
1115:  { }
1115: 
1115:       template<typename _Ptr>
1115:  __shared_count(_Ptr __p, true_type)
1115:  : __shared_count(__p, __sp_array_delete{}, allocator<void>())
1115:  { }
1115: 
1115:       template<typename _Ptr, typename _Deleter,
1115:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1115:  __shared_count(_Ptr __p, _Deleter __d)
1115:  : __shared_count(__p, std::move(__d), allocator<void>())
1115:  { }
1115: 
1115:       template<typename _Ptr, typename _Deleter, typename _Alloc,
1115:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1115:  __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
1115:  {
1115:    typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
1115:    try
1115:      {
1115:        typename _Sp_cd_type::__allocator_type __x, int __round, unsigned int __width) noexcept (true)
609:                               ;
609: 
609: 
609: 
609: 
609: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
609:                              ;
609: 
609: 
609: 
609: 
609: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
609:                                ;
609: 
609: 
609: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern _Float64 getpayloadf64 (const _Float64 *__x) noexcept (true); extern _Float64 __getpayloadf64 (const _Float64 *__x) noexcept (true);
609: 
609: 
609: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
609: 
609: 
609: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
609: # 468 "/usr/include/math.h" 2 3 4
609: # 501 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
609: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609:  extern _Float32x acosf32x (_Float32x __x) noexcept (true); extern _Float32x __acosf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x asinf32x (_Float32x __x) noexcept (true12:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(_Tp& __r, _Arg __x) const
1412:       { return (__r.*_M_f)(__x); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)(_Arg);
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1412:     {
1412:     public:
1412:       explicit
1412:       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
1412:       : _M_f(__pf) { }
1412: 
1412:       _Ret
1412:       operator()(const _Tp& __r, _Arg __x) const
1412:       { return (__r.*_M_f)(__x); }
1412: 
1412:     private:
1412:       _Ret (_Tp::*_M_f)(_Arg) const;
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412: 
1412:   template<typename _Ret, typename _Tp>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline mem_fun_t<_Ret, _Tp>
1412:     mem_fun(_Ret (_Tp::*__f)())
1412:     { return mem_fun_t<_Ret, _Tp>(__f); }
1412: 
1412:   template<typename _Ret, typename _Tp>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline const_mem_fun_t<_Ret, _Tp>
1412:     mem_fun(_Ret (_Tp::*__f)() const)
1412:     { return const_mem_fun_t<_Ret, _Tp>(__f); }
1412: 
1412:   template<typename _Ret, typename _Tp>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline mem_fun_ref_t<_Ret, _Tp>
1412:     mem_fun_ref(_Ret (_Tp::*__f)())
1412:     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
1412: 
1412:   template<typename _Ret, typename _Tp>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline const_mem_fun_ref_t<_Ret, _Tp>
1412:     mem_fun_ref(_Ret (_Tp::*__f)() const)
1412:     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
1412: 
1412:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline mem_fun1_t<_Ret, _Tp, _Arg>
1412:     mem_fun(_Ret (_Tp::*__f)(_Arg))
1412:     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1412: 
1412:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
1412:     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
1412:     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1412: 
1412:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
1412:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
1412:     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1412: 
1412:   template<typename _Ret, typename _Tp, typename _Arg>
1412:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1412:     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
1412:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
1412:     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Func, typename _SfinaeType, typename = __void_t<>>
1412:     struct __has_is_transparent
1412:     { };
1412: 
1412:   template<typename _Func, typename _SfinaeType>
1412:     struct __has_is_transparent<_Func, _SfinaeType,
1412:     __void_t<typename _Func::is_transparent>>
1412:     { typedef void type; };
1412: 
1412:   template<typename _Func, typename _SfinaeType>
1412:     using __has_is_transparent_t
1412:       = typename __has_is_transparent<_Func, _SfinaeType>::type;
1412: 
1412: 
1412: 
1412: }
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/backward/binders.h" 1 3
1412: # 60 "/usr/include/c++/12/backward/binders.h" 3
1412: #pragma GCC diagnostic push
1412: nonesuch const&) = delete;
1417:   };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Functor, typename... _ArgTypes>
1417:     struct invoke_result
1417:     : public __invoke_result<_Functor, _ArgTypes...>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}),
1417:  "_Functor must be a complete class or an unbounded array");
1417:       static_assert((std::__is_complete_or_unbounded(
1417:  __type_identity<_ArgTypes>{}) && ...),
1417:  "each argument type must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
1417: 
1417: 
1417:   template<typename _Fn, typename... _ArgTypes>
1417:     struct is_invocable
1417:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1417:  "_Fn must be a complete class or an unbounded array");
1417:       static_assert((std::__is_complete_or_unbounded(
1417:  __type_identity<_ArgTypes>{}) && ...),
1417:  "each argument type must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1417:     struct is_invocable_r
1417:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1417:  "_Fn must be a complete class or an unbounded array");
1417:       static_assert((std::__is_complete_or_unbounded(
1417:  __type_identity<_ArgTypes>{}) && ...),
1417:  "each argument type must be a complete class or an unbounded array");
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1417:  "_Ret must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Fn, typename... _ArgTypes>
1417:     struct is_nothrow_invocable
1417:     : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
1417:       __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1417:  "_Fn must be a complete class or an unbounded array");
1417:       static_assert((std::__is_complete_or_unbounded(
1417:  __type_identity<_ArgTypes>{}) && ...),
1417:  "each argument type must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Result, typename _Ret, typename = void>
1417:     struct __is_nt_invocable_impl : false_type { };
1417: 
1417:   template<typename _Result, typename _Ret>
1417:     struct __is_nt_invocable_impl<_Result, _Ret,
1417:       __void_t<typename _Result::type>>
1417:     : __or_<is_void<_Ret>,
1417:      __is_nothrow_convertible<typename _Result::type, _Ret>>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1417:     struct is_nothrow_invocable_r
1417:     : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
1417:              __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1417:  "_Fn must be a complete class or an unbounded array");
1417:       static_assert((std::__is_complete_or_unbounded(
1417:  __type_identity<_ArgTypes>{}) && ...),
1417:  "each argument type must be a complete class or an unbounded array");
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1417:  "_Ret must be a complete class or an unbounded array");
1417:     };
1417: # 3119 "/usr/include/c++/12/type_traits" 3
1417: template <typename _Tp>
1417:   inline constexpr bool is_void_v = is_void<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool isa2(__a);
1115:        auto __guard = std::__allocate_guarded(__a2);
1115:        _Sp_cd_type* __mem = __guard.get();
1115:        ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a));
1115:        _M_pi = __mem;
1115:        __guard = nullptr;
1115:      }
1115:    catch(...)
1115:      {
1115:        __d(__p);
1115:        throw;
1115:      }
1115:  }
1115: 
1115:       template<typename _Tp, typename _Alloc, typename... _Args>
1115:  __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a,
1115:          _Args&&... __args)
1115:  {
1115:    typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
1115:    typename _Sp_cp_type::__allocator_type __a2(__a._M_a);
1115:    auto __guard = std::__allocate_guarded(__a2);
1115:    _Sp_cp_type* __mem = __guard.get();
1115:    auto __pi = ::new (__mem)
1115:      _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
1115:    __guard = nullptr;
1115:    _M_pi = __pi;
1115:    __p = __pi->_M_ptr();
1115:  }
1115: # 1024 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115:       template<typename _Tp>
1115:         explicit
1115:  __shared_count(std::auto_ptr<_Tp>&& __r);
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115:       template<typename _Tp, typename _Del>
1115:         explicit
1115:  __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0)
1115:  {
1115: 
1115: 
1115:    if (__r.get() == nullptr)
1115:      return;
1115: 
1115:    using _Ptr = typename unique_ptr<_Tp, _Del>::pointer;
1115:    using _Del2 = __conditional_t<is_reference<_Del>::value,
1115:        reference_wrapper<typename remove_reference<_Del>::type>,
1115:        _Del>;
1115:    using _Sp_cd_type
1115:      = _Sp_counted_deleter<_Ptr, _Del2, allocator<void>, _Lp>;
1115:    using _Alloc = allocator<_Sp_cd_type>;
1115:    using _Alloc_traits = allocator_traits<_Alloc>;
1115:    _Alloc __a;
1115:    _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1);
1115: 
1115: 
1115: 
1115:    _Alloc_traits::construct(__a, __mem, __r.release(),
1115:        std::forward<_Del>(__r.get_deleter()));
1115:    _M_pi = __mem;
1115:  }
1115: 
1115: 
1115:       explicit __shared_count(const __weak_count<_Lp>& __r);
1115: 
1115: 
1115:       explicit
1115:       __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept;
1115: 
1115:       ~__shared_count() noexcept
1115:       {
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_release();
1115:       }
1115: 
1115:       __shared_count(const __shared_count& __r) noexcept
1115:       : _M_pi(__r._M_pi)
1115:       {
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_add_ref_copy();
1115:       }
1115: 
1115:       __shared_count&
1115:       operator=(const __shared_count& __r) noexcept
1115:       {
1115:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1115:  if (__tmp != _M_pi)
1115:    {
1115:      if (__tmp != nullptr)
1115:        __tmp->_M_add_ref_copy();
1115:      if (_M_pi != nullptr)
1115:        _M_pi->_M_release();
1115:      _M_pi = __tmp;
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       _M_swap(__shared_count& __r) noexcept
1115:       {
1115:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1115:  __r._M_pi = _M_pi;
1115:  _M_pi = __tmp;
1115:       }
1115: 
1115:       long
1115:       _M_get_use_count() const noexcept
1115:       { return _M_pi ? _M_pi->_M_get_use_count() : 0; }
1115: 
1115:       bool
1115:       _M_unique() const noexcept
1115:       { return this->_M_get_use_count() == 1; }
1115: 
1115:       void*
1115:       _M_get_deleter(const std::type_info& __ti) const noexcept
1115:       { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; }
1115: 
1115:       bool
1115:       _M_less(const __shared_count& __rhs) const noexcept
1115:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1115: 
1115:       bool
1115:       _M_less(const __weak_count<_Lp>& __rhs) const noexcept
1115:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi);_integral_v = is_integral<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_array_v = is_array<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_pointer_v = is_pointer<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_lvalue_reference_v =
1417:     is_lvalue_reference<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_rvalue_reference_v =
1417:     is_rvalue_reference<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_member_object_pointer_v =
1417:     is_member_object_pointer<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_member_function_pointer_v =
1417:     is_member_function_pointer<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_enum_v = is_enum<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_union_v = is_union<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_class_v = is_class<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_function_v = is_function<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_reference_v = is_reference<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_object_v = is_object<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_compound_v = is_compound<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_const_v = is_const<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_volatile_v = is_volatile<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivial_v = is_trivial<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivially_copyable_v =
1417:     is_trivially_copyable<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value;
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: template <typename _Tp>
1417:  
1417:   inline constexpr bool is_pod_v = is_pod<_Tp>::value;
1417: template <typename _Tp>
1417:   [[__deprecated__]]
1417:   inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value;
1417: #pragma GCC diagnostic pop
1417:  template <typename _Tp>
1417:   inline constexpr bool is_empty_v = is_empty<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_abstract_v = is_abstract<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_final_v = is_final<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_signed_v = is_signed<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
1417: template <typename _Tp, typename... _Args>
1417:   inline constexpr bool is_constructible_v =
1417:     is_constructible<_Tp, _Args...>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_default_constructible_v =
1417:     is_default_constructible<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_copy_constructible_v =
1417:     is_copy_constructible<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_move_constructible_v =
1417:     is_move_constructible<_Tp>::value;
1417: template <typename _Tp, typename _Up>
1417:   inlin#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 107 "/usr/include/c++/12/backward/binders.h" 3
1412:   template<typename _Operation>
1412:     class binder1st
1412:     : public unary_function<typename _Operation::second_argument_type,
1412:        typename _Operation::result_type>
1412:     {
1412:     protected:
1412:       _Operation op;
1412:       typename _Operation::first_argument_type value;
1412: 
1412:     public:
1412:       binder1st(const _Operation& __x,
1412:   const typename _Operation::first_argument_type& __y)
1412:       : op(__x), value(__y) { }
1412: 
1412:       typename _Operation::result_type
1412:       operator()(const typename _Operation::second_argument_type& __x) const
1412:       { return op(value, __x); }
1412: 
1412: 
1412: 
1412:       typename _Operation::result_type
1412:       operator()(typename _Operation::second_argument_type& __x) const
1412:       { return op(value, __x); }
1412:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1412: 
1412: 
1412:   template<typename _Operation, typename _Tp>
1412:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1412:     inline binder1st<_Operation>
1412:     bind1st(const _Operation& __fn, const _Tp& __x)
1412:     {
1412:       typedef typename _Operation::first_argument_type _Arg1_type;
1412:       return binder1st<_Operation>(__fn, _Arg1_type(__x));
1412:     }
1412: 
1412: 
1412:   template<typename _Operation>
1412:     class binder2nd
1412:     : public unary_function<typename _Operation::first_argument_type,
1412:        typename _Operation::result_type>
1412:     {
1412:     protected:
1412:       _Operation op;
1412:       typename _Operation::second_argument_type value;
1412: 
1412:     public:
1412:       binder2nd(const _Operation& __x,
1412:   const typename _Operation::second_argument_type& __y)
1412:       : op(__x), value(__y) { }
1412: 
1412:       typename _Operation::result_type
1412:       operator()(const typename _Operation::first_argument_type& __x) const
1412:       { return op(__x, value); }
1412: 
1412: 
1412: 
1412:       typename _Operation::result_type
1412:       operator()(typename _Operation::first_argument_type& __x) const
1412:       { return op(__x, value); }
1412:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1412: 
1412: 
1412:   template<typename _Operation, typename _Tp>
1412:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1412:     inline binder2nd<_Operation>
1412:     bind2nd(const _Operation& __fn, const _Tp& __x)
1412:     {
1412:       typedef typename _Operation::second_argument_type _Arg2_type;
1412:       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: 
1412: #pragma GCC diagnostic pop
1412: # 1439 "/usr/include/c++/12/bits/stl_function.h" 2 3
1412: # 66 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/ext/alloc_traits.h" 1 3
1412: # 32 "/usr/include/c++/12/ext/alloc_traits.h" 3
1412:        
1412: # 33 "/usr/include/c++/12/ext/alloc_traits.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/alloc_traits.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412: # 1 "/usr/include/c++/12/bits/stl_construct.h" 1 3
1412: # 73 "/usr/include/c++/12/bits/stl_construct.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template <typename _Tp>
1412:     inline void
1412:     destroy_at(_Tp* __location)
1412:     {
1412:       if constexpr (201703L > 201703L && is_array_v<_Tp>)
1412:  {
1412:    for (auto& __x : *__location)
1412:      std::destroy_at(std::__addressof(__x));
1412:  }
1412:       else
1412:  __location->~_Tp();
1412:     }
1412: # 106 "/usr/include/c++/12/bits/stl_construct.h" 3
1412:   template<typename _Tp, typename... _Args>
1412:    
1412:     inline void
1412:     _Construct(_Tp* __p, _Args&&... __args)
1412:     {
1412: # 119 "/usr/include/c+); extern _Float32x __asinf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x atanf32x (_Float32x __x) noexcept (true); extern _Float32x __atanf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) noexcept (true); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) noexcept (true);
609: 
609: 
609:  extern _Float32x cosf32x (_Float32x __x) noexcept (true); extern _Float32x __cosf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x sinf32x (_Float32x __x) noexcept (true); extern _Float32x __sinf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x tanf32x (_Float32x __x) noexcept (true); extern _Float32x __tanf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32x coshf32x (_Float32x __x) noexcept (true); extern _Float32x __coshf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x sinhf32x (_Float32x __x) noexcept (true); extern _Float32x __sinhf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x tanhf32x (_Float32x __x) noexcept (true); extern _Float32x __tanhf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609:  extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true)
609:                                                         ;
609: 
609: 
609: 
609: 
609:  extern _Float32x acoshf32x (_Float32x __x) noexcept (true); extern _Float32x __acoshf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x asinhf32x (_Float32x __x) noexcept (true); extern _Float32x __asinhf32x (_Float32x __x) noexcept (true);
609: 
609:  extern _Float32x atanhf32x (_Float32x __x) noexcept (true); extern _Float32x __atanhf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern _Float32x expf32x (_Float32x __x) noexcept (true); extern _Float32x __expf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) noexcept (true); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) noexcept (true);
609: 
609: 
609: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) noexcept (true); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) noexcept (true);
609: 
609: 
609:  extern _Float32x logf32x (_Float32x __x) noexcept (true); extern _Float32x __logf32x (_Float32x __x) noexcept (true);
609: 
609: 
609:  extern _Float32x log10f32x (_Float32x __x) noexcept (true); extern _Float32x __log10f32x (_Float32x __x) noexcept (true);
609: 
609: 
609: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609:  extern _Float32x exp10f32x (_Float32x __x) noexcept (true); extern _Float32x __exp10f32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32x expm1f32x (_Float32x __x) noexcept (true); extern _Float32x __expm1f32x (_Float32x __x) noexcept (true);
609: 
609: 
609:  extern _Float32x log1pf32x (_Float32x __x) noexcept (true); extern _Float32x __log1pf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: extern _Float32x logbf32x (_Float32x __x) noexcept (true); extern _Float32x __logbf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32x exp2f32x (_Float32x __x) noexcept (true); extern _Float32x __exp2f32x (_Float32x __x) noexcept (true);
609: 
609: 
609:  extern _Float32x log2f32x (_Float32x __x) noexcept (true); extern _Float32x __log2f32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609:  extern _Float32x powf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: extern _Float32x sqrtf32x (_Float32x __x) noexcept (true); extern _Float32x __sqrtf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609:  extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: 
609: 
609:  extern _Float32x cbrtf32x (_Float32x __x) noexcept (true); extern _Float32x __cbrtf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32x ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float32x nanf32x (const char *__tagb) noexcept (true); extern _Float32x __nanf32x (const char *__tagb) noexcept (true);
609: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float32x j0f32x (_Float32x) noexcept (true); extern _Float32x __j0f32x (_Float32x) noexcept (true);
609: extern _Float32x j1f32x (_Float32x) noexcept (true); extern _Float32x __j1f32x (_Float32x) noexcept (true);
609: extern _Float32x jnf32x (int, _Float32x) noexcept (true); extern _Float32x __jnf32x (int, _Float32x) noexcept (true);
609: extern _Float32x y0f32x (_Float32x) noexcept (true); extern _Float32x __y0f32x (_Float32x) noexcept (true);
609: extern _Float32x y1f32x (_Float32x) noexcept (true); extern _Float32x __y1f32x (_Float32x) noexcept (true);
609: extern _Float32x ynf32x (int, _Float32x) noexcept (true); extern _Float32x __ynf32x (int, _Float32x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609:  extern _Float32x erff32x (_Float32x) noexcept (true); extern _Float32x __erff32x (_Float32x) noexcept (true);
609:  extern _Float32x erfcf32x (_Float32x) noexcept (true); extern _Float32x __erfcf32x (_Float32x) noexcept (true);
609: extern _Float32x lgammaf32x (_Float32x) noexcept (true); extern _Float32x __lgammaf32x (_Float32x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float32x tgammaf32x (_Float32x) noexcept (true); extern _Float32x __tgammaf32x (_Float32x) noexcept (true);
609: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
609: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32x rintf32x (_Float32x __x) noexcept (true); extern _Float32x __rintf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32x nextdownf32x (_Float32x __x) noexcept (true); extern _Float32x __nextdownf32x (_Float32x __x) noexcept (true);
609: 
609: extern _Float32x nextupf32x (_Float32x __x) noexcept (true); extern _Float32x __nextupf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: 
609: extern _Float32x scalbnf32x (_Float32x __x, int __n) noexcept (true); extern _Float32x __scalbnf32x (_Float32x __x, int __n) noexcept (true);
609: 
609: 
609: 
609: extern int ilogbf32x (_Float32x __x) noexcept (true); extern int __ilogbf32x ( }
1115: 
1115: 
1115:       friend inline bool
1115:       operator==(const __shared_count& __a, const __shared_count& __b) noexcept
1115:       { return __a._M_pi == __b._M_pi; }
1115: 
1115:     private:
1115:       friend class __weak_count<_Lp>;
1115: 
1115: 
1115: 
1115: 
1115:       _Sp_counted_base<_Lp>* _M_pi;
1115:     };
1115: 
1115: 
1115:   template<_Lock_policy _Lp>
1115:     class __weak_count
1115:     {
1115:     public:
1115:       constexpr __weak_count() noexcept : _M_pi(nullptr)
1115:       { }
1115: 
1115:       __weak_count(const __shared_count<_Lp>& __r) noexcept
1115:       : _M_pi(__r._M_pi)
1115:       {
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_weak_add_ref();
1115:       }
1115: 
1115:       __weak_count(const __weak_count& __r) noexcept
1115:       : _M_pi(__r._M_pi)
1115:       {
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_weak_add_ref();
1115:       }
1115: 
1115:       __weak_count(__weak_count&& __r) noexcept
1115:       : _M_pi(__r._M_pi)
1115:       { __r._M_pi = nullptr; }
1115: 
1115:       ~__weak_count() noexcept
1115:       {
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_weak_release();
1115:       }
1115: 
1115:       __weak_count&
1115:       operator=(const __shared_count<_Lp>& __r) noexcept
1115:       {
1115:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1115:  if (__tmp != nullptr)
1115:    __tmp->_M_weak_add_ref();
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_weak_release();
1115:  _M_pi = __tmp;
1115:  return *this;
1115:       }
1115: 
1115:       __weak_count&
1115:       operator=(const __weak_count& __r) noexcept
1115:       {
1115:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1115:  if (__tmp != nullptr)
1115:    __tmp->_M_weak_add_ref();
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_weak_release();
1115:  _M_pi = __tmp;
1115:  return *this;
1115:       }
1115: 
1115:       __weak_count&
1115:       operator=(__weak_count&& __r) noexcept
1115:       {
1115:  if (_M_pi != nullptr)
1115:    _M_pi->_M_weak_release();
1115:  _M_pi = __r._M_pi;
1115:         __r._M_pi = nullptr;
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       _M_swap(__weak_count& __r) noexcept
1115:       {
1115:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1115:  __r._M_pi = _M_pi;
1115:  _M_pi = __tmp;
1115:       }
1115: 
1115:       long
1115:       _M_get_use_count() const noexcept
1115:       { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; }
1115: 
1115:       bool
1115:       _M_less(const __weak_count& __rhs) const noexcept
1115:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1115: 
1115:       bool
1115:       _M_less(const __shared_count<_Lp>& __rhs) const noexcept
1115:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1115: 
1115: 
1115:       friend inline bool
1115:       operator==(const __weak_count& __a, const __weak_count& __b) noexcept
1115:       { return __a._M_pi == __b._M_pi; }
1115: 
1115:     private:
1115:       friend class __shared_count<_Lp>;
1115: 
1115: 
1115: 
1115: 
1115:       _Sp_counted_base<_Lp>* _M_pi;
1115:     };
1115: 
1115: 
1115:   template<_Lock_policy _Lp>
1115:     inline
1115:     __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r)
1115:     : _M_pi(__r._M_pi)
1115:     {
1115:       if (_M_pi == nullptr || !_M_pi->_M_add_ref_lock_nothrow())
1115:  __throw_bad_weak_ptr();
1115:     }
1115: 
1115: 
1115:   template<_Lock_policy _Lp>
1115:     inline
1115:     __shared_count<_Lp>::
1115:     __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept
1115:     : _M_pi(__r._M_pi)
1115:     {
1115:       if (_M_pi && !_M_pi->_M_add_ref_lock_nothrow())
1115:  _M_pi = nullptr;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Yp_ptr, typename _Tp_ptr>
1115:     struct __sp_compatible_with
1115:     : false_type
1115:     { };
1115: 
1115:   template<typename _Yp, typename _Tp>
1115:     struct __sp_compatible_with<_Yp*, _Tp*>
1115:     : is_convertible<_Yp*, _Tp*>::type
1115:     { };
1115: 
1115:   template<type+/12/bits/stl_construct.h" 3
1412:       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1412:     }
1412: # 132 "/usr/include/c++/12/bits/stl_construct.h" 3
1412:   template<typename _T1>
1412:     inline void
1412:     _Construct_novalue(_T1* __p)
1412:     { ::new((void*)__p) _T1; }
1412: 
1412:   template<typename _ForwardIterator>
1412:     void
1412:     _Destroy(_ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr inline void
1412:     _Destroy(_Tp* __pointer)
1412:     {
1412: 
1412: 
1412: 
1412:       __pointer->~_Tp();
1412: 
1412:     }
1412: 
1412:   template<bool>
1412:     struct _Destroy_aux
1412:     {
1412:       template<typename _ForwardIterator>
1412:  static void
1412:  __destroy(_ForwardIterator __first, _ForwardIterator __last)
1412:  {
1412:    for (; __first != __last; ++__first)
1412:      std::_Destroy(std::__addressof(*__first));
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct _Destroy_aux<true>
1412:     {
1412:       template<typename _ForwardIterator>
1412:         static void
1412:         __destroy(_ForwardIterator, _ForwardIterator) { }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator>
1412:     inline void
1412:     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:                        _Value_type;
1412: 
1412: 
1412:       static_assert(is_destructible<_Value_type>::value,
1412:       "value type is destructible");
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
1412:  __destroy(__first, __last);
1412:     }
1412: 
1412:   template<bool>
1412:     struct _Destroy_n_aux
1412:     {
1412:       template<typename _ForwardIterator, typename _Size>
1412:  static _ForwardIterator
1412:  __destroy_n(_ForwardIterator __first, _Size __count)
1412:  {
1412:    for (; __count > 0; (void)++__first, --__count)
1412:      std::_Destroy(std::__addressof(*__first));
1412:    return __first;
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct _Destroy_n_aux<true>
1412:     {
1412:       template<typename _ForwardIterator, typename _Size>
1412:         static _ForwardIterator
1412:         __destroy_n(_ForwardIterator __first, _Size __count)
1412:  {
1412:    std::advance(__first, __count);
1412:    return __first;
1412:  }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Size>
1412:     inline _ForwardIterator
1412:     _Destroy_n(_ForwardIterator __first, _Size __count)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:                        _Value_type;
1412: 
1412: 
1412:       static_assert(is_destructible<_Value_type>::value,
1412:       "value type is destructible");
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>::
1412:  __destroy_n(__first, __count);
1412:     }
1412: 
1412: 
1412:   template <typename _ForwardIterator>
1412:     inline void
1412:     destroy(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412:       std::_Destroy(__first, __last);
1412:     }
1412: 
1412:   template <typename _ForwardIterator, typename _Size>
1412:     inline _ForwardIterator
1412:     destroy_n(_ForwardIterator __first, _Size __count)
1412:     {
1412:       return std::_Destroy_n(__first, __count);
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: # 34 "/usr/include/c++/12/bits/alloc_traits.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   struct __allocator_traits_base
1412:   {
1412:     template<typename _Tp, typename _Up, typename = void>
1412:       struct __rebind : __replace_first_arg<_Tp, _Up> { };
1412: 
1412:     template<typename _Tp, typename _Up>
1412:       struct __r_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern long int llogbf32x (_Float32x __x) noexcept (true); extern long int __llogbf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float32x scalblnf32x (_Float32x __x, long int __n) noexcept (true); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) noexcept (true);
609: 
609: 
609: 
609: extern _Float32x nearbyintf32x (_Float32x __x) noexcept (true); extern _Float32x __nearbyintf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float32x roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern _Float32x truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern long int lrintf32x (_Float32x __x) noexcept (true); extern long int __lrintf32x (_Float32x __x) noexcept (true);
609: __extension__
609: extern long long int llrintf32x (_Float32x __x) noexcept (true); extern long long int __llrintf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: extern long int lroundf32x (_Float32x __x) noexcept (true); extern long int __lroundf32x (_Float32x __x) noexcept (true);
609: __extension__
609: extern long long int llroundf32x (_Float32x __x) noexcept (true); extern long long int __llroundf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: 
609: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: 
609: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
609: 
609: 
609: 
609: 
609: extern _Float32x roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
609:                             ;
609: 
609: 
609: 
609: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
609:                               ;
609: 
609: 
609: 
609: 
609: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
609:                              ;
609: 
609: 
609: 
609: 
609: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
609:                                ;
609: 
609: 
609: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: 
609: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __name _Up, size_t _Nm>
1115:     struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]>
1115:     : true_type
1115:     { };
1115: 
1115:   template<typename _Up, size_t _Nm>
1115:     struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]>
1115:     : true_type
1115:     { };
1115: 
1115:   template<typename _Up, size_t _Nm>
1115:     struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]>
1115:     : true_type
1115:     { };
1115: 
1115:   template<typename _Up, size_t _Nm>
1115:     struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]>
1115:     : true_type
1115:     { };
1115: 
1115: 
1115:   template<typename _Up, size_t _Nm, typename _Yp, typename = void>
1115:     struct __sp_is_constructible_arrN
1115:     : false_type
1115:     { };
1115: 
1115:   template<typename _Up, size_t _Nm, typename _Yp>
1115:     struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>>
1115:     : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Up, typename _Yp, typename = void>
1115:     struct __sp_is_constructible_arr
1115:     : false_type
1115:     { };
1115: 
1115:   template<typename _Up, typename _Yp>
1115:     struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>>
1115:     : is_convertible<_Yp(*)[], _Up(*)[]>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp, typename _Yp>
1115:     struct __sp_is_constructible;
1115: 
1115: 
1115:   template<typename _Up, size_t _Nm, typename _Yp>
1115:     struct __sp_is_constructible<_Up[_Nm], _Yp>
1115:     : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Up, typename _Yp>
1115:     struct __sp_is_constructible<_Up[], _Yp>
1115:     : __sp_is_constructible_arr<_Up, _Yp>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp, typename _Yp>
1115:     struct __sp_is_constructible
1115:     : is_convertible<_Yp*, _Tp*>::type
1115:     { };
1115: 
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp,
1115:     bool = is_array<_Tp>::value, bool = is_void<_Tp>::value>
1115:     class __shared_ptr_access
1115:     {
1115:     public:
1115:       using element_type = _Tp;
1115: 
1115:       element_type&
1115:       operator*() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1115:  return *_M_get();
1115:       }
1115: 
1115:       element_type*
1115:       operator->() const noexcept
1115:       {
1115:  ;
1115:  return _M_get();
1115:       }
1115: 
1115:     private:
1115:       element_type*
1115:       _M_get() const noexcept
1115:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     class __shared_ptr_access<_Tp, _Lp, false, true>
1115:     {
1115:     public:
1115:       using element_type = _Tp;
1115: 
1115:       element_type*
1115:       operator->() const noexcept
1115:       {
1115:  auto __ptr = static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get();
1115:  ;
1115:  return __ptr;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     class __shared_ptr_access<_Tp, _Lp, true, false>
1115:     {
1115:     public:
1115:       using element_type = typename remove_extent<_Tp>::type;
1115: # 1407 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115:       element_type&
1115:       operator[](ptrdiff_t __i) const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(!extent<_Tp>::value || __i < extent<_Tp>::value)) __builtin_unreachable(); } while (false);
1115:  return _M_get()[__i];
1115:       }
1115: 
1115:     private:
1115:       element_type*
1115:       _M_get() const noexcept
1115:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1115:     };
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
609: 
609:      __attribute__ ((__pure__));
609: 
609: 
609: extern _Float32x getpayloadf32x (const _Float32x *__x) noexcept (true); extern _Float32x __getpayloadf32x (const _Float32x *__x) noexcept (true);
609: 
609: 
609: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
609: 
609: 
609: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
609: # 502 "/usr/include/math.h" 2 3 4
609: # 566 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
609: extern float fadd (double __x, double __y) noexcept (true);
609: 
609: 
609: extern float fdiv (double __x, double __y) noexcept (true);
609: 
609: 
609: extern float ffma (double __x, double __y, double __z) noexcept (true);
609: 
609: 
609: extern float fmul (double __x, double __y) noexcept (true);
609: 
609: 
609: extern float fsqrt (double __x) noexcept (true);
609: 
609: 
609: extern float fsub (double __x, double __y) noexcept (true);
609: # 567 "/usr/include/math.h" 2 3 4
609: # 587 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
609: extern float faddl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern float fdivl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern float ffmal (long double __x, long double __y, long double __z) noexcept (true);
609: 
609: 
609: extern float fmull (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern float fsqrtl (long double __x) noexcept (true);
609: 
609: 
609: extern float fsubl (long double __x, long double __y) noexcept (true);
609: # 588 "/usr/include/math.h" 2 3 4
609: # 616 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
609: extern double daddl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern double ddivl (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern double dfmal (long double __x, long double __y, long double __z) noexcept (true);
609: 
609: 
609: extern double dmull (long double __x, long double __y) noexcept (true);
609: 
609: 
609: extern double dsqrtl (long double __x) noexcept (true);
609: 
609: 
609: extern double dsubl (long double __x, long double __y) noexcept (true);
609: # 617 "/usr/include/math.h" 2 3 4
609: # 697 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
609: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: extern _Float32 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
609: 
609: 
609: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: 
609: 
609: extern _Float32 f32sqrtf32x (_Float32x __x) noexcept (true);
609: 
609: 
609: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) noexcept (true);
609: # 698 "/usr/include/math.h" 2 3 4
609: # 707 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
609: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: extern _Float32 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
609: 
609: 
609: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: extern _Float32 f32sqrtf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: # 708 "/usr/include/math.h" 2 3 4
609: # 747 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
609: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
609: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: extern _Float32x f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
609: 
609: 
609: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: 
609: 
609: extern _Float32x f32xsqrtf64 (_Float64 __x) noexcept (true);
609: 
609: 
609: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) noexcept (true);
609: # 748 "/usr/include/math.h" 2 3 4
609: # 854 "/usr/include/math.h" 3 4
609: extern int signgam;
609: # 934 "/usr/include/math.h" 3 4
609: enum
609:   {
609:     FP_NAN =
609: 
609:       0,
609:     FP_INFINITE =
609: 
609:       1,
609:     FP_ZERO =
609: 
609:       2,
609:     FP_SUBNORMAL =
609: 
609:       3,
609:     FP_NORMAL =
609: 
609:       4
609:   };
609: # 1054 "/usr/include/math.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/iscanonical.h" 1 3 4
609: # 1055 "/usr/include/math.h" 2 3 4
609: # 1066 "/usr/include/math.h" 3 4
609: extern "C++" {
609: inline int issignaling (float __val) { return __issignalingf (__val); }
609: inline int issignaling (double __val) { return __issignaling (__val); }
609: inline int
609: issignaling (long double __val)
609: {
609: 
609:   return __issignaling (__val);
609: 
609: 
609: ebind<_Tp, _Up,
1412:         __void_t<typename _Tp::template rebind<_Up>::other>>
1412:       { using type = typename _Tp::template rebind<_Up>::other; };
1412: 
1412:   protected:
1412:     template<typename _Tp>
1412:       using __pointer = typename _Tp::pointer;
1412:     template<typename _Tp>
1412:       using __c_pointer = typename _Tp::const_pointer;
1412:     template<typename _Tp>
1412:       using __v_pointer = typename _Tp::void_pointer;
1412:     template<typename _Tp>
1412:       using __cv_pointer = typename _Tp::const_void_pointer;
1412:     template<typename _Tp>
1412:       using __pocca = typename _Tp::propagate_on_container_copy_assignment;
1412:     template<typename _Tp>
1412:       using __pocma = typename _Tp::propagate_on_container_move_assignment;
1412:     template<typename _Tp>
1412:       using __pocs = typename _Tp::propagate_on_container_swap;
1412:     template<typename _Tp>
1412:       using __equal = typename _Tp::is_always_equal;
1412:   };
1412: 
1412:   template<typename _Alloc, typename _Up>
1412:     using __alloc_rebind
1412:       = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
1412: # 89 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:   template<typename _Alloc>
1412:     struct allocator_traits : __allocator_traits_base
1412:     {
1412: 
1412:       typedef _Alloc allocator_type;
1412: 
1412:       typedef typename _Alloc::value_type value_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
1412: 
1412:     private:
1412: 
1412:       template<template<typename> class _Func, typename _Tp, typename = void>
1412:  struct _Ptr
1412:  {
1412:    using type = typename pointer_traits<pointer>::template rebind<_Tp>;
1412:  };
1412: 
1412:       template<template<typename> class _Func, typename _Tp>
1412:  struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
1412:  {
1412:    using type = _Func<_Alloc>;
1412:  };
1412: 
1412: 
1412:       template<typename _A2, typename _PtrT, typename = void>
1412:  struct _Diff
1412:  { using type = typename pointer_traits<_PtrT>::difference_type; };
1412: 
1412:       template<typename _A2, typename _PtrT>
1412:  struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
1412:  { using type = typename _A2::difference_type; };
1412: 
1412: 
1412:       template<typename _A2, typename _DiffT, typename = void>
1412:  struct _Size : make_unsigned<_DiffT> { };
1412: 
1412:       template<typename _A2, typename _DiffT>
1412:  struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
1412:  { using type = typename _A2::size_type; };
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using void_pointer = typename _Ptr<__v_pointer, void>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using difference_type = typename _Diff<_Alloc, pointer>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using size_type = typename _Size<_Alloc, difference_type>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using propagate_on_container_copy_assignment
1412:  = __detected_or_t<false_type, __pocca, _Alloc>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using propagate_on_container_move_assignment
1412:  = __detected_or_t<false_type, __pocma, _Alloc>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using propagate_on_container_swap
1412:  = __detected_or_t<false_type, __pocs, _Alloc>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using is_always_equal
1412:  = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>;
1412: 
1412:       template<typename _Tp>
1412:  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
1412:       template<typename _Tp>
1412:  using rebind_t
609: }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 1097 "/usr/include/math.h" 3 4
609: extern "C++" {
609: # 1128 "/usr/include/math.h" 3 4
609: template <class __T> inline bool
609: iszero (__T __val)
609: {
609:   return __val == 0;
609: }
609: 
609: }
609: # 1363 "/usr/include/math.h" 3 4
609: extern "C++" {
609: template<typename> struct __iseqsig_type;
609: 
609: template<> struct __iseqsig_type<float>
609: {
609:   static int __call (float __x, float __y) throw ()
609:   {
609:     return __iseqsigf (__x, __y);
609:   }
609: };
609: 
609: template<> struct __iseqsig_type<double>
609: {
609:   static int __call (double __x, double __y) throw ()
609:   {
609:     return __iseqsig (__x, __y);
609:   }
609: };
609: 
609: template<> struct __iseqsig_type<long double>
609: {
609:   static int __call (long double __x, long double __y) throw ()
609:   {
609: 
609: 
609: 
609:     return __iseqsig (__x, __y);
609: 
609:   }
609: };
609: # 1406 "/usr/include/math.h" 3 4
609: template<typename _T1, typename _T2>
609: inline int
609: iseqsig (_T1 __x, _T2 __y) throw ()
609: {
609: 
609:   typedef decltype (((__x) + (__y) + 0.0f)) _T3;
609: 
609: 
609: 
609:   return __iseqsig_type<_T3>::__call (__x, __y);
609: }
609: 
609: }
609: 
609: 
609: 
609: 
609: }
609: # 46 "/usr/include/c++/12/cmath" 2 3
609: # 77 "/usr/include/c++/12/cmath" 3
609: extern "C++"
609: {
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   using ::acos;
609: 
609: 
609:   inline constexpr float
609:   acos(float __x)
609:   { return __builtin_acosf(__x); }
609: 
609:   inline constexpr long double
609:   acos(long double __x)
609:   { return __builtin_acosl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     acos(_Tp __x)
609:     { return __builtin_acos(__x); }
609: 
609:   using ::asin;
609: 
609: 
609:   inline constexpr float
609:   asin(float __x)
609:   { return __builtin_asinf(__x); }
609: 
609:   inline constexpr long double
609:   asin(long double __x)
609:   { return __builtin_asinl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     asin(_Tp __x)
609:     { return __builtin_asin(__x); }
609: 
609:   using ::atan;
609: 
609: 
609:   inline constexpr float
609:   atan(float __x)
609:   { return __builtin_atanf(__x); }
609: 
609:   inline constexpr long double
609:   atan(long double __x)
609:   { return __builtin_atanl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     atan(_Tp __x)
609:     { return __builtin_atan(__x); }
609: 
609:   using ::atan2;
609: 
609: 
609:   inline constexpr float
609:   atan2(float __y, float __x)
609:   { return __builtin_atan2f(__y, __x); }
609: 
609:   inline constexpr long double
609:   atan2(long double __y, long double __x)
609:   { return __builtin_atan2l(__y, __x); }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline constexpr
609:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     atan2(_Tp __y, _Up __x)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return atan2(__type(__y), __type(__x));
609:     }
609: 
609:   using ::ceil;
609: 
609: 
609:   inline constexpr float
609:   ceil(float __x)
609:   { return __builtin_ceilf(__x); }
609: 
609:   inline constexpr long double
609:   ceil(long double __x)
609:   { return __builtin_ceill(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     ceil(_Tp __x)
609:     { return __builtin_ceil(__x); }
609: 
609:   using ::cos;
6
1115:     class __shared_ptr
1115:     : public __shared_ptr_access<_Tp, _Lp>
1115:     {
1115:     public:
1115:       using element_type = typename remove_extent<_Tp>::type;
1115: 
1115:     private:
1115: 
1115:       template<typename _Yp>
1115:  using _SafeConv
1115:    = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type;
1115: 
1115: 
1115:       template<typename _Yp, typename _Res = void>
1115:  using _Compatible = typename
1115:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1115: 
1115: 
1115:       template<typename _Yp>
1115:  using _Assignable = _Compatible<_Yp, __shared_ptr&>;
1115: 
1115: 
1115:       template<typename _Yp, typename _Del, typename _Res = void,
1115:         typename _Ptr = typename unique_ptr<_Yp, _Del>::pointer>
1115:  using _UniqCompatible = __enable_if_t<__and_<
1115:    __sp_compatible_with<_Yp*, _Tp*>,
1115:    is_convertible<_Ptr, element_type*>,
1115:    is_move_constructible<_Del>
1115:    >::value, _Res>;
1115: 
1115: 
1115:       template<typename _Yp, typename _Del>
1115:  using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>;
1115: 
1115:     public:
1115: 
1115: 
1115:       using weak_type = __weak_ptr<_Tp, _Lp>;
1115: 
1115: 
1115:       constexpr __shared_ptr() noexcept
1115:       : _M_ptr(0), _M_refcount()
1115:       { }
1115: 
1115:       template<typename _Yp, typename = _SafeConv<_Yp>>
1115:  explicit
1115:  __shared_ptr(_Yp* __p)
1115:  : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
1115:  {
1115:    static_assert( !is_void<_Yp>::value, "incomplete type" );
1115:    static_assert( sizeof(_Yp) > 0, "incomplete type" );
1115:    _M_enable_shared_from_this_with(__p);
1115:  }
1115: 
1115:       template<typename _Yp, typename _Deleter, typename = _SafeConv<_Yp>>
1115:  __shared_ptr(_Yp* __p, _Deleter __d)
1115:  : _M_ptr(__p), _M_refcount(__p, std::move(__d))
1115:  {
1115:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1115:        "deleter expression d(p) is well-formed");
1115:    _M_enable_shared_from_this_with(__p);
1115:  }
1115: 
1115:       template<typename _Yp, typename _Deleter, typename _Alloc,
1115:         typename = _SafeConv<_Yp>>
1115:  __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1115:  : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a))
1115:  {
1115:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1115:        "deleter expression d(p) is well-formed");
1115:    _M_enable_shared_from_this_with(__p);
1115:  }
1115: 
1115:       template<typename _Deleter>
1115:  __shared_ptr(nullptr_t __p, _Deleter __d)
1115:  : _M_ptr(0), _M_refcount(__p, std::move(__d))
1115:  { }
1115: 
1115:       template<typename _Deleter, typename _Alloc>
1115:         __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1115:  : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a))
1115:  { }
1115: 
1115: 
1115:       template<typename _Yp>
1115:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r,
1115:        element_type* __p) noexcept
1115:  : _M_ptr(__p), _M_refcount(__r._M_refcount)
1115:  { }
1115: 
1115: 
1115:       template<typename _Yp>
1115:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r,
1115:        element_type* __p) noexcept
1115:  : _M_ptr(__p), _M_refcount()
1115:  {
1115:    _M_refcount._M_swap(__r._M_refcount);
1115:    __r._M_ptr = nullptr;
1115:  }
1115: 
1115:       __shared_ptr(const __shared_ptr&) noexcept = default;
1115:       __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
1115:       ~__shared_ptr() = default;
1115: 
1115:       template<typename _Yp, typename = _Compatible<_Yp>>
1115:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1115:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1115:  { }
1115: 
1115:       __shared_ptr(__shared_ptr&& __r) noexcept
1115:       : _M_ptr(__r._M_ptr), _M_refcount()
1115:       {
1115:  _M_refcount._M_swap(__r._M_refcount);
1115:  __r._M_ptr = nullptr;
1115:       }
1115: 
1115:       template<typename _Yp, typename = _Compatible<_Yp>>
1115:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __09: 
609: 
609:   inline constexpr float
609:   cos(float __x)
609:   { return __builtin_cosf(__x); }
609: 
609:   inline constexpr long double
609:   cos(long double __x)
609:   { return __builtin_cosl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     cos(_Tp __x)
609:     { return __builtin_cos(__x); }
609: 
609:   using ::cosh;
609: 
609: 
609:   inline constexpr float
609:   cosh(float __x)
609:   { return __builtin_coshf(__x); }
609: 
609:   inline constexpr long double
609:   cosh(long double __x)
609:   { return __builtin_coshl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     cosh(_Tp __x)
609:     { return __builtin_cosh(__x); }
609: 
609:   using ::exp;
609: 
609: 
609:   inline constexpr float
609:   exp(float __x)
609:   { return __builtin_expf(__x); }
609: 
609:   inline constexpr long double
609:   exp(long double __x)
609:   { return __builtin_expl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     exp(_Tp __x)
609:     { return __builtin_exp(__x); }
609: 
609:   using ::fabs;
609: 
609: 
609:   inline constexpr float
609:   fabs(float __x)
609:   { return __builtin_fabsf(__x); }
609: 
609:   inline constexpr long double
609:   fabs(long double __x)
609:   { return __builtin_fabsl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     fabs(_Tp __x)
609:     { return __builtin_fabs(__x); }
609: 
609:   using ::floor;
609: 
609: 
609:   inline constexpr float
609:   floor(float __x)
609:   { return __builtin_floorf(__x); }
609: 
609:   inline constexpr long double
609:   floor(long double __x)
609:   { return __builtin_floorl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     floor(_Tp __x)
609:     { return __builtin_floor(__x); }
609: 
609:   using ::fmod;
609: 
609: 
609:   inline constexpr float
609:   fmod(float __x, float __y)
609:   { return __builtin_fmodf(__x, __y); }
609: 
609:   inline constexpr long double
609:   fmod(long double __x, long double __y)
609:   { return __builtin_fmodl(__x, __y); }
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline constexpr
609:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     fmod(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return fmod(__type(__x), __type(__y));
609:     }
609: 
609:   using ::frexp;
609: 
609: 
609:   inline float
609:   frexp(float __x, int* __exp)
609:   { return __builtin_frexpf(__x, __exp); }
609: 
609:   inline long double
609:   frexp(long double __x, int* __exp)
609:   { return __builtin_frexpl(__x, __exp); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     frexp(_Tp __x, int* __exp)
609:     { return __builtin_frexp(__x, __exp); }
609: 
609:   using ::ldexp;
609: 
609: 
609:   inline constexpr float
609:   ldexp(float __x, int __exp)
609:   { return __builtin_ldexpf(__x, __exp); }
609: 
609:   inline constexpr long double
609:   ldexp(long double __x, int __exp)
609:   { return __builtin_ldexpl(__x, __exp); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__typeraits = allocator_traits<rebind_alloc<_Tp>>;
1412: 
1412:     private:
1412:       template<typename _Alloc2>
1412:  static constexpr auto
1412:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int)
1412:  -> decltype(__a.allocate(__n, __hint))
1412:  { return __a.allocate(__n, __hint); }
1412: 
1412:       template<typename _Alloc2>
1412:  static constexpr pointer
1412:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...)
1412:  { return __a.allocate(__n); }
1412: 
1412:       template<typename _Tp, typename... _Args>
1412:  struct __construct_helper
1412:  {
1412:    template<typename _Alloc2,
1412:      typename = decltype(std::declval<_Alloc2*>()->construct(
1412:     std::declval<_Tp*>(), std::declval<_Args>()...))>
1412:      static true_type __test(int);
1412: 
1412:    template<typename>
1412:      static false_type __test(...);
1412: 
1412:    using type = decltype(__test<_Alloc>(0));
1412:  };
1412: 
1412:       template<typename _Tp, typename... _Args>
1412:  using __has_construct
1412:    = typename __construct_helper<_Tp, _Args...>::type;
1412: 
1412:       template<typename _Tp, typename... _Args>
1412:  static constexpr _Require<__has_construct<_Tp, _Args...>>
1412:  _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1412:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
1412:  { __a.construct(__p, std::forward<_Args>(__args)...); }
1412: 
1412:       template<typename _Tp, typename... _Args>
1412:  static constexpr
1412:  _Require<__and_<__not_<__has_construct<_Tp, _Args...>>,
1412:           is_constructible<_Tp, _Args...>>>
1412:  _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
1412:  noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value)
1412:  {
1412: 
1412:    ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1412: 
1412: 
1412: 
1412:  }
1412: 
1412:       template<typename _Alloc2, typename _Tp>
1412:  static constexpr auto
1412:  _S_destroy(_Alloc2& __a, _Tp* __p, int)
1412:  noexcept(noexcept(__a.destroy(__p)))
1412:  -> decltype(__a.destroy(__p))
1412:  { __a.destroy(__p); }
1412: 
1412:       template<typename _Alloc2, typename _Tp>
1412:  static constexpr void
1412:  _S_destroy(_Alloc2&, _Tp* __p, ...)
1412:  noexcept(std::is_nothrow_destructible<_Tp>::value)
1412:  { std::_Destroy(__p); }
1412: 
1412:       template<typename _Alloc2>
1412:  static constexpr auto
1412:  _S_max_size(_Alloc2& __a, int)
1412:  -> decltype(__a.max_size())
1412:  { return __a.max_size(); }
1412: 
1412:       template<typename _Alloc2>
1412:  static constexpr size_type
1412:  _S_max_size(_Alloc2&, ...)
1412:  {
1412: 
1412: 
1412:    return __gnu_cxx::__numeric_traits<size_type>::__max
1412:      / sizeof(value_type);
1412:  }
1412: 
1412:       template<typename _Alloc2>
1412:  static constexpr auto
1412:  _S_select(_Alloc2& __a, int)
1412:  -> decltype(__a.select_on_container_copy_construction())
1412:  { return __a.select_on_container_copy_construction(); }
1412: 
1412:       template<typename _Alloc2>
1412:  static constexpr _Alloc2
1412:  _S_select(_Alloc2& __a, ...)
1412:  { return __a; }
1412: 
1412:     public:
1412: # 316 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       [[__nodiscard__]] static pointer
1412:       allocate(_Alloc& __a, size_type __n)
1412:       { return __a.allocate(__n); }
1412: # 331 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       [[__nodiscard__]] static pointer
1412:       allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
1412:       { return _S_allocate(__a, __n, __hint, 0); }
1412: # 343 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       static void
1412:       deallocate(_Alloc& __a, pointer __p, size_type __n)
1412:       { __a.deallocate(__p, __n); }
1412: # 358 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       template<typename _Tp, typename... _Args>
1412:  static auto
1412:  construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1412:  noexcept(noexcept(_S_construct(__a, __p,
1412:            std::forward<_Args>(__args)...)))
1412:  -> decltype(_S_construct(__a, __p,r) noexcept
1115:  : _M_ptr(__r._M_ptr), _M_refcount()
1115:  {
1115:    _M_refcount._M_swap(__r._M_refcount);
1115:    __r._M_ptr = nullptr;
1115:  }
1115: 
1115:       template<typename _Yp, typename = _Compatible<_Yp>>
1115:  explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r)
1115:  : _M_refcount(__r._M_refcount)
1115:  {
1115: 
1115: 
1115:    _M_ptr = __r._M_ptr;
1115:  }
1115: 
1115: 
1115:       template<typename _Yp, typename _Del,
1115:         typename = _UniqCompatible<_Yp, _Del>>
1115:  __shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1115:  : _M_ptr(__r.get()), _M_refcount()
1115:  {
1115:    auto __raw = __to_address(__r.get());
1115:    _M_refcount = __shared_count<_Lp>(std::move(__r));
1115:    _M_enable_shared_from_this_with(__raw);
1115:  }
1115: # 1585 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115:       template<typename _Yp, typename = _Compatible<_Yp>>
1115:  __shared_ptr(auto_ptr<_Yp>&& __r);
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115:       constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
1115: 
1115:       template<typename _Yp>
1115:  _Assignable<_Yp>
1115:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1115:  {
1115:    _M_ptr = __r._M_ptr;
1115:    _M_refcount = __r._M_refcount;
1115:    return *this;
1115:  }
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:       template<typename _Yp>
1115:  _Assignable<_Yp>
1115:  operator=(auto_ptr<_Yp>&& __r)
1115:  {
1115:    __shared_ptr(std::move(__r)).swap(*this);
1115:    return *this;
1115:  }
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115:       __shared_ptr&
1115:       operator=(__shared_ptr&& __r) noexcept
1115:       {
1115:  __shared_ptr(std::move(__r)).swap(*this);
1115:  return *this;
1115:       }
1115: 
1115:       template<class _Yp>
1115:  _Assignable<_Yp>
1115:  operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1115:  {
1115:    __shared_ptr(std::move(__r)).swap(*this);
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _Yp, typename _Del>
1115:  _UniqAssignable<_Yp, _Del>
1115:  operator=(unique_ptr<_Yp, _Del>&& __r)
1115:  {
1115:    __shared_ptr(std::move(__r)).swap(*this);
1115:    return *this;
1115:  }
1115: 
1115:       void
1115:       reset() noexcept
1115:       { __shared_ptr().swap(*this); }
1115: 
1115:       template<typename _Yp>
1115:  _SafeConv<_Yp>
1115:  reset(_Yp* __p)
1115:  {
1115: 
1115:    do { if (std::__is_constant_evaluated() && !bool(__p == nullptr || __p != _M_ptr)) __builtin_unreachable(); } while (false);
1115:    __shared_ptr(__p).swap(*this);
1115:  }
1115: 
1115:       template<typename _Yp, typename _Deleter>
1115:  _SafeConv<_Yp>
1115:  reset(_Yp* __p, _Deleter __d)
1115:  { __shared_ptr(__p, std::move(__d)).swap(*this); }
1115: 
1115:       template<typename _Yp, typename _Deleter, typename _Alloc>
1115:  _SafeConv<_Yp>
1115:  reset(_Yp* __p, _Deleter __d, _Alloc __a)
1115:         { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); }
1115: 
1115: 
1115:       element_type*
1115:       get() const noexcept
1115:       { return _M_ptr; }
1115: 
1115: 
1115:       explicit operator bool() const noexcept
1115:       { return _M_ptr != nullptr; }
1115: 
1115: 
1115:       bool
1115:       unique() const noexcept
1115:       { return _M_refcount._M_unique(); }
1115: 
1115: 
1115:       long
1115:       use_count() const noexcept
1115:       { return _M_refcount._M_get_use_count(); }
1115: 
1115: 
1115:       void
1115:       swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
1115:       {
1115:  std::swap(_M_ptr, __other._M_ptr);
1115:  _M_refcount._M_swap(__other._M_refcount);
1115:       }
1115: # 1697 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115:       template<typename _Tp1>
1115:  bool
1115:  owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1115:  { return _M_refcount._M_less(__rhs._M_refcount); }
1115: 
1115:       template<typename _Tp1>
609:     ldexp(_Tp __x, int __exp)
609:     { return __builtin_ldexp(__x, __exp); }
609: 
609:   using ::log;
609: 
609: 
609:   inline constexpr float
609:   log(float __x)
609:   { return __builtin_logf(__x); }
609: 
609:   inline constexpr long double
609:   log(long double __x)
609:   { return __builtin_logl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     log(_Tp __x)
609:     { return __builtin_log(__x); }
609: 
609:   using ::log10;
609: 
609: 
609:   inline constexpr float
609:   log10(float __x)
609:   { return __builtin_log10f(__x); }
609: 
609:   inline constexpr long double
609:   log10(long double __x)
609:   { return __builtin_log10l(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     log10(_Tp __x)
609:     { return __builtin_log10(__x); }
609: 
609:   using ::modf;
609: 
609: 
609:   inline float
609:   modf(float __x, float* __iptr)
609:   { return __builtin_modff(__x, __iptr); }
609: 
609:   inline long double
609:   modf(long double __x, long double* __iptr)
609:   { return __builtin_modfl(__x, __iptr); }
609: 
609: 
609:   using ::pow;
609: 
609: 
609:   inline constexpr float
609:   pow(float __x, float __y)
609:   { return __builtin_powf(__x, __y); }
609: 
609:   inline constexpr long double
609:   pow(long double __x, long double __y)
609:   { return __builtin_powl(__x, __y); }
609: # 412 "/usr/include/c++/12/cmath" 3
609:   template<typename _Tp, typename _Up>
609:     inline constexpr
609:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     pow(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return pow(__type(__x), __type(__y));
609:     }
609: 
609:   using ::sin;
609: 
609: 
609:   inline constexpr float
609:   sin(float __x)
609:   { return __builtin_sinf(__x); }
609: 
609:   inline constexpr long double
609:   sin(long double __x)
609:   { return __builtin_sinl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     sin(_Tp __x)
609:     { return __builtin_sin(__x); }
609: 
609:   using ::sinh;
609: 
609: 
609:   inline constexpr float
609:   sinh(float __x)
609:   { return __builtin_sinhf(__x); }
609: 
609:   inline constexpr long double
609:   sinh(long double __x)
609:   { return __builtin_sinhl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     sinh(_Tp __x)
609:     { return __builtin_sinh(__x); }
609: 
609:   using ::sqrt;
609: 
609: 
609:   inline constexpr float
609:   sqrt(float __x)
609:   { return __builtin_sqrtf(__x); }
609: 
609:   inline constexpr long double
609:   sqrt(long double __x)
609:   { return __builtin_sqrtl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     sqrt(_Tp __x)
609:     { return __builtin_sqrt(__x); }
609: 
609:   using ::tan;
609: 
609: 
609:   inline constexpr float
609:   tan(float __x)
609:   { return __builtin_tanf(__x); }
609: 
609:   inline constexpr long double
609:   tan(long double __x)
609:   { return __builtin_tanl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     tan(_Tp __x)
609:     { return __builtin_tan(__x); }
609: 
609:   using ::tanh;
609: 
609: 
609:   inline constexpr float
609:   tanh(float __x)
609:   { return __builtin_tanhf(__x); }
609: 
609:   inline constexpr long double
609:   tanh(long double __x)
609:   { return __builtin_tanhl(__x); }
609: 
609: 
609:   template<typename _Tp>
609:     inline constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     double>::__type
609:     tanh(_Tp __x)
609:     { return __builtin_tanh(__x); }
609: # 536 "/usr/include/c++/12/cmath" 3
609:   constexpr int
609:   fpclassify(float __x)
609:   { return __builtin_fpclassify(0, 1, 4,
609:     3, 2, __x); }
609: 
609:   constexpr int
609:   fpclassify(double __x)
609:   { return __builtin_fpclassify(0, 1, 4,
609:     3, 2, __x); }
609: 
609:   constexpr int
609:   fpclassify(long double __x)
609:   { return __builtin_fpclassify(0, 1, 4,
609:     3, 2, __x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               int>::__type
609:     fpclassify(_Tp __x)
609:     { return __x != 0 ? 4 : 2; }
609: 
609: 
609: 
609:   constexpr bool
609:   isfinite(float __x)
609:   { return __builtin_isfinite(__x); }
609: 
609:   constexpr bool
609:   isfinite(double __x)
609:   { return __builtin_isfinite(__x); }
609: 
609:   constexpr bool
609:   isfinite(long double __x)
609:   { return __builtin_isfinite(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               bool>::__type
609:     isfinite(_Tp __x)
609:     { return true; }
609: 
609: 
609: 
609:   constexpr bool
609:   isinf(float __x)
609:   { return __builtin_isinf(__x); }
609: 
609: 
609: 
609: 
609: 
609:   constexpr bool
609:   isinf(double __x)
609:   { return __builtin_isinf(__x); }
609: 
609: 
609:   constexpr bool
609:   isinf(long double __x)
609:   { return __builtin_isinf(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               bool>::__type
609:     isinf(_Tp __x)
609:     { return false; }
609: 
609: 
609: 
609:   constexpr bool
609:   isnan(float __x)
609:   { return __builtin_isnan(__x); }
609: 
609: 
609: 
609: 
609: 
609:   constexpr bool
609:   isnan(double __x)
609:   { return __builtin_isnan(__x); }
609: 
609: 
609:   constexpr bool
609:   isnan(long double __x)
609:   { return __builtin_isnan(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               bool>::__type
609:     isnan(_Tp __x)
609:     { return false; }
609: 
609: 
609: 
609:   constexpr bool
609:   isnormal(float __x)
609:   { return __builtin_isnormal(__x); }
609: 
609:   constexpr bool
609:   isnormal(double __x)
609:   { return __builtin_isnormal(__x); }
609: 
609:   constexpr bool
609:   isnormal(long double __x)
609:   { return __builtin_isnormal(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               bool>::__type
609:     isnormal(_Tp __x)
609:     { return __x != 0 ? true : false; }
609: 
609: 
609: 
609: 
609:   constexpr bool
609:   signbit(float __x)
609:   { return __builtin_signbit(__x); }
609: 
609:   constexpr bool
609:   signbit(double __x)
609:   { return __builtin_signbit(__x); }
609: 
609:   constexpr bool
609:   signbit(long double __x)
609:   { return __builtin_signbit(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               bool>::__type
609:     signbit(_Tp __x)
609:     { return __x < 0 ? true : false; }
609: 
609: 
609: 
609:   constexpr bool
609:   isgreater(float __x, float __y)
609:   { return __builtin_isgreater(__x, __y); }
609: 
609:   constexpr bool
609:   isgreater(double __x, do std::forward<_Args>(__args)...))
1412:  { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
1412: # 374 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       template<typename _Tp>
1412:  static void
1412:  destroy(_Alloc& __a, _Tp* __p)
1412:  noexcept(noexcept(_S_destroy(__a, __p, 0)))
1412:  { _S_destroy(__a, __p, 0); }
1412: # 388 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       static size_type
1412:       max_size(const _Alloc& __a) noexcept
1412:       { return _S_max_size(__a, 0); }
1412: # 400 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       static _Alloc
1412:       select_on_container_copy_construction(const _Alloc& __rhs)
1412:       { return _S_select(__rhs, 0); }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct allocator_traits<allocator<_Tp>>
1412:     {
1412: 
1412:       using allocator_type = allocator<_Tp>;
1412: 
1412: 
1412:       using value_type = _Tp;
1412: 
1412: 
1412:       using pointer = _Tp*;
1412: 
1412: 
1412:       using const_pointer = const _Tp*;
1412: 
1412: 
1412:       using void_pointer = void*;
1412: 
1412: 
1412:       using const_void_pointer = const void*;
1412: 
1412: 
1412:       using difference_type = std::ptrdiff_t;
1412: 
1412: 
1412:       using size_type = std::size_t;
1412: 
1412: 
1412:       using propagate_on_container_copy_assignment = false_type;
1412: 
1412: 
1412:       using propagate_on_container_move_assignment = true_type;
1412: 
1412: 
1412:       using propagate_on_container_swap = false_type;
1412: 
1412: 
1412:       using is_always_equal = true_type;
1412: 
1412:       template<typename _Up>
1412:  using rebind_alloc = allocator<_Up>;
1412: 
1412:       template<typename _Up>
1412:  using rebind_traits = allocator_traits<allocator<_Up>>;
1412: # 462 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       [[__nodiscard__]] static pointer
1412:       allocate(allocator_type& __a, size_type __n)
1412:       { return __a.allocate(__n); }
1412: # 476 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       [[__nodiscard__]] static pointer
1412:       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
1412:       {
1412: 
1412:  return __a.allocate(__n, __hint);
1412: 
1412: 
1412: 
1412:       }
1412: # 494 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       static void
1412:       deallocate(allocator_type& __a, pointer __p, size_type __n)
1412:       { __a.deallocate(__p, __n); }
1412: # 509 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       template<typename _Up, typename... _Args>
1412:  static void
1412:  construct(allocator_type& __a __attribute__((__unused__)), _Up* __p,
1412:     _Args&&... __args)
1412:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1412:  {
1412: 
1412:    __a.construct(__p, std::forward<_Args>(__args)...);
1412: 
1412: 
1412: 
1412:  }
1412: # 529 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       template<typename _Up>
1412:  static void
1412:  destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
1412:  noexcept(is_nothrow_destructible<_Up>::value)
1412:  {
1412: 
1412:    __a.destroy(__p);
1412: 
1412: 
1412: 
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       static size_type
1412:       max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
1412:       {
1412: 
1412:  return __a.max_size();
1412: 
1412: 
1412: 
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       static allocator_type
1412:       select_on_container_copy_construction(const allocator_type& __rhs)
1412:       { return __rhs; }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct allocator_traits<allocator<void>>
1412:     {
1412: 
1412:       using allocator_type = allocator<void>;
1412: 
1412: 
1412:       using value_type = void;
1412: 
1412: 
1412:       using pointer = void*;
1412: 
1412: 
1412:       using const_pointer = const void*;
1412: 
1412: 
1412:       using void_pointer = void*;
1412: 
1412: 
1412:       using const_void_pointer = const void*;
1412: 
1412uble __y)
609:   { return __builtin_isgreater(__x, __y); }
609: 
609:   constexpr bool
609:   isgreater(long double __x, long double __y)
609:   { return __builtin_isgreater(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename
609:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
609:        && __is_arithmetic<_Up>::__value), bool>::__type
609:     isgreater(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return __builtin_isgreater(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr bool
609:   isgreaterequal(float __x, float __y)
609:   { return __builtin_isgreaterequal(__x, __y); }
609: 
609:   constexpr bool
609:   isgreaterequal(double __x, double __y)
609:   { return __builtin_isgreaterequal(__x, __y); }
609: 
609:   constexpr bool
609:   isgreaterequal(long double __x, long double __y)
609:   { return __builtin_isgreaterequal(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename
609:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
609:        && __is_arithmetic<_Up>::__value), bool>::__type
609:     isgreaterequal(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return __builtin_isgreaterequal(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr bool
609:   isless(float __x, float __y)
609:   { return __builtin_isless(__x, __y); }
609: 
609:   constexpr bool
609:   isless(double __x, double __y)
609:   { return __builtin_isless(__x, __y); }
609: 
609:   constexpr bool
609:   isless(long double __x, long double __y)
609:   { return __builtin_isless(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename
609:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
609:        && __is_arithmetic<_Up>::__value), bool>::__type
609:     isless(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return __builtin_isless(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr bool
609:   islessequal(float __x, float __y)
609:   { return __builtin_islessequal(__x, __y); }
609: 
609:   constexpr bool
609:   islessequal(double __x, double __y)
609:   { return __builtin_islessequal(__x, __y); }
609: 
609:   constexpr bool
609:   islessequal(long double __x, long double __y)
609:   { return __builtin_islessequal(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename
609:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
609:        && __is_arithmetic<_Up>::__value), bool>::__type
609:     islessequal(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return __builtin_islessequal(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr bool
609:   islessgreater(float __x, float __y)
609:   { return __builtin_islessgreater(__x, __y); }
609: 
609:   constexpr bool
609:   islessgreater(double __x, double __y)
609:   { return __builtin_islessgreater(__x, __y); }
609: 
609:   constexpr bool
609:   islessgreater(long double __x, long double __y)
609:   { return __builtin_islessgreater(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename
609:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
609:        && __is_arithmetic<_Up>::__value), bool>::__type
609:     islessgreater(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return __builtin_islessgreater(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr bool
609:   isunordered(float __x, float __y)
609:   { return __builtin_isunordered(__x, __y); }
609: 
609:   constexpr bool
609:   isunordered(double __x, double __y)
609:   { return __builtin_isunordered(__x, __y); }
609: 
609:   constex
1115:  bool
1115:  owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1115:  { return _M_refcount._M_less(__rhs._M_refcount); }
1115: 
1115: 
1115:     protected:
1115: 
1115:       template<typename _Alloc, typename... _Args>
1115:  __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1115:  : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
1115:  { _M_enable_shared_from_this_with(_M_ptr); }
1115: 
1115:       template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
1115:         typename... _Args>
1115:  friend __shared_ptr<_Tp1, _Lp1>
1115:  __allocate_shared(const _Alloc& __a, _Args&&... __args);
1115: # 1731 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115:       __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) noexcept
1115:       : _M_refcount(__r._M_refcount, std::nothrow)
1115:       {
1115:  _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr;
1115:       }
1115: 
1115:       friend class __weak_ptr<_Tp, _Lp>;
1115: 
1115:     private:
1115: 
1115:       template<typename _Yp>
1115:  using __esft_base_t = decltype(__enable_shared_from_this_base(
1115:        std::declval<const __shared_count<_Lp>&>(),
1115:        std::declval<_Yp*>()));
1115: 
1115: 
1115:       template<typename _Yp, typename = void>
1115:  struct __has_esft_base
1115:  : false_type { };
1115: 
1115:       template<typename _Yp>
1115:  struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>>
1115:  : __not_<is_array<_Tp>> { };
1115: 
1115:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1115:  typename enable_if<__has_esft_base<_Yp2>::value>::type
1115:  _M_enable_shared_from_this_with(_Yp* __p) noexcept
1115:  {
1115:    if (auto __base = __enable_shared_from_this_base(_M_refcount, __p))
1115:      __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount);
1115:  }
1115: 
1115:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1115:  typename enable_if<!__has_esft_base<_Yp2>::value>::type
1115:  _M_enable_shared_from_this_with(_Yp*) noexcept
1115:  { }
1115: 
1115:       void*
1115:       _M_get_deleter(const std::type_info& __ti) const noexcept
1115:       { return _M_refcount._M_get_deleter(__ti); }
1115: 
1115:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1115:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1115: 
1115:       template<typename _Del, typename _Tp1, _Lock_policy _Lp1>
1115:  friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
1115: 
1115:       template<typename _Del, typename _Tp1>
1115:  friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       element_type* _M_ptr;
1115:       __shared_count<_Lp> _M_refcount;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1115:     inline bool
1115:     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
1115:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1115:     { return __a.get() == __b.get(); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1115:     { return !__a; }
1115: # 1817 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1115:     { return !__a; }
1115: 
1115:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1115:     inline bool
1115:     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
1115:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1115:     { return __a.get() != __b.get(); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1115:     { return (bool)__a; }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __apr bool
609:   isunordered(long double __x, long double __y)
609:   { return __builtin_isunordered(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename
609:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
609:        && __is_arithmetic<_Up>::__value), bool>::__type
609:     isunordered(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return __builtin_isunordered(__type(__x), __type(__y));
609:     }
609: # 1065 "/usr/include/c++/12/cmath" 3
609:   using ::double_t;
609:   using ::float_t;
609: 
609: 
609:   using ::acosh;
609:   using ::acoshf;
609:   using ::acoshl;
609: 
609:   using ::asinh;
609:   using ::asinhf;
609:   using ::asinhl;
609: 
609:   using ::atanh;
609:   using ::atanhf;
609:   using ::atanhl;
609: 
609:   using ::cbrt;
609:   using ::cbrtf;
609:   using ::cbrtl;
609: 
609:   using ::copysign;
609:   using ::copysignf;
609:   using ::copysignl;
609: 
609:   using ::erf;
609:   using ::erff;
609:   using ::erfl;
609: 
609:   using ::erfc;
609:   using ::erfcf;
609:   using ::erfcl;
609: 
609:   using ::exp2;
609:   using ::exp2f;
609:   using ::exp2l;
609: 
609:   using ::expm1;
609:   using ::expm1f;
609:   using ::expm1l;
609: 
609:   using ::fdim;
609:   using ::fdimf;
609:   using ::fdiml;
609: 
609:   using ::fma;
609:   using ::fmaf;
609:   using ::fmal;
609: 
609:   using ::fmax;
609:   using ::fmaxf;
609:   using ::fmaxl;
609: 
609:   using ::fmin;
609:   using ::fminf;
609:   using ::fminl;
609: 
609:   using ::hypot;
609:   using ::hypotf;
609:   using ::hypotl;
609: 
609:   using ::ilogb;
609:   using ::ilogbf;
609:   using ::ilogbl;
609: 
609:   using ::lgamma;
609:   using ::lgammaf;
609:   using ::lgammal;
609: 
609: 
609:   using ::llrint;
609:   using ::llrintf;
609:   using ::llrintl;
609: 
609:   using ::llround;
609:   using ::llroundf;
609:   using ::llroundl;
609: 
609: 
609:   using ::log1p;
609:   using ::log1pf;
609:   using ::log1pl;
609: 
609:   using ::log2;
609:   using ::log2f;
609:   using ::log2l;
609: 
609:   using ::logb;
609:   using ::logbf;
609:   using ::logbl;
609: 
609:   using ::lrint;
609:   using ::lrintf;
609:   using ::lrintl;
609: 
609:   using ::lround;
609:   using ::lroundf;
609:   using ::lroundl;
609: 
609:   using ::nan;
609:   using ::nanf;
609:   using ::nanl;
609: 
609:   using ::nearbyint;
609:   using ::nearbyintf;
609:   using ::nearbyintl;
609: 
609:   using ::nextafter;
609:   using ::nextafterf;
609:   using ::nextafterl;
609: 
609:   using ::nexttoward;
609:   using ::nexttowardf;
609:   using ::nexttowardl;
609: 
609:   using ::remainder;
609:   using ::remainderf;
609:   using ::remainderl;
609: 
609:   using ::remquo;
609:   using ::remquof;
609:   using ::remquol;
609: 
609:   using ::rint;
609:   using ::rintf;
609:   using ::rintl;
609: 
609:   using ::round;
609:   using ::roundf;
609:   using ::roundl;
609: 
609:   using ::scalbln;
609:   using ::scalblnf;
609:   using ::scalblnl;
609: 
609:   using ::scalbn;
609:   using ::scalbnf;
609:   using ::scalbnl;
609: 
609:   using ::tgamma;
609:   using ::tgammaf;
609:   using ::tgammal;
609: 
609:   using ::trunc;
609:   using ::truncf;
609:   using ::truncl;
609: 
609: 
609: 
609:   constexpr float
609:   acosh(float __x)
609:   { return __builtin_acoshf(__x); }
609: 
609:   constexpr long double
609:   acosh(long double __x)
609:   { return __builtin_acoshl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     acosh(_Tp __x)
609:     { return __builtin_acosh(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   asinh(float __x)
609:   { return __builtin_asinhf(__x); }
609: 
609:   constexpr long double
609:   asinh(long double __x)
609:   { return __builtin_asinhl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:      : 
1412:       using difference_type = std::ptrdiff_t;
1412: 
1412: 
1412:       using size_type = std::size_t;
1412: 
1412: 
1412:       using propagate_on_container_copy_assignment = false_type;
1412: 
1412: 
1412:       using propagate_on_container_move_assignment = true_type;
1412: 
1412: 
1412:       using propagate_on_container_swap = false_type;
1412: 
1412: 
1412:       using is_always_equal = true_type;
1412: 
1412:       template<typename _Up>
1412:  using rebind_alloc = allocator<_Up>;
1412: 
1412:       template<typename _Up>
1412:  using rebind_traits = allocator_traits<allocator<_Up>>;
1412: 
1412: 
1412:       static void*
1412:       allocate(allocator_type&, size_type, const void* = nullptr) = delete;
1412: 
1412: 
1412:       static void
1412:       deallocate(allocator_type&, void*, size_type) = delete;
1412: # 631 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       template<typename _Up, typename... _Args>
1412:  static void
1412:  construct(allocator_type&, _Up* __p, _Args&&... __args)
1412:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1412:  { std::_Construct(__p, std::forward<_Args>(__args)...); }
1412: # 644 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:       template<typename _Up>
1412:  static void
1412:  destroy(allocator_type&, _Up* __p)
1412:  noexcept(is_nothrow_destructible<_Up>::value)
1412:  { std::_Destroy(__p); }
1412: 
1412: 
1412:       static size_type
1412:       max_size(const allocator_type&) = delete;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       static allocator_type
1412:       select_on_container_copy_construction(const allocator_type& __rhs)
1412:       { return __rhs; }
1412:     };
1412: # 676 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:   template<typename _Alloc>
1412:     constexpr inline void
1412:     __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
1412:     {
1412:       typedef allocator_traits<_Alloc> __traits;
1412:       typedef typename __traits::propagate_on_container_copy_assignment __pocca;
1412: 
1412:       if constexpr (__pocca::value)
1412:  __one = __two;
1412: 
1412: 
1412: 
1412:     }
1412: 
1412:   template<typename _Alloc>
1412:     constexpr _Alloc
1412:     __alloc_on_copy(const _Alloc& __a)
1412:     {
1412:       typedef allocator_traits<_Alloc> __traits;
1412:       return __traits::select_on_container_copy_construction(__a);
1412:     }
1412: # 708 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:   template<typename _Alloc>
1412:     constexpr inline void
1412:     __alloc_on_move(_Alloc& __one, _Alloc& __two)
1412:     {
1412:       typedef allocator_traits<_Alloc> __traits;
1412:       typedef typename __traits::propagate_on_container_move_assignment __pocma;
1412: 
1412:       if constexpr (__pocma::value)
1412:  __one = std::move(__two);
1412: 
1412: 
1412: 
1412:     }
1412: # 735 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:   template<typename _Alloc>
1412:     constexpr inline void
1412:     __alloc_on_swap(_Alloc& __one, _Alloc& __two)
1412:     {
1412:       typedef allocator_traits<_Alloc> __traits;
1412:       typedef typename __traits::propagate_on_container_swap __pocs;
1412: 
1412:       if constexpr (__pocs::value)
1412:  {
1412:    using std::swap;
1412:    swap(__one, __two);
1412:  }
1412: 
1412: 
1412: 
1412:     }
1412: 
1412:   template<typename _Alloc, typename _Tp,
1412:     typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
1412:     typename = void>
1412:     struct __is_alloc_insertable_impl
1412:     : false_type
1412:     { };
1412: 
1412:   template<typename _Alloc, typename _Tp, typename _ValueT>
1412:     struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
1412:       __void_t<decltype(allocator_traits<_Alloc>::construct(
1412:      std::declval<_Alloc&>(), std::declval<_ValueT*>(),
1412:      std::declval<_Tp>()))>>
1412:     : true_type
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Alloc>
1412:     struct __is_copy_insertable
1412:     : __is_alloc_insertable_impl<_Alloc,
1412:      typename _Alloc::value_type const&>::ty                                         double>::__type
609:     asinh(_Tp __x)
609:     { return __builtin_asinh(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   atanh(float __x)
609:   { return __builtin_atanhf(__x); }
609: 
609:   constexpr long double
609:   atanh(long double __x)
609:   { return __builtin_atanhl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     atanh(_Tp __x)
609:     { return __builtin_atanh(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   cbrt(float __x)
609:   { return __builtin_cbrtf(__x); }
609: 
609:   constexpr long double
609:   cbrt(long double __x)
609:   { return __builtin_cbrtl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     cbrt(_Tp __x)
609:     { return __builtin_cbrt(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   copysign(float __x, float __y)
609:   { return __builtin_copysignf(__x, __y); }
609: 
609:   constexpr long double
609:   copysign(long double __x, long double __y)
609:   { return __builtin_copysignl(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     copysign(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return copysign(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr float
609:   erf(float __x)
609:   { return __builtin_erff(__x); }
609: 
609:   constexpr long double
609:   erf(long double __x)
609:   { return __builtin_erfl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     erf(_Tp __x)
609:     { return __builtin_erf(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   erfc(float __x)
609:   { return __builtin_erfcf(__x); }
609: 
609:   constexpr long double
609:   erfc(long double __x)
609:   { return __builtin_erfcl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     erfc(_Tp __x)
609:     { return __builtin_erfc(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   exp2(float __x)
609:   { return __builtin_exp2f(__x); }
609: 
609:   constexpr long double
609:   exp2(long double __x)
609:   { return __builtin_exp2l(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     exp2(_Tp __x)
609:     { return __builtin_exp2(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   expm1(float __x)
609:   { return __builtin_expm1f(__x); }
609: 
609:   constexpr long double
609:   expm1(long double __x)
609:   { return __builtin_expm1l(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     expm1(_Tp __x)
609:     { return __builtin_expm1(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   fdim(float __x, float __y)
609:   { return __builtin_fdimf(__x, __y); }
609: 
609:   constexpr long double
609:   fdim(long double __x, long double __y)
609:   { return __builtin_fdiml(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     fdim(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return fdim(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   conste) noexcept
1115:     { return (bool)__a; }
1115: 
1115:   template<typename _Tp, typename _Up, _Lock_policy _Lp>
1115:     inline bool
1115:     operator<(const __shared_ptr<_Tp, _Lp>& __a,
1115:        const __shared_ptr<_Up, _Lp>& __b) noexcept
1115:     {
1115:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1115:       using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type;
1115:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
1115:       return less<_Vp>()(__a.get(), __b.get());
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1115:     {
1115:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1115:       return less<_Tp_elt*>()(__a.get(), nullptr);
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1115:     {
1115:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1115:       return less<_Tp_elt*>()(nullptr, __a.get());
1115:     }
1115: 
1115:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1115:     inline bool
1115:     operator<=(const __shared_ptr<_Tp1, _Lp>& __a,
1115:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1115:     { return !(__b < __a); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1115:     { return !(nullptr < __a); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1115:     { return !(__a < nullptr); }
1115: 
1115:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1115:     inline bool
1115:     operator>(const __shared_ptr<_Tp1, _Lp>& __a,
1115:        const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1115:     { return (__b < __a); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1115:     { return nullptr < __a; }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1115:     { return __a < nullptr; }
1115: 
1115:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1115:     inline bool
1115:     operator>=(const __shared_ptr<_Tp1, _Lp>& __a,
1115:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1115:     { return !(__a < __b); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1115:     { return !(__a < nullptr); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1115:     { return !(nullptr < __a); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline void
1115:     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
1115:     { __a.swap(__b); }
1115: # 1927 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1115:     {
1115:       using _Sp = __shared_ptr<_Tp, _Lp>;
1115:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1115:     {
1115:       using _Sp = __shared_ptr<_Tp, _Lp>;
1115:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typenamxpr float
609:   fma(float __x, float __y, float __z)
609:   { return __builtin_fmaf(__x, __y, __z); }
609: 
609:   constexpr long double
609:   fma(long double __x, long double __y, long double __z)
609:   { return __builtin_fmal(__x, __y, __z); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up, typename _Vp>
609:     constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
609:     fma(_Tp __x, _Up __y, _Vp __z)
609:     {
609:       typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type;
609:       return fma(__type(__x), __type(__y), __type(__z));
609:     }
609: 
609: 
609: 
609:   constexpr float
609:   fmax(float __x, float __y)
609:   { return __builtin_fmaxf(__x, __y); }
609: 
609:   constexpr long double
609:   fmax(long double __x, long double __y)
609:   { return __builtin_fmaxl(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     fmax(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return fmax(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr float
609:   fmin(float __x, float __y)
609:   { return __builtin_fminf(__x, __y); }
609: 
609:   constexpr long double
609:   fmin(long double __x, long double __y)
609:   { return __builtin_fminl(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     fmin(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return fmin(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr float
609:   hypot(float __x, float __y)
609:   { return __builtin_hypotf(__x, __y); }
609: 
609:   constexpr long double
609:   hypot(long double __x, long double __y)
609:   { return __builtin_hypotl(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     hypot(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return hypot(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr int
609:   ilogb(float __x)
609:   { return __builtin_ilogbf(__x); }
609: 
609:   constexpr int
609:   ilogb(long double __x)
609:   { return __builtin_ilogbl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr
609:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                     int>::__type
609:     ilogb(_Tp __x)
609:     { return __builtin_ilogb(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   lgamma(float __x)
609:   { return __builtin_lgammaf(__x); }
609: 
609:   constexpr long double
609:   lgamma(long double __x)
609:   { return __builtin_lgammal(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     lgamma(_Tp __x)
609:     { return __builtin_lgamma(__x); }
609: 
609: 
609: 
609:   constexpr long long
609:   llrint(float __x)
609:   { return __builtin_llrintf(__x); }
609: 
609:   constexpr long long
609:   llrint(long double __x)
609:   { return __builtin_llrintl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               long long>::__type
609:     llrint(_Tp __x)
609:     { return __builtin_llrint(__x); }
609: 
609: 
609: 
609:   constexpr long long
609:   llround(float __x)
609:   { return __builtin_llroundf(__x); }
609: 
609:   constexpr long long
609:   llround(long double __x)
609:   { return __builtin_llroundl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                       pe
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_copy_insertable<allocator<_Tp>>
1412:     : is_copy_constructible<_Tp>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Alloc>
1412:     struct __is_move_insertable
1412:     : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_move_insertable<allocator<_Tp>>
1412:     : is_move_constructible<_Tp>
1412:     { };
1412: 
1412: 
1412:   template<typename _Alloc, typename = void>
1412:     struct __is_allocator : false_type { };
1412: 
1412:   template<typename _Alloc>
1412:     struct __is_allocator<_Alloc,
1412:       __void_t<typename _Alloc::value_type,
1412:         decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
1412:     : true_type { };
1412: 
1412:   template<typename _Alloc>
1412:     using _RequireAllocator
1412:       = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
1412: 
1412:   template<typename _Alloc>
1412:     using _RequireNotAllocator
1412:       = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
1412: # 829 "/usr/include/c++/12/bits/alloc_traits.h" 3
1412:   template<typename _ForwardIterator, typename _Allocator>
1412:    
1412:     void
1412:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1412:       _Allocator& __alloc)
1412:     {
1412:       for (; __first != __last; ++__first)
1412: 
1412: 
1412: 
1412:  allocator_traits<_Allocator>::destroy(__alloc,
1412:            std::__addressof(*__first));
1412: 
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline void
1412:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1412:       allocator<_Tp>&)
1412:     {
1412:       _Destroy(__first, __last);
1412:     }
1412: 
1412: 
1412: }
1412: # 35 "/usr/include/c++/12/ext/alloc_traits.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template<typename _Alloc, typename = typename _Alloc::value_type>
1412:   struct __alloc_traits
1412: 
1412:   : std::allocator_traits<_Alloc>
1412: 
1412:   {
1412:     typedef _Alloc allocator_type;
1412: 
1412:     typedef std::allocator_traits<_Alloc> _Base_type;
1412:     typedef typename _Base_type::value_type value_type;
1412:     typedef typename _Base_type::pointer pointer;
1412:     typedef typename _Base_type::const_pointer const_pointer;
1412:     typedef typename _Base_type::size_type size_type;
1412:     typedef typename _Base_type::difference_type difference_type;
1412: 
1412:     typedef value_type& reference;
1412:     typedef const value_type& const_reference;
1412:     using _Base_type::allocate;
1412:     using _Base_type::deallocate;
1412:     using _Base_type::construct;
1412:     using _Base_type::destroy;
1412:     using _Base_type::max_size;
1412: 
1412:   private:
1412:     template<typename _Ptr>
1412:       using __is_custom_pointer
1412:  = std::__and_<std::is_same<pointer, _Ptr>,
1412:         std::__not_<std::is_pointer<_Ptr>>>;
1412: 
1412:   public:
1412: 
1412:     template<typename _Ptr, typename... _Args>
1412:       static constexpr
1412:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1412:       construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
1412:       noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
1412:            std::forward<_Args>(__args)...)))
1412:       {
1412:  _Base_type::construct(__a, std::__to_address(__p),
1412:          std::forward<_Args>(__args)...);
1412:       }
1412: 
1412: 
1412:     template<typename _Ptr>
1412:       static constexpr
1412:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1412:       destroy(_Alloc& __a, _Ptr __p)
1412:       noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
1412:       { _Base_type::destroy(__a, std::__to_address(__p)); }
1412: 
1412:     static constexpr _Alloc _S_select_on_copy(const        long long>::__type
609:     llround(_Tp __x)
609:     { return __builtin_llround(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   log1p(float __x)
609:   { return __builtin_log1pf(__x); }
609: 
609:   constexpr long double
609:   log1p(long double __x)
609:   { return __builtin_log1pl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     log1p(_Tp __x)
609:     { return __builtin_log1p(__x); }
609: 
609: 
609: 
609: 
609:   constexpr float
609:   log2(float __x)
609:   { return __builtin_log2f(__x); }
609: 
609:   constexpr long double
609:   log2(long double __x)
609:   { return __builtin_log2l(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     log2(_Tp __x)
609:     { return __builtin_log2(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   logb(float __x)
609:   { return __builtin_logbf(__x); }
609: 
609:   constexpr long double
609:   logb(long double __x)
609:   { return __builtin_logbl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     logb(_Tp __x)
609:     { return __builtin_logb(__x); }
609: 
609: 
609: 
609:   constexpr long
609:   lrint(float __x)
609:   { return __builtin_lrintf(__x); }
609: 
609:   constexpr long
609:   lrint(long double __x)
609:   { return __builtin_lrintl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               long>::__type
609:     lrint(_Tp __x)
609:     { return __builtin_lrint(__x); }
609: 
609: 
609: 
609:   constexpr long
609:   lround(float __x)
609:   { return __builtin_lroundf(__x); }
609: 
609:   constexpr long
609:   lround(long double __x)
609:   { return __builtin_lroundl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               long>::__type
609:     lround(_Tp __x)
609:     { return __builtin_lround(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   nearbyint(float __x)
609:   { return __builtin_nearbyintf(__x); }
609: 
609:   constexpr long double
609:   nearbyint(long double __x)
609:   { return __builtin_nearbyintl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     nearbyint(_Tp __x)
609:     { return __builtin_nearbyint(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   nextafter(float __x, float __y)
609:   { return __builtin_nextafterf(__x, __y); }
609: 
609:   constexpr long double
609:   nextafter(long double __x, long double __y)
609:   { return __builtin_nextafterl(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     nextafter(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return nextafter(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   constexpr float
609:   nexttoward(float __x, long double __y)
609:   { return __builtin_nexttowardf(__x, __y); }
609: 
609:   constexpr long double
609:   nexttoward(long double __x, long double __y)
609:   { return __builtin_nexttowardl(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     nexttoward(_Tp __x, long double __y)
609:     { return __builtin_nexttoward(__x, __y); }
609: 
6e _Tp1, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1115:     {
1115:       using _Sp = __shared_ptr<_Tp, _Lp>;
1115:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1115:  return _Sp(__r, __p);
1115:       return _Sp();
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     reinterpret_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1115:     {
1115:       using _Sp = __shared_ptr<_Tp, _Lp>;
1115:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     class __weak_ptr
1115:     {
1115:       template<typename _Yp, typename _Res = void>
1115:  using _Compatible = typename
1115:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1115: 
1115: 
1115:       template<typename _Yp>
1115:  using _Assignable = _Compatible<_Yp, __weak_ptr&>;
1115: 
1115:     public:
1115:       using element_type = typename remove_extent<_Tp>::type;
1115: 
1115:       constexpr __weak_ptr() noexcept
1115:       : _M_ptr(nullptr), _M_refcount()
1115:       { }
1115: 
1115:       __weak_ptr(const __weak_ptr&) noexcept = default;
1115: 
1115:       ~__weak_ptr() = default;
1115: # 2009 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1115:       template<typename _Yp, typename = _Compatible<_Yp>>
1115:  __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1115:  : _M_refcount(__r._M_refcount)
1115:         { _M_ptr = __r.lock().get(); }
1115: 
1115:       template<typename _Yp, typename = _Compatible<_Yp>>
1115:  __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1115:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1115:  { }
1115: 
1115:       __weak_ptr(__weak_ptr&& __r) noexcept
1115:       : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount))
1115:       { __r._M_ptr = nullptr; }
1115: 
1115:       template<typename _Yp, typename = _Compatible<_Yp>>
1115:  __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1115:  : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount))
1115:         { __r._M_ptr = nullptr; }
1115: 
1115:       __weak_ptr&
1115:       operator=(const __weak_ptr& __r) noexcept = default;
1115: 
1115:       template<typename _Yp>
1115:  _Assignable<_Yp>
1115:  operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1115:  {
1115:    _M_ptr = __r.lock().get();
1115:    _M_refcount = __r._M_refcount;
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _Yp>
1115:  _Assignable<_Yp>
1115:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1115:  {
1115:    _M_ptr = __r._M_ptr;
1115:    _M_refcount = __r._M_refcount;
1115:    return *this;
1115:  }
1115: 
1115:       __weak_ptr&
1115:       operator=(__weak_ptr&& __r) noexcept
1115:       {
1115:  _M_ptr = __r._M_ptr;
1115:  _M_refcount = std::move(__r._M_refcount);
1115:  __r._M_ptr = nullptr;
1115:  return *this;
1115:       }
1115: 
1115:       template<typename _Yp>
1115:  _Assignable<_Yp>
1115:  operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1115:  {
1115:    _M_ptr = __r.lock().get();
1115:    _M_refcount = std::move(__r._M_refcount);
1115:    __r._M_ptr = nullptr;
1115:    return *this;
1115:  }
1115: 
1115:       __shared_ptr<_Tp, _Lp>
1115:       lock() const noexcept
1115:       { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); }
1115: 
1115:       long
1115:       use_count() const noexcept
1115:       { return _M_refcount._M_get_use_count(); }
1115: 
1115:       bool
1115:       expired() const noexcept
1115:       { return _M_refcount._M_get_use_count() == 0; }
1115: 
1115:       template<typename _Tp1>
1115:  bool
1115:  owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept
1115:  { return _M_refcount._M_less(__rhs._M_refcount); }
1115: 
1115:       template<typename _Tp1>
1115:  bool
1115:  owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept
1115:  { return _M_ref09: 
609: 
609:   constexpr float
609:   remainder(float __x, float __y)
609:   { return __builtin_remainderf(__x, __y); }
609: 
609:   constexpr long double
609:   remainder(long double __x, long double __y)
609:   { return __builtin_remainderl(__x, __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     remainder(_Tp __x, _Up __y)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return remainder(__type(__x), __type(__y));
609:     }
609: 
609: 
609: 
609:   inline float
609:   remquo(float __x, float __y, int* __pquo)
609:   { return __builtin_remquof(__x, __y, __pquo); }
609: 
609:   inline long double
609:   remquo(long double __x, long double __y, int* __pquo)
609:   { return __builtin_remquol(__x, __y, __pquo); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Up>
609:     inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
609:     remquo(_Tp __x, _Up __y, int* __pquo)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
609:       return remquo(__type(__x), __type(__y), __pquo);
609:     }
609: 
609: 
609: 
609:   constexpr float
609:   rint(float __x)
609:   { return __builtin_rintf(__x); }
609: 
609:   constexpr long double
609:   rint(long double __x)
609:   { return __builtin_rintl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     rint(_Tp __x)
609:     { return __builtin_rint(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   round(float __x)
609:   { return __builtin_roundf(__x); }
609: 
609:   constexpr long double
609:   round(long double __x)
609:   { return __builtin_roundl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     round(_Tp __x)
609:     { return __builtin_round(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   scalbln(float __x, long __ex)
609:   { return __builtin_scalblnf(__x, __ex); }
609: 
609:   constexpr long double
609:   scalbln(long double __x, long __ex)
609:   { return __builtin_scalblnl(__x, __ex); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     scalbln(_Tp __x, long __ex)
609:     { return __builtin_scalbln(__x, __ex); }
609: 
609: 
609: 
609:   constexpr float
609:   scalbn(float __x, int __ex)
609:   { return __builtin_scalbnf(__x, __ex); }
609: 
609:   constexpr long double
609:   scalbn(long double __x, int __ex)
609:   { return __builtin_scalbnl(__x, __ex); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     scalbn(_Tp __x, int __ex)
609:     { return __builtin_scalbn(__x, __ex); }
609: 
609: 
609: 
609:   constexpr float
609:   tgamma(float __x)
609:   { return __builtin_tgammaf(__x); }
609: 
609:   constexpr long double
609:   tgamma(long double __x)
609:   { return __builtin_tgammal(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     tgamma(_Tp __x)
609:     { return __builtin_tgamma(__x); }
609: 
609: 
609: 
609:   constexpr float
609:   trunc(float __x)
609:   { return __builtin_truncf(__x); }
609: 
609:   constexpr long double
609:   trunc(long double __x)
609:   { return __builtin_truncl(__x); }
609: 
609: 
609: 
609:   template<typename _Tp>
609:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
609:                                               double>::__type
609:     _Alloc& __a)
1412:     { return _Base_type::select_on_container_copy_construction(__a); }
1412: 
1412:     static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
1412:     { std::__alloc_on_swap(__a, __b); }
1412: 
1412:     static constexpr bool _S_propagate_on_copy_assign()
1412:     { return _Base_type::propagate_on_container_copy_assignment::value; }
1412: 
1412:     static constexpr bool _S_propagate_on_move_assign()
1412:     { return _Base_type::propagate_on_container_move_assignment::value; }
1412: 
1412:     static constexpr bool _S_propagate_on_swap()
1412:     { return _Base_type::propagate_on_container_swap::value; }
1412: 
1412:     static constexpr bool _S_always_equal()
1412:     { return _Base_type::is_always_equal::value; }
1412: 
1412:     static constexpr bool _S_nothrow_move()
1412:     { return _S_propagate_on_move_assign() || _S_always_equal(); }
1412: 
1412:     template<typename _Tp>
1412:       struct rebind
1412:       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
1412: # 166 "/usr/include/c++/12/ext/alloc_traits.h" 3
1412:   };
1412: 
1412: 
1412: }
1412: # 68 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/ext/aligned_buffer.h" 1 3
1412: # 32 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1412:        
1412: # 33 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace __gnu_cxx
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __aligned_membuf
1412:     {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       struct _Tp2 { _Tp _M_t; };
1412: 
1412:       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
1412: 
1412:       __aligned_membuf() = default;
1412: 
1412: 
1412:       __aligned_membuf(std::nullptr_t) { }
1412: 
1412:       void*
1412:       _M_addr() noexcept
1412:       { return static_cast<void*>(&_M_storage); }
1412: 
1412:       const void*
1412:       _M_addr() const noexcept
1412:       { return static_cast<const void*>(&_M_storage); }
1412: 
1412:       _Tp*
1412:       _M_ptr() noexcept
1412:       { return static_cast<_Tp*>(_M_addr()); }
1412: 
1412:       const _Tp*
1412:       _M_ptr() const noexcept
1412:       { return static_cast<const _Tp*>(_M_addr()); }
1412:     };
1412: # 89 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1412:   template<typename _Tp>
1412:     struct __aligned_buffer
1412:     : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
1412:     {
1412:       typename
1412:  std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>::type _M_storage;
1412: 
1412:       __aligned_buffer() = default;
1412: 
1412: 
1412:       __aligned_buffer(std::nullptr_t) { }
1412: 
1412:       void*
1412:       _M_addr() noexcept
1412:       {
1412:         return static_cast<void*>(&_M_storage);
1412:       }
1412: 
1412:       const void*
1412:       _M_addr() const noexcept
1412:       {
1412:         return static_cast<const void*>(&_M_storage);
1412:       }
1412: 
1412:       _Tp*
1412:       _M_ptr() noexcept
1412:       { return static_cast<_Tp*>(_M_addr()); }
1412: 
1412:       const _Tp*
1412:       _M_ptr() const noexcept
1412:       { return static_cast<const _Tp*>(_M_addr()); }
1412:     };
1412: 
1412: 
1412: }
1412: # 70 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/node_handle.h" 1 3
1412: # 34 "/usr/include/c++/12/bits/node_handle.h" 3
1412:        
1412: # 35 "/usr/include/c++/12/bits/node_handle.h" 3
1412: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 63 "/usr/include/c++/12/bits/node_handle.h" 3
1412:   template<typename _Val, typename _NodeAlloc>
1412:     class _Node_handle_common
1412:     {
1412:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1412: 
1412:     public:
1412:       using allocator_type = __alloc_rebind<_NodeAlloc, _Val>;
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       {
1412:  do { if (std::__is_consta trunc(_Tp __x)
609:     { return __builtin_trunc(__x); }
609: # 1852 "/usr/include/c++/12/cmath" 3
609:   template<typename _Tp>
609:     inline _Tp
609:     __hypot3(_Tp __x, _Tp __y, _Tp __z)
609:     {
609:       __x = std::abs(__x);
609:       __y = std::abs(__y);
609:       __z = std::abs(__z);
609:       if (_Tp __a = __x < __y ? __y < __z ? __z : __y : __x < __z ? __z : __x)
609:  return __a * std::sqrt((__x / __a) * (__x / __a)
609:           + (__y / __a) * (__y / __a)
609:           + (__z / __a) * (__z / __a));
609:       else
609:  return {};
609:     }
609: 
609:   inline float
609:   hypot(float __x, float __y, float __z)
609:   { return std::__hypot3<float>(__x, __y, __z); }
609: 
609:   inline double
609:   hypot(double __x, double __y, double __z)
609:   { return std::__hypot3<double>(__x, __y, __z); }
609: 
609:   inline long double
609:   hypot(long double __x, long double __y, long double __z)
609:   { return std::__hypot3<long double>(__x, __y, __z); }
609: 
609:   template<typename _Tp, typename _Up, typename _Vp>
609:     __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>
609:     hypot(_Tp __x, _Up __y, _Vp __z)
609:     {
609:       using __type = __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>;
609:       return std::__hypot3<__type>(__x, __y, __z);
609:     }
609: # 1931 "/usr/include/c++/12/cmath" 3
609: 
609: }
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/specfun.h" 1 3
609: # 33 "/usr/include/c++/12/bits/specfun.h" 3
609: #pragma GCC visibility push(default)
609: # 46 "/usr/include/c++/12/bits/specfun.h" 3
609: # 1 "/usr/include/c++/12/limits" 1 3
609: # 40 "/usr/include/c++/12/limits" 3
609:        
609: # 41 "/usr/include/c++/12/limits" 3
609: # 158 "/usr/include/c++/12/limits" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   enum float_round_style
609:   {
609:     round_indeterminate = -1,
609:     round_toward_zero = 0,
609:     round_to_nearest = 1,
609:     round_toward_infinity = 2,
609:     round_toward_neg_infinity = 3
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   enum float_denorm_style
609:   {
609: 
609:     denorm_indeterminate = -1,
609: 
609:     denorm_absent = 0,
609: 
609:     denorm_present = 1
609:   };
609: # 202 "/usr/include/c++/12/limits" 3
609:   struct __numeric_limits_base
609:   {
609: 
609: 
609:     static constexpr bool is_specialized = false;
609: 
609: 
609: 
609: 
609:     static constexpr int digits = 0;
609: 
609: 
609:     static constexpr int digits10 = 0;
609: 
609: 
609: 
609: 
609:     static constexpr int max_digits10 = 0;
609: 
609: 
609: 
609:     static constexpr bool is_signed = false;
609: 
609: 
609:     static constexpr bool is_integer = false;
609: 
609: 
609: 
609: 
609:     static constexpr bool is_exact = false;
609: 
609: 
609: 
609:     static constexpr int radix = 0;
609: 
609: 
609: 
609:     static constexpr int min_exponent = 0;
609: 
609: 
609: 
609:     static constexpr int min_exponent10 = 0;
609: 
609: 
609: 
609: 
609:     static constexpr int max_exponent = 0;
609: 
609: 
609: 
609:     static constexpr int max_exponent10 = 0;
609: 
609: 
609:     static constexpr bool has_infinity = false;
609: 
609: 
609: 
609:     static constexpr bool has_quiet_NaN = false;
609: 
609: 
609: 
609:     static constexpr bool has_signaling_NaN = false;
609: 
609: 
609:     static constexpr float_denorm_style has_denorm = denorm_absent;
609: 
609: 
609: 
609:     static constexpr bool has_denorm_loss = false;
609: 
609: 
609: 
609:     static constexpr bool is_iec559 = false;
609: 
609: 
609: 
609: 
609:     static constexpr bool is_bounded = false;
609: # 288 "/usr/include/c++/12/limits" 3
609:     static constexpr bool is_modulo = false;
609: 
609: 
609:     static constexpr bool traps = false;
609: 
609: 
609:     static constexpr bool tinyness_before = false;
609: 
609: 
609: 
609: 
609:     static constexpr float_round_style round_style =
609:           round_toward_zero;
609:   };
609: # 311 "/usr/include/c++/12/limits" 3
609:   template<typename _Tp>
609:     struct numecount._M_less(__rhs._M_refcount); }
1115: 
1115:       void
1115:       reset() noexcept
1115:       { __weak_ptr().swap(*this); }
1115: 
1115:       void
1115:       swap(__weak_ptr& __s) noexcept
1115:       {
1115:  std::swap(_M_ptr, __s._M_ptr);
1115:  _M_refcount._M_swap(__s._M_refcount);
1115:       }
1115: 
1115:     private:
1115: 
1115:       void
1115:       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
1115:       {
1115:  if (use_count() == 0)
1115:    {
1115:      _M_ptr = __ptr;
1115:      _M_refcount = __refcount;
1115:    }
1115:       }
1115: 
1115:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1115:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1115:       friend class __enable_shared_from_this<_Tp, _Lp>;
1115:       friend class enable_shared_from_this<_Tp>;
1115: 
1115: 
1115: 
1115: 
1115:       element_type* _M_ptr;
1115:       __weak_count<_Lp> _M_refcount;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline void
1115:     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
1115:     { __a.swap(__b); }
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:   template<typename _Tp, typename _Tp1>
1115:     struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool>
1115:     {
1115:       bool
1115:       operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept
1115:       { return __lhs.owner_before(__rhs); }
1115: 
1115:       bool
1115:       operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept
1115:       { return __lhs.owner_before(__rhs); }
1115: 
1115:       bool
1115:       operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept
1115:       { return __lhs.owner_before(__rhs); }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115:   template<>
1115:     struct _Sp_owner_less<void, void>
1115:     {
1115:       template<typename _Tp, typename _Up>
1115:  auto
1115:  operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept
1115:  -> decltype(__lhs.owner_before(__rhs))
1115:  { return __lhs.owner_before(__rhs); }
1115: 
1115:       using is_transparent = void;
1115:     };
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     struct owner_less<__shared_ptr<_Tp, _Lp>>
1115:     : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>>
1115:     { };
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     struct owner_less<__weak_ptr<_Tp, _Lp>>
1115:     : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     class __enable_shared_from_this
1115:     {
1115:     protected:
1115:       constexpr __enable_shared_from_this() noexcept { }
1115: 
1115:       __enable_shared_from_this(const __enable_shared_from_this&) noexcept { }
1115: 
1115:       __enable_shared_from_this&
1115:       operator=(const __enable_shared_from_this&) noexcept
1115:       { return *this; }
1115: 
1115:       ~__enable_shared_from_this() { }
1115: 
1115:     public:
1115:       __shared_ptr<_Tp, _Lp>
1115:       shared_from_this()
1115:       { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
1115: 
1115:       __shared_ptr<const _Tp, _Lp>
1115:       shared_from_this() const
1115:       { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
1115: 
1115: 
1115:       __weak_ptr<_Tp, _Lp>
1115:       weak_from_this() noexcept
1115:       { return this->_M_weak_this; }
1115: 
1115:       __weak_ptr<const _Tp, _Lp>
1115:       weak_from_this() const noexcept
1115:       { return this->_M_weak_this; }
1115: 
1115: 
1115:     private:
1115:       template<typename _Tp1>
1115:  void
1115:  _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept
1115:  { _M_weak_this._M_assign(__p, __n); }
1115: 
1115:       friend const __enable_shared_from_this*
1115:       __enable_shared_from_this_base(const __shared_count<_Lp>&,
1115:          const __enabnt_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1412:  return allocator_type(_M_alloc._M_alloc);
1412:       }
1412: 
1412:       explicit operator bool() const noexcept { return _M_ptr != nullptr; }
1412: 
1412:       [[nodiscard]] bool empty() const noexcept { return _M_ptr == nullptr; }
1412: 
1412: 
1412:     protected:
1412:       constexpr _Node_handle_common() noexcept : _M_ptr() { }
1412: 
1412:       ~_Node_handle_common()
1412:       {
1412:  if (!empty())
1412:    _M_reset();
1412:       }
1412: 
1412:       _Node_handle_common(_Node_handle_common&& __nh) noexcept
1412:       : _M_ptr(__nh._M_ptr)
1412:       {
1412:  if (_M_ptr)
1412:    _M_move(std::move(__nh));
1412:       }
1412: 
1412:       _Node_handle_common&
1412:       operator=(_Node_handle_common&& __nh) noexcept
1412:       {
1412:  if (empty())
1412:    {
1412:      if (!__nh.empty())
1412:        _M_move(std::move(__nh));
1412:    }
1412:  else if (__nh.empty())
1412:    _M_reset();
1412:  else
1412:    {
1412: 
1412:      _AllocTraits::destroy(*_M_alloc, _M_ptr->_M_valptr());
1412:      _AllocTraits::deallocate(*_M_alloc, _M_ptr, 1);
1412: 
1412:      _M_alloc = __nh._M_alloc.release();
1412:      _M_ptr = __nh._M_ptr;
1412:      __nh._M_ptr = nullptr;
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:       _Node_handle_common(typename _AllocTraits::pointer __ptr,
1412:      const _NodeAlloc& __alloc)
1412:       : _M_ptr(__ptr), _M_alloc(__alloc)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__ptr != nullptr)) __builtin_unreachable(); } while (false);
1412:       }
1412: 
1412:       void
1412:       _M_swap(_Node_handle_common& __nh) noexcept
1412:       {
1412:  if (empty())
1412:    {
1412:      if (!__nh.empty())
1412:        _M_move(std::move(__nh));
1412:    }
1412:  else if (__nh.empty())
1412:    __nh._M_move(std::move(*this));
1412:  else
1412:    {
1412:      using std::swap;
1412:      swap(_M_ptr, __nh._M_ptr);
1412:      _M_alloc.swap(__nh._M_alloc);
1412:    }
1412:       }
1412: 
1412:     private:
1412: 
1412: 
1412: 
1412:       void
1412:       _M_move(_Node_handle_common&& __nh) noexcept
1412:       {
1412:  ::new (std::__addressof(_M_alloc)) _NodeAlloc(__nh._M_alloc.release());
1412:  _M_ptr = __nh._M_ptr;
1412:  __nh._M_ptr = nullptr;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_reset() noexcept
1412:       {
1412:  _NodeAlloc __alloc = _M_alloc.release();
1412:  _AllocTraits::destroy(__alloc, _M_ptr->_M_valptr());
1412:  _AllocTraits::deallocate(__alloc, _M_ptr, 1);
1412:  _M_ptr = nullptr;
1412:       }
1412: 
1412:     protected:
1412:       typename _AllocTraits::pointer _M_ptr;
1412: 
1412:     private:
1412: 
1412: 
1412:       union _Optional_alloc
1412:       {
1412:  _Optional_alloc() { }
1412:  ~_Optional_alloc() { }
1412: 
1412:  _Optional_alloc(_Optional_alloc&&) = delete;
1412:  _Optional_alloc& operator=(_Optional_alloc&&) = delete;
1412: 
1412:  _Optional_alloc(const _NodeAlloc& __alloc) noexcept
1412:  : _M_alloc(__alloc)
1412:  { }
1412: 
1412: 
1412:  void
1412:  operator=(_NodeAlloc&& __alloc) noexcept
1412:  {
1412:    using _ATr = _AllocTraits;
1412:    if constexpr (_ATr::propagate_on_container_move_assignment::value)
1412:      _M_alloc = std::move(__alloc);
1412:    else if constexpr (!_AllocTraits::is_always_equal::value)
1412:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __alloc)) __builtin_unreachable(); } while (false);
1412:  }
1412: 
1412: 
1412:  void
1412:  swap(_Optional_alloc& __other) noexcept
1412:  {
1412:    using std::swap;
1412:    if constexpr (_AllocTraits::propagate_on_container_swap::value)
1412:      swap(_M_alloc, __other._M_alloc);
1412:    else if constexpr (!_AllocTraits::is_always_equal::value)
1412:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __other._M_alloc)) __builtin_unreachable(); } while (false);
1412:  }
1412: 
1412: 
1412:  _NodeAlloc& operator*() noexcept { return _M_alloc; }
1412: 
1412: 
1412:  _NodeAlloc release() noexcept
e constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
1417: template <typename _Tp, typename... _Args>
1417:   inline constexpr bool is_trivially_constructible_v =
1417:     is_trivially_constructible<_Tp, _Args...>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivially_default_constructible_v =
1417:     is_trivially_default_constructible<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivially_copy_constructible_v =
1417:     is_trivially_copy_constructible<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivially_move_constructible_v =
1417:     is_trivially_move_constructible<_Tp>::value;
1417: template <typename _Tp, typename _Up>
1417:   inline constexpr bool is_trivially_assignable_v =
1417:     is_trivially_assignable<_Tp, _Up>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivially_copy_assignable_v =
1417:     is_trivially_copy_assignable<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivially_move_assignable_v =
1417:     is_trivially_move_assignable<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_trivially_destructible_v =
1417:     is_trivially_destructible<_Tp>::value;
1417: template <typename _Tp, typename... _Args>
1417:   inline constexpr bool is_nothrow_constructible_v =
1417:     is_nothrow_constructible<_Tp, _Args...>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_nothrow_default_constructible_v =
1417:     is_nothrow_default_constructible<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_nothrow_copy_constructible_v =
1417:     is_nothrow_copy_constructible<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_nothrow_move_constructible_v =
1417:     is_nothrow_move_constructible<_Tp>::value;
1417: template <typename _Tp, typename _Up>
1417:   inline constexpr bool is_nothrow_assignable_v =
1417:     is_nothrow_assignable<_Tp, _Up>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_nothrow_copy_assignable_v =
1417:     is_nothrow_copy_assignable<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_nothrow_move_assignable_v =
1417:     is_nothrow_move_assignable<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool is_nothrow_destructible_v =
1417:     is_nothrow_destructible<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr bool has_virtual_destructor_v =
1417:     has_virtual_destructor<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
1417: template <typename _Tp>
1417:   inline constexpr size_t rank_v = rank<_Tp>::value;
1417: template <typename _Tp, unsigned _Idx = 0>
1417:   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
1417: 
1417: template <typename _Tp, typename _Up>
1417:   inline constexpr bool is_same_v = __is_same(_Tp, _Up);
1417: 
1417: 
1417: 
1417: 
1417: template <typename _Base, typename _Derived>
1417:   inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value;
1417: template <typename _From, typename _To>
1417:   inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value;
1417: template<typename _Fn, typename... _Args>
1417:   inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
1417: template<typename _Fn, typename... _Args>
1417:   inline constexpr bool is_nothrow_invocable_v
1417:     = is_nothrow_invocable<_Fn, _Args...>::value;
1417: template<typename _Ret, typename _Fn, typename... _Args>
1417:   inline constexpr bool is_invocable_r_v
1417:     = is_invocable_r<_Ret, _Fn, _Args...>::value;
1417: template<typename _Ret, typename _Fn, typename... _Args>
1417:   inline constexpr bool is_nothrow_invocable_r_v
1417:     = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct has_unique_object_representations
1417:     : bool_constant<__has_unique_object_representations(
1417:       remove_cv_t<remove_all_extents_t<_Tp>>
1417:       )>
1417:     {
1417:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1417:  "template argument must be a complete class or an unbounded array");
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr bool has_unique_object_representations_v
1417:       = has_unique_object_representations<_Tp>::value;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_aggregate
1417:     : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value;
1417: # 3703 "/usr/include/c++/12/type_traits" 3
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/move.h" 1 3
1417: # 38 "/usr/include/c++/12/bits/move.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr _Tp*
1417:     __addressof(_Tp& __r) noexcept
1417:     { return __builtin_addressof(__r); }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 74 "/usr/include/c++/12/bits/move.h" 3
1417:   template<typename _Tp>
1417:     [[__nodiscard__]]
1417:     constexpr _Tp&&
1417:     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
1417:     { return static_cast<_Tp&&>(__t); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]]
1417:     constexpr _Tp&&
1417:     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
1417:     {
1417:       static_assert(!std::is_lvalue_reference<_Tp>::value,
1417:    "std::forward must not be used to convert an rvalue to an lvalue");
1417:       return static_cast<_Tp&&>(__t);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]]
1417:     constexpr typename std::remove_reference<_Tp>::type&&
1417:     move(_Tp&& __t) noexcept
1417:     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __move_if_noexcept_cond
1417:     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
1417:                     is_copy_constructible<_Tp>>::type { };
1417: # 121 "/usr/include/c++/12/bits/move.h" 3
1417:   template<typename _Tp>
1417:     [[__nodiscard__]]
1417:     constexpr
1417:     __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
1417:     move_if_noexcept(_Tp& __x) noexcept
1417:     { return std::move(__x); }
1417: # 142 "/usr/include/c++/12/bits/move.h" 3
1417:   template<typename _Tp>
1417:     [[__nodiscard__]]
1417:     inline constexpr _Tp*
1417:     addressof(_Tp& __r) noexcept
1417:     { return std::__addressof(__r); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     const _Tp* addressof(const _Tp&&) = delete;
1417: 
1417: 
1417:   template <typename _Tp, typename _Up = _Tp>
1417:    
1417:     inline _Tp
1417:     __exchange(_Tp& __obj, _Up&& __new_val)
1417:     {
1417:       _Tp __old_val = std::move(__obj);
1417:       __obj = std::forward<_Up>(__new_val);
1417:       return __old_val;
1417:     }
1417: # 186 "/usr/include/c++/12/bits/move.h" 3
1417:   template<typename _Tp>
1417:    
1417:     inline
1417: 
1417:     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
1417:          is_move_constructible<_Tp>,
1417:          is_move_assignable<_Tp>>::value>::type
1417: 
le_shared_from_this* __p)
1115:       { return __p; }
1115: 
1115:       template<typename, _Lock_policy>
1115:  friend class __shared_ptr;
1115: 
1115:       mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
1115:     };
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1115:     typename _Alloc, typename... _Args>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     __allocate_shared(const _Alloc& __a, _Args&&... __args)
1115:     {
1115:       static_assert(!is_array<_Tp>::value, "make_shared<T[]> not supported");
1115: 
1115:       return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1115:         std::forward<_Args>(__args)...);
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1115:     typename... _Args>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     __make_shared(_Args&&... __args)
1115:     {
1115:       typedef typename std::remove_const<_Tp>::type _Tp_nc;
1115:       return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
1115:            std::forward<_Args>(__args)...);
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     struct hash<__shared_ptr<_Tp, _Lp>>
1115:     : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
1115:     {
1115:       size_t
1115:       operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept
1115:       {
1115:  return hash<typename __shared_ptr<_Tp, _Lp>::element_type*>()(
1115:      __s.get());
1115:       }
1115:     };
1115: 
1115: 
1115: }
1115: # 54 "/usr/include/c++/12/bits/shared_ptr.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 68 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp>
1115:     inline std::basic_ostream<_Ch, _Tr>&
1115:     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
1115:         const __shared_ptr<_Tp, _Lp>& __p)
1115:     {
1115:       __os << __p.get();
1115:       return __os;
1115:     }
1115: 
1115:   template<typename _Del, typename _Tp, _Lock_policy _Lp>
1115:     inline _Del*
1115:     get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept
1115:     {
1115: 
1115:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1115: 
1115: 
1115: 
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Del, typename _Tp>
1115:     inline _Del*
1115:     get_deleter(const shared_ptr<_Tp>& __p) noexcept
1115:     {
1115: 
1115:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1115: 
1115: 
1115: 
1115:     }
1115: # 111 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Tp>
1115:     using _NonArray = __enable_if_t<!is_array<_Tp>::value, _Tp>;
1115: # 174 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Tp>
1115:     class shared_ptr : public __shared_ptr<_Tp>
1115:     {
1115:       template<typename... _Args>
1115:  using _Constructible = typename enable_if<
1115:    is_constructible<__shared_ptr<_Tp>, _Args...>::value
1115:  >::type;
1115: 
1115:       template<typename _Arg>
1115:  using _Assignable = typename enable_if<
1115:    is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr&
1115:  >::type;
1115: 
1115:     public:
1115: 
1115: 
1115:       using element_type = typename __shared_ptr<_Tp>::element_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using weak_type = weak_ptr<_Tp>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
1115: 
1115:       shared_ptr(const shared_ptr&) noexcept = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Yp, typename = _Constructible<_Yp*>>
1115:  explicit
1115:  shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
1115: # 229 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       template<typename _Yp, typename _Deleter,
1115:         typename = _Constructible<_Yp*, _Deleter>>
1115:  shared_ptr(_Yp* __p, _Deleter __d)
1115:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1115: # 247 "/us1417: 
1417: 
1417:     swap(_Tp& __a, _Tp& __b)
1417:     noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
1417: 
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:       _Tp __tmp = std::move(__a);
1417:       __a = std::move(__b);
1417:       __b = std::move(__tmp);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:    
1417:     inline
1417: 
1417:     typename enable_if<__is_swappable<_Tp>::value>::type
1417: 
1417: 
1417: 
1417:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1417:     noexcept(__is_nothrow_swappable<_Tp>::value)
1417:     {
1417:       for (size_t __n = 0; __n < _Nm; ++__n)
1417:  swap(__a[__n], __b[__n]);
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/utility.h" 1 3
1417: # 36 "/usr/include/c++/12/bits/utility.h" 3
1417:        
1417: # 37 "/usr/include/c++/12/bits/utility.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct tuple_size;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp,
1417:     typename _Up = typename remove_cv<_Tp>::type,
1417:     typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
1417:     size_t = tuple_size<_Tp>::value>
1417:     using __enable_if_has_tuple_size = _Tp;
1417: 
1417:   template<typename _Tp>
1417:     struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
1417:     : public tuple_size<_Tp> { };
1417: 
1417:   template<typename _Tp>
1417:     struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
1417:     : public tuple_size<_Tp> { };
1417: 
1417:   template<typename _Tp>
1417:     struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
1417:     : public tuple_size<_Tp> { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
1417: 
1417: 
1417: 
1417:   template<size_t __i, typename _Tp>
1417:     struct tuple_element;
1417: 
1417: 
1417:   template<size_t __i, typename _Tp>
1417:     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
1417: 
1417:   template<size_t __i, typename _Tp>
1417:     struct tuple_element<__i, const _Tp>
1417:     {
1417:       typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
1417:     };
1417: 
1417:   template<size_t __i, typename _Tp>
1417:     struct tuple_element<__i, volatile _Tp>
1417:     {
1417:       typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
1417:     };
1417: 
1417:   template<size_t __i, typename _Tp>
1417:     struct tuple_element<__i, const volatile _Tp>
1417:     {
1417:       typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename... _Types>
1417:     constexpr size_t
1417:     __find_uniq_type_in_pack()
1417:     {
1417:       constexpr size_t __sz = sizeof...(_Types);
1417:       constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
1417:       size_t __n = __sz;
1417:       for (size_t __i = 0; __i < __sz; ++__i)
1417:  {
1417:    if (__found[__i])
1417:      {
1417:        if (__n < __sz)
1417:   return __sz;
1417:        __n = __i;
1417:      }
1417:  }
1417:       return __n;
1417:     }
1417: # 134 "/usr/include/c++/12/bits/utility.h" 3
1417:   template<size_t __i, typename _Tp>
1417:     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417:   template<size_t... _Indexes> struct _Index_tuple { };
1417: 
1417: 
1417:   template<size_t _Num>
1417:     struct _Build_index_tuple
1417:     {
1417: # 154 "/usr/include/c++/12/bits/utility.h" 3
1417:       using __type = _Index_tuple<__integer_pack(_Num)...>;
1417: 
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, _Tp... _Idx>
1417:     struct integer_sequence
1417:     {
1417:       typedef _Tp value_type;
1417:       static c1412:  {
1412:    _NodeAlloc __tmp = std::move(_M_alloc);
1412:    _M_alloc.~_NodeAlloc();
1412:    return __tmp;
1412:  }
1412: 
1412:  struct _Empty { };
1412: 
1412:  [[__no_unique_address__]] _Empty _M_empty;
1412:  [[__no_unique_address__]] _NodeAlloc _M_alloc;
1412:       };
1412: 
1412:       [[__no_unique_address__]] _Optional_alloc _M_alloc;
1412: 
1412:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1412:         typename _Compare, typename _ValueAlloc>
1412:  friend class _Rb_tree;
1412: 
1412: 
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _NodeAlloc>
1412:     class _Node_handle : public _Node_handle_common<_Value, _NodeAlloc>
1412:     {
1412:     public:
1412:       constexpr _Node_handle() noexcept = default;
1412:       ~_Node_handle() = default;
1412:       _Node_handle(_Node_handle&&) noexcept = default;
1412: 
1412:       _Node_handle&
1412:       operator=(_Node_handle&&) noexcept = default;
1412: 
1412:       using key_type = _Key;
1412:       using mapped_type = typename _Value::second_type;
1412: 
1412:       key_type&
1412:       key() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1412:  return *_M_pkey;
1412:       }
1412: 
1412:       mapped_type&
1412:       mapped() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1412:  return *_M_pmapped;
1412:       }
1412: 
1412:       void
1412:       swap(_Node_handle& __nh) noexcept
1412:       {
1412:  this->_M_swap(__nh);
1412:  using std::swap;
1412:  swap(_M_pkey, __nh._M_pkey);
1412:  swap(_M_pmapped, __nh._M_pmapped);
1412:       }
1412: 
1412:       friend void
1412:       swap(_Node_handle& __x, _Node_handle& __y)
1412:       noexcept(noexcept(__x.swap(__y)))
1412:       { __x.swap(__y); }
1412: 
1412:     private:
1412:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1412: 
1412:       _Node_handle(typename _AllocTraits::pointer __ptr,
1412:      const _NodeAlloc& __alloc)
1412:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc)
1412:       {
1412:  if (__ptr)
1412:    {
1412:      auto& __key = const_cast<_Key&>(__ptr->_M_valptr()->first);
1412:      _M_pkey = _S_pointer_to(__key);
1412:      _M_pmapped = _S_pointer_to(__ptr->_M_valptr()->second);
1412:    }
1412:  else
1412:    {
1412:      _M_pkey = nullptr;
1412:      _M_pmapped = nullptr;
1412:    }
1412:       }
1412: 
1412:       template<typename _Tp>
1412:  using __pointer
1412:    = __ptr_rebind<typename _AllocTraits::pointer,
1412:     remove_reference_t<_Tp>>;
1412: 
1412:       __pointer<_Key> _M_pkey = nullptr;
1412:       __pointer<typename _Value::second_type> _M_pmapped = nullptr;
1412: 
1412:       template<typename _Tp>
1412:  __pointer<_Tp>
1412:  _S_pointer_to(_Tp& __obj)
1412:  { return pointer_traits<__pointer<_Tp>>::pointer_to(__obj); }
1412: 
1412:       const key_type&
1412:       _M_key() const noexcept { return key(); }
1412: 
1412:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1412:         typename _Compare, typename _ValueAlloc>
1412:  friend class _Rb_tree;
1412: 
1412:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1412:         typename _ExtractKey, typename _Equal,
1412:         typename _Hash, typename _RangeHash, typename _Unused,
1412:         typename _RehashPolicy, typename _Traits>
1412:  friend class _Hashtable;
1412:     };
1412: 
1412: 
1412:   template<typename _Value, typename _NodeAlloc>
1412:     class _Node_handle<_Value, _Value, _NodeAlloc>
1412:     : public _Node_handle_common<_Value, _NodeAlloc>
1412:     {
1412:     public:
1412:       constexpr _Node_handle() noexcept = default;
1412:       ~_Node_handle() = default;
1412:       _Node_handle(_Node_handle&&) noexcept = default;
1412: 
1412:       _Node_handle&
1412:       operator=(_Node_handle&&) noexcept = default;
1412: 
1412:       using value_type = _Value;
1412: 
ric_limits : public __numeric_limits_base
609:     {
609: 
609: 
609:       static constexpr _Tp
609:       min() noexcept { return _Tp(); }
609: 
609: 
609:       static constexpr _Tp
609:       max() noexcept { return _Tp(); }
609: 
609: 
609: 
609: 
609:       static constexpr _Tp
609:       lowest() noexcept { return _Tp(); }
609: 
609: 
609: 
609: 
609:       static constexpr _Tp
609:       epsilon() noexcept { return _Tp(); }
609: 
609: 
609:       static constexpr _Tp
609:       round_error() noexcept { return _Tp(); }
609: 
609: 
609:       static constexpr _Tp
609:       infinity() noexcept { return _Tp(); }
609: 
609: 
609: 
609:       static constexpr _Tp
609:       quiet_NaN() noexcept { return _Tp(); }
609: 
609: 
609: 
609:       static constexpr _Tp
609:       signaling_NaN() noexcept { return _Tp(); }
609: 
609: 
609: 
609: 
609:       static constexpr _Tp
609:       denorm_min() noexcept { return _Tp(); }
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct numeric_limits<const _Tp>
609:     : public numeric_limits<_Tp> { };
609: 
609:   template<typename _Tp>
609:     struct numeric_limits<volatile _Tp>
609:     : public numeric_limits<_Tp> { };
609: 
609:   template<typename _Tp>
609:     struct numeric_limits<const volatile _Tp>
609:     : public numeric_limits<_Tp> { };
609: # 383 "/usr/include/c++/12/limits" 3
609:   template<>
609:     struct numeric_limits<bool>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr bool
609:       min() noexcept { return false; }
609: 
609:       static constexpr bool
609:       max() noexcept { return true; }
609: 
609: 
609:       static constexpr bool
609:       lowest() noexcept { return min(); }
609: 
609:       static constexpr int digits = 1;
609:       static constexpr int digits10 = 0;
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = false;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr bool
609:       epsilon() noexcept { return false; }
609: 
609:       static constexpr bool
609:       round_error() noexcept { return false; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr bool
609:       infinity() noexcept { return false; }
609: 
609:       static constexpr bool
609:       quiet_NaN() noexcept { return false; }
609: 
609:       static constexpr bool
609:       signaling_NaN() noexcept { return false; }
609: 
609:       static constexpr bool
609:       denorm_min() noexcept { return false; }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609: 
609: 
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<char>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr char
609:       min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); }
609: 
609:       static constexpr char
609:       max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) <onstexpr size_t size() noexcept { return sizeof...(_Idx); }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, _Tp _Num>
1417:     using make_integer_sequence
1417: 
1417: 
1417: 
1417:       = integer_sequence<_Tp, __integer_pack(_Num)...>;
1417: 
1417: 
1417: 
1417:   template<size_t... _Idx>
1417:     using index_sequence = integer_sequence<size_t, _Idx...>;
1417: 
1417: 
1417:   template<size_t _Num>
1417:     using make_index_sequence = make_integer_sequence<size_t, _Num>;
1417: 
1417: 
1417:   template<typename... _Types>
1417:     using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
1417: 
1417: 
1417: 
1417:   struct in_place_t {
1417:     explicit in_place_t() = default;
1417:   };
1417: 
1417:   inline constexpr in_place_t in_place{};
1417: 
1417:   template<typename _Tp> struct in_place_type_t
1417:   {
1417:     explicit in_place_type_t() = default;
1417:   };
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr in_place_type_t<_Tp> in_place_type{};
1417: 
1417:   template<size_t _Idx> struct in_place_index_t
1417:   {
1417:     explicit in_place_index_t() = default;
1417:   };
1417: 
1417:   template<size_t _Idx>
1417:     inline constexpr in_place_index_t<_Idx> in_place_index{};
1417: 
1417:   template<typename>
1417:     inline constexpr bool __is_in_place_type_v = false;
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
1417: 
1417:   template<typename _Tp>
1417:     using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>;
1417: 
1417: 
1417: 
1417: 
1417:   template<size_t _Np, typename... _Types>
1417:     struct _Nth_type
1417:     { };
1417: 
1417:   template<typename _Tp0, typename... _Rest>
1417:     struct _Nth_type<0, _Tp0, _Rest...>
1417:     { using type = _Tp0; };
1417: 
1417:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1417:     struct _Nth_type<1, _Tp0, _Tp1, _Rest...>
1417:     { using type = _Tp1; };
1417: 
1417:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1417:     struct _Nth_type<2, _Tp0, _Tp1, _Tp2, _Rest...>
1417:     { using type = _Tp2; };
1417: 
1417:   template<size_t _Np, typename _Tp0, typename _Tp1, typename _Tp2,
1417:     typename... _Rest>
1417: 
1417: 
1417: 
1417:     struct _Nth_type<_Np, _Tp0, _Tp1, _Tp2, _Rest...>
1417:     : _Nth_type<_Np - 3, _Rest...>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1417:     struct _Nth_type<0, _Tp0, _Tp1, _Rest...>
1417:     { using type = _Tp0; };
1417: 
1417:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1417:     struct _Nth_type<0, _Tp0, _Tp1, _Tp2, _Rest...>
1417:     { using type = _Tp0; };
1417: 
1417:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1417:     struct _Nth_type<1, _Tp0, _Tp1, _Tp2, _Rest...>
1417:     { using type = _Tp1; };
1417: 
1417: 
1417: 
1417: }
1417: # 63 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 80 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:   struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
1417: 
1417: 
1417:   inline constexpr piecewise_construct_t piecewise_construct =
1417:     piecewise_construct_t();
1417: 
1417: 
1417: 
1417: 
1417:   template<typename...>
1417:     class tuple;
1417: 
1417:   template<size_t...>
1417:     struct _Index_tuple;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <bool, typename _T1, typename _T2>
1417:     struct _PCC
1417:     {
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _ConstructiblePair()
1417:       {
1417:  return __and_<is_constructible<_T1, const _U1&>,
1417:         is_constructible<_T2, const _U2&>>::value;
1417:       }
1417: 
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _ImplicitlyConvertiblePair()
1417:       {
1417:  return __and_<is_convertible<const _U1&, _T1>,
1417:         is_convertible<const _U2&, _T2>>::value;
1417:       }
1417: 
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _MoveConstructiblePair()
1417:       {
1417:  return __and_<is_constructible<_T1, _U1&&>,
1417:         is_constructible<_T2, _U2&&>>::value;
1417:       }
1417: 
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1417:       {
1417:  return __and_<is_convertible<_U1&&, _T1>,
1417:         is_convertible<_U2&&, _T2>>::value;
1417:       }
1417:     };
1417: 
1417:   template <typename _T1, typename _T2>
1417:     struct _PCC<false, _T1, _T2>
1417:     {
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _ConstructiblePair()
1417:       {
1417:  return false;
1417:       }
1417: 
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _ImplicitlyConvertiblePair()
1417:       {
1417:  return false;
1417:       }
1417: 
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _MoveConstructiblePair()
1417:       {
1417:  return false;
1417:       }
1417: 
1417:       template <typename _U1, typename _U2>
1417:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1417:       {
1417:  return false;
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _U1, typename _U2> class __pair_base
1417:   {
1417: 
1417:     template<typename _T1, typename _T2> friend struct pair;
1417:     __pair_base() = default;
1417:     ~__pair_base() = default;
1417:     __pair_base(const __pair_base&) = default;
1417:     __pair_base& operator=(const __pair_base&) = delete;
1417: 
1417:   };
1417: # 184 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:   template<typename _T1, typename _T2>
1417:     struct pair
1417:     : public __pair_base<_T1, _T2>
1417:     {
1417:       typedef _T1 first_type;
1417:       typedef _T2 second_type;
1417: 
1417:       _T1 first;
1417:       _T2 second;
1417: 
1417: 
1417:       constexpr pair(const pair&) = default;
1417:       constexpr pair(pair&&) = default;
1417: 
1417:       template<typename... _Args1, typename... _Args2>
1417: 
1417:  pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
1417: 
1417: 
1417:       void
1417:       swap(pair& __p)
1417:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1417:         __is_nothrow_swappable<_T2>>::value)
1417:       {
1417:  using std::swap;
1417:  swap(first, __p.first);
1417:  swap(second, __p.second);
1417:       }
1417: 
1417:     private:
1417:       template<typename... _Args1, size_t... _Indexes1,
1417:         typename... _Args2, size_t... _Indexes2>
1417: 
1417:  pair(tuple<_Args1...>&, tuple<_Args2...>&,
1417:       _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
1417:     public:
1417: # 378 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:       template <typename _U1 = _T1,
1417:                 typename _U2 = _T2,
1417:                 typename enable_if<__and_<
1417:                                      __is_implicitly_default_constructible<_U1>,
1417:                                      __is_implicitly_default_constructible<_U2>>
1417:                                    ::value, bool>::type = true>
1417:       constexpr pair()
1417:       : first(), second() { }
1417: 
1417:       template <typename _U1 = _T1,
1417:                 typename _U2 = _T2,
1417:                 typename enable_if<__and_<
1417:                        is_default_constructible<_U1>,
1417:                        is_default_constructible<_U2>,
1417:                        __not_<
1417:                          __and_<__is_implicitly_default_constructible<_U1>,
1417:                                 __is_implicitly_default_constructible<_U2>>>>
1417:                                    ::value, bool>::type = false>
1417:       explicit constexpr pair()
1417:       : first(), second() { }
1417: 
1417: 
1417: 
1417:       using _PCCP = _PCC<true, _T1, _T2>;
1417: 
1417: 
1417: 
1417:       templat< 1) + 1) : ~(char)0); }
609: 
609: 
609:       static constexpr char
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
609:       static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = ((char)(-1) < 0);
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr char
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr char
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr
609:       char infinity() noexcept { return char(); }
609: 
609:       static constexpr char
609:       quiet_NaN() noexcept { return char(); }
609: 
609:       static constexpr char
609:       signaling_NaN() noexcept { return char(); }
609: 
609:       static constexpr char
609:       denorm_min() noexcept { return static_cast<char>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = !is_signed;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<signed char>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr signed char
609:       min() noexcept { return -0x7f - 1; }
609: 
609:       static constexpr signed char
609:       max() noexcept { return 0x7f; }
609: 
609: 
609:       static constexpr signed char
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr signed char
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr signed char
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr signed char
609:       infinity() noexcept { return static_cast<signed char>(0); }
609: 
609:       static constexpr signed char
609:       quiet_NaN() noexcept { return static_cast<signed char>(0); }
609: 
609:       static constexpr signed char
609:       signaling_NaN() noexcept
609:       { return static_cast<signed char>(0); }
609: 
609:       static constexpr signed char
609:       denorm_min() noexcept
609:       { return static_cast<signed char>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<unsigned char>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr unsigned char
609:       min() noexcept { return 0; }
609: 
609:       static constexpr unsigned char
609:       max() noexcept { return 0x7f * 2U + 1; }
609: 
609: 
609:       static constexpr unsigned char
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits
609:        = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = false;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr unsigned char
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr unsigned char
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr unsigned char
609:       infinity() noexcept
609:       { return static_cast<unsigned char>(0); }
609: 
609:       static constexpr unsigned char
609:       quiet_NaN() noexcept
609:       { return static_cast<unsigned char>(0); }
609: 
609:       static constexpr unsigned char
609:       signaling_NaN() noexcept
609:       { return static_cast<unsigned char>(0); }
609: 
609:       static constexpr unsigned char
609:       denorm_min() noexcept
609:       { return static_cast<unsigned char>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = true;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<wchar_t>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr wchar_t
609:       min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); }
609: 
609:       static constexpr wchar_t
609:       max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); }
609: 
609: 
609:       static constexpr wchar_t
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = ((wchar_t)(-1) < 0);
609:       static constexpr bool is_integer = true;
609:   e<typename _U1 = _T1, typename _U2=_T2, typename
1417:         enable_if<_PCCP::template
1417:       _ConstructiblePair<_U1, _U2>()
1417:                   && _PCCP::template
1417:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1417:                          bool>::type=true>
1417:       constexpr pair(const _T1& __a, const _T2& __b)
1417:       : first(__a), second(__b) { }
1417: 
1417: 
1417:        template<typename _U1 = _T1, typename _U2=_T2, typename
1417:   enable_if<_PCCP::template
1417:        _ConstructiblePair<_U1, _U2>()
1417:                    && !_PCCP::template
1417:        _ImplicitlyConvertiblePair<_U1, _U2>(),
1417:                          bool>::type=false>
1417:       explicit constexpr pair(const _T1& __a, const _T2& __b)
1417:       : first(__a), second(__b) { }
1417: 
1417: 
1417: 
1417:       template <typename _U1, typename _U2>
1417:         using _PCCFP = _PCC<!is_same<_T1, _U1>::value
1417:        || !is_same<_T2, _U2>::value,
1417:        _T1, _T2>;
1417: 
1417: 
1417:       template<typename _U1, typename _U2, typename
1417:         enable_if<_PCCFP<_U1, _U2>::template
1417:       _ConstructiblePair<_U1, _U2>()
1417:                   && _PCCFP<_U1, _U2>::template
1417:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1417:      bool>::type=true>
1417:         constexpr pair(const pair<_U1, _U2>& __p)
1417:         : first(__p.first), second(__p.second) { }
1417: 
1417:       template<typename _U1, typename _U2, typename
1417:         enable_if<_PCCFP<_U1, _U2>::template
1417:       _ConstructiblePair<_U1, _U2>()
1417:     && !_PCCFP<_U1, _U2>::template
1417:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1417:                          bool>::type=false>
1417:  explicit constexpr pair(const pair<_U1, _U2>& __p)
1417:  : first(__p.first), second(__p.second) { }
1417: # 460 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:     private:
1417: 
1417: 
1417: 
1417:       struct __zero_as_null_pointer_constant
1417:       {
1417:  __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
1417:  { }
1417:  template<typename _Tp,
1417:    typename = __enable_if_t<is_null_pointer<_Tp>::value>>
1417:  __zero_as_null_pointer_constant(_Tp) = delete;
1417:       };
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _U1,
1417:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1417:         is_pointer<_T2>,
1417:         is_constructible<_T1, _U1>,
1417:         __not_<is_constructible<_T1, const _U1&>>,
1417:         is_convertible<_U1, _T1>>::value,
1417:         bool> = true>
1417:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1417:  constexpr
1417:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1417:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1417: 
1417:       template<typename _U1,
1417:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1417:         is_pointer<_T2>,
1417:         is_constructible<_T1, _U1>,
1417:         __not_<is_constructible<_T1, const _U1&>>,
1417:         __not_<is_convertible<_U1, _T1>>>::value,
1417:         bool> = false>
1417:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1417:  explicit constexpr
1417:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1417:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1417: 
1417:       template<typename _U2,
1417:         __enable_if_t<__and_<is_pointer<_T1>,
1417:         __not_<is_reference<_U2>>,
1417:         is_constructible<_T2, _U2>,
1417:         __not_<is_constructible<_T2, const _U2&>>,
1417:         is_convertible<_U2, _T2>>::value,
1417:         bool> = true>
1417:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1417:  constexpr
1417:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1417:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1417: 
1417:       template<typename _U2,
1417:         __ena    static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr wchar_t
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr wchar_t
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr wchar_t
609:       infinity() noexcept { return wchar_t(); }
609: 
609:       static constexpr wchar_t
609:       quiet_NaN() noexcept { return wchar_t(); }
609: 
609:       static constexpr wchar_t
609:       signaling_NaN() noexcept { return wchar_t(); }
609: 
609:       static constexpr wchar_t
609:       denorm_min() noexcept { return wchar_t(); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = !is_signed;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: # 796 "/usr/include/c++/12/limits" 3
609:   template<>
609:     struct numeric_limits<char16_t>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr char16_t
609:       min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); }
609: 
609:       static constexpr char16_t
609:       max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); }
609: 
609:       static constexpr char16_t
609:       lowest() noexcept { return min(); }
609: 
609:       static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0));
609:       static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136);
609:       static constexpr int max_digits10 = 0;
609:       static constexpr bool is_signed = ((char16_t)(-1) < 0);
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr char16_t
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr char16_t
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr char16_t
609:       infinity() noexcept { return char16_t(); }
609: 
609:       static constexpr char16_t
609:       quiet_NaN() noexcept { return char16_t(); }
609: 
609:       static constexpr char16_t
609:       signaling_NaN() noexcept { return char16_t(); }
609: 
609:       static constexpr char16_t
609:       denorm_min() noexcept { return char16_t(); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = !is_signed;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyble_if_t<__and_<is_pointer<_T1>,
1417:         __not_<is_reference<_U2>>,
1417:         is_constructible<_T2, _U2>,
1417:         __not_<is_constructible<_T2, const _U2&>>,
1417:         __not_<is_convertible<_U2, _T2>>>::value,
1417:         bool> = false>
1417:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1417:  explicit constexpr
1417:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1417:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1417: 
1417: 
1417: 
1417:       template<typename _U1, typename _U2, typename
1417:         enable_if<_PCCP::template
1417:       _MoveConstructiblePair<_U1, _U2>()
1417:      && _PCCP::template
1417:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1417:                          bool>::type=true>
1417:  constexpr pair(_U1&& __x, _U2&& __y)
1417:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1417: 
1417:       template<typename _U1, typename _U2, typename
1417:         enable_if<_PCCP::template
1417:       _MoveConstructiblePair<_U1, _U2>()
1417:      && !_PCCP::template
1417:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1417:                          bool>::type=false>
1417:  explicit constexpr pair(_U1&& __x, _U2&& __y)
1417:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1417: 
1417: 
1417:       template<typename _U1, typename _U2, typename
1417:         enable_if<_PCCFP<_U1, _U2>::template
1417:       _MoveConstructiblePair<_U1, _U2>()
1417:      && _PCCFP<_U1, _U2>::template
1417:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1417:                          bool>::type=true>
1417:  constexpr pair(pair<_U1, _U2>&& __p)
1417:  : first(std::forward<_U1>(__p.first)),
1417:    second(std::forward<_U2>(__p.second)) { }
1417: 
1417:       template<typename _U1, typename _U2, typename
1417:         enable_if<_PCCFP<_U1, _U2>::template
1417:       _MoveConstructiblePair<_U1, _U2>()
1417:      && !_PCCFP<_U1, _U2>::template
1417:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1417:                          bool>::type=false>
1417:  explicit constexpr pair(pair<_U1, _U2>&& __p)
1417:  : first(std::forward<_U1>(__p.first)),
1417:    second(std::forward<_U2>(__p.second)) { }
1417: 
1417:       pair&
1417:       operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
1417:            is_copy_assignable<_T2>>::value,
1417:     const pair&, const __nonesuch&> __p)
1417:       {
1417:  first = __p.first;
1417:  second = __p.second;
1417:  return *this;
1417:       }
1417: 
1417:       pair&
1417:       operator=(__conditional_t<__and_<is_move_assignable<_T1>,
1417:            is_move_assignable<_T2>>::value,
1417:     pair&&, __nonesuch&&> __p)
1417:       noexcept(__and_<is_nothrow_move_assignable<_T1>,
1417:         is_nothrow_move_assignable<_T2>>::value)
1417:       {
1417:  first = std::forward<first_type>(__p.first);
1417:  second = std::forward<second_type>(__p.second);
1417:  return *this;
1417:       }
1417: 
1417:       template<typename _U1, typename _U2>
1417:  typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
1417:       is_assignable<_T2&, const _U2&>>::value,
1417:       pair&>::type
1417:  operator=(const pair<_U1, _U2>& __p)
1417:  {
1417:    first = __p.first;
1417:    second = __p.second;
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _U1, typename _U2>
1417:  typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
1417:       is_assignable<_T2&, _U2&&>>::value,
1417:       pair&>::type
1417:  operator=(pair<_U1, _U2>&& __p)
1417:  {
1417:    first = std::forward<_U1>(__p.first);
1417:    second = std::forward<_U2>(__p.second);
1417:    return *this;
1417:  }
1417: # 629 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
1417: 
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     inline constexpr bool
1417:     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
ness_before = false;
609:       static constexpr float_round_style round_style = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<char32_t>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr char32_t
609:       min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); }
609: 
609:       static constexpr char32_t
609:       max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); }
609: 
609:       static constexpr char32_t
609:       lowest() noexcept { return min(); }
609: 
609:       static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0));
609:       static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136);
609:       static constexpr int max_digits10 = 0;
609:       static constexpr bool is_signed = ((char32_t)(-1) < 0);
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr char32_t
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr char32_t
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr char32_t
609:       infinity() noexcept { return char32_t(); }
609: 
609:       static constexpr char32_t
609:       quiet_NaN() noexcept { return char32_t(); }
609: 
609:       static constexpr char32_t
609:       signaling_NaN() noexcept { return char32_t(); }
609: 
609:       static constexpr char32_t
609:       denorm_min() noexcept { return char32_t(); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = !is_signed;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style = round_toward_zero;
609:     };
609: 
609: 
609: 
609:   template<>
609:     struct numeric_limits<short>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr short
609:       min() noexcept { return -0x7fff - 1; }
609: 
609:       static constexpr short
609:       max() noexcept { return 0x7fff; }
609: 
609: 
609:       static constexpr short
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
609:       static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr short
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr short
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:     1417:     { return __x.first == __y.first && __x.second == __y.second; }
1417: # 661 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:   template<typename _T1, typename _T2>
1417:     inline constexpr bool
1417:     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1417:     { return __x.first < __y.first
1417:       || (!(__y.first < __x.first) && __x.second < __y.second); }
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     inline constexpr bool
1417:     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     inline constexpr bool
1417:     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     inline constexpr bool
1417:     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     inline constexpr bool
1417:     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1417:     { return !(__x < __y); }
1417: # 698 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:   template<typename _T1, typename _T2>
1417:     inline
1417: 
1417: 
1417:     typename enable_if<__and_<__is_swappable<_T1>,
1417:                               __is_swappable<_T2>>::value>::type
1417: 
1417: 
1417: 
1417:     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     typename enable_if<!__and_<__is_swappable<_T1>,
1417:           __is_swappable<_T2>>::value>::type
1417:     swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
1417: # 738 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:   template<typename _T1, typename _T2>
1417:     constexpr pair<typename __decay_and_strip<_T1>::__type,
1417:                    typename __decay_and_strip<_T2>::__type>
1417:     make_pair(_T1&& __x, _T2&& __y)
1417:     {
1417:       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
1417:       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
1417:       typedef pair<__ds_type1, __ds_type2> __pair_type;
1417:       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
1417:     }
1417: # 760 "/usr/include/c++/12/bits/stl_pair.h" 3
1417:   template<typename _T1, typename _T2>
1417:     struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
1417:     { };
1417: 
1417: 
1417:   template<class _Tp1, class _Tp2>
1417:     struct tuple_size<pair<_Tp1, _Tp2>>
1417:     : public integral_constant<size_t, 2> { };
1417: 
1417: 
1417:   template<class _Tp1, class _Tp2>
1417:     struct tuple_element<0, pair<_Tp1, _Tp2>>
1417:     { typedef _Tp1 type; };
1417: 
1417: 
1417:   template<class _Tp1, class _Tp2>
1417:     struct tuple_element<1, pair<_Tp1, _Tp2>>
1417:     { typedef _Tp2 type; };
1417: 
1417: 
1417:   template<typename _Tp1, typename _Tp2>
1417:     inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
1417: 
1417:   template<typename _Tp1, typename _Tp2>
1417:     inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr bool __is_pair = false;
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline constexpr bool __is_pair<const pair<_Tp, _Up>> = true;
1417: 
1417: 
1417: 
1417:   template<size_t _Int>
1417:     struct __pair_get;
1417: 
1417:   template<>
1417:     struct __pair_get<0>
1417:     {
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr _Tp1&
1417:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1417:  { return __pair.first; }
1417: 
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr _Tp1&&
1417:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1417:  { return std::forward<_Tp  static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr short
609:       infinity() noexcept { return short(); }
609: 
609:       static constexpr short
609:       quiet_NaN() noexcept { return short(); }
609: 
609:       static constexpr short
609:       signaling_NaN() noexcept { return short(); }
609: 
609:       static constexpr short
609:       denorm_min() noexcept { return short(); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<unsigned short>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr unsigned short
609:       min() noexcept { return 0; }
609: 
609:       static constexpr unsigned short
609:       max() noexcept { return 0x7fff * 2U + 1; }
609: 
609: 
609:       static constexpr unsigned short
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits
609:        = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = false;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr unsigned short
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr unsigned short
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr unsigned short
609:       infinity() noexcept
609:       { return static_cast<unsigned short>(0); }
609: 
609:       static constexpr unsigned short
609:       quiet_NaN() noexcept
609:       { return static_cast<unsigned short>(0); }
609: 
609:       static constexpr unsigned short
609:       signaling_NaN() noexcept
609:       { return static_cast<unsigned short>(0); }
609: 
609:       static constexpr unsigned short
609:       denorm_min() noexcept
609:       { return static_cast<unsigned short>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = true;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<int>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr int
609:       min() noexcept { return -0x7fffffff - 1; }
609: 
609:       static constexpr int
609:       max() noexcept { return 0x7fffffff; }
609: 
609: 
609:       static constexpr int
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
609:       static constexpr int digits10 = ((sizeof(int) * 8 - ((in1>(__pair.first); }
1417: 
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr const _Tp1&
1417:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1417:  { return __pair.first; }
1417: 
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr const _Tp1&&
1417:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1417:  { return std::forward<const _Tp1>(__pair.first); }
1417:     };
1417: 
1417:   template<>
1417:     struct __pair_get<1>
1417:     {
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr _Tp2&
1417:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1417:  { return __pair.second; }
1417: 
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr _Tp2&&
1417:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1417:  { return std::forward<_Tp2>(__pair.second); }
1417: 
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr const _Tp2&
1417:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1417:  { return __pair.second; }
1417: 
1417:       template<typename _Tp1, typename _Tp2>
1417:  static constexpr const _Tp2&&
1417:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1417:  { return std::forward<const _Tp2>(__pair.second); }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<size_t _Int, class _Tp1, class _Tp2>
1417:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1417:     get(pair<_Tp1, _Tp2>& __in) noexcept
1417:     { return __pair_get<_Int>::__get(__in); }
1417: 
1417:   template<size_t _Int, class _Tp1, class _Tp2>
1417:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1417:     get(pair<_Tp1, _Tp2>&& __in) noexcept
1417:     { return __pair_get<_Int>::__move_get(std::move(__in)); }
1417: 
1417:   template<size_t _Int, class _Tp1, class _Tp2>
1417:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1417:     get(const pair<_Tp1, _Tp2>& __in) noexcept
1417:     { return __pair_get<_Int>::__const_get(__in); }
1417: 
1417:   template<size_t _Int, class _Tp1, class _Tp2>
1417:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1417:     get(const pair<_Tp1, _Tp2>&& __in) noexcept
1417:     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr _Tp&
1417:     get(pair<_Tp, _Up>& __p) noexcept
1417:     { return __p.first; }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr const _Tp&
1417:     get(const pair<_Tp, _Up>& __p) noexcept
1417:     { return __p.first; }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr _Tp&&
1417:     get(pair<_Tp, _Up>&& __p) noexcept
1417:     { return std::move(__p.first); }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr const _Tp&&
1417:     get(const pair<_Tp, _Up>&& __p) noexcept
1417:     { return std::move(__p.first); }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr _Tp&
1417:     get(pair<_Up, _Tp>& __p) noexcept
1417:     { return __p.second; }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr const _Tp&
1417:     get(const pair<_Up, _Tp>& __p) noexcept
1417:     { return __p.second; }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr _Tp&&
1417:     get(pair<_Up, _Tp>&& __p) noexcept
1417:     { return std::move(__p.second); }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:     constexpr const _Tp&&
1417:     get(const pair<_Up, _Tp>&& __p) noexcept
1417:     { return std::move(__p.second); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 65 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 1 3
1417: # 62 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1417:        
1417: # 63 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1417: # 74 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 93 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1417:   struct input_iterator_tag { };
1417: 
1417: 
1417:   struct output_iterator_tag { };
1417: 
1417: 
1417:   struct forward_iterator_tag : public input_iterator_tag { };
1417: 
1417: 
1417: 
1417:   struct bidirectional_iterator_tag : public forward_iterator_tag { };
1417: 
1417: 
1417: 
1417:   struct random_access_iterator_tag : public bidirectional_iterator_tag { };
1417: # 125 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1417:   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
1417:            typename _Pointer = _Tp*, typename _Reference = _Tp&>
1417:     struct [[__deprecated__]] iterator
1417:     {
1417: 
1417:       typedef _Category iterator_category;
1417: 
1417:       typedef _Tp value_type;
1417: 
1417:       typedef _Distance difference_type;
1417: 
1417:       typedef _Pointer pointer;
1417: 
1417:       typedef _Reference reference;
1417:     };
1417: # 149 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1417:   template<typename _Iterator>
1417:     struct iterator_traits;
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Iterator, typename = __void_t<>>
1417:     struct __iterator_traits { };
1417: 
1417: 
1417: 
1417:   template<typename _Iterator>
1417:     struct __iterator_traits<_Iterator,
1417:         __void_t<typename _Iterator::iterator_category,
1417:           typename _Iterator::value_type,
1417:           typename _Iterator::difference_type,
1417:           typename _Iterator::pointer,
1417:           typename _Iterator::reference>>
1417:     {
1417:       typedef typename _Iterator::iterator_category iterator_category;
1417:       typedef typename _Iterator::value_type value_type;
1417:       typedef typename _Iterator::difference_type difference_type;
1417:       typedef typename _Iterator::pointer pointer;
1417:       typedef typename _Iterator::reference reference;
1417:     };
1417: 
1417: 
1417:   template<typename _Iterator>
1417:     struct iterator_traits
1417:     : public __iterator_traits<_Iterator> { };
1417: # 209 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1417:   template<typename _Tp>
1417:     struct iterator_traits<_Tp*>
1417:     {
1417:       typedef random_access_iterator_tag iterator_category;
1417:       typedef _Tp value_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef _Tp* pointer;
1417:       typedef _Tp& reference;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct iterator_traits<const _Tp*>
1417:     {
1417:       typedef random_access_iterator_tag iterator_category;
1417:       typedef _Tp value_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef const _Tp* pointer;
1417:       typedef const _Tp& reference;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Iter>
1417:     inline constexpr
1417:     typename iterator_traits<_Iter>::iterator_category
1417:     __iterator_category(const _Iter&)
1417:     { return typename iterator_traits<_Iter>::iterator_category(); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Iter>
1417:     using __iterator_category_t
1417:       = typename iterator_traits<_Iter>::iterator_category;
1417: 
1417:   template<typename _InIter>
1417:     using _RequireInputIter =
1417:       __enable_if_t<is_convertible<__iterator_category_t<_InIter>,
1417:        input_iterator_tag>::value>;
1417: 
1417:   template<typename _It,
1417:     typename _Cat = __iterator_category_t<_It>>
1417:     struct __is_random_access_iter
1417:       : is_base_of<random_access_iterator_tag, _Cat>
1417:     {
1417:       typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
1417:       enum { __value = _Base::value };
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 66 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 1 3
1417: # 62 "/usr/include/c++/12/bits/stl_itet)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr int
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr int
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr int
609:       infinity() noexcept { return static_cast<int>(0); }
609: 
609:       static constexpr int
609:       quiet_NaN() noexcept { return static_cast<int>(0); }
609: 
609:       static constexpr int
609:       signaling_NaN() noexcept { return static_cast<int>(0); }
609: 
609:       static constexpr int
609:       denorm_min() noexcept { return static_cast<int>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<unsigned int>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr unsigned int
609:       min() noexcept { return 0; }
609: 
609:       static constexpr unsigned int
609:       max() noexcept { return 0x7fffffff * 2U + 1; }
609: 
609: 
609:       static constexpr unsigned int
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits
609:        = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = false;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr unsigned int
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr unsigned int
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr unsigned int
609:       infinity() noexcept { return static_cast<unsigned int>(0); }
609: 
609:       static constexpr unsigned int
609:       quiet_NaN() noexcept
609:       { return static_cast<unsigned int>(0); }
609: 
609:       static constexpr unsigned int
609:       signaling_NaN() noexcept
609:       { return static_cast<unsigned int>(0); }
609: 
609:       static constexpr unsigned int
609:       denorm_min() noexcept
609:       { return static_cast<unsigned int>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_mrator_base_funcs.h" 3
1417:        
1417: # 63 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/concept_check.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/concept_check.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/concept_check.h" 3
1417: # 65 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1417: # 1 "/usr/include/c++/12/debug/assertions.h" 1 3
1417: # 66 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template <typename> struct _List_iterator;
1417:   template <typename> struct _List_const_iterator;
1417: 
1417: 
1417:   template<typename _InputIterator>
1417:     inline constexpr
1417:     typename iterator_traits<_InputIterator>::difference_type
1417:     __distance(_InputIterator __first, _InputIterator __last,
1417:                input_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1417:       while (__first != __last)
1417:  {
1417:    ++__first;
1417:    ++__n;
1417:  }
1417:       return __n;
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator>
1417:     inline constexpr
1417:     typename iterator_traits<_RandomAccessIterator>::difference_type
1417:     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:                random_access_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417:       return __last - __first;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     ptrdiff_t
1417:     __distance(std::_List_iterator<_Tp>,
1417:         std::_List_iterator<_Tp>,
1417:         input_iterator_tag);
1417: 
1417:   template<typename _Tp>
1417:     ptrdiff_t
1417:     __distance(std::_List_const_iterator<_Tp>,
1417:         std::_List_const_iterator<_Tp>,
1417:         input_iterator_tag);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _OutputIterator>
1417:     void
1417:     __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
1417: # 143 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1417:   template<typename _InputIterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr
1417:     typename iterator_traits<_InputIterator>::difference_type
1417:     distance(_InputIterator __first, _InputIterator __last)
1417:     {
1417: 
1417:       return std::__distance(__first, __last,
1417:         std::__iterator_category(__first));
1417:     }
1417: 
1417:   template<typename _InputIterator, typename _Distance>
1417:     inline constexpr void
1417:     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
1417:     {
1417: 
1417:      
1417:       do { if (std::__is_constant_evaluated() && !bool(__n >= 0)) __builtin_unreachable(); } while (false);
1417:       while (__n--)
1417:  ++__i;
1417:     }
1417: 
1417:   template<typename _BidirectionalIterator, typename _Distance>
1417:     inline constexpr void
1417:     __advance(_BidirectionalIterator& __i, _Distance __n,
1417:        bidirectional_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417:       if (__n > 0)
1417:         while (__n--)
1417:    ++__i;
1417:       else
1417:         while (__n++)
1417:    --__i;
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Distance>
1417:     inline constexpr void
1417:     __advance(_RandomAccessIterator& __i, _Distance __n,
1417:               random_access_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417:       if (__builtin_constant_p(__n) && __n == 1)
1417:  ++__i;
1417:       else if (__builtin_constant_p(__n) && __n == -1)
1417:  --__i;
1417:       else
1417:  __i += __n;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _OutputIterator, typename _Distance>
1417:     void
1417:     __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete;
1417: # 216 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1417:   template<typename _InputIterator, typename _Distaodulo = true;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<long>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr long
609:       min() noexcept { return -0x7fffffffL - 1; }
609: 
609:       static constexpr long
609:       max() noexcept { return 0x7fffffffL; }
609: 
609: 
609:       static constexpr long
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
609:       static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr long
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr long
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr long
609:       infinity() noexcept { return static_cast<long>(0); }
609: 
609:       static constexpr long
609:       quiet_NaN() noexcept { return static_cast<long>(0); }
609: 
609:       static constexpr long
609:       signaling_NaN() noexcept { return static_cast<long>(0); }
609: 
609:       static constexpr long
609:       denorm_min() noexcept { return static_cast<long>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<unsigned long>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr unsigned long
609:       min() noexcept { return 0; }
609: 
609:       static constexpr unsigned long
609:       max() noexcept { return 0x7fffffffL * 2UL + 1; }
609: 
609: 
609:       static constexpr unsigned long
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits
609:        = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = false;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr unsigned long
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr unsigned long
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr unsigned long
609:       infinity() noexcept
609:       { return static_cast<unsigned long>(0); }
609: 
609:       static constexpr unsigned long
609:       quiet_NaN() noexcept
609:       { return static_cast<unsigned long>(0); }
609: 
609:       static constexpr unsigned long
609:       signaling_NaN() noexcept
609:       { return static_cast<unsigned long>(0); }
609: 
609:       static constexpr unsigned long
609:       denorm_min() noexcept
609:       { return static_cast<unsigned long>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = true;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<long long>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr long long
609:       min() noexcept { return -0x7fffffffffffffffLL - 1; }
609: 
609:       static constexpr long long
609:       max() noexcept { return 0x7fffffffffffffffLL; }
609: 
609: 
609:       static constexpr long long
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits
609:        = (sizeof(long long) * 8 - ((long long)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr long long
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr long long
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr long long
609:       infinity() noexcept { return static_cast<long long>(0); }
609: 
609:       static constexpr long long
609:       quiet_NaN() noexcept { return static_cast<long long>(0); }
609: 
609:       static constexpr long long
609:       signaling_NaN() noexcept
609:       { return static_cast<long long>(0); }
609: 
609:       static constexpr long long
609:       denorm_min() noexcept { return static_cast<long long>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: 
609: 
609:   template<>
609:     struct numeric_limits<unsigned long long>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr unsigned long long
609:       min() noexcept { return 0; }
609: 
609:       static constexpr unsigned long long
609:       max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; }
609: 
609: 
609:       static constexpr unsigned long long
609:       lowest() noexcept { return min(); }
609: 
609: 
609:       static constexpr int digits
609:      nce>
1417:     inline constexpr void
1417:     advance(_InputIterator& __i, _Distance __n)
1417:     {
1417: 
1417:       typename iterator_traits<_InputIterator>::difference_type __d = __n;
1417:       std::__advance(__i, __d, std::__iterator_category(__i));
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr _InputIterator
1417:     next(_InputIterator __x, typename
1417:   iterator_traits<_InputIterator>::difference_type __n = 1)
1417:     {
1417: 
1417:      
1417:       std::advance(__x, __n);
1417:       return __x;
1417:     }
1417: 
1417:   template<typename _BidirectionalIterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr _BidirectionalIterator
1417:     prev(_BidirectionalIterator __x, typename
1417:   iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
1417:     {
1417: 
1417:      
1417: 
1417:       std::advance(__x, -__n);
1417:       return __x;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 67 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_iterator.h" 1 3
1417: # 67 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417: # 1 "/usr/include/c++/12/bits/ptr_traits.h" 1 3
1417: # 46 "/usr/include/c++/12/bits/ptr_traits.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   class __undefined;
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __get_first_arg
1417:     { using type = __undefined; };
1417: 
1417:   template<template<typename, typename...> class _SomeTemplate, typename _Tp,
1417:            typename... _Types>
1417:     struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
1417:     { using type = _Tp; };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     struct __replace_first_arg
1417:     { };
1417: 
1417:   template<template<typename, typename...> class _SomeTemplate, typename _Up,
1417:            typename _Tp, typename... _Types>
1417:     struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
1417:     { using type = _SomeTemplate<_Up, _Types...>; };
1417: # 81 "/usr/include/c++/12/bits/ptr_traits.h" 3
1417:   template<typename _Ptr, typename = void>
1417:     struct __ptr_traits_elem : __get_first_arg<_Ptr>
1417:     { };
1417: 
1417: 
1417:   template<typename _Ptr>
1417:     struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
1417:     { using type = typename _Ptr::element_type; };
1417: 
1417:   template<typename _Ptr>
1417:     using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
1417: 
1417: 
1417: 
1417:   template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
1417:     struct __ptr_traits_ptr_to
1417:     {
1417:       using pointer = _Ptr;
1417:       using element_type = _Elt;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static pointer
1417:       pointer_to(element_type& __e)
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       { return pointer::pointer_to(__e); }
1417:     };
1417: 
1417: 
1417:   template<typename _Ptr, typename _Elt>
1417:     struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
1417:     {
1417:       using pointer = _Tp*;
1417:       using element_type = _Tp;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static pointer
1417:       pointer_to(element_type& __r) noexcept
1417:       { return std::addressof(__r); }
1417:     };
1417: 
1417:   template<typename _Ptr, typename _Elt>
1417:     struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
1417:     {
1417:     private:
1417:       template<typename _Tp, typename = void>
1417:  struct __difference { using type = ptrdiff_t; };
1417: 
1417:       template<typename _Tp>
1417: 
1417: 
1417: 
1417: 
1417:  struct __difference<_Tp, __void_t<typename _Tp::difference_type>>
1417: 
1417:  { using type = typename _Tp::difference_type; };
1417: 
1417:       template<typename _Tp, typename _Up, typename = v  = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
609:       static constexpr int digits10
609:        = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136);
609: 
609:       static constexpr int max_digits10 = 0;
609: 
609:       static constexpr bool is_signed = false;
609:       static constexpr bool is_integer = true;
609:       static constexpr bool is_exact = true;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr unsigned long long
609:       epsilon() noexcept { return 0; }
609: 
609:       static constexpr unsigned long long
609:       round_error() noexcept { return 0; }
609: 
609:       static constexpr int min_exponent = 0;
609:       static constexpr int min_exponent10 = 0;
609:       static constexpr int max_exponent = 0;
609:       static constexpr int max_exponent10 = 0;
609: 
609:       static constexpr bool has_infinity = false;
609:       static constexpr bool has_quiet_NaN = false;
609:       static constexpr bool has_signaling_NaN = false;
609:       static constexpr float_denorm_style has_denorm
609:        = denorm_absent;
609:       static constexpr bool has_denorm_loss = false;
609: 
609:       static constexpr unsigned long long
609:       infinity() noexcept
609:       { return static_cast<unsigned long long>(0); }
609: 
609:       static constexpr unsigned long long
609:       quiet_NaN() noexcept
609:       { return static_cast<unsigned long long>(0); }
609: 
609:       static constexpr unsigned long long
609:       signaling_NaN() noexcept
609:       { return static_cast<unsigned long long>(0); }
609: 
609:       static constexpr unsigned long long
609:       denorm_min() noexcept
609:       { return static_cast<unsigned long long>(0); }
609: 
609:       static constexpr bool is_iec559 = false;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = true;
609: 
609:       static constexpr bool traps = true;
609:       static constexpr bool tinyness_before = false;
609:       static constexpr float_round_style round_style
609:        = round_toward_zero;
609:     };
609: # 1669 "/usr/include/c++/12/limits" 3
609:   template<>
609:     struct numeric_limits<float>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr float
609:       min() noexcept { return 1.1754943508222875e-38F; }
609: 
609:       static constexpr float
609:       max() noexcept { return 3.4028234663852886e+38F; }
609: 
609: 
609:       static constexpr float
609:       lowest() noexcept { return -3.4028234663852886e+38F; }
609: 
609: 
609:       static constexpr int digits = 24;
609:       static constexpr int digits10 = 6;
609: 
609:       static constexpr int max_digits10
609:   = (2 + (24) * 643L / 2136);
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = false;
609:       static constexpr bool is_exact = false;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr float
609:       epsilon() noexcept { return 1.1920928955078125e-7F; }
609: 
609:       static constexpr float
609:       round_error() noexcept { return 0.5F; }
609: 
609:       static constexpr int min_exponent = (-125);
609:       static constexpr int min_exponent10 = (-37);
609:       static constexpr int max_exponent = 128;
609:       static constexpr int max_exponent10 = 38;
609: 
609:       static constexpr bool has_infinity = 1;
609:       static constexpr bool has_quiet_NaN = 1;
609:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
609:       static constexpr float_denorm_style has_denorm
609:  = bool(1) ? denorm_present : denorm_absent;
609:       static constexpr bool has_denorm_loss
609:        = false;
609: 
609:       static constexpr float
609:       infinity() noexcept { return __builtin_huge_valf(); }
609: 
609:       static constexpr float
609:       quiet_NaN() noexcept { return __builtin_nanf(""); }
609: 
609:       static constexpr float
609:       signaling_NaN() noexcept { return __builoid>
1417:  struct __rebind : __replace_first_arg<_Tp, _Up> { };
1417: 
1417:       template<typename _Tp, typename _Up>
1417: 
1417: 
1417: 
1417: 
1417:  struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>>
1417: 
1417:  { using type = typename _Tp::template rebind<_Up>; };
1417: 
1417:     public:
1417: 
1417:       using pointer = _Ptr;
1417: 
1417: 
1417:       using element_type = _Elt;
1417: 
1417: 
1417:       using difference_type = typename __difference<_Ptr>::type;
1417: 
1417: 
1417:       template<typename _Up>
1417:         using rebind = typename __rebind<_Ptr, _Up>::type;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Ptr>
1417:     struct __ptr_traits_impl<_Ptr, __undefined>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Ptr>
1417:     struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
1417:     { };
1417: # 209 "/usr/include/c++/12/bits/ptr_traits.h" 3
1417:   template<typename _Tp>
1417:     struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
1417:     {
1417: 
1417:       typedef _Tp* pointer;
1417: 
1417:       typedef _Tp element_type;
1417: 
1417:       typedef ptrdiff_t difference_type;
1417: 
1417:       template<typename _Up> using rebind = _Up*;
1417:     };
1417: 
1417: 
1417:   template<typename _Ptr, typename _Tp>
1417:     using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
1417: 
1417:   template<typename _Tp>
1417:     constexpr _Tp*
1417:     __to_address(_Tp* __ptr) noexcept
1417:     {
1417:       static_assert(!std::is_function<_Tp>::value, "not a function pointer");
1417:       return __ptr;
1417:     }
1417: 
1417: 
1417:   template<typename _Ptr>
1417:     constexpr typename std::pointer_traits<_Ptr>::element_type*
1417:     __to_address(const _Ptr& __ptr)
1417:     { return std::__to_address(__ptr.operator->()); }
1417: # 282 "/usr/include/c++/12/bits/ptr_traits.h" 3
1417: 
1417: }
1417: # 68 "/usr/include/c++/12/bits/stl_iterator.h" 2 3
1417: # 88 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 109 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: # 131 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Iterator>
1417:     class reverse_iterator
1417:     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
1417:         typename iterator_traits<_Iterator>::value_type,
1417:         typename iterator_traits<_Iterator>::difference_type,
1417:         typename iterator_traits<_Iterator>::pointer,
1417:                       typename iterator_traits<_Iterator>::reference>
1417:     {
1417:       template<typename _Iter>
1417:  friend class reverse_iterator;
1417: # 150 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:     protected:
1417:       _Iterator current;
1417: 
1417:       typedef iterator_traits<_Iterator> __traits_type;
1417: 
1417:     public:
1417:       typedef _Iterator iterator_type;
1417:       typedef typename __traits_type::pointer pointer;
1417: 
1417:       typedef typename __traits_type::difference_type difference_type;
1417:       typedef typename __traits_type::reference reference;
1417: # 181 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:       constexpr
1417:       reverse_iterator()
1417:       noexcept(noexcept(_Iterator()))
1417:       : current()
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417:       explicit constexpr
1417:       reverse_iterator(iterator_type __x)
1417:       noexcept(noexcept(_Iterator(__x)))
1417:       : current(__x)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417:       constexpr
1417:       reverse_iterator(const reverse_iterator& __x)
1417:       noexcept(noexcept(_Iterator(__x.current)))
1417:       : current(__x.current)
1417:       { }
1417: 
1417: 
1417:       reverse_iterator& operator=(const reverse_iterator&) = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ttin_nansf(""); }
609: 
609:       static constexpr float
609:       denorm_min() noexcept { return 1.4012984643248171e-45F; }
609: 
609:       static constexpr bool is_iec559
609:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = false;
609:       static constexpr bool tinyness_before
609:        = false;
609:       static constexpr float_round_style round_style
609:        = round_to_nearest;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct numeric_limits<double>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr double
609:       min() noexcept { return double(2.2250738585072014e-308L); }
609: 
609:       static constexpr double
609:       max() noexcept { return double(1.7976931348623157e+308L); }
609: 
609: 
609:       static constexpr double
609:       lowest() noexcept { return -double(1.7976931348623157e+308L); }
609: 
609: 
609:       static constexpr int digits = 53;
609:       static constexpr int digits10 = 15;
609: 
609:       static constexpr int max_digits10
609:   = (2 + (53) * 643L / 2136);
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = false;
609:       static constexpr bool is_exact = false;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr double
609:       epsilon() noexcept { return double(2.2204460492503131e-16L); }
609: 
609:       static constexpr double
609:       round_error() noexcept { return 0.5; }
609: 
609:       static constexpr int min_exponent = (-1021);
609:       static constexpr int min_exponent10 = (-307);
609:       static constexpr int max_exponent = 1024;
609:       static constexpr int max_exponent10 = 308;
609: 
609:       static constexpr bool has_infinity = 1;
609:       static constexpr bool has_quiet_NaN = 1;
609:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
609:       static constexpr float_denorm_style has_denorm
609:  = bool(1) ? denorm_present : denorm_absent;
609:       static constexpr bool has_denorm_loss
609:         = false;
609: 
609:       static constexpr double
609:       infinity() noexcept { return __builtin_huge_val(); }
609: 
609:       static constexpr double
609:       quiet_NaN() noexcept { return __builtin_nan(""); }
609: 
609:       static constexpr double
609:       signaling_NaN() noexcept { return __builtin_nans(""); }
609: 
609:       static constexpr double
609:       denorm_min() noexcept { return double(4.9406564584124654e-324L); }
609: 
609:       static constexpr bool is_iec559
609:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = false;
609:       static constexpr bool tinyness_before
609:        = false;
609:       static constexpr float_round_style round_style
609:        = round_to_nearest;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct numeric_limits<long double>
609:     {
609:       static constexpr bool is_specialized = true;
609: 
609:       static constexpr long double
609:       min() noexcept { return 2.2250738585072014e-308L; }
609: 
609:       static constexpr long double
609:       max() noexcept { return 1.7976931348623157e+308L; }
609: 
609: 
609:       static constexpr long double
609:       lowest() noexcept { return -1.7976931348623157e+308L; }
609: 
609: 
609:       static constexpr int digits = 53;
609:       static constexpr int digits10 = 15;
609: 
609:       static constexpr int max_digits10
609:   = (2 + (53) * 643L / 2136);
609: 
609:       static constexpr bool is_signed = true;
609:       static constexpr bool is_integer = false;
609:       static constexpr bool is_exact = false;
609:       static constexpr int radix = 2;
609: 
609:       static constexpr long double
609: emplate<typename _Iter>
1417: 
1417: 
1417: 
1417:  constexpr
1417:         reverse_iterator(const reverse_iterator<_Iter>& __x)
1417:  noexcept(noexcept(_Iterator(__x.current)))
1417:  : current(__x.current)
1417:  { }
1417: 
1417: 
1417:       template<typename _Iter>
1417: 
1417: 
1417: 
1417: 
1417:  constexpr
1417:  reverse_iterator&
1417:  operator=(const reverse_iterator<_Iter>& __x)
1417:  noexcept(noexcept(current = __x.current))
1417:  {
1417:    current = __x.current;
1417:    return *this;
1417:  }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr iterator_type
1417:       base() const
1417:       noexcept(noexcept(_Iterator(current)))
1417:       { return current; }
1417: # 258 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:       [[__nodiscard__]]
1417:       constexpr reference
1417:       operator*() const
1417:       {
1417:  _Iterator __tmp = current;
1417:  return *--__tmp;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr pointer
1417:       operator->() const
1417: 
1417: 
1417: 
1417: 
1417:       {
1417: 
1417: 
1417:  _Iterator __tmp = current;
1417:  --__tmp;
1417:  return _S_to_pointer(__tmp);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr reverse_iterator&
1417:       operator++()
1417:       {
1417:  --current;
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr reverse_iterator
1417:       operator++(int)
1417:       {
1417:  reverse_iterator __tmp = *this;
1417:  --current;
1417:  return __tmp;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr reverse_iterator&
1417:       operator--()
1417:       {
1417:  ++current;
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr reverse_iterator
1417:       operator--(int)
1417:       {
1417:  reverse_iterator __tmp = *this;
1417:  ++current;
1417:  return __tmp;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr reverse_iterator
1417:       operator+(difference_type __n) const
1417:       { return reverse_iterator(current - __n); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr reverse_iterator&
1417:       operator+=(difference_type __n)
1417:       {
1417:  current -= __n;
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr reverse_iterator
1417:       operator-(difference_type __n) const
1417:       { return reverse_iterator(current + __n); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr reverse_iterator&
1417:       operator-=(difference_type __n)
1417:       {
1417:  current += __n;
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr reference
1417:       operator[](difference_type __n) const
1417:       { return *(*this + __n); }
1417: # 418 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:     private:
1417:       template<typename _Tp>
1417:  static constexpr _Tp*
1417:  _S_to_pointer(_Tp* __p)
1417:         { return __p; }
1417: 
1417:       template<typename _Tp>
1417:  static constexpr pointer
1417:  _S_to_pointer(_Tp __t)
1417:         { return __t.operator->(); }
1417:     };
1417: # 441 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator==(const reverse_iterator<_Iterator>& __x,
1417:         const reverse_iterator<_Iterator>& __y)
1417:     { return __x.base() == __y.base(); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator<(const reverse_iterator<_Iterator>& __x,
1417:        const reverse_iterator<_Iterator>& __y)
1417:     { return __y.base() < __x.base(); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexp      epsilon() noexcept { return 2.2204460492503131e-16L; }
609: 
609:       static constexpr long double
609:       round_error() noexcept { return 0.5L; }
609: 
609:       static constexpr int min_exponent = (-1021);
609:       static constexpr int min_exponent10 = (-307);
609:       static constexpr int max_exponent = 1024;
609:       static constexpr int max_exponent10 = 308;
609: 
609:       static constexpr bool has_infinity = 1;
609:       static constexpr bool has_quiet_NaN = 1;
609:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
609:       static constexpr float_denorm_style has_denorm
609:  = bool(1) ? denorm_present : denorm_absent;
609:       static constexpr bool has_denorm_loss
609:  = false;
609: 
609:       static constexpr long double
609:       infinity() noexcept { return __builtin_huge_vall(); }
609: 
609:       static constexpr long double
609:       quiet_NaN() noexcept { return __builtin_nanl(""); }
609: 
609:       static constexpr long double
609:       signaling_NaN() noexcept { return __builtin_nansl(""); }
609: 
609:       static constexpr long double
609:       denorm_min() noexcept { return 4.9406564584124654e-324L; }
609: 
609:       static constexpr bool is_iec559
609:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
609:       static constexpr bool is_bounded = true;
609:       static constexpr bool is_modulo = false;
609: 
609:       static constexpr bool traps = false;
609:       static constexpr bool tinyness_before =
609:       false;
609:       static constexpr float_round_style round_style =
609:             round_to_nearest;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 47 "/usr/include/c++/12/bits/specfun.h" 2 3
609: 
609: 
609: # 1 "/usr/include/c++/12/tr1/gamma.tcc" 1 3
609: # 49 "/usr/include/c++/12/tr1/gamma.tcc" 3
609: # 1 "/usr/include/c++/12/tr1/special_function_util.h" 1 3
609: # 39 "/usr/include/c++/12/tr1/special_function_util.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 50 "/usr/include/c++/12/tr1/special_function_util.h" 3
609:   namespace __detail
609:   {
609: 
609: 
609: 
609:     template<typename _Tp>
609:     struct __floating_point_constant
609:     {
609:       static const _Tp __value;
609:     };
609: 
609: 
609: 
609:     template<typename _Tp>
609:       struct __numeric_constants
609:       {
609: 
609:         static _Tp __pi() throw()
609:         { return static_cast<_Tp>(3.1415926535897932384626433832795029L); }
609: 
609:         static _Tp __pi_2() throw()
609:         { return static_cast<_Tp>(1.5707963267948966192313216916397514L); }
609: 
609:         static _Tp __pi_3() throw()
609:         { return static_cast<_Tp>(1.0471975511965977461542144610931676L); }
609: 
609:         static _Tp __pi_4() throw()
609:         { return static_cast<_Tp>(0.7853981633974483096156608458198757L); }
609: 
609:         static _Tp __1_pi() throw()
609:         { return static_cast<_Tp>(0.3183098861837906715377675267450287L); }
609: 
609:         static _Tp __2_sqrtpi() throw()
609:         { return static_cast<_Tp>(1.1283791670955125738961589031215452L); }
609: 
609:         static _Tp __sqrt2() throw()
609:         { return static_cast<_Tp>(1.4142135623730950488016887242096981L); }
609: 
609:         static _Tp __sqrt3() throw()
609:         { return static_cast<_Tp>(1.7320508075688772935274463415058723L); }
609: 
609:         static _Tp __sqrtpio2() throw()
609:         { return static_cast<_Tp>(1.2533141373155002512078826424055226L); }
609: 
609:         static _Tp __sqrt1_2() throw()
609:         { return static_cast<_Tp>(0.7071067811865475244008443621048490L); }
609: 
609:         static _Tp __lnpi() throw()
609:         { return static_cast<_Tp>(1.1447298858494001741434273513530587L); }
609: 
609:         static _Tp __gamma_e() throw()
609:         { return static_cast<_Tp>(0.5772156649015328606065120900824024L); }
609: 
609:         static _Tp __euler() throw()
609:         { return static_cast<_Tp>(2.7182818284590452353602874713526625L); }
609:       };
609: # 114 r bool
1417:     operator!=(const reverse_iterator<_Iterator>& __x,
1417:         const reverse_iterator<_Iterator>& __y)
1417:     { return !(__x == __y); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>(const reverse_iterator<_Iterator>& __x,
1417:        const reverse_iterator<_Iterator>& __y)
1417:     { return __y < __x; }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator<=(const reverse_iterator<_Iterator>& __x,
1417:         const reverse_iterator<_Iterator>& __y)
1417:     { return !(__y < __x); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>=(const reverse_iterator<_Iterator>& __x,
1417:         const reverse_iterator<_Iterator>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator==(const reverse_iterator<_IteratorL>& __x,
1417:         const reverse_iterator<_IteratorR>& __y)
1417:     { return __x.base() == __y.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator<(const reverse_iterator<_IteratorL>& __x,
1417:        const reverse_iterator<_IteratorR>& __y)
1417:     { return __x.base() > __y.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator!=(const reverse_iterator<_IteratorL>& __x,
1417:         const reverse_iterator<_IteratorR>& __y)
1417:     { return __x.base() != __y.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>(const reverse_iterator<_IteratorL>& __x,
1417:        const reverse_iterator<_IteratorR>& __y)
1417:     { return __x.base() < __y.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     inline constexpr bool
1417:     operator<=(const reverse_iterator<_IteratorL>& __x,
1417:         const reverse_iterator<_IteratorR>& __y)
1417:     { return __x.base() >= __y.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>=(const reverse_iterator<_IteratorL>& __x,
1417:         const reverse_iterator<_IteratorR>& __y)
1417:     { return __x.base() <= __y.base(); }
1417: # 618 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     operator-(const reverse_iterator<_IteratorL>& __x,
1417:        const reverse_iterator<_IteratorR>& __y)
1417:     -> decltype(__y.base() - __x.base())
1417:     { return __y.base() - __x.base(); }
1417: 
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr reverse_iterator<_Iterator>
1417:     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
1417:        const reverse_iterator<_Iterator>& __x)
1417:     { return reverse_iterator<_Iterator>(__x.base() - __n); }
1417: 
1417: 
1417: 
1417:   template<typename _Iterator>
1417:     inline constexpr reverse_iterator<_Iterator>
1417:     __make_reverse_iterator(_Iterator __i)
1417:     { return reverse_iterator<_Iterator>(__i); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr reverse_iterator<_Iterator>
1417:     make_reverse_iterator(_Iterator __i)
1417:     { return reverse_iterator<_Iterator>(__i); }
1417: # 662 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Iterator>
1417:    
1417:     auto
1417:     __niter_base(reverse_iterator<_Iterator> __it)
1417:     -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
1417:     { return __make_reverse_iterator(__niter_base(__it.base())); }
1417: 
1417:   template<typename _Iterator>
1417:     struct __is_move_iterator<reverse_iterator<_Iterator> >
1417:       : __is_move_iterator<_Iterator>
1417:     { };
1417: 
1417:   template<typename _Iterator>
1417:    
1417:     auto
1417:     __miter_base(reverse_iterator<_Iterator> __it)
1417:     -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
1417:     { return __make_reverse_iterator(__miter_base(__it.base())); }
1417: # 693 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Container>
1417:     class back_insert_iterator
1417:     : public iterator<output_iterator_tag, void, void, void, void>
1417:     {
1417:     protected:
1417:       _Container* container;
1417: 
1417:     public:
1417: 
1417:       typedef _Container container_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       back_insert_iterator(_Container& __x)
1417:       : container(std::__addressof(__x)) { }
1417: # 731 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:      
1417:       back_insert_iterator&
1417:       operator=(const typename _Container::value_type& __value)
1417:       {
1417:  container->push_back(__value);
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       back_insert_iterator&
1417:       operator=(typename _Container::value_type&& __value)
1417:       {
1417:  container->push_back(std::move(__value));
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       back_insert_iterator&
1417:       operator*()
1417:       { return *this; }
1417: 
1417: 
1417:      
1417:       back_insert_iterator&
1417:       operator++()
1417:       { return *this; }
1417: 
1417: 
1417:      
1417:       back_insert_iterator
1417:       operator++(int)
1417:       { return *this; }
1417:     };
1417: # 778 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline back_insert_iterator<_Container>
1417:     back_inserter(_Container& __x)
1417:     { return back_insert_iterator<_Container>(__x); }
1417: # 794 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Container>
1417:     class front_insert_iterator
1417:     : public iterator<output_iterator_tag, void, void, void, void>
1417:     {
1417:     protected:
1417:       _Container* container;
1417: 
1417:     public:
1417: 
1417:       typedef _Container container_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       front_insert_iterator(_Container& __x)
1417:       : container(std::__addressof(__x)) { }
1417: # 832 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:      
1417:       front_insert_iterator&
1417:       operator=(const typename _Container::value_type& __value)
1417:       {
1417:  container->push_front(__value);
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       front_insert_iterator&
1417:       operator=(typename _Container::value_type&& __value)
1417:       {
1417:  container->push_front(std::move(__value));
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       front_insert_iterator&
1417:       operator*()
1417:       { return *this; }
1417: 
1417: 
1417:      
1417:       front_insert_iterator&
1417:       operator++()
1417:       { return *this; }
1417: 
1417: 
1417:      
1417:       front_insert_iterator
1417:       operator++(int)
1417:       { return *this; }
1417:     };
1417: # 879 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline front_insert_iterator<_Container>
1417:     front_inserter(_Container& __x)
1417:     { return front_insert_iterator<_Container>(__x); }
1417: # 899 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Container>
1417:     class insert_iterator
1417:     : public iterator<output_iterator_tag, void, void, void, void>
1417:     {
1417: 
1417: 
1417: 
1417:       typedef typename _Container::iterator _Iter;
"/usr/include/c++/12/tr1/special_function_util.h" 3
609:     template<typename _Tp>
609:     inline bool __isnan(_Tp __x)
609:     { return std::isnan(__x); }
609: # 133 "/usr/include/c++/12/tr1/special_function_util.h" 3
609:   }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 50 "/usr/include/c++/12/tr1/gamma.tcc" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 65 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:   namespace __detail
609:   {
609: # 76 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template <typename _Tp>
609:     _Tp
609:     __bernoulli_series(unsigned int __n)
609:     {
609: 
609:       static const _Tp __num[28] = {
609:         _Tp(1UL), -_Tp(1UL) / _Tp(2UL),
609:         _Tp(1UL) / _Tp(6UL), _Tp(0UL),
609:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
609:         _Tp(1UL) / _Tp(42UL), _Tp(0UL),
609:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
609:         _Tp(5UL) / _Tp(66UL), _Tp(0UL),
609:         -_Tp(691UL) / _Tp(2730UL), _Tp(0UL),
609:         _Tp(7UL) / _Tp(6UL), _Tp(0UL),
609:         -_Tp(3617UL) / _Tp(510UL), _Tp(0UL),
609:         _Tp(43867UL) / _Tp(798UL), _Tp(0UL),
609:         -_Tp(174611) / _Tp(330UL), _Tp(0UL),
609:         _Tp(854513UL) / _Tp(138UL), _Tp(0UL),
609:         -_Tp(236364091UL) / _Tp(2730UL), _Tp(0UL),
609:         _Tp(8553103UL) / _Tp(6UL), _Tp(0UL)
609:       };
609: 
609:       if (__n == 0)
609:         return _Tp(1);
609: 
609:       if (__n == 1)
609:         return -_Tp(1) / _Tp(2);
609: 
609: 
609:       if (__n % 2 == 1)
609:         return _Tp(0);
609: 
609: 
609:       if (__n < 28)
609:         return __num[__n];
609: 
609: 
609:       _Tp __fact = _Tp(1);
609:       if ((__n / 2) % 2 == 0)
609:         __fact *= _Tp(-1);
609:       for (unsigned int __k = 1; __k <= __n; ++__k)
609:         __fact *= __k / (_Tp(2) * __numeric_constants<_Tp>::__pi());
609:       __fact *= _Tp(2);
609: 
609:       _Tp __sum = _Tp(0);
609:       for (unsigned int __i = 1; __i < 1000; ++__i)
609:         {
609:           _Tp __term = std::pow(_Tp(__i), -_Tp(__n));
609:           if (__term < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:           __sum += __term;
609:         }
609: 
609:       return __fact * __sum;
609:     }
609: # 139 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __bernoulli(int __n)
609:     { return __bernoulli_series<_Tp>(__n); }
609: # 153 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __log_gamma_bernoulli(_Tp __x)
609:     {
609:       _Tp __lg = (__x - _Tp(0.5L)) * std::log(__x) - __x
609:                + _Tp(0.5L) * std::log(_Tp(2)
609:                * __numeric_constants<_Tp>::__pi());
609: 
609:       const _Tp __xx = __x * __x;
609:       _Tp __help = _Tp(1) / __x;
609:       for ( unsigned int __i = 1; __i < 20; ++__i )
609:         {
609:           const _Tp __2i = _Tp(2 * __i);
609:           __help /= __2i * (__2i - _Tp(1)) * __xx;
609:           __lg += __bernoulli<_Tp>(2 * __i) * __help;
609:         }
609: 
609:       return __lg;
609:     }
609: # 181 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __log_gamma_lanczos(_Tp __x)
609:     {
609:       const _Tp __xm1 = __x - _Tp(1);
609: 
609:       static const _Tp __lanczos_cheb_7[9] = {
609:        _Tp( 0.99999999999980993227684700473478L),
609:        _Tp( 676.520368121885098567009190444019L),
609:        _Tp(-1259.13921672240287047156078755283L),
609:        _Tp( 771.3234287776530788486528258894L),
609:        _Tp(-176.61502916214059906584551354L),
609:        _Tp( 12.507343278686904814458936853L),
609:        _Tp(-0.13857109526572011689554707L),
609:        _Tp( 9.984369578019570859563e-6L),
609:        _Tp( 1.50563273514931155834e-7L)
609:       };
609: 
609:       static const _Tp __LOGROOT2PI
609:           = _Tp(0.9189385332046727417803297364056176L);
609: 
609:       _Tp __sum = __lanczos_cheb_7[0];
609:       for(unsigned int __k = 1; __k < 9; ++__k)
609:         __sum += __lanczos_cheb_7[__k] / (__xm1 + __k);
609: 
609:       const _Tp __term1 = (__xm1 + _Tp(0.5L))
609:                         * std::log((__xm1 + _Tp(7.5L))
609:                        / __numeric_constants<_Tp>::__euler());
609:       const _Tp __term2 = __LOGROOT2PI + std::log(__sum);
609:       const _Tp __result = __term1 + (__term2 - _Tp(7));
609: 
609:       return __result;
609:     }
609: # 225 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __log_gamma(_Tp __x)
609:     {
609:       if (__x > _Tp(0.5L))
609:         return __log_gamma_lanczos(__x);
609:       else
609:         {
609:           const _Tp __sin_fact
609:                  = std::abs(std::sin(__numeric_constants<_Tp>::__pi() * __x));
609:           if (__sin_fact == _Tp(0))
609:             std::__throw_domain_error(("Argument is nonpositive integer " "in __log_gamma")
609:                                                            );
609:           return __numeric_constants<_Tp>::__lnpi()
609:                      - std::log(__sin_fact)
609:                      - __log_gamma_lanczos(_Tp(1) - __x);
609:         }
609:     }
609: # 252 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __log_gamma_sign(_Tp __x)
609:     {
609:       if (__x > _Tp(0))
609:         return _Tp(1);
609:       else
609:         {
609:           const _Tp __sin_fact
609:                   = std::sin(__numeric_constants<_Tp>::__pi() * __x);
609:           if (__sin_fact > _Tp(0))
609:             return (1);
609:           else if (__sin_fact < _Tp(0))
609:             return -_Tp(1);
609:           else
609:             return _Tp(0);
609:         }
609:     }
609: # 283 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __log_bincoef(unsigned int __n, unsigned int __k)
609:     {
609: 
609:       static const _Tp __max_bincoeff
609:                       = std::numeric_limits<_Tp>::max_exponent10
609:                       * std::log(_Tp(10)) - _Tp(1);
609: 
609:       _Tp __coeff = ::std::lgamma(_Tp(1 + __n))
609:                   - ::std::lgamma(_Tp(1 + __k))
609:                   - ::std::lgamma(_Tp(1 + __n - __k));
609: 
609: 
609: 
609: 
609: 
609:     }
609: # 314 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __bincoef(unsigned int __n, unsigned int __k)
609:     {
609: 
609:       static const _Tp __max_bincoeff
609:                       = std::numeric_limits<_Tp>::max_exponent10
609:                       * std::log(_Tp(10)) - _Tp(1);
609: 
609:       const _Tp __log_coeff = __log_bincoef<_Tp>(__n, __k);
609:       if (__log_coeff > __max_bincoeff)
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else
609:         return std::exp(__log_coeff);
609:     }
609: # 337 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __gamma(_Tp __x)
609:     { return std::exp(__log_gamma(__x)); }
609: # 356 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __psi_series(_Tp __x)
609:     {
609:       _Tp __sum = -__numeric_constants<_Tp>::__gamma_e() - _Tp(1) / __x;
609:       const unsigned int __max_iter = 100000;
609:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
609:         {
609:           const _Tp __term = __x / (__k * (__k + __x));
609:           __sum += __term;
609:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:         }
609:       return __sum;
609:     }
609: # 386 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __psi_asymp(_Tp __x)
609:     {
609:       _Tp __sum = std::log(__x) - _Tp(0.5L) / __x;
609:       const _Tp __xx = __x * __x;
609:       _Tp __xp = __xx;
609:       const unsigned int __max_iter = 100;
609:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
609:         {
609:           const _Tp __term = __bernoulli<_Tp>(2 * __k) / (2 * __k * __xp);
609:           __sum -= 1417: 
1417:     protected:
1417:       _Container* container;
1417:       _Iter iter;
1417: 
1417:     public:
1417: 
1417:       typedef _Container container_type;
1417: # 924 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:      
1417:       insert_iterator(_Container& __x, _Iter __i)
1417:       : container(std::__addressof(__x)), iter(__i) {}
1417: # 960 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:      
1417:       insert_iterator&
1417:       operator=(const typename _Container::value_type& __value)
1417:       {
1417:  iter = container->insert(iter, __value);
1417:  ++iter;
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       insert_iterator&
1417:       operator=(typename _Container::value_type&& __value)
1417:       {
1417:  iter = container->insert(iter, std::move(__value));
1417:  ++iter;
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       insert_iterator&
1417:       operator*()
1417:       { return *this; }
1417: 
1417: 
1417:      
1417:       insert_iterator&
1417:       operator++()
1417:       { return *this; }
1417: 
1417: 
1417:      
1417:       insert_iterator&
1417:       operator++(int)
1417:       { return *this; }
1417:     };
1417: 
1417: #pragma GCC diagnostic pop
1417: # 1019 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline insert_iterator<_Container>
1417:     inserter(_Container& __x, typename _Container::iterator __i)
1417:     { return insert_iterator<_Container>(__x, __i); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 1042 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Iterator, typename _Container>
1417:     class __normal_iterator
1417:     {
1417:     protected:
1417:       _Iterator _M_current;
1417: 
1417:       typedef std::iterator_traits<_Iterator> __traits_type;
1417: 
1417: 
1417:       template<typename _Iter>
1417:  using __convertible_from
1417:    = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
1417: 
1417: 
1417:     public:
1417:       typedef _Iterator iterator_type;
1417:       typedef typename __traits_type::iterator_category iterator_category;
1417:       typedef typename __traits_type::value_type value_type;
1417:       typedef typename __traits_type::difference_type difference_type;
1417:       typedef typename __traits_type::reference reference;
1417:       typedef typename __traits_type::pointer pointer;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr __normal_iterator() noexcept
1417:       : _M_current(_Iterator()) { }
1417: 
1417:       explicit
1417:       __normal_iterator(const _Iterator& __i) noexcept
1417:       : _M_current(__i) { }
1417: 
1417: 
1417: 
1417:       template<typename _Iter, typename = __convertible_from<_Iter>>
1417: 
1417:  __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
1417:  noexcept
1417: # 1090 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:         : _M_current(__i.base()) { }
1417: 
1417: 
1417:      
1417:       reference
1417:       operator*() const noexcept
1417:       { return *_M_current; }
1417: 
1417:      
1417:       pointer
1417:       operator->() const noexcept
1417:       { return _M_current; }
1417: 
1417:      
1417:       __normal_iterator&
1417:       operator++() noexcept
1417:       {
1417:  ++_M_current;
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       __normal_iterator
1417:       operator++(int) noexcept
1417:       { return __normal_iterator(_M_current++); }
1417: 
1417: 
1417:      
1417:       __normal_iterator&
1417:       operator--() noexcept
1417:       {
1417:  --_M_current;
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       __normal_iterator
1417:       operator--(int) noexcept
1417:       { return __normal_iterator(_M_current--); }
1417: 
1417: 
1417:      
1417:       reference
1417:       operator[](difference_type __n) const noexcept
1417:       { return__term;
609:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:           __xp *= __xx;
609:         }
609:       return __sum;
609:     }
609: # 417 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __psi(_Tp __x)
609:     {
609:       const int __n = static_cast<int>(__x + 0.5L);
609:       const _Tp __eps = _Tp(4) * std::numeric_limits<_Tp>::epsilon();
609:       if (__n <= 0 && std::abs(__x - _Tp(__n)) < __eps)
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__x < _Tp(0))
609:         {
609:           const _Tp __pi = __numeric_constants<_Tp>::__pi();
609:           return __psi(_Tp(1) - __x)
609:                - __pi * std::cos(__pi * __x) / std::sin(__pi * __x);
609:         }
609:       else if (__x > _Tp(100))
609:         return __psi_asymp(__x);
609:       else
609:         return __psi_series(__x);
609:     }
609: # 446 "/usr/include/c++/12/tr1/gamma.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __psi(unsigned int __n, _Tp __x)
609:     {
609:       if (__x <= _Tp(0))
609:         std::__throw_domain_error(("Argument out of range " "in __psi")
609:                                                  );
609:       else if (__n == 0)
609:         return __psi(__x);
609:       else
609:         {
609:           const _Tp __hzeta = __hurwitz_zeta(_Tp(__n + 1), __x);
609: 
609:           const _Tp __ln_nfact = ::std::lgamma(_Tp(__n + 1));
609: 
609: 
609: 
609:           _Tp __result = std::exp(__ln_nfact) * __hzeta;
609:           if (__n % 2 == 1)
609:             __result = -__result;
609:           return __result;
609:         }
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 50 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/bessel_function.tcc" 1 3
609: # 55 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 71 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:   namespace __detail
609:   {
609: # 98 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template <typename _Tp>
609:     void
609:     __gamma_temme(_Tp __mu,
609:                   _Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi)
609:     {
609: 
609:       __gampl = _Tp(1) / ::std::tgamma(_Tp(1) + __mu);
609:       __gammi = _Tp(1) / ::std::tgamma(_Tp(1) - __mu);
609: 
609: 
609: 
609: 
609: 
609:       if (std::abs(__mu) < std::numeric_limits<_Tp>::epsilon())
609:         __gam1 = -_Tp(__numeric_constants<_Tp>::__gamma_e());
609:       else
609:         __gam1 = (__gammi - __gampl) / (_Tp(2) * __mu);
609: 
609:       __gam2 = (__gammi + __gampl) / (_Tp(2));
609: 
609:       return;
609:     }
609: # 136 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template <typename _Tp>
609:     void
609:     __bessel_jn(_Tp __nu, _Tp __x,
609:                 _Tp & __Jnu, _Tp & __Nnu, _Tp & __Jpnu, _Tp & __Npnu)
609:     {
609:       if (__x == _Tp(0))
609:         {
609:           if (__nu == _Tp(0))
609:             {
609:               __Jnu = _Tp(1);
609:               __Jpnu = _Tp(0);
609:             }
609:           else if (__nu == _Tp(1))
609:             {
609:               __Jnu = _Tp(0);
609:               __Jpnu = _Tp(0.5L);
609:             }
609:           else
609:             {
609:               __Jnu = _Tp(0);
609:               __Jpnu = _Tp(0);
609:             }
609:           __Nnu = -std::numeric_limits<_Tp>::infinity();
609:           __Npnu = std::numeric_limits<_Tp>::infinity();
609:           return;
609:         }
609: 
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609: 
609: 
609: 
609: 
609:       const _Tp __fp_min = std::sqrt(std::numeric_limits<_Tp>::min());
609:       const int __max_iter = 15000;
609:       const _Tp __x_min = _Tp(2);
609: 
609:       const int __nl = (__x < __x_min
609:                     ? static_cast<int>(__nu + _Tp(0.5L))
609:                     : std::max(0, static_cast<int>(__nu - __x  _M_current[__n]; }
1417: 
1417:      
1417:       __normal_iterator&
1417:       operator+=(difference_type __n) noexcept
1417:       { _M_current += __n; return *this; }
1417: 
1417:      
1417:       __normal_iterator
1417:       operator+(difference_type __n) const noexcept
1417:       { return __normal_iterator(_M_current + __n); }
1417: 
1417:      
1417:       __normal_iterator&
1417:       operator-=(difference_type __n) noexcept
1417:       { _M_current -= __n; return *this; }
1417: 
1417:      
1417:       __normal_iterator
1417:       operator-(difference_type __n) const noexcept
1417:       { return __normal_iterator(_M_current - __n); }
1417: 
1417:      
1417:       const _Iterator&
1417:       base() const noexcept
1417:       { return _M_current; }
1417:     };
1417: # 1210 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
1417:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() == __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
1417:         const __normal_iterator<_Iterator, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() == __rhs.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1417:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() != __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
1417:         const __normal_iterator<_Iterator, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() != __rhs.base(); }
1417: 
1417: 
1417:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
1417:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() < __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
1417:        const __normal_iterator<_Iterator, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() < __rhs.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
1417:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() > __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
1417:        const __normal_iterator<_Iterator, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() > __rhs.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1417:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() <= __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const __normal_iterator<_Iterator, _C+ _Tp(1.5L))));
609: 
609:       const _Tp __mu = __nu - __nl;
609:       const _Tp __mu2 = __mu * __mu;
609:       const _Tp __xi = _Tp(1) / __x;
609:       const _Tp __xi2 = _Tp(2) * __xi;
609:       _Tp __w = __xi2 / __numeric_constants<_Tp>::__pi();
609:       int __isign = 1;
609:       _Tp __h = __nu * __xi;
609:       if (__h < __fp_min)
609:         __h = __fp_min;
609:       _Tp __b = __xi2 * __nu;
609:       _Tp __d = _Tp(0);
609:       _Tp __c = __h;
609:       int __i;
609:       for (__i = 1; __i <= __max_iter; ++__i)
609:         {
609:           __b += __xi2;
609:           __d = __b - __d;
609:           if (std::abs(__d) < __fp_min)
609:             __d = __fp_min;
609:           __c = __b - _Tp(1) / __c;
609:           if (std::abs(__c) < __fp_min)
609:             __c = __fp_min;
609:           __d = _Tp(1) / __d;
609:           const _Tp __del = __c * __d;
609:           __h *= __del;
609:           if (__d < _Tp(0))
609:             __isign = -__isign;
609:           if (std::abs(__del - _Tp(1)) < __eps)
609:             break;
609:         }
609:       if (__i > __max_iter)
609:         std::__throw_runtime_error(("Argument x too large in __bessel_jn; " "try asymptotic expansion.")
609:                                                                    );
609:       _Tp __Jnul = __isign * __fp_min;
609:       _Tp __Jpnul = __h * __Jnul;
609:       _Tp __Jnul1 = __Jnul;
609:       _Tp __Jpnu1 = __Jpnul;
609:       _Tp __fact = __nu * __xi;
609:       for ( int __l = __nl; __l >= 1; --__l )
609:         {
609:           const _Tp __Jnutemp = __fact * __Jnul + __Jpnul;
609:           __fact -= __xi;
609:           __Jpnul = __fact * __Jnutemp - __Jnul;
609:           __Jnul = __Jnutemp;
609:         }
609:       if (__Jnul == _Tp(0))
609:         __Jnul = __eps;
609:       _Tp __f= __Jpnul / __Jnul;
609:       _Tp __Nmu, __Nnu1, __Npmu, __Jmu;
609:       if (__x < __x_min)
609:         {
609:           const _Tp __x2 = __x / _Tp(2);
609:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
609:           _Tp __fact = (std::abs(__pimu) < __eps
609:                       ? _Tp(1) : __pimu / std::sin(__pimu));
609:           _Tp __d = -std::log(__x2);
609:           _Tp __e = __mu * __d;
609:           _Tp __fact2 = (std::abs(__e) < __eps
609:                        ? _Tp(1) : std::sinh(__e) / __e);
609:           _Tp __gam1, __gam2, __gampl, __gammi;
609:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
609:           _Tp __ff = (_Tp(2) / __numeric_constants<_Tp>::__pi())
609:                    * __fact * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
609:           __e = std::exp(__e);
609:           _Tp __p = __e / (__numeric_constants<_Tp>::__pi() * __gampl);
609:           _Tp __q = _Tp(1) / (__e * __numeric_constants<_Tp>::__pi() * __gammi);
609:           const _Tp __pimu2 = __pimu / _Tp(2);
609:           _Tp __fact3 = (std::abs(__pimu2) < __eps
609:                        ? _Tp(1) : std::sin(__pimu2) / __pimu2 );
609:           _Tp __r = __numeric_constants<_Tp>::__pi() * __pimu2 * __fact3 * __fact3;
609:           _Tp __c = _Tp(1);
609:           __d = -__x2 * __x2;
609:           _Tp __sum = __ff + __r * __q;
609:           _Tp __sum1 = __p;
609:           for (__i = 1; __i <= __max_iter; ++__i)
609:             {
609:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
609:               __c *= __d / _Tp(__i);
609:               __p /= _Tp(__i) - __mu;
609:               __q /= _Tp(__i) + __mu;
609:               const _Tp __del = __c * (__ff + __r * __q);
609:               __sum += __del;
609:               const _Tp __del1 = __c * __p - __i * __del;
609:               __sum1 += __del1;
609:               if ( std::abs(__del) < __eps * (_Tp(1) + std::abs(__sum)) )
609:                 break;
609:             }
609:           if ( __i > __max_iter )
609:             std::__throw_runtime_error(("Bessel y series failed to converge " "in __bessel_jn.")
609:                                                              );
609:           __Nmuontainer>& __lhs,
1417:         const __normal_iterator<_Iterator, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() <= __rhs.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1417:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() >= __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
1417:         const __normal_iterator<_Iterator, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() >= __rhs.base(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1417: 
1417: 
1417:     [[__nodiscard__]]
1417:     inline auto
1417:     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
1417:        const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
1417:     -> decltype(__lhs.base() - __rhs.base())
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     { return __lhs.base() - __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline typename __normal_iterator<_Iterator, _Container>::difference_type
1417:     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
1417:        const __normal_iterator<_Iterator, _Container>& __rhs)
1417:     noexcept
1417:     { return __lhs.base() - __rhs.base(); }
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     [[__nodiscard__]]
1417:     inline __normal_iterator<_Iterator, _Container>
1417:     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
1417:        __n, const __normal_iterator<_Iterator, _Container>& __i)
1417:     noexcept
1417:     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
1417: 
1417: 
1417: }
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:    
1417:     _Iterator
1417:     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
1417:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1417:     { return __it.base(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Iterator, typename _Container>
1417:     constexpr auto
1417:     __to_address(const __gnu_cxx::__normal_iterator<_Iterator,
1417:           _Container>& __it) noexcept
1417:     -> decltype(std::__to_address(__it.base()))
1417:     { return std::__to_address(__it.base()); }
1417: # 1417 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   namespace __detail
1417:   {
1417: # 1433 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   }
1417: # 1444 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Iterator>
1417:     class move_iterator
1417: 
1417: 
1417: 
1417:     {
1417:       _Iterator _M_current;
1417: 
1417:       using __traits_type = iterator_traits<_Iterator>;
1417: 
1417:       using __base_ref = typename __traits_type::reference;
1417: 
1417: 
1417:       template<typename _Iter2>
1417:  friend class move_iterator;
1417: # 1468 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:     public:
1417:       using iterator_type = _Iterator;
1417: # 1479 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:       typedef typename __traits_type::iterator_category iterator_category;
1417:       typedef typename __traits_type::value_type value_type;
1417:       typedef typename __traits_type::difference_type difference_type;
1417: 
1417:       typedef _Iterator pointer;
1417: 
1417: 
1417:       using reference
1417:  = __conditional_t<is_reference<__base_ref>::value,
1417:      typename remove_reference<__base_ref>::type&&,
1417:      __base_ref>;
1417: 
1417: 
1417:       constex = -__sum;
609:           __Nnu1 = -__sum1 * __xi2;
609:           __Npmu = __mu * __xi * __Nmu - __Nnu1;
609:           __Jmu = __w / (__Npmu - __f * __Nmu);
609:         }
609:       else
609:         {
609:           _Tp __a = _Tp(0.25L) - __mu2;
609:           _Tp __q = _Tp(1);
609:           _Tp __p = -__xi / _Tp(2);
609:           _Tp __br = _Tp(2) * __x;
609:           _Tp __bi = _Tp(2);
609:           _Tp __fact = __a * __xi / (__p * __p + __q * __q);
609:           _Tp __cr = __br + __q * __fact;
609:           _Tp __ci = __bi + __p * __fact;
609:           _Tp __den = __br * __br + __bi * __bi;
609:           _Tp __dr = __br / __den;
609:           _Tp __di = -__bi / __den;
609:           _Tp __dlr = __cr * __dr - __ci * __di;
609:           _Tp __dli = __cr * __di + __ci * __dr;
609:           _Tp __temp = __p * __dlr - __q * __dli;
609:           __q = __p * __dli + __q * __dlr;
609:           __p = __temp;
609:           int __i;
609:           for (__i = 2; __i <= __max_iter; ++__i)
609:             {
609:               __a += _Tp(2 * (__i - 1));
609:               __bi += _Tp(2);
609:               __dr = __a * __dr + __br;
609:               __di = __a * __di + __bi;
609:               if (std::abs(__dr) + std::abs(__di) < __fp_min)
609:                 __dr = __fp_min;
609:               __fact = __a / (__cr * __cr + __ci * __ci);
609:               __cr = __br + __cr * __fact;
609:               __ci = __bi - __ci * __fact;
609:               if (std::abs(__cr) + std::abs(__ci) < __fp_min)
609:                 __cr = __fp_min;
609:               __den = __dr * __dr + __di * __di;
609:               __dr /= __den;
609:               __di /= -__den;
609:               __dlr = __cr * __dr - __ci * __di;
609:               __dli = __cr * __di + __ci * __dr;
609:               __temp = __p * __dlr - __q * __dli;
609:               __q = __p * __dli + __q * __dlr;
609:               __p = __temp;
609:               if (std::abs(__dlr - _Tp(1)) + std::abs(__dli) < __eps)
609:                 break;
609:           }
609:           if (__i > __max_iter)
609:             std::__throw_runtime_error(("Lentz's method failed " "in __bessel_jn.")
609:                                                              );
609:           const _Tp __gam = (__p - __f) / __q;
609:           __Jmu = std::sqrt(__w / ((__p - __f) * __gam + __q));
609: 
609:           __Jmu = ::std::copysign(__Jmu, __Jnul);
609: 
609: 
609: 
609: 
609:           __Nmu = __gam * __Jmu;
609:           __Npmu = (__p + __q / __gam) * __Nmu;
609:           __Nnu1 = __mu * __xi * __Nmu - __Npmu;
609:       }
609:       __fact = __Jmu / __Jnul;
609:       __Jnu = __fact * __Jnul1;
609:       __Jpnu = __fact * __Jpnu1;
609:       for (__i = 1; __i <= __nl; ++__i)
609:         {
609:           const _Tp __Nnutemp = (__mu + __i) * __xi2 * __Nnu1 - __Nmu;
609:           __Nmu = __Nnu1;
609:           __Nnu1 = __Nnutemp;
609:         }
609:       __Nnu = __Nmu;
609:       __Npnu = __nu * __xi * __Nmu - __Nnu1;
609: 
609:       return;
609:     }
609: # 361 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template <typename _Tp>
609:     void
609:     __cyl_bessel_jn_asymp(_Tp __nu, _Tp __x, _Tp & __Jnu, _Tp & __Nnu)
609:     {
609:       const _Tp __mu = _Tp(4) * __nu * __nu;
609:       const _Tp __8x = _Tp(8) * __x;
609: 
609:       _Tp __P = _Tp(0);
609:       _Tp __Q = _Tp(0);
609: 
609:       _Tp __k = _Tp(0);
609:       _Tp __term = _Tp(1);
609: 
609:       int __epsP = 0;
609:       int __epsQ = 0;
609: 
609:       _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609: 
609:       do
609:         {
609:           __term *= (__k == 0
609:                      ? _Tp(1)
609:                      : -(__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x));
609: 
609:           __epsP = std::abs(__term) < __eps * std::abs(__P);
609:           __P += __term;
609: 
609:           __k++;
609: 
609:           __term *= (__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x);
609:           __epsQ = std::abs(__term) < __eps * std::abs(__Q);
609:           __Q +=pr
1417:       move_iterator()
1417:       : _M_current() { }
1417: 
1417:       explicit constexpr
1417:       move_iterator(iterator_type __i)
1417:       : _M_current(std::move(__i)) { }
1417: 
1417:       template<typename _Iter>
1417: 
1417: 
1417: 
1417:  constexpr
1417:  move_iterator(const move_iterator<_Iter>& __i)
1417:  : _M_current(__i._M_current) { }
1417: 
1417:       template<typename _Iter>
1417: 
1417: 
1417: 
1417: 
1417:  constexpr
1417:  move_iterator& operator=(const move_iterator<_Iter>& __i)
1417:  {
1417:    _M_current = __i._M_current;
1417:    return *this;
1417:  }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr iterator_type
1417:       base() const
1417:       { return _M_current; }
1417: # 1537 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:       [[__nodiscard__]]
1417:       constexpr reference
1417:       operator*() const
1417: 
1417: 
1417: 
1417:       { return static_cast<reference>(*_M_current); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr pointer
1417:       operator->() const
1417:       { return _M_current; }
1417: 
1417:       constexpr move_iterator&
1417:       operator++()
1417:       {
1417:  ++_M_current;
1417:  return *this;
1417:       }
1417: 
1417:       constexpr move_iterator
1417:       operator++(int)
1417:       {
1417:  move_iterator __tmp = *this;
1417:  ++_M_current;
1417:  return __tmp;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr move_iterator&
1417:       operator--()
1417:       {
1417:  --_M_current;
1417:  return *this;
1417:       }
1417: 
1417:       constexpr move_iterator
1417:       operator--(int)
1417:       {
1417:  move_iterator __tmp = *this;
1417:  --_M_current;
1417:  return __tmp;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr move_iterator
1417:       operator+(difference_type __n) const
1417:       { return move_iterator(_M_current + __n); }
1417: 
1417:       constexpr move_iterator&
1417:       operator+=(difference_type __n)
1417:       {
1417:  _M_current += __n;
1417:  return *this;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr move_iterator
1417:       operator-(difference_type __n) const
1417:       { return move_iterator(_M_current - __n); }
1417: 
1417:       constexpr move_iterator&
1417:       operator-=(difference_type __n)
1417:       {
1417:  _M_current -= __n;
1417:  return *this;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr reference
1417:       operator[](difference_type __n) const
1417: 
1417: 
1417: 
1417:       { return std::move(_M_current[__n]); }
1417: # 1651 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:     };
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator==(const move_iterator<_IteratorL>& __x,
1417:         const move_iterator<_IteratorR>& __y)
1417: 
1417: 
1417: 
1417:     { return __x.base() == __y.base(); }
1417: # 1672 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator!=(const move_iterator<_IteratorL>& __x,
1417:         const move_iterator<_IteratorR>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator<(const move_iterator<_IteratorL>& __x,
1417:        const move_iterator<_IteratorR>& __y)
1417: 
1417: 
1417: 
1417:     { return __x.base() < __y.base(); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator<=(const move_iterator<_IteratorL>& __x,
1417:         const move_iterator<_IteratorR>& __y)
1417: 
1417: 
1417: 
1417:     { return !(__y < __x); }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>(const move_iterator<_IteratorL>& __x,
1417:        const move_iterator<_IteratorR>& __y)
1417: 
1417: 
1417: 
1417:     { return __y < __x; }
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>=(const move_iterator<_IteratorL>& __x,
1417:         const move_iterator<_IteratorR>& __y)
1417: 
1417: 
1417: 
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator==(const move_iterator<_Iterator>& __x,
1417:         const move_iterator<_Iterator>& __y)
1417:     { return __x.base() == __y.base(); }
1417: # 1738 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator!=(const move_iterator<_Iterator>& __x,
1417:         const move_iterator<_Iterator>& __y)
1417:     { return !(__x == __y); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator<(const move_iterator<_Iterator>& __x,
1417:        const move_iterator<_Iterator>& __y)
1417:     { return __x.base() < __y.base(); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator<=(const move_iterator<_Iterator>& __x,
1417:         const move_iterator<_Iterator>& __y)
1417:     { return !(__y < __x); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>(const move_iterator<_Iterator>& __x,
1417:        const move_iterator<_Iterator>& __y)
1417:     { return __y < __x; }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr bool
1417:     operator>=(const move_iterator<_Iterator>& __x,
1417:         const move_iterator<_Iterator>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417:   template<typename _IteratorL, typename _IteratorR>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     operator-(const move_iterator<_IteratorL>& __x,
1417:        const move_iterator<_IteratorR>& __y)
1417:     -> decltype(__x.base() - __y.base())
1417:     { return __x.base() - __y.base(); }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr move_iterator<_Iterator>
1417:     operator+(typename move_iterator<_Iterator>::difference_type __n,
1417:        const move_iterator<_Iterator>& __x)
1417:     { return __x + __n; }
1417: 
1417:   template<typename _Iterator>
1417:     [[__nodiscard__]]
1417:     inline constexpr move_iterator<_Iterator>
1417:     make_move_iterator(_Iterator __i)
1417:     { return move_iterator<_Iterator>(std::move(__i)); }
1417: 
1417:   template<typename _Iterator, typename _ReturnType
1417:     = __conditional_t<__move_if_noexcept_cond
1417:       <typename iterator_traits<_Iterator>::value_type>::value,
1417:   _Iterator, move_iterator<_Iterator>>>
1417:     inline constexpr _ReturnType
1417:     __make_move_if_noexcept_iterator(_Iterator __i)
1417:     { return _ReturnType(__i); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _ReturnType
1417:     = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
1417:         const _Tp*, move_iterator<_Tp*>>>
1417:     inline constexpr _ReturnType
1417:     __make_move_if_noexcept_iterator(_Tp* __i)
1417:     { return _ReturnType(__i); }
1417: # 2552 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _Iterator>
1417:    
1417:     auto
1417:     __niter_base(move_iterator<_Iterator> __it)
1417:     -> decltype(make_move_iterator(__niter_base(__it.base())))
1417:     { return make_move_iterator(__niter_base(__it.base())); }
1417: 
1417:   template<typename _Iterator>
1417:     struct __is_move_iterator<move_iterator<_Iterator> >
1417:     {
1417:       enum { __value = 1 };
1417:       typedef __true_type __type;
1417:     };
1417: 
1417:   templat __term;
609: 
609:           if (__epsP && __epsQ && __k > (__nu / 2.))
609:             break;
609: 
609:           __k++;
609:         }
609:       while (__k < 1000);
609: 
609:       const _Tp __chi = __x - (__nu + _Tp(0.5L))
609:                              * __numeric_constants<_Tp>::__pi_2();
609: 
609:       const _Tp __c = std::cos(__chi);
609:       const _Tp __s = std::sin(__chi);
609: 
609:       const _Tp __coef = std::sqrt(_Tp(2)
609:                              / (__numeric_constants<_Tp>::__pi() * __x));
609: 
609:       __Jnu = __coef * (__c * __P - __s * __Q);
609:       __Nnu = __coef * (__s * __P + __c * __Q);
609: 
609:       return;
609:     }
609: # 444 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template <typename _Tp>
609:     _Tp
609:     __cyl_bessel_ij_series(_Tp __nu, _Tp __x, _Tp __sgn,
609:                            unsigned int __max_iter)
609:     {
609:       if (__x == _Tp(0))
609:  return __nu == _Tp(0) ? _Tp(1) : _Tp(0);
609: 
609:       const _Tp __x2 = __x / _Tp(2);
609:       _Tp __fact = __nu * std::log(__x2);
609: 
609:       __fact -= ::std::lgamma(__nu + _Tp(1));
609: 
609: 
609: 
609:       __fact = std::exp(__fact);
609:       const _Tp __xx4 = __sgn * __x2 * __x2;
609:       _Tp __Jn = _Tp(1);
609:       _Tp __term = _Tp(1);
609: 
609:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
609:         {
609:           __term *= __xx4 / (_Tp(__i) * (__nu + _Tp(__i)));
609:           __Jn += __term;
609:           if (std::abs(__term / __Jn) < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:         }
609: 
609:       return __fact * __Jn;
609:     }
609: # 490 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __cyl_bessel_j(_Tp __nu, _Tp __x)
609:     {
609:       if (__nu < _Tp(0) || __x < _Tp(0))
609:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_j.")
609:                                                            );
609:       else if (__isnan(__nu) || __isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
609:         return __cyl_bessel_ij_series(__nu, __x, -_Tp(1), 200);
609:       else if (__x > _Tp(1000))
609:         {
609:           _Tp __J_nu, __N_nu;
609:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
609:           return __J_nu;
609:         }
609:       else
609:         {
609:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
609:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
609:           return __J_nu;
609:         }
609:     }
609: # 532 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __cyl_neumann_n(_Tp __nu, _Tp __x)
609:     {
609:       if (__nu < _Tp(0) || __x < _Tp(0))
609:         std::__throw_domain_error(("Bad argument " "in __cyl_neumann_n.")
609:                                                             );
609:       else if (__isnan(__nu) || __isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__x > _Tp(1000))
609:         {
609:           _Tp __J_nu, __N_nu;
609:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
609:           return __N_nu;
609:         }
609:       else
609:         {
609:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
609:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
609:           return __N_nu;
609:         }
609:     }
609: # 569 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template <typename _Tp>
609:     void
609:     __sph_bessel_jn(unsigned int __n, _Tp __x,
609:                     _Tp & __j_n, _Tp & __n_n, _Tp & __jp_n, _Tp & __np_n)
609:     {
609:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
609: 
609:       _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
609:       __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
609: 
609:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
609:                          / std::sqrt(__x);
609: 
609:       __j_n = __factor * __J_nu;
609:       __n_n = __factor * __N_nu;
609:       __jp_n = __factor * __Jp_nu - __j_n / (_Tp(2) * __x);
609:       __np_n = __factor * __Np_nu - __n_n / (_Tp(2) * __x);
609: 
609:       return;
609:     }
609: # 604 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template <typename _Tp>
609:     _Tp
609:     __sph_bessel(unsigned int __n, _Tp __x)
609:     {
609:       if (__x < _Tp(0))
609:         std::__throw_domain_error(("Bad argument " "in __sph_bessel.")
609:                                                          );
609:       else if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__x == _Tp(0))
609:         {
609:           if (__n == 0)
609:             return _Tp(1);
609:           else
609:             return _Tp(0);
609:         }
609:       else
609:         {
609:           _Tp __j_n, __n_n, __jp_n, __np_n;
609:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
609:           return __j_n;
609:         }
609:     }
609: # 642 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
609:     template <typename _Tp>
609:     _Tp
609:     __sph_neumann(unsigned int __n, _Tp __x)
609:     {
609:       if (__x < _Tp(0))
609:         std::__throw_domain_error(("Bad argument " "in __sph_neumann.")
609:                                                           );
609:       else if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__x == _Tp(0))
609:         return -std::numeric_limits<_Tp>::infinity();
609:       else
609:         {
609:           _Tp __j_n, __n_n, __jp_n, __np_n;
609:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
609:           return __n_n;
609:         }
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 51 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/beta_function.tcc" 1 3
609: # 49 "/usr/include/c++/12/tr1/beta_function.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 65 "/usr/include/c++/12/tr1/beta_function.tcc" 3
609:   namespace __detail
609:   {
609: # 79 "/usr/include/c++/12/tr1/beta_function.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __beta_gamma(_Tp __x, _Tp __y)
609:     {
609: 
609:       _Tp __bet;
609: 
609:       if (__x > __y)
609:         {
609:           __bet = ::std::tgamma(__x)
609:                 / ::std::tgamma(__x + __y);
609:           __bet *= ::std::tgamma(__y);
609:         }
609:       else
609:         {
609:           __bet = ::std::tgamma(__y)
609:                 / ::std::tgamma(__x + __y);
609:           __bet *= ::std::tgamma(__x);
609:         }
609: # 111 "/usr/include/c++/12/tr1/beta_function.tcc" 3
609:       return __bet;
609:     }
609: # 127 "/usr/include/c++/12/tr1/beta_function.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __beta_lgamma(_Tp __x, _Tp __y)
609:     {
609: 
609:       _Tp __bet = ::std::lgamma(__x)
609:                 + ::std::lgamma(__y)
609:                 - ::std::lgamma(__x + __y);
609: 
609: 
609: 
609: 
609: 
609:       __bet = std::exp(__bet);
609:       return __bet;
609:     }
609: # 158 "/usr/include/c++/12/tr1/beta_function.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __beta_product(_Tp __x, _Tp __y)
609:     {
609: 
609:       _Tp __bet = (__x + __y) / (__x * __y);
609: 
609:       unsigned int __max_iter = 1000000;
609:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
609:         {
609:           _Tp __term = (_Tp(1) + (__x + __y) / __k)
609:                      / ((_Tp(1) + __x / __k) * (_Tp(1) + __y / __k));
609:           __bet *= __term;
609:         }
609: 
609:       return __bet;
609:     }
609: # 189 "/usr/include/c++/12/tr1/beta_function.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __beta(_Tp __x, _Tp __y)
609:     {
609:       if (__isnan(__x) || __isnan(__y))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else
609:         return __beta_lgamma(__x, __y);
609:     }
6e<typename _Iterator>
1417:    
1417:     auto
1417:     __miter_base(move_iterator<_Iterator> __it)
1417:     -> decltype(__miter_base(__it.base()))
1417:     { return __miter_base(__it.base()); }
1417: # 2584 "/usr/include/c++/12/bits/stl_iterator.h" 3
1417:   template<typename _InputIterator>
1417:     using __iter_key_t = remove_const_t<
1417:     typename iterator_traits<_InputIterator>::value_type::first_type>;
1417: 
1417:   template<typename _InputIterator>
1417:     using __iter_val_t =
1417:     typename iterator_traits<_InputIterator>::value_type::second_type;
1417: 
1417:   template<typename _T1, typename _T2>
1417:     struct pair;
1417: 
1417:   template<typename _InputIterator>
1417:     using __iter_to_alloc_t =
1417:     pair<add_const_t<__iter_key_t<_InputIterator>>,
1417:   __iter_val_t<_InputIterator>>;
1417: 
1417: 
1417: 
1417: }
1417: # 68 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/debug/debug.h" 1 3
1417: # 48 "/usr/include/c++/12/debug/debug.h" 3
1417: namespace std
1417: {
1417:   namespace __debug { }
1417: }
1417: 
1417: 
1417: 
1417: 
1417: namespace __gnu_debug
1417: {
1417:   using namespace std::__debug;
1417: 
1417:   template<typename _Ite, typename _Seq, typename _Cat>
1417:     struct _Safe_iterator;
1417: }
1417: # 70 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/predefined_ops.h" 1 3
1417: # 35 "/usr/include/c++/12/bits/predefined_ops.h" 3
1417: namespace __gnu_cxx
1417: {
1417: namespace __ops
1417: {
1417:   struct _Iter_less_iter
1417:   {
1417:     template<typename _Iterator1, typename _Iterator2>
1417:       constexpr
1417:       bool
1417:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1417:       { return *__it1 < *__it2; }
1417:   };
1417: 
1417:   constexpr
1417:   inline _Iter_less_iter
1417:   __iter_less_iter()
1417:   { return _Iter_less_iter(); }
1417: 
1417:   struct _Iter_less_val
1417:   {
1417: 
1417:     constexpr _Iter_less_val() = default;
1417: 
1417: 
1417: 
1417: 
1417:    
1417:     explicit
1417:     _Iter_less_val(_Iter_less_iter) { }
1417: 
1417:     template<typename _Iterator, typename _Value>
1417:      
1417:       bool
1417:       operator()(_Iterator __it, _Value& __val) const
1417:       { return *__it < __val; }
1417:   };
1417: 
1417:  
1417:   inline _Iter_less_val
1417:   __iter_less_val()
1417:   { return _Iter_less_val(); }
1417: 
1417:  
1417:   inline _Iter_less_val
1417:   __iter_comp_val(_Iter_less_iter)
1417:   { return _Iter_less_val(); }
1417: 
1417:   struct _Val_less_iter
1417:   {
1417: 
1417:     constexpr _Val_less_iter() = default;
1417: 
1417: 
1417: 
1417: 
1417:    
1417:     explicit
1417:     _Val_less_iter(_Iter_less_iter) { }
1417: 
1417:     template<typename _Value, typename _Iterator>
1417:      
1417:       bool
1417:       operator()(_Value& __val, _Iterator __it) const
1417:       { return __val < *__it; }
1417:   };
1417: 
1417:  
1417:   inline _Val_less_iter
1417:   __val_less_iter()
1417:   { return _Val_less_iter(); }
1417: 
1417:  
1417:   inline _Val_less_iter
1417:   __val_comp_iter(_Iter_less_iter)
1417:   { return _Val_less_iter(); }
1417: 
1417:   struct _Iter_equal_to_iter
1417:   {
1417:     template<typename _Iterator1, typename _Iterator2>
1417:      
1417:       bool
1417:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1417:       { return *__it1 == *__it2; }
1417:   };
1417: 
1417:  
1417:   inline _Iter_equal_to_iter
1417:   __iter_equal_to_iter()
1417:   { return _Iter_equal_to_iter(); }
1417: 
1417:   struct _Iter_equal_to_val
1417:   {
1417:     template<typename _Iterator, typename _Value>
1417:      
1417:       bool
1417:       operator()(_Iterator __it, _Value& __val) const
1417:       { return *__it == __val; }
1417:   };
1417: 
1417:  
1417:   inline _Iter_equal_to_val
1417:   __iter_equal_to_val()
1417:   { return _Iter_equal_to_val(); }
1417: 
1417:  
1417:   inline _Iter_equal_to_val
1417:   __iter_comp_val(_Iter_equal_to_iter)
1417:   { return _Iter_equal_to_val(); }
1417: 
1417:   template<typename _Compare>
1417:     struct _Iter_comp_iter
1417:     {
1417:       _Compare _M_comp;
1417: 
1417:       explicit constexpr
1417:       _Iter_comp_iter(_Compare __comp)
1417:  : _M_comp(std::move(__comp))
1417:       { }
1417: 
1417:       template<typename _Iterator1, typename _Iterator2>
1417:         constexpr
1417:         bool
1417:         operator()(_Iterator1 __it1, _Iterator2 __it2)
1417:         { return bool(_M_comp(*__it1, *__it2)); }
1417:     };
1417: 
1417:   template<typename _Compare>
1417:     constexpr
1417:     inline _Iter_comp_iter<_Compare>
1417:     __iter_comp_iter(_Compare __comp)
1417:     { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
1417: 
1417:   template<typename _Compare>
1417:     struct _Iter_comp_val
1417:     {
1417:       _Compare _M_comp;
1417: 
1417:      
1417:       explicit
1417:       _Iter_comp_val(_Compare __comp)
1417:  : _M_comp(std::move(__comp))
1417:       { }
1417: 
1417:      
1417:       explicit
1417:       _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
1417:  : _M_comp(__comp._M_comp)
1417:       { }
1417: 
1417: 
1417:      
1417:       explicit
1417:       _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
1417:  : _M_comp(std::move(__comp._M_comp))
1417:       { }
1417: 
1417: 
1417:       template<typename _Iterator, typename _Value>
1417: 
1417:  bool
1417:  operator()(_Iterator __it, _Value& __val)
1417:  { return bool(_M_comp(*__it, __val)); }
1417:     };
1417: 
1417:   template<typename _Compare>
1417:    
1417:     inline _Iter_comp_val<_Compare>
1417:     __iter_comp_val(_Compare __comp)
1417:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1417: 
1417:   template<typename _Compare>
1417:    
1417:     inline _Iter_comp_val<_Compare>
1417:     __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
1417:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1417: 
1417:   template<typename _Compare>
1417:     struct _Val_comp_iter
1417:     {
1417:       _Compare _M_comp;
1417: 
1417:      
1417:       explicit
1417:       _Val_comp_iter(_Compare __comp)
1417:  : _M_comp(std::move(__comp))
1417:       { }
1417: 
1417:      
1417:       explicit
1417:       _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
1417:  : _M_comp(__comp._M_comp)
1417:       { }
1417: 
1417: 
1417:      
1417:       explicit
1417:       _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
1417:  : _M_comp(std::move(__comp._M_comp))
1417:       { }
1417: 
1417: 
1417:       template<typename _Value, typename _Iterator>
1417: 
1417:  bool
1417:  operator()(_Value& __val, _Iterator __it)
1417:  { return bool(_M_comp(__val, *__it)); }
1417:     };
1417: 
1417:   template<typename _Compare>
1417:    
1417:     inline _Val_comp_iter<_Compare>
1417:     __val_comp_iter(_Compare __comp)
1417:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1417: 
1417:   template<typename _Compare>
1417:    
1417:     inline _Val_comp_iter<_Compare>
1417:     __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
1417:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1417: 
1417:   template<typename _Value>
1417:     struct _Iter_equals_val
1417:     {
1417:       _Value& _M_value;
1417: 
1417:      
1417:       explicit
1417:       _Iter_equals_val(_Value& __value)
1417:  : _M_value(__value)
1417:       { }
1417: 
1417:       template<typename _Iterator>
1417: 
1417:  bool
1417:  operator()(_Iterator __it)
1417:  { return *__it == _M_value; }
1417:     };
1417: 
1417:   template<typename _Value>
1417:    
1417:     inline _Iter_equals_val<_Value>
1417:     __iter_equals_val(_Value& __val)
1417:     { return _Iter_equals_val<_Value>(__val); }
1417: 
1417:   template<typename _Iterator1>
1417:     struct _Iter_equals_iter
1417:     {
1417:       _Iterator1 _M_it1;
1417: 
1417:      
1417:       explicit
1417:       _Iter_equals_iter(_Iterator1 __it1)
1417:  : _M_it1(__it1)
1417:       { }
1417: 
1417:       template<typename _Iterator2>
1417: 
1417:  bool
1417:  operator()(_Iterator2 __it2)
1417:  { return *__it2 == *_M_it1; }
1417:   09:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 52 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/ell_integral.tcc" 1 3
609: # 45 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 59 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:   namespace __detail
609:   {
609: # 76 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __ellint_rf(_Tp __x, _Tp __y, _Tp __z)
609:     {
609:       const _Tp __min = std::numeric_limits<_Tp>::min();
609:       const _Tp __lolim = _Tp(5) * __min;
609: 
609:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
609:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rf.")
609:                                                         );
609:       else if (__x + __y < __lolim || __x + __z < __lolim
609:             || __y + __z < __lolim)
609:         std::__throw_domain_error(("Argument too small in __ellint_rf"));
609:       else
609:         {
609:           const _Tp __c0 = _Tp(1) / _Tp(4);
609:           const _Tp __c1 = _Tp(1) / _Tp(24);
609:           const _Tp __c2 = _Tp(1) / _Tp(10);
609:           const _Tp __c3 = _Tp(3) / _Tp(44);
609:           const _Tp __c4 = _Tp(1) / _Tp(14);
609: 
609:           _Tp __xn = __x;
609:           _Tp __yn = __y;
609:           _Tp __zn = __z;
609: 
609:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:           const _Tp __errtol = std::pow(__eps, _Tp(1) / _Tp(6));
609:           _Tp __mu;
609:           _Tp __xndev, __yndev, __zndev;
609: 
609:           const unsigned int __max_iter = 100;
609:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
609:             {
609:               __mu = (__xn + __yn + __zn) / _Tp(3);
609:               __xndev = 2 - (__mu + __xn) / __mu;
609:               __yndev = 2 - (__mu + __yn) / __mu;
609:               __zndev = 2 - (__mu + __zn) / __mu;
609:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
609:               __epsilon = std::max(__epsilon, std::abs(__zndev));
609:               if (__epsilon < __errtol)
609:                 break;
609:               const _Tp __xnroot = std::sqrt(__xn);
609:               const _Tp __ynroot = std::sqrt(__yn);
609:               const _Tp __znroot = std::sqrt(__zn);
609:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
609:                                  + __ynroot * __znroot;
609:               __xn = __c0 * (__xn + __lambda);
609:               __yn = __c0 * (__yn + __lambda);
609:               __zn = __c0 * (__zn + __lambda);
609:             }
609: 
609:           const _Tp __e2 = __xndev * __yndev - __zndev * __zndev;
609:           const _Tp __e3 = __xndev * __yndev * __zndev;
609:           const _Tp __s = _Tp(1) + (__c1 * __e2 - __c2 - __c3 * __e3) * __e2
609:                    + __c4 * __e3;
609: 
609:           return __s / std::sqrt(__mu);
609:         }
609:     }
609: # 153 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __comp_ellint_1_series(_Tp __k)
609:     {
609: 
609:       const _Tp __kk = __k * __k;
609: 
609:       _Tp __term = __kk / _Tp(4);
609:       _Tp __sum = _Tp(1) + __term;
609: 
609:       const unsigned int __max_iter = 1000;
609:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
609:         {
609:           __term *= (2 * __i - 1) * __kk / (2 * __i);
609:           if (__term < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:           __sum += __term;
609:         }
609: 
609:       return __numeric_constants<_Tp>::__pi_2() * __sum;
609:     }
609: # 191 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __comp_ellint_1(_Tp __k)
609:     {
609: 
609:       if (__isnan(__k))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (std::abs(__k) >= _Tp(1))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
  };
1417: 
1417:   template<typename _Iterator>
1417:    
1417:     inline _Iter_equals_iter<_Iterator>
1417:     __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
1417:     { return _Iter_equals_iter<_Iterator>(__it); }
1417: 
1417:   template<typename _Predicate>
1417:     struct _Iter_pred
1417:     {
1417:       _Predicate _M_pred;
1417: 
1417:      
1417:       explicit
1417:       _Iter_pred(_Predicate __pred)
1417:  : _M_pred(std::move(__pred))
1417:       { }
1417: 
1417:       template<typename _Iterator>
1417: 
1417:  bool
1417:  operator()(_Iterator __it)
1417:  { return bool(_M_pred(*__it)); }
1417:     };
1417: 
1417:   template<typename _Predicate>
1417:    
1417:     inline _Iter_pred<_Predicate>
1417:     __pred_iter(_Predicate __pred)
1417:     { return _Iter_pred<_Predicate>(std::move(__pred)); }
1417: 
1417:   template<typename _Compare, typename _Value>
1417:     struct _Iter_comp_to_val
1417:     {
1417:       _Compare _M_comp;
1417:       _Value& _M_value;
1417: 
1417:      
1417:       _Iter_comp_to_val(_Compare __comp, _Value& __value)
1417:  : _M_comp(std::move(__comp)), _M_value(__value)
1417:       { }
1417: 
1417:       template<typename _Iterator>
1417: 
1417:  bool
1417:  operator()(_Iterator __it)
1417:  { return bool(_M_comp(*__it, _M_value)); }
1417:     };
1417: 
1417:   template<typename _Compare, typename _Value>
1417:     _Iter_comp_to_val<_Compare, _Value>
1417:    
1417:     __iter_comp_val(_Compare __comp, _Value &__val)
1417:     {
1417:       return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
1417:     }
1417: 
1417:   template<typename _Compare, typename _Iterator1>
1417:     struct _Iter_comp_to_iter
1417:     {
1417:       _Compare _M_comp;
1417:       _Iterator1 _M_it1;
1417: 
1417:      
1417:       _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
1417:  : _M_comp(std::move(__comp)), _M_it1(__it1)
1417:       { }
1417: 
1417:       template<typename _Iterator2>
1417: 
1417:  bool
1417:  operator()(_Iterator2 __it2)
1417:  { return bool(_M_comp(*__it2, *_M_it1)); }
1417:     };
1417: 
1417:   template<typename _Compare, typename _Iterator>
1417:    
1417:     inline _Iter_comp_to_iter<_Compare, _Iterator>
1417:     __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
1417:     {
1417:       return _Iter_comp_to_iter<_Compare, _Iterator>(
1417:    std::move(__comp._M_comp), __it);
1417:     }
1417: 
1417:   template<typename _Predicate>
1417:     struct _Iter_negate
1417:     {
1417:       _Predicate _M_pred;
1417: 
1417:      
1417:       explicit
1417:       _Iter_negate(_Predicate __pred)
1417:  : _M_pred(std::move(__pred))
1417:       { }
1417: 
1417:       template<typename _Iterator>
1417: 
1417:  bool
1417:  operator()(_Iterator __it)
1417:  { return !bool(_M_pred(*__it)); }
1417:     };
1417: 
1417:   template<typename _Predicate>
1417:    
1417:     inline _Iter_negate<_Predicate>
1417:     __negate(_Iter_pred<_Predicate> __pred)
1417:     { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
1417: 
1417: }
1417: }
1417: # 72 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr
1417:     inline int
1417:     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
1417:     {
1417: 
1417:       static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
1417: # 105 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:  return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
1417:     }
1417: # 149 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1417:    
1417:     inline void
1417:     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: # 182 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:       swap(*__a, *__b);
1417: 
1417:     }
1417: # 19r/include/c++/12/bits/shared_ptr.h" 3
1115:       template<typename _Deleter>
1115:  shared_ptr(nullptr_t __p, _Deleter __d)
1115:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1115: # 266 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       template<typename _Yp, typename _Deleter, typename _Alloc,
1115:         typename = _Constructible<_Yp*, _Deleter, _Alloc>>
1115:  shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1115:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1115: # 286 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       template<typename _Deleter, typename _Alloc>
1115:  shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1115:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1115: # 310 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       template<typename _Yp>
1115:  shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept
1115:  : __shared_ptr<_Tp>(__r, __p) { }
1115: # 349 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       template<typename _Yp,
1115:         typename = _Constructible<const shared_ptr<_Yp>&>>
1115:  shared_ptr(const shared_ptr<_Yp>& __r) noexcept
1115:         : __shared_ptr<_Tp>(__r) { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       shared_ptr(shared_ptr&& __r) noexcept
1115:       : __shared_ptr<_Tp>(std::move(__r)) { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Yp, typename = _Constructible<shared_ptr<_Yp>>>
1115:  shared_ptr(shared_ptr<_Yp>&& __r) noexcept
1115:  : __shared_ptr<_Tp>(std::move(__r)) { }
1115: # 379 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1115:  explicit shared_ptr(const weak_ptr<_Yp>& __r)
1115:  : __shared_ptr<_Tp>(__r) { }
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:       template<typename _Yp, typename = _Constructible<auto_ptr<_Yp>>>
1115:  shared_ptr(auto_ptr<_Yp>&& __r);
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Yp, typename _Del,
1115:         typename = _Constructible<unique_ptr<_Yp, _Del>>>
1115:  shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1115:  : __shared_ptr<_Tp>(std::move(__r)) { }
1115: # 412 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { }
1115: 
1115:       shared_ptr& operator=(const shared_ptr&) noexcept = default;
1115: 
1115:       template<typename _Yp>
1115:  _Assignable<const shared_ptr<_Yp>&>
1115:  operator=(const shared_ptr<_Yp>& __r) noexcept
1115:  {
1115:    this->__shared_ptr<_Tp>::operator=(__r);
1115:    return *this;
1115:  }
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:       template<typename _Yp>
1115:  _Assignable<auto_ptr<_Yp>>
1115:  operator=(auto_ptr<_Yp>&& __r)
1115:  {
1115:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1115:    return *this;
1115:  }
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115:       shared_ptr&
1115:       operator=(shared_ptr&& __r) noexcept
1115:       {
1115:  this->__shared_ptr<_Tp>::operator=(std::move(__r));
1115:  return *this;
1115:       }
1115: 
1115:       template<class _Yp>
1115:  _Assignable<shared_ptr<_Yp>>
1115:  operator=(shared_ptr<_Yp>&& __r) noexcept
1115:  {
1115:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _Yp, typename _Del>
1115:  _Assignable<unique_ptr<_Yp, _Del>>
1115:  operator=(unique_ptr<_Yp, _Del>&& __r)
1115:  {
1115:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1115:    return *this;
1115:  }
1115: 
1115:     private:
1115: 
1115:       template<typename _Alloc, typename... _Args>
1115:  shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1115:  : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
1115:  { }
1115: 
1115:       template<typename _Yp, typename _Alloc, typename... _Args>
1115:  friend shared_ptr<_NonArray<_Yp>>
609:       else
609:         return __ellint_rf(_Tp(0), _Tp(1) - __k * __k, _Tp(1));
609:     }
609: # 219 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __ellint_1(_Tp __k, _Tp __phi)
609:     {
609: 
609:       if (__isnan(__k) || __isnan(__phi))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (std::abs(__k) > _Tp(1))
609:         std::__throw_domain_error(("Bad argument in __ellint_1."));
609:       else
609:         {
609: 
609:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
609:                                    + _Tp(0.5L));
609:           const _Tp __phi_red = __phi
609:                               - __n * __numeric_constants<_Tp>::__pi();
609: 
609:           const _Tp __s = std::sin(__phi_red);
609:           const _Tp __c = std::cos(__phi_red);
609: 
609:           const _Tp __F = __s
609:                         * __ellint_rf(__c * __c,
609:                                 _Tp(1) - __k * __k * __s * __s, _Tp(1));
609: 
609:           if (__n == 0)
609:             return __F;
609:           else
609:             return __F + _Tp(2) * __n * __comp_ellint_1(__k);
609:         }
609:     }
609: # 266 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __comp_ellint_2_series(_Tp __k)
609:     {
609: 
609:       const _Tp __kk = __k * __k;
609: 
609:       _Tp __term = __kk;
609:       _Tp __sum = __term;
609: 
609:       const unsigned int __max_iter = 1000;
609:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
609:         {
609:           const _Tp __i2m = 2 * __i - 1;
609:           const _Tp __i2 = 2 * __i;
609:           __term *= __i2m * __i2m * __kk / (__i2 * __i2);
609:           if (__term < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:           __sum += __term / __i2m;
609:         }
609: 
609:       return __numeric_constants<_Tp>::__pi_2() * (_Tp(1) - __sum);
609:     }
609: # 314 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __ellint_rd(_Tp __x, _Tp __y, _Tp __z)
609:     {
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
609:       const _Tp __max = std::numeric_limits<_Tp>::max();
609:       const _Tp __lolim = _Tp(2) / std::pow(__max, _Tp(2) / _Tp(3));
609: 
609:       if (__x < _Tp(0) || __y < _Tp(0))
609:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rd.")
609:                                                         );
609:       else if (__x + __y < __lolim || __z < __lolim)
609:         std::__throw_domain_error(("Argument too small " "in __ellint_rd.")
609:                                                         );
609:       else
609:         {
609:           const _Tp __c0 = _Tp(1) / _Tp(4);
609:           const _Tp __c1 = _Tp(3) / _Tp(14);
609:           const _Tp __c2 = _Tp(1) / _Tp(6);
609:           const _Tp __c3 = _Tp(9) / _Tp(22);
609:           const _Tp __c4 = _Tp(3) / _Tp(26);
609: 
609:           _Tp __xn = __x;
609:           _Tp __yn = __y;
609:           _Tp __zn = __z;
609:           _Tp __sigma = _Tp(0);
609:           _Tp __power4 = _Tp(1);
609: 
609:           _Tp __mu;
609:           _Tp __xndev, __yndev, __zndev;
609: 
609:           const unsigned int __max_iter = 100;
609:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
609:             {
609:               __mu = (__xn + __yn + _Tp(3) * __zn) / _Tp(5);
609:               __xndev = (__mu - __xn) / __mu;
609:               __yndev = (__mu - __yn) / __mu;
609:               __zndev = (__mu - __zn) / __mu;
609:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
609:               __epsilon = std::max(__epsilon, std::abs(__zndev));
609:               if (__epsilon < __errtol)
609:                 break;
609:               _Tp __xnroot = std::sqrt(__xn);
609:               _Tp __ynroot = std::sqrt(__yn);
609:       8 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1417:    
1417:     _ForwardIterator2
1417:     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:   _ForwardIterator2 __first2)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1417:  std::iter_swap(__first1, __first2);
1417:       return __first2;
1417:     }
1417: # 227 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _Tp>
1417:     constexpr
1417:     inline const _Tp&
1417:     min(const _Tp& __a, const _Tp& __b)
1417:     {
1417: 
1417:      
1417: 
1417:       if (__b < __a)
1417:  return __b;
1417:       return __a;
1417:     }
1417: # 251 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _Tp>
1417:     constexpr
1417:     inline const _Tp&
1417:     max(const _Tp& __a, const _Tp& __b)
1417:     {
1417: 
1417:      
1417: 
1417:       if (__a < __b)
1417:  return __b;
1417:       return __a;
1417:     }
1417: # 275 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     inline const _Tp&
1417:     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
1417:     {
1417: 
1417:       if (__comp(__b, __a))
1417:  return __b;
1417:       return __a;
1417:     }
1417: # 297 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     inline const _Tp&
1417:     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
1417:     {
1417: 
1417:       if (__comp(__a, __b))
1417:  return __b;
1417:       return __a;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Iterator>
1417:    
1417:     inline _Iterator
1417:     __niter_base(_Iterator __it)
1417:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1417:     { return __it; }
1417: 
1417:   template<typename _Ite, typename _Seq>
1417:     _Ite
1417:     __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
1417:    std::random_access_iterator_tag>&);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _From, typename _To>
1417:    
1417:     inline _From
1417:     __niter_wrap(_From __from, _To __res)
1417:     { return __from + (__res - std::__niter_base(__from)); }
1417: 
1417: 
1417:   template<typename _Iterator>
1417:    
1417:     inline _Iterator
1417:     __niter_wrap(const _Iterator&, _Iterator __res)
1417:     { return __res; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<bool _IsMove, bool _IsSimple, typename _Category>
1417:     struct __copy_move
1417:     {
1417:       template<typename _II, typename _OI>
1417: 
1417:  static _OI
1417:  __copy_m(_II __first, _II __last, _OI __result)
1417:  {
1417:    for (; __first != __last; ++__result, (void)++__first)
1417:      *__result = *__first;
1417:    return __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<typename _Category>
1417:     struct __copy_move<true, false, _Category>
1417:     {
1417:       template<typename _II, typename _OI>
1417: 
1417:  static _OI
1417:  __copy_m(_II __first, _II __last, _OI __result)
1417:  {
1417:    for (; __first != __last; ++__result, (void)++__first)
1417:      *__result = std::move(*__first);
1417:    return __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __copy_move<false, false, random_access_iterator_tag>
1417:     {
1417:       template<typename _II, typename _OI>
1417: 
1417:  static _OI
1417:  __copy_m(_II __first, _II __last, _OI __result)
1417:  {
1417:    typedef typename iterator_traits<_II>::difference_type _Distance;
1417:    for(_Distance __n = __last - __first; __n > 0; --__n)
1417:      {
1417:        *__result = *__first;
1417:        ++__first;
1417:        ++__result;
1417:      }
1417:    return __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __copy_move<true, false, random_access_iterator_tag>
1417:     {
1417:       template<typename _II, typename _OI>
1417: 
1417:  static _OI
1417:  __copy_m(_II __first, _II __last, _OI __result)
1417:  {
1417:    typedef typename iterator_traits<_II>::difference_type _Distance;
1417:    for(_Distance __n = __last - __first; __n > 0; --__n)
1417:      {
1417:        *__result = std::move(*__first);
1417:        ++__first;
1417:        ++__result;
1417:      }
1417:    return __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<bool _IsMove>
1417:     struct __copy_move<_IsMove, true, random_access_iterator_tag>
1417:     {
1417:       template<typename _Tp>
1417: 
1417:  static _Tp*
1417:  __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
1417:  {
1417: 
1417:    using __assignable = __conditional_t<_IsMove,
1417:             is_move_assignable<_Tp>,
1417:             is_copy_assignable<_Tp>>;
1417: 
1417:    static_assert( __assignable::value, "type must be assignable" );
1417: 
1417:    const ptrdiff_t _Num = __last - __first;
1417:    if (_Num)
1417:      __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
1417:    return __result + _Num;
1417:  }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Ref, typename _Ptr>
1417:     struct _Deque_iterator;
1417: 
1417:   struct _Bit_iterator;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     struct char_traits;
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     class istreambuf_iterator;
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     class ostreambuf_iterator;
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1417:     __copy_move_a2(_CharT*, _CharT*,
1417:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1417:     __copy_move_a2(const _CharT*, const _CharT*,
1417:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:         _CharT*>::__type
1417:     __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1417:      istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_char<_CharT>::__value,
1417:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1417:     __copy_move_a2(
1417:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1417:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1417:  std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
1417: 
1417:   template<bool _IsMove, typename _II, typename _OI>
1417:    
1417:     inline _OI
1417:     __copy_move_a2(_II __first, _II __last, _OI __result)
1417:     {
1417:       typedef typename iterator_traits<_II>::iterator_category _Category;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value,
1417:          _Category>::__copy_m(__first, __last, __result);
1417:     }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1417:     _OI
1417:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1417:      std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1417:      _OI);
1417: 
1417:   template<bool _IsMove,
1417:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1417:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1417:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1417:      std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1417:      std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1417: 
1417:   template<bool _IsMove, typename _II, typename _Tp>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value,
1417        _Tp __znroot = std::sqrt(__zn);
609:               _Tp __lambda = __xnroot * (__ynroot + __znroot)
609:                            + __ynroot * __znroot;
609:               __sigma += __power4 / (__znroot * (__zn + __lambda));
609:               __power4 *= __c0;
609:               __xn = __c0 * (__xn + __lambda);
609:               __yn = __c0 * (__yn + __lambda);
609:               __zn = __c0 * (__zn + __lambda);
609:             }
609: 
609:           _Tp __ea = __xndev * __yndev;
609:           _Tp __eb = __zndev * __zndev;
609:           _Tp __ec = __ea - __eb;
609:           _Tp __ed = __ea - _Tp(6) * __eb;
609:           _Tp __ef = __ed + __ec + __ec;
609:           _Tp __s1 = __ed * (-__c1 + __c3 * __ed
609:                                    / _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
609:                                    / _Tp(2));
609:           _Tp __s2 = __zndev
609:                    * (__c2 * __ef
609:                     + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea));
609: 
609:           return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
609:                                         / (__mu * std::sqrt(__mu));
609:         }
609:     }
609: # 399 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __comp_ellint_2(_Tp __k)
609:     {
609: 
609:       if (__isnan(__k))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (std::abs(__k) == 1)
609:         return _Tp(1);
609:       else if (std::abs(__k) > _Tp(1))
609:         std::__throw_domain_error(("Bad argument in __comp_ellint_2."));
609:       else
609:         {
609:           const _Tp __kk = __k * __k;
609: 
609:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
609:                - __kk * __ellint_rd(_Tp(0), _Tp(1) - __kk, _Tp(1)) / _Tp(3);
609:         }
609:     }
609: # 433 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __ellint_2(_Tp __k, _Tp __phi)
609:     {
609: 
609:       if (__isnan(__k) || __isnan(__phi))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (std::abs(__k) > _Tp(1))
609:         std::__throw_domain_error(("Bad argument in __ellint_2."));
609:       else
609:         {
609: 
609:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
609:                                    + _Tp(0.5L));
609:           const _Tp __phi_red = __phi
609:                               - __n * __numeric_constants<_Tp>::__pi();
609: 
609:           const _Tp __kk = __k * __k;
609:           const _Tp __s = std::sin(__phi_red);
609:           const _Tp __ss = __s * __s;
609:           const _Tp __sss = __ss * __s;
609:           const _Tp __c = std::cos(__phi_red);
609:           const _Tp __cc = __c * __c;
609: 
609:           const _Tp __E = __s
609:                         * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
609:                         - __kk * __sss
609:                         * __ellint_rd(__cc, _Tp(1) - __kk * __ss, _Tp(1))
609:                         / _Tp(3);
609: 
609:           if (__n == 0)
609:             return __E;
609:           else
609:             return __E + _Tp(2) * __n * __comp_ellint_2(__k);
609:         }
609:     }
609: # 492 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __ellint_rc(_Tp __x, _Tp __y)
609:     {
609:       const _Tp __min = std::numeric_limits<_Tp>::min();
609:       const _Tp __lolim = _Tp(5) * __min;
609: 
609:       if (__x < _Tp(0) || __y < _Tp(0) || __x + __y < __lolim)
609:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rc.")
609:                                                         );
609:       else
609:         {
609:           const _Tp __c0 = _Tp(1) / _Tp(4);
609:           const _Tp __c1 = _Tp(1) / _Tp(7);
609:           const _Tp __c2 = _Tp(9) / _Tp(22);
609:           const _Tp __c3 = _Tp(3) / _Tp(10);
609:           const _Tp __c4 = _Tp(3) / _Tp(8);
609: 
609:           _Tp __xn = __x;
60:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1417:     __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1417: 
1417:   template<bool _IsMove, typename _II, typename _OI>
1417:    
1417:     inline _OI
1417:     __copy_move_a1(_II __first, _II __last, _OI __result)
1417:     { return std::__copy_move_a2<_IsMove>(__first, __last, __result); }
1417: 
1417:   template<bool _IsMove, typename _II, typename _OI>
1417:    
1417:     inline _OI
1417:     __copy_move_a(_II __first, _II __last, _OI __result)
1417:     {
1417:       return std::__niter_wrap(__result,
1417:   std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
1417:           std::__niter_base(__last),
1417:           std::__niter_base(__result)));
1417:     }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1417:     _OI
1417:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1417:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1417:     _OI);
1417: 
1417:   template<bool _IsMove,
1417:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1417:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1417:     __copy_move_a(_II, _II,
1417:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1417: 
1417:   template<bool _IsMove,
1417:     typename _IIte, typename _ISeq, typename _ICat,
1417:     typename _OIte, typename _OSeq, typename _OCat>
1417:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1417:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1417:     const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1417:     const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1417: 
1417:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1417:    
1417:     _OutputIterator
1417:     __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
1417:         bool)
1417:     {
1417:       if (__n > 0)
1417:  {
1417:    while (true)
1417:      {
1417:        *__result = *__first;
1417:        ++__result;
1417:        if (--__n > 0)
1417:   ++__first;
1417:        else
1417:   break;
1417:      }
1417:  }
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Size>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_char<_CharT>::__value, _CharT*>::__type
1417:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1417:         _Size, _CharT*, bool);
1417: 
1417:   template<typename _CharT, typename _Size>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_char<_CharT>::__value,
1417:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1417:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
1417:         std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
1417:         bool);
1417: # 608 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _II, typename _OI>
1417:    
1417:     inline _OI
1417:     copy(_II __first, _II __last, _OI __result)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__copy_move_a<__is_move_iterator<_II>::__value>
1417:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1417:     }
1417: # 641 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _II, typename _OI>
1417:    
1417:     inline _OI
1417:     move(_II __first, _II __last, _OI __result)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__copy_move_a<true>(std::__miter_base(__first),
1417:           std::__miter_base(__last), __result);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<bool _IsMove, bool _IsSimple, typename _Category>
1417:     struct __copy_move_backward
1417:     {
1417:       template<typename _BI1, typename _BI2>
1417: 
1417:  static _BI2
1417:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1417:  {
1417:    while (__first != __last)
1417:      *--__result = *--__last;
1417:    ret1412:       value_type&
1412:       value() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1412:  return *this->_M_ptr->_M_valptr();
1412:       }
1412: 
1412:       void
1412:       swap(_Node_handle& __nh) noexcept
1412:       { this->_M_swap(__nh); }
1412: 
1412:       friend void
1412:       swap(_Node_handle& __x, _Node_handle& __y)
1412:       noexcept(noexcept(__x.swap(__y)))
1412:       { __x.swap(__y); }
1412: 
1412:     private:
1412:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1412: 
1412:       _Node_handle(typename _AllocTraits::pointer __ptr,
1412:      const _NodeAlloc& __alloc)
1412:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) { }
1412: 
1412:       const value_type&
1412:       _M_key() const noexcept { return value(); }
1412: 
1412:       template<typename _Key, typename _Val, typename _KeyOfValue,
1412:         typename _Compare, typename _Alloc>
1412:  friend class _Rb_tree;
1412: 
1412:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1412:         typename _ExtractKey, typename _Equal,
1412:         typename _Hash, typename _RangeHash, typename _Unused,
1412:         typename _RehashPolicy, typename _Traits>
1412:  friend class _Hashtable;
1412:     };
1412: 
1412: 
1412:   template<typename _Iterator, typename _NodeHandle>
1412:     struct _Node_insert_return
1412:     {
1412:       _Iterator position = _Iterator();
1412:       bool inserted = false;
1412:       _NodeHandle node;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 73 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 99 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:   enum _Rb_tree_color { _S_red = false, _S_black = true };
1412: 
1412:   struct _Rb_tree_node_base
1412:   {
1412:     typedef _Rb_tree_node_base* _Base_ptr;
1412:     typedef const _Rb_tree_node_base* _Const_Base_ptr;
1412: 
1412:     _Rb_tree_color _M_color;
1412:     _Base_ptr _M_parent;
1412:     _Base_ptr _M_left;
1412:     _Base_ptr _M_right;
1412: 
1412:     static _Base_ptr
1412:     _S_minimum(_Base_ptr __x) noexcept
1412:     {
1412:       while (__x->_M_left != 0) __x = __x->_M_left;
1412:       return __x;
1412:     }
1412: 
1412:     static _Const_Base_ptr
1412:     _S_minimum(_Const_Base_ptr __x) noexcept
1412:     {
1412:       while (__x->_M_left != 0) __x = __x->_M_left;
1412:       return __x;
1412:     }
1412: 
1412:     static _Base_ptr
1412:     _S_maximum(_Base_ptr __x) noexcept
1412:     {
1412:       while (__x->_M_right != 0) __x = __x->_M_right;
1412:       return __x;
1412:     }
1412: 
1412:     static _Const_Base_ptr
1412:     _S_maximum(_Const_Base_ptr __x) noexcept
1412:     {
1412:       while (__x->_M_right != 0) __x = __x->_M_right;
1412:       return __x;
1412:     }
1412:   };
1412: 
1412: 
1412:   template<typename _Key_compare>
1412:     struct _Rb_tree_key_compare
1412:     {
1412:       _Key_compare _M_key_compare;
1412: 
1412:       _Rb_tree_key_compare()
1412:       noexcept(is_nothrow_default_constructible<_Key_compare>::value)
1412: 
1412:       : _M_key_compare()
1412:       { }
1412: 
1412:       _Rb_tree_key_compare(const _Key_compare& __comp)
1412:       : _M_key_compare(__comp)
1412:       { }
1412: 
1412: 
1412: 
1412:       _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default;
1412: 
1412:       _Rb_tree_key_compare(_Rb_tree_key_compare&& __x)
1412:  noexcept(is_nothrow_copy_constructible<_Key_compare>::value)
1412:       : _M_key_compare(__x._M_key_compare)
1412:       { }
1412: 
1412:     };
1412: 
1412: 
1412:   struct _Rb_tree_header
1412:   {
1412:     _Rb_tree_node_base _M_header;
1412:     size_t _M_node_count;
1412: 
1412:     _Rb_tree_header() noexcept
1412:     {
1412:       _M_header._M_color = _S_red;
1412:       _M_reset();
1412:     }
1412: 
1412: 
1412:     _Rb_tree_header(_Rb_tree_header&& __x) noexcept
1412:     {
1412:       if (__x._M_header._M_pare9:           _Tp __yn = __y;
609: 
609:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:           const _Tp __errtol = std::pow(__eps / _Tp(30), _Tp(1) / _Tp(6));
609:           _Tp __mu;
609:           _Tp __sn;
609: 
609:           const unsigned int __max_iter = 100;
609:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
609:             {
609:               __mu = (__xn + _Tp(2) * __yn) / _Tp(3);
609:               __sn = (__yn + __mu) / __mu - _Tp(2);
609:               if (std::abs(__sn) < __errtol)
609:                 break;
609:               const _Tp __lambda = _Tp(2) * std::sqrt(__xn) * std::sqrt(__yn)
609:                              + __yn;
609:               __xn = __c0 * (__xn + __lambda);
609:               __yn = __c0 * (__yn + __lambda);
609:             }
609: 
609:           _Tp __s = __sn * __sn
609:                   * (__c3 + __sn*(__c1 + __sn * (__c4 + __sn * __c2)));
609: 
609:           return (_Tp(1) + __s) / std::sqrt(__mu);
609:         }
609:     }
609: # 561 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __ellint_rj(_Tp __x, _Tp __y, _Tp __z, _Tp __p)
609:     {
609:       const _Tp __min = std::numeric_limits<_Tp>::min();
609:       const _Tp __lolim = std::pow(_Tp(5) * __min, _Tp(1)/_Tp(3));
609: 
609:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
609:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rj.")
609:                                                         );
609:       else if (__x + __y < __lolim || __x + __z < __lolim
609:             || __y + __z < __lolim || __p < __lolim)
609:         std::__throw_domain_error(("Argument too small " "in __ellint_rj")
609:                                                        );
609:       else
609:         {
609:           const _Tp __c0 = _Tp(1) / _Tp(4);
609:           const _Tp __c1 = _Tp(3) / _Tp(14);
609:           const _Tp __c2 = _Tp(1) / _Tp(3);
609:           const _Tp __c3 = _Tp(3) / _Tp(22);
609:           const _Tp __c4 = _Tp(3) / _Tp(26);
609: 
609:           _Tp __xn = __x;
609:           _Tp __yn = __y;
609:           _Tp __zn = __z;
609:           _Tp __pn = __p;
609:           _Tp __sigma = _Tp(0);
609:           _Tp __power4 = _Tp(1);
609: 
609:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:           const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
609: 
609:           _Tp __mu;
609:           _Tp __xndev, __yndev, __zndev, __pndev;
609: 
609:           const unsigned int __max_iter = 100;
609:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
609:             {
609:               __mu = (__xn + __yn + __zn + _Tp(2) * __pn) / _Tp(5);
609:               __xndev = (__mu - __xn) / __mu;
609:               __yndev = (__mu - __yn) / __mu;
609:               __zndev = (__mu - __zn) / __mu;
609:               __pndev = (__mu - __pn) / __mu;
609:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
609:               __epsilon = std::max(__epsilon, std::abs(__zndev));
609:               __epsilon = std::max(__epsilon, std::abs(__pndev));
609:               if (__epsilon < __errtol)
609:                 break;
609:               const _Tp __xnroot = std::sqrt(__xn);
609:               const _Tp __ynroot = std::sqrt(__yn);
609:               const _Tp __znroot = std::sqrt(__zn);
609:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
609:                                  + __ynroot * __znroot;
609:               const _Tp __alpha1 = __pn * (__xnroot + __ynroot + __znroot)
609:                                 + __xnroot * __ynroot * __znroot;
609:               const _Tp __alpha2 = __alpha1 * __alpha1;
609:               const _Tp __beta = __pn * (__pn + __lambda)
609:                                       * (__pn + __lambda);
609:               __sigma += __power4 * __ellint_rc(__alpha2, __beta);
609:               __power4 *= __c0;
609:               __xn = __c0 * (__xn + __lambda);
609:            1115:  allocate_shared(const _Alloc&, _Args&&...);
1115: 
1115:       template<typename _Yp, typename... _Args>
1115:  friend shared_ptr<_NonArray<_Yp>>
1115:  make_shared(_Args&&...);
1115: # 535 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:       shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) noexcept
1115:       : __shared_ptr<_Tp>(__r, std::nothrow) { }
1115: 
1115:       friend class weak_ptr<_Tp>;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>;
1115:   template<typename _Tp, typename _Del>
1115:     shared_ptr(unique_ptr<_Tp, _Del>) -> shared_ptr<_Tp>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     [[__nodiscard__]] inline bool
1115:     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1115:     { return __a.get() == __b.get(); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1115:     { return !__a; }
1115: # 580 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1115:     { return !__a; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     [[__nodiscard__]] inline bool
1115:     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1115:     { return __a.get() != __b.get(); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1115:     { return (bool)__a; }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1115:     { return (bool)__a; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     [[__nodiscard__]] inline bool
1115:     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1115:     {
1115:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1115:       using _Up_elt = typename shared_ptr<_Up>::element_type;
1115:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
1115:       return less<_Vp>()(__a.get(), __b.get());
1115:     }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1115:     {
1115:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1115:       return less<_Tp_elt*>()(__a.get(), nullptr);
1115:     }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1115:     {
1115:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1115:       return less<_Tp_elt*>()(nullptr, __a.get());
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     [[__nodiscard__]] inline bool
1115:     operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1115:     { return !(__b < __a); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1115:     { return !(nullptr < __a); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1115:     { return !(__a < nullptr); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     [[__nodiscard__]] inline bool
1115:     operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1115:     { return (__b < __a); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1115:     { return nullptr < __a; }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operatnt != nullptr)
1412:  _M_move_data(__x);
1412:       else
1412:  {
1412:    _M_header._M_color = _S_red;
1412:    _M_reset();
1412:  }
1412:     }
1412: 
1412: 
1412:     void
1412:     _M_move_data(_Rb_tree_header& __from)
1412:     {
1412:       _M_header._M_color = __from._M_header._M_color;
1412:       _M_header._M_parent = __from._M_header._M_parent;
1412:       _M_header._M_left = __from._M_header._M_left;
1412:       _M_header._M_right = __from._M_header._M_right;
1412:       _M_header._M_parent->_M_parent = &_M_header;
1412:       _M_node_count = __from._M_node_count;
1412: 
1412:       __from._M_reset();
1412:     }
1412: 
1412:     void
1412:     _M_reset()
1412:     {
1412:       _M_header._M_parent = 0;
1412:       _M_header._M_left = &_M_header;
1412:       _M_header._M_right = &_M_header;
1412:       _M_node_count = 0;
1412:     }
1412:   };
1412: 
1412:   template<typename _Val>
1412:     struct _Rb_tree_node : public _Rb_tree_node_base
1412:     {
1412:       typedef _Rb_tree_node<_Val>* _Link_type;
1412: # 231 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
1412: 
1412:       _Val*
1412:       _M_valptr()
1412:       { return _M_storage._M_ptr(); }
1412: 
1412:       const _Val*
1412:       _M_valptr() const
1412:       { return _M_storage._M_ptr(); }
1412: 
1412:     };
1412: 
1412:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1412:   _Rb_tree_increment(_Rb_tree_node_base* __x) throw ();
1412: 
1412:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1412:   _Rb_tree_increment(const _Rb_tree_node_base* __x) throw ();
1412: 
1412:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1412:   _Rb_tree_decrement(_Rb_tree_node_base* __x) throw ();
1412: 
1412:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1412:   _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw ();
1412: 
1412:   template<typename _Tp>
1412:     struct _Rb_tree_iterator
1412:     {
1412:       typedef _Tp value_type;
1412:       typedef _Tp& reference;
1412:       typedef _Tp* pointer;
1412: 
1412:       typedef bidirectional_iterator_tag iterator_category;
1412:       typedef ptrdiff_t difference_type;
1412: 
1412:       typedef _Rb_tree_iterator<_Tp> _Self;
1412:       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
1412:       typedef _Rb_tree_node<_Tp>* _Link_type;
1412: 
1412:       _Rb_tree_iterator() noexcept
1412:       : _M_node() { }
1412: 
1412:       explicit
1412:       _Rb_tree_iterator(_Base_ptr __x) noexcept
1412:       : _M_node(__x) { }
1412: 
1412:       reference
1412:       operator*() const noexcept
1412:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1412: 
1412:       pointer
1412:       operator->() const noexcept
1412:       { return static_cast<_Link_type> (_M_node)->_M_valptr(); }
1412: 
1412:       _Self&
1412:       operator++() noexcept
1412:       {
1412:  _M_node = _Rb_tree_increment(_M_node);
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator++(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _Rb_tree_increment(_M_node);
1412:  return __tmp;
1412:       }
1412: 
1412:       _Self&
1412:       operator--() noexcept
1412:       {
1412:  _M_node = _Rb_tree_decrement(_M_node);
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator--(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _Rb_tree_decrement(_M_node);
1412:  return __tmp;
1412:       }
1412: 
1412:       friend bool
1412:       operator==(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node == __y._M_node; }
1412: 
1412: 
1412:       friend bool
1412:       operator!=(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node != __y._M_node; }
1412: 
1412: 
1412:       _Base_ptr _M_node;
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct _Rb_tree_const_iterator
1412:     {
1412:       typedef _Tp value_type;
1412:       typedef const _Tp& reference;
1412:       typedef const _Tp* pointer;
1412: 
1412:    urn __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<typename _Category>
1417:     struct __copy_move_backward<true, false, _Category>
1417:     {
1417:       template<typename _BI1, typename _BI2>
1417: 
1417:  static _BI2
1417:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1417:  {
1417:    while (__first != __last)
1417:      *--__result = std::move(*--__last);
1417:    return __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __copy_move_backward<false, false, random_access_iterator_tag>
1417:     {
1417:       template<typename _BI1, typename _BI2>
1417: 
1417:  static _BI2
1417:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1417:  {
1417:    typename iterator_traits<_BI1>::difference_type
1417:      __n = __last - __first;
1417:    for (; __n > 0; --__n)
1417:      *--__result = *--__last;
1417:    return __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __copy_move_backward<true, false, random_access_iterator_tag>
1417:     {
1417:       template<typename _BI1, typename _BI2>
1417: 
1417:  static _BI2
1417:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1417:  {
1417:    typename iterator_traits<_BI1>::difference_type
1417:      __n = __last - __first;
1417:    for (; __n > 0; --__n)
1417:      *--__result = std::move(*--__last);
1417:    return __result;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<bool _IsMove>
1417:     struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
1417:     {
1417:       template<typename _Tp>
1417: 
1417:  static _Tp*
1417:  __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
1417:  {
1417: 
1417:    using __assignable = __conditional_t<_IsMove,
1417:             is_move_assignable<_Tp>,
1417:             is_copy_assignable<_Tp>>;
1417: 
1417:    static_assert( __assignable::value, "type must be assignable" );
1417: 
1417:    const ptrdiff_t _Num = __last - __first;
1417:    if (_Num)
1417:      __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
1417:    return __result - _Num;
1417:  }
1417:     };
1417: 
1417:   template<bool _IsMove, typename _BI1, typename _BI2>
1417:    
1417:     inline _BI2
1417:     __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
1417:     {
1417:       typedef typename iterator_traits<_BI1>::iterator_category _Category;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       return std::__copy_move_backward<_IsMove,
1417:            __memcpyable<_BI2, _BI1>::__value,
1417:            _Category>::__copy_move_b(__first,
1417:          __last,
1417:          __result);
1417:     }
1417: 
1417:   template<bool _IsMove, typename _BI1, typename _BI2>
1417:    
1417:     inline _BI2
1417:     __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
1417:     { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1417:     _OI
1417:     __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1417:        std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1417:        _OI);
1417: 
1417:   template<bool _IsMove,
1417:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1417:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1417:     __copy_move_backward_a1(
1417:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1417:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1417:    std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1417: 
1417:   template<bool _IsMove, typename _II, typename _Tp>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value,
1417:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1417:     __copy_move_backward_a1(_II, _II,
1417:        std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1417: 
1417:   template<bool _IsMove, typename _II, typename _OI>
1417:    
1417:     inline _OI
1417:     __copy_move_backward_a(_II __first, _II __last, _OI __result)
1417:     {
1417:       return std::__niter_wrap(__result,
1417:   std::__co   __yn = __c0 * (__yn + __lambda);
609:               __zn = __c0 * (__zn + __lambda);
609:               __pn = __c0 * (__pn + __lambda);
609:             }
609: 
609:           _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev;
609:           _Tp __eb = __xndev * __yndev * __zndev;
609:           _Tp __ec = __pndev * __pndev;
609:           _Tp __e2 = __ea - _Tp(3) * __ec;
609:           _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec);
609:           _Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
609:                             - _Tp(3) * __c4 * __e3 / _Tp(2));
609:           _Tp __s2 = __eb * (__c2 / _Tp(2)
609:                    + __pndev * (-__c3 - __c3 + __pndev * __c4));
609:           _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3)
609:                    - __c2 * __pndev * __ec;
609: 
609:           return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)
609:                                              / (__mu * std::sqrt(__mu));
609:         }
609:     }
609: # 661 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __comp_ellint_3(_Tp __k, _Tp __nu)
609:     {
609: 
609:       if (__isnan(__k) || __isnan(__nu))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__nu == _Tp(1))
609:         return std::numeric_limits<_Tp>::infinity();
609:       else if (std::abs(__k) > _Tp(1))
609:         std::__throw_domain_error(("Bad argument in __comp_ellint_3."));
609:       else
609:         {
609:           const _Tp __kk = __k * __k;
609: 
609:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
609:                + __nu
609:                * __ellint_rj(_Tp(0), _Tp(1) - __kk, _Tp(1), _Tp(1) - __nu)
609:                / _Tp(3);
609:         }
609:     }
609: # 701 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __ellint_3(_Tp __k, _Tp __nu, _Tp __phi)
609:     {
609: 
609:       if (__isnan(__k) || __isnan(__nu) || __isnan(__phi))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (std::abs(__k) > _Tp(1))
609:         std::__throw_domain_error(("Bad argument in __ellint_3."));
609:       else
609:         {
609: 
609:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
609:                                    + _Tp(0.5L));
609:           const _Tp __phi_red = __phi
609:                               - __n * __numeric_constants<_Tp>::__pi();
609: 
609:           const _Tp __kk = __k * __k;
609:           const _Tp __s = std::sin(__phi_red);
609:           const _Tp __ss = __s * __s;
609:           const _Tp __sss = __ss * __s;
609:           const _Tp __c = std::cos(__phi_red);
609:           const _Tp __cc = __c * __c;
609: 
609:           const _Tp __Pi = __s
609:                          * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
609:                          + __nu * __sss
609:                          * __ellint_rj(__cc, _Tp(1) - __kk * __ss, _Tp(1),
609:                                        _Tp(1) - __nu * __ss) / _Tp(3);
609: 
609:           if (__n == 0)
609:             return __Pi;
609:           else
609:             return __Pi + _Tp(2) * __n * __comp_ellint_3(__k, __nu);
609:         }
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 53 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/exp_integral.tcc" 1 3
609: # 50 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 64 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:   namespace __detail
609:   {
609:     template<typename _Tp> _Tp __expint_E1(_Tp);
609: # 81 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_E1_series(_Tp __x)
609:     {
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       _Tp __term = _Tp(1);
609:       _Tp __esum = _Tp(0);
609:       _Tp __osum = _Tp(0);
609:       const unsigned int __max_iter = 1000;
6or>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1115:     { return __a < nullptr; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     [[__nodiscard__]] inline bool
1115:     operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1115:     { return !(__a < __b); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1115:     { return !(__a < nullptr); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]] inline bool
1115:     operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1115:     { return !(nullptr < __a); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline void
1115:     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
1115:     { __a.swap(__b); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline shared_ptr<_Tp>
1115:     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1115:     {
1115:       using _Sp = shared_ptr<_Tp>;
1115:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline shared_ptr<_Tp>
1115:     const_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1115:     {
1115:       using _Sp = shared_ptr<_Tp>;
1115:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline shared_ptr<_Tp>
1115:     dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1115:     {
1115:       using _Sp = shared_ptr<_Tp>;
1115:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1115:  return _Sp(__r, __p);
1115:       return _Sp();
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline shared_ptr<_Tp>
1115:     reinterpret_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1115:     {
1115:       using _Sp = shared_ptr<_Tp>;
1115:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1115:     }
1115: # 810 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Tp>
1115:     class weak_ptr : public __weak_ptr<_Tp>
1115:     {
1115:       template<typename _Arg>
1115:  using _Constructible = typename enable_if<
1115:    is_constructible<__weak_ptr<_Tp>, _Arg>::value
1115:  >::type;
1115: 
1115:       template<typename _Arg>
1115:  using _Assignable = typename enable_if<
1115:    is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr&
1115:  >::type;
1115: 
1115:     public:
1115:       constexpr weak_ptr() noexcept = default;
1115: 
1115:       template<typename _Yp,
1115:         typename = _Constructible<const shared_ptr<_Yp>&>>
1115:  weak_ptr(const shared_ptr<_Yp>& __r) noexcept
1115:  : __weak_ptr<_Tp>(__r) { }
1115: 
1115:       weak_ptr(const weak_ptr&) noexcept = default;
1115: 
1115:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1115:  weak_ptr(const weak_ptr<_Yp>& __r) noexcept
1115:  : __weak_ptr<_Tp>(__r) { }
1115: 
1115:       weak_ptr(weak_ptr&&) noexcept = default;
1115: 
1115:       template<typename _Yp, typename = _Constructible<weak_ptr<_Yp>>>
1115:  weak_ptr(weak_ptr<_Yp>&& __r) noexcept
1115:  : __weak_ptr<_Tp>(std::move(__r)) { }
1115: 
1115:       weak_ptr&
1115:       operator=(const weak_ptr& __r) noexcept = default;
1115: 
1115:       template<typename _Yp>
1115:  _Assignable<const weak_ptr<_Yp>&>
1115:  operator=(const weak_ptr<_Yp>& __r) noexcept
1115:  {
1115:    this->__weak_ptr<_Tp>::operator=(__r);
1115:    return *this;
1115:  }
1115: 
1115:       template<typename _Yp>
1115:  _Assignable<const shared_ptr<_Yp>&>
1115:  operator=(const shared_ptr<_Yp>& __r) noexcept
1115:  {
1115:    this->__weak_ptr<_Tp>::operator=(__r);
1115:    return *this;
1115:  }
1115: 
1115:       weak_ptr&
1115:       operator=(weak_ptr&& __r) noexcept = default;
1115: 
1115:       template<typename _Yp>
1115   typedef _Rb_tree_iterator<_Tp> iterator;
1412: 
1412:       typedef bidirectional_iterator_tag iterator_category;
1412:       typedef ptrdiff_t difference_type;
1412: 
1412:       typedef _Rb_tree_const_iterator<_Tp> _Self;
1412:       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
1412:       typedef const _Rb_tree_node<_Tp>* _Link_type;
1412: 
1412:       _Rb_tree_const_iterator() noexcept
1412:       : _M_node() { }
1412: 
1412:       explicit
1412:       _Rb_tree_const_iterator(_Base_ptr __x) noexcept
1412:       : _M_node(__x) { }
1412: 
1412:       _Rb_tree_const_iterator(const iterator& __it) noexcept
1412:       : _M_node(__it._M_node) { }
1412: 
1412:       iterator
1412:       _M_const_cast() const noexcept
1412:       { return iterator(const_cast<typename iterator::_Base_ptr>(_M_node)); }
1412: 
1412:       reference
1412:       operator*() const noexcept
1412:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1412: 
1412:       pointer
1412:       operator->() const noexcept
1412:       { return static_cast<_Link_type>(_M_node)->_M_valptr(); }
1412: 
1412:       _Self&
1412:       operator++() noexcept
1412:       {
1412:  _M_node = _Rb_tree_increment(_M_node);
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator++(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _Rb_tree_increment(_M_node);
1412:  return __tmp;
1412:       }
1412: 
1412:       _Self&
1412:       operator--() noexcept
1412:       {
1412:  _M_node = _Rb_tree_decrement(_M_node);
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator--(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _Rb_tree_decrement(_M_node);
1412:  return __tmp;
1412:       }
1412: 
1412:       friend bool
1412:       operator==(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node == __y._M_node; }
1412: 
1412: 
1412:       friend bool
1412:       operator!=(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node != __y._M_node; }
1412: 
1412: 
1412:       _Base_ptr _M_node;
1412:     };
1412: 
1412:   void
1412:   _Rb_tree_insert_and_rebalance(const bool __insert_left,
1412:     _Rb_tree_node_base* __x,
1412:     _Rb_tree_node_base* __p,
1412:     _Rb_tree_node_base& __header) throw ();
1412: 
1412:   _Rb_tree_node_base*
1412:   _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
1412:           _Rb_tree_node_base& __header) throw ();
1412: 
1412: 
1412:   template<typename _Tree1, typename _Cmp2>
1412:     struct _Rb_tree_merge_helper { };
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc = allocator<_Val> >
1412:     class _Rb_tree
1412:     {
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
1412: 
1412:       typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
1412: 
1412:     protected:
1412:       typedef _Rb_tree_node_base* _Base_ptr;
1412:       typedef const _Rb_tree_node_base* _Const_Base_ptr;
1412:       typedef _Rb_tree_node<_Val>* _Link_type;
1412:       typedef const _Rb_tree_node<_Val>* _Const_Link_type;
1412: 
1412:     private:
1412: 
1412: 
1412:       struct _Reuse_or_alloc_node
1412:       {
1412:  _Reuse_or_alloc_node(_Rb_tree& __t)
1412:  : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t)
1412:  {
1412:    if (_M_root)
1412:      {
1412:        _M_root->_M_parent = 0;
1412: 
1412:        if (_M_nodes->_M_left)
1412:   _M_nodes = _M_nodes->_M_left;
1412:      }
1412:    else
1412:      _M_nodes = 0;
1412:  }
1412: 
1412: 
1412:  _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete;
1412: 
1412: 
1412:  ~_Reuse_or_alloc_node()
1412:  { _M_t._M_erase(static_cast<_Link_type>(_M_root)); }
1412: 
1412:  template<typename _Arg>
1412:    _Link_type
1412:    operator()(_Arg&& __arg)
1412:    {
1412:      _Link_type __node = static_cast<_Link_type>(_M_extract());
1412:      if (__node)
141209:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
609:         {
609:           __term *= - __x / __i;
609:           if (std::abs(__term) < __eps)
609:             break;
609:           if (__term >= _Tp(0))
609:             __esum += __term / __i;
609:           else
609:             __osum += __term / __i;
609:         }
609: 
609:       return - __esum - __osum
609:              - __numeric_constants<_Tp>::__gamma_e() - std::log(__x);
609:     }
609: # 118 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_E1_asymp(_Tp __x)
609:     {
609:       _Tp __term = _Tp(1);
609:       _Tp __esum = _Tp(1);
609:       _Tp __osum = _Tp(0);
609:       const unsigned int __max_iter = 1000;
609:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
609:         {
609:           _Tp __prev = __term;
609:           __term *= - __i / __x;
609:           if (std::abs(__term) > std::abs(__prev))
609:             break;
609:           if (__term >= _Tp(0))
609:             __esum += __term;
609:           else
609:             __osum += __term;
609:         }
609: 
609:       return std::exp(- __x) * (__esum + __osum) / __x;
609:     }
609: # 155 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_En_series(unsigned int __n, _Tp __x)
609:     {
609:       const unsigned int __max_iter = 1000;
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       const int __nm1 = __n - 1;
609:       _Tp __ans = (__nm1 != 0
609:                 ? _Tp(1) / __nm1 : -std::log(__x)
609:                                    - __numeric_constants<_Tp>::__gamma_e());
609:       _Tp __fact = _Tp(1);
609:       for (int __i = 1; __i <= __max_iter; ++__i)
609:         {
609:           __fact *= -__x / _Tp(__i);
609:           _Tp __del;
609:           if ( __i != __nm1 )
609:             __del = -__fact / _Tp(__i - __nm1);
609:           else
609:             {
609:               _Tp __psi = -__numeric_constants<_Tp>::gamma_e();
609:               for (int __ii = 1; __ii <= __nm1; ++__ii)
609:                 __psi += _Tp(1) / _Tp(__ii);
609:               __del = __fact * (__psi - std::log(__x));
609:             }
609:           __ans += __del;
609:           if (std::abs(__del) < __eps * std::abs(__ans))
609:             return __ans;
609:         }
609:       std::__throw_runtime_error(("Series summation failed " "in __expint_En_series.")
609:                                                               );
609:     }
609: # 201 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_En_cont_frac(unsigned int __n, _Tp __x)
609:     {
609:       const unsigned int __max_iter = 1000;
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       const _Tp __fp_min = std::numeric_limits<_Tp>::min();
609:       const int __nm1 = __n - 1;
609:       _Tp __b = __x + _Tp(__n);
609:       _Tp __c = _Tp(1) / __fp_min;
609:       _Tp __d = _Tp(1) / __b;
609:       _Tp __h = __d;
609:       for ( unsigned int __i = 1; __i <= __max_iter; ++__i )
609:         {
609:           _Tp __a = -_Tp(__i * (__nm1 + __i));
609:           __b += _Tp(2);
609:           __d = _Tp(1) / (__a * __d + __b);
609:           __c = __b + __a / __c;
609:           const _Tp __del = __c * __d;
609:           __h *= __del;
609:           if (std::abs(__del - _Tp(1)) < __eps)
609:             {
609:               const _Tp __ans = __h * std::exp(-__x);
609:               return __ans;
609:             }
609:         }
609:       std::__throw_runtime_error(("Continued fraction failed " "in __expint_En_cont_frac.")
609:                                                                  );
609:     }
609: # 246 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_En_recursion(unsigned int __n, _Tp __x)
609:     {
609:       _Tp __En;
609:       _Tp __E1 = __expint_E1(__x);
609:       if (__x < _Tp(__n))
609:         {
609: 
609:         :  _Assignable<weak_ptr<_Yp>>
1115:  operator=(weak_ptr<_Yp>&& __r) noexcept
1115:  {
1115:    this->__weak_ptr<_Tp>::operator=(std::move(__r));
1115:    return *this;
1115:  }
1115: 
1115:       shared_ptr<_Tp>
1115:       lock() const noexcept
1115:       { return shared_ptr<_Tp>(*this, std::nothrow); }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline void
1115:     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
1115:     { __a.swap(__b); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp = void>
1115:     struct owner_less;
1115: 
1115: 
1115:   template<>
1115:     struct owner_less<void> : _Sp_owner_less<void, void>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct owner_less<shared_ptr<_Tp>>
1115:     : public _Sp_owner_less<shared_ptr<_Tp>, weak_ptr<_Tp>>
1115:     { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct owner_less<weak_ptr<_Tp>>
1115:     : public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     class enable_shared_from_this
1115:     {
1115:     protected:
1115:       constexpr enable_shared_from_this() noexcept { }
1115: 
1115:       enable_shared_from_this(const enable_shared_from_this&) noexcept { }
1115: 
1115:       enable_shared_from_this&
1115:       operator=(const enable_shared_from_this&) noexcept
1115:       { return *this; }
1115: 
1115:       ~enable_shared_from_this() { }
1115: 
1115:     public:
1115:       shared_ptr<_Tp>
1115:       shared_from_this()
1115:       { return shared_ptr<_Tp>(this->_M_weak_this); }
1115: 
1115:       shared_ptr<const _Tp>
1115:       shared_from_this() const
1115:       { return shared_ptr<const _Tp>(this->_M_weak_this); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       weak_ptr<_Tp>
1115:       weak_from_this() noexcept
1115:       { return this->_M_weak_this; }
1115: 
1115:       weak_ptr<const _Tp>
1115:       weak_from_this() const noexcept
1115:       { return this->_M_weak_this; }
1115: 
1115: 
1115: 
1115:     private:
1115:       template<typename _Tp1>
1115:  void
1115:  _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
1115:  { _M_weak_this._M_assign(__p, __n); }
1115: 
1115: 
1115:       friend const enable_shared_from_this*
1115:       __enable_shared_from_this_base(const __shared_count<>&,
1115:          const enable_shared_from_this* __p)
1115:       { return __p; }
1115: 
1115:       template<typename, _Lock_policy>
1115:  friend class __shared_ptr;
1115: 
1115:       mutable weak_ptr<_Tp> _M_weak_this;
1115:     };
1115: # 988 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Tp, typename _Alloc, typename... _Args>
1115:     inline shared_ptr<_NonArray<_Tp>>
1115:     allocate_shared(const _Alloc& __a, _Args&&... __args)
1115:     {
1115:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1115:         std::forward<_Args>(__args)...);
1115:     }
1115: # 1003 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Tp, typename... _Args>
1115:     inline shared_ptr<_NonArray<_Tp>>
1115:     make_shared(_Args&&... __args)
1115:     {
1115:       using _Alloc = allocator<void>;
1115:       _Alloc __a;
1115:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1115:         std::forward<_Args>(__args)...);
1115:     }
1115: # 1152 "/usr/include/c++/12/bits/shared_ptr.h" 3
1115:   template<typename _Tp>
1115:     struct hash<shared_ptr<_Tp>>
1115:     : public __hash_base<size_t, shared_ptr<_Tp>>
1115:     {
1115:       size_t
1115:       operator()(const shared_ptr<_Tp>& __s) const noexcept
1115:       {
1115:  return std::hash<typename shared_ptr<_Tp>::element_type*>()(__s.get());
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   namespace __detail::__variant
1115:   {
1115:     template<typename> struct _Never_valueless_alt;
1115: 
1115: 
1115: 
1  __En = __E1;
609:           for (unsigned int __j = 2; __j < __n; ++__j)
609:             __En = (std::exp(-__x) - __x * __En) / _Tp(__j - 1);
609:         }
609:       else
609:         {
609: 
609:           __En = _Tp(1);
609:           const int __N = __n + 20;
609:           _Tp __save = _Tp(0);
609:           for (int __j = __N; __j > 0; --__j)
609:             {
609:               __En = (std::exp(-__x) - __j * __En) / __x;
609:               if (__j == __n)
609:                 __save = __En;
609:             }
609:             _Tp __norm = __En / __E1;
609:             __En /= __norm;
609:         }
609: 
609:       return __En;
609:     }
609: # 290 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_Ei_series(_Tp __x)
609:     {
609:       _Tp __term = _Tp(1);
609:       _Tp __sum = _Tp(0);
609:       const unsigned int __max_iter = 1000;
609:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
609:         {
609:           __term *= __x / __i;
609:           __sum += __term / __i;
609:           if (__term < std::numeric_limits<_Tp>::epsilon() * __sum)
609:             break;
609:         }
609: 
609:       return __numeric_constants<_Tp>::__gamma_e() + __sum + std::log(__x);
609:     }
609: # 321 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_Ei_asymp(_Tp __x)
609:     {
609:       _Tp __term = _Tp(1);
609:       _Tp __sum = _Tp(1);
609:       const unsigned int __max_iter = 1000;
609:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
609:         {
609:           _Tp __prev = __term;
609:           __term *= __i / __x;
609:           if (__term < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:           if (__term >= __prev)
609:             break;
609:           __sum += __term;
609:         }
609: 
609:       return std::exp(__x) * __sum / __x;
609:     }
609: # 354 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_Ei(_Tp __x)
609:     {
609:       if (__x < _Tp(0))
609:         return -__expint_E1(-__x);
609:       else if (__x < -std::log(std::numeric_limits<_Tp>::epsilon()))
609:         return __expint_Ei_series(__x);
609:       else
609:         return __expint_Ei_asymp(__x);
609:     }
609: # 378 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_E1(_Tp __x)
609:     {
609:       if (__x < _Tp(0))
609:         return -__expint_Ei(-__x);
609:       else if (__x < _Tp(1))
609:         return __expint_E1_series(__x);
609:       else if (__x < _Tp(100))
609:         return __expint_En_cont_frac(1, __x);
609:       else
609:         return __expint_E1_asymp(__x);
609:     }
609: # 408 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_asymp(unsigned int __n, _Tp __x)
609:     {
609:       _Tp __term = _Tp(1);
609:       _Tp __sum = _Tp(1);
609:       for (unsigned int __i = 1; __i <= __n; ++__i)
609:         {
609:           _Tp __prev = __term;
609:           __term *= -(__n - __i + 1) / __x;
609:           if (std::abs(__term) > std::abs(__prev))
609:             break;
609:           __sum += __term;
609:         }
609: 
609:       return std::exp(-__x) * __sum / __x;
609:     }
609: # 442 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint_large_n(unsigned int __n, _Tp __x)
609:     {
609:       const _Tp __xpn = __x + __n;
609:       const _Tp __xpn2 = __xpn * __xpn;
609:       _Tp __term = _Tp(1);
609:       _Tp __sum = _Tp(1);
609:       for (unsigned int __i = 1; __i <= __n; ++__i)
609:         {
609:           _Tp __prev = __term;
609:           __term *= (__n - 2 * (__i - 1) * __x) / __xpn2;
609:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:           __sum += __term;
609:         }
609: 
609:       return std::exp(-__x) * __sum / __xpn;
609:     }
609: # 476 "/usr/inclu:        {
1412:   _M_t._M_destroy_node(__node);
1412:   _M_t._M_construct_node(__node, std::forward<_Arg>(__arg));
1412:   return __node;
1412:        }
1412: 
1412:      return _M_t._M_create_node(std::forward<_Arg>(__arg));
1412:    }
1412: 
1412:       private:
1412:  _Base_ptr
1412:  _M_extract()
1412:  {
1412:    if (!_M_nodes)
1412:      return _M_nodes;
1412: 
1412:    _Base_ptr __node = _M_nodes;
1412:    _M_nodes = _M_nodes->_M_parent;
1412:    if (_M_nodes)
1412:      {
1412:        if (_M_nodes->_M_right == __node)
1412:   {
1412:     _M_nodes->_M_right = 0;
1412: 
1412:     if (_M_nodes->_M_left)
1412:       {
1412:         _M_nodes = _M_nodes->_M_left;
1412: 
1412:         while (_M_nodes->_M_right)
1412:    _M_nodes = _M_nodes->_M_right;
1412: 
1412:         if (_M_nodes->_M_left)
1412:    _M_nodes = _M_nodes->_M_left;
1412:       }
1412:   }
1412:        else
1412:   _M_nodes->_M_left = 0;
1412:      }
1412:    else
1412:      _M_root = 0;
1412: 
1412:    return __node;
1412:  }
1412: 
1412:  _Base_ptr _M_root;
1412:  _Base_ptr _M_nodes;
1412:  _Rb_tree& _M_t;
1412:       };
1412: 
1412: 
1412: 
1412:       struct _Alloc_node
1412:       {
1412:  _Alloc_node(_Rb_tree& __t)
1412:  : _M_t(__t) { }
1412: 
1412:  template<typename _Arg>
1412:    _Link_type
1412:    operator()(_Arg&& __arg) const
1412:    { return _M_t._M_create_node(std::forward<_Arg>(__arg)); }
1412: 
1412:       private:
1412:  _Rb_tree& _M_t;
1412:       };
1412: 
1412:     public:
1412:       typedef _Key key_type;
1412:       typedef _Val value_type;
1412:       typedef value_type* pointer;
1412:       typedef const value_type* const_pointer;
1412:       typedef value_type& reference;
1412:       typedef const value_type& const_reference;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef _Alloc allocator_type;
1412: 
1412:       _Node_allocator&
1412:       _M_get_Node_allocator() noexcept
1412:       { return this->_M_impl; }
1412: 
1412:       const _Node_allocator&
1412:       _M_get_Node_allocator() const noexcept
1412:       { return this->_M_impl; }
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_get_Node_allocator()); }
1412: 
1412:     protected:
1412:       _Link_type
1412:       _M_get_node()
1412:       { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); }
1412: 
1412:       void
1412:       _M_put_node(_Link_type __p) noexcept
1412:       { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); }
1412: # 588 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:       template<typename... _Args>
1412:  void
1412:  _M_construct_node(_Link_type __node, _Args&&... __args)
1412:  {
1412:    try
1412:      {
1412:        ::new(__node) _Rb_tree_node<_Val>;
1412:        _Alloc_traits::construct(_M_get_Node_allocator(),
1412:            __node->_M_valptr(),
1412:            std::forward<_Args>(__args)...);
1412:      }
1412:    catch(...)
1412:      {
1412:        __node->~_Rb_tree_node<_Val>();
1412:        _M_put_node(__node);
1412:        throw;
1412:      }
1412:  }
1412: 
1412:       template<typename... _Args>
1412:  _Link_type
1412:  _M_create_node(_Args&&... __args)
1412:  {
1412:    _Link_type __tmp = _M_get_node();
1412:    _M_construct_node(__tmp, std::forward<_Args>(__args)...);
1412:    return __tmp;
1412:  }
1412: 
1412: 
1412:       void
1412:       _M_destroy_node(_Link_type __p) noexcept
1412:       {
1412: 
1412: 
1412: 
1412:  _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr());
1412:  __p->~_Rb_tree_node<_Val>();
1412: 
1412:       }
1412: 
1412:       void
1412:       _M_drop_node(_Link_type __p) noexcept
1412:       {
1412:  _M_destroy_node(__p);
1412:  _M_put_node(__p);
1412:       }
1412: 
1412:       template<bool _MoveValue, typename _NodeGen>
1412:  _Link_type
1412:  _M_clone_node(_Link_type __x, _NodeGen& __node_gen)
1412:  {
1412: 
1412:    using _Vp = __conditional_t<_MoveValue,
1412:           value_type&&,
1412:           const value_type&>;
1412: 
1412:    _Linde/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __expint(unsigned int __n, _Tp __x)
609:     {
609: 
609:       if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__n <= 1 && __x == _Tp(0))
609:         return std::numeric_limits<_Tp>::infinity();
609:       else
609:         {
609:           _Tp __E0 = std::exp(__x) / __x;
609:           if (__n == 0)
609:             return __E0;
609: 
609:           _Tp __E1 = __expint_E1(__x);
609:           if (__n == 1)
609:             return __E1;
609: 
609:           if (__x == _Tp(0))
609:             return _Tp(1) / static_cast<_Tp>(__n - 1);
609: 
609:           _Tp __En = __expint_En_recursion(__n, __x);
609: 
609:           return __En;
609:         }
609:     }
609: # 516 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __expint(_Tp __x)
609:     {
609:       if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else
609:         return __expint_Ei(__x);
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 54 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/hypergeometric.tcc" 1 3
609: # 44 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 60 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609:   namespace __detail
609:   {
609: # 83 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __conf_hyperg_series(_Tp __a, _Tp __c, _Tp __x)
609:     {
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609: 
609:       _Tp __term = _Tp(1);
609:       _Tp __Fac = _Tp(1);
609:       const unsigned int __max_iter = 100000;
609:       unsigned int __i;
609:       for (__i = 0; __i < __max_iter; ++__i)
609:         {
609:           __term *= (__a + _Tp(__i)) * __x
609:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
609:           if (std::abs(__term) < __eps)
609:             {
609:               break;
609:             }
609:           __Fac += __term;
609:         }
609:       if (__i == __max_iter)
609:         std::__throw_runtime_error(("Series failed to converge " "in __conf_hyperg_series.")
609:                                                                   );
609: 
609:       return __Fac;
609:     }
609: # 120 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __conf_hyperg_luke(_Tp __a, _Tp __c, _Tp __xin)
609:     {
609:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
609:       const int __nmax = 20000;
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       const _Tp __x = -__xin;
609:       const _Tp __x3 = __x * __x * __x;
609:       const _Tp __t0 = __a / __c;
609:       const _Tp __t1 = (__a + _Tp(1)) / (_Tp(2) * __c);
609:       const _Tp __t2 = (__a + _Tp(2)) / (_Tp(2) * (__c + _Tp(1)));
609:       _Tp __F = _Tp(1);
609:       _Tp __prec;
609: 
609:       _Tp __Bnm3 = _Tp(1);
609:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
609:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
609: 
609:       _Tp __Anm3 = _Tp(1);
609:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
609:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
609:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
609: 
609:       int __n = 3;
609:       while(1)
609:         {
609:           _Tp __npam1 = _Tp(__n - 1) + __a;
609:           _Tp __npcm1 = _Tp(__n - 1) + __c;
609:           _Tp __npam2 = _Tp(__n - 2) + __a;
609:           _Tp __npcm2 = _Tp(__n - 2) + __c;
609:           _Tp __tnm1 = _Tp(2 * __n - 1);
609:           _Tp __tnm3 = _Tp(2 * __n - 3);
609:           _Tp __tnm5 = _Tp(2 * __n - 5);
609:           _Tp __F1 = (_Tp(__n - 2) - __a) / (_Tp(2) * __tnm3 * __npcm1);
609:           _Tp __F2 = (_Tp(__n) + __a) * __npam1
609:                    / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1115:     template<typename _Tp>
1115:       struct _Never_valueless_alt<std::shared_ptr<_Tp>>
1115:       : std::true_type
1115:       { };
1115: 
1115: 
1115: 
1115:     template<typename _Tp>
1115:       struct _Never_valueless_alt<std::weak_ptr<_Tp>>
1115:       : std::true_type
1115:       { };
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: # 78 "/usr/include/c++/12/memory" 2 3
1115: # 1 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115: # 1 "/usr/include/c++/12/bits/atomic_base.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/atomic_base.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/atomic_base.h" 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1115: # 38 "/usr/include/c++/12/bits/atomic_base.h" 2 3
1115: # 48 "/usr/include/c++/12/bits/atomic_base.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 78 "/usr/include/c++/12/bits/atomic_base.h" 3
1115:   typedef enum memory_order
1115:     {
1115:       memory_order_relaxed,
1115:       memory_order_consume,
1115:       memory_order_acquire,
1115:       memory_order_release,
1115:       memory_order_acq_rel,
1115:       memory_order_seq_cst
1115:     } memory_order;
1115: 
1115: 
1115:   enum __memory_order_modifier
1115:     {
1115:       __memory_order_mask = 0x0ffff,
1115:       __memory_order_modifier_mask = 0xffff0000,
1115:       __memory_order_hle_acquire = 0x10000,
1115:       __memory_order_hle_release = 0x20000
1115:     };
1115: 
1115:   constexpr memory_order
1115:   operator|(memory_order __m, __memory_order_modifier __mod)
1115:   {
1115:     return memory_order(int(__m) | int(__mod));
1115:   }
1115: 
1115:   constexpr memory_order
1115:   operator&(memory_order __m, __memory_order_modifier __mod)
1115:   {
1115:     return memory_order(int(__m) & int(__mod));
1115:   }
1115: 
1115: 
1115:   constexpr memory_order
1115:   __cmpexch_failure_order2(memory_order __m) noexcept
1115:   {
1115:     return __m == memory_order_acq_rel ? memory_order_acquire
1115:       : __m == memory_order_release ? memory_order_relaxed : __m;
1115:   }
1115: 
1115:   constexpr memory_order
1115:   __cmpexch_failure_order(memory_order __m) noexcept
1115:   {
1115:     return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask)
1115:       | __memory_order_modifier(__m & __memory_order_modifier_mask));
1115:   }
1115: 
1115:   constexpr bool
1115:   __is_valid_cmpexch_failure_order(memory_order __m) noexcept
1115:   {
1115:     return (__m & __memory_order_mask) != memory_order_release
1115:  && (__m & __memory_order_mask) != memory_order_acq_rel;
1115:   }
1115: 
1115:   inline __attribute__((__always_inline__)) void
1115:   atomic_thread_fence(memory_order __m) noexcept
1115:   { __atomic_thread_fence(int(__m)); }
1115: 
1115:   inline __attribute__((__always_inline__)) void
1115:   atomic_signal_fence(memory_order __m) noexcept
1115:   { __atomic_signal_fence(int(__m)); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline _Tp
1115:     kill_dependency(_Tp __y) noexcept
1115:     {
1115:       _Tp __ret(__y);
1115:       return __ret;
1115:     }
1115: 
1115: 
1115:   template<typename _IntTp>
1115:     struct __atomic_base;
1115: # 161 "/usr/include/c++/12/bits/atomic_base.h" 3
1115:   template<typename _Tp>
1115:     struct atomic;
1115: 
1115:   template<typename _Tp>
1115:     struct atomic<_Tp*>;
1115: 
1115: 
1115: 
1115:     typedef bool __atomic_flag_data_type;
1115: # 184 "/usr/include/c++/12/bits/atomic_base.h" 3
1115:   extern "C" {
1115: 
1115:   struct __atomic_flag_base
1115:   {
1115:     __atomic_flag_data_type _M_i ;
1115:   };
1115: 
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   struct atomic_flag : public __atomic_flag_base
1115:   {
1115:     atomic_flag() noexcept = default;
1115:     ~atomic_flag() noexcept = default;
1115:     atomic_flag();
609:           _Tp __F3 = -__npam2 * __npam1 * (_Tp(__n - 2) - __a)
609:                    / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
609:                    * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
609:           _Tp __E = -__npam1 * (_Tp(__n - 1) - __c)
609:                    / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
609: 
609:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
609:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
609:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
609:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
609:           _Tp __r = __An / __Bn;
609: 
609:           __prec = std::abs((__F - __r) / __F);
609:           __F = __r;
609: 
609:           if (__prec < __eps || __n > __nmax)
609:             break;
609: 
609:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
609:             {
609:               __An /= __big;
609:               __Bn /= __big;
609:               __Anm1 /= __big;
609:               __Bnm1 /= __big;
609:               __Anm2 /= __big;
609:               __Bnm2 /= __big;
609:               __Anm3 /= __big;
609:               __Bnm3 /= __big;
609:             }
609:           else if (std::abs(__An) < _Tp(1) / __big
609:                 || std::abs(__Bn) < _Tp(1) / __big)
609:             {
609:               __An *= __big;
609:               __Bn *= __big;
609:               __Anm1 *= __big;
609:               __Bnm1 *= __big;
609:               __Anm2 *= __big;
609:               __Bnm2 *= __big;
609:               __Anm3 *= __big;
609:               __Bnm3 *= __big;
609:             }
609: 
609:           ++__n;
609:           __Bnm3 = __Bnm2;
609:           __Bnm2 = __Bnm1;
609:           __Bnm1 = __Bn;
609:           __Anm3 = __Anm2;
609:           __Anm2 = __Anm1;
609:           __Anm1 = __An;
609:         }
609: 
609:       if (__n >= __nmax)
609:         std::__throw_runtime_error(("Iteration failed to converge " "in __conf_hyperg_luke.")
609:                                                                 );
609: 
609:       return __F;
609:     }
609: # 227 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __conf_hyperg(_Tp __a, _Tp __c, _Tp __x)
609:     {
609: 
609:       const _Tp __c_nint = ::std::nearbyint(__c);
609: 
609: 
609: 
609:       if (__isnan(__a) || __isnan(__c) || __isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__c_nint == __c && __c_nint <= 0)
609:         return std::numeric_limits<_Tp>::infinity();
609:       else if (__a == _Tp(0))
609:         return _Tp(1);
609:       else if (__c == __a)
609:         return std::exp(__x);
609:       else if (__x < _Tp(0))
609:         return __conf_hyperg_luke(__a, __c, __x);
609:       else
609:         return __conf_hyperg_series(__a, __c, __x);
609:     }
609: # 271 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __hyperg_series(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
609:     {
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609: 
609:       _Tp __term = _Tp(1);
609:       _Tp __Fabc = _Tp(1);
609:       const unsigned int __max_iter = 100000;
609:       unsigned int __i;
609:       for (__i = 0; __i < __max_iter; ++__i)
609:         {
609:           __term *= (__a + _Tp(__i)) * (__b + _Tp(__i)) * __x
609:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
609:           if (std::abs(__term) < __eps)
609:             {
609:               break;
609:             }
609:           __Fabc += __term;
609:         }
609:       if (__i == __max_iter)
609:         std::__throw_runtime_error(("Series failed to converge " "in __hyperg_series.")
609:                                                              );
609: 
609:       return __Fabc;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     template<typename _Tp>
609:     _Tp
609:     __hyperg_luke(_Tp __a, _Tp __b, _Tp __c, _Tp __xin)
609:     {
609:       const _Tp __big = std::pow(std::numeric_limik_type __tmp
1412:      = __node_gen(std::forward<_Vp>(*__x->_M_valptr()));
1412:    __tmp->_M_color = __x->_M_color;
1412:    __tmp->_M_left = 0;
1412:    __tmp->_M_right = 0;
1412:    return __tmp;
1412:  }
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Key_compare,
1412:         bool = __is_pod(_Key_compare)>
1412: 
1412:  struct _Rb_tree_impl
1412:  : public _Node_allocator
1412:  , public _Rb_tree_key_compare<_Key_compare>
1412:  , public _Rb_tree_header
1412:  {
1412:    typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare;
1412: 
1412:    _Rb_tree_impl()
1412:      noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value)
1412: 
1412: 
1412:    : _Node_allocator()
1412:    { }
1412: 
1412:    _Rb_tree_impl(const _Rb_tree_impl& __x)
1412:    : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x))
1412:    , _Base_key_compare(__x._M_key_compare)
1412:    , _Rb_tree_header()
1412:    { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:    _Rb_tree_impl(_Rb_tree_impl&&)
1412:      noexcept( is_nothrow_move_constructible<_Base_key_compare>::value )
1412:    = default;
1412: 
1412:    explicit
1412:    _Rb_tree_impl(_Node_allocator&& __a)
1412:    : _Node_allocator(std::move(__a))
1412:    { }
1412: 
1412:    _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a)
1412:    : _Node_allocator(std::move(__a)),
1412:      _Base_key_compare(std::move(__x)),
1412:      _Rb_tree_header(std::move(__x))
1412:    { }
1412: 
1412:    _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)
1412:    : _Node_allocator(std::move(__a)), _Base_key_compare(__comp)
1412:    { }
1412: 
1412:  };
1412: 
1412:       _Rb_tree_impl<_Compare> _M_impl;
1412: 
1412:     protected:
1412:       _Base_ptr&
1412:       _M_root() noexcept
1412:       { return this->_M_impl._M_header._M_parent; }
1412: 
1412:       _Const_Base_ptr
1412:       _M_root() const noexcept
1412:       { return this->_M_impl._M_header._M_parent; }
1412: 
1412:       _Base_ptr&
1412:       _M_leftmost() noexcept
1412:       { return this->_M_impl._M_header._M_left; }
1412: 
1412:       _Const_Base_ptr
1412:       _M_leftmost() const noexcept
1412:       { return this->_M_impl._M_header._M_left; }
1412: 
1412:       _Base_ptr&
1412:       _M_rightmost() noexcept
1412:       { return this->_M_impl._M_header._M_right; }
1412: 
1412:       _Const_Base_ptr
1412:       _M_rightmost() const noexcept
1412:       { return this->_M_impl._M_header._M_right; }
1412: 
1412:       _Link_type
1412:       _M_mbegin() const noexcept
1412:       { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
1412: 
1412:       _Link_type
1412:       _M_begin() noexcept
1412:       { return _M_mbegin(); }
1412: 
1412:       _Const_Link_type
1412:       _M_begin() const noexcept
1412:       {
1412:  return static_cast<_Const_Link_type>
1412:    (this->_M_impl._M_header._M_parent);
1412:       }
1412: 
1412:       _Base_ptr
1412:       _M_end() noexcept
1412:       { return &this->_M_impl._M_header; }
1412: 
1412:       _Const_Base_ptr
1412:       _M_end() const noexcept
1412:       { return &this->_M_impl._M_header; }
1412: 
1412:       static const _Key&
1412:       _S_key(_Const_Link_type __x)
1412:       {
1412: 
1412: 
1412: 
1412:  static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
1412:         "comparison object must be invocable "
1412:         "with two arguments of key type");
1412: 
1412: 
1412: 
1412:  if constexpr (__is_invocable<_Compare&, const _Key&, const _Key&>{})
1412:    static_assert(
1412:        is_invocable_v<const _Compare&, const _Key&, const _Key&>,
1412:        "comparison object must be invocable as const");
1412: 
1412: 
1412: 
1412:  return _KeyOfValue()(*__x->_M_valptr());
1412:       }
1412: 
1412:       static _Link_type
1412:       _S_left(_Base_ptr __x) noexcept
1412:       { return static_cast<_Link_type>(__x->_M_left); }
1412: 
1412:       static _Const_Link_type
1412:       _S_left(_Const_Base_ptr __x) noets<_Tp>::max(), _Tp(0.16L));
609:       const int __nmax = 20000;
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       const _Tp __x = -__xin;
609:       const _Tp __x3 = __x * __x * __x;
609:       const _Tp __t0 = __a * __b / __c;
609:       const _Tp __t1 = (__a + _Tp(1)) * (__b + _Tp(1)) / (_Tp(2) * __c);
609:       const _Tp __t2 = (__a + _Tp(2)) * (__b + _Tp(2))
609:                      / (_Tp(2) * (__c + _Tp(1)));
609: 
609:       _Tp __F = _Tp(1);
609: 
609:       _Tp __Bnm3 = _Tp(1);
609:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
609:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
609: 
609:       _Tp __Anm3 = _Tp(1);
609:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
609:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
609:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
609: 
609:       int __n = 3;
609:       while (1)
609:         {
609:           const _Tp __npam1 = _Tp(__n - 1) + __a;
609:           const _Tp __npbm1 = _Tp(__n - 1) + __b;
609:           const _Tp __npcm1 = _Tp(__n - 1) + __c;
609:           const _Tp __npam2 = _Tp(__n - 2) + __a;
609:           const _Tp __npbm2 = _Tp(__n - 2) + __b;
609:           const _Tp __npcm2 = _Tp(__n - 2) + __c;
609:           const _Tp __tnm1 = _Tp(2 * __n - 1);
609:           const _Tp __tnm3 = _Tp(2 * __n - 3);
609:           const _Tp __tnm5 = _Tp(2 * __n - 5);
609:           const _Tp __n2 = __n * __n;
609:           const _Tp __F1 = (_Tp(3) * __n2 + (__a + __b - _Tp(6)) * __n
609:                          + _Tp(2) - __a * __b - _Tp(2) * (__a + __b))
609:                          / (_Tp(2) * __tnm3 * __npcm1);
609:           const _Tp __F2 = -(_Tp(3) * __n2 - (__a + __b + _Tp(6)) * __n
609:                          + _Tp(2) - __a * __b) * __npam1 * __npbm1
609:                          / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
609:           const _Tp __F3 = (__npam2 * __npam1 * __npbm2 * __npbm1
609:                          * (_Tp(__n - 2) - __a) * (_Tp(__n - 2) - __b))
609:                          / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
609:                          * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
609:           const _Tp __E = -__npam1 * __npbm1 * (_Tp(__n - 1) - __c)
609:                          / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
609: 
609:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
609:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
609:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
609:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
609:           const _Tp __r = __An / __Bn;
609: 
609:           const _Tp __prec = std::abs((__F - __r) / __F);
609:           __F = __r;
609: 
609:           if (__prec < __eps || __n > __nmax)
609:             break;
609: 
609:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
609:             {
609:               __An /= __big;
609:               __Bn /= __big;
609:               __Anm1 /= __big;
609:               __Bnm1 /= __big;
609:               __Anm2 /= __big;
609:               __Bnm2 /= __big;
609:               __Anm3 /= __big;
609:               __Bnm3 /= __big;
609:             }
609:           else if (std::abs(__An) < _Tp(1) / __big
609:                 || std::abs(__Bn) < _Tp(1) / __big)
609:             {
609:               __An *= __big;
609:               __Bn *= __big;
609:               __Anm1 *= __big;
609:               __Bnm1 *= __big;
609:               __Anm2 *= __big;
609:               __Bnm2 *= __big;
609:               __Anm3 *= __big;
609:               __Bnm3 *= __big;
609:             }
609: 
609:           ++__n;
609:           __Bnm3 = __Bnm2;
609:           __Bnm2 = __Bnm1;
609:           __Bnm1 = __Bn;
609:           __Anm3 = __Anm2;
609:           __Anm2 = __Anm1;
609:           __Anm1 = __An;
609:         }
609: 
609:       if (__n >= __nmax)
609:         std::__throw_runtime_error(("Iteration failed to converge " "in __hyperg_luke.")
609:                                                            );
609: 
609:       return __F;
609:     }
609: # 438 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __hyperg_reflect(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
609:     {
609:       const _Tp __d = __c - __a - __b;
609:       const int __intd = std::floor(__d + _Tp(0.5L));
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       const _Tp __toler = _Tp(1000) * __eps;
609:       const _Tp __log_max = std::log(std::numeric_limits<_Tp>::max());
609:       const bool __d_integer = (std::abs(__d - __intd) < __toler);
609: 
609:       if (__d_integer)
609:         {
609:           const _Tp __ln_omx = std::log(_Tp(1) - __x);
609:           const _Tp __ad = std::abs(__d);
609:           _Tp __F1, __F2;
609: 
609:           _Tp __d1, __d2;
609:           if (__d >= _Tp(0))
609:             {
609:               __d1 = __d;
609:               __d2 = _Tp(0);
609:             }
609:           else
609:             {
609:               __d1 = _Tp(0);
609:               __d2 = __d;
609:             }
609: 
609:           const _Tp __lng_c = __log_gamma(__c);
609: 
609: 
609:           if (__ad < __eps)
609:             {
609: 
609:               __F1 = _Tp(0);
609:             }
609:           else
609:             {
609: 
609:               bool __ok_d1 = true;
609:               _Tp __lng_ad, __lng_ad1, __lng_bd1;
609:               try
609:                 {
609:                   __lng_ad = __log_gamma(__ad);
609:                   __lng_ad1 = __log_gamma(__a + __d1);
609:                   __lng_bd1 = __log_gamma(__b + __d1);
609:                 }
609:               catch(...)
609:                 {
609:                   __ok_d1 = false;
609:                 }
609: 
609:               if (__ok_d1)
609:                 {
609: 
609: 
609: 
609:                   _Tp __sum1 = _Tp(1);
609:                   _Tp __term = _Tp(1);
609:                   _Tp __ln_pre1 = __lng_ad + __lng_c + __d2 * __ln_omx
609:                                 - __lng_ad1 - __lng_bd1;
609: 
609: 
609: 
609:                   for (int __i = 1; __i < __ad; ++__i)
609:                     {
609:                       const int __j = __i - 1;
609:                       __term *= (__a + __d2 + __j) * (__b + __d2 + __j)
609:                               / (_Tp(1) + __d2 + __j) / __i * (_Tp(1) - __x);
609:                       __sum1 += __term;
609:                     }
609: 
609:                   if (__ln_pre1 > __log_max)
609:                     std::__throw_runtime_error(("Overflow of gamma functions" " in __hyperg_luke.")
609:                                                                         );
609:                   else
609:                     __F1 = std::exp(__ln_pre1) * __sum1;
609:                 }
609:               else
609:                 {
609: 
609: 
609:                   __F1 = _Tp(0);
609:                 }
609:             }
609: 
609: 
609:           bool __ok_d2 = true;
609:           _Tp __lng_ad2, __lng_bd2;
609:           try
609:             {
609:               __lng_ad2 = __log_gamma(__a + __d2);
609:               __lng_bd2 = __log_gamma(__b + __d2);
609:             }
609:           catch(...)
609:             {
609:               __ok_d2 = false;
609:             }
609: 
609:           if (__ok_d2)
609:             {
609: 
609: 
609:               const int __maxiter = 2000;
609:               const _Tp __psi_1 = -__numeric_constants<_Tp>::__gamma_e();
609:               const _Tp __psi_1pd = __psi(_Tp(1) + __ad);
609:               const _Tp __psi_apd1 = __psi(__a + __d1);
609:               const _Tp __psi_bpd1 = __psi(__b + __d1);
609: 
609:               _Tp __psi_term = __psi_1 + __psi_1pd - __psi_apd1
609:                              - __psi_bpd1 - __ln_omx;
609:               _Tp __fact = _Tp(1);
609:               _Tp __sum2 = __psi_term;
609:               _Tp __ln_pre2 = __lng_c + __d1 * __ln_omx
609:                             - __lng_ad2 - __lng_bd2;
609: 
609: 
609:               int __j;
609:               for (__j = 1; __j <const atomic_flag&) = delete;
1115:     atomic_flag& operator=(const atomic_flag&) = delete;
1115:     atomic_flag& operator=(const atomic_flag&) volatile = delete;
1115: 
1115: 
1115:     constexpr atomic_flag(bool __i) noexcept
1115:       : __atomic_flag_base{ _S_init(__i) }
1115:     { }
1115: 
1115:     inline __attribute__((__always_inline__)) bool
1115:     test_and_set(memory_order __m = memory_order_seq_cst) noexcept
1115:     {
1115:       return __atomic_test_and_set (&_M_i, int(__m));
1115:     }
1115: 
1115:     inline __attribute__((__always_inline__)) bool
1115:     test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept
1115:     {
1115:       return __atomic_test_and_set (&_M_i, int(__m));
1115:     }
1115: # 268 "/usr/include/c++/12/bits/atomic_base.h" 3
1115:     inline __attribute__((__always_inline__)) void
1115:     clear(memory_order __m = memory_order_seq_cst) noexcept
1115:     {
1115:       memory_order __b __attribute__ ((__unused__))
1115:  = __m & __memory_order_mask;
1115:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1115:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1115:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115: 
1115:       __atomic_clear (&_M_i, int(__m));
1115:     }
1115: 
1115:     inline __attribute__((__always_inline__)) void
1115:     clear(memory_order __m = memory_order_seq_cst) volatile noexcept
1115:     {
1115:       memory_order __b __attribute__ ((__unused__))
1115:  = __m & __memory_order_mask;
1115:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1115:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1115:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115: 
1115:       __atomic_clear (&_M_i, int(__m));
1115:     }
1115: 
1115:   private:
1115:     static constexpr __atomic_flag_data_type
1115:     _S_init(bool __i)
1115:     { return __i ? 1 : 0; }
1115:   };
1115: # 323 "/usr/include/c++/12/bits/atomic_base.h" 3
1115:   template<typename _ITp>
1115:     struct __atomic_base
1115:     {
1115:       using value_type = _ITp;
1115:       using difference_type = value_type;
1115: 
1115:     private:
1115:       typedef _ITp __int_type;
1115: 
1115:       static constexpr int _S_alignment =
1115:  sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp);
1115: 
1115:       alignas(_S_alignment) __int_type _M_i ;
1115: 
1115:     public:
1115:       __atomic_base() noexcept = default;
1115:       ~__atomic_base() noexcept = default;
1115:       __atomic_base(const __atomic_base&) = delete;
1115:       __atomic_base& operator=(const __atomic_base&) = delete;
1115:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1115: 
1115: 
1115:       constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { }
1115: 
1115:       operator __int_type() const noexcept
1115:       { return load(); }
1115: 
1115:       operator __int_type() const volatile noexcept
1115:       { return load(); }
1115: 
1115:       __int_type
1115:       operator=(__int_type __i) noexcept
1115:       {
1115:  store(__i);
1115:  return __i;
1115:       }
1115: 
1115:       __int_type
1115:       operator=(__int_type __i) volatile noexcept
1115:       {
1115:  store(__i);
1115:  return __i;
1115:       }
1115: 
1115:       __int_type
1115:       operator++(int) noexcept
1115:       { return fetch_add(1); }
1115: 
1115:       __int_type
1115:       operator++(int) volatile noexcept
1115:       { return fetch_add(1); }
1115: 
1115:       __int_type
1115:       operator--(int) noexcept
1115:       { return fetch_sub(1); }
1115: 
1115:       __int_type
1115:       operator--(int) volatile no __maxiter; ++__j)
609:                 {
609: 
609: 
609:                   const _Tp __term1 = _Tp(1) / _Tp(__j)
609:                                     + _Tp(1) / (__ad + __j);
609:                   const _Tp __term2 = _Tp(1) / (__a + __d1 + _Tp(__j - 1))
609:                                     + _Tp(1) / (__b + __d1 + _Tp(__j - 1));
609:                   __psi_term += __term1 - __term2;
609:                   __fact *= (__a + __d1 + _Tp(__j - 1))
609:                           * (__b + __d1 + _Tp(__j - 1))
609:                           / ((__ad + __j) * __j) * (_Tp(1) - __x);
609:                   const _Tp __delta = __fact * __psi_term;
609:                   __sum2 += __delta;
609:                   if (std::abs(__delta) < __eps * std::abs(__sum2))
609:                     break;
609:                 }
609:               if (__j == __maxiter)
609:                 std::__throw_runtime_error(("Sum F2 failed to converge " "in __hyperg_reflect")
609:                                                                      );
609: 
609:               if (__sum2 == _Tp(0))
609:                 __F2 = _Tp(0);
609:               else
609:                 __F2 = std::exp(__ln_pre2) * __sum2;
609:             }
609:           else
609:             {
609: 
609: 
609:               __F2 = _Tp(0);
609:             }
609: 
609:           const _Tp __sgn_2 = (__intd % 2 == 1 ? -_Tp(1) : _Tp(1));
609:           const _Tp __F = __F1 + __sgn_2 * __F2;
609: 
609:           return __F;
609:         }
609:       else
609:         {
609: 
609: 
609: 
609: 
609:           bool __ok1 = true;
609:           _Tp __sgn_g1ca = _Tp(0), __ln_g1ca = _Tp(0);
609:           _Tp __sgn_g1cb = _Tp(0), __ln_g1cb = _Tp(0);
609:           try
609:             {
609:               __sgn_g1ca = __log_gamma_sign(__c - __a);
609:               __ln_g1ca = __log_gamma(__c - __a);
609:               __sgn_g1cb = __log_gamma_sign(__c - __b);
609:               __ln_g1cb = __log_gamma(__c - __b);
609:             }
609:           catch(...)
609:             {
609:               __ok1 = false;
609:             }
609: 
609:           bool __ok2 = true;
609:           _Tp __sgn_g2a = _Tp(0), __ln_g2a = _Tp(0);
609:           _Tp __sgn_g2b = _Tp(0), __ln_g2b = _Tp(0);
609:           try
609:             {
609:               __sgn_g2a = __log_gamma_sign(__a);
609:               __ln_g2a = __log_gamma(__a);
609:               __sgn_g2b = __log_gamma_sign(__b);
609:               __ln_g2b = __log_gamma(__b);
609:             }
609:           catch(...)
609:             {
609:               __ok2 = false;
609:             }
609: 
609:           const _Tp __sgn_gc = __log_gamma_sign(__c);
609:           const _Tp __ln_gc = __log_gamma(__c);
609:           const _Tp __sgn_gd = __log_gamma_sign(__d);
609:           const _Tp __ln_gd = __log_gamma(__d);
609:           const _Tp __sgn_gmd = __log_gamma_sign(-__d);
609:           const _Tp __ln_gmd = __log_gamma(-__d);
609: 
609:           const _Tp __sgn1 = __sgn_gc * __sgn_gd * __sgn_g1ca * __sgn_g1cb;
609:           const _Tp __sgn2 = __sgn_gc * __sgn_gmd * __sgn_g2a * __sgn_g2b;
609: 
609:           _Tp __pre1, __pre2;
609:           if (__ok1 && __ok2)
609:             {
609:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
609:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
609:                             + __d * std::log(_Tp(1) - __x);
609:               if (__ln_pre1 < __log_max && __ln_pre2 < __log_max)
609:                 {
609:                   __pre1 = std::exp(__ln_pre1);
609:                   __pre2 = std::exp(__ln_pre2);
609:                   __pre1 *= __sgn1;
609:                   __pre2 *= __sgn2;
609:                 }
609:               else
609:                 {
609:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
609:                                                                        );
609:                 }
609:             }
609:           else if (__ok1 && !__ok2)
609:             {
609:  xcept
1412:       { return static_cast<_Const_Link_type>(__x->_M_left); }
1412: 
1412:       static _Link_type
1412:       _S_right(_Base_ptr __x) noexcept
1412:       { return static_cast<_Link_type>(__x->_M_right); }
1412: 
1412:       static _Const_Link_type
1412:       _S_right(_Const_Base_ptr __x) noexcept
1412:       { return static_cast<_Const_Link_type>(__x->_M_right); }
1412: 
1412:       static const _Key&
1412:       _S_key(_Const_Base_ptr __x)
1412:       { return _S_key(static_cast<_Const_Link_type>(__x)); }
1412: 
1412:       static _Base_ptr
1412:       _S_minimum(_Base_ptr __x) noexcept
1412:       { return _Rb_tree_node_base::_S_minimum(__x); }
1412: 
1412:       static _Const_Base_ptr
1412:       _S_minimum(_Const_Base_ptr __x) noexcept
1412:       { return _Rb_tree_node_base::_S_minimum(__x); }
1412: 
1412:       static _Base_ptr
1412:       _S_maximum(_Base_ptr __x) noexcept
1412:       { return _Rb_tree_node_base::_S_maximum(__x); }
1412: 
1412:       static _Const_Base_ptr
1412:       _S_maximum(_Const_Base_ptr __x) noexcept
1412:       { return _Rb_tree_node_base::_S_maximum(__x); }
1412: 
1412:     public:
1412:       typedef _Rb_tree_iterator<value_type> iterator;
1412:       typedef _Rb_tree_const_iterator<value_type> const_iterator;
1412: 
1412:       typedef std::reverse_iterator<iterator> reverse_iterator;
1412:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1412: 
1412: 
1412:       using node_type = _Node_handle<_Key, _Val, _Node_allocator>;
1412:       using insert_return_type = _Node_insert_return<
1412:  __conditional_t<is_same_v<_Key, _Val>, const_iterator, iterator>,
1412:  node_type>;
1412: 
1412: 
1412:       pair<_Base_ptr, _Base_ptr>
1412:       _M_get_insert_unique_pos(const key_type& __k);
1412: 
1412:       pair<_Base_ptr, _Base_ptr>
1412:       _M_get_insert_equal_pos(const key_type& __k);
1412: 
1412:       pair<_Base_ptr, _Base_ptr>
1412:       _M_get_insert_hint_unique_pos(const_iterator __pos,
1412:         const key_type& __k);
1412: 
1412:       pair<_Base_ptr, _Base_ptr>
1412:       _M_get_insert_hint_equal_pos(const_iterator __pos,
1412:        const key_type& __k);
1412: 
1412:     private:
1412: 
1412:       template<typename _Arg, typename _NodeGen>
1412:  iterator
1412:  _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
1412: 
1412:       iterator
1412:       _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z);
1412: 
1412:       template<typename _Arg>
1412:  iterator
1412:  _M_insert_lower(_Base_ptr __y, _Arg&& __v);
1412: 
1412:       template<typename _Arg>
1412:  iterator
1412:  _M_insert_equal_lower(_Arg&& __x);
1412: 
1412:       iterator
1412:       _M_insert_lower_node(_Base_ptr __p, _Link_type __z);
1412: 
1412:       iterator
1412:       _M_insert_equal_lower_node(_Link_type __z);
1412: # 879 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:       enum { __as_lvalue, __as_rvalue };
1412: 
1412:       template<bool _MoveValues, typename _NodeGen>
1412:  _Link_type
1412:  _M_copy(_Link_type, _Base_ptr, _NodeGen&);
1412: 
1412:       template<bool _MoveValues, typename _NodeGen>
1412:  _Link_type
1412:  _M_copy(const _Rb_tree& __x, _NodeGen& __gen)
1412:  {
1412:    _Link_type __root =
1412:      _M_copy<_MoveValues>(__x._M_mbegin(), _M_end(), __gen);
1412:    _M_leftmost() = _S_minimum(__root);
1412:    _M_rightmost() = _S_maximum(__root);
1412:    _M_impl._M_node_count = __x._M_impl._M_node_count;
1412:    return __root;
1412:  }
1412: 
1412:       _Link_type
1412:       _M_copy(const _Rb_tree& __x)
1412:       {
1412:  _Alloc_node __an(*this);
1412:  return _M_copy<__as_lvalue>(__x, __an);
1412:       }
1412: 
1412:       void
1412:       _M_erase(_Link_type __x);
1412: 
1412:       iterator
1412:       _M_lower_bound(_Link_type __x, _Base_ptr __y,
1412:        const _Key& __k);
1412: 
1412:       const_iterator
1412:       _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1412:        const _Key& __k) const;
1412: 
1412:       iterator
1412:       _M_upper_bound(_Link_type __x, _Base_ptr __y,
1412:except
1115:       { return fetch_sub(1); }
1115: 
1115:       __int_type
1115:       operator++() noexcept
1115:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator++() volatile noexcept
1115:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator--() noexcept
1115:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator--() volatile noexcept
1115:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator+=(__int_type __i) noexcept
1115:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator+=(__int_type __i) volatile noexcept
1115:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator-=(__int_type __i) noexcept
1115:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator-=(__int_type __i) volatile noexcept
1115:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator&=(__int_type __i) noexcept
1115:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator&=(__int_type __i) volatile noexcept
1115:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator|=(__int_type __i) noexcept
1115:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator|=(__int_type __i) volatile noexcept
1115:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator^=(__int_type __i) noexcept
1115:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       __int_type
1115:       operator^=(__int_type __i) volatile noexcept
1115:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1115: 
1115:       bool
1115:       is_lock_free() const noexcept
1115:       {
1115: 
1115:  return __atomic_is_lock_free(sizeof(_M_i),
1115:      reinterpret_cast<void *>(-_S_alignment));
1115:       }
1115: 
1115:       bool
1115:       is_lock_free() const volatile noexcept
1115:       {
1115: 
1115:  return __atomic_is_lock_free(sizeof(_M_i),
1115:      reinterpret_cast<void *>(-_S_alignment));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) void
1115:       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1115: 
1115:  __atomic_store_n(&_M_i, __i, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) void
1115:       store(__int_type __i,
1115:      memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1115: 
1115:  __atomic_store_n(&             _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
609:               if (__ln_pre1 < __log_max)
609:                 {
609:                   __pre1 = std::exp(__ln_pre1);
609:                   __pre1 *= __sgn1;
609:                   __pre2 = _Tp(0);
609:                 }
609:               else
609:                 {
609:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
609:                                                                        );
609:                 }
609:             }
609:           else if (!__ok1 && __ok2)
609:             {
609:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
609:                             + __d * std::log(_Tp(1) - __x);
609:               if (__ln_pre2 < __log_max)
609:                 {
609:                   __pre1 = _Tp(0);
609:                   __pre2 = std::exp(__ln_pre2);
609:                   __pre2 *= __sgn2;
609:                 }
609:               else
609:                 {
609:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
609:                                                                        );
609:                 }
609:             }
609:           else
609:             {
609:               __pre1 = _Tp(0);
609:               __pre2 = _Tp(0);
609:               std::__throw_runtime_error(("Underflow of gamma functions " "in __hyperg_reflect")
609:                                                                    );
609:             }
609: 
609:           const _Tp __F1 = __hyperg_series(__a, __b, _Tp(1) - __d,
609:                                            _Tp(1) - __x);
609:           const _Tp __F2 = __hyperg_series(__c - __a, __c - __b, _Tp(1) + __d,
609:                                            _Tp(1) - __x);
609: 
609:           const _Tp __F = __pre1 * __F1 + __pre2 * __F2;
609: 
609:           return __F;
609:         }
609:     }
609: # 728 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
609:     {
609: 
609:       const _Tp __a_nint = ::std::nearbyint(__a);
609:       const _Tp __b_nint = ::std::nearbyint(__b);
609:       const _Tp __c_nint = ::std::nearbyint(__c);
609: 
609: 
609: 
609: 
609: 
609:       const _Tp __toler = _Tp(1000) * std::numeric_limits<_Tp>::epsilon();
609:       if (std::abs(__x) >= _Tp(1))
609:         std::__throw_domain_error(("Argument outside unit circle " "in __hyperg.")
609:                                                      );
609:       else if (__isnan(__a) || __isnan(__b)
609:             || __isnan(__c) || __isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__c_nint == __c && __c_nint <= _Tp(0))
609:         return std::numeric_limits<_Tp>::infinity();
609:       else if (std::abs(__c - __b) < __toler || std::abs(__c - __a) < __toler)
609:         return std::pow(_Tp(1) - __x, __c - __a - __b);
609:       else if (__a >= _Tp(0) && __b >= _Tp(0) && __c >= _Tp(0)
609:             && __x >= _Tp(0) && __x < _Tp(0.995L))
609:         return __hyperg_series(__a, __b, __c, __x);
609:       else if (std::abs(__a) < _Tp(10) && std::abs(__b) < _Tp(10))
609:         {
609: 
609: 
609:           if (__a < _Tp(0) && std::abs(__a - __a_nint) < __toler)
609:             return __hyperg_series(__a_nint, __b, __c, __x);
609:           else if (__b < _Tp(0) && std::abs(__b - __b_nint) < __toler)
609:             return __hyperg_series(__a, __b_nint, __c, __x);
609:           else if (__x < -_Tp(0.25L))
609:             return __hyperg_luke(__a, __b, __c, __x);
609:           else if (__x < _Tp(0.5L))
609:             return __hyperg_series(__a, __b, __c, __x);
609:           else
609:             if (std::abs(__c) > _Tp(10))
609:               return __hyperg_series(__a, __b, __c, __x);
609:             else
609:               return __hyperg_reflect(__a, __b, __c, __x);
609:         }
609:       else
609:         return __hyperg_luke(__        const _Key& __k);
1412: 
1412:       const_iterator
1412:       _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1412:        const _Key& __k) const;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412:       _Rb_tree() = default;
1412: 
1412: 
1412:       _Rb_tree(const _Compare& __comp,
1412:         const allocator_type& __a = allocator_type())
1412:       : _M_impl(__comp, _Node_allocator(__a)) { }
1412: 
1412:       _Rb_tree(const _Rb_tree& __x)
1412:       : _M_impl(__x._M_impl)
1412:       {
1412:  if (__x._M_root() != 0)
1412:    _M_root() = _M_copy(__x);
1412:       }
1412: 
1412: 
1412:       _Rb_tree(const allocator_type& __a)
1412:       : _M_impl(_Node_allocator(__a))
1412:       { }
1412: 
1412:       _Rb_tree(const _Rb_tree& __x, const allocator_type& __a)
1412:       : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a))
1412:       {
1412:  if (__x._M_root() != nullptr)
1412:    _M_root() = _M_copy(__x);
1412:       }
1412: 
1412:       _Rb_tree(_Rb_tree&&) = default;
1412: 
1412:       _Rb_tree(_Rb_tree&& __x, const allocator_type& __a)
1412:       : _Rb_tree(std::move(__x), _Node_allocator(__a))
1412:       { }
1412: 
1412:     private:
1412:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type)
1412:       noexcept(is_nothrow_default_constructible<_Compare>::value)
1412:       : _M_impl(std::move(__x._M_impl), std::move(__a))
1412:       { }
1412: 
1412:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type)
1412:       : _M_impl(__x._M_impl._M_key_compare, std::move(__a))
1412:       {
1412:  if (__x._M_root() != nullptr)
1412:    _M_move_data(__x, false_type{});
1412:       }
1412: 
1412:     public:
1412:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)
1412:       noexcept( noexcept(
1412:  _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(),
1412:    std::declval<typename _Alloc_traits::is_always_equal>())) )
1412:       : _Rb_tree(std::move(__x), std::move(__a),
1412:    typename _Alloc_traits::is_always_equal{})
1412:       { }
1412: 
1412: 
1412:       ~_Rb_tree() noexcept
1412:       { _M_erase(_M_begin()); }
1412: 
1412:       _Rb_tree&
1412:       operator=(const _Rb_tree& __x);
1412: 
1412: 
1412:       _Compare
1412:       key_comp() const
1412:       { return _M_impl._M_key_compare; }
1412: 
1412:       iterator
1412:       begin() noexcept
1412:       { return iterator(this->_M_impl._M_header._M_left); }
1412: 
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return const_iterator(this->_M_impl._M_header._M_left); }
1412: 
1412:       iterator
1412:       end() noexcept
1412:       { return iterator(&this->_M_impl._M_header); }
1412: 
1412:       const_iterator
1412:       end() const noexcept
1412:       { return const_iterator(&this->_M_impl._M_header); }
1412: 
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return reverse_iterator(end()); }
1412: 
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return reverse_iterator(begin()); }
1412: 
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return _M_impl._M_node_count == 0; }
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_impl._M_node_count; }
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _Alloc_traits::max_size(_M_get_Node_allocator()); }
1412: 
1412:       void
1412:       swap(_Rb_tree& __t)
1412:       noexcept(__is_nothrow_swappable<_Compare>::value);
1412: 
1412: 
1412: 
1412:       template<typename _Arg>
1412:  pair<iterator, bool>
1412:  _M_insert_unique(_Arg&& __x);
1412: 
1412:       template<typename _Arg>
1412:  iterator
1412:  _M_insert_equal(_Arg&& __x);
1412: 
1412:       template<typename _Arg, typenapy_move_backward_a1<_IsMove>
1417:     (std::__niter_base(__first), std::__niter_base(__last),
1417:      std::__niter_base(__result)));
1417:     }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1417:     _OI
1417:     __copy_move_backward_a(
1417:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1417:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1417:   _OI);
1417: 
1417:   template<bool _IsMove,
1417:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1417:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1417:     __copy_move_backward_a(_II, _II,
1417:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1417: 
1417:   template<bool _IsMove,
1417:     typename _IIte, typename _ISeq, typename _ICat,
1417:     typename _OIte, typename _OSeq, typename _OCat>
1417:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1417:     __copy_move_backward_a(
1417:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1417:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1417:   const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1417: # 845 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _BI1, typename _BI2>
1417:    
1417:     inline _BI2
1417:     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
1417:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1417:     }
1417: # 880 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _BI1, typename _BI2>
1417:    
1417:     inline _BI2
1417:     move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__copy_move_backward_a<true>(std::__miter_base(__first),
1417:             std::__miter_base(__last),
1417:             __result);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline typename
1417:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
1417:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1417:        const _Tp& __value)
1417:     {
1417:       for (; __first != __last; ++__first)
1417:  *__first = __value;
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline typename
1417:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
1417:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1417:        const _Tp& __value)
1417:     {
1417:       const _Tp __tmp = __value;
1417:       for (; __first != __last; ++__first)
1417:  *__first = __tmp;
1417:     }
1417: 
1417: 
1417:   template<typename _Tp>
1417:    
1417:     inline typename
1417:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
1417:     __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c)
1417:     {
1417:       const _Tp __tmp = __c;
1417: # 941 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:       if (const size_t __len = __last - __first)
1417:  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
1417:     }
1417: 
1417:   template<typename _Ite, typename _Cont, typename _Tp>
1417:    
1417:     inline void
1417:     __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
1417:        ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
1417:        const _Tp& __value)
1417:     { std::__fill_a1(__first.base(), __last.base(), __value); }
1417: 
1417:   template<typename _Tp, typename _VTp>
1417:     void
1417:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1417:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1417:        const _VTp&);
1417: 
1417:  
1417:   void
1417:   __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
1417:      const bool&);
1417: 
1417:   template<typename _FIte, typename _Tp>
a, __b, __c, __x);
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 55 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/legendre_function.tcc" 1 3
609: # 49 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 65 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
609:   namespace __detail
609:   {
609: # 80 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __poly_legendre_p(unsigned int __l, _Tp __x)
609:     {
609: 
609:       if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__x == +_Tp(1))
609:         return +_Tp(1);
609:       else if (__x == -_Tp(1))
609:         return (__l % 2 == 1 ? -_Tp(1) : +_Tp(1));
609:       else
609:         {
609:           _Tp __p_lm2 = _Tp(1);
609:           if (__l == 0)
609:             return __p_lm2;
609: 
609:           _Tp __p_lm1 = __x;
609:           if (__l == 1)
609:             return __p_lm1;
609: 
609:           _Tp __p_l = 0;
609:           for (unsigned int __ll = 2; __ll <= __l; ++__ll)
609:             {
609: 
609: 
609:               __p_l = _Tp(2) * __x * __p_lm1 - __p_lm2
609:                     - (__x * __p_lm1 - __p_lm2) / _Tp(__ll);
609:               __p_lm2 = __p_lm1;
609:               __p_lm1 = __p_l;
609:             }
609: 
609:           return __p_l;
609:         }
609:     }
609: # 136 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __assoc_legendre_p(unsigned int __l, unsigned int __m, _Tp __x,
609:          _Tp __phase = _Tp(+1))
609:     {
609: 
609:       if (__m > __l)
609:         return _Tp(0);
609:       else if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__m == 0)
609:         return __poly_legendre_p(__l, __x);
609:       else
609:         {
609:           _Tp __p_mm = _Tp(1);
609:           if (__m > 0)
609:             {
609: 
609: 
609:               _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x);
609:               _Tp __fact = _Tp(1);
609:               for (unsigned int __i = 1; __i <= __m; ++__i)
609:                 {
609:                   __p_mm *= __phase * __fact * __root;
609:                   __fact += _Tp(2);
609:                 }
609:             }
609:           if (__l == __m)
609:             return __p_mm;
609: 
609:           _Tp __p_mp1m = _Tp(2 * __m + 1) * __x * __p_mm;
609:           if (__l == __m + 1)
609:             return __p_mp1m;
609: 
609:           _Tp __p_lm2m = __p_mm;
609:           _Tp __P_lm1m = __p_mp1m;
609:           _Tp __p_lm = _Tp(0);
609:           for (unsigned int __j = __m + 2; __j <= __l; ++__j)
609:             {
609:               __p_lm = (_Tp(2 * __j - 1) * __x * __P_lm1m
609:                       - _Tp(__j + __m - 1) * __p_lm2m) / _Tp(__j - __m);
609:               __p_lm2m = __P_lm1m;
609:               __P_lm1m = __p_lm;
609:             }
609: 
609:           return __p_lm;
609:         }
609:     }
609: # 214 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
609:     template <typename _Tp>
609:     _Tp
609:     __sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
609:     {
609:       if (__isnan(__theta))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609: 
609:       const _Tp __x = std::cos(__theta);
609: 
609:       if (__m > __l)
609:         return _Tp(0);
609:       else if (__m == 0)
609:         {
609:           _Tp __P = __poly_legendre_p(__l, __x);
609:           _Tp __fact = std::sqrt(_Tp(2 * __l + 1)
609:                      / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
609:           __P *= __fact;
609:           return __P;
609:         }
609:       else if (__x == _Tp(1) || __x == -_Tp(1))
609:         {
609: 
609:           return _Tp(0);
609:         }
609:       else
609:         {
609: 
609: 
609: 
609: 
609: 
609:           const _Tp __sgn = ( __m % 2 == 1 ? -_Tp(1) : _Tp(1));
609:           c1417:    
1417:     inline void
1417:     __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
1417:     { std::__fill_a1(__first, __last, __value); }
1417: 
1417:   template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
1417:     void
1417:     __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1417:       const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1417:       const _Tp&);
1417: # 988 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline void
1417:     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       std::__fill_a(__first, __last, __value);
1417:     }
1417: 
1417: 
1417:   inline constexpr int
1417:   __size_to_integer(int __n) { return __n; }
1417:   inline constexpr unsigned
1417:   __size_to_integer(unsigned __n) { return __n; }
1417:   inline constexpr long
1417:   __size_to_integer(long __n) { return __n; }
1417:   inline constexpr unsigned long
1417:   __size_to_integer(unsigned long __n) { return __n; }
1417:   inline constexpr long long
1417:   __size_to_integer(long long __n) { return __n; }
1417:   inline constexpr unsigned long long
1417:   __size_to_integer(unsigned long long __n) { return __n; }
1417: # 1040 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   inline constexpr long long
1417:   __size_to_integer(float __n) { return (long long)__n; }
1417:   inline constexpr long long
1417:   __size_to_integer(double __n) { return (long long)__n; }
1417:   inline constexpr long long
1417:   __size_to_integer(long double __n) { return (long long)__n; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _OutputIterator, typename _Size, typename _Tp>
1417:    
1417:     inline typename
1417:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
1417:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1417:     {
1417:       for (; __n > 0; --__n, (void) ++__first)
1417:  *__first = __value;
1417:       return __first;
1417:     }
1417: 
1417:   template<typename _OutputIterator, typename _Size, typename _Tp>
1417:    
1417:     inline typename
1417:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
1417:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1417:     {
1417:       const _Tp __tmp = __value;
1417:       for (; __n > 0; --__n, (void) ++__first)
1417:  *__first = __tmp;
1417:       return __first;
1417:     }
1417: 
1417:   template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
1417:     typename _Tp>
1417:     ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1417:     __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
1417:         _Size __n, const _Tp& __value,
1417:         std::input_iterator_tag);
1417: 
1417:   template<typename _OutputIterator, typename _Size, typename _Tp>
1417:    
1417:     inline _OutputIterator
1417:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1417:         std::output_iterator_tag)
1417:     {
1417: 
1417:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1417: 
1417:       return __fill_n_a1(__first, __n, __value);
1417:     }
1417: 
1417:   template<typename _OutputIterator, typename _Size, typename _Tp>
1417:    
1417:     inline _OutputIterator
1417:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1417:         std::input_iterator_tag)
1417:     {
1417: 
1417:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1417: 
1417:       return __fill_n_a1(__first, __n, __value);
1417:     }
1417: 
1417:   template<typename _OutputIterator, typename _Size, typename _Tp>
1417:    
1417:     inline _OutputIterator
1417:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1417:         std::random_access_iterator_tag)
1417:     {
1417: 
1417:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1417: 
1417:       if (__n <= 0)
1417:  return __first;
1417: 
1417:       ;
1417: 
1417:       std::__fill_a(__first, __first + __n, __value);
1417:       return __first + __n;
1417:     }
1417: # 1140 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _OI, typename _Size, typename _Tp>
1417:    
1417:     inline _OI
1417:     fill_n(_OI __first, _Size __n, const _Tp& __value)
1417:     {
1417: 
1417:      
1417: 
1417:       return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
1417:           std::__iterator_category(__first));
1417:     }
1417: 
1417:   template<bool _BoolType>
1417:     struct __equal
1417:     {
1417:       template<typename _II1, typename _II2>
1417: 
1417:  static bool
1417:  equal(_II1 __first1, _II1 __last1, _II2 __first2)
1417:  {
1417:    for (; __first1 != __last1; ++__first1, (void) ++__first2)
1417:      if (!(*__first1 == *__first2))
1417:        return false;
1417:    return true;
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct __equal<true>
1417:     {
1417:       template<typename _Tp>
1417: 
1417:  static bool
1417:  equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
1417:  {
1417:    if (const size_t __len = (__last1 - __first1))
1417:      return !std::__memcmp(__first1, __first2, __len);
1417:    return true;
1417:  }
1417:     };
1417: 
1417:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value, bool>::__type
1417:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1417:    std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1417:    _II);
1417: 
1417:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1417:     typename _Tp2, typename _Ref2, typename _Ptr2>
1417:     bool
1417:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1417:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1417:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1417: 
1417:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value, bool>::__type
1417:     __equal_aux1(_II, _II,
1417:   std::_Deque_iterator<_Tp, _Ref, _Ptr>);
1417: 
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
1417:     {
1417:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1417:       const bool __simple = ((__is_integer<_ValueType1>::__value
1417:          || __is_pointer<_ValueType1>::__value)
1417:         && __memcmpable<_II1, _II2>::__value);
1417:       return std::__equal<__simple>::equal(__first1, __last1, __first2);
1417:     }
1417: 
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
1417:     {
1417:       return std::__equal_aux1(std::__niter_base(__first1),
1417:           std::__niter_base(__last1),
1417:           std::__niter_base(__first2));
1417:     }
1417: 
1417:   template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
1417:     bool
1417:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1417:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1417:   _II2);
1417: 
1417:   template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
1417:     bool
1417:     __equal_aux(_II1, _II1,
1417:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1417: 
1417:   template<typename _II1, typename _Seq1, typename _Cat1,
1417:     typename _II2, typename _Seq2, typename _Cat2>
1417:     bool
1417:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1417:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1417:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1417: 
1417:   template<typename, typename>
1417:     struct __lc_rai
1417:     {
1417:       template<typename _II1, typename _II2>
1417: 
1417:  static _II1
14me _NodeGen>
1412:  iterator
1412:  _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1412: 
1412:       template<typename _Arg>
1412:  iterator
1412:  _M_insert_unique_(const_iterator __pos, _Arg&& __x)
1412:  {
1412:    _Alloc_node __an(*this);
1412:    return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
1412:  }
1412: 
1412:       template<typename _Arg, typename _NodeGen>
1412:  iterator
1412:  _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1412: 
1412:       template<typename _Arg>
1412:  iterator
1412:  _M_insert_equal_(const_iterator __pos, _Arg&& __x)
1412:  {
1412:    _Alloc_node __an(*this);
1412:    return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an);
1412:  }
1412: 
1412:       template<typename... _Args>
1412:  pair<iterator, bool>
1412:  _M_emplace_unique(_Args&&... __args);
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  _M_emplace_equal(_Args&&... __args);
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args);
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args);
1412: 
1412:       template<typename _Iter>
1412:  using __same_value_type
1412:    = is_same<value_type, typename iterator_traits<_Iter>::value_type>;
1412: 
1412:       template<typename _InputIterator>
1412:  __enable_if_t<__same_value_type<_InputIterator>::value>
1412:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1412:  {
1412:    _Alloc_node __an(*this);
1412:    for (; __first != __last; ++__first)
1412:      _M_insert_unique_(end(), *__first, __an);
1412:  }
1412: 
1412:       template<typename _InputIterator>
1412:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1412:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1412:  {
1412:    for (; __first != __last; ++__first)
1412:      _M_emplace_unique(*__first);
1412:  }
1412: 
1412:       template<typename _InputIterator>
1412:  __enable_if_t<__same_value_type<_InputIterator>::value>
1412:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1412:  {
1412:    _Alloc_node __an(*this);
1412:    for (; __first != __last; ++__first)
1412:      _M_insert_equal_(end(), *__first, __an);
1412:  }
1412: 
1412:       template<typename _InputIterator>
1412:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1412:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1412:  {
1412:    _Alloc_node __an(*this);
1412:    for (; __first != __last; ++__first)
1412:      _M_emplace_equal(*__first);
1412:  }
1412: # 1179 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:     private:
1412:       void
1412:       _M_erase_aux(const_iterator __position);
1412: 
1412:       void
1412:       _M_erase_aux(const_iterator __first, const_iterator __last);
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(const_iterator __position)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1412:  const_iterator __result = __position;
1412:  ++__result;
1412:  _M_erase_aux(__position);
1412:  return __result._M_const_cast();
1412:       }
1412: 
1412: 
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(iterator __position)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1412:  iterator __result = __position;
1412:  ++__result;
1412:  _M_erase_aux(__position);
1412:  return __result;
1412:       }
1412: # 1228 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:       size_type
1412:       erase(const key_type& __x);
1412: 
1412: 
1412: 
1412: 
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(const_iterator __first, const_iterator __last)
1412:       {
1412:  _M_erase_aux(__first, __last)onst _Tp __y_mp1m_factor = __x * std::sqrt(_Tp(2 * __m + 3));
609: 
609:           const _Tp __lncirc = ::std::log1p(-__x * __x);
609: 
609: 
609: 
609: 
609: 
609:           const _Tp __lnpoch = ::std::lgamma(_Tp(__m + _Tp(0.5L)))
609:                              - ::std::lgamma(_Tp(__m));
609: 
609: 
609: 
609: 
609:           const _Tp __lnpre_val =
609:                     -_Tp(0.25L) * __numeric_constants<_Tp>::__lnpi()
609:                     + _Tp(0.5L) * (__lnpoch + __m * __lncirc);
609:           const _Tp __sr = std::sqrt((_Tp(2) + _Tp(1) / __m)
609:                          / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
609:           _Tp __y_mm = __sgn * __sr * std::exp(__lnpre_val);
609:           _Tp __y_mp1m = __y_mp1m_factor * __y_mm;
609: 
609:           if (__l == __m)
609:             return __y_mm;
609:           else if (__l == __m + 1)
609:             return __y_mp1m;
609:           else
609:             {
609:               _Tp __y_lm = _Tp(0);
609: 
609: 
609:               for (unsigned int __ll = __m + 2; __ll <= __l; ++__ll)
609:                 {
609:                   const _Tp __rat1 = _Tp(__ll - __m) / _Tp(__ll + __m);
609:                   const _Tp __rat2 = _Tp(__ll - __m - 1) / _Tp(__ll + __m - 1);
609:                   const _Tp __fact1 = std::sqrt(__rat1 * _Tp(2 * __ll + 1)
609:                                                        * _Tp(2 * __ll - 1));
609:                   const _Tp __fact2 = std::sqrt(__rat1 * __rat2 * _Tp(2 * __ll + 1)
609:                                                                 / _Tp(2 * __ll - 3));
609:                   __y_lm = (__x * __y_mp1m * __fact1
609:                          - (__ll + __m - 1) * __y_mm * __fact2) / _Tp(__ll - __m);
609:                   __y_mm = __y_mp1m;
609:                   __y_mp1m = __y_lm;
609:                 }
609: 
609:               return __y_lm;
609:             }
609:         }
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 56 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 1 3
609: # 51 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 65 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
609:   namespace __detail
609:   {
609: # 83 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
609:     template <typename _Tp>
609:     void
609:     __bessel_ik(_Tp __nu, _Tp __x,
609:                 _Tp & __Inu, _Tp & __Knu, _Tp & __Ipnu, _Tp & __Kpnu)
609:     {
609:       if (__x == _Tp(0))
609:         {
609:           if (__nu == _Tp(0))
609:             {
609:               __Inu = _Tp(1);
609:               __Ipnu = _Tp(0);
609:             }
609:           else if (__nu == _Tp(1))
609:             {
609:               __Inu = _Tp(0);
609:               __Ipnu = _Tp(0.5L);
609:             }
609:           else
609:             {
609:               __Inu = _Tp(0);
609:               __Ipnu = _Tp(0);
609:             }
609:           __Knu = std::numeric_limits<_Tp>::infinity();
609:           __Kpnu = -std::numeric_limits<_Tp>::infinity();
609:           return;
609:         }
609: 
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609:       const _Tp __fp_min = _Tp(10) * std::numeric_limits<_Tp>::epsilon();
609:       const int __max_iter = 15000;
609:       const _Tp __x_min = _Tp(2);
609: 
609:       const int __nl = static_cast<int>(__nu + _Tp(0.5L));
609: 
609:       const _Tp __mu = __nu - __nl;
609:       const _Tp __mu2 = __mu * __mu;
609:       const _Tp __xi = _Tp(1) / __x;
609:       const _Tp __xi2 = _Tp(2) * __xi;
609:       _Tp __h = __nu * __xi;
609:       if ( __h < __fp_min )
609:         __h = __fp_min;
609:       _Tp __b = __xi2 * __nu;
609:       _Tp __d = _Tp(0);
609:       _Tp __c = __h;
609:       int __i;
609:       for ( __i = 1; __i <= __max_iter; ++__i )
609:         {
609:           __b += __xi2;
609:           __d = _Tp(1) / (__b + __d);
609:           __c = __b + _Tp(1) / __c;
609:           const _T17:  __newlast1(_II1, _II1 __last1, _II2, _II2)
1417:  { return __last1; }
1417: 
1417:       template<typename _II>
1417: 
1417:  static bool
1417:  __cnd2(_II __first, _II __last)
1417:  { return __first != __last; }
1417:     };
1417: 
1417:   template<>
1417:     struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
1417:     {
1417:       template<typename _RAI1, typename _RAI2>
1417: 
1417:  static _RAI1
1417:  __newlast1(_RAI1 __first1, _RAI1 __last1,
1417:      _RAI2 __first2, _RAI2 __last2)
1417:  {
1417:    const typename iterator_traits<_RAI1>::difference_type
1417:      __diff1 = __last1 - __first1;
1417:    const typename iterator_traits<_RAI2>::difference_type
1417:      __diff2 = __last2 - __first2;
1417:    return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
1417:  }
1417: 
1417:       template<typename _RAI>
1417:  static bool
1417:  __cnd2(_RAI, _RAI)
1417:  { return true; }
1417:     };
1417: 
1417:   template<typename _II1, typename _II2, typename _Compare>
1417:    
1417:     bool
1417:     __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
1417:        _II2 __first2, _II2 __last2,
1417:        _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_II1>::iterator_category _Category1;
1417:       typedef typename iterator_traits<_II2>::iterator_category _Category2;
1417:       typedef std::__lc_rai<_Category1, _Category2> __rai_type;
1417: 
1417:       __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
1417:       for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
1417:     ++__first1, (void)++__first2)
1417:  {
1417:    if (__comp(__first1, __first2))
1417:      return true;
1417:    if (__comp(__first2, __first1))
1417:      return false;
1417:  }
1417:       return __first1 == __last1 && __first2 != __last2;
1417:     }
1417: 
1417:   template<bool _BoolType>
1417:     struct __lexicographical_compare
1417:     {
1417:       template<typename _II1, typename _II2>
1417: 
1417:  static bool
1417:  __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1417:  {
1417:    using __gnu_cxx::__ops::__iter_less_iter;
1417:    return std::__lexicographical_compare_impl(__first1, __last1,
1417:            __first2, __last2,
1417:            __iter_less_iter());
1417:  }
1417: 
1417:       template<typename _II1, typename _II2>
1417: 
1417:  static int
1417:  __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1417:  {
1417:    while (__first1 != __last1)
1417:      {
1417:        if (__first2 == __last2)
1417:   return +1;
1417:        if (*__first1 < *__first2)
1417:   return -1;
1417:        if (*__first2 < *__first1)
1417:   return +1;
1417:        ++__first1;
1417:        ++__first2;
1417:      }
1417:    return int(__first2 == __last2) - 1;
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct __lexicographical_compare<true>
1417:     {
1417:       template<typename _Tp, typename _Up>
1417: 
1417:  static bool
1417:  __lc(const _Tp* __first1, const _Tp* __last1,
1417:       const _Up* __first2, const _Up* __last2)
1417:  { return __3way(__first1, __last1, __first2, __last2) < 0; }
1417: 
1417:       template<typename _Tp, typename _Up>
1417: 
1417:  static ptrdiff_t
1417:  __3way(const _Tp* __first1, const _Tp* __last1,
1417:         const _Up* __first2, const _Up* __last2)
1417:  {
1417:    const size_t __len1 = __last1 - __first1;
1417:    const size_t __len2 = __last2 - __first2;
1417:    if (const size_t __len = std::min(__len1, __len2))
1417:      if (int __result = std::__memcmp(__first1, __first2, __len))
1417:        return __result;
1417:    return ptrdiff_t(__len1 - __len2);
1417:  }
1417:     };
1417: 
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
1417:        _II2 __first2, _II2 __last2)
1417:     {
1417:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1417:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
1417:       const bool __simple =
1417:  (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
1417:   && __is_pointer<_II1>::__value
1417:   && __is_pointer<_II2>::__value
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   );
1417: 
1417:       return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
1417:            __first2, __last2);
1417:     }
1417: 
1417:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1417:     typename _Tp2>
1417:     bool
1417:     __lexicographical_compare_aux1(
1417:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1417:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1417:  _Tp2*, _Tp2*);
1417: 
1417:   template<typename _Tp1,
1417:     typename _Tp2, typename _Ref2, typename _Ptr2>
1417:     bool
1417:     __lexicographical_compare_aux1(_Tp1*, _Tp1*,
1417:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1417:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1417: 
1417:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1417:     typename _Tp2, typename _Ref2, typename _Ptr2>
1417:     bool
1417:     __lexicographical_compare_aux1(
1417:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1417:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1417:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1417:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1417: 
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
1417:       _II2 __first2, _II2 __last2)
1417:     {
1417:       return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
1417:        std::__niter_base(__last1),
1417:        std::__niter_base(__first2),
1417:        std::__niter_base(__last2));
1417:     }
1417: 
1417:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1417:     typename _II2>
1417:     bool
1417:     __lexicographical_compare_aux(
1417:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1417:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1417:   _II2, _II2);
1417: 
1417:   template<typename _II1,
1417:     typename _Iter2, typename _Seq2, typename _Cat2>
1417:     bool
1417:     __lexicographical_compare_aux(
1417:   _II1, _II1,
1417:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1417:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1417: 
1417:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1417:     typename _Iter2, typename _Seq2, typename _Cat2>
1417:     bool
1417:     __lexicographical_compare_aux(
1417:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1417:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1417:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1417:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1417: 
1417:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1417:    
1417:     _ForwardIterator
1417:     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1417:     const _Tp& __val, _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1417:  _DistanceType;
1417: 
1417:       _DistanceType __len = std::distance(__first, __last);
1417: 
1417:       while (__len > 0)
1417:  {
1417:    _DistanceType __half = __len >> 1;
1417:    _ForwardIterator __middle = __first;
1417:    std::advance(__middle, __half);
1417:    if (__comp(__middle, __val))
1417:      {
1417:        __first = __middle;
1417:        ++__first;
1417:        __len = __len - __half - 1;
1417:      }
1417:    else
1417:      __len = __half;
1417:  }
1417:       return __first;
1417:     }
1417: # 1486 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline _ForwardIterator
1417:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1417:   const _Tp& __val)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__lower_bound(__first, __last, __val,
1417:     __gnu_cxx::__ops::__iter_less_val());
1417:    ;
1412:  return __last._M_const_cast();
1412:       }
1412: # 1251 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:       void
1412:       clear() noexcept
1412:       {
1412:  _M_erase(_M_begin());
1412:  _M_impl._M_reset();
1412:       }
1412: 
1412: 
1412:       iterator
1412:       find(const key_type& __k);
1412: 
1412:       const_iterator
1412:       find(const key_type& __k) const;
1412: 
1412:       size_type
1412:       count(const key_type& __k) const;
1412: 
1412:       iterator
1412:       lower_bound(const key_type& __k)
1412:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1412: 
1412:       const_iterator
1412:       lower_bound(const key_type& __k) const
1412:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1412: 
1412:       iterator
1412:       upper_bound(const key_type& __k)
1412:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1412: 
1412:       const_iterator
1412:       upper_bound(const key_type& __k) const
1412:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1412: 
1412:       pair<iterator, iterator>
1412:       equal_range(const key_type& __k);
1412: 
1412:       pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __k) const;
1412: 
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  iterator
1412:  _M_find_tr(const _Kt& __k)
1412:  {
1412:    const _Rb_tree* __const_this = this;
1412:    return __const_this->_M_find_tr(__k)._M_const_cast();
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  const_iterator
1412:  _M_find_tr(const _Kt& __k) const
1412:  {
1412:    auto __j = _M_lower_bound_tr(__k);
1412:    if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node)))
1412:      __j = end();
1412:    return __j;
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  size_type
1412:  _M_count_tr(const _Kt& __k) const
1412:  {
1412:    auto __p = _M_equal_range_tr(__k);
1412:    return std::distance(__p.first, __p.second);
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  iterator
1412:  _M_lower_bound_tr(const _Kt& __k)
1412:  {
1412:    const _Rb_tree* __const_this = this;
1412:    return __const_this->_M_lower_bound_tr(__k)._M_const_cast();
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  const_iterator
1412:  _M_lower_bound_tr(const _Kt& __k) const
1412:  {
1412:    auto __x = _M_begin();
1412:    auto __y = _M_end();
1412:    while (__x != 0)
1412:      if (!_M_impl._M_key_compare(_S_key(__x), __k))
1412:        {
1412:   __y = __x;
1412:   __x = _S_left(__x);
1412:        }
1412:      else
1412:        __x = _S_right(__x);
1412:    return const_iterator(__y);
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  iterator
1412:  _M_upper_bound_tr(const _Kt& __k)
1412:  {
1412:    const _Rb_tree* __const_this = this;
1412:    return __const_this->_M_upper_bound_tr(__k)._M_const_cast();
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  const_iterator
1412:  _M_upper_bound_tr(const _Kt& __k) const
1412:  {
1412:    auto __x = _M_begin();
1412:    auto __y = _M_end();
1412:    while (__x != 0)
1412:      if (_M_impl._M_key_compare(__k, _S_key(__x)))
1412:        {
1412:   __y = __x;
1412:   __x = _S_left(__x);
1412:        }
1412:      else
1412:        __x = _S_right(__x);
1412:    return const_iterator(__y);
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  pair<iterator, iterator>
1412:  _M_equal_range_tr(const _Kt& __k)
1412:  {
1412:    const _Rb_tree* __const_this = this;
1412:    auto __ret = __const_this->_M_equal_range_tr(__p __del = __c * __d;
609:           __h *= __del;
609:           if (std::abs(__del - _Tp(1)) < __eps)
609:             break;
609:         }
609:       if (__i > __max_iter)
609:         std::__throw_runtime_error(("Argument x too large " "in __bessel_ik; " "try asymptotic expansion.")
609: 
609:                                                                    );
609:       _Tp __Inul = __fp_min;
609:       _Tp __Ipnul = __h * __Inul;
609:       _Tp __Inul1 = __Inul;
609:       _Tp __Ipnu1 = __Ipnul;
609:       _Tp __fact = __nu * __xi;
609:       for (int __l = __nl; __l >= 1; --__l)
609:         {
609:           const _Tp __Inutemp = __fact * __Inul + __Ipnul;
609:           __fact -= __xi;
609:           __Ipnul = __fact * __Inutemp + __Inul;
609:           __Inul = __Inutemp;
609:         }
609:       _Tp __f = __Ipnul / __Inul;
609:       _Tp __Kmu, __Knu1;
609:       if (__x < __x_min)
609:         {
609:           const _Tp __x2 = __x / _Tp(2);
609:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
609:           const _Tp __fact = (std::abs(__pimu) < __eps
609:                             ? _Tp(1) : __pimu / std::sin(__pimu));
609:           _Tp __d = -std::log(__x2);
609:           _Tp __e = __mu * __d;
609:           const _Tp __fact2 = (std::abs(__e) < __eps
609:                             ? _Tp(1) : std::sinh(__e) / __e);
609:           _Tp __gam1, __gam2, __gampl, __gammi;
609:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
609:           _Tp __ff = __fact
609:                    * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
609:           _Tp __sum = __ff;
609:           __e = std::exp(__e);
609:           _Tp __p = __e / (_Tp(2) * __gampl);
609:           _Tp __q = _Tp(1) / (_Tp(2) * __e * __gammi);
609:           _Tp __c = _Tp(1);
609:           __d = __x2 * __x2;
609:           _Tp __sum1 = __p;
609:           int __i;
609:           for (__i = 1; __i <= __max_iter; ++__i)
609:             {
609:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
609:               __c *= __d / __i;
609:               __p /= __i - __mu;
609:               __q /= __i + __mu;
609:               const _Tp __del = __c * __ff;
609:               __sum += __del;
609:               const _Tp __del1 = __c * (__p - __i * __ff);
609:               __sum1 += __del1;
609:               if (std::abs(__del) < __eps * std::abs(__sum))
609:                 break;
609:             }
609:           if (__i > __max_iter)
609:             std::__throw_runtime_error(("Bessel k series failed to converge " "in __bessel_ik.")
609:                                                              );
609:           __Kmu = __sum;
609:           __Knu1 = __sum1 * __xi2;
609:         }
609:       else
609:         {
609:           _Tp __b = _Tp(2) * (_Tp(1) + __x);
609:           _Tp __d = _Tp(1) / __b;
609:           _Tp __delh = __d;
609:           _Tp __h = __delh;
609:           _Tp __q1 = _Tp(0);
609:           _Tp __q2 = _Tp(1);
609:           _Tp __a1 = _Tp(0.25L) - __mu2;
609:           _Tp __q = __c = __a1;
609:           _Tp __a = -__a1;
609:           _Tp __s = _Tp(1) + __q * __delh;
609:           int __i;
609:           for (__i = 2; __i <= __max_iter; ++__i)
609:             {
609:               __a -= 2 * (__i - 1);
609:               __c = -__a * __c / __i;
609:               const _Tp __qnew = (__q1 - __b * __q2) / __a;
609:               __q1 = __q2;
609:               __q2 = __qnew;
609:               __q += __c * __qnew;
609:               __b += _Tp(2);
609:               __d = _Tp(1) / (__b + __a * __d);
609:               __delh = (__b * __d - _Tp(1)) * __delh;
609:               __h += __delh;
609:               const _Tp __dels = __q * __delh;
609:               __s += __dels;
609:               if ( std::abs(__dels / __s) < __eps )
609:                 break;
609:             }
609:           if (__i > __max_iter)
609:             std::__throw_runtime_error(("Steed's method failed " "in __bessel_ik.")
609:                                                         }
1417: 
1417: 
1417: 
1417:   inline constexpr int
1417:   __lg(int __n)
1417:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1417: 
1417:   inline constexpr unsigned
1417:   __lg(unsigned __n)
1417:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1417: 
1417:   inline constexpr long
1417:   __lg(long __n)
1417:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1417: 
1417:   inline constexpr unsigned long
1417:   __lg(unsigned long __n)
1417:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1417: 
1417:   inline constexpr long long
1417:   __lg(long long __n)
1417:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1417: 
1417:   inline constexpr unsigned long long
1417:   __lg(unsigned long long __n)
1417:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1417: 
1417: 
1417: # 1542 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     equal(_II1 __first1, _II1 __last1, _II2 __first2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       return std::__equal_aux(__first1, __last1, __first2);
1417:     }
1417: # 1573 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1417:    
1417:     inline bool
1417:     equal(_IIter1 __first1, _IIter1 __last1,
1417:    _IIter2 __first2, _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417:      
1417:       ;
1417: 
1417:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1417:  if (!bool(__binary_pred(*__first1, *__first2)))
1417:    return false;
1417:       return true;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1417:     {
1417:       using _RATag = random_access_iterator_tag;
1417:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1417:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1417:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1417:       if (_RAIters())
1417:  {
1417:    auto __d1 = std::distance(__first1, __last1);
1417:    auto __d2 = std::distance(__first2, __last2);
1417:    if (__d1 != __d2)
1417:      return false;
1417:    return std::equal(__first1, __last1, __first2);
1417:  }
1417: 
1417:       for (; __first1 != __last1 && __first2 != __last2;
1417:    ++__first1, (void)++__first2)
1417:  if (!(*__first1 == *__first2))
1417:    return false;
1417:       return __first1 == __last1 && __first2 == __last2;
1417:     }
1417: 
1417: 
1417:   template<typename _II1, typename _II2, typename _BinaryPredicate>
1417:    
1417:     inline bool
1417:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
1417:       _BinaryPredicate __binary_pred)
1417:     {
1417:       using _RATag = random_access_iterator_tag;
1417:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1417:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1417:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1417:       if (_RAIters())
1417:  {
1417:    auto __d1 = std::distance(__first1, __last1);
1417:    auto __d2 = std::distance(__first2, __last2);
1417:    if (__d1 != __d2)
1417:      return false;
1417:    return std::equal(__first1, __last1, __first2,
1417:            __binary_pred);
1417:  }
1417: 
1417:       for (; __first1 != __last1 && __first2 != __last2;
1417:    ++__first1, (void)++__first2)
1417:  if (!bool(__binary_pred(*__first1, *__first2)))
1417:    return false;
1417:       return __first1 == __last1 && __first2 == __last2;
1417:     }
1417: # 1663 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__equal4(__first1, __last1, __first2, __last2);
1417:     }
1417: # 1696 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1417:    
1417:     inline bool
1417:     equal(_IIter1 __first1, _IIter1 __last1,
1417:    _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417:      
1417:       ;
1417:       ;
1417: 
1417:       return std::__equal4(__first1, __last1, __first2, __last2,
1417:           __binary_pred);
1417:     }
1417: # 1728 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _II1, typename _II2>
1417:    
1417:     inline bool
1417:     lexicographical_compare(_II1 __first1, _II1 __last1,
1417:        _II2 __first2, _II2 __last2)
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:      
1417:      
1417:      
1417:       ;
1417:       ;
1417: 
1417:       return std::__lexicographical_compare_aux(__first1, __last1,
1417:       __first2, __last2);
1417:     }
1417: # 1763 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _II1, typename _II2, typename _Compare>
1417:    
1417:     inline bool
1417:     lexicographical_compare(_II1 __first1, _II1 __last1,
1417:        _II2 __first2, _II2 __last2, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417:       ;
1417:       ;
1417: 
1417:       return std::__lexicographical_compare_impl
1417:  (__first1, __last1, __first2, __last2,
1417:   __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: # 1875 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     pair<_InputIterator1, _InputIterator2>
1417:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1417:         _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1417:     {
1417:       while (__first1 != __last1 && __binary_pred(__first1, __first2))
1417:  {
1417:    ++__first1;
1417:    ++__first2;
1417:  }
1417:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1417:     }
1417: # 1903 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2>
1417:    
1417:     inline pair<_InputIterator1, _InputIterator2>
1417:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1417:       _InputIterator2 __first2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       return std::__mismatch(__first1, __last1, __first2,
1417:         __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: # 1937 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline pair<_InputIterator1, _InputIterator2>
1417:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1417:       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417:      
1417:       ;
1417: 
1417:       return std::__mismatch(__first1, __last1, __first2,
1417:  __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     pair<_InputIterator1, _InputIterator2>
1417:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1417:         _InputIterator2 __first2, _InputIterator2 __last2,
1417:         _BinaryPredicate __binary_pred)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2
1417:       && __binary_pred(__first1, __first2))
1417:  {
1417:    ++__first1;
1417:    ++__first2;
1417:  }
1417:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1417:     }
1417: # 1986 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _InputIteratk);
1412:    return { __ret.first._M_const_cast(), __ret.second._M_const_cast() };
1412:  }
1412: 
1412:       template<typename _Kt,
1412:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1412:  pair<const_iterator, const_iterator>
1412:  _M_equal_range_tr(const _Kt& __k) const
1412:  {
1412:    auto __low = _M_lower_bound_tr(__k);
1412:    auto __high = __low;
1412:    auto& __cmp = _M_impl._M_key_compare;
1412:    while (__high != end() && !__cmp(__k, _S_key(__high._M_node)))
1412:      ++__high;
1412:    return { __low, __high };
1412:  }
1412: 
1412: 
1412: 
1412:       bool
1412:       __rb_verify() const;
1412: 
1412: 
1412:       _Rb_tree&
1412:       operator=(_Rb_tree&&)
1412:       noexcept(_Alloc_traits::_S_nothrow_move()
1412:         && is_nothrow_move_assignable<_Compare>::value);
1412: 
1412:       template<typename _Iterator>
1412:  void
1412:  _M_assign_unique(_Iterator, _Iterator);
1412: 
1412:       template<typename _Iterator>
1412:  void
1412:  _M_assign_equal(_Iterator, _Iterator);
1412: 
1412:     private:
1412: 
1412:       void
1412:       _M_move_data(_Rb_tree& __x, true_type)
1412:       { _M_impl._M_move_data(__x._M_impl); }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_move_data(_Rb_tree&, false_type);
1412: 
1412: 
1412:       void
1412:       _M_move_assign(_Rb_tree&, true_type);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_move_assign(_Rb_tree&, false_type);
1412: 
1412: 
1412: 
1412:     public:
1412: 
1412:       insert_return_type
1412:       _M_reinsert_node_unique(node_type&& __nh)
1412:       {
1412:  insert_return_type __ret;
1412:  if (__nh.empty())
1412:    __ret.position = end();
1412:  else
1412:    {
1412:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1412: 
1412:      auto __res = _M_get_insert_unique_pos(__nh._M_key());
1412:      if (__res.second)
1412:        {
1412:   __ret.position
1412:     = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1412:   __nh._M_ptr = nullptr;
1412:   __ret.inserted = true;
1412:        }
1412:      else
1412:        {
1412:   __ret.node = std::move(__nh);
1412:   __ret.position = iterator(__res.first);
1412:   __ret.inserted = false;
1412:        }
1412:    }
1412:  return __ret;
1412:       }
1412: 
1412: 
1412:       iterator
1412:       _M_reinsert_node_equal(node_type&& __nh)
1412:       {
1412:  iterator __ret;
1412:  if (__nh.empty())
1412:    __ret = end();
1412:  else
1412:    {
1412:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1412:      auto __res = _M_get_insert_equal_pos(__nh._M_key());
1412:      if (__res.second)
1412:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1412:      else
1412:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1412:      __nh._M_ptr = nullptr;
1412:    }
1412:  return __ret;
1412:       }
1412: 
1412: 
1412:       iterator
1412:       _M_reinsert_node_hint_unique(const_iterator __hint, node_type&& __nh)
1412:       {
1412:  iterator __ret;
1412:  if (__nh.empty())
1412:    __ret = end();
1412:  else
1412:    {
1412:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1412:      auto __res = _M_get_insert_hint_unique_pos(__hint, __nh._M_key());
1412:      if (__res.second)
1412:        {
1412:   __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1412:   __nh._M_ptr = nullptr;
1412:        }
1412:      else
1412:        __ret = iterator(__res.first);
1412:    }
1412:  return __ret;
1412:       }
1412: 
1412: 
1412:       iterator
1412:       _M_reinsert_node_hint_equal(const_iterator __hint, node_type&& __nh)
1412:       {
1412:  iterator __ret;
1412:  if (__nh.empty())
1412:    __ret = end();
1412:  else
1412:    {
1412:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (faor1, typename _InputIterator2>
1417:    
1417:     inline pair<_InputIterator1, _InputIterator2>
1417:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1417:       _InputIterator2 __first2, _InputIterator2 __last2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__mismatch(__first1, __last1, __first2, __last2,
1417:         __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: # 2022 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline pair<_InputIterator1, _InputIterator2>
1417:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1417:       _InputIterator2 __first2, _InputIterator2 __last2,
1417:       _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417:      
1417:       ;
1417:       ;
1417: 
1417:       return std::__mismatch(__first1, __last1, __first2, __last2,
1417:         __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline _InputIterator
1417:     __find_if(_InputIterator __first, _InputIterator __last,
1417:        _Predicate __pred, input_iterator_tag)
1417:     {
1417:       while (__first != __last && !__pred(__first))
1417:  ++__first;
1417:       return __first;
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Predicate>
1417:    
1417:     _RandomAccessIterator
1417:     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:        _Predicate __pred, random_access_iterator_tag)
1417:     {
1417:       typename iterator_traits<_RandomAccessIterator>::difference_type
1417:  __trip_count = (__last - __first) >> 2;
1417: 
1417:       for (; __trip_count > 0; --__trip_count)
1417:  {
1417:    if (__pred(__first))
1417:      return __first;
1417:    ++__first;
1417: 
1417:    if (__pred(__first))
1417:      return __first;
1417:    ++__first;
1417: 
1417:    if (__pred(__first))
1417:      return __first;
1417:    ++__first;
1417: 
1417:    if (__pred(__first))
1417:      return __first;
1417:    ++__first;
1417:  }
1417: 
1417:       switch (__last - __first)
1417:  {
1417:  case 3:
1417:    if (__pred(__first))
1417:      return __first;
1417:    ++__first;
1417: 
1417:  case 2:
1417:    if (__pred(__first))
1417:      return __first;
1417:    ++__first;
1417: 
1417:  case 1:
1417:    if (__pred(__first))
1417:      return __first;
1417:    ++__first;
1417: 
1417:  case 0:
1417:  default:
1417:    return __last;
1417:  }
1417:     }
1417: 
1417:   template<typename _Iterator, typename _Predicate>
1417:    
1417:     inline _Iterator
1417:     __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
1417:     {
1417:       return __find_if(__first, __last, __pred,
1417:          std::__iterator_category(__first));
1417:     }
1417: 
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     typename iterator_traits<_InputIterator>::difference_type
1417:     __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1417:     {
1417:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1417:       for (; __first != __last; ++__first)
1417:  if (__pred(__first))
1417:    ++__n;
1417:       return __n;
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Predicate>
1417:    
1417:     _ForwardIterator
1417:     __remove_if(_ForwardIterator __first, _ForwardIterator __last,
1417:   _Predicate __pred)
1417:     {
1417:       __first = std::__find_if(__first, __last, __pred);
1417:       if (__first == __last)
1417:  return __first;
1417:       _ForwardIterator __result = __first;
1417:       ++__first;
1417:       for (; __first != __last; ++__first)
1417:  if (!__pred(__first))
1417:    {
1417:      *__result = std::move(*__first);
1417:      ++__result;
1417:    }
1417:       return      );
609:           __h = __a1 * __h;
609:           __Kmu = std::sqrt(__numeric_constants<_Tp>::__pi() / (_Tp(2) * __x))
609:                 * std::exp(-__x) / __s;
609:           __Knu1 = __Kmu * (__mu + __x + _Tp(0.5L) - __h) * __xi;
609:         }
609: 
609:       _Tp __Kpmu = __mu * __xi * __Kmu - __Knu1;
609:       _Tp __Inumu = __xi / (__f * __Kmu - __Kpmu);
609:       __Inu = __Inumu * __Inul1 / __Inul;
609:       __Ipnu = __Inumu * __Ipnu1 / __Inul;
609:       for ( __i = 1; __i <= __nl; ++__i )
609:         {
609:           const _Tp __Knutemp = (__mu + __i) * __xi2 * __Knu1 + __Kmu;
609:           __Kmu = __Knu1;
609:           __Knu1 = __Knutemp;
609:         }
609:       __Knu = __Kmu;
609:       __Kpnu = __nu * __xi * __Kmu - __Knu1;
609: 
609:       return;
609:     }
609: # 267 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __cyl_bessel_i(_Tp __nu, _Tp __x)
609:     {
609:       if (__nu < _Tp(0) || __x < _Tp(0))
609:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_i.")
609:                                                            );
609:       else if (__isnan(__nu) || __isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
609:         return __cyl_bessel_ij_series(__nu, __x, +_Tp(1), 200);
609:       else
609:         {
609:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
609:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
609:           return __I_nu;
609:         }
609:     }
609: # 303 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __cyl_bessel_k(_Tp __nu, _Tp __x)
609:     {
609:       if (__nu < _Tp(0) || __x < _Tp(0))
609:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_k.")
609:                                                            );
609:       else if (__isnan(__nu) || __isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else
609:         {
609:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
609:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
609:           return __K_nu;
609:         }
609:     }
609: # 337 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
609:     template <typename _Tp>
609:     void
609:     __sph_bessel_ik(unsigned int __n, _Tp __x,
609:                     _Tp & __i_n, _Tp & __k_n, _Tp & __ip_n, _Tp & __kp_n)
609:     {
609:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
609: 
609:       _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
609:       __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
609: 
609:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
609:                          / std::sqrt(__x);
609: 
609:       __i_n = __factor * __I_nu;
609:       __k_n = __factor * __K_nu;
609:       __ip_n = __factor * __Ip_nu - __i_n / (_Tp(2) * __x);
609:       __kp_n = __factor * __Kp_nu - __k_n / (_Tp(2) * __x);
609: 
609:       return;
609:     }
609: # 373 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
609:     template <typename _Tp>
609:     void
609:     __airy(_Tp __x, _Tp & __Ai, _Tp & __Bi, _Tp & __Aip, _Tp & __Bip)
609:     {
609:       const _Tp __absx = std::abs(__x);
609:       const _Tp __rootx = std::sqrt(__absx);
609:       const _Tp __z = _Tp(2) * __absx * __rootx / _Tp(3);
609:       const _Tp _S_inf = std::numeric_limits<_Tp>::infinity();
609: 
609:       if (__isnan(__x))
609:         __Bip = __Aip = __Bi = __Ai = std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__z == _S_inf)
609:         {
609:    __Aip = __Ai = _Tp(0);
609:    __Bip = __Bi = _S_inf;
609:  }
609:       else if (__z == -_S_inf)
609:  __Bip = __Aip = __Bi = __Ai = _Tp(0);
609:       else if (__x > _Tp(0))
609:         {
609:           _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
609: 
609:           __bessel_ik(_Tp(1) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
609:           __Ai = __rootx * __K_nu
609:                / (__numeric_constants<_ __result;
1417:     }
1417: 
1417: 
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     bool
1417:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:        _ForwardIterator2 __first2, _BinaryPredicate __pred)
1417:     {
1417: 
1417: 
1417:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1417:  if (!__pred(__first1, __first2))
1417:    break;
1417: 
1417:       if (__first1 == __last1)
1417:  return true;
1417: 
1417: 
1417: 
1417:       _ForwardIterator2 __last2 = __first2;
1417:       std::advance(__last2, std::distance(__first1, __last1));
1417:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1417:  {
1417:    if (__scan != std::__find_if(__first1, __scan,
1417:      __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1417:      continue;
1417: 
1417:    auto __matches
1417:      = std::__count_if(__first2, __last2,
1417:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1417:    if (0 == __matches ||
1417:        std::__count_if(__scan, __last1,
1417:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1417:        != __matches)
1417:      return false;
1417:  }
1417:       return true;
1417:     }
1417: # 2199 "/usr/include/c++/12/bits/stl_algobase.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1417:    
1417:     inline bool
1417:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:      _ForwardIterator2 __first2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       return std::__is_permutation(__first1, __last1, __first2,
1417:        __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/algorithm" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_algo.h" 1 3
1417: # 59 "/usr/include/c++/12/bits/stl_algo.h" 3
1417: # 1 "/usr/include/c++/12/bits/algorithmfwd.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/initializer_list" 1 3
1417: # 33 "/usr/include/c++/12/initializer_list" 3
1417:        
1417: # 34 "/usr/include/c++/12/initializer_list" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417: 
1417: namespace std
1417: {
1417: 
1417:   template<class _E>
1417:     class initializer_list
1417:     {
1417:     public:
1417:       typedef _E value_type;
1417:       typedef const _E& reference;
1417:       typedef const _E& const_reference;
1417:       typedef size_t size_type;
1417:       typedef const _E* iterator;
1417:       typedef const _E* const_iterator;
1417: 
1417:     private:
1417:       iterator _M_array;
1417:       size_type _M_len;
1417: 
1417: 
1417:       constexpr initializer_list(const_iterator __a, size_type __l)
1417:       : _M_array(__a), _M_len(__l) { }
1417: 
1417:     public:
1417:       constexpr initializer_list() noexcept
1417:       : _M_array(0), _M_len(0) { }
1417: 
1417: 
1417:       constexpr size_type
1417:       size() const noexcept { return _M_len; }
1417: 
1417: 
1417:       constexpr const_iterator
1417:       begin() const noexcept { return _M_array; }
1417: 
1417: 
1417:       constexpr const_iterator
1417:       end() const noexcept { return begin() + size(); }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<class _Tp>
1417:     constexpr const _Tp*
1417:     begin(initializer_list<_Tp> __ils) noexcept
1417:     { return __ils.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<class _Tp>
1417:     constexpr const _Tp*
1417:     end(initializer_list<_Tp> __ils) noexcept
1417:     { return __ils.end(); }
1417: }
1417: 
1417: #pragma GCC visibility pop
1417: # 40 "/usr/include/c++/12/bits/algorithmfwd.h" 2 3
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: lse);
1412:      auto __res = _M_get_insert_hint_equal_pos(__hint, __nh._M_key());
1412:      if (__res.second)
1412:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1412:      else
1412:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1412:      __nh._M_ptr = nullptr;
1412:    }
1412:  return __ret;
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  auto __ptr = _Rb_tree_rebalance_for_erase(
1412:      __pos._M_const_cast()._M_node, _M_impl._M_header);
1412:  --_M_impl._M_node_count;
1412:  return { static_cast<_Link_type>(__ptr), _M_get_Node_allocator() };
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const key_type& __k)
1412:       {
1412:  node_type __nh;
1412:  auto __pos = find(__k);
1412:  if (__pos != end())
1412:    __nh = extract(const_iterator(__pos));
1412:  return __nh;
1412:       }
1412: 
1412:       template<typename _Compare2>
1412:  using _Compatible_tree
1412:    = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>;
1412: 
1412:       template<typename, typename>
1412:  friend class _Rb_tree_merge_helper;
1412: 
1412: 
1412:       template<typename _Compare2>
1412:  void
1412:  _M_merge_unique(_Compatible_tree<_Compare2>& __src) noexcept
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1412:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1412:      {
1412:        auto __pos = __i++;
1412:        auto __res = _M_get_insert_unique_pos(_KeyOfValue()(*__pos));
1412:        if (__res.second)
1412:   {
1412:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1412:     auto __ptr = _Rb_tree_rebalance_for_erase(
1412:         __pos._M_node, __src_impl._M_header);
1412:     --__src_impl._M_node_count;
1412:     _M_insert_node(__res.first, __res.second,
1412:      static_cast<_Link_type>(__ptr));
1412:   }
1412:      }
1412:  }
1412: 
1412: 
1412:       template<typename _Compare2>
1412:  void
1412:  _M_merge_equal(_Compatible_tree<_Compare2>& __src) noexcept
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1412:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1412:      {
1412:        auto __pos = __i++;
1412:        auto __res = _M_get_insert_equal_pos(_KeyOfValue()(*__pos));
1412:        if (__res.second)
1412:   {
1412:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1412:     auto __ptr = _Rb_tree_rebalance_for_erase(
1412:         __pos._M_node, __src_impl._M_header);
1412:     --__src_impl._M_node_count;
1412:     _M_insert_node(__res.first, __res.second,
1412:      static_cast<_Link_type>(__ptr));
1412:   }
1412:      }
1412:  }
1412: 
1412: 
1412:       friend bool
1412:       operator==(const _Rb_tree& __x, const _Rb_tree& __y)
1412:       {
1412:  return __x.size() == __y.size()
1412:    && std::equal(__x.begin(), __x.end(), __y.begin());
1412:       }
1412: # 1620 "/usr/include/c++/12/bits/stl_tree.h" 3
1412:       friend bool
1412:       operator<(const _Rb_tree& __x, const _Rb_tree& __y)
1412:       {
1412:  return std::lexicographical_compare(__x.begin(), __x.end(),
1412:          __y.begin(), __y.end());
1412:       }
1412: 
1412: 
1412:     private:
1412: 
1412: 
1412:       struct _Auto_node
1412:       {
1412:  template<typename... _Args>
1412:    _Auto_node(_Rb_tree& __t, _Args&&... __args)
1412:    : _M_t(__t),
1412:      _M_node(__t._M_create_node(std::forward<_Args>(__args)...))
1412:    { }
1412: 
1412:  ~_Auto_node()
1412:  {
1412:    if (_M_node)
1412:      _M_t._M_drop_node(_M_node);
1412:  }
1412: 
1412:  _Auto_node(_Auto_node&& __n)
1412:  : _M_t(__n._M_t), _M_node(__n._M_node)
1412:  { __n._M_node = nullptr; }
1412: 
1412:  const _Key&
1412:  _M_key() const
1412:  { return _S_key(_M_node); }
1412: 
1412:  iterator
1412:  _M_insert(pair<_Base_ptr, _Base_ptr> __p)
1412:  {
1412:    auto __it = _M_t._M_insert_node(__p.first, __p.second, _M_node);
1412:    _M_node = nullptr;
1412:    return __it;
1412:  }
1412: 
1412:  iterator
1412:  _M_i# 199 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1417:   template<typename _IIter, typename _Predicate>
1417:    
1417:     bool
1417:     all_of(_IIter, _IIter, _Predicate);
1417: 
1417:   template<typename _IIter, typename _Predicate>
1417:    
1417:     bool
1417:     any_of(_IIter, _IIter, _Predicate);
1417: 
1417: 
1417:   template<typename _FIter, typename _Tp>
1417:    
1417:     bool
1417:     binary_search(_FIter, _FIter, const _Tp&);
1417: 
1417:   template<typename _FIter, typename _Tp, typename _Compare>
1417:    
1417:     bool
1417:     binary_search(_FIter, _FIter, const _Tp&, _Compare);
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     const _Tp&
1417:     clamp(const _Tp&, const _Tp&, const _Tp&);
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     const _Tp&
1417:     clamp(const _Tp&, const _Tp&, const _Tp&, _Compare);
1417: 
1417: 
1417:   template<typename _IIter, typename _OIter>
1417:    
1417:     _OIter
1417:     copy(_IIter, _IIter, _OIter);
1417: 
1417:   template<typename _BIter1, typename _BIter2>
1417:    
1417:     _BIter2
1417:     copy_backward(_BIter1, _BIter1, _BIter2);
1417: 
1417: 
1417:   template<typename _IIter, typename _OIter, typename _Predicate>
1417:    
1417:     _OIter
1417:     copy_if(_IIter, _IIter, _OIter, _Predicate);
1417: 
1417:   template<typename _IIter, typename _Size, typename _OIter>
1417:    
1417:     _OIter
1417:     copy_n(_IIter, _Size, _OIter);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _FIter, typename _Tp>
1417:    
1417:     pair<_FIter, _FIter>
1417:     equal_range(_FIter, _FIter, const _Tp&);
1417: 
1417:   template<typename _FIter, typename _Tp, typename _Compare>
1417:    
1417:     pair<_FIter, _FIter>
1417:     equal_range(_FIter, _FIter, const _Tp&, _Compare);
1417: 
1417:   template<typename _FIter, typename _Tp>
1417:    
1417:     void
1417:     fill(_FIter, _FIter, const _Tp&);
1417: 
1417:   template<typename _OIter, typename _Size, typename _Tp>
1417:    
1417:     _OIter
1417:     fill_n(_OIter, _Size, const _Tp&);
1417: 
1417: 
1417: 
1417:   template<typename _FIter1, typename _FIter2>
1417:    
1417:     _FIter1
1417:     find_end(_FIter1, _FIter1, _FIter2, _FIter2);
1417: 
1417:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1417:    
1417:     _FIter1
1417:     find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _IIter, typename _Predicate>
1417:    
1417:     _IIter
1417:     find_if_not(_IIter, _IIter, _Predicate);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _IIter1, typename _IIter2>
1417:    
1417:     bool
1417:     includes(_IIter1, _IIter1, _IIter2, _IIter2);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _Compare>
1417:    
1417:     bool
1417:     includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1417: 
1417:   template<typename _BIter>
1417:     void
1417:     inplace_merge(_BIter, _BIter, _BIter);
1417: 
1417:   template<typename _BIter, typename _Compare>
1417:     void
1417:     inplace_merge(_BIter, _BIter, _BIter, _Compare);
1417: 
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     bool
1417:     is_heap(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     bool
1417:     is_heap(_RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     _RAIter
1417:     is_heap_until(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     _RAIter
1417:     is_heap_until(_RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _IIter, typename _Predicate>
1417:    
1417:     bool
1417:     is_partitioned(_IIter, _IIter, _Predicate);
1417: 
1417:   template<typename _FIter1, typename _FIter2>
1417:    
1417:     bool
1417:     is_permutation(_FIter1, _FIter1, _FIter2);
1417: 
1417:   template<typename _FIter1, typename _FIter2,
1417:     typename _BinaryPredicate>
1417:    
Tp>::__sqrt3()
609:                 * __numeric_constants<_Tp>::__pi());
609:           __Bi = __rootx * (__K_nu / __numeric_constants<_Tp>::__pi()
609:                  + _Tp(2) * __I_nu / __numeric_constants<_Tp>::__sqrt3());
609: 
609:           __bessel_ik(_Tp(2) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
609:           __Aip = -__x * __K_nu
609:                 / (__numeric_constants<_Tp>::__sqrt3()
609:                  * __numeric_constants<_Tp>::__pi());
609:           __Bip = __x * (__K_nu / __numeric_constants<_Tp>::__pi()
609:                       + _Tp(2) * __I_nu
609:                       / __numeric_constants<_Tp>::__sqrt3());
609:         }
609:       else if (__x < _Tp(0))
609:         {
609:           _Tp __J_nu, __Jp_nu, __N_nu, __Np_nu;
609: 
609:           __bessel_jn(_Tp(1) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
609:           __Ai = __rootx * (__J_nu
609:                     - __N_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
609:           __Bi = -__rootx * (__N_nu
609:                     + __J_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
609: 
609:           __bessel_jn(_Tp(2) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
609:           __Aip = __absx * (__N_nu / __numeric_constants<_Tp>::__sqrt3()
609:                           + __J_nu) / _Tp(2);
609:           __Bip = __absx * (__J_nu / __numeric_constants<_Tp>::__sqrt3()
609:                           - __N_nu) / _Tp(2);
609:         }
609:       else
609:         {
609: 
609: 
609: 
609:           __Ai = _Tp(0.35502805388781723926L);
609:           __Bi = __Ai * __numeric_constants<_Tp>::__sqrt3();
609: 
609: 
609: 
609: 
609:           __Aip = -_Tp(0.25881940379280679840L);
609:           __Bip = -__Aip * __numeric_constants<_Tp>::__sqrt3();
609:         }
609: 
609:       return;
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 57 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/poly_hermite.tcc" 1 3
609: # 42 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 56 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
609:   namespace __detail
609:   {
609: # 72 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __poly_hermite_recursion(unsigned int __n, _Tp __x)
609:     {
609: 
609:       _Tp __H_0 = 1;
609:       if (__n == 0)
609:         return __H_0;
609: 
609: 
609:       _Tp __H_1 = 2 * __x;
609:       if (__n == 1)
609:         return __H_1;
609: 
609: 
609:       _Tp __H_n, __H_nm1, __H_nm2;
609:       unsigned int __i;
609:       for (__H_nm2 = __H_0, __H_nm1 = __H_1, __i = 2; __i <= __n; ++__i)
609:         {
609:           __H_n = 2 * (__x * __H_nm1 - (__i - 1) * __H_nm2);
609:           __H_nm2 = __H_nm1;
609:           __H_nm1 = __H_n;
609:         }
609: 
609:       return __H_n;
609:     }
609: # 114 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __poly_hermite(unsigned int __n, _Tp __x)
609:     {
609:       if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else
609:         return __poly_hermite_recursion(__n, __x);
609:     }
609:   }
609: 
609: 
609: 
609: 
609: 
609: }
609: # 58 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 1 3
609: # 44 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 60 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609:   namespace __detail
609:   {
609: # 75 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609:     template<typename _Tpa, typename _Tp>
609:     _Tp
609:     __poly_laguerre_large_n(unsigned __n, _Tpa __alpha1, _Tp __x)
609:     {
609:       const _Tp __a = -_Tp(__n);
609:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
609:       const _Tp __eta = _Tp(2) * __b - _Tp(4) * __a;
609:       const _Tp __cos2th = __x / __eta;
609:       const _Tp __sin2th = _Tp(1) - __cos2th;
609:  1417:     bool
1417:     is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate);
1417: 
1417:   template<typename _FIter>
1417:    
1417:     bool
1417:     is_sorted(_FIter, _FIter);
1417: 
1417:   template<typename _FIter, typename _Compare>
1417:    
1417:     bool
1417:     is_sorted(_FIter, _FIter, _Compare);
1417: 
1417:   template<typename _FIter>
1417:    
1417:     _FIter
1417:     is_sorted_until(_FIter, _FIter);
1417: 
1417:   template<typename _FIter, typename _Compare>
1417:    
1417:     _FIter
1417:     is_sorted_until(_FIter, _FIter, _Compare);
1417: 
1417: 
1417:   template<typename _FIter1, typename _FIter2>
1417:    
1417:     void
1417:     iter_swap(_FIter1, _FIter2);
1417: 
1417:   template<typename _FIter, typename _Tp>
1417:    
1417:     _FIter
1417:     lower_bound(_FIter, _FIter, const _Tp&);
1417: 
1417:   template<typename _FIter, typename _Tp, typename _Compare>
1417:    
1417:     _FIter
1417:     lower_bound(_FIter, _FIter, const _Tp&, _Compare);
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     void
1417:     make_heap(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     void
1417:     make_heap(_RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     const _Tp&
1417:     max(const _Tp&, const _Tp&);
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     const _Tp&
1417:     max(const _Tp&, const _Tp&, _Compare);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     const _Tp&
1417:     min(const _Tp&, const _Tp&);
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     const _Tp&
1417:     min(const _Tp&, const _Tp&, _Compare);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     pair<const _Tp&, const _Tp&>
1417:     minmax(const _Tp&, const _Tp&);
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     pair<const _Tp&, const _Tp&>
1417:     minmax(const _Tp&, const _Tp&, _Compare);
1417: 
1417:   template<typename _FIter>
1417:     constexpr
1417:     pair<_FIter, _FIter>
1417:     minmax_element(_FIter, _FIter);
1417: 
1417:   template<typename _FIter, typename _Compare>
1417:     constexpr
1417:     pair<_FIter, _FIter>
1417:     minmax_element(_FIter, _FIter, _Compare);
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     _Tp
1417:     min(initializer_list<_Tp>);
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     _Tp
1417:     min(initializer_list<_Tp>, _Compare);
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     _Tp
1417:     max(initializer_list<_Tp>);
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     _Tp
1417:     max(initializer_list<_Tp>, _Compare);
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     pair<_Tp, _Tp>
1417:     minmax(initializer_list<_Tp>);
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     pair<_Tp, _Tp>
1417:     minmax(initializer_list<_Tp>, _Compare);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BIter>
1417:    
1417:     bool
1417:     next_permutation(_BIter, _BIter);
1417: 
1417:   template<typename _BIter, typename _Compare>
1417:    
1417:     bool
1417:     next_permutation(_BIter, _BIter, _Compare);
1417: 
1417: 
1417:   template<typename _IIter, typename _Predicate>
1417:    
1417:     bool
1417:     none_of(_IIter, _IIter, _Predicate);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _IIter, typename _RAIter>
1417:    
1417:     _RAIter
1417:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter);
1417: 
1417:   template<typename _IIter, typename _RAIter, typename _Compare>
1417:    
1417:     _RAIter
1417:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _IIter, typename _OIter1,
1417:     typename _OIter2, typename _Predicate>
1417:    nsert_equal_lower()
1412:  {
1412:    auto __it = _M_t._M_insert_equal_lower_node(_M_node);
1412:    _M_node = nullptr;
1412:    return __it;
1412:  }
1412: 
1412:  _Rb_tree& _M_t;
1412:  _Link_type _M_node;
1412:       };
1412: 
1412:     };
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     inline void
1412:     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
1412:   _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     void
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_move_data(_Rb_tree& __x, false_type)
1412:     {
1412:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1412:  _M_move_data(__x, true_type());
1412:       else
1412:  {
1412:    constexpr bool __move = !__move_if_noexcept_cond<value_type>::value;
1412:    _Alloc_node __an(*this);
1412:    _M_root() = _M_copy<__move>(__x, __an);
1412:    if constexpr (__move)
1412:      __x.clear();
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     inline void
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_move_assign(_Rb_tree& __x, true_type)
1412:     {
1412:       clear();
1412:       if (__x._M_root() != nullptr)
1412:  _M_move_data(__x, true_type());
1412:       std::__alloc_on_move(_M_get_Node_allocator(),
1412:       __x._M_get_Node_allocator());
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     void
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_move_assign(_Rb_tree& __x, false_type)
1412:     {
1412:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1412:  return _M_move_assign(__x, true_type{});
1412: 
1412: 
1412: 
1412:       _Reuse_or_alloc_node __roan(*this);
1412:       _M_impl._M_reset();
1412:       if (__x._M_root() != nullptr)
1412:  {
1412:    _M_root() = _M_copy<__as_rvalue>(__x, __roan);
1412:    __x.clear();
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     operator=(_Rb_tree&& __x)
1412:     noexcept(_Alloc_traits::_S_nothrow_move()
1412:       && is_nothrow_move_assignable<_Compare>::value)
1412:     {
1412:       _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare);
1412:       _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>());
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     template<typename _Iterator>
1412:       void
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_assign_unique(_Iterator __first, _Iterator __last)
1412:       {
1412:  _Reuse_or_alloc_node __roan(*this);
1412:  _M_impl._M_reset();
1412:  for (; __first != __last; ++__first)
1412:    _M_insert_unique_(end(), *__first, __roan);
1412:       }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     template<typename _Iterator>
1412:       void
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_assign_equal(_Iterator __first, _Iterator __last)
1412:       {
1412:  _Reuse_or_alloc_node __roan(*this);
1412:  _M_impl._M_reset();
1412:  for (; __first != __last; ++__first)
1412:    _M_insert_equal_(end(), *__first, __roan);
1412:       }
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     _Rb_tree<_Key
1417:     pair<_OIter1, _OIter2>
1417:     partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate);
1417: 
1417:   template<typename _FIter, typename _Predicate>
1417:    
1417:     _FIter
1417:     partition_point(_FIter, _FIter, _Predicate);
1417: 
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     void
1417:     pop_heap(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     void
1417:     pop_heap(_RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _BIter>
1417:    
1417:     bool
1417:     prev_permutation(_BIter, _BIter);
1417: 
1417:   template<typename _BIter, typename _Compare>
1417:    
1417:     bool
1417:     prev_permutation(_BIter, _BIter, _Compare);
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     void
1417:     push_heap(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     void
1417:     push_heap(_RAIter, _RAIter, _Compare);
1417: 
1417: 
1417: 
1417:   template<typename _FIter, typename _Tp>
1417:    
1417:     _FIter
1417:     remove(_FIter, _FIter, const _Tp&);
1417: 
1417:   template<typename _FIter, typename _Predicate>
1417:    
1417:     _FIter
1417:     remove_if(_FIter, _FIter, _Predicate);
1417: 
1417:   template<typename _IIter, typename _OIter, typename _Tp>
1417:    
1417:     _OIter
1417:     remove_copy(_IIter, _IIter, _OIter, const _Tp&);
1417: 
1417:   template<typename _IIter, typename _OIter, typename _Predicate>
1417:    
1417:     _OIter
1417:     remove_copy_if(_IIter, _IIter, _OIter, _Predicate);
1417: 
1417: 
1417: 
1417:   template<typename _IIter, typename _OIter, typename _Tp>
1417:    
1417:     _OIter
1417:     replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&);
1417: 
1417:   template<typename _Iter, typename _OIter, typename _Predicate, typename _Tp>
1417:    
1417:     _OIter
1417:     replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&);
1417: 
1417: 
1417: 
1417:   template<typename _BIter>
1417:    
1417:     void
1417:     reverse(_BIter, _BIter);
1417: 
1417:   template<typename _BIter, typename _OIter>
1417:    
1417:     _OIter
1417:     reverse_copy(_BIter, _BIter, _OIter);
1417: 
1417:   inline namespace _V2
1417:   {
1417:     template<typename _FIter>
1417:      
1417:       _FIter
1417:       rotate(_FIter, _FIter, _FIter);
1417:   }
1417: 
1417:   template<typename _FIter, typename _OIter>
1417:    
1417:     _OIter
1417:     rotate_copy(_FIter, _FIter, _FIter, _OIter);
1417: # 625 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1417:   template<typename _RAIter, typename _UGenerator>
1417:     void
1417:     shuffle(_RAIter, _RAIter, _UGenerator&&);
1417: 
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     void
1417:     sort_heap(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     void
1417:     sort_heap(_RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _BIter, typename _Predicate>
1417:     _BIter
1417:     stable_partition(_BIter, _BIter, _Predicate);
1417: # 658 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1417:   template<typename _FIter1, typename _FIter2>
1417:    
1417:     _FIter2
1417:     swap_ranges(_FIter1, _FIter1, _FIter2);
1417: 
1417: 
1417: 
1417:   template<typename _FIter>
1417:    
1417:     _FIter
1417:     unique(_FIter, _FIter);
1417: 
1417:   template<typename _FIter, typename _BinaryPredicate>
1417:    
1417:     _FIter
1417:     unique(_FIter, _FIter, _BinaryPredicate);
1417: 
1417: 
1417: 
1417:   template<typename _FIter, typename _Tp>
1417:    
1417:     _FIter
1417:     upper_bound(_FIter, _FIter, const _Tp&);
1417: 
1417:   template<typename _FIter, typename _Tp, typename _Compare>
1417:    
1417:     _FIter
1417:     upper_bound(_FIter, _FIter, const _Tp&, _Compare);
1417: 
1417: 
1417: 
1417:   template<typename _FIter>
1417:    
1417:     _FIter
1417:     adjacent_find(_FIter, _FIter);
1417: 
1417:   template<typename _FIter, typename _BinaryPredicate>
1417:    
1417:     _FIter
1417:     adjacent_find(_FIter,      const _Tp __th = std::acos(std::sqrt(__cos2th));
609:       const _Tp __pre_h = __numeric_constants<_Tp>::__pi_2()
609:                         * __numeric_constants<_Tp>::__pi_2()
609:                         * __eta * __eta * __cos2th * __sin2th;
609: 
609: 
609:       const _Tp __lg_b = ::std::lgamma(_Tp(__n) + __b);
609:       const _Tp __lnfact = ::std::lgamma(_Tp(__n + 1));
609: 
609: 
609: 
609: 
609: 
609:       _Tp __pre_term1 = _Tp(0.5L) * (_Tp(1) - __b)
609:                       * std::log(_Tp(0.25L) * __x * __eta);
609:       _Tp __pre_term2 = _Tp(0.25L) * std::log(__pre_h);
609:       _Tp __lnpre = __lg_b - __lnfact + _Tp(0.5L) * __x
609:                       + __pre_term1 - __pre_term2;
609:       _Tp __ser_term1 = std::sin(__a * __numeric_constants<_Tp>::__pi());
609:       _Tp __ser_term2 = std::sin(_Tp(0.25L) * __eta
609:                               * (_Tp(2) * __th
609:                                - std::sin(_Tp(2) * __th))
609:                                + __numeric_constants<_Tp>::__pi_4());
609:       _Tp __ser = __ser_term1 + __ser_term2;
609: 
609:       return std::exp(__lnpre) * __ser;
609:     }
609: # 129 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609:     template<typename _Tpa, typename _Tp>
609:     _Tp
609:     __poly_laguerre_hyperg(unsigned int __n, _Tpa __alpha1, _Tp __x)
609:     {
609:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
609:       const _Tp __mx = -__x;
609:       const _Tp __tc_sgn = (__x < _Tp(0) ? _Tp(1)
609:                          : ((__n % 2 == 1) ? -_Tp(1) : _Tp(1)));
609: 
609:       _Tp __tc = _Tp(1);
609:       const _Tp __ax = std::abs(__x);
609:       for (unsigned int __k = 1; __k <= __n; ++__k)
609:         __tc *= (__ax / __k);
609: 
609:       _Tp __term = __tc * __tc_sgn;
609:       _Tp __sum = __term;
609:       for (int __k = int(__n) - 1; __k >= 0; --__k)
609:         {
609:           __term *= ((__b + _Tp(__k)) / _Tp(int(__n) - __k))
609:                   * _Tp(__k + 1) / __mx;
609:           __sum += __term;
609:         }
609: 
609:       return __sum;
609:     }
609: # 185 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609:     template<typename _Tpa, typename _Tp>
609:     _Tp
609:     __poly_laguerre_recursion(unsigned int __n, _Tpa __alpha1, _Tp __x)
609:     {
609: 
609:       _Tp __l_0 = _Tp(1);
609:       if (__n == 0)
609:         return __l_0;
609: 
609: 
609:       _Tp __l_1 = -__x + _Tp(1) + _Tp(__alpha1);
609:       if (__n == 1)
609:         return __l_1;
609: 
609: 
609:       _Tp __l_n2 = __l_0;
609:       _Tp __l_n1 = __l_1;
609:       _Tp __l_n = _Tp(0);
609:       for (unsigned int __nn = 2; __nn <= __n; ++__nn)
609:         {
609:             __l_n = (_Tp(2 * __nn - 1) + _Tp(__alpha1) - __x)
609:                   * __l_n1 / _Tp(__nn)
609:                   - (_Tp(__nn - 1) + _Tp(__alpha1)) * __l_n2 / _Tp(__nn);
609:             __l_n2 = __l_n1;
609:             __l_n1 = __l_n;
609:         }
609: 
609:       return __l_n;
609:     }
609: # 244 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609:     template<typename _Tpa, typename _Tp>
609:     _Tp
609:     __poly_laguerre(unsigned int __n, _Tpa __alpha1, _Tp __x)
609:     {
609:       if (__x < _Tp(0))
609:         std::__throw_domain_error(("Negative argument " "in __poly_laguerre.")
609:                                                             );
609: 
609:       else if (__isnan(__x))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__n == 0)
609:         return _Tp(1);
609:       else if (__n == 1)
609:         return _Tp(1) + _Tp(__alpha1) - __x;
609:       else if (__x == _Tp(0))
609:         {
609:           _Tp __prod = _Tp(__alpha1) + _Tp(1);
609:           for (unsigned int __k = 2; __k <= __n; ++__k)
609:             __prod *= (_Tp(__alpha1) + _Tp(__k)) / _Tp(__k);
609:           return __prod;
609:         }
609:       else if (__n > 10000000 && _Tp(__alpha1) > -_Tp(1)
609:             && __x < _Tp(2) * (_Tp(__alpha1) + _Tp(1)) + _Tp(4 * __n))
609:         return __poly_laguerre_large_n(__n, __alpha1, __x);
609:       _FIter, _BinaryPredicate);
1417: 
1417:   template<typename _IIter, typename _Tp>
1417:    
1417:     typename iterator_traits<_IIter>::difference_type
1417:     count(_IIter, _IIter, const _Tp&);
1417: 
1417:   template<typename _IIter, typename _Predicate>
1417:    
1417:     typename iterator_traits<_IIter>::difference_type
1417:     count_if(_IIter, _IIter, _Predicate);
1417: 
1417:   template<typename _IIter1, typename _IIter2>
1417:    
1417:     bool
1417:     equal(_IIter1, _IIter1, _IIter2);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1417:    
1417:     bool
1417:     equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1417: 
1417:   template<typename _IIter, typename _Tp>
1417:    
1417:     _IIter
1417:     find(_IIter, _IIter, const _Tp&);
1417: 
1417:   template<typename _FIter1, typename _FIter2>
1417:    
1417:     _FIter1
1417:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2);
1417: 
1417:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1417:    
1417:     _FIter1
1417:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1417: 
1417:   template<typename _IIter, typename _Predicate>
1417:    
1417:     _IIter
1417:     find_if(_IIter, _IIter, _Predicate);
1417: 
1417:   template<typename _IIter, typename _Funct>
1417:    
1417:     _Funct
1417:     for_each(_IIter, _IIter, _Funct);
1417: 
1417:   template<typename _FIter, typename _Generator>
1417:    
1417:     void
1417:     generate(_FIter, _FIter, _Generator);
1417: 
1417:   template<typename _OIter, typename _Size, typename _Generator>
1417:    
1417:     _OIter
1417:     generate_n(_OIter, _Size, _Generator);
1417: 
1417:   template<typename _IIter1, typename _IIter2>
1417:    
1417:     bool
1417:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _Compare>
1417:    
1417:     bool
1417:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1417: 
1417:   template<typename _FIter>
1417:     constexpr
1417:     _FIter
1417:     max_element(_FIter, _FIter);
1417: 
1417:   template<typename _FIter, typename _Compare>
1417:     constexpr
1417:     _FIter
1417:     max_element(_FIter, _FIter, _Compare);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter>
1417:    
1417:     _OIter
1417:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter,
1417:     typename _Compare>
1417:    
1417:     _OIter
1417:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1417: 
1417:   template<typename _FIter>
1417:     constexpr
1417:     _FIter
1417:     min_element(_FIter, _FIter);
1417: 
1417:   template<typename _FIter, typename _Compare>
1417:     constexpr
1417:     _FIter
1417:     min_element(_FIter, _FIter, _Compare);
1417: 
1417:   template<typename _IIter1, typename _IIter2>
1417:    
1417:     pair<_IIter1, _IIter2>
1417:     mismatch(_IIter1, _IIter1, _IIter2);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1417:    
1417:     pair<_IIter1, _IIter2>
1417:     mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     void
1417:     nth_element(_RAIter, _RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     void
1417:     nth_element(_RAIter, _RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     void
1417:     partial_sort(_RAIter, _RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     void
1417:     partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _BIter, typename _Predicate>
1417:    
1417:     _BIter
1417:     partition(_BIter, _BIter, _Predicate);
1417: 
1417:   template<typename _RAIter>
1417:     void
1417:     random_shuffle(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typ, _Val, _KeyOfValue, _Compare, _Alloc>&
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     operator=(const _Rb_tree& __x)
1412:     {
1412:       if (this != std::__addressof(__x))
1412:  {
1412: 
1412: 
1412:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1412:      {
1412:        auto& __this_alloc = this->_M_get_Node_allocator();
1412:        auto& __that_alloc = __x._M_get_Node_allocator();
1412:        if (!_Alloc_traits::_S_always_equal()
1412:     && __this_alloc != __that_alloc)
1412:   {
1412: 
1412: 
1412:     clear();
1412:     std::__alloc_on_copy(__this_alloc, __that_alloc);
1412:   }
1412:      }
1412: 
1412: 
1412:    _Reuse_or_alloc_node __roan(*this);
1412:    _M_impl._M_reset();
1412:    _M_impl._M_key_compare = __x._M_impl._M_key_compare;
1412:    if (__x._M_root() != 0)
1412:      _M_root() = _M_copy<__as_lvalue>(__x, __roan);
1412:  }
1412: 
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412: 
1412:     template<typename _Arg, typename _NodeGen>
1412: 
1412: 
1412: 
1412:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_insert_(_Base_ptr __x, _Base_ptr __p,
1412: 
1412:    _Arg&& __v,
1412: 
1412: 
1412: 
1412:    _NodeGen& __node_gen)
1412:       {
1412:  bool __insert_left = (__x != 0 || __p == _M_end()
1412:          || _M_impl._M_key_compare(_KeyOfValue()(__v),
1412:        _S_key(__p)));
1412: 
1412:  _Link_type __z = __node_gen(std::forward<_Arg>(__v));
1412: 
1412:  _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1412:           this->_M_impl._M_header);
1412:  ++_M_impl._M_node_count;
1412:  return iterator(__z);
1412:       }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412: 
1412:     template<typename _Arg>
1412: 
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412: 
1412:     _M_insert_lower(_Base_ptr __p, _Arg&& __v)
1412: 
1412: 
1412: 
1412:     {
1412:       bool __insert_left = (__p == _M_end()
1412:        || !_M_impl._M_key_compare(_S_key(__p),
1412:              _KeyOfValue()(__v)));
1412: 
1412:       _Link_type __z = _M_create_node(std::forward<_Arg>(__v));
1412: 
1412:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1412:         this->_M_impl._M_header);
1412:       ++_M_impl._M_node_count;
1412:       return iterator(__z);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412: 
1412:     template<typename _Arg>
1412: 
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412: 
1412:     _M_insert_equal_lower(_Arg&& __v)
1412: 
1412: 
1412: 
1412:     {
1412:       _Link_type __x = _M_begin();
1412:       _Base_ptr __y = _M_end();
1412:       while (__x != 0)
1412:  {
1412:    __y = __x;
1412:    __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
1412:   _S_left(__x) : _S_right(__x);
1412:  }
1412:       return _M_insert_lower(__y, std::forward<_Arg>(__v));
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KoV,
1412:     typename _Compare, typename _Alloc>
1412:     template<bool _MoveValues, typename _NodeGen>
1412:       typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
1412:       _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
1412:       _M_copy(_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen)
1412:       {
1412: 
1412:  _Link_type __top = _M_clone_node<_MoveValues>(__x, __node_gen);
1412:  __top->_M_parent = __p;
1412: 
1412:  try
1412:    {
1412:      if (__x->_M_right)
1412:        __top->_M_right =
1412:   _M_copy<_MoveValues>(_S_right(__x), __top, __node_gen);
1412:      __p = __top;
1412:      _ename _Generator>
1417:     void
1417:     random_shuffle(_RAIter, _RAIter,
1417: 
1417:      _Generator&&);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _FIter, typename _Tp>
1417:    
1417:     void
1417:     replace(_FIter, _FIter, const _Tp&, const _Tp&);
1417: 
1417:   template<typename _FIter, typename _Predicate, typename _Tp>
1417:    
1417:     void
1417:     replace_if(_FIter, _FIter, _Predicate, const _Tp&);
1417: 
1417:   template<typename _FIter1, typename _FIter2>
1417:    
1417:     _FIter1
1417:     search(_FIter1, _FIter1, _FIter2, _FIter2);
1417: 
1417:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1417:    
1417:     _FIter1
1417:     search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1417: 
1417:   template<typename _FIter, typename _Size, typename _Tp>
1417:    
1417:     _FIter
1417:     search_n(_FIter, _FIter, _Size, const _Tp&);
1417: 
1417:   template<typename _FIter, typename _Size, typename _Tp,
1417:     typename _BinaryPredicate>
1417:    
1417:     _FIter
1417:     search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter>
1417:    
1417:     _OIter
1417:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter,
1417:     typename _Compare>
1417:    
1417:     _OIter
1417:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter>
1417:    
1417:     _OIter
1417:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter,
1417:     typename _Compare>
1417:    
1417:     _OIter
1417:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter>
1417:    
1417:     _OIter
1417:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter,
1417:     typename _Compare>
1417:    
1417:     _OIter
1417:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2,
1417:         _OIter, _Compare);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter>
1417:    
1417:     _OIter
1417:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter,
1417:     typename _Compare>
1417:    
1417:     _OIter
1417:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1417: 
1417:   template<typename _RAIter>
1417:    
1417:     void
1417:     sort(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:    
1417:     void
1417:     sort(_RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _RAIter>
1417:     void
1417:     stable_sort(_RAIter, _RAIter);
1417: 
1417:   template<typename _RAIter, typename _Compare>
1417:     void
1417:     stable_sort(_RAIter, _RAIter, _Compare);
1417: 
1417:   template<typename _IIter, typename _OIter, typename _UnaryOperation>
1417:    
1417:     _OIter
1417:     transform(_IIter, _IIter, _OIter, _UnaryOperation);
1417: 
1417:   template<typename _IIter1, typename _IIter2, typename _OIter,
1417:     typename _BinaryOperation>
1417:    
1417:     _OIter
1417:     transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation);
1417: 
1417:   template<typename _IIter, typename _OIter>
1417:    
1417:     _OIter
1417:     unique_copy(_IIter, _IIter, _OIter);
1417: 
1417:   template<typename _IIter, typename _OIter, typename _BinaryPredicate>
1417:    
1417:     _OIter
1417:     unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
1417: 
1417: 
1417: 
1417: }
1417: # 60 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_heap.h" 1 3
1417: # 63 "/usr/include/c++/12/bits/stl_heap.h" 3
1417: namespace std __attribute__ ((__visibility__ ("defaultelse if (_Tp(__alpha1) >= _Tp(0)
609:            || (__x > _Tp(0) && _Tp(__alpha1) < -_Tp(__n + 1)))
609:         return __poly_laguerre_recursion(__n, __alpha1, __x);
609:       else
609:         return __poly_laguerre_hyperg(__n, __alpha1, __x);
609:     }
609: # 296 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
609:     { return __poly_laguerre<unsigned int, _Tp>(__n, __m, __x); }
609: # 316 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __laguerre(unsigned int __n, _Tp __x)
609:     { return __poly_laguerre<unsigned int, _Tp>(__n, 0, __x); }
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 59 "/usr/include/c++/12/bits/specfun.h" 2 3
609: # 1 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 1 3
609: # 47 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 63 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:   namespace __detail
609:   {
609: # 78 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __riemann_zeta_sum(_Tp __s)
609:     {
609: 
609:       if (__s < _Tp(1))
609:         std::__throw_domain_error(("Bad argument in zeta sum."));
609: 
609:       const unsigned int max_iter = 10000;
609:       _Tp __zeta = _Tp(0);
609:       for (unsigned int __k = 1; __k < max_iter; ++__k)
609:         {
609:           _Tp __term = std::pow(static_cast<_Tp>(__k), -__s);
609:           if (__term < std::numeric_limits<_Tp>::epsilon())
609:             {
609:               break;
609:             }
609:           __zeta += __term;
609:         }
609: 
609:       return __zeta;
609:     }
609: # 115 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __riemann_zeta_alt(_Tp __s)
609:     {
609:       _Tp __sgn = _Tp(1);
609:       _Tp __zeta = _Tp(0);
609:       for (unsigned int __i = 1; __i < 10000000; ++__i)
609:         {
609:           _Tp __term = __sgn / std::pow(__i, __s);
609:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:           __zeta += __term;
609:           __sgn *= _Tp(-1);
609:         }
609:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
609: 
609:       return __zeta;
609:     }
609: # 157 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __riemann_zeta_glob(_Tp __s)
609:     {
609:       _Tp __zeta = _Tp(0);
609: 
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609: 
609:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
609:                                * std::log(_Tp(10)) - _Tp(1);
609: 
609: 
609: 
609:       if (__s < _Tp(0))
609:         {
609: 
609:           if (::std::fmod(__s,_Tp(2)) == _Tp(0))
609:             return _Tp(0);
609:           else
609: 
609:             {
609:               _Tp __zeta = __riemann_zeta_glob(_Tp(1) - __s);
609:               __zeta *= std::pow(_Tp(2)
609:                      * __numeric_constants<_Tp>::__pi(), __s)
609:                      * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
609: 
609:                      * std::exp(::std::lgamma(_Tp(1) - __s))
609: 
609: 
609: 
609:                      / __numeric_constants<_Tp>::__pi();
609:               return __zeta;
609:             }
609:         }
609: 
609:       _Tp __num = _Tp(0.5L);
609:       const unsigned int __maxit = 10000;
609:       for (unsigned int __i = 0; __i < __maxit; ++__i)
609:         {
609:           bool __punt = false;
609:           _Tp __sgn = _Tp(1);
609:           _Tp __term = _Tp(0);
609:           for (unsigned int __j = 0; __j <= __i; ++__j)
609:             {
609: 
609:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
609:                               - ::std::lgamma(_Tp(1 + __j))
609:                               - ::std::lgamma(_Tp(1 + __i - __j));
609: 
609:_x = _S_left(__x);
1412: 
1412:      while (__x != 0)
1412:        {
1412:   _Link_type __y = _M_clone_node<_MoveValues>(__x, __node_gen);
1412:   __p->_M_left = __y;
1412:   __y->_M_parent = __p;
1412:   if (__x->_M_right)
1412:     __y->_M_right = _M_copy<_MoveValues>(_S_right(__x),
1412:              __y, __node_gen);
1412:   __p = __y;
1412:   __x = _S_left(__x);
1412:        }
1412:    }
1412:  catch(...)
1412:    {
1412:      _M_erase(__top);
1412:      throw;
1412:    }
1412:  return __top;
1412:       }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     void
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_erase(_Link_type __x)
1412:     {
1412: 
1412:       while (__x != 0)
1412:  {
1412:    _M_erase(_S_right(__x));
1412:    _Link_type __y = _S_left(__x);
1412:    _M_drop_node(__x);
1412:    __x = __y;
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:         _Compare, _Alloc>::iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_lower_bound(_Link_type __x, _Base_ptr __y,
1412:      const _Key& __k)
1412:     {
1412:       while (__x != 0)
1412:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1412:    __y = __x, __x = _S_left(__x);
1412:  else
1412:    __x = _S_right(__x);
1412:       return iterator(__y);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:         _Compare, _Alloc>::const_iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1412:      const _Key& __k) const
1412:     {
1412:       while (__x != 0)
1412:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1412:    __y = __x, __x = _S_left(__x);
1412:  else
1412:    __x = _S_right(__x);
1412:       return const_iterator(__y);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:         _Compare, _Alloc>::iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_upper_bound(_Link_type __x, _Base_ptr __y,
1412:      const _Key& __k)
1412:     {
1412:       while (__x != 0)
1412:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1412:    __y = __x, __x = _S_left(__x);
1412:  else
1412:    __x = _S_right(__x);
1412:       return iterator(__y);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:         _Compare, _Alloc>::const_iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1412:      const _Key& __k) const
1412:     {
1412:       while (__x != 0)
1412:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1412:    __y = __x, __x = _S_left(__x);
1412:  else
1412:    __x = _S_right(__x);
1412:       return const_iterator(__y);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::iterator,
1412:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::iterator>
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     equal_range(const _Key& __k)
1412:     {
1412:       _Link_type __x = _M_begin();
1412:       _Base_ptr __y = _M_end();
1412:       while (__x != 0)
1412:  {
1412:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1412:      __x = _S_right(__x);
1412:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1412:      __y = __x, __x = _S_left(__x);")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Distance,
1417:     typename _Compare>
1417:    
1417:     _Distance
1417:     __is_heap_until(_RandomAccessIterator __first, _Distance __n,
1417:       _Compare& __comp)
1417:     {
1417:       _Distance __parent = 0;
1417:       for (_Distance __child = 1; __child < __n; ++__child)
1417:  {
1417:    if (__comp(__first + __parent, __first + __child))
1417:      return __child;
1417:    if ((__child & 1) == 0)
1417:      ++__parent;
1417:  }
1417:       return __n;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Distance>
1417:    
1417:     inline bool
1417:     __is_heap(_RandomAccessIterator __first, _Distance __n)
1417:     {
1417:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1417:       return std::__is_heap_until(__first, __n, __comp) == __n;
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare,
1417:     typename _Distance>
1417:    
1417:     inline bool
1417:     __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n)
1417:     {
1417:       typedef __decltype(__comp) _Cmp;
1417:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1417:       return std::__is_heap_until(__first, __n, __cmp) == __n;
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline bool
1417:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     { return std::__is_heap(__first, std::distance(__first, __last)); }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline bool
1417:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:        _Compare __comp)
1417:     {
1417:       return std::__is_heap(__first, std::move(__comp),
1417:        std::distance(__first, __last));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
1417:     typename _Compare>
1417:    
1417:     void
1417:     __push_heap(_RandomAccessIterator __first,
1417:   _Distance __holeIndex, _Distance __topIndex, _Tp __value,
1417:   _Compare& __comp)
1417:     {
1417:       _Distance __parent = (__holeIndex - 1) / 2;
1417:       while (__holeIndex > __topIndex && __comp(__first + __parent, __value))
1417:  {
1417:    *(__first + __holeIndex) = std::move(*(__first + __parent));
1417:    __holeIndex = __parent;
1417:    __parent = (__holeIndex - 1) / 2;
1417:  }
1417:       *(__first + __holeIndex) = std::move(__value);
1417:     }
1417: # 159 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline void
1417:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1417:    _ValueType;
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:    _DistanceType;
1417: 
1417: 
1417:      
1417: 
1417:      
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       __gnu_cxx::__ops::_Iter_less_val __comp;
1417:       _ValueType __value = std::move(*(__last - 1));
1417:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1417:          _DistanceType(0), std::move(__value), __comp);
1417:     }
1417: # 195 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:        _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1417:    _ValueType;
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:    _DistanceType;
1417: 
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move( 
609: 
609: 
609: 
609:               if (__bincoeff > __max_bincoeff)
609:                 {
609: 
609:                   __punt = true;
609:                   break;
609:                 }
609:               __bincoeff = std::exp(__bincoeff);
609:               __term += __sgn * __bincoeff * std::pow(_Tp(1 + __j), -__s);
609:               __sgn *= _Tp(-1);
609:             }
609:           if (__punt)
609:             break;
609:           __term *= __num;
609:           __zeta += __term;
609:           if (std::abs(__term/__zeta) < __eps)
609:             break;
609:           __num *= _Tp(0.5L);
609:         }
609: 
609:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
609: 
609:       return __zeta;
609:     }
609: # 252 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __riemann_zeta_product(_Tp __s)
609:     {
609:       static const _Tp __prime[] = {
609:         _Tp(2), _Tp(3), _Tp(5), _Tp(7), _Tp(11), _Tp(13), _Tp(17), _Tp(19),
609:         _Tp(23), _Tp(29), _Tp(31), _Tp(37), _Tp(41), _Tp(43), _Tp(47),
609:         _Tp(53), _Tp(59), _Tp(61), _Tp(67), _Tp(71), _Tp(73), _Tp(79),
609:         _Tp(83), _Tp(89), _Tp(97), _Tp(101), _Tp(103), _Tp(107), _Tp(109)
609:       };
609:       static const unsigned int __num_primes = sizeof(__prime) / sizeof(_Tp);
609: 
609:       _Tp __zeta = _Tp(1);
609:       for (unsigned int __i = 0; __i < __num_primes; ++__i)
609:         {
609:           const _Tp __fact = _Tp(1) - std::pow(__prime[__i], -__s);
609:           __zeta *= __fact;
609:           if (_Tp(1) - __fact < std::numeric_limits<_Tp>::epsilon())
609:             break;
609:         }
609: 
609:       __zeta = _Tp(1) / __zeta;
609: 
609:       return __zeta;
609:     }
609: # 293 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __riemann_zeta(_Tp __s)
609:     {
609:       if (__isnan(__s))
609:         return std::numeric_limits<_Tp>::quiet_NaN();
609:       else if (__s == _Tp(1))
609:         return std::numeric_limits<_Tp>::infinity();
609:       else if (__s < -_Tp(19))
609:         {
609:           _Tp __zeta = __riemann_zeta_product(_Tp(1) - __s);
609:           __zeta *= std::pow(_Tp(2) * __numeric_constants<_Tp>::__pi(), __s)
609:                  * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
609: 
609:                  * std::exp(::std::lgamma(_Tp(1) - __s))
609: 
609: 
609: 
609:                  / __numeric_constants<_Tp>::__pi();
609:           return __zeta;
609:         }
609:       else if (__s < _Tp(20))
609:         {
609: 
609:           bool __glob = true;
609:           if (__glob)
609:             return __riemann_zeta_glob(__s);
609:           else
609:             {
609:               if (__s > _Tp(1))
609:                 return __riemann_zeta_sum(__s);
609:               else
609:                 {
609:                   _Tp __zeta = std::pow(_Tp(2)
609:                                 * __numeric_constants<_Tp>::__pi(), __s)
609:                          * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
609: 
609:                              * ::std::tgamma(_Tp(1) - __s)
609: 
609: 
609: 
609:                              * __riemann_zeta_sum(_Tp(1) - __s);
609:                   return __zeta;
609:                 }
609:             }
609:         }
609:       else
609:         return __riemann_zeta_product(__s);
609:     }
609: # 365 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:     template<typename _Tp>
609:     _Tp
609:     __hurwitz_zeta_glob(_Tp __a, _Tp __s)
609:     {
609:       _Tp __zeta = _Tp(0);
609: 
609:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
609: 
609:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
609:                                * std::log(_Tp(10)) - _Tp(1);
609: 
609:       const unsigned int __maxit = 10000;
609:       for (unsigned int __i = 0; __i < __maxit; ++__i)
609:         {
609:           bool __punt = false;
609:           _Tp __sgn = _Tp(1);
609:           _Tp __term = _Tp(0);
609:      __comp)))
1417:  __cmp(std::move(__comp));
1417:       _ValueType __value = std::move(*(__last - 1));
1417:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1417:          _DistanceType(0), std::move(__value), __cmp);
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Distance,
1417:     typename _Tp, typename _Compare>
1417:    
1417:     void
1417:     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
1417:     _Distance __len, _Tp __value, _Compare __comp)
1417:     {
1417:       const _Distance __topIndex = __holeIndex;
1417:       _Distance __secondChild = __holeIndex;
1417:       while (__secondChild < (__len - 1) / 2)
1417:  {
1417:    __secondChild = 2 * (__secondChild + 1);
1417:    if (__comp(__first + __secondChild,
1417:        __first + (__secondChild - 1)))
1417:      __secondChild--;
1417:    *(__first + __holeIndex) = std::move(*(__first + __secondChild));
1417:    __holeIndex = __secondChild;
1417:  }
1417:       if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2)
1417:  {
1417:    __secondChild = 2 * (__secondChild + 1);
1417:    *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1)))
1417:                                   ;
1417:    __holeIndex = __secondChild - 1;
1417:  }
1417:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
1417:  __cmp(std::move(__comp));
1417:       std::__push_heap(__first, __holeIndex, __topIndex,
1417:          std::move(__value), __cmp);
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:         _RandomAccessIterator __result, _Compare& __comp)
1417:     {
1417:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1417:  _ValueType;
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:  _DistanceType;
1417: 
1417:       _ValueType __value = std::move(*__result);
1417:       *__result = std::move(*__first);
1417:       std::__adjust_heap(__first, _DistanceType(0),
1417:     _DistanceType(__last - __first),
1417:     std::move(__value), __comp);
1417:     }
1417: # 280 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline void
1417:     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       if (__last - __first > 1)
1417:  {
1417:    --__last;
1417:    __gnu_cxx::__ops::_Iter_less_iter __comp;
1417:    std::__pop_heap(__first, __last, __last, __comp);
1417:  }
1417:     }
1417: # 314 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     pop_heap(_RandomAccessIterator __first,
1417:       _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       if (__last - __first > 1)
1417:  {
1417:    typedef __decltype(__comp) _Cmp;
1417:    __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1417:    --__last;
1417:    std::__pop_heap(__first, __last, __last, __cmp);
1417:  }
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     void
1417:     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:   _Compare& __comp)
1417:     {
1417:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1417:    _ValueType;
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:    _DistanceType;
1417: 
1417:       if (__last - __first < 2)
1417:  return;
1417: 
1417:       const _DistanceType __len = __last - __first;
1417:       _DistanceType __parent = (__len - 2) / 2;
1417:       while (true)
1417:  {
1417:    _ValueType __value = std::move
1412:    else
1412:      {
1412:        _Link_type __xu(__x);
1412:        _Base_ptr __yu(__y);
1412:        __y = __x, __x = _S_left(__x);
1412:        __xu = _S_right(__xu);
1412:        return pair<iterator,
1412:      iterator>(_M_lower_bound(__x, __y, __k),
1412:         _M_upper_bound(__xu, __yu, __k));
1412:      }
1412:  }
1412:       return pair<iterator, iterator>(iterator(__y),
1412:           iterator(__y));
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::const_iterator,
1412:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::const_iterator>
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     equal_range(const _Key& __k) const
1412:     {
1412:       _Const_Link_type __x = _M_begin();
1412:       _Const_Base_ptr __y = _M_end();
1412:       while (__x != 0)
1412:  {
1412:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1412:      __x = _S_right(__x);
1412:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1412:      __y = __x, __x = _S_left(__x);
1412:    else
1412:      {
1412:        _Const_Link_type __xu(__x);
1412:        _Const_Base_ptr __yu(__y);
1412:        __y = __x, __x = _S_left(__x);
1412:        __xu = _S_right(__xu);
1412:        return pair<const_iterator,
1412:      const_iterator>(_M_lower_bound(__x, __y, __k),
1412:        _M_upper_bound(__xu, __yu, __k));
1412:      }
1412:  }
1412:       return pair<const_iterator, const_iterator>(const_iterator(__y),
1412:         const_iterator(__y));
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     void
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     swap(_Rb_tree& __t)
1412:     noexcept(__is_nothrow_swappable<_Compare>::value)
1412:     {
1412:       if (_M_root() == 0)
1412:  {
1412:    if (__t._M_root() != 0)
1412:      _M_impl._M_move_data(__t._M_impl);
1412:  }
1412:       else if (__t._M_root() == 0)
1412:  __t._M_impl._M_move_data(_M_impl);
1412:       else
1412:  {
1412:    std::swap(_M_root(),__t._M_root());
1412:    std::swap(_M_leftmost(),__t._M_leftmost());
1412:    std::swap(_M_rightmost(),__t._M_rightmost());
1412: 
1412:    _M_root()->_M_parent = _M_end();
1412:    __t._M_root()->_M_parent = __t._M_end();
1412:    std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
1412:  }
1412: 
1412:       std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
1412: 
1412:       _Alloc_traits::_S_on_swap(_M_get_Node_allocator(),
1412:     __t._M_get_Node_allocator());
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::_Base_ptr,
1412:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::_Base_ptr>
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_get_insert_unique_pos(const key_type& __k)
1412:     {
1412:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1412:       _Link_type __x = _M_begin();
1412:       _Base_ptr __y = _M_end();
1412:       bool __comp = true;
1412:       while (__x != 0)
1412:  {
1412:    __y = __x;
1412:    __comp = _M_impl._M_key_compare(__k, _S_key(__x));
1412:    __x = __comp ? _S_left(__x) : _S_right(__x);
1412:  }
1412:       iterator __j = iterator(__y);
1412:       if (__comp)
1412:  {
1412:    if (__j == begin())
1412:      return _Res(__x, __y);
1412:    else
1412:      --__j;
1412:  }
1412:       if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
1412:  return _Res(__x, __y);
1412:       return _Res(__j._M_node, 0);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _All(*(__first + __parent));
1417:    std::__adjust_heap(__first, __parent, __len, std::move(__value),
1417:         __comp);
1417:    if (__parent == 0)
1417:      return;
1417:    __parent--;
1417:  }
1417:     }
1417: # 372 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline void
1417:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1417:       std::__make_heap(__first, __last, __comp);
1417:     }
1417: # 399 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:        _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       typedef __decltype(__comp) _Cmp;
1417:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1417:       std::__make_heap(__first, __last, __cmp);
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     void
1417:     __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:   _Compare& __comp)
1417:     {
1417:       while (__last - __first > 1)
1417:  {
1417:    --__last;
1417:    std::__pop_heap(__first, __last, __last, __comp);
1417:  }
1417:     }
1417: # 437 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline void
1417:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1417:       std::__sort_heap(__first, __last, __comp);
1417:     }
1417: # 465 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:        _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       typedef __decltype(__comp) _Cmp;
1417:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1417:       std::__sort_heap(__first, __last, __cmp);
1417:     }
1417: # 494 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline _RandomAccessIterator
1417:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1417:       return __first +
1417:  std::__is_heap_until(__first, std::distance(__first, __last), __comp);
1417:     }
1417: # 523 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline _RandomAccessIterator
1417:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:     _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       typedef __decltype(__comp) _Cmp;
1417:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1417:       return __first
1417:  + std::__is_heap_until(__first, std::distance(__first, __last), __cmp);
1417:     }
1417: # 548 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline bool
1417:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     { return std::is_heap_until(__first, __last) == __last; }
1417: # 562 "/usr/include/c++/12/bits/stl_heap.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline bool
1417:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:      _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       const auto __dist = std::distance(__first, __last);
1417:       typedef __decltype(__comp) _Cmp;
1417:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1417:       return std::__is_heap_until(__first, __dist, __cmp) == __dist;
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_tempbuf.h" 1 3
1417: # 60 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1417: # 1 "/usr/include/c++/12/bits/stl_construct.h" 1 3
1417: # 59 "/usr/include/c++/12/bits/stl_construct.h" 3
1417: # 1 "/usr/include/c++/12/new" 1 3
1417: # 38 "/usr/include/c++/12/new" 3
1417:        
1417: # 39 "/usr/include/c++/12/new" 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/exception.h" 1 3
1417: # 34 "/usr/include/c++/12/bits/exception.h" 3
1417:        
1417: # 35 "/usr/include/c++/12/bits/exception.h" 3
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417: 
1417: extern "C++" {
1417: 
1417: namespace std
1417: {
1417: # 61 "/usr/include/c++/12/bits/exception.h" 3
1417:   class exception
1417:   {
1417:   public:
1417:     exception() noexcept { }
1417:     virtual ~exception() noexcept;
1417: 
1417:     exception(const exception&) = default;
1417:     exception& operator=(const exception&) = default;
1417:     exception(exception&&) = default;
1417:     exception& operator=(exception&&) = default;
1417: 
1417: 
1417: 
1417: 
1417:     virtual const char*
1417:     what() const noexcept;
1417:   };
1417: 
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: #pragma GCC visibility pop
1417: # 42 "/usr/include/c++/12/new" 2 3
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: extern "C++" {
1417: 
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class bad_alloc : public exception
1417:   {
1417:   public:
1417:     bad_alloc() throw() { }
1417: 
1417: 
1417:     bad_alloc(const bad_alloc&) = default;
1417:     bad_alloc& operator=(const bad_alloc&) = default;
1417: 
1417: 
1417: 
1417: 
1417:     virtual ~bad_alloc() throw();
1417: 
1417: 
1417:     virtual const char* what() const throw();
1417:   };
1417: 
1417: 
1417:   class bad_array_new_length : public bad_alloc
1417:   {
1417:   public:
1417:     bad_array_new_length() throw() { }
1417: 
1417: 
1417: 
1417:     virtual ~bad_array_new_length() throw();
1417: 
1417: 
1417:     virtual const char* what() const throw();
1417:   };
1417: 
1417: 
1417: 
1417:   enum class align_val_t: size_t {};
1417: 
1417: 
1417:   struct nothrow_t
1417:   {
1417: 
1417:     explicit nothrow_t() = default;
1417: 
1417:   };
1417: 
1417:   extern const nothrow_t nothrow;
1417: 
1417: 
1417: 
1417:   typedef void (*new_handler)();
1417: 
1417: 
1417: 
1417:   new_handler set_new_handler(new_handler) throw();
1417: 
1417: 
1417: 
1417:   new_handler get_new_handler() noexcept;
1417: 
1417: }
1417: # 126 "/usr/include/c++/12/new" 3
1417: [[__nodiscard__]] void* operator new(std::size_t)
1417:   __attribute__((__externally_visible__));
1417: [[__nodiscard__]] void* operator new[](std::size_t)
1417:   __attribute__((__externally_visible__));
1417: void operator delete(void*) noexcept
1417:   __attribute__((__externally_visible__));
1417: void operator delete[](void*) noexcept
1417:   __attribute__((__externally_visible__));
1417: 
1417: void operator delete(void*, std::size_t) noexcept
1417:   __attribute__((__externally_visible__));
1417: void operator delete[](void*, std::size_t) noexcept
1417:   __attribute__((__externally_visible__));
1417: 
1417: [[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept
1417:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1417: [[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept
1417:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1417: void operator delete(void*, const std::nothrow_t&) noexc     for (unsigned int __j = 0; __j <= __i; ++__j)
609:             {
609: 
609:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
609:                               - ::std::lgamma(_Tp(1 + __j))
609:                               - ::std::lgamma(_Tp(1 + __i - __j));
609: 
609: 
609: 
609: 
609: 
609:               if (__bincoeff > __max_bincoeff)
609:                 {
609: 
609:                   __punt = true;
609:                   break;
609:                 }
609:               __bincoeff = std::exp(__bincoeff);
609:               __term += __sgn * __bincoeff * std::pow(_Tp(__a + __j), -__s);
609:               __sgn *= _Tp(-1);
609:             }
609:           if (__punt)
609:             break;
609:           __term /= _Tp(__i + 1);
609:           if (std::abs(__term / __zeta) < __eps)
609:             break;
609:           __zeta += __term;
609:         }
609: 
609:       __zeta /= __s - _Tp(1);
609: 
609:       return __zeta;
609:     }
609: # 430 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
609:     template<typename _Tp>
609:     inline _Tp
609:     __hurwitz_zeta(_Tp __a, _Tp __s)
609:     { return __hurwitz_zeta_glob(__a, __s); }
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 60 "/usr/include/c++/12/bits/specfun.h" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 205 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
609:   { return __detail::__assoc_laguerre<float>(__n, __m, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   assoc_laguerrel(unsigned int __n, unsigned int __m, long double __x)
609:   { return __detail::__assoc_laguerre<long double>(__n, __m, __x); }
609: # 250 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__assoc_laguerre<__type>(__n, __m, __x);
609:     }
609: # 266 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   assoc_legendref(unsigned int __l, unsigned int __m, float __x)
609:   { return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
609:   { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
609: # 296 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
609:     }
609: # 311 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   betaf(float __a, float __b)
609:   { return __detail::__beta<float>(__a, __b); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   betal(long double __a, long double __b)
609:   { return __detail::__beta<long double>(__a, __b); }
609: # 341 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tpa, typename _Tpb>
609:     inline typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type
609:     beta(_Tpa __a, _Tpb __b)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type __type;
609:       return __detail::__beta<__type>(__a, __b);
609:     }
609: # 357 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   comp_ellint_1f(float __k)
609:   { return __detail::__comp_ellint_1<float>(__k); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   comp_ellint_1l(long double __k)
609:   { return __detail::__comp_ellint_1<long double>(__k); }
609: # 389 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::_oc>::_Base_ptr,
1412:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::_Base_ptr>
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_get_insert_equal_pos(const key_type& __k)
1412:     {
1412:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1412:       _Link_type __x = _M_begin();
1412:       _Base_ptr __y = _M_end();
1412:       while (__x != 0)
1412:  {
1412:    __y = __x;
1412:    __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
1412:   _S_left(__x) : _S_right(__x);
1412:  }
1412:       return _Res(__x, __y);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412: 
1412:     template<typename _Arg>
1412: 
1412:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::iterator, bool>
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412: 
1412:     _M_insert_unique(_Arg&& __v)
1412: 
1412: 
1412: 
1412:     {
1412:       typedef pair<iterator, bool> _Res;
1412:       pair<_Base_ptr, _Base_ptr> __res
1412:  = _M_get_insert_unique_pos(_KeyOfValue()(__v));
1412: 
1412:       if (__res.second)
1412:  {
1412:    _Alloc_node __an(*this);
1412:    return _Res(_M_insert_(__res.first, __res.second,
1412:      std::forward<_Arg>(__v), __an),
1412:         true);
1412:  }
1412: 
1412:       return _Res(iterator(__res.first), false);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412: 
1412:     template<typename _Arg>
1412: 
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412: 
1412:     _M_insert_equal(_Arg&& __v)
1412: 
1412: 
1412: 
1412:     {
1412:       pair<_Base_ptr, _Base_ptr> __res
1412:  = _M_get_insert_equal_pos(_KeyOfValue()(__v));
1412:       _Alloc_node __an(*this);
1412:       return _M_insert_(__res.first, __res.second,
1412:    std::forward<_Arg>(__v), __an);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::_Base_ptr,
1412:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::_Base_ptr>
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_get_insert_hint_unique_pos(const_iterator __position,
1412:       const key_type& __k)
1412:     {
1412:       iterator __pos = __position._M_const_cast();
1412:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1412: 
1412: 
1412:       if (__pos._M_node == _M_end())
1412:  {
1412:    if (size() > 0
1412:        && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k))
1412:      return _Res(0, _M_rightmost());
1412:    else
1412:      return _M_get_insert_unique_pos(__k);
1412:  }
1412:       else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
1412:  {
1412: 
1412:    iterator __before = __pos;
1412:    if (__pos._M_node == _M_leftmost())
1412:      return _Res(_M_leftmost(), _M_leftmost());
1412:    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
1412:      {
1412:        if (_S_right(__before._M_node) == 0)
1412:   return _Res(0, __before._M_node);
1412:        else
1412:   return _Res(__pos._M_node, __pos._M_node);
1412:      }
1412:    else
1412:      return _M_get_insert_unique_pos(__k);
1412:  }
1412:       else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1412:  {
1412: 
1412:    iterator __after = __pos;
1412:    if (__pos._M_node == _M_rightmost())
1412:      return _Res(0, _M_rightmost());
1412:    else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
1412:      {
1412:        if (_S_right(__pos._M_node) == 0)
1412:   return _Res(0, __pos._M_node);
1412:        else
1412:   return _Res(__after._M_node, __after._M_node);
1412:      }
1412:    else
1412:      return _M_get_insert_unique_pos(__k);
1412:  }
1412:       else
1412: 
1412:  return _Res(ept
1417:   __attribute__((__externally_visible__));
1417: void operator delete[](void*, const std::nothrow_t&) noexcept
1417:   __attribute__((__externally_visible__));
1417: 
1417: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
1417:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1417: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
1417:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1417: void operator delete(void*, std::align_val_t)
1417:   noexcept __attribute__((__externally_visible__));
1417: void operator delete(void*, std::align_val_t, const std::nothrow_t&)
1417:   noexcept __attribute__((__externally_visible__));
1417: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
1417:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1417: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
1417:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1417: void operator delete[](void*, std::align_val_t)
1417:   noexcept __attribute__((__externally_visible__));
1417: void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
1417:   noexcept __attribute__((__externally_visible__));
1417: 
1417: void operator delete(void*, std::size_t, std::align_val_t)
1417:   noexcept __attribute__((__externally_visible__));
1417: void operator delete[](void*, std::size_t, std::align_val_t)
1417:   noexcept __attribute__((__externally_visible__));
1417: 
1417: 
1417: 
1417: 
1417: [[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept
1417: { return __p; }
1417: [[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept
1417: { return __p; }
1417: 
1417: 
1417: inline void operator delete (void*, void*) noexcept { }
1417: inline void operator delete[](void*, void*) noexcept { }
1417: 
1417: }
1417: 
1417: 
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[nodiscard]] constexpr _Tp*
1417:     launder(_Tp* __p) noexcept
1417:     { return __builtin_launder(__p); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Ret, typename... _Args , bool _NE>
1417:     void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete;
1417:   template<typename _Ret, typename... _Args , bool _NE>
1417:     void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete;
1417: 
1417:   void launder(void*) = delete;
1417:   void launder(const void*) = delete;
1417:   void launder(volatile void*) = delete;
1417:   void launder(const volatile void*) = delete;
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr size_t hardware_destructive_interference_size = 64;
1417:   inline constexpr size_t hardware_constructive_interference_size = 64;
1417: 
1417: }
1417: # 236 "/usr/include/c++/12/new" 3
1417: #pragma GCC visibility pop
1417: # 60 "/usr/include/c++/12/bits/stl_construct.h" 2 3
1417: # 73 "/usr/include/c++/12/bits/stl_construct.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template <typename _Tp>
1417:     inline void
1417:     destroy_at(_Tp* __location)
1417:     {
1417:       if constexpr (201703L > 201703L && is_array_v<_Tp>)
1417:  {
1417:    for (auto& __x : *__location)
1417:      std::destroy_at(std::__addressof(__x));
1417:  }
1417:       else
1417:  __location->~_Tp();
1417:     }
1417: # 106 "/usr/include/c++/12/bits/stl_construct.h" 3
1417:   template<typename _Tp, typename... _Args>
1417:    
1417:     inline void
1417:     _Construct(_Tp* __p, _Args&&... __args)
1417:     {
1417: # 119 "/usr/include/c++/12/bits/stl_construct.h" 3
1417:       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1417:     }
1417: # 132 "/usr/include/c++/12/bits/stl_construct.h" 3
1417:   template<typename _T1>
1417:     inline void
1417:     _Construct_novalue(_T1* __p)
1417:     { ::new((void*)__p) _T1; }
1417: 
1417:   template<typename _ForwardIterator>
1417:     void
1417:     _Destroy(_ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr inline void
1417:     _Destroy(_Tp* __pointer)
1417:     {
1417: 
1417: 
1417: 
1417:       __pointer->~_Tp();
1417: 
1417:     }
1417: 
1417:   template<bool>
1417:     struct _Destroy_aux
1417:     {
1417:       template<typename _ForwardIterator>
1417:  static void
1417:  __destroy(_ForwardIterator __first, _ForwardIterator __last)
1417:  {
1417:    for (; __first != __last; ++__first)
1417:      std::_Destroy(std::__addressof(*__first));
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct _Destroy_aux<true>
1417:     {
1417:       template<typename _ForwardIterator>
1417:         static void
1417:         __destroy(_ForwardIterator, _ForwardIterator) { }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator>
1417:     inline void
1417:     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:                        _Value_type;
1417: 
1417: 
1417:       static_assert(is_destructible<_Value_type>::value,
1417:       "value type is destructible");
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
1417:  __destroy(__first, __last);
1417:     }
1417: 
1417:   template<bool>
1417:     struct _Destroy_n_aux
1417:     {
1417:       template<typename _ForwardIterator, typename _Size>
1417:  static _ForwardIterator
1417:  __destroy_n(_ForwardIterator __first, _Size __count)
1417:  {
1417:    for (; __count > 0; (void)++__first, --__count)
1417:      std::_Destroy(std::__addressof(*__first));
1417:    return __first;
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct _Destroy_n_aux<true>
1417:     {
1417:       template<typename _ForwardIterator, typename _Size>
1417:         static _ForwardIterator
1417:         __destroy_n(_ForwardIterator __first, _Size __count)
1417:  {
1417:    std::advance(__first, __count);
1417:    return __first;
1417:  }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Size>
1417:     inline _ForwardIterator
1417:     _Destroy_n(_ForwardIterator __first, _Size __count)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:                        _Value_type;
1417: 
1417: 
1417:       static_assert(is_destructible<_Value_type>::value,
1417:       "value type is destructible");
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>::
1417:  __destroy_n(__first, __count);
1417:     }
1417: 
1417: 
1417:   template <typename _ForwardIterator>
1417:     inline void
1417:     destroy(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417:       std::_Destroy(__first, __last);
1417:     }
1417: 
1417:   template <typename _ForwardIterator, typename _Size>
1417:     inline _ForwardIterator
1417:     destroy_n(_ForwardIterator __first, _Size __count)
1417:     {
1417:       return std::_Destroy_n(__first, __count);
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/bits/stl_tempbuf.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   namespace __detail
1417:   {
1417:     template<typename _Tp>
1417:       inline void
1417:       __return_temporary_buffer(_Tp* __p,
1417:     size_t __len __attribute__((__unused__)))
1417:       {
1417: 
1417:  ::operator delete(__p, __len * sizeof(_Tp));
1417: 
1417: 
1417: 
1417:       }
1417:   }
1417: # 98 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1417:   template<typename _Tp>
1417:     [[__deprecated__]]
1417:     pair<_Tp*, ptrdiff_t>
1417:     get_temporary_buffer(ptrdiff_t __len) noexcept
1417:     {
1417:       const ptrdiff_t __max =
1417:  __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1417:       if (__len > __max)
1417:  __len = __max_type
609:     comp_ellint_1(_Tp __k)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__comp_ellint_1<__type>(__k);
609:     }
609: # 405 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   comp_ellint_2f(float __k)
609:   { return __detail::__comp_ellint_2<float>(__k); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   comp_ellint_2l(long double __k)
609:   { return __detail::__comp_ellint_2<long double>(__k); }
609: # 436 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     comp_ellint_2(_Tp __k)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__comp_ellint_2<__type>(__k);
609:     }
609: # 452 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   comp_ellint_3f(float __k, float __nu)
609:   { return __detail::__comp_ellint_3<float>(__k, __nu); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   comp_ellint_3l(long double __k, long double __nu)
609:   { return __detail::__comp_ellint_3<long double>(__k, __nu); }
609: # 487 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp, typename _Tpn>
609:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
609:     comp_ellint_3(_Tp __k, _Tpn __nu)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type __type;
609:       return __detail::__comp_ellint_3<__type>(__k, __nu);
609:     }
609: # 503 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   cyl_bessel_if(float __nu, float __x)
609:   { return __detail::__cyl_bessel_i<float>(__nu, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   cyl_bessel_il(long double __nu, long double __x)
609:   { return __detail::__cyl_bessel_i<long double>(__nu, __x); }
609: # 533 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tpnu, typename _Tp>
609:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
609:     cyl_bessel_i(_Tpnu __nu, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
609:       return __detail::__cyl_bessel_i<__type>(__nu, __x);
609:     }
609: # 549 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   cyl_bessel_jf(float __nu, float __x)
609:   { return __detail::__cyl_bessel_j<float>(__nu, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   cyl_bessel_jl(long double __nu, long double __x)
609:   { return __detail::__cyl_bessel_j<long double>(__nu, __x); }
609: # 579 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tpnu, typename _Tp>
609:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
609:     cyl_bessel_j(_Tpnu __nu, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
609:       return __detail::__cyl_bessel_j<__type>(__nu, __x);
609:     }
609: # 595 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   cyl_bessel_kf(float __nu, float __x)
609:   { return __detail::__cyl_bessel_k<float>(__nu, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   cyl_bessel_kl(long double __nu, long double __x)
609:   { return __detail::__cyl_bessel_k<long double>(__nu, __x); }
609: # 631 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tpnu, typename _Tp>
609:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
609:     cyl_bessel_k(_Tpnu __nu, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
609:       return __detail::__cyl_bessel_k<__type>(__nu, __x);
609:     }
609: # 647 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   cyl_neumannf(float __nu, float __x)
609:   { return __detail::__cyl_neumann_n<float>(__nu, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   cyl_neumannl(long double __nu, long double __x)
;
1417: 
1417:       while (__len > 0)
1417:  {
1417:    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
1417:        std::nothrow));
1417:    if (__tmp != 0)
1417:      return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
1417:    __len = __len == 1 ? 0 : ((__len + 1) / 2);
1417:  }
1417:       return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
1417:     }
1417: # 126 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1417:   template<typename _Tp>
1417:     inline void
1417:     return_temporary_buffer(_Tp* __p)
1417:     { ::operator delete(__p); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Tp>
1417:     class _Temporary_buffer
1417:     {
1417: 
1417:      
1417: 
1417:     public:
1417:       typedef _Tp value_type;
1417:       typedef value_type* pointer;
1417:       typedef pointer iterator;
1417:       typedef ptrdiff_t size_type;
1417: 
1417:     protected:
1417:       size_type _M_original_len;
1417:       size_type _M_len;
1417:       pointer _M_buffer;
1417: 
1417:     public:
1417: 
1417:       size_type
1417:       size() const
1417:       { return _M_len; }
1417: 
1417: 
1417:       size_type
1417:       requested_size() const
1417:       { return _M_original_len; }
1417: 
1417: 
1417:       iterator
1417:       begin()
1417:       { return _M_buffer; }
1417: 
1417: 
1417:       iterator
1417:       end()
1417:       { return _M_buffer + _M_len; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       _Temporary_buffer(_ForwardIterator __seed, size_type __original_len);
1417: 
1417:       ~_Temporary_buffer()
1417:       {
1417:  std::_Destroy(_M_buffer, _M_buffer + _M_len);
1417:  std::__detail::__return_temporary_buffer(_M_buffer, _M_len);
1417:       }
1417: 
1417:     private:
1417: 
1417:       _Temporary_buffer(const _Temporary_buffer&);
1417: 
1417:       void
1417:       operator=(const _Temporary_buffer&);
1417:     };
1417: 
1417: 
1417:   template<bool>
1417:     struct __uninitialized_construct_buf_dispatch
1417:     {
1417:       template<typename _Pointer, typename _ForwardIterator>
1417:         static void
1417:         __ucr(_Pointer __first, _Pointer __last,
1417:        _ForwardIterator __seed)
1417:         {
1417:    if (__first == __last)
1417:      return;
1417: 
1417:    _Pointer __cur = __first;
1417:    try
1417:      {
1417:        std::_Construct(std::__addressof(*__first),
1417:          std::move(*__seed));
1417:        _Pointer __prev = __cur;
1417:        ++__cur;
1417:        for(; __cur != __last; ++__cur, ++__prev)
1417:   std::_Construct(std::__addressof(*__cur),
1417:     std::move(*__prev));
1417:        *__seed = std::move(*__prev);
1417:      }
1417:    catch(...)
1417:      {
1417:        std::_Destroy(__first, __cur);
1417:        throw;
1417:      }
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_construct_buf_dispatch<true>
1417:     {
1417:       template<typename _Pointer, typename _ForwardIterator>
1417:         static void
1417:         __ucr(_Pointer, _Pointer, _ForwardIterator) { }
1417:     };
1417: # 244 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1417:   template<typename _Pointer, typename _ForwardIterator>
1417:     inline void
1417:     __uninitialized_construct_buf(_Pointer __first, _Pointer __last,
1417:       _ForwardIterator __seed)
1417:     {
1417:       typedef typename std::iterator_traits<_Pointer>::value_type
1417:  _ValueType;
1417: 
1417:       std::__uninitialized_construct_buf_dispatch<
1417:         __has_trivial_constructor(_ValueType)>::
1417:    __ucr(__first, __last, __seed);
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp>
1417:     _Temporary_buffer<_ForwardIterator, _Tp>::
1417:     _Temporary_buffer(_ForwardIterator __seed, size_type __original_len)
1417:     : _M_original_len(__original_len), _M_len(0), _M_buffer(0)
1417:     {
1417:       std::pair<pointer, size_type> __p(
1417:   std::get_temporary_buffer<value_type>(_M_original_len));
1417: 
1417:       if (__p.first)
1417:  {
1417:    try
1417:      {
141__pos._M_node, 0);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412: 
1412:     template<typename _Arg, typename _NodeGen>
1412: 
1412: 
1412: 
1412:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_insert_unique_(const_iterator __position,
1412: 
1412:    _Arg&& __v,
1412: 
1412: 
1412: 
1412:    _NodeGen& __node_gen)
1412:     {
1412:       pair<_Base_ptr, _Base_ptr> __res
1412:  = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v));
1412: 
1412:       if (__res.second)
1412:  return _M_insert_(__res.first, __res.second,
1412:      std::forward<_Arg>(__v),
1412:      __node_gen);
1412:       return iterator(__res.first);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::_Base_ptr,
1412:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:       _Compare, _Alloc>::_Base_ptr>
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k)
1412:     {
1412:       iterator __pos = __position._M_const_cast();
1412:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1412: 
1412: 
1412:       if (__pos._M_node == _M_end())
1412:  {
1412:    if (size() > 0
1412:        && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost())))
1412:      return _Res(0, _M_rightmost());
1412:    else
1412:      return _M_get_insert_equal_pos(__k);
1412:  }
1412:       else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1412:  {
1412: 
1412:    iterator __before = __pos;
1412:    if (__pos._M_node == _M_leftmost())
1412:      return _Res(_M_leftmost(), _M_leftmost());
1412:    else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node)))
1412:      {
1412:        if (_S_right(__before._M_node) == 0)
1412:   return _Res(0, __before._M_node);
1412:        else
1412:   return _Res(__pos._M_node, __pos._M_node);
1412:      }
1412:    else
1412:      return _M_get_insert_equal_pos(__k);
1412:  }
1412:       else
1412:  {
1412: 
1412:    iterator __after = __pos;
1412:    if (__pos._M_node == _M_rightmost())
1412:      return _Res(0, _M_rightmost());
1412:    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k))
1412:      {
1412:        if (_S_right(__pos._M_node) == 0)
1412:   return _Res(0, __pos._M_node);
1412:        else
1412:   return _Res(__after._M_node, __after._M_node);
1412:      }
1412:    else
1412:      return _Res(0, 0);
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412: 
1412:     template<typename _Arg, typename _NodeGen>
1412: 
1412: 
1412: 
1412:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_insert_equal_(const_iterator __position,
1412: 
1412:          _Arg&& __v,
1412: 
1412: 
1412: 
1412:          _NodeGen& __node_gen)
1412:       {
1412:  pair<_Base_ptr, _Base_ptr> __res
1412:    = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v));
1412: 
1412:  if (__res.second)
1412:    return _M_insert_(__res.first, __res.second,
1412:        std::forward<_Arg>(__v),
1412:        __node_gen);
1412: 
1412:  return _M_insert_equal_lower(std::forward<_Arg>(__v));
1412:       }
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     auto
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z)
1412:     -> iterator
1412:     {
1412:       bool __insert_left = (__x != 0 || __p == _M_end()
1412:        || _M_impl._M_key_compare(_S_key(__z),
1412:             _S_key(__p)));
1412: 
1412:     7:        std::__uninitialized_construct_buf(__p.first, __p.first + __p.second,
1417:        __seed);
1417:        _M_buffer = __p.first;
1417:        _M_len = __p.second;
1417:      }
1417:    catch(...)
1417:      {
1417:        std::__detail::__return_temporary_buffer(__p.first, __p.second);
1417:        throw;
1417:      }
1417:  }
1417:     }
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/uniform_int_dist.h" 1 3
1417: # 41 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 58 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1417:   namespace __detail
1417:   {
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:       constexpr bool
1417:       _Power_of_2(_Tp __x)
1417:       {
1417:  return ((__x - 1) & __x) == 0;
1417:       }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _IntType = int>
1417:     class uniform_int_distribution
1417:     {
1417:       static_assert(std::is_integral<_IntType>::value,
1417:       "template argument must be an integral type");
1417: 
1417:     public:
1417: 
1417:       typedef _IntType result_type;
1417: 
1417:       struct param_type
1417:       {
1417:  typedef uniform_int_distribution<_IntType> distribution_type;
1417: 
1417:  param_type() : param_type(0) { }
1417: 
1417:  explicit
1417:  param_type(_IntType __a,
1417:      _IntType __b = __gnu_cxx::__int_traits<_IntType>::__max)
1417:  : _M_a(__a), _M_b(__b)
1417:  {
1417:    do { if (std::__is_constant_evaluated() && !bool(_M_a <= _M_b)) __builtin_unreachable(); } while (false);
1417:  }
1417: 
1417:  result_type
1417:  a() const
1417:  { return _M_a; }
1417: 
1417:  result_type
1417:  b() const
1417:  { return _M_b; }
1417: 
1417:  friend bool
1417:  operator==(const param_type& __p1, const param_type& __p2)
1417:  { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; }
1417: 
1417:  friend bool
1417:  operator!=(const param_type& __p1, const param_type& __p2)
1417:  { return !(__p1 == __p2); }
1417: 
1417:       private:
1417:  _IntType _M_a;
1417:  _IntType _M_b;
1417:       };
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:       uniform_int_distribution() : uniform_int_distribution(0) { }
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       uniform_int_distribution(_IntType __a,
1417:           _IntType __b
1417:      = __gnu_cxx::__int_traits<_IntType>::__max)
1417:       : _M_param(__a, __b)
1417:       { }
1417: 
1417:       explicit
1417:       uniform_int_distribution(const param_type& __p)
1417:       : _M_param(__p)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       reset() { }
1417: 
1417:       result_type
1417:       a() const
1417:       { return _M_param.a(); }
1417: 
1417:       result_type
1417:       b() const
1417:       { return _M_param.b(); }
1417: 
1417: 
1417: 
1417: 
1417:       param_type
1417:       param() const
1417:       { return _M_param; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       param(const param_type& __param)
1417:       { _M_param = __param; }
1417: 
1417: 
1417: 
1417: 
1417:       result_type
1417:       min() const
1417:       { return this->a(); }
1417: 
1417: 
1417: 
1417: 
1417:       result_type
1417:       max() const
1417:       { return this->b(); }
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _UniformRandomBitGenerator>
1417:  result_type
1417:  operator()(_UniformRandomBitGenerator& __urng)
1417:         { return this->operator()(__urng, _M_param); }
1417: 
1417:       template<typename _UniformRandomBitGenerator>
1417:  result_type
1417:  operator()(_UniformRandomBitGenerator& __urng,
1417:      const param_type& __p);
1417: 
1417:       template<typename _ForwardIterator,
1417:         typename _UniformRandomBitGenerator>
1417:  void
1417:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1417:      _UniformRandomBitGenerator& __urng)
1417:  { this->__generate(__f, __t, __urng,609:   { return __detail::__cyl_neumann_n<long double>(__nu, __x); }
609: # 679 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tpnu, typename _Tp>
609:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
609:     cyl_neumann(_Tpnu __nu, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
609:       return __detail::__cyl_neumann_n<__type>(__nu, __x);
609:     }
609: # 695 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   ellint_1f(float __k, float __phi)
609:   { return __detail::__ellint_1<float>(__k, __phi); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   ellint_1l(long double __k, long double __phi)
609:   { return __detail::__ellint_1<long double>(__k, __phi); }
609: # 727 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp, typename _Tpp>
609:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
609:     ellint_1(_Tp __k, _Tpp __phi)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
609:       return __detail::__ellint_1<__type>(__k, __phi);
609:     }
609: # 743 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   ellint_2f(float __k, float __phi)
609:   { return __detail::__ellint_2<float>(__k, __phi); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   ellint_2l(long double __k, long double __phi)
609:   { return __detail::__ellint_2<long double>(__k, __phi); }
609: # 775 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp, typename _Tpp>
609:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
609:     ellint_2(_Tp __k, _Tpp __phi)
609:     {
609:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
609:       return __detail::__ellint_2<__type>(__k, __phi);
609:     }
609: # 791 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   ellint_3f(float __k, float __nu, float __phi)
609:   { return __detail::__ellint_3<float>(__k, __nu, __phi); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   ellint_3l(long double __k, long double __nu, long double __phi)
609:   { return __detail::__ellint_3<long double>(__k, __nu, __phi); }
609: # 828 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp, typename _Tpn, typename _Tpp>
609:     inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
609:     ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
609:     {
609:       typedef typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type __type;
609:       return __detail::__ellint_3<__type>(__k, __nu, __phi);
609:     }
609: # 843 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   expintf(float __x)
609:   { return __detail::__expint<float>(__x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   expintl(long double __x)
609:   { return __detail::__expint<long double>(__x); }
609: # 868 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     expint(_Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__expint<__type>(__x);
609:     }
609: # 884 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   hermitef(unsigned int __n, float __x)
609:   { return __detail::__poly_hermite<float>(__n, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   hermitel(unsigned int __n, long double __x)
609:   { return __detail::__poly_hermite<long double>(__n, __x); }
609: # 916 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     hermite(unsigned int __n, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__poly_hermite<__type>(__n, __x);
609:     }
609: # 932 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   laguerref(unsigned int __n, float   _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1412:         this->_M_impl._M_header);
1412:       ++_M_impl._M_node_count;
1412:       return iterator(__z);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     auto
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_insert_lower_node(_Base_ptr __p, _Link_type __z)
1412:     -> iterator
1412:     {
1412:       bool __insert_left = (__p == _M_end()
1412:        || !_M_impl._M_key_compare(_S_key(__p),
1412:              _S_key(__z)));
1412: 
1412:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1412:         this->_M_impl._M_header);
1412:       ++_M_impl._M_node_count;
1412:       return iterator(__z);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     auto
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_insert_equal_lower_node(_Link_type __z)
1412:     -> iterator
1412:     {
1412:       _Link_type __x = _M_begin();
1412:       _Base_ptr __y = _M_end();
1412:       while (__x != 0)
1412:  {
1412:    __y = __x;
1412:    __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ?
1412:   _S_left(__x) : _S_right(__x);
1412:  }
1412:       return _M_insert_lower_node(__y, __z);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     template<typename... _Args>
1412:       auto
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_emplace_unique(_Args&&... __args)
1412:       -> pair<iterator, bool>
1412:       {
1412:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1412:  auto __res = _M_get_insert_unique_pos(__z._M_key());
1412:  if (__res.second)
1412:    return {__z._M_insert(__res), true};
1412:  return {iterator(__res.first), false};
1412:       }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     template<typename... _Args>
1412:       auto
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_emplace_equal(_Args&&... __args)
1412:       -> iterator
1412:       {
1412:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1412:  auto __res = _M_get_insert_equal_pos(__z._M_key());
1412:  return __z._M_insert(__res);
1412:       }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     template<typename... _Args>
1412:       auto
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args)
1412:       -> iterator
1412:       {
1412:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1412:  auto __res = _M_get_insert_hint_unique_pos(__pos, __z._M_key());
1412:  if (__res.second)
1412:    return __z._M_insert(__res);
1412:  return iterator(__res.first);
1412:       }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     template<typename... _Args>
1412:       auto
1412:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:       _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args)
1412:       -> iterator
1412:       {
1412:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1412:  auto __res = _M_get_insert_hint_equal_pos(__pos, __z._M_key());
1412:  if (__res.second)
1412:    return __z._M_insert(__res);
1412:  return __z._M_insert_equal_lower();
1412:       }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     void
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_erase_aux(const_iterator __position)
1412:     {
1412:       _Link_type __y =
1412:  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
1412:    _M_param); }
1417: 
1417:       template<typename _ForwardIterator,
1417:         typename _UniformRandomBitGenerator>
1417:  void
1417:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1417:      _UniformRandomBitGenerator& __urng,
1417:      const param_type& __p)
1417:  { this->__generate_impl(__f, __t, __urng, __p); }
1417: 
1417:       template<typename _UniformRandomBitGenerator>
1417:  void
1417:  __generate(result_type* __f, result_type* __t,
1417:      _UniformRandomBitGenerator& __urng,
1417:      const param_type& __p)
1417:  { this->__generate_impl(__f, __t, __urng, __p); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       friend bool
1417:       operator==(const uniform_int_distribution& __d1,
1417:    const uniform_int_distribution& __d2)
1417:       { return __d1._M_param == __d2._M_param; }
1417: 
1417:     private:
1417:       template<typename _ForwardIterator,
1417:         typename _UniformRandomBitGenerator>
1417:  void
1417:  __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1417:    _UniformRandomBitGenerator& __urng,
1417:    const param_type& __p);
1417: 
1417:       param_type _M_param;
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Wp, typename _Urbg, typename _Up>
1417:  static _Up
1417:  _S_nd(_Urbg& __g, _Up __range)
1417:  {
1417:    using _Up_traits = __gnu_cxx::__int_traits<_Up>;
1417:    using _Wp_traits = __gnu_cxx::__int_traits<_Wp>;
1417:    static_assert(!_Up_traits::__is_signed, "U must be unsigned");
1417:    static_assert(!_Wp_traits::__is_signed, "W must be unsigned");
1417:    static_assert(_Wp_traits::__digits == (2 * _Up_traits::__digits),
1417:    "W must be twice as wide as U");
1417: 
1417: 
1417: 
1417: 
1417:    _Wp __product = _Wp(__g()) * _Wp(__range);
1417:    _Up __low = _Up(__product);
1417:    if (__low < __range)
1417:      {
1417:        _Up __threshold = -__range % __range;
1417:        while (__low < __threshold)
1417:   {
1417:     __product = _Wp(__g()) * _Wp(__range);
1417:     __low = _Up(__product);
1417:   }
1417:      }
1417:    return __product >> _Up_traits::__digits;
1417:  }
1417:     };
1417: 
1417:   template<typename _IntType>
1417:     template<typename _UniformRandomBitGenerator>
1417:       typename uniform_int_distribution<_IntType>::result_type
1417:       uniform_int_distribution<_IntType>::
1417:       operator()(_UniformRandomBitGenerator& __urng,
1417:    const param_type& __param)
1417:       {
1417:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1417:  typedef typename make_unsigned<result_type>::type __utype;
1417:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1417: 
1417:  constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
1417:  constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
1417:  static_assert( __urngmin < __urngmax,
1417:      "Uniform random bit generator must define min() < max()");
1417:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1417: 
1417:  const __uctype __urange
1417:    = __uctype(__param.b()) - __uctype(__param.a());
1417: 
1417:  __uctype __ret;
1417:  if (__urngrange > __urange)
1417:    {
1417: 
1417: 
1417:      const __uctype __uerange = __urange + 1;
1417: # 312 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1417:      if constexpr (__urngrange == 0xffffffffU)
1417:        {
1417: 
1417: 
1417:   unsigned int __u32erange = __uerange;
1417:   __ret = _S_nd<long long unsigned int>(__urng, __u32erange);
1417:        }
1417:      else
1417: 
1417:        {
1417: 
1417:   const __uctype __scaling = __urngrange / __uerange;
1417:   const __uctype __past = __uerange * __scaling;
1417:   do
1417:     __ret = __uctype(__urng()) - __urngmin;
1417:   while (__ret >= __past);
1417:   __ret /= __scaling;
1417:        }
1417:    }
1417:  else if (__urngrange < __urange)
1417:    {
1417: # 348 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1417:      __uctype __tmp;
1417:      do
1417:        {
1417:   const __uctype __uerngrange = __urngrange + 1;
1417:   __tmp = (__uerngrange * operator()
1417:     (__urng, param_type(0, __urange / __uerngrange)));
1417:   __ret = __tmp + (__uctype(__urng()) - __urngmin);
1417:        }
1417:      while (__ret > __urange || __ret < __tmp);
1417:    }
1417:  else
1417:    __ret = __uctype(__urng()) - __urngmin;
1417: 
1417:  return __ret + __param.a();
1417:       }
1417: 
1417: 
1417:   template<typename _IntType>
1417:     template<typename _ForwardIterator,
1417:       typename _UniformRandomBitGenerator>
1417:       void
1417:       uniform_int_distribution<_IntType>::
1417:       __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1417:         _UniformRandomBitGenerator& __urng,
1417:         const param_type& __param)
1417:       {
1417: 
1417:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1417:  typedef typename make_unsigned<result_type>::type __utype;
1417:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1417: 
1417:  static_assert( __urng.min() < __urng.max(),
1417:      "Uniform random bit generator must define min() < max()");
1417: 
1417:  constexpr __uctype __urngmin = __urng.min();
1417:  constexpr __uctype __urngmax = __urng.max();
1417:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1417:  const __uctype __urange
1417:    = __uctype(__param.b()) - __uctype(__param.a());
1417: 
1417:  __uctype __ret;
1417: 
1417:  if (__urngrange > __urange)
1417:    {
1417:      if (__detail::_Power_of_2(__urngrange + 1)
1417:   && __detail::_Power_of_2(__urange + 1))
1417:        {
1417:   while (__f != __t)
1417:     {
1417:       __ret = __uctype(__urng()) - __urngmin;
1417:       *__f++ = (__ret & __urange) + __param.a();
1417:     }
1417:        }
1417:      else
1417:        {
1417: 
1417:   const __uctype __uerange = __urange + 1;
1417:   const __uctype __scaling = __urngrange / __uerange;
1417:   const __uctype __past = __uerange * __scaling;
1417:   while (__f != __t)
1417:     {
1417:       do
1417:         __ret = __uctype(__urng()) - __urngmin;
1417:       while (__ret >= __past);
1417:       *__f++ = __ret / __scaling + __param.a();
1417:     }
1417:        }
1417:    }
1417:  else if (__urngrange < __urange)
1417:    {
1417: # 433 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1417:      __uctype __tmp;
1417:      while (__f != __t)
1417:        {
1417:   do
1417:     {
1417:       constexpr __uctype __uerngrange = __urngrange + 1;
1417:       __tmp = (__uerngrange * operator()
1417:         (__urng, param_type(0, __urange / __uerngrange)));
1417:       __ret = __tmp + (__uctype(__urng()) - __urngmin);
1417:     }
1417:   while (__ret > __urange || __ret < __tmp);
1417:   *__f++ = __ret;
1417:        }
1417:    }
1417:  else
1417:    while (__f != __t)
1417:      *__f++ = __uctype(__urng()) - __urngmin + __param.a();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 66 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/cstdlib" 1 3
1417: # 39 "/usr/include/c++/12/cstdlib" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstdlib" 3
1417: # 75 "/usr/include/c++/12/cstdlib" 3
1417: # 1 "/usr/include/stdlib.h" 1 3 4
1417: # 26 "/usr/include/stdlib.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1417: # 27 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 214 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1417: typedef unsigned int size_t;
1417: # 33 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 1 3 4
1417: # 41 "/usr/include/stdlib.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitstatus.h" 1 3 4
1417: # 42 "/usr/include/stdlib.h" 2 3 4
1417: # 56 "/usr/include/stdlib.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1417: # 52 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 1 3 4
1417: # 24 "/usr/include/arm-linux__x)
609:   { return __detail::__laguerre<float>(__n, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   laguerrel(unsigned int __n, long double __x)
609:   { return __detail::__laguerre<long double>(__n, __x); }
609: # 960 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     laguerre(unsigned int __n, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__laguerre<__type>(__n, __x);
609:     }
609: # 976 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   legendref(unsigned int __l, float __x)
609:   { return __detail::__poly_legendre_p<float>(__l, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   legendrel(unsigned int __l, long double __x)
609:   { return __detail::__poly_legendre_p<long double>(__l, __x); }
609: # 1005 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     legendre(unsigned int __l, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__poly_legendre_p<__type>(__l, __x);
609:     }
609: # 1021 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   riemann_zetaf(float __s)
609:   { return __detail::__riemann_zeta<float>(__s); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   riemann_zetal(long double __s)
609:   { return __detail::__riemann_zeta<long double>(__s); }
609: # 1056 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     riemann_zeta(_Tp __s)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__riemann_zeta<__type>(__s);
609:     }
609: # 1072 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   sph_besself(unsigned int __n, float __x)
609:   { return __detail::__sph_bessel<float>(__n, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   sph_bessell(unsigned int __n, long double __x)
609:   { return __detail::__sph_bessel<long double>(__n, __x); }
609: # 1100 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     sph_bessel(unsigned int __n, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__sph_bessel<__type>(__n, __x);
609:     }
609: # 1116 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   sph_legendref(unsigned int __l, unsigned int __m, float __theta)
609:   { return __detail::__sph_legendre<float>(__l, __m, __theta); }
609: # 1127 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline long double
609:   sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
609:   { return __detail::__sph_legendre<long double>(__l, __m, __theta); }
609: # 1147 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
609:       return __detail::__sph_legendre<__type>(__l, __m, __theta);
609:     }
609: # 1163 "/usr/include/c++/12/bits/specfun.h" 3
609:   inline float
609:   sph_neumannf(unsigned int __n, float __x)
609:   { return __detail::__sph_neumann<float>(__n, __x); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline long double
609:   sph_neumannl(unsigned int __n, long double __x)
609:   { return __detail::__sph_neumann<long double>(__n, __x); }
609: # 1191 "/usr/include/c++/12/bits/specfun.h" 3
609:   template<typename _Tp>
609:     inline typename __gnu_cxx::__promote<_Tp>::__type
609:     sph_neumann(unsigned int __n, _Tp __x)
609:     {
609:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type  (const_cast<_Base_ptr>(__position._M_node),
1412:      this->_M_impl._M_header));
1412:       _M_drop_node(__y);
1412:       --_M_impl._M_node_count;
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     void
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     _M_erase_aux(const_iterator __first, const_iterator __last)
1412:     {
1412:       if (__first == begin() && __last == end())
1412:  clear();
1412:       else
1412:  while (__first != __last)
1412:    _M_erase_aux(__first++);
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     erase(const _Key& __x)
1412:     {
1412:       pair<iterator, iterator> __p = equal_range(__x);
1412:       const size_type __old_size = size();
1412:       _M_erase_aux(__p.first, __p.second);
1412:       return __old_size - size();
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:         _Compare, _Alloc>::iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     find(const _Key& __k)
1412:     {
1412:       iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1412:       return (__j == end()
1412:        || _M_impl._M_key_compare(__k,
1412:      _S_key(__j._M_node))) ? end() : __j;
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1412:         _Compare, _Alloc>::const_iterator
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     find(const _Key& __k) const
1412:     {
1412:       const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1412:       return (__j == end()
1412:        || _M_impl._M_key_compare(__k,
1412:      _S_key(__j._M_node))) ? end() : __j;
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1412:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1412:     count(const _Key& __k) const
1412:     {
1412:       pair<const_iterator, const_iterator> __p = equal_range(__k);
1412:       const size_type __n = std::distance(__p.first, __p.second);
1412:       return __n;
1412:     }
1412: 
1412:   __attribute__ ((__pure__)) unsigned int
1412:   _Rb_tree_black_count(const _Rb_tree_node_base* __node,
1412:          const _Rb_tree_node_base* __root) throw ();
1412: 
1412:   template<typename _Key, typename _Val, typename _KeyOfValue,
1412:     typename _Compare, typename _Alloc>
1412:     bool
1412:     _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
1412:     {
1412:       if (_M_impl._M_node_count == 0 || begin() == end())
1412:  return _M_impl._M_node_count == 0 && begin() == end()
1412:         && this->_M_impl._M_header._M_left == _M_end()
1412:         && this->_M_impl._M_header._M_right == _M_end();
1412: 
1412:       unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
1412:       for (const_iterator __it = begin(); __it != end(); ++__it)
1412:  {
1412:    _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
1412:    _Const_Link_type __L = _S_left(__x);
1412:    _Const_Link_type __R = _S_right(__x);
1412: 
1412:    if (__x->_M_color == _S_red)
1412:      if ((__L && __L->_M_color == _S_red)
1412:   || (__R && __R->_M_color == _S_red))
1412:        return false;
1412: 
1412:    if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
1412:      return false;
1412:    if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
1412:      return false;
1412: 
1412:    if (!_-gnueabihf/bits/floatn-common.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1417: # 25 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 2 3 4
1417: # 214 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1417: typedef float _Float32;
1417: # 238 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1417: typedef long double _Float64;
1417: # 268 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1417: typedef double _Float32x;
1417: # 53 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 2 3 4
1417: # 57 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: typedef struct
1417:   {
1417:     int quot;
1417:     int rem;
1417:   } div_t;
1417: 
1417: 
1417: 
1417: typedef struct
1417:   {
1417:     long int quot;
1417:     long int rem;
1417:   } ldiv_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: __extension__ typedef struct
1417:   {
1417:     long long int quot;
1417:     long long int rem;
1417:   } lldiv_t;
1417: # 98 "/usr/include/stdlib.h" 3 4
1417: extern size_t __ctype_get_mb_cur_max (void) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern double atof (const char *__nptr)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: extern int atoi (const char *__nptr)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: extern long int atol (const char *__nptr)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: __extension__ extern long long int atoll (const char *__nptr)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern double strtod (const char *__restrict __nptr,
1417:         char **__restrict __endptr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern float strtof (const char *__restrict __nptr,
1417:        char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: extern long double strtold (const char *__restrict __nptr,
1417:        char **__restrict __endptr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 141 "/usr/include/stdlib.h" 3 4
1417: extern _Float32 strtof32 (const char *__restrict __nptr,
1417:      char **__restrict __endptr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern _Float64 strtof64 (const char *__restrict __nptr,
1417:      char **__restrict __endptr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 159 "/usr/include/stdlib.h" 3 4
1417: extern _Float32x strtof32x (const char *__restrict __nptr,
1417:        char **__restrict __endptr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 177 "/usr/include/stdlib.h" 3 4
1417: extern long int strtol (const char *__restrict __nptr,
1417:    char **__restrict __endptr, int __base)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: extern unsigned long int strtoul (const char *__restrict __nptr,
1417:       char **__restrict __endptr, int __base)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: __extension__
1417: extern long long int strtoq (const char *__restrict __nptr,
1417:         char **__restrict __endptr, int __base)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: __extension__
1417: extern unsigned long long int strtouq (const char *__restrict __nptr,
1417:            char **__restrict __endptr, int __base)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: __extension__
1417: extern long long int strtoll (const char *__restrict __nptr,
1417:          char **__restrict __endptr, int __base)
1417:      noexcept (true) __attribute__ ((;
609:       return __detail::__sph_neumann<__type>(__n, __x);
609:     }
609: 
609: 
609: 
609: 
609: }
609: # 1388 "/usr/include/c++/12/bits/specfun.h" 3
609: #pragma GCC visibility pop
609: # 1936 "/usr/include/c++/12/cmath" 2 3
609: 
609: 
609: }
609: # 37 "/usr/include/c++/12/math.h" 2 3
609: 
609: using std::abs;
609: using std::acos;
609: using std::asin;
609: using std::atan;
609: using std::atan2;
609: using std::cos;
609: using std::sin;
609: using std::tan;
609: using std::cosh;
609: using std::sinh;
609: using std::tanh;
609: using std::exp;
609: using std::frexp;
609: using std::ldexp;
609: using std::log;
609: using std::log10;
609: using std::modf;
609: using std::pow;
609: using std::sqrt;
609: using std::ceil;
609: using std::fabs;
609: using std::floor;
609: using std::fmod;
609: 
609: 
609: using std::fpclassify;
609: using std::isfinite;
609: using std::isinf;
609: using std::isnan;
609: using std::isnormal;
609: using std::signbit;
609: using std::isgreater;
609: using std::isgreaterequal;
609: using std::isless;
609: using std::islessequal;
609: using std::islessgreater;
609: using std::isunordered;
609: 
609: 
609: 
609: using std::acosh;
609: using std::asinh;
609: using std::atanh;
609: using std::cbrt;
609: using std::copysign;
609: using std::erf;
609: using std::erfc;
609: using std::exp2;
609: using std::expm1;
609: using std::fdim;
609: using std::fma;
609: using std::fmax;
609: using std::fmin;
609: using std::hypot;
609: using std::ilogb;
609: using std::lgamma;
609: using std::llrint;
609: using std::llround;
609: using std::log1p;
609: using std::log2;
609: using std::logb;
609: using std::lrint;
609: using std::lround;
609: using std::nearbyint;
609: using std::nextafter;
609: using std::nexttoward;
609: using std::remainder;
609: using std::remquo;
609: using std::rint;
609: using std::round;
609: using std::scalbln;
609: using std::scalbn;
609: using std::tgamma;
609: using std::trunc;
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
609: 
609: # 1 "/usr/include/string.h" 1 3 4
609: # 26 "/usr/include/string.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
609: # 27 "/usr/include/string.h" 2 3 4
609: 
609: extern "C" {
609: 
609: 
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 34 "/usr/include/string.h" 2 3 4
609: # 43 "/usr/include/string.h" 3 4
609: extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
609:        size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern void *memmove (void *__dest, const void *__src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: 
609: extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
609:         int __c, size_t __n)
609:     noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4)));
609: 
609: 
609: 
609: 
609: extern void *memset (void *__s, int __c, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern int memcmp (const void *__s1, const void *__s2, size_t __n)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: # 80 "/usr/include/string.h" 3 4
609: extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: extern "C++"
609: {
609: extern void *memchr (void *__s, int __c, size_t __n)
609:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: extern const void *memchr (const void *__s, int __c, size_t __n)
609:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void *
609: memchr (void *__s, int __c, size_t __n) noexcept (true)
609: {
609:   return __builtin_memc__nonnull__ (1)));
1417: 
1417: __extension__
1417: extern unsigned long long int strtoull (const char *__restrict __nptr,
1417:      char **__restrict __endptr, int __base)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int strfromd (char *__dest, size_t __size, const char *__format,
1417:        double __f)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: 
1417: extern int strfromf (char *__dest, size_t __size, const char *__format,
1417:        float __f)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: 
1417: extern int strfroml (char *__dest, size_t __size, const char *__format,
1417:        long double __f)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: # 233 "/usr/include/stdlib.h" 3 4
1417: extern int strfromf32 (char *__dest, size_t __size, const char * __format,
1417:          _Float32 __f)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: 
1417: 
1417: 
1417: extern int strfromf64 (char *__dest, size_t __size, const char * __format,
1417:          _Float64 __f)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: # 251 "/usr/include/stdlib.h" 3 4
1417: extern int strfromf32x (char *__dest, size_t __size, const char * __format,
1417:    _Float32x __f)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: # 273 "/usr/include/stdlib.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 1 3 4
1417: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 3 4
1417: struct __locale_struct
1417: {
1417: 
1417:   struct __locale_data *__locales[13];
1417: 
1417: 
1417:   const unsigned short int *__ctype_b;
1417:   const int *__ctype_tolower;
1417:   const int *__ctype_toupper;
1417: 
1417: 
1417:   const char *__names[13];
1417: };
1417: 
1417: typedef struct __locale_struct *__locale_t;
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 2 3 4
1417: 
1417: typedef __locale_t locale_t;
1417: # 274 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: extern long int strtol_l (const char *__restrict __nptr,
1417:      char **__restrict __endptr, int __base,
1417:      locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1417: 
1417: extern unsigned long int strtoul_l (const char *__restrict __nptr,
1417:         char **__restrict __endptr,
1417:         int __base, locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1417: 
1417: __extension__
1417: extern long long int strtoll_l (const char *__restrict __nptr,
1417:     char **__restrict __endptr, int __base,
1417:     locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1417: 
1417: __extension__
1417: extern unsigned long long int strtoull_l (const char *__restrict __nptr,
1417:        char **__restrict __endptr,
1417:        int __base, locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1417: 
1417: extern double strtod_l (const char *__restrict __nptr,
1417:    char **__restrict __endptr, locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: 
1417: extern float strtof_l (const char *__restrict __nptr,
1417:          char **__restrict __endptr, locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: 
1417: extern long double strtold_l (const char *__restrict __nptr,
1417:          char **__restrict __endptr,
1417:          locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: # 317 "/usr/include/stdlib.h" 3 4
1417: extern _Float32 strtof32_l (const char *__restrict __nptr,
1417:        char **__restrict __endptr,
1417:        locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: 
1417: 
1417: 
1417: extern _Float64 strtof64_l (const char *__restrict __nptr,
1417:        char **__restrict __endptr,
1417:        locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: # 338 "/usr/include/stdlib.h" 3 4
1417: extern _Float32x strtof32x_l (const char *__restrict __nptr,
1417:          char **__restrict __endptr,
1417:          locale_t __loc)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: # 361 "/usr/include/stdlib.h" 3 4
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: __attribute__ ((__leaf__)) atoi (const char *__nptr) noexcept (true)
1417: {
1417:   return (int) strtol (__nptr, (char **) __null, 10);
1417: }
1417: extern __inline __attribute__ ((__gnu_inline__)) long int
1417: __attribute__ ((__leaf__)) atol (const char *__nptr) noexcept (true)
1417: {
1417:   return strtol (__nptr, (char **) __null, 10);
1417: }
1417: 
1417: 
1417: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
1417: __attribute__ ((__leaf__)) atoll (const char *__nptr) noexcept (true)
1417: {
1417:   return strtoll (__nptr, (char **) __null, 10);
1417: }
1417: # 386 "/usr/include/stdlib.h" 3 4
1417: extern char *l64a (long int __n) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: extern long int a64l (const char *__s)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/sys/types.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1417: extern "C" {
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 28 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1417: # 29 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1417: 
1417: 
1417: typedef unsigned char __u_char;
1417: typedef unsigned short int __u_short;
1417: typedef unsigned int __u_int;
1417: typedef unsigned long int __u_long;
1417: 
1417: 
1417: typedef signed char __int8_t;
1417: typedef unsigned char __uint8_t;
1417: typedef signed short int __int16_t;
1417: typedef unsigned short int __uint16_t;
1417: typedef signed int __int32_t;
1417: typedef unsigned int __uint32_t;
1417: 
1417: 
1417: 
1417: 
1417: __extension__ typedef signed long long int __int64_t;
1417: __extension__ typedef unsigned long long int __uint64_t;
1417: 
1417: 
1417: 
1417: typedef __int8_t __int_least8_t;
1417: typedef __uint8_t __uint_least8_t;
1417: typedef __int16_t __int_least16_t;
1417: typedef __uint16_t __uint_least16_t;
1417: typedef __int32_t __int_least32_t;
1417: typedef __uint32_t __uint_least32_t;
1417: typedef __int64_t __int_least64_t;
1417: typedef __uint64_t __uint_least64_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: __extension__ typedef long long int __quad_t;
1417: __extension__ typedef unsigned long long int __u_quad_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: __extension__ typedef long long int __intmax_t;
1417: __extension__ typedef unsigned long long int __uintmax_t;
1417: # 141 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/typesizes.h" 1 3 4
1417: # 142 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/time64.h" 1 3 4
1417: # 143 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1417: 
1417: 
1417: __extension__ typedef __uint64_t __dev_t;
1417: __extension__ typedef unsigned int __uid_t;
1417: __extension__ typedef unsigned int __gid_t;
1417: __extension__ typedef unsigned long int __ino_t;
1417: __extension__ typedef __uint64_t __ino64_t;
1417: __extension__ typedef unsigned int __mode_t;
1417: __extension__ typedef unsigned int __nlink_t;
1417: __extension__ typedef long int __off_t;
1417: __extension__ typedef __int64_t __off64_t;
1417: __extension__ typedef int __pid_t;
1417: __extension__ typedef struct { int __val[2]; } __fsid_t;
1417: __e_L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len)
1412:      return false;
1412:  }
1412: 
1412:       if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
1412:  return false;
1412:       if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
1412:  return false;
1412:       return true;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _Sel, typename _Cmp1,
1412:     typename _Alloc, typename _Cmp2>
1412:     struct _Rb_tree_merge_helper<_Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>,
1412:      _Cmp2>
1412:     {
1412:     private:
1412:       friend class _Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>;
1412: 
1412:       static auto&
1412:       _S_get_impl(_Rb_tree<_Key, _Val, _Sel, _Cmp2, _Alloc>& __tree)
1412:       { return __tree._M_impl; }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 61 "/usr/include/c++/12/map" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_map.h" 1 3
1412: # 62 "/usr/include/c++/12/bits/stl_map.h" 3
1412: # 1 "/usr/include/c++/12/initializer_list" 1 3
1412: # 33 "/usr/include/c++/12/initializer_list" 3
1412:        
1412: # 34 "/usr/include/c++/12/initializer_list" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412: 
1412: namespace std
1412: {
1412: 
1412:   template<class _E>
1412:     class initializer_list
1412:     {
1412:     public:
1412:       typedef _E value_type;
1412:       typedef const _E& reference;
1412:       typedef const _E& const_reference;
1412:       typedef size_t size_type;
1412:       typedef const _E* iterator;
1412:       typedef const _E* const_iterator;
1412: 
1412:     private:
1412:       iterator _M_array;
1412:       size_type _M_len;
1412: 
1412: 
1412:       constexpr initializer_list(const_iterator __a, size_type __l)
1412:       : _M_array(__a), _M_len(__l) { }
1412: 
1412:     public:
1412:       constexpr initializer_list() noexcept
1412:       : _M_array(0), _M_len(0) { }
1412: 
1412: 
1412:       constexpr size_type
1412:       size() const noexcept { return _M_len; }
1412: 
1412: 
1412:       constexpr const_iterator
1412:       begin() const noexcept { return _M_array; }
1412: 
1412: 
1412:       constexpr const_iterator
1412:       end() const noexcept { return begin() + size(); }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<class _Tp>
1412:     constexpr const _Tp*
1412:     begin(initializer_list<_Tp> __ils) noexcept
1412:     { return __ils.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<class _Tp>
1412:     constexpr const _Tp*
1412:     end(initializer_list<_Tp> __ils) noexcept
1412:     { return __ils.end(); }
1412: }
1412: 
1412: #pragma GCC visibility pop
1412: # 63 "/usr/include/c++/12/bits/stl_map.h" 2 3
1412: # 1 "/usr/include/c++/12/tuple" 1 3
1412: # 32 "/usr/include/c++/12/tuple" 3
1412:        
1412: # 33 "/usr/include/c++/12/tuple" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/uses_allocator.h" 1 3
1412: # 35 "/usr/include/c++/12/bits/uses_allocator.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   struct __erased_type { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Alloc, typename _Tp>
1412:     using __is_erased_or_convertible
1412:       = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
1412: 
1412: 
1412:   struct allocator_arg_t { explicit allocator_arg_t() = default; };
1412: 
1412:   inline constexpr allocator_arg_t allocator_arg =
1412:     allocator_arg_t();
1412: 
1412:   template<typename _Tp, typename _Alloc, typename = __void_t<>>
1412:     struct __uses_allocator_helper
1412:     : false_type { };
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     struct __uses_allocator_helper<_Tp, _Alloc,
1412:        __void_t<typename _Tp::allocator_type>>
1412:     : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     sxtension__ typedef long int __clock_t;
1417: __extension__ typedef unsigned long int __rlim_t;
1417: __extension__ typedef __uint64_t __rlim64_t;
1417: __extension__ typedef unsigned int __id_t;
1417: __extension__ typedef long int __time_t;
1417: __extension__ typedef unsigned int __useconds_t;
1417: __extension__ typedef long int __suseconds_t;
1417: __extension__ typedef __int64_t __suseconds64_t;
1417: 
1417: __extension__ typedef int __daddr_t;
1417: __extension__ typedef int __key_t;
1417: 
1417: 
1417: __extension__ typedef int __clockid_t;
1417: 
1417: 
1417: __extension__ typedef void * __timer_t;
1417: 
1417: 
1417: __extension__ typedef long int __blksize_t;
1417: 
1417: 
1417: 
1417: 
1417: __extension__ typedef long int __blkcnt_t;
1417: __extension__ typedef __int64_t __blkcnt64_t;
1417: 
1417: 
1417: __extension__ typedef unsigned long int __fsblkcnt_t;
1417: __extension__ typedef __uint64_t __fsblkcnt64_t;
1417: 
1417: 
1417: __extension__ typedef unsigned long int __fsfilcnt_t;
1417: __extension__ typedef __uint64_t __fsfilcnt64_t;
1417: 
1417: 
1417: __extension__ typedef int __fsword_t;
1417: 
1417: __extension__ typedef int __ssize_t;
1417: 
1417: 
1417: __extension__ typedef long int __syscall_slong_t;
1417: 
1417: __extension__ typedef unsigned long int __syscall_ulong_t;
1417: 
1417: 
1417: 
1417: typedef __off64_t __loff_t;
1417: typedef char *__caddr_t;
1417: 
1417: 
1417: __extension__ typedef int __intptr_t;
1417: 
1417: 
1417: __extension__ typedef unsigned int __socklen_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef int __sig_atomic_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: __extension__ typedef __int64_t __time64_t;
1417: # 30 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: 
1417: 
1417: typedef __u_char u_char;
1417: typedef __u_short u_short;
1417: typedef __u_int u_int;
1417: typedef __u_long u_long;
1417: typedef __quad_t quad_t;
1417: typedef __u_quad_t u_quad_t;
1417: typedef __fsid_t fsid_t;
1417: 
1417: 
1417: typedef __loff_t loff_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __ino64_t ino_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __ino64_t ino64_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __dev_t dev_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __gid_t gid_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __mode_t mode_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __nlink_t nlink_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __uid_t uid_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __off64_t off_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __off64_t off64_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __pid_t pid_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __id_t id_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __ssize_t ssize_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __daddr_t daddr_t;
1417: typedef __caddr_t caddr_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __key_t key_t;
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clock_t.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __clock_t clock_t;
1417: # 127 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __clockid_t clockid_t;
1417: # 129 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 1 3 4
1417: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 3 4
1417: typedef __time_t time_t;
1417: # 130 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/timer_t.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __timer_t timer_t;
1417: # 131 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: 
1417: 
1417: typedef __useconds_t useconds_t;
1417: 
1417: 
1417: 
1417: typedef __suseconds_t suseconds_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417hr (__s, __c, __n);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void *
609: memchr (const void *__s, int __c, size_t __n) noexcept (true)
609: {
609:   return __builtin_memchr (__s, __c, __n);
609: }
609: 
609: }
609: # 115 "/usr/include/string.h" 3 4
609: extern "C++" void *rawmemchr (void *__s, int __c)
609:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: extern "C++" const void *rawmemchr (const void *__s, int __c)
609:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C++" void *memrchr (void *__s, int __c, size_t __n)
609:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
609:       __attribute__ ((__access__ (__read_only__, 1, 3)));
609: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
609:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
609:       __attribute__ ((__access__ (__read_only__, 1, 3)));
609: # 141 "/usr/include/string.h" 3 4
609: extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern char *strncpy (char *__restrict __dest,
609:         const char *__restrict __src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern char *strcat (char *__restrict __dest, const char *__restrict __src)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern char *strncat (char *__restrict __dest, const char *__restrict __src,
609:         size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int strcmp (const char *__s1, const char *__s2)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern int strncmp (const char *__s1, const char *__s2, size_t __n)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int strcoll (const char *__s1, const char *__s2)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: extern size_t strxfrm (char *__restrict __dest,
609:          const char *__restrict __src, size_t __n)
609:     noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
609: 
609: 
609: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
609:     locale_t __l) noexcept (true) __attribute__ ((__nonnull__ (2, 4)))
609:      __attribute__ ((__access__ (__write_only__, 1, 3)));
609: 
609: 
609: 
609: 
609: 
609: extern char *strdup (const char *__s)
609:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern char *strndup (const char *__string, size_t __n)
609:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
609: # 224 "/usr/include/string.h" 3 4
609: extern "C++"
609: {
609: extern char *strchr (char *__s, int __c)
609:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: extern const char *strchr (const char *__s, int __c)
609:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
609: strchr (char *__s, int __c) noexcept (true)
609: {
609:   return __builtin_strchr (__s, __c);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
609: strchr (const char *: # 145 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: 
1417: 
1417: typedef unsigned long int ulong;
1417: typedef unsigned short int ushort;
1417: typedef unsigned int uint;
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 3 4
1417: typedef __int8_t int8_t;
1417: typedef __int16_t int16_t;
1417: typedef __int32_t int32_t;
1417: typedef __int64_t int64_t;
1417: # 156 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: 
1417: typedef __uint8_t u_int8_t;
1417: typedef __uint16_t u_int16_t;
1417: typedef __uint32_t u_int32_t;
1417: typedef __uint64_t u_int64_t;
1417: 
1417: 
1417: typedef int register_t __attribute__ ((__mode__ (__word__)));
1417: # 176 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1417: # 1 "/usr/include/endian.h" 1 3 4
1417: # 24 "/usr/include/endian.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 1 3 4
1417: # 35 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/endianness.h" 1 3 4
1417: # 36 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 2 3 4
1417: # 25 "/usr/include/endian.h" 2 3 4
1417: # 35 "/usr/include/endian.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 1 3 4
1417: # 33 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1417: static __inline __uint16_t
1417: __bswap_16 (__uint16_t __bsx)
1417: {
1417: 
1417:   return __builtin_bswap16 (__bsx);
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: static __inline __uint32_t
1417: __bswap_32 (__uint32_t __bsx)
1417: {
1417: 
1417:   return __builtin_bswap32 (__bsx);
1417: 
1417: 
1417: 
1417: }
1417: # 69 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1417: __extension__ static __inline __uint64_t
1417: __bswap_64 (__uint64_t __bsx)
1417: {
1417: 
1417:   return __builtin_bswap64 (__bsx);
1417: 
1417: 
1417: 
1417: }
1417: # 36 "/usr/include/endian.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 1 3 4
1417: # 32 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 3 4
1417: static __inline __uint16_t
1417: __uint16_identity (__uint16_t __x)
1417: {
1417:   return __x;
1417: }
1417: 
1417: static __inline __uint32_t
1417: __uint32_identity (__uint32_t __x)
1417: {
1417:   return __x;
1417: }
1417: 
1417: static __inline __uint64_t
1417: __uint64_identity (__uint64_t __x)
1417: {
1417:   return __x;
1417: }
1417: # 37 "/usr/include/endian.h" 2 3 4
1417: # 177 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/sys/select.h" 1 3 4
1417: # 30 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/select.h" 1 3 4
1417: # 31 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 1 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: typedef struct
1417: {
1417:   unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
1417: } __sigset_t;
1417: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 2 3 4
1417: 
1417: 
1417: typedef __sigset_t sigset_t;
1417: # 34 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct timeval
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   __time_t tv_sec;
1417:   __suseconds_t tv_usec;
1417: 
1417: };
1417: # 38 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 1 3 4
1417: # 11 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1417: struct timespec
1417: {
1417: 
1417: 
1417: 
1417:   __time_t tv_sec;
1417: 
1417: 
1417: 
1417: 
1417:   __syscall_slong_t tv_nsec;
1417: # 31 "/usr/truct uses_allocator
1412:     : __uses_allocator_helper<_Tp, _Alloc>::type
1412:     { };
1412: 
1412:   struct __uses_alloc_base { };
1412: 
1412:   struct __uses_alloc0 : __uses_alloc_base
1412:   {
1412:     struct _Sink { void operator=(const void*) { } } _M_a;
1412:   };
1412: 
1412:   template<typename _Alloc>
1412:     struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
1412: 
1412:   template<typename _Alloc>
1412:     struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
1412: 
1412:   template<bool, typename _Tp, typename _Alloc, typename... _Args>
1412:     struct __uses_alloc;
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     struct __uses_alloc<true, _Tp, _Alloc, _Args...>
1412:     : __conditional_t<
1412:         is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
1412:         __uses_alloc1<_Alloc>,
1412:         __uses_alloc2<_Alloc>>
1412:     {
1412: 
1412: 
1412:       static_assert(__or_<
1412:    is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
1412:    is_constructible<_Tp, _Args..., const _Alloc&>>::value,
1412:    "construction with an allocator must be possible"
1412:    " if uses_allocator is true");
1412:     };
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     struct __uses_alloc<false, _Tp, _Alloc, _Args...>
1412:     : __uses_alloc0 { };
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     using __uses_alloc_t =
1412:       __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:    
1412:     inline __uses_alloc_t<_Tp, _Alloc, _Args...>
1412:     __use_alloc(const _Alloc& __a)
1412:     {
1412:       __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
1412:       __ret._M_a = std::__addressof(__a);
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     void
1412:     __use_alloc(const _Alloc&&) = delete;
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     inline constexpr bool uses_allocator_v =
1412:       uses_allocator<_Tp, _Alloc>::value;
1412: 
1412: 
1412:   template<template<typename...> class _Predicate,
1412:     typename _Tp, typename _Alloc, typename... _Args>
1412:     struct __is_uses_allocator_predicate
1412:     : __conditional_t<uses_allocator<_Tp, _Alloc>::value,
1412:       __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
1412:      _Predicate<_Tp, _Args..., _Alloc>>,
1412:       _Predicate<_Tp, _Args...>> { };
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     struct __is_uses_allocator_constructible
1412:     : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     inline constexpr bool __is_uses_allocator_constructible_v =
1412:       __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     struct __is_nothrow_uses_allocator_constructible
1412:     : __is_uses_allocator_predicate<is_nothrow_constructible,
1412:         _Tp, _Alloc, _Args...>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     inline constexpr bool
1412:     __is_nothrow_uses_allocator_constructible_v =
1412:       __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1412: 
1412: 
1412:   template<typename _Tp, typename... _Args>
1412:     void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr,
1412:       _Args&&... __args)
1412:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
1412:       _Args&&... __args)
1412:     {
1412:       ::new ((void*)_include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1417: };
1417: # 40 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1417: # 49 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1417: typedef long int __fd_mask;
1417: # 59 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1417: typedef struct
1417:   {
1417: 
1417: 
1417: 
1417:     __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   } fd_set;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __fd_mask fd_mask;
1417: # 91 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1417: extern "C" {
1417: # 102 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1417: extern int select (int __nfds, fd_set *__restrict __readfds,
1417:      fd_set *__restrict __writefds,
1417:      fd_set *__restrict __exceptfds,
1417:      struct timeval *__restrict __timeout);
1417: # 127 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1417: extern int pselect (int __nfds, fd_set *__restrict __readfds,
1417:       fd_set *__restrict __writefds,
1417:       fd_set *__restrict __exceptfds,
1417:       const struct timespec *__restrict __timeout,
1417:       const __sigset_t *__restrict __sigmask);
1417: # 150 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 3 4
1417: extern long int __fdelt_chk (long int __d);
1417: extern long int __fdelt_warn (long int __d)
1417:   __attribute__((__warning__ ("bit outside of fd_set selected")));
1417: # 151 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1417: 
1417: 
1417: }
1417: # 180 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __blksize_t blksize_t;
1417: # 205 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1417: typedef __blkcnt64_t blkcnt_t;
1417: 
1417: 
1417: 
1417: typedef __fsblkcnt64_t fsblkcnt_t;
1417: 
1417: 
1417: 
1417: typedef __fsfilcnt64_t fsfilcnt_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __blkcnt64_t blkcnt64_t;
1417: typedef __fsblkcnt64_t fsblkcnt64_t;
1417: typedef __fsfilcnt64_t fsfilcnt64_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 1 3 4
1417: # 44 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 2 3 4
1417: # 45 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 1 3 4
1417: # 25 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 3 4
1417: typedef union
1417: {
1417:   __extension__ unsigned long long int __value64;
1417:   struct
1417:   {
1417:     unsigned int __low;
1417:     unsigned int __high;
1417:   } __value32;
1417: } __atomic_wide_counter;
1417: # 47 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: typedef struct __pthread_internal_list
1417: {
1417:   struct __pthread_internal_list *__prev;
1417:   struct __pthread_internal_list *__next;
1417: } __pthread_list_t;
1417: 
1417: typedef struct __pthread_internal_slist
1417: {
1417:   struct __pthread_internal_slist *__next;
1417: } __pthread_slist_t;
1417: # 76 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1417: struct __pthread_mutex_s
1417: {
1417:   int __lock ;
1417:   unsigned int __count;
1417:   int __owner;
1417: # 58 "/usr/include/arm-linux-gnueabihf/bits/struct_mut__s, int __c) noexcept (true)
609: {
609:   return __builtin_strchr (__s, __c);
609: }
609: 
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C++"
609: {
609: extern char *strrchr (char *__s, int __c)
609:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: extern const char *strrchr (const char *__s, int __c)
609:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
609: strrchr (char *__s, int __c) noexcept (true)
609: {
609:   return __builtin_strrchr (__s, __c);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
609: strrchr (const char *__s, int __c) noexcept (true)
609: {
609:   return __builtin_strrchr (__s, __c);
609: }
609: 
609: }
609: # 281 "/usr/include/string.h" 3 4
609: extern "C++" char *strchrnul (char *__s, int __c)
609:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: extern "C++" const char *strchrnul (const char *__s, int __c)
609:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: # 293 "/usr/include/string.h" 3 4
609: extern size_t strcspn (const char *__s, const char *__reject)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern size_t strspn (const char *__s, const char *__accept)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern "C++"
609: {
609: extern char *strpbrk (char *__s, const char *__accept)
609:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: extern const char *strpbrk (const char *__s, const char *__accept)
609:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
609: strpbrk (char *__s, const char *__accept) noexcept (true)
609: {
609:   return __builtin_strpbrk (__s, __accept);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
609: strpbrk (const char *__s, const char *__accept) noexcept (true)
609: {
609:   return __builtin_strpbrk (__s, __accept);
609: }
609: 
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C++"
609: {
609: extern char *strstr (char *__haystack, const char *__needle)
609:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: extern const char *strstr (const char *__haystack, const char *__needle)
609:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
609: strstr (char *__haystack, const char *__needle) noexcept (true)
609: {
609:   return __builtin_strstr (__haystack, __needle);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
609: strstr (const char *__haystack, const char *__needle) noexcept (true)
609: {
609:   return __builtin_strstr (__haystack, __needle);
609: }
609: 
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern char *strtok (char *__restrict __s, const char *__restrict __delim)
609:      noexcept (true) __attribute__ ((__nonnull__ (2)));
609: 
609: 
609: 
609: extern char *__strtok_r (char *__restrict __s,
609:     const char *__restrict __delim,
609:     char **__restrict __save_ptr)
609:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
609: 
609: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
609:          char **__restrict __save_ptr)
609:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
609: 
609: 
609: 
ex.h" 3 4
1417:   int __kind;
1417: 
1417:   unsigned int __nusers;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   __extension__ union
1417:   {
1417:     int __spins;
1417:     __pthread_slist_t __list;
1417:   };
1417: 
1417: 
1417: };
1417: # 77 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1417: # 89 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 1 3 4
1417: # 29 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1417: struct __pthread_rwlock_arch_t
1417: {
1417:   unsigned int __readers;
1417:   unsigned int __writers;
1417:   unsigned int __wrphase_futex;
1417:   unsigned int __writers_futex;
1417:   unsigned int __pad3;
1417:   unsigned int __pad4;
1417: # 45 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1417:   unsigned char __flags;
1417:   unsigned char __shared;
1417:   unsigned char __pad1;
1417:   unsigned char __pad2;
1417: 
1417:   int __cur_writer;
1417: };
1417: # 90 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: struct __pthread_cond_s
1417: {
1417:   __atomic_wide_counter __wseq;
1417:   __atomic_wide_counter __g1_start;
1417:   unsigned int __g_refs[2] ;
1417:   unsigned int __g_size[2];
1417:   unsigned int __g1_orig_size;
1417:   unsigned int __wrefs;
1417:   unsigned int __g_signals[2];
1417: };
1417: 
1417: typedef unsigned int __tss_t;
1417: typedef unsigned long int __thrd_t;
1417: 
1417: typedef struct
1417: {
1417:   int __data ;
1417: } __once_flag;
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 2 3 4
1417: 
1417: 
1417: 
1417: typedef unsigned long int pthread_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef union
1417: {
1417:   char __size[4];
1417:   int __align;
1417: } pthread_mutexattr_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef union
1417: {
1417:   char __size[4];
1417:   int __align;
1417: } pthread_condattr_t;
1417: 
1417: 
1417: 
1417: typedef unsigned int pthread_key_t;
1417: 
1417: 
1417: 
1417: typedef int pthread_once_t;
1417: 
1417: 
1417: union pthread_attr_t
1417: {
1417:   char __size[36];
1417:   long int __align;
1417: };
1417: 
1417: typedef union pthread_attr_t pthread_attr_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef union
1417: {
1417:   struct __pthread_mutex_s __data;
1417:   char __size[24];
1417:   long int __align;
1417: } pthread_mutex_t;
1417: 
1417: 
1417: typedef union
1417: {
1417:   struct __pthread_cond_s __data;
1417:   char __size[48];
1417:   __extension__ long long int __align;
1417: } pthread_cond_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef union
1417: {
1417:   struct __pthread_rwlock_arch_t __data;
1417:   char __size[32];
1417:   long int __align;
1417: } pthread_rwlock_t;
1417: 
1417: typedef union
1417: {
1417:   char __size[8];
1417:   long int __align;
1417: } pthread_rwlockattr_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef volatile int pthread_spinlock_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef union
1417: {
1417:   char __size[20];
1417:   long int __align;
1417: } pthread_barrier_t;
1417: 
1417: typedef union
1417: {
1417:   char __size[4];
1417:   int __align;
1417: } pthread_barrierattr_t;
1417: # 228 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1417: 
1417: 
1417: }
1417: # 396 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int random (void) noexcept (true);
1417: 
1417: 
1417: extern void srandom (unsigned int __seed) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *initstate (unsigned int __seed, char *__statebuf,
1417:    size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct random_data
1417:   {
1417:     int32_t *fptr;
1417:     int32_t *rptr;
1417:     int32_t *state;
1417:     int rand_type;
1417:     int rand_deg;
1417:     int rand_sep;
1417:     i_ptr) _Tp(allocator_arg, *__a._M_a,
1412:           std::forward<_Args>(__args)...);
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
1412:       _Args&&... __args)
1412:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
1412: 
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
1412:         _Args&&... __args)
1412:     {
1412:       std::__uses_allocator_construct_impl(
1412:    std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
1412:    std::forward<_Args>(__args)...);
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: # 40 "/usr/include/c++/12/tuple" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/invoke.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/invoke.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/invoke.h" 3
1412: # 42 "/usr/include/c++/12/bits/invoke.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 53 "/usr/include/c++/12/bits/invoke.h" 3
1412:   template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
1412:     constexpr _Up&&
1412:     __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
1412:     { return static_cast<_Up&&>(__t); }
1412: 
1412:   template<typename _Res, typename _Fn, typename... _Args>
1412:     constexpr _Res
1412:     __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
1412:     { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
1412: 
1412:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1412:     constexpr _Res
1412:     __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
1412:     _Args&&... __args)
1412:     { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
1412: 
1412:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1412:     constexpr _Res
1412:     __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
1412:     _Args&&... __args)
1412:     {
1412:       return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
1412:     }
1412: 
1412:   template<typename _Res, typename _MemPtr, typename _Tp>
1412:     constexpr _Res
1412:     __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
1412:     { return __invfwd<_Tp>(__t).*__f; }
1412: 
1412:   template<typename _Res, typename _MemPtr, typename _Tp>
1412:     constexpr _Res
1412:     __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
1412:     { return (*std::forward<_Tp>(__t)).*__f; }
1412: 
1412: 
1412:   template<typename _Callable, typename... _Args>
1412:     constexpr typename __invoke_result<_Callable, _Args...>::type
1412:     __invoke(_Callable&& __fn, _Args&&... __args)
1412:     noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
1412:     {
1412:       using __result = __invoke_result<_Callable, _Args...>;
1412:       using __type = typename __result::type;
1412:       using __tag = typename __result::__invoke_type;
1412:       return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1412:      std::forward<_Args>(__args)...);
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Res, typename _Callable, typename... _Args>
1412:     constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
1412:     __invoke_r(_Callable&& __fn, _Args&&... __args)
1412:     noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
1412:     {
1412:       using __result = __invoke_result<_Callable, _Args...>;
1412:       using __type = typename __result::type;
1412:       using __tag = typename __result::__invoke_type;
1412:       if constexpr (is_void_v<_Res>)
1412:  std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1412:      std::forward<_Args>(__args)...);
1412:       else
1412:  return std::__invoke_impl<__type>(__tag{},
1412:        std::forward<_Callable>(__fn),
1412:        std::forward<_Args>(__args)...);
1412:    609: 
609: 
609: extern "C++" char *strcasestr (char *__haystack, const char *__needle)
609:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: extern "C++" const char *strcasestr (const char *__haystack,
609:          const char *__needle)
609:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: # 389 "/usr/include/string.h" 3 4
609: extern void *memmem (const void *__haystack, size_t __haystacklen,
609:        const void *__needle, size_t __needlelen)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)))
609:     __attribute__ ((__access__ (__read_only__, 1, 2)))
609:     __attribute__ ((__access__ (__read_only__, 3, 4)));
609: 
609: 
609: 
609: extern void *__mempcpy (void *__restrict __dest,
609:    const void *__restrict __src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: extern void *mempcpy (void *__restrict __dest,
609:         const void *__restrict __src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: extern size_t strlen (const char *__s)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern size_t strnlen (const char *__string, size_t __maxlen)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: 
609: extern char *strerror (int __errnum) noexcept (true);
609: # 444 "/usr/include/string.h" 3 4
609: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
609:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
609: 
609: 
609: 
609: 
609: extern const char *strerrordesc_np (int __err) noexcept (true);
609: 
609: extern const char *strerrorname_np (int __err) noexcept (true);
609: 
609: 
609: 
609: 
609: 
609: extern char *strerror_l (int __errnum, locale_t __l) noexcept (true);
609: 
609: 
609: 
609: # 1 "/usr/include/strings.h" 1 3 4
609: # 23 "/usr/include/strings.h" 3 4
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 24 "/usr/include/strings.h" 2 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C" {
609: 
609: 
609: 
609: extern int bcmp (const void *__s1, const void *__s2, size_t __n)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern void bcopy (const void *__src, void *__dest, size_t __n)
609:   noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern void bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: 
609: extern "C++"
609: {
609: extern char *index (char *__s, int __c)
609:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: extern const char *index (const char *__s, int __c)
609:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
609: index (char *__s, int __c) noexcept (true)
609: {
609:   return __builtin_index (__s, __c);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
609: index (const char *__s, int __c) noexcept (true)
609: {
609:   return __builtin_index (__s, __c);
609: }
609: 
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C++"
609: {
609: extern char *rindex (char *__s, int __c)
609:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: extern const char *rindex (const char *__s, int __c)
609:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
609: rindent32_t *end_ptr;
1417:   };
1417: 
1417: extern int random_r (struct random_data *__restrict __buf,
1417:        int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern int srandom_r (unsigned int __seed, struct random_data *__buf)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
1417:    size_t __statelen,
1417:    struct random_data *__restrict __buf)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
1417: 
1417: extern int setstate_r (char *__restrict __statebuf,
1417:          struct random_data *__restrict __buf)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int rand (void) noexcept (true);
1417: 
1417: extern void srand (unsigned int __seed) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int rand_r (unsigned int *__seed) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double drand48 (void) noexcept (true);
1417: extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern long int lrand48 (void) noexcept (true);
1417: extern long int nrand48 (unsigned short int __xsubi[3])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern long int mrand48 (void) noexcept (true);
1417: extern long int jrand48 (unsigned short int __xsubi[3])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern void srand48 (long int __seedval) noexcept (true);
1417: extern unsigned short int *seed48 (unsigned short int __seed16v[3])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct drand48_data
1417:   {
1417:     unsigned short int __x[3];
1417:     unsigned short int __old_x[3];
1417:     unsigned short int __c;
1417:     unsigned short int __init;
1417:     __extension__ unsigned long long int __a;
1417: 
1417:   };
1417: 
1417: 
1417: extern int drand48_r (struct drand48_data *__restrict __buffer,
1417:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: extern int erand48_r (unsigned short int __xsubi[3],
1417:         struct drand48_data *__restrict __buffer,
1417:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int lrand48_r (struct drand48_data *__restrict __buffer,
1417:         long int *__restrict __result)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: extern int nrand48_r (unsigned short int __xsubi[3],
1417:         struct drand48_data *__restrict __buffer,
1417:         long int *__restrict __result)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int mrand48_r (struct drand48_data *__restrict __buffer,
1417:         long int *__restrict __result)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: extern int jrand48_r (unsigned short int __xsubi[3],
1417:         struct drand48_data *__restrict __buffer,
1417:         long int *__restrict __result)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: extern int seed48_r (unsigned short int __seed16v[3],
1417:        struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern int lcong48_r (unsigned short int __param[7],
1417:         struct drand48_data *__buffer)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern __uint32_t arc4random (void)
1417:      noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: extern void arc4random_buf (void *__buf, size_t __size)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
1417:      noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1417:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: extern void *calloc (size_t __nmemb, size_t __size)
1417:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void *realloc (void *__ptr, size_t __size)
1417:      noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2)));
1417: 
1417: 
1417: extern void free (void *__ptr) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1417:      noexcept (true) __attribute__ ((__warn_unused_result__))
1417:      __attribute__ ((__alloc_size__ (2, 3)))
1417:     __attribute__ ((__malloc__ (__builtin_free, 1)));
1417: 
1417: 
1417: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1417:      noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1)));
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/alloca.h" 1 3 4
1417: # 24 "/usr/include/alloca.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 25 "/usr/include/alloca.h" 2 3 4
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void *alloca (size_t __size) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 588 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1417:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern void *aligned_alloc (size_t __alignment, size_t __size)
1417:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
1417:      __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern void abort (void) noexcept (true) __attribute__ ((__noreturn__));
1417: 
1417: 
1417: 
1417: extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" int at_quick_exit (void (*__func) (void))
1417:      noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
1417: # 630 "/usr/include/stdlib.h" 3 4
1417: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1417: 
1417: 
1417: 
1417: 
1417: extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern char *secure_getenv (const char *__name)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int setenv (const char *__name, const char *__value, int __replace)
1417:      noexc }
1412: # 159 "/usr/include/c++/12/bits/invoke.h" 3
1412: 
1412: }
1412: # 42 "/usr/include/c++/12/tuple" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename... _Elements>
1412:     class tuple;
1412: 
1412:   template<typename _Tp>
1412:     struct __is_empty_non_tuple : is_empty<_Tp> { };
1412: 
1412: 
1412:   template<typename _El0, typename... _El>
1412:     struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using __empty_not_final
1412:     = __conditional_t<__is_final(_Tp), false_type,
1412:         __is_empty_non_tuple<_Tp>>;
1412: 
1412:   template<size_t _Idx, typename _Head,
1412:     bool = __empty_not_final<_Head>::value>
1412:     struct _Head_base;
1412: 
1412: 
1412:   template<size_t _Idx, typename _Head>
1412:     struct _Head_base<_Idx, _Head, true>
1412:     {
1412:       constexpr _Head_base()
1412:       : _M_head_impl() { }
1412: 
1412:       constexpr _Head_base(const _Head& __h)
1412:       : _M_head_impl(__h) { }
1412: 
1412:       constexpr _Head_base(const _Head_base&) = default;
1412:       constexpr _Head_base(_Head_base&&) = default;
1412: 
1412:       template<typename _UHead>
1412:  constexpr _Head_base(_UHead&& __h)
1412:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1412: 
1412:      
1412:       _Head_base(allocator_arg_t, __uses_alloc0)
1412:       : _M_head_impl() { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1412:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1412:  : _M_head_impl(*__a._M_a) { }
1412: 
1412:       template<typename _UHead>
1412: 
1412:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1412:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1412: 
1412:       template<typename _Alloc, typename _UHead>
1412: 
1412:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1412:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead>
1412: 
1412:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1412:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1412: 
1412:       static constexpr _Head&
1412:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1412: 
1412:       static constexpr const _Head&
1412:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1412: 
1412:       [[__no_unique_address__]] _Head _M_head_impl;
1412:     };
1412: # 186 "/usr/include/c++/12/tuple" 3
1412:   template<size_t _Idx, typename _Head>
1412:     struct _Head_base<_Idx, _Head, false>
1412:     {
1412:       constexpr _Head_base()
1412:       : _M_head_impl() { }
1412: 
1412:       constexpr _Head_base(const _Head& __h)
1412:       : _M_head_impl(__h) { }
1412: 
1412:       constexpr _Head_base(const _Head_base&) = default;
1412:       constexpr _Head_base(_Head_base&&) = default;
1412: 
1412:       template<typename _UHead>
1412:         constexpr _Head_base(_UHead&& __h)
1412:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1412: 
1412:      
1412:       _Head_base(allocator_arg_t, __uses_alloc0)
1412:       : _M_head_impl() { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1412:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1412:  : _M_head_impl(*__a._M_a) { }
1412: 
1412:       template<typename _UHead>
1412: 
1412:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1412:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1412: 
1412:       template<typename _Alloc, typename _UHead>
1412: 
1412:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1412:  : _M_head_impl(allocator_arg,x (char *__s, int __c) noexcept (true)
609: {
609:   return __builtin_rindex (__s, __c);
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
609: rindex (const char *__s, int __c) noexcept (true)
609: {
609:   return __builtin_rindex (__s, __c);
609: }
609: 
609: }
609: # 104 "/usr/include/strings.h" 3 4
609: extern int ffs (int __i) noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: 
609: 
609: extern int ffsl (long int __l) noexcept (true) __attribute__ ((__const__));
609: __extension__ extern int ffsll (long long int __ll)
609:      noexcept (true) __attribute__ ((__const__));
609: 
609: 
609: 
609: extern int strcasecmp (const char *__s1, const char *__s2)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: 
609: 
609: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
609: 
609: 
609: 
609: extern int strncasecmp_l (const char *__s1, const char *__s2,
609:      size_t __n, locale_t __loc)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
609: 
609: 
609: }
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 1 3 4
609: # 22 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 3 4
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
609: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) noexcept (true)
609: {
609:   (void) __builtin___memmove_chk (__dest, __src, __len,
609:       __builtin_object_size (__dest, 0));
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
609: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) noexcept (true)
609: {
609:   (void) __builtin___memset_chk (__dest, '\0', __len,
609:      __builtin_object_size (__dest, 0));
609: }
609: # 145 "/usr/include/strings.h" 2 3 4
609: # 463 "/usr/include/string.h" 2 3 4
609: 
609: 
609: 
609: extern void explicit_bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
609:     __attribute__ ((__access__ (__write_only__, 1, 2)));
609: 
609: 
609: 
609: extern char *strsep (char **__restrict __stringp,
609:        const char *__restrict __delim)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: extern char *strsignal (int __sig) noexcept (true);
609: 
609: 
609: 
609: extern const char *sigabbrev_np (int __sig) noexcept (true);
609: 
609: 
609: extern const char *sigdescr_np (int __sig) noexcept (true);
609: 
609: 
609: 
609: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: extern char *__stpncpy (char *__restrict __dest,
609:    const char *__restrict __src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: extern char *stpncpy (char *__restrict __dest,
609:         const char *__restrict __src, size_t __n)
609:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: 
609: 
609: extern int strverscmp (const char *__s1, const char *__s2)
609:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
609: 
609: 
609: extern char *strfry (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
609: 
609: 
609: extern void *memfrob (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
609: ept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int clearenv (void) noexcept (true);
1417: # 695 "/usr/include/stdlib.h" 3 4
1417: extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 711 "/usr/include/stdlib.h" 3 4
1417: extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: # 733 "/usr/include/stdlib.h" 3 4
1417: extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64")
1417:                      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mkstemps64 (char *__template, int __suffixlen)
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: # 751 "/usr/include/stdlib.h" 3 4
1417: extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: # 765 "/usr/include/stdlib.h" 3 4
1417: extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64")
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: # 786 "/usr/include/stdlib.h" 3 4
1417: extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64")
1417: 
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: # 804 "/usr/include/stdlib.h" 3 4
1417: extern int system (const char *__command) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *canonicalize_file_name (const char *__name)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
1417:      __attribute__ ((__malloc__ (__builtin_free, 1))) __attribute__ ((__warn_unused_result__));
1417: # 821 "/usr/include/stdlib.h" 3 4
1417: extern char *realpath (const char *__restrict __name,
1417:          char *__restrict __resolved) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef int (*__compar_fn_t) (const void *, const void *);
1417: 
1417: 
1417: typedef __compar_fn_t comparison_fn_t;
1417: 
1417: 
1417: 
1417: typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
1417: 
1417: 
1417: 
1417: 
1417: extern void *bsearch (const void *__key, const void *__base,
1417:         size_t __nmemb, size_t __size, __compar_fn_t __compar)
1417:      __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 1 3 4
1417: # 19 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 3 4
1417: extern __inline __attribute__ ((__gnu_inline__)) void *
1417: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
1417:   __compar_fn_t __compar)
1417: {
1417:   size_t __l, __u, __idx;
1417:   const void *__p;
1417:   int __comparison;
1417: 
1417:   __l = 0;
1417:   __u = __nmemb;
1417:   while (__l < __u)
1417:     {
1417:       __idx = (__l + __u) / 2;
1417:       __p = (const void *) (((const char *) __base) + (__idx * __size));
1417:       __comparison = (*__compar) (__key, __p);
1417:       if (__comparison < 0)
1417:  __u = __idx;
1417:       else if (__comparison > 0)
1417:  __l = __idx + 1;
1417:       else
1417:  {
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wcast-qual"
1417: 
1417:    return (void *) __p;
1417: 
1417: #pragma GCC diagnostic pop
1417: 
1417:  }
1417:     }
1417: 
1417:   return __null;
1417: }
1417: # 847 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: extern void qsort (void *__base, size_t __nmemb, size_t __size,
1417:      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
1417: 
1417: extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
1417:        __compar_d_fn_t __compar, void *__arg)
1417:   __attribute__ ((__nonnull__ (1, 4)));
1417: 
1417: 
1417: 
1417: 
1417: extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1417: extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: __extension__ extern long long int llabs (long long int __x)
1417:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern div_t div (int __numer, int __denom)
1417:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1417: extern ldiv_t ldiv (long int __numer, long int __denom)
1417:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: __extension__ extern lldiv_t lldiv (long long int __numer,
1417:         long long int __denom)
1417:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1417: # 893 "/usr/include/stdlib.h" 3 4
1417: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
1417:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
1417:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern char *gcvt (double __value, int __ndigit, char *__buf)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern char *qecvt (long double __value, int __ndigit,
1417:       int *__restrict __decpt, int *__restrict __sign)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1417: extern char *qfcvt (long double __value, int __ndigit,
1417:       int *__restrict __decpt, int *__restrict __sign)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1417: extern char *qgcvt (long double __value, int __ndigit, char *__buf)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
1417:      int *__restrict __sign, char *__restrict __buf,
1417:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1417: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
1417:      int *__restrict __sign, char *__restrict __buf,
1417:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1417: 
1417: extern int qecvt_r (long double __value, int __ndigit,
1417:       int *__restrict __decpt, int *__restrict __sign,
1417:       char *__restrict __buf, size_t __len)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1417: extern int qfcvt_r (long double __value, int __ndigit,
1417:       int *__restrict __decpt, int *__restrict __sign,
1417:       char *__restrict __buf, size_t __len)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mblen (const char *__s, size_t __n) noexcept (true);
1417: 
1417: 
1417: exter *__a._M_a, std::forward<_UHead>(__uhead))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead>
1412: 
1412:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1412:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1412: 
1412:       static constexpr _Head&
1412:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1412: 
1412:       static constexpr const _Head&
1412:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1412: 
1412:       _Head _M_head_impl;
1412:     };
1412: # 249 "/usr/include/c++/12/tuple" 3
1412:   template<size_t _Idx, typename... _Elements>
1412:     struct _Tuple_impl;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<size_t _Idx, typename _Head, typename... _Tail>
1412:     struct _Tuple_impl<_Idx, _Head, _Tail...>
1412:     : public _Tuple_impl<_Idx + 1, _Tail...>,
1412:       private _Head_base<_Idx, _Head>
1412:     {
1412:       template<size_t, typename...> friend struct _Tuple_impl;
1412: 
1412:       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
1412:       typedef _Head_base<_Idx, _Head> _Base;
1412: 
1412:       static constexpr _Head&
1412:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1412: 
1412:       static constexpr const _Head&
1412:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1412: 
1412:       static constexpr _Inherited&
1412:       _M_tail(_Tuple_impl& __t) noexcept { return __t; }
1412: 
1412:       static constexpr const _Inherited&
1412:       _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
1412: 
1412:       constexpr _Tuple_impl()
1412:       : _Inherited(), _Base() { }
1412: 
1412:       explicit constexpr
1412:       _Tuple_impl(const _Head& __head, const _Tail&... __tail)
1412:       : _Inherited(__tail...), _Base(__head)
1412:       { }
1412: 
1412:       template<typename _UHead, typename... _UTail,
1412:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1412:  explicit constexpr
1412:  _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
1412:  : _Inherited(std::forward<_UTail>(__tail)...),
1412:    _Base(std::forward<_UHead>(__head))
1412:  { }
1412: 
1412:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1412: 
1412: 
1412: 
1412:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1412: 
1412:       _Tuple_impl(_Tuple_impl&&) = default;
1412: 
1412:       template<typename... _UElements>
1412:  constexpr
1412:  _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
1412:  : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
1412:    _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in))
1412:  { }
1412: 
1412:       template<typename _UHead, typename... _UTails>
1412:  constexpr
1412:  _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1412:  : _Inherited(std::move
1412:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1412:    _Base(std::forward<_UHead>
1412:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1412:  : _Inherited(__tag, __a),
1412:    _Base(__tag, __use_alloc<_Head>(__a))
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       const _Head& __head, const _Tail&... __tail)
1412:  : _Inherited(__tag, __a, __tail...),
1412:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head)
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead, typename... _UTail,
1412:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       _UHead&& __head, _UTail&&... __tail)
1412:  : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
1412:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1412:   std::forward<_UHead>(__head))
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_a    __attribute__ ((__access__ (__read_write__, 1, 2)));
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: extern "C++" char *basename (char *__filename)
609:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
609: extern "C++" const char *basename (const char *__filename)
609:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
609: # 535 "/usr/include/string.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 1 3 4
609: # 25 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
609: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
609: 
609: {
609:   return __builtin___memcpy_chk (__dest, __src, __len,
609:      __builtin_object_size (__dest, 0));
609: }
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
609: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) noexcept (true)
609: {
609:   return __builtin___memmove_chk (__dest, __src, __len,
609:       __builtin_object_size (__dest, 0));
609: }
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
609: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
609: 
609: {
609:   return __builtin___mempcpy_chk (__dest, __src, __len,
609:       __builtin_object_size (__dest, 0));
609: }
609: # 56 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
609: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) noexcept (true)
609: {
609:   return __builtin___memset_chk (__dest, __ch, __len,
609:      __builtin_object_size (__dest, 0));
609: }
609: 
609: 
609: 
609: 
609: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
609:   noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
609: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) noexcept (true)
609: {
609:   __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0));
609: }
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
609: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
609: {
609:   return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
609: }
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
609: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
609: {
609:   return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
609: }
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
609: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
609: 
609: {
609:   return __builtin___strncpy_chk (__dest, __src, __len,
609:       __builtin_object_size (__dest, 2 > 1));
609: }
609: 
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
609: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) noexcept (true)
609: {
609:   return __builtin___stpncpy_chk (__dest, __src, __n,
609:  n int mbtowc (wchar_t *__restrict __pwc,
1417:      const char *__restrict __s, size_t __n) noexcept (true);
1417: 
1417: 
1417: extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
1417: 
1417: 
1417: 
1417: extern size_t mbstowcs (wchar_t *__restrict __pwcs,
1417:    const char *__restrict __s, size_t __n) noexcept (true)
1417:     __attribute__ ((__access__ (__read_only__, 2)));
1417: 
1417: extern size_t wcstombs (char *__restrict __s,
1417:    const wchar_t *__restrict __pwcs, size_t __n)
1417:      noexcept (true)
1417:   __attribute__ ((__access__ (__write_only__, 1, 3)))
1417:   __attribute__ ((__access__ (__read_only__, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: # 980 "/usr/include/stdlib.h" 3 4
1417: extern int getsubopt (char **__restrict __optionp,
1417:         char *const *__restrict __tokens,
1417:         char **__restrict __valuep)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int grantpt (int __fd) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int unlockpt (int __fd) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern char *ptsname (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: 
1417: 
1417: extern int getpt (void);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getloadavg (double __loadavg[], int __nelem)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 1036 "/usr/include/stdlib.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 3 4
1417: extern __inline __attribute__ ((__gnu_inline__)) double
1417: __attribute__ ((__leaf__)) atof (const char *__nptr) noexcept (true)
1417: {
1417:   return strtod (__nptr, (char **) __null);
1417: }
1417: # 1037 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 3 4
1417: extern char *__realpath_chk (const char *__restrict __name,
1417:         char *__restrict __resolved,
1417:         size_t __resolvedlen) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) noexcept (true) __asm__ ("" "realpath")
1417: 
1417:                                                  __attribute__ ((__warn_unused_result__));
1417: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) noexcept (true) __asm__ ("" "__realpath_chk")
1417: 
1417: 
1417:                                                 __attribute__ ((__warn_unused_result__))
1417:      __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
1417:                                       ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
1417: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) noexcept (true)
1417: {
1417:   size_t sz = __builtin_object_size (__resolved, 2 > 1);
1417: 
1417:   if (sz == (size_t) -1)
1417:     return __realpath_alias (__name, __resolved);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   return __realpath_chk (__name, __resolved, sz);
1417: }
1417: 
1417: 
1417: extern int __ptsname_r_chk (inrg_t __tag, const _Alloc& __a,
1412:       const _Tuple_impl& __in)
1412:  : _Inherited(__tag, __a, _M_tail(__in)),
1412:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       _Tuple_impl&& __in)
1412:  : _Inherited(__tag, __a, std::move(_M_tail(__in))),
1412:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1412:   std::forward<_Head>(_M_head(__in)))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead, typename... _UTails>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       const _Tuple_impl<_Idx, _UHead, _UTails...>& __in)
1412:  : _Inherited(__tag, __a,
1412:        _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)),
1412:    _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1412:   _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead, typename... _UTails>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1412:  : _Inherited(__tag, __a, std::move
1412:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1412:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1412:   std::forward<_UHead>
1412:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1412:  { }
1412: 
1412:       template<typename... _UElements>
1412: 
1412:  void
1412:  _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in)
1412:  {
1412:    _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
1412:    _M_tail(*this)._M_assign(
1412:        _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
1412:  }
1412: 
1412:       template<typename _UHead, typename... _UTails>
1412: 
1412:  void
1412:  _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1412:  {
1412:    _M_head(*this) = std::forward<_UHead>
1412:      (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
1412:    _M_tail(*this)._M_assign(
1412:        std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
1412:  }
1412: 
1412:     protected:
1412:      
1412:       void
1412:       _M_swap(_Tuple_impl& __in)
1412:       {
1412:  using std::swap;
1412:  swap(_M_head(*this), _M_head(__in));
1412:  _Inherited::_M_swap(_M_tail(__in));
1412:       }
1412:     };
1412: 
1412: 
1412:   template<size_t _Idx, typename _Head>
1412:     struct _Tuple_impl<_Idx, _Head>
1412:     : private _Head_base<_Idx, _Head>
1412:     {
1412:       template<size_t, typename...> friend struct _Tuple_impl;
1412: 
1412:       typedef _Head_base<_Idx, _Head> _Base;
1412: 
1412:       static constexpr _Head&
1412:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1412: 
1412:       static constexpr const _Head&
1412:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1412: 
1412:       constexpr
1412:       _Tuple_impl()
1412:       : _Base() { }
1412: 
1412:       explicit constexpr
1412:       _Tuple_impl(const _Head& __head)
1412:       : _Base(__head)
1412:       { }
1412: 
1412:       template<typename _UHead>
1412:  explicit constexpr
1412:  _Tuple_impl(_UHead&& __head)
1412:  : _Base(std::forward<_UHead>(__head))
1412:  { }
1412: 
1412:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1412: 
1412: 
1412: 
1412:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1412: 
1412: 
1412: 
1412: 
1412:       constexpr
1412:       _Tuple_impl(_Tuple_impl&& __in)
1412:       noexcept(is_nothrow_move_constructible<_Head>::value)
1412:       : _Base(static_cast<_Base&&>(__in))
1412:       { }
1412: 
1412: 
1412:       template<typename _UHead>
1412:  constexpr
1412:  _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
1412:  : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in))
1412:  { }
1412: 
1412:       template<typename _UHead>
1412:  constexpr
1412:  _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
1412:  : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1412t __fd, char *__buf, size_t __buflen,
1417:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2)))
1417:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ptsname_r")
1417: 
1417:      __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ptsname_r_chk")
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
1417:                    ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                            ;
1417: }
1417: 
1417: 
1417: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
1417:   noexcept (true) __attribute__ ((__warn_unused_result__));
1417: extern int __wctomb_alias (char *__s, wchar_t __wchar) noexcept (true) __asm__ ("" "wctomb")
1417:               __attribute__ ((__warn_unused_result__));
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
1417: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) noexcept (true)
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1417:       && 16 > __builtin_object_size (__s, 2 > 1))
1417:     return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
1417:   return __wctomb_alias (__s, __wchar);
1417: }
1417: 
1417: 
1417: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
1417:          const char *__restrict __src,
1417:          size_t __len, size_t __dstlen) noexcept (true)
1417:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1417: extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1417: 
1417: 
1417: 
1417:     __attribute__ ((__access__ (__read_only__, 2)));
1417: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1417: 
1417: 
1417: 
1417:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1417: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__mbstowcs_chk")
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1417:                         ;
1417: 
1417: extern __inline __attribu     __builtin_object_size (__dest, 2 > 1));
609: }
609: # 127 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
609: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) noexcept (true)
609: {
609:   return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
609: }
609: 
609: 
609: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
609: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
609: 
609: {
609:   return __builtin___strncat_chk (__dest, __src, __len,
609:       __builtin_object_size (__dest, 2 > 1));
609: }
609: # 536 "/usr/include/string.h" 2 3 4
609: 
609: 
609: 
609: }
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
609: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
609: 
609: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
609: class TransformMatrix
609: {
609: public:
609:   TransformMatrix()
609:   {
609:     Reset();
609:   };
609:   void Reset()
609:   {
609:     m[0][0] = 1.0f; m[0][1] = m[0][2] = m[0][3] = 0.0f;
609:     m[1][0] = m[1][2] = m[1][3] = 0.0f; m[1][1] = 1.0f;
609:     m[2][0] = m[2][1] = m[2][3] = 0.0f; m[2][2] = 1.0f;
609:     alpha = red = green = blue = 1.0f;
609:     identity = true;
609:   };
609:   static TransformMatrix CreateTranslation(float transX, float transY, float transZ = 0)
609:   {
609:     TransformMatrix translation;
609:     translation.SetTranslation(transX, transY, transZ);
609:     return translation;
609:   }
609:   void SetTranslation(float transX, float transY, float transZ)
609:   {
609:     m[0][1] = m[0][2] = 0.0f; m[0][0] = 1.0f; m[0][3] = transX;
609:     m[1][0] = m[1][2] = 0.0f; m[1][1] = 1.0f; m[1][3] = transY;
609:     m[2][0] = m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = transZ;
609:     alpha = red = green = blue = 1.0f;
609:     identity = (transX == 0 && transY == 0 && transZ == 0);
609:   }
609:   static TransformMatrix CreateScaler(float scaleX, float scaleY, float scaleZ = 1.0f)
609:   {
609:     TransformMatrix scaler;
609:     scaler.m[0][0] = scaleX;
609:     scaler.m[1][1] = scaleY;
609:     scaler.m[2][2] = scaleZ;
609:     scaler.identity = (scaleX == 1 && scaleY == 1 && scaleZ == 1);
609:     return scaler;
609:   };
609:   void SetScaler(float scaleX, float scaleY, float centerX, float centerY)
609:   {
609: 
609:     float centerZ = 0.0f, scaleZ = 1.0f;
609:     m[0][0] = scaleX; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = centerX*(1-scaleX);
609:     m[1][0] = 0.0f; m[1][1] = scaleY; m[1][2] = 0.0f; m[1][3] = centerY*(1-scaleY);
609:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = scaleZ; m[2][3] = centerZ*(1-scaleZ);
609:     alpha = red = green = blue = 1.0f;
609:     identity = (scaleX == 1 && scaleY == 1);
609:   };
609:   void SetXRotation(float angle, float y, float z, float ar = 1.0f)
609:   {
609: 
609:     float c = cos(angle); float s = sin(angle);
609:     m[0][0] = ar; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
609:     m[1][0] = 0.0f; m[1][1] = c/ar; m[1][2] = -s/ar; m[1][3] = (-y*c+s*z)/ar + y;
609:     m[2][0] = 0.0f; m[2][1] = s; m[2][2] = c; m[2][3] = (-y*s-c*z) + z;
609:     alpha = red = green = blue = 1.0f;
609:     identity = (angle == 0);
609:   }
609:   void SetYRotation(float angle, float x, float z, float ar = 1.0f)
609:   {
609: 
609:     float c = cos(angle); float s = sin(angle);
609:     m[0][0] = c; m[0][1] = 0.0f; m[0][2] = -s/ar; m[0][3] = -x*c + s*z/ar + x;
609:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
609:     m[2][0] = ar*s; m[2][1] = 0.0f; m[2][2] = c; m[2][3] = -ar*x*s - c*z + z;
609:     alpha = red = green = blue = 1.0f;
609:     identity = (angle == 0);
609:   }
609:   static TransformMatrix CreateZRotation(float angle, float x, float y, float ar = 1.0f)
te__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1417: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true)
1417: 
1417: {
1417:   if (__builtin_constant_p (__dst == __null) && __dst == __null)
1417:     return __mbstowcs_nulldst (__dst, __src, __len);
1417:   else
1417:     return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1417:                                                       ;
1417: }
1417: 
1417: extern size_t __wcstombs_chk (char *__restrict __dst,
1417:          const wchar_t *__restrict __src,
1417:          size_t __len, size_t __dstlen) noexcept (true)
1417:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1417: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "wcstombs")
1417: 
1417: 
1417: 
1417:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1417: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__wcstombs_chk")
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1417: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1))))
1417: 
1417:                          ;
1417: }
1417: # 1041 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1417: # 1044 "/usr/include/stdlib.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 76 "/usr/include/c++/12/cstdlib" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/std_abs.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/std_abs.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/std_abs.h" 3
1417: # 46 "/usr/include/c++/12/bits/std_abs.h" 3
1417: extern "C++"
1417: {
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   using ::abs;
1417: 
1417: 
1417:   inline long
1417:   abs(long __i) { return __builtin_labs(__i); }
1417: 
1417: 
1417: 
1417:   inline long long
1417:   abs(long long __x) { return __builtin_llabs (__x); }
1417: # 70 "/usr/include/c++/12/bits/std_abs.h" 3
1417:   inline constexpr double
1417:   abs(double __x)
1417:   { return __builtin_fabs(__x); }
1417: 
1417:   inline constexpr float
1417:   abs(float __x)
1417:   { return __builtin_fabsf(__x); }
1417: 
1417:   inline constexpr long double
1417:   abs(long double __x)
1417:   { return __builtin_fabsl(__x); }
1417: # 107 "/usr/include/c++/12/bits/std_abs.h" 3
1417: 
1417: }
1417: }
1417: # 78 "/usr/include/c++/12/cstdlib" 2 3
1417: # 121 "/usr/include/c++/12/cstdlib" 3
1417: extern "C++"
1417: {
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   using ::div_t;
1417:   using ::ldiv_t;
1417: 
1417:   using ::abort;
1417: 
1417:   using ::aligned_alloc;
1417: 
1417:   using ::atexit;
1417: 
1417: 
1417:   using ::at_quick_exit;
1417: 
1417: 
1417:   using ::atof;
1417:   using ::atoi;
1417:   using ::atol;
1417:   using ::bsearch;
1417:   using ::calloc;
1417:   using ::div;
1417:   using ::exit;
1417:   using ::free;
1417:   using ::getenv;
1417:   using ::labs;
1417:   using ::ldiv;
1417:   using ::malloc;
1417: 
1417:   using ::mblen;
1417:   using ::mbstowcs;
1417:   using ::mbtowc;
1417: 
1417:   using ::qsort;
1417: 
1417: 
1417:   using ::quick_exit;
1417: 
1417: 
1417:   using ::rand;
1417:   using ::realloc;
1417:   using ::srand;
1417:   using ::strtod;
1417:   using ::strtol;
1417:   using ::strtoul;
1417:   using ::system;
1417: 
1417:   using ::wcstombs;
1417:   using ::wctomb;
1417: 
1417: 
1417: 
1417:   inline ldiv_t
1417:   div(long __i, long __j) { return ldiv(__i, __j); }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 195 "/usr/include/c++/12/cstdlib" 3
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   using ::lldiv_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   using ::_Exit;
1417: 
1417: 
1417: 
1417:   using ::llabs;
1417: 
1417:   inline lldiv_t
1417:   div(long long __n, long long __d)
1417:   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
1417: 
1417:   using ::lldiv;
1417: # 227 "/usr/include/c++/12/cstdlib" 3
1417:   using ::atoll;
1417:   using ::strtoll;
1417:   using ::strtoull;
1417: 
1417:   using ::strtof;
1417:   using ::strtold;
1417: 
1417: 
1417: }
1417: 
1417: namespace std
1417: {
1417: 
1417:   using ::__gnu_cxx::lldiv_t;
1417: 
1417:   using ::__gnu_cxx::_Exit;
1417: 
1417:   using ::__gnu_cxx::llabs;
1417:   using ::__gnu_cxx::div;
1417:   using ::__gnu_cxx::lldiv;
1417: 
1417:   using ::__gnu_cxx::atoll;
1417:   using ::__gnu_cxx::strtof;
1417:   using ::__gnu_cxx::strtoll;
1417:   using ::__gnu_cxx::strtoull;
1417:   using ::__gnu_cxx::strtold;
1417: }
1417: 
1417: 
1417: 
1417: }
1417: # 70 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Iterator, typename _Compare>
1417:    
1417:     void
1417:     __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b,
1417:       _Iterator __c, _Compare __comp)
1417:     {
1417:       if (__comp(__a, __b))
1417:  {
1417:    if (__comp(__b, __c))
1417:      std::iter_swap(__result, __b);
1417:    else if (__comp(__a, __c))
1417:      std::iter_swap(__result, __c);
1417:    else
1417:      std::iter_swap(__result, __a);
1417:  }
1417:       else if (__comp(__a, __c))
1417:  std::iter_swap(__result, __a);
1417:       else if (__comp(__b, __c))
1417:  std::iter_swap(__result, __c);
1417:       else
1417:  std::iter_swap(__result, __b);
1417:     }
1417: 
1417: 
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline _InputIterator
1417:     __find_if_not(_InputIt:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1412:  : _Base(__tag, __use_alloc<_Head>(__a))
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       const _Head& __head)
1412:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head)
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       _UHead&& __head)
1412:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1412:   std::forward<_UHead>(__head))
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       const _Tuple_impl& __in)
1412:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       _Tuple_impl&& __in)
1412:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1412:   std::forward<_Head>(_M_head(__in)))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       const _Tuple_impl<_Idx, _UHead>& __in)
1412:  : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1412:   _Tuple_impl<_Idx, _UHead>::_M_head(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _UHead>
1412: 
1412:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1412:       _Tuple_impl<_Idx, _UHead>&& __in)
1412:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1412:   std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1412:  { }
1412: 
1412:       template<typename _UHead>
1412: 
1412:  void
1412:  _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
1412:  {
1412:    _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in);
1412:  }
1412: 
1412:       template<typename _UHead>
1412: 
1412:  void
1412:  _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
1412:  {
1412:    _M_head(*this)
1412:      = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
1412:  }
1412: 
1412:     protected:
1412:      
1412:       void
1412:       _M_swap(_Tuple_impl& __in)
1412:       {
1412:  using std::swap;
1412:  swap(_M_head(*this), _M_head(__in));
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412:   template<bool, typename... _Types>
1412:     struct _TupleConstraints
1412:     {
1412: 
1412: 
1412: 
1412:       template<typename... _UTypes>
1412:  static constexpr bool __is_implicitly_constructible()
1412:  {
1412:    return __and_<is_constructible<_Types, _UTypes>...,
1412:    is_convertible<_UTypes, _Types>...
1412:    >::value;
1412:  }
1412: 
1412: 
1412: 
1412: 
1412:       template<typename... _UTypes>
1412:  static constexpr bool __is_explicitly_constructible()
1412:  {
1412:    return __and_<is_constructible<_Types, _UTypes>...,
1412:    __not_<__and_<is_convertible<_UTypes, _Types>...>>
1412:    >::value;
1412:  }
1412: 
1412:       static constexpr bool __is_implicitly_default_constructible()
1412:       {
1412:  return __and_<std::__is_implicitly_default_constructible<_Types>...
1412:         >::value;
1412:       }
1412: 
1412:       static constexpr bool __is_explicitly_default_constructible()
1412:       {
1412:  return __and_<is_default_constructible<_Types>...,
1412:         __not_<__and_<
1412:    std::__is_implicitly_default_constructible<_Types>...>
1412:         >>::value;
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename... _Types>
1412:     struct _TupleConstraints<false, _Types...>
1412:     {
1412:       template<typename... _UTypes>
1412:  static constexpr bool __is_implicitly_constructible()
1412:  { return false; }
1412: 
1412:       template<typename... _UTypes>
1412:  static constexpr bool __is_explicitly_constructible()
1412:  { return false; }
1412:     };
1412: 
1412: 
1412:   template<typename... _Elements>
1412:     class tuple : public _Tuple_impl<0erator __first, _InputIterator __last,
1417:     _Predicate __pred)
1417:     {
1417:       return std::__find_if(__first, __last,
1417:        __gnu_cxx::__ops::__negate(__pred),
1417:        std::__iterator_category(__first));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _Predicate, typename _Distance>
1417:    
1417:     _InputIterator
1417:     __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred)
1417:     {
1417:       for (; __len; --__len, (void) ++__first)
1417:  if (!__pred(__first))
1417:    break;
1417:       return __first;
1417:     }
1417: # 141 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     _ForwardIterator1
1417:     __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1417:       _BinaryPredicate __predicate)
1417:     {
1417: 
1417:       if (__first1 == __last1 || __first2 == __last2)
1417:  return __first1;
1417: 
1417: 
1417:       _ForwardIterator2 __p1(__first2);
1417:       if (++__p1 == __last2)
1417:  return std::__find_if(__first1, __last1,
1417:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1417: 
1417: 
1417:       _ForwardIterator1 __current = __first1;
1417: 
1417:       for (;;)
1417:  {
1417:    __first1 =
1417:      std::__find_if(__first1, __last1,
1417:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1417: 
1417:    if (__first1 == __last1)
1417:      return __last1;
1417: 
1417:    _ForwardIterator2 __p = __p1;
1417:    __current = __first1;
1417:    if (++__current == __last1)
1417:      return __last1;
1417: 
1417:    while (__predicate(__current, __p))
1417:      {
1417:        if (++__p == __last2)
1417:   return __first1;
1417:        if (++__current == __last1)
1417:   return __last1;
1417:      }
1417:    ++__first1;
1417:  }
1417:       return __first1;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Integer,
1417:     typename _UnaryPredicate>
1417:    
1417:     _ForwardIterator
1417:     __search_n_aux(_ForwardIterator __first, _ForwardIterator __last,
1417:      _Integer __count, _UnaryPredicate __unary_pred,
1417:      std::forward_iterator_tag)
1417:     {
1417:       __first = std::__find_if(__first, __last, __unary_pred);
1417:       while (__first != __last)
1417:  {
1417:    typename iterator_traits<_ForwardIterator>::difference_type
1417:      __n = __count;
1417:    _ForwardIterator __i = __first;
1417:    ++__i;
1417:    while (__i != __last && __n != 1 && __unary_pred(__i))
1417:      {
1417:        ++__i;
1417:        --__n;
1417:      }
1417:    if (__n == 1)
1417:      return __first;
1417:    if (__i == __last)
1417:      return __last;
1417:    __first = std::__find_if(++__i, __last, __unary_pred);
1417:  }
1417:       return __last;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _RandomAccessIter, typename _Integer,
1417:     typename _UnaryPredicate>
1417:    
1417:     _RandomAccessIter
1417:     __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last,
1417:      _Integer __count, _UnaryPredicate __unary_pred,
1417:      std::random_access_iterator_tag)
1417:     {
1417:       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
1417:  _DistanceType;
1417: 
1417:       _DistanceType __tailSize = __last - __first;
1417:       _DistanceType __remainder = __count;
1417: 
1417:       while (__remainder <= __tailSize)
1417:  {
1417:    __first += __remainder;
1417:    __tailSize -= __remainder;
1417: 
1417: 
1417:    _RandomAccessIter __backTrack = __first;
1417:    while (__unary_pred(--__backTrack))
1417:      {
1417:        if (--__remainder == 0)
1417:   return (__first - __count);
1417:      }
1417:    __remainder = __count + 1 - (__first - __backTrack);
1417:  }
1417:       return __last;
1417:     }
1417: 
1417:   template<typename _ForwardIt609:   {
609: 
609:     TransformMatrix rot;
609:     rot.SetZRotation(angle, x, y, ar);
609:     return rot;
609:   }
609:   void SetZRotation(float angle, float x, float y, float ar = 1.0f)
609:   {
609: 
609:     float c = cos(angle); float s = sin(angle);
609:     m[0][0] = c; m[0][1] = -s/ar; m[0][2] = 0.0f; m[0][3] = -x*c + s*y/ar + x;
609:     m[1][0] = s*ar; m[1][1] = c; m[1][2] = 0.0f; m[1][3] = -ar*x*s - c*y + y;
609:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
609:     alpha = red = green = blue = 1.0f;
609:     identity = (angle == 0);
609:   }
609:   static TransformMatrix CreateFader(float a)
609:   {
609:     TransformMatrix fader;
609:     fader.SetFader(a);
609:     return fader;
609:   }
609:   static TransformMatrix CreateFader(float a, float r, float g, float b)
609:   {
609:     TransformMatrix fader;
609:     fader.SetFader(a, r, g, b);
609:     return fader;
609:   }
609:   void SetFader(float a)
609:   {
609:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
609:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
609:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
609:     alpha = a;
609:     red = green = blue = 1.0f;
609:     identity = (a == 1.0f);
609:   }
609: 
609:   void SetFader(float a, float r, float g, float b)
609:   {
609:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
609:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
609:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
609:     alpha = a;
609:     red = r;
609:     green = g;
609:     blue = b;
609:     identity = ((a == 1.0f) && (r == 1.0f) && (g == 1.0f) && (b == 1.0f));
609:   }
609: 
609: 
609:   const TransformMatrix &operator *=(const TransformMatrix &right)
609:   {
609:     if (right.identity)
609:       return *this;
609:     if (identity)
609:     {
609:       *this = right;
609:       return *this;
609:     }
609:     float t00 = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
609:     float t01 = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
609:     float t02 = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
609:     m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
609:     m[0][0] = t00; m[0][1] = t01; m[0][2] = t02;
609:     t00 = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
609:     t01 = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
609:     t02 = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
609:     m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
609:     m[1][0] = t00; m[1][1] = t01; m[1][2] = t02;
609:     t00 = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
609:     t01 = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
609:     t02 = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
609:     m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
609:     m[2][0] = t00; m[2][1] = t01; m[2][2] = t02;
609:     alpha *= right.alpha;
609:     red *= right.red;
609:     green *= right.green;
609:     blue *= right.blue;
609:     identity = false;
609:     return *this;
609:   }
609: 
609:   TransformMatrix operator *(const TransformMatrix &right) const
609:   {
609:     if (right.identity)
609:       return *this;
609:     if (identity)
609:       return right;
609:     TransformMatrix result;
609:     result.m[0][0] = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
609:     result.m[0][1] = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
609:     result.m[0][2] = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
609:     result.m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0erator, typename _Integer,
1417:     typename _UnaryPredicate>
1417:    
1417:     _ForwardIterator
1417:     __search_n(_ForwardIterator __first, _ForwardIterator __last,
1417:         _Integer __count,
1417:         _UnaryPredicate __unary_pred)
1417:     {
1417:       if (__count <= 0)
1417:  return __first;
1417: 
1417:       if (__count == 1)
1417:  return std::__find_if(__first, __last, __unary_pred);
1417: 
1417:       return std::__search_n_aux(__first, __last, __count, __unary_pred,
1417:      std::__iterator_category(__first));
1417:     }
1417: 
1417: 
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     _ForwardIterator1
1417:     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1417:         forward_iterator_tag, forward_iterator_tag,
1417:         _BinaryPredicate __comp)
1417:     {
1417:       if (__first2 == __last2)
1417:  return __last1;
1417: 
1417:       _ForwardIterator1 __result = __last1;
1417:       while (1)
1417:  {
1417:    _ForwardIterator1 __new_result
1417:      = std::__search(__first1, __last1, __first2, __last2, __comp);
1417:    if (__new_result == __last1)
1417:      return __result;
1417:    else
1417:      {
1417:        __result = __new_result;
1417:        __first1 = __new_result;
1417:        ++__first1;
1417:      }
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     _BidirectionalIterator1
1417:     __find_end(_BidirectionalIterator1 __first1,
1417:         _BidirectionalIterator1 __last1,
1417:         _BidirectionalIterator2 __first2,
1417:         _BidirectionalIterator2 __last2,
1417:         bidirectional_iterator_tag, bidirectional_iterator_tag,
1417:         _BinaryPredicate __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
1417:       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
1417: 
1417:       _RevIterator1 __rlast1(__first1);
1417:       _RevIterator2 __rlast2(__first2);
1417:       _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1,
1417:            _RevIterator2(__last2), __rlast2,
1417:            __comp);
1417: 
1417:       if (__rresult == __rlast1)
1417:  return __last1;
1417:       else
1417:  {
1417:    _BidirectionalIterator1 __result = __rresult.base();
1417:    std::advance(__result, -std::distance(__first2, __last2));
1417:    return __result;
1417:  }
1417:     }
1417: # 367 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1417:    
1417:     inline _ForwardIterator1
1417:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__find_end(__first1, __last1, __first2, __last2,
1417:         std::__iterator_category(__first1),
1417:         std::__iterator_category(__first2),
1417:         __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: # 416 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline _ForwardIterator1
1417:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1417:       _BinaryPredicate __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__find_end(__first1, __last1, __first2, __last2,
1417:         std::__iterator_category(__first1),
1417:         std::__iterator_category(__first2),
1417:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: , _Elements...>
1412:     {
1412:       typedef _Tuple_impl<0, _Elements...> _Inherited;
1412: 
1412:       template<bool _Cond>
1412:  using _TCC = _TupleConstraints<_Cond, _Elements...>;
1412: 
1412: 
1412:       template<bool _Dummy>
1412:  using _ImplicitDefaultCtor = __enable_if_t<
1412:    _TCC<_Dummy>::__is_implicitly_default_constructible(),
1412:    bool>;
1412: 
1412: 
1412:       template<bool _Dummy>
1412:  using _ExplicitDefaultCtor = __enable_if_t<
1412:    _TCC<_Dummy>::__is_explicitly_default_constructible(),
1412:    bool>;
1412: 
1412: 
1412:       template<bool _Cond, typename... _Args>
1412:  using _ImplicitCtor = __enable_if_t<
1412:    _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(),
1412:    bool>;
1412: 
1412: 
1412:       template<bool _Cond, typename... _Args>
1412:  using _ExplicitCtor = __enable_if_t<
1412:    _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(),
1412:    bool>;
1412: 
1412:       template<typename... _UElements>
1412:  static constexpr
1412:  __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
1412:  __assignable()
1412:  { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
1412: 
1412: 
1412:       template<typename... _UElements>
1412:  static constexpr bool __nothrow_assignable()
1412:  {
1412:    return
1412:      __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
1412:  }
1412: 
1412: 
1412:       template<typename... _UElements>
1412:  static constexpr bool __nothrow_constructible()
1412:  {
1412:    return
1412:      __and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
1412:  }
1412: 
1412: 
1412:       template<typename _Up>
1412:  static constexpr bool __valid_args()
1412:  {
1412:    return sizeof...(_Elements) == 1
1412:      && !is_same<tuple, __remove_cvref_t<_Up>>::value;
1412:  }
1412: 
1412: 
1412:       template<typename, typename, typename... _Tail>
1412:  static constexpr bool __valid_args()
1412:  { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); }
1412: # 684 "/usr/include/c++/12/tuple" 3
1412:       template<typename _Tuple, typename = tuple,
1412:         typename = __remove_cvref_t<_Tuple>>
1412:  struct _UseOtherCtor
1412:  : false_type
1412:  { };
1412: 
1412: 
1412:       template<typename _Tuple, typename _Tp, typename _Up>
1412:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>>
1412:  : __or_<is_convertible<_Tuple, _Tp>, is_constructible<_Tp, _Tuple>>
1412:  { };
1412: 
1412: 
1412:       template<typename _Tuple, typename _Tp>
1412:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>>
1412:  : true_type
1412:  { };
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Tuple>
1412:  static constexpr bool __use_other_ctor()
1412:  { return _UseOtherCtor<_Tuple>::value; }
1412: 
1412:     public:
1412:       template<typename _Dummy = void,
1412:         _ImplicitDefaultCtor<is_void<_Dummy>::value> = true>
1412:  constexpr
1412:  tuple()
1412:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1412:  : _Inherited() { }
1412: 
1412:       template<typename _Dummy = void,
1412:         _ExplicitDefaultCtor<is_void<_Dummy>::value> = false>
1412:  explicit constexpr
1412:  tuple()
1412:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1412:  : _Inherited() { }
1412: 
1412:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1412:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1412:  constexpr
1412:  tuple(const _Elements&... __elements)
1412:  noexcept(__nothrow_constructible<const _Elements&...>())
1412:  : _Inherited(__elements...) { }
1412: 
1412:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1412:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1412:  explicit constexpr
1412:  tuple(const _Elements&... __elements)
1412:  noexcept(__nothrow_constructible<const _Elements&...>())
1412:  : _Inherited(__elements...) { }
1412: 
1412:       template<typename... _UElements,
1412:         bool _Valid = __valid_args<_UElements...>(),
1412:         _ImplicitCtor# 452 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline bool
1417:     all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1417:     { return __last == std::find_if_not(__first, __last, __pred); }
1417: # 470 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline bool
1417:     none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1417:     { return __last == std::find_if(__first, __last, __pred); }
1417: # 489 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline bool
1417:     any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1417:     { return !std::none_of(__first, __last, __pred); }
1417: # 505 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline _InputIterator
1417:     find_if_not(_InputIterator __first, _InputIterator __last,
1417:   _Predicate __pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       return std::__find_if_not(__first, __last,
1417:     __gnu_cxx::__ops::__pred_iter(__pred));
1417:     }
1417: # 530 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline bool
1417:     is_partitioned(_InputIterator __first, _InputIterator __last,
1417:      _Predicate __pred)
1417:     {
1417:       __first = std::find_if_not(__first, __last, __pred);
1417:       if (__first == __last)
1417:  return true;
1417:       ++__first;
1417:       return std::none_of(__first, __last, __pred);
1417:     }
1417: # 552 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Predicate>
1417:    
1417:     _ForwardIterator
1417:     partition_point(_ForwardIterator __first, _ForwardIterator __last,
1417:       _Predicate __pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417: 
1417:       ;
1417: 
1417:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1417:  _DistanceType;
1417: 
1417:       _DistanceType __len = std::distance(__first, __last);
1417: 
1417:       while (__len > 0)
1417:  {
1417:    _DistanceType __half = __len >> 1;
1417:    _ForwardIterator __middle = __first;
1417:    std::advance(__middle, __half);
1417:    if (__pred(*__middle))
1417:      {
1417:        __first = __middle;
1417:        ++__first;
1417:        __len = __len - __half - 1;
1417:      }
1417:    else
1417:      __len = __half;
1417:  }
1417:       return __first;
1417:     }
1417: 
1417: 
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _Predicate>
1417:    
1417:     _OutputIterator
1417:     __remove_copy_if(_InputIterator __first, _InputIterator __last,
1417:        _OutputIterator __result, _Predicate __pred)
1417:     {
1417:       for (; __first != __last; ++__first)
1417:  if (!__pred(__first))
1417:    {
1417:      *__result = *__first;
1417:      ++__result;
1417:    }
1417:       return __result;
1417:     }
1417: # 619 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1417:    
1417:     inline _OutputIterator
1417:     remove_copy(_InputIterator __first, _InputIterator __last,
1417:   _OutputIterator __result, const _Tp& __value)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__remove_copy_if(__first, __last, __result,
1417:  __gnu_cxx::__ops::__iter_equals_val(__value));
1417:     }
1417: # 652 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _Predicate>
1417:    
1417:     inline _OutputIterator
1417:     remove_copy_if(_InputIterator __first, _InputIterator __last,
1417:      _OutputIterator __result, _Predicate __pred)
1417:     {
1417:][2] * right.m[2][3] + m[0][3];
609:     result.m[1][0] = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
609:     result.m[1][1] = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
609:     result.m[1][2] = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
609:     result.m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
609:     result.m[2][0] = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
609:     result.m[2][1] = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
609:     result.m[2][2] = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
609:     result.m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
609:     result.alpha = alpha * right.alpha;
609:     result.red = red * right.red;
609:     result.green = green * right.green;
609:     result.blue = blue * right.blue;
609:     result.identity = false;
609:     return result;
609:   }
609: 
609:   inline void TransformPosition(float &x, float &y, float &z) const __attribute__((always_inline))
609:   {
609:     float newX = m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
609:     float newY = m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
609:     z = m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
609:     y = newY;
609:     x = newX;
609:   }
609: 
609:   inline void TransformPositionUnscaled(float &x, float &y, float &z) const __attribute__((always_inline))
609:   {
609:     float n;
609: 
609:     n = sqrt(m[0][0]*m[0][0] + m[0][1]*m[0][1] + m[0][2]*m[0][2]);
609:     float newX = (m[0][0] * x + m[0][1] * y + m[0][2] * z)/n + m[0][3];
609:     n = sqrt(m[1][0]*m[1][0] + m[1][1]*m[1][1] + m[1][2]*m[1][2]);
609:     float newY = (m[1][0] * x + m[1][1] * y + m[1][2] * z)/n + m[1][3];
609:     n = sqrt(m[2][0]*m[2][0] + m[2][1]*m[2][1] + m[2][2]*m[2][2]);
609:     float newZ = (m[2][0] * x + m[2][1] * y + m[2][2] * z)/n + m[2][3];
609:     z = newZ;
609:     y = newY;
609:     x = newX;
609:   }
609: 
609:   inline void InverseTransformPosition(float &x, float &y) const __attribute__((always_inline))
609:   {
609:     x -= m[0][3]; y -= m[1][3];
609:     float detM = m[0][0]*m[1][1] - m[0][1]*m[1][0];
609:     float newX = (m[1][1] * x - m[0][1] * y)/detM;
609:     y = (-m[1][0] * x + m[0][0] * y)/detM;
609:     x = newX;
609:   }
609: 
609:   inline float TransformXCoord(float x, float y, float z) const __attribute__((always_inline))
609:   {
609:     return m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
609:   }
609: 
609:   inline float TransformYCoord(float x, float y, float z) const __attribute__((always_inline))
609:   {
609:     return m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
609:   }
609: 
609:   inline float TransformZCoord(float x, float y, float z) const __attribute__((always_inline))
609:   {
609:     return m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
609:   }
609: 
609:   inline UTILS::COLOR::Color TransformAlpha(UTILS::COLOR::Color color) const __attribute__((always_inline))
609:   {
609:     return static_cast<UTILS::COLOR::Color>(color * alpha);
609:   }
609: 
609:   inline UTILS::COLOR::Color TransformColor(UTILS::COLOR::Color color) const __attribute__((always_inline))
609:   {
609:     UTILS::COLOR::Color a = static_cast<UTILS::COLOR::Color>(((color >> 24) & 0xff) * alpha);
609:     UTILS::COLOR::Color r = static_cast<UTILS::COLOR::Color>(((color >> 16) & 0xff) * red);
609:     UTILS::COLOR::Color g = static_cast<UTILS::COLOR::Color>(((color >> 8) & 0xff) * green);
609:     UTILS::COLOR::Color b = static_cast<UTILS::COLOR::Color>(((color)&0xff) * blue);
609:     if (a > 255)
609:       a = 255;
609:     if (r > 255)
609:       r = 255;
609:     if (g > 255)
609:       g = 255;
609:     if (b > 255)
609:       b = 255;
609: 
609:     return ((a << 24) & 0xff000000) | ((r << 16) & 0xff0000) | ((g << 8) & 0xff00) | (b & 0xff);
609:   }
609: 
609:   float m[3][4];
 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__remove_copy_if(__first, __last, __result,
1417:        __gnu_cxx::__ops::__pred_iter(__pred));
1417:     }
1417: # 687 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _Predicate>
1417:    
1417:     _OutputIterator
1417:     copy_if(_InputIterator __first, _InputIterator __last,
1417:      _OutputIterator __result, _Predicate __pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       for (; __first != __last; ++__first)
1417:  if (__pred(*__first))
1417:    {
1417:      *__result = *__first;
1417:      ++__result;
1417:    }
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1417:    
1417:     _OutputIterator
1417:     __copy_n(_InputIterator __first, _Size __n,
1417:       _OutputIterator __result, input_iterator_tag)
1417:     {
1417:       return std::__niter_wrap(__result,
1417:           __copy_n_a(__first, __n,
1417:        std::__niter_base(__result), true));
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Size,
1417:     typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     __copy_n(_RandomAccessIterator __first, _Size __n,
1417:       _OutputIterator __result, random_access_iterator_tag)
1417:     { return std::copy(__first, __first + __n, __result); }
1417: # 743 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     copy_n(_InputIterator __first, _Size __n, _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417:       const auto __n2 = std::__size_to_integer(__n);
1417:       if (__n2 <= 0)
1417:  return __result;
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__copy_n(__first, __n2, __result,
1417:       std::__iterator_category(__first));
1417:     }
1417: # 779 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator1,
1417:     typename _OutputIterator2, typename _Predicate>
1417:    
1417:     pair<_OutputIterator1, _OutputIterator2>
1417:     partition_copy(_InputIterator __first, _InputIterator __last,
1417:      _OutputIterator1 __out_true, _OutputIterator2 __out_false,
1417:      _Predicate __pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       for (; __first != __last; ++__first)
1417:  if (__pred(*__first))
1417:    {
1417:      *__out_true = *__first;
1417:      ++__out_true;
1417:    }
1417:  else
1417:    {
1417:      *__out_false = *__first;
1417:      ++__out_false;
1417:    }
1417: 
1417:       return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false);
1417:     }
1417: # 830 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline _ForwardIterator
1417:     remove(_ForwardIterator __first, _ForwardIterator __last,
1417:     const _Tp& __value)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__remove_if(__first, __last,
1417:   __gnu_cxx::__ops::__iter_equals_val(__value));
1417:     }
1417: # 864 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Predicate>
1417:    
1417:     inline _ForwardIterator
1417:     remove_if(_ForwardIterator __first, _ForwardIterator __last,
1417:        _Predicate __pred)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__remove_if(__first, __last,
1417:          __gnu_cxx::__ops::__pred_iter(__pred));
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _BinaryPredicate>
1417:    
1417:     _ForwardIterator
1417:     __adjacent_find(_ForwardIterator __first, _Forw<_Valid, _UElements...> = true>
1412:  constexpr
1412:  tuple(_UElements&&... __elements)
1412:  noexcept(__nothrow_constructible<_UElements...>())
1412:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1412: 
1412:       template<typename... _UElements,
1412:         bool _Valid = __valid_args<_UElements...>(),
1412:         _ExplicitCtor<_Valid, _UElements...> = false>
1412:  explicit constexpr
1412:  tuple(_UElements&&... __elements)
1412:  noexcept(__nothrow_constructible<_UElements...>())
1412:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1412: 
1412:       constexpr tuple(const tuple&) = default;
1412: 
1412:       constexpr tuple(tuple&&) = default;
1412: 
1412:       template<typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1412:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1412:  constexpr
1412:  tuple(const tuple<_UElements...>& __in)
1412:  noexcept(__nothrow_constructible<const _UElements&...>())
1412:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1412:  { }
1412: 
1412:       template<typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1412:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1412:  explicit constexpr
1412:  tuple(const tuple<_UElements...>& __in)
1412:  noexcept(__nothrow_constructible<const _UElements&...>())
1412:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1412:  { }
1412: 
1412:       template<typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1412:         _ImplicitCtor<_Valid, _UElements...> = true>
1412:  constexpr
1412:  tuple(tuple<_UElements...>&& __in)
1412:  noexcept(__nothrow_constructible<_UElements...>())
1412:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1412: 
1412:       template<typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1412:         _ExplicitCtor<_Valid, _UElements...> = false>
1412:  explicit constexpr
1412:  tuple(tuple<_UElements...>&& __in)
1412:  noexcept(__nothrow_constructible<_UElements...>())
1412:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1412: 
1412: 
1412: 
1412:       template<typename _Alloc,
1412:         _ImplicitDefaultCtor<is_object<_Alloc>::value> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1412:  : _Inherited(__tag, __a) { }
1412: 
1412:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1412:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const _Elements&... __elements)
1412:  : _Inherited(__tag, __a, __elements...) { }
1412: 
1412:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1412:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1412: 
1412:  explicit
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const _Elements&... __elements)
1412:  : _Inherited(__tag, __a, __elements...) { }
1412: 
1412:       template<typename _Alloc, typename... _UElements,
1412:         bool _Valid = __valid_args<_UElements...>(),
1412:         _ImplicitCtor<_Valid, _UElements...> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        _UElements&&... __elements)
1412:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1412:  { }
1412: 
1412:       template<typename _Alloc, typename... _UElements,
1412:    bool _Valid = __valid_args<_UElements...>(),
1412:         _ExplicitCtor<_Valid, _UElements...> = false>
1412: 
1412:  explicit
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        _UElements&&... __elementsardIterator __last,
1417:       _BinaryPredicate __binary_pred)
1417:     {
1417:       if (__first == __last)
1417:  return __last;
1417:       _ForwardIterator __next = __first;
1417:       while (++__next != __last)
1417:  {
1417:    if (__binary_pred(__first, __next))
1417:      return __first;
1417:    __first = __next;
1417:  }
1417:       return __last;
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _BinaryPredicate>
1417:    
1417:     _ForwardIterator
1417:     __unique(_ForwardIterator __first, _ForwardIterator __last,
1417:       _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:       __first = std::__adjacent_find(__first, __last, __binary_pred);
1417:       if (__first == __last)
1417:  return __last;
1417: 
1417: 
1417:       _ForwardIterator __dest = __first;
1417:       ++__first;
1417:       while (++__first != __last)
1417:  if (!__binary_pred(__dest, __first))
1417:    *++__dest = std::move(*__first);
1417:       return ++__dest;
1417:     }
1417: # 933 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:    
1417:     inline _ForwardIterator
1417:     unique(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__unique(__first, __last,
1417:       __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: # 964 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _BinaryPredicate>
1417:    
1417:     inline _ForwardIterator
1417:     unique(_ForwardIterator __first, _ForwardIterator __last,
1417:     _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       return std::__unique(__first, __last,
1417:       __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _OutputIterator,
1417:     typename _BinaryPredicate>
1417:    
1417:     _OutputIterator
1417:     __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
1417:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1417:     forward_iterator_tag, output_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417: 
1417: 
1417:       _ForwardIterator __next = __first;
1417:       *__result = *__first;
1417:       while (++__next != __last)
1417:  if (!__binary_pred(__first, __next))
1417:    {
1417:      __first = __next;
1417:      *++__result = *__first;
1417:    }
1417:       return ++__result;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _BinaryPredicate>
1417:    
1417:     _OutputIterator
1417:     __unique_copy(_InputIterator __first, _InputIterator __last,
1417:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1417:     input_iterator_tag, output_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417: 
1417: 
1417:       typename iterator_traits<_InputIterator>::value_type __value = *__first;
1417:       __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred))
1417:  __rebound_pred
1417:  = __gnu_cxx::__ops::__iter_comp_val(__binary_pred);
1417:       *__result = __value;
1417:       while (++__first != __last)
1417:  if (!__rebound_pred(__first, __value))
1417:    {
1417:      __value = *__first;
1417:      *++__result = __value;
1417:    }
1417:       return ++__result;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _ForwardIterator,
1417:     typename _BinaryPredicate>
1417:    
1417:     _ForwardIterator
1417:     __unique_copy(_InputIterator __first, _InputIterator __last,
1417:     _ForwardIterator __result, _BinaryPredicate __binary_pred,
1417:     input_iterator_tag, forward_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417: 
1417:       *__result = *__first;
1417:       while (++__first != __last)
1417:  if (!__binary_pred(__result, __firs609:   float alpha;
609:   float red;
609:   float green;
609:   float blue;
609:   bool identity;
609: };
609: 
609: inline bool operator==(const TransformMatrix &a, const TransformMatrix &b)
609: {
609:   bool comparison =
609:       a.alpha == b.alpha && a.red == b.red && a.green == b.green && a.blue == b.blue &&
609:       ((a.identity && b.identity) ||
609:        (!a.identity && !b.identity &&
609:         std::equal(&a.m[0][0], &a.m[0][0] + sizeof(a.m) / sizeof(a.m[0][0]), &b.m[0][0])));
609:   return comparison;
609: }
609: 
609: inline bool operator!=(const TransformMatrix &a, const TransformMatrix &b)
609: {
609:   return !operator==(a, b);
609: }
609: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
609: 
609: 
609: 
609: 
609: 
609: enum ANIMATION_TYPE
609: {
609:   ANIM_TYPE_UNFOCUS = -3,
609:   ANIM_TYPE_HIDDEN,
609:   ANIM_TYPE_WINDOW_CLOSE,
609:   ANIM_TYPE_NONE,
609:   ANIM_TYPE_WINDOW_OPEN,
609:   ANIM_TYPE_VISIBLE,
609:   ANIM_TYPE_FOCUS,
609:   ANIM_TYPE_CONDITIONAL
609: };
609: 
609: class CAnimEffect
609: {
609: public:
609:   enum EFFECT_TYPE
609:   {
609:     EFFECT_TYPE_NONE = 0,
609:     EFFECT_TYPE_FADE,
609:     EFFECT_TYPE_FADE_DIFFUSE,
609:     EFFECT_TYPE_SLIDE,
609:     EFFECT_TYPE_ROTATE_X,
609:     EFFECT_TYPE_ROTATE_Y,
609:     EFFECT_TYPE_ROTATE_Z,
609:     EFFECT_TYPE_ZOOM
609:   };
609: 
609:   CAnimEffect(const TiXmlElement *node, EFFECT_TYPE effect);
609:   CAnimEffect(unsigned int delay, unsigned int length, EFFECT_TYPE effect);
609:   CAnimEffect(const CAnimEffect &src);
609: 
609:   virtual ~CAnimEffect();
609:   CAnimEffect& operator=(const CAnimEffect &src);
609: 
609:   void Calculate(unsigned int time, const CPoint &center);
609:   void ApplyState(ANIMATION_STATE state, const CPoint &center);
609: 
609:   unsigned int GetDelay() const { return m_delay; }
609:   unsigned int GetLength() const { return m_delay + m_length; }
609:   const TransformMatrix& GetTransform() const { return m_matrix; }
609:   EFFECT_TYPE GetType() const { return m_effect; }
609: 
609:   static std::shared_ptr<Tweener> GetTweener(const TiXmlElement *pAnimationNode);
609: protected:
609:   TransformMatrix m_matrix;
609:   EFFECT_TYPE m_effect;
609: 
609: private:
609:   virtual void ApplyEffect(float offset, const CPoint &center)=0;
609: 
609: 
609:   unsigned int m_length;
609:   unsigned int m_delay;
609: 
609:   std::shared_ptr<Tweener> m_pTweener;
609: };
609: 
609: class CFadeEffect : public CAnimEffect
609: {
609: public:
609:   CFadeEffect(const TiXmlElement* node, bool reverseDefaults, EFFECT_TYPE effect);
609:   CFadeEffect(float start, float end, unsigned int delay, unsigned int length);
609:   CFadeEffect(UTILS::COLOR::Color start,
609:               UTILS::COLOR::Color end,
609:               unsigned int delay,
609:               unsigned int length);
609:   ~CFadeEffect() override = default;
609: private:
609:   void ApplyEffect(float offset, const CPoint &center) override;
609: 
609:   float m_startAlpha;
609:   float m_endAlpha;
609:   UTILS::COLOR::ColorFloats m_startColor;
609:   UTILS::COLOR::ColorFloats m_endColor;
609: };
609: 
609: class CSlideEffect : public CAnimEffect
609: {
609: public:
609:   explicit CSlideEffect(const TiXmlElement *node);
609:   ~CSlideEffect() override = default;
609: private:
609:   void ApplyEffect(float offset, const CPoint &center) override;
609: 
609:   float m_startX;
609:   float m_startY;
609:   float m_endX;
609:   float m_endY;
609: };
609: 
609: class CRotateEffect : public CAnimEffect
609: {
609: public:
609:   CRotateEffect(const TiXmlElement *node, EFFECT_TYPE effect);
609:   ~CRotateEffect() override = default;
609: private:
609:   void ApplyEffect(float offset, const CPoint &center) override;
609: 
609:   float m_startAngle;
609:   float m_endAngle;
609: 
609:   bool m_autoCenter;
609:   CPoint m_center;
609: };
609: 
609: class CZoomEffect : public CAnimEffect
609: {
609: public:
609:   CZoomEffect(const TiXmlElement *node, const CRect &rect);
609:   ~CZoomEffect() override = default;
609: private:
609:   void ApplyEfft))
1417:    *++__result = *__first;
1417:       return ++__result;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BidirectionalIterator>
1417:    
1417:     void
1417:     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
1417:        bidirectional_iterator_tag)
1417:     {
1417:       while (true)
1417:  if (__first == __last || __first == --__last)
1417:    return;
1417:  else
1417:    {
1417:      std::iter_swap(__first, __last);
1417:      ++__first;
1417:    }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     void
1417:     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:        random_access_iterator_tag)
1417:     {
1417:       if (__first == __last)
1417:  return;
1417:       --__last;
1417:       while (__first < __last)
1417:  {
1417:    std::iter_swap(__first, __last);
1417:    ++__first;
1417:    --__last;
1417:  }
1417:     }
1417: # 1125 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator>
1417:    
1417:     inline void
1417:     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417:       std::__reverse(__first, __last, std::__iterator_category(__first));
1417:     }
1417: # 1153 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator, typename _OutputIterator>
1417:    
1417:     _OutputIterator
1417:     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
1417:    _OutputIterator __result)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       while (__first != __last)
1417:  {
1417:    --__last;
1417:    *__result = *__last;
1417:    ++__result;
1417:  }
1417:       return __result;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _EuclideanRingElement>
1417:    
1417:     _EuclideanRingElement
1417:     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
1417:     {
1417:       while (__n != 0)
1417:  {
1417:    _EuclideanRingElement __t = __m % __n;
1417:    __m = __n;
1417:    __n = __t;
1417:  }
1417:       return __m;
1417:     }
1417: 
1417:   inline namespace _V2
1417:   {
1417: 
1417: 
1417:   template<typename _ForwardIterator>
1417:    
1417:     _ForwardIterator
1417:     __rotate(_ForwardIterator __first,
1417:       _ForwardIterator __middle,
1417:       _ForwardIterator __last,
1417:       forward_iterator_tag)
1417:     {
1417:       if (__first == __middle)
1417:  return __last;
1417:       else if (__last == __middle)
1417:  return __first;
1417: 
1417:       _ForwardIterator __first2 = __middle;
1417:       do
1417:  {
1417:    std::iter_swap(__first, __first2);
1417:    ++__first;
1417:    ++__first2;
1417:    if (__first == __middle)
1417:      __middle = __first2;
1417:  }
1417:       while (__first2 != __last);
1417: 
1417:       _ForwardIterator __ret = __first;
1417: 
1417:       __first2 = __middle;
1417: 
1417:       while (__first2 != __last)
1417:  {
1417:    std::iter_swap(__first, __first2);
1417:    ++__first;
1417:    ++__first2;
1417:    if (__first == __middle)
1417:      __middle = __first2;
1417:    else if (__first2 == __last)
1417:      __first2 = __middle;
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417: 
1417:   template<typename _BidirectionalIterator>
1417:    
1417:     _BidirectionalIterator
1417:     __rotate(_BidirectionalIterator __first,
1417:       _BidirectionalIterator __middle,
1417:       _BidirectionalIterator __last,
1417:        bidirectional_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417: 
1417:       if (__first == __middle)
1417:  return __last;
1417:       else if (__last == __middle)
1417:  return __first;
1417: 
1417:       std::__reverse(__first, __middle, bidirectional_iterator_tag());
1417:       std::__reverse(__middle, __last, bidirectional_iterator_tag());
1417: 
1417:       while (__first != __middle && __middle != __last)
1417)
1412:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1412:  { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1412:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1412:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1412: 
1412:       template<typename _Alloc, typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1412:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const tuple<_UElements...>& __in)
1412:  : _Inherited(__tag, __a,
1412:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1412:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1412: 
1412:  explicit
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const tuple<_UElements...>& __in)
1412:  : _Inherited(__tag, __a,
1412:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1412:         _ImplicitCtor<_Valid, _UElements...> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        tuple<_UElements...>&& __in)
1412:  : _Inherited(__tag, __a,
1412:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename... _UElements,
1412:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1412:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1412:         _ExplicitCtor<_Valid, _UElements...> = false>
1412: 
1412:  explicit
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        tuple<_UElements...>&& __in)
1412:  : _Inherited(__tag, __a,
1412:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
1412:  { }
1412: 
1412: 
1412: 
1412:      
1412:       tuple&
1412:       operator=(__conditional_t<__assignable<const _Elements&...>(),
1412:     const tuple&,
1412:     const __nonesuch&> __in)
1412:       noexcept(__nothrow_assignable<const _Elements&...>())
1412:       {
1412:  this->_M_assign(__in);
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       tuple&
1412:       operator=(__conditional_t<__assignable<_Elements...>(),
1412:     tuple&&,
1412:     __nonesuch&&> __in)
1412:       noexcept(__nothrow_assignable<_Elements...>())
1412:       {
1412:  this->_M_assign(std::move(__in));
1412:  return *this;
1412:       }
1412: 
1412:       template<typename... _UElements>
1412: 
1412:  __enable_if_t<__assignable<const _UElements&...>(), tuple&>
1412:  operator=(const tuple<_UElements...>& __in)
1412:  noexcept(__nothrow_assignable<const _UElements&...>())
1412:  {
1412:    this->_M_assign(__in);
1412:    return *this;
1412:  }
1412: 
1412:       template<typename... _UElements>
1412: 
1412:  __enable_if_t<__assignable<_UElements...>(), tuple&>
1412:  operator=(tuple<_UElements...>&& __in)
1412:  noexcept(__nothrow_assignable<_UElements...>())
1412:  {
1412:    this->_M_assign(std::move(__in));
1412:    return *this;
1412:  }
1412: 
1412: 
1412:      
1412:       void
1412:       swap(tuple& __in)
1412:       noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
1412:       { _Inherited::_M_swap(__in); }
1412:     };
1412: 
1412: 
1412:   template<typename... _UTypes>
1412:     tuple(_UTypes...) -> tuple<_UTypes...>;
1412:   template<typename _T1, typename _T2>
1:  {
1417:    std::iter_swap(__first, --__last);
1417:    ++__first;
1417:  }
1417: 
1417:       if (__first == __middle)
1417:  {
1417:    std::__reverse(__middle, __last, bidirectional_iterator_tag());
1417:    return __last;
1417:  }
1417:       else
1417:  {
1417:    std::__reverse(__first, __middle, bidirectional_iterator_tag());
1417:    return __first;
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     _RandomAccessIterator
1417:     __rotate(_RandomAccessIterator __first,
1417:       _RandomAccessIterator __middle,
1417:       _RandomAccessIterator __last,
1417:       random_access_iterator_tag)
1417:     {
1417: 
1417:      
1417: 
1417: 
1417:       if (__first == __middle)
1417:  return __last;
1417:       else if (__last == __middle)
1417:  return __first;
1417: 
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:  _Distance;
1417:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1417:  _ValueType;
1417: 
1417:       _Distance __n = __last - __first;
1417:       _Distance __k = __middle - __first;
1417: 
1417:       if (__k == __n - __k)
1417:  {
1417:    std::swap_ranges(__first, __middle, __middle);
1417:    return __middle;
1417:  }
1417: 
1417:       _RandomAccessIterator __p = __first;
1417:       _RandomAccessIterator __ret = __first + (__last - __middle);
1417: 
1417:       for (;;)
1417:  {
1417:    if (__k < __n - __k)
1417:      {
1417:        if (__is_pod(_ValueType) && __k == 1)
1417:   {
1417:     _ValueType __t = std::move(*__p);
1417:     std::move(__p + 1, __p + __n, __p);
1417:     *(__p + __n - 1) = std::move(__t);
1417:     return __ret;
1417:   }
1417:        _RandomAccessIterator __q = __p + __k;
1417:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1417:   {
1417:     std::iter_swap(__p, __q);
1417:     ++__p;
1417:     ++__q;
1417:   }
1417:        __n %= __k;
1417:        if (__n == 0)
1417:   return __ret;
1417:        std::swap(__n, __k);
1417:        __k = __n - __k;
1417:      }
1417:    else
1417:      {
1417:        __k = __n - __k;
1417:        if (__is_pod(_ValueType) && __k == 1)
1417:   {
1417:     _ValueType __t = std::move(*(__p + __n - 1));
1417:     std::move_backward(__p, __p + __n - 1, __p + __n);
1417:     *__p = std::move(__t);
1417:     return __ret;
1417:   }
1417:        _RandomAccessIterator __q = __p + __n;
1417:        __p = __q - __k;
1417:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1417:   {
1417:     --__p;
1417:     --__q;
1417:     std::iter_swap(__p, __q);
1417:   }
1417:        __n %= __k;
1417:        if (__n == 0)
1417:   return __ret;
1417:        std::swap(__n, __k);
1417:      }
1417:  }
1417:     }
1417: # 1385 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:    
1417:     inline _ForwardIterator
1417:     rotate(_ForwardIterator __first, _ForwardIterator __middle,
1417:     _ForwardIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__rotate(__first, __middle, __last,
1417:       std::__iterator_category(__first));
1417:     }
1417: 
1417:   }
1417: # 1423 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
1417:   _ForwardIterator __last, _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::copy(__first, __middle,
1417:          std::copy(__middle, __last, __result));
1417:     }
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Predicate>
1417:    
1417:     _ForwardIterator
1417:     __partition(_ForwardIterator __first, _ForwardIterator __last,
1417:   _Predicate __pred, forward_iterator_tag)
1417:     {
1417:       if (__first == __last)
1417:  return __first;
1417: 
1417:       while (__pred(*__first))
1417:  if (++__first == __last)
1ect(float offset, const CPoint &center) override;
609: 
609:   float m_startX;
609:   float m_startY;
609:   float m_endX;
609:   float m_endY;
609: 
609:   bool m_autoCenter;
609:   CPoint m_center;
609: };
609: 
609: class CAnimation
609: {
609: public:
609:   CAnimation();
609:   CAnimation(const CAnimation &src);
609: 
609:   virtual ~CAnimation();
609: 
609:   CAnimation& operator=(const CAnimation &src);
609: 
609:   static CAnimation CreateFader(float start, float end, unsigned int delay, unsigned int length, ANIMATION_TYPE type = ANIM_TYPE_NONE);
609: 
609:   void Create(const TiXmlElement *node, const CRect &rect, int context);
609: 
609:   void Animate(unsigned int time, bool startAnim);
609:   void ResetAnimation();
609:   void ApplyAnimation();
609:   inline void RenderAnimation(TransformMatrix &matrix)
609:   {
609:     RenderAnimation(matrix, CPoint());
609:   }
609:   void RenderAnimation(TransformMatrix &matrix, const CPoint &center);
609:   void QueueAnimation(ANIMATION_PROCESS process);
609: 
609:   inline bool IsReversible() const { return m_reversible; }
609:   inline ANIMATION_TYPE GetType() const { return m_type; }
609:   inline ANIMATION_STATE GetState() const { return m_currentState; }
609:   inline ANIMATION_PROCESS GetProcess() const { return m_currentProcess; }
609:   inline ANIMATION_PROCESS GetQueuedProcess() const { return m_queuedProcess; }
609: 
609:   bool CheckCondition();
609:   void UpdateCondition(const CGUIListItem *item = 
609: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 3 4
609:                                                  __null
609: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
609:                                                      );
609:   void SetInitialCondition();
609: 
609: private:
609:   void Calculate(const CPoint &point);
609:   void AddEffect(const std::string &type, const TiXmlElement *node, const CRect &rect);
609: 
609:   enum ANIM_REPEAT { ANIM_REPEAT_NONE = 0, ANIM_REPEAT_PULSE, ANIM_REPEAT_LOOP };
609: 
609: 
609:   ANIMATION_TYPE m_type;
609:   bool m_reversible;
609:   INFO::InfoPtr m_condition;
609: 
609: 
609:   ANIM_REPEAT m_repeatAnim;
609:   bool m_lastCondition;
609: 
609: 
609:   ANIMATION_PROCESS m_queuedProcess;
609:   ANIMATION_PROCESS m_currentProcess;
609:   ANIMATION_STATE m_currentState;
609: 
609: 
609:   unsigned int m_start;
609:   unsigned int m_length;
609:   unsigned int m_delay;
609:   unsigned int m_amount;
609: 
609:   std::vector<CAnimEffect *> m_effects;
609: };
609: # 221 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
609: class CScroller
609: {
609: public:
609:   CScroller(unsigned int duration = 200, std::shared_ptr<Tweener> tweener = std::shared_ptr<Tweener>());
609:   CScroller(const CScroller& right);
609:   CScroller& operator=(const CScroller &src);
609:   ~CScroller();
609: 
609: 
609: 
609: 
609: 
609:   void ScrollTo(float endPos);
609: 
609: 
609: 
609: 
609:   void Stop() { m_delta = 0; }
609: 
609: 
609: 
609: 
609: 
609:   bool Update(unsigned int time);
609: 
609: 
609: 
609: 
609:   float GetValue() const { return m_scrollValue; }
609:   void SetValue(float scrollValue) { m_scrollValue = scrollValue; }
609: 
609:   bool IsScrolling() const { return m_delta != 0; }
609:   bool IsScrollingUp() const { return m_delta < 0; }
609:   bool IsScrollingDown() const { return m_delta > 0; }
609: 
609:   unsigned int GetDuration() const { return m_duration; }
609: 
609: private:
609:   float Tween(float progress);
609: 
609:   float m_scrollValue;
609:   float m_delta;
609:   float m_startPosition;
609:   bool m_hasResumePoint;
609:   unsigned int m_startTime;
609: 
609:   unsigned int m_duration;
609:   std::shared_ptr<Tweener> m_pTweener;
609: };
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h"
609:        
609: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUII412:     tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>;
1412:   template<typename _Alloc, typename... _UTypes>
1412:     tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>;
1412:   template<typename _Alloc, typename _T1, typename _T2>
1412:     tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>;
1412:   template<typename _Alloc, typename... _UTypes>
1412:     tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>;
1412: 
1412: 
1412: 
1412:   template<>
1412:     class tuple<>
1412:     {
1412:     public:
1412:      
1412:       void swap(tuple&) noexcept { }
1412: 
1412: 
1412:       tuple() = default;
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  tuple(allocator_arg_t, const _Alloc&) noexcept { }
1412:       template<typename _Alloc>
1412: 
1412:  tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _T1, typename _T2>
1412:     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
1412:     {
1412:       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
1412: 
1412: 
1412:       template<bool _Dummy, typename _U1, typename _U2>
1412:  using _ImplicitDefaultCtor = __enable_if_t<
1412:    _TupleConstraints<_Dummy, _U1, _U2>::
1412:      __is_implicitly_default_constructible(),
1412:    bool>;
1412: 
1412: 
1412:       template<bool _Dummy, typename _U1, typename _U2>
1412:  using _ExplicitDefaultCtor = __enable_if_t<
1412:    _TupleConstraints<_Dummy, _U1, _U2>::
1412:      __is_explicitly_default_constructible(),
1412:    bool>;
1412: 
1412:       template<bool _Dummy>
1412:  using _TCC = _TupleConstraints<_Dummy, _T1, _T2>;
1412: 
1412: 
1412:       template<bool _Cond, typename _U1, typename _U2>
1412:  using _ImplicitCtor = __enable_if_t<
1412:    _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(),
1412:    bool>;
1412: 
1412: 
1412:       template<bool _Cond, typename _U1, typename _U2>
1412:  using _ExplicitCtor = __enable_if_t<
1412:    _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(),
1412:    bool>;
1412: 
1412:       template<typename _U1, typename _U2>
1412:  static constexpr bool __assignable()
1412:  {
1412:    return __and_<is_assignable<_T1&, _U1>,
1412:    is_assignable<_T2&, _U2>>::value;
1412:  }
1412: 
1412:       template<typename _U1, typename _U2>
1412:  static constexpr bool __nothrow_assignable()
1412:  {
1412:    return __and_<is_nothrow_assignable<_T1&, _U1>,
1412:    is_nothrow_assignable<_T2&, _U2>>::value;
1412:  }
1412: 
1412:       template<typename _U1, typename _U2>
1412:  static constexpr bool __nothrow_constructible()
1412:  {
1412:    return __and_<is_nothrow_constructible<_T1, _U1>,
1412:        is_nothrow_constructible<_T2, _U2>>::value;
1412:  }
1412: 
1412:       static constexpr bool __nothrow_default_constructible()
1412:       {
1412:  return __and_<is_nothrow_default_constructible<_T1>,
1412:         is_nothrow_default_constructible<_T2>>::value;
1412:       }
1412: 
1412:       template<typename _U1>
1412:  static constexpr bool __is_alloc_arg()
1412:  { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; }
1412: 
1412:     public:
1412:       template<bool _Dummy = true,
1412:         _ImplicitDefaultCtor<_Dummy, _T1, _T2> = true>
1412:  constexpr
1412:  tuple()
1412:  noexcept(__nothrow_default_constructible())
1412:  : _Inherited() { }
1412: 
1412:       template<bool _Dummy = true,
1412:         _ExplicitDefaultCtor<_Dummy, _T1, _T2> = false>
1412:  explicit constexpr
1412:  tuple()
1412:  noexcept(__nothrow_default_constructible())
1412:  : _Inherited() { }
1412: 
1412:       template<bool _Dummy = true,
1412:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1412:  constexpr
1412:  tuple(const _T1& __a1, const _T2& __a2)
1412:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1412:  : _Inherited(__a1, __a2) { }
1412: 
1412:       template<bool _Dummy = true,
1412:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1412:  explicit constexpr
1412:  tuple(const _T1& __a1, const _T2417:    return __first;
1417: 
1417:       _ForwardIterator __next = __first;
1417: 
1417:       while (++__next != __last)
1417:  if (__pred(*__next))
1417:    {
1417:      std::iter_swap(__first, __next);
1417:      ++__first;
1417:    }
1417: 
1417:       return __first;
1417:     }
1417: 
1417: 
1417:   template<typename _BidirectionalIterator, typename _Predicate>
1417:    
1417:     _BidirectionalIterator
1417:     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
1417:   _Predicate __pred, bidirectional_iterator_tag)
1417:     {
1417:       while (true)
1417:  {
1417:    while (true)
1417:      if (__first == __last)
1417:        return __first;
1417:      else if (__pred(*__first))
1417:        ++__first;
1417:      else
1417:        break;
1417:    --__last;
1417:    while (true)
1417:      if (__first == __last)
1417:        return __first;
1417:      else if (!bool(__pred(*__last)))
1417:        --__last;
1417:      else
1417:        break;
1417:    std::iter_swap(__first, __last);
1417:    ++__first;
1417:  }
1417:     }
1417: # 1503 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
1417:     typename _Distance>
1417:     _ForwardIterator
1417:     __stable_partition_adaptive(_ForwardIterator __first,
1417:     _ForwardIterator __last,
1417:     _Predicate __pred, _Distance __len,
1417:     _Pointer __buffer,
1417:     _Distance __buffer_size)
1417:     {
1417:       if (__len == 1)
1417:  return __first;
1417: 
1417:       if (__len <= __buffer_size)
1417:  {
1417:    _ForwardIterator __result1 = __first;
1417:    _Pointer __result2 = __buffer;
1417: 
1417: 
1417: 
1417: 
1417:    *__result2 = std::move(*__first);
1417:    ++__result2;
1417:    ++__first;
1417:    for (; __first != __last; ++__first)
1417:      if (__pred(__first))
1417:        {
1417:   *__result1 = std::move(*__first);
1417:   ++__result1;
1417:        }
1417:      else
1417:        {
1417:   *__result2 = std::move(*__first);
1417:   ++__result2;
1417:        }
1417: 
1417:    std::move(__buffer, __result2, __result1);
1417:    return __result1;
1417:  }
1417: 
1417:       _ForwardIterator __middle = __first;
1417:       std::advance(__middle, __len / 2);
1417:       _ForwardIterator __left_split =
1417:  std::__stable_partition_adaptive(__first, __middle, __pred,
1417:       __len / 2, __buffer,
1417:       __buffer_size);
1417: 
1417: 
1417: 
1417:       _Distance __right_len = __len - __len / 2;
1417:       _ForwardIterator __right_split =
1417:  std::__find_if_not_n(__middle, __right_len, __pred);
1417: 
1417:       if (__right_len)
1417:  __right_split =
1417:    std::__stable_partition_adaptive(__right_split, __last, __pred,
1417:         __right_len,
1417:         __buffer, __buffer_size);
1417: 
1417:       return std::rotate(__left_split, __middle, __right_split);
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Predicate>
1417:     _ForwardIterator
1417:     __stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1417:          _Predicate __pred)
1417:     {
1417:       __first = std::__find_if_not(__first, __last, __pred);
1417: 
1417:       if (__first == __last)
1417:  return __first;
1417: 
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType;
1417:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1417:  _DistanceType;
1417: 
1417:       _Temporary_buffer<_ForwardIterator, _ValueType>
1417:  __buf(__first, std::distance(__first, __last));
1417:       return
1417:  std::__stable_partition_adaptive(__first, __last, __pred,
1417:       _DistanceType(__buf.requested_size()),
1417:       __buf.begin(),
1417:       _DistanceType(__buf.size()));
1417:     }
1417: # 1605 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Predicate>
1417:     inline _ForwardIterator
1417:     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1417:        _Predicate __pred)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__stable_partition(__first, __last,
1417:          __gnu_cxx::__ops::__pred_iter(__pred));
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     void
1417:     __heap_select(_RandomAccessIterator __first,
1417:     _RandomAccessIterator __middle,
1417:     _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417:       std::__make_heap(__first, __middle, __comp);
1417:       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
1417:  if (__comp(__i, __first))
1417:    std::__pop_heap(__first, __middle, __i, __comp);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _RandomAccessIterator,
1417:     typename _Compare>
1417:    
1417:     _RandomAccessIterator
1417:     __partial_sort_copy(_InputIterator __first, _InputIterator __last,
1417:    _RandomAccessIterator __result_first,
1417:    _RandomAccessIterator __result_last,
1417:    _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_InputIterator>::value_type
1417:  _InputValueType;
1417:       typedef iterator_traits<_RandomAccessIterator> _RItTraits;
1417:       typedef typename _RItTraits::difference_type _DistanceType;
1417: 
1417:       if (__result_first == __result_last)
1417:  return __result_last;
1417:       _RandomAccessIterator __result_real_last = __result_first;
1417:       while (__first != __last && __result_real_last != __result_last)
1417:  {
1417:    *__result_real_last = *__first;
1417:    ++__result_real_last;
1417:    ++__first;
1417:  }
1417: 
1417:       std::__make_heap(__result_first, __result_real_last, __comp);
1417:       while (__first != __last)
1417:  {
1417:    if (__comp(__first, __result_first))
1417:      std::__adjust_heap(__result_first, _DistanceType(0),
1417:           _DistanceType(__result_real_last
1417:           - __result_first),
1417:           _InputValueType(*__first), __comp);
1417:    ++__first;
1417:  }
1417:       std::__sort_heap(__result_first, __result_real_last, __comp);
1417:       return __result_real_last;
1417:     }
1417: # 1693 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _RandomAccessIterator>
1417:    
1417:     inline _RandomAccessIterator
1417:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1417:         _RandomAccessIterator __result_first,
1417:         _RandomAccessIterator __result_last)
1417:     {
1417: # 1708 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__partial_sort_copy(__first, __last,
1417:           __result_first, __result_last,
1417:           __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 1743 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _RandomAccessIterator,
1417:     typename _Compare>
1417:    
1417:     inline _RandomAccessIterator
1417:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1417:         _RandomAccessIterator __result_first,
1417:         _RandomAccessIterator __result_last,
1417:         _Compare __comp)
1417:     {
1417: # 1760 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__partial_sort_copy(__first, __last,
1417:           __result_first, __result_last,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     void
1417:     __unguarded_linear_insert(_RandomAccessIterator __last,
1417:          _Compare __comp)
1417:     {
1417:       typename iterator_traits<_RandomAccessIterator>::value_type
1417:  __val = std::move(*__last);
1417:       _RandomAccessIterator __next = __last;
1417:       --__next;
1417:       while (__comnfoBool.h"
609: class CGUIListItem;
609: 
609: namespace KODI
609: {
609: namespace GUILIB
609: {
609: namespace GUIINFO
609: {
609: 
609: class CGUIInfoBool
609: {
609: public:
609:   explicit CGUIInfoBool(bool value = false);
609:   ~CGUIInfoBool();
609: 
609:   operator bool() const { return m_value; }
609: 
609:   void Update(int contextWindow, const CGUIListItem* item = nullptr);
609:   void Parse(const std::string &expression, int context);
609: private:
609:   INFO::InfoPtr m_info;
609:   bool m_value;
609: };
609: 
609: }
609: }
609: }
609: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/map" 1 3
609: # 58 "/usr/include/c++/12/map" 3
609:        
609: # 59 "/usr/include/c++/12/map" 3
609: 
609: # 1 "/usr/include/c++/12/bits/stl_tree.h" 1 3
609: # 61 "/usr/include/c++/12/bits/stl_tree.h" 3
609:        
609: # 62 "/usr/include/c++/12/bits/stl_tree.h" 3
609: # 72 "/usr/include/c++/12/bits/stl_tree.h" 3
609: # 1 "/usr/include/c++/12/bits/node_handle.h" 1 3
609: # 34 "/usr/include/c++/12/bits/node_handle.h" 3
609:        
609: # 35 "/usr/include/c++/12/bits/node_handle.h" 3
609: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
609: 
609: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 63 "/usr/include/c++/12/bits/node_handle.h" 3
609:   template<typename _Val, typename _NodeAlloc>
609:     class _Node_handle_common
609:     {
609:       using _AllocTraits = allocator_traits<_NodeAlloc>;
609: 
609:     public:
609:       using allocator_type = __alloc_rebind<_NodeAlloc, _Val>;
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
609:  return allocator_type(_M_alloc._M_alloc);
609:       }
609: 
609:       explicit operator bool() const noexcept { return _M_ptr != nullptr; }
609: 
609:       [[nodiscard]] bool empty() const noexcept { return _M_ptr == nullptr; }
609: 
609: 
609:     protected:
609:       constexpr _Node_handle_common() noexcept : _M_ptr() { }
609: 
609:       ~_Node_handle_common()
609:       {
609:  if (!empty())
609:    _M_reset();
609:       }
609: 
609:       _Node_handle_common(_Node_handle_common&& __nh) noexcept
609:       : _M_ptr(__nh._M_ptr)
609:       {
609:  if (_M_ptr)
609:    _M_move(std::move(__nh));
609:       }
609: 
609:       _Node_handle_common&
609:       operator=(_Node_handle_common&& __nh) noexcept
609:       {
609:  if (empty())
609:    {
609:      if (!__nh.empty())
609:        _M_move(std::move(__nh));
609:    }
609:  else if (__nh.empty())
609:    _M_reset();
609:  else
609:    {
609: 
609:      _AllocTraits::destroy(*_M_alloc, _M_ptr->_M_valptr());
609:      _AllocTraits::deallocate(*_M_alloc, _M_ptr, 1);
609: 
609:      _M_alloc = __nh._M_alloc.release();
609:      _M_ptr = __nh._M_ptr;
609:      __nh._M_ptr = nullptr;
609:    }
609:  return *this;
609:       }
609: 
609:       _Node_handle_common(typename _AllocTraits::pointer __ptr,
609:      const _NodeAlloc& __alloc)
609:       : _M_ptr(__ptr), _M_alloc(__alloc)
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__ptr != nullptr)) __builtin_unreachable(); } while (false);
609:       }
609: 
609:       void
609:       _M_swap(_Node_handle_common& __nh) noexcept
609:       {
609:  if (empty())
609:    {
609:      if (!__nh.empty())
609:        _M_move(std::move(__nh));
609:    }
609:  else if (__nh.empty())
609:    __nh._M_move(std::move(*this));
609:  else
609:    {
609:      using std::swap;
609:      swap(_M_ptr, __nh._M_ptr);
609& __a2)
1412:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1412:  : _Inherited(__a1, __a2) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ImplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = true>
1412:  constexpr
1412:  tuple(_U1&& __a1, _U2&& __a2)
1412:  noexcept(__nothrow_constructible<_U1, _U2>())
1412:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ExplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = false>
1412:  explicit constexpr
1412:  tuple(_U1&& __a1, _U2&& __a2)
1412:  noexcept(__nothrow_constructible<_U1, _U2>())
1412:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1412: 
1412:       constexpr tuple(const tuple&) = default;
1412: 
1412:       constexpr tuple(tuple&&) = default;
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1412:  constexpr
1412:  tuple(const tuple<_U1, _U2>& __in)
1412:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1412:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1412:  explicit constexpr
1412:  tuple(const tuple<_U1, _U2>& __in)
1412:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1412:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ImplicitCtor<true, _U1, _U2> = true>
1412:  constexpr
1412:  tuple(tuple<_U1, _U2>&& __in)
1412:  noexcept(__nothrow_constructible<_U1, _U2>())
1412:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ExplicitCtor<true, _U1, _U2> = false>
1412:  explicit constexpr
1412:  tuple(tuple<_U1, _U2>&& __in)
1412:  noexcept(__nothrow_constructible<_U1, _U2>())
1412:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1412:  constexpr
1412:  tuple(const pair<_U1, _U2>& __in)
1412:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1412:  : _Inherited(__in.first, __in.second) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1412:  explicit constexpr
1412:  tuple(const pair<_U1, _U2>& __in)
1412:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1412:  : _Inherited(__in.first, __in.second) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ImplicitCtor<true, _U1, _U2> = true>
1412:  constexpr
1412:  tuple(pair<_U1, _U2>&& __in)
1412:  noexcept(__nothrow_constructible<_U1, _U2>())
1412:  : _Inherited(std::forward<_U1>(__in.first),
1412:        std::forward<_U2>(__in.second)) { }
1412: 
1412:       template<typename _U1, typename _U2,
1412:         _ExplicitCtor<true, _U1, _U2> = false>
1412:  explicit constexpr
1412:  tuple(pair<_U1, _U2>&& __in)
1412:  noexcept(__nothrow_constructible<_U1, _U2>())
1412:  : _Inherited(std::forward<_U1>(__in.first),
1412:        std::forward<_U2>(__in.second)) { }
1412: 
1412: 
1412: 
1412:       template<typename _Alloc,
1412:         _ImplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1412:  : _Inherited(__tag, __a) { }
1412: 
1412:       template<typename _Alloc, bool _Dummy = true,
1412:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const _T1& __a1, const _T2& __a2)
1412:  : _Inherited(__tag, __a, __a1, __a2) { }
1412: 
1412:       template<typename _Alloc, bool _Dummy = true,
1412:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1412:  explicit
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const _T1& __a1p(__val, __next))
1417:  {
1417:    *__last = std::move(*__next);
1417:    __last = __next;
1417:    --__next;
1417:  }
1417:       *__last = std::move(__val);
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     void
1417:     __insertion_sort(_RandomAccessIterator __first,
1417:        _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417:       if (__first == __last) return;
1417: 
1417:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1417:  {
1417:    if (__comp(__i, __first))
1417:      {
1417:        typename iterator_traits<_RandomAccessIterator>::value_type
1417:   __val = std::move(*__i);
1417:        std::move_backward(__first, __i, __i + 1);
1417:        *__first = std::move(__val);
1417:      }
1417:    else
1417:      std::__unguarded_linear_insert(__i,
1417:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     __unguarded_insertion_sort(_RandomAccessIterator __first,
1417:           _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417:       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
1417:  std::__unguarded_linear_insert(__i,
1417:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   enum { _S_threshold = 16 };
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     void
1417:     __final_insertion_sort(_RandomAccessIterator __first,
1417:       _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417:       if (__last - __first > int(_S_threshold))
1417:  {
1417:    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
1417:    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
1417:        __comp);
1417:  }
1417:       else
1417:  std::__insertion_sort(__first, __last, __comp);
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     _RandomAccessIterator
1417:     __unguarded_partition(_RandomAccessIterator __first,
1417:      _RandomAccessIterator __last,
1417:      _RandomAccessIterator __pivot, _Compare __comp)
1417:     {
1417:       while (true)
1417:  {
1417:    while (__comp(__first, __pivot))
1417:      ++__first;
1417:    --__last;
1417:    while (__comp(__pivot, __last))
1417:      --__last;
1417:    if (!(__first < __last))
1417:      return __first;
1417:    std::iter_swap(__first, __last);
1417:    ++__first;
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline _RandomAccessIterator
1417:     __unguarded_partition_pivot(_RandomAccessIterator __first,
1417:     _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417:       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
1417:       std::__move_median_to_first(__first, __first + 1, __mid, __last - 1,
1417:       __comp);
1417:       return std::__unguarded_partition(__first + 1, __last, __first, __comp);
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     __partial_sort(_RandomAccessIterator __first,
1417:      _RandomAccessIterator __middle,
1417:      _RandomAccessIterator __last,
1417:      _Compare __comp)
1417:     {
1417:       std::__heap_select(__first, __middle, __last, __comp);
1417:       std::__sort_heap(__first, __middle, __comp);
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
1417:    
1417:     void
1417:     __introsort_loop(_RandomAccessIterator __first,
1417:        _RandomAccessIterator __last,
1417:        _Size __depth_limit, _Compare __comp)
1417:     {
1417:       while (__last - __first > int(_S_threshold))
1417:  {
1417:    if (__depth_limit == 0)
1417:      {
1417:        std::__partial_sort(__first, __last, __last, __comp);
1417:        return;
1417:      }
1417:    --__depth_limit;
1417:    _RandomAccessIterator __cut =
1417:      std::__unguarded_partition_pivot(__first, __last, __comp);
1417:    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
1417:    __last = __cut;
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     __sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:     _Compare __comp)
1417:     {
1417:       if (__first != __last)
1417:  {
1417:    std::__introsort_loop(__first, __last,
1417:     std::__lg(__last - __first) * 2,
1417:     __comp);
1417:    std::__final_insertion_sort(__first, __last, __comp);
1417:  }
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
1417:    
1417:     void
1417:     __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1417:     _RandomAccessIterator __last, _Size __depth_limit,
1417:     _Compare __comp)
1417:     {
1417:       while (__last - __first > 3)
1417:  {
1417:    if (__depth_limit == 0)
1417:      {
1417:        std::__heap_select(__first, __nth + 1, __last, __comp);
1417: 
1417:        std::iter_swap(__first, __nth);
1417:        return;
1417:      }
1417:    --__depth_limit;
1417:    _RandomAccessIterator __cut =
1417:      std::__unguarded_partition_pivot(__first, __last, __comp);
1417:    if (__cut <= __nth)
1417:      __first = __cut;
1417:    else
1417:      __last = __cut;
1417:  }
1417:       std::__insertion_sort(__first, __last, __comp);
1417:     }
1417: # 1991 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1417:    
1417:     inline _ForwardIterator
1417:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1417:   const _Tp& __val, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417:                     ;
1417: 
1417:       return std::__lower_bound(__first, __last, __val,
1417:     __gnu_cxx::__ops::__iter_comp_val(__comp));
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1417:    
1417:     _ForwardIterator
1417:     __upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1417:     const _Tp& __val, _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1417:  _DistanceType;
1417: 
1417:       _DistanceType __len = std::distance(__first, __last);
1417: 
1417:       while (__len > 0)
1417:  {
1417:    _DistanceType __half = __len >> 1;
1417:    _ForwardIterator __middle = __first;
1417:    std::advance(__middle, __half);
1417:    if (__comp(__val, __middle))
1417:      __len = __half;
1417:    else
1417:      {
1417:        __first = __middle;
1417:        ++__first;
1417:        __len = __len - __half - 1;
1417:      }
1417:  }
1417:       return __first;
1417:     }
1417: # 2047 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline _ForwardIterator
1417:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1417:   const _Tp& __val)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__upper_bound(__first, __last, __val,
1417:     __gnu_cxx::__ops::__val_less_iter());
1417:     }
1417: # 2078 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1417:    
1417:     inline _ForwardIterator
1417:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1417:   const _Tp& __val, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417:                     ;
1417: 
1417:       return std::__upper_bound(__first, __last, __val,
1417:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp,
1417:     typename _CompareItTp, typename _CompareTpIt>
1417:    
1417:   :      _M_alloc.swap(__nh._M_alloc);
609:    }
609:       }
609: 
609:     private:
609: 
609: 
609: 
609:       void
609:       _M_move(_Node_handle_common&& __nh) noexcept
609:       {
609:  ::new (std::__addressof(_M_alloc)) _NodeAlloc(__nh._M_alloc.release());
609:  _M_ptr = __nh._M_ptr;
609:  __nh._M_ptr = nullptr;
609:       }
609: 
609: 
609: 
609: 
609:       void
609:       _M_reset() noexcept
609:       {
609:  _NodeAlloc __alloc = _M_alloc.release();
609:  _AllocTraits::destroy(__alloc, _M_ptr->_M_valptr());
609:  _AllocTraits::deallocate(__alloc, _M_ptr, 1);
609:  _M_ptr = nullptr;
609:       }
609: 
609:     protected:
609:       typename _AllocTraits::pointer _M_ptr;
609: 
609:     private:
609: 
609: 
609:       union _Optional_alloc
609:       {
609:  _Optional_alloc() { }
609:  ~_Optional_alloc() { }
609: 
609:  _Optional_alloc(_Optional_alloc&&) = delete;
609:  _Optional_alloc& operator=(_Optional_alloc&&) = delete;
609: 
609:  _Optional_alloc(const _NodeAlloc& __alloc) noexcept
609:  : _M_alloc(__alloc)
609:  { }
609: 
609: 
609:  void
609:  operator=(_NodeAlloc&& __alloc) noexcept
609:  {
609:    using _ATr = _AllocTraits;
609:    if constexpr (_ATr::propagate_on_container_move_assignment::value)
609:      _M_alloc = std::move(__alloc);
609:    else if constexpr (!_AllocTraits::is_always_equal::value)
609:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __alloc)) __builtin_unreachable(); } while (false);
609:  }
609: 
609: 
609:  void
609:  swap(_Optional_alloc& __other) noexcept
609:  {
609:    using std::swap;
609:    if constexpr (_AllocTraits::propagate_on_container_swap::value)
609:      swap(_M_alloc, __other._M_alloc);
609:    else if constexpr (!_AllocTraits::is_always_equal::value)
609:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __other._M_alloc)) __builtin_unreachable(); } while (false);
609:  }
609: 
609: 
609:  _NodeAlloc& operator*() noexcept { return _M_alloc; }
609: 
609: 
609:  _NodeAlloc release() noexcept
609:  {
609:    _NodeAlloc __tmp = std::move(_M_alloc);
609:    _M_alloc.~_NodeAlloc();
609:    return __tmp;
609:  }
609: 
609:  struct _Empty { };
609: 
609:  [[__no_unique_address__]] _Empty _M_empty;
609:  [[__no_unique_address__]] _NodeAlloc _M_alloc;
609:       };
609: 
609:       [[__no_unique_address__]] _Optional_alloc _M_alloc;
609: 
609:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
609:         typename _Compare, typename _ValueAlloc>
609:  friend class _Rb_tree;
609: 
609: 
609:     };
609: 
609: 
609:   template<typename _Key, typename _Value, typename _NodeAlloc>
609:     class _Node_handle : public _Node_handle_common<_Value, _NodeAlloc>
609:     {
609:     public:
609:       constexpr _Node_handle() noexcept = default;
609:       ~_Node_handle() = default;
609:       _Node_handle(_Node_handle&&) noexcept = default;
609: 
609:       _Node_handle&
609:       operator=(_Node_handle&&) noexcept = default;
609: 
609:       using key_type = _Key;
609:       using mapped_type = typename _Value::second_type;
609: 
609:       key_type&
609:       key() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
609:  return *_M_pkey;
609:       }
609: 
609:       mapped_type&
609:       mapped() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
609:  return *_M_pmapped;
609:       }
609: 
609:       void
609:       swap(_Node_handle& __nh) noexcept
609:       {
609:  this->_M_swap(__nh);
609:  using std::swap;
609:  swap(_M_pkey, __nh._M_pkey);
609:  swap(_M_pmapped, __nh._M_pmapped);
609:       }
609: 
609:       friend void
609:       swap(_Node_handle& __x, _Node_handle& __y)
609:       noexcept(noexcept(__x.swap(__y)))
609:       { __x.swap(__y); }
609: 
609:     private:
609:       using _AllocTraits = allocator_traits<_NodeAlloc>;
609: 
609:       _Node_handle(typename _AllocTraits::pointer __ptr,
609:      const _NodeAlloc& __alloc), const _T2& __a2)
1412:  : _Inherited(__tag, __a, __a1, __a2) { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ImplicitCtor<true, _U1, _U2> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
1412:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1412:               std::forward<_U2>(__a2)) { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ExplicitCtor<true, _U1, _U2> = false>
1412:  explicit
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        _U1&& __a1, _U2&& __a2)
1412:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1412:               std::forward<_U2>(__a2)) { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1412:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1412: 
1412:       template<typename _Alloc>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1412:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const tuple<_U1, _U2>& __in)
1412:  : _Inherited(__tag, __a,
1412:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1412:  explicit
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const tuple<_U1, _U2>& __in)
1412:  : _Inherited(__tag, __a,
1412:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ImplicitCtor<true, _U1, _U2> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1412:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ExplicitCtor<true, _U1, _U2> = false>
1412:  explicit
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1412:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1412:  { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const pair<_U1, _U2>& __in)
1412:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1412:  explicit
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1412:        const pair<_U1, _U2>& __in)
1412:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ImplicitCtor<true, _U1, _U2> = true>
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1412:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1412:        std::forward<_U2>(__in.second)) { }
1412: 
1412:       template<typename _Alloc, typename _U1, typename _U2,
1412:         _ExplicitCtor<true, _U1, _U2> = false>
1412:  explicit
1412: 
1412:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1412:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1412:        std::forward<_U2>(__in.second)) { }
1412: 
1412: 
1412: 
1412:      
1412:       tuple&
1412:       operator=(__conditional_t<__assignable<const _T1&, const _T2&>(),
1412:     const tuple&,
1412:     const __nonesuch&> __in)
1412:       noexcept(__nothrow_assignable<const _T1&, const _T2&>())
1412:       {
1412:  this->_M_assign(__in);
1412:  return *this;
1412:       }
14  pair<_ForwardIterator, _ForwardIterator>
1417:     __equal_range(_ForwardIterator __first, _ForwardIterator __last,
1417:     const _Tp& __val,
1417:     _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1417:  _DistanceType;
1417: 
1417:       _DistanceType __len = std::distance(__first, __last);
1417: 
1417:       while (__len > 0)
1417:  {
1417:    _DistanceType __half = __len >> 1;
1417:    _ForwardIterator __middle = __first;
1417:    std::advance(__middle, __half);
1417:    if (__comp_it_val(__middle, __val))
1417:      {
1417:        __first = __middle;
1417:        ++__first;
1417:        __len = __len - __half - 1;
1417:      }
1417:    else if (__comp_val_it(__val, __middle))
1417:      __len = __half;
1417:    else
1417:      {
1417:        _ForwardIterator __left
1417:   = std::__lower_bound(__first, __middle, __val, __comp_it_val);
1417:        std::advance(__first, __len);
1417:        _ForwardIterator __right
1417:   = std::__upper_bound(++__middle, __first, __val, __comp_val_it);
1417:        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
1417:      }
1417:  }
1417:       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
1417:     }
1417: # 2151 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline pair<_ForwardIterator, _ForwardIterator>
1417:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1417:   const _Tp& __val)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__equal_range(__first, __last, __val,
1417:     __gnu_cxx::__ops::__iter_less_val(),
1417:     __gnu_cxx::__ops::__val_less_iter());
1417:     }
1417: # 2188 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1417:    
1417:     inline pair<_ForwardIterator, _ForwardIterator>
1417:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1417:   const _Tp& __val, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417:                     ;
1417:      
1417:                     ;
1417: 
1417:       return std::__equal_range(__first, __last, __val,
1417:     __gnu_cxx::__ops::__iter_comp_val(__comp),
1417:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1417:     }
1417: # 2222 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     bool
1417:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1417:     const _Tp& __val)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       _ForwardIterator __i
1417:  = std::__lower_bound(__first, __last, __val,
1417:         __gnu_cxx::__ops::__iter_less_val());
1417:       return __i != __last && !(__val < *__i);
1417:     }
1417: # 2256 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1417:    
1417:     bool
1417:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1417:     const _Tp& __val, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417:                     ;
1417:      
1417:                     ;
1417: 
1417:       _ForwardIterator __i
1417:  = std::__lower_bound(__first, __last, __val,
1417:         __gnu_cxx::__ops::__iter_comp_val(__comp));
1417:       return __i != __last && !bool(__comp(__val, *__i));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _Compare>
1417:     void
1417:     __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1,
1417:      _InputIterator2 __first2, _InputIterator2 __last2,
1417:      _OutputIterator __result, _Compare __comp)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2)
1417:  {
1417:    if (__comp(__first2, __first1))
1417:      {
1417:        *__result = std::move(*__first2);
1417:        ++__first2;
1417:      }
1417:    else
1417:      {
1417:        *__result = std::move(*__first1);
1417:        ++__first1;
1417:      }
1417:    ++__result;
1417:  }
1417:       if (__first1 != __last1)
1417:  std::move(__first1, __last1, __result);
1417:     }
1417: 
1417: 
1417:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1417:     typename _BidirectionalIterator3, typename _Compare>
1417:     void
1417:     __move_merge_adaptive_backward(_BidirectionalIterator1 __first1,
1417:        _BidirectionalIterator1 __last1,
1417:        _BidirectionalIterator2 __first2,
1417:        _BidirectionalIterator2 __last2,
1417:        _BidirectionalIterator3 __result,
1417:        _Compare __comp)
1417:     {
1417:       if (__first1 == __last1)
1417:  {
1417:    std::move_backward(__first2, __last2, __result);
1417:    return;
1417:  }
1417:       else if (__first2 == __last2)
1417:  return;
1417: 
1417:       --__last1;
1417:       --__last2;
1417:       while (true)
1417:  {
1417:    if (__comp(__last2, __last1))
1417:      {
1417:        *--__result = std::move(*__last1);
1417:        if (__first1 == __last1)
1417:   {
1417:     std::move_backward(__first2, ++__last2, __result);
1417:     return;
1417:   }
1417:        --__last1;
1417:      }
1417:    else
1417:      {
1417:        *--__result = std::move(*__last2);
1417:        if (__first2 == __last2)
1417:   return;
1417:        --__last2;
1417:      }
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1417:     typename _Distance>
1417:     _BidirectionalIterator1
1417:     __rotate_adaptive(_BidirectionalIterator1 __first,
1417:         _BidirectionalIterator1 __middle,
1417:         _BidirectionalIterator1 __last,
1417:         _Distance __len1, _Distance __len2,
1417:         _BidirectionalIterator2 __buffer,
1417:         _Distance __buffer_size)
1417:     {
1417:       _BidirectionalIterator2 __buffer_end;
1417:       if (__len1 > __len2 && __len2 <= __buffer_size)
1417:  {
1417:    if (__len2)
1417:      {
1417:        __buffer_end = std::move(__middle, __last, __buffer);
1417:        std::move_backward(__first, __middle, __last);
1417:        return std::move(__buffer, __buffer_end, __first);
1417:      }
1417:    else
1417:      return __first;
1417:  }
1417:       else if (__len1 <= __buffer_size)
1417:  {
1417:    if (__len1)
1417:      {
1417:        __buffer_end = std::move(__first, __middle, __buffer);
1417:        std::move(__middle, __last, __first);
1417:        return std::move_backward(__buffer, __buffer_end, __last);
1417:      }
1417:    else
1417:      return __last;
1417:  }
1417:       else
1417:  return std::rotate(__first, __middle, __last);
1417:     }
1417: 
1417: 
1417:   template<typename _BidirectionalIterator, typename _Distance,
1417:     typename _Pointer, typename _Compare>
1417:     void
1417:     __merge_adaptive(_BidirectionalIterator __first,
1417:        _BidirectionalIterator __middle,
1417:        _BidirectionalIterator __last,
1417:        _Distance __len1, _Distance __len2,
1417:        _Pointer __buffer, _Distance __buffer_size,
1417:        _Compare __comp)
1417:     {
1417:       if (__len1 <= __len2 && __len1 <= __buffer_size)
1417:  {
1417:    _Pointer __buffer_end = std::move(__first, __middle, __buffer);
1417:    std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
1417:          __first, __comp);
1417:  }
1417:       else if (__len2 <= __buffer_size)
1417:  {
1417:    _Pointer __buffer_end = std::move(__middle, __last, __buffer);
1417:    std::__move_merge_adaptive_backward(__first, __middle, __buffer,
1417:            __buffer_end, __last, __comp);
1417:  }
1417:       else
1417:  {
1417:    _BidirectionalIterator __first_cut = __first;
1417:    _BidirectionalIterator __second_cut = __middle;
1417:    _Distance __len11 = 0;
1417:    _Distance __len22 = 0;
1417:    if (__len1 > 
609:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc)
609:       {
609:  if (__ptr)
609:    {
609:      auto& __key = const_cast<_Key&>(__ptr->_M_valptr()->first);
609:      _M_pkey = _S_pointer_to(__key);
609:      _M_pmapped = _S_pointer_to(__ptr->_M_valptr()->second);
609:    }
609:  else
609:    {
609:      _M_pkey = nullptr;
609:      _M_pmapped = nullptr;
609:    }
609:       }
609: 
609:       template<typename _Tp>
609:  using __pointer
609:    = __ptr_rebind<typename _AllocTraits::pointer,
609:     remove_reference_t<_Tp>>;
609: 
609:       __pointer<_Key> _M_pkey = nullptr;
609:       __pointer<typename _Value::second_type> _M_pmapped = nullptr;
609: 
609:       template<typename _Tp>
609:  __pointer<_Tp>
609:  _S_pointer_to(_Tp& __obj)
609:  { return pointer_traits<__pointer<_Tp>>::pointer_to(__obj); }
609: 
609:       const key_type&
609:       _M_key() const noexcept { return key(); }
609: 
609:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
609:         typename _Compare, typename _ValueAlloc>
609:  friend class _Rb_tree;
609: 
609:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
609:         typename _ExtractKey, typename _Equal,
609:         typename _Hash, typename _RangeHash, typename _Unused,
609:         typename _RehashPolicy, typename _Traits>
609:  friend class _Hashtable;
609:     };
609: 
609: 
609:   template<typename _Value, typename _NodeAlloc>
609:     class _Node_handle<_Value, _Value, _NodeAlloc>
609:     : public _Node_handle_common<_Value, _NodeAlloc>
609:     {
609:     public:
609:       constexpr _Node_handle() noexcept = default;
609:       ~_Node_handle() = default;
609:       _Node_handle(_Node_handle&&) noexcept = default;
609: 
609:       _Node_handle&
609:       operator=(_Node_handle&&) noexcept = default;
609: 
609:       using value_type = _Value;
609: 
609:       value_type&
609:       value() const noexcept
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
609:  return *this->_M_ptr->_M_valptr();
609:       }
609: 
609:       void
609:       swap(_Node_handle& __nh) noexcept
609:       { this->_M_swap(__nh); }
609: 
609:       friend void
609:       swap(_Node_handle& __x, _Node_handle& __y)
609:       noexcept(noexcept(__x.swap(__y)))
609:       { __x.swap(__y); }
609: 
609:     private:
609:       using _AllocTraits = allocator_traits<_NodeAlloc>;
609: 
609:       _Node_handle(typename _AllocTraits::pointer __ptr,
609:      const _NodeAlloc& __alloc)
609:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) { }
609: 
609:       const value_type&
609:       _M_key() const noexcept { return value(); }
609: 
609:       template<typename _Key, typename _Val, typename _KeyOfValue,
609:         typename _Compare, typename _Alloc>
609:  friend class _Rb_tree;
609: 
609:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
609:         typename _ExtractKey, typename _Equal,
609:         typename _Hash, typename _RangeHash, typename _Unused,
609:         typename _RehashPolicy, typename _Traits>
609:  friend class _Hashtable;
609:     };
609: 
609: 
609:   template<typename _Iterator, typename _NodeHandle>
609:     struct _Node_insert_return
609:     {
609:       _Iterator position = _Iterator();
609:       bool inserted = false;
609:       _NodeHandle node;
609:     };
609: 
609: 
609: 
609: 
609: }
609: # 73 "/usr/include/c++/12/bits/stl_tree.h" 2 3
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 99 "/usr/include/c++/12/bits/stl_tree.h" 3
609:   enum _Rb_tree_color { _S_red = false, _S_black = true };
609: 
609:   struct _Rb_tree_node_base
609:   {
609:     typedef _Rb_tree_node_base* _Base_ptr;
609:     typedef const _Rb_tree_node_base* _Const_Base_ptr;
609: 
609:     _Rb_tree_color _M_color;
609:     _Base_ptr _M_parent;
609:     _Base_ptr _M_left;
609:     _Base_ptr _M_right;
609: 
609:     static _Base_ptr
609:     _S_minimum(_Base_ptr __x) noexcept
609:     {
6012: 
1412:      
1412:       tuple&
1412:       operator=(__conditional_t<__assignable<_T1, _T2>(),
1412:     tuple&&,
1412:     __nonesuch&&> __in)
1412:       noexcept(__nothrow_assignable<_T1, _T2>())
1412:       {
1412:  this->_M_assign(std::move(__in));
1412:  return *this;
1412:       }
1412: 
1412:       template<typename _U1, typename _U2>
1412: 
1412:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1412:  operator=(const tuple<_U1, _U2>& __in)
1412:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1412:  {
1412:    this->_M_assign(__in);
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _U1, typename _U2>
1412: 
1412:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1412:  operator=(tuple<_U1, _U2>&& __in)
1412:  noexcept(__nothrow_assignable<_U1, _U2>())
1412:  {
1412:    this->_M_assign(std::move(__in));
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _U1, typename _U2>
1412: 
1412:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1412:  operator=(const pair<_U1, _U2>& __in)
1412:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1412:  {
1412:    this->_M_head(*this) = __in.first;
1412:    this->_M_tail(*this)._M_head(*this) = __in.second;
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _U1, typename _U2>
1412: 
1412:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1412:  operator=(pair<_U1, _U2>&& __in)
1412:  noexcept(__nothrow_assignable<_U1, _U2>())
1412:  {
1412:    this->_M_head(*this) = std::forward<_U1>(__in.first);
1412:    this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
1412:    return *this;
1412:  }
1412: 
1412:      
1412:       void
1412:       swap(tuple& __in)
1412:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1412:         __is_nothrow_swappable<_T2>>::value)
1412:       { _Inherited::_M_swap(__in); }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename... _Elements>
1412:     struct tuple_size<tuple<_Elements...>>
1412:     : public integral_constant<size_t, sizeof...(_Elements)> { };
1412: 
1412: 
1412:   template<typename... _Types>
1412:     inline constexpr size_t tuple_size_v<tuple<_Types...>>
1412:       = sizeof...(_Types);
1412: 
1412:   template<typename... _Types>
1412:     inline constexpr size_t tuple_size_v<const tuple<_Types...>>
1412:       = sizeof...(_Types);
1412: 
1412: 
1412: 
1412:   template<size_t __i, typename... _Types>
1412:     struct tuple_element<__i, tuple<_Types...>>
1412:     {
1412:       static_assert(__i < sizeof...(_Types), "tuple index must be in range");
1412: 
1412:       using type = typename _Nth_type<__i, _Types...>::type;
1412:     };
1412: 
1412:   template<size_t __i, typename _Head, typename... _Tail>
1412:     constexpr _Head&
1412:     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1412:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1412: 
1412:   template<size_t __i, typename _Head, typename... _Tail>
1412:     constexpr const _Head&
1412:     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1412:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1412: 
1412: 
1412:   template<size_t __i, typename... _Types>
1412:     __enable_if_t<(__i >= sizeof...(_Types))>
1412:     __get_helper(const tuple<_Types...>&) = delete;
1412: 
1412: 
1412:   template<size_t __i, typename... _Elements>
1412:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
1412:     get(tuple<_Elements...>& __t) noexcept
1412:     { return std::__get_helper<__i>(__t); }
1412: 
1412: 
1412:   template<size_t __i, typename... _Elements>
1412:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
1412:     get(const tuple<_Elements...>& __t) noexcept
1412:     { return std::__get_helper<__i>(__t); }
1412: 
1412: 
1412:   template<size_t __i, typename... _Elements>
1412:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
1412:     get(tuple<_Elements...>&& __t) noexcept
1412:     {
1412:       typedef __tuple_element_t<__i, tuple<_Elements...>> __elem__len2)
1417:      {
1417:        __len11 = __len1 / 2;
1417:        std::advance(__first_cut, __len11);
1417:        __second_cut
1417:   = std::__lower_bound(__middle, __last, *__first_cut,
1417:          __gnu_cxx::__ops::__iter_comp_val(__comp));
1417:        __len22 = std::distance(__middle, __second_cut);
1417:      }
1417:    else
1417:      {
1417:        __len22 = __len2 / 2;
1417:        std::advance(__second_cut, __len22);
1417:        __first_cut
1417:   = std::__upper_bound(__first, __middle, *__second_cut,
1417:          __gnu_cxx::__ops::__val_comp_iter(__comp));
1417:        __len11 = std::distance(__first, __first_cut);
1417:      }
1417: 
1417:    _BidirectionalIterator __new_middle
1417:      = std::__rotate_adaptive(__first_cut, __middle, __second_cut,
1417:          __len1 - __len11, __len22, __buffer,
1417:          __buffer_size);
1417:    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
1417:     __len22, __buffer, __buffer_size, __comp);
1417:    std::__merge_adaptive(__new_middle, __second_cut, __last,
1417:     __len1 - __len11,
1417:     __len2 - __len22, __buffer,
1417:     __buffer_size, __comp);
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _BidirectionalIterator, typename _Distance,
1417:     typename _Compare>
1417:     void
1417:     __merge_without_buffer(_BidirectionalIterator __first,
1417:       _BidirectionalIterator __middle,
1417:       _BidirectionalIterator __last,
1417:       _Distance __len1, _Distance __len2,
1417:       _Compare __comp)
1417:     {
1417:       if (__len1 == 0 || __len2 == 0)
1417:  return;
1417: 
1417:       if (__len1 + __len2 == 2)
1417:  {
1417:    if (__comp(__middle, __first))
1417:      std::iter_swap(__first, __middle);
1417:    return;
1417:  }
1417: 
1417:       _BidirectionalIterator __first_cut = __first;
1417:       _BidirectionalIterator __second_cut = __middle;
1417:       _Distance __len11 = 0;
1417:       _Distance __len22 = 0;
1417:       if (__len1 > __len2)
1417:  {
1417:    __len11 = __len1 / 2;
1417:    std::advance(__first_cut, __len11);
1417:    __second_cut
1417:      = std::__lower_bound(__middle, __last, *__first_cut,
1417:      __gnu_cxx::__ops::__iter_comp_val(__comp));
1417:    __len22 = std::distance(__middle, __second_cut);
1417:  }
1417:       else
1417:  {
1417:    __len22 = __len2 / 2;
1417:    std::advance(__second_cut, __len22);
1417:    __first_cut
1417:      = std::__upper_bound(__first, __middle, *__second_cut,
1417:      __gnu_cxx::__ops::__val_comp_iter(__comp));
1417:    __len11 = std::distance(__first, __first_cut);
1417:  }
1417: 
1417:       _BidirectionalIterator __new_middle
1417:  = std::rotate(__first_cut, __middle, __second_cut);
1417:       std::__merge_without_buffer(__first, __first_cut, __new_middle,
1417:       __len11, __len22, __comp);
1417:       std::__merge_without_buffer(__new_middle, __second_cut, __last,
1417:       __len1 - __len11, __len2 - __len22, __comp);
1417:     }
1417: 
1417:   template<typename _BidirectionalIterator, typename _Compare>
1417:     void
1417:     __inplace_merge(_BidirectionalIterator __first,
1417:       _BidirectionalIterator __middle,
1417:       _BidirectionalIterator __last,
1417:       _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_BidirectionalIterator>::value_type
1417:    _ValueType;
1417:       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
1417:    _DistanceType;
1417:       typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf;
1417: 
1417:       if (__first == __middle || __middle == __last)
1417:  return;
1417: 
1417:       const _DistanceType __len1 = std::distance(__first, __middle);
1417:       const _DistanceType __len2 = std::distance(__middle, __last);
1417: 
1417: 
1417: 
1417:       _TmpBuf __buf(__first, std::min(__len1, __len2));
1417: 
1417:       if (__buf.begin() == 0)
1417:  std::__merge_without_buffer
1417:    (__first, __middle, __last, __len1, __len2, __comp);
1417:       else
1417:  std::__merge_adaptive
1417:    (__first, __middle, __last, __len1, __len2, __buf.begin(),
1417:     _DistanceType(__buf.size()), __comp);
1417:     }
1417: # 2548 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator>
1417:     inline void
1417:     inplace_merge(_BidirectionalIterator __first,
1417:     _BidirectionalIterator __middle,
1417:     _BidirectionalIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       std::__inplace_merge(__first, __middle, __last,
1417:       __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 2589 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator, typename _Compare>
1417:     inline void
1417:     inplace_merge(_BidirectionalIterator __first,
1417:     _BidirectionalIterator __middle,
1417:     _BidirectionalIterator __last,
1417:     _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       std::__inplace_merge(__first, __middle, __last,
1417:       __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _Compare>
1417:     _OutputIterator
1417:     __move_merge(_InputIterator __first1, _InputIterator __last1,
1417:    _InputIterator __first2, _InputIterator __last2,
1417:    _OutputIterator __result, _Compare __comp)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2)
1417:  {
1417:    if (__comp(__first2, __first1))
1417:      {
1417:        *__result = std::move(*__first2);
1417:        ++__first2;
1417:      }
1417:    else
1417:      {
1417:        *__result = std::move(*__first1);
1417:        ++__first1;
1417:      }
1417:    ++__result;
1417:  }
1417:       return std::move(__first2, __last2, std::move(__first1, __last1, __result))
1417: 
1417:                   ;
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
1417:     typename _Distance, typename _Compare>
1417:     void
1417:     __merge_sort_loop(_RandomAccessIterator1 __first,
1417:         _RandomAccessIterator1 __last,
1417:         _RandomAccessIterator2 __result, _Distance __step_size,
1417:         _Compare __comp)
1417:     {
1417:       const _Distance __two_step = 2 * __step_size;
1417: 
1417:       while (__last - __first >= __two_step)
1417:  {
1417:    __result = std::__move_merge(__first, __first + __step_size,
1417:            __first + __step_size,
1417:            __first + __two_step,
1417:            __result, __comp);
1417:    __first += __two_step;
1417:  }
1417:       __step_size = std::min(_Distance(__last - __first), __step_size);
1417: 
1417:       std::__move_merge(__first, __first + __step_size,
1417:    __first + __step_size, __last, __result, __comp);
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Distance,
1417:     typename _Compare>
1417:    
1417:     void
1417:     __chunk_insertion_sort(_RandomAccessIterator __first,
1417:       _RandomAccessIterator __last,
1417:       _Distance __chunk_size, _Compare __comp)
1417:     {
1417:       while (__last - __first >= __chunk_size)
1417:  {
1417:    std::__insertion_sort(__first, __first + __chunk_size, __comp);
1417:    __first += __chunk_size;
1417:  }
1417:       std::__insertion_sort(__first, __last, __comp);
1417:     }
1417: 
1417:   enum { _S_chunk_size = 7 };
1417: 
1417:   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
1417:     void
1417:     __merge_sort_with_buffer(_RandomAccessIterator __first,
1417:         _RandomAccessIterator __last,
1417:         _Pointer __buffer, _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:  _Distance;
1417: 
1417:       const _Distance __len = __last - __first;
1417:       const _Pointer __buffer_last = __buffer + __len;
1417: 
1417:       _Distance __step_size = _S_chunk_size;
1417:       std::__chunk_inserti9:       while (__x->_M_left != 0) __x = __x->_M_left;
609:       return __x;
609:     }
609: 
609:     static _Const_Base_ptr
609:     _S_minimum(_Const_Base_ptr __x) noexcept
609:     {
609:       while (__x->_M_left != 0) __x = __x->_M_left;
609:       return __x;
609:     }
609: 
609:     static _Base_ptr
609:     _S_maximum(_Base_ptr __x) noexcept
609:     {
609:       while (__x->_M_right != 0) __x = __x->_M_right;
609:       return __x;
609:     }
609: 
609:     static _Const_Base_ptr
609:     _S_maximum(_Const_Base_ptr __x) noexcept
609:     {
609:       while (__x->_M_right != 0) __x = __x->_M_right;
609:       return __x;
609:     }
609:   };
609: 
609: 
609:   template<typename _Key_compare>
609:     struct _Rb_tree_key_compare
609:     {
609:       _Key_compare _M_key_compare;
609: 
609:       _Rb_tree_key_compare()
609:       noexcept(is_nothrow_default_constructible<_Key_compare>::value)
609: 
609:       : _M_key_compare()
609:       { }
609: 
609:       _Rb_tree_key_compare(const _Key_compare& __comp)
609:       : _M_key_compare(__comp)
609:       { }
609: 
609: 
609: 
609:       _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default;
609: 
609:       _Rb_tree_key_compare(_Rb_tree_key_compare&& __x)
609:  noexcept(is_nothrow_copy_constructible<_Key_compare>::value)
609:       : _M_key_compare(__x._M_key_compare)
609:       { }
609: 
609:     };
609: 
609: 
609:   struct _Rb_tree_header
609:   {
609:     _Rb_tree_node_base _M_header;
609:     size_t _M_node_count;
609: 
609:     _Rb_tree_header() noexcept
609:     {
609:       _M_header._M_color = _S_red;
609:       _M_reset();
609:     }
609: 
609: 
609:     _Rb_tree_header(_Rb_tree_header&& __x) noexcept
609:     {
609:       if (__x._M_header._M_parent != nullptr)
609:  _M_move_data(__x);
609:       else
609:  {
609:    _M_header._M_color = _S_red;
609:    _M_reset();
609:  }
609:     }
609: 
609: 
609:     void
609:     _M_move_data(_Rb_tree_header& __from)
609:     {
609:       _M_header._M_color = __from._M_header._M_color;
609:       _M_header._M_parent = __from._M_header._M_parent;
609:       _M_header._M_left = __from._M_header._M_left;
609:       _M_header._M_right = __from._M_header._M_right;
609:       _M_header._M_parent->_M_parent = &_M_header;
609:       _M_node_count = __from._M_node_count;
609: 
609:       __from._M_reset();
609:     }
609: 
609:     void
609:     _M_reset()
609:     {
609:       _M_header._M_parent = 0;
609:       _M_header._M_left = &_M_header;
609:       _M_header._M_right = &_M_header;
609:       _M_node_count = 0;
609:     }
609:   };
609: 
609:   template<typename _Val>
609:     struct _Rb_tree_node : public _Rb_tree_node_base
609:     {
609:       typedef _Rb_tree_node<_Val>* _Link_type;
609: # 231 "/usr/include/c++/12/bits/stl_tree.h" 3
609:       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
609: 
609:       _Val*
609:       _M_valptr()
609:       { return _M_storage._M_ptr(); }
609: 
609:       const _Val*
609:       _M_valptr() const
609:       { return _M_storage._M_ptr(); }
609: 
609:     };
609: 
609:   __attribute__ ((__pure__)) _Rb_tree_node_base*
609:   _Rb_tree_increment(_Rb_tree_node_base* __x) throw ();
609: 
609:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
609:   _Rb_tree_increment(const _Rb_tree_node_base* __x) throw ();
609: 
609:   __attribute__ ((__pure__)) _Rb_tree_node_base*
609:   _Rb_tree_decrement(_Rb_tree_node_base* __x) throw ();
609: 
609:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
609:   _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw ();
609: 
609:   template<typename _Tp>
609:     struct _Rb_tree_iterator
609:     {
609:       typedef _Tp value_type;
609:       typedef _Tp& reference;
609:       typedef _Tp* pointer;
609: 
609:       typedef bidirectional_iterator_tag iterator_category;
609:       typedef ptrdiff_t difference_type;
609: 
609:       typedef _Rb_tree_iterator<_Tp> _Self;
609:       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
609:       typedef _Rb_tree_node<_Tp>* _Link_type;
609: 
609:       _Rb_tree_iterator() noexcept
609:       : ent_type;
1412:       return std::forward<__element_type>(std::__get_helper<__i>(__t));
1412:     }
1412: 
1412: 
1412:   template<size_t __i, typename... _Elements>
1412:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
1412:     get(const tuple<_Elements...>&& __t) noexcept
1412:     {
1412:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
1412:       return std::forward<const __element_type>(std::__get_helper<__i>(__t));
1412:     }
1412: 
1412: 
1412: 
1412:   template<size_t __i, typename... _Elements>
1412:     constexpr __enable_if_t<(__i >= sizeof...(_Elements))>
1412:     get(const tuple<_Elements...>&) = delete;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename... _Types>
1412:     constexpr _Tp&
1412:     get(tuple<_Types...>& __t) noexcept
1412:     {
1412:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1412:       static_assert(__idx < sizeof...(_Types),
1412:    "the type T in std::get<T> must occur exactly once in the tuple");
1412:       return std::__get_helper<__idx>(__t);
1412:     }
1412: 
1412: 
1412:   template <typename _Tp, typename... _Types>
1412:     constexpr _Tp&&
1412:     get(tuple<_Types...>&& __t) noexcept
1412:     {
1412:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1412:       static_assert(__idx < sizeof...(_Types),
1412:    "the type T in std::get<T> must occur exactly once in the tuple");
1412:       return std::forward<_Tp>(std::__get_helper<__idx>(__t));
1412:     }
1412: 
1412: 
1412:   template <typename _Tp, typename... _Types>
1412:     constexpr const _Tp&
1412:     get(const tuple<_Types...>& __t) noexcept
1412:     {
1412:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1412:       static_assert(__idx < sizeof...(_Types),
1412:    "the type T in std::get<T> must occur exactly once in the tuple");
1412:       return std::__get_helper<__idx>(__t);
1412:     }
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename... _Types>
1412:     constexpr const _Tp&&
1412:     get(const tuple<_Types...>&& __t) noexcept
1412:     {
1412:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1412:       static_assert(__idx < sizeof...(_Types),
1412:    "the type T in std::get<T> must occur exactly once in the tuple");
1412:       return std::forward<const _Tp>(std::__get_helper<__idx>(__t));
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up, size_t __i, size_t __size>
1412:     struct __tuple_compare
1412:     {
1412:       static constexpr bool
1412:       __eq(const _Tp& __t, const _Up& __u)
1412:       {
1412:  return bool(std::get<__i>(__t) == std::get<__i>(__u))
1412:    && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
1412:       }
1412: 
1412:       static constexpr bool
1412:       __less(const _Tp& __t, const _Up& __u)
1412:       {
1412:  return bool(std::get<__i>(__t) < std::get<__i>(__u))
1412:    || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
1412:        && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
1412:       }
1412:     };
1412: 
1412:   template<typename _Tp, typename _Up, size_t __size>
1412:     struct __tuple_compare<_Tp, _Up, __size, __size>
1412:     {
1412:       static constexpr bool
1412:       __eq(const _Tp&, const _Up&) { return true; }
1412: 
1412:       static constexpr bool
1412:       __less(const _Tp&, const _Up&) { return false; }
1412:     };
1412: 
1412:   template<typename... _TElements, typename... _UElements>
1412:     constexpr bool
1412:     operator==(const tuple<_TElements...>& __t,
1412:         const tuple<_UElements...>& __u)
1412:     {
1412:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1412:    "tuple objects can only be compared if they have equal sizes.");
1412:       using __compare = __tuple_compare<tuple<_TElements...>,
1412:      tuple<_UElements...>,
1412:      0, sizeof...(_TElements)>;
1412:       return __compare::__eq(__t, __u);
1412:     }
1412: # 1536on_sort(__first, __last, __step_size, __comp);
1417: 
1417:       while (__step_size < __len)
1417:  {
1417:    std::__merge_sort_loop(__first, __last, __buffer,
1417:      __step_size, __comp);
1417:    __step_size *= 2;
1417:    std::__merge_sort_loop(__buffer, __buffer_last, __first,
1417:      __step_size, __comp);
1417:    __step_size *= 2;
1417:  }
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Pointer,
1417:     typename _Distance, typename _Compare>
1417:     void
1417:     __stable_sort_adaptive(_RandomAccessIterator __first,
1417:       _RandomAccessIterator __last,
1417:       _Pointer __buffer, _Distance __buffer_size,
1417:       _Compare __comp)
1417:     {
1417:       const _Distance __len = (__last - __first + 1) / 2;
1417:       const _RandomAccessIterator __middle = __first + __len;
1417:       if (__len > __buffer_size)
1417:  {
1417:    std::__stable_sort_adaptive(__first, __middle, __buffer,
1417:           __buffer_size, __comp);
1417:    std::__stable_sort_adaptive(__middle, __last, __buffer,
1417:           __buffer_size, __comp);
1417:  }
1417:       else
1417:  {
1417:    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
1417:    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
1417:  }
1417: 
1417:       std::__merge_adaptive(__first, __middle, __last,
1417:        _Distance(__middle - __first),
1417:        _Distance(__last - __middle),
1417:        __buffer, __buffer_size,
1417:        __comp);
1417:     }
1417: 
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:     void
1417:     __inplace_stable_sort(_RandomAccessIterator __first,
1417:      _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417:       if (__last - __first < 15)
1417:  {
1417:    std::__insertion_sort(__first, __last, __comp);
1417:    return;
1417:  }
1417:       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
1417:       std::__inplace_stable_sort(__first, __middle, __comp);
1417:       std::__inplace_stable_sort(__middle, __last, __comp);
1417:       std::__merge_without_buffer(__first, __middle, __last,
1417:       __middle - __first,
1417:       __last - __middle,
1417:       __comp);
1417:     }
1417: # 2763 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _Compare>
1417:    
1417:     bool
1417:     __includes(_InputIterator1 __first1, _InputIterator1 __last1,
1417:         _InputIterator2 __first2, _InputIterator2 __last2,
1417:         _Compare __comp)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2)
1417:  {
1417:    if (__comp(__first2, __first1))
1417:      return false;
1417:    if (!__comp(__first1, __first2))
1417:      ++__first2;
1417:    ++__first1;
1417:  }
1417: 
1417:       return __first2 == __last2;
1417:     }
1417: # 2801 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2>
1417:    
1417:     inline bool
1417:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1417:       _InputIterator2 __first2, _InputIterator2 __last2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__includes(__first1, __last1, __first2, __last2,
1417:         __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 2846 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _Compare>
1417:    
1417:     inline bool
1417:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1417:       _InputIterator2 __first2, _InputIterator2 __last2,
1417:       _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__includes(__first1, __last1, __first2, __last2,
1417:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: # 2882 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator, typename _Compare>
1417:    
1417:     bool
1417:     __next_permutation(_BidirectionalIterator __first,
1417:          _BidirectionalIterator __last, _Compare __comp)
1417:     {
1417:       if (__first == __last)
1417:  return false;
1417:       _BidirectionalIterator __i = __first;
1417:       ++__i;
1417:       if (__i == __last)
1417:  return false;
1417:       __i = __last;
1417:       --__i;
1417: 
1417:       for(;;)
1417:  {
1417:    _BidirectionalIterator __ii = __i;
1417:    --__i;
1417:    if (__comp(__i, __ii))
1417:      {
1417:        _BidirectionalIterator __j = __last;
1417:        while (!__comp(__i, --__j))
1417:   {}
1417:        std::iter_swap(__i, __j);
1417:        std::__reverse(__ii, __last,
1417:         std::__iterator_category(__first));
1417:        return true;
1417:      }
1417:    if (__i == __first)
1417:      {
1417:        std::__reverse(__first, __last,
1417:         std::__iterator_category(__first));
1417:        return false;
1417:      }
1417:  }
1417:     }
1417: # 2932 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator>
1417:    
1417:     inline bool
1417:     next_permutation(_BidirectionalIterator __first,
1417:        _BidirectionalIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__next_permutation
1417:  (__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 2965 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator, typename _Compare>
1417:    
1417:     inline bool
1417:     next_permutation(_BidirectionalIterator __first,
1417:        _BidirectionalIterator __last, _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__next_permutation
1417:  (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _BidirectionalIterator, typename _Compare>
1417:    
1417:     bool
1417:     __prev_permutation(_BidirectionalIterator __first,
1417:          _BidirectionalIterator __last, _Compare __comp)
1417:     {
1417:       if (__first == __last)
1417:  return false;
1417:       _BidirectionalIterator __i = __first;
1417:       ++__i;
1417:       if (__i == __last)
1417:  return false;
1417:       __i = __last;
1417:       --__i;
1417: 
1417:       for(;;)
1417:  {
1417:    _BidirectionalIterator __ii = __i;
1417:    --__i;
1417:    if (__comp(__ii, __i))
1417:      {
1417:        _BidirectionalIterator __j = __last;
1417:        while (!__comp(--__j, __i))
1417:   {}
1417:        std::iter_swap(__i, __j);
1417:        std::__reverse(__ii, __last,
1417:         std::__iterator_category(__first));
1417:        return true;
1417:      }
1417:    if (__i == __first)
1417:      {
1417:        std::__reverse(__first, __last,
1417:         std::__iterator_category(__first));
1417:        return false;
1417:      }
1417:  }
1417:     }
1417: # 3035 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator>
1417:    
1417:     inline bool
1417:     prev_permutation(_BidirectionalIterator __first,
1417:        _BidirectionalIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__prev_permutation(__first, __last,
1417:          __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 3068 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _BidirectionalIterator, typename _Compare>
1417:    
1417:     inline bool
1417:     prev_permutation(_BidirectionalIterator __first,
1417:        _BidirectionalIterator __last, _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__prev_permutation(__first, __last,
1417:     __gnu_cxx::__ops::___M_node() { }
609: 
609:       explicit
609:       _Rb_tree_iterator(_Base_ptr __x) noexcept
609:       : _M_node(__x) { }
609: 
609:       reference
609:       operator*() const noexcept
609:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
609: 
609:       pointer
609:       operator->() const noexcept
609:       { return static_cast<_Link_type> (_M_node)->_M_valptr(); }
609: 
609:       _Self&
609:       operator++() noexcept
609:       {
609:  _M_node = _Rb_tree_increment(_M_node);
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator++(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _Rb_tree_increment(_M_node);
609:  return __tmp;
609:       }
609: 
609:       _Self&
609:       operator--() noexcept
609:       {
609:  _M_node = _Rb_tree_decrement(_M_node);
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator--(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _Rb_tree_decrement(_M_node);
609:  return __tmp;
609:       }
609: 
609:       friend bool
609:       operator==(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node == __y._M_node; }
609: 
609: 
609:       friend bool
609:       operator!=(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node != __y._M_node; }
609: 
609: 
609:       _Base_ptr _M_node;
609:     };
609: 
609:   template<typename _Tp>
609:     struct _Rb_tree_const_iterator
609:     {
609:       typedef _Tp value_type;
609:       typedef const _Tp& reference;
609:       typedef const _Tp* pointer;
609: 
609:       typedef _Rb_tree_iterator<_Tp> iterator;
609: 
609:       typedef bidirectional_iterator_tag iterator_category;
609:       typedef ptrdiff_t difference_type;
609: 
609:       typedef _Rb_tree_const_iterator<_Tp> _Self;
609:       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
609:       typedef const _Rb_tree_node<_Tp>* _Link_type;
609: 
609:       _Rb_tree_const_iterator() noexcept
609:       : _M_node() { }
609: 
609:       explicit
609:       _Rb_tree_const_iterator(_Base_ptr __x) noexcept
609:       : _M_node(__x) { }
609: 
609:       _Rb_tree_const_iterator(const iterator& __it) noexcept
609:       : _M_node(__it._M_node) { }
609: 
609:       iterator
609:       _M_const_cast() const noexcept
609:       { return iterator(const_cast<typename iterator::_Base_ptr>(_M_node)); }
609: 
609:       reference
609:       operator*() const noexcept
609:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
609: 
609:       pointer
609:       operator->() const noexcept
609:       { return static_cast<_Link_type>(_M_node)->_M_valptr(); }
609: 
609:       _Self&
609:       operator++() noexcept
609:       {
609:  _M_node = _Rb_tree_increment(_M_node);
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator++(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _Rb_tree_increment(_M_node);
609:  return __tmp;
609:       }
609: 
609:       _Self&
609:       operator--() noexcept
609:       {
609:  _M_node = _Rb_tree_decrement(_M_node);
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator--(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _Rb_tree_decrement(_M_node);
609:  return __tmp;
609:       }
609: 
609:       friend bool
609:       operator==(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node == __y._M_node; }
609: 
609: 
609:       friend bool
609:       operator!=(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node != __y._M_node; }
609: 
609: 
609:       _Base_ptr _M_node;
609:     };
609: 
609:   void
609:   _Rb_tree_insert_and_rebalance(const bool __insert_left,
609:     _Rb_tree_node_base* __x,
609:     _Rb_tree_node_base* __p,
609:     _Rb_tree_node_base& __header) throw ();
609: 
609:   _Rb_tree_node_base*
609:   _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
609:           _Rb_tree_node_base& __header) throw ();
609: 
609: 
609:   template<typename _Tree1, typename _Cmp2>
6 "/usr/include/c++/12/tuple" 3
1412:   template<typename... _TElements, typename... _UElements>
1412:     constexpr bool
1412:     operator<(const tuple<_TElements...>& __t,
1412:        const tuple<_UElements...>& __u)
1412:     {
1412:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1412:    "tuple objects can only be compared if they have equal sizes.");
1412:       using __compare = __tuple_compare<tuple<_TElements...>,
1412:      tuple<_UElements...>,
1412:      0, sizeof...(_TElements)>;
1412:       return __compare::__less(__t, __u);
1412:     }
1412: 
1412:   template<typename... _TElements, typename... _UElements>
1412:     constexpr bool
1412:     operator!=(const tuple<_TElements...>& __t,
1412:         const tuple<_UElements...>& __u)
1412:     { return !(__t == __u); }
1412: 
1412:   template<typename... _TElements, typename... _UElements>
1412:     constexpr bool
1412:     operator>(const tuple<_TElements...>& __t,
1412:        const tuple<_UElements...>& __u)
1412:     { return __u < __t; }
1412: 
1412:   template<typename... _TElements, typename... _UElements>
1412:     constexpr bool
1412:     operator<=(const tuple<_TElements...>& __t,
1412:         const tuple<_UElements...>& __u)
1412:     { return !(__u < __t); }
1412: 
1412:   template<typename... _TElements, typename... _UElements>
1412:     constexpr bool
1412:     operator>=(const tuple<_TElements...>& __t,
1412:         const tuple<_UElements...>& __u)
1412:     { return !(__t < __u); }
1412: 
1412: 
1412: 
1412:   template<typename... _Elements>
1412:     constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
1412:     make_tuple(_Elements&&... __args)
1412:     {
1412:       typedef tuple<typename __decay_and_strip<_Elements>::__type...>
1412:  __result_type;
1412:       return __result_type(std::forward<_Elements>(__args)...);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename... _Elements>
1412:     constexpr tuple<_Elements&&...>
1412:     forward_as_tuple(_Elements&&... __args) noexcept
1412:     { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm> struct array;
1412: 
1412:   template<size_t _Int, typename _Tp, size_t _Nm>
1412:     constexpr _Tp&
1412:     get(array<_Tp, _Nm>&) noexcept;
1412: 
1412:   template<size_t _Int, typename _Tp, size_t _Nm>
1412:     constexpr _Tp&&
1412:     get(array<_Tp, _Nm>&&) noexcept;
1412: 
1412:   template<size_t _Int, typename _Tp, size_t _Nm>
1412:     constexpr const _Tp&
1412:     get(const array<_Tp, _Nm>&) noexcept;
1412: 
1412:   template<size_t _Int, typename _Tp, size_t _Nm>
1412:     constexpr const _Tp&&
1412:     get(const array<_Tp, _Nm>&&) noexcept;
1412: 
1412: 
1412:   template<size_t, typename, typename, size_t>
1412:     struct __make_tuple_impl;
1412: 
1412:   template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
1412:     struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
1412:     : __make_tuple_impl<_Idx + 1,
1412:    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
1412:    _Tuple, _Nm>
1412:     { };
1412: 
1412:   template<size_t _Nm, typename _Tuple, typename... _Tp>
1412:     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
1412:     {
1412:       typedef tuple<_Tp...> __type;
1412:     };
1412: 
1412:   template<typename _Tuple>
1412:     struct __do_make_tuple
1412:     : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tuple>
1412:     struct __make_tuple
1412:     : public __do_make_tuple<__remove_cvref_t<_Tuple>>
1412:     { };
1412: 
1412: 
1412:   template<typename...>
1412:     struct __combine_tuples;
1412: 
1412:   template<>
1412:     struct __combine_tuples<>
1412:     {
1412:       typedef tuple<> __type;
1412:     };
1412: 
1412:   template<typename... _Ts>
1412:     struct __combine_tuples<tuple<_Ts...>>
1412:     {
1412:       typedef tuple<_Ts...> __type;
1412:     };
1412: 
1412:   template<typename... _T1s, typename... _T2s, titer_comp_iter(__comp));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _Predicate, typename _Tp>
1417:    
1417:     _OutputIterator
1417:     __replace_copy_if(_InputIterator __first, _InputIterator __last,
1417:         _OutputIterator __result,
1417:         _Predicate __pred, const _Tp& __new_value)
1417:     {
1417:       for (; __first != __last; ++__first, (void)++__result)
1417:  if (__pred(__first))
1417:    *__result = __new_value;
1417:  else
1417:    *__result = *__first;
1417:       return __result;
1417:     }
1417: # 3120 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1417:    
1417:     inline _OutputIterator
1417:     replace_copy(_InputIterator __first, _InputIterator __last,
1417:    _OutputIterator __result,
1417:    const _Tp& __old_value, const _Tp& __new_value)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__replace_copy_if(__first, __last, __result,
1417:    __gnu_cxx::__ops::__iter_equals_val(__old_value),
1417:            __new_value);
1417:     }
1417: # 3155 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _Predicate, typename _Tp>
1417:    
1417:     inline _OutputIterator
1417:     replace_copy_if(_InputIterator __first, _InputIterator __last,
1417:       _OutputIterator __result,
1417:       _Predicate __pred, const _Tp& __new_value)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__replace_copy_if(__first, __last, __result,
1417:     __gnu_cxx::__ops::__pred_iter(__pred),
1417:            __new_value);
1417:     }
1417: # 3184 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:    
1417:     inline bool
1417:     is_sorted(_ForwardIterator __first, _ForwardIterator __last)
1417:     { return std::is_sorted_until(__first, __last) == __last; }
1417: # 3199 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Compare>
1417:    
1417:     inline bool
1417:     is_sorted(_ForwardIterator __first, _ForwardIterator __last,
1417:        _Compare __comp)
1417:     { return std::is_sorted_until(__first, __last, __comp) == __last; }
1417: 
1417:   template<typename _ForwardIterator, typename _Compare>
1417:    
1417:     _ForwardIterator
1417:     __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1417:         _Compare __comp)
1417:     {
1417:       if (__first == __last)
1417:  return __last;
1417: 
1417:       _ForwardIterator __next = __first;
1417:       for (++__next; __next != __last; __first = __next, (void)++__next)
1417:  if (__comp(__next, __first))
1417:    return __next;
1417:       return __next;
1417:     }
1417: # 3230 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:    
1417:     inline _ForwardIterator
1417:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__is_sorted_until(__first, __last,
1417:         __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 3255 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Compare>
1417:    
1417:     inline _ForwardIterator
1417:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1417:       _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__is_sorted_until(__first, __last,
1417:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: # 3281 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _Tp>
1417:     constexpr
1417:     inline pair<const _Tp&, const _Tp&>
1417:     minmax(const _Tp& __a, const _Tp& __b)
1417:     {
1417: 
1417:      
1417: 
1417:       return __b < __a ? pair<const _Tp&, const _Tp&>(__b, __a)
1417:          : pair<const _Tp&, const _Tp&>(__a, __b);
1417:     }
1417: # 3302 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     inline pair<const _Tp&, const _Tp&>
1417:     minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
1417:     {
1417:       return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a)
1417:          : pair<const _Tp&, const _Tp&>(__a, __b);
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Compare>
1417:     constexpr
1417:     pair<_ForwardIterator, _ForwardIterator>
1417:     __minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1417:        _Compare __comp)
1417:     {
1417:       _ForwardIterator __next = __first;
1417:       if (__first == __last
1417:    || ++__next == __last)
1417:  return std::make_pair(__first, __first);
1417: 
1417:       _ForwardIterator __min{}, __max{};
1417:       if (__comp(__next, __first))
1417:  {
1417:    __min = __next;
1417:    __max = __first;
1417:  }
1417:       else
1417:  {
1417:    __min = __first;
1417:    __max = __next;
1417:  }
1417: 
1417:       __first = __next;
1417:       ++__first;
1417: 
1417:       while (__first != __last)
1417:  {
1417:    __next = __first;
1417:    if (++__next == __last)
1417:      {
1417:        if (__comp(__first, __min))
1417:   __min = __first;
1417:        else if (!__comp(__first, __max))
1417:   __max = __first;
1417:        break;
1417:      }
1417: 
1417:    if (__comp(__next, __first))
1417:      {
1417:        if (__comp(__next, __min))
1417:   __min = __next;
1417:        if (!__comp(__first, __max))
1417:   __max = __first;
1417:      }
1417:    else
1417:      {
1417:        if (__comp(__first, __min))
1417:   __min = __first;
1417:        if (!__comp(__next, __max))
1417:   __max = __next;
1417:      }
1417: 
1417:    __first = __next;
1417:    ++__first;
1417:  }
1417: 
1417:       return std::make_pair(__min, __max);
1417:     }
1417: # 3382 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:     constexpr
1417:     inline pair<_ForwardIterator, _ForwardIterator>
1417:     minmax_element(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__minmax_element(__first, __last,
1417:        __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 3410 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Compare>
1417:     constexpr
1417:     inline pair<_ForwardIterator, _ForwardIterator>
1417:     minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1417:      _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__minmax_element(__first, __last,
1417:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     inline pair<_Tp, _Tp>
1417:     minmax(initializer_list<_Tp> __l)
1417:     {
1417:       ;
1417:       pair<const _Tp*, const _Tp*> __p =
1417:  std::__minmax_element(__l.begin(), __l.end(),
1417:          __gnu_cxx::__ops::__iter_less_iter());
1417:       return std::make_pair(*__p.first, *__p.second);
1417:     }
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     inline pair<_Tp, _Tp>
1417:     minmax(initializer_list<_Tp> __l, _Compare __comp)
1417:     {
1417:       ;
1417:       pair<const _Tp*, const _Tp*> __p =
1417:  std::__minmax_element(__l.begin(), __l.end(),
1417:          __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:       return std::make_pair(*__p.first, *__p.second);
1417:     }
1417: # 3466 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline bool
1417:     is_permutation(_ForwardIte09:     struct _Rb_tree_merge_helper { };
609: 
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc = allocator<_Val> >
609:     class _Rb_tree
609:     {
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
609: 
609:       typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
609: 
609:     protected:
609:       typedef _Rb_tree_node_base* _Base_ptr;
609:       typedef const _Rb_tree_node_base* _Const_Base_ptr;
609:       typedef _Rb_tree_node<_Val>* _Link_type;
609:       typedef const _Rb_tree_node<_Val>* _Const_Link_type;
609: 
609:     private:
609: 
609: 
609:       struct _Reuse_or_alloc_node
609:       {
609:  _Reuse_or_alloc_node(_Rb_tree& __t)
609:  : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t)
609:  {
609:    if (_M_root)
609:      {
609:        _M_root->_M_parent = 0;
609: 
609:        if (_M_nodes->_M_left)
609:   _M_nodes = _M_nodes->_M_left;
609:      }
609:    else
609:      _M_nodes = 0;
609:  }
609: 
609: 
609:  _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete;
609: 
609: 
609:  ~_Reuse_or_alloc_node()
609:  { _M_t._M_erase(static_cast<_Link_type>(_M_root)); }
609: 
609:  template<typename _Arg>
609:    _Link_type
609:    operator()(_Arg&& __arg)
609:    {
609:      _Link_type __node = static_cast<_Link_type>(_M_extract());
609:      if (__node)
609:        {
609:   _M_t._M_destroy_node(__node);
609:   _M_t._M_construct_node(__node, std::forward<_Arg>(__arg));
609:   return __node;
609:        }
609: 
609:      return _M_t._M_create_node(std::forward<_Arg>(__arg));
609:    }
609: 
609:       private:
609:  _Base_ptr
609:  _M_extract()
609:  {
609:    if (!_M_nodes)
609:      return _M_nodes;
609: 
609:    _Base_ptr __node = _M_nodes;
609:    _M_nodes = _M_nodes->_M_parent;
609:    if (_M_nodes)
609:      {
609:        if (_M_nodes->_M_right == __node)
609:   {
609:     _M_nodes->_M_right = 0;
609: 
609:     if (_M_nodes->_M_left)
609:       {
609:         _M_nodes = _M_nodes->_M_left;
609: 
609:         while (_M_nodes->_M_right)
609:    _M_nodes = _M_nodes->_M_right;
609: 
609:         if (_M_nodes->_M_left)
609:    _M_nodes = _M_nodes->_M_left;
609:       }
609:   }
609:        else
609:   _M_nodes->_M_left = 0;
609:      }
609:    else
609:      _M_root = 0;
609: 
609:    return __node;
609:  }
609: 
609:  _Base_ptr _M_root;
609:  _Base_ptr _M_nodes;
609:  _Rb_tree& _M_t;
609:       };
609: 
609: 
609: 
609:       struct _Alloc_node
609:       {
609:  _Alloc_node(_Rb_tree& __t)
609:  : _M_t(__t) { }
609: 
609:  template<typename _Arg>
609:    _Link_type
609:    operator()(_Arg&& __arg) const
609:    { return _M_t._M_create_node(std::forward<_Arg>(__arg)); }
609: 
609:       private:
609:  _Rb_tree& _M_t;
609:       };
609: 
609:     public:
609:       typedef _Key key_type;
609:       typedef _Val value_type;
609:       typedef value_type* pointer;
609:       typedef const value_type* const_pointer;
609:       typedef value_type& reference;
609:       typedef const value_type& const_reference;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef _Alloc allocator_type;
609: 
609:       _Node_allocator&
609:       _M_get_Node_allocator() noexcept
609:       { return this->_M_impl; }
609: 
609:       const _Node_allocator&
609:       _M_get_Node_allocator() const noexcept
609:       { return this->_M_impl; }
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(_M_get_Node_allocator()); }
609: 
609:     protected:
609:       _Link_type
609:       _M_get_node()
609:       { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); }
609: 
609:       void
609:       _M_put_node(_Link_type __p) noexcept
609:       { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); }
609: # 588 "/usr/include/c++/12/bits/stl_tree.h" 3
609:       template<typename... _Args>
609:  void
609:  _M_construct_node(_Link_type __node, ypename... _Rem>
1412:     struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
1412:     {
1412:       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
1412:      _Rem...>::__type __type;
1412:     };
1412: 
1412: 
1412:   template<typename... _Tpls>
1412:     struct __tuple_cat_result
1412:     {
1412:       typedef typename __combine_tuples
1412:         <typename __make_tuple<_Tpls>::__type...>::__type __type;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename...>
1412:     struct __make_1st_indices;
1412: 
1412:   template<>
1412:     struct __make_1st_indices<>
1412:     {
1412:       typedef _Index_tuple<> __type;
1412:     };
1412: 
1412:   template<typename _Tp, typename... _Tpls>
1412:     struct __make_1st_indices<_Tp, _Tpls...>
1412:     {
1412:       typedef typename _Build_index_tuple<tuple_size<
1412:  typename remove_reference<_Tp>::type>::value>::__type __type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Ret, typename _Indices, typename... _Tpls>
1412:     struct __tuple_concater;
1412: 
1412:   template<typename _Ret, size_t... _Is, typename _Tp, typename... _Tpls>
1412:     struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...>
1412:     {
1412:       template<typename... _Us>
1412:         static constexpr _Ret
1412:         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
1412:         {
1412:    typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1412:    typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
1412:    return __next::_S_do(std::forward<_Tpls>(__tps)...,
1412:           std::forward<_Us>(__us)...,
1412:           std::get<_Is>(std::forward<_Tp>(__tp))...);
1412:  }
1412:     };
1412: 
1412:   template<typename _Ret>
1412:     struct __tuple_concater<_Ret, _Index_tuple<>>
1412:     {
1412:       template<typename... _Us>
1412:  static constexpr _Ret
1412:  _S_do(_Us&&... __us)
1412:         {
1412:    return _Ret(std::forward<_Us>(__us)...);
1412:  }
1412:     };
1412: 
1412:   template<typename... _Tps>
1412:     struct __is_tuple_like_impl<tuple<_Tps...>> : true_type
1412:     { };
1412: 
1412: 
1412:   template<typename... _Tpls, typename = typename
1412:            enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
1412:     constexpr auto
1412:     tuple_cat(_Tpls&&... __tpls)
1412:     -> typename __tuple_cat_result<_Tpls...>::__type
1412:     {
1412:       typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
1412:       typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1412:       typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
1412:       return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename... _Elements>
1412:     constexpr tuple<_Elements&...>
1412:     tie(_Elements&... __args) noexcept
1412:     { return tuple<_Elements&...>(__args...); }
1412: 
1412: 
1412:   template<typename... _Elements>
1412:    
1412:     inline
1412: 
1412: 
1412:     typename enable_if<__and_<__is_swappable<_Elements>...>::value
1412:       >::type
1412: 
1412: 
1412: 
1412:     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   template<typename... _Elements>
1412:    
1412:     typename enable_if<!__and_<__is_swappable<_Elements>...>::value>::type
1412:     swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   struct _Swallow_assign
1412:   {
1412:     template<class _Tp>
1412:       constexpr const _Swallow_assign&
1412:       operator=(const _Tp&) const
1412:       { return *this; }
1412:   };
1412: 
1412: 
1412: 
1412:   inline constexpr _Swallow_assign ignore{};
1412: 
1412: 
1412:   template<typename... _Types, typename _Alloc>
1412:     struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
1412: # 1798 "/usr/include/c++/12/tuple" 3
1412:   template<class _T1, class _T2>
1412:     template<typename... _Args1, typename... _Args2>
1412:      
14rator1 __first1, _ForwardIterator1 __last1,
1417:      _ForwardIterator2 __first2, _BinaryPredicate __pred)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       return std::__is_permutation(__first1, __last1, __first2,
1417:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1417:     }
1417: 
1417: 
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     bool
1417:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1417:        _BinaryPredicate __pred)
1417:     {
1417:       using _Cat1
1417:  = typename iterator_traits<_ForwardIterator1>::iterator_category;
1417:       using _Cat2
1417:  = typename iterator_traits<_ForwardIterator2>::iterator_category;
1417:       using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>;
1417:       using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>;
1417:       constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA();
1417:       if (__ra_iters)
1417:  {
1417:    auto __d1 = std::distance(__first1, __last1);
1417:    auto __d2 = std::distance(__first2, __last2);
1417:    if (__d1 != __d2)
1417:      return false;
1417:  }
1417: 
1417: 
1417: 
1417:       for (; __first1 != __last1 && __first2 != __last2;
1417:    ++__first1, (void)++__first2)
1417:  if (!__pred(__first1, __first2))
1417:    break;
1417: 
1417:       if (__ra_iters)
1417:  {
1417:    if (__first1 == __last1)
1417:      return true;
1417:  }
1417:       else
1417:  {
1417:    auto __d1 = std::distance(__first1, __last1);
1417:    auto __d2 = std::distance(__first2, __last2);
1417:    if (__d1 == 0 && __d2 == 0)
1417:      return true;
1417:    if (__d1 != __d2)
1417:      return false;
1417:  }
1417: 
1417:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1417:  {
1417:    if (__scan != std::__find_if(__first1, __scan,
1417:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1417:      continue;
1417: 
1417:    auto __matches = std::__count_if(__first2, __last2,
1417:   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1417:    if (0 == __matches
1417:        || std::__count_if(__scan, __last1,
1417:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1417:        != __matches)
1417:      return false;
1417:  }
1417:       return true;
1417:     }
1417: # 3561 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1417:    
1417:     inline bool
1417:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:      _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1417:     {
1417:       ;
1417:       ;
1417: 
1417:       return
1417:  std::__is_permutation(__first1, __last1, __first2, __last2,
1417:          __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: # 3589 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline bool
1417:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:      _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1417:      _BinaryPredicate __pred)
1417:     {
1417:       ;
1417:       ;
1417: 
1417:       return std::__is_permutation(__first1, __last1, __first2, __last2,
1417:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1417:     }
1417: # 3619 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _Tp>
1417:     constexpr const _Tp&
1417:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi)
1417:     {
1417:       do { if (std::__is_constant_evaluated() && !bool(!(__hi < __lo))) __builtin_unreachable(); } while (false);
1417:       return std::min(std::max(__val, __lo), __hi);
1417:     }
1417: # 3639 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr const _Tp&
1417:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
1417:     {
1417:       do { if (std::__is_constant_evaluated() && !bool(!__comp(__hi, __lo))) __builtin_unreachable(); } while (false);
1417:       return std::min(std::max(__val, __lo, __comp), __hi, __comp);
1417:     }
1417: # 3671 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _IntType, typename _UniformRandomBitGenerator>
1417:     pair<_IntType, _IntType>
1417:     __gen_two_uniform_ints(_IntType __b0, _IntType __b1,
1417:       _UniformRandomBitGenerator&& __g)
1417:     {
1417:       _IntType __x
1417:  = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g);
1417:       return std::make_pair(__x / __b1, __x % __b1);
1417:     }
1417: # 3693 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator,
1417:     typename _UniformRandomNumberGenerator>
1417:     void
1417:     shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:      _UniformRandomNumberGenerator&& __g)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       if (__first == __last)
1417:  return;
1417: 
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:  _DistanceType;
1417: 
1417:       typedef typename std::make_unsigned<_DistanceType>::type __ud_type;
1417:       typedef typename std::uniform_int_distribution<__ud_type> __distr_type;
1417:       typedef typename __distr_type::param_type __p_type;
1417: 
1417:       typedef typename remove_reference<_UniformRandomNumberGenerator>::type
1417:  _Gen;
1417:       typedef typename common_type<typename _Gen::result_type, __ud_type>::type
1417:  __uc_type;
1417: 
1417:       const __uc_type __urngrange = __g.max() - __g.min();
1417:       const __uc_type __urange = __uc_type(__last - __first);
1417: 
1417:       if (__urngrange / __urange >= __urange)
1417: 
1417:       {
1417:  _RandomAccessIterator __i = __first + 1;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  if ((__urange % 2) == 0)
1417:  {
1417:    __distr_type __d{0, 1};
1417:    std::iter_swap(__i++, __first + __d(__g));
1417:  }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  while (__i != __last)
1417:  {
1417:    const __uc_type __swap_range = __uc_type(__i - __first) + 1;
1417: 
1417:    const pair<__uc_type, __uc_type> __pospos =
1417:      __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g);
1417: 
1417:    std::iter_swap(__i++, __first + __pospos.first);
1417:    std::iter_swap(__i++, __first + __pospos.second);
1417:  }
1417: 
1417:  return;
1417:       }
1417: 
1417:       __distr_type __d;
1417: 
1417:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1417:  std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first)));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 3778 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Function>
1417:    
1417:     _Function
1417:     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
1417:     {
1417: 
1417:      
1417:       ;
1417:       for (; __first != __last; ++__first)
1417:  __f(*__first);
1417:       return __f;
1417:     }
1417: # 3804 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Size, typename _Function>
1417:    
1417:     _InputIterator
1417:     for_each_n(_InputIterator __first, _Size __n, _Function __f)
1417:     {
1417:       auto __n2 = std::__size_to_integer(__n);
1417:       using _Cat = typename iterator_traits<_InputIterator>::iterator_category;
1417:       if constexpr (is_base_of_v<random_access_iterator_tag, _Cat>)
1417:  {
1417:    if (__n2 <= 0)
1417:      return __first;
1417:    auto __last = __first + __n2;
1417:    std::for_each(__first, __last, std::move(__f));
1417:    return __last;
1417:  }
1417:       else
1417:  {
1417:    while (__n2-->0)
1417:      {
1417:        __f(*__first);
1417:        ++__first;
1417:      }
1417:    return __first;
1417:  }
1417:     }
1417: # 3840 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _In_Args&&... __args)
609:  {
609:    try
609:      {
609:        ::new(__node) _Rb_tree_node<_Val>;
609:        _Alloc_traits::construct(_M_get_Node_allocator(),
609:            __node->_M_valptr(),
609:            std::forward<_Args>(__args)...);
609:      }
609:    catch(...)
609:      {
609:        __node->~_Rb_tree_node<_Val>();
609:        _M_put_node(__node);
609:        throw;
609:      }
609:  }
609: 
609:       template<typename... _Args>
609:  _Link_type
609:  _M_create_node(_Args&&... __args)
609:  {
609:    _Link_type __tmp = _M_get_node();
609:    _M_construct_node(__tmp, std::forward<_Args>(__args)...);
609:    return __tmp;
609:  }
609: 
609: 
609:       void
609:       _M_destroy_node(_Link_type __p) noexcept
609:       {
609: 
609: 
609: 
609:  _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr());
609:  __p->~_Rb_tree_node<_Val>();
609: 
609:       }
609: 
609:       void
609:       _M_drop_node(_Link_type __p) noexcept
609:       {
609:  _M_destroy_node(__p);
609:  _M_put_node(__p);
609:       }
609: 
609:       template<bool _MoveValue, typename _NodeGen>
609:  _Link_type
609:  _M_clone_node(_Link_type __x, _NodeGen& __node_gen)
609:  {
609: 
609:    using _Vp = __conditional_t<_MoveValue,
609:           value_type&&,
609:           const value_type&>;
609: 
609:    _Link_type __tmp
609:      = __node_gen(std::forward<_Vp>(*__x->_M_valptr()));
609:    __tmp->_M_color = __x->_M_color;
609:    __tmp->_M_left = 0;
609:    __tmp->_M_right = 0;
609:    return __tmp;
609:  }
609: 
609:     protected:
609: 
609: 
609: 
609: 
609:       template<typename _Key_compare,
609:         bool = __is_pod(_Key_compare)>
609: 
609:  struct _Rb_tree_impl
609:  : public _Node_allocator
609:  , public _Rb_tree_key_compare<_Key_compare>
609:  , public _Rb_tree_header
609:  {
609:    typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare;
609: 
609:    _Rb_tree_impl()
609:      noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value)
609: 
609: 
609:    : _Node_allocator()
609:    { }
609: 
609:    _Rb_tree_impl(const _Rb_tree_impl& __x)
609:    : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x))
609:    , _Base_key_compare(__x._M_key_compare)
609:    , _Rb_tree_header()
609:    { }
609: 
609: 
609: 
609: 
609: 
609: 
609:    _Rb_tree_impl(_Rb_tree_impl&&)
609:      noexcept( is_nothrow_move_constructible<_Base_key_compare>::value )
609:    = default;
609: 
609:    explicit
609:    _Rb_tree_impl(_Node_allocator&& __a)
609:    : _Node_allocator(std::move(__a))
609:    { }
609: 
609:    _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a)
609:    : _Node_allocator(std::move(__a)),
609:      _Base_key_compare(std::move(__x)),
609:      _Rb_tree_header(std::move(__x))
609:    { }
609: 
609:    _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)
609:    : _Node_allocator(std::move(__a)), _Base_key_compare(__comp)
609:    { }
609: 
609:  };
609: 
609:       _Rb_tree_impl<_Compare> _M_impl;
609: 
609:     protected:
609:       _Base_ptr&
609:       _M_root() noexcept
609:       { return this->_M_impl._M_header._M_parent; }
609: 
609:       _Const_Base_ptr
609:       _M_root() const noexcept
609:       { return this->_M_impl._M_header._M_parent; }
609: 
609:       _Base_ptr&
609:       _M_leftmost() noexcept
609:       { return this->_M_impl._M_header._M_left; }
609: 
609:       _Const_Base_ptr
609:       _M_leftmost() const noexcept
609:       { return this->_M_impl._M_header._M_left; }
609: 
609:       _Base_ptr&
609:       _M_rightmost() noexcept
609:       { return this->_M_impl._M_header._M_right; }
609: 
609:       _Const_Base_ptr
609:       _M_rightmost() const noexcept
609:       { return this->_M_impl._M_header._M_right; }
609: 
609:       _Link_type
609:       _M_mbegin() const noexcept
609:       { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
609: 
609:       _Link_type
609:       _M_begin() noexcept
609:       { return _M_mbegin(); }
609: 
609:       _Const_Link_type
609:       _M_begin(12:       inline
1412:       pair<_T1, _T2>::
1412:       pair(piecewise_construct_t,
1412:     tuple<_Args1...> __first, tuple<_Args2...> __second)
1412:       : pair(__first, __second,
1412:       typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
1412:       typename _Build_index_tuple<sizeof...(_Args2)>::__type())
1412:       { }
1412: 
1412:   template<class _T1, class _T2>
1412:     template<typename... _Args1, size_t... _Indexes1,
1412:       typename... _Args2, size_t... _Indexes2>
1412:       inline
1412:       pair<_T1, _T2>::
1412:       pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
1412:     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
1412:       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
1412:  second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<template<typename...> class _Trait, typename _Tp, typename _Tuple>
1412:     inline constexpr bool __unpack_std_tuple = false;
1412: 
1412:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1412:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>>
1412:       = _Trait<_Tp, _Up...>::value;
1412: 
1412:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1412:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&>
1412:       = _Trait<_Tp, _Up&...>::value;
1412: 
1412:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1412:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>>
1412:       = _Trait<_Tp, const _Up...>::value;
1412: 
1412:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1412:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&>
1412:       = _Trait<_Tp, const _Up&...>::value;
1412: 
1412: 
1412: 
1412:   template <typename _Fn, typename _Tuple, size_t... _Idx>
1412:     constexpr decltype(auto)
1412:     __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>)
1412:     {
1412:       return std::__invoke(std::forward<_Fn>(__f),
1412:       std::get<_Idx>(std::forward<_Tuple>(__t))...);
1412:     }
1412: 
1412:   template <typename _Fn, typename _Tuple>
1412:     constexpr decltype(auto)
1412:     apply(_Fn&& __f, _Tuple&& __t)
1412:     noexcept(__unpack_std_tuple<is_nothrow_invocable, _Fn, _Tuple>)
1412:     {
1412:       using _Indices
1412:  = make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>;
1412:       return std::__apply_impl(std::forward<_Fn>(__f),
1412:           std::forward<_Tuple>(__t),
1412:           _Indices{});
1412:     }
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename _Tuple, size_t... _Idx>
1412:     constexpr _Tp
1412:     __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>)
1412:     { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); }
1412: 
1412:   template <typename _Tp, typename _Tuple>
1412:     constexpr _Tp
1412:     make_from_tuple(_Tuple&& __t)
1412:     noexcept(__unpack_std_tuple<is_nothrow_constructible, _Tp, _Tuple>)
1412:     {
1412:       return __make_from_tuple_impl<_Tp>(
1412:         std::forward<_Tuple>(__t),
1412:  make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>{});
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 64 "/usr/include/c++/12/bits/stl_map.h" 2 3
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     class multimap;
1412: # 98 "/usr/include/c++/12/bits/stl_map.h" 3
1412:   template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
1412:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1412:     class map
1412:     {
1412:     public:
1412:       typedef _Key key_type;
1412:       typedef _Tp mapped_type;
1412:       typedef std::pair<const _Key, _Tp> value_type;
1412:       typedef _Compare key_comparputIterator, typename _Tp>
1417:    
1417:     inline _InputIterator
1417:     find(_InputIterator __first, _InputIterator __last,
1417:   const _Tp& __val)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       return std::__find_if(__first, __last,
1417:        __gnu_cxx::__ops::__iter_equals_val(__val));
1417:     }
1417: # 3865 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline _InputIterator
1417:     find_if(_InputIterator __first, _InputIterator __last,
1417:      _Predicate __pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__find_if(__first, __last,
1417:        __gnu_cxx::__ops::__pred_iter(__pred));
1417:     }
1417: # 3897 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _ForwardIterator>
1417:    
1417:     _InputIterator
1417:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1417:     _ForwardIterator __first2, _ForwardIterator __last2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       for (; __first1 != __last1; ++__first1)
1417:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1417:    if (*__first1 == *__iter)
1417:      return __first1;
1417:       return __last1;
1417:     }
1417: # 3938 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _ForwardIterator,
1417:     typename _BinaryPredicate>
1417:    
1417:     _InputIterator
1417:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1417:     _ForwardIterator __first2, _ForwardIterator __last2,
1417:     _BinaryPredicate __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       for (; __first1 != __last1; ++__first1)
1417:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1417:    if (__comp(*__first1, *__iter))
1417:      return __first1;
1417:       return __last1;
1417:     }
1417: # 3971 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:    
1417:     inline _ForwardIterator
1417:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__adjacent_find(__first, __last,
1417:       __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: # 3997 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _BinaryPredicate>
1417:    
1417:     inline _ForwardIterator
1417:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
1417:     _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       return std::__adjacent_find(__first, __last,
1417:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1417:     }
1417: # 4023 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Tp>
1417:    
1417:     inline typename iterator_traits<_InputIterator>::difference_type
1417:     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__count_if(__first, __last,
1417:         __gnu_cxx::__ops::__iter_equals_val(__value));
1417:     }
1417: # 4047 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _Predicate>
1417:    
1417:     inline typename iterator_traits<_InputIterator>::difference_type
1417:     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__count_if(__first, __last,
1417:         __gnu_cxx::__ops::__pred_iter(__pred));
1417:     }
1417: # 4088 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1417:    
1417:     inline _ForwardIterator1
1417:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__search(__first1, __last1, __first2, __last2,
1417:       __gnu_cxx::__ops::__iter_equal_to_iter());
1417:     }
1417: # 4128 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline _ForwardIterator1
1417:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1417:     _BinaryPredicate __predicate)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__search(__first1, __last1, __first2, __last2,
1417:       __gnu_cxx::__ops::__iter_comp_iter(__predicate));
1417:     }
1417: # 4164 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Integer, typename _Tp>
1417:    
1417:     inline _ForwardIterator
1417:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1417:       _Integer __count, const _Tp& __val)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__search_n(__first, __last, __count,
1417:         __gnu_cxx::__ops::__iter_equals_val(__val));
1417:     }
1417: # 4198 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Integer, typename _Tp,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline _ForwardIterator
1417:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1417:       _Integer __count, const _Tp& __val,
1417:       _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__search_n(__first, __last, __count,
1417:   __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val));
1417:     }
1417: # 4224 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Searcher>
1417:    
1417:     inline _ForwardIterator
1417:     search(_ForwardIterator __first, _ForwardIterator __last,
1417:     const _Searcher& __searcher)
1417:     { return __searcher(__first, __last).first; }
1417: # 4248 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _UnaryOperation>
1417:    
1417:     _OutputIterator
1417:     transform(_InputIterator __first, _InputIterator __last,
1417:        _OutputIterator __result, _UnaryOperation __unary_op)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       for (; __first != __last; ++__first, (void)++__result)
1417:  *__result = __unary_op(*__first);
1417:       return __result;
1417:     }
1417: # 4286 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _BinaryOperation>
1417:    
1417:     _OutputIterator
1417:     transform(_InputIterator1 __first1, _InputIterator1 __last1,
1417:        _InputIterator2 __first2, _OutputIterator __result,
1417:        _BinaryOperation __binary_op)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417: 
1417:       for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result)
1417:  *__result = __binary_op(*__first1, *__first2);
1417:       return __result;
1417:     }
1417: # 4320 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     void
1417:     replace(_ForwardIterator __first, _ForwardIterator __last,
1417:      const _Tp& __old_value, const _Tp& __new_value)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       for (; __first != __last; ++__first)
1417:) const noexcept
609:       {
609:  return static_cast<_Const_Link_type>
609:    (this->_M_impl._M_header._M_parent);
609:       }
609: 
609:       _Base_ptr
609:       _M_end() noexcept
609:       { return &this->_M_impl._M_header; }
609: 
609:       _Const_Base_ptr
609:       _M_end() const noexcept
609:       { return &this->_M_impl._M_header; }
609: 
609:       static const _Key&
609:       _S_key(_Const_Link_type __x)
609:       {
609: 
609: 
609: 
609:  static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
609:         "comparison object must be invocable "
609:         "with two arguments of key type");
609: 
609: 
609: 
609:  if constexpr (__is_invocable<_Compare&, const _Key&, const _Key&>{})
609:    static_assert(
609:        is_invocable_v<const _Compare&, const _Key&, const _Key&>,
609:        "comparison object must be invocable as const");
609: 
609: 
609: 
609:  return _KeyOfValue()(*__x->_M_valptr());
609:       }
609: 
609:       static _Link_type
609:       _S_left(_Base_ptr __x) noexcept
609:       { return static_cast<_Link_type>(__x->_M_left); }
609: 
609:       static _Const_Link_type
609:       _S_left(_Const_Base_ptr __x) noexcept
609:       { return static_cast<_Const_Link_type>(__x->_M_left); }
609: 
609:       static _Link_type
609:       _S_right(_Base_ptr __x) noexcept
609:       { return static_cast<_Link_type>(__x->_M_right); }
609: 
609:       static _Const_Link_type
609:       _S_right(_Const_Base_ptr __x) noexcept
609:       { return static_cast<_Const_Link_type>(__x->_M_right); }
609: 
609:       static const _Key&
609:       _S_key(_Const_Base_ptr __x)
609:       { return _S_key(static_cast<_Const_Link_type>(__x)); }
609: 
609:       static _Base_ptr
609:       _S_minimum(_Base_ptr __x) noexcept
609:       { return _Rb_tree_node_base::_S_minimum(__x); }
609: 
609:       static _Const_Base_ptr
609:       _S_minimum(_Const_Base_ptr __x) noexcept
609:       { return _Rb_tree_node_base::_S_minimum(__x); }
609: 
609:       static _Base_ptr
609:       _S_maximum(_Base_ptr __x) noexcept
609:       { return _Rb_tree_node_base::_S_maximum(__x); }
609: 
609:       static _Const_Base_ptr
609:       _S_maximum(_Const_Base_ptr __x) noexcept
609:       { return _Rb_tree_node_base::_S_maximum(__x); }
609: 
609:     public:
609:       typedef _Rb_tree_iterator<value_type> iterator;
609:       typedef _Rb_tree_const_iterator<value_type> const_iterator;
609: 
609:       typedef std::reverse_iterator<iterator> reverse_iterator;
609:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
609: 
609: 
609:       using node_type = _Node_handle<_Key, _Val, _Node_allocator>;
609:       using insert_return_type = _Node_insert_return<
609:  __conditional_t<is_same_v<_Key, _Val>, const_iterator, iterator>,
609:  node_type>;
609: 
609: 
609:       pair<_Base_ptr, _Base_ptr>
609:       _M_get_insert_unique_pos(const key_type& __k);
609: 
609:       pair<_Base_ptr, _Base_ptr>
609:       _M_get_insert_equal_pos(const key_type& __k);
609: 
609:       pair<_Base_ptr, _Base_ptr>
609:       _M_get_insert_hint_unique_pos(const_iterator __pos,
609:         const key_type& __k);
609: 
609:       pair<_Base_ptr, _Base_ptr>
609:       _M_get_insert_hint_equal_pos(const_iterator __pos,
609:        const key_type& __k);
609: 
609:     private:
609: 
609:       template<typename _Arg, typename _NodeGen>
609:  iterator
609:  _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
609: 
609:       iterator
609:       _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z);
609: 
609:       template<typename _Arg>
609:  iterator
609:  _M_insert_lower(_Base_ptr __y, _Arg&& __v);
609: 
609:       template<typename _Arg>
609:  iterator
609:  _M_insert_equal_lower(_Arg&& __x);
609: 
609:       iterator
609:       _M_insert_lower_node(_Base_ptr __p, _Link_type __z);
609: 
609:       iterator
609:       _M_insert_equal_lower_node(_Link_type __z);
609: # 879 "/usr/include/c++/12/bits/stl_tree.h" 3
609:       enum { __as_lvalue, __as_rvalue };
609: 
609:       template<bool _MoveValues, type;
1412:       typedef _Alloc allocator_type;
1412: 
1412:     private:
1412: # 123 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1412:    "std::map must have the same value_type as its allocator");
1412: 
1412: 
1412: 
1412:     public:
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:       class value_compare
1412:       : public std::binary_function<value_type, value_type, bool>
1412:       {
1412:  friend class map<_Key, _Tp, _Compare, _Alloc>;
1412:       protected:
1412:  _Compare comp;
1412: 
1412:  value_compare(_Compare __c)
1412:  : comp(__c) { }
1412: 
1412:       public:
1412:  bool operator()(const value_type& __x, const value_type& __y) const
1412:  { return comp(__x.first, __y.first); }
1412:       };
1412: #pragma GCC diagnostic pop
1412: 
1412:     private:
1412: 
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<value_type>::other _Pair_alloc_type;
1412: 
1412:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1412:          key_compare, _Pair_alloc_type> _Rep_type;
1412: 
1412: 
1412:       _Rep_type _M_t;
1412: 
1412:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
1412: 
1412: 
1412:       template<typename _Up, typename _Vp = remove_reference_t<_Up>>
1412:  static constexpr bool __usable_key
1412:    = __or_v<is_same<const _Vp, const _Key>,
1412:      __and_<is_scalar<_Vp>, is_scalar<_Key>>>;
1412: 
1412: 
1412:     public:
1412: 
1412: 
1412:       typedef typename _Alloc_traits::pointer pointer;
1412:       typedef typename _Alloc_traits::const_pointer const_pointer;
1412:       typedef typename _Alloc_traits::reference reference;
1412:       typedef typename _Alloc_traits::const_reference const_reference;
1412:       typedef typename _Rep_type::iterator iterator;
1412:       typedef typename _Rep_type::const_iterator const_iterator;
1412:       typedef typename _Rep_type::size_type size_type;
1412:       typedef typename _Rep_type::difference_type difference_type;
1412:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1412:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1412: 
1412: 
1412:       using node_type = typename _Rep_type::node_type;
1412:       using insert_return_type = typename _Rep_type::insert_return_type;
1412: # 195 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       map() = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       map(const _Compare& __comp,
1412:    const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1412: # 217 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       map(const map&) = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       map(map&&) = default;
1412: # 238 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       map(initializer_list<value_type> __l,
1412:    const _Compare& __comp = _Compare(),
1412:    const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Pair_alloc_type(__a))
1412:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       explicit
1412:       map(const allocator_type& __a)
1412:       : _M_t(_Pair_alloc_type(__a)) { }
1412: 
1412: 
1412:       map(const map& __m, const __type_identity_t<allocator_type>& __a)
1412:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1412: 
1412: 
1412:       map(map&& __m, const __type_identity_t<allocator_type>& __a)
1412:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1412:         && _Alloc_traits::_S_always_equal())
1412:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1412: 
1412: 
1412:       map(initializer_list<value_type> __l, const allocator_type& __a)
1412:       : _M_t(_Pair_alloc_type(__a))
1412:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412:  map(_InputIterator __first, _InputIter  if (*__first == __old_value)
1417:    *__first = __new_value;
1417:     }
1417: # 4353 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
1417:    
1417:     void
1417:     replace_if(_ForwardIterator __first, _ForwardIterator __last,
1417:         _Predicate __pred, const _Tp& __new_value)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       for (; __first != __last; ++__first)
1417:  if (__pred(*__first))
1417:    *__first = __new_value;
1417:     }
1417: # 4386 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Generator>
1417:    
1417:     void
1417:     generate(_ForwardIterator __first, _ForwardIterator __last,
1417:       _Generator __gen)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       for (; __first != __last; ++__first)
1417:  *__first = __gen();
1417:     }
1417: # 4420 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _OutputIterator, typename _Size, typename _Generator>
1417:    
1417:     _OutputIterator
1417:     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
1417:     {
1417: 
1417:      
1417: 
1417: 
1417: 
1417:       typedef __decltype(std::__size_to_integer(__n)) _IntSize;
1417:       for (_IntSize __niter = std::__size_to_integer(__n);
1417:     __niter > 0; --__niter, (void) ++__first)
1417:  *__first = __gen();
1417:       return __first;
1417:     }
1417: # 4458 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     unique_copy(_InputIterator __first, _InputIterator __last,
1417:   _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       if (__first == __last)
1417:  return __result;
1417:       return std::__unique_copy(__first, __last, __result,
1417:     __gnu_cxx::__ops::__iter_equal_to_iter(),
1417:     std::__iterator_category(__first),
1417:     std::__iterator_category(__result));
1417:     }
1417: # 4499 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator, typename _OutputIterator,
1417:     typename _BinaryPredicate>
1417:    
1417:     inline _OutputIterator
1417:     unique_copy(_InputIterator __first, _InputIterator __last,
1417:   _OutputIterator __result,
1417:   _BinaryPredicate __binary_pred)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417: 
1417:       if (__first == __last)
1417:  return __result;
1417:       return std::__unique_copy(__first, __last, __result,
1417:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred),
1417:     std::__iterator_category(__first),
1417:     std::__iterator_category(__result));
1417:     }
1417: # 4538 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator>
1417:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1417:     inline void
1417:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       if (__first != __last)
1417:  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1417:    {
1417: 
1417:      _RandomAccessIterator __j = __first
1417:      + std::rand() % ((__i - __first) + 1);
1417:      if (__i != __j)
1417:        std::iter_swap(__i, __j);
1417:    }
1417:     }
1417: # 4578 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
1417:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1417:     void
1417:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417: 
1417:      _RandomNumberGenerator&& __rand)
1417: 
1417: 
1417: 
1417:     {
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       if (__first == __last)
1417:  return;
1417:       for (_RandomAccessIterator __i = __first + 1; __i ename _NodeGen>
609:  _Link_type
609:  _M_copy(_Link_type, _Base_ptr, _NodeGen&);
609: 
609:       template<bool _MoveValues, typename _NodeGen>
609:  _Link_type
609:  _M_copy(const _Rb_tree& __x, _NodeGen& __gen)
609:  {
609:    _Link_type __root =
609:      _M_copy<_MoveValues>(__x._M_mbegin(), _M_end(), __gen);
609:    _M_leftmost() = _S_minimum(__root);
609:    _M_rightmost() = _S_maximum(__root);
609:    _M_impl._M_node_count = __x._M_impl._M_node_count;
609:    return __root;
609:  }
609: 
609:       _Link_type
609:       _M_copy(const _Rb_tree& __x)
609:       {
609:  _Alloc_node __an(*this);
609:  return _M_copy<__as_lvalue>(__x, __an);
609:       }
609: 
609:       void
609:       _M_erase(_Link_type __x);
609: 
609:       iterator
609:       _M_lower_bound(_Link_type __x, _Base_ptr __y,
609:        const _Key& __k);
609: 
609:       const_iterator
609:       _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
609:        const _Key& __k) const;
609: 
609:       iterator
609:       _M_upper_bound(_Link_type __x, _Base_ptr __y,
609:        const _Key& __k);
609: 
609:       const_iterator
609:       _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
609:        const _Key& __k) const;
609: 
609:     public:
609: 
609: 
609: 
609: 
609:       _Rb_tree() = default;
609: 
609: 
609:       _Rb_tree(const _Compare& __comp,
609:         const allocator_type& __a = allocator_type())
609:       : _M_impl(__comp, _Node_allocator(__a)) { }
609: 
609:       _Rb_tree(const _Rb_tree& __x)
609:       : _M_impl(__x._M_impl)
609:       {
609:  if (__x._M_root() != 0)
609:    _M_root() = _M_copy(__x);
609:       }
609: 
609: 
609:       _Rb_tree(const allocator_type& __a)
609:       : _M_impl(_Node_allocator(__a))
609:       { }
609: 
609:       _Rb_tree(const _Rb_tree& __x, const allocator_type& __a)
609:       : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a))
609:       {
609:  if (__x._M_root() != nullptr)
609:    _M_root() = _M_copy(__x);
609:       }
609: 
609:       _Rb_tree(_Rb_tree&&) = default;
609: 
609:       _Rb_tree(_Rb_tree&& __x, const allocator_type& __a)
609:       : _Rb_tree(std::move(__x), _Node_allocator(__a))
609:       { }
609: 
609:     private:
609:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type)
609:       noexcept(is_nothrow_default_constructible<_Compare>::value)
609:       : _M_impl(std::move(__x._M_impl), std::move(__a))
609:       { }
609: 
609:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type)
609:       : _M_impl(__x._M_impl._M_key_compare, std::move(__a))
609:       {
609:  if (__x._M_root() != nullptr)
609:    _M_move_data(__x, false_type{});
609:       }
609: 
609:     public:
609:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)
609:       noexcept( noexcept(
609:  _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(),
609:    std::declval<typename _Alloc_traits::is_always_equal>())) )
609:       : _Rb_tree(std::move(__x), std::move(__a),
609:    typename _Alloc_traits::is_always_equal{})
609:       { }
609: 
609: 
609:       ~_Rb_tree() noexcept
609:       { _M_erase(_M_begin()); }
609: 
609:       _Rb_tree&
609:       operator=(const _Rb_tree& __x);
609: 
609: 
609:       _Compare
609:       key_comp() const
609:       { return _M_impl._M_key_compare; }
609: 
609:       iterator
609:       begin() noexcept
609:       { return iterator(this->_M_impl._M_header._M_left); }
609: 
609:       const_iterator
609:       begin() const noexcept
609:       { return const_iterator(this->_M_impl._M_header._M_left); }
609: 
609:       iterator
609:       end() noexcept
609:       { return iterator(&this->_M_impl._M_header); }
609: 
609:       const_iterator
609:       end() const noexcept
609:       { return const_iterator(&this->_M_impl._M_header); }
609: 
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return reverse_iterator(end()); }
609: 
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609:       reverse_iterator
609:       != __last; ++__i)
1417:  {
1417:    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
1417:    if (__i != __j)
1417:      std::iter_swap(__i, __j);
1417:  }
1417:     }
1417: # 4619 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Predicate>
1417:    
1417:     inline _ForwardIterator
1417:     partition(_ForwardIterator __first, _ForwardIterator __last,
1417:        _Predicate __pred)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417: 
1417:       return std::__partition(__first, __last, __pred,
1417:          std::__iterator_category(__first));
1417:     }
1417: # 4653 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline void
1417:     partial_sort(_RandomAccessIterator __first,
1417:    _RandomAccessIterator __middle,
1417:    _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       std::__partial_sort(__first, __middle, __last,
1417:      __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 4692 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     partial_sort(_RandomAccessIterator __first,
1417:    _RandomAccessIterator __middle,
1417:    _RandomAccessIterator __last,
1417:    _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       std::__partial_sort(__first, __middle, __last,
1417:      __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: # 4729 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline void
1417:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1417:   _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       if (__first == __last || __nth == __last)
1417:  return;
1417: 
1417:       std::__introselect(__first, __nth, __last,
1417:     std::__lg(__last - __first) * 2,
1417:     __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 4769 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1417:   _RandomAccessIterator __last, _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       if (__first == __last || __nth == __last)
1417:  return;
1417: 
1417:       std::__introselect(__first, __nth, __last,
1417:     std::__lg(__last - __first) * 2,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: # 4807 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator>
1417:    
1417:     inline void
1417:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 4838 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:    
1417:     inline void
1417:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:   _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _Compare>
1417:    
1417:     _OutputIterator
1417:     __merge(_InputIterator1 __first1, _InputIterator1 __last1,
1417:      _InputIterator2 __first2, _InputIterator2 __last2,
1417:      _OutputIterator __result, _Compare __comp)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2)
1417:  {
1417:    if (__comp(__first2, __first1))
1417:      {
1417:        *__result = *__first2;
1417:        ++__first2;
1417:      }
1417:    else
1417:      {
1417:        *__result = *__first1;
1417:        ++__first1;
1417:      }
1417:    ++__result;
1417:  }
1417:       return std::copy(__first2, __last2,
1417:          std::copy(__first1, __last1, __result));
1417:     }
1417: # 4901 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1417:    _InputIterator2 __first2, _InputIterator2 __last2,
1417:    _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__merge(__first1, __last1,
1417:          __first2, __last2, __result,
1417:          __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 4952 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _Compare>
1417:    
1417:     inline _OutputIterator
1417:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1417:    _InputIterator2 __first2, _InputIterator2 __last2,
1417:    _OutputIterator __result, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__merge(__first1, __last1,
1417:     __first2, __last2, __result,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:     inline void
1417:     __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:     _Compare __comp)
1417:     {
1417:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1417:  _ValueType;
1417:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1417:  _DistanceType;
1417:       typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf;
1417: 
1417:       if (__first == __last)
1417:  return;
1417: 
1417: 
1417: 
1417:       _TmpBuf __buf(__first, (__last - __first + 1) / 2);
1417: 
1417:       if (__buf.begin() == 0)
1417:  std::__inplace_stable_sort(__first, __last, __comp);
1417:       else
1417:  std::__stable_sort_adaptive(__first, __last, __buf.begin(),
1417:         _DistanceType(__buf.size()), __comp);
1417:     }
1417: # 5022 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator>
1417:     inline void
1417:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       std::__stable_sort(__first, __last,
1417:         __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 5056 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _RandomAccessIterator, typename _Compare>
1417:     inline void
1417:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1417:   _Compare __comp)
1417:     {
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       std::__stable_sort(__first, __last,
1417:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator,
1417:     typename _Compare>
1417:    
1417:     _OutputIterator
1417:     __set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1417:   _InputIterator2 __first2, _InputIterator2 __last2,
1417:   _OutputIterator __result, _Compare __comp)
1417:     {
1417:       while (__ator __last,
1412:      const allocator_type& __a)
1412:  : _M_t(_Pair_alloc_type(__a))
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: # 282 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template<typename _InputIterator>
1412:  map(_InputIterator __first, _InputIterator __last)
1412:  : _M_t()
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: # 299 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template<typename _InputIterator>
1412:  map(_InputIterator __first, _InputIterator __last,
1412:      const _Compare& __comp,
1412:      const allocator_type& __a = allocator_type())
1412:  : _M_t(__comp, _Pair_alloc_type(__a))
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~map() = default;
1412: # 328 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       map&
1412:       operator=(const map&) = default;
1412: 
1412: 
1412:       map&
1412:       operator=(map&&) = default;
1412: # 346 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       map&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  _M_t._M_assign_unique(__l.begin(), __l.end());
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_t.get_allocator()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       begin() noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       end() noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       end() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       crend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return _M_t.empty(); }
1412: 
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_t.size(); }
1412: 
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _M_t.max_size(); }
1412: # 501 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       mapped_type&
1412:       operator[](const key_type& __k)
1412:       {
1412: 
1412: 
1412: 
1412:  iterator __i = lower_bound(__k);
1412: 
1412:  if (__i == end() || key_comp()(__k, (*__i).first))
1412: 
1412:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1412:          std::tuple<const key_type&>(__k),
1412:          std::tuple<>());
1412: 
1412: 
1412: 
1412:  return (*__i).second;
1412:       }
1412: 
1412: 
1412:       mapped_type&
1412:       operator[](key_type&& __k)
1412:       {
1412: 
1412: 
1412: 
1412:  iterator __i = lower_bound(__k);
1412: 
1412:  if (__i == efirst1 != __last1 && __first2 != __last2)
1417:  {
1417:    if (__comp(__first1, __first2))
1417:      {
1417:        *__result = *__first1;
1417:        ++__first1;
1417:      }
1417:    else if (__comp(__first2, __first1))
1417:      {
1417:        *__result = *__first2;
1417:        ++__first2;
1417:      }
1417:    else
1417:      {
1417:        *__result = *__first1;
1417:        ++__first1;
1417:        ++__first2;
1417:      }
1417:    ++__result;
1417:  }
1417:       return std::copy(__first2, __last2,
1417:          std::copy(__first1, __last1, __result));
1417:     }
1417: # 5126 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1417:        _InputIterator2 __first2, _InputIterator2 __last2,
1417:        _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__set_union(__first1, __last1,
1417:     __first2, __last2, __result,
1417:     __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 5177 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _Compare>
1417:    
1417:     inline _OutputIterator
1417:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1417:        _InputIterator2 __first2, _InputIterator2 __last2,
1417:        _OutputIterator __result, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__set_union(__first1, __last1,
1417:     __first2, __last2, __result,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator,
1417:     typename _Compare>
1417:    
1417:     _OutputIterator
1417:     __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1417:          _InputIterator2 __first2, _InputIterator2 __last2,
1417:          _OutputIterator __result, _Compare __comp)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2)
1417:  if (__comp(__first1, __first2))
1417:    ++__first1;
1417:  else if (__comp(__first2, __first1))
1417:    ++__first2;
1417:  else
1417:    {
1417:      *__result = *__first1;
1417:      ++__first1;
1417:      ++__first2;
1417:      ++__result;
1417:    }
1417:       return __result;
1417:     }
1417: # 5250 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1417:        _InputIterator2 __first2, _InputIterator2 __last2,
1417:        _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__set_intersection(__first1, __last1,
1417:          __first2, __last2, __result,
1417:          __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 5300 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _Compare>
1417:    
1417:     inline _OutputIterator
1417:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1417:        _InputIterator2 __first2, _InputIterator2 __last2,
1417:        _OutputIterator __result, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
141rend() noexcept
609:       { return reverse_iterator(begin()); }
609: 
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return _M_impl._M_node_count == 0; }
609: 
609:       size_type
609:       size() const noexcept
609:       { return _M_impl._M_node_count; }
609: 
609:       size_type
609:       max_size() const noexcept
609:       { return _Alloc_traits::max_size(_M_get_Node_allocator()); }
609: 
609:       void
609:       swap(_Rb_tree& __t)
609:       noexcept(__is_nothrow_swappable<_Compare>::value);
609: 
609: 
609: 
609:       template<typename _Arg>
609:  pair<iterator, bool>
609:  _M_insert_unique(_Arg&& __x);
609: 
609:       template<typename _Arg>
609:  iterator
609:  _M_insert_equal(_Arg&& __x);
609: 
609:       template<typename _Arg, typename _NodeGen>
609:  iterator
609:  _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
609: 
609:       template<typename _Arg>
609:  iterator
609:  _M_insert_unique_(const_iterator __pos, _Arg&& __x)
609:  {
609:    _Alloc_node __an(*this);
609:    return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
609:  }
609: 
609:       template<typename _Arg, typename _NodeGen>
609:  iterator
609:  _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&);
609: 
609:       template<typename _Arg>
609:  iterator
609:  _M_insert_equal_(const_iterator __pos, _Arg&& __x)
609:  {
609:    _Alloc_node __an(*this);
609:    return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an);
609:  }
609: 
609:       template<typename... _Args>
609:  pair<iterator, bool>
609:  _M_emplace_unique(_Args&&... __args);
609: 
609:       template<typename... _Args>
609:  iterator
609:  _M_emplace_equal(_Args&&... __args);
609: 
609:       template<typename... _Args>
609:  iterator
609:  _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args);
609: 
609:       template<typename... _Args>
609:  iterator
609:  _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args);
609: 
609:       template<typename _Iter>
609:  using __same_value_type
609:    = is_same<value_type, typename iterator_traits<_Iter>::value_type>;
609: 
609:       template<typename _InputIterator>
609:  __enable_if_t<__same_value_type<_InputIterator>::value>
609:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
609:  {
609:    _Alloc_node __an(*this);
609:    for (; __first != __last; ++__first)
609:      _M_insert_unique_(end(), *__first, __an);
609:  }
609: 
609:       template<typename _InputIterator>
609:  __enable_if_t<!__same_value_type<_InputIterator>::value>
609:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
609:  {
609:    for (; __first != __last; ++__first)
609:      _M_emplace_unique(*__first);
609:  }
609: 
609:       template<typename _InputIterator>
609:  __enable_if_t<__same_value_type<_InputIterator>::value>
609:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
609:  {
609:    _Alloc_node __an(*this);
609:    for (; __first != __last; ++__first)
609:      _M_insert_equal_(end(), *__first, __an);
609:  }
609: 
609:       template<typename _InputIterator>
609:  __enable_if_t<!__same_value_type<_InputIterator>::value>
609:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
609:  {
609:    _Alloc_node __an(*this);
609:    for (; __first != __last; ++__first)
609:      _M_emplace_equal(*__first);
609:  }
609: # 1179 "/usr/include/c++/12/bits/stl_tree.h" 3
609:     private:
609:       void
609:       _M_erase_aux(const_iterator __position);
609: 
609:       void
609:       _M_erase_aux(const_iterator __first, const_iterator __last);
609: 
609:     public:
609: 
609: 
609: 
609:       __attribute ((__abi_tag__ ("cxx11")))
609:       iterator
609:       erase(const_iterator __position)
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
609:  const_iterator __result = __7: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__set_intersection(__first1, __last1,
1417:     __first2, __last2, __result,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator,
1417:     typename _Compare>
1417:    
1417:     _OutputIterator
1417:     __set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1417:        _InputIterator2 __first2, _InputIterator2 __last2,
1417:        _OutputIterator __result, _Compare __comp)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2)
1417:  if (__comp(__first1, __first2))
1417:    {
1417:      *__result = *__first1;
1417:      ++__first1;
1417:      ++__result;
1417:    }
1417:  else if (__comp(__first2, __first1))
1417:    ++__first2;
1417:  else
1417:    {
1417:      ++__first1;
1417:      ++__first2;
1417:    }
1417:       return std::copy(__first1, __last1, __result);
1417:     }
1417: # 5375 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1417:      _InputIterator2 __first2, _InputIterator2 __last2,
1417:      _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__set_difference(__first1, __last1,
1417:        __first2, __last2, __result,
1417:        __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 5427 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _Compare>
1417:    
1417:     inline _OutputIterator
1417:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1417:      _InputIterator2 __first2, _InputIterator2 __last2,
1417:      _OutputIterator __result, _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__set_difference(__first1, __last1,
1417:        __first2, __last2, __result,
1417:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator,
1417:     typename _Compare>
1417:    
1417:     _OutputIterator
1417:     __set_symmetric_difference(_InputIterator1 __first1,
1417:           _InputIterator1 __last1,
1417:           _InputIterator2 __first2,
1417:           _InputIterator2 __last2,
1417:           _OutputIterator __result,
1417:           _Compare __comp)
1417:     {
1417:       while (__first1 != __last1 && __first2 != __last2)
1417:  if (__comp(__first1, __first2))
1417:    {
1417:      *__result = *__first1;
1417:      ++__first1;
1417:      ++__result;
1417:    }
1417:  else if (__comp(__first2, __first1))
1417:    {
1417:      *__result = *__first2;
1417:      ++__first2;
1417:      ++__result;
1417:    }
1417:  else
1417:    {
1417:      ++__first1;
1417:      ++__first2;
1417:    }
1417:       return std::copy(__first2, __last2,
1417:          std::copy(__first1, __last1, __result));
1417:     }
1417: # 5508 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator>
1417:    
1417:     inline _OutputIterator
1417:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1417:         _InputIterator2 __first2, _InputIterator2 __last2,
1417:         _OutputIterator __result)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:     nd() || key_comp()(__k, (*__i).first))
1412:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1412:      std::forward_as_tuple(std::move(__k)),
1412:      std::tuple<>());
1412:  return (*__i).second;
1412:       }
1412: # 546 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       mapped_type&
1412:       at(const key_type& __k)
1412:       {
1412:  iterator __i = lower_bound(__k);
1412:  if (__i == end() || key_comp()(__k, (*__i).first))
1412:    __throw_out_of_range(("map::at"));
1412:  return (*__i).second;
1412:       }
1412: 
1412:       const mapped_type&
1412:       at(const key_type& __k) const
1412:       {
1412:  const_iterator __i = lower_bound(__k);
1412:  if (__i == end() || key_comp()(__k, (*__i).first))
1412:    __throw_out_of_range(("map::at"));
1412:  return (*__i).second;
1412:       }
1412: # 584 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template<typename... _Args>
1412:  std::pair<iterator, bool>
1412:  emplace(_Args&&... __args)
1412:  {
1412: 
1412:    if constexpr (sizeof...(_Args) == 2)
1412:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1412:        {
1412:   auto&& [__a, __v] = pair<_Args&...>(__args...);
1412:   if constexpr (__usable_key<decltype(__a)>)
1412:     {
1412:       const key_type& __k = __a;
1412:       iterator __i = lower_bound(__k);
1412:       if (__i == end() || key_comp()(__k, (*__i).first))
1412:         {
1412:    __i = emplace_hint(__i, std::forward<_Args>(__args)...);
1412:    return {__i, true};
1412:         }
1412:       return {__i, false};
1412:     }
1412:        }
1412: 
1412:    return _M_t._M_emplace_unique(std::forward<_Args>(__args)...);
1412:  }
1412: # 634 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace_hint(const_iterator __pos, _Args&&... __args)
1412:  {
1412:    return _M_t._M_emplace_hint_unique(__pos,
1412:           std::forward<_Args>(__args)...);
1412:  }
1412: 
1412: 
1412: 
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1412:  return _M_t.extract(__pos);
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const key_type& __x)
1412:       { return _M_t.extract(__x); }
1412: 
1412: 
1412:       insert_return_type
1412:       insert(node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1412: 
1412:       template<typename, typename>
1412:  friend struct std::_Rb_tree_merge_helper;
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1412:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1412:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: # 719 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template <typename... _Args>
1412:  pair<iterator, bool>
1412:  try_emplace(const key_type& __k, _Args&&... __args)
1412:  {
1412:    iterator __i = lower_bound(__k);
1412:    if (__i == end() || key_comp()(__k, (*__i).first))
1412:      {
1412:        __i = emplace_hint(__i, std::piecewise_construct,
1412:      std::forward_as_tuple(__k),
1412:      std::forward_as_tuple(
1412:        std::forward<_Args>(__args)...));
1412:          ;
1417: 
1417:       return std::__set_symmetric_difference(__first1, __last1,
1417:      __first2, __last2, __result,
1417:      __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 5560 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _OutputIterator, typename _Compare>
1417:    
1417:     inline _OutputIterator
1417:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1417:         _InputIterator2 __first2, _InputIterator2 __last2,
1417:         _OutputIterator __result,
1417:         _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417:      
1417: 
1417:      
1417: 
1417:      
1417: 
1417: 
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417:       ;
1417:       ;
1417: 
1417:       return std::__set_symmetric_difference(__first1, __last1,
1417:     __first2, __last2, __result,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Compare>
1417:     constexpr
1417:     _ForwardIterator
1417:     __min_element(_ForwardIterator __first, _ForwardIterator __last,
1417:     _Compare __comp)
1417:     {
1417:       if (__first == __last)
1417:  return __first;
1417:       _ForwardIterator __result = __first;
1417:       while (++__first != __last)
1417:  if (__comp(__first, __result))
1417:    __result = __first;
1417:       return __result;
1417:     }
1417: # 5614 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:     constexpr
1417:     _ForwardIterator
1417:     inline min_element(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__min_element(__first, __last,
1417:     __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 5639 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Compare>
1417:     constexpr
1417:     inline _ForwardIterator
1417:     min_element(_ForwardIterator __first, _ForwardIterator __last,
1417:   _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__min_element(__first, __last,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Compare>
1417:     constexpr
1417:     _ForwardIterator
1417:     __max_element(_ForwardIterator __first, _ForwardIterator __last,
1417:     _Compare __comp)
1417:     {
1417:       if (__first == __last) return __first;
1417:       _ForwardIterator __result = __first;
1417:       while (++__first != __last)
1417:  if (__comp(__result, __first))
1417:    __result = __first;
1417:       return __result;
1417:     }
1417: # 5678 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator>
1417:     constexpr
1417:     inline _ForwardIterator
1417:     max_element(_ForwardIterator __first, _ForwardIterator __last)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__max_element(__first, __last,
1417:     __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: # 5703 "/usr/include/c++/12/bits/stl_algo.h" 3
1417:   template<typename _ForwardIterator, typename _Compare>
1417:     constexpr
1417:     inline _ForwardIterator
1417:     max_element(_ForwardIterator __first, _ForwardIterator __last,
1417:   _Compare __comp)
1417:     {
1417: 
1417:      
1417:      
1417: 
1417: 
1417:       ;
1417:       ;
1417: 
1417:       return std::__max_element(__first, __last,
1417:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     inline _Tp
1417:     min(initializer_list<_Tp> __l)
1417:     {
1417:       ;
1417:       return *std::__min_element(__l.begin(), __l.end(),
1417:    __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: 
1417:   template<typename _Tp,position;
609:  ++__result;
609:  _M_erase_aux(__position);
609:  return __result._M_const_cast();
609:       }
609: 
609: 
609:       __attribute ((__abi_tag__ ("cxx11")))
609:       iterator
609:       erase(iterator __position)
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
609:  iterator __result = __position;
609:  ++__result;
609:  _M_erase_aux(__position);
609:  return __result;
609:       }
609: # 1228 "/usr/include/c++/12/bits/stl_tree.h" 3
609:       size_type
609:       erase(const key_type& __x);
609: 
609: 
609: 
609: 
609:       __attribute ((__abi_tag__ ("cxx11")))
609:       iterator
609:       erase(const_iterator __first, const_iterator __last)
609:       {
609:  _M_erase_aux(__first, __last);
609:  return __last._M_const_cast();
609:       }
609: # 1251 "/usr/include/c++/12/bits/stl_tree.h" 3
609:       void
609:       clear() noexcept
609:       {
609:  _M_erase(_M_begin());
609:  _M_impl._M_reset();
609:       }
609: 
609: 
609:       iterator
609:       find(const key_type& __k);
609: 
609:       const_iterator
609:       find(const key_type& __k) const;
609: 
609:       size_type
609:       count(const key_type& __k) const;
609: 
609:       iterator
609:       lower_bound(const key_type& __k)
609:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
609: 
609:       const_iterator
609:       lower_bound(const key_type& __k) const
609:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
609: 
609:       iterator
609:       upper_bound(const key_type& __k)
609:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
609: 
609:       const_iterator
609:       upper_bound(const key_type& __k) const
609:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
609: 
609:       pair<iterator, iterator>
609:       equal_range(const key_type& __k);
609: 
609:       pair<const_iterator, const_iterator>
609:       equal_range(const key_type& __k) const;
609: 
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  iterator
609:  _M_find_tr(const _Kt& __k)
609:  {
609:    const _Rb_tree* __const_this = this;
609:    return __const_this->_M_find_tr(__k)._M_const_cast();
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  const_iterator
609:  _M_find_tr(const _Kt& __k) const
609:  {
609:    auto __j = _M_lower_bound_tr(__k);
609:    if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node)))
609:      __j = end();
609:    return __j;
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  size_type
609:  _M_count_tr(const _Kt& __k) const
609:  {
609:    auto __p = _M_equal_range_tr(__k);
609:    return std::distance(__p.first, __p.second);
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  iterator
609:  _M_lower_bound_tr(const _Kt& __k)
609:  {
609:    const _Rb_tree* __const_this = this;
609:    return __const_this->_M_lower_bound_tr(__k)._M_const_cast();
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  const_iterator
609:  _M_lower_bound_tr(const _Kt& __k) const
609:  {
609:    auto __x = _M_begin();
609:    auto __y = _M_end();
609:    while (__x != 0)
609:      if (!_M_impl._M_key_compare(_S_key(__x), __k))
609:        {
609:   __y = __x;
609:   __x = _S_left(__x);
609:        }
609:      else
609:        __x = _S_right(__x);
609:    return const_iterator(__y);
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  iterator
609:  _M_upper_bound_tr(const _Kt& __k)
609:  {
609:    const _Rb_tree* __const_this = this;
609:    return __const_this->_M_upper_bound_tr(__k)._M_const_cast();
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Ktreturn {__i, true};
1412:      }
1412:    return {__i, false};
1412:  }
1412: 
1412: 
1412:       template <typename... _Args>
1412:  pair<iterator, bool>
1412:  try_emplace(key_type&& __k, _Args&&... __args)
1412:  {
1412:    iterator __i = lower_bound(__k);
1412:    if (__i == end() || key_comp()(__k, (*__i).first))
1412:      {
1412:        __i = emplace_hint(__i, std::piecewise_construct,
1412:      std::forward_as_tuple(std::move(__k)),
1412:      std::forward_as_tuple(
1412:        std::forward<_Args>(__args)...));
1412:        return {__i, true};
1412:      }
1412:    return {__i, false};
1412:  }
1412: # 779 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template <typename... _Args>
1412:  iterator
1412:  try_emplace(const_iterator __hint, const key_type& __k,
1412:       _Args&&... __args)
1412:  {
1412:    iterator __i;
1412:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1412:    if (__true_hint.second)
1412:      __i = emplace_hint(iterator(__true_hint.second),
1412:           std::piecewise_construct,
1412:           std::forward_as_tuple(__k),
1412:           std::forward_as_tuple(
1412:      std::forward<_Args>(__args)...));
1412:    else
1412:      __i = iterator(__true_hint.first);
1412:    return __i;
1412:  }
1412: 
1412: 
1412:       template <typename... _Args>
1412:  iterator
1412:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1412:  {
1412:    iterator __i;
1412:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1412:    if (__true_hint.second)
1412:      __i = emplace_hint(iterator(__true_hint.second),
1412:           std::piecewise_construct,
1412:           std::forward_as_tuple(std::move(__k)),
1412:           std::forward_as_tuple(
1412:      std::forward<_Args>(__args)...));
1412:    else
1412:      __i = iterator(__true_hint.first);
1412:    return __i;
1412:  }
1412: # 832 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       std::pair<iterator, bool>
1412:       insert(const value_type& __x)
1412:       { return _M_t._M_insert_unique(__x); }
1412: 
1412: 
1412: 
1412: 
1412:       std::pair<iterator, bool>
1412:       insert(value_type&& __x)
1412:       { return _M_t._M_insert_unique(std::move(__x)); }
1412: 
1412:       template<typename _Pair>
1412:  __enable_if_t<is_constructible<value_type, _Pair>::value,
1412:         pair<iterator, bool>>
1412:  insert(_Pair&& __x)
1412:  {
1412: 
1412:    using _P2 = remove_reference_t<_Pair>;
1412:    if constexpr (__is_pair<_P2>)
1412:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1412:        if constexpr (__usable_key<typename _P2::first_type>)
1412:   {
1412:     const key_type& __k = __x.first;
1412:     iterator __i = lower_bound(__k);
1412:     if (__i == end() || key_comp()(__k, (*__i).first))
1412:       {
1412:         __i = emplace_hint(__i, std::forward<_Pair>(__x));
1412:         return {__i, true};
1412:       }
1412:     return {__i, false};
1412:   }
1412: 
1412:    return _M_t._M_emplace_unique(std::forward<_Pair>(__x));
1412:  }
1412: # 877 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       void
1412:       insert(std::initializer_list<value_type> __list)
1412:       { insert(__list.begin(), __list.end()); }
1412: # 906 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       iterator
1412: 
1412:       insert(const_iterator __position, const value_type& __x)
1412: 
1412: 
1412: 
1412:       { return _M_t._M_insert_unique_(__position, __x); }
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __position, value_type&& __x)
1412:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1412: 
1412:       template<typename _Pair>
1412:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1412:  insert(const_iterator __position, _Pair&& __x)
1412:  {
1412:    return _M_t._M_emplace_hint_unique(__position,
1412:           std::forward<_Pair>(__x));
1412:  }
1412: # 939 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  insert(_InputItera typename _Compare>
1417:     constexpr
1417:     inline _Tp
1417:     min(initializer_list<_Tp> __l, _Compare __comp)
1417:     {
1417:       ;
1417:       return *std::__min_element(__l.begin(), __l.end(),
1417:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     inline _Tp
1417:     max(initializer_list<_Tp> __l)
1417:     {
1417:       ;
1417:       return *std::__max_element(__l.begin(), __l.end(),
1417:    __gnu_cxx::__ops::__iter_less_iter());
1417:     }
1417: 
1417:   template<typename _Tp, typename _Compare>
1417:     constexpr
1417:     inline _Tp
1417:     max(initializer_list<_Tp> __l, _Compare __comp)
1417:     {
1417:       ;
1417:       return *std::__max_element(__l.begin(), __l.end(),
1417:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _RandomAccessIterator,
1417:            typename _Size, typename _UniformRandomBitGenerator>
1417:     _RandomAccessIterator
1417:     __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag,
1417:       _RandomAccessIterator __out, random_access_iterator_tag,
1417:       _Size __n, _UniformRandomBitGenerator&& __g)
1417:     {
1417:       using __distrib_type = uniform_int_distribution<_Size>;
1417:       using __param_type = typename __distrib_type::param_type;
1417:       __distrib_type __d{};
1417:       _Size __sample_sz = 0;
1417:       while (__first != __last && __sample_sz != __n)
1417:  {
1417:    __out[__sample_sz++] = *__first;
1417:    ++__first;
1417:  }
1417:       for (auto __pop_sz = __sample_sz; __first != __last;
1417:    ++__first, (void) ++__pop_sz)
1417:  {
1417:    const auto __k = __d(__g, __param_type{0, __pop_sz});
1417:    if (__k < __n)
1417:      __out[__k] = *__first;
1417:  }
1417:       return __out + __sample_sz;
1417:     }
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _OutputIterator, typename _Cat,
1417:            typename _Size, typename _UniformRandomBitGenerator>
1417:     _OutputIterator
1417:     __sample(_ForwardIterator __first, _ForwardIterator __last,
1417:       forward_iterator_tag,
1417:       _OutputIterator __out, _Cat,
1417:       _Size __n, _UniformRandomBitGenerator&& __g)
1417:     {
1417:       using __distrib_type = uniform_int_distribution<_Size>;
1417:       using __param_type = typename __distrib_type::param_type;
1417:       using _USize = make_unsigned_t<_Size>;
1417:       using _Gen = remove_reference_t<_UniformRandomBitGenerator>;
1417:       using __uc_type = common_type_t<typename _Gen::result_type, _USize>;
1417: 
1417:       if (__first == __last)
1417:  return __out;
1417: 
1417:       __distrib_type __d{};
1417:       _Size __unsampled_sz = std::distance(__first, __last);
1417:       __n = std::min(__n, __unsampled_sz);
1417: 
1417: 
1417: 
1417: 
1417:       const __uc_type __urngrange = __g.max() - __g.min();
1417:       if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz))
1417: 
1417: 
1417:         {
1417:    while (__n != 0 && __unsampled_sz >= 2)
1417:      {
1417:        const pair<_Size, _Size> __p =
1417:   __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g);
1417: 
1417:        --__unsampled_sz;
1417:        if (__p.first < __n)
1417:   {
1417:     *__out++ = *__first;
1417:     --__n;
1417:   }
1417: 
1417:        ++__first;
1417: 
1417:        if (__n == 0) break;
1417: 
1417:        --__unsampled_sz;
1417:        if (__p.second < __n)
1417:   {
1417:     *__out++ = *__first;
1417:     --__n;
1417:   }
1417: 
1417:        ++__first;
1417:      }
1417:         }
1417: 
1417: 
1417: 
1417:       for (; __n != 0; ++__first)
1417:  if (__d(__g, __param_type{0, --__unsampled_sz}) < __n)
1417:    {
1417:      *__out++ = *__first;
1417:      --__n;
1417:    }
1417:       return __out;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _PopulationIterator, typename _SampleIterator,
1417:            typename _Distance, typename _UniformRandomBitGenerator>
1417:     _SampleIterator
1417:     sample(_PopulationIterator __first, _PopulationIterator __last,
1417:     _SampleIterator __out, _Distance __n,
1417:     _UniformRandomBitGenerator&& __g)
1417:     {
1417:       using __pop_cat = typename
1417:  std::iterator_traits<_PopulationIterator>::iterator_category;
1417:       using __samp_cat = typename
1417:  std::iterator_traits<_SampleIterator>::iterator_category;
1417: 
1417:       static_assert(
1417:    __or_<is_convertible<__pop_cat, forward_iterator_tag>,
1417:   is_convertible<__samp_cat, random_access_iterator_tag>>::value,
1417:    "output range must use a RandomAccessIterator when input range"
1417:    " does not meet the ForwardIterator requirements");
1417: 
1417:       static_assert(is_integral<_Distance>::value,
1417:       "sample size must be an integer type");
1417: 
1417:       typename iterator_traits<_PopulationIterator>::difference_type __d = __n;
1417:       return std::
1417:  __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d,
1417:    std::forward<_UniformRandomBitGenerator>(__g));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/algorithm" 2 3
1417: # 73 "/usr/include/c++/12/algorithm" 3
1417: # 1 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 1 3
1417: # 15 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
1417: # 1 "/usr/include/c++/12/pstl/execution_defs.h" 1 3
1417: # 15 "/usr/include/c++/12/pstl/execution_defs.h" 3
1417: namespace __pstl
1417: {
1417: namespace execution
1417: {
1417: inline namespace v1
1417: {
1417: 
1417: 
1417: class sequenced_policy
1417: {
1417:   public:
1417: 
1417:     static constexpr std::false_type
1417:     __allow_unsequenced()
1417:     {
1417:         return std::false_type{};
1417:     }
1417:     static constexpr std::false_type
1417:     __allow_vector()
1417:     {
1417:         return std::false_type{};
1417:     }
1417:     static constexpr std::false_type
1417:     __allow_parallel()
1417:     {
1417:         return std::false_type{};
1417:     }
1417: };
1417: 
1417: 
1417: class parallel_policy
1417: {
1417:   public:
1417: 
1417:     static constexpr std::false_type
1417:     __allow_unsequenced()
1417:     {
1417:         return std::false_type{};
1417:     }
1417:     static constexpr std::false_type
1417:     __allow_vector()
1417:     {
1417:         return std::false_type{};
1417:     }
1417:     static constexpr std::true_type
1417:     __allow_parallel()
1417:     {
1417:         return std::true_type{};
1417:     }
1417: };
1417: 
1417: 
1417: class parallel_unsequenced_policy
1417: {
1417:   public:
1417: 
1417:     static constexpr std::true_type
1417:     __allow_unsequenced()
1417:     {
1417:         return std::true_type{};
1417:     }
1417:     static constexpr std::true_type
1417:     __allow_vector()
1417:     {
1417:         return std::true_type{};
1417:     }
1417:     static constexpr std::true_type
1417:     __allow_parallel()
1417:     {
1417:         return std::true_type{};
1417:     }
1417: };
1417: 
1417: class unsequenced_policy
1417: {
1417:   public:
1417: 
1417:     static constexpr std::true_type
1417:     __allow_unsequenced()
1417:     {
1417:         return std::true_type{};
1417:     }
1417:     static constexpr std::true_type
1417:     __allow_vector()
1417:     {
1417:         return std::true_type{};
1417:     }
1417:     static constexpr std::false_type
1417:     __allow_parallel()
1417:     {
1417:         return std::false_type{};
1417:     }
1417: };
1417: 
1417: 
1417: constexpr sequenced_policy seq{};
1417: constexpr parallel_policy par{};
1417: constexpr parallel_unsequenced_policy par_unseq{};
1417: constexpr unsequenced_policy unseq{};
1417: 
1417: 
1417: template <class _Tp>
1417: struct is_execution_policy : std::false_type
1417: {
1417: };
1417: 
1417: template <>
1417: struct is_execution_policy<__pstl::execution::sequenced_policy> : std::true_type
1417: {
1417: };
1417: template <>
1417: struct is_execution_policy<__pstl::execution::parallel_policy> : std::true_type
1417: {
1417: };
141>>
609:  const_iterator
609:  _M_upper_bound_tr(const _Kt& __k) const
609:  {
609:    auto __x = _M_begin();
609:    auto __y = _M_end();
609:    while (__x != 0)
609:      if (_M_impl._M_key_compare(__k, _S_key(__x)))
609:        {
609:   __y = __x;
609:   __x = _S_left(__x);
609:        }
609:      else
609:        __x = _S_right(__x);
609:    return const_iterator(__y);
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  pair<iterator, iterator>
609:  _M_equal_range_tr(const _Kt& __k)
609:  {
609:    const _Rb_tree* __const_this = this;
609:    auto __ret = __const_this->_M_equal_range_tr(__k);
609:    return { __ret.first._M_const_cast(), __ret.second._M_const_cast() };
609:  }
609: 
609:       template<typename _Kt,
609:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
609:  pair<const_iterator, const_iterator>
609:  _M_equal_range_tr(const _Kt& __k) const
609:  {
609:    auto __low = _M_lower_bound_tr(__k);
609:    auto __high = __low;
609:    auto& __cmp = _M_impl._M_key_compare;
609:    while (__high != end() && !__cmp(__k, _S_key(__high._M_node)))
609:      ++__high;
609:    return { __low, __high };
609:  }
609: 
609: 
609: 
609:       bool
609:       __rb_verify() const;
609: 
609: 
609:       _Rb_tree&
609:       operator=(_Rb_tree&&)
609:       noexcept(_Alloc_traits::_S_nothrow_move()
609:         && is_nothrow_move_assignable<_Compare>::value);
609: 
609:       template<typename _Iterator>
609:  void
609:  _M_assign_unique(_Iterator, _Iterator);
609: 
609:       template<typename _Iterator>
609:  void
609:  _M_assign_equal(_Iterator, _Iterator);
609: 
609:     private:
609: 
609:       void
609:       _M_move_data(_Rb_tree& __x, true_type)
609:       { _M_impl._M_move_data(__x._M_impl); }
609: 
609: 
609: 
609:       void
609:       _M_move_data(_Rb_tree&, false_type);
609: 
609: 
609:       void
609:       _M_move_assign(_Rb_tree&, true_type);
609: 
609: 
609: 
609:       void
609:       _M_move_assign(_Rb_tree&, false_type);
609: 
609: 
609: 
609:     public:
609: 
609:       insert_return_type
609:       _M_reinsert_node_unique(node_type&& __nh)
609:       {
609:  insert_return_type __ret;
609:  if (__nh.empty())
609:    __ret.position = end();
609:  else
609:    {
609:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
609: 
609:      auto __res = _M_get_insert_unique_pos(__nh._M_key());
609:      if (__res.second)
609:        {
609:   __ret.position
609:     = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
609:   __nh._M_ptr = nullptr;
609:   __ret.inserted = true;
609:        }
609:      else
609:        {
609:   __ret.node = std::move(__nh);
609:   __ret.position = iterator(__res.first);
609:   __ret.inserted = false;
609:        }
609:    }
609:  return __ret;
609:       }
609: 
609: 
609:       iterator
609:       _M_reinsert_node_equal(node_type&& __nh)
609:       {
609:  iterator __ret;
609:  if (__nh.empty())
609:    __ret = end();
609:  else
609:    {
609:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
609:      auto __res = _M_get_insert_equal_pos(__nh._M_key());
609:      if (__res.second)
609:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
609:      else
609:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
609:      __nh._M_ptr = nullptr;
609:    }
609:  return __ret;
609:       }
609: 
609: 
609:       iterator
609:       _M_reinsert_node_hint_unique(const_iterator __hint, node_type&& __nh)
609:       {
609:  iterator __ret;
609:  if (__nh.empty())
609:    __ret = end();
609:  else
609:    {
609:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
609:      auto __res = _M_get_insert_hint_unique_pos(__hint, __nh._M_key());
609:      if (__res.second)
609:        {
609:   __ret = _M_insert_node(__res.fitor __first, _InputIterator __last)
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: # 964 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template <typename _Obj>
1412:  pair<iterator, bool>
1412:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1412:  {
1412:    iterator __i = lower_bound(__k);
1412:    if (__i == end() || key_comp()(__k, (*__i).first))
1412:      {
1412:        __i = emplace_hint(__i, std::piecewise_construct,
1412:      std::forward_as_tuple(__k),
1412:      std::forward_as_tuple(
1412:        std::forward<_Obj>(__obj)));
1412:        return {__i, true};
1412:      }
1412:    (*__i).second = std::forward<_Obj>(__obj);
1412:    return {__i, false};
1412:  }
1412: 
1412: 
1412:       template <typename _Obj>
1412:  pair<iterator, bool>
1412:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1412:  {
1412:    iterator __i = lower_bound(__k);
1412:    if (__i == end() || key_comp()(__k, (*__i).first))
1412:      {
1412:        __i = emplace_hint(__i, std::piecewise_construct,
1412:      std::forward_as_tuple(std::move(__k)),
1412:      std::forward_as_tuple(
1412:        std::forward<_Obj>(__obj)));
1412:        return {__i, true};
1412:      }
1412:    (*__i).second = std::forward<_Obj>(__obj);
1412:    return {__i, false};
1412:  }
1412: # 1019 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       template <typename _Obj>
1412:  iterator
1412:  insert_or_assign(const_iterator __hint,
1412:     const key_type& __k, _Obj&& __obj)
1412:  {
1412:    iterator __i;
1412:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1412:    if (__true_hint.second)
1412:      {
1412:        return emplace_hint(iterator(__true_hint.second),
1412:       std::piecewise_construct,
1412:       std::forward_as_tuple(__k),
1412:       std::forward_as_tuple(
1412:         std::forward<_Obj>(__obj)));
1412:      }
1412:    __i = iterator(__true_hint.first);
1412:    (*__i).second = std::forward<_Obj>(__obj);
1412:    return __i;
1412:  }
1412: 
1412: 
1412:       template <typename _Obj>
1412:  iterator
1412:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1412:  {
1412:    iterator __i;
1412:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1412:    if (__true_hint.second)
1412:      {
1412:        return emplace_hint(iterator(__true_hint.second),
1412:       std::piecewise_construct,
1412:       std::forward_as_tuple(std::move(__k)),
1412:       std::forward_as_tuple(
1412:         std::forward<_Obj>(__obj)));
1412:      }
1412:    __i = iterator(__true_hint.first);
1412:    (*__i).second = std::forward<_Obj>(__obj);
1412:    return __i;
1412:  }
1412: # 1078 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       iterator
1412:       erase(const_iterator __position)
1412:       { return _M_t.erase(__position); }
1412: 
1412: 
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(iterator __position)
1412:       { return _M_t.erase(__position); }
1412: # 1115 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       size_type
1412:       erase(const key_type& __x)
1412:       { return _M_t.erase(__x); }
1412: # 1135 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       iterator
1412:       erase(const_iterator __first, const_iterator __last)
1412:       { return _M_t.erase(__first, __last); }
1412: # 1169 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       void
1412:       swap(map& __x)
1412:       noexcept(__is_nothrow_swappable<_Compare>::value)
1412:       { _M_t.swap(__x._M_t); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       clear() noexcept
1412:       { _M_t.clear(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       key_compare
1412:       key_comp() const
1412:       { return _M_t.key_comp(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       value_compare
1412:       value_comp() const
1412:       { return value_compare(_M_t.key_comp()); }
1412: # 1216 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       iterator
1412:       find(const key_type& __x)
1412:       { return _M_t.find(__x);7: template <>
1417: struct is_execution_policy<__pstl::execution::parallel_unsequenced_policy> : std::true_type
1417: {
1417: };
1417: template <>
1417: struct is_execution_policy<__pstl::execution::unsequenced_policy> : std::true_type
1417: {
1417: };
1417: 
1417: 
1417: template <class _Tp>
1417: constexpr bool is_execution_policy_v = __pstl::execution::is_execution_policy<_Tp>::value;
1417: 
1417: 
1417: }
1417: }
1417: 
1417: namespace __internal
1417: {
1417: template <class _ExecPolicy, class _Tp>
1417: 
1417: using __enable_if_execution_policy =
1417:     typename std::enable_if<__pstl::execution::is_execution_policy<std::__remove_cvref_t<_ExecPolicy>>::value,
1417:                             _Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: 
1417: }
1417: # 16 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 2 3
1417: 
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: any_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: all_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: none_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Function>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: for_each(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Function __f);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Function>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: for_each_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, _Function __f);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: find_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: find_if_not(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1417: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1417:          _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1417: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1417:          _ForwardIterator2 __s_last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _Forst, __res.second, __nh._M_ptr);
609:   __nh._M_ptr = nullptr;
609:        }
609:      else
609:        __ret = iterator(__res.first);
609:    }
609:  return __ret;
609:       }
609: 
609: 
609:       iterator
609:       _M_reinsert_node_hint_equal(const_iterator __hint, node_type&& __nh)
609:       {
609:  iterator __ret;
609:  if (__nh.empty())
609:    __ret = end();
609:  else
609:    {
609:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
609:      auto __res = _M_get_insert_hint_equal_pos(__hint, __nh._M_key());
609:      if (__res.second)
609:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
609:      else
609:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
609:      __nh._M_ptr = nullptr;
609:    }
609:  return __ret;
609:       }
609: 
609: 
609:       node_type
609:       extract(const_iterator __pos)
609:       {
609:  auto __ptr = _Rb_tree_rebalance_for_erase(
609:      __pos._M_const_cast()._M_node, _M_impl._M_header);
609:  --_M_impl._M_node_count;
609:  return { static_cast<_Link_type>(__ptr), _M_get_Node_allocator() };
609:       }
609: 
609: 
609:       node_type
609:       extract(const key_type& __k)
609:       {
609:  node_type __nh;
609:  auto __pos = find(__k);
609:  if (__pos != end())
609:    __nh = extract(const_iterator(__pos));
609:  return __nh;
609:       }
609: 
609:       template<typename _Compare2>
609:  using _Compatible_tree
609:    = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>;
609: 
609:       template<typename, typename>
609:  friend class _Rb_tree_merge_helper;
609: 
609: 
609:       template<typename _Compare2>
609:  void
609:  _M_merge_unique(_Compatible_tree<_Compare2>& __src) noexcept
609:  {
609:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
609:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
609:      {
609:        auto __pos = __i++;
609:        auto __res = _M_get_insert_unique_pos(_KeyOfValue()(*__pos));
609:        if (__res.second)
609:   {
609:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
609:     auto __ptr = _Rb_tree_rebalance_for_erase(
609:         __pos._M_node, __src_impl._M_header);
609:     --__src_impl._M_node_count;
609:     _M_insert_node(__res.first, __res.second,
609:      static_cast<_Link_type>(__ptr));
609:   }
609:      }
609:  }
609: 
609: 
609:       template<typename _Compare2>
609:  void
609:  _M_merge_equal(_Compatible_tree<_Compare2>& __src) noexcept
609:  {
609:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
609:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
609:      {
609:        auto __pos = __i++;
609:        auto __res = _M_get_insert_equal_pos(_KeyOfValue()(*__pos));
609:        if (__res.second)
609:   {
609:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
609:     auto __ptr = _Rb_tree_rebalance_for_erase(
609:         __pos._M_node, __src_impl._M_header);
609:     --__src_impl._M_node_count;
609:     _M_insert_node(__res.first, __res.second,
609:      static_cast<_Link_type>(__ptr));
609:   }
609:      }
609:  }
609: 
609: 
609:       friend bool
609:       operator==(const _Rb_tree& __x, const _Rb_tree& __y)
609:       {
609:  return __x.size() == __y.size()
609:    && std::equal(__x.begin(), __x.end(), __y.begin());
609:       }
609: # 1620 "/usr/include/c++/12/bits/stl_tree.h" 3
609:       friend bool
609:       operator<(const _Rb_tree& __x, const _Rb_tree& __y)
609:       {
609:  return std::lexicographical_compare(__x.begin(), __x.end(),
609:          __y.begin(), __y.end());
609:       }
609: 
609: 
609:     private:
609: 
609: 
609:       struct _Auto_node
609:       {
609:  template<typename... _Args>
609:    _Auto_node(_Rb_tree& __t, _Args&&... __args)
609:    : _M_t(__t),
609:      _M_node(__t._M_create_node(std::forward<_Args>(__args)...))
609:    { }
609: 
609:  ~_Auto_node()
609:  {
609:    if (_M_node)
609:      _M_t._M_drop_node(_M_node);
609:  }
609: 
609:  _Auto_node(_Auto_node&& rwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1417: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1417:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1417: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1417:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1417:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1417: count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1417:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1417: count_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1417: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1417:        _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1417: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1417:        _ForwardIterator2 __s_last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
1417:          const _Tp& __value, _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
1417:          const _Tp& __value);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _Size, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: copy_n(_Execu }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1412:  { return _M_t._M_find_tr(__x); }
1412: # 1241 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       const_iterator
1412:       find(const key_type& __x) const
1412:       { return _M_t.find(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1412:  { return _M_t._M_find_tr(__x); }
1412: # 1262 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       size_type
1412:       count(const key_type& __x) const
1412:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1412:  { return _M_t._M_count_tr(__x); }
1412: # 1305 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       iterator
1412:       lower_bound(const key_type& __x)
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1412: # 1330 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       const_iterator
1412:       lower_bound(const key_type& __x) const
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x) const
1412:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1412: # 1350 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       iterator
1412:       upper_bound(const key_type& __x)
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1412: # 1370 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       const_iterator
1412:       upper_bound(const key_type& __x) const
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x) const
1412:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1412: # 1399 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       std::pair<iterator, iterator>
1412:       equal_range(const key_type& __x)
1412:       { return _M_t.equal_range(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x)
1412:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1412:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1412: # 1428 "/usr/include/c++/12/bits/stl_map.h" 3
1412:       std::pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __x) const
1412:       { return _M_t.equal_range(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x) const
1412:  -> decltype(pair<const_iterator, const_iterator>(
1412:        _M_t._M_equal_range_tr(__x)))
1412:  {
1412:    return pair<const_iterator, const_iterator>(
1412:        _M_t._M_equal_range_tr(__x));
1412:  }
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator==(const map<_K1, _T1, _C1, _A1>&,
1412:      const map<_K1, _T1, _C1, _A1>&);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator<(const map<_K1, _T1, _C1, _A1>&,
1412:     const map<_K1, _T1, _C1, _A1>&);
1412: 
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator,
1412:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1412:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1412:     typename = _RequireInputIter<_InputIterator>,
1tionPolicy&& __exec, _ForwardIterator1 __first, _Size __n, _ForwardIterator2 __result);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 result,
1417:         _Predicate __pred);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: swap_ranges(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:             _ForwardIterator2 __first2);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryOperation>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1417:           _UnaryOperation __op);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1417:           class _BinaryOperation>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:           _ForwardIterator __result, _BinaryOperation __op);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: replace_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred,
1417:            const _Tp& __new_value);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: replace(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value,
1417:         const _Tp& __new_value);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryPredicate, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: replace_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1417:                 _ForwardIterator2 __result, _UnaryPredicate __pred, const _Tp& __new_value);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: replace_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1417:              const _Tp& __old_value, const _Tp& __new_value);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __count, const _Tp& __value);
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Generator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: generate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Generator __g);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Generator>
1417: __p__n)
609:  : _M_t(__n._M_t), _M_node(__n._M_node)
609:  { __n._M_node = nullptr; }
609: 
609:  const _Key&
609:  _M_key() const
609:  { return _S_key(_M_node); }
609: 
609:  iterator
609:  _M_insert(pair<_Base_ptr, _Base_ptr> __p)
609:  {
609:    auto __it = _M_t._M_insert_node(__p.first, __p.second, _M_node);
609:    _M_node = nullptr;
609:    return __it;
609:  }
609: 
609:  iterator
609:  _M_insert_equal_lower()
609:  {
609:    auto __it = _M_t._M_insert_equal_lower_node(_M_node);
609:    _M_node = nullptr;
609:    return __it;
609:  }
609: 
609:  _Rb_tree& _M_t;
609:  _Link_type _M_node;
609:       };
609: 
609:     };
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     inline void
609:     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
609:   _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
609:     { __x.swap(__y); }
609: 
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     void
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_move_data(_Rb_tree& __x, false_type)
609:     {
609:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
609:  _M_move_data(__x, true_type());
609:       else
609:  {
609:    constexpr bool __move = !__move_if_noexcept_cond<value_type>::value;
609:    _Alloc_node __an(*this);
609:    _M_root() = _M_copy<__move>(__x, __an);
609:    if constexpr (__move)
609:      __x.clear();
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     inline void
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_move_assign(_Rb_tree& __x, true_type)
609:     {
609:       clear();
609:       if (__x._M_root() != nullptr)
609:  _M_move_data(__x, true_type());
609:       std::__alloc_on_move(_M_get_Node_allocator(),
609:       __x._M_get_Node_allocator());
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     void
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_move_assign(_Rb_tree& __x, false_type)
609:     {
609:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
609:  return _M_move_assign(__x, true_type{});
609: 
609: 
609: 
609:       _Reuse_or_alloc_node __roan(*this);
609:       _M_impl._M_reset();
609:       if (__x._M_root() != nullptr)
609:  {
609:    _M_root() = _M_copy<__as_rvalue>(__x, __roan);
609:    __x.clear();
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     operator=(_Rb_tree&& __x)
609:     noexcept(_Alloc_traits::_S_nothrow_move()
609:       && is_nothrow_move_assignable<_Compare>::value)
609:     {
609:       _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare);
609:       _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>());
609:       return *this;
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     template<typename _Iterator>
609:       void
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_assign_unique(_Iterator __first, _Iterator __last)
609:       {
609:  _Reuse_or_alloc_node __roan(*this);
609:  _M_impl._M_reset();
609:  for (; __first != __last; ++__first)
609:    _M_insert_unique_(end(), *__first, __roan);
609:       }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     template<typename _Iterator>
609:       void
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_assign_equal(_Iterator __first, _Iterator __last)
609:       {
609:  _Reuse_or_alloc_node __roan(*thstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: generate_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size count, _Generator __g);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: remove_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1417:                _ForwardIterator2 __result, _Predicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: remove_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1417:             const _Tp& __value);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: remove_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: remove(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1417:             _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _BidirectionalIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: reverse(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _BidirectionalIterator, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: reverse_copy(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1417:              _ForwardIterator __d_first);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: rotate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: rotate_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __middle, _ForwardIterator1 __last,
1417:             _ForwardIterator2 __result);
1417: 
1417: 
1417412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     map(_InputIterator, _InputIterator,
1412:  _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1412:     _Compare, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
1412:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     map(initializer_list<pair<_Key, _Tp>>,
1412:  _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> map<_Key, _Tp, _Compare, _Allocator>;
1412: 
1412:   template <typename _InputIterator, typename _Allocator,
1412:      typename = _RequireInputIter<_InputIterator>,
1412:      typename = _RequireAllocator<_Allocator>>
1412:     map(_InputIterator, _InputIterator, _Allocator)
1412:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1412:     less<__iter_key_t<_InputIterator>>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1412:     -> map<_Key, _Tp, less<_Key>, _Allocator>;
1412: # 1509 "/usr/include/c++/12/bits/stl_map.h" 3
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return __x._M_t == __y._M_t; }
1412: # 1547 "/usr/include/c++/12/bits/stl_map.h" 3
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1412:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return __x._M_t < __y._M_t; }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1412:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline void
1412:     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
1412:   map<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1412:     typename _Cmp2>
1412:     struct
1412:     _Rb_tree_merge_helper<std::map<_Key, _Val, _Cmp1, _Alloc>,
1412:      _Cmp2>
1412:     {
1412:     private:
1412:       friend class std::map<_Key, _Val, _Cmp1, _Alloc>;
1412: 
1412:       static auto&
1412:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1412:       { return __map._M_t; }
1412: 
1412:       static auto&
1412:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1412:       { return __map._M_t; }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 62 "/usr/include/c++/12/map" 2 3
141: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: is_partitioned(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: partition(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _BidirectionalIterator, class _UnaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _BidirectionalIterator>
1417: stable_partition(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1417:                  _UnaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _ForwardIterator1, class _ForwardIterator2,
1417:           class _UnaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1417: partition_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1417:                _ForwardIterator1 __out_true, _ForwardIterator2 __out_false, _UnaryPredicate __pred);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1417: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:          _ForwardIterator2 __last2, _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1417: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:          _BinaryPredicate __pred);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1417: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:          _ForwardIterator2 __last2);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1417: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 is);
609:  _M_impl._M_reset();
609:  for (; __first != __last; ++__first)
609:    _M_insert_equal_(end(), *__first, __roan);
609:       }
609: 
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     operator=(const _Rb_tree& __x)
609:     {
609:       if (this != std::__addressof(__x))
609:  {
609: 
609: 
609:    if (_Alloc_traits::_S_propagate_on_copy_assign())
609:      {
609:        auto& __this_alloc = this->_M_get_Node_allocator();
609:        auto& __that_alloc = __x._M_get_Node_allocator();
609:        if (!_Alloc_traits::_S_always_equal()
609:     && __this_alloc != __that_alloc)
609:   {
609: 
609: 
609:     clear();
609:     std::__alloc_on_copy(__this_alloc, __that_alloc);
609:   }
609:      }
609: 
609: 
609:    _Reuse_or_alloc_node __roan(*this);
609:    _M_impl._M_reset();
609:    _M_impl._M_key_compare = __x._M_impl._M_key_compare;
609:    if (__x._M_root() != 0)
609:      _M_root() = _M_copy<__as_lvalue>(__x, __roan);
609:  }
609: 
609:       return *this;
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609: 
609:     template<typename _Arg, typename _NodeGen>
609: 
609: 
609: 
609:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_insert_(_Base_ptr __x, _Base_ptr __p,
609: 
609:    _Arg&& __v,
609: 
609: 
609: 
609:    _NodeGen& __node_gen)
609:       {
609:  bool __insert_left = (__x != 0 || __p == _M_end()
609:          || _M_impl._M_key_compare(_KeyOfValue()(__v),
609:        _S_key(__p)));
609: 
609:  _Link_type __z = __node_gen(std::forward<_Arg>(__v));
609: 
609:  _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
609:           this->_M_impl._M_header);
609:  ++_M_impl._M_node_count;
609:  return iterator(__z);
609:       }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609: 
609:     template<typename _Arg>
609: 
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609: 
609:     _M_insert_lower(_Base_ptr __p, _Arg&& __v)
609: 
609: 
609: 
609:     {
609:       bool __insert_left = (__p == _M_end()
609:        || !_M_impl._M_key_compare(_S_key(__p),
609:              _KeyOfValue()(__v)));
609: 
609:       _Link_type __z = _M_create_node(std::forward<_Arg>(__v));
609: 
609:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
609:         this->_M_impl._M_header);
609:       ++_M_impl._M_node_count;
609:       return iterator(__z);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609: 
609:     template<typename _Arg>
609: 
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609: 
609:     _M_insert_equal_lower(_Arg&& __v)
609: 
609: 
609: 
609:     {
609:       _Link_type __x = _M_begin();
609:       _Base_ptr __y = _M_end();
609:       while (__x != 0)
609:  {
609:    __y = __x;
609:    __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
609:   _S_left(__x) : _S_right(__x);
609:  }
609:       return _M_insert_lower(__y, std::forward<_Arg>(__v));
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KoV,
609:     typename _Compare, typename _Alloc>
609:     template<bool _MoveValues, typename _NodeGen>
609:       typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
609:       _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
609:       _M_copy(_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen)
609:       {
609: 
609:  _Link_type __top = _M_clone_node<_MoveValues>(__x, __node_gen);
609:  __top->_M_parent = __p;
609: 
609:  try
609:    {__first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:       _BinaryPredicate __p);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:       _ForwardIterator2 __last2, _BinaryPredicate __p);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:       _ForwardIterator2 __last2);
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1417: move(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __d_first);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1417:              _RandomAccessIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1417:              _RandomAccessIterator __last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1417: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1417:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1417: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1417:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last);
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __las2: # 1 "/usr/include/c++/12/bits/stl_multimap.h" 1 3
1412: # 64 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     class map;
1412: # 96 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:   template <typename _Key, typename _Tp,
1412:      typename _Compare = std::less<_Key>,
1412:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1412:     class multimap
1412:     {
1412:     public:
1412:       typedef _Key key_type;
1412:       typedef _Tp mapped_type;
1412:       typedef std::pair<const _Key, _Tp> value_type;
1412:       typedef _Compare key_compare;
1412:       typedef _Alloc allocator_type;
1412: 
1412:     private:
1412: # 122 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1412:    "std::multimap must have the same value_type as its allocator");
1412: 
1412: 
1412: 
1412:     public:
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:       class value_compare
1412:       : public std::binary_function<value_type, value_type, bool>
1412:       {
1412:  friend class multimap<_Key, _Tp, _Compare, _Alloc>;
1412:       protected:
1412:  _Compare comp;
1412: 
1412:  value_compare(_Compare __c)
1412:  : comp(__c) { }
1412: 
1412:       public:
1412:  bool operator()(const value_type& __x, const value_type& __y) const
1412:  { return comp(__x.first, __y.first); }
1412:       };
1412: #pragma GCC diagnostic pop
1412: 
1412:     private:
1412: 
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<value_type>::other _Pair_alloc_type;
1412: 
1412:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1412:          key_compare, _Pair_alloc_type> _Rep_type;
1412: 
1412:       _Rep_type _M_t;
1412: 
1412:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
1412: 
1412:     public:
1412: 
1412: 
1412:       typedef typename _Alloc_traits::pointer pointer;
1412:       typedef typename _Alloc_traits::const_pointer const_pointer;
1412:       typedef typename _Alloc_traits::reference reference;
1412:       typedef typename _Alloc_traits::const_reference const_reference;
1412:       typedef typename _Rep_type::iterator iterator;
1412:       typedef typename _Rep_type::const_iterator const_iterator;
1412:       typedef typename _Rep_type::size_type size_type;
1412:       typedef typename _Rep_type::difference_type difference_type;
1412:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1412:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1412: 
1412: 
1412:       using node_type = typename _Rep_type::node_type;
1412: # 185 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       multimap() = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       multimap(const _Compare& __comp,
1412:         const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1412: # 207 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       multimap(const multimap&) = default;
1412: # 216 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       multimap(multimap&&) = default;
1412: # 228 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       multimap(initializer_list<value_type> __l,
1412:         const _Compare& __comp = _Compare(),
1412:         const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Pair_alloc_type(__a))
1412:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       explicit
1412:       multimap(const allocator_type& __a)
1412:       : _M_t(_Pair_alloc_type(__a)) { }
1412: 
1412: 
1412:       multimap(const multimap& __m,
1412:         const __type_identity_t<allocator_type>& __a)
1412:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1412: 
1412: 
1412:       multimap(mt, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1417:             _RandomAccessIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1417:             _RandomAccessIterator __last);
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1417:           class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:       _ForwardIterator2 __last2, _ForwardIterator __d_first, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:       _ForwardIterator2 __last2, _ForwardIterator __d_first);
1417: 
1417: template <class _ExecutionPolicy, class _BidirectionalIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1417:               _BidirectionalIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _BidirectionalIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1417:               _BidirectionalIterator __last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:          _ForwardIterator2 __last2, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:          _ForwardIterator2 __last2);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1417:           class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:           _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1417:           _ForwardIterator2 __last2, _ForwardIterator __result);
1417: 
1417: 
14
609:      if (__x->_M_right)
609:        __top->_M_right =
609:   _M_copy<_MoveValues>(_S_right(__x), __top, __node_gen);
609:      __p = __top;
609:      __x = _S_left(__x);
609: 
609:      while (__x != 0)
609:        {
609:   _Link_type __y = _M_clone_node<_MoveValues>(__x, __node_gen);
609:   __p->_M_left = __y;
609:   __y->_M_parent = __p;
609:   if (__x->_M_right)
609:     __y->_M_right = _M_copy<_MoveValues>(_S_right(__x),
609:              __y, __node_gen);
609:   __p = __y;
609:   __x = _S_left(__x);
609:        }
609:    }
609:  catch(...)
609:    {
609:      _M_erase(__top);
609:      throw;
609:    }
609:  return __top;
609:       }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     void
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_erase(_Link_type __x)
609:     {
609: 
609:       while (__x != 0)
609:  {
609:    _M_erase(_S_right(__x));
609:    _Link_type __y = _S_left(__x);
609:    _M_drop_node(__x);
609:    __x = __y;
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:         _Compare, _Alloc>::iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_lower_bound(_Link_type __x, _Base_ptr __y,
609:      const _Key& __k)
609:     {
609:       while (__x != 0)
609:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
609:    __y = __x, __x = _S_left(__x);
609:  else
609:    __x = _S_right(__x);
609:       return iterator(__y);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:         _Compare, _Alloc>::const_iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
609:      const _Key& __k) const
609:     {
609:       while (__x != 0)
609:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
609:    __y = __x, __x = _S_left(__x);
609:  else
609:    __x = _S_right(__x);
609:       return const_iterator(__y);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:         _Compare, _Alloc>::iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_upper_bound(_Link_type __x, _Base_ptr __y,
609:      const _Key& __k)
609:     {
609:       while (__x != 0)
609:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
609:    __y = __x, __x = _S_left(__x);
609:  else
609:    __x = _S_right(__x);
609:       return iterator(__y);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:         _Compare, _Alloc>::const_iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
609:      const _Key& __k) const
609:     {
609:       while (__x != 0)
609:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
609:    __y = __x, __x = _S_left(__x);
609:  else
609:    __x = _S_right(__x);
609:       return const_iterator(__y);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::iterator,
609:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::iterator>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     equal_range(const _Key& __k)
609:     {
609:       _Link_type __x = _M_begin();
609:       _Base_ptr __y = _M_end();
609:       while (__x != 0)
609:  {
609:    if (_M_impl._M_key_compare(_S_key(__x), __k))
609:      __x = _S_right(__x);
609:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
617: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1417:           class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1417:           class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1417:           class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator result,
1417:                          _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1417: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1417: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _RandomAccessIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _Forwarultimap&& __m, const __type_identity_t<allocator_type>& __a)
1412:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1412:         && _Alloc_traits::_S_always_equal())
1412:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1412: 
1412: 
1412:       multimap(initializer_list<value_type> __l, const allocator_type& __a)
1412:       : _M_t(_Pair_alloc_type(__a))
1412:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412:  multimap(_InputIterator __first, _InputIterator __last,
1412:    const allocator_type& __a)
1412:  : _M_t(_Pair_alloc_type(__a))
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: # 272 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       template<typename _InputIterator>
1412:  multimap(_InputIterator __first, _InputIterator __last)
1412:  : _M_t()
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: # 288 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       template<typename _InputIterator>
1412:  multimap(_InputIterator __first, _InputIterator __last,
1412:    const _Compare& __comp,
1412:    const allocator_type& __a = allocator_type())
1412:  : _M_t(__comp, _Pair_alloc_type(__a))
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~multimap() = default;
1412: # 317 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       multimap&
1412:       operator=(const multimap&) = default;
1412: 
1412: 
1412:       multimap&
1412:       operator=(multimap&&) = default;
1412: # 335 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       multimap&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  _M_t._M_assign_equal(__l.begin(), __l.end());
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_t.get_allocator()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       begin() noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       end() noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       end() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_reverse_iterator
1412:       crend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return _M_t.empty(); }
1412: 
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_t.size(); }
1412: 
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _M_t.max_size(); }
1412: # 493 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:     dIterator>
1417: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
1417: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
1417: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2, _Compare __comp);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1417: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1417:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2);
1417: 
1417: }
1417: # 74 "/usr/include/c++/12/algorithm" 2 3
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 2
1417: # 1 "/usr/include/c++/12/stdexcept" 1 3
1417: # 36 "/usr/include/c++/12/stdexcept" 3
1417:        
1417: # 37 "/usr/include/c++/12/stdexcept" 3
1417: 
1417: # 1 "/usr/include/c++/12/exception" 1 3
1417: # 33 "/usr/include/c++/12/exception" 3
1417:        
1417: # 34 "/usr/include/c++/12/exception" 3
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" {
1417: 
1417: namespace std
1417: {
1417: # 53 "/usr/include/c++/12/exception" 3
1417:   class bad_exception : public exception
1417:   {
1417:   public:
1417:     bad_exception() noexcept { }
1417: 
1417: 
1417: 
1417:     virtual ~bad_exception() noexcept;
1417: 
1417: 
1417:     virtual const char*
1417:     what() const noexcept;
1417:   };
1417: 
1417: 
1417:   typedef void (*terminate_handler) ();
1417: 
1417: 
1417:   terminate_handler set_terminate(terminate_handler) noexcept;
1417: 
1417: 
1417: 
1417:   terminate_handler get_terminate() noexcept;
1417: 
1417: 
1417: 
1417: 
1417:   void terminate() noexcept __attribute__ ((__noreturn__));
1417: 
1417: 
1417: 
1417:   typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) ();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   __attribute__ ((__deprecated__))
1417:   unexpected_handler set_unexpected(unexpected_handler) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   __attribute__ ((__deprecated__))
1417:   unexpected_handler get_unexpected() noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   __attribute__ ((__deprecated__))
1417:   void unexpected() __attribute__ ((__noreturn__));
1417: # 123 "/usr/include/c++/12/exception" 3
1417:   __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead")))
1417:   bool uncaught_exception() noexcept __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   int uncaught_exceptions() noexcept __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: }
1417: 
1417: namespace __gnu_cxx
1417: {
1417: 
1417: # 158 "/usr/include/c++/12/exception" 3
1417:   void __verbose_terminate_handler();
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: #pragma GCC visibility pop
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/exception_ptr.h" 1 3
1417: # 34 "/usr/include/c++/12/bits/exception_ptr.h" 3
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 1 3
1417: # 34 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1417:        
1417: # 35 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 145 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1417: typedef int ptrdiff_t;
1417: # 424 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1417: typedef struct {
1417:   long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
1417:   long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
1417: # 435 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1417: } max_align_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef decltype(nullptr) nullptr_t;
1417: # 39 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 2 3
1417: # 50 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1417: namespace std
1417: {
1417:   class type_info;
1417: }
1417: 
1417: namespace __cxxabiv1
1417: {
1417:   struct __cxa_refcounted_exception;
1417: 
1417:   extern "C"
1417:     {
1417: 
1417:       void*
1417:       __cxa_allocate_exception(size_t) noexcept;
1417: 
1417:       void
1417:       __cxa_free_exception(void*) noexcept;
1417: 
1417: 
1417:       __cxa_refcounted_exception*
1417:       __cxa_init_primary_exception(void *object, std::type_info *tinfo,
1417:                 void ( *dest) (void *)) noexcept;
1417: 
1417:     }
1417: }
1417: 
1417: 
1417: 
1417: #pragma GCC visibility pop
1417: # 39 "/usr/include/c++/12/bits/exception_ptr.h" 2 3
1417: # 1 "/usr/include/c++/12/typeinfo" 1 3
1417: # 32 "/usr/include/c++/12/typeinfo" 3
1417:        
1417: # 33 "/usr/include/c++/12/typeinfo" 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/hash_bytes.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/hash_bytes.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/hash_bytes.h" 3
1417: 
1417: 
1417: 
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   size_t
1417:   _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   size_t
1417:   _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1417: 
1417: 
1417: }
1417: # 37 "/usr/include/c++/12/typeinfo" 2 3
1417: 
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" {
1417: 
1417: namespace __cxxabiv1
1417: {
1417:   class __class_type_info;
1417: }
1417: # 84 "/usr/include/c++/12/typeinfo" 3
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class type_info
1417:   {
1417:   public:
1417: 
1417: 
1417: 
1417: 
1417:     virtual ~type_info();
1417: 
1417: 
1417: 
1417:     const char* name() const noexcept
1417:     { return __name[0] == '*' ? __name + 1 : __name; }
1417: 
1417: 
1417: 
1417:     bool before(const type_info& __arg) const noexcept;
1417: 
1417:    
1417:     bool operator==(const type_info& __arg) const noexcept;
1417: 
1417: 
1417:     bool operator!=(const type_info& __arg) const noexcept
1417:     { return !operator==(__arg); }
1417: 
1417: 
1417: 
1417:     size_t hash_code() const noexcept
1417:     {
1417: 
1417:       return _Hash_bytes(name09:      __y = __x, __x = _S_left(__x);
609:    else
609:      {
609:        _Link_type __xu(__x);
609:        _Base_ptr __yu(__y);
609:        __y = __x, __x = _S_left(__x);
609:        __xu = _S_right(__xu);
609:        return pair<iterator,
609:      iterator>(_M_lower_bound(__x, __y, __k),
609:         _M_upper_bound(__xu, __yu, __k));
609:      }
609:  }
609:       return pair<iterator, iterator>(iterator(__y),
609:           iterator(__y));
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::const_iterator,
609:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::const_iterator>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     equal_range(const _Key& __k) const
609:     {
609:       _Const_Link_type __x = _M_begin();
609:       _Const_Base_ptr __y = _M_end();
609:       while (__x != 0)
609:  {
609:    if (_M_impl._M_key_compare(_S_key(__x), __k))
609:      __x = _S_right(__x);
609:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
609:      __y = __x, __x = _S_left(__x);
609:    else
609:      {
609:        _Const_Link_type __xu(__x);
609:        _Const_Base_ptr __yu(__y);
609:        __y = __x, __x = _S_left(__x);
609:        __xu = _S_right(__xu);
609:        return pair<const_iterator,
609:      const_iterator>(_M_lower_bound(__x, __y, __k),
609:        _M_upper_bound(__xu, __yu, __k));
609:      }
609:  }
609:       return pair<const_iterator, const_iterator>(const_iterator(__y),
609:         const_iterator(__y));
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     void
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     swap(_Rb_tree& __t)
609:     noexcept(__is_nothrow_swappable<_Compare>::value)
609:     {
609:       if (_M_root() == 0)
609:  {
609:    if (__t._M_root() != 0)
609:      _M_impl._M_move_data(__t._M_impl);
609:  }
609:       else if (__t._M_root() == 0)
609:  __t._M_impl._M_move_data(_M_impl);
609:       else
609:  {
609:    std::swap(_M_root(),__t._M_root());
609:    std::swap(_M_leftmost(),__t._M_leftmost());
609:    std::swap(_M_rightmost(),__t._M_rightmost());
609: 
609:    _M_root()->_M_parent = _M_end();
609:    __t._M_root()->_M_parent = __t._M_end();
609:    std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
609:  }
609: 
609:       std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
609: 
609:       _Alloc_traits::_S_on_swap(_M_get_Node_allocator(),
609:     __t._M_get_Node_allocator());
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::_Base_ptr,
609:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::_Base_ptr>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_get_insert_unique_pos(const key_type& __k)
609:     {
609:       typedef pair<_Base_ptr, _Base_ptr> _Res;
609:       _Link_type __x = _M_begin();
609:       _Base_ptr __y = _M_end();
609:       bool __comp = true;
609:       while (__x != 0)
609:  {
609:    __y = __x;
609:    __comp = _M_impl._M_key_compare(__k, _S_key(__x));
609:    __x = __comp ? _S_left(__x) : _S_right(__x);
609:  }
609:       iterator __j = iterator(__y);
609:       if (__comp)
609:  {
609:    if (__j == begin())
609:      return _Res(__x, __y);
609:    else
609:      --__j;
609:  }
609:       if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
609:  return _Res(__x, __y);
609:       return _Res(__j._M_node, 0);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::_Base_ptr,
609:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:     (), __builtin_strlen(name()),
1417:     static_cast<size_t>(0xc70f6907UL));
1417: 
1417: 
1417: 
1417:     }
1417: 
1417: 
1417: 
1417:     virtual bool __is_pointer_p() const;
1417: 
1417: 
1417:     virtual bool __is_function_p() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
1417:        unsigned __outer) const;
1417: 
1417: 
1417:     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
1417:         void **__obj_ptr) const;
1417: 
1417:   protected:
1417:     const char *__name;
1417: 
1417:     explicit type_info(const char *__n): __name(__n) { }
1417: 
1417:   private:
1417: 
1417: 
1417:     type_info& operator=(const type_info&) = delete;
1417:     type_info(const type_info&) = delete;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     bool __equal(const type_info&) const noexcept;
1417: 
1417:   };
1417: # 220 "/usr/include/c++/12/typeinfo" 3
1417:   class bad_cast : public exception
1417:   {
1417:   public:
1417:     bad_cast() noexcept { }
1417: 
1417: 
1417: 
1417:     virtual ~bad_cast() noexcept;
1417: 
1417: 
1417:     virtual const char* what() const noexcept;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class bad_typeid : public exception
1417:   {
1417:   public:
1417:     bad_typeid () noexcept { }
1417: 
1417: 
1417: 
1417:     virtual ~bad_typeid() noexcept;
1417: 
1417: 
1417:     virtual const char* what() const noexcept;
1417:   };
1417: }
1417: 
1417: }
1417: 
1417: #pragma GCC visibility pop
1417: # 40 "/usr/include/c++/12/bits/exception_ptr.h" 2 3
1417: # 52 "/usr/include/c++/12/bits/exception_ptr.h" 3
1417: extern "C++" {
1417: 
1417: namespace std
1417: {
1417:   class type_info;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   namespace __exception_ptr
1417:   {
1417:     class exception_ptr;
1417:   }
1417: 
1417:   using __exception_ptr::exception_ptr;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   exception_ptr current_exception() noexcept;
1417: 
1417:   template<typename _Ex>
1417:   exception_ptr make_exception_ptr(_Ex) noexcept;
1417: 
1417: 
1417:   void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
1417: 
1417:   namespace __exception_ptr
1417:   {
1417:     using std::rethrow_exception;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     class exception_ptr
1417:     {
1417:       void* _M_exception_object;
1417: 
1417:       explicit exception_ptr(void* __e) noexcept;
1417: 
1417:       void _M_addref() noexcept;
1417:       void _M_release() noexcept;
1417: 
1417:       void *_M_get() const noexcept __attribute__ ((__pure__));
1417: 
1417:       friend exception_ptr std::current_exception() noexcept;
1417:       friend void std::rethrow_exception(exception_ptr);
1417:       template<typename _Ex>
1417:       friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
1417: 
1417:     public:
1417:       exception_ptr() noexcept;
1417: 
1417:       exception_ptr(const exception_ptr&) noexcept;
1417: 
1417: 
1417:       exception_ptr(nullptr_t) noexcept
1417:       : _M_exception_object(nullptr)
1417:       { }
1417: 
1417:       exception_ptr(exception_ptr&& __o) noexcept
1417:       : _M_exception_object(__o._M_exception_object)
1417:       { __o._M_exception_object = nullptr; }
1417: # 128 "/usr/include/c++/12/bits/exception_ptr.h" 3
1417:       exception_ptr&
1417:       operator=(const exception_ptr&) noexcept;
1417: 
1417: 
1417:       exception_ptr&
1417:       operator=(exception_ptr&& __o) noexcept
1417:       {
1417:         exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
1417:         return *this;
1417:       }
1417: 
1417: 
1417:       ~exception_ptr() noexcept;
1417: 
1417:       void
1417:       swap(exception_ptr&) noexcept;
1417: # 155 "/usr/include/c++/12/bits/exception_ptr.h" 3
1417:       explicit operator bool() const noexcept
1417:       { return _M_exception_object; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       friend bool
1417:       operator==(const exception_ptr& __x, const exception_ptr& __y)
1417  template<typename... _Args>
1412:  iterator
1412:  emplace(_Args&&... __args)
1412:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1412: # 520 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace_hint(const_iterator __pos, _Args&&... __args)
1412:  {
1412:    return _M_t._M_emplace_hint_equal(__pos,
1412:          std::forward<_Args>(__args)...);
1412:  }
1412: # 542 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       iterator
1412:       insert(const value_type& __x)
1412:       { return _M_t._M_insert_equal(__x); }
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       insert(value_type&& __x)
1412:       { return _M_t._M_insert_equal(std::move(__x)); }
1412: 
1412:       template<typename _Pair>
1412:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1412:  insert(_Pair&& __x)
1412:  { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); }
1412: # 581 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       iterator
1412: 
1412:       insert(const_iterator __position, const value_type& __x)
1412: 
1412: 
1412: 
1412:       { return _M_t._M_insert_equal_(__position, __x); }
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __position, value_type&& __x)
1412:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1412: 
1412:       template<typename _Pair>
1412:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1412:  insert(const_iterator __position, _Pair&& __x)
1412:  {
1412:    return _M_t._M_emplace_hint_equal(__position,
1412:          std::forward<_Pair>(__x));
1412:  }
1412: # 615 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  insert(_InputIterator __first, _InputIterator __last)
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: # 628 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       void
1412:       insert(initializer_list<value_type> __l)
1412:       { this->insert(__l.begin(), __l.end()); }
1412: 
1412: 
1412: 
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1412:  return _M_t.extract(__pos);
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const key_type& __x)
1412:       { return _M_t.extract(__x); }
1412: 
1412: 
1412:       iterator
1412:       insert(node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1412: 
1412:       template<typename, typename>
1412:  friend struct std::_Rb_tree_merge_helper;
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1412:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1412:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Cmp2>
1412:  void
1412:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: # 705 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       iterator
1412:       erase(const_iterator __position)
1412:       { return _M_t.erase(__position); }
1412: 
1412: 
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(iterator __position)
1412:       { return _M_t.erase(__position); }
1412: # 742 "/usr/include/c++/12/b:       noexcept
1417:       { return __x._M_exception_object == __y._M_exception_object; }
1417: 
1417:       friend bool
1417:       operator!=(const exception_ptr& __x, const exception_ptr& __y)
1417:       noexcept
1417:       { return __x._M_exception_object != __y._M_exception_object; }
1417: 
1417: 
1417:       const class std::type_info*
1417:       __cxa_exception_type() const noexcept
1417:  __attribute__ ((__pure__));
1417:     };
1417: 
1417:    
1417:     inline
1417:     exception_ptr::exception_ptr() noexcept
1417:     : _M_exception_object(0)
1417:     { }
1417: 
1417:    
1417:     inline
1417:     exception_ptr::exception_ptr(const exception_ptr& __other)
1417:     noexcept
1417:     : _M_exception_object(__other._M_exception_object)
1417:     {
1417:       if (_M_exception_object)
1417:  _M_addref();
1417:     }
1417: 
1417:    
1417:     inline
1417:     exception_ptr::~exception_ptr() noexcept
1417:     {
1417:       if (_M_exception_object)
1417:  _M_release();
1417:     }
1417: 
1417:    
1417:     inline exception_ptr&
1417:     exception_ptr::operator=(const exception_ptr& __other) noexcept
1417:     {
1417:       exception_ptr(__other).swap(*this);
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     inline void
1417:     exception_ptr::swap(exception_ptr &__other) noexcept
1417:     {
1417:       void *__tmp = _M_exception_object;
1417:       _M_exception_object = __other._M_exception_object;
1417:       __other._M_exception_object = __tmp;
1417:     }
1417: 
1417: 
1417:     inline void
1417:     swap(exception_ptr& __lhs, exception_ptr& __rhs)
1417:     { __lhs.swap(__rhs); }
1417: 
1417: 
1417:     template<typename _Ex>
1417:      
1417:       inline void
1417:       __dest_thunk(void* __x)
1417:       { static_cast<_Ex*>(__x)->~_Ex(); }
1417: 
1417: 
1417:   }
1417: 
1417: 
1417: 
1417:   template<typename _Ex>
1417:     exception_ptr
1417:     make_exception_ptr(_Ex __ex) noexcept
1417:     {
1417: 
1417:       using _Ex2 = typename decay<_Ex>::type;
1417:       void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
1417:       (void) __cxxabiv1::__cxa_init_primary_exception(
1417:    __e, const_cast<std::type_info*>(&typeid(_Ex)),
1417:    __exception_ptr::__dest_thunk<_Ex2>);
1417:       try
1417:  {
1417:    ::new (__e) _Ex2(__ex);
1417:    return exception_ptr(__e);
1417:  }
1417:       catch(...)
1417:  {
1417:    __cxxabiv1::__cxa_free_exception(__e);
1417:    return current_exception();
1417:  }
1417: # 268 "/usr/include/c++/12/bits/exception_ptr.h" 3
1417:     }
1417: # 282 "/usr/include/c++/12/bits/exception_ptr.h" 3
1417: }
1417: 
1417: }
1417: 
1417: #pragma GCC visibility pop
1417: # 169 "/usr/include/c++/12/exception" 2 3
1417: # 1 "/usr/include/c++/12/bits/nested_exception.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/nested_exception.h" 3
1417: #pragma GCC visibility push(default)
1417: # 42 "/usr/include/c++/12/bits/nested_exception.h" 3
1417: extern "C++" {
1417: 
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class nested_exception
1417:   {
1417:     exception_ptr _M_ptr;
1417: 
1417:   public:
1417:     nested_exception() noexcept : _M_ptr(current_exception()) { }
1417: 
1417:     nested_exception(const nested_exception&) noexcept = default;
1417: 
1417:     nested_exception& operator=(const nested_exception&) noexcept = default;
1417: 
1417:     virtual ~nested_exception() noexcept;
1417: 
1417:     [[noreturn]]
1417:     void
1417:     rethrow_nested() const
1417:     {
1417:       if (_M_ptr)
1417:  rethrow_exception(_M_ptr);
1417:       std::terminate();
1417:     }
1417: 
1417:     exception_ptr
1417:     nested_ptr() const noexcept
1417:     { return _M_ptr; }
1417:   };
1417: 
1417: 
1417: 
1417:   template<typename _Except>
1417:     struct _Nested_exception : public _Except, public nested_exception
1417:     {
1417:       explicit _Nested_exception(const _Except& __ex)
1417:       : _Except(__ex)
1417:       { }
1417: 
1417:       explicit _Nested_exception(_Except&& __ex)
1417:       : _Except(static_cast<_Exce  _Compare, _Alloc>::_Base_ptr>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_get_insert_equal_pos(const key_type& __k)
609:     {
609:       typedef pair<_Base_ptr, _Base_ptr> _Res;
609:       _Link_type __x = _M_begin();
609:       _Base_ptr __y = _M_end();
609:       while (__x != 0)
609:  {
609:    __y = __x;
609:    __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
609:   _S_left(__x) : _S_right(__x);
609:  }
609:       return _Res(__x, __y);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609: 
609:     template<typename _Arg>
609: 
609:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::iterator, bool>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609: 
609:     _M_insert_unique(_Arg&& __v)
609: 
609: 
609: 
609:     {
609:       typedef pair<iterator, bool> _Res;
609:       pair<_Base_ptr, _Base_ptr> __res
609:  = _M_get_insert_unique_pos(_KeyOfValue()(__v));
609: 
609:       if (__res.second)
609:  {
609:    _Alloc_node __an(*this);
609:    return _Res(_M_insert_(__res.first, __res.second,
609:      std::forward<_Arg>(__v), __an),
609:         true);
609:  }
609: 
609:       return _Res(iterator(__res.first), false);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609: 
609:     template<typename _Arg>
609: 
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609: 
609:     _M_insert_equal(_Arg&& __v)
609: 
609: 
609: 
609:     {
609:       pair<_Base_ptr, _Base_ptr> __res
609:  = _M_get_insert_equal_pos(_KeyOfValue()(__v));
609:       _Alloc_node __an(*this);
609:       return _M_insert_(__res.first, __res.second,
609:    std::forward<_Arg>(__v), __an);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::_Base_ptr,
609:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::_Base_ptr>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_get_insert_hint_unique_pos(const_iterator __position,
609:       const key_type& __k)
609:     {
609:       iterator __pos = __position._M_const_cast();
609:       typedef pair<_Base_ptr, _Base_ptr> _Res;
609: 
609: 
609:       if (__pos._M_node == _M_end())
609:  {
609:    if (size() > 0
609:        && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k))
609:      return _Res(0, _M_rightmost());
609:    else
609:      return _M_get_insert_unique_pos(__k);
609:  }
609:       else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
609:  {
609: 
609:    iterator __before = __pos;
609:    if (__pos._M_node == _M_leftmost())
609:      return _Res(_M_leftmost(), _M_leftmost());
609:    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
609:      {
609:        if (_S_right(__before._M_node) == 0)
609:   return _Res(0, __before._M_node);
609:        else
609:   return _Res(__pos._M_node, __pos._M_node);
609:      }
609:    else
609:      return _M_get_insert_unique_pos(__k);
609:  }
609:       else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
609:  {
609: 
609:    iterator __after = __pos;
609:    if (__pos._M_node == _M_rightmost())
609:      return _Res(0, _M_rightmost());
609:    else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
609:      {
609:        if (_S_right(__pos._M_node) == 0)
609:   return _Res(0, __pos._M_node);
609:        else
609:   return _Res(__after._M_node, __after._M_node);
609:      }
609:    else
609:      return _M_get_insert_unique_pos(__k);
609:  }
609:       else
609: 
609:  return _Res(__pos._M_node, 0);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609: 
609:     template<typename _Arg, typename _pt&&>(__ex))
1417:       { }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[noreturn]]
1417:     inline void
1417:     __throw_with_nested_impl(_Tp&& __t, true_type)
1417:     {
1417:       using _Up = typename remove_reference<_Tp>::type;
1417:       throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     [[noreturn]]
1417:     inline void
1417:     __throw_with_nested_impl(_Tp&& __t, false_type)
1417:     { throw std::forward<_Tp>(__t); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[noreturn]]
1417:     inline void
1417:     throw_with_nested(_Tp&& __t)
1417:     {
1417:       using _Up = typename decay<_Tp>::type;
1417:       using _CopyConstructible
1417:  = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
1417:       static_assert(_CopyConstructible::value,
1417:    "throw_with_nested argument must be CopyConstructible");
1417:       using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>,
1417:        __not_<is_base_of<nested_exception, _Up>>>;
1417:       std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{});
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using __rethrow_if_nested_cond = typename enable_if<
1417:       __and_<is_polymorphic<_Tp>,
1417:       __or_<__not_<is_base_of<nested_exception, _Tp>>,
1417:      is_convertible<_Tp*, nested_exception*>>>::value
1417:     >::type;
1417: 
1417: 
1417:   template<typename _Ex>
1417:     inline __rethrow_if_nested_cond<_Ex>
1417:     __rethrow_if_nested_impl(const _Ex* __ptr)
1417:     {
1417:       if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
1417:  __ne_ptr->rethrow_nested();
1417:     }
1417: 
1417: 
1417:   inline void
1417:   __rethrow_if_nested_impl(const void*)
1417:   { }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Ex>
1417:     inline void
1417:     rethrow_if_nested(const _Ex& __ex)
1417:     { std::__rethrow_if_nested_impl(std::__addressof(__ex)); }
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: #pragma GCC visibility pop
1417: # 170 "/usr/include/c++/12/exception" 2 3
1417: # 39 "/usr/include/c++/12/stdexcept" 2 3
1417: # 1 "/usr/include/c++/12/string" 1 3
1417: # 36 "/usr/include/c++/12/string" 3
1417:        
1417: # 37 "/usr/include/c++/12/string" 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stringfwd.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/stringfwd.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/stringfwd.h" 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/memoryfwd.h" 1 3
1417: # 46 "/usr/include/c++/12/bits/memoryfwd.h" 3
1417:        
1417: # 47 "/usr/include/c++/12/bits/memoryfwd.h" 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 63 "/usr/include/c++/12/bits/memoryfwd.h" 3
1417:   template<typename>
1417:     class allocator;
1417: 
1417:   template<>
1417:     class allocator<void>;
1417: 
1417: 
1417: 
1417:   template<typename, typename>
1417:     struct uses_allocator;
1417: 
1417:   template<typename>
1417:     struct allocator_traits;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 41 "/usr/include/c++/12/bits/stringfwd.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<class _CharT>
1417:     struct char_traits;
1417: 
1417:   template<> struct char_traits<char>;
1417: 
1417:   template<> struct char_traits<wchar_t>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<> struct char_traits<char16_t>;
1417:   template<> struct char_traits<char32_t>;
1417: 
1417: 
1417: namespace __cxx11 {
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1417:            typename _Alloc = allocator<_CharT> >
1417:     class basic_string;
1417: 
1417: }
1417: 
1417: 
1417:   typedef basic_string<char> string;
1417: 
1417: 
1417:   typedef basic_string<wchar_t> wstring;
1417: # 89its/stl_multimap.h" 3
1412:       size_type
1412:       erase(const key_type& __x)
1412:       { return _M_t.erase(__x); }
1412: # 763 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       iterator
1412:       erase(const_iterator __first, const_iterator __last)
1412:       { return _M_t.erase(__first, __last); }
1412: # 800 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       void
1412:       swap(multimap& __x)
1412:       noexcept(__is_nothrow_swappable<_Compare>::value)
1412:       { _M_t.swap(__x._M_t); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       clear() noexcept
1412:       { _M_t.clear(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       key_compare
1412:       key_comp() const
1412:       { return _M_t.key_comp(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       value_compare
1412:       value_comp() const
1412:       { return value_compare(_M_t.key_comp()); }
1412: # 846 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       iterator
1412:       find(const key_type& __x)
1412:       { return _M_t.find(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1412:  { return _M_t._M_find_tr(__x); }
1412: # 870 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       const_iterator
1412:       find(const key_type& __x) const
1412:       { return _M_t.find(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1412:  { return _M_t._M_find_tr(__x); }
1412: # 888 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       size_type
1412:       count(const key_type& __x) const
1412:       { return _M_t.count(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1412:  { return _M_t._M_count_tr(__x); }
1412: # 931 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       iterator
1412:       lower_bound(const key_type& __x)
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1412: # 956 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       const_iterator
1412:       lower_bound(const key_type& __x) const
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x) const
1412:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1412: # 976 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       iterator
1412:       upper_bound(const key_type& __x)
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1412: # 996 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       const_iterator
1412:       upper_bound(const key_type& __x) const
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x) const
1412:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1412: # 1023 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       std::pair<iterator, iterator>
1412:       equal_range(const key_type& __x)
1412:       { return _M_t.equal_range(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x)
1412:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1412:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1412: # 1050 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:       std::pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __x) const
1412:      "/usr/include/c++/12/bits/stringfwd.h" 3
1417:   typedef basic_string<char16_t> u16string;
1417: 
1417: 
1417:   typedef basic_string<char32_t> u32string;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 40 "/usr/include/c++/12/string" 2 3
1417: # 1 "/usr/include/c++/12/bits/char_traits.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/char_traits.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/char_traits.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/postypes.h" 1 3
1417: # 38 "/usr/include/c++/12/bits/postypes.h" 3
1417:        
1417: # 39 "/usr/include/c++/12/bits/postypes.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/cwchar" 1 3
1417: # 39 "/usr/include/c++/12/cwchar" 3
1417:        
1417: # 40 "/usr/include/c++/12/cwchar" 3
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/wchar.h" 1 3 4
1417: # 27 "/usr/include/wchar.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1417: # 28 "/usr/include/wchar.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1417: # 31 "/usr/include/wchar.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 36 "/usr/include/wchar.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1417: # 40 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 3 4
1417: typedef __builtin_va_list __gnuc_va_list;
1417: # 39 "/usr/include/wchar.h" 2 3 4
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar.h" 1 3 4
1417: # 41 "/usr/include/wchar.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 1 3 4
1417: # 20 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 3 4
1417: typedef unsigned int wint_t;
1417: # 42 "/usr/include/wchar.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 1 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 1 3 4
1417: # 13 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 3 4
1417: typedef struct
1417: {
1417:   int __count;
1417:   union
1417:   {
1417:     unsigned int __wch;
1417:     char __wchb[4];
1417:   } __value;
1417: } __mbstate_t;
1417: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 2 3 4
1417: 
1417: typedef __mbstate_t mbstate_t;
1417: # 43 "/usr/include/wchar.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__FILE.h" 1 3 4
1417: 
1417: 
1417: 
1417: struct _IO_FILE;
1417: typedef struct _IO_FILE __FILE;
1417: # 44 "/usr/include/wchar.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/FILE.h" 1 3 4
1417: 
1417: 
1417: 
1417: struct _IO_FILE;
1417: 
1417: 
1417: typedef struct _IO_FILE FILE;
1417: # 47 "/usr/include/wchar.h" 2 3 4
1417: # 79 "/usr/include/wchar.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: struct tm;
1417: 
1417: 
1417: 
1417: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
1417:    const wchar_t *__restrict __src)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
1417:     const wchar_t *__restrict __src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern wchar_t *wcscat (wchar_t *__restrict __dest,
1417:    const wchar_t *__restrict __src)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
1417:     const wchar_t *__restrict __src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1417: 
1417: 
1417: NodeGen>
609: 
609: 
609: 
609:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_insert_unique_(const_iterator __position,
609: 
609:    _Arg&& __v,
609: 
609: 
609: 
609:    _NodeGen& __node_gen)
609:     {
609:       pair<_Base_ptr, _Base_ptr> __res
609:  = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v));
609: 
609:       if (__res.second)
609:  return _M_insert_(__res.first, __res.second,
609:      std::forward<_Arg>(__v),
609:      __node_gen);
609:       return iterator(__res.first);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::_Base_ptr,
609:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:       _Compare, _Alloc>::_Base_ptr>
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k)
609:     {
609:       iterator __pos = __position._M_const_cast();
609:       typedef pair<_Base_ptr, _Base_ptr> _Res;
609: 
609: 
609:       if (__pos._M_node == _M_end())
609:  {
609:    if (size() > 0
609:        && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost())))
609:      return _Res(0, _M_rightmost());
609:    else
609:      return _M_get_insert_equal_pos(__k);
609:  }
609:       else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
609:  {
609: 
609:    iterator __before = __pos;
609:    if (__pos._M_node == _M_leftmost())
609:      return _Res(_M_leftmost(), _M_leftmost());
609:    else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node)))
609:      {
609:        if (_S_right(__before._M_node) == 0)
609:   return _Res(0, __before._M_node);
609:        else
609:   return _Res(__pos._M_node, __pos._M_node);
609:      }
609:    else
609:      return _M_get_insert_equal_pos(__k);
609:  }
609:       else
609:  {
609: 
609:    iterator __after = __pos;
609:    if (__pos._M_node == _M_rightmost())
609:      return _Res(0, _M_rightmost());
609:    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k))
609:      {
609:        if (_S_right(__pos._M_node) == 0)
609:   return _Res(0, __pos._M_node);
609:        else
609:   return _Res(__after._M_node, __after._M_node);
609:      }
609:    else
609:      return _Res(0, 0);
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609: 
609:     template<typename _Arg, typename _NodeGen>
609: 
609: 
609: 
609:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_insert_equal_(const_iterator __position,
609: 
609:          _Arg&& __v,
609: 
609: 
609: 
609:          _NodeGen& __node_gen)
609:       {
609:  pair<_Base_ptr, _Base_ptr> __res
609:    = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v));
609: 
609:  if (__res.second)
609:    return _M_insert_(__res.first, __res.second,
609:        std::forward<_Arg>(__v),
609:        __node_gen);
609: 
609:  return _M_insert_equal_lower(std::forward<_Arg>(__v));
609:       }
609: 
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     auto
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z)
609:     -> iterator
609:     {
609:       bool __insert_left = (__x != 0 || __p == _M_end()
609:        || _M_impl._M_key_compare(_S_key(__z),
609:             _S_key(__p)));
609: 
609:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
609:         this->_M_impl._M_header);
609:       ++_M_impl._M_node_count;
609:       return iterator(__z);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     auto
609:     _Rb_t  { return _M_t.equal_range(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x) const
1412:  -> decltype(pair<const_iterator, const_iterator>(
1412:        _M_t._M_equal_range_tr(__x)))
1412:  {
1412:    return pair<const_iterator, const_iterator>(
1412:        _M_t._M_equal_range_tr(__x));
1412:  }
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator==(const multimap<_K1, _T1, _C1, _A1>&,
1412:      const multimap<_K1, _T1, _C1, _A1>&);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator<(const multimap<_K1, _T1, _C1, _A1>&,
1412:     const multimap<_K1, _T1, _C1, _A1>&);
1412: 
1412:   };
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator,
1412:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1412:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multimap(_InputIterator, _InputIterator,
1412:       _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1412:   _Compare, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
1412:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multimap(initializer_list<pair<_Key, _Tp>>,
1412:       _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> multimap<_Key, _Tp, _Compare, _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multimap(_InputIterator, _InputIterator, _Allocator)
1412:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1412:   less<__iter_key_t<_InputIterator>>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1412:     -> multimap<_Key, _Tp, less<_Key>, _Allocator>;
1412: # 1130 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return __x._M_t == __y._M_t; }
1412: # 1168 "/usr/include/c++/12/bits/stl_multimap.h" 3
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1412:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return __x._M_t < __y._M_t; }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1412:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
1417:    size_t __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1417:     locale_t __loc) noexcept (true);
1417: 
1417: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1417:      size_t __n, locale_t __loc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1417: 
1417: 
1417: 
1417: extern size_t wcsxfrm (wchar_t *__restrict __s1,
1417:          const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
1417:         locale_t __loc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
1417:     size_t __n, locale_t __loc) noexcept (true);
1417: 
1417: 
1417: extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
1417:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1417: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
1417:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
1417:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1417: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
1417:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1417: # 182 "/usr/include/wchar.h" 3 4
1417: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
1417:      noexcept (true) __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
1417:      noexcept (true) __attribute__ ((__pure__));
1417: 
1417: 
1417: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
1417:      noexcept (true) __attribute__ ((__pure__));
1417: 
1417: 
1417: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
1417:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1417: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
1417:          const wchar_t *__accept)
1417:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
1417:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1417: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
1417:         const wchar_t *__needle)
1417:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wchar_t *wcstok (wchar_t *__restrict __s,
1417:    const wchar_t *__restrict __delim,
1417:    wchar_t **__restrict __ptr) noexcept (true);
1417: 
1417: 
1417: extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
1417:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1417: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
1417:         const wchar_t *__needle)
1417:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1417: # 241 "/usr/include/wchar.h" 3 4
1417: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
1417:      noexcept (true) __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
1417:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1417: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
1417:          size_t __n)
1417:      noexcept (true) ree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_insert_lower_node(_Base_ptr __p, _Link_type __z)
609:     -> iterator
609:     {
609:       bool __insert_left = (__p == _M_end()
609:        || !_M_impl._M_key_compare(_S_key(__p),
609:              _S_key(__z)));
609: 
609:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
609:         this->_M_impl._M_header);
609:       ++_M_impl._M_node_count;
609:       return iterator(__z);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     auto
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_insert_equal_lower_node(_Link_type __z)
609:     -> iterator
609:     {
609:       _Link_type __x = _M_begin();
609:       _Base_ptr __y = _M_end();
609:       while (__x != 0)
609:  {
609:    __y = __x;
609:    __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ?
609:   _S_left(__x) : _S_right(__x);
609:  }
609:       return _M_insert_lower_node(__y, __z);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     template<typename... _Args>
609:       auto
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_emplace_unique(_Args&&... __args)
609:       -> pair<iterator, bool>
609:       {
609:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
609:  auto __res = _M_get_insert_unique_pos(__z._M_key());
609:  if (__res.second)
609:    return {__z._M_insert(__res), true};
609:  return {iterator(__res.first), false};
609:       }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     template<typename... _Args>
609:       auto
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_emplace_equal(_Args&&... __args)
609:       -> iterator
609:       {
609:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
609:  auto __res = _M_get_insert_equal_pos(__z._M_key());
609:  return __z._M_insert(__res);
609:       }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     template<typename... _Args>
609:       auto
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args)
609:       -> iterator
609:       {
609:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
609:  auto __res = _M_get_insert_hint_unique_pos(__pos, __z._M_key());
609:  if (__res.second)
609:    return __z._M_insert(__res);
609:  return iterator(__res.first);
609:       }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     template<typename... _Args>
609:       auto
609:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:       _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args)
609:       -> iterator
609:       {
609:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
609:  auto __res = _M_get_insert_hint_equal_pos(__pos, __z._M_key());
609:  if (__res.second)
609:    return __z._M_insert(__res);
609:  return __z._M_insert_equal_lower();
609:       }
609: 
609: 
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     void
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_erase_aux(const_iterator __position)
609:     {
609:       _Link_type __y =
609:  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
609:     (const_cast<_Base_ptr>(__position._M_node),
609:      this->_M_impl._M_header));
609:       _M_drop_node(__y);
609:       --_M_impl._M_node_count;
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     void
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     _M_erase_aux(const_iterator __first, const_iterator __last)
609:   __asm ("wmemchr") __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1417:      noexcept (true) __attribute__ ((__pure__));
1417: 
1417: 
1417: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
1417:     const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
1417:      noexcept (true);
1417: 
1417: 
1417: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
1417:      const wchar_t *__restrict __s2, size_t __n)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t btowc (int __c) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int wctob (wint_t __c) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__));
1417: 
1417: 
1417: 
1417: extern size_t mbrtowc (wchar_t *__restrict __pwc,
1417:          const char *__restrict __s, size_t __n,
1417:          mbstate_t *__restrict __p) noexcept (true);
1417: 
1417: 
1417: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
1417:          mbstate_t *__restrict __ps) noexcept (true);
1417: 
1417: 
1417: extern size_t __mbrlen (const char *__restrict __s, size_t __n,
1417:    mbstate_t *__restrict __ps) noexcept (true);
1417: extern size_t mbrlen (const char *__restrict __s, size_t __n,
1417:         mbstate_t *__restrict __ps) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t __btowc_alias (int __c) __asm ("btowc");
1417: extern __inline __attribute__ ((__gnu_inline__)) wint_t
1417: __attribute__ ((__leaf__)) btowc (int __c) noexcept (true)
1417: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
1417:    ? (wint_t) __c : __btowc_alias (__c)); }
1417: 
1417: extern int __wctob_alias (wint_t __c) __asm ("wctob");
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: __attribute__ ((__leaf__)) wctob (wint_t __wc) noexcept (true)
1417: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
1417:    ? (int) __wc : __wctob_alias (__wc)); }
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) size_t
1417: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) noexcept (true)
1417: 
1417: { return (__ps != __null
1417:    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
1417: 
1417: 
1417: 
1417: 
1417: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
1417:     const char **__restrict __src, size_t __len,
1417:     mbstate_t *__restrict __ps) noexcept (true);
1417: 
1417: 
1417: 
1417: extern size_t wcsrtombs (char *__restrict __dst,
1417:     const wchar_t **__restrict __src, size_t __len,
1417:     mbstate_t *__restrict __ps) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
1417:      const char **__restrict __src, size_t __nmc,
1417:      size_t __len, mbstate_t *__restrict __ps) noexcept (true);
1417: 
1417: 
1417: 
1417: extern size_t wcsnrtombs (char *__restrict __dst,
1417:      const wchar_t **__restrict __src,
1417:      size_t __nwc, size_t __len,
1417:      mbstate_t *__restrict __ps) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int wcwidth (wchar_t __c) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double wcstod (const wchar_t *__restrict __nptr,
1417:         wchar_t **__restrict __endptr) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float wcstof (const wchar_t *__restrict __nptr,
1417:        wchar_t **__restrict __endptr) noexcept (true);
1417: extern long double wcstold (const wchar_t *__restrict __nptr,
1417:        wchar_t **__restrict __endptr) noexcept (true);
1417: # 397 "/usr/include/wchar.h" 3 4
1417: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
1417:      wchar_t **__restrict __endptr) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
1417:      wchar_t **__restrict __endptr) noexcept (true);
1417: # 412 "/usr/include/wchar.h" 3 4
1417: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
1417:        wchar_t **__restrict __endptr) noexcept (true);
1417: # 429 "/usr/include/wchar.h" 3 4
1417: extern long int wcstol (const wchar_t *__restrict __nptr,
1417:    wchar_t **__restrict __endptr, int __base) noexcept (true);
1417: 
1417: 
1417: 
1417: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
1417:       wchar_t **__restrict __endptr, int __base)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: __extension__
1417: extern long long int wcstoll (const wchar_t *__restrict __nptr,
1417:          wchar_t **__restrict __endptr, int __base)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: __extension__
1417: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
1417:      wchar_t **__restrict __endptr,
1417:      int __base) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: __extension__
1417: extern long long int wcstoq (const wchar_t *__restrict __nptr,
1417:         wchar_t **__restrict __endptr, int __base)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: __extension__
1417: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
1417:            wchar_t **__restrict __endptr,
1417:            int __base) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int wcstol_l (const wchar_t *__restrict __nptr,
1417:      wchar_t **__restrict __endptr, int __base,
1417:      locale_t __loc) noexcept (true);
1417: 
1417: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
1417:         wchar_t **__restrict __endptr,
1417:         int __base, locale_t __loc) noexcept (true);
1417: 
1417: __extension__
1417: extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
1417:     wchar_t **__restrict __endptr,
1417:     int __base, locale_t __loc) noexcept (true);
1417: 
1417: __extension__
1417: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
1417:        wchar_t **__restrict __endptr,
1417:        int __base, locale_t __loc)
1417:      noexcept (true);
1417: 
1417: extern double wcstod_l (const wchar_t *__restrict __nptr,
1417:    wchar_t **__restrict __endptr, locale_t __loc)
1417:      noexcept (true);
1417: 
1417: extern float wcstof_l (const wchar_t *__restrict __nptr,
1417:          wchar_t **__restrict __endptr, locale_t __loc)
1417:      noexcept (true);
1417: 
1417: extern long double wcstold_l (const wchar_t *__restrict __nptr,
1417:          wchar_t **__restrict __endptr,
1417:          locale_t __loc) noexcept (true);
1417: # 512 "/usr/include/wchar.h" 3 4
1417: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
1417:        wchar_t **__restrict __endptr,
1417:        locale_t __loc) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
1417:        wchar_t **__restrict __endptr,
1417:        locale_t __loc) noexcept (true);
1417: # 530 "/usr/include/wchar.h" 3 4
1417: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
1417:          wchar_t **__restrict __endptr,
1417:          locale_t __loc) noexcept (true);
1417: # 552 "/usr/include/wchar.h" 3 4
1417: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
1417:    const wchar_t *__restrict __src) noexcept (true);
1417: 
1417: 
1417: 
1417: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
1417:     const wchar_t *__restrict __src, size_t __n)
1417:      noexcept (true);
1417: # 581 "/usr/include/wchar.h" 3 4
1417: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1417:   __attribute__ ((__malloc__)) ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fwide (__FILE *__fp, int __mode) noexCompare, typename _Alloc>
1412:     inline bool
1412:     operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1412:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1412:     inline void
1412:     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1412:   multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1412:     typename _Cmp2>
1412:     struct
1412:     _Rb_tree_merge_helper<std::multimap<_Key, _Val, _Cmp1, _Alloc>,
1412:      _Cmp2>
1412:     {
1412:     private:
1412:       friend class std::multimap<_Key, _Val, _Cmp1, _Alloc>;
1412: 
1412:       static auto&
1412:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1412:       { return __map._M_t; }
1412: 
1412:       static auto&
1412:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1412:       { return __map._M_t; }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 63 "/usr/include/c++/12/map" 2 3
1412: # 1 "/usr/include/c++/12/bits/range_access.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/range_access.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/range_access.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     begin(_Container& __cont) -> decltype(__cont.begin())
1412:     { return __cont.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     begin(const _Container& __cont) -> decltype(__cont.begin())
1412:     { return __cont.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     end(_Container& __cont) -> decltype(__cont.end())
1412:     { return __cont.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     end(const _Container& __cont) -> decltype(__cont.end())
1412:     { return __cont.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:     [[__nodiscard__]]
1412:     inline constexpr _Tp*
1412:     begin(_Tp (&__arr)[_Nm]) noexcept
1412:     { return __arr; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:     [[__nodiscard__]]
1412:     inline constexpr _Tp*
1412:     end(_Tp (&__arr)[_Nm]) noexcept
1412:     { return __arr + _Nm; }
1412: 
1412: 
1412: 
1412:   template<typename _Tp> class valarray;
1412: 
1412:   template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
1412:   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
1412:   template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
1412:   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     constexpr auto
1412:     cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
1412:       -> decltype(std::begin(__cont))
1412:     { return std::begin(__cont); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     constexpr auto
1412:     cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
1412:       -> decltype(std::end(__cont))
1412:     { return std::end(__cont); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     rbegin(_Container& __cont) -> decltype(__cont.rbegin())
1  {
609:       if (__first == begin() && __last == end())
609:  clear();
609:       else
609:  while (__first != __last)
609:    _M_erase_aux(__first++);
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     erase(const _Key& __x)
609:     {
609:       pair<iterator, iterator> __p = equal_range(__x);
609:       const size_type __old_size = size();
609:       _M_erase_aux(__p.first, __p.second);
609:       return __old_size - size();
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:         _Compare, _Alloc>::iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     find(const _Key& __k)
609:     {
609:       iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
609:       return (__j == end()
609:        || _M_impl._M_key_compare(__k,
609:      _S_key(__j._M_node))) ? end() : __j;
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
609:         _Compare, _Alloc>::const_iterator
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     find(const _Key& __k) const
609:     {
609:       const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
609:       return (__j == end()
609:        || _M_impl._M_key_compare(__k,
609:      _S_key(__j._M_node))) ? end() : __j;
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
609:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
609:     count(const _Key& __k) const
609:     {
609:       pair<const_iterator, const_iterator> __p = equal_range(__k);
609:       const size_type __n = std::distance(__p.first, __p.second);
609:       return __n;
609:     }
609: 
609:   __attribute__ ((__pure__)) unsigned int
609:   _Rb_tree_black_count(const _Rb_tree_node_base* __node,
609:          const _Rb_tree_node_base* __root) throw ();
609: 
609:   template<typename _Key, typename _Val, typename _KeyOfValue,
609:     typename _Compare, typename _Alloc>
609:     bool
609:     _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
609:     {
609:       if (_M_impl._M_node_count == 0 || begin() == end())
609:  return _M_impl._M_node_count == 0 && begin() == end()
609:         && this->_M_impl._M_header._M_left == _M_end()
609:         && this->_M_impl._M_header._M_right == _M_end();
609: 
609:       unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
609:       for (const_iterator __it = begin(); __it != end(); ++__it)
609:  {
609:    _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
609:    _Const_Link_type __L = _S_left(__x);
609:    _Const_Link_type __R = _S_right(__x);
609: 
609:    if (__x->_M_color == _S_red)
609:      if ((__L && __L->_M_color == _S_red)
609:   || (__R && __R->_M_color == _S_red))
609:        return false;
609: 
609:    if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
609:      return false;
609:    if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
609:      return false;
609: 
609:    if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len)
609:      return false;
609:  }
609: 
609:       if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
609:  return false;
609:       if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
609:  return false;
609:       return true;
609:     }
609: 
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Sel, typename _Cmp1,
609:     typename _Alloc, typename _Cmp2>
609:     struct _Rb_tree_merge_helper<_Rb_tree<_Key, _Val, _Sel, _Cmpcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fwprintf (__FILE *__restrict __stream,
1417:        const wchar_t *__restrict __format, ...)
1417:                                                            ;
1417: 
1417: 
1417: 
1417: 
1417: extern int wprintf (const wchar_t *__restrict __format, ...)
1417:                                                            ;
1417: 
1417: extern int swprintf (wchar_t *__restrict __s, size_t __n,
1417:        const wchar_t *__restrict __format, ...)
1417:      noexcept (true) ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int vfwprintf (__FILE *__restrict __s,
1417:         const wchar_t *__restrict __format,
1417:         __gnuc_va_list __arg)
1417:                                                            ;
1417: 
1417: 
1417: 
1417: 
1417: extern int vwprintf (const wchar_t *__restrict __format,
1417:        __gnuc_va_list __arg)
1417:                                                            ;
1417: 
1417: 
1417: extern int vswprintf (wchar_t *__restrict __s, size_t __n,
1417:         const wchar_t *__restrict __format,
1417:         __gnuc_va_list __arg)
1417:      noexcept (true) ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fwscanf (__FILE *__restrict __stream,
1417:       const wchar_t *__restrict __format, ...)
1417:                                                           ;
1417: 
1417: 
1417: 
1417: 
1417: extern int wscanf (const wchar_t *__restrict __format, ...)
1417:                                                           ;
1417: 
1417: extern int swscanf (const wchar_t *__restrict __s,
1417:       const wchar_t *__restrict __format, ...)
1417:      noexcept (true) ;
1417: # 657 "/usr/include/wchar.h" 3 4
1417: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf")
1417: 
1417: 
1417:                                                           ;
1417: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf")
1417: 
1417:                                                           ;
1417: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_swscanf")
1417: 
1417: 
1417:                                                           ;
1417: # 688 "/usr/include/wchar.h" 3 4
1417: extern int vfwscanf (__FILE *__restrict __s,
1417:        const wchar_t *__restrict __format,
1417:        __gnuc_va_list __arg)
1417:                                                           ;
1417: 
1417: 
1417: 
1417: 
1417: extern int vwscanf (const wchar_t *__restrict __format,
1417:       __gnuc_va_list __arg)
1417:                                                           ;
1417: 
1417: extern int vswscanf (const wchar_t *__restrict __s,
1417:        const wchar_t *__restrict __format,
1417:        __gnuc_va_list __arg)
1417:      noexcept (true) ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf")
1417: 
1417: 
1417:                                                           ;
1417: extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf")
1417: 
1417:                                                           ;
1417: extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vswscanf")
1417: 
1417: 
1417:                                                           ;
1417: # 744 "/usr/include/wchar.h" 3 4
1417: extern wint_t fgetwc (__FILE *__stream);
1417: extern wint_t getwc (__FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t getwchar (void);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
1417: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t putwchar (wchar_t __w412:     { return __cont.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     rbegin(const _Container& __cont) -> decltype(__cont.rbegin())
1412:     { return __cont.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     rend(_Container& __cont) -> decltype(__cont.rend())
1412:     { return __cont.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     rend(const _Container& __cont) -> decltype(__cont.rend())
1412:     { return __cont.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:     [[__nodiscard__]]
1412:     inline constexpr reverse_iterator<_Tp*>
1412:     rbegin(_Tp (&__arr)[_Nm]) noexcept
1412:     { return reverse_iterator<_Tp*>(__arr + _Nm); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:     [[__nodiscard__]]
1412:     inline constexpr reverse_iterator<_Tp*>
1412:     rend(_Tp (&__arr)[_Nm]) noexcept
1412:     { return reverse_iterator<_Tp*>(__arr); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]]
1412:     inline constexpr reverse_iterator<const _Tp*>
1412:     rbegin(initializer_list<_Tp> __il) noexcept
1412:     { return reverse_iterator<const _Tp*>(__il.end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]]
1412:     inline constexpr reverse_iterator<const _Tp*>
1412:     rend(initializer_list<_Tp> __il) noexcept
1412:     { return reverse_iterator<const _Tp*>(__il.begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont))
1412:     { return std::rbegin(__cont); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Container>
1412:     [[__nodiscard__]]
1412:     inline constexpr auto
1412:     crend(const _Container& __cont) -> decltype(std::rend(__cont))
1412:     { return std::rend(__cont); }
1412: # 261 "/usr/include/c++/12/bits/range_access.h" 3
1412:   template <typename _Container>
1412:     [[nodiscard]]
1412:     constexpr auto
1412:     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
1412:     -> decltype(__cont.size())
1412:     { return __cont.size(); }
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, size_t _Nm>
1412:     [[nodiscard]]
1412:     constexpr size_t
1412:     size(const _Tp (&)[_Nm]) noexcept
1412:     { return _Nm; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Container>
1412:     [[nodiscard]] constexpr auto
1412:     empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
1412:     -> decltype(__cont.empty())
1412:     { return __cont.empty(); }
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, size_t _Nm>
1412:     [[nodiscard]] constexpr bool
1412:     empty(const _Tp (&)[_Nm]) noexcept
1412:     { return false; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp>
1412:     [[nodiscard]] constexpr bool
1412:     empty(initializer_list<_Tp> __il) noexcept
1412:     { return __il.size() == 0;}
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Container>
1412:     [[nodiscard]]
1412:     constexpr auto
1412:     data(_Container& __cont) noexcept(noexcept(__cont.data()))
1412:     -> decltype(__cont.data())
1412:     { return __cont.data(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Container>
1412:     [[nodiscard]]
1412:     constexpr auto
1412:     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
1412:     -> decltype(__cont.data())
1412:     { return __cont.data(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, size_t _Nc);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
1417:    __FILE *__restrict __stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fputws (const wchar_t *__restrict __ws,
1417:      __FILE *__restrict __stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
1417: # 799 "/usr/include/wchar.h" 3 4
1417: extern wint_t getwc_unlocked (__FILE *__stream);
1417: extern wint_t getwchar_unlocked (void);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t fgetwc_unlocked (__FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
1417: # 825 "/usr/include/wchar.h" 3 4
1417: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
1417: extern wint_t putwchar_unlocked (wchar_t __wc);
1417: # 835 "/usr/include/wchar.h" 3 4
1417: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
1417:      __FILE *__restrict __stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fputws_unlocked (const wchar_t *__restrict __ws,
1417:        __FILE *__restrict __stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
1417:    const wchar_t *__restrict __format,
1417:    const struct tm *__restrict __tp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
1417:      const wchar_t *__restrict __format,
1417:      const struct tm *__restrict __tp,
1417:      locale_t __loc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 3 4
1417: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
1417:           const wchar_t *__restrict __s2, size_t __n,
1417:           size_t __ns1) noexcept (true);
1417: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
1417:     size_t __n, size_t __ns1) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
1417:     const wchar_t *__restrict __s2, size_t __n,
1417:     size_t __ns1) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
1417:           size_t __ns) noexcept (true);
1417: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
1417:          const wchar_t *__restrict __src,
1417:          size_t __n) noexcept (true);
1417: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
1417:          const wchar_t *__restrict __src,
1417:          size_t __destlen) noexcept (true);
1417: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
1417:           const wchar_t *__restrict __src, size_t __n,
1417:           size_t __destlen) noexcept (true);
1417: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
1417:           const wchar_t *__restrict __src, size_t __n,
1417:           size_t __destlen) noexcept (true);
1417: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
1417:          const wchar_t *__restrict __src,
1417:          size_t __destlen) noexcept (true);
1417: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
1417:           const wchar_t *__restrict __src,
1417:           size_t __n, size_t __destlen) noexcept (true);
1417: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
1417:       int __flag, size_t __s_len,
1417:       const wchar_t *__restrict __format, ...)
1417:      noexcept (true) ;
1417: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
1417:        int __flag, size_t __s_len,
1417:        const wchar_t *__restrict __format,
1417:        __gnuc_va_list __arg)
1417:      noexcept (true) ;
1417: 
1417: 
1417: 
1417: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
1417:       const wchar_t *__restrict __format, ...);
1417: extern int __wp1, _Alloc>,
609:      _Cmp2>
609:     {
609:     private:
609:       friend class _Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>;
609: 
609:       static auto&
609:       _S_get_impl(_Rb_tree<_Key, _Val, _Sel, _Cmp2, _Alloc>& __tree)
609:       { return __tree._M_impl; }
609:     };
609: 
609: 
609: 
609: }
609: # 61 "/usr/include/c++/12/map" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_map.h" 1 3
609: # 66 "/usr/include/c++/12/bits/stl_map.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     class multimap;
609: # 98 "/usr/include/c++/12/bits/stl_map.h" 3
609:   template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
609:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
609:     class map
609:     {
609:     public:
609:       typedef _Key key_type;
609:       typedef _Tp mapped_type;
609:       typedef std::pair<const _Key, _Tp> value_type;
609:       typedef _Compare key_compare;
609:       typedef _Alloc allocator_type;
609: 
609:     private:
609: # 123 "/usr/include/c++/12/bits/stl_map.h" 3
609:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
609:    "std::map must have the same value_type as its allocator");
609: 
609: 
609: 
609:     public:
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:       class value_compare
609:       : public std::binary_function<value_type, value_type, bool>
609:       {
609:  friend class map<_Key, _Tp, _Compare, _Alloc>;
609:       protected:
609:  _Compare comp;
609: 
609:  value_compare(_Compare __c)
609:  : comp(__c) { }
609: 
609:       public:
609:  bool operator()(const value_type& __x, const value_type& __y) const
609:  { return comp(__x.first, __y.first); }
609:       };
609: #pragma GCC diagnostic pop
609: 
609:     private:
609: 
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<value_type>::other _Pair_alloc_type;
609: 
609:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
609:          key_compare, _Pair_alloc_type> _Rep_type;
609: 
609: 
609:       _Rep_type _M_t;
609: 
609:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
609: 
609: 
609:       template<typename _Up, typename _Vp = remove_reference_t<_Up>>
609:  static constexpr bool __usable_key
609:    = __or_v<is_same<const _Vp, const _Key>,
609:      __and_<is_scalar<_Vp>, is_scalar<_Key>>>;
609: 
609: 
609:     public:
609: 
609: 
609:       typedef typename _Alloc_traits::pointer pointer;
609:       typedef typename _Alloc_traits::const_pointer const_pointer;
609:       typedef typename _Alloc_traits::reference reference;
609:       typedef typename _Alloc_traits::const_reference const_reference;
609:       typedef typename _Rep_type::iterator iterator;
609:       typedef typename _Rep_type::const_iterator const_iterator;
609:       typedef typename _Rep_type::size_type size_type;
609:       typedef typename _Rep_type::difference_type difference_type;
609:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
609:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
609: 
609: 
609:       using node_type = typename _Rep_type::node_type;
609:       using insert_return_type = typename _Rep_type::insert_return_type;
609: # 195 "/usr/include/c++/12/bits/stl_map.h" 3
609:       map() = default;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       explicit
609:       map(const _Compare& __comp,
609:    const allocator_type& __a = allocator_type())
609:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
609: # 217 "/usr/include/c++/12/bits/stl_map.h" 3
609:       map(const map&) = default;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       map(map&&) = default;
609: # 238 "/usr/include/c++/12/bits/stl_map.h" 3
609:       map(initializer_list<value_type> __l,
609:    const _Compare& __comp = _Compare(),
609:    const allocator_type& __a = allocator_type())
609: rintf_chk (int __flag, const wchar_t *__restrict __format,
1417:      ...);
1417: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
1417:        const wchar_t *__restrict __format,
1417:        __gnuc_va_list __ap);
1417: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
1417:       __gnuc_va_list __ap);
1417: 
1417: 
1417: 
1417: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
1417:          __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
1417:            int __n, __FILE *__restrict __stream)
1417:        __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
1417:         mbstate_t *__restrict __p,
1417:         size_t __buflen) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
1417:           const char **__restrict __src,
1417:           size_t __len, mbstate_t *__restrict __ps,
1417:           size_t __dstlen) noexcept (true);
1417: extern size_t __wcsrtombs_chk (char *__restrict __dst,
1417:           const wchar_t **__restrict __src,
1417:           size_t __len, mbstate_t *__restrict __ps,
1417:           size_t __dstlen) noexcept (true);
1417: 
1417: 
1417: 
1417: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
1417:     const char **__restrict __src, size_t __nmc,
1417:     size_t __len, mbstate_t *__restrict __ps,
1417:     size_t __dstlen) noexcept (true);
1417: extern size_t __wcsnrtombs_chk (char *__restrict __dst,
1417:     const wchar_t **__restrict __src,
1417:     size_t __nwc, size_t __len,
1417:     mbstate_t *__restrict __ps, size_t __dstlen)
1417:        noexcept (true);
1417: # 869 "/usr/include/wchar.h" 2 3 4
1417: # 879 "/usr/include/wchar.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1417: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmemcpy")
1417: 
1417: 
1417:             ;
1417: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemcpy_chk")
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer")))
1417:             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1417: 
1417:                        ;
1417: }
1417: 
1417: 
1417: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true) __asm__ ("" "wmemmove")
1417: 
1417:                                ;
1417: extern wchar_t *__wmemmove_cm>
1412:     [[nodiscard]]
1412:     constexpr _Tp*
1412:     data(_Tp (&__array)[_Nm]) noexcept
1412:     { return __array; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp>
1412:     [[nodiscard]]
1412:     constexpr const _Tp*
1412:     data(initializer_list<_Tp> __il) noexcept
1412:     { return __il.begin(); }
1412: # 367 "/usr/include/c++/12/bits/range_access.h" 3
1412: 
1412: }
1412: # 64 "/usr/include/c++/12/map" 2 3
1412: # 1 "/usr/include/c++/12/bits/erase_if.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/erase_if.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/erase_if.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   namespace __detail
1412:   {
1412:     template<typename _Container, typename _UnsafeContainer,
1412:       typename _Predicate>
1412:       typename _Container::size_type
1412:       __erase_nodes_if(_Container& __cont, const _UnsafeContainer& __ucont,
1412:          _Predicate __pred)
1412:       {
1412:  typename _Container::size_type __num = 0;
1412:  for (auto __iter = __ucont.begin(), __last = __ucont.end();
1412:       __iter != __last;)
1412:    {
1412:      if (__pred(*__iter))
1412:        {
1412:   __iter = __cont.erase(__iter);
1412:   ++__num;
1412:        }
1412:      else
1412:        ++__iter;
1412:    }
1412:  return __num;
1412:       }
1412:   }
1412: 
1412: 
1412: }
1412: # 65 "/usr/include/c++/12/map" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412:   namespace pmr
1412:   {
1412:     template<typename _Tp> class polymorphic_allocator;
1412:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1412:       using map
1412:  = std::map<_Key, _Tp, _Cmp,
1412:      polymorphic_allocator<pair<const _Key, _Tp>>>;
1412:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1412:       using multimap
1412:  = std::multimap<_Key, _Tp, _Cmp,
1412:    polymorphic_allocator<pair<const _Key, _Tp>>>;
1412:   }
1412: 
1412: }
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h" 2
1412: # 1 "/usr/include/c++/12/string" 1 3
1412: # 36 "/usr/include/c++/12/string" 3
1412:        
1412: # 37 "/usr/include/c++/12/string" 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/stringfwd.h" 1 3
1412: # 37 "/usr/include/c++/12/bits/stringfwd.h" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/stringfwd.h" 3
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<class _CharT>
1412:     struct char_traits;
1412: 
1412:   template<> struct char_traits<char>;
1412: 
1412:   template<> struct char_traits<wchar_t>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<> struct char_traits<char16_t>;
1412:   template<> struct char_traits<char32_t>;
1412: 
1412: 
1412: namespace __cxx11 {
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1412:            typename _Alloc = allocator<_CharT> >
1412:     class basic_string;
1412: 
1412: }
1412: 
1412: 
1412:   typedef basic_string<char> string;
1412: 
1412: 
1412:   typedef basic_string<wchar_t> wstring;
1412: # 89 "/usr/include/c++/12/bits/stringfwd.h" 3
1412:   typedef basic_string<char16_t> u16string;
1412: 
1412: 
1412:   typedef basic_string<char32_t> u32string;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 40 "/usr/include/c++/12/string" 2 3
1412: # 1 "/usr/include/c++/12/bits/char_traits.h" 1 3
1412: # 37 "/usr/include/c++/12/bits/char_traits.h" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/char_traits.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/postypes.h" 1 3
1412: # 38 "/usr/include/c++/12/bits/postypes.h" 3
1412:        
1412: # 39 "/usr/include/c++/12/bits/postypes.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/cwchar" 1 3
1412: # 39 "/usr/include/c++/12/cwchar" 3
1412:        
1412: # 40 "/usr/include/c++/12/cwchar" 3
1412: 
1412: 
1412: 
1412: 
1412: #hk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemmove_chk")
1417: 
1417: 
1417:      __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer")))
1417:             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemmove_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemmove_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemmove_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1417: 
1417:                        ;
1417: }
1417: 
1417: 
1417: 
1417: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmempcpy")
1417: 
1417: 
1417:                            ;
1417: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmempcpy_chk")
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer")))
1417:             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmempcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmempcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmempcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1417: 
1417:                        ;
1417: }
1417: 
1417: 
1417: 
1417: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true) __asm__ ("" "wmemset")
1417:                              ;
1417: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) noexcept (true) __asm__ ("" "__wmemset_chk")
1417: 
1417: 
1417:      __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer")))
1417:             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_objec      : _M_t(__comp, _Pair_alloc_type(__a))
609:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
609: 
609: 
609:       explicit
609:       map(const allocator_type& __a)
609:       : _M_t(_Pair_alloc_type(__a)) { }
609: 
609: 
609:       map(const map& __m, const __type_identity_t<allocator_type>& __a)
609:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
609: 
609: 
609:       map(map&& __m, const __type_identity_t<allocator_type>& __a)
609:       noexcept(is_nothrow_copy_constructible<_Compare>::value
609:         && _Alloc_traits::_S_always_equal())
609:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
609: 
609: 
609:       map(initializer_list<value_type> __l, const allocator_type& __a)
609:       : _M_t(_Pair_alloc_type(__a))
609:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
609: 
609: 
609:       template<typename _InputIterator>
609:  map(_InputIterator __first, _InputIterator __last,
609:      const allocator_type& __a)
609:  : _M_t(_Pair_alloc_type(__a))
609:  { _M_t._M_insert_range_unique(__first, __last); }
609: # 282 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template<typename _InputIterator>
609:  map(_InputIterator __first, _InputIterator __last)
609:  : _M_t()
609:  { _M_t._M_insert_range_unique(__first, __last); }
609: # 299 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template<typename _InputIterator>
609:  map(_InputIterator __first, _InputIterator __last,
609:      const _Compare& __comp,
609:      const allocator_type& __a = allocator_type())
609:  : _M_t(__comp, _Pair_alloc_type(__a))
609:  { _M_t._M_insert_range_unique(__first, __last); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       ~map() = default;
609: # 328 "/usr/include/c++/12/bits/stl_map.h" 3
609:       map&
609:       operator=(const map&) = default;
609: 
609: 
609:       map&
609:       operator=(map&&) = default;
609: # 346 "/usr/include/c++/12/bits/stl_map.h" 3
609:       map&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  _M_t._M_assign_unique(__l.begin(), __l.end());
609:  return *this;
609:       }
609: 
609: 
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(_M_t.get_allocator()); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       begin() noexcept
609:       { return _M_t.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       begin() const noexcept
609:       { return _M_t.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       end() noexcept
609:       { return _M_t.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       end() const noexcept
609:       { return _M_t.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return _M_t.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return _M_t.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       reverse_iterator
609:       rend() noexcept
609:       { return _M_t.rend(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return _M_t.rend(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       cbegin() const noexcept
609:       { return _M_t.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       cend() const noexcept
609:       { return _M_t.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       crbegin() const noexcept
609:       { return _M_t.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       crend() const noexcept
609:       { return _M_t.rend(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return _M_t.empty(); }
609: 
609: 
609:       size_type
609:       size() const noexcept
609:       { return _M_t.size(); }
609: 
t_size (__s, 0)) && (__builtin_object_size (__s, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t)))))) ? __wmemset_alias (__s, __c, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) ? __wmemset_chk_warn (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t))) : __wmemset_chk (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))))
1417: 
1417:                      ;
1417: }
1417: 
1417: 
1417: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscpy")
1417: 
1417:                                               ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1417: {
1417:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1417:   if (sz != (size_t) -1)
1417:     return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t));
1417:   return __wcscpy_alias (__dest, __src);
1417: }
1417: 
1417: 
1417: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcpcpy")
1417: 
1417:                                               ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1417: {
1417:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1417:   if (sz != (size_t) -1)
1417:     return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t));
1417:   return __wcpcpy_alias (__dest, __src);
1417: }
1417: 
1417: 
1417: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncpy")
1417: 
1417: 
1417:                           ;
1417: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcsncpy_chk")
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer")))
1417:             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcsncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcsncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcsncpy_chk (__dest, __src, __n, (__builtin_object_size (__ 1 "/usr/include/wchar.h" 1 3 4
1412: # 27 "/usr/include/wchar.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1412: # 28 "/usr/include/wchar.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1412: # 52 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1412: # 25 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 2 3 4
1412: # 214 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1412: typedef float _Float32;
1412: # 238 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1412: typedef long double _Float64;
1412: # 268 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1412: typedef double _Float32x;
1412: # 53 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 2 3 4
1412: # 31 "/usr/include/wchar.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 214 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1412: typedef unsigned int size_t;
1412: # 36 "/usr/include/wchar.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1412: # 40 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 3 4
1412: typedef __builtin_va_list __gnuc_va_list;
1412: # 39 "/usr/include/wchar.h" 2 3 4
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar.h" 1 3 4
1412: # 41 "/usr/include/wchar.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 1 3 4
1412: # 20 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 3 4
1412: typedef unsigned int wint_t;
1412: # 42 "/usr/include/wchar.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 1 3 4
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 1 3 4
1412: # 13 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 3 4
1412: typedef struct
1412: {
1412:   int __count;
1412:   union
1412:   {
1412:     unsigned int __wch;
1412:     char __wchb[4];
1412:   } __value;
1412: } __mbstate_t;
1412: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 2 3 4
1412: 
1412: typedef __mbstate_t mbstate_t;
1412: # 43 "/usr/include/wchar.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__FILE.h" 1 3 4
1412: 
1412: 
1412: 
1412: struct _IO_FILE;
1412: typedef struct _IO_FILE __FILE;
1412: # 44 "/usr/include/wchar.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/FILE.h" 1 3 4
1412: 
1412: 
1412: 
1412: struct _IO_FILE;
1412: 
1412: 
1412: typedef struct _IO_FILE FILE;
1412: # 47 "/usr/include/wchar.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 1 3 4
1412: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 3 4
1412: struct __locale_struct
1412: {
1412: 
1412:   struct __locale_data *__locales[13];
1412: 
1412: 
1412:   const unsigned short int *__ctype_b;
1412:   const int *__ctype_tolower;
1412:   const int *__ctype_toupper;
1412: 
1412: 
1412:   const char *__names[13];
1412: };
1412: 
1412: typedef struct __locale_struct *__locale_t;
1412: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 2 3 4
1412: 
1412: typedef __locale_t locale_t;
1412: # 50 "/usr/include/wchar.h" 2 3 4
1412: # 79 "/usr/include/wchar.h" 3 4
1412: extern "C" {
1412: 
1412: 
1412: 
1412: struct tm;
1412: 
1412: 
1412: 
1412: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
1412:    const wchar_t *__restrict __src)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
1412:     const wchar_t *__restrict __src, size_t __n)
1412:      noexcept (true) __attribute__ ((__nonnull__ (dest, 2 > 1)) / (sizeof (wchar_t)))))
1417: 
1417:                           ;
1417: }
1417: 
1417: 
1417: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcpncpy")
1417: 
1417: 
1417:                           ;
1417: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcpncpy_chk")
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer")))
1417:             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcpncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcpncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcpncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1417: 
1417:                           ;
1417: }
1417: 
1417: 
1417: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscat")
1417: 
1417:                                               ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1417: {
1417:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1417:   if (sz != (size_t) -1)
1417:     return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t));
1417:   return __wcscat_alias (__dest, __src);
1417: }
1417: 
1417: 
1417: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncat")
1417: 
1417: 
1417:                           ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1417: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1417: 
1417: {
1417:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1417:   if (sz != (size_t) -1)
1417:     return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t));
1417:   return __wcsncat_alias (__dest, __src, __n);
1417: }
1417: 
1417: 
1417: 
1417: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true) __asm__ ("" "swprintf")
1417: 
1417: 
1417:              ;
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true)
1417: 
1417: {
1417:   size_t sz = __builtin_object_size (__s, 2 > 1);
1417:   if (sz != (size_t) -1 || 2 > 1)
1417:     return __swprintf_chk (__s, __n, 2 - 1,
1417:       sz / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ()609: 
609:       size_type
609:       max_size() const noexcept
609:       { return _M_t.max_size(); }
609: # 501 "/usr/include/c++/12/bits/stl_map.h" 3
609:       mapped_type&
609:       operator[](const key_type& __k)
609:       {
609: 
609: 
609: 
609:  iterator __i = lower_bound(__k);
609: 
609:  if (__i == end() || key_comp()(__k, (*__i).first))
609: 
609:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
609:          std::tuple<const key_type&>(__k),
609:          std::tuple<>());
609: 
609: 
609: 
609:  return (*__i).second;
609:       }
609: 
609: 
609:       mapped_type&
609:       operator[](key_type&& __k)
609:       {
609: 
609: 
609: 
609:  iterator __i = lower_bound(__k);
609: 
609:  if (__i == end() || key_comp()(__k, (*__i).first))
609:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
609:      std::forward_as_tuple(std::move(__k)),
609:      std::tuple<>());
609:  return (*__i).second;
609:       }
609: # 546 "/usr/include/c++/12/bits/stl_map.h" 3
609:       mapped_type&
609:       at(const key_type& __k)
609:       {
609:  iterator __i = lower_bound(__k);
609:  if (__i == end() || key_comp()(__k, (*__i).first))
609:    __throw_out_of_range(("map::at"));
609:  return (*__i).second;
609:       }
609: 
609:       const mapped_type&
609:       at(const key_type& __k) const
609:       {
609:  const_iterator __i = lower_bound(__k);
609:  if (__i == end() || key_comp()(__k, (*__i).first))
609:    __throw_out_of_range(("map::at"));
609:  return (*__i).second;
609:       }
609: # 584 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template<typename... _Args>
609:  std::pair<iterator, bool>
609:  emplace(_Args&&... __args)
609:  {
609: 
609:    if constexpr (sizeof...(_Args) == 2)
609:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
609:        {
609:   auto&& [__a, __v] = pair<_Args&...>(__args...);
609:   if constexpr (__usable_key<decltype(__a)>)
609:     {
609:       const key_type& __k = __a;
609:       iterator __i = lower_bound(__k);
609:       if (__i == end() || key_comp()(__k, (*__i).first))
609:         {
609:    __i = emplace_hint(__i, std::forward<_Args>(__args)...);
609:    return {__i, true};
609:         }
609:       return {__i, false};
609:     }
609:        }
609: 
609:    return _M_t._M_emplace_unique(std::forward<_Args>(__args)...);
609:  }
609: # 634 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace_hint(const_iterator __pos, _Args&&... __args)
609:  {
609:    return _M_t._M_emplace_hint_unique(__pos,
609:           std::forward<_Args>(__args)...);
609:  }
609: 
609: 
609: 
609: 
609:       node_type
609:       extract(const_iterator __pos)
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
609:  return _M_t.extract(__pos);
609:       }
609: 
609: 
609:       node_type
609:       extract(const key_type& __x)
609:       { return _M_t.extract(__x); }
609: 
609: 
609:       insert_return_type
609:       insert(node_type&& __nh)
609:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
609: 
609: 
609:       iterator
609:       insert(const_iterator __hint, node_type&& __nh)
609:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
609: 
609:       template<typename, typename>
609:  friend struct std::_Rb_tree_merge_helper;
609: 
609:       template<typename _Cmp2>
609:  void
609:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
609:  {
609:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
609:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
609:  }
609: 
609:       template<typename _Cmp2>
609:  void
609:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
609:  { merge(__source); }
609: 
609:       template<typename _Cmp2>
609:  void
609:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
609:  {
609:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
609:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
609:  }
609: 
609:);
1417:   return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ());
1417: }
1417: # 230 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1417: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true) __asm__ ("" "vswprintf")
1417: 
1417: 
1417:                                      ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1417: 
1417: {
1417:   size_t sz = __builtin_object_size (__s, 2 > 1);
1417:   if (sz != (size_t) -1 || 2 > 1)
1417:     return __vswprintf_chk (__s, __n, 2 - 1,
1417:        sz / sizeof (wchar_t), __fmt, __ap);
1417:   return __vswprintf_alias (__s, __n, __fmt, __ap);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: wprintf (const wchar_t *__restrict __fmt, ...)
1417: {
1417:   return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
1417: {
1417:   return __fwprintf_chk (__stream, 2 - 1, __fmt,
1417:     __builtin_va_arg_pack ());
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1417: {
1417:   return __vwprintf_chk (2 - 1, __fmt, __ap);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: vfwprintf (__FILE *__restrict __stream,
1417:     const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1417: {
1417:   return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap);
1417: }
1417: 
1417: 
1417: 
1417: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws")
1417: 
1417:                                               __attribute__ ((__warn_unused_result__));
1417: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk")
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer")))
1417:                                  ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1417: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1417: {
1417:   size_t sz = __builtin_object_size (__s, 2 > 1);
1417:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1417:     return __fgetws_alias (__s, __n, __stream);
1417:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1417:     return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream);
1417:   return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1417: }
1417: 
1417: 
1417: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked")
1417: 
1417: 
1417:   __attribute__ ((__1, 2)));
1412: 
1412: 
1412: extern wchar_t *wcscat (wchar_t *__restrict __dest,
1412:    const wchar_t *__restrict __src)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
1412:     const wchar_t *__restrict __src, size_t __n)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1412: 
1412: 
1412: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
1412:    size_t __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1412:     locale_t __loc) noexcept (true);
1412: 
1412: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1412:      size_t __n, locale_t __loc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1412: 
1412: 
1412: 
1412: extern size_t wcsxfrm (wchar_t *__restrict __s1,
1412:          const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
1412:         locale_t __loc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
1412:     size_t __n, locale_t __loc) noexcept (true);
1412: 
1412: 
1412: extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
1412:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1412: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
1412:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
1412:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1412: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
1412:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1412: # 182 "/usr/include/wchar.h" 3 4
1412: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
1412:      noexcept (true) __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
1412:      noexcept (true) __attribute__ ((__pure__));
1412: 
1412: 
1412: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
1412:      noexcept (true) __attribute__ ((__pure__));
1412: 
1412: 
1412: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
1412:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1412: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
1412:          const wchar_t *__accept)
1412:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
1412:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1412: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
1412:         const wchar_t *__needle)
1412:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wchar_t *wcstok (wchar_t *__restrict __s,
1412:    const wchar_t *__restrict __delim,
1412:    wchar_t **__restrict __ptr) noexcept (true);
1412: 
1412: 
1412: extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribuwarn_unused_result__));
1417: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk")
1417: 
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer")))
1417:                                  ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1417: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1417: {
1417:   size_t sz = __builtin_object_size (__s, 2 > 1);
1417:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1417:     return __fgetws_unlocked_alias (__s, __n, __stream);
1417:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1417:     return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n,
1417:            __stream);
1417:   return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1417: }
1417: 
1417: 
1417: 
1417: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcrtomb")
1417: 
1417:                                                 __attribute__ ((__warn_unused_result__));
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1417: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true)
1417: 
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1417:       && 16 > __builtin_object_size (__s, 2 > 1))
1417:     return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1));
1417:   return __wcrtomb_alias (__s, __wchar, __ps);
1417: }
1417: 
1417: 
1417: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsrtowcs")
1417: 
1417: 
1417: 
1417:                    ;
1417: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsrtowcs_chk")
1417: 
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1417:                         ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1417: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsrtowcs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1))       template<typename _Cmp2>
609:  void
609:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
609:  { merge(__source); }
609: # 719 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template <typename... _Args>
609:  pair<iterator, bool>
609:  try_emplace(const key_type& __k, _Args&&... __args)
609:  {
609:    iterator __i = lower_bound(__k);
609:    if (__i == end() || key_comp()(__k, (*__i).first))
609:      {
609:        __i = emplace_hint(__i, std::piecewise_construct,
609:      std::forward_as_tuple(__k),
609:      std::forward_as_tuple(
609:        std::forward<_Args>(__args)...));
609:        return {__i, true};
609:      }
609:    return {__i, false};
609:  }
609: 
609: 
609:       template <typename... _Args>
609:  pair<iterator, bool>
609:  try_emplace(key_type&& __k, _Args&&... __args)
609:  {
609:    iterator __i = lower_bound(__k);
609:    if (__i == end() || key_comp()(__k, (*__i).first))
609:      {
609:        __i = emplace_hint(__i, std::piecewise_construct,
609:      std::forward_as_tuple(std::move(__k)),
609:      std::forward_as_tuple(
609:        std::forward<_Args>(__args)...));
609:        return {__i, true};
609:      }
609:    return {__i, false};
609:  }
609: # 779 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template <typename... _Args>
609:  iterator
609:  try_emplace(const_iterator __hint, const key_type& __k,
609:       _Args&&... __args)
609:  {
609:    iterator __i;
609:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
609:    if (__true_hint.second)
609:      __i = emplace_hint(iterator(__true_hint.second),
609:           std::piecewise_construct,
609:           std::forward_as_tuple(__k),
609:           std::forward_as_tuple(
609:      std::forward<_Args>(__args)...));
609:    else
609:      __i = iterator(__true_hint.first);
609:    return __i;
609:  }
609: 
609: 
609:       template <typename... _Args>
609:  iterator
609:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
609:  {
609:    iterator __i;
609:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
609:    if (__true_hint.second)
609:      __i = emplace_hint(iterator(__true_hint.second),
609:           std::piecewise_construct,
609:           std::forward_as_tuple(std::move(__k)),
609:           std::forward_as_tuple(
609:      std::forward<_Args>(__args)...));
609:    else
609:      __i = iterator(__true_hint.first);
609:    return __i;
609:  }
609: # 832 "/usr/include/c++/12/bits/stl_map.h" 3
609:       std::pair<iterator, bool>
609:       insert(const value_type& __x)
609:       { return _M_t._M_insert_unique(__x); }
609: 
609: 
609: 
609: 
609:       std::pair<iterator, bool>
609:       insert(value_type&& __x)
609:       { return _M_t._M_insert_unique(std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair>::value,
609:         pair<iterator, bool>>
609:  insert(_Pair&& __x)
609:  {
609: 
609:    using _P2 = remove_reference_t<_Pair>;
609:    if constexpr (__is_pair<_P2>)
609:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
609:        if constexpr (__usable_key<typename _P2::first_type>)
609:   {
609:     const key_type& __k = __x.first;
609:     iterator __i = lower_bound(__k);
609:     if (__i == end() || key_comp()(__k, (*__i).first))
609:       {
609:         __i = emplace_hint(__i, std::forward<_Pair>(__x));
609:         return {__i, true};
609:       }
609:     return {__i, false};
609:   }
609: 
609:    return _M_t._M_emplace_unique(std::forward<_Pair>(__x));
609:  }
609: # 877 "/usr/include/c++/12/bits/stl_map.h" 3
609:       void
609:       insert(std::initializer_list<value_type> __list)
609:       { insert(__list.begin(), __list.end()); }
609: # 906 "/usr/include/c++/12/bits/stl_map.h" 3
609:       iterator
609: 
609:       insert(const_iterator __position, const value_type& __x)
609: 
609: 
609: 
609:       { return _M_t._M_insert_unique_(__position, __x); }
609: 
609: 
609: 
609: 
609:       iterator
609:       insert(const_iterator __position, value_type& / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsrtowcs_chk (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1417: 
1417:                                  ;
1417: }
1417: 
1417: 
1417: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsrtombs")
1417: 
1417: 
1417: 
1417:                    ;
1417: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsrtombs_chk")
1417: 
1417: 
1417: 
1417: 
1417:     __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len")));
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1417: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsrtombs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1417: 
1417:                                ;
1417: }
1417: 
1417: 
1417: 
1417: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsnrtowcs")
1417: 
1417: 
1417: 
1417:                     ;
1417: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsnrtowcs_chk")
1417: 
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1417:                         ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1417: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_sizte__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
1412:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1412: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
1412:         const wchar_t *__needle)
1412:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1412: # 241 "/usr/include/wchar.h" 3 4
1412: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
1412:      noexcept (true) __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
1412:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1412: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
1412:          size_t __n)
1412:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1412:      noexcept (true) __attribute__ ((__pure__));
1412: 
1412: 
1412: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
1412:     const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
1412:      noexcept (true);
1412: 
1412: 
1412: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
1412:      const wchar_t *__restrict __s2, size_t __n)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t btowc (int __c) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int wctob (wint_t __c) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: extern size_t mbrtowc (wchar_t *__restrict __pwc,
1412:          const char *__restrict __s, size_t __n,
1412:          mbstate_t *__restrict __p) noexcept (true);
1412: 
1412: 
1412: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
1412:          mbstate_t *__restrict __ps) noexcept (true);
1412: 
1412: 
1412: extern size_t __mbrlen (const char *__restrict __s, size_t __n,
1412:    mbstate_t *__restrict __ps) noexcept (true);
1412: extern size_t mbrlen (const char *__restrict __s, size_t __n,
1412:         mbstate_t *__restrict __ps) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t __btowc_alias (int __c) __asm ("btowc");
1412: extern __inline __attribute__ ((__gnu_inline__)) wint_t
1412: __attribute__ ((__leaf__)) btowc (int __c) noexcept (true)
1412: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
1412:    ? (wint_t) __c : __btowc_alias (__c)); }
1412: 
1412: extern int __wctob_alias (wint_t __c) __asm ("wctob");
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: __attribute__ ((__leaf__)) wctob (wint_t __wc) noexcept (true)
1412: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
1412:    ? (int) __wc : __wctob_alias (__wc)); }
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) size_t
1412: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) noexcept (true)
1412: 
1412: { return (__ps != __null
1412:    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
1412: 
1412: 
1412: 
1412: 
1412: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
1412:     const char **__restrict __src, size_t __len,
1412:     mbstate_t *__restrict __ps) noexcept (true);
1412: 
1412: 
1412: 
1412: extern size_t wcsrtombs (char *__restrict __dst,
1412:     const wchar_t **__restrict __src, size_t __len,
1412:     mbstate_t *__restrict __ps) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
1412:      const char **__restrict __src, size_t __nmc,
1412:      size_t __len, mbstate_t *__restrict __ps) noexcept (true);
1412e (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1417: 
1417:                                         ;
1417: }
1417: 
1417: 
1417: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsnrtombs")
1417: 
1417: 
1417: 
1417:                                                   ;
1417: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsnrtombs_chk")
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len")));
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1417: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1417: 
1417:                                       ;
1417: }
1417: # 880 "/usr/include/wchar.h" 2 3 4
1417: 
1417: 
1417: }
1417: # 45 "/usr/include/c++/12/cwchar" 2 3
1417: # 62 "/usr/include/c++/12/cwchar" 3
1417: namespace std
1417: {
1417:   using ::mbstate_t;
1417: }
1417: # 135 "/usr/include/c++/12/cwchar" 3
1417: extern "C++"
1417: {
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   using ::wint_t;
1417: 
1417:   using ::btowc;
1417:   using ::fgetwc;
1417:   using ::fgetws;
1417:   using ::fputwc;
1417:   using ::fputws;
1417:   using ::fwide;
1417:   using ::fwprintf;
1417:   using ::fwscanf;
1417:   using ::getwc;
1417:   using ::getwchar;
1417:   using ::mbrlen;
1417:   using ::mbrtowc;
1417:   using ::mbsinit;
1417:   using ::mbsrtowcs;
1417:   using ::putwc;
1417:   using ::putwchar;
1417: 
1417:   using ::swprintf;
1417: 
1417:   using ::swscanf;
1417:   using ::ungetwc;
1417:   using ::vfwprintf;
1417: 
1417:   using ::vfwscanf;
1417: 
1417: 
1417:   using ::vswprintf;
1417: 
1417: 
1417:   using ::vswscanf;
1417: 
1417:   using ::vwprintf;
1417: 
1417:   using ::vwscanf;
1417: 
1417:   using ::wcrtomb;
1417:   using ::wcscat;
1417:   using ::wcscmp;
1417:   using ::wcscoll;
1417:   using ::wcscpy;
1417:   using ::wcscspn;
1417:   using ::wcsftime;
1417:   using ::wcslen;
1417:   using ::wcsncat;
1417:   using ::wcsncmp;
1417:   using ::wcsncpy;
1417:   using ::wcsrtombs;
1417:   using ::wcsspn;
1417:   using ::wcstod;
1417: 
1417:   using ::wcstof;
1417: 
1417:   using ::wcstok;
1417:   using ::wcstol;
1417:   using ::wcstoul;
1417:   using ::wcsxfrm;
1417:   using ::wctob;
1417:   using ::wmemcmp;
1417:   using ::wmemcpy;
1417:   using ::wmemmove;
1417:   using ::wmemset;
1417:   using ::wprintf;
1417:   using ::wscanf;
1417:   using ::wcschr;
1417:   using ::wcspbrk;
1417:   using ::wcsrchr;
1417:   using ::wcsstr;
1417:   using ::wmemchr;
1417: # 234 "/usr/include/c++/12/cwchar" 3
1417: 
1417: }
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace __gnu_cxx
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   using ::wcstold;
1417: # 260 "/usr/include/c++/12/cwchar" 3
1417:   using ::wcstoll;
1417:   using ::wcstoull;
1417: 
1417: }
1417: 
1417: namespace std
1417: {
1417:   using ::__gnu_cxx::wcstold;
1417:   using ::__gnu_cxx::wcstoll;
1417:   using ::__gnu_cxx::wcstoull;
1417: }
1417: # 280 "/usr/include/c++/12/cwchar" 3
1417: namespace std
1417: {
1417: 
1417:   using std::wcstof;
1417: 
1417: 
1417:   using std::vfwscanf;
1417: 
1417: 
1417:   using std::vswscanf;
1417: 
1417: 
1417:   using std::vwscanf;
1417: 
1417: 
1417: 
1417:   using std::wcstold;
1417:   using std::wcstoll;
1417:   using std::wcstoull;
1417: 
1417: }
1417: # 41 "/usr/include/c++/12/bits/postypes.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 62 "/usr/include/c++/12/bits/postypes.h" 3
1417:   typedef long long int streamoff;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef ptrdiff_t streamsize;
1417: # 81 "/usr/include/c++/12/bits/postypes.h" 3
1417:   template<typename _StateT>
1417:     class fpos
1417:     {
1417:     private:
1417:       streamoff _M_off;
1417:       _StateT _M_state;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417:       fpos()
1417:       : _M_off(0), _M_state() { }
1417: # 103 "/usr/include/c++/12/bits/postypes.h" 3
1417:       fpos(streamoff __off)
1417:       : _M_off(__off), _M_state() { }
1417: 
1417: 
1417:       fpos(const fpos&) = default;
1417:       fpos& operator=(const fpos&) = default;
1417:       ~fpos() = default;
1417: 
1417: 
1417: 
1417:       operator streamoff() const { return _M_off; }
1417: 
1417: 
1417:       void
1417:       state(_StateT __st)
1417:       { _M_state = __st; }
1417: 
1417: 
1417:       _StateT
1417:       state() const
1417:       { return _M_state; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       fpos&
1417:       operator+=(streamoff __off)
1417:       {
1417:  _M_off += __off;
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       fpos&
1417:       operator-=(streamoff __off)
1417:       {
1417:  _M_off -= __off;
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       fpos
1417:       operator+(streamoff __off) const
1417:       {
1417:  fpos __pos(*this);
1417:  __pos += __off;
1417:  return __pos;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       fpos
1417:       operator-(streamoff __off) const
1417:       {
1417:  fpos __pos(*this);
1417:  __pos -= __off;
1417:  return __pos;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       streamoff
1417:       operator-(const fpos& __other) const
1417:       { return _M_off - __other._M_off; }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _StateT>
1417:     inline bool
1417:     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1417:     { return streamoff(__lhs) == streamoff(__rhs); }
1417: 
1417:   template<typename _StateT>
1417:     inline bool
1417:     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1417:     { return streamoff(__lhs) != streamoff(__rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef fpos<mbstate_t> streampos;
1417: 
1417:   typedef fpos<mbstate_t> wstreampos;
1417: # 215 "/usr/include/c++/12/bits/postypes.h" 3
1417:   typedef fpos<mbstate_t> u16streampos;
1417: 
1417:   typedef fpos<mbstate_t> u32streampos;
1417: 
1417: 
1417: 
1417: }
1417: # 40 "/usr/include/c++/12/bits/char_traits.h" 2 3
1417: # 1 "/usr/include/c++/12/cwchar" 1 3
1417: # 39 "/usr/include/c++/12/cwchar" 3
1417:        
1417: # 40 "/usr/include/c++/12/cwchar" 3
1417: # 41 "/usr/include/c++/12/bits/char_traits.h" 2 3
1417: # 53 "/usr/include/c++/12/bits/char_t& __x)
609:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
609:  insert(const_iterator __position, _Pair&& __x)
609:  {
609:    return _M_t._M_emplace_hint_unique(__position,
609:           std::forward<_Pair>(__x));
609:  }
609: # 939 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template<typename _InputIterator>
609:  void
609:  insert(_InputIterator __first, _InputIterator __last)
609:  { _M_t._M_insert_range_unique(__first, __last); }
609: # 964 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template <typename _Obj>
609:  pair<iterator, bool>
609:  insert_or_assign(const key_type& __k, _Obj&& __obj)
609:  {
609:    iterator __i = lower_bound(__k);
609:    if (__i == end() || key_comp()(__k, (*__i).first))
609:      {
609:        __i = emplace_hint(__i, std::piecewise_construct,
609:      std::forward_as_tuple(__k),
609:      std::forward_as_tuple(
609:        std::forward<_Obj>(__obj)));
609:        return {__i, true};
609:      }
609:    (*__i).second = std::forward<_Obj>(__obj);
609:    return {__i, false};
609:  }
609: 
609: 
609:       template <typename _Obj>
609:  pair<iterator, bool>
609:  insert_or_assign(key_type&& __k, _Obj&& __obj)
609:  {
609:    iterator __i = lower_bound(__k);
609:    if (__i == end() || key_comp()(__k, (*__i).first))
609:      {
609:        __i = emplace_hint(__i, std::piecewise_construct,
609:      std::forward_as_tuple(std::move(__k)),
609:      std::forward_as_tuple(
609:        std::forward<_Obj>(__obj)));
609:        return {__i, true};
609:      }
609:    (*__i).second = std::forward<_Obj>(__obj);
609:    return {__i, false};
609:  }
609: # 1019 "/usr/include/c++/12/bits/stl_map.h" 3
609:       template <typename _Obj>
609:  iterator
609:  insert_or_assign(const_iterator __hint,
609:     const key_type& __k, _Obj&& __obj)
609:  {
609:    iterator __i;
609:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
609:    if (__true_hint.second)
609:      {
609:        return emplace_hint(iterator(__true_hint.second),
609:       std::piecewise_construct,
609:       std::forward_as_tuple(__k),
609:       std::forward_as_tuple(
609:         std::forward<_Obj>(__obj)));
609:      }
609:    __i = iterator(__true_hint.first);
609:    (*__i).second = std::forward<_Obj>(__obj);
609:    return __i;
609:  }
609: 
609: 
609:       template <typename _Obj>
609:  iterator
609:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
609:  {
609:    iterator __i;
609:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
609:    if (__true_hint.second)
609:      {
609:        return emplace_hint(iterator(__true_hint.second),
609:       std::piecewise_construct,
609:       std::forward_as_tuple(std::move(__k)),
609:       std::forward_as_tuple(
609:         std::forward<_Obj>(__obj)));
609:      }
609:    __i = iterator(__true_hint.first);
609:    (*__i).second = std::forward<_Obj>(__obj);
609:    return __i;
609:  }
609: # 1078 "/usr/include/c++/12/bits/stl_map.h" 3
609:       iterator
609:       erase(const_iterator __position)
609:       { return _M_t.erase(__position); }
609: 
609: 
609:       __attribute ((__abi_tag__ ("cxx11")))
609:       iterator
609:       erase(iterator __position)
609:       { return _M_t.erase(__position); }
609: # 1115 "/usr/include/c++/12/bits/stl_map.h" 3
609:       size_type
609:       erase(const key_type& __x)
609:       { return _M_t.erase(__x); }
609: # 1135 "/usr/include/c++/12/bits/stl_map.h" 3
609:       iterator
609:       erase(const_iterator __first, const_iterator __last)
609:       { return _M_t.erase(__first, __last); }
609: # 1169 "/usr/include/c++/12/bits/stl_map.h" 3
609:       void
609:       swap(map& __x)
609:       noexcept(__is_nothrow_swappable<_Compare>::value)
609:       { _M_t.swap(__x._M_t); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       clear() noexcept
609:       { _M_t.clear(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:     : 
1412: 
1412: 
1412: extern size_t wcsnrtombs (char *__restrict __dst,
1412:      const wchar_t **__restrict __src,
1412:      size_t __nwc, size_t __len,
1412:      mbstate_t *__restrict __ps) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int wcwidth (wchar_t __c) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double wcstod (const wchar_t *__restrict __nptr,
1412:         wchar_t **__restrict __endptr) noexcept (true);
1412: 
1412: 
1412: 
1412: extern float wcstof (const wchar_t *__restrict __nptr,
1412:        wchar_t **__restrict __endptr) noexcept (true);
1412: extern long double wcstold (const wchar_t *__restrict __nptr,
1412:        wchar_t **__restrict __endptr) noexcept (true);
1412: # 397 "/usr/include/wchar.h" 3 4
1412: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
1412:      wchar_t **__restrict __endptr) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
1412:      wchar_t **__restrict __endptr) noexcept (true);
1412: # 412 "/usr/include/wchar.h" 3 4
1412: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
1412:        wchar_t **__restrict __endptr) noexcept (true);
1412: # 429 "/usr/include/wchar.h" 3 4
1412: extern long int wcstol (const wchar_t *__restrict __nptr,
1412:    wchar_t **__restrict __endptr, int __base) noexcept (true);
1412: 
1412: 
1412: 
1412: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
1412:       wchar_t **__restrict __endptr, int __base)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: __extension__
1412: extern long long int wcstoll (const wchar_t *__restrict __nptr,
1412:          wchar_t **__restrict __endptr, int __base)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: __extension__
1412: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
1412:      wchar_t **__restrict __endptr,
1412:      int __base) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: __extension__
1412: extern long long int wcstoq (const wchar_t *__restrict __nptr,
1412:         wchar_t **__restrict __endptr, int __base)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: __extension__
1412: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
1412:            wchar_t **__restrict __endptr,
1412:            int __base) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int wcstol_l (const wchar_t *__restrict __nptr,
1412:      wchar_t **__restrict __endptr, int __base,
1412:      locale_t __loc) noexcept (true);
1412: 
1412: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
1412:         wchar_t **__restrict __endptr,
1412:         int __base, locale_t __loc) noexcept (true);
1412: 
1412: __extension__
1412: extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
1412:     wchar_t **__restrict __endptr,
1412:     int __base, locale_t __loc) noexcept (true);
1412: 
1412: __extension__
1412: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
1412:        wchar_t **__restrict __endptr,
1412:        int __base, locale_t __loc)
1412:      noexcept (true);
1412: 
1412: extern double wcstod_l (const wchar_t *__restrict __nptr,
1412:    wchar_t **__restrict __endptr, locale_t __loc)
1412:      noexcept (true);
1412: 
1412: extern float wcstof_l (const wchar_t *__restrict __nptr,
1412:          wchar_t **__restrict __endptr, locale_t __loc)
1412:      noexcept (true);
1412: 
1412: extern long double wcstold_l (const wchar_t *__restrict __nptr,
1412:          wchar_t **__restrict __endptr,
1412:          locale_t __loc) noexcept (true);
1412: # 512 "/usr/include/wchar.h" 3 4
1412: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
1412:        wchar_t **__restrict __endptr,
1412:        locale_t __loc) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
1412:        wcharaits.h" 3
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wstringop-overflow"
1417: #pragma GCC diagnostic ignored "-Wstringop-overread"
1417: #pragma GCC diagnostic ignored "-Warray-bounds"
1417: # 72 "/usr/include/c++/12/bits/char_traits.h" 3
1417:   template<typename _CharT>
1417:     struct _Char_types
1417:     {
1417:       typedef unsigned long int_type;
1417:       typedef std::streampos pos_type;
1417:       typedef std::streamoff off_type;
1417:       typedef std::mbstate_t state_type;
1417:     };
1417: # 97 "/usr/include/c++/12/bits/char_traits.h" 3
1417:   template<typename _CharT>
1417:     struct char_traits
1417:     {
1417:       typedef _CharT char_type;
1417:       typedef typename _Char_types<_CharT>::int_type int_type;
1417:       typedef typename _Char_types<_CharT>::pos_type pos_type;
1417:       typedef typename _Char_types<_CharT>::off_type off_type;
1417:       typedef typename _Char_types<_CharT>::state_type state_type;
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr void
1417:       assign(char_type& __c1, const char_type& __c2)
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  __c1 = __c2;
1417:       }
1417: 
1417:       static constexpr bool
1417:       eq(const char_type& __c1, const char_type& __c2)
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr bool
1417:       lt(const char_type& __c1, const char_type& __c2)
1417:       { return __c1 < __c2; }
1417: 
1417:       static constexpr int
1417:       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
1417: 
1417:       static constexpr std::size_t
1417:       length(const char_type* __s);
1417: 
1417:       static constexpr const char_type*
1417:       find(const char_type* __s, std::size_t __n, const char_type& __a);
1417: 
1417:       static char_type*
1417:       move(char_type* __s1, const char_type* __s2, std::size_t __n);
1417: 
1417:       static char_type*
1417:       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
1417: 
1417:       static char_type*
1417:       assign(char_type* __s, std::size_t __n, char_type __a);
1417: 
1417:       static constexpr char_type
1417:       to_char_type(const int_type& __c)
1417:       { return static_cast<char_type>(__c); }
1417: 
1417:       static constexpr int_type
1417:       to_int_type(const char_type& __c)
1417:       { return static_cast<int_type>(__c); }
1417: 
1417:       static constexpr bool
1417:       eq_int_type(const int_type& __c1, const int_type& __c2)
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr int_type
1417:       eof()
1417:       { return static_cast<int_type>(-1); }
1417: 
1417:       static constexpr int_type
1417:       not_eof(const int_type& __c)
1417:       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     constexpr int
1417:     char_traits<_CharT>::
1417:     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
1417:     {
1417:       for (std::size_t __i = 0; __i < __n; ++__i)
1417:  if (lt(__s1[__i], __s2[__i]))
1417:    return -1;
1417:  else if (lt(__s2[__i], __s1[__i]))
1417:    return 1;
1417:       return 0;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     constexpr std::size_t
1417:     char_traits<_CharT>::
1417:     length(const char_type* __p)
1417:     {
1417:       std::size_t __i = 0;
1417:       while (!eq(__p[__i], char_type()))
1417:         ++__i;
1417:       return __i;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     constexpr const typename char_traits<_CharT>::char_type*
1417:     char_traits<_CharT>::
1417:     find(const char_type* __s, std::size_t __n, const char_type& __a)
1417:     {
1417:       for (std::size_t __i = 0; __i < __n; ++__i)
1417:         if (eq(__s[__i], __a))
1417:           return __s + __i;
1417:       return 0;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:    
1417:     typename char_traits<_CharT>::char_type*
1417:     char_traits<_CharT>::
1417:     move(char_type* __s1, const char_type* __s2, std::size_t __n)
1417:     {
1417:       if (__n == 0)
1417:  return __s1;
1417: # 248 "/usr/include/c++/12/bits/char_traits.h" 3
1417:       __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
1417:       return __s1;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:    
1417:     typename char_traits<_CharT>::char_type*
1417:     char_traits<_CharT>::
1417:     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
1417:     {
1417: # 267 "/usr/include/c++/12/bits/char_traits.h" 3
1417:       __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
1417:       return __s1;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:    
1417:     typename char_traits<_CharT>::char_type*
1417:     char_traits<_CharT>::
1417:     assign(char_type* __s, std::size_t __n, char_type __a)
1417:     {
1417: # 286 "/usr/include/c++/12/bits/char_traits.h" 3
1417:       if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
1417:  {
1417:    unsigned char __c;
1417:    __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
1417:    __builtin_memset(__s, __c, __n);
1417:  }
1417:       else
1417:  {
1417:    for (std::size_t __i = 0; __i < __n; ++__i)
1417:      __s[__i] = __a;
1417:  }
1417:       return __s;
1417:     }
1417: 
1417: 
1417: }
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 328 "/usr/include/c++/12/bits/char_traits.h" 3
1417:   template<typename _CharT>
1417:     struct char_traits : public __gnu_cxx::char_traits<_CharT>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct char_traits<char>
1417:     {
1417:       typedef char char_type;
1417:       typedef int int_type;
1417:       typedef streampos pos_type;
1417:       typedef streamoff off_type;
1417:       typedef mbstate_t state_type;
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr void
1417:       assign(char_type& __c1, const char_type& __c2) noexcept
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  __c1 = __c2;
1417:       }
1417: 
1417:       static constexpr bool
1417:       eq(const char_type& __c1, const char_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr bool
1417:       lt(const char_type& __c1, const char_type& __c2) noexcept
1417:       {
1417: 
1417:  return (static_cast<unsigned char>(__c1)
1417:   < static_cast<unsigned char>(__c2));
1417:       }
1417: 
1417:       static constexpr int
1417:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return 0;
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    {
1417:      for (size_t __i = 0; __i < __n; ++__i)
1417:        if (lt(__s1[__i], __s2[__i]))
1417:   return -1;
1417:        else if (lt(__s2[__i], __s1[__i]))
1417:   return 1;
1417:      return 0;
1417:    }
1417: 
1417:  return __builtin_memcmp(__s1, __s2, __n);
1417:       }
1417: 
1417:       static constexpr size_t
1417:       length(const char_type* __s)
1417:       {
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __gnu_cxx::char_traits<char_type>::length(__s);
1417: 
1417:  return __builtin_strlen(__s);
1417:       }
1417: 
1417:       static constexpr const char_type*
1417:       find(const char_type* __s, size_t __n, const char_type& __a)
1417:       {
1417:  if (__n == 0)
1417:    return 0;
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1417: 
1417:  return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
1417:       }
1417: 
1417:       static char_type*
1417:       move(char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
1417:       }
1417: 
1417:       static char_type*
1417:       copy(char_type* __s1, const char_type  key_compare
609:       key_comp() const
609:       { return _M_t.key_comp(); }
609: 
609: 
609: 
609: 
609: 
609:       value_compare
609:       value_comp() const
609:       { return value_compare(_M_t.key_comp()); }
609: # 1216 "/usr/include/c++/12/bits/stl_map.h" 3
609:       iterator
609:       find(const key_type& __x)
609:       { return _M_t.find(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
609:  { return _M_t._M_find_tr(__x); }
609: # 1241 "/usr/include/c++/12/bits/stl_map.h" 3
609:       const_iterator
609:       find(const key_type& __x) const
609:       { return _M_t.find(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
609:  { return _M_t._M_find_tr(__x); }
609: # 1262 "/usr/include/c++/12/bits/stl_map.h" 3
609:       size_type
609:       count(const key_type& __x) const
609:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
609:  { return _M_t._M_count_tr(__x); }
609: # 1305 "/usr/include/c++/12/bits/stl_map.h" 3
609:       iterator
609:       lower_bound(const key_type& __x)
609:       { return _M_t.lower_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  lower_bound(const _Kt& __x)
609:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
609:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
609: # 1330 "/usr/include/c++/12/bits/stl_map.h" 3
609:       const_iterator
609:       lower_bound(const key_type& __x) const
609:       { return _M_t.lower_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  lower_bound(const _Kt& __x) const
609:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
609:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
609: # 1350 "/usr/include/c++/12/bits/stl_map.h" 3
609:       iterator
609:       upper_bound(const key_type& __x)
609:       { return _M_t.upper_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  upper_bound(const _Kt& __x)
609:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
609:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
609: # 1370 "/usr/include/c++/12/bits/stl_map.h" 3
609:       const_iterator
609:       upper_bound(const key_type& __x) const
609:       { return _M_t.upper_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  upper_bound(const _Kt& __x) const
609:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
609:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
609: # 1399 "/usr/include/c++/12/bits/stl_map.h" 3
609:       std::pair<iterator, iterator>
609:       equal_range(const key_type& __x)
609:       { return _M_t.equal_range(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  equal_range(const _Kt& __x)
609:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
609:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
609: # 1428 "/usr/include/c++/12/bits/stl_map.h" 3
609:       std::pair<const_iterator, const_iterator>
609:       equal_range(const key_type& __x) const
609:       { return _M_t.equal_range(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  equal_range(const _Kt& __x) const
609:  -> decltype(pair<const_iterator, const_iterator>(
609:        _M_t._M_equal_range_tr(__x)))
609:  {
609:    return pair<const_iterator, const_iterator>(
609:        _M_t._M_equal_range_tr(__x));
609:  }
609: 
609: 
609: 
609:       template<typename _K1, typename _T1, typename _C1, typename _A1>
609:  friend bool
609:  operator==(const map<_K1, _T1, _C1, _A1>&,
609:      const map<_K1, _T1, _C1, _A1>&);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _K1, typename _T1, typename _C1, typename _A1>
609:  friend bool
609:  operator<(const map<_K1, _T1, _C1, _A1>&,
609:     const map<_K1, _T1, _C1, _A1>&);
609: 
609:     };
609: 
609: 
609: 
609: 
* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
1417:       }
1417: 
1417:       static char_type*
1417:       assign(char_type* __s, size_t __n, char_type __a)
1417:       {
1417:  if (__n == 0)
1417:    return __s;
1417: 
1417: 
1417: 
1417: 
1417:  return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
1417:       }
1417: 
1417:       static constexpr char_type
1417:       to_char_type(const int_type& __c) noexcept
1417:       { return static_cast<char_type>(__c); }
1417: 
1417: 
1417: 
1417:       static constexpr int_type
1417:       to_int_type(const char_type& __c) noexcept
1417:       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
1417: 
1417:       static constexpr bool
1417:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr int_type
1417:       eof() noexcept
1417:       { return static_cast<int_type>(-1); }
1417: 
1417:       static constexpr int_type
1417:       not_eof(const int_type& __c) noexcept
1417:       { return (__c == eof()) ? 0 : __c; }
1417:   };
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct char_traits<wchar_t>
1417:     {
1417:       typedef wchar_t char_type;
1417:       typedef wint_t int_type;
1417:       typedef streamoff off_type;
1417:       typedef wstreampos pos_type;
1417:       typedef mbstate_t state_type;
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr void
1417:       assign(char_type& __c1, const char_type& __c2) noexcept
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  __c1 = __c2;
1417:       }
1417: 
1417:       static constexpr bool
1417:       eq(const char_type& __c1, const char_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr bool
1417:       lt(const char_type& __c1, const char_type& __c2) noexcept
1417:       { return __c1 < __c2; }
1417: 
1417:       static constexpr int
1417:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return 0;
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
1417: 
1417:  return wmemcmp(__s1, __s2, __n);
1417:       }
1417: 
1417:       static constexpr size_t
1417:       length(const char_type* __s)
1417:       {
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __gnu_cxx::char_traits<char_type>::length(__s);
1417: 
1417:  return wcslen(__s);
1417:       }
1417: 
1417:       static constexpr const char_type*
1417:       find(const char_type* __s, size_t __n, const char_type& __a)
1417:       {
1417:  if (__n == 0)
1417:    return 0;
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1417: 
1417:  return wmemchr(__s, __a, __n);
1417:       }
1417: 
1417:       static char_type*
1417:       move(char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return wmemmove(__s1, __s2, __n);
1417:       }
1417: 
1417:       static char_type*
1417:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return wmemcpy(__s1, __s2, __n);
1417:       }
1417: 
1417:       static char_type*
1417:       assign(char_type* __s, size_t __n, char_type __a)
1417:       {
1417:  if (__n == 0)
1417:    return __s;
1417: 
1417: 
1417: 
1417: 
1417:  return wmemset(__s, __a, __n);
1417:       }
1417: 
1417:       static constexpr char_type
1417:       to_char_type(const int_type& __c) noexcept
1417:       { return char_type(__c); }
1417: 
1417:       static constexpr int_type
1417:       to_int_type(const char_type& __c) noexcept
1417:       { return int_type(__c); }
1417: 
1417:       static constexpr bool
1417:       eq_int_type(cor_t **__restrict __endptr,
1412:        locale_t __loc) noexcept (true);
1412: # 530 "/usr/include/wchar.h" 3 4
1412: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
1412:          wchar_t **__restrict __endptr,
1412:          locale_t __loc) noexcept (true);
1412: # 552 "/usr/include/wchar.h" 3 4
1412: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
1412:    const wchar_t *__restrict __src) noexcept (true);
1412: 
1412: 
1412: 
1412: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
1412:     const wchar_t *__restrict __src, size_t __n)
1412:      noexcept (true);
1412: # 581 "/usr/include/wchar.h" 3 4
1412: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1412:   __attribute__ ((__malloc__)) ;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fwide (__FILE *__fp, int __mode) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fwprintf (__FILE *__restrict __stream,
1412:        const wchar_t *__restrict __format, ...)
1412:                                                            ;
1412: 
1412: 
1412: 
1412: 
1412: extern int wprintf (const wchar_t *__restrict __format, ...)
1412:                                                            ;
1412: 
1412: extern int swprintf (wchar_t *__restrict __s, size_t __n,
1412:        const wchar_t *__restrict __format, ...)
1412:      noexcept (true) ;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int vfwprintf (__FILE *__restrict __s,
1412:         const wchar_t *__restrict __format,
1412:         __gnuc_va_list __arg)
1412:                                                            ;
1412: 
1412: 
1412: 
1412: 
1412: extern int vwprintf (const wchar_t *__restrict __format,
1412:        __gnuc_va_list __arg)
1412:                                                            ;
1412: 
1412: 
1412: extern int vswprintf (wchar_t *__restrict __s, size_t __n,
1412:         const wchar_t *__restrict __format,
1412:         __gnuc_va_list __arg)
1412:      noexcept (true) ;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fwscanf (__FILE *__restrict __stream,
1412:       const wchar_t *__restrict __format, ...)
1412:                                                           ;
1412: 
1412: 
1412: 
1412: 
1412: extern int wscanf (const wchar_t *__restrict __format, ...)
1412:                                                           ;
1412: 
1412: extern int swscanf (const wchar_t *__restrict __s,
1412:       const wchar_t *__restrict __format, ...)
1412:      noexcept (true) ;
1412: # 657 "/usr/include/wchar.h" 3 4
1412: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf")
1412: 
1412: 
1412:                                                           ;
1412: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf")
1412: 
1412:                                                           ;
1412: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_swscanf")
1412: 
1412: 
1412:                                                           ;
1412: # 688 "/usr/include/wchar.h" 3 4
1412: extern int vfwscanf (__FILE *__restrict __s,
1412:        const wchar_t *__restrict __format,
1412:        __gnuc_va_list __arg)
1412:                                                           ;
1412: 
1412: 
1412: 
1412: 
1412: extern int vwscanf (const wchar_t *__restrict __format,
1412:       __gnuc_va_list __arg)
1412:                                                           ;
1412: 
1412: extern int vswscanf (const wchar_t *__restrict __s,
1412:        const wchar_t *__restrict __format,
1412:        __gnuc_va_list __arg)
1412:      noexcept (true) ;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf")
1412: 
1412: 
1412:                                                           ;
1412: extern int vwscanst int_type& __c1, const int_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr int_type
1417:       eof() noexcept
1417:       { return static_cast<int_type>((0xffffffffu)); }
1417: 
1417:       static constexpr int_type
1417:       not_eof(const int_type& __c) noexcept
1417:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1417:   };
1417: # 726 "/usr/include/c++/12/bits/char_traits.h" 3
1417: 
1417: }
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/cstdint" 1 3
1417: # 32 "/usr/include/c++/12/cstdint" 3
1417:        
1417: # 33 "/usr/include/c++/12/cstdint" 3
1417: # 41 "/usr/include/c++/12/cstdint" 3
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 1 3 4
1417: # 9 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 3 4
1417: # 1 "/usr/include/stdint.h" 1 3 4
1417: # 26 "/usr/include/stdint.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1417: # 27 "/usr/include/stdint.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 30 "/usr/include/stdint.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 3 4
1417: typedef __uint8_t uint8_t;
1417: typedef __uint16_t uint16_t;
1417: typedef __uint32_t uint32_t;
1417: typedef __uint64_t uint64_t;
1417: # 38 "/usr/include/stdint.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __int_least8_t int_least8_t;
1417: typedef __int_least16_t int_least16_t;
1417: typedef __int_least32_t int_least32_t;
1417: typedef __int_least64_t int_least64_t;
1417: 
1417: 
1417: typedef __uint_least8_t uint_least8_t;
1417: typedef __uint_least16_t uint_least16_t;
1417: typedef __uint_least32_t uint_least32_t;
1417: typedef __uint_least64_t uint_least64_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef signed char int_fast8_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef int int_fast16_t;
1417: typedef int int_fast32_t;
1417: __extension__
1417: typedef long long int int_fast64_t;
1417: 
1417: 
1417: 
1417: typedef unsigned char uint_fast8_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef unsigned int uint_fast16_t;
1417: typedef unsigned int uint_fast32_t;
1417: __extension__
1417: typedef unsigned long long int uint_fast64_t;
1417: # 93 "/usr/include/stdint.h" 3 4
1417: typedef int intptr_t;
1417: 
1417: 
1417: typedef unsigned int uintptr_t;
1417: 
1417: 
1417: 
1417: 
1417: typedef __intmax_t intmax_t;
1417: typedef __uintmax_t uintmax_t;
1417: # 10 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 2 3 4
1417: # 42 "/usr/include/c++/12/cstdint" 2 3
1417: 
1417: 
1417: namespace std
1417: {
1417: 
1417:   using ::int8_t;
1417:   using ::int16_t;
1417:   using ::int32_t;
1417:   using ::int64_t;
1417: 
1417:   using ::int_fast8_t;
1417:   using ::int_fast16_t;
1417:   using ::int_fast32_t;
1417:   using ::int_fast64_t;
1417: 
1417:   using ::int_least8_t;
1417:   using ::int_least16_t;
1417:   using ::int_least32_t;
1417:   using ::int_least64_t;
1417: 
1417:   using ::intmax_t;
1417:   using ::intptr_t;
1417: 
1417:   using ::uint8_t;
1417:   using ::uint16_t;
1417:   using ::uint32_t;
1417:   using ::uint64_t;
1417: 
1417:   using ::uint_fast8_t;
1417:   using ::uint_fast16_t;
1417:   using ::uint_fast32_t;
1417:   using ::uint_fast64_t;
1417: 
1417:   using ::uint_least8_t;
1417:   using ::uint_least16_t;
1417:   using ::uint_least32_t;
1417:   using ::uint_least64_t;
1417: 
1417:   using ::uintmax_t;
1417:   using ::uintptr_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 732 "/usr/include/c++/12/bits/char_traits.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<>
1417:     struct char_traits<char16_t>
1417:     {
1417:       typedef char16_t char_type;
1417: 
1417:       typedef uint_least16_t int_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef streamoff off_type;
1417:       typedef u16streampos pos_ty609:   template<typename _InputIterator,
609:     typename _Compare = less<__iter_key_t<_InputIterator>>,
609:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireNotAllocator<_Compare>,
609:     typename = _RequireAllocator<_Allocator>>
609:     map(_InputIterator, _InputIterator,
609:  _Compare = _Compare(), _Allocator = _Allocator())
609:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
609:     _Compare, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
609:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
609:     typename = _RequireNotAllocator<_Compare>,
609:     typename = _RequireAllocator<_Allocator>>
609:     map(initializer_list<pair<_Key, _Tp>>,
609:  _Compare = _Compare(), _Allocator = _Allocator())
609:     -> map<_Key, _Tp, _Compare, _Allocator>;
609: 
609:   template <typename _InputIterator, typename _Allocator,
609:      typename = _RequireInputIter<_InputIterator>,
609:      typename = _RequireAllocator<_Allocator>>
609:     map(_InputIterator, _InputIterator, _Allocator)
609:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
609:     less<__iter_key_t<_InputIterator>>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Allocator,
609:     typename = _RequireAllocator<_Allocator>>
609:     map(initializer_list<pair<_Key, _Tp>>, _Allocator)
609:     -> map<_Key, _Tp, less<_Key>, _Allocator>;
609: # 1509 "/usr/include/c++/12/bits/stl_map.h" 3
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return __x._M_t == __y._M_t; }
609: # 1547 "/usr/include/c++/12/bits/stl_map.h" 3
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
609:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return __x._M_t < __y._M_t; }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
609:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return __y < __x; }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline void
609:     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
609:   map<_Key, _Tp, _Compare, _Alloc>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
609:     typename _Cmp2>
609:     struct
609:     _Rb_tree_merge_helper<std::map<_Key, _Val, _Cmp1, _Alloc>,
609:      _Cmp2>
609:     {
609:     private:
609:       friend class std::map<_Key, _Val, _Cmp1, _Alloc>;
609: 
609:       static auto&
609:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
609:       { return __map._M_t; }
609: 
609:       static auto&
609:       _S_get_tree(std::multimap<_Key, _Val, pe;
1417:       typedef mbstate_t state_type;
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr void
1417:       assign(char_type& __c1, const char_type& __c2) noexcept
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  __c1 = __c2;
1417:       }
1417: 
1417:       static constexpr bool
1417:       eq(const char_type& __c1, const char_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr bool
1417:       lt(const char_type& __c1, const char_type& __c2) noexcept
1417:       { return __c1 < __c2; }
1417: 
1417:       static constexpr int
1417:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  for (size_t __i = 0; __i < __n; ++__i)
1417:    if (lt(__s1[__i], __s2[__i]))
1417:      return -1;
1417:    else if (lt(__s2[__i], __s1[__i]))
1417:      return 1;
1417:  return 0;
1417:       }
1417: 
1417:       static constexpr size_t
1417:       length(const char_type* __s)
1417:       {
1417:  size_t __i = 0;
1417:  while (!eq(__s[__i], char_type()))
1417:    ++__i;
1417:  return __i;
1417:       }
1417: 
1417:       static constexpr const char_type*
1417:       find(const char_type* __s, size_t __n, const char_type& __a)
1417:       {
1417:  for (size_t __i = 0; __i < __n; ++__i)
1417:    if (eq(__s[__i], __a))
1417:      return __s + __i;
1417:  return 0;
1417:       }
1417: 
1417:       static char_type*
1417:       move(char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return (static_cast<char_type*>
1417:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1417:       }
1417: 
1417:       static char_type*
1417:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return (static_cast<char_type*>
1417:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1417:       }
1417: 
1417:       static char_type*
1417:       assign(char_type* __s, size_t __n, char_type __a)
1417:       {
1417:  for (size_t __i = 0; __i < __n; ++__i)
1417:    assign(__s[__i], __a);
1417:  return __s;
1417:       }
1417: 
1417:       static constexpr char_type
1417:       to_char_type(const int_type& __c) noexcept
1417:       { return char_type(__c); }
1417: 
1417:       static constexpr int_type
1417:       to_int_type(const char_type& __c) noexcept
1417:       { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
1417: 
1417:       static constexpr bool
1417:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr int_type
1417:       eof() noexcept
1417:       { return static_cast<int_type>(-1); }
1417: 
1417:       static constexpr int_type
1417:       not_eof(const int_type& __c) noexcept
1417:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1417:     };
1417: 
1417:   template<>
1417:     struct char_traits<char32_t>
1417:     {
1417:       typedef char32_t char_type;
1417: 
1417:       typedef uint_least32_t int_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef streamoff off_type;
1417:       typedef u32streampos pos_type;
1417:       typedef mbstate_t state_type;
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr void
1417:       assign(char_type& __c1, const char_type& __c2) noexcept
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  __c1 = __c2;
1417:       }
1417: 
1417:       static constexpr bool
1417:       eq(const char_type& __c1, const char_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr bool
1417:       lt(const char_type& __c1, const char_type& __c2) noexcept
1417:       { return __c1 < __c2; }
1417: 
1417:       static constexpr int
1417:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  for (size_t __i = 0; __i < __n; ++__i)
1417:    if (lt(__s1[__i], __s2[__i]))
1417:      return -1;
1417:    else if (lt(__s2[__i], __s1[__i]nf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf")
1412: 
1412:                                                           ;
1412: extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vswscanf")
1412: 
1412: 
1412:                                                           ;
1412: # 744 "/usr/include/wchar.h" 3 4
1412: extern wint_t fgetwc (__FILE *__stream);
1412: extern wint_t getwc (__FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t getwchar (void);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
1412: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t putwchar (wchar_t __wc);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
1412:    __FILE *__restrict __stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fputws (const wchar_t *__restrict __ws,
1412:      __FILE *__restrict __stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
1412: # 799 "/usr/include/wchar.h" 3 4
1412: extern wint_t getwc_unlocked (__FILE *__stream);
1412: extern wint_t getwchar_unlocked (void);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t fgetwc_unlocked (__FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
1412: # 825 "/usr/include/wchar.h" 3 4
1412: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
1412: extern wint_t putwchar_unlocked (wchar_t __wc);
1412: # 835 "/usr/include/wchar.h" 3 4
1412: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
1412:      __FILE *__restrict __stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fputws_unlocked (const wchar_t *__restrict __ws,
1412:        __FILE *__restrict __stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
1412:    const wchar_t *__restrict __format,
1412:    const struct tm *__restrict __tp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
1412:      const wchar_t *__restrict __format,
1412:      const struct tm *__restrict __tp,
1412:      locale_t __loc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 3 4
1412: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
1412:           const wchar_t *__restrict __s2, size_t __n,
1412:           size_t __ns1) noexcept (true);
1412: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
1412:     size_t __n, size_t __ns1) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
1412:     const wchar_t *__restrict __s2, size_t __n,
1412:     size_t __ns1) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
1412:           size_t __ns) noexcept (true);
1412: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
1412:          const wchar_t *__restrict __src,
1412:          size_t __n) noexcept (true);
1412: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
1412:          const wchar_t *__restrict __src,
1412:          size_t __destlen) noexcept (true);
1412: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
1412:           const wchar_t *__restrict __src, size_t __n,
1412:           size_t __destlen) noexcept (true);
1412: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
1412:           const wchar_t *__restrict __src, size_t __n,
1412:           size_t __destlen) noexcept (true);
1412: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
1412:  ))
1417:      return 1;
1417:  return 0;
1417:       }
1417: 
1417:       static constexpr size_t
1417:       length(const char_type* __s)
1417:       {
1417:  size_t __i = 0;
1417:  while (!eq(__s[__i], char_type()))
1417:    ++__i;
1417:  return __i;
1417:       }
1417: 
1417:       static constexpr const char_type*
1417:       find(const char_type* __s, size_t __n, const char_type& __a)
1417:       {
1417:  for (size_t __i = 0; __i < __n; ++__i)
1417:    if (eq(__s[__i], __a))
1417:      return __s + __i;
1417:  return 0;
1417:       }
1417: 
1417:       static char_type*
1417:       move(char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return (static_cast<char_type*>
1417:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1417:       }
1417: 
1417:       static char_type*
1417:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1417:       {
1417:  if (__n == 0)
1417:    return __s1;
1417: 
1417: 
1417: 
1417: 
1417:  return (static_cast<char_type*>
1417:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1417:       }
1417: 
1417:       static char_type*
1417:       assign(char_type* __s, size_t __n, char_type __a)
1417:       {
1417:  for (size_t __i = 0; __i < __n; ++__i)
1417:    assign(__s[__i], __a);
1417:  return __s;
1417:       }
1417: 
1417:       static constexpr char_type
1417:       to_char_type(const int_type& __c) noexcept
1417:       { return char_type(__c); }
1417: 
1417:       static constexpr int_type
1417:       to_int_type(const char_type& __c) noexcept
1417:       { return int_type(__c); }
1417: 
1417:       static constexpr bool
1417:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1417:       { return __c1 == __c2; }
1417: 
1417:       static constexpr int_type
1417:       eof() noexcept
1417:       { return static_cast<int_type>(-1); }
1417: 
1417:       static constexpr int_type
1417:       not_eof(const int_type& __c) noexcept
1417:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1417:     };
1417: # 998 "/usr/include/c++/12/bits/char_traits.h" 3
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: }
1417: # 41 "/usr/include/c++/12/string" 2 3
1417: # 1 "/usr/include/c++/12/bits/allocator.h" 1 3
1417: # 46 "/usr/include/c++/12/bits/allocator.h" 3
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 1 3
1417: # 33 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1417: # 1 "/usr/include/c++/12/bits/new_allocator.h" 1 3
1417: # 41 "/usr/include/c++/12/bits/new_allocator.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 55 "/usr/include/c++/12/bits/new_allocator.h" 3
1417:   template<typename _Tp>
1417:     class __new_allocator
1417:     {
1417:     public:
1417:       typedef _Tp value_type;
1417:       typedef std::size_t size_type;
1417:       typedef std::ptrdiff_t difference_type;
1417: 
1417:       typedef _Tp* pointer;
1417:       typedef const _Tp* const_pointer;
1417:       typedef _Tp& reference;
1417:       typedef const _Tp& const_reference;
1417: 
1417:       template<typename _Tp1>
1417:  struct rebind
1417:  { typedef __new_allocator<_Tp1> other; };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef std::true_type propagate_on_container_move_assignment;
1417: 
1417: 
1417:      
1417:       __new_allocator() noexcept { }
1417: 
1417:      
1417:       __new_allocator(const __new_allocator&) noexcept { }
1417: 
1417:       template<typename _Tp1>
1417: 
1417:  __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
1417: 
1417: 
1417:       ~__new_allocator() noexcept { }
1417: 
1417:       pointer
1417:       address(reference __x) const noexcept
1417:       { return std::__addressof(__x); }
1417: 
1417:       const_pointer
1417:       address(const_reference __x) const noexcept
1417:       { return std::__addressof(__x); }
1417: # 111 "/usr/include/c++/12/bits/new_allocator.h" 3
1417:       [[__nodiscard__]] _Tp*
1417:       allocate(size_type _Cmp2, _Alloc>& __map)
609:       { return __map._M_t; }
609:     };
609: 
609: 
609: 
609: }
609: # 62 "/usr/include/c++/12/map" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_multimap.h" 1 3
609: # 64 "/usr/include/c++/12/bits/stl_multimap.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     class map;
609: # 96 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:   template <typename _Key, typename _Tp,
609:      typename _Compare = std::less<_Key>,
609:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
609:     class multimap
609:     {
609:     public:
609:       typedef _Key key_type;
609:       typedef _Tp mapped_type;
609:       typedef std::pair<const _Key, _Tp> value_type;
609:       typedef _Compare key_compare;
609:       typedef _Alloc allocator_type;
609: 
609:     private:
609: # 122 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
609:    "std::multimap must have the same value_type as its allocator");
609: 
609: 
609: 
609:     public:
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:       class value_compare
609:       : public std::binary_function<value_type, value_type, bool>
609:       {
609:  friend class multimap<_Key, _Tp, _Compare, _Alloc>;
609:       protected:
609:  _Compare comp;
609: 
609:  value_compare(_Compare __c)
609:  : comp(__c) { }
609: 
609:       public:
609:  bool operator()(const value_type& __x, const value_type& __y) const
609:  { return comp(__x.first, __y.first); }
609:       };
609: #pragma GCC diagnostic pop
609: 
609:     private:
609: 
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<value_type>::other _Pair_alloc_type;
609: 
609:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
609:          key_compare, _Pair_alloc_type> _Rep_type;
609: 
609:       _Rep_type _M_t;
609: 
609:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
609: 
609:     public:
609: 
609: 
609:       typedef typename _Alloc_traits::pointer pointer;
609:       typedef typename _Alloc_traits::const_pointer const_pointer;
609:       typedef typename _Alloc_traits::reference reference;
609:       typedef typename _Alloc_traits::const_reference const_reference;
609:       typedef typename _Rep_type::iterator iterator;
609:       typedef typename _Rep_type::const_iterator const_iterator;
609:       typedef typename _Rep_type::size_type size_type;
609:       typedef typename _Rep_type::difference_type difference_type;
609:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
609:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
609: 
609: 
609:       using node_type = typename _Rep_type::node_type;
609: # 185 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       multimap() = default;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       explicit
609:       multimap(const _Compare& __comp,
609:         const allocator_type& __a = allocator_type())
609:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
609: # 207 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       multimap(const multimap&) = default;
609: # 216 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       multimap(multimap&&) = default;
609: # 228 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       multimap(initializer_list<value_type> __l,
609:         const _Compare& __comp = _Compare(),
609:         const allocator_type& __a = allocator_type())
609:       : _M_t(__comp, _Pair_alloc_type(__a))
609:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
609: 
609: 
609:       explicit
609:       multimap(const allocator_type& __a)
609:       : _M_t(_Pair_alloc_type(__a)) { }
609: 
609: 
609:       multimap(const multimap& __m,
609:         const __type_identity_t<allocator_type>& __a)
609:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
609: 
60        const wchar_t *__restrict __src,
1412:          size_t __destlen) noexcept (true);
1412: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
1412:           const wchar_t *__restrict __src,
1412:           size_t __n, size_t __destlen) noexcept (true);
1412: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
1412:       int __flag, size_t __s_len,
1412:       const wchar_t *__restrict __format, ...)
1412:      noexcept (true) ;
1412: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
1412:        int __flag, size_t __s_len,
1412:        const wchar_t *__restrict __format,
1412:        __gnuc_va_list __arg)
1412:      noexcept (true) ;
1412: 
1412: 
1412: 
1412: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
1412:       const wchar_t *__restrict __format, ...);
1412: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
1412:      ...);
1412: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
1412:        const wchar_t *__restrict __format,
1412:        __gnuc_va_list __ap);
1412: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
1412:       __gnuc_va_list __ap);
1412: 
1412: 
1412: 
1412: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
1412:          __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
1412:            int __n, __FILE *__restrict __stream)
1412:        __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
1412:         mbstate_t *__restrict __p,
1412:         size_t __buflen) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
1412:           const char **__restrict __src,
1412:           size_t __len, mbstate_t *__restrict __ps,
1412:           size_t __dstlen) noexcept (true);
1412: extern size_t __wcsrtombs_chk (char *__restrict __dst,
1412:           const wchar_t **__restrict __src,
1412:           size_t __len, mbstate_t *__restrict __ps,
1412:           size_t __dstlen) noexcept (true);
1412: 
1412: 
1412: 
1412: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
1412:     const char **__restrict __src, size_t __nmc,
1412:     size_t __len, mbstate_t *__restrict __ps,
1412:     size_t __dstlen) noexcept (true);
1412: extern size_t __wcsnrtombs_chk (char *__restrict __dst,
1412:     const wchar_t **__restrict __src,
1412:     size_t __nwc, size_t __len,
1412:     mbstate_t *__restrict __ps, size_t __dstlen)
1412:        noexcept (true);
1412: # 869 "/usr/include/wchar.h" 2 3 4
1412: # 879 "/usr/include/wchar.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1412: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmemcpy")
1412: 
1412: 
1412:             ;
1412: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemcpy_chk")
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer")))
1412:             ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned in__n, const void* = static_cast<const void*>(0))
1417:       {
1417: 
1417: 
1417: 
1417:  static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
1417: 
1417: 
1417:  if (__builtin_expect(__n > this->_M_max_size(), false))
1417:    {
1417: 
1417: 
1417:      if (__n > (std::size_t(-1) / sizeof(_Tp)))
1417:        std::__throw_bad_array_new_length();
1417:      std::__throw_bad_alloc();
1417:    }
1417: 
1417: 
1417:  if (alignof(_Tp) > 8)
1417:    {
1417:      std::align_val_t __al = std::align_val_t(alignof(_Tp));
1417:      return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp),
1417:           __al));
1417:    }
1417: 
1417:  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
1417:       }
1417: 
1417: 
1417:       void
1417:       deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  if (alignof(_Tp) > 8)
1417:    {
1417:      ::operator delete((__p), (__n) * sizeof(_Tp),
1417:          std::align_val_t(alignof(_Tp)));
1417:      return;
1417:    }
1417: 
1417:  ::operator delete((__p), (__n) * sizeof(_Tp));
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _M_max_size(); }
1417: 
1417: 
1417:       template<typename _Up, typename... _Args>
1417:  void
1417:  construct(_Up* __p, _Args&&... __args)
1417:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1417:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
1417: 
1417:       template<typename _Up>
1417:  void
1417:  destroy(_Up* __p)
1417:  noexcept(std::is_nothrow_destructible<_Up>::value)
1417:  { __p->~_Up(); }
1417: # 194 "/usr/include/c++/12/bits/new_allocator.h" 3
1417:       template<typename _Up>
1417:  friend bool
1417:  operator==(const __new_allocator&, const __new_allocator<_Up>&)
1417:  noexcept
1417:  { return true; }
1417: 
1417: 
1417:       template<typename _Up>
1417:  friend bool
1417:  operator!=(const __new_allocator&, const __new_allocator<_Up>&)
1417:  noexcept
1417:  { return false; }
1417: 
1417: 
1417:     private:
1417:       constexpr size_type
1417:       _M_max_size() const noexcept
1417:       {
1417: 
1417:  return std::size_t(0x7fffffff) / sizeof(_Tp);
1417: 
1417: 
1417: 
1417:       }
1417:     };
1417: 
1417: 
1417: }
1417: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 2 3
1417: 
1417: 
1417: namespace std
1417: {
1417: # 46 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1417:   template<typename _Tp>
1417:     using __allocator_base = __new_allocator<_Tp>;
1417: }
1417: # 47 "/usr/include/c++/12/bits/allocator.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 71 "/usr/include/c++/12/bits/allocator.h" 3
1417:   template<>
1417:     class allocator<void>
1417:     {
1417:     public:
1417:       typedef void value_type;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417: 
1417: 
1417: 
1417:       typedef void* pointer;
1417:       typedef const void* const_pointer;
1417: 
1417:       template<typename _Tp1>
1417:  struct rebind
1417:  { typedef allocator<_Tp1> other; };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using propagate_on_container_move_assignment = true_type;
1417: 
1417:       using is_always_equal
1417: 
1417:  = true_type;
1417: # 113 "/usr/include/c++/12/bits/allocator.h" 3
1417:     };
1417: # 123 "/usr/include/c++/12/bits/allocator.h" 3
1417:   template<typename _Tp>
1417:     class allocator : public __allocator_base<_Tp>
1417:     {
1417:     public:
1417:       typedef _Tp value_type;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417: 
1417: 
1417: 
1417:       typedef _Tp* pointer;
1417:       typedef const _Tp* const_pointer;
1417:       typedef _Tp& reference;
1417:       typedef const _Tp& const_reference;
1417: 
1417:       template<typename _Tp1>
1417:  struct rebind
1417:  { typedef allocator<_Tp1> other; };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using propagate_on_container_move_assignment = true_type;
1417: 
1417:       using is_always_equal
1417: 
1417:  = true_type;
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       allocator() noexcept { }
1417: 
1417:      
1417:       allocator(const allocator& __a) noexcept
1417:       : __allocator_base<_Tp>(__a) { }
1417: 
1417: 
1417: 
1417:       allocator& operator=(const allocator&) = default;
1417: 
1417: 
1417:       template<typename _Tp1>
1417: 
1417:  allocator(const allocator<_Tp1>&) noexcept { }
1417: 
1417: 
1417: 
1417: 
1417:       ~allocator() noexcept { }
1417: # 204 "/usr/include/c++/12/bits/allocator.h" 3
1417:       friend bool
1417:       operator==(const allocator&, const allocator&) noexcept
1417:       { return true; }
1417: 
1417: 
1417:       friend bool
1417:       operator!=(const allocator&, const allocator&) noexcept
1417:       { return false; }
1417: 
1417: 
1417: 
1417:     };
1417: 
1417:   template<typename _T1, typename _T2>
1417:     inline bool
1417:     operator==(const allocator<_T1>&, const allocator<_T2>&)
1417:     noexcept
1417:     { return true; }
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     inline bool
1417:     operator!=(const allocator<_T1>&, const allocator<_T2>&)
1417:     noexcept
1417:     { return false; }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     class allocator<const _Tp>
1417:     {
1417:     public:
1417:       typedef _Tp value_type;
1417:       template<typename _Up> allocator(const allocator<_Up>&) { }
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     class allocator<volatile _Tp>
1417:     {
1417:     public:
1417:       typedef _Tp value_type;
1417:       template<typename _Up> allocator(const allocator<_Up>&) { }
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     class allocator<const volatile _Tp>
1417:     {
1417:     public:
1417:       typedef _Tp value_type;
1417:       template<typename _Up> allocator(const allocator<_Up>&) { }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   extern template class allocator<char>;
1417:   extern template class allocator<wchar_t>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1417:     struct __alloc_swap
1417:     { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
1417: 
1417:   template<typename _Alloc>
1417:     struct __alloc_swap<_Alloc, false>
1417:     {
1417:       static void
1417:       _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
1417:       {
1417: 
1417:  if (__one != __two)
1417:    swap(__one, __two);
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1417:     struct __alloc_neq
1417:     {
1417:       static bool
1417:       _S_do_it(const _Alloc&, const _Alloc&)
1417:       { return false; }
1417:     };
1417: 
1417:   template<typename _Alloc>
1417:     struct __alloc_neq<_Alloc, false>
1417:     {
1417:       static bool
1417:       _S_do_it(const _Alloc& __one, const _Alloc& __two)
1417:       { return __one != __two; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, bool
1417:     = __or_<is_copy_constructible<typename _Tp::value_type>,
1417:             is_nothrow_move_constructible<typename _Tp::value_type>>::value>
1417:     struct __shrink_to_fit_aux
1417:     { static bool _S_do_it(_Tp&) noexcept { return false; } };
1417: 
1417:   template<typename _Tp>
1417:     struct __shrink_to_fit_aux<_Tp, true>
1417:     {
1417:      
1417:       static bool
1417:       _S_do_it(_Tp& __c) noexcept
1417:       {
1417: 
1417:  try
1417:    {
1417:      _Tp(__make_move_if_noexcept_iterator(__c.begin()),
1417:   __make_move_if_noexcept_iterator(__c.end()),
1417:   __c.get_allocator()).swap(__c);
1417:      return true;
1417:    }
1417:  catch(...)
1417:    { return false; }
1417: 
1417: 
1417: 
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 42 "/usr/include/c++/12/string" 2 3
1417: 
1417: # 1 "/usr/includ9: 
609:       multimap(multimap&& __m, const __type_identity_t<allocator_type>& __a)
609:       noexcept(is_nothrow_copy_constructible<_Compare>::value
609:         && _Alloc_traits::_S_always_equal())
609:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
609: 
609: 
609:       multimap(initializer_list<value_type> __l, const allocator_type& __a)
609:       : _M_t(_Pair_alloc_type(__a))
609:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
609: 
609: 
609:       template<typename _InputIterator>
609:  multimap(_InputIterator __first, _InputIterator __last,
609:    const allocator_type& __a)
609:  : _M_t(_Pair_alloc_type(__a))
609:  { _M_t._M_insert_range_equal(__first, __last); }
609: # 272 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       template<typename _InputIterator>
609:  multimap(_InputIterator __first, _InputIterator __last)
609:  : _M_t()
609:  { _M_t._M_insert_range_equal(__first, __last); }
609: # 288 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       template<typename _InputIterator>
609:  multimap(_InputIterator __first, _InputIterator __last,
609:    const _Compare& __comp,
609:    const allocator_type& __a = allocator_type())
609:  : _M_t(__comp, _Pair_alloc_type(__a))
609:  { _M_t._M_insert_range_equal(__first, __last); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       ~multimap() = default;
609: # 317 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       multimap&
609:       operator=(const multimap&) = default;
609: 
609: 
609:       multimap&
609:       operator=(multimap&&) = default;
609: # 335 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       multimap&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  _M_t._M_assign_equal(__l.begin(), __l.end());
609:  return *this;
609:       }
609: 
609: 
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(_M_t.get_allocator()); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       begin() noexcept
609:       { return _M_t.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       begin() const noexcept
609:       { return _M_t.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       end() noexcept
609:       { return _M_t.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       end() const noexcept
609:       { return _M_t.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return _M_t.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return _M_t.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       reverse_iterator
609:       rend() noexcept
609:       { return _M_t.rend(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return _M_t.rend(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       cbegin() const noexcept
609:       { return _M_t.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       cend() const noexcept
609:       { return _M_t.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       crbegin() const noexcept
609:       { return _M_t.rbegin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_reverse_iterator
609:       crend() const noexcept
609:       { return _M_t.rend(); }
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return _M_t.empty(); }
609: 
609: 
609:       size_type
609:       size() const noexcept
609:       { return _M_t.size(); }
609: 
609: 
609:       size_type
609:       max_size() const noexcept
609:       { return _M_t.max_size(); }
609: # 493 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace(_Args&&... __args)
609:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
609: # 52e/c++/12/bits/localefwd.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/localefwd.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/localefwd.h" 3
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 1 3
1417: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1417:        
1417: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/clocale" 1 3
1417: # 39 "/usr/include/c++/12/clocale" 3
1417:        
1417: # 40 "/usr/include/c++/12/clocale" 3
1417: 
1417: 
1417: # 1 "/usr/include/locale.h" 1 3 4
1417: # 28 "/usr/include/locale.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 29 "/usr/include/locale.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/locale.h" 1 3 4
1417: # 30 "/usr/include/locale.h" 2 3 4
1417: 
1417: extern "C" {
1417: # 51 "/usr/include/locale.h" 3 4
1417: struct lconv
1417: {
1417: 
1417: 
1417:   char *decimal_point;
1417:   char *thousands_sep;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   char *grouping;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   char *int_curr_symbol;
1417:   char *currency_symbol;
1417:   char *mon_decimal_point;
1417:   char *mon_thousands_sep;
1417:   char *mon_grouping;
1417:   char *positive_sign;
1417:   char *negative_sign;
1417:   char int_frac_digits;
1417:   char frac_digits;
1417: 
1417:   char p_cs_precedes;
1417: 
1417:   char p_sep_by_space;
1417: 
1417:   char n_cs_precedes;
1417: 
1417:   char n_sep_by_space;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   char p_sign_posn;
1417:   char n_sign_posn;
1417: 
1417: 
1417:   char int_p_cs_precedes;
1417: 
1417:   char int_p_sep_by_space;
1417: 
1417:   char int_n_cs_precedes;
1417: 
1417:   char int_n_sep_by_space;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   char int_p_sign_posn;
1417:   char int_n_sign_posn;
1417: # 118 "/usr/include/locale.h" 3 4
1417: };
1417: 
1417: 
1417: 
1417: extern char *setlocale (int __category, const char *__locale) noexcept (true);
1417: 
1417: 
1417: extern struct lconv *localeconv (void) noexcept (true);
1417: # 141 "/usr/include/locale.h" 3 4
1417: extern locale_t newlocale (int __category_mask, const char *__locale,
1417:       locale_t __base) noexcept (true);
1417: # 176 "/usr/include/locale.h" 3 4
1417: extern locale_t duplocale (locale_t __dataset) noexcept (true);
1417: 
1417: 
1417: 
1417: extern void freelocale (locale_t __dataset) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern locale_t uselocale (locale_t __dataset) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 43 "/usr/include/c++/12/clocale" 2 3
1417: # 51 "/usr/include/c++/12/clocale" 3
1417: namespace std
1417: {
1417:   using ::lconv;
1417:   using ::setlocale;
1417:   using ::localeconv;
1417: }
1417: # 42 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   extern "C" __typeof(uselocale) __uselocale;
1417: 
1417: 
1417: }
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   typedef __locale_t __c_locale;
1417: # 73 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1417:   inline int
1417:   __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
1417:      char* __out,
1417:      const int __size __attribute__ ((__unused__)),
1417:      const char* __fmt, ...)
1417:   {
1417: 
1417:     __c_locale __old = __gnu_cxx::__uselocale(__cloc);
1417: # 93 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1417:     __builtin_va_list __args;
1417:     __builtin_va_start(__args, __fmt);
1417: 
1417: 
1417:     const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
1417: 
1417: 
1417: 
1417: 
1417:     __builtin_va_end(__args);
1417: 
1417: 
1417:     __gnu_cxx::__uselocale(__old);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     return __ret;
1417:   }
1417: 
141t) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1412: 
1412:                        ;
1412: }
1412: 
1412: 
1412: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true) __asm__ ("" "wmemmove")
1412: 
1412:                                ;
1412: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemmove_chk")
1412: 
1412: 
1412:      __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer")))
1412:             ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true)
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemmove_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemmove_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemmove_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1412: 
1412:                        ;
1412: }
1412: 
1412: 
1412: 
1412: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmempcpy")
1412: 
1412: 
1412:                            ;
1412: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmempcpy_chk")
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer")))
1412:             ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmempcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmempcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmempcpy_chk (__s1, __s2, __n, (__builtin_7: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 41 "/usr/include/c++/12/bits/localefwd.h" 2 3
1417: # 1 "/usr/include/c++/12/iosfwd" 1 3
1417: # 36 "/usr/include/c++/12/iosfwd" 3
1417:        
1417: # 37 "/usr/include/c++/12/iosfwd" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 74 "/usr/include/c++/12/iosfwd" 3
1417:   class ios_base;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_ios;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_streambuf;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_istream;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_ostream;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_iostream;
1417: 
1417: 
1417: namespace __cxx11 {
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1417:      typename _Alloc = allocator<_CharT> >
1417:     class basic_stringbuf;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1417:     typename _Alloc = allocator<_CharT> >
1417:     class basic_istringstream;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1417:     typename _Alloc = allocator<_CharT> >
1417:     class basic_ostringstream;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1417:     typename _Alloc = allocator<_CharT> >
1417:     class basic_stringstream;
1417: 
1417: }
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_filebuf;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_ifstream;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_ofstream;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class basic_fstream;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class istreambuf_iterator;
1417: 
1417:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1417:     class ostreambuf_iterator;
1417: 
1417: 
1417: 
1417:   typedef basic_ios<char> ios;
1417: 
1417: 
1417:   typedef basic_streambuf<char> streambuf;
1417: 
1417: 
1417:   typedef basic_istream<char> istream;
1417: 
1417: 
1417:   typedef basic_ostream<char> ostream;
1417: 
1417: 
1417:   typedef basic_iostream<char> iostream;
1417: 
1417: 
1417:   typedef basic_stringbuf<char> stringbuf;
1417: 
1417: 
1417:   typedef basic_istringstream<char> istringstream;
1417: 
1417: 
1417:   typedef basic_ostringstream<char> ostringstream;
1417: 
1417: 
1417:   typedef basic_stringstream<char> stringstream;
1417: 
1417: 
1417:   typedef basic_filebuf<char> filebuf;
1417: 
1417: 
1417:   typedef basic_ifstream<char> ifstream;
1417: 
1417: 
1417:   typedef basic_ofstream<char> ofstream;
1417: 
1417: 
1417:   typedef basic_fstream<char> fstream;
1417: 
1417: 
1417: 
1417:   typedef basic_ios<wchar_t> wios;
1417: 
1417: 
1417:   typedef basic_streambuf<wchar_t> wstreambuf;
1417: 
1417: 
1417:   typedef basic_istream<wchar_t> wistream;
1417: 
1417: 
1417:   typedef basic_ostream<wchar_t> wostream;
1417: 
1417: 
1417:   typedef basic_iostream<wchar_t> wiostream;
1417: 
1417: 
1417:   typedef basic_stringbuf<wchar_t> wstringbuf;
1417: 
1417: 
1417:   typedef basic_istringstream<wchar_t> wistringstream;
1417: 
1417: 
1417:   typedef basic_ostringstream<wchar_t> wostringstream;
1417: 
1417: 
1417:   typedef basic_stringstream<wchar_t> wstringstream;
1417: 
1417: 
1417:   typedef basic_filebuf<wchar_t> wfilebuf;
1417: 
1417: 
1417:   typedef basic_ifstream<wchar_t> wifstream;
1417: 
1417: 
1417:   typedef basic_ofstream<wchar_t> wofstream;
1417: 
1417: 
1417:   typedef basic_fstream<wchar_t> wfstream;
1417: # 253 "/usr/incl0 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace_hint(const_iterator __pos, _Args&&... __args)
609:  {
609:    return _M_t._M_emplace_hint_equal(__pos,
609:          std::forward<_Args>(__args)...);
609:  }
609: # 542 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       iterator
609:       insert(const value_type& __x)
609:       { return _M_t._M_insert_equal(__x); }
609: 
609: 
609: 
609: 
609:       iterator
609:       insert(value_type&& __x)
609:       { return _M_t._M_insert_equal(std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
609:  insert(_Pair&& __x)
609:  { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); }
609: # 581 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       iterator
609: 
609:       insert(const_iterator __position, const value_type& __x)
609: 
609: 
609: 
609:       { return _M_t._M_insert_equal_(__position, __x); }
609: 
609: 
609: 
609: 
609:       iterator
609:       insert(const_iterator __position, value_type&& __x)
609:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
609:  insert(const_iterator __position, _Pair&& __x)
609:  {
609:    return _M_t._M_emplace_hint_equal(__position,
609:          std::forward<_Pair>(__x));
609:  }
609: # 615 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       template<typename _InputIterator>
609:  void
609:  insert(_InputIterator __first, _InputIterator __last)
609:  { _M_t._M_insert_range_equal(__first, __last); }
609: # 628 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       void
609:       insert(initializer_list<value_type> __l)
609:       { this->insert(__l.begin(), __l.end()); }
609: 
609: 
609: 
609: 
609:       node_type
609:       extract(const_iterator __pos)
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
609:  return _M_t.extract(__pos);
609:       }
609: 
609: 
609:       node_type
609:       extract(const key_type& __x)
609:       { return _M_t.extract(__x); }
609: 
609: 
609:       iterator
609:       insert(node_type&& __nh)
609:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
609: 
609: 
609:       iterator
609:       insert(const_iterator __hint, node_type&& __nh)
609:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
609: 
609:       template<typename, typename>
609:  friend struct std::_Rb_tree_merge_helper;
609: 
609:       template<typename _Cmp2>
609:  void
609:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
609:  {
609:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
609:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
609:  }
609: 
609:       template<typename _Cmp2>
609:  void
609:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
609:  { merge(__source); }
609: 
609:       template<typename _Cmp2>
609:  void
609:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
609:  {
609:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
609:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
609:  }
609: 
609:       template<typename _Cmp2>
609:  void
609:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
609:  { merge(__source); }
609: # 705 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       iterator
609:       erase(const_iterator __position)
609:       { return _M_t.erase(__position); }
609: 
609: 
609:       __attribute ((__abi_tag__ ("cxx11")))
609:       iterator
609:       erase(iterator __position)
609:       { return _M_t.erase(__position); }
609: # 742 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       size_type
609:       erase(const key_type& __x)
609:       { return _M_t.erase(__x); }
609: # 763 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       iterator
609:       erase(const_iterator __first, const_iterator __last)
609:       { return _M_tobject_size (__s1, 0)) / (sizeof (wchar_t)))))
1412: 
1412:                        ;
1412: }
1412: 
1412: 
1412: 
1412: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true) __asm__ ("" "wmemset")
1412:                              ;
1412: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) noexcept (true) __asm__ ("" "__wmemset_chk")
1412: 
1412: 
1412:      __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer")))
1412:             ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true)
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__s, 0)) && (__builtin_object_size (__s, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t)))))) ? __wmemset_alias (__s, __c, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) ? __wmemset_chk_warn (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t))) : __wmemset_chk (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))))
1412: 
1412:                      ;
1412: }
1412: 
1412: 
1412: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscpy")
1412: 
1412:                                               ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1412: {
1412:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1412:   if (sz != (size_t) -1)
1412:     return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t));
1412:   return __wcscpy_alias (__dest, __src);
1412: }
1412: 
1412: 
1412: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcpcpy")
1412: 
1412:                                               ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1412: {
1412:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1412:   if (sz != (size_t) -1)
1412:     return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t));
1412:   return __wcpcpy_alias (__dest, __src);
1412: }
1412: 
1412: 
1412: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncpy")
1412: 
1412: 
1412:                           ;
1412: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcsncpy_chk")
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer")))
1412:             ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size ude/c++/12/iosfwd" 3
1417: 
1417: }
1417: # 42 "/usr/include/c++/12/bits/localefwd.h" 2 3
1417: # 1 "/usr/include/c++/12/cctype" 1 3
1417: # 39 "/usr/include/c++/12/cctype" 3
1417:        
1417: # 40 "/usr/include/c++/12/cctype" 3
1417: 
1417: 
1417: # 1 "/usr/include/ctype.h" 1 3 4
1417: # 28 "/usr/include/ctype.h" 3 4
1417: extern "C" {
1417: # 46 "/usr/include/ctype.h" 3 4
1417: enum
1417: {
1417:   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
1417:   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
1417:   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
1417:   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
1417:   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
1417:   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
1417:   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
1417:   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
1417:   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
1417:   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
1417:   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
1417:   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
1417: };
1417: # 79 "/usr/include/ctype.h" 3 4
1417: extern const unsigned short int **__ctype_b_loc (void)
1417:      noexcept (true) __attribute__ ((__const__));
1417: extern const __int32_t **__ctype_tolower_loc (void)
1417:      noexcept (true) __attribute__ ((__const__));
1417: extern const __int32_t **__ctype_toupper_loc (void)
1417:      noexcept (true) __attribute__ ((__const__));
1417: # 108 "/usr/include/ctype.h" 3 4
1417: extern int isalnum (int) noexcept (true);
1417: extern int isalpha (int) noexcept (true);
1417: extern int iscntrl (int) noexcept (true);
1417: extern int isdigit (int) noexcept (true);
1417: extern int islower (int) noexcept (true);
1417: extern int isgraph (int) noexcept (true);
1417: extern int isprint (int) noexcept (true);
1417: extern int ispunct (int) noexcept (true);
1417: extern int isspace (int) noexcept (true);
1417: extern int isupper (int) noexcept (true);
1417: extern int isxdigit (int) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int tolower (int __c) noexcept (true);
1417: 
1417: 
1417: extern int toupper (int __c) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int isblank (int) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int isctype (int __c, int __mask) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int isascii (int __c) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int toascii (int __c) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int _toupper (int) noexcept (true);
1417: extern int _tolower (int) noexcept (true);
1417: # 251 "/usr/include/ctype.h" 3 4
1417: extern int isalnum_l (int, locale_t) noexcept (true);
1417: extern int isalpha_l (int, locale_t) noexcept (true);
1417: extern int iscntrl_l (int, locale_t) noexcept (true);
1417: extern int isdigit_l (int, locale_t) noexcept (true);
1417: extern int islower_l (int, locale_t) noexcept (true);
1417: extern int isgraph_l (int, locale_t) noexcept (true);
1417: extern int isprint_l (int, locale_t) noexcept (true);
1417: extern int ispunct_l (int, locale_t) noexcept (true);
1417: extern int isspace_l (int, locale_t) noexcept (true);
1417: extern int isupper_l (int, locale_t) noexcept (true);
1417: extern int isxdigit_l (int, locale_t) noexcept (true);
1417: 
1417: extern int isblank_l (int, locale_t) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int __tolower_l (int __c, locale_t __l) noexcept (true);
1417: extern int tolower_l (int __c, locale_t __l) noexcept (true);
1417: 
1417: 
1417: extern int __toupper_l (int __c, locale_t __l) noexcept (true);
1417: extern int toupper_l (int __c, locale_t __l) noexcept (true);
1417: # 327 "/usr/include/ctype.h" 3 4
1417: }
1417: # 43 "/usr/include/c++/12/cctype" 2 3
1417: # 62 "/usr/include/c++/12/cctype" 3
1417: namespace std
1417: {
1417:   using ::isalnum;
1417:   using ::isalpha;
1417:   using ::iscntrl;
1417:   using ::isdigit;
1417:   using ::isgraph;
1417:   using ::islower;
1417:   using ::isprint;
1417:   using ::ispunct;
1417:   using ::isspace;
1417:   using ::isupper;
1417:   using ::isxdigit;
1417:   using ::tolower;
1417:   using ::toupper;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std
1417: {
1417:   using ::isblank;
1417: }
1417: # 43 "/usr/include/c++/12/bits/localefwd.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 55 "/usr/include/c++/12/bits/localefwd.h" 3
1417:   class locale;
1417: 
1417:   template<typename _Facet>
1417:     bool
1417:     has_facet(const locale&) throw();
1417: 
1417:   template<typename _Facet>
1417:     const _Facet&
1417:     use_facet(const locale&);
1417: 
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isspace(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isprint(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     iscntrl(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isupper(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     islower(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isalpha(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isdigit(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     ispunct(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isxdigit(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isalnum(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isgraph(_CharT, const locale&);
1417: 
1417: 
1417:   template<typename _CharT>
1417:     bool
1417:     isblank(_CharT, const locale&);
1417: 
1417: 
1417:   template<typename _CharT>
1417:     _CharT
1417:     toupper(_CharT, const locale&);
1417: 
1417:   template<typename _CharT>
1417:     _CharT
1417:     tolower(_CharT, const locale&);
1417: 
1417: 
1417:   struct ctype_base;
1417:   template<typename _CharT>
1417:     class ctype;
1417:   template<> class ctype<char>;
1417: 
1417:   template<> class ctype<wchar_t>;
1417: 
1417:   template<typename _CharT>
1417:     class ctype_byname;
1417: 
1417: 
1417:   class codecvt_base;
1417:   template<typename _InternT, typename _ExternT, typename _StateT>
1417:     class codecvt;
1417:   template<> class codecvt<char, char, mbstate_t>;
1417: 
1417:   template<> class codecvt<wchar_t, char, mbstate_t>;
1417: 
1417: 
1417:   template<> class codecvt<char16_t, char, mbstate_t>;
1417:   template<> class codecvt<char32_t, char, mbstate_t>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InternT, typename _ExternT, typename _StateT>
1417:     class codecvt_byname;
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1417:     class num_get;
1417:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1417:     class num_put;
1417: 
1417: namespace __cxx11 {
1417:   template<typename _CharT> class numpunct;
1417:   template<typename _CharT> class numpunct_byname;
1417: }
1417: 
1417: namespace __cxx11 {
1417: 
1417:   template<typename _CharT>
1417:     class collate;
1417:   template<typename _CharT>
1417:     class collate_byname;
1417: }
1417: 
1417: 
1417:   class time_base;
1417: namespace __cxx11 {
1417:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1417:     class time_get;
1417:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1417:     class time_get_byname;
1417: }
1417:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1417:     class time_put;
1417:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1417:     class time_put_byname;
1417: 
1417: 
1417:.erase(__first, __last); }
609: # 800 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       void
609:       swap(multimap& __x)
609:       noexcept(__is_nothrow_swappable<_Compare>::value)
609:       { _M_t.swap(__x._M_t); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       clear() noexcept
609:       { _M_t.clear(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       key_compare
609:       key_comp() const
609:       { return _M_t.key_comp(); }
609: 
609: 
609: 
609: 
609: 
609:       value_compare
609:       value_comp() const
609:       { return value_compare(_M_t.key_comp()); }
609: # 846 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       iterator
609:       find(const key_type& __x)
609:       { return _M_t.find(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
609:  { return _M_t._M_find_tr(__x); }
609: # 870 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       const_iterator
609:       find(const key_type& __x) const
609:       { return _M_t.find(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
609:  { return _M_t._M_find_tr(__x); }
609: # 888 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       size_type
609:       count(const key_type& __x) const
609:       { return _M_t.count(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
609:  { return _M_t._M_count_tr(__x); }
609: # 931 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       iterator
609:       lower_bound(const key_type& __x)
609:       { return _M_t.lower_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  lower_bound(const _Kt& __x)
609:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
609:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
609: # 956 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       const_iterator
609:       lower_bound(const key_type& __x) const
609:       { return _M_t.lower_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  lower_bound(const _Kt& __x) const
609:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
609:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
609: # 976 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       iterator
609:       upper_bound(const key_type& __x)
609:       { return _M_t.upper_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  upper_bound(const _Kt& __x)
609:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
609:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
609: # 996 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       const_iterator
609:       upper_bound(const key_type& __x) const
609:       { return _M_t.upper_bound(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  upper_bound(const _Kt& __x) const
609:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
609:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
609: # 1023 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       std::pair<iterator, iterator>
609:       equal_range(const key_type& __x)
609:       { return _M_t.equal_range(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  equal_range(const _Kt& __x)
609:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
609:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
609: # 1050 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:       std::pair<const_iterator, const_iterator>
609:       equal_range(const key_type& __x) const
609:       { return _M_t.equal_range(__x); }
609: 
609: 
609:       template<typename _Kt>
609:  auto
609:  equal_range(const _Kt& __x) const
609:  -> decltype(pair<const_iterator, const_iterator>(
609:        _M_t._M_equal_range_tr(__x)))
609:  {
609:    return pair<const_iterator, const_iterator>(
609:        _M_t._M_equal_range_tr(__x));
609:  }
609: 
609: 
609: 
609:       template<typename _K1, typename _T1, typ   class money_base;
1417: namespace __cxx11 {
1417:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1417:     class money_get;
1417:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1417:     class money_put;
1417: }
1417: namespace __cxx11 {
1417:   template<typename _CharT, bool _Intl = false>
1417:     class moneypunct;
1417:   template<typename _CharT, bool _Intl = false>
1417:     class moneypunct_byname;
1417: }
1417: 
1417: 
1417:   struct messages_base;
1417: namespace __cxx11 {
1417:   template<typename _CharT>
1417:     class messages;
1417:   template<typename _CharT>
1417:     class messages_byname;
1417: }
1417: 
1417: 
1417: }
1417: # 44 "/usr/include/c++/12/string" 2 3
1417: # 1 "/usr/include/c++/12/bits/ostream_insert.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/ostream_insert.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/ostream_insert.h" 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/cxxabi_forced.h" 1 3
1417: # 34 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1417:        
1417: # 35 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1417: 
1417: #pragma GCC visibility push(default)
1417: 
1417: 
1417: namespace __cxxabiv1
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class __forced_unwind
1417:   {
1417:     virtual ~__forced_unwind() throw();
1417: 
1417: 
1417:     virtual void __pure_dummy() = 0;
1417:   };
1417: }
1417: 
1417: 
1417: #pragma GCC visibility pop
1417: # 37 "/usr/include/c++/12/bits/ostream_insert.h" 2 3
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline void
1417:     __ostream_write(basic_ostream<_CharT, _Traits>& __out,
1417:       const _CharT* __s, streamsize __n)
1417:     {
1417:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1417:       typedef typename __ostream_type::ios_base __ios_base;
1417: 
1417:       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
1417:       if (__put != __n)
1417:  __out.setstate(__ios_base::badbit);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline void
1417:     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
1417:     {
1417:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1417:       typedef typename __ostream_type::ios_base __ios_base;
1417: 
1417:       const _CharT __c = __out.fill();
1417:       for (; __n > 0; --__n)
1417:  {
1417:    const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
1417:    if (_Traits::eq_int_type(__put, _Traits::eof()))
1417:      {
1417:        __out.setstate(__ios_base::badbit);
1417:        break;
1417:      }
1417:  }
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
1417:        const _CharT* __s, streamsize __n)
1417:     {
1417:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1417:       typedef typename __ostream_type::ios_base __ios_base;
1417: 
1417:       typename __ostream_type::sentry __cerb(__out);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417:        const streamsize __w = __out.width();
1417:        if (__w > __n)
1417:   {
1417:     const bool __left = ((__out.flags()
1417:      & __ios_base::adjustfield)
1417:            == __ios_base::left);
1417:     if (!__left)
1417:       __ostream_fill(__out, __w - __n);
1417:     if (__out.good())
1417:       __ostream_write(__out, __s, __n);
1417:     if (__left && __out.good())
1417:       __ostream_fill(__out, __w - __n);
1417:   }
1417:        else
1417:   __ostream_write(__out, __s, __n);
1417:        __out.width(0);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __out._M_setstate(__ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __out._M_setstate(__ios_base::badbit); }
1417:  }
1417:       return __out;
1417:     }(__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcsncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcsncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcsncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1412: 
1412:                           ;
1412: }
1412: 
1412: 
1412: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcpncpy")
1412: 
1412: 
1412:                           ;
1412: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcpncpy_chk")
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer")))
1412:             ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcpncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcpncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcpncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1412: 
1412:                           ;
1412: }
1412: 
1412: 
1412: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscat")
1412: 
1412:                                               ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1412: {
1412:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1412:   if (sz != (size_t) -1)
1412:     return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t));
1412:   return __wcscat_alias (__dest, __src);
1412: }
1412: 
1412: 
1412: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncat")
1412: 
1412: 
1412:                           ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1412: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1412: 
1412: {
1412:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1412:   if (sz != (siz
1417: 
1417: 
1417: 
1417: 
1417:   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
1417: 
1417: 
1417:   extern template wostream& __ostream_insert(wostream&, const wchar_t*,
1417:           streamsize);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 45 "/usr/include/c++/12/string" 2 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_function.h" 1 3
1417: # 63 "/usr/include/c++/12/bits/stl_function.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 116 "/usr/include/c++/12/bits/stl_function.h" 3
1417:   template<typename _Arg, typename _Result>
1417:     struct unary_function
1417:     {
1417: 
1417:       typedef _Arg argument_type;
1417: 
1417: 
1417:       typedef _Result result_type;
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Arg1, typename _Arg2, typename _Result>
1417:     struct binary_function
1417:     {
1417: 
1417:       typedef _Arg1 first_argument_type;
1417: 
1417: 
1417:       typedef _Arg2 second_argument_type;
1417: 
1417: 
1417:       typedef _Result result_type;
1417:     } __attribute__ ((__deprecated__));
1417: # 157 "/usr/include/c++/12/bits/stl_function.h" 3
1417:   struct __is_transparent;
1417: 
1417:   template<typename _Tp = void>
1417:     struct plus;
1417: 
1417:   template<typename _Tp = void>
1417:     struct minus;
1417: 
1417:   template<typename _Tp = void>
1417:     struct multiplies;
1417: 
1417:   template<typename _Tp = void>
1417:     struct divides;
1417: 
1417:   template<typename _Tp = void>
1417:     struct modulus;
1417: 
1417:   template<typename _Tp = void>
1417:     struct negate;
1417: 
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct plus : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417: 
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x + __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct minus : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x - __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x * __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct divides : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x / __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct modulus : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x % __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct negate : public unary_function<_Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x) const
1417:       { return -__x; }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct plus<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct minus<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1ename _C1, typename _A1>
609:  friend bool
609:  operator==(const multimap<_K1, _T1, _C1, _A1>&,
609:      const multimap<_K1, _T1, _C1, _A1>&);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _K1, typename _T1, typename _C1, typename _A1>
609:  friend bool
609:  operator<(const multimap<_K1, _T1, _C1, _A1>&,
609:     const multimap<_K1, _T1, _C1, _A1>&);
609: 
609:   };
609: 
609: 
609: 
609:   template<typename _InputIterator,
609:     typename _Compare = less<__iter_key_t<_InputIterator>>,
609:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireNotAllocator<_Compare>,
609:     typename = _RequireAllocator<_Allocator>>
609:     multimap(_InputIterator, _InputIterator,
609:       _Compare = _Compare(), _Allocator = _Allocator())
609:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
609:   _Compare, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
609:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
609:     typename = _RequireNotAllocator<_Compare>,
609:     typename = _RequireAllocator<_Allocator>>
609:     multimap(initializer_list<pair<_Key, _Tp>>,
609:       _Compare = _Compare(), _Allocator = _Allocator())
609:     -> multimap<_Key, _Tp, _Compare, _Allocator>;
609: 
609:   template<typename _InputIterator, typename _Allocator,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     multimap(_InputIterator, _InputIterator, _Allocator)
609:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
609:   less<__iter_key_t<_InputIterator>>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Allocator,
609:     typename = _RequireAllocator<_Allocator>>
609:     multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
609:     -> multimap<_Key, _Tp, less<_Key>, _Allocator>;
609: # 1130 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return __x._M_t == __y._M_t; }
609: # 1168 "/usr/include/c++/12/bits/stl_multimap.h" 3
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
609:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return __x._M_t < __y._M_t; }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
609:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return __y < __x; }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline bool
609:     operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
609:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609: 
609:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
609:     inline void
609:     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
609:   multimap<_Key, _Tp, _Compare, _Alloc>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y);e_t) -1)
1412:     return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t));
1412:   return __wcsncat_alias (__dest, __src, __n);
1412: }
1412: 
1412: 
1412: 
1412: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true) __asm__ ("" "swprintf")
1412: 
1412: 
1412:              ;
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true)
1412: 
1412: {
1412:   size_t sz = __builtin_object_size (__s, 2 > 1);
1412:   if (sz != (size_t) -1 || 2 > 1)
1412:     return __swprintf_chk (__s, __n, 2 - 1,
1412:       sz / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ());
1412:   return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ());
1412: }
1412: # 230 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1412: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true) __asm__ ("" "vswprintf")
1412: 
1412: 
1412:                                      ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1412: 
1412: {
1412:   size_t sz = __builtin_object_size (__s, 2 > 1);
1412:   if (sz != (size_t) -1 || 2 > 1)
1412:     return __vswprintf_chk (__s, __n, 2 - 1,
1412:        sz / sizeof (wchar_t), __fmt, __ap);
1412:   return __vswprintf_alias (__s, __n, __fmt, __ap);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: wprintf (const wchar_t *__restrict __fmt, ...)
1412: {
1412:   return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
1412: {
1412:   return __fwprintf_chk (__stream, 2 - 1, __fmt,
1412:     __builtin_va_arg_pack ());
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1412: {
1412:   return __vwprintf_chk (2 - 1, __fmt, __ap);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: vfwprintf (__FILE *__restrict __stream,
1412:     const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1412: {
1412:   return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap);
1412: }
1412: 
1412: 
1412: 
1412: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws")
1412: 
1412:                                               __attribute__ ((__warn_unused_result__));
1412: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk")
1412: 
1412: 
1412:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer")))
1412:                                  ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1412: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1412: {
1412:   size_t sz = __builtin_object_size (__s, 2 > 1);
1412:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof 417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct multiplies<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct divides<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct modulus<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct negate<void>
1417:     {
1417:       template <typename _Tp>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t) const
1417:  noexcept(noexcept(-std::forward<_Tp>(__t)))
1417:  -> decltype(-std::forward<_Tp>(__t))
1417:  { return -std::forward<_Tp>(__t); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: # 349 "/usr/include/c++/12/bits/stl_function.h" 3
1417:   template<typename _Tp = void>
1417:     struct equal_to;
1417: 
1417:   template<typename _Tp = void>
1417:     struct not_equal_to;
1417: 
1417:   template<typename _Tp = void>
1417:     struct greater;
1417: 
1417:   template<typename _Tp = void>
1417:     struct less;
1417: 
1417:   template<typename _Tp = void>
1417:     struct greater_equal;
1417: 
1417:   template<typename _Tp = void>
1417:     struct less_equal;
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct equal_to : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x == __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x != __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct greater : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x > __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct less : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x < __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct greater_equal : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x >= __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct less_equal : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x <= __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1417:     {
1417:       constexpr bool
1417:       operator()(_Tp* __x, _Tp* __y) const noexcept
1417:       {
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __x > __y;
1417: 
1417:  return (unsigned int)__x > (unsigned int)__y;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1417:     {
1417:       constexpr bool
1417:       operator()(_Tp* __x, _Tp* __y) const noexcept
1417:       {
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __x < __y;
1417: 
1417:  return (unsigned int)__x < (unsigned int)__y;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1417:     {
1417:       constexpr bool
1417:       operator()(_Tp* __x, _Tp* __y) const noexcept
1417:       {
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __x >= __y;
1417: 
1417:  return (unsigned int)__x >= (unsigned int)__y;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1417:     {
1417:       constexpr bool
1417:       operator()(_Tp* __x, _Tp* __y) const noexcept
1417:       {
1417: 
1417:  if (std::__is_constant_evaluated())
1417:    return __x <= __y;
1417: 
1417:  return (unsigned int)__x <= (unsigned int)__y;
1417:       }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct equal_to<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct not_equal_to<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct greater<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
1417:  {
1417:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1417:    __ptr_cmp<_Tp, _Up>{});
1417:  }
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  constexpr bool
1417:  operator()(_Tp* __t, _Up* __u) const noexcept
1417:  { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417: 
1417:     private:
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr decltype(auto)
1417:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1417:  { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
1417: 
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr bool
1417:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1417:  {
1417:    return greater<const volatile void*>{}(
1417:        static_cast<const volatile void*>(st }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
609:     typename _Cmp2>
609:     struct
609:     _Rb_tree_merge_helper<std::multimap<_Key, _Val, _Cmp1, _Alloc>,
609:      _Cmp2>
609:     {
609:     private:
609:       friend class std::multimap<_Key, _Val, _Cmp1, _Alloc>;
609: 
609:       static auto&
609:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
609:       { return __map._M_t; }
609: 
609:       static auto&
609:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
609:       { return __map._M_t; }
609:     };
609: 
609: 
609: 
609: }
609: # 63 "/usr/include/c++/12/map" 2 3
609: 
609: # 1 "/usr/include/c++/12/bits/erase_if.h" 1 3
609: # 33 "/usr/include/c++/12/bits/erase_if.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/erase_if.h" 3
609: 
609: 
609: 
609: 
609: 
609: namespace std
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   namespace __detail
609:   {
609:     template<typename _Container, typename _UnsafeContainer,
609:       typename _Predicate>
609:       typename _Container::size_type
609:       __erase_nodes_if(_Container& __cont, const _UnsafeContainer& __ucont,
609:          _Predicate __pred)
609:       {
609:  typename _Container::size_type __num = 0;
609:  for (auto __iter = __ucont.begin(), __last = __ucont.end();
609:       __iter != __last;)
609:    {
609:      if (__pred(*__iter))
609:        {
609:   __iter = __cont.erase(__iter);
609:   ++__num;
609:        }
609:      else
609:        ++__iter;
609:    }
609:  return __num;
609:       }
609:   }
609: 
609: 
609: }
609: # 65 "/usr/include/c++/12/map" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609:   namespace pmr
609:   {
609:     template<typename _Tp> class polymorphic_allocator;
609:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
609:       using map
609:  = std::map<_Key, _Tp, _Cmp,
609:      polymorphic_allocator<pair<const _Key, _Tp>>>;
609:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
609:       using multimap
609:  = std::multimap<_Key, _Tp, _Cmp,
609:    polymorphic_allocator<pair<const _Key, _Tp>>>;
609:   }
609: 
609: }
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h" 2
609: 
609: 
609: 
609: 
609: 
609: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
609: class CGUIListItemLayout;
609: using CGUIListItemLayoutPtr = std::unique_ptr<CGUIListItemLayout>;
609: class CArchive;
609: class CVariant;
609: 
609: 
609: 
609: 
609: 
609: class CGUIListItem
609: {
609: public:
609:   typedef std::map<std::string, std::string> ArtMap;
609: 
609: 
609: 
609: 
609: 
609: 
609:   enum GUIIconOverlay { ICON_OVERLAY_NONE = 0,
609:                         ICON_OVERLAY_RAR,
609:                         ICON_OVERLAY_ZIP,
609:                         ICON_OVERLAY_LOCKED,
609:                         ICON_OVERLAY_UNWATCHED,
609:                         ICON_OVERLAY_WATCHED,
609:                         ICON_OVERLAY_HD
609:                       };
609: 
609: 
609:   CGUIListItem(void);
609:   explicit CGUIListItem(const CGUIListItem& item);
609:   explicit CGUIListItem(const std::string& strLabel);
609:   virtual ~CGUIListItem(void);
609:   virtual CGUIListItem* Clone() const { return new CGUIListItem(*this); }
609: 
609:   CGUIListItem& operator =(const CGUIListItem& item);
609: 
609:   virtual void SetLabel(const std::string& strLabel);
609:   const std::string& GetLabel() const;
609: 
609:   void SetLabel2(const std::string& strLabel);
609:   const std::string& GetLabel2() const;
609: 
609:   void SetOverlayImage(GUIIconOverlay icon, bool bOnOff=false);
609:   std::string GetOverlayImage() const;
609: 
609: 
609: 
609: 
609: 
609:   void SetArt(const std::string &type, const std::string &url);
609: 
609: 
609: 
609: 
609: 
609:   void SetArt(const ArtMap &art);
609: 
609: 
609: 
609: 
609: 
609: 
609:   void AppendArt(const ArtMap &art, const std::string &prefix = "");
609: 
609:(__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1412:     return __fgetws_alias (__s, __n, __stream);
1412:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1412:     return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream);
1412:   return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1412: }
1412: 
1412: 
1412: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked")
1412: 
1412: 
1412:   __attribute__ ((__warn_unused_result__));
1412: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk")
1412: 
1412: 
1412: 
1412:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer")))
1412:                                  ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1412: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1412: {
1412:   size_t sz = __builtin_object_size (__s, 2 > 1);
1412:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1412:     return __fgetws_unlocked_alias (__s, __n, __stream);
1412:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1412:     return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n,
1412:            __stream);
1412:   return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1412: }
1412: 
1412: 
1412: 
1412: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcrtomb")
1412: 
1412:                                                 __attribute__ ((__warn_unused_result__));
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1412: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true)
1412: 
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1412:       && 16 > __builtin_object_size (__s, 2 > 1))
1412:     return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1));
1412:   return __wcrtomb_alias (__s, __wchar, __ps);
1412: }
1412: 
1412: 
1412: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsrtowcs")
1412: 
1412: 
1412: 
1412:                    ;
1412: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsrtowcs_chk")
1412: 
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1412:                         ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1412: __attribute__ (d::forward<_Tp>(__t)),
1417:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1417:  }
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded2 : true_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded2<_Tp, _Up, __void_t<
1417:    decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded<_Tp, _Up, __void_t<
1417:    decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1417:        is_convertible<_Tp, const volatile void*>,
1417:        is_convertible<_Up, const volatile void*>>;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct less<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
1417:  {
1417:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1417:    __ptr_cmp<_Tp, _Up>{});
1417:  }
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  constexpr bool
1417:  operator()(_Tp* __t, _Up* __u) const noexcept
1417:  { return less<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417: 
1417:     private:
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr decltype(auto)
1417:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1417:  { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
1417: 
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr bool
1417:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1417:  {
1417:    return less<const volatile void*>{}(
1417:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1417:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1417:  }
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded2 : true_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded2<_Tp, _Up, __void_t<
1417:    decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded<_Tp, _Up, __void_t<
1417:    decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1417:        is_convertible<_Tp, const volatile void*>,
1417:        is_convertible<_Up, const volatile void*>>;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct greater_equal<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
1417:  {
1417:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1417:    __ptr_cmp<_Tp, _Up>{});
1417:  }
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  constexpr bool
1417:  operator()(_Tp* __t, _Up* __u) const noexcept
1417:  { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417: 
1417:     private:
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr decltype(auto)
1417:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1417:  { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
1417: 
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr bool
1417:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1417:  {
1417:    return greater_equal<const volatile void*>{}(
1417:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1417:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1417:  }
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded2 : true_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded2<_Tp, _Up, __void_t<
1417:    decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded<_Tp, _Up, __void_t<
1417:    decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1417:        is_convertible<_Tp, const volatile void*>,
1417:        is_convertible<_Up, const volatile void*>>;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct less_equal<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
1417:  {
1417:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1417:    __ptr_cmp<_Tp, _Up>{});
1417:  }
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  constexpr bool
1417:  operator()(_Tp* __t, _Up* __u) const noexcept
1417:  { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417: 
1417:     private:
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr decltype(auto)
1417:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1417:  { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
1417: 
1417:       template <typename _Tp, typename _Up>
1417:  static constexpr bool
1417:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1417:  {
1417:    return less_equal<const volatile void*>{}(
1417:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1417:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1417:  }
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded2 : true_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded2<_Tp, _Up, __void_t<
1417:    decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up, typename = void>
1417:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1417: 
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  struct __not_overloaded<_Tp, _Up, __void_t<
1417:    decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
1417:  : false_type { };
1417: 
1417:       template<typename _Tp, typename _Up>
1417:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1417:        is_convertible<_Tp, const volatile void*>,
1417:        is_convertible<_Up, const volatile void*>>;
1417:     };
1417: # 781 "/usr/include/c++/12/bits/stl_function.h" 3
1417:   template<typename _Tp = void>
1417:     struct logical_and;
1417: 
1417:   template<typename _Tp = void>
1417:     struct logical_or;
1417: 
1417:   template<typename _Tp = void>
1417:     struct logical_not;
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
14 
609: 
609: 
609: 
609: 
609:   void SetArtFallback(const std::string &from, const std::string &to);
609: 
609: 
609: 
609: 
609:   void ClearArt();
609: 
609: 
609: 
609: 
609: 
609:   std::string GetArt(const std::string &type) const;
609: 
609: 
609: 
609: 
609: 
609: 
609:   const ArtMap &GetArt() const;
609: 
609: 
609: 
609: 
609: 
609: 
609:   bool HasArt(const std::string &type) const;
609: 
609:   void SetSortLabel(const std::string &label);
609:   void SetSortLabel(const std::wstring &label);
609:   const std::wstring &GetSortLabel() const;
609: 
609:   void Select(bool bOnOff);
609:   bool IsSelected() const;
609: 
609:   bool HasOverlay() const;
609:   virtual bool IsFileItem() const { return false; }
609: 
609:   void SetLayout(CGUIListItemLayoutPtr layout);
609:   CGUIListItemLayout *GetLayout();
609: 
609:   void SetFocusedLayout(CGUIListItemLayoutPtr layout);
609:   CGUIListItemLayout *GetFocusedLayout();
609: 
609:   void FreeIcons();
609:   void FreeMemory(bool immediately = false);
609:   void SetInvalid();
609: 
609:   bool m_bIsFolder;
609: 
609:   void SetProperty(const std::string &strKey, const CVariant &value);
609: 
609:   void IncrementProperty(const std::string &strKey, int nVal);
609:   void IncrementProperty(const std::string& strKey, int64_t nVal);
609:   void IncrementProperty(const std::string &strKey, double dVal);
609: 
609:   void ClearProperties();
609: 
609: 
609: 
609: 
609: 
609: 
609:   void AppendProperties(const CGUIListItem &item);
609: 
609:   void Archive(CArchive& ar);
609:   void Serialize(CVariant& value);
609: 
609:   bool HasProperty(const std::string &strKey) const;
609:   bool HasProperties() const { return !m_mapProperties.empty(); }
609:   void ClearProperty(const std::string &strKey);
609: 
609:   const CVariant &GetProperty(const std::string &strKey) const;
609: 
609: 
609: 
609: 
609: 
609: 
609:   void SetCurrentItem(unsigned int position);
609: 
609: 
609: 
609: 
609: 
609: 
609:   unsigned int GetCurrentItem() const;
609: 
609: protected:
609:   std::string m_strLabel2;
609:   GUIIconOverlay m_overlayIcon;
609: 
609:   CGUIListItemLayoutPtr m_layout;
609:   CGUIListItemLayoutPtr m_focusedLayout;
609:   bool m_bSelected;
609:   unsigned int m_currentItem;
609: 
609:   struct icompare
609:   {
609:     bool operator()(const std::string &s1, const std::string &s2) const;
609:   };
609: 
609:   typedef std::map<std::string, CVariant, icompare> PropertyMap;
609:   PropertyMap m_mapProperties;
609: private:
609:   std::wstring m_sortLabel;
609:   std::string m_strLabel;
609: 
609:   ArtMap m_art;
609:   ArtMap m_artFallbacks;
609: };
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 2
609: 
609: 
609: 
609: 
609: class CGUIListItem;
609: 
609: namespace KODI
609: {
609: namespace GUILIB
609: {
609: namespace GUIINFO
609: {
609: 
609: class CGUIInfoColor
609: {
609: public:
609:   constexpr CGUIInfoColor(UTILS::COLOR::Color color = 0) : m_color(color) {}
609: 
609:   constexpr operator UTILS::COLOR::Color() const { return m_color; }
609: 
609:   bool Update(const CGUIListItem* item = nullptr);
609:   void Parse(const std::string &label, int context);
609: 
609: private:
609:   int m_info = 0;
609:   UTILS::COLOR::Color m_color;
609: };
609: 
609: }
609: }
609: }
609: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h"
609:        
609: 
609: 
609: 
609: 
609: typedef int DisplayMode;
609: 
609: 
609: 
609: enum RESOLUTION
609: {
609:   RES_INVALID = -1,
609:   RES_WINDOW = 15,
609:   RES_DESKTOP = 16,
609:   RES_CUSTOM = 16 + 1,
609: };
609: 
609: struct OVERSCAN
609: {
609:   int left;
609:   int top;
609:   int right;
609:   int bottom;
609: public:
609:   OVERSCAN()
609:   {
609:     left = top 17: 
1417:   template<typename _Tp>
1417:     struct logical_and : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x && __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct logical_or : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x || __y; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct logical_not : public unary_function<_Tp, bool>
1417:     {
1417:       constexpr
1417:       bool
1417:       operator()(const _Tp& __x) const
1417:       { return !__x; }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct logical_and<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct logical_or<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct logical_not<void>
1417:     {
1417:       template <typename _Tp>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t) const
1417:  noexcept(noexcept(!std::forward<_Tp>(__t)))
1417:  -> decltype(!std::forward<_Tp>(__t))
1417:  { return !std::forward<_Tp>(__t); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp = void>
1417:     struct bit_and;
1417: 
1417:   template<typename _Tp = void>
1417:     struct bit_or;
1417: 
1417:   template<typename _Tp = void>
1417:     struct bit_xor;
1417: 
1417:   template<typename _Tp = void>
1417:     struct bit_not;
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct bit_and : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x & __y; }
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct bit_or : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x | __y; }
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
1417:     {
1417:       constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x, const _Tp& __y) const
1417:       { return __x ^ __y; }
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct bit_not : public unary_function<_Tp, _Tp>
1417:     {
1417:     constexpr
1417:       _Tp
1417:       operator()(const _Tp& __x) const
1417:       { return ~__x; }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417:   template <>
1417:     struct bit_and<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
1417: 
(__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsrtowcs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsrtowcs_chk (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1412: 
1412:                                  ;
1412: }
1412: 
1412: 
1412: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsrtombs")
1412: 
1412: 
1412: 
1412:                    ;
1412: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsrtombs_chk")
1412: 
1412: 
1412: 
1412: 
1412:     __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len")));
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1412: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsrtombs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1412: 
1412:                                ;
1412: }
1412: 
1412: 
1412: 
1412: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsnrtowcs")
1412: 
1412: 
1412: 
1412:                     ;
1412: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsnrtowcs_chk")
1412: 
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1412:                         ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1412: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417:   template <>
1417:     struct bit_or<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417:   template <>
1417:     struct bit_xor<void>
1417:     {
1417:       template <typename _Tp, typename _Up>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t, _Up&& __u) const
1417:  noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
1417:  -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
1417:  { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417:   template <>
1417:     struct bit_not<void>
1417:     {
1417:       template <typename _Tp>
1417:  constexpr
1417:  auto
1417:  operator()(_Tp&& __t) const
1417:  noexcept(noexcept(~std::forward<_Tp>(__t)))
1417:  -> decltype(~std::forward<_Tp>(__t))
1417:  { return ~std::forward<_Tp>(__t); }
1417: 
1417:       typedef __is_transparent is_transparent;
1417:     };
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: # 1023 "/usr/include/c++/12/bits/stl_function.h" 3
1417:   template<typename _Predicate>
1417:     class [[__deprecated__]] unary_negate
1417:     : public unary_function<typename _Predicate::argument_type, bool>
1417:     {
1417:     protected:
1417:       _Predicate _M_pred;
1417: 
1417:     public:
1417:       constexpr
1417:       explicit
1417:       unary_negate(const _Predicate& __x) : _M_pred(__x) { }
1417: 
1417:       constexpr
1417:       bool
1417:       operator()(const typename _Predicate::argument_type& __x) const
1417:       { return !_M_pred(__x); }
1417:     };
1417: 
1417: 
1417:   template<typename _Predicate>
1417:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1417:     constexpr
1417:     inline unary_negate<_Predicate>
1417:     not1(const _Predicate& __pred)
1417:     { return unary_negate<_Predicate>(__pred); }
1417: 
1417: 
1417:   template<typename _Predicate>
1417:     class [[__deprecated__]] binary_negate
1417:     : public binary_function<typename _Predicate::first_argument_type,
1417:         typename _Predicate::second_argument_type, bool>
1417:     {
1417:     protected:
1417:       _Predicate _M_pred;
1417: 
1417:     public:
1417:       constexpr
1417:       explicit
1417:       binary_negate(const _Predicate& __x) : _M_pred(__x) { }
1417: 
1417:       constexpr
1417:       bool
1417:       operator()(const typename _Predicate::first_argument_type& __x,
1417:    const typename _Predicate::second_argument_type& __y) const
1417:       { return !_M_pred(__x, __y); }
1417:     };
1417: 
1417: 
1417:   template<typename _Predicate>
1417:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1417:     constexpr
1417:     inline binary_negate<_Predicate>
1417:     not2(const _Predicate& __pred)
1417:     { return binary_negate<_Predicate>(__pred); }
1417: # 1104 "/usr/include/c++/12/bits/stl_function.h" 3
1417:   template<typename _Arg, typename _Result>
1417:     class pointer_to_unary_function : public unary_function<_Arg, _Result>
1417:     {
1417:     protected:
1417:       _Result (*_M_ptr)(_Arg);
1417: 
1417:     public:
1417:       pointer_to_unary_function() { }
1417: 
1417:       explicit
1417:       pointer_to_unary_function(_Result (*__x)(_Arg))
1417:       : _M_ptr(__x) { }
1417: 
1417:       _Result
1417:       operator()(_Arg __x) const
1417:       { return _M_ptr(__x); }
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Arg, typename _Result>
1417:     __attribute__ ((__deprecated__ ("use '" "std::functio= right = bottom = 0;
609:   }
609:   OVERSCAN(const OVERSCAN& os)
609:   {
609:     left = os.left; top = os.top;
609:     right = os.right; bottom = os.bottom;
609:   }
609:   OVERSCAN& operator=(const OVERSCAN&) = default;
609: 
609:   bool operator==(const OVERSCAN& other)
609:   {
609:     return left == other.left && right == other.right && top == other.top && bottom == other.bottom;
609:   }
609:   bool operator!=(const OVERSCAN& other)
609:   {
609:     return left != other.left || right != other.right || top != other.top || bottom != other.bottom;
609:   }
609: };
609: 
609: struct EdgeInsets
609: {
609:   float left = 0.0f;
609:   float top = 0.0f;
609:   float right = 0.0f;
609:   float bottom = 0.0f;
609: 
609:   EdgeInsets() = default;
609:   EdgeInsets(float l, float t, float r, float b);
609: };
609: 
609: struct RESOLUTION_INFO
609: {
609:   OVERSCAN Overscan;
609:   EdgeInsets guiInsets;
609:   bool bFullScreen;
609:   int iWidth;
609:   int iHeight;
609:   int iBlanking;
609:   int iScreenWidth;
609:   int iScreenHeight;
609:   int iSubtitles;
609:   uint32_t dwFlags;
609:   float fPixelRatio;
609:   float fRefreshRate;
609:   std::string strMode;
609:   std::string strOutput;
609:   std::string strId;
609: public:
609:   RESOLUTION_INFO(int width = 1280, int height = 720, float aspect = 0, const std::string &mode = "");
609:   float DisplayRatio() const;
609:   RESOLUTION_INFO(const RESOLUTION_INFO& res);
609:   RESOLUTION_INFO& operator=(const RESOLUTION_INFO&) = default;
609: };
609: 
609: class CResolutionUtils
609: {
609: public:
609:   static RESOLUTION ChooseBestResolution(float fps, int width, int height, bool is3D);
609:   static bool HasWhitelist();
609:   static void PrintWhitelist();
609: 
609: 
609: 
609: 
609: 
609: 
609:   static void GetMaxAllowedResolution(unsigned int& width, unsigned int& height);
609: 
609: protected:
609:   static void FindResolutionFromWhitelist(float fps, int width, int height, bool is3D, RESOLUTION &resolution);
609:   static bool FindResolutionFromOverride(float fps, int width, bool is3D, RESOLUTION &resolution, float& weight, bool fallback);
609:   static float RefreshWeight(float refresh, float fps);
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h"
609:        
609: 
609: enum RENDER_STEREO_VIEW
609: {
609:   RENDER_STEREO_VIEW_OFF,
609:   RENDER_STEREO_VIEW_LEFT,
609:   RENDER_STEREO_VIEW_RIGHT,
609: };
609: 
609: enum RENDER_STEREO_MODE
609: {
609:   RENDER_STEREO_MODE_OFF,
609:   RENDER_STEREO_MODE_SPLIT_HORIZONTAL,
609:   RENDER_STEREO_MODE_SPLIT_VERTICAL,
609:   RENDER_STEREO_MODE_ANAGLYPH_RED_CYAN,
609:   RENDER_STEREO_MODE_ANAGLYPH_GREEN_MAGENTA,
609:   RENDER_STEREO_MODE_ANAGLYPH_YELLOW_BLUE,
609:   RENDER_STEREO_MODE_INTERLACED,
609:   RENDER_STEREO_MODE_CHECKERBOARD,
609:   RENDER_STEREO_MODE_HARDWAREBASED,
609:   RENDER_STEREO_MODE_MONO,
609:   RENDER_STEREO_MODE_COUNT,
609: 
609: 
609:   RENDER_STEREO_MODE_AUTO = 100,
609:   RENDER_STEREO_MODE_UNDEFINED = 999,
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 2
609: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
609: class CGUIImage;
609: class CGUITextLayout;
609: 
609: class CRenderSystemBase
609: {
609: public:
609:   CRenderSystemBase();
609:   virtual ~CRenderSystemBase();
609: 
609:   virtual bool InitRenderSystem() = 0;
609:   virtual bool DestroyRenderSystem() = 0;
609:   virtual bool ResetRenderSystem(int width, int height) = 0;
609: 
609:   virtual bool BeginRender() = 0;
609:   virtual bool EndRender() = 0;
609:   virtual void PresentRender(bool rendered, bool videoLayer) = 0;
609:   virtual bool ClearBuffers(UTILS::COLOR::Color color) = 0;
609:   virtual bool IsExtn" "' instead")))
1417:     inline pointer_to_unary_function<_Arg, _Result>
1417:     ptr_fun(_Result (*__x)(_Arg))
1417:     { return pointer_to_unary_function<_Arg, _Result>(__x); }
1417: 
1417: 
1417:   template<typename _Arg1, typename _Arg2, typename _Result>
1417:     class pointer_to_binary_function
1417:     : public binary_function<_Arg1, _Arg2, _Result>
1417:     {
1417:     protected:
1417:       _Result (*_M_ptr)(_Arg1, _Arg2);
1417: 
1417:     public:
1417:       pointer_to_binary_function() { }
1417: 
1417:       explicit
1417:       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
1417:       : _M_ptr(__x) { }
1417: 
1417:       _Result
1417:       operator()(_Arg1 __x, _Arg2 __y) const
1417:       { return _M_ptr(__x, __y); }
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Arg1, typename _Arg2, typename _Result>
1417:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1417:     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
1417:     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
1417:     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _Identity
1417:     : public unary_function<_Tp, _Tp>
1417:     {
1417:       _Tp&
1417:       operator()(_Tp& __x) const
1417:       { return __x; }
1417: 
1417:       const _Tp&
1417:       operator()(const _Tp& __x) const
1417:       { return __x; }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
1417: 
1417:   template<typename _Pair>
1417:     struct _Select1st
1417:     : public unary_function<_Pair, typename _Pair::first_type>
1417:     {
1417:       typename _Pair::first_type&
1417:       operator()(_Pair& __x) const
1417:       { return __x.first; }
1417: 
1417:       const typename _Pair::first_type&
1417:       operator()(const _Pair& __x) const
1417:       { return __x.first; }
1417: 
1417: 
1417:       template<typename _Pair2>
1417:         typename _Pair2::first_type&
1417:         operator()(_Pair2& __x) const
1417:         { return __x.first; }
1417: 
1417:       template<typename _Pair2>
1417:         const typename _Pair2::first_type&
1417:         operator()(const _Pair2& __x) const
1417:         { return __x.first; }
1417: 
1417:     };
1417: 
1417:   template<typename _Pair>
1417:     struct _Select2nd
1417:     : public unary_function<_Pair, typename _Pair::second_type>
1417:     {
1417:       typename _Pair::second_type&
1417:       operator()(_Pair& __x) const
1417:       { return __x.second; }
1417: 
1417:       const typename _Pair::second_type&
1417:       operator()(const _Pair& __x) const
1417:       { return __x.second; }
1417:     };
1417: # 1231 "/usr/include/c++/12/bits/stl_function.h" 3
1417:   template<typename _Ret, typename _Tp>
1417:     class mem_fun_t : public unary_function<_Tp*, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       mem_fun_t(_Ret (_Tp::*__pf)())
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(_Tp* __p) const
1417:       { return (__p->*_M_f)(); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)();
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp>
1417:     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(const _Tp* __p) const
1417:       { return (__p->*_M_f)(); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)() const;
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp>
1417:     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       mem_fun_ref_t(_Ret (_Tp::*__pf)())
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(_Tp& __r) const
1417:       { return (__r.t __len, mbstate_t *__restrict __ps) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1412: 
1412:                                         ;
1412: }
1412: 
1412: 
1412: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsnrtombs")
1412: 
1412: 
1412: 
1412:                                                   ;
1412: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsnrtombs_chk")
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len")));
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1412: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1412: 
1412:                                       ;
1412: }
1412: # 880 "/usr/include/wchar.h" 2 3 4
1412: 
1412: 
1412: }
1412: # 45 "/usr/include/c++/12/cwchar" 2 3
1412: # 62 "/usr/include/c++/12/cwchar" 3
1412: namespace std
1412: {
1412:   using ::mbstate_t;
1412: }
1412: # 135 "/usr/include/c++/12/cwchar" 3
1412: extern "C++"
1412: {
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   using ::wint_t;
1412: 
1412:   using ::btowc;
1412:   using ::fgetwc;
1412:   using ::fgetws;
1412:   using ::fputwc;
1412:   using ::fputws;
1412:   using ::fwide;
1412:   using ::fwprintf;
1412:   using ::fwscanf;
1412:   using ::getwc;
1412:   using ::getwchar;
1412:   using ::mbrlen;
1412:   using ::mbrtowc;
1412:   using ::mbsinit;
1412:   using ::mbsrtowcs;
1412:   using ::putwc;
1412:   using ::putwchar;
1412: 
1412:   using ::swprintf;
1412: 
1412:   using ::swscanf;
1412:Supported(const char* extension) const = 0;
609: 
609:   virtual void SetViewPort(const CRect& viewPort) = 0;
609:   virtual void GetViewPort(CRect& viewPort) = 0;
609:   virtual void RestoreViewPort() {}
609: 
609:   virtual bool ScissorsCanEffectClipping() { return false; }
609:   virtual CRect ClipRectToScissorRect(const CRect &rect) { return CRect(); }
609:   virtual void SetScissors(const CRect &rect) = 0;
609:   virtual void ResetScissors() = 0;
609: 
609:   virtual void CaptureStateBlock() = 0;
609:   virtual void ApplyStateBlock() = 0;
609: 
609:   virtual void SetCameraPosition(const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor = 0.f) = 0;
609:   virtual void SetStereoMode(RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view)
609:   {
609:     m_stereoMode = mode;
609:     m_stereoView = view;
609:   }
609: 
609: 
609: 
609: 
609:   virtual void Project(float &x, float &y, float &z) { }
609: 
609:   virtual std::string GetShaderPath(const std::string &filename) { return ""; }
609: 
609:   void GetRenderVersion(unsigned int& major, unsigned int& minor) const;
609:   const std::string& GetRenderVendor() const { return m_RenderVendor; }
609:   const std::string& GetRenderRenderer() const { return m_RenderRenderer; }
609:   const std::string& GetRenderVersionString() const { return m_RenderVersion; }
609:   virtual bool SupportsNPOT(bool dxt) const;
609:   virtual bool SupportsStereo(RENDER_STEREO_MODE mode) const;
609:   unsigned int GetMaxTextureSize() const { return m_maxTextureSize; }
609:   unsigned int GetMinDXTPitch() const { return m_minDXTPitch; }
609: 
609:   virtual void ShowSplash(const std::string& message);
609: 
609: protected:
609:   bool m_bRenderCreated;
609:   bool m_bVSync;
609:   unsigned int m_maxTextureSize;
609:   unsigned int m_minDXTPitch;
609: 
609:   std::string m_RenderRenderer;
609:   std::string m_RenderVendor;
609:   std::string m_RenderVersion;
609:   int m_RenderVersionMinor;
609:   int m_RenderVersionMajor;
609:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
609:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
609:   bool m_limitedColorRange = false;
609: 
609:   std::unique_ptr<CGUIImage> m_splashImage;
609:   std::unique_ptr<CGUITextLayout> m_splashMessageLayout;
609: };
609: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
609:        
609: 
609: namespace XbmcThreads
609: {
609: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
609:   template<class L> class CountingLockable
609:   {
609:     friend class ConditionVariable;
609: 
609:     CountingLockable(const CountingLockable&) = delete;
609:     CountingLockable& operator=(const CountingLockable&) = delete;
609:   protected:
609:     L mutex;
609:     unsigned int count = 0;
609: 
609:   public:
609:     inline CountingLockable() = default;
609: 
609: 
609:     inline void lock() { mutex.lock(); count++; }
609:     inline bool try_lock() { return mutex.try_lock() ? count++, true : false; }
609:     inline void unlock() { count--; mutex.unlock(); }
609: 
609: 
609: 
609: 
609: 
609:     inline bool IsLocked() const { return count > 0; }
609: 
609: 
609: 
609: 
609:     inline unsigned int exit(unsigned int leave = 0)
609:     {
609: 
609: 
609:       unsigned int ret = 0;
609:       if (try_lock())
609:       {
609:         if (leave < (count - 1))
609:         {
609:           ret = count - 1 - leave;
609: 
609: 
609: 
609: 
609:           for (unsigned int i = 0; i < ret; i++)
609:             unlock();
609:         }
609:         unlock();
609:       }
609: 
609:       return ret;
609:     }
609: 
609: 
609: 
609: 
609:     inline void restore(unsigned int restoreCount)
609:     {
609:       for (unsigned int i = 0; i < restore*_M_f)(); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)();
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp>
1417:     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(const _Tp& __r) const
1417:       { return (__r.*_M_f)(); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)() const;
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp, typename _Arg>
1417:     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(_Tp* __p, _Arg __x) const
1417:       { return (__p->*_M_f)(__x); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)(_Arg);
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp, typename _Arg>
1417:     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(const _Tp* __p, _Arg __x) const
1417:       { return (__p->*_M_f)(__x); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)(_Arg) const;
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp, typename _Arg>
1417:     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(_Tp& __r, _Arg __x) const
1417:       { return (__r.*_M_f)(__x); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)(_Arg);
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp, typename _Arg>
1417:     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1417:     {
1417:     public:
1417:       explicit
1417:       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
1417:       : _M_f(__pf) { }
1417: 
1417:       _Ret
1417:       operator()(const _Tp& __r, _Arg __x) const
1417:       { return (__r.*_M_f)(__x); }
1417: 
1417:     private:
1417:       _Ret (_Tp::*_M_f)(_Arg) const;
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417: 
1417:   template<typename _Ret, typename _Tp>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline mem_fun_t<_Ret, _Tp>
1417:     mem_fun(_Ret (_Tp::*__f)())
1417:     { return mem_fun_t<_Ret, _Tp>(__f); }
1417: 
1417:   template<typename _Ret, typename _Tp>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline const_mem_fun_t<_Ret, _Tp>
1417:     mem_fun(_Ret (_Tp::*__f)() const)
1417:     { return const_mem_fun_t<_Ret, _Tp>(__f); }
1417: 
1417:   template<typename _Ret, typename _Tp>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline mem_fun_ref_t<_Ret, _Tp>
1417:     mem_fun_ref(_Ret (_Tp::*__f)())
1417:     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
1417: 
1417:   template<typename _Ret, typename _Tp>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline const_mem_fun_ref_t<_Ret, _Tp>
1417:     mem_fun_ref(_Ret (_Tp::*__f)() const)
1417:     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
1417: 
1417:   template<typename _Ret, typename _Tp, typename _Arg>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline mem_fun1_t<_Ret, _Tp, _Arg>
1417:     mem_fun(_Ret (_Tp::*__f)(_Arg))
1417:     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1417: 
1417:   template<typename _Ret,   using ::ungetwc;
1412:   using ::vfwprintf;
1412: 
1412:   using ::vfwscanf;
1412: 
1412: 
1412:   using ::vswprintf;
1412: 
1412: 
1412:   using ::vswscanf;
1412: 
1412:   using ::vwprintf;
1412: 
1412:   using ::vwscanf;
1412: 
1412:   using ::wcrtomb;
1412:   using ::wcscat;
1412:   using ::wcscmp;
1412:   using ::wcscoll;
1412:   using ::wcscpy;
1412:   using ::wcscspn;
1412:   using ::wcsftime;
1412:   using ::wcslen;
1412:   using ::wcsncat;
1412:   using ::wcsncmp;
1412:   using ::wcsncpy;
1412:   using ::wcsrtombs;
1412:   using ::wcsspn;
1412:   using ::wcstod;
1412: 
1412:   using ::wcstof;
1412: 
1412:   using ::wcstok;
1412:   using ::wcstol;
1412:   using ::wcstoul;
1412:   using ::wcsxfrm;
1412:   using ::wctob;
1412:   using ::wmemcmp;
1412:   using ::wmemcpy;
1412:   using ::wmemmove;
1412:   using ::wmemset;
1412:   using ::wprintf;
1412:   using ::wscanf;
1412:   using ::wcschr;
1412:   using ::wcspbrk;
1412:   using ::wcsrchr;
1412:   using ::wcsstr;
1412:   using ::wmemchr;
1412: # 234 "/usr/include/c++/12/cwchar" 3
1412: 
1412: }
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace __gnu_cxx
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   using ::wcstold;
1412: # 260 "/usr/include/c++/12/cwchar" 3
1412:   using ::wcstoll;
1412:   using ::wcstoull;
1412: 
1412: }
1412: 
1412: namespace std
1412: {
1412:   using ::__gnu_cxx::wcstold;
1412:   using ::__gnu_cxx::wcstoll;
1412:   using ::__gnu_cxx::wcstoull;
1412: }
1412: # 280 "/usr/include/c++/12/cwchar" 3
1412: namespace std
1412: {
1412: 
1412:   using std::wcstof;
1412: 
1412: 
1412:   using std::vfwscanf;
1412: 
1412: 
1412:   using std::vswscanf;
1412: 
1412: 
1412:   using std::vwscanf;
1412: 
1412: 
1412: 
1412:   using std::wcstold;
1412:   using std::wcstoll;
1412:   using std::wcstoull;
1412: 
1412: }
1412: # 41 "/usr/include/c++/12/bits/postypes.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 62 "/usr/include/c++/12/bits/postypes.h" 3
1412:   typedef long long int streamoff;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   typedef ptrdiff_t streamsize;
1412: # 81 "/usr/include/c++/12/bits/postypes.h" 3
1412:   template<typename _StateT>
1412:     class fpos
1412:     {
1412:     private:
1412:       streamoff _M_off;
1412:       _StateT _M_state;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412:       fpos()
1412:       : _M_off(0), _M_state() { }
1412: # 103 "/usr/include/c++/12/bits/postypes.h" 3
1412:       fpos(streamoff __off)
1412:       : _M_off(__off), _M_state() { }
1412: 
1412: 
1412:       fpos(const fpos&) = default;
1412:       fpos& operator=(const fpos&) = default;
1412:       ~fpos() = default;
1412: 
1412: 
1412: 
1412:       operator streamoff() const { return _M_off; }
1412: 
1412: 
1412:       void
1412:       state(_StateT __st)
1412:       { _M_state = __st; }
1412: 
1412: 
1412:       _StateT
1412:       state() const
1412:       { return _M_state; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       fpos&
1412:       operator+=(streamoff __off)
1412:       {
1412:  _M_off += __off;
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       fpos&
1412:       operator-=(streamoff __off)
1412:       {
1412:  _M_off -= __off;
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       fpos
1412:       operator+(streamoff __off) const
1412:       {
1412:  fpos __pos(*this);
1412:  __pos += __off;
1412:  return __pos;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       fpos
1412:       operator-(streamoff __off) const
1412:       {
1412:  fpos __pos(*this);
1412:  __pos -= __off;
1412:  return __pos;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       streamoff
1412:       operator-(const fpos& __other) const
1412:       { return _M_off - __other._M_off; }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _StateT>
1412:     inline bool
1412:     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1412:     typename _Tp, typename _Arg>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
1417:     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
1417:     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1417: 
1417:   template<typename _Ret, typename _Tp, typename _Arg>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
1417:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
1417:     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1417: 
1417:   template<typename _Ret, typename _Tp, typename _Arg>
1417:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1417:     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
1417:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
1417:     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Func, typename _SfinaeType, typename = __void_t<>>
1417:     struct __has_is_transparent
1417:     { };
1417: 
1417:   template<typename _Func, typename _SfinaeType>
1417:     struct __has_is_transparent<_Func, _SfinaeType,
1417:     __void_t<typename _Func::is_transparent>>
1417:     { typedef void type; };
1417: 
1417:   template<typename _Func, typename _SfinaeType>
1417:     using __has_is_transparent_t
1417:       = typename __has_is_transparent<_Func, _SfinaeType>::type;
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/backward/binders.h" 1 3
1417: # 60 "/usr/include/c++/12/backward/binders.h" 3
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 107 "/usr/include/c++/12/backward/binders.h" 3
1417:   template<typename _Operation>
1417:     class binder1st
1417:     : public unary_function<typename _Operation::second_argument_type,
1417:        typename _Operation::result_type>
1417:     {
1417:     protected:
1417:       _Operation op;
1417:       typename _Operation::first_argument_type value;
1417: 
1417:     public:
1417:       binder1st(const _Operation& __x,
1417:   const typename _Operation::first_argument_type& __y)
1417:       : op(__x), value(__y) { }
1417: 
1417:       typename _Operation::result_type
1417:       operator()(const typename _Operation::second_argument_type& __x) const
1417:       { return op(value, __x); }
1417: 
1417: 
1417: 
1417:       typename _Operation::result_type
1417:       operator()(typename _Operation::second_argument_type& __x) const
1417:       { return op(value, __x); }
1417:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1417: 
1417: 
1417:   template<typename _Operation, typename _Tp>
1417:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1417:     inline binder1st<_Operation>
1417:     bind1st(const _Operation& __fn, const _Tp& __x)
1417:     {
1417:       typedef typename _Operation::first_argument_type _Arg1_type;
1417:       return binder1st<_Operation>(__fn, _Arg1_type(__x));
1417:     }
1417: 
1417: 
1417:   template<typename _Operation>
1417:     class binder2nd
1417:     : public unary_function<typename _Operation::first_argument_type,
1417:        typename _Operation::result_type>
1417:     {
1417:     protected:
1417:       _Operation op;
1417:       typename _Operation::second_argument_type value;
1417: 
1417:     public:
1417:       binder2nd(const _Operation& __x,
1417:   const typename _Operation::second_argument_type& __y)
1417:       : op(__x), value(__y) { }
1417: 
1417:       typename _Operation::result_type
1417:       operator()(const typename _Operation::first_argument_type& __x) const
1417:       { return op(__x, value); }
1417: 
1417: 
1417: 
1417:       typename _Operation::result_type
1417:       operator()(typename _Operation::first_argument_type& __x) const
1417:       { return op(__x, value); }
1417:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
141Count; i++)
609:         lock();
609:     }
609: # 104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
609:     inline L& get_underlying() { return mutex; }
609:   };
609: 
609: }
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
609:        
609: 
609: # 1 "/usr/include/c++/12/mutex" 1 3
609: # 32 "/usr/include/c++/12/mutex" 3
609:        
609: # 33 "/usr/include/c++/12/mutex" 3
609: # 41 "/usr/include/c++/12/mutex" 3
609: # 1 "/usr/include/c++/12/system_error" 1 3
609: # 32 "/usr/include/c++/12/system_error" 3
609:        
609: # 33 "/usr/include/c++/12/system_error" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 1 3
609: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
609: # 1 "/usr/include/c++/12/cerrno" 1 3
609: # 39 "/usr/include/c++/12/cerrno" 3
609:        
609: # 40 "/usr/include/c++/12/cerrno" 3
609: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 2 3
609: 
609: 
609: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   enum class errc
609:     {
609:       address_family_not_supported = 97,
609:       address_in_use = 98,
609:       address_not_available = 99,
609:       already_connected = 106,
609:       argument_list_too_long = 7,
609:       argument_out_of_domain = 33,
609:       bad_address = 14,
609:       bad_file_descriptor = 9,
609: 
609: 
609:       bad_message = 74,
609: 
609: 
609:       broken_pipe = 32,
609:       connection_aborted = 103,
609:       connection_already_in_progress = 114,
609:       connection_refused = 111,
609:       connection_reset = 104,
609:       cross_device_link = 18,
609:       destination_address_required = 89,
609:       device_or_resource_busy = 16,
609:       directory_not_empty = 39,
609:       executable_format_error = 8,
609:       file_exists = 17,
609:       file_too_large = 27,
609:       filename_too_long = 36,
609:       function_not_supported = 38,
609:       host_unreachable = 113,
609: 
609: 
609:       identifier_removed = 43,
609: 
609: 
609:       illegal_byte_sequence = 84,
609:       inappropriate_io_control_operation = 25,
609:       interrupted = 4,
609:       invalid_argument = 22,
609:       invalid_seek = 29,
609:       io_error = 5,
609:       is_a_directory = 21,
609:       message_size = 90,
609:       network_down = 100,
609:       network_reset = 102,
609:       network_unreachable = 101,
609:       no_buffer_space = 105,
609:       no_child_process = 10,
609: 
609: 
609:       no_link = 67,
609: 
609: 
609:       no_lock_available = 37,
609: 
609: 
609:       no_message_available = 61,
609: 
609: 
609:       no_message = 42,
609:       no_protocol_option = 92,
609:       no_space_on_device = 28,
609: 
609: 
609:       no_stream_resources = 63,
609: 
609: 
609:       no_such_device_or_address = 6,
609:       no_such_device = 19,
609:       no_such_file_or_directory = 2,
609:       no_such_process = 3,
609:       not_a_directory = 20,
609:       not_a_socket = 88,
609: 
609: 
609:       not_a_stream = 60,
609: 
609: 
609:       not_connected = 107,
609:       not_enough_memory = 12,
609: 
609: 
609:       not_supported = 95,
609: 
609: 
609: 
609:       operation_canceled = 125,
609: 
609: 
609:       operation_in_progress = 115,
609:       operation_not_permitted = 1,
609:       operation_not_supported = 95,
609:       operation_would_block = 11,
609: 
609: 
609:       owner_dead = 130,
609: 
609: 
609:       permission_denied = 13,
609: 
609: 
609:       protocol_error = 71,
609: 
609: 
609:       protocol_not_supported = 93,
609:       read_only_file_system = 30,
609:       resource_deadlock_would_occur = 35,
609:       resource_unavailable_try_again = 11,
609:       result_out_of_range = 34,7: 
1417: 
1417:   template<typename _Operation, typename _Tp>
1417:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1417:     inline binder2nd<_Operation>
1417:     bind2nd(const _Operation& __fn, const _Tp& __x)
1417:     {
1417:       typedef typename _Operation::second_argument_type _Arg2_type;
1417:       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: 
1417: #pragma GCC diagnostic pop
1417: # 1439 "/usr/include/c++/12/bits/stl_function.h" 2 3
1417: # 49 "/usr/include/c++/12/string" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/refwrap.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/refwrap.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/refwrap.h" 3
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/invoke.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/invoke.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/invoke.h" 3
1417: # 42 "/usr/include/c++/12/bits/invoke.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 53 "/usr/include/c++/12/bits/invoke.h" 3
1417:   template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
1417:     constexpr _Up&&
1417:     __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
1417:     { return static_cast<_Up&&>(__t); }
1417: 
1417:   template<typename _Res, typename _Fn, typename... _Args>
1417:     constexpr _Res
1417:     __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
1417:     { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
1417: 
1417:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1417:     constexpr _Res
1417:     __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
1417:     _Args&&... __args)
1417:     { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
1417: 
1417:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1417:     constexpr _Res
1417:     __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
1417:     _Args&&... __args)
1417:     {
1417:       return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
1417:     }
1417: 
1417:   template<typename _Res, typename _MemPtr, typename _Tp>
1417:     constexpr _Res
1417:     __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
1417:     { return __invfwd<_Tp>(__t).*__f; }
1417: 
1417:   template<typename _Res, typename _MemPtr, typename _Tp>
1417:     constexpr _Res
1417:     __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
1417:     { return (*std::forward<_Tp>(__t)).*__f; }
1417: 
1417: 
1417:   template<typename _Callable, typename... _Args>
1417:     constexpr typename __invoke_result<_Callable, _Args...>::type
1417:     __invoke(_Callable&& __fn, _Args&&... __args)
1417:     noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
1417:     {
1417:       using __result = __invoke_result<_Callable, _Args...>;
1417:       using __type = typename __result::type;
1417:       using __tag = typename __result::__invoke_type;
1417:       return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1417:      std::forward<_Args>(__args)...);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Res, typename _Callable, typename... _Args>
1417:     constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
1417:     __invoke_r(_Callable&& __fn, _Args&&... __args)
1417:     noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
1417:     {
1417:       using __result = __invoke_result<_Callable, _Args...>;
1417:       using __type = typename __result::type;
1417:       using __tag = typename __result::__invoke_type;
1417:       if constexpr (is_void_v<_Res>)
1417:  std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1417:      std::forward<_Args>(__args)...);
1417:       else
1417:  return std::__invoke_impl<__type>(__tag{},
1417:        std::forward<_Callable>(__fn),
1417:        std::forward<_Args>(__args)...);
1417:     }
1417: # 159 "/usr/include/ { return streamoff(__lhs) == streamoff(__rhs); }
1412: 
1412:   template<typename _StateT>
1412:     inline bool
1412:     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1412:     { return streamoff(__lhs) != streamoff(__rhs); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   typedef fpos<mbstate_t> streampos;
1412: 
1412:   typedef fpos<mbstate_t> wstreampos;
1412: # 215 "/usr/include/c++/12/bits/postypes.h" 3
1412:   typedef fpos<mbstate_t> u16streampos;
1412: 
1412:   typedef fpos<mbstate_t> u32streampos;
1412: 
1412: 
1412: 
1412: }
1412: # 40 "/usr/include/c++/12/bits/char_traits.h" 2 3
1412: # 1 "/usr/include/c++/12/cwchar" 1 3
1412: # 39 "/usr/include/c++/12/cwchar" 3
1412:        
1412: # 40 "/usr/include/c++/12/cwchar" 3
1412: # 41 "/usr/include/c++/12/bits/char_traits.h" 2 3
1412: # 53 "/usr/include/c++/12/bits/char_traits.h" 3
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wstringop-overflow"
1412: #pragma GCC diagnostic ignored "-Wstringop-overread"
1412: #pragma GCC diagnostic ignored "-Warray-bounds"
1412: # 72 "/usr/include/c++/12/bits/char_traits.h" 3
1412:   template<typename _CharT>
1412:     struct _Char_types
1412:     {
1412:       typedef unsigned long int_type;
1412:       typedef std::streampos pos_type;
1412:       typedef std::streamoff off_type;
1412:       typedef std::mbstate_t state_type;
1412:     };
1412: # 97 "/usr/include/c++/12/bits/char_traits.h" 3
1412:   template<typename _CharT>
1412:     struct char_traits
1412:     {
1412:       typedef _CharT char_type;
1412:       typedef typename _Char_types<_CharT>::int_type int_type;
1412:       typedef typename _Char_types<_CharT>::pos_type pos_type;
1412:       typedef typename _Char_types<_CharT>::off_type off_type;
1412:       typedef typename _Char_types<_CharT>::state_type state_type;
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr void
1412:       assign(char_type& __c1, const char_type& __c2)
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  __c1 = __c2;
1412:       }
1412: 
1412:       static constexpr bool
1412:       eq(const char_type& __c1, const char_type& __c2)
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr bool
1412:       lt(const char_type& __c1, const char_type& __c2)
1412:       { return __c1 < __c2; }
1412: 
1412:       static constexpr int
1412:       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
1412: 
1412:       static constexpr std::size_t
1412:       length(const char_type* __s);
1412: 
1412:       static constexpr const char_type*
1412:       find(const char_type* __s, std::size_t __n, const char_type& __a);
1412: 
1412:       static char_type*
1412:       move(char_type* __s1, const char_type* __s2, std::size_t __n);
1412: 
1412:       static char_type*
1412:       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
1412: 
1412:       static char_type*
1412:       assign(char_type* __s, std::size_t __n, char_type __a);
1412: 
1412:       static constexpr char_type
1412:       to_char_type(const int_type& __c)
1412:       { return static_cast<char_type>(__c); }
1412: 
1412:       static constexpr int_type
1412:       to_int_type(const char_type& __c)
1412:       { return static_cast<int_type>(__c); }
1412: 
1412:       static constexpr bool
1412:       eq_int_type(const int_type& __c1, const int_type& __c2)
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr int_type
1412:       eof()
1412:       { return static_cast<int_type>(-1); }
1412: 
1412:       static constexpr int_type
1412:       not_eof(const int_type& __c)
1412:       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
1412:     };
1412: 
1412:   template<typename _CharT>
1412:     constexpr int
1412:     char_traits<_CharT>::
1412:     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
1412:     {
1412:       for (std::size_t __i = 0; __i < __n; ++__i)
1412:  if (lt(__s1[__i], __s2[__ic++/12/bits/invoke.h" 3
1417: 
1417: }
1417: # 39 "/usr/include/c++/12/bits/refwrap.h" 2 3
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 52 "/usr/include/c++/12/bits/refwrap.h" 3
1417:   template<typename _Res, typename... _ArgTypes>
1417:     struct _Maybe_unary_or_binary_function { };
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417:   template<typename _Res, typename _T1>
1417:     struct _Maybe_unary_or_binary_function<_Res, _T1>
1417:     : std::unary_function<_T1, _Res> { };
1417: 
1417: 
1417:   template<typename _Res, typename _T1, typename _T2>
1417:     struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
1417:     : std::binary_function<_T1, _T2, _Res> { };
1417: 
1417: #pragma GCC diagnostic pop
1417: 
1417:   template<typename _Signature>
1417:     struct _Mem_fn_traits;
1417: 
1417:   template<typename _Res, typename _Class, typename... _ArgTypes>
1417:     struct _Mem_fn_traits_base
1417:     {
1417:       using __result_type = _Res;
1417:       using __maybe_type
1417:  = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
1417:       using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
1417:     };
1417: # 103 "/usr/include/c++/12/bits/refwrap.h" 3
1417: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1417: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem
609: 
609: 
609:       state_not_recoverable = 131,
609: 
609: 
609: 
609:       stream_timeout = 62,
609: 
609: 
609: 
609:       text_file_busy = 26,
609: 
609: 
609:       timed_out = 110,
609:       too_many_files_open_in_system = 23,
609:       too_many_files_open = 24,
609:       too_many_links = 31,
609:       too_many_symbolic_link_levels = 40,
609: 
609: 
609:       value_too_large = 75,
609: 
609: 
609:       wrong_protocol_type = 91
609:     };
609: 
609: 
609: }
609: # 40 "/usr/include/c++/12/system_error" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   class error_code;
609:   class error_condition;
609:   class system_error;
609: 
609: 
609:   template<typename _Tp>
609:     struct is_error_code_enum : public false_type { };
609: 
609: 
609:   template<typename _Tp>
609:     struct is_error_condition_enum : public false_type { };
609: 
609:   template<>
609:     struct is_error_condition_enum<errc>
609:     : public true_type { };
609: 
609: 
609:   template <typename _Tp>
609:     inline constexpr bool is_error_code_enum_v =
609:       is_error_code_enum<_Tp>::value;
609:   template <typename _Tp>
609:     inline constexpr bool is_error_condition_enum_v =
609:       is_error_condition_enum<_Tp>::value;
609: 
609: 
609: 
609:   inline namespace _V2 {
609: # 97 "/usr/include/c++/12/system_error" 3
609:   class error_category
609:   {
609:   public:
609:     constexpr error_category() noexcept = default;
609: 
609:     virtual ~error_category();
609: 
609:     error_category(const error_category&) = delete;
609:     error_category& operator=(const error_category&) = delete;
609: 
609:     virtual const char*
609:     name() const noexcept = 0;
609: 
609: 
609: 
609: 
609: 
609: 
609:   private:
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     virtual __cow_string
609:     _M_message(int) const;
609: 
609:   public:
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     virtual string
609:     message(int) const = 0;
609: # 133 "/usr/include/c++/12/system_error" 3
609:   public:
609:     virtual error_condition
609:     default_error_condition(int __i) const noexcept;
609: 
609:     virtual bool
609:     equivalent(int __i, const error_condition& __cond) const noexcept;
609: 
609:     virtual bool
609:     equivalent(const error_code& __code, int __i) const noexcept;
609: 
609:     bool
609:     operator==(const error_category& __other) const noexcept
609:     { return this == &__other; }
609: 
609: 
609: 
609: 
609: 
609: 
609:     bool
609:     operator!=(const error_category& __other) const noexcept
609:     { return this != &__other; }
609: 
609:     bool
609:     operator<(const error_category& __other) const noexcept
609:     { return less<const error_category*>()(this, &__other); }
609: 
609:   };
609: 
609: 
609: 
609: 
609:   __attribute__ ((__const__)) const error_category& generic_category() noexcept;
609: 
609: 
609:   __attribute__ ((__const__)) const error_category& system_category() noexcept;
609: 
609: 
609:   }
609: 
609: 
609: 
609: 
609: 
609:   error_code make_error_code(errc) noexcept;
609: # 196 "/usr/include/c++/12/system_error" 3
609:   class error_code
609:   {
609:   public:
609:     error_code() noexcept
609:     : _M_value(0), _M_cat(&system_category()) { }
609: 
609:     error_code(int __v, const error_category& __cat) noexcept
609:     : _M_value(__v), _M_cat(&__cat) { }
609: 
609:     template<typename _ErrorCodeEnum, typename = typename
609:       enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type>
609:       error_code(_ErrorCodeEnum __e) noexcept
609:       { *this = make_error_code(__e); }
609: 
609:     void
609:     assign(int __v, const error_category& __cat) noexcept
609:     {
609:       _M_value = __v;
609:       _M_cat = &__cat;
609:     }
609: 
609:     void
609:     clear() noexcept
609:     { assign(0, system_category()); }
609: 
609: 
609:     template<typename _ErrorCodeEnum>
609:       typename enable_if<is_error_code_enum<_ErrorCodeEnum>::va_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1417: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1417: 
1417: 
1417: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const vola]))
1412:    return -1;
1412:  else if (lt(__s2[__i], __s1[__i]))
1412:    return 1;
1412:       return 0;
1412:     }
1412: 
1412:   template<typename _CharT>
1412:     constexpr std::size_t
1412:     char_traits<_CharT>::
1412:     length(const char_type* __p)
1412:     {
1412:       std::size_t __i = 0;
1412:       while (!eq(__p[__i], char_type()))
1412:         ++__i;
1412:       return __i;
1412:     }
1412: 
1412:   template<typename _CharT>
1412:     constexpr const typename char_traits<_CharT>::char_type*
1412:     char_traits<_CharT>::
1412:     find(const char_type* __s, std::size_t __n, const char_type& __a)
1412:     {
1412:       for (std::size_t __i = 0; __i < __n; ++__i)
1412:         if (eq(__s[__i], __a))
1412:           return __s + __i;
1412:       return 0;
1412:     }
1412: 
1412:   template<typename _CharT>
1412:    
1412:     typename char_traits<_CharT>::char_type*
1412:     char_traits<_CharT>::
1412:     move(char_type* __s1, const char_type* __s2, std::size_t __n)
1412:     {
1412:       if (__n == 0)
1412:  return __s1;
1412: # 248 "/usr/include/c++/12/bits/char_traits.h" 3
1412:       __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
1412:       return __s1;
1412:     }
1412: 
1412:   template<typename _CharT>
1412:    
1412:     typename char_traits<_CharT>::char_type*
1412:     char_traits<_CharT>::
1412:     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
1412:     {
1412: # 267 "/usr/include/c++/12/bits/char_traits.h" 3
1412:       __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
1412:       return __s1;
1412:     }
1412: 
1412:   template<typename _CharT>
1412:    
1412:     typename char_traits<_CharT>::char_type*
1412:     char_traits<_CharT>::
1412:     assign(char_type* __s, std::size_t __n, char_type __a)
1412:     {
1412: # 286 "/usr/include/c++/12/bits/char_traits.h" 3
1412:       if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
1412:  {
1412:    unsigned char __c;
1412:    __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
1412:    __builtin_memset(__s, __c, __n);
1412:  }
1412:       else
1412:  {
1412:    for (std::size_t __i = 0; __i < __n; ++__i)
1412:      __s[__i] = __a;
1412:  }
1412:       return __s;
1412:     }
1412: 
1412: 
1412: }
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 328 "/usr/include/c++/12/bits/char_traits.h" 3
1412:   template<typename _CharT>
1412:     struct char_traits : public __gnu_cxx::char_traits<_CharT>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct char_traits<char>
1412:     {
1412:       typedef char char_type;
1412:       typedef int int_type;
1412:       typedef streampos pos_type;
1412:       typedef streamoff off_type;
1412:       typedef mbstate_t state_type;
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr void
1412:       assign(char_type& __c1, const char_type& __c2) noexcept
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  __c1 = __c2;
1412:       }
1412: 
1412:       static constexpr bool
1412:       eq(const char_type& __c1, const char_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr bool
1412:       lt(const char_type& __c1, const char_type& __c2) noexcept
1412:       {
1412: 
1412:  return (static_cast<unsigned char>(__c1)
1412:   < static_cast<unsigned char>(__c2));
1412:       }
1412: 
1412:       static constexpr int
1412:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return 0;
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    {
1412:      for (size_t __i = 0; __i < __n; ++__i)
1412:        if (lt(__s1[__i], __s2[__i]))
1412:   return -1;
1412:        else if (lt(__s2[__i], __s1[__i]))
1412:   return 1;
1412:      return 0;
1412:    }
1412: 
1412:  return __builtin_memcmp(__s1, __s2, __n);
1412:       }
1412: 
1412:       static constexpr size_t
1412:       length(const char_type* __s)
1412:       {
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __gnu_cxx::char_trtile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1417: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1417: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Functor, typename = __void_t<>lue,
609:     error_code&>::type
609:       operator=(_ErrorCodeEnum __e) noexcept
609:       { return *this = make_error_code(__e); }
609: 
609:     int
609:     value() const noexcept { return _M_value; }
609: 
609:     const error_category&
609:     category() const noexcept { return *_M_cat; }
609: 
609:     error_condition
609:     default_error_condition() const noexcept;
609: 
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     string
609:     message() const
609:     { return category().message(value()); }
609: 
609:     explicit operator bool() const noexcept
609:     { return _M_value != 0; }
609: 
609: 
609:   private:
609:     int _M_value;
609:     const error_category* _M_cat;
609:   };
609: 
609: 
609: 
609: 
609: 
609:   inline error_code
609:   make_error_code(errc __e) noexcept
609:   { return error_code(static_cast<int>(__e), generic_category()); }
609: # 268 "/usr/include/c++/12/system_error" 3
609:   inline bool
609:   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
609:   {
609:     return (__lhs.category() < __rhs.category()
609:      || (__lhs.category() == __rhs.category()
609:   && __lhs.value() < __rhs.value()));
609:   }
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     basic_ostream<_CharT, _Traits>&
609:     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
609:     { return (__os << __e.category().name() << ':' << __e.value()); }
609: 
609: 
609: 
609:   error_condition make_error_condition(errc) noexcept;
609: # 297 "/usr/include/c++/12/system_error" 3
609:   class error_condition
609:   {
609:   public:
609:     error_condition() noexcept
609:     : _M_value(0), _M_cat(&generic_category()) { }
609: 
609:     error_condition(int __v, const error_category& __cat) noexcept
609:     : _M_value(__v), _M_cat(&__cat) { }
609: 
609:     template<typename _ErrorConditionEnum, typename = typename
609:   enable_if<is_error_condition_enum<_ErrorConditionEnum>::value>::type>
609:       error_condition(_ErrorConditionEnum __e) noexcept
609:       { *this = make_error_condition(__e); }
609: 
609:     void
609:     assign(int __v, const error_category& __cat) noexcept
609:     {
609:       _M_value = __v;
609:       _M_cat = &__cat;
609:     }
609: 
609: 
609:     template<typename _ErrorConditionEnum>
609:       typename enable_if<is_error_condition_enum
609:     <_ErrorConditionEnum>::value, error_condition&>::type
609:       operator=(_ErrorConditionEnum __e) noexcept
609:       { return *this = make_error_condition(__e); }
609: 
609:     void
609:     clear() noexcept
609:     { assign(0, generic_category()); }
609: 
609: 
609:     int
609:     value() const noexcept { return _M_value; }
609: 
609:     const error_category&
609:     category() const noexcept { return *_M_cat; }
609: 
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     string
609:     message() const
609:     { return category().message(value()); }
609: 
609:     explicit operator bool() const noexcept
609:     { return _M_value != 0; }
609: 
609: 
609:   private:
609:     int _M_value;
609:     const error_category* _M_cat;
609:   };
609: 
609: 
609: 
609: 
609: 
609:   inline error_condition
609:   make_error_condition(errc __e) noexcept
609:   { return error_condition(static_cast<int>(__e), generic_category()); }
609: 
609: 
609: 
609: 
609:   inline bool
609:   operator==(const error_code& __lhs, const error_code& __rhs) noexcept
609:   { return (__lhs.category() == __rhs.category()
609:      && __lhs.value() == __rhs.value()); }
609: 
609: 
609:   inline bool
609:   operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
609:   {
609:     return (__lhs.category().equivalent(__lhs.value(), __rhs)
609:      || __rhs.category().equivalent(__lhs, __rhs.value()));
609:   }
609: 
609: 
609:   inline bool
609:   operator==(const error_condition& __lhs,
609:       const error_condition& __rhs) noexcept
609:   {
609:     return (__lhs.category() == __rhs.category()
609:      && __lhs.value() == __rhs.value());
609:   }
609: # 397 "/usr/include/c++/>
1417:     struct _Maybe_get_result_type
1417:     { };
1417: 
1417:   template<typename _Functor>
1417:     struct _Maybe_get_result_type<_Functor,
1417:       __void_t<typename _Functor::result_type>>
1417:     { typedef typename _Functor::result_type result_type; };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Functor>
1417:     struct _Weak_result_type_impl
1417:     : _Maybe_get_result_type<_Functor>
1417:     { };
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes , bool _NE>
1417:     struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
1417:     { typedef _Res result_type; };
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes , bool _NE>
1417:     struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)>
1417:     { typedef _Res result_type; };
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes , bool _NE>
1417:     struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
1417:     { typedef _Res result_type; };
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes , bool _NE>
1417:     struct
1417:     _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)>
1417:     { typedef _Res result_type; };
1417: 
1417: 
1417:   template<typename _Functor,
1417:     bool = is_member_function_pointer<_Functor>::value>
1417:     struct _Weak_result_type_memfun
1417:     : _Weak_result_type_impl<_Functor>
1417:     { };
1417: 
1417: 
1417:   template<typename _MemFunPtr>
1417:     struct _Weak_result_type_memfun<_MemFunPtr, true>
1417:     {
1417:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1417:     };
1417: 
1417: 
1417:   template<typename _Func, typename _Class>
1417:     struct _Weak_result_type_memfun<_Func _Class::*, false>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Functor>
1417:     struct _Weak_result_type
1417:     : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename = __void_t<>>
1417:     struct _Refwrap_base_arg1
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _Refwrap_base_arg1<_Tp,
1417:          __void_t<typename _Tp::argument_type>>
1417:     {
1417:       typedef typename _Tp::argument_type argument_type;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename = __void_t<>>
1417:     struct _Refwrap_base_arg2
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _Refwrap_base_arg2<_Tp,
1417:          __void_t<typename _Tp::first_argument_type,
1417:            typename _Tp::second_argument_type>>
1417:     {
1417:       typedef typename _Tp::first_argument_type first_argument_type;
1417:       typedef typename _Tp::second_argument_type second_argument_type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _Reference_wrapper_base
1417:     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
1417:     { };
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417:   template<typename _Res, typename _T1 , bool _NE>
1417:     struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
1417:     : unary_function<_T1, _Res>
1417:     { };
1417: 
1417:   template<typename _Res, typename _T1>
1417:     struct _Reference_wrapper_base<_Res(_T1) const>
1417:     : unary_function<_T1, _Res>
1417:     { };
1417: 
1417:   template<typename _Res, typename _T1>
1417:     struct _Reference_wrapper_base<_Res(_T1) volatile>
1417:     : unary_function<_T1, _Res>
1417:     { };
1417: 
1417:   template<typename _Res, typename _T1>
1417:     struct _Reference_wrapper_base<_Res(_T1) const volatile>
1417:     : unary_function<_T1, _Res>
1417:     { };
1417: 
1417: 
1417:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1417:     struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
1417:     : binary_function<_T1, _T2, _Res>
1417:     { };
1417: 
1417:   template<typename _Res, typename _T1, typename _T2>
1417:     struct _Reference_wrapper_base<_Res(_T1, _T2) const>
1417:     : binary_function<_T1, _T2, _Res>
1417:     { };
1417: 
1417:   template<typename _Res, typename _T1, typename _T2>
1417:     struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
1417:     : binary_function<_T1, _T2, _Res>
1417:     { };
1417: 
1417:   template<typename _Res, typename _T1, typename _T2>
1417:     struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
1417:     : binary_function<_T1, _T2, _Res>
1417:     { };
1417: 
1417: 
1417:   template<typename _Res, typename _T1 , bool _NE>
1417:     struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
1417:     : unary_function<_T1, _Res>
1417:     { };
1417: 
1417: 
1417:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1417:     struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
1417:     : binary_function<_T1, _T2, _Res>
1417:     { };
1417: 
1417:   template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
1417:     struct _Reference_wrapper_base_memfun
1417:     : _Reference_wrapper_base<_Tp>
1417:     { };
1417: 
1417:   template<typename _MemFunPtr>
1417:     struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
1417:     : _Mem_fn_traits<_MemFunPtr>::__maybe_type
1417:     {
1417:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1417:     };
1417: #pragma GCC diagnostic pop
1417: # 302 "/usr/include/c++/12/bits/refwrap.h" 3
1417:   template<typename _Tp>
1417:     class reference_wrapper
1417: 
1417: 
1417: 
1417:     : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
1417: 
1417:     {
1417:       _Tp* _M_data;
1417: 
1417:      
1417:       static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
1417: 
1417:       static void _S_fun(_Tp&&) = delete;
1417: 
1417:       template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
1417:  using __not_same
1417:    = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
1417: 
1417:     public:
1417:       typedef _Tp type;
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Up, typename = __not_same<_Up>, typename
1417:   = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
1417: 
1417:  reference_wrapper(_Up&& __uref)
1417:  noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
1417:  : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
1417:  { }
1417: 
1417:       reference_wrapper(const reference_wrapper&) = default;
1417: 
1417:       reference_wrapper&
1417:       operator=(const reference_wrapper&) = default;
1417: 
1417:      
1417:       operator _Tp&() const noexcept
1417:       { return this->get(); }
1417: 
1417:      
1417:       _Tp&
1417:       get() const noexcept
1417:       { return *_M_data; }
1417: 
1417:       template<typename... _Args>
1417: 
1417:  typename result_of<_Tp&(_Args&&...)>::type
1417:  operator()(_Args&&... __args) const
1417:  {
1417: 
1417: 
1417: 
1417: 
1417:    return std::__invoke(get(), std::forward<_Args>(__args)...);
1417:  }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:    
1417:     inline reference_wrapper<_Tp>
1417:     ref(_Tp& __t) noexcept
1417:     { return reference_wrapper<_Tp>(__t); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:    
1417:     inline reference_wrapper<const _Tp>
1417:     cref(const _Tp& __t) noexcept
1417:     { return reference_wrapper<const _Tp>(__t); }
1417: 
1417:   template<typename _Tp>
1417:     void ref(const _Tp&&) = delete;
1417: 
1417:   template<typename _Tp>
1417:     void cref(const _Tp&&) = delete;
1417: 
1417: 
1417:   template<typename _Tp>
1417:    
1417:     inline reference_wrapper<_Tp>
1417:     ref(reference_wrapper<_Tp> __t) noexcept
1417:     { return __t; }
1417: 
1417: 
1417:   template<typename _Tp>
1417:    
1417:     inline referaits<char_type>::length(__s);
1412: 
1412:  return __builtin_strlen(__s);
1412:       }
1412: 
1412:       static constexpr const char_type*
1412:       find(const char_type* __s, size_t __n, const char_type& __a)
1412:       {
1412:  if (__n == 0)
1412:    return 0;
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1412: 
1412:  return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
1412:       }
1412: 
1412:       static char_type*
1412:       move(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
1412:       }
1412: 
1412:       static char_type*
1412:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
1412:       }
1412: 
1412:       static char_type*
1412:       assign(char_type* __s, size_t __n, char_type __a)
1412:       {
1412:  if (__n == 0)
1412:    return __s;
1412: 
1412: 
1412: 
1412: 
1412:  return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
1412:       }
1412: 
1412:       static constexpr char_type
1412:       to_char_type(const int_type& __c) noexcept
1412:       { return static_cast<char_type>(__c); }
1412: 
1412: 
1412: 
1412:       static constexpr int_type
1412:       to_int_type(const char_type& __c) noexcept
1412:       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
1412: 
1412:       static constexpr bool
1412:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr int_type
1412:       eof() noexcept
1412:       { return static_cast<int_type>(-1); }
1412: 
1412:       static constexpr int_type
1412:       not_eof(const int_type& __c) noexcept
1412:       { return (__c == eof()) ? 0 : __c; }
1412:   };
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct char_traits<wchar_t>
1412:     {
1412:       typedef wchar_t char_type;
1412:       typedef wint_t int_type;
1412:       typedef streamoff off_type;
1412:       typedef wstreampos pos_type;
1412:       typedef mbstate_t state_type;
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr void
1412:       assign(char_type& __c1, const char_type& __c2) noexcept
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  __c1 = __c2;
1412:       }
1412: 
1412:       static constexpr bool
1412:       eq(const char_type& __c1, const char_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr bool
1412:       lt(const char_type& __c1, const char_type& __c2) noexcept
1412:       { return __c1 < __c2; }
1412: 
1412:       static constexpr int
1412:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return 0;
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
1412: 
1412:  return wmemcmp(__s1, __s2, __n);
1412:       }
1412: 
1412:       static constexpr size_t
1412:       length(const char_type* __s)
1412:       {
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __gnu_cxx::char_traits<char_type>::length(__s);
1412: 
1412:  return wcslen(__s);
1412:       }
1412: 
1412:       static constexpr const char_type*
1412:       find(const char_type* __s, size_t __n, const char_type& __a)
1412:       {
1412:  if (__n == 0)
1412:    return 0;
1412: 
1412:  if (std::__is_constant_evaluated())
1412:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1412: 
1412:  return wmemchr(__s, __a, __n);
1412:       }
1412: 
1412:       static char_type*
1412:       move(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return wmemmove(__ence_wrapper<const _Tp>
1417:     cref(reference_wrapper<_Tp> __t) noexcept
1417:     { return { __t.get() }; }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 52 "/usr/include/c++/12/string" 2 3
1417: # 1 "/usr/include/c++/12/bits/range_access.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/range_access.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/range_access.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     begin(_Container& __cont) -> decltype(__cont.begin())
1417:     { return __cont.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     begin(const _Container& __cont) -> decltype(__cont.begin())
1417:     { return __cont.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     end(_Container& __cont) -> decltype(__cont.end())
1417:     { return __cont.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     end(const _Container& __cont) -> decltype(__cont.end())
1417:     { return __cont.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:     [[__nodiscard__]]
1417:     inline constexpr _Tp*
1417:     begin(_Tp (&__arr)[_Nm]) noexcept
1417:     { return __arr; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:     [[__nodiscard__]]
1417:     inline constexpr _Tp*
1417:     end(_Tp (&__arr)[_Nm]) noexcept
1417:     { return __arr + _Nm; }
1417: 
1417: 
1417: 
1417:   template<typename _Tp> class valarray;
1417: 
1417:   template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
1417:   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
1417:   template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
1417:   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     constexpr auto
1417:     cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
1417:       -> decltype(std::begin(__cont))
1417:     { return std::begin(__cont); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     constexpr auto
1417:     cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
1417:       -> decltype(std::end(__cont))
1417:     { return std::end(__cont); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     rbegin(_Container& __cont) -> decltype(__cont.rbegin())
1417:     { return __cont.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     rbegin(const _Container& __cont) -> decltype(__cont.rbegin())
1417:     { return __cont.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     rend(_Container& __cont) -> decltype(__cont.rend())
1417:     { return __cont.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     rend(const _Container& __cont) -> decltype(__cont.rend())
1417:     { return __cont.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:     [[__nodiscard__]]
1417:     inline constexpr reverse_iterator<_Tp*>
1417:     rbegin(_Tp (&__arr)[_Nm]) noexcept
1417:     { return reverse_iterator<_Tp*>(__arr + _Nm); }
1417: 12/system_error" 3
609:   inline bool
609:   operator<(const error_condition& __lhs,
609:      const error_condition& __rhs) noexcept
609:   {
609:     return (__lhs.category() < __rhs.category()
609:      || (__lhs.category() == __rhs.category()
609:   && __lhs.value() < __rhs.value()));
609:   }
609: 
609: 
609:   inline bool
609:   operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
609:   {
609:     return (__rhs.category().equivalent(__rhs.value(), __lhs)
609:      || __lhs.category().equivalent(__rhs, __lhs.value()));
609:   }
609: 
609: 
609:   inline bool
609:   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
609:   { return !(__lhs == __rhs); }
609: 
609: 
609:   inline bool
609:   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
609:   { return !(__lhs == __rhs); }
609: 
609: 
609:   inline bool
609:   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
609:   { return !(__lhs == __rhs); }
609: 
609: 
609:   inline bool
609:   operator!=(const error_condition& __lhs,
609:       const error_condition& __rhs) noexcept
609:   { return !(__lhs == __rhs); }
609: # 446 "/usr/include/c++/12/system_error" 3
609:   class system_error : public std::runtime_error
609:   {
609:   private:
609:     error_code _M_code;
609: 
609:   public:
609:     system_error(error_code __ec = error_code())
609:     : runtime_error(__ec.message()), _M_code(__ec) { }
609: 
609:     system_error(error_code __ec, const string& __what)
609:     : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { }
609: 
609:     system_error(error_code __ec, const char* __what)
609:     : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
609: 
609:     system_error(int __v, const error_category& __ecat, const char* __what)
609:     : system_error(error_code(__v, __ecat), __what) { }
609: 
609:     system_error(int __v, const error_category& __ecat)
609:     : runtime_error(error_code(__v, __ecat).message()),
609:       _M_code(__v, __ecat) { }
609: 
609:     system_error(int __v, const error_category& __ecat, const string& __what)
609:     : runtime_error(__what + ": " + error_code(__v, __ecat).message()),
609:       _M_code(__v, __ecat) { }
609: 
609: 
609:     system_error (const system_error &) = default;
609:     system_error &operator= (const system_error &) = default;
609: 
609: 
609:     virtual ~system_error() noexcept;
609: 
609:     const error_code&
609:     code() const noexcept { return _M_code; }
609:   };
609: 
609: 
609: }
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct hash<error_code>
609:     : public __hash_base<size_t, error_code>
609:     {
609:       size_t
609:       operator()(const error_code& __e) const noexcept
609:       {
609:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
609:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
609:       }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct hash<error_condition>
609:     : public __hash_base<size_t, error_condition>
609:     {
609:       size_t
609:       operator()(const error_condition& __e) const noexcept
609:       {
609:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
609:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
609:       }
609:     };
609: 
609: 
609: 
609: }
609: # 42 "/usr/include/c++/12/mutex" 2 3
609: # 1 "/usr/include/c++/12/bits/chrono.h" 1 3
609: # 33 "/usr/include/c++/12/bits/chrono.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/chrono.h" 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/ratio" 1 3
609: # 33 "/usr/include/c++/12/ratio" 3
609:        
609: # 34 "/usr/include/c++/12/ratio" 3
609: # 42 "/usr/include/c++/12/ratio" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 56 "/usr/include/c++/12/ratio" 3
609:   template<intmax_t _Pn>
609:     struct __static_sign
609:     : integral_constant<intmax_t
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:     [[__nodiscard__]]
1417:     inline constexpr reverse_iterator<_Tp*>
1417:     rend(_Tp (&__arr)[_Nm]) noexcept
1417:     { return reverse_iterator<_Tp*>(__arr); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]]
1417:     inline constexpr reverse_iterator<const _Tp*>
1417:     rbegin(initializer_list<_Tp> __il) noexcept
1417:     { return reverse_iterator<const _Tp*>(__il.end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]]
1417:     inline constexpr reverse_iterator<const _Tp*>
1417:     rend(initializer_list<_Tp> __il) noexcept
1417:     { return reverse_iterator<const _Tp*>(__il.begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont))
1417:     { return std::rbegin(__cont); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Container>
1417:     [[__nodiscard__]]
1417:     inline constexpr auto
1417:     crend(const _Container& __cont) -> decltype(std::rend(__cont))
1417:     { return std::rend(__cont); }
1417: # 261 "/usr/include/c++/12/bits/range_access.h" 3
1417:   template <typename _Container>
1417:     [[nodiscard]]
1417:     constexpr auto
1417:     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
1417:     -> decltype(__cont.size())
1417:     { return __cont.size(); }
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, size_t _Nm>
1417:     [[nodiscard]]
1417:     constexpr size_t
1417:     size(const _Tp (&)[_Nm]) noexcept
1417:     { return _Nm; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Container>
1417:     [[nodiscard]] constexpr auto
1417:     empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
1417:     -> decltype(__cont.empty())
1417:     { return __cont.empty(); }
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, size_t _Nm>
1417:     [[nodiscard]] constexpr bool
1417:     empty(const _Tp (&)[_Nm]) noexcept
1417:     { return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp>
1417:     [[nodiscard]] constexpr bool
1417:     empty(initializer_list<_Tp> __il) noexcept
1417:     { return __il.size() == 0;}
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Container>
1417:     [[nodiscard]]
1417:     constexpr auto
1417:     data(_Container& __cont) noexcept(noexcept(__cont.data()))
1417:     -> decltype(__cont.data())
1417:     { return __cont.data(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Container>
1417:     [[nodiscard]]
1417:     constexpr auto
1417:     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
1417:     -> decltype(__cont.data())
1417:     { return __cont.data(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, size_t _Nm>
1417:     [[nodiscard]]
1417:     constexpr _Tp*
1417:     data(_Tp (&__array)[_Nm]) noexcept
1417:     { return __array; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp>
1417:     [[nodiscard]]
1417:     constexpr const _Tp*
1417:     data(initializer_list<_Tp> __il) noexcept
1417:     { return __il.begin(); }
1417: # 367 "/usr/include/c++/12/bits/range_access.h" 3
1417: 
1417: }
1417: # 53 "/usr/include/c++/12/string" 2 3
1417: # 1 "/usr/include/c++/12/bits/basic_string.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/basic_string.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/basic_string.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/ext/alloc_traits.h" 1 3
1417: # 32 "/usr/include/c++/12/ext/alloc_traits.h" 3
1417:        
1417: # 33 "/usr/include/c++/12/ext/alloc_traits.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/alloc_traits.h" 1 3
1417: # 41 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
s1, __s2, __n);
1412:       }
1412: 
1412:       static char_type*
1412:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return wmemcpy(__s1, __s2, __n);
1412:       }
1412: 
1412:       static char_type*
1412:       assign(char_type* __s, size_t __n, char_type __a)
1412:       {
1412:  if (__n == 0)
1412:    return __s;
1412: 
1412: 
1412: 
1412: 
1412:  return wmemset(__s, __a, __n);
1412:       }
1412: 
1412:       static constexpr char_type
1412:       to_char_type(const int_type& __c) noexcept
1412:       { return char_type(__c); }
1412: 
1412:       static constexpr int_type
1412:       to_int_type(const char_type& __c) noexcept
1412:       { return int_type(__c); }
1412: 
1412:       static constexpr bool
1412:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr int_type
1412:       eof() noexcept
1412:       { return static_cast<int_type>((0xffffffffu)); }
1412: 
1412:       static constexpr int_type
1412:       not_eof(const int_type& __c) noexcept
1412:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1412:   };
1412: # 726 "/usr/include/c++/12/bits/char_traits.h" 3
1412: 
1412: }
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/cstdint" 1 3
1412: # 32 "/usr/include/c++/12/cstdint" 3
1412:        
1412: # 33 "/usr/include/c++/12/cstdint" 3
1412: # 41 "/usr/include/c++/12/cstdint" 3
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 1 3 4
1412: # 9 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 3 4
1412: # 1 "/usr/include/stdint.h" 1 3 4
1412: # 26 "/usr/include/stdint.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1412: # 27 "/usr/include/stdint.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1412: # 28 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1412: # 29 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1412: 
1412: 
1412: typedef unsigned char __u_char;
1412: typedef unsigned short int __u_short;
1412: typedef unsigned int __u_int;
1412: typedef unsigned long int __u_long;
1412: 
1412: 
1412: typedef signed char __int8_t;
1412: typedef unsigned char __uint8_t;
1412: typedef signed short int __int16_t;
1412: typedef unsigned short int __uint16_t;
1412: typedef signed int __int32_t;
1412: typedef unsigned int __uint32_t;
1412: 
1412: 
1412: 
1412: 
1412: __extension__ typedef signed long long int __int64_t;
1412: __extension__ typedef unsigned long long int __uint64_t;
1412: 
1412: 
1412: 
1412: typedef __int8_t __int_least8_t;
1412: typedef __uint8_t __uint_least8_t;
1412: typedef __int16_t __int_least16_t;
1412: typedef __uint16_t __uint_least16_t;
1412: typedef __int32_t __int_least32_t;
1412: typedef __uint32_t __uint_least32_t;
1412: typedef __int64_t __int_least64_t;
1412: typedef __uint64_t __uint_least64_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: __extension__ typedef long long int __quad_t;
1412: __extension__ typedef unsigned long long int __u_quad_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: __extension__ typedef long long int __intmax_t;
1412: __extension__ typedef unsigned long long int __uintmax_t;
1412: # 141 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/typesizes.h" 1 3 4
1412: # 142 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/time64.h" 1 3 4
1412: # 143 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1412: 
1412: 
1412: __extension__ typedef __uint64_t __dev_t;
1412: __extension__ typedef unsigned int __uid_t;
1412: __extension__ typedef unsigned int __gid_t;
1412: __extension__ typedef unsigned long int __ino_t;
1412: __extension__ typedef __uint64_t __ino64_t;
14, (_Pn < 0) ? -1 : 1>
609:     { };
609: 
609:   template<intmax_t _Pn>
609:     struct __static_abs
609:     : integral_constant<intmax_t, _Pn * __static_sign<_Pn>::value>
609:     { };
609: 
609:   template<intmax_t _Pn, intmax_t _Qn>
609:     struct __static_gcd
609:     : __static_gcd<_Qn, (_Pn % _Qn)>
609:     { };
609: 
609:   template<intmax_t _Pn>
609:     struct __static_gcd<_Pn, 0>
609:     : integral_constant<intmax_t, __static_abs<_Pn>::value>
609:     { };
609: 
609:   template<intmax_t _Qn>
609:     struct __static_gcd<0, _Qn>
609:     : integral_constant<intmax_t, __static_abs<_Qn>::value>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<intmax_t _Pn, intmax_t _Qn>
609:     struct __safe_multiply
609:     {
609:     private:
609:       static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
609: 
609:       static const uintmax_t __a0 = __static_abs<_Pn>::value % __c;
609:       static const uintmax_t __a1 = __static_abs<_Pn>::value / __c;
609:       static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
609:       static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
609: 
609:       static_assert(__a1 == 0 || __b1 == 0,
609:       "overflow in multiplication");
609:       static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1),
609:       "overflow in multiplication");
609:       static_assert(__b0 * __a0 <= 0x7fffffffffffffffLL,
609:       "overflow in multiplication");
609:       static_assert((__a0 * __b1 + __b0 * __a1) * __c
609:       <= 0x7fffffffffffffffLL - __b0 * __a0,
609:       "overflow in multiplication");
609: 
609:     public:
609:       static const intmax_t value = _Pn * _Qn;
609:     };
609: 
609: 
609: 
609:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
609:     struct __big_less
609:     : integral_constant<bool, (__hi1 < __hi2
609:           || (__hi1 == __hi2 && __lo1 < __lo2))>
609:     { };
609: 
609:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
609:     struct __big_add
609:     {
609:       static constexpr uintmax_t __lo = __lo1 + __lo2;
609:       static constexpr uintmax_t __hi = (__hi1 + __hi2 +
609:       (__lo1 + __lo2 < __lo1));
609:     };
609: 
609: 
609:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
609:     struct __big_sub
609:     {
609:       static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value,
609:       "Internal library error");
609:       static constexpr uintmax_t __lo = __lo1 - __lo2;
609:       static constexpr uintmax_t __hi = (__hi1 - __hi2 -
609:       (__lo1 < __lo2));
609:     };
609: 
609: 
609:   template<uintmax_t __x, uintmax_t __y>
609:     struct __big_mul
609:     {
609:     private:
609:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
609:       static constexpr uintmax_t __x0 = __x % __c;
609:       static constexpr uintmax_t __x1 = __x / __c;
609:       static constexpr uintmax_t __y0 = __y % __c;
609:       static constexpr uintmax_t __y1 = __y / __c;
609:       static constexpr uintmax_t __x0y0 = __x0 * __y0;
609:       static constexpr uintmax_t __x0y1 = __x0 * __y1;
609:       static constexpr uintmax_t __x1y0 = __x1 * __y0;
609:       static constexpr uintmax_t __x1y1 = __x1 * __y1;
609:       static constexpr uintmax_t __mix = __x0y1 + __x1y0;
609:       static constexpr uintmax_t __mix_lo = __mix * __c;
609:       static constexpr uintmax_t __mix_hi
609:       = __mix / __c + ((__mix < __x0y1) ? __c : 0);
609:       typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res;
609:     public:
609:       static constexpr uintmax_t __hi = _Res::__hi;
609:       static constexpr uintmax_t __lo = _Res::__lo;
609:     };
609: 
609: 
609: 
609:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
609:     struct __big_div_impl
609:     {
609:     private:
609:       static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)),
609:       "Internal library error");
609:       static_assert(__n1 < __d, "Internal library error");
609:       static cons1417: 
1417:   struct __allocator_traits_base
1417:   {
1417:     template<typename _Tp, typename _Up, typename = void>
1417:       struct __rebind : __replace_first_arg<_Tp, _Up> { };
1417: 
1417:     template<typename _Tp, typename _Up>
1417:       struct __rebind<_Tp, _Up,
1417:         __void_t<typename _Tp::template rebind<_Up>::other>>
1417:       { using type = typename _Tp::template rebind<_Up>::other; };
1417: 
1417:   protected:
1417:     template<typename _Tp>
1417:       using __pointer = typename _Tp::pointer;
1417:     template<typename _Tp>
1417:       using __c_pointer = typename _Tp::const_pointer;
1417:     template<typename _Tp>
1417:       using __v_pointer = typename _Tp::void_pointer;
1417:     template<typename _Tp>
1417:       using __cv_pointer = typename _Tp::const_void_pointer;
1417:     template<typename _Tp>
1417:       using __pocca = typename _Tp::propagate_on_container_copy_assignment;
1417:     template<typename _Tp>
1417:       using __pocma = typename _Tp::propagate_on_container_move_assignment;
1417:     template<typename _Tp>
1417:       using __pocs = typename _Tp::propagate_on_container_swap;
1417:     template<typename _Tp>
1417:       using __equal = typename _Tp::is_always_equal;
1417:   };
1417: 
1417:   template<typename _Alloc, typename _Up>
1417:     using __alloc_rebind
1417:       = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
1417: # 89 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:   template<typename _Alloc>
1417:     struct allocator_traits : __allocator_traits_base
1417:     {
1417: 
1417:       typedef _Alloc allocator_type;
1417: 
1417:       typedef typename _Alloc::value_type value_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
1417: 
1417:     private:
1417: 
1417:       template<template<typename> class _Func, typename _Tp, typename = void>
1417:  struct _Ptr
1417:  {
1417:    using type = typename pointer_traits<pointer>::template rebind<_Tp>;
1417:  };
1417: 
1417:       template<template<typename> class _Func, typename _Tp>
1417:  struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
1417:  {
1417:    using type = _Func<_Alloc>;
1417:  };
1417: 
1417: 
1417:       template<typename _A2, typename _PtrT, typename = void>
1417:  struct _Diff
1417:  { using type = typename pointer_traits<_PtrT>::difference_type; };
1417: 
1417:       template<typename _A2, typename _PtrT>
1417:  struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
1417:  { using type = typename _A2::difference_type; };
1417: 
1417: 
1417:       template<typename _A2, typename _DiffT, typename = void>
1417:  struct _Size : make_unsigned<_DiffT> { };
1417: 
1417:       template<typename _A2, typename _DiffT>
1417:  struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
1417:  { using type = typename _A2::size_type; };
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using void_pointer = typename _Ptr<__v_pointer, void>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using difference_type = typename _Diff<_Alloc, pointer>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using size_type = typename _Size<_Alloc, difference_type>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using propagate_on_container_copy_assignment
1417:  = __detected_or_t<false_type, __pocca, _Alloc>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using propagate_on_container_move_assignment
1417:  = __detected_or_t<false_type, __pocma, _Alloc>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using propagate_on_container_swap
1417:  = __detected_or_t<false_type, __pocs, _Alloc>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using is_always_equal
1417:  = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>;
1417: 
1417:       template<typename _Tp>
1417:  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
1417:       template<typename _Tp>
1417:  using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
1417: 
1417:     private:
1417:       template<typename _Alloc2>
1417:  static constexpr auto
1417:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int)
1417:  -> decltype(__a.allocate(__n, __hint))
1417:  { return __a.allocate(__n, __hint); }
1417: 
1417:       template<typename _Alloc2>
1417:  static constexpr pointer
1417:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...)
1417:  { return __a.allocate(__n); }
1417: 
1417:       template<typename _Tp, typename... _Args>
1417:  struct __construct_helper
1417:  {
1417:    template<typename _Alloc2,
1417:      typename = decltype(std::declval<_Alloc2*>()->construct(
1417:     std::declval<_Tp*>(), std::declval<_Args>()...))>
1417:      static true_type __test(int);
1417: 
1417:    template<typename>
1417:      static false_type __test(...);
1417: 
1417:    using type = decltype(__test<_Alloc>(0));
1417:  };
1417: 
1417:       template<typename _Tp, typename... _Args>
1417:  using __has_construct
1417:    = typename __construct_helper<_Tp, _Args...>::type;
1417: 
1417:       template<typename _Tp, typename... _Args>
1417:  static constexpr _Require<__has_construct<_Tp, _Args...>>
1417:  _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1417:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
1417:  { __a.construct(__p, std::forward<_Args>(__args)...); }
1417: 
1417:       template<typename _Tp, typename... _Args>
1417:  static constexpr
1417:  _Require<__and_<__not_<__has_construct<_Tp, _Args...>>,
1417:           is_constructible<_Tp, _Args...>>>
1417:  _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
1417:  noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value)
1417:  {
1417: 
1417:    ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1417: 
1417: 
1417: 
1417:  }
1417: 
1417:       template<typename _Alloc2, typename _Tp>
1417:  static constexpr auto
1417:  _S_destroy(_Alloc2& __a, _Tp* __p, int)
1417:  noexcept(noexcept(__a.destroy(__p)))
1417:  -> decltype(__a.destroy(__p))
1417:  { __a.destroy(__p); }
1417: 
1417:       template<typename _Alloc2, typename _Tp>
1417:  static constexpr void
1417:  _S_destroy(_Alloc2&, _Tp* __p, ...)
1417:  noexcept(std::is_nothrow_destructible<_Tp>::value)
1417:  { std::_Destroy(__p); }
1417: 
1417:       template<typename _Alloc2>
1417:  static constexpr auto
1417:  _S_max_size(_Alloc2& __a, int)
1417:  -> decltype(__a.max_size())
1417:  { return __a.max_size(); }
1417: 
1417:       template<typename _Alloc2>
1417:  static constexpr size_type
1417:  _S_max_size(_Alloc2&, ...)
1417:  {
1417: 
1417: 
1417:    return __gnu_cxx::__numeric_traits<size_type>::__max
1417:      / sizeof(value_type);
1417:  }
1417: 
1417:       template<typename _Alloc2>
1417:  static constexpr auto
1417:  _S_select(_Alloc2& __a, int)
1417:  -> decltype(__a.select_on_container_copy_construction())
1417:  { return __a.select_on_container_copy_construction(); }
1417: 
1417:       template<typename _Alloc2>
1417:  static constexpr _Alloc2
1417:  _S_select(_Alloc2& __a, ...)
1417:  { return __a; }
1417: 
1417:     public:
1417: # 316 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       [[__nodiscard__]] static pointer
1417:       allocate(_Alloc& __a, size_type __n)
1417:       { return __a.allocate(__n); }
1417: # 331 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       [[__nodiscard__]] static pointer
1417:       allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
1417:       { return _S_allocate(__a, __n, __hint, 0); }
1417: # 343 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       static void
1417:       deallocate(_Alloc& __a, pointer __p, size_type __n)
1417:       { __a.deallocate(__p, __n); }
1417: # 358 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:      12: __extension__ typedef unsigned int __mode_t;
1412: __extension__ typedef unsigned int __nlink_t;
1412: __extension__ typedef long int __off_t;
1412: __extension__ typedef __int64_t __off64_t;
1412: __extension__ typedef int __pid_t;
1412: __extension__ typedef struct { int __val[2]; } __fsid_t;
1412: __extension__ typedef long int __clock_t;
1412: __extension__ typedef unsigned long int __rlim_t;
1412: __extension__ typedef __uint64_t __rlim64_t;
1412: __extension__ typedef unsigned int __id_t;
1412: __extension__ typedef long int __time_t;
1412: __extension__ typedef unsigned int __useconds_t;
1412: __extension__ typedef long int __suseconds_t;
1412: __extension__ typedef __int64_t __suseconds64_t;
1412: 
1412: __extension__ typedef int __daddr_t;
1412: __extension__ typedef int __key_t;
1412: 
1412: 
1412: __extension__ typedef int __clockid_t;
1412: 
1412: 
1412: __extension__ typedef void * __timer_t;
1412: 
1412: 
1412: __extension__ typedef long int __blksize_t;
1412: 
1412: 
1412: 
1412: 
1412: __extension__ typedef long int __blkcnt_t;
1412: __extension__ typedef __int64_t __blkcnt64_t;
1412: 
1412: 
1412: __extension__ typedef unsigned long int __fsblkcnt_t;
1412: __extension__ typedef __uint64_t __fsblkcnt64_t;
1412: 
1412: 
1412: __extension__ typedef unsigned long int __fsfilcnt_t;
1412: __extension__ typedef __uint64_t __fsfilcnt64_t;
1412: 
1412: 
1412: __extension__ typedef int __fsword_t;
1412: 
1412: __extension__ typedef int __ssize_t;
1412: 
1412: 
1412: __extension__ typedef long int __syscall_slong_t;
1412: 
1412: __extension__ typedef unsigned long int __syscall_ulong_t;
1412: 
1412: 
1412: 
1412: typedef __off64_t __loff_t;
1412: typedef char *__caddr_t;
1412: 
1412: 
1412: __extension__ typedef int __intptr_t;
1412: 
1412: 
1412: __extension__ typedef unsigned int __socklen_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef int __sig_atomic_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: __extension__ typedef __int64_t __time64_t;
1412: # 28 "/usr/include/stdint.h" 2 3 4
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1412: # 30 "/usr/include/stdint.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 3 4
1412: typedef __int8_t int8_t;
1412: typedef __int16_t int16_t;
1412: typedef __int32_t int32_t;
1412: typedef __int64_t int64_t;
1412: # 35 "/usr/include/stdint.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 3 4
1412: typedef __uint8_t uint8_t;
1412: typedef __uint16_t uint16_t;
1412: typedef __uint32_t uint32_t;
1412: typedef __uint64_t uint64_t;
1412: # 38 "/usr/include/stdint.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __int_least8_t int_least8_t;
1412: typedef __int_least16_t int_least16_t;
1412: typedef __int_least32_t int_least32_t;
1412: typedef __int_least64_t int_least64_t;
1412: 
1412: 
1412: typedef __uint_least8_t uint_least8_t;
1412: typedef __uint_least16_t uint_least16_t;
1412: typedef __uint_least32_t uint_least32_t;
1412: typedef __uint_least64_t uint_least64_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef signed char int_fast8_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef int int_fast16_t;
1412: typedef int int_fast32_t;
1412: __extension__
1412: typedef long long int int_fast64_t;
1412: 
1412: 
1412: 
1412: typedef unsigned char uint_fast8_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef unsigned int uint_fast16_t;
1412: typedef unsigned int uint_fast32_t;
1412: __extension__
1412: typedef unsigned long long int uint_fast64_t;
1412: # 93 "/usr/include/stdint.h" 3 4
1412: typedef int intptr_t;
1412: 
1412: 
1412: typedef unsigned int uintptr_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __intmax_t intmax_t;
1412: typedef __uintmax_t uintmax_t;
1412: # 10 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 2 3 4
1412: # 42 "/usr/include/c++/12/cstdint" 2 3
1412: 
1412: 
1412: namespace stdtexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
609:       static constexpr uintmax_t __d1 = __d / __c;
609:       static constexpr uintmax_t __d0 = __d % __c;
609: 
609:       static constexpr uintmax_t __q1x = __n1 / __d1;
609:       static constexpr uintmax_t __r1x = __n1 % __d1;
609:       static constexpr uintmax_t __m = __q1x * __d0;
609:       static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c;
609:       static constexpr uintmax_t __r1z = __r1y + __d;
609:       static constexpr uintmax_t __r1
609:       = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m))
609:   ? (__r1z + __d) : __r1z : __r1y) - __m;
609:       static constexpr uintmax_t __q1
609:       = __q1x - ((__r1y < __m)
609:    ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0);
609:       static constexpr uintmax_t __q0x = __r1 / __d1;
609:       static constexpr uintmax_t __r0x = __r1 % __d1;
609:       static constexpr uintmax_t __n = __q0x * __d0;
609:       static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c;
609:       static constexpr uintmax_t __r0z = __r0y + __d;
609:       static constexpr uintmax_t __r0
609:       = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n))
609:   ? (__r0z + __d) : __r0z : __r0y) - __n;
609:       static constexpr uintmax_t __q0
609:       = __q0x - ((__r0y < __n) ? ((__r0z >= __d)
609:       && (__r0z < __n)) ? 2 : 1 : 0);
609: 
609:     public:
609:       static constexpr uintmax_t __quot = __q1 * __c + __q0;
609:       static constexpr uintmax_t __rem = __r0;
609: 
609:     private:
609:       typedef __big_mul<__quot, __d> _Prod;
609:       typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum;
609:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
609:       "Internal library error");
609:   };
609: 
609:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
609:     struct __big_div
609:     {
609:     private:
609:       static_assert(__d != 0, "Internal library error");
609:       static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
609:       "This library calls __builtin_clzll on uintmax_t, which "
609:       "is unsafe on your platform. Please complain to "
609:       "http://gcc.gnu.org/bugzilla/");
609:       static constexpr int __shift = __builtin_clzll(__d);
609:       static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
609:       static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;
609:       static constexpr uintmax_t __c1 = uintmax_t(1) << __shift;
609:       static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift;
609:       static constexpr uintmax_t __new_d = __d * __c1;
609:       static constexpr uintmax_t __new_n0 = __n0 * __c1;
609:       static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1;
609:       static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0;
609:       static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top;
609:       typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res;
609: 
609:     public:
609:       static constexpr uintmax_t __quot_hi = __n1 / __d;
609:       static constexpr uintmax_t __quot_lo = _Res::__quot;
609:       static constexpr uintmax_t __rem = _Res::__rem / __c1;
609: 
609:     private:
609:       typedef __big_mul<__quot_lo, __d> _P0;
609:       typedef __big_mul<__quot_hi, __d> _P1;
609:       typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum;
609: 
609:       static_assert(_P1::__hi == 0, "Internal library error");
609:       static_assert(_Sum::__hi >= _P0::__hi, "Internal library error");
609: 
609:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
609:       "Internal library error");
609:       static_assert(__rem < __d, "Internal library error");
609:     };
609: # 265 "/usr/include/c++/12/ratio" 3
609:   template<intmax_t _Num, intmax_t _Den = 1>
609:     struct ratio
609:     {
609:       static_assert(_Den != 0, "denominator cannot be zero");
609:       static_assert(_Num >= -0x7fffffffffffffffLL && _Den >= -0x7fffffffffffffffLL,
609:       "out of range");
609: 
609: 
609:       static const template<typename _Tp, typename... _Args>
1417:  static auto
1417:  construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1417:  noexcept(noexcept(_S_construct(__a, __p,
1417:            std::forward<_Args>(__args)...)))
1417:  -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
1417:  { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
1417: # 374 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       template<typename _Tp>
1417:  static void
1417:  destroy(_Alloc& __a, _Tp* __p)
1417:  noexcept(noexcept(_S_destroy(__a, __p, 0)))
1417:  { _S_destroy(__a, __p, 0); }
1417: # 388 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       static size_type
1417:       max_size(const _Alloc& __a) noexcept
1417:       { return _S_max_size(__a, 0); }
1417: # 400 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       static _Alloc
1417:       select_on_container_copy_construction(const _Alloc& __rhs)
1417:       { return _S_select(__rhs, 0); }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct allocator_traits<allocator<_Tp>>
1417:     {
1417: 
1417:       using allocator_type = allocator<_Tp>;
1417: 
1417: 
1417:       using value_type = _Tp;
1417: 
1417: 
1417:       using pointer = _Tp*;
1417: 
1417: 
1417:       using const_pointer = const _Tp*;
1417: 
1417: 
1417:       using void_pointer = void*;
1417: 
1417: 
1417:       using const_void_pointer = const void*;
1417: 
1417: 
1417:       using difference_type = std::ptrdiff_t;
1417: 
1417: 
1417:       using size_type = std::size_t;
1417: 
1417: 
1417:       using propagate_on_container_copy_assignment = false_type;
1417: 
1417: 
1417:       using propagate_on_container_move_assignment = true_type;
1417: 
1417: 
1417:       using propagate_on_container_swap = false_type;
1417: 
1417: 
1417:       using is_always_equal = true_type;
1417: 
1417:       template<typename _Up>
1417:  using rebind_alloc = allocator<_Up>;
1417: 
1417:       template<typename _Up>
1417:  using rebind_traits = allocator_traits<allocator<_Up>>;
1417: # 462 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       [[__nodiscard__]] static pointer
1417:       allocate(allocator_type& __a, size_type __n)
1417:       { return __a.allocate(__n); }
1417: # 476 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       [[__nodiscard__]] static pointer
1417:       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
1417:       {
1417: 
1417:  return __a.allocate(__n, __hint);
1417: 
1417: 
1417: 
1417:       }
1417: # 494 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       static void
1417:       deallocate(allocator_type& __a, pointer __p, size_type __n)
1417:       { __a.deallocate(__p, __n); }
1417: # 509 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       template<typename _Up, typename... _Args>
1417:  static void
1417:  construct(allocator_type& __a __attribute__((__unused__)), _Up* __p,
1417:     _Args&&... __args)
1417:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1417:  {
1417: 
1417:    __a.construct(__p, std::forward<_Args>(__args)...);
1417: 
1417: 
1417: 
1417:  }
1417: # 529 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       template<typename _Up>
1417:  static void
1417:  destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
1417:  noexcept(is_nothrow_destructible<_Up>::value)
1417:  {
1417: 
1417:    __a.destroy(__p);
1417: 
1417: 
1417: 
1417:  }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static size_type
1417:       max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
1417:       {
1417: 
1417:  return __a.max_size();
1417: 
1417: 
1417: 
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static allocator_type
1417:       select_on_container_copy_construction(const allocator_type& __rhs)
1417:       { return __rhs; }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct allocator_traits<allocator<void>>
1417:     {
1417: 
1417:       using allocator_type = allocator<void>;
1417: 
1417: 
1417:       using value_type = void;
1417: 
1417: 
1417:       using pointer = void*;
1417: 
1417: 
1417:       using const_pointer = const void*;
1417: 
1417: 
1417:       using void_pointer = void*;
1417: 
1417: 
1417:       using const_void_pointer = const void*;
1417: 
1417: 
1417:       using difference_type = std::ptrdiff_t;
1417: 
1417: 
1417:       using size_type = std::size_t;
1417: 
1417: 
1417:       using propagate_on_container_copy_assignment = false_type;
1417: 
1417: 
1417:       using propagate_on_container_move_assignment = true_type;
1417: 
1417: 
1417:       using propagate_on_container_swap = false_type;
1417: 
1417: 
1417:       using is_always_equal = true_type;
1417: 
1417:       template<typename _Up>
1417:  using rebind_alloc = allocator<_Up>;
1417: 
1417:       template<typename _Up>
1417:  using rebind_traits = allocator_traits<allocator<_Up>>;
1417: 
1417: 
1417:       static void*
1417:       allocate(allocator_type&, size_type, const void* = nullptr) = delete;
1417: 
1417: 
1417:       static void
1417:       deallocate(allocator_type&, void*, size_type) = delete;
1417: # 631 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       template<typename _Up, typename... _Args>
1417:  static void
1417:  construct(allocator_type&, _Up* __p, _Args&&... __args)
1417:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1417:  { std::_Construct(__p, std::forward<_Args>(__args)...); }
1417: # 644 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:       template<typename _Up>
1417:  static void
1417:  destroy(allocator_type&, _Up* __p)
1417:  noexcept(is_nothrow_destructible<_Up>::value)
1417:  { std::_Destroy(__p); }
1417: 
1417: 
1417:       static size_type
1417:       max_size(const allocator_type&) = delete;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static allocator_type
1417:       select_on_container_copy_construction(const allocator_type& __rhs)
1417:       { return __rhs; }
1417:     };
1417: # 676 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:   template<typename _Alloc>
1417:     constexpr inline void
1417:     __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
1417:     {
1417:       typedef allocator_traits<_Alloc> __traits;
1417:       typedef typename __traits::propagate_on_container_copy_assignment __pocca;
1417: 
1417:       if constexpr (__pocca::value)
1417:  __one = __two;
1417: 
1417: 
1417: 
1417:     }
1417: 
1417:   template<typename _Alloc>
1417:     constexpr _Alloc
1417:     __alloc_on_copy(const _Alloc& __a)
1417:     {
1417:       typedef allocator_traits<_Alloc> __traits;
1417:       return __traits::select_on_container_copy_construction(__a);
1417:     }
1417: # 708 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:   template<typename _Alloc>
1417:     constexpr inline void
1417:     __alloc_on_move(_Alloc& __one, _Alloc& __two)
1417:     {
1417:       typedef allocator_traits<_Alloc> __traits;
1417:       typedef typename __traits::propagate_on_container_move_assignment __pocma;
1417: 
1417:       if constexpr (__pocma::value)
1417:  __one = std::move(__two);
1417: 
1417: 
1417: 
1417:     }
1417: # 735 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:   template<typename _Alloc>
1417:     constexpr inline void
1417:     __alloc_on_swap(_Alloc& __one, _Alloc& __two)
1417:     {
1417:       typedef allocator_traits<_Alloc> __traits;
1417:       typedef typename __traits::propagate_on_container_swap __pocs;
1417: 
1417:       if constexpr (__pocs::value)
1417:  {
1417:    using std::swap;
1417:    swap(__one, __two);
1417:  }
1417: 
1417: 
1417: 
1417:     }
1417: 
1417:   template<typename _Alloc, typename _Tp,
1417:     typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
1417:     typename = void>
1417:     struct __is_alloc_insertable_impl
1417:     : false_type
1417:     { };
1417: 
1417:   template<typename _Alloc, typename _Tp, typename _ValueT>
1417:     struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
1417:       __void_t<decltype(allocator_traits<_Alloc>::construct(
1417:      std::declval<_Alloc&>(), std::declval<_ValueT*>(),
1417:   
1412: {
1412: 
1412:   using ::int8_t;
1412:   using ::int16_t;
1412:   using ::int32_t;
1412:   using ::int64_t;
1412: 
1412:   using ::int_fast8_t;
1412:   using ::int_fast16_t;
1412:   using ::int_fast32_t;
1412:   using ::int_fast64_t;
1412: 
1412:   using ::int_least8_t;
1412:   using ::int_least16_t;
1412:   using ::int_least32_t;
1412:   using ::int_least64_t;
1412: 
1412:   using ::intmax_t;
1412:   using ::intptr_t;
1412: 
1412:   using ::uint8_t;
1412:   using ::uint16_t;
1412:   using ::uint32_t;
1412:   using ::uint64_t;
1412: 
1412:   using ::uint_fast8_t;
1412:   using ::uint_fast16_t;
1412:   using ::uint_fast32_t;
1412:   using ::uint_fast64_t;
1412: 
1412:   using ::uint_least8_t;
1412:   using ::uint_least16_t;
1412:   using ::uint_least32_t;
1412:   using ::uint_least64_t;
1412: 
1412:   using ::uintmax_t;
1412:   using ::uintptr_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 732 "/usr/include/c++/12/bits/char_traits.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<>
1412:     struct char_traits<char16_t>
1412:     {
1412:       typedef char16_t char_type;
1412: 
1412:       typedef uint_least16_t int_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef streamoff off_type;
1412:       typedef u16streampos pos_type;
1412:       typedef mbstate_t state_type;
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr void
1412:       assign(char_type& __c1, const char_type& __c2) noexcept
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  __c1 = __c2;
1412:       }
1412: 
1412:       static constexpr bool
1412:       eq(const char_type& __c1, const char_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr bool
1412:       lt(const char_type& __c1, const char_type& __c2) noexcept
1412:       { return __c1 < __c2; }
1412: 
1412:       static constexpr int
1412:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  for (size_t __i = 0; __i < __n; ++__i)
1412:    if (lt(__s1[__i], __s2[__i]))
1412:      return -1;
1412:    else if (lt(__s2[__i], __s1[__i]))
1412:      return 1;
1412:  return 0;
1412:       }
1412: 
1412:       static constexpr size_t
1412:       length(const char_type* __s)
1412:       {
1412:  size_t __i = 0;
1412:  while (!eq(__s[__i], char_type()))
1412:    ++__i;
1412:  return __i;
1412:       }
1412: 
1412:       static constexpr const char_type*
1412:       find(const char_type* __s, size_t __n, const char_type& __a)
1412:       {
1412:  for (size_t __i = 0; __i < __n; ++__i)
1412:    if (eq(__s[__i], __a))
1412:      return __s + __i;
1412:  return 0;
1412:       }
1412: 
1412:       static char_type*
1412:       move(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return (static_cast<char_type*>
1412:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1412:       }
1412: 
1412:       static char_type*
1412:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return (static_cast<char_type*>
1412:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1412:       }
1412: 
1412:       static char_type*
1412:       assign(char_type* __s, size_t __n, char_type __a)
1412:       {
1412:  for (size_t __i = 0; __i < __n; ++__i)
1412:    assign(__s[__i], __a);
1412:  return __s;
1412:       }
1412: 
1412:       static constexpr char_type
1412:       to_char_type(const int_type& __c) noexcept
1412:       { return char_type(__c); }
1412: 
1412:       static constexpr int_type
1412:       to_int_type(const char_type& __c) noexcept
1412:       { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
1412: 
1412:       static constexpr bool
1412:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr int_type
1412:       eof() noexcepexpr intmax_t num =
609:         _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value;
609: 
609:       static constexpr intmax_t den =
609:         __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value;
609: 
609:       typedef ratio<num, den> type;
609:     };
609: # 292 "/usr/include/c++/12/ratio" 3
609:   template<typename _R1, typename _R2>
609:     struct __ratio_multiply
609:     {
609:     private:
609:       static const intmax_t __gcd1 =
609:         __static_gcd<_R1::num, _R2::den>::value;
609:       static const intmax_t __gcd2 =
609:         __static_gcd<_R2::num, _R1::den>::value;
609: 
609:     public:
609:       typedef ratio<
609:         __safe_multiply<(_R1::num / __gcd1),
609:                         (_R2::num / __gcd2)>::value,
609:         __safe_multiply<(_R1::den / __gcd2),
609:                         (_R2::den / __gcd1)>::value> type;
609: 
609:       static constexpr intmax_t num = type::num;
609:       static constexpr intmax_t den = type::den;
609:     };
609: # 323 "/usr/include/c++/12/ratio" 3
609:   template<typename _R1, typename _R2>
609:     using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type;
609: 
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct __ratio_divide
609:     {
609:       static_assert(_R2::num != 0, "division by 0");
609: 
609:       typedef typename __ratio_multiply<
609:         _R1,
609:         ratio<_R2::den, _R2::num>>::type type;
609: 
609:       static constexpr intmax_t num = type::num;
609:       static constexpr intmax_t den = type::den;
609:     };
609: # 352 "/usr/include/c++/12/ratio" 3
609:   template<typename _R1, typename _R2>
609:     using ratio_divide = typename __ratio_divide<_R1, _R2>::type;
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct ratio_equal
609:     : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
609:     { };
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct ratio_not_equal
609:     : integral_constant<bool, !ratio_equal<_R1, _R2>::value>
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename _R1, typename _R2,
609:            typename _Left = __big_mul<_R1::num,_R2::den>,
609:            typename _Right = __big_mul<_R2::num,_R1::den> >
609:     struct __ratio_less_impl_1
609:     : integral_constant<bool, __big_less<_Left::__hi, _Left::__lo,
609:            _Right::__hi, _Right::__lo>::value>
609:     { };
609: 
609:   template<typename _R1, typename _R2,
609:     bool = (_R1::num == 0 || _R2::num == 0
609:      || (__static_sign<_R1::num>::value
609:          != __static_sign<_R2::num>::value)),
609:     bool = (__static_sign<_R1::num>::value == -1
609:      && __static_sign<_R2::num>::value == -1)>
609:     struct __ratio_less_impl
609:     : __ratio_less_impl_1<_R1, _R2>::type
609:     { };
609: 
609:   template<typename _R1, typename _R2>
609:     struct __ratio_less_impl<_R1, _R2, true, false>
609:     : integral_constant<bool, _R1::num < _R2::num>
609:     { };
609: 
609:   template<typename _R1, typename _R2>
609:     struct __ratio_less_impl<_R1, _R2, false, true>
609:     : __ratio_less_impl_1<ratio<-_R2::num, _R2::den>,
609:            ratio<-_R1::num, _R1::den> >::type
609:     { };
609: 
609: 
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct ratio_less
609:     : __ratio_less_impl<_R1, _R2>::type
609:     { };
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct ratio_less_equal
609:     : integral_constant<bool, !ratio_less<_R2, _R1>::value>
609:     { };
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct ratio_greater
609:     : integral_constant<bool, ratio_less<_R2, _R1>::value>
609:     { };
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct ratio_greater_equal
609:     : integral_constant<bool, !ratio_less<_R1, _R2>::value>
609:     { };
609: 
609: 
609:   template <typename _R1, typename _R2>
609:     inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value;
609:   template <typename _R1, typename   std::declval<_Tp>()))>>
1417:     : true_type
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Alloc>
1417:     struct __is_copy_insertable
1417:     : __is_alloc_insertable_impl<_Alloc,
1417:      typename _Alloc::value_type const&>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_copy_insertable<allocator<_Tp>>
1417:     : is_copy_constructible<_Tp>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Alloc>
1417:     struct __is_move_insertable
1417:     : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_move_insertable<allocator<_Tp>>
1417:     : is_move_constructible<_Tp>
1417:     { };
1417: 
1417: 
1417:   template<typename _Alloc, typename = void>
1417:     struct __is_allocator : false_type { };
1417: 
1417:   template<typename _Alloc>
1417:     struct __is_allocator<_Alloc,
1417:       __void_t<typename _Alloc::value_type,
1417:         decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
1417:     : true_type { };
1417: 
1417:   template<typename _Alloc>
1417:     using _RequireAllocator
1417:       = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
1417: 
1417:   template<typename _Alloc>
1417:     using _RequireNotAllocator
1417:       = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
1417: # 829 "/usr/include/c++/12/bits/alloc_traits.h" 3
1417:   template<typename _ForwardIterator, typename _Allocator>
1417:    
1417:     void
1417:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1417:       _Allocator& __alloc)
1417:     {
1417:       for (; __first != __last; ++__first)
1417: 
1417: 
1417: 
1417:  allocator_traits<_Allocator>::destroy(__alloc,
1417:            std::__addressof(*__first));
1417: 
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline void
1417:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1417:       allocator<_Tp>&)
1417:     {
1417:       _Destroy(__first, __last);
1417:     }
1417: 
1417: 
1417: }
1417: # 35 "/usr/include/c++/12/ext/alloc_traits.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template<typename _Alloc, typename = typename _Alloc::value_type>
1417:   struct __alloc_traits
1417: 
1417:   : std::allocator_traits<_Alloc>
1417: 
1417:   {
1417:     typedef _Alloc allocator_type;
1417: 
1417:     typedef std::allocator_traits<_Alloc> _Base_type;
1417:     typedef typename _Base_type::value_type value_type;
1417:     typedef typename _Base_type::pointer pointer;
1417:     typedef typename _Base_type::const_pointer const_pointer;
1417:     typedef typename _Base_type::size_type size_type;
1417:     typedef typename _Base_type::difference_type difference_type;
1417: 
1417:     typedef value_type& reference;
1417:     typedef const value_type& const_reference;
1417:     using _Base_type::allocate;
1417:     using _Base_type::deallocate;
1417:     using _Base_type::construct;
1417:     using _Base_type::destroy;
1417:     using _Base_type::max_size;
1417: 
1417:   private:
1417:     template<typename _Ptr>
1417:       using __is_custom_pointer
1417:  = std::__and_<std::is_same<pointer, _Ptr>,
1417:         std::__not_<std::is_pointer<_Ptr>>>;
1417: 
1417:   public:
1417: 
1417:     template<typename _Ptr, typename... _Args>
1417:       static constexpr
1417:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1417:       construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
1417:       noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
1417:            std::forward<_Args>(__args)...)))
1417:       {
1417:  _Base_type::construct(__a, std::__to_address(__p),
1417:          std::forward<_Args>(__args)...);
1417:       }
1417: 
1417: 
1417:     template<typename _Ptr>
1417:       static constexpr
1417:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1417:       destroy(_Alloc& __a, _Ptr __p)
1417:       noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
1417:       { _Base_type::destroy(__a, std::__to_address(__p)); }
1417: 
1417:     static constexpr _Alloc _S_select_on_copy(const _Alloc& __a)
1417:     { return _Base_type::select_on_container_copy_construction(__a); }
1417: 
1417:     static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
1417:     { std::__alloc_on_swap(__a, __b); }
1417: 
1417:     static constexpr bool _S_propagate_on_copy_assign()
1417:     { return _Base_type::propagate_on_container_copy_assignment::value; }
1417: 
1417:     static constexpr bool _S_propagate_on_move_assign()
1417:     { return _Base_type::propagate_on_container_move_assignment::value; }
1417: 
1417:     static constexpr bool _S_propagate_on_swap()
1417:     { return _Base_type::propagate_on_container_swap::value; }
1417: 
1417:     static constexpr bool _S_always_equal()
1417:     { return _Base_type::is_always_equal::value; }
1417: 
1417:     static constexpr bool _S_nothrow_move()
1417:     { return _S_propagate_on_move_assign() || _S_always_equal(); }
1417: 
1417:     template<typename _Tp>
1417:       struct rebind
1417:       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
1417: # 166 "/usr/include/c++/12/ext/alloc_traits.h" 3
1417:   };
1417: 
1417: 
1417: }
1417: # 40 "/usr/include/c++/12/bits/basic_string.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/string_view" 1 3
1417: # 36 "/usr/include/c++/12/string_view" 3
1417:        
1417: # 37 "/usr/include/c++/12/string_view" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/functional_hash.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/functional_hash.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/functional_hash.h" 3
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 50 "/usr/include/c++/12/bits/functional_hash.h" 3
1417:   template<typename _Result, typename _Arg>
1417:     struct __hash_base
1417:     {
1417:       typedef _Result result_type [[__deprecated__]];
1417:       typedef _Arg argument_type [[__deprecated__]];
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct hash;
1417: 
1417:   template<typename _Tp, typename = void>
1417:     struct __poison_hash
1417:     {
1417:       static constexpr bool __enable_hash_call = false;
1417:     private:
1417: 
1417:       __poison_hash(__poison_hash&&);
1417:       ~__poison_hash();
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct __poison_hash<_Tp, __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
1417:     {
1417:       static constexpr bool __enable_hash_call = true;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, bool = is_enum<_Tp>::value>
1417:     struct __hash_enum
1417:     {
1417:     private:
1417: 
1417:       __hash_enum(__hash_enum&&);
1417:       ~__hash_enum();
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp>
1417:     {
1417:       size_t
1417:       operator()(_Tp __val) const noexcept
1417:       {
1417:        using __type = typename underlying_type<_Tp>::type;
1417:        return hash<__type>{}(static_cast<__type>(__val));
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct hash : __hash_enum<_Tp>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
1417:     {
1417:       size_t
1417:       operator()(_Tp* __p) const noexcept
1417:       { return reinterpret_cast<size_t>(__p); }
1417:     };
1417: # 125 "/usr/include/c++/12/bits/functional_hash.h" 3
1417:   template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char t
1412:       { return static_cast<int_type>(-1); }
1412: 
1412:       static constexpr int_type
1412:       not_eof(const int_type& __c) noexcept
1412:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1412:     };
1412: 
1412:   template<>
1412:     struct char_traits<char32_t>
1412:     {
1412:       typedef char32_t char_type;
1412: 
1412:       typedef uint_least32_t int_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef streamoff off_type;
1412:       typedef u32streampos pos_type;
1412:       typedef mbstate_t state_type;
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr void
1412:       assign(char_type& __c1, const char_type& __c2) noexcept
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  __c1 = __c2;
1412:       }
1412: 
1412:       static constexpr bool
1412:       eq(const char_type& __c1, const char_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr bool
1412:       lt(const char_type& __c1, const char_type& __c2) noexcept
1412:       { return __c1 < __c2; }
1412: 
1412:       static constexpr int
1412:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  for (size_t __i = 0; __i < __n; ++__i)
1412:    if (lt(__s1[__i], __s2[__i]))
1412:      return -1;
1412:    else if (lt(__s2[__i], __s1[__i]))
1412:      return 1;
1412:  return 0;
1412:       }
1412: 
1412:       static constexpr size_t
1412:       length(const char_type* __s)
1412:       {
1412:  size_t __i = 0;
1412:  while (!eq(__s[__i], char_type()))
1412:    ++__i;
1412:  return __i;
1412:       }
1412: 
1412:       static constexpr const char_type*
1412:       find(const char_type* __s, size_t __n, const char_type& __a)
1412:       {
1412:  for (size_t __i = 0; __i < __n; ++__i)
1412:    if (eq(__s[__i], __a))
1412:      return __s + __i;
1412:  return 0;
1412:       }
1412: 
1412:       static char_type*
1412:       move(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return (static_cast<char_type*>
1412:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1412:       }
1412: 
1412:       static char_type*
1412:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1412:       {
1412:  if (__n == 0)
1412:    return __s1;
1412: 
1412: 
1412: 
1412: 
1412:  return (static_cast<char_type*>
1412:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1412:       }
1412: 
1412:       static char_type*
1412:       assign(char_type* __s, size_t __n, char_type __a)
1412:       {
1412:  for (size_t __i = 0; __i < __n; ++__i)
1412:    assign(__s[__i], __a);
1412:  return __s;
1412:       }
1412: 
1412:       static constexpr char_type
1412:       to_char_type(const int_type& __c) noexcept
1412:       { return char_type(__c); }
1412: 
1412:       static constexpr int_type
1412:       to_int_type(const char_type& __c) noexcept
1412:       { return int_type(__c); }
1412: 
1412:       static constexpr bool
1412:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1412:       { return __c1 == __c2; }
1412: 
1412:       static constexpr int_type
1412:       eof() noexcept
1412:       { return static_cast<int_type>(-1); }
1412: 
1412:       static constexpr int_type
1412:       not_eof(const int_type& __c) noexcept
1412:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1412:     };
1412: # 998 "/usr/include/c++/12/bits/char_traits.h" 3
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: }
1412: # 41 "/usr/include/c++/12/string" 2 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/localefwd.h" 1 3
1412: # 37 "/usr/include/c++/12/bits/localefwd.h" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/localefwd.h" 3
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 1 3
1412: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1412:        
1412: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/clocale" 1 3
1412: # 39 "/us _R2>
609:     inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value;
609:   template <typename _R1, typename _R2>
609:     inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value;
609:   template <typename _R1, typename _R2>
609:     inline constexpr bool ratio_less_equal_v =
609:       ratio_less_equal<_R1, _R2>::value;
609:   template <typename _R1, typename _R2>
609:     inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value;
609:   template <typename _R1, typename _R2>
609:     inline constexpr bool ratio_greater_equal_v
609:     = ratio_greater_equal<_R1, _R2>::value;
609: 
609: 
609: 
609: 
609:   template<typename _R1, typename _R2,
609:       bool = (_R1::num >= 0),
609:       bool = (_R2::num >= 0),
609:       bool = ratio_less<ratio<__static_abs<_R1::num>::value, _R1::den>,
609:         ratio<__static_abs<_R2::num>::value, _R2::den> >::value>
609:     struct __ratio_add_impl
609:     {
609:     private:
609:       typedef typename __ratio_add_impl<
609:         ratio<-_R1::num, _R1::den>,
609:         ratio<-_R2::num, _R2::den> >::type __t;
609:     public:
609:       typedef ratio<-__t::num, __t::den> type;
609:     };
609: 
609: 
609:   template<typename _R1, typename _R2, bool __b>
609:     struct __ratio_add_impl<_R1, _R2, true, true, __b>
609:     {
609:     private:
609:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
609:       static constexpr uintmax_t __d2 = _R2::den / __g;
609:       typedef __big_mul<_R1::den, __d2> __d;
609:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
609:       typedef __big_mul<_R2::num, _R1::den / __g> __y;
609:       typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
609:       static_assert(__n::__hi >= __x::__hi, "Internal library error");
609:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
609:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
609:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
609:       static_assert(__n_final::__rem == 0, "Internal library error");
609:       static_assert(__n_final::__quot_hi == 0 &&
609:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
609:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
609:       static_assert(__d_final::__hi == 0 &&
609:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
609:     public:
609:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
609:     };
609: 
609:   template<typename _R1, typename _R2>
609:     struct __ratio_add_impl<_R1, _R2, false, true, true>
609:     : __ratio_add_impl<_R2, _R1>
609:     { };
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct __ratio_add_impl<_R1, _R2, true, false, false>
609:     {
609:     private:
609:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
609:       static constexpr uintmax_t __d2 = _R2::den / __g;
609:       typedef __big_mul<_R1::den, __d2> __d;
609:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
609:       typedef __big_mul<-_R2::num, _R1::den / __g> __y;
609:       typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
609:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
609:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
609:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
609:       static_assert(__n_final::__rem == 0, "Internal library error");
609:       static_assert(__n_final::__quot_hi == 0 &&
609:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
609:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
609:       static_assert(__d_final::__hi == 0 &&
609:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
609:     public:
609:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
609:     };
609: 
609:   template<typename _R1, typename _R2>
609:     struct __ratio_add
609:     {
609:       typedef typename __ratio_add_impl<___val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
1417: 
1417: 
1417:   template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
1417: # 201 "/usr/include/c++/12/bits/functional_hash.h" 3
1417:   struct _Hash_impl
1417:   {
1417:     static size_t
1417:     hash(const void* __ptr, size_t __clength,
1417:   size_t __seed = static_cast<size_t>(0xc70f6907UL))
1417:     { return _Hash_bytes(__ptr, __clength, __seed); }
1417: 
1417:     template<typename _Tp>
1417:       static size_t
1417:       hash(const _Tp& __val)
1417:       { return hash(&__val, sizeof(__val)); }
1417: 
1417:     template<typename _Tp>
1417:       static size_t
1417:       __hash_combine(const _Tp& __val, size_t __hash)
1417:       { return hash(&__val, sizeof(__val), __hash); }
1417:   };
1417: 
1417: 
1417:   struct _Fnv_hash_impl
1417:   {
1417:     static size_t
1417:     hash(const void* __ptr, size_t __clength,
1417:   size_t __seed = static_cast<size_t>(2166136261UL))
1417:     { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
1417: 
1417:     template<typename _Tp>
1417:       static size_t
1417:       hash(const _Tp& __val)
1417:       { return hash(&__val, sizeof(__val)); }
1417: 
1417:     template<typename _Tp>
1417:       static size_t
1417:       __hash_combine(const _Tp& __val, size_t __hash)
1417:       { return hash(&__val, sizeof(__val), __hash); }
1417:   };
1417: 
1417: 
1417:   template<>
1417:     struct hash<float> : public __hash_base<size_t, float>
1417:     {
1417:       size_t
1417:       operator()(float __val) const noexcept
1417:       {
1417: 
1417:  return __val != 0.0f ? std::_Hash_impl::hash(__val) r/include/c++/12/clocale" 3
1412:        
1412: # 40 "/usr/include/c++/12/clocale" 3
1412: 
1412: 
1412: # 1 "/usr/include/locale.h" 1 3 4
1412: # 28 "/usr/include/locale.h" 3 4
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 29 "/usr/include/locale.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/locale.h" 1 3 4
1412: # 30 "/usr/include/locale.h" 2 3 4
1412: 
1412: extern "C" {
1412: # 51 "/usr/include/locale.h" 3 4
1412: struct lconv
1412: {
1412: 
1412: 
1412:   char *decimal_point;
1412:   char *thousands_sep;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   char *grouping;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   char *int_curr_symbol;
1412:   char *currency_symbol;
1412:   char *mon_decimal_point;
1412:   char *mon_thousands_sep;
1412:   char *mon_grouping;
1412:   char *positive_sign;
1412:   char *negative_sign;
1412:   char int_frac_digits;
1412:   char frac_digits;
1412: 
1412:   char p_cs_precedes;
1412: 
1412:   char p_sep_by_space;
1412: 
1412:   char n_cs_precedes;
1412: 
1412:   char n_sep_by_space;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   char p_sign_posn;
1412:   char n_sign_posn;
1412: 
1412: 
1412:   char int_p_cs_precedes;
1412: 
1412:   char int_p_sep_by_space;
1412: 
1412:   char int_n_cs_precedes;
1412: 
1412:   char int_n_sep_by_space;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   char int_p_sign_posn;
1412:   char int_n_sign_posn;
1412: # 118 "/usr/include/locale.h" 3 4
1412: };
1412: 
1412: 
1412: 
1412: extern char *setlocale (int __category, const char *__locale) noexcept (true);
1412: 
1412: 
1412: extern struct lconv *localeconv (void) noexcept (true);
1412: # 141 "/usr/include/locale.h" 3 4
1412: extern locale_t newlocale (int __category_mask, const char *__locale,
1412:       locale_t __base) noexcept (true);
1412: # 176 "/usr/include/locale.h" 3 4
1412: extern locale_t duplocale (locale_t __dataset) noexcept (true);
1412: 
1412: 
1412: 
1412: extern void freelocale (locale_t __dataset) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern locale_t uselocale (locale_t __dataset) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 43 "/usr/include/c++/12/clocale" 2 3
1412: # 51 "/usr/include/c++/12/clocale" 3
1412: namespace std
1412: {
1412:   using ::lconv;
1412:   using ::setlocale;
1412:   using ::localeconv;
1412: }
1412: # 42 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   extern "C" __typeof(uselocale) __uselocale;
1412: 
1412: 
1412: }
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   typedef __locale_t __c_locale;
1412: # 73 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1412:   inline int
1412:   __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
1412:      char* __out,
1412:      const int __size __attribute__ ((__unused__)),
1412:      const char* __fmt, ...)
1412:   {
1412: 
1412:     __c_locale __old = __gnu_cxx::__uselocale(__cloc);
1412: # 93 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1412:     __builtin_va_list __args;
1412:     __builtin_va_start(__args, __fmt);
1412: 
1412: 
1412:     const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
1412: 
1412: 
1412: 
1412: 
1412:     __builtin_va_end(__args);
1412: 
1412: 
1412:     __gnu_cxx::__uselocale(__old);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     return __ret;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 41 "/usr/include/c++/12/bits/localefwd.h" 2 3
1412: # 1 "/usr/include/c++/12/iosfwd" 1 3
1412: # 36 "/usr/include/c++/12/iosfwd" 3
1412:        
1412: # 37 "/usr/include/c++/12/iosfwd" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 74 "/usr/include/c++/12/iosfwd" 3
1412:   class ios_base;
1412: 
1412:   template<typename _Cha: 0;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct hash<double> : public __hash_base<size_t, double>
1417:     {
1417:       size_t
1417:       operator()(double __val) const noexcept
1417:       {
1417: 
1417:  return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct hash<long double>
1417:     : public __hash_base<size_t, long double>
1417:     {
1417:       __attribute__ ((__pure__)) size_t
1417:       operator()(long double __val) const noexcept;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
1417:     {
1417:       size_t
1417:       operator()(nullptr_t) const noexcept
1417:       { return 0; }
1417:     };
1417: # 287 "/usr/include/c++/12/bits/functional_hash.h" 3
1417:   template<typename _Hash>
1417:     struct __is_fast_hash : public std::true_type
1417:     { };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<long double>> : public std::false_type
1417:     { };
1417: 
1417: 
1417: }
1417: # 44 "/usr/include/c++/12/string_view" 2 3
1417: # 53 "/usr/include/c++/12/string_view" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr size_t
1417:   __sv_check(size_t __size, size_t __pos, const char* __s)
1417:   {
1417:     if (__pos > __size)
1417:       __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)")
1417:                         , __s, __pos, __size);
1417:     return __pos;
1417:   }
1417: 
1417: 
1417: 
1417:   constexpr size_t
1417:   __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
1417:   {
1417:    const bool __testoff = __off < __size - __pos;
1417:    return __testoff ? __off : __size - __pos;
1417:   }
1417: # 99 "/usr/include/c++/12/string_view" 3
1417:   template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
1417:     class basic_string_view
1417:     {
1417:       static_assert(!is_array_v<_CharT>);
1417:       static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>);
1417:       static_assert(is_same_v<_CharT, typename _Traits::char_type>);
1417: 
1417:     public:
1417: 
1417: 
1417:       using traits_type = _Traits;
1417:       using value_type = _CharT;
1417:       using pointer = value_type*;
1417:       using const_pointer = const value_type*;
1417:       using reference = value_type&;
1417:       using const_reference = const value_type&;
1417:       using const_iterator = const value_type*;
1417:       using iterator = const_iterator;
1417:       using const_reverse_iterator = std::reverse_iterator<const_iterator>;
1417:       using reverse_iterator = const_reverse_iterator;
1417:       using size_type = size_t;
1417:       using difference_type = ptrdiff_t;
1417:       static constexpr size_type npos = size_type(-1);
1417: 
1417: 
1417: 
1417:       constexpr
1417:       basic_string_view() noexcept
1417:       : _M_len{0}, _M_str{nullptr}
1417:       { }
1417: 
1417:       constexpr basic_string_view(const basic_string_view&) noexcept = default;
1417: 
1417:       __attribute__((__nonnull__)) constexpr
1417:       basic_string_view(const _CharT* __str) noexcept
1417:       : _M_len{traits_type::length(__str)},
1417:  _M_str{__str}
1417:       { }
1417: 
1417:       constexpr
1417:       basic_string_view(const _CharT* __str, size_type __len) noexcept
1417:       : _M_len{__len}, _M_str{__str}
1417:       { }
1417: # 176 "/usr/include/c++/12/string_view" 3
1417:       constexpr basic_string_view&
1417:       operator=(const basic_string_view&) noexcept = default;
1417: 
1417: 
1417: 
1417:       constexpr const_iterator
1417:       begin() const noexcept
1417:       { return this->_M_str; }
1417: 
1417:       constexpr const_iterator
1417:       end() const noexcept
1417:       { return this->_M_str + this->_M_len; }
1417: 
1417:       constexpr const_iterator
1417:       cbegin() const noexcept
1417:       { return this->_M_str; }
14R1, _R2>::type type;
609:       static constexpr intmax_t num = type::num;
609:       static constexpr intmax_t den = type::den;
609:     };
609: # 532 "/usr/include/c++/12/ratio" 3
609:   template<typename _R1, typename _R2>
609:     using ratio_add = typename __ratio_add<_R1, _R2>::type;
609: 
609: 
609: 
609:   template<typename _R1, typename _R2>
609:     struct __ratio_subtract
609:     {
609:       typedef typename __ratio_add<
609:         _R1,
609:         ratio<-_R2::num, _R2::den>>::type type;
609: 
609:       static constexpr intmax_t num = type::num;
609:       static constexpr intmax_t den = type::den;
609:     };
609: # 559 "/usr/include/c++/12/ratio" 3
609:   template<typename _R1, typename _R2>
609:     using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type;
609: 
609: 
609:   typedef ratio<1, 1000000000000000000> atto;
609:   typedef ratio<1, 1000000000000000> femto;
609:   typedef ratio<1, 1000000000000> pico;
609:   typedef ratio<1, 1000000000> nano;
609:   typedef ratio<1, 1000000> micro;
609:   typedef ratio<1, 1000> milli;
609:   typedef ratio<1, 100> centi;
609:   typedef ratio<1, 10> deci;
609:   typedef ratio< 10, 1> deca;
609:   typedef ratio< 100, 1> hecto;
609:   typedef ratio< 1000, 1> kilo;
609:   typedef ratio< 1000000, 1> mega;
609:   typedef ratio< 1000000000, 1> giga;
609:   typedef ratio< 1000000000000, 1> tera;
609:   typedef ratio< 1000000000000000, 1> peta;
609:   typedef ratio< 1000000000000000000, 1> exa;
609: 
609: 
609: 
609: }
609: # 38 "/usr/include/c++/12/bits/chrono.h" 2 3
609: 
609: 
609: # 1 "/usr/include/c++/12/ctime" 1 3
609: # 39 "/usr/include/c++/12/ctime" 3
609:        
609: # 40 "/usr/include/c++/12/ctime" 3
609: # 58 "/usr/include/c++/12/ctime" 3
609: namespace std
609: {
609:   using ::clock_t;
609:   using ::time_t;
609:   using ::tm;
609: 
609:   using ::clock;
609:   using ::difftime;
609:   using ::mktime;
609:   using ::time;
609:   using ::asctime;
609:   using ::ctime;
609:   using ::gmtime;
609:   using ::localtime;
609:   using ::strftime;
609: }
609: 
609: 
609: 
609: namespace std
609: {
609:   using ::timespec;
609:   using ::timespec_get;
609: }
609: # 41 "/usr/include/c++/12/bits/chrono.h" 2 3
609: # 1 "/usr/include/c++/12/bits/parse_numbers.h" 1 3
609: # 33 "/usr/include/c++/12/bits/parse_numbers.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/parse_numbers.h" 3
609: # 42 "/usr/include/c++/12/bits/parse_numbers.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: namespace __parse_int
609: {
609:   template<unsigned _Base, char _Dig>
609:     struct _Digit;
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '0'> : integral_constant<unsigned, 0>
609:     {
609:       using __valid = true_type;
609:     };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '1'> : integral_constant<unsigned, 1>
609:     {
609:       using __valid = true_type;
609:     };
609: 
609:   template<unsigned _Base, unsigned _Val>
609:     struct _Digit_impl : integral_constant<unsigned, _Val>
609:     {
609:       static_assert(_Base > _Val, "invalid digit");
609:       using __valid = true_type;
609:     };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '2'> : _Digit_impl<_Base, 2>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '3'> : _Digit_impl<_Base, 3>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '4'> : _Digit_impl<_Base, 4>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '5'> : _Digit_impl<_Base, 5>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '6'> : _Digit_impl<_Base, 6>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '7'> : _Digit_impl<_Base, 7>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '8'> : _Digit_impl<_Base, 8>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '9'> : _Digit_impl<_Base, 9>
609:     { };
609: 
609:17: 
1417:       constexpr const_iterator
1417:       cend() const noexcept
1417:       { return this->_M_str + this->_M_len; }
1417: 
1417:       constexpr const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(this->end()); }
1417: 
1417:       constexpr const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(this->begin()); }
1417: 
1417:       constexpr const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return const_reverse_iterator(this->end()); }
1417: 
1417:       constexpr const_reverse_iterator
1417:       crend() const noexcept
1417:       { return const_reverse_iterator(this->begin()); }
1417: 
1417: 
1417: 
1417:       constexpr size_type
1417:       size() const noexcept
1417:       { return this->_M_len; }
1417: 
1417:       constexpr size_type
1417:       length() const noexcept
1417:       { return _M_len; }
1417: 
1417:       constexpr size_type
1417:       max_size() const noexcept
1417:       {
1417:  return (npos - sizeof(size_type) - sizeof(void*))
1417:   / sizeof(value_type) / 4;
1417:       }
1417: 
1417:       [[nodiscard]] constexpr bool
1417:       empty() const noexcept
1417:       { return this->_M_len == 0; }
1417: 
1417: 
1417: 
1417:       constexpr const_reference
1417:       operator[](size_type __pos) const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos < this->_M_len)) __builtin_unreachable(); } while (false);
1417:  return *(this->_M_str + __pos);
1417:       }
1417: 
1417:       constexpr const_reference
1417:       at(size_type __pos) const
1417:       {
1417:  if (__pos >= _M_len)
1417:    __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)")
1417: 
1417:                             , __pos, this->size());
1417:  return *(this->_M_str + __pos);
1417:       }
1417: 
1417:       constexpr const_reference
1417:       front() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1417:  return *this->_M_str;
1417:       }
1417: 
1417:       constexpr const_reference
1417:       back() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1417:  return *(this->_M_str + this->_M_len - 1);
1417:       }
1417: 
1417:       constexpr const_pointer
1417:       data() const noexcept
1417:       { return this->_M_str; }
1417: 
1417: 
1417: 
1417:       constexpr void
1417:       remove_prefix(size_type __n) noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false);
1417:  this->_M_str += __n;
1417:  this->_M_len -= __n;
1417:       }
1417: 
1417:       constexpr void
1417:       remove_suffix(size_type __n) noexcept
1417:       { this->_M_len -= __n; }
1417: 
1417:       constexpr void
1417:       swap(basic_string_view& __sv) noexcept
1417:       {
1417:  auto __tmp = *this;
1417:  *this = __sv;
1417:  __sv = __tmp;
1417:       }
1417: 
1417: 
1417: 
1417:      
1417:       size_type
1417:       copy(_CharT* __str, size_type __n, size_type __pos = 0) const
1417:       {
1417:  ;
1417:  __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
1417:  const size_type __rlen = std::min(__n, _M_len - __pos);
1417: 
1417: 
1417:  traits_type::copy(__str, data() + __pos, __rlen);
1417:  return __rlen;
1417:       }
1417: 
1417:       constexpr basic_string_view
1417:       substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
1417:       {
1417:  __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
1417:  const size_type __rlen = std::min(__n, _M_len - __pos);
1417:  return basic_string_view{_M_str + __pos, __rlen};
1417:       }
1417: 
1417:       constexpr int
1417:       compare(basic_string_view __str) const noexcept
1417:       {
1417:  const size_type __rlen = std::min(this->_M_len,rT, typename _Traits = char_traits<_CharT> >
1412:     class basic_ios;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_streambuf;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_istream;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_ostream;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_iostream;
1412: 
1412: 
1412: namespace __cxx11 {
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1412:      typename _Alloc = allocator<_CharT> >
1412:     class basic_stringbuf;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1412:     typename _Alloc = allocator<_CharT> >
1412:     class basic_istringstream;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1412:     typename _Alloc = allocator<_CharT> >
1412:     class basic_ostringstream;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1412:     typename _Alloc = allocator<_CharT> >
1412:     class basic_stringstream;
1412: 
1412: }
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_filebuf;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_ifstream;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_ofstream;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class basic_fstream;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class istreambuf_iterator;
1412: 
1412:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1412:     class ostreambuf_iterator;
1412: 
1412: 
1412: 
1412:   typedef basic_ios<char> ios;
1412: 
1412: 
1412:   typedef basic_streambuf<char> streambuf;
1412: 
1412: 
1412:   typedef basic_istream<char> istream;
1412: 
1412: 
1412:   typedef basic_ostream<char> ostream;
1412: 
1412: 
1412:   typedef basic_iostream<char> iostream;
1412: 
1412: 
1412:   typedef basic_stringbuf<char> stringbuf;
1412: 
1412: 
1412:   typedef basic_istringstream<char> istringstream;
1412: 
1412: 
1412:   typedef basic_ostringstream<char> ostringstream;
1412: 
1412: 
1412:   typedef basic_stringstream<char> stringstream;
1412: 
1412: 
1412:   typedef basic_filebuf<char> filebuf;
1412: 
1412: 
1412:   typedef basic_ifstream<char> ifstream;
1412: 
1412: 
1412:   typedef basic_ofstream<char> ofstream;
1412: 
1412: 
1412:   typedef basic_fstream<char> fstream;
1412: 
1412: 
1412: 
1412:   typedef basic_ios<wchar_t> wios;
1412: 
1412: 
1412:   typedef basic_streambuf<wchar_t> wstreambuf;
1412: 
1412: 
1412:   typedef basic_istream<wchar_t> wistream;
1412: 
1412: 
1412:   typedef basic_ostream<wchar_t> wostream;
1412: 
1412: 
1412:   typedef basic_iostream<wchar_t> wiostream;
1412: 
1412: 
1412:   typedef basic_stringbuf<wchar_t> wstringbuf;
1412: 
1412: 
1412:   typedef basic_istringstream<wchar_t> wistringstream;
1412: 
1412: 
1412:   typedef basic_ostringstream<wchar_t> wostringstream;
1412: 
1412: 
1412:   typedef basic_stringstream<wchar_t> wstringstream;
1412: 
1412: 
1412:   typedef basic_filebuf<wchar_t> wfilebuf;
1412: 
1412: 
1412:   typedef basic_ifstream<wchar_t> wifstream;
1412: 
1412: 
1412:   typedef basic_ofstream<wchar_t> wofstream;
1412: 
1412: 
1412:   typedef basic_fstream<wchar_t> wfstream;
1412: # 253 "/usr/include/c++/12/iosfwd" 3
1412: 
1412: }
1412: # 42 "/usr/include/c++/12/bits/localefwd.h" 2 3
1412: # 1 "/usr/include/c++/12/cctype" 1 3
1412: # 39 "/usr/include/c++/12/cctype" 3
1412:        
1412: # 40 "/usr/include/c++/12/cctype" 3
1412: 
1412: 
1412: # 1 "/usr/include/ctype.h" 1 3 4
1412: # 28 "/usr/include/ctype.h" 3 4
1412: extern "C" {
1412: # 39 "/usr/include/ctype.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 1 3 4
1412: # 35 "/usr __str._M_len);
1417:  int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
1417:  if (__ret == 0)
1417:    __ret = _S_compare(this->_M_len, __str._M_len);
1417:  return __ret;
1417:       }
1417: 
1417:       constexpr int
1417:       compare(size_type __pos1, size_type __n1, basic_string_view __str) const
1417:       { return this->substr(__pos1, __n1).compare(__str); }
1417: 
1417:       constexpr int
1417:       compare(size_type __pos1, size_type __n1,
1417:        basic_string_view __str, size_type __pos2, size_type __n2) const
1417:       {
1417:  return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
1417:       }
1417: 
1417:       __attribute__((__nonnull__)) constexpr int
1417:       compare(const _CharT* __str) const noexcept
1417:       { return this->compare(basic_string_view{__str}); }
1417: 
1417:       __attribute__((__nonnull__)) constexpr int
1417:       compare(size_type __pos1, size_type __n1, const _CharT* __str) const
1417:       { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
1417: 
1417:       constexpr int
1417:       compare(size_type __pos1, size_type __n1,
1417:        const _CharT* __str, size_type __n2) const noexcept(false)
1417:       {
1417:  return this->substr(__pos1, __n1)
1417:      .compare(basic_string_view(__str, __n2));
1417:       }
1417: # 402 "/usr/include/c++/12/string_view" 3
1417:       constexpr size_type
1417:       find(basic_string_view __str, size_type __pos = 0) const noexcept
1417:       { return this->find(__str._M_str, __pos, __str._M_len); }
1417: 
1417:       constexpr size_type
1417:       find(_CharT __c, size_type __pos = 0) const noexcept;
1417: 
1417:       constexpr size_type
1417:       find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1417: 
1417:       __attribute__((__nonnull__)) constexpr size_type
1417:       find(const _CharT* __str, size_type __pos = 0) const noexcept
1417:       { return this->find(__str, __pos, traits_type::length(__str)); }
1417: 
1417:       constexpr size_type
1417:       rfind(basic_string_view __str, size_type __pos = npos) const noexcept
1417:       { return this->rfind(__str._M_str, __pos, __str._M_len); }
1417: 
1417:       constexpr size_type
1417:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1417: 
1417:       constexpr size_type
1417:       rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1417: 
1417:       __attribute__((__nonnull__)) constexpr size_type
1417:       rfind(const _CharT* __str, size_type __pos = npos) const noexcept
1417:       { return this->rfind(__str, __pos, traits_type::length(__str)); }
1417: 
1417:       constexpr size_type
1417:       find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
1417:       { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
1417: 
1417:       constexpr size_type
1417:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1417:       { return this->find(__c, __pos); }
1417: 
1417:       constexpr size_type
1417:       find_first_of(const _CharT* __str, size_type __pos,
1417:       size_type __n) const noexcept;
1417: 
1417:       __attribute__((__nonnull__)) constexpr size_type
1417:       find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
1417:       { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
1417: 
1417:       constexpr size_type
1417:       find_last_of(basic_string_view __str,
1417:      size_type __pos = npos) const noexcept
1417:       { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
1417: 
1417:       constexpr size_type
1417:       find_last_of(_CharT __c, size_type __pos=npos) const noexcept
1417:       { return this->rfind(__c, __pos); }
1417: 
1417:       constexpr size_type
1417:       find_last_of(const _CharT* __str, size_type __pos,
1417:      size_type __n) const noexcept;
1417: 
1417:       __attribute__((__nonnull__)) constexpr size_type
1417:       find_last_of(const _CharT* __str, size_type __pos = npos) const    template<unsigned _Base>
609:     struct _Digit<_Base, 'a'> : _Digit_impl<_Base, 0xa>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'A'> : _Digit_impl<_Base, 0xa>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'b'> : _Digit_impl<_Base, 0xb>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'B'> : _Digit_impl<_Base, 0xb>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'c'> : _Digit_impl<_Base, 0xc>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'C'> : _Digit_impl<_Base, 0xc>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'd'> : _Digit_impl<_Base, 0xd>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'D'> : _Digit_impl<_Base, 0xd>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'e'> : _Digit_impl<_Base, 0xe>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'E'> : _Digit_impl<_Base, 0xe>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'f'> : _Digit_impl<_Base, 0xf>
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, 'F'> : _Digit_impl<_Base, 0xf>
609:     { };
609: 
609: 
609:   template<unsigned _Base>
609:     struct _Digit<_Base, '\''> : integral_constant<unsigned, 0>
609:     {
609:       using __valid = false_type;
609:     };
609: 
609: 
609: 
609:   template<unsigned long long _Val>
609:     using __ull_constant = integral_constant<unsigned long long, _Val>;
609: 
609:   template<unsigned _Base, char _Dig, char... _Digs>
609:     struct _Power_help
609:     {
609:       using __next = typename _Power_help<_Base, _Digs...>::type;
609:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
609:       using type
609:  = __ull_constant<__next::value * (__valid_digit{} ? _Base : 1ULL)>;
609:     };
609: 
609:   template<unsigned _Base, char _Dig>
609:     struct _Power_help<_Base, _Dig>
609:     {
609:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
609:       using type = __ull_constant<__valid_digit::value>;
609:     };
609: 
609:   template<unsigned _Base, char... _Digs>
609:     struct _Power : _Power_help<_Base, _Digs...>::type
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Power<_Base> : __ull_constant<0>
609:     { };
609: 
609: 
609: 
609:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char... _Digs>
609:     struct _Number_help
609:     {
609:       using __digit = _Digit<_Base, _Dig>;
609:       using __valid_digit = typename __digit::__valid;
609:       using __next = _Number_help<_Base,
609:       __valid_digit::value ? _Pow / _Base : _Pow,
609:       _Digs...>;
609:       using type = __ull_constant<_Pow * __digit::value + __next::type::value>;
609:       static_assert((type::value / _Pow) == __digit::value,
609:       "integer literal does not fit in unsigned long long");
609:     };
609: 
609: 
609:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char..._Digs>
609:     struct _Number_help<_Base, _Pow, '\'', _Dig, _Digs...>
609:     : _Number_help<_Base, _Pow, _Dig, _Digs...>
609:     { };
609: 
609: 
609:   template<unsigned _Base, char _Dig>
609:     struct _Number_help<_Base, 1ULL, _Dig>
609:     {
609:       using type = __ull_constant<_Digit<_Base, _Dig>::value>;
609:     };
609: 
609:   template<unsigned _Base, char... _Digs>
609:     struct _Number
609:     : _Number_help<_Base, _Power<_Base, _Digs...>::value, _Digs...>::type
609:     { };
609: 
609:   template<unsigned _Base>
609:     struct _Number<_Base>
609:     : __ull_constant<0>
609:     { };
609: 
609: 
609: 
609:   template<char... _Digs>
609:     struct _Parse_int;
609: 
609:   template<char... _Digs>
609:     struct _Parse_int<'0', 'b', _Digs...>
609:     : _Number<2U, _Digs...>::type
609:     { };
609: 
609:   template<char... _Digs>
609:     struct _Parse_int<'0', 'B', _Digs...>
609:     :noexcept
1417:       { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
1417: 
1417:       constexpr size_type
1417:       find_first_not_of(basic_string_view __str,
1417:    size_type __pos = 0) const noexcept
1417:       { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
1417: 
1417:       constexpr size_type
1417:       find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
1417: 
1417:       constexpr size_type
1417:       find_first_not_of(const _CharT* __str,
1417:    size_type __pos, size_type __n) const noexcept;
1417: 
1417:       __attribute__((__nonnull__)) constexpr size_type
1417:       find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
1417:       {
1417:  return this->find_first_not_of(__str, __pos,
1417:            traits_type::length(__str));
1417:       }
1417: 
1417:       constexpr size_type
1417:       find_last_not_of(basic_string_view __str,
1417:          size_type __pos = npos) const noexcept
1417:       { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
1417: 
1417:       constexpr size_type
1417:       find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
1417: 
1417:       constexpr size_type
1417:       find_last_not_of(const _CharT* __str,
1417:          size_type __pos, size_type __n) const noexcept;
1417: 
1417:       __attribute__((__nonnull__)) constexpr size_type
1417:       find_last_not_of(const _CharT* __str,
1417:          size_type __pos = npos) const noexcept
1417:       {
1417:  return this->find_last_not_of(__str, __pos,
1417:           traits_type::length(__str));
1417:       }
1417: 
1417:     private:
1417: 
1417:       static constexpr int
1417:       _S_compare(size_type __n1, size_type __n2) noexcept
1417:       {
1417:  using __limits = __gnu_cxx::__int_traits<int>;
1417:  const difference_type __diff = __n1 - __n2;
1417:  if (__diff > __limits::__max)
1417:    return __limits::__max;
1417:  if (__diff < __limits::__min)
1417:    return __limits::__min;
1417:  return static_cast<int>(__diff);
1417:       }
1417: 
1417:       size_t _M_len;
1417:       const _CharT* _M_str;
1417:     };
1417: # 538 "/usr/include/c++/12/string_view" 3
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator==(basic_string_view<_CharT, _Traits> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator==(basic_string_view<_CharT, _Traits> __x,
1417:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1417:     noexcept
1417:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1417: # 567 "/usr/include/c++/12/string_view" 3
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator!=(basic_string_view<_CharT, _Traits> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return !(__x == __y); }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator!=(basic_string_view<_CharT, _Traits> __x,
1417:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1417:     noexcept
1417:     { return !(__x == __y); }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return !(__x == __y); }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator< (basic_string_vie/include/arm-linux-gnueabihf/bits/endian.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/endianness.h" 1 3 4
1412: # 36 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 2 3 4
1412: # 40 "/usr/include/ctype.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: enum
1412: {
1412:   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
1412:   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
1412:   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
1412:   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
1412:   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
1412:   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
1412:   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
1412:   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
1412:   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
1412:   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
1412:   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
1412:   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
1412: };
1412: # 79 "/usr/include/ctype.h" 3 4
1412: extern const unsigned short int **__ctype_b_loc (void)
1412:      noexcept (true) __attribute__ ((__const__));
1412: extern const __int32_t **__ctype_tolower_loc (void)
1412:      noexcept (true) __attribute__ ((__const__));
1412: extern const __int32_t **__ctype_toupper_loc (void)
1412:      noexcept (true) __attribute__ ((__const__));
1412: # 108 "/usr/include/ctype.h" 3 4
1412: extern int isalnum (int) noexcept (true);
1412: extern int isalpha (int) noexcept (true);
1412: extern int iscntrl (int) noexcept (true);
1412: extern int isdigit (int) noexcept (true);
1412: extern int islower (int) noexcept (true);
1412: extern int isgraph (int) noexcept (true);
1412: extern int isprint (int) noexcept (true);
1412: extern int ispunct (int) noexcept (true);
1412: extern int isspace (int) noexcept (true);
1412: extern int isupper (int) noexcept (true);
1412: extern int isxdigit (int) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int tolower (int __c) noexcept (true);
1412: 
1412: 
1412: extern int toupper (int __c) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int isblank (int) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int isctype (int __c, int __mask) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int isascii (int __c) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int toascii (int __c) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int _toupper (int) noexcept (true);
1412: extern int _tolower (int) noexcept (true);
1412: # 251 "/usr/include/ctype.h" 3 4
1412: extern int isalnum_l (int, locale_t) noexcept (true);
1412: extern int isalpha_l (int, locale_t) noexcept (true);
1412: extern int iscntrl_l (int, locale_t) noexcept (true);
1412: extern int isdigit_l (int, locale_t) noexcept (true);
1412: extern int islower_l (int, locale_t) noexcept (true);
1412: extern int isgraph_l (int, locale_t) noexcept (true);
1412: extern int isprint_l (int, locale_t) noexcept (true);
1412: extern int ispunct_l (int, locale_t) noexcept (true);
1412: extern int isspace_l (int, locale_t) noexcept (true);
1412: extern int isupper_l (int, locale_t) noexcept (true);
1412: extern int isxdigit_l (int, locale_t) noexcept (true);
1412: 
1412: extern int isblank_l (int, locale_t) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int __tolower_l (int __c, locale_t __l) noexcept (true);
1412: extern int tolower_l (int __c, locale_t __l) noexcept (true);
1412: 
1412: 
1412: extern int __toupper_l (int __c, locale_t __l) noexcept (true);
1412: extern int toupper_l (int __c, locale_t __l) noexcept (true);
1412: # 327 "/usr/include/ctype.h" 3 4
1412: }
1412: # 43 "/usr/include/c++/12/cctype" 2 3
1412: # 62 "/usr/include/c++/12/cctype" 3
1412: namespace std
1412: {
1412:   using ::isalnum;
1412:   using ::isalpha;
1412:   using ::iscntrl;
1412:   using ::isdigit;
1412:   using ::isgraph;
1412:   using ::islower;
1412:   using ::isprint;w<_CharT, _Traits> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) < 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator< (basic_string_view<_CharT, _Traits> __x,
1417:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1417:     noexcept
1417:     { return __x.compare(__y) < 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) < 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator> (basic_string_view<_CharT, _Traits> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) > 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator> (basic_string_view<_CharT, _Traits> __x,
1417:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1417:     noexcept
1417:     { return __x.compare(__y) > 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) > 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator<=(basic_string_view<_CharT, _Traits> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) <= 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator<=(basic_string_view<_CharT, _Traits> __x,
1417:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1417:     noexcept
1417:     { return __x.compare(__y) <= 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) <= 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator>=(basic_string_view<_CharT, _Traits> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) >= 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator>=(basic_string_view<_CharT, _Traits> __x,
1417:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1417:     noexcept
1417:     { return __x.compare(__y) >= 0; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr bool
1417:     operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1417:                basic_string_view<_CharT, _Traits> __y) noexcept
1417:     { return __x.compare(__y) >= 0; }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1417:         basic_string_view<_CharT,_Traits> __str)
1417:     { return __ostream_insert(__os, __str.data(), __str.size()); }
1417: 
1417: 
1417: 
1417: 
1417:   using string_view = basic_string_view<char>;
1417:   using wstring_view = basic_string_view<wchar_t>;
1417: 
1417: 
1417: 
1417:   using u16string_view = basic_string_view<char16_t>;
1417:   using u32string_view = basic_string_view<char32_t>;
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct hash;
1417: 
1417:   template<>
1417:     struct hash<string_view>
1417:     : public __hash_base<size_t, string_view>
1417:     {
1417:       size_t
1417:       operator()(const string_view& __str) const noexcept
1417:       { return std::_Hash_impl::hash(__str.dat _Number<2U, _Digs...>::type
609:     { };
609: 
609:   template<char... _Digs>
609:     struct _Parse_int<'0', 'x', _Digs...>
609:     : _Number<16U, _Digs...>::type
609:     { };
609: 
609:   template<char... _Digs>
609:     struct _Parse_int<'0', 'X', _Digs...>
609:     : _Number<16U, _Digs...>::type
609:     { };
609: 
609:   template<char... _Digs>
609:     struct _Parse_int<'0', _Digs...>
609:     : _Number<8U, _Digs...>::type
609:     { };
609: 
609:   template<char... _Digs>
609:     struct _Parse_int
609:     : _Number<10U, _Digs...>::type
609:     { };
609: 
609: }
609: 
609: 
609: namespace __select_int
609: {
609:   template<unsigned long long _Val, typename... _Ints>
609:     struct _Select_int_base;
609: 
609:   template<unsigned long long _Val, typename _IntType, typename... _Ints>
609:     struct _Select_int_base<_Val, _IntType, _Ints...>
609:     : __conditional_t<(_Val <= __gnu_cxx::__int_traits<_IntType>::__max),
609:         integral_constant<_IntType, (_IntType)_Val>,
609:         _Select_int_base<_Val, _Ints...>>
609:     { };
609: 
609:   template<unsigned long long _Val>
609:     struct _Select_int_base<_Val>
609:     { };
609: 
609:   template<char... _Digs>
609:     using _Select_int = typename _Select_int_base<
609:  __parse_int::_Parse_int<_Digs...>::value,
609:  unsigned char,
609:  unsigned short,
609:  unsigned int,
609:  unsigned long,
609:  unsigned long long
609:       >::type;
609: 
609: }
609: 
609: 
609: }
609: # 42 "/usr/include/c++/12/bits/chrono.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   namespace filesystem { struct __file_clock; };
609: 
609: 
609:   namespace chrono
609:   {
609: 
609: 
609: 
609: 
609:     template<typename _Rep, typename _Period = ratio<1>>
609:       struct duration;
609: 
609: 
609:     template<typename _Clock, typename _Dur = typename _Clock::duration>
609:       struct time_point;
609: 
609:   }
609: # 77 "/usr/include/c++/12/bits/chrono.h" 3
609:   template<typename _CT, typename _Period1, typename _Period2, typename = void>
609:     struct __duration_common_type
609:     { };
609: 
609:   template<typename _CT, typename _Period1, typename _Period2>
609:     struct __duration_common_type<_CT, _Period1, _Period2,
609:       __void_t<typename _CT::type>>
609:     {
609:     private:
609:       using __gcd_num = __static_gcd<_Period1::num, _Period2::num>;
609:       using __gcd_den = __static_gcd<_Period1::den, _Period2::den>;
609:       using __cr = typename _CT::type;
609:       using __r = ratio<__gcd_num::value,
609:    (_Period1::den / __gcd_den::value) * _Period2::den>;
609: 
609:     public:
609:       using type = chrono::duration<__cr, typename __r::type>;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
609:     struct common_type<chrono::duration<_Rep1, _Period1>,
609:          chrono::duration<_Rep2, _Period2>>
609:     : __duration_common_type<common_type<_Rep1, _Rep2>,
609:         typename _Period1::type,
609:         typename _Period2::type>
609:     { };
609: 
609: 
609:   template<typename _Rep, typename _Period>
609:     struct common_type<chrono::duration<_Rep, _Period>,
609:          chrono::duration<_Rep, _Period>>
609:     {
609:       using type = chrono::duration<typename common_type<_Rep>::type,
609:         typename _Period::type>;
609:     };
609: 
609: 
609:   template<typename _Rep, typename _Period>
609:     struct common_type<chrono::duration<_Rep, _Period>>
609:     {
609:       using type = chrono::duration<typename common_type<_Rep>::type,
609:         typename _Period::type>;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _CT, typename _Clock, typename = void>
609:     struct __timepoint_common_type
609:     { };
609: 
609:   template<typename _CT, typename _Clock>
609:     struct __timepoint_common_type<_CT, _Clock, __void_t<typename _CT::type>>
609:     {
609:       using type = chrono::time_point<_Clock, typename _Ca(), __str.length()); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<string_view>> : std::false_type
1417:     { };
1417: 
1417:   template<>
1417:     struct hash<wstring_view>
1417:     : public __hash_base<size_t, wstring_view>
1417:     {
1417:       size_t
1417:       operator()(const wstring_view& __s) const noexcept
1417:       { return std::_Hash_impl::hash(__s.data(),
1417:                                      __s.length() * sizeof(wchar_t)); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<wstring_view>> : std::false_type
1417:     { };
1417: # 734 "/usr/include/c++/12/string_view" 3
1417:   template<>
1417:     struct hash<u16string_view>
1417:     : public __hash_base<size_t, u16string_view>
1417:     {
1417:       size_t
1417:       operator()(const u16string_view& __s) const noexcept
1417:       { return std::_Hash_impl::hash(__s.data(),
1417:                                      __s.length() * sizeof(char16_t)); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<u16string_view>> : std::false_type
1417:     { };
1417: 
1417:   template<>
1417:     struct hash<u32string_view>
1417:     : public __hash_base<size_t, u32string_view>
1417:     {
1417:       size_t
1417:       operator()(const u32string_view& __s) const noexcept
1417:       { return std::_Hash_impl::hash(__s.data(),
1417:                                      __s.length() * sizeof(char32_t)); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<u32string_view>> : std::false_type
1417:     { };
1417: 
1417:   inline namespace literals
1417:   {
1417:   inline namespace string_view_literals
1417:   {
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1417:     inline constexpr basic_string_view<char>
1417:     operator""sv(const char* __str, size_t __len) noexcept
1417:     { return basic_string_view<char>{__str, __len}; }
1417: 
1417:     inline constexpr basic_string_view<wchar_t>
1417:     operator""sv(const wchar_t* __str, size_t __len) noexcept
1417:     { return basic_string_view<wchar_t>{__str, __len}; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     inline constexpr basic_string_view<char16_t>
1417:     operator""sv(const char16_t* __str, size_t __len) noexcept
1417:     { return basic_string_view<char16_t>{__str, __len}; }
1417: 
1417:     inline constexpr basic_string_view<char32_t>
1417:     operator""sv(const char32_t* __str, size_t __len) noexcept
1417:     { return basic_string_view<char32_t>{__str, __len}; }
1417: 
1417: #pragma GCC diagnostic pop
1417:   }
1417:   }
1417: # 808 "/usr/include/c++/12/string_view" 3
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/string_view.tcc" 1 3
1417: # 37 "/usr/include/c++/12/bits/string_view.tcc" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/string_view.tcc" 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1417:     {
1417:       ;
1417: 
1417:       if (__n == 0)
1417:  return __pos <= _M_len ? __pos : npos;
1417:       if (__pos >= _M_len)
1417:  return npos;
1417: 
1417:       const _CharT __elem0 = __str[0];
1417:       const _CharT* __first = _M_str + __pos;
1417:       const _CharT* const __last = _M_str + _M_len;
1417:       size_type __len = _M_len - __pos;
1417: 
1417:       while (__len >= __n)
1417:  {
1417: 
1417:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1417:    if (!__first)
1417:      return npos;
1417: 
1417: 
1417: 
1417:    if (traits_type::compare(__first, __str, __n) == 0)
1417:      return __first - _M_str;
1417:    __len = __last - ++__first;
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     const
1412:   using ::ispunct;
1412:   using ::isspace;
1412:   using ::isupper;
1412:   using ::isxdigit;
1412:   using ::tolower;
1412:   using ::toupper;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std
1412: {
1412:   using ::isblank;
1412: }
1412: # 43 "/usr/include/c++/12/bits/localefwd.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 55 "/usr/include/c++/12/bits/localefwd.h" 3
1412:   class locale;
1412: 
1412:   template<typename _Facet>
1412:     bool
1412:     has_facet(const locale&) throw();
1412: 
1412:   template<typename _Facet>
1412:     const _Facet&
1412:     use_facet(const locale&);
1412: 
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isspace(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isprint(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     iscntrl(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isupper(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     islower(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isalpha(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isdigit(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     ispunct(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isxdigit(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isalnum(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isgraph(_CharT, const locale&);
1412: 
1412: 
1412:   template<typename _CharT>
1412:     bool
1412:     isblank(_CharT, const locale&);
1412: 
1412: 
1412:   template<typename _CharT>
1412:     _CharT
1412:     toupper(_CharT, const locale&);
1412: 
1412:   template<typename _CharT>
1412:     _CharT
1412:     tolower(_CharT, const locale&);
1412: 
1412: 
1412:   struct ctype_base;
1412:   template<typename _CharT>
1412:     class ctype;
1412:   template<> class ctype<char>;
1412: 
1412:   template<> class ctype<wchar_t>;
1412: 
1412:   template<typename _CharT>
1412:     class ctype_byname;
1412: 
1412: 
1412:   class codecvt_base;
1412:   template<typename _InternT, typename _ExternT, typename _StateT>
1412:     class codecvt;
1412:   template<> class codecvt<char, char, mbstate_t>;
1412: 
1412:   template<> class codecvt<wchar_t, char, mbstate_t>;
1412: 
1412: 
1412:   template<> class codecvt<char16_t, char, mbstate_t>;
1412:   template<> class codecvt<char32_t, char, mbstate_t>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InternT, typename _ExternT, typename _StateT>
1412:     class codecvt_byname;
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1412:     class num_get;
1412:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1412:     class num_put;
1412: 
1412: namespace __cxx11 {
1412:   template<typename _CharT> class numpunct;
1412:   template<typename _CharT> class numpunct_byname;
1412: }
1412: 
1412: namespace __cxx11 {
1412: 
1412:   template<typename _CharT>
1412:     class collate;
1412:   template<typename _CharT>
1412:     class collate_byname;
1412: }
1412: 
1412: 
1412:   class time_base;
1412: namespace __cxx11 {
1412:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1412:     class time_get;
1412:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1412:     class time_get_byname;
1412: }
1412:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1412:     class time_put;
1412:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1412:     class time_put_byname;
1412: 
1412: 
1412:   class money_base;
1412: namespace __cxx11 {
1412:   template<typename _CharT, typename _InIter = istreambuf_iteexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       size_type __ret = npos;
1417:       if (__pos < this->_M_len)
1417:  {
1417:    const size_type __n = this->_M_len - __pos;
1417:    const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
1417:    if (__p)
1417:      __ret = __p - this->_M_str;
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1417:     {
1417:       ;
1417: 
1417:       if (__n <= this->_M_len)
1417:  {
1417:    __pos = std::min(size_type(this->_M_len - __n), __pos);
1417:    do
1417:      {
1417:        if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
1417:   return __pos;
1417:      }
1417:    while (__pos-- > 0);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     rfind(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       size_type __size = this->_M_len;
1417:       if (__size > 0)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    for (++__size; __size-- > 0; )
1417:      if (traits_type::eq(this->_M_str[__size], __c))
1417:        return __size;
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find_first_of(const _CharT* __str, size_type __pos,
1417:     size_type __n) const noexcept
1417:     {
1417:       ;
1417:       for (; __n && __pos < this->_M_len; ++__pos)
1417:  {
1417:    const _CharT* __p = traits_type::find(__str, __n,
1417:       this->_M_str[__pos]);
1417:    if (__p)
1417:      return __pos;
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find_last_of(const _CharT* __str, size_type __pos,
1417:    size_type __n) const noexcept
1417:     {
1417:       ;
1417:       size_type __size = this->size();
1417:       if (__size && __n)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    do
1417:      {
1417:        if (traits_type::find(__str, __n, this->_M_str[__size]))
1417:   return __size;
1417:      }
1417:    while (__size-- != 0);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find_first_not_of(const _CharT* __str, size_type __pos,
1417:         size_type __n) const noexcept
1417:     {
1417:       ;
1417:       for (; __pos < this->_M_len; ++__pos)
1417:  if (!traits_type::find(__str, __n, this->_M_str[__pos]))
1417:    return __pos;
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       for (; __pos < this->_M_len; ++__pos)
1417:  if (!traits_type::eq(this->_M_str[__pos], __c))
1417:    return __pos;
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find_last_not_of(const _CharT* __str, size_type __pos,
1417:        size_type __nT::type>;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Clock, typename _Duration1, typename _Duration2>
609:     struct common_type<chrono::time_point<_Clock, _Duration1>,
609:          chrono::time_point<_Clock, _Duration2>>
609:     : __timepoint_common_type<common_type<_Duration1, _Duration2>, _Clock>
609:     { };
609: 
609: 
609:   template<typename _Clock, typename _Duration>
609:     struct common_type<chrono::time_point<_Clock, _Duration>,
609:          chrono::time_point<_Clock, _Duration>>
609:     { using type = chrono::time_point<_Clock, _Duration>; };
609: 
609: 
609:   template<typename _Clock, typename _Duration>
609:     struct common_type<chrono::time_point<_Clock, _Duration>>
609:     { using type = chrono::time_point<_Clock, _Duration>; };
609: 
609: 
609: 
609: 
609:   namespace chrono
609:   {
609: 
609: 
609: 
609: 
609: 
609: 
609:     template<typename _ToDur, typename _CF, typename _CR,
609:       bool _NumIsOne = false, bool _DenIsOne = false>
609:       struct __duration_cast_impl
609:       {
609:  template<typename _Rep, typename _Period>
609:    static constexpr _ToDur
609:    __cast(const duration<_Rep, _Period>& __d)
609:    {
609:      typedef typename _ToDur::rep __to_rep;
609:      return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count())
609:        * static_cast<_CR>(_CF::num)
609:        / static_cast<_CR>(_CF::den)));
609:    }
609:       };
609: 
609:     template<typename _ToDur, typename _CF, typename _CR>
609:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, true>
609:       {
609:  template<typename _Rep, typename _Period>
609:    static constexpr _ToDur
609:    __cast(const duration<_Rep, _Period>& __d)
609:    {
609:      typedef typename _ToDur::rep __to_rep;
609:      return _ToDur(static_cast<__to_rep>(__d.count()));
609:    }
609:       };
609: 
609:     template<typename _ToDur, typename _CF, typename _CR>
609:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, false>
609:       {
609:  template<typename _Rep, typename _Period>
609:    static constexpr _ToDur
609:    __cast(const duration<_Rep, _Period>& __d)
609:    {
609:      typedef typename _ToDur::rep __to_rep;
609:      return _ToDur(static_cast<__to_rep>(
609:        static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den)));
609:    }
609:       };
609: 
609:     template<typename _ToDur, typename _CF, typename _CR>
609:       struct __duration_cast_impl<_ToDur, _CF, _CR, false, true>
609:       {
609:  template<typename _Rep, typename _Period>
609:    static constexpr _ToDur
609:    __cast(const duration<_Rep, _Period>& __d)
609:    {
609:      typedef typename _ToDur::rep __to_rep;
609:      return _ToDur(static_cast<__to_rep>(
609:        static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num)));
609:    }
609:       };
609: 
609:     template<typename _Tp>
609:       struct __is_duration
609:       : std::false_type
609:       { };
609: 
609:     template<typename _Rep, typename _Period>
609:       struct __is_duration<duration<_Rep, _Period>>
609:       : std::true_type
609:       { };
609: 
609:     template<typename _Tp>
609:       using __enable_if_is_duration
609:  = typename enable_if<__is_duration<_Tp>::value, _Tp>::type;
609: 
609:     template<typename _Tp>
609:       using __disable_if_is_duration
609:  = typename enable_if<!__is_duration<_Tp>::value, _Tp>::type;
609: 
609: 
609: 
609: 
609:     template<typename _ToDur, typename _Rep, typename _Period>
609:       constexpr __enable_if_is_duration<_ToDur>
609:       duration_cast(const duration<_Rep, _Period>& __d)
609:       {
609:  typedef typename _ToDur::period __to_period;
609:  typedef typename _ToDur::rep __to_rep;
609:  typedef ratio_divide<_Period, __to_period> __cf;
609:  typedef typename common_type<__to_rep, _Rep, intmax_t>::type __cr;
609:  typedef __duration_cast_impl<_ToDur, __cf, __cr,
609:           __cf::num == 1, __cf::den == 1> __dc;
609:  return __dc::__cast(__d);
609:       }
609: 
609: 
609:     template<typename _Rep>
609:       struct treat_as_floating_point
60) const noexcept
1417:     {
1417:       ;
1417:       size_type __size = this->_M_len;
1417:       if (__size)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    do
1417:      {
1417:        if (!traits_type::find(__str, __n, this->_M_str[__size]))
1417:   return __size;
1417:      }
1417:    while (__size--);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1417:     basic_string_view<_CharT, _Traits>::
1417:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       size_type __size = this->_M_len;
1417:       if (__size)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    do
1417:      {
1417:        if (!traits_type::eq(this->_M_str[__size], __c))
1417:   return __size;
1417:      }
1417:    while (__size--);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417: 
1417: }
1417: # 812 "/usr/include/c++/12/string_view" 2 3
1417: # 48 "/usr/include/c++/12/bits/basic_string.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: namespace __cxx11 {
1417: # 84 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     class basic_string
1417:     {
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_CharT>::other _Char_alloc_type;
1417: 
1417: 
1417:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1417: # 122 "/usr/include/c++/12/bits/basic_string.h" 3
1417:     public:
1417:       typedef _Traits traits_type;
1417:       typedef typename _Traits::char_type value_type;
1417:       typedef _Char_alloc_type allocator_type;
1417:       typedef typename _Alloc_traits::size_type size_type;
1417:       typedef typename _Alloc_traits::difference_type difference_type;
1417:       typedef typename _Alloc_traits::reference reference;
1417:       typedef typename _Alloc_traits::const_reference const_reference;
1417:       typedef typename _Alloc_traits::pointer pointer;
1417:       typedef typename _Alloc_traits::const_pointer const_pointer;
1417:       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
1417:       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
1417:        const_iterator;
1417:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1417:       typedef std::reverse_iterator<iterator> reverse_iterator;
1417: 
1417: 
1417:       static const size_type npos = static_cast<size_type>(-1);
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417:       typedef const_iterator __const_iterator;
1417: 
1417: 
1417:     private:
1417: 
1417: 
1417:       typedef basic_string_view<_CharT, _Traits> __sv_type;
1417: 
1417:       template<typename _Tp, typename _Res>
1417:  using _If_sv = enable_if_t<
1417:    __and_<is_convertible<const _Tp&, __sv_type>,
1417:    __not_<is_convertible<const _Tp*, const basic_string*>>,
1417:    __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
1417:    _Res>;
1417: 
1417: 
1417:      
1417:       static __sv_type
1417:       _S_to_string_view(__sv_type __svt) noexcept
1417:       { return __svt; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       struct __sv_wrapper
1417:       {
1417:  explicit
1417:  __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
1417: 
1417:  __sv_type _M_sv;
1417:       };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       explicit
1417:       basic_string(__sv_wrapper __svw, const _Alloc& __a)
1417:       : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
1417: 
1417: 
1417: 
1417:       struct _Alloc_hider : allocator_type
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  _Alloc_hider(pointer __dat, const _Alloc& __a)
1417:  : allocator_type(__a), _M_p(__dat) { }
1417: 
1417: 
1417:  _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
1417:  : allocator_type(std::move(__a)), _M_p(__dat) { }
1417: 
1417: 
1417:  pointer _M_p;
1417:       };
1417: 
1417:       _Alloc_hider _M_dataplus;
1417:       size_type _M_string_length;
1417: 
1417:       enum { _S_local_capacity = 15 / sizeof(_CharT) };
1417: 
1417:       union
1417:       {
1417:  _CharT _M_local_buf[_S_local_capacity + 1];
1417:  size_type _M_allocated_capacity;
1417:       };
1417: 
1417:      
1417:       void
1417:       _M_data(pointer __p)
1417:       { _M_dataplus._M_p = __p; }
1417: 
1417:      
1417:       void
1417:       _M_length(size_type __length)
1417:       { _M_string_length = __length; }
1417: 
1417:      
1417:       pointer
1417:       _M_data() const
1417:       { return _M_dataplus._M_p; }
1417: 
1417:      
1417:       pointer
1417:       _M_local_data()
1417:       {
1417: 
1417:  return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
1417: 
1417: 
1417: 
1417:       }
1417: 
1417:      
1417:       const_pointer
1417:       _M_local_data() const
1417:       {
1417: 
1417:  return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
1417: 
1417: 
1417: 
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_capacity(size_type __capacity)
1417:       { _M_allocated_capacity = __capacity; }
1417: 
1417:      
1417:       void
1417:       _M_set_length(size_type __n)
1417:       {
1417:  _M_length(__n);
1417:  traits_type::assign(_M_data()[__n], _CharT());
1417:       }
1417: 
1417:      
1417:       bool
1417:       _M_is_local() const
1417:       { return _M_data() == _M_local_data(); }
1417: 
1417: 
1417:      
1417:       pointer
1417:       _M_create(size_type&, size_type);
1417: 
1417:      
1417:       void
1417:       _M_dispose()
1417:       {
1417:  if (!_M_is_local())
1417:    _M_destroy(_M_allocated_capacity);
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_destroy(size_type __size) throw()
1417:       { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
1417: # 319 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _InIterator>
1417: 
1417:         void
1417:         _M_construct(_InIterator __beg, _InIterator __end,
1417:        std::input_iterator_tag);
1417: 
1417: 
1417: 
1417:       template<typename _FwdIterator>
1417: 
1417:         void
1417:         _M_construct(_FwdIterator __beg, _FwdIterator __end,
1417:        std::forward_iterator_tag);
1417: 
1417:      
1417:       void
1417:       _M_construct(size_type __req, _CharT __c);
1417: 
1417:      
1417:       allocator_type&
1417:       _M_get_allocator()
1417:       { return _M_dataplus; }
1417: 
1417:      
1417:       const allocator_type&
1417:       _M_get_allocator() const
1417:       { return _M_dataplus; }
1417: 
1417: 
1417:       __attribute__((__always_inline__))
1417:       constexpr
1417:       pointer
1417:       _M_use_local_data() noexcept
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  return _M_local_data();
1417:       }
1417: 
1417:     private:
1417: # 377 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       _M_check(size_type __pos, const char* __s) const
1417:       {
1417:  if (__pos > this->size())
1417:    __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)")
1417:                                          ,
1417:        __s, __pos, this->size());
1417:  return __pos;
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
1417:       {
1417:  if (this->max_size() - (this->size() - __n1) < __n2)
1417:    __throw_length_error((__s));
1417:       }
1417: 
1417: 
1417: 
1417:      
1417:       size_type
1417:       _M_limit(size_type __pos, size_type __off) const noexcept
1417:       {
1417:  const bool __testoff = __off < this->size() - __pos;
1417:  return __testoff ? __off : this->size() - __pos;
1417:       }
1417: 
1417: 
1417:       bool
1417:       _M_disjunct(const _CharT* __s) const noexcept
1417:       {
1417:  return (less<const _CharT*>()(__s, _M_data())
1417:   || less<const _CharT*>()(_M_data() + this->size(), __s));
1417:       }
1417: 
1417: 
1417: 
1417:      
1417:       static void
1417:       _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
1417:       {
1417:  if (__n == 1)
1417:    traits_type::assign(*__d, *__s);
1417:  else
1417:    traits_type::copy(__d, __s, __n);
1417:       }
1417: 
1417:      
1417:       static void
1417:       _S_move(_CharT* __d, const _CharT* __s, size_type __n)
1417:       {
1417:  if (__n == 1)
1417:    traits_type::assign(*__d, *__s);
1417:  else
1417:    traits_type::move(__d, __s, __n);
1417:       }
1417: 
1417:      
1417:       static void
1417:       _S_assign(_CharT* __d, size_type __n, _CharT __c)
1417:       {
1417:  if (__n == 1)
1417:    traits_type::assign(*__d, __c);
1417:  else
1417:    traits_type::assign(__d, __n, __c);
1417:       }
1417: 
1417: 
1417: 
1417:       template<class _Iterator>
1417: 
1417:         static void
1417:         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
1417:         {
1417:    for (; __k1 != __k2; ++__k1, (void)++__p)
1417:      traits_type::assign(*__p, *__k1);
1417:  }
1417: 
1417:      
1417:       static void
1417:       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept
1417:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1417: 
1417:      
1417:       static void
1417:       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
1417:       noexcept
1417:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1417: 
1417:      
1417:       static void
1417:       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept
1417:       { _S_copy(__p, __k1, __k2 - __k1); }
1417: 
1417:      
1417:       static void
1417:       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
1417:       noexcept
1417:       { _S_copy(__p, __k1, __k2 - __k1); }
1417: 
1417:      
1417:       static int
1417:       _S_compare(size_type __n1, size_type __n2) noexcept
1417:       {
1417:  const difference_type __d = difference_type(__n1 - __n2);
1417: 
1417:  if (__d > __gnu_cxx::__numeric_traits<int>::__max)
1417:    return __gnu_cxx::__numeric_traits<int>::__max;
1417:  else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
1417:    return __gnu_cxx::__numeric_traits<int>::__min;
1417:  else
1417:    return int(__d);
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_assign(const basic_string&);
1417: 
1417:      
1417:       void
1417:       _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1417:   size_type __len2);
1417: 
1417:      
1417:       void
1417:       _M_erase(size_type __pos, size_type __n);
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string()
1417:       noexcept(is_nothrow_default_constructible<_Alloc>::value)
1417:       : _M_dataplus(_M_local_data())
1417:       {
1417:  _M_use_local_data();
1417:  _M_set_length(0);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       explicit
1417:       basic_string(const _Alloc& __a) noexcept
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       {
1417:  _M_use_local_data();
1417:  _M_set_length(0);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string(const basic_string& __str)
1417:       : _M_dataplus(_M_local_data(),
1417:       _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
1417:       {
1417:  _M_construct(__str._M_data(), __str._M_data() + __str.length(),
1417:        std::forward_iterator_tag());
1417:       }
1417: # 556 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string(const basic_string& __str, size_type __pos,
1417:      const _Alloc& __a = _Alloc())
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       {
1417:  const _CharT* __start = __str._M_data()
1417:    + __str._M_check(__pos, "basic_string::basic_string");
1417:  _M_construct(__start, __start + __str._M_limit(__pos, npos),
1417:        std::forward_iterator_tag());
1417:       }
1417: 
1417: 
1417: 
9:       : is_floating_point<_Rep>
609:       { };
609: 
609: 
609:     template <typename _Rep>
609:       inline constexpr bool treat_as_floating_point_v =
609:  treat_as_floating_point<_Rep>::value;
609: # 332 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _ToDur, typename _Rep, typename _Period>
609:       constexpr __enable_if_is_duration<_ToDur>
609:       floor(const duration<_Rep, _Period>& __d)
609:       {
609:  auto __to = chrono::duration_cast<_ToDur>(__d);
609:  if (__to > __d)
609:    return __to - _ToDur{1};
609:  return __to;
609:       }
609: 
609:     template<typename _ToDur, typename _Rep, typename _Period>
609:       constexpr __enable_if_is_duration<_ToDur>
609:       ceil(const duration<_Rep, _Period>& __d)
609:       {
609:  auto __to = chrono::duration_cast<_ToDur>(__d);
609:  if (__to < __d)
609:    return __to + _ToDur{1};
609:  return __to;
609:       }
609: 
609:     template <typename _ToDur, typename _Rep, typename _Period>
609:       constexpr enable_if_t<
609:  __and_<__is_duration<_ToDur>,
609:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
609:  _ToDur>
609:       round(const duration<_Rep, _Period>& __d)
609:       {
609:  _ToDur __t0 = chrono::floor<_ToDur>(__d);
609:  _ToDur __t1 = __t0 + _ToDur{1};
609:  auto __diff0 = __d - __t0;
609:  auto __diff1 = __t1 - __d;
609:  if (__diff0 == __diff1)
609:  {
609:      if (__t0.count() & 1)
609:   return __t1;
609:      return __t0;
609:  }
609:  else if (__diff0 < __diff1)
609:      return __t0;
609:  return __t1;
609:       }
609: 
609:     template<typename _Rep, typename _Period>
609:       constexpr
609:       enable_if_t<numeric_limits<_Rep>::is_signed, duration<_Rep, _Period>>
609:       abs(duration<_Rep, _Period> __d)
609:       {
609:  if (__d >= __d.zero())
609:    return __d;
609:  return -__d;
609:       }
609: 
609: 
609:     namespace __detail { using chrono::ceil; }
609: # 412 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _Rep>
609:       struct duration_values
609:       {
609:  static constexpr _Rep
609:  zero() noexcept
609:  { return _Rep(0); }
609: 
609:  static constexpr _Rep
609:  max() noexcept
609:  { return numeric_limits<_Rep>::max(); }
609: 
609:  static constexpr _Rep
609:  min() noexcept
609:  { return numeric_limits<_Rep>::lowest(); }
609:       };
609: 
609: 
609: 
609:     template<typename _Tp>
609:       struct __is_ratio
609:       : std::false_type
609:       { };
609: 
609:     template<intmax_t _Num, intmax_t _Den>
609:       struct __is_ratio<ratio<_Num, _Den>>
609:       : std::true_type
609:       { };
609: 
609: 
609: 
609:     template<typename _Rep, typename _Period>
609:       struct duration
609:       {
609:       private:
609:  template<typename _Rep2>
609:    using __is_float = treat_as_floating_point<_Rep2>;
609: 
609:  static constexpr intmax_t
609:  _S_gcd(intmax_t __m, intmax_t __n) noexcept
609:  {
609: 
609: 
609: 
609:    do
609:      {
609:        intmax_t __rem = __m % __n;
609:        __m = __n;
609:        __n = __rem;
609:      }
609:    while (__n != 0);
609:    return __m;
609: 
609: 
609: 
609: 
609: 
609:  }
609: 
609: 
609: 
609: 
609: 
609:  template<typename _R1, typename _R2,
609:    intmax_t __gcd1 = _S_gcd(_R1::num, _R2::num),
609:    intmax_t __gcd2 = _S_gcd(_R1::den, _R2::den)>
609:    using __divide = ratio<(_R1::num / __gcd1) * (_R2::den / __gcd2),
609:      (_R1::den / __gcd2) * (_R2::num / __gcd1)>;
609: 
609: 
609:  template<typename _Period2>
609:    using __is_harmonic
609:      = __bool_constant<__divide<_Period2, _Period>::den == 1>;
609: 
609:       public:
609: 
609:  using rep = _Rep;
609:  using period = typename _Period::type;
609: 
609:  static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
609:  static_assert(__is_ratio<_Period>::value,
609:         "period must be a specialization of ratio");
609:  static_assert(_Period::num > 0, "period must be positive");
609: 
609: 
609:  constexpr duration() = default;
609: 
609:  duration(const duration&) = default;
609: 
609: 
609: 
601417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string(const basic_string& __str, size_type __pos,
1417:      size_type __n)
1417:       : _M_dataplus(_M_local_data())
1417:       {
1417:  const _CharT* __start = __str._M_data()
1417:    + __str._M_check(__pos, "basic_string::basic_string");
1417:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1417:        std::forward_iterator_tag());
1417:       }
1417: # 591 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string(const basic_string& __str, size_type __pos,
1417:      size_type __n, const _Alloc& __a)
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       {
1417:  const _CharT* __start
1417:    = __str._M_data() + __str._M_check(__pos, "string::string");
1417:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1417:        std::forward_iterator_tag());
1417:       }
1417: # 611 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string(const _CharT* __s, size_type __n,
1417:      const _Alloc& __a = _Alloc())
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       {
1417: 
1417:  if (__s == 0 && __n > 0)
1417:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1417:                                                  );
1417:  _M_construct(__s, __s + __n, std::forward_iterator_tag());
1417:       }
1417: # 631 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename = _RequireAllocator<_Alloc>>
1417: 
1417:      
1417:       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       {
1417: 
1417:  if (__s == 0)
1417:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1417:                                                  );
1417:  const _CharT* __end = __s + traits_type::length(__s);
1417:  _M_construct(__s, __end, forward_iterator_tag());
1417:       }
1417: # 654 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename = _RequireAllocator<_Alloc>>
1417: 
1417:      
1417:       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       { _M_construct(__n, __c); }
1417: # 669 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string(basic_string&& __str) noexcept
1417:       : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
1417:       {
1417:  if (__str._M_is_local())
1417:    {
1417:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1417:          __str.length() + 1);
1417:    }
1417:  else
1417:    {
1417:      _M_data(__str._M_data());
1417:      _M_capacity(__str._M_allocated_capacity);
1417:    }
1417: 
1417: 
1417: 
1417: 
1417:  _M_length(__str.length());
1417:  __str._M_data(__str._M_local_data());
1417:  __str._M_set_length(0);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
1417: 
1417:      
1417:       basic_string(const basic_string& __str, const _Alloc& __a)
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
1417: 
1417:      
1417:       basic_string(basic_string&& __str, const _Alloc& __a)
1417:       noexcept(_Alloc_traits::_S_always_equal())
1417:       : _M_dataplus(_M_local_data(), __a)
1417:       {
1417:  if (__str._M_is_local())
1417:    {
1417:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1417:          __str.length() + 1);
1417:      _M_length(__str.length());
1417:      __str._M_set_length(0);
1417:    }
1417:  else if (_Alloc_traits::_S_always_equal()
1417:      || __str.get_allocator() == __a)
1417:    {
1417:      _M_data(__str._M_data());
1417:      _M_length(__str.length());
1417:      _M_capacity(__str._M_allocated_capacity);
1417:      __str._M_M_i, __i, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       load(memory_order __m = memory_order_seq_cst) const noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_load_n(&_M_i, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_load_n(&_M_i, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       exchange(__int_type __i,
1115:         memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1115:       }
1115: 
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       exchange(__int_type __i,
1115:         memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1115:        memory_order __m1, memory_order __m2) noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1115:         int(__m1), int(__m2));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1115:        memory_order __m1,
1115:        memory_order __m2) volatile noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1115:         int(__m1), int(__m2));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1115:        memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  return compare_exchange_weak(__i1, __i2, __m,
1115:          __cmpexch_failure_order(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1115:      memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  return compare_exchange_weak(__i1, __i2, __m,
1115:          __cmpexch_failure_order(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1115:          memory_order __m1, memory_order __m2) noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
1115:         int(__m1), int(__m2));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1115:          memory_order __m1,
1115:          memory_order __m2) volatile noexcept
1115:       {
1115:  do { if (std::__is_constant_e_data(__str._M_local_buf);
1417:      __str._M_set_length(0);
1417:    }
1417:  else
1417:    _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag());
1417:       }
1417: # 745 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417: 
1417: 
1417: 
1417:         basic_string(_InputIterator __beg, _InputIterator __end,
1417:        const _Alloc& __a = _Alloc())
1417:  : _M_dataplus(_M_local_data(), __a)
1417:  {
1417: 
1417:    _M_construct(__beg, __end, std::__iterator_category(__beg));
1417: 
1417: 
1417: 
1417: 
1417:  }
1417: # 771 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp,
1417:         typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
1417: 
1417:  basic_string(const _Tp& __t, size_type __pos, size_type __n,
1417:        const _Alloc& __a = _Alloc())
1417:  : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Tp, typename = _If_sv<_Tp, void>>
1417: 
1417:  explicit
1417:  basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
1417:  : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       ~basic_string()
1417:       { _M_dispose(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       operator=(const basic_string& __str)
1417:       {
1417:  return this->assign(__str);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       operator=(const _CharT* __s)
1417:       { return this->assign(__s); }
1417: # 824 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       operator=(_CharT __c)
1417:       {
1417:  this->assign(1, __c);
1417:  return *this;
1417:       }
1417: # 842 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       operator=(basic_string&& __str)
1417:       noexcept(_Alloc_traits::_S_nothrow_move())
1417:       {
1417:  if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
1417:      && !_Alloc_traits::_S_always_equal()
1417:      && _M_get_allocator() != __str._M_get_allocator())
1417:    {
1417: 
1417:      _M_destroy(_M_allocated_capacity);
1417:      _M_data(_M_local_data());
1417:      _M_set_length(0);
1417:    }
1417: 
1417:  std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
1417: 
1417:  if (__str._M_is_local())
1417:    {
1417: 
1417: 
1417: 
1417:      if (__builtin_expect(std::__addressof(__str) != this, true))
1417:        {
1417:   if (__str.size())
1417:     this->_S_copy(_M_data(), __str._M_data(), __str.size());
1417:   _M_set_length(__str.size());
1417:        }
1417:    }
1417:  else if (_Alloc_traits::_S_propagate_on_move_assign()
1417:      || _Alloc_traits::_S_always_equal()
1417:      || _M_get_allocator() == __str._M_get_allocator())
1417:    {
1417: 
1417:      pointer __data = nullptr;
1417:      size_type __capacity;
1417:      if (!_M_is_local())
1417:        {
1417:   if (_Alloc_traits::_S_always_equal())
1417:     {
1417: 
1417:       __data = _M_data();
1417:       __capacity = _M_allocated_capacity;
1417:     }
1417:   else
1417:     _M_destroy(_M_allocated_capacity);
1417:        }
1417: 
1417:      _M_data(__str._M_data());
1417:      _M_length(__str.length());
1417:      _M_capacity(__str._M_allocated_capacity);
1417:      if (__data)
1417:        {
1417:   __str._M_data(__data);
1417:   __str._M_capacity(__capacity);
1417:        }
1417:      else
1417:        __str._M_data(__str._M_local_buf);
1417:    }
1417:  else
1417:    assign(__str);
1417:  __str.clear();
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       operator=(initializer_list<_CharT> __l)
1417:       {
1417:  this->assign(__l.begin(), __l.size());
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      template<typename _Tp>
1417:       
1417:        _If_sv<_Tp, basic_string&>
1417:        operator=(const _Tp& __svt)
1417:        { return this->assign(__svt); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       operator __sv_type() const noexcept
1417:       { return __sv_type(data(), size()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       iterator
1417:       begin() noexcept
1417:       { return iterator(_M_data()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return const_iterator(_M_data()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       iterator
1417:       end() noexcept
1417:       { return iterator(_M_data() + this->size()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_iterator
1417:       end() const noexcept
1417:       { return const_iterator(_M_data() + this->size()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return reverse_iterator(this->end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(this->end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return reverse_iterator(this->begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(this->begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return const_iterator(this->_M_data()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return const_iterator(this->_M_data() + this->size()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return const_reverse_iterator(this->end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_reverse_iterator
1417:       crend() const noexcept
1417:       { return const_reverse_iterator(this->begin()); }
1417: 
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:      
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_string_length; }
1417: 
1417: 
1417: 
1417:      
1417:       size_type
1417:       length() const noexcept
1417:       { return _M_string_length; }
1417: 
1417: 
1417:      
1417:       size_type
1417:       max_size() const noexcept
1417:       { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; }
1417: # 1089 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       void
1417:       resize(size_type __n, _CharT __c);
1417: # 1103 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       void
1417:       resize(size_type __n)
1417:       { this->resize(__n, _CharT()); }
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417:      
1417:       void
1417:       shrink_to_fit() noexcept
1417:       { reserve(); }
1417: #pragma GCC diagnostic pop
1417: # 1130 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       capacity() const noexcept
1417:       {
1417:  return _M_is_local() ? size_type(_S_local_capacity)
1417:                       : _M_allocated_capacity;
1417:       }
1417: # 1155 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       void
1417:       reserve(size_type __res_arg);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       reserve();
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       clear() noexcept
1417:       { _M_set_length(0); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       bool
1417:       em9:  template<typename _Rep2, typename = _Require<
609:    is_convertible<const _Rep2&, rep>,
609:    __or_<__is_float<rep>, __not_<__is_float<_Rep2>>>>>
609:    constexpr explicit duration(const _Rep2& __rep)
609:    : __r(static_cast<rep>(__rep)) { }
609: 
609:  template<typename _Rep2, typename _Period2, typename = _Require<
609:    is_convertible<const _Rep2&, rep>,
609:    __or_<__is_float<rep>,
609:          __and_<__is_harmonic<_Period2>,
609:          __not_<__is_float<_Rep2>>>>>>
609:    constexpr duration(const duration<_Rep2, _Period2>& __d)
609:    : __r(duration_cast<duration>(__d).count()) { }
609: 
609:  ~duration() = default;
609:  duration& operator=(const duration&) = default;
609: 
609: 
609:  constexpr rep
609:  count() const
609:  { return __r; }
609: 
609: 
609: 
609:  constexpr duration<typename common_type<rep>::type, period>
609:  operator+() const
609:  { return duration<typename common_type<rep>::type, period>(__r); }
609: 
609:  constexpr duration<typename common_type<rep>::type, period>
609:  operator-() const
609:  { return duration<typename common_type<rep>::type, period>(-__r); }
609: 
609:  constexpr duration&
609:  operator++()
609:  {
609:    ++__r;
609:    return *this;
609:  }
609: 
609:  constexpr duration
609:  operator++(int)
609:  { return duration(__r++); }
609: 
609:  constexpr duration&
609:  operator--()
609:  {
609:    --__r;
609:    return *this;
609:  }
609: 
609:  constexpr duration
609:  operator--(int)
609:  { return duration(__r--); }
609: 
609:  constexpr duration&
609:  operator+=(const duration& __d)
609:  {
609:    __r += __d.count();
609:    return *this;
609:  }
609: 
609:  constexpr duration&
609:  operator-=(const duration& __d)
609:  {
609:    __r -= __d.count();
609:    return *this;
609:  }
609: 
609:  constexpr duration&
609:  operator*=(const rep& __rhs)
609:  {
609:    __r *= __rhs;
609:    return *this;
609:  }
609: 
609:  constexpr duration&
609:  operator/=(const rep& __rhs)
609:  {
609:    __r /= __rhs;
609:    return *this;
609:  }
609: 
609: 
609:  template<typename _Rep2 = rep>
609:    constexpr
609:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
609:         duration&>::type
609:    operator%=(const rep& __rhs)
609:    {
609:      __r %= __rhs;
609:      return *this;
609:    }
609: 
609:  template<typename _Rep2 = rep>
609:    constexpr
609:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
609:         duration&>::type
609:    operator%=(const duration& __d)
609:    {
609:      __r %= __d.count();
609:      return *this;
609:    }
609: 
609: 
609:  static constexpr duration
609:  zero() noexcept
609:  { return duration(duration_values<rep>::zero()); }
609: 
609:  static constexpr duration
609:  min() noexcept
609:  { return duration(duration_values<rep>::min()); }
609: 
609:  static constexpr duration
609:  max() noexcept
609:  { return duration(duration_values<rep>::max()); }
609: 
609:       private:
609:  rep __r;
609:       };
609: 
609: 
609: 
609: 
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr typename common_type<duration<_Rep1, _Period1>,
609:          duration<_Rep2, _Period2>>::type
609:       operator+(const duration<_Rep1, _Period1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep1, _Period1> __dur1;
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<__dur1,__dur2>::type __cd;
609:  return __cd(__cd(__lhs).count() + __cd(__rhs).count());
609:       }
609: 
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr typename common_type<duration<_Rep1, _Period1>,
609:          duration<_Rep2, _Period2>>::type
609:       operator-(const duration<_Rep1, _Period1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep1, _Period1> __dur1;
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<__dur1,__dur2>::type __cd;
609:  pty() const noexcept
1417:       { return this->size() == 0; }
1417: # 1197 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       const_reference
1417:       operator[] (size_type __pos) const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1417:  return _M_data()[__pos];
1417:       }
1417: # 1215 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       reference
1417:       operator[](size_type __pos)
1417:       {
1417: 
1417: 
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1417: 
1417:  ;
1417:  return _M_data()[__pos];
1417:       }
1417: # 1237 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       const_reference
1417:       at(size_type __n) const
1417:       {
1417:  if (__n >= this->size())
1417:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1417: 
1417:                             ,
1417:        __n, this->size());
1417:  return _M_data()[__n];
1417:       }
1417: # 1259 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       reference
1417:       at(size_type __n)
1417:       {
1417:  if (__n >= size())
1417:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1417: 
1417:                             ,
1417:        __n, this->size());
1417:  return _M_data()[__n];
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       reference
1417:       front() noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1417:  return operator[](0);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_reference
1417:       front() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1417:  return operator[](0);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       reference
1417:       back() noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1417:  return operator[](this->size() - 1);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       const_reference
1417:       back() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1417:  return operator[](this->size() - 1);
1417:       }
1417: # 1327 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       operator+=(const basic_string& __str)
1417:       { return this->append(__str); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       operator+=(const _CharT* __s)
1417:       { return this->append(__s); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       operator+=(_CharT __c)
1417:       {
1417:  this->push_back(__c);
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       operator+=(initializer_list<_CharT> __l)
1417:       { return this->append(__l.begin(), __l.size()); }
1417: # 1373 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  operator+=(const _Tp& __svt)
1417:  { return this->append(__svt); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       append(const basic_string& __str)
1417:       { return this->append(__str._M_data(), __str.size()); }
1417: # 1403 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       append(const basic_string& __str, size_type __pos, size_type __n = npos)
1417:       { return this->append(__str._M_data()
1417:        + __str._M_check(__pos, "basic_string::append"),return __cd(__cd(__lhs).count() - __cd(__rhs).count());
609:       }
609: # 661 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _Rep1, typename _Rep2,
609:       typename _CRep = typename common_type<_Rep1, _Rep2>::type>
609:       using __common_rep_t = typename
609:  enable_if<is_convertible<const _Rep2&, _CRep>::value, _CRep>::type;
609: # 673 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _Rep1, typename _Period, typename _Rep2>
609:       constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period>
609:       operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
609:       {
609:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
609:    __cd;
609:  return __cd(__cd(__d).count() * __s);
609:       }
609: 
609:     template<typename _Rep1, typename _Rep2, typename _Period>
609:       constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period>
609:       operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d)
609:       { return __d * __s; }
609: 
609:     template<typename _Rep1, typename _Period, typename _Rep2>
609:       constexpr
609:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
609:       operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
609:       {
609:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
609:    __cd;
609:  return __cd(__cd(__d).count() / __s);
609:       }
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr typename common_type<_Rep1, _Rep2>::type
609:       operator/(const duration<_Rep1, _Period1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep1, _Period1> __dur1;
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<__dur1,__dur2>::type __cd;
609:  return __cd(__lhs).count() / __cd(__rhs).count();
609:       }
609: 
609: 
609:     template<typename _Rep1, typename _Period, typename _Rep2>
609:       constexpr
609:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
609:       operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
609:       {
609:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
609:    __cd;
609:  return __cd(__cd(__d).count() % __s);
609:       }
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr typename common_type<duration<_Rep1, _Period1>,
609:          duration<_Rep2, _Period2>>::type
609:       operator%(const duration<_Rep1, _Period1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep1, _Period1> __dur1;
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<__dur1,__dur2>::type __cd;
609:  return __cd(__cd(__lhs).count() % __cd(__rhs).count());
609:       }
609: # 741 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr bool
609:       operator==(const duration<_Rep1, _Period1>& __lhs,
609:    const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep1, _Period1> __dur1;
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<__dur1,__dur2>::type __ct;
609:  return __ct(__lhs).count() == __ct(__rhs).count();
609:       }
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr bool
609:       operator<(const duration<_Rep1, _Period1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep1, _Period1> __dur1;
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<__dur1,__dur2>::type __ct;
609:  return __ct(__lhs).count() < __ct(__rhs).count();
609:       }
609: # 778 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Pe
1417:        __str._M_limit(__pos, __n)); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       append(const _CharT* __s, size_type __n)
1417:       {
1417:  ;
1417:  _M_check_length(size_type(0), __n, "basic_string::append");
1417:  return _M_append(__s, __n);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       append(const _CharT* __s)
1417:       {
1417:  ;
1417:  const size_type __n = traits_type::length(__s);
1417:  _M_check_length(size_type(0), __n, "basic_string::append");
1417:  return _M_append(__s, __n);
1417:       }
1417: # 1448 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       append(size_type __n, _CharT __c)
1417:       { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       append(initializer_list<_CharT> __l)
1417:       { return this->append(__l.begin(), __l.size()); }
1417: # 1474 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<class _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417: 
1417: 
1417: 
1417:         basic_string&
1417:         append(_InputIterator __first, _InputIterator __last)
1417:         { return this->replace(end(), end(), __first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Tp>
1417: 
1417:         _If_sv<_Tp, basic_string&>
1417:         append(const _Tp& __svt)
1417:         {
1417:           __sv_type __sv = __svt;
1417:           return this->append(__sv.data(), __sv.size());
1417:         }
1417: # 1506 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:         _If_sv<_Tp, basic_string&>
1417:  append(const _Tp& __svt, size_type __pos, size_type __n = npos)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return _M_append(__sv.data()
1417:        + std::__sv_check(__sv.size(), __pos, "basic_string::append"),
1417:        std::__sv_limit(__sv.size(), __pos, __n));
1417:  }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       push_back(_CharT __c)
1417:       {
1417:  const size_type __size = this->size();
1417:  if (__size + 1 > this->capacity())
1417:    this->_M_mutate(__size, size_type(0), 0, size_type(1));
1417:  traits_type::assign(this->_M_data()[__size], __c);
1417:  this->_M_set_length(__size + 1);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       assign(const basic_string& __str)
1417:       {
1417: 
1417:  if (_Alloc_traits::_S_propagate_on_copy_assign())
1417:    {
1417:      if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
1417:   && _M_get_allocator() != __str._M_get_allocator())
1417:        {
1417: 
1417: 
1417:   if (__str.size() <= _S_local_capacity)
1417:     {
1417:       _M_destroy(_M_allocated_capacity);
1417:       _M_data(_M_use_local_data());
1417:       _M_set_length(0);
1417:     }
1417:   else
1417:     {
1417:       const auto __len = __str.size();
1417:       auto __alloc = __str._M_get_allocator();
1417: 
1417:       auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1);
1417:       _M_destroy(_M_allocated_capacity);
1417:       _M_data(__ptr);
1417:       _M_capacity(__len);
1417:       _M_set_length(__len);
1417:     }
1417:        }
1417:      std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
1417:    }
1417: 
1417:  this->_M_assign(__str);
1417:  return *this;
1417:       }
1417: # 1584 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       assign(basic_string&& __str)
1417:       noexcept(_Alloc_traits::_S_nothrow_move())
1417:       {
1417: 
1417: 
1417:  return *this = std::move(__str);
1417:       }
1417: # 1608 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       assign(const basic_string& __str, size_type __pos, size_type __n = npos)
1417:       { returiod2>
609:       constexpr bool
609:       operator!=(const duration<_Rep1, _Period1>& __lhs,
609:    const duration<_Rep2, _Period2>& __rhs)
609:       { return !(__lhs == __rhs); }
609: 
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr bool
609:       operator<=(const duration<_Rep1, _Period1>& __lhs,
609:    const duration<_Rep2, _Period2>& __rhs)
609:       { return !(__rhs < __lhs); }
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr bool
609:       operator>(const duration<_Rep1, _Period1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       { return __rhs < __lhs; }
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Rep2, typename _Period2>
609:       constexpr bool
609:       operator>=(const duration<_Rep1, _Period1>& __lhs,
609:    const duration<_Rep2, _Period2>& __rhs)
609:       { return !(__lhs < __rhs); }
609: # 822 "/usr/include/c++/12/bits/chrono.h" 3
609:     using nanoseconds = duration<int64_t, nano>;
609: 
609: 
609:     using microseconds = duration<int64_t, micro>;
609: 
609: 
609:     using milliseconds = duration<int64_t, milli>;
609: 
609: 
609:     using seconds = duration<int64_t>;
609: 
609: 
609:     using minutes = duration<int64_t, ratio< 60>>;
609: 
609: 
609:     using hours = duration<int64_t, ratio<3600>>;
609: # 855 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _Clock, typename _Dur>
609:       struct time_point
609:       {
609:  static_assert(__is_duration<_Dur>::value,
609:      "duration must be a specialization of std::chrono::duration");
609: 
609:  typedef _Clock clock;
609:  typedef _Dur duration;
609:  typedef typename duration::rep rep;
609:  typedef typename duration::period period;
609: 
609:  constexpr time_point() : __d(duration::zero())
609:  { }
609: 
609:  constexpr explicit time_point(const duration& __dur)
609:  : __d(__dur)
609:  { }
609: 
609: 
609:  template<typename _Dur2,
609:    typename = _Require<is_convertible<_Dur2, _Dur>>>
609:    constexpr time_point(const time_point<clock, _Dur2>& __t)
609:    : __d(__t.time_since_epoch())
609:    { }
609: 
609: 
609:  constexpr duration
609:  time_since_epoch() const
609:  { return __d; }
609: # 910 "/usr/include/c++/12/bits/chrono.h" 3
609:  constexpr time_point&
609:  operator+=(const duration& __dur)
609:  {
609:    __d += __dur;
609:    return *this;
609:  }
609: 
609:  constexpr time_point&
609:  operator-=(const duration& __dur)
609:  {
609:    __d -= __dur;
609:    return *this;
609:  }
609: 
609: 
609:  static constexpr time_point
609:  min() noexcept
609:  { return time_point(duration::min()); }
609: 
609:  static constexpr time_point
609:  max() noexcept
609:  { return time_point(duration::max()); }
609: 
609:       private:
609:  duration __d;
609:       };
609: 
609: 
609:     template<typename _ToDur, typename _Clock, typename _Dur>
609:       constexpr typename enable_if<__is_duration<_ToDur>::value,
609:        time_point<_Clock, _ToDur>>::type
609:       time_point_cast(const time_point<_Clock, _Dur>& __t)
609:       {
609:  typedef time_point<_Clock, _ToDur> __time_point;
609:  return __time_point(duration_cast<_ToDur>(__t.time_since_epoch()));
609:       }
609: 
609: 
609:     template<typename _ToDur, typename _Clock, typename _Dur>
609:       constexpr
609:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
609:       floor(const time_point<_Clock, _Dur>& __tp)
609:       {
609:  return time_point<_Clock, _ToDur>{
609:      chrono::floor<_ToDur>(__tp.time_since_epoch())};
609:       }
609: 
609:     template<typename _ToDur, typename _Clock, typename _Dur>
609:       constexpr
609:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
609:       ceil(const time_point<_Clock, _Dur>& __tp)
609:       {
609:  return time_point<_Clock, _ToDur>{
609:      chrono::ceil<_ToDur>(__tp.time_since_epoch())};
609:       }
609: 
609:     template<typenamern _M_replace(size_type(0), this->size(), __str._M_data()
1417:      + __str._M_check(__pos, "basic_string::assign"),
1417:      __str._M_limit(__pos, __n)); }
1417: # 1625 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       assign(const _CharT* __s, size_type __n)
1417:       {
1417:  ;
1417:  return _M_replace(size_type(0), this->size(), __s, __n);
1417:       }
1417: # 1642 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       assign(const _CharT* __s)
1417:       {
1417:  ;
1417:  return _M_replace(size_type(0), this->size(), __s,
1417:      traits_type::length(__s));
1417:       }
1417: # 1660 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       assign(size_type __n, _CharT __c)
1417:       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
1417: # 1674 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<class _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417: 
1417: 
1417: 
1417:         basic_string&
1417:         assign(_InputIterator __first, _InputIterator __last)
1417:         { return this->replace(begin(), end(), __first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       basic_string&
1417:       assign(initializer_list<_CharT> __l)
1417:       { return this->assign(__l.begin(), __l.size()); }
1417: # 1702 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  assign(const _Tp& __svt)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->assign(__sv.data(), __sv.size());
1417:  }
1417: # 1718 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return _M_replace(size_type(0), this->size(),
1417:        __sv.data()
1417:        + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
1417:        std::__sv_limit(__sv.size(), __pos, __n));
1417:  }
1417: # 1747 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       iterator
1417:       insert(const_iterator __p, size_type __n, _CharT __c)
1417:       {
1417:  ;
1417:  const size_type __pos = __p - begin();
1417:  this->replace(__p, __p, __n, __c);
1417:  return iterator(this->_M_data() + __pos);
1417:       }
1417: # 1790 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<class _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:  iterator
1417:         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
1417:         {
1417:    ;
1417:    const size_type __pos = __p - begin();
1417:    this->replace(__p, __p, __beg, __end);
1417:    return iterator(this->_M_data() + __pos);
1417:  }
1417: # 1827 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       iterator
1417:       insert(const_iterator __p, initializer_list<_CharT> __l)
1417:       { return this->insert(__p, __l.begin(), __l.end()); }
1417: # 1855 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       insert(size_type __pos1, const basic_string& __str)
1417:       { return this->replace(__pos1, size_type(0),
1417:         __str._M_data(), __str.size()); }
1417: # 1879 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       insert(size_type __pos1, const basic_string& __str,
1417:       size_type __pos2, size_type __n = npos)
1417:       { return this->replace(__pos1, size_type(0), __str._M_data()
1417:         + __str._M_check(__pos2, "basic_string::insert"),
1417:         __str._M_limit(__pos2, __n)); }
1417: # 1903 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       insert(size_type __pos, const _CharT* __s, size_type __n)
1417:       { return this->replace(__pos, size_type(0), __s, __n); }
1 _ToDur, typename _Clock, typename _Dur>
609:       constexpr enable_if_t<
609:  __and_<__is_duration<_ToDur>,
609:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
609:  time_point<_Clock, _ToDur>>
609:       round(const time_point<_Clock, _Dur>& __tp)
609:       {
609:  return time_point<_Clock, _ToDur>{
609:      chrono::round<_ToDur>(__tp.time_since_epoch())};
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:     template<typename _Clock, typename _Dur1,
609:       typename _Rep2, typename _Period2>
609:       constexpr time_point<_Clock,
609:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
609:       operator+(const time_point<_Clock, _Dur1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<_Dur1,__dur2>::type __ct;
609:  typedef time_point<_Clock, __ct> __time_point;
609:  return __time_point(__lhs.time_since_epoch() + __rhs);
609:       }
609: 
609: 
609:     template<typename _Rep1, typename _Period1,
609:       typename _Clock, typename _Dur2>
609:       constexpr time_point<_Clock,
609:  typename common_type<duration<_Rep1, _Period1>, _Dur2>::type>
609:       operator+(const duration<_Rep1, _Period1>& __lhs,
609:   const time_point<_Clock, _Dur2>& __rhs)
609:       {
609:  typedef duration<_Rep1, _Period1> __dur1;
609:  typedef typename common_type<__dur1,_Dur2>::type __ct;
609:  typedef time_point<_Clock, __ct> __time_point;
609:  return __time_point(__rhs.time_since_epoch() + __lhs);
609:       }
609: 
609: 
609:     template<typename _Clock, typename _Dur1,
609:       typename _Rep2, typename _Period2>
609:       constexpr time_point<_Clock,
609:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
609:       operator-(const time_point<_Clock, _Dur1>& __lhs,
609:   const duration<_Rep2, _Period2>& __rhs)
609:       {
609:  typedef duration<_Rep2, _Period2> __dur2;
609:  typedef typename common_type<_Dur1,__dur2>::type __ct;
609:  typedef time_point<_Clock, __ct> __time_point;
609:  return __time_point(__lhs.time_since_epoch() -__rhs);
609:       }
609: 
609: 
609:     template<typename _Clock, typename _Dur1, typename _Dur2>
609:       constexpr typename common_type<_Dur1, _Dur2>::type
609:       operator-(const time_point<_Clock, _Dur1>& __lhs,
609:   const time_point<_Clock, _Dur2>& __rhs)
609:       { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     template<typename _Clock, typename _Dur1, typename _Dur2>
609:       constexpr bool
609:       operator==(const time_point<_Clock, _Dur1>& __lhs,
609:    const time_point<_Clock, _Dur2>& __rhs)
609:       { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); }
609: # 1050 "/usr/include/c++/12/bits/chrono.h" 3
609:     template<typename _Clock, typename _Dur1, typename _Dur2>
609:       constexpr bool
609:       operator!=(const time_point<_Clock, _Dur1>& __lhs,
609:    const time_point<_Clock, _Dur2>& __rhs)
609:       { return !(__lhs == __rhs); }
609: 
609: 
609:     template<typename _Clock, typename _Dur1, typename _Dur2>
609:       constexpr bool
609:       operator<(const time_point<_Clock, _Dur1>& __lhs,
609:   const time_point<_Clock, _Dur2>& __rhs)
609:       { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); }
609: 
609:     template<typename _Clock, typename _Dur1, typename _Dur2>
609:       constexpr bool
609:       operator<=(const time_point<_Clock, _Dur1>& __lhs,
609:    const time_point<_Clock, _Dur2>& __rhs)
609:       { return !(__rhs < __lhs); }
609: 
609:     template<typename _Clock, typename _Dur1, typename _Dur2>
609:       constexpr bool
609:       operator>(const time_point<_Clock, _Dur1>& __lhs,
609:   const time_point<_Clock, _Dur2>& __rhs)
609:       { return __rhs < __lhs; }
609: 
609:     template<typename _Clock, typename _Dur1, typename _Dur2>
609:       constexpr bool
609:       operator>=(const time_point<_Clock, _Dur1>& __lhs,
609:    const time_point<_Clock, _Dur2>& __rhs)
609:       { return !(__lhs < __rhs); }
609: # 1102 "/usr/include/c++/12/bits/chrono.h" 3
609:     inline namespace _V2 {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     struct system_clock
609:     {
609:       typedef chrono::nanoseconds duration;
609:       typedef duration::rep rep;
609:       typedef duration::period period;
609:       typedef chrono::time_point<system_clock, duration> time_point;
609: 
609:       static_assert(system_clock::duration::min()
609:       < system_clock::duration::zero(),
609:       "a clock's minimum duration cannot be less than its epoch");
609: 
609:       static constexpr bool is_steady = false;
609: 
609:       static time_point
609:       now() noexcept;
609: 
609: 
609:       static std::time_t
609:       to_time_t(const time_point& __t) noexcept
609:       {
609:  return std::time_t(duration_cast<chrono::seconds>
609:       (__t.time_since_epoch()).count());
609:       }
609: 
609:       static time_point
609:       from_time_t(std::time_t __t) noexcept
609:       {
609:  typedef chrono::time_point<system_clock, seconds> __from;
609:  return time_point_cast<system_clock::duration>
609:         (__from(chrono::seconds(__t)));
609:       }
609:     };
609: # 1150 "/usr/include/c++/12/bits/chrono.h" 3
609:     struct steady_clock
609:     {
609:       typedef chrono::nanoseconds duration;
609:       typedef duration::rep rep;
609:       typedef duration::period period;
609:       typedef chrono::time_point<steady_clock, duration> time_point;
609: 
609:       static constexpr bool is_steady = true;
609: 
609:       static time_point
609:       now() noexcept;
609:     };
609: # 1172 "/usr/include/c++/12/bits/chrono.h" 3
609:     using high_resolution_clock = system_clock;
609: 
609:     }
609: # 1198 "/usr/include/c++/12/bits/chrono.h" 3
609:   }
609: 
609: 
609: 
609: 
609:   inline namespace literals
609:   {
609: # 1229 "/usr/include/c++/12/bits/chrono.h" 3
609:   inline namespace chrono_literals
609:   {
609: 
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wliteral-suffix"
609: 
609:     template<typename _Dur, char... _Digits>
609:       constexpr _Dur __check_overflow()
609:       {
609:  using _Val = __parse_int::_Parse_int<_Digits...>;
609:  constexpr typename _Dur::rep __repval = _Val::value;
609:  static_assert(__repval >= 0 && __repval == _Val::value,
609:         "literal value cannot be represented by duration type");
609:  return _Dur(__repval);
609:       }
609: 
609: 
609: 
609:     constexpr chrono::duration<long double, ratio<3600,1>>
609:     operator""h(long double __hours)
609:     { return chrono::duration<long double, ratio<3600,1>>{__hours}; }
609: 
609: 
609:     template <char... _Digits>
609:       constexpr chrono::hours
609:       operator""h()
609:       { return __check_overflow<chrono::hours, _Digits...>(); }
609: 
609: 
609:     constexpr chrono::duration<long double, ratio<60,1>>
609:     operator""min(long double __mins)
609:     { return chrono::duration<long double, ratio<60,1>>{__mins}; }
609: 
609: 
609:     template <char... _Digits>
609:       constexpr chrono::minutes
609:       operator""min()
609:       { return __check_overflow<chrono::minutes, _Digits...>(); }
609: 
609: 
609:     constexpr chrono::duration<long double>
609:     operator""s(long double __secs)
609:     { return chrono::duration<long double>{__secs}; }
609: 
609: 
609:     template <char... _Digits>
609:       constexpr chrono::seconds
609:       operator""s()
609:       { return __check_overflow<chrono::seconds, _Digits...>(); }
609: 
609: 
609:     constexpr chrono::duration<long double, milli>
609:     operator""ms(long double __msecs)
609:     { return chrono::duration<long double, milli>{__msecs}; }
609: 
609: 
609:     template <char... _Digits>
609:       constexpr chrono::milliseconds
609:       operator""ms()
609:       { return __check_overflow<chrono::milliseconds, _Digits...>(); }
609: 
609: 
609:     constexpr chrono::duration<long double, micro>
609:     operator""us(long double __usecs)
609:     { return chrono::duration<long double, micr417: # 1923 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       insert(size_type __pos, const _CharT* __s)
1417:       {
1417:  ;
1417:  return this->replace(__pos, size_type(0), __s,
1417:         traits_type::length(__s));
1417:       }
1417: # 1948 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       insert(size_type __pos, size_type __n, _CharT __c)
1417:       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
1417:          size_type(0), __n, __c); }
1417: # 1967 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       iterator
1417:       insert(__const_iterator __p, _CharT __c)
1417:       {
1417:  ;
1417:  const size_type __pos = __p - begin();
1417:  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
1417:  return iterator(_M_data() + __pos);
1417:       }
1417: # 1984 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  insert(size_type __pos, const _Tp& __svt)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->insert(__pos, __sv.data(), __sv.size());
1417:  }
1417: # 2001 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  insert(size_type __pos1, const _Tp& __svt,
1417:         size_type __pos2, size_type __n = npos)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->replace(__pos1, size_type(0),
1417:        __sv.data()
1417:        + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
1417:        std::__sv_limit(__sv.size(), __pos2, __n));
1417:  }
1417: # 2030 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       erase(size_type __pos = 0, size_type __n = npos)
1417:       {
1417:  _M_check(__pos, "basic_string::erase");
1417:  if (__n == npos)
1417:    this->_M_set_length(__pos);
1417:  else if (__n != 0)
1417:    this->_M_erase(__pos, _M_limit(__pos, __n));
1417:  return *this;
1417:       }
1417: # 2050 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       iterator
1417:       erase(__const_iterator __position)
1417:       {
1417: 
1417:                            ;
1417:  const size_type __pos = __position - begin();
1417:  this->_M_erase(__pos, size_type(1));
1417:  return iterator(_M_data() + __pos);
1417:       }
1417: # 2070 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       iterator
1417:       erase(__const_iterator __first, __const_iterator __last)
1417:       {
1417: 
1417:                         ;
1417:         const size_type __pos = __first - begin();
1417:  if (__last == end())
1417:    this->_M_set_length(__pos);
1417:  else
1417:    this->_M_erase(__pos, __last - __first);
1417:  return iterator(this->_M_data() + __pos);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       pop_back() noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1417:  _M_erase(size() - 1, 1);
1417:       }
1417: # 2116 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(size_type __pos, size_type __n, const basic_string& __str)
1417:       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
1417: # 2139 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(size_type __pos1, size_type __n1, const basic_string& __str,
1417:        size_type __pos2, size_type __n2 = npos)
1417:       { return this->replace(__pos1, __n1, __str._M_data()
1417:         + __str._M_check(__pos2, "basic_string::replace"),
1417:         __str._M_limit(__pos2, __n2)); }
1417: # 2165 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(size_type __pos, size_type __n1, const _CharT* __s,
1417:        size_type __n2)
1417:       {
1417:  ;
1417:  return _M_replace(_M_check(__pos, "basic_strio>{__usecs}; }
609: 
609: 
609:     template <char... _Digits>
609:       constexpr chrono::microseconds
609:       operator""us()
609:       { return __check_overflow<chrono::microseconds, _Digits...>(); }
609: 
609: 
609:     constexpr chrono::duration<long double, nano>
609:     operator""ns(long double __nsecs)
609:     { return chrono::duration<long double, nano>{__nsecs}; }
609: 
609: 
609:     template <char... _Digits>
609:       constexpr chrono::nanoseconds
609:       operator""ns()
609:       { return __check_overflow<chrono::nanoseconds, _Digits...>(); }
609: 
609: #pragma GCC diagnostic pop
609: 
609:   }
609:   }
609: 
609:   namespace chrono
609:   {
609:     using namespace literals::chrono_literals;
609:   }
609: 
609: 
609: 
609:   namespace filesystem
609:   {
609:     struct __file_clock
609:     {
609:       using duration = chrono::nanoseconds;
609:       using rep = duration::rep;
609:       using period = duration::period;
609:       using time_point = chrono::time_point<__file_clock>;
609:       static constexpr bool is_steady = false;
609: 
609:       static time_point
609:       now() noexcept
609:       { return _S_from_sys(chrono::system_clock::now()); }
609: # 1355 "/usr/include/c++/12/bits/chrono.h" 3
609:     private:
609:       using __sys_clock = chrono::system_clock;
609: 
609: 
609: 
609: 
609:       static constexpr chrono::seconds _S_epoch_diff{6437664000};
609: 
609:     protected:
609: 
609:       template<typename _Dur>
609:  static
609:  chrono::time_point<__file_clock, _Dur>
609:  _S_from_sys(const chrono::time_point<__sys_clock, _Dur>& __t) noexcept
609:  {
609:    using __file_time = chrono::time_point<__file_clock, _Dur>;
609:    return __file_time{__t.time_since_epoch()} - _S_epoch_diff;
609:  }
609: 
609: 
609:       template<typename _Dur>
609:  static
609:  chrono::time_point<__sys_clock, _Dur>
609:  _S_to_sys(const chrono::time_point<__file_clock, _Dur>& __t) noexcept
609:  {
609:    using __sys_time = chrono::time_point<__sys_clock, _Dur>;
609:    return __sys_time{__t.time_since_epoch()} + _S_epoch_diff;
609:  }
609:     };
609:   }
609: 
609: 
609: 
609: }
609: # 43 "/usr/include/c++/12/mutex" 2 3
609: # 1 "/usr/include/c++/12/bits/std_mutex.h" 1 3
609: # 33 "/usr/include/c++/12/bits/std_mutex.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/std_mutex.h" 3
609: # 43 "/usr/include/c++/12/bits/std_mutex.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 57 "/usr/include/c++/12/bits/std_mutex.h" 3
609:   class __mutex_base
609:   {
609:   protected:
609:     typedef __gthread_mutex_t __native_type;
609: 
609: 
609:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
609: 
609:     constexpr __mutex_base() noexcept = default;
609: # 78 "/usr/include/c++/12/bits/std_mutex.h" 3
609:     __mutex_base(const __mutex_base&) = delete;
609:     __mutex_base& operator=(const __mutex_base&) = delete;
609:   };
609: 
609: 
609:   class mutex : private __mutex_base
609:   {
609:   public:
609:     typedef __native_type* native_handle_type;
609: 
609: 
609:     constexpr
609: 
609:     mutex() noexcept = default;
609:     ~mutex() = default;
609: 
609:     mutex(const mutex&) = delete;
609:     mutex& operator=(const mutex&) = delete;
609: 
609:     void
609:     lock()
609:     {
609:       int __e = __gthread_mutex_lock(&_M_mutex);
609: 
609: 
609:       if (__e)
609:  __throw_system_error(__e);
609:     }
609: 
609:     bool
609:     try_lock() noexcept
609:     {
609: 
609:       return !__gthread_mutex_trylock(&_M_mutex);
609:     }
609: 
609:     void
609:     unlock()
609:     {
609: 
609:       __gthread_mutex_unlock(&_M_mutex);
609:     }
609: 
609:     native_handle_type
609:     native_handle() noexcept
609:     { return &_M_mutex; }
609:   };
609: 
609: 
609:   class __condvar
609:   {
609:     using timespec = __gthread_time_t;
609: 
609:   public:
609:     __condvar() noexcept
609:     {
609: 
609: 
609: 
609:     }
609: 
609:     ~__condvar()
609:     {
609:       int __e __attribute__((__unused__)) ng::replace"),
1417:      _M_limit(__pos, __n1), __s, __n2);
1417:       }
1417: # 2191 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(size_type __pos, size_type __n1, const _CharT* __s)
1417:       {
1417:  ;
1417:  return this->replace(__pos, __n1, __s, traits_type::length(__s));
1417:       }
1417: # 2216 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
1417:       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
1417:          _M_limit(__pos, __n1), __n2, __c); }
1417: # 2235 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2,
1417:        const basic_string& __str)
1417:       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
1417: # 2256 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2,
1417:        const _CharT* __s, size_type __n)
1417:       {
1417: 
1417:                       ;
1417:  return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
1417:       }
1417: # 2279 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
1417:       {
1417:  ;
1417:  return this->replace(__i1, __i2, __s, traits_type::length(__s));
1417:       }
1417: # 2301 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
1417:        _CharT __c)
1417:       {
1417: 
1417:                       ;
1417:  return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
1417:       }
1417: # 2327 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<class _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:         basic_string&
1417:         replace(const_iterator __i1, const_iterator __i2,
1417:   _InputIterator __k1, _InputIterator __k2)
1417:         {
1417:   
1417:                         ;
1417:    ;
1417:    return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
1417:         std::__false_type());
1417:  }
1417: # 2360 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2,
1417:        _CharT* __k1, _CharT* __k2)
1417:       {
1417: 
1417:                       ;
1417:  ;
1417:  return this->replace(__i1 - begin(), __i2 - __i1,
1417:         __k1, __k2 - __k1);
1417:       }
1417: 
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2,
1417:        const _CharT* __k1, const _CharT* __k2)
1417:       {
1417: 
1417:                       ;
1417:  ;
1417:  return this->replace(__i1 - begin(), __i2 - __i1,
1417:         __k1, __k2 - __k1);
1417:       }
1417: 
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2,
1417:        iterator __k1, iterator __k2)
1417:       {
1417: 
1417:                       ;
1417:  ;
1417:  return this->replace(__i1 - begin(), __i2 - __i1,
1417:         __k1.base(), __k2 - __k1);
1417:       }
1417: 
1417:      
1417:       basic_string&
1417:       replace(__const_iterator __i1, __const_iterator __i2,
1417:        const_iterator __k1, const_iterator __k2)
1417:       {
1417: 
1417:                       ;
1417:  ;
1417:  return this->replace(__i1 - begin(), __i2 - __i1,
1417:         __k1.base(), __k2 - __k1);
1417:       }
1417: # 2423 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string& replace(const_iterator __i1, const_iterator __i2,
1417:        initializer_list<_CharT> __l)
1417:       { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
1417: # 2437 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       templa= __gthread_cond_destroy(&_M_cond);
609:       do { if (std::__is_constant_evaluated() && !bool(__e != 16)) __builtin_unreachable(); } while (false);
609:     }
609: 
609:     __condvar(const __condvar&) = delete;
609:     __condvar& operator=(const __condvar&) = delete;
609: 
609:     __gthread_cond_t* native_handle() noexcept { return &_M_cond; }
609: 
609: 
609:     void
609:     wait(mutex& __m)
609:     {
609:       int __e __attribute__((__unused__))
609:  = __gthread_cond_wait(&_M_cond, __m.native_handle());
609:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
609:     }
609: 
609:     void
609:     wait_until(mutex& __m, timespec& __abs_time)
609:     {
609:       __gthread_cond_timedwait(&_M_cond, __m.native_handle(), &__abs_time);
609:     }
609: 
609: 
609:     void
609:     wait_until(mutex& __m, clockid_t __clock, timespec& __abs_time)
609:     {
609:       pthread_cond_clockwait(&_M_cond, __m.native_handle(), __clock,
609:         &__abs_time);
609:     }
609: 
609: 
609:     void
609:     notify_one() noexcept
609:     {
609:       int __e __attribute__((__unused__)) = __gthread_cond_signal(&_M_cond);
609:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
609:     }
609: 
609:     void
609:     notify_all() noexcept
609:     {
609:       int __e __attribute__((__unused__)) = __gthread_cond_broadcast(&_M_cond);
609:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
609:     }
609: 
609:   protected:
609: 
609:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
609: 
609: 
609: 
609:   };
609: 
609: 
609: 
609: 
609:   struct defer_lock_t { explicit defer_lock_t() = default; };
609: 
609: 
609:   struct try_to_lock_t { explicit try_to_lock_t() = default; };
609: 
609: 
609: 
609:   struct adopt_lock_t { explicit adopt_lock_t() = default; };
609: 
609: 
609:   inline constexpr defer_lock_t defer_lock { };
609: 
609: 
609:   inline constexpr try_to_lock_t try_to_lock { };
609: 
609: 
609:   inline constexpr adopt_lock_t adopt_lock { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Mutex>
609:     class lock_guard
609:     {
609:     public:
609:       typedef _Mutex mutex_type;
609: 
609:       explicit lock_guard(mutex_type& __m) : _M_device(__m)
609:       { _M_device.lock(); }
609: 
609:       lock_guard(mutex_type& __m, adopt_lock_t) noexcept : _M_device(__m)
609:       { }
609: 
609:       ~lock_guard()
609:       { _M_device.unlock(); }
609: 
609:       lock_guard(const lock_guard&) = delete;
609:       lock_guard& operator=(const lock_guard&) = delete;
609: 
609:     private:
609:       mutex_type& _M_device;
609:     };
609: 
609: 
609: 
609: }
609: # 44 "/usr/include/c++/12/mutex" 2 3
609: # 1 "/usr/include/c++/12/bits/unique_lock.h" 1 3
609: # 33 "/usr/include/c++/12/bits/unique_lock.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/unique_lock.h" 3
609: # 43 "/usr/include/c++/12/bits/unique_lock.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 56 "/usr/include/c++/12/bits/unique_lock.h" 3
609:   template<typename _Mutex>
609:     class unique_lock
609:     {
609:     public:
609:       typedef _Mutex mutex_type;
609: 
609:       unique_lock() noexcept
609:       : _M_device(0), _M_owns(false)
609:       { }
609: 
609:       explicit unique_lock(mutex_type& __m)
609:       : _M_device(std::__addressof(__m)), _M_owns(false)
609:       {
609:  lock();
609:  _M_owns = true;
609:       }
609: 
609:       unique_lock(mutex_type& __m, defer_lock_t) noexcept
609:       : _M_device(std::__addressof(__m)), _M_owns(false)
609:       { }
609: 
609:       unique_lock(mutex_type& __m, try_to_lock_t)
609:       : _M_device(std::__addressof(__m)), _M_owns(_M_device->try_lock())
609:       { }
609: 
609:       unique_lock(mutex_type& __m, adopt_lock_t) noexcept
609:       : _M_device(std::__addressof(__m)), _M_owns(true)
609:       {
609: 
609:       }
609:te<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  replace(size_type __pos, size_type __n, const _Tp& __svt)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->replace(__pos, __n, __sv.data(), __sv.size());
1417:  }
1417: # 2455 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  replace(size_type __pos1, size_type __n1, const _Tp& __svt,
1417:   size_type __pos2, size_type __n2 = npos)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->replace(__pos1, __n1,
1417:        __sv.data()
1417:        + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
1417:        std::__sv_limit(__sv.size(), __pos2, __n2));
1417:  }
1417: # 2477 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, basic_string&>
1417:  replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->replace(__i1 - begin(), __i2 - __i1, __sv);
1417:  }
1417: 
1417: 
1417:     private:
1417:       template<class _Integer>
1417: 
1417:  basic_string&
1417:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1417:        _Integer __n, _Integer __val, __true_type)
1417:         { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
1417: 
1417:       template<class _InputIterator>
1417: 
1417:  basic_string&
1417:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1417:        _InputIterator __k1, _InputIterator __k2,
1417:        __false_type);
1417: 
1417:      
1417:       basic_string&
1417:       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1417:        _CharT __c);
1417: 
1417:      
1417:       basic_string&
1417:       _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1417:    const size_type __len2);
1417: 
1417:      
1417:       basic_string&
1417:       _M_append(const _CharT* __s, size_type __n);
1417: 
1417:     public:
1417: # 2530 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
1417: # 2541 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       void
1417:       swap(basic_string& __s) noexcept;
1417: # 2552 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       const _CharT*
1417:       c_str() const noexcept
1417:       { return _M_data(); }
1417: # 2565 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       const _CharT*
1417:       data() const noexcept
1417:       { return _M_data(); }
1417: # 2577 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       _CharT*
1417:       data() noexcept
1417:       { return _M_data(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return _M_get_allocator(); }
1417: # 2603 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find(const _CharT* __s, size_type __pos, size_type __n) const
1417:       noexcept;
1417: # 2618 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find(const basic_string& __str, size_type __pos = 0) const
1417:       noexcept
1417:       { return this->find(__str.data(), __pos, __str.size()); }
1417: # 2631 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, size_type>
1417:  find(const _Tp& __svt, size_type __pos = 0) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->find(__sv.data(), __pos, __sv.size());
1417:  }
1417: # 2652 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find(const _CharT* __s, size_type __pos = 0) const noexcept
1417:       {
1417:  ;
1417:  return this->find(__s, __pos, traits_type::length(__s));
1417:       }
1417: # 2670 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417 
609:       template<typename _Clock, typename _Duration>
609:  unique_lock(mutex_type& __m,
609:       const chrono::time_point<_Clock, _Duration>& __atime)
609:  : _M_device(std::__addressof(__m)),
609:    _M_owns(_M_device->try_lock_until(__atime))
609:  { }
609: 
609:       template<typename _Rep, typename _Period>
609:  unique_lock(mutex_type& __m,
609:       const chrono::duration<_Rep, _Period>& __rtime)
609:  : _M_device(std::__addressof(__m)),
609:    _M_owns(_M_device->try_lock_for(__rtime))
609:  { }
609: 
609:       ~unique_lock()
609:       {
609:  if (_M_owns)
609:    unlock();
609:       }
609: 
609:       unique_lock(const unique_lock&) = delete;
609:       unique_lock& operator=(const unique_lock&) = delete;
609: 
609:       unique_lock(unique_lock&& __u) noexcept
609:       : _M_device(__u._M_device), _M_owns(__u._M_owns)
609:       {
609:  __u._M_device = 0;
609:  __u._M_owns = false;
609:       }
609: 
609:       unique_lock& operator=(unique_lock&& __u) noexcept
609:       {
609:  if(_M_owns)
609:    unlock();
609: 
609:  unique_lock(std::move(__u)).swap(*this);
609: 
609:  __u._M_device = 0;
609:  __u._M_owns = false;
609: 
609:  return *this;
609:       }
609: 
609:       void
609:       lock()
609:       {
609:  if (!_M_device)
609:    __throw_system_error(int(errc::operation_not_permitted));
609:  else if (_M_owns)
609:    __throw_system_error(int(errc::resource_deadlock_would_occur));
609:  else
609:    {
609:      _M_device->lock();
609:      _M_owns = true;
609:    }
609:       }
609: 
609:       bool
609:       try_lock()
609:       {
609:  if (!_M_device)
609:    __throw_system_error(int(errc::operation_not_permitted));
609:  else if (_M_owns)
609:    __throw_system_error(int(errc::resource_deadlock_would_occur));
609:  else
609:    {
609:      _M_owns = _M_device->try_lock();
609:      return _M_owns;
609:    }
609:       }
609: 
609:       template<typename _Clock, typename _Duration>
609:  bool
609:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
609:  {
609:    if (!_M_device)
609:      __throw_system_error(int(errc::operation_not_permitted));
609:    else if (_M_owns)
609:      __throw_system_error(int(errc::resource_deadlock_would_occur));
609:    else
609:      {
609:        _M_owns = _M_device->try_lock_until(__atime);
609:        return _M_owns;
609:      }
609:  }
609: 
609:       template<typename _Rep, typename _Period>
609:  bool
609:  try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
609:  {
609:    if (!_M_device)
609:      __throw_system_error(int(errc::operation_not_permitted));
609:    else if (_M_owns)
609:      __throw_system_error(int(errc::resource_deadlock_would_occur));
609:    else
609:      {
609:        _M_owns = _M_device->try_lock_for(__rtime);
609:        return _M_owns;
609:      }
609:   }
609: 
609:       void
609:       unlock()
609:       {
609:  if (!_M_owns)
609:    __throw_system_error(int(errc::operation_not_permitted));
609:  else if (_M_device)
609:    {
609:      _M_device->unlock();
609:      _M_owns = false;
609:    }
609:       }
609: 
609:       void
609:       swap(unique_lock& __u) noexcept
609:       {
609:  std::swap(_M_device, __u._M_device);
609:  std::swap(_M_owns, __u._M_owns);
609:       }
609: 
609:       mutex_type*
609:       release() noexcept
609:       {
609:  mutex_type* __ret = _M_device;
609:  _M_device = 0;
609:  _M_owns = false;
609:  return __ret;
609:       }
609: 
609:       bool
609:       owns_lock() const noexcept
609:       { return _M_owns; }
609: 
609:       explicit operator bool() const noexcept
609:       { return owns_lock(); }
609: 
609:       mutex_type*
609:       mutex() const noexcept
609:       { return _M_device; }
609: 
609:     private:
609:       mutex_type* _M_device;
609:       bool _M_owns;
609:     };
609: 
609: 
609: 
609:   template<typename _Mutex>
609:     inline void
609:     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
609:     { __x.swap(__y); }
609: 
609: 
609: }
609: # 45 "/usr/include/c++/12/mutex" 2 3
609: # 55 "/usr/include/c++/12/mut:       size_type
1417:       find(_CharT __c, size_type __pos = 0) const noexcept;
1417: # 2684 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       rfind(const basic_string& __str, size_type __pos = npos) const
1417:       noexcept
1417:       { return this->rfind(__str.data(), __pos, __str.size()); }
1417: # 2697 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, size_type>
1417:  rfind(const _Tp& __svt, size_type __pos = npos) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->rfind(__sv.data(), __pos, __sv.size());
1417:  }
1417: # 2720 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       rfind(const _CharT* __s, size_type __pos, size_type __n) const
1417:       noexcept;
1417: # 2735 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       rfind(const _CharT* __s, size_type __pos = npos) const
1417:       {
1417:  ;
1417:  return this->rfind(__s, __pos, traits_type::length(__s));
1417:       }
1417: # 2753 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1417: # 2768 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_of(const basic_string& __str, size_type __pos = 0) const
1417:       noexcept
1417:       { return this->find_first_of(__str.data(), __pos, __str.size()); }
1417: # 2782 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, size_type>
1417:  find_first_of(const _Tp& __svt, size_type __pos = 0) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->find_first_of(__sv.data(), __pos, __sv.size());
1417:  }
1417: # 2805 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1417:       noexcept;
1417: # 2820 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_of(const _CharT* __s, size_type __pos = 0) const
1417:       noexcept
1417:       {
1417:  ;
1417:  return this->find_first_of(__s, __pos, traits_type::length(__s));
1417:       }
1417: # 2841 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1417:       { return this->find(__c, __pos); }
1417: # 2857 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_of(const basic_string& __str, size_type __pos = npos) const
1417:       noexcept
1417:       { return this->find_last_of(__str.data(), __pos, __str.size()); }
1417: # 2871 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, size_type>
1417:  find_last_of(const _Tp& __svt, size_type __pos = npos) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->find_last_of(__sv.data(), __pos, __sv.size());
1417:  }
1417: # 2894 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1417:       noexcept;
1417: # 2909 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_of(const _CharT* __s, size_type __pos = npos) const
1417:       noexcept
1417:       {
1417:  ;
1417:  return this->find_last_of(__s, __pos, traits_type::length(__s));
1417:       }
1417: # 2930 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_of(_CharT __c, size_type __pos = npos) const noexcept
1417:       { return this->rfind(__c, __pos); }
1417: # 2945 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_nex" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 67 "/usr/include/c++/12/mutex" 3
609:   class __recursive_mutex_base
609:   {
609:   protected:
609:     typedef __gthread_recursive_mutex_t __native_type;
609: 
609:     __recursive_mutex_base(const __recursive_mutex_base&) = delete;
609:     __recursive_mutex_base& operator=(const __recursive_mutex_base&) = delete;
609: 
609: 
609:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
609: 
609:     __recursive_mutex_base() = default;
609: # 91 "/usr/include/c++/12/mutex" 3
609:   };
609: 
609: 
609:   class recursive_mutex : private __recursive_mutex_base
609:   {
609:   public:
609:     typedef __native_type* native_handle_type;
609: 
609:     recursive_mutex() = default;
609:     ~recursive_mutex() = default;
609: 
609:     recursive_mutex(const recursive_mutex&) = delete;
609:     recursive_mutex& operator=(const recursive_mutex&) = delete;
609: 
609:     void
609:     lock()
609:     {
609:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
609: 
609: 
609:       if (__e)
609:  __throw_system_error(__e);
609:     }
609: 
609:     bool
609:     try_lock() noexcept
609:     {
609: 
609:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
609:     }
609: 
609:     void
609:     unlock()
609:     {
609: 
609:       __gthread_recursive_mutex_unlock(&_M_mutex);
609:     }
609: 
609:     native_handle_type
609:     native_handle() noexcept
609:     { return &_M_mutex; }
609:   };
609: 
609: 
609:   template<typename _Derived>
609:     class __timed_mutex_impl
609:     {
609:     protected:
609:       template<typename _Rep, typename _Period>
609:  bool
609:  _M_try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
609:  {
609: 
609:    using __clock = chrono::steady_clock;
609: 
609: 
609: 
609: 
609:    auto __rt = chrono::duration_cast<__clock::duration>(__rtime);
609:    if (ratio_greater<__clock::period, _Period>())
609:      ++__rt;
609:    return _M_try_lock_until(__clock::now() + __rt);
609:  }
609: 
609:       template<typename _Duration>
609:  bool
609:  _M_try_lock_until(const chrono::time_point<chrono::system_clock,
609:          _Duration>& __atime)
609:  {
609:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
609:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
609: 
609:    __gthread_time_t __ts = {
609:      static_cast<std::time_t>(__s.time_since_epoch().count()),
609:      static_cast<long>(__ns.count())
609:    };
609: 
609:    return static_cast<_Derived*>(this)->_M_timedlock(__ts);
609:  }
609: 
609: 
609:       template<typename _Duration>
609:  bool
609:  _M_try_lock_until(const chrono::time_point<chrono::steady_clock,
609:          _Duration>& __atime)
609:  {
609:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
609:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
609: 
609:    __gthread_time_t __ts = {
609:      static_cast<std::time_t>(__s.time_since_epoch().count()),
609:      static_cast<long>(__ns.count())
609:    };
609: 
609:    return static_cast<_Derived*>(this)->_M_clocklock(1,
609:            __ts);
609:  }
609: 
609: 
609:       template<typename _Clock, typename _Duration>
609:  bool
609:  _M_try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
609:  {
609: 
609: 
609: 
609: 
609: 
609: 
609:    auto __now = _Clock::now();
609:    do {
609:      auto __rtime = __atime - __now;
609:      if (_M_try_lock_for(__rtime))
609:        return true;
609:      __now = _Clock::now();
609:    } while (__atime > __now);
609:    return false;
609:  }
609:     };
609: 
609: 
609:   class timed_mutex
609:   : private __mutex_base, public __timed_mutex_impl<timed_mutex>
609:   {
609:   public:
609:     typedef __native_type* native_handle_type;
609: 
609:     timed_mutex() = default;
609:     ~timed_mutex() = default;
609: 
609:     timed_mutex(const timed_mutex&) = delete;
609:     timed_mutex& operator=(const timed_mutex&) = delete;
609: 
609:     void
609:    ot_of(const basic_string& __str, size_type __pos = 0) const
1417:       noexcept
1417:       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
1417: # 2959 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417:  _If_sv<_Tp, size_type>
1417: 
1417:  find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->find_first_not_of(__sv.data(), __pos, __sv.size());
1417:  }
1417: # 2982 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_not_of(const _CharT* __s, size_type __pos,
1417:    size_type __n) const noexcept;
1417: # 2997 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
1417:       noexcept
1417:       {
1417:  ;
1417:  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
1417:       }
1417: # 3016 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_first_not_of(_CharT __c, size_type __pos = 0) const
1417:       noexcept;
1417: # 3032 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
1417:       noexcept
1417:       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
1417: # 3046 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, size_type>
1417:  find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return this->find_last_not_of(__sv.data(), __pos, __sv.size());
1417:  }
1417: # 3069 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_not_of(const _CharT* __s, size_type __pos,
1417:          size_type __n) const noexcept;
1417: # 3084 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
1417:       noexcept
1417:       {
1417:  ;
1417:  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
1417:       }
1417: # 3103 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       size_type
1417:       find_last_not_of(_CharT __c, size_type __pos = npos) const
1417:       noexcept;
1417: # 3120 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       basic_string
1417:       substr(size_type __pos = 0, size_type __n = npos) const
1417:       { return basic_string(*this,
1417:        _M_check(__pos, "basic_string::substr"), __n); }
1417: # 3140 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       int
1417:       compare(const basic_string& __str) const
1417:       {
1417:  const size_type __size = this->size();
1417:  const size_type __osize = __str.size();
1417:  const size_type __len = std::min(__size, __osize);
1417: 
1417:  int __r = traits_type::compare(_M_data(), __str.data(), __len);
1417:  if (!__r)
1417:    __r = _S_compare(__size, __osize);
1417:  return __r;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, int>
1417:  compare(const _Tp& __svt) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    const size_type __size = this->size();
1417:    const size_type __osize = __sv.size();
1417:    const size_type __len = std::min(__size, __osize);
1417: 
1417:    int __r = traits_type::compare(_M_data(), __sv.data(), __len);
1417:    if (!__r)
1417:      __r = _S_compare(__size, __osize);
1417:    return __r;
1417:  }
1417: # 3185 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, int>
1417:  compare(size_type __pos, size_type __n, const _Tp& __svt) const
1417:  noexcept(is_same<_Tp,  lock()
609:     {
609:       int __e = __gthread_mutex_lock(&_M_mutex);
609: 
609: 
609:       if (__e)
609:  __throw_system_error(__e);
609:     }
609: 
609:     bool
609:     try_lock() noexcept
609:     {
609: 
609:       return !__gthread_mutex_trylock(&_M_mutex);
609:     }
609: 
609:     template <class _Rep, class _Period>
609:       bool
609:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
609:       { return _M_try_lock_for(__rtime); }
609: 
609:     template <class _Clock, class _Duration>
609:       bool
609:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
609:       { return _M_try_lock_until(__atime); }
609: 
609:     void
609:     unlock()
609:     {
609: 
609:       __gthread_mutex_unlock(&_M_mutex);
609:     }
609: 
609:     native_handle_type
609:     native_handle() noexcept
609:     { return &_M_mutex; }
609: 
609:     private:
609:       friend class __timed_mutex_impl<timed_mutex>;
609: 
609:       bool
609:       _M_timedlock(const __gthread_time_t& __ts)
609:       { return !__gthread_mutex_timedlock(&_M_mutex, &__ts); }
609: 
609: 
609:       bool
609:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
609:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
609: 
609:   };
609: 
609: 
609:   class recursive_timed_mutex
609:   : private __recursive_mutex_base,
609:     public __timed_mutex_impl<recursive_timed_mutex>
609:   {
609:   public:
609:     typedef __native_type* native_handle_type;
609: 
609:     recursive_timed_mutex() = default;
609:     ~recursive_timed_mutex() = default;
609: 
609:     recursive_timed_mutex(const recursive_timed_mutex&) = delete;
609:     recursive_timed_mutex& operator=(const recursive_timed_mutex&) = delete;
609: 
609:     void
609:     lock()
609:     {
609:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
609: 
609: 
609:       if (__e)
609:  __throw_system_error(__e);
609:     }
609: 
609:     bool
609:     try_lock() noexcept
609:     {
609: 
609:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
609:     }
609: 
609:     template <class _Rep, class _Period>
609:       bool
609:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
609:       { return _M_try_lock_for(__rtime); }
609: 
609:     template <class _Clock, class _Duration>
609:       bool
609:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
609:       { return _M_try_lock_until(__atime); }
609: 
609:     void
609:     unlock()
609:     {
609: 
609:       __gthread_recursive_mutex_unlock(&_M_mutex);
609:     }
609: 
609:     native_handle_type
609:     native_handle() noexcept
609:     { return &_M_mutex; }
609: 
609:     private:
609:       friend class __timed_mutex_impl<recursive_timed_mutex>;
609: 
609:       bool
609:       _M_timedlock(const __gthread_time_t& __ts)
609:       { return !__gthread_recursive_mutex_timedlock(&_M_mutex, &__ts); }
609: 
609: 
609:       bool
609:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
609:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
609: 
609:   };
609: # 515 "/usr/include/c++/12/mutex" 3
609:   namespace __detail
609:   {
609: 
609:     template<typename _Lockable>
609:       inline int
609:       __try_lock_impl(_Lockable& __l)
609:       {
609:  if (unique_lock<_Lockable> __lock{__l, try_to_lock})
609:    {
609:      __lock.release();
609:      return -1;
609:    }
609:  else
609:    return 0;
609:       }
609: 
609: 
609: 
609:     template<typename _L0, typename... _Lockables>
609:       inline int
609:       __try_lock_impl(_L0& __l0, _Lockables&... __lockables)
609:       {
609: 
609:  if constexpr ((is_same_v<_L0, _Lockables> && ...))
609:    {
609:      constexpr int _Np = 1 + sizeof...(_Lockables);
609:      unique_lock<_L0> __locks[_Np] = {
609:   {__l0, defer_lock}, {__lockables, defer_lock}...
609:      };
609:      for (int __i = 0; __i < _Np; ++__i)
609:        {
609:   if (!__locks[__i].try_lock())
609:     {
609:       const int __failed = __i;
609:       wh__sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return __sv_type(*this).substr(__pos, __n).compare(__sv);
1417:  }
1417: # 3205 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename _Tp>
1417: 
1417:  _If_sv<_Tp, int>
1417:  compare(size_type __pos1, size_type __n1, const _Tp& __svt,
1417:   size_type __pos2, size_type __n2 = npos) const
1417:  noexcept(is_same<_Tp, __sv_type>::value)
1417:  {
1417:    __sv_type __sv = __svt;
1417:    return __sv_type(*this)
1417:      .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
1417:  }
1417: # 3237 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       int
1417:       compare(size_type __pos, size_type __n, const basic_string& __str) const;
1417: # 3264 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       int
1417:       compare(size_type __pos1, size_type __n1, const basic_string& __str,
1417:        size_type __pos2, size_type __n2 = npos) const;
1417: # 3283 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       int
1417:       compare(const _CharT* __s) const noexcept;
1417: # 3308 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       int
1417:       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
1417: # 3336 "/usr/include/c++/12/bits/basic_string.h" 3
1417:      
1417:       int
1417:       compare(size_type __pos, size_type __n1, const _CharT* __s,
1417:        size_type __n2) const;
1417: # 3382 "/usr/include/c++/12/bits/basic_string.h" 3
1417:       template<typename, typename, typename> friend class basic_stringbuf;
1417:     };
1417: }
1417: 
1417: }
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: namespace __cxx11 {
1417:   template<typename _InputIterator, typename _CharT
1417:       = typename iterator_traits<_InputIterator>::value_type,
1417:     typename _Allocator = allocator<_CharT>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
1417:       -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits,
1417:     typename _Allocator = allocator<_CharT>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
1417:       -> basic_string<_CharT, _Traits, _Allocator>;
1417: 
1417:   template<typename _CharT, typename _Traits,
1417:     typename _Allocator = allocator<_CharT>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     basic_string(basic_string_view<_CharT, _Traits>,
1417:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1417:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1417:    const _Allocator& = _Allocator())
1417:       -> basic_string<_CharT, _Traits, _Allocator>;
1417: }
1417: # 3429 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     {
1417:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1417:       __str.append(__rhs);
1417:       return __str;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT,_Traits,_Alloc>
1417:     operator+(const _CharT* __lhs,
1417:        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT,_Traits,_Alloc>
1417:     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<ile (__i--)
609:         __locks[__i].unlock();
609:       return __failed;
609:     }
609:        }
609:      for (auto& __l : __locks)
609:        __l.release();
609:      return -1;
609:    }
609:  else
609: 
609:  if (unique_lock<_L0> __lock{__l0, try_to_lock})
609:    {
609:      int __idx = __detail::__try_lock_impl(__lockables...);
609:      if (__idx == -1)
609:        {
609:   __lock.release();
609:   return -1;
609:        }
609:      return __idx + 1;
609:    }
609:  else
609:    return 0;
609:       }
609: 
609:   }
609: # 587 "/usr/include/c++/12/mutex" 3
609:   template<typename _L1, typename _L2, typename... _L3>
609:     inline int
609:     try_lock(_L1& __l1, _L2& __l2, _L3&... __l3)
609:     {
609:       return __detail::__try_lock_impl(__l1, __l2, __l3...);
609:     }
609: 
609: 
609:   namespace __detail
609:   {
609: 
609: 
609: 
609: 
609: 
609:     template<typename _L0, typename... _L1>
609:       void
609:       __lock_impl(int& __i, int __depth, _L0& __l0, _L1&... __l1)
609:       {
609:  while (__i >= __depth)
609:    {
609:      if (__i == __depth)
609:        {
609:   int __failed = 1;
609:   {
609:     unique_lock<_L0> __first(__l0);
609:     __failed += __detail::__try_lock_impl(__l1...);
609:     if (!__failed)
609:       {
609:         __i = -1;
609:         __first.release();
609:         return;
609:       }
609:   }
609: 
609:   __gthread_yield();
609: 
609:   constexpr auto __n = 1 + sizeof...(_L1);
609:   __i = (__depth + __failed) % __n;
609:        }
609:      else
609:        __detail::__lock_impl(__i, __depth + 1, __l1..., __l0);
609:    }
609:       }
609: 
609:   }
609: # 646 "/usr/include/c++/12/mutex" 3
609:   template<typename _L1, typename _L2, typename... _L3>
609:     void
609:     lock(_L1& __l1, _L2& __l2, _L3&... __l3)
609:     {
609: 
609:       if constexpr (is_same_v<_L1, _L2> && (is_same_v<_L1, _L3> && ...))
609:  {
609:    constexpr int _Np = 2 + sizeof...(_L3);
609:    unique_lock<_L1> __locks[] = {
609:        {__l1, defer_lock}, {__l2, defer_lock}, {__l3, defer_lock}...
609:    };
609:    int __first = 0;
609:    do {
609:      __locks[__first].lock();
609:      for (int __j = 1; __j < _Np; ++__j)
609:        {
609:   const int __idx = (__first + __j) % _Np;
609:   if (!__locks[__idx].try_lock())
609:     {
609:       for (int __k = __j; __k != 0; --__k)
609:         __locks[(__first + __k - 1) % _Np].unlock();
609:       __first = __idx;
609:       break;
609:     }
609:        }
609:    } while (!__locks[__first].owns_lock());
609: 
609:    for (auto& __l : __locks)
609:      __l.release();
609:  }
609:       else
609: 
609:  {
609:    int __i = 0;
609:    __detail::__lock_impl(__i, 0, __l1, __l2, __l3...);
609:  }
609:     }
609: # 691 "/usr/include/c++/12/mutex" 3
609:   template<typename... _MutexTypes>
609:     class scoped_lock
609:     {
609:     public:
609:       explicit scoped_lock(_MutexTypes&... __m) : _M_devices(std::tie(__m...))
609:       { std::lock(__m...); }
609: 
609:       explicit scoped_lock(adopt_lock_t, _MutexTypes&... __m) noexcept
609:       : _M_devices(std::tie(__m...))
609:       { }
609: 
609:       ~scoped_lock()
609:       { std::apply([](auto&... __m) { (__m.unlock(), ...); }, _M_devices); }
609: 
609:       scoped_lock(const scoped_lock&) = delete;
609:       scoped_lock& operator=(const scoped_lock&) = delete;
609: 
609:     private:
609:       tuple<_MutexTypes&...> _M_devices;
609:     };
609: 
609:   template<>
609:     class scoped_lock<>
609:     {
609:     public:
609:       explicit scoped_lock() = default;
609:       explicit scoped_lock(adopt_lock_t) noexcept { }
609:       ~scoped_lock() = default;
609: 
609:       scoped_lock(const scoped_lock&) = delete;
609:       scoped_lock& operator=(const scoped_lock&) = delete;
609:     };
609: 
609:   template<typename _Mutex>
609:     class scoped_lock<_Mutex>
609:     {
609:     public:
609:       using mutex_type = _Mutex;
609: 
609:       explicit scoped_lock(mutex_type& __m) : _M_device(__m)
609:       { _M_device.lock(); }
609: 
609:       explicit scoped_lock(adopt_typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:        const _CharT* __rhs)
1417:     {
1417:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1417:       __str.append(__rhs);
1417:       return __str;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
1417:     {
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef typename __string_type::size_type __size_type;
1417:       __string_type __str(__lhs);
1417:       __str.append(__size_type(1), __rhs);
1417:       return __str;
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1417:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     { return std::move(__lhs.append(__rhs)); }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1417:     { return std::move(__rhs.insert(0, __lhs)); }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1417:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1417:     {
1417: 
1417:       using _Alloc_traits = allocator_traits<_Alloc>;
1417:       bool __use_rhs = false;
1417:       if constexpr (typename _Alloc_traits::is_always_equal{})
1417:  __use_rhs = true;
1417:       else if (__lhs.get_allocator() == __rhs.get_allocator())
1417:  __use_rhs = true;
1417:       if (__use_rhs)
1417: 
1417:  {
1417:    const auto __size = __lhs.size() + __rhs.size();
1417:    if (__size > __lhs.capacity() && __size <= __rhs.capacity())
1417:      return std::move(__rhs.insert(0, __lhs));
1417:  }
1417:       return std::move(__lhs.append(__rhs));
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(const _CharT* __lhs,
1417:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1417:     { return std::move(__rhs.insert(0, __lhs)); }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(_CharT __lhs,
1417:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1417:     { return std::move(__rhs.insert(0, 1, __lhs)); }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1417:        const _CharT* __rhs)
1417:     { return std::move(__lhs.append(__rhs)); }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1417:        _CharT __rhs)
1417:     { return std::move(__lhs.append(1, __rhs)); }
1417: # 3572 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline bool
1417:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     noexcept
1417:     { return __lhs.compare(__rhs) == 0; }
1417: 
1417:   template<typename _CharT>
1417:    
1417:     inline
1417:     typename __gnu_cxx::__enable_lock_t, mutex_type& __m) noexcept
609:       : _M_device(__m)
609:       { }
609: 
609:       ~scoped_lock()
609:       { _M_device.unlock(); }
609: 
609:       scoped_lock(const scoped_lock&) = delete;
609:       scoped_lock& operator=(const scoped_lock&) = delete;
609: 
609:     private:
609:       mutex_type& _M_device;
609:     };
609: 
609: 
609: 
609: 
609:   struct once_flag
609:   {
609:     constexpr once_flag() noexcept = default;
609: 
609: 
609:     once_flag(const once_flag&) = delete;
609: 
609:     once_flag& operator=(const once_flag&) = delete;
609: 
609:   private:
609: 
609: 
609:     __gthread_once_t _M_once = 0;
609: 
609:     struct _Prepare_execution;
609: 
609:     template<typename _Callable, typename... _Args>
609:       friend void
609:       call_once(once_flag& __once, _Callable&& __f, _Args&&... __args);
609:   };
609: 
609: 
609: 
609: 
609: 
609:   extern __thread void* __once_callable;
609:   extern __thread void (*__once_call)();
609: 
609: 
609:   struct once_flag::_Prepare_execution
609:   {
609:     template<typename _Callable>
609:       explicit
609:       _Prepare_execution(_Callable& __c)
609:       {
609: 
609:  __once_callable = std::__addressof(__c);
609: 
609:  __once_call = [] { (*static_cast<_Callable*>(__once_callable))(); };
609:       }
609: 
609:     ~_Prepare_execution()
609:     {
609: 
609:       __once_callable = nullptr;
609:       __once_call = nullptr;
609:     }
609: 
609:     _Prepare_execution(const _Prepare_execution&) = delete;
609:     _Prepare_execution& operator=(const _Prepare_execution&) = delete;
609:   };
609: # 843 "/usr/include/c++/12/mutex" 3
609:   extern "C" void __once_proxy(void);
609: 
609: 
609:   template<typename _Callable, typename... _Args>
609:     void
609:     call_once(once_flag& __once, _Callable&& __f, _Args&&... __args)
609:     {
609: 
609:       auto __callable = [&] {
609:    std::__invoke(std::forward<_Callable>(__f),
609:    std::forward<_Args>(__args)...);
609:       };
609: 
609:       once_flag::_Prepare_execution __exec(__callable);
609: 
609: 
609:       if (int __e = __gthread_once(&__once._M_once, &__once_proxy))
609:  __throw_system_error(__e);
609:     }
609: # 964 "/usr/include/c++/12/mutex" 3
609: 
609: }
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 2
609: 
609: 
609: 
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
609: namespace XbmcThreads
609: {
609: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
609: class CRecursiveMutex
609: {
609: private:
609:   pthread_mutex_t m_mutex;
609: 
609:   static pthread_mutexattr_t& getRecursiveAttr();
609: 
609: public:
609:   CRecursiveMutex(const CRecursiveMutex&) = delete;
609:   CRecursiveMutex& operator=(const CRecursiveMutex&) = delete;
609: 
609:   inline CRecursiveMutex() { pthread_mutex_init(&m_mutex, &getRecursiveAttr()); }
609: 
609:   inline ~CRecursiveMutex() { pthread_mutex_destroy(&m_mutex); }
609: 
609:   inline void lock() { pthread_mutex_lock(&m_mutex); }
609: 
609:   inline void unlock() { pthread_mutex_unlock(&m_mutex); }
609: 
609:   inline bool try_lock() { return (pthread_mutex_trylock(&m_mutex) == 0); }
609: 
609:   inline std::recursive_mutex::native_handle_type native_handle() { return &m_mutex; }
609: };
609: 
609: }
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
609: 
609: class CCriticalSection : public XbmcThreads::CountingLockable<XbmcThreads::CRecursiveMutex>
609: {
609: };
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/stack" 1 3
609: # 58 "/usr/include/c++/12/stack" 3
609:        
609: # 59 "/usr/include/c++/12/stack" 3
609: 
609: # 1 "/usr/include/c++/12/deque" 1 3
609: # 58 "/usr/include/c++/12/deque" 3
609:        
609: # 59 "/usr/include/c++/12/deque" 3
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/stl_deque.h" 1 3
609: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
609: 
609:if<__is_char<_CharT>::__value, bool>::__type
1417:     operator==(const basic_string<_CharT>& __lhs,
1417:         const basic_string<_CharT>& __rhs) noexcept
1417:     { return (__lhs.size() == __rhs.size()
1417:        && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),
1417:           __lhs.size())); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline bool
1417:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const _CharT* __rhs)
1417:     { return __lhs.compare(__rhs) == 0; }
1417: # 3638 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator==(const _CharT* __lhs,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     { return __rhs.compare(__lhs) == 0; }
1417: # 3651 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     noexcept
1417:     { return !(__lhs == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator!=(const _CharT* __lhs,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     { return !(__lhs == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const _CharT* __rhs)
1417:     { return !(__lhs == __rhs); }
1417: # 3689 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     noexcept
1417:     { return __lhs.compare(__rhs) < 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:        const _CharT* __rhs)
1417:     { return __lhs.compare(__rhs) < 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator<(const _CharT* __lhs,
1417:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     { return __rhs.compare(__lhs) > 0; }
1417: # 3727 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     noexcept
1417:     { return __lhs.compare(__rhs) > 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:        const _CharT* __rhs)
1417:     { return __lhs.compare(__rhs) > 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator>(const _CharT* __lhs,
1417:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     { return __rhs.compare(__lhs) < 0; }
1417: # 3765 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     noexcept
1417:     { return __lhs.compare(__rhs) <= 0; }
1417: 
1417: 
1 # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: # 95 "/usr/include/c++/12/bits/stl_deque.h" 3
609:   constexpr inline size_t
609:   __deque_buf_size(size_t __size)
609:   { return (__size < 512
609:      ? size_t(512 / __size) : size_t(1)); }
609: # 112 "/usr/include/c++/12/bits/stl_deque.h" 3
609:   template<typename _Tp, typename _Ref, typename _Ptr>
609:     struct _Deque_iterator
609:     {
609: 
609: 
609: 
609: 
609: 
609: 
609:     private:
609:       template<typename _CvTp>
609:  using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_rebind<_Ptr, _CvTp>>;
609:     public:
609:       typedef __iter<_Tp> iterator;
609:       typedef __iter<const _Tp> const_iterator;
609:       typedef __ptr_rebind<_Ptr, _Tp> _Elt_pointer;
609:       typedef __ptr_rebind<_Ptr, _Elt_pointer> _Map_pointer;
609: 
609: 
609:       static size_t _S_buffer_size() noexcept
609:       { return __deque_buf_size(sizeof(_Tp)); }
609: 
609:       typedef std::random_access_iterator_tag iterator_category;
609:       typedef _Tp value_type;
609:       typedef _Ptr pointer;
609:       typedef _Ref reference;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef _Deque_iterator _Self;
609: 
609:       _Elt_pointer _M_cur;
609:       _Elt_pointer _M_first;
609:       _Elt_pointer _M_last;
609:       _Map_pointer _M_node;
609: 
609:       _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept
609:       : _M_cur(__x), _M_first(*__y),
609:  _M_last(*__y + _S_buffer_size()), _M_node(__y) { }
609: 
609:       _Deque_iterator() noexcept
609:       : _M_cur(), _M_first(), _M_last(), _M_node() { }
609: # 161 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename _Iter,
609:         typename = _Require<is_same<_Self, const_iterator>,
609:        is_same<_Iter, iterator>>>
609:        _Deque_iterator(const _Iter& __x) noexcept
609:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
609:   _M_last(__x._M_last), _M_node(__x._M_node) { }
609: 
609:       _Deque_iterator(const _Deque_iterator& __x) noexcept
609:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
609:   _M_last(__x._M_last), _M_node(__x._M_node) { }
609: 
609:       _Deque_iterator& operator=(const _Deque_iterator&) = default;
609: 
609: 
609:       iterator
609:       _M_const_cast() const noexcept
609:       { return iterator(_M_cur, _M_node); }
609: 
609:       [[__nodiscard__]]
609:       reference
609:       operator*() const noexcept
609:       { return *_M_cur; }
609: 
609:       [[__nodiscard__]]
609:       pointer
609:       operator->() const noexcept
609:       { return _M_cur; }
609: 
609:       _Self&
609:       operator++() noexcept
609:       {
609:  ++_M_cur;
609:  if (_M_cur == _M_last)
609:    {
609:      _M_set_node(_M_node + 1);
609:      _M_cur = _M_first;
609:    }
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator++(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  ++*this;
609:  return __tmp;
609:       }
609: 
609:       _Self&
609:       operator--() noexcept
609:       {
609:  if (_M_cur == _M_first)
609:    {
609:      _M_set_node(_M_node - 1);
609:      _M_cur = _M_last;
609:    }
609:  --_M_cur;
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator--(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  --*this;
609:  return __tmp;
609:       }
609: 
609:       _Self&
609:       operator+=(difference_type __n) noexcept
609:       {
609:  const difference_type __offset = __n + (_M_cur - _M_first);
609:  if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
609:    _M_cur += __n;
609:  else
609:    {
609:      const difference_type __node_offset =
609:        __offset > 0 ? __offset / difference_type(_S_buffer_size())
609:       : -difference_type((-__offset - 1)
609:            / _S_buffer_size()) - 1;
609:      _M_set_node(_M_node + __node_offset);
609:      _M_cur = _M_first + (__offset - __node_offset
609:      * difference_type(_S_buffe417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const _CharT* __rhs)
1417:     { return __lhs.compare(__rhs) <= 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator<=(const _CharT* __lhs,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     { return __rhs.compare(__lhs) >= 0; }
1417: # 3803 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     noexcept
1417:     { return __lhs.compare(__rhs) >= 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:         const _CharT* __rhs)
1417:     { return __lhs.compare(__rhs) >= 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline bool
1417:     operator>=(const _CharT* __lhs,
1417:       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     { return __rhs.compare(__lhs) <= 0; }
1417: # 3842 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     inline void
1417:     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
1417:   basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     noexcept(noexcept(__lhs.swap(__rhs)))
1417:     { __lhs.swap(__rhs); }
1417: # 3863 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is,
1417:         basic_string<_CharT, _Traits, _Alloc>& __str);
1417: 
1417:   template<>
1417:     basic_istream<char>&
1417:     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
1417: # 3881 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __str)
1417:     {
1417: 
1417: 
1417:       return __ostream_insert(__os, __str.data(), __str.size());
1417:     }
1417: # 3904 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     basic_istream<_CharT, _Traits>&
1417:     getline(basic_istream<_CharT, _Traits>& __is,
1417:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
1417: # 3921 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     getline(basic_istream<_CharT, _Traits>& __is,
1417:      basic_string<_CharT, _Traits, _Alloc>& __str)
1417:     { return std::getline(__is, __str, __is.widen('\n')); }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     getline(basic_istream<_CharT, _Traits>&& __is,
1417:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1417:     { return std::getline(__is, __str, __delim); }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     getline(basic_istream<_CharT, _Traits>&& __is,
1417:      basic_string<_CharT, _Traits, _Alloc>& __str)
1417:     { return std::getline(__is, __str); }
1417: 
1417: 
1417:   template<>
1417:     basic_istream<char>&
1417:     getline(basic_istream<char>& __in, basic_string<char>& __str,
1417:      char __delim);
1417: 
1417: 
1417:   template<>
1417:     basic_istream<wchar_t>&
1417:     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
1417:      wchar_t __delim);
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/ext/string_conversions.h" 1 3
1417: # 32 "/usr/include/c++/12/ext/string_conversions.h" 3
1417:        
1417: # 33 "/usr/include/c++/12/ext/string_conversions.h" 3
1417: # 41 "/usr/include/c++/12/ext/string_conversions.h" 3
1417: # 1 "/usr/include/c++/12/cstdlib" 1 3
1417: # 39 "/usr/include/c++/12/cstdlib" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstdlib" 3
1417: # 42 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1417: # 1 "/usr/include/c++/12/cwchar" 1 3
1417: # 39 "/usr/include/c++/12/cwchar" 3
1417:        
1417: # 40 "/usr/include/c++/12/cwchar" 3
1417: # 43 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1417: # 1 "/usr/include/c++/12/cstdio" 1 3
1417: # 39 "/usr/include/c++/12/cstdio" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstdio" 3
1417: 
1417: 
1417: # 1 "/usr/include/stdio.h" 1 3 4
1417: # 27 "/usr/include/stdio.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1417: # 28 "/usr/include/stdio.h" 2 3 4
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 34 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1417: # 37 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 1 3 4
1417: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 3 4
1417: typedef struct _G_fpos_t
1417: {
1417:   __off_t __pos;
1417:   __mbstate_t __state;
1417: } __fpos_t;
1417: # 40 "/usr/include/stdio.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 1 3 4
1417: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 3 4
1417: typedef struct _G_fpos64_t
1417: {
1417:   __off64_t __pos;
1417:   __mbstate_t __state;
1417: } __fpos64_t;
1417: # 41 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 1 3 4
1417: # 35 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 3 4
1417: struct _IO_FILE;
1417: struct _IO_marker;
1417: struct _IO_codecvt;
1417: struct _IO_wide_data;
1417: 
1417: 
1417: 
1417: 
1417: typedef void _IO_lock_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct _IO_FILE
1417: {
1417:   int _flags;
1417: 
1417: 
1417:   char *_IO_read_ptr;
1417:   char *_IO_read_end;
1417:   char *_IO_read_base;
1417:   char *_IO_write_base;
1417:   char *_IO_write_ptr;
1417:   char *_IO_write_end;
1417:   char *_IO_buf_base;
1417:   char *_IO_buf_end;
1417: 
1417: 
1417:   char *_IO_save_base;
1417:   char *_IO_backup_base;
1417:   char *_IO_save_end;
1417: 
1417:   struct _IO_marker *_markers;
1417: 
1417:   struct _IO_FILE *_chain;
1417: 
1417:   int _fileno;
1417:   int _flags2;
1417:   __off_t _old_offset;
1417: 
1417: 
1417:   unsigned short _cur_column;
1417:   signed char _vtable_offset;
1417:   char _shortbuf[1];
1417: 
1417:   _IO_lock_t *_lock;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   __off64_t _offset;
1417: 
1417:   struct _IO_codecvt *_codecvt;
1417:   struct _IO_wide_data *_wide_data;
1417:   struct _IO_FILE *_freeres_list;
1417:   void *_freeres_buf;
1417:   size_t __pad5;
1417:   int _mode;
1417: 
1417:   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
1417: };
1417: # 44 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 3 4
1417: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
1417:                                           size_t __nbytes);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __ssize_t cookie_write_function_t (void *__cookie, constr_size()));
609:    }
609:  return *this;
609:       }
609: 
609:       _Self&
609:       operator-=(difference_type __n) noexcept
609:       { return *this += -__n; }
609: 
609:       [[__nodiscard__]]
609:       reference
609:       operator[](difference_type __n) const noexcept
609:       { return *(*this + __n); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       _M_set_node(_Map_pointer __new_node) noexcept
609:       {
609:  _M_node = __new_node;
609:  _M_first = *__new_node;
609:  _M_last = _M_first + difference_type(_S_buffer_size());
609:       }
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator==(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_cur == __y._M_cur; }
609: 
609: 
609: 
609: 
609:       template<typename _RefR, typename _PtrR>
609:  [[__nodiscard__]]
609:  friend bool
609:  operator==(const _Self& __x,
609:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
609:  noexcept
609:  { return __x._M_cur == __y._M_cur; }
609: # 296 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       [[__nodiscard__]]
609:       friend bool
609:       operator!=(const _Self& __x, const _Self& __y) noexcept
609:       { return !(__x == __y); }
609: 
609:       template<typename _RefR, typename _PtrR>
609:  [[__nodiscard__]]
609:  friend bool
609:  operator!=(const _Self& __x,
609:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
609:  noexcept
609:  { return !(__x == __y); }
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator<(const _Self& __x, const _Self& __y) noexcept
609:       {
609:  return (__x._M_node == __y._M_node)
609:    ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
609:       }
609: 
609:       template<typename _RefR, typename _PtrR>
609:  [[__nodiscard__]]
609:  friend bool
609:  operator<(const _Self& __x,
609:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
609:  noexcept
609:  {
609:    return (__x._M_node == __y._M_node)
609:      ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
609:  }
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator>(const _Self& __x, const _Self& __y) noexcept
609:       { return __y < __x; }
609: 
609:       template<typename _RefR, typename _PtrR>
609:  [[__nodiscard__]]
609:  friend bool
609:  operator>(const _Self& __x,
609:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
609:  noexcept
609:  { return __y < __x; }
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator<=(const _Self& __x, const _Self& __y) noexcept
609:       { return !(__y < __x); }
609: 
609:       template<typename _RefR, typename _PtrR>
609:  [[__nodiscard__]]
609:  friend bool
609:  operator<=(const _Self& __x,
609:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
609:  noexcept
609:  { return !(__y < __x); }
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator>=(const _Self& __x, const _Self& __y) noexcept
609:       { return !(__x < __y); }
609: 
609:       template<typename _RefR, typename _PtrR>
609:  [[__nodiscard__]]
609:  friend bool
609:  operator>=(const _Self& __x,
609:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
609:  noexcept
609:  { return !(__x < __y); }
609: 
609: 
609:       [[__nodiscard__]]
609:       friend difference_type
609:       operator-(const _Self& __x, const _Self& __y) noexcept
609:       {
609:  return difference_type(_S_buffer_size())
609:    * (__x._M_node - __y._M_node - bool(__x._M_node))
609:    + (__x._M_cur - __x._M_first)
609:    + (__y._M_last - __y._M_cur);
609:       }
609: 
609: 
609: 
609: 
609: 
609:       template<typename _RefR, typename _PtrR>
609:  [[__nodiscard__]]
609:  friend difference_type
609:  operator-(const _Self& __x,
609:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
609:  noexcept
609:  {
609:    return difference_type(_S_buffer_size())
609:      * (__x._M_node - __y._M_node - bool(__x._M_node))
609:      + (__x._M_cur - __x._M_first)
609:      + (__y._M_last - __y._M_cur);
609:  }
609: 
609:       [[__nodiscard__]]
609:       friend _Self
 char *__buf,
1417:                                            size_t __nbytes);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
1417: 
1417: 
1417: typedef int cookie_close_function_t (void *__cookie);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef struct _IO_cookie_io_functions_t
1417: {
1417:   cookie_read_function_t *read;
1417:   cookie_write_function_t *write;
1417:   cookie_seek_function_t *seek;
1417:   cookie_close_function_t *close;
1417: } cookie_io_functions_t;
1417: # 47 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __gnuc_va_list va_list;
1417: # 86 "/usr/include/stdio.h" 3 4
1417: typedef __fpos64_t fpos_t;
1417: 
1417: 
1417: typedef __fpos64_t fpos64_t;
1417: # 133 "/usr/include/stdio.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4
1417: # 134 "/usr/include/stdio.h" 2 3 4
1417: # 143 "/usr/include/stdio.h" 3 4
1417: extern FILE *stdin;
1417: extern FILE *stdout;
1417: extern FILE *stderr;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int remove (const char *__filename) noexcept (true);
1417: 
1417: extern int rename (const char *__old, const char *__new) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int renameat (int __oldfd, const char *__old, int __newfd,
1417:        const char *__new) noexcept (true);
1417: # 170 "/usr/include/stdio.h" 3 4
1417: extern int renameat2 (int __oldfd, const char *__old, int __newfd,
1417:         const char *__new, unsigned int __flags) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fclose (FILE *__stream);
1417: # 192 "/usr/include/stdio.h" 3 4
1417: extern FILE *tmpfile (void) __asm__ ("" "tmpfile64")
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern FILE *tmpfile64 (void)
1417:    __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern char *tmpnam (char[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern char *tmpnam_r (char __s[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: # 222 "/usr/include/stdio.h" 3 4
1417: extern char *tempnam (const char *__dir, const char *__pfx)
1417:    noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fflush (FILE *__stream);
1417: # 239 "/usr/include/stdio.h" 3 4
1417: extern int fflush_unlocked (FILE *__stream);
1417: # 249 "/usr/include/stdio.h" 3 4
1417: extern int fcloseall (void);
1417: # 270 "/usr/include/stdio.h" 3 4
1417: extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64")
1417: 
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64")
1417: 
1417: 
1417:   __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern FILE *fopen64 (const char *__restrict __filename,
1417:         const char *__restrict __modes)
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: extern FILE *freopen64 (const char *__restrict __filename,
1417:    const char *__restrict __modes,
1417:    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern FILE *fopencookie (void *__restrict __m609:       operator+(const _Self& __x, difference_type __n) noexcept
609:       {
609:  _Self __tmp = __x;
609:  __tmp += __n;
609:  return __tmp;
609:       }
609: 
609:       [[__nodiscard__]]
609:       friend _Self
609:       operator-(const _Self& __x, difference_type __n) noexcept
609:       {
609:  _Self __tmp = __x;
609:  __tmp -= __n;
609:  return __tmp;
609:       }
609: 
609:       [[__nodiscard__]]
609:       friend _Self
609:       operator+(difference_type __n, const _Self& __x) noexcept
609:       { return __x + __n; }
609:     };
609: # 429 "/usr/include/c++/12/bits/stl_deque.h" 3
609:   template<typename _Tp, typename _Alloc>
609:     class _Deque_base
609:     {
609:     protected:
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<_Tp>::other _Tp_alloc_type;
609:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
609: 
609: 
609: 
609: 
609: 
609:       typedef typename _Alloc_traits::pointer _Ptr;
609:       typedef typename _Alloc_traits::const_pointer _Ptr_const;
609: 
609: 
609:       typedef typename _Alloc_traits::template rebind<_Ptr>::other
609:  _Map_alloc_type;
609:       typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits;
609: 
609:       typedef _Alloc allocator_type;
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(_M_get_Tp_allocator()); }
609: 
609:       typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator;
609:       typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator;
609: 
609:       _Deque_base()
609:       : _M_impl()
609:       { _M_initialize_map(0); }
609: 
609:       _Deque_base(size_t __num_elements)
609:       : _M_impl()
609:       { _M_initialize_map(__num_elements); }
609: 
609:       _Deque_base(const allocator_type& __a, size_t __num_elements)
609:       : _M_impl(__a)
609:       { _M_initialize_map(__num_elements); }
609: 
609:       _Deque_base(const allocator_type& __a)
609:       : _M_impl(__a)
609:       { }
609: 
609: 
609:       _Deque_base(_Deque_base&& __x)
609:       : _M_impl(std::move(__x._M_get_Tp_allocator()))
609:       {
609:  _M_initialize_map(0);
609:  if (__x._M_impl._M_map)
609:    this->_M_impl._M_swap_data(__x._M_impl);
609:       }
609: 
609:       _Deque_base(_Deque_base&& __x, const allocator_type& __a)
609:       : _M_impl(std::move(__x._M_impl), _Tp_alloc_type(__a))
609:       { __x._M_initialize_map(0); }
609: 
609:       _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_t __n)
609:       : _M_impl(__a)
609:       {
609:  if (__x.get_allocator() == __a)
609:    {
609:      if (__x._M_impl._M_map)
609:        {
609:   _M_initialize_map(0);
609:   this->_M_impl._M_swap_data(__x._M_impl);
609:        }
609:    }
609:  else
609:    {
609:      _M_initialize_map(__n);
609:    }
609:       }
609: 
609: 
609:       ~_Deque_base() noexcept;
609: 
609:       typedef typename iterator::_Map_pointer _Map_pointer;
609: 
609:       struct _Deque_impl_data
609:       {
609:  _Map_pointer _M_map;
609:  size_t _M_map_size;
609:  iterator _M_start;
609:  iterator _M_finish;
609: 
609:  _Deque_impl_data() noexcept
609:  : _M_map(), _M_map_size(), _M_start(), _M_finish()
609:  { }
609: 
609: 
609:  _Deque_impl_data(const _Deque_impl_data&) = default;
609:  _Deque_impl_data&
609:  operator=(const _Deque_impl_data&) = default;
609: 
609:  _Deque_impl_data(_Deque_impl_data&& __x) noexcept
609:  : _Deque_impl_data(__x)
609:  { __x = _Deque_impl_data(); }
609: 
609: 
609:  void
609:  _M_swap_data(_Deque_impl_data& __x) noexcept
609:  {
609: 
609: 
609:    std::swap(*this, __x);
609:  }
609:       };
609: 
609: 
609: 
609: 
609:       struct _Deque_impl
609:       : public _Tp_alloc_type, public _Deque_impl_data
609:       {
609:  _Deque_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
609: 
609:  : _Tp_alloc_type()
609:  { }
609: 
609:  _Deque_impl(const _Tp_alloc_type& __a) noexcept
609:  : _Tp_alloc_type(__a)
609:  { }
609: 
609: 
609:  _Deque_impl(_Deque_impl&&) = default;
609: 
609:  rator<_CharT> >
1412:     class money_get;
1412:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1412:     class money_put;
1412: }
1412: namespace __cxx11 {
1412:   template<typename _CharT, bool _Intl = false>
1412:     class moneypunct;
1412:   template<typename _CharT, bool _Intl = false>
1412:     class moneypunct_byname;
1412: }
1412: 
1412: 
1412:   struct messages_base;
1412: namespace __cxx11 {
1412:   template<typename _CharT>
1412:     class messages;
1412:   template<typename _CharT>
1412:     class messages_byname;
1412: }
1412: 
1412: 
1412: }
1412: # 44 "/usr/include/c++/12/string" 2 3
1412: # 1 "/usr/include/c++/12/bits/ostream_insert.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/ostream_insert.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/ostream_insert.h" 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/cxxabi_forced.h" 1 3
1412: # 34 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1412:        
1412: # 35 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412: namespace __cxxabiv1
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class __forced_unwind
1412:   {
1412:     virtual ~__forced_unwind() throw();
1412: 
1412: 
1412:     virtual void __pure_dummy() = 0;
1412:   };
1412: }
1412: 
1412: 
1412: #pragma GCC visibility pop
1412: # 37 "/usr/include/c++/12/bits/ostream_insert.h" 2 3
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     inline void
1412:     __ostream_write(basic_ostream<_CharT, _Traits>& __out,
1412:       const _CharT* __s, streamsize __n)
1412:     {
1412:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1412:       typedef typename __ostream_type::ios_base __ios_base;
1412: 
1412:       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
1412:       if (__put != __n)
1412:  __out.setstate(__ios_base::badbit);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     inline void
1412:     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
1412:     {
1412:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1412:       typedef typename __ostream_type::ios_base __ios_base;
1412: 
1412:       const _CharT __c = __out.fill();
1412:       for (; __n > 0; --__n)
1412:  {
1412:    const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
1412:    if (_Traits::eq_int_type(__put, _Traits::eof()))
1412:      {
1412:        __out.setstate(__ios_base::badbit);
1412:        break;
1412:      }
1412:  }
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
1412:        const _CharT* __s, streamsize __n)
1412:     {
1412:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1412:       typedef typename __ostream_type::ios_base __ios_base;
1412: 
1412:       typename __ostream_type::sentry __cerb(__out);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412:        const streamsize __w = __out.width();
1412:        if (__w > __n)
1412:   {
1412:     const bool __left = ((__out.flags()
1412:      & __ios_base::adjustfield)
1412:            == __ios_base::left);
1412:     if (!__left)
1412:       __ostream_fill(__out, __w - __n);
1412:     if (__out.good())
1412:       __ostream_write(__out, __s, __n);
1412:     if (__left && __out.good())
1412:       __ostream_fill(__out, __w - __n);
1412:   }
1412:        else
1412:   __ostream_write(__out, __s, __n);
1412:        __out.width(0);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        __out._M_setstate(__ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { __out._M_setstate(__ios_base::badbit); }
1412:  }
1412:       return __out;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);agic_cookie,
1417:      const char *__restrict __modes,
1417:      cookie_io_functions_t __io_funcs) noexcept (true)
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
1417:   noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
1417:       int __modes, size_t __n) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
1417:          size_t __size) noexcept (true);
1417: 
1417: 
1417: extern void setlinebuf (FILE *__stream) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fprintf (FILE *__restrict __stream,
1417:       const char *__restrict __format, ...);
1417: 
1417: 
1417: 
1417: 
1417: extern int printf (const char *__restrict __format, ...);
1417: 
1417: extern int sprintf (char *__restrict __s,
1417:       const char *__restrict __format, ...) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
1417:        __gnuc_va_list __arg);
1417: 
1417: 
1417: 
1417: 
1417: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
1417: 
1417: extern int vsprintf (char *__restrict __s, const char *__restrict __format,
1417:        __gnuc_va_list __arg) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int snprintf (char *__restrict __s, size_t __maxlen,
1417:        const char *__restrict __format, ...)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1417: 
1417: extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1417:         const char *__restrict __format, __gnuc_va_list __arg)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
1417:         __gnuc_va_list __arg)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1417: extern int __asprintf (char **__restrict __ptr,
1417:          const char *__restrict __fmt, ...)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1417: extern int asprintf (char **__restrict __ptr,
1417:        const char *__restrict __fmt, ...)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int vdprintf (int __fd, const char *__restrict __fmt,
1417:        __gnuc_va_list __arg)
1417:      __attribute__ ((__format__ (__printf__, 2, 0)));
1417: extern int dprintf (int __fd, const char *__restrict __fmt, ...)
1417:      __attribute__ ((__format__ (__printf__, 2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fscanf (FILE *__restrict __stream,
1417:      const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1417: 
1417: extern int sscanf (const char *__restrict __s,
1417:      const char *__restrict __format, ...) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1417: # 431 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: 
1417: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
1417: 
1417:                           __attribute__ ((__warn_unused_result__));
1417: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
1417:                          __attribute__ ((__warn_unused_result__));
1417: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_sscanf")
1417: 
1417:                       ;
1417: # 459 "/usr/include/stdio.h" 3 4
1417: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
1417:       __gnuc_va_list __arg)
1417:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
1417:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: extern int vsscanf (const char *__restrict __s,
1417:       const char *__restrict __format, __gnuc_va_list __arg)
1417:      noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
1417: 
1417: 
1417: 
1417:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1417: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
1417: 
1417:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1417: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vsscanf")
1417: 
1417: 
1417: 
1417:      __attribute__ ((__format__ (__scanf__, 2, 0)));
1417: # 513 "/usr/include/stdio.h" 3 4
1417: extern int fgetc (FILE *__stream);
1417: extern int getc (FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getchar (void);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getc_unlocked (FILE *__stream);
1417: extern int getchar_unlocked (void);
1417: # 538 "/usr/include/stdio.h" 3 4
1417: extern int fgetc_unlocked (FILE *__stream);
1417: # 549 "/usr/include/stdio.h" 3 4
1417: extern int fputc (int __c, FILE *__stream);
1417: extern int putc (int __c, FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int putchar (int __c);
1417: # 565 "/usr/include/stdio.h" 3 4
1417: extern int fputc_unlocked (int __c, FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int putc_unlocked (int __c, FILE *__stream);
1417: extern int putchar_unlocked (int __c);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getw (FILE *__stream);
1417: 
1417: 
1417: extern int putw (int __w, FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1417:      __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: # 615 "/usr/include/stdio.h" 3 4
1417: extern char *fgets_unlocked (char *__restrict __s, int __n,
1417:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: # 632 "/usr/include/stdio.h" 3 4
1417: extern __ssize_t __getdelim (char **__restrict __lineptr,
1417:                              size_t *__restrict __n, int __delimiter,
1417:                              FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: extern __ssize_t getdelim (char **__restrict __lineptr,
1417:                            size_t *__restrict __n, int __delimiter,
1417:                        _Deque_impl(_Tp_alloc_type&& __a) noexcept
609:  : _Tp_alloc_type(std::move(__a))
609:  { }
609: 
609:  _Deque_impl(_Deque_impl&& __d, _Tp_alloc_type&& __a)
609:  : _Tp_alloc_type(std::move(__a)), _Deque_impl_data(std::move(__d))
609:  { }
609: 
609:       };
609: 
609:       _Tp_alloc_type&
609:       _M_get_Tp_allocator() noexcept
609:       { return this->_M_impl; }
609: 
609:       const _Tp_alloc_type&
609:       _M_get_Tp_allocator() const noexcept
609:       { return this->_M_impl; }
609: 
609:       _Map_alloc_type
609:       _M_get_map_allocator() const noexcept
609:       { return _Map_alloc_type(_M_get_Tp_allocator()); }
609: 
609:       _Ptr
609:       _M_allocate_node()
609:       {
609:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
609:  return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp)));
609:       }
609: 
609:       void
609:       _M_deallocate_node(_Ptr __p) noexcept
609:       {
609:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
609:  _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
609:       }
609: 
609:       _Map_pointer
609:       _M_allocate_map(size_t __n)
609:       {
609:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
609:  return _Map_alloc_traits::allocate(__map_alloc, __n);
609:       }
609: 
609:       void
609:       _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept
609:       {
609:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
609:  _Map_alloc_traits::deallocate(__map_alloc, __p, __n);
609:       }
609: 
609:       void _M_initialize_map(size_t);
609:       void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish);
609:       void _M_destroy_nodes(_Map_pointer __nstart,
609:        _Map_pointer __nfinish) noexcept;
609:       enum { _S_initial_map_size = 8 };
609: 
609:       _Deque_impl _M_impl;
609:     };
609: 
609:   template<typename _Tp, typename _Alloc>
609:     _Deque_base<_Tp, _Alloc>::
609:     ~_Deque_base() noexcept
609:     {
609:       if (this->_M_impl._M_map)
609:  {
609:    _M_destroy_nodes(this->_M_impl._M_start._M_node,
609:       this->_M_impl._M_finish._M_node + 1);
609:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
609:  }
609:     }
609: # 636 "/usr/include/c++/12/bits/stl_deque.h" 3
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     _Deque_base<_Tp, _Alloc>::
609:     _M_initialize_map(size_t __num_elements)
609:     {
609:       const size_t __num_nodes = (__num_elements / __deque_buf_size(sizeof(_Tp))
609:       + 1);
609: 
609:       this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
609:         size_t(__num_nodes + 2));
609:       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
609: 
609: 
609: 
609: 
609: 
609: 
609:       _Map_pointer __nstart = (this->_M_impl._M_map
609:           + (this->_M_impl._M_map_size - __num_nodes) / 2);
609:       _Map_pointer __nfinish = __nstart + __num_nodes;
609: 
609:       try
609:  { _M_create_nodes(__nstart, __nfinish); }
609:       catch(...)
609:  {
609:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
609:    this->_M_impl._M_map = _Map_pointer();
609:    this->_M_impl._M_map_size = 0;
609:    throw;
609:  }
609: 
609:       this->_M_impl._M_start._M_set_node(__nstart);
609:       this->_M_impl._M_finish._M_set_node(__nfinish - 1);
609:       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
609:       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
609:      + __num_elements
609:      % __deque_buf_size(sizeof(_Tp)));
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     _Deque_base<_Tp, _Alloc>::
609:     _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish)
609:     {
609:       _Map_pointer __cur;
609:       try
609:  {
609:    for (__cur = __nstart; __cur < __nfinish; ++__cur)
609:      *__cur = this->_M_allocate_node();
609:  }
609:       catch(...)
609:  {
609:    _M_destroy_nodes(__nstart, __cur);
609:    throw;
609:  }
609:     }
609: 
609:   templat    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __ssize_t getline (char **__restrict __lineptr,
1417:                           size_t *__restrict __n,
1417:                           FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int puts (const char *__s);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int ungetc (int __c, FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern size_t fread (void *__restrict __ptr, size_t __size,
1417:        size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern size_t fwrite (const void *__restrict __ptr, size_t __size,
1417:         size_t __n, FILE *__restrict __s);
1417: # 691 "/usr/include/stdio.h" 3 4
1417: extern int fputs_unlocked (const char *__restrict __s,
1417:       FILE *__restrict __stream);
1417: # 702 "/usr/include/stdio.h" 3 4
1417: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
1417:          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
1417:           size_t __n, FILE *__restrict __stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fseek (FILE *__stream, long int __off, int __whence);
1417: 
1417: 
1417: 
1417: 
1417: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern void rewind (FILE *__stream);
1417: # 744 "/usr/include/stdio.h" 3 4
1417: extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64")
1417: 
1417:                   ;
1417: extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
1417: # 768 "/usr/include/stdio.h" 3 4
1417: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64")
1417:                                           ;
1417: extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64")
1417:                                                           ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
1417: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
1417: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
1417: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
1417: 
1417: 
1417: 
1417: extern void clearerr (FILE *__stream) noexcept (true);
1417: 
1417: extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern void clearerr_unlocked (FILE *__stream) noexcept (true);
1417: extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void perror (const char *__s);
1417: 
1417: 
1417: 
1417: 
1417: extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: # 823 "/usr/include/stdio.h" 3 4
1417: extern int pclose (FILE *__stream);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern FILE *popen (const char *__command, const char *__modes)
1417:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *ctermid (char *__s) noexcept (true)
14
1412: 
1412: 
1412:   extern template wostream& __ostream_insert(wostream&, const wchar_t*,
1412:           streamsize);
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 45 "/usr/include/c++/12/string" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/refwrap.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/refwrap.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/refwrap.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 52 "/usr/include/c++/12/bits/refwrap.h" 3
1412:   template<typename _Res, typename... _ArgTypes>
1412:     struct _Maybe_unary_or_binary_function { };
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412:   template<typename _Res, typename _T1>
1412:     struct _Maybe_unary_or_binary_function<_Res, _T1>
1412:     : std::unary_function<_T1, _Res> { };
1412: 
1412: 
1412:   template<typename _Res, typename _T1, typename _T2>
1412:     struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
1412:     : std::binary_function<_T1, _T2, _Res> { };
1412: 
1412: #pragma GCC diagnostic pop
1412: 
1412:   template<typename _Signature>
1412:     struct _Mem_fn_traits;
1412: 
1412:   template<typename _Res, typename _Class, typename... _ArgTypes>
1412:     struct _Mem_fn_traits_base
1412:     {
1412:       using __result_type = _Res;
1412:       using __maybe_type
1412:  = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
1412:       using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
1412:     };
1412: # 103 "/usr/include/c++/12/bits/refwrap.h" 3
1412: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1412: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; t17:   __attribute__ ((__access__ (__write_only__, 1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *cuserid (char *__s)
1417:   __attribute__ ((__access__ (__write_only__, 1)));
1417: 
1417: 
1417: 
1417: 
1417: struct obstack;
1417: 
1417: 
1417: extern int obstack_printf (struct obstack *__restrict __obstack,
1417:       const char *__restrict __format, ...)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
1417: extern int obstack_vprintf (struct obstack *__restrict __obstack,
1417:        const char *__restrict __format,
1417:        __gnuc_va_list __args)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void flockfile (FILE *__stream) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: extern void funlockfile (FILE *__stream) noexcept (true);
1417: # 885 "/usr/include/stdio.h" 3 4
1417: extern int __uflow (FILE *);
1417: extern int __overflow (FILE *, int);
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 1 3 4
1417: # 26 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1417: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1417:      const char *__restrict __format, ...) noexcept (true)
1417:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1417: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1417:       const char *__restrict __format,
1417:       __gnuc_va_list __ap) noexcept (true)
1417:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1417: 
1417: 
1417: 
1417: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
1417:       size_t __slen, const char *__restrict __format,
1417:       ...) noexcept (true)
1417:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
1417:        size_t __slen, const char *__restrict __format,
1417:        __gnuc_va_list __ap) noexcept (true)
1417:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
1417:      const char *__restrict __format, ...);
1417: extern int __printf_chk (int __flag, const char *__restrict __format, ...);
1417: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
1417:       const char *__restrict __format, __gnuc_va_list __ap);
1417: extern int __vprintf_chk (int __flag, const char *__restrict __format,
1417:      __gnuc_va_list __ap);
1417: 
1417: 
1417: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
1417:      ...) __attribute__ ((__format__ (__printf__, 3, 4)));
1417: extern int __vdprintf_chk (int __fd, int __flag,
1417:       const char *__restrict __fmt, __gnuc_va_list __arg)
1417:      __attribute__ ((__format__ (__printf__, 3, 0)));
1417: 
1417: 
1417: 
1417: 
1417: extern int __asprintf_chk (char **__restrict __ptr, int __flag,
1417:       const char *__restrict __fmt, ...)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
1417: extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
1417:        const char *__restrict __fmt, __gnuc_va_list __arg)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
1417: extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
1417:      int __flag, const char *__restrict __format,
1417:      ...)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1417: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
1417:       int __flag,
1417:       const char *__restrict __format,
1417:       __gnuc_va_list __args)
1417:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1417: # 90 "/usr/include/arm-linux-gnueae<typename _Tp, typename _Alloc>
609:     void
609:     _Deque_base<_Tp, _Alloc>::
609:     _M_destroy_nodes(_Map_pointer __nstart,
609:        _Map_pointer __nfinish) noexcept
609:     {
609:       for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n)
609:  _M_deallocate_node(*__n);
609:     }
609: # 787 "/usr/include/c++/12/bits/stl_deque.h" 3
609:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
609:     class deque : protected _Deque_base<_Tp, _Alloc>
609:     {
609: # 800 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
609:    "std::deque must have a non-const, non-volatile value_type");
609: 
609:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
609:    "std::deque must have the same value_type as its allocator");
609: 
609: 
609: 
609:       typedef _Deque_base<_Tp, _Alloc> _Base;
609:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
609:       typedef typename _Base::_Alloc_traits _Alloc_traits;
609:       typedef typename _Base::_Map_pointer _Map_pointer;
609: 
609:     public:
609:       typedef _Tp value_type;
609:       typedef typename _Alloc_traits::pointer pointer;
609:       typedef typename _Alloc_traits::const_pointer const_pointer;
609:       typedef typename _Alloc_traits::reference reference;
609:       typedef typename _Alloc_traits::const_reference const_reference;
609:       typedef typename _Base::iterator iterator;
609:       typedef typename _Base::const_iterator const_iterator;
609:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
609:       typedef std::reverse_iterator<iterator> reverse_iterator;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef _Alloc allocator_type;
609: 
609:     private:
609:       static size_t _S_buffer_size() noexcept
609:       { return __deque_buf_size(sizeof(_Tp)); }
609: 
609: 
609:       using _Base::_M_initialize_map;
609:       using _Base::_M_create_nodes;
609:       using _Base::_M_destroy_nodes;
609:       using _Base::_M_allocate_node;
609:       using _Base::_M_deallocate_node;
609:       using _Base::_M_allocate_map;
609:       using _Base::_M_deallocate_map;
609:       using _Base::_M_get_Tp_allocator;
609: 
609: 
609: 
609: 
609: 
609:       using _Base::_M_impl;
609: 
609:     public:
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       deque() = default;
609: # 864 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       explicit
609:       deque(const allocator_type& __a)
609:       : _Base(__a, 0) { }
609: # 877 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       explicit
609:       deque(size_type __n, const allocator_type& __a = allocator_type())
609:       : _Base(__a, _S_check_init_len(__n, __a))
609:       { _M_default_initialize(); }
609: # 890 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       deque(size_type __n, const value_type& __value,
609:      const allocator_type& __a = allocator_type())
609:       : _Base(__a, _S_check_init_len(__n, __a))
609:       { _M_fill_initialize(__value); }
609: # 917 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       deque(const deque& __x)
609:       : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()),
609:        __x.size())
609:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
609:         this->_M_impl._M_start,
609:         _M_get_Tp_allocator()); }
609: # 933 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       deque(deque&&) = default;
609: 
609: 
609:       deque(const deque& __x, const __type_identity_t<allocator_type>& __a)
609:       : _Base(__a, __x.size())
609:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
609:         this->_M_impl._M_start,
609:         _M_get_Tp_allocator()); }
609: 
609: 
609:       deque(deque&& __x, const __type_identity_t<allocator_type>& __a)
609:       : deque(std::move(__x), __a, typename _Alloc_traits::is_always_equal{})
609:       { }
609: 
609:     private:
609:       deque(deque&& __x, const allocator_type& __a, true_type)
609:   emplate<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1412: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1412: 
1412: 
1412: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTybihf/bits/stdio2-decl.h" 3 4
1417: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
1417:      FILE *__restrict __stream)
1417:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1417: 
1417: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
1417:       size_t __size, size_t __n,
1417:       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
1417:        int __n, FILE *__restrict __stream)
1417:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1417: 
1417: 
1417: 
1417: 
1417: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
1417:         size_t __size, size_t __n,
1417:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1417: # 891 "/usr/include/stdio.h" 2 3 4
1417: # 902 "/usr/include/stdio.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 1 3 4
1417: # 46 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 3 4
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: getchar (void)
1417: {
1417:   return getc (stdin);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: fgetc_unlocked (FILE *__fp)
1417: {
1417:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: getc_unlocked (FILE *__fp)
1417: {
1417:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1417: }
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: getchar_unlocked (void)
1417: {
1417:   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: putchar (int __c)
1417: {
1417:   return putc (__c, stdout);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: fputc_unlocked (int __c, FILE *__stream)
1417: {
1417:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: putc_unlocked (int __c, FILE *__stream)
1417: {
1417:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1417: }
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: putchar_unlocked (int __c)
1417: {
1417:   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
1417: getline (char **__lineptr, size_t *__n, FILE *__stream)
1417: {
1417:   return __getdelim (__lineptr, __n, '\n', __stream);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) noexcept (true)
1417: {
1417:   return (((__stream)->_flags & 0x0010) != 0);
1417: }
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) noexcept (true)
1417: {
1417:   return (((__stream)->_flags & 0x0020) != 0);
1417: }
1417: # 903 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) noexcept (true)
1417: {
1417:   return __builtin___sprintf_chk (__s, 2 - 1,
1417:       __builtin_object_size (__s, 2 > 1), __fmt,
1417:       __builtin_va_arg_pack ());
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1417: 
1417: {
1417:   return __builtin___vsprintf_chk (__s, 2 - 1,
1417:        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1417: }
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) noexcept (true)
1417: 
1417: {
1417:   return __builtin___snprintf_chk (__s, __n, 2 - 1,
1417:        __builtin_object_size (__s, 2 > 1), __fmt,
1417:        __builtin_va_arg_pack ());
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1417: 
1417: {
1417:   return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
1417:         __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
1417: {
1417:   return __fprintf_chk (__stream, 2 - 1, __fmt,
1417:    __builtin_va_arg_pack ());
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: printf (const char *__restrict __fmt, ...)
1417: {
1417:   return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)
1417: {
1417: 
1417:   return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
1417: 
1417: 
1417: 
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: vfprintf (FILE *__restrict __stream,
1417:    const char *__restrict __fmt, __gnuc_va_list __ap)
1417: {
1417:   return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
1417: }
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: dprintf (int __fd, const char *__restrict __fmt, ...)
1417: {
1417:   return __dprintf_chk (__fd, 2 - 1, __fmt,
1417:    __builtin_va_arg_pack ());
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)
1417: {
1417:   return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1417: {
1417:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
14    : _Base(std::move(__x), __a)
609:       { }
609: 
609:       deque(deque&& __x, const allocator_type& __a, false_type)
609:       : _Base(std::move(__x), __a, __x.size())
609:       {
609:  if (__x.get_allocator() != __a && !__x.empty())
609:    {
609:      std::__uninitialized_move_a(__x.begin(), __x.end(),
609:      this->_M_impl._M_start,
609:      _M_get_Tp_allocator());
609:      __x.clear();
609:    }
609:       }
609: 
609:     public:
609: # 976 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       deque(initializer_list<value_type> __l,
609:      const allocator_type& __a = allocator_type())
609:       : _Base(__a)
609:       {
609:  _M_range_initialize(__l.begin(), __l.end(),
609:        random_access_iterator_tag());
609:       }
609: # 1001 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609:  deque(_InputIterator __first, _InputIterator __last,
609:        const allocator_type& __a = allocator_type())
609:  : _Base(__a)
609:  {
609:    _M_range_initialize(__first, __last,
609:          std::__iterator_category(__first));
609:  }
609: # 1027 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       ~deque()
609:       { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); }
609: # 1039 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       deque&
609:       operator=(const deque& __x);
609: # 1051 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       deque&
609:       operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal())
609:       {
609:  using __always_equal = typename _Alloc_traits::is_always_equal;
609:  _M_move_assign1(std::move(__x), __always_equal{});
609:  return *this;
609:       }
609: # 1070 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       deque&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  _M_assign_aux(__l.begin(), __l.end(),
609:         random_access_iterator_tag());
609:  return *this;
609:       }
609: # 1089 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       assign(size_type __n, const value_type& __val)
609:       { _M_fill_assign(__n, __val); }
609: # 1106 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609:  void
609:  assign(_InputIterator __first, _InputIterator __last)
609:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
609: # 1133 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       assign(initializer_list<value_type> __l)
609:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return _Base::get_allocator(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       begin() noexcept
609:       { return this->_M_impl._M_start; }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       begin() const noexcept
609:       { return this->_M_impl._M_start; }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       end() noexcept
609:       { return this->_M_impl._M_finish; }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       end() const noexcept
609:       { return this->_M_impl._M_finish; }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return reverse_iterator(this->_M_impl._M_finish); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(this->_M_impl._M_finish); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rend() noexcept
609:       { return reverse_iterator(this->_M_impl._M_start); }
609: 
609: 
609: 
609: 
pes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1412: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1412: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_ty17:     __builtin_va_arg_pack ());
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1417: 
1417: {
1417:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1417:     __builtin_va_arg_pack ());
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) noexcept (true)
1417: 
1417: {
1417:   return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
1417:           __builtin_va_arg_pack ());
1417: }
1417: # 165 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1417: 
1417: {
1417:   return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1417: 
1417: {
1417:   return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
1417:     __ap);
1417: }
1417: # 198 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1417: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
1417: 
1417: 
1417:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
1417:                                  ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1417: fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1417: {
1417:   size_t sz = __builtin_object_size (__s, 2 > 1);
1417:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1417:     return __fgets_alias (__s, __n, __stream);
1417:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1417:     return __fgets_chk_warn (__s, sz, __n, __stream);
1417:   return __fgets_chk (__s, sz, __n, __stream);
1417: }
1417: 
1417: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
1417: 
1417: 
1417:             __attribute__ ((__warn_unused_result__));
1417: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
1417: 
1417: 
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
1417:                                  ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_un609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return const_reverse_iterator(this->_M_impl._M_start); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cbegin() const noexcept
609:       { return this->_M_impl._M_start; }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cend() const noexcept
609:       { return this->_M_impl._M_finish; }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crbegin() const noexcept
609:       { return const_reverse_iterator(this->_M_impl._M_finish); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crend() const noexcept
609:       { return const_reverse_iterator(this->_M_impl._M_start); }
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       size() const noexcept
609:       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       max_size() const noexcept
609:       { return _S_max_size(_M_get_Tp_allocator()); }
609: # 1287 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       resize(size_type __new_size)
609:       {
609:  const size_type __len = size();
609:  if (__new_size > __len)
609:    _M_default_append(__new_size - __len);
609:  else if (__new_size < __len)
609:    _M_erase_at_end(this->_M_impl._M_start
609:      + difference_type(__new_size));
609:       }
609: # 1309 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       resize(size_type __new_size, const value_type& __x)
609: # 1326 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       {
609:  const size_type __len = size();
609:  if (__new_size > __len)
609:    _M_fill_insert(this->_M_impl._M_finish, __new_size - __len, __x);
609:  else if (__new_size < __len)
609:    _M_erase_at_end(this->_M_impl._M_start
609:      + difference_type(__new_size));
609:       }
609: 
609: 
609: 
609:       void
609:       shrink_to_fit() noexcept
609:       { _M_shrink_to_fit(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
609: # 1362 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       [[__nodiscard__]]
609:       reference
609:       operator[](size_type __n) noexcept
609:       {
609:  ;
609:  return this->_M_impl._M_start[difference_type(__n)];
609:       }
609: # 1381 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       [[__nodiscard__]]
609:       const_reference
609:       operator[](size_type __n) const noexcept
609:       {
609:  ;
609:  return this->_M_impl._M_start[difference_type(__n)];
609:       }
609: 
609:     protected:
609: 
609:       void
609:       _M_range_check(size_type __n) const
609:       {
609:  if (__n >= this->size())
609:    __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)")
609: 
609:                             ,
609:        __n, this->size());
609:       }
609: 
609:     public:
609: # 1413 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       reference
609:       at(size_type __n)
609:       {
609:  _M_range_check(__n);
609:  return (*this)[__n];
609:       }
609: # 1431 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       const_reference
609:       at(size_type __n) const
609:       {
609:  _M_range_check(__n);
609:  return (*this)[__n];
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       front() noexcept
609:       {
609:  ;
609:  return *begin();
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       front() const noexcept
609:       {
609:  ;
609:  return *begin();
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       back() noexcept
609:       used_result__)) size_t
1417: fread (void *__restrict __ptr, size_t __size, size_t __n,
1417:        FILE *__restrict __stream)
1417: {
1417:   size_t sz = __builtin_object_size (__ptr, 0);
1417:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1417:     return __fread_alias (__ptr, __size, __n, __stream);
1417:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1417:     return __fread_chk_warn (__ptr, sz, __size, __n, __stream);
1417:   return __fread_chk (__ptr, sz, __size, __n, __stream);
1417: }
1417: 
1417: 
1417: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
1417: 
1417: 
1417:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
1417:                                  ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1417: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
1417: {
1417:   size_t sz = __builtin_object_size (__s, 2 > 1);
1417:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1417:     return __fgets_unlocked_alias (__s, __n, __stream);
1417:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1417:     return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);
1417:   return __fgets_unlocked_chk (__s, sz, __n, __stream);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
1417: 
1417: 
1417:                      __attribute__ ((__warn_unused_result__));
1417: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
1417: 
1417: 
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
1417:                                         ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1417: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
1417:   FILE *__restrict __stream)
1417: {
1417:   size_t sz = __builtin_object_size (__ptr, 0);
1417:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1417:     {
1417: 
1417:       if (__builtin_constant_p (__size)
1417:    && __builtin_constant_p (__n)
1417:    && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
1417:    && __size * __n <= 8)
1417:  {
1417:    size_t __cnt = __size * __n;
1417:    char *__cptr = (char *) __ptr;
1417:    if (__cnt == 0)
1417:      return 0;
1417: 
1417:    for (; __cnt > 0; --__cnt)
1417:      {
1417:        int __c = getc_unlocked (__stream);
1417:        if (__c == (-1))
1417:   break;
1417:        *__cptr++ = __c;
1417:      }
1417:    return (__cptr - (char *) __ptr) / __size;
1417:  }
1417: 
1417:       return __fread_unlocked_alias (__ptr, __size, __n, __stream);
1417:     }
1417:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1417:     return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);
1417:   return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);
1417: 
1417: }
1417: # 907 "/usr/include/stdio.h" 2 3 4
1417: 
1417: 
1417: }
1417: # 43 "/usr/include/c++/12/cstdio" 2 3
1417: # 96 "/usr/include/c++/12/cstdio" 3
1417: namespace std
1417: {
1417:   using ::FILE;
1417:   using ::fpos_t;
1417: 
1417:   using ::clearerr;
1417:   using ::fclose;
1417:   using ::feof;
1417:   using ::ferror;
1417:   using ::fflush;
1417:   using ::fgetc;
1417:   using ::fgetpos;
1417:   using ::fgets;
1417:   using ::fopen;
1417:   using ::fprintf;
1417:   using ::fputc;
1417:   using ::fputs;
1417:   using ::fread;
1417:   using ::freopen;
1417:   using ::fscanf;
1417:   using ::fseek;
1417:   using ::fsetpos;
1417:   using ::ftell;
1417:   using ::fwrite;
1417:   using ::getc;
1417:   using ::getchar;
1417: 
1417: 
1417: 
1417: 
1417:   using ::perror;
1417:   using ::printf;
1417:   using ::putc;
1417:   using ::putchar;
1417:   using ::puts;
1417:   using ::remove;
1417:   using ::rename;
1417:   using ::rewind;
1417:   using ::scanf;
1417:   using ::setbuf;
1417:   using ::setvbuf;
1417:   using ::sprintf;
1417:   using ::sscanf;
1417:   using ::tmpfile;
1417: 
1417:   using ::tmpnam;
1417: 
1417:   using ::ungetc;
1417:   using ::vfprintf;
1417:   using ::vprintf;
1417:   using ::vsprintf;
1417: }
1417: # 157 "/usr/include/c++/12/cstdio" 3
1417: namespace __gnu_cxx
1417: {
1417: # 175 "/usr/include/c++/12/cstdio" 3
1417:   using ::snprintf;
1417:   using ::vfscanf;
1417:   using ::vscanf;
1417:   using ::vsnprintf;
1417:   using ::vsscanf;
1417: 
1417: }
1417: 
1417: namespace std
1417: {
1417:   using ::__gnu_cxx::snprintf;
1417:   using ::__gnu_cxx::vfscanf;
1417:   using ::__gnu_cxx::vscanf;
1417:   using ::__gnu_cxx::vsnprintf;
1417:   using ::__gnu_cxx::vsscanf;
1417: }
1417: # 44 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1417: # 1 "/usr/include/c++/12/cerrno" 1 3
1417: # 39 "/usr/include/c++/12/cerrno" 3
1417:        
1417: # 40 "/usr/include/c++/12/cerrno" 3
1417: 
1417: 
1417: # 1 "/usr/include/errno.h" 1 3 4
1417: # 28 "/usr/include/errno.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 1 3 4
1417: # 26 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4
1417: # 1 "/usr/include/linux/errno.h" 1 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 1 3 4
1417: # 1 "/usr/include/asm-generic/errno.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
1417: # 6 "/usr/include/asm-generic/errno.h" 2 3 4
1417: # 2 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 2 3 4
1417: # 2 "/usr/include/linux/errno.h" 2 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 2 3 4
1417: # 29 "/usr/include/errno.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C" {
1417: 
1417: 
1417: extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *program_invocation_name;
1417: extern char *program_invocation_short_name;
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 1 3 4
1417: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 3 4
1417: typedef int error_t;
1417: # 49pe; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Functor, typename = __void_t<>>
1412:     struct _Maybe_get_result_type
1412:     { };
1412: 
1412:   template<typename _Functor>
1412:     struct _Maybe_get_result_type<_Functor,
1412:       __void_t<typename _Functor::result_type>>
1412:     { typedef typename _Functor::result_type result_type; };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Functor>
1412:     struct _Weak_result_type_impl
1412:     : _Maybe_get_result_type<_Functor>
1412:     { };
1412: 
1412: 
1412:   template<typename _Res, typename... _ArgTypes , bool _NE>
1412:     struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
1412:     { typedef _Res result_type; };
1412: 
1412: 
1412:   template<typename _Res, typename... _ArgTypes , bool _NE>
1412:     struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)>
1412:     { typedef _Res result_type; };
1412: 
1412: 
1412:   template<typename _Res, typename... _ArgTypes , bool _NE>
1412:     struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
1412:     { typedef _Res result_type; };
1412: 
1412: 
1412:   template<typename _Res, typename... _ArgTypes , bool _NE>
1412:     struct
1412:     _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)>
1412:     { typedef _Res result_type; };
1412: 
1412: 
1412:   template<typename _Functor,
1412:     bool = is_member_function_pointer<_Functor>::value>
1412:     struct _Weak_result_type_memfun
1412:     : _Weak_result_type_impl<_Functor>
1412:     { };
1412: 
1412: 
1412:   template<typename _MemFunPtr>
1412:     struct _Weak_result_type_memfun<_MemFunPtr, true>
1412:     {
1412:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1412:     };
1412: 
1412: 
1412:   template<typename _Func, typename _Class>
1412:     struct _Weak_result_type_memfun<_Func _Class::*, false>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Functor>
1412:     struct _Weak_result_type
1412:     : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename = __void_t<>>
1412:     struct _Refwrap_base_arg1
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _Refwrap_base_arg1<_Tp,
1412:          __void_t<typename _Tp::argument_type>>
1412:     {
1412:       typedef typename _Tp::argument_type argument_type;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename = __void_t<>>
1412:     struct _Refwrap_base_arg2
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _Refwrap_base_arg2<_Tp,
1412:          __void_t<typename _Tp::first_argument_type,
1412:            typename _Tp::second_argument_type>>
1412:     {
1412:       typedef typename _Tp::first_argument_type first_argument_type;
1412:       typedef typename _Tp::second_argument_type second_argument_type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _Reference_wrapper_base
1412:     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
1412:     { };
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412:   template<typename _Res, typename _T1 , bool _NE>
1412:     struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
1412:     : unary_function<_T1, _Res>
1412:     { };
1412: 
1412:   template<typename _Res, typename _T1>
1412:     struct _Reference_wrapper_base<_Res(_T1) const>
1412:     : unary_function<_T1, _Res>
1412:     { };
1412: 
1412:   template<typename _Res, typename _T1>
1412:     struct _Reference_wrapper_base<_Res(_T1) volatile>
1412:     : unary_function<_T1, _Res>
1412:     { };
1412: 
1412:   t{
609:  ;
609:  iterator __tmp = end();
609:  --__tmp;
609:  return *__tmp;
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       back() const noexcept
609:       {
609:  ;
609:  const_iterator __tmp = end();
609:  --__tmp;
609:  return *__tmp;
609:       }
609: # 1500 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       push_front(const value_type& __x)
609:       {
609:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
609:    {
609:      _Alloc_traits::construct(this->_M_impl,
609:          this->_M_impl._M_start._M_cur - 1,
609:          __x);
609:      --this->_M_impl._M_start._M_cur;
609:    }
609:  else
609:    _M_push_front_aux(__x);
609:       }
609: 
609: 
609:       void
609:       push_front(value_type&& __x)
609:       { emplace_front(std::move(__x)); }
609: 
609:       template<typename... _Args>
609: 
609:  reference
609: 
609: 
609: 
609:  emplace_front(_Args&&... __args);
609: # 1537 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       push_back(const value_type& __x)
609:       {
609:  if (this->_M_impl._M_finish._M_cur
609:      != this->_M_impl._M_finish._M_last - 1)
609:    {
609:      _Alloc_traits::construct(this->_M_impl,
609:          this->_M_impl._M_finish._M_cur, __x);
609:      ++this->_M_impl._M_finish._M_cur;
609:    }
609:  else
609:    _M_push_back_aux(__x);
609:       }
609: 
609: 
609:       void
609:       push_back(value_type&& __x)
609:       { emplace_back(std::move(__x)); }
609: 
609:       template<typename... _Args>
609: 
609:  reference
609: 
609: 
609: 
609:  emplace_back(_Args&&... __args);
609: # 1573 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       pop_front() noexcept
609:       {
609:  ;
609:  if (this->_M_impl._M_start._M_cur
609:      != this->_M_impl._M_start._M_last - 1)
609:    {
609:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
609:        this->_M_impl._M_start._M_cur);
609:      ++this->_M_impl._M_start._M_cur;
609:    }
609:  else
609:    _M_pop_front_aux();
609:       }
609: # 1596 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       pop_back() noexcept
609:       {
609:  ;
609:  if (this->_M_impl._M_finish._M_cur
609:      != this->_M_impl._M_finish._M_first)
609:    {
609:      --this->_M_impl._M_finish._M_cur;
609:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
609:        this->_M_impl._M_finish._M_cur);
609:    }
609:  else
609:    _M_pop_back_aux();
609:       }
609: # 1621 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace(const_iterator __position, _Args&&... __args);
609: # 1634 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       iterator
609:       insert(const_iterator __position, const value_type& __x);
609: # 1660 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       iterator
609:       insert(const_iterator __position, value_type&& __x)
609:       { return emplace(__position, std::move(__x)); }
609: # 1674 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       iterator
609:       insert(const_iterator __p, initializer_list<value_type> __l)
609:       {
609:  auto __offset = __p - cbegin();
609:  _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(),
609:        std::random_access_iterator_tag());
609:  return begin() + __offset;
609:       }
609: # 1693 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       iterator
609:       insert(const_iterator __position, size_type __n, const value_type& __x)
609:       {
609:  difference_type __offset = __position - cbegin();
609:  _M_fill_insert(__position._M_const_cast(), __n, __x);
609:  return begin() + __offset;
609:       }
609: # 1727 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609:  iterator
609:  insert(const_iterator __position, _InputIterator __first,
609:         _InputIterator __last)
609:  {
609:    difference_type __offset = __position - cbegin();
609:    _M_range_insert_aux(__positio "/usr/include/errno.h" 2 3 4
1417: 
1417: 
1417: 
1417: }
1417: # 43 "/usr/include/c++/12/cerrno" 2 3
1417: # 45 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _TRet, typename _Ret = _TRet, typename _CharT,
1417:     typename... _Base>
1417:     _Ret
1417:     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
1417:     const char* __name, const _CharT* __str, std::size_t* __idx,
1417:     _Base... __base)
1417:     {
1417:       _Ret __ret;
1417: 
1417:       _CharT* __endptr;
1417: 
1417:       struct _Save_errno {
1417:  _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
1417:  ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
1417:  int _M_errno;
1417:       } const __save_errno;
1417: 
1417:       struct _Range_chk {
1417:    static bool
1417:    _S_chk(_TRet, std::false_type) { return false; }
1417: 
1417:    static bool
1417:    _S_chk(_TRet __val, std::true_type)
1417:    {
1417:      return __val < _TRet(__numeric_traits<int>::__min)
1417:        || __val > _TRet(__numeric_traits<int>::__max);
1417:    }
1417:       };
1417: 
1417:       const _TRet __tmp = __convf(__str, &__endptr, __base...);
1417: 
1417:       if (__endptr == __str)
1417:  std::__throw_invalid_argument(__name);
1417:       else if ((*__errno_location ()) == 34
1417:    || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
1417:  std::__throw_out_of_range(__name);
1417:       else
1417:  __ret = __tmp;
1417: 
1417:       if (__idx)
1417:  *__idx = __endptr - __str;
1417: 
1417:       return __ret;
1417:     }
1417: 
1417: 
1417:   template<typename _String, typename _CharT = typename _String::value_type>
1417:     _String
1417:     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
1417:      __builtin_va_list), std::size_t __n,
1417:    const _CharT* __fmt, ...)
1417:     {
1417: 
1417: 
1417:       _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:          * __n));
1417: 
1417:       __builtin_va_list __args;
1417:       __builtin_va_start(__args, __fmt);
1417: 
1417:       const int __len = __convf(__s, __n, __fmt, __args);
1417: 
1417:       __builtin_va_end(__args);
1417: 
1417:       return _String(__s, __s + __len);
1417:     }
1417: 
1417: 
1417: }
1417: # 3961 "/usr/include/c++/12/bits/basic_string.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/charconv.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/charconv.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/charconv.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: namespace __detail
1417: {
1417: 
1417:   template<typename _Tp>
1417:     constexpr unsigned
1417:     __to_chars_len(_Tp __value, int __base = 10) noexcept
1417:     {
1417:       static_assert(is_integral<_Tp>::value, "implementation bug");
1417:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1417: 
1417:       unsigned __n = 1;
1417:       const unsigned __b2 = __base * __base;
1417:       const unsigned __b3 = __b2 * __base;
1417:       const unsigned long __b4 = __b3 * __base;
1417:       for (;;)
1417:  {
1417:    if (__value < (unsigned)__base) return __n;
1417:    if (__value < __b2) return __n + 1;
1417:    if (__value < __b3) return __n + 2;
1417:    if (__value < __b4) return __n + 3;
1417:    __value /= __b4;
1417:    __n += 4;
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     void
1417:     __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
1417:     {
1417:       static_assert(is_integral<_Tp>::value, "implementation bug");
1417:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1417: 
1417:       static constexpr char __digits[201] =
1417:  "0001020304050607080910111213141516171819"
1417:  "2021222324252627282930313233343536373839"
1417:  "4041424344454647484950515253545556575859"
1417:  "6061626364656667686970717273747576777879"
1417:  "8081828384858687888990919293949596979899";
1417:       unsigned __pos = __len - 1;
1417:       while (__val >= 100)
1417:  {
1417:    auto const __num = (__val % 100) * 2;
1417:    __val /= 100;
1417:    __first[__pos] = __digits[__num + 1];
1417:    __first[__pos - 1] = __digits[__num];
1417:    __pos -= 2;
1417:  }
1417:       if (__val >= 10)
1417:  {
1417:    auto const __num = __val * 2;
1417:    __first[1] = __digits[__num + 1];
1417:    __first[0] = __digits[__num];
1417:  }
1417:       else
1417:  __first[0] = '0' + __val;
1417:     }
1417: 
1417: }
1417: 
1417: }
1417: # 3962 "/usr/include/c++/12/bits/basic_string.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: namespace __cxx11 {
1417: 
1417: 
1417: 
1417:   inline int
1417:   stoi(const string& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
1417:      __idx, __base); }
1417: 
1417:   inline long
1417:   stol(const string& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417:   inline unsigned long
1417:   stoul(const string& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417:   inline long long
1417:   stoll(const string& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417:   inline unsigned long long
1417:   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417: 
1417:   inline float
1417:   stof(const string& __str, size_t* __idx = 0)
1417:   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
1417: 
1417:   inline double
1417:   stod(const string& __str, size_t* __idx = 0)
1417:   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
1417: 
1417:   inline long double
1417:   stold(const string& __str, size_t* __idx = 0)
1417:   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
1417: 
1417: 
1417: 
1417: 
1417:   inline string
1417:   to_string(int __val)
1417: 
1417:   noexcept
1417: 
1417:   {
1417:     const bool __neg = __val < 0;
1417:     const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
1417:     const auto __len = __detail::__to_chars_len(__uval);
1417:     string __str(__neg + __len, '-');
1417:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1417:     return __str;
1417:   }
1417: 
1417:   inline string
1417:   to_string(unsigned __val)
1417: 
1417:   noexcept
1417: 
1417:   {
1417:     string __str(__detail::__to_chars_len(__val), '\0');
1417:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1417:     return __str;
1417:   }
1417: 
1417:   inline string
1417:   to_string(long __val)
1417: 
1417:   noexcept
1417: 
1417:   {
1417:     const bool __neg = __val < 0;
1417:     const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
1417:     const auto __len = __detail::__to_chars_len(__uval);
1417:     string __str(__neg + __len, '-');
1417:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1417:     return __str;
1417:   }
1417: 
1417:   inline string
1417:   to_string(unsigned long __val)
1417: 
1417:   noexcept
1417: 
1417:   {
1417:     string __str(__detail::__to_chars_len(__val), '\0');
1417:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1417:     return __str;
1417:   }
1417: 
1417:   inline string
1417:   to_string(long long __val)
1417:   {
1417:     const bool __neg = __val < 0;
1417:     const unsigned long long __uval
1417:       = __neg ? (unsigned long long)~__val + 1ull : __val;
1417:     const auto __len = __detail::__to_chars_len(__uval);
1417:  emplate<typename _Res, typename _T1>
1412:     struct _Reference_wrapper_base<_Res(_T1) const volatile>
1412:     : unary_function<_T1, _Res>
1412:     { };
1412: 
1412: 
1412:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1412:     struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
1412:     : binary_function<_T1, _T2, _Res>
1412:     { };
1412: 
1412:   template<typename _Res, typename _T1, typename _T2>
1412:     struct _Reference_wrapper_base<_Res(_T1, _T2) const>
1412:     : binary_function<_T1, _T2, _Res>
1412:     { };
1412: 
1412:   template<typename _Res, typename _T1, typename _T2>
1412:     struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
1412:     : binary_function<_T1, _T2, _Res>
1412:     { };
1412: 
1412:   template<typename _Res, typename _T1, typename _T2>
1412:     struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
1412:     : binary_function<_T1, _T2, _Res>
1412:     { };
1412: 
1412: 
1412:   template<typename _Res, typename _T1 , bool _NE>
1412:     struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
1412:     : unary_function<_T1, _Res>
1412:     { };
1412: 
1412: 
1412:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1412:     struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
1412:     : binary_function<_T1, _T2, _Res>
1412:     { };
1412: 
1412:   template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
1412:     struct _Reference_wrapper_base_memfun
1412:     : _Reference_wrapper_base<_Tp>
1412:     { };
1412: 
1412:   template<typename _MemFunPtr>
1412:     struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
1412:     : _Mem_fn_traits<_MemFunPtr>::__maybe_type
1412:     {
1412:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1412:     };
1412: #pragma GCC diagnostic pop
1412: # 302 "/usr/include/c++/12/bits/refwrap.h" 3
1412:   template<typename _Tp>
1412:     class reference_wrapper
1412: 
1412: 
1412: 
1412:     : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
1412: 
1412:     {
1412:       _Tp* _M_data;
1412: 
1412:      
1412:       static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
1412: 
1412:       static void _S_fun(_Tp&&) = delete;
1412: 
1412:       template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
1412:  using __not_same
1412:    = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
1412: 
1412:     public:
1412:       typedef _Tp type;
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Up, typename = __not_same<_Up>, typename
1412:   = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
1412: 
1412:  reference_wrapper(_Up&& __uref)
1412:  noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
1412:  : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
1412:  { }
1412: 
1412:       reference_wrapper(const reference_wrapper&) = default;
1412: 
1412:       reference_wrapper&
1412:       operator=(const reference_wrapper&) = default;
1412: 
1412:      
1412:       operator _Tp&() const noexcept
1412:       { return this->get(); }
1412: 
1412:      
1412:       _Tp&
1412:       get() const noexcept
1412:       { return *_M_data; }
1412: 
1412:       template<typename... _Args>
1412: 
1412:  typename result_of<_Tp&(_Args&&...)>::type
1412:  operator()(_Args&&... __args) const
1412:  {
1412: 
1412: 
1412: 
1412: 
1412:    return std::__invoke(get(), std::forward<_Args>(__args)...);
1412:  }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:    
1412:     inline reference_wrapper<_Tp>
1412:     ref(_Tp& __t) noexcept
1412:     { return reference_wrapper<_Tp>(__t); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:    
1412:     inline reference_wrapper<const _Tp>
1412:     cref(const _Tp& __t) noexcept
1412:     { return reference_wrapper<const _Tp>(__t); }
1412: 
1412:   template<typename _Tp>
1412:     void ref(n._M_const_cast(), __first, __last,
609:          std::__iterator_category(__first));
609:    return begin() + __offset;
609:  }
609: # 1773 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       iterator
609: 
609:       erase(const_iterator __position)
609: 
609: 
609: 
609:       { return _M_erase(__position._M_const_cast()); }
609: # 1797 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       iterator
609: 
609:       erase(const_iterator __first, const_iterator __last)
609: 
609: 
609: 
609:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
609: # 1816 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       swap(deque& __x) noexcept
609:       {
609: 
609:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
609:                                                           ;
609: 
609:  _M_impl._M_swap_data(__x._M_impl);
609:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
609:       __x._M_get_Tp_allocator());
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       clear() noexcept
609:       { _M_erase_at_end(begin()); }
609: 
609:     protected:
609: # 1866 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       static size_t
609:       _S_check_init_len(size_t __n, const allocator_type& __a)
609:       {
609:  if (__n > _S_max_size(__a))
609:    __throw_length_error(
609:        ("cannot create std::deque larger than max_size()"));
609:  return __n;
609:       }
609: 
609:       static size_type
609:       _S_max_size(const _Tp_alloc_type& __a) noexcept
609:       {
609:  const size_t __diffmax = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max;
609:  const size_t __allocmax = _Alloc_traits::max_size(__a);
609:  return (std::min)(__diffmax, __allocmax);
609:       }
609: # 1895 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename _InputIterator>
609:  void
609:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
609:        std::input_iterator_tag);
609: 
609: 
609:       template<typename _ForwardIterator>
609:  void
609:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
609:        std::forward_iterator_tag);
609: # 1917 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       _M_fill_initialize(const value_type& __value);
609: 
609: 
609: 
609:       void
609:       _M_default_initialize();
609: # 1948 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename _InputIterator>
609:  void
609:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
609:         std::input_iterator_tag);
609: 
609: 
609:       template<typename _ForwardIterator>
609:  void
609:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
609:         std::forward_iterator_tag)
609:  {
609:    const size_type __len = std::distance(__first, __last);
609:    if (__len > size())
609:      {
609:        _ForwardIterator __mid = __first;
609:        std::advance(__mid, size());
609:        std::copy(__first, __mid, begin());
609:        _M_range_insert_aux(end(), __mid, __last,
609:       std::__iterator_category(__first));
609:      }
609:    else
609:      _M_erase_at_end(std::copy(__first, __last, begin()));
609:  }
609: 
609: 
609: 
609:       void
609:       _M_fill_assign(size_type __n, const value_type& __val)
609:       {
609:  if (__n > size())
609:    {
609:      std::fill(begin(), end(), __val);
609:      _M_fill_insert(end(), __n - size(), __val);
609:    }
609:  else
609:    {
609:      _M_erase_at_end(begin() + difference_type(__n));
609:      std::fill(begin(), end(), __val);
609:    }
609:       }
609: # 1996 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       template<typename... _Args>
609:  void _M_push_back_aux(_Args&&... __args);
609: 
609:       template<typename... _Args>
609:  void _M_push_front_aux(_Args&&... __args);
609: 
609: 
609:       void _M_pop_back_aux();
609: 
609:       void _M_pop_front_aux();
609: # 2035 "/usr/include/c+   string __str(__neg + __len, '-');
1417:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1417:     return __str;
1417:   }
1417: 
1417:   inline string
1417:   to_string(unsigned long long __val)
1417:   {
1417:     string __str(__detail::__to_chars_len(__val), '\0');
1417:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1417:     return __str;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   inline string
1417:   to_string(float __val)
1417:   {
1417:     const int __n =
1417:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1417:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1417:         "%f", __val);
1417:   }
1417: 
1417:   inline string
1417:   to_string(double __val)
1417:   {
1417:     const int __n =
1417:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1417:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1417:         "%f", __val);
1417:   }
1417: 
1417:   inline string
1417:   to_string(long double __val)
1417:   {
1417:     const int __n =
1417:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1417:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1417:         "%Lf", __val);
1417:   }
1417: 
1417: 
1417: 
1417:   inline int
1417:   stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
1417:      __idx, __base); }
1417: 
1417:   inline long
1417:   stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417:   inline unsigned long
1417:   stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417:   inline long long
1417:   stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417:   inline unsigned long long
1417:   stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
1417:   { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
1417:         __idx, __base); }
1417: 
1417: 
1417:   inline float
1417:   stof(const wstring& __str, size_t* __idx = 0)
1417:   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
1417: 
1417:   inline double
1417:   stod(const wstring& __str, size_t* __idx = 0)
1417:   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
1417: 
1417:   inline long double
1417:   stold(const wstring& __str, size_t* __idx = 0)
1417:   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
1417: 
1417: 
1417: 
1417:   inline wstring
1417:   to_wstring(int __val)
1417:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int),
1417:          L"%d", __val); }
1417: 
1417:   inline wstring
1417:   to_wstring(unsigned __val)
1417:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1417:          4 * sizeof(unsigned),
1417:          L"%u", __val); }
1417: 
1417:   inline wstring
1417:   to_wstring(long __val)
1417:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long),
1417:          L"%ld", __val); }
1417: 
1417:   inline wstring
1417:   to_wstring(unsigned long __val)
1417:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1417:          4 * sizeof(unsigned long),
1417:          L"%lu", __val); }
1417: 
1417:   inline wstring
1417:   to_wstring(long long __val)
1417:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1417:          4 * sizeof(long long),
1417:          L"%lld", __val); }
1417: 
1417:   inline wstring
1417:   to_wstring(unsigned long long __val)
1417:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1417:          4 * sizeof(unsigned long long),
1417:          L"%llu", __val); }
1417: 
1417:   inline wstring
1417:   to_wstring(const _Tp&&) = delete;
1412: 
1412:   template<typename _Tp>
1412:     void cref(const _Tp&&) = delete;
1412: 
1412: 
1412:   template<typename _Tp>
1412:    
1412:     inline reference_wrapper<_Tp>
1412:     ref(reference_wrapper<_Tp> __t) noexcept
1412:     { return __t; }
1412: 
1412: 
1412:   template<typename _Tp>
1412:    
1412:     inline reference_wrapper<const _Tp>
1412:     cref(reference_wrapper<_Tp> __t) noexcept
1412:     { return { __t.get() }; }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 52 "/usr/include/c++/12/string" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/basic_string.h" 1 3
1412: # 37 "/usr/include/c++/12/bits/basic_string.h" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/basic_string.h" 3
1412: # 47 "/usr/include/c++/12/bits/basic_string.h" 3
1412: # 1 "/usr/include/c++/12/string_view" 1 3
1412: # 36 "/usr/include/c++/12/string_view" 3
1412:        
1412: # 37 "/usr/include/c++/12/string_view" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/functional_hash.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/functional_hash.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/functional_hash.h" 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/hash_bytes.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/hash_bytes.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/hash_bytes.h" 3
1412: 
1412: 
1412: 
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   size_t
1412:   _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   size_t
1412:   _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1412: 
1412: 
1412: }
1412: # 37 "/usr/include/c++/12/bits/functional_hash.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 50 "/usr/include/c++/12/bits/functional_hash.h" 3
1412:   template<typename _Result, typename _Arg>
1412:     struct __hash_base
1412:     {
1412:       typedef _Result result_type [[__deprecated__]];
1412:       typedef _Arg argument_type [[__deprecated__]];
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct hash;
1412: 
1412:   template<typename _Tp, typename = void>
1412:     struct __poison_hash
1412:     {
1412:       static constexpr bool __enable_hash_call = false;
1412:     private:
1412: 
1412:       __poison_hash(__poison_hash&&);
1412:       ~__poison_hash();
1412:     };
1412: 
1412:   template<typename _Tp>
1412:     struct __poison_hash<_Tp, __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
1412:     {
1412:       static constexpr bool __enable_hash_call = true;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, bool = is_enum<_Tp>::value>
1412:     struct __hash_enum
1412:     {
1412:     private:
1412: 
1412:       __hash_enum(__hash_enum&&);
1412:       ~__hash_enum();
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp>
1412:     {
1412:       size_t
1412:       operator()(_Tp __val) const noexcept
1412:       {
1412:        using __type = typename underlying_type<_Tp>::type;
1412:        return hash<__type>{}(static_cast<__type>(__val));
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct hash : __hash_enum<_Tp>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
1412:     {
1412:       size_t
1412:       operator()(_Tp* __p) const noexcept
1412:       { return reinterpret_cast<size_t>(__p); }
1412:     };
1412: # 125 "/usr/include/c++/12/bits/functional_hash.h" 3
1412:   template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<signed char> : public __hash_base<sizfloat __val)
1417:   {
1417:     const int __n =
1417:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1417:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1417:          L"%f", __val);
1417:   }
1417: 
1417:   inline wstring
1417:   to_wstring(double __val)
1417:   {
1417:     const int __n =
1417:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1417:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1417:          L"%f", __val);
1417:   }
1417: 
1417:   inline wstring
1417:   to_wstring(long double __val)
1417:   {
1417:     const int __n =
1417:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1417:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1417:          L"%Lf", __val);
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct hash<string>
1417:     : public __hash_base<size_t, string>
1417:     {
1417:       size_t
1417:       operator()(const string& __s) const noexcept
1417:       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<string>> : std::false_type
1417:     { };
1417: 
1417: 
1417:   template<>
1417:     struct hash<wstring>
1417:     : public __hash_base<size_t, wstring>
1417:     {
1417:       size_t
1417:       operator()(const wstring& __s) const noexcept
1417:       { return std::_Hash_impl::hash(__s.data(),
1417:                                      __s.length() * sizeof(wchar_t)); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<wstring>> : std::false_type
1417:     { };
1417: # 4281 "/usr/include/c++/12/bits/basic_string.h" 3
1417:   template<>
1417:     struct hash<u16string>
1417:     : public __hash_base<size_t, u16string>
1417:     {
1417:       size_t
1417:       operator()(const u16string& __s) const noexcept
1417:       { return std::_Hash_impl::hash(__s.data(),
1417:                                      __s.length() * sizeof(char16_t)); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<u16string>> : std::false_type
1417:     { };
1417: 
1417: 
1417:   template<>
1417:     struct hash<u32string>
1417:     : public __hash_base<size_t, u32string>
1417:     {
1417:       size_t
1417:       operator()(const u32string& __s) const noexcept
1417:       { return std::_Hash_impl::hash(__s.data(),
1417:                                      __s.length() * sizeof(char32_t)); }
1417:     };
1417: 
1417:   template<>
1417:     struct __is_fast_hash<hash<u32string>> : std::false_type
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline namespace literals
1417:   {
1417:   inline namespace string_literals
1417:   {
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     inline basic_string<char>
1417:     operator""s(const char* __str, size_t __len)
1417:     { return basic_string<char>{__str, __len}; }
1417: 
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     inline basic_string<wchar_t>
1417:     operator""s(const wchar_t* __str, size_t __len)
1417:     { return basic_string<wchar_t>{__str, __len}; }
1417: # 4344 "/usr/include/c++/12/bits/basic_string.h" 3
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     inline basic_string<char16_t>
1417:     operator""s(const char16_t* __str, size_t __len)
1417:     { return basic_string<char16_t>{__str, __len}; }
1417: 
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     inline basic_string<char32_t>
1417:     operator""s(const char32_t* __str, size_t __len)
1417:     { return basic_string<char32_t>{__str, __len}; }
1417: 
1417: 
1417: #pragma GCC diagnostic pop
1417:   }
1417:   }
1417: 
1417: 
1417:   namespace __detail::__variant
1417:   {
1417:     template<typename> struct _Never_valueless_alt;
1417: 
1417: 
1417: 
1417:     template<typename _Tp, typename _Traits, typename _Alloc>
1417:       struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
1417:       : __and_<
1417:  is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
1417:  is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
1417:  >::type
1417:       { };
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 54 "/usr/include/c++/12/string" 2 3
1417: # 1 "/usr/include/c++/12/bits/basic_string.tcc" 1 3
1417: # 42 "/usr/include/c++/12/bits/basic_string.tcc" 3
1417:        
1417: # 43 "/usr/include/c++/12/bits/basic_string.tcc" 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::npos;
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     swap(basic_string& __s) noexcept
1417:     {
1417:       if (this == std::__addressof(__s))
1417:  return;
1417: 
1417:       _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
1417: 
1417:       if (_M_is_local())
1417:  if (__s._M_is_local())
1417:    {
1417:      if (length() && __s.length())
1417:        {
1417:   _CharT __tmp_data[_S_local_capacity + 1];
1417:   traits_type::copy(__tmp_data, __s._M_local_buf,
1417:       __s.length() + 1);
1417:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1417:       length() + 1);
1417:   traits_type::copy(_M_local_buf, __tmp_data,
1417:       __s.length() + 1);
1417:        }
1417:      else if (__s.length())
1417:        {
1417:   traits_type::copy(_M_local_buf, __s._M_local_buf,
1417:       __s.length() + 1);
1417:   _M_length(__s.length());
1417:   __s._M_set_length(0);
1417:   return;
1417:        }
1417:      else if (length())
1417:        {
1417:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1417:       length() + 1);
1417:   __s._M_length(length());
1417:   _M_set_length(0);
1417:   return;
1417:        }
1417:    }
1417:  else
1417:    {
1417:      const size_type __tmp_capacity = __s._M_allocated_capacity;
1417:      traits_type::copy(__s._M_local_buf, _M_local_buf,
1417:          length() + 1);
1417:      _M_data(__s._M_data());
1417:      __s._M_data(__s._M_local_buf);
1417:      _M_capacity(__tmp_capacity);
1417:    }
1417:       else
1417:  {
1417:    const size_type __tmp_capacity = _M_allocated_capacity;
1417:    if (__s._M_is_local())
1417:      {
1417:        traits_type::copy(_M_local_buf, __s._M_local_buf,
1417:     __s.length() + 1);
1417:        __s._M_data(_M_data());
1417:        _M_data(_M_local_buf);
1417:      }
1417:    else
1417:      {
1417:        pointer __tmp_ptr = _M_data();
1417:        _M_data(__s._M_data());
1417:        __s._M_data(__tmp_ptr);
1417:        _M_capacity(__s._M_allocated_capacity);
1417:      }
1417:    __s._M_capacity(__tmp_capacity);
1417:  }
1417: 
1417:       const size_type __tmp_length = length();
1417:       _M_length(__s.length());
1417:       __s._M_length(__tmp_length);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::pointer
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_create(size_type& __capacity, size_type __old_capacity)
1417:     {
1417: 
1417: 
1417:       if (__capacity > max_size())
1417:  std::__throw_length_error(("basic_string::_M_create"));
1417: 
1417: 
1417: 
1417: 
1417:       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
1417:  {
1417:    __capacity = 2 * __old_capacity;
1417: 
1417:    if (__capacity > max_size())
1417:      __capacity = max_size();
1417:  }
1417: 
1417: 
1417: 
1417:       return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
1417:+/12/bits/stl_deque.h" 3
609:       template<typename _InputIterator>
609:  void
609:  _M_range_insert_aux(iterator __pos, _InputIterator __first,
609:        _InputIterator __last, std::input_iterator_tag);
609: 
609: 
609:       template<typename _ForwardIterator>
609:  void
609:  _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
609:        _ForwardIterator __last, std::forward_iterator_tag);
609: 
609: 
609: 
609: 
609:       void
609:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename... _Args>
609:  iterator
609:  _M_insert_aux(iterator __pos, _Args&&... __args);
609: 
609: 
609: 
609:       void
609:       _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);
609: 
609: 
609:       template<typename _ForwardIterator>
609:  void
609:  _M_insert_aux(iterator __pos,
609:         _ForwardIterator __first, _ForwardIterator __last,
609:         size_type __n);
609: 
609: 
609: 
609: 
609:       void
609:       _M_destroy_data_aux(iterator __first, iterator __last);
609: 
609: 
609: 
609:       template<typename _Alloc1>
609:  void
609:  _M_destroy_data(iterator __first, iterator __last, const _Alloc1&)
609:  { _M_destroy_data_aux(__first, __last); }
609: 
609:       void
609:       _M_destroy_data(iterator __first, iterator __last,
609:         const std::allocator<_Tp>&)
609:       {
609:  if (!__has_trivial_destructor(value_type))
609:    _M_destroy_data_aux(__first, __last);
609:       }
609: 
609: 
609:       void
609:       _M_erase_at_begin(iterator __pos)
609:       {
609:  _M_destroy_data(begin(), __pos, _M_get_Tp_allocator());
609:  _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node);
609:  this->_M_impl._M_start = __pos;
609:       }
609: 
609: 
609: 
609:       void
609:       _M_erase_at_end(iterator __pos)
609:       {
609:  _M_destroy_data(__pos, end(), _M_get_Tp_allocator());
609:  _M_destroy_nodes(__pos._M_node + 1,
609:     this->_M_impl._M_finish._M_node + 1);
609:  this->_M_impl._M_finish = __pos;
609:       }
609: 
609:       iterator
609:       _M_erase(iterator __pos);
609: 
609:       iterator
609:       _M_erase(iterator __first, iterator __last);
609: 
609: 
609: 
609:       void
609:       _M_default_append(size_type __n);
609: 
609:       bool
609:       _M_shrink_to_fit();
609: 
609: 
609: 
609: 
609:       iterator
609:       _M_reserve_elements_at_front(size_type __n)
609:       {
609:  const size_type __vacancies = this->_M_impl._M_start._M_cur
609:           - this->_M_impl._M_start._M_first;
609:  if (__n > __vacancies)
609:    _M_new_elements_at_front(__n - __vacancies);
609:  return this->_M_impl._M_start - difference_type(__n);
609:       }
609: 
609:       iterator
609:       _M_reserve_elements_at_back(size_type __n)
609:       {
609:  const size_type __vacancies = (this->_M_impl._M_finish._M_last
609:            - this->_M_impl._M_finish._M_cur) - 1;
609:  if (__n > __vacancies)
609:    _M_new_elements_at_back(__n - __vacancies);
609:  return this->_M_impl._M_finish + difference_type(__n);
609:       }
609: 
609:       void
609:       _M_new_elements_at_front(size_type __new_elements);
609: 
609:       void
609:       _M_new_elements_at_back(size_type __new_elements);
609: # 2167 "/usr/include/c++/12/bits/stl_deque.h" 3
609:       void
609:       _M_reserve_map_at_back(size_type __nodes_to_add = 1)
609:       {
609:  if (__nodes_to_add + 1 > this->_M_impl._M_map_size
609:      - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
609:    _M_reallocate_map(__nodes_to_add, false);
609:       }
609: 
609:       void
609:       _M_reserve_map_at_front(size_type __nodes_to_add = 1)
609:       {
609:  if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
609:            - this->_M_impl._M_map))
609:    _M_reallocate_map(__nodes_to_add, true);
609:       }
609: 
609:       void
609:       _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
609: 
609: 
609: 
609: 
609: 
609:       void
609:       _M_move_assign1(deque&& __x, true_type)e_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
1412: 
1412: 
1412:   template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
1412: # 201 "/usr/include/c++/12/bits/functional_hash.h" 3
1412:   struct _Hash_impl
1412:   {
1412:     static size_t
1412:     hash(const void* __ptr, size_t __clength,
1412:   size_t __seed = static_cast<size_t>(0xc70f6907UL))
1412:     { return _Hash_bytes(__ptr, __clength, __seed); }
1412: 
1412:     template<typename _Tp>
1412:       static size_t
1412:       hash(const _Tp& __val)
1412:       { return hash(&__val, sizeof(__val)); }
1412: 
1412:     template<typename _Tp>
1412:       static size_t
1412:       __hash_combine(const _Tp& __val, size_t __hash)
1412:       { return hash(&__val, sizeof(__val), __hash); }
1412:   };
1412: 
1412: 
1412:   struct _Fnv_hash_impl
1412:   {
1412:     static size_t
1412:     hash(const void* __ptr, size_t __clength,
1412:   size_t __seed = static_cast<size_t>(2166136261UL))
1412:     { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
1412: 
1412:     template<typename _Tp>
1412:       static size_t
1412:       hash(const _Tp& __val)
1412:       { return hash(&__val, sizeof(__val)); }
1412: 
1412:     template<typename _Tp>
1412:       static size_t
1412:       __hash_combine(const _Tp& __val, size_t __hash)
1412:       { return hash(&__val, sizeof(__val), __hash); }
1412:   };
1412: 
1412: 
1412:   template<>
1412:     struct hash<float> : public __hash_base<size_t, float>
1412:     {
1412:       size_t
1412:       operator()(float __val) const noexcept
1412:       {
1412: 
1412:  return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct hash<double> : public __hash_base<size_t, double>
1412:     {
14     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     template<typename _InIterator>
1417:      
1417:       void
1417:       basic_string<_CharT, _Traits, _Alloc>::
1417:       _M_construct(_InIterator __beg, _InIterator __end,
1417:      std::input_iterator_tag)
1417:       {
1417:  size_type __len = 0;
1417:  size_type __capacity = size_type(_S_local_capacity);
1417: 
1417:  pointer __p = _M_use_local_data();
1417: 
1417:  while (__beg != __end && __len < __capacity)
1417:    {
1417:      __p[__len++] = *__beg;
1417:      ++__beg;
1417:    }
1417: 
1417:  struct _Guard
1417:  {
1417:   
1417:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1417: 
1417:   
1417:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1417: 
1417:    basic_string* _M_guarded;
1417:  } __guard(this);
1417: 
1417:  while (__beg != __end)
1417:    {
1417:      if (__len == __capacity)
1417:        {
1417: 
1417:   __capacity = __len + 1;
1417:   pointer __another = _M_create(__capacity, __len);
1417:   this->_S_copy(__another, _M_data(), __len);
1417:   _M_dispose();
1417:   _M_data(__another);
1417:   _M_capacity(__capacity);
1417:        }
1417:      traits_type::assign(_M_data()[__len++], *__beg);
1417:      ++__beg;
1417:    }
1417: 
1417:  __guard._M_guarded = 0;
1417: 
1417:  _M_set_length(__len);
1417:       }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     template<typename _InIterator>
1417:      
1417:       void
1417:       basic_string<_CharT, _Traits, _Alloc>::
1417:       _M_construct(_InIterator __beg, _InIterator __end,
1417:      std::forward_iterator_tag)
1417:       {
1417:  size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
1417: 
1417:  if (__dnew > size_type(_S_local_capacity))
1417:    {
1417:      _M_data(_M_create(__dnew, size_type(0)));
1417:      _M_capacity(__dnew);
1417:    }
1417:  else
1417:    _M_use_local_data();
1417: 
1417: 
1417:  struct _Guard
1417:  {
1417:   
1417:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1417: 
1417:   
1417:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1417: 
1417:    basic_string* _M_guarded;
1417:  } __guard(this);
1417: 
1417:  this->_S_copy_chars(_M_data(), __beg, __end);
1417: 
1417:  __guard._M_guarded = 0;
1417: 
1417:  _M_set_length(__dnew);
1417:       }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_construct(size_type __n, _CharT __c)
1417:     {
1417:       if (__n > size_type(_S_local_capacity))
1417:  {
1417:    _M_data(_M_create(__n, size_type(0)));
1417:    _M_capacity(__n);
1417:  }
1417:       else
1417:  _M_use_local_data();
1417: 
1417:       if (__n)
1417:  this->_S_assign(_M_data(), __n, __c);
1417: 
1417:       _M_set_length(__n);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_assign(const basic_string& __str)
1417:     {
1417:       if (this != std::__addressof(__str))
1417:  {
1417:    const size_type __rsize = __str.length();
1417:    const size_type __capacity = capacity();
1417: 
1417:    if (__rsize > __capacity)
1417:      {
1417:        size_type __new_capacity = __rsize;
1417:        pointer __tmp = _M_create(__new_capacity, __capacity);
1417:        _M_dispose();
1417:        _M_data(__tmp);
1417:        _M_capacity(__new_capacity);
1417:      }
1417: 
1417:    if (__rsize)
1417:      this->_S_copy(_M_data(), __str._M_data(), __rsize);
1417: 
1417:    _M_set_length(__rsize);
1417:  }
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     reserve(size_type __res)
1417:     {
1417:       const size_type __capacity = capacity();
1417: 
1417: 
1417: 
1417: 
1417:       if (__res <= __capacity)
1417:  return;
1417: 
1417:       noexcept
609:       {
609:  this->_M_impl._M_swap_data(__x._M_impl);
609:  __x.clear();
609:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
609:       }
609: 
609: 
609: 
609: 
609:       void
609:       _M_move_assign1(deque&& __x, false_type)
609:       {
609:  if (_M_get_Tp_allocator() == __x._M_get_Tp_allocator())
609:    return _M_move_assign1(std::move(__x), true_type());
609: 
609:  constexpr bool __move_storage =
609:    _Alloc_traits::_S_propagate_on_move_assign();
609:  _M_move_assign2(std::move(__x), __bool_constant<__move_storage>());
609:       }
609: 
609: 
609: 
609:       template<typename... _Args>
609:       void
609:       _M_replace_map(_Args&&... __args)
609:       {
609: 
609:  deque __newobj(std::forward<_Args>(__args)...);
609: 
609:  clear();
609:  _M_deallocate_node(*begin()._M_node);
609:  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
609:  this->_M_impl._M_map = nullptr;
609:  this->_M_impl._M_map_size = 0;
609: 
609:  this->_M_impl._M_swap_data(__newobj._M_impl);
609:       }
609: 
609: 
609:       void
609:       _M_move_assign2(deque&& __x, true_type)
609:       {
609: 
609:  auto __alloc = __x._M_get_Tp_allocator();
609: 
609: 
609:  _M_replace_map(std::move(__x));
609: 
609:  _M_get_Tp_allocator() = std::move(__alloc);
609:       }
609: 
609: 
609: 
609:       void
609:       _M_move_assign2(deque&& __x, false_type)
609:       {
609:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
609:    {
609: 
609: 
609:      _M_replace_map(std::move(__x), __x.get_allocator());
609:    }
609:  else
609:    {
609: 
609: 
609:      _M_assign_aux(std::make_move_iterator(__x.begin()),
609:      std::make_move_iterator(__x.end()),
609:      std::random_access_iterator_tag());
609:      __x.clear();
609:    }
609:       }
609: 
609:     };
609: 
609: 
609:   template<typename _InputIterator, typename _ValT
609:       = typename iterator_traits<_InputIterator>::value_type,
609:     typename _Allocator = allocator<_ValT>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     deque(_InputIterator, _InputIterator, _Allocator = _Allocator())
609:       -> deque<_ValT, _Allocator>;
609: # 2287 "/usr/include/c++/12/bits/stl_deque.h" 3
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
609:     { return __x.size() == __y.size()
609:       && std::equal(__x.begin(), __x.end(), __y.begin()); }
609: # 2327 "/usr/include/c++/12/bits/stl_deque.h" 3
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
609:     { return std::lexicographical_compare(__x.begin(), __x.end(),
609:        __y.begin(), __y.end()); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
609:     { return __y < __x; }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     inline void
609:     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   templ pointer __tmp = _M_create(__res, __capacity);
1417:       this->_S_copy(__tmp, _M_data(), length() + 1);
1417:       _M_dispose();
1417:       _M_data(__tmp);
1417:       _M_capacity(__res);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1417:        size_type __len2)
1417:     {
1417:       const size_type __how_much = length() - __pos - __len1;
1417: 
1417:       size_type __new_capacity = length() + __len2 - __len1;
1417:       pointer __r = _M_create(__new_capacity, capacity());
1417: 
1417:       if (__pos)
1417:  this->_S_copy(__r, _M_data(), __pos);
1417:       if (__s && __len2)
1417:  this->_S_copy(__r + __pos, __s, __len2);
1417:       if (__how_much)
1417:  this->_S_copy(__r + __pos + __len2,
1417:         _M_data() + __pos + __len1, __how_much);
1417: 
1417:       _M_dispose();
1417:       _M_data(__r);
1417:       _M_capacity(__new_capacity);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_erase(size_type __pos, size_type __n)
1417:     {
1417:       const size_type __how_much = length() - __pos - __n;
1417: 
1417:       if (__how_much && __n)
1417:  this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
1417: 
1417:       _M_set_length(length() - __n);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     reserve()
1417:     {
1417:       if (_M_is_local())
1417:  return;
1417: 
1417:       const size_type __length = length();
1417:       const size_type __capacity = _M_allocated_capacity;
1417: 
1417:       if (__length <= size_type(_S_local_capacity))
1417:  {
1417:    this->_S_copy(_M_use_local_data(), _M_data(), __length + 1);
1417:    _M_destroy(__capacity);
1417:    _M_data(_M_local_data());
1417:  }
1417: 
1417:       else if (__length < __capacity)
1417:  try
1417:    {
1417:      pointer __tmp
1417:        = _Alloc_traits::allocate(_M_get_allocator(), __length + 1);
1417:      this->_S_copy(__tmp, _M_data(), __length + 1);
1417:      _M_dispose();
1417:      _M_data(__tmp);
1417:      _M_capacity(__length);
1417:    }
1417:  catch (const __cxxabiv1::__forced_unwind&)
1417:    { throw; }
1417:  catch (...)
1417:    { }
1417: 
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     void
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     resize(size_type __n, _CharT __c)
1417:     {
1417:       const size_type __size = this->size();
1417:       if (__size < __n)
1417:  this->append(__n - __size, __c);
1417:       else if (__n < __size)
1417:  this->_M_set_length(__n);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT, _Traits, _Alloc>&
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_append(const _CharT* __s, size_type __n)
1417:     {
1417:       const size_type __len = __n + this->size();
1417: 
1417:       if (__len <= this->capacity())
1417:  {
1417:    if (__n)
1417:      this->_S_copy(this->_M_data() + this->size(), __s, __n);
1417:  }
1417:       else
1417:  this->_M_mutate(this->size(), size_type(0), __s, __n);
1417: 
1417:       this->_M_set_length(__len);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     template<typename _InputIterator>
1417:      
1417:       basic_string<_CharT, _Traits, _Alloc>&
1417:       basic_string<_CharT, _Traits, _Alloc>::
1417:       _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1417:      _InputIterator __k1, _InputIterator __k2,
1417:      std::__false_type)
1417:       {
1417: 
1417: 
1417:  const basic_string __s(__k1, __k2, this->get_allocator());
1417:  const size_type __n112:       size_t
1412:       operator()(double __val) const noexcept
1412:       {
1412: 
1412:  return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct hash<long double>
1412:     : public __hash_base<size_t, long double>
1412:     {
1412:       __attribute__ ((__pure__)) size_t
1412:       operator()(long double __val) const noexcept;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
1412:     {
1412:       size_t
1412:       operator()(nullptr_t) const noexcept
1412:       { return 0; }
1412:     };
1412: # 287 "/usr/include/c++/12/bits/functional_hash.h" 3
1412:   template<typename _Hash>
1412:     struct __is_fast_hash : public std::true_type
1412:     { };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<long double>> : public std::false_type
1412:     { };
1412: 
1412: 
1412: }
1412: # 44 "/usr/include/c++/12/string_view" 2 3
1412: # 53 "/usr/include/c++/12/string_view" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr size_t
1412:   __sv_check(size_t __size, size_t __pos, const char* __s)
1412:   {
1412:     if (__pos > __size)
1412:       __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)")
1412:                         , __s, __pos, __size);
1412:     return __pos;
1412:   }
1412: 
1412: 
1412: 
1412:   constexpr size_t
1412:   __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
1412:   {
1412:    const bool __testoff = __off < __size - __pos;
1412:    return __testoff ? __off : __size - __pos;
1412:   }
1412: # 99 "/usr/include/c++/12/string_view" 3
1412:   template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
1412:     class basic_string_view
1412:     {
1412:       static_assert(!is_array_v<_CharT>);
1412:       static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>);
1412:       static_assert(is_same_v<_CharT, typename _Traits::char_type>);
1412: 
1412:     public:
1412: 
1412: 
1412:       using traits_type = _Traits;
1412:       using value_type = _CharT;
1412:       using pointer = value_type*;
1412:       using const_pointer = const value_type*;
1412:       using reference = value_type&;
1412:       using const_reference = const value_type&;
1412:       using const_iterator = const value_type*;
1412:       using iterator = const_iterator;
1412:       using const_reverse_iterator = std::reverse_iterator<const_iterator>;
1412:       using reverse_iterator = const_reverse_iterator;
1412:       using size_type = size_t;
1412:       using difference_type = ptrdiff_t;
1412:       static constexpr size_type npos = size_type(-1);
1412: 
1412: 
1412: 
1412:       constexpr
1412:       basic_string_view() noexcept
1412:       : _M_len{0}, _M_str{nullptr}
1412:       { }
1412: 
1412:       constexpr basic_string_view(const basic_string_view&) noexcept = default;
1412: 
1412:       __attribute__((__nonnull__)) constexpr
1412:       basic_string_view(const _CharT* __str) noexcept
1412:       : _M_len{traits_type::length(__str)},
1412:  _M_str{__str}
1412:       { }
1412: 
1412:       constexpr
1412:       basic_string_view(const _CharT* __str, size_type __len) noexcept
1412:       : _M_len{__len}, _M_str{__str}
1412:       { }
1412: # 176 "/usr/include/c++/12/string_view" 3
1412:       constexpr basic_string_view&
1412:       operator=(const basic_string_view&) noexcept = default;
1412: 
1412: 
1412: 
1412:       constexpr const_iterator
1412:       begin() const noexcept
1412:       { return this->_M_str; }
1412: 
1412:       constexpr const_iterator
1412:       end() const noexcept
1412:       { return this->_M_str + this->_M_len; }
1412: 
1412:       constexpr const_iterator
1412:       cbegin() const noexcept
1412:       { return this->_M_str; }
1412: 
1412:       constexpr const_iterator
1412:       cend() const noexcept
1412:       { return this->_M_str + this->_M_len; }
1412: 
1412:       = __i2 - __i1;
1417:  return _M_replace(__i1 - begin(), __n1, __s._M_data(),
1417:      __s.size());
1417:       }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT, _Traits, _Alloc>&
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1417:      _CharT __c)
1417:     {
1417:       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
1417: 
1417:       const size_type __old_size = this->size();
1417:       const size_type __new_size = __old_size + __n2 - __n1;
1417: 
1417:       if (__new_size <= this->capacity())
1417:  {
1417:    pointer __p = this->_M_data() + __pos1;
1417: 
1417:    const size_type __how_much = __old_size - __pos1 - __n1;
1417:    if (__how_much && __n1 != __n2)
1417:      this->_S_move(__p + __n2, __p + __n1, __how_much);
1417:  }
1417:       else
1417:  this->_M_mutate(__pos1, __n1, 0, __n2);
1417: 
1417:       if (__n2)
1417:  this->_S_assign(this->_M_data() + __pos1, __n2, __c);
1417: 
1417:       this->_M_set_length(__new_size);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT, _Traits, _Alloc>&
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1417:         const size_type __len2)
1417:     {
1417:       _M_check_length(__len1, __len2, "basic_string::_M_replace");
1417: 
1417:       const size_type __old_size = this->size();
1417:       const size_type __new_size = __old_size + __len2 - __len1;
1417: 
1417:       if (__new_size <= this->capacity())
1417:  {
1417:    pointer __p = this->_M_data() + __pos;
1417: 
1417:    const size_type __how_much = __old_size - __pos - __len1;
1417: # 503 "/usr/include/c++/12/bits/basic_string.tcc" 3
1417:    if (_M_disjunct(__s))
1417:      {
1417:        if (__how_much && __len1 != __len2)
1417:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1417:        if (__len2)
1417:   this->_S_copy(__p, __s, __len2);
1417:      }
1417:    else
1417:      {
1417: 
1417:        if (__len2 && __len2 <= __len1)
1417:   this->_S_move(__p, __s, __len2);
1417:        if (__how_much && __len1 != __len2)
1417:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1417:        if (__len2 > __len1)
1417:   {
1417:     if (__s + __len2 <= __p + __len1)
1417:       this->_S_move(__p, __s, __len2);
1417:     else if (__s >= __p + __len1)
1417:       {
1417: 
1417: 
1417:         const size_type __poff = (__s - __p) + (__len2 - __len1);
1417:         this->_S_copy(__p, __p + __poff, __len2);
1417:       }
1417:     else
1417:       {
1417:         const size_type __nleft = (__p + __len1) - __s;
1417:         this->_S_move(__p, __s, __nleft);
1417:         this->_S_copy(__p + __nleft, __p + __len2,
1417:         __len2 - __nleft);
1417:       }
1417:   }
1417:      }
1417:  }
1417:       else
1417:  this->_M_mutate(__pos, __len1, __s, __len2);
1417: 
1417:       this->_M_set_length(__new_size);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     copy(_CharT* __s, size_type __n, size_type __pos) const
1417:     {
1417:       _M_check(__pos, "basic_string::copy");
1417:       __n = _M_limit(__pos, __n);
1417:       ;
1417:       if (__n)
1417:  _S_copy(__s, _M_data() + __pos, __n);
1417: 
1417:       return __n;
1417:     }
1417: # 603 "/usr/include/c++/12/bits/basic_string.tcc" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(const _CharT* __lhs,
1417:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     {
1417:       ;
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef typename __string_type::size_tyate<class _Tp>
609:     struct __is_bitwise_relocatable<std::deque<_Tp>>
609:     : true_type { };
609: 
609: 
609: 
609: }
609: # 65 "/usr/include/c++/12/deque" 2 3
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/deque.tcc" 1 3
609: # 61 "/usr/include/c++/12/bits/deque.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_default_initialize()
609:     {
609:       _Map_pointer __cur;
609:       try
609:  {
609:    for (__cur = this->_M_impl._M_start._M_node;
609:         __cur < this->_M_impl._M_finish._M_node;
609:         ++__cur)
609:      std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(),
609:         _M_get_Tp_allocator());
609:    std::__uninitialized_default_a(this->_M_impl._M_finish._M_first,
609:       this->_M_impl._M_finish._M_cur,
609:       _M_get_Tp_allocator());
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
609:    _M_get_Tp_allocator());
609:    throw;
609:  }
609:     }
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     deque<_Tp, _Alloc>&
609:     deque<_Tp, _Alloc>::
609:     operator=(const deque& __x)
609:     {
609:       if (std::__addressof(__x) != this)
609:  {
609: 
609:    if (_Alloc_traits::_S_propagate_on_copy_assign())
609:      {
609:        if (!_Alloc_traits::_S_always_equal()
609:     && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
609:   {
609: 
609: 
609:     _M_replace_map(__x, __x.get_allocator());
609:     std::__alloc_on_copy(_M_get_Tp_allocator(),
609:            __x._M_get_Tp_allocator());
609:     return *this;
609:   }
609:        std::__alloc_on_copy(_M_get_Tp_allocator(),
609:        __x._M_get_Tp_allocator());
609:      }
609: 
609:    const size_type __len = size();
609:    if (__len >= __x.size())
609:      _M_erase_at_end(std::copy(__x.begin(), __x.end(),
609:           this->_M_impl._M_start));
609:    else
609:      {
609:        const_iterator __mid = __x.begin() + difference_type(__len);
609:        std::copy(__x.begin(), __mid, this->_M_impl._M_start);
609:        _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(),
609:       std::random_access_iterator_tag());
609:      }
609:  }
609:       return *this;
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename... _Args>
609: 
609:       typename deque<_Tp, _Alloc>::reference
609: 
609: 
609: 
609:       deque<_Tp, _Alloc>::
609:       emplace_front(_Args&&... __args)
609:       {
609:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
609:    {
609:      _Alloc_traits::construct(this->_M_impl,
609:          this->_M_impl._M_start._M_cur - 1,
609:          std::forward<_Args>(__args)...);
609:      --this->_M_impl._M_start._M_cur;
609:    }
609:  else
609:    _M_push_front_aux(std::forward<_Args>(__args)...);
609: 
609:  return front();
609: 
609:       }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename... _Args>
609: 
609:       typename deque<_Tp, _Alloc>::reference
609: 
609: 
609: 
609:       deque<_Tp, _Alloc>::
609:       emplace_back(_Args&&... __args)
609:       {
609:  if (this->_M_impl._M_finish._M_cur
609:      != this->_M_impl._M_finish._M_last - 1)
609:    {
609:      _Alloc_traits::construct(this->_M_impl,
609:          this->_M_impl._M_finish._M_cur,
609:          std::forward<_Args>(__args)...);
609:      ++this->_M_impl._M_finish._M_cur;
609:    }
609:  else
609:    _M_push_back_aux(std::forward<_Args>(__args)...);
609: 
609:  return back();
609: 
609:       }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename... _Args>
609:       typename deque<_Tp, _Alloc>::iterator
609:       deque<_Tp, _Alloc>::
609:       emplace(const_iterator __position, _Args&&... __args)
609:       {
609:  if (__position._M_cur == this->_M_impl._M_start._M_cur)
609:    {
609:      emplace_front(std::forward<_Args>(__args)...);
609:   pe __size_type;
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_CharT>::other _Char_alloc_type;
1417:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1417:       const __size_type __len = _Traits::length(__lhs);
1417:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1417:           __rhs.get_allocator()));
1417:       __str.reserve(__len + __rhs.size());
1417:       __str.append(__lhs, __len);
1417:       __str.append(__rhs);
1417:       return __str;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     basic_string<_CharT, _Traits, _Alloc>
1417:     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1417:     {
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef typename __string_type::size_type __size_type;
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_CharT>::other _Char_alloc_type;
1417:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1417:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1417:           __rhs.get_allocator()));
1417:       const __size_type __len = __rhs.size();
1417:       __str.reserve(__len + 1);
1417:       __str.append(__size_type(1), __lhs);
1417:       __str.append(__rhs);
1417:       return __str;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find(const _CharT* __s, size_type __pos, size_type __n) const
1417:     noexcept
1417:     {
1417:       ;
1417:       const size_type __size = this->size();
1417: 
1417:       if (__n == 0)
1417:  return __pos <= __size ? __pos : npos;
1417:       if (__pos >= __size)
1417:  return npos;
1417: 
1417:       const _CharT __elem0 = __s[0];
1417:       const _CharT* const __data = data();
1417:       const _CharT* __first = __data + __pos;
1417:       const _CharT* const __last = __data + __size;
1417:       size_type __len = __size - __pos;
1417: 
1417:       while (__len >= __n)
1417:  {
1417: 
1417:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1417:    if (!__first)
1417:      return npos;
1417: 
1417: 
1417: 
1417:    if (traits_type::compare(__first, __s, __n) == 0)
1417:      return __first - __data;
1417:    __len = __last - ++__first;
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       size_type __ret = npos;
1417:       const size_type __size = this->size();
1417:       if (__pos < __size)
1417:  {
1417:    const _CharT* __data = _M_data();
1417:    const size_type __n = __size - __pos;
1417:    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
1417:    if (__p)
1417:      __ret = __p - __data;
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     rfind(const _CharT* __s, size_type __pos, size_type __n) const
1417:     noexcept
1417:     {
1417:       ;
1417:       const size_type __size = this->size();
1417:       if (__n <= __size)
1417:  {
1417:    __pos = std::min(size_type(__size - __n), __pos);
1417:    const _CharT* __data = _M_data();
1417:    do
1417:      {
1417:        if (traits_type::compare(__data + __pos, __s, __n) == 0)
1417:   return __pos;
1417:      }
1417:    while (__pos-- > 0);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>:: constexpr const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(this->end()); }
1412: 
1412:       constexpr const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(this->begin()); }
1412: 
1412:       constexpr const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return const_reverse_iterator(this->end()); }
1412: 
1412:       constexpr const_reverse_iterator
1412:       crend() const noexcept
1412:       { return const_reverse_iterator(this->begin()); }
1412: 
1412: 
1412: 
1412:       constexpr size_type
1412:       size() const noexcept
1412:       { return this->_M_len; }
1412: 
1412:       constexpr size_type
1412:       length() const noexcept
1412:       { return _M_len; }
1412: 
1412:       constexpr size_type
1412:       max_size() const noexcept
1412:       {
1412:  return (npos - sizeof(size_type) - sizeof(void*))
1412:   / sizeof(value_type) / 4;
1412:       }
1412: 
1412:       [[nodiscard]] constexpr bool
1412:       empty() const noexcept
1412:       { return this->_M_len == 0; }
1412: 
1412: 
1412: 
1412:       constexpr const_reference
1412:       operator[](size_type __pos) const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos < this->_M_len)) __builtin_unreachable(); } while (false);
1412:  return *(this->_M_str + __pos);
1412:       }
1412: 
1412:       constexpr const_reference
1412:       at(size_type __pos) const
1412:       {
1412:  if (__pos >= _M_len)
1412:    __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)")
1412: 
1412:                             , __pos, this->size());
1412:  return *(this->_M_str + __pos);
1412:       }
1412: 
1412:       constexpr const_reference
1412:       front() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1412:  return *this->_M_str;
1412:       }
1412: 
1412:       constexpr const_reference
1412:       back() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1412:  return *(this->_M_str + this->_M_len - 1);
1412:       }
1412: 
1412:       constexpr const_pointer
1412:       data() const noexcept
1412:       { return this->_M_str; }
1412: 
1412: 
1412: 
1412:       constexpr void
1412:       remove_prefix(size_type __n) noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false);
1412:  this->_M_str += __n;
1412:  this->_M_len -= __n;
1412:       }
1412: 
1412:       constexpr void
1412:       remove_suffix(size_type __n) noexcept
1412:       { this->_M_len -= __n; }
1412: 
1412:       constexpr void
1412:       swap(basic_string_view& __sv) noexcept
1412:       {
1412:  auto __tmp = *this;
1412:  *this = __sv;
1412:  __sv = __tmp;
1412:       }
1412: 
1412: 
1412: 
1412:      
1412:       size_type
1412:       copy(_CharT* __str, size_type __n, size_type __pos = 0) const
1412:       {
1412:  ;
1412:  __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
1412:  const size_type __rlen = std::min(__n, _M_len - __pos);
1412: 
1412: 
1412:  traits_type::copy(__str, data() + __pos, __rlen);
1412:  return __rlen;
1412:       }
1412: 
1412:       constexpr basic_string_view
1412:       substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
1412:       {
1412:  __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
1412:  const size_type __rlen = std::min(__n, _M_len - __pos);
1412:  return basic_string_view{_M_str + __pos, __rlen};
1412:       }
1412: 
1412:       constexpr int
1412:       compare(basic_string_view __str) const noexcept
1412:       {
1412:  const size_type __rlen = std::min(this->_M_len, __str._M_len);
1412:  int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
1412:  if (__ret == 0)
1412:    __ret = _S_compare(thsize_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     rfind(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       size_type __size = this->size();
1417:       if (__size)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    for (++__size; __size-- > 0; )
1417:      if (traits_type::eq(_M_data()[__size], __c))
1417:        return __size;
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1417:     noexcept
1417:     {
1417:       ;
1417:       for (; __n && __pos < this->size(); ++__pos)
1417:  {
1417:    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
1417:    if (__p)
1417:      return __pos;
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1417:     noexcept
1417:     {
1417:       ;
1417:       size_type __size = this->size();
1417:       if (__size && __n)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    do
1417:      {
1417:        if (traits_type::find(__s, __n, _M_data()[__size]))
1417:   return __size;
1417:      }
1417:    while (__size-- != 0);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1417:     noexcept
1417:     {
1417:       ;
1417:       for (; __pos < this->size(); ++__pos)
1417:  if (!traits_type::find(__s, __n, _M_data()[__pos]))
1417:    return __pos;
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       for (; __pos < this->size(); ++__pos)
1417:  if (!traits_type::eq(_M_data()[__pos], __c))
1417:    return __pos;
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1417:     noexcept
1417:     {
1417:       ;
1417:       size_type __size = this->size();
1417:       if (__size)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    do
1417:      {
1417:        if (!traits_type::find(__s, __n, _M_data()[__size]))
1417:   return __size;
1417:      }
1417:    while (__size--);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1417:     {
1417:       size_type __size = this->size();
1417:       if (__size)
1417:  {
1417:    if (--__size > __pos)
1417:      __size = __pos;
1417:    do
1417:      {
1417:        if (!traits_type::eq(_M_data()[__size], __c))
1417:   return __size;
1417:      }
1417:    while (__size--);
1417:  }
1417:       return npos;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     int
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     compare(size_type __pos   return this->_M_impl._M_start;
609:    }
609:  else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
609:    {
609:      emplace_back(std::forward<_Args>(__args)...);
609:      iterator __tmp = this->_M_impl._M_finish;
609:      --__tmp;
609:      return __tmp;
609:    }
609:  else
609:    return _M_insert_aux(__position._M_const_cast(),
609:           std::forward<_Args>(__args)...);
609:       }
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     typename deque<_Tp, _Alloc>::iterator
609:     deque<_Tp, _Alloc>::
609: 
609:     insert(const_iterator __position, const value_type& __x)
609: 
609: 
609: 
609:     {
609:       if (__position._M_cur == this->_M_impl._M_start._M_cur)
609:  {
609:    push_front(__x);
609:    return this->_M_impl._M_start;
609:  }
609:       else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
609:  {
609:    push_back(__x);
609:    iterator __tmp = this->_M_impl._M_finish;
609:    --__tmp;
609:    return __tmp;
609:  }
609:       else
609:  return _M_insert_aux(__position._M_const_cast(), __x);
609:    }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     typename deque<_Tp, _Alloc>::iterator
609:     deque<_Tp, _Alloc>::
609:     _M_erase(iterator __position)
609:     {
609:       iterator __next = __position;
609:       ++__next;
609:       const difference_type __index = __position - begin();
609:       if (static_cast<size_type>(__index) < (size() >> 1))
609:  {
609:    if (__position != begin())
609:      std::move_backward(begin(), __position, __next);
609:    pop_front();
609:  }
609:       else
609:  {
609:    if (__next != end())
609:      std::move(__next, end(), __position);
609:    pop_back();
609:  }
609:       return begin() + __index;
609:     }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     typename deque<_Tp, _Alloc>::iterator
609:     deque<_Tp, _Alloc>::
609:     _M_erase(iterator __first, iterator __last)
609:     {
609:       if (__first == __last)
609:  return __first;
609:       else if (__first == begin() && __last == end())
609:  {
609:    clear();
609:    return end();
609:  }
609:       else
609:  {
609:    const difference_type __n = __last - __first;
609:    const difference_type __elems_before = __first - begin();
609:    if (static_cast<size_type>(__elems_before) <= (size() - __n) / 2)
609:      {
609:        if (__first != begin())
609:   std::move_backward(begin(), __first, __last);
609:        _M_erase_at_begin(begin() + __n);
609:      }
609:    else
609:      {
609:        if (__last != end())
609:   std::move(__last, end(), __first);
609:        _M_erase_at_end(end() - __n);
609:      }
609:    return begin() + __elems_before;
609:  }
609:     }
609: 
609:   template <typename _Tp, class _Alloc>
609:     template <typename _InputIterator>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
609:       std::input_iterator_tag)
609:       {
609:  iterator __cur = begin();
609:  for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
609:    *__cur = *__first;
609:  if (__first == __last)
609:    _M_erase_at_end(__cur);
609:  else
609:    _M_range_insert_aux(end(), __first, __last,
609:          std::__iterator_category(__first));
609:       }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
609:     {
609:       if (__pos._M_cur == this->_M_impl._M_start._M_cur)
609:  {
609:    iterator __new_start = _M_reserve_elements_at_front(__n);
609:    try
609:      {
609:        std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
609:        __x, _M_get_Tp_allocator());
609:        this->_M_impl._M_start = __new_start;
609:      }
609:    catch(...)
609:      {
609:        _M_destroy_nodes(__new_start._M_node,
609:           this->_M_impl._M_start._M_node);
609:        throw;
609:      }
609:  }
609:       else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
609:  {
609:    iterator , size_type __n, const basic_string& __str) const
1417:     {
1417:       _M_check(__pos, "basic_string::compare");
1417:       __n = _M_limit(__pos, __n);
1417:       const size_type __osize = __str.size();
1417:       const size_type __len = std::min(__n, __osize);
1417:       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
1417:       if (!__r)
1417:  __r = _S_compare(__n, __osize);
1417:       return __r;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     int
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     compare(size_type __pos1, size_type __n1, const basic_string& __str,
1417:      size_type __pos2, size_type __n2) const
1417:     {
1417:       _M_check(__pos1, "basic_string::compare");
1417:       __str._M_check(__pos2, "basic_string::compare");
1417:       __n1 = _M_limit(__pos1, __n1);
1417:       __n2 = __str._M_limit(__pos2, __n2);
1417:       const size_type __len = std::min(__n1, __n2);
1417:       int __r = traits_type::compare(_M_data() + __pos1,
1417:          __str.data() + __pos2, __len);
1417:       if (!__r)
1417:  __r = _S_compare(__n1, __n2);
1417:       return __r;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     int
1417:     basic_string<_CharT, _Traits, _Alloc>::
1417:     compare(const _CharT* __s) const noexcept
1417:     {
1417:       ;
1417:       const size_type __size = this->size();
1417:       const size_type __osize = traits_type::length(__s);
1417:       const size_type __len = std::min(__size, __osize);
1417:       int __r = traits_type::compare(_M_data(), __s, __len);
1417:       if (!__r)
1417:  __r = _S_compare(__size, __osize);
1417:       return __r;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     int
1417:     basic_string <_CharT, _Traits, _Alloc>::
1417:     compare(size_type __pos, size_type __n1, const _CharT* __s) const
1417:     {
1417:       ;
1417:       _M_check(__pos, "basic_string::compare");
1417:       __n1 = _M_limit(__pos, __n1);
1417:       const size_type __osize = traits_type::length(__s);
1417:       const size_type __len = std::min(__n1, __osize);
1417:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1417:       if (!__r)
1417:  __r = _S_compare(__n1, __osize);
1417:       return __r;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:    
1417:     int
1417:     basic_string <_CharT, _Traits, _Alloc>::
1417:     compare(size_type __pos, size_type __n1, const _CharT* __s,
1417:      size_type __n2) const
1417:     {
1417:       ;
1417:       _M_check(__pos, "basic_string::compare");
1417:       __n1 = _M_limit(__pos, __n1);
1417:       const size_type __len = std::min(__n1, __n2);
1417:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1417:       if (!__r)
1417:  __r = _S_compare(__n1, __n2);
1417:       return __r;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __in,
1417:         basic_string<_CharT, _Traits, _Alloc>& __str)
1417:     {
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef typename __istream_type::ios_base __ios_base;
1417:       typedef typename __istream_type::int_type __int_type;
1417:       typedef typename __string_type::size_type __size_type;
1417:       typedef ctype<_CharT> __ctype_type;
1417:       typedef typename __ctype_type::ctype_base __ctype_base;
1417: 
1417:       __size_type __extracted = 0;
1417:       typename __ios_base::iostate __err = __ios_base::goodbit;
1417:       typename __istream_type::sentry __cerb(__in, false);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417: 
1417:        __str.erase();
1417:        _CharT __buf[128];
1417:        __size_type __is->_M_len, __str._M_len);
1412:  return __ret;
1412:       }
1412: 
1412:       constexpr int
1412:       compare(size_type __pos1, size_type __n1, basic_string_view __str) const
1412:       { return this->substr(__pos1, __n1).compare(__str); }
1412: 
1412:       constexpr int
1412:       compare(size_type __pos1, size_type __n1,
1412:        basic_string_view __str, size_type __pos2, size_type __n2) const
1412:       {
1412:  return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
1412:       }
1412: 
1412:       __attribute__((__nonnull__)) constexpr int
1412:       compare(const _CharT* __str) const noexcept
1412:       { return this->compare(basic_string_view{__str}); }
1412: 
1412:       __attribute__((__nonnull__)) constexpr int
1412:       compare(size_type __pos1, size_type __n1, const _CharT* __str) const
1412:       { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
1412: 
1412:       constexpr int
1412:       compare(size_type __pos1, size_type __n1,
1412:        const _CharT* __str, size_type __n2) const noexcept(false)
1412:       {
1412:  return this->substr(__pos1, __n1)
1412:      .compare(basic_string_view(__str, __n2));
1412:       }
1412: # 402 "/usr/include/c++/12/string_view" 3
1412:       constexpr size_type
1412:       find(basic_string_view __str, size_type __pos = 0) const noexcept
1412:       { return this->find(__str._M_str, __pos, __str._M_len); }
1412: 
1412:       constexpr size_type
1412:       find(_CharT __c, size_type __pos = 0) const noexcept;
1412: 
1412:       constexpr size_type
1412:       find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1412: 
1412:       __attribute__((__nonnull__)) constexpr size_type
1412:       find(const _CharT* __str, size_type __pos = 0) const noexcept
1412:       { return this->find(__str, __pos, traits_type::length(__str)); }
1412: 
1412:       constexpr size_type
1412:       rfind(basic_string_view __str, size_type __pos = npos) const noexcept
1412:       { return this->rfind(__str._M_str, __pos, __str._M_len); }
1412: 
1412:       constexpr size_type
1412:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1412: 
1412:       constexpr size_type
1412:       rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1412: 
1412:       __attribute__((__nonnull__)) constexpr size_type
1412:       rfind(const _CharT* __str, size_type __pos = npos) const noexcept
1412:       { return this->rfind(__str, __pos, traits_type::length(__str)); }
1412: 
1412:       constexpr size_type
1412:       find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
1412:       { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
1412: 
1412:       constexpr size_type
1412:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1412:       { return this->find(__c, __pos); }
1412: 
1412:       constexpr size_type
1412:       find_first_of(const _CharT* __str, size_type __pos,
1412:       size_type __n) const noexcept;
1412: 
1412:       __attribute__((__nonnull__)) constexpr size_type
1412:       find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
1412:       { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
1412: 
1412:       constexpr size_type
1412:       find_last_of(basic_string_view __str,
1412:      size_type __pos = npos) const noexcept
1412:       { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
1412: 
1412:       constexpr size_type
1412:       find_last_of(_CharT __c, size_type __pos=npos) const noexcept
1412:       { return this->rfind(__c, __pos); }
1412: 
1412:       constexpr size_type
1412:       find_last_of(const _CharT* __str, size_type __pos,
1412:      size_type __n) const noexcept;
1412: 
1412:       __attribute__((__nonnull__)) constexpr size_type
1412:       find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
1412:       { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
1412: 
1412:       constexpr size_type
1412:       flen = 0;
1417:        const streamsize __w = __in.width();
1417:        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
1417:                                 : __str.max_size();
1417:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1417:        const __int_type __eof = _Traits::eof();
1417:        __int_type __c = __in.rdbuf()->sgetc();
1417: 
1417:        while (__extracted < __n
1417:        && !_Traits::eq_int_type(__c, __eof)
1417:        && !__ct.is(__ctype_base::space,
1417:      _Traits::to_char_type(__c)))
1417:   {
1417:     if (__len == sizeof(__buf) / sizeof(_CharT))
1417:       {
1417:         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
1417:         __len = 0;
1417:       }
1417:     __buf[__len++] = _Traits::to_char_type(__c);
1417:     ++__extracted;
1417:     __c = __in.rdbuf()->snextc();
1417:   }
1417:        __str.append(__buf, __len);
1417: 
1417:        if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
1417:   __err |= __ios_base::eofbit;
1417:        __in.width(0);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __in._M_setstate(__ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      {
1417: 
1417: 
1417: 
1417:        __in._M_setstate(__ios_base::badbit);
1417:      }
1417:  }
1417: 
1417:       if (!__extracted)
1417:  __err |= __ios_base::failbit;
1417:       if (__err)
1417:  __in.setstate(__err);
1417:       return __in;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     basic_istream<_CharT, _Traits>&
1417:     getline(basic_istream<_CharT, _Traits>& __in,
1417:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1417:     {
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef typename __istream_type::ios_base __ios_base;
1417:       typedef typename __istream_type::int_type __int_type;
1417:       typedef typename __string_type::size_type __size_type;
1417: 
1417:       __size_type __extracted = 0;
1417:       const __size_type __n = __str.max_size();
1417:       typename __ios_base::iostate __err = __ios_base::goodbit;
1417:       typename __istream_type::sentry __cerb(__in, true);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417:        __str.erase();
1417:        const __int_type __idelim = _Traits::to_int_type(__delim);
1417:        const __int_type __eof = _Traits::eof();
1417:        __int_type __c = __in.rdbuf()->sgetc();
1417: 
1417:        while (__extracted < __n
1417:        && !_Traits::eq_int_type(__c, __eof)
1417:        && !_Traits::eq_int_type(__c, __idelim))
1417:   {
1417:     __str += _Traits::to_char_type(__c);
1417:     ++__extracted;
1417:     __c = __in.rdbuf()->snextc();
1417:   }
1417: 
1417:        if (_Traits::eq_int_type(__c, __eof))
1417:   __err |= __ios_base::eofbit;
1417:        else if (_Traits::eq_int_type(__c, __idelim))
1417:   {
1417:     ++__extracted;
1417:     __in.rdbuf()->sbumpc();
1417:   }
1417:        else
1417:   __err |= __ios_base::failbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __in._M_setstate(__ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      {
1417: 
1417: 
1417: 
1417:        __in._M_setstate(__ios_base::badbit);
1417:      }
1417:  }
1417:       if (!__extracted)
1417:  __err |= __ios_base::failbit;
1417:       if (__err)
1417:  __in.setstate(__err);
1417:       return __in;
1417:     }
1417: # 1082 "/usr/include/c++/12/bits/basic_string.tcc" 3
1417:   extern template class basic_string<char>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   extern template
1417:     basic_istream<char>&
1417:     operator>>(basic_istream<char>&, string&);
1417:   extern template
1417:     basic_ostream<char>&
1417:     operator<<(basic_ostream<char>&, const string&);
1417:   extern template
1417:     basic_istream<char>&
1417:     getline(basic_istream<char>&, string&, char);
1417:   extern template
1417:     basic_istream<char>&
1417:     getline(basic_istream<char>&, string&);
1417: 
1417: 
1417: 
1417:   extern template class basic_string<wchar_t>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   extern template
1417:     basic_istream<wchar_t>&
1417:     operator>>(basic_istream<wchar_t>&, wstring&);
1417:   extern template
1417:     basic_ostream<wchar_t>&
1417:     operator<<(basic_ostream<wchar_t>&, const wstring&);
1417:   extern template
1417:     basic_istream<wchar_t>&
1417:     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
1417:   extern template
1417:     basic_istream<wchar_t>&
1417:     getline(basic_istream<wchar_t>&, wstring&);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 55 "/usr/include/c++/12/string" 2 3
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr {
1417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _CharT, typename _Traits = char_traits<_CharT>>
1417:       using basic_string = std::basic_string<_CharT, _Traits,
1417:           polymorphic_allocator<_CharT>>;
1417:     using string = basic_string<char>;
1417: 
1417: 
1417: 
1417:     using u16string = basic_string<char16_t>;
1417:     using u32string = basic_string<char32_t>;
1417:     using wstring = basic_string<wchar_t>;
1417:   }
1417: 
1417:   template<typename _Str>
1417:     struct __hash_string_base
1417:     : public __hash_base<size_t, _Str>
1417:     {
1417:       size_t
1417:       operator()(const _Str& __s) const noexcept
1417:       { return hash<basic_string_view<typename _Str::value_type>>{}(__s); }
1417:     };
1417: 
1417:   template<>
1417:     struct hash<pmr::string>
1417:     : public __hash_string_base<pmr::string>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct hash<pmr::u16string>
1417:     : public __hash_string_base<pmr::u16string>
1417:     { };
1417:   template<>
1417:     struct hash<pmr::u32string>
1417:     : public __hash_string_base<pmr::u32string>
1417:     { };
1417:   template<>
1417:     struct hash<pmr::wstring>
1417:     : public __hash_string_base<pmr::wstring>
1417:     { };
1417: 
1417: 
1417: }
1417: # 40 "/usr/include/c++/12/stdexcept" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct __cow_string
1417:   {
1417:     union {
1417:       const char* _M_p;
1417:       char _M_bytes[sizeof(const char*)];
1417:     };
1417: 
1417:     __cow_string();
1417:     __cow_string(const std::string&);
1417:     __cow_string(const char*, size_t);
1417:     __cow_string(const __cow_string&) noexcept;
1417:     __cow_string& operator=(const __cow_string&) noexcept;
1417:     ~__cow_string();
1417: 
1417:     __cow_string(__cow_string&&) noexcept;
1417:     __cow_string& operator=(__cow_string&&) noexcept;
1417: 
1417:   };
1417: 
1417:   typedef basic_string<char> __sso_string;
1417: # 113 "/usr/include/c++/12/stdexcept" 3
1417:   class logic_error : public exception
1417:   {
1417:     __cow_string _M_msg;
1417: 
1417:   public:
1417: 
1417:     explicit
1417:     logic_error(const string& __arg) ;
1417: 
1417: 
1417:     explicit
1417:     logic_error(const char*) ;
1417: 
1417:     logic_error(logic_error&&) noexcept;
1417:     logic_error& operator=(logic_error&&) noexcept;
1417: 
1417: 
1417: 
1417:     logic_error(const logic_error&) noexcept;
1417:     logic_error& operator=(const logic_error&) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     virtual ~logic_error() noexcept;
1417: 
1417: 
1417: 
1417:     virtual const char*
1417:     what() const noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   };
1417: 
1417: 
1417: 
1417:   class domain_error : public logic_error
1417:   {
1417:   public:
1417:     explicit domain_error(const string& __arg) ;
1417: 
1417:     explicit domain_error(const char*) ;
1417:     domain_error(const domain_error&) = default;
1417:     domain_error& operator=(const domain_error&) = default;
1417:     do__new_finish = _M_reserve_elements_at_back(__n);
609:    try
609:      {
609:        std::__uninitialized_fill_a(this->_M_impl._M_finish,
609:        __new_finish, __x,
609:        _M_get_Tp_allocator());
609:        this->_M_impl._M_finish = __new_finish;
609:      }
609:    catch(...)
609:      {
609:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
609:           __new_finish._M_node + 1);
609:        throw;
609:      }
609:  }
609:       else
609:  _M_insert_aux(__pos, __n, __x);
609:     }
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_default_append(size_type __n)
609:     {
609:       if (__n)
609:  {
609:    iterator __new_finish = _M_reserve_elements_at_back(__n);
609:    try
609:      {
609:        std::__uninitialized_default_a(this->_M_impl._M_finish,
609:           __new_finish,
609:           _M_get_Tp_allocator());
609:        this->_M_impl._M_finish = __new_finish;
609:      }
609:    catch(...)
609:      {
609:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
609:           __new_finish._M_node + 1);
609:        throw;
609:      }
609:  }
609:     }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     bool
609:     deque<_Tp, _Alloc>::
609:     _M_shrink_to_fit()
609:     {
609:       const difference_type __front_capacity
609:  = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first);
609:       if (__front_capacity == 0)
609:  return false;
609: 
609:       const difference_type __back_capacity
609:  = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur);
609:       if (__front_capacity + __back_capacity < _S_buffer_size())
609:  return false;
609: 
609:       return std::__shrink_to_fit_aux<deque>::_S_do_it(*this);
609:     }
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_fill_initialize(const value_type& __value)
609:     {
609:       _Map_pointer __cur;
609:       try
609:  {
609:    for (__cur = this->_M_impl._M_start._M_node;
609:         __cur < this->_M_impl._M_finish._M_node;
609:         ++__cur)
609:      std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(),
609:      __value, _M_get_Tp_allocator());
609:    std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
609:           this->_M_impl._M_finish._M_cur,
609:           __value, _M_get_Tp_allocator());
609:  }
609:       catch(...)
609:  {
609:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
609:    _M_get_Tp_allocator());
609:    throw;
609:  }
609:     }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     template <typename _InputIterator>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_range_initialize(_InputIterator __first, _InputIterator __last,
609:      std::input_iterator_tag)
609:       {
609:  this->_M_initialize_map(0);
609:  try
609:    {
609:      for (; __first != __last; ++__first)
609: 
609:        emplace_back(*__first);
609: 
609: 
609: 
609:    }
609:  catch(...)
609:    {
609:      clear();
609:      throw;
609:    }
609:       }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     template <typename _ForwardIterator>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
609:      std::forward_iterator_tag)
609:       {
609:  const size_type __n = std::distance(__first, __last);
609:  this->_M_initialize_map(_S_check_init_len(__n, _M_get_Tp_allocator()));
609: 
609:  _Map_pointer __cur_node;
609:  try
609:    {
609:      for (__cur_node = this->_M_impl._M_start._M_node;
609:    __cur_node < this->_M_impl._M_finish._M_node;
609:    ++__cur_node)
609:        {
609:   if (__n < _S_buffer_size())
609:     __builtin_unreachable();
609: 
609:   _ForwardIterator __mid = __first;
609:   std::advance(__mid, _S_buffer_size());
609:   std::__uninitialized_copy_a(__first, __mid, *__cur_node,
609:          _M_get_Tp_allocator());
609:   __first = __mid;
609:        }
609:      std::__uninitializeind_first_not_of(basic_string_view __str,
1412:    size_type __pos = 0) const noexcept
1412:       { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
1412: 
1412:       constexpr size_type
1412:       find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
1412: 
1412:       constexpr size_type
1412:       find_first_not_of(const _CharT* __str,
1412:    size_type __pos, size_type __n) const noexcept;
1412: 
1412:       __attribute__((__nonnull__)) constexpr size_type
1412:       find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
1412:       {
1412:  return this->find_first_not_of(__str, __pos,
1412:            traits_type::length(__str));
1412:       }
1412: 
1412:       constexpr size_type
1412:       find_last_not_of(basic_string_view __str,
1412:          size_type __pos = npos) const noexcept
1412:       { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
1412: 
1412:       constexpr size_type
1412:       find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
1412: 
1412:       constexpr size_type
1412:       find_last_not_of(const _CharT* __str,
1412:          size_type __pos, size_type __n) const noexcept;
1412: 
1412:       __attribute__((__nonnull__)) constexpr size_type
1412:       find_last_not_of(const _CharT* __str,
1412:          size_type __pos = npos) const noexcept
1412:       {
1412:  return this->find_last_not_of(__str, __pos,
1412:           traits_type::length(__str));
1412:       }
1412: 
1412:     private:
1412: 
1412:       static constexpr int
1412:       _S_compare(size_type __n1, size_type __n2) noexcept
1412:       {
1412:  using __limits = __gnu_cxx::__int_traits<int>;
1412:  const difference_type __diff = __n1 - __n2;
1412:  if (__diff > __limits::__max)
1412:    return __limits::__max;
1412:  if (__diff < __limits::__min)
1412:    return __limits::__min;
1412:  return static_cast<int>(__diff);
1412:       }
1412: 
1412:       size_t _M_len;
1412:       const _CharT* _M_str;
1412:     };
1412: # 538 "/usr/include/c++/12/string_view" 3
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator==(basic_string_view<_CharT, _Traits> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator==(basic_string_view<_CharT, _Traits> __x,
1412:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1412:     noexcept
1412:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1412: # 567 "/usr/include/c++/12/string_view" 3
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator!=(basic_string_view<_CharT, _Traits> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return !(__x == __y); }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator!=(basic_string_view<_CharT, _Traits> __x,
1412:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1412:     noexcept
1412:     { return !(__x == __y); }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return !(__x == __y); }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator< (basic_string_view<_CharT, _Traits> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) < 0; }
1412: 
14main_error(domain_error&&) = default;
1417:     domain_error& operator=(domain_error&&) = default;
1417: 
1417:     virtual ~domain_error() noexcept;
1417:   };
1417: 
1417: 
1417:   class invalid_argument : public logic_error
1417:   {
1417:   public:
1417:     explicit invalid_argument(const string& __arg) ;
1417: 
1417:     explicit invalid_argument(const char*) ;
1417:     invalid_argument(const invalid_argument&) = default;
1417:     invalid_argument& operator=(const invalid_argument&) = default;
1417:     invalid_argument(invalid_argument&&) = default;
1417:     invalid_argument& operator=(invalid_argument&&) = default;
1417: 
1417:     virtual ~invalid_argument() noexcept;
1417:   };
1417: 
1417: 
1417: 
1417:   class length_error : public logic_error
1417:   {
1417:   public:
1417:     explicit length_error(const string& __arg) ;
1417: 
1417:     explicit length_error(const char*) ;
1417:     length_error(const length_error&) = default;
1417:     length_error& operator=(const length_error&) = default;
1417:     length_error(length_error&&) = default;
1417:     length_error& operator=(length_error&&) = default;
1417: 
1417:     virtual ~length_error() noexcept;
1417:   };
1417: 
1417: 
1417: 
1417:   class out_of_range : public logic_error
1417:   {
1417:   public:
1417:     explicit out_of_range(const string& __arg) ;
1417: 
1417:     explicit out_of_range(const char*) ;
1417:     out_of_range(const out_of_range&) = default;
1417:     out_of_range& operator=(const out_of_range&) = default;
1417:     out_of_range(out_of_range&&) = default;
1417:     out_of_range& operator=(out_of_range&&) = default;
1417: 
1417:     virtual ~out_of_range() noexcept;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class runtime_error : public exception
1417:   {
1417:     __cow_string _M_msg;
1417: 
1417:   public:
1417: 
1417:     explicit
1417:     runtime_error(const string& __arg) ;
1417: 
1417: 
1417:     explicit
1417:     runtime_error(const char*) ;
1417: 
1417:     runtime_error(runtime_error&&) noexcept;
1417:     runtime_error& operator=(runtime_error&&) noexcept;
1417: 
1417: 
1417: 
1417:     runtime_error(const runtime_error&) noexcept;
1417:     runtime_error& operator=(const runtime_error&) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     virtual ~runtime_error() noexcept;
1417: 
1417: 
1417: 
1417:     virtual const char*
1417:     what() const noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   };
1417: 
1417: 
1417:   class range_error : public runtime_error
1417:   {
1417:   public:
1417:     explicit range_error(const string& __arg) ;
1417: 
1417:     explicit range_error(const char*) ;
1417:     range_error(const range_error&) = default;
1417:     range_error& operator=(const range_error&) = default;
1417:     range_error(range_error&&) = default;
1417:     range_error& operator=(range_error&&) = default;
1417: 
1417:     virtual ~range_error() noexcept;
1417:   };
1417: 
1417: 
1417:   class overflow_error : public runtime_error
1417:   {
1417:   public:
1417:     explicit overflow_error(const string& __arg) ;
1417: 
1417:     explicit overflow_error(const char*) ;
1417:     overflow_error(const overflow_error&) = default;
1417:     overflow_error& operator=(const overflow_error&) = default;
1417:     overflow_error(overflow_error&&) = default;
1417:     overflow_error& operator=(overflow_error&&) = default;
1417: 
1417:     virtual ~overflow_error() noexcept;
1417:   };
1417: 
1417: 
1417:   class underflow_error : public runtime_error
1417:   {
1417:   public:
1417:     explicit underflow_error(const string& __arg) ;
1417: 
1417:     explicit underflow_error(const char*) ;
1417:     underflow_error(const underflow_error&) = default;
1417:     underflow_error& operator=(const underflow_error&) = default;
1417:     underflow_error(underflow_error&&) = default;
1417:     underflow_error& operator=(underflow_error&&) = default;
1417: 
1417:     virtual ~underflow_error() noexcept;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 2
1417: # 1 "/usr/include/c++/12/vector" 1 3
1417: # 58 "/usr/include/c++/12/vector" 3
1417:        
1417: # 59 "/usr/include/c++/12/vector" 3
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_uninitialized.h" 1 3
1417: # 70 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 81 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _ValueType, typename _Tp>
1417:     constexpr bool
1417:     __check_constructible()
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static_assert(is_constructible<_ValueType, _Tp>::value,
1417:    "result type must be constructible from input type");
1417: 
1417:       return true;
1417:     }
1417: # 110 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _InputIterator, typename _ForwardIterator>
1417:    
1417:     _ForwardIterator
1417:     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
1417:        _ForwardIterator __result)
1417:     {
1417:       _ForwardIterator __cur = __result;
1417:       try
1417:  {
1417:    for (; __first != __last; ++__first, (void)++__cur)
1417:      std::_Construct(std::__addressof(*__cur), *__first);
1417:    return __cur;
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__result, __cur);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<bool _TrivialValueTypes>
1417:     struct __uninitialized_copy
1417:     {
1417:       template<typename _InputIterator, typename _ForwardIterator>
1417:         static _ForwardIterator
1417:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1417:         _ForwardIterator __result)
1417:  { return std::__do_uninit_copy(__first, __last, __result); }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_copy<true>
1417:     {
1417:       template<typename _InputIterator, typename _ForwardIterator>
1417:         static _ForwardIterator
1417:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1417:         _ForwardIterator __result)
1417:         { return std::copy(__first, __last, __result); }
1417:     };
1417: # 161 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _InputIterator, typename _ForwardIterator>
1417:     inline _ForwardIterator
1417:     uninitialized_copy(_InputIterator __first, _InputIterator __last,
1417:          _ForwardIterator __result)
1417:     {
1417:       typedef typename iterator_traits<_InputIterator>::value_type
1417:  _ValueType1;
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType2;
1417: 
1417: 
1417: 
1417: 
1417:       const bool __can_memmove = __is_trivial(_ValueType1);
1417: 
1417: 
1417: 
1417: 
1417:       using _From = decltype(*__first);
1417: 
1417:       const bool __assignable
1417:  = __is_trivial(_ValueType2) && __is_assignable(_ValueType2&, _From) && std::__check_constructible<_ValueType2, _From>();
1417: 
1417:       return std::__uninitialized_copy<__can_memmove && __assignable>::
1417:  __uninit_copy(__first, __last, __result);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Tp>
1417:     void
1417:     __do_uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1417:        const _Tp& __x)
1417:     {
1417:       _ForwardIterator __cur = __first;
1417:       try
1417:  {
1417:    for (; __cur != __last; ++__cur)
1417:      std::_Construct(std::__addressof(*__cur), __x);
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__first, __cur);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<bool _TrivialValueType>
1417:     struct __uninitialized_fill
1417:     {
1417:       template<typename _ForwardIterator, typename _Tp>
1417:         static void
1417:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1417:         const _Tp& __x)
1417:  { std::__do_uninit_fill(__first, __last, __x); }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_fill<true>d_copy_a(__first, __last,
609:      this->_M_impl._M_finish._M_first,
609:      _M_get_Tp_allocator());
609:    }
609:  catch(...)
609:    {
609:      std::_Destroy(this->_M_impl._M_start,
609:      iterator(*__cur_node, __cur_node),
609:      _M_get_Tp_allocator());
609:      throw;
609:    }
609:       }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609: 
609:     template<typename... _Args>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_push_back_aux(_Args&&... __args)
609: 
609: 
609: 
609: 
609: 
609:       {
609:  if (size() == max_size())
609:    __throw_length_error(
609:        ("cannot create std::deque larger than max_size()"));
609: 
609:  _M_reserve_map_at_back();
609:  *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
609:  try
609:    {
609: 
609:      _Alloc_traits::construct(this->_M_impl,
609:          this->_M_impl._M_finish._M_cur,
609:          std::forward<_Args>(__args)...);
609: 
609: 
609: 
609:      this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
609:       + 1);
609:      this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
609:    }
609:  catch(...)
609:    {
609:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
609:      throw;
609:    }
609:       }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609: 
609:     template<typename... _Args>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_push_front_aux(_Args&&... __args)
609: 
609: 
609: 
609: 
609: 
609:       {
609:  if (size() == max_size())
609:    __throw_length_error(
609:        ("cannot create std::deque larger than max_size()"));
609: 
609:  _M_reserve_map_at_front();
609:  *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
609:  try
609:    {
609:      this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
609:             - 1);
609:      this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
609: 
609:      _Alloc_traits::construct(this->_M_impl,
609:          this->_M_impl._M_start._M_cur,
609:          std::forward<_Args>(__args)...);
609: 
609: 
609: 
609:    }
609:  catch(...)
609:    {
609:      ++this->_M_impl._M_start;
609:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
609:      throw;
609:    }
609:       }
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void deque<_Tp, _Alloc>::
609:     _M_pop_back_aux()
609:     {
609:       _M_deallocate_node(this->_M_impl._M_finish._M_first);
609:       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
609:       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
609:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
609:         this->_M_impl._M_finish._M_cur);
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void deque<_Tp, _Alloc>::
609:     _M_pop_front_aux()
609:     {
609:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
609:         this->_M_impl._M_start._M_cur);
609:       _M_deallocate_node(this->_M_impl._M_start._M_first);
609:       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
609:       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
609:     }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     template <typename _InputIterator>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_range_insert_aux(iterator __pos,
609:      _InputIterator __first, _InputIterator __last,
609:      std::input_iterator_tag)
609:       { std::copy(__first, __last, std::inserter(*this, __pos)); }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     template <typename _ForwardIterator>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_range_insert_aux(iterator __pos,
609:      _ForwardIterator __first, _ForwardIterator __last,
609:      std::forward_iterator_tag)
609:       {
609:  const size_type __n = std::distance(__first, __last);
609:  if (__pos._M_cur == this->_M_impl._M_start._M_cur)
609:    {
609:      iterat12:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator< (basic_string_view<_CharT, _Traits> __x,
1412:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1412:     noexcept
1412:     { return __x.compare(__y) < 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) < 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator> (basic_string_view<_CharT, _Traits> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) > 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator> (basic_string_view<_CharT, _Traits> __x,
1412:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1412:     noexcept
1412:     { return __x.compare(__y) > 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) > 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator<=(basic_string_view<_CharT, _Traits> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) <= 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator<=(basic_string_view<_CharT, _Traits> __x,
1412:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1412:     noexcept
1412:     { return __x.compare(__y) <= 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) <= 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator>=(basic_string_view<_CharT, _Traits> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) >= 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator>=(basic_string_view<_CharT, _Traits> __x,
1412:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1412:     noexcept
1412:     { return __x.compare(__y) >= 0; }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr bool
1412:     operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1412:                basic_string_view<_CharT, _Traits> __y) noexcept
1412:     { return __x.compare(__y) >= 0; }
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1412:         basic_string_view<_CharT,_Traits> __str)
1412:     { return __ostream_insert(__os, __str.data(), __str.size()); }
1412: 
1412: 
1412: 
1412: 
1412:   using string_view = basic_string_view<char>;
1412:   using wstring_view = basic_string_view<wchar_t>;
1412: 
1412: 
1412: 
1412:   using u16string_view = basic_string_view<char16_t>;
1412:   using u32string_view = basic_string_view<char32_t>;
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct hash;
1412: 
1412:   template<>
1412:     struct hash<string_view>
1412:     : public __hash_base<size_t, string_view>
1412:     {
1412:       size_t
1412:       operator()(const string_view& __str) const noexcept
1412:       { return std::_Hash_impl::hash(__str.data(), __str.length()); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<string_view>> : std::false_type
1412:     { };
1417:     {
1417:       template<typename _ForwardIterator, typename _Tp>
1417:         static void
1417:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1417:         const _Tp& __x)
1417:         { std::fill(__first, __last, __x); }
1417:     };
1417: # 239 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _ForwardIterator, typename _Tp>
1417:     inline void
1417:     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
1417:          const _Tp& __x)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType;
1417: 
1417: 
1417: 
1417:       const bool __can_fill
1417:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>();
1417: 
1417:       std::__uninitialized_fill<__can_fill>::
1417:  __uninit_fill(__first, __last, __x);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1417:    
1417:     _ForwardIterator
1417:     __do_uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1417:     {
1417:       _ForwardIterator __cur = __first;
1417:       try
1417:  {
1417:    for (; __n > 0; --__n, (void) ++__cur)
1417:      std::_Construct(std::__addressof(*__cur), __x);
1417:    return __cur;
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__first, __cur);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<bool _TrivialValueType>
1417:     struct __uninitialized_fill_n
1417:     {
1417:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1417:  static _ForwardIterator
1417:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1417:    const _Tp& __x)
1417:  { return std::__do_uninit_fill_n(__first, __n, __x); }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_fill_n<true>
1417:     {
1417:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1417:  static _ForwardIterator
1417:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1417:    const _Tp& __x)
1417:         { return std::fill_n(__first, __n, __x); }
1417:     };
1417: # 310 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1417:     inline _ForwardIterator
1417:     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType;
1417: 
1417: 
1417: 
1417:       const bool __can_fill
1417:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>()
1417: 
1417: 
1417: 
1417:  && __is_integer<_Size>::__value;
1417: 
1417:       return __uninitialized_fill_n<__can_fill>::
1417:  __uninit_fill_n(__first, __n, __x);
1417:     }
1417: # 340 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _InputIterator, typename _ForwardIterator,
1417:     typename _Allocator>
1417:    
1417:     _ForwardIterator
1417:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1417:       _ForwardIterator __result, _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __cur = __result;
1417:       try
1417:  {
1417:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1417:    for (; __first != __last; ++__first, (void)++__cur)
1417:      __traits::construct(__alloc, std::__addressof(*__cur), *__first);
1417:    return __cur;
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__result, __cur, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
1417:    
1417:     inline _ForwardIterator
1417:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1417:       _ForwardIterator __result, allocator<_Tp>&)
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:       return std::uninitialized_copy(__first, __last, __result);or __new_start = _M_reserve_elements_at_front(__n);
609:      try
609:        {
609:   std::__uninitialized_copy_a(__first, __last, __new_start,
609:          _M_get_Tp_allocator());
609:   this->_M_impl._M_start = __new_start;
609:        }
609:      catch(...)
609:        {
609:   _M_destroy_nodes(__new_start._M_node,
609:      this->_M_impl._M_start._M_node);
609:   throw;
609:        }
609:    }
609:  else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
609:    {
609:      iterator __new_finish = _M_reserve_elements_at_back(__n);
609:      try
609:        {
609:   std::__uninitialized_copy_a(__first, __last,
609:          this->_M_impl._M_finish,
609:          _M_get_Tp_allocator());
609:   this->_M_impl._M_finish = __new_finish;
609:        }
609:      catch(...)
609:        {
609:   _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
609:      __new_finish._M_node + 1);
609:   throw;
609:        }
609:    }
609:  else
609:    _M_insert_aux(__pos, __first, __last, __n);
609:       }
609: 
609:   template<typename _Tp, typename _Alloc>
609: 
609:     template<typename... _Args>
609:       typename deque<_Tp, _Alloc>::iterator
609:       deque<_Tp, _Alloc>::
609:       _M_insert_aux(iterator __pos, _Args&&... __args)
609:       {
609:  value_type __x_copy(std::forward<_Args>(__args)...);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:  difference_type __index = __pos - this->_M_impl._M_start;
609:  if (static_cast<size_type>(__index) < size() / 2)
609:    {
609:      push_front(std::move(front()));
609:      iterator __front1 = this->_M_impl._M_start;
609:      ++__front1;
609:      iterator __front2 = __front1;
609:      ++__front2;
609:      __pos = this->_M_impl._M_start + __index;
609:      iterator __pos1 = __pos;
609:      ++__pos1;
609:      std::move(__front2, __pos1, __front1);
609:    }
609:  else
609:    {
609:      push_back(std::move(back()));
609:      iterator __back1 = this->_M_impl._M_finish;
609:      --__back1;
609:      iterator __back2 = __back1;
609:      --__back2;
609:      __pos = this->_M_impl._M_start + __index;
609:      std::move_backward(__pos, __back2, __back1);
609:    }
609:  *__pos = std::move(__x_copy);
609:  return __pos;
609:       }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
609:     {
609:       const difference_type __elems_before = __pos - this->_M_impl._M_start;
609:       const size_type __length = this->size();
609:       value_type __x_copy = __x;
609:       if (__elems_before < difference_type(__length / 2))
609:  {
609:    iterator __new_start = _M_reserve_elements_at_front(__n);
609:    iterator __old_start = this->_M_impl._M_start;
609:    __pos = this->_M_impl._M_start + __elems_before;
609:    try
609:      {
609:        if (__elems_before >= difference_type(__n))
609:   {
609:     iterator __start_n = (this->_M_impl._M_start
609:      + difference_type(__n));
609:     std::__uninitialized_move_a(this->_M_impl._M_start,
609:            __start_n, __new_start,
609:            _M_get_Tp_allocator());
609:     this->_M_impl._M_start = __new_start;
609:     std::move(__start_n, __pos, __old_start);
609:     std::fill(__pos - difference_type(__n), __pos, __x_copy);
609:   }
609:        else
609:   {
609:     std::__uninitialized_move_fill(this->_M_impl._M_start,
609:        __pos, __new_start,
609:        this->_M_impl._M_start,
609:        __x_copy,
609:        _M_get_Tp_allocator());
609:     this->_M_impl._M_start = __new_start;
609:     std::fill(__old_start, __pos, __x_copy);
609:   }
609:      }
609:    catch(...)
609:      {
609:        _M_destroy_nodes(__new_start._M_node,
609:           this->_M_impl._M_start._M_node);
609:        throw;
609:      }
609:  }
609:       else
609:  {
609:    iterator __new_finish = _M_reserve_elements_at_back(__n);
609:    iterator __old_finish = this->_M_impl._M_finish;
609:    const difference_type __elems_after =
609:      difference_type(__length) - __elems_before;
609:    __pos = this->_M_impl.
1417:     }
1417: 
1417:   template<typename _InputIterator, typename _ForwardIterator,
1417:     typename _Allocator>
1417:    
1417:     inline _ForwardIterator
1417:     __uninitialized_move_a(_InputIterator __first, _InputIterator __last,
1417:       _ForwardIterator __result, _Allocator& __alloc)
1417:     {
1417:       return std::__uninitialized_copy_a(std::make_move_iterator(__first),
1417:       std::make_move_iterator(__last),
1417:       __result, __alloc);
1417:     }
1417: 
1417:   template<typename _InputIterator, typename _ForwardIterator,
1417:     typename _Allocator>
1417:    
1417:     inline _ForwardIterator
1417:     __uninitialized_move_if_noexcept_a(_InputIterator __first,
1417:            _InputIterator __last,
1417:            _ForwardIterator __result,
1417:            _Allocator& __alloc)
1417:     {
1417:       return std::__uninitialized_copy_a
1417:  (std::__make_move_if_noexcept_iterator(__first),
1417:   std::__make_move_if_noexcept_iterator(__last), __result, __alloc);
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
1417:    
1417:     void
1417:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1417:       const _Tp& __x, _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __cur = __first;
1417:       try
1417:  {
1417:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1417:    for (; __cur != __last; ++__cur)
1417:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__first, __cur, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
1417:    
1417:     inline void
1417:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1417:       const _Tp& __x, allocator<_Tp2>&)
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:       std::uninitialized_fill(__first, __last, __x);
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1417:     typename _Allocator>
1417:     
1417:     _ForwardIterator
1417:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1417:         const _Tp& __x, _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __cur = __first;
1417:       try
1417:  {
1417:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1417:    for (; __n > 0; --__n, (void) ++__cur)
1417:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1417:    return __cur;
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__first, __cur, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1417:     typename _Tp2>
1417:    
1417:     inline _ForwardIterator
1417:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1417:         const _Tp& __x, allocator<_Tp2>&)
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:       return std::uninitialized_fill_n(__first, __n, __x);
1417:     }
1417: # 480 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _ForwardIterator, typename _Allocator>
1417:     inline _ForwardIterator
1417:     __uninitialized_copy_move(_InputIterator1 __first1,
1417:          _InputIterator1 __last1,
1417:          _InputIterator2 __first2,
1417:          _InputIterator2 __last2,
1417:          _ForwardIterator __result,
1417:          _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
1417:           __result,
1417:           __alloc);
1417:       try
1417:  {
1417:    return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc);
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__result, __mid, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator1, typename _InputIterator2,
1417:     typename _ForwardIterator, typename _Allocator>
1417:     inline _ForwardIterator
1417:     __uninitialized_move_copy(_InputIterator1 __first1,
1417:          _InputIterator1 __last1,
1417:          _InputIterator2 __first2,
1417:          _InputIterator2 __last2,
1417:          _ForwardIterator __result,
1417:          _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1,
1417:           __result,
1417:           __alloc);
1417:       try
1417:  {
1417:    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__result, __mid, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
1417:     typename _Allocator>
1417:     inline _ForwardIterator
1417:     __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid,
1417:          const _Tp& __x, _InputIterator __first,
1417:          _InputIterator __last, _Allocator& __alloc)
1417:     {
1417:       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
1417:       try
1417:  {
1417:    return std::__uninitialized_move_a(__first, __last, __mid, __alloc);
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__result, __mid, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
1417:     typename _Allocator>
1417:     inline void
1417:     __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1,
1417:          _ForwardIterator __first2,
1417:          _ForwardIterator __last2, const _Tp& __x,
1417:          _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1,
1417:            __first2,
1417:            __alloc);
1417:       try
1417:  {
1417:    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__first2, __mid2, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: # 587 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<bool _TrivialValueType>
1417:     struct __uninitialized_default_1
1417:     {
1417:       template<typename _ForwardIterator>
1417:         static void
1417:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1417:         {
1417:    _ForwardIterator __cur = __first;
1417:    try
1417:      {
1417:        for (; __cur != __last; ++__cur)
1417:   std::_Construct(std::__addressof(*__cur));
1417:      }
1417:    catch(...)
1417:      {
1417:        std::_Destroy(__first, __cur);
1417:        throw;
1417:      }
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_default_1<true>
1417:     {
1417:       template<typename _ForwardIterator>
1417:         static void
1417:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1417:         {
1417:    if (__first == __last)
1417:      return;
1417: 
1417:    typename iterator_traits<_ForwardIterator>::value_type* __val
1417:      = std::__addressof(*__first);
1417:    std::_Construct(__val);
1417:    if (++__first != __last)
1417:      std::fill(__first, __last, *__val);
1417:  }
1417:     };
1417: 
1417:   template<bool _TrivialValueType>
1417:     struct __uninitialized_default_n_1
1417:     {
1417:       template<typename _ForwardIterator, typename _Size>
1417: 
1417:         static _ForwardIterator
1417:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1417:         {
1417:    _ForwardIterator __cur = __first;
1417:    try
1417:      {
1417:        for (; __n > 0; --__n, (void) ++__cur)
1417:   std::_Construct(std::__addressof(*__cur));
1417:        return __cur;
1417:      }
1417:    catch(...)
1417:      {
1417:        std::_Destroy(__first, __cur);
1417:        throw;
1417:      }
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_default_n_1<true>
1417:     {
1417:   
1412: 
1412:   template<>
1412:     struct hash<wstring_view>
1412:     : public __hash_base<size_t, wstring_view>
1412:     {
1412:       size_t
1412:       operator()(const wstring_view& __s) const noexcept
1412:       { return std::_Hash_impl::hash(__s.data(),
1412:                                      __s.length() * sizeof(wchar_t)); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<wstring_view>> : std::false_type
1412:     { };
1412: # 734 "/usr/include/c++/12/string_view" 3
1412:   template<>
1412:     struct hash<u16string_view>
1412:     : public __hash_base<size_t, u16string_view>
1412:     {
1412:       size_t
1412:       operator()(const u16string_view& __s) const noexcept
1412:       { return std::_Hash_impl::hash(__s.data(),
1412:                                      __s.length() * sizeof(char16_t)); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<u16string_view>> : std::false_type
1412:     { };
1412: 
1412:   template<>
1412:     struct hash<u32string_view>
1412:     : public __hash_base<size_t, u32string_view>
1412:     {
1412:       size_t
1412:       operator()(const u32string_view& __s) const noexcept
1412:       { return std::_Hash_impl::hash(__s.data(),
1412:                                      __s.length() * sizeof(char32_t)); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<u32string_view>> : std::false_type
1412:     { };
1412: 
1412:   inline namespace literals
1412:   {
1412:   inline namespace string_view_literals
1412:   {
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1412:     inline constexpr basic_string_view<char>
1412:     operator""sv(const char* __str, size_t __len) noexcept
1412:     { return basic_string_view<char>{__str, __len}; }
1412: 
1412:     inline constexpr basic_string_view<wchar_t>
1412:     operator""sv(const wchar_t* __str, size_t __len) noexcept
1412:     { return basic_string_view<wchar_t>{__str, __len}; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     inline constexpr basic_string_view<char16_t>
1412:     operator""sv(const char16_t* __str, size_t __len) noexcept
1412:     { return basic_string_view<char16_t>{__str, __len}; }
1412: 
1412:     inline constexpr basic_string_view<char32_t>
1412:     operator""sv(const char32_t* __str, size_t __len) noexcept
1412:     { return basic_string_view<char32_t>{__str, __len}; }
1412: 
1412: #pragma GCC diagnostic pop
1412:   }
1412:   }
1412: # 808 "/usr/include/c++/12/string_view" 3
1412: 
1412: }
1412: 
1412: # 1 "/usr/include/c++/12/bits/string_view.tcc" 1 3
1412: # 37 "/usr/include/c++/12/bits/string_view.tcc" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/string_view.tcc" 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1412:     {
1412:       ;
1412: 
1412:       if (__n == 0)
1412:  return __pos <= _M_len ? __pos : npos;
1412:       if (__pos >= _M_len)
1412:  return npos;
1412: 
1412:       const _CharT __elem0 = __str[0];
1412:       const _CharT* __first = _M_str + __pos;
1412:       const _CharT* const __last = _M_str + _M_len;
1412:       size_type __len = _M_len - __pos;
1412: 
1412:       while (__len >= __n)
1412:  {
1412: 
1412:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1412:    if (!__first)
1412:      return npos;
1412: 
1412: 
1412: 
1412:    if (traits_type::compare(__first, __str, __n) == 0)
1412:      return __first - _M_str;
1412:    __len = __last - ++__first;
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find(_CharT __c, size_type ___M_finish - __elems_after;
609:    try
609:      {
609:        if (__elems_after > difference_type(__n))
609:   {
609:     iterator __finish_n = (this->_M_impl._M_finish
609:       - difference_type(__n));
609:     std::__uninitialized_move_a(__finish_n,
609:            this->_M_impl._M_finish,
609:            this->_M_impl._M_finish,
609:            _M_get_Tp_allocator());
609:     this->_M_impl._M_finish = __new_finish;
609:     std::move_backward(__pos, __finish_n, __old_finish);
609:     std::fill(__pos, __pos + difference_type(__n), __x_copy);
609:   }
609:        else
609:   {
609:     std::__uninitialized_fill_move(this->_M_impl._M_finish,
609:        __pos + difference_type(__n),
609:        __x_copy, __pos,
609:        this->_M_impl._M_finish,
609:        _M_get_Tp_allocator());
609:     this->_M_impl._M_finish = __new_finish;
609:     std::fill(__pos, __old_finish, __x_copy);
609:   }
609:      }
609:    catch(...)
609:      {
609:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
609:           __new_finish._M_node + 1);
609:        throw;
609:      }
609:  }
609:     }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     template <typename _ForwardIterator>
609:       void
609:       deque<_Tp, _Alloc>::
609:       _M_insert_aux(iterator __pos,
609:       _ForwardIterator __first, _ForwardIterator __last,
609:       size_type __n)
609:       {
609:  const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
609:  const size_type __length = size();
609:  if (static_cast<size_type>(__elemsbefore) < __length / 2)
609:    {
609:      iterator __new_start = _M_reserve_elements_at_front(__n);
609:      iterator __old_start = this->_M_impl._M_start;
609:      __pos = this->_M_impl._M_start + __elemsbefore;
609:      try
609:        {
609:   if (__elemsbefore >= difference_type(__n))
609:     {
609:       iterator __start_n = (this->_M_impl._M_start
609:        + difference_type(__n));
609:       std::__uninitialized_move_a(this->_M_impl._M_start,
609:       __start_n, __new_start,
609:       _M_get_Tp_allocator());
609:       this->_M_impl._M_start = __new_start;
609:       std::move(__start_n, __pos, __old_start);
609:       std::copy(__first, __last, __pos - difference_type(__n));
609:     }
609:   else
609:     {
609:       _ForwardIterator __mid = __first;
609:       std::advance(__mid, difference_type(__n) - __elemsbefore);
609:       std::__uninitialized_move_copy(this->_M_impl._M_start,
609:          __pos, __first, __mid,
609:          __new_start,
609:          _M_get_Tp_allocator());
609:       this->_M_impl._M_start = __new_start;
609:       std::copy(__mid, __last, __old_start);
609:     }
609:        }
609:      catch(...)
609:        {
609:   _M_destroy_nodes(__new_start._M_node,
609:      this->_M_impl._M_start._M_node);
609:   throw;
609:        }
609:    }
609:  else
609:  {
609:    iterator __new_finish = _M_reserve_elements_at_back(__n);
609:    iterator __old_finish = this->_M_impl._M_finish;
609:    const difference_type __elemsafter =
609:      difference_type(__length) - __elemsbefore;
609:    __pos = this->_M_impl._M_finish - __elemsafter;
609:    try
609:      {
609:        if (__elemsafter > difference_type(__n))
609:   {
609:     iterator __finish_n = (this->_M_impl._M_finish
609:       - difference_type(__n));
609:     std::__uninitialized_move_a(__finish_n,
609:            this->_M_impl._M_finish,
609:            this->_M_impl._M_finish,
609:            _M_get_Tp_allocator());
609:     this->_M_impl._M_finish = __new_finish;
609:     std::move_backward(__pos, __finish_n, __old_finish);
609:     std::copy(__first, __last, __pos);
609:   }
609:        else
609:   {
609:     _ForwardIterator __mid = __first;
609:     std::advance(__mid, __elemsafter);
609:     std::__uninitialized_copy_move(__mid, __last, __pos,
609:        this->_M_impl._M_finish,
609:        this->_M_impl._M_finish,
609:        _M_get_Tp_allocator());
609:     this->_M_impl._M_finish = __new_finish;
609:     std::copy(__first, __mid, __pos);
609:   }
609:      }
609:    catch(...)
609:         template<typename _ForwardIterator, typename _Size>
1417: 
1417:         static _ForwardIterator
1417:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1417:         {
1417:    if (__n > 0)
1417:      {
1417:        typename iterator_traits<_ForwardIterator>::value_type* __val
1417:   = std::__addressof(*__first);
1417:        std::_Construct(__val);
1417:        ++__first;
1417:        __first = std::fill_n(__first, __n - 1, *__val);
1417:      }
1417:    return __first;
1417:  }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator>
1417:     inline void
1417:     __uninitialized_default(_ForwardIterator __first,
1417:        _ForwardIterator __last)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType;
1417: 
1417:       const bool __assignable = is_copy_assignable<_ValueType>::value;
1417: 
1417:       std::__uninitialized_default_1<__is_trivial(_ValueType)
1417:          && __assignable>::
1417:  __uninit_default(__first, __last);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Size>
1417:    
1417:     inline _ForwardIterator
1417:     __uninitialized_default_n(_ForwardIterator __first, _Size __n)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType;
1417: 
1417:       constexpr bool __can_fill
1417:  = __and_<is_integral<_Size>, is_copy_assignable<_ValueType>>::value;
1417: 
1417:       return __uninitialized_default_n_1<__is_trivial(_ValueType)
1417:       && __can_fill>::
1417:  __uninit_default_n(__first, __n);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Allocator>
1417:     void
1417:     __uninitialized_default_a(_ForwardIterator __first,
1417:          _ForwardIterator __last,
1417:          _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __cur = __first;
1417:       try
1417:  {
1417:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1417:    for (; __cur != __last; ++__cur)
1417:      __traits::construct(__alloc, std::__addressof(*__cur));
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__first, __cur, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _ForwardIterator, typename _Tp>
1417:     inline void
1417:     __uninitialized_default_a(_ForwardIterator __first,
1417:          _ForwardIterator __last,
1417:          allocator<_Tp>&)
1417:     { std::__uninitialized_default(__first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Size, typename _Allocator>
1417:     _ForwardIterator
1417:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1417:     _Allocator& __alloc)
1417:     {
1417:       _ForwardIterator __cur = __first;
1417:       try
1417:  {
1417:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1417:    for (; __n > 0; --__n, (void) ++__cur)
1417:      __traits::construct(__alloc, std::__addressof(*__cur));
1417:    return __cur;
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__first, __cur, __alloc);
1417:    throw;
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1417:    
1417:     inline _ForwardIterator
1417:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1417:     allocator<_Tp>&)
1417:     { return std::__uninitialized_default_n(__first, __n); }
1417: 
1417:   template<bool _TrivialValueType>
1417:     struct __uninitialized_default_novalue_1
1417:     {
1417:       template<typename _ForwardIterator>
1417:  static void
1417:  __uninit_default_novalue(_ForwardIterator __first,
1417:      _ForwardIterator __last)
1417:  {
1417:    _ForwardIterator __cur = __first;
1417:    try
1417:      {
1417:        for (; __cur != __last; ++__cur)
1417:   std::_Construct_novalue(std::__addressof(*__cur));
1417:      }
1417:    catch(...)
1417:      {
1417:        std::_Destroy(__first, __cur);
1417:        throw;
pos) const noexcept
1412:     {
1412:       size_type __ret = npos;
1412:       if (__pos < this->_M_len)
1412:  {
1412:    const size_type __n = this->_M_len - __pos;
1412:    const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
1412:    if (__p)
1412:      __ret = __p - this->_M_str;
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1412:     {
1412:       ;
1412: 
1412:       if (__n <= this->_M_len)
1412:  {
1412:    __pos = std::min(size_type(this->_M_len - __n), __pos);
1412:    do
1412:      {
1412:        if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
1412:   return __pos;
1412:      }
1412:    while (__pos-- > 0);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     rfind(_CharT __c, size_type __pos) const noexcept
1412:     {
1412:       size_type __size = this->_M_len;
1412:       if (__size > 0)
1412:  {
1412:    if (--__size > __pos)
1412:      __size = __pos;
1412:    for (++__size; __size-- > 0; )
1412:      if (traits_type::eq(this->_M_str[__size], __c))
1412:        return __size;
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find_first_of(const _CharT* __str, size_type __pos,
1412:     size_type __n) const noexcept
1412:     {
1412:       ;
1412:       for (; __n && __pos < this->_M_len; ++__pos)
1412:  {
1412:    const _CharT* __p = traits_type::find(__str, __n,
1412:       this->_M_str[__pos]);
1412:    if (__p)
1412:      return __pos;
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find_last_of(const _CharT* __str, size_type __pos,
1412:    size_type __n) const noexcept
1412:     {
1412:       ;
1412:       size_type __size = this->size();
1412:       if (__size && __n)
1412:  {
1412:    if (--__size > __pos)
1412:      __size = __pos;
1412:    do
1412:      {
1412:        if (traits_type::find(__str, __n, this->_M_str[__size]))
1412:   return __size;
1412:      }
1412:    while (__size-- != 0);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find_first_not_of(const _CharT* __str, size_type __pos,
1412:         size_type __n) const noexcept
1412:     {
1412:       ;
1412:       for (; __pos < this->_M_len; ++__pos)
1412:  if (!traits_type::find(__str, __n, this->_M_str[__pos]))
1412:    return __pos;
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1412:     {
1412:       for (; __pos < this->_M_len; ++__pos)
1412:  if (!traits_type::eq(this->_M_str[__pos], __c))
1412:    return __pos;
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find_last_not_of(const _CharT* __str, size_type __pos,
1412:        size_type __n) const noexcept
1412:     {
1412:       ;
1412:       size_type __size = this->_M_len;
1412:       if (__size)
1412:  {
1412:    if (--__size > _1417:      }
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_default_novalue_1<true>
1417:     {
1417:       template<typename _ForwardIterator>
1417:         static void
1417:         __uninit_default_novalue(_ForwardIterator __first,
1417:      _ForwardIterator __last)
1417:  {
1417:  }
1417:     };
1417: 
1417:   template<bool _TrivialValueType>
1417:     struct __uninitialized_default_novalue_n_1
1417:     {
1417:       template<typename _ForwardIterator, typename _Size>
1417:  static _ForwardIterator
1417:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1417:  {
1417:    _ForwardIterator __cur = __first;
1417:    try
1417:      {
1417:        for (; __n > 0; --__n, (void) ++__cur)
1417:   std::_Construct_novalue(std::__addressof(*__cur));
1417:        return __cur;
1417:      }
1417:    catch(...)
1417:      {
1417:        std::_Destroy(__first, __cur);
1417:        throw;
1417:      }
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct __uninitialized_default_novalue_n_1<true>
1417:     {
1417:       template<typename _ForwardIterator, typename _Size>
1417:  static _ForwardIterator
1417:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1417:  { return std::next(__first, __n); }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator>
1417:     inline void
1417:     __uninitialized_default_novalue(_ForwardIterator __first,
1417:         _ForwardIterator __last)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType;
1417: 
1417:       std::__uninitialized_default_novalue_1<
1417:  is_trivially_default_constructible<_ValueType>::value>::
1417:  __uninit_default_novalue(__first, __last);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator, typename _Size>
1417:     inline _ForwardIterator
1417:     __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n)
1417:     {
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType;
1417: 
1417:       return __uninitialized_default_novalue_n_1<
1417:  is_trivially_default_constructible<_ValueType>::value>::
1417:  __uninit_default_novalue_n(__first, __n);
1417:     }
1417: 
1417:   template<typename _InputIterator, typename _Size,
1417:     typename _ForwardIterator>
1417:     _ForwardIterator
1417:     __uninitialized_copy_n(_InputIterator __first, _Size __n,
1417:       _ForwardIterator __result, input_iterator_tag)
1417:     {
1417:       _ForwardIterator __cur = __result;
1417:       try
1417:  {
1417:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1417:      std::_Construct(std::__addressof(*__cur), *__first);
1417:    return __cur;
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__result, __cur);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Size,
1417:     typename _ForwardIterator>
1417:     inline _ForwardIterator
1417:     __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n,
1417:       _ForwardIterator __result,
1417:       random_access_iterator_tag)
1417:     { return std::uninitialized_copy(__first, __first + __n, __result); }
1417: 
1417:   template<typename _InputIterator, typename _Size,
1417:     typename _ForwardIterator>
1417:     pair<_InputIterator, _ForwardIterator>
1417:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1417:       _ForwardIterator __result, input_iterator_tag)
1417:     {
1417:       _ForwardIterator __cur = __result;
1417:       try
1417:  {
1417:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1417:      std::_Construct(std::__addressof(*__cur), *__first);
1417:    return {__first, __cur};
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(__result, __cur);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _RandomAccessIterator, typename _Size,
1417:     typename _ForwardIterator>
1417:     inline pair<_RandomAccessIterator, _ForwardIterator>
1417:     __uninitialized_cop {
609:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
609:           __new_finish._M_node + 1);
609:        throw;
609:      }
609:  }
609:       }
609: 
609:    template<typename _Tp, typename _Alloc>
609:      void
609:      deque<_Tp, _Alloc>::
609:      _M_destroy_data_aux(iterator __first, iterator __last)
609:      {
609:        for (_Map_pointer __node = __first._M_node + 1;
609:      __node < __last._M_node; ++__node)
609:   std::_Destroy(*__node, *__node + _S_buffer_size(),
609:          _M_get_Tp_allocator());
609: 
609:        if (__first._M_node != __last._M_node)
609:   {
609:     std::_Destroy(__first._M_cur, __first._M_last,
609:     _M_get_Tp_allocator());
609:     std::_Destroy(__last._M_first, __last._M_cur,
609:     _M_get_Tp_allocator());
609:   }
609:        else
609:   std::_Destroy(__first._M_cur, __last._M_cur,
609:          _M_get_Tp_allocator());
609:      }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_new_elements_at_front(size_type __new_elems)
609:     {
609:       if (this->max_size() - this->size() < __new_elems)
609:  __throw_length_error(("deque::_M_new_elements_at_front"));
609: 
609:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
609:          / _S_buffer_size());
609:       _M_reserve_map_at_front(__new_nodes);
609:       size_type __i;
609:       try
609:  {
609:    for (__i = 1; __i <= __new_nodes; ++__i)
609:      *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
609:  }
609:       catch(...)
609:  {
609:    for (size_type __j = 1; __j < __i; ++__j)
609:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
609:    throw;
609:  }
609:     }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_new_elements_at_back(size_type __new_elems)
609:     {
609:       if (this->max_size() - this->size() < __new_elems)
609:  __throw_length_error(("deque::_M_new_elements_at_back"));
609: 
609:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
609:          / _S_buffer_size());
609:       _M_reserve_map_at_back(__new_nodes);
609:       size_type __i;
609:       try
609:  {
609:    for (__i = 1; __i <= __new_nodes; ++__i)
609:      *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
609:  }
609:       catch(...)
609:  {
609:    for (size_type __j = 1; __j < __i; ++__j)
609:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
609:    throw;
609:  }
609:     }
609: 
609:   template <typename _Tp, typename _Alloc>
609:     void
609:     deque<_Tp, _Alloc>::
609:     _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
609:     {
609:       const size_type __old_num_nodes
609:  = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
609:       const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;
609: 
609:       _Map_pointer __new_nstart;
609:       if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
609:  {
609:    __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
609:       - __new_num_nodes) / 2
609:     + (__add_at_front ? __nodes_to_add : 0);
609:    if (__new_nstart < this->_M_impl._M_start._M_node)
609:      std::copy(this->_M_impl._M_start._M_node,
609:         this->_M_impl._M_finish._M_node + 1,
609:         __new_nstart);
609:    else
609:      std::copy_backward(this->_M_impl._M_start._M_node,
609:           this->_M_impl._M_finish._M_node + 1,
609:           __new_nstart + __old_num_nodes);
609:  }
609:       else
609:  {
609:    size_type __new_map_size = this->_M_impl._M_map_size
609:          + std::max(this->_M_impl._M_map_size,
609:       __nodes_to_add) + 2;
609: 
609:    _Map_pointer __new_map = this->_M_allocate_map(__new_map_size);
609:    __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
609:     + (__add_at_front ? __nodes_to_add : 0);
609:    std::copy(this->_M_impl._M_start._M_node,
609:       this->_M_impl._M_finish._M_node + 1,
609:       __new_nstart);
6y_n_pair(_RandomAccessIterator __first, _Size __n,
1417:       _ForwardIterator __result,
1417:       random_access_iterator_tag)
1417:     {
1417:       auto __second_res = uninitialized_copy(__first, __first + __n, __result);
1417:       auto __first_res = std::next(__first, __n);
1417:       return {__first_res, __second_res};
1417:     }
1417: # 933 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1417:     inline _ForwardIterator
1417:     uninitialized_copy_n(_InputIterator __first, _Size __n,
1417:     _ForwardIterator __result)
1417:     { return std::__uninitialized_copy_n(__first, __n, __result,
1417:       std::__iterator_category(__first)); }
1417: 
1417: 
1417:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1417:     inline pair<_InputIterator, _ForwardIterator>
1417:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1417:          _ForwardIterator __result)
1417:     {
1417:       return
1417:  std::__uninitialized_copy_n_pair(__first, __n, __result,
1417:       std::__iterator_category(__first));
1417:     }
1417: # 962 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template <typename _ForwardIterator>
1417:     inline void
1417:     uninitialized_default_construct(_ForwardIterator __first,
1417:         _ForwardIterator __last)
1417:     {
1417:       __uninitialized_default_novalue(__first, __last);
1417:     }
1417: # 977 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template <typename _ForwardIterator, typename _Size>
1417:     inline _ForwardIterator
1417:     uninitialized_default_construct_n(_ForwardIterator __first, _Size __count)
1417:     {
1417:       return __uninitialized_default_novalue_n(__first, __count);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _ForwardIterator>
1417:     inline void
1417:     uninitialized_value_construct(_ForwardIterator __first,
1417:       _ForwardIterator __last)
1417:     {
1417:       return __uninitialized_default(__first, __last);
1417:     }
1417: # 1005 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template <typename _ForwardIterator, typename _Size>
1417:     inline _ForwardIterator
1417:     uninitialized_value_construct_n(_ForwardIterator __first, _Size __count)
1417:     {
1417:       return __uninitialized_default_n(__first, __count);
1417:     }
1417: # 1020 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template <typename _InputIterator, typename _ForwardIterator>
1417:     inline _ForwardIterator
1417:     uninitialized_move(_InputIterator __first, _InputIterator __last,
1417:          _ForwardIterator __result)
1417:     {
1417:       return std::uninitialized_copy
1417:  (std::make_move_iterator(__first),
1417:   std::make_move_iterator(__last), __result);
1417:     }
1417: # 1038 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:   template <typename _InputIterator, typename _Size, typename _ForwardIterator>
1417:     inline pair<_InputIterator, _ForwardIterator>
1417:     uninitialized_move_n(_InputIterator __first, _Size __count,
1417:     _ForwardIterator __result)
1417:     {
1417:       auto __res = std::__uninitialized_copy_n_pair
1417:  (std::make_move_iterator(__first),
1417:   __count, __result);
1417:       return {__res.first.base(), __res.second};
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up, typename _Allocator>
1417:    
1417:     inline void
1417:     __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig,
1417:    _Allocator& __alloc)
1417:     noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc,
1417:     __dest, std::move(*__orig)))
1417:       && noexcept(std::allocator_traits<_Allocator>::destroy(
1417:        __alloc, std::__addressof(*__orig))))
1417:     {
1417:       typedef std::allocator_traits<_Allocator> __traits;
1417:       __traits::construct(__alloc, __dest, std::move(*__orig));
1417:       __traits::destroy(__alloc, std::__addressof(*__orig));
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename = void>
1417:     struct __is_bitwise_relocatable
1417:     : is_trivial<_Tp> { };
1417: 
1417:   template <typename _InputIterator, typename _ForwardIterator,
1417:      typename _Allocator>
1417:    
1417:     inline _ForwardIterator
1417:     __relocate_a_1(_InputIterator __first, _InputIterator __last,
1417:      _ForwardIterator __result, _Allocator& __alloc)
1417:     noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result),
1417:             std::addressof(*__first),
1417:             __alloc)))
1417:     {
1417:       typedef typename iterator_traits<_InputIterator>::value_type
1417:  _ValueType;
1417:       typedef typename iterator_traits<_ForwardIterator>::value_type
1417:  _ValueType2;
1417:       static_assert(std::is_same<_ValueType, _ValueType2>::value,
1417:    "relocation is only possible for values of the same type");
1417:       _ForwardIterator __cur = __result;
1417:       for (; __first != __last; ++__first, (void)++__cur)
1417:  std::__relocate_object_a(std::__addressof(*__cur),
1417:      std::__addressof(*__first), __alloc);
1417:       return __cur;
1417:     }
1417: 
1417:   template <typename _Tp, typename _Up>
1417:    
1417:     inline __enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp*>
1417:     __relocate_a_1(_Tp* __first, _Tp* __last,
1417:      _Tp* __result,
1417:      [[__maybe_unused__]] allocator<_Up>& __alloc) noexcept
1417:     {
1417:       ptrdiff_t __count = __last - __first;
1417:       if (__count > 0)
1417:  {
1417: # 1117 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1417:    __builtin_memmove(__result, __first, __count * sizeof(_Tp));
1417:  }
1417:       return __result + __count;
1417:     }
1417: 
1417: 
1417:   template <typename _InputIterator, typename _ForwardIterator,
1417:      typename _Allocator>
1417:    
1417:     inline _ForwardIterator
1417:     __relocate_a(_InputIterator __first, _InputIterator __last,
1417:    _ForwardIterator __result, _Allocator& __alloc)
1417:     noexcept(noexcept(__relocate_a_1(std::__niter_base(__first),
1417:          std::__niter_base(__last),
1417:          std::__niter_base(__result), __alloc)))
1417:     {
1417:       return std::__relocate_a_1(std::__niter_base(__first),
1417:      std::__niter_base(__last),
1417:      std::__niter_base(__result), __alloc);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 64 "/usr/include/c++/12/vector" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_vector.h" 1 3
1417: # 78 "/usr/include/c++/12/bits/stl_vector.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     struct _Vector_base
1417:     {
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_Tp>::other _Tp_alloc_type;
1417:       typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
1417:         pointer;
1417: 
1417:       struct _Vector_impl_data
1417:       {
1417:  pointer _M_start;
1417:  pointer _M_finish;
1417:  pointer _M_end_of_storage;
1417: 
1417: 
1417:  _Vector_impl_data() noexcept
1417:  : _M_start(), _M_finish(), _M_end_of_storage()
1417:  { }
1417: 
1417: 
1417: 
1417:  _Vector_impl_data(_Vector_impl_data&& __x) noexcept
1417:  : _M_start(__x._M_start), _M_finish(__x._M_finish),
1417:    _M_end_of_storage(__x._M_end_of_storage)
1417:  { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); }
1417: 
1417: 
1417: 
1417:  void
1417:  _M_copy_data(_Vector_impl_data const& __x) noexcept
1417:  {
1417:    _M_start = __x._M_start;
1417:    _M_finish = __x._M_finish;
1417:    _M_end_of_storage = __x._M_end_of_storage;
1417:  }
1417: 
1417: 
1417:  void
1417:  _M_swap_data(_Vector_impl_data& __x) noexcept
1417:  {
1417: 
1417: 
1417:    _Vector_impl_data __tmp;
1417:    __tmp._M_copy_data(*this);
1417:    _M_copy_data(__x);
1417:    __x._M_copy_data(__tmp);
1417:  }
1417:       };
1417: 
1417:       struct _Vector_impl
_pos)
1412:      __size = __pos;
1412:    do
1412:      {
1412:        if (!traits_type::find(__str, __n, this->_M_str[__size]))
1412:   return __size;
1412:      }
1412:    while (__size--);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1412:     basic_string_view<_CharT, _Traits>::
1412:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1412:     {
1412:       size_type __size = this->_M_len;
1412:       if (__size)
1412:  {
1412:    if (--__size > __pos)
1412:      __size = __pos;
1412:    do
1412:      {
1412:        if (!traits_type::eq(this->_M_str[__size], __c))
1412:   return __size;
1412:      }
1412:    while (__size--);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412: 
1412: }
1412: # 812 "/usr/include/c++/12/string_view" 2 3
1412: # 48 "/usr/include/c++/12/bits/basic_string.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: namespace __cxx11 {
1412: # 84 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     class basic_string
1412:     {
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_CharT>::other _Char_alloc_type;
1412: 
1412: 
1412:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1412: # 122 "/usr/include/c++/12/bits/basic_string.h" 3
1412:     public:
1412:       typedef _Traits traits_type;
1412:       typedef typename _Traits::char_type value_type;
1412:       typedef _Char_alloc_type allocator_type;
1412:       typedef typename _Alloc_traits::size_type size_type;
1412:       typedef typename _Alloc_traits::difference_type difference_type;
1412:       typedef typename _Alloc_traits::reference reference;
1412:       typedef typename _Alloc_traits::const_reference const_reference;
1412:       typedef typename _Alloc_traits::pointer pointer;
1412:       typedef typename _Alloc_traits::const_pointer const_pointer;
1412:       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
1412:       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
1412:        const_iterator;
1412:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1412:       typedef std::reverse_iterator<iterator> reverse_iterator;
1412: 
1412: 
1412:       static const size_type npos = static_cast<size_type>(-1);
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412:       typedef const_iterator __const_iterator;
1412: 
1412: 
1412:     private:
1412: 
1412: 
1412:       typedef basic_string_view<_CharT, _Traits> __sv_type;
1412: 
1412:       template<typename _Tp, typename _Res>
1412:  using _If_sv = enable_if_t<
1412:    __and_<is_convertible<const _Tp&, __sv_type>,
1412:    __not_<is_convertible<const _Tp*, const basic_string*>>,
1412:    __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
1412:    _Res>;
1412: 
1412: 
1412:      
1412:       static __sv_type
1412:       _S_to_string_view(__sv_type __svt) noexcept
1412:       { return __svt; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       struct __sv_wrapper
1412:       {
1412:  explicit
1412:  __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
1412: 
1412:  __sv_type _M_sv;
1412:       };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       explicit
1412:       basic_string(__sv_wrapper __svw, const _Alloc& __a)
1412:       : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
1412: 
1412: 
1412: 
1412:       struct _Alloc_hider : allocator_type
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  _Alloc_hider(pointer __dat, const _Alloc& __a)
1412:  : allocator_type(__a), _M_p(__dat) { }
1412: 
1412: 
1412:  _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
1412:  : allocator_type(std::move(__a)), _M_p(__dat) { }
1412: 
1412: 
1412:  pointer _M_p;
1412:       };
1412: 
1412:       _Alloc_hider _M_dataplus;
1412:     09:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
609: 
609:    this->_M_impl._M_map = __new_map;
609:    this->_M_impl._M_map_size = __new_map_size;
609:  }
609: 
609:       this->_M_impl._M_start._M_set_node(__new_nstart);
609:       this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _VTp>
609:     void
609:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
609:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __last,
609:        const _VTp& __value)
609:     {
609:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
609:       if (__first._M_node != __last._M_node)
609:  {
609:    std::__fill_a1(__first._M_cur, __first._M_last, __value);
609: 
609:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
609:         __node < __last._M_node; ++__node)
609:      std::__fill_a1(*__node, *__node + _Iter::_S_buffer_size(), __value);
609: 
609:    std::__fill_a1(__last._M_first, __last._M_cur, __value);
609:  }
609:       else
609:  std::__fill_a1(__first._M_cur, __last._M_cur, __value);
609:     }
609: 
609:   template<bool _IsMove,
609:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
609:     _OI
609:     __copy_move_dit(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
609:       std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
609:       _OI __result)
609:     {
609:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
609:       if (__first._M_node != __last._M_node)
609:  {
609:    __result
609:      = std::__copy_move_a1<_IsMove>(__first._M_cur, __first._M_last,
609:         __result);
609: 
609:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
609:         __node != __last._M_node; ++__node)
609:      __result
609:        = std::__copy_move_a1<_IsMove>(*__node,
609:           *__node + _Iter::_S_buffer_size(),
609:           __result);
609: 
609:    return std::__copy_move_a1<_IsMove>(__last._M_first, __last._M_cur,
609:            __result);
609:  }
609: 
609:       return std::__copy_move_a1<_IsMove>(__first._M_cur, __last._M_cur,
609:        __result);
609:     }
609: 
609:   template<bool _IsMove,
609:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
609:     _OI
609:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
609:      std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
609:      _OI __result)
609:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
609: 
609:   template<bool _IsMove,
609:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
609:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
609:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
609:      std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
609:      std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
609:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
609: 
609:   template<bool _IsMove, typename _II, typename _Tp>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value,
609:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
609:     __copy_move_a1(_II __first, _II __last,
609:      std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
609:     {
609:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
609:       typedef typename _Iter::difference_type difference_type;
609: 
609:       difference_type __len = __last - __first;
609:       while (__len > 0)
609:  {
609:    const difference_type __clen
609:      = std::min(__len, __result._M_last - __result._M_cur);
609:    std::__copy_move_a1<_IsMove>(__first, __first + __clen,
609:            __result._M_cur);
609: 
609:    __first += __clen;
609:    __result += __clen;
609:    __len -= __clen;
609:  }
609: 
609:       return __result;
609:     }
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<
609:       __is_char<_CharT>::__value,
609:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
609:     __copy_move_a2(
61417:  : public _Tp_alloc_type, public _Vector_impl_data
1417:       {
1417: 
1417:  _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1417: 
1417:  : _Tp_alloc_type()
1417:  { }
1417: 
1417: 
1417:  _Vector_impl(_Tp_alloc_type const& __a) noexcept
1417:  : _Tp_alloc_type(__a)
1417:  { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  _Vector_impl(_Vector_impl&& __x) noexcept
1417:  : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x))
1417:  { }
1417: 
1417: 
1417:  _Vector_impl(_Tp_alloc_type&& __a) noexcept
1417:  : _Tp_alloc_type(std::move(__a))
1417:  { }
1417: 
1417: 
1417:  _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept
1417:  : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv))
1417:  { }
1417: # 291 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       };
1417: 
1417:     public:
1417:       typedef _Alloc allocator_type;
1417: 
1417:      
1417:       _Tp_alloc_type&
1417:       _M_get_Tp_allocator() noexcept
1417:       { return this->_M_impl; }
1417: 
1417:      
1417:       const _Tp_alloc_type&
1417:       _M_get_Tp_allocator() const noexcept
1417:       { return this->_M_impl; }
1417: 
1417:      
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_get_Tp_allocator()); }
1417: 
1417: 
1417:       _Vector_base() = default;
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       _Vector_base(const allocator_type& __a) noexcept
1417:       : _M_impl(__a) { }
1417: 
1417: 
1417: 
1417:      
1417:       _Vector_base(size_t __n)
1417:       : _M_impl()
1417:       { _M_create_storage(__n); }
1417: 
1417: 
1417:      
1417:       _Vector_base(size_t __n, const allocator_type& __a)
1417:       : _M_impl(__a)
1417:       { _M_create_storage(__n); }
1417: 
1417: 
1417:       _Vector_base(_Vector_base&&) = default;
1417: 
1417: 
1417: 
1417:      
1417:       _Vector_base(_Tp_alloc_type&& __a) noexcept
1417:       : _M_impl(std::move(__a)) { }
1417: 
1417:      
1417:       _Vector_base(_Vector_base&& __x, const allocator_type& __a)
1417:       : _M_impl(__a)
1417:       {
1417:  if (__x.get_allocator() == __a)
1417:    this->_M_impl._M_swap_data(__x._M_impl);
1417:  else
1417:    {
1417:      size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start;
1417:      _M_create_storage(__n);
1417:    }
1417:       }
1417: 
1417: 
1417:      
1417:       _Vector_base(const allocator_type& __a, _Vector_base&& __x)
1417:       : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl))
1417:       { }
1417: 
1417: 
1417:      
1417:       ~_Vector_base() noexcept
1417:       {
1417:  _M_deallocate(_M_impl._M_start,
1417:         _M_impl._M_end_of_storage - _M_impl._M_start);
1417:       }
1417: 
1417:     public:
1417:       _Vector_impl _M_impl;
1417: 
1417:      
1417:       pointer
1417:       _M_allocate(size_t __n)
1417:       {
1417:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1417:  return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_deallocate(pointer __p, size_t __n)
1417:       {
1417:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1417:  if (__p)
1417:    _Tr::deallocate(_M_impl, __p, __n);
1417:       }
1417: 
1417:     protected:
1417:      
1417:       void
1417:       _M_create_storage(size_t __n)
1417:       {
1417:  this->_M_impl._M_start = this->_M_allocate(__n);
1417:  this->_M_impl._M_finish = this->_M_impl._M_start;
1417:  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1417:       }
1417:     };
1417: # 422 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1417:     class vector : protected _Vector_base<_Tp, _Alloc>
1417:     {
1417: # 435 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1417:    "std::vector must have a non-const, non-volatile value_type");
1417: 
1417:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1417:    "std::vector must have the same value_type as its allocator");
1417: 
1417: 
1417: 
1417:       typedef _Vector_base<_Tp, _Alloc> _Base;
1417:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1417:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
1417: 
1417:     public:
1417:       typedef _Tp value_type;
1417:       typedef typename _Base::pointer pointer;
1417:       typedef typename _Alloc_traits::const_pointer const_pointer;
1417:       typedef typename _Alloc_traits::reference reference;
1417:       typedef typename _Alloc_traits::const_reference const_reference;
1417:       typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
1417:       typedef __gnu_cxx::__normal_iterator<const_pointer, vector>
1417:       const_iterator;
1417:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1417:       typedef std::reverse_iterator<iterator> reverse_iterator;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef _Alloc allocator_type;
1417: 
1417:     private:
1417: 
1417:       static constexpr bool
1417:       _S_nothrow_relocate(true_type)
1417:       {
1417:  return noexcept(std::__relocate_a(std::declval<pointer>(),
1417:        std::declval<pointer>(),
1417:        std::declval<pointer>(),
1417:        std::declval<_Tp_alloc_type&>()));
1417:       }
1417: 
1417:       static constexpr bool
1417:       _S_nothrow_relocate(false_type)
1417:       { return false; }
1417: 
1417:       static constexpr bool
1417:       _S_use_relocate()
1417:       {
1417: 
1417: 
1417: 
1417:  return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{});
1417:       }
1417: 
1417:       static pointer
1417:       _S_do_relocate(pointer __first, pointer __last, pointer __result,
1417:        _Tp_alloc_type& __alloc, true_type) noexcept
1417:       {
1417:  return std::__relocate_a(__first, __last, __result, __alloc);
1417:       }
1417: 
1417:       static pointer
1417:       _S_do_relocate(pointer, pointer, pointer __result,
1417:        _Tp_alloc_type&, false_type) noexcept
1417:       { return __result; }
1417: 
1417:       static pointer
1417:       _S_relocate(pointer __first, pointer __last, pointer __result,
1417:     _Tp_alloc_type& __alloc) noexcept
1417:       {
1417: 
1417: 
1417:  return std::__relocate_a(__first, __last, __result, __alloc);
1417: 
1417: 
1417: 
1417: 
1417:       }
1417: 
1417: 
1417:     protected:
1417:       using _Base::_M_allocate;
1417:       using _Base::_M_deallocate;
1417:       using _Base::_M_impl;
1417:       using _Base::_M_get_Tp_allocator;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       vector() = default;
1417: # 535 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       explicit
1417:      
1417:       vector(const allocator_type& __a) noexcept
1417:       : _Base(__a) { }
1417: # 549 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       explicit
1417:      
1417:       vector(size_type __n, const allocator_type& __a = allocator_type())
1417:       : _Base(_S_check_init_len(__n, __a), __a)
1417:       { _M_default_initialize(__n); }
1417: # 563 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       vector(size_type __n, const value_type& __value,
1417:       const allocator_type& __a = allocator_type())
1417:       : _Base(_S_check_init_len(__n, __a), __a)
1417:       { _M_fill_initialize(__n, __value); }
1417: # 595 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       vector(const vector& __x)
1417:       : _Base(__x.size(),
1417:  _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()))
1417:       {
1417:  this->_M_impl._M_finish =
1417:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1417:           this->_M_impl._M_start,
1417:           _M_get_Tp_allocator());
1417:       }
1417: # 615 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       vector(vector&&) noexcept = default;
1417: 
1417: 
1417:      
1417:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1417:   size_type _M_string_length;
1412: 
1412:       enum { _S_local_capacity = 15 / sizeof(_CharT) };
1412: 
1412:       union
1412:       {
1412:  _CharT _M_local_buf[_S_local_capacity + 1];
1412:  size_type _M_allocated_capacity;
1412:       };
1412: 
1412:      
1412:       void
1412:       _M_data(pointer __p)
1412:       { _M_dataplus._M_p = __p; }
1412: 
1412:      
1412:       void
1412:       _M_length(size_type __length)
1412:       { _M_string_length = __length; }
1412: 
1412:      
1412:       pointer
1412:       _M_data() const
1412:       { return _M_dataplus._M_p; }
1412: 
1412:      
1412:       pointer
1412:       _M_local_data()
1412:       {
1412: 
1412:  return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
1412: 
1412: 
1412: 
1412:       }
1412: 
1412:      
1412:       const_pointer
1412:       _M_local_data() const
1412:       {
1412: 
1412:  return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
1412: 
1412: 
1412: 
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_capacity(size_type __capacity)
1412:       { _M_allocated_capacity = __capacity; }
1412: 
1412:      
1412:       void
1412:       _M_set_length(size_type __n)
1412:       {
1412:  _M_length(__n);
1412:  traits_type::assign(_M_data()[__n], _CharT());
1412:       }
1412: 
1412:      
1412:       bool
1412:       _M_is_local() const
1412:       { return _M_data() == _M_local_data(); }
1412: 
1412: 
1412:      
1412:       pointer
1412:       _M_create(size_type&, size_type);
1412: 
1412:      
1412:       void
1412:       _M_dispose()
1412:       {
1412:  if (!_M_is_local())
1412:    _M_destroy(_M_allocated_capacity);
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_destroy(size_type __size) throw()
1412:       { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
1412: # 319 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _InIterator>
1412: 
1412:         void
1412:         _M_construct(_InIterator __beg, _InIterator __end,
1412:        std::input_iterator_tag);
1412: 
1412: 
1412: 
1412:       template<typename _FwdIterator>
1412: 
1412:         void
1412:         _M_construct(_FwdIterator __beg, _FwdIterator __end,
1412:        std::forward_iterator_tag);
1412: 
1412:      
1412:       void
1412:       _M_construct(size_type __req, _CharT __c);
1412: 
1412:      
1412:       allocator_type&
1412:       _M_get_allocator()
1412:       { return _M_dataplus; }
1412: 
1412:      
1412:       const allocator_type&
1412:       _M_get_allocator() const
1412:       { return _M_dataplus; }
1412: 
1412: 
1412:       __attribute__((__always_inline__))
1412:       constexpr
1412:       pointer
1412:       _M_use_local_data() noexcept
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  return _M_local_data();
1412:       }
1412: 
1412:     private:
1412: # 377 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       _M_check(size_type __pos, const char* __s) const
1412:       {
1412:  if (__pos > this->size())
1412:    __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)")
1412:                                          ,
1412:        __s, __pos, this->size());
1412:  return __pos;
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
1412:       {
1412:  if (this->max_size() - (this->size() - __n1) < __n2)
1412:    __throw_length_error((__s));
1412:       }
1412: 
1412: 
1412: 
1412:      
1412:       size_type
1412:       _M_limit(size_type __pos, size_type __off) const noexcept
1412:       {
1412:  const bool __testoff = __off < this->size() - __pos;
1412:  return __testoff ? __off : this->size() - __pos;
1412:       }
1412: 
1412: 
1412:       bool
1412:       _M_disjunct(const _CharT* __s) const noexcept
1412:       {
1412:  return (less<const _CharT*>()(__s, _M_data())
1412:   || less<const _CharT*>()(_M_data() + this->size(), __s));
1412:       }
1412: 
1412: 
1412: 
1412:      
1412:       static voi09:  istreambuf_iterator<_CharT, char_traits<_CharT> > __first,
609:  istreambuf_iterator<_CharT, char_traits<_CharT> > __last,
609:  std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result)
609:     {
609:       if (__first == __last)
609:  return __result;
609: 
609:       for (;;)
609:  {
609:    const std::ptrdiff_t __len = __result._M_last - __result._M_cur;
609:    const std::ptrdiff_t __nb
609:      = std::__copy_n_a(__first, __len, __result._M_cur, false)
609:      - __result._M_cur;
609:    __result += __nb;
609: 
609:    if (__nb != __len)
609:      break;
609:  }
609: 
609:       return __result;
609:     }
609: 
609:   template<typename _CharT, typename _Size>
609:     typename __gnu_cxx::__enable_if<
609:       __is_char<_CharT>::__value,
609:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
609:     __copy_n_a(
609:       istreambuf_iterator<_CharT, char_traits<_CharT> > __it, _Size __size,
609:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result,
609:       bool __strict)
609:     {
609:       if (__size == 0)
609:  return __result;
609: 
609:       do
609:  {
609:    const _Size __len
609:      = std::min<_Size>(__result._M_last - __result._M_cur, __size);
609:    std::__copy_n_a(__it, __len, __result._M_cur, __strict);
609:    __result += __len;
609:    __size -= __len;
609:  }
609:       while (__size != 0);
609:       return __result;
609:     }
609: 
609:   template<bool _IsMove,
609:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
609:     _OI
609:     __copy_move_backward_dit(
609:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
609:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
609:   _OI __result)
609:     {
609:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
609:       if (__first._M_node != __last._M_node)
609:  {
609:    __result = std::__copy_move_backward_a1<_IsMove>(
609:   __last._M_first, __last._M_cur, __result);
609: 
609:    for (typename _Iter::_Map_pointer __node = __last._M_node - 1;
609:         __node != __first._M_node; --__node)
609:      __result = std::__copy_move_backward_a1<_IsMove>(
609:   *__node, *__node + _Iter::_S_buffer_size(), __result);
609: 
609:    return std::__copy_move_backward_a1<_IsMove>(
609:    __first._M_cur, __first._M_last, __result);
609:  }
609: 
609:       return std::__copy_move_backward_a1<_IsMove>(
609:   __first._M_cur, __last._M_cur, __result);
609:     }
609: 
609:   template<bool _IsMove,
609:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
609:     _OI
609:     __copy_move_backward_a1(
609:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
609:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
609:   _OI __result)
609:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
609: 
609:   template<bool _IsMove,
609:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
609:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
609:     __copy_move_backward_a1(
609:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
609:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
609:   std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
609:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
609: 
609:   template<bool _IsMove, typename _II, typename _Tp>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value,
609:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
609:     __copy_move_backward_a1(_II __first, _II __last,
609:   std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
609:     {
609:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
609:       typedef typename _Iter::difference_type difference_type;
609: 
609:       difference_type __len = __last - __first;
609:       while (__len > 0)
609:  {
609:    difference_type __rlen = __result._M_cur - __result._M_first;
609:    _Tp* __rend = __result._M_cur;
609:    if (!__rlen)
609:      {
609:        __rlen = _Iter::_S_buffer_size();
609:        __rend = *(__result._M_node - 1) + __rlen;
609:      }
609: 
609:    const difference_type __clen = st      : _Base(__x.size(), __a)
1417:       {
1417:  this->_M_impl._M_finish =
1417:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1417:           this->_M_impl._M_start,
1417:           _M_get_Tp_allocator());
1417:       }
1417: 
1417:     private:
1417:      
1417:       vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
1417:       : _Base(__m, std::move(__rv))
1417:       { }
1417: 
1417:      
1417:       vector(vector&& __rv, const allocator_type& __m, false_type)
1417:       : _Base(__m)
1417:       {
1417:  if (__rv.get_allocator() == __m)
1417:    this->_M_impl._M_swap_data(__rv._M_impl);
1417:  else if (!__rv.empty())
1417:    {
1417:      this->_M_create_storage(__rv.size());
1417:      this->_M_impl._M_finish =
1417:        std::__uninitialized_move_a(__rv.begin(), __rv.end(),
1417:        this->_M_impl._M_start,
1417:        _M_get_Tp_allocator());
1417:      __rv.clear();
1417:    }
1417:       }
1417: 
1417:     public:
1417: 
1417:      
1417:       vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
1417:       noexcept( noexcept(
1417:  vector(std::declval<vector&&>(), std::declval<const allocator_type&>(),
1417:         std::declval<typename _Alloc_traits::is_always_equal>())) )
1417:       : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{})
1417:       { }
1417: # 672 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       vector(initializer_list<value_type> __l,
1417:       const allocator_type& __a = allocator_type())
1417:       : _Base(__a)
1417:       {
1417:  _M_range_initialize(__l.begin(), __l.end(),
1417:        random_access_iterator_tag());
1417:       }
1417: # 699 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:  vector(_InputIterator __first, _InputIterator __last,
1417:         const allocator_type& __a = allocator_type())
1417:  : _Base(__a)
1417:  {
1417:    _M_range_initialize(__first, __last,
1417:          std::__iterator_category(__first));
1417:  }
1417: # 727 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       ~vector() noexcept
1417:       {
1417:  std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:         _M_get_Tp_allocator());
1417:  ;
1417:       }
1417: # 744 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       vector&
1417:       operator=(const vector& __x);
1417: # 759 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       vector&
1417:       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
1417:       {
1417:  constexpr bool __move_storage =
1417:    _Alloc_traits::_S_propagate_on_move_assign()
1417:    || _Alloc_traits::_S_always_equal();
1417:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1417:  return *this;
1417:       }
1417: # 781 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       vector&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  this->_M_assign_aux(__l.begin(), __l.end(),
1417:        random_access_iterator_tag());
1417:  return *this;
1417:       }
1417: # 801 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       assign(size_type __n, const value_type& __val)
1417:       { _M_fill_assign(__n, __val); }
1417: # 819 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:  void
1417:  assign(_InputIterator __first, _InputIterator __last)
1417:  { _M_assign_dispatch(__first, __last, __false_type()); }
1417: # 848 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       assign(initializer_list<value_type> __l)
1417:       {
1417:  this->_M_assign_aux(__l.begin(), __l.end(),
1417:        random_access_iterator_tag());
1417:       }
1417: 
1417: 
1417: 
1417:       using _Base::get_allocator;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       begin() noexcept
1417:       { return iterator(this->_M_impl._M_start); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return const_iterator(this->_M_impl._M_start); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       end() noexcept
1417:       { return iterator(this->_M_impl._M_finish); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       end() const noexcept
1417:       { return const_iterator(this->_M_impl._M_finish); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return reverse_iterator(end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return reverse_iterator(begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return const_iterator(this->_M_impl._M_start); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return const_iterator(this->_M_impl._M_finish); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       size() const noexcept
1417:       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _S_max_size(_M_get_Tp_allocator()); }
1417: # 1006 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       resize(size_type __new_size)
1417:       {
1417:  if (__new_size > size())
1417:    _M_default_append(__new_size - size());
1417:  else if (__new_size < size())
1417:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
1417:       }
1417: # 1027 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       resize(size_type __new_size, const value_type& __x)
1417:       {
1417:  if (__new_size > size())
1417:    _M_fill_insert(end(), __new_size - size(), __x);
1417:  else if (__new_size < size())
1417:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
1417:       }
1417: # 1061 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       shrink_to_fit()
1417:       { _M_shrink_to_fit(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       capacity() const noexcept
1417:       { return size_type(this->_M_impl._M_end_of_storage
1417:     - this->_M_impl._M_start); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       bool
1417:       empty() const noexcept
1417:       { return begin() == end(); }
1417: # 1103 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       reserve(size_type __n);
1417: # 1119 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       [[__nodiscard__]]
1417:       reference
1417:       operator[](size_type __n) noexced
1412:       _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
1412:       {
1412:  if (__n == 1)
1412:    traits_type::assign(*__d, *__s);
1412:  else
1412:    traits_type::copy(__d, __s, __n);
1412:       }
1412: 
1412:      
1412:       static void
1412:       _S_move(_CharT* __d, const _CharT* __s, size_type __n)
1412:       {
1412:  if (__n == 1)
1412:    traits_type::assign(*__d, *__s);
1412:  else
1412:    traits_type::move(__d, __s, __n);
1412:       }
1412: 
1412:      
1412:       static void
1412:       _S_assign(_CharT* __d, size_type __n, _CharT __c)
1412:       {
1412:  if (__n == 1)
1412:    traits_type::assign(*__d, __c);
1412:  else
1412:    traits_type::assign(__d, __n, __c);
1412:       }
1412: 
1412: 
1412: 
1412:       template<class _Iterator>
1412: 
1412:         static void
1412:         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
1412:         {
1412:    for (; __k1 != __k2; ++__k1, (void)++__p)
1412:      traits_type::assign(*__p, *__k1);
1412:  }
1412: 
1412:      
1412:       static void
1412:       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept
1412:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1412: 
1412:      
1412:       static void
1412:       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
1412:       noexcept
1412:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1412: 
1412:      
1412:       static void
1412:       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept
1412:       { _S_copy(__p, __k1, __k2 - __k1); }
1412: 
1412:      
1412:       static void
1412:       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
1412:       noexcept
1412:       { _S_copy(__p, __k1, __k2 - __k1); }
1412: 
1412:      
1412:       static int
1412:       _S_compare(size_type __n1, size_type __n2) noexcept
1412:       {
1412:  const difference_type __d = difference_type(__n1 - __n2);
1412: 
1412:  if (__d > __gnu_cxx::__numeric_traits<int>::__max)
1412:    return __gnu_cxx::__numeric_traits<int>::__max;
1412:  else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
1412:    return __gnu_cxx::__numeric_traits<int>::__min;
1412:  else
1412:    return int(__d);
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_assign(const basic_string&);
1412: 
1412:      
1412:       void
1412:       _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1412:   size_type __len2);
1412: 
1412:      
1412:       void
1412:       _M_erase(size_type __pos, size_type __n);
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string()
1412:       noexcept(is_nothrow_default_constructible<_Alloc>::value)
1412:       : _M_dataplus(_M_local_data())
1412:       {
1412:  _M_use_local_data();
1412:  _M_set_length(0);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       explicit
1412:       basic_string(const _Alloc& __a) noexcept
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       {
1412:  _M_use_local_data();
1412:  _M_set_length(0);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string(const basic_string& __str)
1412:       : _M_dataplus(_M_local_data(),
1412:       _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
1412:       {
1412:  _M_construct(__str._M_data(), __str._M_data() + __str.length(),
1412:        std::forward_iterator_tag());
1412:       }
1412: # 556 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string(const basic_string& __str, size_type __pos,
1412:      const _Alloc& __a = _Alloc())
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       {
1412:  const _CharT* __start = __str._M_data()
1412:    + __str._M_check(__pos, "basic_string::basic_string");
1412:  _M_construct(__start, __start + __str._M_limit(__pos, npos),
1412:        std::forward_iterator_tag());
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string(const basic_string& __str, size_type __pos,
1412:      size_type __n)
1412:      pt
1417:       {
1417:  ;
1417:  return *(this->_M_impl._M_start + __n);
1417:       }
1417: # 1138 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       operator[](size_type __n) const noexcept
1417:       {
1417:  ;
1417:  return *(this->_M_impl._M_start + __n);
1417:       }
1417: 
1417:     protected:
1417: 
1417:      
1417:       void
1417:       _M_range_check(size_type __n) const
1417:       {
1417:  if (__n >= this->size())
1417:    __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1417: 
1417:                             ,
1417:        __n, this->size());
1417:       }
1417: 
1417:     public:
1417: # 1171 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       reference
1417:       at(size_type __n)
1417:       {
1417:  _M_range_check(__n);
1417:  return (*this)[__n];
1417:       }
1417: # 1190 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       const_reference
1417:       at(size_type __n) const
1417:       {
1417:  _M_range_check(__n);
1417:  return (*this)[__n];
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       front() noexcept
1417:       {
1417:  ;
1417:  return *begin();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       front() const noexcept
1417:       {
1417:  ;
1417:  return *begin();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       back() noexcept
1417:       {
1417:  ;
1417:  return *(end() - 1);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       back() const noexcept
1417:       {
1417:  ;
1417:  return *(end() - 1);
1417:       }
1417: # 1253 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       [[__nodiscard__]]
1417:       _Tp*
1417:       data() noexcept
1417:       { return _M_data_ptr(this->_M_impl._M_start); }
1417: 
1417:       [[__nodiscard__]]
1417:       const _Tp*
1417:       data() const noexcept
1417:       { return _M_data_ptr(this->_M_impl._M_start); }
1417: # 1274 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       push_back(const value_type& __x)
1417:       {
1417:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1417:    {
1417:      ;
1417:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1417:          __x);
1417:      ++this->_M_impl._M_finish;
1417:      ;
1417:    }
1417:  else
1417:    _M_realloc_insert(end(), __x);
1417:       }
1417: 
1417: 
1417:      
1417:       void
1417:       push_back(value_type&& __x)
1417:       { emplace_back(std::move(__x)); }
1417: 
1417:       template<typename... _Args>
1417: 
1417: 
1417:  reference
1417: 
1417: 
1417: 
1417:  emplace_back(_Args&&... __args);
1417: # 1315 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       pop_back() noexcept
1417:       {
1417:  ;
1417:  --this->_M_impl._M_finish;
1417:  _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1417:  ;
1417:       }
1417: # 1338 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       template<typename... _Args>
1417: 
1417:  iterator
1417:  emplace(const_iterator __position, _Args&&... __args)
1417:  { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); }
1417: # 1355 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       iterator
1417:       insert(const_iterator __position, const value_type& __x);
1417: # 1386 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       iterator
1417:       insert(const_iterator __position, value_type&& __x)
1417:       { return _M_insert_rval(__position, std::move(__x)); }
1417: # 1404 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       iterator
1417:       insert(const_iterator __position, initializer_list<value_type> __l)
1417:       {
1417:  auto __offset = __position - cbegin();
1417:  _d::min(__len, __rlen);
609:    std::__copy_move_backward_a1<_IsMove>(__last - __clen, __last, __rend);
609: 
609:    __last -= __clen;
609:    __result -= __clen;
609:    __len -= __clen;
609:  }
609: 
609:       return __result;
609:     }
609: 
609:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
609:     bool
609:     __equal_dit(
609:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __first1,
609:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __last1,
609:  _II __first2)
609:     {
609:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
609:       if (__first1._M_node != __last1._M_node)
609:  {
609:    if (!std::__equal_aux1(__first1._M_cur, __first1._M_last, __first2))
609:      return false;
609: 
609:    __first2 += __first1._M_last - __first1._M_cur;
609:    for (typename _Iter::_Map_pointer __node = __first1._M_node + 1;
609:         __node != __last1._M_node;
609:         __first2 += _Iter::_S_buffer_size(), ++__node)
609:      if (!std::__equal_aux1(*__node, *__node + _Iter::_S_buffer_size(),
609:       __first2))
609:        return false;
609: 
609:    return std::__equal_aux1(__last1._M_first, __last1._M_cur, __first2);
609:  }
609: 
609:       return std::__equal_aux1(__first1._M_cur, __last1._M_cur, __first2);
609:     }
609: 
609:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value, bool>::__type
609:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first1,
609:    std::_Deque_iterator<_Tp, _Ref, _Ptr> __last1,
609:    _II __first2)
609:     { return std::__equal_dit(__first1, __last1, __first2); }
609: 
609:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
609:     typename _Tp2, typename _Ref2, typename _Ptr2>
609:     bool
609:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
609:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
609:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2)
609:     { return std::__equal_dit(__first1, __last1, __first2); }
609: 
609:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
609:     typename __gnu_cxx::__enable_if<
609:       __is_random_access_iter<_II>::__value, bool>::__type
609:     __equal_aux1(_II __first1, _II __last1,
609:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first2)
609:     {
609:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
609:       typedef typename _Iter::difference_type difference_type;
609: 
609:       difference_type __len = __last1 - __first1;
609:       while (__len > 0)
609:  {
609:    const difference_type __clen
609:      = std::min(__len, __first2._M_last - __first2._M_cur);
609:    if (!std::__equal_aux1(__first1, __first1 + __clen, __first2._M_cur))
609:      return false;
609: 
609:    __first1 += __clen;
609:    __len -= __clen;
609:    __first2 += __clen;
609:  }
609: 
609:       return true;
609:     }
609: 
609:   template<typename _Tp1, typename _Ref, typename _Ptr, typename _Tp2>
609:     int
609:     __lex_cmp_dit(
609:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __first1,
609:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __last1,
609:  const _Tp2* __first2, const _Tp2* __last2)
609:     {
609:       const bool __simple =
609:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
609:   && __is_pointer<_Ptr>::__value
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   );
609:       typedef std::__lexicographical_compare<__simple> _Lc;
609: 
609:       while (__first1._M_node != __last1._M_node)
609:  {
609:    const ptrdiff_t __len1 = __first1._M_last - __first1._M_cur;
609:    const ptrdiff_t __len2 = __last2 - __first2;
609:    const ptrdiff_t __len = std::min(__len1, __len2);
609: 
609:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_last,
609:           __first2, __first2 + __len))
609:      return __ret;
609: 
609:    __first1 += __len;
609:    __first2 += __len;
609:  }
609:       return _Lc::__3way(__first1._M_cur, __last1._M_cur,
609:     __first2, __last2);
609:     }
609: 
609:   template<typename _Tp1, typename _Ref1,M_range_insert(begin() + __offset, __l.begin(), __l.end(),
1417:    std::random_access_iterator_tag());
1417:  return begin() + __offset;
1417:       }
1417: # 1430 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       iterator
1417:       insert(const_iterator __position, size_type __n, const value_type& __x)
1417:       {
1417:  difference_type __offset = __position - cbegin();
1417:  _M_fill_insert(begin() + __offset, __n, __x);
1417:  return begin() + __offset;
1417:       }
1417: # 1473 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:  iterator
1417:  insert(const_iterator __position, _InputIterator __first,
1417:         _InputIterator __last)
1417:  {
1417:    difference_type __offset = __position - cbegin();
1417:    _M_insert_dispatch(begin() + __offset,
1417:         __first, __last, __false_type());
1417:    return begin() + __offset;
1417:  }
1417: # 1526 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       iterator
1417: 
1417:       erase(const_iterator __position)
1417:       { return _M_erase(begin() + (__position - cbegin())); }
1417: # 1554 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       iterator
1417: 
1417:       erase(const_iterator __first, const_iterator __last)
1417:       {
1417:  const auto __beg = begin();
1417:  const auto __cbeg = cbegin();
1417:  return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
1417:       }
1417: # 1579 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:      
1417:       void
1417:       swap(vector& __x) noexcept
1417:       {
1417: 
1417:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1417:                                                           ;
1417: 
1417:  this->_M_impl._M_swap_data(__x._M_impl);
1417:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1417:       __x._M_get_Tp_allocator());
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       clear() noexcept
1417:       { _M_erase_at_end(this->_M_impl._M_start); }
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417: 
1417:  pointer
1417:  _M_allocate_and_copy(size_type __n,
1417:         _ForwardIterator __first, _ForwardIterator __last)
1417:  {
1417:    pointer __result = this->_M_allocate(__n);
1417:    try
1417:      {
1417:        std::__uninitialized_copy_a(__first, __last, __result,
1417:        _M_get_Tp_allocator());
1417:        return __result;
1417:      }
1417:    catch(...)
1417:      {
1417:        _M_deallocate(__result, __n);
1417:        throw;
1417:      }
1417:  }
1417: # 1659 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1417:        std::input_iterator_tag)
1417:  {
1417:    try {
1417:      for (; __first != __last; ++__first)
1417: 
1417:        emplace_back(*__first);
1417: 
1417: 
1417: 
1417:    } catch(...) {
1417:      clear();
1417:      throw;
1417:    }
1417:  }
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417: 
1417:  void
1417:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1417:        std::forward_iterator_tag)
1417:  {
1417:    const size_type __n = std::distance(__first, __last);
1417:    this->_M_impl._M_start
1417:      = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
1417:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1417:    this->_M_impl._M_finish =
1417:      std::__uninitialized_copy_a(__first, __last,
1417:      this->_M_impl._M_start,
1417:      _M_get_Tp_allocator());
1417:  }
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_fill_initialize(size_type __n, const value_type& __value)
1417:       {
1417:  this : _M_dataplus(_M_local_data())
1412:       {
1412:  const _CharT* __start = __str._M_data()
1412:    + __str._M_check(__pos, "basic_string::basic_string");
1412:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1412:        std::forward_iterator_tag());
1412:       }
1412: # 591 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string(const basic_string& __str, size_type __pos,
1412:      size_type __n, const _Alloc& __a)
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       {
1412:  const _CharT* __start
1412:    = __str._M_data() + __str._M_check(__pos, "string::string");
1412:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1412:        std::forward_iterator_tag());
1412:       }
1412: # 611 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string(const _CharT* __s, size_type __n,
1412:      const _Alloc& __a = _Alloc())
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       {
1412: 
1412:  if (__s == 0 && __n > 0)
1412:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1412:                                                  );
1412:  _M_construct(__s, __s + __n, std::forward_iterator_tag());
1412:       }
1412: # 631 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename = _RequireAllocator<_Alloc>>
1412: 
1412:      
1412:       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       {
1412: 
1412:  if (__s == 0)
1412:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1412:                                                  );
1412:  const _CharT* __end = __s + traits_type::length(__s);
1412:  _M_construct(__s, __end, forward_iterator_tag());
1412:       }
1412: # 654 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename = _RequireAllocator<_Alloc>>
1412: 
1412:      
1412:       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       { _M_construct(__n, __c); }
1412: # 669 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string(basic_string&& __str) noexcept
1412:       : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
1412:       {
1412:  if (__str._M_is_local())
1412:    {
1412:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1412:          __str.length() + 1);
1412:    }
1412:  else
1412:    {
1412:      _M_data(__str._M_data());
1412:      _M_capacity(__str._M_allocated_capacity);
1412:    }
1412: 
1412: 
1412: 
1412: 
1412:  _M_length(__str.length());
1412:  __str._M_data(__str._M_local_data());
1412:  __str._M_set_length(0);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
1412: 
1412:      
1412:       basic_string(const basic_string& __str, const _Alloc& __a)
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
1412: 
1412:      
1412:       basic_string(basic_string&& __str, const _Alloc& __a)
1412:       noexcept(_Alloc_traits::_S_always_equal())
1412:       : _M_dataplus(_M_local_data(), __a)
1412:       {
1412:  if (__str._M_is_local())
1412:    {
1412:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1412:          __str.length() + 1);
1412:      _M_length(__str.length());
1412:      __str._M_set_length(0);
1412:    }
1412:  else if (_Alloc_traits::_S_always_equal()
1412:      || __str.get_allocator() == __a)
1412:    {
1412:      _M_data(__str._M_data());
1412:      _M_length(__str.length());
1412:      _M_capacity(__str._M_allocated_capacity);
1412:      __str._M_data(__str._M_local_buf);
1412:      __str._M_set_length(0);
1412:    }
1412:  else
1412:    _M_construct(__str.begin(), __str.end(), std::forwar typename _Ptr1,
609:     typename _Tp2>
609:     inline bool
609:     __lexicographical_compare_aux1(
609:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
609:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
609:  _Tp2* __first2, _Tp2* __last2)
609:     { return std::__lex_cmp_dit(__first1, __last1, __first2, __last2) < 0; }
609: 
609:   template<typename _Tp1,
609:     typename _Tp2, typename _Ref2, typename _Ptr2>
609:     inline bool
609:     __lexicographical_compare_aux1(_Tp1* __first1, _Tp1* __last1,
609:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
609:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
609:     { return std::__lex_cmp_dit(__first2, __last2, __first1, __last1) > 0; }
609: 
609:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
609:     typename _Tp2, typename _Ref2, typename _Ptr2>
609:     inline bool
609:     __lexicographical_compare_aux1(
609:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
609:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
609:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
609:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
609:     {
609:       const bool __simple =
609:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
609:   && __is_pointer<_Ptr1>::__value
609:   && __is_pointer<_Ptr2>::__value
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   );
609:       typedef std::__lexicographical_compare<__simple> _Lc;
609: 
609:       while (__first1 != __last1)
609:  {
609:    const ptrdiff_t __len2 = __first2._M_node == __last2._M_node
609:      ? __last2._M_cur - __first2._M_cur
609:      : __first2._M_last - __first2._M_cur;
609:    if (__len2 == 0)
609:      return false;
609:    const ptrdiff_t __len1 = __first1._M_node == __last1._M_node
609:      ? __last1._M_cur - __first1._M_cur
609:      : __first1._M_last - __first1._M_cur;
609:    const ptrdiff_t __len = std::min(__len1, __len2);
609:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_cur + __len,
609:           __first2._M_cur, __first2._M_cur + __len))
609:      return __ret < 0;
609: 
609:    __first1 += __len;
609:    __first2 += __len;
609:  }
609: 
609:       return __last2 != __first2;
609:     }
609: 
609: 
609: }
609: # 68 "/usr/include/c++/12/deque" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609:   namespace pmr
609:   {
609:     template<typename _Tp> class polymorphic_allocator;
609:     template<typename _Tp>
609:       using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>;
609:   }
609: 
609: }
609: # 61 "/usr/include/c++/12/stack" 2 3
609: # 1 "/usr/include/c++/12/bits/stl_stack.h" 1 3
609: # 65 "/usr/include/c++/12/bits/stl_stack.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 98 "/usr/include/c++/12/bits/stl_stack.h" 3
609:   template<typename _Tp, typename _Sequence = deque<_Tp> >
609:     class stack
609:     {
609: # 111 "/usr/include/c++/12/bits/stl_stack.h" 3
609:       template<typename _Tp1, typename _Seq1>
609:  friend bool
609:  operator==(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
609: 
609:       template<typename _Tp1, typename _Seq1>
609:  friend bool
609:  operator<(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
609: # 126 "/usr/include/c++/12/bits/stl_stack.h" 3
609:       template<typename _Alloc>
609:  using _Uses = typename
609:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
609: 
609: 
609: 
609: 
609: 
609:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
609:    "value_type must be the same as the underlying container");
609: 
609: 
609: 
609:     public:
609:       typedef typename _Sequence::value_type value_type;
609:       typedef typename _Sequence::reference reference;
609:       typedef typename _Sequence::const_reference const_reference;
609:       typedef typename _Sequence::size_type size_type;
609:       typedef _Sequence container_type;
609: 
609:     protected:
609: 
609:       _Sequence c;
609: 
609:     public:
609: # 160 "/usr/include/c++/->_M_impl._M_finish =
1417:    std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
1417:      _M_get_Tp_allocator());
1417:       }
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_default_initialize(size_type __n)
1417:       {
1417:  this->_M_impl._M_finish =
1417:    std::__uninitialized_default_n_a(this->_M_impl._M_start, __n,
1417:         _M_get_Tp_allocator());
1417:       }
1417: # 1725 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       template<typename _Integer>
1417: 
1417:  void
1417:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1417:  { _M_fill_assign(__n, __val); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1417:       __false_type)
1417:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1417:         std::input_iterator_tag);
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417: 
1417:  void
1417:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1417:         std::forward_iterator_tag);
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_fill_assign(size_type __n, const value_type& __val);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Integer>
1417: 
1417:  void
1417:  _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
1417:       __true_type)
1417:  { _M_fill_insert(__pos, __n, __val); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_insert_dispatch(iterator __pos, _InputIterator __first,
1417:       _InputIterator __last, __false_type)
1417:  {
1417:    _M_range_insert(__pos, __first, __last,
1417:      std::__iterator_category(__first));
1417:  }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_range_insert(iterator __pos, _InputIterator __first,
1417:    _InputIterator __last, std::input_iterator_tag);
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417: 
1417:  void
1417:  _M_range_insert(iterator __pos, _ForwardIterator __first,
1417:    _ForwardIterator __last, std::forward_iterator_tag);
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_default_append(size_type __n);
1417: 
1417:      
1417:       bool
1417:       _M_shrink_to_fit();
1417: # 1824 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:       struct _Temporary_value
1417:       {
1417:  template<typename... _Args>
1417:    explicit
1417:    _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec)
1417:    {
1417:      _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(),
1417:          std::forward<_Args>(__args)...);
1417:    }
1417: 
1417: 
1417:  ~_Temporary_value()
1417:  { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); }
1417: 
1417:  value_type&
1417:  _M_val() noexcept { return _M_storage._M_val; }
1417: 
1417:       private:
1417:  _Tp*
1417:  _M_ptr() noexcept { return std::__addressof(_M_storage._M_val); }
1417: 
1417:  union _Storage
1417:  {
1417:    constexpr _Storage() : _M_byte() { }
1417:    ~_Storage() { }
1417:    _Storage& operator=(const _Storage&) = delete;
1417:    unsigned char _M_byte;
1417:    _Tp _M_val;
1417:  };
1417: 
1417:  vector* _M_this;
1417:  _Storage _M_storage;
1417:       };
1417: 
1417: 
1417: 
1417:       template<typename _Arg>
1417: 
1417:  void
1417:  _M_insert_aux(iterator __position, _Arg&& __arg);
1417: 
1417:       template<typename... _Args>
1417: 
1417:  void
1417:  _M_realloc_insert(iterator __position, _Args&&... __args);
1417: 
1417: 
1417:      
1417:       iterator
1417:       _M_insert_rval(const_iterator __position, value_type&& __v);
1417: 
1417: 
1417:       template<typename... _Args>
1417: 
1417:  iterator
1417:  d_iterator_tag());
1412:       }
1412: # 745 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412: 
1412: 
1412: 
1412:         basic_string(_InputIterator __beg, _InputIterator __end,
1412:        const _Alloc& __a = _Alloc())
1412:  : _M_dataplus(_M_local_data(), __a)
1412:  {
1412: 
1412:    _M_construct(__beg, __end, std::__iterator_category(__beg));
1412: 
1412: 
1412: 
1412: 
1412:  }
1412: # 771 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp,
1412:         typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
1412: 
1412:  basic_string(const _Tp& __t, size_type __pos, size_type __n,
1412:        const _Alloc& __a = _Alloc())
1412:  : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Tp, typename = _If_sv<_Tp, void>>
1412: 
1412:  explicit
1412:  basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
1412:  : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       ~basic_string()
1412:       { _M_dispose(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       operator=(const basic_string& __str)
1412:       {
1412:  return this->assign(__str);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       operator=(const _CharT* __s)
1412:       { return this->assign(__s); }
1412: # 824 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       operator=(_CharT __c)
1412:       {
1412:  this->assign(1, __c);
1412:  return *this;
1412:       }
1412: # 842 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       operator=(basic_string&& __str)
1412:       noexcept(_Alloc_traits::_S_nothrow_move())
1412:       {
1412:  if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
1412:      && !_Alloc_traits::_S_always_equal()
1412:      && _M_get_allocator() != __str._M_get_allocator())
1412:    {
1412: 
1412:      _M_destroy(_M_allocated_capacity);
1412:      _M_data(_M_local_data());
1412:      _M_set_length(0);
1412:    }
1412: 
1412:  std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
1412: 
1412:  if (__str._M_is_local())
1412:    {
1412: 
1412: 
1412: 
1412:      if (__builtin_expect(std::__addressof(__str) != this, true))
1412:        {
1412:   if (__str.size())
1412:     this->_S_copy(_M_data(), __str._M_data(), __str.size());
1412:   _M_set_length(__str.size());
1412:        }
1412:    }
1412:  else if (_Alloc_traits::_S_propagate_on_move_assign()
1412:      || _Alloc_traits::_S_always_equal()
1412:      || _M_get_allocator() == __str._M_get_allocator())
1412:    {
1412: 
1412:      pointer __data = nullptr;
1412:      size_type __capacity;
1412:      if (!_M_is_local())
1412:        {
1412:   if (_Alloc_traits::_S_always_equal())
1412:     {
1412: 
1412:       __data = _M_data();
1412:       __capacity = _M_allocated_capacity;
1412:     }
1412:   else
1412:     _M_destroy(_M_allocated_capacity);
1412:        }
1412: 
1412:      _M_data(__str._M_data());
1412:      _M_length(__str.length());
1412:      _M_capacity(__str._M_allocated_capacity);
1412:      if (__data)
1412:        {
1412:   __str._M_data(__data);
1412:   __str._M_capacity(__capacity);
1412:        }
1412:      else
1412:        __str._M_data(__str._M_local_buf);
1412:    }
1412:  else
1412:    assign(__str);
1412:  __str.clear();
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       operator=(initializer_list<_CharT> __l)
1412:       {
1412:  this->assign(__l.begin(), __l.size());
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      template<typename _Tp>
1412:       
1412:        _If_sv<_Tp, basic_string&>
1412:        operator=(const _Tp& __svt)
1412:        { return th_M_emplace_aux(const_iterator __position, _Args&&... __args);
1417: 
1417: 
1417:      
1417:       iterator
1417:       _M_emplace_aux(const_iterator __position, value_type&& __v)
1417:       { return _M_insert_rval(__position, std::move(__v)); }
1417: 
1417: 
1417: 
1417:      
1417:       size_type
1417:       _M_check_len(size_type __n, const char* __s) const
1417:       {
1417:  if (max_size() - size() < __n)
1417:    __throw_length_error((__s));
1417: 
1417:  const size_type __len = size() + (std::max)(size(), __n);
1417:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1417:       }
1417: 
1417: 
1417:       static size_type
1417:       _S_check_init_len(size_type __n, const allocator_type& __a)
1417:       {
1417:  if (__n > _S_max_size(_Tp_alloc_type(__a)))
1417:    __throw_length_error(
1417:        ("cannot create std::vector larger than max_size()"));
1417:  return __n;
1417:       }
1417: 
1417:       static size_type
1417:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1417:       {
1417: 
1417: 
1417: 
1417:  const size_t __diffmax
1417:    = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1417:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1417:  return (std::min)(__diffmax, __allocmax);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_erase_at_end(pointer __pos) noexcept
1417:       {
1417:  if (size_type __n = this->_M_impl._M_finish - __pos)
1417:    {
1417:      std::_Destroy(__pos, this->_M_impl._M_finish,
1417:      _M_get_Tp_allocator());
1417:      this->_M_impl._M_finish = __pos;
1417:      ;
1417:    }
1417:       }
1417: 
1417:      
1417:       iterator
1417:       _M_erase(iterator __position);
1417: 
1417:      
1417:       iterator
1417:       _M_erase(iterator __first, iterator __last);
1417: 
1417: 
1417:     private:
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_move_assign(vector&& __x, true_type) noexcept
1417:       {
1417:  vector __tmp(get_allocator());
1417:  this->_M_impl._M_swap_data(__x._M_impl);
1417:  __tmp._M_impl._M_swap_data(__x._M_impl);
1417:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1417:       }
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       _M_move_assign(vector&& __x, false_type)
1417:       {
1417:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1417:    _M_move_assign(std::move(__x), true_type());
1417:  else
1417:    {
1417: 
1417: 
1417:      this->_M_assign_aux(std::make_move_iterator(__x.begin()),
1417:            std::make_move_iterator(__x.end()),
1417:     std::random_access_iterator_tag());
1417:      __x.clear();
1417:    }
1417:       }
1417: 
1417: 
1417:       template<typename _Up>
1417: 
1417:  _Up*
1417:  _M_data_ptr(_Up* __ptr) const noexcept
1417:  { return __ptr; }
1417: 
1417: 
1417:       template<typename _Ptr>
1417: 
1417:  typename std::pointer_traits<_Ptr>::element_type*
1417:  _M_data_ptr(_Ptr __ptr) const
1417:  { return empty() ? nullptr : std::__to_address(__ptr); }
1417: # 2010 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:     };
1417: 
1417: 
1417:   template<typename _InputIterator, typename _ValT
1417:       = typename iterator_traits<_InputIterator>::value_type,
1417:     typename _Allocator = allocator<_ValT>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     vector(_InputIterator, _InputIterator, _Allocator = _Allocator())
1417:       -> vector<_ValT, _Allocator>;
1417: # 2032 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     inline bool
1417:     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1417:     { return (__x.size() == __y.size()
1417:        && std::equal(__x.begin(), __x.end(), __y.begin())); }
1417: # 2072 "/usr/include/c++/12/bits/stl_vector.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     inline bool
1417:     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& 12/bits/stl_stack.h" 3
609:       template<typename _Seq = _Sequence, typename _Requires = typename
609:         enable_if<is_default_constructible<_Seq>::value>::type>
609:  stack()
609:  : c() { }
609: 
609:       explicit
609:       stack(const _Sequence& __c)
609:       : c(__c) { }
609: 
609:       explicit
609:       stack(_Sequence&& __c)
609:       : c(std::move(__c)) { }
609: # 183 "/usr/include/c++/12/bits/stl_stack.h" 3
609:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
609:  explicit
609:  stack(const _Alloc& __a)
609:  : c(__a) { }
609: 
609:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
609:  stack(const _Sequence& __c, const _Alloc& __a)
609:  : c(__c, __a) { }
609: 
609:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
609:  stack(_Sequence&& __c, const _Alloc& __a)
609:  : c(std::move(__c), __a) { }
609: 
609:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
609:  stack(const stack& __q, const _Alloc& __a)
609:  : c(__q.c, __a) { }
609: 
609:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
609:  stack(stack&& __q, const _Alloc& __a)
609:  : c(std::move(__q.c), __a) { }
609: # 216 "/usr/include/c++/12/bits/stl_stack.h" 3
609:       [[__nodiscard__]] bool
609:       empty() const
609:       { return c.empty(); }
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       size() const
609:       { return c.size(); }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       top()
609:       {
609:  ;
609:  return c.back();
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       top() const
609:       {
609:  ;
609:  return c.back();
609:       }
609: # 259 "/usr/include/c++/12/bits/stl_stack.h" 3
609:       void
609:       push(const value_type& __x)
609:       { c.push_back(__x); }
609: 
609: 
609:       void
609:       push(value_type&& __x)
609:       { c.push_back(std::move(__x)); }
609: 
609: 
609:       template<typename... _Args>
609:  decltype(auto)
609:  emplace(_Args&&... __args)
609:  { return c.emplace_back(std::forward<_Args>(__args)...); }
609: # 292 "/usr/include/c++/12/bits/stl_stack.h" 3
609:       void
609:       pop()
609:       {
609:  ;
609:  c.pop_back();
609:       }
609: 
609: 
609:       void
609:       swap(stack& __s)
609: 
609:       noexcept(__is_nothrow_swappable<_Sequence>::value)
609: 
609: 
609: 
609:       {
609:  using std::swap;
609:  swap(c, __s.c);
609:       }
609: 
609:     };
609: 
609: 
609:   template<typename _Container,
609:     typename = _RequireNotAllocator<_Container>>
609:     stack(_Container) -> stack<typename _Container::value_type, _Container>;
609: 
609:   template<typename _Container, typename _Allocator,
609:     typename = _RequireNotAllocator<_Container>>
609:     stack(_Container, _Allocator)
609:     -> stack<typename _Container::value_type, _Container>;
609: # 353 "/usr/include/c++/12/bits/stl_stack.h" 3
609:   template<typename _Tp, typename _Seq>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
609:     { return __x.c == __y.c; }
609: # 372 "/usr/include/c++/12/bits/stl_stack.h" 3
609:   template<typename _Tp, typename _Seq>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
609:     { return __x.c < __y.c; }
609: 
609: 
609:   template<typename _Tp, typename _Seq>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _Tp, typename _Seq>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
609:     { return __y < __x; }
609: 
609: 
609:   template<typename _Tp, typename _Seq>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(const stack<_Tp, _Seq>& __x, const stack<_Tp,__y)
1417:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1417:        __y.begin(), __y.end()); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     inline bool
1417:     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     inline bool
1417:     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     inline bool
1417:     operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     inline bool
1417:     operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     inline void
1417:     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: 
1417: 
1417:   namespace __detail::__variant
1417:   {
1417:     template<typename> struct _Never_valueless_alt;
1417: 
1417: 
1417: 
1417:     template<typename _Tp, typename _Alloc>
1417:       struct _Never_valueless_alt<std::vector<_Tp, _Alloc>>
1417:       : std::is_nothrow_move_assignable<std::vector<_Tp, _Alloc>>
1417:       { };
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: # 65 "/usr/include/c++/12/vector" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_bvector.h" 1 3
1417: # 64 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   typedef unsigned long _Bit_type;
1417:   enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
1417: 
1417:   __attribute__((__nonnull__))
1417:  
1417:   void
1417:   __fill_bvector_n(_Bit_type*, size_t, bool) noexcept;
1417: 
1417: 
1417: 
1417:   struct _Bit_reference
1417:   {
1417:     _Bit_type * _M_p;
1417:     _Bit_type _M_mask;
1417: 
1417:    
1417:     _Bit_reference(_Bit_type * __x, _Bit_type __y)
1417:     : _M_p(__x), _M_mask(__y) { }
1417: 
1417:    
1417:     _Bit_reference() noexcept : _M_p(0), _M_mask(0) { }
1417: 
1417: 
1417:     _Bit_reference(const _Bit_reference&) = default;
1417: 
1417: 
1417:     [[__nodiscard__]]
1417:     operator bool() const noexcept
1417:     { return !!(*_M_p & _M_mask); }
1417: 
1417:    
1417:     _Bit_reference&
1417:     operator=(bool __x) noexcept
1417:     {
1417:       if (__x)
1417:  *_M_p |= _M_mask;
1417:       else
1417:  *_M_p &= ~_M_mask;
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     _Bit_reference&
1417:     operator=(const _Bit_reference& __x) noexcept
1417:     { return *this = bool(__x); }
1417: 
1417:     [[__nodiscard__]]
1417:     bool
1417:     operator==(const _Bit_reference& __x) const
1417:     { return bool(*this) == bool(__x); }
1417: 
1417:     [[__nodiscard__]]
1417:     bool
1417:     operator<(const _Bit_reference& __x) const
1417:     { return !bool(*this) && bool(__x); }
1417: 
1417:    
1417:     void
1417:     flip() noexcept
1417:     { *_M_p ^= _M_mask; }
1417: 
1417: 
1417:    
1417:     friend void
1417:     swap(_Bit_reference __x, _Bit_reference __y) noexcept
1417:     {
1417:       bool __tmp = __x;
1417:       __x = __y;
1417:       __y = __tmp;
1417:     }
1417: 
1417:    
1417:     friend void
1417:     swap(_Bit_reference __x, bool& __y) noexcept
1417:     {
1417:       bool __tmp = __x;
1417:       __x = __y;
1417:       __y = __tmp;
1417:     }
1417: 
1417:    
1417:     friend void
1417:     swap(bool& __x, _Bit_reference __y) noexcept
1417:     {
1417:       bool __tmp = __x;
1417:       __x = __y;
1417:       __y = __tmp;
1417:     }
1417: 
1417:   };
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:   struct _Bit_iterator_base
1417:   : public std::iteratoris->assign(__svt); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       operator __sv_type() const noexcept
1412:       { return __sv_type(data(), size()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       iterator
1412:       begin() noexcept
1412:       { return iterator(_M_data()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return const_iterator(_M_data()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       iterator
1412:       end() noexcept
1412:       { return iterator(_M_data() + this->size()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_iterator
1412:       end() const noexcept
1412:       { return const_iterator(_M_data() + this->size()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return reverse_iterator(this->end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(this->end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return reverse_iterator(this->begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(this->begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return const_iterator(this->_M_data()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return const_iterator(this->_M_data() + this->size()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return const_reverse_iterator(this->end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_reverse_iterator
1412:       crend() const noexcept
1412:       { return const_reverse_iterator(this->begin()); }
1412: 
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412:      
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_string_length; }
1412: 
1412: 
1412: 
1412:      
1412:       size_type
1412:       length() const noexcept
1412:       { return _M_string_length; }
1412: 
1412: 
1412:      
1412:       size_type
1412:       max_size() const noexcept
1412:       { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; }
1412: # 1089 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       void
1412:       resize(size_type __n, _CharT __c);
1412: # 1103 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       void
1412:       resize(size_type __n)
1412:       { this->resize(__n, _CharT()); }
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412:      
1412:       void
1412:       shrink_to_fit() noexcept
1412:       { reserve(); }
1412: #pragma GCC diagnostic pop
1412: # 1130 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       capacity() const noexcept
1412:       {
1412:  return _M_is_local() ? size_type(_S_local_capacity)
1412:                       : _M_allocated_capacity;
1412:       }
1412: # 1155 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       void
1412:       reserve(size_type __res_arg);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       reserve();
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       clear() noexcept
1412:       { _M_set_length(0); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       bool
1412:       empty() const noexcept
1412:       { return this->size() == 0; }
1412: # 1197 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       co<std::random_access_iterator_tag, bool>
1417:   {
1417:     _Bit_type * _M_p;
1417:     unsigned int _M_offset;
1417: 
1417:    
1417:     _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
1417:     : _M_p(__x), _M_offset(__y) { }
1417: 
1417:    
1417:     void
1417:     _M_bump_up()
1417:     {
1417:       if (_M_offset++ == int(_S_word_bit) - 1)
1417:  {
1417:    _M_offset = 0;
1417:    ++_M_p;
1417:  }
1417:     }
1417: 
1417:    
1417:     void
1417:     _M_bump_down()
1417:     {
1417:       if (_M_offset-- == 0)
1417:  {
1417:    _M_offset = int(_S_word_bit) - 1;
1417:    --_M_p;
1417:  }
1417:     }
1417: 
1417:    
1417:     void
1417:     _M_incr(ptrdiff_t __i)
1417:     {
1417:       difference_type __n = __i + _M_offset;
1417:       _M_p += __n / int(_S_word_bit);
1417:       __n = __n % int(_S_word_bit);
1417:       if (__n < 0)
1417:  {
1417:    __n += int(_S_word_bit);
1417:    --_M_p;
1417:  }
1417:       _M_offset = static_cast<unsigned int>(__n);
1417:     }
1417: 
1417:     [[__nodiscard__]]
1417:     friend bool
1417:     operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1417:     { return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; }
1417: # 225 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:     [[__nodiscard__]]
1417:     friend bool
1417:     operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1417:     {
1417:       return __x._M_p < __y._M_p
1417:      || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset);
1417:     }
1417: 
1417:     [[__nodiscard__]]
1417:     friend bool
1417:     operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1417:     { return !(__x == __y); }
1417: 
1417:     [[__nodiscard__]]
1417:     friend bool
1417:     operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1417:     { return __y < __x; }
1417: 
1417:     [[__nodiscard__]]
1417:     friend bool
1417:     operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1417:     { return !(__y < __x); }
1417: 
1417:     [[__nodiscard__]]
1417:     friend bool
1417:     operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417:     friend ptrdiff_t
1417:     operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1417:     {
1417:       return (int(_S_word_bit) * (__x._M_p - __y._M_p)
1417:        + __x._M_offset - __y._M_offset);
1417:     }
1417:   };
1417: #pragma GCC diagnostic pop
1417: 
1417:   struct _Bit_iterator : public _Bit_iterator_base
1417:   {
1417:     typedef _Bit_reference reference;
1417: 
1417: 
1417: 
1417:     typedef _Bit_reference* pointer;
1417: 
1417:     typedef _Bit_iterator iterator;
1417: 
1417:    
1417:     _Bit_iterator() : _Bit_iterator_base(0, 0) { }
1417: 
1417:    
1417:     _Bit_iterator(_Bit_type * __x, unsigned int __y)
1417:     : _Bit_iterator_base(__x, __y) { }
1417: 
1417:    
1417:     iterator
1417:     _M_const_cast() const
1417:     { return *this; }
1417: 
1417:     [[__nodiscard__]]
1417:     reference
1417:     operator*() const
1417:     { return reference(_M_p, 1UL << _M_offset); }
1417: 
1417:    
1417:     iterator&
1417:     operator++()
1417:     {
1417:       _M_bump_up();
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     iterator
1417:     operator++(int)
1417:     {
1417:       iterator __tmp = *this;
1417:       _M_bump_up();
1417:       return __tmp;
1417:     }
1417: 
1417:    
1417:     iterator&
1417:     operator--()
1417:     {
1417:       _M_bump_down();
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     iterator
1417:     operator--(int)
1417:     {
1417:       iterator __tmp = *this;
1417:       _M_bump_down();
1417:       return __tmp;
1417:     }
1417: 
1417:    
1417:     iterator&
1417:     operator+=(difference_type __i)
1417:     {
1417:       _M_incr(__i);
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     iterator&
1417:     operator-=(difference_type __i)
1417:     {
1417:       *this += -__i;
1417:     _Seq>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _Tp, typename _Seq>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
609:     { return !(__x < __y); }
609: # 415 "/usr/include/c++/12/bits/stl_stack.h" 3
609:   template<typename _Tp, typename _Seq>
609:     inline
609: 
609: 
609:     typename enable_if<__is_swappable<_Seq>::value>::type
609: 
609: 
609: 
609:     swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609:   template<typename _Tp, typename _Seq, typename _Alloc>
609:     struct uses_allocator<stack<_Tp, _Seq>, _Alloc>
609:     : public uses_allocator<_Seq, _Alloc>::type { };
609: 
609: 
609: 
609: }
609: # 62 "/usr/include/c++/12/stack" 2 3
609: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
609:        
609: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
609: 
609: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
609: namespace xbmcutil
609: {
609: # 105 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
609:   template <class T> class GlobalsSingleton
609:   {
609: 
609: 
609: 
609: 
609: 
609: 
609:     template <class K> class Deleter
609:     {
609:     public:
609:       K* guarded;
609:       ~Deleter() { if (guarded) delete guarded; }
609:     };
609: # 130 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
609:     static Deleter<std::shared_ptr<T> > instance;
609: 
609: 
609: 
609: 
609:     static T* quick;
609:   public:
609: 
609: 
609: 
609: 
609: 
609:     inline static std::shared_ptr<T> getInstance()
609:     {
609:       if (!instance.guarded)
609:       {
609:         if (!quick)
609:           quick = new T;
609:         instance.guarded = new std::shared_ptr<T>(quick);
609:       }
609:       return *(instance.guarded);
609:     }
609: # 160 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
609:     inline static T* getQuick()
609:     {
609:       if (!quick)
609:         quick = new T;
609: 
609:       return quick;
609:     }
609: 
609:   };
609: 
609:   template <class T> typename GlobalsSingleton<T>::template Deleter<std::shared_ptr<T> > GlobalsSingleton<T>::instance;
609:   template <class T> T* GlobalsSingleton<T>::quick;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   class InitFlag { public: explicit InitFlag(bool& flag) { flag = true; } };
609: }
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 2
609: 
609: 
609: 
609: namespace ADDON
609: {
609: class CAddonMgr;
609: class CBinaryAddonManager;
609: class CBinaryAddonCache;
609: class CVFSAddonCache;
609: class CServiceAddonManager;
609: class CRepositoryUpdater;
609: }
609: 
609: namespace ANNOUNCEMENT
609: {
609: class CAnnouncementManager;
609: }
609: 
609: namespace MEDIA_DETECT
609: {
609: class CDetectDVDMedia;
609: }
609: 
609: namespace PVR
609: {
609: class CPVRManager;
609: }
609: 
609: namespace PLAYLIST
609: {
609: class CPlayListPlayer;
609: }
609: 
609: namespace KODI
609: {
609: namespace MESSAGING
609: {
609: class CApplicationMessenger;
609: }
609: }
609: 
609: class CAppParams;
609: template<class T>
609: class CComponentContainer;
609: class CContextMenuManager;
609: class XBPython;
609: class CDataCacheCore;
609: class IAE;
609: class IApplicationComponent;
609: class CFavouritesService;
609: class CInputManager;
609: class CFileExtensionProvider;
609: class CNetworkBase;
609: class CWinSystemBase;
609: class CRenderSystemBase;
609: class CPowerManager;
609: class CWeatherManager;
609: class CPlayerCoreFactory;
609: class CDatabaseManager;
609: class CEventLog;
609: clas   return *this;
1417:     }
1417: 
1417:     [[__nodiscard__]]
1417:     reference
1417:     operator[](difference_type __i) const
1417:     { return *(*this + __i); }
1417: 
1417:     [[__nodiscard__]]
1417:     friend iterator
1417:     operator+(const iterator& __x, difference_type __n)
1417:     {
1417:       iterator __tmp = __x;
1417:       __tmp += __n;
1417:       return __tmp;
1417:     }
1417: 
1417:     [[__nodiscard__]]
1417:     friend iterator
1417:     operator+(difference_type __n, const iterator& __x)
1417:     { return __x + __n; }
1417: 
1417:     [[__nodiscard__]]
1417:     friend iterator
1417:     operator-(const iterator& __x, difference_type __n)
1417:     {
1417:       iterator __tmp = __x;
1417:       __tmp -= __n;
1417:       return __tmp;
1417:     }
1417:   };
1417: 
1417:   struct _Bit_const_iterator : public _Bit_iterator_base
1417:   {
1417:     typedef bool reference;
1417:     typedef bool const_reference;
1417: 
1417: 
1417: 
1417:     typedef const bool* pointer;
1417: 
1417:     typedef _Bit_const_iterator const_iterator;
1417: 
1417:    
1417:     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
1417: 
1417:    
1417:     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
1417:     : _Bit_iterator_base(__x, __y) { }
1417: 
1417:    
1417:     _Bit_const_iterator(const _Bit_iterator& __x)
1417:     : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
1417: 
1417:    
1417:     _Bit_iterator
1417:     _M_const_cast() const
1417:     { return _Bit_iterator(_M_p, _M_offset); }
1417: 
1417:     [[__nodiscard__]]
1417:     const_reference
1417:     operator*() const
1417:     { return _Bit_reference(_M_p, 1UL << _M_offset); }
1417: 
1417:    
1417:     const_iterator&
1417:     operator++()
1417:     {
1417:       _M_bump_up();
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     const_iterator
1417:     operator++(int)
1417:     {
1417:       const_iterator __tmp = *this;
1417:       _M_bump_up();
1417:       return __tmp;
1417:     }
1417: 
1417:    
1417:     const_iterator&
1417:     operator--()
1417:     {
1417:       _M_bump_down();
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     const_iterator
1417:     operator--(int)
1417:     {
1417:       const_iterator __tmp = *this;
1417:       _M_bump_down();
1417:       return __tmp;
1417:     }
1417: 
1417:    
1417:     const_iterator&
1417:     operator+=(difference_type __i)
1417:     {
1417:       _M_incr(__i);
1417:       return *this;
1417:     }
1417: 
1417:    
1417:     const_iterator&
1417:     operator-=(difference_type __i)
1417:     {
1417:       *this += -__i;
1417:       return *this;
1417:     }
1417: 
1417:     [[__nodiscard__]]
1417:     const_reference
1417:     operator[](difference_type __i) const
1417:     { return *(*this + __i); }
1417: 
1417:     [[__nodiscard__]]
1417:     friend const_iterator
1417:     operator+(const const_iterator& __x, difference_type __n)
1417:     {
1417:       const_iterator __tmp = __x;
1417:       __tmp += __n;
1417:       return __tmp;
1417:     }
1417: 
1417:     [[__nodiscard__]]
1417:     friend const_iterator
1417:     operator-(const const_iterator& __x, difference_type __n)
1417:     {
1417:       const_iterator __tmp = __x;
1417:       __tmp -= __n;
1417:       return __tmp;
1417:     }
1417: 
1417:     [[__nodiscard__]]
1417:     friend const_iterator
1417:     operator+(difference_type __n, const const_iterator& __x)
1417:     { return __x + __n; }
1417:   };
1417: 
1417:   template<typename _Alloc>
1417:     struct _Bvector_base
1417:     {
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:         rebind<_Bit_type>::other _Bit_alloc_type;
1417:       typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type>
1417:  _Bit_alloc_traits;
1417:       typedef typename _Bit_alloc_traits::pointer _Bit_pointer;
1417: 
1417:       struct _Bvector_impl_data
1417:       {
1417: 
1417:  _Bit_iterator _M_start;
1417: # 502 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:  _Bit_iterator _M_finish;
1417:  _Bit_pointer _M_end_of_storage;
1417: 
1417: 
1417:  _Bvector_impl_data() noexcept
1417:  : _M_start(), _M_finish(), _M_end_of_storage()
1417:  { }
1417: 
1417: 
1417:  _Bvector_impl_data(const _Bvector_impl_data&) = default;
1417: 
1417:  _Bvector_impl_data&
1417:  operator=(const _Bvector_impl_data&) = default;
1417: 
1417: 
1417:  _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept
1417:  : _Bvector_impl_data(__x)
1417:  { __x._M_reset(); }
1417: 
1417: 
1417:  void
1417:  _M_move_data(_Bvector_impl_data&& __x) noexcept
1417:  {
1417:    *this = __x;
1417:    __x._M_reset();
1417:  }
1417: 
1417: 
1417: 
1417:  void
1417:  _M_reset() noexcept
1417:  { *this = _Bvector_impl_data(); }
1417: 
1417: 
1417:  void
1417:  _M_swap_data(_Bvector_impl_data& __x) noexcept
1417:  {
1417: 
1417: 
1417:    std::swap(*this, __x);
1417:  }
1417:       };
1417: 
1417:       struct _Bvector_impl
1417:  : public _Bit_alloc_type, public _Bvector_impl_data
1417:       {
1417: 
1417:  _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value)
1417: 
1417:  : _Bit_alloc_type()
1417:  { }
1417: 
1417: 
1417:  _Bvector_impl(const _Bit_alloc_type& __a) noexcept
1417:  : _Bit_alloc_type(__a)
1417:  { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  _Bvector_impl(_Bvector_impl&& __x) noexcept
1417:  : _Bit_alloc_type(std::move(__x)), _Bvector_impl_data(std::move(__x))
1417:  { }
1417: 
1417: 
1417:  _Bvector_impl(_Bit_alloc_type&& __a, _Bvector_impl&& __x) noexcept
1417:  : _Bit_alloc_type(std::move(__a)), _Bvector_impl_data(std::move(__x))
1417:  { }
1417: 
1417: 
1417: 
1417:  _Bit_type*
1417:  _M_end_addr() const noexcept
1417:  {
1417:    if (this->_M_end_of_storage)
1417:      return std::__addressof(this->_M_end_of_storage[-1]) + 1;
1417:    return 0;
1417:  }
1417:       };
1417: 
1417:     public:
1417:       typedef _Alloc allocator_type;
1417: 
1417:      
1417:       _Bit_alloc_type&
1417:       _M_get_Bit_allocator() noexcept
1417:       { return this->_M_impl; }
1417: 
1417:      
1417:       const _Bit_alloc_type&
1417:       _M_get_Bit_allocator() const noexcept
1417:       { return this->_M_impl; }
1417: 
1417:      
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_get_Bit_allocator()); }
1417: 
1417: 
1417:       _Bvector_base() = default;
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       _Bvector_base(const allocator_type& __a)
1417:       : _M_impl(__a) { }
1417: 
1417: 
1417:       _Bvector_base(_Bvector_base&&) = default;
1417: 
1417:      
1417:       _Bvector_base(_Bvector_base&& __x, const allocator_type& __a) noexcept
1417:       : _M_impl(_Bit_alloc_type(__a), std::move(__x._M_impl))
1417:       { }
1417: 
1417: 
1417:      
1417:       ~_Bvector_base()
1417:       { this->_M_deallocate(); }
1417: 
1417:     protected:
1417:       _Bvector_impl _M_impl;
1417: 
1417:      
1417:       _Bit_pointer
1417:       _M_allocate(size_t __n)
1417:       {
1417:  _Bit_pointer __p = _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n));
1417: # 640 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:  return __p;
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_deallocate()
1417:       {
1417:  if (_M_impl._M_start._M_p)
1417:    {
1417:      const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p;
1417:      _Bit_alloc_traits::deallocate(_M_impl,
1417:        _M_impl._M_end_of_storage - __n,
1417:        __n);
1417:      _M_impl._M_reset();
1417:    }
1417:       }
1417: 
1417: 
1417:      
1417:       void
1417:       _M_move_data(_Bvector_base&& __x) noexcept
1417:       { _M_impl._M_move_data(std::move(__x._M_impl)); }
1417: 
1417: 
1417:       constexpr
1417:       static size_t
1417:       _S_nword(size_t __n)
1417:       { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
1417:     };
1417: # 689 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:   template<typename _Alloc>
1417:     class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
1417:     {
1417:       typedef _Bvector_base<_Alloc> _Base;
1417:       typedef typename _Base::_Bnst_reference
1412:       operator[] (size_type __pos) const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1412:  return _M_data()[__pos];
1412:       }
1412: # 1215 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       reference
1412:       operator[](size_type __pos)
1412:       {
1412: 
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1412: 
1412:  ;
1412:  return _M_data()[__pos];
1412:       }
1412: # 1237 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       const_reference
1412:       at(size_type __n) const
1412:       {
1412:  if (__n >= this->size())
1412:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1412: 
1412:                             ,
1412:        __n, this->size());
1412:  return _M_data()[__n];
1412:       }
1412: # 1259 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       reference
1412:       at(size_type __n)
1412:       {
1412:  if (__n >= size())
1412:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1412: 
1412:                             ,
1412:        __n, this->size());
1412:  return _M_data()[__n];
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       reference
1412:       front() noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1412:  return operator[](0);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_reference
1412:       front() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1412:  return operator[](0);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       reference
1412:       back() noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1412:  return operator[](this->size() - 1);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       const_reference
1412:       back() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1412:  return operator[](this->size() - 1);
1412:       }
1412: # 1327 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       operator+=(const basic_string& __str)
1412:       { return this->append(__str); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       operator+=(const _CharT* __s)
1412:       { return this->append(__s); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       operator+=(_CharT __c)
1412:       {
1412:  this->push_back(__c);
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       operator+=(initializer_list<_CharT> __l)
1412:       { return this->append(__l.begin(), __l.size()); }
1412: # 1373 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  operator+=(const _Tp& __svt)
1412:  { return this->append(__svt); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       append(const basic_string& __str)
1412:       { return this->append(__str._M_data(), __str.size()); }
1412: # 1403 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       append(const basic_string& __str, size_type __pos, size_type __n = npos)
1412:       { return this->append(__str._M_data()
1412:        + __str._M_check(__pos, "basic_string::append"),
1412:        __str._M_limit(__pos, __n)); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       aps CGUIComponent;
609: class CAppInboundProtocol;
609: class CSettingsComponent;
609: class CDecoderFilterManager;
609: class CMediaManager;
609: class CCPUInfo;
609: class CLog;
609: class CPlatform;
609: class CTextureCache;
609: class CJobManager;
609: class CKeyboardLayoutManager;
609: 
609: namespace WSDiscovery
609: {
609: class IWSDiscovery;
609: }
609: 
609: namespace KODI
609: {
609: namespace ADDONS
609: {
609: class CExtsMimeSupportList;
609: }
609: 
609: namespace GAME
609: {
609: class CControllerManager;
609: class CGameServices;
609: }
609: 
609: namespace RETRO
609: {
609: class CGUIGameRenderManager;
609: }
609: }
609: 
609: namespace PERIPHERALS
609: {
609: class CPeripherals;
609: }
609: 
609: namespace speech
609: {
609: class ISpeechRecognition;
609: }
609: 
609: class CServiceBroker
609: {
609: public:
609:   CServiceBroker();
609:   ~CServiceBroker();
609: 
609:   static std::shared_ptr<CAppParams> GetAppParams();
609:   static void RegisterAppParams(const std::shared_ptr<CAppParams>& appParams);
609:   static void UnregisterAppParams();
609: 
609:   static CLog& GetLogging();
609:   static void CreateLogging();
609:   static void DestroyLogging();
609: 
609:   static std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> GetAnnouncementManager();
609:   static void RegisterAnnouncementManager(
609:       std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> announcementManager);
609:   static void UnregisterAnnouncementManager();
609: 
609:   static ADDON::CAddonMgr& GetAddonMgr();
609:   static ADDON::CBinaryAddonManager& GetBinaryAddonManager();
609:   static ADDON::CBinaryAddonCache& GetBinaryAddonCache();
609:   static KODI::ADDONS::CExtsMimeSupportList& GetExtsMimeSupportList();
609:   static ADDON::CVFSAddonCache& GetVFSAddonCache();
609:   static XBPython& GetXBPython();
609:   static WSDiscovery::IWSDiscovery& GetWSDiscovery();
609:   static MEDIA_DETECT::CDetectDVDMedia& GetDetectDVDMedia();
609:   static PVR::CPVRManager& GetPVRManager();
609:   static CContextMenuManager& GetContextMenuManager();
609:   static CDataCacheCore& GetDataCacheCore();
609:   static CPlatform& GetPlatform();
609:   static PLAYLIST::CPlayListPlayer& GetPlaylistPlayer();
609:   static KODI::GAME::CControllerManager& GetGameControllerManager();
609:   static KODI::GAME::CGameServices& GetGameServices();
609:   static KODI::RETRO::CGUIGameRenderManager& GetGameRenderManager();
609:   static PERIPHERALS::CPeripherals& GetPeripherals();
609:   static CFavouritesService& GetFavouritesService();
609:   static ADDON::CServiceAddonManager& GetServiceAddons();
609:   static ADDON::CRepositoryUpdater& GetRepositoryUpdater();
609:   static CInputManager& GetInputManager();
609:   static CFileExtensionProvider& GetFileExtensionProvider();
609:   static bool IsAddonInterfaceUp();
609:   static bool IsServiceManagerUp();
609:   static CNetworkBase& GetNetwork();
609:   static CPowerManager& GetPowerManager();
609:   static CWeatherManager& GetWeatherManager();
609:   static CPlayerCoreFactory& GetPlayerCoreFactory();
609:   static CDatabaseManager& GetDatabaseManager();
609:   static CEventLog* GetEventLog();
609:   static CMediaManager& GetMediaManager();
609:   static CComponentContainer<IApplicationComponent>& GetAppComponents();
609: 
609:   static CGUIComponent* GetGUI();
609:   static void RegisterGUI(CGUIComponent* gui);
609:   static void UnregisterGUI();
609: 
609:   static void RegisterSettingsComponent(const std::shared_ptr<CSettingsComponent>& settings);
609:   static void UnregisterSettingsComponent();
609:   static std::shared_ptr<CSettingsComponent> GetSettingsComponent();
609: 
609:   static void RegisterWinSystem(CWinSystemBase* winsystem);
609:   static void UnregisterWinSystem();
609:   static CWinSystemBase* GetWinSystem();
609:   static CRenderSystemBase* GetRenderSystem();
609: 
609:   static IAE* GetActiveAE();
609:   static void RegisterAE(IAE* ae);
609:   static void UnregisterAE();
609: 
609:   static std::shared_ptr<CAppInboundProtocol> GetAppPort();
609:   static void RegisterAppPort(std::shared_ptr<CAppit_pointer _Bit_pointer;
1417:       typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits;
1417: 
1417: 
1417:       friend struct std::hash<vector>;
1417: 
1417: 
1417:     public:
1417:       typedef bool value_type;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef _Bit_reference reference;
1417:       typedef bool const_reference;
1417:       typedef _Bit_reference* pointer;
1417:       typedef const bool* const_pointer;
1417:       typedef _Bit_iterator iterator;
1417:       typedef _Bit_const_iterator const_iterator;
1417:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1417:       typedef std::reverse_iterator<iterator> reverse_iterator;
1417:       typedef _Alloc allocator_type;
1417: 
1417:      
1417:       allocator_type
1417:       get_allocator() const
1417:       { return _Base::get_allocator(); }
1417: 
1417:     protected:
1417:       using _Base::_M_allocate;
1417:       using _Base::_M_deallocate;
1417:       using _Base::_S_nword;
1417:       using _Base::_M_get_Bit_allocator;
1417: 
1417:     public:
1417: 
1417:       vector() = default;
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       explicit
1417:       vector(const allocator_type& __a)
1417:       : _Base(__a) { }
1417: 
1417: 
1417:      
1417:       explicit
1417:       vector(size_type __n, const allocator_type& __a = allocator_type())
1417:       : vector(__n, false, __a)
1417:       { }
1417: 
1417:      
1417:       vector(size_type __n, const bool& __value,
1417:       const allocator_type& __a = allocator_type())
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       : _Base(__a)
1417:       {
1417:  _M_initialize(__n);
1417:  _M_initialize_value(__value);
1417:       }
1417: 
1417:      
1417:       vector(const vector& __x)
1417:       : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator()))
1417:       {
1417:  _M_initialize(__x.size());
1417:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1417:       }
1417: 
1417: 
1417:       vector(vector&&) = default;
1417: 
1417:     private:
1417:      
1417:       vector(vector&& __x, const allocator_type& __a, true_type) noexcept
1417:       : _Base(std::move(__x), __a)
1417:       { }
1417: 
1417:      
1417:       vector(vector&& __x, const allocator_type& __a, false_type)
1417:       : _Base(__a)
1417:       {
1417:  if (__x.get_allocator() == __a)
1417:    this->_M_move_data(std::move(__x));
1417:  else
1417:    {
1417:      _M_initialize(__x.size());
1417:      _M_copy_aligned(__x.begin(), __x.end(), begin());
1417:      __x.clear();
1417:    }
1417:       }
1417: 
1417:     public:
1417:      
1417:       vector(vector&& __x, const __type_identity_t<allocator_type>& __a)
1417:       noexcept(_Bit_alloc_traits::_S_always_equal())
1417:       : vector(std::move(__x), __a,
1417:         typename _Bit_alloc_traits::is_always_equal{})
1417:       { }
1417: 
1417:      
1417:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1417:       : _Base(__a)
1417:       {
1417:  _M_initialize(__x.size());
1417:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1417:       }
1417: 
1417:      
1417:       vector(initializer_list<bool> __l,
1417:       const allocator_type& __a = allocator_type())
1417:       : _Base(__a)
1417:       {
1417:  _M_initialize_range(__l.begin(), __l.end(),
1417:        random_access_iterator_tag());
1417:       }
1417: 
1417: 
1417: 
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:  vector(_InputIterator __first, _InputIterator __last,
1417:         const allocator_type& __a = allocator_type())
1417:  : _Base(__a)
1417:  {
1417:    _M_initialize_range(__first, __last,
1417:          std::__iterator_category(__first));
1417:  }
1417: # 838 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:      
1417:       ~vector() noexcept { }
1417: 
1417:      
1417:       vector&
1417:       operator=(const vector& __x)
1417:       {
1417:  if (&__x == this)
1417:    return *this;
1417: 
1417:  if (_Bit_alloc_traits::_S_propagate_on_copy_assign())
1417:    {
1417:      if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator())
1417:        {
1417:   this->_M_deallocate();
1417:   std::__alloc_on_copy(_M_get_Bit_allocator(),
1417:          __x._M_get_Bit_allocator());
1417:   _M_initialize(__x.size());
1417:        }
1417:      else
1417:        std::__alloc_on_copy(_M_get_Bit_allocator(),
1417:        __x._M_get_Bit_allocator());
1417:    }
1417: 
1417:  if (__x.size() > capacity())
1417:    {
1417:      this->_M_deallocate();
1417:      _M_initialize(__x.size());
1417:    }
1417:  this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1417:         begin());
1417:  return *this;
1417:       }
1417: 
1417: 
1417:      
1417:       vector&
1417:       operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
1417:       {
1417:  if (_Bit_alloc_traits::_S_propagate_on_move_assign()
1417:      || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator())
1417:    {
1417:      this->_M_deallocate();
1417:      this->_M_move_data(std::move(__x));
1417:      std::__alloc_on_move(_M_get_Bit_allocator(),
1417:      __x._M_get_Bit_allocator());
1417:    }
1417:  else
1417:    {
1417:      if (__x.size() > capacity())
1417:        {
1417:   this->_M_deallocate();
1417:   _M_initialize(__x.size());
1417:        }
1417:      this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1417:             begin());
1417:      __x.clear();
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       vector&
1417:       operator=(initializer_list<bool> __l)
1417:       {
1417:  this->assign(__l.begin(), __l.end());
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       assign(size_type __n, const bool& __x)
1417:       { _M_fill_assign(__n, __x); }
1417: 
1417: 
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:  void
1417:  assign(_InputIterator __first, _InputIterator __last)
1417:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1417: # 936 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:      
1417:       void
1417:       assign(initializer_list<bool> __l)
1417:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       begin() noexcept
1417:       { return iterator(this->_M_impl._M_start._M_p, 0); }
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       end() noexcept
1417:       { return this->_M_impl._M_finish; }
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       end() const noexcept
1417:       { return this->_M_impl._M_finish; }
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return reverse_iterator(end()); }
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return reverse_iterator(begin()); }
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return this->_M_impl._M_finish; }
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return const_reverse_iterator(endpend(const _CharT* __s, size_type __n)
1412:       {
1412:  ;
1412:  _M_check_length(size_type(0), __n, "basic_string::append");
1412:  return _M_append(__s, __n);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       append(const _CharT* __s)
1412:       {
1412:  ;
1412:  const size_type __n = traits_type::length(__s);
1412:  _M_check_length(size_type(0), __n, "basic_string::append");
1412:  return _M_append(__s, __n);
1412:       }
1412: # 1448 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       append(size_type __n, _CharT __c)
1412:       { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       append(initializer_list<_CharT> __l)
1412:       { return this->append(__l.begin(), __l.size()); }
1412: # 1474 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<class _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412: 
1412: 
1412: 
1412:         basic_string&
1412:         append(_InputIterator __first, _InputIterator __last)
1412:         { return this->replace(end(), end(), __first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Tp>
1412: 
1412:         _If_sv<_Tp, basic_string&>
1412:         append(const _Tp& __svt)
1412:         {
1412:           __sv_type __sv = __svt;
1412:           return this->append(__sv.data(), __sv.size());
1412:         }
1412: # 1506 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:         _If_sv<_Tp, basic_string&>
1412:  append(const _Tp& __svt, size_type __pos, size_type __n = npos)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return _M_append(__sv.data()
1412:        + std::__sv_check(__sv.size(), __pos, "basic_string::append"),
1412:        std::__sv_limit(__sv.size(), __pos, __n));
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       push_back(_CharT __c)
1412:       {
1412:  const size_type __size = this->size();
1412:  if (__size + 1 > this->capacity())
1412:    this->_M_mutate(__size, size_type(0), 0, size_type(1));
1412:  traits_type::assign(this->_M_data()[__size], __c);
1412:  this->_M_set_length(__size + 1);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       assign(const basic_string& __str)
1412:       {
1412: 
1412:  if (_Alloc_traits::_S_propagate_on_copy_assign())
1412:    {
1412:      if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
1412:   && _M_get_allocator() != __str._M_get_allocator())
1412:        {
1412: 
1412: 
1412:   if (__str.size() <= _S_local_capacity)
1412:     {
1412:       _M_destroy(_M_allocated_capacity);
1412:       _M_data(_M_use_local_data());
1412:       _M_set_length(0);
1412:     }
1412:   else
1412:     {
1412:       const auto __len = __str.size();
1412:       auto __alloc = __str._M_get_allocator();
1412: 
1412:       auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1);
1412:       _M_destroy(_M_allocated_capacity);
1412:       _M_data(__ptr);
1412:       _M_capacity(__len);
1412:       _M_set_length(__len);
1412:     }
1412:        }
1412:      std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
1412:    }
1412: 
1412:  this->_M_assign(__str);
1412:  return *this;
1412:       }
1412: # 1584 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       assign(basic_string&& __str)
1412:       noexcept(_Alloc_traits::_S_nothrow_move())
1412:       {
1412: 
1412: 
1412:  return *this = std::move(__str);
1412:       }
1412: # 1608 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       assign(const basic_string& __str, size_type __pos, size_type __n = npos)
1412:       { return _M_replace(size_type(0), this->size(), __str._M_data()
1412:      + __str._M_check(__pos, "basic_string::assign"),
1412:      __str._M_limit(__()); }
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       size() const noexcept
1417:       { return size_type(end() - begin()); }
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       max_size() const noexcept
1417:       {
1417:  const size_type __isize =
1417:    __gnu_cxx::__numeric_traits<difference_type>::__max
1417:    - int(_S_word_bit) + 1;
1417:  const size_type __asize
1417:    = _Bit_alloc_traits::max_size(_M_get_Bit_allocator());
1417:  return (__asize <= __isize / int(_S_word_bit)
1417:   ? __asize * int(_S_word_bit) : __isize);
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       capacity() const noexcept
1417:       { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0)
1417:     - begin()); }
1417: 
1417:       [[__nodiscard__]]
1417:       bool
1417:       empty() const noexcept
1417:       { return begin() == end(); }
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       operator[](size_type __n)
1417:       { return begin()[__n]; }
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       operator[](size_type __n) const
1417:       { return begin()[__n]; }
1417: 
1417:     protected:
1417:      
1417:       void
1417:       _M_range_check(size_type __n) const
1417:       {
1417:  if (__n >= this->size())
1417:    __throw_out_of_range_fmt(("vector<bool>::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1417: 
1417:                             ,
1417:        __n, this->size());
1417:       }
1417: 
1417:     public:
1417:      
1417:       reference
1417:       at(size_type __n)
1417:       {
1417:  _M_range_check(__n);
1417:  return (*this)[__n];
1417:       }
1417: 
1417:      
1417:       const_reference
1417:       at(size_type __n) const
1417:       {
1417:  _M_range_check(__n);
1417:  return (*this)[__n];
1417:       }
1417: 
1417:      
1417:       void
1417:       reserve(size_type __n)
1417:       {
1417:  if (__n > max_size())
1417:    __throw_length_error(("vector::reserve"));
1417:  if (capacity() < __n)
1417:    _M_reallocate(__n);
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       front()
1417:       { return *begin(); }
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       front() const
1417:       { return *begin(); }
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       back()
1417:       { return *(end() - 1); }
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       back() const
1417:       { return *(end() - 1); }
1417: 
1417:      
1417:       void
1417:       push_back(bool __x)
1417:       {
1417:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1417:    *this->_M_impl._M_finish++ = __x;
1417:  else
1417:    _M_insert_aux(end(), __x);
1417:       }
1417: 
1417:      
1417:       void
1417:       swap(vector& __x) noexcept
1417:       {
1417: 
1417:  do { if (std::__is_constant_evaluated() && !bool(_Bit_alloc_traits::propagate_on_container_swap::value || _M_get_Bit_allocator() == __x._M_get_Bit_allocator())) __builtin_unreachable(); } while (false)
1417:                                                             ;
1417: 
1417:  this->_M_impl._M_swap_data(__x._M_impl);
1417:  _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(),
1417:           __x._M_get_Bit_allocator());
1417:       }
1417: 
1417: 
1417:      
1417:       static void
1417:       swap(reference __x, reference __y) noexcept
1417:       {
1417:  bool __tmp = __x;
1417:  __x = __y;
1417:  __y = __tmp;
1417:       }
1417: 
1417:      
1417:       iterator
1417: 
1417:       insert(const_iterator __position, const bool& __x)
1417: 
1417: 
1417: 
1417:       {
1417:  const difference_type __n = __position - begin();
1417:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()
1417:      && __posInboundProtocol> port);
609:   static void UnregisterAppPort();
609: 
609:   static void RegisterDecoderFilterManager(CDecoderFilterManager* manager);
609:   static CDecoderFilterManager* GetDecoderFilterManager();
609: 
609:   static std::shared_ptr<CCPUInfo> GetCPUInfo();
609:   static void RegisterCPUInfo(std::shared_ptr<CCPUInfo> cpuInfo);
609:   static void UnregisterCPUInfo();
609: 
609:   static void RegisterTextureCache(const std::shared_ptr<CTextureCache>& cache);
609:   static void UnregisterTextureCache();
609:   static std::shared_ptr<CTextureCache> GetTextureCache();
609: 
609:   static void RegisterJobManager(const std::shared_ptr<CJobManager>& jobManager);
609:   static void UnregisterJobManager();
609:   static std::shared_ptr<CJobManager> GetJobManager();
609: 
609:   static void RegisterAppMessenger(
609:       const std::shared_ptr<KODI::MESSAGING::CApplicationMessenger>& appMessenger);
609:   static void UnregisterAppMessenger();
609:   static std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> GetAppMessenger();
609: 
609:   static void RegisterKeyboardLayoutManager(
609:       const std::shared_ptr<CKeyboardLayoutManager>& keyboardLayoutManager);
609:   static void UnregisterKeyboardLayoutManager();
609:   static std::shared_ptr<CKeyboardLayoutManager> GetKeyboardLayoutManager();
609: 
609:   static void RegisterSpeechRecognition(
609:       const std::shared_ptr<speech::ISpeechRecognition>& speechRecognition);
609:   static void UnregisterSpeechRecognition();
609:   static std::shared_ptr<speech::ISpeechRecognition> GetSpeechRecognition();
609: 
609: private:
609:   std::shared_ptr<CAppParams> m_appParams;
609:   std::unique_ptr<CLog> m_logging;
609:   std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> m_pAnnouncementManager;
609:   CGUIComponent* m_pGUI;
609:   CWinSystemBase* m_pWinSystem;
609:   IAE* m_pActiveAE;
609:   std::shared_ptr<CAppInboundProtocol> m_pAppPort;
609:   std::shared_ptr<CSettingsComponent> m_pSettingsComponent;
609:   CDecoderFilterManager* m_decoderFilterManager;
609:   std::shared_ptr<CCPUInfo> m_cpuInfo;
609:   std::shared_ptr<CTextureCache> m_textureCache;
609:   std::shared_ptr<CJobManager> m_jobManager;
609:   std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> m_appMessenger;
609:   std::shared_ptr<CKeyboardLayoutManager> m_keyboardLayoutManager;
609:   std::shared_ptr<speech::ISpeechRecognition> m_speechRecognition;
609: };
609: 
609: static std::shared_ptr<CServiceBroker> g_serviceBrokerRef(xbmcutil::GlobalsSingleton<CServiceBroker>::getInstance());
609: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h"
609:        
609: 
609: enum class HDR_STATUS
609: {
609:   HDR_TOGGLE_FAILED = -1,
609:   HDR_UNSUPPORTED = 0,
609:   HDR_OFF = 1,
609:   HDR_ON = 2
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
609:        
609: 
609: 
609: 
609: 
609: namespace KODI
609: {
609: namespace WINDOWING
609: {
609: 
609: class COSScreenSaverManager;
609: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
609: class COSScreenSaverInhibitor
609: {
609: public:
609:   COSScreenSaverInhibitor() noexcept;
609:   COSScreenSaverInhibitor(COSScreenSaverInhibitor&& other) noexcept;
609:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor&& other) noexcept;
609:   ~COSScreenSaverInhibitor() noexcept;
609:   void Release();
609:   bool IsActive() const;
609:   operator bool() const;
609: 
609: private:
609:   friend class COSScreenSaverManager;
609:   explicit COSScreenSaverInhibitor(COSScreenSaverManager* manager);
609:   bool m_active;
609:   COSScreenSaverManpos, __n)); }
1412: # 1625 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       assign(const _CharT* __s, size_type __n)
1412:       {
1412:  ;
1412:  return _M_replace(size_type(0), this->size(), __s, __n);
1412:       }
1412: # 1642 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       assign(const _CharT* __s)
1412:       {
1412:  ;
1412:  return _M_replace(size_type(0), this->size(), __s,
1412:      traits_type::length(__s));
1412:       }
1412: # 1660 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       assign(size_type __n, _CharT __c)
1412:       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
1412: # 1674 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<class _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412: 
1412: 
1412: 
1412:         basic_string&
1412:         assign(_InputIterator __first, _InputIterator __last)
1412:         { return this->replace(begin(), end(), __first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       basic_string&
1412:       assign(initializer_list<_CharT> __l)
1412:       { return this->assign(__l.begin(), __l.size()); }
1412: # 1702 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  assign(const _Tp& __svt)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->assign(__sv.data(), __sv.size());
1412:  }
1412: # 1718 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return _M_replace(size_type(0), this->size(),
1412:        __sv.data()
1412:        + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
1412:        std::__sv_limit(__sv.size(), __pos, __n));
1412:  }
1412: # 1747 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       iterator
1412:       insert(const_iterator __p, size_type __n, _CharT __c)
1412:       {
1412:  ;
1412:  const size_type __pos = __p - begin();
1412:  this->replace(__p, __p, __n, __c);
1412:  return iterator(this->_M_data() + __pos);
1412:       }
1412: # 1790 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<class _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:  iterator
1412:         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
1412:         {
1412:    ;
1412:    const size_type __pos = __p - begin();
1412:    this->replace(__p, __p, __beg, __end);
1412:    return iterator(this->_M_data() + __pos);
1412:  }
1412: # 1827 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       iterator
1412:       insert(const_iterator __p, initializer_list<_CharT> __l)
1412:       { return this->insert(__p, __l.begin(), __l.end()); }
1412: # 1855 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       insert(size_type __pos1, const basic_string& __str)
1412:       { return this->replace(__pos1, size_type(0),
1412:         __str._M_data(), __str.size()); }
1412: # 1879 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       insert(size_type __pos1, const basic_string& __str,
1412:       size_type __pos2, size_type __n = npos)
1412:       { return this->replace(__pos1, size_type(0), __str._M_data()
1412:         + __str._M_check(__pos2, "basic_string::insert"),
1412:         __str._M_limit(__pos2, __n)); }
1412: # 1903 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       insert(size_type __pos, const _CharT* __s, size_type __n)
1412:       { return this->replace(__pos, size_type(0), __s, __n); }
1412: # 1923 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       insert(size_type __pos, const _CharT* __ition == end())
1417:    *this->_M_impl._M_finish++ = __x;
1417:  else
1417:    _M_insert_aux(__position._M_const_cast(), __x);
1417:  return begin() + __n;
1417:       }
1417: 
1417: 
1417:       __attribute__ ((__deprecated__ ("use '" "insert(position, false)" "' instead")))
1417:       iterator
1417:       insert(const_iterator __position)
1417:       { return this->insert(__position._M_const_cast(), false); }
1417: 
1417: 
1417: 
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417: 
1417:  iterator
1417:  insert(const_iterator __position,
1417:         _InputIterator __first, _InputIterator __last)
1417:  {
1417:    difference_type __offset = __position - cbegin();
1417:    _M_insert_range(__position._M_const_cast(),
1417:      __first, __last,
1417:      std::__iterator_category(__first));
1417:    return begin() + __offset;
1417:  }
1417: # 1186 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:      
1417:       iterator
1417:       insert(const_iterator __position, size_type __n, const bool& __x)
1417:       {
1417:  difference_type __offset = __position - cbegin();
1417:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1417:  return begin() + __offset;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       iterator
1417:       insert(const_iterator __p, initializer_list<bool> __l)
1417:       { return this->insert(__p, __l.begin(), __l.end()); }
1417: 
1417: 
1417:      
1417:       void
1417:       pop_back()
1417:       { --this->_M_impl._M_finish; }
1417: 
1417:      
1417:       iterator
1417: 
1417:       erase(const_iterator __position)
1417: 
1417: 
1417: 
1417:       { return _M_erase(__position._M_const_cast()); }
1417: 
1417:      
1417:       iterator
1417: 
1417:       erase(const_iterator __first, const_iterator __last)
1417: 
1417: 
1417: 
1417:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1417: 
1417:      
1417:       void
1417:       resize(size_type __new_size, bool __x = bool())
1417:       {
1417:  if (__new_size < size())
1417:    _M_erase_at_end(begin() + difference_type(__new_size));
1417:  else
1417:    insert(end(), __new_size - size(), __x);
1417:       }
1417: 
1417: 
1417:      
1417:       void
1417:       shrink_to_fit()
1417:       { _M_shrink_to_fit(); }
1417: 
1417: 
1417:      
1417:       void
1417:       flip() noexcept
1417:       {
1417:  _Bit_type * const __end = this->_M_impl._M_end_addr();
1417:  for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p)
1417:    *__p = ~*__p;
1417:       }
1417: 
1417:      
1417:       void
1417:       clear() noexcept
1417:       { _M_erase_at_end(begin()); }
1417: 
1417: 
1417:       template<typename... _Args>
1417: 
1417: 
1417:  reference
1417: 
1417: 
1417: 
1417:  emplace_back(_Args&&... __args)
1417:  {
1417:    push_back(bool(__args...));
1417: 
1417:    return back();
1417: 
1417:  }
1417: 
1417:       template<typename... _Args>
1417: 
1417:  iterator
1417:  emplace(const_iterator __pos, _Args&&... __args)
1417:  { return insert(__pos, bool(__args...)); }
1417: 
1417: 
1417:     protected:
1417: 
1417:      
1417:       iterator
1417:       _M_copy_aligned(const_iterator __first, const_iterator __last,
1417:         iterator __result)
1417:       {
1417:  _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
1417:  return std::copy(const_iterator(__last._M_p, 0), __last,
1417:     iterator(__q, 0));
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_initialize(size_type __n)
1417:       {
1417:  if (__n)
1417:    {
1417:      _Bit_pointer __q = this->_M_allocate(__n);
1417:      this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1417:      iterator __start = iterator(std::__addressof(*__q), 0);
1417:      this->_M_impl._M_start = __start;
1417:      this->_M_impl._M_finish = __start + difference_type(__n);
1417:    }
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_initialize_value(bool __x) noexcept
1417:       {
1417:  if (_Bit_type* __p = this->_M_impl._M_start._M_p)
1417:    __fill_bvector_n(__p, this->_M_impl._M_end_addr() - __p, __x);
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_reallocate(size_type __n);
1417: 
1417: 
1417:      
1417:       bool
1417:       _M_shrink_to_fit();
1417: # 1347 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_initialize_range(_InputIterator __first, _InputIterator __last,
1417:        std::input_iterator_tag)
1417:  {
1417:    for (; __first != __last; ++__first)
1417:      push_back(*__first);
1417:  }
1417: 
1417:       template<typename _ForwardIterator>
1417: 
1417:  void
1417:  _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
1417:        std::forward_iterator_tag)
1417:  {
1417:    const size_type __n = std::distance(__first, __last);
1417:    _M_initialize(__n);
1417:    std::copy(__first, __last, begin());
1417:  }
1417: # 1383 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:      
1417:       void
1417:       _M_fill_assign(size_t __n, bool __x)
1417:       {
1417:  if (__n > size())
1417:    {
1417:      _M_initialize_value(__x);
1417:      insert(end(), __n - size(), __x);
1417:    }
1417:  else
1417:    {
1417:      _M_erase_at_end(begin() + __n);
1417:      _M_initialize_value(__x);
1417:    }
1417:       }
1417: 
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1417:         std::input_iterator_tag)
1417:  {
1417:    iterator __cur = begin();
1417:    for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1417:      *__cur = *__first;
1417:    if (__first == __last)
1417:      _M_erase_at_end(__cur);
1417:    else
1417:      insert(end(), __first, __last);
1417:  }
1417: 
1417:       template<typename _ForwardIterator>
1417: 
1417:  void
1417:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1417:         std::forward_iterator_tag)
1417:  {
1417:    const size_type __len = std::distance(__first, __last);
1417:    if (__len < size())
1417:      _M_erase_at_end(std::copy(__first, __last, begin()));
1417:    else
1417:      {
1417:        _ForwardIterator __mid = __first;
1417:        std::advance(__mid, size());
1417:        std::copy(__first, __mid, begin());
1417:        insert(end(), __mid, __last);
1417:      }
1417:  }
1417: # 1450 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:      
1417:       void
1417:       _M_fill_insert(iterator __position, size_type __n, bool __x);
1417: 
1417:       template<typename _InputIterator>
1417: 
1417:  void
1417:  _M_insert_range(iterator __pos, _InputIterator __first,
1417:    _InputIterator __last, std::input_iterator_tag)
1417:  {
1417:    for (; __first != __last; ++__first)
1417:      {
1417:        __pos = insert(__pos, *__first);
1417:        ++__pos;
1417:      }
1417:  }
1417: 
1417:       template<typename _ForwardIterator>
1417: 
1417:  void
1417:  _M_insert_range(iterator __position, _ForwardIterator __first,
1417:    _ForwardIterator __last, std::forward_iterator_tag);
1417: 
1417:      
1417:       void
1417:       _M_insert_aux(iterator __position, bool __x);
1417: 
1417:      
1417:       size_type
1417:       _M_check_len(size_type __n, const char* __s) const
1417:       {
1417:  if (max_size() - size() < __n)
1417:    __throw_length_error((__s));
1417: 
1417:  const size_type __len = size() + std::max(size(), __n);
1417:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1417:       }
1417: 
1417:      
1417:       void
1417:       _M_erase_at_end(iterator __pos)
1417:       { this->_M_impl._M_finish = __pos; }
1417: 
1417:      
1417:       iterator
1417:       _M_erase(iterator __pos);
1417: 
1417:      
1417:       iterator
1417:       _M_erase(iterator __first, iterator __last);
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void data() = delete;
1417: 
1417: 
1417: 
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:  
1417:   inline void
1417:   __fill_bvector(_Bit_ager* m_manager;
609: 
609:   COSScreenSaverInhibitor(COSScreenSaverInhibitor const& other) = delete;
609:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor const& other) = delete;
609: };
609: 
609: 
609: 
609: 
609: class IOSScreenSaver
609: {
609: public:
609:   virtual ~IOSScreenSaver() = default;
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual void Inhibit() = 0;
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual void Uninhibit() = 0;
609: };
609: 
609: 
609: 
609: 
609: class CDummyOSScreenSaver : public IOSScreenSaver
609: {
609: public:
609:   void Inhibit() override {}
609:   void Uninhibit() override {}
609: };
609: # 92 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
609: class COSScreenSaverManager
609: {
609: public:
609: 
609: 
609: 
609:   explicit COSScreenSaverManager(std::unique_ptr<IOSScreenSaver> impl);
609: 
609: 
609: 
609: 
609:   COSScreenSaverInhibitor CreateInhibitor();
609: 
609: 
609: 
609:   bool IsInhibited();
609: 
609: private:
609:   friend class COSScreenSaverInhibitor;
609:   void RemoveInhibitor();
609: 
609:   unsigned int m_inhibitionCount{0u};
609:   std::unique_ptr<IOSScreenSaver> m_impl;
609: };
609: 
609: }
609: }
609: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
609:        
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/chrono" 1 3
609: # 33 "/usr/include/c++/12/chrono" 3
609:        
609: # 34 "/usr/include/c++/12/chrono" 3
609: # 45 "/usr/include/c++/12/chrono" 3
609: 
609: # 45 "/usr/include/c++/12/chrono" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 62 "/usr/include/c++/12/chrono" 3
609:   namespace chrono
609:   {
609: # 2058 "/usr/include/c++/12/chrono" 3
609:   }
609: # 2181 "/usr/include/c++/12/chrono" 3
609: 
609: }
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
609: # 1 "/usr/include/c++/12/condition_variable" 1 3
609: # 32 "/usr/include/c++/12/condition_variable" 3
609:        
609: # 33 "/usr/include/c++/12/condition_variable" 3
609: # 51 "/usr/include/c++/12/condition_variable" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 64 "/usr/include/c++/12/condition_variable" 3
609:   enum class cv_status { no_timeout, timeout };
609: 
609: 
609:   class condition_variable
609:   {
609:     using steady_clock = chrono::steady_clock;
609:     using system_clock = chrono::system_clock;
609: 
609:     using __clock_t = steady_clock;
609: 
609: 
609: 
609: 
609:     __condvar _M_cond;
609: 
609:   public:
609:     typedef __gthread_cond_t* native_handle_type;
609: 
609:     condition_variable() noexcept;
609:     ~condition_variable() noexcept;
609: 
609:     condition_variable(const condition_variable&) = delete;
609:     condition_variable& operator=(const condition_variable&) = delete;
609: 
609:     void
609:     notify_one() noexcept;
609: 
609:     void
609:     notify_all() noexcept;
609: 
609:     void
609:     wait(unique_lock<mutex>& __lock);
609: 
609:     template<typename _Predicate>
609:       void
609:       wait(unique_lock<mutex>& __lock, _Predicate __p)
609:       {
609:  while (!__p())
609:    wait(__lock);
609:       }
609: 
609: 
609:     template<typename _Duration>
609:       cv_status
609:       wait_until(unique_lock<mutex>& __lock,
609:    const chrono::time_point<steady_clock, _Duration>& __atime)
609:       { return __wait_until_impl(__lock, __atime); }
609: 
609: 
609:     template<typename _Duration>
609:       cv_status
609:       wait_until(unique_lock<mutex>& __lock,
609:    const chrono::time_point<system_clock, _Duration>& _s)
1412:       {
1412:  ;
1412:  return this->replace(__pos, size_type(0), __s,
1412:         traits_type::length(__s));
1412:       }
1412: # 1948 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       insert(size_type __pos, size_type __n, _CharT __c)
1412:       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
1412:          size_type(0), __n, __c); }
1412: # 1967 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       iterator
1412:       insert(__const_iterator __p, _CharT __c)
1412:       {
1412:  ;
1412:  const size_type __pos = __p - begin();
1412:  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
1412:  return iterator(_M_data() + __pos);
1412:       }
1412: # 1984 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  insert(size_type __pos, const _Tp& __svt)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->insert(__pos, __sv.data(), __sv.size());
1412:  }
1412: # 2001 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  insert(size_type __pos1, const _Tp& __svt,
1412:         size_type __pos2, size_type __n = npos)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->replace(__pos1, size_type(0),
1412:        __sv.data()
1412:        + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
1412:        std::__sv_limit(__sv.size(), __pos2, __n));
1412:  }
1412: # 2030 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       erase(size_type __pos = 0, size_type __n = npos)
1412:       {
1412:  _M_check(__pos, "basic_string::erase");
1412:  if (__n == npos)
1412:    this->_M_set_length(__pos);
1412:  else if (__n != 0)
1412:    this->_M_erase(__pos, _M_limit(__pos, __n));
1412:  return *this;
1412:       }
1412: # 2050 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       iterator
1412:       erase(__const_iterator __position)
1412:       {
1412: 
1412:                            ;
1412:  const size_type __pos = __position - begin();
1412:  this->_M_erase(__pos, size_type(1));
1412:  return iterator(_M_data() + __pos);
1412:       }
1412: # 2070 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       iterator
1412:       erase(__const_iterator __first, __const_iterator __last)
1412:       {
1412: 
1412:                         ;
1412:         const size_type __pos = __first - begin();
1412:  if (__last == end())
1412:    this->_M_set_length(__pos);
1412:  else
1412:    this->_M_erase(__pos, __last - __first);
1412:  return iterator(this->_M_data() + __pos);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       pop_back() noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1412:  _M_erase(size() - 1, 1);
1412:       }
1412: # 2116 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(size_type __pos, size_type __n, const basic_string& __str)
1412:       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
1412: # 2139 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(size_type __pos1, size_type __n1, const basic_string& __str,
1412:        size_type __pos2, size_type __n2 = npos)
1412:       { return this->replace(__pos1, __n1, __str._M_data()
1412:         + __str._M_check(__pos2, "basic_string::replace"),
1412:         __str._M_limit(__pos2, __n2)); }
1412: # 2165 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(size_type __pos, size_type __n1, const _CharT* __s,
1412:        size_type __n2)
1412:       {
1412:  ;
1412:  return _M_replace(_M_check(__pos, "basic_string::replace"),
1412:      _M_limit(__pos, __n1), __s, __n2);
1412:       }
1412: # 2191 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
14type* __v, unsigned int __first, unsigned int __last,
1417:    bool __x) noexcept
1417:   {
1417:     const _Bit_type __fmask = ~0ul << __first;
1417:     const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last);
1417:     const _Bit_type __mask = __fmask & __lmask;
1417: 
1417:     if (__x)
1417:       *__v |= __mask;
1417:     else
1417:       *__v &= ~__mask;
1417:   }
1417: 
1417: 
1417:   __attribute__((__nonnull__))
1417:  
1417:   inline void
1417:   __fill_bvector_n(_Bit_type* __p, size_t __n, bool __x) noexcept
1417:   {
1417: # 1546 "/usr/include/c++/12/bits/stl_bvector.h" 3
1417:     __builtin_memset(__p, __x ? ~0 : 0, __n * sizeof(_Bit_type));
1417:   }
1417: 
1417: 
1417:  
1417:   inline void
1417:   __fill_a1(std::_Bit_iterator __first,
1417:      std::_Bit_iterator __last, const bool& __x)
1417:   {
1417:     if (__first._M_p != __last._M_p)
1417:       {
1417:  _Bit_type* __first_p = __first._M_p;
1417:  if (__first._M_offset != 0)
1417:    __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x);
1417: 
1417:  __fill_bvector_n(__first_p, __last._M_p - __first_p, __x);
1417: 
1417:  if (__last._M_offset != 0)
1417:    __fill_bvector(__last._M_p, 0, __last._M_offset, __x);
1417:       }
1417:     else if (__first._M_offset != __last._M_offset)
1417:       __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Alloc>
1417:     struct hash<std::vector<bool, _Alloc>>
1417:     : public __hash_base<size_t, std::vector<bool, _Alloc>>
1417:     {
1417:       size_t
1417:       operator()(const std::vector<bool, _Alloc>&) const noexcept;
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 66 "/usr/include/c++/12/vector" 2 3
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/vector.tcc" 1 3
1417: # 59 "/usr/include/c++/12/bits/vector.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     void
1417:     vector<_Tp, _Alloc>::
1417:     reserve(size_type __n)
1417:     {
1417:       if (__n > this->max_size())
1417:  __throw_length_error(("vector::reserve"));
1417:       if (this->capacity() < __n)
1417:  {
1417:    const size_type __old_size = size();
1417:    pointer __tmp;
1417: 
1417:    if constexpr (_S_use_relocate())
1417:      {
1417:        __tmp = this->_M_allocate(__n);
1417:        _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:      __tmp, _M_get_Tp_allocator());
1417:      }
1417:    else
1417: 
1417:      {
1417:        __tmp = _M_allocate_and_copy(__n,
1417:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_start),
1417:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish));
1417:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:        _M_get_Tp_allocator());
1417:      }
1417:    ;
1417:    _M_deallocate(this->_M_impl._M_start,
1417:    this->_M_impl._M_end_of_storage
1417:    - this->_M_impl._M_start);
1417:    this->_M_impl._M_start = __tmp;
1417:    this->_M_impl._M_finish = __tmp + __old_size;
1417:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename... _Args>
1417: 
1417:      
1417:       typename vector<_Tp, _Alloc>::reference
1417: 
1417: 
1417: 
1417:       vector<_Tp, _Alloc>::
1417:       emplace_back(_Args&&... __args)
1417:       {
1417:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1417:    {
1417:      ;
1417:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1417:          std::forward<_Args>(__args)...);
1417:      ++this->_M_impl._M_finish;
1417:      ;
1417:    }
1417:  else
1417:    _M_realloc_insert(end(), std::forward<_Args>(__args)...);
1417: 
1417:  return back();
1417: 
1417:       }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     typename vector<_Tp, _Alloc>::iterator
1417:     vector<_Tp, _Alloc>::
1417: 
1417:     insert(const_iterator __position, const value_type& __x)
1417: 
1417: 
1417: 
1417:     {
1417:       const size_type __n = __position - begin();
1417:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1417:  if (__position == end())
1417:    {
1417:      ;
1417:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1417:          __x);
1417:      ++this->_M_impl._M_finish;
1417:      ;
1417:    }
1417:  else
1417:    {
1417: 
1417:      const auto __pos = begin() + (__position - cbegin());
1417: 
1417: 
1417:      _Temporary_value __x_copy(this, __x);
1417:      _M_insert_aux(__pos, std::move(__x_copy._M_val()));
1417: 
1417: 
1417: 
1417:    }
1417:       else
1417: 
1417:  _M_realloc_insert(begin() + (__position - cbegin()), __x);
1417: 
1417: 
1417: 
1417: 
1417:       return iterator(this->_M_impl._M_start + __n);
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     typename vector<_Tp, _Alloc>::iterator
1417:     vector<_Tp, _Alloc>::
1417:     _M_erase(iterator __position)
1417:     {
1417:       if (__position + 1 != end())
1417:  std::move(__position + 1, end(), __position);
1417:       --this->_M_impl._M_finish;
1417:       _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1417:       ;
1417:       return __position;
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     typename vector<_Tp, _Alloc>::iterator
1417:     vector<_Tp, _Alloc>::
1417:     _M_erase(iterator __first, iterator __last)
1417:     {
1417:       if (__first != __last)
1417:  {
1417:    if (__last != end())
1417:      std::move(__last, end(), __first);
1417:    _M_erase_at_end(__first.base() + (end() - __last));
1417:  }
1417:       return __first;
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     vector<_Tp, _Alloc>&
1417:     vector<_Tp, _Alloc>::
1417:     operator=(const vector<_Tp, _Alloc>& __x)
1417:     {
1417:       if (std::__addressof(__x) != this)
1417:  {
1417:    ;
1417: 
1417:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1417:      {
1417:        if (!_Alloc_traits::_S_always_equal()
1417:            && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1417:          {
1417: 
1417:     this->clear();
1417:     _M_deallocate(this->_M_impl._M_start,
1417:     this->_M_impl._M_end_of_storage
1417:     - this->_M_impl._M_start);
1417:     this->_M_impl._M_start = nullptr;
1417:     this->_M_impl._M_finish = nullptr;
1417:     this->_M_impl._M_end_of_storage = nullptr;
1417:   }
1417:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1417:        __x._M_get_Tp_allocator());
1417:      }
1417: 
1417:    const size_type __xlen = __x.size();
1417:    if (__xlen > capacity())
1417:      {
1417:        pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
1417:          __x.end());
1417:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:        _M_get_Tp_allocator());
1417:        _M_deallocate(this->_M_impl._M_start,
1417:        this->_M_impl._M_end_of_storage
1417:        - this->_M_impl._M_start);
1417:        this->_M_impl._M_start = __tmp;
1417:        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
1417:      }
1417:    else if (size() >= __xlen)
1417:      {
1417:        std::_Destroy(std::copy(__x.begin(), __x.end(), begin()),
1417:        end(), _M_get_Tp_allocator());
1417:      }
1417:    else
1417:      {
1417:        std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
1417:    this->_M_impl._M_start);
1417:        std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
1417:        __x._M_impl._M_finish,
1417:        this->_M_impl._M_finish,
1417:        _M_get_Tp_allocator());
1417:      }
1417:    this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     void
1417:     vector<_Tp, _Alloc>::
1417:     _M_fill_assign(size_t __n, const value_type& __val)
1417:     {
14_atime)
609:       { return __wait_until_impl(__lock, __atime); }
609: 
609:     template<typename _Clock, typename _Duration>
609:       cv_status
609:       wait_until(unique_lock<mutex>& __lock,
609:    const chrono::time_point<_Clock, _Duration>& __atime)
609:       {
609: 
609: 
609: 
609:  using __s_dur = typename __clock_t::duration;
609:  const typename _Clock::time_point __c_entry = _Clock::now();
609:  const __clock_t::time_point __s_entry = __clock_t::now();
609:  const auto __delta = __atime - __c_entry;
609:  const auto __s_atime = __s_entry +
609:    chrono::__detail::ceil<__s_dur>(__delta);
609: 
609:  if (__wait_until_impl(__lock, __s_atime) == cv_status::no_timeout)
609:    return cv_status::no_timeout;
609: 
609: 
609: 
609:  if (_Clock::now() < __atime)
609:    return cv_status::no_timeout;
609:  return cv_status::timeout;
609:       }
609: 
609:     template<typename _Clock, typename _Duration, typename _Predicate>
609:       bool
609:       wait_until(unique_lock<mutex>& __lock,
609:    const chrono::time_point<_Clock, _Duration>& __atime,
609:    _Predicate __p)
609:       {
609:  while (!__p())
609:    if (wait_until(__lock, __atime) == cv_status::timeout)
609:      return __p();
609:  return true;
609:       }
609: 
609:     template<typename _Rep, typename _Period>
609:       cv_status
609:       wait_for(unique_lock<mutex>& __lock,
609:         const chrono::duration<_Rep, _Period>& __rtime)
609:       {
609:  using __dur = typename steady_clock::duration;
609:  return wait_until(__lock,
609:      steady_clock::now() +
609:      chrono::__detail::ceil<__dur>(__rtime));
609:       }
609: 
609:     template<typename _Rep, typename _Period, typename _Predicate>
609:       bool
609:       wait_for(unique_lock<mutex>& __lock,
609:         const chrono::duration<_Rep, _Period>& __rtime,
609:         _Predicate __p)
609:       {
609:  using __dur = typename steady_clock::duration;
609:  return wait_until(__lock,
609:      steady_clock::now() +
609:      chrono::__detail::ceil<__dur>(__rtime),
609:      std::move(__p));
609:       }
609: 
609:     native_handle_type
609:     native_handle()
609:     { return _M_cond.native_handle(); }
609: 
609:   private:
609: 
609:     template<typename _Dur>
609:       cv_status
609:       __wait_until_impl(unique_lock<mutex>& __lock,
609:    const chrono::time_point<steady_clock, _Dur>& __atime)
609:       {
609:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
609:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
609: 
609:  __gthread_time_t __ts =
609:    {
609:      static_cast<std::time_t>(__s.time_since_epoch().count()),
609:      static_cast<long>(__ns.count())
609:    };
609: 
609:  _M_cond.wait_until(*__lock.mutex(), 1, __ts);
609: 
609:  return (steady_clock::now() < __atime
609:   ? cv_status::no_timeout : cv_status::timeout);
609:       }
609: 
609: 
609:     template<typename _Dur>
609:       cv_status
609:       __wait_until_impl(unique_lock<mutex>& __lock,
609:    const chrono::time_point<system_clock, _Dur>& __atime)
609:       {
609:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
609:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
609: 
609:  __gthread_time_t __ts =
609:    {
609:      static_cast<std::time_t>(__s.time_since_epoch().count()),
609:      static_cast<long>(__ns.count())
609:    };
609: 
609:  _M_cond.wait_until(*__lock.mutex(), __ts);
609: 
609:  return (system_clock::now() < __atime
609:   ? cv_status::no_timeout : cv_status::timeout);
609:       }
609:   };
609: 
609:   void
609:   notify_all_at_thread_exit(condition_variable&, unique_lock<mutex>);
609: 
609:   struct __at_thread_exit_elt
609:   {
609:     __at_thread_exit_elt* _M_next;
609:     void (*_M_cb)(void*);
609:   };
609: 
609:   inline namespace _V2 {
609: 
609: 
609: 
609:   class condition_variable_any
609:   {
609: 
609:     using __clock_t = chrono::steady_clock;
609: 
609: 
609: 
609:     condition_variable _M_cond;
609:     shared_ptr<mutex> _M_mutex;
609: 
609: 
609:     template<typename _12:       basic_string&
1412:       replace(size_type __pos, size_type __n1, const _CharT* __s)
1412:       {
1412:  ;
1412:  return this->replace(__pos, __n1, __s, traits_type::length(__s));
1412:       }
1412: # 2216 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
1412:       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
1412:          _M_limit(__pos, __n1), __n2, __c); }
1412: # 2235 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2,
1412:        const basic_string& __str)
1412:       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
1412: # 2256 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2,
1412:        const _CharT* __s, size_type __n)
1412:       {
1412: 
1412:                       ;
1412:  return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
1412:       }
1412: # 2279 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
1412:       {
1412:  ;
1412:  return this->replace(__i1, __i2, __s, traits_type::length(__s));
1412:       }
1412: # 2301 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
1412:        _CharT __c)
1412:       {
1412: 
1412:                       ;
1412:  return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
1412:       }
1412: # 2327 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<class _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:         basic_string&
1412:         replace(const_iterator __i1, const_iterator __i2,
1412:   _InputIterator __k1, _InputIterator __k2)
1412:         {
1412:   
1412:                         ;
1412:    ;
1412:    return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
1412:         std::__false_type());
1412:  }
1412: # 2360 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2,
1412:        _CharT* __k1, _CharT* __k2)
1412:       {
1412: 
1412:                       ;
1412:  ;
1412:  return this->replace(__i1 - begin(), __i2 - __i1,
1412:         __k1, __k2 - __k1);
1412:       }
1412: 
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2,
1412:        const _CharT* __k1, const _CharT* __k2)
1412:       {
1412: 
1412:                       ;
1412:  ;
1412:  return this->replace(__i1 - begin(), __i2 - __i1,
1412:         __k1, __k2 - __k1);
1412:       }
1412: 
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2,
1412:        iterator __k1, iterator __k2)
1412:       {
1412: 
1412:                       ;
1412:  ;
1412:  return this->replace(__i1 - begin(), __i2 - __i1,
1412:         __k1.base(), __k2 - __k1);
1412:       }
1412: 
1412:      
1412:       basic_string&
1412:       replace(__const_iterator __i1, __const_iterator __i2,
1412:        const_iterator __k1, const_iterator __k2)
1412:       {
1412: 
1412:                       ;
1412:  ;
1412:  return this->replace(__i1 - begin(), __i2 - __i1,
1412:         __k1.base(), __k2 - __k1);
1412:       }
1412: # 2423 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string& replace(const_iterator __i1, const_iterator __i2,
1412:        initializer_list<_CharT> __l)
1412:       { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
1412: # 2437 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  replace(size_type __pos, size_type __n, const _Tp& __svt)
1412:  {
1412:    __sv_17:       if (__n > capacity())
1417:  {
1417:    vector __tmp(__n, __val, _M_get_Tp_allocator());
1417:    __tmp._M_impl._M_swap_data(this->_M_impl);
1417:  }
1417:       else if (__n > size())
1417:  {
1417:    std::fill(begin(), end(), __val);
1417:    const size_type __add = __n - size();
1417:    ;
1417:    this->_M_impl._M_finish =
1417:      std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1417:        __add, __val, _M_get_Tp_allocator());
1417:    ;
1417:  }
1417:       else
1417:         _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename _InputIterator>
1417:      
1417:       void
1417:       vector<_Tp, _Alloc>::
1417:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1417:       std::input_iterator_tag)
1417:       {
1417:  pointer __cur(this->_M_impl._M_start);
1417:  for (; __first != __last && __cur != this->_M_impl._M_finish;
1417:       ++__cur, (void)++__first)
1417:    *__cur = *__first;
1417:  if (__first == __last)
1417:    _M_erase_at_end(__cur);
1417:  else
1417:    _M_range_insert(end(), __first, __last,
1417:      std::__iterator_category(__first));
1417:       }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename _ForwardIterator>
1417:      
1417:       void
1417:       vector<_Tp, _Alloc>::
1417:       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1417:       std::forward_iterator_tag)
1417:       {
1417:  const size_type __len = std::distance(__first, __last);
1417: 
1417:  if (__len > capacity())
1417:    {
1417:      _S_check_init_len(__len, _M_get_Tp_allocator());
1417:      pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
1417:      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:      _M_get_Tp_allocator());
1417:      ;
1417:      _M_deallocate(this->_M_impl._M_start,
1417:      this->_M_impl._M_end_of_storage
1417:      - this->_M_impl._M_start);
1417:      this->_M_impl._M_start = __tmp;
1417:      this->_M_impl._M_finish = this->_M_impl._M_start + __len;
1417:      this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
1417:    }
1417:  else if (size() >= __len)
1417:    _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
1417:  else
1417:    {
1417:      _ForwardIterator __mid = __first;
1417:      std::advance(__mid, size());
1417:      std::copy(__first, __mid, this->_M_impl._M_start);
1417:      const size_type __attribute__((__unused__)) __n = __len - size();
1417:      ;
1417:      this->_M_impl._M_finish =
1417:        std::__uninitialized_copy_a(__mid, __last,
1417:        this->_M_impl._M_finish,
1417:        _M_get_Tp_allocator());
1417:      ;
1417:    }
1417:       }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     auto
1417:     vector<_Tp, _Alloc>::
1417:     _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator
1417:     {
1417:       const auto __n = __position - cbegin();
1417:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1417:  if (__position == cend())
1417:    {
1417:      ;
1417:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1417:          std::move(__v));
1417:      ++this->_M_impl._M_finish;
1417:      ;
1417:    }
1417:  else
1417:    _M_insert_aux(begin() + __n, std::move(__v));
1417:       else
1417:  _M_realloc_insert(begin() + __n, std::move(__v));
1417: 
1417:       return iterator(this->_M_impl._M_start + __n);
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename... _Args>
1417:      
1417:       auto
1417:       vector<_Tp, _Alloc>::
1417:       _M_emplace_aux(const_iterator __position, _Args&&... __args)
1417:       -> iterator
1417:       {
1417:  const auto __n = __position - cbegin();
1417:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1417:    if (__position == cend())
1417:      {
1417:        ;
1417:        _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1417:            std::forward<_Args>(__args)...);
1417:        ++this->_M_impl._M_finish;
1417:        ;
1417:      }
1417:    else
1417:      {
1417: 
1417: 
1417: 
1417:        _Temporary_value __tmp(this, std::forward<_Args>(__args)...);
1417:        _M_insert_aux(begin() + __n, std::move(__tmp._M_val()));
1417:      }
1417:  else
1417:    _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...);
1417: 
1417:  return iterator(this->_M_impl._M_start + __n);
1417:       }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename _Arg>
1417:      
1417:       void
1417:       vector<_Tp, _Alloc>::
1417:       _M_insert_aux(iterator __position, _Arg&& __arg)
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     {
1417:       ;
1417:       _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1417:           std::move(*(this->_M_impl._M_finish - 1)));
1417:       ++this->_M_impl._M_finish;
1417:       ;
1417: 
1417: 
1417: 
1417:       std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1)
1417: 
1417:                                      ;
1417: 
1417: 
1417: 
1417:       *__position = std::forward<_Arg>(__arg);
1417: 
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename... _Args>
1417:      
1417:       void
1417:       vector<_Tp, _Alloc>::
1417:       _M_realloc_insert(iterator __position, _Args&&... __args)
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     {
1417:       const size_type __len =
1417:  _M_check_len(size_type(1), "vector::_M_realloc_insert");
1417:       pointer __old_start = this->_M_impl._M_start;
1417:       pointer __old_finish = this->_M_impl._M_finish;
1417:       const size_type __elems_before = __position - begin();
1417:       pointer __new_start(this->_M_allocate(__len));
1417:       pointer __new_finish(__new_start);
1417:       try
1417:  {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    _Alloc_traits::construct(this->_M_impl,
1417:        __new_start + __elems_before,
1417: 
1417:        std::forward<_Args>(__args)...);
1417: 
1417: 
1417: 
1417:    __new_finish = pointer();
1417: 
1417: 
1417:    if constexpr (_S_use_relocate())
1417:      {
1417:        __new_finish = _S_relocate(__old_start, __position.base(),
1417:       __new_start, _M_get_Tp_allocator());
1417: 
1417:        ++__new_finish;
1417: 
1417:        __new_finish = _S_relocate(__position.base(), __old_finish,
1417:       __new_finish, _M_get_Tp_allocator());
1417:      }
1417:    else
1417: 
1417:      {
1417:        __new_finish
1417:   = std::__uninitialized_move_if_noexcept_a
1417:   (__old_start, __position.base(),
1417:    __new_start, _M_get_Tp_allocator());
1417: 
1417:        ++__new_finish;
1417: 
1417:        __new_finish
1417:   = std::__uninitialized_move_if_noexcept_a
1417:   (__position.base(), __old_finish,
1417:    __new_finish, _M_get_Tp_allocator());
1417:      }
1417:  }
1417:       catch(...)
1417:  {
1417:    if (!__new_finish)
1417:      _Alloc_traits::destroy(this->_M_impl,
1417:        __new_start + __elems_before);
1417:    else
1417:      std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
1417:    _M_deallocate(__new_start, __len);
1417:    throw;
1417:  }
1417: 
1417:       if constexpr (!_S_use_relocate())
1417: 
1417:  std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator());
1417:       ;
1417:       _M_deallocate(__old_start,
1417:       this->_M_impl._M_end_of_storage - __old_start);
1417:       this->_M_impl._M_start = __new_start;
1417:       this->_M_impl._M_finish = __new_finish;
1417:       this->_M_impl._M_end_of_storage = __new_start + __len;
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     void
1417:     vector<_Tp, _Alloc>::
1417:     _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
1417:     {
1417:       if (__n != 0)
1417:  {
1417:    if (size_type(this->_M_impl._M_end_of_storage
1417:    - this->_M_impl._M_finish) >= __n)
1417:      {
1417: 
1417: 
1417: 
1Lock>
609:       struct _Unlock
609:       {
609:  explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); }
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609:  ~_Unlock() noexcept(false)
609:  {
609:    if (uncaught_exception())
609:      {
609:        try
609:        { _M_lock.lock(); }
609:        catch(const __cxxabiv1::__forced_unwind&)
609:        { throw; }
609:        catch(...)
609:        { }
609:      }
609:    else
609:      _M_lock.lock();
609:  }
609: #pragma GCC diagnostic pop
609: 
609:  _Unlock(const _Unlock&) = delete;
609:  _Unlock& operator=(const _Unlock&) = delete;
609: 
609:  _Lock& _M_lock;
609:       };
609: 
609:   public:
609:     condition_variable_any() : _M_mutex(std::make_shared<mutex>()) { }
609:     ~condition_variable_any() = default;
609: 
609:     condition_variable_any(const condition_variable_any&) = delete;
609:     condition_variable_any& operator=(const condition_variable_any&) = delete;
609: 
609:     void
609:     notify_one() noexcept
609:     {
609:       lock_guard<mutex> __lock(*_M_mutex);
609:       _M_cond.notify_one();
609:     }
609: 
609:     void
609:     notify_all() noexcept
609:     {
609:       lock_guard<mutex> __lock(*_M_mutex);
609:       _M_cond.notify_all();
609:     }
609: 
609:     template<typename _Lock>
609:       void
609:       wait(_Lock& __lock)
609:       {
609:  shared_ptr<mutex> __mutex = _M_mutex;
609:  unique_lock<mutex> __my_lock(*__mutex);
609:  _Unlock<_Lock> __unlock(__lock);
609: 
609: 
609:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
609:  _M_cond.wait(__my_lock2);
609:       }
609: 
609: 
609:     template<typename _Lock, typename _Predicate>
609:       void
609:       wait(_Lock& __lock, _Predicate __p)
609:       {
609:  while (!__p())
609:    wait(__lock);
609:       }
609: 
609:     template<typename _Lock, typename _Clock, typename _Duration>
609:       cv_status
609:       wait_until(_Lock& __lock,
609:    const chrono::time_point<_Clock, _Duration>& __atime)
609:       {
609:  shared_ptr<mutex> __mutex = _M_mutex;
609:  unique_lock<mutex> __my_lock(*__mutex);
609:  _Unlock<_Lock> __unlock(__lock);
609: 
609: 
609:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
609:  return _M_cond.wait_until(__my_lock2, __atime);
609:       }
609: 
609:     template<typename _Lock, typename _Clock,
609:       typename _Duration, typename _Predicate>
609:       bool
609:       wait_until(_Lock& __lock,
609:    const chrono::time_point<_Clock, _Duration>& __atime,
609:    _Predicate __p)
609:       {
609:  while (!__p())
609:    if (wait_until(__lock, __atime) == cv_status::timeout)
609:      return __p();
609:  return true;
609:       }
609: 
609:     template<typename _Lock, typename _Rep, typename _Period>
609:       cv_status
609:       wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __rtime)
609:       { return wait_until(__lock, __clock_t::now() + __rtime); }
609: 
609:     template<typename _Lock, typename _Rep,
609:       typename _Period, typename _Predicate>
609:       bool
609:       wait_for(_Lock& __lock,
609:         const chrono::duration<_Rep, _Period>& __rtime, _Predicate __p)
609:       { return wait_until(__lock, __clock_t::now() + __rtime, std::move(__p)); }
609: # 440 "/usr/include/c++/12/condition_variable" 3
609:   };
609: 
609:   }
609: 
609: 
609: 
609: }
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
609: # 1 "/usr/include/c++/12/functional" 1 3
609: # 46 "/usr/include/c++/12/functional" 3
609:        
609: # 47 "/usr/include/c++/12/functional" 3
609: # 59 "/usr/include/c++/12/functional" 3
609: # 1 "/usr/include/c++/12/bits/std_function.h" 1 3
609: # 33 "/usr/include/c++/12/bits/std_function.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/std_function.h" 3
609: # 45 "/usr/include/c++/12/bits/std_function.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   class bad_function_call : public std::exception
609:   {
609:   public:
6type __sv = __svt;
1412:    return this->replace(__pos, __n, __sv.data(), __sv.size());
1412:  }
1412: # 2455 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  replace(size_type __pos1, size_type __n1, const _Tp& __svt,
1412:   size_type __pos2, size_type __n2 = npos)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->replace(__pos1, __n1,
1412:        __sv.data()
1412:        + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
1412:        std::__sv_limit(__sv.size(), __pos2, __n2));
1412:  }
1412: # 2477 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, basic_string&>
1412:  replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->replace(__i1 - begin(), __i2 - __i1, __sv);
1412:  }
1412: 
1412: 
1412:     private:
1412:       template<class _Integer>
1412: 
1412:  basic_string&
1412:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1412:        _Integer __n, _Integer __val, __true_type)
1412:         { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
1412: 
1412:       template<class _InputIterator>
1412: 
1412:  basic_string&
1412:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1412:        _InputIterator __k1, _InputIterator __k2,
1412:        __false_type);
1412: 
1412:      
1412:       basic_string&
1412:       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1412:        _CharT __c);
1412: 
1412:      
1412:       basic_string&
1412:       _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1412:    const size_type __len2);
1412: 
1412:      
1412:       basic_string&
1412:       _M_append(const _CharT* __s, size_type __n);
1412: 
1412:     public:
1412: # 2530 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
1412: # 2541 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       void
1412:       swap(basic_string& __s) noexcept;
1412: # 2552 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       const _CharT*
1412:       c_str() const noexcept
1412:       { return _M_data(); }
1412: # 2565 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       const _CharT*
1412:       data() const noexcept
1412:       { return _M_data(); }
1412: # 2577 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       _CharT*
1412:       data() noexcept
1412:       { return _M_data(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return _M_get_allocator(); }
1412: # 2603 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find(const _CharT* __s, size_type __pos, size_type __n) const
1412:       noexcept;
1412: # 2618 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find(const basic_string& __str, size_type __pos = 0) const
1412:       noexcept
1412:       { return this->find(__str.data(), __pos, __str.size()); }
1412: # 2631 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, size_type>
1412:  find(const _Tp& __svt, size_type __pos = 0) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->find(__sv.data(), __pos, __sv.size());
1412:  }
1412: # 2652 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find(const _CharT* __s, size_type __pos = 0) const noexcept
1412:       {
1412:  ;
1412:  return this->find(__s, __pos, traits_type::length(__s));
1412:       }
1412: # 2670 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find(_CharT __c, size_type __pos = 0) const noexcept;
1412: # 2684 "/usr/include/c++/12/bits/basic_string.h" 3
1412:417:        _Temporary_value __tmp(this, __x);
1417:        value_type& __x_copy = __tmp._M_val();
1417: 
1417:        const size_type __elems_after = end() - __position;
1417:        pointer __old_finish(this->_M_impl._M_finish);
1417:        if (__elems_after > __n)
1417:   {
1417:     ;
1417:     std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1417:            this->_M_impl._M_finish,
1417:            this->_M_impl._M_finish,
1417:            _M_get_Tp_allocator());
1417:     this->_M_impl._M_finish += __n;
1417:     ;
1417:     std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1417:                                         ;
1417:     std::fill(__position.base(), __position.base() + __n,
1417:        __x_copy);
1417:   }
1417:        else
1417:   {
1417:     ;
1417:     this->_M_impl._M_finish =
1417:       std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1417:         __n - __elems_after,
1417:         __x_copy,
1417:         _M_get_Tp_allocator());
1417:     ;
1417:     std::__uninitialized_move_a(__position.base(), __old_finish,
1417:            this->_M_impl._M_finish,
1417:            _M_get_Tp_allocator());
1417:     this->_M_impl._M_finish += __elems_after;
1417:     ;
1417:     std::fill(__position.base(), __old_finish, __x_copy);
1417:   }
1417:      }
1417:    else
1417:      {
1417:        const size_type __len =
1417:   _M_check_len(__n, "vector::_M_fill_insert");
1417:        const size_type __elems_before = __position - begin();
1417:        pointer __new_start(this->_M_allocate(__len));
1417:        pointer __new_finish(__new_start);
1417:        try
1417:   {
1417: 
1417:     std::__uninitialized_fill_n_a(__new_start + __elems_before,
1417:       __n, __x,
1417:       _M_get_Tp_allocator());
1417:     __new_finish = pointer();
1417: 
1417:     __new_finish
1417:       = std::__uninitialized_move_if_noexcept_a
1417:       (this->_M_impl._M_start, __position.base(),
1417:        __new_start, _M_get_Tp_allocator());
1417: 
1417:     __new_finish += __n;
1417: 
1417:     __new_finish
1417:       = std::__uninitialized_move_if_noexcept_a
1417:       (__position.base(), this->_M_impl._M_finish,
1417:        __new_finish, _M_get_Tp_allocator());
1417:   }
1417:        catch(...)
1417:   {
1417:     if (!__new_finish)
1417:       std::_Destroy(__new_start + __elems_before,
1417:       __new_start + __elems_before + __n,
1417:       _M_get_Tp_allocator());
1417:     else
1417:       std::_Destroy(__new_start, __new_finish,
1417:       _M_get_Tp_allocator());
1417:     _M_deallocate(__new_start, __len);
1417:     throw;
1417:   }
1417:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:        _M_get_Tp_allocator());
1417:        ;
1417:        _M_deallocate(this->_M_impl._M_start,
1417:        this->_M_impl._M_end_of_storage
1417:        - this->_M_impl._M_start);
1417:        this->_M_impl._M_start = __new_start;
1417:        this->_M_impl._M_finish = __new_finish;
1417:        this->_M_impl._M_end_of_storage = __new_start + __len;
1417:      }
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     void
1417:     vector<_Tp, _Alloc>::
1417:     _M_default_append(size_type __n)
1417:     {
1417:       if (__n != 0)
1417:  {
1417:    const size_type __size = size();
1417:    size_type __navail = size_type(this->_M_impl._M_end_of_storage
1417:       - this->_M_impl._M_finish);
1417: 
1417:    if (__size > max_size() || __navail > max_size() - __size)
1417:      __builtin_unreachable();
1417: 
1417:    if (__navail >= __n)
1417:      {
1417:        ;
1417:        this->_M_impl._M_finish =
1417:   std::__uninitialized_default_n_a(this->_M_impl._M_finish,
1417:        __n, _M_get_Tp_allocator());
1417:        ;
1417:      }
1417:    else
1417:      {
1417:        const size_type __len =
1417:   _M_check_len(__n, "vector::_M_default_append");
1417:        pointer __new_start(this->_M_allocate(__len));
1417:        if constexpr (_S_use_relocate())
1417:   {
1417:     try
1417:       {
1417:         std::__uni09:     virtual ~bad_function_call() noexcept;
609: 
609:     const char* what() const noexcept;
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct __is_location_invariant
609:     : is_trivially_copyable<_Tp>::type
609:     { };
609: 
609:   class _Undefined_class;
609: 
609:   union _Nocopy_types
609:   {
609:     void* _M_object;
609:     const void* _M_const_object;
609:     void (*_M_function_pointer)();
609:     void (_Undefined_class::*_M_member_pointer)();
609:   };
609: 
609:   union [[gnu::may_alias]] _Any_data
609:   {
609:     void* _M_access() noexcept { return &_M_pod_data[0]; }
609:     const void* _M_access() const noexcept { return &_M_pod_data[0]; }
609: 
609:     template<typename _Tp>
609:       _Tp&
609:       _M_access() noexcept
609:       { return *static_cast<_Tp*>(_M_access()); }
609: 
609:     template<typename _Tp>
609:       const _Tp&
609:       _M_access() const noexcept
609:       { return *static_cast<const _Tp*>(_M_access()); }
609: 
609:     _Nocopy_types _M_unused;
609:     char _M_pod_data[sizeof(_Nocopy_types)];
609:   };
609: 
609:   enum _Manager_operation
609:   {
609:     __get_type_info,
609:     __get_functor_ptr,
609:     __clone_functor,
609:     __destroy_functor
609:   };
609: 
609:   template<typename _Signature>
609:     class function;
609: 
609: 
609:   class _Function_base
609:   {
609:   public:
609:     static const size_t _M_max_size = sizeof(_Nocopy_types);
609:     static const size_t _M_max_align = __alignof__(_Nocopy_types);
609: 
609:     template<typename _Functor>
609:       class _Base_manager
609:       {
609:       protected:
609:  static const bool __stored_locally =
609:  (__is_location_invariant<_Functor>::value
609:   && sizeof(_Functor) <= _M_max_size
609:   && __alignof__(_Functor) <= _M_max_align
609:   && (_M_max_align % __alignof__(_Functor) == 0));
609: 
609:  using _Local_storage = integral_constant<bool, __stored_locally>;
609: 
609: 
609:  static _Functor*
609:  _M_get_pointer(const _Any_data& __source) noexcept
609:  {
609:    if constexpr (__stored_locally)
609:      {
609:        const _Functor& __f = __source._M_access<_Functor>();
609:        return const_cast<_Functor*>(std::__addressof(__f));
609:      }
609:    else
609:      return __source._M_access<_Functor*>();
609:  }
609: 
609:       private:
609: 
609: 
609:  template<typename _Fn>
609:    static void
609:    _M_create(_Any_data& __dest, _Fn&& __f, true_type)
609:    {
609:      ::new (__dest._M_access()) _Functor(std::forward<_Fn>(__f));
609:    }
609: 
609: 
609:  template<typename _Fn>
609:    static void
609:    _M_create(_Any_data& __dest, _Fn&& __f, false_type)
609:    {
609:      __dest._M_access<_Functor*>()
609:        = new _Functor(std::forward<_Fn>(__f));
609:    }
609: 
609: 
609:  static void
609:  _M_destroy(_Any_data& __victim, true_type)
609:  {
609:    __victim._M_access<_Functor>().~_Functor();
609:  }
609: 
609: 
609:  static void
609:  _M_destroy(_Any_data& __victim, false_type)
609:  {
609:    delete __victim._M_access<_Functor*>();
609:  }
609: 
609:       public:
609:  static bool
609:  _M_manager(_Any_data& __dest, const _Any_data& __source,
609:      _Manager_operation __op)
609:  {
609:    switch (__op)
609:      {
609:      case __get_type_info:
609: 
609:        __dest._M_access<const type_info*>() = &typeid(_Functor);
609: 
609: 
609: 
609:        break;
609: 
609:      case __get_functor_ptr:
609:        __dest._M_access<_Functor*>() = _M_get_pointer(__source);
609:        break;
609: 
609:      case __clone_functor:
609:        _M_init_functor(__dest,
609:     *const_cast<const _Functor*>(_M_get_pointer(__source)));
609:        break;
609: 
609:      case __destroy_functor:
609:        _M_destroy(__dest, _Local_storage());
609:        break;
609:      }
609:    return false;
609:  }
609: 
609:  template<typename _Fn>
609:    static void
609:    _M_init_functor(_Any_data& __functor, _Fn&& __f)
609:    noexcept(__and_<_Local_storage,
609:      is_nothrow_constructible<_Functor, _Fn>>::value)
609:    {
6nitialized_default_n_a(__new_start + __size,
1417:          __n, _M_get_Tp_allocator());
1417:       }
1417:     catch(...)
1417:       {
1417:         _M_deallocate(__new_start, __len);
1417:         throw;
1417:       }
1417:     _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:          __new_start, _M_get_Tp_allocator());
1417:   }
1417:        else
1417:   {
1417:     pointer __destroy_from = pointer();
1417:     try
1417:       {
1417:         std::__uninitialized_default_n_a(__new_start + __size,
1417:          __n, _M_get_Tp_allocator());
1417:         __destroy_from = __new_start + __size;
1417:         std::__uninitialized_move_if_noexcept_a(
1417:          this->_M_impl._M_start, this->_M_impl._M_finish,
1417:          __new_start, _M_get_Tp_allocator());
1417:       }
1417:     catch(...)
1417:       {
1417:         if (__destroy_from)
1417:    std::_Destroy(__destroy_from, __destroy_from + __n,
1417:           _M_get_Tp_allocator());
1417:         _M_deallocate(__new_start, __len);
1417:         throw;
1417:       }
1417:     std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:     _M_get_Tp_allocator());
1417:   }
1417:        ;
1417:        _M_deallocate(this->_M_impl._M_start,
1417:        this->_M_impl._M_end_of_storage
1417:        - this->_M_impl._M_start);
1417:        this->_M_impl._M_start = __new_start;
1417:        this->_M_impl._M_finish = __new_start + __size + __n;
1417:        this->_M_impl._M_end_of_storage = __new_start + __len;
1417:      }
1417:  }
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:    
1417:     bool
1417:     vector<_Tp, _Alloc>::
1417:     _M_shrink_to_fit()
1417:     {
1417:       if (capacity() == size())
1417:  return false;
1417:       ;
1417:       return std::__shrink_to_fit_aux<vector>::_S_do_it(*this);
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename _InputIterator>
1417:      
1417:       void
1417:       vector<_Tp, _Alloc>::
1417:       _M_range_insert(iterator __pos, _InputIterator __first,
1417:         _InputIterator __last, std::input_iterator_tag)
1417:       {
1417:  if (__pos == end())
1417:    {
1417:      for (; __first != __last; ++__first)
1417:        insert(end(), *__first);
1417:    }
1417:  else if (__first != __last)
1417:    {
1417:      vector __tmp(__first, __last, _M_get_Tp_allocator());
1417:      insert(__pos,
1417:      std::make_move_iterator(__tmp.begin()),
1417:      std::make_move_iterator(__tmp.end()));
1417:    }
1417:       }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename _ForwardIterator>
1417:      
1417:       void
1417:       vector<_Tp, _Alloc>::
1417:       _M_range_insert(iterator __position, _ForwardIterator __first,
1417:         _ForwardIterator __last, std::forward_iterator_tag)
1417:       {
1417:  if (__first != __last)
1417:    {
1417:      const size_type __n = std::distance(__first, __last);
1417:      if (size_type(this->_M_impl._M_end_of_storage
1417:      - this->_M_impl._M_finish) >= __n)
1417:        {
1417:   const size_type __elems_after = end() - __position;
1417:   pointer __old_finish(this->_M_impl._M_finish);
1417:   if (__elems_after > __n)
1417:     {
1417:       ;
1417:       std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1417:       this->_M_impl._M_finish,
1417:       this->_M_impl._M_finish,
1417:       _M_get_Tp_allocator());
1417:       this->_M_impl._M_finish += __n;
1417:       ;
1417:       std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1417:                                           ;
1417:       std::copy(__first, __last, __position);
1417:     }
1417:   else
1417:     {
1417:       _ForwardIterator __mid = __first;
1417:       std::advance(__mid, __elems_after);
1417:       ;
1417:       std::__uninitialized_copy_a(__mid, __last,
1417:       this->_M_impl._M_finish,
1417:       _M_get_Tp_allocator());
1417:       this->_M_impl._M_finish += __n - __elems_after;
1417:       ;
1417:       std::__uninitialized_move_a      
1412:       size_type
1412:       rfind(const basic_string& __str, size_type __pos = npos) const
1412:       noexcept
1412:       { return this->rfind(__str.data(), __pos, __str.size()); }
1412: # 2697 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, size_type>
1412:  rfind(const _Tp& __svt, size_type __pos = npos) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->rfind(__sv.data(), __pos, __sv.size());
1412:  }
1412: # 2720 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       rfind(const _CharT* __s, size_type __pos, size_type __n) const
1412:       noexcept;
1412: # 2735 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       rfind(const _CharT* __s, size_type __pos = npos) const
1412:       {
1412:  ;
1412:  return this->rfind(__s, __pos, traits_type::length(__s));
1412:       }
1412: # 2753 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1412: # 2768 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_of(const basic_string& __str, size_type __pos = 0) const
1412:       noexcept
1412:       { return this->find_first_of(__str.data(), __pos, __str.size()); }
1412: # 2782 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, size_type>
1412:  find_first_of(const _Tp& __svt, size_type __pos = 0) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->find_first_of(__sv.data(), __pos, __sv.size());
1412:  }
1412: # 2805 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1412:       noexcept;
1412: # 2820 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_of(const _CharT* __s, size_type __pos = 0) const
1412:       noexcept
1412:       {
1412:  ;
1412:  return this->find_first_of(__s, __pos, traits_type::length(__s));
1412:       }
1412: # 2841 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1412:       { return this->find(__c, __pos); }
1412: # 2857 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_of(const basic_string& __str, size_type __pos = npos) const
1412:       noexcept
1412:       { return this->find_last_of(__str.data(), __pos, __str.size()); }
1412: # 2871 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, size_type>
1412:  find_last_of(const _Tp& __svt, size_type __pos = npos) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->find_last_of(__sv.data(), __pos, __sv.size());
1412:  }
1412: # 2894 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1412:       noexcept;
1412: # 2909 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_of(const _CharT* __s, size_type __pos = npos) const
1412:       noexcept
1412:       {
1412:  ;
1412:  return this->find_last_of(__s, __pos, traits_type::length(__s));
1412:       }
1412: # 2930 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_of(_CharT __c, size_type __pos = npos) const noexcept
1412:       { return this->rfind(__c, __pos); }
1412: # 2945 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
1412:       noexcept
1412:       { return this->find_first_not_of(__str.data(), __pos,(__position.base(),
1417:       __old_finish,
1417:       this->_M_impl._M_finish,
1417:       _M_get_Tp_allocator());
1417:       this->_M_impl._M_finish += __elems_after;
1417:       ;
1417:       std::copy(__first, __mid, __position);
1417:     }
1417:        }
1417:      else
1417:        {
1417:   const size_type __len =
1417:     _M_check_len(__n, "vector::_M_range_insert");
1417:   pointer __new_start(this->_M_allocate(__len));
1417:   pointer __new_finish(__new_start);
1417:   try
1417:     {
1417:       __new_finish
1417:         = std::__uninitialized_move_if_noexcept_a
1417:         (this->_M_impl._M_start, __position.base(),
1417:          __new_start, _M_get_Tp_allocator());
1417:       __new_finish
1417:         = std::__uninitialized_copy_a(__first, __last,
1417:           __new_finish,
1417:           _M_get_Tp_allocator());
1417:       __new_finish
1417:         = std::__uninitialized_move_if_noexcept_a
1417:         (__position.base(), this->_M_impl._M_finish,
1417:          __new_finish, _M_get_Tp_allocator());
1417:     }
1417:   catch(...)
1417:     {
1417:       std::_Destroy(__new_start, __new_finish,
1417:       _M_get_Tp_allocator());
1417:       _M_deallocate(__new_start, __len);
1417:       throw;
1417:     }
1417:   std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1417:          _M_get_Tp_allocator());
1417:   ;
1417:   _M_deallocate(this->_M_impl._M_start,
1417:          this->_M_impl._M_end_of_storage
1417:          - this->_M_impl._M_start);
1417:   this->_M_impl._M_start = __new_start;
1417:   this->_M_impl._M_finish = __new_finish;
1417:   this->_M_impl._M_end_of_storage = __new_start + __len;
1417:        }
1417:    }
1417:       }
1417: 
1417: 
1417: 
1417:   template<typename _Alloc>
1417:    
1417:     void
1417:     vector<bool, _Alloc>::
1417:     _M_reallocate(size_type __n)
1417:     {
1417:       _Bit_pointer __q = this->_M_allocate(__n);
1417:       iterator __start(std::__addressof(*__q), 0);
1417:       iterator __finish(_M_copy_aligned(begin(), end(), __start));
1417:       this->_M_deallocate();
1417:       this->_M_impl._M_start = __start;
1417:       this->_M_impl._M_finish = __finish;
1417:       this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1417:     }
1417: 
1417:   template<typename _Alloc>
1417:    
1417:     void
1417:     vector<bool, _Alloc>::
1417:     _M_fill_insert(iterator __position, size_type __n, bool __x)
1417:     {
1417:       if (__n == 0)
1417:  return;
1417:       if (capacity() - size() >= __n)
1417:  {
1417:    std::copy_backward(__position, end(),
1417:         this->_M_impl._M_finish + difference_type(__n));
1417:    std::fill(__position, __position + difference_type(__n), __x);
1417:    this->_M_impl._M_finish += difference_type(__n);
1417:  }
1417:       else
1417:  {
1417:    const size_type __len =
1417:      _M_check_len(__n, "vector<bool>::_M_fill_insert");
1417:    _Bit_pointer __q = this->_M_allocate(__len);
1417:    iterator __start(std::__addressof(*__q), 0);
1417:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1417:    std::fill(__i, __i + difference_type(__n), __x);
1417:    iterator __finish = std::copy(__position, end(),
1417:      __i + difference_type(__n));
1417:    this->_M_deallocate();
1417:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1417:    this->_M_impl._M_start = __start;
1417:    this->_M_impl._M_finish = __finish;
1417:  }
1417:     }
1417: 
1417:   template<typename _Alloc>
1417:     template<typename _ForwardIterator>
1417:      
1417:       void
1417:       vector<bool, _Alloc>::
1417:       _M_insert_range(iterator __position, _ForwardIterator __first,
1417:         _ForwardIterator __last, std::forward_iterator_tag)
1417:       {
1417:  if (__first != __last)
1417:    {
1417:      size_type __n = std::distance(__first, __last);
1417:      if (capacity() - size() >= __n)
1417:        {
1417:   std::copy_backward(__position, end(),
1417:        this->_M_impl._M_finish
1417:        + difference_type(__n));
1417:   std::copy(__first, __last, __position);
1417:   this->_M_impl._M_finish += difference_type(__n);
1417:        }
1417:      else
1417:        {
1417:   const size_type __len =
1417:     _M_check_len(__n, "vector<bool>::_M_insert_range");
1417:   _Bit_pointer __q = this->_M_allocate(__len);
1417:   iterator __start(std::__addressof(*__q), 0);
1417:   iterator __i = _M_copy_aligned(begin(), __position, __start);
1417:   __i = std::copy(__first, __last, __i);
1417:   iterator __finish = std::copy(__position, end(), __i);
1417:   this->_M_deallocate();
1417:   this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1417:   this->_M_impl._M_start = __start;
1417:   this->_M_impl._M_finish = __finish;
1417:        }
1417:    }
1417:       }
1417: 
1417:   template<typename _Alloc>
1417:    
1417:     void
1417:     vector<bool, _Alloc>::
1417:     _M_insert_aux(iterator __position, bool __x)
1417:     {
1417:       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1417:  {
1417:    std::copy_backward(__position, this->_M_impl._M_finish,
1417:         this->_M_impl._M_finish + 1);
1417:    *__position = __x;
1417:    ++this->_M_impl._M_finish;
1417:  }
1417:       else
1417:  {
1417:    const size_type __len =
1417:      _M_check_len(size_type(1), "vector<bool>::_M_insert_aux");
1417:    _Bit_pointer __q = this->_M_allocate(__len);
1417:    iterator __start(std::__addressof(*__q), 0);
1417:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1417:    *__i++ = __x;
1417:    iterator __finish = std::copy(__position, end(), __i);
1417:    this->_M_deallocate();
1417:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1417:    this->_M_impl._M_start = __start;
1417:    this->_M_impl._M_finish = __finish;
1417:  }
1417:     }
1417: 
1417:   template<typename _Alloc>
1417:    
1417:     typename vector<bool, _Alloc>::iterator
1417:     vector<bool, _Alloc>::
1417:     _M_erase(iterator __position)
1417:     {
1417:       if (__position + 1 != end())
1417:         std::copy(__position + 1, end(), __position);
1417:       --this->_M_impl._M_finish;
1417:       return __position;
1417:     }
1417: 
1417:   template<typename _Alloc>
1417:    
1417:     typename vector<bool, _Alloc>::iterator
1417:     vector<bool, _Alloc>::
1417:     _M_erase(iterator __first, iterator __last)
1417:     {
1417:       if (__first != __last)
1417:  _M_erase_at_end(std::copy(__last, end(), __first));
1417:       return __first;
1417:     }
1417: 
1417: 
1417:   template<typename _Alloc>
1417:    
1417:     bool
1417:     vector<bool, _Alloc>::
1417:     _M_shrink_to_fit()
1417:     {
1417:       if (capacity() - size() < int(_S_word_bit))
1417:  return false;
1417:       try
1417:  {
1417:    if (size_type __n = size())
1417:      _M_reallocate(__n);
1417:    else
1417:      {
1417:        this->_M_deallocate();
1417:        this->_M_impl._M_reset();
1417:      }
1417:    return true;
1417:  }
1417:       catch(...)
1417:  { return false; }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _Alloc>
1417:     size_t
1417:     hash<std::vector<bool, _Alloc>>::
1417:     operator()(const std::vector<bool, _Alloc>& __b) const noexcept
1417:     {
1417:       size_t __hash = 0;
1417:       const size_t __words = __b.size() / _S_word_bit;
1417:       if (__words)
1417:  {
1417:    const size_t __clength = __words * sizeof(_Bit_type);
1417:    __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength);
1417:  }
1417: 
1417:       const size_t __extrabits = __b.size() % _S_word_bit;
1417:       if (__extrabits)
1417:  {
1417:    _Bit_type __hiword = *__b._M_impl._M_finish._M_p;
1417:    __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits);
1417: 
1417:    const size_t __clength
1417:      = (__extrabits + 8 - 1) / 8;
1417:    if (__words)
1417:      __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash);
1417:    else
1417:      __hash = std::_Hash_impl::hash(&__hiword, __clength);
1417:  }
1417: 
1417:       return __hash;
14109:      _M_create(__functor, std::forward<_Fn>(__f), _Local_storage());
609:    }
609: 
609:  template<typename _Signature>
609:    static bool
609:    _M_not_empty_function(const function<_Signature>& __f) noexcept
609:    { return static_cast<bool>(__f); }
609: 
609:  template<typename _Tp>
609:    static bool
609:    _M_not_empty_function(_Tp* __fp) noexcept
609:    { return __fp != nullptr; }
609: 
609:  template<typename _Class, typename _Tp>
609:    static bool
609:    _M_not_empty_function(_Tp _Class::* __mp) noexcept
609:    { return __mp != nullptr; }
609: 
609:  template<typename _Tp>
609:    static bool
609:    _M_not_empty_function(const _Tp&) noexcept
609:    { return true; }
609:       };
609: 
609:     _Function_base() = default;
609: 
609:     ~_Function_base()
609:     {
609:       if (_M_manager)
609:  _M_manager(_M_functor, _M_functor, __destroy_functor);
609:     }
609: 
609:     bool _M_empty() const { return !_M_manager; }
609: 
609:     using _Manager_type
609:       = bool (*)(_Any_data&, const _Any_data&, _Manager_operation);
609: 
609:     _Any_data _M_functor{};
609:     _Manager_type _M_manager{};
609:   };
609: 
609:   template<typename _Signature, typename _Functor>
609:     class _Function_handler;
609: 
609:   template<typename _Res, typename _Functor, typename... _ArgTypes>
609:     class _Function_handler<_Res(_ArgTypes...), _Functor>
609:     : public _Function_base::_Base_manager<_Functor>
609:     {
609:       using _Base = _Function_base::_Base_manager<_Functor>;
609: 
609:     public:
609:       static bool
609:       _M_manager(_Any_data& __dest, const _Any_data& __source,
609:    _Manager_operation __op)
609:       {
609:  switch (__op)
609:    {
609: 
609:    case __get_type_info:
609:      __dest._M_access<const type_info*>() = &typeid(_Functor);
609:      break;
609: 
609:    case __get_functor_ptr:
609:      __dest._M_access<_Functor*>() = _Base::_M_get_pointer(__source);
609:      break;
609: 
609:    default:
609:      _Base::_M_manager(__dest, __source, __op);
609:    }
609:  return false;
609:       }
609: 
609:       static _Res
609:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
609:       {
609:  return std::__invoke_r<_Res>(*_Base::_M_get_pointer(__functor),
609:          std::forward<_ArgTypes>(__args)...);
609:       }
609: 
609:       template<typename _Fn>
609:  static constexpr bool
609:  _S_nothrow_init() noexcept
609:  {
609:    return __and_<typename _Base::_Local_storage,
609:    is_nothrow_constructible<_Functor, _Fn>>::value;
609:  }
609:     };
609: 
609: 
609:   template<>
609:     class _Function_handler<void, void>
609:     {
609:     public:
609:       static bool
609:       _M_manager(_Any_data&, const _Any_data&, _Manager_operation)
609:       { return false; }
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Signature, typename _Functor,
609:     bool __valid = is_object<_Functor>::value>
609:     struct _Target_handler
609:     : _Function_handler<_Signature, typename remove_cv<_Functor>::type>
609:     { };
609: 
609:   template<typename _Signature, typename _Functor>
609:     struct _Target_handler<_Signature, _Functor, false>
609:     : _Function_handler<void, void>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Res, typename... _ArgTypes>
609:     class function<_Res(_ArgTypes...)>
609:     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
609:       private _Function_base
609:     {
609: 
609: 
609:       template<typename _Func,
609:         bool _Self = is_same<__remove_cvref_t<_Func>, function>::value>
609:  using _Decay_t
609:    = typename __enable_if_t<!_Self, decay<_Func>>::type;
609: 
609:       template<typename _Func,
609:         typename _DFunc = _Decay_t<_Func>,
609:         typename _Res2 = __invoke_result<_DFunc&, _ArgTypes...>>
609:  struct _Callable
609:  : __is_invocable_impl<_Res2, _Res>::type
609:  { };
609: 
609:       template<typename _Cond, typename _Tp = void>
609:  using _Requires = __enable_if_t<_Cond::value, _Tp>;
609: 
609:       templa7:     }
1417: 
1417: 
1417: }
1417: # 71 "/usr/include/c++/12/vector" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr {
1417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _Tp>
1417:       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 2
1417: 
1417: 
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1417: template <typename T> class CPointGen
1417: {
1417: public:
1417:   typedef CPointGen<T> this_type;
1417: 
1417:   CPointGen() noexcept = default;
1417: 
1417:   constexpr CPointGen(T a, T b)
1417:   : x{a}, y{b}
1417:   {}
1417: 
1417:   template<class U> explicit constexpr CPointGen(const CPointGen<U>& rhs)
1417:   : x{static_cast<T> (rhs.x)}, y{static_cast<T> (rhs.y)}
1417:   {}
1417: 
1417:   constexpr this_type operator+(const this_type &point) const
1417:   {
1417:     return {x + point.x, y + point.y};
1417:   };
1417: 
1417:   this_type& operator+=(const this_type &point)
1417:   {
1417:     x += point.x;
1417:     y += point.y;
1417:     return *this;
1417:   };
1417: 
1417:   constexpr this_type operator-(const this_type &point) const
1417:   {
1417:     return {x - point.x, y - point.y};
1417:   };
1417: 
1417:   this_type& operator-=(const this_type &point)
1417:   {
1417:     x -= point.x;
1417:     y -= point.y;
1417:     return *this;
1417:   };
1417: 
1417:   constexpr this_type operator*(T factor) const
1417:   {
1417:     return {x * factor, y * factor};
1417:   }
1417: 
1417:   this_type& operator*=(T factor)
1417:   {
1417:     x *= factor;
1417:     y *= factor;
1417:     return *this;
1417:   }
1417: 
1417:   constexpr this_type operator/(T factor) const
1417:   {
1417:     return {x / factor, y / factor};
1417:   }
1417: 
1417:   this_type& operator/=(T factor)
1417:   {
1417:     x /= factor;
1417:     y /= factor;
1417:     return *this;
1417:   }
1417: 
1417:   T x{}, y{};
1417: };
1417: 
1417: template<typename T>
1417: constexpr bool operator==(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1417: {
1417:   return (point1.x == point2.x && point1.y == point2.y);
1417: }
1417: 
1417: template<typename T>
1417: constexpr bool operator!=(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1417: {
1417:   return !(point1 == point2);
1417: }
1417: 
1417: using CPoint = CPointGen<float>;
1417: using CPointInt = CPointGen<int>;
1417: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1417: template <typename T> class CSizeGen
1417: {
1417:   T m_w{}, m_h{};
1417: 
1417:   void CheckSet(T width, T height)
1417:   {
1417:     if (width < 0)
1417:     {
1417:       throw std::out_of_range("Size may not have negative width");
1417:     }
1417:     if (height < 0)
1417:     {
1417:       throw std::out_of_range("Size may not have negative height");
1417:     }
1417:     m_w = width;
1417:     m_h = height;
1417:   }
1417: 
1417: public:
1417:   typedef CSizeGen<T> this_type;
1417: 
1417:   CSizeGen() noexcept = default;
1417: 
1417:   CSizeGen(T width, T height)
1417:   {
1417:     CheckSet(width, height);
1417:   }
1417: 
1417:   T Width() const
1417:   {
1417:     return m_w;
1417:   }
1417: 
1417:   T Height() const
1417:   {
1417:     return m_h;
1417:   }
1417: 
1417:   void SetWidth(T width)
1417:   {
1417:     CheckSet(width, m_h);
1417:   }
1417: 
1417:   void SetHeight(T height)
1417:   {
1417:     CheckSet(m_w, height);
1417:   }
1417: 
1417:   void Set(T width, T height)
1417:   {
1417:     CheckSet(width, height);
1417:   }
1417: 
1417:   bool IsZero() const
1417:   {
1417:     return (m_w == static_cast<T> (0) && m_h == static_cast<T> (0));
1417:   }
1417: 
1417:   T Area() const
1417:   {
1417:     return m_w * m_h;
1417:   }
1417: 
1417:   CPointGen<T> ToPoint() const
1417:   {
1417:     return {m_w, m_h};
1417:   }
1417: 
1417:    __str.size()); }
1412: # 2959 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412:  _If_sv<_Tp, size_type>
1412: 
1412:  find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->find_first_not_of(__sv.data(), __pos, __sv.size());
1412:  }
1412: # 2982 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_not_of(const _CharT* __s, size_type __pos,
1412:    size_type __n) const noexcept;
1412: # 2997 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
1412:       noexcept
1412:       {
1412:  ;
1412:  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
1412:       }
1412: # 3016 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_first_not_of(_CharT __c, size_type __pos = 0) const
1412:       noexcept;
1412: # 3032 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
1412:       noexcept
1412:       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
1412: # 3046 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, size_type>
1412:  find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return this->find_last_not_of(__sv.data(), __pos, __sv.size());
1412:  }
1412: # 3069 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_not_of(const _CharT* __s, size_type __pos,
1412:          size_type __n) const noexcept;
1412: # 3084 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
1412:       noexcept
1412:       {
1412:  ;
1412:  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
1412:       }
1412: # 3103 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       size_type
1412:       find_last_not_of(_CharT __c, size_type __pos = npos) const
1412:       noexcept;
1412: # 3120 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       basic_string
1412:       substr(size_type __pos = 0, size_type __n = npos) const
1412:       { return basic_string(*this,
1412:        _M_check(__pos, "basic_string::substr"), __n); }
1412: # 3140 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       int
1412:       compare(const basic_string& __str) const
1412:       {
1412:  const size_type __size = this->size();
1412:  const size_type __osize = __str.size();
1412:  const size_type __len = std::min(__size, __osize);
1412: 
1412:  int __r = traits_type::compare(_M_data(), __str.data(), __len);
1412:  if (!__r)
1412:    __r = _S_compare(__size, __osize);
1412:  return __r;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, int>
1412:  compare(const _Tp& __svt) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    const size_type __size = this->size();
1412:    const size_type __osize = __sv.size();
1412:    const size_type __len = std::min(__size, __osize);
1412: 
1412:    int __r = traits_type::compare(_M_data(), __sv.data(), __len);
1412:    if (!__r)
1412:      __r = _S_compare(__size, __osize);
1412:    return __r;
1412:  }
1412: # 3185 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, int>
1412:  compare(size_type __pos, size_type __n, const _Tp& __svt) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return __sv_type(*this).substr(__pos, __n).compare(__sv);
1412:  }
1412: # 3template<class U> explicit CSizeGen<T>(const CSizeGen<U>& rhs)
1417:   {
1417:     CheckSet(static_cast<T> (rhs.m_w), static_cast<T> (rhs.m_h));
1417:   }
1417: 
1417:   this_type operator+(const this_type& size) const
1417:   {
1417:     return {m_w + size.m_w, m_h + size.m_h};
1417:   };
1417: 
1417:   this_type& operator+=(const this_type& size)
1417:   {
1417:     CheckSet(m_w + size.m_w, m_h + size.m_h);
1417:     return *this;
1417:   };
1417: 
1417:   this_type operator-(const this_type& size) const
1417:   {
1417:     return {m_w - size.m_w, m_h - size.m_h};
1417:   };
1417: 
1417:   this_type& operator-=(const this_type& size)
1417:   {
1417:     CheckSet(m_w - size.m_w, m_h - size.m_h);
1417:     return *this;
1417:   };
1417: 
1417:   this_type operator*(T factor) const
1417:   {
1417:     return {m_w * factor, m_h * factor};
1417:   }
1417: 
1417:   this_type& operator*=(T factor)
1417:   {
1417:     CheckSet(m_w * factor, m_h * factor);
1417:     return *this;
1417:   }
1417: 
1417:   this_type operator/(T factor) const
1417:   {
1417:     return {m_w / factor, m_h / factor};
1417:   }
1417: 
1417:   this_type& operator/=(T factor)
1417:   {
1417:     CheckSet(m_w / factor, m_h / factor);
1417:     return *this;
1417:   }
1417: };
1417: 
1417: template<typename T>
1417: inline bool operator==(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1417: {
1417:   return (size1.Width() == size2.Width() && size1.Height() == size2.Height());
1417: }
1417: 
1417: template<typename T>
1417: inline bool operator!=(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1417: {
1417:   return !(size1 == size2);
1417: }
1417: 
1417: using CSize = CSizeGen<float>;
1417: using CSizeInt = CSizeGen<int>;
1417: 
1417: 
1417: template <typename T> class CRectGen
1417: {
1417: public:
1417:   typedef CRectGen<T> this_type;
1417:   typedef CPointGen<T> point_type;
1417:   typedef CSizeGen<T> size_type;
1417: 
1417:   CRectGen() noexcept = default;
1417: 
1417:   constexpr CRectGen(T left, T top, T right, T bottom)
1417:   : x1{left}, y1{top}, x2{right}, y2{bottom}
1417:   {}
1417: 
1417:   constexpr CRectGen(const point_type &p1, const point_type &p2)
1417:   : x1{p1.x}, y1{p1.y}, x2{p2.x}, y2{p2.y}
1417:   {}
1417: 
1417:   constexpr CRectGen(const point_type &origin, const size_type &size)
1417:   : x1{origin.x}, y1{origin.y}, x2{x1 + size.Width()}, y2{y1 + size.Height()}
1417:   {}
1417: 
1417:   template<class U> explicit constexpr CRectGen(const CRectGen<U>& rhs)
1417:   : x1{static_cast<T> (rhs.x1)}, y1{static_cast<T> (rhs.y1)}, x2{static_cast<T> (rhs.x2)}, y2{static_cast<T> (rhs.y2)}
1417:   {}
1417: 
1417:   void SetRect(T left, T top, T right, T bottom)
1417:   {
1417:     x1 = left;
1417:     y1 = top;
1417:     x2 = right;
1417:     y2 = bottom;
1417:   }
1417: 
1417:   constexpr bool PtInRect(const point_type &point) const
1417:   {
1417:     return (x1 <= point.x && point.x <= x2 && y1 <= point.y && point.y <= y2);
1417:   };
1417: 
1417:   this_type& operator-=(const point_type &point) __attribute__((always_inline))
1417:   {
1417:     x1 -= point.x;
1417:     y1 -= point.y;
1417:     x2 -= point.x;
1417:     y2 -= point.y;
1417:     return *this;
1417:   };
1417: 
1417:   constexpr this_type operator-(const point_type &point) const
1417:   {
1417:     return {x1 - point.x, y1 - point.y, x2 - point.x, y2 - point.y};
1417:   }
1417: 
1417:   this_type& operator+=(const point_type &point) __attribute__((always_inline))
1417:   {
1417:     x1 += point.x;
1417:     y1 += point.y;
1417:     x2 += point.x;
1417:     y2 += point.y;
1417:     return *this;
1417:   };
1417: 
1417:   constexpr this_type operator+(const point_type &point) const
1417:   {
1417:     return {x1 + point.x, y1 + point.y, x2 + point.x, y2 + point.y};
1417:   }
1417: 
1417:   this_type& operator-=(const size_type &size)
1417:   {
1417:     x2 -= size.Width();
1417:     y2 -= size.Height();
1417:     return *this;
1417:   };
1417: 
1417:   constexpr this_type operator-(const size_type &size) const
1417:   {
1417:     return {x1, y1, x2te<typename _Functor>
609:  using _Handler
609:    = _Function_handler<_Res(_ArgTypes...), __decay_t<_Functor>>;
609: 
609:     public:
609:       typedef _Res result_type;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       function() noexcept
609:       : _Function_base() { }
609: 
609: 
609: 
609: 
609: 
609:       function(nullptr_t) noexcept
609:       : _Function_base() { }
609: # 386 "/usr/include/c++/12/bits/std_function.h" 3
609:       function(const function& __x)
609:       : _Function_base()
609:       {
609:  if (static_cast<bool>(__x))
609:    {
609:      __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
609:      _M_invoker = __x._M_invoker;
609:      _M_manager = __x._M_manager;
609:    }
609:       }
609: # 404 "/usr/include/c++/12/bits/std_function.h" 3
609:       function(function&& __x) noexcept
609:       : _Function_base(), _M_invoker(__x._M_invoker)
609:       {
609:  if (static_cast<bool>(__x))
609:    {
609:      _M_functor = __x._M_functor;
609:      _M_manager = __x._M_manager;
609:      __x._M_manager = nullptr;
609:      __x._M_invoker = nullptr;
609:    }
609:       }
609: # 433 "/usr/include/c++/12/bits/std_function.h" 3
609:       template<typename _Functor,
609:         typename _Constraints = _Requires<_Callable<_Functor>>>
609:  function(_Functor&& __f)
609:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
609:  : _Function_base()
609:  {
609:    static_assert(is_copy_constructible<__decay_t<_Functor>>::value,
609:        "std::function target must be copy-constructible");
609:    static_assert(is_constructible<__decay_t<_Functor>, _Functor>::value,
609:        "std::function target must be constructible from the "
609:        "constructor argument");
609: 
609:    using _My_handler = _Handler<_Functor>;
609: 
609:    if (_My_handler::_M_not_empty_function(__f))
609:      {
609:        _My_handler::_M_init_functor(_M_functor,
609:         std::forward<_Functor>(__f));
609:        _M_invoker = &_My_handler::_M_invoke;
609:        _M_manager = &_My_handler::_M_manager;
609:      }
609:  }
609: # 468 "/usr/include/c++/12/bits/std_function.h" 3
609:       function&
609:       operator=(const function& __x)
609:       {
609:  function(__x).swap(*this);
609:  return *this;
609:       }
609: # 486 "/usr/include/c++/12/bits/std_function.h" 3
609:       function&
609:       operator=(function&& __x) noexcept
609:       {
609:  function(std::move(__x)).swap(*this);
609:  return *this;
609:       }
609: # 500 "/usr/include/c++/12/bits/std_function.h" 3
609:       function&
609:       operator=(nullptr_t) noexcept
609:       {
609:  if (_M_manager)
609:    {
609:      _M_manager(_M_functor, _M_functor, __destroy_functor);
609:      _M_manager = nullptr;
609:      _M_invoker = nullptr;
609:    }
609:  return *this;
609:       }
609: # 529 "/usr/include/c++/12/bits/std_function.h" 3
609:       template<typename _Functor>
609:  _Requires<_Callable<_Functor>, function&>
609:  operator=(_Functor&& __f)
609:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
609:  {
609:    function(std::forward<_Functor>(__f)).swap(*this);
609:    return *this;
609:  }
609: 
609: 
609:       template<typename _Functor>
609:  function&
609:  operator=(reference_wrapper<_Functor> __f) noexcept
609:  {
609:    function(__f).swap(*this);
609:    return *this;
609:  }
609: # 556 "/usr/include/c++/12/bits/std_function.h" 3
609:       void swap(function& __x) noexcept
609:       {
609:  std::swap(_M_functor, __x._M_functor);
609:  std::swap(_M_manager, __x._M_manager);
609:  std::swap(_M_invoker, __x._M_invoker);
609:       }
609: # 573 "/usr/include/c++/12/bits/std_function.h" 3
609:       explicit operator bool() const noexcept
609:       { return !_M_empty(); }
609: # 586 "/usr/include/c++/12/bits/std_function.h" 3
609:       _Res
609:       operator()(_ArgTypes... __args) const
609:       {
609:  if (_M_empty())
609:    __throw_bad_function_call();
609:  return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
609:       }
609: # 605 "/usr/include/c++/12/bits/std_fu205 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename _Tp>
1412: 
1412:  _If_sv<_Tp, int>
1412:  compare(size_type __pos1, size_type __n1, const _Tp& __svt,
1412:   size_type __pos2, size_type __n2 = npos) const
1412:  noexcept(is_same<_Tp, __sv_type>::value)
1412:  {
1412:    __sv_type __sv = __svt;
1412:    return __sv_type(*this)
1412:      .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
1412:  }
1412: # 3237 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       int
1412:       compare(size_type __pos, size_type __n, const basic_string& __str) const;
1412: # 3264 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       int
1412:       compare(size_type __pos1, size_type __n1, const basic_string& __str,
1412:        size_type __pos2, size_type __n2 = npos) const;
1412: # 3283 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       int
1412:       compare(const _CharT* __s) const noexcept;
1412: # 3308 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       int
1412:       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
1412: # 3336 "/usr/include/c++/12/bits/basic_string.h" 3
1412:      
1412:       int
1412:       compare(size_type __pos, size_type __n1, const _CharT* __s,
1412:        size_type __n2) const;
1412: # 3382 "/usr/include/c++/12/bits/basic_string.h" 3
1412:       template<typename, typename, typename> friend class basic_stringbuf;
1412:     };
1412: }
1412: 
1412: }
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: namespace __cxx11 {
1412:   template<typename _InputIterator, typename _CharT
1412:       = typename iterator_traits<_InputIterator>::value_type,
1412:     typename _Allocator = allocator<_CharT>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
1412:       -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits,
1412:     typename _Allocator = allocator<_CharT>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
1412:       -> basic_string<_CharT, _Traits, _Allocator>;
1412: 
1412:   template<typename _CharT, typename _Traits,
1412:     typename _Allocator = allocator<_CharT>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     basic_string(basic_string_view<_CharT, _Traits>,
1412:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1412:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1412:    const _Allocator& = _Allocator())
1412:       -> basic_string<_CharT, _Traits, _Allocator>;
1412: }
1412: # 3429 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     {
1412:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1412:       __str.append(__rhs);
1412:       return __str;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT,_Traits,_Alloc>
1412:     operator+(const _CharT* __lhs,
1412:        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT,_Traits,_Alloc>
1412:     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(const bas - size.Width(), y2 - size.Height()};
1417:   }
1417: 
1417:   this_type& operator+=(const size_type &size)
1417:   {
1417:     x2 += size.Width();
1417:     y2 += size.Height();
1417:     return *this;
1417:   };
1417: 
1417:   constexpr this_type operator+(const size_type &size) const
1417:   {
1417:     return {x1, y1, x2 + size.Width(), y2 + size.Height()};
1417:   }
1417: 
1417:   this_type& Intersect(const this_type &rect)
1417:   {
1417:     x1 = clamp_range(x1, rect.x1, rect.x2);
1417:     x2 = clamp_range(x2, rect.x1, rect.x2);
1417:     y1 = clamp_range(y1, rect.y1, rect.y2);
1417:     y2 = clamp_range(y2, rect.y1, rect.y2);
1417:     return *this;
1417:   };
1417: 
1417:   this_type& Union(const this_type &rect)
1417:   {
1417:     if (IsEmpty())
1417:       *this = rect;
1417:     else if (!rect.IsEmpty())
1417:     {
1417:       x1 = std::min(x1,rect.x1);
1417:       y1 = std::min(y1,rect.y1);
1417: 
1417:       x2 = std::max(x2,rect.x2);
1417:       y2 = std::max(y2,rect.y2);
1417:     }
1417: 
1417:     return *this;
1417:   };
1417: 
1417:   constexpr bool IsEmpty() const __attribute__((always_inline))
1417:   {
1417:     return (x2 - x1) * (y2 - y1) == 0;
1417:   };
1417: 
1417:   constexpr point_type P1() const __attribute__((always_inline))
1417:   {
1417:     return {x1, y1};
1417:   }
1417: 
1417:   constexpr point_type P2() const __attribute__((always_inline))
1417:   {
1417:     return {x2, y2};
1417:   }
1417: 
1417:   constexpr T Width() const __attribute__((always_inline))
1417:   {
1417:     return x2 - x1;
1417:   };
1417: 
1417:   constexpr T Height() const __attribute__((always_inline))
1417:   {
1417:     return y2 - y1;
1417:   };
1417: 
1417:   constexpr T Area() const __attribute__((always_inline))
1417:   {
1417:     return Width() * Height();
1417:   };
1417: 
1417:   size_type ToSize() const
1417:   {
1417:     return {Width(), Height()};
1417:   };
1417: 
1417:   std::vector<this_type> SubtractRect(this_type splitterRect)
1417:   {
1417:     std::vector<this_type> newRectanglesList;
1417:     this_type intersection = splitterRect.Intersect(*this);
1417: 
1417:     if (!intersection.IsEmpty())
1417:     {
1417:       this_type add;
1417: 
1417: 
1417:       add = this_type(x1, y1, x2, intersection.y1);
1417:       if (!add.IsEmpty())
1417:         newRectanglesList.push_back(add);
1417: 
1417: 
1417:       add = this_type(x1, intersection.y2, x2, y2);
1417:       if (!add.IsEmpty())
1417:         newRectanglesList.push_back(add);
1417: 
1417: 
1417:       add = this_type(x1, intersection.y1, intersection.x1, intersection.y2);
1417:       if (!add.IsEmpty())
1417:         newRectanglesList.push_back(add);
1417: 
1417: 
1417:       add = this_type(intersection.x2, intersection.y1, x2, intersection.y2);
1417:       if (!add.IsEmpty())
1417:         newRectanglesList.push_back(add);
1417:     }
1417:     else
1417:     {
1417:       newRectanglesList.push_back(*this);
1417:     }
1417: 
1417:     return newRectanglesList;
1417:   }
1417: 
1417:   std::vector<this_type> SubtractRects(std::vector<this_type> intersectionList)
1417:   {
1417:     std::vector<this_type> fragmentsList;
1417:     fragmentsList.push_back(*this);
1417: 
1417:     for (typename std::vector<this_type>::iterator splitter = intersectionList.begin(); splitter != intersectionList.end(); ++splitter)
1417:     {
1417:       typename std::vector<this_type> toAddList;
1417: 
1417:       for (typename std::vector<this_type>::iterator fragment = fragmentsList.begin(); fragment != fragmentsList.end(); ++fragment)
1417:       {
1417:         std::vector<this_type> newFragmentsList = fragment->SubtractRect(*splitter);
1417:         toAddList.insert(toAddList.end(), newFragmentsList.begin(), newFragmentsList.end());
1417:       }
1417: 
1417:       fragmentsList.clear();
1417:       fragmentsList.insert(fragmentsList.end(), toAddList.begin(), toAddList.end());
1417:     }
1417: 
1417:     return fragmentsList;
1417:   }
1417: 
1417:   void GetQuad(point_type (&points)[4])
1417:   {
1417:     points[0] = { x1, y1 };
1417:     points[1] = { x2, y1 };
1417:     points[2] = { x2, y2 };
1417:     points[3] = { x1, y2 };
1417:   }
1417: 
1417:   T x1{}, y1{}, x2{}, y2{};
1417: private:
1417:   static constexpr T clamp_range(T x, T l, T h) __attribute__((always_inline))
1417:   {
1417:     return (x > h) ? h : ((x < l) ? l : x);
1417:   }
1417: };
1417: 
1417: template<typename T>
1417: constexpr bool operator==(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1417: {
1417:   return (rect1.x1 == rect2.x1 && rect1.y1 == rect2.y1 && rect1.x2 == rect2.x2 && rect1.y2 == rect2.y2);
1417: }
1417: 
1417: template<typename T>
1417: constexpr bool operator!=(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1417: {
1417:   return !(rect1 == rect2);
1417: }
1417: 
1417: using CRect = CRectGen<float>;
1417: using CRectInt = CRectGen<int>;
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 2
1417: 
1417: 
1417: 
1417: class CDirtyRegion : public CRect
1417: {
1417: public:
1417:   explicit CDirtyRegion(const CRect &rect) : CRect(rect) { m_age = 0; }
1417:   CDirtyRegion(float left, float top, float right, float bottom) : CRect(left, top, right, bottom) { m_age = 0; }
1417:   CDirtyRegion() : CRect() { m_age = 0; }
1417: 
1417:   int UpdateAge() { return ++m_age; }
1417: private:
1417:   int m_age;
1417: };
1417: 
1417: typedef std::vector<CDirtyRegion> CDirtyRegionList;
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1417:        
1417: 
1417: enum ANIMATION_PROCESS { ANIM_PROCESS_NONE = 0, ANIM_PROCESS_NORMAL, ANIM_PROCESS_REVERSE };
1417: enum ANIMATION_STATE { ANIM_STATE_NONE = 0, ANIM_STATE_DELAYED, ANIM_STATE_IN_PROCESS, ANIM_STATE_APPLIED };
1417: 
1417: 
1417: 
1417: class TiXmlElement;
1417: class Tweener;
1417: class CGUIListItem;
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h"
1417:        
1417: 
1417: # 1 "/usr/include/c++/12/memory" 1 3
1417: # 47 "/usr/include/c++/12/memory" 3
1417:        
1417: # 48 "/usr/include/c++/12/memory" 3
1417: # 68 "/usr/include/c++/12/memory" 3
1417: # 1 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 1 3
1417: # 59 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 3
1417: 
1417: # 59 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <class _OutputIterator, class _Tp>
1417:     class [[__deprecated__]] raw_storage_iterator
1417:     : public iterator<output_iterator_tag, void, void, void, void>
1417:     {
1417:     protected:
1417:       _OutputIterator _M_iter;
1417: 
1417:     public:
1417:       explicit
1417:       raw_storage_iterator(_OutputIterator __x)
1417:       : _M_iter(__x) {}
1417: 
1417:       raw_storage_iterator&
1417:       operator*() { return *this; }
1417: 
1417:       raw_storage_iterator&
1417:       operator=(const _Tp& __element)
1417:       {
1417:  std::_Construct(std::__addressof(*_M_iter), __element);
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       raw_storage_iterator&
1417:       operator=(_Tp&& __element)
1417:       {
1417:  std::_Construct(std::__addressof(*_M_iter), std::move(__element));
1417:  return *this;
1417:       }
1417: 
1417: 
1417:       raw_storage_iterator&
1417:       operator++()
1417:       {
1417:  ++_M_iter;
1417:  return *this;
1417:       }
1417: 
1417:       raw_storage_iterator
1417:       operator++(int)
1417:       {
1417:  raw_storage_iterator __tmp = *this;
1417:  ++_M_iter;
1417:  return __tmp;
1417:       }
1417: 
1417: 
1417: 
1417:       _OutputIterator base() const { return _M_iter; }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: }
14nction.h" 3
609:       const type_info&
609:       target_type() const noexcept
609:       {
609:  if (_M_manager)
609:    {
609:      _Any_data __typeinfo_result;
609:      _M_manager(__typeinfo_result, _M_functor, __get_type_info);
609:      if (auto __ti = __typeinfo_result._M_access<const type_info*>())
609:        return *__ti;
609:    }
609:  return typeid(void);
609:       }
609: # 630 "/usr/include/c++/12/bits/std_function.h" 3
609:       template<typename _Functor>
609:  _Functor*
609:  target() noexcept
609:  {
609:    const function* __const_this = this;
609:    const _Functor* __func = __const_this->template target<_Functor>();
609: 
609: 
609:    return *const_cast<_Functor**>(&__func);
609:  }
609: 
609:       template<typename _Functor>
609:  const _Functor*
609:  target() const noexcept
609:  {
609:    if constexpr (is_object<_Functor>::value)
609:      {
609: 
609: 
609:        using _Handler = _Target_handler<_Res(_ArgTypes...), _Functor>;
609: 
609:        if (_M_manager == &_Handler::_M_manager
609: 
609:     || (_M_manager && typeid(_Functor) == target_type())
609: 
609:    )
609:   {
609:     _Any_data __ptr;
609:     _M_manager(__ptr, _M_functor, __get_functor_ptr);
609:     return __ptr._M_access<const _Functor*>();
609:   }
609:      }
609:    return nullptr;
609:  }
609: 
609: 
609:     private:
609:       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
609:       _Invoker_type _M_invoker = nullptr;
609:     };
609: 
609: 
609:   template<typename>
609:     struct __function_guide_helper
609:     { };
609: 
609:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
609:     struct __function_guide_helper<
609:       _Res (_Tp::*) (_Args...) noexcept(_Nx)
609:     >
609:     { using type = _Res(_Args...); };
609: 
609:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
609:     struct __function_guide_helper<
609:       _Res (_Tp::*) (_Args...) & noexcept(_Nx)
609:     >
609:     { using type = _Res(_Args...); };
609: 
609:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
609:     struct __function_guide_helper<
609:       _Res (_Tp::*) (_Args...) const noexcept(_Nx)
609:     >
609:     { using type = _Res(_Args...); };
609: 
609:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
609:     struct __function_guide_helper<
609:       _Res (_Tp::*) (_Args...) const & noexcept(_Nx)
609:     >
609:     { using type = _Res(_Args...); };
609: 
609:   template<typename _Res, typename... _ArgTypes>
609:     function(_Res(*)(_ArgTypes...)) -> function<_Res(_ArgTypes...)>;
609: 
609:   template<typename _Functor, typename _Signature = typename
609:     __function_guide_helper<decltype(&_Functor::operator())>::type>
609:     function(_Functor) -> function<_Signature>;
609: # 716 "/usr/include/c++/12/bits/std_function.h" 3
609:   template<typename _Res, typename... _Args>
609:     inline bool
609:     operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
609:     { return !static_cast<bool>(__f); }
609: 
609: 
609: 
609:   template<typename _Res, typename... _Args>
609:     inline bool
609:     operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
609:     { return !static_cast<bool>(__f); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Res, typename... _Args>
609:     inline bool
609:     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
609:     { return static_cast<bool>(__f); }
609: 
609: 
609:   template<typename _Res, typename... _Args>
609:     inline bool
609:     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
609:     { return static_cast<bool>(__f); }
609: # 755 "/usr/include/c++/12/bits/std_function.h" 3
609:   template<typename _Res, typename... _Args>
609:     inline void
609:     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
609:     { __x.swap(__y); }
609: 
609: 
609:   namespace __detail::__variant
609:   {
609:     template<typename> struct _Never_valueless_alt;
609: 
609: 
609: 
609:    17: # 69 "/usr/include/c++/12/memory" 2 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/align.h" 1 3
1417: # 35 "/usr/include/c++/12/bits/align.h" 3
1417: # 1 "/usr/include/c++/12/bit" 1 3
1417: # 32 "/usr/include/c++/12/bit" 3
1417:        
1417: # 33 "/usr/include/c++/12/bit" 3
1417: # 55 "/usr/include/c++/12/bit" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 149 "/usr/include/c++/12/bit" 3
1417:   template<typename _Tp>
1417:     constexpr _Tp
1417:     __rotl(_Tp __x, int __s) noexcept
1417:     {
1417:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1417:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1417:  {
1417: 
1417: 
1417:    constexpr unsigned __uNd = _Nd;
1417:    const unsigned __r = __s;
1417:    return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
1417:  }
1417:       const int __r = __s % _Nd;
1417:       if (__r == 0)
1417:  return __x;
1417:       else if (__r > 0)
1417:  return (__x << __r) | (__x >> ((_Nd - __r) % _Nd));
1417:       else
1417:  return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd));
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr _Tp
1417:     __rotr(_Tp __x, int __s) noexcept
1417:     {
1417:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1417:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1417:  {
1417: 
1417: 
1417:    constexpr unsigned __uNd = _Nd;
1417:    const unsigned __r = __s;
1417:    return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
1417:  }
1417:       const int __r = __s % _Nd;
1417:       if (__r == 0)
1417:  return __x;
1417:       else if (__r > 0)
1417:  return (__x >> __r) | (__x << ((_Nd - __r) % _Nd));
1417:       else
1417:  return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd));
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr int
1417:     __countl_zero(_Tp __x) noexcept
1417:     {
1417:       using __gnu_cxx::__int_traits;
1417:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1417: 
1417:       if (__x == 0)
1417:         return _Nd;
1417: 
1417:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1417:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1417:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1417: 
1417:       if constexpr (_Nd <= _Nd_u)
1417:  {
1417:    constexpr int __diff = _Nd_u - _Nd;
1417:    return __builtin_clz(__x) - __diff;
1417:  }
1417:       else if constexpr (_Nd <= _Nd_ul)
1417:  {
1417:    constexpr int __diff = _Nd_ul - _Nd;
1417:    return __builtin_clzl(__x) - __diff;
1417:  }
1417:       else if constexpr (_Nd <= _Nd_ull)
1417:  {
1417:    constexpr int __diff = _Nd_ull - _Nd;
1417:    return __builtin_clzll(__x) - __diff;
1417:  }
1417:       else
1417:  {
1417:    static_assert(_Nd <= (2 * _Nd_ull),
1417:    "Maximum supported integer size is 128-bit");
1417: 
1417:    unsigned long long __high = __x >> _Nd_ull;
1417:    if (__high != 0)
1417:      {
1417:        constexpr int __diff = (2 * _Nd_ull) - _Nd;
1417:        return __builtin_clzll(__high) - __diff;
1417:      }
1417:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1417:    unsigned long long __low = __x & __max_ull;
1417:    return (_Nd - _Nd_ull) + __builtin_clzll(__low);
1417:  }
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr int
1417:     __countl_one(_Tp __x) noexcept
1417:     {
1417:       return std::__countl_zero<_Tp>((_Tp)~__x);
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr int
1417:     __countr_zero(_Tp __x) noexcept
1417:     {
1417:       using __gnu_cxx::__int_traits;
1417:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1417: 
1417:       if (__x == 0)
1417:         return _Nd;
1417: 
1417:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1417:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1417:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1417: 
1417:       if constexpr (_Nd <= _Nd_u)
1417:  returnic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:        const _CharT* __rhs)
1412:     {
1412:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1412:       __str.append(__rhs);
1412:       return __str;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
1412:     {
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef typename __string_type::size_type __size_type;
1412:       __string_type __str(__lhs);
1412:       __str.append(__size_type(1), __rhs);
1412:       return __str;
1412:     }
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1412:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     { return std::move(__lhs.append(__rhs)); }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1412:     { return std::move(__rhs.insert(0, __lhs)); }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1412:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1412:     {
1412: 
1412:       using _Alloc_traits = allocator_traits<_Alloc>;
1412:       bool __use_rhs = false;
1412:       if constexpr (typename _Alloc_traits::is_always_equal{})
1412:  __use_rhs = true;
1412:       else if (__lhs.get_allocator() == __rhs.get_allocator())
1412:  __use_rhs = true;
1412:       if (__use_rhs)
1412: 
1412:  {
1412:    const auto __size = __lhs.size() + __rhs.size();
1412:    if (__size > __lhs.capacity() && __size <= __rhs.capacity())
1412:      return std::move(__rhs.insert(0, __lhs));
1412:  }
1412:       return std::move(__lhs.append(__rhs));
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(const _CharT* __lhs,
1412:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1412:     { return std::move(__rhs.insert(0, __lhs)); }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(_CharT __lhs,
1412:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1412:     { return std::move(__rhs.insert(0, 1, __lhs)); }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1412:        const _CharT* __rhs)
1412:     { return std::move(__lhs.append(__rhs)); }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1412:        _CharT __rhs)
1412:     { return std::move(__lhs.append(1, __rhs)); }
1412: # 3572 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline bool
1412:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     noexcept
1412:     { return __lhs.compare(__rhs) == 0; }
1412: 
1412:   template<typename _CharT>
1412:    
1412:     inline
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type
1412:     operator==(const basic_string<_CharT>& __lhs,
1412:         const basic_string<_CharT>& __r template<typename _Signature>
609:       struct _Never_valueless_alt<std::function<_Signature>>
609:       : std::true_type
609:       { };
609:   }
609: 
609: 
609: 
609: }
609: # 60 "/usr/include/c++/12/functional" 2 3
609: 
609: # 1 "/usr/include/c++/12/unordered_map" 1 3
609: # 32 "/usr/include/c++/12/unordered_map" 3
609:        
609: # 33 "/usr/include/c++/12/unordered_map" 3
609: # 46 "/usr/include/c++/12/unordered_map" 3
609: # 1 "/usr/include/c++/12/bits/hashtable.h" 1 3
609: # 33 "/usr/include/c++/12/bits/hashtable.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/hashtable.h" 3
609: 
609: # 1 "/usr/include/c++/12/bits/hashtable_policy.h" 1 3
609: # 40 "/usr/include/c++/12/bits/hashtable_policy.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     class _Hashtable;
609: 
609: namespace __detail
609: {
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Equal, typename _Hash, typename _RangeHash,
609:     typename _Unused, typename _Traits>
609:     struct _Hashtable_base;
609: 
609: 
609: 
609:   template<typename _Iterator>
609:     inline typename std::iterator_traits<_Iterator>::difference_type
609:     __distance_fw(_Iterator __first, _Iterator __last,
609:     std::input_iterator_tag)
609:     { return __first != __last ? 1 : 0; }
609: 
609:   template<typename _Iterator>
609:     inline typename std::iterator_traits<_Iterator>::difference_type
609:     __distance_fw(_Iterator __first, _Iterator __last,
609:     std::forward_iterator_tag)
609:     { return std::distance(__first, __last); }
609: 
609:   template<typename _Iterator>
609:     inline typename std::iterator_traits<_Iterator>::difference_type
609:     __distance_fw(_Iterator __first, _Iterator __last)
609:     { return __distance_fw(__first, __last,
609:       std::__iterator_category(__first)); }
609: 
609:   struct _Identity
609:   {
609:     template<typename _Tp>
609:       _Tp&&
609:       operator()(_Tp&& __x) const noexcept
609:       { return std::forward<_Tp>(__x); }
609:   };
609: 
609:   struct _Select1st
609:   {
609:     template<typename _Pair>
609:       struct __1st_type;
609: 
609:     template<typename _Tp, typename _Up>
609:       struct __1st_type<pair<_Tp, _Up>>
609:       { using type = _Tp; };
609: 
609:     template<typename _Tp, typename _Up>
609:       struct __1st_type<const pair<_Tp, _Up>>
609:       { using type = const _Tp; };
609: 
609:     template<typename _Pair>
609:       struct __1st_type<_Pair&>
609:       { using type = typename __1st_type<_Pair>::type&; };
609: 
609:     template<typename _Tp>
609:       typename __1st_type<_Tp>::type&&
609:       operator()(_Tp&& __x) const noexcept
609:       { return std::forward<_Tp>(__x).first; }
609:   };
609: 
609:   template<typename _ExKey>
609:     struct _NodeBuilder;
609: 
609:   template<>
609:     struct _NodeBuilder<_Select1st>
609:     {
609:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
609:  static auto
609:  _S_build(_Kt&& __k, _Arg&& __arg, const _NodeGenerator& __node_gen)
609:  -> typename _NodeGenerator::__node_type*
609:  {
609:    return __node_gen(std::forward<_Kt>(__k),
609:        std::forward<_Arg>(__arg).second);
609:  }
609:     };
609: 
609:   template<>
609:     struct _NodeBuilder<_Identity>
609:     {
609:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
609:  static auto
609:  _S_build(_Kt&& __k, _Arg&&, const _NodeGenerator& __node_gen)
609:  -> typename _NodeGenerator::__node_type*
609:  { return __node_gen(std::forward<_Kt>(__k)); }
609:     };
609: 
609:   template<typename _NodeAlloc>
609:     struct _Hashtable_alloc;
609: 
609: 
609: 
609:   template<typename _NodeAlloc>
609:     struct _ReuseOrAllocNode
609:     {
609:     private:
609:       usin __builtin_ctz(__x);
1417:       else if constexpr (_Nd <= _Nd_ul)
1417:  return __builtin_ctzl(__x);
1417:       else if constexpr (_Nd <= _Nd_ull)
1417:  return __builtin_ctzll(__x);
1417:       else
1417:  {
1417:    static_assert(_Nd <= (2 * _Nd_ull),
1417:    "Maximum supported integer size is 128-bit");
1417: 
1417:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1417:    unsigned long long __low = __x & __max_ull;
1417:    if (__low != 0)
1417:      return __builtin_ctzll(__low);
1417:    unsigned long long __high = __x >> _Nd_ull;
1417:    return __builtin_ctzll(__high) + _Nd_ull;
1417:  }
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr int
1417:     __countr_one(_Tp __x) noexcept
1417:     {
1417:       return std::__countr_zero((_Tp)~__x);
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr int
1417:     __popcount(_Tp __x) noexcept
1417:     {
1417:       using __gnu_cxx::__int_traits;
1417:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1417: 
1417:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1417:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1417:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1417: 
1417:       if constexpr (_Nd <= _Nd_u)
1417:  return __builtin_popcount(__x);
1417:       else if constexpr (_Nd <= _Nd_ul)
1417:  return __builtin_popcountl(__x);
1417:       else if constexpr (_Nd <= _Nd_ull)
1417:  return __builtin_popcountll(__x);
1417:       else
1417:  {
1417:    static_assert(_Nd <= (2 * _Nd_ull),
1417:    "Maximum supported integer size is 128-bit");
1417: 
1417:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1417:    unsigned long long __low = __x & __max_ull;
1417:    unsigned long long __high = __x >> _Nd_ull;
1417:    return __builtin_popcountll(__low) + __builtin_popcountll(__high);
1417:  }
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr bool
1417:     __has_single_bit(_Tp __x) noexcept
1417:     { return std::__popcount(__x) == 1; }
1417: 
1417:   template<typename _Tp>
1417:     constexpr _Tp
1417:     __bit_ceil(_Tp __x) noexcept
1417:     {
1417:       using __gnu_cxx::__int_traits;
1417:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1417:       if (__x == 0 || __x == 1)
1417:         return 1;
1417:       auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u));
1417: 
1417: 
1417: 
1417: 
1417:       if (!std::__is_constant_evaluated())
1417:  {
1417:    do { if (std::__is_constant_evaluated() && !bool(__shift_exponent != __int_traits<_Tp>::__digits)) __builtin_unreachable(); } while (false);
1417:  }
1417: 
1417:       using __promoted_type = decltype(__x << 1);
1417:       if constexpr (!is_same<__promoted_type, _Tp>::value)
1417:  {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2;
1417:    __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp;
1417:  }
1417:       return (_Tp)1u << __shift_exponent;
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr _Tp
1417:     __bit_floor(_Tp __x) noexcept
1417:     {
1417:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1417:       if (__x == 0)
1417:         return 0;
1417:       return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     constexpr _Tp
1417:     __bit_width(_Tp __x) noexcept
1417:     {
1417:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1417:       return _Nd - std::__countl_zero(__x);
1417:     }
1417: # 476 "/usr/include/c++/12/bit" 3
1417: 
1417: }
1417: # 36 "/usr/include/c++/12/bits/align.h" 2 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 61 "/usr/include/c++/12/bits/align.h" 3
1417: inline void*
1417: align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept
1417: {
1417:   if (__space < __size)
1417:     return nullptr;
1417:   const auhs) noexcept
1412:     { return (__lhs.size() == __rhs.size()
1412:        && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),
1412:           __lhs.size())); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline bool
1412:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const _CharT* __rhs)
1412:     { return __lhs.compare(__rhs) == 0; }
1412: # 3638 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator==(const _CharT* __lhs,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     { return __rhs.compare(__lhs) == 0; }
1412: # 3651 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     noexcept
1412:     { return !(__lhs == __rhs); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator!=(const _CharT* __lhs,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     { return !(__lhs == __rhs); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const _CharT* __rhs)
1412:     { return !(__lhs == __rhs); }
1412: # 3689 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     noexcept
1412:     { return __lhs.compare(__rhs) < 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:        const _CharT* __rhs)
1412:     { return __lhs.compare(__rhs) < 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator<(const _CharT* __lhs,
1412:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     { return __rhs.compare(__lhs) > 0; }
1412: # 3727 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     noexcept
1412:     { return __lhs.compare(__rhs) > 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:        const _CharT* __rhs)
1412:     { return __lhs.compare(__rhs) > 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator>(const _CharT* __lhs,
1412:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     { return __rhs.compare(__lhs) < 0; }
1412: # 3765 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     noexcept
1412:     { return __lhs.compare(__rhs) <= 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator<=(to __intptr = reinterpret_cast<uintptr_t>(__ptr);
1417:   const auto __aligned = (__intptr - 1u + __align) & -__align;
1417:   const auto __diff = __aligned - __intptr;
1417:   if (__diff > (__space - __size))
1417:     return nullptr;
1417:   else
1417:     {
1417:       __space -= __diff;
1417:       return __ptr = reinterpret_cast<void*>(__aligned);
1417:     }
1417: }
1417: # 108 "/usr/include/c++/12/bits/align.h" 3
1417: 
1417: }
1417: # 73 "/usr/include/c++/12/memory" 2 3
1417: # 1 "/usr/include/c++/12/bits/uses_allocator.h" 1 3
1417: # 35 "/usr/include/c++/12/bits/uses_allocator.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   struct __erased_type { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Alloc, typename _Tp>
1417:     using __is_erased_or_convertible
1417:       = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
1417: 
1417: 
1417:   struct allocator_arg_t { explicit allocator_arg_t() = default; };
1417: 
1417:   inline constexpr allocator_arg_t allocator_arg =
1417:     allocator_arg_t();
1417: 
1417:   template<typename _Tp, typename _Alloc, typename = __void_t<>>
1417:     struct __uses_allocator_helper
1417:     : false_type { };
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     struct __uses_allocator_helper<_Tp, _Alloc,
1417:        __void_t<typename _Tp::allocator_type>>
1417:     : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     struct uses_allocator
1417:     : __uses_allocator_helper<_Tp, _Alloc>::type
1417:     { };
1417: 
1417:   struct __uses_alloc_base { };
1417: 
1417:   struct __uses_alloc0 : __uses_alloc_base
1417:   {
1417:     struct _Sink { void operator=(const void*) { } } _M_a;
1417:   };
1417: 
1417:   template<typename _Alloc>
1417:     struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
1417: 
1417:   template<typename _Alloc>
1417:     struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
1417: 
1417:   template<bool, typename _Tp, typename _Alloc, typename... _Args>
1417:     struct __uses_alloc;
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     struct __uses_alloc<true, _Tp, _Alloc, _Args...>
1417:     : __conditional_t<
1417:         is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
1417:         __uses_alloc1<_Alloc>,
1417:         __uses_alloc2<_Alloc>>
1417:     {
1417: 
1417: 
1417:       static_assert(__or_<
1417:    is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
1417:    is_constructible<_Tp, _Args..., const _Alloc&>>::value,
1417:    "construction with an allocator must be possible"
1417:    " if uses_allocator is true");
1417:     };
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     struct __uses_alloc<false, _Tp, _Alloc, _Args...>
1417:     : __uses_alloc0 { };
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     using __uses_alloc_t =
1417:       __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:    
1417:     inline __uses_alloc_t<_Tp, _Alloc, _Args...>
1417:     __use_alloc(const _Alloc& __a)
1417:     {
1417:       __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
1417:       __ret._M_a = std::__addressof(__a);
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     void
1417:     __use_alloc(const _Alloc&&) = delete;
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     inline constexpr bool uses_allocator_v =
1417:       uses_allocator<_Tp, _Alloc>::value;
1417: 
1417: 
1417:   template<template<typename...> class _Predicate,
1417:     typename _Tp, typename _Alloc, typename... _Args>
1417:     struct __is_uses_allocator_predicate
1417:     : __conditional_t<uses_allocator<_Tp, _Alloc>::value,
1417:       __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
1417:      _Predicate<_Tp, _Args..., _Alloc>>,
1417:       _Predicate<_Tp, _Args...>> { };
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     struct __is_uses_allocator_constructible
1417:     : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     inline constexpr bool __is_uses_allocator_constructible_v =
1417:       __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     struct __is_nothrow_uses_allocator_constructible
1417:     : __is_uses_allocator_predicate<is_nothrow_constructible,
1417:         _Tp, _Alloc, _Args...>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     inline constexpr bool
1417:     __is_nothrow_uses_allocator_constructible_v =
1417:       __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1417: 
1417: 
1417:   template<typename _Tp, typename... _Args>
1417:     void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr,
1417:       _Args&&... __args)
1417:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
1417:       _Args&&... __args)
1417:     {
1417:       ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a,
1417:           std::forward<_Args>(__args)...);
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
1417:       _Args&&... __args)
1417:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
1417: 
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
1417:         _Args&&... __args)
1417:     {
1417:       std::__uses_allocator_construct_impl(
1417:    std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
1417:    std::forward<_Args>(__args)...);
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: # 74 "/usr/include/c++/12/memory" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/unique_ptr.h" 1 3
1417: # 36 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417: # 1 "/usr/include/c++/12/tuple" 1 3
1417: # 32 "/usr/include/c++/12/tuple" 3
1417:        
1417: # 33 "/usr/include/c++/12/tuple" 3
1417: # 47 "/usr/include/c++/12/tuple" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename... _Elements>
1417:     class tuple;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_empty_non_tuple : is_empty<_Tp> { };
1417: 
1417: 
1417:   template<typename _El0, typename... _El>
1417:     struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using __empty_not_final
1417:     = __conditional_t<__is_final(_Tp), false_type,
1417:         __is_empty_non_tuple<_Tp>>;
1417: 
1417:   template<size_t _Idx, typename _Head,
1417:     bool = __empty_not_final<_Head>::value>
1417:     struct _Head_base;
1417: 
1417: 
1417:   template<size_t _Idx, typename _Head>
1417:     struct _Head_base<_Idx, _Head, true>
1417:     {
1417:       constexpr _Head_base()
1417:       : _M_head_impl() { }
1417: 
1417:       constexpr _Head_base(const _Head& __h)
1417:       : _M_head_impl(__h) { }
1417: 
1417:       constexpr _Head_base(const _Head_base&) = default;
1417:       constexpr _Head_base(_Head_base&&) = default;
1417: 
1417:       template<typename _UHead>
1417:  constexpr _Head_base(_UHead&& __h)
1417:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1417: 
1417:      
1417:       _Head_base(allocator_arg_t, __uses_alloc0)
1417:       : _M_head_impl() { }
1417: 
1417:  g __node_alloc_type = _NodeAlloc;
609:       using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>;
609:       using __node_alloc_traits =
609:  typename __hashtable_alloc::__node_alloc_traits;
609: 
609:     public:
609:       using __node_type = typename __hashtable_alloc::__node_type;
609: 
609:       _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h)
609:       : _M_nodes(__nodes), _M_h(__h) { }
609:       _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete;
609: 
609:       ~_ReuseOrAllocNode()
609:       { _M_h._M_deallocate_nodes(_M_nodes); }
609: 
609:       template<typename... _Args>
609:  __node_type*
609:  operator()(_Args&&... __args) const
609:  {
609:    if (_M_nodes)
609:      {
609:        __node_type* __node = _M_nodes;
609:        _M_nodes = _M_nodes->_M_next();
609:        __node->_M_nxt = nullptr;
609:        auto& __a = _M_h._M_node_allocator();
609:        __node_alloc_traits::destroy(__a, __node->_M_valptr());
609:        try
609:   {
609:     __node_alloc_traits::construct(__a, __node->_M_valptr(),
609:        std::forward<_Args>(__args)...);
609:   }
609:        catch(...)
609:   {
609:     _M_h._M_deallocate_node_ptr(__node);
609:     throw;
609:   }
609:        return __node;
609:      }
609:    return _M_h._M_allocate_node(std::forward<_Args>(__args)...);
609:  }
609: 
609:     private:
609:       mutable __node_type* _M_nodes;
609:       __hashtable_alloc& _M_h;
609:     };
609: 
609: 
609: 
609:   template<typename _NodeAlloc>
609:     struct _AllocNode
609:     {
609:     private:
609:       using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>;
609: 
609:     public:
609:       using __node_type = typename __hashtable_alloc::__node_type;
609: 
609:       _AllocNode(__hashtable_alloc& __h)
609:       : _M_h(__h) { }
609: 
609:       template<typename... _Args>
609:  __node_type*
609:  operator()(_Args&&... __args) const
609:  { return _M_h._M_allocate_node(std::forward<_Args>(__args)...); }
609: 
609:     private:
609:       __hashtable_alloc& _M_h;
609:     };
609: # 243 "/usr/include/c++/12/bits/hashtable_policy.h" 3
609:   template<bool _Cache_hash_code, bool _Constant_iterators, bool _Unique_keys>
609:     struct _Hashtable_traits
609:     {
609:       using __hash_cached = __bool_constant<_Cache_hash_code>;
609:       using __constant_iterators = __bool_constant<_Constant_iterators>;
609:       using __unique_keys = __bool_constant<_Unique_keys>;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Hash>
609:     struct _Hashtable_hash_traits
609:     {
609:       static constexpr std::size_t
609:       __small_size_threshold() noexcept
609:       { return std::__is_fast_hash<_Hash>::value ? 0 : 20; }
609:     };
609: # 273 "/usr/include/c++/12/bits/hashtable_policy.h" 3
609:   struct _Hash_node_base
609:   {
609:     _Hash_node_base* _M_nxt;
609: 
609:     _Hash_node_base() noexcept : _M_nxt() { }
609: 
609:     _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { }
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Value>
609:     struct _Hash_node_value_base
609:     {
609:       typedef _Value value_type;
609: 
609:       __gnu_cxx::__aligned_buffer<_Value> _M_storage;
609: 
609:       _Value*
609:       _M_valptr() noexcept
609:       { return _M_storage._M_ptr(); }
609: 
609:       const _Value*
609:       _M_valptr() const noexcept
609:       { return _M_storage._M_ptr(); }
609: 
609:       _Value&
609:       _M_v() noexcept
609:       { return *_M_valptr(); }
609: 
609:       const _Value&
609:       _M_v() const noexcept
609:       { return *_M_valptr(); }
609:     };
609: 
609: 
609: 
609: 
609:   template<bool _Cache_hash_code>
609:     struct _Hash_node_code_cache
609:     { };
609: 
609: 
609: 
609: 
609:   template<>
609:     struct _Hash_node_code_cache<true>
609:     { std::size_t _M_hash_code; };
609: 
609:   template<typename _Value, bool _Cache_hash_code>
609:     struct _Hash_node_value
609:     : _Hash_node_value_base<_Value>
609:     , _Hash_node_code_cache<_Cache_hash_code>
60const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const _CharT* __rhs)
1412:     { return __lhs.compare(__rhs) <= 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator<=(const _CharT* __lhs,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     { return __rhs.compare(__lhs) >= 0; }
1412: # 3803 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     noexcept
1412:     { return __lhs.compare(__rhs) >= 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:         const _CharT* __rhs)
1412:     { return __lhs.compare(__rhs) >= 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline bool
1412:     operator>=(const _CharT* __lhs,
1412:       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     { return __rhs.compare(__lhs) <= 0; }
1412: # 3842 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     inline void
1412:     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
1412:   basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     noexcept(noexcept(__lhs.swap(__rhs)))
1412:     { __lhs.swap(__rhs); }
1412: # 3863 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     basic_istream<_CharT, _Traits>&
1412:     operator>>(basic_istream<_CharT, _Traits>& __is,
1412:         basic_string<_CharT, _Traits, _Alloc>& __str);
1412: 
1412:   template<>
1412:     basic_istream<char>&
1412:     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
1412: # 3881 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __str)
1412:     {
1412: 
1412: 
1412:       return __ostream_insert(__os, __str.data(), __str.size());
1412:     }
1412: # 3904 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     basic_istream<_CharT, _Traits>&
1412:     getline(basic_istream<_CharT, _Traits>& __is,
1412:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
1412: # 3921 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline basic_istream<_CharT, _Traits>&
1412:     getline(basic_istream<_CharT, _Traits>& __is,
1412:      basic_string<_CharT, _Traits, _Alloc>& __str)
1412:     { return std::getline(__is, __str, __is.widen('\n')); }
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline basic_istream<_CharT, _Traits>&
1412:     getline(basic_istream<_CharT, _Traits>&& __is,
1412:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1412:     { return std::getline(__is, __str, __delim); }
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     inline basic_istream<_CharT, _Traits>&
1412:     getline(basic_istream<_CharT, _Traits>&& __is,
1412:      basic_string<_CharT, _Traits, _Alloc>& __str)
1412:     { return std::getline(__is, __str); }
1412: 
1412: 
1412:   template<>
1412:     basic_istream<char>&
1412:     getline(basic_istream<char>& __in, basic_string<char>& __str,
1412:      char __delim);
1412: 
1412: 
1412:   template<>
1412:     basic_istream<wchar_t>&
1412:     getline(basic_istream<wcha     template<typename _Alloc>
1417: 
1417:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1417:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1417:  : _M_head_impl(*__a._M_a) { }
1417: 
1417:       template<typename _UHead>
1417: 
1417:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1417:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1417: 
1417:       template<typename _Alloc, typename _UHead>
1417: 
1417:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1417:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead>
1417: 
1417:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1417:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1417: 
1417:       static constexpr _Head&
1417:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1417: 
1417:       static constexpr const _Head&
1417:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1417: 
1417:       [[__no_unique_address__]] _Head _M_head_impl;
1417:     };
1417: # 186 "/usr/include/c++/12/tuple" 3
1417:   template<size_t _Idx, typename _Head>
1417:     struct _Head_base<_Idx, _Head, false>
1417:     {
1417:       constexpr _Head_base()
1417:       : _M_head_impl() { }
1417: 
1417:       constexpr _Head_base(const _Head& __h)
1417:       : _M_head_impl(__h) { }
1417: 
1417:       constexpr _Head_base(const _Head_base&) = default;
1417:       constexpr _Head_base(_Head_base&&) = default;
1417: 
1417:       template<typename _UHead>
1417:         constexpr _Head_base(_UHead&& __h)
1417:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1417: 
1417:      
1417:       _Head_base(allocator_arg_t, __uses_alloc0)
1417:       : _M_head_impl() { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1417:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1417:  : _M_head_impl(*__a._M_a) { }
1417: 
1417:       template<typename _UHead>
1417: 
1417:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1417:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1417: 
1417:       template<typename _Alloc, typename _UHead>
1417: 
1417:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1417:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead>
1417: 
1417:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1417:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1417: 
1417:       static constexpr _Head&
1417:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1417: 
1417:       static constexpr const _Head&
1417:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1417: 
1417:       _Head _M_head_impl;
1417:     };
1417: # 249 "/usr/include/c++/12/tuple" 3
1417:   template<size_t _Idx, typename... _Elements>
1417:     struct _Tuple_impl;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<size_t _Idx, typename _Head, typename... _Tail>
1417:     struct _Tuple_impl<_Idx, _Head, _Tail...>
1417:     : public _Tuple_impl<_Idx + 1, _Tail...>,
1417:       private _Head_base<_Idx, _Head>
1417:     {
1417:       template<size_t, typename...> friend struct _Tuple_impl;
1417: 
1417:       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
1417:       typedef _Head_base<_Idx, _Head> _Base;
1417: 
1417:       static constexpr _Head&
1417:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1417: 
1417:       static constexpr const _Head&
1417:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1417: 
1417:       static constexpr _Inherited&
1417:       _M_tail(_Tuple_impl& __t) noexcept { return __t; }
1417: 
1417:       static constexpr const _I9:     { };
609: 
609: 
609: 
609: 
609:   template<typename _Value, bool _Cache_hash_code>
609:     struct _Hash_node
609:     : _Hash_node_base
609:     , _Hash_node_value<_Value, _Cache_hash_code>
609:     {
609:       _Hash_node*
609:       _M_next() const noexcept
609:       { return static_cast<_Hash_node*>(this->_M_nxt); }
609:     };
609: 
609: 
609:   template<typename _Value, bool _Cache_hash_code>
609:     struct _Node_iterator_base
609:     {
609:       using __node_type = _Hash_node<_Value, _Cache_hash_code>;
609: 
609:       __node_type* _M_cur;
609: 
609:       _Node_iterator_base() : _M_cur(nullptr) { }
609:       _Node_iterator_base(__node_type* __p) noexcept
609:       : _M_cur(__p) { }
609: 
609:       void
609:       _M_incr() noexcept
609:       { _M_cur = _M_cur->_M_next(); }
609: 
609:       friend bool
609:       operator==(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
609:       noexcept
609:       { return __x._M_cur == __y._M_cur; }
609: 
609: 
609:       friend bool
609:       operator!=(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
609:       noexcept
609:       { return __x._M_cur != __y._M_cur; }
609: 
609:     };
609: 
609: 
609:   template<typename _Value, bool __constant_iterators, bool __cache>
609:     struct _Node_iterator
609:     : public _Node_iterator_base<_Value, __cache>
609:     {
609:     private:
609:       using __base_type = _Node_iterator_base<_Value, __cache>;
609:       using __node_type = typename __base_type::__node_type;
609: 
609:     public:
609:       using value_type = _Value;
609:       using difference_type = std::ptrdiff_t;
609:       using iterator_category = std::forward_iterator_tag;
609: 
609:       using pointer = __conditional_t<__constant_iterators,
609:           const value_type*, value_type*>;
609: 
609:       using reference = __conditional_t<__constant_iterators,
609:      const value_type&, value_type&>;
609: 
609:       _Node_iterator() = default;
609: 
609:       explicit
609:       _Node_iterator(__node_type* __p) noexcept
609:       : __base_type(__p) { }
609: 
609:       reference
609:       operator*() const noexcept
609:       { return this->_M_cur->_M_v(); }
609: 
609:       pointer
609:       operator->() const noexcept
609:       { return this->_M_cur->_M_valptr(); }
609: 
609:       _Node_iterator&
609:       operator++() noexcept
609:       {
609:  this->_M_incr();
609:  return *this;
609:       }
609: 
609:       _Node_iterator
609:       operator++(int) noexcept
609:       {
609:  _Node_iterator __tmp(*this);
609:  this->_M_incr();
609:  return __tmp;
609:       }
609:     };
609: 
609: 
609:   template<typename _Value, bool __constant_iterators, bool __cache>
609:     struct _Node_const_iterator
609:     : public _Node_iterator_base<_Value, __cache>
609:     {
609:     private:
609:       using __base_type = _Node_iterator_base<_Value, __cache>;
609:       using __node_type = typename __base_type::__node_type;
609: 
609:     public:
609:       typedef _Value value_type;
609:       typedef std::ptrdiff_t difference_type;
609:       typedef std::forward_iterator_tag iterator_category;
609: 
609:       typedef const value_type* pointer;
609:       typedef const value_type& reference;
609: 
609:       _Node_const_iterator() = default;
609: 
609:       explicit
609:       _Node_const_iterator(__node_type* __p) noexcept
609:       : __base_type(__p) { }
609: 
609:       _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators,
609:       __cache>& __x) noexcept
609:       : __base_type(__x._M_cur) { }
609: 
609:       reference
609:       operator*() const noexcept
609:       { return this->_M_cur->_M_v(); }
609: 
609:       pointer
609:       operator->() const noexcept
609:       { return this->_M_cur->_M_valptr(); }
609: 
609:       _Node_const_iterator&
609:       operator++() noexcept
609:       {
609:  this->_M_incr();
609:  return *this;
609:       }
609: 
609:       _Node_const_iterator
609:       operator++(int) noexcept
609:       {
609:  _Node_const_iterator __tmp(*this);
609:  tnherited&
1417:       _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
1417: 
1417:       constexpr _Tuple_impl()
1417:       : _Inherited(), _Base() { }
1417: 
1417:       explicit constexpr
1417:       _Tuple_impl(const _Head& __head, const _Tail&... __tail)
1417:       : _Inherited(__tail...), _Base(__head)
1417:       { }
1417: 
1417:       template<typename _UHead, typename... _UTail,
1417:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1417:  explicit constexpr
1417:  _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
1417:  : _Inherited(std::forward<_UTail>(__tail)...),
1417:    _Base(std::forward<_UHead>(__head))
1417:  { }
1417: 
1417:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1417: 
1417: 
1417: 
1417:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1417: 
1417:       _Tuple_impl(_Tuple_impl&&) = default;
1417: 
1417:       template<typename... _UElements>
1417:  constexpr
1417:  _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
1417:  : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
1417:    _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in))
1417:  { }
1417: 
1417:       template<typename _UHead, typename... _UTails>
1417:  constexpr
1417:  _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1417:  : _Inherited(std::move
1417:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1417:    _Base(std::forward<_UHead>
1417:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1417:  : _Inherited(__tag, __a),
1417:    _Base(__tag, __use_alloc<_Head>(__a))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       const _Head& __head, const _Tail&... __tail)
1417:  : _Inherited(__tag, __a, __tail...),
1417:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head)
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead, typename... _UTail,
1417:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       _UHead&& __head, _UTail&&... __tail)
1417:  : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
1417:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1417:   std::forward<_UHead>(__head))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       const _Tuple_impl& __in)
1417:  : _Inherited(__tag, __a, _M_tail(__in)),
1417:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       _Tuple_impl&& __in)
1417:  : _Inherited(__tag, __a, std::move(_M_tail(__in))),
1417:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1417:   std::forward<_Head>(_M_head(__in)))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead, typename... _UTails>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       const _Tuple_impl<_Idx, _UHead, _UTails...>& __in)
1417:  : _Inherited(__tag, __a,
1417:        _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)),
1417:    _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1417:   _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead, typename... _UTails>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1417:  : _Inherited(__tag, __a, std::move
1417:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1417:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1417:   std::forward<_UHead>
1417:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1417:  { }
1417: 
1417:       template<typename... _UElements>
1417: 
1417:  void
1417:  _M_assign(const _Tuple_impl<r_t>& __in, basic_string<wchar_t>& __str,
1412:      wchar_t __delim);
1412: 
1412: 
1412: 
1412: }
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/ext/string_conversions.h" 1 3
1412: # 32 "/usr/include/c++/12/ext/string_conversions.h" 3
1412:        
1412: # 33 "/usr/include/c++/12/ext/string_conversions.h" 3
1412: # 41 "/usr/include/c++/12/ext/string_conversions.h" 3
1412: # 1 "/usr/include/c++/12/cstdlib" 1 3
1412: # 39 "/usr/include/c++/12/cstdlib" 3
1412:        
1412: # 40 "/usr/include/c++/12/cstdlib" 3
1412: # 75 "/usr/include/c++/12/cstdlib" 3
1412: # 1 "/usr/include/stdlib.h" 1 3 4
1412: # 26 "/usr/include/stdlib.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1412: # 27 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 33 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 1 3 4
1412: # 41 "/usr/include/stdlib.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitstatus.h" 1 3 4
1412: # 42 "/usr/include/stdlib.h" 2 3 4
1412: # 56 "/usr/include/stdlib.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1412: # 57 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: typedef struct
1412:   {
1412:     int quot;
1412:     int rem;
1412:   } div_t;
1412: 
1412: 
1412: 
1412: typedef struct
1412:   {
1412:     long int quot;
1412:     long int rem;
1412:   } ldiv_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: __extension__ typedef struct
1412:   {
1412:     long long int quot;
1412:     long long int rem;
1412:   } lldiv_t;
1412: # 98 "/usr/include/stdlib.h" 3 4
1412: extern size_t __ctype_get_mb_cur_max (void) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: extern double atof (const char *__nptr)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: extern int atoi (const char *__nptr)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: extern long int atol (const char *__nptr)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: __extension__ extern long long int atoll (const char *__nptr)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: extern double strtod (const char *__restrict __nptr,
1412:         char **__restrict __endptr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern float strtof (const char *__restrict __nptr,
1412:        char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: extern long double strtold (const char *__restrict __nptr,
1412:        char **__restrict __endptr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 141 "/usr/include/stdlib.h" 3 4
1412: extern _Float32 strtof32 (const char *__restrict __nptr,
1412:      char **__restrict __endptr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern _Float64 strtof64 (const char *__restrict __nptr,
1412:      char **__restrict __endptr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 159 "/usr/include/stdlib.h" 3 4
1412: extern _Float32x strtof32x (const char *__restrict __nptr,
1412:        char **__restrict __endptr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 177 "/usr/include/stdlib.h" 3 4
1412: extern long int strtol (const char *__restrict __nptr,
1412:    char **__restrict __endptr, int __base)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: extern unsigned long int strtoul (const char *__restrict __nptr,
1412:       char **__restrict __endptr, in_Idx, _UElements...>& __in)
1417:  {
1417:    _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
1417:    _M_tail(*this)._M_assign(
1417:        _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
1417:  }
1417: 
1417:       template<typename _UHead, typename... _UTails>
1417: 
1417:  void
1417:  _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1417:  {
1417:    _M_head(*this) = std::forward<_UHead>
1417:      (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
1417:    _M_tail(*this)._M_assign(
1417:        std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
1417:  }
1417: 
1417:     protected:
1417:      
1417:       void
1417:       _M_swap(_Tuple_impl& __in)
1417:       {
1417:  using std::swap;
1417:  swap(_M_head(*this), _M_head(__in));
1417:  _Inherited::_M_swap(_M_tail(__in));
1417:       }
1417:     };
1417: 
1417: 
1417:   template<size_t _Idx, typename _Head>
1417:     struct _Tuple_impl<_Idx, _Head>
1417:     : private _Head_base<_Idx, _Head>
1417:     {
1417:       template<size_t, typename...> friend struct _Tuple_impl;
1417: 
1417:       typedef _Head_base<_Idx, _Head> _Base;
1417: 
1417:       static constexpr _Head&
1417:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1417: 
1417:       static constexpr const _Head&
1417:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1417: 
1417:       constexpr
1417:       _Tuple_impl()
1417:       : _Base() { }
1417: 
1417:       explicit constexpr
1417:       _Tuple_impl(const _Head& __head)
1417:       : _Base(__head)
1417:       { }
1417: 
1417:       template<typename _UHead>
1417:  explicit constexpr
1417:  _Tuple_impl(_UHead&& __head)
1417:  : _Base(std::forward<_UHead>(__head))
1417:  { }
1417: 
1417:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1417: 
1417: 
1417: 
1417:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1417: 
1417: 
1417: 
1417: 
1417:       constexpr
1417:       _Tuple_impl(_Tuple_impl&& __in)
1417:       noexcept(is_nothrow_move_constructible<_Head>::value)
1417:       : _Base(static_cast<_Base&&>(__in))
1417:       { }
1417: 
1417: 
1417:       template<typename _UHead>
1417:  constexpr
1417:  _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
1417:  : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in))
1417:  { }
1417: 
1417:       template<typename _UHead>
1417:  constexpr
1417:  _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
1417:  : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1417:  : _Base(__tag, __use_alloc<_Head>(__a))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       const _Head& __head)
1417:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head)
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       _UHead&& __head)
1417:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1417:   std::forward<_UHead>(__head))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       const _Tuple_impl& __in)
1417:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       _Tuple_impl&& __in)
1417:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1417:   std::forward<_Head>(_M_head(__in)))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       const _Tuple_impl<_Idx, _UHead>& __in)
1417:  : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1417:   _Tuple_impl<_Idx, _UHead>::_M_head(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _UHead>
1417: 
1417:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1417:       _Tuple_impl<_Idx, _UHead>&& __in)
1417:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1417:   std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1417:  { }
1417: 
1417:       template<typename _UHead>
1417: 
1417:  void
1417:  _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
1417:  {
1417:    _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in);
1417:  }
1417: 
1417:       template<typename _UHead>
1417: 
1417:  void
1417:  _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
1417:  {
1417:    _M_head(*this)
1417:      = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
1417:  }
1417: 
1417:     protected:
1417:      
1417:       void
1417:       _M_swap(_Tuple_impl& __in)
1417:       {
1417:  using std::swap;
1417:  swap(_M_head(*this), _M_head(__in));
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417:   template<bool, typename... _Types>
1417:     struct _TupleConstraints
1417:     {
1417: 
1417: 
1417: 
1417:       template<typename... _UTypes>
1417:  static constexpr bool __is_implicitly_constructible()
1417:  {
1417:    return __and_<is_constructible<_Types, _UTypes>...,
1417:    is_convertible<_UTypes, _Types>...
1417:    >::value;
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:       template<typename... _UTypes>
1417:  static constexpr bool __is_explicitly_constructible()
1417:  {
1417:    return __and_<is_constructible<_Types, _UTypes>...,
1417:    __not_<__and_<is_convertible<_UTypes, _Types>...>>
1417:    >::value;
1417:  }
1417: 
1417:       static constexpr bool __is_implicitly_default_constructible()
1417:       {
1417:  return __and_<std::__is_implicitly_default_constructible<_Types>...
1417:         >::value;
1417:       }
1417: 
1417:       static constexpr bool __is_explicitly_default_constructible()
1417:       {
1417:  return __and_<is_default_constructible<_Types>...,
1417:         __not_<__and_<
1417:    std::__is_implicitly_default_constructible<_Types>...>
1417:         >>::value;
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename... _Types>
1417:     struct _TupleConstraints<false, _Types...>
1417:     {
1417:       template<typename... _UTypes>
1417:  static constexpr bool __is_implicitly_constructible()
1417:  { return false; }
1417: 
1417:       template<typename... _UTypes>
1417:  static constexpr bool __is_explicitly_constructible()
1417:  { return false; }
1417:     };
1417: 
1417: 
1417:   template<typename... _Elements>
1417:     class tuple : public _Tuple_impl<0, _Elements...>
1417:     {
1417:       typedef _Tuple_impl<0, _Elements...> _Inherited;
1417: 
1417:       template<bool _Cond>
1417:  using _TCC = _TupleConstraints<_Cond, _Elements...>;
1417: 
1417: 
1417:       template<bool _Dummy>
1417:  using _ImplicitDefaultCtor = __enable_if_t<
1417:    _TCC<_Dummy>::__is_implicitly_default_constructible(),
1417:    bool>;
1417: 
1417: 
1417:       template<bool _Dummy>
1417:  using _ExplicitDefaultCtor = __enable_if_t<
1417:    _TCC<_Dummy>::__is_explicitly_default_constructible(),
1417:    bool>;
1417: 
1417: 
1417:       template<bool _Cond, typename... _Args>
1417:  using _ImplicitCtor = __enable_if_t<
1417:    _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(),
1417:    bool>;
1417: 
1417: 
1417:       template<bool _Cond, typename... _Args>
1417:  using _ExplicitCtor = __enable_if_t<
1417:    _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(),
1417:    bool>;
1417: 
1417:       template<typename... _UElements>
1417:  static constexpr
1417:  __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
1417:  __assignable()
1417:  { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
1417: 
1417: 
1417:       template<typename... _UElements>
1417:  static constexpr bool __nothrow_assignable()
1417:  {
1417:    return
1417:      __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
1417:  }
1417: 
1417: 
1417:       template<typename... _UElements>
1417:  static constexpr bool __nothrow_constructible()
1417:  {
1417:    rhis->_M_incr();
609:  return __tmp;
609:       }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   struct _Mod_range_hashing
609:   {
609:     typedef std::size_t first_argument_type;
609:     typedef std::size_t second_argument_type;
609:     typedef std::size_t result_type;
609: 
609:     result_type
609:     operator()(first_argument_type __num,
609:         second_argument_type __den) const noexcept
609:     { return __num % __den; }
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609:   struct _Default_ranged_hash { };
609: 
609: 
609: 
609:   struct _Prime_rehash_policy
609:   {
609:     using __has_load_factor = true_type;
609: 
609:     _Prime_rehash_policy(float __z = 1.0) noexcept
609:     : _M_max_load_factor(__z), _M_next_resize(0) { }
609: 
609:     float
609:     max_load_factor() const noexcept
609:     { return _M_max_load_factor; }
609: 
609: 
609:     std::size_t
609:     _M_next_bkt(std::size_t __n) const;
609: 
609: 
609:     std::size_t
609:     _M_bkt_for_elements(std::size_t __n) const
609:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
609: 
609: 
609: 
609: 
609: 
609:     std::pair<bool, std::size_t>
609:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
609:      std::size_t __n_ins) const;
609: 
609:     typedef std::size_t _State;
609: 
609:     _State
609:     _M_state() const
609:     { return _M_next_resize; }
609: 
609:     void
609:     _M_reset() noexcept
609:     { _M_next_resize = 0; }
609: 
609:     void
609:     _M_reset(_State __state)
609:     { _M_next_resize = __state; }
609: 
609:     static const std::size_t _S_growth_factor = 2;
609: 
609:     float _M_max_load_factor;
609:     mutable std::size_t _M_next_resize;
609:   };
609: 
609: 
609:   struct _Mask_range_hashing
609:   {
609:     typedef std::size_t first_argument_type;
609:     typedef std::size_t second_argument_type;
609:     typedef std::size_t result_type;
609: 
609:     result_type
609:     operator()(first_argument_type __num,
609:         second_argument_type __den) const noexcept
609:     { return __num & (__den - 1); }
609:   };
609: 
609: 
609:   inline std::size_t
609:   __clp2(std::size_t __n) noexcept
609:   {
609:     using __gnu_cxx::__int_traits;
609: 
609:     if (__n < 2)
609:       return __n;
609:     const unsigned __lz = sizeof(size_t) > sizeof(long)
609:       ? __builtin_clzll(__n - 1ull)
609:       : __builtin_clzl(__n - 1ul);
609: 
609:     return (size_t(1) << (__int_traits<size_t>::__digits - __lz - 1)) << 1;
609:   }
609: 
609: 
609: 
609:   struct _Power2_rehash_policy
609:   {
609:     using __has_load_factor = true_type;
609: 
609:     _Power2_rehash_policy(float __z = 1.0) noexcept
609:     : _M_max_load_factor(__z), _M_next_resize(0) { }
609: 
609:     float
609:     max_load_factor() const noexcept
609:     { return _M_max_load_factor; }
609: 
609: 
609: 
609:     std::size_t
609:     _M_next_bkt(std::size_t __n) noexcept
609:     {
609:       if (__n == 0)
609: 
609: 
609: 
609:  return 1;
609: 
609:       const auto __max_width = std::min<size_t>(sizeof(size_t), 8);
609:       const auto __max_bkt = size_t(1) << (__max_width * 8 - 1);
609:       std::size_t __res = __clp2(__n);
609: 
609:       if (__res == 0)
609:  __res = __max_bkt;
609:       else if (__res == 1)
609: 
609: 
609: 
609:  __res = 2;
609: 
609:       if (__res == __max_bkt)
609: 
609: 
609: 
609:  _M_next_resize = size_t(-1);
609:       else
609:  _M_next_resize
609:    = __builtin_floor(__res * (double)_M_max_load_factor);
609: 
609:       return __res;
609:     }
609: 
609: 
609:     std::size_t
609:     _M_bkt_for_elements(std::size_t __n) const noexcept
609:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
609: 
609: 
609: 
609: 
609: 
609:     std::pair<bool, std::size_t>
609:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
609:      std::size_t __n_ins) noexcept
609:     {
609:       if (__n_elt + __n_ins > _M_next_resize)
609:  {
609: 
609: 
609: 
609:    double __min_bkts
609:      = std::max<std::size_t>(__n_elt + __n_ins, _M_next_resize ? 0 : 11)t __base)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: __extension__
1412: extern long long int strtoq (const char *__restrict __nptr,
1412:         char **__restrict __endptr, int __base)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: __extension__
1412: extern unsigned long long int strtouq (const char *__restrict __nptr,
1412:            char **__restrict __endptr, int __base)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: __extension__
1412: extern long long int strtoll (const char *__restrict __nptr,
1412:          char **__restrict __endptr, int __base)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: __extension__
1412: extern unsigned long long int strtoull (const char *__restrict __nptr,
1412:      char **__restrict __endptr, int __base)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern int strfromd (char *__dest, size_t __size, const char *__format,
1412:        double __f)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: 
1412: extern int strfromf (char *__dest, size_t __size, const char *__format,
1412:        float __f)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: 
1412: extern int strfroml (char *__dest, size_t __size, const char *__format,
1412:        long double __f)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: # 233 "/usr/include/stdlib.h" 3 4
1412: extern int strfromf32 (char *__dest, size_t __size, const char * __format,
1412:          _Float32 __f)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: 
1412: 
1412: 
1412: extern int strfromf64 (char *__dest, size_t __size, const char * __format,
1412:          _Float64 __f)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: # 251 "/usr/include/stdlib.h" 3 4
1412: extern int strfromf32x (char *__dest, size_t __size, const char * __format,
1412:    _Float32x __f)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: # 275 "/usr/include/stdlib.h" 3 4
1412: extern long int strtol_l (const char *__restrict __nptr,
1412:      char **__restrict __endptr, int __base,
1412:      locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1412: 
1412: extern unsigned long int strtoul_l (const char *__restrict __nptr,
1412:         char **__restrict __endptr,
1412:         int __base, locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1412: 
1412: __extension__
1412: extern long long int strtoll_l (const char *__restrict __nptr,
1412:     char **__restrict __endptr, int __base,
1412:     locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1412: 
1412: __extension__
1412: extern unsigned long long int strtoull_l (const char *__restrict __nptr,
1412:        char **__restrict __endptr,
1412:        int __base, locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1412: 
1412: extern double strtod_l (const char *__restrict __nptr,
1412:    char **__restrict __endptr, locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: 
1412: extern float strtof_l (const char *__restrict __nptr,
1412:          char **__restrict __endptr, locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: 
1412: extern long double strtold_l (const char *__restrict __nptr,
1412:          char **__restrict __endptr,
1412:          locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: # 317 "/usr/include/stdlib.h" 3 4
1412: extern _Float32 strtof32_l (const char *__restrict __nptr,
1412:        char **__restrict __endptr,
1412:        locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: 
1412: 
1412: 
1412: extern _Float64 strtof64_l (const char *__restrict __nptr,
1412:        char **__restrict __endptr,
1412:        locale_t __loc)
1412:      noexcept (true) __attribueturn
1417:      __and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
1417:  }
1417: 
1417: 
1417:       template<typename _Up>
1417:  static constexpr bool __valid_args()
1417:  {
1417:    return sizeof...(_Elements) == 1
1417:      && !is_same<tuple, __remove_cvref_t<_Up>>::value;
1417:  }
1417: 
1417: 
1417:       template<typename, typename, typename... _Tail>
1417:  static constexpr bool __valid_args()
1417:  { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); }
1417: # 684 "/usr/include/c++/12/tuple" 3
1417:       template<typename _Tuple, typename = tuple,
1417:         typename = __remove_cvref_t<_Tuple>>
1417:  struct _UseOtherCtor
1417:  : false_type
1417:  { };
1417: 
1417: 
1417:       template<typename _Tuple, typename _Tp, typename _Up>
1417:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>>
1417:  : __or_<is_convertible<_Tuple, _Tp>, is_constructible<_Tp, _Tuple>>
1417:  { };
1417: 
1417: 
1417:       template<typename _Tuple, typename _Tp>
1417:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>>
1417:  : true_type
1417:  { };
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Tuple>
1417:  static constexpr bool __use_other_ctor()
1417:  { return _UseOtherCtor<_Tuple>::value; }
1417: 
1417:     public:
1417:       template<typename _Dummy = void,
1417:         _ImplicitDefaultCtor<is_void<_Dummy>::value> = true>
1417:  constexpr
1417:  tuple()
1417:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1417:  : _Inherited() { }
1417: 
1417:       template<typename _Dummy = void,
1417:         _ExplicitDefaultCtor<is_void<_Dummy>::value> = false>
1417:  explicit constexpr
1417:  tuple()
1417:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1417:  : _Inherited() { }
1417: 
1417:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1417:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1417:  constexpr
1417:  tuple(const _Elements&... __elements)
1417:  noexcept(__nothrow_constructible<const _Elements&...>())
1417:  : _Inherited(__elements...) { }
1417: 
1417:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1417:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1417:  explicit constexpr
1417:  tuple(const _Elements&... __elements)
1417:  noexcept(__nothrow_constructible<const _Elements&...>())
1417:  : _Inherited(__elements...) { }
1417: 
1417:       template<typename... _UElements,
1417:         bool _Valid = __valid_args<_UElements...>(),
1417:         _ImplicitCtor<_Valid, _UElements...> = true>
1417:  constexpr
1417:  tuple(_UElements&&... __elements)
1417:  noexcept(__nothrow_constructible<_UElements...>())
1417:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1417: 
1417:       template<typename... _UElements,
1417:         bool _Valid = __valid_args<_UElements...>(),
1417:         _ExplicitCtor<_Valid, _UElements...> = false>
1417:  explicit constexpr
1417:  tuple(_UElements&&... __elements)
1417:  noexcept(__nothrow_constructible<_UElements...>())
1417:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1417: 
1417:       constexpr tuple(const tuple&) = default;
1417: 
1417:       constexpr tuple(tuple&&) = default;
1417: 
1417:       template<typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1417:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1417:  constexpr
1417:  tuple(const tuple<_UElements...>& __in)
1417:  noexcept(__nothrow_constructible<const _UElements&...>())
1417:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1417:  { }
1417: 
1417:       template<typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1417:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1417:  explicit constexpr
1417:  tuple(const tuple<_UElements...>& __in)
1417:  noexcept(__nothrow_constructible<const _UEl
609:        / (double)_M_max_load_factor;
609:    if (__min_bkts >= __n_bkt)
609:      return { true,
609:        _M_next_bkt(std::max<std::size_t>(__builtin_floor(__min_bkts) + 1,
609:       __n_bkt * _S_growth_factor)) };
609: 
609:    _M_next_resize
609:      = __builtin_floor(__n_bkt * (double)_M_max_load_factor);
609:    return { false, 0 };
609:  }
609:       else
609:  return { false, 0 };
609:     }
609: 
609:     typedef std::size_t _State;
609: 
609:     _State
609:     _M_state() const noexcept
609:     { return _M_next_resize; }
609: 
609:     void
609:     _M_reset() noexcept
609:     { _M_next_resize = 0; }
609: 
609:     void
609:     _M_reset(_State __state) noexcept
609:     { _M_next_resize = __state; }
609: 
609:     static const std::size_t _S_growth_factor = 2;
609: 
609:     float _M_max_load_factor;
609:     std::size_t _M_next_resize;
609:   };
609: # 696 "/usr/include/c++/12/bits/hashtable_policy.h" 3
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits,
609:     bool _Unique_keys = _Traits::__unique_keys::value>
609:     struct _Map_base { };
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
609:     {
609:       using mapped_type = _Val;
609:     };
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
609:     {
609:     private:
609:       using __hashtable_base = _Hashtable_base<_Key, pair<const _Key, _Val>,
609:             _Select1st, _Equal, _Hash,
609:             _RangeHash, _Unused,
609:             _Traits>;
609: 
609:       using __hashtable = _Hashtable<_Key, pair<const _Key, _Val>, _Alloc,
609:          _Select1st, _Equal, _Hash, _RangeHash,
609:          _Unused, _RehashPolicy, _Traits>;
609: 
609:       using __hash_code = typename __hashtable_base::__hash_code;
609: 
609:     public:
609:       using key_type = typename __hashtable_base::key_type;
609:       using mapped_type = _Val;
609: 
609:       mapped_type&
609:       operator[](const key_type& __k);
609: 
609:       mapped_type&
609:       operator[](key_type&& __k);
609: 
609: 
609: 
609:       mapped_type&
609:       at(const key_type& __k)
609:       {
609:  auto __ite = static_cast<__hashtable*>(this)->find(__k);
609:  if (!__ite._M_cur)
609:    __throw_out_of_range(("unordered_map::at"));
609:  return __ite->second;
609:       }
609: 
609:       const mapped_type&
609:       at(const key_type& __k) const
609:       {
609:  auto __ite = static_cast<const __hashtable*>(this)->find(__k);
609:  if (!__ite._M_cur)
609:    __throw_out_of_range(("unordered_map::at"));
609:  return __ite->second;
609:       }
609:     };
609: 
609:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
609:     operator[](const key_type& __k)
609:     -> mapped_type&
609:     {
609:       __hashtable* __h = static_cast<__hashtable*>(this);
609:       __hash_code __code = __h->_M_hash_code(__k);
609:       std::size_t __bkt = __h->_M_bucket_index(__code);
609:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
609:  return __node->_M_v().second;
609: 
609:    ements&...>())
1417:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1417:  { }
1417: 
1417:       template<typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1417:         _ImplicitCtor<_Valid, _UElements...> = true>
1417:  constexpr
1417:  tuple(tuple<_UElements...>&& __in)
1417:  noexcept(__nothrow_constructible<_UElements...>())
1417:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1417: 
1417:       template<typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1417:         _ExplicitCtor<_Valid, _UElements...> = false>
1417:  explicit constexpr
1417:  tuple(tuple<_UElements...>&& __in)
1417:  noexcept(__nothrow_constructible<_UElements...>())
1417:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1417: 
1417: 
1417: 
1417:       template<typename _Alloc,
1417:         _ImplicitDefaultCtor<is_object<_Alloc>::value> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1417:  : _Inherited(__tag, __a) { }
1417: 
1417:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1417:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const _Elements&... __elements)
1417:  : _Inherited(__tag, __a, __elements...) { }
1417: 
1417:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1417:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1417: 
1417:  explicit
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const _Elements&... __elements)
1417:  : _Inherited(__tag, __a, __elements...) { }
1417: 
1417:       template<typename _Alloc, typename... _UElements,
1417:         bool _Valid = __valid_args<_UElements...>(),
1417:         _ImplicitCtor<_Valid, _UElements...> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        _UElements&&... __elements)
1417:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1417:  { }
1417: 
1417:       template<typename _Alloc, typename... _UElements,
1417:    bool _Valid = __valid_args<_UElements...>(),
1417:         _ExplicitCtor<_Valid, _UElements...> = false>
1417: 
1417:  explicit
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        _UElements&&... __elements)
1417:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1417:  { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1417:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1417:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1417: 
1417:       template<typename _Alloc, typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1417:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const tuple<_UElements...>& __in)
1417:  : _Inherited(__tag, __a,
1417:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1417:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1417: 
1417:  explicit
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const tuple<_UElements...>& __in)
1417:  : _Inherited(__tag, __a,
1417:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1417:         _ImplicitCtor<_Valid, _UElements...> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        tuple<_UElements...>&& __in)
1417:  : _Inherited(__tag, __a,
1417:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename... _UElements,
1417:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1417:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1417:         _ExplicitCtor<_Valid, _UElements...> = false>
1417: 
1417:  explicit
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        tuple<_UElements...>&& __in)
1417:  : _Inherited(__tag, __a,
1417:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
1417:  { }
1417: 
1417: 
1417: 
1417:      
1417:       tuple&
1417:       operator=(__conditional_t<__assignable<const _Elements&...>(),
1417:     const tuple&,
1417:     const __nonesuch&> __in)
1417:       noexcept(__nothrow_assignable<const _Elements&...>())
1417:       {
1417:  this->_M_assign(__in);
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       tuple&
1417:       operator=(__conditional_t<__assignable<_Elements...>(),
1417:     tuple&&,
1417:     __nonesuch&&> __in)
1417:       noexcept(__nothrow_assignable<_Elements...>())
1417:       {
1417:  this->_M_assign(std::move(__in));
1417:  return *this;
1417:       }
1417: 
1417:       template<typename... _UElements>
1417: 
1417:  __enable_if_t<__assignable<const _UElements&...>(), tuple&>
1417:  operator=(const tuple<_UElements...>& __in)
1417:  noexcept(__nothrow_assignable<const _UElements&...>())
1417:  {
1417:    this->_M_assign(__in);
1417:    return *this;
1417:  }
1417: 
1417:       template<typename... _UElements>
1417: 
1417:  __enable_if_t<__assignable<_UElements...>(), tuple&>
1417:  operator=(tuple<_UElements...>&& __in)
1417:  noexcept(__nothrow_assignable<_UElements...>())
1417:  {
1417:    this->_M_assign(std::move(__in));
1417:    return *this;
1417:  }
1417: 
1417: 
1417:      
1417:       void
1417:       swap(tuple& __in)
1417:       noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
1417:       { _Inherited::_M_swap(__in); }
1417:     };
1417: 
1417: 
1417:   template<typename... _UTypes>
1417:     tuple(_UTypes...) -> tuple<_UTypes...>;
1417:   template<typename _T1, typename _T2>
1417:     tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>;
1417:   template<typename _Alloc, typename... _UTypes>
1417:     tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>;
1417:   template<typename _Alloc, typename _T1, typename _T2>
1417:     tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>;
1417:   template<typename _Alloc, typename... _UTypes>
1417:     tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>;
1417: 
1417: 
1417: 
1417:   template<>
1417:     class tuple<>
1417:     {
1417:     public:
1417:      
1417:       void swap(tuple&) noexcept { }
1417: 
1417: 
1417:       tuple() = default;
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  tuple(allocator_arg_t, const _Alloc&) noexcept { }
1417:       template<typename _Alloc>
1417: 
1417:  tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _T1, typename _T2>
1417:     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
1417:     {
1417:       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
1417: 
1417: 
1417:       template<bool _Dummy, typename _U1, typename _U2>
1417:  using _ImplicitDefaultCtor = __enable_if_t<
1417:    _TupleConstraints<_Dummy, _U1, _U2>::
1417:      __is_implicitly_default_constructible(),
1417:    bool>;
1417: 
1417: 
1417:       template<bool _Dummy, typename _U1, typename _U2>
1417:  using _ExplicitDefaultCtor = __enable_if_t<
1417:    _TupleConstraints<_Dummy, _U1, _U2>::
1417:      __is_explicitly_default_constte__ ((__nonnull__ (1, 3)));
1412: # 338 "/usr/include/stdlib.h" 3 4
1412: extern _Float32x strtof32x_l (const char *__restrict __nptr,
1412:          char **__restrict __endptr,
1412:          locale_t __loc)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: # 361 "/usr/include/stdlib.h" 3 4
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: __attribute__ ((__leaf__)) atoi (const char *__nptr) noexcept (true)
1412: {
1412:   return (int) strtol (__nptr, (char **) __null, 10);
1412: }
1412: extern __inline __attribute__ ((__gnu_inline__)) long int
1412: __attribute__ ((__leaf__)) atol (const char *__nptr) noexcept (true)
1412: {
1412:   return strtol (__nptr, (char **) __null, 10);
1412: }
1412: 
1412: 
1412: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
1412: __attribute__ ((__leaf__)) atoll (const char *__nptr) noexcept (true)
1412: {
1412:   return strtoll (__nptr, (char **) __null, 10);
1412: }
1412: # 386 "/usr/include/stdlib.h" 3 4
1412: extern char *l64a (long int __n) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: extern long int a64l (const char *__s)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/sys/types.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __u_char u_char;
1412: typedef __u_short u_short;
1412: typedef __u_int u_int;
1412: typedef __u_long u_long;
1412: typedef __quad_t quad_t;
1412: typedef __u_quad_t u_quad_t;
1412: typedef __fsid_t fsid_t;
1412: 
1412: 
1412: typedef __loff_t loff_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __ino64_t ino_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __ino64_t ino64_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __dev_t dev_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __gid_t gid_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __mode_t mode_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __nlink_t nlink_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __uid_t uid_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __off64_t off_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __off64_t off64_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __pid_t pid_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __id_t id_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef __ssize_t ssize_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __daddr_t daddr_t;
1412: typedef __caddr_t caddr_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __key_t key_t;
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clock_t.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __clock_t clock_t;
1412: # 127 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __clockid_t clockid_t;
1412: # 129 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 1 3 4
1412: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 3 4
1412: typedef __time_t time_t;
1412: # 130 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/timer_t.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __timer_t timer_t;
1412: # 131 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: 
1412: 
1412: 
1412: typedef __useconds_t useconds_t;
1412: 
1412: 
1412: 
1412: typedef __suseconds_t suseconds_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 145 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: 
1412: 
1412: 
1412: typedef unsigned long int ulong;
1412: typedef unsigned short int ushort;
1412: typedef unsigned int uint;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __ui   typename __hashtable::_Scoped_node __node {
609:  __h,
609:  std::piecewise_construct,
609:  std::tuple<const key_type&>(__k),
609:  std::tuple<>()
609:       };
609:       auto __pos
609:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
609:       __node._M_node = nullptr;
609:       return __pos->second;
609:     }
609: 
609:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
609:     operator[](key_type&& __k)
609:     -> mapped_type&
609:     {
609:       __hashtable* __h = static_cast<__hashtable*>(this);
609:       __hash_code __code = __h->_M_hash_code(__k);
609:       std::size_t __bkt = __h->_M_bucket_index(__code);
609:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
609:  return __node->_M_v().second;
609: 
609:       typename __hashtable::_Scoped_node __node {
609:  __h,
609:  std::piecewise_construct,
609:  std::forward_as_tuple(std::move(__k)),
609:  std::tuple<>()
609:       };
609:       auto __pos
609:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
609:       __node._M_node = nullptr;
609:       return __pos->second;
609:     }
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits, bool __uniq>
609:     struct _Map_base<const _Key, pair<const _Key, _Val>,
609:        _Alloc, _Select1st, _Equal, _Hash,
609:        _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
609:     : _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal, _Hash,
609:   _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Insert_base
609:     {
609:     protected:
609:       using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey,
609:             _Equal, _Hash, _RangeHash,
609:             _Unused, _Traits>;
609: 
609:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:          _Hash, _RangeHash,
609:          _Unused, _RehashPolicy, _Traits>;
609: 
609:       using __hash_cached = typename _Traits::__hash_cached;
609:       using __constant_iterators = typename _Traits::__constant_iterators;
609: 
609:       using __hashtable_alloc = _Hashtable_alloc<
609:  __alloc_rebind<_Alloc, _Hash_node<_Value,
609:        __hash_cached::value>>>;
609: 
609:       using value_type = typename __hashtable_base::value_type;
609:       using size_type = typename __hashtable_base::size_type;
609: 
609:       using __unique_keys = typename _Traits::__unique_keys;
609:       using __node_alloc_type = typename __hashtable_alloc::__node_alloc_type;
609:       using __node_gen_type = _AllocNode<__node_alloc_type>;
609: 
609:       __hashtable&
609:       _M_conjure_hashtable()
609:       { return *(static_cast<__hashtable*>(this)); }
609: 
609:       template<typename _InputIterator, typename _NodeGetter>
609:  void
609:  _M_insert_range(_InputIterator __first, _InputIterator __last,
609:    const _NodeGetter&, true_type __uks);
609: 
609:       template<typename _InputIterator, typename _NodeGetter>
609:  void
609:  _M_insert_range(_InputIterator __first, _InputIterator __last,
609:    const _NodeGetter&, false_type __uks);
609: 
609:     public:
609:       using iterator = _Node_iterator<_Value, __constant_iterators::value,
609:           __hash_cached::value>;
609: 
609:       using const_iterator = _Node_const_iterator<_Value,
609:         __constant_iterators::value,
609:         __hash_cached::value>;
609: 
6ructible(),
1417:    bool>;
1417: 
1417:       template<bool _Dummy>
1417:  using _TCC = _TupleConstraints<_Dummy, _T1, _T2>;
1417: 
1417: 
1417:       template<bool _Cond, typename _U1, typename _U2>
1417:  using _ImplicitCtor = __enable_if_t<
1417:    _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(),
1417:    bool>;
1417: 
1417: 
1417:       template<bool _Cond, typename _U1, typename _U2>
1417:  using _ExplicitCtor = __enable_if_t<
1417:    _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(),
1417:    bool>;
1417: 
1417:       template<typename _U1, typename _U2>
1417:  static constexpr bool __assignable()
1417:  {
1417:    return __and_<is_assignable<_T1&, _U1>,
1417:    is_assignable<_T2&, _U2>>::value;
1417:  }
1417: 
1417:       template<typename _U1, typename _U2>
1417:  static constexpr bool __nothrow_assignable()
1417:  {
1417:    return __and_<is_nothrow_assignable<_T1&, _U1>,
1417:    is_nothrow_assignable<_T2&, _U2>>::value;
1417:  }
1417: 
1417:       template<typename _U1, typename _U2>
1417:  static constexpr bool __nothrow_constructible()
1417:  {
1417:    return __and_<is_nothrow_constructible<_T1, _U1>,
1417:        is_nothrow_constructible<_T2, _U2>>::value;
1417:  }
1417: 
1417:       static constexpr bool __nothrow_default_constructible()
1417:       {
1417:  return __and_<is_nothrow_default_constructible<_T1>,
1417:         is_nothrow_default_constructible<_T2>>::value;
1417:       }
1417: 
1417:       template<typename _U1>
1417:  static constexpr bool __is_alloc_arg()
1417:  { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; }
1417: 
1417:     public:
1417:       template<bool _Dummy = true,
1417:         _ImplicitDefaultCtor<_Dummy, _T1, _T2> = true>
1417:  constexpr
1417:  tuple()
1417:  noexcept(__nothrow_default_constructible())
1417:  : _Inherited() { }
1417: 
1417:       template<bool _Dummy = true,
1417:         _ExplicitDefaultCtor<_Dummy, _T1, _T2> = false>
1417:  explicit constexpr
1417:  tuple()
1417:  noexcept(__nothrow_default_constructible())
1417:  : _Inherited() { }
1417: 
1417:       template<bool _Dummy = true,
1417:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1417:  constexpr
1417:  tuple(const _T1& __a1, const _T2& __a2)
1417:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1417:  : _Inherited(__a1, __a2) { }
1417: 
1417:       template<bool _Dummy = true,
1417:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1417:  explicit constexpr
1417:  tuple(const _T1& __a1, const _T2& __a2)
1417:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1417:  : _Inherited(__a1, __a2) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ImplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = true>
1417:  constexpr
1417:  tuple(_U1&& __a1, _U2&& __a2)
1417:  noexcept(__nothrow_constructible<_U1, _U2>())
1417:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ExplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = false>
1417:  explicit constexpr
1417:  tuple(_U1&& __a1, _U2&& __a2)
1417:  noexcept(__nothrow_constructible<_U1, _U2>())
1417:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1417: 
1417:       constexpr tuple(const tuple&) = default;
1417: 
1417:       constexpr tuple(tuple&&) = default;
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1417:  constexpr
1417:  tuple(const tuple<_U1, _U2>& __in)
1417:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1417:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1417:  explicit constexpr
1417:  tuple(const tuple<_U1, _U2>& __in)
1417:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1417:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1417: 
1417:       template<typename _U1nt8_t u_int8_t;
1412: typedef __uint16_t u_int16_t;
1412: typedef __uint32_t u_int32_t;
1412: typedef __uint64_t u_int64_t;
1412: 
1412: 
1412: typedef int register_t __attribute__ ((__mode__ (__word__)));
1412: # 176 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1412: # 1 "/usr/include/endian.h" 1 3 4
1412: # 35 "/usr/include/endian.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 1 3 4
1412: # 33 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1412: static __inline __uint16_t
1412: __bswap_16 (__uint16_t __bsx)
1412: {
1412: 
1412:   return __builtin_bswap16 (__bsx);
1412: 
1412: 
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: static __inline __uint32_t
1412: __bswap_32 (__uint32_t __bsx)
1412: {
1412: 
1412:   return __builtin_bswap32 (__bsx);
1412: 
1412: 
1412: 
1412: }
1412: # 69 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1412: __extension__ static __inline __uint64_t
1412: __bswap_64 (__uint64_t __bsx)
1412: {
1412: 
1412:   return __builtin_bswap64 (__bsx);
1412: 
1412: 
1412: 
1412: }
1412: # 36 "/usr/include/endian.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 1 3 4
1412: # 32 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 3 4
1412: static __inline __uint16_t
1412: __uint16_identity (__uint16_t __x)
1412: {
1412:   return __x;
1412: }
1412: 
1412: static __inline __uint32_t
1412: __uint32_identity (__uint32_t __x)
1412: {
1412:   return __x;
1412: }
1412: 
1412: static __inline __uint64_t
1412: __uint64_identity (__uint64_t __x)
1412: {
1412:   return __x;
1412: }
1412: # 37 "/usr/include/endian.h" 2 3 4
1412: # 177 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/sys/select.h" 1 3 4
1412: # 30 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/select.h" 1 3 4
1412: # 31 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 1 3 4
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: typedef struct
1412: {
1412:   unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
1412: } __sigset_t;
1412: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 2 3 4
1412: 
1412: 
1412: typedef __sigset_t sigset_t;
1412: # 34 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: struct timeval
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   __time_t tv_sec;
1412:   __suseconds_t tv_usec;
1412: 
1412: };
1412: # 38 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 1 3 4
1412: # 11 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1412: struct timespec
1412: {
1412: 
1412: 
1412: 
1412:   __time_t tv_sec;
1412: 
1412: 
1412: 
1412: 
1412:   __syscall_slong_t tv_nsec;
1412: # 31 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1412: };
1412: # 40 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1412: # 49 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1412: typedef long int __fd_mask;
1412: # 59 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1412: typedef struct
1412:   {
1412: 
1412: 
1412: 
1412:     __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   } fd_set;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __fd_mask fd_mask;
1412: # 91 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1412: extern "C" {
1412: # 102 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1412: extern int select (int __nfds, fd_set *__restrict __readfds,
1412:      fd_set *__restrict __writefds,
1412:      fd_set *__restrict __exceptfds,
1412:      struct timeval *__restrict __timeout);
1412: # 127 "/usr/include/arm-linux-gnue, typename _U2,
1417:         _ImplicitCtor<true, _U1, _U2> = true>
1417:  constexpr
1417:  tuple(tuple<_U1, _U2>&& __in)
1417:  noexcept(__nothrow_constructible<_U1, _U2>())
1417:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ExplicitCtor<true, _U1, _U2> = false>
1417:  explicit constexpr
1417:  tuple(tuple<_U1, _U2>&& __in)
1417:  noexcept(__nothrow_constructible<_U1, _U2>())
1417:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1417:  constexpr
1417:  tuple(const pair<_U1, _U2>& __in)
1417:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1417:  : _Inherited(__in.first, __in.second) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1417:  explicit constexpr
1417:  tuple(const pair<_U1, _U2>& __in)
1417:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1417:  : _Inherited(__in.first, __in.second) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ImplicitCtor<true, _U1, _U2> = true>
1417:  constexpr
1417:  tuple(pair<_U1, _U2>&& __in)
1417:  noexcept(__nothrow_constructible<_U1, _U2>())
1417:  : _Inherited(std::forward<_U1>(__in.first),
1417:        std::forward<_U2>(__in.second)) { }
1417: 
1417:       template<typename _U1, typename _U2,
1417:         _ExplicitCtor<true, _U1, _U2> = false>
1417:  explicit constexpr
1417:  tuple(pair<_U1, _U2>&& __in)
1417:  noexcept(__nothrow_constructible<_U1, _U2>())
1417:  : _Inherited(std::forward<_U1>(__in.first),
1417:        std::forward<_U2>(__in.second)) { }
1417: 
1417: 
1417: 
1417:       template<typename _Alloc,
1417:         _ImplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1417:  : _Inherited(__tag, __a) { }
1417: 
1417:       template<typename _Alloc, bool _Dummy = true,
1417:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const _T1& __a1, const _T2& __a2)
1417:  : _Inherited(__tag, __a, __a1, __a2) { }
1417: 
1417:       template<typename _Alloc, bool _Dummy = true,
1417:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1417:  explicit
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const _T1& __a1, const _T2& __a2)
1417:  : _Inherited(__tag, __a, __a1, __a2) { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ImplicitCtor<true, _U1, _U2> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
1417:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1417:               std::forward<_U2>(__a2)) { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ExplicitCtor<true, _U1, _U2> = false>
1417:  explicit
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        _U1&& __a1, _U2&& __a2)
1417:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1417:               std::forward<_U2>(__a2)) { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1417:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1417: 
1417:       template<typename _Alloc>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1417:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const tuple<_U1, _U2>& __in)
1417:  : _Inherited(__tag, __a,
1417:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _09:       using __ireturn_type = __conditional_t<__unique_keys::value,
609:           std::pair<iterator, bool>,
609:           iterator>;
609: 
609:       __ireturn_type
609:       insert(const value_type& __v)
609:       {
609:  __hashtable& __h = _M_conjure_hashtable();
609:  __node_gen_type __node_gen(__h);
609:  return __h._M_insert(__v, __node_gen, __unique_keys{});
609:       }
609: 
609:       iterator
609:       insert(const_iterator __hint, const value_type& __v)
609:       {
609:  __hashtable& __h = _M_conjure_hashtable();
609:  __node_gen_type __node_gen(__h);
609:  return __h._M_insert(__hint, __v, __node_gen, __unique_keys{});
609:       }
609: 
609:       template<typename _KType, typename... _Args>
609:  std::pair<iterator, bool>
609:  try_emplace(const_iterator, _KType&& __k, _Args&&... __args)
609:  {
609:    __hashtable& __h = _M_conjure_hashtable();
609:    auto __code = __h._M_hash_code(__k);
609:    std::size_t __bkt = __h._M_bucket_index(__code);
609:    if (auto __node = __h._M_find_node(__bkt, __k, __code))
609:      return { iterator(__node), false };
609: 
609:    typename __hashtable::_Scoped_node __node {
609:      &__h,
609:      std::piecewise_construct,
609:      std::forward_as_tuple(std::forward<_KType>(__k)),
609:      std::forward_as_tuple(std::forward<_Args>(__args)...)
609:      };
609:    auto __it
609:      = __h._M_insert_unique_node(__bkt, __code, __node._M_node);
609:    __node._M_node = nullptr;
609:    return { __it, true };
609:  }
609: 
609:       void
609:       insert(initializer_list<value_type> __l)
609:       { this->insert(__l.begin(), __l.end()); }
609: 
609:       template<typename _InputIterator>
609:  void
609:  insert(_InputIterator __first, _InputIterator __last)
609:  {
609:    __hashtable& __h = _M_conjure_hashtable();
609:    __node_gen_type __node_gen(__h);
609:    return _M_insert_range(__first, __last, __node_gen, __unique_keys{});
609:  }
609:     };
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _InputIterator, typename _NodeGetter>
609:       void
609:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused,
609:      _RehashPolicy, _Traits>::
609:       _M_insert_range(_InputIterator __first, _InputIterator __last,
609:         const _NodeGetter& __node_gen, true_type __uks)
609:       {
609:  __hashtable& __h = _M_conjure_hashtable();
609:  for (; __first != __last; ++__first)
609:    __h._M_insert(*__first, __node_gen, __uks);
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _InputIterator, typename _NodeGetter>
609:       void
609:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused,
609:      _RehashPolicy, _Traits>::
609:       _M_insert_range(_InputIterator __first, _InputIterator __last,
609:         const _NodeGetter& __node_gen, false_type __uks)
609:       {
609:  using __rehash_type = typename __hashtable::__rehash_type;
609:  using __rehash_state = typename __hashtable::__rehash_state;
609:  using pair_type = std::pair<bool, std::size_t>;
609: 
609:  size_type __n_elt = __detail::__distance_fw(__first, __last);
609:  if (__n_elt == 0)
609:    return;
609: 
609:  __hashtable& __h = _M_conjure_hashtable();
609:  __rehash_type& __rehash = __h._M_rehash_policy;
609:  const __rehash_state& __saved_state = __rehash._M_state();
609:  pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count,
609:        __h._M_element_count,
609:        __n_elt);
609: 
609:  if (__do_rehash.first)
609:    __h._M_rehash(__do_rehash.second, __saved_state);
609: 
609:  for (; __first != __last; ++__first)
609:    __h._M_insert(*__first, __U2,
1417:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1417:  explicit
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const tuple<_U1, _U2>& __in)
1417:  : _Inherited(__tag, __a,
1417:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ImplicitCtor<true, _U1, _U2> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1417:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ExplicitCtor<true, _U1, _U2> = false>
1417:  explicit
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1417:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1417:  { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const pair<_U1, _U2>& __in)
1417:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1417:  explicit
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1417:        const pair<_U1, _U2>& __in)
1417:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ImplicitCtor<true, _U1, _U2> = true>
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1417:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1417:        std::forward<_U2>(__in.second)) { }
1417: 
1417:       template<typename _Alloc, typename _U1, typename _U2,
1417:         _ExplicitCtor<true, _U1, _U2> = false>
1417:  explicit
1417: 
1417:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1417:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1417:        std::forward<_U2>(__in.second)) { }
1417: 
1417: 
1417: 
1417:      
1417:       tuple&
1417:       operator=(__conditional_t<__assignable<const _T1&, const _T2&>(),
1417:     const tuple&,
1417:     const __nonesuch&> __in)
1417:       noexcept(__nothrow_assignable<const _T1&, const _T2&>())
1417:       {
1417:  this->_M_assign(__in);
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       tuple&
1417:       operator=(__conditional_t<__assignable<_T1, _T2>(),
1417:     tuple&&,
1417:     __nonesuch&&> __in)
1417:       noexcept(__nothrow_assignable<_T1, _T2>())
1417:       {
1417:  this->_M_assign(std::move(__in));
1417:  return *this;
1417:       }
1417: 
1417:       template<typename _U1, typename _U2>
1417: 
1417:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1417:  operator=(const tuple<_U1, _U2>& __in)
1417:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1417:  {
1417:    this->_M_assign(__in);
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _U1, typename _U2>
1417: 
1417:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1417:  operator=(tuple<_U1, _U2>&& __in)
1417:  noexcept(__nothrow_assignable<_U1, _U2>())
1417:  {
1417:    this->_M_assign(std::move(__in));
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _U1, typename _U2>
1417: 
1417:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1417:  operator=(const pair<_U1, _U2>& __in)
1417:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1417:  {
1417:    this->_M_head(*this) = __in.first;
1417:    this->_M_tail(*this)._M_head(*this) = __in.second;
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _U1, typename _U2>
1417: 
1417:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1417:  operator=(pair<_U1, _U2>&& __in)
1417:  noexcept(__nothrow_assignable<_U1, _U2>())
1417:  {
1417:    this->_M_head(*this) = std::forward<_U1>(__in.first);
1417:    this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
1417:    return *this;
1417:  }
1417: 
1417:      
1417:       void
1417:       swap(tuple& __in)
1417:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1417:         __is_nothrow_swappable<_T2>>::value)
1417:       { _Inherited::_M_swap(__in); }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename... _Elements>
1417:     struct tuple_size<tuple<_Elements...>>
1417:     : public integral_constant<size_t, sizeof...(_Elements)> { };
1417: 
1417: 
1417:   template<typename... _Types>
1417:     inline constexpr size_t tuple_size_v<tuple<_Types...>>
1417:       = sizeof...(_Types);
1417: 
1417:   template<typename... _Types>
1417:     inline constexpr size_t tuple_size_v<const tuple<_Types...>>
1417:       = sizeof...(_Types);
1417: 
1417: 
1417: 
1417:   template<size_t __i, typename... _Types>
1417:     struct tuple_element<__i, tuple<_Types...>>
1417:     {
1417:       static_assert(__i < sizeof...(_Types), "tuple index must be in range");
1417: 
1417:       using type = typename _Nth_type<__i, _Types...>::type;
1417:     };
1417: 
1417:   template<size_t __i, typename _Head, typename... _Tail>
1417:     constexpr _Head&
1417:     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1417:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1417: 
1417:   template<size_t __i, typename _Head, typename... _Tail>
1417:     constexpr const _Head&
1417:     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1417:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1417: 
1417: 
1417:   template<size_t __i, typename... _Types>
1417:     __enable_if_t<(__i >= sizeof...(_Types))>
1417:     __get_helper(const tuple<_Types...>&) = delete;
1417: 
1417: 
1417:   template<size_t __i, typename... _Elements>
1417:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
1417:     get(tuple<_Elements...>& __t) noexcept
1417:     { return std::__get_helper<__i>(__t); }
1417: 
1417: 
1417:   template<size_t __i, typename... _Elements>
1417:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
1417:     get(const tuple<_Elements...>& __t) noexcept
1417:     { return std::__get_helper<__i>(__t); }
1417: 
1417: 
1417:   template<size_t __i, typename... _Elements>
1417:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
1417:     get(tuple<_Elements...>&& __t) noexcept
1417:     {
1417:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
1417:       return std::forward<__element_type>(std::__get_helper<__i>(__t));
1417:     }
1417: 
1417: 
1417:   template<size_t __i, typename... _Elements>
1417:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
1417:     get(const tuple<_Elements...>&& __t) noexcept
1417:     {
1417:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
1417:       return std::forward<const __element_type>(std::__get_helper<__i>(__t));
1417:     }
1417: 
1417: 
1417: 
1417:   template<size_t __i, typename... _Elements>
1417:     constexpr __enable_if_t<(__i >= sizeof...(_Elements))>
1417:     get(const tuple<_Elements...>&) = delete;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename... _Types>
1417:     constexpr _Tp&
1417:     get(tuple<_Types...>& __t) noexcept
1417:     {
1417:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1417:       static_assert(__idx < sizeof...(_Types),
1417:    "the type T in std::get<T> must occur exactly once in the tuple");
1417:       return std::__get_helper<__idx>(__t);
1417:     }
1417: 
1417: 
1417:   template <typename _Tp, typename... _Types>
1417:     constexpr _Tp&&
1417:     get(tuple<_Types...>&& __t) noexcept
1417:     {
1417:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1417:       static_assert(__idx < sizeof...(_Types),
1417:    "the type T in std::get<T> must occur exactly once in the tuple");
1417:       return std::forward<_Tp>(std::__get_helper<__idabihf/sys/select.h" 3 4
1412: extern int pselect (int __nfds, fd_set *__restrict __readfds,
1412:       fd_set *__restrict __writefds,
1412:       fd_set *__restrict __exceptfds,
1412:       const struct timespec *__restrict __timeout,
1412:       const __sigset_t *__restrict __sigmask);
1412: # 150 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 3 4
1412: extern long int __fdelt_chk (long int __d);
1412: extern long int __fdelt_warn (long int __d)
1412:   __attribute__((__warning__ ("bit outside of fd_set selected")));
1412: # 151 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1412: 
1412: 
1412: }
1412: # 180 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __blksize_t blksize_t;
1412: # 205 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1412: typedef __blkcnt64_t blkcnt_t;
1412: 
1412: 
1412: 
1412: typedef __fsblkcnt64_t fsblkcnt_t;
1412: 
1412: 
1412: 
1412: typedef __fsfilcnt64_t fsfilcnt_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __blkcnt64_t blkcnt64_t;
1412: typedef __fsblkcnt64_t fsblkcnt64_t;
1412: typedef __fsfilcnt64_t fsfilcnt64_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 1 3 4
1412: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 1 3 4
1412: # 44 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 1 3 4
1412: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 2 3 4
1412: # 45 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 1 3 4
1412: # 25 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 3 4
1412: typedef union
1412: {
1412:   __extension__ unsigned long long int __value64;
1412:   struct
1412:   {
1412:     unsigned int __low;
1412:     unsigned int __high;
1412:   } __value32;
1412: } __atomic_wide_counter;
1412: # 47 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: typedef struct __pthread_internal_list
1412: {
1412:   struct __pthread_internal_list *__prev;
1412:   struct __pthread_internal_list *__next;
1412: } __pthread_list_t;
1412: 
1412: typedef struct __pthread_internal_slist
1412: {
1412:   struct __pthread_internal_slist *__next;
1412: } __pthread_slist_t;
1412: # 76 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1412: struct __pthread_mutex_s
1412: {
1412:   int __lock ;
1412:   unsigned int __count;
1412:   int __owner;
1412: # 58 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1412:   int __kind;
1412: 
1412:   unsigned int __nusers;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   __extension__ union
1412:   {
1412:     int __spins;
1412:     __pthread_slist_t __list;
1412:   };
1412: 
1412: 
1412: };
1412: # 77 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1412: # 89 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 1 3 4
1412: # 29 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1412: struct __pthread_rwlock_arch_t
1412: {
1412:   unsigned int __readers;
1412:   unsigned int __writers;
1412:   unsigned int __wrphase_futex;
1412:   unsigned int __writers_futex;
1412:   unsigned int __pad3;
1412:   unsigned int __pad4;
1412: # 45 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1412:   unsigned char __flags;
1412:   unsigned char __shared;
1412:   unsignednode_gen, __uks);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits,
609:     bool _Constant_iterators = _Traits::__constant_iterators::value>
609:     struct _Insert;
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused,
609:      _RehashPolicy, _Traits, true>
609:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
609:     {
609:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
609:            _Equal, _Hash, _RangeHash, _Unused,
609:            _RehashPolicy, _Traits>;
609: 
609:       using value_type = typename __base_type::value_type;
609:       using iterator = typename __base_type::iterator;
609:       using const_iterator = typename __base_type::const_iterator;
609:       using __ireturn_type = typename __base_type::__ireturn_type;
609: 
609:       using __unique_keys = typename __base_type::__unique_keys;
609:       using __hashtable = typename __base_type::__hashtable;
609:       using __node_gen_type = typename __base_type::__node_gen_type;
609: 
609:       using __base_type::insert;
609: 
609:       __ireturn_type
609:       insert(value_type&& __v)
609:       {
609:  __hashtable& __h = this->_M_conjure_hashtable();
609:  __node_gen_type __node_gen(__h);
609:  return __h._M_insert(std::move(__v), __node_gen, __unique_keys{});
609:       }
609: 
609:       iterator
609:       insert(const_iterator __hint, value_type&& __v)
609:       {
609:  __hashtable& __h = this->_M_conjure_hashtable();
609:  __node_gen_type __node_gen(__h);
609:  return __h._M_insert(__hint, std::move(__v), __node_gen,
609:         __unique_keys{});
609:       }
609:     };
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
609:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
609:     {
609:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
609:            _Equal, _Hash, _RangeHash, _Unused,
609:            _RehashPolicy, _Traits>;
609:       using value_type = typename __base_type::value_type;
609:       using iterator = typename __base_type::iterator;
609:       using const_iterator = typename __base_type::const_iterator;
609: 
609:       using __unique_keys = typename __base_type::__unique_keys;
609:       using __hashtable = typename __base_type::__hashtable;
609:       using __ireturn_type = typename __base_type::__ireturn_type;
609: 
609:       using __base_type::insert;
609: 
609:       template<typename _Pair>
609:  using __is_cons = std::is_constructible<value_type, _Pair&&>;
609: 
609:       template<typename _Pair>
609:  using _IFcons = std::enable_if<__is_cons<_Pair>::value>;
609: 
609:       template<typename _Pair>
609:  using _IFconsp = typename _IFcons<_Pair>::type;
609: 
609:       template<typename _Pair, typename = _IFconsp<_Pair>>
609:  __ireturn_type
609:  insert(_Pair&& __v)
609:  {
609:    __hashtable& __h = this->_M_conjure_hashtable();
609:    return __h._M_emplace(__unique_keys{}, std::forward<_Pair>(__v));
609:  }
609: 
609:       template<typename _Pair, typename = _IFconsp<_Pair>>
609:  iterator
609:  insert(const_iterator __hint, _Pair&& __v)
609:  {
609:    __hashtable&x>(__t));
1417:     }
1417: 
1417: 
1417:   template <typename _Tp, typename... _Types>
1417:     constexpr const _Tp&
1417:     get(const tuple<_Types...>& __t) noexcept
1417:     {
1417:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1417:       static_assert(__idx < sizeof...(_Types),
1417:    "the type T in std::get<T> must occur exactly once in the tuple");
1417:       return std::__get_helper<__idx>(__t);
1417:     }
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename... _Types>
1417:     constexpr const _Tp&&
1417:     get(const tuple<_Types...>&& __t) noexcept
1417:     {
1417:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1417:       static_assert(__idx < sizeof...(_Types),
1417:    "the type T in std::get<T> must occur exactly once in the tuple");
1417:       return std::forward<const _Tp>(std::__get_helper<__idx>(__t));
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up, size_t __i, size_t __size>
1417:     struct __tuple_compare
1417:     {
1417:       static constexpr bool
1417:       __eq(const _Tp& __t, const _Up& __u)
1417:       {
1417:  return bool(std::get<__i>(__t) == std::get<__i>(__u))
1417:    && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
1417:       }
1417: 
1417:       static constexpr bool
1417:       __less(const _Tp& __t, const _Up& __u)
1417:       {
1417:  return bool(std::get<__i>(__t) < std::get<__i>(__u))
1417:    || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
1417:        && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
1417:       }
1417:     };
1417: 
1417:   template<typename _Tp, typename _Up, size_t __size>
1417:     struct __tuple_compare<_Tp, _Up, __size, __size>
1417:     {
1417:       static constexpr bool
1417:       __eq(const _Tp&, const _Up&) { return true; }
1417: 
1417:       static constexpr bool
1417:       __less(const _Tp&, const _Up&) { return false; }
1417:     };
1417: 
1417:   template<typename... _TElements, typename... _UElements>
1417:     constexpr bool
1417:     operator==(const tuple<_TElements...>& __t,
1417:         const tuple<_UElements...>& __u)
1417:     {
1417:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1417:    "tuple objects can only be compared if they have equal sizes.");
1417:       using __compare = __tuple_compare<tuple<_TElements...>,
1417:      tuple<_UElements...>,
1417:      0, sizeof...(_TElements)>;
1417:       return __compare::__eq(__t, __u);
1417:     }
1417: # 1536 "/usr/include/c++/12/tuple" 3
1417:   template<typename... _TElements, typename... _UElements>
1417:     constexpr bool
1417:     operator<(const tuple<_TElements...>& __t,
1417:        const tuple<_UElements...>& __u)
1417:     {
1417:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1417:    "tuple objects can only be compared if they have equal sizes.");
1417:       using __compare = __tuple_compare<tuple<_TElements...>,
1417:      tuple<_UElements...>,
1417:      0, sizeof...(_TElements)>;
1417:       return __compare::__less(__t, __u);
1417:     }
1417: 
1417:   template<typename... _TElements, typename... _UElements>
1417:     constexpr bool
1417:     operator!=(const tuple<_TElements...>& __t,
1417:         const tuple<_UElements...>& __u)
1417:     { return !(__t == __u); }
1417: 
1417:   template<typename... _TElements, typename... _UElements>
1417:     constexpr bool
1417:     operator>(const tuple<_TElements...>& __t,
1417:        const tuple<_UElements...>& __u)
1417:     { return __u < __t; }
1417: 
1417:   template<typename... _TElements, typename... _UElements>
1417:     constexpr bool
1417:     operator<=(const tuple<_TElements...>& __t,
1417:         const tuple<_UElements...>& __u)
1417:     { return !(__u < __t); }
1417: 
1417:   template<typename... _TElements, typename... _UElements>
1417:     constexpr bool
1417:     operator>=(const tuple<_TElements...>& __t,
1417:         const tuple<_UElements...>& __u)
1417:     { return !(__t < __u); }
1417: 
1417: 
1417: 
1417:   template<typ char __pad1;
1412:   unsigned char __pad2;
1412: 
1412:   int __cur_writer;
1412: };
1412: # 90 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: struct __pthread_cond_s
1412: {
1412:   __atomic_wide_counter __wseq;
1412:   __atomic_wide_counter __g1_start;
1412:   unsigned int __g_refs[2] ;
1412:   unsigned int __g_size[2];
1412:   unsigned int __g1_orig_size;
1412:   unsigned int __wrefs;
1412:   unsigned int __g_signals[2];
1412: };
1412: 
1412: typedef unsigned int __tss_t;
1412: typedef unsigned long int __thrd_t;
1412: 
1412: typedef struct
1412: {
1412:   int __data ;
1412: } __once_flag;
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 2 3 4
1412: 
1412: 
1412: 
1412: typedef unsigned long int pthread_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef union
1412: {
1412:   char __size[4];
1412:   int __align;
1412: } pthread_mutexattr_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef union
1412: {
1412:   char __size[4];
1412:   int __align;
1412: } pthread_condattr_t;
1412: 
1412: 
1412: 
1412: typedef unsigned int pthread_key_t;
1412: 
1412: 
1412: 
1412: typedef int pthread_once_t;
1412: 
1412: 
1412: union pthread_attr_t
1412: {
1412:   char __size[36];
1412:   long int __align;
1412: };
1412: 
1412: typedef union pthread_attr_t pthread_attr_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef union
1412: {
1412:   struct __pthread_mutex_s __data;
1412:   char __size[24];
1412:   long int __align;
1412: } pthread_mutex_t;
1412: 
1412: 
1412: typedef union
1412: {
1412:   struct __pthread_cond_s __data;
1412:   char __size[48];
1412:   __extension__ long long int __align;
1412: } pthread_cond_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef union
1412: {
1412:   struct __pthread_rwlock_arch_t __data;
1412:   char __size[32];
1412:   long int __align;
1412: } pthread_rwlock_t;
1412: 
1412: typedef union
1412: {
1412:   char __size[8];
1412:   long int __align;
1412: } pthread_rwlockattr_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef volatile int pthread_spinlock_t;
1412: 
1412: 
1412: 
1412: 
1412: typedef union
1412: {
1412:   char __size[20];
1412:   long int __align;
1412: } pthread_barrier_t;
1412: 
1412: typedef union
1412: {
1412:   char __size[4];
1412:   int __align;
1412: } pthread_barrierattr_t;
1412: # 228 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1412: 
1412: 
1412: }
1412: # 396 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int random (void) noexcept (true);
1412: 
1412: 
1412: extern void srandom (unsigned int __seed) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *initstate (unsigned int __seed, char *__statebuf,
1412:    size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412: extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: struct random_data
1412:   {
1412:     int32_t *fptr;
1412:     int32_t *rptr;
1412:     int32_t *state;
1412:     int rand_type;
1412:     int rand_deg;
1412:     int rand_sep;
1412:     int32_t *end_ptr;
1412:   };
1412: 
1412: extern int random_r (struct random_data *__restrict __buf,
1412:        int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern int srandom_r (unsigned int __seed, struct random_data *__buf)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
1412:    size_t __statelen,
1412:    struct random_data *__restrict __buf)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
1412: 
1412: extern int setstate_r (char *__restrict __statebuf,
1412:          struct random_data *__restrict __buf)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int rand (void) noexcept (true);
1412: 
1412: extern void srand (unsigned int __seed) noexcept (true);
1412: 
1412: 
1412: 
1412: extename... _Elements>
1417:     constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
1417:     make_tuple(_Elements&&... __args)
1417:     {
1417:       typedef tuple<typename __decay_and_strip<_Elements>::__type...>
1417:  __result_type;
1417:       return __result_type(std::forward<_Elements>(__args)...);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename... _Elements>
1417:     constexpr tuple<_Elements&&...>
1417:     forward_as_tuple(_Elements&&... __args) noexcept
1417:     { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm> struct array;
1417: 
1417:   template<size_t _Int, typename _Tp, size_t _Nm>
1417:     constexpr _Tp&
1417:     get(array<_Tp, _Nm>&) noexcept;
1417: 
1417:   template<size_t _Int, typename _Tp, size_t _Nm>
1417:     constexpr _Tp&&
1417:     get(array<_Tp, _Nm>&&) noexcept;
1417: 
1417:   template<size_t _Int, typename _Tp, size_t _Nm>
1417:     constexpr const _Tp&
1417:     get(const array<_Tp, _Nm>&) noexcept;
1417: 
1417:   template<size_t _Int, typename _Tp, size_t _Nm>
1417:     constexpr const _Tp&&
1417:     get(const array<_Tp, _Nm>&&) noexcept;
1417: 
1417: 
1417:   template<size_t, typename, typename, size_t>
1417:     struct __make_tuple_impl;
1417: 
1417:   template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
1417:     struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
1417:     : __make_tuple_impl<_Idx + 1,
1417:    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
1417:    _Tuple, _Nm>
1417:     { };
1417: 
1417:   template<size_t _Nm, typename _Tuple, typename... _Tp>
1417:     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
1417:     {
1417:       typedef tuple<_Tp...> __type;
1417:     };
1417: 
1417:   template<typename _Tuple>
1417:     struct __do_make_tuple
1417:     : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tuple>
1417:     struct __make_tuple
1417:     : public __do_make_tuple<__remove_cvref_t<_Tuple>>
1417:     { };
1417: 
1417: 
1417:   template<typename...>
1417:     struct __combine_tuples;
1417: 
1417:   template<>
1417:     struct __combine_tuples<>
1417:     {
1417:       typedef tuple<> __type;
1417:     };
1417: 
1417:   template<typename... _Ts>
1417:     struct __combine_tuples<tuple<_Ts...>>
1417:     {
1417:       typedef tuple<_Ts...> __type;
1417:     };
1417: 
1417:   template<typename... _T1s, typename... _T2s, typename... _Rem>
1417:     struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
1417:     {
1417:       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
1417:      _Rem...>::__type __type;
1417:     };
1417: 
1417: 
1417:   template<typename... _Tpls>
1417:     struct __tuple_cat_result
1417:     {
1417:       typedef typename __combine_tuples
1417:         <typename __make_tuple<_Tpls>::__type...>::__type __type;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename...>
1417:     struct __make_1st_indices;
1417: 
1417:   template<>
1417:     struct __make_1st_indices<>
1417:     {
1417:       typedef _Index_tuple<> __type;
1417:     };
1417: 
1417:   template<typename _Tp, typename... _Tpls>
1417:     struct __make_1st_indices<_Tp, _Tpls...>
1417:     {
1417:       typedef typename _Build_index_tuple<tuple_size<
1417:  typename remove_reference<_Tp>::type>::value>::__type __type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Ret, typename _Indices, typename... _Tpls>
1417:     struct __tuple_concater;
1417: 
1417:   template<typename _Ret, size_t... _Is, typename _Tp, typename... _Tpls>
1417:     struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...>
1417:     {
1417:       template<typename... _Us>
1417:         static constexpr _Ret
1417:         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
1417:         {
1417:    typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1417:    typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
1417:    return __next::_S_do(std::forward<_Tpls>(__tps)...,
1417:           std::forward<_Us>(__us)...,
1417:           std::get<_Is>(std::forward<_Tp>(__tp))...);
1417:  }
1417:     };
1417: 
1417:   template<typename _Ret>
1417:     struct __tuple_concater<_Ret, _Index_tuple<>>
1417:     {
1417:       template<typename... _Us>
1417:  static constexpr _Ret
1417:  _S_do(_Us&&... __us)
1417:         {
1417:    return _Ret(std::forward<_Us>(__us)...);
1417:  }
1417:     };
1417: 
1417:   template<typename... _Tps>
1417:     struct __is_tuple_like_impl<tuple<_Tps...>> : true_type
1417:     { };
1417: 
1417: 
1417:   template<typename... _Tpls, typename = typename
1417:            enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
1417:     constexpr auto
1417:     tuple_cat(_Tpls&&... __tpls)
1417:     -> typename __tuple_cat_result<_Tpls...>::__type
1417:     {
1417:       typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
1417:       typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1417:       typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
1417:       return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename... _Elements>
1417:     constexpr tuple<_Elements&...>
1417:     tie(_Elements&... __args) noexcept
1417:     { return tuple<_Elements&...>(__args...); }
1417: 
1417: 
1417:   template<typename... _Elements>
1417:    
1417:     inline
1417: 
1417: 
1417:     typename enable_if<__and_<__is_swappable<_Elements>...>::value
1417:       >::type
1417: 
1417: 
1417: 
1417:     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   template<typename... _Elements>
1417:    
1417:     typename enable_if<!__and_<__is_swappable<_Elements>...>::value>::type
1417:     swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct _Swallow_assign
1417:   {
1417:     template<class _Tp>
1417:       constexpr const _Swallow_assign&
1417:       operator=(const _Tp&) const
1417:       { return *this; }
1417:   };
1417: 
1417: 
1417: 
1417:   inline constexpr _Swallow_assign ignore{};
1417: 
1417: 
1417:   template<typename... _Types, typename _Alloc>
1417:     struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
1417: # 1798 "/usr/include/c++/12/tuple" 3
1417:   template<class _T1, class _T2>
1417:     template<typename... _Args1, typename... _Args2>
1417:      
1417:       inline
1417:       pair<_T1, _T2>::
1417:       pair(piecewise_construct_t,
1417:     tuple<_Args1...> __first, tuple<_Args2...> __second)
1417:       : pair(__first, __second,
1417:       typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
1417:       typename _Build_index_tuple<sizeof...(_Args2)>::__type())
1417:       { }
1417: 
1417:   template<class _T1, class _T2>
1417:     template<typename... _Args1, size_t... _Indexes1,
1417:       typename... _Args2, size_t... _Indexes2>
1417:       inline
1417:       pair<_T1, _T2>::
1417:       pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
1417:     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
1417:       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
1417:  second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<template<typename...> class _Trait, typename _Tp, typename _Tuple>
1417:     inline constexpr bool __unpack_std_tuple = false;
1417: 
1417:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1417:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>>
1417:       = _Trait<_Tp, _Up...>::value;
1417: 
1417:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1417:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&>
1417:       = _Trait<_Tp, _Up&...>::value;
1417: 
1417:   template<template<typename...> class _Trait, typename _Tp, typ __h = this->_M_conjure_hashtable();
609:    return __h._M_emplace(__hint, __unique_keys{},
609:     std::forward<_Pair>(__v));
609:  }
609:    };
609: 
609:   template<typename _Policy>
609:     using __has_load_factor = typename _Policy::__has_load_factor;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits,
609:     typename =
609:       __detected_or_t<false_type, __has_load_factor, _RehashPolicy>>
609:     struct _Rehash_base;
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
609:    false_type >
609:     {
609:     };
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
609:    true_type >
609:     {
609:     private:
609:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey,
609:          _Equal, _Hash, _RangeHash, _Unused,
609:          _RehashPolicy, _Traits>;
609: 
609:     public:
609:       float
609:       max_load_factor() const noexcept
609:       {
609:  const __hashtable* __this = static_cast<const __hashtable*>(this);
609:  return __this->__rehash_policy().max_load_factor();
609:       }
609: 
609:       void
609:       max_load_factor(float __z)
609:       {
609:  __hashtable* __this = static_cast<__hashtable*>(this);
609:  __this->__rehash_policy(_RehashPolicy(__z));
609:       }
609: 
609:       void
609:       reserve(std::size_t __n)
609:       {
609:  __hashtable* __this = static_cast<__hashtable*>(this);
609:  __this->rehash(__this->__rehash_policy()._M_bkt_for_elements(__n));
609:       }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<int _Nm, typename _Tp,
609:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
609:     struct _Hashtable_ebo_helper;
609: 
609: 
609:   template<int _Nm, typename _Tp>
609:     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
609:     : private _Tp
609:     {
609:       _Hashtable_ebo_helper() noexcept(noexcept(_Tp())) : _Tp() { }
609: 
609:       template<typename _OtherTp>
609:  _Hashtable_ebo_helper(_OtherTp&& __tp)
609:  : _Tp(std::forward<_OtherTp>(__tp))
609:  { }
609: 
609:       const _Tp& _M_cget() const { return static_cast<const _Tp&>(*this); }
609:       _Tp& _M_get() { return static_cast<_Tp&>(*this); }
609:     };
609: 
609: 
609:   template<int _Nm, typename _Tp>
609:     struct _Hashtable_ebo_helper<_Nm, _Tp, false>
609:     {
609:       _Hashtable_ebo_helper() = default;
609: 
609:       template<typename _OtherTp>
609:  _Hashtable_ebo_helper(_OtherTp&& __tp)
609:  : _M_tp(std::forward<_OtherTp>(__tp))
609:  { }
609: 
609:       const _Tp& _M_cget() const { return _M_tp; }
609:       _Tp& _M_get() { return _M_tp; }
609: 
609:     private:
609:       _Tp _M_tp{};
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     bool __cache_hash_code>
609:     struct _Local_iterator_base;
609: # 1236 "/usr/include/c++/12/bits/hashtable_policy.h" 3
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     bool __cache_hash_code>
609:     struct _Hash_code_base
609:     : private _Hashtable_ebo_helper<1, _Hash>
609:     {
609:     private:
609:       usiename... _Up>
1417:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>>
1417:       = _Trait<_Tp, const _Up...>::value;
1417: 
1417:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1417:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&>
1417:       = _Trait<_Tp, const _Up&...>::value;
1417: 
1417: 
1417: 
1417:   template <typename _Fn, typename _Tuple, size_t... _Idx>
1417:     constexpr decltype(auto)
1417:     __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>)
1417:     {
1417:       return std::__invoke(std::forward<_Fn>(__f),
1417:       std::get<_Idx>(std::forward<_Tuple>(__t))...);
1417:     }
1417: 
1417:   template <typename _Fn, typename _Tuple>
1417:     constexpr decltype(auto)
1417:     apply(_Fn&& __f, _Tuple&& __t)
1417:     noexcept(__unpack_std_tuple<is_nothrow_invocable, _Fn, _Tuple>)
1417:     {
1417:       using _Indices
1417:  = make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>;
1417:       return std::__apply_impl(std::forward<_Fn>(__f),
1417:           std::forward<_Tuple>(__t),
1417:           _Indices{});
1417:     }
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename _Tuple, size_t... _Idx>
1417:     constexpr _Tp
1417:     __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>)
1417:     { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); }
1417: 
1417:   template <typename _Tp, typename _Tuple>
1417:     constexpr _Tp
1417:     make_from_tuple(_Tuple&& __t)
1417:     noexcept(__unpack_std_tuple<is_nothrow_constructible, _Tp, _Tuple>)
1417:     {
1417:       return __make_from_tuple_impl<_Tp>(
1417:         std::forward<_Tuple>(__t),
1417:  make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>{});
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 37 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
1417: # 52 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:   template<typename> class auto_ptr;
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct default_delete
1417:     {
1417: 
1417:       constexpr default_delete() noexcept = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Up,
1417:         typename = _Require<is_convertible<_Up*, _Tp*>>>
1417: 
1417:         default_delete(const default_delete<_Up>&) noexcept { }
1417: 
1417: 
1417:      
1417:       void
1417:       operator()(_Tp* __ptr) const
1417:       {
1417:  static_assert(!is_void<_Tp>::value,
1417:         "can't delete pointer to incomplete type");
1417:  static_assert(sizeof(_Tp)>0,
1417:         "can't delete pointer to incomplete type");
1417:  delete __ptr;
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct default_delete<_Tp[]>
1417:     {
1417:     public:
1417: 
1417:       constexpr default_delete() noexcept = default;
1417: # 119 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Up,
1417:         typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>>
1417: 
1417:         default_delete(const default_delete<_Up[]>&) noexcept { }
1417: 
1417: 
1417:       template<typename _Up>
1417: 
1417:  typename enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type
1417:  operator()(_Up* __ptr) const
1417:  {
1417:    static_assert(sizeof(_Tp)>0,
1417:    "can't delete pointer to incomplete type");
1417:    delete [] __ptr;
1417:  }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename _Dp>
1417:     class __uniq_ptr_impl
1417:     {
1417:       template <typename _Up, typename _Ep, typename = void>
1417:  struct _Ptr
1417:  {
1417:    using type = _Up*;
1417:  };
1417: 
1417:       template <typename _Up, typename _Ep>
1417:  struct
1417:  _Ptr<_Up, _Ep, __void_tern int rand_r (unsigned int *__seed) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double drand48 (void) noexcept (true);
1412: extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern long int lrand48 (void) noexcept (true);
1412: extern long int nrand48 (unsigned short int __xsubi[3])
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern long int mrand48 (void) noexcept (true);
1412: extern long int jrand48 (unsigned short int __xsubi[3])
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern void srand48 (long int __seedval) noexcept (true);
1412: extern unsigned short int *seed48 (unsigned short int __seed16v[3])
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: struct drand48_data
1412:   {
1412:     unsigned short int __x[3];
1412:     unsigned short int __old_x[3];
1412:     unsigned short int __c;
1412:     unsigned short int __init;
1412:     __extension__ unsigned long long int __a;
1412: 
1412:   };
1412: 
1412: 
1412: extern int drand48_r (struct drand48_data *__restrict __buffer,
1412:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: extern int erand48_r (unsigned short int __xsubi[3],
1412:         struct drand48_data *__restrict __buffer,
1412:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int lrand48_r (struct drand48_data *__restrict __buffer,
1412:         long int *__restrict __result)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: extern int nrand48_r (unsigned short int __xsubi[3],
1412:         struct drand48_data *__restrict __buffer,
1412:         long int *__restrict __result)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int mrand48_r (struct drand48_data *__restrict __buffer,
1412:         long int *__restrict __result)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: extern int jrand48_r (unsigned short int __xsubi[3],
1412:         struct drand48_data *__restrict __buffer,
1412:         long int *__restrict __result)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: extern int seed48_r (unsigned short int __seed16v[3],
1412:        struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern int lcong48_r (unsigned short int __param[7],
1412:         struct drand48_data *__buffer)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern __uint32_t arc4random (void)
1412:      noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: extern void arc4random_buf (void *__buf, size_t __size)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
1412:      noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1412:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: extern void *calloc (size_t __nmemb, size_t __size)
1412:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void *realloc (void *__ptr, size_t __size)
1412:      noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2)));
1412: 
1412: 
1412: extern void free (void *__ptr) noexcept (true);
14ng __ebo_hash = _Hashtable_ebo_helper<1, _Hash>;
609: 
609: 
609:       friend struct _Local_iterator_base<_Key, _Value, _ExtractKey,
609:       _Hash, _RangeHash, _Unused, false>;
609: 
609:     public:
609:       typedef _Hash hasher;
609: 
609:       hasher
609:       hash_function() const
609:       { return _M_hash(); }
609: 
609:     protected:
609:       typedef std::size_t __hash_code;
609: 
609: 
609: 
609:       _Hash_code_base() = default;
609: 
609:       _Hash_code_base(const _Hash& __hash) : __ebo_hash(__hash) { }
609: 
609:       __hash_code
609:       _M_hash_code(const _Key& __k) const
609:       {
609:  static_assert(__is_invocable<const _Hash&, const _Key&>{},
609:      "hash function must be invocable with an argument of key type");
609:  return _M_hash()(__k);
609:       }
609: 
609:       template<typename _Kt>
609:  __hash_code
609:  _M_hash_code_tr(const _Kt& __k) const
609:  {
609:    static_assert(__is_invocable<const _Hash&, const _Kt&>{},
609:      "hash function must be invocable with an argument of key type");
609:    return _M_hash()(__k);
609:  }
609: 
609:       __hash_code
609:       _M_hash_code(const _Hash&,
609:      const _Hash_node_value<_Value, true>& __n) const
609:       { return __n._M_hash_code; }
609: 
609: 
609: 
609:       template<typename _H2>
609:  __hash_code
609:  _M_hash_code(const _H2&,
609:   const _Hash_node_value<_Value, __cache_hash_code>& __n) const
609:  { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
609: 
609:       __hash_code
609:       _M_hash_code(const _Hash_node_value<_Value, false>& __n) const
609:       { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
609: 
609:       __hash_code
609:       _M_hash_code(const _Hash_node_value<_Value, true>& __n) const
609:       { return __n._M_hash_code; }
609: 
609:       std::size_t
609:       _M_bucket_index(__hash_code __c, std::size_t __bkt_count) const
609:       { return _RangeHash{}(__c, __bkt_count); }
609: 
609:       std::size_t
609:       _M_bucket_index(const _Hash_node_value<_Value, false>& __n,
609:         std::size_t __bkt_count) const
609:  noexcept( noexcept(declval<const _Hash&>()(declval<const _Key&>()))
609:     && noexcept(declval<const _RangeHash&>()((__hash_code)0,
609:           (std::size_t)0)) )
609:       {
609:  return _RangeHash{}(_M_hash_code(_ExtractKey{}(__n._M_v())),
609:        __bkt_count);
609:       }
609: 
609:       std::size_t
609:       _M_bucket_index(const _Hash_node_value<_Value, true>& __n,
609:         std::size_t __bkt_count) const
609:  noexcept( noexcept(declval<const _RangeHash&>()((__hash_code)0,
609:        (std::size_t)0)) )
609:       { return _RangeHash{}(__n._M_hash_code, __bkt_count); }
609: 
609:       void
609:       _M_store_code(_Hash_node_code_cache<false>&, __hash_code) const
609:       { }
609: 
609:       void
609:       _M_copy_code(_Hash_node_code_cache<false>&,
609:      const _Hash_node_code_cache<false>&) const
609:       { }
609: 
609:       void
609:       _M_store_code(_Hash_node_code_cache<true>& __n, __hash_code __c) const
609:       { __n._M_hash_code = __c; }
609: 
609:       void
609:       _M_copy_code(_Hash_node_code_cache<true>& __to,
609:      const _Hash_node_code_cache<true>& __from) const
609:       { __to._M_hash_code = __from._M_hash_code; }
609: 
609:       void
609:       _M_swap(_Hash_code_base& __x)
609:       { std::swap(__ebo_hash::_M_get(), __x.__ebo_hash::_M_get()); }
609: 
609:       const _Hash&
609:       _M_hash() const { return __ebo_hash::_M_cget(); }
609:     };
609: 
609: 
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Hash, typename _RangeHash, typename _Unused>
609:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
609:     _Hash, _RangeHash, _Unused, true>
609:     : public _Node_iterator_base<_Value, true>
609:     {
609:     protected:
609:       using __base_node_iter = _Node_iterator_base<_Value, true>;
609:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
609:            _Hash, _RangeHash, _Unused, true>;
609: 
609:       _Lo<typename remove_reference<_Ep>::type::pointer>>
1417:  {
1417:    using type = typename remove_reference<_Ep>::type::pointer;
1417:  };
1417: 
1417:     public:
1417:       using _DeleterConstraint = enable_if<
1417:         __and_<__not_<is_pointer<_Dp>>,
1417:         is_default_constructible<_Dp>>::value>;
1417: 
1417:       using pointer = typename _Ptr<_Tp, _Dp>::type;
1417: 
1417:       static_assert( !is_rvalue_reference<_Dp>::value,
1417:        "unique_ptr's deleter type must be a function object type"
1417:        " or an lvalue reference type" );
1417: 
1417:       __uniq_ptr_impl() = default;
1417:      
1417:       __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; }
1417: 
1417:       template<typename _Del>
1417: 
1417:  __uniq_ptr_impl(pointer __p, _Del&& __d)
1417:  : _M_t(__p, std::forward<_Del>(__d)) { }
1417: 
1417:      
1417:       __uniq_ptr_impl(__uniq_ptr_impl&& __u) noexcept
1417:       : _M_t(std::move(__u._M_t))
1417:       { __u._M_ptr() = nullptr; }
1417: 
1417:      
1417:       __uniq_ptr_impl& operator=(__uniq_ptr_impl&& __u) noexcept
1417:       {
1417:  reset(__u.release());
1417:  _M_deleter() = std::forward<_Dp>(__u._M_deleter());
1417:  return *this;
1417:       }
1417: 
1417:      
1417:       pointer& _M_ptr() noexcept { return std::get<0>(_M_t); }
1417:      
1417:       pointer _M_ptr() const noexcept { return std::get<0>(_M_t); }
1417:      
1417:       _Dp& _M_deleter() noexcept { return std::get<1>(_M_t); }
1417:      
1417:       const _Dp& _M_deleter() const noexcept { return std::get<1>(_M_t); }
1417: 
1417:      
1417:       void reset(pointer __p) noexcept
1417:       {
1417:  const pointer __old_p = _M_ptr();
1417:  _M_ptr() = __p;
1417:  if (__old_p)
1417:    _M_deleter()(__old_p);
1417:       }
1417: 
1417:      
1417:       pointer release() noexcept
1417:       {
1417:  pointer __p = _M_ptr();
1417:  _M_ptr() = nullptr;
1417:  return __p;
1417:       }
1417: 
1417:      
1417:       void
1417:       swap(__uniq_ptr_impl& __rhs) noexcept
1417:       {
1417:  using std::swap;
1417:  swap(this->_M_ptr(), __rhs._M_ptr());
1417:  swap(this->_M_deleter(), __rhs._M_deleter());
1417:       }
1417: 
1417:     private:
1417:       tuple<pointer, _Dp> _M_t;
1417:     };
1417: 
1417: 
1417:   template <typename _Tp, typename _Dp,
1417:      bool = is_move_constructible<_Dp>::value,
1417:      bool = is_move_assignable<_Dp>::value>
1417:     struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp>
1417:     {
1417:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1417:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1417:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1417:     };
1417: 
1417:   template <typename _Tp, typename _Dp>
1417:     struct __uniq_ptr_data<_Tp, _Dp, true, false> : __uniq_ptr_impl<_Tp, _Dp>
1417:     {
1417:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1417:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1417:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1417:     };
1417: 
1417:   template <typename _Tp, typename _Dp>
1417:     struct __uniq_ptr_data<_Tp, _Dp, false, true> : __uniq_ptr_impl<_Tp, _Dp>
1417:     {
1417:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1417:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1417:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1417:     };
1417: 
1417:   template <typename _Tp, typename _Dp>
1417:     struct __uniq_ptr_data<_Tp, _Dp, false, false> : __uniq_ptr_impl<_Tp, _Dp>
1417:     {
1417:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1417:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1417:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename _Dp = default_delete<_Tp>>
1417:     class unique_ptr
1417:     {
1417:       template <typename _Up>
1417:  using _DeleterConstraint =
1417:    typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1417: 
1417:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1417: 
1417:     public:
1417:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1417:       using element_type = _Tp;
1417:       using deleter_type = _Dp;
1417: 
1417:     private:
1417: 
1417: 
1417:       template<typename _Up, typename _Ep>
1417:  using __safe_conversion_up = __and_<
1417:    is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>,
1417:    __not_<is_array<_Up>>
1417:         >;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1417:  constexpr unique_ptr() noexcept
1417:  : _M_t()
1417:  { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1417: 
1417:  explicit
1417:  unique_ptr(pointer __p) noexcept
1417:  : _M_t(__p)
1417:         { }
1417: # 320 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Del = deleter_type,
1417:         typename = _Require<is_copy_constructible<_Del>>>
1417: 
1417:  unique_ptr(pointer __p, const deleter_type& __d) noexcept
1417:  : _M_t(__p, __d) { }
1417: # 333 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Del = deleter_type,
1417:         typename = _Require<is_move_constructible<_Del>>>
1417: 
1417:  unique_ptr(pointer __p,
1417:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1417:      _Del&&> __d) noexcept
1417:  : _M_t(__p, std::move(__d))
1417:  { }
1417: 
1417:       template<typename _Del = deleter_type,
1417:         typename _DelUnref = typename remove_reference<_Del>::type>
1417: 
1417:  unique_ptr(pointer,
1417:      __enable_if_t<is_lvalue_reference<_Del>::value,
1417:      _DelUnref&&>) = delete;
1417: 
1417: 
1417:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1417:  constexpr unique_ptr(nullptr_t) noexcept
1417:  : _M_t()
1417:  { }
1417: 
1417: 
1417: 
1417: 
1417:       unique_ptr(unique_ptr&&) = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Up, typename _Ep, typename = _Require<
1417:                __safe_conversion_up<_Up, _Ep>,
1417:         __conditional_t<is_reference<_Dp>::value,
1417:           is_same<_Ep, _Dp>,
1417:           is_convertible<_Ep, _Dp>>>>
1417: 
1417:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1417:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1417:  { }
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417:       template<typename _Up, typename = _Require<
1417:         is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>>
1417:  unique_ptr(auto_ptr<_Up>&& __u) noexcept;
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~unique_ptr() noexcept
1417:       {
1417:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1417:         "unique_ptr's deleter must be invocable with a pointer");
1417:  auto& __ptr = _M_t._M_ptr();
1417:  if (__ptr != nullptr)
1417:    get_deleter()(std::move(__ptr));
1417:  __ptr = pointer();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unique_ptr& operator=(unique_ptr&&) = default;
1417: # 415 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Up, typename _Ep>
1417: 
1417:         typename enable_if< __and_<
1417:           __safe_conversion_up<_Up, _Ep>,
1417:           is_assignable<deleter_type&, _Ep&&>
1417:           >::value,
1417:           unique_ptr&>::type
1417:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1417:  {
1417:    reset(__u.release());
1417:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1417:    return *this;
1417:  }
1417: 
1417: 
1417:      
1417:       unique_ptr&
1417:       operator=(nullptr_t) noexcept
1417:       {
1417:  reset();
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       typename add_lvalue_reference<element_type>::type
1417:       operator*() const noexcept(noexcept(*std::declval<pointer>()))
1417:       {
1417:  do {12: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1412:      noexcept (true) __attribute__ ((__warn_unused_result__))
1412:      __attribute__ ((__alloc_size__ (2, 3)))
1412:     __attribute__ ((__malloc__ (__builtin_free, 1)));
1412: 
1412: 
1412: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1412:      noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1)));
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/alloca.h" 1 3 4
1412: # 24 "/usr/include/alloca.h" 3 4
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 25 "/usr/include/alloca.h" 2 3 4
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void *alloca (size_t __size) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 588 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1412:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern void *aligned_alloc (size_t __alignment, size_t __size)
1412:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
1412:      __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: extern void abort (void) noexcept (true) __attribute__ ((__noreturn__));
1412: 
1412: 
1412: 
1412: extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" int at_quick_exit (void (*__func) (void))
1412:      noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
1412: # 630 "/usr/include/stdlib.h" 3 4
1412: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1412: 
1412: 
1412: 
1412: 
1412: extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern char *secure_getenv (const char *__name)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int setenv (const char *__name, const char *__value, int __replace)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int clearenv (void) noexcept (true);
1412: # 695 "/usr/include/stdlib.h" 3 4
1412: extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 711 "/usr/include/stdlib.h" 3 4
1412: extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
1412:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: # 733 "/usr/include/stdlib.h" 3 4
1412: extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64")
1412:                      __attribute__ ((__nonnull__ (1))) __att if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1417:  return *get();
1417:       }
1417: 
1417: 
1417:      
1417:       pointer
1417:       operator->() const noexcept
1417:       {
1417:  ;
1417:  return get();
1417:       }
1417: 
1417: 
1417:      
1417:       pointer
1417:       get() const noexcept
1417:       { return _M_t._M_ptr(); }
1417: 
1417: 
1417:      
1417:       deleter_type&
1417:       get_deleter() noexcept
1417:       { return _M_t._M_deleter(); }
1417: 
1417: 
1417:      
1417:       const deleter_type&
1417:       get_deleter() const noexcept
1417:       { return _M_t._M_deleter(); }
1417: 
1417: 
1417:      
1417:       explicit operator bool() const noexcept
1417:       { return get() == pointer() ? false : true; }
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       pointer
1417:       release() noexcept
1417:       { return _M_t.release(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       void
1417:       reset(pointer __p = pointer()) noexcept
1417:       {
1417:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1417:         "unique_ptr's deleter must be invocable with a pointer");
1417:  _M_t.reset(std::move(__p));
1417:       }
1417: 
1417: 
1417:      
1417:       void
1417:       swap(unique_ptr& __u) noexcept
1417:       {
1417:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1417:  _M_t.swap(__u._M_t);
1417:       }
1417: 
1417: 
1417:       unique_ptr(const unique_ptr&) = delete;
1417:       unique_ptr& operator=(const unique_ptr&) = delete;
1417:   };
1417: # 526 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:   template<typename _Tp, typename _Dp>
1417:     class unique_ptr<_Tp[], _Dp>
1417:     {
1417:       template <typename _Up>
1417:       using _DeleterConstraint =
1417:  typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1417: 
1417:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1417: 
1417:       template<typename _Up>
1417:  using __remove_cv = typename remove_cv<_Up>::type;
1417: 
1417: 
1417:       template<typename _Up>
1417:  using __is_derived_Tp
1417:    = __and_< is_base_of<_Tp, _Up>,
1417:       __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >;
1417: 
1417:     public:
1417:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1417:       using element_type = _Tp;
1417:       using deleter_type = _Dp;
1417: 
1417: 
1417: 
1417:       template<typename _Up, typename _Ep,
1417:                typename _UPtr = unique_ptr<_Up, _Ep>,
1417:         typename _UP_pointer = typename _UPtr::pointer,
1417:         typename _UP_element_type = typename _UPtr::element_type>
1417:  using __safe_conversion_up = __and_<
1417:           is_array<_Up>,
1417:           is_same<pointer, element_type*>,
1417:           is_same<_UP_pointer, _UP_element_type*>,
1417:           is_convertible<_UP_element_type(*)[], element_type(*)[]>
1417:         >;
1417: 
1417: 
1417:       template<typename _Up>
1417:         using __safe_conversion_raw = __and_<
1417:           __or_<__or_<is_same<_Up, pointer>,
1417:                       is_same<_Up, nullptr_t>>,
1417:                 __and_<is_pointer<_Up>,
1417:                        is_same<pointer, element_type*>,
1417:                        is_convertible<
1417:                          typename remove_pointer<_Up>::type(*)[],
1417:                          element_type(*)[]>
1417:                 >
1417:           >
1417:         >;
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1417:  constexpr unique_ptr() noexcept
1417:  : _M_t()
1417:  { }
1417: # 591 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Up,
1417:         typename _Vp = _Dp,
1417:         typename = _DeleterConstraint<_Vp>,
1417:         typename = typename enable_if<
1417:                  __safe_conversion_raw<_Up>::value, bool>::type>
1417: 
1417:  explicit
1417:  unique_ptr(_Up __p) noexcept
1417:  : _M_t(__p)
1417:         { }
1417: # 610 "/usr/inclucal_iterator_base() = default;
609:       _Local_iterator_base(const __hash_code_base&,
609:       _Hash_node<_Value, true>* __p,
609:       std::size_t __bkt, std::size_t __bkt_count)
609:       : __base_node_iter(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
609:       { }
609: 
609:       void
609:       _M_incr()
609:       {
609:  __base_node_iter::_M_incr();
609:  if (this->_M_cur)
609:    {
609:      std::size_t __bkt
609:        = _RangeHash{}(this->_M_cur->_M_hash_code, _M_bucket_count);
609:      if (__bkt != _M_bucket)
609:        this->_M_cur = nullptr;
609:    }
609:       }
609: 
609:       std::size_t _M_bucket;
609:       std::size_t _M_bucket_count;
609: 
609:     public:
609:       std::size_t
609:       _M_get_bucket() const { return _M_bucket; }
609:     };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, bool _IsEmpty = std::is_empty<_Tp>::value>
609:     struct _Hash_code_storage
609:     {
609:       __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
609: 
609:       _Tp*
609:       _M_h() { return _M_storage._M_ptr(); }
609: 
609:       const _Tp*
609:       _M_h() const { return _M_storage._M_ptr(); }
609:     };
609: 
609: 
609:   template<typename _Tp>
609:     struct _Hash_code_storage<_Tp, true>
609:     {
609:       static_assert( std::is_empty<_Tp>::value, "Type must be empty" );
609: 
609: 
609: 
609:       _Tp*
609:       _M_h() { return reinterpret_cast<_Tp*>(this); }
609: 
609:       const _Tp*
609:       _M_h() const { return reinterpret_cast<const _Tp*>(this); }
609:     };
609: 
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Hash, typename _RangeHash, typename _Unused>
609:     using __hash_code_for_local_iter
609:       = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey,
609:         _Hash, _RangeHash, _Unused, false>>;
609: 
609: 
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Hash, typename _RangeHash, typename _Unused>
609:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
609:     _Hash, _RangeHash, _Unused, false>
609:     : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
609:      _Unused>
609:     , _Node_iterator_base<_Value, false>
609:     {
609:     protected:
609:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
609:           _Hash, _RangeHash, _Unused, false>;
609:       using __node_iter_base = _Node_iterator_base<_Value, false>;
609: 
609:       _Local_iterator_base() : _M_bucket_count(-1) { }
609: 
609:       _Local_iterator_base(const __hash_code_base& __base,
609:       _Hash_node<_Value, false>* __p,
609:       std::size_t __bkt, std::size_t __bkt_count)
609:       : __node_iter_base(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
609:       { _M_init(__base); }
609: 
609:       ~_Local_iterator_base()
609:       {
609:  if (_M_bucket_count != size_t(-1))
609:    _M_destroy();
609:       }
609: 
609:       _Local_iterator_base(const _Local_iterator_base& __iter)
609:       : __node_iter_base(__iter._M_cur), _M_bucket(__iter._M_bucket)
609:       , _M_bucket_count(__iter._M_bucket_count)
609:       {
609:  if (_M_bucket_count != size_t(-1))
609:    _M_init(*__iter._M_h());
609:       }
609: 
609:       _Local_iterator_base&
609:       operator=(const _Local_iterator_base& __iter)
609:       {
609:  if (_M_bucket_count != -1)
609:    _M_destroy();
609:  this->_M_cur = __iter._M_cur;
609:  _M_bucket = __iter._M_bucket;
609:  _M_bucket_count = __iter._M_bucket_count;
609:  if (_M_bucket_count != -1)
609:    _M_init(*__iter._M_h());
609:  return *this;
609:       }
609: 
609:       void
609:       _M_incr()
609:       {
609:  __node_iter_base::_M_incr();
609:  if (this->_M_cur)
609:    {
609:      std::size_t __bkt = this->_M_h()->_M_bucket_index(*this->_M_cur,
609:              _M_bucket_count);
609:      if (__bkt != _M_bucket)
609:        this->_M_cur = nullptr;
609:    }
609:       }
609: 
609:       std::size_t _M_bucket;
609:       std::size_t _M_bucket_count;
609: 
609:       void
609:       de/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Up, typename _Del = deleter_type,
1417:         typename = _Require<__safe_conversion_raw<_Up>,
1417:        is_copy_constructible<_Del>>>
1417: 
1417:  unique_ptr(_Up __p, const deleter_type& __d) noexcept
1417:  : _M_t(__p, __d) { }
1417: # 625 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Up, typename _Del = deleter_type,
1417:         typename = _Require<__safe_conversion_raw<_Up>,
1417:        is_move_constructible<_Del>>>
1417: 
1417:  unique_ptr(_Up __p,
1417:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1417:      _Del&&> __d) noexcept
1417:  : _M_t(std::move(__p), std::move(__d))
1417:  { }
1417: 
1417:       template<typename _Up, typename _Del = deleter_type,
1417:         typename _DelUnref = typename remove_reference<_Del>::type,
1417:         typename = _Require<__safe_conversion_raw<_Up>>>
1417:  unique_ptr(_Up,
1417:      __enable_if_t<is_lvalue_reference<_Del>::value,
1417:      _DelUnref&&>) = delete;
1417: 
1417: 
1417:       unique_ptr(unique_ptr&&) = default;
1417: 
1417: 
1417:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1417:  constexpr unique_ptr(nullptr_t) noexcept
1417:  : _M_t()
1417:         { }
1417: 
1417:       template<typename _Up, typename _Ep, typename = _Require<
1417:         __safe_conversion_up<_Up, _Ep>,
1417:         __conditional_t<is_reference<_Dp>::value,
1417:           is_same<_Ep, _Dp>,
1417:           is_convertible<_Ep, _Dp>>>>
1417: 
1417:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1417:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1417:  { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~unique_ptr()
1417:       {
1417:  auto& __ptr = _M_t._M_ptr();
1417:  if (__ptr != nullptr)
1417:    get_deleter()(__ptr);
1417:  __ptr = pointer();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unique_ptr&
1417:       operator=(unique_ptr&&) = default;
1417: # 689 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:       template<typename _Up, typename _Ep>
1417: 
1417:  typename
1417:  enable_if<__and_<__safe_conversion_up<_Up, _Ep>,
1417:                          is_assignable<deleter_type&, _Ep&&>
1417:                   >::value,
1417:                   unique_ptr&>::type
1417:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1417:  {
1417:    reset(__u.release());
1417:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1417:    return *this;
1417:  }
1417: 
1417: 
1417:      
1417:       unique_ptr&
1417:       operator=(nullptr_t) noexcept
1417:       {
1417:  reset();
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       typename std::add_lvalue_reference<element_type>::type
1417:       operator[](size_t __i) const
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1417:  return get()[__i];
1417:       }
1417: 
1417: 
1417:      
1417:       pointer
1417:       get() const noexcept
1417:       { return _M_t._M_ptr(); }
1417: 
1417: 
1417:      
1417:       deleter_type&
1417:       get_deleter() noexcept
1417:       { return _M_t._M_deleter(); }
1417: 
1417: 
1417:      
1417:       const deleter_type&
1417:       get_deleter() const noexcept
1417:       { return _M_t._M_deleter(); }
1417: 
1417: 
1417:      
1417:       explicit operator bool() const noexcept
1417:       { return get() == pointer() ? false : true; }
1417: 
1417: 
1417: 
1417: 
1417:      
1417:       pointer
1417:       release() noexcept
1417:       { return _M_t.release(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template <typename _Up,
1417:                 typename = _Require<
1417:                   __or_<is_same<_Up, pointer>,
1417:                         __and_<is_same<pointer, element_type*>,
1417:                                is_pointer<_Up>,
1417:                                is_convertible<
1417:                                  typename remove_pointer<_Up>::type(*)[],
1417:          ribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int mkstemps64 (char *__template, int __suffixlen)
1412:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: # 751 "/usr/include/stdlib.h" 3 4
1412: extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: # 765 "/usr/include/stdlib.h" 3 4
1412: extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64")
1412:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: # 786 "/usr/include/stdlib.h" 3 4
1412: extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64")
1412: 
1412:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
1412:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: # 804 "/usr/include/stdlib.h" 3 4
1412: extern int system (const char *__command) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *canonicalize_file_name (const char *__name)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
1412:      __attribute__ ((__malloc__ (__builtin_free, 1))) __attribute__ ((__warn_unused_result__));
1412: # 821 "/usr/include/stdlib.h" 3 4
1412: extern char *realpath (const char *__restrict __name,
1412:          char *__restrict __resolved) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef int (*__compar_fn_t) (const void *, const void *);
1412: 
1412: 
1412: typedef __compar_fn_t comparison_fn_t;
1412: 
1412: 
1412: 
1412: typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
1412: 
1412: 
1412: 
1412: 
1412: extern void *bsearch (const void *__key, const void *__base,
1412:         size_t __nmemb, size_t __size, __compar_fn_t __compar)
1412:      __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 1 3 4
1412: # 19 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 3 4
1412: extern __inline __attribute__ ((__gnu_inline__)) void *
1412: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
1412:   __compar_fn_t __compar)
1412: {
1412:   size_t __l, __u, __idx;
1412:   const void *__p;
1412:   int __comparison;
1412: 
1412:   __l = 0;
1412:   __u = __nmemb;
1412:   while (__l < __u)
1412:     {
1412:       __idx = (__l + __u) / 2;
1412:       __p = (const void *) (((const char *) __base) + (__idx * __size));
1412:       __comparison = (*__compar) (__key, __p);
1412:       if (__comparison < 0)
1412:  __u = __idx;
1412:       else if (__comparison > 0)
1412:  __l = __idx + 1;
1412:       else
1412:  {
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wcast-qual"
1412: 
1412:    return (void *) __p;
1412: 
1412: #pragma GCC diagnostic pop
1412: 
1412:  }
1412:     }
1412: 
1412:   return __null;
1412: }
1412: # 847 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: extern void qsort (void *__base, size_t __nmemb, size_t __size,
1412:      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
1412: 
1412: extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
1412:        __compar_d_fn_t __compar, void *__arg)
1412:   __attribute__ ((__nonnull__ (1, 4)));
1412: 
1412: 
1412: 
1412: 
1412: extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1412: extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1412: 
1412                        element_type(*)[]
1417:                                >
1417:                         >
1417:                   >
1417:                >>
1417:      
1417:       void
1417:       reset(_Up __p) noexcept
1417:       { _M_t.reset(std::move(__p)); }
1417: 
1417:      
1417:       void reset(nullptr_t = nullptr) noexcept
1417:       { reset(pointer()); }
1417: 
1417: 
1417:      
1417:       void
1417:       swap(unique_ptr& __u) noexcept
1417:       {
1417:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1417:  _M_t.swap(__u._M_t);
1417:       }
1417: 
1417: 
1417:       unique_ptr(const unique_ptr&) = delete;
1417:       unique_ptr& operator=(const unique_ptr&) = delete;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     inline
1417: 
1417: 
1417:    
1417:     typename enable_if<__is_swappable<_Dp>::value>::type
1417: 
1417: 
1417: 
1417:     swap(unique_ptr<_Tp, _Dp>& __x,
1417:   unique_ptr<_Tp, _Dp>& __y) noexcept
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     typename enable_if<!__is_swappable<_Dp>::value>::type
1417:     swap(unique_ptr<_Tp, _Dp>&,
1417:   unique_ptr<_Tp, _Dp>&) = delete;
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp,
1417:     typename _Up, typename _Ep>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const unique_ptr<_Tp, _Dp>& __x,
1417:         const unique_ptr<_Up, _Ep>& __y)
1417:     { return __x.get() == __y.get(); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1417:     { return !__x; }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1417:     { return !__x; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp,
1417:     typename _Up, typename _Ep>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const unique_ptr<_Tp, _Dp>& __x,
1417:         const unique_ptr<_Up, _Ep>& __y)
1417:     { return __x.get() != __y.get(); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1417:     { return (bool)__x; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1417:     { return (bool)__x; }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp,
1417:     typename _Up, typename _Ep>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const unique_ptr<_Tp, _Dp>& __x,
1417:        const unique_ptr<_Up, _Ep>& __y)
1417:     {
1417:       typedef typename
1417:  std::common_type<typename unique_ptr<_Tp, _Dp>::pointer,
1417:                   typename unique_ptr<_Up, _Ep>::pointer>::type _CT;
1417:       return std::less<_CT>()(__x.get(), __y.get());
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1417:     {
1417:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1417:          nullptr);
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1417:     {
1417:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1417:          __x.get());
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp,
1417:     typename _Up, typename _Ep>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const unique_ptr<_Tp, _Dp>& __x,
1417:         const unique_ptr<_Up, _Ep>& __y)
1417:     { return !(___M_init(const __hash_code_base& __base)
609:       { ::new(this->_M_h()) __hash_code_base(__base); }
609: 
609:       void
609:       _M_destroy() { this->_M_h()->~__hash_code_base(); }
609: 
609:     public:
609:       std::size_t
609:       _M_get_bucket() const { return _M_bucket; }
609:     };
609: 
609: 
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     bool __constant_iterators, bool __cache>
609:     struct _Local_iterator
609:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
609:       _Hash, _RangeHash, _Unused, __cache>
609:     {
609:     private:
609:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
609:         _Hash, _RangeHash, _Unused, __cache>;
609:       using __hash_code_base = typename __base_type::__hash_code_base;
609: 
609:     public:
609:       using value_type = _Value;
609:       using pointer = __conditional_t<__constant_iterators,
609:           const value_type*, value_type*>;
609:       using reference = __conditional_t<__constant_iterators,
609:      const value_type&, value_type&>;
609:       using difference_type = ptrdiff_t;
609:       using iterator_category = forward_iterator_tag;
609: 
609:       _Local_iterator() = default;
609: 
609:       _Local_iterator(const __hash_code_base& __base,
609:         _Hash_node<_Value, __cache>* __n,
609:         std::size_t __bkt, std::size_t __bkt_count)
609:       : __base_type(__base, __n, __bkt, __bkt_count)
609:       { }
609: 
609:       reference
609:       operator*() const
609:       { return this->_M_cur->_M_v(); }
609: 
609:       pointer
609:       operator->() const
609:       { return this->_M_cur->_M_valptr(); }
609: 
609:       _Local_iterator&
609:       operator++()
609:       {
609:  this->_M_incr();
609:  return *this;
609:       }
609: 
609:       _Local_iterator
609:       operator++(int)
609:       {
609:  _Local_iterator __tmp(*this);
609:  this->_M_incr();
609:  return __tmp;
609:       }
609:     };
609: 
609: 
609:   template<typename _Key, typename _Value, typename _ExtractKey,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     bool __constant_iterators, bool __cache>
609:     struct _Local_const_iterator
609:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
609:       _Hash, _RangeHash, _Unused, __cache>
609:     {
609:     private:
609:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
609:         _Hash, _RangeHash, _Unused, __cache>;
609:       using __hash_code_base = typename __base_type::__hash_code_base;
609: 
609:     public:
609:       typedef _Value value_type;
609:       typedef const value_type* pointer;
609:       typedef const value_type& reference;
609:       typedef std::ptrdiff_t difference_type;
609:       typedef std::forward_iterator_tag iterator_category;
609: 
609:       _Local_const_iterator() = default;
609: 
609:       _Local_const_iterator(const __hash_code_base& __base,
609:        _Hash_node<_Value, __cache>* __n,
609:        std::size_t __bkt, std::size_t __bkt_count)
609:       : __base_type(__base, __n, __bkt, __bkt_count)
609:       { }
609: 
609:       _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey,
609:         _Hash, _RangeHash, _Unused,
609:         __constant_iterators,
609:         __cache>& __x)
609:       : __base_type(__x)
609:       { }
609: 
609:       reference
609:       operator*() const
609:       { return this->_M_cur->_M_v(); }
609: 
609:       pointer
609:       operator->() const
609:       { return this->_M_cur->_M_valptr(); }
609: 
609:       _Local_const_iterator&
609:       operator++()
609:       {
609:  this->_M_incr();
609:  return *this;
609:       }
609: 
609:       _Local_const_iterator
609:       operator++(int)
609:       {
609:  _Local_const_iterator __tmp(*this);
609:  this->_M_incr();
609:  return __tmp;
609:       }
609:     };
609: # 1628 "/usr/include/c++/12/bits/hashtable_policy.h" 3
609:   template<typename _Key, typename _Value, typename _Exty < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1417:     { return !(nullptr < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1417:     { return !(__x < nullptr); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp,
1417:     typename _Up, typename _Ep>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const unique_ptr<_Tp, _Dp>& __x,
1417:        const unique_ptr<_Up, _Ep>& __y)
1417:     { return (__y < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1417:     {
1417:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1417:          __x.get());
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1417:     {
1417:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1417:          nullptr);
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp,
1417:     typename _Up, typename _Ep>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const unique_ptr<_Tp, _Dp>& __x,
1417:         const unique_ptr<_Up, _Ep>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1417:     { return !(__x < nullptr); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     [[__nodiscard__]] inline bool
1417:     operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1417:     { return !(nullptr < __x); }
1417: # 1001 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:   template<typename _Up, typename _Ptr = typename _Up::pointer,
1417:     bool = __poison_hash<_Ptr>::__enable_hash_call>
1417:     struct __uniq_ptr_hash
1417: 
1417:     : private __poison_hash<_Ptr>
1417: 
1417:     {
1417:       size_t
1417:       operator()(const _Up& __u) const
1417:       noexcept(noexcept(std::declval<hash<_Ptr>>()(std::declval<_Ptr>())))
1417:       { return hash<_Ptr>()(__u.get()); }
1417:     };
1417: 
1417:   template<typename _Up, typename _Ptr>
1417:     struct __uniq_ptr_hash<_Up, _Ptr, false>
1417:     : private __poison_hash<_Ptr>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:     struct hash<unique_ptr<_Tp, _Dp>>
1417:     : public __hash_base<size_t, unique_ptr<_Tp, _Dp>>,
1417:       public __uniq_ptr_hash<unique_ptr<_Tp, _Dp>>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace __detail
1417: {
1417:   template<typename _Tp>
1417:     struct _MakeUniq
1417:     { typedef unique_ptr<_Tp> __single_object; };
1417: 
1417:   template<typename _Tp>
1417:     struct _MakeUniq<_Tp[]>
1417:     { typedef unique_ptr<_Tp[]> __array; };
1417: 
1417:   template<typename _Tp, size_t _Bound>
1417:     struct _MakeUniq<_Tp[_Bound]>
1417:     { struct __invalid_type { }; };
1417: 
1417:   template<typename _Tp>
1417:     using __unique_ptr_t = typename _MakeUniq<_Tp>::__single_object;
1417:   template<typename _Tp>
1417:     using __unique_ptr_array_t = typename _MakeUniq<_Tp>::__array;
1417:   template<typename _Tp>
1417:     using __invalid_make_unique_t = typename _MakeUniq<_Tp>::__invalid_type;
1417: }
1417: # 1061 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:   template<typename _Tp, typename... _Args>
1417:    
1417:     inline __detail::__unique_ptr_t<_Tp>
1417:     make_unique(_Args&&... __args)
1417:     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
1417: # 1076 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:   template<typename _Tp>
1417:    
1417:     inline __detai: 
1412: __extension__ extern long long int llabs (long long int __x)
1412:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern div_t div (int __numer, int __denom)
1412:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1412: extern ldiv_t ldiv (long int __numer, long int __denom)
1412:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: __extension__ extern lldiv_t lldiv (long long int __numer,
1412:         long long int __denom)
1412:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1412: # 893 "/usr/include/stdlib.h" 3 4
1412: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
1412:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
1412:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern char *gcvt (double __value, int __ndigit, char *__buf)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern char *qecvt (long double __value, int __ndigit,
1412:       int *__restrict __decpt, int *__restrict __sign)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1412: extern char *qfcvt (long double __value, int __ndigit,
1412:       int *__restrict __decpt, int *__restrict __sign)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1412: extern char *qgcvt (long double __value, int __ndigit, char *__buf)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
1412:      int *__restrict __sign, char *__restrict __buf,
1412:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1412: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
1412:      int *__restrict __sign, char *__restrict __buf,
1412:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1412: 
1412: extern int qecvt_r (long double __value, int __ndigit,
1412:       int *__restrict __decpt, int *__restrict __sign,
1412:       char *__restrict __buf, size_t __len)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1412: extern int qfcvt_r (long double __value, int __ndigit,
1412:       int *__restrict __decpt, int *__restrict __sign,
1412:       char *__restrict __buf, size_t __len)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int mblen (const char *__s, size_t __n) noexcept (true);
1412: 
1412: 
1412: extern int mbtowc (wchar_t *__restrict __pwc,
1412:      const char *__restrict __s, size_t __n) noexcept (true);
1412: 
1412: 
1412: extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
1412: 
1412: 
1412: 
1412: extern size_t mbstowcs (wchar_t *__restrict __pwcs,
1412:    const char *__restrict __s, size_t __n) noexcept (true)
1412:     __attribute__ ((__access__ (__read_only__, 2)));
1412: 
1412: extern size_t wcstombs (char *__restrict __s,
1412:    const wchar_t *__restrict __pwcs, size_t __n)
1412:      noexcept (true)
1412:   __attribute__ ((__access__ (__write_only__, 1, 3)))
1412:   __attribute__ ((__access__ (__read_only__, 2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1412: # 980 "/usr/include/stdlib.h" 3 4
1412: extern int getsubopt (char **__restrict __optionpl::__unique_ptr_array_t<_Tp>
1417:     make_unique(size_t __num)
1417:     { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename... _Args>
1417:     __detail::__invalid_make_unique_t<_Tp>
1417:     make_unique(_Args&&...) = delete;
1417: # 1149 "/usr/include/c++/12/bits/unique_ptr.h" 3
1417:   namespace __detail::__variant
1417:   {
1417:     template<typename> struct _Never_valueless_alt;
1417: 
1417: 
1417: 
1417:     template<typename _Tp, typename _Del>
1417:       struct _Never_valueless_alt<std::unique_ptr<_Tp, _Del>>
1417:       : std::true_type
1417:       { };
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: # 77 "/usr/include/c++/12/memory" 2 3
1417: # 1 "/usr/include/c++/12/bits/shared_ptr.h" 1 3
1417: # 53 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417: # 1 "/usr/include/c++/12/bits/shared_ptr_base.h" 1 3
1417: # 53 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417: # 1 "/usr/include/c++/12/bits/allocated_ptr.h" 1 3
1417: # 40 "/usr/include/c++/12/bits/allocated_ptr.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Alloc>
1417:     struct __allocated_ptr
1417:     {
1417:       using pointer = typename allocator_traits<_Alloc>::pointer;
1417:       using value_type = typename allocator_traits<_Alloc>::value_type;
1417: 
1417: 
1417:       __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept
1417:       : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr)
1417:       { }
1417: 
1417: 
1417:       template<typename _Ptr,
1417:         typename _Req = _Require<is_same<_Ptr, value_type*>>>
1417:       __allocated_ptr(_Alloc& __a, _Ptr __ptr)
1417:       : _M_alloc(std::__addressof(__a)),
1417:  _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
1417:       { }
1417: 
1417: 
1417:       __allocated_ptr(__allocated_ptr&& __gd) noexcept
1417:       : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr)
1417:       { __gd._M_ptr = nullptr; }
1417: 
1417: 
1417:       ~__allocated_ptr()
1417:       {
1417:  if (_M_ptr != nullptr)
1417:    std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1);
1417:       }
1417: 
1417: 
1417:       __allocated_ptr&
1417:       operator=(std::nullptr_t) noexcept
1417:       {
1417:  _M_ptr = nullptr;
1417:  return *this;
1417:       }
1417: 
1417: 
1417:       value_type* get() { return std::__to_address(_M_ptr); }
1417: 
1417:     private:
1417:       _Alloc* _M_alloc;
1417:       pointer _M_ptr;
1417:     };
1417: 
1417: 
1417:   template<typename _Alloc>
1417:     __allocated_ptr<_Alloc>
1417:     __allocate_guarded(_Alloc& __a)
1417:     {
1417:       return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) };
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: # 54 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/ext/aligned_buffer.h" 1 3
1417: # 32 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1417:        
1417: # 33 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace __gnu_cxx
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __aligned_membuf
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       struct _Tp2 { _Tp _M_t; };
1417: 
1417:       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
1417: 
1417:       __aligned_membuf() = default;
1417: 
1417: 
1417:       __aligned_membuf(std::nullptr_t) { }
1417: 
1417:       void*
1417:       _M_addr() noexcept
1417:       { return static_cast<void*>(&_M_storage); }
1417: 
1417:       const void*
1417:       _M_addr() const noexcept
1417:       { return static_cast<const void*>(&_M_storage); }
1417: 
1417:       _Tp*
1417:       _M_ptr() noexcept
1417:       { return static_cast<_Tp*>(_M_addr()); }
1417: 
1417:       const _Tp*
1417:       _M_ptr() const noexcept
1417:       { return static_cast<const _Tp*>(_M_addr()); }
1417:     };
1417: # 89 "/usr/include/c++/12/ext/aligned_buractKey,
609:     typename _Equal, typename _Hash, typename _RangeHash,
609:     typename _Unused, typename _Traits>
609:     struct _Hashtable_base
609:     : public _Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
609:         _Unused, _Traits::__hash_cached::value>,
609:       private _Hashtable_ebo_helper<0, _Equal>
609:     {
609:     public:
609:       typedef _Key key_type;
609:       typedef _Value value_type;
609:       typedef _Equal key_equal;
609:       typedef std::size_t size_type;
609:       typedef std::ptrdiff_t difference_type;
609: 
609:       using __traits_type = _Traits;
609:       using __hash_cached = typename __traits_type::__hash_cached;
609: 
609:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
609:             _Hash, _RangeHash, _Unused,
609:             __hash_cached::value>;
609: 
609:       using __hash_code = typename __hash_code_base::__hash_code;
609: 
609:     private:
609:       using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>;
609: 
609:       static bool
609:       _S_equals(__hash_code, const _Hash_node_code_cache<false>&)
609:       { return true; }
609: 
609:       static bool
609:       _S_node_equals(const _Hash_node_code_cache<false>&,
609:        const _Hash_node_code_cache<false>&)
609:       { return true; }
609: 
609:       static bool
609:       _S_equals(__hash_code __c, const _Hash_node_code_cache<true>& __n)
609:       { return __c == __n._M_hash_code; }
609: 
609:       static bool
609:       _S_node_equals(const _Hash_node_code_cache<true>& __lhn,
609:        const _Hash_node_code_cache<true>& __rhn)
609:       { return __lhn._M_hash_code == __rhn._M_hash_code; }
609: 
609:     protected:
609:       _Hashtable_base() = default;
609: 
609:       _Hashtable_base(const _Hash& __hash, const _Equal& __eq)
609:       : __hash_code_base(__hash), _EqualEBO(__eq)
609:       { }
609: 
609:       bool
609:       _M_key_equals(const _Key& __k,
609:       const _Hash_node_value<_Value,
609:         __hash_cached::value>& __n) const
609:       {
609:  static_assert(__is_invocable<const _Equal&, const _Key&, const _Key&>{},
609:    "key equality predicate must be invocable with two arguments of "
609:    "key type");
609:  return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
609:       }
609: 
609:       template<typename _Kt>
609:  bool
609:  _M_key_equals_tr(const _Kt& __k,
609:     const _Hash_node_value<_Value,
609:           __hash_cached::value>& __n) const
609:  {
609:    static_assert(
609:      __is_invocable<const _Equal&, const _Kt&, const _Key&>{},
609:      "key equality predicate must be invocable with two arguments of "
609:      "key type");
609:    return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
609:  }
609: 
609:       bool
609:       _M_equals(const _Key& __k, __hash_code __c,
609:   const _Hash_node_value<_Value, __hash_cached::value>& __n) const
609:       { return _S_equals(__c, __n) && _M_key_equals(__k, __n); }
609: 
609:       template<typename _Kt>
609:  bool
609:  _M_equals_tr(const _Kt& __k, __hash_code __c,
609:        const _Hash_node_value<_Value,
609:          __hash_cached::value>& __n) const
609:  { return _S_equals(__c, __n) && _M_key_equals_tr(__k, __n); }
609: 
609:       bool
609:       _M_node_equals(
609:  const _Hash_node_value<_Value, __hash_cached::value>& __lhn,
609:  const _Hash_node_value<_Value, __hash_cached::value>& __rhn) const
609:       {
609:  return _S_node_equals(__lhn, __rhn)
609:    && _M_key_equals(_ExtractKey{}(__lhn._M_v()), __rhn);
609:       }
609: 
609:       void
609:       _M_swap(_Hashtable_base& __x)
609:       {
609:  __hash_code_base::_M_swap(__x);
609:  std::swap(_EqualEBO::_M_get(), __x._EqualEBO::_M_get());
609:       }
609: 
609:       const _Equal&
609:       _M_eq() const { return _EqualEBO::_M_cget(); }
609:     };
609: # 1744 "/usr/include/c++/12/bits/hashtable_policy.h" 3
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _Rehashffer.h" 3
1417:   template<typename _Tp>
1417:     struct __aligned_buffer
1417:     : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
1417:     {
1417:       typename
1417:  std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>::type _M_storage;
1417: 
1417:       __aligned_buffer() = default;
1417: 
1417: 
1417:       __aligned_buffer(std::nullptr_t) { }
1417: 
1417:       void*
1417:       _M_addr() noexcept
1417:       {
1417:         return static_cast<void*>(&_M_storage);
1417:       }
1417: 
1417:       const void*
1417:       _M_addr() const noexcept
1417:       {
1417:         return static_cast<const void*>(&_M_storage);
1417:       }
1417: 
1417:       _Tp*
1417:       _M_ptr() noexcept
1417:       { return static_cast<_Tp*>(_M_addr()); }
1417: 
1417:       const _Tp*
1417:       _M_ptr() const noexcept
1417:       { return static_cast<const _Tp*>(_M_addr()); }
1417:     };
1417: 
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1417: # 1 "/usr/include/c++/12/ext/atomicity.h" 1 3
1417: # 32 "/usr/include/c++/12/ext/atomicity.h" 3
1417:        
1417: # 33 "/usr/include/c++/12/ext/atomicity.h" 3
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 1 3
1417: # 30 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1417: #pragma GCC visibility push(default)
1417: # 148 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 1 3
1417: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1417: # 1 "/usr/include/pthread.h" 1 3 4
1417: # 22 "/usr/include/pthread.h" 3 4
1417: # 1 "/usr/include/sched.h" 1 3 4
1417: # 29 "/usr/include/sched.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 30 "/usr/include/sched.h" 2 3 4
1417: # 43 "/usr/include/sched.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 1 3 4
1417: # 80 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 3 4
1417: struct sched_param
1417: {
1417:   int sched_priority;
1417: };
1417: # 81 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 2 3 4
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: extern int clone (int (*__fn) (void *__arg), void *__child_stack,
1417:     int __flags, void *__arg, ...) noexcept (true);
1417: 
1417: 
1417: extern int unshare (int __flags) noexcept (true);
1417: 
1417: 
1417: extern int sched_getcpu (void) noexcept (true);
1417: 
1417: 
1417: extern int getcpu (unsigned int *, unsigned int *) noexcept (true);
1417: 
1417: 
1417: extern int setns (int __fd, int __nstype) noexcept (true);
1417: 
1417: 
1417: }
1417: # 44 "/usr/include/sched.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 1 3 4
1417: # 32 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1417: typedef unsigned long int __cpu_mask;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef struct
1417: {
1417:   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
1417: } cpu_set_t;
1417: # 115 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1417: extern "C" {
1417: 
1417: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
1417:      noexcept (true);
1417: extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: extern void __sched_cpufree (cpu_set_t *__set) noexcept (true);
1417: 
1417: }
1417: # 45 "/usr/include/sched.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C" {
1417: 
1417: 
1417: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
1417:      noexcept (true);
1417: 
1417: 
1417: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true);
1417: 
1417: 
1417: extern int sched_setscheduler (__pid_t __pid, int __policy,
1417:           const struct sched_param *__param) noexcept (true);
1417: 
1417: 
1417: extern int sched_getscheduler ,
1412:         char *const *__restrict __tokens,
1412:         char **__restrict __valuep)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int grantpt (int __fd) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int unlockpt (int __fd) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern char *ptsname (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1412: 
1412: 
1412: extern int getpt (void);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int getloadavg (double __loadavg[], int __nelem)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 1036 "/usr/include/stdlib.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 3 4
1412: extern __inline __attribute__ ((__gnu_inline__)) double
1412: __attribute__ ((__leaf__)) atof (const char *__nptr) noexcept (true)
1412: {
1412:   return strtod (__nptr, (char **) __null);
1412: }
1412: # 1037 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 1 3 4
1412: # 23 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 3 4
1412: extern char *__realpath_chk (const char *__restrict __name,
1412:         char *__restrict __resolved,
1412:         size_t __resolvedlen) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) noexcept (true) __asm__ ("" "realpath")
1412: 
1412:                                                  __attribute__ ((__warn_unused_result__));
1412: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) noexcept (true) __asm__ ("" "__realpath_chk")
1412: 
1412: 
1412:                                                 __attribute__ ((__warn_unused_result__))
1412:      __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
1412:                                       ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
1412: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) noexcept (true)
1412: {
1412:   size_t sz = __builtin_object_size (__resolved, 2 > 1);
1412: 
1412:   if (sz == (size_t) -1)
1412:     return __realpath_alias (__name, __resolved);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   return __realpath_chk (__name, __resolved, sz);
1412: }
1412: 
1412: 
1412: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
1412:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2)))
1412:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1412: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ptsname_r")
1412: 
1412:      __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1412: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ptsname_r_chk")
1412: 
1412: 
1412:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
1412:                    ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buf(__pid_t __pid) noexcept (true);
1417: 
1417: 
1417: extern int sched_yield (void) noexcept (true);
1417: 
1417: 
1417: extern int sched_get_priority_max (int __algorithm) noexcept (true);
1417: 
1417: 
1417: extern int sched_get_priority_min (int __algorithm) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true);
1417: # 130 "/usr/include/sched.h" 3 4
1417: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
1417:          const cpu_set_t *__cpuset) noexcept (true);
1417: 
1417: 
1417: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
1417:          cpu_set_t *__cpuset) noexcept (true);
1417: 
1417: 
1417: }
1417: # 23 "/usr/include/pthread.h" 2 3 4
1417: # 1 "/usr/include/time.h" 1 3 4
1417: # 29 "/usr/include/time.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 30 "/usr/include/time.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/time.h" 1 3 4
1417: # 73 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 1 3 4
1417: # 26 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1417: struct timex
1417: {
1417: # 58 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1417:   unsigned int modes;
1417:   __syscall_slong_t offset;
1417:   __syscall_slong_t freq;
1417:   __syscall_slong_t maxerror;
1417:   __syscall_slong_t esterror;
1417:   int status;
1417:   __syscall_slong_t constant;
1417:   __syscall_slong_t precision;
1417:   __syscall_slong_t tolerance;
1417:   struct timeval time;
1417:   __syscall_slong_t tick;
1417:   __syscall_slong_t ppsfreq;
1417:   __syscall_slong_t jitter;
1417:   int shift;
1417:   __syscall_slong_t stabil;
1417:   __syscall_slong_t jitcnt;
1417:   __syscall_slong_t calcnt;
1417:   __syscall_slong_t errcnt;
1417:   __syscall_slong_t stbcnt;
1417: 
1417:   int tai;
1417: 
1417: 
1417:   int :32; int :32; int :32; int :32;
1417:   int :32; int :32; int :32; int :32;
1417:   int :32; int :32; int :32;
1417: 
1417: };
1417: # 74 "/usr/include/arm-linux-gnueabihf/bits/time.h" 2 3 4
1417: 
1417: extern "C" {
1417: 
1417: 
1417: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: # 90 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1417: }
1417: # 34 "/usr/include/time.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_tm.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct tm
1417: {
1417:   int tm_sec;
1417:   int tm_min;
1417:   int tm_hour;
1417:   int tm_mday;
1417:   int tm_mon;
1417:   int tm_year;
1417:   int tm_wday;
1417:   int tm_yday;
1417:   int tm_isdst;
1417: 
1417: 
1417:   long int tm_gmtoff;
1417:   const char *tm_zone;
1417: 
1417: 
1417: 
1417: 
1417: };
1417: # 40 "/usr/include/time.h" 2 3 4
1417: # 48 "/usr/include/time.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_itimerspec.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct itimerspec
1417:   {
1417:     struct timespec it_interval;
1417:     struct timespec it_value;
1417:   };
1417: # 49 "/usr/include/time.h" 2 3 4
1417: struct sigevent;
1417: # 68 "/usr/include/time.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: extern clock_t clock (void) noexcept (true);
1417: 
1417: 
1417: 
1417: extern time_t time (time_t *__timer) noexcept (true);
1417: 
1417: 
1417: extern double difftime (time_t __time1, time_t __time0)
1417:      noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern time_t mktime (struct tm *__tp) noexcept (true);
1417: # 100 "/usr/include/time.h" 3 4
1417: extern size_t strftime (char *__restrict __s, size_t __maxsize,
1417:    const char *__restrict __format,
1417:    const struct tm *__restrict __tp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern char *strptime (const char *__restrict __s,
1417:          const char *__restrict __fmt, struct tm *__tp)
1417:      noexcPolicy, typename _Traits,
609:     bool _Unique_keys = _Traits::__unique_keys::value>
609:     struct _Equality;
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
609:     {
609:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:          _Hash, _RangeHash, _Unused,
609:          _RehashPolicy, _Traits>;
609: 
609:       bool
609:       _M_equal(const __hashtable&) const;
609:     };
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     bool
609:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
609:     _M_equal(const __hashtable& __other) const
609:     {
609:       using __node_type = typename __hashtable::__node_type;
609:       const __hashtable* __this = static_cast<const __hashtable*>(this);
609:       if (__this->size() != __other.size())
609:  return false;
609: 
609:       for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx)
609:  {
609:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
609:    auto __prev_n = __other._M_buckets[__ybkt];
609:    if (!__prev_n)
609:      return false;
609: 
609:    for (__node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt);;
609:         __n = __n->_M_next())
609:      {
609:        if (__n->_M_v() == *__itx)
609:   break;
609: 
609:        if (!__n->_M_nxt
609:     || __other._M_bucket_index(*__n->_M_next()) != __ybkt)
609:   return false;
609:      }
609:  }
609: 
609:       return true;
609:     }
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
609:     {
609:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:          _Hash, _RangeHash, _Unused,
609:          _RehashPolicy, _Traits>;
609: 
609:       bool
609:       _M_equal(const __hashtable&) const;
609:     };
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     bool
609:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>::
609:     _M_equal(const __hashtable& __other) const
609:     {
609:       using __node_type = typename __hashtable::__node_type;
609:       const __hashtable* __this = static_cast<const __hashtable*>(this);
609:       if (__this->size() != __other.size())
609:  return false;
609: 
609:       for (auto __itx = __this->begin(); __itx != __this->end();)
609:  {
609:    std::size_t __x_count = 1;
609:    auto __itx_end = __itx;
609:    for (++__itx_end; __itx_end != __this->end()
609:    && __this->key_eq()(_ExtractKey{}(*__itx),
609:          _ExtractKey{}(*__itx_end));
609:         ++__itx_end)
609:      ++__x_count;
609: 
609:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
609:    auto __y_prev_n = __other._M_buckets[__ybkt];
609:    if (!__y_prev_n)
609:      return false;
609: 
609:    __node_type* __y_n = static_cast<__node_type*>(__y_prev_n->_M_nxt);
609:    for (;;)
609:      {
609:        if (__this->key_eq()(_ExtractKey{}(__y_n->_M_v()),
609:        _ExtractKey{}(*__itx)))
609:   break;
609: 
609:      len) noexcept (true)
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1412: 
1412:                            ;
1412: }
1412: 
1412: 
1412: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
1412:   noexcept (true) __attribute__ ((__warn_unused_result__));
1412: extern int __wctomb_alias (char *__s, wchar_t __wchar) noexcept (true) __asm__ ("" "wctomb")
1412:               __attribute__ ((__warn_unused_result__));
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
1412: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) noexcept (true)
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1412:       && 16 > __builtin_object_size (__s, 2 > 1))
1412:     return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
1412:   return __wctomb_alias (__s, __wchar);
1412: }
1412: 
1412: 
1412: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
1412:          const char *__restrict __src,
1412:          size_t __len, size_t __dstlen) noexcept (true)
1412:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1412: extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1412: 
1412: 
1412: 
1412:     __attribute__ ((__access__ (__read_only__, 2)));
1412: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1412: 
1412: 
1412: 
1412:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1412: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__mbstowcs_chk")
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1412:                         ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1412: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true)
1412: 
1412: {
1412:   if (__builtin_constant_p (__dst == __null) && __dst == __null)
1412:     return __mbstowcs_nulldst (__dst, __src, __len);
1412:   else
1412:     return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__ept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
1417:      const char *__restrict __format,
1417:      const struct tm *__restrict __tp,
1417:      locale_t __loc) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char *strptime_l (const char *__restrict __s,
1417:     const char *__restrict __fmt, struct tm *__tp,
1417:     locale_t __loc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern struct tm *gmtime (const time_t *__timer) noexcept (true);
1417: 
1417: 
1417: 
1417: extern struct tm *localtime (const time_t *__timer) noexcept (true);
1417: # 154 "/usr/include/time.h" 3 4
1417: extern struct tm *gmtime_r (const time_t *__restrict __timer,
1417:        struct tm *__restrict __tp) noexcept (true);
1417: 
1417: 
1417: 
1417: extern struct tm *localtime_r (const time_t *__restrict __timer,
1417:           struct tm *__restrict __tp) noexcept (true);
1417: # 179 "/usr/include/time.h" 3 4
1417: extern char *asctime (const struct tm *__tp) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char *ctime (const time_t *__timer) noexcept (true);
1417: # 197 "/usr/include/time.h" 3 4
1417: extern char *asctime_r (const struct tm *__restrict __tp,
1417:    char *__restrict __buf) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char *ctime_r (const time_t *__restrict __timer,
1417:         char *__restrict __buf) noexcept (true);
1417: # 217 "/usr/include/time.h" 3 4
1417: extern char *__tzname[2];
1417: extern int __daylight;
1417: extern long int __timezone;
1417: 
1417: 
1417: 
1417: 
1417: extern char *tzname[2];
1417: 
1417: 
1417: 
1417: extern void tzset (void) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int daylight;
1417: extern long int timezone;
1417: # 246 "/usr/include/time.h" 3 4
1417: extern time_t timegm (struct tm *__tp) noexcept (true);
1417: # 263 "/usr/include/time.h" 3 4
1417: extern time_t timelocal (struct tm *__tp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int dysize (int __year) noexcept (true) __attribute__ ((__const__));
1417: # 281 "/usr/include/time.h" 3 4
1417: extern int nanosleep (const struct timespec *__requested_time,
1417:         struct timespec *__remaining);
1417: 
1417: 
1417: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true);
1417: 
1417: 
1417: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: # 323 "/usr/include/time.h" 3 4
1417: extern int clock_nanosleep (clockid_t __clock_id, int __flags,
1417:        const struct timespec *__req,
1417:        struct timespec *__rem);
1417: # 338 "/usr/include/time.h" 3 4
1417: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int timer_create (clockid_t __clock_id,
1417:     struct sigevent *__restrict __evp,
1417:     timer_t *__restrict __timerid) noexcept (true);
1417: 
1417: 
1417: extern int timer_delete (timer_t __timerid) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int timer_settime (timer_t __timerid, int __flags,
1417:      const struct itimerspec *__restrict __value,
1417:      struct itimerspec *__restrict __ovalue) noexcept (true);
1417: 
1417: 
1417: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
1417:      noexcept (true);
1417: # 376 "/usr/include/time.h" 3 4
1417: extern int timer_getoverrun (timer_t __timerid) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int timespec_get (struct timespec *__ts, int __base)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 399 "/usr/include/time.h" 3 4
1417: extern int timespec_getres (struct timespec *__ts, int __base)
1417:      noexcept (true);
1417: # 425 "/usr/include/time.h" 3 4
1417: extern int getdate_err;
1417: # 434 "/usr/include/time.h" 3 4
1417: extern struct tm *getdate (const char *__string);
1417: # 448 "/usr/include/time.h" 3 4
1417: extern int getdate_r (const char *__restrict __string,
1417:         struct tm *__restrict __resbufp);
1417: 
1417: 
1417: }
1417: # 24 "/usr/include/pthread.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 1 3 4
1417: # 33 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 3 4
1417: typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
1417: # 28 "/usr/include/pthread.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 29 "/usr/include/pthread.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 1 3 4
1417: # 26 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 3 4
1417: struct __jmp_buf_tag
1417:   {
1417: 
1417: 
1417: 
1417: 
1417:     __jmp_buf __jmpbuf;
1417:     int __mask_was_saved;
1417:     __sigset_t __saved_mask;
1417:   };
1417: # 32 "/usr/include/pthread.h" 2 3 4
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 3 4
1417: extern "C" {
1417: extern long int __sysconf (int __name) noexcept (true);
1417: }
1417: # 34 "/usr/include/pthread.h" 2 3 4
1417: 
1417: 
1417: 
1417: enum
1417: {
1417:   PTHREAD_CREATE_JOINABLE,
1417: 
1417:   PTHREAD_CREATE_DETACHED
1417: 
1417: };
1417: 
1417: 
1417: 
1417: enum
1417: {
1417:   PTHREAD_MUTEX_TIMED_NP,
1417:   PTHREAD_MUTEX_RECURSIVE_NP,
1417:   PTHREAD_MUTEX_ERRORCHECK_NP,
1417:   PTHREAD_MUTEX_ADAPTIVE_NP
1417: 
1417:   ,
1417:   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
1417:   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
1417:   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
1417:   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
1417: 
1417: 
1417: 
1417:   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
1417: 
1417: };
1417: 
1417: 
1417: 
1417: 
1417: enum
1417: {
1417:   PTHREAD_MUTEX_STALLED,
1417:   PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
1417:   PTHREAD_MUTEX_ROBUST,
1417:   PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum
1417: {
1417:   PTHREAD_PRIO_NONE,
1417:   PTHREAD_PRIO_INHERIT,
1417:   PTHREAD_PRIO_PROTECT
1417: };
1417: # 104 "/usr/include/pthread.h" 3 4
1417: enum
1417: {
1417:   PTHREAD_RWLOCK_PREFER_READER_NP,
1417:   PTHREAD_RWLOCK_PREFER_WRITER_NP,
1417:   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
1417:   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
1417: };
1417: # 124 "/usr/include/pthread.h" 3 4
1417: enum
1417: {
1417:   PTHREAD_INHERIT_SCHED,
1417: 
1417:   PTHREAD_EXPLICIT_SCHED
1417: 
1417: };
1417: 
1417: 
1417: 
1417: enum
1417: {
1417:   PTHREAD_SCOPE_SYSTEM,
1417: 
1417:   PTHREAD_SCOPE_PROCESS
1417: 
1417: };
1417: 
1417: 
1417: 
1417: enum
1417: {
1417:   PTHREAD_PROCESS_PRIVATE,
1417: 
1417:   PTHREAD_PROCESS_SHARED
1417: 
1417: };
1417: # 159 "/usr/include/pthread.h" 3 4
1417: struct _pthread_cleanup_buffer
1417: {
1417:   void (*__routine) (void *);
1417:   void *__arg;
1417:   int __canceltype;
1417:   struct _pthread_cleanup_buffer *__prev;
1417: };
1417: 
1417: 
1417: enum
1417: {
1417:   PTHREAD_CANCEL_ENABLE,
1417: 
1417:   PTHREAD_CANCEL_DISABLE
1417: 
1417: };
1417: enum
1417: {
1417:   PTHREAD_CANCEL_DEFERRED,
1417: 
1417:   PTHREAD_CANCEL_ASYNCHRONOUS
1417: 
1417: };
1417: # 197 "/usr/include/pthread.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_create (pthread_t *__restrict __newthread,
1417:       const pthread_attr_t *__restrict __attr,
1417:       void *(*__start_routine) (void *),
1417:       void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_join (pthread_t __th, void **__thread_r  auto __y_ref_n = __y_n;
609:        for (__y_n = __y_n->_M_next(); __y_n; __y_n = __y_n->_M_next())
609:   if (!__other._M_node_equals(*__y_ref_n, *__y_n))
609:     break;
609: 
609:        if (!__y_n || __other._M_bucket_index(*__y_n) != __ybkt)
609:   return false;
609:      }
609: 
609:    typename __hashtable::const_iterator __ity(__y_n);
609:    for (auto __ity_end = __ity; __ity_end != __other.end(); ++__ity_end)
609:      if (--__x_count == 0)
609:        break;
609: 
609:    if (__x_count != 0)
609:      return false;
609: 
609:    if (!std::is_permutation(__itx, __itx_end, __ity))
609:      return false;
609: 
609:    __itx = __itx_end;
609:  }
609:       return true;
609:     }
609: 
609: 
609: 
609: 
609: 
609:   template<typename _NodeAlloc>
609:     struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc>
609:     {
609:     private:
609:       using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>;
609: 
609:       template<typename>
609:  struct __get_value_type;
609:       template<typename _Val, bool _Cache_hash_code>
609:  struct __get_value_type<_Hash_node<_Val, _Cache_hash_code>>
609:  { using type = _Val; };
609: 
609:     public:
609:       using __node_type = typename _NodeAlloc::value_type;
609:       using __node_alloc_type = _NodeAlloc;
609: 
609:       using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>;
609: 
609:       using __value_alloc_traits = typename __node_alloc_traits::template
609:  rebind_traits<typename __get_value_type<__node_type>::type>;
609: 
609:       using __node_ptr = __node_type*;
609:       using __node_base = _Hash_node_base;
609:       using __node_base_ptr = __node_base*;
609:       using __buckets_alloc_type =
609:  __alloc_rebind<__node_alloc_type, __node_base_ptr>;
609:       using __buckets_alloc_traits = std::allocator_traits<__buckets_alloc_type>;
609:       using __buckets_ptr = __node_base_ptr*;
609: 
609:       _Hashtable_alloc() = default;
609:       _Hashtable_alloc(const _Hashtable_alloc&) = default;
609:       _Hashtable_alloc(_Hashtable_alloc&&) = default;
609: 
609:       template<typename _Alloc>
609:  _Hashtable_alloc(_Alloc&& __a)
609:  : __ebo_node_alloc(std::forward<_Alloc>(__a))
609:  { }
609: 
609:       __node_alloc_type&
609:       _M_node_allocator()
609:       { return __ebo_node_alloc::_M_get(); }
609: 
609:       const __node_alloc_type&
609:       _M_node_allocator() const
609:       { return __ebo_node_alloc::_M_cget(); }
609: 
609: 
609:       template<typename... _Args>
609:  __node_ptr
609:  _M_allocate_node(_Args&&... __args);
609: 
609: 
609:       void
609:       _M_deallocate_node(__node_ptr __n);
609: 
609: 
609:       void
609:       _M_deallocate_node_ptr(__node_ptr __n);
609: 
609: 
609: 
609:       void
609:       _M_deallocate_nodes(__node_ptr __n);
609: 
609:       __buckets_ptr
609:       _M_allocate_buckets(std::size_t __bkt_count);
609: 
609:       void
609:       _M_deallocate_buckets(__buckets_ptr, std::size_t __bkt_count);
609:     };
609: 
609: 
609: 
609:   template<typename _NodeAlloc>
609:     template<typename... _Args>
609:       auto
609:       _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args)
609:       -> __node_ptr
609:       {
609:  auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1);
609:  __node_ptr __n = std::__to_address(__nptr);
609:  try
609:    {
609:      ::new ((void*)__n) __node_type;
609:      __node_alloc_traits::construct(_M_node_allocator(),
609:         __n->_M_valptr(),
609:         std::forward<_Args>(__args)...);
609:      return __n;
609:    }
609:  catch(...)
609:    {
609:      __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1);
609:      throw;
609:    }
609:       }
609: 
609:   template<typename _NodeAlloc>
609:     void
609:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_ptr __n)
609:     {
609:       __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr());
609:       _M_deallocate_node_ptr(__n);
609:     }
609: 
609:   template<typename _NodeAlloc>
609:     void
609:     len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1412:                                                       ;
1412: }
1412: 
1412: extern size_t __wcstombs_chk (char *__restrict __dst,
1412:          const wchar_t *__restrict __src,
1412:          size_t __len, size_t __dstlen) noexcept (true)
1412:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1412: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "wcstombs")
1412: 
1412: 
1412: 
1412:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1412: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__wcstombs_chk")
1412: 
1412: 
1412: 
1412:      __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1412: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true)
1412: 
1412: {
1412:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1))))
1412: 
1412:                          ;
1412: }
1412: # 1041 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1412: # 1044 "/usr/include/stdlib.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 76 "/usr/include/c++/12/cstdlib" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/std_abs.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/std_abs.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/std_abs.h" 3
1412: # 46 "/usr/include/c++/12/bits/std_abs.h" 3
1412: extern "C++"
1412: {
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   using ::abs;
1412: 
1412: 
1412:   inline long
1412:   abs(long __i) { return __builtin_labs(__i); }
1412: 
1412: 
1412: 
1412:   inline long long
1412:   abs(long long __x) { return __builtin_llabs (__x); }
1412: # 70 "/usr/include/c++/12/bits/std_abs.h" 3
1412:   inline constexpr double
1412:   abs(double __x)
1412:   { return __builtin_fabs(__x); }
1412: 
1412:   inline constexpr float
1412:   abs(float __x)
1412:   { return __builtin_fabsf(__x); }
1412: 
1412:   inline constexpr long double
1412:   abs(long double __x)
1412:   { return __builtin_fabsl(__x); }
1412: # 107 "/usr/include/c++/12/bits/std_abs.h" 3
1412: 
1412: }
1412: }
1412: # 78 "/usr/include/c++/12/cstdlib" 2 3
1412: # 121 "/usr/include/c++/12/cstdlib" 3
1412: extern "C++"
1412: {
1412: namespace std __attribute__ ((__visibility__ eturn);
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true);
1417: # 233 "/usr/include/pthread.h" 3 4
1417: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
1417:      const struct timespec *__abstime);
1417: # 243 "/usr/include/pthread.h" 3 4
1417: extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
1417:                                  clockid_t __clockid,
1417:      const struct timespec *__abstime);
1417: # 269 "/usr/include/pthread.h" 3 4
1417: extern int pthread_detach (pthread_t __th) noexcept (true);
1417: 
1417: 
1417: 
1417: extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
1417:   noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_attr_destroy (pthread_attr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
1417:      int *__detachstate)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
1417:      int __detachstate)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
1417:           size_t *__guardsize)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
1417:           size_t __guardsize)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
1417:            struct sched_param *__restrict __param)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
1417:            const struct sched_param *__restrict
1417:            __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
1417:      __attr, int *__restrict __policy)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
1417:       __attr, int *__restrict __inherit)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
1417:       int __inherit)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
1417:       int *__restrict __scope)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
1417:           __attr, void **__restrict __stackaddr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
1417:           void *__stackaddr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
1417: 
1417: 
1417: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
1417:           __attr, size_t *__restrict __stacksize_Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_ptr __n)
609:     {
609:       typedef typename __node_alloc_traits::pointer _Ptr;
609:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n);
609:       __n->~__node_type();
609:       __node_alloc_traits::deallocate(_M_node_allocator(), __ptr, 1);
609:     }
609: 
609:   template<typename _NodeAlloc>
609:     void
609:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_ptr __n)
609:     {
609:       while (__n)
609:  {
609:    __node_ptr __tmp = __n;
609:    __n = __n->_M_next();
609:    _M_deallocate_node(__tmp);
609:  }
609:     }
609: 
609:   template<typename _NodeAlloc>
609:     auto
609:     _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count)
609:     -> __buckets_ptr
609:     {
609:       __buckets_alloc_type __alloc(_M_node_allocator());
609: 
609:       auto __ptr = __buckets_alloc_traits::allocate(__alloc, __bkt_count);
609:       __buckets_ptr __p = std::__to_address(__ptr);
609:       __builtin_memset(__p, 0, __bkt_count * sizeof(__node_base_ptr));
609:       return __p;
609:     }
609: 
609:   template<typename _NodeAlloc>
609:     void
609:     _Hashtable_alloc<_NodeAlloc>::
609:     _M_deallocate_buckets(__buckets_ptr __bkts,
609:      std::size_t __bkt_count)
609:     {
609:       typedef typename __buckets_alloc_traits::pointer _Ptr;
609:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts);
609:       __buckets_alloc_type __alloc(_M_node_allocator());
609:       __buckets_alloc_traits::deallocate(__alloc, __ptr, __bkt_count);
609:     }
609: 
609: 
609: }
609: 
609: 
609: }
609: # 36 "/usr/include/c++/12/bits/hashtable.h" 2 3
609: # 1 "/usr/include/c++/12/bits/enable_special_members.h" 1 3
609: # 33 "/usr/include/c++/12/bits/enable_special_members.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/enable_special_members.h" 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   struct _Enable_default_constructor_tag
609:   {
609:     explicit constexpr _Enable_default_constructor_tag() = default;
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609: template<bool _Switch, typename _Tag = void>
609:   struct _Enable_default_constructor
609:   {
609:     constexpr _Enable_default_constructor() noexcept = default;
609:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
609:       noexcept = default;
609:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
609:       noexcept = default;
609:     _Enable_default_constructor&
609:     operator=(_Enable_default_constructor const&) noexcept = default;
609:     _Enable_default_constructor&
609:     operator=(_Enable_default_constructor&&) noexcept = default;
609: 
609: 
609:     constexpr explicit
609:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: template<bool _Switch, typename _Tag = void>
609:   struct _Enable_destructor { };
609: 
609: 
609: 
609: 
609: 
609: 
609: template<bool _Copy, bool _CopyAssignment,
609:          bool _Move, bool _MoveAssignment,
609:          typename _Tag = void>
609:   struct _Enable_copy_move { };
609: # 96 "/usr/include/c++/12/bits/enable_special_members.h" 3
609: template<bool _Default, bool _Destructor,
609:          bool _Copy, bool _CopyAssignment,
609:          bool _Move, bool _MoveAssignment,
609:          typename _Tag = void>
609:   struct _Enable_special_members
609:   : private _Enable_default_constructor<_Default, _Tag>,
609:     private _Enable_destructor<_Destructor, _Tag>,
609:     private _Enable_copy_move<_Copy, _CopyAssignment,
609:                               _Move, _MoveAssignment,
609:                               _Tag>
609:   { };
609: 
609: 
609: 
609: template<typename _Tag>
609:   struct _Enable_default_constructor<false, _Tag>
609:   {
609:     constexpr _Enable_default_constructor() noexcept = delete;
609:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
609:       noexce)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
1417:           size_t __stacksize)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
1417:       void **__restrict __stackaddr,
1417:       size_t *__restrict __stacksize)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
1417:       size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
1417:      size_t __cpusetsize,
1417:      const cpu_set_t *__cpuset)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: 
1417: 
1417: 
1417: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
1417:      size_t __cpusetsize,
1417:      cpu_set_t *__cpuset)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: 
1417: 
1417: extern int pthread_getattr_default_np (pthread_attr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
1417:            const __sigset_t *sigmask);
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
1417:            __sigset_t *sigmask);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
1417:       const struct sched_param *__param)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: 
1417: 
1417: extern int pthread_getschedparam (pthread_t __target_thread,
1417:       int *__restrict __policy,
1417:       struct sched_param *__restrict __param)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1417: 
1417: 
1417: extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
1417:           size_t __buflen)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_getconcurrency (void) noexcept (true);
1417: 
1417: 
1417: extern int pthread_setconcurrency (int __level) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int pthread_yield (void) noexcept (true);
1417: 
1417: extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield")
1417:   __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead")))
1417:                                                       ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
1417:        const cpu_set_t *__cpuset)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: 
1417: 
1417: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
1417:        cpu_set_t *__cpuset)
1417:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1417: # 509 "/usr/include/pthread.h" 3 4
1417: extern int pthread_once (pthread_once_t *__once_control,
1417:     void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
1417: # 521 "/usr/include/pthread.h" 3 4
1417: extern int pthread_setcancelstate (int __state, int *__oldstate);
1417: 
1417: 
1417: 
1417: extern int pthread_setcanceltype (int __type, int *__oldtype);
1417: 
1417: 
1417: extern int pthread_cancel (pthread_t __th);
1417: 
1417: 
1417: 
1417: 
1417: extern void pthread_testcancel (void);
1417: 
1417: 
1417: 
1417: 
1417: struct __cancel_jmp_buf_tag
1417: {
1417:   __jmp_buf __cancel_jmp_buf;
1417:   int __mask_was_saved;
1417: };
1417: 
1417: typedef struct
1417: {
1417:   struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
1417:   void *__pad[4];
1417: } __pthread_unwind_buf_t __attribute__ ((__aligned__));
1417: # 557 "/usr/include/pthread.h" 3 4
1417: struct __pthread_cleanup_frame
1417: {
1417:   void (*__cancel_routine) (void *);
1417:   void *__cancel_arg;
1417:   int __do_it;
1417:   int __cancel_type;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: class __pthread_cleanup_class
1417: {
1417:   void (*__cancel_routine) (void *);
1417:   void *__cancel_arg;
1417:   int __do_it;
1417:   int __cancel_type;
1417: 
1417:  public:
1417:   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
1417:     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
1417:   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
1417:   void __setdoit (int __newval) { __do_it = __newval; }
1417:   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
1417:         &__cancel_type); }
1417:   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
1417: };
1417: # 766 "/usr/include/pthread.h" 3 4
1417: extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp")
1417: 
1417: 
1417:                      __attribute__ ((__returns_twice__));
1417: # 781 "/usr/include/pthread.h" 3 4
1417: extern int pthread_mutex_init (pthread_mutex_t *__mutex,
1417:           const pthread_mutexattr_t *__mutexattr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
1417:         const struct timespec *__restrict
1417:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: # 817 "/usr/include/pthread.h" 3 4
1417: extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
1417:         clockid_t __clockid,
1417:         const struct timespec *__restrict
1417:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: # 835 "/usr/include/pthread.h" 3 4
1417: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
1417:       __restrict __mutex,
1417:       int *__restrict __prioceiling)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
1417:       int __prioceiling,
1417:       int *__restrict __old_ceiling)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent")
1417:                                 __attribute__ ((__nonnull__ (1)))
1417:   __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent")))
1417:                                                          ("default")))
1412: {
1412: 
1412: 
1412:   using ::div_t;
1412:   using ::ldiv_t;
1412: 
1412:   using ::abort;
1412: 
1412:   using ::aligned_alloc;
1412: 
1412:   using ::atexit;
1412: 
1412: 
1412:   using ::at_quick_exit;
1412: 
1412: 
1412:   using ::atof;
1412:   using ::atoi;
1412:   using ::atol;
1412:   using ::bsearch;
1412:   using ::calloc;
1412:   using ::div;
1412:   using ::exit;
1412:   using ::free;
1412:   using ::getenv;
1412:   using ::labs;
1412:   using ::ldiv;
1412:   using ::malloc;
1412: 
1412:   using ::mblen;
1412:   using ::mbstowcs;
1412:   using ::mbtowc;
1412: 
1412:   using ::qsort;
1412: 
1412: 
1412:   using ::quick_exit;
1412: 
1412: 
1412:   using ::rand;
1412:   using ::realloc;
1412:   using ::srand;
1412:   using ::strtod;
1412:   using ::strtol;
1412:   using ::strtoul;
1412:   using ::system;
1412: 
1412:   using ::wcstombs;
1412:   using ::wctomb;
1412: 
1412: 
1412: 
1412:   inline ldiv_t
1412:   div(long __i, long __j) { return ldiv(__i, __j); }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 195 "/usr/include/c++/12/cstdlib" 3
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   using ::lldiv_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   using ::_Exit;
1412: 
1412: 
1412: 
1412:   using ::llabs;
1412: 
1412:   inline lldiv_t
1412:   div(long long __n, long long __d)
1412:   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
1412: 
1412:   using ::lldiv;
1412: # 227 "/usr/include/c++/12/cstdlib" 3
1412:   using ::atoll;
1412:   using ::strtoll;
1412:   using ::strtoull;
1412: 
1412:   using ::strtof;
1412:   using ::strtold;
1412: 
1412: 
1412: }
1412: 
1412: namespace std
1412: {
1412: 
1412:   using ::__gnu_cxx::lldiv_t;
1412: 
1412:   using ::__gnu_cxx::_Exit;
1412: 
1412:   using ::__gnu_cxx::llabs;
1412:   using ::__gnu_cxx::div;
1412:   using ::__gnu_cxx::lldiv;
1412: 
1412:   using ::__gnu_cxx::atoll;
1412:   using ::__gnu_cxx::strtof;
1412:   using ::__gnu_cxx::strtoll;
1412:   using ::__gnu_cxx::strtoull;
1412:   using ::__gnu_cxx::strtold;
1412: }
1412: 
1412: 
1412: 
1412: }
1412: # 42 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1412: # 1 "/usr/include/c++/12/cwchar" 1 3
1412: # 39 "/usr/include/c++/12/cwchar" 3
1412:        
1412: # 40 "/usr/include/c++/12/cwchar" 3
1412: # 43 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1412: # 1 "/usr/include/c++/12/cstdio" 1 3
1412: # 39 "/usr/include/c++/12/cstdio" 3
1412:        
1412: # 40 "/usr/include/c++/12/cstdio" 3
1412: 
1412: 
1412: # 1 "/usr/include/stdio.h" 1 3 4
1412: # 27 "/usr/include/stdio.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1412: # 28 "/usr/include/stdio.h" 2 3 4
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 34 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1412: # 37 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 1 3 4
1412: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 3 4
1412: typedef struct _G_fpos_t
1412: {
1412:   __off_t __pos;
1412:   __mbstate_t __state;
1412: } __fpos_t;
1412: # 40 "/usr/include/stdio.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 1 3 4
1412: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 3 4
1412: typedef struct _G_fpos64_t
1412: {
1412:   __off64_t __pos;
1412:   __mbstate_t __state;
1412: } __fpos64_t;
1412: # 41 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 1 3 4
1412: # 35 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 3 4
1412: struct _IO_FILE;
1412: struct _IO_marker;
1412: struct _IO_codecvt;
1412: struct _IO_wide_data;
1412: 
1412: 
1412: 
1412: 
1412: typedef void _IO_lock_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: struct _IO_FILE
1412: {
1412:   int _flags;
1412: 
1412: 
1412:   char *_IO_read_ptpt = default;
609:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
609:       noexcept = default;
609:     _Enable_default_constructor&
609:     operator=(_Enable_default_constructor const&) noexcept = default;
609:     _Enable_default_constructor&
609:     operator=(_Enable_default_constructor&&) noexcept = default;
609: 
609: 
609:     constexpr explicit
609:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_destructor<false, _Tag>
609:   { ~_Enable_destructor() noexcept = delete; };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, true, true, true, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = default;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<true, false, true, true, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = default;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, false, true, true, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = default;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<true, true, false, true, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = default;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, true, false, true, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = default;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<true, false, false, true, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = default;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, false, false, true, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move                 ;
1417: # 874 "/usr/include/pthread.h" 3 4
1417: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
1417:       __restrict __attr,
1417:       int *__restrict __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
1417:       int __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
1417:           __attr, int *__restrict __kind)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
1417:        __restrict __attr,
1417:        int *__restrict __protocol)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
1417:        int __protocol)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
1417:           __restrict __attr,
1417:           int *__restrict __prioceiling)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
1417:           int __prioceiling)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
1417:      int *__robustness)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust")
1417: 
1417:                                    __attribute__ ((__nonnull__ (1)))
1417:   __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust")))
1417:                                                                                ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
1417:      int __robustness)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust")
1417: 
1417:                                    __attribute__ ((__nonnull__ (1)))
1417:   __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust")))
1417:                                                                                ;
1417: # 967 "/usr/include/pthread.h" 3 4
1417: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
1417:     const pthread_rwlockattr_t *__restrict
1417:     __attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
1417:   noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
1417:            const struct timesr;
1412:   char *_IO_read_end;
1412:   char *_IO_read_base;
1412:   char *_IO_write_base;
1412:   char *_IO_write_ptr;
1412:   char *_IO_write_end;
1412:   char *_IO_buf_base;
1412:   char *_IO_buf_end;
1412: 
1412: 
1412:   char *_IO_save_base;
1412:   char *_IO_backup_base;
1412:   char *_IO_save_end;
1412: 
1412:   struct _IO_marker *_markers;
1412: 
1412:   struct _IO_FILE *_chain;
1412: 
1412:   int _fileno;
1412:   int _flags2;
1412:   __off_t _old_offset;
1412: 
1412: 
1412:   unsigned short _cur_column;
1412:   signed char _vtable_offset;
1412:   char _shortbuf[1];
1412: 
1412:   _IO_lock_t *_lock;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   __off64_t _offset;
1412: 
1412:   struct _IO_codecvt *_codecvt;
1412:   struct _IO_wide_data *_wide_data;
1412:   struct _IO_FILE *_freeres_list;
1412:   void *_freeres_buf;
1412:   size_t __pad5;
1412:   int _mode;
1412: 
1412:   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
1412: };
1412: # 44 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 3 4
1412: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
1412:                                           size_t __nbytes);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
1412:                                            size_t __nbytes);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
1412: 
1412: 
1412: typedef int cookie_close_function_t (void *__cookie);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef struct _IO_cookie_io_functions_t
1412: {
1412:   cookie_read_function_t *read;
1412:   cookie_write_function_t *write;
1412:   cookie_seek_function_t *seek;
1412:   cookie_close_function_t *close;
1412: } cookie_io_functions_t;
1412: # 47 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef __gnuc_va_list va_list;
1412: # 86 "/usr/include/stdio.h" 3 4
1412: typedef __fpos64_t fpos_t;
1412: 
1412: 
1412: typedef __fpos64_t fpos64_t;
1412: # 133 "/usr/include/stdio.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4
1412: # 134 "/usr/include/stdio.h" 2 3 4
1412: # 143 "/usr/include/stdio.h" 3 4
1412: extern FILE *stdin;
1412: extern FILE *stdout;
1412: extern FILE *stderr;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int remove (const char *__filename) noexcept (true);
1412: 
1412: extern int rename (const char *__old, const char *__new) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int renameat (int __oldfd, const char *__old, int __newfd,
1412:        const char *__new) noexcept (true);
1412: # 170 "/usr/include/stdio.h" 3 4
1412: extern int renameat2 (int __oldfd, const char *__old, int __newfd,
1412:         const char *__new, unsigned int __flags) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fclose (FILE *__stream);
1412: # 192 "/usr/include/stdio.h" 3 4
1412: extern FILE *tmpfile (void) __asm__ ("" "tmpfile64")
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern FILE *tmpfile64 (void)
1412:    __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: extern char *tmpnam (char[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern char *tmpnam_r (char __s[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: # 222 "/usr/include/stdio.h" 3 4
1412: extern char *tempnam (const char *__dir, const char *__pfx)
1412:    noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1412: 
1412: 
1412: 
1412: 
1412:pec *__restrict
1417:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: # 1004 "/usr/include/pthread.h" 3 4
1417: extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
1417:            clockid_t __clockid,
1417:            const struct timespec *__restrict
1417:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: # 1023 "/usr/include/pthread.h" 3 4
1417: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
1417:            const struct timespec *__restrict
1417:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: # 1051 "/usr/include/pthread.h" 3 4
1417: extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
1417:            clockid_t __clockid,
1417:            const struct timespec *__restrict
1417:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1417: # 1071 "/usr/include/pthread.h" 3 4
1417: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
1417:        __restrict __attr,
1417:        int *__restrict __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
1417:        int __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
1417:        __restrict __attr,
1417:        int *__restrict __pref)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
1417:        int __pref) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
1417:          const pthread_condattr_t *__restrict __cond_attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_cond_destroy (pthread_cond_t *__cond)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_cond_signal (pthread_cond_t *__cond)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_cond_broadcast (pthread_cond_t *__cond)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
1417:          pthread_mutex_t *__restrict __mutex)
1417:      __attribute__ ((__nonnull__ (1, 2)));
1417: # 1145 "/usr/include/pthread.h" 3 4
1417: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
1417:        pthread_mutex_t *__restrict __mutex,
1417:        const struct timespec *__restrict __abstime)
1417:      __attribute__ ((__nonnull__ (1, 2, 3)));
1417: # 1171 "/usr/include/pthread.h" 3 4
1417: extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
1417:        pthread_mutex_t *__restrict __mutex,
1417:        __clockid_t __clock_id,
1417:        const struct timespec *__restrict __abstime)
1417:      __attribute__ ((__nonnull__ (1, 2, 4)));
1417: # 1194 "/usr/include/pthread.h" 3 4
1417: extern int pthread_condatconst&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = default;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<true, true, true, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, true, true, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<true, false, true, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, false, true, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<true, true, false, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, true, false, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = default;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<true, false, false, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move const&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: template<typename _Tag>
609:   struct _Enable_copy_move<false, false, false, false, _Tag>
609:   {
609:     constexpr _Enable_copy_move() noexcept = default;
609:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
609:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
609:     _Enable_copy_motr_init (pthread_condattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_condattr_getpshared (const pthread_condattr_t *
1417:      __restrict __attr,
1417:      int *__restrict __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
1417:      int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_condattr_getclock (const pthread_condattr_t *
1417:           __restrict __attr,
1417:           __clockid_t *__restrict __clock_id)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
1417:           __clockid_t __clock_id)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 1230 "/usr/include/pthread.h" 3 4
1417: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_spin_lock (pthread_spinlock_t *__lock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
1417:      const pthread_barrierattr_t *__restrict
1417:      __attr, unsigned int __count)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
1417:         __restrict __attr,
1417:         int *__restrict __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
1417:         int __pshared)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 1297 "/usr/include/pthread.h" 3 4
1417: extern int pthread_key_create (pthread_key_t *__key,
1417:           void (*__destr_function) (void *))
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int pthread_key_delete (pthread_key_t __key) noexcept (true);
1417: 
1417: 
1417: extern void *pthread_getspecific (pthread_key_t __key) noexcept (true);
1417: 
1417: 
1417: extern int pthread_setspecific (pthread_key_t __key,
1417:     const void *__pointer)
1417:   noexcept (true) __attribute__ ((__access__ (__none__, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int pthread_getcpuclockid (pthread_t __thread_id,
1417:       __clockid_t *__clock_id)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: # 1332 "/usr/include/pthread.h" 3 4
1417: extern int pthread_atfork (void (*__prepare) (void),
1417:       void (*__parent) (void),
1417:       void (*__child) (void)) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__gnu_inline__)) int
1417: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) noexcept (true)
1417: {
1417:   return __thread1 == __thread2;
1417: }
1417: 
1417: 
1417: }
1417: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 2 3
1417: # 47 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1417: typedef pthread_t __gthread_t;
1417: typedef pthread_key_t __gthread_key_t;
1417: typedef pthread_once_t __gthread_once_t;
1417: typedef pthread_mutex_t __gthread_mutex_t;
1417: typedef pthread_mutex_t __gthread_recursive_mutex_t;
1417: typedef pthread_cond_t __gthread_cond_t;
1417: typedef struct timespec __gthread_time_t;
1417: # 102 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 299 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1417: static inline int
1417: __gthread_active_p (void)
1417: {
1417:   return 1;
1417: }
1417: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1417: static inline int
1417: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
1417:     void *__args)
1417: {
1417:   return pthread_create (__threadid, __null, __func, __args);
1417: }
1417: 
1417: static inline int
1417: __gthread_join (__gthread_t __threadid, void **__value_ptr)
1417: {
1417:   return pthread_join (__threadid, __value_ptr);
1417: }
1417: 
1417: static inline int
1417: __gthread_detach (__gthread_t __threadid)
1417: {
1417:   return pthread_detach (__threadid);
1417: }
1417: 
1417: static inline int
1417: __gthread_equal (__gthread_t __t1, __gthread_t __t2)
1417: {
1417:   return pthread_equal (__t1, __t2);
1417: }
1417: 
1417: static inline __gthread_t
1417: __gthread_self (void)
1417: {
1417:   return pthread_self ();
1417: }
1417: 
1417: static inline int
1417: __gthread_yield (void)
1417: {
1417:   return sched_yield ();
1417: }
1417: 
1417: static inline int
1417: __gthread_once (__gthread_once_t *__once, void (*__func) (void))
1417: {
1417:   if (__gthread_active_p ())
1417:     return pthread_once (__once, __func);
1417:   else
1417:     return -1;
1417: }
1417: 
1417: static inline int
1417: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
1417: {
1417:   return pthread_key_create (__key, __dtor);
1417: }
1417: 
1417: static inline int
1417: __gthread_key_delete (__gthread_key_t __key)
1417: {
1417:   return pthread_key_delete (__key);
1417: }
1417: 
1417: static inline void *
1417: __gthread_getspecific (__gthread_key_t __key)
1417: {
1417:   return pthread_getspecific (__key);
1417: }
1417: 
1417: static inline int
1417: __gthread_setspecific (__gthread_key_t __key, const void *__ptr)
1417: {
1417:   return pthread_setspecific (__key, __ptr);
1417: }
1417: 
1417: static inline void
1417: __gthread_mutex_init_function (__gthread_mutex_t *__mutex)
1417: {
1417:   if (__gthread_active_p ())
1417:     pthread_mutex_init (__mutex, __null);
1417: }
1417: 
1417: static inline int
1417: __gthread_mutex_destroy (__gthread_mutex_t *__mutex)
1417: {
1417:   if (__gthread_active_p ())
1417:     return pthread_mutex_destroy (__mutex);
1417:   else
1417:     return 0;
1417: }
1417: 
1417: static inline int
1417: __gthread_mutex_lock (__gthread_mutex_t *__mutex)
1417: {
1417:   if (__gthread_active_p ())
1417:     return pthread_mutex_lock (__mutex);
1417:   else
1417:     return 0;
1417: }
1417: 
1417: static inline int
1417: __gthread_mutex_trylock (__gthread_mutex_t *__mutex)
1417: {
1417:   if (__gthread_active_p ())
1417:     return pthread_mutex_trylock (__mutex);
1417:   else
1417:     return 0;
1417: }
1417: 
1417: 
1417: static inline int
1417: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
1417:       const __gthread_time_t *__abs_timeout)
1417: {
1417:   if (__gthread_active_p ())
1417:      
1412: 
1412: extern int fflush (FILE *__stream);
1412: # 239 "/usr/include/stdio.h" 3 4
1412: extern int fflush_unlocked (FILE *__stream);
1412: # 249 "/usr/include/stdio.h" 3 4
1412: extern int fcloseall (void);
1412: # 270 "/usr/include/stdio.h" 3 4
1412: extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64")
1412: 
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64")
1412: 
1412: 
1412:   __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern FILE *fopen64 (const char *__restrict __filename,
1412:         const char *__restrict __modes)
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: extern FILE *freopen64 (const char *__restrict __filename,
1412:    const char *__restrict __modes,
1412:    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern FILE *fopencookie (void *__restrict __magic_cookie,
1412:      const char *__restrict __modes,
1412:      cookie_io_functions_t __io_funcs) noexcept (true)
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
1412:   noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
1412:       int __modes, size_t __n) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
1412:          size_t __size) noexcept (true);
1412: 
1412: 
1412: extern void setlinebuf (FILE *__stream) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fprintf (FILE *__restrict __stream,
1412:       const char *__restrict __format, ...);
1412: 
1412: 
1412: 
1412: 
1412: extern int printf (const char *__restrict __format, ...);
1412: 
1412: extern int sprintf (char *__restrict __s,
1412:       const char *__restrict __format, ...) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
1412:        __gnuc_va_list __arg);
1412: 
1412: 
1412: 
1412: 
1412: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
1412: 
1412: extern int vsprintf (char *__restrict __s, const char *__restrict __format,
1412:        __gnuc_va_list __arg) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int snprintf (char *__restrict __s, size_t __maxlen,
1412:        const char *__restrict __format, ...)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1412: 
1412: extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1412:         const char *__restrict __format, __gnuc_va_list __arg)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__return pthread_mutex_timedlock (__mutex, __abs_timeout);
1417:   else
1417:     return 0;
1417: }
1417: 
1417: 
1417: static inline int
1417: __gthread_mutex_unlock (__gthread_mutex_t *__mutex)
1417: {
1417:   if (__gthread_active_p ())
1417:     return pthread_mutex_unlock (__mutex);
1417:   else
1417:     return 0;
1417: }
1417: # 808 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1417: static inline int
1417: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
1417: {
1417:   return __gthread_mutex_lock (__mutex);
1417: }
1417: 
1417: static inline int
1417: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
1417: {
1417:   return __gthread_mutex_trylock (__mutex);
1417: }
1417: 
1417: 
1417: static inline int
1417: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
1417:          const __gthread_time_t *__abs_timeout)
1417: {
1417:   return __gthread_mutex_timedlock (__mutex, __abs_timeout);
1417: }
1417: 
1417: 
1417: static inline int
1417: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
1417: {
1417:   return __gthread_mutex_unlock (__mutex);
1417: }
1417: 
1417: static inline int
1417: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
1417: {
1417:   return __gthread_mutex_destroy (__mutex);
1417: }
1417: # 850 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1417: static inline int
1417: __gthread_cond_broadcast (__gthread_cond_t *__cond)
1417: {
1417:   return pthread_cond_broadcast (__cond);
1417: }
1417: 
1417: static inline int
1417: __gthread_cond_signal (__gthread_cond_t *__cond)
1417: {
1417:   return pthread_cond_signal (__cond);
1417: }
1417: 
1417: static inline int
1417: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
1417: {
1417:   return pthread_cond_wait (__cond, __mutex);
1417: }
1417: 
1417: static inline int
1417: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
1417:      const __gthread_time_t *__abs_timeout)
1417: {
1417:   return pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
1417: }
1417: 
1417: static inline int
1417: __gthread_cond_wait_recursive (__gthread_cond_t *__cond,
1417:           __gthread_recursive_mutex_t *__mutex)
1417: {
1417:   return __gthread_cond_wait (__cond, __mutex);
1417: }
1417: 
1417: static inline int
1417: __gthread_cond_destroy (__gthread_cond_t* __cond)
1417: {
1417:   return pthread_cond_destroy (__cond);
1417: }
1417: # 149 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 2 3
1417: 
1417: 
1417: #pragma GCC visibility pop
1417: # 36 "/usr/include/c++/12/ext/atomicity.h" 2 3
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 1 3
1417: # 32 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 3
1417: typedef int _Atomic_word;
1417: # 37 "/usr/include/c++/12/ext/atomicity.h" 2 3
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: extern char __libc_single_threaded;
1417: 
1417: }
1417: # 39 "/usr/include/c++/12/ext/atomicity.h" 2 3
1417: 
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   __attribute__((__always_inline__))
1417:   inline bool
1417:   __is_single_threaded() noexcept
1417:   {
1417: 
1417: 
1417: 
1417:     return ::__libc_single_threaded;
1417: 
1417: 
1417: 
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline _Atomic_word
1417:   __attribute__((__always_inline__))
1417:   __exchange_and_add(volatile _Atomic_word* __mem, int __val)
1417:   { return __atomic_fetch_add(__mem, __val, 4); }
1417: 
1417:   inline void
1417:   __attribute__((__always_inline__))
1417:   __atomic_add(volatile _Atomic_word* __mem, int __val)
1417:   { __atomic_fetch_add(__mem, __val, 4); }
1417: # 80 "/usr/include/c++/12/ext/atomicity.h" 3
1417:   inline _Atomic_word
1417:   __attribute__((__always_inline__))
14ve&
609:     operator=(_Enable_copy_move const&) noexcept = delete;
609:     _Enable_copy_move&
609:     operator=(_Enable_copy_move&&) noexcept = delete;
609:   };
609: 
609: 
609: 
609: }
609: # 37 "/usr/include/c++/12/bits/hashtable.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<typename _Tp, typename _Hash>
609:     using __cache_default
609:       = __not_<__and_<
609:          __is_fast_hash<_Hash>,
609: 
609:          __is_nothrow_invocable<const _Hash&, const _Tp&>>>;
609: 
609: 
609: 
609: 
609:   template<typename _Equal, typename _Hash, typename _Allocator>
609:     using _Hashtable_enable_default_ctor
609:       = _Enable_default_constructor<__and_<is_default_constructible<_Equal>,
609:            is_default_constructible<_Hash>,
609:            is_default_constructible<_Allocator>>{},
609:         __detail::_Hash_node_base>;
609: # 178 "/usr/include/c++/12/bits/hashtable.h" 3
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     class _Hashtable
609:     : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal,
609:            _Hash, _RangeHash, _Unused, _Traits>,
609:       public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused,
609:      _RehashPolicy, _Traits>,
609:       public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:           _Hash, _RangeHash, _Unused,
609:           _RehashPolicy, _Traits>,
609:       public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused,
609:         _RehashPolicy, _Traits>,
609:       public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:      _Hash, _RangeHash, _Unused,
609:      _RehashPolicy, _Traits>,
609:       private __detail::_Hashtable_alloc<
609:  __alloc_rebind<_Alloc,
609:          __detail::_Hash_node<_Value,
609:          _Traits::__hash_cached::value>>>,
609:       private _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>
609:     {
609:       static_assert(is_same<typename remove_cv<_Value>::type, _Value>::value,
609:    "unordered container must have a non-const, non-volatile value_type");
609: 
609:       static_assert(is_same<typename _Alloc::value_type, _Value>{},
609:    "unordered container must have the same value_type as its allocator");
609: 
609: 
609:       using __traits_type = _Traits;
609:       using __hash_cached = typename __traits_type::__hash_cached;
609:       using __constant_iterators = typename __traits_type::__constant_iterators;
609:       using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>;
609:       using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>;
609: 
609:       using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>;
609: 
609:       using __node_value_type =
609:  __detail::_Hash_node_value<_Value, __hash_cached::value>;
609:       using __node_ptr = typename __hashtable_alloc::__node_ptr;
609:       using __value_alloc_traits =
609:  typename __hashtable_alloc::__value_alloc_traits;
609:       using __node_alloc_traits =
609:  typename __hashtable_alloc::__node_alloc_traits;
609:       using __node_base = typename __hashtable_alloc::__node_base;
609:       using __node_base_ptr = typename __hashtable_alloc::__node_base_ptr;
609:       using __buckets_ptr = typename __hashtable_alloc::__buckets_ptr;
609: 
609:       using __insert_base = __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey,
609:            _Equal, _Hash,
609:            _RangeHash, _Unused,
609:            _RehashPolicy, _Traits>;
609:       using __enable_default_ctor
609:  = _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>;
609: 
609:     public:
609:       typedef _Key key_type;
609:       typedef _Value value_type;
609:       typedef _Alloc allocator_type;
609:    17:   __exchange_and_add_single(_Atomic_word* __mem, int __val)
1417:   {
1417:     _Atomic_word __result = *__mem;
1417:     *__mem += __val;
1417:     return __result;
1417:   }
1417: 
1417:   inline void
1417:   __attribute__((__always_inline__))
1417:   __atomic_add_single(_Atomic_word* __mem, int __val)
1417:   { *__mem += __val; }
1417: 
1417:   inline _Atomic_word
1417:   __attribute__ ((__always_inline__))
1417:   __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
1417:   {
1417:     if (__is_single_threaded())
1417:       return __exchange_and_add_single(__mem, __val);
1417:     else
1417:       return __exchange_and_add(__mem, __val);
1417:   }
1417: 
1417:   inline void
1417:   __attribute__ ((__always_inline__))
1417:   __atomic_add_dispatch(_Atomic_word* __mem, int __val)
1417:   {
1417:     if (__is_single_threaded())
1417:       __atomic_add_single(__mem, __val);
1417:     else
1417:       __atomic_add(__mem, __val);
1417:   }
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1417: # 1 "/usr/include/c++/12/ext/concurrence.h" 1 3
1417: # 32 "/usr/include/c++/12/ext/concurrence.h" 3
1417:        
1417: # 33 "/usr/include/c++/12/ext/concurrence.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   enum _Lock_policy { _S_single, _S_mutex, _S_atomic };
1417: 
1417: 
1417: 
1417:   static const _Lock_policy __default_lock_policy =
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   _S_mutex;
1417: 
1417: 
1417: 
1417: 
1417:   class __concurrence_lock_error : public std::exception
1417:   {
1417:   public:
1417:     virtual char const*
1417:     what() const throw()
1417:     { return "__gnu_cxx::__concurrence_lock_error"; }
1417:   };
1417: 
1417:   class __concurrence_unlock_error : public std::exception
1417:   {
1417:   public:
1417:     virtual char const*
1417:     what() const throw()
1417:     { return "__gnu_cxx::__concurrence_unlock_error"; }
1417:   };
1417: 
1417:   class __concurrence_broadcast_error : public std::exception
1417:   {
1417:   public:
1417:     virtual char const*
1417:     what() const throw()
1417:     { return "__gnu_cxx::__concurrence_broadcast_error"; }
1417:   };
1417: 
1417:   class __concurrence_wait_error : public std::exception
1417:   {
1417:   public:
1417:     virtual char const*
1417:     what() const throw()
1417:     { return "__gnu_cxx::__concurrence_wait_error"; }
1417:   };
1417: 
1417: 
1417:   inline void
1417:   __throw_concurrence_lock_error()
1417:   { (throw (__concurrence_lock_error())); }
1417: 
1417:   inline void
1417:   __throw_concurrence_unlock_error()
1417:   { (throw (__concurrence_unlock_error())); }
1417: 
1417: 
1417:   inline void
1417:   __throw_concurrence_broadcast_error()
1417:   { (throw (__concurrence_broadcast_error())); }
1417: 
1417:   inline void
1417:   __throw_concurrence_wait_error()
1417:   { (throw (__concurrence_wait_error())); }
1417: 
1417: 
1417:   class __mutex
1417:   {
1417:   private:
1417: 
1417:     __gthread_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1417: 
1417: 
1417: 
1417: 
1417:     __mutex(const __mutex&);
1417:     __mutex& operator=(const __mutex&);
1417: 
1417:   public:
1417:     __mutex()
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:     }
1417: # 144 "/usr/include/c++/12/ext/concurrence.h" 3
1417:     void lock()
1417:     {
1417: 
1417:       if (__gthread_active_p())
1417:  {
1417:    if (__gthread_mutex_lock(&_M_mutex) != 0)
1417:      __throw_concurrence_lock_error();
1417:  }
1417: 
1417:     }
1417: 
1417:     void unlock()
1417:     {
1417: 
1417:       if (__gthread_active_p())
1417:  {
1417:    if (__gthread_mutex_unlock(&_M_mutex) != 0)
1417:      __throw_concurrence_unlock_error();
1417:  }
1417: 
1417:     }
1417: 
1417:     __gthread_mutex_t* gthread_mutex(void)
1417:       { return &_M_mutex; }
1417:   };
1417: 
1417:   class __recursive_mutex
1417:   {
1417:   private:
1417: 
1417:     __gthread_recursiv, 3, 0)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
1412:         __gnuc_va_list __arg)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1412: extern int __asprintf (char **__restrict __ptr,
1412:          const char *__restrict __fmt, ...)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1412: extern int asprintf (char **__restrict __ptr,
1412:        const char *__restrict __fmt, ...)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern int vdprintf (int __fd, const char *__restrict __fmt,
1412:        __gnuc_va_list __arg)
1412:      __attribute__ ((__format__ (__printf__, 2, 0)));
1412: extern int dprintf (int __fd, const char *__restrict __fmt, ...)
1412:      __attribute__ ((__format__ (__printf__, 2, 3)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fscanf (FILE *__restrict __stream,
1412:      const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1412: 
1412: extern int sscanf (const char *__restrict __s,
1412:      const char *__restrict __format, ...) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1412: # 431 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: 
1412: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
1412: 
1412:                           __attribute__ ((__warn_unused_result__));
1412: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
1412:                          __attribute__ ((__warn_unused_result__));
1412: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_sscanf")
1412: 
1412:                       ;
1412: # 459 "/usr/include/stdio.h" 3 4
1412: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
1412:       __gnuc_va_list __arg)
1412:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
1412:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: extern int vsscanf (const char *__restrict __s,
1412:       const char *__restrict __format, __gnuc_va_list __arg)
1412:      noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
1412: 
1412: 
1412: 
1412:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1412: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
1412: 
1412:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1412: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vsscanf")
1412: 
1412: 
1412: 
1412:      __attribute__ ((__format__ (__scanf__, 2, 0)));
1412: # 513 "/usr/include/stdio.h" 3 4
1412: extern int fgetc (FILE *__stream);
1412: extern int getc (FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int getchar (void);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int getc_unlocked (FILE *__stream);
1412: extern int getchar_unlocked (void);
1412: # 538 "/usr/include/stdio.h" 3 4
1412: extern int fgetc_unlocked (FILE *__stream);
1412: # 549 "/usr/include/stdio.h" 3 4
1412: extern int fputc (int _e_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1417: 
1417: 
1417: 
1417: 
1417:     __recursive_mutex(const __recursive_mutex&);
1417:     __recursive_mutex& operator=(const __recursive_mutex&);
1417: 
1417:   public:
1417:     __recursive_mutex()
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:     }
1417: # 199 "/usr/include/c++/12/ext/concurrence.h" 3
1417:     void lock()
1417:     {
1417: 
1417:       if (__gthread_active_p())
1417:  {
1417:    if (__gthread_recursive_mutex_lock(&_M_mutex) != 0)
1417:      __throw_concurrence_lock_error();
1417:  }
1417: 
1417:     }
1417: 
1417:     void unlock()
1417:     {
1417: 
1417:       if (__gthread_active_p())
1417:  {
1417:    if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0)
1417:      __throw_concurrence_unlock_error();
1417:  }
1417: 
1417:     }
1417: 
1417:     __gthread_recursive_mutex_t* gthread_recursive_mutex(void)
1417:     { return &_M_mutex; }
1417:   };
1417: 
1417: 
1417: 
1417: 
1417:   class __scoped_lock
1417:   {
1417:   public:
1417:     typedef __mutex __mutex_type;
1417: 
1417:   private:
1417:     __mutex_type& _M_device;
1417: 
1417:     __scoped_lock(const __scoped_lock&);
1417:     __scoped_lock& operator=(const __scoped_lock&);
1417: 
1417:   public:
1417:     explicit __scoped_lock(__mutex_type& __name) : _M_device(__name)
1417:     { _M_device.lock(); }
1417: 
1417:     ~__scoped_lock() throw()
1417:     { _M_device.unlock(); }
1417:   };
1417: 
1417: 
1417:   class __cond
1417:   {
1417:   private:
1417: 
1417:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1417: 
1417: 
1417: 
1417: 
1417:     __cond(const __cond&);
1417:     __cond& operator=(const __cond&);
1417: 
1417:   public:
1417:     __cond()
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:     }
1417: # 277 "/usr/include/c++/12/ext/concurrence.h" 3
1417:     void broadcast()
1417:     {
1417: 
1417:       if (__gthread_active_p())
1417:  {
1417:    if (__gthread_cond_broadcast(&_M_cond) != 0)
1417:      __throw_concurrence_broadcast_error();
1417:  }
1417: 
1417:     }
1417: 
1417:     void wait(__mutex *mutex)
1417:     {
1417: 
1417:       {
1417:    if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0)
1417:      __throw_concurrence_wait_error();
1417:       }
1417: 
1417:     }
1417: 
1417:     void wait_recursive(__recursive_mutex *mutex)
1417:     {
1417: 
1417:       {
1417:    if (__gthread_cond_wait_recursive(&_M_cond,
1417:          mutex->gthread_recursive_mutex())
1417:        != 0)
1417:      __throw_concurrence_wait_error();
1417:       }
1417: 
1417:     }
1417:   };
1417: 
1417: 
1417: 
1417: }
1417: # 63 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:   template<typename> class auto_ptr;
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class bad_weak_ptr : public std::exception
1417:   {
1417:   public:
1417:     virtual char const* what() const noexcept;
1417: 
1417:     virtual ~bad_weak_ptr() noexcept;
1417:   };
1417: 
1417: 
1417:   inline void
1417:   __throw_bad_weak_ptr()
1417:   { (throw (bad_weak_ptr())); }
1417: 
1417:   using __gnu_cxx::_Lock_policy;
1417:   using __gnu_cxx::__default_lock_policy;
1417:   using __gnu_cxx::_S_single;
1417:   using __gnu_cxx::_S_mutex;
1417:   using __gnu_cxx::_S_atomic;
1417: 
1417: 
1417:   template<_Lock_policy _Lp>
1417:     class _Mutex_base
1417:     {
1417:     protected:
1417: 
1417:       enum { _S_need_barriers = 0 };
1417:     };
1417: 
1417:   template<>
1417:     class _Mutex_base<_S_mutex>
1417:     : public __gnu_cxx::__mutex
1417:     {
1417:     protected:
1417: 
1417: 
1417: 
1417:       enum { _S_need_barriers = 1 };
1417:     };
1417: 
1417:   template<_Lock_policy _Lp = __default_lock_policy>
1417:     class _Sp_counted_base
1417:     : public _Mutex_base<_   typedef _Equal key_equal;
609: 
609: 
609: 
609:       typedef typename __value_alloc_traits::pointer pointer;
609:       typedef typename __value_alloc_traits::const_pointer const_pointer;
609:       typedef value_type& reference;
609:       typedef const value_type& const_reference;
609: 
609:       using iterator = typename __insert_base::iterator;
609: 
609:       using const_iterator = typename __insert_base::const_iterator;
609: 
609:       using local_iterator = __detail::_Local_iterator<key_type, _Value,
609:    _ExtractKey, _Hash, _RangeHash, _Unused,
609:           __constant_iterators::value,
609:           __hash_cached::value>;
609: 
609:       using const_local_iterator = __detail::_Local_const_iterator<
609:    key_type, _Value,
609:    _ExtractKey, _Hash, _RangeHash, _Unused,
609:    __constant_iterators::value, __hash_cached::value>;
609: 
609:     private:
609:       using __rehash_type = _RehashPolicy;
609:       using __rehash_state = typename __rehash_type::_State;
609: 
609:       using __unique_keys = typename __traits_type::__unique_keys;
609: 
609:       using __hashtable_base = __detail::
609:  _Hashtable_base<_Key, _Value, _ExtractKey,
609:    _Equal, _Hash, _RangeHash, _Unused, _Traits>;
609: 
609:       using __hash_code_base = typename __hashtable_base::__hash_code_base;
609:       using __hash_code = typename __hashtable_base::__hash_code;
609:       using __ireturn_type = typename __insert_base::__ireturn_type;
609: 
609:       using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey,
609:           _Equal, _Hash, _RangeHash, _Unused,
609:           _RehashPolicy, _Traits>;
609: 
609:       using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc,
609:          _ExtractKey, _Equal,
609:          _Hash, _RangeHash, _Unused,
609:          _RehashPolicy, _Traits>;
609: 
609:       using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey,
609:          _Equal, _Hash, _RangeHash, _Unused,
609:          _RehashPolicy, _Traits>;
609: 
609:       using __reuse_or_alloc_node_gen_t =
609:  __detail::_ReuseOrAllocNode<__node_alloc_type>;
609:       using __alloc_node_gen_t =
609:  __detail::_AllocNode<__node_alloc_type>;
609:       using __node_builder_t =
609:  __detail::_NodeBuilder<_ExtractKey>;
609: 
609: 
609:       struct _Scoped_node
609:       {
609: 
609:  _Scoped_node(__node_ptr __n, __hashtable_alloc* __h)
609:  : _M_h(__h), _M_node(__n) { }
609: 
609: 
609:  template<typename... _Args>
609:    _Scoped_node(__hashtable_alloc* __h, _Args&&... __args)
609:    : _M_h(__h),
609:      _M_node(__h->_M_allocate_node(std::forward<_Args>(__args)...))
609:    { }
609: 
609: 
609:  ~_Scoped_node() { if (_M_node) _M_h->_M_deallocate_node(_M_node); };
609: 
609:  _Scoped_node(const _Scoped_node&) = delete;
609:  _Scoped_node& operator=(const _Scoped_node&) = delete;
609: 
609:  __hashtable_alloc* _M_h;
609:  __node_ptr _M_node;
609:       };
609: 
609:       template<typename _Ht>
609:  static constexpr
609:  __conditional_t<std::is_lvalue_reference<_Ht>::value,
609:    const value_type&, value_type&&>
609:  __fwd_value_for(value_type& __val) noexcept
609:  { return std::move(__val); }
609: 
609: 
609: 
609: 
609: 
609:       struct __hash_code_base_access : __hash_code_base
609:       { using __hash_code_base::_M_bucket_index; };
609: 
609: 
609:       static_assert(is_nothrow_default_constructible<_RangeHash>::value,
609:       "Functor used to map hash code to bucket index"
609:       " must be nothrow default constructible");
609:       static_assert(noexcept(
609:  std::declval<const _RangeHash&>()((std::size_t)0, (std::size_t)0)),
609:       "Functor used to map hash code to bucket index must be"
609:       " noexcept");
609: 
609: 
609:       static_assert(is_nothrow_default_constructible<_ExtractKey>::value,
609:       "_ExtractKey must be nothrow default constructible");
609:       static_assert(noexcept(
609:  std::declval<const _ExtractKey&>()(std::declval<_Value>())),
609:       "_ExtractKey functor must be noexcept invocable");
609: 
609:       teLp>
1417:     {
1417:     public:
1417:       _Sp_counted_base() noexcept
1417:       : _M_use_count(1), _M_weak_count(1) { }
1417: 
1417:       virtual
1417:       ~_Sp_counted_base() noexcept
1417:       { }
1417: 
1417: 
1417: 
1417:       virtual void
1417:       _M_dispose() noexcept = 0;
1417: 
1417: 
1417:       virtual void
1417:       _M_destroy() noexcept
1417:       { delete this; }
1417: 
1417:       virtual void*
1417:       _M_get_deleter(const std::type_info&) noexcept = 0;
1417: 
1417: 
1417:       void
1417:       _M_add_ref_copy()
1417:       { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); }
1417: 
1417: 
1417:       void
1417:       _M_add_ref_lock()
1417:       {
1417:  if (!_M_add_ref_lock_nothrow())
1417:    __throw_bad_weak_ptr();
1417:       }
1417: 
1417: 
1417:       bool
1417:       _M_add_ref_lock_nothrow() noexcept;
1417: 
1417: 
1417:       void
1417:       _M_release() noexcept;
1417: 
1417: 
1417:       void
1417:       _M_release_last_use() noexcept
1417:       {
1417:  ;
1417:  _M_dispose();
1417: 
1417: 
1417: 
1417: 
1417:  if (_Mutex_base<_Lp>::_S_need_barriers)
1417:    {
1417:      __atomic_thread_fence (4);
1417:    }
1417: 
1417: 
1417:  ;
1417:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
1417:          -1) == 1)
1417:    {
1417:      ;
1417:      _M_destroy();
1417:    }
1417:       }
1417: 
1417: 
1417:       __attribute__((__noinline__))
1417:       void
1417:       _M_release_last_use_cold() noexcept
1417:       { _M_release_last_use(); }
1417: 
1417: 
1417:       void
1417:       _M_weak_add_ref() noexcept
1417:       { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); }
1417: 
1417: 
1417:       void
1417:       _M_weak_release() noexcept
1417:       {
1417: 
1417:         ;
1417:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1)
1417:    {
1417:             ;
1417:      if (_Mutex_base<_Lp>::_S_need_barriers)
1417:        {
1417: 
1417: 
1417:   __atomic_thread_fence (4);
1417:        }
1417:      _M_destroy();
1417:    }
1417:       }
1417: 
1417:       long
1417:       _M_get_use_count() const noexcept
1417:       {
1417: 
1417: 
1417:         return __atomic_load_n(&_M_use_count, 0);
1417:       }
1417: 
1417:     private:
1417:       _Sp_counted_base(_Sp_counted_base const&) = delete;
1417:       _Sp_counted_base& operator=(_Sp_counted_base const&) = delete;
1417: 
1417:       _Atomic_word _M_use_count;
1417:       _Atomic_word _M_weak_count;
1417:     };
1417: 
1417:   template<>
1417:     inline bool
1417:     _Sp_counted_base<_S_single>::
1417:     _M_add_ref_lock_nothrow() noexcept
1417:     {
1417:       if (_M_use_count == 0)
1417:  return false;
1417:       ++_M_use_count;
1417:       return true;
1417:     }
1417: 
1417:   template<>
1417:     inline bool
1417:     _Sp_counted_base<_S_mutex>::
1417:     _M_add_ref_lock_nothrow() noexcept
1417:     {
1417:       __gnu_cxx::__scoped_lock sentry(*this);
1417:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
1417:  {
1417:    _M_use_count = 0;
1417:    return false;
1417:  }
1417:       return true;
1417:     }
1417: 
1417:   template<>
1417:     inline bool
1417:     _Sp_counted_base<_S_atomic>::
1417:     _M_add_ref_lock_nothrow() noexcept
1417:     {
1417: 
1417:       _Atomic_word __count = _M_get_use_count();
1417:       do
1417:  {
1417:    if (__count == 0)
1417:      return false;
1417: 
1417: 
1417:  }
1417:       while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
1417:        true, 4,
1417:        0));
1417:       return true;
1417:     }
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_base<_S_single>::_M_add_ref_copy()
1417:     { ++_M_use_count; }
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_base<_S_single>::_M_release() noexcept
1417:     {
1417:       if (--_M_use_count == 0)
1417:         {
1417:           _M_dispose();
1417:           if (--_M_weak_count == 0)
1417:             _M_destroy();
1417:         }
1417:     }
1417: 
1417:   template<>
1417:     inline vo_c, FILE *__stream);
1412: extern int putc (int __c, FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int putchar (int __c);
1412: # 565 "/usr/include/stdio.h" 3 4
1412: extern int fputc_unlocked (int __c, FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int putc_unlocked (int __c, FILE *__stream);
1412: extern int putchar_unlocked (int __c);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int getw (FILE *__stream);
1412: 
1412: 
1412: extern int putw (int __w, FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1412:      __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: # 615 "/usr/include/stdio.h" 3 4
1412: extern char *fgets_unlocked (char *__restrict __s, int __n,
1412:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__))
1412:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: # 632 "/usr/include/stdio.h" 3 4
1412: extern __ssize_t __getdelim (char **__restrict __lineptr,
1412:                              size_t *__restrict __n, int __delimiter,
1412:                              FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: extern __ssize_t getdelim (char **__restrict __lineptr,
1412:                            size_t *__restrict __n, int __delimiter,
1412:                            FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __ssize_t getline (char **__restrict __lineptr,
1412:                           size_t *__restrict __n,
1412:                           FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int puts (const char *__s);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int ungetc (int __c, FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern size_t fread (void *__restrict __ptr, size_t __size,
1412:        size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern size_t fwrite (const void *__restrict __ptr, size_t __size,
1412:         size_t __n, FILE *__restrict __s);
1412: # 691 "/usr/include/stdio.h" 3 4
1412: extern int fputs_unlocked (const char *__restrict __s,
1412:       FILE *__restrict __stream);
1412: # 702 "/usr/include/stdio.h" 3 4
1412: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
1412:          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
1412:           size_t __n, FILE *__restrict __stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fseek (FILE *__stream, long int __off, int __whence);
1412: 
1412: 
1412: 
1412: 
1412: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern void rewind (FILE *__stream);
1412: # 744 "/usr/include/stdio.h" 3 4
1412: extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64")
1412: 
1412:                   ;
1412: extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
1412: # 768 "/usr/include/stdio.h" 3 4
1412: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64")
1412:                                           ;
1412: extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64")
1412:                                                           ;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
1412: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
1412: extern int fgetpos64 (FILE *__reid
1417:     _Sp_counted_base<_S_mutex>::_M_release() noexcept
1417:     {
1417: 
1417:       ;
1417:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1417:  {
1417:    _M_release_last_use();
1417:  }
1417:     }
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_base<_S_atomic>::_M_release() noexcept
1417:     {
1417:       ;
1417: 
1417:       constexpr bool __lock_free
1417:  = __atomic_always_lock_free(sizeof(long long), 0)
1417:  && __atomic_always_lock_free(sizeof(_Atomic_word), 0);
1417:       constexpr bool __double_word
1417:  = sizeof(long long) == 2 * sizeof(_Atomic_word);
1417: 
1417: 
1417:       constexpr bool __aligned = __alignof(long long) <= alignof(void*);
1417:       if constexpr (__lock_free && __double_word && __aligned)
1417:  {
1417:    constexpr int __wordbits = 8 * sizeof(_Atomic_word);
1417:    constexpr int __shiftbits = __double_word ? __wordbits : 0;
1417:    constexpr long long __unique_ref = 1LL + (1LL << __shiftbits);
1417:    auto __both_counts = reinterpret_cast<long long*>(&_M_use_count);
1417: 
1417:    ;
1417:    if (__atomic_load_n(__both_counts, 2) == __unique_ref)
1417:      {
1417: 
1417: 
1417: 
1417: 
1417:        _M_weak_count = _M_use_count = 0;
1417:        ;
1417:        ;
1417:        _M_dispose();
1417:        _M_destroy();
1417:        return;
1417:      }
1417:    if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1417:      [[__unlikely__]]
1417:      {
1417:        _M_release_last_use_cold();
1417:        return;
1417:      }
1417:  }
1417:       else
1417: 
1417:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1417:  {
1417:    _M_release_last_use();
1417:  }
1417:     }
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept
1417:     { ++_M_weak_count; }
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_base<_S_single>::_M_weak_release() noexcept
1417:     {
1417:       if (--_M_weak_count == 0)
1417:         _M_destroy();
1417:     }
1417: 
1417:   template<>
1417:     inline long
1417:     _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept
1417:     { return _M_use_count; }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1417:     class __shared_ptr;
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1417:     class __weak_ptr;
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1417:     class __enable_shared_from_this;
1417: 
1417:   template<typename _Tp>
1417:     class shared_ptr;
1417: 
1417:   template<typename _Tp>
1417:     class weak_ptr;
1417: 
1417:   template<typename _Tp>
1417:     struct owner_less;
1417: 
1417:   template<typename _Tp>
1417:     class enable_shared_from_this;
1417: 
1417:   template<_Lock_policy _Lp = __default_lock_policy>
1417:     class __weak_count;
1417: 
1417:   template<_Lock_policy _Lp = __default_lock_policy>
1417:     class __shared_count;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Ptr, _Lock_policy _Lp>
1417:     class _Sp_counted_ptr final : public _Sp_counted_base<_Lp>
1417:     {
1417:     public:
1417:       explicit
1417:       _Sp_counted_ptr(_Ptr __p) noexcept
1417:       : _M_ptr(__p) { }
1417: 
1417:       virtual void
1417:       _M_dispose() noexcept
1417:       { delete _M_ptr; }
1417: 
1417:       virtual void
1417:       _M_destroy() noexcept
1417:       { delete this; }
1417: 
1417:       virtual void*
1417:       _M_get_deleter(const std::type_info&) noexcept
1417:       { return nullptr; }
1417: 
1417:       _Sp_counted_ptr(const _Sp_counted_ptr&) = delete;
1417:       _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete;
1417: 
1417:     private:
1417:       _Ptr _M_ptr;
1417:     };
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_ptr<nullptr_t, _S_single>::_M_dispose() noexcept { }
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_ptr<nullptr_t, mplate<typename _Keya, typename _Valuea, typename _Alloca,
609:         typename _ExtractKeya, typename _Equala,
609:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
609:         typename _RehashPolicya, typename _Traitsa,
609:         bool _Unique_keysa>
609:  friend struct __detail::_Map_base;
609: 
609:       template<typename _Keya, typename _Valuea, typename _Alloca,
609:         typename _ExtractKeya, typename _Equala,
609:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
609:         typename _RehashPolicya, typename _Traitsa>
609:  friend struct __detail::_Insert_base;
609: 
609:       template<typename _Keya, typename _Valuea, typename _Alloca,
609:         typename _ExtractKeya, typename _Equala,
609:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
609:         typename _RehashPolicya, typename _Traitsa,
609:         bool _Constant_iteratorsa>
609:  friend struct __detail::_Insert;
609: 
609:       template<typename _Keya, typename _Valuea, typename _Alloca,
609:         typename _ExtractKeya, typename _Equala,
609:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
609:         typename _RehashPolicya, typename _Traitsa,
609:         bool _Unique_keysa>
609:  friend struct __detail::_Equality;
609: 
609:     public:
609:       using size_type = typename __hashtable_base::size_type;
609:       using difference_type = typename __hashtable_base::difference_type;
609: 
609: 
609:       using node_type = _Node_handle<_Key, _Value, __node_alloc_type>;
609:       using insert_return_type = _Node_insert_return<iterator, node_type>;
609: 
609: 
609:     private:
609:       __buckets_ptr _M_buckets = &_M_single_bucket;
609:       size_type _M_bucket_count = 1;
609:       __node_base _M_before_begin;
609:       size_type _M_element_count = 0;
609:       _RehashPolicy _M_rehash_policy;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       __node_base_ptr _M_single_bucket = nullptr;
609: 
609:       void
609:       _M_update_bbegin()
609:       {
609:  if (_M_begin())
609:    _M_buckets[_M_bucket_index(*_M_begin())] = &_M_before_begin;
609:       }
609: 
609:       void
609:       _M_update_bbegin(__node_ptr __n)
609:       {
609:  _M_before_begin._M_nxt = __n;
609:  _M_update_bbegin();
609:       }
609: 
609:       bool
609:       _M_uses_single_bucket(__buckets_ptr __bkts) const
609:       { return __builtin_expect(__bkts == &_M_single_bucket, false); }
609: 
609:       bool
609:       _M_uses_single_bucket() const
609:       { return _M_uses_single_bucket(_M_buckets); }
609: 
609:       static constexpr size_t
609:       __small_size_threshold() noexcept
609:       {
609:  return
609:    __detail::_Hashtable_hash_traits<_Hash>::__small_size_threshold();
609:       }
609: 
609:       __hashtable_alloc&
609:       _M_base_alloc() { return *this; }
609: 
609:       __buckets_ptr
609:       _M_allocate_buckets(size_type __bkt_count)
609:       {
609:  if (__builtin_expect(__bkt_count == 1, false))
609:    {
609:      _M_single_bucket = nullptr;
609:      return &_M_single_bucket;
609:    }
609: 
609:  return __hashtable_alloc::_M_allocate_buckets(__bkt_count);
609:       }
609: 
609:       void
609:       _M_deallocate_buckets(__buckets_ptr __bkts, size_type __bkt_count)
609:       {
609:  if (_M_uses_single_bucket(__bkts))
609:    return;
609: 
609:  __hashtable_alloc::_M_deallocate_buckets(__bkts, __bkt_count);
609:       }
609: 
609:       void
609:       _M_deallocate_buckets()
609:       { _M_deallocate_buckets(_M_buckets, _M_bucket_count); }
609: 
609: 
609: 
609:       __node_ptr
609:       _M_bucket_begin(size_type __bkt) const;
609: 
609:       __node_ptr
609:       _M_begin() const
609:       { return static_cast<__node_ptr>(_M_before_begin._M_nxt); }
609: 
609: 
609: 
609:       template<typename _Ht>
609:  void
609:  _M_assign_elements(_Ht&&);
609: 
609:       template<typename _Ht, typename _NodeGenerator>
609:  void
609:  _M_assign(_Ht&&, const _NodeGenerator&);
609: 
609:       void
609:       _M_move_assign(_Hashtable&&, true_type);
609: 
609_S_mutex>::_M_dispose() noexcept { }
1417: 
1417:   template<>
1417:     inline void
1417:     _Sp_counted_ptr<nullptr_t, _S_atomic>::_M_dispose() noexcept { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<int _Nm, typename _Tp,
1417:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1417:     struct _Sp_ebo_helper;
1417: 
1417: 
1417:   template<int _Nm, typename _Tp>
1417:     struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp
1417:     {
1417:       explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { }
1417:       explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { }
1417: 
1417:       static _Tp&
1417:       _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); }
1417:     };
1417: 
1417: 
1417:   template<int _Nm, typename _Tp>
1417:     struct _Sp_ebo_helper<_Nm, _Tp, false>
1417:     {
1417:       explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { }
1417:       explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { }
1417: 
1417:       static _Tp&
1417:       _S_get(_Sp_ebo_helper& __eboh)
1417:       { return __eboh._M_tp; }
1417: 
1417:     private:
1417:       _Tp _M_tp;
1417:     };
1417: 
1417: 
1417:   template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
1417:     class _Sp_counted_deleter final : public _Sp_counted_base<_Lp>
1417:     {
1417:       class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc>
1417:       {
1417:  typedef _Sp_ebo_helper<0, _Deleter> _Del_base;
1417:  typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base;
1417: 
1417:       public:
1417:  _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1417:  : _Del_base(std::move(__d)), _Alloc_base(__a), _M_ptr(__p)
1417:  { }
1417: 
1417:  _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); }
1417:  _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); }
1417: 
1417:  _Ptr _M_ptr;
1417:       };
1417: 
1417:     public:
1417:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>;
1417: 
1417: 
1417:       _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept
1417:       : _M_impl(__p, std::move(__d), _Alloc()) { }
1417: 
1417: 
1417:       _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1417:       : _M_impl(__p, std::move(__d), __a) { }
1417: 
1417:       ~_Sp_counted_deleter() noexcept { }
1417: 
1417:       virtual void
1417:       _M_dispose() noexcept
1417:       { _M_impl._M_del()(_M_impl._M_ptr); }
1417: 
1417:       virtual void
1417:       _M_destroy() noexcept
1417:       {
1417:  __allocator_type __a(_M_impl._M_alloc());
1417:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1417:  this->~_Sp_counted_deleter();
1417:       }
1417: 
1417:       virtual void*
1417:       _M_get_deleter(const type_info& __ti [[__gnu__::__unused__]]) noexcept
1417:       {
1417: 
1417: 
1417: 
1417:         return __ti == typeid(_Deleter)
1417:    ? std::__addressof(_M_impl._M_del())
1417:    : nullptr;
1417: 
1417: 
1417: 
1417:       }
1417: 
1417:     private:
1417:       _Impl _M_impl;
1417:     };
1417: 
1417: 
1417: 
1417:   struct _Sp_make_shared_tag
1417:   {
1417:   private:
1417:     template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1417:       friend class _Sp_counted_ptr_inplace;
1417: 
1417:     static const type_info&
1417:     _S_ti() noexcept __attribute__ ((__visibility__ ("default")))
1417:     {
1417:       alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { };
1417:       return reinterpret_cast<const type_info&>(__tag);
1417:     }
1417: 
1417:     static bool _S_eq(const type_info&) noexcept;
1417:   };
1417: 
1417:   template<typename _Alloc>
1417:     struct _Sp_alloc_shared_tag
1417:     {
1417:       const _Alloc& _M_a;
1417:     };
1417: 
1417:   template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1417:     class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp>
1417:     {
1417:       class _Impl : _Sp_ebo_helper<0, _Alloc>
1417:       {
1417:  typedef _Sp_ebo_helper<0, _Alloc> _A_base;
1417: 
1417:       publistrict __stream, fpos64_t *__restrict __pos);
1412: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
1412: 
1412: 
1412: 
1412: extern void clearerr (FILE *__stream) noexcept (true);
1412: 
1412: extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: extern void clearerr_unlocked (FILE *__stream) noexcept (true);
1412: extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void perror (const char *__s);
1412: 
1412: 
1412: 
1412: 
1412: extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: # 823 "/usr/include/stdio.h" 3 4
1412: extern int pclose (FILE *__stream);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern FILE *popen (const char *__command, const char *__modes)
1412:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *ctermid (char *__s) noexcept (true)
1412:   __attribute__ ((__access__ (__write_only__, 1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *cuserid (char *__s)
1412:   __attribute__ ((__access__ (__write_only__, 1)));
1412: 
1412: 
1412: 
1412: 
1412: struct obstack;
1412: 
1412: 
1412: extern int obstack_printf (struct obstack *__restrict __obstack,
1412:       const char *__restrict __format, ...)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
1412: extern int obstack_vprintf (struct obstack *__restrict __obstack,
1412:        const char *__restrict __format,
1412:        __gnuc_va_list __args)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void flockfile (FILE *__stream) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: extern void funlockfile (FILE *__stream) noexcept (true);
1412: # 885 "/usr/include/stdio.h" 3 4
1412: extern int __uflow (FILE *);
1412: extern int __overflow (FILE *, int);
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 1 3 4
1412: # 26 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1412: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1412:      const char *__restrict __format, ...) noexcept (true)
1412:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1412: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1412:       const char *__restrict __format,
1412:       __gnuc_va_list __ap) noexcept (true)
1412:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1412: 
1412: 
1412: 
1412: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
1412:       size_t __slen, const char *__restrict __format,
1412:       ...) noexcept (true)
1412:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
1412:        size_t __slen, const char *__restrict __format,
1412:        __gnuc_va_list __ap) noexcept (true)
1412:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
1412:      const char *__restrict __format, ...);
1412: extern int __printf_chk (int __flag, const char *__restrict __format, ...);
1412: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
1412:       const char *__restrict __format, __gnuc_va_list __ap);
1412: extern int _c:
1417:  explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { }
1417: 
1417:  _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); }
1417: 
1417:  __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1417:       };
1417: 
1417:     public:
1417:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>;
1417: 
1417: 
1417:       template<typename... _Args>
1417:  _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
1417:  : _M_impl(__a)
1417:  {
1417: 
1417: 
1417:    allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1417:        std::forward<_Args>(__args)...);
1417:  }
1417: 
1417:       ~_Sp_counted_ptr_inplace() noexcept { }
1417: 
1417:       virtual void
1417:       _M_dispose() noexcept
1417:       {
1417:  allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
1417:       }
1417: 
1417: 
1417:       virtual void
1417:       _M_destroy() noexcept
1417:       {
1417:  __allocator_type __a(_M_impl._M_alloc());
1417:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1417:  this->~_Sp_counted_ptr_inplace();
1417:       }
1417: 
1417:     private:
1417:       friend class __shared_count<_Lp>;
1417: 
1417: 
1417: 
1417:       virtual void*
1417:       _M_get_deleter(const std::type_info& __ti) noexcept override
1417:       {
1417:  auto __ptr = const_cast<typename remove_cv<_Tp>::type*>(_M_ptr());
1417: 
1417: 
1417: 
1417: 
1417:  if (&__ti == &_Sp_make_shared_tag::_S_ti()
1417:      ||
1417: 
1417:      __ti == typeid(_Sp_make_shared_tag)
1417: 
1417: 
1417: 
1417:     )
1417:    return __ptr;
1417:  return nullptr;
1417:       }
1417: 
1417:       _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); }
1417: 
1417:       _Impl _M_impl;
1417:     };
1417: # 886 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417:   struct __sp_array_delete
1417:   {
1417:     template<typename _Yp>
1417:       void operator()(_Yp* __p) const { delete[] __p; }
1417:   };
1417: 
1417:   template<_Lock_policy _Lp>
1417:     class __shared_count
1417:     {
1417: 
1417:       template<typename _Tp>
1417:  struct __not_alloc_shared_tag { using type = void; };
1417: 
1417:       template<typename _Tp>
1417:  struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     public:
1417:       constexpr __shared_count() noexcept : _M_pi(0)
1417:       { }
1417: 
1417:       template<typename _Ptr>
1417:         explicit
1417:  __shared_count(_Ptr __p) : _M_pi(0)
1417:  {
1417:    try
1417:      {
1417:        _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
1417:      }
1417:    catch(...)
1417:      {
1417:        delete __p;
1417:        throw;
1417:      }
1417:  }
1417: 
1417:       template<typename _Ptr>
1417:  __shared_count(_Ptr __p, false_type)
1417:  : __shared_count(__p)
1417:  { }
1417: 
1417:       template<typename _Ptr>
1417:  __shared_count(_Ptr __p, true_type)
1417:  : __shared_count(__p, __sp_array_delete{}, allocator<void>())
1417:  { }
1417: 
1417:       template<typename _Ptr, typename _Deleter,
1417:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1417:  __shared_count(_Ptr __p, _Deleter __d)
1417:  : __shared_count(__p, std::move(__d), allocator<void>())
1417:  { }
1417: 
1417:       template<typename _Ptr, typename _Deleter, typename _Alloc,
1417:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1417:  __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
1417:  {
1417:    typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
1417:    try
1417:      {
1417:        typename _Sp_cd_type::__allocator_type __a2(__a);
1417:        auto __guard = std::__allocate_guarded(__a2);
1417:        _Sp_cd_type* __mem = __guard.get();
1417:        ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a));
1417:        _M_pi = __mem;
1417:        __guard = nullptr;
1417:      }
1417:    catch(...)
1417:      {
1417:        __d(__p);
1417:        throw;
1417:      }
1417:  }
1417: 
1417:       template<typename _Tp, typename _Alloc, typename... _Args>
1417:  __shared_count(:       void
609:       _M_move_assign(_Hashtable&&, false_type);
609: 
609:       void
609:       _M_reset() noexcept;
609: 
609:       _Hashtable(const _Hash& __h, const _Equal& __eq,
609:    const allocator_type& __a)
609:       : __hashtable_base(__h, __eq),
609:  __hashtable_alloc(__node_alloc_type(__a)),
609:  __enable_default_ctor(_Enable_default_constructor_tag{})
609:       { }
609: 
609:       template<bool _No_realloc = true>
609:  static constexpr bool
609:  _S_nothrow_move()
609:  {
609: 
609: 
609: 
609: 
609: 
609:    if constexpr (_No_realloc)
609:      if constexpr (is_nothrow_copy_constructible<_Hash>())
609:        return is_nothrow_copy_constructible<_Equal>();
609:    return false;
609: 
609:  }
609: 
609:       _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
609:    true_type )
609:  noexcept(_S_nothrow_move());
609: 
609:       _Hashtable(_Hashtable&&, __node_alloc_type&&,
609:    false_type );
609: 
609:       template<typename _InputIterator>
609:  _Hashtable(_InputIterator __first, _InputIterator __last,
609:      size_type __bkt_count_hint,
609:      const _Hash&, const _Equal&, const allocator_type&,
609:      true_type __uks);
609: 
609:       template<typename _InputIterator>
609:  _Hashtable(_InputIterator __first, _InputIterator __last,
609:      size_type __bkt_count_hint,
609:      const _Hash&, const _Equal&, const allocator_type&,
609:      false_type __uks);
609: 
609:     public:
609: 
609:       _Hashtable() = default;
609: 
609:       _Hashtable(const _Hashtable&);
609: 
609:       _Hashtable(const _Hashtable&, const allocator_type&);
609: 
609:       explicit
609:       _Hashtable(size_type __bkt_count_hint,
609:    const _Hash& __hf = _Hash(),
609:    const key_equal& __eql = key_equal(),
609:    const allocator_type& __a = allocator_type());
609: 
609: 
609:       _Hashtable(_Hashtable&& __ht)
609:  noexcept(_S_nothrow_move())
609:       : _Hashtable(std::move(__ht), std::move(__ht._M_node_allocator()),
609:      true_type{})
609:       { }
609: 
609:       _Hashtable(_Hashtable&& __ht, const allocator_type& __a)
609:  noexcept(_S_nothrow_move<__node_alloc_traits::_S_always_equal()>())
609:       : _Hashtable(std::move(__ht), __node_alloc_type(__a),
609:      typename __node_alloc_traits::is_always_equal{})
609:       { }
609: 
609:       explicit
609:       _Hashtable(const allocator_type& __a)
609:       : __hashtable_alloc(__node_alloc_type(__a)),
609:  __enable_default_ctor(_Enable_default_constructor_tag{})
609:       { }
609: 
609:       template<typename _InputIterator>
609:  _Hashtable(_InputIterator __f, _InputIterator __l,
609:      size_type __bkt_count_hint = 0,
609:      const _Hash& __hf = _Hash(),
609:      const key_equal& __eql = key_equal(),
609:      const allocator_type& __a = allocator_type())
609:  : _Hashtable(__f, __l, __bkt_count_hint, __hf, __eql, __a,
609:        __unique_keys{})
609:  { }
609: 
609:       _Hashtable(initializer_list<value_type> __l,
609:    size_type __bkt_count_hint = 0,
609:    const _Hash& __hf = _Hash(),
609:    const key_equal& __eql = key_equal(),
609:    const allocator_type& __a = allocator_type())
609:       : _Hashtable(__l.begin(), __l.end(), __bkt_count_hint,
609:      __hf, __eql, __a, __unique_keys{})
609:       { }
609: 
609:       _Hashtable&
609:       operator=(const _Hashtable& __ht);
609: 
609:       _Hashtable&
609:       operator=(_Hashtable&& __ht)
609:       noexcept(__node_alloc_traits::_S_nothrow_move()
609:         && is_nothrow_move_assignable<_Hash>::value
609:         && is_nothrow_move_assignable<_Equal>::value)
609:       {
609:  constexpr bool __move_storage =
609:    __node_alloc_traits::_S_propagate_on_move_assign()
609:    || __node_alloc_traits::_S_always_equal();
609:  _M_move_assign(std::move(__ht), __bool_constant<__move_storage>());
609:  return *this;
609:       }
609: 
609:       _Hashtable&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
609:  _M_before_begin._M_nxt = nullptr;
609:  clear();
609: 
609: 
6_vprintf_chk (int __flag, const char *__restrict __format,
1412:      __gnuc_va_list __ap);
1412: 
1412: 
1412: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
1412:      ...) __attribute__ ((__format__ (__printf__, 3, 4)));
1412: extern int __vdprintf_chk (int __fd, int __flag,
1412:       const char *__restrict __fmt, __gnuc_va_list __arg)
1412:      __attribute__ ((__format__ (__printf__, 3, 0)));
1412: 
1412: 
1412: 
1412: 
1412: extern int __asprintf_chk (char **__restrict __ptr, int __flag,
1412:       const char *__restrict __fmt, ...)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
1412: extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
1412:        const char *__restrict __fmt, __gnuc_va_list __arg)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
1412: extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
1412:      int __flag, const char *__restrict __format,
1412:      ...)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1412: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
1412:       int __flag,
1412:       const char *__restrict __format,
1412:       __gnuc_va_list __args)
1412:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1412: # 90 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1412: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
1412:      FILE *__restrict __stream)
1412:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1412: 
1412: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
1412:       size_t __size, size_t __n,
1412:       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: 
1412: 
1412: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
1412:        int __n, FILE *__restrict __stream)
1412:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1412: 
1412: 
1412: 
1412: 
1412: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
1412:         size_t __size, size_t __n,
1412:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1412: # 891 "/usr/include/stdio.h" 2 3 4
1412: # 902 "/usr/include/stdio.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 1 3 4
1412: # 46 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 3 4
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: getchar (void)
1412: {
1412:   return getc (stdin);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: fgetc_unlocked (FILE *__fp)
1412: {
1412:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: getc_unlocked (FILE *__fp)
1412: {
1412:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1412: }
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: getchar_unlocked (void)
1412: {
1412:   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: putchar (int __c)
1412: {
1412:   return putc (__c, stdout);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: fputc_unlocked (int __c, FILE *__stream)
1412: {
1412:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1412: }
14_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a,
1417:          _Args&&... __args)
1417:  {
1417:    typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
1417:    typename _Sp_cp_type::__allocator_type __a2(__a._M_a);
1417:    auto __guard = std::__allocate_guarded(__a2);
1417:    _Sp_cp_type* __mem = __guard.get();
1417:    auto __pi = ::new (__mem)
1417:      _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
1417:    __guard = nullptr;
1417:    _M_pi = __pi;
1417:    __p = __pi->_M_ptr();
1417:  }
1417: # 1024 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417:       template<typename _Tp>
1417:         explicit
1417:  __shared_count(std::auto_ptr<_Tp>&& __r);
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417:       template<typename _Tp, typename _Del>
1417:         explicit
1417:  __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0)
1417:  {
1417: 
1417: 
1417:    if (__r.get() == nullptr)
1417:      return;
1417: 
1417:    using _Ptr = typename unique_ptr<_Tp, _Del>::pointer;
1417:    using _Del2 = __conditional_t<is_reference<_Del>::value,
1417:        reference_wrapper<typename remove_reference<_Del>::type>,
1417:        _Del>;
1417:    using _Sp_cd_type
1417:      = _Sp_counted_deleter<_Ptr, _Del2, allocator<void>, _Lp>;
1417:    using _Alloc = allocator<_Sp_cd_type>;
1417:    using _Alloc_traits = allocator_traits<_Alloc>;
1417:    _Alloc __a;
1417:    _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1);
1417: 
1417: 
1417: 
1417:    _Alloc_traits::construct(__a, __mem, __r.release(),
1417:        std::forward<_Del>(__r.get_deleter()));
1417:    _M_pi = __mem;
1417:  }
1417: 
1417: 
1417:       explicit __shared_count(const __weak_count<_Lp>& __r);
1417: 
1417: 
1417:       explicit
1417:       __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept;
1417: 
1417:       ~__shared_count() noexcept
1417:       {
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_release();
1417:       }
1417: 
1417:       __shared_count(const __shared_count& __r) noexcept
1417:       : _M_pi(__r._M_pi)
1417:       {
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_add_ref_copy();
1417:       }
1417: 
1417:       __shared_count&
1417:       operator=(const __shared_count& __r) noexcept
1417:       {
1417:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1417:  if (__tmp != _M_pi)
1417:    {
1417:      if (__tmp != nullptr)
1417:        __tmp->_M_add_ref_copy();
1417:      if (_M_pi != nullptr)
1417:        _M_pi->_M_release();
1417:      _M_pi = __tmp;
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       _M_swap(__shared_count& __r) noexcept
1417:       {
1417:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1417:  __r._M_pi = _M_pi;
1417:  _M_pi = __tmp;
1417:       }
1417: 
1417:       long
1417:       _M_get_use_count() const noexcept
1417:       { return _M_pi ? _M_pi->_M_get_use_count() : 0; }
1417: 
1417:       bool
1417:       _M_unique() const noexcept
1417:       { return this->_M_get_use_count() == 1; }
1417: 
1417:       void*
1417:       _M_get_deleter(const std::type_info& __ti) const noexcept
1417:       { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; }
1417: 
1417:       bool
1417:       _M_less(const __shared_count& __rhs) const noexcept
1417:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1417: 
1417:       bool
1417:       _M_less(const __weak_count<_Lp>& __rhs) const noexcept
1417:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1417: 
1417: 
1417:       friend inline bool
1417:       operator==(const __shared_count& __a, const __shared_count& __b) noexcept
1417:       { return __a._M_pi == __b._M_pi; }
1417: 
1417:     private:
1417:       friend class __weak_count<_Lp>;
1417: 
1417: 
1417: 
1417: 
1417:       _Sp_counted_base<_Lp>* _M_pi;
1417:     };
1417: 
1417: 
1417:   template<_Lock_policy _Lp>
1417:     class __weak_count
1417:     {
1417:     public:
1417:       constexpr __weak_count() noexcept : _M_pi(nullptr)
1417:       { }
1417: 
1417:       __weak_count(const __shared_count<_Lp>& __r) noexcept
1417:       : _M_pi(__r._M_pi)
1417:       {
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_weak_add_ref();
1417:       }
1417: 
1417:       __weak_count(const __weak_count& __r) noexcept
1417:       : _M_pi(__r._M_pi)
1417:       {
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_weak_add_ref();
1417:       }
1417: 
1417:       __weak_count(__weak_count&& __r) noexcept
1417:       : _M_pi(__r._M_pi)
1417:       { __r._M_pi = nullptr; }
1417: 
1417:       ~__weak_count() noexcept
1417:       {
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_weak_release();
1417:       }
1417: 
1417:       __weak_count&
1417:       operator=(const __shared_count<_Lp>& __r) noexcept
1417:       {
1417:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1417:  if (__tmp != nullptr)
1417:    __tmp->_M_weak_add_ref();
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_weak_release();
1417:  _M_pi = __tmp;
1417:  return *this;
1417:       }
1417: 
1417:       __weak_count&
1417:       operator=(const __weak_count& __r) noexcept
1417:       {
1417:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1417:  if (__tmp != nullptr)
1417:    __tmp->_M_weak_add_ref();
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_weak_release();
1417:  _M_pi = __tmp;
1417:  return *this;
1417:       }
1417: 
1417:       __weak_count&
1417:       operator=(__weak_count&& __r) noexcept
1417:       {
1417:  if (_M_pi != nullptr)
1417:    _M_pi->_M_weak_release();
1417:  _M_pi = __r._M_pi;
1417:         __r._M_pi = nullptr;
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       _M_swap(__weak_count& __r) noexcept
1417:       {
1417:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1417:  __r._M_pi = _M_pi;
1417:  _M_pi = __tmp;
1417:       }
1417: 
1417:       long
1417:       _M_get_use_count() const noexcept
1417:       { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; }
1417: 
1417:       bool
1417:       _M_less(const __weak_count& __rhs) const noexcept
1417:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1417: 
1417:       bool
1417:       _M_less(const __shared_count<_Lp>& __rhs) const noexcept
1417:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1417: 
1417: 
1417:       friend inline bool
1417:       operator==(const __weak_count& __a, const __weak_count& __b) noexcept
1417:       { return __a._M_pi == __b._M_pi; }
1417: 
1417:     private:
1417:       friend class __shared_count<_Lp>;
1417: 
1417: 
1417: 
1417: 
1417:       _Sp_counted_base<_Lp>* _M_pi;
1417:     };
1417: 
1417: 
1417:   template<_Lock_policy _Lp>
1417:     inline
1417:     __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r)
1417:     : _M_pi(__r._M_pi)
1417:     {
1417:       if (_M_pi == nullptr || !_M_pi->_M_add_ref_lock_nothrow())
1417:  __throw_bad_weak_ptr();
1417:     }
1417: 
1417: 
1417:   template<_Lock_policy _Lp>
1417:     inline
1417:     __shared_count<_Lp>::
1417:     __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept
1417:     : _M_pi(__r._M_pi)
1417:     {
1417:       if (_M_pi && !_M_pi->_M_add_ref_lock_nothrow())
1417:  _M_pi = nullptr;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Yp_ptr, typename _Tp_ptr>
1417:     struct __sp_compatible_with
1417:     : false_type
1417:     { };
1417: 
1417:   template<typename _Yp, typename _Tp>
1417:     struct __sp_compatible_with<_Yp*, _Tp*>
1417:     : is_convertible<_Yp*, _Tp*>::type
1417:     { };
1417: 
1417:   template<typename _Up, size_t _Nm>
1417:     struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]>
1417:     : true_type
1417:     { };
1417: 
1417:   template<typename _Up, size_t _Nm>
1417:     struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]>
1417:     : true_type
1417:     { };
1417: 
1417:   template<typename _Up, size_t _Nm>
1417:     struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]>
1417:     : true_type
1417:     { };
1417: 
1417:   template<typename _09:  auto __l_bkt_count = _M_rehash_policy._M_bkt_for_elements(__l.size());
609: 
609: 
609:  if (_M_bucket_count < __l_bkt_count)
609:    rehash(__l_bkt_count);
609: 
609:  this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys{});
609:  return *this;
609:       }
609: 
609:       ~_Hashtable() noexcept;
609: 
609:       void
609:       swap(_Hashtable&)
609:       noexcept(__and_<__is_nothrow_swappable<_Hash>,
609:         __is_nothrow_swappable<_Equal>>::value);
609: 
609: 
609:       iterator
609:       begin() noexcept
609:       { return iterator(_M_begin()); }
609: 
609:       const_iterator
609:       begin() const noexcept
609:       { return const_iterator(_M_begin()); }
609: 
609:       iterator
609:       end() noexcept
609:       { return iterator(nullptr); }
609: 
609:       const_iterator
609:       end() const noexcept
609:       { return const_iterator(nullptr); }
609: 
609:       const_iterator
609:       cbegin() const noexcept
609:       { return const_iterator(_M_begin()); }
609: 
609:       const_iterator
609:       cend() const noexcept
609:       { return const_iterator(nullptr); }
609: 
609:       size_type
609:       size() const noexcept
609:       { return _M_element_count; }
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return size() == 0; }
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(this->_M_node_allocator()); }
609: 
609:       size_type
609:       max_size() const noexcept
609:       { return __node_alloc_traits::max_size(this->_M_node_allocator()); }
609: 
609: 
609:       key_equal
609:       key_eq() const
609:       { return this->_M_eq(); }
609: 
609: 
609: 
609: 
609:       size_type
609:       bucket_count() const noexcept
609:       { return _M_bucket_count; }
609: 
609:       size_type
609:       max_bucket_count() const noexcept
609:       { return max_size(); }
609: 
609:       size_type
609:       bucket_size(size_type __bkt) const
609:       { return std::distance(begin(__bkt), end(__bkt)); }
609: 
609:       size_type
609:       bucket(const key_type& __k) const
609:       { return _M_bucket_index(this->_M_hash_code(__k)); }
609: 
609:       local_iterator
609:       begin(size_type __bkt)
609:       {
609:  return local_iterator(*this, _M_bucket_begin(__bkt),
609:          __bkt, _M_bucket_count);
609:       }
609: 
609:       local_iterator
609:       end(size_type __bkt)
609:       { return local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
609: 
609:       const_local_iterator
609:       begin(size_type __bkt) const
609:       {
609:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
609:         __bkt, _M_bucket_count);
609:       }
609: 
609:       const_local_iterator
609:       end(size_type __bkt) const
609:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
609: 
609: 
609:       const_local_iterator
609:       cbegin(size_type __bkt) const
609:       {
609:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
609:         __bkt, _M_bucket_count);
609:       }
609: 
609:       const_local_iterator
609:       cend(size_type __bkt) const
609:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
609: 
609:       float
609:       load_factor() const noexcept
609:       {
609:  return static_cast<float>(size()) / static_cast<float>(bucket_count());
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const _RehashPolicy&
609:       __rehash_policy() const
609:       { return _M_rehash_policy; }
609: 
609:       void
609:       __rehash_policy(const _RehashPolicy& __pol)
609:       { _M_rehash_policy = __pol; }
609: 
609: 
609:       iterator
609:       find(const key_type& __k);
609: 
609:       const_iterator
609:       find(const key_type& __k) const;
609: 
609:       size_type
609:       count(const key_type& __k) const;
609: 
609:       std::pair<iterator, iterator>
609:       equal_range(const key_type& __k);
609: 
609:       std::pair<const_iterator, const_iterator12: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: putc_unlocked (int __c, FILE *__stream)
1412: {
1412:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1412: }
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: putchar_unlocked (int __c)
1412: {
1412:   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
1412: getline (char **__lineptr, size_t *__n, FILE *__stream)
1412: {
1412:   return __getdelim (__lineptr, __n, '\n', __stream);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) noexcept (true)
1412: {
1412:   return (((__stream)->_flags & 0x0010) != 0);
1412: }
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) noexcept (true)
1412: {
1412:   return (((__stream)->_flags & 0x0020) != 0);
1412: }
1412: # 903 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) noexcept (true)
1412: {
1412:   return __builtin___sprintf_chk (__s, 2 - 1,
1412:       __builtin_object_size (__s, 2 > 1), __fmt,
1412:       __builtin_va_arg_pack ());
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1412: 
1412: {
1412:   return __builtin___vsprintf_chk (__s, 2 - 1,
1412:        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1412: }
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) noexcept (true)
1412: 
1412: {
1412:   return __builtin___snprintf_chk (__s, __n, 2 - 1,
1412:        __builtin_object_size (__s, 2 > 1), __fmt,
1412:        __builtin_va_arg_pack ());
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1412: 
1412: {
1412:   return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
1412:         __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
1412: {
1412:   return __fprintf_chk (__stream, 2 - 1, __fmt,
1412:    __builtin_va_arg_pack ());
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: printf (const char *__restrict __fmt, ...)
1412: {
1412:   return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__Up, size_t _Nm>
1417:     struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]>
1417:     : true_type
1417:     { };
1417: 
1417: 
1417:   template<typename _Up, size_t _Nm, typename _Yp, typename = void>
1417:     struct __sp_is_constructible_arrN
1417:     : false_type
1417:     { };
1417: 
1417:   template<typename _Up, size_t _Nm, typename _Yp>
1417:     struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>>
1417:     : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Up, typename _Yp, typename = void>
1417:     struct __sp_is_constructible_arr
1417:     : false_type
1417:     { };
1417: 
1417:   template<typename _Up, typename _Yp>
1417:     struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>>
1417:     : is_convertible<_Yp(*)[], _Up(*)[]>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp, typename _Yp>
1417:     struct __sp_is_constructible;
1417: 
1417: 
1417:   template<typename _Up, size_t _Nm, typename _Yp>
1417:     struct __sp_is_constructible<_Up[_Nm], _Yp>
1417:     : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Up, typename _Yp>
1417:     struct __sp_is_constructible<_Up[], _Yp>
1417:     : __sp_is_constructible_arr<_Up, _Yp>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp, typename _Yp>
1417:     struct __sp_is_constructible
1417:     : is_convertible<_Yp*, _Tp*>::type
1417:     { };
1417: 
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp,
1417:     bool = is_array<_Tp>::value, bool = is_void<_Tp>::value>
1417:     class __shared_ptr_access
1417:     {
1417:     public:
1417:       using element_type = _Tp;
1417: 
1417:       element_type&
1417:       operator*() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1417:  return *_M_get();
1417:       }
1417: 
1417:       element_type*
1417:       operator->() const noexcept
1417:       {
1417:  ;
1417:  return _M_get();
1417:       }
1417: 
1417:     private:
1417:       element_type*
1417:       _M_get() const noexcept
1417:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     class __shared_ptr_access<_Tp, _Lp, false, true>
1417:     {
1417:     public:
1417:       using element_type = _Tp;
1417: 
1417:       element_type*
1417:       operator->() const noexcept
1417:       {
1417:  auto __ptr = static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get();
1417:  ;
1417:  return __ptr;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     class __shared_ptr_access<_Tp, _Lp, true, false>
1417:     {
1417:     public:
1417:       using element_type = typename remove_extent<_Tp>::type;
1417: # 1407 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417:       element_type&
1417:       operator[](ptrdiff_t __i) const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(!extent<_Tp>::value || __i < extent<_Tp>::value)) __builtin_unreachable(); } while (false);
1417:  return _M_get()[__i];
1417:       }
1417: 
1417:     private:
1417:       element_type*
1417:       _M_get() const noexcept
1417:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1417:     };
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     class __shared_ptr
1417:     : public __shared_ptr_access<_Tp, _Lp>
1417:     {
1417:     public:
1417:       using element_type = typename remove_extent<_Tp>::type;
1417: 
1417:     private:
1417: 
1417:       template<typename _Yp>
1417:  using _SafeConv
1417:    = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type;
1417: 
1417: 
1417:       template<typename _Yp, typename _Res = void>
1417:  using _Compatible = typename
1417:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1417: 
1417: 
1417:       template<typename _Yp>
1417:  using _Assignable = _Compatible<_Yp, __shared_ptr&>;
1417: 
1417: 
1417:       template<typename _Yp, typename _Del, typename _Res = void,
1417:         typename _Ptr = typename unique_ptr<_Yp, _Del>::pointer>
1417:  using _UniqCompatible = __enable_if_t<__and_<
1417:    __sp_compatible_with<_Yp*, _Tp*>,
1417:    is_convertible<_Ptr, element_type*>,
1417:    is_move_constructible<_Del>
1417:    >::value, _Res>;
1417: 
1417: 
1417:       template<typename _Yp, typename _Del>
1417:  using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>;
1417: 
1417:     public:
1417: 
1417: 
1417:       using weak_type = __weak_ptr<_Tp, _Lp>;
1417: 
1417: 
1417:       constexpr __shared_ptr() noexcept
1417:       : _M_ptr(0), _M_refcount()
1417:       { }
1417: 
1417:       template<typename _Yp, typename = _SafeConv<_Yp>>
1417:  explicit
1417:  __shared_ptr(_Yp* __p)
1417:  : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
1417:  {
1417:    static_assert( !is_void<_Yp>::value, "incomplete type" );
1417:    static_assert( sizeof(_Yp) > 0, "incomplete type" );
1417:    _M_enable_shared_from_this_with(__p);
1417:  }
1417: 
1417:       template<typename _Yp, typename _Deleter, typename = _SafeConv<_Yp>>
1417:  __shared_ptr(_Yp* __p, _Deleter __d)
1417:  : _M_ptr(__p), _M_refcount(__p, std::move(__d))
1417:  {
1417:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1417:        "deleter expression d(p) is well-formed");
1417:    _M_enable_shared_from_this_with(__p);
1417:  }
1417: 
1417:       template<typename _Yp, typename _Deleter, typename _Alloc,
1417:         typename = _SafeConv<_Yp>>
1417:  __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1417:  : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a))
1417:  {
1417:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1417:        "deleter expression d(p) is well-formed");
1417:    _M_enable_shared_from_this_with(__p);
1417:  }
1417: 
1417:       template<typename _Deleter>
1417:  __shared_ptr(nullptr_t __p, _Deleter __d)
1417:  : _M_ptr(0), _M_refcount(__p, std::move(__d))
1417:  { }
1417: 
1417:       template<typename _Deleter, typename _Alloc>
1417:         __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1417:  : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a))
1417:  { }
1417: 
1417: 
1417:       template<typename _Yp>
1417:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r,
1417:        element_type* __p) noexcept
1417:  : _M_ptr(__p), _M_refcount(__r._M_refcount)
1417:  { }
1417: 
1417: 
1417:       template<typename _Yp>
1417:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r,
1417:        element_type* __p) noexcept
1417:  : _M_ptr(__p), _M_refcount()
1417:  {
1417:    _M_refcount._M_swap(__r._M_refcount);
1417:    __r._M_ptr = nullptr;
1417:  }
1417: 
1417:       __shared_ptr(const __shared_ptr&) noexcept = default;
1417:       __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
1417:       ~__shared_ptr() = default;
1417: 
1417:       template<typename _Yp, typename = _Compatible<_Yp>>
1417:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1417:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1417:  { }
1417: 
1417:       __shared_ptr(__shared_ptr&& __r) noexcept
1417:       : _M_ptr(__r._M_ptr), _M_refcount()
1417:       {
1417:  _M_refcount._M_swap(__r._M_refcount);
1417:  __r._M_ptr = nullptr;
1417:       }
1417: 
1417:       template<typename _Yp, typename = _Compatible<_Yp>>
1417:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1417:  : _M_ptr(__r._M_ptr), _M_refcount()
1417:  {
1417:    _M_refcount._M_swap(__r._M_refcount);
1417:    __r._M_ptr = nullptr;
1417:  }
1417: 
1417:       template<typename _Yp, typename = _Compatible<_Yp>>
1417:  explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r)
1417:  : _M_refcount(__r._M_refcount)
1417:  {
1417: 
1417: 
1417:    _M_ptr = __r._M_ptr;
1417:  }
1417: 
1417: 
1417:       template<typename _Yp, typename _Del,
1417:         typ>
609:       equal_range(const key_type& __k) const;
609: # 790 "/usr/include/c++/12/bits/hashtable.h" 3
609:     private:
609: 
609:       size_type
609:       _M_bucket_index(const __node_value_type& __n) const noexcept
609:       { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); }
609: 
609:       size_type
609:       _M_bucket_index(__hash_code __c) const
609:       { return __hash_code_base::_M_bucket_index(__c, _M_bucket_count); }
609: 
609:       __node_base_ptr
609:       _M_find_before_node(const key_type&);
609: 
609: 
609: 
609:       __node_base_ptr
609:       _M_find_before_node(size_type, const key_type&, __hash_code) const;
609: 
609:       template<typename _Kt>
609:  __node_base_ptr
609:  _M_find_before_node_tr(size_type, const _Kt&, __hash_code) const;
609: 
609:       __node_ptr
609:       _M_find_node(size_type __bkt, const key_type& __key,
609:      __hash_code __c) const
609:       {
609:  __node_base_ptr __before_n = _M_find_before_node(__bkt, __key, __c);
609:  if (__before_n)
609:    return static_cast<__node_ptr>(__before_n->_M_nxt);
609:  return nullptr;
609:       }
609: 
609:       template<typename _Kt>
609:  __node_ptr
609:  _M_find_node_tr(size_type __bkt, const _Kt& __key,
609:    __hash_code __c) const
609:  {
609:    auto __before_n = _M_find_before_node_tr(__bkt, __key, __c);
609:    if (__before_n)
609:      return static_cast<__node_ptr>(__before_n->_M_nxt);
609:    return nullptr;
609:  }
609: 
609: 
609:       void
609:       _M_insert_bucket_begin(size_type, __node_ptr);
609: 
609: 
609:       void
609:       _M_remove_bucket_begin(size_type __bkt, __node_ptr __next_n,
609:         size_type __next_bkt);
609: 
609: 
609:       __node_base_ptr
609:       _M_get_previous_node(size_type __bkt, __node_ptr __n);
609: 
609:       pair<const_iterator, __hash_code>
609:       _M_compute_hash_code(const_iterator __hint, const key_type& __k) const;
609: 
609: 
609: 
609: 
609:       iterator
609:       _M_insert_unique_node(size_type __bkt, __hash_code,
609:        __node_ptr __n, size_type __n_elt = 1);
609: 
609: 
609: 
609:       iterator
609:       _M_insert_multi_node(__node_ptr __hint,
609:       __hash_code __code, __node_ptr __n);
609: 
609:       template<typename... _Args>
609:  std::pair<iterator, bool>
609:  _M_emplace(true_type __uks, _Args&&... __args);
609: 
609:       template<typename... _Args>
609:  iterator
609:  _M_emplace(false_type __uks, _Args&&... __args)
609:  { return _M_emplace(cend(), __uks, std::forward<_Args>(__args)...); }
609: 
609: 
609:       template<typename... _Args>
609:  iterator
609:  _M_emplace(const_iterator, true_type __uks, _Args&&... __args)
609:  { return _M_emplace(__uks, std::forward<_Args>(__args)...).first; }
609: 
609:       template<typename... _Args>
609:  iterator
609:  _M_emplace(const_iterator, false_type __uks, _Args&&... __args);
609: 
609:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
609:  std::pair<iterator, bool>
609:  _M_insert_unique(_Kt&&, _Arg&&, const _NodeGenerator&);
609: 
609:       template<typename _Kt>
609:  static __conditional_t<
609:    __and_<__is_nothrow_invocable<_Hash&, const key_type&>,
609:    __not_<__is_nothrow_invocable<_Hash&, _Kt>>>::value,
609:    key_type, _Kt&&>
609:  _S_forward_key(_Kt&& __k)
609:  { return std::forward<_Kt>(__k); }
609: 
609:       static const key_type&
609:       _S_forward_key(const key_type& __k)
609:       { return __k; }
609: 
609:       static key_type&&
609:       _S_forward_key(key_type&& __k)
609:       { return std::move(__k); }
609: 
609:       template<typename _Arg, typename _NodeGenerator>
609:  std::pair<iterator, bool>
609:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
609:     true_type )
609:  {
609:    return _M_insert_unique(
609:      _S_forward_key(_ExtractKey{}(std::forward<_Arg>(__arg))),
609:      std::forward<_Arg>(__arg), __node_gen);
609:  }
609: 
609:       template<typename _Arg, typename _NodeGenerator>
609:  iterator
609:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
609:     false_type  ((__artificial__)) int
1412: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)
1412: {
1412: 
1412:   return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
1412: 
1412: 
1412: 
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: vfprintf (FILE *__restrict __stream,
1412:    const char *__restrict __fmt, __gnuc_va_list __ap)
1412: {
1412:   return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
1412: }
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: dprintf (int __fd, const char *__restrict __fmt, ...)
1412: {
1412:   return __dprintf_chk (__fd, 2 - 1, __fmt,
1412:    __builtin_va_arg_pack ());
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)
1412: {
1412:   return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1412: {
1412:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1412:     __builtin_va_arg_pack ());
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1412: 
1412: {
1412:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1412:     __builtin_va_arg_pack ());
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) noexcept (true)
1412: 
1412: {
1412:   return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
1412:           __builtin_va_arg_pack ());
1412: }
1412: # 165 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1412: 
1412: {
1412:   return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1412: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1412: 
1412: {
1412:   return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
1412:     __ap);
1412: }
1412: # 198 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1412: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
1412: 
1412: 
1412:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
1412: 
1412: 
1412:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
1412:                                  ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1412: fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1412: {
1412:   size_t sz = __builtin_object_size (__s, 2 > 1);
1ename = _UniqCompatible<_Yp, _Del>>
1417:  __shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1417:  : _M_ptr(__r.get()), _M_refcount()
1417:  {
1417:    auto __raw = __to_address(__r.get());
1417:    _M_refcount = __shared_count<_Lp>(std::move(__r));
1417:    _M_enable_shared_from_this_with(__raw);
1417:  }
1417: # 1585 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417:       template<typename _Yp, typename = _Compatible<_Yp>>
1417:  __shared_ptr(auto_ptr<_Yp>&& __r);
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417:       constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<_Yp>
1417:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1417:  {
1417:    _M_ptr = __r._M_ptr;
1417:    _M_refcount = __r._M_refcount;
1417:    return *this;
1417:  }
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:       template<typename _Yp>
1417:  _Assignable<_Yp>
1417:  operator=(auto_ptr<_Yp>&& __r)
1417:  {
1417:    __shared_ptr(std::move(__r)).swap(*this);
1417:    return *this;
1417:  }
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417:       __shared_ptr&
1417:       operator=(__shared_ptr&& __r) noexcept
1417:       {
1417:  __shared_ptr(std::move(__r)).swap(*this);
1417:  return *this;
1417:       }
1417: 
1417:       template<class _Yp>
1417:  _Assignable<_Yp>
1417:  operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1417:  {
1417:    __shared_ptr(std::move(__r)).swap(*this);
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _Yp, typename _Del>
1417:  _UniqAssignable<_Yp, _Del>
1417:  operator=(unique_ptr<_Yp, _Del>&& __r)
1417:  {
1417:    __shared_ptr(std::move(__r)).swap(*this);
1417:    return *this;
1417:  }
1417: 
1417:       void
1417:       reset() noexcept
1417:       { __shared_ptr().swap(*this); }
1417: 
1417:       template<typename _Yp>
1417:  _SafeConv<_Yp>
1417:  reset(_Yp* __p)
1417:  {
1417: 
1417:    do { if (std::__is_constant_evaluated() && !bool(__p == nullptr || __p != _M_ptr)) __builtin_unreachable(); } while (false);
1417:    __shared_ptr(__p).swap(*this);
1417:  }
1417: 
1417:       template<typename _Yp, typename _Deleter>
1417:  _SafeConv<_Yp>
1417:  reset(_Yp* __p, _Deleter __d)
1417:  { __shared_ptr(__p, std::move(__d)).swap(*this); }
1417: 
1417:       template<typename _Yp, typename _Deleter, typename _Alloc>
1417:  _SafeConv<_Yp>
1417:  reset(_Yp* __p, _Deleter __d, _Alloc __a)
1417:         { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); }
1417: 
1417: 
1417:       element_type*
1417:       get() const noexcept
1417:       { return _M_ptr; }
1417: 
1417: 
1417:       explicit operator bool() const noexcept
1417:       { return _M_ptr != nullptr; }
1417: 
1417: 
1417:       bool
1417:       unique() const noexcept
1417:       { return _M_refcount._M_unique(); }
1417: 
1417: 
1417:       long
1417:       use_count() const noexcept
1417:       { return _M_refcount._M_get_use_count(); }
1417: 
1417: 
1417:       void
1417:       swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
1417:       {
1417:  std::swap(_M_ptr, __other._M_ptr);
1417:  _M_refcount._M_swap(__other._M_refcount);
1417:       }
1417: # 1697 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417:       template<typename _Tp1>
1417:  bool
1417:  owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1417:  { return _M_refcount._M_less(__rhs._M_refcount); }
1417: 
1417:       template<typename _Tp1>
1417:  bool
1417:  owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1417:  { return _M_refcount._M_less(__rhs._M_refcount); }
1417: 
1417: 
1417:     protected:
1417: 
1417:       template<typename _Alloc, typename... _Args>
1417:  __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1417:  : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
1417:  { _M_enable_shared_from_this_with(_M_ptr); }
1417: 
1417:       template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
1417:         typename... _Args>
1417:  friend __shared_ptr<_Tp1, _Lp1>
1417:  __allocate_shared(const _Alloc& __a, _Args&&... __args);
1417: # 1731 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417:       __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) noexcept
1417:       : _M_refcount(__r._M_refcount, std::nothrow)
1417:       {
1417:  _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr;
1417:       }
1417: 
1417:       friend class __weak_ptr<_Tp, _Lp>;
1417: 
1417:     private:
1417: 
1417:       template<typename _Yp>
1417:  using __esft_base_t = decltype(__enable_shared_from_this_base(
1417:        std::declval<const __shared_count<_Lp>&>(),
1417:        std::declval<_Yp*>()));
1417: 
1417: 
1417:       template<typename _Yp, typename = void>
1417:  struct __has_esft_base
1417:  : false_type { };
1417: 
1417:       template<typename _Yp>
1417:  struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>>
1417:  : __not_<is_array<_Tp>> { };
1417: 
1417:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1417:  typename enable_if<__has_esft_base<_Yp2>::value>::type
1417:  _M_enable_shared_from_this_with(_Yp* __p) noexcept
1417:  {
1417:    if (auto __base = __enable_shared_from_this_base(_M_refcount, __p))
1417:      __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount);
1417:  }
1417: 
1417:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1417:  typename enable_if<!__has_esft_base<_Yp2>::value>::type
1417:  _M_enable_shared_from_this_with(_Yp*) noexcept
1417:  { }
1417: 
1417:       void*
1417:       _M_get_deleter(const std::type_info& __ti) const noexcept
1417:       { return _M_refcount._M_get_deleter(__ti); }
1417: 
1417:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1417:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1417: 
1417:       template<typename _Del, typename _Tp1, _Lock_policy _Lp1>
1417:  friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
1417: 
1417:       template<typename _Del, typename _Tp1>
1417:  friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       element_type* _M_ptr;
1417:       __shared_count<_Lp> _M_refcount;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1417:     inline bool
1417:     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
1417:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1417:     { return __a.get() == __b.get(); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1417:     { return !__a; }
1417: # 1817 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1417:     { return !__a; }
1417: 
1417:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1417:     inline bool
1417:     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
1417:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1417:     { return __a.get() != __b.get(); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1417:     { return (bool)__a; }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1417:     { return (bool)__a; }
1417: 
1417:   template<typename _Tp, typename _Up, _Lock_policy _Lp>
1417:     inline bool
1417:     operator<(const __shared_ptr<_Tp, _Lp>& __a,
1417:        const __shared_ptr<_Up, _Lp>& __b) noexcept
1417:     {
1417:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1417:       using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type;
1417:       using _Vp = typename common_type<_Tp_elt*, ___uks)
609:  {
609:    return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen,
609:       __uks);
609:  }
609: 
609: 
609:       template<typename _Arg, typename _NodeGenerator>
609:  iterator
609:  _M_insert(const_iterator, _Arg&& __arg,
609:     const _NodeGenerator& __node_gen, true_type __uks)
609:  {
609:    return
609:      _M_insert(std::forward<_Arg>(__arg), __node_gen, __uks).first;
609:  }
609: 
609: 
609:       template<typename _Arg, typename _NodeGenerator>
609:  iterator
609:  _M_insert(const_iterator, _Arg&&,
609:     const _NodeGenerator&, false_type __uks);
609: 
609:       size_type
609:       _M_erase(true_type __uks, const key_type&);
609: 
609:       size_type
609:       _M_erase(false_type __uks, const key_type&);
609: 
609:       iterator
609:       _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n);
609: 
609:     public:
609: 
609:       template<typename... _Args>
609:  __ireturn_type
609:  emplace(_Args&&... __args)
609:  { return _M_emplace(__unique_keys{}, std::forward<_Args>(__args)...); }
609: 
609:       template<typename... _Args>
609:  iterator
609:  emplace_hint(const_iterator __hint, _Args&&... __args)
609:  {
609:    return _M_emplace(__hint, __unique_keys{},
609:        std::forward<_Args>(__args)...);
609:  }
609: 
609: 
609: 
609: 
609:       iterator
609:       erase(const_iterator);
609: 
609: 
609:       iterator
609:       erase(iterator __it)
609:       { return erase(const_iterator(__it)); }
609: 
609:       size_type
609:       erase(const key_type& __k)
609:       { return _M_erase(__unique_keys{}, __k); }
609: 
609:       iterator
609:       erase(const_iterator, const_iterator);
609: 
609:       void
609:       clear() noexcept;
609: 
609: 
609: 
609:       void rehash(size_type __bkt_count);
609: 
609: 
609: 
609: 
609: 
609: 
609:       insert_return_type
609:       _M_reinsert_node(node_type&& __nh)
609:       {
609:  insert_return_type __ret;
609:  if (__nh.empty())
609:    __ret.position = end();
609:  else
609:    {
609:      do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
609: 
609:      const key_type& __k = __nh._M_key();
609:      __hash_code __code = this->_M_hash_code(__k);
609:      size_type __bkt = _M_bucket_index(__code);
609:      if (__node_ptr __n = _M_find_node(__bkt, __k, __code))
609:        {
609:   __ret.node = std::move(__nh);
609:   __ret.position = iterator(__n);
609:   __ret.inserted = false;
609:        }
609:      else
609:        {
609:   __ret.position
609:     = _M_insert_unique_node(__bkt, __code, __nh._M_ptr);
609:   __nh._M_ptr = nullptr;
609:   __ret.inserted = true;
609:        }
609:    }
609:  return __ret;
609:       }
609: 
609: 
609:       iterator
609:       _M_reinsert_node_multi(const_iterator __hint, node_type&& __nh)
609:       {
609:  if (__nh.empty())
609:    return end();
609: 
609:  do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
609: 
609:  const key_type& __k = __nh._M_key();
609:  auto __code = this->_M_hash_code(__k);
609:  auto __ret
609:    = _M_insert_multi_node(__hint._M_cur, __code, __nh._M_ptr);
609:  __nh._M_ptr = nullptr;
609:  return __ret;
609:       }
609: 
609:     private:
609:       node_type
609:       _M_extract_node(size_t __bkt, __node_base_ptr __prev_n)
609:       {
609:  __node_ptr __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
609:  if (__prev_n == _M_buckets[__bkt])
609:    _M_remove_bucket_begin(__bkt, __n->_M_next(),
609:       __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
609:  else if (__n->_M_nxt)
609:    {
609:      size_type __next_bkt = _M_bucket_index(*__n->_M_next());
609:      if (__next_bkt != __bkt)
609:        _M_buckets[__next_bkt] = __prev_n;
609:    }
609: 
609:  __prev_n->_M_nxt = __n->_M_nxt;
609:  __n->_M_nxt = nullptr;
609:  --_M_element_count;
609:  return { __n, this->_M_node_allocator() };
609:       }
609: 
609:     public:
609: 
609:       node_type
609:       extract(c412:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1412:     return __fgets_alias (__s, __n, __stream);
1412:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1412:     return __fgets_chk_warn (__s, sz, __n, __stream);
1412:   return __fgets_chk (__s, sz, __n, __stream);
1412: }
1412: 
1412: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
1412: 
1412: 
1412:             __attribute__ ((__warn_unused_result__));
1412: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
1412: 
1412: 
1412: 
1412: 
1412:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
1412:                                  ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1412: fread (void *__restrict __ptr, size_t __size, size_t __n,
1412:        FILE *__restrict __stream)
1412: {
1412:   size_t sz = __builtin_object_size (__ptr, 0);
1412:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1412:     return __fread_alias (__ptr, __size, __n, __stream);
1412:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1412:     return __fread_chk_warn (__ptr, sz, __size, __n, __stream);
1412:   return __fread_chk (__ptr, sz, __size, __n, __stream);
1412: }
1412: 
1412: 
1412: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
1412: 
1412: 
1412:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
1412: 
1412: 
1412:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
1412:                                  ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1412: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
1412: {
1412:   size_t sz = __builtin_object_size (__s, 2 > 1);
1412:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1412:     return __fgets_unlocked_alias (__s, __n, __stream);
1412:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1412:     return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);
1412:   return __fgets_unlocked_chk (__s,Up_elt*>::type;
1417:       return less<_Vp>()(__a.get(), __b.get());
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1417:     {
1417:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1417:       return less<_Tp_elt*>()(__a.get(), nullptr);
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1417:     {
1417:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1417:       return less<_Tp_elt*>()(nullptr, __a.get());
1417:     }
1417: 
1417:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1417:     inline bool
1417:     operator<=(const __shared_ptr<_Tp1, _Lp>& __a,
1417:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1417:     { return !(__b < __a); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1417:     { return !(nullptr < __a); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1417:     { return !(__a < nullptr); }
1417: 
1417:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1417:     inline bool
1417:     operator>(const __shared_ptr<_Tp1, _Lp>& __a,
1417:        const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1417:     { return (__b < __a); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1417:     { return nullptr < __a; }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1417:     { return __a < nullptr; }
1417: 
1417:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1417:     inline bool
1417:     operator>=(const __shared_ptr<_Tp1, _Lp>& __a,
1417:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1417:     { return !(__a < __b); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1417:     { return !(__a < nullptr); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1417:     { return !(nullptr < __a); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline void
1417:     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
1417:     { __a.swap(__b); }
1417: # 1927 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1417:     {
1417:       using _Sp = __shared_ptr<_Tp, _Lp>;
1417:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1417:     {
1417:       using _Sp = __shared_ptr<_Tp, _Lp>;
1417:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1417:     {
1417:       using _Sp = __shared_ptr<_Tp, _Lp>;
1417:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1417:  return _Sp(__r, __p);
1417:       return _Sp();
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _onst_iterator __pos)
609:       {
609:  size_t __bkt = _M_bucket_index(*__pos._M_cur);
609:  return _M_extract_node(__bkt,
609:           _M_get_previous_node(__bkt, __pos._M_cur));
609:       }
609: 
609: 
609:       node_type
609:       extract(const _Key& __k)
609:       {
609:  node_type __nh;
609:  __hash_code __code = this->_M_hash_code(__k);
609:  std::size_t __bkt = _M_bucket_index(__code);
609:  if (__node_base_ptr __prev_node = _M_find_before_node(__bkt, __k, __code))
609:    __nh = _M_extract_node(__bkt, __prev_node);
609:  return __nh;
609:       }
609: 
609: 
609:       template<typename _Compatible_Hashtable>
609:  void
609:  _M_merge_unique(_Compatible_Hashtable& __src)
609:  {
609:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
609:        node_type>, "Node types are compatible");
609:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
609: 
609:    auto __n_elt = __src.size();
609:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
609:      {
609:        auto __pos = __i++;
609:        const key_type& __k = _ExtractKey{}(*__pos);
609:        __hash_code __code
609:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
609:        size_type __bkt = _M_bucket_index(__code);
609:        if (_M_find_node(__bkt, __k, __code) == nullptr)
609:   {
609:     auto __nh = __src.extract(__pos);
609:     _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt);
609:     __nh._M_ptr = nullptr;
609:     __n_elt = 1;
609:   }
609:        else if (__n_elt != 1)
609:   --__n_elt;
609:      }
609:  }
609: 
609: 
609:       template<typename _Compatible_Hashtable>
609:  void
609:  _M_merge_multi(_Compatible_Hashtable& __src)
609:  {
609:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
609:        node_type>, "Node types are compatible");
609:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
609: 
609:    __node_ptr __hint = nullptr;
609:    this->reserve(size() + __src.size());
609:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
609:      {
609:        auto __pos = __i++;
609:        __hash_code __code
609:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
609:        auto __nh = __src.extract(__pos);
609:        __hint = _M_insert_multi_node(__hint, __code, __nh._M_ptr)._M_cur;
609:        __nh._M_ptr = nullptr;
609:      }
609:  }
609: 
609: 
609:     private:
609: 
609:       void _M_rehash_aux(size_type __bkt_count, true_type __uks);
609: 
609: 
609:       void _M_rehash_aux(size_type __bkt_count, false_type __uks);
609: 
609: 
609: 
609:       void _M_rehash(size_type __bkt_count, const __rehash_state& __state);
609:     };
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_bucket_begin(size_type __bkt) const
609:     -> __node_ptr
609:     {
609:       __node_base_ptr __n = _M_buckets[__bkt];
609:       return __n ? static_cast<__node_ptr>(__n->_M_nxt) : nullptr;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _Hashtable(size_type __bkt_count_hint,
609:         const _Hash& __h, const _Equal& __eq, const allocator_type& __a)
609:     : _Hashtable(__h, __eq, __a)
609:     {
609:       auto __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count_hint);
609:       if (__bLp>
1417:     reinterpret_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1417:     {
1417:       using _Sp = __shared_ptr<_Tp, _Lp>;
1417:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     class __weak_ptr
1417:     {
1417:       template<typename _Yp, typename _Res = void>
1417:  using _Compatible = typename
1417:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1417: 
1417: 
1417:       template<typename _Yp>
1417:  using _Assignable = _Compatible<_Yp, __weak_ptr&>;
1417: 
1417:     public:
1417:       using element_type = typename remove_extent<_Tp>::type;
1417: 
1417:       constexpr __weak_ptr() noexcept
1417:       : _M_ptr(nullptr), _M_refcount()
1417:       { }
1417: 
1417:       __weak_ptr(const __weak_ptr&) noexcept = default;
1417: 
1417:       ~__weak_ptr() = default;
1417: # 2009 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1417:       template<typename _Yp, typename = _Compatible<_Yp>>
1417:  __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1417:  : _M_refcount(__r._M_refcount)
1417:         { _M_ptr = __r.lock().get(); }
1417: 
1417:       template<typename _Yp, typename = _Compatible<_Yp>>
1417:  __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1417:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1417:  { }
1417: 
1417:       __weak_ptr(__weak_ptr&& __r) noexcept
1417:       : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount))
1417:       { __r._M_ptr = nullptr; }
1417: 
1417:       template<typename _Yp, typename = _Compatible<_Yp>>
1417:  __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1417:  : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount))
1417:         { __r._M_ptr = nullptr; }
1417: 
1417:       __weak_ptr&
1417:       operator=(const __weak_ptr& __r) noexcept = default;
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<_Yp>
1417:  operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1417:  {
1417:    _M_ptr = __r.lock().get();
1417:    _M_refcount = __r._M_refcount;
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<_Yp>
1417:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1417:  {
1417:    _M_ptr = __r._M_ptr;
1417:    _M_refcount = __r._M_refcount;
1417:    return *this;
1417:  }
1417: 
1417:       __weak_ptr&
1417:       operator=(__weak_ptr&& __r) noexcept
1417:       {
1417:  _M_ptr = __r._M_ptr;
1417:  _M_refcount = std::move(__r._M_refcount);
1417:  __r._M_ptr = nullptr;
1417:  return *this;
1417:       }
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<_Yp>
1417:  operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1417:  {
1417:    _M_ptr = __r.lock().get();
1417:    _M_refcount = std::move(__r._M_refcount);
1417:    __r._M_ptr = nullptr;
1417:    return *this;
1417:  }
1417: 
1417:       __shared_ptr<_Tp, _Lp>
1417:       lock() const noexcept
1417:       { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); }
1417: 
1417:       long
1417:       use_count() const noexcept
1417:       { return _M_refcount._M_get_use_count(); }
1417: 
1417:       bool
1417:       expired() const noexcept
1417:       { return _M_refcount._M_get_use_count() == 0; }
1417: 
1417:       template<typename _Tp1>
1417:  bool
1417:  owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept
1417:  { return _M_refcount._M_less(__rhs._M_refcount); }
1417: 
1417:       template<typename _Tp1>
1417:  bool
1417:  owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept
1417:  { return _M_refcount._M_less(__rhs._M_refcount); }
1417: 
1417:       void
1417:       reset() noexcept
1417:       { __weak_ptr().swap(*this); }
1417: 
1417:       void
1417:       swap(__weak_ptr& __s) noexcept
1417:       {
1417:  std::swap(_M_ptr, __s._M_ptr);
1417:  _M_refcount._M_swap(__s._M_refcount);
1417:       }
1417: 
1417:     private:
1417: 
1417:       void
1417:       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
1417:       {
1417:  if (use_count() == 0)
1417:    {
1417:      _M_ptr = __ptr;
1417:      _M_refcount = __refcount;
1417:    }
1417:       }
1417: 
1417:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1417:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1417:       friend class __enable_shared_from_this<_Tp, _Lp>;
1417:       friend class enable_shared_from_this<_Tp>;
1417: 
1417: 
1417: 
1417: 
1417:       element_type* _M_ptr;
1417:       __weak_count<_Lp> _M_refcount;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline void
1417:     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
1417:     { __a.swap(__b); }
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:   template<typename _Tp, typename _Tp1>
1417:     struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool>
1417:     {
1417:       bool
1417:       operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept
1417:       { return __lhs.owner_before(__rhs); }
1417: 
1417:       bool
1417:       operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept
1417:       { return __lhs.owner_before(__rhs); }
1417: 
1417:       bool
1417:       operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept
1417:       { return __lhs.owner_before(__rhs); }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417:   template<>
1417:     struct _Sp_owner_less<void, void>
1417:     {
1417:       template<typename _Tp, typename _Up>
1417:  auto
1417:  operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept
1417:  -> decltype(__lhs.owner_before(__rhs))
1417:  { return __lhs.owner_before(__rhs); }
1417: 
1417:       using is_transparent = void;
1417:     };
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     struct owner_less<__shared_ptr<_Tp, _Lp>>
1417:     : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>>
1417:     { };
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     struct owner_less<__weak_ptr<_Tp, _Lp>>
1417:     : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     class __enable_shared_from_this
1417:     {
1417:     protected:
1417:       constexpr __enable_shared_from_this() noexcept { }
1417: 
1417:       __enable_shared_from_this(const __enable_shared_from_this&) noexcept { }
1417: 
1417:       __enable_shared_from_this&
1417:       operator=(const __enable_shared_from_this&) noexcept
1417:       { return *this; }
1417: 
1417:       ~__enable_shared_from_this() { }
1417: 
1417:     public:
1417:       __shared_ptr<_Tp, _Lp>
1417:       shared_from_this()
1417:       { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
1417: 
1417:       __shared_ptr<const _Tp, _Lp>
1417:       shared_from_this() const
1417:       { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
1417: 
1417: 
1417:       __weak_ptr<_Tp, _Lp>
1417:       weak_from_this() noexcept
1417:       { return this->_M_weak_this; }
1417: 
1417:       __weak_ptr<const _Tp, _Lp>
1417:       weak_from_this() const noexcept
1417:       { return this->_M_weak_this; }
1417: 
1417: 
1417:     private:
1417:       template<typename _Tp1>
1417:  void
1417:  _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept
1417:  { _M_weak_this._M_assign(__p, __n); }
1417: 
1417:       friend const __enable_shared_from_this*
1417:       __enable_shared_from_this_base(const __shared_count<_Lp>&,
1417:          const __enable_shared_from_this* __p)
1417:       { return __p; }
1417: 
1417:       template<typename, _Lock_policy>
1417:  friend class __shared_ptr;
1417: 
1417:       mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
1417:     };
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1417:     typename _Alloc, typename... _Args>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     __allocate_shared(const _Alloc& __a, _Args&&... __args)
1417:     {
1417:  sz, __n, __stream);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
1412: 
1412: 
1412:                      __attribute__ ((__warn_unused_result__));
1412: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
1412: 
1412: 
1412: 
1412: 
1412:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
1412:                                         ;
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1412: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
1412:   FILE *__restrict __stream)
1412: {
1412:   size_t sz = __builtin_object_size (__ptr, 0);
1412:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1412:     {
1412: 
1412:       if (__builtin_constant_p (__size)
1412:    && __builtin_constant_p (__n)
1412:    && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
1412:    && __size * __n <= 8)
1412:  {
1412:    size_t __cnt = __size * __n;
1412:    char *__cptr = (char *) __ptr;
1412:    if (__cnt == 0)
1412:      return 0;
1412: 
1412:    for (; __cnt > 0; --__cnt)
1412:      {
1412:        int __c = getc_unlocked (__stream);
1412:        if (__c == (-1))
1412:   break;
1412:        *__cptr++ = __c;
1412:      }
1412:    return (__cptr - (char *) __ptr) / __size;
1412:  }
1412: 
1412:       return __fread_unlocked_alias (__ptr, __size, __n, __stream);
1412:     }
1412:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1412:     return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);
1412:   return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);
1412: 
1412: }
1412: # 907 "/usr/include/stdio.h" 2 3 4
1412: 
1412: 
1412: }
1412: # 43 "/usr/include/c++/12/cstdio" 2 3
1412: # 96 "/usr/include/c++/12/cstdio" 3
1412: namespace std
1412: {
1412:   using ::FILE;
1412:   using ::fpos_t;
1412: 
1412:   using ::clearerr;
1412:   using ::fclose;
1412:   using ::feof;
1412:   using ::ferror;
1412:   using ::fflush;
1412:   using ::fgetc;
1412:   using ::fgetpos;
1412:   using ::fgets;
1412:   using ::fopen;
1412:   using ::fprintf;
1412:   using ::fputc;
1412:   using ::fputs;
1412:   using ::fread;
1412:   using ::freopen;
1412:   using ::fscanf;
1412:   using ::fseek;
1412:   using ::fsetpos;
1412:   using ::ftell;
1412:   using ::fwrite;
1412:   using ::getc;
1412:   using ::getchar;
1412: 
1412: 
1412: 
1412: 
1412:   using ::perror;
1412:   using ::printf;
1412:   using ::putc;
1412:   using ::putchar;
1412:   using ::puts;
1412:   using ::remove;
1412:   using ::rename;
1412:   using ::rewind;
1412:   using ::scanf;
1412:   using ::setbuf;
1412:   using ::setvbuf;
1412:   using ::sprintf;
1412:   using ::sscanf;
1412:   using ::tmpfile;
1412: 
1412:   using ::tmpnam;
1412: 
1412:   using ::ungetc;
1412:   using ::vfprintf;
1412:   using ::vprintf;
1412:   using ::vsprintf;
1412: }
1412: # 157 "/usr/include/c++/12/cstdio" 3
1412: namespace __gnu_cxx
1412: {
1412: # 175 "/usr/include/c++/12/cstdio" 3
1412:   using ::snprintf;
1412:   using ::vfscanf;
1412:   using ::vscanf;
1412:   using ::vsnprintf;
1412:   using ::vsscanf;
1412: 
1412: }
1412: 
1412: namespace std
1412: {
1412:   using ::__gnu_cxx::snprintf;
1412:   using ::__gnu_cxx::vfscanf;
1412:   using ::__gnu_cxx::vscanf;
1412:   using ::__gnu_ckt_count > _M_bucket_count)
609:  {
609:    _M_buckets = _M_allocate_buckets(__bkt_count);
609:    _M_bucket_count = __bkt_count;
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _InputIterator>
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _Hashtable(_InputIterator __f, _InputIterator __l,
609:    size_type __bkt_count_hint,
609:    const _Hash& __h, const _Equal& __eq,
609:    const allocator_type& __a, true_type )
609:       : _Hashtable(__bkt_count_hint, __h, __eq, __a)
609:       {
609:  for (; __f != __l; ++__f)
609:    this->insert(*__f);
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _InputIterator>
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _Hashtable(_InputIterator __f, _InputIterator __l,
609:    size_type __bkt_count_hint,
609:    const _Hash& __h, const _Equal& __eq,
609:    const allocator_type& __a, false_type )
609:       : _Hashtable(__h, __eq, __a)
609:       {
609:  auto __nb_elems = __detail::__distance_fw(__f, __l);
609:  auto __bkt_count =
609:    _M_rehash_policy._M_next_bkt(
609:      std::max(_M_rehash_policy._M_bkt_for_elements(__nb_elems),
609:        __bkt_count_hint));
609: 
609:  if (__bkt_count > _M_bucket_count)
609:    {
609:      _M_buckets = _M_allocate_buckets(__bkt_count);
609:      _M_bucket_count = __bkt_count;
609:    }
609: 
609:  for (; __f != __l; ++__f)
609:    this->insert(*__f);
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     operator=(const _Hashtable& __ht)
609:     -> _Hashtable&
609:     {
609:       if (&__ht == this)
609:  return *this;
609: 
609:       if (__node_alloc_traits::_S_propagate_on_copy_assign())
609:  {
609:    auto& __this_alloc = this->_M_node_allocator();
609:    auto& __that_alloc = __ht._M_node_allocator();
609:    if (!__node_alloc_traits::_S_always_equal()
609:        && __this_alloc != __that_alloc)
609:      {
609: 
609:        this->_M_deallocate_nodes(_M_begin());
609:        _M_before_begin._M_nxt = nullptr;
609:        _M_deallocate_buckets();
609:        _M_buckets = nullptr;
609:        std::__alloc_on_copy(__this_alloc, __that_alloc);
609:        __hashtable_base::operator=(__ht);
609:        _M_bucket_count = __ht._M_bucket_count;
609:        _M_element_count = __ht._M_element_count;
609:        _M_rehash_policy = __ht._M_rehash_policy;
609:        __alloc_node_gen_t __alloc_node_gen(*this);
609:        try
609:   {
609:     _M_assign(__ht, __alloc_node_gen);
609:   }
609:        catch(...)
609:   {
609: 
609: 
609:     _M_reset();
609:     throw;
609:   }
609:        return *this;
609:      }
609:    std::__alloc_on_copy(__this_alloc, __that_alloc);
609:  }
609: 
609: 
609:       _M_assign_elements(__ht);
609:       return *this;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _Ht>
609:       void
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _M_assign      static_assert(!is_array<_Tp>::value, "make_shared<T[]> not supported");
1417: 
1417:       return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1417:         std::forward<_Args>(__args)...);
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1417:     typename... _Args>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     __make_shared(_Args&&... __args)
1417:     {
1417:       typedef typename std::remove_const<_Tp>::type _Tp_nc;
1417:       return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
1417:            std::forward<_Args>(__args)...);
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     struct hash<__shared_ptr<_Tp, _Lp>>
1417:     : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
1417:     {
1417:       size_t
1417:       operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept
1417:       {
1417:  return hash<typename __shared_ptr<_Tp, _Lp>::element_type*>()(
1417:      __s.get());
1417:       }
1417:     };
1417: 
1417: 
1417: }
1417: # 54 "/usr/include/c++/12/bits/shared_ptr.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 68 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp>
1417:     inline std::basic_ostream<_Ch, _Tr>&
1417:     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
1417:         const __shared_ptr<_Tp, _Lp>& __p)
1417:     {
1417:       __os << __p.get();
1417:       return __os;
1417:     }
1417: 
1417:   template<typename _Del, typename _Tp, _Lock_policy _Lp>
1417:     inline _Del*
1417:     get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept
1417:     {
1417: 
1417:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1417: 
1417: 
1417: 
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Del, typename _Tp>
1417:     inline _Del*
1417:     get_deleter(const shared_ptr<_Tp>& __p) noexcept
1417:     {
1417: 
1417:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1417: 
1417: 
1417: 
1417:     }
1417: # 111 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Tp>
1417:     using _NonArray = __enable_if_t<!is_array<_Tp>::value, _Tp>;
1417: # 174 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Tp>
1417:     class shared_ptr : public __shared_ptr<_Tp>
1417:     {
1417:       template<typename... _Args>
1417:  using _Constructible = typename enable_if<
1417:    is_constructible<__shared_ptr<_Tp>, _Args...>::value
1417:  >::type;
1417: 
1417:       template<typename _Arg>
1417:  using _Assignable = typename enable_if<
1417:    is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr&
1417:  >::type;
1417: 
1417:     public:
1417: 
1417: 
1417:       using element_type = typename __shared_ptr<_Tp>::element_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using weak_type = weak_ptr<_Tp>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
1417: 
1417:       shared_ptr(const shared_ptr&) noexcept = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Yp, typename = _Constructible<_Yp*>>
1417:  explicit
1417:  shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
1417: # 229 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       template<typename _Yp, typename _Deleter,
1417:         typename = _Constructible<_Yp*, _Deleter>>
1417:  shared_ptr(_Yp* __p, _Deleter __d)
1417:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1417: # 247 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       template<typename _Deleter>
1417:  shared_ptr(nullptr_t __p, _Deleter __d)
1417:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1417: # 266 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       template<typename _Yp, typename _Deleter, typename _Alloc,
1417:         typename = _Constructible<_Yp*, _Deleter, _Alloc>>
1417:  shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1417:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1417: # 286 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       template<typename _Deleter, typename _Alloc>
1417:  shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1417:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1417: # 310 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       template<typename _Yp>
1417:  shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept
1417:  : __shared_ptr<_Tp>(__r, __p) { }
1417: # 349 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       template<typename _Yp,
1417:         typename = _Constructible<const shared_ptr<_Yp>&>>
1417:  shared_ptr(const shared_ptr<_Yp>& __r) noexcept
1417:         : __shared_ptr<_Tp>(__r) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       shared_ptr(shared_ptr&& __r) noexcept
1417:       : __shared_ptr<_Tp>(std::move(__r)) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Yp, typename = _Constructible<shared_ptr<_Yp>>>
1417:  shared_ptr(shared_ptr<_Yp>&& __r) noexcept
1417:  : __shared_ptr<_Tp>(std::move(__r)) { }
1417: # 379 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1417:  explicit shared_ptr(const weak_ptr<_Yp>& __r)
1417:  : __shared_ptr<_Tp>(__r) { }
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:       template<typename _Yp, typename = _Constructible<auto_ptr<_Yp>>>
1417:  shared_ptr(auto_ptr<_Yp>&& __r);
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Yp, typename _Del,
1417:         typename = _Constructible<unique_ptr<_Yp, _Del>>>
1417:  shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1417:  : __shared_ptr<_Tp>(std::move(__r)) { }
1417: # 412 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { }
1417: 
1417:       shared_ptr& operator=(const shared_ptr&) noexcept = default;
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<const shared_ptr<_Yp>&>
1417:  operator=(const shared_ptr<_Yp>& __r) noexcept
1417:  {
1417:    this->__shared_ptr<_Tp>::operator=(__r);
1417:    return *this;
1417:  }
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:       template<typename _Yp>
1417:  _Assignable<auto_ptr<_Yp>>
1417:  operator=(auto_ptr<_Yp>&& __r)
1417:  {
1417:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1417:    return *this;
1417:  }
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417:       shared_ptr&
1417:       operator=(shared_ptr&& __r) noexcept
1417:       {
1417:  this->__shared_ptr<_Tp>::operator=(std::move(__r));
1417:  return *this;
1417:       }
1417: 
1417:       template<class _Yp>
1417:  _Assignable<shared_ptr<_Yp>>
1417:  operator=(shared_ptr<_Yp>&& __r) noexcept
1417:  {
1417:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _Yp, typename _Del>
1417:  _Assignable<unique_ptr<_Yp, _Del>>
1417:  operator=(unique_ptr<_Yp, _Del>&& __r)
1417:  {
1417:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1417:    return *this;
1417:  }
1417: 
1417:     private:
1417: 
1417:       template<typename _Alloc, typename... _Args>
1417:  shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1417:  : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
1417:  { }
1417: 
1417:       template<typename _Yp, typename _Alloc, typename... _Args>
1417:  friend shared_ptr<_NonArray<_Yp>>
1417:  allocate_shared(const _Alloc&, _Args&&...);
1417: 
1417:       template<typename _Yp, typename... _Args>
1417:  friend shared_ptr<_NonArray<_Yp>>
1417:  make_shared(_Args&&...);
1417: # 535 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:       shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) noexcept
1417:       : __shared_ptr<_Tp>(__r, std::nothrow) { }
1417: 
1417:       friend class weak_ptr<_Tp>;
1417:     };
1417: 
1417: 
1417:   template<typenaxx::vsnprintf;
1412:   using ::__gnu_cxx::vsscanf;
1412: }
1412: # 44 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1412: # 1 "/usr/include/c++/12/cerrno" 1 3
1412: # 39 "/usr/include/c++/12/cerrno" 3
1412:        
1412: # 40 "/usr/include/c++/12/cerrno" 3
1412: 
1412: 
1412: # 1 "/usr/include/errno.h" 1 3 4
1412: # 28 "/usr/include/errno.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 1 3 4
1412: # 26 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4
1412: # 1 "/usr/include/linux/errno.h" 1 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 1 3 4
1412: # 1 "/usr/include/asm-generic/errno.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
1412: # 6 "/usr/include/asm-generic/errno.h" 2 3 4
1412: # 2 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 2 3 4
1412: # 2 "/usr/include/linux/errno.h" 2 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 2 3 4
1412: # 29 "/usr/include/errno.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C" {
1412: 
1412: 
1412: extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *program_invocation_name;
1412: extern char *program_invocation_short_name;
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 1 3 4
1412: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 3 4
1412: typedef int error_t;
1412: # 49 "/usr/include/errno.h" 2 3 4
1412: 
1412: 
1412: 
1412: }
1412: # 43 "/usr/include/c++/12/cerrno" 2 3
1412: # 45 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _TRet, typename _Ret = _TRet, typename _CharT,
1412:     typename... _Base>
1412:     _Ret
1412:     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
1412:     const char* __name, const _CharT* __str, std::size_t* __idx,
1412:     _Base... __base)
1412:     {
1412:       _Ret __ret;
1412: 
1412:       _CharT* __endptr;
1412: 
1412:       struct _Save_errno {
1412:  _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
1412:  ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
1412:  int _M_errno;
1412:       } const __save_errno;
1412: 
1412:       struct _Range_chk {
1412:    static bool
1412:    _S_chk(_TRet, std::false_type) { return false; }
1412: 
1412:    static bool
1412:    _S_chk(_TRet __val, std::true_type)
1412:    {
1412:      return __val < _TRet(__numeric_traits<int>::__min)
1412:        || __val > _TRet(__numeric_traits<int>::__max);
1412:    }
1412:       };
1412: 
1412:       const _TRet __tmp = __convf(__str, &__endptr, __base...);
1412: 
1412:       if (__endptr == __str)
1412:  std::__throw_invalid_argument(__name);
1412:       else if ((*__errno_location ()) == 34
1412:    || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
1412:  std::__throw_out_of_range(__name);
1412:       else
1412:  __ret = __tmp;
1412: 
1412:       if (__idx)
1412:  *__idx = __endptr - __str;
1412: 
1412:       return __ret;
1412:     }
1412: 
1412: 
1412:   template<typename _String, typename _CharT = typename _String::value_type>
1412:     _String
1412:     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
1412:      __builtin_va_list), std::size_t __n,
1412:    const _CharT* __fmt, ...)
1412:     {
1412: 
1412: 
1412:       _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:          * __n));
1412: 
1412:       __builtin_va_list __args;
1412:       __builtin_va_start(__args, __fmt);
1412: 
1412:       const int __len = __convf(__s, __n, __fmt, __args);
1412: 
1412:       __builtin_va_end(__args);
1412: 
1412:       return _String(__s, __s + __len);
1412:     }
1412: 
1412: 
1412: }
1412: # 3961 "/usr/include/c++/12/bits/basic_string.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/charconv.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/charconv.h" 3
1412:        
1412: # 34 "/usr/inc_elements(_Ht&& __ht)
609:       {
609:  __buckets_ptr __former_buckets = nullptr;
609:  std::size_t __former_bucket_count = _M_bucket_count;
609:  const __rehash_state& __former_state = _M_rehash_policy._M_state();
609: 
609:  if (_M_bucket_count != __ht._M_bucket_count)
609:    {
609:      __former_buckets = _M_buckets;
609:      _M_buckets = _M_allocate_buckets(__ht._M_bucket_count);
609:      _M_bucket_count = __ht._M_bucket_count;
609:    }
609:  else
609:    __builtin_memset(_M_buckets, 0,
609:       _M_bucket_count * sizeof(__node_base_ptr));
609: 
609:  try
609:    {
609:      __hashtable_base::operator=(std::forward<_Ht>(__ht));
609:      _M_element_count = __ht._M_element_count;
609:      _M_rehash_policy = __ht._M_rehash_policy;
609:      __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
609:      _M_before_begin._M_nxt = nullptr;
609:      _M_assign(std::forward<_Ht>(__ht), __roan);
609:      if (__former_buckets)
609:        _M_deallocate_buckets(__former_buckets, __former_bucket_count);
609:    }
609:  catch(...)
609:    {
609:      if (__former_buckets)
609:        {
609: 
609:   _M_deallocate_buckets();
609:   _M_rehash_policy._M_reset(__former_state);
609:   _M_buckets = __former_buckets;
609:   _M_bucket_count = __former_bucket_count;
609:        }
609:      __builtin_memset(_M_buckets, 0,
609:         _M_bucket_count * sizeof(__node_base_ptr));
609:      throw;
609:    }
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _Ht, typename _NodeGenerator>
609:       void
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _M_assign(_Ht&& __ht, const _NodeGenerator& __node_gen)
609:       {
609:  __buckets_ptr __buckets = nullptr;
609:  if (!_M_buckets)
609:    _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count);
609: 
609:  try
609:    {
609:      if (!__ht._M_before_begin._M_nxt)
609:        return;
609: 
609: 
609: 
609:      __node_ptr __ht_n = __ht._M_begin();
609:      __node_ptr __this_n
609:        = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
609:      this->_M_copy_code(*__this_n, *__ht_n);
609:      _M_update_bbegin(__this_n);
609: 
609: 
609:      __node_ptr __prev_n = __this_n;
609:      for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next())
609:        {
609:   __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
609:   __prev_n->_M_nxt = __this_n;
609:   this->_M_copy_code(*__this_n, *__ht_n);
609:   size_type __bkt = _M_bucket_index(*__this_n);
609:   if (!_M_buckets[__bkt])
609:     _M_buckets[__bkt] = __prev_n;
609:   __prev_n = __this_n;
609:        }
609:    }
609:  catch(...)
609:    {
609:      clear();
609:      if (__buckets)
609:        _M_deallocate_buckets();
609:      throw;
609:    }
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_reset() noexcept
609:     {
609:       _M_rehash_policy._M_reset();
609:       _M_bucket_count = 1;
609:       _M_single_bucket = nullptr;
609:       _M_buckets = &_M_single_bucket;
609:       _M_before_begin._M_nxt = nullptr;
609:       _M_element_count = 0;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_move_asme _Tp>
1417:     shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>;
1417:   template<typename _Tp, typename _Del>
1417:     shared_ptr(unique_ptr<_Tp, _Del>) -> shared_ptr<_Tp>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     [[__nodiscard__]] inline bool
1417:     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1417:     { return __a.get() == __b.get(); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1417:     { return !__a; }
1417: # 580 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1417:     { return !__a; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     [[__nodiscard__]] inline bool
1417:     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1417:     { return __a.get() != __b.get(); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1417:     { return (bool)__a; }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1417:     { return (bool)__a; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     [[__nodiscard__]] inline bool
1417:     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1417:     {
1417:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1417:       using _Up_elt = typename shared_ptr<_Up>::element_type;
1417:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
1417:       return less<_Vp>()(__a.get(), __b.get());
1417:     }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1417:     {
1417:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1417:       return less<_Tp_elt*>()(__a.get(), nullptr);
1417:     }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1417:     {
1417:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1417:       return less<_Tp_elt*>()(nullptr, __a.get());
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     [[__nodiscard__]] inline bool
1417:     operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1417:     { return !(__b < __a); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1417:     { return !(nullptr < __a); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1417:     { return !(__a < nullptr); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     [[__nodiscard__]] inline bool
1417:     operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1417:     { return (__b < __a); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1417:     { return nullptr < __a; }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1417:     { return __a < nullptr; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     [[__nodiscard__]] inline bool
1417:     operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1417:     { return !(__a < __b); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1417:     { return !(__a < nullptr); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[__nodiscard__]] inline bool
1417:     operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1417:     { return !(nullptr < __a); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline void
1417:     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
1417:     { __a.swap(__b); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline shared_ptr<_Tp>
1417:     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1417:     {
1417:       using _Sp = shared_ptr<_Tp>;
1417:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline shared_ptr<_Tp>
1417:     const_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1417:     {
1417:       using _Sp = shared_ptr<_Tp>;
1417:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline shared_ptr<_Tp>
1417:     dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1417:     {
1417:       using _Sp = shared_ptr<_Tp>;
1417:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1417:  return _Sp(__r, __p);
1417:       return _Sp();
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline shared_ptr<_Tp>
1417:     reinterpret_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1417:     {
1417:       using _Sp = shared_ptr<_Tp>;
1417:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1417:     }
1417: # 810 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Tp>
1417:     class weak_ptr : public __weak_ptr<_Tp>
1417:     {
1417:       template<typename _Arg>
1417:  using _Constructible = typename enable_if<
1417:    is_constructible<__weak_ptr<_Tp>, _Arg>::value
1417:  >::type;
1417: 
1417:       template<typename _Arg>
1417:  using _Assignable = typename enable_if<
1417:    is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr&
1417:  >::type;
1417: 
1417:     public:
1417:       constexpr weak_ptr() noexcept = default;
1417: 
1417:       template<typename _Yp,
1417:         typename = _Constructible<const shared_ptr<_Yp>&>>
1417:  weak_ptr(const shared_ptr<_Yp>& __r) noexcept
1417:  : __weak_ptr<_Tp>(__r) { }
1417: 
1417:       weak_ptr(const weak_ptr&) noexcept = default;
1417: 
1417:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1417:  weak_ptr(const weak_ptr<_Yp>& __r) noexcept
1417:  : __weak_ptr<_Tp>(__r) { }
1417: 
1417:       weak_ptr(weak_ptr&&) noexcept = default;
1417: 
1417:       template<typename _Yp, typename = _Constructible<weak_ptr<_Yp>>>
1417:  weak_ptr(weak_ptr<_Yp>&& __r) noexcept
1417:  : __weak_ptr<_Tp>(std::move(__r)) { }
1417: 
1417:       weak_ptr&
1417:       operator=(const weak_ptr& __r) noexcept = default;
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<const weak_ptr<_Yp>&>
1417:  operator=(const weak_ptr<_Yp>& __r) noexcept
1417:  {
1417:    this->__weak_ptr<_Tp>::operator=(__r);
1417:    return *this;
1417:  }
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<const shared_ptr<_Yp>&>
1417:  operator=(const shared_ptr<_Yp>& __r) noexcept
1417:  {
1417:    this->__weak_ptr<_Tp>::operator=(__r);
1417:    return *this;
1417:  }
1417: 
1417:       weak_ptr&
1417:       operator=(weak_ptr&& __r) noexcept = default;
1417: 
1417:       template<typename _Yp>
1417:  _Assignable<weak_ptr<_Yp>>
1417:  operator=(weak_ptr<_Yp>&& __r) noexcept
1417:  {
1417:    this->__weak_ptr<_Tp>::operator=(std::move(__r));
1417:    return *this;
1417:  }
1417: 
1417:       shared_ptr<_Tp>
1417:       lock() const noexcept
1417:       { return shared_ptr<_Tp>(*this, std::nothrow); }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   temlude/c++/12/bits/charconv.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: namespace __detail
1412: {
1412: 
1412:   template<typename _Tp>
1412:     constexpr unsigned
1412:     __to_chars_len(_Tp __value, int __base = 10) noexcept
1412:     {
1412:       static_assert(is_integral<_Tp>::value, "implementation bug");
1412:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1412: 
1412:       unsigned __n = 1;
1412:       const unsigned __b2 = __base * __base;
1412:       const unsigned __b3 = __b2 * __base;
1412:       const unsigned long __b4 = __b3 * __base;
1412:       for (;;)
1412:  {
1412:    if (__value < (unsigned)__base) return __n;
1412:    if (__value < __b2) return __n + 1;
1412:    if (__value < __b3) return __n + 2;
1412:    if (__value < __b4) return __n + 3;
1412:    __value /= __b4;
1412:    __n += 4;
1412:  }
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     void
1412:     __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
1412:     {
1412:       static_assert(is_integral<_Tp>::value, "implementation bug");
1412:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1412: 
1412:       static constexpr char __digits[201] =
1412:  "0001020304050607080910111213141516171819"
1412:  "2021222324252627282930313233343536373839"
1412:  "4041424344454647484950515253545556575859"
1412:  "6061626364656667686970717273747576777879"
1412:  "8081828384858687888990919293949596979899";
1412:       unsigned __pos = __len - 1;
1412:       while (__val >= 100)
1412:  {
1412:    auto const __num = (__val % 100) * 2;
1412:    __val /= 100;
1412:    __first[__pos] = __digits[__num + 1];
1412:    __first[__pos - 1] = __digits[__num];
1412:    __pos -= 2;
1412:  }
1412:       if (__val >= 10)
1412:  {
1412:    auto const __num = __val * 2;
1412:    __first[1] = __digits[__num + 1];
1412:    __first[0] = __digits[__num];
1412:  }
1412:       else
1412:  __first[0] = '0' + __val;
1412:     }
1412: 
1412: }
1412: 
1412: }
1412: # 3962 "/usr/include/c++/12/bits/basic_string.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: namespace __cxx11 {
1412: 
1412: 
1412: 
1412:   inline int
1412:   stoi(const string& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
1412:      __idx, __base); }
1412: 
1412:   inline long
1412:   stol(const string& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412:   inline unsigned long
1412:   stoul(const string& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412:   inline long long
1412:   stoll(const string& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412:   inline unsigned long long
1412:   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412: 
1412:   inline float
1412:   stof(const string& __str, size_t* __idx = 0)
1412:   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
1412: 
1412:   inline double
1412:   stod(const string& __str, size_t* __idx = 0)
1412:   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
1412: 
1412:   inline long double
1412:   stold(const string& __str, size_t* __idx = 0)
1412:   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
1412: 
1412: 
1412: 
1412: 
1412:   inline string
1412:   to_string(int __val)
1412: 
1412:   noexcept
1412: 
1412:   {
1412:     const bool __neg = __val < 0;
1412:     const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
1412:     const plate<typename _Tp>
1417:     inline void
1417:     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
1417:     { __a.swap(__b); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp = void>
1417:     struct owner_less;
1417: 
1417: 
1417:   template<>
1417:     struct owner_less<void> : _Sp_owner_less<void, void>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct owner_less<shared_ptr<_Tp>>
1417:     : public _Sp_owner_less<shared_ptr<_Tp>, weak_ptr<_Tp>>
1417:     { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct owner_less<weak_ptr<_Tp>>
1417:     : public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     class enable_shared_from_this
1417:     {
1417:     protected:
1417:       constexpr enable_shared_from_this() noexcept { }
1417: 
1417:       enable_shared_from_this(const enable_shared_from_this&) noexcept { }
1417: 
1417:       enable_shared_from_this&
1417:       operator=(const enable_shared_from_this&) noexcept
1417:       { return *this; }
1417: 
1417:       ~enable_shared_from_this() { }
1417: 
1417:     public:
1417:       shared_ptr<_Tp>
1417:       shared_from_this()
1417:       { return shared_ptr<_Tp>(this->_M_weak_this); }
1417: 
1417:       shared_ptr<const _Tp>
1417:       shared_from_this() const
1417:       { return shared_ptr<const _Tp>(this->_M_weak_this); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       weak_ptr<_Tp>
1417:       weak_from_this() noexcept
1417:       { return this->_M_weak_this; }
1417: 
1417:       weak_ptr<const _Tp>
1417:       weak_from_this() const noexcept
1417:       { return this->_M_weak_this; }
1417: 
1417: 
1417: 
1417:     private:
1417:       template<typename _Tp1>
1417:  void
1417:  _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
1417:  { _M_weak_this._M_assign(__p, __n); }
1417: 
1417: 
1417:       friend const enable_shared_from_this*
1417:       __enable_shared_from_this_base(const __shared_count<>&,
1417:          const enable_shared_from_this* __p)
1417:       { return __p; }
1417: 
1417:       template<typename, _Lock_policy>
1417:  friend class __shared_ptr;
1417: 
1417:       mutable weak_ptr<_Tp> _M_weak_this;
1417:     };
1417: # 988 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Tp, typename _Alloc, typename... _Args>
1417:     inline shared_ptr<_NonArray<_Tp>>
1417:     allocate_shared(const _Alloc& __a, _Args&&... __args)
1417:     {
1417:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1417:         std::forward<_Args>(__args)...);
1417:     }
1417: # 1003 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Tp, typename... _Args>
1417:     inline shared_ptr<_NonArray<_Tp>>
1417:     make_shared(_Args&&... __args)
1417:     {
1417:       using _Alloc = allocator<void>;
1417:       _Alloc __a;
1417:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1417:         std::forward<_Args>(__args)...);
1417:     }
1417: # 1152 "/usr/include/c++/12/bits/shared_ptr.h" 3
1417:   template<typename _Tp>
1417:     struct hash<shared_ptr<_Tp>>
1417:     : public __hash_base<size_t, shared_ptr<_Tp>>
1417:     {
1417:       size_t
1417:       operator()(const shared_ptr<_Tp>& __s) const noexcept
1417:       {
1417:  return std::hash<typename shared_ptr<_Tp>::element_type*>()(__s.get());
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   namespace __detail::__variant
1417:   {
1417:     template<typename> struct _Never_valueless_alt;
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:       struct _Never_valueless_alt<std::shared_ptr<_Tp>>
1417:       : std::true_type
1417:       { };
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:       struct _Never_valueless_alt<std::weak_ptr<_Tp>>
1417:       : std::true_type
1417:       { };
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: # 78 "/usr/include/c++/12/memory" 2 3
1417: # 1 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 1 3
1417: # 33 "/usr/inclsign(_Hashtable&& __ht, true_type)
609:     {
609:       if (__builtin_expect(std::__addressof(__ht) == this, false))
609:  return;
609: 
609:       this->_M_deallocate_nodes(_M_begin());
609:       _M_deallocate_buckets();
609:       __hashtable_base::operator=(std::move(__ht));
609:       _M_rehash_policy = __ht._M_rehash_policy;
609:       if (!__ht._M_uses_single_bucket())
609:  _M_buckets = __ht._M_buckets;
609:       else
609:  {
609:    _M_buckets = &_M_single_bucket;
609:    _M_single_bucket = __ht._M_single_bucket;
609:  }
609: 
609:       _M_bucket_count = __ht._M_bucket_count;
609:       _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt;
609:       _M_element_count = __ht._M_element_count;
609:       std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator());
609: 
609: 
609:       _M_update_bbegin();
609:       __ht._M_reset();
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_move_assign(_Hashtable&& __ht, false_type)
609:     {
609:       if (__ht._M_node_allocator() == this->_M_node_allocator())
609:  _M_move_assign(std::move(__ht), true_type{});
609:       else
609:  {
609: 
609:    _M_assign_elements(std::move(__ht));
609:    __ht.clear();
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _Hashtable(const _Hashtable& __ht)
609:     : __hashtable_base(__ht),
609:       __map_base(__ht),
609:       __rehash_base(__ht),
609:       __hashtable_alloc(
609:  __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())),
609:       __enable_default_ctor(__ht),
609:       _M_buckets(nullptr),
609:       _M_bucket_count(__ht._M_bucket_count),
609:       _M_element_count(__ht._M_element_count),
609:       _M_rehash_policy(__ht._M_rehash_policy)
609:     {
609:       __alloc_node_gen_t __alloc_node_gen(*this);
609:       _M_assign(__ht, __alloc_node_gen);
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
609:         true_type )
609:     noexcept(_S_nothrow_move())
609:     : __hashtable_base(__ht),
609:       __map_base(__ht),
609:       __rehash_base(__ht),
609:       __hashtable_alloc(std::move(__a)),
609:       __enable_default_ctor(__ht),
609:       _M_buckets(__ht._M_buckets),
609:       _M_bucket_count(__ht._M_bucket_count),
609:       _M_before_begin(__ht._M_before_begin._M_nxt),
609:       _M_element_count(__ht._M_element_count),
609:       _M_rehash_policy(__ht._M_rehash_policy)
609:     {
609: 
609:       if (__ht._M_uses_single_bucket())
609:  {
609:    _M_buckets = &_M_single_bucket;
609:    _M_single_bucket = __ht._M_single_bucket;
609:  }
609: 
609: 
609:       _M_update_bbegin();
609: 
609:       __ht._M_reset();
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _Hashtable(const _Hashtableude/c++/12/bits/shared_ptr_atomic.h" 3
1417: # 1 "/usr/include/c++/12/bits/atomic_base.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/atomic_base.h" 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1417: # 38 "/usr/include/c++/12/bits/atomic_base.h" 2 3
1417: # 48 "/usr/include/c++/12/bits/atomic_base.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 78 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:   typedef enum memory_order
1417:     {
1417:       memory_order_relaxed,
1417:       memory_order_consume,
1417:       memory_order_acquire,
1417:       memory_order_release,
1417:       memory_order_acq_rel,
1417:       memory_order_seq_cst
1417:     } memory_order;
1417: 
1417: 
1417:   enum __memory_order_modifier
1417:     {
1417:       __memory_order_mask = 0x0ffff,
1417:       __memory_order_modifier_mask = 0xffff0000,
1417:       __memory_order_hle_acquire = 0x10000,
1417:       __memory_order_hle_release = 0x20000
1417:     };
1417: 
1417:   constexpr memory_order
1417:   operator|(memory_order __m, __memory_order_modifier __mod)
1417:   {
1417:     return memory_order(int(__m) | int(__mod));
1417:   }
1417: 
1417:   constexpr memory_order
1417:   operator&(memory_order __m, __memory_order_modifier __mod)
1417:   {
1417:     return memory_order(int(__m) & int(__mod));
1417:   }
1417: 
1417: 
1417:   constexpr memory_order
1417:   __cmpexch_failure_order2(memory_order __m) noexcept
1417:   {
1417:     return __m == memory_order_acq_rel ? memory_order_acquire
1417:       : __m == memory_order_release ? memory_order_relaxed : __m;
1417:   }
1417: 
1417:   constexpr memory_order
1417:   __cmpexch_failure_order(memory_order __m) noexcept
1417:   {
1417:     return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask)
1417:       | __memory_order_modifier(__m & __memory_order_modifier_mask));
1417:   }
1417: 
1417:   constexpr bool
1417:   __is_valid_cmpexch_failure_order(memory_order __m) noexcept
1417:   {
1417:     return (__m & __memory_order_mask) != memory_order_release
1417:  && (__m & __memory_order_mask) != memory_order_acq_rel;
1417:   }
1417: 
1417:   inline __attribute__((__always_inline__)) void
1417:   atomic_thread_fence(memory_order __m) noexcept
1417:   { __atomic_thread_fence(int(__m)); }
1417: 
1417:   inline __attribute__((__always_inline__)) void
1417:   atomic_signal_fence(memory_order __m) noexcept
1417:   { __atomic_signal_fence(int(__m)); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline _Tp
1417:     kill_dependency(_Tp __y) noexcept
1417:     {
1417:       _Tp __ret(__y);
1417:       return __ret;
1417:     }
1417: 
1417: 
1417:   template<typename _IntTp>
1417:     struct __atomic_base;
1417: # 161 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:   template<typename _Tp>
1417:     struct atomic;
1417: 
1417:   template<typename _Tp>
1417:     struct atomic<_Tp*>;
1417: 
1417: 
1417: 
1417:     typedef bool __atomic_flag_data_type;
1417: # 184 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:   extern "C" {
1417: 
1417:   struct __atomic_flag_base
1417:   {
1417:     __atomic_flag_data_type _M_i ;
1417:   };
1417: 
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   struct atomic_flag : public __atomic_flag_base
1417:   {
1417:     atomic_flag() noexcept = default;
1417:     ~atomic_flag() noexcept = default;
1417:     atomic_flag(const atomic_flag&) = delete;
1417:     atomic_flag& operator=(const atomic_flag&) = delete;
1417:     atomic_flag& operator=(const atomic_flag&) volatile = delete;
1417: 
1417: 
1417:     constexpr atomic_flag(bool __i) noexcept
1417:       : __atomic_flag_base{ _S_init(__i) }
1417:     { }
1417: 
1417:     inline __attribute__((__always_inline__)) bool
1417:     test_and_set(memory_order __m = memory_order_seq_cst) noexcept
1417:     {
1417:       return __atauto __len = __detail::__to_chars_len(__uval);
1412:     string __str(__neg + __len, '-');
1412:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1412:     return __str;
1412:   }
1412: 
1412:   inline string
1412:   to_string(unsigned __val)
1412: 
1412:   noexcept
1412: 
1412:   {
1412:     string __str(__detail::__to_chars_len(__val), '\0');
1412:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1412:     return __str;
1412:   }
1412: 
1412:   inline string
1412:   to_string(long __val)
1412: 
1412:   noexcept
1412: 
1412:   {
1412:     const bool __neg = __val < 0;
1412:     const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
1412:     const auto __len = __detail::__to_chars_len(__uval);
1412:     string __str(__neg + __len, '-');
1412:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1412:     return __str;
1412:   }
1412: 
1412:   inline string
1412:   to_string(unsigned long __val)
1412: 
1412:   noexcept
1412: 
1412:   {
1412:     string __str(__detail::__to_chars_len(__val), '\0');
1412:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1412:     return __str;
1412:   }
1412: 
1412:   inline string
1412:   to_string(long long __val)
1412:   {
1412:     const bool __neg = __val < 0;
1412:     const unsigned long long __uval
1412:       = __neg ? (unsigned long long)~__val + 1ull : __val;
1412:     const auto __len = __detail::__to_chars_len(__uval);
1412:     string __str(__neg + __len, '-');
1412:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1412:     return __str;
1412:   }
1412: 
1412:   inline string
1412:   to_string(unsigned long long __val)
1412:   {
1412:     string __str(__detail::__to_chars_len(__val), '\0');
1412:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1412:     return __str;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412:   inline string
1412:   to_string(float __val)
1412:   {
1412:     const int __n =
1412:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1412:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1412:         "%f", __val);
1412:   }
1412: 
1412:   inline string
1412:   to_string(double __val)
1412:   {
1412:     const int __n =
1412:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1412:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1412:         "%f", __val);
1412:   }
1412: 
1412:   inline string
1412:   to_string(long double __val)
1412:   {
1412:     const int __n =
1412:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1412:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1412:         "%Lf", __val);
1412:   }
1412: 
1412: 
1412: 
1412:   inline int
1412:   stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
1412:      __idx, __base); }
1412: 
1412:   inline long
1412:   stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412:   inline unsigned long
1412:   stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412:   inline long long
1412:   stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412:   inline unsigned long long
1412:   stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
1412:   { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
1412:         __idx, __base); }
1412: 
1412: 
1412:   inline float
1412:   stof(const wstring& __str, size_t* __idx = 0)
1412:   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
1412: 
1412:   inline double
1412:   stod(const wstring& __str, size_t* __idx = 0)
1412:   { return __gnu_cxx::__stoa(&std::w& __ht, const allocator_type& __a)
609:     : __hashtable_base(__ht),
609:       __map_base(__ht),
609:       __rehash_base(__ht),
609:       __hashtable_alloc(__node_alloc_type(__a)),
609:       __enable_default_ctor(__ht),
609:       _M_buckets(),
609:       _M_bucket_count(__ht._M_bucket_count),
609:       _M_element_count(__ht._M_element_count),
609:       _M_rehash_policy(__ht._M_rehash_policy)
609:     {
609:       __alloc_node_gen_t __alloc_node_gen(*this);
609:       _M_assign(__ht, __alloc_node_gen);
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
609:         false_type )
609:     : __hashtable_base(__ht),
609:       __map_base(__ht),
609:       __rehash_base(__ht),
609:       __hashtable_alloc(std::move(__a)),
609:       __enable_default_ctor(__ht),
609:       _M_buckets(nullptr),
609:       _M_bucket_count(__ht._M_bucket_count),
609:       _M_element_count(__ht._M_element_count),
609:       _M_rehash_policy(__ht._M_rehash_policy)
609:     {
609:       if (__ht._M_node_allocator() == this->_M_node_allocator())
609:  {
609:    if (__ht._M_uses_single_bucket())
609:      {
609:        _M_buckets = &_M_single_bucket;
609:        _M_single_bucket = __ht._M_single_bucket;
609:      }
609:    else
609:      _M_buckets = __ht._M_buckets;
609: 
609: 
609: 
609:    _M_update_bbegin(__ht._M_begin());
609: 
609:    __ht._M_reset();
609:  }
609:       else
609:  {
609:    __alloc_node_gen_t __alloc_gen(*this);
609: 
609:    using _Fwd_Ht = __conditional_t<
609:      __move_if_noexcept_cond<value_type>::value,
609:      const _Hashtable&, _Hashtable&&>;
609:    _M_assign(std::forward<_Fwd_Ht>(__ht), __alloc_gen);
609:    __ht.clear();
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     ~_Hashtable() noexcept
609:     {
609: 
609: 
609: 
609:       static_assert(noexcept(declval<const __hash_code_base_access&>()
609:    ._M_bucket_index(declval<const __node_value_type&>(),
609:       (std::size_t)0)),
609:       "Cache the hash code or qualify your functors involved"
609:       " in hash code and bucket index computation with noexcept");
609: 
609:       clear();
609:       _M_deallocate_buckets();
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     swap(_Hashtable& __x)
609:     noexcept(__and_<__is_nothrow_swappable<_Hash>,
609:    __is_nothrow_swappable<_Equal>>::value)
609:     {
609: 
609: 
609: 
609:       this->_M_swap(__x);
609: 
609:       std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator());
609:       std::swap(_M_rehash_policy, __x._M_rehash_policy);
609: 
609: 
609:       if (this->_M_uses_single_bucket())
609:  {
609:    if (!__x._M_uses_single_bucket())
609:      {
609:        _M_buckets = __x._M_buckets;
609:        __x._M_buckets = &__x._M_single_bucket;
609:      }
609:  }
609:       else if (__x._M_uses_single_bucket())
609:  {
609:    __x._M_buckets = _M_buckets;
609:    _M_buckets = &_M_single_bucket;
609:  }
609:       else
609:  std::swap(_M_buckets, __x._M_buckets);
609: 
609:       std::swap(_M_bucket_count, __x._M_bucket_comic_test_and_set (&_M_i, int(__m));
1417:     }
1417: 
1417:     inline __attribute__((__always_inline__)) bool
1417:     test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept
1417:     {
1417:       return __atomic_test_and_set (&_M_i, int(__m));
1417:     }
1417: # 268 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:     inline __attribute__((__always_inline__)) void
1417:     clear(memory_order __m = memory_order_seq_cst) noexcept
1417:     {
1417:       memory_order __b __attribute__ ((__unused__))
1417:  = __m & __memory_order_mask;
1417:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1417:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1417:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417: 
1417:       __atomic_clear (&_M_i, int(__m));
1417:     }
1417: 
1417:     inline __attribute__((__always_inline__)) void
1417:     clear(memory_order __m = memory_order_seq_cst) volatile noexcept
1417:     {
1417:       memory_order __b __attribute__ ((__unused__))
1417:  = __m & __memory_order_mask;
1417:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1417:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1417:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417: 
1417:       __atomic_clear (&_M_i, int(__m));
1417:     }
1417: 
1417:   private:
1417:     static constexpr __atomic_flag_data_type
1417:     _S_init(bool __i)
1417:     { return __i ? 1 : 0; }
1417:   };
1417: # 323 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:   template<typename _ITp>
1417:     struct __atomic_base
1417:     {
1417:       using value_type = _ITp;
1417:       using difference_type = value_type;
1417: 
1417:     private:
1417:       typedef _ITp __int_type;
1417: 
1417:       static constexpr int _S_alignment =
1417:  sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp);
1417: 
1417:       alignas(_S_alignment) __int_type _M_i ;
1417: 
1417:     public:
1417:       __atomic_base() noexcept = default;
1417:       ~__atomic_base() noexcept = default;
1417:       __atomic_base(const __atomic_base&) = delete;
1417:       __atomic_base& operator=(const __atomic_base&) = delete;
1417:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1417: 
1417: 
1417:       constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { }
1417: 
1417:       operator __int_type() const noexcept
1417:       { return load(); }
1417: 
1417:       operator __int_type() const volatile noexcept
1417:       { return load(); }
1417: 
1417:       __int_type
1417:       operator=(__int_type __i) noexcept
1417:       {
1417:  store(__i);
1417:  return __i;
1417:       }
1417: 
1417:       __int_type
1417:       operator=(__int_type __i) volatile noexcept
1417:       {
1417:  store(__i);
1417:  return __i;
1417:       }
1417: 
1417:       __int_type
1417:       operator++(int) noexcept
1417:       { return fetch_add(1); }
1417: 
1417:       __int_type
1417:       operator++(int) volatile noexcept
1417:       { return fetch_add(1); }
1417: 
1417:       __int_type
1417:       operator--(int) noexcept
1417:       { return fetch_sub(1); }
1417: 
1417:       __int_type
1417:       operator--(int) volatile noexcept
1417:       { return fetch_sub(1); }
1417: 
1417:       __int_type
1417:       operator++() noexcept
1417:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator++() volatile noexcept
1417:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator--() noexcept
1417:       { return __atomic_sub_fetch(&_M_i, 1, int(memorycstod, "stod", __str.c_str(), __idx); }
1412: 
1412:   inline long double
1412:   stold(const wstring& __str, size_t* __idx = 0)
1412:   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
1412: 
1412: 
1412: 
1412:   inline wstring
1412:   to_wstring(int __val)
1412:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int),
1412:          L"%d", __val); }
1412: 
1412:   inline wstring
1412:   to_wstring(unsigned __val)
1412:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1412:          4 * sizeof(unsigned),
1412:          L"%u", __val); }
1412: 
1412:   inline wstring
1412:   to_wstring(long __val)
1412:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long),
1412:          L"%ld", __val); }
1412: 
1412:   inline wstring
1412:   to_wstring(unsigned long __val)
1412:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1412:          4 * sizeof(unsigned long),
1412:          L"%lu", __val); }
1412: 
1412:   inline wstring
1412:   to_wstring(long long __val)
1412:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1412:          4 * sizeof(long long),
1412:          L"%lld", __val); }
1412: 
1412:   inline wstring
1412:   to_wstring(unsigned long long __val)
1412:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1412:          4 * sizeof(unsigned long long),
1412:          L"%llu", __val); }
1412: 
1412:   inline wstring
1412:   to_wstring(float __val)
1412:   {
1412:     const int __n =
1412:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1412:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1412:          L"%f", __val);
1412:   }
1412: 
1412:   inline wstring
1412:   to_wstring(double __val)
1412:   {
1412:     const int __n =
1412:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1412:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1412:          L"%f", __val);
1412:   }
1412: 
1412:   inline wstring
1412:   to_wstring(long double __val)
1412:   {
1412:     const int __n =
1412:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1412:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1412:          L"%Lf", __val);
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct hash<string>
1412:     : public __hash_base<size_t, string>
1412:     {
1412:       size_t
1412:       operator()(const string& __s) const noexcept
1412:       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<string>> : std::false_type
1412:     { };
1412: 
1412: 
1412:   template<>
1412:     struct hash<wstring>
1412:     : public __hash_base<size_t, wstring>
1412:     {
1412:       size_t
1412:       operator()(const wstring& __s) const noexcept
1412:       { return std::_Hash_impl::hash(__s.data(),
1412:                                      __s.length() * sizeof(wchar_t)); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<wstring>> : std::false_type
1412:     { };
1412: # 4281 "/usr/include/c++/12/bits/basic_string.h" 3
1412:   template<>
1412:     struct hash<u16string>
1412:     : public __hash_base<size_t, u16string>
1412:     {
1412:       size_t
1412:       operator()(const u16string& __s) const noexcept
1412:       { return std::_Hash_impl::hash(__s.data(),
1412:                                      __s.length() * sizeof(char16_t)); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<u16string>> : std::false_type
1412:     { };
1412: 
1412: 
1412:   template<>
1412:     struct hash<u32string>
1412:     : public __hash_base<size_t, u32string>
1412:     {
1412:       size_t
1412:       operator()(const u32string& __s) const noexcept
1412:       { return std::_Hash_impl::hash(__s.data(),
1412:        _order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator--() volatile noexcept
1417:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator+=(__int_type __i) noexcept
1417:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator+=(__int_type __i) volatile noexcept
1417:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator-=(__int_type __i) noexcept
1417:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator-=(__int_type __i) volatile noexcept
1417:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator&=(__int_type __i) noexcept
1417:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator&=(__int_type __i) volatile noexcept
1417:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator|=(__int_type __i) noexcept
1417:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator|=(__int_type __i) volatile noexcept
1417:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator^=(__int_type __i) noexcept
1417:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       __int_type
1417:       operator^=(__int_type __i) volatile noexcept
1417:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1417: 
1417:       bool
1417:       is_lock_free() const noexcept
1417:       {
1417: 
1417:  return __atomic_is_lock_free(sizeof(_M_i),
1417:      reinterpret_cast<void *>(-_S_alignment));
1417:       }
1417: 
1417:       bool
1417:       is_lock_free() const volatile noexcept
1417:       {
1417: 
1417:  return __atomic_is_lock_free(sizeof(_M_i),
1417:      reinterpret_cast<void *>(-_S_alignment));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) void
1417:       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1417: 
1417:  __atomic_store_n(&_M_i, __i, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) void
1417:       store(__int_type __i,
1417:      memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1417: 
1417:  __atomic_store_n(&_M_i, __i, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       load(memory_order __m = memory_order_seq_cst) const noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !ount);
609:       std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_nxt);
609:       std::swap(_M_element_count, __x._M_element_count);
609:       std::swap(_M_single_bucket, __x._M_single_bucket);
609: 
609: 
609: 
609:       _M_update_bbegin();
609:       __x._M_update_bbegin();
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     find(const key_type& __k)
609:     -> iterator
609:     {
609:       if (size() <= __small_size_threshold())
609:  {
609:    for (auto __it = begin(); __it != end(); ++__it)
609:      if (this->_M_key_equals(__k, *__it._M_cur))
609:        return __it;
609:    return end();
609:  }
609: 
609:       __hash_code __code = this->_M_hash_code(__k);
609:       std::size_t __bkt = _M_bucket_index(__code);
609:       return iterator(_M_find_node(__bkt, __k, __code));
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     find(const key_type& __k) const
609:     -> const_iterator
609:     {
609:       if (size() <= __small_size_threshold())
609:  {
609:    for (auto __it = begin(); __it != end(); ++__it)
609:      if (this->_M_key_equals(__k, *__it._M_cur))
609:        return __it;
609:    return end();
609:  }
609: 
609:       __hash_code __code = this->_M_hash_code(__k);
609:       std::size_t __bkt = _M_bucket_index(__code);
609:       return const_iterator(_M_find_node(__bkt, __k, __code));
609:     }
609: # 1715 "/usr/include/c++/12/bits/hashtable.h" 3
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     count(const key_type& __k) const
609:     -> size_type
609:     {
609:       auto __it = find(__k);
609:       if (!__it._M_cur)
609:  return 0;
609: 
609:       if (__unique_keys::value)
609:  return 1;
609: 
609: 
609: 
609: 
609:       size_type __result = 1;
609:       for (auto __ref = __it++;
609:     __it._M_cur && this->_M_node_equals(*__ref._M_cur, *__it._M_cur);
609:     ++__it)
609:  ++__result;
609: 
609:       return __result;
609:     }
609: # 1776 "/usr/include/c++/12/bits/hashtable.h" 3
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     equal_range(const key_type& __k)
609:     -> pair<iterator, iterator>
609:     {
609:       auto __ite = find(__k);
609:       if (!__ite._M_cur)
609:  return { __ite, __ite };
609: 
609:       auto __beg = __ite++;
609:       if (__unique_keys::value)
609:  return { __beg, __ite };
609: 
609: 
609: 
609: 
609:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
609:  ++__ite;
609: 
609:       return { __beg, __ite };
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_load_n(&_M_i, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_load_n(&_M_i, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       exchange(__int_type __i,
1417:         memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1417:       }
1417: 
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       exchange(__int_type __i,
1417:         memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1417:        memory_order __m1, memory_order __m2) noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1417:         int(__m1), int(__m2));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1417:        memory_order __m1,
1417:        memory_order __m2) volatile noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1417:         int(__m1), int(__m2));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1417:        memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  return compare_exchange_weak(__i1, __i2, __m,
1417:          __cmpexch_failure_order(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1417:      memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  return compare_exchange_weak(__i1, __i2, __m,
1417:          __cmpexch_failure_order(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1417:          memory_order __m1, memory_order __m2) noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
1417:         int(__m1), int(__m2));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1417:          memory_order __m1,
1417:          memory_order __m2) volatile noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
1417:         int(__m1), int(__m2));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1417:          memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  return compare_e                              __s.length() * sizeof(char32_t)); }
1412:     };
1412: 
1412:   template<>
1412:     struct __is_fast_hash<hash<u32string>> : std::false_type
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline namespace literals
1412:   {
1412:   inline namespace string_literals
1412:   {
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     inline basic_string<char>
1412:     operator""s(const char* __str, size_t __len)
1412:     { return basic_string<char>{__str, __len}; }
1412: 
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     inline basic_string<wchar_t>
1412:     operator""s(const wchar_t* __str, size_t __len)
1412:     { return basic_string<wchar_t>{__str, __len}; }
1412: # 4344 "/usr/include/c++/12/bits/basic_string.h" 3
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     inline basic_string<char16_t>
1412:     operator""s(const char16_t* __str, size_t __len)
1412:     { return basic_string<char16_t>{__str, __len}; }
1412: 
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     inline basic_string<char32_t>
1412:     operator""s(const char32_t* __str, size_t __len)
1412:     { return basic_string<char32_t>{__str, __len}; }
1412: 
1412: 
1412: #pragma GCC diagnostic pop
1412:   }
1412:   }
1412: 
1412: 
1412:   namespace __detail::__variant
1412:   {
1412:     template<typename> struct _Never_valueless_alt;
1412: 
1412: 
1412: 
1412:     template<typename _Tp, typename _Traits, typename _Alloc>
1412:       struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
1412:       : __and_<
1412:  is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
1412:  is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
1412:  >::type
1412:       { };
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 54 "/usr/include/c++/12/string" 2 3
1412: # 1 "/usr/include/c++/12/bits/basic_string.tcc" 1 3
1412: # 42 "/usr/include/c++/12/bits/basic_string.tcc" 3
1412:        
1412: # 43 "/usr/include/c++/12/bits/basic_string.tcc" 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::npos;
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     swap(basic_string& __s) noexcept
1412:     {
1412:       if (this == std::__addressof(__s))
1412:  return;
1412: 
1412:       _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
1412: 
1412:       if (_M_is_local())
1412:  if (__s._M_is_local())
1412:    {
1412:      if (length() && __s.length())
1412:        {
1412:   _CharT __tmp_data[_S_local_capacity + 1];
1412:   traits_type::copy(__tmp_data, __s._M_local_buf,
1412:       __s.length() + 1);
1412:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1412:       length() + 1);
1412:   traits_type::copy(_M_local_buf, __tmp_data,
1412:       __s.length() + 1);
1412:        }
1412:      else if (__s.length())
1412:        {
1412:   traits_type::copy(_M_local_buf, __s._M_local_buf,
1412:       __s.length() + 1);
1412:   _M_length(__s.length());
1412:   __s._M_set_length(0);
1412:   return;
1412:        }
1412:      else if (length())
1412:        {
1412:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1412:       length() + 1);
1412:   __s._M_length(length());
1412:   _M_set_length(0);
1412:   return;
1412:        }
1412:    }
1412:  else
1412:    {
1412:      const size_type __tmp_capacity = __s._M_allocated_capacity;
1412:      traits_type::copy(__s._M_local_buf, _M_local_buf,
1412:          length() + 1);
1412:      _M_data(__s._M_data());
1412:      __s._M_data(__s._M_local_buf);
1412:      _M_capacity(__tmp_capacity);
1412:    }
1412:     xchange_strong(__i1, __i2, __m,
1417:            __cmpexch_failure_order(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1417:    memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  return compare_exchange_strong(__i1, __i2, __m,
1417:            __cmpexch_failure_order(__m));
1417:       }
1417: # 615 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_add(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_add(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_sub(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_sub(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_and(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_and(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_or(__int_type __i,
1417:         memory_order __m = memory_order_seq_cst) noexcept
1417:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_or(__int_type __i,
1417:         memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_xor(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __int_type
1417:       fetch_xor(__int_type __i,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _PTp>
1417:     struct __atomic_base<_PTp*>
1417:     {
1417:     private:
1417:       typedef _PTp* __pointer_type;
1417: 
1417:       __pointer_type _M_p ;
1417: 
1417: 
1417:       constexpr ptrdiff_t
1417:       _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
1417: 
1417:       constexpr ptrdiff_t
1417:       _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); }
1417: 
1417:     public:
1417:       __atomic_base() noexcept = default;
1417:       ~__atomic_base() noexcept = default;
1417:       __atomic_base(const __atomic_base&) = delete;
1417:       __atomic_base& operator=(const __atomic_base&) = delete;
1417:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1417: 
1417: 
1417:       constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { }
1417: 
1417:       operator __pointer_type() const noexcept
1417:       { return load(); }
1417: 
1417:       operator __pointer_type() const volatile noexcept
1417:       { return load(); }
1417: 
1417:       __pointer_type
1417:       operator=(__pointer_type __p) noexcept
1417:       {
1417:  store(__p);
1417:  return __p;
1417:       }
1417Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     equal_range(const key_type& __k) const
609:     -> pair<const_iterator, const_iterator>
609:     {
609:       auto __ite = find(__k);
609:       if (!__ite._M_cur)
609:  return { __ite, __ite };
609: 
609:       auto __beg = __ite++;
609:       if (__unique_keys::value)
609:  return { __beg, __ite };
609: 
609: 
609: 
609: 
609:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
609:  ++__ite;
609: 
609:       return { __beg, __ite };
609:     }
609: # 1890 "/usr/include/c++/12/bits/hashtable.h" 3
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_find_before_node(const key_type& __k)
609:     -> __node_base_ptr
609:     {
609:       __node_base_ptr __prev_p = &_M_before_begin;
609:       if (!__prev_p->_M_nxt)
609:  return nullptr;
609: 
609:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);
609:     __p != nullptr;
609:     __p = __p->_M_next())
609:  {
609:    if (this->_M_key_equals(__k, *__p))
609:      return __prev_p;
609: 
609:    __prev_p = __p;
609:  }
609: 
609:       return nullptr;
609:     }
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_find_before_node(size_type __bkt, const key_type& __k,
609:    __hash_code __code) const
609:     -> __node_base_ptr
609:     {
609:       __node_base_ptr __prev_p = _M_buckets[__bkt];
609:       if (!__prev_p)
609:  return nullptr;
609: 
609:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
609:     __p = __p->_M_next())
609:  {
609:    if (this->_M_equals(__k, __code, *__p))
609:      return __prev_p;
609: 
609:    if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
609:      break;
609:    __prev_p = __p;
609:  }
609: 
609:       return nullptr;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _Kt>
609:       auto
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _M_find_before_node_tr(size_type __bkt, const _Kt& __k,
609:         __hash_code __code) const
609:       -> __node_base_ptr
609:       {
609:  __node_base_ptr __prev_p = _M_buckets[__bkt];
609:  if (!__prev_p)
609:    return nullptr;
609: 
609:  for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
609:       __p = __p->_M_next())
609:    {
609:      if (this->_M_equals_tr(__k, __code, *__p))
609:        return __prev_p;
609: 
609:      if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
609:        break;
609:      __prev_p = __p;
609:    }
609: 
609:  return nullptr;
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_insert_bucket_begin(size_type __bkt, __node_ptr __node)
609:     {
609:       if (_M_buckets[__bkt])
609:  {
609: 
609: 
609:    __node->_M_nxt = _M: 
1417:       __pointer_type
1417:       operator=(__pointer_type __p) volatile noexcept
1417:       {
1417:  store(__p);
1417:  return __p;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator++(int) noexcept
1417:       { return fetch_add(1); }
1417: 
1417:       __pointer_type
1417:       operator++(int) volatile noexcept
1417:       { return fetch_add(1); }
1417: 
1417:       __pointer_type
1417:       operator--(int) noexcept
1417:       { return fetch_sub(1); }
1417: 
1417:       __pointer_type
1417:       operator--(int) volatile noexcept
1417:       { return fetch_sub(1); }
1417: 
1417:       __pointer_type
1417:       operator++() noexcept
1417:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       __pointer_type
1417:       operator++() volatile noexcept
1417:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       __pointer_type
1417:       operator--() noexcept
1417:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       __pointer_type
1417:       operator--() volatile noexcept
1417:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       __pointer_type
1417:       operator+=(ptrdiff_t __d) noexcept
1417:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       __pointer_type
1417:       operator+=(ptrdiff_t __d) volatile noexcept
1417:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       __pointer_type
1417:       operator-=(ptrdiff_t __d) noexcept
1417:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       __pointer_type
1417:       operator-=(ptrdiff_t __d) volatile noexcept
1417:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1417:       int(memory_order_seq_cst)); }
1417: 
1417:       bool
1417:       is_lock_free() const noexcept
1417:       {
1417: 
1417:  return __atomic_is_lock_free(sizeof(_M_p),
1417:      reinterpret_cast<void *>(-__alignof(_M_p)));
1417:       }
1417: 
1417:       bool
1417:       is_lock_free() const volatile noexcept
1417:       {
1417: 
1417:  return __atomic_is_lock_free(sizeof(_M_p),
1417:      reinterpret_cast<void *>(-__alignof(_M_p)));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) void
1417:       store(__pointer_type __p,
1417:      memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417: 
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1417: 
1417:  __atomic_store_n(&_M_p, __p, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) void
1417:       store(__pointer_type __p,
1417:      memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1417: 
1417:  __atomic_store_n(&_M_p, __p, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       load(memory_order __m = memory_  else
1412:  {
1412:    const size_type __tmp_capacity = _M_allocated_capacity;
1412:    if (__s._M_is_local())
1412:      {
1412:        traits_type::copy(_M_local_buf, __s._M_local_buf,
1412:     __s.length() + 1);
1412:        __s._M_data(_M_data());
1412:        _M_data(_M_local_buf);
1412:      }
1412:    else
1412:      {
1412:        pointer __tmp_ptr = _M_data();
1412:        _M_data(__s._M_data());
1412:        __s._M_data(__tmp_ptr);
1412:        _M_capacity(__s._M_allocated_capacity);
1412:      }
1412:    __s._M_capacity(__tmp_capacity);
1412:  }
1412: 
1412:       const size_type __tmp_length = length();
1412:       _M_length(__s.length());
1412:       __s._M_length(__tmp_length);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::pointer
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_create(size_type& __capacity, size_type __old_capacity)
1412:     {
1412: 
1412: 
1412:       if (__capacity > max_size())
1412:  std::__throw_length_error(("basic_string::_M_create"));
1412: 
1412: 
1412: 
1412: 
1412:       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
1412:  {
1412:    __capacity = 2 * __old_capacity;
1412: 
1412:    if (__capacity > max_size())
1412:      __capacity = max_size();
1412:  }
1412: 
1412: 
1412: 
1412:       return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     template<typename _InIterator>
1412:      
1412:       void
1412:       basic_string<_CharT, _Traits, _Alloc>::
1412:       _M_construct(_InIterator __beg, _InIterator __end,
1412:      std::input_iterator_tag)
1412:       {
1412:  size_type __len = 0;
1412:  size_type __capacity = size_type(_S_local_capacity);
1412: 
1412:  pointer __p = _M_use_local_data();
1412: 
1412:  while (__beg != __end && __len < __capacity)
1412:    {
1412:      __p[__len++] = *__beg;
1412:      ++__beg;
1412:    }
1412: 
1412:  struct _Guard
1412:  {
1412:   
1412:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1412: 
1412:   
1412:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1412: 
1412:    basic_string* _M_guarded;
1412:  } __guard(this);
1412: 
1412:  while (__beg != __end)
1412:    {
1412:      if (__len == __capacity)
1412:        {
1412: 
1412:   __capacity = __len + 1;
1412:   pointer __another = _M_create(__capacity, __len);
1412:   this->_S_copy(__another, _M_data(), __len);
1412:   _M_dispose();
1412:   _M_data(__another);
1412:   _M_capacity(__capacity);
1412:        }
1412:      traits_type::assign(_M_data()[__len++], *__beg);
1412:      ++__beg;
1412:    }
1412: 
1412:  __guard._M_guarded = 0;
1412: 
1412:  _M_set_length(__len);
1412:       }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     template<typename _InIterator>
1412:      
1412:       void
1412:       basic_string<_CharT, _Traits, _Alloc>::
1412:       _M_construct(_InIterator __beg, _InIterator __end,
1412:      std::forward_iterator_tag)
1412:       {
1412:  size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
1412: 
1412:  if (__dnew > size_type(_S_local_capacity))
1412:    {
1412:      _M_data(_M_create(__dnew, size_type(0)));
1412:      _M_capacity(__dnew);
1412:    }
1412:  else
1412:    _M_use_local_data();
1412: 
1412: 
1412:  struct _Guard
1412:  {
1412:   
1412:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1412: 
1412:   
1412:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1412: 
1412:    basic_string* _M_guarded;
1412:  } __guard(this);
1412: 
1412:  this->_S_copy_chars(_M_data(), __beg, __end);
1412: 
1412:  __guard._M_guarded = 0;
1412: 
1412:  _M_set_length(__dnew);
1412:       }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_construct(size_type __n, _CharT __c)
1412:   order_seq_cst) const noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_load_n(&_M_p, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1417:       {
1417:  memory_order __b __attribute__ ((__unused__))
1417:    = __m & __memory_order_mask;
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_load_n(&_M_p, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       exchange(__pointer_type __p,
1417:         memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1417:       }
1417: 
1417: 
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       exchange(__pointer_type __p,
1417:         memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1417:        memory_order __m1,
1417:        memory_order __m2) noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1417:         int(__m1), int(__m2));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1417:        memory_order __m1,
1417:        memory_order __m2) volatile noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1417:         int(__m1), int(__m2));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1417:          memory_order __m1,
1417:          memory_order __m2) noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1417:         int(__m1), int(__m2));
1417:       }
1417: 
1417:       inline __attribute__((__always_inline__)) bool
1417:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1417:          memory_order __m1,
1417:          memory_order __m2) volatile noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1417:         int(__m1), int(__m2));
1417:       }
1417: # 918 "/usr/include/c++/12/bits/atomic_base.h" 3
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       fetch_add(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       fetch_add(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return __a_buckets[__bkt]->_M_nxt;
609:    _M_buckets[__bkt]->_M_nxt = __node;
609:  }
609:       else
609:  {
609: 
609: 
609: 
609:    __node->_M_nxt = _M_before_begin._M_nxt;
609:    _M_before_begin._M_nxt = __node;
609: 
609:    if (__node->_M_nxt)
609: 
609: 
609:      _M_buckets[_M_bucket_index(*__node->_M_next())] = __node;
609: 
609:    _M_buckets[__bkt] = &_M_before_begin;
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_remove_bucket_begin(size_type __bkt, __node_ptr __next,
609:       size_type __next_bkt)
609:     {
609:       if (!__next || __next_bkt != __bkt)
609:  {
609: 
609: 
609:    if (__next)
609:      _M_buckets[__next_bkt] = _M_buckets[__bkt];
609: 
609: 
609:    if (&_M_before_begin == _M_buckets[__bkt])
609:      _M_before_begin._M_nxt = __next;
609:    _M_buckets[__bkt] = nullptr;
609:  }
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_get_previous_node(size_type __bkt, __node_ptr __n)
609:     -> __node_base_ptr
609:     {
609:       __node_base_ptr __prev_n = _M_buckets[__bkt];
609:       while (__prev_n->_M_nxt != __n)
609:  __prev_n = __prev_n->_M_nxt;
609:       return __prev_n;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename... _Args>
609:       auto
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _M_emplace(true_type , _Args&&... __args)
609:       -> pair<iterator, bool>
609:       {
609: 
609:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
609:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
609:  if (size() <= __small_size_threshold())
609:    {
609:      for (auto __it = begin(); __it != end(); ++__it)
609:        if (this->_M_key_equals(__k, *__it._M_cur))
609: 
609:   return { __it, false };
609:    }
609: 
609:  __hash_code __code = this->_M_hash_code(__k);
609:  size_type __bkt = _M_bucket_index(__code);
609:  if (size() > __small_size_threshold())
609:    if (__node_ptr __p = _M_find_node(__bkt, __k, __code))
609: 
609:      return { iterator(__p), false };
609: 
609: 
609:  auto __pos = _M_insert_unique_node(__bkt, __code, __node._M_node);
609:  __node._M_node = nullptr;
609:  return { __pos, true };
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename... _Args>
609:       auto
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _M_emplace(const_iterator __hint, false_type ,
609:    _Args&&... __args)
609:       -> iterator
609:       {
609: 
609:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
609:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
609: 
609:  auto __res = this->_M_compute_hash_code(__hint, __k);
609:  auto __pos
609:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
609:      __node._M_node);
609:  __node._M_node = nullptr;
609:  return __pos;
609:       }
609: 
609:   template<typename _Key, typetomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       fetch_sub(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1417: 
1417:       inline __attribute__((__always_inline__)) __pointer_type
1417:       fetch_sub(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1417:     };
1417: # 1943 "/usr/include/c++/12/bits/atomic_base.h" 3
1417: 
1417: }
1417: # 34 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 47 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1417:   struct _Sp_locker
1417:   {
1417:     _Sp_locker(const _Sp_locker&) = delete;
1417:     _Sp_locker& operator=(const _Sp_locker&) = delete;
1417: 
1417: 
1417:     explicit
1417:     _Sp_locker(const void*) noexcept;
1417:     _Sp_locker(const void*, const void*) noexcept;
1417:     ~_Sp_locker();
1417: 
1417:   private:
1417:     unsigned char _M_key1;
1417:     unsigned char _M_key2;
1417: 
1417: 
1417: 
1417:   };
1417: # 74 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p)
1417:     {
1417: 
1417:       return __gthread_active_p() == 0;
1417: 
1417: 
1417: 
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline bool
1417:     atomic_is_lock_free(const shared_ptr<_Tp>* __p)
1417:     { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); }
1417: # 101 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1417:   template<typename _Tp>
1417:     inline shared_ptr<_Tp>
1417:     atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
1417:     {
1417:       _Sp_locker __lock{__p};
1417:       return *__p;
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline shared_ptr<_Tp>
1417:     atomic_load(const shared_ptr<_Tp>* __p)
1417:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order)
1417:     {
1417:       _Sp_locker __lock{__p};
1417:       return *__p;
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     atomic_load(const __shared_ptr<_Tp, _Lp>* __p)
1417:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1417: # 137 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1417:   template<typename _Tp>
1417:     inline void
1417:     atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1417:      memory_order)
1417:     {
1417:       _Sp_locker __lock{__p};
1417:       __p->swap(__r);
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline void
1417:     atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1417:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline void
1417:     atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p,
1417:      __shared_ptr<_Tp, _Lp> __r,
1417:      memory_order)
1417:     {
1417:       _Sp_locker __lock{__p};
1417:       __p->swap(__r);
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline void
1417:     atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1417:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
1417: # 174 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1417:   template<typename _Tp>
1417:     inline shared_ptr<_Tp>
1417:     atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1417:         memory_order)
1417:     {
1417:       _Sp_locker __lock{__p};
1417:       __p->swap(__r  {
1412:       if (__n > size_type(_S_local_capacity))
1412:  {
1412:    _M_data(_M_create(__n, size_type(0)));
1412:    _M_capacity(__n);
1412:  }
1412:       else
1412:  _M_use_local_data();
1412: 
1412:       if (__n)
1412:  this->_S_assign(_M_data(), __n, __c);
1412: 
1412:       _M_set_length(__n);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_assign(const basic_string& __str)
1412:     {
1412:       if (this != std::__addressof(__str))
1412:  {
1412:    const size_type __rsize = __str.length();
1412:    const size_type __capacity = capacity();
1412: 
1412:    if (__rsize > __capacity)
1412:      {
1412:        size_type __new_capacity = __rsize;
1412:        pointer __tmp = _M_create(__new_capacity, __capacity);
1412:        _M_dispose();
1412:        _M_data(__tmp);
1412:        _M_capacity(__new_capacity);
1412:      }
1412: 
1412:    if (__rsize)
1412:      this->_S_copy(_M_data(), __str._M_data(), __rsize);
1412: 
1412:    _M_set_length(__rsize);
1412:  }
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     reserve(size_type __res)
1412:     {
1412:       const size_type __capacity = capacity();
1412: 
1412: 
1412: 
1412: 
1412:       if (__res <= __capacity)
1412:  return;
1412: 
1412:       pointer __tmp = _M_create(__res, __capacity);
1412:       this->_S_copy(__tmp, _M_data(), length() + 1);
1412:       _M_dispose();
1412:       _M_data(__tmp);
1412:       _M_capacity(__res);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1412:        size_type __len2)
1412:     {
1412:       const size_type __how_much = length() - __pos - __len1;
1412: 
1412:       size_type __new_capacity = length() + __len2 - __len1;
1412:       pointer __r = _M_create(__new_capacity, capacity());
1412: 
1412:       if (__pos)
1412:  this->_S_copy(__r, _M_data(), __pos);
1412:       if (__s && __len2)
1412:  this->_S_copy(__r + __pos, __s, __len2);
1412:       if (__how_much)
1412:  this->_S_copy(__r + __pos + __len2,
1412:         _M_data() + __pos + __len1, __how_much);
1412: 
1412:       _M_dispose();
1412:       _M_data(__r);
1412:       _M_capacity(__new_capacity);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_erase(size_type __pos, size_type __n)
1412:     {
1412:       const size_type __how_much = length() - __pos - __n;
1412: 
1412:       if (__how_much && __n)
1412:  this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
1412: 
1412:       _M_set_length(length() - __n);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     reserve()
1412:     {
1412:       if (_M_is_local())
1412:  return;
1412: 
1412:       const size_type __length = length();
1412:       const size_type __capacity = _M_allocated_capacity;
1412: 
1412:       if (__length <= size_type(_S_local_capacity))
1412:  {
1412:    this->_S_copy(_M_use_local_data(), _M_data(), __length + 1);
1412:    _M_destroy(__capacity);
1412:    _M_data(_M_local_data());
1412:  }
1412: 
1412:       else if (__length < __capacity)
1412:  try
1412:    {
1412:      pointer __tmp
1412:        = _Alloc_traits::allocate(_M_get_allocator(), __length + 1);
1412:      this->_S_copy(__tmp, _M_data(), __length + 1);
1412:      _M_dispose();
1412:      _M_data(__tmp);
1412:      _M_capacity(__length);
1412:    }
1412:  catch (const __cxxabiv1::__forced_unwind&)
1412:    { throw; }
1412:  catch (...)
1412:    { }
1412: 
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc);
1417:       return __r;
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline shared_ptr<_Tp>
1417:     atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1417:     {
1417:       return std::atomic_exchange_explicit(__p, std::move(__r),
1417:         memory_order_seq_cst);
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p,
1417:         __shared_ptr<_Tp, _Lp> __r,
1417:         memory_order)
1417:     {
1417:       _Sp_locker __lock{__p};
1417:       __p->swap(__r);
1417:       return __r;
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline __shared_ptr<_Tp, _Lp>
1417:     atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1417:     {
1417:       return std::atomic_exchange_explicit(__p, std::move(__r),
1417:         memory_order_seq_cst);
1417:     }
1417: # 223 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1417:   template<typename _Tp>
1417:     bool
1417:     atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p,
1417:          shared_ptr<_Tp>* __v,
1417:          shared_ptr<_Tp> __w,
1417:          memory_order,
1417:          memory_order)
1417:     {
1417:       shared_ptr<_Tp> __x;
1417:       _Sp_locker __lock{__p, __v};
1417:       owner_less<shared_ptr<_Tp>> __less;
1417:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1417:  {
1417:    __x = std::move(*__p);
1417:    *__p = std::move(__w);
1417:    return true;
1417:  }
1417:       __x = std::move(*__v);
1417:       *__v = *__p;
1417:       return false;
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline bool
1417:     atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1417:      shared_ptr<_Tp> __w)
1417:     {
1417:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1417:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline bool
1417:     atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p,
1417:        shared_ptr<_Tp>* __v,
1417:        shared_ptr<_Tp> __w,
1417:        memory_order __success,
1417:        memory_order __failure)
1417:     {
1417:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1417:    std::move(__w), __success, __failure);
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline bool
1417:     atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1417:      shared_ptr<_Tp> __w)
1417:     {
1417:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1417:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     bool
1417:     atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p,
1417:          __shared_ptr<_Tp, _Lp>* __v,
1417:          __shared_ptr<_Tp, _Lp> __w,
1417:          memory_order,
1417:          memory_order)
1417:     {
1417:       __shared_ptr<_Tp, _Lp> __x;
1417:       _Sp_locker __lock{__p, __v};
1417:       owner_less<__shared_ptr<_Tp, _Lp>> __less;
1417:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1417:  {
1417:    __x = std::move(*__p);
1417:    *__p = std::move(__w);
1417:    return true;
1417:  }
1417:       __x = std::move(*__v);
1417:       *__v = *__p;
1417:       return false;
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p,
1417:        __shared_ptr<_Tp, _Lp>* __v,
1417:        __shared_ptr<_Tp, _Lp> __w)
1417:     {
1417:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1417:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p,
1417:        __shared_ptr<_Tp, _Lp>* __v,
1417:        __shared_ptr<_Tp, _Lp> __w,
1417:        memory_order __success,
1417:        memory_order __failure)
1417:     {
1417:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1417:    std::move(__w), __success, __failure);
1417:     }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:     inline bool
1417:     atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p,
1417:      __shared_ptr<_Tp, _Lp>* __v,
1417:      __shared_ptr<_Tp, _Lp> __w)
1417:     {
1417:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1417:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1417:     }
1417: # 796 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1417: 
1417: }
1417: # 79 "/usr/include/c++/12/memory" 2 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/backward/auto_ptr.h" 1 3
1417: # 36 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 47 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:   template<typename _Tp1>
1417:     struct auto_ptr_ref
1417:     {
1417:       _Tp1* _M_ptr;
1417: 
1417:       explicit
1417:       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: # 88 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:   template<typename _Tp>
1417:     class auto_ptr
1417:     {
1417:     private:
1417:       _Tp* _M_ptr;
1417: 
1417:     public:
1417: 
1417:       typedef _Tp element_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
1417: # 114 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
1417: # 126 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       template<typename _Tp1>
1417:         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
1417: # 137 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       auto_ptr&
1417:       operator=(auto_ptr& __a) throw()
1417:       {
1417:  reset(__a.release());
1417:  return *this;
1417:       }
1417: # 154 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       template<typename _Tp1>
1417:         auto_ptr&
1417:         operator=(auto_ptr<_Tp1>& __a) throw()
1417:         {
1417:    reset(__a.release());
1417:    return *this;
1417:  }
1417: # 172 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       ~auto_ptr() { delete _M_ptr; }
1417: # 182 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       element_type&
1417:       operator*() const throw()
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1417:  return *_M_ptr;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       element_type*
1417:       operator->() const throw()
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1417:  return _M_ptr;
1417:       }
1417: # 212 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       element_type*
1417:       get() const throw() { return _M_ptr; }
1417: # 226 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       element_type*
1417:       release() throw()
1417:       {
1417:  element_type* __tmp = _M_ptr;
1417:  _M_ptr = 0;
1417:  return __tmp;
1417:       }
1417: # 241 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       void
1417:       reset(element_type* __p = 0) throw()
1417:       {
1417:  if (__p != _M_ptr)
1417:    {
1417:      delete _M_ptr;
1417:      _M_ptr = __p;
1417:    }
1417:       }
1417: # 266 "/usr/include/c++/12/backward/auto_ptr.h" 3
1417:       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
1417:       : _M_ptr(__ref._M_ptr) { }
1417: 
1417:       auto_ptr&
1417:       operator=(auto_ptr_ref<element_type> __ref) throw()
1417:       {
1417:  if (__ref._M_ptr != this->get())
1417:    {
1417:      delename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_compute_hash_code(const_iterator __hint, const key_type& __k) const
609:     -> pair<const_iterator, __hash_code>
609:     {
609:       if (size() <= __small_size_threshold())
609:  {
609:    if (__hint != cend())
609:      {
609:        for (auto __it = __hint; __it != cend(); ++__it)
609:   if (this->_M_key_equals(__k, *__it._M_cur))
609:     return { __it, this->_M_hash_code(*__it._M_cur) };
609:      }
609: 
609:    for (auto __it = cbegin(); __it != __hint; ++__it)
609:      if (this->_M_key_equals(__k, *__it._M_cur))
609:        return { __it, this->_M_hash_code(*__it._M_cur) };
609:  }
609: 
609:       return { __hint, this->_M_hash_code(__k) };
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_insert_unique_node(size_type __bkt, __hash_code __code,
609:      __node_ptr __node, size_type __n_elt)
609:     -> iterator
609:     {
609:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
609:       std::pair<bool, std::size_t> __do_rehash
609:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count,
609:        __n_elt);
609: 
609:       if (__do_rehash.first)
609:  {
609:    _M_rehash(__do_rehash.second, __saved_state);
609:    __bkt = _M_bucket_index(__code);
609:  }
609: 
609:       this->_M_store_code(*__node, __code);
609: 
609: 
609:       _M_insert_bucket_begin(__bkt, __node);
609:       ++_M_element_count;
609:       return iterator(__node);
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_insert_multi_node(__node_ptr __hint,
609:     __hash_code __code, __node_ptr __node)
609:     -> iterator
609:     {
609:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
609:       std::pair<bool, std::size_t> __do_rehash
609:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1);
609: 
609:       if (__do_rehash.first)
609:  _M_rehash(__do_rehash.second, __saved_state);
609: 
609:       this->_M_store_code(*__node, __code);
609:       const key_type& __k = _ExtractKey{}(__node->_M_v());
609:       size_type __bkt = _M_bucket_index(__code);
609: 
609: 
609: 
609:       __node_base_ptr __prev
609:  = __builtin_expect(__hint != nullptr, false)
609:    && this->_M_equals(__k, __code, *__hint)
609:      ? __hint
609:      : _M_find_before_node(__bkt, __k, __code);
609: 
609:       if (__prev)
609:  {
609: 
609:    __node->_M_nxt = __prev->_M_nxt;
609:    __prev->_M_nxt = __node;
609:    if (__builtin_expect(__prev == __hint, false))
609: 
609: 
609:      if (__node->_M_nxt
609:   && !this->_M_equals(__k, __code, *__node->_M_next()))
609:        {
609:   size_type __next_bkt = _M_bucket_index(*__node->_M_next());
609:   if (__next_bkt != __bkt)
609:     _M_buckets[__next_bkt] = __node;
609:        }
609:  }
609:       else
609: 
609: 
609: 
609:  _M_insert_bucket_begin(__bkt, __node);
609:       ++_M_element_count;
609:       return iterator(__node);
609:     }
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _Ran>
1412:    
1412:     void
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     resize(size_type __n, _CharT __c)
1412:     {
1412:       const size_type __size = this->size();
1412:       if (__size < __n)
1412:  this->append(__n - __size, __c);
1412:       else if (__n < __size)
1412:  this->_M_set_length(__n);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT, _Traits, _Alloc>&
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_append(const _CharT* __s, size_type __n)
1412:     {
1412:       const size_type __len = __n + this->size();
1412: 
1412:       if (__len <= this->capacity())
1412:  {
1412:    if (__n)
1412:      this->_S_copy(this->_M_data() + this->size(), __s, __n);
1412:  }
1412:       else
1412:  this->_M_mutate(this->size(), size_type(0), __s, __n);
1412: 
1412:       this->_M_set_length(__len);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     template<typename _InputIterator>
1412:      
1412:       basic_string<_CharT, _Traits, _Alloc>&
1412:       basic_string<_CharT, _Traits, _Alloc>::
1412:       _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1412:      _InputIterator __k1, _InputIterator __k2,
1412:      std::__false_type)
1412:       {
1412: 
1412: 
1412:  const basic_string __s(__k1, __k2, this->get_allocator());
1412:  const size_type __n1 = __i2 - __i1;
1412:  return _M_replace(__i1 - begin(), __n1, __s._M_data(),
1412:      __s.size());
1412:       }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT, _Traits, _Alloc>&
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1412:      _CharT __c)
1412:     {
1412:       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
1412: 
1412:       const size_type __old_size = this->size();
1412:       const size_type __new_size = __old_size + __n2 - __n1;
1412: 
1412:       if (__new_size <= this->capacity())
1412:  {
1412:    pointer __p = this->_M_data() + __pos1;
1412: 
1412:    const size_type __how_much = __old_size - __pos1 - __n1;
1412:    if (__how_much && __n1 != __n2)
1412:      this->_S_move(__p + __n2, __p + __n1, __how_much);
1412:  }
1412:       else
1412:  this->_M_mutate(__pos1, __n1, 0, __n2);
1412: 
1412:       if (__n2)
1412:  this->_S_assign(this->_M_data() + __pos1, __n2, __c);
1412: 
1412:       this->_M_set_length(__new_size);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT, _Traits, _Alloc>&
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1412:         const size_type __len2)
1412:     {
1412:       _M_check_length(__len1, __len2, "basic_string::_M_replace");
1412: 
1412:       const size_type __old_size = this->size();
1412:       const size_type __new_size = __old_size + __len2 - __len1;
1412: 
1412:       if (__new_size <= this->capacity())
1412:  {
1412:    pointer __p = this->_M_data() + __pos;
1412: 
1412:    const size_type __how_much = __old_size - __pos - __len1;
1412: # 503 "/usr/include/c++/12/bits/basic_string.tcc" 3
1412:    if (_M_disjunct(__s))
1412:      {
1412:        if (__how_much && __len1 != __len2)
1412:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1412:        if (__len2)
1412:   this->_S_copy(__p, __s, __len2);
1412:      }
1412:    else
1412:      {
1412: 
1412:        if (__len2 && __len2 <= __len1)
1412:   this->_S_move(__p, __s, __len2);
1412:        if (__how_much && __len1 != __len2)
1412:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1412:        if (__len2 > __len1)
1412:   {
1412:     if (__s + __len2 <= __p + __len1)
1412:       this->_S_move(__p, __s, __len2);
1412:     else if (__s >= __p + __len1)
1412:       {
1412: 
1412: 
1412:         const size_type __poff = (_te _M_ptr;
1417:      _M_ptr = __ref._M_ptr;
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:       template<typename _Tp1>
1417:         operator auto_ptr_ref<_Tp1>() throw()
1417:         { return auto_ptr_ref<_Tp1>(this->release()); }
1417: 
1417:       template<typename _Tp1>
1417:         operator auto_ptr<_Tp1>() throw()
1417:         { return auto_ptr<_Tp1>(this->release()); }
1417:     } __attribute__ ((__deprecated__ ("use '" "std::unique_ptr" "' instead")));
1417: 
1417: 
1417: 
1417:   template<>
1417:     class auto_ptr<void>
1417:     {
1417:     public:
1417:       typedef void element_type;
1417:     } __attribute__ ((__deprecated__));
1417: 
1417: 
1417:   template<_Lock_policy _Lp>
1417:   template<typename _Tp>
1417:     inline
1417:     __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r)
1417:     : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get()))
1417:     { __r.release(); }
1417: 
1417:   template<typename _Tp, _Lock_policy _Lp>
1417:   template<typename _Tp1, typename>
1417:     inline
1417:     __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r)
1417:     : _M_ptr(__r.get()), _M_refcount()
1417:     {
1417:      
1417:       static_assert( sizeof(_Tp1) > 0, "incomplete type" );
1417:       _Tp1* __tmp = __r.get();
1417:       _M_refcount = __shared_count<_Lp>(std::move(__r));
1417:       _M_enable_shared_from_this_with(__tmp);
1417:     }
1417: 
1417:   template<typename _Tp>
1417:   template<typename _Tp1, typename>
1417:     inline
1417:     shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r)
1417:     : __shared_ptr<_Tp>(std::move(__r)) { }
1417: 
1417:   template<typename _Tp, typename _Dp>
1417:   template<typename _Up, typename>
1417:     inline
1417:     unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept
1417:     : _M_t(__u.release(), deleter_type()) { }
1417: 
1417: 
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: }
1417: # 83 "/usr/include/c++/12/memory" 2 3
1417: # 91 "/usr/include/c++/12/memory" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 109 "/usr/include/c++/12/memory" 3
1417: enum class pointer_safety { relaxed, preferred, strict };
1417: 
1417: 
1417: inline void
1417: declare_reachable(void*) { }
1417: 
1417: 
1417: template <typename _Tp>
1417:   inline _Tp*
1417:   undeclare_reachable(_Tp* __p) { return __p; }
1417: 
1417: 
1417: inline void
1417: declare_no_pointers(char*, size_t) { }
1417: 
1417: 
1417: inline void
1417: undeclare_no_pointers(char*, size_t) { }
1417: 
1417: 
1417: inline pointer_safety
1417: get_pointer_safety() noexcept { return pointer_safety::relaxed; }
1417: 
1417: 
1417: 
1417: }
1417: # 144 "/usr/include/c++/12/memory" 3
1417: # 1 "/usr/include/c++/12/pstl/glue_memory_defs.h" 1 3
1417: # 15 "/usr/include/c++/12/pstl/glue_memory_defs.h" 3
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: uninitialized_copy(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1417: 
1417: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: uninitialized_copy_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: uninitialized_move(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1417: 
1417: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: uninitialized_move_n(_ExecutionPolicy&& __exec, _IgeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _Kt, typename _Arg, typename _NodeGenerator>
609:       auto
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _M_insert_unique(_Kt&& __k, _Arg&& __v,
609:          const _NodeGenerator& __node_gen)
609:       -> pair<iterator, bool>
609:       {
609:  if (size() <= __small_size_threshold())
609:    for (auto __it = begin(); __it != end(); ++__it)
609:      if (this->_M_key_equals_tr(__k, *__it._M_cur))
609:        return { __it, false };
609: 
609:  __hash_code __code = this->_M_hash_code_tr(__k);
609:  size_type __bkt = _M_bucket_index(__code);
609: 
609:  if (size() > __small_size_threshold())
609:    if (__node_ptr __node = _M_find_node_tr(__bkt, __k, __code))
609:      return { iterator(__node), false };
609: 
609:  _Scoped_node __node {
609:    __node_builder_t::_S_build(std::forward<_Kt>(__k),
609:          std::forward<_Arg>(__v),
609:          __node_gen),
609:    this
609:  };
609:  auto __pos
609:    = _M_insert_unique_node(__bkt, __code, __node._M_node);
609:  __node._M_node = nullptr;
609:  return { __pos, true };
609:       }
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     template<typename _Arg, typename _NodeGenerator>
609:       auto
609:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:       _M_insert(const_iterator __hint, _Arg&& __v,
609:   const _NodeGenerator& __node_gen,
609:   false_type )
609:       -> iterator
609:       {
609: 
609:  _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this };
609: 
609: 
609:  auto __res = this->_M_compute_hash_code(
609:    __hint, _ExtractKey{}(__node._M_node->_M_v()));
609: 
609:  auto __pos
609:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
609:      __node._M_node);
609:  __node._M_node = nullptr;
609:  return __pos;
609:       }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     erase(const_iterator __it)
609:     -> iterator
609:     {
609:       __node_ptr __n = __it._M_cur;
609:       std::size_t __bkt = _M_bucket_index(*__n);
609: 
609: 
609: 
609: 
609:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
609:       return _M_erase(__bkt, __prev_n, __n);
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n)
609:     -> iterator
609:     {
609:       if (__prev_n == _M_buckets[__bkt])
609:  _M_remove_bucket_begin(__bkt, __n->_M_next(),
609:    __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
609:       else if (__n->_M_nxt)
609:  {
609:    size_type __next_bkt = _M_bucket_index(*__n->_M_next());
609:    if (__next_bkt != __bkt)
609:      _M_buckets[__next_bkt] = __prev_n;
609:  }
609: 
609:       __prev_n->_M_nxt = __n->_M_nxt;
609:       iterator __result(__n->_M_next());
609:       this->_M_deallocate_node(__n);
609:       --_M_element_count;
609: 
609:       return __result;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typenputIterator __first, _Size __n, _ForwardIterator __result);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: uninitialized_fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: uninitialized_fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, const _Tp& __value);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: destroy_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: uninitialized_default_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: uninitialized_default_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1417: 
1417: 
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1417: uninitialized_value_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1417: 
1417: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1417: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1417: uninitialized_value_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1417: 
1417: }
1417: # 145 "/usr/include/c++/12/memory" 2 3
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h" 2
1417: 
1417: 
1417: 
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h"
1417: class CGUIListItem;
1417: 
1417: namespace INFO
1417: {
1417: 
1417: 
1417: 
1417: 
1417: class InfoBool
1417: {
1417: public:
1417:   InfoBool(const std::string &expression, int context, unsigned int &refreshCounter);
1417:   virtual ~InfoBool() = default;
1417: 
1417:   virtual void Initialize() {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline bool Get(int contextWindow, const CGUIListItem* item = nullptr)
1417:   {
1417:     if (item && m_listItemDependent)
1417:       Update(contextWindow, item);
1417:     else if (m_refreshCounter != m_parentRefreshCounter || m_refreshCounter == 0)
1417:     {
1417:       Update(contextWindow, nullptr);
1417:       m_refreshCounter = m_parentRefreshCounter;
1417:     }
1417:     return m_value;
1417:   }
1417: 
1417:   bool operator==(const InfoBool &right) const
1417:   {
1417:     return (m_context == right.m_context &&
1417:             m_expression == right.m_expression);
1417:   }
1417: 
1417:   bool operator<(const InfoBool &right) const
1417:   {
1417:     if (m_context < right.m_context)
1417:       return true;
1417:     else if (m_context == right.m_context)
1417:       return m_expression < right.m_expression;
1417:     else
1417:       return false;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Update(int contextWindow, const CGUIListItem* item) {}
1417: 
1417:   const std::string &GetExpression() const { return m_expression; }
1417:   bool ListItemDependent() const { return m_listItemDependent; }
1417: protected:
1417: 
1417:   bool m_value;
1417:   int m_context;
1417:   bool m_listItemDependent;
1417:   std::string m_expression;
1417: 
1417: private:
1417:   unsigned int m_refreshCounter;
1417:   unsigned int &m_parentRefreshCounter;
1417: };
1417: 
1417: typedef std::shared_ptr<InfoBool> InfoPtr;
1417: };
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h"
1417:        
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/utility" 1 3
1417: # 58 "/usr/include/c++/12/utility" 3
1417:        
1417: # 59 "/usr/include/c++/12/utility" 3
1417: # 68 "/usr/include/c++/12/utility" 3
1417: # 1 "/usr/include/c++/12/bits/stl_relops.h" 1 3
1417: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
1417: 
1417: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   namespace rel_ops
1417:   {
1417: # 86 "/usr/include/c++/12/bits/stl_relops.h" 3
1417:     template <class _Tp>
1417:       inline bool
1417:       operator!=(const _Tp& __x, const _Tp& __y)
1417:       { return !(__x == __y); }
1417: # 99 "/usr/include/c++/12/bits/stl_relops.h" 3
1417:     template <class _Tp>
1417:       inline bool
1417:       operator>(const _Tp& __x, const _Tp& __y)
1417:       { return __y < __x; }
1417: # 112 "/usr/include/c++/12/bits/stl_relops.h" 3
1417:     template <class _Tp>
1417:       inline bool
1417:       operator<=(const _Tp& __x, const _Tp& __y)
1417:       { return !(__y < __x); }
1417: # 125 "/usr/include/c++/12/bits/stl_relops.h" 3
1417:     template <class _Tp>
1417:       inline bool
1417:       operator>=(const _Tp& __x, const _Tp& __y)
1417:       { return !(__x < __y); }
1417:   }
1417: 
1417: 
1417: }
1417: # 69 "/usr/include/c++/12/utility" 2 3
1417: # 82 "/usr/include/c++/12/utility" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename _Up = _Tp>
1417:    
1417:     inline _Tp
1417:     exchange(_Tp& __obj, _Up&& __new_val)
1417:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1417:       is_nothrow_assignable<_Tp&, _Up>>::value)
1417:     { return std::__exchange(__obj, std::forward<_Up>(__new_val)); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     [[nodiscard]]
1417:     constexpr add_const_t<_Tp>&
1417:     as_const(_Tp& __t) noexcept
1417:     { return __t; }
1417: 
1417:   template<typename _Tp>
1417:     void as_const(const _Tp&&) = delete;
1417: # 220 "/usr/include/c++/12/utility" 3
1417: 
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h" 2
1417: 
1417: 
1417: 
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h"
1417: namespace UTILS
1417: {
1417: namespace COLOR
1417: {
1417: 
1417: typedef uint32_t Color;
1417: 
1417: constexpr Color BLACK = 0xFF000000;
1417: constexpr Color LIMITED_BLACK = 0xFF101010;
1417: constexpr Color BLUE = 0xFF0099FF;
1417: constexpr Color BRIGHTGREEN = 0xFF00FF00;
1417: constexpr Color CYAN = 0xFF00FFFF;
1417: constexpr Color DARKGREY = 0xFF808080;
1417: constexpr Color GREY = 0xFFC0C0C0;
1417: constexpr Color LIGHTGREY = 0xFFE5E5E5;
1417: constexpr Color NONE = 0x00000000;
1417: constexpr Color WHITE = 0xFFFFFFFF;
1417: constexpr Color YELLOW = 0xFFFFFF00;
1417: constexpr Color YELLOWGREEN = 0xFFCCFF00;
1417: 
1417: struct ColorInfo
1417: {
1417:   Color colorARGB;
1417:   double hue;
1417:   double saturation;
1417:   double lightness;
1417: };
1417: 
1417: struct ColorFloats
1417: {
1417:   float red;
1417:   float green;
1417:   float blue;
1417:   float alpha;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: Color ChangeOpacity(const Color argb, const float opacity);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: Color ConvertToRGBA(const Color argb);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: Color ConvertToARGB(const Color rgba);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: Color ConvertToBGR(const Color argb);
1417: 
_s - __p) + (__len2 - __len1);
1412:         this->_S_copy(__p, __p + __poff, __len2);
1412:       }
1412:     else
1412:       {
1412:         const size_type __nleft = (__p + __len1) - __s;
1412:         this->_S_move(__p, __s, __nleft);
1412:         this->_S_copy(__p + __nleft, __p + __len2,
1412:         __len2 - __nleft);
1412:       }
1412:   }
1412:      }
1412:  }
1412:       else
1412:  this->_M_mutate(__pos, __len1, __s, __len2);
1412: 
1412:       this->_M_set_length(__new_size);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     copy(_CharT* __s, size_type __n, size_type __pos) const
1412:     {
1412:       _M_check(__pos, "basic_string::copy");
1412:       __n = _M_limit(__pos, __n);
1412:       ;
1412:       if (__n)
1412:  _S_copy(__s, _M_data() + __pos, __n);
1412: 
1412:       return __n;
1412:     }
1412: # 603 "/usr/include/c++/12/bits/basic_string.tcc" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(const _CharT* __lhs,
1412:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     {
1412:       ;
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef typename __string_type::size_type __size_type;
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_CharT>::other _Char_alloc_type;
1412:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1412:       const __size_type __len = _Traits::length(__lhs);
1412:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1412:           __rhs.get_allocator()));
1412:       __str.reserve(__len + __rhs.size());
1412:       __str.append(__lhs, __len);
1412:       __str.append(__rhs);
1412:       return __str;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     basic_string<_CharT, _Traits, _Alloc>
1412:     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1412:     {
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef typename __string_type::size_type __size_type;
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_CharT>::other _Char_alloc_type;
1412:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1412:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1412:           __rhs.get_allocator()));
1412:       const __size_type __len = __rhs.size();
1412:       __str.reserve(__len + 1);
1412:       __str.append(__size_type(1), __lhs);
1412:       __str.append(__rhs);
1412:       return __str;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find(const _CharT* __s, size_type __pos, size_type __n) const
1412:     noexcept
1412:     {
1412:       ;
1412:       const size_type __size = this->size();
1412: 
1412:       if (__n == 0)
1412:  return __pos <= __size ? __pos : npos;
1412:       if (__pos >= __size)
1412:  return npos;
1412: 
1412:       const _CharT __elem0 = __s[0];
1412:       const _CharT* const __data = data();
1412:       const _CharT* __first = __data + __pos;
1412:       const _CharT* const __last = __data + __size;
1412:       size_type __len = __size - __pos;
1412: 
1412:       while (__len >= __n)
1412:  {
1412: 
1412:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1412:    if (!__first)
1412:      return npos;
1412: 
1412: 
1412: 
1412:    if (traits_type::compare(__first, __s, __n) == 0)
1412:      return __first - __data;
1412:    __len = __last - ++__first;
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits,1417: 
1417: 
1417: 
1417: 
1417: Color ConvertHexToColor(const std::string& hexColor);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: Color ConvertIntToRGB(int r, int g, int b);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: ColorInfo MakeColorInfo(const Color& argb);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: ColorInfo MakeColorInfo(const std::string& hexColor);
1417: 
1417: 
1417: 
1417: bool comparePairColorInfo(const std::pair<std::string, ColorInfo>& a,
1417:                           const std::pair<std::string, ColorInfo>& b);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: ColorFloats ConvertToFloats(const Color argb);
1417: }
1417: }
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/math.h" 1 3
1417: # 36 "/usr/include/c++/12/math.h" 3
1417: # 1 "/usr/include/c++/12/cmath" 1 3
1417: # 39 "/usr/include/c++/12/cmath" 3
1417:        
1417: # 40 "/usr/include/c++/12/cmath" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/math.h" 1 3 4
1417: # 27 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1417: # 28 "/usr/include/math.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 34 "/usr/include/math.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libm-simd-decl-stubs.h" 1 3 4
1417: # 28 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 2 3 4
1417: # 41 "/usr/include/math.h" 2 3 4
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1417: # 44 "/usr/include/math.h" 2 3 4
1417: # 152 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/flt-eval-method.h" 1 3 4
1417: # 153 "/usr/include/math.h" 2 3 4
1417: # 163 "/usr/include/math.h" 3 4
1417: typedef float float_t;
1417: typedef double double_t;
1417: # 204 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-logb.h" 1 3 4
1417: # 205 "/usr/include/math.h" 2 3 4
1417: # 247 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-fast.h" 1 3 4
1417: # 248 "/usr/include/math.h" 2 3 4
1417: 
1417: 
1417: 
1417: enum
1417:   {
1417:     FP_INT_UPWARD =
1417: 
1417:       0,
1417:     FP_INT_DOWNWARD =
1417: 
1417:       1,
1417:     FP_INT_TOWARDZERO =
1417: 
1417:       2,
1417:     FP_INT_TONEARESTFROMZERO =
1417: 
1417:       3,
1417:     FP_INT_TONEAREST =
1417: 
1417:       4,
1417:   };
1417: # 312 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1417: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1417: extern int __fpclassify (double __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __signbit (double __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern int __isinf (double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __finite (double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __isnan (double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __iseqsig (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: extern int __issignaling (double __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: # 313 "/usr/include/math.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1417: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417:  extern double acos (double __x) noexcept (true); extern double __acos (double __x) noexcept (true);
1417: 
1417:  extename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_erase(true_type , const key_type& __k)
609:     -> size_type
609:     {
609:       __node_base_ptr __prev_n;
609:       __node_ptr __n;
609:       std::size_t __bkt;
609:       if (size() <= __small_size_threshold())
609:  {
609:    __prev_n = _M_find_before_node(__k);
609:    if (!__prev_n)
609:      return 0;
609: 
609: 
609:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
609:    __bkt = _M_bucket_index(*__n);
609:  }
609:       else
609:  {
609:    __hash_code __code = this->_M_hash_code(__k);
609:    __bkt = _M_bucket_index(__code);
609: 
609: 
609:    __prev_n = _M_find_before_node(__bkt, __k, __code);
609:    if (!__prev_n)
609:      return 0;
609: 
609: 
609:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
609:  }
609: 
609:       _M_erase(__bkt, __prev_n, __n);
609:       return 1;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_erase(false_type , const key_type& __k)
609:     -> size_type
609:     {
609:       std::size_t __bkt;
609:       __node_base_ptr __prev_n;
609:       __node_ptr __n;
609:       if (size() <= __small_size_threshold())
609:  {
609:    __prev_n = _M_find_before_node(__k);
609:    if (!__prev_n)
609:      return 0;
609: 
609: 
609:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
609:    __bkt = _M_bucket_index(*__n);
609:  }
609:       else
609:  {
609:    __hash_code __code = this->_M_hash_code(__k);
609:    __bkt = _M_bucket_index(__code);
609: 
609: 
609:    __prev_n = _M_find_before_node(__bkt, __k, __code);
609:    if (!__prev_n)
609:      return 0;
609: 
609:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
609:  }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       __node_ptr __n_last = __n->_M_next();
609:       while (__n_last && this->_M_node_equals(*__n, *__n_last))
609:  __n_last = __n_last->_M_next();
609: 
609:       std::size_t __n_last_bkt = __n_last ? _M_bucket_index(*__n_last) : __bkt;
609: 
609: 
609:       size_type __result = 0;
609:       do
609:  {
609:    __node_ptr __p = __n->_M_next();
609:    this->_M_deallocate_node(__n);
609:    __n = __p;
609:    ++__result;
609:  }
609:       while (__n != __n_last);
609: 
609:       _M_element_count -= __result;
609:       if (__prev_n == _M_buckets[__bkt])
609:  _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt);
609:       else if (__n_last_bkt != __bkt)
609:  _M_buckets[__n_last_bkt] = __prev_n;
609:       __prev_n->_M_nxt = __n_last;
609:       return __result;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     auto
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     erase(const_iterator __first, const_iterator __last)
609:     -> iterator
609:     {
609:       __node_ptr __n = __first._M_cur;
609:       __node_ptr __last_n = __last._M_cur;
609:       if (__n == __last_n)
609:  return iterator(__n);
609: 
609:       std::size_t __bkt = _M_bucket_index(*__n);
609: 
609:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
609:       bool __is_bucket_begin = __n == _M_bucket_begin(__bkt);
609:       std::size_t __n_bkt = __bkt;
609:       for (;;)
609:  {
609:    do
609:      {
609:        __node_ptr __tmp = __n;
609:        __n = __n->_M_next();
609:        this->_M_deallocate_node(__tmp);
609:        --_M_ typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find(_CharT __c, size_type __pos) const noexcept
1412:     {
1412:       size_type __ret = npos;
1412:       const size_type __size = this->size();
1412:       if (__pos < __size)
1412:  {
1412:    const _CharT* __data = _M_data();
1412:    const size_type __n = __size - __pos;
1412:    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
1412:    if (__p)
1412:      __ret = __p - __data;
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     rfind(const _CharT* __s, size_type __pos, size_type __n) const
1412:     noexcept
1412:     {
1412:       ;
1412:       const size_type __size = this->size();
1412:       if (__n <= __size)
1412:  {
1412:    __pos = std::min(size_type(__size - __n), __pos);
1412:    const _CharT* __data = _M_data();
1412:    do
1412:      {
1412:        if (traits_type::compare(__data + __pos, __s, __n) == 0)
1412:   return __pos;
1412:      }
1412:    while (__pos-- > 0);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     rfind(_CharT __c, size_type __pos) const noexcept
1412:     {
1412:       size_type __size = this->size();
1412:       if (__size)
1412:  {
1412:    if (--__size > __pos)
1412:      __size = __pos;
1412:    for (++__size; __size-- > 0; )
1412:      if (traits_type::eq(_M_data()[__size], __c))
1412:        return __size;
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1412:     noexcept
1412:     {
1412:       ;
1412:       for (; __n && __pos < this->size(); ++__pos)
1412:  {
1412:    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
1412:    if (__p)
1412:      return __pos;
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1412:     noexcept
1412:     {
1412:       ;
1412:       size_type __size = this->size();
1412:       if (__size && __n)
1412:  {
1412:    if (--__size > __pos)
1412:      __size = __pos;
1412:    do
1412:      {
1412:        if (traits_type::find(__s, __n, _M_data()[__size]))
1412:   return __size;
1412:      }
1412:    while (__size-- != 0);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1412:     noexcept
1412:     {
1412:       ;
1412:       for (; __pos < this->size(); ++__pos)
1412:  if (!traits_type::find(__s, __n, _M_data()[__pos]))
1412:    return __pos;
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1412:     {
1412:       for (; __pos < this->size(); ++__pos)
1412:  if (!traits_type::eq(_M_data()[__pos], __c))
1412:    return __pos;
1412:       return npos;
1412:   rn double asin (double __x) noexcept (true); extern double __asin (double __x) noexcept (true);
1417: 
1417:  extern double atan (double __x) noexcept (true); extern double __atan (double __x) noexcept (true);
1417: 
1417:  extern double atan2 (double __y, double __x) noexcept (true); extern double __atan2 (double __y, double __x) noexcept (true);
1417: 
1417: 
1417:  extern double cos (double __x) noexcept (true); extern double __cos (double __x) noexcept (true);
1417: 
1417:  extern double sin (double __x) noexcept (true); extern double __sin (double __x) noexcept (true);
1417: 
1417:  extern double tan (double __x) noexcept (true); extern double __tan (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern double cosh (double __x) noexcept (true); extern double __cosh (double __x) noexcept (true);
1417: 
1417:  extern double sinh (double __x) noexcept (true); extern double __sinh (double __x) noexcept (true);
1417: 
1417:  extern double tanh (double __x) noexcept (true); extern double __tanh (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern void sincos (double __x, double *__sinx, double *__cosx) noexcept (true); extern void __sincos (double __x, double *__sinx, double *__cosx) noexcept (true)
1417:                                                         ;
1417: 
1417: 
1417: 
1417: 
1417:  extern double acosh (double __x) noexcept (true); extern double __acosh (double __x) noexcept (true);
1417: 
1417:  extern double asinh (double __x) noexcept (true); extern double __asinh (double __x) noexcept (true);
1417: 
1417:  extern double atanh (double __x) noexcept (true); extern double __atanh (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern double exp (double __x) noexcept (true); extern double __exp (double __x) noexcept (true);
1417: 
1417: 
1417: extern double frexp (double __x, int *__exponent) noexcept (true); extern double __frexp (double __x, int *__exponent) noexcept (true);
1417: 
1417: 
1417: extern double ldexp (double __x, int __exponent) noexcept (true); extern double __ldexp (double __x, int __exponent) noexcept (true);
1417: 
1417: 
1417:  extern double log (double __x) noexcept (true); extern double __log (double __x) noexcept (true);
1417: 
1417: 
1417:  extern double log10 (double __x) noexcept (true); extern double __log10 (double __x) noexcept (true);
1417: 
1417: 
1417: extern double modf (double __x, double *__iptr) noexcept (true); extern double __modf (double __x, double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417:  extern double exp10 (double __x) noexcept (true); extern double __exp10 (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern double expm1 (double __x) noexcept (true); extern double __expm1 (double __x) noexcept (true);
1417: 
1417: 
1417:  extern double log1p (double __x) noexcept (true); extern double __log1p (double __x) noexcept (true);
1417: 
1417: 
1417: extern double logb (double __x) noexcept (true); extern double __logb (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern double exp2 (double __x) noexcept (true); extern double __exp2 (double __x) noexcept (true);
1417: 
1417: 
1417:  extern double log2 (double __x) noexcept (true); extern double __log2 (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern double pow (double __x, double __y) noexcept (true); extern double __pow (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: extern double sqrt (double __x) noexcept (true); extern double __sqrt (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern double hypot (double __x, double __y) noexcept (true); extern double __hypot (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern double cbrt (double __x) noexcept (true); extern double __cbrt (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double ceil (double __x) noexcept (true) __attribute__ ((__const__)); extern double __ceil (double __x) noexcept (true) __attribute__ ((_element_count;
609:        if (!__n)
609:   break;
609:        __n_bkt = _M_bucket_index(*__n);
609:      }
609:    while (__n != __last_n && __n_bkt == __bkt);
609:    if (__is_bucket_begin)
609:      _M_remove_bucket_begin(__bkt, __n, __n_bkt);
609:    if (__n == __last_n)
609:      break;
609:    __is_bucket_begin = true;
609:    __bkt = __n_bkt;
609:  }
609: 
609:       if (__n && (__n_bkt != __bkt || __is_bucket_begin))
609:  _M_buckets[__n_bkt] = __prev_n;
609:       __prev_n->_M_nxt = __n;
609:       return iterator(__n);
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     clear() noexcept
609:     {
609:       this->_M_deallocate_nodes(_M_begin());
609:       __builtin_memset(_M_buckets, 0,
609:          _M_bucket_count * sizeof(__node_base_ptr));
609:       _M_element_count = 0;
609:       _M_before_begin._M_nxt = nullptr;
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     rehash(size_type __bkt_count)
609:     {
609:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
609:       __bkt_count
609:  = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1),
609:      __bkt_count);
609:       __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count);
609: 
609:       if (__bkt_count != _M_bucket_count)
609:  _M_rehash(__bkt_count, __saved_state);
609:       else
609: 
609: 
609:  _M_rehash_policy._M_reset(__saved_state);
609:     }
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_rehash(size_type __bkt_count, const __rehash_state& __state)
609:     {
609:       try
609:  {
609:    _M_rehash_aux(__bkt_count, __unique_keys{});
609:  }
609:       catch(...)
609:  {
609: 
609: 
609:    _M_rehash_policy._M_reset(__state);
609:    throw;
609:  }
609:     }
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_rehash_aux(size_type __bkt_count, true_type )
609:     {
609:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
609:       __node_ptr __p = _M_begin();
609:       _M_before_begin._M_nxt = nullptr;
609:       std::size_t __bbegin_bkt = 0;
609:       while (__p)
609:  {
609:    __node_ptr __next = __p->_M_next();
609:    std::size_t __bkt
609:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
609:    if (!__new_buckets[__bkt])
609:      {
609:        __p->_M_nxt = _M_before_begin._M_nxt;
609:        _M_before_begin._M_nxt = __p;
609:        __new_buckets[__bkt] = &_M_before_begin;
609:        if (__p->_M_nxt)
609:   __new_buckets[__bbegin_bkt] = __p;
609:        __bbegin_bkt = __bkt;
609:      }
609:    else
609:      {
609:        __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
609:        __new_buckets[__bkt]->_M_nxt = __p;
609:      }
609: 
609:    __p = __next;
609:  }
609: 
609:       _M_deallocate_buckets(_const__));
1417: 
1417: 
1417: extern double fabs (double __x) noexcept (true) __attribute__ ((__const__)); extern double __fabs (double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double floor (double __x) noexcept (true) __attribute__ ((__const__)); extern double __floor (double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fmod (double __x, double __y) noexcept (true); extern double __fmod (double __x, double __y) noexcept (true);
1417: # 183 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern int finite (double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern double drem (double __x, double __y) noexcept (true); extern double __drem (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern double significand (double __x) noexcept (true); extern double __significand (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern double nan (const char *__tagb) noexcept (true); extern double __nan (const char *__tagb) noexcept (true);
1417: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern double j0 (double) noexcept (true); extern double __j0 (double) noexcept (true);
1417: extern double j1 (double) noexcept (true); extern double __j1 (double) noexcept (true);
1417: extern double jn (int, double) noexcept (true); extern double __jn (int, double) noexcept (true);
1417: extern double y0 (double) noexcept (true); extern double __y0 (double) noexcept (true);
1417: extern double y1 (double) noexcept (true); extern double __y1 (double) noexcept (true);
1417: extern double yn (int, double) noexcept (true); extern double __yn (int, double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern double erf (double) noexcept (true); extern double __erf (double) noexcept (true);
1417:  extern double erfc (double) noexcept (true); extern double __erfc (double) noexcept (true);
1417: extern double lgamma (double) noexcept (true); extern double __lgamma (double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern double tgamma (double) noexcept (true); extern double __tgamma (double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double gamma (double) noexcept (true); extern double __gamma (double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double lgamma_r (double, int *__signgamp) noexcept (true); extern double __lgamma_r (double, int *__signgamp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double rint (double __x) noexcept (true); extern double __rint (double __x) noexcept (true);
1417: 
1417: 
1417: extern double nextafter (double __x, double __y) noexcept (true); extern double __nextafter (double __x, double __y) noexcept (true);
1417: 
1417: extern double nexttoward (double __x, long double __y) noexcept (true); extern double __nexttoward (double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern double nextdown (double __x) noexcept (true); extern double __nextdown (double __x) noexcept (true);
1417: 
1417: extern double nextup (double __x) noexcept (true); extern double __nextup (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern double remainder (double __x, double __y) noexcept (true); extern double __remainder (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern double scalbn (double __x, int __n) noexcept (true); extern double __scalbn (double __x, int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int ilogb (double __x) noexcept (true); extern int __ilogb (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long int llogb (double __x) noexcept (true); extern long int __llogb (double __x) noexcept (true);
1417: 
1417: 
1417: 
14  }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1412:     noexcept
1412:     {
1412:       ;
1412:       size_type __size = this->size();
1412:       if (__size)
1412:  {
1412:    if (--__size > __pos)
1412:      __size = __pos;
1412:    do
1412:      {
1412:        if (!traits_type::find(__s, __n, _M_data()[__size]))
1412:   return __size;
1412:      }
1412:    while (__size--);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1412:     {
1412:       size_type __size = this->size();
1412:       if (__size)
1412:  {
1412:    if (--__size > __pos)
1412:      __size = __pos;
1412:    do
1412:      {
1412:        if (!traits_type::eq(_M_data()[__size], __c))
1412:   return __size;
1412:      }
1412:    while (__size--);
1412:  }
1412:       return npos;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     int
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     compare(size_type __pos, size_type __n, const basic_string& __str) const
1412:     {
1412:       _M_check(__pos, "basic_string::compare");
1412:       __n = _M_limit(__pos, __n);
1412:       const size_type __osize = __str.size();
1412:       const size_type __len = std::min(__n, __osize);
1412:       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
1412:       if (!__r)
1412:  __r = _S_compare(__n, __osize);
1412:       return __r;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     int
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     compare(size_type __pos1, size_type __n1, const basic_string& __str,
1412:      size_type __pos2, size_type __n2) const
1412:     {
1412:       _M_check(__pos1, "basic_string::compare");
1412:       __str._M_check(__pos2, "basic_string::compare");
1412:       __n1 = _M_limit(__pos1, __n1);
1412:       __n2 = __str._M_limit(__pos2, __n2);
1412:       const size_type __len = std::min(__n1, __n2);
1412:       int __r = traits_type::compare(_M_data() + __pos1,
1412:          __str.data() + __pos2, __len);
1412:       if (!__r)
1412:  __r = _S_compare(__n1, __n2);
1412:       return __r;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     int
1412:     basic_string<_CharT, _Traits, _Alloc>::
1412:     compare(const _CharT* __s) const noexcept
1412:     {
1412:       ;
1412:       const size_type __size = this->size();
1412:       const size_type __osize = traits_type::length(__s);
1412:       const size_type __len = std::min(__size, __osize);
1412:       int __r = traits_type::compare(_M_data(), __s, __len);
1412:       if (!__r)
1412:  __r = _S_compare(__size, __osize);
1412:       return __r;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     int
1412:     basic_string <_CharT, _Traits, _Alloc>::
1412:     compare(size_type __pos, size_type __n1, const _CharT* __s) const
1412:     {
1412:       ;
1412:       _M_check(__pos, "basic_string::compare");
1412:       __n1 = _M_limit(__pos, __n1);
1412:       const size_type __osize = traits_type::length(__s);
1412:       const size_type __len = std::min(__n1, __osize);
1412:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1412:       if (!__r)
1412:  __r = _S_compare(__n1, __osize);
1412:       return __r;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:    
1412:     int
1412:     basic_string <_CharT, _Traits, _Alloc>::
1412:     compare(size_type __pos, size_ty17: 
1417: extern double scalbln (double __x, long int __n) noexcept (true); extern double __scalbln (double __x, long int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern double nearbyint (double __x) noexcept (true); extern double __nearbyint (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern double round (double __x) noexcept (true) __attribute__ ((__const__)); extern double __round (double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern double trunc (double __x) noexcept (true) __attribute__ ((__const__)); extern double __trunc (double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern double remquo (double __x, double __y, int *__quo) noexcept (true); extern double __remquo (double __x, double __y, int *__quo) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int lrint (double __x) noexcept (true); extern long int __lrint (double __x) noexcept (true);
1417: __extension__
1417: extern long long int llrint (double __x) noexcept (true); extern long long int __llrint (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long int lround (double __x) noexcept (true); extern long int __lround (double __x) noexcept (true);
1417: __extension__
1417: extern long long int llround (double __x) noexcept (true); extern long long int __llround (double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern double fdim (double __x, double __y) noexcept (true); extern double __fdim (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern double fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern double fma (double __x, double __y, double __z) noexcept (true); extern double __fma (double __x, double __y, double __z) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern double roundeven (double __x) noexcept (true) __attribute__ ((__const__)); extern double __roundeven (double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) noexcept (true)
1417:                             ;
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) noexcept (true)
1417:                               ;
1417: 
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1417:                              ;
1417: 
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1417:                                ;
1417: 
1417: 
1417: extern int canonicalize (double *__cx, const double *__x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern double fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) noexcept (true) __attribute_);
609:       _M_bucket_count = __bkt_count;
609:       _M_buckets = __new_buckets;
609:     }
609: 
609: 
609: 
609:   template<typename _Key, typename _Value, typename _Alloc,
609:     typename _ExtractKey, typename _Equal,
609:     typename _Hash, typename _RangeHash, typename _Unused,
609:     typename _RehashPolicy, typename _Traits>
609:     void
609:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
609:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
609:     _M_rehash_aux(size_type __bkt_count, false_type )
609:     {
609:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
609:       __node_ptr __p = _M_begin();
609:       _M_before_begin._M_nxt = nullptr;
609:       std::size_t __bbegin_bkt = 0;
609:       std::size_t __prev_bkt = 0;
609:       __node_ptr __prev_p = nullptr;
609:       bool __check_bucket = false;
609: 
609:       while (__p)
609:  {
609:    __node_ptr __next = __p->_M_next();
609:    std::size_t __bkt
609:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
609: 
609:    if (__prev_p && __prev_bkt == __bkt)
609:      {
609: 
609: 
609: 
609:        __p->_M_nxt = __prev_p->_M_nxt;
609:        __prev_p->_M_nxt = __p;
609: 
609: 
609: 
609: 
609: 
609: 
609:        __check_bucket = true;
609:      }
609:    else
609:      {
609:        if (__check_bucket)
609:   {
609: 
609: 
609:     if (__prev_p->_M_nxt)
609:       {
609:         std::size_t __next_bkt
609:    = __hash_code_base::_M_bucket_index(
609:      *__prev_p->_M_next(), __bkt_count);
609:         if (__next_bkt != __prev_bkt)
609:    __new_buckets[__next_bkt] = __prev_p;
609:       }
609:     __check_bucket = false;
609:   }
609: 
609:        if (!__new_buckets[__bkt])
609:   {
609:     __p->_M_nxt = _M_before_begin._M_nxt;
609:     _M_before_begin._M_nxt = __p;
609:     __new_buckets[__bkt] = &_M_before_begin;
609:     if (__p->_M_nxt)
609:       __new_buckets[__bbegin_bkt] = __p;
609:     __bbegin_bkt = __bkt;
609:   }
609:        else
609:   {
609:     __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
609:     __new_buckets[__bkt]->_M_nxt = __p;
609:   }
609:      }
609:    __prev_p = __p;
609:    __prev_bkt = __bkt;
609:    __p = __next;
609:  }
609: 
609:       if (__check_bucket && __prev_p->_M_nxt)
609:  {
609:    std::size_t __next_bkt
609:      = __hash_code_base::_M_bucket_index(*__prev_p->_M_next(),
609:       __bkt_count);
609:    if (__next_bkt != __prev_bkt)
609:      __new_buckets[__next_bkt] = __prev_p;
609:  }
609: 
609:       _M_deallocate_buckets();
609:       _M_bucket_count = __bkt_count;
609:       _M_buckets = __new_buckets;
609:     }
609: 
609: 
609:   template<typename, typename, typename> class _Hash_merge_helper { };
609: 
609: 
609: 
609: 
609:   template<typename _Hash>
609:     using _RequireNotAllocatorOrIntegral
609:       = __enable_if_t<!__or_<is_integral<_Hash>, __is_allocator<_Hash>>::value>;
609: 
609: 
609: 
609: 
609: }
609: # 47 "/usr/include/c++/12/unordered_map" 2 3
609: # 1 "/usr/include/c++/12/bits/unordered_map.h" 1 3
609: # 33 "/usr/include/c++/12/bits/unordered_map.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   template<bool _Cache>
609:     using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>;
609: 
609:   template<typename _Key,
609:     typename _Tp,
609:     typename _Hash = hash<_Key>,
609:     typename _Pred = std::equal_to<_Key>,
609:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
609:     typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>>
609:     using __umap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
609:                                         _Alloc, __detail::_Select1st,
609:             _Pred, _Hash,
609:             __detail::_Mod_range_hashing,
609:             __detail::_Default_ranged_hash,
609:             __detail::_Prime_rehash_policy, _Tr>;
609: 
609: 
609:   template<bool _Cache>
609:     using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>;
609: 
609:   template<typename _Key,
_ ((__const__));
1417: 
1417: 
1417: extern double fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern double fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int totalorder (const double *__x, const double *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern int totalordermag (const double *__x, const double *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern double getpayload (const double *__x) noexcept (true); extern double __getpayload (const double *__x) noexcept (true);
1417: 
1417: 
1417: extern int setpayload (double *__x, double __payload) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadsig (double *__x, double __payload) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern double scalb (double __x, double __n) noexcept (true); extern double __scalb (double __x, double __n) noexcept (true);
1417: # 314 "/usr/include/math.h" 2 3 4
1417: # 329 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1417: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1417: extern int __fpclassifyf (float __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __signbitf (float __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern int __isinff (float __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __finitef (float __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __isnanf (float __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __iseqsigf (float __x, float __y) noexcept (true);
1417: 
1417: 
1417: extern int __issignalingf (float __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: # 330 "/usr/include/math.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1417: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417:  extern float acosf (float __x) noexcept (true); extern float __acosf (float __x) noexcept (true);
1417: 
1417:  extern float asinf (float __x) noexcept (true); extern float __asinf (float __x) noexcept (true);
1417: 
1417:  extern float atanf (float __x) noexcept (true); extern float __atanf (float __x) noexcept (true);
1417: 
1417:  extern float atan2f (float __y, float __x) noexcept (true); extern float __atan2f (float __y, float __x) noexcept (true);
1417: 
1417: 
1417:  extern float cosf (float __x) noexcept (true); extern float __cosf (float __x) noexcpe __n1, const _CharT* __s,
1412:      size_type __n2) const
1412:     {
1412:       ;
1412:       _M_check(__pos, "basic_string::compare");
1412:       __n1 = _M_limit(__pos, __n1);
1412:       const size_type __len = std::min(__n1, __n2);
1412:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1412:       if (!__r)
1412:  __r = _S_compare(__n1, __n2);
1412:       return __r;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     basic_istream<_CharT, _Traits>&
1412:     operator>>(basic_istream<_CharT, _Traits>& __in,
1412:         basic_string<_CharT, _Traits, _Alloc>& __str)
1412:     {
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef typename __istream_type::ios_base __ios_base;
1412:       typedef typename __istream_type::int_type __int_type;
1412:       typedef typename __string_type::size_type __size_type;
1412:       typedef ctype<_CharT> __ctype_type;
1412:       typedef typename __ctype_type::ctype_base __ctype_base;
1412: 
1412:       __size_type __extracted = 0;
1412:       typename __ios_base::iostate __err = __ios_base::goodbit;
1412:       typename __istream_type::sentry __cerb(__in, false);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412: 
1412:        __str.erase();
1412:        _CharT __buf[128];
1412:        __size_type __len = 0;
1412:        const streamsize __w = __in.width();
1412:        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
1412:                                 : __str.max_size();
1412:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1412:        const __int_type __eof = _Traits::eof();
1412:        __int_type __c = __in.rdbuf()->sgetc();
1412: 
1412:        while (__extracted < __n
1412:        && !_Traits::eq_int_type(__c, __eof)
1412:        && !__ct.is(__ctype_base::space,
1412:      _Traits::to_char_type(__c)))
1412:   {
1412:     if (__len == sizeof(__buf) / sizeof(_CharT))
1412:       {
1412:         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
1412:         __len = 0;
1412:       }
1412:     __buf[__len++] = _Traits::to_char_type(__c);
1412:     ++__extracted;
1412:     __c = __in.rdbuf()->snextc();
1412:   }
1412:        __str.append(__buf, __len);
1412: 
1412:        if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
1412:   __err |= __ios_base::eofbit;
1412:        __in.width(0);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        __in._M_setstate(__ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      {
1412: 
1412: 
1412: 
1412:        __in._M_setstate(__ios_base::badbit);
1412:      }
1412:  }
1412: 
1412:       if (!__extracted)
1412:  __err |= __ios_base::failbit;
1412:       if (__err)
1412:  __in.setstate(__err);
1412:       return __in;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     basic_istream<_CharT, _Traits>&
1412:     getline(basic_istream<_CharT, _Traits>& __in,
1412:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1412:     {
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef typename __istream_type::ios_base __ios_base;
1412:       typedef typename __istream_type::int_type __int_type;
1412:       typedef typename __string_type::size_type __size_type;
1412: 
1412:       __size_type __extracted = 0;
1412:       const __size_type __n = __str.max_size();
1412:       typename __ios_base::iostate __err = __ios_base::goodbit;
1412:       typename __istream_type::sentry __cerb(__in, true);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412:        __str.erase();
1412:        const __int_type __idelim = _Traits::to_int_type(__delim);
1412:        const __int_type __eof = _Traits::eof();
1412:        __int_type __c = __in.rdbuf()->sgetc();
1412: 
1412:     ept (true);
1417: 
1417:  extern float sinf (float __x) noexcept (true); extern float __sinf (float __x) noexcept (true);
1417: 
1417:  extern float tanf (float __x) noexcept (true); extern float __tanf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern float coshf (float __x) noexcept (true); extern float __coshf (float __x) noexcept (true);
1417: 
1417:  extern float sinhf (float __x) noexcept (true); extern float __sinhf (float __x) noexcept (true);
1417: 
1417:  extern float tanhf (float __x) noexcept (true); extern float __tanhf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern void sincosf (float __x, float *__sinx, float *__cosx) noexcept (true); extern void __sincosf (float __x, float *__sinx, float *__cosx) noexcept (true)
1417:                                                         ;
1417: 
1417: 
1417: 
1417: 
1417:  extern float acoshf (float __x) noexcept (true); extern float __acoshf (float __x) noexcept (true);
1417: 
1417:  extern float asinhf (float __x) noexcept (true); extern float __asinhf (float __x) noexcept (true);
1417: 
1417:  extern float atanhf (float __x) noexcept (true); extern float __atanhf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern float expf (float __x) noexcept (true); extern float __expf (float __x) noexcept (true);
1417: 
1417: 
1417: extern float frexpf (float __x, int *__exponent) noexcept (true); extern float __frexpf (float __x, int *__exponent) noexcept (true);
1417: 
1417: 
1417: extern float ldexpf (float __x, int __exponent) noexcept (true); extern float __ldexpf (float __x, int __exponent) noexcept (true);
1417: 
1417: 
1417:  extern float logf (float __x) noexcept (true); extern float __logf (float __x) noexcept (true);
1417: 
1417: 
1417:  extern float log10f (float __x) noexcept (true); extern float __log10f (float __x) noexcept (true);
1417: 
1417: 
1417: extern float modff (float __x, float *__iptr) noexcept (true); extern float __modff (float __x, float *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417:  extern float exp10f (float __x) noexcept (true); extern float __exp10f (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern float expm1f (float __x) noexcept (true); extern float __expm1f (float __x) noexcept (true);
1417: 
1417: 
1417:  extern float log1pf (float __x) noexcept (true); extern float __log1pf (float __x) noexcept (true);
1417: 
1417: 
1417: extern float logbf (float __x) noexcept (true); extern float __logbf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern float exp2f (float __x) noexcept (true); extern float __exp2f (float __x) noexcept (true);
1417: 
1417: 
1417:  extern float log2f (float __x) noexcept (true); extern float __log2f (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern float powf (float __x, float __y) noexcept (true); extern float __powf (float __x, float __y) noexcept (true);
1417: 
1417: 
1417: extern float sqrtf (float __x) noexcept (true); extern float __sqrtf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern float hypotf (float __x, float __y) noexcept (true); extern float __hypotf (float __x, float __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern float cbrtf (float __x) noexcept (true); extern float __cbrtf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float ceilf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __ceilf (float __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fabsf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __fabsf (float __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float floorf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __floorf (float __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fmodf (float __x, float __y) noexcept (true); extern float __fmodf (float __x, float __y) noexcept (true);
1417: # 177 "/u609:     typename _Tp,
609:     typename _Hash = hash<_Key>,
609:     typename _Pred = std::equal_to<_Key>,
609:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
609:     typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>>
609:     using __ummap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
609:       _Alloc, __detail::_Select1st,
609:       _Pred, _Hash,
609:       __detail::_Mod_range_hashing,
609:       __detail::_Default_ranged_hash,
609:       __detail::_Prime_rehash_policy, _Tr>;
609: 
609:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
609:     class unordered_multimap;
609: # 98 "/usr/include/c++/12/bits/unordered_map.h" 3
609:   template<typename _Key, typename _Tp,
609:     typename _Hash = hash<_Key>,
609:     typename _Pred = equal_to<_Key>,
609:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
609:     class unordered_map
609:     {
609:       typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
609:       _Hashtable _M_h;
609: 
609:     public:
609: 
609: 
609: 
609:       typedef typename _Hashtable::key_type key_type;
609:       typedef typename _Hashtable::value_type value_type;
609:       typedef typename _Hashtable::mapped_type mapped_type;
609:       typedef typename _Hashtable::hasher hasher;
609:       typedef typename _Hashtable::key_equal key_equal;
609:       typedef typename _Hashtable::allocator_type allocator_type;
609: 
609: 
609: 
609: 
609:       typedef typename _Hashtable::pointer pointer;
609:       typedef typename _Hashtable::const_pointer const_pointer;
609:       typedef typename _Hashtable::reference reference;
609:       typedef typename _Hashtable::const_reference const_reference;
609:       typedef typename _Hashtable::iterator iterator;
609:       typedef typename _Hashtable::const_iterator const_iterator;
609:       typedef typename _Hashtable::local_iterator local_iterator;
609:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
609:       typedef typename _Hashtable::size_type size_type;
609:       typedef typename _Hashtable::difference_type difference_type;
609: 
609: 
609: 
609:       using node_type = typename _Hashtable::node_type;
609:       using insert_return_type = typename _Hashtable::insert_return_type;
609: 
609: 
609: 
609: 
609: 
609:       unordered_map() = default;
609: # 150 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       explicit
609:       unordered_map(size_type __n,
609:       const hasher& __hf = hasher(),
609:       const key_equal& __eql = key_equal(),
609:       const allocator_type& __a = allocator_type())
609:       : _M_h(__n, __hf, __eql, __a)
609:       { }
609: # 171 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename _InputIterator>
609:  unordered_map(_InputIterator __first, _InputIterator __last,
609:         size_type __n = 0,
609:         const hasher& __hf = hasher(),
609:         const key_equal& __eql = key_equal(),
609:         const allocator_type& __a = allocator_type())
609:  : _M_h(__first, __last, __n, __hf, __eql, __a)
609:  { }
609: 
609: 
609:       unordered_map(const unordered_map&) = default;
609: 
609: 
609:       unordered_map(unordered_map&&) = default;
609: 
609: 
609: 
609: 
609: 
609:       explicit
609:       unordered_map(const allocator_type& __a)
609:  : _M_h(__a)
609:       { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       unordered_map(const unordered_map& __umap,
609:       const allocator_type& __a)
609:       : _M_h(__umap._M_h, __a)
609:       { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       unordered_map(unordered_map&& __umap,
609:       const allocator_type& __a)
609:  noexcept( noexcept(_Hashtable(std::move(__umap._M_h), __a)) )
609:       : _M_h(std::move(__umap._M_h), __a)
609:       { }
609: # 227 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       unordered_map(initializer_list<value_type> __l,
609:       size_type __n = 0,
609:       const hasher& __hf = hasher(),
609:       const key_equal& __eql = key_equal(),
609:       const allocator_type& __a = allocator_type())
609:       : _M_h(__l, __n, __hf, __eql, __a)
609:       { }
609: 
609:       unordered_map(size_type __n, const allocator_type& __a)
609:       : unordered_map(__n, hasher(), key_equal(), __a)
609:       { }
609: 
609:       unordered_map(size_type __n, const hasher& __hf,
609:       const allocator_type& __a)
609:       : unordered_map(__n, __hf, key_equal(), __a)
609:       { }
609: 
609:       template<typename _InputIterator>
609:  unordered_map(_InputIterator __first, _InputIterator __last,
609:         size_type __n,
609:         const allocator_type& __a)
609:  : unordered_map(__first, __last, __n, hasher(), key_equal(), __a)
609:  { }
609: 
609:       template<typename _InputIterator>
609:  unordered_map(_InputIterator __first, _InputIterator __last,
609:         size_type __n, const hasher& __hf,
609:         const allocator_type& __a)
609:    : unordered_map(__first, __last, __n, __hf, key_equal(), __a)
609:  { }
609: 
609:       unordered_map(initializer_list<value_type> __l,
609:       size_type __n,
609:       const allocator_type& __a)
609:       : unordered_map(__l, __n, hasher(), key_equal(), __a)
609:       { }
609: 
609:       unordered_map(initializer_list<value_type> __l,
609:       size_type __n, const hasher& __hf,
609:       const allocator_type& __a)
609:       : unordered_map(__l, __n, __hf, key_equal(), __a)
609:       { }
609: 
609: 
609:       unordered_map&
609:       operator=(const unordered_map&) = default;
609: 
609: 
609:       unordered_map&
609:       operator=(unordered_map&&) = default;
609: # 289 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       unordered_map&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  _M_h = __l;
609:  return *this;
609:       }
609: 
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return _M_h.get_allocator(); }
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return _M_h.empty(); }
609: 
609: 
609:       size_type
609:       size() const noexcept
609:       { return _M_h.size(); }
609: 
609: 
609:       size_type
609:       max_size() const noexcept
609:       { return _M_h.max_size(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       begin() noexcept
609:       { return _M_h.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       begin() const noexcept
609:       { return _M_h.begin(); }
609: 
609:       const_iterator
609:       cbegin() const noexcept
609:       { return _M_h.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       end() noexcept
609:       { return _M_h.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       end() const noexcept
609:       { return _M_h.end(); }
609: 
609:       const_iterator
609:       cend() const noexcept
609:       { return _M_h.end(); }
609: # 386 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename... _Args>
609:  std::pair<iterator, bool>
609:  emplace(_Args&&... __args)
609:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
609: # 417 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace_hint(const_iterator __pos, _Args&&... __args)
609:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
609: 
609: 
609: 
609:       node_type
609:       extract(const_iterator __pos)
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
609:  return _M_h.extract(__pos);
609:       }
609: 
609: 
609:       node_type
609:       extract(const key_type& __key)
609:       { return _M_h.extract(__key); }
609: 
609: 
609:       insert_return_type
609:       insert(node_type&& __nh)
609:       { return _M_h._M_reinsert_node(std::move(__nh)); }
609: 
609: 
609:       iterator
609:       insert(const_iterator, node_type&& __nh)
609:       { return _M_h._M_reinsert_node(std::move(__nh)).position; }
609: # 469 "/sr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern int isinff (float __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int finitef (float __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern float dremf (float __x, float __y) noexcept (true); extern float __dremf (float __x, float __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float significandf (float __x) noexcept (true); extern float __significandf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern float nanf (const char *__tagb) noexcept (true); extern float __nanf (const char *__tagb) noexcept (true);
1417: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern int isnanf (float __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float j0f (float) noexcept (true); extern float __j0f (float) noexcept (true);
1417: extern float j1f (float) noexcept (true); extern float __j1f (float) noexcept (true);
1417: extern float jnf (int, float) noexcept (true); extern float __jnf (int, float) noexcept (true);
1417: extern float y0f (float) noexcept (true); extern float __y0f (float) noexcept (true);
1417: extern float y1f (float) noexcept (true); extern float __y1f (float) noexcept (true);
1417: extern float ynf (int, float) noexcept (true); extern float __ynf (int, float) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern float erff (float) noexcept (true); extern float __erff (float) noexcept (true);
1417:  extern float erfcf (float) noexcept (true); extern float __erfcf (float) noexcept (true);
1417: extern float lgammaf (float) noexcept (true); extern float __lgammaf (float) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern float tgammaf (float) noexcept (true); extern float __tgammaf (float) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float gammaf (float) noexcept (true); extern float __gammaf (float) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float lgammaf_r (float, int *__signgamp) noexcept (true); extern float __lgammaf_r (float, int *__signgamp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float rintf (float __x) noexcept (true); extern float __rintf (float __x) noexcept (true);
1417: 
1417: 
1417: extern float nextafterf (float __x, float __y) noexcept (true); extern float __nextafterf (float __x, float __y) noexcept (true);
1417: 
1417: extern float nexttowardf (float __x, long double __y) noexcept (true); extern float __nexttowardf (float __x, long double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern float nextdownf (float __x) noexcept (true); extern float __nextdownf (float __x) noexcept (true);
1417: 
1417: extern float nextupf (float __x) noexcept (true); extern float __nextupf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float remainderf (float __x, float __y) noexcept (true); extern float __remainderf (float __x, float __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float scalbnf (float __x, int __n) noexcept (true); extern float __scalbnf (float __x, int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int ilogbf (float __x) noexcept (true); extern int __ilogbf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long int llogbf (float __x) noexcept (true); extern long int __llogbf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern float scalblnf (float __x, long int __n) noexcept (true); extern float __scalblnf (float __x, long int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float nearbyintf (float __x) noexcept (true); extern float __nearbyintf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float roundf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundf (float __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern float truncf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __truncf (float __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern float remquof (float __x, float __y, int *__quo) noexcept (true); extern float __remquof (float __x, float __y, int *__quo) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int lrintf (float __x) noexcept (true); extern long int __lrintf (float __x) noexcept (true);
1417: __extension__
1417: extern long long int llrintf (float __x) noexcept (true); extern long long int __llrintf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long int lroundf (float __x) noexcept (true); extern long int __lroundf (float __x) noexcept (true);
1417: __extension__
1417: extern long long int llroundf (float __x) noexcept (true); extern long long int __llroundf (float __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float fdimf (float __x, float __y) noexcept (true); extern float __fdimf (float __x, float __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern float fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern float fmaf (float __x, float __y, float __z) noexcept (true); extern float __fmaf (float __x, float __y, float __z) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern float roundevenf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundevenf (float __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1417:                             ;
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1417:                               ;
1417: 
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1417:                              ;
1417: 
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1417:                                ;
1417: 
1417: 
1417: extern int canonicalizef (float *__cx, const float *__x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern float fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_numf (float _usr/include/c++/12/bits/unordered_map.h" 3
609:       template <typename... _Args>
609:  pair<iterator, bool>
609:  try_emplace(const key_type& __k, _Args&&... __args)
609:  {
609:    return _M_h.try_emplace(cend(), __k, std::forward<_Args>(__args)...);
609:  }
609: 
609: 
609:       template <typename... _Args>
609:  pair<iterator, bool>
609:  try_emplace(key_type&& __k, _Args&&... __args)
609:  {
609:    return _M_h.try_emplace(cend(), std::move(__k),
609:       std::forward<_Args>(__args)...);
609:  }
609: # 513 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template <typename... _Args>
609:  iterator
609:  try_emplace(const_iterator __hint, const key_type& __k,
609:       _Args&&... __args)
609:  {
609:    return _M_h.try_emplace(__hint, __k,
609:       std::forward<_Args>(__args)...).first;
609:  }
609: 
609: 
609:       template <typename... _Args>
609:  iterator
609:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
609:  {
609:    return _M_h.try_emplace(__hint, std::move(__k),
609:       std::forward<_Args>(__args)...).first;
609:  }
609: # 550 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       std::pair<iterator, bool>
609:       insert(const value_type& __x)
609:       { return _M_h.insert(__x); }
609: 
609: 
609: 
609:       std::pair<iterator, bool>
609:       insert(value_type&& __x)
609:       { return _M_h.insert(std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair&&>::value,
609:         pair<iterator, bool>>
609:  insert(_Pair&& __x)
609:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
609: # 589 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       insert(const_iterator __hint, const value_type& __x)
609:       { return _M_h.insert(__hint, __x); }
609: 
609: 
609: 
609:       iterator
609:       insert(const_iterator __hint, value_type&& __x)
609:       { return _M_h.insert(__hint, std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
609:  insert(const_iterator __hint, _Pair&& __x)
609:  { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
609: # 614 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename _InputIterator>
609:  void
609:  insert(_InputIterator __first, _InputIterator __last)
609:  { _M_h.insert(__first, __last); }
609: # 626 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       insert(initializer_list<value_type> __l)
609:       { _M_h.insert(__l); }
609: # 652 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template <typename _Obj>
609:  pair<iterator, bool>
609:  insert_or_assign(const key_type& __k, _Obj&& __obj)
609:  {
609:    auto __ret = _M_h.try_emplace(cend(), __k,
609:      std::forward<_Obj>(__obj));
609:    if (!__ret.second)
609:      __ret.first->second = std::forward<_Obj>(__obj);
609:    return __ret;
609:  }
609: 
609: 
609:       template <typename _Obj>
609:  pair<iterator, bool>
609:  insert_or_assign(key_type&& __k, _Obj&& __obj)
609:  {
609:    auto __ret = _M_h.try_emplace(cend(), std::move(__k),
609:      std::forward<_Obj>(__obj));
609:    if (!__ret.second)
609:      __ret.first->second = std::forward<_Obj>(__obj);
609:    return __ret;
609:  }
609: # 701 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template <typename _Obj>
609:  iterator
609:  insert_or_assign(const_iterator __hint, const key_type& __k,
609:     _Obj&& __obj)
609:  {
609:    auto __ret = _M_h.try_emplace(__hint, __k, std::forward<_Obj>(__obj));
609:    if (!__ret.second)
609:      __ret.first->second = std::forward<_Obj>(__obj);
609:    return __ret.first;
609:  }
609: 
609: 
609:       template <typename _Obj>
609:  iterator
609:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
609:  {
609:    auto __ret = _M_h.try_emplace(__hint, std::move(__k),
609:      std::forward<_Obj>(__obj));
609:    if (!__ret.second)
609:      __ret.first->second = std::forward<_Obj>(__obj);
609:    return __ret.first;
609:  }
609: # 739 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       erase(const_iterator __position)
609:       { return _M_h.erase(__position); }
609: 
609: 
609:       iterator
609:       erase(iterator __position)
609:       { return _M_h.erase(__position); }
609: # 761 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       size_type
609:       erase(const key_type& __x)
609:       { return _M_h.erase(__x); }
609: # 779 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       erase(const_iterator __first, const_iterator __last)
609:       { return _M_h.erase(__first, __last); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       clear() noexcept
609:       { _M_h.clear(); }
609: # 803 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       swap(unordered_map& __x)
609:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
609:       { _M_h.swap(__x._M_h); }
609: 
609: 
609:       template<typename, typename, typename>
609:  friend class std::_Hash_merge_helper;
609: 
609:       template<typename _H2, typename _P2>
609:  void
609:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
609:  {
609:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
609:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
609:  }
609: 
609:       template<typename _H2, typename _P2>
609:  void
609:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
609:  { merge(__source); }
609: 
609:       template<typename _H2, typename _P2>
609:  void
609:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
609:  {
609:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
609:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
609:  }
609: 
609:       template<typename _H2, typename _P2>
609:  void
609:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
609:  { merge(__source); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       hasher
609:       hash_function() const
609:       { return _M_h.hash_function(); }
609: 
609: 
609: 
609:       key_equal
609:       key_eq() const
609:       { return _M_h.key_eq(); }
609: # 867 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       find(const key_type& __x)
609:       { return _M_h.find(__x); }
609: # 878 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       const_iterator
609:       find(const key_type& __x) const
609:       { return _M_h.find(__x); }
609: # 900 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       size_type
609:       count(const key_type& __x) const
609:       { return _M_h.count(__x); }
609: # 940 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       std::pair<iterator, iterator>
609:       equal_range(const key_type& __x)
609:       { return _M_h.equal_range(__x); }
609: # 952 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       std::pair<const_iterator, const_iterator>
609:       equal_range(const key_type& __x) const
609:       { return _M_h.equal_range(__x); }
609: # 978 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       mapped_type&
609:       operator[](const key_type& __k)
609:       { return _M_h[__k]; }
609: 
609:       mapped_type&
609:       operator[](key_type&& __k)
609:       { return _M_h[std::move(__k)]; }
609: # 995 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       mapped_type&
609:       at(const key_type& __k)
609:       { return _M_h.at(__k); }
609: 
609:       const mapped_type&
609:       at(const key_type& __k) const
609:       { return _M_h.at(__k); }
609: 
609: 
609: 
609: 
609: 
609:       size_type
609:       bucket_count() const noexcept
609:       { return _M_h.bucket_count(); }
609: 
609: 
609:       size_type
609:       max_bucket_count() const noexcept
609:       { return _M_h.max_bucket_count(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       size_type
609:       bucket_size(size_type __n) const
609:       { return _M_h.bucket_size(__n); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       size_type
609:       bucket(const key_type& __key)_x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern float fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int totalorderf (const float *__x, const float *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern int totalordermagf (const float *__x, const float *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern float getpayloadf (const float *__x) noexcept (true); extern float __getpayloadf (const float *__x) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadf (float *__x, float __payload) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadsigf (float *__x, float __payload) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern float scalbf (float __x, float __n) noexcept (true); extern float __scalbf (float __x, float __n) noexcept (true);
1417: # 331 "/usr/include/math.h" 2 3 4
1417: # 398 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1417: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1417: extern int __fpclassifyl (long double __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __signbitl (long double __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern int __isinfl (long double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __finitel (long double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __isnanl (long double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern int __iseqsigl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern int __issignalingl (long double __value) noexcept (true)
1417:      __attribute__ ((__const__));
1417: # 399 "/usr/include/math.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1417: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417:  extern long double acosl (long double __x) noexcept (true); extern long double __acosl (long double __x) noexcept (true);
1417: 
1417:  extern long double asinl (long double __x) noexcept (true); extern long double __asinl (long double __x) noexcept (true);
1417: 
1417:  extern long double atanl (long double __x) noexcept (true); extern long double __atanl (long double __x) noexcept (true);
1417: 
1417:  extern long double atan2l (long double __y, long double __x) noexcept (true); extern long double __atan2l (long double __y, long double __x) noexcept (true);
1417: 
1417: 
1417:  extern long double cosl (long double __x) noexcept (true); extern long double __cosl (long double __x) noexcept (true);
1417: 
1417:  extern long double sinl (long double __x) noexcept (true); extern long double __sinl (long double __x) noexcept (true);
1417: 
1417:  extern long double tanl (long double __x) noexcept (true); extern long double __tanl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern long double coshl (long double __x) noexcept (true); extern long double __coshl (long double __x) noexcept (true);
1417: 
1417:  extern long double sinhl (long double __x) noexcept (true); extern long double __sinhl (long double __x) noexcept (true);
1417: 
1417:  extern long double tanhl (long double __x) noexcept (true); extern long double __tanhl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern void sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true)
1417:                                                         ;
1417: 
1417: 
1417: 
1417: 
1417:  extern long double acoshl (long double __x) noexcept (true); extern long double __acoshl (long double __x) noexcept (true);
1417: 
1417:  extern long double asinhl (long double __x) noexcept (true); extern long double __asinhl (long double __x) noexcept (true);
1417: 
1417:  extern long double atanhl (long double __x) noexcept (true); extern long double __atanhl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern long double expl (long double __x) noexcept (true); extern long double __expl (long double __x) noexcept (true);
1417: 
1417: 
1417: extern long double frexpl (long double __x, int *__exponent) noexcept (true); extern long double __frexpl (long double __x, int *__exponent) noexcept (true);
1417: 
1417: 
1417: extern long double ldexpl (long double __x, int __exponent) noexcept (true); extern long double __ldexpl (long double __x, int __exponent) noexcept (true);
1417: 
1417: 
1417:  extern long double logl (long double __x) noexcept (true); extern long double __logl (long double __x) noexcept (true);
1417: 
1417: 
1417:  extern long double log10l (long double __x) noexcept (true); extern long double __log10l (long double __x) noexcept (true);
1417: 
1417: 
1417: extern long double modfl (long double __x, long double *__iptr) noexcept (true); extern long double __modfl (long double __x, long double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417:  extern long double exp10l (long double __x) noexcept (true); extern long double __exp10l (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern long double expm1l (long double __x) noexcept (true); extern long double __expm1l (long double __x) noexcept (true);
1417: 
1417: 
1417:  extern long double log1pl (long double __x) noexcept (true); extern long double __log1pl (long double __x) noexcept (true);
1417: 
1417: 
1417: extern long double logbl (long double __x) noexcept (true); extern long double __logbl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern long double exp2l (long double __x) noexcept (true); extern long double __exp2l (long double __x) noexcept (true);
1417: 
1417: 
1417:  extern long double log2l (long double __x) noexcept (true); extern long double __log2l (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern long double powl (long double __x, long double __y) noexcept (true); extern long double __powl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern long double sqrtl (long double __x) noexcept (true); extern long double __sqrtl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern long double hypotl (long double __x, long double __y) noexcept (true); extern long double __hypotl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern long double cbrtl (long double __x) noexcept (true); extern long double __cbrtl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double ceill (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __ceill (long double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fabsl (long double __x) n const
609:       { return _M_h.bucket(__key); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       local_iterator
609:       begin(size_type __n)
609:       { return _M_h.begin(__n); }
609: # 1051 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       const_local_iterator
609:       begin(size_type __n) const
609:       { return _M_h.begin(__n); }
609: 
609:       const_local_iterator
609:       cbegin(size_type __n) const
609:       { return _M_h.cbegin(__n); }
609: # 1066 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       local_iterator
609:       end(size_type __n)
609:       { return _M_h.end(__n); }
609: # 1077 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       const_local_iterator
609:       end(size_type __n) const
609:       { return _M_h.end(__n); }
609: 
609:       const_local_iterator
609:       cend(size_type __n) const
609:       { return _M_h.cend(__n); }
609: 
609: 
609: 
609: 
609: 
609:       float
609:       load_factor() const noexcept
609:       { return _M_h.load_factor(); }
609: 
609: 
609: 
609:       float
609:       max_load_factor() const noexcept
609:       { return _M_h.max_load_factor(); }
609: 
609: 
609: 
609: 
609: 
609:       void
609:       max_load_factor(float __z)
609:       { _M_h.max_load_factor(__z); }
609: # 1114 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       rehash(size_type __n)
609:       { _M_h.rehash(__n); }
609: # 1125 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       reserve(size_type __n)
609:       { _M_h.reserve(__n); }
609: 
609:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
609:         typename _Alloc1>
609:         friend bool
609:  operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&,
609:      const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&);
609:     };
609: 
609: 
609: 
609:   template<typename _InputIterator,
609:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
609:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
609:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireNotAllocator<_Pred>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(_InputIterator, _InputIterator,
609:     typename unordered_map<int, int>::size_type = {},
609:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
609:     -> unordered_map<__iter_key_t<_InputIterator>,
609:        __iter_val_t<_InputIterator>,
609:        _Hash, _Pred, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
609:     typename _Pred = equal_to<_Key>,
609:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireNotAllocator<_Pred>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(initializer_list<pair<_Key, _Tp>>,
609:     typename unordered_map<int, int>::size_type = {},
609:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
609:     -> unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>;
609: 
609:   template<typename _InputIterator, typename _Allocator,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(_InputIterator, _InputIterator,
609:     typename unordered_map<int, int>::size_type, _Allocator)
609:     -> unordered_map<__iter_key_t<_InputIterator>,
609:        __iter_val_t<_InputIterator>,
609:        hash<__iter_key_t<_InputIterator>>,
609:        equal_to<__iter_key_t<_InputIterator>>,
609:        _Allocator>;
609: 
609:   template<typename _InputIterator, typename _Allocator,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(_InputIterator, _InputIterator, _Allocator)
609:     -> unordered_map<__iter_key_t<_InputIterator>,
609:        __iter_val_t<_InputIterator>,
609:        hash<__iter_key_t<_InputIterator>>,
609:        equal_to<__iter_key_t<_InputIterator>>,
609:        _Allocator>;
609: 
609:   template<typename _InputIterator, typename _Hash, typename _Allocator,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(_InputIterator, _InputIterator,
609:     typename unordered_map<int, int>::size_type,
609:     _Hash, _Allocator)
609:     -> unordered_map<__iter_key_t<_InputIterator>,
609:        __iter_val_t<_InputIterator>, _Hash,
609:        equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Allocator,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(initializer_list<pair<_Key, _Tp>>,
609:     typename unordered_map<int, int>::size_type,
609:     _Allocator)
609:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Allocator,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(initializer_list<pair<_Key, _Tp>>, _Allocator)
609:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_map(initializer_list<pair<_Key, _Tp>>,
609:     typename unordered_map<int, int>::size_type,
609:     _Hash, _Allocator)
609:     -> unordered_map<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
609: # 1241 "/usr/include/c++/12/bits/unordered_map.h" 3
609:   template<typename _Key, typename _Tp,
609:     typename _Hash = hash<_Key>,
609:     typename _Pred = equal_to<_Key>,
609:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
609:     class unordered_multimap
609:     {
609:       typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
609:       _Hashtable _M_h;
609: 
609:     public:
609: 
609: 
609: 
609:       typedef typename _Hashtable::key_type key_type;
609:       typedef typename _Hashtable::value_type value_type;
609:       typedef typename _Hashtable::mapped_type mapped_type;
609:       typedef typename _Hashtable::hasher hasher;
609:       typedef typename _Hashtable::key_equal key_equal;
609:       typedef typename _Hashtable::allocator_type allocator_type;
609: 
609: 
609: 
609: 
609:       typedef typename _Hashtable::pointer pointer;
609:       typedef typename _Hashtable::const_pointer const_pointer;
609:       typedef typename _Hashtable::reference reference;
609:       typedef typename _Hashtable::const_reference const_reference;
609:       typedef typename _Hashtable::iterator iterator;
609:       typedef typename _Hashtable::const_iterator const_iterator;
609:       typedef typename _Hashtable::local_iterator local_iterator;
609:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
609:       typedef typename _Hashtable::size_type size_type;
609:       typedef typename _Hashtable::difference_type difference_type;
609: 
609: 
609: 
609:       using node_type = typename _Hashtable::node_type;
609: 
609: 
609: 
609: 
609: 
609:       unordered_multimap() = default;
609: # 1292 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       explicit
609:       unordered_multimap(size_type __n,
609:     const hasher& __hf = hasher(),
609:     const key_equal& __eql = key_equal(),
609:     const allocator_type& __a = allocator_type())
609:       : _M_h(__n, __hf, __eql, __a)
609:       { }
609: # 1313 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename _InputIterator>
609:  unordered_multimap(_InputIterator __first, _InputIterator __last,
609:       size_type __n = 0,
609:       const hasher& __hf = hasher(),
609:       const key_equal& __eql = key_equal(),
609:       const allocator_type& __a = allocator_type())
609:  : _M_h(__first, __last, __n, oexcept (true) __attribute__ ((__const__)); extern long double __fabsl (long double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double floorl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __floorl (long double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fmodl (long double __x, long double __y) noexcept (true); extern long double __fmodl (long double __x, long double __y) noexcept (true);
1417: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern int isinfl (long double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int finitel (long double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double dreml (long double __x, long double __y) noexcept (true); extern long double __dreml (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long double significandl (long double __x) noexcept (true); extern long double __significandl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern long double nanl (const char *__tagb) noexcept (true); extern long double __nanl (const char *__tagb) noexcept (true);
1417: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern int isnanl (long double __value) noexcept (true)
1417:   __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double j0l (long double) noexcept (true); extern long double __j0l (long double) noexcept (true);
1417: extern long double j1l (long double) noexcept (true); extern long double __j1l (long double) noexcept (true);
1417: extern long double jnl (int, long double) noexcept (true); extern long double __jnl (int, long double) noexcept (true);
1417: extern long double y0l (long double) noexcept (true); extern long double __y0l (long double) noexcept (true);
1417: extern long double y1l (long double) noexcept (true); extern long double __y1l (long double) noexcept (true);
1417: extern long double ynl (int, long double) noexcept (true); extern long double __ynl (int, long double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern long double erfl (long double) noexcept (true); extern long double __erfl (long double) noexcept (true);
1417:  extern long double erfcl (long double) noexcept (true); extern long double __erfcl (long double) noexcept (true);
1417: extern long double lgammal (long double) noexcept (true); extern long double __lgammal (long double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long double tgammal (long double) noexcept (true); extern long double __tgammal (long double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double gammal (long double) noexcept (true); extern long double __gammal (long double) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double lgammal_r (long double, int *__signgamp) noexcept (true); extern long double __lgammal_r (long double, int *__signgamp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double rintl (long double __x) noexcept (true); extern long double __rintl (long double __x) noexcept (true);
1417: 
1417: 
1417: extern long double nextafterl (long double __x, long double __y) noexcept (true); extern long double __nextafterl (long double __x, long double __y) noexcept (true);
1417: 
1417: extern long double nexttowardl (long double __x, long double __y) noexcept (true); extern long double __nexttowardl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long double nextdownl (long double __x) noexcept (true); extern long double __nextdownl (long double __x) noexcept (true);
1417: 
1417: extern long double nextupl (long double __x) noexcept (true); extern long double __nextupl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long double remainderl (long double __x, long double __y) noexcept (true); extern long double __remainderl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long double scalbnl (long double __x, int __n) noexcept (true); extern long double __scalbnl (long double __x, int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int ilogbl (long double __x) noexcept (true); extern int __ilogbl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long int llogbl (long double __x) noexcept (true); extern long int __llogbl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long double scalblnl (long double __x, long int __n) noexcept (true); extern long double __scalblnl (long double __x, long int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long double nearbyintl (long double __x) noexcept (true); extern long double __nearbyintl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long double roundl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundl (long double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern long double truncl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __truncl (long double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern long double remquol (long double __x, long double __y, int *__quo) noexcept (true); extern long double __remquol (long double __x, long double __y, int *__quo) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int lrintl (long double __x) noexcept (true); extern long int __lrintl (long double __x) noexcept (true);
1417: __extension__
1417: extern long long int llrintl (long double __x) noexcept (true); extern long long int __llrintl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long int lroundl (long double __x) noexcept (true); extern long int __lroundl (long double __x) noexcept (true);
1417: __extension__
1417: extern long long int llroundl (long double __x) noexcept (true); extern long long int __llroundl (long double __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long double fdiml (long double __x, long double __y) noexcept (true); extern long double __fdiml (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long double fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern long double fmal (long double __x, long double __y, long double __z) noexcept (true); extern long double __fmal (long double __x, long double __y, long double __z) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long double roundevenl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
1417:                             ;
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
1417:                               ;
1417: 
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpxl (long double ___hf, __eql, __a)
609:  { }
609: 
609: 
609:       unordered_multimap(const unordered_multimap&) = default;
609: 
609: 
609:       unordered_multimap(unordered_multimap&&) = default;
609: 
609: 
609: 
609: 
609: 
609:       explicit
609:       unordered_multimap(const allocator_type& __a)
609:       : _M_h(__a)
609:       { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       unordered_multimap(const unordered_multimap& __ummap,
609:     const allocator_type& __a)
609:       : _M_h(__ummap._M_h, __a)
609:       { }
609: 
609: 
609: 
609: 
609: 
609: 
609:       unordered_multimap(unordered_multimap&& __ummap,
609:     const allocator_type& __a)
609:  noexcept( noexcept(_Hashtable(std::move(__ummap._M_h), __a)) )
609:       : _M_h(std::move(__ummap._M_h), __a)
609:       { }
609: # 1369 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       unordered_multimap(initializer_list<value_type> __l,
609:     size_type __n = 0,
609:     const hasher& __hf = hasher(),
609:     const key_equal& __eql = key_equal(),
609:     const allocator_type& __a = allocator_type())
609:       : _M_h(__l, __n, __hf, __eql, __a)
609:       { }
609: 
609:       unordered_multimap(size_type __n, const allocator_type& __a)
609:       : unordered_multimap(__n, hasher(), key_equal(), __a)
609:       { }
609: 
609:       unordered_multimap(size_type __n, const hasher& __hf,
609:     const allocator_type& __a)
609:       : unordered_multimap(__n, __hf, key_equal(), __a)
609:       { }
609: 
609:       template<typename _InputIterator>
609:  unordered_multimap(_InputIterator __first, _InputIterator __last,
609:       size_type __n,
609:       const allocator_type& __a)
609:  : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a)
609:  { }
609: 
609:       template<typename _InputIterator>
609:  unordered_multimap(_InputIterator __first, _InputIterator __last,
609:       size_type __n, const hasher& __hf,
609:       const allocator_type& __a)
609:  : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a)
609:  { }
609: 
609:       unordered_multimap(initializer_list<value_type> __l,
609:     size_type __n,
609:     const allocator_type& __a)
609:       : unordered_multimap(__l, __n, hasher(), key_equal(), __a)
609:       { }
609: 
609:       unordered_multimap(initializer_list<value_type> __l,
609:     size_type __n, const hasher& __hf,
609:     const allocator_type& __a)
609:       : unordered_multimap(__l, __n, __hf, key_equal(), __a)
609:       { }
609: 
609: 
609:       unordered_multimap&
609:       operator=(const unordered_multimap&) = default;
609: 
609: 
609:       unordered_multimap&
609:       operator=(unordered_multimap&&) = default;
609: # 1431 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       unordered_multimap&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  _M_h = __l;
609:  return *this;
609:       }
609: 
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return _M_h.get_allocator(); }
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return _M_h.empty(); }
609: 
609: 
609:       size_type
609:       size() const noexcept
609:       { return _M_h.size(); }
609: 
609: 
609:       size_type
609:       max_size() const noexcept
609:       { return _M_h.max_size(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       begin() noexcept
609:       { return _M_h.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       begin() const noexcept
609:       { return _M_h.begin(); }
609: 
609:       const_iterator
609:       cbegin() const noexcept
609:       { return _M_h.begin(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       iterator
609:       end() noexcept
609:       { return _M_h.end(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       const_iterator
609:       end() const noexcept
609:       { return _M_h.end(); }
609: 
609:       const_iterator
609:       cend() const noexcept
609:       { return _M_h.end(); }
609: # 1523 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace(_Args&&... __args)
609:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
609: # 1550 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace_hint(const_iterator __pos, _Args&&... __args)
609:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
609: # 1565 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       insert(const value_type& __x)
609:       { return _M_h.insert(__x); }
609: 
609:       iterator
609:       insert(value_type&& __x)
609:       { return _M_h.insert(std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
609:  insert(_Pair&& __x)
609:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
609: # 1599 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       insert(const_iterator __hint, const value_type& __x)
609:       { return _M_h.insert(__hint, __x); }
609: 
609: 
609: 
609:       iterator
609:       insert(const_iterator __hint, value_type&& __x)
609:       { return _M_h.insert(__hint, std::move(__x)); }
609: 
609:       template<typename _Pair>
609:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
609:  insert(const_iterator __hint, _Pair&& __x)
609:         { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
609: # 1624 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       template<typename _InputIterator>
609:  void
609:  insert(_InputIterator __first, _InputIterator __last)
609:  { _M_h.insert(__first, __last); }
609: # 1637 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       insert(initializer_list<value_type> __l)
609:       { _M_h.insert(__l); }
609: 
609: 
609: 
609:       node_type
609:       extract(const_iterator __pos)
609:       {
609:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
609:  return _M_h.extract(__pos);
609:       }
609: 
609: 
609:       node_type
609:       extract(const key_type& __key)
609:       { return _M_h.extract(__key); }
609: 
609: 
609:       iterator
609:       insert(node_type&& __nh)
609:       { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); }
609: 
609: 
609:       iterator
609:       insert(const_iterator __hint, node_type&& __nh)
609:       { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); }
609: # 1680 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       erase(const_iterator __position)
609:       { return _M_h.erase(__position); }
609: 
609: 
609:       iterator
609:       erase(iterator __position)
609:       { return _M_h.erase(__position); }
609: # 1701 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       size_type
609:       erase(const key_type& __x)
609:       { return _M_h.erase(__x); }
609: # 1720 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       erase(const_iterator __first, const_iterator __last)
609:       { return _M_h.erase(__first, __last); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       clear() noexcept
609:       { _M_h.clear(); }
609: # 1744 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       swap(unordered_multimap& __x)
609:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
609:       { _M_h.swap(__x._M_h); }
609: 
609: 
609:       template<typename, typename, typename>
609:  friend class std::_Hash_merge_helper;
609: 
609:       template<typename _H2, typename _P2>
609:  void
609:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
609:  {
609:    using _Merge_helper
609:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
609:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
609:  }
609: 
609:       template<typename _H2, typename _P2>
609:  void
609:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
609:  { merge(__source); }
609: 
609:       template<typenam_x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1417:                              ;
1417: 
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1417:                                ;
1417: 
1417: 
1417: extern int canonicalizel (long double *__cx, const long double *__x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern long double fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern long double fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int totalorderl (const long double *__x, const long double *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern int totalordermagl (const long double *__x, const long double *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern long double getpayloadl (const long double *__x) noexcept (true); extern long double __getpayloadl (const long double *__x) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadl (long double *__x, long double __payload) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadsigl (long double *__x, long double __payload) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long double scalbl (long double __x, long double __n) noexcept (true); extern long double __scalbl (long double __x, long double __n) noexcept (true);
1417: # 400 "/usr/include/math.h" 2 3 4
1417: # 450 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1417: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417:  extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 coshf32 (_Float32 __x) noexcept (true); extern _Float32 __coshf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 sinhf32 (_Float32 __x) noexcept (true); extern _Float32 __sinhf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 tanhf32 (_Float32 __x) noexcept (true); extern _Float32 __tanhf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true)
1417:                                                         ;
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 acoshf32 (_Float32 __x) noexcept (true); extern _Float32 __acoshf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 asinhf32 (_Float32 __x) noexcept (true); extern _Float32 __asinhf32 (_Float32 __x) noexcept (true);
1417: 
1417:  extern _Float32 atanhf32 (_Float32 __x) noexcept (true); extern _Float32 __atanhf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 expf32 (_Float32 __x) noexcept (true); extern _Float32 __expf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) noexcept (true); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) noexcept (true);
1417: 
1417: 
1417: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) noexcept (true); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) noexcept (true);
1417: 
1417: 
1417:  extern _Float32 logf32 (_Float32 __x) noexcept (true); extern _Float32 __logf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32 log10f32 (_Float32 __x) noexcept (true); extern _Float32 __log10f32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417:  extern _Float32 exp10f32 (_Float32 __x) noexcept (true); extern _Float32 __exp10f32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 expm1f32 (_Float32 __x) noexcept (true); extern _Float32 __expm1f32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32 log1pf32 (_Float32 __x) noexcept (true); extern _Float32 __log1pf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32 logbf32 (_Float32 __x) noexcept (true); extern _Float32 __logbf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 exp2f32 (_Float32 __x) noexcept (true); extern _Float32 __exp2f32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32 log2f32 (_Float32 __x) noexcept (true); extern _Float32 __log2f32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 powf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __powf32 (_Float32 __x, _Float32 __ye _H2, typename _P2>
609:  void
609:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
609:  {
609:    using _Merge_helper
609:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
609:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
609:  }
609: 
609:       template<typename _H2, typename _P2>
609:  void
609:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
609:  { merge(__source); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       hasher
609:       hash_function() const
609:       { return _M_h.hash_function(); }
609: 
609: 
609: 
609:       key_equal
609:       key_eq() const
609:       { return _M_h.key_eq(); }
609: # 1810 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       iterator
609:       find(const key_type& __x)
609:       { return _M_h.find(__x); }
609: # 1821 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       const_iterator
609:       find(const key_type& __x) const
609:       { return _M_h.find(__x); }
609: # 1839 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       size_type
609:       count(const key_type& __x) const
609:       { return _M_h.count(__x); }
609: # 1877 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       std::pair<iterator, iterator>
609:       equal_range(const key_type& __x)
609:       { return _M_h.equal_range(__x); }
609: # 1889 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       std::pair<const_iterator, const_iterator>
609:       equal_range(const key_type& __x) const
609:       { return _M_h.equal_range(__x); }
609: # 1905 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       size_type
609:       bucket_count() const noexcept
609:       { return _M_h.bucket_count(); }
609: 
609: 
609:       size_type
609:       max_bucket_count() const noexcept
609:       { return _M_h.max_bucket_count(); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       size_type
609:       bucket_size(size_type __n) const
609:       { return _M_h.bucket_size(__n); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       size_type
609:       bucket(const key_type& __key) const
609:       { return _M_h.bucket(__key); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       local_iterator
609:       begin(size_type __n)
609:       { return _M_h.begin(__n); }
609: # 1949 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       const_local_iterator
609:       begin(size_type __n) const
609:       { return _M_h.begin(__n); }
609: 
609:       const_local_iterator
609:       cbegin(size_type __n) const
609:       { return _M_h.cbegin(__n); }
609: # 1964 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       local_iterator
609:       end(size_type __n)
609:       { return _M_h.end(__n); }
609: # 1975 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       const_local_iterator
609:       end(size_type __n) const
609:       { return _M_h.end(__n); }
609: 
609:       const_local_iterator
609:       cend(size_type __n) const
609:       { return _M_h.cend(__n); }
609: 
609: 
609: 
609: 
609: 
609:       float
609:       load_factor() const noexcept
609:       { return _M_h.load_factor(); }
609: 
609: 
609: 
609:       float
609:       max_load_factor() const noexcept
609:       { return _M_h.max_load_factor(); }
609: 
609: 
609: 
609: 
609: 
609:       void
609:       max_load_factor(float __z)
609:       { _M_h.max_load_factor(__z); }
609: # 2012 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       rehash(size_type __n)
609:       { _M_h.rehash(__n); }
609: # 2023 "/usr/include/c++/12/bits/unordered_map.h" 3
609:       void
609:       reserve(size_type __n)
609:       { _M_h.reserve(__n); }
609: 
609:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
609:         typename _Alloc1>
609:         friend bool
609:  operator==(const unordered_multimap<_Key1, _Tp1,
609:          _Hash1, _Pred1, _Alloc1>&,
609:      const unordered_multimap<_Key1, _Tp1,
609:          _Hash1, _Pred1, _Alloc1>&);
609:     };
609: 
609: 
609: 
609:   template<typename _InputIterator,
609:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
609:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
609:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireNotAllocator<_Pred>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(_InputIterator, _InputIterator,
609:          unordered_multimap<int, int>::size_type = {},
609:          _Hash = _Hash(), _Pred = _Pred(),
609:          _Allocator = _Allocator())
609:     -> unordered_multimap<__iter_key_t<_InputIterator>,
609:      __iter_val_t<_InputIterator>, _Hash, _Pred,
609:      _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
609:     typename _Pred = equal_to<_Key>,
609:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireNotAllocator<_Pred>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
609:          unordered_multimap<int, int>::size_type = {},
609:          _Hash = _Hash(), _Pred = _Pred(),
609:          _Allocator = _Allocator())
609:     -> unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>;
609: 
609:   template<typename _InputIterator, typename _Allocator,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(_InputIterator, _InputIterator,
609:          unordered_multimap<int, int>::size_type, _Allocator)
609:     -> unordered_multimap<__iter_key_t<_InputIterator>,
609:      __iter_val_t<_InputIterator>,
609:      hash<__iter_key_t<_InputIterator>>,
609:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
609: 
609:   template<typename _InputIterator, typename _Allocator,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(_InputIterator, _InputIterator, _Allocator)
609:     -> unordered_multimap<__iter_key_t<_InputIterator>,
609:      __iter_val_t<_InputIterator>,
609:      hash<__iter_key_t<_InputIterator>>,
609:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
609: 
609:   template<typename _InputIterator, typename _Hash, typename _Allocator,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(_InputIterator, _InputIterator,
609:          unordered_multimap<int, int>::size_type, _Hash,
609:          _Allocator)
609:     -> unordered_multimap<__iter_key_t<_InputIterator>,
609:      __iter_val_t<_InputIterator>, _Hash,
609:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Allocator,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
609:          unordered_multimap<int, int>::size_type,
609:          _Allocator)
609:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Allocator,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
609:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
609: 
609:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
609:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
609:     typename = _RequireAllocator<_Allocator>>
609:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
609:          unordered_multimap<int, int>::size_type,
609:          _Hash, _Allocator)
609:     -> unordered_multimap<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
609: 
609: 
609: 
609:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
609:     inline void
609:     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32 sqrtf32 (_Float32 __x) noexcept (true); extern _Float32 __sqrtf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 cbrtf32 (_Float32 __x) noexcept (true); extern _Float32 __cbrtf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) noexcept (true);
1417: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 nanf32 (const char *__tagb) noexcept (true); extern _Float32 __nanf32 (const char *__tagb) noexcept (true);
1417: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float32 j0f32 (_Float32) noexcept (true); extern _Float32 __j0f32 (_Float32) noexcept (true);
1417: extern _Float32 j1f32 (_Float32) noexcept (true); extern _Float32 __j1f32 (_Float32) noexcept (true);
1417: extern _Float32 jnf32 (int, _Float32) noexcept (true); extern _Float32 __jnf32 (int, _Float32) noexcept (true);
1417: extern _Float32 y0f32 (_Float32) noexcept (true); extern _Float32 __y0f32 (_Float32) noexcept (true);
1417: extern _Float32 y1f32 (_Float32) noexcept (true); extern _Float32 __y1f32 (_Float32) noexcept (true);
1417: extern _Float32 ynf32 (int, _Float32) noexcept (true); extern _Float32 __ynf32 (int, _Float32) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32 erff32 (_Float32) noexcept (true); extern _Float32 __erff32 (_Float32) noexcept (true);
1417:  extern _Float32 erfcf32 (_Float32) noexcept (true); extern _Float32 __erfcf32 (_Float32) noexcept (true);
1417: extern _Float32 lgammaf32 (_Float32) noexcept (true); extern _Float32 __lgammaf32 (_Float32) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 tgammaf32 (_Float32) noexcept (true); extern _Float32 __tgammaf32 (_Float32) noexcept (true);
1417: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) noexcept (true); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 rintf32 (_Float32 __x) noexcept (true); extern _Float32 __rintf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 nextdownf32 (_Float32 __x) noexcept (true); extern _Float32 __nextdownf32 (_Float32 __x) noexcept (true);
1417: 
1417: extern _Float32 nextupf32 (_Float32 __x) noexcept (true); extern _Float32 __nextupf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32 scalbnf32 (_Float32 __x, int __n) noexcept (true); extern _Float32 __scalbnf32 (_Float32 __x, int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int ilogbf32 (_Float32 __x) noexcept (true); extern int __ilogbf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long int llogbf32 (_Float32 __x) noexcept (true); extern long int __llogbf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 scalblnf32 (_Float32 __x, long int __n) noexcept (true); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32 nearbyintf32 (_Float32 __x) noexcept (true); extern _Float32 __nearbyintf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32 roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern _Float32 truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int lrintf32 (_Float32 __x) noexcept (true); extern long int __lrintf32 (_Float32 __x) noexcept (true);
1417: __extension__
1417: extern long long int llrintf32 (_Float32 __x) noexcept (true); extern long long int __llrintf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long int lroundf32 (_Float32 __x) noexcept (true); extern long int __lroundf32 (_Float32 __x) noexcept (true);
1417: __extension__
1417: extern long long int llroundf32 (_Float32 __x) noexcept (true); extern long long int __llroundf32 (_Float32 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1417:                             ;
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1417:                               ;
1417: 
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1417:                              ;
1417: 
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1417:                                ;
1417: 
1417: 
1417: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _,
609:   unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
609:     inline void
609:     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
609:   unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
609:     inline bool
609:     operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
609:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
609:     { return __x._M_h._M_equal(__y._M_h); }
609: 
609: 
609:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
609:     inline bool
609:     operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
609:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
609:     inline bool
609:     operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
609:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
609:     { return __x._M_h._M_equal(__y._M_h); }
609: 
609: 
609:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
609:     inline bool
609:     operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
609:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
609:     typename _Alloc, typename _Hash2, typename _Eq2>
609:     struct _Hash_merge_helper<
609:       std::unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>,
609:       _Hash2, _Eq2>
609:     {
609:     private:
609:       template<typename... _Tp>
609:  using unordered_map = std::unordered_map<_Tp...>;
609:       template<typename... _Tp>
609:  using unordered_multimap = std::unordered_multimap<_Tp...>;
609: 
609:       friend unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>;
609: 
609:       static auto&
609:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
609:       { return __map._M_h; }
609: 
609:       static auto&
609:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
609:       { return __map._M_h; }
609:     };
609: 
609: 
609:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
609:     typename _Alloc, typename _Hash2, typename _Eq2>
609:     struct _Hash_merge_helper<
609:       std::unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>,
609:       _Hash2, _Eq2>
609:     {
609:     private:
609:       template<typename... _Tp>
609:  using unordered_map = std::unordered_map<_Tp...>;
609:       template<typename... _Tp>
609:  using unordered_multimap = std::unordered_multimap<_Tp...>;
609: 
609:       friend unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>;
609: 
609:       static auto&
609:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
609:       { return __map._M_h; }
609: 
609:       static auto&
609:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
609:       { return __map._M_h; }
609:     };
609: 
609: 
609: 
609: }
609: # 48 "/usr/include/c++/12/unordered_map" 2 3
609: # 56 "/usr/include/c++/12/unordered_map" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609:   namespace pmr
609:   {
609:     template<typename _Tp> class polymorphic_allocator;
609:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
609:       typename _Pred = std::equal_to<_Key>>
609:       using unordered_map
609:  = std::unordered_map<_Key, _Tp, _Hash, _Pred,
609:         polymorphic_allocator<pair<const _Key, _Tp>>>;
609:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
609:       typename _Pred = std::equal_to<_Key>>
609:       using unordered_multimap
609:  = std::unordered_multimap<_Key, _Tp, _Hash, _Pred,
609:       polymorphic_allocator<pair<const _Key, _Tp>>>;
609:   }
609: 
609: }
609: # 62 "/usr/include/c++/12/functional" 2 3
609: 
609: # 1 "/usr/include/c++/12/array" 1 3
609: # 32 "/usr/include/c++/12/array" 3
609:        
609: # 33 "/usr/include/c++/12/array" 3
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/compare" 1 3
609: # 33 "/usr/include/c++/12/compare" 3
609:        
609: # 34 "/usr/include/c++/12/compare" 3
609: # 39 "/usr/include/c++/12/array" 2 3
609: # 48 "/usr/include/c++/12/array" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:     struct __array_traits
609:     {
609:       typedef _Tp _Type[_Nm];
609:       typedef __is_swappable<_Tp> _Is_swappable;
609:       typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable;
609: 
609:       static constexpr _Tp&
609:       _S_ref(const _Type& __t, std::size_t __n) noexcept
609:       { return const_cast<_Tp&>(__t[__n]); }
609: 
609:       static constexpr _Tp*
609:       _S_ptr(const _Type& __t) noexcept
609:       { return const_cast<_Tp*>(__t); }
609:     };
609: 
609:  template<typename _Tp>
609:    struct __array_traits<_Tp, 0>
609:    {
609:      struct _Type { };
609:      typedef true_type _Is_swappable;
609:      typedef true_type _Is_nothrow_swappable;
609: 
609:      static constexpr _Tp&
609:      _S_ref(const _Type&, std::size_t) noexcept
609:      { return *static_cast<_Tp*>(nullptr); }
609: 
609:      static constexpr _Tp*
609:      _S_ptr(const _Type&) noexcept
609:      { return nullptr; }
609:    };
609: # 98 "/usr/include/c++/12/array" 3
609:   template<typename _Tp, std::size_t _Nm>
609:     struct array
609:     {
609:       typedef _Tp value_type;
609:       typedef value_type* pointer;
609:       typedef const value_type* const_pointer;
609:       typedef value_type& reference;
609:       typedef const value_type& const_reference;
609:       typedef value_type* iterator;
609:       typedef const value_type* const_iterator;
609:       typedef std::size_t size_type;
609:       typedef std::ptrdiff_t difference_type;
609:       typedef std::reverse_iterator<iterator> reverse_iterator;
609:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
609: 
609: 
609:       typedef __array_traits<_Tp, _Nm> _AT_Type;
609:       typename _AT_Type::_Type _M_elems;
609: 
609: 
609: 
609: 
609:       void
609:       fill(const value_type& __u)
609:       { std::fill_n(begin(), size(), __u); }
609: 
609:       void
609:       swap(array& __other)
609:       noexcept(_AT_Type::_Is_nothrow_swappable::value)
609:       { std::swap_ranges(begin(), end(), __other.begin()); }
609: 
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr iterator
609:       begin() noexcept
609:       { return iterator(data()); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_iterator
609:       begin() const noexcept
609:       { return const_iterator(data()); }
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr iterator
609:       end() noexcept
609:       { return iterator(data() + _Nm); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_iterator
609:       end() const noexcept
609:       { return const_iterator(data() + _Nm); }
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr reverse_iterator
609:       rbegin() noexcept
609:       { return reverse_iterator(end()); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr reverse_iterator
609:       rend() noexcept
609:       { return reverse_iterator(begin()); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_reverse_iterator
609:       rend() consFloat32 fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern _Float32 getpayloadf32 (const _Float32 *__x) noexcept (true); extern _Float32 __getpayloadf32 (const _Float32 *__x) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1417: # 451 "/usr/include/math.h" 2 3 4
1417: # 467 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1417: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417:  extern _Float64 acosf64 (_Float64 __x) noexcept (true); extern _Float64 __acosf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 asinf64 (_Float64 __x) noexcept (true); extern _Float64 __asinf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 atanf64 (_Float64 __x) noexcept (true); extern _Float64 __atanf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) noexcept (true); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float64 cosf64 (_Float64 __x) noexcept (true); extern _Float64 __cosf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 sinf64 (_Float64 __x) noexcept (true); extern _Float64 __sinf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 tanf64 (_Float64 __x) noexcept (true); extern _Float64 __tanf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 coshf64 (_Float64 __x) noexcept (true); extern _Float64 __coshf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 sinhf64 (_Float64 __x) noexcept (true); extern _Float64 __sinhf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 tanhf64 (_Float64 __x) noexcept (true); extern _Float64 __tanhf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true)
1417:                                                         ;
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 acoshf64 (_Float64 __x) noexcept (true); extern _Float64 __acoshf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 asinhf64 (_Float64 __x) noexcept (true); extern _Float64 __asinhf64 (_Float64 __x) noexcept (true);
1417: 
1417:  extern _Float64 atanhf64 (_Float64 __x) noexcept (true); extern _Float64 __atanhf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 expf64 (_Float64 __x) noexcept (true); extern _Float64 __expf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) noexcept (true); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) noexcept (true);
1417: 
1417: 
1417: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) noexcept (true); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) noexcept (true);
1417: 
1417: 
1417:  extern _Float64 logf64 (_Float64 __x) noexcept (true); extern _Float64 __logf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float64 log10f64 (_Float64 __x) noexcept (true); extern _Float64 __log10f64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417:  extern _Float64 exp10f64 (_Float64 __x) noexcept (true); extern _Float64 __exp10f64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 expm1f64 (_Float64 __x) noexcept (true); extern _Float64 __expm1f64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float64 log1pf64 (_Float64 __x) noexcept (true); extern _Float64 __log1pf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float64 logbf64 (_Float64 __x) noexcept (true); extern _Float64 __logbf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 exp2f64 (_Float64 __x) noexcept (true); extern _Float64 __exp2f64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float64 log2f64 (_Float64 __x) noexcept (true); extern _Float64 __log2f64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 powf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: extern _Float64 sqrtf64 (_Float64 __x) noexcept (true); extern _Float64 __sqrtf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 cbrtf64 (_Float64 __x) noexcept (true); extern _Float64 __cbrtf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64t noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_iterator
609:       cbegin() const noexcept
609:       { return const_iterator(data()); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_iterator
609:       cend() const noexcept
609:       { return const_iterator(data() + _Nm); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_reverse_iterator
609:       crbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_reverse_iterator
609:       crend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr size_type
609:       size() const noexcept { return _Nm; }
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr size_type
609:       max_size() const noexcept { return _Nm; }
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr bool
609:       empty() const noexcept { return size() == 0; }
609: 
609: 
609:       [[__nodiscard__]]
609:       constexpr reference
609:       operator[](size_type __n) noexcept
609:       {
609:  ;
609:  return _AT_Type::_S_ref(_M_elems, __n);
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_reference
609:       operator[](size_type __n) const noexcept
609:       {
609: 
609:  ;
609: 
609:  return _AT_Type::_S_ref(_M_elems, __n);
609:       }
609: 
609:       constexpr reference
609:       at(size_type __n)
609:       {
609:  if (__n >= _Nm)
609:    std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
609:                                  ,
609:      __n, _Nm);
609:  return _AT_Type::_S_ref(_M_elems, __n);
609:       }
609: 
609:       constexpr const_reference
609:       at(size_type __n) const
609:       {
609: 
609: 
609:  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
609:    : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
609:                                     ,
609:         __n, _Nm),
609:       _AT_Type::_S_ref(_M_elems, 0));
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr reference
609:       front() noexcept
609:       {
609:  ;
609:  return *begin();
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_reference
609:       front() const noexcept
609:       {
609: 
609:  ;
609: 
609:  return _AT_Type::_S_ref(_M_elems, 0);
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr reference
609:       back() noexcept
609:       {
609:  ;
609:  return _Nm ? *(end() - 1) : *end();
609:       }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_reference
609:       back() const noexcept
609:       {
609: 
609:  ;
609: 
609:  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
609:              : _AT_Type::_S_ref(_M_elems, 0);
609:       }
609: 
609:       [[__gnu__::__const__, __nodiscard__]]
609:       constexpr pointer
609:       data() noexcept
609:       { return _AT_Type::_S_ptr(_M_elems); }
609: 
609:       [[__nodiscard__]]
609:       constexpr const_pointer
609:       data() const noexcept
609:       { return _AT_Type::_S_ptr(_M_elems); }
609:     };
609: 
609: 
609:   template<typename _Tp, typename... _Up>
609:     array(_Tp, _Up...)
609:       -> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>,
609:         1 + sizeof...(_Up)>;
609: 
609: 
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:    
609:     inline bool
609:     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
609:     { return std::equal(__one.begin(), __one.end(), __two.begin()); }
609: # 329 "/usr/include/c++/12/array" 3
609:   template<typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:    
609:     inline bool
609:     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
609:     { return !(__one == __two); }
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:    
609:     inline bool
609:     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
609:     {
609:       return std::lexicographical_compare(__a.begin(), __a.end(),
609:        __b.begin(), __b.end());
609:     }
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:    
609:     inline bool
609:     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
609:     { return __two < __one; }
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:    
609:     inline bool
609:     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
609:     { return !(__one > __two); }
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:    
609:     inline bool
609:     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
609:     { return !(__one < __two); }
609: 
609: 
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:    
609:     inline
609: 
609: 
609:     typename enable_if<
609:       __array_traits<_Tp, _Nm>::_Is_swappable::value
609:     >::type
609: 
609: 
609: 
609:     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
609:     noexcept(noexcept(__one.swap(__two)))
609:     { __one.swap(__two); }
609: 
609: 
609:   template<typename _Tp, std::size_t _Nm>
609:     typename enable_if<
609:       !__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
609:     swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
609: 
609: 
609:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:     constexpr _Tp&
609:     get(array<_Tp, _Nm>& __arr) noexcept
609:     {
609:       static_assert(_Int < _Nm, "array index is within bounds");
609:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
609:     }
609: 
609:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:     constexpr _Tp&&
609:     get(array<_Tp, _Nm>&& __arr) noexcept
609:     {
609:       static_assert(_Int < _Nm, "array index is within bounds");
609:       return std::move(std::get<_Int>(__arr));
609:     }
609: 
609:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:     constexpr const _Tp&
609:     get(const array<_Tp, _Nm>& __arr) noexcept
609:     {
609:       static_assert(_Int < _Nm, "array index is within bounds");
609:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
609:     }
609: 
609:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
609:     [[__nodiscard__]]
609:     constexpr const _Tp&&
609:     get(const array<_Tp, _Nm>&& __arr) noexcept
609:     {
609:       static_assert(_Int < _Nm, "array index is within bounds");
609:       return std::move(std::get<_Int>(__arr));
609:     }
609: # 470 "/usr/include/c++/12/array" 3
609:   template<typename _Tp, size_t _Nm>
609:     struct tuple_size<array<_Tp, _Nm>>
609:     : public integral_constant<size_t, _Nm> { };
609: 
609: 
609:   template<size_t _Ind, typename _Tp, size_t _Nm>
609:     struct tuple_element<_Ind, array<_Tp, _Nm>>
609:     {
609:       static_assert(_Ind < _Nm, "array index is in range");
609:       using type = _Tp;
609:     };
609: 
609: 
609:   template<typename _Tp, size_t _Nm>
609:     inline constexpr size_t tuple_size_v<array<_Tp, _Nm>> = _Nm;
609: 
609:   template<typename _Tp, size_t _Nm>
609:     inline constexpr size_t tuple_size_v<const array<_Tp, _Nm>> = _Nm;
609: 
609: 
609:   template<typename _Tp, size_t _Nm>
609:     struct __is_tuple_like_impl<array<_Tp, _Nm>> : true_type
609:     { };
609: 
609: 
609: }
609: # 64 "/usr/include/c++/12/functional" 2 3
609: # 76 "/usr/include/c++/12/functional" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<int _Num> struct _Placeholder { };
609: # 105 "/usr/include/c++/12/functional" 3
609:   template<typename _Callable, typename... _Args>
609:     inline invoke_result_t<_Callable, _Args. __floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 nanf64 (const char *__tagb) noexcept (true); extern _Float64 __nanf64 (const char *__tagb) noexcept (true);
1417: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float64 j0f64 (_Float64) noexcept (true); extern _Float64 __j0f64 (_Float64) noexcept (true);
1417: extern _Float64 j1f64 (_Float64) noexcept (true); extern _Float64 __j1f64 (_Float64) noexcept (true);
1417: extern _Float64 jnf64 (int, _Float64) noexcept (true); extern _Float64 __jnf64 (int, _Float64) noexcept (true);
1417: extern _Float64 y0f64 (_Float64) noexcept (true); extern _Float64 __y0f64 (_Float64) noexcept (true);
1417: extern _Float64 y1f64 (_Float64) noexcept (true); extern _Float64 __y1f64 (_Float64) noexcept (true);
1417: extern _Float64 ynf64 (int, _Float64) noexcept (true); extern _Float64 __ynf64 (int, _Float64) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float64 erff64 (_Float64) noexcept (true); extern _Float64 __erff64 (_Float64) noexcept (true);
1417:  extern _Float64 erfcf64 (_Float64) noexcept (true); extern _Float64 __erfcf64 (_Float64) noexcept (true);
1417: extern _Float64 lgammaf64 (_Float64) noexcept (true); extern _Float64 __lgammaf64 (_Float64) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 tgammaf64 (_Float64) noexcept (true); extern _Float64 __tgammaf64 (_Float64) noexcept (true);
1417: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) noexcept (true); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 rintf64 (_Float64 __x) noexcept (true); extern _Float64 __rintf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 nextdownf64 (_Float64 __x) noexcept (true); extern _Float64 __nextdownf64 (_Float64 __x) noexcept (true);
1417: 
1417: extern _Float64 nextupf64 (_Float64 __x) noexcept (true); extern _Float64 __nextupf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 scalbnf64 (_Float64 __x, int __n) noexcept (true); extern _Float64 __scalbnf64 (_Float64 __x, int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int ilogbf64 (_Float64 __x) noexcept (true); extern int __ilogbf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long int llogbf64 (_Float64 __x) noexcept (true); extern long int __llogbf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 scalblnf64 (_Float64 __x, long int __n) noexcept (true); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 nearbyintf64 (_Float64 __x) noexcept (true); extern _Float64 __nearbyintf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern _Float64 truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int lrintf64 (_Float64 __x) noexcept (true); extern long int __lrintf64 (_Float64 __x) noexcept (true);
1417: __extension__
1417: extern long long int llrintf64 (_Float64 __x) noexcept (true); extern long long int __llrintf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long int lroundf64 (_Float64 __x) noexcept (true); extern long int __lroundf64 (_Float64 __x) noexcept (true);
1417: __extension__
1417: extern long long int llroundf64 (_Float64 __x) noexcept (true); extern long long int __llroundf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1417:                             ;
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1417:                               ;
1417: 
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1417:                              ;
1417: 
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1417:                                ;
1417: 
1417: 
1417: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__c..>
609:     invoke(_Callable&& __fn, _Args&&... __args)
609:     noexcept(is_nothrow_invocable_v<_Callable, _Args...>)
609:     {
609:       return std::__invoke(std::forward<_Callable>(__fn),
609:       std::forward<_Args>(__args)...);
609:     }
609: # 138 "/usr/include/c++/12/functional" 3
609:   template<typename _MemFunPtr,
609:     bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value>
609:     class _Mem_fn_base
609:     : public _Mem_fn_traits<_MemFunPtr>::__maybe_type
609:     {
609:       using _Traits = _Mem_fn_traits<_MemFunPtr>;
609: 
609:       using _Arity = typename _Traits::__arity;
609:       using _Varargs = typename _Traits::__vararg;
609: 
609:       template<typename _Func, typename... _BoundArgs>
609:  friend struct _Bind_check_arity;
609: 
609:       _MemFunPtr _M_pmf;
609: 
609:     public:
609: 
609:       using result_type = typename _Traits::__result_type;
609: 
609:       explicit constexpr
609:       _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { }
609: 
609:       template<typename... _Args>
609: 
609:  auto
609:  operator()(_Args&&... __args) const
609:  noexcept(noexcept(
609:        std::__invoke(_M_pmf, std::forward<_Args>(__args)...)))
609:  -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...))
609:  { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); }
609:     };
609: 
609: 
609:   template<typename _MemObjPtr>
609:     class _Mem_fn_base<_MemObjPtr, false>
609:     {
609:       using _Arity = integral_constant<size_t, 0>;
609:       using _Varargs = false_type;
609: 
609:       template<typename _Func, typename... _BoundArgs>
609:  friend struct _Bind_check_arity;
609: 
609:       _MemObjPtr _M_pm;
609: 
609:     public:
609:       explicit constexpr
609:       _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { }
609: 
609:       template<typename _Tp>
609: 
609:  auto
609:  operator()(_Tp&& __obj) const
609:  noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj))))
609:  -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))
609:  { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); }
609:     };
609: 
609:   template<typename _MemberPointer>
609:     struct _Mem_fn;
609: 
609:   template<typename _Res, typename _Class>
609:     struct _Mem_fn<_Res _Class::*>
609:     : _Mem_fn_base<_Res _Class::*>
609:     {
609:       using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base;
609:     };
609: # 231 "/usr/include/c++/12/functional" 3
609:   template<typename _Tp, typename _Class>
609:    
609:     inline _Mem_fn<_Tp _Class::*>
609:     mem_fn(_Tp _Class::* __pm) noexcept
609:     {
609:       return _Mem_fn<_Tp _Class::*>(__pm);
609:     }
609: # 250 "/usr/include/c++/12/functional" 3
609:   template<typename _Tp>
609:     struct is_bind_expression
609:     : public false_type { };
609: # 262 "/usr/include/c++/12/functional" 3
609:   template<typename _Tp>
609:     struct is_placeholder
609:     : public integral_constant<int, 0>
609:     { };
609: 
609: 
609:   template <typename _Tp> inline constexpr bool is_bind_expression_v
609:     = is_bind_expression<_Tp>::value;
609:   template <typename _Tp> inline constexpr int is_placeholder_v
609:     = is_placeholder<_Tp>::value;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   namespace placeholders
609:   {
609: 
609: 
609: 
609: 
609:     extern const _Placeholder<1> _1;
609:     extern const _Placeholder<2> _2;
609:     extern const _Placeholder<3> _3;
609:     extern const _Placeholder<4> _4;
609:     extern const _Placeholder<5> _5;
609:     extern const _Placeholder<6> _6;
609:     extern const _Placeholder<7> _7;
609:     extern const _Placeholder<8> _8;
609:     extern const _Placeholder<9> _9;
609:     extern const _Placeholder<10> _10;
609:     extern const _Placeholder<11> _11;
609:     extern const _Placeholder<12> _12;
609:     extern const _Placeholder<13> _13;
609:     extern const _Placeholder<14> _14;
609:     extern const _Placeholder<15> _15;
609:     extern const _Placeholder<16> _16;
609:     extern const _Placeholder<17> _17;
609:     extern const _Placeholder<18> _18;
609:     extern const _Placeholder<19> _19;
609:     extern const _Placeholder<20> _20;
609:     extern const _Placeholder<21> _21;
609:     extern const _Placeholder<22> _22;
609:     extern const _Placeholder<23> _23;
609:     extern const _Placeholder<24> _24;
609:     extern const _Placeholder<25> _25;
609:     extern const _Placeholder<26> _26;
609:     extern const _Placeholder<27> _27;
609:     extern const _Placeholder<28> _28;
609:     extern const _Placeholder<29> _29;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<int _Num>
609:     struct is_placeholder<_Placeholder<_Num> >
609:     : public integral_constant<int, _Num>
609:     { };
609: 
609:   template<int _Num>
609:     struct is_placeholder<const _Placeholder<_Num> >
609:     : public integral_constant<int, _Num>
609:     { };
609: 
609: 
609: 
609: 
609:   template<std::size_t __i, typename _Tuple>
609:     using _Safe_tuple_element_t
609:       = typename enable_if<(__i < tuple_size<_Tuple>::value),
609:       tuple_element<__i, _Tuple>>::type::type;
609: # 351 "/usr/include/c++/12/functional" 3
609:   template<typename _Arg,
609:     bool _IsBindExp = is_bind_expression<_Arg>::value,
609:     bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)>
609:     class _Mu;
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     class _Mu<reference_wrapper<_Tp>, false, false>
609:     {
609:     public:
609: 
609: 
609: 
609: 
609:       template<typename _CVRef, typename _Tuple>
609: 
609:  _Tp&
609:  operator()(_CVRef& __arg, _Tuple&) const volatile
609:  { return __arg.get(); }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Arg>
609:     class _Mu<_Arg, true, false>
609:     {
609:     public:
609:       template<typename _CVArg, typename... _Args>
609: 
609:  auto
609:  operator()(_CVArg& __arg,
609:      tuple<_Args...>& __tuple) const volatile
609:  -> decltype(__arg(declval<_Args>()...))
609:  {
609: 
609:    typedef typename _Build_index_tuple<sizeof...(_Args)>::__type
609:      _Indexes;
609:    return this->__call(__arg, __tuple, _Indexes());
609:  }
609: 
609:     private:
609: 
609: 
609:       template<typename _CVArg, typename... _Args, std::size_t... _Indexes>
609: 
609:  auto
609:  __call(_CVArg& __arg, tuple<_Args...>& __tuple,
609:         const _Index_tuple<_Indexes...>&) const volatile
609:  -> decltype(__arg(declval<_Args>()...))
609:  {
609:    return __arg(std::get<_Indexes>(std::move(__tuple))...);
609:  }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Arg>
609:     class _Mu<_Arg, false, true>
609:     {
609:     public:
609:       template<typename _Tuple>
609: 
609:  _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
609:  operator()(const volatile _Arg&, _Tuple& __tuple) const volatile
609:  {
609:    return
609:      ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple));
609:  }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Arg>
609:     class _Mu<_Arg, false, false>
609:     {
609:     public:
609:       template<typename _CVArg, typename _Tuple>
609: 
609:  _CVArg&&
609:  operator()(_CVArg&& __arg, _Tuple&) const volatile
609:  { return std::forward<_CVArg>(__arg); }
609:     };
609: 
609: 
609:   template<std::size_t _Ind, typename... _Tp>
609:     inline auto
609:     __volget(volatile tuple<_Tp...>& __tuple)
609:     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
609:     { return std::get<_Ind>(const_cast<tuple<_Tp...>&>(__tuple)); }
609: 
609: 
609:   template<std::size_t _Ind, typename... _Tp>
609:     inline auto
609:     __volget(const volatile tuple<_Tp...>& __tuple)
609:     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
609:     { return std::get<_Ind>(const_cast<const tuple<_Tp...>&>(__tuple)); }
609: 
609: 
609: 
609: 
609:   template<typename _Signature>
609:     class _Bind;
609: 
609:    template<typename _Functor, typename... _Bound_args>
609:     class _Bind<_Functor(_Bound_args...)>
609:     : public _Weak_result_type<_Fuonst__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern _Float64 getpayloadf64 (const _Float64 *__x) noexcept (true); extern _Float64 __getpayloadf64 (const _Float64 *__x) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1417: # 468 "/usr/include/math.h" 2 3 4
1417: # 501 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1417: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417:  extern _Float32x acosf32x (_Float32x __x) noexcept (true); extern _Float32x __acosf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x asinf32x (_Float32x __x) noexcept (true); extern _Float32x __asinf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x atanf32x (_Float32x __x) noexcept (true); extern _Float32x __atanf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) noexcept (true); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32x cosf32x (_Float32x __x) noexcept (true); extern _Float32x __cosf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x sinf32x (_Float32x __x) noexcept (true); extern _Float32x __sinf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x tanf32x (_Float32x __x) noexcept (true); extern _Float32x __tanf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x coshf32x (_Float32x __x) noexcept (true); extern _Float32x __coshf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x sinhf32x (_Float32x __x) noexcept (true); extern _Float32x __sinhf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x tanhf32x (_Float32x __x) noexcept (true); extern _Float32x __tanhf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true)
1417:                                                         ;
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x acoshf32x (_Float32x __x) noexcept (true); extern _Float32x __acoshf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x asinhf32x (_Float32x __x) noexcept (true); extern _Float32x __asinhf32x (_Float32x __x) noexcept (true);
1417: 
1417:  extern _Float32x atanhf32x (_Float32x __x) noexcept (true); extern _Float32x __atanhf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x expf32x (_Float32x __x) noexcept (true); extern _Float32x __expf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) noexcept (true); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) noexcept (true);
1417: 
1417: 
1417: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) noexcept (true); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) noexcept (true);
1417: 
1417: 
1417:  extern _Float32x logf32x (_Float32x __x) noexcept (true); extern _Float32x __logf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32x log10f32x (_Float32x __x) noexcept (true); extern _Float32x __log10f32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417:  extern _Float32x exp10f32x (_Float32x __x) noexcept (true); extern _Float32x __exp10f32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x expm1f32x (_Float32x __x) noexcept (true); extern _Float32x __expm1f32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32x log1pf32x (_Float32x __x) noexcept (true); extern _Float32x __log1pf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32x logbf32x (_Float32x __x) noexcept (true); extern _Float32x __logbf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x exp2f32x (_Float32x __x) noexcept (true); extern _Float32x __exp2f32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417:  extern _Float32x log2f32x (_Float32x __x) noexcept (true); extern _Float32x __log2f32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x powf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32x sqrtf32x (_Float32x __x) noexcept (true); extern _Float32x __sqrtf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417:  extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x cbrtf32x (_Float32x __x) noexcept (true); extern _Float32x __cbrtf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x nanf32x (const char *__tagb) noexcept (true); extern _Float32x __nanf32x (const char *__tagb) noexcept (true);
1417: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float32x j0f32x (_Flnctor>
609:     {
609:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
609:  _Bound_indexes;
609: 
609:       _Functor _M_f;
609:       tuple<_Bound_args...> _M_bound_args;
609: 
609: 
609:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
609: 
609:  _Result
609:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
609:  {
609:    return std::__invoke(_M_f,
609:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
609:        );
609:  }
609: 
609: 
609:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
609: 
609:  _Result
609:  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
609:  {
609:    return std::__invoke(_M_f,
609:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
609:        );
609:  }
609: 
609: 
609:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
609:  _Result
609:  __call_v(tuple<_Args...>&& __args,
609:    _Index_tuple<_Indexes...>) volatile
609:  {
609:    return std::__invoke(_M_f,
609:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
609:        );
609:  }
609: 
609: 
609:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
609:  _Result
609:  __call_c_v(tuple<_Args...>&& __args,
609:      _Index_tuple<_Indexes...>) const volatile
609:  {
609:    return std::__invoke(_M_f,
609:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
609:        );
609:  }
609: 
609:       template<typename _BoundArg, typename _CallArgs>
609:  using _Mu_type = decltype(
609:      _Mu<typename remove_cv<_BoundArg>::type>()(
609:        std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) );
609: 
609:       template<typename _Fn, typename _CallArgs, typename... _BArgs>
609:  using _Res_type_impl
609:    = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type;
609: 
609:       template<typename _CallArgs>
609:  using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>;
609: 
609:       template<typename _CallArgs>
609:  using __dependent = typename
609:    enable_if<bool(tuple_size<_CallArgs>::value+1), _Functor>::type;
609: 
609:       template<typename _CallArgs, template<class> class __cv_quals>
609:  using _Res_type_cv = _Res_type_impl<
609:    typename __cv_quals<__dependent<_CallArgs>>::type,
609:    _CallArgs,
609:    typename __cv_quals<_Bound_args>::type...>;
609: 
609:      public:
609:       template<typename... _Args>
609:  explicit
609:  _Bind(const _Functor& __f, _Args&&... __args)
609:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
609:  { }
609: 
609:       template<typename... _Args>
609:  explicit
609:  _Bind(_Functor&& __f, _Args&&... __args)
609:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
609:  { }
609: 
609:       _Bind(const _Bind&) = default;
609:       _Bind(_Bind&&) = default;
609: 
609: 
609:       template<typename... _Args,
609:         typename _Result = _Res_type<tuple<_Args...>>>
609: 
609:  _Result
609:  operator()(_Args&&... __args)
609:  {
609:    return this->__call<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609: 
609: 
609:       template<typename... _Args,
609:         typename _Result = _Res_type_cv<tuple<_Args...>, add_const>>
609: 
609:  _Result
609:  operator()(_Args&&... __args) const
609:  {
609:    return this->__call_c<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609: # 591 "/usr/include/c++/12/functional" 3
609:       template<typename... _Args,
609:         typename _Result = _Res_type_cv<tuple<_Args...>, add_volatile>>
609:  [[deprecated("std::bind does not support volatile in C++17")]]
609:  _Result
609:  operator()(_Args&&... __args) volatile
609:  {
609:    return this->__call_v<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609: 
609: 
609:       template<typename... _Args,
609:         typename _Result = _Res_type_cv<tuple<_Args...>, add_cv>>
609:  [[deprecated("std::bind does not support volatile in C++17")]]
609:  _Result
609:  operator()(_Args&&... __args) const volatile
609:  {
609:    return this->__call_c_v<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609:     };
609: 
609: 
609:   template<typename _Result, typename _Signature>
609:     class _Bind_result;
609: 
609:   template<typename _Result, typename _Functor, typename... _Bound_args>
609:     class _Bind_result<_Result, _Functor(_Bound_args...)>
609:     {
609:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
609:  _Bound_indexes;
609: 
609:       _Functor _M_f;
609:       tuple<_Bound_args...> _M_bound_args;
609: 
609: 
609:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
609: 
609:  _Res
609:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
609:  {
609:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
609:         (std::get<_Indexes>(_M_bound_args), __args)...);
609:  }
609: 
609: 
609:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
609: 
609:  _Res
609:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
609:  {
609:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
609:         (std::get<_Indexes>(_M_bound_args), __args)...);
609:  }
609: 
609: 
609:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
609: 
609:  _Res
609:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
609:  {
609:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
609:         (__volget<_Indexes>(_M_bound_args), __args)...);
609:  }
609: 
609: 
609:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
609: 
609:  _Res
609:  __call(tuple<_Args...>&& __args,
609:         _Index_tuple<_Indexes...>) const volatile
609:  {
609:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
609:         (__volget<_Indexes>(_M_bound_args), __args)...);
609:  }
609: 
609:     public:
609:       typedef _Result result_type;
609: 
609:       template<typename... _Args>
609:  explicit
609:  _Bind_result(const _Functor& __f, _Args&&... __args)
609:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
609:  { }
609: 
609:       template<typename... _Args>
609:  explicit
609:  _Bind_result(_Functor&& __f, _Args&&... __args)
609:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
609:  { }
609: 
609:       _Bind_result(const _Bind_result&) = default;
609:       _Bind_result(_Bind_result&&) = default;
609: 
609: 
609:       template<typename... _Args>
609: 
609:  result_type
609:  operator()(_Args&&... __args)
609:  {
609:    return this->__call<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609: 
609: 
609:       template<typename... _Args>
609: 
609:  result_type
609:  operator()(_Args&&... __args) const
609:  {
609:    return this->__call<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609: 
609: 
609:       template<typename... _Args>
609:  [[deprecated("std::bind does not support volatile in C++17")]]
609:  result_type
609:  operator()(_Args&&... __args) volatile
609:  {
609:    return this->__call<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609: 
609: 
609:       template<typename... _Args>
609:  [[deprecated("std::bind does not support volatile in C++17")]]
609:  result_type
609:  operator()(_Args&&... __args) const volatile
609:  {
609:    return this->__call<_Result>(
609:        std::forward_as_tuple(std::forward<_Args>(__args)...),
609:        _Bound_indexes());
609:  }
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Signature>
609:     struct is_bind_expression<_Bind<_Signature> >
609:     : public true_type { };
609: 
609: 
609: 
609:oat32x) noexcept (true); extern _Float32x __j0f32x (_Float32x) noexcept (true);
1417: extern _Float32x j1f32x (_Float32x) noexcept (true); extern _Float32x __j1f32x (_Float32x) noexcept (true);
1417: extern _Float32x jnf32x (int, _Float32x) noexcept (true); extern _Float32x __jnf32x (int, _Float32x) noexcept (true);
1417: extern _Float32x y0f32x (_Float32x) noexcept (true); extern _Float32x __y0f32x (_Float32x) noexcept (true);
1417: extern _Float32x y1f32x (_Float32x) noexcept (true); extern _Float32x __y1f32x (_Float32x) noexcept (true);
1417: extern _Float32x ynf32x (int, _Float32x) noexcept (true); extern _Float32x __ynf32x (int, _Float32x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  extern _Float32x erff32x (_Float32x) noexcept (true); extern _Float32x __erff32x (_Float32x) noexcept (true);
1417:  extern _Float32x erfcf32x (_Float32x) noexcept (true); extern _Float32x __erfcf32x (_Float32x) noexcept (true);
1417: extern _Float32x lgammaf32x (_Float32x) noexcept (true); extern _Float32x __lgammaf32x (_Float32x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x tgammaf32x (_Float32x) noexcept (true); extern _Float32x __tgammaf32x (_Float32x) noexcept (true);
1417: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1417: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x rintf32x (_Float32x __x) noexcept (true); extern _Float32x __rintf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x nextdownf32x (_Float32x __x) noexcept (true); extern _Float32x __nextdownf32x (_Float32x __x) noexcept (true);
1417: 
1417: extern _Float32x nextupf32x (_Float32x __x) noexcept (true); extern _Float32x __nextupf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32x scalbnf32x (_Float32x __x, int __n) noexcept (true); extern _Float32x __scalbnf32x (_Float32x __x, int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int ilogbf32x (_Float32x __x) noexcept (true); extern int __ilogbf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern long int llogbf32x (_Float32x __x) noexcept (true); extern long int __llogbf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x scalblnf32x (_Float32x __x, long int __n) noexcept (true); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32x nearbyintf32x (_Float32x __x) noexcept (true); extern _Float32x __nearbyintf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32x roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern _Float32x truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int lrintf32x (_Float32x __x) noexcept (true); extern long int __lrintf32x (_Float32x __x) noexcept (true);
1417: __extension__
1417: extern long long int llrintf32x (_Float32x __x) noexcept (true); extern long long int __llrintf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long int lroundf32x (_Float32x __x) noexcept (true); extern long int __lroundf32x (_Float32x __x) noexcept (true);
1417: __extension__
1417: extern long long int llroundf32x (_Float32x __x) noexcept (true); extern long long int __llroundf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: 
1417: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1417:                             ;
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1417:                               ;
1417: 
1417: 
1417: 
1417: 
1417: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1417:                              ;
1417: 
1417: 
1417: 
1417: 
1417: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1417:                                ;
1417: 
1417: 
1417: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmax 
609: 
609:   template<typename _Signature>
609:     struct is_bind_expression<const _Bind<_Signature> >
609:     : public true_type { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Signature>
609:     struct is_bind_expression<volatile _Bind<_Signature> >
609:     : public true_type { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Signature>
609:     struct is_bind_expression<const volatile _Bind<_Signature>>
609:     : public true_type { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Result, typename _Signature>
609:     struct is_bind_expression<_Bind_result<_Result, _Signature>>
609:     : public true_type { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Result, typename _Signature>
609:     struct is_bind_expression<const _Bind_result<_Result, _Signature>>
609:     : public true_type { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Result, typename _Signature>
609:     struct is_bind_expression<volatile _Bind_result<_Result, _Signature>>
609:     : public true_type { };
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Result, typename _Signature>
609:     struct is_bind_expression<const volatile _Bind_result<_Result, _Signature>>
609:     : public true_type { };
609: 
609:   template<typename _Func, typename... _BoundArgs>
609:     struct _Bind_check_arity { };
609: 
609:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
609:     struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...>
609:     {
609:       static_assert(sizeof...(_BoundArgs) == sizeof...(_Args),
609:                    "Wrong number of arguments for function");
609:     };
609: 
609:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
609:     struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...>
609:     {
609:       static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args),
609:                    "Wrong number of arguments for function");
609:     };
609: 
609:   template<typename _Tp, typename _Class, typename... _BoundArgs>
609:     struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...>
609:     {
609:       using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity;
609:       using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs;
609:       static_assert(_Varargs::value
609:       ? sizeof...(_BoundArgs) >= _Arity::value + 1
609:       : sizeof...(_BoundArgs) == _Arity::value + 1,
609:       "Wrong number of arguments for pointer-to-member");
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
609:     using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
609: 
609:   template<bool _SocketLike, typename _Func, typename... _BoundArgs>
609:     struct _Bind_helper
609:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
609:     {
609:       typedef typename decay<_Func>::type __func_type;
609:       typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type;
609:     };
609: 
609: 
609: 
609: 
609:   template<typename _Func, typename... _BoundArgs>
609:     struct _Bind_helper<true, _Func, _BoundArgs...>
609:     { };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Func, typename... _BoundArgs>
609:     inline typename
609:     _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type
609:     bind(_Func&& __f, _BoundArgs&&... __args)
609:     {
609:       typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type;
609:       return typename __helper_type::type(std::forward<_Func>(__f),
609:        std::forward<_BoundArgs>(__args)...);
609:     }
609: 
609:   template<typename _Result, typename _Func, typename... _BoundArgs>
609:     struct _Bindres_helper
609:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
609:     {
609:       typedef typename decay<_Func>::type __functor_type;
609:       typedef _Bind_result<_Result,
609:       __functor_type(typename decay<_BoundArgs>::type...)>
609:  type;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Result, typename _Func, typename... _BoundArgs>
609:     inline
609:     typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type
609:     bind(_Func&& __f, _BoundArgs&&... __args)
609:     {
609:       typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type;
609:       return typename __helper_type::type(std::forward<_Func>(__f),
609:        std::forward<_BoundArgs>(__args)...);
609:     }
609: # 997 "/usr/include/c++/12/functional" 3
609:   template<typename _Fn>
609:     class _Not_fn
609:     {
609:       template<typename _Fn2, typename... _Args>
609:  using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type;
609: 
609:       template<typename _Tp>
609:  static decltype(!std::declval<_Tp>())
609:  _S_not() noexcept(noexcept(!std::declval<_Tp>()));
609: 
609:     public:
609:       template<typename _Fn2>
609:  constexpr
609:  _Not_fn(_Fn2&& __fn, int)
609:  : _M_fn(std::forward<_Fn2>(__fn)) { }
609: 
609:       _Not_fn(const _Not_fn& __fn) = default;
609:       _Not_fn(_Not_fn&& __fn) = default;
609:       ~_Not_fn() = default;
609: # 1031 "/usr/include/c++/12/functional" 3
609:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(__is_nothrow_invocable<_Fn &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); }
609:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(__is_nothrow_invocable<_Fn const &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); }
609:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && noexcept(__is_nothrow_invocable<_Fn &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); }
609:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(__is_nothrow_invocable<_Fn const &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); }
609: 
609: 
609:     private:
609:       _Fn _M_fn;
609:     };
609: 
609:   template<typename _Tp, typename _Pred>
609:     struct __is_byte_like : false_type { };
609: 
609:   template<typename _Tp>
609:     struct __is_byte_like<_Tp, equal_to<_Tp>>
609:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
609: 
609:   template<typename _Tp>
609:     struct __is_byte_like<_Tp, equal_to<void>>
609:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
609: 
609: 
609: 
609:   enum class byte : unsigned char;
609: 
609:   template<>
609:     struct __is_byte_like<byte, equal_to<byte>>
609:     : true_type { };
609: 
609:   template<>
609:     struct __is_byte_like<byte, equal_to<void>>
609:     : true_type { };
609: # 1078 "/usr/include/c++/12/functional" 3
609:   template<typename _Fn>
609:    
609:     inline auto
609:     not_fn(_Fn&& __fn)
609:     noexcept(std::is_nothrow_constructible<std::decay_t<_Fn>, _Fn&&>::value)
609:     {
609:       return _Not_fn<std::decay_t<_Fn>>{std::forward<_Fn>(__fn), 0};
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _ForwardIterator1, typename _BinaryPredicate = equal_to<>>
609:     class default_searcher
609:     {
609:     public:
609:      
609:       default_searcher(_ForwardIterator1 __pat_first,
609:          _ForwardIterator1 __pat_last,
609:          _BinaryPredicate __pred = _BinaryPredicate())
609:       : _M_m(__pat_first, __pat_last, std::move(__pred))
609:       { }
609: 
609:       template<typename _ForwardIterator2>
609: 
609:  pair<_ForwardIterator2, _ForwardIterator2>
609:  operator()(_ForwardIterator2 __first, _Forimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1417: 
1417:      __attribute__ ((__pure__));
1417: 
1417: 
1417: extern _Float32x getpayloadf32x (const _Float32x *__x) noexcept (true); extern _Float32x __getpayloadf32x (const _Float32x *__x) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1417: 
1417: 
1417: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1417: # 502 "/usr/include/math.h" 2 3 4
1417: # 566 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1417: extern float fadd (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: extern float fdiv (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: extern float ffma (double __x, double __y, double __z) noexcept (true);
1417: 
1417: 
1417: extern float fmul (double __x, double __y) noexcept (true);
1417: 
1417: 
1417: extern float fsqrt (double __x) noexcept (true);
1417: 
1417: 
1417: extern float fsub (double __x, double __y) noexcept (true);
1417: # 567 "/usr/include/math.h" 2 3 4
1417: # 587 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1417: extern float faddl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern float fdivl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern float ffmal (long double __x, long double __y, long double __z) noexcept (true);
1417: 
1417: 
1417: extern float fmull (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern float fsqrtl (long double __x) noexcept (true);
1417: 
1417: 
1417: extern float fsubl (long double __x, long double __y) noexcept (true);
1417: # 588 "/usr/include/math.h" 2 3 4
1417: # 616 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1417: extern double daddl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern double ddivl (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern double dfmal (long double __x, long double __y, long double __z) noexcept (true);
1417: 
1417: 
1417: extern double dmull (long double __x, long double __y) noexcept (true);
1417: 
1417: 
1417: extern double dsqrtl (long double __x) noexcept (true);
1417: 
1417: 
1417: extern double dsubl (long double __x, long double __y) noexcept (true);
1417: # 617 "/usr/include/math.h" 2 3 4
1417: # 697 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1417: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32sqrtf32x (_Float32x __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) noexcept (true);
1417: # 698 "/usr/include/math.h" 2 3 4
1417: # 707 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1417: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32sqrtf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: # 708 "/usr/include/math.h" 2 3 4
1417: # 747 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1417: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32x f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1417: 
1417: 
1417: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: 
1417: 
1417: extern _Float32x f32xsqrtf64 (_Float64 __x) noexcept (true);
1417: 
1417: 
1417: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) noexcept (true);
1417: # 748 "/usr/include/math.h" 2 3 4
1417: # 854 "/usr/include/math.h" 3 4
1417: extern int signgam;
1417: # 934 "/usr/include/math.h" 3 4
1417: enum
1417:   {
1417:     FP_NAN =
1417: 
1417:       0,
1417:     FP_INFINITE =
1417: 
1417:       1,
1417:     FP_ZERO =
1417: 
1417:       2,
1417:     FP_SUBNORMAL =
1417: 
1417:       3,
1417:     FP_NORMAL =
1417: 
1417:       4
1417:   };
1417: # 1054 "/usr/include/math.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/iscanonical.h" 1 3 4
1417: # 1055 "/usr/include/math.h" 2 3 4
1417: # 1066 "/usr/include/math.h" 3 4
1417: extern "C++" {
1417: inline int issignaling (float __val) { return __issignalingf (__val); }
1417: inline int issignaling (double __val) { return __issignaling (__val); }
1417: inline int
1417: issignaling (long double __val)
1417: {
1417: 
1417:   return __issignaling (__val);
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 1097 "/usr/include/math.h" 3 4
1417: extern "C++" {
1417: # 1128 "/usr/include/math.h" 3 4
1417: template <class __T> inline bool
1417: iszero (__T __val)
1417: {
1417:   return __val == 0;
1417: }
1417: 
1417: }
1417: # 1363 "/usr/include/math.h" 3 4
1417: extern "C++" {
1417: template<typename> struct __iseqsig_type;
1417: 
1417: template<> struct __iseqsig_type<float>
1417: {
1417:   static int __call (float __x, float __y) throw ()
1417:   {
1417:     return __iseqsigf (__x, __y);
1417:   }
1417: };
1417: 
1417: template<> struct __iseqsig_type<double>
1417: {
1417:   static int __call (double __x, double __y) throw ()
1417:   {
1417:     return __iseqsig (__x, __y);
1417:   }
1417: };
1417: 
1417: template<> struct __iseqsig_type<long double>
1417: {
1417:   static int __call (long double __x, long double __y) throw ()
1417:   {
1417: 
1417: 
1417: 
1417:     return __iseqsig (__x, __y);
1417: 
1417:   }
1417: };
1417: # 1406 "/usr/include/math.h" 3 4
1417: template<typename _T1, typename _T2>
1417: inline int
1417: iseqsig (_T1 __x, _T2 __y) throw ()
1417: {
1417: 
1417:   typedef decltype (((__x) + (__y) + 0.0f)) _T3;
1417: 
1417: 
1417: 
1417:   wardIterator2 __last) const
609:  {
609:    _ForwardIterator2 __first_ret =
609:      std::search(__first, __last, std::get<0>(_M_m), std::get<1>(_M_m),
609:    std::get<2>(_M_m));
609:    auto __ret = std::make_pair(__first_ret, __first_ret);
609:    if (__ret.first != __last)
609:      std::advance(__ret.second, std::distance(std::get<0>(_M_m),
609:            std::get<1>(_M_m)));
609:    return __ret;
609:  }
609: 
609:     private:
609:       tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m;
609:     };
609: 
609:   template<typename _Key, typename _Tp, typename _Hash, typename _Pred>
609:     struct __boyer_moore_map_base
609:     {
609:       template<typename _RAIter>
609:  __boyer_moore_map_base(_RAIter __pat, size_t __patlen,
609:           _Hash&& __hf, _Pred&& __pred)
609:  : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) }
609:  {
609:    if (__patlen > 0)
609:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
609:        _M_bad_char[__pat[__i]] = __patlen - 1 - __i;
609:  }
609: 
609:       using __diff_type = _Tp;
609: 
609:       __diff_type
609:       _M_lookup(_Key __key, __diff_type __not_found) const
609:       {
609:  auto __iter = _M_bad_char.find(__key);
609:  if (__iter == _M_bad_char.end())
609:    return __not_found;
609:  return __iter->second;
609:       }
609: 
609:       _Pred
609:       _M_pred() const { return _M_bad_char.key_eq(); }
609: 
609:       std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
609:     };
609: 
609:   template<typename _Tp, size_t _Len, typename _Pred>
609:     struct __boyer_moore_array_base
609:     {
609:       template<typename _RAIter, typename _Unused>
609:  __boyer_moore_array_base(_RAIter __pat, size_t __patlen,
609:      _Unused&&, _Pred&& __pred)
609:  : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
609:  {
609:    std::get<0>(_M_bad_char).fill(__patlen);
609:    if (__patlen > 0)
609:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
609:        {
609:   auto __ch = __pat[__i];
609:   using _UCh = make_unsigned_t<decltype(__ch)>;
609:   auto __uch = static_cast<_UCh>(__ch);
609:   std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i;
609:        }
609:  }
609: 
609:       using __diff_type = _Tp;
609: 
609:       template<typename _Key>
609:  __diff_type
609:  _M_lookup(_Key __key, __diff_type __not_found) const
609:  {
609:    auto __ukey = static_cast<make_unsigned_t<_Key>>(__key);
609:    if (__ukey >= _Len)
609:      return __not_found;
609:    return std::get<0>(_M_bad_char)[__ukey];
609:  }
609: 
609:       const _Pred&
609:       _M_pred() const { return std::get<1>(_M_bad_char); }
609: 
609:       tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
609:     };
609: 
609: 
609: 
609:   template<typename _RAIter, typename _Hash, typename _Pred,
609:            typename _Val = typename iterator_traits<_RAIter>::value_type,
609:     typename _Diff = typename iterator_traits<_RAIter>::difference_type>
609:     using __boyer_moore_base_t
609:       = __conditional_t<__is_byte_like<_Val, _Pred>::value,
609:    __boyer_moore_array_base<_Diff, 256, _Pred>,
609:    __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>;
609: 
609:   template<typename _RAIter, typename _Hash
609:       = hash<typename iterator_traits<_RAIter>::value_type>,
609:     typename _BinaryPredicate = equal_to<>>
609:     class boyer_moore_searcher
609:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
609:     {
609:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
609:       using typename _Base::__diff_type;
609: 
609:     public:
609:       boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last,
609:       _Hash __hf = _Hash(),
609:       _BinaryPredicate __pred = _BinaryPredicate());
609: 
609:       template<typename _RandomAccessIterator2>
609:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
609:  operator()(_RandomAccessIterator2 __first,
609:      _RandomAccessIterator2 __last) const;
609: 
609:     private:
609:       bool
609:       _M_is_prefix(_RAIter __word, __diff_type __len,
609:      __diff_type __pos)
609:       {
609:  const auto& __pred = this->_M_pred();
609:  __diff_type __suffixlen = __len - __pos;
609:  for (__diff_type __i = 0; __i < __suffixlen; ++__i)
609:    if (!__pred(__word[__i], __word[__pos + __i]))
609:      return false;
609:  return true;
609:       }
609: 
609:       __diff_type
609:       _M_suffix_length(_RAIter __word, __diff_type __len,
609:          __diff_type __pos)
609:       {
609:  const auto& __pred = this->_M_pred();
609:  __diff_type __i = 0;
609:  while (__pred(__word[__pos - __i], __word[__len - 1 - __i])
609:         && __i < __pos)
609:    {
609:      ++__i;
609:    }
609:  return __i;
609:       }
609: 
609:       template<typename _Tp>
609:  __diff_type
609:  _M_bad_char_shift(_Tp __c) const
609:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
609: 
609:       _RAIter _M_pat;
609:       _RAIter _M_pat_end;
609:       std::vector<__diff_type> _M_good_suffix;
609:     };
609: 
609:   template<typename _RAIter, typename _Hash
609:       = hash<typename iterator_traits<_RAIter>::value_type>,
609:     typename _BinaryPredicate = equal_to<>>
609:     class boyer_moore_horspool_searcher
609:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
609:     {
609:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
609:       using typename _Base::__diff_type;
609: 
609:     public:
609:       boyer_moore_horspool_searcher(_RAIter __pat,
609:         _RAIter __pat_end,
609:         _Hash __hf = _Hash(),
609:         _BinaryPredicate __pred
609:         = _BinaryPredicate())
609:       : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
609:  _M_pat(__pat), _M_pat_end(__pat_end)
609:       { }
609: 
609:       template<typename _RandomAccessIterator2>
609:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
609:  operator()(_RandomAccessIterator2 __first,
609:      _RandomAccessIterator2 __last) const
609:  {
609:    const auto& __pred = this->_M_pred();
609:    auto __patlen = _M_pat_end - _M_pat;
609:    if (__patlen == 0)
609:      return std::make_pair(__first, __first);
609:    auto __len = __last - __first;
609:    while (__len >= __patlen)
609:      {
609:        for (auto __scan = __patlen - 1;
609:      __pred(__first[__scan], _M_pat[__scan]); --__scan)
609:   if (__scan == 0)
609:     return std::make_pair(__first, __first + __patlen);
609:        auto __shift = _M_bad_char_shift(__first[__patlen - 1]);
609:        __len -= __shift;
609:        __first += __shift;
609:      }
609:    return std::make_pair(__last, __last);
609:  }
609: 
609:     private:
609:       template<typename _Tp>
609:  __diff_type
609:  _M_bad_char_shift(_Tp __c) const
609:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
609: 
609:       _RAIter _M_pat;
609:       _RAIter _M_pat_end;
609:     };
609: 
609:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
609:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
609:     boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end,
609:     _Hash __hf, _BinaryPredicate __pred)
609:     : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
609:       _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat)
609:     {
609:       auto __patlen = __pat_end - __pat;
609:       if (__patlen == 0)
609:  return;
609:       __diff_type __last_prefix = __patlen - 1;
609:       for (__diff_type __p = __patlen - 1; __p >= 0; --__p)
609:  {
609:    if (_M_is_prefix(__pat, __patlen, __p + 1))
609:      __last_prefix = __p + 1;
609:    _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p);
609:  }
609:       for (__diff_type __p = 0; __p < __patlen - 1; ++__p)
609:  {
609:    auto __slen = _M_suffix_length(__pat, __patlen, __p);
609:    auto __pos = __patlen - 1 - __slen;
609:    if (!__pred(__pat[__p - __slen], __pat[__pos]))
609:      _M_good_suffix[__pos] = __patlen - 1 - __p + __slen;
609:  }
609:     }
609: 
609:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
609:   template<tyreturn __iseqsig_type<_T3>::__call (__x, __y);
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 46 "/usr/include/c++/12/cmath" 2 3
1417: # 77 "/usr/include/c++/12/cmath" 3
1417: extern "C++"
1417: {
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   using ::acos;
1417: 
1417: 
1417:   inline constexpr float
1417:   acos(float __x)
1417:   { return __builtin_acosf(__x); }
1417: 
1417:   inline constexpr long double
1417:   acos(long double __x)
1417:   { return __builtin_acosl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     acos(_Tp __x)
1417:     { return __builtin_acos(__x); }
1417: 
1417:   using ::asin;
1417: 
1417: 
1417:   inline constexpr float
1417:   asin(float __x)
1417:   { return __builtin_asinf(__x); }
1417: 
1417:   inline constexpr long double
1417:   asin(long double __x)
1417:   { return __builtin_asinl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     asin(_Tp __x)
1417:     { return __builtin_asin(__x); }
1417: 
1417:   using ::atan;
1417: 
1417: 
1417:   inline constexpr float
1417:   atan(float __x)
1417:   { return __builtin_atanf(__x); }
1417: 
1417:   inline constexpr long double
1417:   atan(long double __x)
1417:   { return __builtin_atanl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     atan(_Tp __x)
1417:     { return __builtin_atan(__x); }
1417: 
1417:   using ::atan2;
1417: 
1417: 
1417:   inline constexpr float
1417:   atan2(float __y, float __x)
1417:   { return __builtin_atan2f(__y, __x); }
1417: 
1417:   inline constexpr long double
1417:   atan2(long double __y, long double __x)
1417:   { return __builtin_atan2l(__y, __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline constexpr
1417:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     atan2(_Tp __y, _Up __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return atan2(__type(__y), __type(__x));
1417:     }
1417: 
1417:   using ::ceil;
1417: 
1417: 
1417:   inline constexpr float
1417:   ceil(float __x)
1417:   { return __builtin_ceilf(__x); }
1417: 
1417:   inline constexpr long double
1417:   ceil(long double __x)
1417:   { return __builtin_ceill(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     ceil(_Tp __x)
1417:     { return __builtin_ceil(__x); }
1417: 
1417:   using ::cos;
1417: 
1417: 
1417:   inline constexpr float
1417:   cos(float __x)
1417:   { return __builtin_cosf(__x); }
1417: 
1417:   inline constexpr long double
1417:   cos(long double __x)
1417:   { return __builtin_cosl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     cos(_Tp __x)
1417:     { return __builtin_cos(__x); }
1417: 
1417:   using ::cosh;
1417: 
1417: 
1417:   inline constexpr float
1417:   cosh(float __x)
1417:   { return __builtin_coshf(__x); }
1417: 
1417:   inline constexpr long double
1417:   cosh(long double __x)
1417:   { return __builtin_coshl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     cosh(_Tp __x)
1417:     { return __builtin_cosh(__x); }
1417: 
1417:   using ::exp;
1417: 
1417: 
1417:   inline constexpr float
1417:   exp(float __x)
1417:   { return __builtin_expf(__x); }
1417: 
1417:   inline constexpr long double
1417:   exp(long double __x)
1417:   { return __builtin_expl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     exp(_Tp __x)
1417:     { return __builtin_exp(__x); }
1417: 
1417:   using ::fabs;
1417: 
1417: 
1417:   inline constexpr float
1417:   fabs(float __x)
1417:   { return __builtin_fabsf(__x); }
1417: 
1417:   inline constexpr long double
1417:   fabs(long double __x)
1417:   { return __builtin_fabsl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     fabs(_Tp __x)
1417:     { return __builtin_fabs(__x); }
1417: 
1417:   using ::floor;
1417: 
1417: 
1417:   inline constexpr float
1417:   floor(float __x)
1417:   { return __builtin_floorf(__x); }
1417: 
1417:   inline constexpr long double
1417:   floor(long double __x)
1417:   { return __builtin_floorl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     floor(_Tp __x)
1417:     { return __builtin_floor(__x); }
1417: 
1417:   using ::fmod;
1417: 
1417: 
1417:   inline constexpr float
1417:   fmod(float __x, float __y)
1417:   { return __builtin_fmodf(__x, __y); }
1417: 
1417:   inline constexpr long double
1417:   fmod(long double __x, long double __y)
1417:   { return __builtin_fmodl(__x, __y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline constexpr
1417:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     fmod(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return fmod(__type(__x), __type(__y));
1417:     }
1417: 
1417:   using ::frexp;
1417: 
1417: 
1417:   inline float
1417:   frexp(float __x, int* __exp)
1417:   { return __builtin_frexpf(__x, __exp); }
1417: 
1417:   inline long double
1417:   frexp(long double __x, int* __exp)
1417:   { return __builtin_frexpl(__x, __exp); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     frexp(_Tp __x, int* __exp)
1417:     { return __builtin_frexp(__x, __exp); }
1417: 
1417:   using ::ldexp;
1417: 
1417: 
1417:   inline constexpr float
1417:   ldexp(float __x, int __exp)
1417:   { return __builtin_ldexpf(__x, __exp); }
1417: 
1417:   inline constexpr long double
1417:   ldexp(long double __x, int __exp)
1417:   { return __builtin_ldexpl(__x, __exp); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     ldexp(_Tp __x, int __exp)
1417:     { return __builtin_ldexp(__x, __exp); }
1417: 
1417:   using ::log;
1417: 
1417: 
1417:   inline constexpr float
1417:   log(float __x)
1417:   { return __builtin_logf(__x); }
1417: 
1417:   inline constexpr long double
1417:   log(long double __x)
1417:   { return __builtin_logl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     log(_Tp __x)
1417:     { return __builtin_log(__x); }
1417: 
1417:   using ::log10;
1417: 
1417: 
1417:   inline constexpr float
1417:   log10(float __x)
1417:   { return __builtin_log10f(__x); }
1417: 
1417:   inline constexpr long double
1417:   log10(long double __x)
1417:   { return __builtin_log10l(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:pename _RandomAccessIterator2>
609:     pair<_RandomAccessIterator2, _RandomAccessIterator2>
609:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
609:     operator()(_RandomAccessIterator2 __first,
609:         _RandomAccessIterator2 __last) const
609:     {
609:       auto __patlen = _M_pat_end - _M_pat;
609:       if (__patlen == 0)
609:  return std::make_pair(__first, __first);
609:       const auto& __pred = this->_M_pred();
609:       __diff_type __i = __patlen - 1;
609:       auto __stringlen = __last - __first;
609:       while (__i < __stringlen)
609:  {
609:    __diff_type __j = __patlen - 1;
609:    while (__j >= 0 && __pred(__first[__i], _M_pat[__j]))
609:      {
609:        --__i;
609:        --__j;
609:      }
609:    if (__j < 0)
609:      {
609:        const auto __match = __first + __i + 1;
609:        return std::make_pair(__match, __match + __patlen);
609:      }
609:    __i += std::max(_M_bad_char_shift(__first[__i]),
609:      _M_good_suffix[__j]);
609:  }
609:       return std::make_pair(__last, __last);
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
609: 
609: 
609: 
609: 
609: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
609: namespace XbmcThreads
609: {
609: 
609: 
609: 
609: 
609: 
609:   class ConditionVariable
609:   {
609:   private:
609:     std::condition_variable_any cond;
609:     ConditionVariable(const ConditionVariable&) = delete;
609:     ConditionVariable& operator=(const ConditionVariable&) = delete;
609: 
609:   public:
609:     ConditionVariable() = default;
609: 
609:     inline void wait(CCriticalSection& lock, std::function<bool()> predicate)
609:     {
609:       int count = lock.count;
609:       lock.count = 0;
609:       cond.wait(lock.get_underlying(), std::move(predicate));
609:       lock.count = count;
609:     }
609: 
609:     inline void wait(CCriticalSection& lock)
609:     {
609:       int count = lock.count;
609:       lock.count = 0;
609:       cond.wait(lock.get_underlying());
609:       lock.count = count;
609:     }
609: 
609:     template<typename Rep, typename Period>
609:     inline bool wait(CCriticalSection& lock,
609:                      std::chrono::duration<Rep, Period> duration,
609:                      std::function<bool()> predicate)
609:     {
609:       int count = lock.count;
609:       lock.count = 0;
609:       bool ret = cond.wait_for(lock.get_underlying(), duration, predicate);
609:       lock.count = count;
609:       return ret;
609:     }
609: 
609:     template<typename Rep, typename Period>
609:     inline bool wait(CCriticalSection& lock, std::chrono::duration<Rep, Period> duration)
609:     {
609:       int count = lock.count;
609:       lock.count = 0;
609:       std::cv_status res = cond.wait_for(lock.get_underlying(), duration);
609:       lock.count = count;
609:       return res == std::cv_status::no_timeout;
609:     }
609: 
609:     inline void wait(std::unique_lock<CCriticalSection>& lock, std::function<bool()> predicate)
609:     {
609:       cond.wait(*lock.mutex(), std::move(predicate));
609:     }
609: 
609:     inline void wait(std::unique_lock<CCriticalSection>& lock) { wait(*lock.mutex()); }
609: 
609:     template<typename Rep, typename Period>
609:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
609:                      std::chrono::duration<Rep, Period> duration,
609:                      std::function<bool()> predicate)
609:     {
609:       return wait(*lock.mutex(), duration, predicate);
609:     }
609: 
609:     template<typename Rep, typename Period>
609:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
609:                      std::chrono::duration<Rep, Period> duration)
609:     {
609:       return wait(*lock.mutex(), duration);
609:     }
609: 
609:     inline void notifyAll()
609:     {
609:       cond.notify_all();
609:     }
609: 
609:     inline void notify()
609:     {
609:       cond.notify_one();
609:     }
609:   };
609: 
609: }
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 2
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace XbmcThreads
609: {
609: class CEventGroup;
609: }
609: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
609: class CEvent
609: {
609:   bool manualReset;
609:   volatile bool signaled;
609:   unsigned int numWaits = 0;
609: 
609:   CCriticalSection groupListMutex;
609:   std::unique_ptr<std::vector<XbmcThreads::CEventGroup*>> groups;
609: 
609:   XbmcThreads::ConditionVariable actualCv;
609:   CCriticalSection mutex;
609: 
609:   friend class XbmcThreads::CEventGroup;
609: 
609:   void addGroup(XbmcThreads::CEventGroup* group);
609:   void removeGroup(XbmcThreads::CEventGroup* group);
609: 
609: 
609:   inline bool prepReturn()
609:   {
609:     bool ret = signaled;
609:     if (!manualReset && numWaits == 0)
609:       signaled = false;
609:     return ret;
609:   }
609: 
609:   CEvent(const CEvent&) = delete;
609:   CEvent& operator=(const CEvent&) = delete;
609: 
609: public:
609:   inline CEvent(bool manual = false, bool signaled_ = false)
609:     : manualReset(manual), signaled(signaled_)
609:   {
609:   }
609: 
609:   inline void Reset()
609:   {
609:     std::unique_lock<CCriticalSection> lock(mutex);
609:     signaled = false;
609:   }
609:   void Set();
609: 
609: 
609: 
609: 
609: 
609:   inline bool Signaled()
609:   {
609:     std::unique_lock<CCriticalSection> lock(mutex);
609:     return signaled;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename Rep, typename Period>
609:   inline bool Wait(std::chrono::duration<Rep, Period> duration)
609:   {
609:     std::unique_lock<CCriticalSection> lock(mutex);
609:     numWaits++;
609:     actualCv.wait(mutex, duration, std::bind(&CEvent::Signaled, this));
609:     numWaits--;
609:     return prepReturn();
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline bool Wait()
609:   {
609:     std::unique_lock<CCriticalSection> lock(mutex);
609:     numWaits++;
609:     actualCv.wait(mutex, std::bind(&CEvent::Signaled, this));
609:     numWaits--;
609:     return prepReturn();
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline int getNumWaits()
609:   {
609:     std::unique_lock<CCriticalSection> lock(mutex);
609:     return numWaits;
609:   }
609: };
609: 
609: namespace XbmcThreads
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: class CEventGroup
609: {
609:   std::vector<CEvent*> events;
609:   CEvent* signaled{};
609:   XbmcThreads::ConditionVariable actualCv;
609:   CCriticalSection mutex;
609: 
609:   unsigned int numWaits{0};
609: 
609: 
609:   inline void Set(CEvent* child)
609:   {
609:     std::unique_lock<CCriticalSection> l(mutex);
609:     signaled = child;
609:     actualCv.notifyAll();
609:   }
609: 
609:   friend class ::CEvent;
609: 
609:   CEventGroup(const CEventGroup&) = delete;
609:   CEventGroup& operator=(const CEventGroup&) = delete;
609: 
609: public:
609: 
609: 
609: 
609: 
609:   CEventGroup(std::initializer_list<CEvent*> events);
609: 
609:   ~CEventGroup();
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   CEvent* wait();
609: # 185 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
609:   template<typename Rep, typename Period>
609:   CEvent* wait(std::chrono::duration<Rep, Period> duration)
609:   {
609:     std::unique_lock<CCriticalSection> lock(mutex);
609:     numWaits++;
609: 
609: 
609: 
609: 
609: 
609: 
609:     signaled = nullptr;
609:     for (auto* cur : events)
609:     {
609:       std::unique_lock<CCriticalSection> lock2(cur->mutex);
609:       if (cur->signaled)
609:         signaled = cur;
609:     }
609: 
609: 
609:     if (!signaled)
609:     {
609: 
609:       if (duration == std::chrono::duration<Rep, Period>::max())
609:         actualCv.wait(mutex, [this]() { return signaled != nullptr; });
609:       else
609:         actualCv.wait(mutex, duration, [this]() { return signaled != nullptr; });
609:     }
609:     numWaits--;
609: 
609: 
609:     CEvent* ret = signaled;
609:     if (numWaits == 0)
609:     {
609:       if (signaled)
609: 
609: 
609:         signaled-     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     log10(_Tp __x)
1417:     { return __builtin_log10(__x); }
1417: 
1417:   using ::modf;
1417: 
1417: 
1417:   inline float
1417:   modf(float __x, float* __iptr)
1417:   { return __builtin_modff(__x, __iptr); }
1417: 
1417:   inline long double
1417:   modf(long double __x, long double* __iptr)
1417:   { return __builtin_modfl(__x, __iptr); }
1417: 
1417: 
1417:   using ::pow;
1417: 
1417: 
1417:   inline constexpr float
1417:   pow(float __x, float __y)
1417:   { return __builtin_powf(__x, __y); }
1417: 
1417:   inline constexpr long double
1417:   pow(long double __x, long double __y)
1417:   { return __builtin_powl(__x, __y); }
1417: # 412 "/usr/include/c++/12/cmath" 3
1417:   template<typename _Tp, typename _Up>
1417:     inline constexpr
1417:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     pow(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return pow(__type(__x), __type(__y));
1417:     }
1417: 
1417:   using ::sin;
1417: 
1417: 
1417:   inline constexpr float
1417:   sin(float __x)
1417:   { return __builtin_sinf(__x); }
1417: 
1417:   inline constexpr long double
1417:   sin(long double __x)
1417:   { return __builtin_sinl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     sin(_Tp __x)
1417:     { return __builtin_sin(__x); }
1417: 
1417:   using ::sinh;
1417: 
1417: 
1417:   inline constexpr float
1417:   sinh(float __x)
1417:   { return __builtin_sinhf(__x); }
1417: 
1417:   inline constexpr long double
1417:   sinh(long double __x)
1417:   { return __builtin_sinhl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     sinh(_Tp __x)
1417:     { return __builtin_sinh(__x); }
1417: 
1417:   using ::sqrt;
1417: 
1417: 
1417:   inline constexpr float
1417:   sqrt(float __x)
1417:   { return __builtin_sqrtf(__x); }
1417: 
1417:   inline constexpr long double
1417:   sqrt(long double __x)
1417:   { return __builtin_sqrtl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     sqrt(_Tp __x)
1417:     { return __builtin_sqrt(__x); }
1417: 
1417:   using ::tan;
1417: 
1417: 
1417:   inline constexpr float
1417:   tan(float __x)
1417:   { return __builtin_tanf(__x); }
1417: 
1417:   inline constexpr long double
1417:   tan(long double __x)
1417:   { return __builtin_tanl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     tan(_Tp __x)
1417:     { return __builtin_tan(__x); }
1417: 
1417:   using ::tanh;
1417: 
1417: 
1417:   inline constexpr float
1417:   tanh(float __x)
1417:   { return __builtin_tanhf(__x); }
1417: 
1417:   inline constexpr long double
1417:   tanh(long double __x)
1417:   { return __builtin_tanhl(__x); }
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     double>::__type
1417:     tanh(_Tp __x)
1417:     { return __builtin_tanh(__x); }
1417: # 536 "/usr/include/c++/12/cmath" 3
1417:   constexpr int
1417:   fpclassify(float __x)
1417:   { return __builtin_fpclassify(0, 1, 4,
1417:     3, 2, __x); }
1417: 
1417:   constexpr int
1417:   fpclassify(double __x)
1417:   { return __builtin_fpclassify(0, 1, 4,
1417:     3, 2, __x); }
1417: 
1417:   constexpr int
1417:   fpclassify(long double __x)
1417:   { return __builtin_fpclassify(0, 1, 4,
1417:     3, 2, __x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               int>::__type
1417:     fpclassify(_Tp __x)
1417:     { return __x != 0 ? 4 : 2; }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isfinite(float __x)
1417:   { return __builtin_isfinite(__x); }
1417: 
1417:   constexpr bool
1417:   isfinite(double __x)
1417:   { return __builtin_isfinite(__x); }
1417: 
1417:   constexpr bool
1417:   isfinite(long double __x)
1417:   { return __builtin_isfinite(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               bool>::__type
1417:     isfinite(_Tp __x)
1417:     { return true; }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isinf(float __x)
1417:   { return __builtin_isinf(__x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isinf(double __x)
1417:   { return __builtin_isinf(__x); }
1417: 
1417: 
1417:   constexpr bool
1417:   isinf(long double __x)
1417:   { return __builtin_isinf(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               bool>::__type
1417:     isinf(_Tp __x)
1417:     { return false; }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isnan(float __x)
1417:   { return __builtin_isnan(__x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isnan(double __x)
1417:   { return __builtin_isnan(__x); }
1417: 
1417: 
1417:   constexpr bool
1417:   isnan(long double __x)
1417:   { return __builtin_isnan(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               bool>::__type
1417:     isnan(_Tp __x)
1417:     { return false; }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isnormal(float __x)
1417:   { return __builtin_isnormal(__x); }
1417: 
1417:   constexpr bool
1417:   isnormal(double __x)
1417:   { return __builtin_isnormal(__x); }
1417: 
1417:   constexpr bool
1417:   isnormal(long double __x)
1417:   { return __builtin_isnormal(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               bool>::__type
1417:     isnormal(_Tp __x)
1417:     { return __x != 0 ? true : false; }
1417: 
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   signbit(float __x)
1417:   { return __builtin_signbit(__x); }
1417: 
1417:   constexpr bool
1417:   signbit(double __x)
1417:   { return __builtin_signbit(__x); }
1417: 
1417:   constexpr bool
1417:   signbit(long double __x)
1417:   { return __builtin_signbit(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               bool>::__type
1417:     signbit(_Tp __x)
1417:     { return __x < 0 ? true : false; }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isgreater(float __x, float __y)
1417:   { return __builtin_isgreater(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isgreater(double __x, double __y)
1417:   { return __builtin_isgreater(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isgreater(long double __x, long double __y)
1417:   { return __builtin_isgreater(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename
1417:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1417:        && __is_arithmetic<_Up>::__value), bool>::__type
1417:     isgreater(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return __builtin_isgreater(__type(__>Wait(std::chrono::duration<Rep, Period>::zero());
609:       signaled = nullptr;
609:     }
609:     return ret;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline int getNumWaits()
609:   {
609:     std::unique_lock<CCriticalSection> lock(mutex);
609:     return numWaits;
609:   }
609: };
609: }
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 2
609: 
609: class CVideoReferenceClock;
609: typedef void (*PUPDATECLOCK)(int NrVBlanks, uint64_t time, void *clock);
609: 
609: class CVideoSync
609: {
609: public:
609:   explicit CVideoSync(void* clock) { m_refClock = clock; }
609:   virtual ~CVideoSync() = default;
609:   virtual bool Setup(PUPDATECLOCK func) = 0;
609:   virtual void Run(CEvent& stop) = 0;
609:   virtual void Cleanup() = 0;
609:   virtual float GetFps() = 0;
609:   virtual void RefreshChanged() {}
609: 
609: protected:
609:   PUPDATECLOCK UpdateClock;
609:   float m_fps;
609:   void *m_refClock;
609: };
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 1
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h"
609:        
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 1
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
609:        
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h" 1
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
609:        
609: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
609: typedef enum
609: {
609: 
609:   XBMCK_UNKNOWN = 0x00,
609:   XBMCK_FIRST = 0x00,
609:   XBMCK_CTRLF = 0x06,
609:   XBMCK_BACKSPACE = 0x08,
609:   XBMCK_TAB = 0x09,
609:   XBMCK_CLEAR = 0x0C,
609:   XBMCK_RETURN = 0x0D,
609:   XBMCK_PAUSE = 0x13,
609:   XBMCK_ESCAPE = 0x1B,
609:   XBMCK_SPACE = 0x20,
609:   XBMCK_EXCLAIM = 0x21,
609:   XBMCK_QUOTEDBL = 0x22,
609:   XBMCK_HASH = 0x23,
609:   XBMCK_DOLLAR = 0x24,
609:   XBMCK_PERCENT = 0x25,
609:   XBMCK_AMPERSAND = 0x26,
609:   XBMCK_QUOTE = 0x27,
609:   XBMCK_LEFTPAREN = 0x28,
609:   XBMCK_RIGHTPAREN = 0x29,
609:   XBMCK_ASTERISK = 0x2A,
609:   XBMCK_PLUS = 0x2B,
609:   XBMCK_COMMA = 0x2C,
609:   XBMCK_MINUS = 0x2D,
609:   XBMCK_PERIOD = 0x2E,
609:   XBMCK_SLASH = 0x2F,
609:   XBMCK_0 = 0x30,
609:   XBMCK_1 = 0x31,
609:   XBMCK_2 = 0x32,
609:   XBMCK_3 = 0x33,
609:   XBMCK_4 = 0x34,
609:   XBMCK_5 = 0x35,
609:   XBMCK_6 = 0x36,
609:   XBMCK_7 = 0x37,
609:   XBMCK_8 = 0x38,
609:   XBMCK_9 = 0x39,
609:   XBMCK_COLON = 0x3A,
609:   XBMCK_SEMICOLON = 0x3B,
609:   XBMCK_LESS = 0x3C,
609:   XBMCK_EQUALS = 0x3D,
609:   XBMCK_GREATER = 0x3E,
609:   XBMCK_QUESTION = 0x3F,
609:   XBMCK_AT = 0x40,
609: 
609:   XBMCK_LEFTBRACKET = 0x5B,
609:   XBMCK_BACKSLASH = 0x5C,
609:   XBMCK_RIGHTBRACKET = 0x5D,
609:   XBMCK_CARET = 0x5E,
609:   XBMCK_UNDERSCORE = 0x5F,
609:   XBMCK_BACKQUOTE = 0x60,
609:   XBMCK_a = 0x61,
609:   XBMCK_b = 0x62,
609:   XBMCK_c = 0x63,
609:   XBMCK_d = 0x64,
609:   XBMCK_e = 0x65,
609:   XBMCK_f = 0x66,
609:   XBMCK_g = 0x67,
609:   XBMCK_h = 0x68,
609:   XBMCK_i = 0x69,
609:   XBMCK_j = 0x6A,
609:   XBMCK_k = 0x6B,
609:   XBMCK_l = 0x6C,
609:   XBMCK_m = 0x6D,
609:   XBMCK_n = 0x6E,
609:   XBMCK_o = 0x6F,
609:   XBMCK_p = 0x70,
609:   XBMCK_q = 0x71,
609:   XBMCK_r = 0x72,
609:   XBMCK_s = 0x73,
609:   XBMCK_t = 0x74,
609:   XBMCK_u = 0x75,
609:   XBMCK_v = 0x76,
609:   XBMCK_w = 0x77,
609:   XBMCK_x = 0x78,
609:   XBMCK_y = 0x79,
609:   XBMCK_z = 0x7A,
609:   XBMCK_LEFTBRACE = 0x7b,
609:   XBMCK_PIPE = 0x7C,
609:   XBMCK_RIGHTBRACE = 0x7D,
609:   XBMCK_TILDE = 0x7E,
609:   XBMCK_DELETE = 0x7F,
609: 
609: 
609: 
609: 
609: 
609:   XBMCK_BROWSER_BACK = 0xA6,
609:   XBMCK_BROWSER_FORWARD = 0xA7,
609:   XBMCK_BROWSER_REFRESH = 0xA8,
609:   XBMCK_BROWSER_STOP = 0xA9,
609:   XBMCK_BROWSER_SEARCH = 0xAA,
609:   XBMCK_BROWSER_FAVORITES = 0xAB,
609:   XBMCK_BROWSER_HOME = 0xAC,
609:   XBMCK_VOLUME_MUTE = 0xAD,
609:   XBMCK_VOLUME_DOWN = 0xAE,
609:   XBMCK_VOLUME_UP = 0xAF,
609:   XBMCK_MEDIA_NEXT_TRACK = 0xB0,
609:   XBMCK_MEDIA_PREV_TRACK = 0xB1,
609:   XBMCK_MEDIA_STOP = 0xB2,
609:   XBMCK_MEDIA_PLAY_PAUSE = 0xB3,
609:   XBMCK_LAUNCH_MAIL = 0xB4,
609:   XBMCK_LAUNCH_MEDIA_SELECT = 0xB5,
609:   XBMCK_LAUNCH_APP1 = 0xB6,
609:   XBMCK_LAUNCH_APP2 = 0xB7,
609:   XBMCK_LAUNCH_FILE_BROWSER = 0xB8,
609:   XBMCK_LAUNCH_MEDIA_CENTER = 0xB9,
609:   XBMCK_MEDIA_REWIND = 0xBA,
609:   XBMCK_MEDIA_FASTFORWARD = 0xBB,
609: 
609: 
609:   XBMCK_KP0 = 0x100,
609:   XBMCK_KP1 = 0x101,
609:   XBMCK_KP2 = 0x102,
609:   XBMCK_KP3 = 0x103,
609:   XBMCK_KP4 = 0x104,
609:   XBMCK_KP5 = 0x105,
609:   XBMCK_KP6 = 0x106,
609:   XBMCK_KP7 = 0x107,
609:   XBMCK_KP8 = 0x108,
609:   XBMCK_KP9 = 0x109,
609:   XBMCK_KP_PERIOD = 0x10A,
609:   XBMCK_KP_DIVIDE = 0x10B,
609:   XBMCK_KP_MULTIPLY = 0x10C,
609:   XBMCK_KP_MINUS = 0x10D,
609:   XBMCK_KP_PLUS = 0x10E,
609:   XBMCK_KP_ENTER = 0x10F,
609:   XBMCK_KP_EQUALS = 0x110,
609: 
609: 
609:   XBMCK_UP = 0x111,
609:   XBMCK_DOWN = 0x112,
609:   XBMCK_RIGHT = 0x113,
609:   XBMCK_LEFT = 0x114,
609:   XBMCK_INSERT = 0x115,
609:   XBMCK_HOME = 0x116,
609:   XBMCK_END = 0x117,
609:   XBMCK_PAGEUP = 0x118,
609:   XBMCK_PAGEDOWN = 0x119,
609: 
609: 
609:   XBMCK_F1 = 0x11A,
609:   XBMCK_F2 = 0x11B,
609:   XBMCK_F3 = 0x11C,
609:   XBMCK_F4 = 0x11D,
609:   XBMCK_F5 = 0x11E,
609:   XBMCK_F6 = 0x11F,
609:   XBMCK_F7 = 0x120,
609:   XBMCK_F8 = 0x121,
609:   XBMCK_F9 = 0x122,
609:   XBMCK_F10 = 0x123,
609:   XBMCK_F11 = 0x124,
609:   XBMCK_F12 = 0x125,
609:   XBMCK_F13 = 0x126,
609:   XBMCK_F14 = 0x127,
609:   XBMCK_F15 = 0x128,
609: 
609: 
609:   XBMCK_NUMLOCK = 0x12C,
609:   XBMCK_CAPSLOCK = 0x12D,
609:   XBMCK_SCROLLOCK = 0x12E,
609:   XBMCK_RSHIFT = 0x12F,
609:   XBMCK_LSHIFT = 0x130,
609:   XBMCK_RCTRL = 0x131,
609:   XBMCK_LCTRL = 0x132,
609:   XBMCK_RALT = 0x133,
609:   XBMCK_LALT = 0x134,
609:   XBMCK_RMETA = 0x135,
609:   XBMCK_LMETA = 0x136,
609:   XBMCK_LSUPER = 0x137,
609:   XBMCK_RSUPER = 0x138,
609:   XBMCK_MODE = 0x139,
609:   XBMCK_COMPOSE = 0x13A,
609: 
609: 
609:   XBMCK_HELP = 0x13B,
609:   XBMCK_PRINT = 0x13C,
609:   XBMCK_SYSREQ = 0x13D,
609:   XBMCK_BREAK = 0x13E,
609:   XBMCK_MENU = 0x13F,
609:   XBMCK_POWER = 0x140,
609:   XBMCK_EURO = 0x141,
609:   XBMCK_UNDO = 0x142,
609:   XBMCK_SLEEP = 0x143,
609:   XBMCK_GUIDE = 0x144,
609:   XBMCK_SETTINGS = 0x145,
609:   XBMCK_INFO = 0x146,
609:   XBMCK_RED = 0x147,
609:   XBMCK_GREEN = 0x148,
609:   XBMCK_YELLOW = 0x149,
609:   XBMCK_BLUE = 0x14a,
609:   XBMCK_ZOOM = 0x14b,
609:   XBMCK_TEXT = 0x14c,
609:   XBMCK_FAVORITES = 0x14d,
609:   XBMCK_HOMEPAGE = 0x14e,
609:   XBMCK_CONFIG = 0x14f,
609:   XBMCK_EPG = 0x150,
609: 
609: 
609: 
609: 
609:   XBMCK_STOP = 337,
609:   XBMCK_RECORD = 338,
609:   XBMCK_REWIND = 339,
609:   XBMCK_PHONE = 340,
609:   XBMCK_PLAY = 341,
609:   XBMCK_SHUFFLE = 342,
609:   XBMCK_FASTFORWARD = 343,
609:   XBMCK_EJECT = 344,
609: 
609:   XBMCK_LAST
609: } XBMCKey;
609: 
609: 
609: typedef enum
609: {
609:   XBMCKMOD_NONE = 0x0000,
609:   XBMCKMOD_LSHIFT = 0x0001,
609:   XBMCKMOD_RSHIFT = 0x0002,
609:   XBMCKMOD_LSUPER = 0x0010,
609:   XBMCKMOD_RSUPER = 0x0020,
609:   XBMCKMOD_LCTRL = 0x0040,
609:   XBMCKMOD_RCTRL = 0x0080,
609:   XBMCKMOD_LALT = 0x0100,
609:   XBMCKMOD_RALT = 0x0200,
609:   XBMCKMOD_LMETA = 0x0400,
609:   XBMCKMOD_RMETA = 0x0800,
609:   XBMCKMOD_NUM = 0x1000,
609:   XBMCKMOD_CAPS = 0x2000,
609:   XBMCKMOD_MODE = 0x4000,
609:   XBMCKMOD_RESERVED = 0x8000
609: } XBMCMod;
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 2
609: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
609: typedef struct XBMC_keysym
609: {
609:   unsigned char scancode;
609:   XBMCKey sym;
609:   XBMCMod mod;
609:   uint16_t unicode;
609: } XBMC_keysym;
609: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 2
609: 
609: 
609: typedef enum
609: {
609:   XBMC_NOEVENT = 0,
609:   x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isgreaterequal(float __x, float __y)
1417:   { return __builtin_isgreaterequal(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isgreaterequal(double __x, double __y)
1417:   { return __builtin_isgreaterequal(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isgreaterequal(long double __x, long double __y)
1417:   { return __builtin_isgreaterequal(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename
1417:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1417:        && __is_arithmetic<_Up>::__value), bool>::__type
1417:     isgreaterequal(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return __builtin_isgreaterequal(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isless(float __x, float __y)
1417:   { return __builtin_isless(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isless(double __x, double __y)
1417:   { return __builtin_isless(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isless(long double __x, long double __y)
1417:   { return __builtin_isless(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename
1417:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1417:        && __is_arithmetic<_Up>::__value), bool>::__type
1417:     isless(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return __builtin_isless(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   islessequal(float __x, float __y)
1417:   { return __builtin_islessequal(__x, __y); }
1417: 
1417:   constexpr bool
1417:   islessequal(double __x, double __y)
1417:   { return __builtin_islessequal(__x, __y); }
1417: 
1417:   constexpr bool
1417:   islessequal(long double __x, long double __y)
1417:   { return __builtin_islessequal(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename
1417:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1417:        && __is_arithmetic<_Up>::__value), bool>::__type
1417:     islessequal(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return __builtin_islessequal(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   islessgreater(float __x, float __y)
1417:   { return __builtin_islessgreater(__x, __y); }
1417: 
1417:   constexpr bool
1417:   islessgreater(double __x, double __y)
1417:   { return __builtin_islessgreater(__x, __y); }
1417: 
1417:   constexpr bool
1417:   islessgreater(long double __x, long double __y)
1417:   { return __builtin_islessgreater(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename
1417:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1417:        && __is_arithmetic<_Up>::__value), bool>::__type
1417:     islessgreater(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return __builtin_islessgreater(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr bool
1417:   isunordered(float __x, float __y)
1417:   { return __builtin_isunordered(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isunordered(double __x, double __y)
1417:   { return __builtin_isunordered(__x, __y); }
1417: 
1417:   constexpr bool
1417:   isunordered(long double __x, long double __y)
1417:   { return __builtin_isunordered(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename
1417:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1417:        && __is_arithmetic<_Up>::__value), bool>::__type
1417:     isunordered(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return __builtin_isunordered(__type(__x), __type(__y));
1417:     }
1417: # 1065 "/usr/include/c++/12/cmath" 3
1417:   using ::double_t;
1417:   using ::float_t;
1417: 
1417: 
1417:   using ::acosh;
1417:   using ::acoshf;
1417:   using ::acoshl;
1417: 
1417:   using ::asinh;
1417:   using ::asinhf;
1417:   using ::asinhl;
1417: 
1417:   using ::atanh;
1417:   using ::atanhf;
1417:   using ::atanhl;
1417: 
1417:   using ::cbrt;
1417:   using ::cbrtf;
1417:   using ::cbrtl;
1417: 
1417:   using ::copysign;
1417:   using ::copysignf;
1417:   using ::copysignl;
1417: 
1417:   using ::erf;
1417:   using ::erff;
1417:   using ::erfl;
1417: 
1417:   using ::erfc;
1417:   using ::erfcf;
1417:   using ::erfcl;
1417: 
1417:   using ::exp2;
1417:   using ::exp2f;
1417:   using ::exp2l;
1417: 
1417:   using ::expm1;
1417:   using ::expm1f;
1417:   using ::expm1l;
1417: 
1417:   using ::fdim;
1417:   using ::fdimf;
1417:   using ::fdiml;
1417: 
1417:   using ::fma;
1417:   using ::fmaf;
1417:   using ::fmal;
1417: 
1417:   using ::fmax;
1417:   using ::fmaxf;
1417:   using ::fmaxl;
1417: 
1417:   using ::fmin;
1417:   using ::fminf;
1417:   using ::fminl;
1417: 
1417:   using ::hypot;
1417:   using ::hypotf;
1417:   using ::hypotl;
1417: 
1417:   using ::ilogb;
1417:   using ::ilogbf;
1417:   using ::ilogbl;
1417: 
1417:   using ::lgamma;
1417:   using ::lgammaf;
1417:   using ::lgammal;
1417: 
1417: 
1417:   using ::llrint;
1417:   using ::llrintf;
1417:   using ::llrintl;
1417: 
1417:   using ::llround;
1417:   using ::llroundf;
1417:   using ::llroundl;
1417: 
1417: 
1417:   using ::log1p;
1417:   using ::log1pf;
1417:   using ::log1pl;
1417: 
1417:   using ::log2;
1417:   using ::log2f;
1417:   using ::log2l;
1417: 
1417:   using ::logb;
1417:   using ::logbf;
1417:   using ::logbl;
1417: 
1417:   using ::lrint;
1417:   using ::lrintf;
1417:   using ::lrintl;
1417: 
1417:   using ::lround;
1417:   using ::lroundf;
1417:   using ::lroundl;
1417: 
1417:   using ::nan;
1417:   using ::nanf;
1417:   using ::nanl;
1417: 
1417:   using ::nearbyint;
1417:   using ::nearbyintf;
1417:   using ::nearbyintl;
1417: 
1417:   using ::nextafter;
1417:   using ::nextafterf;
1417:   using ::nextafterl;
1417: 
1417:   using ::nexttoward;
1417:   using ::nexttowardf;
1417:   using ::nexttowardl;
1417: 
1417:   using ::remainder;
1417:   using ::remainderf;
1417:   using ::remainderl;
1417: 
1417:   using ::remquo;
1417:   using ::remquof;
1417:   using ::remquol;
1417: 
1417:   using ::rint;
1417:   using ::rintf;
1417:   using ::rintl;
1417: 
1417:   using ::round;
1417:   using ::roundf;
1417:   using ::roundl;
1417: 
1417:   using ::scalbln;
1417:   using ::scalblnf;
1417:   using ::scalblnl;
1417: 
1417:   using ::scalbn;
1417:   using ::scalbnf;
1417:   using ::scalbnl;
1417: 
1417:   using ::tgamma;
1417:   using ::tgammaf;
1417:   using ::tgammal;
1417: 
1417:   using ::trunc;
1417:   using ::truncf;
1417:   using ::truncl;
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   acosh(float __x)
1417:   { return __builtin_acoshf(__x); }
1417: 
1417:   constexpr long double
1417:   acosh(long double __x)
1417:   { return __builtin_acoshl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     acosh(_Tp __x)
1417:     { return __builtin_acosh(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   asinh(float __x)
1417:   { return __builtin_asinhf(__x); }
1417: 
1417:   constexpr long double
1417:   asinh(long double __x)
1417:   { return __builtin_asinhl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     asinh(_Tp __x)
1417:     { return __builtin_asinh(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   atanh(float __x)
1417:   { return __builtin_atanhf(__x); }
1417: 
1417:   constexpr XBMC_KEYDOWN,
609:   XBMC_KEYUP,
609:   XBMC_MOUSEMOTION,
609:   XBMC_MOUSEBUTTONDOWN,
609:   XBMC_MOUSEBUTTONUP,
609:   XBMC_QUIT,
609:   XBMC_VIDEORESIZE,
609:   XBMC_FULLSCREEN_UPDATE,
609:   XBMC_VIDEOMOVE,
609:   XBMC_MODECHANGE,
609:   XBMC_TOUCH,
609:   XBMC_BUTTON,
609:   XBMC_SETFOCUS,
609:   XBMC_USEREVENT,
609: 
609:   XBMC_MAXEVENT = 256
609: } XBMC_EventType;
609: 
609: 
609: typedef struct XBMC_KeyboardEvent {
609:  XBMC_keysym keysym;
609: } XBMC_KeyboardEvent;
609: 
609: 
609: typedef struct XBMC_MouseMotionEvent {
609:  uint16_t x, y;
609: } XBMC_MouseMotionEvent;
609: 
609: 
609: typedef struct XBMC_MouseButtonEvent {
609:  unsigned char button;
609:  uint16_t x, y;
609: } XBMC_MouseButtonEvent;
609: 
609: 
609: 
609: 
609: 
609: typedef struct XBMC_ResizeEvent {
609:  int w;
609:  int h;
609: } XBMC_ResizeEvent;
609: 
609: typedef struct XBMC_MoveEvent {
609:  int x;
609:  int y;
609: } XBMC_MoveEvent;
609: 
609: struct XBMC_ModeChangeEvent
609: {
609:   RESOLUTION res;
609: };
609: 
609: 
609: typedef struct XBMC_QuitEvent {
609: } XBMC_QuitEvent;
609: 
609: 
609: typedef struct XBMC_UserEvent {
609:  int code;
609:  void *data1;
609:  void *data2;
609: } XBMC_UserEvent;
609: 
609: 
609: typedef struct XBMC_AppCommandEvent {
609:   unsigned int action;
609: } XBMC_AppCommandEvent;
609: 
609: 
609: typedef struct XBMC_TouchEvent {
609:   int action;
609:   float x, y;
609:   float x2, y2;
609:   float x3, y3;
609:   int pointers;
609: } XBMC_TouchEvent;
609: 
609: typedef struct XBMC_SetFocusEvent {
609:  int x;
609:  int y;
609: } XBMC_SetFocusEvent;
609: 
609: 
609: typedef struct XBMC_ButtonEvent
609: {
609:   uint32_t button;
609:   uint32_t holdtime;
609: } XBMC_ButtonEvent;
609: 
609: 
609: typedef struct XBMC_Event {
609:   uint8_t type;
609:   union
609:   {
609:     XBMC_KeyboardEvent key;
609:     XBMC_MouseMotionEvent motion;
609:     XBMC_MouseButtonEvent button;
609:     XBMC_ResizeEvent resize;
609:     XBMC_MoveEvent move;
609:     XBMC_ModeChangeEvent mode;
609:     XBMC_QuitEvent quit;
609:     XBMC_UserEvent user;
609:     XBMC_AppCommandEvent appcommand;
609:     XBMC_TouchEvent touch;
609:     XBMC_ButtonEvent keybutton;
609:     XBMC_SetFocusEvent focus;
609:   };
609: } XBMC_Event;
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 2
609: 
609: class IWinEvents
609: {
609: public:
609:   virtual ~IWinEvents() = default;
609:   virtual bool MessagePump() = 0;
609: };
609: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h"
609:        
609: 
609: 
609: 
609: struct DEBUG_INFO_PLAYER
609: {
609:   std::string audio;
609:   std::string video;
609:   std::string player;
609:   std::string vsync;
609: };
609: 
609: struct DEBUG_INFO_VIDEO
609: {
609:   std::string videoSource;
609:   std::string metaPrim;
609:   std::string metaLight;
609:   std::string shader;
609: };
609: 
609: struct DEBUG_INFO_RENDER
609: {
609:   std::string renderFlags;
609:   std::string videoOutput;
609: };
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h"
609:        
609: 
609: 
609: 
609: 
609: class IDispResource
609: {
609: public:
609:   virtual ~IDispResource() = default;
609: 
609:   virtual void OnLostDisplay() {}
609:   virtual void OnResetDisplay() {}
609:   virtual void OnAppFocusChange(bool focus) {}
609: };
609: 
609: 
609: 
609: class IRenderLoop
609: {
609: public:
609:   virtual ~IRenderLoop() = default;
609: 
609:   virtual void FrameMove() = 0;
609: };
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h"
609:        
609: 
609: class CHDRCapabilities
609: {
609: public:
609:   CHDRCapabilities() = default;
609:   ~CHDRCapabilities() = default;
609: 
609:   bool SupportsHDR10() const { return m_hdr10; }
609:   bool SupportsHLG() const { return m_hlg; }
609:   bool SupportsHDR10Plus() const { return m_hdr10_plus; }
609:   bool SupportsDolbyVision() const { return m_dolby_vision; }
609: 
609:   void SetHDR10() { m_hdr10 = true; }
609:   void SetHLG() { m_hlg = true; }
609:   void SetHDR10Plus() { m_hdr10_plus = true; }
609:   void SetDolbyVision() { m_dolby_vision = true; }
609: 
609: private:
609:   bool m_hdr10 = false;
609:   bool m_hlg = false;
609:   bool m_hdr10_plus = false;
609:   bool m_dolby_vision = false;
609: };
609: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
609: 
609: 
609: 
609: 
609: struct RESOLUTION_WHR
609: {
609:   int width;
609:   int height;
609:   int flags;
609:   int ResInfo_Index;
609: };
609: 
609: struct REFRESHRATE
609: {
609:   float RefreshRate;
609:   int ResInfo_Index;
609: };
609: 
609: class CDPMSSupport;
609: class CGraphicContext;
609: class CRenderSystemBase;
609: class IRenderLoop;
609: 
609: struct VideoPicture;
609: 
609: class CWinSystemBase
609: {
609: public:
609:   CWinSystemBase();
609:   virtual ~CWinSystemBase();
609: 
609:   static std::unique_ptr<CWinSystemBase> CreateWinSystem();
609: 
609: 
609:   virtual CRenderSystemBase *GetRenderSystem() { return nullptr; }
609: 
609:   virtual const std::string GetName() { return "platform default"; }
609: 
609: 
609:   virtual bool InitWindowSystem();
609:   virtual bool DestroyWindowSystem();
609:   virtual bool CreateNewWindow(const std::string& name, bool fullScreen, RESOLUTION_INFO& res) = 0;
609:   virtual bool DestroyWindow(){ return false; }
609:   virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop) = 0;
609:   virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays) = 0;
609:   virtual bool DisplayHardwareScalingEnabled() { return false; }
609:   virtual void UpdateDisplayHardwareScaling(const RESOLUTION_INFO& resInfo) { }
609:   virtual bool MoveWindow(int topLeft, int topRight){return false;}
609:   virtual void FinishModeChange(RESOLUTION res){}
609:   virtual void FinishWindowResize(int newWidth, int newHeight) {ResizeWindow(newWidth, newHeight, -1, -1);}
609:   virtual bool CenterWindow(){return false;}
609:   virtual bool IsCreated(){ return m_bWindowCreated; }
609:   virtual void NotifyAppFocusChange(bool bGaining) {}
609:   virtual void NotifyAppActiveChange(bool bActivated) {}
609:   virtual void ShowOSMouse(bool show) {}
609:   virtual bool HasCursor(){ return true; }
609: 
609:   virtual bool HasInertialGestures(){ return false; }
609: 
609:   virtual bool UseLimitedColor();
609: 
609:   virtual int NoOfBuffers();
609: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
609:   virtual float GetDisplayLatency() { return -1.0f; }
609: # 99 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
609:   virtual float GetFrameLatencyAdjustment() { return 0.0; }
609: 
609:   virtual bool Minimize() { return false; }
609:   virtual bool Restore() { return false; }
609:   virtual bool Hide() { return false; }
609:   virtual bool Show(bool raise = true) { return false; }
609: 
609: 
609:   virtual std::unique_ptr<CVideoSync> GetVideoSync(void *clock) { return nullptr; }
609: 
609: 
609:   virtual void OnMove(int x, int y) {}
609: # 121 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
609:   KODI::WINDOWING::COSScreenSaverManager* GetOSScreenSaver();
609: 
609: 
609:   unsigned int GetWidth() { return m_nWidth; }
609:   unsigned int GetHeight() { return m_nHeight; }
609:   virtual bool CanDoWindowed() { return true; }
609:   bool IsFullScreen() { return m_bFullScreen; }
609:   virtual void UpdateResolutions();
609:   void SetWindowResolution(int width, int height);
609:   std::vector<RESOLUTION_WHR> ScreenResolutions(float refreshrate);
609:   std::vector<REFRESHRATE> RefreshRates(int width, int height, uint32_t dwFlags);
long double
1417:   atanh(long double __x)
1417:   { return __builtin_atanhl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     atanh(_Tp __x)
1417:     { return __builtin_atanh(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   cbrt(float __x)
1417:   { return __builtin_cbrtf(__x); }
1417: 
1417:   constexpr long double
1417:   cbrt(long double __x)
1417:   { return __builtin_cbrtl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     cbrt(_Tp __x)
1417:     { return __builtin_cbrt(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   copysign(float __x, float __y)
1417:   { return __builtin_copysignf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   copysign(long double __x, long double __y)
1417:   { return __builtin_copysignl(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     copysign(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return copysign(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   erf(float __x)
1417:   { return __builtin_erff(__x); }
1417: 
1417:   constexpr long double
1417:   erf(long double __x)
1417:   { return __builtin_erfl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     erf(_Tp __x)
1417:     { return __builtin_erf(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   erfc(float __x)
1417:   { return __builtin_erfcf(__x); }
1417: 
1417:   constexpr long double
1417:   erfc(long double __x)
1417:   { return __builtin_erfcl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     erfc(_Tp __x)
1417:     { return __builtin_erfc(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   exp2(float __x)
1417:   { return __builtin_exp2f(__x); }
1417: 
1417:   constexpr long double
1417:   exp2(long double __x)
1417:   { return __builtin_exp2l(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     exp2(_Tp __x)
1417:     { return __builtin_exp2(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   expm1(float __x)
1417:   { return __builtin_expm1f(__x); }
1417: 
1417:   constexpr long double
1417:   expm1(long double __x)
1417:   { return __builtin_expm1l(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     expm1(_Tp __x)
1417:     { return __builtin_expm1(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   fdim(float __x, float __y)
1417:   { return __builtin_fdimf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   fdim(long double __x, long double __y)
1417:   { return __builtin_fdiml(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     fdim(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return fdim(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   fma(float __x, float __y, float __z)
1417:   { return __builtin_fmaf(__x, __y, __z); }
1417: 
1417:   constexpr long double
1417:   fma(long double __x, long double __y, long double __z)
1417:   { return __builtin_fmal(__x, __y, __z); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up, typename _Vp>
1417:     constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
1417:     fma(_Tp __x, _Up __y, _Vp __z)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type;
1417:       return fma(__type(__x), __type(__y), __type(__z));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   fmax(float __x, float __y)
1417:   { return __builtin_fmaxf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   fmax(long double __x, long double __y)
1417:   { return __builtin_fmaxl(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     fmax(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return fmax(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   fmin(float __x, float __y)
1417:   { return __builtin_fminf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   fmin(long double __x, long double __y)
1417:   { return __builtin_fminl(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     fmin(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return fmin(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   hypot(float __x, float __y)
1417:   { return __builtin_hypotf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   hypot(long double __x, long double __y)
1417:   { return __builtin_hypotl(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     hypot(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return hypot(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr int
1417:   ilogb(float __x)
1417:   { return __builtin_ilogbf(__x); }
1417: 
1417:   constexpr int
1417:   ilogb(long double __x)
1417:   { return __builtin_ilogbl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr
1417:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                     int>::__type
1417:     ilogb(_Tp __x)
1417:     { return __builtin_ilogb(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   lgamma(float __x)
1417:   { return __builtin_lgammaf(__x); }
1417: 
1417:   constexpr long double
1417:   lgamma(long double __x)
1417:   { return __builtin_lgammal(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     lgamma(_Tp __x)
1417:     { return __builtin_lgamma(__x); }
1417: 
1417: 
1417: 
1417:   constexpr long long
1417:   llrint(float __x)
1417:   { return __builtin_llrintf(__x); }
1417: 
1417:   constexpr long long
1417:   llrint(long double __x)
1417:   { return __builtin_llrintl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               long long>::__type
1417:     llrint(_Tp __x)
1417:     { return __builtin_llrint(__x); }
1417: 
1417: 
1417: 
1417:   constexpr long long
1417:   llround(float __x)
1417:   { return __builtin_llroundf(__x); }
1417: 
1417:   constexpr long long
1417:   llround(long double __x)
1417:   { return __builtin_llroundl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:609:   REFRESHRATE DefaultRefreshRate(std::vector<REFRESHRATE> rates);
609:   virtual bool HasCalibration(const RESOLUTION_INFO& resInfo) { return true; }
609: 
609: 
609:   virtual std::string GetClipboardText(void);
609: 
609: 
609:   virtual void Register(IDispResource *resource) = 0;
609:   virtual void Unregister(IDispResource *resource) = 0;
609: 
609: 
609:   void RegisterRenderLoop(IRenderLoop *client);
609:   void UnregisterRenderLoop(IRenderLoop *client);
609:   void DriveRenderLoop();
609: 
609: 
609:   virtual bool MessagePump() { return false; }
609: 
609: 
609:   CGraphicContext& GetGfxContext();
609: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
609:   virtual void* GetHWContext() { return nullptr; }
609: 
609:   std::shared_ptr<CDPMSSupport> GetDPMSManager();
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual bool SetHDR(const VideoPicture* videoPicture) { return false; }
609:   virtual bool IsHDRDisplay() { return false; }
609:   virtual HDR_STATUS ToggleHDR() { return HDR_STATUS::HDR_UNSUPPORTED; }
609:   virtual HDR_STATUS GetOSHDRStatus() { return HDR_STATUS::HDR_UNSUPPORTED; }
609:   virtual CHDRCapabilities GetDisplayHDRCapabilities() const { return {}; }
609: 
609:   static const char* SETTING_WINSYSTEM_IS_HDR_DISPLAY;
609: 
609: 
609:   virtual DEBUG_INFO_RENDER GetDebugInfo() { return {}; }
609: 
609:   virtual std::vector<std::string> GetConnectedOutputs() { return {}; }
609: 
609: protected:
609:   void UpdateDesktopResolution(RESOLUTION_INFO& newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags);
609:   virtual std::unique_ptr<KODI::WINDOWING::IOSScreenSaver> GetOSScreenSaverImpl() { return nullptr; }
609: 
609:   int m_nWidth = 0;
609:   int m_nHeight = 0;
609:   int m_nTop = 0;
609:   int m_nLeft = 0;
609:   bool m_bWindowCreated = false;
609:   bool m_bFullScreen = false;
609:   bool m_bBlankOtherDisplay = false;
609:   float m_fRefreshRate = 0.0f;
609:   std::unique_ptr<KODI::WINDOWING::COSScreenSaverManager> m_screenSaverManager;
609:   CCriticalSection m_renderLoopSection;
609:   std::vector<IRenderLoop*> m_renderLoopClients;
609: 
609:   std::unique_ptr<IWinEvents> m_winEvents;
609:   std::unique_ptr<CGraphicContext> m_gfxContext;
609:   std::shared_ptr<CDPMSSupport> m_dpms;
609: };
609: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
609: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
609: enum VIEW_TYPE { VIEW_TYPE_NONE = 0,
609:                  VIEW_TYPE_LIST,
609:                  VIEW_TYPE_ICON,
609:                  VIEW_TYPE_BIG_LIST,
609:                  VIEW_TYPE_BIG_ICON,
609:                  VIEW_TYPE_WIDE,
609:                  VIEW_TYPE_BIG_WIDE,
609:                  VIEW_TYPE_WRAP,
609:                  VIEW_TYPE_BIG_WRAP,
609:                  VIEW_TYPE_INFO,
609:                  VIEW_TYPE_BIG_INFO,
609:                  VIEW_TYPE_AUTO,
609:                  VIEW_TYPE_MAX };
609: 
609: enum AdjustRefreshRate
609: {
609:   ADJUST_REFRESHRATE_OFF = 0,
609:   ADJUST_REFRESHRATE_ALWAYS,
609:   ADJUST_REFRESHRATE_ON_STARTSTOP,
609:   ADJUST_REFRESHRATE_ON_START,
609: };
609: 
609: class CGraphicContext : public CCriticalSection
609: {
609: public:
609:   CGraphicContext(void);
609:   virtual ~CGraphicContext();
609: 
609: 
609:   float GetFPS() const;
609:   void SetFPS(float fps);
609:   float GetDisplayLatency() const;
609:   bool IsFullScreenRoot() const;
609:   void ToggleFullScreen();
609:   void SetFullScreenVideo(bool bOnOff);
609:   bool IsFullScreenVideo() const;
609:   bool IsValidResolution(RESOLUTION res);
609:   void SetVideoResolution(RESOLUTION res, bool forceUpdate);
609:   void ApplyModeChange(RESOLUTION res);
609:   void ApplyWindowResize(int newWidth, int newHeight);
609:   RESOLUTION GetVideoResolution() const;
609:   const RESOLUTION_INFO GetResInfo() const;
609:   const RESOLUTION_INFO GetResInfo(RESOLUTION res) const;
609:   void SetResInfo(RESOLUTION res, const RESOLUTION_INFO& info);
609: 
609:   void Flip(bool rendered, bool videoLayer);
609: 
609: 
609:   int GetWidth() const;
609:   int GetHeight() const;
609:   bool SetViewPort(float fx, float fy , float fwidth, float fheight, bool intersectPrevious = false);
609:   void RestoreViewPort();
609:   void SetScissors(const CRect &rect);
609:   void ResetScissors();
609:   const CRect &GetScissors() const;
609:   const CRect GetViewWindow() const;
609:   void SetViewWindow(float left, float top, float right, float bottom);
609:   bool IsCalibrating() const;
609:   void SetCalibrating(bool bOnOff);
609:   void ResetOverscan(RESOLUTION res, OVERSCAN &overscan);
609:   void ResetOverscan(RESOLUTION_INFO &resinfo);
609:   void ResetScreenParameters(RESOLUTION res);
609:   void CaptureStateBlock();
609:   void ApplyStateBlock();
609:   void Clear(UTILS::COLOR::Color color = 0);
609:   void GetAllowedResolutions(std::vector<RESOLUTION> &res);
609: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
609:   void GetGUIScaling(const RESOLUTION_INFO &res, float &scaleX, float &scaleY, TransformMatrix *matrix = 
609: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
609:                                                                                                         __null
609: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
609:                                                                                                             );
609:   void SetRenderingResolution(const RESOLUTION_INFO &res, bool needsScaling);
609:   void SetScalingResolution(const RESOLUTION_INFO &res, bool needsScaling);
609:   float GetScalingPixelRatio() const;
609:   void InvertFinalCoords(float &x, float &y) const;
609:   float ScaleFinalXCoord(float x, float y) const;
609:   float ScaleFinalYCoord(float x, float y) const;
609:   float ScaleFinalZCoord(float x, float y) const;
609:   void ScaleFinalCoords(float &x, float &y, float &z) const;
609:   bool RectIsAngled(float x1, float y1, float x2, float y2) const;
609:   const TransformMatrix &GetGUIMatrix() const;
609:   float GetGUIScaleX() const;
609:   float GetGUIScaleY() const;
609:   UTILS::COLOR::Color MergeAlpha(UTILS::COLOR::Color color) const;
609:   UTILS::COLOR::Color MergeColor(UTILS::COLOR::Color color) const;
609:   void SetOrigin(float x, float y);
609:   void RestoreOrigin();
609:   void SetCameraPosition(const CPoint &camera);
609:   void SetStereoView(RENDER_STEREO_VIEW view);
609:   RENDER_STEREO_VIEW GetStereoView() { return m_stereoView; }
609:   void SetStereoMode(RENDER_STEREO_MODE mode) { m_nextStereoMode = mode; }
609:   RENDER_STEREO_MODE GetStereoMode() { return m_stereoMode; }
609:   void RestoreCameraPosition();
609:   void SetStereoFactor(float factor);
609:   void RestoreStereoFactor();
609: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
609:   bool SetClipRegion(float x, float y, float w, float h);
609:   void RestoreClipRegion();
609:   void ClipRect(CRect &vertex, CRect &texture, CRect *diffuse = 
609: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
609:                                                                __null
609: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
609:                                                                    );
609:   CRect GetClipRegion();
609:   void AddGUITransform();
609:   TransformMatrix AddTransform(const TransformMatrix &matrix);
609:   void SetTransform(const TransformMatrix &matrix);
609:   void SetTransform(const TransformMatrix &matrix, float scaleX, float scaleY);
609:   void RemoveTransform();
609: 
609: 
609:   CRect StereoCorrection(const CRect &rect) const;
609:   CPoint StereoCorrection(const CPoint &point) const;
609: 
609:   CRect GenerateAABB(const CRect &rect) const;
609: 
609: 
609:   const std::string& GetMediaDir() const;
609:   void SetMediaDir(const std::string& strMediaDir);
609: 
609: protected:
609: 
609:   void UpdateCameraPosition(const CPoint &camera, const float &factor);
609:   void SetVideoResolutionInternal(                                               long long>::__type
1417:     llround(_Tp __x)
1417:     { return __builtin_llround(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   log1p(float __x)
1417:   { return __builtin_log1pf(__x); }
1417: 
1417:   constexpr long double
1417:   log1p(long double __x)
1417:   { return __builtin_log1pl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     log1p(_Tp __x)
1417:     { return __builtin_log1p(__x); }
1417: 
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   log2(float __x)
1417:   { return __builtin_log2f(__x); }
1417: 
1417:   constexpr long double
1417:   log2(long double __x)
1417:   { return __builtin_log2l(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     log2(_Tp __x)
1417:     { return __builtin_log2(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   logb(float __x)
1417:   { return __builtin_logbf(__x); }
1417: 
1417:   constexpr long double
1417:   logb(long double __x)
1417:   { return __builtin_logbl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     logb(_Tp __x)
1417:     { return __builtin_logb(__x); }
1417: 
1417: 
1417: 
1417:   constexpr long
1417:   lrint(float __x)
1417:   { return __builtin_lrintf(__x); }
1417: 
1417:   constexpr long
1417:   lrint(long double __x)
1417:   { return __builtin_lrintl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               long>::__type
1417:     lrint(_Tp __x)
1417:     { return __builtin_lrint(__x); }
1417: 
1417: 
1417: 
1417:   constexpr long
1417:   lround(float __x)
1417:   { return __builtin_lroundf(__x); }
1417: 
1417:   constexpr long
1417:   lround(long double __x)
1417:   { return __builtin_lroundl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               long>::__type
1417:     lround(_Tp __x)
1417:     { return __builtin_lround(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   nearbyint(float __x)
1417:   { return __builtin_nearbyintf(__x); }
1417: 
1417:   constexpr long double
1417:   nearbyint(long double __x)
1417:   { return __builtin_nearbyintl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     nearbyint(_Tp __x)
1417:     { return __builtin_nearbyint(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   nextafter(float __x, float __y)
1417:   { return __builtin_nextafterf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   nextafter(long double __x, long double __y)
1417:   { return __builtin_nextafterl(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     nextafter(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return nextafter(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   nexttoward(float __x, long double __y)
1417:   { return __builtin_nexttowardf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   nexttoward(long double __x, long double __y)
1417:   { return __builtin_nexttowardl(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     nexttoward(_Tp __x, long double __y)
1417:     { return __builtin_nexttoward(__x, __y); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   remainder(float __x, float __y)
1417:   { return __builtin_remainderf(__x, __y); }
1417: 
1417:   constexpr long double
1417:   remainder(long double __x, long double __y)
1417:   { return __builtin_remainderl(__x, __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     remainder(_Tp __x, _Up __y)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return remainder(__type(__x), __type(__y));
1417:     }
1417: 
1417: 
1417: 
1417:   inline float
1417:   remquo(float __x, float __y, int* __pquo)
1417:   { return __builtin_remquof(__x, __y, __pquo); }
1417: 
1417:   inline long double
1417:   remquo(long double __x, long double __y, int* __pquo)
1417:   { return __builtin_remquol(__x, __y, __pquo); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Up>
1417:     inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1417:     remquo(_Tp __x, _Up __y, int* __pquo)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1417:       return remquo(__type(__x), __type(__y), __pquo);
1417:     }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   rint(float __x)
1417:   { return __builtin_rintf(__x); }
1417: 
1417:   constexpr long double
1417:   rint(long double __x)
1417:   { return __builtin_rintl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     rint(_Tp __x)
1417:     { return __builtin_rint(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   round(float __x)
1417:   { return __builtin_roundf(__x); }
1417: 
1417:   constexpr long double
1417:   round(long double __x)
1417:   { return __builtin_roundl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     round(_Tp __x)
1417:     { return __builtin_round(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   scalbln(float __x, long __ex)
1417:   { return __builtin_scalblnf(__x, __ex); }
1417: 
1417:   constexpr long double
1417:   scalbln(long double __x, long __ex)
1417:   { return __builtin_scalblnl(__x, __ex); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     scalbln(_Tp __x, long __ex)
1417:     { return __builtin_scalbln(__x, __ex); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   scalbn(float __x, int __ex)
1417:   { return __builtin_scalbnf(__x, __ex); }
1417: 
1417:   constexpr long double
1417:   scalbn(long double __x, int __ex)
1417:   { return __builtin_scalbnl(__x, __ex); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     scalbn(_Tp __x, int __ex)
1417:     { return __builtin_scalbn(__x, __ex); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   tgamma(float __x)
1417:   { return __builtin_tgammaf(__x); }
1417: 
1417:   constexpr long double
1417:   tgamma(long double __x)
1417:   { return __builtin_tgammal(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     tgamma(_Tp __x)
1417:     { return __builtin_tgamma(__x); }
1417: 
1417: 
1417: 
1417:   constexpr float
1417:   trunc(float __x)
1417:   { return __builtinRESOLUTION res, bool forceUpdate);
609:   void ApplyVideoResolution(RESOLUTION res);
609:   void UpdateInternalStateWithResolution(RESOLUTION res);
609: 
609:   int m_iScreenHeight = 576;
609:   int m_iScreenWidth = 720;
609:   std::string m_strMediaDir;
609:   CRect m_videoRect;
609:   bool m_bFullScreenRoot = true;
609:   bool m_bFullScreenVideo = false;
609:   bool m_bCalibrating = false;
609:   RESOLUTION m_Resolution = RES_INVALID;
609:   float m_fFPSOverride = 0.0f;
609: 
609:   RESOLUTION_INFO m_windowResolution;
609:   std::stack<CPoint> m_cameras;
609:   std::stack<CPoint> m_origins;
609:   std::stack<CRect> m_clipRegions;
609:   std::stack<float> m_stereoFactors;
609:   std::stack<CRect> m_viewStack;
609:   CRect m_scissors;
609: 
609:   class UITransform
609:   {
609:   public:
609:     UITransform() : matrix() {}
609:     UITransform(const TransformMatrix& m, const float sX = 1.0f, const float sY = 1.0f)
609:       : matrix(m), scaleX(sX), scaleY(sY)
609:     {
609:     }
609:     void Reset()
609:     {
609:       matrix.Reset();
609:       scaleX = scaleY = 1.0f;
609:     }
609: 
609:     TransformMatrix matrix;
609:     float scaleX = 1.0f;
609:     float scaleY = 1.0f;
609:   };
609: 
609:   UITransform m_guiTransform;
609:   UITransform m_finalTransform;
609:   std::stack<UITransform> m_transforms;
609:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
609:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
609:   RENDER_STEREO_MODE m_nextStereoMode = RENDER_STEREO_MODE_OFF;
609: };
609: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
609: 
609: 
609: 
609: class CGUIListItem;
609: class CAction;
609: class CMouseEvent;
609: class CGUIMessage;
609: class CGUIAction;
609: 
609: enum ORIENTATION { HORIZONTAL = 0, VERTICAL };
609: 
609: class CControlState
609: {
609: public:
609:   CControlState(int id, int data)
609:   {
609:     m_id = id;
609:     m_data = data;
609:   }
609:   int m_id;
609:   int m_data;
609: };
609: 
609: struct GUICONTROLSTATS
609: {
609:   unsigned int nCountTotal;
609:   unsigned int nCountVisible;
609: 
609:   void Reset()
609:   {
609:     nCountTotal = nCountVisible = 0;
609:   };
609: };
609: 
609: 
609: 
609: 
609: 
609: enum EVENT_RESULT { EVENT_RESULT_UNHANDLED = 0x00,
609:                     EVENT_RESULT_HANDLED = 0x01,
609:                     EVENT_RESULT_PAN_HORIZONTAL = 0x02,
609:                     EVENT_RESULT_PAN_VERTICAL = 0x04,
609:                     EVENT_RESULT_PAN_VERTICAL_WITHOUT_INERTIA = 0x08,
609:                     EVENT_RESULT_PAN_HORIZONTAL_WITHOUT_INERTIA = 0x10,
609:                     EVENT_RESULT_ROTATE = 0x20,
609:                     EVENT_RESULT_ZOOM = 0x40,
609:                     EVENT_RESULT_SWIPE = 0x80
609: };
609: 
609: 
609: 
609: 
609: 
609: class CGUIControl
609: {
609: public:
609:   CGUIControl();
609:   CGUIControl(int parentID, int controlID, float posX, float posY, float width, float height);
609:   CGUIControl(const CGUIControl &);
609:   virtual ~CGUIControl(void);
609:   virtual CGUIControl *Clone() const=0;
609: 
609:   virtual void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions);
609:   virtual void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions);
609:   virtual void DoRender();
609:   virtual void Render() {}
609: 
609: 
609:   virtual void RenderEx() {}
609: 
609: 
609:   bool HasProcessed() const { return m_hasProcessed; }
609: # 102 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
609:   virtual bool OnAction(const CAction &action);
609: 
609: 
609:   virtual void OnUp();
609:   virtual void OnDown();
609:   virtual void OnLeft();
609:   virtual void OnRight();
609:   virtual bool OnBack();
609:   virtual bool OnInfo();
609:   virtual void OnNextControl();
609:   virtual void OnPrevControl();
609:   virtual void OnFocus() {}
609:   virtual void OnUnFocus() {}
609: # 126 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
609:   virtual EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event);
609: # 138 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
609:   virtual EVENT_RESULT OnMouseEvent(const CPoint& point, const CMouseEvent& event)
609:   {
609:     return EVENT_RESULT_UNHANDLED;
609:   }
609: 
609: 
609: 
609: 
609: 
609:   virtual void UnfocusFromPoint(const CPoint &point);
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual bool HitTest(const CPoint &point) const;
609: 
609:   virtual bool OnMessage(CGUIMessage& message);
609:   virtual int GetID(void) const;
609:   virtual void SetID(int id) { m_controlID = id; }
609:   int GetParentID() const;
609:   virtual bool HasFocus() const;
609:   virtual void AllocResources();
609:   virtual void FreeResources(bool immediately = false);
609:   virtual void DynamicResourceAlloc(bool bOnOff);
609:   virtual bool IsDynamicallyAllocated() { return false; }
609:   virtual bool CanFocus() const;
609:   virtual bool IsVisible() const;
609:   bool IsVisibleFromSkin() const { return m_visibleFromSkinCondition; }
609:   virtual bool IsDisabled() const;
609:   virtual void SetPosition(float posX, float posY);
609:   virtual void SetHitRect(const CRect& rect, const UTILS::COLOR::Color& color);
609:   virtual void SetCamera(const CPoint &camera);
609:   virtual void SetStereoFactor(const float &factor);
609:   bool SetColorDiffuse(const KODI::GUILIB::GUIINFO::CGUIInfoColor &color);
609:   CPoint GetRenderPosition() const;
609:   virtual float GetXPosition() const;
609:   virtual float GetYPosition() const;
609:   virtual float GetWidth() const;
609:   virtual float GetHeight() const;
609: 
609:   void MarkDirtyRegion(const unsigned int dirtyState = DIRTY_STATE_CONTROL);
609:   bool IsControlDirty() const { return m_controlDirtyState != 0; }
609: 
609: 
609: 
609:   const CRect& GetRenderRegion() const { return m_renderRegion; }
609: 
609: 
609: 
609:   virtual CRect CalcRenderRegion() const;
609: 
609: 
609: 
609: 
609: 
609:   typedef std::map<int, CGUIAction> ActionMap;
609:   void SetActions(const ActionMap &actions);
609: # 205 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
609:   void SetAction(int actionID, const CGUIAction &action, bool replace = true);
609: 
609: 
609: 
609: 
609:   CGUIAction GetAction(int actionID) const;
609: 
609: 
609: 
609:   bool Navigate(int direction) const;
609:   virtual void SetFocus(bool focus);
609:   virtual void SetWidth(float width);
609:   virtual void SetHeight(float height);
609:   virtual void SetVisible(bool bVisible, bool setVisState = false);
609:   void SetVisibleCondition(const std::string &expression, const std::string &allowHiddenFocus = "");
609:   bool HasVisibleCondition() const { return m_visibleCondition != 
609: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 3 4
609:                                                                  __null
609: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
609:                                                                      ; }
609:   void SetEnableCondition(const std::string &expression);
609:   virtual void UpdateVisibility(const CGUIListItem *item);
609:   virtual void SetInitialVisibility();
609:   virtual void SetEnabled(bool bEnable);
609:   virtual void SetInvalid() { m_bInvalidated = true; }
609:   virtual void SetPulseOnSelect(bool pulse) { m_pulseOnSelect = pulse; }
609:   virtual std::string GetDescription() const { return ""; }
609:   virtual std::string GetDescriptionByIndex(int index) const { return ""; }
609: 
609:   void SetAnimations(const std::vector<CAnimation> &animations);
609:   const std::vector<CAnimation>& GetAnimations() const { return m_animations; }
609: 
609:   virtual void QueueAnimation(ANIMATION_TYPE anim);
609:   virtual bool IsAnimating(ANIMATION_TYPE anim);
609:   virtual bool HasAnimation(ANIMATION_TYPE anim);
609:   CAnimation *GetAnimation(ANIMATION_TYPE type, bool checkConditions = true);
609:   virtual void ResetAnimation(ANIMATION_TYPE type);
609:   virtual void ResetAnimations();
609: 
609: 
609:   virtual void UpdateInfo(const CGUIListItem* item = 
609: # 241 "/<<BUILDDIR>>/_truncf(__x); }
1417: 
1417:   constexpr long double
1417:   trunc(long double __x)
1417:   { return __builtin_truncl(__x); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1417:                                               double>::__type
1417:     trunc(_Tp __x)
1417:     { return __builtin_trunc(__x); }
1417: # 1852 "/usr/include/c++/12/cmath" 3
1417:   template<typename _Tp>
1417:     inline _Tp
1417:     __hypot3(_Tp __x, _Tp __y, _Tp __z)
1417:     {
1417:       __x = std::abs(__x);
1417:       __y = std::abs(__y);
1417:       __z = std::abs(__z);
1417:       if (_Tp __a = __x < __y ? __y < __z ? __z : __y : __x < __z ? __z : __x)
1417:  return __a * std::sqrt((__x / __a) * (__x / __a)
1417:           + (__y / __a) * (__y / __a)
1417:           + (__z / __a) * (__z / __a));
1417:       else
1417:  return {};
1417:     }
1417: 
1417:   inline float
1417:   hypot(float __x, float __y, float __z)
1417:   { return std::__hypot3<float>(__x, __y, __z); }
1417: 
1417:   inline double
1417:   hypot(double __x, double __y, double __z)
1417:   { return std::__hypot3<double>(__x, __y, __z); }
1417: 
1417:   inline long double
1417:   hypot(long double __x, long double __y, long double __z)
1417:   { return std::__hypot3<long double>(__x, __y, __z); }
1417: 
1417:   template<typename _Tp, typename _Up, typename _Vp>
1417:     __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>
1417:     hypot(_Tp __x, _Up __y, _Vp __z)
1417:     {
1417:       using __type = __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>;
1417:       return std::__hypot3<__type>(__x, __y, __z);
1417:     }
1417: # 1931 "/usr/include/c++/12/cmath" 3
1417: 
1417: }
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/specfun.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/specfun.h" 3
1417: #pragma GCC visibility push(default)
1417: # 46 "/usr/include/c++/12/bits/specfun.h" 3
1417: # 1 "/usr/include/c++/12/limits" 1 3
1417: # 40 "/usr/include/c++/12/limits" 3
1417:        
1417: # 41 "/usr/include/c++/12/limits" 3
1417: # 158 "/usr/include/c++/12/limits" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   enum float_round_style
1417:   {
1417:     round_indeterminate = -1,
1417:     round_toward_zero = 0,
1417:     round_to_nearest = 1,
1417:     round_toward_infinity = 2,
1417:     round_toward_neg_infinity = 3
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   enum float_denorm_style
1417:   {
1417: 
1417:     denorm_indeterminate = -1,
1417: 
1417:     denorm_absent = 0,
1417: 
1417:     denorm_present = 1
1417:   };
1417: # 202 "/usr/include/c++/12/limits" 3
1417:   struct __numeric_limits_base
1417:   {
1417: 
1417: 
1417:     static constexpr bool is_specialized = false;
1417: 
1417: 
1417: 
1417: 
1417:     static constexpr int digits = 0;
1417: 
1417: 
1417:     static constexpr int digits10 = 0;
1417: 
1417: 
1417: 
1417: 
1417:     static constexpr int max_digits10 = 0;
1417: 
1417: 
1417: 
1417:     static constexpr bool is_signed = false;
1417: 
1417: 
1417:     static constexpr bool is_integer = false;
1417: 
1417: 
1417: 
1417: 
1417:     static constexpr bool is_exact = false;
1417: 
1417: 
1417: 
1417:     static constexpr int radix = 0;
1417: 
1417: 
1417: 
1417:     static constexpr int min_exponent = 0;
1417: 
1417: 
1417: 
1417:     static constexpr int min_exponent10 = 0;
1417: 
1417: 
1417: 
1417: 
1417:     static constexpr int max_exponent = 0;
1417: 
1417: 
1417: 
1417:     static constexpr int max_exponent10 = 0;
1417: 
1417: 
1417:     static constexpr bool has_infinity = false;
1417: 
1417: 
1417: 
1417:     static constexpr bool has_quiet_NaN = false;
1417: 
1417: 
1417: 
1417:     static constexpr bool has_signaling_NaN = false;
1417: 
1417: 
1417:     static constexpr float_denorm_style has_denorm = denorm_absent;
1417: 
1417: 
1417: 
1417:     static constexpr bool has_denorm_loss = false;
1417: 
1417: 
1417: 
1417:     static constexpr bool is_iec559 = false;
1417: 
1417: 
1417: 
1417: 
1417:     static constexpr bool is_bounded = false;
1417: # 288 "/usr/include/c++/12/limits" 3
1417:     static constexpr bool is_modulo = false;
1417: 
1417: 
1417:     static constexpr bool traps = false;
1417: 
1417: 
1417:     static constexpr bool tinyness_before = false;
1417: 
1417: 
1417: 
1417: 
1417:     static constexpr float_round_style round_style =
1417:           round_toward_zero;
1417:   };
1417: # 311 "/usr/include/c++/12/limits" 3
1417:   template<typename _Tp>
1417:     struct numeric_limits : public __numeric_limits_base
1417:     {
1417: 
1417: 
1417:       static constexpr _Tp
1417:       min() noexcept { return _Tp(); }
1417: 
1417: 
1417:       static constexpr _Tp
1417:       max() noexcept { return _Tp(); }
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr _Tp
1417:       lowest() noexcept { return _Tp(); }
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr _Tp
1417:       epsilon() noexcept { return _Tp(); }
1417: 
1417: 
1417:       static constexpr _Tp
1417:       round_error() noexcept { return _Tp(); }
1417: 
1417: 
1417:       static constexpr _Tp
1417:       infinity() noexcept { return _Tp(); }
1417: 
1417: 
1417: 
1417:       static constexpr _Tp
1417:       quiet_NaN() noexcept { return _Tp(); }
1417: 
1417: 
1417: 
1417:       static constexpr _Tp
1417:       signaling_NaN() noexcept { return _Tp(); }
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr _Tp
1417:       denorm_min() noexcept { return _Tp(); }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct numeric_limits<const _Tp>
1417:     : public numeric_limits<_Tp> { };
1417: 
1417:   template<typename _Tp>
1417:     struct numeric_limits<volatile _Tp>
1417:     : public numeric_limits<_Tp> { };
1417: 
1417:   template<typename _Tp>
1417:     struct numeric_limits<const volatile _Tp>
1417:     : public numeric_limits<_Tp> { };
1417: # 383 "/usr/include/c++/12/limits" 3
1417:   template<>
1417:     struct numeric_limits<bool>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr bool
1417:       min() noexcept { return false; }
1417: 
1417:       static constexpr bool
1417:       max() noexcept { return true; }
1417: 
1417: 
1417:       static constexpr bool
1417:       lowest() noexcept { return min(); }
1417: 
1417:       static constexpr int digits = 1;
1417:       static constexpr int digits10 = 0;
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = false;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr bool
1417:       epsilon() noexcept { return false; }
1417: 
1417:       static constexpr bool
1417:       round_error() noexcept { return false; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr bool
1417:       infinity() noexcept { return false; }
1417: 
1417:       static constexpr bool
1417:       quiet_NaN() noexcept { return false; }
1417: 
1417:       static constexpr bool
1417:       signaling_NaN() noexcept { return false; }
1417: 
1417:       static constexpr bool
1417:       denorm_min() noexcept { return false; }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tikodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 3 4
609:                                                     __null
609: # 241 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
609:                                                         ) {}
609:   virtual void SetPushUpdates(bool pushUpdates) { m_pushedUpdates = pushUpdates; }
609: 
609:   virtual bool IsGroup() const { return false; }
609:   virtual bool IsContainer() const { return false; }
609:   virtual bool GetCondition(int condition, int data) const { return false; }
609: 
609:   void SetParentControl(CGUIControl* control) { m_parentControl = control; }
609:   CGUIControl* GetParentControl(void) const { return m_parentControl; }
609:   virtual void SaveStates(std::vector<CControlState> &states);
609:   virtual CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr);
609: 
609: 
609:   void SetControlStats(GUICONTROLSTATS* controlStats) { m_controlStats = controlStats; }
609:   virtual void UpdateControlStats();
609: 
609:   enum GUICONTROLTYPES
609:   {
609:     GUICONTROL_UNKNOWN,
609:     GUICONTROL_BUTTON,
609:     GUICONTROL_FADELABEL,
609:     GUICONTROL_IMAGE,
609:     GUICONTROL_BORDEREDIMAGE,
609:     GUICONTROL_LABEL,
609:     GUICONTROL_LISTGROUP,
609:     GUICONTROL_PROGRESS,
609:     GUICONTROL_RADIO,
609:     GUICONTROL_RSS,
609:     GUICONTROL_SLIDER,
609:     GUICONTROL_SETTINGS_SLIDER,
609:     GUICONTROL_SPIN,
609:     GUICONTROL_SPINEX,
609:     GUICONTROL_TEXTBOX,
609:     GUICONTROL_TOGGLEBUTTON,
609:     GUICONTROL_VIDEO,
609:     GUICONTROL_GAME,
609:     GUICONTROL_MOVER,
609:     GUICONTROL_RESIZE,
609:     GUICONTROL_EDIT,
609:     GUICONTROL_VISUALISATION,
609:     GUICONTROL_RENDERADDON,
609:     GUICONTROL_MULTI_IMAGE,
609:     GUICONTROL_GROUP,
609:     GUICONTROL_GROUPLIST,
609:     GUICONTROL_SCROLLBAR,
609:     GUICONTROL_LISTLABEL,
609:     GUICONTROL_GAMECONTROLLER,
609:     GUICONTAINER_LIST,
609:     GUICONTAINER_WRAPLIST,
609:     GUICONTAINER_FIXEDLIST,
609:     GUICONTAINER_EPGGRID,
609:     GUICONTAINER_PANEL,
609:     GUICONTROL_RANGES,
609:     GUICONTROL_COLORBUTTON
609:   };
609:   GUICONTROLTYPES GetControlType() const { return ControlType; }
609: 
609:   enum GUIVISIBLE { HIDDEN = 0, DELAYED, VISIBLE };
609: 
609:   enum GUISCROLLVALUE { FOCUS = 0, NEVER, ALWAYS };
609: 
609: 
609: 
609: 
609: protected:
609: 
609: 
609: 
609: 
609:   virtual CPoint GetPosition() const { return CPoint(GetXPosition(), GetYPosition()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual bool OnMouseOver(const CPoint &point);
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual bool CanFocusFromPoint(const CPoint &point) const;
609: 
609:   virtual bool UpdateColors(const CGUIListItem* item);
609:   virtual bool Animate(unsigned int currentTime);
609:   virtual bool CheckAnimation(ANIMATION_TYPE animType);
609:   void UpdateStates(ANIMATION_TYPE type, ANIMATION_PROCESS currentProcess, ANIMATION_STATE currentState);
609:   bool SendWindowMessage(CGUIMessage &message) const;
609: 
609: 
609:   ActionMap m_actions;
609: 
609:   float m_posX;
609:   float m_posY;
609:   float m_height;
609:   float m_width;
609:   CRect m_hitRect;
609:   UTILS::COLOR::Color m_hitColor = 0xffffffff;
609:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_diffuseColor;
609:   int m_controlID;
609:   int m_parentID;
609:   bool m_bHasFocus;
609:   bool m_bInvalidated;
609:   bool m_bAllocated;
609:   bool m_pulseOnSelect;
609:   GUICONTROLTYPES ControlType;
609:   GUICONTROLSTATS *m_controlStats;
609: 
609:   CGUIControl *m_parentControl;
609: 
609: 
609:   INFO::InfoPtr m_visibleCondition;
609:   GUIVISIBLE m_visible;
609:   bool m_visibleFromSkinCondition;
609:   bool m_forceHidden;
609:   KODI::GUILIB::GUIINFO::CGUIInfoBool m_allowHiddenFocus;
609:   bool m_hasProcessed;
609: 
609:   INFO::InfoPtr m_enableCondition;
609:   bool m_enabled;
609: 
609:   bool m_pushedUpdates;
609: 
609: 
609:   std::vector<CAnimation> m_animations;
609:   CPoint m_camera;
609:   bool m_hasCamera;
609:   float m_stereo;
609:   TransformMatrix m_transform;
609:   TransformMatrix m_cachedTransform;
609:   bool m_isCulled{true};
609: 
609:   static const unsigned int DIRTY_STATE_CONTROL = 1;
609:   static const unsigned int DIRTY_STATE_CHILD = 2;
609: 
609:   unsigned int m_controlDirtyState;
609:   CRect m_renderRegion;
609: };
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.h" 2
609: 
609: 
609: 
609: 
609: 
609: class CGUIVideoControl :
609:       public CGUIControl
609: {
609: public:
609:   CGUIVideoControl(int parentID, int controlID, float posX, float posY, float width, float height);
609:   ~CGUIVideoControl(void) override;
609:   CGUIVideoControl* Clone() const override { return new CGUIVideoControl(*this); }
609: 
609:   void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
609:   void Render() override;
609:   void RenderEx() override;
609:   EVENT_RESULT OnMouseEvent(const CPoint &point, const CMouseEvent &event) override;
609:   bool CanFocus() const override;
609:   bool CanFocusFromPoint(const CPoint &point) const override;
609: };
609: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h"
609:        
609: 
609: 
609: 
609: 
609: class CGUIWindowManager;
609: class CGUITextureManager;
609: class CGUILargeTextureManager;
609: class CStereoscopicsManager;
609: class CGUIInfoManager;
609: class CGUIColorManager;
609: class CGUIAudioManager;
609: 
609: class CGUIComponent
609: {
609: public:
609:   CGUIComponent();
609:   virtual ~CGUIComponent();
609:   void Init();
609:   void Deinit();
609: 
609:   CGUIWindowManager& GetWindowManager();
609:   CGUITextureManager& GetTextureManager();
609:   CGUILargeTextureManager& GetLargeTextureManager();
609:   CStereoscopicsManager &GetStereoscopicsManager();
609:   CGUIInfoManager &GetInfoManager();
609:   CGUIColorManager &GetColorManager();
609:   CGUIAudioManager &GetAudioManager();
609: 
609:   bool ConfirmDelete(const std::string& path);
609: 
609: protected:
609: 
609:   std::unique_ptr<CGUIWindowManager> m_pWindowManager;
609:   std::unique_ptr<CGUITextureManager> m_pTextureManager;
609:   std::unique_ptr<CGUILargeTextureManager> m_pLargeTextureManager;
609:   std::unique_ptr<CStereoscopicsManager> m_stereoscopicsManager;
609:   std::unique_ptr<CGUIInfoManager> m_guiInfoManager;
609:   std::unique_ptr<CGUIColorManager> m_guiColorManager;
609:   std::unique_ptr<CGUIAudioManager> m_guiAudioManager;
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h"
609:        
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h"
609: class IDirtyRegionSolver
609: {
609: public:
609:   virtual ~IDirtyRegionSolver() = default;
609: 
609: 
609:   virtual void Solve(const CDirtyRegionList &input, CDirtyRegionList &output) = 0;
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 2
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: class CDirtyRegionTracker
609: {
609: public:
609:   explicit CDirtyRegionTracker(int buffering = 3);
609:   ~CDirtyRegionTracker();
609:   void SelectAlgorithm();
609:   void MarkDirtyRegion(const CDirtyRegion &region);
609: 
609:   const CDirtyRegionList &GetMarkedRegions() const;
609:   CDirtyRegionList GetDirtyRegions();
609:   void CleanMarkedRegions();
609: 
609: private:
609:   CDirtyRegionList m_markedRegions;
609:   int m_buffering;
609:   IDirtyRegionSolver *m_solver;
609: };
609: # 12 "/build/nyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<char>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr char
1417:       min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); }
1417: 
1417:       static constexpr char
1417:       max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); }
1417: 
1417: 
1417:       static constexpr char
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
1417:       static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = ((char)(-1) < 0);
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr char
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr char
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr
1417:       char infinity() noexcept { return char(); }
1417: 
1417:       static constexpr char
1417:       quiet_NaN() noexcept { return char(); }
1417: 
1417:       static constexpr char
1417:       signaling_NaN() noexcept { return char(); }
1417: 
1417:       static constexpr char
1417:       denorm_min() noexcept { return static_cast<char>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = !is_signed;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<signed char>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr signed char
1417:       min() noexcept { return -0x7f - 1; }
1417: 
1417:       static constexpr signed char
1417:       max() noexcept { return 0x7f; }
1417: 
1417: 
1417:       static constexpr signed char
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr signed char
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr signed char
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr signed char
1417:       infinity() noexcept { return static_cast<signed char>(0); }
1417: 
1417:       static constexpr signed char
1417:       quiet_NaN() noexcept { return static_cast<signed char>(0); }
1417: 
1417:       static constexpr signed char
1417:       signaling_NaN() noexcept
1417:       { return static_cast<signed char>(0); }
1417: 
1417:       static constexpr signed char
1417:       denorm_min() noexcept
1417:       { return static_cast<signed char>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<unsigned char>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr unsigned char
1417:       min() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned char
1417:       max() noexcept { return 0x7f * 2U + 1; }
1417: 
1417: 
1417:       static constexpr unsigned char
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits
1417:        = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = false;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr unsigned char
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned char
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr unsigned char
1417:       infinity() noexcept
1417:       { return static_cast<unsigned char>(0); }
1417: 
1417:       static constexpr unsigned char
1417:       quiet_NaN() noexcept
1417:       { return static_cast<unsigned char>(0); }
1417: 
1417:       static constexpr unsigned char
1417:       signaling_NaN() noexcept
1417:       { return static_cast<unsigned char>(0); }
1417: 
1417:       static constexpr unsigned char
1417:       denorm_min() noexcept
1417:       { return static_cast<unsigned char>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = true;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<wchar_t>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr wchar_t
1417:       min() noexcept { return (((wkodi-HAo4KK/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: class CGUIControl;
609: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
609: 
609: 
609: 
609: 
609: class CGUIAction
609: {
609: public:
609: 
609: 
609: 
609:   class CExecutableAction
609:   {
609:   public:
609: 
609: 
609: 
609: 
609:     explicit CExecutableAction(const std::string& action);
609: 
609: 
609: 
609: 
609: 
609:     CExecutableAction(const std::string& condition, const std::string& action);
609: 
609: 
609: 
609: 
609: 
609:     std::string GetCondition() const;
609: 
609: 
609: 
609: 
609: 
609:     bool HasCondition() const;
609: 
609: 
609: 
609: 
609: 
609:     std::string GetAction() const;
609: 
609: 
609: 
609: 
609: 
609:     void SetAction(const std::string& action);
609: 
609:   private:
609: 
609: 
609: 
609:     CExecutableAction() = delete;
609: 
609:     std::string m_condition;
609: 
609:     std::string m_action;
609:   };
609: 
609:   CGUIAction() = default;
609:   explicit CGUIAction(int controlID);
609: 
609: 
609: 
609:   bool ExecuteActions() const;
609: 
609: 
609: 
609:   bool ExecuteActions(int controlID, int parentID, const CGUIListItemPtr& item = nullptr) const;
609: 
609: 
609: 
609:   bool HasActionsMeetingCondition() const;
609: 
609: 
609: 
609:   bool HasAnyActions() const;
609: 
609: 
609: 
609:   int GetNavigation() const;
609: 
609: 
609: 
609:   void SetNavigation(int id);
609: 
609: 
609: 
609:   void EnableSendThreadMessageMode();
609: 
609: 
609: 
609:   void Append(const CExecutableAction& action);
609: 
609: 
609: 
609:   void Reset();
609: 
609: private:
609:   std::vector<CExecutableAction> m_actions;
609:   bool m_sendThreadMessages = false;
609: };
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
609:        
609: 
609: 
609: 
609: class CGUIControlLookup : public CGUIControl
609: {
609: public:
609:   CGUIControlLookup() = default;
609:   CGUIControlLookup(int parentID, int controlID, float posX, float posY, float width, float height)
609:     : CGUIControl(parentID, controlID, posX, posY, width, height) {}
609:   explicit CGUIControlLookup(const CGUIControlLookup& from);
609:   ~CGUIControlLookup(void) override = default;
609: 
609:   CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr) override;
609: protected:
609:   typedef std::multimap<int, CGUIControl *> LookupMap;
609: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
609:   bool IsValidControl(const CGUIControl *control) const;
609:   std::pair<LookupMap::const_iterator, LookupMap::const_iterator> GetLookupControls(int controlId) const
609:   {
609:     return m_lookup.equal_range(controlId);
609:   };
609: 
609: 
609:   void AddLookup(CGUIControl *control);
609:   void RemoveLookup(CGUIControl *control);
609:   void RemoveLookup();
609:   const LookupMap &GetLookup() const { return m_lookup; }
609:   void ClearLookup() { m_lookup.clear(); }
609: private:
609:   LookupMap m_lookup;
609: };
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 2
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: class CGUIControlGroup : public CGUIControlLookup
609: {
609: public:
609:   CGUIControlGroup();
609:   CGUIControlGroup(int parentID, int controlID, float posX, float posY, float width, float height);
609:   explicit CGUIControlGroup(const CGUIControlGroup& from);
609:   ~CGUIControlGroup(void) override;
609:   CGUIControlGroup* Clone() const override { return new CGUIControlGroup(*this); }
609: 
609:   void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
609:   void Render() override;
609:   void RenderEx() override;
609:   bool OnAction(const CAction &action) override;
609:   bool OnMessage(CGUIMessage& message) override;
609:   virtual bool SendControlMessage(CGUIMessage& message);
609:   bool HasFocus() const override;
609:   void AllocResources() override;
609:   void FreeResources(bool immediately = false) override;
609:   void DynamicResourceAlloc(bool bOnOff) override;
609:   bool CanFocus() const override;
609: 
609:   EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event) override;
609:   void UnfocusFromPoint(const CPoint &point) override;
609: 
609:   void SetInitialVisibility() override;
609: 
609:   bool IsAnimating(ANIMATION_TYPE anim) override;
609:   bool HasAnimation(ANIMATION_TYPE anim) override;
609:   void QueueAnimation(ANIMATION_TYPE anim) override;
609:   void ResetAnimation(ANIMATION_TYPE anim) override;
609:   void ResetAnimations() override;
609: 
609:   int GetFocusedControlID() const;
609:   CGUIControl *GetFocusedControl() const;
609:   virtual CGUIControl *GetFirstFocusableControl(int id);
609: 
609:   virtual void AddControl(CGUIControl *control, int position = -1);
609:   bool InsertControl(CGUIControl *control, const CGUIControl *insertPoint);
609:   virtual bool RemoveControl(const CGUIControl *control);
609:   virtual void ClearAll();
609:   void SetDefaultControl(int id, bool always)
609:   {
609:     m_defaultControl = id;
609:     m_defaultAlways = always;
609:   }
609:   void SetRenderFocusedLast(bool renderLast) { m_renderFocusedLast = renderLast; }
609: 
609:   void SaveStates(std::vector<CControlState> &states) override;
609: 
609:   bool IsGroup() const override { return true; }
609: 
609: 
609: 
609: 
609: protected:
609: 
609:   std::vector<CGUIControl *> m_children;
609: 
609:   typedef std::vector<CGUIControl *>::iterator iControls;
609:   typedef std::vector<CGUIControl *>::const_iterator ciControls;
609:   typedef std::vector<CGUIControl *>::reverse_iterator rControls;
609:   typedef std::vector<CGUIControl *>::const_reverse_iterator crControls;
609: 
609:   int m_defaultControl;
609:   bool m_defaultAlways;
609:   int m_focusedControl;
609:   bool m_renderFocusedLast;
609: private:
609:   typedef std::vector< std::vector<CGUIControl *> * > COLLECTORTYPE;
609: 
609:   struct IDCollectorList
609:   {
609:     ~IDCollectorList()
609:     {
609:       for (auto item : m_items)
609:         delete item;
609:     }
609: 
609:     std::vector<CGUIControl *> *Get() {
609:       if (++m_stackDepth > m_items.size())
609:         m_items.push_back(new std::vector<CGUIControl *>());
609:       return m_items[m_stackDepth - 1];
609:     }
609: 
609:     void Release() { --m_stackDepth; }
609: 
609:     COLLECTORTYPE m_items;
609:     size_t m_stackDepth = 0;
609:   }m_idCollector;
609: 
609:   struct IDCollector
609:   {
609:     explicit IDCollector(IDCollectorList& list) : m_list(list), m_collector(list.Get()) {}
609: 
609:     ~IDCollector() { m_list.Release(); }
609: 
609:     IDCollectorList &m_list;
609:     std::vector<CGUIControl *> *m_collector;
609:   };
609: };
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
609: 
609: 
609: 
609: class CFileItem; typedef std::shared_ptr<CFileItem> CFileItemPtr;
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
609: # 34 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 1 3 4
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
609: # 203 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
609: # 1 "/usr/include/limits.h" 1 3 4
609: # 26 "/usr/include/limits.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-char_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); }
1417: 
1417:       static constexpr wchar_t
1417:       max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); }
1417: 
1417: 
1417:       static constexpr wchar_t
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = ((wchar_t)(-1) < 0);
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr wchar_t
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr wchar_t
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr wchar_t
1417:       infinity() noexcept { return wchar_t(); }
1417: 
1417:       static constexpr wchar_t
1417:       quiet_NaN() noexcept { return wchar_t(); }
1417: 
1417:       static constexpr wchar_t
1417:       signaling_NaN() noexcept { return wchar_t(); }
1417: 
1417:       static constexpr wchar_t
1417:       denorm_min() noexcept { return wchar_t(); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = !is_signed;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: # 796 "/usr/include/c++/12/limits" 3
1417:   template<>
1417:     struct numeric_limits<char16_t>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr char16_t
1417:       min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); }
1417: 
1417:       static constexpr char16_t
1417:       max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); }
1417: 
1417:       static constexpr char16_t
1417:       lowest() noexcept { return min(); }
1417: 
1417:       static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0));
1417:       static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136);
1417:       static constexpr int max_digits10 = 0;
1417:       static constexpr bool is_signed = ((char16_t)(-1) < 0);
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr char16_t
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr char16_t
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr char16_t
1417:       infinity() noexcept { return char16_t(); }
1417: 
1417:       static constexpr char16_t
1417:       quiet_NaN() noexcept { return char16_t(); }
1417: 
1417:       static constexpr char16_t
1417:       signaling_NaN() noexcept { return char16_t(); }
1417: 
1417:       static constexpr char16_t
1417:       denorm_min() noexcept { return char16_t(); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = !is_signed;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<char32_t>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr char32_t
1417:       min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); }
1417: 
1417:       static constexpr char32_t
1417:       max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); }
1417: 
1417:       static constexpr char32_t
1417:       lowest() noexcept { return min(); }
1417: 
1417:       static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0));
1417:       static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136);
1417:       static constexpr int max_digits10 = 0;
1417:       static constexpr bool is_signed = ((char32_t)(-1) < 0);
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr char32_t
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr char32_t
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr char32_t
1417:       infinity() noexcept { return char32_t(); }
1417: 
1417:       static constexpr char32_t
1417:       quiet_NaN() noexcept { return char32_t(); }
1417: 
1417:       static constexpr char32_t
1417:       signaling_NaN() noexcept { return char32_t(); }
1417: 
1417:       static constexpr char32_t
1417:       denorm_min() noexcept { return char32_t(); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = !is_signed;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style = round_toward_zero;
1417:     };
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<short>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr short
1417:       min() noexcept { return -0x7fff - 1; }
1417: 
1417:       static constexpr short
1417:       max() noexcept { return 0x7fff;header-start.h" 1 3 4
609: # 27 "/usr/include/limits.h" 2 3 4
609: # 195 "/usr/include/limits.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 1 3 4
609: # 27 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
609: # 28 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
609: # 161 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 1 3 4
609: # 38 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 3 4
609: # 1 "/usr/include/linux/limits.h" 1 3 4
609: # 39 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 2 3 4
609: # 162 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
609: # 196 "/usr/include/limits.h" 2 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h" 1 3 4
609: # 200 "/usr/include/limits.h" 2 3 4
609: 
609: 
609: 
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 1 3 4
609: # 64 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 3 4
609: # 1 "/usr/include/arm-linux-gnueabihf/bits/uio_lim.h" 1 3 4
609: # 65 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 2 3 4
609: # 204 "/usr/include/limits.h" 2 3 4
609: # 204 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
609: # 8 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 2 3 4
609: # 35 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
609: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
609: 
609: 
609: 
609: enum RenderOrder {
609:   RENDER_ORDER_WINDOW = 0,
609:   RENDER_ORDER_DIALOG = 1,
609:   RENDER_ORDER_WINDOW_SCREENSAVER = 0x7fffffff,
609:   RENDER_ORDER_WINDOW_POINTER = 0x7fffffff - 1,
609:   RENDER_ORDER_WINDOW_DEBUG = 0x7fffffff - 2,
609:   RENDER_ORDER_DIALOG_TELETEXT = 0x7fffffff - 3
609: };
609: 
609: 
609: class TiXmlNode;
609: class TiXmlElement;
609: class CXBMCTinyXML;
609: class CVariant;
609: 
609: class COrigin
609: {
609: public:
609:   COrigin()
609:   {
609:     x = y = 0;
609:   };
609:   float x;
609:   float y;
609:   INFO::InfoPtr condition;
609: };
609: 
609: 
609: 
609: 
609: 
609: class CGUIWindow : public CGUIControlGroup, protected CCriticalSection
609: {
609: public:
609:   enum LOAD_TYPE { LOAD_EVERY_TIME, LOAD_ON_GUI_INIT, KEEP_IN_MEMORY };
609: 
609:   CGUIWindow(int id, const std::string &xmlFile);
609:   ~CGUIWindow(void) override;
609: 
609:   bool Initialize();
609:   bool Load(const std::string& strFileName, bool bContainsPath = false);
609: 
609:   void CenterWindow();
609: 
609:   void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   void DoRender() override;
609: 
609: 
609: 
609: 
609:   void AfterRender();
609: 
609: 
609: 
609: 
609: 
609:   virtual void FrameMove() {}
609: 
609:   void Close(bool forceClose = false, int nextWindowID = 0, bool enableSound = true, bool bWait = true);
609: 
609: 
609: 
609: 
609: 
609: 
609:   bool OnAction(const CAction &action) override;
609: 
609:   using CGUIControlGroup::OnBack;
609:   virtual bool OnBack(int actionID);
609:   using CGUIControlGroup::OnInfo;
609:   virtual bool OnInfo(int actionID) { return false; }
609: 
609: 
609: 
609:   virtual void ClearBackground();
609: 
609:   bool OnMove(int fromControl, int moveAction);
609:   bool OnMessage(CGUIMessage& message) override;
609: 
609:   bool ControlGroupHasFocus(int groupID, int controlID);
609:   void SetID(int id) override;
609:   virtual bool HasID(int controlID) const;
609:   const std::vector<int>& GetIDRange() const { return m_idRange; }
609:   int GetPreviousWindow() { return m_previousWindow; }
609:   CRect GetScaledBounds() const;
609:   void ClearAll() override;
609:   using CGUIControlGroup::AllocResources;
609:   virtual void AllocResources(bool forceLoad = false);
609:   void FreeResources(bool forceUnLoad = false) override;
609:   void DynamicResourceAlloc(bool bOnOff) override;
609:   virtual bool IsDialog() const { return false; }
609:   virtual bool IsDialogRunning() const { return false; }
609:   virtual bool IsModalDialog() const { return false; }
609:   virtual bool IsMediaWindow() const { return false; }
609:   virtual bool HasListItems() const { return false; }
609:   virtual bool IsSoundEnabled() const { return true; }
609:   virtual CFileItemPtr GetCurrentListItem(int offset = 0) { return CFileItemPtr(); }
609:   virtual int GetViewContainerID() const { return 0; }
609:   virtual int GetViewCount() const { return 0; }
609:   virtual bool CanBeActivated() const { return true; }
609:   virtual bool IsActive() const;
609:   void SetCoordsRes(const RESOLUTION_INFO& res) { m_coordsRes = res; }
609:   const RESOLUTION_INFO& GetCoordsRes() const { return m_coordsRes; }
609:   void SetLoadType(LOAD_TYPE loadType) { m_loadType = loadType; }
609:   LOAD_TYPE GetLoadType() { return m_loadType; }
609:   int GetRenderOrder() { return m_renderOrder; }
609:   void SetInitialVisibility() override;
609:   bool IsVisible() const override { return true; };
609: 
609: 
609:   virtual bool HasVisibleControls() { return true; };
609: 
609:   bool IsAnimating(ANIMATION_TYPE animType) override;
609: 
609: 
609: 
609: 
609: 
609:   bool IsCustom() const { return m_custom; }
609: 
609: 
609: 
609: 
609: 
609:   void SetCustom(bool custom) { m_custom = custom; }
609: 
609:   void DisableAnimations();
609: 
609:   virtual void ResetControlStates();
609:   void UpdateControlStats() override {};
609: 
609:   void SetRunActionsManually();
609:   void RunLoadActions() const;
609:   void RunUnloadActions() const;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   void SetProperty(const std::string &key, const CVariant &value);
609: 
609: 
609: 
609: 
609: 
609:   CVariant GetProperty(const std::string &key) const;
609: 
609: 
609: 
609: 
609:   void ClearProperties();
609: 
609: 
609: 
609: 
609:   bool HasSaveLastControl() const { return !m_defaultAlways; }
609: 
609:   virtual void OnDeinitWindow(int nextWindowID);
609: protected:
609:   EVENT_RESULT OnMouseEvent(const CPoint &point, const CMouseEvent &event) override;
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual bool LoadXML(const std::string& strPath, const std::string &strLowerPath);
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual bool Load(TiXmlElement *pRootElement);
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual std::unique_ptr<TiXmlElement> Prepare(const std::unique_ptr<TiXmlElement>& rootElement);
609: 
609: 
609: 
609: 
609:   bool NeedLoad() const;
609: 
609:   virtual void SetDefaults();
609:   virtual void OnWindowUnload() {}
609:   virtual void OnWindowLoaded();
609:   virtual void OnInitWindow();
609:   void Close_Internal(bool forceClose = false, int nextWindowID = 0, bool enableSound = true);
609:   EVENT_RESULT OnMouseAction(const CAction &action);
609:   bool Animate(unsigned int currentTime) override;
609:   bool CheckAnimation(ANIMATION_TYPE animType) override;
609: 
609: 
609:   virtual void SaveControlStates();
609:   virtual void RestoreControlStates();
609: 
609: 
609:   void OnEditChanged(int id, std::string &text);
609:   bool SendMessage(int message, int id, int param1 = 0, int param2 = 0);
609: 
609:   void LoadControl(TiXmlElement* pControl, CGUIControlGroup *pGroup, const CRect &rect);
609: 
609:   std::vector<int> m_idRange;
609:   RESOLUTION_INFO m_coordsRes;
609:   bool m_needsScaling;
609:   bool m_windowLoaded;
609:   LOAD_TYPE m_loadType;
609:   bool m_dynamicResourceAlloc;
609:   bool m_closing;
609:   bool m_active;
609:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_clearBackground;
609: 
609:   int m_renderOrder;
609: 
609: 
609: 
609: 
609: 
609: 
609:   CPoint GetPosition() const override;
609:   std::vector<COrigin> m_origins;
609: 
609: 
609:   int m_lastControlID;
609:   std::vector<CControlState> m_controlStates;
609:   int m_previousWindow;
609: 
609:   bool m_animationsEnabled;
609:   struct icompare
609:   {
609:     bool operator()(const std::string &s1, const std::string &s2) const;
609:   };
609: 
609:   CGUIAction m_loadActions;
609:   CGUIAction m_unloadActions;
609: 
609: 
609: 
609: 
609:    }
1417: 
1417: 
1417:       static constexpr short
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
1417:       static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr short
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr short
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr short
1417:       infinity() noexcept { return short(); }
1417: 
1417:       static constexpr short
1417:       quiet_NaN() noexcept { return short(); }
1417: 
1417:       static constexpr short
1417:       signaling_NaN() noexcept { return short(); }
1417: 
1417:       static constexpr short
1417:       denorm_min() noexcept { return short(); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<unsigned short>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr unsigned short
1417:       min() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned short
1417:       max() noexcept { return 0x7fff * 2U + 1; }
1417: 
1417: 
1417:       static constexpr unsigned short
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits
1417:        = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = false;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr unsigned short
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned short
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr unsigned short
1417:       infinity() noexcept
1417:       { return static_cast<unsigned short>(0); }
1417: 
1417:       static constexpr unsigned short
1417:       quiet_NaN() noexcept
1417:       { return static_cast<unsigned short>(0); }
1417: 
1417:       static constexpr unsigned short
1417:       signaling_NaN() noexcept
1417:       { return static_cast<unsigned short>(0); }
1417: 
1417:       static constexpr unsigned short
1417:       denorm_min() noexcept
1417:       { return static_cast<unsigned short>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = true;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<int>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr int
1417:       min() noexcept { return -0x7fffffff - 1; }
1417: 
1417:       static constexpr int
1417:       max() noexcept { return 0x7fffffff; }
1417: 
1417: 
1417:       static constexpr int
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
1417:       static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr int
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr int
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr int
1417:       infinity() noexcept { return static_cast<int>(0); }
1417: 
1417:       static constexpr int
1417:       quiet_NaN() noexcept { return static_cast<int>(0); }
1417: 
1417:       static constexpr int
1417:       signaling_NaN() noexcept { return static_cast<int>(0); }
1417: 
1417:       static constexpr int
1417:       denorm_min() noexcept { return static_cast<int>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<unsigned int>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr unsigned int
1417:       min() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned int
1417:       max() noexcept { return 0x7fffffff * 2U + 1; }
1417: 
1417: 
1417:       static constexpr unsigned int
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits
1417:        = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = false;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr unsigned int
1417:       epsilon() noexcept { return 0; }
1417: 
1std::unique_ptr<TiXmlElement> m_windowXMLRootElement;
609: 
609:   bool m_manualRunActions;
609: 
609:   int m_exclusiveMouseControl;
609: 
609:   int m_menuControlID;
609:   int m_menuLastFocusedControlID;
609:   bool m_custom;
609: 
609: private:
609:   std::map<std::string, CVariant, icompare> m_mapProperties;
609:   std::map<INFO::InfoPtr, bool> m_xmlIncludeConditions;
609: };
609: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_WINDOW_INIT = 1;
609: constexpr const int GUI_MSG_WINDOW_DEINIT = 2;
609: constexpr const int GUI_MSG_WINDOW_RESET = 27;
609: 
609: constexpr const int GUI_MSG_SETFOCUS = 3;
609: constexpr const int GUI_MSG_LOSTFOCUS = 4;
609: 
609: constexpr const int GUI_MSG_CLICKED = 5;
609: 
609: constexpr const int GUI_MSG_VISIBLE = 6;
609: constexpr const int GUI_MSG_HIDDEN = 7;
609: 
609: constexpr const int GUI_MSG_ENABLED = 8;
609: constexpr const int GUI_MSG_DISABLED = 9;
609: 
609: constexpr const int GUI_MSG_SET_SELECTED = 10;
609: constexpr const int GUI_MSG_SET_DESELECTED = 11;
609: 
609: constexpr const int GUI_MSG_LABEL_ADD = 12;
609: 
609: constexpr const int GUI_MSG_LABEL_SET = 13;
609: 
609: constexpr const int GUI_MSG_LABEL_RESET = 14;
609: 
609: constexpr const int GUI_MSG_ITEM_SELECTED = 15;
609: constexpr const int GUI_MSG_ITEM_SELECT = 16;
609: constexpr const int GUI_MSG_LABEL2_SET = 17;
609: constexpr const int GUI_MSG_SHOWRANGE = 18;
609: 
609: constexpr const int GUI_MSG_FULLSCREEN = 19;
609: constexpr const int GUI_MSG_EXECUTE = 20;
609: 
609: constexpr const int GUI_MSG_NOTIFY_ALL = 21;
609: 
609: 
609: constexpr const int GUI_MSG_REFRESH_THUMBS = 22;
609: 
609: constexpr const int GUI_MSG_MOVE = 23;
609: 
609: 
609: constexpr const int GUI_MSG_LABEL_BIND = 24;
609: 
609: constexpr const int GUI_MSG_FOCUSED = 26;
609: 
609: constexpr const int GUI_MSG_PAGE_CHANGE = 28;
609: 
609: constexpr const int GUI_MSG_REFRESH_LIST = 29;
609: 
609: constexpr const int GUI_MSG_PAGE_UP = 30;
609: constexpr const int GUI_MSG_PAGE_DOWN = 31;
609: constexpr const int GUI_MSG_MOVE_OFFSET = 32;
609: 
609: constexpr const int GUI_MSG_SET_TYPE = 33;
609: 
609: 
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_WINDOW_RESIZE = 34;
609: 
609: 
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_RENDERER_LOST = 35;
609: 
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_RENDERER_RESET = 36;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_EXCLUSIVE_MOUSE = 37;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_GESTURE_NOTIFY = 38;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_ADD_CONTROL = 39;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_REMOVE_CONTROL = 40;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_UNFOCUS_ALL = 41;
609: 
609: constexpr const int GUI_MSG_SET_TEXT = 42;
609: 
609: constexpr const int GUI_MSG_WINDOW_LOAD = 43;
609: 
609: constexpr const int GUI_MSG_VALIDITY_CHANGED = 44;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_IS_SELECTED = 45;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_SET_LABELS = 46;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_SET_FILENAME = 47;
609: 
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_GET_FILENAME = 48;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_UI_READY = 49;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_REFRESH_TIMER = 50;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_STATE_CHANGED = 51;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_SUBTITLE_DOWNLOADED = 52;
609: 
609: 
609: constexpr const int GUI_MSG_USER = 1000;
609: 
609: 
609: 
609: 
609: constexpr const int GUI_MSG_CODINGTABLE_LOOKUP_COMPLETED = 65000;
609: # 358 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
609: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
609: class CFileItemList;
609: 
609: 
609: 
609: 
609: 
609: class CGUIMessage final
609: {
609: public:
609:   CGUIMessage(int dwMsg, int senderID, int controlID, int param1 = 0, int param2 = 0);
609:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, CFileItemList* item);
609:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, const CGUIListItemPtr &item);
609:   CGUIMessage(const CGUIMessage& msg);
609:   ~CGUIMessage(void);
609:   CGUIMessage& operator = (const CGUIMessage& msg);
609: 
609:   int GetControlId() const ;
609:   int GetMessage() const;
609:   void* GetPointer() const;
609:   CGUIListItemPtr GetItem() const;
609:   int GetParam1() const;
609:   int GetParam2() const;
609:   int GetSenderId() const;
609:   void SetParam1(int param1);
609:   void SetParam2(int param2);
609:   void SetPointer(void* pointer);
609:   void SetLabel(const std::string& strLabel);
609:   void SetLabel(int iString);
609:   const std::string& GetLabel() const;
609:   void SetStringParam(const std::string &strParam);
609:   void SetStringParams(const std::vector<std::string> &params);
609:   const std::string& GetStringParam(size_t param = 0) const;
609:   size_t GetNumStringParams() const;
609: 
609: private:
609:   std::string m_strLabel;
609:   std::vector<std::string> m_params;
609:   int m_senderID;
609:   int m_controlID;
609:   int m_message;
609:   void* m_pointer;
609:   int m_param1;
609:   int m_param2;
609:   CGUIListItemPtr m_item;
609: 
609:   static std::string empty_string;
609: };
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h" 2
609: 
609: 
609: 
609: 
609: 
609: class IMsgTargetCallback
609: {
609: public:
609:   virtual bool OnMessage(CGUIMessage& message) = 0;
609:   virtual ~IMsgTargetCallback() = default;
609: };
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
609:        
609: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
609: class IWindowManagerCallback
609: {
609: public:
609:   IWindowManagerCallback(void);
609:   virtual ~IWindowManagerCallback(void);
609: 
609:   virtual void FrameMove(bool processEvents, bool processGUI = true) = 0;
609:   virtual void Render() = 0;
609:   virtual void Process() = 0;
609:   virtual bool GetRenderGUI() const { return false; }
609: };
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h"
609:        
609: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
609:        
609: 
609: namespace KODI
609: {
609: namespace MESSAGING
609: {
609: class ThreadMessage;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: class IMessageTarget
609: {
609: public:
609:   virtual ~IMessageTarget() = default;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual int GetMessageMask() = 0;
609: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
609:   virtual void OnApplicationMessage(ThreadMessage* msg) = 0;
609: };
609: }
609: }
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
609: 
609: # 1 "/usr/include/c++/12/list" 1 3
609: # 58 "/usr/include/c++/12/list" 3
609:        
609: # 59 "/usr/include/c++/12/list" 3
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/stl_list.h" 1 3
609: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
609: 
609: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
609:417:       static constexpr unsigned int
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr unsigned int
1417:       infinity() noexcept { return static_cast<unsigned int>(0); }
1417: 
1417:       static constexpr unsigned int
1417:       quiet_NaN() noexcept
1417:       { return static_cast<unsigned int>(0); }
1417: 
1417:       static constexpr unsigned int
1417:       signaling_NaN() noexcept
1417:       { return static_cast<unsigned int>(0); }
1417: 
1417:       static constexpr unsigned int
1417:       denorm_min() noexcept
1417:       { return static_cast<unsigned int>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = true;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<long>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr long
1417:       min() noexcept { return -0x7fffffffL - 1; }
1417: 
1417:       static constexpr long
1417:       max() noexcept { return 0x7fffffffL; }
1417: 
1417: 
1417:       static constexpr long
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
1417:       static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr long
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr long
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr long
1417:       infinity() noexcept { return static_cast<long>(0); }
1417: 
1417:       static constexpr long
1417:       quiet_NaN() noexcept { return static_cast<long>(0); }
1417: 
1417:       static constexpr long
1417:       signaling_NaN() noexcept { return static_cast<long>(0); }
1417: 
1417:       static constexpr long
1417:       denorm_min() noexcept { return static_cast<long>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<unsigned long>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr unsigned long
1417:       min() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned long
1417:       max() noexcept { return 0x7fffffffL * 2UL + 1; }
1417: 
1417: 
1417:       static constexpr unsigned long
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits
1417:        = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = false;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr unsigned long
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned long
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr unsigned long
1417:       infinity() noexcept
1417:       { return static_cast<unsigned long>(0); }
1417: 
1417:       static constexpr unsigned long
1417:       quiet_NaN() noexcept
1417:       { return static_cast<unsigned long>(0); }
1417: 
1417:       static constexpr unsigned long
1417:       signaling_NaN() noexcept
1417:       { return static_cast<unsigned long>(0); }
1417: 
1417:       static constexpr unsigned long
1417:       denorm_min() noexcept
1417:       { return static_cast<unsigned long>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = true;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<long long>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr long long
1417:       min() noexcept { return -0x7fffffffffffffffLL - 1; }
1417: 
1417:       static constexpr long long
1417:       max() noexcept { return 0x7fffffffffffffffLL; }
1417: 
1417: 
1417:       static constexpr long long
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits
1417:        = (sizeof(long long) * 8 - ((long long)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr long long
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr long long
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       stat namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   namespace __detail
609:   {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     struct _List_node_base
609:     {
609:       _List_node_base* _M_next;
609:       _List_node_base* _M_prev;
609: 
609:       static void
609:       swap(_List_node_base& __x, _List_node_base& __y) noexcept;
609: 
609:       void
609:       _M_transfer(_List_node_base* const __first,
609:     _List_node_base* const __last) noexcept;
609: 
609:       void
609:       _M_reverse() noexcept;
609: 
609:       void
609:       _M_hook(_List_node_base* const __position) noexcept;
609: 
609:       void
609:       _M_unhook() noexcept;
609:     };
609: 
609: 
609:     struct _List_node_header : public _List_node_base
609:     {
609: 
609:       std::size_t _M_size;
609: 
609: 
609:       _List_node_header() noexcept
609:       { _M_init(); }
609: 
609: 
609:       _List_node_header(_List_node_header&& __x) noexcept
609:       : _List_node_base{ __x._M_next, __x._M_prev }
609: 
609:       , _M_size(__x._M_size)
609: 
609:       {
609:  if (__x._M_base()->_M_next == __x._M_base())
609:    this->_M_next = this->_M_prev = this;
609:  else
609:    {
609:      this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base();
609:      __x._M_init();
609:    }
609:       }
609: 
609:       void
609:       _M_move_nodes(_List_node_header&& __x)
609:       {
609:  _List_node_base* const __xnode = __x._M_base();
609:  if (__xnode->_M_next == __xnode)
609:    _M_init();
609:  else
609:    {
609:      _List_node_base* const __node = this->_M_base();
609:      __node->_M_next = __xnode->_M_next;
609:      __node->_M_prev = __xnode->_M_prev;
609:      __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node;
609: 
609:      _M_size = __x._M_size;
609: 
609:      __x._M_init();
609:    }
609:       }
609: 
609: 
609:       void
609:       _M_init() noexcept
609:       {
609:  this->_M_next = this->_M_prev = this;
609: 
609:  this->_M_size = 0;
609: 
609:       }
609: 
609:     private:
609:       _List_node_base* _M_base() { return this; }
609:     };
609: 
609: 
609:     struct _Scratch_list : _List_node_base
609:     {
609:       _Scratch_list() { _M_next = _M_prev = this; }
609: 
609:       bool empty() const { return _M_next == this; }
609: 
609:       void swap(_List_node_base& __l) { _List_node_base::swap(*this, __l); }
609: 
609:       template<typename _Iter, typename _Cmp>
609:  struct _Ptr_cmp
609:  {
609:    _Cmp _M_cmp;
609: 
609:    bool
609:    operator()(__detail::_List_node_base* __lhs,
609:        __detail::_List_node_base* __rhs)
609:    { return _M_cmp(*_Iter(__lhs), *_Iter(__rhs)); }
609:  };
609: 
609:       template<typename _Iter>
609:  struct _Ptr_cmp<_Iter, void>
609:  {
609:    bool
609:    operator()(__detail::_List_node_base* __lhs,
609:        __detail::_List_node_base* __rhs) const
609:    { return *_Iter(__lhs) < *_Iter(__rhs); }
609:  };
609: 
609: 
609:       template<typename _Cmp>
609:  void
609:  merge(_List_node_base& __x, _Cmp __comp)
609:  {
609:    _List_node_base* __first1 = _M_next;
609:    _List_node_base* const __last1 = this;
609:    _List_node_base* __first2 = __x._M_next;
609:    _List_node_base* const __last2 = std::__addressof(__x);
609: 
609:    while (__first1 != __last1 && __first2 != __last2)
609:      {
609:        if (__comp(__first2, __first1))
609:   {
609:     _List_node_base* __next = __first2->_M_next;
609:     __first1->_M_transfer(__first2, __next);
609:     __first2 = __next;
609:   }
609:        else
609:   __first1 = __first1->_M_next;
609:      }
609:    if (__first2 != __last2)
609:      this->_M_transfer(__first2, __last2);
609:  }
609: 
609: 
609:       void _M_take_one(_List_node_base* __i)
609:       { this->_M_transfer(__i, __i->_M_next); }
609: 
609: 
609:       void _M_put_all(_List_node_base* __i)
609:       {
609:  if (!empty())
609:    __i->_M_transfer(_M_next, this);
609:       }
609:     };
609: 
609:   }
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct _List_node : public __detail::_List_node_base
609:     {
609: 
609:       __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
609:       _Tp* _M_valptr() { return _M_storage._M_ptr(); }
609:       _Tp const* _M_valptr() const { return _M_storage._M_ptr(); }
609: 
609: 
609: 
609: 
609: 
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct _List_iterator
609:     {
609:       typedef _List_iterator<_Tp> _Self;
609:       typedef _List_node<_Tp> _Node;
609: 
609:       typedef ptrdiff_t difference_type;
609:       typedef std::bidirectional_iterator_tag iterator_category;
609:       typedef _Tp value_type;
609:       typedef _Tp* pointer;
609:       typedef _Tp& reference;
609: 
609:       _List_iterator() noexcept
609:       : _M_node() { }
609: 
609:       explicit
609:       _List_iterator(__detail::_List_node_base* __x) noexcept
609:       : _M_node(__x) { }
609: 
609:       _Self
609:       _M_const_cast() const noexcept
609:       { return *this; }
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       operator*() const noexcept
609:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
609: 
609:       [[__nodiscard__]]
609:       pointer
609:       operator->() const noexcept
609:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
609: 
609:       _Self&
609:       operator++() noexcept
609:       {
609:  _M_node = _M_node->_M_next;
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator++(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _M_node->_M_next;
609:  return __tmp;
609:       }
609: 
609:       _Self&
609:       operator--() noexcept
609:       {
609:  _M_node = _M_node->_M_prev;
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator--(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _M_node->_M_prev;
609:  return __tmp;
609:       }
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator==(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node == __y._M_node; }
609: 
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator!=(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node != __y._M_node; }
609: 
609: 
609: 
609:       __detail::_List_node_base* _M_node;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     struct _List_const_iterator
609:     {
609:       typedef _List_const_iterator<_Tp> _Self;
609:       typedef const _List_node<_Tp> _Node;
609:       typedef _List_iterator<_Tp> iterator;
609: 
609:       typedef ptrdiff_t difference_type;
609:       typedef std::bidirectional_iterator_tag iterator_category;
609:       typedef _Tp value_type;
609:       typedef const _Tp* pointer;
609:       typedef const _Tp& reference;
609: 
609:       _List_const_iterator() noexcept
609:       : _M_node() { }
609: 
609:       explicit
609:       _List_const_iterator(const __detail::_List_node_base* __x)
609:       noexcept
609:       : _M_node(__x) { }
609: 
609:       _List_const_iterator(const iterator& __x) noexcept
609:       : _M_node(__x._M_node) { }
609: 
609:       iterator
609:       _M_const_cast() const noexcept
609:       { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); }
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       operator*() const noexcept
609:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
609: 
609:       [[__nodiscard__]]
609:       pointer
609:       operator->() const noexcept
609:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
609: 
609:       _Self&
609:       operator++() noexcept
609:       {
609:  _M_node = _M_node->_M_next;
609:  return *this;
609:       }
609: 
609:       _Self
609:       operator++(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _M_node->_M_next;
609:  return __tmp;
609:       }
609: 
609:       _Self&
609:       operator--() noexcept
609:       {
609:  _M_node = _M_node->_M_prev;
609:  return *this;
609:       }
609: 
609:       _Sic constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr long long
1417:       infinity() noexcept { return static_cast<long long>(0); }
1417: 
1417:       static constexpr long long
1417:       quiet_NaN() noexcept { return static_cast<long long>(0); }
1417: 
1417:       static constexpr long long
1417:       signaling_NaN() noexcept
1417:       { return static_cast<long long>(0); }
1417: 
1417:       static constexpr long long
1417:       denorm_min() noexcept { return static_cast<long long>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<unsigned long long>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr unsigned long long
1417:       min() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned long long
1417:       max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; }
1417: 
1417: 
1417:       static constexpr unsigned long long
1417:       lowest() noexcept { return min(); }
1417: 
1417: 
1417:       static constexpr int digits
1417:        = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
1417:       static constexpr int digits10
1417:        = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136);
1417: 
1417:       static constexpr int max_digits10 = 0;
1417: 
1417:       static constexpr bool is_signed = false;
1417:       static constexpr bool is_integer = true;
1417:       static constexpr bool is_exact = true;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr unsigned long long
1417:       epsilon() noexcept { return 0; }
1417: 
1417:       static constexpr unsigned long long
1417:       round_error() noexcept { return 0; }
1417: 
1417:       static constexpr int min_exponent = 0;
1417:       static constexpr int min_exponent10 = 0;
1417:       static constexpr int max_exponent = 0;
1417:       static constexpr int max_exponent10 = 0;
1417: 
1417:       static constexpr bool has_infinity = false;
1417:       static constexpr bool has_quiet_NaN = false;
1417:       static constexpr bool has_signaling_NaN = false;
1417:       static constexpr float_denorm_style has_denorm
1417:        = denorm_absent;
1417:       static constexpr bool has_denorm_loss = false;
1417: 
1417:       static constexpr unsigned long long
1417:       infinity() noexcept
1417:       { return static_cast<unsigned long long>(0); }
1417: 
1417:       static constexpr unsigned long long
1417:       quiet_NaN() noexcept
1417:       { return static_cast<unsigned long long>(0); }
1417: 
1417:       static constexpr unsigned long long
1417:       signaling_NaN() noexcept
1417:       { return static_cast<unsigned long long>(0); }
1417: 
1417:       static constexpr unsigned long long
1417:       denorm_min() noexcept
1417:       { return static_cast<unsigned long long>(0); }
1417: 
1417:       static constexpr bool is_iec559 = false;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = true;
1417: 
1417:       static constexpr bool traps = true;
1417:       static constexpr bool tinyness_before = false;
1417:       static constexpr float_round_style round_style
1417:        = round_toward_zero;
1417:     };
1417: # 1669 "/usr/include/c++/12/limits" 3
1417:   template<>
1417:     struct numeric_limits<float>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr float
1417:       min() noexcept { return 1.1754943508222875e-38F; }
1417: 
1417:       static constexpr float
1417:       max() noexcept { return 3.4028234663852886e+38F; }
1417: 
1417: 
1417:       static constexpr float
1417:       lowest() noexcept { return -3.4028234663852886e+38F; }
1417: 
1417: 
1417:       static constexpr int digits = 24;
1417:       static constexpr int digits10 = 6;
1417: 
1417:       static constexpr int max_digits10
1417:   = (2 + (24) * 643L / 2136);
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = false;
1417:       static constexpr bool is_exact = false;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr float
1417:       epsilon() noexcept { return 1.1920928955078125e-7F; }
1417: 
1417:       static constexpr float
1417:       round_error() noexcept { return 0.5F; }
1417: 
1417:       static constexpr int min_exponent = (-125);
1417:       static constexpr int min_exponent10 = (-37);
1417:       static constexpr int max_exponent = 128;
1417:       static constexpr int max_exponent10 = 38;
1417: 
1417:       static constexpr bool has_infinity = 1;
1417:       static constexpr bool has_quiet_NaN = 1;
1417:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1417:       static constexpr float_denorm_style has_denorm
1417:  = bool(1) ? denorm_present : denorm_absent;
1417:       static constexpr bool has_denorm_loss
1417:        = false;
1417: 
1417:       static constexpr float
1417:       infinity() noexcept { return __builtin_huge_valf(); }
1417: 
1417:       static constexpr float
1417:       quiet_NaN() noexcept { return __builtin_nanf(""); }
1417: 
1417:       static constexpr float
1417:       signaling_NaN() noexcept { return __builtin_nansf(""); }
1417: 
1417:       static constexpr float
1417:       denorm_min() noexcept { return 1.4012984643248171e-45F; }
1417: 
1417:       static constexpr bool is_iec559
1417:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = false;
1417:       static constexpr bool tinyness_before
1417:        = false;
1417:       static constexpr float_round_style round_style
1417:        = round_to_nearest;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<double>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr double
1417:       min() noexcept { return double(2.2250738585072014e-308L); }
1417: 
1417:       static constexpr double
1417:       max() noexcept { return double(1.7976931348623157e+308L); }
1417: 
1417: 
1417:       static constexpr double
1417:       lowest() noexcept { return -double(1.7976931348623157e+308L); }
1417: 
1417: 
1417:       static constexpr int digits = 53;
1417:       static constexpr int digits10 = 15;
1417: 
1417:       static constexpr int max_digits10
1417:   = (2 + (53) * 643L / 2136);
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = false;
1417:       static constexpr bool is_exact = false;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr double
1417:       epsilon() noexcept { return double(2.2204460492503131e-16L); }
1417: 
1417:       static constexpr double
1417:       round_error() noexcept { return 0.5; }
1417: 
1417:       static constexpr int min_exponent = (-1021);
1417:       static constexpr int min_exponent10 = (-307);
1417:       static constexpr int max_exponent = 1024;
1417:       static constexpr int max_exponent10 = 308;
1417: 
1417:       static constexpr bool has_infinity = 1;
1417:       static constexpr bool has_quiet_NaN = 1;
1417:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1417:       static constexpr float_denorm_style has_denorm
1417:  = bool(1) ? denorm_present : denorm_absent;
1417:       static constexpr bool has_denorm_loss
1417:         = false;
1417: 
1417:       static constexpr double
1417:       infinity() noexcept { return __builtin_huge_val();elf
609:       operator--(int) noexcept
609:       {
609:  _Self __tmp = *this;
609:  _M_node = _M_node->_M_prev;
609:  return __tmp;
609:       }
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator==(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node == __y._M_node; }
609: 
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator!=(const _Self& __x, const _Self& __y) noexcept
609:       { return __x._M_node != __y._M_node; }
609: 
609: 
609: 
609:       const __detail::_List_node_base* _M_node;
609:     };
609: 
609: namespace __cxx11 {
609: 
609:   template<typename _Tp, typename _Alloc>
609:     class _List_base
609:     {
609:     protected:
609:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
609:  rebind<_Tp>::other _Tp_alloc_type;
609:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits;
609:       typedef typename _Tp_alloc_traits::template
609:  rebind<_List_node<_Tp> >::other _Node_alloc_type;
609:       typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits;
609: 
609: 
609:       static size_t
609:       _S_distance(const __detail::_List_node_base* __first,
609:     const __detail::_List_node_base* __last)
609:       {
609:  size_t __n = 0;
609:  while (__first != __last)
609:    {
609:      __first = __first->_M_next;
609:      ++__n;
609:    }
609:  return __n;
609:       }
609: 
609: 
609:       struct _List_impl
609:       : public _Node_alloc_type
609:       {
609:  __detail::_List_node_header _M_node;
609: 
609:  _List_impl() noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value)
609: 
609:  : _Node_alloc_type()
609:  { }
609: 
609:  _List_impl(const _Node_alloc_type& __a) noexcept
609:  : _Node_alloc_type(__a)
609:  { }
609: 
609: 
609:  _List_impl(_List_impl&&) = default;
609: 
609:  _List_impl(_Node_alloc_type&& __a, _List_impl&& __x)
609:  : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node))
609:  { }
609: 
609:  _List_impl(_Node_alloc_type&& __a) noexcept
609:  : _Node_alloc_type(std::move(__a))
609:  { }
609: 
609:       };
609: 
609:       _List_impl _M_impl;
609: 
609: 
609:       size_t _M_get_size() const { return _M_impl._M_node._M_size; }
609: 
609:       void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; }
609: 
609:       void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; }
609: 
609:       void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; }
609: 
609: 
609:       size_t
609:       _M_distance(const __detail::_List_node_base* __first,
609:     const __detail::_List_node_base* __last) const
609:       { return _S_distance(__first, __last); }
609: 
609: 
609:       size_t _M_node_count() const { return _M_get_size(); }
609: # 516 "/usr/include/c++/12/bits/stl_list.h" 3
609:       typename _Node_alloc_traits::pointer
609:       _M_get_node()
609:       { return _Node_alloc_traits::allocate(_M_impl, 1); }
609: 
609:       void
609:       _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept
609:       { _Node_alloc_traits::deallocate(_M_impl, __p, 1); }
609: 
609:   public:
609:       typedef _Alloc allocator_type;
609: 
609:       _Node_alloc_type&
609:       _M_get_Node_allocator() noexcept
609:       { return _M_impl; }
609: 
609:       const _Node_alloc_type&
609:       _M_get_Node_allocator() const noexcept
609:       { return _M_impl; }
609: 
609: 
609:       _List_base() = default;
609: 
609: 
609: 
609: 
609:       _List_base(const _Node_alloc_type& __a) noexcept
609:       : _M_impl(__a)
609:       { }
609: 
609: 
609:       _List_base(_List_base&&) = default;
609: 
609: 
609:       _List_base(_List_base&& __x, _Node_alloc_type&& __a)
609:       : _M_impl(std::move(__a))
609:       {
609:  if (__x._M_get_Node_allocator() == _M_get_Node_allocator())
609:    _M_move_nodes(std::move(__x));
609: 
609:       }
609: 
609: 
609: 
609:       _List_base(_Node_alloc_type&& __a, _List_base&& __x)
609:       : _M_impl(std::move(__a), std::move(__x._M_impl))
609:       { }
609: 
609: 
609:       _List_base(_Node_alloc_type&& __a)
609:       : _M_impl(std::move(__a))
609:       { }
609: 
609:       void
609:       _M_move_nodes(_List_base&& __x)
609:       { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); }
609: 
609: 
609: 
609:       ~_List_base() noexcept
609:       { _M_clear(); }
609: 
609:       void
609:       _M_clear() noexcept;
609: 
609:       void
609:       _M_init() noexcept
609:       { this->_M_impl._M_node._M_init(); }
609:     };
609: # 631 "/usr/include/c++/12/bits/stl_list.h" 3
609:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
609:     class list : protected _List_base<_Tp, _Alloc>
609:     {
609: # 644 "/usr/include/c++/12/bits/stl_list.h" 3
609:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
609:    "std::list must have a non-const, non-volatile value_type");
609: 
609:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
609:    "std::list must have the same value_type as its allocator");
609: 
609: 
609: 
609:       typedef _List_base<_Tp, _Alloc> _Base;
609:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
609:       typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits;
609:       typedef typename _Base::_Node_alloc_type _Node_alloc_type;
609:       typedef typename _Base::_Node_alloc_traits _Node_alloc_traits;
609: 
609:     public:
609:       typedef _Tp value_type;
609:       typedef typename _Tp_alloc_traits::pointer pointer;
609:       typedef typename _Tp_alloc_traits::const_pointer const_pointer;
609:       typedef typename _Tp_alloc_traits::reference reference;
609:       typedef typename _Tp_alloc_traits::const_reference const_reference;
609:       typedef _List_iterator<_Tp> iterator;
609:       typedef _List_const_iterator<_Tp> const_iterator;
609:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
609:       typedef std::reverse_iterator<iterator> reverse_iterator;
609:       typedef size_t size_type;
609:       typedef ptrdiff_t difference_type;
609:       typedef _Alloc allocator_type;
609: 
609:     protected:
609: 
609: 
609:       typedef _List_node<_Tp> _Node;
609: 
609:       using _Base::_M_impl;
609:       using _Base::_M_put_node;
609:       using _Base::_M_get_node;
609:       using _Base::_M_get_Node_allocator;
609: # 706 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename... _Args>
609:  _Node*
609:  _M_create_node(_Args&&... __args)
609:  {
609:    auto __p = this->_M_get_node();
609:    auto& __alloc = _M_get_Node_allocator();
609:    __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p};
609:    _Node_alloc_traits::construct(__alloc, __p->_M_valptr(),
609:      std::forward<_Args>(__args)...);
609:    __guard = nullptr;
609:    return __p;
609:  }
609: 
609: 
609: 
609:       static size_t
609:       _S_distance(const_iterator __first, const_iterator __last)
609:       { return std::distance(__first, __last); }
609: 
609: 
609:       size_t
609:       _M_node_count() const
609:       { return this->_M_get_size(); }
609: # 741 "/usr/include/c++/12/bits/stl_list.h" 3
609:     public:
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       list() = default;
609: # 758 "/usr/include/c++/12/bits/stl_list.h" 3
609:       explicit
609:       list(const allocator_type& __a) noexcept
609:       : _Base(_Node_alloc_type(__a)) { }
609: # 771 "/usr/include/c++/12/bits/stl_list.h" 3
609:       explicit
609:       list(size_type __n, const allocator_type& __a = allocator_type())
609:       : _Base(_Node_alloc_type(__a))
609:       { _M_default_initialize(__n); }
609: # 784 "/usr/include/c++/12/bits/stl_list.h" 3
609:       list(size_type __n, const value_type& __value,
609:     const allocator_type& __a = allocator_type())
609:       : _Base(_Node_alloc_type(__a))
609:       { _M_fill_initialize(__n, __value); }
609: # 811 "/usr/include/c++/12/bits/stl_list.h" 3
609:       list(const list& __x)
609:       : _Base(_Node_alloc_traits::
609:        _S_select_on_copy(__x._M_get_Node_allocator()))
609:       { _M_initialize_dispatch(__x.begin(), __x. }
1417: 
1417:       static constexpr double
1417:       quiet_NaN() noexcept { return __builtin_nan(""); }
1417: 
1417:       static constexpr double
1417:       signaling_NaN() noexcept { return __builtin_nans(""); }
1417: 
1417:       static constexpr double
1417:       denorm_min() noexcept { return double(4.9406564584124654e-324L); }
1417: 
1417:       static constexpr bool is_iec559
1417:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = false;
1417:       static constexpr bool tinyness_before
1417:        = false;
1417:       static constexpr float_round_style round_style
1417:        = round_to_nearest;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct numeric_limits<long double>
1417:     {
1417:       static constexpr bool is_specialized = true;
1417: 
1417:       static constexpr long double
1417:       min() noexcept { return 2.2250738585072014e-308L; }
1417: 
1417:       static constexpr long double
1417:       max() noexcept { return 1.7976931348623157e+308L; }
1417: 
1417: 
1417:       static constexpr long double
1417:       lowest() noexcept { return -1.7976931348623157e+308L; }
1417: 
1417: 
1417:       static constexpr int digits = 53;
1417:       static constexpr int digits10 = 15;
1417: 
1417:       static constexpr int max_digits10
1417:   = (2 + (53) * 643L / 2136);
1417: 
1417:       static constexpr bool is_signed = true;
1417:       static constexpr bool is_integer = false;
1417:       static constexpr bool is_exact = false;
1417:       static constexpr int radix = 2;
1417: 
1417:       static constexpr long double
1417:       epsilon() noexcept { return 2.2204460492503131e-16L; }
1417: 
1417:       static constexpr long double
1417:       round_error() noexcept { return 0.5L; }
1417: 
1417:       static constexpr int min_exponent = (-1021);
1417:       static constexpr int min_exponent10 = (-307);
1417:       static constexpr int max_exponent = 1024;
1417:       static constexpr int max_exponent10 = 308;
1417: 
1417:       static constexpr bool has_infinity = 1;
1417:       static constexpr bool has_quiet_NaN = 1;
1417:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1417:       static constexpr float_denorm_style has_denorm
1417:  = bool(1) ? denorm_present : denorm_absent;
1417:       static constexpr bool has_denorm_loss
1417:  = false;
1417: 
1417:       static constexpr long double
1417:       infinity() noexcept { return __builtin_huge_vall(); }
1417: 
1417:       static constexpr long double
1417:       quiet_NaN() noexcept { return __builtin_nanl(""); }
1417: 
1417:       static constexpr long double
1417:       signaling_NaN() noexcept { return __builtin_nansl(""); }
1417: 
1417:       static constexpr long double
1417:       denorm_min() noexcept { return 4.9406564584124654e-324L; }
1417: 
1417:       static constexpr bool is_iec559
1417:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1417:       static constexpr bool is_bounded = true;
1417:       static constexpr bool is_modulo = false;
1417: 
1417:       static constexpr bool traps = false;
1417:       static constexpr bool tinyness_before =
1417:       false;
1417:       static constexpr float_round_style round_style =
1417:             round_to_nearest;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 47 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/tr1/gamma.tcc" 1 3
1417: # 49 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417: # 1 "/usr/include/c++/12/tr1/special_function_util.h" 1 3
1417: # 39 "/usr/include/c++/12/tr1/special_function_util.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 50 "/usr/include/c++/12/tr1/special_function_util.h" 3
1417:   namespace __detail
1417:   {
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:     struct __floating_point_constant
1417:     {
1417:       static const _Tp __value;
1417:     };
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:       struct __numeric_constants
1417:       {
1417: 
1417:         static _Tp __pi() throw()
1417:         { return static_cast<_Tp>(3.1415926535897932384626433832795029L); }
1417: 
1417:         static _Tp __pi_2() throw()
1417:         { return static_cast<_Tp>(1.5707963267948966192313216916397514L); }
1417: 
1417:         static _Tp __pi_3() throw()
1417:         { return static_cast<_Tp>(1.0471975511965977461542144610931676L); }
1417: 
1417:         static _Tp __pi_4() throw()
1417:         { return static_cast<_Tp>(0.7853981633974483096156608458198757L); }
1417: 
1417:         static _Tp __1_pi() throw()
1417:         { return static_cast<_Tp>(0.3183098861837906715377675267450287L); }
1417: 
1417:         static _Tp __2_sqrtpi() throw()
1417:         { return static_cast<_Tp>(1.1283791670955125738961589031215452L); }
1417: 
1417:         static _Tp __sqrt2() throw()
1417:         { return static_cast<_Tp>(1.4142135623730950488016887242096981L); }
1417: 
1417:         static _Tp __sqrt3() throw()
1417:         { return static_cast<_Tp>(1.7320508075688772935274463415058723L); }
1417: 
1417:         static _Tp __sqrtpio2() throw()
1417:         { return static_cast<_Tp>(1.2533141373155002512078826424055226L); }
1417: 
1417:         static _Tp __sqrt1_2() throw()
1417:         { return static_cast<_Tp>(0.7071067811865475244008443621048490L); }
1417: 
1417:         static _Tp __lnpi() throw()
1417:         { return static_cast<_Tp>(1.1447298858494001741434273513530587L); }
1417: 
1417:         static _Tp __gamma_e() throw()
1417:         { return static_cast<_Tp>(0.5772156649015328606065120900824024L); }
1417: 
1417:         static _Tp __euler() throw()
1417:         { return static_cast<_Tp>(2.7182818284590452353602874713526625L); }
1417:       };
1417: # 114 "/usr/include/c++/12/tr1/special_function_util.h" 3
1417:     template<typename _Tp>
1417:     inline bool __isnan(_Tp __x)
1417:     { return std::isnan(__x); }
1417: # 133 "/usr/include/c++/12/tr1/special_function_util.h" 3
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 50 "/usr/include/c++/12/tr1/gamma.tcc" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 65 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 76 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template <typename _Tp>
1417:     _Tp
1417:     __bernoulli_series(unsigned int __n)
1417:     {
1417: 
1417:       static const _Tp __num[28] = {
1417:         _Tp(1UL), -_Tp(1UL) / _Tp(2UL),
1417:         _Tp(1UL) / _Tp(6UL), _Tp(0UL),
1417:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1417:         _Tp(1UL) / _Tp(42UL), _Tp(0UL),
1417:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1417:         _Tp(5UL) / _Tp(66UL), _Tp(0UL),
1417:         -_Tp(691UL) / _Tp(2730UL), _Tp(0UL),
1417:         _Tp(7UL) / _Tp(6UL), _Tp(0UL),
1417:         -_Tp(3617UL) / _Tp(510UL), _Tp(0UL),
1417:         _Tp(43867UL) / _Tp(798UL), _Tp(0UL),
1417:         -_Tp(174611) / _Tp(330UL), _Tp(0UL),
1417:         _Tp(854513UL) / _Tp(138UL), _Tp(0UL),
1417:         -_Tp(236364091UL) / _Tp(2730UL), _Tp(0UL),
1417:         _Tp(8553103UL) / _Tp(6UL), _Tp(0UL)
1417:       };
1417: 
1417:       if (__n == 0)
1417:         return _Tp(1);
1417: 
1417:       if (__n == 1)
1417:         return -_Tp(1) / _Tp(2);
1417: 
1417: 
1417:       if (__n % 2 == 1)
1417:         return _Tp(0);
1417: 
1417: 
1417:       if (__n < 28)
1417:         return __num[__n];
1417: 
1417: 
1417:       _Tp __fact = _Tp(1);
1417:       if ((__n / 2) % 2 == 0)
1417:         __fact *= _Tp(-1);
1417:       for (unsigned int __k = 1; __k <= __n; ++__k)
1417:         __fact *= __k / (_Tp(2) * __numeric_constants<_Tp>::__pi());
1417:       __fact *= _Tp(2);
1417: 
1417:       _Tp __sum = _Tp(0);
1417:       for (unsigned int __i = 1; __i < 1000; ++__i)
1417:         {
1417:           _Tp __term = std::pow(_Tp(__i), -_Tp(__n));
1417:           if (__term < std::numeric_limits<_Tp>:end(), __false_type()); }
609: # 824 "/usr/include/c++/12/bits/stl_list.h" 3
609:       list(list&&) = default;
609: # 834 "/usr/include/c++/12/bits/stl_list.h" 3
609:       list(initializer_list<value_type> __l,
609:     const allocator_type& __a = allocator_type())
609:       : _Base(_Node_alloc_type(__a))
609:       { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); }
609: 
609:       list(const list& __x, const __type_identity_t<allocator_type>& __a)
609:       : _Base(_Node_alloc_type(__a))
609:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
609: 
609:     private:
609:       list(list&& __x, const allocator_type& __a, true_type) noexcept
609:       : _Base(_Node_alloc_type(__a), std::move(__x))
609:       { }
609: 
609:       list(list&& __x, const allocator_type& __a, false_type)
609:       : _Base(_Node_alloc_type(__a))
609:       {
609:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
609:    this->_M_move_nodes(std::move(__x));
609:  else
609:    insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()),
609:      std::__make_move_if_noexcept_iterator(__x.end()));
609:       }
609: 
609:     public:
609:       list(list&& __x, const __type_identity_t<allocator_type>& __a)
609:       noexcept(_Node_alloc_traits::_S_always_equal())
609:       : list(std::move(__x), __a,
609:       typename _Node_alloc_traits::is_always_equal{})
609:       { }
609: # 877 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609:  list(_InputIterator __first, _InputIterator __last,
609:       const allocator_type& __a = allocator_type())
609:  : _Base(_Node_alloc_type(__a))
609:  { _M_initialize_dispatch(__first, __last, __false_type()); }
609: # 903 "/usr/include/c++/12/bits/stl_list.h" 3
609:       ~list() = default;
609: # 914 "/usr/include/c++/12/bits/stl_list.h" 3
609:       list&
609:       operator=(const list& __x);
609: # 928 "/usr/include/c++/12/bits/stl_list.h" 3
609:       list&
609:       operator=(list&& __x)
609:       noexcept(_Node_alloc_traits::_S_nothrow_move())
609:       {
609:  constexpr bool __move_storage =
609:    _Node_alloc_traits::_S_propagate_on_move_assign()
609:    || _Node_alloc_traits::_S_always_equal();
609:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
609:  return *this;
609:       }
609: # 946 "/usr/include/c++/12/bits/stl_list.h" 3
609:       list&
609:       operator=(initializer_list<value_type> __l)
609:       {
609:  this->assign(__l.begin(), __l.end());
609:  return *this;
609:       }
609: # 964 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       assign(size_type __n, const value_type& __val)
609:       { _M_fill_assign(__n, __val); }
609: # 981 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609:  void
609:  assign(_InputIterator __first, _InputIterator __last)
609:  { _M_assign_dispatch(__first, __last, __false_type()); }
609: # 1005 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       assign(initializer_list<value_type> __l)
609:       { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); }
609: 
609: 
609: 
609:       allocator_type
609:       get_allocator() const noexcept
609:       { return allocator_type(_Base::_M_get_Node_allocator()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       begin() noexcept
609:       { return iterator(this->_M_impl._M_node._M_next); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       begin() const noexcept
609:       { return const_iterator(this->_M_impl._M_node._M_next); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       iterator
609:       end() noexcept
609:       { return iterator(&this->_M_impl._M_node); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       end() const noexcept
609:       { return const_iterator(&this->_M_impl._M_node); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rbegin() noexcept
609:       { return reverse_iterator(end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reverse_iterator
609:       rend() noexcept
609:       { return reverse_iterator(begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       rend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cbegin() const noexcept
609:       { return const_iterator(this->_M_impl._M_node._M_next); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_iterator
609:       cend() const noexcept
609:       { return const_iterator(&this->_M_impl._M_node); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crbegin() const noexcept
609:       { return const_reverse_iterator(end()); }
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reverse_iterator
609:       crend() const noexcept
609:       { return const_reverse_iterator(begin()); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]] bool
609:       empty() const noexcept
609:       { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       size() const noexcept
609:       { return _M_node_count(); }
609: 
609: 
609:       [[__nodiscard__]]
609:       size_type
609:       max_size() const noexcept
609:       { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); }
609: # 1168 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       resize(size_type __new_size);
609: # 1181 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       resize(size_type __new_size, const value_type& __x);
609: # 1203 "/usr/include/c++/12/bits/stl_list.h" 3
609:       [[__nodiscard__]]
609:       reference
609:       front() noexcept
609:       { return *begin(); }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       front() const noexcept
609:       { return *begin(); }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       reference
609:       back() noexcept
609:       {
609:  iterator __tmp = end();
609:  --__tmp;
609:  return *__tmp;
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       const_reference
609:       back() const noexcept
609:       {
609:  const_iterator __tmp = end();
609:  --__tmp;
609:  return *__tmp;
609:       }
609: # 1254 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       push_front(const value_type& __x)
609:       { this->_M_insert(begin(), __x); }
609: 
609: 
609:       void
609:       push_front(value_type&& __x)
609:       { this->_M_insert(begin(), std::move(__x)); }
609: 
609:       template<typename... _Args>
609: 
609:  reference
609: 
609: 
609: 
609:  emplace_front(_Args&&... __args)
609:  {
609:    this->_M_insert(begin(), std::forward<_Args>(__args)...);
609: 
609:    return front();
609: 
609:  }
609: # 1290 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       pop_front() noexcept
609:       { this->_M_erase(begin()); }
609: # 1304 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       push_back(const value_type& __x)
609:       { this->_M_insert(end(), __x); }
609: 
609: 
609:       void
609:       push_back(value_type&& __x)
609:       { this->_M_insert(end(), std::move(__x)); }
609: 
609:       template<typename... _Args>
609: 
609:  reference
609: 
609: 
609: 
609:  emplace_back(_Args&&... :epsilon())
1417:             break;
1417:           __sum += __term;
1417:         }
1417: 
1417:       return __fact * __sum;
1417:     }
1417: # 139 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __bernoulli(int __n)
1417:     { return __bernoulli_series<_Tp>(__n); }
1417: # 153 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __log_gamma_bernoulli(_Tp __x)
1417:     {
1417:       _Tp __lg = (__x - _Tp(0.5L)) * std::log(__x) - __x
1417:                + _Tp(0.5L) * std::log(_Tp(2)
1417:                * __numeric_constants<_Tp>::__pi());
1417: 
1417:       const _Tp __xx = __x * __x;
1417:       _Tp __help = _Tp(1) / __x;
1417:       for ( unsigned int __i = 1; __i < 20; ++__i )
1417:         {
1417:           const _Tp __2i = _Tp(2 * __i);
1417:           __help /= __2i * (__2i - _Tp(1)) * __xx;
1417:           __lg += __bernoulli<_Tp>(2 * __i) * __help;
1417:         }
1417: 
1417:       return __lg;
1417:     }
1417: # 181 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __log_gamma_lanczos(_Tp __x)
1417:     {
1417:       const _Tp __xm1 = __x - _Tp(1);
1417: 
1417:       static const _Tp __lanczos_cheb_7[9] = {
1417:        _Tp( 0.99999999999980993227684700473478L),
1417:        _Tp( 676.520368121885098567009190444019L),
1417:        _Tp(-1259.13921672240287047156078755283L),
1417:        _Tp( 771.3234287776530788486528258894L),
1417:        _Tp(-176.61502916214059906584551354L),
1417:        _Tp( 12.507343278686904814458936853L),
1417:        _Tp(-0.13857109526572011689554707L),
1417:        _Tp( 9.984369578019570859563e-6L),
1417:        _Tp( 1.50563273514931155834e-7L)
1417:       };
1417: 
1417:       static const _Tp __LOGROOT2PI
1417:           = _Tp(0.9189385332046727417803297364056176L);
1417: 
1417:       _Tp __sum = __lanczos_cheb_7[0];
1417:       for(unsigned int __k = 1; __k < 9; ++__k)
1417:         __sum += __lanczos_cheb_7[__k] / (__xm1 + __k);
1417: 
1417:       const _Tp __term1 = (__xm1 + _Tp(0.5L))
1417:                         * std::log((__xm1 + _Tp(7.5L))
1417:                        / __numeric_constants<_Tp>::__euler());
1417:       const _Tp __term2 = __LOGROOT2PI + std::log(__sum);
1417:       const _Tp __result = __term1 + (__term2 - _Tp(7));
1417: 
1417:       return __result;
1417:     }
1417: # 225 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __log_gamma(_Tp __x)
1417:     {
1417:       if (__x > _Tp(0.5L))
1417:         return __log_gamma_lanczos(__x);
1417:       else
1417:         {
1417:           const _Tp __sin_fact
1417:                  = std::abs(std::sin(__numeric_constants<_Tp>::__pi() * __x));
1417:           if (__sin_fact == _Tp(0))
1417:             std::__throw_domain_error(("Argument is nonpositive integer " "in __log_gamma")
1417:                                                            );
1417:           return __numeric_constants<_Tp>::__lnpi()
1417:                      - std::log(__sin_fact)
1417:                      - __log_gamma_lanczos(_Tp(1) - __x);
1417:         }
1417:     }
1417: # 252 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __log_gamma_sign(_Tp __x)
1417:     {
1417:       if (__x > _Tp(0))
1417:         return _Tp(1);
1417:       else
1417:         {
1417:           const _Tp __sin_fact
1417:                   = std::sin(__numeric_constants<_Tp>::__pi() * __x);
1417:           if (__sin_fact > _Tp(0))
1417:             return (1);
1417:           else if (__sin_fact < _Tp(0))
1417:             return -_Tp(1);
1417:           else
1417:             return _Tp(0);
1417:         }
1417:     }
1417: # 283 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __log_bincoef(unsigned int __n, unsigned int __k)
1417:     {
1417: 
1417:       static const _Tp __max_bincoeff
1417:                       = std::numeric_limits<_Tp>::max_exponent10
1417:                       * std::log(_Tp(10)) - _Tp(1);
1417: 
1417:       _Tp __coeff = ::std::lgamma(_Tp(1 + __n))
1417:                   - ::std::lgamma(_Tp(1 + __k))
1417:                   - ::std::lgamma(_Tp(1 + __n - __k));
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     }
1417: # 314 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __bincoef(unsigned int __n, unsigned int __k)
1417:     {
1417: 
1417:       static const _Tp __max_bincoeff
1417:                       = std::numeric_limits<_Tp>::max_exponent10
1417:                       * std::log(_Tp(10)) - _Tp(1);
1417: 
1417:       const _Tp __log_coeff = __log_bincoef<_Tp>(__n, __k);
1417:       if (__log_coeff > __max_bincoeff)
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else
1417:         return std::exp(__log_coeff);
1417:     }
1417: # 337 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __gamma(_Tp __x)
1417:     { return std::exp(__log_gamma(__x)); }
1417: # 356 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __psi_series(_Tp __x)
1417:     {
1417:       _Tp __sum = -__numeric_constants<_Tp>::__gamma_e() - _Tp(1) / __x;
1417:       const unsigned int __max_iter = 100000;
1417:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1417:         {
1417:           const _Tp __term = __x / (__k * (__k + __x));
1417:           __sum += __term;
1417:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:         }
1417:       return __sum;
1417:     }
1417: # 386 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __psi_asymp(_Tp __x)
1417:     {
1417:       _Tp __sum = std::log(__x) - _Tp(0.5L) / __x;
1417:       const _Tp __xx = __x * __x;
1417:       _Tp __xp = __xx;
1417:       const unsigned int __max_iter = 100;
1417:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1417:         {
1417:           const _Tp __term = __bernoulli<_Tp>(2 * __k) / (2 * __k * __xp);
1417:           __sum -= __term;
1417:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:           __xp *= __xx;
1417:         }
1417:       return __sum;
1417:     }
1417: # 417 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __psi(_Tp __x)
1417:     {
1417:       const int __n = static_cast<int>(__x + 0.5L);
1417:       const _Tp __eps = _Tp(4) * std::numeric_limits<_Tp>::epsilon();
1417:       if (__n <= 0 && std::abs(__x - _Tp(__n)) < __eps)
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__x < _Tp(0))
1417:         {
1417:           const _Tp __pi = __numeric_constants<_Tp>::__pi();
1417:           return __psi(_Tp(1) - __x)
1417:                - __pi * std::cos(__pi * __x) / std::sin(__pi * __x);
1417:         }
1417:       else if (__x > _Tp(100))
1417:         return __psi_asymp(__x);
1417:       else
1417:         return __psi_series(__x);
1417:     }
1417: # 446 "/usr/include/c++/12/tr1/gamma.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __psi(unsigned int __n, _Tp __x)
1417:     {
1417:       if (__x <= _Tp(0))
1417:         std::__throw_domain_error(("Argument out of range " "in __psi")
1417:                                                  );
1417:       else if (__n == 0)
1417:         return __psi(__x);
1417:       else
1417:         {
1417:           const _Tp __hzeta = __hurwitz_zeta(_Tp(__n + 1), __x);
1417: 
1417:           const _Tp __ln_nfact = ::std::lgamma(_Tp(__n + 1));
1417: 
1417: 
1417: 
1417:           _Tp __result = std::exp(__ln_nfact) * __hzeta;
1417:           if (__n % 2 == 1)
1417:             __result = -__result;
1417:           return __result;
1417:         }
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 50 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/bessel_function.tcc" 1 3
1417: # 55 "/__args)
609:  {
609:    this->_M_insert(end(), std::forward<_Args>(__args)...);
609: 
609:  return back();
609: 
609:  }
609: # 1339 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       pop_back() noexcept
609:       { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
609: # 1356 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename... _Args>
609:  iterator
609:  emplace(const_iterator __position, _Args&&... __args);
609: # 1371 "/usr/include/c++/12/bits/stl_list.h" 3
609:       iterator
609:       insert(const_iterator __position, const value_type& __x);
609: # 1401 "/usr/include/c++/12/bits/stl_list.h" 3
609:       iterator
609:       insert(const_iterator __position, value_type&& __x)
609:       { return emplace(__position, std::move(__x)); }
609: # 1420 "/usr/include/c++/12/bits/stl_list.h" 3
609:       iterator
609:       insert(const_iterator __p, initializer_list<value_type> __l)
609:       { return this->insert(__p, __l.begin(), __l.end()); }
609: # 1440 "/usr/include/c++/12/bits/stl_list.h" 3
609:       iterator
609:       insert(const_iterator __position, size_type __n, const value_type& __x);
609: # 1479 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename _InputIterator,
609:         typename = std::_RequireInputIter<_InputIterator>>
609:  iterator
609:  insert(const_iterator __position, _InputIterator __first,
609:         _InputIterator __last);
609: # 1523 "/usr/include/c++/12/bits/stl_list.h" 3
609:       iterator
609: 
609:       erase(const_iterator __position) noexcept;
609: # 1548 "/usr/include/c++/12/bits/stl_list.h" 3
609:       iterator
609: 
609:       erase(const_iterator __first, const_iterator __last) noexcept
609: 
609: 
609: 
609:       {
609:  while (__first != __last)
609:    __first = erase(__first);
609:  return __last._M_const_cast();
609:       }
609: # 1571 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       swap(list& __x) noexcept
609:       {
609:  __detail::_List_node_base::swap(this->_M_impl._M_node,
609:      __x._M_impl._M_node);
609: 
609:  size_t __xsize = __x._M_get_size();
609:  __x._M_set_size(this->_M_get_size());
609:  this->_M_set_size(__xsize);
609: 
609:  _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(),
609:            __x._M_get_Node_allocator());
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       clear() noexcept
609:       {
609:  _Base::_M_clear();
609:  _Base::_M_init();
609:       }
609: # 1610 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609: 
609:       splice(const_iterator __position, list&& __x) noexcept
609: 
609: 
609: 
609:       {
609:  if (!__x.empty())
609:    {
609:      _M_check_equal_allocators(__x);
609: 
609:      this->_M_transfer(__position._M_const_cast(),
609:          __x.begin(), __x.end());
609: 
609:      this->_M_inc_size(__x._M_get_size());
609:      __x._M_set_size(0);
609:    }
609:       }
609: 
609: 
609:       void
609:       splice(const_iterator __position, list& __x) noexcept
609:       { splice(__position, std::move(__x)); }
609: # 1646 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       splice(const_iterator __position, list&& __x, const_iterator __i) noexcept
609: # 1661 "/usr/include/c++/12/bits/stl_list.h" 3
609:       {
609:  iterator __j = __i._M_const_cast();
609:  ++__j;
609:  if (__position == __i || __position == __j)
609:    return;
609: 
609:  if (this != std::__addressof(__x))
609:    _M_check_equal_allocators(__x);
609: 
609:  this->_M_transfer(__position._M_const_cast(),
609:      __i._M_const_cast(), __j);
609: 
609:  this->_M_inc_size(1);
609:  __x._M_dec_size(1);
609:       }
609: # 1688 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       splice(const_iterator __position, list& __x, const_iterator __i) noexcept
609:       { splice(__position, std::move(__x), __i); }
609: # 1707 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       splice(const_iterator __position, list&& __x, const_iterator __first,
609:       const_iterator __last) noexcept
609: # 1727 "/usr/include/c++/12/bits/stl_list.h" 3
609:       {
609:  if (__first != __last)
609:    {
609:      if (this != std::__addressof(__x))
609:        _M_check_equal_allocators(__x);
609: 
609:      size_t __n = _S_distance(__first, __last);
609:      this->_M_inc_size(__n);
609:      __x._M_dec_size(__n);
609: 
609:      this->_M_transfer(__position._M_const_cast(),
609:          __first._M_const_cast(),
609:          __last._M_const_cast());
609:    }
609:       }
609: # 1757 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       splice(const_iterator __position, list& __x, const_iterator __first,
609:       const_iterator __last) noexcept
609:       { splice(__position, std::move(__x), __first, __last); }
609: 
609: 
609:     private:
609: 
609: 
609: 
609: 
609: 
609: 
609:       typedef void __remove_return_type;
609: 
609: 
609:     public:
609: # 1786 "/usr/include/c++/12/bits/stl_list.h" 3
609:      
609:       __remove_return_type
609:       remove(const _Tp& __value);
609: # 1801 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename _Predicate>
609:  __remove_return_type
609:  remove_if(_Predicate);
609: # 1815 "/usr/include/c++/12/bits/stl_list.h" 3
609:      
609:       __remove_return_type
609:       unique();
609: # 1831 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename _BinaryPredicate>
609:  __remove_return_type
609:  unique(_BinaryPredicate);
609: # 1847 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       merge(list&& __x);
609: 
609:       void
609:       merge(list& __x)
609:       { merge(std::move(__x)); }
609: # 1872 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename _StrictWeakOrdering>
609:  void
609:  merge(list&& __x, _StrictWeakOrdering __comp);
609: 
609:       template<typename _StrictWeakOrdering>
609:  void
609:  merge(list& __x, _StrictWeakOrdering __comp)
609:  { merge(std::move(__x), __comp); }
609: # 1891 "/usr/include/c++/12/bits/stl_list.h" 3
609:       void
609:       reverse() noexcept
609:       { this->_M_impl._M_node._M_reverse(); }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       void
609:       sort();
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _StrictWeakOrdering>
609:  void
609:  sort(_StrictWeakOrdering);
609: 
609:     protected:
609: 
609: 
609: 
609: 
609: 
609: 
609:       template<typename _Integer>
609:  void
609:  _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
609:  { _M_fill_initialize(static_cast<size_type>(__n), __x); }
609: 
609: 
609:       template<typename _InputIterator>
609:  void
609:  _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
609:           __false_type)
609:  {
609:    for (; __first != __last; ++__first)
609: 
609:      emplace_back(*__first);
609: 
609: 
609: 
609:  }
609: 
609: 
609: 
609:       void
609:       _M_fill_initialize(size_type __n, const value_type& __x)
609:       {
609:  for (; __n; --__n)
609:    push_back(__x);
609:       }
609: 
609: 
609: 
609:       void
609:       _M_default_initialize(size_type __n)
609:       {
609:  for (; __n; --__n)
609:    emplace_back();
609:       }
609: 
609: 
609:       void
609:       _M_default_append(size_type __n);
609: # 1969 "/usr/include/c++/12/bits/stl_list.h" 3
609:       template<typename _Integer>
609:  void
609:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
609:  { _M_fill_assign(__n, __val); }
609: 
609: 
609:       template<typename _InputIterator>
609:  void
609:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
609:       __false_type);
609: 
609: 
609: 
609:       void
609:       _M_fill_assign(size_type __n, const value_type& __val);
609: 
609: 
609: 
609:       void
609:       _M_transfer(iterator __position, iterator __first, iterator __last)
609:       { __position._M_node->_M_transfer(__first._M_node, __last._M_node); }
609: # 2001 "/usr/include/c++/12/bits/stl_list.h" 3
609:      template<typename... _Args>
609:        void
609:        _M_insert(iterator __position, _Args&&... __args)
609:   usr/include/c++/12/tr1/bessel_function.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 71 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 98 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template <typename _Tp>
1417:     void
1417:     __gamma_temme(_Tp __mu,
1417:                   _Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi)
1417:     {
1417: 
1417:       __gampl = _Tp(1) / ::std::tgamma(_Tp(1) + __mu);
1417:       __gammi = _Tp(1) / ::std::tgamma(_Tp(1) - __mu);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       if (std::abs(__mu) < std::numeric_limits<_Tp>::epsilon())
1417:         __gam1 = -_Tp(__numeric_constants<_Tp>::__gamma_e());
1417:       else
1417:         __gam1 = (__gammi - __gampl) / (_Tp(2) * __mu);
1417: 
1417:       __gam2 = (__gammi + __gampl) / (_Tp(2));
1417: 
1417:       return;
1417:     }
1417: # 136 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template <typename _Tp>
1417:     void
1417:     __bessel_jn(_Tp __nu, _Tp __x,
1417:                 _Tp & __Jnu, _Tp & __Nnu, _Tp & __Jpnu, _Tp & __Npnu)
1417:     {
1417:       if (__x == _Tp(0))
1417:         {
1417:           if (__nu == _Tp(0))
1417:             {
1417:               __Jnu = _Tp(1);
1417:               __Jpnu = _Tp(0);
1417:             }
1417:           else if (__nu == _Tp(1))
1417:             {
1417:               __Jnu = _Tp(0);
1417:               __Jpnu = _Tp(0.5L);
1417:             }
1417:           else
1417:             {
1417:               __Jnu = _Tp(0);
1417:               __Jpnu = _Tp(0);
1417:             }
1417:           __Nnu = -std::numeric_limits<_Tp>::infinity();
1417:           __Npnu = std::numeric_limits<_Tp>::infinity();
1417:           return;
1417:         }
1417: 
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417: 
1417: 
1417: 
1417: 
1417:       const _Tp __fp_min = std::sqrt(std::numeric_limits<_Tp>::min());
1417:       const int __max_iter = 15000;
1417:       const _Tp __x_min = _Tp(2);
1417: 
1417:       const int __nl = (__x < __x_min
1417:                     ? static_cast<int>(__nu + _Tp(0.5L))
1417:                     : std::max(0, static_cast<int>(__nu - __x + _Tp(1.5L))));
1417: 
1417:       const _Tp __mu = __nu - __nl;
1417:       const _Tp __mu2 = __mu * __mu;
1417:       const _Tp __xi = _Tp(1) / __x;
1417:       const _Tp __xi2 = _Tp(2) * __xi;
1417:       _Tp __w = __xi2 / __numeric_constants<_Tp>::__pi();
1417:       int __isign = 1;
1417:       _Tp __h = __nu * __xi;
1417:       if (__h < __fp_min)
1417:         __h = __fp_min;
1417:       _Tp __b = __xi2 * __nu;
1417:       _Tp __d = _Tp(0);
1417:       _Tp __c = __h;
1417:       int __i;
1417:       for (__i = 1; __i <= __max_iter; ++__i)
1417:         {
1417:           __b += __xi2;
1417:           __d = __b - __d;
1417:           if (std::abs(__d) < __fp_min)
1417:             __d = __fp_min;
1417:           __c = __b - _Tp(1) / __c;
1417:           if (std::abs(__c) < __fp_min)
1417:             __c = __fp_min;
1417:           __d = _Tp(1) / __d;
1417:           const _Tp __del = __c * __d;
1417:           __h *= __del;
1417:           if (__d < _Tp(0))
1417:             __isign = -__isign;
1417:           if (std::abs(__del - _Tp(1)) < __eps)
1417:             break;
1417:         }
1417:       if (__i > __max_iter)
1417:         std::__throw_runtime_error(("Argument x too large in __bessel_jn; " "try asymptotic expansion.")
1417:                                                                    );
1417:       _Tp __Jnul = __isign * __fp_min;
1417:       _Tp __Jpnul = __h * __Jnul;
1417:       _Tp __Jnul1 = __Jnul;
1417:       _Tp __Jpnu1 = __Jpnul;
1417:       _Tp __fact = __nu * __xi;
1417:       for ( int __l = __nl; __l >= 1; --__l )
1417:         {
1417:           const _Tp __Jnutemp = __fact * __Jnul + __Jpnul;
1417:           __fact -= __xi;
1417:           __Jpnul = __fact * __Jnutemp - __Jnul;
1417:           __Jnul = __Jnutemp;
1417:         }
1417:       if (__Jnul == _Tp(0))
1417:         __Jnul = __eps;
1417:       _Tp __f= __Jpnul / __Jnul;
1417:       _Tp __Nmu, __Nnu1, __Npmu, __Jmu;
1417:       if (__x < __x_min)
1417:         {
1417:           const _Tp __x2 = __x / _Tp(2);
1417:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1417:           _Tp __fact = (std::abs(__pimu) < __eps
1417:                       ? _Tp(1) : __pimu / std::sin(__pimu));
1417:           _Tp __d = -std::log(__x2);
1417:           _Tp __e = __mu * __d;
1417:           _Tp __fact2 = (std::abs(__e) < __eps
1417:                        ? _Tp(1) : std::sinh(__e) / __e);
1417:           _Tp __gam1, __gam2, __gampl, __gammi;
1417:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1417:           _Tp __ff = (_Tp(2) / __numeric_constants<_Tp>::__pi())
1417:                    * __fact * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1417:           __e = std::exp(__e);
1417:           _Tp __p = __e / (__numeric_constants<_Tp>::__pi() * __gampl);
1417:           _Tp __q = _Tp(1) / (__e * __numeric_constants<_Tp>::__pi() * __gammi);
1417:           const _Tp __pimu2 = __pimu / _Tp(2);
1417:           _Tp __fact3 = (std::abs(__pimu2) < __eps
1417:                        ? _Tp(1) : std::sin(__pimu2) / __pimu2 );
1417:           _Tp __r = __numeric_constants<_Tp>::__pi() * __pimu2 * __fact3 * __fact3;
1417:           _Tp __c = _Tp(1);
1417:           __d = -__x2 * __x2;
1417:           _Tp __sum = __ff + __r * __q;
1417:           _Tp __sum1 = __p;
1417:           for (__i = 1; __i <= __max_iter; ++__i)
1417:             {
1417:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
1417:               __c *= __d / _Tp(__i);
1417:               __p /= _Tp(__i) - __mu;
1417:               __q /= _Tp(__i) + __mu;
1417:               const _Tp __del = __c * (__ff + __r * __q);
1417:               __sum += __del;
1417:               const _Tp __del1 = __c * __p - __i * __del;
1417:               __sum1 += __del1;
1417:               if ( std::abs(__del) < __eps * (_Tp(1) + std::abs(__sum)) )
1417:                 break;
1417:             }
1417:           if ( __i > __max_iter )
1417:             std::__throw_runtime_error(("Bessel y series failed to converge " "in __bessel_jn.")
1417:                                                              );
1417:           __Nmu = -__sum;
1417:           __Nnu1 = -__sum1 * __xi2;
1417:           __Npmu = __mu * __xi * __Nmu - __Nnu1;
1417:           __Jmu = __w / (__Npmu - __f * __Nmu);
1417:         }
1417:       else
1417:         {
1417:           _Tp __a = _Tp(0.25L) - __mu2;
1417:           _Tp __q = _Tp(1);
1417:           _Tp __p = -__xi / _Tp(2);
1417:           _Tp __br = _Tp(2) * __x;
1417:           _Tp __bi = _Tp(2);
1417:           _Tp __fact = __a * __xi / (__p * __p + __q * __q);
1417:           _Tp __cr = __br + __q * __fact;
1417:           _Tp __ci = __bi + __p * __fact;
1417:           _Tp __den = __br * __br + __bi * __bi;
1417:           _Tp __dr = __br / __den;
1417:           _Tp __di = -__bi / __den;
1417:           _Tp __dlr = __cr * __dr - __ci * __di;
1417:           _Tp __dli = __cr * __di + __ci * __dr;
1417:           _Tp __temp = __p * __dlr - __q * __dli;
1417:           __q = __p * __dli + __q * __dlr;
1417:           __p = __temp;
1417:           int __i;
1417:           for (__i = 2; __i <= __max_iter; ++__i)
1417:             {
1417:               __a += _Tp(2 * (__i - 1));
1417:               __bi += _Tp(2);
1417:               __dr = __a * __dr + __br;
1417:               __di = __a * __di + __bi;
1417:               if (std::abs(__dr) + std::abs(__di) < __fp_min)
1417:                 __dr = __fp_min;
1417:               __fact = __a / (__cr * __cr + __ci * __ci);
1417:               __cr = __br + __cr * __fact;
1417:               __ci = __bi - __ci * __fact;
1417:               if (std::abs(__cr) + std::abs(__ci) < __fp_min)
1417:                 __cr = __fp_min;
1417:               __den = __dr * __dr + __di * __di;
1417:               __dr /= __den;
1417:               __di /= -__den;     {
609:   _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
609:   __tmp->_M_hook(__position._M_node);
609:   this->_M_inc_size(1);
609:        }
609: 
609: 
609: 
609:       void
609:       _M_erase(iterator __position) noexcept
609:       {
609:  this->_M_dec_size(1);
609:  __position._M_node->_M_unhook();
609:  _Node* __n = static_cast<_Node*>(__position._M_node);
609: 
609:  _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr());
609: 
609: 
609: 
609: 
609:  _M_put_node(__n);
609:       }
609: 
609: 
609:       void
609:       _M_check_equal_allocators(list& __x) noexcept
609:       {
609:  if (std::__alloc_neq<typename _Base::_Node_alloc_type>::
609:      _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()))
609:    __builtin_abort();
609:       }
609: 
609: 
609:       const_iterator
609:       _M_resize_pos(size_type& __new_size) const;
609: 
609: 
609:       void
609:       _M_move_assign(list&& __x, true_type) noexcept
609:       {
609:  this->clear();
609:  this->_M_move_nodes(std::move(__x));
609:  std::__alloc_on_move(this->_M_get_Node_allocator(),
609:         __x._M_get_Node_allocator());
609:       }
609: 
609:       void
609:       _M_move_assign(list&& __x, false_type)
609:       {
609:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
609:    _M_move_assign(std::move(__x), true_type{});
609:  else
609: 
609: 
609:    _M_assign_dispatch(std::make_move_iterator(__x.begin()),
609:         std::make_move_iterator(__x.end()),
609:         __false_type{});
609:       }
609: 
609: 
609: 
609: 
609:       struct _Finalize_merge
609:       {
609:  explicit
609:  _Finalize_merge(list& __dest, list& __src, const iterator& __src_next)
609:  : _M_dest(__dest), _M_src(__src), _M_next(__src_next)
609:  { }
609: 
609:  ~_Finalize_merge()
609:  {
609: 
609: 
609: 
609:    const size_t __num_unmerged = std::distance(_M_next, _M_src.end());
609:    const size_t __orig_size = _M_src._M_get_size();
609:    _M_dest._M_inc_size(__orig_size - __num_unmerged);
609:    _M_src._M_set_size(__num_unmerged);
609:  }
609: 
609:  list& _M_dest;
609:  list& _M_src;
609:  const iterator& _M_next;
609: 
609: 
609:  _Finalize_merge(const _Finalize_merge&) = delete;
609: 
609:       };
609: 
609: 
609: 
609: 
609: 
609:     };
609: 
609: 
609:   template<typename _InputIterator, typename _ValT
609:       = typename iterator_traits<_InputIterator>::value_type,
609:     typename _Allocator = allocator<_ValT>,
609:     typename = _RequireInputIter<_InputIterator>,
609:     typename = _RequireAllocator<_Allocator>>
609:     list(_InputIterator, _InputIterator, _Allocator = _Allocator())
609:       -> list<_ValT, _Allocator>;
609: 
609: 
609: }
609: # 2121 "/usr/include/c++/12/bits/stl_list.h" 3
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
609:     {
609: 
609:       if (__x.size() != __y.size())
609:  return false;
609: 
609: 
609:       typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
609:       const_iterator __end1 = __x.end();
609:       const_iterator __end2 = __y.end();
609: 
609:       const_iterator __i1 = __x.begin();
609:       const_iterator __i2 = __y.begin();
609:       while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
609:  {
609:    ++__i1;
609:    ++__i2;
609:  }
609:       return __i1 == __end1 && __i2 == __end2;
609:     }
609: # 2178 "/usr/include/c++/12/bits/stl_list.h" 3
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
609:     { return std::lexicographical_compare(__x.begin(), __x.end(),
609:        __y.begin(), __y.end()); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
609:     { return !(__x == __y); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
609:     { return __y < __x; }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
609:     { return !(__y < __x); }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
609:     { return !(__x < __y); }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     inline void
609:     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
609:     noexcept(noexcept(__x.swap(__y)))
609:     { __x.swap(__y); }
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp>
609:     inline ptrdiff_t
609:     __distance(std::_List_iterator<_Tp> __first,
609:         std::_List_iterator<_Tp> __last,
609:         input_iterator_tag __tag)
609:     {
609:       typedef std::_List_const_iterator<_Tp> _CIter;
609:       return std::__distance(_CIter(__first), _CIter(__last), __tag);
609:     }
609: 
609:   template<typename _Tp>
609:     inline ptrdiff_t
609:     __distance(std::_List_const_iterator<_Tp> __first,
609:         std::_List_const_iterator<_Tp> __last,
609:         input_iterator_tag)
609:     {
609:       typedef __detail::_List_node_header _Sentinel;
609:       std::_List_const_iterator<_Tp> __beyond = __last;
609:       ++__beyond;
609:       const bool __whole = __first == __beyond;
609:       if (__builtin_constant_p (__whole) && __whole)
609:  return static_cast<const _Sentinel*>(__last._M_node)->_M_size;
609: 
609:       ptrdiff_t __n = 0;
609:       while (__first != __last)
609:  {
609:    ++__first;
609:    ++__n;
609:  }
609:       return __n;
609:     }
609: 
609: 
609: 
609: }
609: # 64 "/usr/include/c++/12/list" 2 3
609: # 1 "/usr/include/c++/12/bits/list.tcc" 1 3
609: # 59 "/usr/include/c++/12/bits/list.tcc" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     _List_base<_Tp, _Alloc>::
609:     _M_clear() noexcept
609:     {
609:       typedef _List_node<_Tp> _Node;
609:       __detail::_List_node_base* __cur = _M_impl._M_node._M_next;
609:       while (__cur != &_M_impl._M_node)
609:  {
609:    _Node* __tmp = static_cast<_Node*>(__cur);
609:    __cur = __tmp->_M_next;
609:    _Tp* __val = __tmp->_M_valptr();
609: 
609:    _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val);
609: 
609: 
609: 
609:    _M_put_node(__tmp);
609:  }
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template<typename... _Args>
609:       typename list<_Tp, _Alloc>::iterator
609:       list<_Tp, _Alloc>::
609:       emplace(const_iterator __position, _Args&&... __args)
609:       {
609:  _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
609:  __tmp->_M_hook(__position._M_const_cast()._M_node);
609:  this->_M_inc_size(1);
609:  return iterator(__tmp);
609:       }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     typename list<_Tp, _Alloc>::iterator
609:     list<_Tp, _Alloc>::
609: 
609:     insert(const_iterator __position, const value_type& __x)
609: 
609: 
609: 
609:     {
609:       _Node* __tmp = _M_create_node(__x);
609:       __tmp->_M_hook(__position._M_const_cast()._M_node);
609:       this->_M_inc_size(1);
609:       return iterator(__tmp);
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     typename list<_Tp, _Alloc>::iterator
609:     list<_Tp, _Alloc>::
609:     insert(const_iterator __position, size_type __n, const value_type& __x)
609:     {
609:       if (__n)
609:  {
609:    list __tmp(__n, __x, get_allocator());
609:    iterator __it = __tmp.begin();
609:    splice(__position, __tmp);
609:    return __it;
609:  }
609:       return __position._M_const_cast();
609:     }
609: 
609:   template<t
1417:               __dlr = __cr * __dr - __ci * __di;
1417:               __dli = __cr * __di + __ci * __dr;
1417:               __temp = __p * __dlr - __q * __dli;
1417:               __q = __p * __dli + __q * __dlr;
1417:               __p = __temp;
1417:               if (std::abs(__dlr - _Tp(1)) + std::abs(__dli) < __eps)
1417:                 break;
1417:           }
1417:           if (__i > __max_iter)
1417:             std::__throw_runtime_error(("Lentz's method failed " "in __bessel_jn.")
1417:                                                              );
1417:           const _Tp __gam = (__p - __f) / __q;
1417:           __Jmu = std::sqrt(__w / ((__p - __f) * __gam + __q));
1417: 
1417:           __Jmu = ::std::copysign(__Jmu, __Jnul);
1417: 
1417: 
1417: 
1417: 
1417:           __Nmu = __gam * __Jmu;
1417:           __Npmu = (__p + __q / __gam) * __Nmu;
1417:           __Nnu1 = __mu * __xi * __Nmu - __Npmu;
1417:       }
1417:       __fact = __Jmu / __Jnul;
1417:       __Jnu = __fact * __Jnul1;
1417:       __Jpnu = __fact * __Jpnu1;
1417:       for (__i = 1; __i <= __nl; ++__i)
1417:         {
1417:           const _Tp __Nnutemp = (__mu + __i) * __xi2 * __Nnu1 - __Nmu;
1417:           __Nmu = __Nnu1;
1417:           __Nnu1 = __Nnutemp;
1417:         }
1417:       __Nnu = __Nmu;
1417:       __Npnu = __nu * __xi * __Nmu - __Nnu1;
1417: 
1417:       return;
1417:     }
1417: # 361 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template <typename _Tp>
1417:     void
1417:     __cyl_bessel_jn_asymp(_Tp __nu, _Tp __x, _Tp & __Jnu, _Tp & __Nnu)
1417:     {
1417:       const _Tp __mu = _Tp(4) * __nu * __nu;
1417:       const _Tp __8x = _Tp(8) * __x;
1417: 
1417:       _Tp __P = _Tp(0);
1417:       _Tp __Q = _Tp(0);
1417: 
1417:       _Tp __k = _Tp(0);
1417:       _Tp __term = _Tp(1);
1417: 
1417:       int __epsP = 0;
1417:       int __epsQ = 0;
1417: 
1417:       _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417: 
1417:       do
1417:         {
1417:           __term *= (__k == 0
1417:                      ? _Tp(1)
1417:                      : -(__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x));
1417: 
1417:           __epsP = std::abs(__term) < __eps * std::abs(__P);
1417:           __P += __term;
1417: 
1417:           __k++;
1417: 
1417:           __term *= (__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x);
1417:           __epsQ = std::abs(__term) < __eps * std::abs(__Q);
1417:           __Q += __term;
1417: 
1417:           if (__epsP && __epsQ && __k > (__nu / 2.))
1417:             break;
1417: 
1417:           __k++;
1417:         }
1417:       while (__k < 1000);
1417: 
1417:       const _Tp __chi = __x - (__nu + _Tp(0.5L))
1417:                              * __numeric_constants<_Tp>::__pi_2();
1417: 
1417:       const _Tp __c = std::cos(__chi);
1417:       const _Tp __s = std::sin(__chi);
1417: 
1417:       const _Tp __coef = std::sqrt(_Tp(2)
1417:                              / (__numeric_constants<_Tp>::__pi() * __x));
1417: 
1417:       __Jnu = __coef * (__c * __P - __s * __Q);
1417:       __Nnu = __coef * (__s * __P + __c * __Q);
1417: 
1417:       return;
1417:     }
1417: # 444 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template <typename _Tp>
1417:     _Tp
1417:     __cyl_bessel_ij_series(_Tp __nu, _Tp __x, _Tp __sgn,
1417:                            unsigned int __max_iter)
1417:     {
1417:       if (__x == _Tp(0))
1417:  return __nu == _Tp(0) ? _Tp(1) : _Tp(0);
1417: 
1417:       const _Tp __x2 = __x / _Tp(2);
1417:       _Tp __fact = __nu * std::log(__x2);
1417: 
1417:       __fact -= ::std::lgamma(__nu + _Tp(1));
1417: 
1417: 
1417: 
1417:       __fact = std::exp(__fact);
1417:       const _Tp __xx4 = __sgn * __x2 * __x2;
1417:       _Tp __Jn = _Tp(1);
1417:       _Tp __term = _Tp(1);
1417: 
1417:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1417:         {
1417:           __term *= __xx4 / (_Tp(__i) * (__nu + _Tp(__i)));
1417:           __Jn += __term;
1417:           if (std::abs(__term / __Jn) < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:         }
1417: 
1417:       return __fact * __Jn;
1417:     }
1417: # 490 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __cyl_bessel_j(_Tp __nu, _Tp __x)
1417:     {
1417:       if (__nu < _Tp(0) || __x < _Tp(0))
1417:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_j.")
1417:                                                            );
1417:       else if (__isnan(__nu) || __isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1417:         return __cyl_bessel_ij_series(__nu, __x, -_Tp(1), 200);
1417:       else if (__x > _Tp(1000))
1417:         {
1417:           _Tp __J_nu, __N_nu;
1417:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1417:           return __J_nu;
1417:         }
1417:       else
1417:         {
1417:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1417:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1417:           return __J_nu;
1417:         }
1417:     }
1417: # 532 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __cyl_neumann_n(_Tp __nu, _Tp __x)
1417:     {
1417:       if (__nu < _Tp(0) || __x < _Tp(0))
1417:         std::__throw_domain_error(("Bad argument " "in __cyl_neumann_n.")
1417:                                                             );
1417:       else if (__isnan(__nu) || __isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__x > _Tp(1000))
1417:         {
1417:           _Tp __J_nu, __N_nu;
1417:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1417:           return __N_nu;
1417:         }
1417:       else
1417:         {
1417:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1417:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1417:           return __N_nu;
1417:         }
1417:     }
1417: # 569 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template <typename _Tp>
1417:     void
1417:     __sph_bessel_jn(unsigned int __n, _Tp __x,
1417:                     _Tp & __j_n, _Tp & __n_n, _Tp & __jp_n, _Tp & __np_n)
1417:     {
1417:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1417: 
1417:       _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1417:       __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1417: 
1417:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1417:                          / std::sqrt(__x);
1417: 
1417:       __j_n = __factor * __J_nu;
1417:       __n_n = __factor * __N_nu;
1417:       __jp_n = __factor * __Jp_nu - __j_n / (_Tp(2) * __x);
1417:       __np_n = __factor * __Np_nu - __n_n / (_Tp(2) * __x);
1417: 
1417:       return;
1417:     }
1417: # 604 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template <typename _Tp>
1417:     _Tp
1417:     __sph_bessel(unsigned int __n, _Tp __x)
1417:     {
1417:       if (__x < _Tp(0))
1417:         std::__throw_domain_error(("Bad argument " "in __sph_bessel.")
1417:                                                          );
1417:       else if (__isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__x == _Tp(0))
1417:         {
1417:           if (__n == 0)
1417:             return _Tp(1);
1417:           else
1417:             return _Tp(0);
1417:         }
1417:       else
1417:         {
1417:           _Tp __j_n, __n_n, __jp_n, __np_n;
1417:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1417:           return __j_n;
1417:         }
1417:     }
1417: # 642 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1417:     template <typename _Tp>
1417:     _Tp
1417:     __sph_neumann(unsigned int __n, _Tp __x)
1417:     {
1417:       if (__x < _Tp(0))
1417:         std::__throw_domain_error(("Bad argument " "in __sph_neumann.")
1417:                                                           );
1417:       else if (__isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_Naypename _Tp, typename _Alloc>
609:     template<typename _InputIterator, typename>
609:       typename list<_Tp, _Alloc>::iterator
609:       list<_Tp, _Alloc>::
609:       insert(const_iterator __position, _InputIterator __first,
609:       _InputIterator __last)
609:       {
609:  list __tmp(__first, __last, get_allocator());
609:  if (!__tmp.empty())
609:    {
609:      iterator __it = __tmp.begin();
609:      splice(__position, __tmp);
609:      return __it;
609:    }
609:  return __position._M_const_cast();
609:       }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     typename list<_Tp, _Alloc>::iterator
609:     list<_Tp, _Alloc>::
609: 
609:     erase(const_iterator __position) noexcept
609: 
609: 
609: 
609:     {
609:       iterator __ret = iterator(__position._M_node->_M_next);
609:       _M_erase(__position._M_const_cast());
609:       return __ret;
609:     }
609: # 173 "/usr/include/c++/12/bits/list.tcc" 3
609:   template<typename _Tp, typename _Alloc>
609:     typename list<_Tp, _Alloc>::const_iterator
609:     list<_Tp, _Alloc>::
609:     _M_resize_pos(size_type& __new_size) const
609:     {
609:       const_iterator __i;
609: 
609:       const size_type __len = size();
609:       if (__new_size < __len)
609:  {
609:    if (__new_size <= __len / 2)
609:      {
609:        __i = begin();
609:        std::advance(__i, __new_size);
609:      }
609:    else
609:      {
609:        __i = end();
609:        ptrdiff_t __num_erase = __len - __new_size;
609:        std::advance(__i, -__num_erase);
609:      }
609:    __new_size = 0;
609:    return __i;
609:  }
609:       else
609:  __i = end();
609: 
609: 
609: 
609: 
609: 
609:       __new_size -= __len;
609:       return __i;
609:     }
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     list<_Tp, _Alloc>::
609:     _M_default_append(size_type __n)
609:     {
609:       size_type __i = 0;
609:       try
609:  {
609:    for (; __i < __n; ++__i)
609:      emplace_back();
609:  }
609:       catch(...)
609:  {
609:    for (; __i; --__i)
609:      pop_back();
609:    throw;
609:  }
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     list<_Tp, _Alloc>::
609:     resize(size_type __new_size)
609:     {
609:       const_iterator __i = _M_resize_pos(__new_size);
609:       if (__new_size)
609:  _M_default_append(__new_size);
609:       else
609:         erase(__i, end());
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     list<_Tp, _Alloc>::
609:     resize(size_type __new_size, const value_type& __x)
609:     {
609:       const_iterator __i = _M_resize_pos(__new_size);
609:       if (__new_size)
609:         insert(end(), __new_size, __x);
609:       else
609:         erase(__i, end());
609:     }
609: # 265 "/usr/include/c++/12/bits/list.tcc" 3
609:   template<typename _Tp, typename _Alloc>
609:     list<_Tp, _Alloc>&
609:     list<_Tp, _Alloc>::
609:     operator=(const list& __x)
609:     {
609:       if (this != std::__addressof(__x))
609:  {
609: 
609:    if (_Node_alloc_traits::_S_propagate_on_copy_assign())
609:      {
609:               auto& __this_alloc = this->_M_get_Node_allocator();
609:               auto& __that_alloc = __x._M_get_Node_allocator();
609:               if (!_Node_alloc_traits::_S_always_equal()
609:            && __this_alloc != __that_alloc)
609:          {
609: 
609:     clear();
609:   }
609:        std::__alloc_on_copy(__this_alloc, __that_alloc);
609:             }
609: 
609:    _M_assign_dispatch(__x.begin(), __x.end(), __false_type());
609:  }
609:       return *this;
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     list<_Tp, _Alloc>::
609:     _M_fill_assign(size_type __n, const value_type& __val)
609:     {
609:       iterator __i = begin();
609:       for (; __i != end() && __n > 0; ++__i, --__n)
609:         *__i = __val;
609:       if (__n > 0)
609:         insert(end(), __n, __val);
609:       else
609:         erase(__i, end());
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template <typename _InputIterator>
609:       void
609:       list<_Tp, _Alloc>::
609:       _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2,
609:     __false_type)
609:       {
609:         iterator __first1 = begin();
609:         iterator __last1 = end();
609:         for (; __first1 != __last1 && __first2 != __last2;
609:       ++__first1, (void)++__first2)
609:           *__first1 = *__first2;
609:         if (__first2 == __last2)
609:           erase(__first1, __last1);
609:         else
609:           insert(__last1, __first2, __last2);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     typename list<_Tp, _Alloc>::__remove_return_type
609:     list<_Tp, _Alloc>::
609:     remove(const value_type& __value)
609:     {
609: 
609: 
609: 
609:       list __to_destroy(get_allocator());
609:       iterator __first = begin();
609:       iterator __last = end();
609:       while (__first != __last)
609:  {
609:    iterator __next = __first;
609:    ++__next;
609:    if (*__first == __value)
609:      {
609: 
609: 
609: 
609:        __to_destroy.splice(__to_destroy.begin(), *this, __first);
609: 
609: 
609: 
609:      }
609: 
609:    __first = __next;
609:  }
609: 
609: 
609: 
609: 
609:  return ;
609: 
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     typename list<_Tp, _Alloc>::__remove_return_type
609:     list<_Tp, _Alloc>::
609:     unique()
609:     {
609:       iterator __first = begin();
609:       iterator __last = end();
609:       if (__first == __last)
609:  return ;
609: 
609: 
609: 
609:       list __to_destroy(get_allocator());
609:       iterator __next = __first;
609:       while (++__next != __last)
609:  {
609:    if (*__first == *__next)
609:      {
609:        __to_destroy.splice(__to_destroy.begin(), *this, __next);
609: 
609: 
609: 
609:      }
609:    else
609:      __first = __next;
609:    __next = __first;
609:  }
609: 
609: 
609: 
609: 
609:       return ;
609: 
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     list<_Tp, _Alloc>::
609: 
609:     merge(list&& __x)
609: 
609: 
609: 
609:     {
609: 
609: 
609:       if (this != std::__addressof(__x))
609:  {
609:    _M_check_equal_allocators(__x);
609: 
609:    iterator __first1 = begin();
609:    iterator __last1 = end();
609:    iterator __first2 = __x.begin();
609:    iterator __last2 = __x.end();
609: 
609:    const _Finalize_merge __fin(*this, __x, __first2);
609: 
609:    while (__first1 != __last1 && __first2 != __last2)
609:      if (*__first2 < *__first1)
609:        {
609:   iterator __next = __first2;
609:   _M_transfer(__first1, __first2, ++__next);
609:   __first2 = __next;
609:        }
609:      else
609:        ++__first1;
609:    if (__first2 != __last2)
609:      {
609:        _M_transfer(__last1, __first2, __last2);
609:        __first2 = __last2;
609:      }
609:  }
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template <typename _StrictWeakOrdering>
609:       void
609:       list<_Tp, _Alloc>::
609: 
609:       merge(list&& __x, _StrictWeakOrdering __comp)
609: 
609: 
609: 
609:       {
609: 
609: 
609:  if (this != std::__addressof(__x))
609:    {
609:      _M_check_equal_allocators(__x);
609: 
609:      iterator __first1 = begin();
609:      iterator __last1 = end();
609:      iterator __first2 = __x.begin();
609:      iterator __last2 = __x.end();
609: 
609:      const _Finalize_merge __fin(*this, __x, __first2);
609: 
609:      while (__first1 != __last1 && __first2 != __last2)
609:        if (__comp(*__first2, *__first1))
609:   {
609:     iterator __next = __first2;
609:     _M_transfer(__first1, __first2, ++__next);
609:     __first2 = __next;
609:   }
609:        else
609:   ++__first1;
609:      if (__first2 != __last2)
609:        {
609:   _M_transfer(__last1, __first2, __last2);
609:   __first2 = __last2;
609:        }
609:    }
609:       }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     void
609:     list<_TpN();
1417:       else if (__x == _Tp(0))
1417:         return -std::numeric_limits<_Tp>::infinity();
1417:       else
1417:         {
1417:           _Tp __j_n, __n_n, __jp_n, __np_n;
1417:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1417:           return __n_n;
1417:         }
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 51 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/beta_function.tcc" 1 3
1417: # 49 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 65 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 79 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __beta_gamma(_Tp __x, _Tp __y)
1417:     {
1417: 
1417:       _Tp __bet;
1417: 
1417:       if (__x > __y)
1417:         {
1417:           __bet = ::std::tgamma(__x)
1417:                 / ::std::tgamma(__x + __y);
1417:           __bet *= ::std::tgamma(__y);
1417:         }
1417:       else
1417:         {
1417:           __bet = ::std::tgamma(__y)
1417:                 / ::std::tgamma(__x + __y);
1417:           __bet *= ::std::tgamma(__x);
1417:         }
1417: # 111 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1417:       return __bet;
1417:     }
1417: # 127 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __beta_lgamma(_Tp __x, _Tp __y)
1417:     {
1417: 
1417:       _Tp __bet = ::std::lgamma(__x)
1417:                 + ::std::lgamma(__y)
1417:                 - ::std::lgamma(__x + __y);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       __bet = std::exp(__bet);
1417:       return __bet;
1417:     }
1417: # 158 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __beta_product(_Tp __x, _Tp __y)
1417:     {
1417: 
1417:       _Tp __bet = (__x + __y) / (__x * __y);
1417: 
1417:       unsigned int __max_iter = 1000000;
1417:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1417:         {
1417:           _Tp __term = (_Tp(1) + (__x + __y) / __k)
1417:                      / ((_Tp(1) + __x / __k) * (_Tp(1) + __y / __k));
1417:           __bet *= __term;
1417:         }
1417: 
1417:       return __bet;
1417:     }
1417: # 189 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __beta(_Tp __x, _Tp __y)
1417:     {
1417:       if (__isnan(__x) || __isnan(__y))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else
1417:         return __beta_lgamma(__x, __y);
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 52 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/ell_integral.tcc" 1 3
1417: # 45 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 59 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 76 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __ellint_rf(_Tp __x, _Tp __y, _Tp __z)
1417:     {
1417:       const _Tp __min = std::numeric_limits<_Tp>::min();
1417:       const _Tp __lolim = _Tp(5) * __min;
1417: 
1417:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1417:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rf.")
1417:                                                         );
1417:       else if (__x + __y < __lolim || __x + __z < __lolim
1417:             || __y + __z < __lolim)
1417:         std::__throw_domain_error(("Argument too small in __ellint_rf"));
1417:       else
1417:         {
1417:           const _Tp __c0 = _Tp(1) / _Tp(4);
1417:           const _Tp __c1 = _Tp(1) / _Tp(24);
1417:           const _Tp __c2 = _Tp(1) / _Tp(10);
1417:           const _Tp __c3 = _Tp(3) / _Tp(44);
1417:           const _Tp __c4 = _Tp(1) / _Tp(14);
1417: 
1417:           _Tp __xn = __x;
1417:           _Tp __yn = __y;
1417:           _Tp __zn = __z;
1417: 
1417:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:           const _Tp __errtol = std::pow(__eps, _Tp(1) / _Tp(6));
1417:           _Tp __mu;
1417:           _Tp __xndev, __yndev, __zndev;
1417: 
1417:           const unsigned int __max_iter = 100;
1417:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1417:             {
1417:               __mu = (__xn + __yn + __zn) / _Tp(3);
1417:               __xndev = 2 - (__mu + __xn) / __mu;
1417:               __yndev = 2 - (__mu + __yn) / __mu;
1417:               __zndev = 2 - (__mu + __zn) / __mu;
1417:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1417:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1417:               if (__epsilon < __errtol)
1417:                 break;
1417:               const _Tp __xnroot = std::sqrt(__xn);
1417:               const _Tp __ynroot = std::sqrt(__yn);
1417:               const _Tp __znroot = std::sqrt(__zn);
1417:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1417:                                  + __ynroot * __znroot;
1417:               __xn = __c0 * (__xn + __lambda);
1417:               __yn = __c0 * (__yn + __lambda);
1417:               __zn = __c0 * (__zn + __lambda);
1417:             }
1417: 
1417:           const _Tp __e2 = __xndev * __yndev - __zndev * __zndev;
1417:           const _Tp __e3 = __xndev * __yndev * __zndev;
1417:           const _Tp __s = _Tp(1) + (__c1 * __e2 - __c2 - __c3 * __e3) * __e2
1417:                    + __c4 * __e3;
1417: 
1417:           return __s / std::sqrt(__mu);
1417:         }
1417:     }
1417: # 153 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __comp_ellint_1_series(_Tp __k)
1417:     {
1417: 
1417:       const _Tp __kk = __k * __k;
1417: 
1417:       _Tp __term = __kk / _Tp(4);
1417:       _Tp __sum = _Tp(1) + __term;
1417: 
1417:       const unsigned int __max_iter = 1000;
1417:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1417:         {
1417:           __term *= (2 * __i - 1) * __kk / (2 * __i);
1417:           if (__term < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:           __sum += __term;
1417:         }
1417: 
1417:       return __numeric_constants<_Tp>::__pi_2() * __sum;
1417:     }
1417: # 191 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __comp_ellint_1(_Tp __k)
1417:     {
1417: 
1417:       if (__isnan(__k))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (std::abs(__k) >= _Tp(1))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else
1417:         return __ellint_rf(_Tp(0), _Tp(1) - __k * __k, _Tp(1));
1417:     }
1417: # 219 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __ellint_1(_Tp __k, _Tp __phi)
1417:     {
1417: 
1417:       if (__isnan(__k) || __isnan(__phi))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (std::abs(__k) > _Tp(1))
1417:         std::__throw_domain_error(("Bad argument in __ellint_1."));
1417:       else
1417:         {
1417: 
1417:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1417:                                    + _Tp(0.5L));
1417:           const _Tp __phi_red = __phi
1417:                               - __n * __numeric_constants<_Tp>::__pi();
1417: 
1417:           const _Tp __s = std::sin(__phi_red);
1417:           const _Tp __c = std::cos(__phi_red);
1417: 
1417:           const _Tp __F = __s
1417:                         * __ellint_rf(__c * __c,
1417:                                 _Tp(1) - __k * __k * __s * __s, _Tp(1));
1417: 
1417:           if (__n == 0)
1417:             return __F;
1417:           else
1417:             return __F + _Tp(2) * __n * __comp_ellint_1(__k);
1417:         }
1417:     }, _Alloc>::
609:     sort()
609:     {
609: 
609:       if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
609:    && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
609:       {
609:  using __detail::_Scratch_list;
609: # 497 "/usr/include/c++/12/bits/list.tcc" 3
609:  _Scratch_list __carry;
609:  _Scratch_list __tmp[64];
609:  _Scratch_list* __fill = __tmp;
609:  _Scratch_list* __counter;
609: 
609:  _Scratch_list::_Ptr_cmp<iterator, void> __ptr_comp;
609: 
609:  try
609:    {
609:      do
609:        {
609:   __carry._M_take_one(begin()._M_node);
609: 
609:   for(__counter = __tmp;
609:       __counter != __fill && !__counter->empty();
609:       ++__counter)
609:     {
609: 
609:       __counter->merge(__carry, __ptr_comp);
609:       __carry.swap(*__counter);
609:     }
609:   __carry.swap(*__counter);
609:   if (__counter == __fill)
609:     ++__fill;
609:        }
609:      while ( !empty() );
609: 
609:      for (__counter = __tmp + 1; __counter != __fill; ++__counter)
609:        __counter->merge(__counter[-1], __ptr_comp);
609:      __fill[-1].swap(this->_M_impl._M_node);
609:    }
609:  catch(...)
609:    {
609: 
609:      __carry._M_put_all(end()._M_node);
609:      for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
609:        __tmp[__i]._M_put_all(end()._M_node);
609:      throw;
609:    }
609:       }
609:     }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template <typename _Predicate>
609:       typename list<_Tp, _Alloc>::__remove_return_type
609:       list<_Tp, _Alloc>::
609:       remove_if(_Predicate __pred)
609:       {
609: 
609: 
609: 
609:  list __to_destroy(get_allocator());
609:  iterator __first = begin();
609:  iterator __last = end();
609:  while (__first != __last)
609:    {
609:      iterator __next = __first;
609:      ++__next;
609:      if (__pred(*__first))
609:        {
609:   __to_destroy.splice(__to_destroy.begin(), *this, __first);
609: 
609: 
609: 
609:        }
609:      __first = __next;
609:    }
609: 
609: 
609: 
609: 
609:  return ;
609: 
609:       }
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template <typename _BinaryPredicate>
609:       typename list<_Tp, _Alloc>::__remove_return_type
609:       list<_Tp, _Alloc>::
609:       unique(_BinaryPredicate __binary_pred)
609:       {
609:         iterator __first = begin();
609:         iterator __last = end();
609:         if (__first == __last)
609:    return ;
609: 
609: 
609: 
609:  list __to_destroy(get_allocator());
609:         iterator __next = __first;
609:         while (++__next != __last)
609:    {
609:      if (__binary_pred(*__first, *__next))
609:        {
609:   __to_destroy.splice(__to_destroy.begin(), *this, __next);
609: 
609: 
609: 
609:        }
609:      else
609:        __first = __next;
609:      __next = __first;
609:    }
609: 
609: 
609: 
609: 
609:  return ;
609: 
609:       }
609: 
609: 
609: 
609:   template<typename _Tp, typename _Alloc>
609:     template <typename _StrictWeakOrdering>
609:       void
609:       list<_Tp, _Alloc>::
609:       sort(_StrictWeakOrdering __comp)
609:       {
609: 
609:  if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
609:      && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
609:  {
609:    using __detail::_Scratch_list;
609:    _Scratch_list __carry;
609:    _Scratch_list __tmp[64];
609:    _Scratch_list* __fill = __tmp;
609:    _Scratch_list* __counter;
609: 
609:  _Scratch_list::_Ptr_cmp<iterator, _StrictWeakOrdering> __ptr_comp
609:    = { __comp };
609: 
609:    try
609:      {
609:        do
609:   {
609:     __carry._M_take_one(begin()._M_node);
609: 
609:     for(__counter = __tmp;
609:         __counter != __fill && !__counter->empty();
609:         ++__counter)
609:       {
609: 
609:         __counter->merge(__carry, __ptr_comp);
609:         __carry.swap(*__counter);
609:       }
609:     __carry.swap(*__counter);
609:     if (__counter == __fill)
609:       ++__fill;
609:   }
609:        while ( !empty() );
609: 
609:        for (__counter = __tmp + 1; __counter != __fill; ++__counter)
609:   __counter->merge(__counter[-1], __ptr_comp);
609:        __fill[-1].swap(this->_M_impl._M_node);
609:      }
609:    catch(...)
609:      {
609: 
609:        __carry._M_put_all(end()._M_node);
609:        for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
609:   __tmp[__i]._M_put_all(end()._M_node);
609:        throw;
609:      }
609:  }
609:       }
609: 
609: 
609: 
609: }
609: # 65 "/usr/include/c++/12/list" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609:   namespace pmr
609:   {
609:     template<typename _Tp> class polymorphic_allocator;
609:     template<typename _Tp>
609:       using list = std::list<_Tp, polymorphic_allocator<_Tp>>;
609:   }
609: 
609: }
609: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
609: 
609: 
609: 
609: 
609: 
609: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
609: class CGUIDialog;
609: class CGUIMediaWindow;
609: 
609: 
609: 
609: 
609: enum class DialogModalityType;
609: 
609: 
609: 
609: 
609: namespace KODI
609: {
609:   namespace MESSAGING
609:   {
609:     class CApplicationMessenger;
609:   }
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: class CGUIWindowManager : public KODI::MESSAGING::IMessageTarget
609: {
609:   friend CGUIDialog;
609:   friend CGUIMediaWindow;
609: public:
609:   CGUIWindowManager();
609:   ~CGUIWindowManager() override;
609:   bool SendMessage(CGUIMessage& message);
609:   bool SendMessage(int message, int senderID, int destID, int param1 = 0, int param2 = 0);
609:   bool SendMessage(CGUIMessage& message, int window);
609:   void Initialize();
609:   void Add(CGUIWindow* pWindow);
609:   void AddUniqueInstance(CGUIWindow *window);
609:   void AddCustomWindow(CGUIWindow* pWindow);
609:   void Remove(int id);
609:   void Delete(int id);
609:   void ActivateWindow(int iWindowID, const std::string &strPath = "");
609:   void ForceActivateWindow(int iWindowID, const std::string &strPath = "");
609:   void ChangeActiveWindow(int iNewID, const std::string &strPath = "");
609:   void ActivateWindow(int iWindowID, const std::vector<std::string>& params, bool swappingWindows = false, bool force = false);
609:   void PreviousWindow();
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   bool SwitchToFullScreen(bool force = false);
609: 
609:   void CloseDialogs(bool forceClose = false) const;
609:   void CloseInternalModalDialogs(bool forceClose = false) const;
609: 
609:   void OnApplicationMessage(KODI::MESSAGING::ThreadMessage* pMsg) override;
609:   int GetMessageMask() override;
609: 
609: 
609: 
609: 
609:   bool OnAction(const CAction &action) const;
609: 
609: 
609: 
609:   void Process(unsigned int currentTime);
609: 
609: 
609: 
609:   void MarkDirty();
609: 
609: 
609: 
609:   void MarkDirty(const CRect& rect);
609: 
609: 
609: 
609: 
609: 
609: 
609:   bool Render();
609: 
609:   void RenderEx() const;
609: 
609: 
609: 
609:   void AfterRender();
609: 
609: 
609: 
609: 
609: 
609:   void FrameMove();
609: 
609: 
609: 
609: 
609: 
609: 
609:   bool Initialized() const { return m_initialized; }
609: 
609: 
609: 
609:   void CreateWindows();
609: 
609: 
609: 
609: 
609: 
609:   bool DestroyWindows();
609: 
609: 
609: 
609: 
609: 
609:   void DestroyWindow(int id);
609: # 150 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
609:   template<typename T,
609:            typename std::enable_if<std::is_base_of<CGUIWindow, T>::value>::type* = nullptr>
609:   T* GetWindow(int id) const
609:   {
609:     return dynamic_cast<T*>(GetWindow(id));
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   CGUIWindow* GetWindow(int id) const;
609: 
609: 
609: 
609: 
609: 
609: 
609:   CGUIDialog* GetDialog(int id) const;
609: 
609:   void SetCallback(IWindowManagerCallback& callback);
609:   void DeInitialize();
609: 
609: 
609: 
609: 
609: 
609:   void RegisterDialog(CGUIWindow* dialog);
609:   void RemoveDialog(int id);
609: 
609: 
609: 
609: 
609: 
609: 
609:   int GetTopmostD
1417: # 266 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __comp_ellint_2_series(_Tp __k)
1417:     {
1417: 
1417:       const _Tp __kk = __k * __k;
1417: 
1417:       _Tp __term = __kk;
1417:       _Tp __sum = __term;
1417: 
1417:       const unsigned int __max_iter = 1000;
1417:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1417:         {
1417:           const _Tp __i2m = 2 * __i - 1;
1417:           const _Tp __i2 = 2 * __i;
1417:           __term *= __i2m * __i2m * __kk / (__i2 * __i2);
1417:           if (__term < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:           __sum += __term / __i2m;
1417:         }
1417: 
1417:       return __numeric_constants<_Tp>::__pi_2() * (_Tp(1) - __sum);
1417:     }
1417: # 314 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __ellint_rd(_Tp __x, _Tp __y, _Tp __z)
1417:     {
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1417:       const _Tp __max = std::numeric_limits<_Tp>::max();
1417:       const _Tp __lolim = _Tp(2) / std::pow(__max, _Tp(2) / _Tp(3));
1417: 
1417:       if (__x < _Tp(0) || __y < _Tp(0))
1417:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rd.")
1417:                                                         );
1417:       else if (__x + __y < __lolim || __z < __lolim)
1417:         std::__throw_domain_error(("Argument too small " "in __ellint_rd.")
1417:                                                         );
1417:       else
1417:         {
1417:           const _Tp __c0 = _Tp(1) / _Tp(4);
1417:           const _Tp __c1 = _Tp(3) / _Tp(14);
1417:           const _Tp __c2 = _Tp(1) / _Tp(6);
1417:           const _Tp __c3 = _Tp(9) / _Tp(22);
1417:           const _Tp __c4 = _Tp(3) / _Tp(26);
1417: 
1417:           _Tp __xn = __x;
1417:           _Tp __yn = __y;
1417:           _Tp __zn = __z;
1417:           _Tp __sigma = _Tp(0);
1417:           _Tp __power4 = _Tp(1);
1417: 
1417:           _Tp __mu;
1417:           _Tp __xndev, __yndev, __zndev;
1417: 
1417:           const unsigned int __max_iter = 100;
1417:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1417:             {
1417:               __mu = (__xn + __yn + _Tp(3) * __zn) / _Tp(5);
1417:               __xndev = (__mu - __xn) / __mu;
1417:               __yndev = (__mu - __yn) / __mu;
1417:               __zndev = (__mu - __zn) / __mu;
1417:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1417:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1417:               if (__epsilon < __errtol)
1417:                 break;
1417:               _Tp __xnroot = std::sqrt(__xn);
1417:               _Tp __ynroot = std::sqrt(__yn);
1417:               _Tp __znroot = std::sqrt(__zn);
1417:               _Tp __lambda = __xnroot * (__ynroot + __znroot)
1417:                            + __ynroot * __znroot;
1417:               __sigma += __power4 / (__znroot * (__zn + __lambda));
1417:               __power4 *= __c0;
1417:               __xn = __c0 * (__xn + __lambda);
1417:               __yn = __c0 * (__yn + __lambda);
1417:               __zn = __c0 * (__zn + __lambda);
1417:             }
1417: 
1417:           _Tp __ea = __xndev * __yndev;
1417:           _Tp __eb = __zndev * __zndev;
1417:           _Tp __ec = __ea - __eb;
1417:           _Tp __ed = __ea - _Tp(6) * __eb;
1417:           _Tp __ef = __ed + __ec + __ec;
1417:           _Tp __s1 = __ed * (-__c1 + __c3 * __ed
1417:                                    / _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
1417:                                    / _Tp(2));
1417:           _Tp __s2 = __zndev
1417:                    * (__c2 * __ef
1417:                     + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea));
1417: 
1417:           return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
1417:                                         / (__mu * std::sqrt(__mu));
1417:         }
1417:     }
1417: # 399 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __comp_ellint_2(_Tp __k)
1417:     {
1417: 
1417:       if (__isnan(__k))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (std::abs(__k) == 1)
1417:         return _Tp(1);
1417:       else if (std::abs(__k) > _Tp(1))
1417:         std::__throw_domain_error(("Bad argument in __comp_ellint_2."));
1417:       else
1417:         {
1417:           const _Tp __kk = __k * __k;
1417: 
1417:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1417:                - __kk * __ellint_rd(_Tp(0), _Tp(1) - __kk, _Tp(1)) / _Tp(3);
1417:         }
1417:     }
1417: # 433 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __ellint_2(_Tp __k, _Tp __phi)
1417:     {
1417: 
1417:       if (__isnan(__k) || __isnan(__phi))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (std::abs(__k) > _Tp(1))
1417:         std::__throw_domain_error(("Bad argument in __ellint_2."));
1417:       else
1417:         {
1417: 
1417:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1417:                                    + _Tp(0.5L));
1417:           const _Tp __phi_red = __phi
1417:                               - __n * __numeric_constants<_Tp>::__pi();
1417: 
1417:           const _Tp __kk = __k * __k;
1417:           const _Tp __s = std::sin(__phi_red);
1417:           const _Tp __ss = __s * __s;
1417:           const _Tp __sss = __ss * __s;
1417:           const _Tp __c = std::cos(__phi_red);
1417:           const _Tp __cc = __c * __c;
1417: 
1417:           const _Tp __E = __s
1417:                         * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1417:                         - __kk * __sss
1417:                         * __ellint_rd(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1417:                         / _Tp(3);
1417: 
1417:           if (__n == 0)
1417:             return __E;
1417:           else
1417:             return __E + _Tp(2) * __n * __comp_ellint_2(__k);
1417:         }
1417:     }
1417: # 492 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __ellint_rc(_Tp __x, _Tp __y)
1417:     {
1417:       const _Tp __min = std::numeric_limits<_Tp>::min();
1417:       const _Tp __lolim = _Tp(5) * __min;
1417: 
1417:       if (__x < _Tp(0) || __y < _Tp(0) || __x + __y < __lolim)
1417:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rc.")
1417:                                                         );
1417:       else
1417:         {
1417:           const _Tp __c0 = _Tp(1) / _Tp(4);
1417:           const _Tp __c1 = _Tp(1) / _Tp(7);
1417:           const _Tp __c2 = _Tp(9) / _Tp(22);
1417:           const _Tp __c3 = _Tp(3) / _Tp(10);
1417:           const _Tp __c4 = _Tp(3) / _Tp(8);
1417: 
1417:           _Tp __xn = __x;
1417:           _Tp __yn = __y;
1417: 
1417:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:           const _Tp __errtol = std::pow(__eps / _Tp(30), _Tp(1) / _Tp(6));
1417:           _Tp __mu;
1417:           _Tp __sn;
1417: 
1417:           const unsigned int __max_iter = 100;
1417:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1417:             {
1417:               __mu = (__xn + _Tp(2) * __yn) / _Tp(3);
1417:               __sn = (__yn + __mu) / __mu - _Tp(2);
1417:               if (std::abs(__sn) < __errtol)
1417:                 break;
1417:               const _Tp __lambda = _Tp(2) * std::sqrt(__xn) * std::sqrt(__yn)
1417:                              + __yn;
1417:               __xn = __c0 * (__xn + __lambda);
1417:               __yn = __c0 * (__yn + __lambda);
1417:             }
1417: 
1417:           _Tp __s = __sn * __sn
1417:                   * (__c3 + __sn*(__c1 + __sn * (__c4 + __sn * __c2)));
1417: 
1417:           return (_Tp(1) + __s) / std::sqrt(__mu);
1417:         }
1417:ialog(bool ignoreClosing = false) const;
609: 
609: 
609: 
609: 
609: 
609: 
609:   int GetTopmostModalDialog(bool ignoreClosing = false) const;
609: 
609:   void SendThreadMessage(CGUIMessage& message, int window = 0);
609:   void DispatchThreadMessages();
609: 
609: 
609:   int RemoveThreadMessageByMessageIds(int *pMessageIDList);
609:   void AddMsgTarget( IMsgTargetCallback* pMsgTarget );
609:   int GetActiveWindow() const;
609:   int GetActiveWindowOrDialog() const;
609:   bool HasModalDialog(bool ignoreClosing) const;
609:   bool HasVisibleModalDialog() const;
609:   bool IsDialogTopmost(int id, bool modal = false) const;
609:   bool IsDialogTopmost(const std::string &xmlFile, bool modal = false) const;
609:   bool IsModalDialogTopmost(int id) const;
609:   bool IsModalDialogTopmost(const std::string &xmlFile) const;
609:   bool IsWindowActive(int id, bool ignoreClosing = true) const;
609:   bool IsWindowVisible(int id) const;
609:   bool IsWindowActive(const std::string &xmlFile, bool ignoreClosing = true) const;
609:   bool IsWindowVisible(const std::string &xmlFile) const;
609: 
609: 
609: 
609: 
609:   bool IsAddonWindow(int id) const { return (id >= 14000 && id <= 14099); }
609: 
609: 
609: 
609: 
609:   bool IsPythonWindow(int id) const
609:   {
609:     return (id >= 13000 && id <= 13099);
609:   }
609: 
609:   bool HasVisibleControls();
609: 
609: 
609: 
609: 
609: private:
609:   void RenderPass() const;
609: 
609:   void LoadNotOnDemandWindows();
609:   void UnloadNotOnDemandWindows();
609:   void AddToWindowHistory(int newWindowID);
609: # 246 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
609:   void RemoveFromWindowHistory(int windowID);
609:   void ClearWindowHistory();
609:   void CloseWindowSync(CGUIWindow *window, int nextWindowID = 0);
609:   int GetTopmostDialog(bool modal, bool ignoreClosing) const;
609: 
609:   friend class KODI::MESSAGING::CApplicationMessenger;
609: # 260 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
609:   void ActivateWindow_Internal(int windowID, const std::vector<std::string> &params, bool swappingWindows, bool force = false);
609: 
609:   bool ProcessRenderLoop(bool renderOnly);
609: 
609:   bool HandleAction(const CAction &action) const;
609: 
609:   std::unordered_map<int, CGUIWindow*> m_mapWindows;
609:   std::vector<CGUIWindow*> m_vecCustomWindows;
609:   std::vector<CGUIWindow*> m_activeDialogs;
609:   std::vector<CGUIWindow*> m_deleteWindows;
609: 
609:   std::deque<int> m_windowHistory;
609: 
609:   IWindowManagerCallback* m_pCallback;
609:   std::list< std::pair<CGUIMessage*,int> > m_vecThreadMessages;
609:   CCriticalSection m_critSection;
609:   std::vector<IMsgTargetCallback*> m_vecMsgTargets;
609: 
609:   int m_iNested;
609:   bool m_initialized;
609:   mutable bool m_touchGestureActive{false};
609:   mutable bool m_inhibitTouchGestureEvents{false};
609: 
609:   CDirtyRegionList m_dirtyregions;
609:   CDirtyRegionTracker m_tracker;
609: };
609: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/IApplicationComponent.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/IApplicationComponent.h"
609:        
609: 
609: 
609: class IApplicationComponent
609: {
609: public:
609:   virtual ~IApplicationComponent() = default;
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h"
609:        
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/cstddef" 1 3
609: # 42 "/usr/include/c++/12/cstddef" 3
609:        
609: # 43 "/usr/include/c++/12/cstddef" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
609: # 51 "/usr/include/c++/12/cstddef" 2 3
609: 
609: 
609: # 52 "/usr/include/c++/12/cstddef" 3
609: extern "C++"
609: {
609: 
609: namespace std
609: {
609: 
609:   using ::max_align_t;
609: }
609: 
609: 
609: 
609: namespace std
609: {
609: 
609: 
609: 
609: 
609:   enum class byte : unsigned char {};
609: 
609:   template<typename _IntegerType> struct __byte_operand { };
609:   template<> struct __byte_operand<bool> { using __type = byte; };
609:   template<> struct __byte_operand<char> { using __type = byte; };
609:   template<> struct __byte_operand<signed char> { using __type = byte; };
609:   template<> struct __byte_operand<unsigned char> { using __type = byte; };
609:   template<> struct __byte_operand<wchar_t> { using __type = byte; };
609: 
609: 
609: 
609:   template<> struct __byte_operand<char16_t> { using __type = byte; };
609:   template<> struct __byte_operand<char32_t> { using __type = byte; };
609:   template<> struct __byte_operand<short> { using __type = byte; };
609:   template<> struct __byte_operand<unsigned short> { using __type = byte; };
609:   template<> struct __byte_operand<int> { using __type = byte; };
609:   template<> struct __byte_operand<unsigned int> { using __type = byte; };
609:   template<> struct __byte_operand<long> { using __type = byte; };
609:   template<> struct __byte_operand<unsigned long> { using __type = byte; };
609:   template<> struct __byte_operand<long long> { using __type = byte; };
609:   template<> struct __byte_operand<unsigned long long> { using __type = byte; };
609: # 108 "/usr/include/c++/12/cstddef" 3
609:   template<typename _IntegerType>
609:     struct __byte_operand<const _IntegerType>
609:     : __byte_operand<_IntegerType> { };
609:   template<typename _IntegerType>
609:     struct __byte_operand<volatile _IntegerType>
609:     : __byte_operand<_IntegerType> { };
609:   template<typename _IntegerType>
609:     struct __byte_operand<const volatile _IntegerType>
609:     : __byte_operand<_IntegerType> { };
609: 
609:   template<typename _IntegerType>
609:     using __byte_op_t = typename __byte_operand<_IntegerType>::__type;
609: 
609:   template<typename _IntegerType>
609:     constexpr __byte_op_t<_IntegerType>
609:     operator<<(byte __b, _IntegerType __shift) noexcept
609:     { return (byte)(unsigned char)((unsigned)__b << __shift); }
609: 
609:   template<typename _IntegerType>
609:     constexpr __byte_op_t<_IntegerType>
609:     operator>>(byte __b, _IntegerType __shift) noexcept
609:     { return (byte)(unsigned char)((unsigned)__b >> __shift); }
609: 
609:   constexpr byte
609:   operator|(byte __l, byte __r) noexcept
609:   { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); }
609: 
609:   constexpr byte
609:   operator&(byte __l, byte __r) noexcept
609:   { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); }
609: 
609:   constexpr byte
609:   operator^(byte __l, byte __r) noexcept
609:   { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); }
609: 
609:   constexpr byte
609:   operator~(byte __b) noexcept
609:   { return (byte)(unsigned char)~(unsigned)__b; }
609: 
609:   template<typename _IntegerType>
609:     constexpr __byte_op_t<_IntegerType>&
609:     operator<<=(byte& __b, _IntegerType __shift) noexcept
609:     { return __b = __b << __shift; }
609: 
609:   template<typename _IntegerType>
609:     constexpr __byte_op_t<_IntegerType>&
609:     operator>>=(byte& __b, _IntegerType __shift) noexcept
609:     { return __b = __b >> __shift; }
609: 
609:   constexpr byte&
609:   operator|=(byte& __l, byte __r) noexcept
609:   { return __l = __l | __r; }
609: 
609:   constexpr byte&
609:   operator&=(byte& __l, byte __r) noexcept
609:   { return __l = __l & __r; }
609: 
609:   constexpr byte&
609:   operator^=(byte& __l, byte __r) noexcept
609:   { return __l = __l ^ __r; }
609: 
609:   template<typename _IntegerType>
609:     [[nodiscard]]
609:     constexpr _IntegerType
609:     to_integer(__byte_op_t<_IntegerType> __b) noexcept
609:     { return _IntegerType(__b); }
609: 
609: 
609: }
609:      }
1417: # 561 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __ellint_rj(_Tp __x, _Tp __y, _Tp __z, _Tp __p)
1417:     {
1417:       const _Tp __min = std::numeric_limits<_Tp>::min();
1417:       const _Tp __lolim = std::pow(_Tp(5) * __min, _Tp(1)/_Tp(3));
1417: 
1417:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1417:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rj.")
1417:                                                         );
1417:       else if (__x + __y < __lolim || __x + __z < __lolim
1417:             || __y + __z < __lolim || __p < __lolim)
1417:         std::__throw_domain_error(("Argument too small " "in __ellint_rj")
1417:                                                        );
1417:       else
1417:         {
1417:           const _Tp __c0 = _Tp(1) / _Tp(4);
1417:           const _Tp __c1 = _Tp(3) / _Tp(14);
1417:           const _Tp __c2 = _Tp(1) / _Tp(3);
1417:           const _Tp __c3 = _Tp(3) / _Tp(22);
1417:           const _Tp __c4 = _Tp(3) / _Tp(26);
1417: 
1417:           _Tp __xn = __x;
1417:           _Tp __yn = __y;
1417:           _Tp __zn = __z;
1417:           _Tp __pn = __p;
1417:           _Tp __sigma = _Tp(0);
1417:           _Tp __power4 = _Tp(1);
1417: 
1417:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:           const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1417: 
1417:           _Tp __mu;
1417:           _Tp __xndev, __yndev, __zndev, __pndev;
1417: 
1417:           const unsigned int __max_iter = 100;
1417:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1417:             {
1417:               __mu = (__xn + __yn + __zn + _Tp(2) * __pn) / _Tp(5);
1417:               __xndev = (__mu - __xn) / __mu;
1417:               __yndev = (__mu - __yn) / __mu;
1417:               __zndev = (__mu - __zn) / __mu;
1417:               __pndev = (__mu - __pn) / __mu;
1417:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1417:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1417:               __epsilon = std::max(__epsilon, std::abs(__pndev));
1417:               if (__epsilon < __errtol)
1417:                 break;
1417:               const _Tp __xnroot = std::sqrt(__xn);
1417:               const _Tp __ynroot = std::sqrt(__yn);
1417:               const _Tp __znroot = std::sqrt(__zn);
1417:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1417:                                  + __ynroot * __znroot;
1417:               const _Tp __alpha1 = __pn * (__xnroot + __ynroot + __znroot)
1417:                                 + __xnroot * __ynroot * __znroot;
1417:               const _Tp __alpha2 = __alpha1 * __alpha1;
1417:               const _Tp __beta = __pn * (__pn + __lambda)
1417:                                       * (__pn + __lambda);
1417:               __sigma += __power4 * __ellint_rc(__alpha2, __beta);
1417:               __power4 *= __c0;
1417:               __xn = __c0 * (__xn + __lambda);
1417:               __yn = __c0 * (__yn + __lambda);
1417:               __zn = __c0 * (__zn + __lambda);
1417:               __pn = __c0 * (__pn + __lambda);
1417:             }
1417: 
1417:           _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev;
1417:           _Tp __eb = __xndev * __yndev * __zndev;
1417:           _Tp __ec = __pndev * __pndev;
1417:           _Tp __e2 = __ea - _Tp(3) * __ec;
1417:           _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec);
1417:           _Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
1417:                             - _Tp(3) * __c4 * __e3 / _Tp(2));
1417:           _Tp __s2 = __eb * (__c2 / _Tp(2)
1417:                    + __pndev * (-__c3 - __c3 + __pndev * __c4));
1417:           _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3)
1417:                    - __c2 * __pndev * __ec;
1417: 
1417:           return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)
1417:                                              / (__mu * std::sqrt(__mu));
1417:         }
1417:     }
1417: # 661 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __comp_ellint_3(_Tp __k, _Tp __nu)
1417:     {
1417: 
1417:       if (__isnan(__k) || __isnan(__nu))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__nu == _Tp(1))
1417:         return std::numeric_limits<_Tp>::infinity();
1417:       else if (std::abs(__k) > _Tp(1))
1417:         std::__throw_domain_error(("Bad argument in __comp_ellint_3."));
1417:       else
1417:         {
1417:           const _Tp __kk = __k * __k;
1417: 
1417:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1417:                + __nu
1417:                * __ellint_rj(_Tp(0), _Tp(1) - __kk, _Tp(1), _Tp(1) - __nu)
1417:                / _Tp(3);
1417:         }
1417:     }
1417: # 701 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __ellint_3(_Tp __k, _Tp __nu, _Tp __phi)
1417:     {
1417: 
1417:       if (__isnan(__k) || __isnan(__nu) || __isnan(__phi))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (std::abs(__k) > _Tp(1))
1417:         std::__throw_domain_error(("Bad argument in __ellint_3."));
1417:       else
1417:         {
1417: 
1417:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1417:                                    + _Tp(0.5L));
1417:           const _Tp __phi_red = __phi
1417:                               - __n * __numeric_constants<_Tp>::__pi();
1417: 
1417:           const _Tp __kk = __k * __k;
1417:           const _Tp __s = std::sin(__phi_red);
1417:           const _Tp __ss = __s * __s;
1417:           const _Tp __sss = __ss * __s;
1417:           const _Tp __c = std::cos(__phi_red);
1417:           const _Tp __cc = __c * __c;
1417: 
1417:           const _Tp __Pi = __s
1417:                          * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1417:                          + __nu * __sss
1417:                          * __ellint_rj(__cc, _Tp(1) - __kk * __ss, _Tp(1),
1417:                                        _Tp(1) - __nu * __ss) / _Tp(3);
1417: 
1417:           if (__n == 0)
1417:             return __Pi;
1417:           else
1417:             return __Pi + _Tp(2) * __n * __comp_ellint_3(__k, __nu);
1417:         }
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 53 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/exp_integral.tcc" 1 3
1417: # 50 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 64 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:   namespace __detail
1417:   {
1417:     template<typename _Tp> _Tp __expint_E1(_Tp);
1417: # 81 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_E1_series(_Tp __x)
1417:     {
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       _Tp __term = _Tp(1);
1417:       _Tp __esum = _Tp(0);
1417:       _Tp __osum = _Tp(0);
1417:       const unsigned int __max_iter = 1000;
1417:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1417:         {
1417:           __term *= - __x / __i;
1417:           if (std::abs(__term) < __eps)
1417:             break;
1417:           if (__term >= _Tp(0))
1417:             __esum += __term / __i;
1417:           else
1417:             __osum += __term / __i;
1417:         }
1417: 
1417:       return - __esum - __osum
1417:              - __numeric_constants<_Tp>::__gamma_e() - std::log(__x);
1417:     }
1417: # 118 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_E1_asymp(_Tp __x)
1417:     {
1417:       _Tp __term = _Tp(1);
1417:       _Tp __esum = _Tp(1);
1417:       _Tp __osum = _Tp(0);
1417:       const unsigned int __max_iter = 1000;
1417:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1417:         {

609: }
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h" 2
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/typeindex" 1 3
609: # 32 "/usr/include/c++/12/typeindex" 3
609:        
609: # 33 "/usr/include/c++/12/typeindex" 3
609: # 43 "/usr/include/c++/12/typeindex" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 55 "/usr/include/c++/12/typeindex" 3
609:   struct type_index
609:   {
609:     type_index(const type_info& __rhs) noexcept
609:     : _M_target(&__rhs) { }
609: 
609:     bool
609:     operator==(const type_index& __rhs) const noexcept
609:     { return *_M_target == *__rhs._M_target; }
609: 
609: 
609:     bool
609:     operator!=(const type_index& __rhs) const noexcept
609:     { return *_M_target != *__rhs._M_target; }
609: 
609: 
609:     bool
609:     operator<(const type_index& __rhs) const noexcept
609:     { return _M_target->before(*__rhs._M_target); }
609: 
609:     bool
609:     operator<=(const type_index& __rhs) const noexcept
609:     { return !__rhs._M_target->before(*_M_target); }
609: 
609:     bool
609:     operator>(const type_index& __rhs) const noexcept
609:     { return __rhs._M_target->before(*_M_target); }
609: 
609:     bool
609:     operator>=(const type_index& __rhs) const noexcept
609:     { return !_M_target->before(*__rhs._M_target); }
609: # 98 "/usr/include/c++/12/typeindex" 3
609:     size_t
609:     hash_code() const noexcept
609:     { return _M_target->hash_code(); }
609: 
609:     const char*
609:     name() const noexcept
609:     { return _M_target->name(); }
609: 
609:   private:
609:     const type_info* _M_target;
609:   };
609: 
609:   template<typename _Tp> struct hash;
609: 
609: 
609:   template<>
609:     struct hash<type_index>
609:     {
609:       typedef size_t result_type;
609:       typedef type_index argument_type;
609: 
609:       size_t
609:       operator()(const type_index& __ti) const noexcept
609:       { return __ti.hash_code(); }
609:     };
609: 
609: 
609: }
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h" 2
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h"
609: template<class BaseType>
609: class CComponentContainer
609: {
609: public:
609: 
609:   template<class T>
609:   std::shared_ptr<T> GetComponent()
609:   {
609:     return std::const_pointer_cast<T>(std::as_const(*this).template GetComponent<T>());
609:   }
609: 
609: 
609:   template<class T>
609:   std::shared_ptr<const T> GetComponent() const
609:   {
609:     std::unique_lock<CCriticalSection> lock(m_critSection);
609:     const auto it = m_components.find(std::type_index(typeid(T)));
609:     if (it != m_components.end())
609:       return std::static_pointer_cast<const T>((*it).second);
609: 
609:     throw std::logic_error("ComponentContainer: Attempt to obtain non-existent component");
609:   }
609: 
609: 
609:   std::size_t size() const { return m_components.size(); }
609: 
609: protected:
609: 
609:   void RegisterComponent(const std::shared_ptr<BaseType>& component)
609:   {
609:     if (!component)
609:       return;
609: 
609: 
609: 
609: 
609:     const auto& componentRef = *component;
609: 
609:     std::unique_lock<CCriticalSection> lock(m_critSection);
609:     m_components.insert({std::type_index(typeid(componentRef)), component});
609:   }
609: 
609: 
609:   void DeregisterComponent(const std::type_info& typeInfo)
609:   {
609:     std::unique_lock<CCriticalSection> lock(m_critSection);
609:     m_components.erase(typeInfo);
609:   }
609: 
609: private:
609:   mutable CCriticalSection m_critSection;
609:   std::unordered_map<std::type_index, std::shared_ptr<BaseType>>
609:       m_components;
609: };
609: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h" 2
609: 
609: 
609: using CApplicationComponents = CComponentContainer<IApplicationComponent>;
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/IActionListener.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/IActionListener.h"
609:        
609: 
609: class CAction;
609: 
609: class IActionListener
609: {
609: public:
609:   virtual ~IActionListener() = default;
609: 
609:   virtual bool OnAction(const CAction &action) = 0;
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
609:        
609: 
609: 
609: 
609: class CSetting;
609: class TiXmlNode;
609: 
609: class ISettingCallback
609: {
609: public:
609:   virtual ~ISettingCallback() = default;
609: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
609:   virtual bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) { return true; }
609: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
609:   virtual void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) {}
609: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
609:   virtual void OnSettingAction(const std::shared_ptr<const CSetting>& setting) {}
609: # 68 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
609:   virtual bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
609:                                const char* oldSettingId,
609:                                const TiXmlNode* oldSettingNode)
609:   {
609:     return false;
609:   }
609: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
609:   virtual void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
609:                                         const char* propertyName)
609:   {
609:   }
609: };
609: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Stopwatch.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Stopwatch.h"
609:        
609: 
609: 
609: 
609: 
609: class CStopWatch
609: {
609: public:
609:   CStopWatch() = default;
609:   ~CStopWatch() = default;
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline bool IsRunning() const
609:   {
609:     return m_isRunning;
609:   }
609: 
609: 
609: 
609: 
609:   inline void StartZero()
609:   {
609:     m_startTick = std::chrono::steady_clock::now();
609:     m_isRunning = true;
609:   }
609: 
609: 
609: 
609: 
609:   inline void Start()
609:   {
609:     if (!m_isRunning)
609:       StartZero();
609:   }
609: 
609: 
609: 
609: 
609:   inline void Stop()
609:   {
609:     if(m_isRunning)
609:     {
609:       m_stopTick = std::chrono::steady_clock::now();
609:       m_isRunning = false;
609:     }
609:   }
609: 
609: 
609: 
609: 
609:   void Reset()
609:   {
609:     if (m_isRunning)
609:       m_startTick = std::chrono::steady_clock::now();
609:     else
609:       m_startTick = m_stopTick;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   float GetElapsedSeconds() const
609:   {
609:     std::chrono::duration<float> elapsed;
609: 
609:     if (m_isRunning)
609:       elapsed = std::chrono::steady_clock::now() - m_startTick;
609:     else
609:       elapsed = m_stopTick - m_startTick;
609: 
609:     return elapsed.count();
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   float GetElapsedMilliseconds() const
609:   {
609:     std::chrono::duration<float, std::milli> elapsed;
609: 
609:     if (m_isRunning)
609:       elapsed = std::chrono::steady_clock::now() - m_startTick;
609:     else
609:       elapsed = m_stopTick - m_startTick;
609: 
609:     return elapsed.count();
609:   }
609: 
609: private:
609:   std::chro1417:           _Tp __prev = __term;
1417:           __term *= - __i / __x;
1417:           if (std::abs(__term) > std::abs(__prev))
1417:             break;
1417:           if (__term >= _Tp(0))
1417:             __esum += __term;
1417:           else
1417:             __osum += __term;
1417:         }
1417: 
1417:       return std::exp(- __x) * (__esum + __osum) / __x;
1417:     }
1417: # 155 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_En_series(unsigned int __n, _Tp __x)
1417:     {
1417:       const unsigned int __max_iter = 1000;
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       const int __nm1 = __n - 1;
1417:       _Tp __ans = (__nm1 != 0
1417:                 ? _Tp(1) / __nm1 : -std::log(__x)
1417:                                    - __numeric_constants<_Tp>::__gamma_e());
1417:       _Tp __fact = _Tp(1);
1417:       for (int __i = 1; __i <= __max_iter; ++__i)
1417:         {
1417:           __fact *= -__x / _Tp(__i);
1417:           _Tp __del;
1417:           if ( __i != __nm1 )
1417:             __del = -__fact / _Tp(__i - __nm1);
1417:           else
1417:             {
1417:               _Tp __psi = -__numeric_constants<_Tp>::gamma_e();
1417:               for (int __ii = 1; __ii <= __nm1; ++__ii)
1417:                 __psi += _Tp(1) / _Tp(__ii);
1417:               __del = __fact * (__psi - std::log(__x));
1417:             }
1417:           __ans += __del;
1417:           if (std::abs(__del) < __eps * std::abs(__ans))
1417:             return __ans;
1417:         }
1417:       std::__throw_runtime_error(("Series summation failed " "in __expint_En_series.")
1417:                                                               );
1417:     }
1417: # 201 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_En_cont_frac(unsigned int __n, _Tp __x)
1417:     {
1417:       const unsigned int __max_iter = 1000;
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       const _Tp __fp_min = std::numeric_limits<_Tp>::min();
1417:       const int __nm1 = __n - 1;
1417:       _Tp __b = __x + _Tp(__n);
1417:       _Tp __c = _Tp(1) / __fp_min;
1417:       _Tp __d = _Tp(1) / __b;
1417:       _Tp __h = __d;
1417:       for ( unsigned int __i = 1; __i <= __max_iter; ++__i )
1417:         {
1417:           _Tp __a = -_Tp(__i * (__nm1 + __i));
1417:           __b += _Tp(2);
1417:           __d = _Tp(1) / (__a * __d + __b);
1417:           __c = __b + __a / __c;
1417:           const _Tp __del = __c * __d;
1417:           __h *= __del;
1417:           if (std::abs(__del - _Tp(1)) < __eps)
1417:             {
1417:               const _Tp __ans = __h * std::exp(-__x);
1417:               return __ans;
1417:             }
1417:         }
1417:       std::__throw_runtime_error(("Continued fraction failed " "in __expint_En_cont_frac.")
1417:                                                                  );
1417:     }
1417: # 246 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_En_recursion(unsigned int __n, _Tp __x)
1417:     {
1417:       _Tp __En;
1417:       _Tp __E1 = __expint_E1(__x);
1417:       if (__x < _Tp(__n))
1417:         {
1417: 
1417:           __En = __E1;
1417:           for (unsigned int __j = 2; __j < __n; ++__j)
1417:             __En = (std::exp(-__x) - __x * __En) / _Tp(__j - 1);
1417:         }
1417:       else
1417:         {
1417: 
1417:           __En = _Tp(1);
1417:           const int __N = __n + 20;
1417:           _Tp __save = _Tp(0);
1417:           for (int __j = __N; __j > 0; --__j)
1417:             {
1417:               __En = (std::exp(-__x) - __j * __En) / __x;
1417:               if (__j == __n)
1417:                 __save = __En;
1417:             }
1417:             _Tp __norm = __En / __E1;
1417:             __En /= __norm;
1417:         }
1417: 
1417:       return __En;
1417:     }
1417: # 290 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_Ei_series(_Tp __x)
1417:     {
1417:       _Tp __term = _Tp(1);
1417:       _Tp __sum = _Tp(0);
1417:       const unsigned int __max_iter = 1000;
1417:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1417:         {
1417:           __term *= __x / __i;
1417:           __sum += __term / __i;
1417:           if (__term < std::numeric_limits<_Tp>::epsilon() * __sum)
1417:             break;
1417:         }
1417: 
1417:       return __numeric_constants<_Tp>::__gamma_e() + __sum + std::log(__x);
1417:     }
1417: # 321 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_Ei_asymp(_Tp __x)
1417:     {
1417:       _Tp __term = _Tp(1);
1417:       _Tp __sum = _Tp(1);
1417:       const unsigned int __max_iter = 1000;
1417:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1417:         {
1417:           _Tp __prev = __term;
1417:           __term *= __i / __x;
1417:           if (__term < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:           if (__term >= __prev)
1417:             break;
1417:           __sum += __term;
1417:         }
1417: 
1417:       return std::exp(__x) * __sum / __x;
1417:     }
1417: # 354 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_Ei(_Tp __x)
1417:     {
1417:       if (__x < _Tp(0))
1417:         return -__expint_E1(-__x);
1417:       else if (__x < -std::log(std::numeric_limits<_Tp>::epsilon()))
1417:         return __expint_Ei_series(__x);
1417:       else
1417:         return __expint_Ei_asymp(__x);
1417:     }
1417: # 378 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_E1(_Tp __x)
1417:     {
1417:       if (__x < _Tp(0))
1417:         return -__expint_Ei(-__x);
1417:       else if (__x < _Tp(1))
1417:         return __expint_E1_series(__x);
1417:       else if (__x < _Tp(100))
1417:         return __expint_En_cont_frac(1, __x);
1417:       else
1417:         return __expint_E1_asymp(__x);
1417:     }
1417: # 408 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_asymp(unsigned int __n, _Tp __x)
1417:     {
1417:       _Tp __term = _Tp(1);
1417:       _Tp __sum = _Tp(1);
1417:       for (unsigned int __i = 1; __i <= __n; ++__i)
1417:         {
1417:           _Tp __prev = __term;
1417:           __term *= -(__n - __i + 1) / __x;
1417:           if (std::abs(__term) > std::abs(__prev))
1417:             break;
1417:           __sum += __term;
1417:         }
1417: 
1417:       return std::exp(-__x) * __sum / __x;
1417:     }
1417: # 442 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint_large_n(unsigned int __n, _Tp __x)
1417:     {
1417:       const _Tp __xpn = __x + __n;
1417:       const _Tp __xpn2 = __xpn * __xpn;
1417:       _Tp __term = _Tp(1);
1417:       _Tp __sum = _Tp(1);
1417:       for (unsigned int __i = 1; __i <= __n; ++__i)
1417:         {
1417:           _Tp __prev = __term;
1417:           __term *= (__n - 2 * (__i - 1) * __x) / __xpn2;
1417:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:           __sum += __term;
1417:         }
1417: 
1417:       return std::exp(-__x) * __sum / __xpn;
1417:     }
1417: # 476 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __expint(unsigned int __n, _Tp __x)
1417:     {
1417: 
1417:       if (__isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__n <= 1 && __x == _Tp(0))
1417:         return std::numeric_limits<_Tp>::infinity();
1417:       else
1417:         {
1417:           _Tp __E0 = std::exp(__x) / __x;
1417:           if (__n == 0)
1417:             return __E0;
1417: 
1417:           _Tp __E1 = __expint_E1(__x);
1417:           if (__n == 1)
1417:             return __E1;
1417: 
1417:           if (__no::time_point<std::chrono::steady_clock> m_startTick;
609:   std::chrono::time_point<std::chrono::steady_clock> m_stopTick;
609:   bool m_isRunning = false;
609: };
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h" 2
609: 
609: 
609: 
609: 
609: 
609: struct IntegerSettingOption;
609: 
609: enum SeekType
609: {
609:   SEEK_TYPE_VIDEO = 0,
609:   SEEK_TYPE_MUSIC = 1
609: };
609: 
609: class CSeekHandler : public ISettingCallback, public IActionListener
609: {
609: public:
609:   CSeekHandler() = default;
609:   ~CSeekHandler() override;
609: 
609:   static void SettingOptionsSeekStepsFiller(const std::shared_ptr<const CSetting>& setting,
609:                                             std::vector<IntegerSettingOption>& list,
609:                                             int& current,
609:                                             void* data);
609: 
609:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
609:   bool OnAction(const CAction &action) override;
609: 
609:   void Seek(bool forward, float amount, float duration = 0, bool analogSeek = false, SeekType type = SEEK_TYPE_VIDEO);
609:   void SeekSeconds(int seconds);
609:   void FrameMove();
609:   void Reset();
609:   void Configure();
609: 
609:   int GetSeekSize() const;
609:   bool InProgress() const;
609: 
609:   bool HasTimeCode() const { return m_timeCodePosition > 0; }
609:   int GetTimeCodeSeconds() const;
609: 
609: protected:
609:   CSeekHandler(const CSeekHandler&) = delete;
609:   CSeekHandler& operator=(CSeekHandler const&) = delete;
609:   bool SeekTimeCode(const CAction &action);
609:   void ChangeTimeCode(int remote);
609: 
609: private:
609:   static const int analogSeekDelay = 500;
609: 
609:   void SetSeekSize(double seekSize);
609:   int GetSeekStepSize(SeekType type, int step);
609: 
609:   int m_seekDelay = 500;
609:   std::map<SeekType, int > m_seekDelays;
609:   bool m_requireSeek = false;
609:   bool m_seekChanged = false;
609:   bool m_analogSeek = false;
609:   double m_seekSize = 0;
609:   int m_seekStep = 0;
609:   std::map<SeekType, std::vector<int> > m_forwardSeekSteps;
609:   std::map<SeekType, std::vector<int> > m_backwardSeekSteps;
609:   CStopWatch m_timer;
609:   CStopWatch m_timerTimeCode;
609:   int m_timeCodeStamp[6];
609:   int m_timeCodePosition;
609: 
609:   CCriticalSection m_critSection;
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayerCallback.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayerCallback.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h"
609:        
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h" 1
609: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h"
609:        
609: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h"
609: template<typename Key, typename Value, size_t Size>
609: class CMap
609: {
609: public:
609:   template<typename Iterable>
609:   constexpr CMap(Iterable begin, Iterable end)
609:   {
609:     size_t index = 0;
609:     while (begin != end)
609:     {
609: 
609:       auto& first = m_map[index].first;
609:       auto& second = m_map[index].second;
609:       ++index;
609: 
609:       first = std::move(begin->first);
609:       second = std::move(begin->second);
609:       ++begin;
609: # 57 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h"
609:     }
609:   }
609: 
609:   ~CMap() = default;
609: 
609:   constexpr const Value& at(const Key& key) const
609:   {
609:     const auto it = find(key);
609:     if (it != m_map.cend())
609:     {
609:       return it->second;
609:     }
609:     else
609:     {
609:       throw std::range_error("Not Found");
609:     }
609:   }
609: 
609:   constexpr auto find(const Key& key) const
609:   {
609:     return std::find_if(m_map.cbegin(), m_map.cend(),
609:                         [&key](const auto& pair) { return pair.first == key; });
609:   }
609: 
609:   constexpr size_t size() const { return Size; }
609: 
609:   constexpr auto cbegin() const { return m_map.cbegin(); }
609:   constexpr auto cend() const { return m_map.cend(); }
609: 
609: private:
609:   CMap() = delete;
609: 
609:   std::array<std::pair<Key, Value>, Size> m_map;
609: };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: template<typename Key, typename Value, std::size_t Size>
609: constexpr auto make_map(std::pair<Key, Value>(&&m)[Size]) -> CMap<Key, Value, Size>
609: {
609:   return CMap<Key, Value, Size>(std::begin(m), std::end(m));
609: }
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h" 2
609: 
609: 
609: 
609: # 1 "/usr/include/fmt/format.h" 1 3 4
609: # 36 "/usr/include/fmt/format.h" 3 4
609: # 1 "/usr/include/c++/12/cmath" 1 3 4
609: # 39 "/usr/include/c++/12/cmath" 3 4
609:        
609: # 40 "/usr/include/c++/12/cmath" 3
609: # 37 "/usr/include/fmt/format.h" 2 3 4
609: 
609: # 1 "/usr/include/c++/12/cstring" 1 3 4
609: # 39 "/usr/include/c++/12/cstring" 3 4
609:        
609: # 40 "/usr/include/c++/12/cstring" 3
609: # 71 "/usr/include/c++/12/cstring" 3
609: 
609: # 71 "/usr/include/c++/12/cstring" 3
609: extern "C++"
609: {
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   using ::memchr;
609:   using ::memcmp;
609:   using ::memcpy;
609:   using ::memmove;
609:   using ::memset;
609:   using ::strcat;
609:   using ::strcmp;
609:   using ::strcoll;
609:   using ::strcpy;
609:   using ::strcspn;
609:   using ::strerror;
609:   using ::strlen;
609:   using ::strncat;
609:   using ::strncmp;
609:   using ::strncpy;
609:   using ::strspn;
609:   using ::strtok;
609:   using ::strxfrm;
609:   using ::strchr;
609:   using ::strpbrk;
609:   using ::strrchr;
609:   using ::strstr;
609: # 122 "/usr/include/c++/12/cstring" 3
609: 
609: }
609: }
609: # 39 "/usr/include/fmt/format.h" 2 3 4
609: # 48 "/usr/include/fmt/format.h" 3 4
609: # 1 "/usr/include/fmt/core.h" 1 3 4
609: # 12 "/usr/include/fmt/core.h" 3 4
609: # 1 "/usr/include/c++/12/cstdio" 1 3 4
609: # 39 "/usr/include/c++/12/cstdio" 3 4
609:        
609: # 40 "/usr/include/c++/12/cstdio" 3
609: # 13 "/usr/include/fmt/core.h" 2 3 4
609: # 1 "/usr/include/c++/12/cstring" 1 3 4
609: # 39 "/usr/include/c++/12/cstring" 3 4
609:        
609: # 40 "/usr/include/c++/12/cstring" 3
609: # 14 "/usr/include/fmt/core.h" 2 3 4
609: # 1 "/usr/include/c++/12/iterator" 1 3 4
609: # 58 "/usr/include/c++/12/iterator" 3 4
609:        
609: # 59 "/usr/include/c++/12/iterator" 3
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/stream_iterator.h" 1 3
609: # 33 "/usr/include/c++/12/bits/stream_iterator.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/stream_iterator.h" 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609:   template<typename _Tp, typename _CharT = char,
609:            typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
609:     class istream_iterator
609:     : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&>
609:     {
609:     public:
609:       typedef _CharT char_type;
609:       typedef _Traits traits_type;
609:       typedef basic_istream<_CharT, _Traits> istream_type;
609: 
609:     private:
609:       istream_type* _M_stream;
609:       _Tp _M_value;
609: 
609: 
609: 
609:       bool _M_ok;
609: 
609:     public:
609: 
609:       constexpr istream_iterator()
609:       noexcept(is_nothrow_default_constructible<_Tp>::value)
609:       : _M_stream(0), _M_value(), _M_ok(false) {}
609: 
609: 
609:       istream_iterator(istream_type& __s)
609:       : _M_stream(std::__addressof(__s)), _M_ok(true)
609:       { _M_read(); }
609: 
609:       istrx == _Tp(0))
1417:             return _Tp(1) / static_cast<_Tp>(__n - 1);
1417: 
1417:           _Tp __En = __expint_En_recursion(__n, __x);
1417: 
1417:           return __En;
1417:         }
1417:     }
1417: # 516 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __expint(_Tp __x)
1417:     {
1417:       if (__isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else
1417:         return __expint_Ei(__x);
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 54 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/hypergeometric.tcc" 1 3
1417: # 44 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 60 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 83 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __conf_hyperg_series(_Tp __a, _Tp __c, _Tp __x)
1417:     {
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417: 
1417:       _Tp __term = _Tp(1);
1417:       _Tp __Fac = _Tp(1);
1417:       const unsigned int __max_iter = 100000;
1417:       unsigned int __i;
1417:       for (__i = 0; __i < __max_iter; ++__i)
1417:         {
1417:           __term *= (__a + _Tp(__i)) * __x
1417:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1417:           if (std::abs(__term) < __eps)
1417:             {
1417:               break;
1417:             }
1417:           __Fac += __term;
1417:         }
1417:       if (__i == __max_iter)
1417:         std::__throw_runtime_error(("Series failed to converge " "in __conf_hyperg_series.")
1417:                                                                   );
1417: 
1417:       return __Fac;
1417:     }
1417: # 120 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __conf_hyperg_luke(_Tp __a, _Tp __c, _Tp __xin)
1417:     {
1417:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1417:       const int __nmax = 20000;
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       const _Tp __x = -__xin;
1417:       const _Tp __x3 = __x * __x * __x;
1417:       const _Tp __t0 = __a / __c;
1417:       const _Tp __t1 = (__a + _Tp(1)) / (_Tp(2) * __c);
1417:       const _Tp __t2 = (__a + _Tp(2)) / (_Tp(2) * (__c + _Tp(1)));
1417:       _Tp __F = _Tp(1);
1417:       _Tp __prec;
1417: 
1417:       _Tp __Bnm3 = _Tp(1);
1417:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1417:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1417: 
1417:       _Tp __Anm3 = _Tp(1);
1417:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1417:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1417:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1417: 
1417:       int __n = 3;
1417:       while(1)
1417:         {
1417:           _Tp __npam1 = _Tp(__n - 1) + __a;
1417:           _Tp __npcm1 = _Tp(__n - 1) + __c;
1417:           _Tp __npam2 = _Tp(__n - 2) + __a;
1417:           _Tp __npcm2 = _Tp(__n - 2) + __c;
1417:           _Tp __tnm1 = _Tp(2 * __n - 1);
1417:           _Tp __tnm3 = _Tp(2 * __n - 3);
1417:           _Tp __tnm5 = _Tp(2 * __n - 5);
1417:           _Tp __F1 = (_Tp(__n - 2) - __a) / (_Tp(2) * __tnm3 * __npcm1);
1417:           _Tp __F2 = (_Tp(__n) + __a) * __npam1
1417:                    / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1417:           _Tp __F3 = -__npam2 * __npam1 * (_Tp(__n - 2) - __a)
1417:                    / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1417:                    * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1417:           _Tp __E = -__npam1 * (_Tp(__n - 1) - __c)
1417:                    / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1417: 
1417:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1417:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1417:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1417:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1417:           _Tp __r = __An / __Bn;
1417: 
1417:           __prec = std::abs((__F - __r) / __F);
1417:           __F = __r;
1417: 
1417:           if (__prec < __eps || __n > __nmax)
1417:             break;
1417: 
1417:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1417:             {
1417:               __An /= __big;
1417:               __Bn /= __big;
1417:               __Anm1 /= __big;
1417:               __Bnm1 /= __big;
1417:               __Anm2 /= __big;
1417:               __Bnm2 /= __big;
1417:               __Anm3 /= __big;
1417:               __Bnm3 /= __big;
1417:             }
1417:           else if (std::abs(__An) < _Tp(1) / __big
1417:                 || std::abs(__Bn) < _Tp(1) / __big)
1417:             {
1417:               __An *= __big;
1417:               __Bn *= __big;
1417:               __Anm1 *= __big;
1417:               __Bnm1 *= __big;
1417:               __Anm2 *= __big;
1417:               __Bnm2 *= __big;
1417:               __Anm3 *= __big;
1417:               __Bnm3 *= __big;
1417:             }
1417: 
1417:           ++__n;
1417:           __Bnm3 = __Bnm2;
1417:           __Bnm2 = __Bnm1;
1417:           __Bnm1 = __Bn;
1417:           __Anm3 = __Anm2;
1417:           __Anm2 = __Anm1;
1417:           __Anm1 = __An;
1417:         }
1417: 
1417:       if (__n >= __nmax)
1417:         std::__throw_runtime_error(("Iteration failed to converge " "in __conf_hyperg_luke.")
1417:                                                                 );
1417: 
1417:       return __F;
1417:     }
1417: # 227 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __conf_hyperg(_Tp __a, _Tp __c, _Tp __x)
1417:     {
1417: 
1417:       const _Tp __c_nint = ::std::nearbyint(__c);
1417: 
1417: 
1417: 
1417:       if (__isnan(__a) || __isnan(__c) || __isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__c_nint == __c && __c_nint <= 0)
1417:         return std::numeric_limits<_Tp>::infinity();
1417:       else if (__a == _Tp(0))
1417:         return _Tp(1);
1417:       else if (__c == __a)
1417:         return std::exp(__x);
1417:       else if (__x < _Tp(0))
1417:         return __conf_hyperg_luke(__a, __c, __x);
1417:       else
1417:         return __conf_hyperg_series(__a, __c, __x);
1417:     }
1417: # 271 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __hyperg_series(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1417:     {
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417: 
1417:       _Tp __term = _Tp(1);
1417:       _Tp __Fabc = _Tp(1);
1417:       const unsigned int __max_iter = 100000;
1417:       unsigned int __i;
1417:       for (__i = 0; __i < __max_iter; ++__i)
1417:         {
1417:           __term *= (__a + _Tp(__i)) * (__b + _Tp(__i)) * __x
1417:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1417:           if (std::abs(__term) < __eps)
1417:             {
1417:               break;
1417:             }
1417:           __Fabc += __term;
1417:         }
1417:       if (__i == __max_iter)
1417:         std::__throw_runtime_error(("Series failed to converge " "in __hyperg_series.")
1417:                                                              );
1417: 
1417:       return __Fabc;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:     _Tp
1417:     __hyperg_luke(_Tp __a, _Tp __b, _Tp __c, _Tp __xin)
1417:     {
1417:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1417:       const int __nmax = 20000;
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       const _Tp __x = -__xin;
1417:       const _Tp __x3 = __x * __x * __x;
1417:       const _Tp __t0 = __a * __b / __c;
1417:       const _Tp __t1 = (__a + _Tp(1)) * (__b + _Tp(1)) / (_Tp(2) * __c);
1417:       const _Tp __t2 = (__a + _Tp(2)) * (__eam_iterator(const istream_iterator& __obj)
609:       noexcept(is_nothrow_copy_constructible<_Tp>::value)
609:       : _M_stream(__obj._M_stream), _M_value(__obj._M_value),
609:         _M_ok(__obj._M_ok)
609:       { }
609: # 94 "/usr/include/c++/12/bits/stream_iterator.h" 3
609:       istream_iterator& operator=(const istream_iterator&) = default;
609:       ~istream_iterator() = default;
609: 
609: 
609:       [[__nodiscard__]]
609:       const _Tp&
609:       operator*() const noexcept
609:       {
609: 
609: 
609:                         ;
609:  return _M_value;
609:       }
609: 
609:       [[__nodiscard__]]
609:       const _Tp*
609:       operator->() const noexcept
609:       { return std::__addressof((operator*())); }
609: 
609:       istream_iterator&
609:       operator++()
609:       {
609: 
609: 
609:                         ;
609:  _M_read();
609:  return *this;
609:       }
609: 
609:       istream_iterator
609:       operator++(int)
609:       {
609: 
609: 
609:                         ;
609:  istream_iterator __tmp = *this;
609:  _M_read();
609:  return __tmp;
609:       }
609: 
609:     private:
609:       bool
609:       _M_equal(const istream_iterator& __x) const noexcept
609:       {
609: 
609: 
609:  return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream);
609:       }
609: 
609:       void
609:       _M_read()
609:       {
609:         if (_M_stream && !(*_M_stream >> _M_value))
609:           {
609:             _M_stream = 0;
609:             _M_ok = false;
609:           }
609:       }
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator==(const istream_iterator& __x, const istream_iterator& __y)
609:       noexcept
609:       { return __x._M_equal(__y); }
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       friend bool
609:       operator!=(const istream_iterator& __x, const istream_iterator& __y)
609:       noexcept
609:       { return !__x._M_equal(__y); }
609: # 177 "/usr/include/c++/12/bits/stream_iterator.h" 3
609:     };
609: # 190 "/usr/include/c++/12/bits/stream_iterator.h" 3
609:   template<typename _Tp, typename _CharT = char,
609:            typename _Traits = char_traits<_CharT> >
609:     class ostream_iterator
609:     : public iterator<output_iterator_tag, void, void, void, void>
609:     {
609:     public:
609: 
609: 
609: 
609: 
609: 
609:       typedef _CharT char_type;
609:       typedef _Traits traits_type;
609:       typedef basic_ostream<_CharT, _Traits> ostream_type;
609: 
609: 
609:     private:
609:       ostream_type* _M_stream;
609:       const _CharT* _M_string;
609: 
609:     public:
609: 
609:       ostream_iterator(ostream_type& __s) noexcept
609:       : _M_stream(std::__addressof(__s)), _M_string(0) {}
609: # 225 "/usr/include/c++/12/bits/stream_iterator.h" 3
609:       ostream_iterator(ostream_type& __s, const _CharT* __c) noexcept
609:       : _M_stream(std::__addressof(__s)), _M_string(__c) { }
609: 
609: 
609:       ostream_iterator(const ostream_iterator& __obj) noexcept
609:       : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { }
609: 
609: 
609:       ostream_iterator& operator=(const ostream_iterator&) = default;
609: 
609: 
609: 
609: 
609:       ostream_iterator&
609:       operator=(const _Tp& __value)
609:       {
609: 
609: 
609:                         ;
609:  *_M_stream << __value;
609:  if (_M_string)
609:           *_M_stream << _M_string;
609:  return *this;
609:       }
609: 
609:       [[__nodiscard__]]
609:       ostream_iterator&
609:       operator*() noexcept
609:       { return *this; }
609: 
609:       ostream_iterator&
609:       operator++() noexcept
609:       { return *this; }
609: 
609:       ostream_iterator&
609:       operator++(int) noexcept
609:       { return *this; }
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609: 
609: 
609: }
609: # 66 "/usr/include/c++/12/iterator" 2 3
609: # 1 "/usr/include/c++/12/bits/streambuf_iterator.h" 1 3
609: # 33 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
609: 
609: # 1 "/usr/include/c++/12/streambuf" 1 3
609: # 36 "/usr/include/c++/12/streambuf" 3
609:        
609: # 37 "/usr/include/c++/12/streambuf" 3
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/ios_base.h" 1 3
609: # 37 "/usr/include/c++/12/bits/ios_base.h" 3
609:        
609: # 38 "/usr/include/c++/12/bits/ios_base.h" 3
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/bits/locale_classes.h" 1 3
609: # 37 "/usr/include/c++/12/bits/locale_classes.h" 3
609:        
609: # 38 "/usr/include/c++/12/bits/locale_classes.h" 3
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 62 "/usr/include/c++/12/bits/locale_classes.h" 3
609:   class locale
609:   {
609:   public:
609: 
609: 
609:     typedef int category;
609: 
609: 
609:     class facet;
609:     class id;
609:     class _Impl;
609: 
609:     friend class facet;
609:     friend class _Impl;
609: 
609:     template<typename _Facet>
609:       friend bool
609:       has_facet(const locale&) throw();
609: 
609:     template<typename _Facet>
609:       friend const _Facet&
609:       use_facet(const locale&);
609: 
609:     template<typename _Cache>
609:       friend struct __use_cache;
609: # 98 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     static const category none = 0;
609:     static const category ctype = 1L << 0;
609:     static const category numeric = 1L << 1;
609:     static const category collate = 1L << 2;
609:     static const category time = 1L << 3;
609:     static const category monetary = 1L << 4;
609:     static const category messages = 1L << 5;
609:     static const category all = (ctype | numeric | collate |
609:         time | monetary | messages);
609: # 117 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     locale() throw();
609: # 126 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     locale(const locale& __other) throw();
609: # 136 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     explicit
609:     locale(const char* __s);
609: # 151 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     locale(const locale& __base, const char* __s, category __cat);
609: # 162 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     explicit
609:     locale(const std::string& __s) : locale(__s.c_str()) { }
609: # 177 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     locale(const locale& __base, const std::string& __s, category __cat)
609:     : locale(__base, __s.c_str(), __cat) { }
609: # 192 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     locale(const locale& __base, const locale& __add, category __cat);
609: # 205 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     template<typename _Facet>
609:       locale(const locale& __other, _Facet* __f);
609: 
609: 
609:     ~locale() throw();
609: # 219 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     const locale&
609:     operator=(const locale& __other) throw();
609: # 234 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     template<typename _Facet>
609:       locale
609:       combine(const locale& __other) const;
609: 
609: 
609: 
609: 
609: 
609: 
609:     __attribute ((__abi_tag__ ("cxx11")))
609:     string
609:     name() const;
609: # 254 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     bool
609:     operator==(const locale& __other) const throw();
609: # 264 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     bool
609:     operator!=(const locale& __other) const throw()
609:     { return !(this->operator==(__other)); }
609: # 284 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     template<typename _Char, typename _Traits, typename _Alloc>
609:       bool
609:       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
609:    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
609: # 300 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     static locale
609:     global(const locale& __loc);
609: 
609: 
609: 
609: 
609:     static const locale&
609:     classic();
609: 
609:   private:
609: 
609:     _Impl* _M_impl;
609: 
609: 
609:     staticb + _Tp(2))
1417:                      / (_Tp(2) * (__c + _Tp(1)));
1417: 
1417:       _Tp __F = _Tp(1);
1417: 
1417:       _Tp __Bnm3 = _Tp(1);
1417:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1417:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1417: 
1417:       _Tp __Anm3 = _Tp(1);
1417:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1417:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1417:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1417: 
1417:       int __n = 3;
1417:       while (1)
1417:         {
1417:           const _Tp __npam1 = _Tp(__n - 1) + __a;
1417:           const _Tp __npbm1 = _Tp(__n - 1) + __b;
1417:           const _Tp __npcm1 = _Tp(__n - 1) + __c;
1417:           const _Tp __npam2 = _Tp(__n - 2) + __a;
1417:           const _Tp __npbm2 = _Tp(__n - 2) + __b;
1417:           const _Tp __npcm2 = _Tp(__n - 2) + __c;
1417:           const _Tp __tnm1 = _Tp(2 * __n - 1);
1417:           const _Tp __tnm3 = _Tp(2 * __n - 3);
1417:           const _Tp __tnm5 = _Tp(2 * __n - 5);
1417:           const _Tp __n2 = __n * __n;
1417:           const _Tp __F1 = (_Tp(3) * __n2 + (__a + __b - _Tp(6)) * __n
1417:                          + _Tp(2) - __a * __b - _Tp(2) * (__a + __b))
1417:                          / (_Tp(2) * __tnm3 * __npcm1);
1417:           const _Tp __F2 = -(_Tp(3) * __n2 - (__a + __b + _Tp(6)) * __n
1417:                          + _Tp(2) - __a * __b) * __npam1 * __npbm1
1417:                          / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1417:           const _Tp __F3 = (__npam2 * __npam1 * __npbm2 * __npbm1
1417:                          * (_Tp(__n - 2) - __a) * (_Tp(__n - 2) - __b))
1417:                          / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1417:                          * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1417:           const _Tp __E = -__npam1 * __npbm1 * (_Tp(__n - 1) - __c)
1417:                          / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1417: 
1417:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1417:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1417:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1417:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1417:           const _Tp __r = __An / __Bn;
1417: 
1417:           const _Tp __prec = std::abs((__F - __r) / __F);
1417:           __F = __r;
1417: 
1417:           if (__prec < __eps || __n > __nmax)
1417:             break;
1417: 
1417:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1417:             {
1417:               __An /= __big;
1417:               __Bn /= __big;
1417:               __Anm1 /= __big;
1417:               __Bnm1 /= __big;
1417:               __Anm2 /= __big;
1417:               __Bnm2 /= __big;
1417:               __Anm3 /= __big;
1417:               __Bnm3 /= __big;
1417:             }
1417:           else if (std::abs(__An) < _Tp(1) / __big
1417:                 || std::abs(__Bn) < _Tp(1) / __big)
1417:             {
1417:               __An *= __big;
1417:               __Bn *= __big;
1417:               __Anm1 *= __big;
1417:               __Bnm1 *= __big;
1417:               __Anm2 *= __big;
1417:               __Bnm2 *= __big;
1417:               __Anm3 *= __big;
1417:               __Bnm3 *= __big;
1417:             }
1417: 
1417:           ++__n;
1417:           __Bnm3 = __Bnm2;
1417:           __Bnm2 = __Bnm1;
1417:           __Bnm1 = __Bn;
1417:           __Anm3 = __Anm2;
1417:           __Anm2 = __Anm1;
1417:           __Anm1 = __An;
1417:         }
1417: 
1417:       if (__n >= __nmax)
1417:         std::__throw_runtime_error(("Iteration failed to converge " "in __hyperg_luke.")
1417:                                                            );
1417: 
1417:       return __F;
1417:     }
1417: # 438 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __hyperg_reflect(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1417:     {
1417:       const _Tp __d = __c - __a - __b;
1417:       const int __intd = std::floor(__d + _Tp(0.5L));
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       const _Tp __toler = _Tp(1000) * __eps;
1417:       const _Tp __log_max = std::log(std::numeric_limits<_Tp>::max());
1417:       const bool __d_integer = (std::abs(__d - __intd) < __toler);
1417: 
1417:       if (__d_integer)
1417:         {
1417:           const _Tp __ln_omx = std::log(_Tp(1) - __x);
1417:           const _Tp __ad = std::abs(__d);
1417:           _Tp __F1, __F2;
1417: 
1417:           _Tp __d1, __d2;
1417:           if (__d >= _Tp(0))
1417:             {
1417:               __d1 = __d;
1417:               __d2 = _Tp(0);
1417:             }
1417:           else
1417:             {
1417:               __d1 = _Tp(0);
1417:               __d2 = __d;
1417:             }
1417: 
1417:           const _Tp __lng_c = __log_gamma(__c);
1417: 
1417: 
1417:           if (__ad < __eps)
1417:             {
1417: 
1417:               __F1 = _Tp(0);
1417:             }
1417:           else
1417:             {
1417: 
1417:               bool __ok_d1 = true;
1417:               _Tp __lng_ad, __lng_ad1, __lng_bd1;
1417:               try
1417:                 {
1417:                   __lng_ad = __log_gamma(__ad);
1417:                   __lng_ad1 = __log_gamma(__a + __d1);
1417:                   __lng_bd1 = __log_gamma(__b + __d1);
1417:                 }
1417:               catch(...)
1417:                 {
1417:                   __ok_d1 = false;
1417:                 }
1417: 
1417:               if (__ok_d1)
1417:                 {
1417: 
1417: 
1417: 
1417:                   _Tp __sum1 = _Tp(1);
1417:                   _Tp __term = _Tp(1);
1417:                   _Tp __ln_pre1 = __lng_ad + __lng_c + __d2 * __ln_omx
1417:                                 - __lng_ad1 - __lng_bd1;
1417: 
1417: 
1417: 
1417:                   for (int __i = 1; __i < __ad; ++__i)
1417:                     {
1417:                       const int __j = __i - 1;
1417:                       __term *= (__a + __d2 + __j) * (__b + __d2 + __j)
1417:                               / (_Tp(1) + __d2 + __j) / __i * (_Tp(1) - __x);
1417:                       __sum1 += __term;
1417:                     }
1417: 
1417:                   if (__ln_pre1 > __log_max)
1417:                     std::__throw_runtime_error(("Overflow of gamma functions" " in __hyperg_luke.")
1417:                                                                         );
1417:                   else
1417:                     __F1 = std::exp(__ln_pre1) * __sum1;
1417:                 }
1417:               else
1417:                 {
1417: 
1417: 
1417:                   __F1 = _Tp(0);
1417:                 }
1417:             }
1417: 
1417: 
1417:           bool __ok_d2 = true;
1417:           _Tp __lng_ad2, __lng_bd2;
1417:           try
1417:             {
1417:               __lng_ad2 = __log_gamma(__a + __d2);
1417:               __lng_bd2 = __log_gamma(__b + __d2);
1417:             }
1417:           catch(...)
1417:             {
1417:               __ok_d2 = false;
1417:             }
1417: 
1417:           if (__ok_d2)
1417:             {
1417: 
1417: 
1417:               const int __maxiter = 2000;
1417:               const _Tp __psi_1 = -__numeric_constants<_Tp>::__gamma_e();
1417:               const _Tp __psi_1pd = __psi(_Tp(1) + __ad);
1417:               const _Tp __psi_apd1 = __psi(__a + __d1);
1417:               const _Tp __psi_bpd1 = __psi(__b + __d1);
1417: 
1417:               _Tp __psi_term = __psi_1 + __psi_1pd - __psi_apd1
1417:                              - __psi_bpd1 - __ln_omx;
1417:               _Tp __fact = _Tp(1);
1417:               _Tp __sum2 = __psi_term;
1417:               _Tp __ln_pre2 = __lng_c + __d1 * __ln_omx
1417:                             - __lng_ad2 - __lng_bd2;
1417: 
1417: 
1417:               int __j;
1417:               for (__j = 1; __j < __maxiter; ++__j)
1417:                 {
1417: 
1417: 
1417:                   const _Tp __term1 = _Tp(1) / _Tp(__j)
1417:                                     + _Tp(1) /  _Impl* _S_classic;
609: 
609: 
609:     static _Impl* _S_global;
609: 
609: 
609: 
609: 
609: 
609:     static const char* const* const _S_categories;
609: # 335 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     enum { _S_categories_size = 6 + 6 };
609: 
609: 
609:     static __gthread_once_t _S_once;
609: 
609: 
609:     explicit
609:     locale(_Impl*) throw();
609: 
609:     static void
609:     _S_initialize();
609: 
609:     static void
609:     _S_initialize_once() throw();
609: 
609:     static category
609:     _S_normalize_category(category);
609: 
609:     void
609:     _M_coalesce(const locale& __base, const locale& __add, category __cat);
609: 
609: 
609:     static const id* const _S_twinned_facets[];
609: 
609:   };
609: # 373 "/usr/include/c++/12/bits/locale_classes.h" 3
609:   class locale::facet
609:   {
609:   private:
609:     friend class locale;
609:     friend class locale::_Impl;
609: 
609:     mutable _Atomic_word _M_refcount;
609: 
609: 
609:     static __c_locale _S_c_locale;
609: 
609: 
609:     static const char _S_c_name[2];
609: 
609: 
609:     static __gthread_once_t _S_once;
609: 
609: 
609:     static void
609:     _S_initialize_once();
609: 
609:   protected:
609: # 404 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     explicit
609:     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
609:     { }
609: 
609: 
609:     virtual
609:     ~facet();
609: 
609:     static void
609:     _S_create_c_locale(__c_locale& __cloc, const char* __s,
609:          __c_locale __old = 0);
609: 
609:     static __c_locale
609:     _S_clone_c_locale(__c_locale& __cloc) throw();
609: 
609:     static void
609:     _S_destroy_c_locale(__c_locale& __cloc);
609: 
609:     static __c_locale
609:     _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
609: 
609: 
609: 
609:     static __c_locale
609:     _S_get_c_locale();
609: 
609:     __attribute__ ((__const__)) static const char*
609:     _S_get_c_name() throw();
609: # 440 "/usr/include/c++/12/bits/locale_classes.h" 3
609:     facet(const facet&) = delete;
609: 
609:     facet&
609:     operator=(const facet&) = delete;
609: 
609: 
609:   private:
609:     void
609:     _M_add_reference() const throw()
609:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
609: 
609:     void
609:     _M_remove_reference() const throw()
609:     {
609: 
609:       ;
609:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
609:  {
609:           ;
609:    try
609:      { delete this; }
609:    catch(...)
609:      { }
609:  }
609:     }
609: 
609:     const facet* _M_sso_shim(const id*) const;
609:     const facet* _M_cow_shim(const id*) const;
609: 
609:   protected:
609:     class __shim;
609:   };
609: # 485 "/usr/include/c++/12/bits/locale_classes.h" 3
609:   class locale::id
609:   {
609:   private:
609:     friend class locale;
609:     friend class locale::_Impl;
609: 
609:     template<typename _Facet>
609:       friend const _Facet&
609:       use_facet(const locale&);
609: 
609:     template<typename _Facet>
609:       friend bool
609:       has_facet(const locale&) throw();
609: 
609: 
609: 
609: 
609:     mutable size_t _M_index;
609: 
609: 
609:     static _Atomic_word _S_refcount;
609: 
609:     void
609:     operator=(const id&);
609: 
609:     id(const id&);
609: 
609:   public:
609: 
609: 
609: 
609:     id() { }
609: 
609:     size_t
609:     _M_id() const throw();
609:   };
609: 
609: 
609: 
609:   class locale::_Impl
609:   {
609:   public:
609: 
609:     friend class locale;
609:     friend class locale::facet;
609: 
609:     template<typename _Facet>
609:       friend bool
609:       has_facet(const locale&) throw();
609: 
609:     template<typename _Facet>
609:       friend const _Facet&
609:       use_facet(const locale&);
609: 
609:     template<typename _Cache>
609:       friend struct __use_cache;
609: 
609:   private:
609: 
609:     _Atomic_word _M_refcount;
609:     const facet** _M_facets;
609:     size_t _M_facets_size;
609:     const facet** _M_caches;
609:     char** _M_names;
609:     static const locale::id* const _S_id_ctype[];
609:     static const locale::id* const _S_id_numeric[];
609:     static const locale::id* const _S_id_collate[];
609:     static const locale::id* const _S_id_time[];
609:     static const locale::id* const _S_id_monetary[];
609:     static const locale::id* const _S_id_messages[];
609:     static const locale::id* const* const _S_facet_categories[];
609: 
609:     void
609:     _M_add_reference() throw()
609:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
609: 
609:     void
609:     _M_remove_reference() throw()
609:     {
609: 
609:       ;
609:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
609:  {
609:           ;
609:    try
609:      { delete this; }
609:    catch(...)
609:      { }
609:  }
609:     }
609: 
609:     _Impl(const _Impl&, size_t);
609:     _Impl(const char*, size_t);
609:     _Impl(size_t) throw();
609: 
609:    ~_Impl() throw();
609: 
609:     _Impl(const _Impl&);
609: 
609:     void
609:     operator=(const _Impl&);
609: 
609:     bool
609:     _M_check_same_name()
609:     {
609:       bool __ret = true;
609:       if (_M_names[1])
609: 
609:  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
609:    __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
609:       return __ret;
609:     }
609: 
609:     void
609:     _M_replace_categories(const _Impl*, category);
609: 
609:     void
609:     _M_replace_category(const _Impl*, const locale::id* const*);
609: 
609:     void
609:     _M_replace_facet(const _Impl*, const locale::id*);
609: 
609:     void
609:     _M_install_facet(const locale::id*, const facet*);
609: 
609:     template<typename _Facet>
609:       void
609:       _M_init_facet(_Facet* __facet)
609:       { _M_install_facet(&_Facet::id, __facet); }
609: 
609:     template<typename _Facet>
609:       void
609:       _M_init_facet_unchecked(_Facet* __facet)
609:       {
609:  __facet->_M_add_reference();
609:  _M_facets[_Facet::id._M_id()] = __facet;
609:       }
609: 
609:     void
609:     _M_install_cache(const facet*, size_t);
609: 
609:     void _M_init_extra(facet**);
609:     void _M_init_extra(void*, void*, const char*, const char*);
609: 
609: 
609: 
609: 
609:   };
609: # 647 "/usr/include/c++/12/bits/locale_classes.h" 3
609:   template<typename _CharT>
609:     class __cxx11:: collate : public locale::facet
609:     {
609:     public:
609: 
609: 
609: 
609:       typedef _CharT char_type;
609:       typedef basic_string<_CharT> string_type;
609: 
609: 
609:     protected:
609: 
609: 
609:       __c_locale _M_c_locale_collate;
609: 
609:     public:
609: 
609:       static locale::id id;
609: # 674 "/usr/include/c++/12/bits/locale_classes.h" 3
609:       explicit
609:       collate(size_t __refs = 0)
609:       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
609:       { }
609: # 688 "/usr/include/c++/12/bits/locale_classes.h" 3
609:       explicit
609:       collate(__c_locale __cloc, size_t __refs = 0)
609:       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
609:       { }
609: # 705 "/usr/include/c++/12/bits/locale_classes.h" 3
609:       int
609:       compare(const _CharT* __lo1, const _CharT* __hi1,
609:        const _CharT* __lo2, const _CharT* __hi2) const
609:       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
609: # 724 "/usr/include/c++/12/bits/locale_classes.h" 3
609:       string_type
609:       transform(const _CharT* __lo, const _CharT* __hi) const
609:       { return this->do_transform(__lo, __hi); }
609: # 738 "/usr/include/c++/12/bits/locale_classes.h" 3
609:       long
609:       hash(const _CharT* __lo, const _CharT* __hi) const
609:       { return this->do_hash(__lo, __hi); }
609: 
609: 
609:       int
609:       _M_compare(const _CharT*, const _CharT*) const throw();
609: 
609:       size_t
609:       _M_transform(_CharT*, const _CharT*, size_t) const throw();
609: 
609:   protected:
609: 
609:       virtual
609:       ~collate()
609:       { _S_destroy_c_locale(_M_c_locale_collate); }
609: # 767 "/usr/inc(__ad + __j);
1417:                   const _Tp __term2 = _Tp(1) / (__a + __d1 + _Tp(__j - 1))
1417:                                     + _Tp(1) / (__b + __d1 + _Tp(__j - 1));
1417:                   __psi_term += __term1 - __term2;
1417:                   __fact *= (__a + __d1 + _Tp(__j - 1))
1417:                           * (__b + __d1 + _Tp(__j - 1))
1417:                           / ((__ad + __j) * __j) * (_Tp(1) - __x);
1417:                   const _Tp __delta = __fact * __psi_term;
1417:                   __sum2 += __delta;
1417:                   if (std::abs(__delta) < __eps * std::abs(__sum2))
1417:                     break;
1417:                 }
1417:               if (__j == __maxiter)
1417:                 std::__throw_runtime_error(("Sum F2 failed to converge " "in __hyperg_reflect")
1417:                                                                      );
1417: 
1417:               if (__sum2 == _Tp(0))
1417:                 __F2 = _Tp(0);
1417:               else
1417:                 __F2 = std::exp(__ln_pre2) * __sum2;
1417:             }
1417:           else
1417:             {
1417: 
1417: 
1417:               __F2 = _Tp(0);
1417:             }
1417: 
1417:           const _Tp __sgn_2 = (__intd % 2 == 1 ? -_Tp(1) : _Tp(1));
1417:           const _Tp __F = __F1 + __sgn_2 * __F2;
1417: 
1417:           return __F;
1417:         }
1417:       else
1417:         {
1417: 
1417: 
1417: 
1417: 
1417:           bool __ok1 = true;
1417:           _Tp __sgn_g1ca = _Tp(0), __ln_g1ca = _Tp(0);
1417:           _Tp __sgn_g1cb = _Tp(0), __ln_g1cb = _Tp(0);
1417:           try
1417:             {
1417:               __sgn_g1ca = __log_gamma_sign(__c - __a);
1417:               __ln_g1ca = __log_gamma(__c - __a);
1417:               __sgn_g1cb = __log_gamma_sign(__c - __b);
1417:               __ln_g1cb = __log_gamma(__c - __b);
1417:             }
1417:           catch(...)
1417:             {
1417:               __ok1 = false;
1417:             }
1417: 
1417:           bool __ok2 = true;
1417:           _Tp __sgn_g2a = _Tp(0), __ln_g2a = _Tp(0);
1417:           _Tp __sgn_g2b = _Tp(0), __ln_g2b = _Tp(0);
1417:           try
1417:             {
1417:               __sgn_g2a = __log_gamma_sign(__a);
1417:               __ln_g2a = __log_gamma(__a);
1417:               __sgn_g2b = __log_gamma_sign(__b);
1417:               __ln_g2b = __log_gamma(__b);
1417:             }
1417:           catch(...)
1417:             {
1417:               __ok2 = false;
1417:             }
1417: 
1417:           const _Tp __sgn_gc = __log_gamma_sign(__c);
1417:           const _Tp __ln_gc = __log_gamma(__c);
1417:           const _Tp __sgn_gd = __log_gamma_sign(__d);
1417:           const _Tp __ln_gd = __log_gamma(__d);
1417:           const _Tp __sgn_gmd = __log_gamma_sign(-__d);
1417:           const _Tp __ln_gmd = __log_gamma(-__d);
1417: 
1417:           const _Tp __sgn1 = __sgn_gc * __sgn_gd * __sgn_g1ca * __sgn_g1cb;
1417:           const _Tp __sgn2 = __sgn_gc * __sgn_gmd * __sgn_g2a * __sgn_g2b;
1417: 
1417:           _Tp __pre1, __pre2;
1417:           if (__ok1 && __ok2)
1417:             {
1417:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1417:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1417:                             + __d * std::log(_Tp(1) - __x);
1417:               if (__ln_pre1 < __log_max && __ln_pre2 < __log_max)
1417:                 {
1417:                   __pre1 = std::exp(__ln_pre1);
1417:                   __pre2 = std::exp(__ln_pre2);
1417:                   __pre1 *= __sgn1;
1417:                   __pre2 *= __sgn2;
1417:                 }
1417:               else
1417:                 {
1417:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1417:                                                                        );
1417:                 }
1417:             }
1417:           else if (__ok1 && !__ok2)
1417:             {
1417:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1417:               if (__ln_pre1 < __log_max)
1417:                 {
1417:                   __pre1 = std::exp(__ln_pre1);
1417:                   __pre1 *= __sgn1;
1417:                   __pre2 = _Tp(0);
1417:                 }
1417:               else
1417:                 {
1417:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1417:                                                                        );
1417:                 }
1417:             }
1417:           else if (!__ok1 && __ok2)
1417:             {
1417:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1417:                             + __d * std::log(_Tp(1) - __x);
1417:               if (__ln_pre2 < __log_max)
1417:                 {
1417:                   __pre1 = _Tp(0);
1417:                   __pre2 = std::exp(__ln_pre2);
1417:                   __pre2 *= __sgn2;
1417:                 }
1417:               else
1417:                 {
1417:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1417:                                                                        );
1417:                 }
1417:             }
1417:           else
1417:             {
1417:               __pre1 = _Tp(0);
1417:               __pre2 = _Tp(0);
1417:               std::__throw_runtime_error(("Underflow of gamma functions " "in __hyperg_reflect")
1417:                                                                    );
1417:             }
1417: 
1417:           const _Tp __F1 = __hyperg_series(__a, __b, _Tp(1) - __d,
1417:                                            _Tp(1) - __x);
1417:           const _Tp __F2 = __hyperg_series(__c - __a, __c - __b, _Tp(1) + __d,
1417:                                            _Tp(1) - __x);
1417: 
1417:           const _Tp __F = __pre1 * __F1 + __pre2 * __F2;
1417: 
1417:           return __F;
1417:         }
1417:     }
1417: # 728 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1417:     {
1417: 
1417:       const _Tp __a_nint = ::std::nearbyint(__a);
1417:       const _Tp __b_nint = ::std::nearbyint(__b);
1417:       const _Tp __c_nint = ::std::nearbyint(__c);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const _Tp __toler = _Tp(1000) * std::numeric_limits<_Tp>::epsilon();
1417:       if (std::abs(__x) >= _Tp(1))
1417:         std::__throw_domain_error(("Argument outside unit circle " "in __hyperg.")
1417:                                                      );
1417:       else if (__isnan(__a) || __isnan(__b)
1417:             || __isnan(__c) || __isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__c_nint == __c && __c_nint <= _Tp(0))
1417:         return std::numeric_limits<_Tp>::infinity();
1417:       else if (std::abs(__c - __b) < __toler || std::abs(__c - __a) < __toler)
1417:         return std::pow(_Tp(1) - __x, __c - __a - __b);
1417:       else if (__a >= _Tp(0) && __b >= _Tp(0) && __c >= _Tp(0)
1417:             && __x >= _Tp(0) && __x < _Tp(0.995L))
1417:         return __hyperg_series(__a, __b, __c, __x);
1417:       else if (std::abs(__a) < _Tp(10) && std::abs(__b) < _Tp(10))
1417:         {
1417: 
1417: 
1417:           if (__a < _Tp(0) && std::abs(__a - __a_nint) < __toler)
1417:             return __hyperg_series(__a_nint, __b, __c, __x);
1417:           else if (__b < _Tp(0) && std::abs(__b - __b_nint) < __toler)
1417:             return __hyperg_series(__a, __b_nint, __c, __x);
1417:           else if (__x < -_Tp(0.25L))
1417:             return __hyperg_luke(__a, __b, __c, __x);
1417:           else if (__x < _Tp(0.5L))
1417:             return __hyperg_series(__a, __b, __c, __x);
1417:           else
1417:             if (std::abs(__c) > _Tp(10))
1417:               return __hyperg_series(__a, __b, __c, __x);
1417:             else
1417:               return __hyperg_reflect(__a, __b, __c, __x);
1417:         }
1417:       else
1417:     lude/c++/12/bits/locale_classes.h" 3
609:       virtual int
609:       do_compare(const _CharT* __lo1, const _CharT* __hi1,
609:    const _CharT* __lo2, const _CharT* __hi2) const;
609: # 781 "/usr/include/c++/12/bits/locale_classes.h" 3
609:       virtual string_type
609:       do_transform(const _CharT* __lo, const _CharT* __hi) const;
609: # 794 "/usr/include/c++/12/bits/locale_classes.h" 3
609:       virtual long
609:       do_hash(const _CharT* __lo, const _CharT* __hi) const;
609:     };
609: 
609:   template<typename _CharT>
609:     locale::id collate<_CharT>::id;
609: 
609: 
609:   template<>
609:     int
609:     collate<char>::_M_compare(const char*, const char*) const throw();
609: 
609:   template<>
609:     size_t
609:     collate<char>::_M_transform(char*, const char*, size_t) const throw();
609: 
609: 
609:   template<>
609:     int
609:     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
609: 
609:   template<>
609:     size_t
609:     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
609: 
609: 
609: 
609:   template<typename _CharT>
609:     class __cxx11:: collate_byname : public collate<_CharT>
609:     {
609:     public:
609: 
609: 
609:       typedef _CharT char_type;
609:       typedef basic_string<_CharT> string_type;
609: 
609: 
609:       explicit
609:       collate_byname(const char* __s, size_t __refs = 0)
609:       : collate<_CharT>(__refs)
609:       {
609:  if (__builtin_strcmp(__s, "C") != 0
609:      && __builtin_strcmp(__s, "POSIX") != 0)
609:    {
609:      this->_S_destroy_c_locale(this->_M_c_locale_collate);
609:      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
609:    }
609:       }
609: 
609: 
609:       explicit
609:       collate_byname(const string& __s, size_t __refs = 0)
609:       : collate_byname(__s.c_str(), __refs) { }
609: 
609: 
609:     protected:
609:       virtual
609:       ~collate_byname() { }
609:     };
609: 
609: 
609: }
609: 
609: # 1 "/usr/include/c++/12/bits/locale_classes.tcc" 1 3
609: # 37 "/usr/include/c++/12/bits/locale_classes.tcc" 3
609:        
609: # 38 "/usr/include/c++/12/bits/locale_classes.tcc" 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _Facet>
609:     locale::
609:     locale(const locale& __other, _Facet* __f)
609:     {
609:       _M_impl = new _Impl(*__other._M_impl, 1);
609: 
609:       try
609:  { _M_impl->_M_install_facet(&_Facet::id, __f); }
609:       catch(...)
609:  {
609:    _M_impl->_M_remove_reference();
609:    throw;
609:  }
609:       delete [] _M_impl->_M_names[0];
609:       _M_impl->_M_names[0] = 0;
609:     }
609: 
609:   template<typename _Facet>
609:     locale
609:     locale::
609:     combine(const locale& __other) const
609:     {
609:       _Impl* __tmp = new _Impl(*_M_impl, 1);
609:       try
609:  {
609:    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
609:  }
609:       catch(...)
609:  {
609:    __tmp->_M_remove_reference();
609:    throw;
609:  }
609:       return locale(__tmp);
609:     }
609: 
609:   template<typename _CharT, typename _Traits, typename _Alloc>
609:     bool
609:     locale::
609:     operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
609:         const basic_string<_CharT, _Traits, _Alloc>& __s2) const
609:     {
609:       typedef std::collate<_CharT> __collate_type;
609:       const __collate_type& __collate = use_facet<__collate_type>(*this);
609:       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
609:     __s2.data(), __s2.data() + __s2.length()) < 0);
609:     }
609: # 102 "/usr/include/c++/12/bits/locale_classes.tcc" 3
609:   template<typename _Facet>
609:     bool
609:     has_facet(const locale& __loc) throw()
609:     {
609:       const size_t __i = _Facet::id._M_id();
609:       const locale::facet** __facets = __loc._M_impl->_M_facets;
609:       return (__i < __loc._M_impl->_M_facets_size
609: 
609:        && dynamic_cast<const _Facet*>(__facets[__i]));
609: 
609: 
609: 
609:     }
609: # 130 "/usr/include/c++/12/bits/locale_classes.tcc" 3
609:   template<typename _Facet>
609:     const _Facet&
609:     use_facet(const locale& __loc)
609:     {
609:       const size_t __i = _Facet::id._M_id();
609:       const locale::facet** __facets = __loc._M_impl->_M_facets;
609:       if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
609:         __throw_bad_cast();
609: 
609:       return dynamic_cast<const _Facet&>(*__facets[__i]);
609: 
609: 
609: 
609:     }
609: 
609: 
609: 
609:   template<typename _CharT>
609:     int
609:     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
609:     { return 0; }
609: 
609: 
609:   template<typename _CharT>
609:     size_t
609:     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
609:     { return 0; }
609: 
609:   template<typename _CharT>
609:     int
609:     collate<_CharT>::
609:     do_compare(const _CharT* __lo1, const _CharT* __hi1,
609:         const _CharT* __lo2, const _CharT* __hi2) const
609:     {
609: 
609: 
609:       const string_type __one(__lo1, __hi1);
609:       const string_type __two(__lo2, __hi2);
609: 
609:       const _CharT* __p = __one.c_str();
609:       const _CharT* __pend = __one.data() + __one.length();
609:       const _CharT* __q = __two.c_str();
609:       const _CharT* __qend = __two.data() + __two.length();
609: 
609: 
609: 
609: 
609:       for (;;)
609:  {
609:    const int __res = _M_compare(__p, __q);
609:    if (__res)
609:      return __res;
609: 
609:    __p += char_traits<_CharT>::length(__p);
609:    __q += char_traits<_CharT>::length(__q);
609:    if (__p == __pend && __q == __qend)
609:      return 0;
609:    else if (__p == __pend)
609:      return -1;
609:    else if (__q == __qend)
609:      return 1;
609: 
609:    __p++;
609:    __q++;
609:  }
609:     }
609: 
609:   template<typename _CharT>
609:     typename collate<_CharT>::string_type
609:     collate<_CharT>::
609:     do_transform(const _CharT* __lo, const _CharT* __hi) const
609:     {
609:       string_type __ret;
609: 
609: 
609:       const string_type __str(__lo, __hi);
609: 
609:       const _CharT* __p = __str.c_str();
609:       const _CharT* __pend = __str.data() + __str.length();
609: 
609:       size_t __len = (__hi - __lo) * 2;
609: 
609:       _CharT* __c = new _CharT[__len];
609: 
609:       try
609:  {
609: 
609: 
609: 
609:    for (;;)
609:      {
609: 
609:        size_t __res = _M_transform(__c, __p, __len);
609: 
609: 
609:        if (__res >= __len)
609:   {
609:     __len = __res + 1;
609:     delete [] __c, __c = 0;
609:     __c = new _CharT[__len];
609:     __res = _M_transform(__c, __p, __len);
609:   }
609: 
609:        __ret.append(__c, __res);
609:        __p += char_traits<_CharT>::length(__p);
609:        if (__p == __pend)
609:   break;
609: 
609:        __p++;
609:        __ret.push_back(_CharT());
609:      }
609:  }
609:       catch(...)
609:  {
609:    delete [] __c;
609:    throw;
609:  }
609: 
609:       delete [] __c;
609: 
609:       return __ret;
609:     }
609: 
609:   template<typename _CharT>
609:     long
609:     collate<_CharT>::
609:     do_hash(const _CharT* __lo, const _CharT* __hi) const
609:     {
609:       unsigned long __val = 0;
609:       for (; __lo < __hi; ++__lo)
609:  __val =
609:    *__lo + ((__val << 7)
609:      | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
609:     __digits - 7)));
609:       return static_cast<long>(__val);
609:     }
609: 
609: 
609: 
609: 
609:   extern template class collate<char>;
609:   extern template class collate_byname<char>;
609: 
609:   extern template
609:     const collate<char>&
609:     use_facet<collate<char> >(const locale&);
609: 
609:   extern template
609:     bool
609:     has_facet<collate<char> >(const locale&);
609: 
609: 
609:   extern template class collate<wchar_t>;
609:   extern template class collate_byname<wchar_t>;
609: 
609:   extern template
609:     const collate<wchar_t>&
609:     use_facet<collate<wchar_t> >(const locale&);
609: 
609:   extern template
609:     bool
609:     has_facet<coll    return __hyperg_luke(__a, __b, __c, __x);
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 55 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/legendre_function.tcc" 1 3
1417: # 49 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 65 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 80 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __poly_legendre_p(unsigned int __l, _Tp __x)
1417:     {
1417: 
1417:       if (__isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__x == +_Tp(1))
1417:         return +_Tp(1);
1417:       else if (__x == -_Tp(1))
1417:         return (__l % 2 == 1 ? -_Tp(1) : +_Tp(1));
1417:       else
1417:         {
1417:           _Tp __p_lm2 = _Tp(1);
1417:           if (__l == 0)
1417:             return __p_lm2;
1417: 
1417:           _Tp __p_lm1 = __x;
1417:           if (__l == 1)
1417:             return __p_lm1;
1417: 
1417:           _Tp __p_l = 0;
1417:           for (unsigned int __ll = 2; __ll <= __l; ++__ll)
1417:             {
1417: 
1417: 
1417:               __p_l = _Tp(2) * __x * __p_lm1 - __p_lm2
1417:                     - (__x * __p_lm1 - __p_lm2) / _Tp(__ll);
1417:               __p_lm2 = __p_lm1;
1417:               __p_lm1 = __p_l;
1417:             }
1417: 
1417:           return __p_l;
1417:         }
1417:     }
1417: # 136 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __assoc_legendre_p(unsigned int __l, unsigned int __m, _Tp __x,
1417:          _Tp __phase = _Tp(+1))
1417:     {
1417: 
1417:       if (__m > __l)
1417:         return _Tp(0);
1417:       else if (__isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__m == 0)
1417:         return __poly_legendre_p(__l, __x);
1417:       else
1417:         {
1417:           _Tp __p_mm = _Tp(1);
1417:           if (__m > 0)
1417:             {
1417: 
1417: 
1417:               _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x);
1417:               _Tp __fact = _Tp(1);
1417:               for (unsigned int __i = 1; __i <= __m; ++__i)
1417:                 {
1417:                   __p_mm *= __phase * __fact * __root;
1417:                   __fact += _Tp(2);
1417:                 }
1417:             }
1417:           if (__l == __m)
1417:             return __p_mm;
1417: 
1417:           _Tp __p_mp1m = _Tp(2 * __m + 1) * __x * __p_mm;
1417:           if (__l == __m + 1)
1417:             return __p_mp1m;
1417: 
1417:           _Tp __p_lm2m = __p_mm;
1417:           _Tp __P_lm1m = __p_mp1m;
1417:           _Tp __p_lm = _Tp(0);
1417:           for (unsigned int __j = __m + 2; __j <= __l; ++__j)
1417:             {
1417:               __p_lm = (_Tp(2 * __j - 1) * __x * __P_lm1m
1417:                       - _Tp(__j + __m - 1) * __p_lm2m) / _Tp(__j - __m);
1417:               __p_lm2m = __P_lm1m;
1417:               __P_lm1m = __p_lm;
1417:             }
1417: 
1417:           return __p_lm;
1417:         }
1417:     }
1417: # 214 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1417:     template <typename _Tp>
1417:     _Tp
1417:     __sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1417:     {
1417:       if (__isnan(__theta))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417: 
1417:       const _Tp __x = std::cos(__theta);
1417: 
1417:       if (__m > __l)
1417:         return _Tp(0);
1417:       else if (__m == 0)
1417:         {
1417:           _Tp __P = __poly_legendre_p(__l, __x);
1417:           _Tp __fact = std::sqrt(_Tp(2 * __l + 1)
1417:                      / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1417:           __P *= __fact;
1417:           return __P;
1417:         }
1417:       else if (__x == _Tp(1) || __x == -_Tp(1))
1417:         {
1417: 
1417:           return _Tp(0);
1417:         }
1417:       else
1417:         {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:           const _Tp __sgn = ( __m % 2 == 1 ? -_Tp(1) : _Tp(1));
1417:           const _Tp __y_mp1m_factor = __x * std::sqrt(_Tp(2 * __m + 3));
1417: 
1417:           const _Tp __lncirc = ::std::log1p(-__x * __x);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:           const _Tp __lnpoch = ::std::lgamma(_Tp(__m + _Tp(0.5L)))
1417:                              - ::std::lgamma(_Tp(__m));
1417: 
1417: 
1417: 
1417: 
1417:           const _Tp __lnpre_val =
1417:                     -_Tp(0.25L) * __numeric_constants<_Tp>::__lnpi()
1417:                     + _Tp(0.5L) * (__lnpoch + __m * __lncirc);
1417:           const _Tp __sr = std::sqrt((_Tp(2) + _Tp(1) / __m)
1417:                          / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1417:           _Tp __y_mm = __sgn * __sr * std::exp(__lnpre_val);
1417:           _Tp __y_mp1m = __y_mp1m_factor * __y_mm;
1417: 
1417:           if (__l == __m)
1417:             return __y_mm;
1417:           else if (__l == __m + 1)
1417:             return __y_mp1m;
1417:           else
1417:             {
1417:               _Tp __y_lm = _Tp(0);
1417: 
1417: 
1417:               for (unsigned int __ll = __m + 2; __ll <= __l; ++__ll)
1417:                 {
1417:                   const _Tp __rat1 = _Tp(__ll - __m) / _Tp(__ll + __m);
1417:                   const _Tp __rat2 = _Tp(__ll - __m - 1) / _Tp(__ll + __m - 1);
1417:                   const _Tp __fact1 = std::sqrt(__rat1 * _Tp(2 * __ll + 1)
1417:                                                        * _Tp(2 * __ll - 1));
1417:                   const _Tp __fact2 = std::sqrt(__rat1 * __rat2 * _Tp(2 * __ll + 1)
1417:                                                                 / _Tp(2 * __ll - 3));
1417:                   __y_lm = (__x * __y_mp1m * __fact1
1417:                          - (__ll + __m - 1) * __y_mm * __fact2) / _Tp(__ll - __m);
1417:                   __y_mm = __y_mp1m;
1417:                   __y_mp1m = __y_lm;
1417:                 }
1417: 
1417:               return __y_lm;
1417:             }
1417:         }
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 56 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 1 3
1417: # 51 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 65 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 83 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1417:     template <typename _Tp>
1417:     void
1417:     __bessel_ik(_Tp __nu, _Tp __x,
1417:                 _Tp & __Inu, _Tp & __Knu, _Tp & __Ipnu, _Tp & __Kpnu)
1417:     {
1417:       if (__x == _Tp(0))
1417:         {
1417:           if (__nu == _Tp(0))
1417:             {
1417:               __Inu = _Tp(1);
1417:               __Ipnu = _Tp(0);
1417:             }
1417:           else if (__nu == _Tp(1))
1417:             {
1417:               __Inu = _Tp(0);
1417:               __Ipnu = _Tp(0.5L);
1417:             }
1417:           else
1417:             {
1417:               __Inu = _Tp(0);
1417:               __Ipnu = _Tp(0);
1417:             }
1417:           __Knu = std::numeric_limits<_Tp>::infinity();
1417:           __Kpnu = -std::numeric_limits<_Tp>::infinity();
1417:           return;
1417:         }
1417: 
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417:       const _Tp __fp_min = _Tp(10) * std::numeric_limits<_Tp>::epsilon();
1417:       const int __max_iter = 15000;
1417:       const _Tp __x_min = _Tp(2);
1417: 
1417:       const int __nl = static_cast<int>(__nu + _Tp(0.5L));
1417: 
1417:       const _Tp __mu = __nu - __nl;
1417:       const _Tp __mu2 = __mu * __mu;
1417:       const _Tp __xi = _Tp(1) / __x;
1417:       const _Tp __xi2 = _Tp(2) * __xi;
1417:       _Tp __h = __nu * __xi;
1417:       if ( __h < __fp_min )
1417:         __h = __fp_min;
1417:       _Tp __b = __xi2 * __nu;
1417:  ate<wchar_t> >(const locale&);
609: 
609: 
609: 
609: 
609: }
609: # 858 "/usr/include/c++/12/bits/locale_classes.h" 2 3
609: # 42 "/usr/include/c++/12/bits/ios_base.h" 2 3
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609:   enum _Ios_Fmtflags
609:     {
609:       _S_boolalpha = 1L << 0,
609:       _S_dec = 1L << 1,
609:       _S_fixed = 1L << 2,
609:       _S_hex = 1L << 3,
609:       _S_internal = 1L << 4,
609:       _S_left = 1L << 5,
609:       _S_oct = 1L << 6,
609:       _S_right = 1L << 7,
609:       _S_scientific = 1L << 8,
609:       _S_showbase = 1L << 9,
609:       _S_showpoint = 1L << 10,
609:       _S_showpos = 1L << 11,
609:       _S_skipws = 1L << 12,
609:       _S_unitbuf = 1L << 13,
609:       _S_uppercase = 1L << 14,
609:       _S_adjustfield = _S_left | _S_right | _S_internal,
609:       _S_basefield = _S_dec | _S_oct | _S_hex,
609:       _S_floatfield = _S_scientific | _S_fixed,
609:       _S_ios_fmtflags_end = 1L << 16,
609:       _S_ios_fmtflags_max = 0x7fffffff,
609:       _S_ios_fmtflags_min = ~0x7fffffff
609:     };
609: 
609:   inline constexpr _Ios_Fmtflags
609:   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
609:   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Fmtflags
609:   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
609:   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Fmtflags
609:   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
609:   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Fmtflags
609:   operator~(_Ios_Fmtflags __a)
609:   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
609: 
609:   inline const _Ios_Fmtflags&
609:   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
609:   { return __a = __a | __b; }
609: 
609:   inline const _Ios_Fmtflags&
609:   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
609:   { return __a = __a & __b; }
609: 
609:   inline const _Ios_Fmtflags&
609:   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
609:   { return __a = __a ^ __b; }
609: 
609: 
609:   enum _Ios_Openmode
609:     {
609:       _S_app = 1L << 0,
609:       _S_ate = 1L << 1,
609:       _S_bin = 1L << 2,
609:       _S_in = 1L << 3,
609:       _S_out = 1L << 4,
609:       _S_trunc = 1L << 5,
609:       _S_noreplace = 1L << 6,
609:       _S_ios_openmode_end = 1L << 16,
609:       _S_ios_openmode_max = 0x7fffffff,
609:       _S_ios_openmode_min = ~0x7fffffff
609:     };
609: 
609:   inline constexpr _Ios_Openmode
609:   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
609:   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Openmode
609:   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
609:   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Openmode
609:   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
609:   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Openmode
609:   operator~(_Ios_Openmode __a)
609:   { return _Ios_Openmode(~static_cast<int>(__a)); }
609: 
609:   inline const _Ios_Openmode&
609:   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
609:   { return __a = __a | __b; }
609: 
609:   inline const _Ios_Openmode&
609:   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
609:   { return __a = __a & __b; }
609: 
609:   inline const _Ios_Openmode&
609:   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
609:   { return __a = __a ^ __b; }
609: 
609: 
609:   enum _Ios_Iostate
609:     {
609:       _S_goodbit = 0,
609:       _S_badbit = 1L << 0,
609:       _S_eofbit = 1L << 1,
609:       _S_failbit = 1L << 2,
609:       _S_ios_iostate_end = 1L << 16,
609:       _S_ios_iostate_max = 0x7fffffff,
609:       _S_ios_iostate_min = ~0x7fffffff
609:     };
609: 
609:   inline constexpr _Ios_Iostate
609:   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
609:   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Iostate
609:   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
609:   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Iostate
609:   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
609:   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
609: 
609:   inline constexpr _Ios_Iostate
609:   operator~(_Ios_Iostate __a)
609:   { return _Ios_Iostate(~static_cast<int>(__a)); }
609: 
609:   inline const _Ios_Iostate&
609:   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
609:   { return __a = __a | __b; }
609: 
609:   inline const _Ios_Iostate&
609:   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
609:   { return __a = __a & __b; }
609: 
609:   inline const _Ios_Iostate&
609:   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
609:   { return __a = __a ^ __b; }
609: 
609: 
609:   enum _Ios_Seekdir
609:     {
609:       _S_beg = 0,
609:       _S_cur = 1,
609:       _S_end = 2,
609:       _S_ios_seekdir_end = 1L << 16
609:     };
609: 
609: 
609: 
609:   enum class io_errc { stream = 1 };
609: 
609:   template <> struct is_error_code_enum<io_errc> : public true_type { };
609: 
609:   const error_category& iostream_category() noexcept;
609: 
609:   inline error_code
609:   make_error_code(io_errc __e) noexcept
609:   { return error_code(static_cast<int>(__e), iostream_category()); }
609: 
609:   inline error_condition
609:   make_error_condition(io_errc __e) noexcept
609:   { return error_condition(static_cast<int>(__e), iostream_category()); }
609: # 229 "/usr/include/c++/12/bits/ios_base.h" 3
609:   class ios_base
609:   {
609: # 247 "/usr/include/c++/12/bits/ios_base.h" 3
609:   public:
609: # 256 "/usr/include/c++/12/bits/ios_base.h" 3
609:     class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
609:     {
609:     public:
609:       explicit
609:       failure(const string& __str);
609: 
609: 
609:       explicit
609:       failure(const string&, const error_code&);
609: 
609:       explicit
609:       failure(const char*, const error_code& = io_errc::stream);
609: 
609: 
609:       virtual
609:       ~failure() throw();
609: 
609:       virtual const char*
609:       what() const throw();
609:     };
609: # 342 "/usr/include/c++/12/bits/ios_base.h" 3
609:     typedef _Ios_Fmtflags fmtflags;
609: 
609: 
609:     static const fmtflags boolalpha = _S_boolalpha;
609: 
609: 
609:     static const fmtflags dec = _S_dec;
609: 
609: 
609:     static const fmtflags fixed = _S_fixed;
609: 
609: 
609:     static const fmtflags hex = _S_hex;
609: 
609: 
609: 
609: 
609:     static const fmtflags internal = _S_internal;
609: 
609: 
609: 
609:     static const fmtflags left = _S_left;
609: 
609: 
609:     static const fmtflags oct = _S_oct;
609: 
609: 
609: 
609:     static const fmtflags right = _S_right;
609: 
609: 
609:     static const fmtflags scientific = _S_scientific;
609: 
609: 
609: 
609:     static const fmtflags showbase = _S_showbase;
609: 
609: 
609: 
609:     static const fmtflags showpoint = _S_showpoint;
609: 
609: 
609:     static const fmtflags showpos = _S_showpos;
609: 
609: 
609:     static const fmtflags skipws = _S_skipws;
609: 
609: 
609:     static const fmtflags unitbuf = _S_unitbuf;
609: 
609: 
609: 
609:     static const fmtflags uppercase = _S_uppercase;
609: 
609: 
609:     static const fmtflags adjustfield = _S_adjustfield;
609: 
609: 
609:     static const fmtflags basefield = _S_basefield;
609: 
609: 
609:     static const fmtflags floatfield = _S_floatfield;
609: # 417 "/usr/include/c++/12/bits/ios_base.h" 3
609:     typedef _Ios_Iostate iostate;
609: 
609: 
609: 
609:     static const iostate badbit = _S_badbit;
609: 
609: 
609:     static const iostate eofbit = _S_eofbit;
609: 
609: 
609: 
609: 
609:     static const iostate failbit = _S_failbit;
609: 
609: 
609:     static const iostate goodbit = _S_goodbit;
609: # 448 "/usr/include/c++/12/bits/ios_base.h" 3
609:     ty     _Tp __d = _Tp(0);
1417:       _Tp __c = __h;
1417:       int __i;
1417:       for ( __i = 1; __i <= __max_iter; ++__i )
1417:         {
1417:           __b += __xi2;
1417:           __d = _Tp(1) / (__b + __d);
1417:           __c = __b + _Tp(1) / __c;
1417:           const _Tp __del = __c * __d;
1417:           __h *= __del;
1417:           if (std::abs(__del - _Tp(1)) < __eps)
1417:             break;
1417:         }
1417:       if (__i > __max_iter)
1417:         std::__throw_runtime_error(("Argument x too large " "in __bessel_ik; " "try asymptotic expansion.")
1417: 
1417:                                                                    );
1417:       _Tp __Inul = __fp_min;
1417:       _Tp __Ipnul = __h * __Inul;
1417:       _Tp __Inul1 = __Inul;
1417:       _Tp __Ipnu1 = __Ipnul;
1417:       _Tp __fact = __nu * __xi;
1417:       for (int __l = __nl; __l >= 1; --__l)
1417:         {
1417:           const _Tp __Inutemp = __fact * __Inul + __Ipnul;
1417:           __fact -= __xi;
1417:           __Ipnul = __fact * __Inutemp + __Inul;
1417:           __Inul = __Inutemp;
1417:         }
1417:       _Tp __f = __Ipnul / __Inul;
1417:       _Tp __Kmu, __Knu1;
1417:       if (__x < __x_min)
1417:         {
1417:           const _Tp __x2 = __x / _Tp(2);
1417:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1417:           const _Tp __fact = (std::abs(__pimu) < __eps
1417:                             ? _Tp(1) : __pimu / std::sin(__pimu));
1417:           _Tp __d = -std::log(__x2);
1417:           _Tp __e = __mu * __d;
1417:           const _Tp __fact2 = (std::abs(__e) < __eps
1417:                             ? _Tp(1) : std::sinh(__e) / __e);
1417:           _Tp __gam1, __gam2, __gampl, __gammi;
1417:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1417:           _Tp __ff = __fact
1417:                    * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1417:           _Tp __sum = __ff;
1417:           __e = std::exp(__e);
1417:           _Tp __p = __e / (_Tp(2) * __gampl);
1417:           _Tp __q = _Tp(1) / (_Tp(2) * __e * __gammi);
1417:           _Tp __c = _Tp(1);
1417:           __d = __x2 * __x2;
1417:           _Tp __sum1 = __p;
1417:           int __i;
1417:           for (__i = 1; __i <= __max_iter; ++__i)
1417:             {
1417:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
1417:               __c *= __d / __i;
1417:               __p /= __i - __mu;
1417:               __q /= __i + __mu;
1417:               const _Tp __del = __c * __ff;
1417:               __sum += __del;
1417:               const _Tp __del1 = __c * (__p - __i * __ff);
1417:               __sum1 += __del1;
1417:               if (std::abs(__del) < __eps * std::abs(__sum))
1417:                 break;
1417:             }
1417:           if (__i > __max_iter)
1417:             std::__throw_runtime_error(("Bessel k series failed to converge " "in __bessel_ik.")
1417:                                                              );
1417:           __Kmu = __sum;
1417:           __Knu1 = __sum1 * __xi2;
1417:         }
1417:       else
1417:         {
1417:           _Tp __b = _Tp(2) * (_Tp(1) + __x);
1417:           _Tp __d = _Tp(1) / __b;
1417:           _Tp __delh = __d;
1417:           _Tp __h = __delh;
1417:           _Tp __q1 = _Tp(0);
1417:           _Tp __q2 = _Tp(1);
1417:           _Tp __a1 = _Tp(0.25L) - __mu2;
1417:           _Tp __q = __c = __a1;
1417:           _Tp __a = -__a1;
1417:           _Tp __s = _Tp(1) + __q * __delh;
1417:           int __i;
1417:           for (__i = 2; __i <= __max_iter; ++__i)
1417:             {
1417:               __a -= 2 * (__i - 1);
1417:               __c = -__a * __c / __i;
1417:               const _Tp __qnew = (__q1 - __b * __q2) / __a;
1417:               __q1 = __q2;
1417:               __q2 = __qnew;
1417:               __q += __c * __qnew;
1417:               __b += _Tp(2);
1417:               __d = _Tp(1) / (__b + __a * __d);
1417:               __delh = (__b * __d - _Tp(1)) * __delh;
1417:               __h += __delh;
1417:               const _Tp __dels = __q * __delh;
1417:               __s += __dels;
1417:               if ( std::abs(__dels / __s) < __eps )
1417:                 break;
1417:             }
1417:           if (__i > __max_iter)
1417:             std::__throw_runtime_error(("Steed's method failed " "in __bessel_ik.")
1417:                                                              );
1417:           __h = __a1 * __h;
1417:           __Kmu = std::sqrt(__numeric_constants<_Tp>::__pi() / (_Tp(2) * __x))
1417:                 * std::exp(-__x) / __s;
1417:           __Knu1 = __Kmu * (__mu + __x + _Tp(0.5L) - __h) * __xi;
1417:         }
1417: 
1417:       _Tp __Kpmu = __mu * __xi * __Kmu - __Knu1;
1417:       _Tp __Inumu = __xi / (__f * __Kmu - __Kpmu);
1417:       __Inu = __Inumu * __Inul1 / __Inul;
1417:       __Ipnu = __Inumu * __Ipnu1 / __Inul;
1417:       for ( __i = 1; __i <= __nl; ++__i )
1417:         {
1417:           const _Tp __Knutemp = (__mu + __i) * __xi2 * __Knu1 + __Kmu;
1417:           __Kmu = __Knu1;
1417:           __Knu1 = __Knutemp;
1417:         }
1417:       __Knu = __Kmu;
1417:       __Kpnu = __nu * __xi * __Kmu - __Knu1;
1417: 
1417:       return;
1417:     }
1417: # 267 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __cyl_bessel_i(_Tp __nu, _Tp __x)
1417:     {
1417:       if (__nu < _Tp(0) || __x < _Tp(0))
1417:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_i.")
1417:                                                            );
1417:       else if (__isnan(__nu) || __isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1417:         return __cyl_bessel_ij_series(__nu, __x, +_Tp(1), 200);
1417:       else
1417:         {
1417:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1417:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1417:           return __I_nu;
1417:         }
1417:     }
1417: # 303 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __cyl_bessel_k(_Tp __nu, _Tp __x)
1417:     {
1417:       if (__nu < _Tp(0) || __x < _Tp(0))
1417:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_k.")
1417:                                                            );
1417:       else if (__isnan(__nu) || __isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else
1417:         {
1417:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1417:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1417:           return __K_nu;
1417:         }
1417:     }
1417: # 337 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1417:     template <typename _Tp>
1417:     void
1417:     __sph_bessel_ik(unsigned int __n, _Tp __x,
1417:                     _Tp & __i_n, _Tp & __k_n, _Tp & __ip_n, _Tp & __kp_n)
1417:     {
1417:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1417: 
1417:       _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1417:       __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1417: 
1417:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1417:                          / std::sqrt(__x);
1417: 
1417:       __i_n = __factor * __I_nu;
1417:       __k_n = __factor * __K_nu;
1417:       __ip_n = __factor * __Ip_nu - __i_n / (_Tp(2) * __x);
1417:       __kp_n = __factor * __Kp_nu - __k_n / (_Tp(2) * __x);
1417: 
1417:       return;
1417:     }
1417: # 373 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1417:     template <typename _Tp>
1417:     void
1417:     __airy(_Tp __x, _Tp & __Ai, _Tp & __Bi, _Tp & __Aip, _Tp & __Bip)
1417:     {
1417:       const _Tp __absx = std::abs(__x);
1417:       const _Tp __rootx = std::sqrt(__absx);
1417:       const _Tp __z = _Tp(2) * __absx * __rootx / _Tp(3);
1417:       const _Tp _S_inf = std::numeric_limits<_Tp>::infinity();
1417: 
1417:       if (__isnan(__x))
1417:         __Bip = __Aip = __Bi = __Ai = std::numeric_limits<_Tp>::quiet_NaN();
1417:   pedef _Ios_Openmode openmode;
609: 
609: 
609:     static const openmode app = _S_app;
609: 
609: 
609:     static const openmode ate = _S_ate;
609: 
609: 
609: 
609: 
609:     static const openmode binary = _S_bin;
609: 
609: 
609:     static const openmode in = _S_in;
609: 
609: 
609:     static const openmode out = _S_out;
609: 
609: 
609:     static const openmode trunc = _S_trunc;
609: 
609:     static const openmode __noreplace = _S_noreplace;
609: # 488 "/usr/include/c++/12/bits/ios_base.h" 3
609:     typedef _Ios_Seekdir seekdir;
609: 
609: 
609:     static const seekdir beg = _S_beg;
609: 
609: 
609:     static const seekdir cur = _S_cur;
609: 
609: 
609:     static const seekdir end = _S_end;
609: # 521 "/usr/include/c++/12/bits/ios_base.h" 3
609:     enum event
609:     {
609:       erase_event,
609:       imbue_event,
609:       copyfmt_event
609:     };
609: # 538 "/usr/include/c++/12/bits/ios_base.h" 3
609:     typedef void (*event_callback) (event __e, ios_base& __b, int __i);
609: # 550 "/usr/include/c++/12/bits/ios_base.h" 3
609:     void
609:     register_callback(event_callback __fn, int __index);
609: 
609:   protected:
609:     streamsize _M_precision;
609:     streamsize _M_width;
609:     fmtflags _M_flags;
609:     iostate _M_exception;
609:     iostate _M_streambuf_state;
609: 
609: 
609: 
609:     struct _Callback_list
609:     {
609: 
609:       _Callback_list* _M_next;
609:       ios_base::event_callback _M_fn;
609:       int _M_index;
609:       _Atomic_word _M_refcount;
609: 
609:       _Callback_list(ios_base::event_callback __fn, int __index,
609:        _Callback_list* __cb)
609:       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
609: 
609:       void
609:       _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
609: 
609: 
609:       int
609:       _M_remove_reference()
609:       {
609: 
609:         ;
609:         int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
609:         if (__res == 0)
609:           {
609:             ;
609:           }
609:         return __res;
609:       }
609:     };
609: 
609:      _Callback_list* _M_callbacks;
609: 
609:     void
609:     _M_call_callbacks(event __ev) throw();
609: 
609:     void
609:     _M_dispose_callbacks(void) throw();
609: 
609: 
609:     struct _Words
609:     {
609:       void* _M_pword;
609:       long _M_iword;
609:       _Words() : _M_pword(0), _M_iword(0) { }
609:     };
609: 
609: 
609:     _Words _M_word_zero;
609: 
609: 
609: 
609:     enum { _S_local_word_size = 8 };
609:     _Words _M_local_word[_S_local_word_size];
609: 
609: 
609:     int _M_word_size;
609:     _Words* _M_word;
609: 
609:     _Words&
609:     _M_grow_words(int __index, bool __iword);
609: 
609: 
609:     locale _M_ios_locale;
609: 
609:     void
609:     _M_init() throw();
609: 
609:   public:
609: 
609: 
609: 
609: 
609: 
609:     class Init
609:     {
609:       friend class ios_base;
609:     public:
609:       Init();
609:       ~Init();
609: 
609: 
609:       Init(const Init&) = default;
609:       Init& operator=(const Init&) = default;
609: 
609: 
609:     private:
609:       static _Atomic_word _S_refcount;
609:       static bool _S_synced_with_stdio;
609:     };
609: 
609: 
609: 
609: 
609: 
609: 
609:     fmtflags
609:     flags() const
609:     { return _M_flags; }
609: # 668 "/usr/include/c++/12/bits/ios_base.h" 3
609:     fmtflags
609:     flags(fmtflags __fmtfl)
609:     {
609:       fmtflags __old = _M_flags;
609:       _M_flags = __fmtfl;
609:       return __old;
609:     }
609: # 684 "/usr/include/c++/12/bits/ios_base.h" 3
609:     fmtflags
609:     setf(fmtflags __fmtfl)
609:     {
609:       fmtflags __old = _M_flags;
609:       _M_flags |= __fmtfl;
609:       return __old;
609:     }
609: # 701 "/usr/include/c++/12/bits/ios_base.h" 3
609:     fmtflags
609:     setf(fmtflags __fmtfl, fmtflags __mask)
609:     {
609:       fmtflags __old = _M_flags;
609:       _M_flags &= ~__mask;
609:       _M_flags |= (__fmtfl & __mask);
609:       return __old;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     void
609:     unsetf(fmtflags __mask)
609:     { _M_flags &= ~__mask; }
609: # 727 "/usr/include/c++/12/bits/ios_base.h" 3
609:     streamsize
609:     precision() const
609:     { return _M_precision; }
609: 
609: 
609: 
609: 
609: 
609: 
609:     streamsize
609:     precision(streamsize __prec)
609:     {
609:       streamsize __old = _M_precision;
609:       _M_precision = __prec;
609:       return __old;
609:     }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     streamsize
609:     width() const
609:     { return _M_width; }
609: 
609: 
609: 
609: 
609: 
609: 
609:     streamsize
609:     width(streamsize __wide)
609:     {
609:       streamsize __old = _M_width;
609:       _M_width = __wide;
609:       return __old;
609:     }
609: # 778 "/usr/include/c++/12/bits/ios_base.h" 3
609:     static bool
609:     sync_with_stdio(bool __sync = true);
609: # 790 "/usr/include/c++/12/bits/ios_base.h" 3
609:     locale
609:     imbue(const locale& __loc) throw();
609: # 801 "/usr/include/c++/12/bits/ios_base.h" 3
609:     locale
609:     getloc() const
609:     { return _M_ios_locale; }
609: # 812 "/usr/include/c++/12/bits/ios_base.h" 3
609:     const locale&
609:     _M_getloc() const
609:     { return _M_ios_locale; }
609: # 831 "/usr/include/c++/12/bits/ios_base.h" 3
609:     static int
609:     xalloc() throw();
609: # 847 "/usr/include/c++/12/bits/ios_base.h" 3
609:     long&
609:     iword(int __ix)
609:     {
609:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
609:    ? _M_word[__ix] : _M_grow_words(__ix, true);
609:       return __word._M_iword;
609:     }
609: # 868 "/usr/include/c++/12/bits/ios_base.h" 3
609:     void*&
609:     pword(int __ix)
609:     {
609:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
609:    ? _M_word[__ix] : _M_grow_words(__ix, false);
609:       return __word._M_pword;
609:     }
609: # 885 "/usr/include/c++/12/bits/ios_base.h" 3
609:     virtual ~ios_base();
609: 
609:   protected:
609:     ios_base() throw ();
609: # 899 "/usr/include/c++/12/bits/ios_base.h" 3
609:   public:
609:     ios_base(const ios_base&) = delete;
609: 
609:     ios_base&
609:     operator=(const ios_base&) = delete;
609: 
609:   protected:
609:     void
609:     _M_move(ios_base&) noexcept;
609: 
609:     void
609:     _M_swap(ios_base& __rhs) noexcept;
609: 
609:   };
609: 
609: 
609: 
609:   inline ios_base&
609:   boolalpha(ios_base& __base)
609:   {
609:     __base.setf(ios_base::boolalpha);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   noboolalpha(ios_base& __base)
609:   {
609:     __base.unsetf(ios_base::boolalpha);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   showbase(ios_base& __base)
609:   {
609:     __base.setf(ios_base::showbase);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   noshowbase(ios_base& __base)
609:   {
609:     __base.unsetf(ios_base::showbase);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   showpoint(ios_base& __base)
609:   {
609:     __base.setf(ios_base::showpoint);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   noshowpoint(ios_base& __base)
609:   {
609:     __base.unsetf(ios_base::showpoint);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   showpos(ios_base& __base)
609:   {
609:     __base.setf(ios_base::showpos);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   noshowpos(ios_base& __base)
609:   {
609:     __base.unsetf(ios_base::showpos);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   skipws(ios_base& __base)
609:   {
609:     __base.setf(ios_base::skipws);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   noskipws(ios_base& __base)
609:   {
609:     __base.unsetf(ios_base::skipws);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   uppercase(ios_base& __base)
609:   {
609:     __base.setf(ios_base::uppercase);
609:     return __bas    else if (__z == _S_inf)
1417:         {
1417:    __Aip = __Ai = _Tp(0);
1417:    __Bip = __Bi = _S_inf;
1417:  }
1417:       else if (__z == -_S_inf)
1417:  __Bip = __Aip = __Bi = __Ai = _Tp(0);
1417:       else if (__x > _Tp(0))
1417:         {
1417:           _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1417: 
1417:           __bessel_ik(_Tp(1) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1417:           __Ai = __rootx * __K_nu
1417:                / (__numeric_constants<_Tp>::__sqrt3()
1417:                 * __numeric_constants<_Tp>::__pi());
1417:           __Bi = __rootx * (__K_nu / __numeric_constants<_Tp>::__pi()
1417:                  + _Tp(2) * __I_nu / __numeric_constants<_Tp>::__sqrt3());
1417: 
1417:           __bessel_ik(_Tp(2) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1417:           __Aip = -__x * __K_nu
1417:                 / (__numeric_constants<_Tp>::__sqrt3()
1417:                  * __numeric_constants<_Tp>::__pi());
1417:           __Bip = __x * (__K_nu / __numeric_constants<_Tp>::__pi()
1417:                       + _Tp(2) * __I_nu
1417:                       / __numeric_constants<_Tp>::__sqrt3());
1417:         }
1417:       else if (__x < _Tp(0))
1417:         {
1417:           _Tp __J_nu, __Jp_nu, __N_nu, __Np_nu;
1417: 
1417:           __bessel_jn(_Tp(1) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1417:           __Ai = __rootx * (__J_nu
1417:                     - __N_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1417:           __Bi = -__rootx * (__N_nu
1417:                     + __J_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1417: 
1417:           __bessel_jn(_Tp(2) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1417:           __Aip = __absx * (__N_nu / __numeric_constants<_Tp>::__sqrt3()
1417:                           + __J_nu) / _Tp(2);
1417:           __Bip = __absx * (__J_nu / __numeric_constants<_Tp>::__sqrt3()
1417:                           - __N_nu) / _Tp(2);
1417:         }
1417:       else
1417:         {
1417: 
1417: 
1417: 
1417:           __Ai = _Tp(0.35502805388781723926L);
1417:           __Bi = __Ai * __numeric_constants<_Tp>::__sqrt3();
1417: 
1417: 
1417: 
1417: 
1417:           __Aip = -_Tp(0.25881940379280679840L);
1417:           __Bip = -__Aip * __numeric_constants<_Tp>::__sqrt3();
1417:         }
1417: 
1417:       return;
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 57 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/poly_hermite.tcc" 1 3
1417: # 42 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 56 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 72 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __poly_hermite_recursion(unsigned int __n, _Tp __x)
1417:     {
1417: 
1417:       _Tp __H_0 = 1;
1417:       if (__n == 0)
1417:         return __H_0;
1417: 
1417: 
1417:       _Tp __H_1 = 2 * __x;
1417:       if (__n == 1)
1417:         return __H_1;
1417: 
1417: 
1417:       _Tp __H_n, __H_nm1, __H_nm2;
1417:       unsigned int __i;
1417:       for (__H_nm2 = __H_0, __H_nm1 = __H_1, __i = 2; __i <= __n; ++__i)
1417:         {
1417:           __H_n = 2 * (__x * __H_nm1 - (__i - 1) * __H_nm2);
1417:           __H_nm2 = __H_nm1;
1417:           __H_nm1 = __H_n;
1417:         }
1417: 
1417:       return __H_n;
1417:     }
1417: # 114 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __poly_hermite(unsigned int __n, _Tp __x)
1417:     {
1417:       if (__isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else
1417:         return __poly_hermite_recursion(__n, __x);
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 58 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 1 3
1417: # 44 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 60 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 75 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417:     template<typename _Tpa, typename _Tp>
1417:     _Tp
1417:     __poly_laguerre_large_n(unsigned __n, _Tpa __alpha1, _Tp __x)
1417:     {
1417:       const _Tp __a = -_Tp(__n);
1417:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1417:       const _Tp __eta = _Tp(2) * __b - _Tp(4) * __a;
1417:       const _Tp __cos2th = __x / __eta;
1417:       const _Tp __sin2th = _Tp(1) - __cos2th;
1417:       const _Tp __th = std::acos(std::sqrt(__cos2th));
1417:       const _Tp __pre_h = __numeric_constants<_Tp>::__pi_2()
1417:                         * __numeric_constants<_Tp>::__pi_2()
1417:                         * __eta * __eta * __cos2th * __sin2th;
1417: 
1417: 
1417:       const _Tp __lg_b = ::std::lgamma(_Tp(__n) + __b);
1417:       const _Tp __lnfact = ::std::lgamma(_Tp(__n + 1));
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       _Tp __pre_term1 = _Tp(0.5L) * (_Tp(1) - __b)
1417:                       * std::log(_Tp(0.25L) * __x * __eta);
1417:       _Tp __pre_term2 = _Tp(0.25L) * std::log(__pre_h);
1417:       _Tp __lnpre = __lg_b - __lnfact + _Tp(0.5L) * __x
1417:                       + __pre_term1 - __pre_term2;
1417:       _Tp __ser_term1 = std::sin(__a * __numeric_constants<_Tp>::__pi());
1417:       _Tp __ser_term2 = std::sin(_Tp(0.25L) * __eta
1417:                               * (_Tp(2) * __th
1417:                                - std::sin(_Tp(2) * __th))
1417:                                + __numeric_constants<_Tp>::__pi_4());
1417:       _Tp __ser = __ser_term1 + __ser_term2;
1417: 
1417:       return std::exp(__lnpre) * __ser;
1417:     }
1417: # 129 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417:     template<typename _Tpa, typename _Tp>
1417:     _Tp
1417:     __poly_laguerre_hyperg(unsigned int __n, _Tpa __alpha1, _Tp __x)
1417:     {
1417:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1417:       const _Tp __mx = -__x;
1417:       const _Tp __tc_sgn = (__x < _Tp(0) ? _Tp(1)
1417:                          : ((__n % 2 == 1) ? -_Tp(1) : _Tp(1)));
1417: 
1417:       _Tp __tc = _Tp(1);
1417:       const _Tp __ax = std::abs(__x);
1417:       for (unsigned int __k = 1; __k <= __n; ++__k)
1417:         __tc *= (__ax / __k);
1417: 
1417:       _Tp __term = __tc * __tc_sgn;
1417:       _Tp __sum = __term;
1417:       for (int __k = int(__n) - 1; __k >= 0; --__k)
1417:         {
1417:           __term *= ((__b + _Tp(__k)) / _Tp(int(__n) - __k))
1417:                   * _Tp(__k + 1) / __mx;
1417:           __sum += __term;
1417:         }
1417: 
1417:       return __sum;
1417:     }
1417: # 185 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417:     template<typename _Tpa, typename _Tp>
1417:     _Tp
1417:     __poly_laguerre_recursion(unsigned int __n, _Tpa __alpha1, _Tp __x)
1417:     {
1417: 
1417:       _Tp __l_0 = _Tp(1);
1417:       if (__n == 0)
1417:         return __l_0;
1417: 
1417: 
1417:       _Tp __l_1 = -__x + _Tp(1) + _Tp(__alpha1);
1417:       if (__n == 1)
1417:         return __l_1;
1417: 
1417: 
1417:       _Tp __l_n2 = __l_0;
1417:       _Tp __l_n1 = __l_1;
1417:       _Tp __l_n = _Tp(0);
1417:       for (unsigned int __nn = 2; __nn <= __n; ++__nn)
1417:         {
1417:             __l_n = (_Tp(2 * __nn - 1) + _Tp(__alpha1) - __x)
1417:                   * __l_n1 / _Tp(__nn)
1417:                   - (_Tp(__nn - 1) + _Tp(__alpha1)) * __l_n2 / _Tp(__nn);
1417:             __l_n2 = __l_n1;
1417:             __l_n1 = __l_n;
1417:         }
1417: 
1417:       return __l_n;
1417:     }
1417: # 244 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417:     template<typename _Tpa, typename _Tp>
1417:     _Tp
1417:     __poly_laguerre(unsigned int __n, _Tpa __alpha1, _Tp __x)
1417:     {
1417:       if (__x < _Tp(0))
1417:         std::__throw_domain_error(("Negative argument " "in __poly_laguerre.")
1417:                                                             );
1417: 
1417:       else if (_e;
609:   }
609: 
609: 
609:   inline ios_base&
609:   nouppercase(ios_base& __base)
609:   {
609:     __base.unsetf(ios_base::uppercase);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   unitbuf(ios_base& __base)
609:   {
609:      __base.setf(ios_base::unitbuf);
609:      return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   nounitbuf(ios_base& __base)
609:   {
609:      __base.unsetf(ios_base::unitbuf);
609:      return __base;
609:   }
609: 
609: 
609: 
609:   inline ios_base&
609:   internal(ios_base& __base)
609:   {
609:      __base.setf(ios_base::internal, ios_base::adjustfield);
609:      return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   left(ios_base& __base)
609:   {
609:     __base.setf(ios_base::left, ios_base::adjustfield);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   right(ios_base& __base)
609:   {
609:     __base.setf(ios_base::right, ios_base::adjustfield);
609:     return __base;
609:   }
609: 
609: 
609: 
609:   inline ios_base&
609:   dec(ios_base& __base)
609:   {
609:     __base.setf(ios_base::dec, ios_base::basefield);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   hex(ios_base& __base)
609:   {
609:     __base.setf(ios_base::hex, ios_base::basefield);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   oct(ios_base& __base)
609:   {
609:     __base.setf(ios_base::oct, ios_base::basefield);
609:     return __base;
609:   }
609: 
609: 
609: 
609:   inline ios_base&
609:   fixed(ios_base& __base)
609:   {
609:     __base.setf(ios_base::fixed, ios_base::floatfield);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   scientific(ios_base& __base)
609:   {
609:     __base.setf(ios_base::scientific, ios_base::floatfield);
609:     return __base;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline ios_base&
609:   hexfloat(ios_base& __base)
609:   {
609:     __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
609:     return __base;
609:   }
609: 
609: 
609:   inline ios_base&
609:   defaultfloat(ios_base& __base)
609:   {
609:     __base.unsetf(ios_base::floatfield);
609:     return __base;
609:   }
609: 
609: 
609: 
609: }
609: # 42 "/usr/include/c++/12/streambuf" 2 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     streamsize
609:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
609:      basic_streambuf<_CharT, _Traits>*, bool&);
609: # 121 "/usr/include/c++/12/streambuf" 3
609:   template<typename _CharT, typename _Traits>
609:     class basic_streambuf
609:     {
609:     public:
609: 
609: 
609: 
609: 
609: 
609: 
609:       typedef _CharT char_type;
609:       typedef _Traits traits_type;
609:       typedef typename traits_type::int_type int_type;
609:       typedef typename traits_type::pos_type pos_type;
609:       typedef typename traits_type::off_type off_type;
609: 
609: 
609: 
609: 
609:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
609: 
609: 
609:       friend class basic_ios<char_type, traits_type>;
609:       friend class basic_istream<char_type, traits_type>;
609:       friend class basic_ostream<char_type, traits_type>;
609:       friend class istreambuf_iterator<char_type, traits_type>;
609:       friend class ostreambuf_iterator<char_type, traits_type>;
609: 
609:       friend streamsize
609:       __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
609: 
609:       template<bool _IsMove, typename _CharT2>
609:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:             _CharT2*>::__type
609:         __copy_move_a2(istreambuf_iterator<_CharT2>,
609:          istreambuf_iterator<_CharT2>, _CharT2*);
609: 
609:       template<typename _CharT2>
609:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:       istreambuf_iterator<_CharT2> >::__type
609:         find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
609:       const _CharT2&);
609: 
609:       template<typename _CharT2, typename _Distance>
609:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:             void>::__type
609:         advance(istreambuf_iterator<_CharT2>&, _Distance);
609: 
609:       friend void __istream_extract(istream&, char*, streamsize);
609: 
609:       template<typename _CharT2, typename _Traits2, typename _Alloc>
609:         friend basic_istream<_CharT2, _Traits2>&
609:         operator>>(basic_istream<_CharT2, _Traits2>&,
609:      basic_string<_CharT2, _Traits2, _Alloc>&);
609: 
609:       template<typename _CharT2, typename _Traits2, typename _Alloc>
609:         friend basic_istream<_CharT2, _Traits2>&
609:         getline(basic_istream<_CharT2, _Traits2>&,
609:   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
609: 
609:     protected:
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       char_type* _M_in_beg;
609:       char_type* _M_in_cur;
609:       char_type* _M_in_end;
609:       char_type* _M_out_beg;
609:       char_type* _M_out_cur;
609:       char_type* _M_out_end;
609: 
609: 
609:       locale _M_buf_locale;
609: 
609:   public:
609: 
609:       virtual
609:       ~basic_streambuf()
609:       { }
609: # 213 "/usr/include/c++/12/streambuf" 3
609:       locale
609:       pubimbue(const locale& __loc)
609:       {
609:  locale __tmp(this->getloc());
609:  this->imbue(__loc);
609:  _M_buf_locale = __loc;
609:  return __tmp;
609:       }
609: # 230 "/usr/include/c++/12/streambuf" 3
609:       locale
609:       getloc() const
609:       { return _M_buf_locale; }
609: # 243 "/usr/include/c++/12/streambuf" 3
609:       basic_streambuf*
609:       pubsetbuf(char_type* __s, streamsize __n)
609:       { return this->setbuf(__s, __n); }
609: # 255 "/usr/include/c++/12/streambuf" 3
609:       pos_type
609:       pubseekoff(off_type __off, ios_base::seekdir __way,
609:    ios_base::openmode __mode = ios_base::in | ios_base::out)
609:       { return this->seekoff(__off, __way, __mode); }
609: # 267 "/usr/include/c++/12/streambuf" 3
609:       pos_type
609:       pubseekpos(pos_type __sp,
609:    ios_base::openmode __mode = ios_base::in | ios_base::out)
609:       { return this->seekpos(__sp, __mode); }
609: 
609: 
609: 
609: 
609:       int
609:       pubsync() { return this->sync(); }
609: # 288 "/usr/include/c++/12/streambuf" 3
609:       streamsize
609:       in_avail()
609:       {
609:  const streamsize __ret = this->egptr() - this->gptr();
609:  return __ret ? __ret : this->showmanyc();
609:       }
609: # 302 "/usr/include/c++/12/streambuf" 3
609:       int_type
609:       snextc()
609:       {
609:  int_type __ret = traits_type::eof();
609:  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
609:              __ret), true))
609:    __ret = this->sgetc();
609:  return __ret;
609:       }
609: # 320 "/usr/include/c++/12/streambuf" 3
609:       int_type
609:       sbumpc()
609:       {
609:  int_type __ret;
609:  if (__builtin_expect(this->gptr() < this->egptr(), true))
609:    {
609:      __ret = traits_type::to_int_type(*this->gptr());
609:      this->gbump(1);
609:    }
609:  else
609:    __ret = this->uflow();
609:  return __ret;
609:       }
609: # 342 "/usr/include/c++/12/streambuf" 3
609:       int_type
609:       sgetc()
609:       {
609:  int_type __ret;
609:  if (__builtin_expect(this->gptr() < this->egptr(), true))
609:    __ret = traits_type::to_int_type(*this->gptr());
609:  else
609:    __ret = this->underflow();
609:  return __ret;
609:       }
609: # 361 "/usr/include/c++/12/streambuf" 3
609:       streamsize
609:       sgetn(char_type* __s, streamsize __n)
609:       { return this->xsgetn(__s, __n); }
609: # 376 "/usr/include/c++/12/streambuf" 3
609:       int_type
609:       sputbackc(char_type __c)
609:       {
609:  int_type __ret;
609:  const bool __testpos = this->eback() < this->gptr();
609:  if (__builtin_expect(!__testpos ||
609:         !traits_type::eq(__c, this->gptr()[-1]), false))
609:    __ret = t_isnan(__x))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__n == 0)
1417:         return _Tp(1);
1417:       else if (__n == 1)
1417:         return _Tp(1) + _Tp(__alpha1) - __x;
1417:       else if (__x == _Tp(0))
1417:         {
1417:           _Tp __prod = _Tp(__alpha1) + _Tp(1);
1417:           for (unsigned int __k = 2; __k <= __n; ++__k)
1417:             __prod *= (_Tp(__alpha1) + _Tp(__k)) / _Tp(__k);
1417:           return __prod;
1417:         }
1417:       else if (__n > 10000000 && _Tp(__alpha1) > -_Tp(1)
1417:             && __x < _Tp(2) * (_Tp(__alpha1) + _Tp(1)) + _Tp(4 * __n))
1417:         return __poly_laguerre_large_n(__n, __alpha1, __x);
1417:       else if (_Tp(__alpha1) >= _Tp(0)
1417:            || (__x > _Tp(0) && _Tp(__alpha1) < -_Tp(__n + 1)))
1417:         return __poly_laguerre_recursion(__n, __alpha1, __x);
1417:       else
1417:         return __poly_laguerre_hyperg(__n, __alpha1, __x);
1417:     }
1417: # 296 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1417:     { return __poly_laguerre<unsigned int, _Tp>(__n, __m, __x); }
1417: # 316 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __laguerre(unsigned int __n, _Tp __x)
1417:     { return __poly_laguerre<unsigned int, _Tp>(__n, 0, __x); }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 59 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: # 1 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 1 3
1417: # 47 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 63 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:   namespace __detail
1417:   {
1417: # 78 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __riemann_zeta_sum(_Tp __s)
1417:     {
1417: 
1417:       if (__s < _Tp(1))
1417:         std::__throw_domain_error(("Bad argument in zeta sum."));
1417: 
1417:       const unsigned int max_iter = 10000;
1417:       _Tp __zeta = _Tp(0);
1417:       for (unsigned int __k = 1; __k < max_iter; ++__k)
1417:         {
1417:           _Tp __term = std::pow(static_cast<_Tp>(__k), -__s);
1417:           if (__term < std::numeric_limits<_Tp>::epsilon())
1417:             {
1417:               break;
1417:             }
1417:           __zeta += __term;
1417:         }
1417: 
1417:       return __zeta;
1417:     }
1417: # 115 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __riemann_zeta_alt(_Tp __s)
1417:     {
1417:       _Tp __sgn = _Tp(1);
1417:       _Tp __zeta = _Tp(0);
1417:       for (unsigned int __i = 1; __i < 10000000; ++__i)
1417:         {
1417:           _Tp __term = __sgn / std::pow(__i, __s);
1417:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:           __zeta += __term;
1417:           __sgn *= _Tp(-1);
1417:         }
1417:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1417: 
1417:       return __zeta;
1417:     }
1417: # 157 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __riemann_zeta_glob(_Tp __s)
1417:     {
1417:       _Tp __zeta = _Tp(0);
1417: 
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417: 
1417:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1417:                                * std::log(_Tp(10)) - _Tp(1);
1417: 
1417: 
1417: 
1417:       if (__s < _Tp(0))
1417:         {
1417: 
1417:           if (::std::fmod(__s,_Tp(2)) == _Tp(0))
1417:             return _Tp(0);
1417:           else
1417: 
1417:             {
1417:               _Tp __zeta = __riemann_zeta_glob(_Tp(1) - __s);
1417:               __zeta *= std::pow(_Tp(2)
1417:                      * __numeric_constants<_Tp>::__pi(), __s)
1417:                      * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1417: 
1417:                      * std::exp(::std::lgamma(_Tp(1) - __s))
1417: 
1417: 
1417: 
1417:                      / __numeric_constants<_Tp>::__pi();
1417:               return __zeta;
1417:             }
1417:         }
1417: 
1417:       _Tp __num = _Tp(0.5L);
1417:       const unsigned int __maxit = 10000;
1417:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1417:         {
1417:           bool __punt = false;
1417:           _Tp __sgn = _Tp(1);
1417:           _Tp __term = _Tp(0);
1417:           for (unsigned int __j = 0; __j <= __i; ++__j)
1417:             {
1417: 
1417:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1417:                               - ::std::lgamma(_Tp(1 + __j))
1417:                               - ::std::lgamma(_Tp(1 + __i - __j));
1417: 
1417: 
1417: 
1417: 
1417: 
1417:               if (__bincoeff > __max_bincoeff)
1417:                 {
1417: 
1417:                   __punt = true;
1417:                   break;
1417:                 }
1417:               __bincoeff = std::exp(__bincoeff);
1417:               __term += __sgn * __bincoeff * std::pow(_Tp(1 + __j), -__s);
1417:               __sgn *= _Tp(-1);
1417:             }
1417:           if (__punt)
1417:             break;
1417:           __term *= __num;
1417:           __zeta += __term;
1417:           if (std::abs(__term/__zeta) < __eps)
1417:             break;
1417:           __num *= _Tp(0.5L);
1417:         }
1417: 
1417:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1417: 
1417:       return __zeta;
1417:     }
1417: # 252 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __riemann_zeta_product(_Tp __s)
1417:     {
1417:       static const _Tp __prime[] = {
1417:         _Tp(2), _Tp(3), _Tp(5), _Tp(7), _Tp(11), _Tp(13), _Tp(17), _Tp(19),
1417:         _Tp(23), _Tp(29), _Tp(31), _Tp(37), _Tp(41), _Tp(43), _Tp(47),
1417:         _Tp(53), _Tp(59), _Tp(61), _Tp(67), _Tp(71), _Tp(73), _Tp(79),
1417:         _Tp(83), _Tp(89), _Tp(97), _Tp(101), _Tp(103), _Tp(107), _Tp(109)
1417:       };
1417:       static const unsigned int __num_primes = sizeof(__prime) / sizeof(_Tp);
1417: 
1417:       _Tp __zeta = _Tp(1);
1417:       for (unsigned int __i = 0; __i < __num_primes; ++__i)
1417:         {
1417:           const _Tp __fact = _Tp(1) - std::pow(__prime[__i], -__s);
1417:           __zeta *= __fact;
1417:           if (_Tp(1) - __fact < std::numeric_limits<_Tp>::epsilon())
1417:             break;
1417:         }
1417: 
1417:       __zeta = _Tp(1) / __zeta;
1417: 
1417:       return __zeta;
1417:     }
1417: # 293 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __riemann_zeta(_Tp __s)
1417:     {
1417:       if (__isnan(__s))
1417:         return std::numeric_limits<_Tp>::quiet_NaN();
1417:       else if (__s == _Tp(1))
1417:         return std::numeric_limits<_Tp>::infinity();
1417:       else if (__s < -_Tp(19))
1417:         {
1417:           _Tp __zeta = __riemann_zeta_product(_Tp(1) - __s);
1417:           __zeta *= std::pow(_Tp(2) * __numeric_constants<_Tp>::__pi(), __s)
1417:                  * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1417: 
1417:                  * std::exp(::std::lgamma(_Tp(1) - __s))
1417: 
1417: 
1417: 
1417:                  / __numeric_constants<_Tp>::__pi();
1417:           return __zeta;
1417:         }
1417:       else if (__s < _Tp(20))
1417:         {
1417: 
1417:           bool __glob = true;
1417:           if (__glob)
1417:             return __riemann_zeta_glob(__s);
1417:           else
1417:             {
1417:               if (__s > _Tp(1))
1417:                 return __riemann_zeta_sum(__s);
1417:               else
1417:                 {
1417:                   _Tp __zeta = std::pow(_Tp(2)
1417:                                 * __numeric_constants<_Tp>::__pi(), __s)
1417:                          * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1417: 
1417:                              * ::std::tgamma(_This->pbackfail(traits_type::to_int_type(__c));
609:  else
609:    {
609:      this->gbump(-1);
609:      __ret = traits_type::to_int_type(*this->gptr());
609:    }
609:  return __ret;
609:       }
609: # 401 "/usr/include/c++/12/streambuf" 3
609:       int_type
609:       sungetc()
609:       {
609:  int_type __ret;
609:  if (__builtin_expect(this->eback() < this->gptr(), true))
609:    {
609:      this->gbump(-1);
609:      __ret = traits_type::to_int_type(*this->gptr());
609:    }
609:  else
609:    __ret = this->pbackfail();
609:  return __ret;
609:       }
609: # 428 "/usr/include/c++/12/streambuf" 3
609:       int_type
609:       sputc(char_type __c)
609:       {
609:  int_type __ret;
609:  if (__builtin_expect(this->pptr() < this->epptr(), true))
609:    {
609:      *this->pptr() = __c;
609:      this->pbump(1);
609:      __ret = traits_type::to_int_type(__c);
609:    }
609:  else
609:    __ret = this->overflow(traits_type::to_int_type(__c));
609:  return __ret;
609:       }
609: # 454 "/usr/include/c++/12/streambuf" 3
609:       streamsize
609:       sputn(const char_type* __s, streamsize __n)
609:       { return this->xsputn(__s, __n); }
609: 
609:     protected:
609: # 468 "/usr/include/c++/12/streambuf" 3
609:       basic_streambuf()
609:       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
609:       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
609:       _M_buf_locale(locale())
609:       { }
609: # 486 "/usr/include/c++/12/streambuf" 3
609:       char_type*
609:       eback() const { return _M_in_beg; }
609: 
609:       char_type*
609:       gptr() const { return _M_in_cur; }
609: 
609:       char_type*
609:       egptr() const { return _M_in_end; }
609: # 502 "/usr/include/c++/12/streambuf" 3
609:       void
609:       gbump(int __n) { _M_in_cur += __n; }
609: # 513 "/usr/include/c++/12/streambuf" 3
609:       void
609:       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
609:       {
609:  _M_in_beg = __gbeg;
609:  _M_in_cur = __gnext;
609:  _M_in_end = __gend;
609:       }
609: # 533 "/usr/include/c++/12/streambuf" 3
609:       char_type*
609:       pbase() const { return _M_out_beg; }
609: 
609:       char_type*
609:       pptr() const { return _M_out_cur; }
609: 
609:       char_type*
609:       epptr() const { return _M_out_end; }
609: # 549 "/usr/include/c++/12/streambuf" 3
609:       void
609:       pbump(int __n) { _M_out_cur += __n; }
609: # 559 "/usr/include/c++/12/streambuf" 3
609:       void
609:       setp(char_type* __pbeg, char_type* __pend)
609:       {
609:  _M_out_beg = _M_out_cur = __pbeg;
609:  _M_out_end = __pend;
609:       }
609: # 580 "/usr/include/c++/12/streambuf" 3
609:       virtual void
609:       imbue(const locale& __loc __attribute__ ((__unused__)))
609:       { }
609: # 595 "/usr/include/c++/12/streambuf" 3
609:       virtual basic_streambuf<char_type,_Traits>*
609:       setbuf(char_type*, streamsize)
609:       { return this; }
609: # 606 "/usr/include/c++/12/streambuf" 3
609:       virtual pos_type
609:       seekoff(off_type, ios_base::seekdir,
609:        ios_base::openmode = ios_base::in | ios_base::out)
609:       { return pos_type(off_type(-1)); }
609: # 618 "/usr/include/c++/12/streambuf" 3
609:       virtual pos_type
609:       seekpos(pos_type,
609:        ios_base::openmode = ios_base::in | ios_base::out)
609:       { return pos_type(off_type(-1)); }
609: # 631 "/usr/include/c++/12/streambuf" 3
609:       virtual int
609:       sync() { return 0; }
609: # 653 "/usr/include/c++/12/streambuf" 3
609:       virtual streamsize
609:       showmanyc() { return 0; }
609: # 669 "/usr/include/c++/12/streambuf" 3
609:       virtual streamsize
609:       xsgetn(char_type* __s, streamsize __n);
609: # 691 "/usr/include/c++/12/streambuf" 3
609:       virtual int_type
609:       underflow()
609:       { return traits_type::eof(); }
609: # 704 "/usr/include/c++/12/streambuf" 3
609:       virtual int_type
609:       uflow()
609:       {
609:  int_type __ret = traits_type::eof();
609:  const bool __testeof = traits_type::eq_int_type(this->underflow(),
609:        __ret);
609:  if (!__testeof)
609:    {
609:      __ret = traits_type::to_int_type(*this->gptr());
609:      this->gbump(1);
609:    }
609:  return __ret;
609:       }
609: # 728 "/usr/include/c++/12/streambuf" 3
609:       virtual int_type
609:       pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
609:       { return traits_type::eof(); }
609: # 746 "/usr/include/c++/12/streambuf" 3
609:       virtual streamsize
609:       xsputn(const char_type* __s, streamsize __n);
609: # 772 "/usr/include/c++/12/streambuf" 3
609:       virtual int_type
609:       overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
609:       { return traits_type::eof(); }
609: # 799 "/usr/include/c++/12/streambuf" 3
609:       void
609:       __safe_gbump(streamsize __n) { _M_in_cur += __n; }
609: 
609:       void
609:       __safe_pbump(streamsize __n) { _M_out_cur += __n; }
609: 
609: 
609: 
609: 
609:     protected:
609: 
609:       basic_streambuf(const basic_streambuf&);
609: 
609:       basic_streambuf&
609:       operator=(const basic_streambuf&);
609: 
609: 
609:       void
609:       swap(basic_streambuf& __sb)
609:       {
609:  std::swap(_M_in_beg, __sb._M_in_beg);
609:  std::swap(_M_in_cur, __sb._M_in_cur);
609:  std::swap(_M_in_end, __sb._M_in_end);
609:  std::swap(_M_out_beg, __sb._M_out_beg);
609:  std::swap(_M_out_cur, __sb._M_out_cur);
609:  std::swap(_M_out_end, __sb._M_out_end);
609:  std::swap(_M_buf_locale, __sb._M_buf_locale);
609:       }
609: 
609:     };
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     std::basic_streambuf<_CharT, _Traits>::
609:     basic_streambuf(const basic_streambuf&) = default;
609: 
609:   template<typename _CharT, typename _Traits>
609:     std::basic_streambuf<_CharT, _Traits>&
609:     std::basic_streambuf<_CharT, _Traits>::
609:     operator=(const basic_streambuf&) = default;
609: 
609: 
609: 
609:   template<>
609:     streamsize
609:     __copy_streambufs_eof(basic_streambuf<char>* __sbin,
609:      basic_streambuf<char>* __sbout, bool& __ineof);
609: 
609:   template<>
609:     streamsize
609:     __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
609:      basic_streambuf<wchar_t>* __sbout, bool& __ineof);
609: 
609: 
609: 
609: 
609: 
609: }
609: 
609: # 1 "/usr/include/c++/12/bits/streambuf.tcc" 1 3
609: # 37 "/usr/include/c++/12/bits/streambuf.tcc" 3
609:        
609: # 38 "/usr/include/c++/12/bits/streambuf.tcc" 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     streamsize
609:     basic_streambuf<_CharT, _Traits>::
609:     xsgetn(char_type* __s, streamsize __n)
609:     {
609:       streamsize __ret = 0;
609:       while (__ret < __n)
609:  {
609:    const streamsize __buf_len = this->egptr() - this->gptr();
609:    if (__buf_len)
609:      {
609:        const streamsize __remaining = __n - __ret;
609:        const streamsize __len = std::min(__buf_len, __remaining);
609:        traits_type::copy(__s, this->gptr(), __len);
609:        __ret += __len;
609:        __s += __len;
609:        this->__safe_gbump(__len);
609:      }
609: 
609:    if (__ret < __n)
609:      {
609:        const int_type __c = this->uflow();
609:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
609:   {
609:     traits_type::assign(*__s++, traits_type::to_char_type(__c));
609:     ++__ret;
609:   }
609:        else
609:   break;
609:      }
609:  }
609:       return __ret;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     streamsize
609:     basic_streambuf<_CharT, _Traits>::
609:     xsputn(const char_type* __s, streamsize __n)
609:     {
609:       streamsize __ret = 0;
609:       while (__ret < __n)
609:  {
609:    const streamsize __buf_len = this->epptr() - this->pptr();
609:    if (__buf_len)
609:      {
609:        const streamsize __remaining = __n - __ret;
609:        const streamsize __len = std::min(__buf_len, __remaining);
609:        traits_type::copy(this->pptr(), __s, __len);
609:        __p(1) - __s)
1417: 
1417: 
1417: 
1417:                              * __riemann_zeta_sum(_Tp(1) - __s);
1417:                   return __zeta;
1417:                 }
1417:             }
1417:         }
1417:       else
1417:         return __riemann_zeta_product(__s);
1417:     }
1417: # 365 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:     template<typename _Tp>
1417:     _Tp
1417:     __hurwitz_zeta_glob(_Tp __a, _Tp __s)
1417:     {
1417:       _Tp __zeta = _Tp(0);
1417: 
1417:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1417: 
1417:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1417:                                * std::log(_Tp(10)) - _Tp(1);
1417: 
1417:       const unsigned int __maxit = 10000;
1417:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1417:         {
1417:           bool __punt = false;
1417:           _Tp __sgn = _Tp(1);
1417:           _Tp __term = _Tp(0);
1417:           for (unsigned int __j = 0; __j <= __i; ++__j)
1417:             {
1417: 
1417:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1417:                               - ::std::lgamma(_Tp(1 + __j))
1417:                               - ::std::lgamma(_Tp(1 + __i - __j));
1417: 
1417: 
1417: 
1417: 
1417: 
1417:               if (__bincoeff > __max_bincoeff)
1417:                 {
1417: 
1417:                   __punt = true;
1417:                   break;
1417:                 }
1417:               __bincoeff = std::exp(__bincoeff);
1417:               __term += __sgn * __bincoeff * std::pow(_Tp(__a + __j), -__s);
1417:               __sgn *= _Tp(-1);
1417:             }
1417:           if (__punt)
1417:             break;
1417:           __term /= _Tp(__i + 1);
1417:           if (std::abs(__term / __zeta) < __eps)
1417:             break;
1417:           __zeta += __term;
1417:         }
1417: 
1417:       __zeta /= __s - _Tp(1);
1417: 
1417:       return __zeta;
1417:     }
1417: # 430 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1417:     template<typename _Tp>
1417:     inline _Tp
1417:     __hurwitz_zeta(_Tp __a, _Tp __s)
1417:     { return __hurwitz_zeta_glob(__a, __s); }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 60 "/usr/include/c++/12/bits/specfun.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 205 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
1417:   { return __detail::__assoc_laguerre<float>(__n, __m, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   assoc_laguerrel(unsigned int __n, unsigned int __m, long double __x)
1417:   { return __detail::__assoc_laguerre<long double>(__n, __m, __x); }
1417: # 250 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__assoc_laguerre<__type>(__n, __m, __x);
1417:     }
1417: # 266 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   assoc_legendref(unsigned int __l, unsigned int __m, float __x)
1417:   { return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
1417:   { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
1417: # 296 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
1417:     }
1417: # 311 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   betaf(float __a, float __b)
1417:   { return __detail::__beta<float>(__a, __b); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   betal(long double __a, long double __b)
1417:   { return __detail::__beta<long double>(__a, __b); }
1417: # 341 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tpa, typename _Tpb>
1417:     inline typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type
1417:     beta(_Tpa __a, _Tpb __b)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type __type;
1417:       return __detail::__beta<__type>(__a, __b);
1417:     }
1417: # 357 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   comp_ellint_1f(float __k)
1417:   { return __detail::__comp_ellint_1<float>(__k); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   comp_ellint_1l(long double __k)
1417:   { return __detail::__comp_ellint_1<long double>(__k); }
1417: # 389 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     comp_ellint_1(_Tp __k)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__comp_ellint_1<__type>(__k);
1417:     }
1417: # 405 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   comp_ellint_2f(float __k)
1417:   { return __detail::__comp_ellint_2<float>(__k); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   comp_ellint_2l(long double __k)
1417:   { return __detail::__comp_ellint_2<long double>(__k); }
1417: # 436 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     comp_ellint_2(_Tp __k)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__comp_ellint_2<__type>(__k);
1417:     }
1417: # 452 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   comp_ellint_3f(float __k, float __nu)
1417:   { return __detail::__comp_ellint_3<float>(__k, __nu); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   comp_ellint_3l(long double __k, long double __nu)
1417:   { return __detail::__comp_ellint_3<long double>(__k, __nu); }
1417: # 487 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp, typename _Tpn>
1417:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
1417:     comp_ellint_3(_Tp __k, _Tpn __nu)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type __type;
1417:       return __detail::__comp_ellint_3<__type>(__k, __nu);
1417:     }
1417: # 503 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   cyl_bessel_if(float __nu, float __x)
1417:   { return __detail::__cyl_bessel_i<float>(__nu, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   cyl_bessel_il(long double __nu, long double __x)
1417:   { return __detail::__cyl_bessel_i<long double>(__nu, __x); }
1417: # 533 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tpnu, typename _Tp>
1417:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1417:     cyl_bessel_i(_Tpnu __nu, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1417:       return __detail::__cyl_bessel_i<__type>(__nu, __x);
1417:     }
1417: # 549 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   cyl_bessel_jf(float __nu, float __x)
1417:   { return __detail::__cyl_bessel_j<float>(__nu, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   cyl_bessel_jl(long double __nu, long double __x)
1417:   { return __detail::__cyl_bessel_j<long double>(__nu, __x); }
1417: # 579 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tpnu, typename _Tp>
1417:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1417:     cyl_bessel_j(_Tpnu __nu, _Tp __x)
1417:     {
1417:    ret += __len;
609:        __s += __len;
609:        this->__safe_pbump(__len);
609:      }
609: 
609:    if (__ret < __n)
609:      {
609:        int_type __c = this->overflow(traits_type::to_int_type(*__s));
609:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
609:   {
609:     ++__ret;
609:     ++__s;
609:   }
609:        else
609:   break;
609:      }
609:  }
609:       return __ret;
609:     }
609: 
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     streamsize
609:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
609:      basic_streambuf<_CharT, _Traits>* __sbout,
609:      bool& __ineof)
609:     {
609:       streamsize __ret = 0;
609:       __ineof = true;
609:       typename _Traits::int_type __c = __sbin->sgetc();
609:       while (!_Traits::eq_int_type(__c, _Traits::eof()))
609:  {
609:    __c = __sbout->sputc(_Traits::to_char_type(__c));
609:    if (_Traits::eq_int_type(__c, _Traits::eof()))
609:      {
609:        __ineof = false;
609:        break;
609:      }
609:    ++__ret;
609:    __c = __sbin->snextc();
609:  }
609:       return __ret;
609:     }
609: 
609:   template<typename _CharT, typename _Traits>
609:     inline streamsize
609:     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
609:         basic_streambuf<_CharT, _Traits>* __sbout)
609:     {
609:       bool __ineof;
609:       return __copy_streambufs_eof(__sbin, __sbout, __ineof);
609:     }
609: 
609: 
609: 
609: 
609:   extern template class basic_streambuf<char>;
609: 
609:   extern template
609:     streamsize
609:     __copy_streambufs(basic_streambuf<char>*,
609:         basic_streambuf<char>*);
609: 
609: 
609:   extern template class basic_streambuf<wchar_t>;
609: 
609:   extern template
609:     streamsize
609:     __copy_streambufs(basic_streambuf<wchar_t>*,
609:         basic_streambuf<wchar_t>*);
609: 
609: 
609: 
609: 
609: }
609: # 859 "/usr/include/c++/12/streambuf" 2 3
609: # 36 "/usr/include/c++/12/bits/streambuf_iterator.h" 2 3
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: #pragma GCC diagnostic push
609: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     class istreambuf_iterator
609:     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
609:         _CharT*, _CharT>
609:     {
609:     public:
609: # 69 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
609:       typedef _CharT char_type;
609:       typedef _Traits traits_type;
609:       typedef typename _Traits::int_type int_type;
609:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
609:       typedef basic_istream<_CharT, _Traits> istream_type;
609: 
609: 
609:       template<typename _CharT2>
609:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:         ostreambuf_iterator<_CharT2> >::__type
609:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
609:       ostreambuf_iterator<_CharT2>);
609: 
609:       template<bool _IsMove, typename _CharT2>
609:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:             _CharT2*>::__type
609:  __copy_move_a2(istreambuf_iterator<_CharT2>,
609:          istreambuf_iterator<_CharT2>, _CharT2*);
609: 
609:       template<typename _CharT2, typename _Size>
609:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:             _CharT2*>::__type
609:  __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool);
609: 
609:       template<typename _CharT2>
609:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:         istreambuf_iterator<_CharT2> >::__type
609:  find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
609:       const _CharT2&);
609: 
609:       template<typename _CharT2, typename _Distance>
609:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:             void>::__type
609:  advance(istreambuf_iterator<_CharT2>&, _Distance);
609: 
609:     private:
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       mutable streambuf_type* _M_sbuf;
609:       int_type _M_c;
609: 
609:     public:
609: 
609:       constexpr istreambuf_iterator() noexcept
609:       : _M_sbuf(0), _M_c(traits_type::eof()) { }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:       istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
609: 
609:       ~istreambuf_iterator() = default;
609: 
609: 
609: 
609:       istreambuf_iterator(istream_type& __s) noexcept
609:       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
609: 
609: 
609:       istreambuf_iterator(streambuf_type* __s) noexcept
609:       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
609: 
609: 
609:       istreambuf_iterator&
609:       operator=(const istreambuf_iterator&) noexcept = default;
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       char_type
609:       operator*() const
609:       {
609:  int_type __c = _M_get();
609: # 160 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
609:  return traits_type::to_char_type(__c);
609:       }
609: 
609: 
609:       istreambuf_iterator&
609:       operator++()
609:       {
609: 
609: 
609: 
609:                         ;
609: 
609:  _M_sbuf->sbumpc();
609:  _M_c = traits_type::eof();
609:  return *this;
609:       }
609: 
609: 
609:       istreambuf_iterator
609:       operator++(int)
609:       {
609: 
609: 
609: 
609:                         ;
609: 
609:  istreambuf_iterator __old = *this;
609:  __old._M_c = _M_sbuf->sbumpc();
609:  _M_c = traits_type::eof();
609:  return __old;
609:       }
609: 
609: 
609: 
609: 
609: 
609:       [[__nodiscard__]]
609:       bool
609:       equal(const istreambuf_iterator& __b) const
609:       { return _M_at_eof() == __b._M_at_eof(); }
609: 
609:     private:
609:       int_type
609:       _M_get() const
609:       {
609:  int_type __ret = _M_c;
609:  if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
609:    _M_sbuf = 0;
609:  return __ret;
609:       }
609: 
609:       bool
609:       _M_at_eof() const
609:       { return _S_is_eof(_M_get()); }
609: 
609:       static bool
609:       _S_is_eof(int_type __c)
609:       {
609:  const int_type __eof = traits_type::eof();
609:  return traits_type::eq_int_type(__c, __eof);
609:       }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:     };
609: 
609:   template<typename _CharT, typename _Traits>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
609:         const istreambuf_iterator<_CharT, _Traits>& __b)
609:     { return __a.equal(__b); }
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     [[__nodiscard__]]
609:     inline bool
609:     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
609:         const istreambuf_iterator<_CharT, _Traits>& __b)
609:     { return !__a.equal(__b); }
609: 
609: 
609: 
609:   template<typename _CharT, typename _Traits>
609:     class ostreambuf_iterator
609:     : public iterator<output_iterator_tag, void, void, void, void>
609:     {
609:     public:
609: 
609: 
609: 
609: 
609: 
609: 
609:       typedef _CharT char_type;
609:       typedef _Traits traits_type;
609:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
609:       typedef basic_ostream<_CharT, _Traits> ostream_type;
609: 
609: 
609:       template<typename _CharT2>
609:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
609:         ostreambuf_iterator<_CharT2> >::__type
609:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
609:       ostreambuf_iterator<_CharT2>);
609: 
609:     private:
609:       streambuf_type* _M_sbuf;
609:       bool _M_failed;
609: 
609:     public:
609: # 283 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
609:       ostreambuf_iterator(ostream_type& __s) noexcept
609:       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
609: 
609: 
609:       ostreambuf_iterator(streambuf_type* __s) noexcept
609:       : _M_sbuf(__s), _M_failed(!_M_sbuf) {   typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1417:       return __detail::__cyl_bessel_j<__type>(__nu, __x);
1417:     }
1417: # 595 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   cyl_bessel_kf(float __nu, float __x)
1417:   { return __detail::__cyl_bessel_k<float>(__nu, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   cyl_bessel_kl(long double __nu, long double __x)
1417:   { return __detail::__cyl_bessel_k<long double>(__nu, __x); }
1417: # 631 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tpnu, typename _Tp>
1417:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1417:     cyl_bessel_k(_Tpnu __nu, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1417:       return __detail::__cyl_bessel_k<__type>(__nu, __x);
1417:     }
1417: # 647 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   cyl_neumannf(float __nu, float __x)
1417:   { return __detail::__cyl_neumann_n<float>(__nu, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   cyl_neumannl(long double __nu, long double __x)
1417:   { return __detail::__cyl_neumann_n<long double>(__nu, __x); }
1417: # 679 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tpnu, typename _Tp>
1417:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1417:     cyl_neumann(_Tpnu __nu, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1417:       return __detail::__cyl_neumann_n<__type>(__nu, __x);
1417:     }
1417: # 695 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   ellint_1f(float __k, float __phi)
1417:   { return __detail::__ellint_1<float>(__k, __phi); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   ellint_1l(long double __k, long double __phi)
1417:   { return __detail::__ellint_1<long double>(__k, __phi); }
1417: # 727 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp, typename _Tpp>
1417:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1417:     ellint_1(_Tp __k, _Tpp __phi)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1417:       return __detail::__ellint_1<__type>(__k, __phi);
1417:     }
1417: # 743 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   ellint_2f(float __k, float __phi)
1417:   { return __detail::__ellint_2<float>(__k, __phi); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   ellint_2l(long double __k, long double __phi)
1417:   { return __detail::__ellint_2<long double>(__k, __phi); }
1417: # 775 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp, typename _Tpp>
1417:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1417:     ellint_2(_Tp __k, _Tpp __phi)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1417:       return __detail::__ellint_2<__type>(__k, __phi);
1417:     }
1417: # 791 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   ellint_3f(float __k, float __nu, float __phi)
1417:   { return __detail::__ellint_3<float>(__k, __nu, __phi); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   ellint_3l(long double __k, long double __nu, long double __phi)
1417:   { return __detail::__ellint_3<long double>(__k, __nu, __phi); }
1417: # 828 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp, typename _Tpn, typename _Tpp>
1417:     inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
1417:     ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
1417:     {
1417:       typedef typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type __type;
1417:       return __detail::__ellint_3<__type>(__k, __nu, __phi);
1417:     }
1417: # 843 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   expintf(float __x)
1417:   { return __detail::__expint<float>(__x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   expintl(long double __x)
1417:   { return __detail::__expint<long double>(__x); }
1417: # 868 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     expint(_Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__expint<__type>(__x);
1417:     }
1417: # 884 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   hermitef(unsigned int __n, float __x)
1417:   { return __detail::__poly_hermite<float>(__n, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   hermitel(unsigned int __n, long double __x)
1417:   { return __detail::__poly_hermite<long double>(__n, __x); }
1417: # 916 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     hermite(unsigned int __n, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__poly_hermite<__type>(__n, __x);
1417:     }
1417: # 932 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   laguerref(unsigned int __n, float __x)
1417:   { return __detail::__laguerre<float>(__n, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   laguerrel(unsigned int __n, long double __x)
1417:   { return __detail::__laguerre<long double>(__n, __x); }
1417: # 960 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     laguerre(unsigned int __n, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__laguerre<__type>(__n, __x);
1417:     }
1417: # 976 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   legendref(unsigned int __l, float __x)
1417:   { return __detail::__poly_legendre_p<float>(__l, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   legendrel(unsigned int __l, long double __x)
1417:   { return __detail::__poly_legendre_p<long double>(__l, __x); }
1417: # 1005 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     legendre(unsigned int __l, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__poly_legendre_p<__type>(__l, __x);
1417:     }
1417: # 1021 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   riemann_zetaf(float __s)
1417:   { return __detail::__riemann_zeta<float>(__s); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   riemann_zetal(long double __s)
1417:   { return __detail::__riemann_zeta<long double>(__s); }
1417: # 1056 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     riemann_zeta(_Tp __s)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__riemann_zeta<__type>(__s);
1417:     }
1417: # 1072 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   sph_besself(unsigned int __n, float __x)
1417:   { return __detail::__sph_bessel<float>(__n, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   sph_bessell(unsigned int __n, long double __x)
1417:   { return __detail::__sph_bessel<long double>(__n, __x); }
1417: # 1100 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     sph_bessel(unsigned int __n, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__sph_bessel<__type>(__n, __x);
1417:     }
1417: # 1116 "/usr/include/ }
609: 
609: 
609:       ostreambuf_iterator&
609:       operator=(_CharT __c)
609:       {
609:  if (!_M_failed &&
609:      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
609:    _M_failed = true;
609:  return *this;
609:       }
609: 
609: 
609:       [[__nodiscard__]]
609:       ostreambuf_iterator&
609:       operator*()
609:       { return *this; }
609: 
609: 
609:       ostreambuf_iterator&
609:       operator++(int)
609:       { return *this; }
609: 
609: 
609:       ostreambuf_iterator&
609:       operator++()
609:       { return *this; }
609: 
609: 
609:       [[__nodiscard__]]
609:       bool
609:       failed() const noexcept
609:       { return _M_failed; }
609: 
609:       ostreambuf_iterator&
609:       _M_put(const _CharT* __ws, streamsize __len)
609:       {
609:  if (__builtin_expect(!_M_failed, true)
609:      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
609:     false))
609:    _M_failed = true;
609:  return *this;
609:       }
609:     };
609: #pragma GCC diagnostic pop
609: 
609: 
609:   template<typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:         ostreambuf_iterator<_CharT> >::__type
609:     copy(istreambuf_iterator<_CharT> __first,
609:   istreambuf_iterator<_CharT> __last,
609:   ostreambuf_iterator<_CharT> __result)
609:     {
609:       if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
609:  {
609:    bool __ineof;
609:    __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
609:    if (!__ineof)
609:      __result._M_failed = true;
609:  }
609:       return __result;
609:     }
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:         ostreambuf_iterator<_CharT> >::__type
609:     __copy_move_a2(_CharT* __first, _CharT* __last,
609:      ostreambuf_iterator<_CharT> __result)
609:     {
609:       const streamsize __num = __last - __first;
609:       if (__num > 0)
609:  __result._M_put(__first, __num);
609:       return __result;
609:     }
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:         ostreambuf_iterator<_CharT> >::__type
609:     __copy_move_a2(const _CharT* __first, const _CharT* __last,
609:      ostreambuf_iterator<_CharT> __result)
609:     {
609:       const streamsize __num = __last - __first;
609:       if (__num > 0)
609:  __result._M_put(__first, __num);
609:       return __result;
609:     }
609: 
609:   template<bool _IsMove, typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:         _CharT*>::__type
609:     __copy_move_a2(istreambuf_iterator<_CharT> __first,
609:      istreambuf_iterator<_CharT> __last, _CharT* __result)
609:     {
609:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
609:       typedef typename __is_iterator_type::traits_type traits_type;
609:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
609:       typedef typename traits_type::int_type int_type;
609: 
609:       if (__first._M_sbuf && !__last._M_sbuf)
609:  {
609:    streambuf_type* __sb = __first._M_sbuf;
609:    int_type __c = __sb->sgetc();
609:    while (!traits_type::eq_int_type(__c, traits_type::eof()))
609:      {
609:        const streamsize __n = __sb->egptr() - __sb->gptr();
609:        if (__n > 1)
609:   {
609:     traits_type::copy(__result, __sb->gptr(), __n);
609:     __sb->__safe_gbump(__n);
609:     __result += __n;
609:     __c = __sb->underflow();
609:   }
609:        else
609:   {
609:     *__result++ = traits_type::to_char_type(__c);
609:     __c = __sb->snextc();
609:   }
609:      }
609:  }
609:       return __result;
609:     }
609: 
609:   template<typename _CharT, typename _Size>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:         _CharT*>::__type
609:     __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result,
609:         bool __strict __attribute__((__unused__)))
609:     {
609:       if (__n == 0)
609:  return __result;
609: 
609:      
609: 
609:                             ;
609:       _CharT* __beg = __result;
609:       __result += __it._M_sbuf->sgetn(__beg, __n);
609:      
609: 
609:                             ;
609:       return __result;
609:     }
609: 
609:   template<typename _CharT>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:           istreambuf_iterator<_CharT> >::__type
609:     find(istreambuf_iterator<_CharT> __first,
609:   istreambuf_iterator<_CharT> __last, const _CharT& __val)
609:     {
609:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
609:       typedef typename __is_iterator_type::traits_type traits_type;
609:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
609:       typedef typename traits_type::int_type int_type;
609:       const int_type __eof = traits_type::eof();
609: 
609:       if (__first._M_sbuf && !__last._M_sbuf)
609:  {
609:    const int_type __ival = traits_type::to_int_type(__val);
609:    streambuf_type* __sb = __first._M_sbuf;
609:    int_type __c = __sb->sgetc();
609:    while (!traits_type::eq_int_type(__c, __eof)
609:    && !traits_type::eq_int_type(__c, __ival))
609:      {
609:        streamsize __n = __sb->egptr() - __sb->gptr();
609:        if (__n > 1)
609:   {
609:     const _CharT* __p = traits_type::find(__sb->gptr(),
609:        __n, __val);
609:     if (__p)
609:       __n = __p - __sb->gptr();
609:     __sb->__safe_gbump(__n);
609:     __c = __sb->sgetc();
609:   }
609:        else
609:   __c = __sb->snextc();
609:      }
609: 
609:    __first._M_c = __eof;
609:  }
609: 
609:       return __first;
609:     }
609: 
609:   template<typename _CharT, typename _Distance>
609:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
609:         void>::__type
609:     advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
609:     {
609:       if (__n == 0)
609:  return;
609: 
609:       do { if (std::__is_constant_evaluated() && !bool(__n > 0)) __builtin_unreachable(); } while (false);
609:      
609: 
609:                            ;
609: 
609:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
609:       typedef typename __is_iterator_type::traits_type traits_type;
609:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
609:       typedef typename traits_type::int_type int_type;
609:       const int_type __eof = traits_type::eof();
609: 
609:       streambuf_type* __sb = __i._M_sbuf;
609:       while (__n > 0)
609:  {
609:    streamsize __size = __sb->egptr() - __sb->gptr();
609:    if (__size > __n)
609:      {
609:        __sb->__safe_gbump(__n);
609:        break;
609:      }
609: 
609:    __sb->__safe_gbump(__size);
609:    __n -= __size;
609:    if (traits_type::eq_int_type(__sb->underflow(), __eof))
609:      {
609:       
609: 
609:                       ;
609:        break;
609:      }
609:  }
609: 
609:       __i._M_c = __eof;
609:     }
609: 
609: 
609: 
609: 
609: }
609: # 67 "/usr/include/c++/12/iterator" 2 3
609: # 15 "/usr/include/fmt/core.h" 2 3 4
609: # 288 "/usr/include/fmt/core.h" 3 4
609: 
609: # 288 "/usr/include/fmt/core.h" 3 4
609: #pragma GCC push_options
609: # 288 "/usr/include/fmt/core.h" 3 4
609: 
609: 
609: 
609: 
609: 
609: namespace fmt { inline namespace v9 {
609: 
609: 
609: 
609: template <bool B, typename T = void>
609: using enable_if_t = typename std::enable_if<B, T>::type;
609: template <bool B, typename T, typename F>
609: using conditional_t = typename std::conditional<B, T, F>::type;
609: template <bool B> using bool_constant = std::integral_constant<bool, B>;
609: template <typename T>
609: using remove_reference_t = typename std::remove_reference<T>::type;
609: template <typename T>
609: using remove_const_t = typename std::remove_const<T>::type;
609: template <typename T>
609: using remove_cvref_t = typename std::remove_cv<remove_reference_t<T>>::type;
609: template <typename T> struct type_identity { using type = T; };
609: template <typename T> using type_identity_t = typename type_identityc++/12/bits/specfun.h" 3
1417:   inline float
1417:   sph_legendref(unsigned int __l, unsigned int __m, float __theta)
1417:   { return __detail::__sph_legendre<float>(__l, __m, __theta); }
1417: # 1127 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline long double
1417:   sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
1417:   { return __detail::__sph_legendre<long double>(__l, __m, __theta); }
1417: # 1147 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__sph_legendre<__type>(__l, __m, __theta);
1417:     }
1417: # 1163 "/usr/include/c++/12/bits/specfun.h" 3
1417:   inline float
1417:   sph_neumannf(unsigned int __n, float __x)
1417:   { return __detail::__sph_neumann<float>(__n, __x); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline long double
1417:   sph_neumannl(unsigned int __n, long double __x)
1417:   { return __detail::__sph_neumann<long double>(__n, __x); }
1417: # 1191 "/usr/include/c++/12/bits/specfun.h" 3
1417:   template<typename _Tp>
1417:     inline typename __gnu_cxx::__promote<_Tp>::__type
1417:     sph_neumann(unsigned int __n, _Tp __x)
1417:     {
1417:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1417:       return __detail::__sph_neumann<__type>(__n, __x);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 1388 "/usr/include/c++/12/bits/specfun.h" 3
1417: #pragma GCC visibility pop
1417: # 1936 "/usr/include/c++/12/cmath" 2 3
1417: 
1417: 
1417: }
1417: # 37 "/usr/include/c++/12/math.h" 2 3
1417: 
1417: using std::abs;
1417: using std::acos;
1417: using std::asin;
1417: using std::atan;
1417: using std::atan2;
1417: using std::cos;
1417: using std::sin;
1417: using std::tan;
1417: using std::cosh;
1417: using std::sinh;
1417: using std::tanh;
1417: using std::exp;
1417: using std::frexp;
1417: using std::ldexp;
1417: using std::log;
1417: using std::log10;
1417: using std::modf;
1417: using std::pow;
1417: using std::sqrt;
1417: using std::ceil;
1417: using std::fabs;
1417: using std::floor;
1417: using std::fmod;
1417: 
1417: 
1417: using std::fpclassify;
1417: using std::isfinite;
1417: using std::isinf;
1417: using std::isnan;
1417: using std::isnormal;
1417: using std::signbit;
1417: using std::isgreater;
1417: using std::isgreaterequal;
1417: using std::isless;
1417: using std::islessequal;
1417: using std::islessgreater;
1417: using std::isunordered;
1417: 
1417: 
1417: 
1417: using std::acosh;
1417: using std::asinh;
1417: using std::atanh;
1417: using std::cbrt;
1417: using std::copysign;
1417: using std::erf;
1417: using std::erfc;
1417: using std::exp2;
1417: using std::expm1;
1417: using std::fdim;
1417: using std::fma;
1417: using std::fmax;
1417: using std::fmin;
1417: using std::hypot;
1417: using std::ilogb;
1417: using std::lgamma;
1417: using std::llrint;
1417: using std::llround;
1417: using std::log1p;
1417: using std::log2;
1417: using std::logb;
1417: using std::lrint;
1417: using std::lround;
1417: using std::nearbyint;
1417: using std::nextafter;
1417: using std::nexttoward;
1417: using std::remainder;
1417: using std::remquo;
1417: using std::rint;
1417: using std::round;
1417: using std::scalbln;
1417: using std::scalbn;
1417: using std::tgamma;
1417: using std::trunc;
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
1417: 
1417: # 1 "/usr/include/string.h" 1 3 4
1417: # 26 "/usr/include/string.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1417: # 27 "/usr/include/string.h" 2 3 4
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 34 "/usr/include/string.h" 2 3 4
1417: # 43 "/usr/include/string.h" 3 4
1417: extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
1417:        size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern void *memmove (void *__dest, const void *__src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
1417:         int __c, size_t __n)
1417:     noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4)));
1417: 
1417: 
1417: 
1417: 
1417: extern void *memset (void *__s, int __c, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int memcmp (const void *__s1, const void *__s2, size_t __n)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: # 80 "/usr/include/string.h" 3 4
1417: extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern "C++"
1417: {
1417: extern void *memchr (void *__s, int __c, size_t __n)
1417:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: extern const void *memchr (const void *__s, int __c, size_t __n)
1417:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void *
1417: memchr (void *__s, int __c, size_t __n) noexcept (true)
1417: {
1417:   return __builtin_memchr (__s, __c, __n);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void *
1417: memchr (const void *__s, int __c, size_t __n) noexcept (true)
1417: {
1417:   return __builtin_memchr (__s, __c, __n);
1417: }
1417: 
1417: }
1417: # 115 "/usr/include/string.h" 3 4
1417: extern "C++" void *rawmemchr (void *__s, int __c)
1417:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: extern "C++" const void *rawmemchr (const void *__s, int __c)
1417:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" void *memrchr (void *__s, int __c, size_t __n)
1417:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1417:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1417: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
1417:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1417:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1417: # 141 "/usr/include/string.h" 3 4
1417: extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern char *strncpy (char *__restrict __dest,
1417:         const char *__restrict __src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern char *strcat (char *__restrict __dest, const char *__restrict __src)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern char *strncat (char *__restrict __dest, const char *__restrict __src,
1417:         size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int strcmp (const char *__s1, const char *__s2)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern int strncmp (const char *__s1, const char *__s2, size_t __n)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int strcoll (const char *__s1, const char *__s2)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: extern size_t strxfrm (char *__restrict __dest,
1417:          c<T>::type;
609: template <typename T>
609: using underlying_t = typename std::underlying_type<T>::type;
609: 
609: template <typename...> struct disjunction : std::false_type {};
609: template <typename P> struct disjunction<P> : P {};
609: template <typename P1, typename... Pn>
609: struct disjunction<P1, Pn...>
609:     : conditional_t<bool(P1::value), P1, disjunction<Pn...>> {};
609: 
609: template <typename...> struct conjunction : std::true_type {};
609: template <typename P> struct conjunction<P> : P {};
609: template <typename P1, typename... Pn>
609: struct conjunction<P1, Pn...>
609:     : conditional_t<bool(P1::value), conjunction<Pn...>, P1> {};
609: 
609: struct monostate {
609:   constexpr monostate() {}
609: };
609: # 338 "/usr/include/fmt/core.h" 3 4
609: namespace detail {
609: 
609: 
609: 
609: 
609: template <typename... T> constexpr void ignore_unused(const T&...) {}
609: 
609: constexpr inline __attribute__((always_inline)) auto is_constant_evaluated(
609:     bool default_value = false) noexcept -> bool {
609: 
609: 
609: 
609: 
609:   return default_value;
609: 
609: }
609: 
609: 
609: template <typename T> constexpr inline __attribute__((always_inline)) auto const_check(T value) -> T {
609:   return value;
609: }
609: 
609: [[noreturn]] void assert_fail(const char* file, int line,
609:                                       const char* message);
609: # 377 "/usr/include/fmt/core.h" 3 4
609: template <typename Char> using std_string_view = std::basic_string_view<Char>;
609: # 399 "/usr/include/fmt/core.h" 3 4
609: enum class int128_opt {};
609: enum class uint128_opt {};
609: 
609: template <typename T> auto convert_for_visit(T) -> monostate { return {}; }
609: 
609: 
609: 
609: template <typename Int>
609: constexpr auto to_unsigned(Int value) ->
609:     typename std::make_unsigned<Int>::type {
609:   ::fmt::detail::ignore_unused((std::is_unsigned<Int>::value || value >= 0), ("negative value"));
609:   return static_cast<typename std::make_unsigned<Int>::type>(value);
609: }
609: 
609:  constexpr unsigned char micro[] = "\u00B5";
609: 
609: constexpr auto is_utf8() -> bool {
609: 
609:   using uchar = unsigned char;
609:   return !0 || (sizeof(micro) == 3 && uchar(micro[0]) == 0xC2 &&
609:                          uchar(micro[1]) == 0xB5);
609: }
609: }
609: # 430 "/usr/include/fmt/core.h" 3 4
609: template <typename Char> class basic_string_view {
609:  private:
609:   const Char* data_;
609:   size_t size_;
609: 
609:  public:
609:   using value_type = Char;
609:   using iterator = const Char*;
609: 
609:   constexpr basic_string_view() noexcept : data_(nullptr), size_(0) {}
609: 
609: 
609:   constexpr basic_string_view(const Char* s, size_t count) noexcept
609:       : data_(s), size_(count) {}
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   constexpr
609:   inline __attribute__((always_inline))
609:   basic_string_view(const Char* s)
609:       : data_(s),
609:         size_(detail::const_check(std::is_same<Char, char>::value &&
609:                                   !detail::is_constant_evaluated(true))
609:                   ? std::strlen(reinterpret_cast<const char*>(s))
609:                   : std::char_traits<Char>::length(s)) {}
609: 
609: 
609:   template <typename Traits, typename Alloc>
609:   constexpr basic_string_view(
609:       const std::basic_string<Char, Traits, Alloc>& s) noexcept
609:       : data_(s.data()), size_(s.size()) {}
609: 
609:   template <typename S, enable_if_t<(std::is_same< S, detail::std_string_view<Char>>::value), int> = 0
609:                                                                                >
609:   constexpr basic_string_view(S s) noexcept
609:       : data_(s.data()), size_(s.size()) {}
609: 
609: 
609:   constexpr auto data() const noexcept -> const Char* { return data_; }
609: 
609: 
609:   constexpr auto size() const noexcept -> size_t { return size_; }
609: 
609:   constexpr auto begin() const noexcept -> iterator { return data_; }
609:   constexpr auto end() const noexcept -> iterator { return data_ + size_; }
609: 
609:   constexpr auto operator[](size_t pos) const noexcept -> const Char& {
609:     return data_[pos];
609:   }
609: 
609:   constexpr void remove_prefix(size_t n) noexcept {
609:     data_ += n;
609:     size_ -= n;
609:   }
609: 
609: 
609:   constexpr auto compare(basic_string_view other) const -> int {
609:     size_t str_size = size_ < other.size_ ? size_ : other.size_;
609:     int result = std::char_traits<Char>::compare(data_, other.data_, str_size);
609:     if (result == 0)
609:       result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
609:     return result;
609:   }
609: 
609:   constexpr friend auto operator==(basic_string_view lhs,
609:                                                    basic_string_view rhs)
609:       -> bool {
609:     return lhs.compare(rhs) == 0;
609:   }
609:   friend auto operator!=(basic_string_view lhs, basic_string_view rhs) -> bool {
609:     return lhs.compare(rhs) != 0;
609:   }
609:   friend auto operator<(basic_string_view lhs, basic_string_view rhs) -> bool {
609:     return lhs.compare(rhs) < 0;
609:   }
609:   friend auto operator<=(basic_string_view lhs, basic_string_view rhs) -> bool {
609:     return lhs.compare(rhs) <= 0;
609:   }
609:   friend auto operator>(basic_string_view lhs, basic_string_view rhs) -> bool {
609:     return lhs.compare(rhs) > 0;
609:   }
609:   friend auto operator>=(basic_string_view lhs, basic_string_view rhs) -> bool {
609:     return lhs.compare(rhs) >= 0;
609:   }
609: };
609: 
609: using string_view = basic_string_view<char>;
609: 
609: 
609: template <typename T> struct is_char : std::false_type {};
609: template <> struct is_char<char> : std::true_type {};
609: 
609: namespace detail {
609: 
609: 
609: struct compile_string {};
609: 
609: template <typename S>
609: struct is_compile_string : std::is_base_of<compile_string, S> {};
609: 
609: 
609: template <typename Char, enable_if_t<(is_char<Char>::value), int> = 0>
609: inline __attribute__((always_inline)) auto to_string_view(const Char* s) -> basic_string_view<Char> {
609:   return s;
609: }
609: template <typename Char, typename Traits, typename Alloc>
609: inline auto to_string_view(const std::basic_string<Char, Traits, Alloc>& s)
609:     -> basic_string_view<Char> {
609:   return s;
609: }
609: template <typename Char>
609: constexpr auto to_string_view(basic_string_view<Char> s)
609:     -> basic_string_view<Char> {
609:   return s;
609: }
609: template <typename Char,
609:           enable_if_t<(!std::is_empty<std_string_view<Char>>::value), int> = 0>
609: inline auto to_string_view(std_string_view<Char> s) -> basic_string_view<Char> {
609:   return s;
609: }
609: template <typename S, enable_if_t<(is_compile_string<S>::value), int> = 0>
609: constexpr auto to_string_view(const S& s)
609:     -> basic_string_view<typename S::char_type> {
609:   return basic_string_view<typename S::char_type>(s);
609: }
609: void to_string_view(...);
609: 
609: 
609: 
609: 
609: 
609: template <typename S>
609: struct is_string : std::is_class<decltype(to_string_view(std::declval<S>()))> {
609: };
609: 
609: template <typename S, typename = void> struct char_t_impl {};
609: template <typename S> struct char_t_impl<S, enable_if_t<is_string<S>::value>> {
609:   using result = decltype(to_string_view(std::declval<S>()));
609:   using type = typename result::value_type;
609: };
609: 
609: enum class type {
609:   none_type,
609: 
609:   int_type,
609:   uint_type,
609:   long_long_type,
609:   ulong_long_type,
609:   int128_type,
609:   uint128_type,
609:   bool_type,
609:   char_type,
609:   last_integer_type = char_type,
609: 
609:   float_type,
609:   double_type,
609:   long_double_type,
609:   last_numeric_type = long_double_type,
609:   cstring_type,
609:   string_type,
609:   pointer_type,
609:   custom_type
609: };
609: 
609: 
609: template <typename T, typename Char>
609: struct type_constant : std::integral_constant<type, type::custom_type> {};
609: 
609: 
609: 
609: 
609: 
609: 
609: template <typename Char> struct type_constant<int, Char> : std::integral_constant<type, type::int_type> {};
onst char *__restrict __src, size_t __n)
1417:     noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1417: 
1417: 
1417: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
1417:     locale_t __l) noexcept (true) __attribute__ ((__nonnull__ (2, 4)))
1417:      __attribute__ ((__access__ (__write_only__, 1, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *strdup (const char *__s)
1417:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *strndup (const char *__string, size_t __n)
1417:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1417: # 224 "/usr/include/string.h" 3 4
1417: extern "C++"
1417: {
1417: extern char *strchr (char *__s, int __c)
1417:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: extern const char *strchr (const char *__s, int __c)
1417:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1417: strchr (char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_strchr (__s, __c);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1417: strchr (const char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_strchr (__s, __c);
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++"
1417: {
1417: extern char *strrchr (char *__s, int __c)
1417:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: extern const char *strrchr (const char *__s, int __c)
1417:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1417: strrchr (char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_strrchr (__s, __c);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1417: strrchr (const char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_strrchr (__s, __c);
1417: }
1417: 
1417: }
1417: # 281 "/usr/include/string.h" 3 4
1417: extern "C++" char *strchrnul (char *__s, int __c)
1417:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: extern "C++" const char *strchrnul (const char *__s, int __c)
1417:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: # 293 "/usr/include/string.h" 3 4
1417: extern size_t strcspn (const char *__s, const char *__reject)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern size_t strspn (const char *__s, const char *__accept)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern "C++"
1417: {
1417: extern char *strpbrk (char *__s, const char *__accept)
1417:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: extern const char *strpbrk (const char *__s, const char *__accept)
1417:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1417: strpbrk (char *__s, const char *__accept) noexcept (true)
1417: {
1417:   return __builtin_strpbrk (__s, __accept);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1417: strpbrk (const char *__s, const char *__accept) noexcept (true)
1417: {
1417:   return __builtin_strpbrk (__s, __accept);
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++"
1417: {
1417: extern char *strstr (char *__haystack, const char *__needle)
1417:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: extern const char *strstr (const char *__haystack, const char *__needle)
1417:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1417: strstr (char *__haystack, const char *__needle) noexcept (true)
1417: {
1417:   return __builtin_strstr (__haystack, __needle);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1417: strstr (const char *__haystack, const char *__needle) noexcept (true)
1417: {
1417:   return __builtin_strstr (__haystack, __needle);
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *strtok (char *__restrict __s, const char *__restrict __delim)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: extern char *__strtok_r (char *__restrict __s,
1417:     const char *__restrict __delim,
1417:     char **__restrict __save_ptr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1417: 
1417: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
1417:          char **__restrict __save_ptr)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" char *strcasestr (char *__haystack, const char *__needle)
1417:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: extern "C++" const char *strcasestr (const char *__haystack,
1417:          const char *__needle)
1417:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: # 389 "/usr/include/string.h" 3 4
1417: extern void *memmem (const void *__haystack, size_t __haystacklen,
1417:        const void *__needle, size_t __needlelen)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)))
1417:     __attribute__ ((__access__ (__read_only__, 1, 2)))
1417:     __attribute__ ((__access__ (__read_only__, 3, 4)));
1417: 
1417: 
1417: 
1417: extern void *__mempcpy (void *__restrict __dest,
1417:    const void *__restrict __src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: extern void *mempcpy (void *__restrict __dest,
1417:         const void *__restrict __src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern size_t strlen (const char *__s)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern size_t strnlen (const char *__string, size_t __maxlen)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern char *strerror (int __errnum) noexcept (true);
1417: # 444 "/usr/include/string.h" 3 4
1417: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: extern const char *strerrordesc_np (int __err) noexcept (true);
1417: 
1417: extern const char *strerrorname_np (int __err) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *strerror_l (int __errnum, locale_t __l) noexcept (true);
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/strings.h" 1 3 4
1417: # 23 "/usr/include/strings.h" 3 4
1417: # 609: template <typename Char> struct type_constant<unsigned, Char> : std::integral_constant<type, type::uint_type> {};
609: template <typename Char> struct type_constant<long long, Char> : std::integral_constant<type, type::long_long_type> {};
609: template <typename Char> struct type_constant<unsigned long long, Char> : std::integral_constant<type, type::ulong_long_type> {};
609: template <typename Char> struct type_constant<int128_opt, Char> : std::integral_constant<type, type::int128_type> {};
609: template <typename Char> struct type_constant<uint128_opt, Char> : std::integral_constant<type, type::uint128_type> {};
609: template <typename Char> struct type_constant<bool, Char> : std::integral_constant<type, type::bool_type> {};
609: template <typename Char> struct type_constant<Char, Char> : std::integral_constant<type, type::char_type> {};
609: template <typename Char> struct type_constant<float, Char> : std::integral_constant<type, type::float_type> {};
609: template <typename Char> struct type_constant<double, Char> : std::integral_constant<type, type::double_type> {};
609: template <typename Char> struct type_constant<long double, Char> : std::integral_constant<type, type::long_double_type> {};
609: template <typename Char> struct type_constant<const Char*, Char> : std::integral_constant<type, type::cstring_type> {};
609: template <typename Char> struct type_constant<basic_string_view<Char>, Char> : std::integral_constant<type, type::string_type> {};
609: template <typename Char> struct type_constant<const void*, Char> : std::integral_constant<type, type::pointer_type> {};
609: 
609: constexpr bool is_integral_type(type t) {
609:   return t > type::none_type && t <= type::last_integer_type;
609: }
609: 
609: constexpr bool is_arithmetic_type(type t) {
609:   return t > type::none_type && t <= type::last_numeric_type;
609: }
609: 
609: [[noreturn]] void throw_format_error(const char* message);
609: 
609: struct error_handler {
609:   constexpr error_handler() = default;
609:   constexpr error_handler(const error_handler&) = default;
609: 
609: 
609:   [[noreturn]] void on_error(const char* message) {
609:     throw_format_error(message);
609:   }
609: };
609: }
609: 
609: 
609: template <typename S> using char_t = typename detail::char_t_impl<S>::type;
609: # 653 "/usr/include/fmt/core.h" 3 4
609: template <typename Char, typename ErrorHandler = detail::error_handler>
609: class basic_format_parse_context : private ErrorHandler {
609:  private:
609:   basic_string_view<Char> format_str_;
609:   int next_arg_id_;
609: 
609:   constexpr void do_check_arg_id(int id);
609: 
609:  public:
609:   using char_type = Char;
609:   using iterator = typename basic_string_view<Char>::iterator;
609: 
609:   explicit constexpr basic_format_parse_context(
609:       basic_string_view<Char> format_str, ErrorHandler eh = {},
609:       int next_arg_id = 0)
609:       : ErrorHandler(eh), format_str_(format_str), next_arg_id_(next_arg_id) {}
609: 
609: 
609: 
609: 
609: 
609:   constexpr auto begin() const noexcept -> iterator {
609:     return format_str_.begin();
609:   }
609: 
609: 
609: 
609: 
609:   constexpr auto end() const noexcept -> iterator { return format_str_.end(); }
609: 
609: 
609:   constexpr void advance_to(iterator it) {
609:     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
609:   }
609: 
609: 
609: 
609: 
609: 
609:   constexpr auto next_arg_id() -> int {
609:     if (next_arg_id_ < 0) {
609:       on_error("cannot switch from manual to automatic argument indexing");
609:       return 0;
609:     }
609:     int id = next_arg_id_++;
609:     do_check_arg_id(id);
609:     return id;
609:   }
609: 
609: 
609: 
609: 
609: 
609:   constexpr void check_arg_id(int id) {
609:     if (next_arg_id_ > 0) {
609:       on_error("cannot switch from automatic to manual argument indexing");
609:       return;
609:     }
609:     next_arg_id_ = -1;
609:     do_check_arg_id(id);
609:   }
609:   constexpr void check_arg_id(basic_string_view<Char>) {}
609:   constexpr void check_dynamic_spec(int arg_id);
609: 
609:   constexpr void on_error(const char* message) {
609:     ErrorHandler::on_error(message);
609:   }
609: 
609:   constexpr auto error_handler() const -> ErrorHandler { return *this; }
609: };
609: 
609: using format_parse_context = basic_format_parse_context<char>;
609: 
609: namespace detail {
609: 
609: template <typename Char, typename ErrorHandler = detail::error_handler>
609: class compile_parse_context
609:     : public basic_format_parse_context<Char, ErrorHandler> {
609:  private:
609:   int num_args_;
609:   const type* types_;
609:   using base = basic_format_parse_context<Char, ErrorHandler>;
609: 
609:  public:
609:   explicit constexpr compile_parse_context(
609:       basic_string_view<Char> format_str, int num_args, const type* types,
609:       ErrorHandler eh = {}, int next_arg_id = 0)
609:       : base(format_str, eh, next_arg_id), num_args_(num_args), types_(types) {}
609: 
609:   constexpr auto num_args() const -> int { return num_args_; }
609:   constexpr auto arg_type(int id) const -> type { return types_[id]; }
609: 
609:   constexpr auto next_arg_id() -> int {
609:     int id = base::next_arg_id();
609:     if (id >= num_args_) this->on_error("argument not found");
609:     return id;
609:   }
609: 
609:   constexpr void check_arg_id(int id) {
609:     base::check_arg_id(id);
609:     if (id >= num_args_) this->on_error("argument not found");
609:   }
609:   using base::check_arg_id;
609: 
609:   constexpr void check_dynamic_spec(int arg_id) {
609:     if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id]))
609:       this->on_error("width/precision is not integer");
609:   }
609: };
609: }
609: 
609: template <typename Char, typename ErrorHandler>
609: constexpr void
609: basic_format_parse_context<Char, ErrorHandler>::do_check_arg_id(int id) {
609: 
609: 
609:   if (detail::is_constant_evaluated() && (12 * 100 + 2) >= 1200) {
609:     using context = detail::compile_parse_context<Char, ErrorHandler>;
609:     if (id >= static_cast<context*>(this)->num_args())
609:       on_error("argument not found");
609:   }
609: }
609: 
609: template <typename Char, typename ErrorHandler>
609: constexpr void
609: basic_format_parse_context<Char, ErrorHandler>::check_dynamic_spec(int arg_id) {
609:   if (detail::is_constant_evaluated()) {
609:     using context = detail::compile_parse_context<Char, ErrorHandler>;
609:     static_cast<context*>(this)->check_dynamic_spec(arg_id);
609:   }
609: }
609: 
609: template <typename Context> class basic_format_arg;
609: template <typename Context> class basic_format_args;
609: template <typename Context> class dynamic_format_arg_store;
609: 
609: 
609: template <typename T, typename Char = char, typename Enable = void>
609: struct formatter {
609: 
609:   formatter() = delete;
609: };
609: 
609: 
609: 
609: template <typename T, typename Context>
609: using has_formatter =
609:     std::is_constructible<typename Context::template formatter_type<T>>;
609: 
609: 
609: template <typename T> struct is_contiguous : std::false_type {};
609: template <typename Char>
609: struct is_contiguous<std::basic_string<Char>> : std::true_type {};
609: 
609: class appender;
609: 
609: namespace detail {
609: 
609: template <typename Context, typename T>
609: constexpr auto has_const_formatter_impl(T*)
609:     -> decltype(typename Context::template formatter_type<T>().format(
609:                     std::declval<const T&>(), std::declval<Context&>()),
609:                 true) {
609:   return true;
609: }
609: template <typename Context>
609: constexpr auto has_const_formatter_impl(...) -> bool {
609:   return false;
609: }
609: template <typename T, typename Context>
609: constexpr auto has_const_formatter() -> bool {
609:   return has_const_formatter_impl<Context>(static_cast<T*>(nullptr));
609: }
609: 
609: 
609: template <typename Container>
609: inline auto get_container(std::back_insert_iterator<Container> it)
609:     -> Container& {
609:   using base = std::back_insert_iterator<Container>;
609:   struct accessor : base {
609:     accessor(base b) : base(b) {}
609:1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 24 "/usr/include/strings.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: extern int bcmp (const void *__s1, const void *__s2, size_t __n)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern void bcopy (const void *__src, void *__dest, size_t __n)
1417:   noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern void bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern "C++"
1417: {
1417: extern char *index (char *__s, int __c)
1417:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: extern const char *index (const char *__s, int __c)
1417:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1417: index (char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_index (__s, __c);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1417: index (const char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_index (__s, __c);
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++"
1417: {
1417: extern char *rindex (char *__s, int __c)
1417:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: extern const char *rindex (const char *__s, int __c)
1417:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1417: rindex (char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_rindex (__s, __c);
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1417: rindex (const char *__s, int __c) noexcept (true)
1417: {
1417:   return __builtin_rindex (__s, __c);
1417: }
1417: 
1417: }
1417: # 104 "/usr/include/strings.h" 3 4
1417: extern int ffs (int __i) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int ffsl (long int __l) noexcept (true) __attribute__ ((__const__));
1417: __extension__ extern int ffsll (long long int __ll)
1417:      noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: extern int strcasecmp (const char *__s1, const char *__s2)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1417: 
1417: 
1417: 
1417: extern int strncasecmp_l (const char *__s1, const char *__s2,
1417:      size_t __n, locale_t __loc)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 1 3 4
1417: # 22 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 3 4
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1417: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) noexcept (true)
1417: {
1417:   (void) __builtin___memmove_chk (__dest, __src, __len,
1417:       __builtin_object_size (__dest, 0));
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1417: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) noexcept (true)
1417: {
1417:   (void) __builtin___memset_chk (__dest, '\0', __len,
1417:      __builtin_object_size (__dest, 0));
1417: }
1417: # 145 "/usr/include/strings.h" 2 3 4
1417: # 463 "/usr/include/string.h" 2 3 4
1417: 
1417: 
1417: 
1417: extern void explicit_bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1417:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: 
1417: 
1417: 
1417: extern char *strsep (char **__restrict __stringp,
1417:        const char *__restrict __delim)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern char *strsignal (int __sig) noexcept (true);
1417: 
1417: 
1417: 
1417: extern const char *sigabbrev_np (int __sig) noexcept (true);
1417: 
1417: 
1417: extern const char *sigdescr_np (int __sig) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern char *__stpncpy (char *__restrict __dest,
1417:    const char *__restrict __src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: extern char *stpncpy (char *__restrict __dest,
1417:         const char *__restrict __src, size_t __n)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int strverscmp (const char *__s1, const char *__s2)
1417:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: extern char *strfry (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern void *memfrob (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1417:     __attribute__ ((__access__ (__read_write__, 1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C++" char *basename (char *__filename)
1417:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1417: extern "C++" const char *basename (const char *__filename)
1417:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1417: # 535 "/usr/include/string.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 1 3 4
1417: # 25 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1417: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1417: 
1417: {
1417:   return __builtin___memcpy_chk (__dest, __src, __len,
1417:      __builtin_object_size (__dest, 0));
1417: }
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1417: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) noexcept (true)
1417: {
1417:   return __builtin___memmove_chk (__dest, __src, __len,
1417:       __builtin_object_size (__dest, 0));
1417: }
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1417: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1417: 
1417: {
1417:   return __builtin___mempcpy_chk (__dest, __src, __len,
1417:       __builtin_object_size (__dest, 0));
1417: }
1417: # 56 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1417: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) noexce     using base::container;
609:   };
609:   return *accessor(it).container;
609: }
609: 
609: template <typename Char, typename InputIt, typename OutputIt>
609: constexpr auto copy_str(InputIt begin, InputIt end, OutputIt out)
609:     -> OutputIt {
609:   while (begin != end) *out++ = static_cast<Char>(*begin++);
609:   return out;
609: }
609: 
609: template <typename Char, typename T, typename U,
609:           enable_if_t<(std::is_same<remove_const_t<T>, U>::value&& is_char<U>::value), int> = 0
609:                                                                             >
609: constexpr auto copy_str(T* begin, T* end, U* out) -> U* {
609:   if (is_constant_evaluated()) return copy_str<Char, T*, U*>(begin, end, out);
609:   auto size = to_unsigned(end - begin);
609:   memcpy(out, begin, size * sizeof(U));
609:   return out + size;
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: template <typename T> class buffer {
609:  private:
609:   T* ptr_;
609:   size_t size_;
609:   size_t capacity_;
609: 
609:  protected:
609: 
609:  
609:   buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {}
609: 
609:   buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept
609:       : ptr_(p), size_(sz), capacity_(cap) {}
609: 
609:   ~buffer() = default;
609:   buffer(buffer&&) = default;
609: 
609: 
609:   constexpr void set(T* buf_data, size_t buf_capacity) noexcept {
609:     ptr_ = buf_data;
609:     capacity_ = buf_capacity;
609:   }
609: 
609: 
609:   virtual void grow(size_t capacity) = 0;
609: 
609:  public:
609:   using value_type = T;
609:   using const_reference = const T&;
609: 
609:   buffer(const buffer&) = delete;
609:   void operator=(const buffer&) = delete;
609: 
609:   auto begin() noexcept -> T* { return ptr_; }
609:   auto end() noexcept -> T* { return ptr_ + size_; }
609: 
609:   auto begin() const noexcept -> const T* { return ptr_; }
609:   auto end() const noexcept -> const T* { return ptr_ + size_; }
609: 
609: 
609:   constexpr auto size() const noexcept -> size_t { return size_; }
609: 
609: 
609:   constexpr auto capacity() const noexcept -> size_t { return capacity_; }
609: 
609: 
609:   constexpr auto data() noexcept -> T* { return ptr_; }
609: 
609: 
609:   constexpr auto data() const noexcept -> const T* { return ptr_; }
609: 
609: 
609:   void clear() { size_ = 0; }
609: 
609: 
609: 
609:   void try_resize(size_t count) {
609:     try_reserve(count);
609:     size_ = count <= capacity_ ? count : capacity_;
609:   }
609: 
609: 
609: 
609: 
609: 
609:   void try_reserve(size_t new_capacity) {
609:     if (new_capacity > capacity_) grow(new_capacity);
609:   }
609: 
609:   void push_back(const T& value) {
609:     try_reserve(size_ + 1);
609:     ptr_[size_++] = value;
609:   }
609: 
609: 
609:   template <typename U> void append(const U* begin, const U* end);
609: 
609:   template <typename Idx> constexpr auto operator[](Idx index) -> T& {
609:     return ptr_[index];
609:   }
609:   template <typename Idx>
609:   constexpr auto operator[](Idx index) const -> const T& {
609:     return ptr_[index];
609:   }
609: };
609: 
609: struct buffer_traits {
609:   explicit buffer_traits(size_t) {}
609:   auto count() const -> size_t { return 0; }
609:   auto limit(size_t size) -> size_t { return size; }
609: };
609: 
609: class fixed_buffer_traits {
609:  private:
609:   size_t count_ = 0;
609:   size_t limit_;
609: 
609:  public:
609:   explicit fixed_buffer_traits(size_t limit) : limit_(limit) {}
609:   auto count() const -> size_t { return count_; }
609:   auto limit(size_t size) -> size_t {
609:     size_t n = limit_ > count_ ? limit_ - count_ : 0;
609:     count_ += size;
609:     return size < n ? size : n;
609:   }
609: };
609: 
609: 
609: template <typename OutputIt, typename T, typename Traits = buffer_traits>
609: class iterator_buffer final : public Traits, public buffer<T> {
609:  private:
609:   OutputIt out_;
609:   enum { buffer_size = 256 };
609:   T data_[buffer_size];
609: 
609:  protected:
609:   void grow(size_t) override {
609:     if (this->size() == buffer_size) flush();
609:   }
609: 
609:   void flush() {
609:     auto size = this->size();
609:     this->clear();
609:     out_ = copy_str<T>(data_, data_ + this->limit(size), out_);
609:   }
609: 
609:  public:
609:   explicit iterator_buffer(OutputIt out, size_t n = buffer_size)
609:       : Traits(n), buffer<T>(data_, 0, buffer_size), out_(out) {}
609:   iterator_buffer(iterator_buffer&& other)
609:       : Traits(other), buffer<T>(data_, 0, buffer_size), out_(other.out_) {}
609:   ~iterator_buffer() { flush(); }
609: 
609:   auto out() -> OutputIt {
609:     flush();
609:     return out_;
609:   }
609:   auto count() const -> size_t { return Traits::count() + this->size(); }
609: };
609: 
609: template <typename T>
609: class iterator_buffer<T*, T, fixed_buffer_traits> final
609:     : public fixed_buffer_traits,
609:       public buffer<T> {
609:  private:
609:   T* out_;
609:   enum { buffer_size = 256 };
609:   T data_[buffer_size];
609: 
609:  protected:
609:   void grow(size_t) override {
609:     if (this->size() == this->capacity()) flush();
609:   }
609: 
609:   void flush() {
609:     size_t n = this->limit(this->size());
609:     if (this->data() == out_) {
609:       out_ += n;
609:       this->set(data_, buffer_size);
609:     }
609:     this->clear();
609:   }
609: 
609:  public:
609:   explicit iterator_buffer(T* out, size_t n = buffer_size)
609:       : fixed_buffer_traits(n), buffer<T>(out, 0, n), out_(out) {}
609:   iterator_buffer(iterator_buffer&& other)
609:       : fixed_buffer_traits(other),
609:         buffer<T>(std::move(other)),
609:         out_(other.out_) {
609:     if (this->data() != out_) {
609:       this->set(data_, buffer_size);
609:       this->clear();
609:     }
609:   }
609:   ~iterator_buffer() { flush(); }
609: 
609:   auto out() -> T* {
609:     flush();
609:     return out_;
609:   }
609:   auto count() const -> size_t {
609:     return fixed_buffer_traits::count() + this->size();
609:   }
609: };
609: 
609: template <typename T> class iterator_buffer<T*, T> final : public buffer<T> {
609:  protected:
609:   void grow(size_t) override {}
609: 
609:  public:
609:   explicit iterator_buffer(T* out, size_t = 0) : buffer<T>(out, 0, ~size_t()) {}
609: 
609:   auto out() -> T* { return &*this->end(); }
609: };
609: 
609: 
609: template <typename Container>
609: class iterator_buffer<std::back_insert_iterator<Container>,
609:                       enable_if_t<is_contiguous<Container>::value,
609:                                   typename Container::value_type>>
609:     final : public buffer<typename Container::value_type> {
609:  private:
609:   Container& container_;
609: 
609:  protected:
609:   void grow(size_t capacity) override {
609:     container_.resize(capacity);
609:     this->set(&container_[0], capacity);
609:   }
609: 
609:  public:
609:   explicit iterator_buffer(Container& c)
609:       : buffer<typename Container::value_type>(c.size()), container_(c) {}
609:   explicit iterator_buffer(std::back_insert_iterator<Container> out, size_t = 0)
609:       : iterator_buffer(get_container(out)) {}
609: 
609:   auto out() -> std::back_insert_iterator<Container> {
609:     return std::back_inserter(container_);
609:   }
609: };
609: 
609: 
609: template <typename T = char> class counting_buffer final : public buffer<T> {
609:  private:
609:   enum { buffer_size = 256 };
609:   T data_[buffer_size];
609:   size_t count_ = 0;
609: 
609:  protected:
609:   void grow(size_t) override {
609:     if (this->size() != buffer_size) return;
609:     count_ += this->size();
609:     this->clear();
609:   }
609: 
609:  public:
609:   counting_buffer() : buffer<T>(data_, 0, buffer_size) {}
609: 
609:   auto count() -> size_t { return count_ + this->size(); }
609: };
609: 
609: template <typename T>
609: using buffer_appender = conditional_t<std::is_same<T, char>::value, appender,
609:                                       std::back_insert_iterator<buffer<T>>>;
609: 
609: 
609: template <typename T, typename OutputIt>
609: auto get_buffer(OutputIt out) -> iterator_buffer<OutputIt, T> {
609:   return iteratpt (true)
1417: {
1417:   return __builtin___memset_chk (__dest, __ch, __len,
1417:      __builtin_object_size (__dest, 0));
1417: }
1417: 
1417: 
1417: 
1417: 
1417: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
1417:   noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1417: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) noexcept (true)
1417: {
1417:   __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0));
1417: }
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1417: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1417: {
1417:   return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1417: }
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1417: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1417: {
1417:   return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1417: }
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1417: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
1417: 
1417: {
1417:   return __builtin___strncpy_chk (__dest, __src, __len,
1417:       __builtin_object_size (__dest, 2 > 1));
1417: }
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1417: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) noexcept (true)
1417: {
1417:   return __builtin___stpncpy_chk (__dest, __src, __n,
1417:       __builtin_object_size (__dest, 2 > 1));
1417: }
1417: # 127 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1417: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1417: {
1417:   return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1417: }
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1417: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
1417: 
1417: {
1417:   return __builtin___strncat_chk (__dest, __src, __len,
1417:       __builtin_object_size (__dest, 2 > 1));
1417: }
1417: # 536 "/usr/include/string.h" 2 3 4
1417: 
1417: 
1417: 
1417: }
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1417: 
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1417: class TransformMatrix
1417: {
1417: public:
1417:   TransformMatrix()
1417:   {
1417:     Reset();
1417:   };
1417:   void Reset()
1417:   {
1417:     m[0][0] = 1.0f; m[0][1] = m[0][2] = m[0][3] = 0.0f;
1417:     m[1][0] = m[1][2] = m[1][3] = 0.0f; m[1][1] = 1.0f;
1417:     m[2][0] = m[2][1] = m[2][3] = 0.0f; m[2][2] = 1.0f;
1417:     alpha = red = green = blue = 1.0f;
1417:     identity = true;
1417:   };
1417:   static TransformMatrix CreateTranslation(float transX, float transY, float transZ = 0)
1417:   {
1417:     TransformMatrix translation;
1417:     translation.SetTranslation(transX, transY, transZ);
1417:     return translation;
1417:   }
1417:   void SetTranslation(float transX, float transY, float transZ)
1417:   {
1417:     m[0][1] = m[0][2] = 0.0f; m[0][0] = 1.0f; m[0][3] = transX;
1417:     m[1][0] = m[1][2] = 0.0f; m[1][1] = 1.0f; m[1][3] = transY;
1417:     m[2][0] = m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = transZ;
1417:     alpha = red = green = blue = 1.0f;
1417:     identity = (transX == 0 && transY == 0 && transZ == 0);
1417:   }
1417:   static TransformMatrix CreateScaler(float scaleX, float scaleY, float scaleZ = 1.0f)
1417:   {
1417:     TransformMatrix scaler;
1417:     scaler.m[0][0] = scaleX;
1417:     scaler.m[1][1] = scaleY;
1417:     scaler.m[2][2] = scaleZ;
1417:     scaler.identity = (scaleX == 1 && scaleY == 1 && scaleZ == 1);
1417:     return scaler;
1417:   };
1417:   void SetScaler(float scaleX, float scaleY, float centerX, float centerY)
1417:   {
1417: 
1417:     float centerZ = 0.0f, scaleZ = 1.0f;
1417:     m[0][0] = scaleX; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = centerX*(1-scaleX);
1417:     m[1][0] = 0.0f; m[1][1] = scaleY; m[1][2] = 0.0f; m[1][3] = centerY*(1-scaleY);
1417:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = scaleZ; m[2][3] = centerZ*(1-scaleZ);
1417:     alpha = red = green = blue = 1.0f;
1417:     identity = (scaleX == 1 && scaleY == 1);
1417:   };
1417:   void SetXRotation(float angle, float y, float z, float ar = 1.0f)
1417:   {
1417: 
1417:     float c = cos(angle); float s = sin(angle);
1417:     m[0][0] = ar; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1417:     m[1][0] = 0.0f; m[1][1] = c/ar; m[1][2] = -s/ar; m[1][3] = (-y*c+s*z)/ar + y;
1417:     m[2][0] = 0.0f; m[2][1] = s; m[2][2] = c; m[2][3] = (-y*s-c*z) + z;
1417:     alpha = red = green = blue = 1.0f;
1417:     identity = (angle == 0);
1417:   }
1417:   void SetYRotation(float angle, float x, float z, float ar = 1.0f)
1417:   {
1417: 
1417:     float c = cos(angle); float s = sin(angle);
1417:     m[0][0] = c; m[0][1] = 0.0f; m[0][2] = -s/ar; m[0][3] = -x*c + s*z/ar + x;
1417:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1417:     m[2][0] = ar*s; m[2][1] = 0.0f; m[2][2] = c; m[2][3] = -ar*x*s - c*z + z;
1417:     alpha = red = green = blue = 1.0f;
1417:     identity = (angle == 0);
1417:   }
1417:   static TransformMatrix CreateZRotation(float angle, float x, float y, float ar = 1.0f)
1417:   {
1417: 
1417:     TransformMatrix rot;
1417:     rot.SetZRotation(angle, x, y, ar);
1417:     return rot;
1417:   }
1417:   void SetZRotation(float angle, float x, float y, float ar = 1.0f)
1417:   {
1417: 
1417:     float c = cos(angle); float s = sin(angle);
1417:     m[0][0] = c; m[0][1] = -s/ar; m[0][2] = 0.0f; m[0][3] = -x*c + s*y/ar + x;
1417:     m[1][0] = s*ar; m[1][1] = c; m[1][2] = 0.0f; m[1][3] = -ar*x*s - c*y + y;
1417:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1417:     alpha = red = green = blue = 1.0f;
1417:     identity = (angle == 0);
1417:   }
1417:   static TransformMatrix CreateFader(float a)
1417:   {
1417:     TransformMatrix fader;
1417:     fader.SetFader(a);
1417:     return fader;
1417:   }
1417:   static TransformMatrix CreateFader(float a, float r, float g, float b)
1417:   {
1417:     TransformMatrix fader;
1417:     fader.SetFader(a, r, g, b);
1417:     return fader;
1417:   }
1417:   void SetFader(float a)
1417:   {
1417:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1417:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1417:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1417:     alpha = a;
1417:     red = green = blue = 1.0f;
1417:     identity = (a == 1.0f);
1417:   }
1417: 
1417:   void SetFader(float a, float r, float g, float b)
1417:   {
1417:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1417:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1417:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1417:     alpha = a;
1417:     red = r;
1417:     green = g;
1417:     blue = b;
1417:     identity = ((a == 1.0f) && (r == 1.0f) && (g == 1.0f) && (b == 1.0f));
1417:   }
1417: 
1417: 
1417:   const TransformMatrix &operator *=or_buffer<OutputIt, T>(out);
609: }
609: 
609: template <typename Buffer>
609: auto get_iterator(Buffer& buf) -> decltype(buf.out()) {
609:   return buf.out();
609: }
609: template <typename T> auto get_iterator(buffer<T>& buf) -> buffer_appender<T> {
609:   return buffer_appender<T>(buf);
609: }
609: 
609: template <typename T, typename Char = char, typename Enable = void>
609: struct fallback_formatter {
609:   fallback_formatter() = delete;
609: };
609: 
609: 
609: template <typename T, typename Char>
609: using has_fallback_formatter =
609: 
609: 
609: 
609:     std::false_type;
609: 
609: 
609: struct view {};
609: 
609: template <typename Char, typename T> struct named_arg : view {
609:   const Char* name;
609:   const T& value;
609:   named_arg(const Char* n, const T& v) : name(n), value(v) {}
609: };
609: 
609: template <typename Char> struct named_arg_info {
609:   const Char* name;
609:   int id;
609: };
609: 
609: template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
609: struct arg_data {
609: 
609: 
609:   T args_[1 + (NUM_ARGS != 0 ? NUM_ARGS : +1)];
609:   named_arg_info<Char> named_args_[NUM_NAMED_ARGS];
609: 
609:   template <typename... U>
609:   arg_data(const U&... init) : args_{T(named_args_, NUM_NAMED_ARGS), init...} {}
609:   arg_data(const arg_data& other) = delete;
609:   auto args() const -> const T* { return args_ + 1; }
609:   auto named_args() -> named_arg_info<Char>* { return named_args_; }
609: };
609: 
609: template <typename T, typename Char, size_t NUM_ARGS>
609: struct arg_data<T, Char, NUM_ARGS, 0> {
609: 
609:   T args_[NUM_ARGS != 0 ? NUM_ARGS : +1];
609: 
609:   template <typename... U>
609:   constexpr inline __attribute__((always_inline)) arg_data(const U&... init) : args_{init...} {}
609:   constexpr inline __attribute__((always_inline)) auto args() const -> const T* { return args_; }
609:   constexpr inline __attribute__((always_inline)) auto named_args() -> std::nullptr_t {
609:     return nullptr;
609:   }
609: };
609: 
609: template <typename Char>
609: inline void init_named_args(named_arg_info<Char>*, int, int) {}
609: 
609: template <typename T> struct is_named_arg : std::false_type {};
609: template <typename T> struct is_statically_named_arg : std::false_type {};
609: 
609: template <typename T, typename Char>
609: struct is_named_arg<named_arg<Char, T>> : std::true_type {};
609: 
609: template <typename Char, typename T, typename... Tail,
609:           enable_if_t<(!is_named_arg<T>::value), int> = 0>
609: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
609:                      int named_arg_count, const T&, const Tail&... args) {
609:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
609: }
609: 
609: template <typename Char, typename T, typename... Tail,
609:           enable_if_t<(is_named_arg<T>::value), int> = 0>
609: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
609:                      int named_arg_count, const T& arg, const Tail&... args) {
609:   named_args[named_arg_count++] = {arg.name, arg_count};
609:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
609: }
609: 
609: template <typename... Args>
609: constexpr inline __attribute__((always_inline)) void init_named_args(std::nullptr_t, int, int,
609:                                               const Args&...) {}
609: 
609: template <bool B = false> constexpr auto count() -> size_t { return B ? 1 : 0; }
609: template <bool B1, bool B2, bool... Tail> constexpr auto count() -> size_t {
609:   return (B1 ? 1 : 0) + count<B2, Tail...>();
609: }
609: 
609: template <typename... Args> constexpr auto count_named_args() -> size_t {
609:   return count<is_named_arg<Args>::value...>();
609: }
609: 
609: template <typename... Args>
609: constexpr auto count_statically_named_args() -> size_t {
609:   return count<is_statically_named_arg<Args>::value...>();
609: }
609: 
609: struct unformattable {};
609: struct unformattable_char : unformattable {};
609: struct unformattable_const : unformattable {};
609: struct unformattable_pointer : unformattable {};
609: 
609: template <typename Char> struct string_value {
609:   const Char* data;
609:   size_t size;
609: };
609: 
609: template <typename Char> struct named_arg_value {
609:   const named_arg_info<Char>* data;
609:   size_t size;
609: };
609: 
609: template <typename Context> struct custom_value {
609:   using parse_context = typename Context::parse_context_type;
609:   void* value;
609:   void (*format)(void* arg, parse_context& parse_ctx, Context& ctx);
609: };
609: 
609: 
609: template <typename Context> class value {
609:  public:
609:   using char_type = typename Context::char_type;
609: 
609:   union {
609:     monostate no_value;
609:     int int_value;
609:     unsigned uint_value;
609:     long long long_long_value;
609:     unsigned long long ulong_long_value;
609:     int128_opt int128_value;
609:     uint128_opt uint128_value;
609:     bool bool_value;
609:     char_type char_value;
609:     float float_value;
609:     double double_value;
609:     long double long_double_value;
609:     const void* pointer;
609:     string_value<char_type> string;
609:     custom_value<Context> custom;
609:     named_arg_value<char_type> named_args;
609:   };
609: 
609:   constexpr inline __attribute__((always_inline)) value() : no_value() {}
609:   constexpr inline __attribute__((always_inline)) value(int val) : int_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(unsigned val) : uint_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(long long val) : long_long_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(unsigned long long val) : ulong_long_value(val) {}
609:   inline __attribute__((always_inline)) value(int128_opt val) : int128_value(val) {}
609:   inline __attribute__((always_inline)) value(uint128_opt val) : uint128_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(float val) : float_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(double val) : double_value(val) {}
609:   inline __attribute__((always_inline)) value(long double val) : long_double_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(bool val) : bool_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(char_type val) : char_value(val) {}
609:   constexpr inline __attribute__((always_inline)) value(const char_type* val) {
609:     string.data = val;
609:     if (is_constant_evaluated()) string.size = {};
609:   }
609:   constexpr inline __attribute__((always_inline)) value(basic_string_view<char_type> val) {
609:     string.data = val.data();
609:     string.size = val.size();
609:   }
609:   inline __attribute__((always_inline)) value(const void* val) : pointer(val) {}
609:   inline __attribute__((always_inline)) value(const named_arg_info<char_type>* args, size_t size)
609:       : named_args{args, size} {}
609: 
609:   template <typename T> constexpr inline __attribute__((always_inline)) value(T& val) {
609:     using value_type = remove_cvref_t<T>;
609:     custom.value = const_cast<value_type*>(&val);
609: 
609: 
609: 
609:     custom.format = format_custom_arg<
609:         value_type,
609:         conditional_t<has_formatter<value_type, Context>::value,
609:                       typename Context::template formatter_type<value_type>,
609:                       fallback_formatter<value_type, char_type>>>;
609:   }
609:   value(unformattable);
609:   value(unformattable_char);
609:   value(unformattable_const);
609:   value(unformattable_pointer);
609: 
609:  private:
609: 
609:   template <typename T, typename Formatter>
609:   static void format_custom_arg(void* arg,
609:                                 typename Context::parse_context_type& parse_ctx,
609:                                 Context& ctx) {
609:     auto f = Formatter();
609:     parse_ctx.advance_to(f.parse(parse_ctx));
609:     using qualified_type =
609:         conditional_t<has_const_formatter<T, Context>(), const T, T>;
609:     ctx.advance_to(f.format(*stati(const TransformMatrix &right)
1417:   {
1417:     if (right.identity)
1417:       return *this;
1417:     if (identity)
1417:     {
1417:       *this = right;
1417:       return *this;
1417:     }
1417:     float t00 = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1417:     float t01 = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1417:     float t02 = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1417:     m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1417:     m[0][0] = t00; m[0][1] = t01; m[0][2] = t02;
1417:     t00 = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1417:     t01 = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1417:     t02 = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1417:     m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1417:     m[1][0] = t00; m[1][1] = t01; m[1][2] = t02;
1417:     t00 = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1417:     t01 = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1417:     t02 = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1417:     m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1417:     m[2][0] = t00; m[2][1] = t01; m[2][2] = t02;
1417:     alpha *= right.alpha;
1417:     red *= right.red;
1417:     green *= right.green;
1417:     blue *= right.blue;
1417:     identity = false;
1417:     return *this;
1417:   }
1417: 
1417:   TransformMatrix operator *(const TransformMatrix &right) const
1417:   {
1417:     if (right.identity)
1417:       return *this;
1417:     if (identity)
1417:       return right;
1417:     TransformMatrix result;
1417:     result.m[0][0] = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1417:     result.m[0][1] = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1417:     result.m[0][2] = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1417:     result.m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1417:     result.m[1][0] = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1417:     result.m[1][1] = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1417:     result.m[1][2] = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1417:     result.m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1417:     result.m[2][0] = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1417:     result.m[2][1] = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1417:     result.m[2][2] = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1417:     result.m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1417:     result.alpha = alpha * right.alpha;
1417:     result.red = red * right.red;
1417:     result.green = green * right.green;
1417:     result.blue = blue * right.blue;
1417:     result.identity = false;
1417:     return result;
1417:   }
1417: 
1417:   inline void TransformPosition(float &x, float &y, float &z) const __attribute__((always_inline))
1417:   {
1417:     float newX = m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1417:     float newY = m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1417:     z = m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1417:     y = newY;
1417:     x = newX;
1417:   }
1417: 
1417:   inline void TransformPositionUnscaled(float &x, float &y, float &z) const __attribute__((always_inline))
1417:   {
1417:     float n;
1417: 
1417:     n = sqrt(m[0][0]*m[0][0] + m[0][1]*m[0][1] + m[0][2]*m[0][2]);
1417:     float newX = (m[0][0] * x + m[0][1] * y + m[0][2] * z)/n + m[0][3];
1417:     n = sqrt(m[1][0]*m[1][0] + m[1][1]*m[1][1] + m[1][2]*m[1][2]);
1417:     float newY = (m[1][0] * x + m[1][1] * y + m[1][2] * z)/n + m[1][3];
1417:     n = sqrt(m[2][0]*m[2][0] + m[2][1]*m[2][1] + m[2][2]*m[2][2]);
1417:     float newZ = (m[2][0] * x + m[2][1] * y + m[2][2] * z)/n + m[2][3];
1417:     z = newZ;
1417:     y = newY;
1417:     x = newX;
1417:   }
1417: 
1417:   inline void InverseTransformPosition(float &x, float &y) const __attribute__((always_inline))
1417:   {
1417:     x -= m[0][3]; y -= m[1][3];
1417:     float detM = m[0][0]*m[1][1] - m[0][1]*m[1][0];
1417:     float newX = (m[1][1] * x - m[0][1] * y)/detM;
1417:     y = (-m[1][0] * x + m[0][0] * y)/detM;
1417:     x = newX;
1417:   }
1417: 
1417:   inline float TransformXCoord(float x, float y, float z) const __attribute__((always_inline))
1417:   {
1417:     return m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1417:   }
1417: 
1417:   inline float TransformYCoord(float x, float y, float z) const __attribute__((always_inline))
1417:   {
1417:     return m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1417:   }
1417: 
1417:   inline float TransformZCoord(float x, float y, float z) const __attribute__((always_inline))
1417:   {
1417:     return m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1417:   }
1417: 
1417:   inline UTILS::COLOR::Color TransformAlpha(UTILS::COLOR::Color color) const __attribute__((always_inline))
1417:   {
1417:     return static_cast<UTILS::COLOR::Color>(color * alpha);
1417:   }
1417: 
1417:   inline UTILS::COLOR::Color TransformColor(UTILS::COLOR::Color color) const __attribute__((always_inline))
1417:   {
1417:     UTILS::COLOR::Color a = static_cast<UTILS::COLOR::Color>(((color >> 24) & 0xff) * alpha);
1417:     UTILS::COLOR::Color r = static_cast<UTILS::COLOR::Color>(((color >> 16) & 0xff) * red);
1417:     UTILS::COLOR::Color g = static_cast<UTILS::COLOR::Color>(((color >> 8) & 0xff) * green);
1417:     UTILS::COLOR::Color b = static_cast<UTILS::COLOR::Color>(((color)&0xff) * blue);
1417:     if (a > 255)
1417:       a = 255;
1417:     if (r > 255)
1417:       r = 255;
1417:     if (g > 255)
1417:       g = 255;
1417:     if (b > 255)
1417:       b = 255;
1417: 
1417:     return ((a << 24) & 0xff000000) | ((r << 16) & 0xff0000) | ((g << 8) & 0xff00) | (b & 0xff);
1417:   }
1417: 
1417:   float m[3][4];
1417:   float alpha;
1417:   float red;
1417:   float green;
1417:   float blue;
1417:   bool identity;
1417: };
1417: 
1417: inline bool operator==(const TransformMatrix &a, const TransformMatrix &b)
1417: {
1417:   bool comparison =
1417:       a.alpha == b.alpha && a.red == b.red && a.green == b.green && a.blue == b.blue &&
1417:       ((a.identity && b.identity) ||
1417:        (!a.identity && !b.identity &&
1417:         std::equal(&a.m[0][0], &a.m[0][0] + sizeof(a.m) / sizeof(a.m[0][0]), &b.m[0][0])));
1417:   return comparison;
1417: }
1417: 
1417: inline bool operator!=(const TransformMatrix &a, const TransformMatrix &b)
1417: {
1417:   return !operator==(a, b);
1417: }
1417: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum ANIMATION_TYPE
1417: {
1417:   ANIM_TYPE_UNFOCUS = -3,
1417:   ANIM_TYPE_HIDDEN,
1417:   ANIM_TYPE_WINDOW_CLOSE,
1417:   ANIM_TYPE_NONE,
1417:   ANIM_TYPE_WINDOW_OPEN,
1417:   ANIM_TYPE_VISIBLE,
1417:   ANIM_TYPE_FOCUS,
1417:   ANIM_TYPE_CONDITIONAL
1417: };
1417: 
1417: class CAnimEffect
1417: {
1417: public:
1417:   enum EFFECT_TYPE
1417:   {
1417:     EFFECT_TYPE_NONE = 0,
1417:     EFFECT_TYPE_FADE,
1417:     EFFECT_TYPE_FADE_DIFFUSE,
1417:     EFFECT_TYPE_SLIDE,
1417:     EFFECT_TYPE_ROTATE_X,
1417:     EFFECT_TYPE_ROTATE_Y,
1417:     EFFECT_TYPE_ROTATE_Z,
1417:     EFFECT_TYPE_ZOOM
1417:   };
1417: 
1417:   CAnimEffect(const TiXmlElement *node, EFFECT_TYPE effect);
1417:   CAnimEffect(unsigned int delay, unsigned int length, EFFECT_TYPE effect);
1417:   CAnimEffect(const CAnimEffect &src);
1417: 
1417:   virtual ~CAnimEffect();
1417:  c_cast<qualified_type*>(arg), ctx));
609:   }
609: };
609: 
609: template <typename Context, typename T>
609: constexpr auto make_arg(T&& value) -> basic_format_arg<Context>;
609: 
609: 
609: 
609: enum { long_short = sizeof(long) == sizeof(int) };
609: using long_type = conditional_t<long_short, int, long long>;
609: using ulong_type = conditional_t<long_short, unsigned, unsigned long long>;
609: 
609: 
609: inline auto format_as(std::byte b) -> unsigned char {
609:   return static_cast<unsigned char>(b);
609: }
609: 
609: 
609: template <typename T> struct has_format_as {
609:   template <typename U, typename V = decltype(format_as(U())),
609:             enable_if_t<(std::is_enum<U>::value&& std::is_integral<V>::value), int> = 0>
609:   static auto check(U*) -> std::true_type;
609:   static auto check(...) -> std::false_type;
609: 
609:   enum { value = decltype(check(static_cast<T*>(nullptr)))::value };
609: };
609: 
609: 
609: 
609: 
609: template <typename Context> struct arg_mapper {
609:   using char_type = typename Context::char_type;
609: 
609:   constexpr inline __attribute__((always_inline)) auto map(signed char val) -> int { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(unsigned char val) -> unsigned {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(short val) -> int { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(unsigned short val) -> unsigned {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(int val) -> int { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(unsigned val) -> unsigned { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(long val) -> long_type { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(unsigned long val) -> ulong_type {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(long long val) -> long long { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(unsigned long long val)
609:       -> unsigned long long {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(int128_opt val) -> int128_opt {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(uint128_opt val) -> uint128_opt {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(bool val) -> bool { return val; }
609: 
609:   template <typename T, enable_if_t<(std::is_same<T, char>::value || std::is_same<T, char_type>::value), int> = 0
609:                                                                         >
609:   constexpr inline __attribute__((always_inline)) auto map(T val) -> char_type {
609:     return val;
609:   }
609:   template <typename T, enable_if_t<(std::is_same<T, wchar_t>::value ||
609: 
609: 
609: 
609:                                      std::is_same<T, char16_t>::value ||
609:                                      std::is_same<T, char32_t>::value) &&
609:                                         !std::is_same<T, char_type>::value,
609:                                     int> = 0>
609:   constexpr inline __attribute__((always_inline)) auto map(T) -> unformattable_char {
609:     return {};
609:   }
609: 
609:   constexpr inline __attribute__((always_inline)) auto map(float val) -> float { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(double val) -> double { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(long double val) -> long double {
609:     return val;
609:   }
609: 
609:   constexpr inline __attribute__((always_inline)) auto map(char_type* val) -> const char_type* {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(const char_type* val) -> const char_type* {
609:     return val;
609:   }
609:   template <typename T,
609:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && std::is_same<char_type, char_t<T>>::value), int> = 0
609:                                                                     >
609:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
609:       -> basic_string_view<char_type> {
609:     return to_string_view(val);
609:   }
609:   template <typename T,
609:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && !std::is_same<char_type, char_t<T>>::value), int> = 0
609:                                                                      >
609:   constexpr inline __attribute__((always_inline)) auto map(const T&) -> unformattable_char {
609:     return {};
609:   }
609:   template <typename T,
609:             enable_if_t<(std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
609: 
609: 
609:                                                              >
609:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
609:       -> basic_string_view<char_type> {
609:     return basic_string_view<char_type>(val);
609:   }
609:   template <typename T,
609:             enable_if_t<(std::is_convertible<T, std_string_view<char_type>>::value && !std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
609: 
609: 
609: 
609:                                                              >
609:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
609:       -> basic_string_view<char_type> {
609:     return std_string_view<char_type>(val);
609:   }
609: 
609:   constexpr inline __attribute__((always_inline)) auto map(void* val) -> const void* { return val; }
609:   constexpr inline __attribute__((always_inline)) auto map(const void* val) -> const void* {
609:     return val;
609:   }
609:   constexpr inline __attribute__((always_inline)) auto map(std::nullptr_t val) -> const void* {
609:     return val;
609:   }
609: 
609: 
609: 
609:   template <
609:       typename T,
609:       enable_if_t<(std::is_pointer<T>::value || std::is_member_pointer<T>::value || std::is_function<typename std::remove_pointer<T>::type>::value || (std::is_convertible<const T&, const void*>::value && !std::is_convertible<const T&, const char_type*>::value && !has_formatter<T, Context>::value)), int> = 0
609: 
609: 
609: 
609: 
609:                                               >
609:   constexpr auto map(const T&) -> unformattable_pointer {
609:     return {};
609:   }
609: 
609:   template <typename T, std::size_t N,
609:             enable_if_t<(!std::is_same<T, wchar_t>::value), int> = 0>
609:   constexpr inline __attribute__((always_inline)) auto map(const T (&values)[N]) -> const T (&)[N] {
609:     return values;
609:   }
609: 
609:   template <typename T,
609:             enable_if_t<(std::is_enum<T>::value&& std::is_convertible<T, int>::value && !has_format_as<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
609: 
609: 
609:                                                              >
609:   [[deprecated]] constexpr inline __attribute__((always_inline)) auto map(const T& val)
609:       -> decltype(std::declval<arg_mapper>().map(
609:           static_cast<underlying_t<T>>(val))) {
609:     return map(static_cast<underlying_t<T>>(val));
609:   }
609: 
609:   template <typename T, enable_if_t<(has_format_as<T>::value && !has_formatter<T, Context>::value), int> = 0
609:                                                                         >
609:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
609:       -> decltype(std::declval<arg_mapper>().map(format_as(T()))) {
609:     return map(format_as(val));
609:   }
609: 
609:   template <typename T, typename U = remove_cvref_t<T>>
609:   struct formattable
609:       : bool_constant<has_const_formatter<U, Context>() ||
609:          CAnimEffect& operator=(const CAnimEffect &src);
1417: 
1417:   void Calculate(unsigned int time, const CPoint &center);
1417:   void ApplyState(ANIMATION_STATE state, const CPoint &center);
1417: 
1417:   unsigned int GetDelay() const { return m_delay; }
1417:   unsigned int GetLength() const { return m_delay + m_length; }
1417:   const TransformMatrix& GetTransform() const { return m_matrix; }
1417:   EFFECT_TYPE GetType() const { return m_effect; }
1417: 
1417:   static std::shared_ptr<Tweener> GetTweener(const TiXmlElement *pAnimationNode);
1417: protected:
1417:   TransformMatrix m_matrix;
1417:   EFFECT_TYPE m_effect;
1417: 
1417: private:
1417:   virtual void ApplyEffect(float offset, const CPoint &center)=0;
1417: 
1417: 
1417:   unsigned int m_length;
1417:   unsigned int m_delay;
1417: 
1417:   std::shared_ptr<Tweener> m_pTweener;
1417: };
1417: 
1417: class CFadeEffect : public CAnimEffect
1417: {
1417: public:
1417:   CFadeEffect(const TiXmlElement* node, bool reverseDefaults, EFFECT_TYPE effect);
1417:   CFadeEffect(float start, float end, unsigned int delay, unsigned int length);
1417:   CFadeEffect(UTILS::COLOR::Color start,
1417:               UTILS::COLOR::Color end,
1417:               unsigned int delay,
1417:               unsigned int length);
1417:   ~CFadeEffect() override = default;
1417: private:
1417:   void ApplyEffect(float offset, const CPoint &center) override;
1417: 
1417:   float m_startAlpha;
1417:   float m_endAlpha;
1417:   UTILS::COLOR::ColorFloats m_startColor;
1417:   UTILS::COLOR::ColorFloats m_endColor;
1417: };
1417: 
1417: class CSlideEffect : public CAnimEffect
1417: {
1417: public:
1417:   explicit CSlideEffect(const TiXmlElement *node);
1417:   ~CSlideEffect() override = default;
1417: private:
1417:   void ApplyEffect(float offset, const CPoint &center) override;
1417: 
1417:   float m_startX;
1417:   float m_startY;
1417:   float m_endX;
1417:   float m_endY;
1417: };
1417: 
1417: class CRotateEffect : public CAnimEffect
1417: {
1417: public:
1417:   CRotateEffect(const TiXmlElement *node, EFFECT_TYPE effect);
1417:   ~CRotateEffect() override = default;
1417: private:
1417:   void ApplyEffect(float offset, const CPoint &center) override;
1417: 
1417:   float m_startAngle;
1417:   float m_endAngle;
1417: 
1417:   bool m_autoCenter;
1417:   CPoint m_center;
1417: };
1417: 
1417: class CZoomEffect : public CAnimEffect
1417: {
1417: public:
1417:   CZoomEffect(const TiXmlElement *node, const CRect &rect);
1417:   ~CZoomEffect() override = default;
1417: private:
1417:   void ApplyEffect(float offset, const CPoint &center) override;
1417: 
1417:   float m_startX;
1417:   float m_startY;
1417:   float m_endX;
1417:   float m_endY;
1417: 
1417:   bool m_autoCenter;
1417:   CPoint m_center;
1417: };
1417: 
1417: class CAnimation
1417: {
1417: public:
1417:   CAnimation();
1417:   CAnimation(const CAnimation &src);
1417: 
1417:   virtual ~CAnimation();
1417: 
1417:   CAnimation& operator=(const CAnimation &src);
1417: 
1417:   static CAnimation CreateFader(float start, float end, unsigned int delay, unsigned int length, ANIMATION_TYPE type = ANIM_TYPE_NONE);
1417: 
1417:   void Create(const TiXmlElement *node, const CRect &rect, int context);
1417: 
1417:   void Animate(unsigned int time, bool startAnim);
1417:   void ResetAnimation();
1417:   void ApplyAnimation();
1417:   inline void RenderAnimation(TransformMatrix &matrix)
1417:   {
1417:     RenderAnimation(matrix, CPoint());
1417:   }
1417:   void RenderAnimation(TransformMatrix &matrix, const CPoint &center);
1417:   void QueueAnimation(ANIMATION_PROCESS process);
1417: 
1417:   inline bool IsReversible() const { return m_reversible; }
1417:   inline ANIMATION_TYPE GetType() const { return m_type; }
1417:   inline ANIMATION_STATE GetState() const { return m_currentState; }
1417:   inline ANIMATION_PROCESS GetProcess() const { return m_currentProcess; }
1417:   inline ANIMATION_PROCESS GetQueuedProcess() const { return m_queuedProcess; }
1417: 
1417:   bool CheckCondition();
1417:   void UpdateCondition(const CGUIListItem *item = 
1417: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 3 4
1417:                                                  __null
1417: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1417:                                                      );
1417:   void SetInitialCondition();
1417: 
1417: private:
1417:   void Calculate(const CPoint &point);
1417:   void AddEffect(const std::string &type, const TiXmlElement *node, const CRect &rect);
1417: 
1417:   enum ANIM_REPEAT { ANIM_REPEAT_NONE = 0, ANIM_REPEAT_PULSE, ANIM_REPEAT_LOOP };
1417: 
1417: 
1417:   ANIMATION_TYPE m_type;
1417:   bool m_reversible;
1417:   INFO::InfoPtr m_condition;
1417: 
1417: 
1417:   ANIM_REPEAT m_repeatAnim;
1417:   bool m_lastCondition;
1417: 
1417: 
1417:   ANIMATION_PROCESS m_queuedProcess;
1417:   ANIMATION_PROCESS m_currentProcess;
1417:   ANIMATION_STATE m_currentState;
1417: 
1417: 
1417:   unsigned int m_start;
1417:   unsigned int m_length;
1417:   unsigned int m_delay;
1417:   unsigned int m_amount;
1417: 
1417:   std::vector<CAnimEffect *> m_effects;
1417: };
1417: # 221 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1417: class CScroller
1417: {
1417: public:
1417:   CScroller(unsigned int duration = 200, std::shared_ptr<Tweener> tweener = std::shared_ptr<Tweener>());
1417:   CScroller(const CScroller& right);
1417:   CScroller& operator=(const CScroller &src);
1417:   ~CScroller();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void ScrollTo(float endPos);
1417: 
1417: 
1417: 
1417: 
1417:   void Stop() { m_delta = 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Update(unsigned int time);
1417: 
1417: 
1417: 
1417: 
1417:   float GetValue() const { return m_scrollValue; }
1417:   void SetValue(float scrollValue) { m_scrollValue = scrollValue; }
1417: 
1417:   bool IsScrolling() const { return m_delta != 0; }
1417:   bool IsScrollingUp() const { return m_delta < 0; }
1417:   bool IsScrollingDown() const { return m_delta > 0; }
1417: 
1417:   unsigned int GetDuration() const { return m_duration; }
1417: 
1417: private:
1417:   float Tween(float progress);
1417: 
1417:   float m_scrollValue;
1417:   float m_delta;
1417:   float m_startPosition;
1417:   bool m_hasResumePoint;
1417:   unsigned int m_startTime;
1417: 
1417:   unsigned int m_duration;
1417:   std::shared_ptr<Tweener> m_pTweener;
1417: };
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h"
1417:        
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h"
1417: class CGUIListItem;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfoBool
1417: {
1417: public:
1417:   explicit CGUIInfoBool(bool value = false);
1417:   ~CGUIInfoBool();
1417: 
1417:   operator bool() const { return m_value; }
1417: 
1417:   void Update(int contextWindow, const CGUIListItem* item = nullptr);
1417:   void Parse(const std::string &expression, int context);
1417: private:
1417:   INFO::InfoPtr m_info;
1417:   bool m_value;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/map" 1 3
1417: # 58 "/usr/include/c++/12/map" 3
1417:        
1417: # 59 "/usr/include/c++/12/map" 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_tree.h" 1 3
1417: # 61 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:        
1417: # 62 "/usr/include/c++/12/bits/stl_tree.h" 3
1417: # 72 "/              !std::is_const<remove_reference_t<T>>::value ||
609:                       has_fallback_formatter<U, char_type>::value> {};
609: # 1496 "/usr/include/fmt/core.h" 3 4
609:   template <typename T, enable_if_t<(formattable<T>::value), int> = 0>
609:   constexpr inline __attribute__((always_inline)) auto do_map(T&& val) -> T& {
609:     return val;
609:   }
609:   template <typename T, enable_if_t<(!formattable<T>::value), int> = 0>
609:   constexpr inline __attribute__((always_inline)) auto do_map(T&&) -> unformattable_const {
609:     return {};
609:   }
609: 
609: 
609:   template <typename T, typename U = remove_cvref_t<T>,
609:             enable_if_t<(!is_string<U>::value && !is_char<U>::value && !std::is_array<U>::value && !std::is_pointer<U>::value && !has_format_as<U>::value && (has_formatter<U, Context>::value || has_fallback_formatter<U, char_type>::value)), int> = 0
609: 
609: 
609: 
609: 
609:                                                                         >
609:   constexpr inline __attribute__((always_inline)) auto map(T&& val)
609:       -> decltype(this->do_map(std::forward<T>(val))) {
609:     return do_map(std::forward<T>(val));
609:   }
609: 
609:   template <typename T, enable_if_t<(is_named_arg<T>::value), int> = 0>
609:   constexpr inline __attribute__((always_inline)) auto map(const T& named_arg)
609:       -> decltype(std::declval<arg_mapper>().map(named_arg.value)) {
609:     return map(named_arg.value);
609:   }
609: 
609:   auto map(...) -> unformattable { return {}; }
609: };
609: 
609: 
609: template <typename T, typename Context>
609: using mapped_type_constant =
609:     type_constant<decltype(arg_mapper<Context>().map(std::declval<const T&>())),
609:                   typename Context::char_type>;
609: 
609: enum { packed_arg_bits = 4 };
609: 
609: enum { max_packed_args = 62 / packed_arg_bits };
609: enum : unsigned long long { is_unpacked_bit = 1ULL << 63 };
609: enum : unsigned long long { has_named_args_bit = 1ULL << 62 };
609: 
609: }
609: 
609: 
609: 
609: class appender : public std::back_insert_iterator<detail::buffer<char>> {
609:   using base = std::back_insert_iterator<detail::buffer<char>>;
609: 
609:   template <typename T>
609:   friend auto get_buffer(appender out) -> detail::buffer<char>& {
609:     return detail::get_container(out);
609:   }
609: 
609:  public:
609:   using std::back_insert_iterator<detail::buffer<char>>::back_insert_iterator;
609:   appender(base it) noexcept : base(it) {}
609:   using unchecked_type = appender;
609: 
609:   auto operator++() noexcept -> appender& { return *this; }
609:   auto operator++(int) noexcept -> appender { return *this; }
609: };
609: 
609: 
609: 
609: template <typename Context> class basic_format_arg {
609:  private:
609:   detail::value<Context> value_;
609:   detail::type type_;
609: 
609:   template <typename ContextType, typename T>
609:   friend constexpr auto detail::make_arg(T&& value)
609:       -> basic_format_arg<ContextType>;
609: 
609:   template <typename Visitor, typename Ctx>
609:   friend constexpr auto visit_format_arg(Visitor&& vis,
609:                                              const basic_format_arg<Ctx>& arg)
609:       -> decltype(vis(0));
609: 
609:   friend class basic_format_args<Context>;
609:   friend class dynamic_format_arg_store<Context>;
609: 
609:   using char_type = typename Context::char_type;
609: 
609:   template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
609:   friend struct detail::arg_data;
609: 
609:   basic_format_arg(const detail::named_arg_info<char_type>* args, size_t size)
609:       : value_(args, size) {}
609: 
609:  public:
609:   class handle {
609:    public:
609:     explicit handle(detail::custom_value<Context> custom) : custom_(custom) {}
609: 
609:     void format(typename Context::parse_context_type& parse_ctx,
609:                 Context& ctx) const {
609:       custom_.format(custom_.value, parse_ctx, ctx);
609:     }
609: 
609:    private:
609:     detail::custom_value<Context> custom_;
609:   };
609: 
609:   constexpr basic_format_arg() : type_(detail::type::none_type) {}
609: 
609:   constexpr explicit operator bool() const noexcept {
609:     return type_ != detail::type::none_type;
609:   }
609: 
609:   auto type() const -> detail::type { return type_; }
609: 
609:   auto is_integral() const -> bool { return detail::is_integral_type(type_); }
609:   auto is_arithmetic() const -> bool {
609:     return detail::is_arithmetic_type(type_);
609:   }
609: };
609: # 1622 "/usr/include/fmt/core.h" 3 4
609: template <typename Visitor, typename Context>
609: constexpr inline __attribute__((always_inline)) auto visit_format_arg(
609:     Visitor&& vis, const basic_format_arg<Context>& arg) -> decltype(vis(0)) {
609:   switch (arg.type_) {
609:   case detail::type::none_type:
609:     break;
609:   case detail::type::int_type:
609:     return vis(arg.value_.int_value);
609:   case detail::type::uint_type:
609:     return vis(arg.value_.uint_value);
609:   case detail::type::long_long_type:
609:     return vis(arg.value_.long_long_value);
609:   case detail::type::ulong_long_type:
609:     return vis(arg.value_.ulong_long_value);
609:   case detail::type::int128_type:
609:     return vis(detail::convert_for_visit(arg.value_.int128_value));
609:   case detail::type::uint128_type:
609:     return vis(detail::convert_for_visit(arg.value_.uint128_value));
609:   case detail::type::bool_type:
609:     return vis(arg.value_.bool_value);
609:   case detail::type::char_type:
609:     return vis(arg.value_.char_value);
609:   case detail::type::float_type:
609:     return vis(arg.value_.float_value);
609:   case detail::type::double_type:
609:     return vis(arg.value_.double_value);
609:   case detail::type::long_double_type:
609:     return vis(arg.value_.long_double_value);
609:   case detail::type::cstring_type:
609:     return vis(arg.value_.string.data);
609:   case detail::type::string_type:
609:     using sv = basic_string_view<typename Context::char_type>;
609:     return vis(sv(arg.value_.string.data, arg.value_.string.size));
609:   case detail::type::pointer_type:
609:     return vis(arg.value_.pointer);
609:   case detail::type::custom_type:
609:     return vis(typename basic_format_arg<Context>::handle(arg.value_.custom));
609:   }
609:   return vis(monostate());
609: }
609: 
609: namespace detail {
609: 
609: template <typename Char, typename InputIt>
609: auto copy_str(InputIt begin, InputIt end, appender out) -> appender {
609:   get_container(out).append(begin, end);
609:   return out;
609: }
609: 
609: template <typename Char, typename R, typename OutputIt>
609: constexpr auto copy_str(R&& rng, OutputIt out) -> OutputIt {
609:   return detail::copy_str<Char>(rng.begin(), rng.end(), out);
609: }
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: template <typename...> using void_t = void;
609: 
609: 
609: template <typename It, typename T, typename Enable = void>
609: struct is_output_iterator : std::false_type {};
609: 
609: template <typename It, typename T>
609: struct is_output_iterator<
609:     It, T,
609:     void_t<typename std::iterator_traits<It>::iterator_category,
609:            decltype(*std::declval<It>() = std::declval<T>())>>
609:     : std::true_type {};
609: 
609: template <typename OutputIt>
609: struct is_back_insert_iterator : std::false_type {};
609: template <typename Container>
609: struct is_back_insert_iterator<std::back_insert_iterator<Container>>
609:     : std::true_type {};
609: 
609: template <typename OutputIt>
609: struct is_contiguous_back_insert_iterator : std::false_type {};
609: template <typename Container>
609: struct is_contiguous_back_insert_iterator<std::back_insert_iterator<Container>>
609:     : is_contiguous<Container> {};
609: template <>
609: struct is_contiguous_back_insert_iterator<appender> : std::true_type {};
609: 
609: 
609: class locale_ref {
609:  private:
609:   const void* locale_;
609: 
609:  public:
609:   constexpr locale_ref() : locale_(nullptr) {}
609:   template <typename Locale> explicit locale_ref(const Locale& loc);
609: 
609:   explicit operator bool() const noexcept { return usr/include/c++/12/bits/stl_tree.h" 3
1417: # 1 "/usr/include/c++/12/bits/node_handle.h" 1 3
1417: # 34 "/usr/include/c++/12/bits/node_handle.h" 3
1417:        
1417: # 35 "/usr/include/c++/12/bits/node_handle.h" 3
1417: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
1417: 
1417: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 63 "/usr/include/c++/12/bits/node_handle.h" 3
1417:   template<typename _Val, typename _NodeAlloc>
1417:     class _Node_handle_common
1417:     {
1417:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1417: 
1417:     public:
1417:       using allocator_type = __alloc_rebind<_NodeAlloc, _Val>;
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1417:  return allocator_type(_M_alloc._M_alloc);
1417:       }
1417: 
1417:       explicit operator bool() const noexcept { return _M_ptr != nullptr; }
1417: 
1417:       [[nodiscard]] bool empty() const noexcept { return _M_ptr == nullptr; }
1417: 
1417: 
1417:     protected:
1417:       constexpr _Node_handle_common() noexcept : _M_ptr() { }
1417: 
1417:       ~_Node_handle_common()
1417:       {
1417:  if (!empty())
1417:    _M_reset();
1417:       }
1417: 
1417:       _Node_handle_common(_Node_handle_common&& __nh) noexcept
1417:       : _M_ptr(__nh._M_ptr)
1417:       {
1417:  if (_M_ptr)
1417:    _M_move(std::move(__nh));
1417:       }
1417: 
1417:       _Node_handle_common&
1417:       operator=(_Node_handle_common&& __nh) noexcept
1417:       {
1417:  if (empty())
1417:    {
1417:      if (!__nh.empty())
1417:        _M_move(std::move(__nh));
1417:    }
1417:  else if (__nh.empty())
1417:    _M_reset();
1417:  else
1417:    {
1417: 
1417:      _AllocTraits::destroy(*_M_alloc, _M_ptr->_M_valptr());
1417:      _AllocTraits::deallocate(*_M_alloc, _M_ptr, 1);
1417: 
1417:      _M_alloc = __nh._M_alloc.release();
1417:      _M_ptr = __nh._M_ptr;
1417:      __nh._M_ptr = nullptr;
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:       _Node_handle_common(typename _AllocTraits::pointer __ptr,
1417:      const _NodeAlloc& __alloc)
1417:       : _M_ptr(__ptr), _M_alloc(__alloc)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__ptr != nullptr)) __builtin_unreachable(); } while (false);
1417:       }
1417: 
1417:       void
1417:       _M_swap(_Node_handle_common& __nh) noexcept
1417:       {
1417:  if (empty())
1417:    {
1417:      if (!__nh.empty())
1417:        _M_move(std::move(__nh));
1417:    }
1417:  else if (__nh.empty())
1417:    __nh._M_move(std::move(*this));
1417:  else
1417:    {
1417:      using std::swap;
1417:      swap(_M_ptr, __nh._M_ptr);
1417:      _M_alloc.swap(__nh._M_alloc);
1417:    }
1417:       }
1417: 
1417:     private:
1417: 
1417: 
1417: 
1417:       void
1417:       _M_move(_Node_handle_common&& __nh) noexcept
1417:       {
1417:  ::new (std::__addressof(_M_alloc)) _NodeAlloc(__nh._M_alloc.release());
1417:  _M_ptr = __nh._M_ptr;
1417:  __nh._M_ptr = nullptr;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_reset() noexcept
1417:       {
1417:  _NodeAlloc __alloc = _M_alloc.release();
1417:  _AllocTraits::destroy(__alloc, _M_ptr->_M_valptr());
1417:  _AllocTraits::deallocate(__alloc, _M_ptr, 1);
1417:  _M_ptr = nullptr;
1417:       }
1417: 
1417:     protected:
1417:       typename _AllocTraits::pointer _M_ptr;
1417: 
1417:     private:
1417: 
1417: 
1417:       union _Optional_alloc
1417:       {
1417:  _Optional_alloc() { }
1417:  ~_Optional_alloc() { }
1417: 
1417:  _Optional_alloc(_Optional_alloc&&) = delete;
1417:  _Optional_alloc& operator=(_Optional_alloc&&) = delete;
1417: 
1417:  _Optional_alloc(const _NodeAlloc& __alloc) noexcept
1417:  : _M_alloc(__alloc)
1417:  { }
1417: 
1417: 
1417:  void
1417:  operator=(_NodeAlloc&& __alloc) noexcept
1417:  {
1417:    using _ATr = _AllocTraits;
1417:    if constexpr (_ATr::propagate_on_container_move_assignment::value)
1417:      _M_alloc = std::move(__alloc);
1417:    else if constexpr (!_AllocTraits::is_always_equal::value)
1417:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __alloc)) __builtin_unreachable(); } while (false);
1417:  }
1417: 
1417: 
1417:  void
1417:  swap(_Optional_alloc& __other) noexcept
1417:  {
1417:    using std::swap;
1417:    if constexpr (_AllocTraits::propagate_on_container_swap::value)
1417:      swap(_M_alloc, __other._M_alloc);
1417:    else if constexpr (!_AllocTraits::is_always_equal::value)
1417:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __other._M_alloc)) __builtin_unreachable(); } while (false);
1417:  }
1417: 
1417: 
1417:  _NodeAlloc& operator*() noexcept { return _M_alloc; }
1417: 
1417: 
1417:  _NodeAlloc release() noexcept
1417:  {
1417:    _NodeAlloc __tmp = std::move(_M_alloc);
1417:    _M_alloc.~_NodeAlloc();
1417:    return __tmp;
1417:  }
1417: 
1417:  struct _Empty { };
1417: 
1417:  [[__no_unique_address__]] _Empty _M_empty;
1417:  [[__no_unique_address__]] _NodeAlloc _M_alloc;
1417:       };
1417: 
1417:       [[__no_unique_address__]] _Optional_alloc _M_alloc;
1417: 
1417:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1417:         typename _Compare, typename _ValueAlloc>
1417:  friend class _Rb_tree;
1417: 
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _NodeAlloc>
1417:     class _Node_handle : public _Node_handle_common<_Value, _NodeAlloc>
1417:     {
1417:     public:
1417:       constexpr _Node_handle() noexcept = default;
1417:       ~_Node_handle() = default;
1417:       _Node_handle(_Node_handle&&) noexcept = default;
1417: 
1417:       _Node_handle&
1417:       operator=(_Node_handle&&) noexcept = default;
1417: 
1417:       using key_type = _Key;
1417:       using mapped_type = typename _Value::second_type;
1417: 
1417:       key_type&
1417:       key() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1417:  return *_M_pkey;
1417:       }
1417: 
1417:       mapped_type&
1417:       mapped() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1417:  return *_M_pmapped;
1417:       }
1417: 
1417:       void
1417:       swap(_Node_handle& __nh) noexcept
1417:       {
1417:  this->_M_swap(__nh);
1417:  using std::swap;
1417:  swap(_M_pkey, __nh._M_pkey);
1417:  swap(_M_pmapped, __nh._M_pmapped);
1417:       }
1417: 
1417:       friend void
1417:       swap(_Node_handle& __x, _Node_handle& __y)
1417:       noexcept(noexcept(__x.swap(__y)))
1417:       { __x.swap(__y); }
1417: 
1417:     private:
1417:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1417: 
1417:       _Node_handle(typename _AllocTraits::pointer __ptr,
1417:      const _NodeAlloc& __alloc)
1417:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc)
1417:       {
1417:  if (__ptr)
1417:    {
1417:      auto& __key = const_cast<_Key&>(__ptr->_M_valptr()->first);
1417:      _M_pkey = _S_pointer_to(__key);
1417:      _M_pmapped = _S_pointer_to(__ptr->_M_valptr()->second);
1417:    }
1417:  else
1417:    {
1417:      _M_pkey = nullptr;
1417:      _M_pmapped = nullptr;
1417:    }
1417:       }
1417: 
1417:       template<typename _Tp>
1417:  using __pointer
1417:    = __ptr_rebind<typename _AllocTraits::pointer,
1417:     remove_reference_t<_Tp>>;
1417: 
1417:       __pointer<_Key> _M_pkey = nullptr;
1417:       __pointer<typename _Value::second_type> _M_pmapped = nullptr;
1417: 
1417:       template<typename _Tp>
1417:  __pointer<_Tp>
1417:  _S_pointer_to(_Tp& __obj)
1417:  { return pointer_traits<__pointer<_Tp>>::pointer_to(__obj); }
1417: 
1417:       const key_type&
1417:       _M_key() const noexcept { return key(); }
1417: 
1417:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1417:         typename _Compare, typename _ValueAlloc>
1417:  flocale_ != nullptr; }
609: 
609:   template <typename Locale> auto get() const -> Locale;
609: };
609: 
609: template <typename> constexpr auto encode_types() -> unsigned long long {
609:   return 0;
609: }
609: 
609: template <typename Context, typename Arg, typename... Args>
609: constexpr auto encode_types() -> unsigned long long {
609:   return static_cast<unsigned>(mapped_type_constant<Arg, Context>::value) |
609:          (encode_types<Context, Args...>() << packed_arg_bits);
609: }
609: 
609: template <typename Context, typename T>
609: constexpr inline __attribute__((always_inline)) auto make_value(T&& val) -> value<Context> {
609:   const auto& arg = arg_mapper<Context>().map(static_cast<decltype(val)&&>(val));
609: 
609:   constexpr bool formattable_char =
609:       !std::is_same<decltype(arg), const unformattable_char&>::value;
609:   static_assert(formattable_char, "Mixing character types is disallowed.");
609: 
609:   constexpr bool formattable_const =
609:       !std::is_same<decltype(arg), const unformattable_const&>::value;
609:   static_assert(formattable_const, "Cannot format a const argument.");
609: 
609: 
609: 
609: 
609: 
609:   constexpr bool formattable_pointer =
609:       !std::is_same<decltype(arg), const unformattable_pointer&>::value;
609:   static_assert(formattable_pointer,
609:                 "Formatting of non-void pointers is disallowed.");
609: 
609:   constexpr bool formattable =
609:       !std::is_same<decltype(arg), const unformattable&>::value;
609:   static_assert(
609:       formattable,
609:       "Cannot format an argument. To make type T formattable provide a "
609:       "formatter<T> specialization: https://fmt.dev/latest/api.html#udt");
609:   return {arg};
609: }
609: 
609: template <typename Context, typename T>
609: constexpr auto make_arg(T&& value) -> basic_format_arg<Context> {
609:   basic_format_arg<Context> arg;
609:   arg.type_ = mapped_type_constant<T, Context>::value;
609:   arg.value_ = make_value<Context>(value);
609:   return arg;
609: }
609: 
609: 
609: 
609: 
609: template <bool IS_PACKED, typename Context, type, typename T,
609:           enable_if_t<(IS_PACKED), int> = 0>
609: constexpr inline __attribute__((always_inline)) auto make_arg(T&& val) -> value<Context> {
609:   return make_value<Context>(val);
609: }
609: 
609: template <bool IS_PACKED, typename Context, type, typename T,
609:           enable_if_t<(!IS_PACKED), int> = 0>
609: constexpr inline auto make_arg(T&& value) -> basic_format_arg<Context> {
609:   return make_arg<Context>(value);
609: }
609: }
609: 
609: 
609: template <typename OutputIt, typename Char> class basic_format_context {
609:  public:
609: 
609:   using char_type = Char;
609: 
609:  private:
609:   OutputIt out_;
609:   basic_format_args<basic_format_context> args_;
609:   detail::locale_ref loc_;
609: 
609:  public:
609:   using iterator = OutputIt;
609:   using format_arg = basic_format_arg<basic_format_context>;
609:   using parse_context_type = basic_format_parse_context<Char>;
609:   template <typename T> using formatter_type = formatter<T, char_type>;
609: 
609:   basic_format_context(basic_format_context&&) = default;
609:   basic_format_context(const basic_format_context&) = delete;
609:   void operator=(const basic_format_context&) = delete;
609: 
609: 
609: 
609: 
609:   constexpr basic_format_context(
609:       OutputIt out, basic_format_args<basic_format_context> ctx_args,
609:       detail::locale_ref loc = detail::locale_ref())
609:       : out_(out), args_(ctx_args), loc_(loc) {}
609: 
609:   constexpr auto arg(int id) const -> format_arg { return args_.get(id); }
609:   constexpr auto arg(basic_string_view<char_type> name) -> format_arg {
609:     return args_.get(name);
609:   }
609:   constexpr auto arg_id(basic_string_view<char_type> name) -> int {
609:     return args_.get_id(name);
609:   }
609:   auto args() const -> const basic_format_args<basic_format_context>& {
609:     return args_;
609:   }
609: 
609:   constexpr auto error_handler() -> detail::error_handler { return {}; }
609:   void on_error(const char* message) { error_handler().on_error(message); }
609: 
609: 
609:   constexpr auto out() -> iterator { return out_; }
609: 
609: 
609:   void advance_to(iterator it) {
609:     if (!detail::is_back_insert_iterator<iterator>()) out_ = it;
609:   }
609: 
609:   constexpr auto locale() -> detail::locale_ref { return loc_; }
609: };
609: 
609: template <typename Char>
609: using buffer_context =
609:     basic_format_context<detail::buffer_appender<Char>, Char>;
609: using format_context = buffer_context<char>;
609: 
609: 
609: 
609: 
609: 
609: template <typename T, typename Char = char>
609: using is_formattable = bool_constant<
609:     !std::is_base_of<detail::unformattable,
609:                      decltype(detail::arg_mapper<buffer_context<Char>>().map(
609:                          std::declval<T>()))>::value &&
609:     !detail::has_fallback_formatter<T, Char>::value>;
609: # 1864 "/usr/include/fmt/core.h" 3 4
609: template <typename Context, typename... Args>
609: class format_arg_store
609: 
609: 
609: 
609: 
609: {
609:  private:
609:   static const size_t num_args = sizeof...(Args);
609:   static const size_t num_named_args = detail::count_named_args<Args...>();
609:   static const bool is_packed = num_args <= detail::max_packed_args;
609: 
609:   using value_type = conditional_t<is_packed, detail::value<Context>,
609:                                    basic_format_arg<Context>>;
609: 
609:   detail::arg_data<value_type, typename Context::char_type, num_args,
609:                    num_named_args>
609:       data_;
609: 
609:   friend class basic_format_args<Context>;
609: 
609:   static constexpr unsigned long long desc =
609:       (is_packed ? detail::encode_types<Context, Args...>()
609:                  : detail::is_unpacked_bit | num_args) |
609:       (num_named_args != 0
609:            ? static_cast<unsigned long long>(detail::has_named_args_bit)
609:            : 0);
609: 
609:  public:
609:   template <typename... T>
609:   constexpr inline __attribute__((always_inline)) format_arg_store(T&&... args)
609:       :
609: 
609: 
609: 
609:         data_{detail::make_arg<
609:             is_packed, Context,
609:             detail::mapped_type_constant<remove_cvref_t<T>, Context>::value>(
609:             static_cast<decltype(args)&&>(args))...} {
609:     detail::init_named_args(data_.named_args(), 0, 0, args...);
609:   }
609: };
609: # 1915 "/usr/include/fmt/core.h" 3 4
609: template <typename Context = format_context, typename... Args>
609: constexpr auto make_format_args(Args&&... args)
609:     -> format_arg_store<Context, remove_cvref_t<Args>...> {
609:   return {static_cast<decltype(args)&&>(args)...};
609: }
609: # 1932 "/usr/include/fmt/core.h" 3 4
609: template <typename Char, typename T>
609: inline auto arg(const Char* name, const T& arg) -> detail::named_arg<Char, T> {
609:   static_assert(!detail::is_named_arg<T>(), "nested named arguments");
609:   return {name, arg};
609: }
609: # 1948 "/usr/include/fmt/core.h" 3 4
609: template <typename Context> class basic_format_args {
609:  public:
609:   using size_type = int;
609:   using format_arg = basic_format_arg<Context>;
609: 
609:  private:
609: 
609: 
609: 
609: 
609:   unsigned long long desc_;
609:   union {
609: 
609: 
609: 
609: 
609: 
609:     const detail::value<Context>* values_;
609:     const format_arg* args_;
609:   };
609: 
609:   constexpr auto is_packed() const -> bool {
609:     return (desc_ & detail::is_unpacked_bit) == 0;
609:   }
609:   auto has_named_args() const -> bool {
609:     return (desc_ & detail::has_named_args_bit) != 0;
609:   }
609: 
609:   constexpr auto type(int index) const -> detail::type {
609:     int shift = index * detail::packed_arg_bits;
609:     unsigned int mask = (1 << detail::packed_arg_bits) - 1;
609:     return static_cast<detail::type>((desc_ >> shift) & mask);
609:   }
609: 
609:   constexpr inline __attribute__((always_inline)) basic_format_args(unsigned long long desc,
609:                                          const detail::value<Context>* values)
609:       : desc_(desc)riend class _Rb_tree;
1417: 
1417:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1417:         typename _ExtractKey, typename _Equal,
1417:         typename _Hash, typename _RangeHash, typename _Unused,
1417:         typename _RehashPolicy, typename _Traits>
1417:  friend class _Hashtable;
1417:     };
1417: 
1417: 
1417:   template<typename _Value, typename _NodeAlloc>
1417:     class _Node_handle<_Value, _Value, _NodeAlloc>
1417:     : public _Node_handle_common<_Value, _NodeAlloc>
1417:     {
1417:     public:
1417:       constexpr _Node_handle() noexcept = default;
1417:       ~_Node_handle() = default;
1417:       _Node_handle(_Node_handle&&) noexcept = default;
1417: 
1417:       _Node_handle&
1417:       operator=(_Node_handle&&) noexcept = default;
1417: 
1417:       using value_type = _Value;
1417: 
1417:       value_type&
1417:       value() const noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1417:  return *this->_M_ptr->_M_valptr();
1417:       }
1417: 
1417:       void
1417:       swap(_Node_handle& __nh) noexcept
1417:       { this->_M_swap(__nh); }
1417: 
1417:       friend void
1417:       swap(_Node_handle& __x, _Node_handle& __y)
1417:       noexcept(noexcept(__x.swap(__y)))
1417:       { __x.swap(__y); }
1417: 
1417:     private:
1417:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1417: 
1417:       _Node_handle(typename _AllocTraits::pointer __ptr,
1417:      const _NodeAlloc& __alloc)
1417:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) { }
1417: 
1417:       const value_type&
1417:       _M_key() const noexcept { return value(); }
1417: 
1417:       template<typename _Key, typename _Val, typename _KeyOfValue,
1417:         typename _Compare, typename _Alloc>
1417:  friend class _Rb_tree;
1417: 
1417:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1417:         typename _ExtractKey, typename _Equal,
1417:         typename _Hash, typename _RangeHash, typename _Unused,
1417:         typename _RehashPolicy, typename _Traits>
1417:  friend class _Hashtable;
1417:     };
1417: 
1417: 
1417:   template<typename _Iterator, typename _NodeHandle>
1417:     struct _Node_insert_return
1417:     {
1417:       _Iterator position = _Iterator();
1417:       bool inserted = false;
1417:       _NodeHandle node;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 73 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 99 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:   enum _Rb_tree_color { _S_red = false, _S_black = true };
1417: 
1417:   struct _Rb_tree_node_base
1417:   {
1417:     typedef _Rb_tree_node_base* _Base_ptr;
1417:     typedef const _Rb_tree_node_base* _Const_Base_ptr;
1417: 
1417:     _Rb_tree_color _M_color;
1417:     _Base_ptr _M_parent;
1417:     _Base_ptr _M_left;
1417:     _Base_ptr _M_right;
1417: 
1417:     static _Base_ptr
1417:     _S_minimum(_Base_ptr __x) noexcept
1417:     {
1417:       while (__x->_M_left != 0) __x = __x->_M_left;
1417:       return __x;
1417:     }
1417: 
1417:     static _Const_Base_ptr
1417:     _S_minimum(_Const_Base_ptr __x) noexcept
1417:     {
1417:       while (__x->_M_left != 0) __x = __x->_M_left;
1417:       return __x;
1417:     }
1417: 
1417:     static _Base_ptr
1417:     _S_maximum(_Base_ptr __x) noexcept
1417:     {
1417:       while (__x->_M_right != 0) __x = __x->_M_right;
1417:       return __x;
1417:     }
1417: 
1417:     static _Const_Base_ptr
1417:     _S_maximum(_Const_Base_ptr __x) noexcept
1417:     {
1417:       while (__x->_M_right != 0) __x = __x->_M_right;
1417:       return __x;
1417:     }
1417:   };
1417: 
1417: 
1417:   template<typename _Key_compare>
1417:     struct _Rb_tree_key_compare
1417:     {
1417:       _Key_compare _M_key_compare;
1417: 
1417:       _Rb_tree_key_compare()
1417:       noexcept(is_nothrow_default_constructible<_Key_compare>::value)
1417: 
1417:       : _M_key_compare()
1417:       { }
1417: 
1417:       _Rb_tree_key_compare(const _Key_compare& __comp)
1417:       : _M_key_compare(__comp)
1417:       { }
1417: 
1417: 
1417: 
1417:       _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default;
1417: 
1417:       _Rb_tree_key_compare(_Rb_tree_key_compare&& __x)
1417:  noexcept(is_nothrow_copy_constructible<_Key_compare>::value)
1417:       : _M_key_compare(__x._M_key_compare)
1417:       { }
1417: 
1417:     };
1417: 
1417: 
1417:   struct _Rb_tree_header
1417:   {
1417:     _Rb_tree_node_base _M_header;
1417:     size_t _M_node_count;
1417: 
1417:     _Rb_tree_header() noexcept
1417:     {
1417:       _M_header._M_color = _S_red;
1417:       _M_reset();
1417:     }
1417: 
1417: 
1417:     _Rb_tree_header(_Rb_tree_header&& __x) noexcept
1417:     {
1417:       if (__x._M_header._M_parent != nullptr)
1417:  _M_move_data(__x);
1417:       else
1417:  {
1417:    _M_header._M_color = _S_red;
1417:    _M_reset();
1417:  }
1417:     }
1417: 
1417: 
1417:     void
1417:     _M_move_data(_Rb_tree_header& __from)
1417:     {
1417:       _M_header._M_color = __from._M_header._M_color;
1417:       _M_header._M_parent = __from._M_header._M_parent;
1417:       _M_header._M_left = __from._M_header._M_left;
1417:       _M_header._M_right = __from._M_header._M_right;
1417:       _M_header._M_parent->_M_parent = &_M_header;
1417:       _M_node_count = __from._M_node_count;
1417: 
1417:       __from._M_reset();
1417:     }
1417: 
1417:     void
1417:     _M_reset()
1417:     {
1417:       _M_header._M_parent = 0;
1417:       _M_header._M_left = &_M_header;
1417:       _M_header._M_right = &_M_header;
1417:       _M_node_count = 0;
1417:     }
1417:   };
1417: 
1417:   template<typename _Val>
1417:     struct _Rb_tree_node : public _Rb_tree_node_base
1417:     {
1417:       typedef _Rb_tree_node<_Val>* _Link_type;
1417: # 231 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
1417: 
1417:       _Val*
1417:       _M_valptr()
1417:       { return _M_storage._M_ptr(); }
1417: 
1417:       const _Val*
1417:       _M_valptr() const
1417:       { return _M_storage._M_ptr(); }
1417: 
1417:     };
1417: 
1417:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1417:   _Rb_tree_increment(_Rb_tree_node_base* __x) throw ();
1417: 
1417:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1417:   _Rb_tree_increment(const _Rb_tree_node_base* __x) throw ();
1417: 
1417:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1417:   _Rb_tree_decrement(_Rb_tree_node_base* __x) throw ();
1417: 
1417:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1417:   _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw ();
1417: 
1417:   template<typename _Tp>
1417:     struct _Rb_tree_iterator
1417:     {
1417:       typedef _Tp value_type;
1417:       typedef _Tp& reference;
1417:       typedef _Tp* pointer;
1417: 
1417:       typedef bidirectional_iterator_tag iterator_category;
1417:       typedef ptrdiff_t difference_type;
1417: 
1417:       typedef _Rb_tree_iterator<_Tp> _Self;
1417:       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
1417:       typedef _Rb_tree_node<_Tp>* _Link_type;
1417: 
1417:       _Rb_tree_iterator() noexcept
1417:       : _M_node() { }
1417: 
1417:       explicit
1417:       _Rb_tree_iterator(_Base_ptr __x) noexcept
1417:       : _M_node(__x) { }
1417: 
1417:       reference
1417:       operator*() const noexcept
1417:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1417: 
1417:       pointer
1417:       operator->() const noexcept
1417:       { return static_cast<_Link_type> (_M_node)->_M_valptr(); }
1417: 
1417:       _Self&
1417:       operator++() noexcept
1417:       {
1417:  _M_node = _Rb_tree_increment(_M_node);
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator++(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _Rb_tree_increment(_M_node);
1417:  return __tmp;
1417:       }
1417: 
1417:       _Self&
1417:       operator--() noexcept
1417:       {
1417:  _M_n, values_(values) {}
609:   constexpr basic_format_args(unsigned long long desc, const format_arg* args)
609:       : desc_(desc), args_(args) {}
609: 
609:  public:
609:   constexpr basic_format_args() : desc_(0), args_(nullptr) {}
609: 
609: 
609: 
609: 
609: 
609: 
609:   template <typename... Args>
609:   constexpr inline __attribute__((always_inline)) basic_format_args(
609:       const format_arg_store<Context, Args...>& store)
609:       : basic_format_args(format_arg_store<Context, Args...>::desc,
609:                           store.data_.args()) {}
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   constexpr inline __attribute__((always_inline)) basic_format_args(
609:       const dynamic_format_arg_store<Context>& store)
609:       : basic_format_args(store.get_types(), store.data()) {}
609: 
609: 
609: 
609: 
609: 
609: 
609:   constexpr basic_format_args(const format_arg* args, int count)
609:       : basic_format_args(detail::is_unpacked_bit | detail::to_unsigned(count),
609:                           args) {}
609: 
609: 
609:   constexpr auto get(int id) const -> format_arg {
609:     format_arg arg;
609:     if (!is_packed()) {
609:       if (id < max_size()) arg = args_[id];
609:       return arg;
609:     }
609:     if (id >= detail::max_packed_args) return arg;
609:     arg.type_ = type(id);
609:     if (arg.type_ == detail::type::none_type) return arg;
609:     arg.value_ = values_[id];
609:     return arg;
609:   }
609: 
609:   template <typename Char>
609:   auto get(basic_string_view<Char> name) const -> format_arg {
609:     int id = get_id(name);
609:     return id >= 0 ? get(id) : format_arg();
609:   }
609: 
609:   template <typename Char>
609:   auto get_id(basic_string_view<Char> name) const -> int {
609:     if (!has_named_args()) return -1;
609:     const auto& named_args =
609:         (is_packed() ? values_[-1] : args_[-1].value_).named_args;
609:     for (size_t i = 0; i < named_args.size; ++i) {
609:       if (named_args.data[i].name == name) return named_args.data[i].id;
609:     }
609:     return -1;
609:   }
609: 
609:   auto max_size() const -> int {
609:     unsigned long long max_packed = detail::max_packed_args;
609:     return static_cast<int>(is_packed() ? max_packed
609:                                         : desc_ & ~detail::is_unpacked_bit);
609:   }
609: };
609: 
609: 
609: 
609: 
609: using format_args = basic_format_args<format_context>;
609: # 2073 "/usr/include/fmt/core.h" 3 4
609: namespace align {
609: enum type : unsigned char{none, left, right, center,
609:                                                   numeric};
609: }
609: using align_t = align::type;
609: namespace sign {
609: enum type : unsigned char{none, minus, plus, space};
609: }
609: using sign_t = sign::type;
609: 
609: namespace detail {
609: 
609: 
609: template <typename Char> struct fill_t {
609:  private:
609:   enum { max_size = 4 };
609:   Char data_[max_size] = {Char(' '), Char(0), Char(0), Char(0)};
609:   unsigned char size_ = 1;
609: 
609:  public:
609:   constexpr void operator=(basic_string_view<Char> s) {
609:     auto size = s.size();
609:     if (size > max_size) return throw_format_error("invalid fill");
609:     for (size_t i = 0; i < size; ++i) data_[i] = s[i];
609:     size_ = static_cast<unsigned char>(size);
609:   }
609: 
609:   constexpr auto size() const -> size_t { return size_; }
609:   constexpr auto data() const -> const Char* { return data_; }
609: 
609:   constexpr auto operator[](size_t index) -> Char& { return data_[index]; }
609:   constexpr auto operator[](size_t index) const -> const Char& {
609:     return data_[index];
609:   }
609: };
609: }
609: 
609: enum class presentation_type : unsigned char {
609:   none,
609: 
609:   dec,
609:   oct,
609:   hex_lower,
609:   hex_upper,
609:   bin_lower,
609:   bin_upper,
609:   hexfloat_lower,
609:   hexfloat_upper,
609:   exp_lower,
609:   exp_upper,
609:   fixed_lower,
609:   fixed_upper,
609:   general_lower,
609:   general_upper,
609:   chr,
609:   string,
609:   pointer,
609:   debug
609: };
609: 
609: 
609: template <typename Char> struct basic_format_specs {
609:   int width;
609:   int precision;
609:   presentation_type type;
609:   align_t align : 4;
609:   sign_t sign : 3;
609:   bool alt : 1;
609:   bool localized : 1;
609:   detail::fill_t<Char> fill;
609: 
609:   constexpr basic_format_specs()
609:       : width(0),
609:         precision(-1),
609:         type(presentation_type::none),
609:         align(align::none),
609:         sign(sign::none),
609:         alt(false),
609:         localized(false) {}
609: };
609: 
609: using format_specs = basic_format_specs<char>;
609: 
609: namespace detail {
609: 
609: enum class arg_id_kind { none, index, name };
609: 
609: 
609: template <typename Char> struct arg_ref {
609:   constexpr arg_ref() : kind(arg_id_kind::none), val() {}
609: 
609:   constexpr explicit arg_ref(int index)
609:       : kind(arg_id_kind::index), val(index) {}
609:   constexpr explicit arg_ref(basic_string_view<Char> name)
609:       : kind(arg_id_kind::name), val(name) {}
609: 
609:   constexpr auto operator=(int idx) -> arg_ref& {
609:     kind = arg_id_kind::index;
609:     val.index = idx;
609:     return *this;
609:   }
609: 
609:   arg_id_kind kind;
609:   union value {
609:     constexpr value(int id = 0) : index{id} {}
609:     constexpr value(basic_string_view<Char> n) : name(n) {}
609: 
609:     int index;
609:     basic_string_view<Char> name;
609:   } val;
609: };
609: 
609: 
609: 
609: 
609: template <typename Char>
609: struct dynamic_format_specs : basic_format_specs<Char> {
609:   arg_ref<Char> width_ref;
609:   arg_ref<Char> precision_ref;
609: };
609: 
609: struct auto_id {};
609: 
609: 
609: template <typename Char> class specs_setter {
609:  protected:
609:   basic_format_specs<Char>& specs_;
609: 
609:  public:
609:   explicit constexpr specs_setter(basic_format_specs<Char>& specs)
609:       : specs_(specs) {}
609: 
609:   constexpr specs_setter(const specs_setter& other)
609:       : specs_(other.specs_) {}
609: 
609:   constexpr void on_align(align_t align) { specs_.align = align; }
609:   constexpr void on_fill(basic_string_view<Char> fill) {
609:     specs_.fill = fill;
609:   }
609:   constexpr void on_sign(sign_t s) { specs_.sign = s; }
609:   constexpr void on_hash() { specs_.alt = true; }
609:   constexpr void on_localized() { specs_.localized = true; }
609: 
609:   constexpr void on_zero() {
609:     if (specs_.align == align::none) specs_.align = align::numeric;
609:     specs_.fill[0] = Char('0');
609:   }
609: 
609:   constexpr void on_width(int width) { specs_.width = width; }
609:   constexpr void on_precision(int precision) {
609:     specs_.precision = precision;
609:   }
609:   constexpr void end_precision() {}
609: 
609:   constexpr void on_type(presentation_type type) { specs_.type = type; }
609: };
609: 
609: 
609: 
609: template <typename ParseContext>
609: class dynamic_specs_handler
609:     : public specs_setter<typename ParseContext::char_type> {
609:  public:
609:   using char_type = typename ParseContext::char_type;
609: 
609:   constexpr dynamic_specs_handler(dynamic_format_specs<char_type>& specs,
609:                                       ParseContext& ctx)
609:       : specs_setter<char_type>(specs), specs_(specs), context_(ctx) {}
609: 
609:   constexpr dynamic_specs_handler(const dynamic_specs_handler& other)
609:       : specs_setter<char_type>(other),
609:         specs_(other.specs_),
609:         context_(other.context_) {}
609: 
609:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
609:     specs_.width_ref = make_arg_ref(arg_id);
609:   }
609: 
609:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
609:     specs_.precision_ref = make_arg_ref(arg_id);
609:   }
609: 
609:   constexpr void on_error(const char* message) {
609:     context_.on_error(message);
609:   }
609: 
609:  private:
609:   dynamic_format_specs<char_type>& specs_;
609:   ParseContext& context_;
609: 
609:   using arg_ref_type = arg_ref<char_type>;
609: 
609:   constexpr auto make_arg_ref(int arg_id) -> arg_ref_type {
609:     context_.ode = _Rb_tree_decrement(_M_node);
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator--(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _Rb_tree_decrement(_M_node);
1417:  return __tmp;
1417:       }
1417: 
1417:       friend bool
1417:       operator==(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node == __y._M_node; }
1417: 
1417: 
1417:       friend bool
1417:       operator!=(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node != __y._M_node; }
1417: 
1417: 
1417:       _Base_ptr _M_node;
1417:     };
1417: 
1417:   template<typename _Tp>
1417:     struct _Rb_tree_const_iterator
1417:     {
1417:       typedef _Tp value_type;
1417:       typedef const _Tp& reference;
1417:       typedef const _Tp* pointer;
1417: 
1417:       typedef _Rb_tree_iterator<_Tp> iterator;
1417: 
1417:       typedef bidirectional_iterator_tag iterator_category;
1417:       typedef ptrdiff_t difference_type;
1417: 
1417:       typedef _Rb_tree_const_iterator<_Tp> _Self;
1417:       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
1417:       typedef const _Rb_tree_node<_Tp>* _Link_type;
1417: 
1417:       _Rb_tree_const_iterator() noexcept
1417:       : _M_node() { }
1417: 
1417:       explicit
1417:       _Rb_tree_const_iterator(_Base_ptr __x) noexcept
1417:       : _M_node(__x) { }
1417: 
1417:       _Rb_tree_const_iterator(const iterator& __it) noexcept
1417:       : _M_node(__it._M_node) { }
1417: 
1417:       iterator
1417:       _M_const_cast() const noexcept
1417:       { return iterator(const_cast<typename iterator::_Base_ptr>(_M_node)); }
1417: 
1417:       reference
1417:       operator*() const noexcept
1417:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1417: 
1417:       pointer
1417:       operator->() const noexcept
1417:       { return static_cast<_Link_type>(_M_node)->_M_valptr(); }
1417: 
1417:       _Self&
1417:       operator++() noexcept
1417:       {
1417:  _M_node = _Rb_tree_increment(_M_node);
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator++(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _Rb_tree_increment(_M_node);
1417:  return __tmp;
1417:       }
1417: 
1417:       _Self&
1417:       operator--() noexcept
1417:       {
1417:  _M_node = _Rb_tree_decrement(_M_node);
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator--(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _Rb_tree_decrement(_M_node);
1417:  return __tmp;
1417:       }
1417: 
1417:       friend bool
1417:       operator==(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node == __y._M_node; }
1417: 
1417: 
1417:       friend bool
1417:       operator!=(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node != __y._M_node; }
1417: 
1417: 
1417:       _Base_ptr _M_node;
1417:     };
1417: 
1417:   void
1417:   _Rb_tree_insert_and_rebalance(const bool __insert_left,
1417:     _Rb_tree_node_base* __x,
1417:     _Rb_tree_node_base* __p,
1417:     _Rb_tree_node_base& __header) throw ();
1417: 
1417:   _Rb_tree_node_base*
1417:   _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
1417:           _Rb_tree_node_base& __header) throw ();
1417: 
1417: 
1417:   template<typename _Tree1, typename _Cmp2>
1417:     struct _Rb_tree_merge_helper { };
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc = allocator<_Val> >
1417:     class _Rb_tree
1417:     {
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
1417: 
1417:       typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
1417: 
1417:     protected:
1417:       typedef _Rb_tree_node_base* _Base_ptr;
1417:       typedef const _Rb_tree_node_base* _Const_Base_ptr;
1417:       typedef _Rb_tree_node<_Val>* _Link_type;
1417:       typedef const _Rb_tree_node<_Val>* _Const_Link_type;
1417: 
1417:     private:
1417: 
1417: 
1417:       struct _Reuse_or_alloc_node
1417:       {
1417:  _Reuse_or_alloc_node(_Rb_tree& __t)
1417:  : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t)
1417:  {
1417:    if (_M_root)
1417:      {
1417:        _M_root->_M_parent = 0;
1417: 
1417:        if (_M_nodes->_M_left)
1417:   _M_nodes = _M_nodes->_M_left;
1417:      }
1417:    else
1417:      _M_nodes = 0;
1417:  }
1417: 
1417: 
1417:  _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete;
1417: 
1417: 
1417:  ~_Reuse_or_alloc_node()
1417:  { _M_t._M_erase(static_cast<_Link_type>(_M_root)); }
1417: 
1417:  template<typename _Arg>
1417:    _Link_type
1417:    operator()(_Arg&& __arg)
1417:    {
1417:      _Link_type __node = static_cast<_Link_type>(_M_extract());
1417:      if (__node)
1417:        {
1417:   _M_t._M_destroy_node(__node);
1417:   _M_t._M_construct_node(__node, std::forward<_Arg>(__arg));
1417:   return __node;
1417:        }
1417: 
1417:      return _M_t._M_create_node(std::forward<_Arg>(__arg));
1417:    }
1417: 
1417:       private:
1417:  _Base_ptr
1417:  _M_extract()
1417:  {
1417:    if (!_M_nodes)
1417:      return _M_nodes;
1417: 
1417:    _Base_ptr __node = _M_nodes;
1417:    _M_nodes = _M_nodes->_M_parent;
1417:    if (_M_nodes)
1417:      {
1417:        if (_M_nodes->_M_right == __node)
1417:   {
1417:     _M_nodes->_M_right = 0;
1417: 
1417:     if (_M_nodes->_M_left)
1417:       {
1417:         _M_nodes = _M_nodes->_M_left;
1417: 
1417:         while (_M_nodes->_M_right)
1417:    _M_nodes = _M_nodes->_M_right;
1417: 
1417:         if (_M_nodes->_M_left)
1417:    _M_nodes = _M_nodes->_M_left;
1417:       }
1417:   }
1417:        else
1417:   _M_nodes->_M_left = 0;
1417:      }
1417:    else
1417:      _M_root = 0;
1417: 
1417:    return __node;
1417:  }
1417: 
1417:  _Base_ptr _M_root;
1417:  _Base_ptr _M_nodes;
1417:  _Rb_tree& _M_t;
1417:       };
1417: 
1417: 
1417: 
1417:       struct _Alloc_node
1417:       {
1417:  _Alloc_node(_Rb_tree& __t)
1417:  : _M_t(__t) { }
1417: 
1417:  template<typename _Arg>
1417:    _Link_type
1417:    operator()(_Arg&& __arg) const
1417:    { return _M_t._M_create_node(std::forward<_Arg>(__arg)); }
1417: 
1417:       private:
1417:  _Rb_tree& _M_t;
1417:       };
1417: 
1417:     public:
1417:       typedef _Key key_type;
1417:       typedef _Val value_type;
1417:       typedef value_type* pointer;
1417:       typedef const value_type* const_pointer;
1417:       typedef value_type& reference;
1417:       typedef const value_type& const_reference;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef _Alloc allocator_type;
1417: 
1417:       _Node_allocator&
1417:       _M_get_Node_allocator() noexcept
1417:       { return this->_M_impl; }
1417: 
1417:       const _Node_allocator&
1417:       _M_get_Node_allocator() const noexcept
1417:       { return this->_M_impl; }
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_get_Node_allocator()); }
1417: 
1417:     protected:
1417:       _Link_type
1417:       _M_get_node()
1417:       { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); }
1417: 
1417:       void
1417:       _M_put_node(_Link_type __p) noexcept
1417:       { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); }
1417: # 588 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:       template<typename... _Args>
1417:  void
1417:  _M_construct_node(_Link_type __node, _Args&&... __args)
1417:  {
1417:    try
1417:      {
1417:        ::new(__node) _Rb_tree_node<_Val>;
1417:        _Alloc_traits::construct(_M_get_Node_allocator(),
1417:            __node->_M_valptr(),
1417:            std::forward<_Args>(__args)...);
1417:      }
1417:    catch(...)
1417:      {
1417:        __node->~_Rb_tree_node<_Val>();
1417:        _M_put_node(__node);
1417:        throw;
1417:      }
1417:  }
1417: 
1417:       template<typename... _Args>
1417:  _Link_type
1417:  _M_create_node(_Args&&... __args)
1417check_arg_id(arg_id);
609:     context_.check_dynamic_spec(arg_id);
609:     return arg_ref_type(arg_id);
609:   }
609: 
609:   constexpr auto make_arg_ref(auto_id) -> arg_ref_type {
609:     int arg_id = context_.next_arg_id();
609:     context_.check_dynamic_spec(arg_id);
609:     return arg_ref_type(arg_id);
609:   }
609: 
609:   constexpr auto make_arg_ref(basic_string_view<char_type> arg_id)
609:       -> arg_ref_type {
609:     context_.check_arg_id(arg_id);
609:     basic_string_view<char_type> format_str(
609:         context_.begin(), to_unsigned(context_.end() - context_.begin()));
609:     return arg_ref_type(arg_id);
609:   }
609: };
609: 
609: template <typename Char> constexpr bool is_ascii_letter(Char c) {
609:   return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
609: }
609: 
609: 
609: template <typename Char, enable_if_t<(std::is_integral<Char>::value), int> = 0>
609: constexpr auto to_ascii(Char c) -> Char {
609:   return c;
609: }
609: template <typename Char, enable_if_t<(std::is_enum<Char>::value), int> = 0>
609: constexpr auto to_ascii(Char c) -> underlying_t<Char> {
609:   return c;
609: }
609: 
609: constexpr inline auto code_point_length_impl(char c) -> int {
609:   return "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4"
609:       [static_cast<unsigned char>(c) >> 3];
609: }
609: 
609: template <typename Char>
609: constexpr auto code_point_length(const Char* begin) -> int {
609:   if (const_check(sizeof(Char) != 1)) return 1;
609:   int len = code_point_length_impl(static_cast<char>(*begin));
609: 
609: 
609: 
609: 
609:   return len + !len;
609: }
609: 
609: 
609: template <bool IS_CONSTEXPR, typename T, typename Ptr = const T*>
609: constexpr auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool {
609:   for (out = first; out != last; ++out) {
609:     if (*out == value) return true;
609:   }
609:   return false;
609: }
609: 
609: template <>
609: inline auto find<false, char>(const char* first, const char* last, char value,
609:                               const char*& out) -> bool {
609:   out = static_cast<const char*>(
609:       std::memchr(first, value, to_unsigned(last - first)));
609:   return out != nullptr;
609: }
609: 
609: 
609: 
609: template <typename Char>
609: constexpr auto parse_nonnegative_int(const Char*& begin, const Char* end,
609:                                          int error_value) noexcept -> int {
609:   ::fmt::detail::ignore_unused((begin != end && '0' <= *begin && *begin <= '9'), (""));
609:   unsigned value = 0, prev = 0;
609:   auto p = begin;
609:   do {
609:     prev = value;
609:     value = value * 10 + unsigned(*p - '0');
609:     ++p;
609:   } while (p != end && '0' <= *p && *p <= '9');
609:   auto num_digits = p - begin;
609:   begin = p;
609:   if (num_digits <= std::numeric_limits<int>::digits10)
609:     return static_cast<int>(value);
609: 
609:   const unsigned max = to_unsigned((std::numeric_limits<int>::max)());
609:   return num_digits == std::numeric_limits<int>::digits10 + 1 &&
609:                  prev * 10ull + unsigned(p[-1] - '0') <= max
609:              ? static_cast<int>(value)
609:              : error_value;
609: }
609: 
609: 
609: template <typename Char, typename Handler>
609: constexpr auto parse_align(const Char* begin, const Char* end,
609:                                Handler&& handler) -> const Char* {
609:   ::fmt::detail::ignore_unused((begin != end), (""));
609:   auto align = align::none;
609:   auto p = begin + code_point_length(begin);
609:   if (end - p <= 0) p = begin;
609:   for (;;) {
609:     switch (to_ascii(*p)) {
609:     case '<':
609:       align = align::left;
609:       break;
609:     case '>':
609:       align = align::right;
609:       break;
609:     case '^':
609:       align = align::center;
609:       break;
609:     default:
609:       break;
609:     }
609:     if (align != align::none) {
609:       if (p != begin) {
609:         auto c = *begin;
609:         if (c == '{')
609:           return handler.on_error("invalid fill character '{'"), begin;
609:         handler.on_fill(basic_string_view<Char>(begin, to_unsigned(p - begin)));
609:         begin = p + 1;
609:       } else
609:         ++begin;
609:       handler.on_align(align);
609:       break;
609:     } else if (p == begin) {
609:       break;
609:     }
609:     p = begin;
609:   }
609:   return begin;
609: }
609: 
609: template <typename Char> constexpr bool is_name_start(Char c) {
609:   return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || '_' == c;
609: }
609: 
609: template <typename Char, typename IDHandler>
609: constexpr auto do_parse_arg_id(const Char* begin, const Char* end,
609:                                    IDHandler&& handler) -> const Char* {
609:   ::fmt::detail::ignore_unused((begin != end), (""));
609:   Char c = *begin;
609:   if (c >= '0' && c <= '9') {
609:     int index = 0;
609:     if (c != '0')
609:       index =
609:           parse_nonnegative_int(begin, end, (std::numeric_limits<int>::max)());
609:     else
609:       ++begin;
609:     if (begin == end || (*begin != '}' && *begin != ':'))
609:       handler.on_error("invalid format string");
609:     else
609:       handler(index);
609:     return begin;
609:   }
609:   if (!is_name_start(c)) {
609:     handler.on_error("invalid format string");
609:     return begin;
609:   }
609:   auto it = begin;
609:   do {
609:     ++it;
609:   } while (it != end && (is_name_start(c = *it) || ('0' <= c && c <= '9')));
609:   handler(basic_string_view<Char>(begin, to_unsigned(it - begin)));
609:   return it;
609: }
609: 
609: template <typename Char, typename IDHandler>
609: constexpr inline __attribute__((always_inline)) auto parse_arg_id(const Char* begin, const Char* end,
609:                                            IDHandler&& handler) -> const Char* {
609:   Char c = *begin;
609:   if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler);
609:   handler();
609:   return begin;
609: }
609: 
609: template <typename Char, typename Handler>
609: constexpr auto parse_width(const Char* begin, const Char* end,
609:                                Handler&& handler) -> const Char* {
609:   using detail::auto_id;
609:   struct width_adapter {
609:     Handler& handler;
609: 
609:     constexpr void operator()() { handler.on_dynamic_width(auto_id()); }
609:     constexpr void operator()(int id) { handler.on_dynamic_width(id); }
609:     constexpr void operator()(basic_string_view<Char> id) {
609:       handler.on_dynamic_width(id);
609:     }
609:     constexpr void on_error(const char* message) {
609:       if (message) handler.on_error(message);
609:     }
609:   };
609: 
609:   ::fmt::detail::ignore_unused((begin != end), (""));
609:   if ('0' <= *begin && *begin <= '9') {
609:     int width = parse_nonnegative_int(begin, end, -1);
609:     if (width != -1)
609:       handler.on_width(width);
609:     else
609:       handler.on_error("number is too big");
609:   } else if (*begin == '{') {
609:     ++begin;
609:     if (begin != end) begin = parse_arg_id(begin, end, width_adapter{handler});
609:     if (begin == end || *begin != '}')
609:       return handler.on_error("invalid format string"), begin;
609:     ++begin;
609:   }
609:   return begin;
609: }
609: 
609: template <typename Char, typename Handler>
609: constexpr auto parse_precision(const Char* begin, const Char* end,
609:                                    Handler&& handler) -> const Char* {
609:   using detail::auto_id;
609:   struct precision_adapter {
609:     Handler& handler;
609: 
609:     constexpr void operator()() { handler.on_dynamic_precision(auto_id()); }
609:     constexpr void operator()(int id) { handler.on_dynamic_precision(id); }
609:     constexpr void operator()(basic_string_view<Char> id) {
609:       handler.on_dynamic_precision(id);
609:     }
609:     constexpr void on_error(const char* message) {
609:       if (message) handler.on_error(message);
609:     }
609:   };
609: 
609:   ++begin;
609:   auto c = begin != end ? *begin : Char();
609:   if ('0' <= c && c <= '9') {
609:     auto precision = parse_nonnegative_int(begin, end, -1);
609:     if (preci:  {
1417:    _Link_type __tmp = _M_get_node();
1417:    _M_construct_node(__tmp, std::forward<_Args>(__args)...);
1417:    return __tmp;
1417:  }
1417: 
1417: 
1417:       void
1417:       _M_destroy_node(_Link_type __p) noexcept
1417:       {
1417: 
1417: 
1417: 
1417:  _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr());
1417:  __p->~_Rb_tree_node<_Val>();
1417: 
1417:       }
1417: 
1417:       void
1417:       _M_drop_node(_Link_type __p) noexcept
1417:       {
1417:  _M_destroy_node(__p);
1417:  _M_put_node(__p);
1417:       }
1417: 
1417:       template<bool _MoveValue, typename _NodeGen>
1417:  _Link_type
1417:  _M_clone_node(_Link_type __x, _NodeGen& __node_gen)
1417:  {
1417: 
1417:    using _Vp = __conditional_t<_MoveValue,
1417:           value_type&&,
1417:           const value_type&>;
1417: 
1417:    _Link_type __tmp
1417:      = __node_gen(std::forward<_Vp>(*__x->_M_valptr()));
1417:    __tmp->_M_color = __x->_M_color;
1417:    __tmp->_M_left = 0;
1417:    __tmp->_M_right = 0;
1417:    return __tmp;
1417:  }
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Key_compare,
1417:         bool = __is_pod(_Key_compare)>
1417: 
1417:  struct _Rb_tree_impl
1417:  : public _Node_allocator
1417:  , public _Rb_tree_key_compare<_Key_compare>
1417:  , public _Rb_tree_header
1417:  {
1417:    typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare;
1417: 
1417:    _Rb_tree_impl()
1417:      noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value)
1417: 
1417: 
1417:    : _Node_allocator()
1417:    { }
1417: 
1417:    _Rb_tree_impl(const _Rb_tree_impl& __x)
1417:    : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x))
1417:    , _Base_key_compare(__x._M_key_compare)
1417:    , _Rb_tree_header()
1417:    { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    _Rb_tree_impl(_Rb_tree_impl&&)
1417:      noexcept( is_nothrow_move_constructible<_Base_key_compare>::value )
1417:    = default;
1417: 
1417:    explicit
1417:    _Rb_tree_impl(_Node_allocator&& __a)
1417:    : _Node_allocator(std::move(__a))
1417:    { }
1417: 
1417:    _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a)
1417:    : _Node_allocator(std::move(__a)),
1417:      _Base_key_compare(std::move(__x)),
1417:      _Rb_tree_header(std::move(__x))
1417:    { }
1417: 
1417:    _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)
1417:    : _Node_allocator(std::move(__a)), _Base_key_compare(__comp)
1417:    { }
1417: 
1417:  };
1417: 
1417:       _Rb_tree_impl<_Compare> _M_impl;
1417: 
1417:     protected:
1417:       _Base_ptr&
1417:       _M_root() noexcept
1417:       { return this->_M_impl._M_header._M_parent; }
1417: 
1417:       _Const_Base_ptr
1417:       _M_root() const noexcept
1417:       { return this->_M_impl._M_header._M_parent; }
1417: 
1417:       _Base_ptr&
1417:       _M_leftmost() noexcept
1417:       { return this->_M_impl._M_header._M_left; }
1417: 
1417:       _Const_Base_ptr
1417:       _M_leftmost() const noexcept
1417:       { return this->_M_impl._M_header._M_left; }
1417: 
1417:       _Base_ptr&
1417:       _M_rightmost() noexcept
1417:       { return this->_M_impl._M_header._M_right; }
1417: 
1417:       _Const_Base_ptr
1417:       _M_rightmost() const noexcept
1417:       { return this->_M_impl._M_header._M_right; }
1417: 
1417:       _Link_type
1417:       _M_mbegin() const noexcept
1417:       { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
1417: 
1417:       _Link_type
1417:       _M_begin() noexcept
1417:       { return _M_mbegin(); }
1417: 
1417:       _Const_Link_type
1417:       _M_begin() const noexcept
1417:       {
1417:  return static_cast<_Const_Link_type>
1417:    (this->_M_impl._M_header._M_parent);
1417:       }
1417: 
1417:       _Base_ptr
1417:       _M_end() noexcept
1417:       { return &this->_M_impl._M_header; }
1417: 
1417:       _Const_Base_ptr
1417:       _M_end() const noexcept
1417:       { return &this->_M_impl._M_header; }
1417: 
1417:       static const _Key&
1417:       _S_key(_Const_Link_type __x)
1417:       {
1417: 
1417: 
1417: 
1417:  static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
1417:         "comparison object must be invocable "
1417:         "with two arguments of key type");
1417: 
1417: 
1417: 
1417:  if constexpr (__is_invocable<_Compare&, const _Key&, const _Key&>{})
1417:    static_assert(
1417:        is_invocable_v<const _Compare&, const _Key&, const _Key&>,
1417:        "comparison object must be invocable as const");
1417: 
1417: 
1417: 
1417:  return _KeyOfValue()(*__x->_M_valptr());
1417:       }
1417: 
1417:       static _Link_type
1417:       _S_left(_Base_ptr __x) noexcept
1417:       { return static_cast<_Link_type>(__x->_M_left); }
1417: 
1417:       static _Const_Link_type
1417:       _S_left(_Const_Base_ptr __x) noexcept
1417:       { return static_cast<_Const_Link_type>(__x->_M_left); }
1417: 
1417:       static _Link_type
1417:       _S_right(_Base_ptr __x) noexcept
1417:       { return static_cast<_Link_type>(__x->_M_right); }
1417: 
1417:       static _Const_Link_type
1417:       _S_right(_Const_Base_ptr __x) noexcept
1417:       { return static_cast<_Const_Link_type>(__x->_M_right); }
1417: 
1417:       static const _Key&
1417:       _S_key(_Const_Base_ptr __x)
1417:       { return _S_key(static_cast<_Const_Link_type>(__x)); }
1417: 
1417:       static _Base_ptr
1417:       _S_minimum(_Base_ptr __x) noexcept
1417:       { return _Rb_tree_node_base::_S_minimum(__x); }
1417: 
1417:       static _Const_Base_ptr
1417:       _S_minimum(_Const_Base_ptr __x) noexcept
1417:       { return _Rb_tree_node_base::_S_minimum(__x); }
1417: 
1417:       static _Base_ptr
1417:       _S_maximum(_Base_ptr __x) noexcept
1417:       { return _Rb_tree_node_base::_S_maximum(__x); }
1417: 
1417:       static _Const_Base_ptr
1417:       _S_maximum(_Const_Base_ptr __x) noexcept
1417:       { return _Rb_tree_node_base::_S_maximum(__x); }
1417: 
1417:     public:
1417:       typedef _Rb_tree_iterator<value_type> iterator;
1417:       typedef _Rb_tree_const_iterator<value_type> const_iterator;
1417: 
1417:       typedef std::reverse_iterator<iterator> reverse_iterator;
1417:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1417: 
1417: 
1417:       using node_type = _Node_handle<_Key, _Val, _Node_allocator>;
1417:       using insert_return_type = _Node_insert_return<
1417:  __conditional_t<is_same_v<_Key, _Val>, const_iterator, iterator>,
1417:  node_type>;
1417: 
1417: 
1417:       pair<_Base_ptr, _Base_ptr>
1417:       _M_get_insert_unique_pos(const key_type& __k);
1417: 
1417:       pair<_Base_ptr, _Base_ptr>
1417:       _M_get_insert_equal_pos(const key_type& __k);
1417: 
1417:       pair<_Base_ptr, _Base_ptr>
1417:       _M_get_insert_hint_unique_pos(const_iterator __pos,
1417:         const key_type& __k);
1417: 
1417:       pair<_Base_ptr, _Base_ptr>
1417:       _M_get_insert_hint_equal_pos(const_iterator __pos,
1417:        const key_type& __k);
1417: 
1417:     private:
1417: 
1417:       template<typename _Arg, typename _NodeGen>
1417:  iterator
1417:  _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
1417: 
1417:       iterator
1417:       _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z);
1417: 
1417:       template<typename _Arg>
1417:  iterator
1417:  _M_insert_lower(_Base_ptr __y, _Arg&& __v);
1417: 
1417:       template<typename _Arg>
1417:  iterator
1417:  _M_insert_equal_lower(_Arg&& __x);
1417: 
1417:       iterator
1417:       _M_insert_lower_node(_Base_ptr __p, _Link_type __z);
1417: 
1417:       iterator
1417:       _M_insert_equal_lower_node(_Link_type __z);
1417: # 879 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:       enum { __as_lvalue, __as_rvalue };
1417: 
1417:       template<bool _MoveValues, typename _NodeGen>
1417:  _Link_type
1417:  _M_copy(_Link_type, _Base_ptr, _NodeGen&);
1417: 
1417:       template<bool _MoveValues, typename _NodeGen>
1417:  _Link_type
1417:  _M_copy(const _Rb_tree& __x, _NodeGen& __gen)
1417:  {
1417:    _Link_type __rosion != -1)
609:       handler.on_precision(precision);
609:     else
609:       handler.on_error("number is too big");
609:   } else if (c == '{') {
609:     ++begin;
609:     if (begin != end)
609:       begin = parse_arg_id(begin, end, precision_adapter{handler});
609:     if (begin == end || *begin++ != '}')
609:       return handler.on_error("invalid format string"), begin;
609:   } else {
609:     return handler.on_error("missing precision specifier"), begin;
609:   }
609:   handler.end_precision();
609:   return begin;
609: }
609: 
609: template <typename Char>
609: constexpr auto parse_presentation_type(Char type) -> presentation_type {
609:   switch (to_ascii(type)) {
609:   case 'd':
609:     return presentation_type::dec;
609:   case 'o':
609:     return presentation_type::oct;
609:   case 'x':
609:     return presentation_type::hex_lower;
609:   case 'X':
609:     return presentation_type::hex_upper;
609:   case 'b':
609:     return presentation_type::bin_lower;
609:   case 'B':
609:     return presentation_type::bin_upper;
609:   case 'a':
609:     return presentation_type::hexfloat_lower;
609:   case 'A':
609:     return presentation_type::hexfloat_upper;
609:   case 'e':
609:     return presentation_type::exp_lower;
609:   case 'E':
609:     return presentation_type::exp_upper;
609:   case 'f':
609:     return presentation_type::fixed_lower;
609:   case 'F':
609:     return presentation_type::fixed_upper;
609:   case 'g':
609:     return presentation_type::general_lower;
609:   case 'G':
609:     return presentation_type::general_upper;
609:   case 'c':
609:     return presentation_type::chr;
609:   case 's':
609:     return presentation_type::string;
609:   case 'p':
609:     return presentation_type::pointer;
609:   case '?':
609:     return presentation_type::debug;
609:   default:
609:     return presentation_type::none;
609:   }
609: }
609: 
609: 
609: 
609: template <typename Char, typename SpecHandler>
609: constexpr inline __attribute__((always_inline)) auto parse_format_specs(const Char* begin,
609:                                                  const Char* end,
609:                                                  SpecHandler&& handler)
609:     -> const Char* {
609:   if (1 < end - begin && begin[1] == '}' && is_ascii_letter(*begin) &&
609:       *begin != 'L') {
609:     presentation_type type = parse_presentation_type(*begin++);
609:     if (type == presentation_type::none)
609:       handler.on_error("invalid type specifier");
609:     handler.on_type(type);
609:     return begin;
609:   }
609: 
609:   if (begin == end) return begin;
609: 
609:   begin = parse_align(begin, end, handler);
609:   if (begin == end) return begin;
609: 
609: 
609:   switch (to_ascii(*begin)) {
609:   case '+':
609:     handler.on_sign(sign::plus);
609:     ++begin;
609:     break;
609:   case '-':
609:     handler.on_sign(sign::minus);
609:     ++begin;
609:     break;
609:   case ' ':
609:     handler.on_sign(sign::space);
609:     ++begin;
609:     break;
609:   default:
609:     break;
609:   }
609:   if (begin == end) return begin;
609: 
609:   if (*begin == '#') {
609:     handler.on_hash();
609:     if (++begin == end) return begin;
609:   }
609: 
609: 
609:   if (*begin == '0') {
609:     handler.on_zero();
609:     if (++begin == end) return begin;
609:   }
609: 
609:   begin = parse_width(begin, end, handler);
609:   if (begin == end) return begin;
609: 
609: 
609:   if (*begin == '.') {
609:     begin = parse_precision(begin, end, handler);
609:     if (begin == end) return begin;
609:   }
609: 
609:   if (*begin == 'L') {
609:     handler.on_localized();
609:     ++begin;
609:   }
609: 
609: 
609:   if (begin != end && *begin != '}') {
609:     presentation_type type = parse_presentation_type(*begin++);
609:     if (type == presentation_type::none)
609:       handler.on_error("invalid type specifier");
609:     handler.on_type(type);
609:   }
609:   return begin;
609: }
609: 
609: template <typename Char, typename Handler>
609: constexpr auto parse_replacement_field(const Char* begin, const Char* end,
609:                                            Handler&& handler) -> const Char* {
609:   struct id_adapter {
609:     Handler& handler;
609:     int arg_id;
609: 
609:     constexpr void operator()() { arg_id = handler.on_arg_id(); }
609:     constexpr void operator()(int id) { arg_id = handler.on_arg_id(id); }
609:     constexpr void operator()(basic_string_view<Char> id) {
609:       arg_id = handler.on_arg_id(id);
609:     }
609:     constexpr void on_error(const char* message) {
609:       if (message) handler.on_error(message);
609:     }
609:   };
609: 
609:   ++begin;
609:   if (begin == end) return handler.on_error("invalid format string"), end;
609:   if (*begin == '}') {
609:     handler.on_replacement_field(handler.on_arg_id(), begin);
609:   } else if (*begin == '{') {
609:     handler.on_text(begin, begin + 1);
609:   } else {
609:     auto adapter = id_adapter{handler, 0};
609:     begin = parse_arg_id(begin, end, adapter);
609:     Char c = begin != end ? *begin : Char();
609:     if (c == '}') {
609:       handler.on_replacement_field(adapter.arg_id, begin);
609:     } else if (c == ':') {
609:       begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
609:       if (begin == end || *begin != '}')
609:         return handler.on_error("unknown format specifier"), end;
609:     } else {
609:       return handler.on_error("missing '}' in format string"), end;
609:     }
609:   }
609:   return begin + 1;
609: }
609: 
609: template <bool IS_CONSTEXPR, typename Char, typename Handler>
609: constexpr inline __attribute__((always_inline)) void parse_format_string(
609:     basic_string_view<Char> format_str, Handler&& handler) {
609: 
609:   using detail::find;
609: 
609:   auto begin = format_str.data();
609:   auto end = begin + format_str.size();
609:   if (end - begin < 32) {
609: 
609:     const Char* p = begin;
609:     while (p != end) {
609:       auto c = *p++;
609:       if (c == '{') {
609:         handler.on_text(begin, p - 1);
609:         begin = p = parse_replacement_field(p - 1, end, handler);
609:       } else if (c == '}') {
609:         if (p == end || *p != '}')
609:           return handler.on_error("unmatched '}' in format string");
609:         handler.on_text(begin, p);
609:         begin = ++p;
609:       }
609:     }
609:     handler.on_text(begin, end);
609:     return;
609:   }
609:   struct writer {
609:     constexpr void operator()(const Char* from, const Char* to) {
609:       if (from == to) return;
609:       for (;;) {
609:         const Char* p = nullptr;
609:         if (!find<IS_CONSTEXPR>(from, to, Char('}'), p))
609:           return handler_.on_text(from, to);
609:         ++p;
609:         if (p == to || *p != '}')
609:           return handler_.on_error("unmatched '}' in format string");
609:         handler_.on_text(from, p);
609:         from = p + 1;
609:       }
609:     }
609:     Handler& handler_;
609:   } write = {handler};
609:   while (begin != end) {
609: 
609: 
609:     const Char* p = begin;
609:     if (*begin != '{' && !find<IS_CONSTEXPR>(begin + 1, end, Char('{'), p))
609:       return write(begin, end);
609:     write(begin, p);
609:     begin = parse_replacement_field(p, end, handler);
609:   }
609: }
609: 
609: template <typename T, bool = is_named_arg<T>::value> struct strip_named_arg {
609:   using type = T;
609: };
609: template <typename T> struct strip_named_arg<T, true> {
609:   using type = remove_cvref_t<decltype(T::value)>;
609: };
609: 
609: template <typename T, typename ParseContext>
609: constexpr auto parse_format_specs(ParseContext& ctx)
609:     -> decltype(ctx.begin()) {
609:   using char_type = typename ParseContext::char_type;
609:   using context = buffer_context<char_type>;
609:   using stripped_type = typename strip_named_arg<T>::type;
609:   using mapped_type = conditional_t<
609:       mapped_type_constant<T, context>::value != type::custom_type,
609:       decltype(arg_mapper<context>().map(std::declval<const T&>())),
609:       stripped_type>;
609:   auto f = conditional_t<has_formatter<mapped_type, context>::vaot =
1417:      _M_copy<_MoveValues>(__x._M_mbegin(), _M_end(), __gen);
1417:    _M_leftmost() = _S_minimum(__root);
1417:    _M_rightmost() = _S_maximum(__root);
1417:    _M_impl._M_node_count = __x._M_impl._M_node_count;
1417:    return __root;
1417:  }
1417: 
1417:       _Link_type
1417:       _M_copy(const _Rb_tree& __x)
1417:       {
1417:  _Alloc_node __an(*this);
1417:  return _M_copy<__as_lvalue>(__x, __an);
1417:       }
1417: 
1417:       void
1417:       _M_erase(_Link_type __x);
1417: 
1417:       iterator
1417:       _M_lower_bound(_Link_type __x, _Base_ptr __y,
1417:        const _Key& __k);
1417: 
1417:       const_iterator
1417:       _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1417:        const _Key& __k) const;
1417: 
1417:       iterator
1417:       _M_upper_bound(_Link_type __x, _Base_ptr __y,
1417:        const _Key& __k);
1417: 
1417:       const_iterator
1417:       _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1417:        const _Key& __k) const;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417:       _Rb_tree() = default;
1417: 
1417: 
1417:       _Rb_tree(const _Compare& __comp,
1417:         const allocator_type& __a = allocator_type())
1417:       : _M_impl(__comp, _Node_allocator(__a)) { }
1417: 
1417:       _Rb_tree(const _Rb_tree& __x)
1417:       : _M_impl(__x._M_impl)
1417:       {
1417:  if (__x._M_root() != 0)
1417:    _M_root() = _M_copy(__x);
1417:       }
1417: 
1417: 
1417:       _Rb_tree(const allocator_type& __a)
1417:       : _M_impl(_Node_allocator(__a))
1417:       { }
1417: 
1417:       _Rb_tree(const _Rb_tree& __x, const allocator_type& __a)
1417:       : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a))
1417:       {
1417:  if (__x._M_root() != nullptr)
1417:    _M_root() = _M_copy(__x);
1417:       }
1417: 
1417:       _Rb_tree(_Rb_tree&&) = default;
1417: 
1417:       _Rb_tree(_Rb_tree&& __x, const allocator_type& __a)
1417:       : _Rb_tree(std::move(__x), _Node_allocator(__a))
1417:       { }
1417: 
1417:     private:
1417:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type)
1417:       noexcept(is_nothrow_default_constructible<_Compare>::value)
1417:       : _M_impl(std::move(__x._M_impl), std::move(__a))
1417:       { }
1417: 
1417:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type)
1417:       : _M_impl(__x._M_impl._M_key_compare, std::move(__a))
1417:       {
1417:  if (__x._M_root() != nullptr)
1417:    _M_move_data(__x, false_type{});
1417:       }
1417: 
1417:     public:
1417:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)
1417:       noexcept( noexcept(
1417:  _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(),
1417:    std::declval<typename _Alloc_traits::is_always_equal>())) )
1417:       : _Rb_tree(std::move(__x), std::move(__a),
1417:    typename _Alloc_traits::is_always_equal{})
1417:       { }
1417: 
1417: 
1417:       ~_Rb_tree() noexcept
1417:       { _M_erase(_M_begin()); }
1417: 
1417:       _Rb_tree&
1417:       operator=(const _Rb_tree& __x);
1417: 
1417: 
1417:       _Compare
1417:       key_comp() const
1417:       { return _M_impl._M_key_compare; }
1417: 
1417:       iterator
1417:       begin() noexcept
1417:       { return iterator(this->_M_impl._M_header._M_left); }
1417: 
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return const_iterator(this->_M_impl._M_header._M_left); }
1417: 
1417:       iterator
1417:       end() noexcept
1417:       { return iterator(&this->_M_impl._M_header); }
1417: 
1417:       const_iterator
1417:       end() const noexcept
1417:       { return const_iterator(&this->_M_impl._M_header); }
1417: 
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return reverse_iterator(end()); }
1417: 
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return reverse_iterator(begin()); }
1417: 
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _M_impl._M_node_count == 0; }
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_impl._M_node_count; }
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _Alloc_traits::max_size(_M_get_Node_allocator()); }
1417: 
1417:       void
1417:       swap(_Rb_tree& __t)
1417:       noexcept(__is_nothrow_swappable<_Compare>::value);
1417: 
1417: 
1417: 
1417:       template<typename _Arg>
1417:  pair<iterator, bool>
1417:  _M_insert_unique(_Arg&& __x);
1417: 
1417:       template<typename _Arg>
1417:  iterator
1417:  _M_insert_equal(_Arg&& __x);
1417: 
1417:       template<typename _Arg, typename _NodeGen>
1417:  iterator
1417:  _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1417: 
1417:       template<typename _Arg>
1417:  iterator
1417:  _M_insert_unique_(const_iterator __pos, _Arg&& __x)
1417:  {
1417:    _Alloc_node __an(*this);
1417:    return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
1417:  }
1417: 
1417:       template<typename _Arg, typename _NodeGen>
1417:  iterator
1417:  _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1417: 
1417:       template<typename _Arg>
1417:  iterator
1417:  _M_insert_equal_(const_iterator __pos, _Arg&& __x)
1417:  {
1417:    _Alloc_node __an(*this);
1417:    return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an);
1417:  }
1417: 
1417:       template<typename... _Args>
1417:  pair<iterator, bool>
1417:  _M_emplace_unique(_Args&&... __args);
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  _M_emplace_equal(_Args&&... __args);
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args);
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args);
1417: 
1417:       template<typename _Iter>
1417:  using __same_value_type
1417:    = is_same<value_type, typename iterator_traits<_Iter>::value_type>;
1417: 
1417:       template<typename _InputIterator>
1417:  __enable_if_t<__same_value_type<_InputIterator>::value>
1417:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1417:  {
1417:    _Alloc_node __an(*this);
1417:    for (; __first != __last; ++__first)
1417:      _M_insert_unique_(end(), *__first, __an);
1417:  }
1417: 
1417:       template<typename _InputIterator>
1417:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1417:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1417:  {
1417:    for (; __first != __last; ++__first)
1417:      _M_emplace_unique(*__first);
1417:  }
1417: 
1417:       template<typename _InputIterator>
1417:  __enable_if_t<__same_value_type<_InputIterator>::value>
1417:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1417:  {
1417:    _Alloc_node __an(*this);
1417:    for (; __first != __last; ++__first)
1417:      _M_insert_equal_(end(), *__first, __an);
1417:  }
1417: 
1417:       template<typename _InputIterator>
1417:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1417:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1417:  {
1417:    _Alloc_node __an(*this);
1417:    for (; __first != __last; ++__first)
1417:      _M_emplace_equal(*__first);
1417:  }
1417: # 1179 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:     private:
1417:       void
1417:       _M_erase_aux(const_iterator __position);
1417: 
1417:       void
1417:       _M_erase_aux(const_iterator __first, const_iterator __last);
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(const_iterator __position)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1417:  const_iterator lue,
609:                          formatter<mapped_type, char_type>,
609:                          fallback_formatter<stripped_type, char_type>>();
609:   return f.parse(ctx);
609: }
609: 
609: template <typename ErrorHandler>
609: constexpr void check_int_type_spec(presentation_type type,
609:                                        ErrorHandler&& eh) {
609:   if (type > presentation_type::bin_upper && type != presentation_type::chr)
609:     eh.on_error("invalid type specifier");
609: }
609: 
609: 
609: template <typename Char, typename ErrorHandler = error_handler>
609: constexpr auto check_char_specs(const basic_format_specs<Char>& specs,
609:                                     ErrorHandler&& eh = {}) -> bool {
609:   if (specs.type != presentation_type::none &&
609:       specs.type != presentation_type::chr &&
609:       specs.type != presentation_type::debug) {
609:     check_int_type_spec(specs.type, eh);
609:     return false;
609:   }
609:   if (specs.align == align::numeric || specs.sign != sign::none || specs.alt)
609:     eh.on_error("invalid format specifier for char");
609:   return true;
609: }
609: 
609: 
609: enum class float_format : unsigned char {
609:   general,
609:   exp,
609:   fixed,
609:   hex
609: };
609: 
609: struct float_specs {
609:   int precision;
609:   float_format format : 8;
609:   sign_t sign : 8;
609:   bool upper : 1;
609:   bool locale : 1;
609:   bool binary32 : 1;
609:   bool showpoint : 1;
609: };
609: 
609: template <typename ErrorHandler = error_handler, typename Char>
609: constexpr auto parse_float_type_spec(const basic_format_specs<Char>& specs,
609:                                          ErrorHandler&& eh = {})
609:     -> float_specs {
609:   auto result = float_specs();
609:   result.showpoint = specs.alt;
609:   result.locale = specs.localized;
609:   switch (specs.type) {
609:   case presentation_type::none:
609:     result.format = float_format::general;
609:     break;
609:   case presentation_type::general_upper:
609:     result.upper = true;
609:     [[fallthrough]];
609:   case presentation_type::general_lower:
609:     result.format = float_format::general;
609:     break;
609:   case presentation_type::exp_upper:
609:     result.upper = true;
609:     [[fallthrough]];
609:   case presentation_type::exp_lower:
609:     result.format = float_format::exp;
609:     result.showpoint |= specs.precision != 0;
609:     break;
609:   case presentation_type::fixed_upper:
609:     result.upper = true;
609:     [[fallthrough]];
609:   case presentation_type::fixed_lower:
609:     result.format = float_format::fixed;
609:     result.showpoint |= specs.precision != 0;
609:     break;
609:   case presentation_type::hexfloat_upper:
609:     result.upper = true;
609:     [[fallthrough]];
609:   case presentation_type::hexfloat_lower:
609:     result.format = float_format::hex;
609:     break;
609:   default:
609:     eh.on_error("invalid type specifier");
609:     break;
609:   }
609:   return result;
609: }
609: 
609: template <typename ErrorHandler = error_handler>
609: constexpr auto check_cstring_type_spec(presentation_type type,
609:                                            ErrorHandler&& eh = {}) -> bool {
609:   if (type == presentation_type::none || type == presentation_type::string ||
609:       type == presentation_type::debug)
609:     return true;
609:   if (type != presentation_type::pointer) eh.on_error("invalid type specifier");
609:   return false;
609: }
609: 
609: template <typename ErrorHandler = error_handler>
609: constexpr void check_string_type_spec(presentation_type type,
609:                                           ErrorHandler&& eh = {}) {
609:   if (type != presentation_type::none && type != presentation_type::string &&
609:       type != presentation_type::debug)
609:     eh.on_error("invalid type specifier");
609: }
609: 
609: template <typename ErrorHandler>
609: constexpr void check_pointer_type_spec(presentation_type type,
609:                                            ErrorHandler&& eh) {
609:   if (type != presentation_type::none && type != presentation_type::pointer)
609:     eh.on_error("invalid type specifier");
609: }
609: 
609: 
609: 
609: template <typename Handler> class specs_checker : public Handler {
609:  private:
609:   detail::type arg_type_;
609: 
609:   constexpr void require_numeric_argument() {
609:     if (!is_arithmetic_type(arg_type_))
609:       this->on_error("format specifier requires numeric argument");
609:   }
609: 
609:  public:
609:   constexpr specs_checker(const Handler& handler, detail::type arg_type)
609:       : Handler(handler), arg_type_(arg_type) {}
609: 
609:   constexpr void on_align(align_t align) {
609:     if (align == align::numeric) require_numeric_argument();
609:     Handler::on_align(align);
609:   }
609: 
609:   constexpr void on_sign(sign_t s) {
609:     require_numeric_argument();
609:     if (is_integral_type(arg_type_) && arg_type_ != type::int_type &&
609:         arg_type_ != type::long_long_type && arg_type_ != type::int128_type &&
609:         arg_type_ != type::char_type) {
609:       this->on_error("format specifier requires signed argument");
609:     }
609:     Handler::on_sign(s);
609:   }
609: 
609:   constexpr void on_hash() {
609:     require_numeric_argument();
609:     Handler::on_hash();
609:   }
609: 
609:   constexpr void on_localized() {
609:     require_numeric_argument();
609:     Handler::on_localized();
609:   }
609: 
609:   constexpr void on_zero() {
609:     require_numeric_argument();
609:     Handler::on_zero();
609:   }
609: 
609:   constexpr void end_precision() {
609:     if (is_integral_type(arg_type_) || arg_type_ == type::pointer_type)
609:       this->on_error("precision not allowed for this argument type");
609:   }
609: };
609: 
609: constexpr int invalid_arg_index = -1;
609: # 2924 "/usr/include/fmt/core.h" 3 4
609: template <typename... Args, typename Char>
609: constexpr auto get_arg_index_by_name(basic_string_view<Char> name) -> int {
609: 
609: 
609: 
609: 
609:   (void)name;
609:   return invalid_arg_index;
609: }
609: 
609: template <typename Char, typename ErrorHandler, typename... Args>
609: class format_string_checker {
609:  private:
609: 
609: 
609: 
609:   using parse_context_type = compile_parse_context<Char, ErrorHandler>;
609:   static constexpr int num_args = sizeof...(Args);
609: 
609: 
609:   using parse_func = const Char* (*)(parse_context_type&);
609: 
609:   parse_context_type context_;
609:   parse_func parse_funcs_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
609:   type types_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
609: 
609:  public:
609:   explicit constexpr format_string_checker(
609:       basic_string_view<Char> format_str, ErrorHandler eh)
609:       : context_(format_str, num_args, types_, eh),
609:         parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
609:         types_{
609:             mapped_type_constant<Args,
609:                                  basic_format_context<Char*, Char>>::value...} {
609:   }
609: 
609:   constexpr void on_text(const Char*, const Char*) {}
609: 
609:   constexpr auto on_arg_id() -> int { return context_.next_arg_id(); }
609:   constexpr auto on_arg_id(int id) -> int {
609:     return context_.check_arg_id(id), id;
609:   }
609:   constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
609: 
609: 
609: 
609: 
609: 
609:     (void)id;
609:     on_error("compile-time checks for named arguments require C++20 support");
609:     return 0;
609: 
609:   }
609: 
609:   constexpr void on_replacement_field(int, const Char*) {}
609: 
609:   constexpr auto on_format_specs(int id, const Char* begin, const Char*)
609:       -> const Char* {
609:     context_.advance_to(context_.begin() + (begin - &*context_.begin()));
609: 
609:     return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin;
609:   }
609: 
609:   constexpr void on_error(const char* message) {
609:     context_.on_error(message);
609:   }
609: };
609: 
609: 
609: template <typename..., typename S, enable_if_t<(!is_compile_string<S>::value), int> = 0>
609: inline __attribute__((always_inline)) void c__result = __position;
1417:  ++__result;
1417:  _M_erase_aux(__position);
1417:  return __result._M_const_cast();
1417:       }
1417: 
1417: 
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(iterator __position)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1417:  iterator __result = __position;
1417:  ++__result;
1417:  _M_erase_aux(__position);
1417:  return __result;
1417:       }
1417: # 1228 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:       size_type
1417:       erase(const key_type& __x);
1417: 
1417: 
1417: 
1417: 
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(const_iterator __first, const_iterator __last)
1417:       {
1417:  _M_erase_aux(__first, __last);
1417:  return __last._M_const_cast();
1417:       }
1417: # 1251 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:       void
1417:       clear() noexcept
1417:       {
1417:  _M_erase(_M_begin());
1417:  _M_impl._M_reset();
1417:       }
1417: 
1417: 
1417:       iterator
1417:       find(const key_type& __k);
1417: 
1417:       const_iterator
1417:       find(const key_type& __k) const;
1417: 
1417:       size_type
1417:       count(const key_type& __k) const;
1417: 
1417:       iterator
1417:       lower_bound(const key_type& __k)
1417:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1417: 
1417:       const_iterator
1417:       lower_bound(const key_type& __k) const
1417:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1417: 
1417:       iterator
1417:       upper_bound(const key_type& __k)
1417:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1417: 
1417:       const_iterator
1417:       upper_bound(const key_type& __k) const
1417:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1417: 
1417:       pair<iterator, iterator>
1417:       equal_range(const key_type& __k);
1417: 
1417:       pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __k) const;
1417: 
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  iterator
1417:  _M_find_tr(const _Kt& __k)
1417:  {
1417:    const _Rb_tree* __const_this = this;
1417:    return __const_this->_M_find_tr(__k)._M_const_cast();
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  const_iterator
1417:  _M_find_tr(const _Kt& __k) const
1417:  {
1417:    auto __j = _M_lower_bound_tr(__k);
1417:    if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node)))
1417:      __j = end();
1417:    return __j;
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  size_type
1417:  _M_count_tr(const _Kt& __k) const
1417:  {
1417:    auto __p = _M_equal_range_tr(__k);
1417:    return std::distance(__p.first, __p.second);
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  iterator
1417:  _M_lower_bound_tr(const _Kt& __k)
1417:  {
1417:    const _Rb_tree* __const_this = this;
1417:    return __const_this->_M_lower_bound_tr(__k)._M_const_cast();
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  const_iterator
1417:  _M_lower_bound_tr(const _Kt& __k) const
1417:  {
1417:    auto __x = _M_begin();
1417:    auto __y = _M_end();
1417:    while (__x != 0)
1417:      if (!_M_impl._M_key_compare(_S_key(__x), __k))
1417:        {
1417:   __y = __x;
1417:   __x = _S_left(__x);
1417:        }
1417:      else
1417:        __x = _S_right(__x);
1417:    return const_iterator(__y);
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  iterator
1417:  _M_upper_bound_tr(const _Kt& __k)
1417:  {
1417:    const _Rb_tree* __const_this = this;
1417:    return __const_this->_M_upper_bound_tr(__k)._M_const_cast();
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  const_iterator
1417:  _M_upper_bound_tr(const _Kt& __k) const
1417:  {
1417:    auto __x = _M_begin();
1417:    auto __y = _M_end();
1417:    while (__x != 0)
1417:      if (_M_impl._M_key_compare(__k, _S_key(__x)))
1417:        {
1417:   __y = __x;
1417:   __x = _S_left(__x);
1417:        }
1417:      else
1417:        __x = _S_right(__x);
1417:    return const_iterator(__y);
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  pair<iterator, iterator>
1417:  _M_equal_range_tr(const _Kt& __k)
1417:  {
1417:    const _Rb_tree* __const_this = this;
1417:    auto __ret = __const_this->_M_equal_range_tr(__k);
1417:    return { __ret.first._M_const_cast(), __ret.second._M_const_cast() };
1417:  }
1417: 
1417:       template<typename _Kt,
1417:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1417:  pair<const_iterator, const_iterator>
1417:  _M_equal_range_tr(const _Kt& __k) const
1417:  {
1417:    auto __low = _M_lower_bound_tr(__k);
1417:    auto __high = __low;
1417:    auto& __cmp = _M_impl._M_key_compare;
1417:    while (__high != end() && !__cmp(__k, _S_key(__high._M_node)))
1417:      ++__high;
1417:    return { __low, __high };
1417:  }
1417: 
1417: 
1417: 
1417:       bool
1417:       __rb_verify() const;
1417: 
1417: 
1417:       _Rb_tree&
1417:       operator=(_Rb_tree&&)
1417:       noexcept(_Alloc_traits::_S_nothrow_move()
1417:         && is_nothrow_move_assignable<_Compare>::value);
1417: 
1417:       template<typename _Iterator>
1417:  void
1417:  _M_assign_unique(_Iterator, _Iterator);
1417: 
1417:       template<typename _Iterator>
1417:  void
1417:  _M_assign_equal(_Iterator, _Iterator);
1417: 
1417:     private:
1417: 
1417:       void
1417:       _M_move_data(_Rb_tree& __x, true_type)
1417:       { _M_impl._M_move_data(__x._M_impl); }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_move_data(_Rb_tree&, false_type);
1417: 
1417: 
1417:       void
1417:       _M_move_assign(_Rb_tree&, true_type);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_move_assign(_Rb_tree&, false_type);
1417: 
1417: 
1417: 
1417:     public:
1417: 
1417:       insert_return_type
1417:       _M_reinsert_node_unique(node_type&& __nh)
1417:       {
1417:  insert_return_type __ret;
1417:  if (__nh.empty())
1417:    __ret.position = end();
1417:  else
1417:    {
1417:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1417: 
1417:      auto __res = _M_get_insert_unique_pos(__nh._M_key());
1417:      if (__res.second)
1417:        {
1417:   __ret.position
1417:     = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1417:   __nh._M_ptr = nullptr;
1417:   __ret.inserted = true;
1417:        }
1417:      else
1417:        {
1417:   __ret.node = std::move(__nh);
1417:   __ret.position = iterator(__res.first);
1417:   __ret.inserted = false;
1417:        }
1417:    }
1417:  return __ret;
1417:       }
1417: 
1417: 
1417:       iterator
1417:       _M_reinsert_node_equal(node_type&& __nh)
1417:       {
1417:  iterator __ret;
1417:  if (__nh.empty())
1417:    __ret = end();
1417:  else
1417:    {
1417:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1417:      auto __res = _M_get_insert_equal_pos(__nh._M_key());
1417:      if (__res.second)
1417:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1417:      else
1417:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1417:      __nh._M_ptr = nullptr;
1417:    }
1417:  return __ret;
1417:       }
1417: 
1417: 
1417:       iterator
1417:       _M_reinsert_node_hint_unique(const_iterator __hint, node_type&& __nh)
1417:       {
1417:  iterator __ret;
1417:  if (__nh.empty())
1417:    __ret = end();
1417:  else
1417:    {
1417:      dheck_format_string(const S&) {
609: 
609: 
609: 
609: 
609: 
609: }
609: template <typename... Args, typename S,
609:           enable_if_t<(is_compile_string<S>::value), int> = 0>
609: void check_format_string(S format_str) {
609:   constexpr auto s = basic_string_view<typename S::char_type>(format_str);
609:   using checker = format_string_checker<typename S::char_type, error_handler,
609:                                         remove_cvref_t<Args>...>;
609:   constexpr bool invalid_format =
609:       (parse_format_string<true>(s, checker(s, {})), true);
609:   ignore_unused(invalid_format);
609: }
609: 
609: template <typename Char>
609: void vformat_to(
609:     buffer<Char>& buf, basic_string_view<Char> fmt,
609:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
609:     locale_ref loc = {});
609: 
609:  void vprint_mojibake(std::FILE*, string_view, format_args);
609: 
609: inline void vprint_mojibake(std::FILE*, string_view, format_args) {}
609: 
609: }
609: 
609: 
609: 
609: template <typename T, typename Char>
609: struct formatter<T, Char,
609:                  enable_if_t<detail::type_constant<T, Char>::value !=
609:                              detail::type::custom_type>> {
609:  private:
609:   detail::dynamic_format_specs<Char> specs_;
609: 
609:  public:
609: 
609: 
609:   template <typename ParseContext>
609:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
609:     auto begin = ctx.begin(), end = ctx.end();
609:     if (begin == end) return begin;
609:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
609:     auto type = detail::type_constant<T, Char>::value;
609:     auto checker =
609:         detail::specs_checker<handler_type>(handler_type(specs_, ctx), type);
609:     auto it = detail::parse_format_specs(begin, end, checker);
609:     auto eh = ctx.error_handler();
609:     switch (type) {
609:     case detail::type::none_type:
609:       ::fmt::detail::ignore_unused((false), ("invalid argument type"));
609:       break;
609:     case detail::type::bool_type:
609:       if (specs_.type == presentation_type::none ||
609:           specs_.type == presentation_type::string) {
609:         break;
609:       }
609:       [[fallthrough]];
609:     case detail::type::int_type:
609:     case detail::type::uint_type:
609:     case detail::type::long_long_type:
609:     case detail::type::ulong_long_type:
609:     case detail::type::int128_type:
609:     case detail::type::uint128_type:
609:       detail::check_int_type_spec(specs_.type, eh);
609:       break;
609:     case detail::type::char_type:
609:       detail::check_char_specs(specs_, eh);
609:       break;
609:     case detail::type::float_type:
609:       if (detail::const_check(1))
609:         detail::parse_float_type_spec(specs_, eh);
609:       else
609:         ::fmt::detail::ignore_unused((false), ("float support disabled"));
609:       break;
609:     case detail::type::double_type:
609:       if (detail::const_check(1))
609:         detail::parse_float_type_spec(specs_, eh);
609:       else
609:         ::fmt::detail::ignore_unused((false), ("double support disabled"));
609:       break;
609:     case detail::type::long_double_type:
609:       if (detail::const_check(1))
609:         detail::parse_float_type_spec(specs_, eh);
609:       else
609:         ::fmt::detail::ignore_unused((false), ("long double support disabled"));
609:       break;
609:     case detail::type::cstring_type:
609:       detail::check_cstring_type_spec(specs_.type, eh);
609:       break;
609:     case detail::type::string_type:
609:       detail::check_string_type_spec(specs_.type, eh);
609:       break;
609:     case detail::type::pointer_type:
609:       detail::check_pointer_type_spec(specs_.type, eh);
609:       break;
609:     case detail::type::custom_type:
609: 
609: 
609:       break;
609:     }
609:     return it;
609:   }
609: 
609:   template <detail::type U = detail::type_constant<T, Char>::value,
609:             enable_if_t<(U == detail::type::string_type ||
609:                          U == detail::type::cstring_type ||
609:                          U == detail::type::char_type),
609:                         int> = 0>
609:   constexpr void set_debug_format() {
609:     specs_.type = presentation_type::debug;
609:   }
609: 
609:   template <typename FormatContext>
609:   constexpr auto format(const T& val, FormatContext& ctx) const
609:       -> decltype(ctx.out());
609: };
609: # 3126 "/usr/include/fmt/core.h" 3 4
609: template <typename Char> struct formatter<signed char, Char> : formatter<int, Char> { template <typename FormatContext> auto format(signed char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
609: template <typename Char> struct formatter<unsigned char, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
609: template <typename Char> struct formatter<short, Char> : formatter<int, Char> { template <typename FormatContext> auto format(short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
609: template <typename Char> struct formatter<unsigned short, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
609: template <typename Char> struct formatter<long, Char> : formatter<long long, Char> { template <typename FormatContext> auto format(long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<long long, Char>::format(static_cast<long long>(val), ctx); } };
609: template <typename Char> struct formatter<unsigned long, Char> : formatter<unsigned long long, Char> { template <typename FormatContext> auto format(unsigned long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned long long, Char>::format(static_cast<unsigned long long>(val), ctx); } };
609: template <typename Char> struct formatter<Char*, Char> : formatter<const Char*, Char> { template <typename FormatContext> auto format(Char* const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const Char*, Char>::format(static_cast<const Char*>(val), ctx); } };
609: template <typename Char> struct formatter<std::basic_string<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(std::basic_string<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
609: template <typename Char> struct formatter<std::nullptr_t, Char> : formatter<const void*, Char> { template <typename FormatContext> auto format(std::nullptr_t const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const void*, Char>::format(static_cast<const void*>(val), ctx); } };
609: template <typename Char> struct formatter<detail::std_string_view<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(detail::std_string_view<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
609: 
609: template <typename Char> struct basic_runtime { basic_string_view<Char> str; };
609: 
609: 
609: template <typename Char, typename... Args> class basic_format_string {
609:  private:
609:   basic_string_view<Char> str_;
609: 
609:  public:
609:   template <typename S,
609:             enable_if_t<(std::is_convertible<const S&, basic_string_view<Char>>::value), int> = 0
609:                                                                               >
609:   inline __ao { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1417:      auto __res = _M_get_insert_hint_unique_pos(__hint, __nh._M_key());
1417:      if (__res.second)
1417:        {
1417:   __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1417:   __nh._M_ptr = nullptr;
1417:        }
1417:      else
1417:        __ret = iterator(__res.first);
1417:    }
1417:  return __ret;
1417:       }
1417: 
1417: 
1417:       iterator
1417:       _M_reinsert_node_hint_equal(const_iterator __hint, node_type&& __nh)
1417:       {
1417:  iterator __ret;
1417:  if (__nh.empty())
1417:    __ret = end();
1417:  else
1417:    {
1417:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1417:      auto __res = _M_get_insert_hint_equal_pos(__hint, __nh._M_key());
1417:      if (__res.second)
1417:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1417:      else
1417:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1417:      __nh._M_ptr = nullptr;
1417:    }
1417:  return __ret;
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  auto __ptr = _Rb_tree_rebalance_for_erase(
1417:      __pos._M_const_cast()._M_node, _M_impl._M_header);
1417:  --_M_impl._M_node_count;
1417:  return { static_cast<_Link_type>(__ptr), _M_get_Node_allocator() };
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const key_type& __k)
1417:       {
1417:  node_type __nh;
1417:  auto __pos = find(__k);
1417:  if (__pos != end())
1417:    __nh = extract(const_iterator(__pos));
1417:  return __nh;
1417:       }
1417: 
1417:       template<typename _Compare2>
1417:  using _Compatible_tree
1417:    = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>;
1417: 
1417:       template<typename, typename>
1417:  friend class _Rb_tree_merge_helper;
1417: 
1417: 
1417:       template<typename _Compare2>
1417:  void
1417:  _M_merge_unique(_Compatible_tree<_Compare2>& __src) noexcept
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1417:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1417:      {
1417:        auto __pos = __i++;
1417:        auto __res = _M_get_insert_unique_pos(_KeyOfValue()(*__pos));
1417:        if (__res.second)
1417:   {
1417:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1417:     auto __ptr = _Rb_tree_rebalance_for_erase(
1417:         __pos._M_node, __src_impl._M_header);
1417:     --__src_impl._M_node_count;
1417:     _M_insert_node(__res.first, __res.second,
1417:      static_cast<_Link_type>(__ptr));
1417:   }
1417:      }
1417:  }
1417: 
1417: 
1417:       template<typename _Compare2>
1417:  void
1417:  _M_merge_equal(_Compatible_tree<_Compare2>& __src) noexcept
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1417:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1417:      {
1417:        auto __pos = __i++;
1417:        auto __res = _M_get_insert_equal_pos(_KeyOfValue()(*__pos));
1417:        if (__res.second)
1417:   {
1417:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1417:     auto __ptr = _Rb_tree_rebalance_for_erase(
1417:         __pos._M_node, __src_impl._M_header);
1417:     --__src_impl._M_node_count;
1417:     _M_insert_node(__res.first, __res.second,
1417:      static_cast<_Link_type>(__ptr));
1417:   }
1417:      }
1417:  }
1417: 
1417: 
1417:       friend bool
1417:       operator==(const _Rb_tree& __x, const _Rb_tree& __y)
1417:       {
1417:  return __x.size() == __y.size()
1417:    && std::equal(__x.begin(), __x.end(), __y.begin());
1417:       }
1417: # 1620 "/usr/include/c++/12/bits/stl_tree.h" 3
1417:       friend bool
1417:       operator<(const _Rb_tree& __x, const _Rb_tree& __y)
1417:       {
1417:  return std::lexicographical_compare(__x.begin(), __x.end(),
1417:          __y.begin(), __y.end());
1417:       }
1417: 
1417: 
1417:     private:
1417: 
1417: 
1417:       struct _Auto_node
1417:       {
1417:  template<typename... _Args>
1417:    _Auto_node(_Rb_tree& __t, _Args&&... __args)
1417:    : _M_t(__t),
1417:      _M_node(__t._M_create_node(std::forward<_Args>(__args)...))
1417:    { }
1417: 
1417:  ~_Auto_node()
1417:  {
1417:    if (_M_node)
1417:      _M_t._M_drop_node(_M_node);
1417:  }
1417: 
1417:  _Auto_node(_Auto_node&& __n)
1417:  : _M_t(__n._M_t), _M_node(__n._M_node)
1417:  { __n._M_node = nullptr; }
1417: 
1417:  const _Key&
1417:  _M_key() const
1417:  { return _S_key(_M_node); }
1417: 
1417:  iterator
1417:  _M_insert(pair<_Base_ptr, _Base_ptr> __p)
1417:  {
1417:    auto __it = _M_t._M_insert_node(__p.first, __p.second, _M_node);
1417:    _M_node = nullptr;
1417:    return __it;
1417:  }
1417: 
1417:  iterator
1417:  _M_insert_equal_lower()
1417:  {
1417:    auto __it = _M_t._M_insert_equal_lower_node(_M_node);
1417:    _M_node = nullptr;
1417:    return __it;
1417:  }
1417: 
1417:  _Rb_tree& _M_t;
1417:  _Link_type _M_node;
1417:       };
1417: 
1417:     };
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     inline void
1417:     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
1417:   _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     void
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_move_data(_Rb_tree& __x, false_type)
1417:     {
1417:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1417:  _M_move_data(__x, true_type());
1417:       else
1417:  {
1417:    constexpr bool __move = !__move_if_noexcept_cond<value_type>::value;
1417:    _Alloc_node __an(*this);
1417:    _M_root() = _M_copy<__move>(__x, __an);
1417:    if constexpr (__move)
1417:      __x.clear();
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     inline void
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_move_assign(_Rb_tree& __x, true_type)
1417:     {
1417:       clear();
1417:       if (__x._M_root() != nullptr)
1417:  _M_move_data(__x, true_type());
1417:       std::__alloc_on_move(_M_get_Node_allocator(),
1417:       __x._M_get_Node_allocator());
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     void
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_move_assign(_Rb_tree& __x, false_type)
1417:     {
1417:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1417:  return _M_move_assign(__x, true_type{});
1417: 
1417: 
1417: 
1417:       _Reuse_or_alloc_node __roan(*this);
1417:       _M_impl._M_reset();
1417:       if (__x._M_root() != nullptr)
1417:  {
1417:    _M_root() = _M_copy<__as_rvalue>(__x, __roan);
1417:    __x.clear();
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     operator=(_Rb_tree&& __x)
1417:     noexcept(_Alloc_traits::_S_nothrow_move()
1417:       && is_nothrow_move_assignable<_Compare>::value)
1417:     {
1417:       _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare);
1417:       _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>());
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     template<typename _Iterator>
1417:       void
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_assign_unique(_Iterator __first, _Iterator __last)
1417:ttribute__((always_inline)) basic_format_string(const S& s) : str_(s) {
609:     static_assert(
609:         detail::count<
609:             (std::is_base_of<detail::view, remove_reference_t<Args>>::value &&
609:              std::is_reference<Args>::value)...>() == 0,
609:         "passing views as lvalues is disallowed");
609: # 3162 "/usr/include/fmt/core.h" 3 4
609:     detail::check_format_string<Args...>(s);
609: 
609:   }
609:   basic_format_string(basic_runtime<Char> r) : str_(r.str) {}
609: 
609:   inline __attribute__((always_inline)) operator basic_string_view<Char>() const { return str_; }
609: };
609: 
609: 
609: 
609: 
609: 
609: 
609: template <typename... Args>
609: using format_string = basic_format_string<char, type_identity_t<Args>...>;
609: # 3187 "/usr/include/fmt/core.h" 3 4
609: inline auto runtime(string_view s) -> basic_runtime<char> { return {{s}}; }
609: 
609: 
609:  auto vformat(string_view fmt, format_args args) -> std::string;
609: # 3203 "/usr/include/fmt/core.h" 3 4
609: template <typename... T>
609: [[nodiscard]] inline __attribute__((always_inline)) auto format(format_string<T...> fmt, T&&... args)
609:     -> std::string {
609:   return vformat(fmt, fmt::make_format_args(args...));
609: }
609: 
609: 
609: template <typename OutputIt,
609:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
609: auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt {
609:   using detail::get_buffer;
609:   auto&& buf = get_buffer<char>(out);
609:   detail::vformat_to(buf, fmt, args, {});
609:   return detail::get_iterator(buf);
609: }
609: # 3231 "/usr/include/fmt/core.h" 3 4
609: template <typename OutputIt, typename... T,
609:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
609: inline __attribute__((always_inline)) auto format_to(OutputIt out, format_string<T...> fmt, T&&... args)
609:     -> OutputIt {
609:   return vformat_to(out, fmt, fmt::make_format_args(args...));
609: }
609: 
609: template <typename OutputIt> struct format_to_n_result {
609: 
609:   OutputIt out;
609: 
609:   size_t size;
609: };
609: 
609: template <typename OutputIt, typename... T,
609:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
609: auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args)
609:     -> format_to_n_result<OutputIt> {
609:   using traits = detail::fixed_buffer_traits;
609:   auto buf = detail::iterator_buffer<OutputIt, char, traits>(out, n);
609:   detail::vformat_to(buf, fmt, args, {});
609:   return {buf.out(), buf.count()};
609: }
609: # 3263 "/usr/include/fmt/core.h" 3 4
609: template <typename OutputIt, typename... T,
609:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
609: inline __attribute__((always_inline)) auto format_to_n(OutputIt out, size_t n, format_string<T...> fmt,
609:                             T&&... args) -> format_to_n_result<OutputIt> {
609:   return vformat_to_n(out, n, fmt, fmt::make_format_args(args...));
609: }
609: 
609: 
609: template <typename... T>
609: [[nodiscard]] inline __attribute__((always_inline)) auto formatted_size(format_string<T...> fmt,
609:                                              T&&... args) -> size_t {
609:   auto buf = detail::counting_buffer<>();
609:   detail::vformat_to(buf, string_view(fmt), fmt::make_format_args(args...), {});
609:   return buf.count();
609: }
609: 
609:  void vprint(string_view fmt, format_args args);
609:  void vprint(std::FILE* f, string_view fmt, format_args args);
609: # 3292 "/usr/include/fmt/core.h" 3 4
609: template <typename... T>
609: inline __attribute__((always_inline)) void print(format_string<T...> fmt, T&&... args) {
609:   const auto& vargs = fmt::make_format_args(args...);
609:   return detail::is_utf8() ? vprint(fmt, vargs)
609:                            : detail::vprint_mojibake(stdout, fmt, vargs);
609: }
609: # 3309 "/usr/include/fmt/core.h" 3 4
609: template <typename... T>
609: inline __attribute__((always_inline)) void print(std::FILE* f, format_string<T...> fmt, T&&... args) {
609:   const auto& vargs = fmt::make_format_args(args...);
609:   return detail::is_utf8() ? vprint(f, fmt, vargs)
609:                            : detail::vprint_mojibake(f, fmt, vargs);
609: }
609: 
609: 
609: 
609: # 3317 "/usr/include/fmt/core.h" 3 4
609: #pragma GCC pop_options
609: # 3317 "/usr/include/fmt/core.h" 3 4
609: 
609: } }
609: # 49 "/usr/include/fmt/format.h" 2 3 4
609: # 242 "/usr/include/fmt/format.h" 3 4
609: namespace fmt { inline namespace v9 {
609: namespace detail {
609: 
609: constexpr inline void abort_fuzzing_if(bool condition) {
609:   ignore_unused(condition);
609: 
609: 
609: 
609: }
609: 
609: template <typename CharT, CharT... C> struct string_literal {
609:   static constexpr CharT value[sizeof...(C)] = {C...};
609:   constexpr operator basic_string_view<CharT>() const {
609:     return {value, sizeof...(C)};
609:   }
609: };
609: 
609: 
609: 
609: 
609: 
609: 
609: template <typename Streambuf> class formatbuf : public Streambuf {
609:  private:
609:   using char_type = typename Streambuf::char_type;
609:   using streamsize = decltype(std::declval<Streambuf>().sputn(nullptr, 0));
609:   using int_type = typename Streambuf::int_type;
609:   using traits_type = typename Streambuf::traits_type;
609: 
609:   buffer<char_type>& buffer_;
609: 
609:  public:
609:   explicit formatbuf(buffer<char_type>& buf) : buffer_(buf) {}
609: 
609:  protected:
609: 
609: 
609: 
609: 
609: 
609: 
609:   auto overflow(int_type ch) -> int_type override {
609:     if (!traits_type::eq_int_type(ch, traits_type::eof()))
609:       buffer_.push_back(static_cast<char_type>(ch));
609:     return ch;
609:   }
609: 
609:   auto xsputn(const char_type* s, streamsize count) -> streamsize override {
609:     buffer_.append(s, s + count);
609:     return count;
609:   }
609: };
609: 
609: 
609: template <typename To, typename From, enable_if_t<(sizeof(To) == sizeof(From)), int> = 0>
609:  auto bit_cast(const From& from) -> To {
609: 
609: 
609: 
609:   auto to = To();
609: 
609:   std::memcpy(static_cast<void*>(&to), &from, sizeof(to));
609:   return to;
609: }
609: 
609: inline auto is_big_endian() -> bool {
609: 
609: 
609: 
609: 
609: 
609:   return 1234 == 4321;
609: 
609: 
609: 
609: 
609: 
609: 
609: }
609: 
609: class uint128_fallback {
609:  private:
609:   uint64_t lo_, hi_;
609: 
609:   friend uint128_fallback umul128(uint64_t x, uint64_t y) noexcept;
609: 
609:  public:
609:   constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {}
609:   constexpr uint128_fallback(uint64_t value = 0) : lo_(value), hi_(0) {}
609: 
609:   constexpr uint64_t high() const noexcept { return hi_; }
609:   constexpr uint64_t low() const noexcept { return lo_; }
609: 
609:   template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
609:   constexpr explicit operator T() const {
609:     return static_cast<T>(lo_);
609:   }
609: 
609:   friend constexpr auto operator==(const uint128_fallback& lhs,
609:                                    const uint128_fallback& rhs) -> bool {
609:     return lhs.hi_ == rhs.hi_ && lhs.lo_ == rhs.lo_;
609:   }
609:   friend constexpr auto operator!=(const uint128_fallback& lhs,
609:                                    const uint128_fallback& rhs) -> bool {
609:     return !(lhs == rhs);
609:   }
609:   friend constexpr auto operator>(const uint128_fallback& lhs,
609:                                   const uint128_fallback& rhs) -> bool {
609:     return lhs.hi_ != rhs.hi_ ? lhs.hi_ > rhs.hi_ : lhs.lo_ > rhs.lo_;
609:   }
609:   friend constexpr auto operator|(const uint128_fallback& lhs,
609:                                   const uint128_fallback& rhs)
609:       -> uint128_fallback {
609:     return {lhs.hi_ | rhs.hi_, lhs.lo_ | rhs.lo_};
609:   }
609:   friend constexpr auto operator&(const uint128_fallback& lhs,
609:                                   const uint128_fallback& rhs)
609:       -> uint128_fallback {
609:     return {lhs.hi_ & rhs.hi_, lhs.lo_ & rhs.lo_};
609:   }
609:   friend auto operator+(const ui       {
1417:  _Reuse_or_alloc_node __roan(*this);
1417:  _M_impl._M_reset();
1417:  for (; __first != __last; ++__first)
1417:    _M_insert_unique_(end(), *__first, __roan);
1417:       }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     template<typename _Iterator>
1417:       void
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_assign_equal(_Iterator __first, _Iterator __last)
1417:       {
1417:  _Reuse_or_alloc_node __roan(*this);
1417:  _M_impl._M_reset();
1417:  for (; __first != __last; ++__first)
1417:    _M_insert_equal_(end(), *__first, __roan);
1417:       }
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     operator=(const _Rb_tree& __x)
1417:     {
1417:       if (this != std::__addressof(__x))
1417:  {
1417: 
1417: 
1417:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1417:      {
1417:        auto& __this_alloc = this->_M_get_Node_allocator();
1417:        auto& __that_alloc = __x._M_get_Node_allocator();
1417:        if (!_Alloc_traits::_S_always_equal()
1417:     && __this_alloc != __that_alloc)
1417:   {
1417: 
1417: 
1417:     clear();
1417:     std::__alloc_on_copy(__this_alloc, __that_alloc);
1417:   }
1417:      }
1417: 
1417: 
1417:    _Reuse_or_alloc_node __roan(*this);
1417:    _M_impl._M_reset();
1417:    _M_impl._M_key_compare = __x._M_impl._M_key_compare;
1417:    if (__x._M_root() != 0)
1417:      _M_root() = _M_copy<__as_lvalue>(__x, __roan);
1417:  }
1417: 
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417: 
1417:     template<typename _Arg, typename _NodeGen>
1417: 
1417: 
1417: 
1417:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_insert_(_Base_ptr __x, _Base_ptr __p,
1417: 
1417:    _Arg&& __v,
1417: 
1417: 
1417: 
1417:    _NodeGen& __node_gen)
1417:       {
1417:  bool __insert_left = (__x != 0 || __p == _M_end()
1417:          || _M_impl._M_key_compare(_KeyOfValue()(__v),
1417:        _S_key(__p)));
1417: 
1417:  _Link_type __z = __node_gen(std::forward<_Arg>(__v));
1417: 
1417:  _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1417:           this->_M_impl._M_header);
1417:  ++_M_impl._M_node_count;
1417:  return iterator(__z);
1417:       }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417: 
1417:     template<typename _Arg>
1417: 
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417: 
1417:     _M_insert_lower(_Base_ptr __p, _Arg&& __v)
1417: 
1417: 
1417: 
1417:     {
1417:       bool __insert_left = (__p == _M_end()
1417:        || !_M_impl._M_key_compare(_S_key(__p),
1417:              _KeyOfValue()(__v)));
1417: 
1417:       _Link_type __z = _M_create_node(std::forward<_Arg>(__v));
1417: 
1417:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1417:         this->_M_impl._M_header);
1417:       ++_M_impl._M_node_count;
1417:       return iterator(__z);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417: 
1417:     template<typename _Arg>
1417: 
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417: 
1417:     _M_insert_equal_lower(_Arg&& __v)
1417: 
1417: 
1417: 
1417:     {
1417:       _Link_type __x = _M_begin();
1417:       _Base_ptr __y = _M_end();
1417:       while (__x != 0)
1417:  {
1417:    __y = __x;
1417:    __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
1417:   _S_left(__x) : _S_right(__x);
1417:  }
1417:       return _M_insert_lower(__y, std::forward<_Arg>(__v));
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KoV,
1417:     typename _Compare, typename _Alloc>
1417:     template<bool _MoveValues, typename _NodeGen>
1417:       typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
1417:       _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
1417:       _M_copy(_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen)
1417:       {
1417: 
1417:  _Link_type __top = _M_clone_node<_MoveValues>(__x, __node_gen);
1417:  __top->_M_parent = __p;
1417: 
1417:  try
1417:    {
1417:      if (__x->_M_right)
1417:        __top->_M_right =
1417:   _M_copy<_MoveValues>(_S_right(__x), __top, __node_gen);
1417:      __p = __top;
1417:      __x = _S_left(__x);
1417: 
1417:      while (__x != 0)
1417:        {
1417:   _Link_type __y = _M_clone_node<_MoveValues>(__x, __node_gen);
1417:   __p->_M_left = __y;
1417:   __y->_M_parent = __p;
1417:   if (__x->_M_right)
1417:     __y->_M_right = _M_copy<_MoveValues>(_S_right(__x),
1417:              __y, __node_gen);
1417:   __p = __y;
1417:   __x = _S_left(__x);
1417:        }
1417:    }
1417:  catch(...)
1417:    {
1417:      _M_erase(__top);
1417:      throw;
1417:    }
1417:  return __top;
1417:       }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     void
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_erase(_Link_type __x)
1417:     {
1417: 
1417:       while (__x != 0)
1417:  {
1417:    _M_erase(_S_right(__x));
1417:    _Link_type __y = _S_left(__x);
1417:    _M_drop_node(__x);
1417:    __x = __y;
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:         _Compare, _Alloc>::iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_lower_bound(_Link_type __x, _Base_ptr __y,
1417:      const _Key& __k)
1417:     {
1417:       while (__x != 0)
1417:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1417:    __y = __x, __x = _S_left(__x);
1417:  else
1417:    __x = _S_right(__x);
1417:       return iterator(__y);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:         _Compare, _Alloc>::const_iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1417:      const _Key& __k) const
1417:     {
1417:       while (__x != 0)
1417:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1417:    __y = __x, __x = _S_left(__x);
1417:  else
1417:    __x = _S_right(__x);
1417:       return const_iterator(__y);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:         _Compare, _Alloc>::iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_upper_bound(_Link_type __x, _Base_ptr __y,
1417:      const _Key& __k)
1417:     {
1417:       while (__x != 0)
1417:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1417:    __y = __x, __x = _S_left(__x);
1417:  else
1417:    __x = _S_right(__x);
1417:       return iterator(__y);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:         _Compare, _Alloc>::const_iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1417:      const _Key& __k) const
1417:     {
1417:       while (__x != 0)
1417:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1417:    __y = __x, __nt128_fallback& lhs,
609:                         const uint128_fallback& rhs) -> uint128_fallback {
609:     auto result = uint128_fallback(lhs);
609:     result += rhs;
609:     return result;
609:   }
609:   friend auto operator*(const uint128_fallback& lhs, uint32_t rhs)
609:       -> uint128_fallback {
609:     ::fmt::detail::ignore_unused((lhs.hi_ == 0), (""));
609:     uint64_t hi = (lhs.lo_ >> 32) * rhs;
609:     uint64_t lo = (lhs.lo_ & ~uint32_t()) * rhs;
609:     uint64_t new_lo = (hi << 32) + lo;
609:     return {(hi >> 32) + (new_lo < lo ? 1 : 0), new_lo};
609:   }
609:   friend auto operator-(const uint128_fallback& lhs, uint64_t rhs)
609:       -> uint128_fallback {
609:     return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs};
609:   }
609:   constexpr auto operator>>(int shift) const -> uint128_fallback {
609:     if (shift == 64) return {0, hi_};
609:     if (shift > 64) return uint128_fallback(0, hi_) >> (shift - 64);
609:     return {hi_ >> shift, (hi_ << (64 - shift)) | (lo_ >> shift)};
609:   }
609:   constexpr auto operator<<(int shift) const -> uint128_fallback {
609:     if (shift == 64) return {lo_, 0};
609:     if (shift > 64) return uint128_fallback(lo_, 0) << (shift - 64);
609:     return {hi_ << shift | (lo_ >> (64 - shift)), (lo_ << shift)};
609:   }
609:   constexpr auto operator>>=(int shift) -> uint128_fallback& {
609:     return *this = *this >> shift;
609:   }
609:   constexpr void operator+=(uint128_fallback n) {
609:     uint64_t new_lo = lo_ + n.lo_;
609:     uint64_t new_hi = hi_ + n.hi_ + (new_lo < lo_ ? 1 : 0);
609:     ::fmt::detail::ignore_unused((new_hi >= hi_), (""));
609:     lo_ = new_lo;
609:     hi_ = new_hi;
609:   }
609: 
609:   uint128_fallback& operator+=(uint64_t n) noexcept {
609:     if (is_constant_evaluated()) {
609:       lo_ += n;
609:       hi_ += (lo_ < n ? 1 : 0);
609:       return *this;
609:     }
609: # 420 "/usr/include/fmt/format.h" 3 4
609:     lo_ += n;
609:     hi_ += (lo_ < n ? 1 : 0);
609: 
609:     return *this;
609:   }
609: };
609: 
609: using uint128_t = conditional_t<0, uint128_opt, uint128_fallback>;
609: 
609: 
609: using uintptr_t = ::uintptr_t;
609: 
609: 
609: 
609: 
609: 
609: 
609: template <typename T> constexpr auto max_value() -> T {
609:   return (std::numeric_limits<T>::max)();
609: }
609: template <typename T> constexpr auto num_bits() -> int {
609:   return std::numeric_limits<T>::digits;
609: }
609: 
609: template <> constexpr auto num_bits<int128_opt>() -> int { return 128; }
609: template <> constexpr auto num_bits<uint128_t>() -> int { return 128; }
609: 
609: 
609: 
609: template <typename To, typename From, enable_if_t<(sizeof(To) > sizeof(From)), int> = 0>
609: inline auto bit_cast(const From& from) -> To {
609:   constexpr auto size = static_cast<int>(sizeof(From) / sizeof(unsigned));
609:   struct data_t {
609:     unsigned value[static_cast<unsigned>(size)];
609:   } data = bit_cast<data_t>(from);
609:   auto result = To();
609:   if (const_check(is_big_endian())) {
609:     for (int i = 0; i < size; ++i)
609:       result = (result << num_bits<unsigned>()) | data.value[i];
609:   } else {
609:     for (int i = size - 1; i >= 0; --i)
609:       result = (result << num_bits<unsigned>()) | data.value[i];
609:   }
609:   return result;
609: }
609: 
609: inline __attribute__((always_inline)) void assume(bool condition) {
609:   (void)condition;
609: 
609: 
609: 
609: }
609: 
609: 
609: template <typename T>
609: using iterator_t = decltype(std::begin(std::declval<T&>()));
609: template <typename T> using sentinel_t = decltype(std::end(std::declval<T&>()));
609: 
609: 
609: template <typename Char>
609: inline auto get_data(std::basic_string<Char>& s) -> Char* {
609:   return &s[0];
609: }
609: template <typename Container>
609: inline auto get_data(Container& c) -> typename Container::value_type* {
609:   return c.data();
609: }
609: # 496 "/usr/include/fmt/format.h" 3 4
609: template <typename T> using checked_ptr = T*;
609: template <typename T> constexpr auto make_checked(T* p, size_t) -> T* {
609:   return p;
609: }
609: 
609: 
609: 
609: 
609: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
609: 
609: 
609: 
609: inline auto
609: reserve(std::back_insert_iterator<Container> it, size_t n)
609:     -> checked_ptr<typename Container::value_type> {
609:   Container& c = get_container(it);
609:   size_t size = c.size();
609:   c.resize(size + n);
609:   return make_checked(get_data(c) + size, n);
609: }
609: 
609: template <typename T>
609: inline auto reserve(buffer_appender<T> it, size_t n) -> buffer_appender<T> {
609:   buffer<T>& buf = get_container(it);
609:   buf.try_reserve(buf.size() + n);
609:   return it;
609: }
609: 
609: template <typename Iterator>
609: constexpr auto reserve(Iterator& it, size_t) -> Iterator& {
609:   return it;
609: }
609: 
609: template <typename OutputIt>
609: using reserve_iterator =
609:     remove_reference_t<decltype(reserve(std::declval<OutputIt&>(), 0))>;
609: 
609: template <typename T, typename OutputIt>
609: constexpr auto to_pointer(OutputIt, size_t) -> T* {
609:   return nullptr;
609: }
609: template <typename T> auto to_pointer(buffer_appender<T> it, size_t n) -> T* {
609:   buffer<T>& buf = get_container(it);
609:   auto size = buf.size();
609:   if (buf.capacity() < size + n) return nullptr;
609:   buf.try_resize(size + n);
609:   return buf.data() + size;
609: }
609: 
609: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
609: inline auto base_iterator(std::back_insert_iterator<Container>& it,
609:                           checked_ptr<typename Container::value_type>)
609:     -> std::back_insert_iterator<Container> {
609:   return it;
609: }
609: 
609: template <typename Iterator>
609: constexpr auto base_iterator(Iterator, Iterator it) -> Iterator {
609:   return it;
609: }
609: 
609: 
609: 
609: template <typename OutputIt, typename Size, typename T>
609: constexpr auto fill_n(OutputIt out, Size count, const T& value)
609:     -> OutputIt {
609:   for (Size i = 0; i < count; ++i) *out++ = value;
609:   return out;
609: }
609: template <typename T, typename Size>
609:  auto fill_n(T* out, Size count, char value) -> T* {
609:   if (is_constant_evaluated()) {
609:     return fill_n<T*, Size, T>(out, count, value);
609:   }
609:   std::memset(out, value, to_unsigned(count));
609:   return out + count;
609: }
609: 
609: 
609: 
609: 
609: enum char8_type : unsigned char {};
609: 
609: 
609: template <typename OutChar, typename InputIt, typename OutputIt>
609: constexpr __attribute__((noinline)) auto copy_str_noinline(InputIt begin, InputIt end,
609:                                                   OutputIt out) -> OutputIt {
609:   return copy_str<OutChar>(begin, end, out);
609: }
609: # 603 "/usr/include/fmt/format.h" 3 4
609: constexpr inline auto utf8_decode(const char* s, uint32_t* c, int* e)
609:     -> const char* {
609:   constexpr const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07};
609:   constexpr const uint32_t mins[] = {4194304, 0, 128, 2048, 65536};
609:   constexpr const int shiftc[] = {0, 18, 12, 6, 0};
609:   constexpr const int shifte[] = {0, 6, 4, 2, 0};
609: 
609:   int len = code_point_length_impl(*s);
609: 
609: 
609: 
609:   const char* next = s + len + !len;
609: 
609:   using uchar = unsigned char;
609: 
609: 
609: 
609:   *c = uint32_t(uchar(s[0]) & masks[len]) << 18;
609:   *c |= uint32_t(uchar(s[1]) & 0x3f) << 12;
609:   *c |= uint32_t(uchar(s[2]) & 0x3f) << 6;
609:   *c |= uint32_t(uchar(s[3]) & 0x3f) << 0;
609:   *c >>= shiftc[len];
609: 
609: 
609:   *e = (*c < mins[len]) << 6;
609:   *e |= ((*c >> 11) == 0x1b) << 7;
609:   *e |= (*c > 0x10FFFF) << 8;
609:   *e |= (uchar(s[1]) & 0xc0) >> 2;
609:   *e |= (uchar(s[2]) & 0xc0) >> 4;
609:   *e |= uchar(s[3]) >> 6;
609:   *e ^= 0x2a;
609:   *e >>= shifte[len];
609: 
609:   return next;
609: }
609: 
609: constexpr uint32_t invalid_code_point = ~uint32_t();
609: 
609: 
609: 
609: template <typename F>
609: constexpr void for_each_codepoint(string_view s, F f) {
609:   auto decode = [f](const char* buf_ptr, const char* ptr) {
609:     auto cp x = _S_left(__x);
1417:  else
1417:    __x = _S_right(__x);
1417:       return const_iterator(__y);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::iterator,
1417:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::iterator>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     equal_range(const _Key& __k)
1417:     {
1417:       _Link_type __x = _M_begin();
1417:       _Base_ptr __y = _M_end();
1417:       while (__x != 0)
1417:  {
1417:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1417:      __x = _S_right(__x);
1417:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1417:      __y = __x, __x = _S_left(__x);
1417:    else
1417:      {
1417:        _Link_type __xu(__x);
1417:        _Base_ptr __yu(__y);
1417:        __y = __x, __x = _S_left(__x);
1417:        __xu = _S_right(__xu);
1417:        return pair<iterator,
1417:      iterator>(_M_lower_bound(__x, __y, __k),
1417:         _M_upper_bound(__xu, __yu, __k));
1417:      }
1417:  }
1417:       return pair<iterator, iterator>(iterator(__y),
1417:           iterator(__y));
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::const_iterator,
1417:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::const_iterator>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     equal_range(const _Key& __k) const
1417:     {
1417:       _Const_Link_type __x = _M_begin();
1417:       _Const_Base_ptr __y = _M_end();
1417:       while (__x != 0)
1417:  {
1417:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1417:      __x = _S_right(__x);
1417:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1417:      __y = __x, __x = _S_left(__x);
1417:    else
1417:      {
1417:        _Const_Link_type __xu(__x);
1417:        _Const_Base_ptr __yu(__y);
1417:        __y = __x, __x = _S_left(__x);
1417:        __xu = _S_right(__xu);
1417:        return pair<const_iterator,
1417:      const_iterator>(_M_lower_bound(__x, __y, __k),
1417:        _M_upper_bound(__xu, __yu, __k));
1417:      }
1417:  }
1417:       return pair<const_iterator, const_iterator>(const_iterator(__y),
1417:         const_iterator(__y));
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     void
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     swap(_Rb_tree& __t)
1417:     noexcept(__is_nothrow_swappable<_Compare>::value)
1417:     {
1417:       if (_M_root() == 0)
1417:  {
1417:    if (__t._M_root() != 0)
1417:      _M_impl._M_move_data(__t._M_impl);
1417:  }
1417:       else if (__t._M_root() == 0)
1417:  __t._M_impl._M_move_data(_M_impl);
1417:       else
1417:  {
1417:    std::swap(_M_root(),__t._M_root());
1417:    std::swap(_M_leftmost(),__t._M_leftmost());
1417:    std::swap(_M_rightmost(),__t._M_rightmost());
1417: 
1417:    _M_root()->_M_parent = _M_end();
1417:    __t._M_root()->_M_parent = __t._M_end();
1417:    std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
1417:  }
1417: 
1417:       std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
1417: 
1417:       _Alloc_traits::_S_on_swap(_M_get_Node_allocator(),
1417:     __t._M_get_Node_allocator());
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr,
1417:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_get_insert_unique_pos(const key_type& __k)
1417:     {
1417:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1417:       _Link_type __x = _M_begin();
1417:       _Base_ptr __y = _M_end();
1417:       bool __comp = true;
1417:       while (__x != 0)
1417:  {
1417:    __y = __x;
1417:    __comp = _M_impl._M_key_compare(__k, _S_key(__x));
1417:    __x = __comp ? _S_left(__x) : _S_right(__x);
1417:  }
1417:       iterator __j = iterator(__y);
1417:       if (__comp)
1417:  {
1417:    if (__j == begin())
1417:      return _Res(__x, __y);
1417:    else
1417:      --__j;
1417:  }
1417:       if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
1417:  return _Res(__x, __y);
1417:       return _Res(__j._M_node, 0);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr,
1417:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_get_insert_equal_pos(const key_type& __k)
1417:     {
1417:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1417:       _Link_type __x = _M_begin();
1417:       _Base_ptr __y = _M_end();
1417:       while (__x != 0)
1417:  {
1417:    __y = __x;
1417:    __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
1417:   _S_left(__x) : _S_right(__x);
1417:  }
1417:       return _Res(__x, __y);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417: 
1417:     template<typename _Arg>
1417: 
1417:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::iterator, bool>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417: 
1417:     _M_insert_unique(_Arg&& __v)
1417: 
1417: 
1417: 
1417:     {
1417:       typedef pair<iterator, bool> _Res;
1417:       pair<_Base_ptr, _Base_ptr> __res
1417:  = _M_get_insert_unique_pos(_KeyOfValue()(__v));
1417: 
1417:       if (__res.second)
1417:  {
1417:    _Alloc_node __an(*this);
1417:    return _Res(_M_insert_(__res.first, __res.second,
1417:      std::forward<_Arg>(__v), __an),
1417:         true);
1417:  }
1417: 
1417:       return _Res(iterator(__res.first), false);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417: 
1417:     template<typename _Arg>
1417: 
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417: 
1417:     _M_insert_equal(_Arg&& __v)
1417: 
1417: 
1417: 
1417:     {
1417:       pair<_Base_ptr, _Base_ptr> __res
1417:  = _M_get_insert_equal_pos(_KeyOfValue()(__v));
1417:       _Alloc_node __an(*this);
1417:       return _M_insert_(__res.first, __res.second,
1417:    std::forward<_Arg>(__v), __an);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr,
1417:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_get_insert_hint_unique_pos(const_iterator __position,
1417:       const key_type& __k)
1417:     {
1417:       iterator __pos = __position._M_const_cast();
1417:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1417: 
1417: 
1417:       if (__pos._M_node == _M_end())
1417:  {
1417:    if (size() > 0
1417:        && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k))
1417:      return _Res(0, _M_rightmost());
1417:    else
1417:      return _M_get_insert_unique_pos(__k);
1417:  }
1417:       else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
1417:  {
1417: 
1417:    iterator __before = __pos;
1417:    if (__pos._M_node == _M_leftmost())
1417:      return _Res(_M_leftmost(), _M_leftmost());
1417:    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
141= uint32_t();
609:     auto error = 0;
609:     auto end = utf8_decode(buf_ptr, &cp, &error);
609:     bool result = f(error ? invalid_code_point : cp,
609:                     string_view(ptr, error ? 1 : to_unsigned(end - buf_ptr)));
609:     return result ? (error ? buf_ptr + 1 : end) : nullptr;
609:   };
609:   auto p = s.data();
609:   const size_t block_size = 4;
609:   if (s.size() >= block_size) {
609:     for (auto end = p + s.size() - block_size + 1; p < end;) {
609:       p = decode(p, p);
609:       if (!p) return;
609:     }
609:   }
609:   if (auto num_chars_left = s.data() + s.size() - p) {
609:     char buf[2 * block_size - 1] = {};
609:     copy_str<char>(p, p + num_chars_left, buf);
609:     const char* buf_ptr = buf;
609:     do {
609:       auto end = decode(buf_ptr, p);
609:       if (!end) return;
609:       p += end - buf_ptr;
609:       buf_ptr = end;
609:     } while (buf_ptr - buf < num_chars_left);
609:   }
609: }
609: 
609: template <typename Char>
609: inline auto compute_width(basic_string_view<Char> s) -> size_t {
609:   return s.size();
609: }
609: 
609: 
609: constexpr inline size_t compute_width(string_view s) {
609:   size_t num_code_points = 0;
609: 
609:   struct count_code_points {
609:     size_t* count;
609:     constexpr auto operator()(uint32_t cp, string_view) const -> bool {
609:       *count += detail::to_unsigned(
609:           1 +
609:           (cp >= 0x1100 &&
609:            (cp <= 0x115f ||
609:             cp == 0x2329 ||
609:             cp == 0x232a ||
609: 
609:             (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
609:             (cp >= 0xac00 && cp <= 0xd7a3) ||
609:             (cp >= 0xf900 && cp <= 0xfaff) ||
609:             (cp >= 0xfe10 && cp <= 0xfe19) ||
609:             (cp >= 0xfe30 && cp <= 0xfe6f) ||
609:             (cp >= 0xff00 && cp <= 0xff60) ||
609:             (cp >= 0xffe0 && cp <= 0xffe6) ||
609:             (cp >= 0x20000 && cp <= 0x2fffd) ||
609:             (cp >= 0x30000 && cp <= 0x3fffd) ||
609: 
609:             (cp >= 0x1f300 && cp <= 0x1f64f) ||
609: 
609:             (cp >= 0x1f900 && cp <= 0x1f9ff))));
609:       return true;
609:     }
609:   };
609:   for_each_codepoint(s, count_code_points{&num_code_points});
609:   return num_code_points;
609: }
609: 
609: inline auto compute_width(basic_string_view<char8_type> s) -> size_t {
609:   return compute_width(
609:       string_view(reinterpret_cast<const char*>(s.data()), s.size()));
609: }
609: 
609: template <typename Char>
609: inline auto code_point_index(basic_string_view<Char> s, size_t n) -> size_t {
609:   size_t size = s.size();
609:   return n < size ? n : size;
609: }
609: 
609: 
609: inline auto code_point_index(string_view s, size_t n) -> size_t {
609:   const char* data = s.data();
609:   size_t num_code_points = 0;
609:   for (size_t i = 0, size = s.size(); i != size; ++i) {
609:     if ((data[i] & 0xc0) != 0x80 && ++num_code_points > n) return i;
609:   }
609:   return s.size();
609: }
609: 
609: inline auto code_point_index(basic_string_view<char8_type> s, size_t n)
609:     -> size_t {
609:   return code_point_index(
609:       string_view(reinterpret_cast<const char*>(s.data()), s.size()), n);
609: }
609: # 750 "/usr/include/fmt/format.h" 3 4
609: using float128 = void;
609: 
609: template <typename T> using is_float128 = std::is_same<T, float128>;
609: 
609: template <typename T>
609: using is_floating_point =
609:     bool_constant<std::is_floating_point<T>::value || is_float128<T>::value>;
609: 
609: template <typename T, bool = std::is_floating_point<T>::value>
609: struct is_fast_float : bool_constant<std::numeric_limits<T>::is_iec559 &&
609:                                      sizeof(T) <= sizeof(double)> {};
609: template <typename T> struct is_fast_float<T, false> : std::false_type {};
609: 
609: template <typename T>
609: using is_double_double = bool_constant<std::numeric_limits<T>::digits == 106>;
609: 
609: 
609: 
609: 
609: 
609: template <typename T>
609: template <typename U>
609: void buffer<T>::append(const U* begin, const U* end) {
609:   while (begin != end) {
609:     auto count = to_unsigned(end - begin);
609:     try_reserve(size_ + count);
609:     auto free_cap = capacity_ - size_;
609:     if (free_cap < count) count = free_cap;
609:     std::uninitialized_copy_n(begin, count, make_checked(ptr_ + size_, count));
609:     size_ += count;
609:     begin += count;
609:   }
609: }
609: 
609: template <typename T, typename Enable = void>
609: struct is_locale : std::false_type {};
609: template <typename T>
609: struct is_locale<T, void_t<decltype(T::classic())>> : std::true_type {};
609: }
609: 
609: 
609: 
609: 
609: 
609: enum { inline_buffer_size = 500 };
609: # 817 "/usr/include/fmt/format.h" 3 4
609: template <typename T, size_t SIZE = inline_buffer_size,
609:           typename Allocator = std::allocator<T>>
609: class basic_memory_buffer final : public detail::buffer<T> {
609:  private:
609:   T store_[SIZE];
609: 
609: 
609:   Allocator alloc_;
609: 
609: 
609:   void deallocate() {
609:     T* data = this->data();
609:     if (data != store_) alloc_.deallocate(data, this->capacity());
609:   }
609: 
609:  protected:
609:   void grow(size_t size) override;
609: 
609:  public:
609:   using value_type = T;
609:   using const_reference = const T&;
609: 
609:   explicit basic_memory_buffer(
609:       const Allocator& alloc = Allocator())
609:       : alloc_(alloc) {
609:     this->set(store_, SIZE);
609:     if (detail::is_constant_evaluated()) detail::fill_n(store_, SIZE, T());
609:   }
609:   ~basic_memory_buffer() { deallocate(); }
609: 
609:  private:
609: 
609:   void move(basic_memory_buffer& other) {
609:     alloc_ = std::move(other.alloc_);
609:     T* data = other.data();
609:     size_t size = other.size(), capacity = other.capacity();
609:     if (data == other.store_) {
609:       this->set(store_, capacity);
609:       detail::copy_str<T>(other.store_, other.store_ + size,
609:                           detail::make_checked(store_, capacity));
609:     } else {
609:       this->set(data, capacity);
609: 
609: 
609:       other.set(other.store_, 0);
609:       other.clear();
609:     }
609:     this->resize(size);
609:   }
609: 
609:  public:
609: 
609: 
609: 
609: 
609: 
609: 
609:   basic_memory_buffer(basic_memory_buffer&& other) noexcept {
609:     move(other);
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   auto operator=(basic_memory_buffer&& other) noexcept -> basic_memory_buffer& {
609:     ::fmt::detail::ignore_unused((this != &other), (""));
609:     deallocate();
609:     move(other);
609:     return *this;
609:   }
609: 
609: 
609:   auto get_allocator() const -> Allocator { return alloc_; }
609: 
609: 
609: 
609: 
609: 
609:   void resize(size_t count) { this->try_resize(count); }
609: 
609: 
609:   void reserve(size_t new_capacity) { this->try_reserve(new_capacity); }
609: 
609: 
609:   using detail::buffer<T>::append;
609:   template <typename ContiguousRange>
609:   void append(const ContiguousRange& range) {
609:     append(range.data(), range.data() + range.size());
609:   }
609: };
609: 
609: template <typename T, size_t SIZE, typename Allocator>
609:  void basic_memory_buffer<T, SIZE, Allocator>::grow(
609:     size_t size) {
609:   detail::abort_fuzzing_if(size > 5000);
609:   const size_t max_size = std::allocator_traits<Allocator>::max_size(alloc_);
609:   size_t old_capacity = this->capacity();
609:   size_t new_capacity = old_capacity + old_capacity / 2;
609:   if (size > new_capacity)
609:     new_capacity = size;
609:   else if (new_capacity > max_size)
609:     new_capacity = size > max_size ? size : max_size;
609:   T* old_data = this->data();
609:   T* new_data =
609:       std::allocator_traits<Allocator>::allocate(alloc_, new_capacity);
609: 
609:   std::uninitialized_copy(old_data, old_data + this->size(),
609:                           detail::make_checked(new_data, new_capacity));
609:   this->set(new_data, new_capacity);
609: 
609: 
609: 
609:   if (old_data != store_) alloc_.deallocate(old_data, old_capacity);
609: }
609: 
609: using memory_buffer = basic_memory_buffer<char>;
609: 
609: templa7:      {
1417:        if (_S_right(__before._M_node) == 0)
1417:   return _Res(0, __before._M_node);
1417:        else
1417:   return _Res(__pos._M_node, __pos._M_node);
1417:      }
1417:    else
1417:      return _M_get_insert_unique_pos(__k);
1417:  }
1417:       else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1417:  {
1417: 
1417:    iterator __after = __pos;
1417:    if (__pos._M_node == _M_rightmost())
1417:      return _Res(0, _M_rightmost());
1417:    else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
1417:      {
1417:        if (_S_right(__pos._M_node) == 0)
1417:   return _Res(0, __pos._M_node);
1417:        else
1417:   return _Res(__after._M_node, __after._M_node);
1417:      }
1417:    else
1417:      return _M_get_insert_unique_pos(__k);
1417:  }
1417:       else
1417: 
1417:  return _Res(__pos._M_node, 0);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417: 
1417:     template<typename _Arg, typename _NodeGen>
1417: 
1417: 
1417: 
1417:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_insert_unique_(const_iterator __position,
1417: 
1417:    _Arg&& __v,
1417: 
1417: 
1417: 
1417:    _NodeGen& __node_gen)
1417:     {
1417:       pair<_Base_ptr, _Base_ptr> __res
1417:  = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v));
1417: 
1417:       if (__res.second)
1417:  return _M_insert_(__res.first, __res.second,
1417:      std::forward<_Arg>(__v),
1417:      __node_gen);
1417:       return iterator(__res.first);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr,
1417:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:       _Compare, _Alloc>::_Base_ptr>
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k)
1417:     {
1417:       iterator __pos = __position._M_const_cast();
1417:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1417: 
1417: 
1417:       if (__pos._M_node == _M_end())
1417:  {
1417:    if (size() > 0
1417:        && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost())))
1417:      return _Res(0, _M_rightmost());
1417:    else
1417:      return _M_get_insert_equal_pos(__k);
1417:  }
1417:       else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1417:  {
1417: 
1417:    iterator __before = __pos;
1417:    if (__pos._M_node == _M_leftmost())
1417:      return _Res(_M_leftmost(), _M_leftmost());
1417:    else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node)))
1417:      {
1417:        if (_S_right(__before._M_node) == 0)
1417:   return _Res(0, __before._M_node);
1417:        else
1417:   return _Res(__pos._M_node, __pos._M_node);
1417:      }
1417:    else
1417:      return _M_get_insert_equal_pos(__k);
1417:  }
1417:       else
1417:  {
1417: 
1417:    iterator __after = __pos;
1417:    if (__pos._M_node == _M_rightmost())
1417:      return _Res(0, _M_rightmost());
1417:    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k))
1417:      {
1417:        if (_S_right(__pos._M_node) == 0)
1417:   return _Res(0, __pos._M_node);
1417:        else
1417:   return _Res(__after._M_node, __after._M_node);
1417:      }
1417:    else
1417:      return _Res(0, 0);
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417: 
1417:     template<typename _Arg, typename _NodeGen>
1417: 
1417: 
1417: 
1417:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_insert_equal_(const_iterator __position,
1417: 
1417:          _Arg&& __v,
1417: 
1417: 
1417: 
1417:          _NodeGen& __node_gen)
1417:       {
1417:  pair<_Base_ptr, _Base_ptr> __res
1417:    = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v));
1417: 
1417:  if (__res.second)
1417:    return _M_insert_(__res.first, __res.second,
1417:        std::forward<_Arg>(__v),
1417:        __node_gen);
1417: 
1417:  return _M_insert_equal_lower(std::forward<_Arg>(__v));
1417:       }
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     auto
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z)
1417:     -> iterator
1417:     {
1417:       bool __insert_left = (__x != 0 || __p == _M_end()
1417:        || _M_impl._M_key_compare(_S_key(__z),
1417:             _S_key(__p)));
1417: 
1417:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1417:         this->_M_impl._M_header);
1417:       ++_M_impl._M_node_count;
1417:       return iterator(__z);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     auto
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_insert_lower_node(_Base_ptr __p, _Link_type __z)
1417:     -> iterator
1417:     {
1417:       bool __insert_left = (__p == _M_end()
1417:        || !_M_impl._M_key_compare(_S_key(__p),
1417:              _S_key(__z)));
1417: 
1417:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1417:         this->_M_impl._M_header);
1417:       ++_M_impl._M_node_count;
1417:       return iterator(__z);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     auto
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_insert_equal_lower_node(_Link_type __z)
1417:     -> iterator
1417:     {
1417:       _Link_type __x = _M_begin();
1417:       _Base_ptr __y = _M_end();
1417:       while (__x != 0)
1417:  {
1417:    __y = __x;
1417:    __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ?
1417:   _S_left(__x) : _S_right(__x);
1417:  }
1417:       return _M_insert_lower_node(__y, __z);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     template<typename... _Args>
1417:       auto
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_emplace_unique(_Args&&... __args)
1417:       -> pair<iterator, bool>
1417:       {
1417:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1417:  auto __res = _M_get_insert_unique_pos(__z._M_key());
1417:  if (__res.second)
1417:    return {__z._M_insert(__res), true};
1417:  return {iterator(__res.first), false};
1417:       }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     template<typename... _Args>
1417:       auto
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_emplace_equal(_Args&&... __args)
1417:       -> iterator
1417:       {
1417:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1417:  auto __res = _M_get_insert_equal_pos(__z._M_key());
1417:  return __z._M_insert(__res);
1417:       }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     template<typename... _Args>
1417:       auto
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args)
1417:       -> iterator
1417:       {
1417:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1417:  auto __res = _M_get_insert_hint_unique_pos(__pos, __z._M_key());
1417:  if (__res.second)
1417:    return __z._M_insert(__res);
1417:  return iterator(__res.first);
1417:       }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     template <typename T, size_t SIZE, typename Allocator>
609: struct is_contiguous<basic_memory_buffer<T, SIZE, Allocator>> : std::true_type {
609: };
609: 
609: namespace detail {
609: 
609: 
609: 
609:  void print(std::FILE*, string_view);
609: }
609: 
609: 
609: 
609: class format_error : public std::runtime_error {
609:  public:
609:   explicit format_error(const char* message) : std::runtime_error(message) {}
609:   explicit format_error(const std::string& message)
609:       : std::runtime_error(message) {}
609:   format_error(const format_error&) = default;
609:   format_error& operator=(const format_error&) = default;
609:   format_error(format_error&&) = default;
609:   format_error& operator=(format_error&&) = default;
609:   ~format_error() noexcept override ;
609: };
609: 
609: namespace detail_exported {
609: # 973 "/usr/include/fmt/format.h" 3 4
609: template <typename Char, size_t N>
609: constexpr auto compile_string_to_view(const Char (&s)[N])
609:     -> basic_string_view<Char> {
609: 
609: 
609:   return {s, N - (std::char_traits<Char>::to_int_type(s[N - 1]) == 0 ? 1 : 0)};
609: }
609: template <typename Char>
609: constexpr auto compile_string_to_view(detail::std_string_view<Char> s)
609:     -> basic_string_view<Char> {
609:   return {s.data(), s.size()};
609: }
609: }
609: 
609: namespace detail {
609: 
609: template <typename T> struct is_integral : std::is_integral<T> {};
609: template <> struct is_integral<int128_opt> : std::true_type {};
609: template <> struct is_integral<uint128_t> : std::true_type {};
609: 
609: template <typename T>
609: using is_signed =
609:     std::integral_constant<bool, std::numeric_limits<T>::is_signed ||
609:                                      std::is_same<T, int128_opt>::value>;
609: 
609: 
609: 
609: template <typename T, enable_if_t<(is_signed<T>::value), int> = 0>
609: constexpr auto is_negative(T value) -> bool {
609:   return value < 0;
609: }
609: template <typename T, enable_if_t<(!is_signed<T>::value), int> = 0>
609: constexpr auto is_negative(T) -> bool {
609:   return false;
609: }
609: 
609: template <typename T>
609: constexpr auto is_supported_floating_point(T) -> bool {
609:   if (std::is_same<T, float>()) return 1;
609:   if (std::is_same<T, double>()) return 1;
609:   if (std::is_same<T, long double>()) return 1;
609:   return true;
609: }
609: 
609: 
609: 
609: template <typename T>
609: using uint32_or_64_or_128_t =
609:     conditional_t<num_bits<T>() <= 32 && !0,
609:                   uint32_t,
609:                   conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>>;
609: template <typename T>
609: using uint64_or_128_t = conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: constexpr const char* digits2(size_t value) {
609: 
609:   return &"0001020304050607080910111213141516171819"
609:          "2021222324252627282930313233343536373839"
609:          "4041424344454647484950515253545556575859"
609:          "6061626364656667686970717273747576777879"
609:          "8081828384858687888990919293949596979899"[value * 2];
609: }
609: 
609: 
609: template <typename Char, typename Sign> constexpr Char sign(Sign s) {
609: 
609:   static_assert(std::is_same<Sign, sign_t>::value, "");
609: 
609:   return static_cast<Char>("\0-+ "[s]);
609: }
609: 
609: template <typename T> constexpr auto count_digits_fallback(T n) -> int {
609:   int count = 1;
609:   for (;;) {
609: 
609: 
609: 
609:     if (n < 10) return count;
609:     if (n < 100) return count + 1;
609:     if (n < 1000) return count + 2;
609:     if (n < 10000) return count + 3;
609:     n /= 10000u;
609:     count += 4;
609:   }
609: }
609: # 1073 "/usr/include/fmt/format.h" 3 4
609: inline auto do_count_digits(uint64_t n) -> int {
609: 
609: 
609: 
609: 
609:   static constexpr uint8_t bsr2log10[] = {
609:       1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,
609:       6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10,
609:       10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15,
609:       15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20};
609:   auto t = bsr2log10[__builtin_clzll(n | 1) ^ 63];
609:   static constexpr const uint64_t zero_or_powers_of_10[] = {
609:       0, 0, 1U * 10, (1U)*100, (1U)*1000, (1U)*10000, (1U)*100000, (1U)*1000000, (1U)*10000000, (1U)*100000000, (1U)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
609:       10000000000000000000ULL};
609:   return t - (n < zero_or_powers_of_10[t]);
609: }
609: 
609: 
609: 
609: 
609:  inline auto count_digits(uint64_t n) -> int {
609: 
609:   if (!is_constant_evaluated()) {
609:     return do_count_digits(n);
609:   }
609: 
609:   return count_digits_fallback(n);
609: }
609: 
609: 
609: template <int BITS, typename UInt>
609: constexpr auto count_digits(UInt n) -> int {
609: 
609:   if (!is_constant_evaluated() && num_bits<UInt>() == 32)
609:     return (__builtin_clz(static_cast<uint32_t>(n) | 1) ^ 31) / BITS + 1;
609: 
609: 
609:   return [](UInt m) {
609:     int num_digits = 0;
609:     do {
609:       ++num_digits;
609:     } while ((m >>= BITS) != 0);
609:     return num_digits;
609:   }(n);
609: }
609: 
609: 
609: 
609: 
609: inline __attribute__((always_inline)) auto do_count_digits(uint32_t n) -> int {
609: 
609: 
609: 
609:   static constexpr uint64_t table[] = {
609:       (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0),
609:       (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10),
609:       (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100),
609:       (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000),
609:       (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000),
609:       (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000),
609:       (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000),
609:       (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000),
609:       (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000),
609:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000),
609:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000)
609:   };
609:   auto inc = table[__builtin_clz(n | 1) ^ 31];
609:   return static_cast<int>((n + inc) >> 32);
609: }
609: 
609: 
609: 
609:  inline auto count_digits(uint32_t n) -> int {
609: 
609:   if (!is_constant_evaluated()) {
609:     return do_count_digits(n);
609:   }
609: 
609:   return count_digits_fallback(n);
609: }
609: 
609: template <typename Int> constexpr auto digits10() noexcept -> int {
609:   return std::numeric_limits<Int>::digits10;
609: }
609: template <> constexpr auto digits10<int128_opt>() noexcept -> int { return 38; }
609: template <> constexpr auto digits10<uint128_t>() noexcept -> int { return 38; }
609: 
609: template <typename Char> struct thousands_sep_result {
609:   std::string grouping;
609:   Char thousands_sep;
609: };
609: 
609: template <typename Char>
609:  auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result<Char>;
609: template <typename Char>
609: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<Char> {
609:   auto result = thousands_sep_impl<char>(loc);
609:   return {result.grouping, Char(result.thousandste<typename... _Args>
1417:       auto
1417:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:       _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args)
1417:       -> iterator
1417:       {
1417:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1417:  auto __res = _M_get_insert_hint_equal_pos(__pos, __z._M_key());
1417:  if (__res.second)
1417:    return __z._M_insert(__res);
1417:  return __z._M_insert_equal_lower();
1417:       }
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     void
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_erase_aux(const_iterator __position)
1417:     {
1417:       _Link_type __y =
1417:  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
1417:     (const_cast<_Base_ptr>(__position._M_node),
1417:      this->_M_impl._M_header));
1417:       _M_drop_node(__y);
1417:       --_M_impl._M_node_count;
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     void
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     _M_erase_aux(const_iterator __first, const_iterator __last)
1417:     {
1417:       if (__first == begin() && __last == end())
1417:  clear();
1417:       else
1417:  while (__first != __last)
1417:    _M_erase_aux(__first++);
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     erase(const _Key& __x)
1417:     {
1417:       pair<iterator, iterator> __p = equal_range(__x);
1417:       const size_type __old_size = size();
1417:       _M_erase_aux(__p.first, __p.second);
1417:       return __old_size - size();
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:         _Compare, _Alloc>::iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     find(const _Key& __k)
1417:     {
1417:       iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1417:       return (__j == end()
1417:        || _M_impl._M_key_compare(__k,
1417:      _S_key(__j._M_node))) ? end() : __j;
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1417:         _Compare, _Alloc>::const_iterator
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     find(const _Key& __k) const
1417:     {
1417:       const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1417:       return (__j == end()
1417:        || _M_impl._M_key_compare(__k,
1417:      _S_key(__j._M_node))) ? end() : __j;
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1417:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1417:     count(const _Key& __k) const
1417:     {
1417:       pair<const_iterator, const_iterator> __p = equal_range(__k);
1417:       const size_type __n = std::distance(__p.first, __p.second);
1417:       return __n;
1417:     }
1417: 
1417:   __attribute__ ((__pure__)) unsigned int
1417:   _Rb_tree_black_count(const _Rb_tree_node_base* __node,
1417:          const _Rb_tree_node_base* __root) throw ();
1417: 
1417:   template<typename _Key, typename _Val, typename _KeyOfValue,
1417:     typename _Compare, typename _Alloc>
1417:     bool
1417:     _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
1417:     {
1417:       if (_M_impl._M_node_count == 0 || begin() == end())
1417:  return _M_impl._M_node_count == 0 && begin() == end()
1417:         && this->_M_impl._M_header._M_left == _M_end()
1417:         && this->_M_impl._M_header._M_right == _M_end();
1417: 
1417:       unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
1417:       for (const_iterator __it = begin(); __it != end(); ++__it)
1417:  {
1417:    _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
1417:    _Const_Link_type __L = _S_left(__x);
1417:    _Const_Link_type __R = _S_right(__x);
1417: 
1417:    if (__x->_M_color == _S_red)
1417:      if ((__L && __L->_M_color == _S_red)
1417:   || (__R && __R->_M_color == _S_red))
1417:        return false;
1417: 
1417:    if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
1417:      return false;
1417:    if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
1417:      return false;
1417: 
1417:    if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len)
1417:      return false;
1417:  }
1417: 
1417:       if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
1417:  return false;
1417:       if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
1417:  return false;
1417:       return true;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Sel, typename _Cmp1,
1417:     typename _Alloc, typename _Cmp2>
1417:     struct _Rb_tree_merge_helper<_Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>,
1417:      _Cmp2>
1417:     {
1417:     private:
1417:       friend class _Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>;
1417: 
1417:       static auto&
1417:       _S_get_impl(_Rb_tree<_Key, _Val, _Sel, _Cmp2, _Alloc>& __tree)
1417:       { return __tree._M_impl; }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/map" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_map.h" 1 3
1417: # 66 "/usr/include/c++/12/bits/stl_map.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     class multimap;
1417: # 98 "/usr/include/c++/12/bits/stl_map.h" 3
1417:   template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
1417:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1417:     class map
1417:     {
1417:     public:
1417:       typedef _Key key_type;
1417:       typedef _Tp mapped_type;
1417:       typedef std::pair<const _Key, _Tp> value_type;
1417:       typedef _Compare key_compare;
1417:       typedef _Alloc allocator_type;
1417: 
1417:     private:
1417: # 123 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1417:    "std::map must have the same value_type as its allocator");
1417: 
1417: 
1417: 
1417:     public:
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:       class value_compare
1417:       : public std::binary_function<value_type, value_type, bool>
1417:       {
1417:  friend class map<_Key, _Tp, _Compare, _Alloc>;
1417:       protected:
1417:  _Compare comp;
1417: 
1417:  value_compare(_Compare __c)
1417:  : comp(__c) { }
1417: 
1417:       public:
1417:  bool operator()(const value_type& __x, const value_type& __y) const
1417:  { return comp(__x.first, __y.first); }
1417:       };
1417: #pragma GCC diagnostic pop
1417: 
1417:     private:
1417: 
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<value_type>::other _Pair_alloc_type;
1417: 
1417:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1417:          key_compare, _Pair_alloc_type> _Rep_type;
1417: 
1417: 
1417:       _Rep_type _M_t;
1417: 
1417:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
1417: 
1417: 
1417:       template<typename _Up, typename _Vp = remove_reference_t<_Up>>
1417:  static constexpr bool __usable_key
1417:    = __or_v<is_same<const _Vp, const _Key>,
1417:      __and_<is_scalar<_Vp>, is_scalar<_Key>>>;
1417: 
1417: 
1417:     public:
1417: 
1417: 
1417:       typedef_sep)};
609: }
609: template <>
609: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<wchar_t> {
609:   return thousands_sep_impl<wchar_t>(loc);
609: }
609: 
609: template <typename Char>
609:  auto decimal_point_impl(locale_ref loc) -> Char;
609: template <typename Char> inline auto decimal_point(locale_ref loc) -> Char {
609:   return Char(decimal_point_impl<char>(loc));
609: }
609: template <> inline auto decimal_point(locale_ref loc) -> wchar_t {
609:   return decimal_point_impl<wchar_t>(loc);
609: }
609: 
609: 
609: template <typename Char> auto equal2(const Char* lhs, const char* rhs) -> bool {
609:   return lhs[0] == Char(rhs[0]) && lhs[1] == Char(rhs[1]);
609: }
609: inline auto equal2(const char* lhs, const char* rhs) -> bool {
609:   return memcmp(lhs, rhs, 2) == 0;
609: }
609: 
609: 
609: template <typename Char>
609:  inline __attribute__((always_inline)) void copy2(Char* dst, const char* src) {
609:   if (!is_constant_evaluated() && sizeof(Char) == sizeof(char)) {
609:     memcpy(dst, src, 2);
609:     return;
609:   }
609:   *dst++ = static_cast<Char>(*src++);
609:   *dst = static_cast<Char>(*src);
609: }
609: 
609: template <typename Iterator> struct format_decimal_result {
609:   Iterator begin;
609:   Iterator end;
609: };
609: 
609: 
609: 
609: 
609: template <typename Char, typename UInt>
609:  auto format_decimal(Char* out, UInt value, int size)
609:     -> format_decimal_result<Char*> {
609:   ::fmt::detail::ignore_unused((size >= count_digits(value)), ("invalid digit count"));
609:   out += size;
609:   Char* end = out;
609:   while (value >= 100) {
609: 
609: 
609: 
609:     out -= 2;
609:     copy2(out, digits2(static_cast<size_t>(value % 100)));
609:     value /= 100;
609:   }
609:   if (value < 10) {
609:     *--out = static_cast<Char>('0' + value);
609:     return {out, end};
609:   }
609:   out -= 2;
609:   copy2(out, digits2(static_cast<size_t>(value)));
609:   return {out, end};
609: }
609: 
609: template <typename Char, typename UInt, typename Iterator,
609:           enable_if_t<(!std::is_pointer<remove_cvref_t<Iterator>>::value), int> = 0>
609: constexpr inline auto format_decimal(Iterator out, UInt value, int size)
609:     -> format_decimal_result<Iterator> {
609: 
609:   Char buffer[digits10<UInt>() + 1];
609:   auto end = format_decimal(buffer, value, size).end;
609:   return {out, detail::copy_str_noinline<Char>(buffer, end, out)};
609: }
609: 
609: template <unsigned BASE_BITS, typename Char, typename UInt>
609: constexpr auto format_uint(Char* buffer, UInt value, int num_digits,
609:                                bool upper = false) -> Char* {
609:   buffer += num_digits;
609:   Char* end = buffer;
609:   do {
609:     const char* digits = upper ? "0123456789ABCDEF" : "0123456789abcdef";
609:     unsigned digit = static_cast<unsigned>(value & ((1 << BASE_BITS) - 1));
609:     *--buffer = static_cast<Char>(BASE_BITS < 4 ? static_cast<char>('0' + digit)
609:                                                 : digits[digit]);
609:   } while ((value >>= BASE_BITS) != 0);
609:   return end;
609: }
609: 
609: template <unsigned BASE_BITS, typename Char, typename It, typename UInt>
609: inline auto format_uint(It out, UInt value, int num_digits, bool upper = false)
609:     -> It {
609:   if (auto ptr = to_pointer<Char>(out, to_unsigned(num_digits))) {
609:     format_uint<BASE_BITS>(ptr, value, num_digits, upper);
609:     return out;
609:   }
609: 
609:   char buffer[num_bits<UInt>() / BASE_BITS + 1];
609:   format_uint<BASE_BITS>(buffer, value, num_digits, upper);
609:   return detail::copy_str_noinline<Char>(buffer, buffer + num_digits, out);
609: }
609: 
609: 
609: class utf8_to_utf16 {
609:  private:
609:   basic_memory_buffer<wchar_t> buffer_;
609: 
609:  public:
609:   explicit utf8_to_utf16(string_view s);
609:   operator basic_string_view<wchar_t>() const { return {&buffer_[0], size()}; }
609:   auto size() const -> size_t { return buffer_.size() - 1; }
609:   auto c_str() const -> const wchar_t* { return &buffer_[0]; }
609:   auto str() const -> std::wstring { return {&buffer_[0], size()}; }
609: };
609: 
609: namespace dragonbox {
609: 
609: 
609: template <typename T, typename Enable = void> struct float_info;
609: 
609: template <> struct float_info<float> {
609:   using carrier_uint = uint32_t;
609:   static const int exponent_bits = 8;
609:   static const int kappa = 1;
609:   static const int big_divisor = 100;
609:   static const int small_divisor = 10;
609:   static const int min_k = -31;
609:   static const int max_k = 46;
609:   static const int shorter_interval_tie_lower_threshold = -35;
609:   static const int shorter_interval_tie_upper_threshold = -35;
609: };
609: 
609: template <> struct float_info<double> {
609:   using carrier_uint = uint64_t;
609:   static const int exponent_bits = 11;
609:   static const int kappa = 2;
609:   static const int big_divisor = 1000;
609:   static const int small_divisor = 100;
609:   static const int min_k = -292;
609:   static const int max_k = 326;
609:   static const int shorter_interval_tie_lower_threshold = -77;
609:   static const int shorter_interval_tie_upper_threshold = -77;
609: };
609: 
609: 
609: template <typename T>
609: struct float_info<T, enable_if_t<std::numeric_limits<T>::digits == 64 ||
609:                                  std::numeric_limits<T>::digits == 113 ||
609:                                  is_float128<T>::value>> {
609:   using carrier_uint = detail::uint128_t;
609:   static const int exponent_bits = 15;
609: };
609: 
609: 
609: template <typename T>
609: struct float_info<T, enable_if_t<is_double_double<T>::value>> {
609:   using carrier_uint = detail::uint128_t;
609: };
609: 
609: template <typename T> struct decimal_fp {
609:   using significand_type = typename float_info<T>::carrier_uint;
609:   significand_type significand;
609:   int exponent;
609: };
609: 
609: template <typename T> auto to_decimal(T x) noexcept -> decimal_fp<T>;
609: }
609: 
609: 
609: template <typename Float> constexpr bool has_implicit_bit() {
609: 
609:   return std::numeric_limits<Float>::digits != 64;
609: }
609: 
609: 
609: 
609: template <typename Float> constexpr int num_significand_bits() {
609: 
609:   return is_float128<Float>() ? 112
609:                               : (std::numeric_limits<Float>::digits -
609:                                  (has_implicit_bit<Float>() ? 1 : 0));
609: }
609: 
609: template <typename Float>
609: constexpr auto exponent_mask() ->
609:     typename dragonbox::float_info<Float>::carrier_uint {
609:   using uint = typename dragonbox::float_info<Float>::carrier_uint;
609:   return ((uint(1) << dragonbox::float_info<Float>::exponent_bits) - 1)
609:          << num_significand_bits<Float>();
609: }
609: template <typename Float> constexpr auto exponent_bias() -> int {
609: 
609:   return is_float128<Float>() ? 16383
609:                               : std::numeric_limits<Float>::max_exponent - 1;
609: }
609: 
609: 
609: template <typename Char, typename It>
609: constexpr auto write_exponent(int exp, It it) -> It {
609:   ::fmt::detail::ignore_unused((-10000 < exp && exp < 10000), ("exponent out of range"));
609:   if (exp < 0) {
609:     *it++ = static_cast<Char>('-');
609:     exp = -exp;
609:   } else {
609:     *it++ = static_cast<Char>('+');
609:   }
609:   if (exp >= 100) {
609:     const char* top = digits2(to_unsigned(exp / 100));
609:     if (exp >= 1000) *it++ = static_cast<Char>(top[0]);
609:     *it++ = static_cast<Char>(top[1]);
609:     exp %= 100;
609:   }
609:   const char* d = digits2(to_unsigned(exp));
609:   *it++ = static_cast<Char>(d[0]);
609:   *it++ = static_cast<Char>(d[1]);
609:   return it;
609: }
609: 
609: 
609: template <typename F> struct basic_fp {
609:   F f;
609:   int e;
609: 
609:   static constexpr const int num_significand_bits =
609:       static_cast<int>(sizeof(F) * num_bits<unsigned char>());
609: 
609:   constexpr basic_fp() : f(0), e(0) {}
609:   constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {}
609: 
609: 
609:   template <typename Float> constexpr basic_fp(Float n) { assign(n); }
609: 
609: 
609:   template <typename F typename _Alloc_traits::pointer pointer;
1417:       typedef typename _Alloc_traits::const_pointer const_pointer;
1417:       typedef typename _Alloc_traits::reference reference;
1417:       typedef typename _Alloc_traits::const_reference const_reference;
1417:       typedef typename _Rep_type::iterator iterator;
1417:       typedef typename _Rep_type::const_iterator const_iterator;
1417:       typedef typename _Rep_type::size_type size_type;
1417:       typedef typename _Rep_type::difference_type difference_type;
1417:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1417:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1417: 
1417: 
1417:       using node_type = typename _Rep_type::node_type;
1417:       using insert_return_type = typename _Rep_type::insert_return_type;
1417: # 195 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       map() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       map(const _Compare& __comp,
1417:    const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1417: # 217 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       map(const map&) = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       map(map&&) = default;
1417: # 238 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       map(initializer_list<value_type> __l,
1417:    const _Compare& __comp = _Compare(),
1417:    const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Pair_alloc_type(__a))
1417:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       explicit
1417:       map(const allocator_type& __a)
1417:       : _M_t(_Pair_alloc_type(__a)) { }
1417: 
1417: 
1417:       map(const map& __m, const __type_identity_t<allocator_type>& __a)
1417:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1417: 
1417: 
1417:       map(map&& __m, const __type_identity_t<allocator_type>& __a)
1417:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1417:         && _Alloc_traits::_S_always_equal())
1417:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1417: 
1417: 
1417:       map(initializer_list<value_type> __l, const allocator_type& __a)
1417:       : _M_t(_Pair_alloc_type(__a))
1417:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417:  map(_InputIterator __first, _InputIterator __last,
1417:      const allocator_type& __a)
1417:  : _M_t(_Pair_alloc_type(__a))
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: # 282 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template<typename _InputIterator>
1417:  map(_InputIterator __first, _InputIterator __last)
1417:  : _M_t()
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: # 299 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template<typename _InputIterator>
1417:  map(_InputIterator __first, _InputIterator __last,
1417:      const _Compare& __comp,
1417:      const allocator_type& __a = allocator_type())
1417:  : _M_t(__comp, _Pair_alloc_type(__a))
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~map() = default;
1417: # 328 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       map&
1417:       operator=(const map&) = default;
1417: 
1417: 
1417:       map&
1417:       operator=(map&&) = default;
1417: # 346 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       map&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  _M_t._M_assign_unique(__l.begin(), __l.end());
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_t.get_allocator()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       begin() noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       end() noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       end() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       crend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _M_t.empty(); }
1417: 
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_t.size(); }
1417: 
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _M_t.max_size(); }
1417: # 501 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       mapped_type&
1417:       operator[](const key_type& __k)
1417:       {
1417: 
1417: 
1417: 
1417:  iterator __i = lower_bound(__k);
1417: 
1417:  if (__i == end() || key_comp()(__k, (*__i).first))
1417: 
1417:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1417:          std::tuple<const key_type&>(__k),
1417:          std::tuple<>());
1417: 
1417: 
1417: 
1417:  return (*__i).second;
1417:       }
1417: 
1417: 
1417:       mapped_type&
1417:       operator[](key_type&& __k)
1417:       {
1417: 
1417: 
1417: 
1417:  iterator __i = lower_bound(__k);
1417: 
1417:  if (__i == end() || key_comp()(__k, (*__i).first))
1417:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1417:      std::forward_as_tuple(std::move(__k)),
1417:      std::tuple<>());
1417:  return (*__i).second;
1417:       }
1417: # 546 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       mapped_type&
1417:       at(const key_type& __k)
1417:       {
1417:  iterator __i = lower_bound(__k);
1417:  if (__i == end() || key_comp()(__k, (*__i).first))
1417:    __throw_out_of_range(("map::at"));
1417:  return (*__i).second;
1417:       }
1417: 
1417:       const mapped_type&
1417:       at(const key_type& __k) const
1417:       {
1417:  const_iterator __i = lower_bound(__k);
1417:  if (__i == end() || key_comp()(__k, (*__i).first))
1417:    __throw_out_of_range(("map::at"));
1417:  return (*__i).second;
1417:       }
1417: # 584 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template<typename... _Args>
1417:  std::pair<iterator, bool>
1417:  emplace(_Args&&... __args)
1417:  {
1417: 
1417:    if constexpr (sizeof...(_Args) == 2)
1417:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1417:        {
1417:   auto&& [__a, __v] = pair<_Args&...>(__args...);
1417:   if constexpr (__usable_key<decltype(__a)>)
1417:     {
1417:       const key_type& __k = __a;
1417:       iterator __i = lower_bound(__k);
1417:       if (__i == end() || key_comp()(__k, (*__i).first))
1417:         {
1417:    __i = emplace_hint(__i, std::forward<_Args>(__args)...);
1417:    return {__i, true};
1417:         }
1417:       return {__i, false};
1417:     }
1417:        }
1417: 
1417:    returloat, enable_if_t<(!is_double_double<Float>::value), int> = 0>
609:   constexpr auto assign(Float n) -> bool {
609:     static_assert(std::numeric_limits<Float>::digits <= 113, "unsupported FP");
609: 
609:     using carrier_uint = typename dragonbox::float_info<Float>::carrier_uint;
609:     const auto num_float_significand_bits =
609:         detail::num_significand_bits<Float>();
609:     const auto implicit_bit = carrier_uint(1) << num_float_significand_bits;
609:     const auto significand_mask = implicit_bit - 1;
609:     auto u = bit_cast<carrier_uint>(n);
609:     f = static_cast<F>(u & significand_mask);
609:     auto biased_e = static_cast<int>((u & exponent_mask<Float>()) >>
609:                                      num_float_significand_bits);
609: 
609: 
609:     auto is_predecessor_closer = f == 0 && biased_e > 1;
609:     if (biased_e == 0)
609:       biased_e = 1;
609:     else if (has_implicit_bit<Float>())
609:       f += static_cast<F>(implicit_bit);
609:     e = biased_e - exponent_bias<Float>() - num_float_significand_bits;
609:     if (!has_implicit_bit<Float>()) ++e;
609:     return is_predecessor_closer;
609:   }
609: 
609:   template <typename Float, enable_if_t<(is_double_double<Float>::value), int> = 0>
609:   constexpr auto assign(Float n) -> bool {
609:     static_assert(std::numeric_limits<double>::is_iec559, "unsupported FP");
609:     return assign(static_cast<double>(n));
609:   }
609: };
609: 
609: using fp = basic_fp<unsigned long long>;
609: 
609: 
609: template <int SHIFT = 0, typename F>
609: constexpr basic_fp<F> normalize(basic_fp<F> value) {
609: 
609:   const auto implicit_bit = F(1) << num_significand_bits<double>();
609:   const auto shifted_implicit_bit = implicit_bit << SHIFT;
609:   while ((value.f & shifted_implicit_bit) == 0) {
609:     value.f <<= 1;
609:     --value.e;
609:   }
609: 
609:   const auto offset = basic_fp<F>::num_significand_bits -
609:                       num_significand_bits<double>() - SHIFT - 1;
609:   value.f <<= offset;
609:   value.e -= offset;
609:   return value;
609: }
609: 
609: 
609: constexpr inline uint64_t multiply(uint64_t lhs, uint64_t rhs) {
609: 
609: 
609: 
609: 
609: 
609: 
609:   uint64_t mask = (1ULL << 32) - 1;
609:   uint64_t a = lhs >> 32, b = lhs & mask;
609:   uint64_t c = rhs >> 32, d = rhs & mask;
609:   uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d;
609: 
609:   uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31);
609:   return ac + (ad >> 32) + (bc >> 32) + (mid >> 32);
609: 
609: }
609: 
609: constexpr inline fp operator*(fp x, fp y) {
609:   return {multiply(x.f, y.f), x.e + y.e + 64};
609: }
609: 
609: template <typename T = void> struct basic_data {
609: 
609: 
609:   static constexpr uint64_t pow10_significands[87] = {
609:       0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76,
609:       0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df,
609:       0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c,
609:       0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5,
609:       0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57,
609:       0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7,
609:       0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e,
609:       0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996,
609:       0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126,
609:       0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053,
609:       0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f,
609:       0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b,
609:       0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06,
609:       0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb,
609:       0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000,
609:       0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984,
609:       0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068,
609:       0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8,
609:       0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758,
609:       0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85,
609:       0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d,
609:       0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25,
609:       0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2,
609:       0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a,
609:       0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410,
609:       0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129,
609:       0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85,
609:       0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841,
609:       0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b,
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   static constexpr int16_t pow10_exponents[87] = {
609:       -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954,
609:       -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661,
609:       -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369,
609:       -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77,
609:       -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216,
609:       242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508,
609:       534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800,
609:       827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066};
609: 
609: 
609: 
609: 
609:   static constexpr uint64_t power_of_10_64[20] = {
609:       1, 1ULL * 10, (1ULL)*100, (1ULL)*1000, (1ULL)*10000, (1ULL)*100000, (1ULL)*1000000, (1ULL)*10000000, (1ULL)*100000000, (1ULL)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
609:       10000000000000000000ULL};
609: };
609: # 1544 "/usr/include/fmt/format.h" 3 4
609: struct data : basic_data<> {};
609: 
609: 
609: 
609: constexpr inline fp get_cached_power(int min_exponent,
609:                                          int& pow10_exponent) {
609:   const int shift = 32;
609: 
609:   const int64_t significand = 0x4d104d427de7fbcc;
609:   int index = static_cast<int>(
609:       ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) +
609:        ((int64_t(1) << shift) - 1))
609:       >> 32
609:   );
609: 
609:   const int first_dec_exp = -348;
609: 
609:   const int dec_exp_step = 8;
609:   index = (index - first_dec_exp - 1) / dec_exp_step + 1;
609:   pow10_exponent = first_dec_exp + index * dec_exp_step;
609: 
609: 
609:   return {*(data::pow10_significands + index),
609:           *(data::pow10_exponents + index)};
609: }
609: # 1578 "/usr/include/fmt/format.h" 3 4
609: template <typename T>
609: auto snprintf_float(T value, int precision, float_specs specs,
609:                     buffer<char>& buf) -> int {
609: 
609:   ::fmt::detail::ignore_unused((buf.capacity() > buf.size()), ("empty buffer"));
609:   ::fmt::detail::ignore_unused((specs.format == float_format::hex), (""));
609:   static_assert(!std::is_same<T, float>::value, "");
609: 
609: 
609:   char format[7];
609:   char* format_ptr = format;
609:   *format_ptr++ = '%';
609:   if (specs.showpoint) *format_ptr++ = '#';
609:   if (precision >= 0) {
609:     *format_ptr++ = '.';
609:     *format_ptr++ = '*';
609:   }
609:   if (std::is_same<T, long double>()) *format_ptr++ = 'L';
609:   *format_ptr++ = specs.upper ? 'A' : 'a';
609:   *format_ptr = '\0';
609: 
609: 
609:   auto offset = buf.size();
609:   for (;;) {
609:     auto begin = buf.data() + offset;
609:     auto capacity = buf.capacity() - offset;
609:     abort_fuzzing_if(precision > 100000);
609: 
609: 
609:     int (*snprintf_ptr)(char*, size_t, const char*, ...) = snprintf;
609:     int result = precision >= 0
609:                      ? snprintf_ptr(begin, capacity, format, precision, value)
609:                      : snprintf_ptr(begin, capacity, format, value);
609:     if (result < 0) {
609: 
609:n _M_t._M_emplace_unique(std::forward<_Args>(__args)...);
1417:  }
1417: # 634 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace_hint(const_iterator __pos, _Args&&... __args)
1417:  {
1417:    return _M_t._M_emplace_hint_unique(__pos,
1417:           std::forward<_Args>(__args)...);
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1417:  return _M_t.extract(__pos);
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const key_type& __x)
1417:       { return _M_t.extract(__x); }
1417: 
1417: 
1417:       insert_return_type
1417:       insert(node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1417: 
1417:       template<typename, typename>
1417:  friend struct std::_Rb_tree_merge_helper;
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1417:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1417:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: # 719 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template <typename... _Args>
1417:  pair<iterator, bool>
1417:  try_emplace(const key_type& __k, _Args&&... __args)
1417:  {
1417:    iterator __i = lower_bound(__k);
1417:    if (__i == end() || key_comp()(__k, (*__i).first))
1417:      {
1417:        __i = emplace_hint(__i, std::piecewise_construct,
1417:      std::forward_as_tuple(__k),
1417:      std::forward_as_tuple(
1417:        std::forward<_Args>(__args)...));
1417:        return {__i, true};
1417:      }
1417:    return {__i, false};
1417:  }
1417: 
1417: 
1417:       template <typename... _Args>
1417:  pair<iterator, bool>
1417:  try_emplace(key_type&& __k, _Args&&... __args)
1417:  {
1417:    iterator __i = lower_bound(__k);
1417:    if (__i == end() || key_comp()(__k, (*__i).first))
1417:      {
1417:        __i = emplace_hint(__i, std::piecewise_construct,
1417:      std::forward_as_tuple(std::move(__k)),
1417:      std::forward_as_tuple(
1417:        std::forward<_Args>(__args)...));
1417:        return {__i, true};
1417:      }
1417:    return {__i, false};
1417:  }
1417: # 779 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template <typename... _Args>
1417:  iterator
1417:  try_emplace(const_iterator __hint, const key_type& __k,
1417:       _Args&&... __args)
1417:  {
1417:    iterator __i;
1417:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1417:    if (__true_hint.second)
1417:      __i = emplace_hint(iterator(__true_hint.second),
1417:           std::piecewise_construct,
1417:           std::forward_as_tuple(__k),
1417:           std::forward_as_tuple(
1417:      std::forward<_Args>(__args)...));
1417:    else
1417:      __i = iterator(__true_hint.first);
1417:    return __i;
1417:  }
1417: 
1417: 
1417:       template <typename... _Args>
1417:  iterator
1417:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1417:  {
1417:    iterator __i;
1417:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1417:    if (__true_hint.second)
1417:      __i = emplace_hint(iterator(__true_hint.second),
1417:           std::piecewise_construct,
1417:           std::forward_as_tuple(std::move(__k)),
1417:           std::forward_as_tuple(
1417:      std::forward<_Args>(__args)...));
1417:    else
1417:      __i = iterator(__true_hint.first);
1417:    return __i;
1417:  }
1417: # 832 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       std::pair<iterator, bool>
1417:       insert(const value_type& __x)
1417:       { return _M_t._M_insert_unique(__x); }
1417: 
1417: 
1417: 
1417: 
1417:       std::pair<iterator, bool>
1417:       insert(value_type&& __x)
1417:       { return _M_t._M_insert_unique(std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair>::value,
1417:         pair<iterator, bool>>
1417:  insert(_Pair&& __x)
1417:  {
1417: 
1417:    using _P2 = remove_reference_t<_Pair>;
1417:    if constexpr (__is_pair<_P2>)
1417:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1417:        if constexpr (__usable_key<typename _P2::first_type>)
1417:   {
1417:     const key_type& __k = __x.first;
1417:     iterator __i = lower_bound(__k);
1417:     if (__i == end() || key_comp()(__k, (*__i).first))
1417:       {
1417:         __i = emplace_hint(__i, std::forward<_Pair>(__x));
1417:         return {__i, true};
1417:       }
1417:     return {__i, false};
1417:   }
1417: 
1417:    return _M_t._M_emplace_unique(std::forward<_Pair>(__x));
1417:  }
1417: # 877 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       void
1417:       insert(std::initializer_list<value_type> __list)
1417:       { insert(__list.begin(), __list.end()); }
1417: # 906 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       iterator
1417: 
1417:       insert(const_iterator __position, const value_type& __x)
1417: 
1417: 
1417: 
1417:       { return _M_t._M_insert_unique_(__position, __x); }
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __position, value_type&& __x)
1417:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1417:  insert(const_iterator __position, _Pair&& __x)
1417:  {
1417:    return _M_t._M_emplace_hint_unique(__position,
1417:           std::forward<_Pair>(__x));
1417:  }
1417: # 939 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  insert(_InputIterator __first, _InputIterator __last)
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: # 964 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template <typename _Obj>
1417:  pair<iterator, bool>
1417:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1417:  {
1417:    iterator __i = lower_bound(__k);
1417:    if (__i == end() || key_comp()(__k, (*__i).first))
1417:      {
1417:        __i = emplace_hint(__i, std::piecewise_construct,
1417:      std::forward_as_tuple(__k),
1417:      std::forward_as_tuple(
1417:        std::forward<_Obj>(__obj)));
1417:        return {__i, true};
1417:      }
1417:    (*__i).second = std::forward<_Obj>(__obj);
1417:    return {__i, false};
1417:  }
1417: 
1417: 
1417:       template <typename _Obj>
1417:  pair<iterator, bool>
1417:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1417:  {
1417:    iterator __i = lower_bound(__k);
1417:    if (__i == end() || key_comp()(__k, (*__i).first))
1417:      {
1417:        __i = emplace_hint(__i, std::piecewise_construct,
1417:      std::forward_as_tuple(std::move(__k)),
1417:      std::forward_as_tuple(
1417:        std::forward<_Obj>(__obj)));
1417:        return {__i, true};
1417:      }
1417:    (*__i).second = std::forward<_Obj>(__obj);
1417:    return {__i, false};
1417:  }
1417: # 1019 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       template <typename _Obj>
1417:  iterator
1417:  insert_or_assign(const_iterator __hint,
1417:     const key_type& __k, _Obj&& __obj)
1417:  {
1417:    iterator __i;
1417:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1417:    if (__tru       buf.try_reserve(buf.capacity() + 1);
609:       continue;
609:     }
609:     auto size = to_unsigned(result);
609: 
609:     if (size < capacity) {
609:       buf.try_resize(size + offset);
609:       return 0;
609:     }
609:     buf.try_reserve(size + offset + 1);
609:   }
609: }
609: 
609: template <typename T>
609: using convert_float_result =
609:     conditional_t<std::is_same<T, float>::value || sizeof(T) == sizeof(double),
609:                   double, T>;
609: 
609: template <typename T>
609: constexpr auto convert_float(T value) -> convert_float_result<T> {
609:   return static_cast<convert_float_result<T>>(value);
609: }
609: 
609: template <typename OutputIt, typename Char>
609: __attribute__((noinline)) constexpr auto fill(OutputIt it, size_t n,
609:                                      const fill_t<Char>& fill) -> OutputIt {
609:   auto fill_size = fill.size();
609:   if (fill_size == 1) return detail::fill_n(it, n, fill[0]);
609:   auto data = fill.data();
609:   for (size_t i = 0; i < n; ++i)
609:     it = copy_str<Char>(data, data + fill_size, it);
609:   return it;
609: }
609: 
609: 
609: 
609: 
609: template <align::type align = align::left, typename OutputIt, typename Char,
609:           typename F>
609: constexpr auto write_padded(OutputIt out,
609:                                 const basic_format_specs<Char>& specs,
609:                                 size_t size, size_t width, F&& f) -> OutputIt {
609:   static_assert(align == align::left || align == align::right, "");
609:   unsigned spec_width = to_unsigned(specs.width);
609:   size_t padding = spec_width > width ? spec_width - width : 0;
609: 
609: 
609:   auto* shifts = align == align::left ? "\x1f\x1f\x00\x01" : "\x00\x1f\x00\x01";
609:   size_t left_padding = padding >> shifts[specs.align];
609:   size_t right_padding = padding - left_padding;
609:   auto it = reserve(out, size + padding * specs.fill.size());
609:   if (left_padding != 0) it = fill(it, left_padding, specs.fill);
609:   it = f(it);
609:   if (right_padding != 0) it = fill(it, right_padding, specs.fill);
609:   return base_iterator(out, it);
609: }
609: 
609: template <align::type align = align::left, typename OutputIt, typename Char,
609:           typename F>
609: constexpr auto write_padded(OutputIt out, const basic_format_specs<Char>& specs,
609:                             size_t size, F&& f) -> OutputIt {
609:   return write_padded<align>(out, specs, size, size, f);
609: }
609: 
609: template <align::type align = align::left, typename Char, typename OutputIt>
609: constexpr auto write_bytes(OutputIt out, string_view bytes,
609:                                const basic_format_specs<Char>& specs)
609:     -> OutputIt {
609:   return write_padded<align>(
609:       out, specs, bytes.size(), [bytes](reserve_iterator<OutputIt> it) {
609:         const char* data = bytes.data();
609:         return copy_str<Char>(data, data + bytes.size(), it);
609:       });
609: }
609: 
609: template <typename Char, typename OutputIt, typename UIntPtr>
609: auto write_ptr(OutputIt out, UIntPtr value,
609:                const basic_format_specs<Char>* specs) -> OutputIt {
609:   int num_digits = count_digits<4>(value);
609:   auto size = to_unsigned(num_digits) + size_t(2);
609:   auto write = [=](reserve_iterator<OutputIt> it) {
609:     *it++ = static_cast<Char>('0');
609:     *it++ = static_cast<Char>('x');
609:     return format_uint<4, Char>(it, value, num_digits);
609:   };
609:   return specs ? write_padded<align::right>(out, *specs, size, write)
609:                : base_iterator(out, write(reserve(out, size)));
609: }
609: 
609: 
609:  auto is_printable(uint32_t cp) -> bool;
609: 
609: inline auto needs_escape(uint32_t cp) -> bool {
609:   return cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\' ||
609:          !is_printable(cp);
609: }
609: 
609: template <typename Char> struct find_escape_result {
609:   const Char* begin;
609:   const Char* end;
609:   uint32_t cp;
609: };
609: 
609: template <typename Char>
609: using make_unsigned_char =
609:     typename conditional_t<std::is_integral<Char>::value,
609:                            std::make_unsigned<Char>,
609:                            type_identity<uint32_t>>::type;
609: 
609: template <typename Char>
609: auto find_escape(const Char* begin, const Char* end)
609:     -> find_escape_result<Char> {
609:   for (; begin != end; ++begin) {
609:     uint32_t cp = static_cast<make_unsigned_char<Char>>(*begin);
609:     if (const_check(sizeof(Char) == 1) && cp >= 0x80) continue;
609:     if (needs_escape(cp)) return {begin, begin + 1, cp};
609:   }
609:   return {begin, nullptr, 0};
609: }
609: 
609: inline auto find_escape(const char* begin, const char* end)
609:     -> find_escape_result<char> {
609:   if (!is_utf8()) return find_escape<char>(begin, end);
609:   auto result = find_escape_result<char>{end, nullptr, 0};
609:   for_each_codepoint(string_view(begin, to_unsigned(end - begin)),
609:                      [&](uint32_t cp, string_view sv) {
609:                        if (needs_escape(cp)) {
609:                          result = {sv.begin(), sv.end(), cp};
609:                          return false;
609:                        }
609:                        return true;
609:                      });
609:   return result;
609: }
609: # 1774 "/usr/include/fmt/format.h" 3 4
609: template <size_t width, typename Char, typename OutputIt>
609: auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt {
609:   *out++ = static_cast<Char>('\\');
609:   *out++ = static_cast<Char>(prefix);
609:   Char buf[width];
609:   fill_n(buf, width, static_cast<Char>('0'));
609:   format_uint<4>(buf, cp, width);
609:   return copy_str<Char>(buf, buf + width, out);
609: }
609: 
609: template <typename OutputIt, typename Char>
609: auto write_escaped_cp(OutputIt out, const find_escape_result<Char>& escape)
609:     -> OutputIt {
609:   auto c = static_cast<Char>(escape.cp);
609:   switch (escape.cp) {
609:   case '\n':
609:     *out++ = static_cast<Char>('\\');
609:     c = static_cast<Char>('n');
609:     break;
609:   case '\r':
609:     *out++ = static_cast<Char>('\\');
609:     c = static_cast<Char>('r');
609:     break;
609:   case '\t':
609:     *out++ = static_cast<Char>('\\');
609:     c = static_cast<Char>('t');
609:     break;
609:   case '"':
609:     [[fallthrough]];
609:   case '\'':
609:     [[fallthrough]];
609:   case '\\':
609:     *out++ = static_cast<Char>('\\');
609:     break;
609:   default:
609:     if (is_utf8()) {
609:       if (escape.cp < 0x100) {
609:         return write_codepoint<2, Char>(out, 'x', escape.cp);
609:       }
609:       if (escape.cp < 0x10000) {
609:         return write_codepoint<4, Char>(out, 'u', escape.cp);
609:       }
609:       if (escape.cp < 0x110000) {
609:         return write_codepoint<8, Char>(out, 'U', escape.cp);
609:       }
609:     }
609:     for (Char escape_char : basic_string_view<Char>(
609:              escape.begin, to_unsigned(escape.end - escape.begin))) {
609:       out = write_codepoint<2, Char>(out, 'x',
609:                                      static_cast<uint32_t>(escape_char) & 0xFF);
609:     }
609:     return out;
609:   }
609:   *out++ = c;
609:   return out;
609: }
609: 
609: template <typename Char, typename OutputIt>
609: auto write_escaped_string(OutputIt out, basic_string_view<Char> str)
609:     -> OutputIt {
609:   *out++ = static_cast<Char>('"');
609:   auto begin = str.begin(), end = str.end();
609:   do {
609:     auto escape = find_escape(begin, end);
609:     out = copy_str<Char>(begin, escape.begin, out);
609:     begin = escape.end;
609:     if (!begin) break;
609:     out = write_escaped_cp<OutputIt, Char>(out, escape);
609:   } while (begin != end);
609:   *out++ = static_cast<Char>('"');
609:   return out;
609: }
609: 
609: template <typename Char, typename OutputIt>
609: auto write_escaped_char(OutputIt out, Char v) -> OutputIt {
609:   *out++ = static_cast<Char>('\'');
609:   if ((needs_escape(static_cast<uint32_t>(v)) && v != static_cast<Char>('"')) ||
609:       v == static_cast<Char>('\'')) {
609:     out = write_escaped_cp(
609:e_hint.second)
1417:      {
1417:        return emplace_hint(iterator(__true_hint.second),
1417:       std::piecewise_construct,
1417:       std::forward_as_tuple(__k),
1417:       std::forward_as_tuple(
1417:         std::forward<_Obj>(__obj)));
1417:      }
1417:    __i = iterator(__true_hint.first);
1417:    (*__i).second = std::forward<_Obj>(__obj);
1417:    return __i;
1417:  }
1417: 
1417: 
1417:       template <typename _Obj>
1417:  iterator
1417:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1417:  {
1417:    iterator __i;
1417:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1417:    if (__true_hint.second)
1417:      {
1417:        return emplace_hint(iterator(__true_hint.second),
1417:       std::piecewise_construct,
1417:       std::forward_as_tuple(std::move(__k)),
1417:       std::forward_as_tuple(
1417:         std::forward<_Obj>(__obj)));
1417:      }
1417:    __i = iterator(__true_hint.first);
1417:    (*__i).second = std::forward<_Obj>(__obj);
1417:    return __i;
1417:  }
1417: # 1078 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       iterator
1417:       erase(const_iterator __position)
1417:       { return _M_t.erase(__position); }
1417: 
1417: 
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(iterator __position)
1417:       { return _M_t.erase(__position); }
1417: # 1115 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       size_type
1417:       erase(const key_type& __x)
1417:       { return _M_t.erase(__x); }
1417: # 1135 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       iterator
1417:       erase(const_iterator __first, const_iterator __last)
1417:       { return _M_t.erase(__first, __last); }
1417: # 1169 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       void
1417:       swap(map& __x)
1417:       noexcept(__is_nothrow_swappable<_Compare>::value)
1417:       { _M_t.swap(__x._M_t); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       clear() noexcept
1417:       { _M_t.clear(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       key_compare
1417:       key_comp() const
1417:       { return _M_t.key_comp(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       value_compare
1417:       value_comp() const
1417:       { return value_compare(_M_t.key_comp()); }
1417: # 1216 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       iterator
1417:       find(const key_type& __x)
1417:       { return _M_t.find(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1417:  { return _M_t._M_find_tr(__x); }
1417: # 1241 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       const_iterator
1417:       find(const key_type& __x) const
1417:       { return _M_t.find(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1417:  { return _M_t._M_find_tr(__x); }
1417: # 1262 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       size_type
1417:       count(const key_type& __x) const
1417:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1417:  { return _M_t._M_count_tr(__x); }
1417: # 1305 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       iterator
1417:       lower_bound(const key_type& __x)
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1417: # 1330 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       const_iterator
1417:       lower_bound(const key_type& __x) const
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x) const
1417:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1417: # 1350 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       iterator
1417:       upper_bound(const key_type& __x)
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1417: # 1370 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       const_iterator
1417:       upper_bound(const key_type& __x) const
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x) const
1417:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1417: # 1399 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       std::pair<iterator, iterator>
1417:       equal_range(const key_type& __x)
1417:       { return _M_t.equal_range(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x)
1417:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1417:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1417: # 1428 "/usr/include/c++/12/bits/stl_map.h" 3
1417:       std::pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __x) const
1417:       { return _M_t.equal_range(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x) const
1417:  -> decltype(pair<const_iterator, const_iterator>(
1417:        _M_t._M_equal_range_tr(__x)))
1417:  {
1417:    return pair<const_iterator, const_iterator>(
1417:        _M_t._M_equal_range_tr(__x));
1417:  }
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator==(const map<_K1, _T1, _C1, _A1>&,
1417:      const map<_K1, _T1, _C1, _A1>&);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator<(const map<_K1, _T1, _C1, _A1>&,
1417:     const map<_K1, _T1, _C1, _A1>&);
1417: 
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator,
1417:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1417:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     map(_InputIterator, _InputIterator,
1417:  _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1417:     _Compare, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
1417:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     map(initializer_list<pair<_Key, _Tp>>,
1417:  _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> map<_Key, _Tp, _Compare, _Allocator>;
1417: 
1417:   template <typename _InputIterator, typename _Allocator,
1417:      typename = _RequireInputIter<_InputIterator>,
1417:      typename = _RequireAllocator<_Allocator>>
1417:     map(_InputIterator, _InputIterator, _Allocator)
1417:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1417:     less<__iter_key_t<_InputIterator>>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1417:     -> map<_Key, _Tp, less<_Key>, _Allocator>;
1417: # 1509 "/usr/include/c++/12/bits/stl_map.h" 3
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const map<_Key, _Tp, _Compare, _A         out, find_escape_result<Char>{&v, &v + 1, static_cast<uint32_t>(v)});
609:   } else {
609:     *out++ = v;
609:   }
609:   *out++ = static_cast<Char>('\'');
609:   return out;
609: }
609: 
609: template <typename Char, typename OutputIt>
609: constexpr auto write_char(OutputIt out, Char value,
609:                               const basic_format_specs<Char>& specs)
609:     -> OutputIt {
609:   bool is_debug = specs.type == presentation_type::debug;
609:   return write_padded(out, specs, 1, [=](reserve_iterator<OutputIt> it) {
609:     if (is_debug) return write_escaped_char(it, value);
609:     *it++ = value;
609:     return it;
609:   });
609: }
609: template <typename Char, typename OutputIt>
609: constexpr auto write(OutputIt out, Char value,
609:                          const basic_format_specs<Char>& specs,
609:                          locale_ref loc = {}) -> OutputIt {
609:   return check_char_specs(specs)
609:              ? write_char(out, value, specs)
609:              : write(out, static_cast<int>(value), specs, loc);
609: }
609: 
609: 
609: 
609: template <typename Char> struct write_int_data {
609:   size_t size;
609:   size_t padding;
609: 
609:   constexpr write_int_data(int num_digits, unsigned prefix,
609:                                const basic_format_specs<Char>& specs)
609:       : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) {
609:     if (specs.align == align::numeric) {
609:       auto width = to_unsigned(specs.width);
609:       if (width > size) {
609:         padding = width - size;
609:         size = width;
609:       }
609:     } else if (specs.precision > num_digits) {
609:       size = (prefix >> 24) + to_unsigned(specs.precision);
609:       padding = to_unsigned(specs.precision - num_digits);
609:     }
609:   }
609: };
609: 
609: 
609: 
609: 
609: 
609: template <typename OutputIt, typename Char, typename W>
609: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, int num_digits,
609:                                         unsigned prefix,
609:                                         const basic_format_specs<Char>& specs,
609:                                         W write_digits) -> OutputIt {
609: 
609:   if ((specs.width | (specs.precision + 1)) == 0) {
609:     auto it = reserve(out, to_unsigned(num_digits) + (prefix >> 24));
609:     if (prefix != 0) {
609:       for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
609:         *it++ = static_cast<Char>(p & 0xff);
609:     }
609:     return base_iterator(out, write_digits(it));
609:   }
609:   auto data = write_int_data<Char>(num_digits, prefix, specs);
609:   return write_padded<align::right>(
609:       out, specs, data.size, [=](reserve_iterator<OutputIt> it) {
609:         for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
609:           *it++ = static_cast<Char>(p & 0xff);
609:         it = detail::fill_n(it, data.padding, static_cast<Char>('0'));
609:         return write_digits(it);
609:       });
609: }
609: 
609: template <typename Char> class digit_grouping {
609:  private:
609:   thousands_sep_result<Char> sep_;
609: 
609:   struct next_state {
609:     std::string::const_iterator group;
609:     int pos;
609:   };
609:   next_state initial_state() const { return {sep_.grouping.begin(), 0}; }
609: 
609: 
609:   int next(next_state& state) const {
609:     if (!sep_.thousands_sep) return max_value<int>();
609:     if (state.group == sep_.grouping.end())
609:       return state.pos += sep_.grouping.back();
609:     if (*state.group <= 0 || *state.group == max_value<char>())
609:       return max_value<int>();
609:     state.pos += *state.group++;
609:     return state.pos;
609:   }
609: 
609:  public:
609:   explicit digit_grouping(locale_ref loc, bool localized = true) {
609:     if (localized)
609:       sep_ = thousands_sep<Char>(loc);
609:     else
609:       sep_.thousands_sep = Char();
609:   }
609:   explicit digit_grouping(thousands_sep_result<Char> sep) : sep_(sep) {}
609: 
609:   Char separator() const { return sep_.thousands_sep; }
609: 
609:   int count_separators(int num_digits) const {
609:     int count = 0;
609:     auto state = initial_state();
609:     while (num_digits > next(state)) ++count;
609:     return count;
609:   }
609: 
609: 
609:   template <typename Out, typename C>
609:   Out apply(Out out, basic_string_view<C> digits) const {
609:     auto num_digits = static_cast<int>(digits.size());
609:     auto separators = basic_memory_buffer<int>();
609:     separators.push_back(0);
609:     auto state = initial_state();
609:     while (int i = next(state)) {
609:       if (i >= num_digits) break;
609:       separators.push_back(i);
609:     }
609:     for (int i = 0, sep_index = static_cast<int>(separators.size() - 1);
609:          i < num_digits; ++i) {
609:       if (num_digits - i == separators[sep_index]) {
609:         *out++ = separator();
609:         --sep_index;
609:       }
609:       *out++ = static_cast<Char>(digits[to_unsigned(i)]);
609:     }
609:     return out;
609:   }
609: };
609: 
609: template <typename OutputIt, typename UInt, typename Char>
609: auto write_int_localized(OutputIt out, UInt value, unsigned prefix,
609:                          const basic_format_specs<Char>& specs,
609:                          const digit_grouping<Char>& grouping) -> OutputIt {
609:   static_assert(std::is_same<uint64_or_128_t<UInt>, UInt>::value, "");
609:   int num_digits = count_digits(value);
609:   char digits[40];
609:   format_decimal(digits, value, num_digits);
609:   unsigned size = to_unsigned((prefix != 0 ? 1 : 0) + num_digits +
609:                               grouping.count_separators(num_digits));
609:   return write_padded<align::right>(
609:       out, specs, size, size, [&](reserve_iterator<OutputIt> it) {
609:         if (prefix != 0) {
609:           char sign = static_cast<char>(prefix);
609:           *it++ = static_cast<Char>(sign);
609:         }
609:         return grouping.apply(it, string_view(digits, to_unsigned(num_digits)));
609:       });
609: }
609: 
609: template <typename OutputIt, typename UInt, typename Char>
609: auto write_int_localized(OutputIt& out, UInt value, unsigned prefix,
609:                          const basic_format_specs<Char>& specs, locale_ref loc)
609:     -> bool {
609:   auto grouping = digit_grouping<Char>(loc);
609:   out = write_int_localized(out, value, prefix, specs, grouping);
609:   return true;
609: }
609: 
609: constexpr inline void prefix_append(unsigned& prefix, unsigned value) {
609:   prefix |= prefix != 0 ? value << 8 : value;
609:   prefix += (1u + (value > 0xff ? 1 : 0)) << 24;
609: }
609: 
609: template <typename UInt> struct write_int_arg {
609:   UInt abs_value;
609:   unsigned prefix;
609: };
609: 
609: template <typename T>
609: constexpr auto make_write_int_arg(T value, sign_t sign)
609:     -> write_int_arg<uint32_or_64_or_128_t<T>> {
609:   auto prefix = 0u;
609:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
609:   if (is_negative(value)) {
609:     prefix = 0x01000000 | '-';
609:     abs_value = 0 - abs_value;
609:   } else {
609:     constexpr const unsigned prefixes[4] = {0, 0, 0x1000000u | '+',
609:                                             0x1000000u | ' '};
609:     prefix = prefixes[sign];
609:   }
609:   return {abs_value, prefix};
609: }
609: 
609: template <typename Char, typename OutputIt, typename T>
609: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, write_int_arg<T> arg,
609:                                         const basic_format_specs<Char>& specs,
609:                                         locale_ref loc) -> OutputIt {
609:   static_assert(std::is_same<T, uint32_or_64_or_128_t<T>>::value, "");
609:   auto abs_value = arg.abs_value;
609:   auto prefix = arg.prefix;
609:   switch (specs.type) {
609:   case presentation_type::none:
609:   case presentation_type::dec: {
609:     if (specs.localized &&
609:         write_int_localized(out, static_cast<uint64_or_128_t<T>>(abs_value),
609:                             prefix, specs, loc)) {
609:       return out;
609:     }
609:     auto num_digits = count_dilloc>& __y)
1417:     { return __x._M_t == __y._M_t; }
1417: # 1547 "/usr/include/c++/12/bits/stl_map.h" 3
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1417:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return __x._M_t < __y._M_t; }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1417:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline void
1417:     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
1417:   map<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1417:     typename _Cmp2>
1417:     struct
1417:     _Rb_tree_merge_helper<std::map<_Key, _Val, _Cmp1, _Alloc>,
1417:      _Cmp2>
1417:     {
1417:     private:
1417:       friend class std::map<_Key, _Val, _Cmp1, _Alloc>;
1417: 
1417:       static auto&
1417:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1417:       { return __map._M_t; }
1417: 
1417:       static auto&
1417:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1417:       { return __map._M_t; }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/map" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_multimap.h" 1 3
1417: # 64 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     class map;
1417: # 96 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:   template <typename _Key, typename _Tp,
1417:      typename _Compare = std::less<_Key>,
1417:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1417:     class multimap
1417:     {
1417:     public:
1417:       typedef _Key key_type;
1417:       typedef _Tp mapped_type;
1417:       typedef std::pair<const _Key, _Tp> value_type;
1417:       typedef _Compare key_compare;
1417:       typedef _Alloc allocator_type;
1417: 
1417:     private:
1417: # 122 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1417:    "std::multimap must have the same value_type as its allocator");
1417: 
1417: 
1417: 
1417:     public:
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:       class value_compare
1417:       : public std::binary_function<value_type, value_type, bool>
1417:       {
1417:  friend class multimap<_Key, _Tp, _Compare, _Alloc>;
1417:       protected:
1417:  _Compare comp;
1417: 
1417:  value_compare(_Compare __c)
1417:  : comp(__c) { }
1417: 
1417:       public:
1417:  bool operator()(const value_type& __x, const value_type& __y) const
1417:  { return comp(__x.first, __y.first); }
1417:       };
1417: #pragma GCC diagnostic pop
1417: 
1417:     private:
1417: 
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<value_type>::other _Pair_alloc_type;
1417: 
1417:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1417:          key_compare, _Pair_alloc_type> _Rep_type;
1417: 
1417:       _Rep_type _M_t;
1417: 
1417:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
1417: 
1417:     public:
1417: 
1417: 
1417:       typedef typename _Alloc_traits::pointer pointer;
1417:       typedef typename _Alloc_traits::const_pointer const_pointer;
1417:       typedef typename _Alloc_traits::reference reference;
1417:       typedef typename _Alloc_traits::const_reference const_reference;
1417:       typedef typename _Rep_type::iterator iterator;
1417:       typedef typename _Rep_type::const_iterator const_iterator;
1417:       typedef typename _Rep_type::size_type size_type;
1417:       typedef typename _Rep_type::difference_type difference_type;
1417:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1417:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1417: 
1417: 
1417:       using node_type = typename _Rep_type::node_type;
1417: # 185 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       multimap() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       multimap(const _Compare& __comp,
1417:         const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1417: # 207 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       multimap(const multimap&) = default;
1417: # 216 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       multimap(multimap&&) = default;
1417: # 228 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       multimap(initializer_list<value_type> __l,
1417:         const _Compare& __comp = _Compare(),
1417:         const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Pair_alloc_type(__a))
1417:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       explicit
1417:       multimap(const allocator_type& __a)
1417:       : _M_t(_Pair_alloc_type(__a)) { }
1417: 
1417: 
1417:       multimap(const multimap& __m,
1417:         const __type_identity_t<allocator_type>& __a)
1417:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1417: 
1417: 
1417:       multimap(multimap&& __m, const __type_identity_t<allocator_type>& __a)
1417:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1417:         && _Alloc_traits::_S_always_equal())
1417:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1417: 
1417: 
1417:       multimap(initializer_list<value_type> __l, const allocator_type& __a)
1417:       : _M_t(_Pair_alloc_type(__a))
1417:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417:  multimap(_InputIterator __first, _InputIterator __last,
1417:    const allocator_type& __a)
1417:  : _M_t(_Pair_alloc_type(__a))
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: # 272 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       template<typename _InputIterator>
1417:  multimap(_InputIterator __first, _InputIterator __last)
1417:  : _M_t()
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: # 288 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       template<typename _InputIterator>
1417:  multimap(_InputIterator __first, _InputIterator __last,
1417:    const _Compare& __comp,
1417:    const allocator_type& __a = allocator_type())
1417:  : _M_t(__comp, _Pair_alloc_type(__a))
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~multimap() = default;
1417: # 317 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       multimap&
1417:       operator=(const multimap&) = default;
1417: 
1417: 
1417:       multimap&
1417:       operator=(multimap&&) = default;
1417: # 335 "/usr/includegits(abs_value);
609:     return write_int(
609:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
609:           return format_decimal<Char>(it, abs_value, num_digits).end;
609:         });
609:   }
609:   case presentation_type::hex_lower:
609:   case presentation_type::hex_upper: {
609:     bool upper = specs.type == presentation_type::hex_upper;
609:     if (specs.alt)
609:       prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0');
609:     int num_digits = count_digits<4>(abs_value);
609:     return write_int(
609:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
609:           return format_uint<4, Char>(it, abs_value, num_digits, upper);
609:         });
609:   }
609:   case presentation_type::bin_lower:
609:   case presentation_type::bin_upper: {
609:     bool upper = specs.type == presentation_type::bin_upper;
609:     if (specs.alt)
609:       prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0');
609:     int num_digits = count_digits<1>(abs_value);
609:     return write_int(out, num_digits, prefix, specs,
609:                      [=](reserve_iterator<OutputIt> it) {
609:                        return format_uint<1, Char>(it, abs_value, num_digits);
609:                      });
609:   }
609:   case presentation_type::oct: {
609:     int num_digits = count_digits<3>(abs_value);
609: 
609: 
609:     if (specs.alt && specs.precision <= num_digits && abs_value != 0)
609:       prefix_append(prefix, '0');
609:     return write_int(out, num_digits, prefix, specs,
609:                      [=](reserve_iterator<OutputIt> it) {
609:                        return format_uint<3, Char>(it, abs_value, num_digits);
609:                      });
609:   }
609:   case presentation_type::chr:
609:     return write_char(out, static_cast<Char>(abs_value), specs);
609:   default:
609:     throw_format_error("invalid type specifier");
609:   }
609:   return out;
609: }
609: template <typename Char, typename OutputIt, typename T>
609: constexpr __attribute__((noinline)) auto write_int_noinline(
609:     OutputIt out, write_int_arg<T> arg, const basic_format_specs<Char>& specs,
609:     locale_ref loc) -> OutputIt {
609:   return write_int(out, arg, specs, loc);
609: }
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
609: 
609:                                                                              >
609: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
609:                                     const basic_format_specs<Char>& specs,
609:                                     locale_ref loc) -> OutputIt {
609:   return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs,
609:                             loc);
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
609: 
609:                                                                               >
609: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
609:                                     const basic_format_specs<Char>& specs,
609:                                     locale_ref loc) -> OutputIt {
609:   return write_int(out, make_write_int_arg(value, specs.sign), specs, loc);
609: }
609: 
609: 
609: 
609: class counting_iterator {
609:  private:
609:   size_t count_;
609: 
609:  public:
609:   using iterator_category = std::output_iterator_tag;
609:   using difference_type = std::ptrdiff_t;
609:   using pointer = void;
609:   using reference = void;
609:   using unchecked_type = counting_iterator;
609: 
609:   struct value_type {
609:     template <typename T> constexpr void operator=(const T&) {}
609:   };
609: 
609:   constexpr counting_iterator() : count_(0) {}
609: 
609:   constexpr size_t count() const { return count_; }
609: 
609:   constexpr counting_iterator& operator++() {
609:     ++count_;
609:     return *this;
609:   }
609:   constexpr counting_iterator operator++(int) {
609:     auto it = *this;
609:     ++*this;
609:     return it;
609:   }
609: 
609:   constexpr friend counting_iterator operator+(counting_iterator it,
609:                                                    difference_type n) {
609:     it.count_ += static_cast<size_t>(n);
609:     return it;
609:   }
609: 
609:   constexpr value_type operator*() const { return {}; }
609: };
609: 
609: template <typename Char, typename OutputIt>
609: constexpr auto write(OutputIt out, basic_string_view<Char> s,
609:                          const basic_format_specs<Char>& specs) -> OutputIt {
609:   auto data = s.data();
609:   auto size = s.size();
609:   if (specs.precision >= 0 && to_unsigned(specs.precision) < size)
609:     size = code_point_index(s, to_unsigned(specs.precision));
609:   bool is_debug = specs.type == presentation_type::debug;
609:   size_t width = 0;
609:   if (specs.width != 0) {
609:     if (is_debug)
609:       width = write_escaped_string(counting_iterator{}, s).count();
609:     else
609:       width = compute_width(basic_string_view<Char>(data, size));
609:   }
609:   return write_padded(out, specs, size, width,
609:                       [=](reserve_iterator<OutputIt> it) {
609:                         if (is_debug) return write_escaped_string(it, s);
609:                         return copy_str<Char>(data, data + size, it);
609:                       });
609: }
609: template <typename Char, typename OutputIt>
609: constexpr auto write(OutputIt out,
609:                          basic_string_view<type_identity_t<Char>> s,
609:                          const basic_format_specs<Char>& specs, locale_ref)
609:     -> OutputIt {
609:   check_string_type_spec(specs.type);
609:   return write(out, s, specs);
609: }
609: template <typename Char, typename OutputIt>
609: constexpr auto write(OutputIt out, const Char* s,
609:                          const basic_format_specs<Char>& specs, locale_ref)
609:     -> OutputIt {
609:   return check_cstring_type_spec(specs.type)
609:              ? write(out, basic_string_view<Char>(s), specs, {})
609:              : write_ptr<Char>(out, bit_cast<uintptr_t>(s), &specs);
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<T, Char>::value), int> = 0
609: 
609:                                                       >
609: constexpr auto write(OutputIt out, T value) -> OutputIt {
609:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
609:   bool negative = is_negative(value);
609: 
609:   if (negative) abs_value = ~abs_value + 1;
609:   int num_digits = count_digits(abs_value);
609:   auto size = (negative ? 1 : 0) + static_cast<size_t>(num_digits);
609:   auto it = reserve(out, size);
609:   if (auto ptr = to_pointer<Char>(it, size)) {
609:     if (negative) *ptr++ = static_cast<Char>('-');
609:     format_decimal<Char>(ptr, abs_value, num_digits);
609:     return out;
609:   }
609:   if (negative) *it++ = static_cast<Char>('-');
609:   it = format_decimal<Char>(it, abs_value, num_digits).end;
609:   return base_iterator(out, it);
609: }
609: 
609: template <typename Char, typename OutputIt>
609:  auto write_nonfinite(OutputIt out, bool isnan,
609:                                      basic_format_specs<Char> specs,
609:                                      const float_specs& fspecs) -> OutputIt {
609:   auto str =
609:       isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf");
609:   constexpr size_t str_size = 3;
609:   auto sign = fspecs.sign;
609:   auto size = str_size + (sign ? 1 : 0);
609: 
609:   const bool is_zero_fill =
609:       specs.fill.size() == 1 && *specs.fill.data() == static_cast<Char>('0');
609:   if (is_zero_fill) specs.fill[0] = static_cast<Char>(' ');
609:   return write_padded(out, specs, size, [=](reserve_iter/c++/12/bits/stl_multimap.h" 3
1417:       multimap&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  _M_t._M_assign_equal(__l.begin(), __l.end());
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_t.get_allocator()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       begin() noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       end() noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       end() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_reverse_iterator
1417:       crend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _M_t.empty(); }
1417: 
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_t.size(); }
1417: 
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _M_t.max_size(); }
1417: # 493 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace(_Args&&... __args)
1417:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1417: # 520 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace_hint(const_iterator __pos, _Args&&... __args)
1417:  {
1417:    return _M_t._M_emplace_hint_equal(__pos,
1417:          std::forward<_Args>(__args)...);
1417:  }
1417: # 542 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       iterator
1417:       insert(const value_type& __x)
1417:       { return _M_t._M_insert_equal(__x); }
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       insert(value_type&& __x)
1417:       { return _M_t._M_insert_equal(std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1417:  insert(_Pair&& __x)
1417:  { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); }
1417: # 581 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       iterator
1417: 
1417:       insert(const_iterator __position, const value_type& __x)
1417: 
1417: 
1417: 
1417:       { return _M_t._M_insert_equal_(__position, __x); }
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __position, value_type&& __x)
1417:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1417:  insert(const_iterator __position, _Pair&& __x)
1417:  {
1417:    return _M_t._M_emplace_hint_equal(__position,
1417:          std::forward<_Pair>(__x));
1417:  }
1417: # 615 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  insert(_InputIterator __first, _InputIterator __last)
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: # 628 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       void
1417:       insert(initializer_list<value_type> __l)
1417:       { this->insert(__l.begin(), __l.end()); }
1417: 
1417: 
1417: 
1417: 
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1417:  return _M_t.extract(__pos);
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const key_type& __x)
1417:       { return _M_t.extract(__x); }
1417: 
1417: 
1417:       iterator
1417:       insert(node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1417: 
1417:       template<typename, typename>
1417:  friend struct std::_Rb_tree_merge_helper;
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1417:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1417:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Cmp2>
1417:  void
1417:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: # 705 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       iterator
1417:       erase(const_iterator __position)
1417:       { return _M_t.erase(__position); }
1417: 
1417: 
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(iterator __position)
1417:       { return _M_t.erase(__position); }
1417: # 742 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       size_type
1417:       erase(const key_type& __x)
1417:       { return _M_t.erase(__x); }
1417: # 763 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       iterator
1417:       erase(const_iterator __first, const_iterator __last)
1417:       { return _M_t.erase(__first, __last); }
1417: # 800 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       void
1417:       swap(multimap& __x)
1417:       noexcept(__is_nothrow_swappable<_Compare>::value)
1417:       { _M_t.swap(__x._M_t); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       clear() noexcept
1417:       { _M_t.clear(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       key_compare
1417:       key_comp() const
1417:       { return _M_t.key_comp(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       value_compare
1417:       value_comp() const
1417:       { return value_compare(_M_t.key_comp()); }
1417: # 846 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       iterator
1417:       find(const key_type& __x)
1417:       { return _M_t.find(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1417:  { return _M_t._M_find_tr(__x); }
1417: # 870 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       const_iterator
1417:       find(const key_type& __x) const
1417:       { return _M_t.find(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1417:  { return _M_t._M_find_tr(__x); }
1417: # 888 "/usr/include/c++/12/bator<OutputIt> it) {
609:     if (sign) *it++ = detail::sign<Char>(sign);
609:     return copy_str<Char>(str, str + str_size, it);
609:   });
609: }
609: 
609: 
609: struct big_decimal_fp {
609:   const char* significand;
609:   int significand_size;
609:   int exponent;
609: };
609: 
609: constexpr auto get_significand_size(const big_decimal_fp& f) -> int {
609:   return f.significand_size;
609: }
609: template <typename T>
609: inline auto get_significand_size(const dragonbox::decimal_fp<T>& f) -> int {
609:   return count_digits(f.significand);
609: }
609: 
609: template <typename Char, typename OutputIt>
609: constexpr auto write_significand(OutputIt out, const char* significand,
609:                                  int significand_size) -> OutputIt {
609:   return copy_str<Char>(significand, significand + significand_size, out);
609: }
609: template <typename Char, typename OutputIt, typename UInt>
609: inline auto write_significand(OutputIt out, UInt significand,
609:                               int significand_size) -> OutputIt {
609:   return format_decimal<Char>(out, significand, significand_size).end;
609: }
609: template <typename Char, typename OutputIt, typename T, typename Grouping>
609:  auto write_significand(OutputIt out, T significand,
609:                                        int significand_size, int exponent,
609:                                        const Grouping& grouping) -> OutputIt {
609:   if (!grouping.separator()) {
609:     out = write_significand<Char>(out, significand, significand_size);
609:     return detail::fill_n(out, exponent, static_cast<Char>('0'));
609:   }
609:   auto buffer = memory_buffer();
609:   write_significand<char>(appender(buffer), significand, significand_size);
609:   detail::fill_n(appender(buffer), exponent, '0');
609:   return grouping.apply(out, string_view(buffer.data(), buffer.size()));
609: }
609: 
609: template <typename Char, typename UInt,
609:           enable_if_t<(std::is_integral<UInt>::value), int> = 0>
609: inline auto write_significand(Char* out, UInt significand, int significand_size,
609:                               int integral_size, Char decimal_point) -> Char* {
609:   if (!decimal_point)
609:     return format_decimal(out, significand, significand_size).end;
609:   out += significand_size + 1;
609:   Char* end = out;
609:   int floating_size = significand_size - integral_size;
609:   for (int i = floating_size / 2; i > 0; --i) {
609:     out -= 2;
609:     copy2(out, digits2(static_cast<std::size_t>(significand % 100)));
609:     significand /= 100;
609:   }
609:   if (floating_size % 2 != 0) {
609:     *--out = static_cast<Char>('0' + significand % 10);
609:     significand /= 10;
609:   }
609:   *--out = decimal_point;
609:   format_decimal(out - integral_size, significand, integral_size);
609:   return end;
609: }
609: 
609: template <typename OutputIt, typename UInt, typename Char,
609:           enable_if_t<(!std::is_pointer<remove_cvref_t<OutputIt>>::value), int> = 0>
609: inline auto write_significand(OutputIt out, UInt significand,
609:                               int significand_size, int integral_size,
609:                               Char decimal_point) -> OutputIt {
609: 
609:   Char buffer[digits10<UInt>() + 2];
609:   auto end = write_significand(buffer, significand, significand_size,
609:                                integral_size, decimal_point);
609:   return detail::copy_str_noinline<Char>(buffer, end, out);
609: }
609: 
609: template <typename OutputIt, typename Char>
609: constexpr auto write_significand(OutputIt out, const char* significand,
609:                                      int significand_size, int integral_size,
609:                                      Char decimal_point) -> OutputIt {
609:   out = detail::copy_str_noinline<Char>(significand,
609:                                         significand + integral_size, out);
609:   if (!decimal_point) return out;
609:   *out++ = decimal_point;
609:   return detail::copy_str_noinline<Char>(significand + integral_size,
609:                                          significand + significand_size, out);
609: }
609: 
609: template <typename OutputIt, typename Char, typename T, typename Grouping>
609:  auto write_significand(OutputIt out, T significand,
609:                                        int significand_size, int integral_size,
609:                                        Char decimal_point,
609:                                        const Grouping& grouping) -> OutputIt {
609:   if (!grouping.separator()) {
609:     return write_significand(out, significand, significand_size, integral_size,
609:                              decimal_point);
609:   }
609:   auto buffer = basic_memory_buffer<Char>();
609:   write_significand(buffer_appender<Char>(buffer), significand,
609:                     significand_size, integral_size, decimal_point);
609:   grouping.apply(
609:       out, basic_string_view<Char>(buffer.data(), to_unsigned(integral_size)));
609:   return detail::copy_str_noinline<Char>(buffer.data() + integral_size,
609:                                          buffer.end(), out);
609: }
609: 
609: template <typename OutputIt, typename DecimalFP, typename Char,
609:           typename Grouping = digit_grouping<Char>>
609:  auto do_write_float(OutputIt out, const DecimalFP& f,
609:                                     const basic_format_specs<Char>& specs,
609:                                     float_specs fspecs, locale_ref loc)
609:     -> OutputIt {
609:   auto significand = f.significand;
609:   int significand_size = get_significand_size(f);
609:   const Char zero = static_cast<Char>('0');
609:   auto sign = fspecs.sign;
609:   size_t size = to_unsigned(significand_size) + (sign ? 1 : 0);
609:   using iterator = reserve_iterator<OutputIt>;
609: 
609:   Char decimal_point =
609:       fspecs.locale ? detail::decimal_point<Char>(loc) : static_cast<Char>('.');
609: 
609:   int output_exp = f.exponent + significand_size - 1;
609:   auto use_exp_format = [=]() {
609:     if (fspecs.format == float_format::exp) return true;
609:     if (fspecs.format != float_format::general) return false;
609: 
609: 
609:     const int exp_lower = -4, exp_upper = 16;
609:     return output_exp < exp_lower ||
609:            output_exp >= (fspecs.precision > 0 ? fspecs.precision : exp_upper);
609:   };
609:   if (use_exp_format()) {
609:     int num_zeros = 0;
609:     if (fspecs.showpoint) {
609:       num_zeros = fspecs.precision - significand_size;
609:       if (num_zeros < 0) num_zeros = 0;
609:       size += to_unsigned(num_zeros);
609:     } else if (significand_size == 1) {
609:       decimal_point = Char();
609:     }
609:     auto abs_output_exp = output_exp >= 0 ? output_exp : -output_exp;
609:     int exp_digits = 2;
609:     if (abs_output_exp >= 100) exp_digits = abs_output_exp >= 1000 ? 4 : 3;
609: 
609:     size += to_unsigned((decimal_point ? 1 : 0) + 2 + exp_digits);
609:     char exp_char = fspecs.upper ? 'E' : 'e';
609:     auto write = [=](iterator it) {
609:       if (sign) *it++ = detail::sign<Char>(sign);
609: 
609:       it = write_significand(it, significand, significand_size, 1,
609:                              decimal_point);
609:       if (num_zeros > 0) it = detail::fill_n(it, num_zeros, zero);
609:       *it++ = static_cast<Char>(exp_char);
609:       return write_exponent<Char>(output_exp, it);
609:     };
609:     return specs.width > 0 ? write_padded<align::right>(out, specs, size, write)
609:                            : base_iterator(out, write(reserve(out, size)));
609:   }
609: 
609:   int exp = f.exponent + significand_size;
609:   if (f.exponent >= 0) {
609: 
609:     size += to_unsigned(f.exponent);
609:     int num_zeros = fspecs.precision - exp;
609:     abort_fuzzing_if(num_zeros > 5000);
609:     if (fspecs.showpoint) {
609:       ++size;
609:       if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1;
609:       if (num_zeros > 0) size += to_unsigned(num_zeros);
609:     }
609:     auto grouping = Grouping(loc, fspecs.locale);
609:     size += to_unsigned(grouping.count_separators(exp));
609:     return write_pits/stl_multimap.h" 3
1417:       size_type
1417:       count(const key_type& __x) const
1417:       { return _M_t.count(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1417:  { return _M_t._M_count_tr(__x); }
1417: # 931 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       iterator
1417:       lower_bound(const key_type& __x)
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1417: # 956 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       const_iterator
1417:       lower_bound(const key_type& __x) const
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x) const
1417:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1417: # 976 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       iterator
1417:       upper_bound(const key_type& __x)
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1417: # 996 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       const_iterator
1417:       upper_bound(const key_type& __x) const
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x) const
1417:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1417: # 1023 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       std::pair<iterator, iterator>
1417:       equal_range(const key_type& __x)
1417:       { return _M_t.equal_range(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x)
1417:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1417:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1417: # 1050 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:       std::pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __x) const
1417:       { return _M_t.equal_range(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x) const
1417:  -> decltype(pair<const_iterator, const_iterator>(
1417:        _M_t._M_equal_range_tr(__x)))
1417:  {
1417:    return pair<const_iterator, const_iterator>(
1417:        _M_t._M_equal_range_tr(__x));
1417:  }
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator==(const multimap<_K1, _T1, _C1, _A1>&,
1417:      const multimap<_K1, _T1, _C1, _A1>&);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator<(const multimap<_K1, _T1, _C1, _A1>&,
1417:     const multimap<_K1, _T1, _C1, _A1>&);
1417: 
1417:   };
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator,
1417:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1417:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multimap(_InputIterator, _InputIterator,
1417:       _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1417:   _Compare, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
1417:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multimap(initializer_list<pair<_Key, _Tp>>,
1417:       _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> multimap<_Key, _Tp, _Compare, _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multimap(_InputIterator, _InputIterator, _Allocator)
1417:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1417:   less<__iter_key_t<_InputIterator>>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1417:     -> multimap<_Key, _Tp, less<_Key>, _Allocator>;
1417: # 1130 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return __x._M_t == __y._M_t; }
1417: # 1168 "/usr/include/c++/12/bits/stl_multimap.h" 3
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1417:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return __x._M_t < __y._M_t; }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1417:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1417:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1417:     inline void
1417:     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1417:   multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1417:     typename _Cmp2>
1417:     struct
1417:     _Rb_tree_merge_helper<std::multimap<_Key, _Val, _Cmp1, _Alloc>,
1417:      _Cmp2>
1417:     {
1417:     private:
1417:       friend class std::multimap<_Key, _Val, _Cmp1, _Alloc>;
1417: 
1417:       static auto&
1417:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1417:       { return __map._M_t; }
1417: 
1417:       static auto&
1417:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1417:       { return __map._M_t; }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 63 "/usr/include/c++/12/map" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/erase_if.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/erase_if.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/erase_if.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   namespace __detail
1417:   {
1417:     template<typename _Container, typename _UnsafeContaineadded<align::right>(out, specs, size, [&](iterator it) {
609:       if (sign) *it++ = detail::sign<Char>(sign);
609:       it = write_significand<Char>(it, significand, significand_size,
609:                                    f.exponent, grouping);
609:       if (!fspecs.showpoint) return it;
609:       *it++ = decimal_point;
609:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
609:     });
609:   } else if (exp > 0) {
609: 
609:     int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0;
609:     size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0);
609:     auto grouping = Grouping(loc, fspecs.locale);
609:     size += to_unsigned(grouping.count_separators(significand_size));
609:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
609:       if (sign) *it++ = detail::sign<Char>(sign);
609:       it = write_significand(it, significand, significand_size, exp,
609:                              decimal_point, grouping);
609:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
609:     });
609:   }
609: 
609:   int num_zeros = -exp;
609:   if (significand_size == 0 && fspecs.precision >= 0 &&
609:       fspecs.precision < num_zeros) {
609:     num_zeros = fspecs.precision;
609:   }
609:   bool pointy = num_zeros != 0 || significand_size != 0 || fspecs.showpoint;
609:   size += 1 + (pointy ? 1 : 0) + to_unsigned(num_zeros);
609:   return write_padded<align::right>(out, specs, size, [&](iterator it) {
609:     if (sign) *it++ = detail::sign<Char>(sign);
609:     *it++ = zero;
609:     if (!pointy) return it;
609:     *it++ = decimal_point;
609:     it = detail::fill_n(it, num_zeros, zero);
609:     return write_significand<Char>(it, significand, significand_size);
609:   });
609: }
609: 
609: template <typename Char> class fallback_digit_grouping {
609:  public:
609:   constexpr fallback_digit_grouping(locale_ref, bool) {}
609: 
609:   constexpr Char separator() const { return Char(); }
609: 
609:   constexpr int count_separators(int) const { return 0; }
609: 
609:   template <typename Out, typename C>
609:   constexpr Out apply(Out out, basic_string_view<C>) const {
609:     return out;
609:   }
609: };
609: 
609: template <typename OutputIt, typename DecimalFP, typename Char>
609:  auto write_float(OutputIt out, const DecimalFP& f,
609:                                  const basic_format_specs<Char>& specs,
609:                                  float_specs fspecs, locale_ref loc)
609:     -> OutputIt {
609:   if (is_constant_evaluated()) {
609:     return do_write_float<OutputIt, DecimalFP, Char,
609:                           fallback_digit_grouping<Char>>(out, f, specs, fspecs,
609:                                                          loc);
609:   } else {
609:     return do_write_float(out, f, specs, fspecs, loc);
609:   }
609: }
609: 
609: template <typename T> constexpr bool isnan(T value) {
609:   return !(value >= value);
609: }
609: 
609: template <typename T, typename Enable = void>
609: struct has_isfinite : std::false_type {};
609: 
609: template <typename T>
609: struct has_isfinite<T, enable_if_t<sizeof(std::isfinite(T())) != 0>>
609:     : std::true_type {};
609: 
609: template <typename T, enable_if_t<(std::is_floating_point<T>::value&& has_isfinite<T>::value), int> = 0
609:                                                                >
609:  bool isfinite(T value) {
609:   constexpr T inf = T(std::numeric_limits<double>::infinity());
609:   if (is_constant_evaluated())
609:     return !detail::isnan(value) && value != inf && value != -inf;
609:   return std::isfinite(value);
609: }
609: template <typename T, enable_if_t<(!has_isfinite<T>::value), int> = 0>
609: constexpr bool isfinite(T value) {
609:   T inf = T(std::numeric_limits<double>::infinity());
609: 
609:   return !detail::isnan(value) && value != inf && value != -inf;
609: }
609: 
609: template <typename T, enable_if_t<(is_floating_point<T>::value), int> = 0>
609: inline __attribute__((always_inline)) constexpr bool signbit(T value) {
609:   if (is_constant_evaluated()) {
609: 
609:     if constexpr (std::numeric_limits<double>::is_iec559) {
609:       auto bits = detail::bit_cast<uint64_t>(static_cast<double>(value));
609:       return (bits >> (num_bits<uint64_t>() - 1)) != 0;
609:     }
609: 
609:   }
609:   return std::signbit(static_cast<double>(value));
609: }
609: 
609: enum class round_direction { unknown, up, down };
609: 
609: 
609: 
609: 
609: 
609: constexpr inline round_direction get_round_direction(uint64_t divisor,
609:                                                          uint64_t remainder,
609:                                                          uint64_t error) {
609:   ::fmt::detail::ignore_unused((remainder < divisor), (""));
609:   ::fmt::detail::ignore_unused((error < divisor), (""));
609:   ::fmt::detail::ignore_unused((error < divisor - error), (""));
609: 
609:   if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2)
609:     return round_direction::down;
609: 
609:   if (remainder >= error &&
609:       remainder - error >= divisor - (remainder - error)) {
609:     return round_direction::up;
609:   }
609:   return round_direction::unknown;
609: }
609: 
609: namespace digits {
609: enum result {
609:   more,
609:   done,
609:   error
609: };
609: }
609: 
609: struct gen_digits_handler {
609:   char* buf;
609:   int size;
609:   int precision;
609:   int exp10;
609:   bool fixed;
609: 
609:   constexpr digits::result on_digit(char digit, uint64_t divisor,
609:                                         uint64_t remainder, uint64_t error,
609:                                         bool integral) {
609:     ::fmt::detail::ignore_unused((remainder < divisor), (""));
609:     buf[size++] = digit;
609:     if (!integral && error >= remainder) return digits::error;
609:     if (size < precision) return digits::more;
609:     if (!integral) {
609: 
609: 
609: 
609:       if (error >= divisor || error >= divisor - error) return digits::error;
609:     } else {
609:       ::fmt::detail::ignore_unused((error == 1 && divisor > 2), (""));
609:     }
609:     auto dir = get_round_direction(divisor, remainder, error);
609:     if (dir != round_direction::up)
609:       return dir == round_direction::down ? digits::done : digits::error;
609:     ++buf[size - 1];
609:     for (int i = size - 1; i > 0 && buf[i] > '9'; --i) {
609:       buf[i] = '0';
609:       ++buf[i - 1];
609:     }
609:     if (buf[0] > '9') {
609:       buf[0] = '1';
609:       if (fixed)
609:         buf[size++] = '0';
609:       else
609:         ++exp10;
609:     }
609:     return digits::done;
609:   }
609: };
609: 
609: inline void adjust_precision(int& precision, int exp10) {
609: 
609: 
609:   if (exp10 > 0 && precision > max_value<int>() - exp10)
609:     throw format_error("number is too big");
609:   precision += exp10;
609: }
609: 
609: 
609: 
609: 
609: inline __attribute__((always_inline)) auto grisu_gen_digits(fp value, uint64_t error,
609:                                                  int& exp,
609:                                                  gen_digits_handler& handler)
609:     -> digits::result {
609:   const fp one(1ULL << -value.e, value.e);
609: 
609: 
609: 
609:   auto integral = static_cast<uint32_t>(value.f >> -one.e);
609:   ::fmt::detail::ignore_unused((integral != 0), (""));
609:   ::fmt::detail::ignore_unused((integral == value.f >> -one.e), (""));
609: 
609:   uint64_t fractional = value.f & (one.f - 1);
609:   exp = count_digits(integral);
609: 
609:   if (handler.fixed) {
609:     adjust_precision(handler.precision, exp + handler.exp10);
609: 
609: 
609:     if (handler.precision <= 0) {
609:       if (handler.precision < 0) return digits::done;
609: 
609:       uint64_t divisor = data::power_of_10_64[exp - 1] << -one.e;
609:       auto dir = get_round_direction(divisor, value.f / 10, error * 10);
609:       if (dir == round_direction::unknown) return digits::error;
609:       handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0';
609:       return digits::done;
609:     }
609:   }
609: 
609:   do {
609:     ur,
1417:       typename _Predicate>
1417:       typename _Container::size_type
1417:       __erase_nodes_if(_Container& __cont, const _UnsafeContainer& __ucont,
1417:          _Predicate __pred)
1417:       {
1417:  typename _Container::size_type __num = 0;
1417:  for (auto __iter = __ucont.begin(), __last = __ucont.end();
1417:       __iter != __last;)
1417:    {
1417:      if (__pred(*__iter))
1417:        {
1417:   __iter = __cont.erase(__iter);
1417:   ++__num;
1417:        }
1417:      else
1417:        ++__iter;
1417:    }
1417:  return __num;
1417:       }
1417:   }
1417: 
1417: 
1417: }
1417: # 65 "/usr/include/c++/12/map" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr
1417:   {
1417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1417:       using map
1417:  = std::map<_Key, _Tp, _Cmp,
1417:      polymorphic_allocator<pair<const _Key, _Tp>>>;
1417:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1417:       using multimap
1417:  = std::multimap<_Key, _Tp, _Cmp,
1417:    polymorphic_allocator<pair<const _Key, _Tp>>>;
1417:   }
1417: 
1417: }
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
1417: class CGUIListItemLayout;
1417: using CGUIListItemLayoutPtr = std::unique_ptr<CGUIListItemLayout>;
1417: class CArchive;
1417: class CVariant;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIListItem
1417: {
1417: public:
1417:   typedef std::map<std::string, std::string> ArtMap;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   enum GUIIconOverlay { ICON_OVERLAY_NONE = 0,
1417:                         ICON_OVERLAY_RAR,
1417:                         ICON_OVERLAY_ZIP,
1417:                         ICON_OVERLAY_LOCKED,
1417:                         ICON_OVERLAY_UNWATCHED,
1417:                         ICON_OVERLAY_WATCHED,
1417:                         ICON_OVERLAY_HD
1417:                       };
1417: 
1417: 
1417:   CGUIListItem(void);
1417:   explicit CGUIListItem(const CGUIListItem& item);
1417:   explicit CGUIListItem(const std::string& strLabel);
1417:   virtual ~CGUIListItem(void);
1417:   virtual CGUIListItem* Clone() const { return new CGUIListItem(*this); }
1417: 
1417:   CGUIListItem& operator =(const CGUIListItem& item);
1417: 
1417:   virtual void SetLabel(const std::string& strLabel);
1417:   const std::string& GetLabel() const;
1417: 
1417:   void SetLabel2(const std::string& strLabel);
1417:   const std::string& GetLabel2() const;
1417: 
1417:   void SetOverlayImage(GUIIconOverlay icon, bool bOnOff=false);
1417:   std::string GetOverlayImage() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetArt(const std::string &type, const std::string &url);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetArt(const ArtMap &art);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void AppendArt(const ArtMap &art, const std::string &prefix = "");
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetArtFallback(const std::string &from, const std::string &to);
1417: 
1417: 
1417: 
1417: 
1417:   void ClearArt();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::string GetArt(const std::string &type) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const ArtMap &GetArt() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool HasArt(const std::string &type) const;
1417: 
1417:   void SetSortLabel(const std::string &label);
1417:   void SetSortLabel(const std::wstring &label);
1417:   const std::wstring &GetSortLabel() const;
1417: 
1417:   void Select(bool bOnOff);
1417:   bool IsSelected() const;
1417: 
1417:   bool HasOverlay() const;
1417:   virtual bool IsFileItem() const { return false; }
1417: 
1417:   void SetLayout(CGUIListItemLayoutPtr layout);
1417:   CGUIListItemLayout *GetLayout();
1417: 
1417:   void SetFocusedLayout(CGUIListItemLayoutPtr layout);
1417:   CGUIListItemLayout *GetFocusedLayout();
1417: 
1417:   void FreeIcons();
1417:   void FreeMemory(bool immediately = false);
1417:   void SetInvalid();
1417: 
1417:   bool m_bIsFolder;
1417: 
1417:   void SetProperty(const std::string &strKey, const CVariant &value);
1417: 
1417:   void IncrementProperty(const std::string &strKey, int nVal);
1417:   void IncrementProperty(const std::string& strKey, int64_t nVal);
1417:   void IncrementProperty(const std::string &strKey, double dVal);
1417: 
1417:   void ClearProperties();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void AppendProperties(const CGUIListItem &item);
1417: 
1417:   void Archive(CArchive& ar);
1417:   void Serialize(CVariant& value);
1417: 
1417:   bool HasProperty(const std::string &strKey) const;
1417:   bool HasProperties() const { return !m_mapProperties.empty(); }
1417:   void ClearProperty(const std::string &strKey);
1417: 
1417:   const CVariant &GetProperty(const std::string &strKey) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetCurrentItem(unsigned int position);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   unsigned int GetCurrentItem() const;
1417: 
1417: protected:
1417:   std::string m_strLabel2;
1417:   GUIIconOverlay m_overlayIcon;
1417: 
1417:   CGUIListItemLayoutPtr m_layout;
1417:   CGUIListItemLayoutPtr m_focusedLayout;
1417:   bool m_bSelected;
1417:   unsigned int m_currentItem;
1417: 
1417:   struct icompare
1417:   {
1417:     bool operator()(const std::string &s1, const std::string &s2) const;
1417:   };
1417: 
1417:   typedef std::map<std::string, CVariant, icompare> PropertyMap;
1417:   PropertyMap m_mapProperties;
1417: private:
1417:   std::wstring m_sortLabel;
1417:   std::string m_strLabel;
1417: 
1417:   ArtMap m_art;
1417:   ArtMap m_artFallbacks;
1417: };
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 2
1417: 
1417: 
1417: 
1417: 
1417: class CGUIListItem;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfoColor
1417: {
1417: public:
1417:   constexpr CGUIInfoColor(UTILS::COLOR::Color color = 0) : m_color(color) {}
1417: 
1417:   constexpr operator UTILS::COLOR::Color() const { return m_color; }
1417: 
1417:   bool Update(const CGUIListItem* item = nullptr);
1417:   void Parse(const std::string &label, int context);
1417: 
1417: private:
1417:   int m_info = 0;
1417:   UTILS::COLOR::Color m_color;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: typedef int DisplayMode;
1417: 
1417: 
1417: 
1417: enum RESOLUTION
1417: {
1417:   RES_INVALID = -1,
1417:   RES_WINDOW = 15,
1417:   RES_DESKTOP = 16,
1417:   RES_CUSTOM = 16 + 1,
1417: };
1417: 
1417: struct OVERSCAN
1417: {
1417:   int left;
1417:   int top;
1417:   int right;
1417:   int bottom;
1417: public:
1417:   OVERSCAN()
1417:   {
1417:     left = top = right = bottom = 0;
1417:   }
1417:   OVERSCAN(const OVERSCAN& os)
1417:   {
1417:     left = os.left; top = os.top;
1417:     right = os.right; bottom = os.bottom;
1417:   }
1417:   OVERSCAN& operator=(const OVERSCAN&) = default;
1417: 
1417:   bool operator==(const OVERSCAN& other)
1417:   {
1417:     return left == other.left && right == other.right && top == other.top && bottom == other.bottom;
1417:   }
1417:   bool operator!=(const OVERSCAN& other)
1417:   {
1417:     return left != other.left || right != other.right || top != other.top || bottom != other.bottom;
1417:   }
1417: };
1417: 
1417: struct EdgeInsets
1417: {
1417:   float left = 0.0f;
1417:   float top = 0.0f;
1417:   float right = 0.0f;
1417:   float bottom = 0int32_t digit = 0;
609:     auto divmod_integral = [&](uint32_t divisor) {
609:       digit = integral / divisor;
609:       integral %= divisor;
609:     };
609: 
609: 
609:     switch (exp) {
609:     case 10:
609:       divmod_integral(1000000000);
609:       break;
609:     case 9:
609:       divmod_integral(100000000);
609:       break;
609:     case 8:
609:       divmod_integral(10000000);
609:       break;
609:     case 7:
609:       divmod_integral(1000000);
609:       break;
609:     case 6:
609:       divmod_integral(100000);
609:       break;
609:     case 5:
609:       divmod_integral(10000);
609:       break;
609:     case 4:
609:       divmod_integral(1000);
609:       break;
609:     case 3:
609:       divmod_integral(100);
609:       break;
609:     case 2:
609:       divmod_integral(10);
609:       break;
609:     case 1:
609:       digit = integral;
609:       integral = 0;
609:       break;
609:     default:
609:       ::fmt::detail::ignore_unused((false), ("invalid number of digits"));
609:     }
609:     --exp;
609:     auto remainder = (static_cast<uint64_t>(integral) << -one.e) + fractional;
609:     auto result = handler.on_digit(static_cast<char>('0' + digit),
609:                                    data::power_of_10_64[exp] << -one.e,
609:                                    remainder, error, true);
609:     if (result != digits::more) return result;
609:   } while (exp > 0);
609: 
609:   for (;;) {
609:     fractional *= 10;
609:     error *= 10;
609:     char digit = static_cast<char>('0' + (fractional >> -one.e));
609:     fractional &= one.f - 1;
609:     --exp;
609:     auto result = handler.on_digit(digit, one.f, fractional, error, false);
609:     if (result != digits::more) return result;
609:   }
609: }
609: 
609: class bigint {
609:  private:
609: 
609: 
609:   using bigit = uint32_t;
609:   using double_bigit = uint64_t;
609:   enum { bigits_capacity = 32 };
609:   basic_memory_buffer<bigit, bigits_capacity> bigits_;
609:   int exp_;
609: 
609:   bigit operator[](int index) const {
609:     return bigits_[to_unsigned(index)];
609:   }
609:   bigit& operator[](int index) {
609:     return bigits_[to_unsigned(index)];
609:   }
609: 
609:   static constexpr const int bigit_bits = num_bits<bigit>();
609: 
609:   friend struct formatter<bigint>;
609: 
609:   void subtract_bigits(int index, bigit other, bigit& borrow) {
609:     auto result = static_cast<double_bigit>((*this)[index]) - other - borrow;
609:     (*this)[index] = static_cast<bigit>(result);
609:     borrow = static_cast<bigit>(result >> (bigit_bits * 2 - 1));
609:   }
609: 
609:   void remove_leading_zeros() {
609:     int num_bigits = static_cast<int>(bigits_.size()) - 1;
609:     while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits;
609:     bigits_.resize(to_unsigned(num_bigits + 1));
609:   }
609: 
609: 
609:   void subtract_aligned(const bigint& other) {
609:     ::fmt::detail::ignore_unused((other.exp_ >= exp_), ("unaligned bigints"));
609:     ::fmt::detail::ignore_unused((compare(*this, other) >= 0), (""));
609:     bigit borrow = 0;
609:     int i = other.exp_ - exp_;
609:     for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j)
609:       subtract_bigits(i, other.bigits_[j], borrow);
609:     while (borrow > 0) subtract_bigits(i, 0, borrow);
609:     remove_leading_zeros();
609:   }
609: 
609:   void multiply(uint32_t value) {
609:     const double_bigit wide_value = value;
609:     bigit carry = 0;
609:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
609:       double_bigit result = bigits_[i] * wide_value + carry;
609:       bigits_[i] = static_cast<bigit>(result);
609:       carry = static_cast<bigit>(result >> bigit_bits);
609:     }
609:     if (carry != 0) bigits_.push_back(carry);
609:   }
609: 
609:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
609:                                                                               >
609:   void multiply(UInt value) {
609:     using half_uint =
609:         conditional_t<std::is_same<UInt, uint128_t>::value, uint64_t, uint32_t>;
609:     const int shift = num_bits<half_uint>() - bigit_bits;
609:     const UInt lower = static_cast<half_uint>(value);
609:     const UInt upper = value >> num_bits<half_uint>();
609:     UInt carry = 0;
609:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
609:       UInt result = lower * bigits_[i] + static_cast<bigit>(carry);
609:       carry = (upper * bigits_[i] << shift) + (result >> bigit_bits) +
609:               (carry >> bigit_bits);
609:       bigits_[i] = static_cast<bigit>(result);
609:     }
609:     while (carry != 0) {
609:       bigits_.push_back(static_cast<bigit>(carry));
609:       carry >>= bigit_bits;
609:     }
609:   }
609: 
609:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
609:                                                                               >
609:   void assign(UInt n) {
609:     size_t num_bigits = 0;
609:     do {
609:       bigits_[num_bigits++] = static_cast<bigit>(n);
609:       n >>= bigit_bits;
609:     } while (n != 0);
609:     bigits_.resize(num_bigits);
609:     exp_ = 0;
609:   }
609: 
609:  public:
609:   bigint() : exp_(0) {}
609:   explicit bigint(uint64_t n) { assign(n); }
609: 
609:   bigint(const bigint&) = delete;
609:   void operator=(const bigint&) = delete;
609: 
609:   void assign(const bigint& other) {
609:     auto size = other.bigits_.size();
609:     bigits_.resize(size);
609:     auto data = other.bigits_.data();
609:     std::copy(data, data + size, make_checked(bigits_.data(), size));
609:     exp_ = other.exp_;
609:   }
609: 
609:   template <typename Int> void operator=(Int n) {
609:     ::fmt::detail::ignore_unused((n > 0), (""));
609:     assign(uint64_or_128_t<Int>(n));
609:   }
609: 
609:   int num_bigits() const {
609:     return static_cast<int>(bigits_.size()) + exp_;
609:   }
609: 
609:   __attribute__((noinline)) bigint& operator<<=(int shift) {
609:     ::fmt::detail::ignore_unused((shift >= 0), (""));
609:     exp_ += shift / bigit_bits;
609:     shift %= bigit_bits;
609:     if (shift == 0) return *this;
609:     bigit carry = 0;
609:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
609:       bigit c = bigits_[i] >> (bigit_bits - shift);
609:       bigits_[i] = (bigits_[i] << shift) + carry;
609:       carry = c;
609:     }
609:     if (carry != 0) bigits_.push_back(carry);
609:     return *this;
609:   }
609: 
609:   template <typename Int> bigint& operator*=(Int value) {
609:     ::fmt::detail::ignore_unused((value > 0), (""));
609:     multiply(uint32_or_64_or_128_t<Int>(value));
609:     return *this;
609:   }
609: 
609:   friend int compare(const bigint& lhs, const bigint& rhs) {
609:     int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits();
609:     if (num_lhs_bigits != num_rhs_bigits)
609:       return num_lhs_bigits > num_rhs_bigits ? 1 : -1;
609:     int i = static_cast<int>(lhs.bigits_.size()) - 1;
609:     int j = static_cast<int>(rhs.bigits_.size()) - 1;
609:     int end = i - j;
609:     if (end < 0) end = 0;
609:     for (; i >= end; --i, --j) {
609:       bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j];
609:       if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1;
609:     }
609:     if (i != j) return i > j ? 1 : -1;
609:     return 0;
609:   }
609: 
609: 
609:   friend int add_compare(const bigint& lhs1, const bigint& lhs2,
609:                                          const bigint& rhs) {
609:     auto minimum = [](int a, int b) { return a < b ? a : b; };
609:     auto maximum = [](int a, int b) { return a > b ? a : b; };
609:     int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits());
609:     int num_rhs_bigits = rhs.num_bigits();
609:     if (max_lhs_bigits + 1 < num_rhs_bigits) return -1;
609:     if (max_lhs_bigits > num_rhs_bigits) return 1;
609:     auto get_bigit = [](const bigint& n, int i) -> bigit {
609:       return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0;
609:     };
609:     .0f;
1417: 
1417:   EdgeInsets() = default;
1417:   EdgeInsets(float l, float t, float r, float b);
1417: };
1417: 
1417: struct RESOLUTION_INFO
1417: {
1417:   OVERSCAN Overscan;
1417:   EdgeInsets guiInsets;
1417:   bool bFullScreen;
1417:   int iWidth;
1417:   int iHeight;
1417:   int iBlanking;
1417:   int iScreenWidth;
1417:   int iScreenHeight;
1417:   int iSubtitles;
1417:   uint32_t dwFlags;
1417:   float fPixelRatio;
1417:   float fRefreshRate;
1417:   std::string strMode;
1417:   std::string strOutput;
1417:   std::string strId;
1417: public:
1417:   RESOLUTION_INFO(int width = 1280, int height = 720, float aspect = 0, const std::string &mode = "");
1417:   float DisplayRatio() const;
1417:   RESOLUTION_INFO(const RESOLUTION_INFO& res);
1417:   RESOLUTION_INFO& operator=(const RESOLUTION_INFO&) = default;
1417: };
1417: 
1417: class CResolutionUtils
1417: {
1417: public:
1417:   static RESOLUTION ChooseBestResolution(float fps, int width, int height, bool is3D);
1417:   static bool HasWhitelist();
1417:   static void PrintWhitelist();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static void GetMaxAllowedResolution(unsigned int& width, unsigned int& height);
1417: 
1417: protected:
1417:   static void FindResolutionFromWhitelist(float fps, int width, int height, bool is3D, RESOLUTION &resolution);
1417:   static bool FindResolutionFromOverride(float fps, int width, bool is3D, RESOLUTION &resolution, float& weight, bool fallback);
1417:   static float RefreshWeight(float refresh, float fps);
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h"
1417:        
1417: 
1417: enum RENDER_STEREO_VIEW
1417: {
1417:   RENDER_STEREO_VIEW_OFF,
1417:   RENDER_STEREO_VIEW_LEFT,
1417:   RENDER_STEREO_VIEW_RIGHT,
1417: };
1417: 
1417: enum RENDER_STEREO_MODE
1417: {
1417:   RENDER_STEREO_MODE_OFF,
1417:   RENDER_STEREO_MODE_SPLIT_HORIZONTAL,
1417:   RENDER_STEREO_MODE_SPLIT_VERTICAL,
1417:   RENDER_STEREO_MODE_ANAGLYPH_RED_CYAN,
1417:   RENDER_STEREO_MODE_ANAGLYPH_GREEN_MAGENTA,
1417:   RENDER_STEREO_MODE_ANAGLYPH_YELLOW_BLUE,
1417:   RENDER_STEREO_MODE_INTERLACED,
1417:   RENDER_STEREO_MODE_CHECKERBOARD,
1417:   RENDER_STEREO_MODE_HARDWAREBASED,
1417:   RENDER_STEREO_MODE_MONO,
1417:   RENDER_STEREO_MODE_COUNT,
1417: 
1417: 
1417:   RENDER_STEREO_MODE_AUTO = 100,
1417:   RENDER_STEREO_MODE_UNDEFINED = 999,
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 2
1417: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1417: class CGUIImage;
1417: class CGUITextLayout;
1417: 
1417: class CRenderSystemBase
1417: {
1417: public:
1417:   CRenderSystemBase();
1417:   virtual ~CRenderSystemBase();
1417: 
1417:   virtual bool InitRenderSystem() = 0;
1417:   virtual bool DestroyRenderSystem() = 0;
1417:   virtual bool ResetRenderSystem(int width, int height) = 0;
1417: 
1417:   virtual bool BeginRender() = 0;
1417:   virtual bool EndRender() = 0;
1417:   virtual void PresentRender(bool rendered, bool videoLayer) = 0;
1417:   virtual bool ClearBuffers(UTILS::COLOR::Color color) = 0;
1417:   virtual bool IsExtSupported(const char* extension) const = 0;
1417: 
1417:   virtual void SetViewPort(const CRect& viewPort) = 0;
1417:   virtual void GetViewPort(CRect& viewPort) = 0;
1417:   virtual void RestoreViewPort() {}
1417: 
1417:   virtual bool ScissorsCanEffectClipping() { return false; }
1417:   virtual CRect ClipRectToScissorRect(const CRect &rect) { return CRect(); }
1417:   virtual void SetScissors(const CRect &rect) = 0;
1417:   virtual void ResetScissors() = 0;
1417: 
1417:   virtual void CaptureStateBlock() = 0;
1417:   virtual void ApplyStateBlock() = 0;
1417: 
1417:   virtual void SetCameraPosition(const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor = 0.f) = 0;
1417:   virtual void SetStereoMode(RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view)
1417:   {
1417:     m_stereoMode = mode;
1417:     m_stereoView = view;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Project(float &x, float &y, float &z) { }
1417: 
1417:   virtual std::string GetShaderPath(const std::string &filename) { return ""; }
1417: 
1417:   void GetRenderVersion(unsigned int& major, unsigned int& minor) const;
1417:   const std::string& GetRenderVendor() const { return m_RenderVendor; }
1417:   const std::string& GetRenderRenderer() const { return m_RenderRenderer; }
1417:   const std::string& GetRenderVersionString() const { return m_RenderVersion; }
1417:   virtual bool SupportsNPOT(bool dxt) const;
1417:   virtual bool SupportsStereo(RENDER_STEREO_MODE mode) const;
1417:   unsigned int GetMaxTextureSize() const { return m_maxTextureSize; }
1417:   unsigned int GetMinDXTPitch() const { return m_minDXTPitch; }
1417: 
1417:   virtual void ShowSplash(const std::string& message);
1417: 
1417: protected:
1417:   bool m_bRenderCreated;
1417:   bool m_bVSync;
1417:   unsigned int m_maxTextureSize;
1417:   unsigned int m_minDXTPitch;
1417: 
1417:   std::string m_RenderRenderer;
1417:   std::string m_RenderVendor;
1417:   std::string m_RenderVersion;
1417:   int m_RenderVersionMinor;
1417:   int m_RenderVersionMajor;
1417:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1417:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1417:   bool m_limitedColorRange = false;
1417: 
1417:   std::unique_ptr<CGUIImage> m_splashImage;
1417:   std::unique_ptr<CGUITextLayout> m_splashMessageLayout;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1417:        
1417: 
1417: namespace XbmcThreads
1417: {
1417: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1417:   template<class L> class CountingLockable
1417:   {
1417:     friend class ConditionVariable;
1417: 
1417:     CountingLockable(const CountingLockable&) = delete;
1417:     CountingLockable& operator=(const CountingLockable&) = delete;
1417:   protected:
1417:     L mutex;
1417:     unsigned int count = 0;
1417: 
1417:   public:
1417:     inline CountingLockable() = default;
1417: 
1417: 
1417:     inline void lock() { mutex.lock(); count++; }
1417:     inline bool try_lock() { return mutex.try_lock() ? count++, true : false; }
1417:     inline void unlock() { count--; mutex.unlock(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     inline bool IsLocked() const { return count > 0; }
1417: 
1417: 
1417: 
1417: 
1417:     inline unsigned int exit(unsigned int leave = 0)
1417:     {
1417: 
1417: 
1417:       unsigned int ret = 0;
1417:       if (try_lock())
1417:       {
1417:         if (leave < (count - 1))
1417:         {
1417:           ret = count - 1 - leave;
1417: 
1417: 
1417: 
1417: 
1417:           for (unsigned int i = 0; i < ret; i++)
1417:             unlock();
1417:         }
1417:         unlock();
1417:       }
1417: 
1417:       return ret;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:     inline void restore(unsigned int restoreCount)
1417:     {
1417:       for (unsigned int i = 0; i < restoreCount; i++)
1417:         lock();
1417:     }
1417: # 104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1417:     inline L& get_underlying() { return mutex; }
1417:   };
1417: 
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1417:        double_bigit borrow = 0;
609:     int min_exp = minimum(minimum(lhs1.exp_, lhs2.exp_), rhs.exp_);
609:     for (int i = num_rhs_bigits - 1; i >= min_exp; --i) {
609:       double_bigit sum =
609:           static_cast<double_bigit>(get_bigit(lhs1, i)) + get_bigit(lhs2, i);
609:       bigit rhs_bigit = get_bigit(rhs, i);
609:       if (sum > rhs_bigit + borrow) return 1;
609:       borrow = rhs_bigit + borrow - sum;
609:       if (borrow > 1) return -1;
609:       borrow <<= bigit_bits;
609:     }
609:     return borrow != 0 ? -1 : 0;
609:   }
609: 
609: 
609:   void assign_pow10(int exp) {
609:     ::fmt::detail::ignore_unused((exp >= 0), (""));
609:     if (exp == 0) return *this = 1;
609: 
609:     int bitmask = 1;
609:     while (exp >= bitmask) bitmask <<= 1;
609:     bitmask >>= 1;
609: 
609: 
609:     *this = 5;
609:     bitmask >>= 1;
609:     while (bitmask != 0) {
609:       square();
609:       if ((exp & bitmask) != 0) *this *= 5;
609:       bitmask >>= 1;
609:     }
609:     *this <<= exp;
609:   }
609: 
609:   void square() {
609:     int num_bigits = static_cast<int>(bigits_.size());
609:     int num_result_bigits = 2 * num_bigits;
609:     basic_memory_buffer<bigit, bigits_capacity> n(std::move(bigits_));
609:     bigits_.resize(to_unsigned(num_result_bigits));
609:     auto sum = uint128_t();
609:     for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) {
609: 
609: 
609:       for (int i = 0, j = bigit_index; j >= 0; ++i, --j) {
609: 
609:         sum += static_cast<double_bigit>(n[i]) * n[j];
609:       }
609:       (*this)[bigit_index] = static_cast<bigit>(sum);
609:       sum >>= num_bits<bigit>();
609:     }
609: 
609:     for (int bigit_index = num_bigits; bigit_index < num_result_bigits;
609:          ++bigit_index) {
609:       for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;)
609:         sum += static_cast<double_bigit>(n[i++]) * n[j--];
609:       (*this)[bigit_index] = static_cast<bigit>(sum);
609:       sum >>= num_bits<bigit>();
609:     }
609:     remove_leading_zeros();
609:     exp_ *= 2;
609:   }
609: 
609: 
609: 
609:   void align(const bigint& other) {
609:     int exp_difference = exp_ - other.exp_;
609:     if (exp_difference <= 0) return;
609:     int num_bigits = static_cast<int>(bigits_.size());
609:     bigits_.resize(to_unsigned(num_bigits + exp_difference));
609:     for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j)
609:       bigits_[j] = bigits_[i];
609:     std::uninitialized_fill_n(bigits_.data(), exp_difference, 0);
609:     exp_ -= exp_difference;
609:   }
609: 
609: 
609: 
609:   int divmod_assign(const bigint& divisor) {
609:     ::fmt::detail::ignore_unused((this != &divisor), (""));
609:     if (compare(*this, divisor) < 0) return 0;
609:     ::fmt::detail::ignore_unused((divisor.bigits_[divisor.bigits_.size() - 1u] != 0), (""));
609:     align(divisor);
609:     int quotient = 0;
609:     do {
609:       subtract_aligned(divisor);
609:       ++quotient;
609:     } while (compare(*this, divisor) >= 0);
609:     return quotient;
609:   }
609: };
609: 
609: 
609: enum dragon {
609:   predecessor_closer = 1,
609:   fixup = 2,
609:   fixed = 4,
609: };
609: 
609: 
609: 
609: 
609:  inline void format_dragon(basic_fp<uint128_t> value,
609:                                           unsigned flags, int num_digits,
609:                                           buffer<char>& buf, int& exp10) {
609:   bigint numerator;
609:   bigint denominator;
609: 
609:   bigint lower;
609:   bigint upper_store;
609:   bigint* upper = nullptr;
609: 
609: 
609: 
609:   bool is_predecessor_closer = (flags & dragon::predecessor_closer) != 0;
609:   int shift = is_predecessor_closer ? 2 : 1;
609:   if (value.e >= 0) {
609:     numerator = value.f;
609:     numerator <<= value.e + shift;
609:     lower = 1;
609:     lower <<= value.e;
609:     if (is_predecessor_closer) {
609:       upper_store = 1;
609:       upper_store <<= value.e + 1;
609:       upper = &upper_store;
609:     }
609:     denominator.assign_pow10(exp10);
609:     denominator <<= shift;
609:   } else if (exp10 < 0) {
609:     numerator.assign_pow10(-exp10);
609:     lower.assign(numerator);
609:     if (is_predecessor_closer) {
609:       upper_store.assign(numerator);
609:       upper_store <<= 1;
609:       upper = &upper_store;
609:     }
609:     numerator *= value.f;
609:     numerator <<= shift;
609:     denominator = 1;
609:     denominator <<= shift - value.e;
609:   } else {
609:     numerator = value.f;
609:     numerator <<= shift;
609:     denominator.assign_pow10(exp10);
609:     denominator <<= shift - value.e;
609:     lower = 1;
609:     if (is_predecessor_closer) {
609:       upper_store = 1ULL << 1;
609:       upper = &upper_store;
609:     }
609:   }
609:   int even = static_cast<int>((value.f & 1) == 0);
609:   if (!upper) upper = &lower;
609:   if ((flags & dragon::fixup) != 0) {
609:     if (add_compare(numerator, *upper, denominator) + even <= 0) {
609:       --exp10;
609:       numerator *= 10;
609:       if (num_digits < 0) {
609:         lower *= 10;
609:         if (upper != &lower) *upper *= 10;
609:       }
609:     }
609:     if ((flags & dragon::fixed) != 0) adjust_precision(num_digits, exp10 + 1);
609:   }
609: 
609:   if (num_digits < 0) {
609: 
609:     num_digits = 0;
609:     char* data = buf.data();
609:     for (;;) {
609:       int digit = numerator.divmod_assign(denominator);
609:       bool low = compare(numerator, lower) - even < 0;
609: 
609:       bool high = add_compare(numerator, *upper, denominator) + even > 0;
609:       data[num_digits++] = static_cast<char>('0' + digit);
609:       if (low || high) {
609:         if (!low) {
609:           ++data[num_digits - 1];
609:         } else if (high) {
609:           int result = add_compare(numerator, numerator, denominator);
609: 
609:           if (result > 0 || (result == 0 && (digit % 2) != 0))
609:             ++data[num_digits - 1];
609:         }
609:         buf.try_resize(to_unsigned(num_digits));
609:         exp10 -= num_digits - 1;
609:         return;
609:       }
609:       numerator *= 10;
609:       lower *= 10;
609:       if (upper != &lower) *upper *= 10;
609:     }
609:   }
609: 
609:   exp10 -= num_digits - 1;
609:   if (num_digits == 0) {
609:     denominator *= 10;
609:     auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
609:     buf.push_back(digit);
609:     return;
609:   }
609:   buf.try_resize(to_unsigned(num_digits));
609:   for (int i = 0; i < num_digits - 1; ++i) {
609:     int digit = numerator.divmod_assign(denominator);
609:     buf[i] = static_cast<char>('0' + digit);
609:     numerator *= 10;
609:   }
609:   int digit = numerator.divmod_assign(denominator);
609:   auto result = add_compare(numerator, numerator, denominator);
609:   if (result > 0 || (result == 0 && (digit % 2) != 0)) {
609:     if (digit == 9) {
609:       const auto overflow = '0' + 10;
609:       buf[num_digits - 1] = overflow;
609: 
609:       for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) {
609:         buf[i] = '0';
609:         ++buf[i - 1];
609:       }
609:       if (buf[0] == overflow) {
609:         buf[0] = '1';
609:         ++exp10;
609:       }
609:       return;
609:     }
609:     ++digit;
609:   }
609:   buf[num_digits - 1] = static_cast<char>('0' + digit);
609: }
609: 
609: template <typename Float>
609:  auto format_float(Float value, int precision, float_specs specs,
609:                                   buffer<char>& buf) -> int {
609: 
609:   static_assert(!std::is_same<Float, float>::value, "");
609:   ::fmt::detail::ignore_unused((value >= 0), ("value is negative"));
609:   auto converted_value = convert_float(value);
609: 
609:   const bool fixed = specs.format == float_format::fixed;
609:   if (value <= 0) {
609:     if (precision <= 0 || !fixed) {
609:       buf.push_back('0');
609:       return 0;
609:     }
609:     buf.try_resize(to_unsigned(precision));
609:     fill_n(buf.data(), precision, '0');
609:     return -precision;
609:   }
609: 
609:   int exp = 0;
609:   bool use_dragon = true;
609:   unsigned dragon_flags = 0;
6
1417: 
1417: # 1 "/usr/include/c++/12/mutex" 1 3
1417: # 32 "/usr/include/c++/12/mutex" 3
1417:        
1417: # 33 "/usr/include/c++/12/mutex" 3
1417: # 41 "/usr/include/c++/12/mutex" 3
1417: # 1 "/usr/include/c++/12/system_error" 1 3
1417: # 32 "/usr/include/c++/12/system_error" 3
1417:        
1417: # 33 "/usr/include/c++/12/system_error" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 1 3
1417: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
1417: # 1 "/usr/include/c++/12/cerrno" 1 3
1417: # 39 "/usr/include/c++/12/cerrno" 3
1417:        
1417: # 40 "/usr/include/c++/12/cerrno" 3
1417: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 2 3
1417: 
1417: 
1417: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   enum class errc
1417:     {
1417:       address_family_not_supported = 97,
1417:       address_in_use = 98,
1417:       address_not_available = 99,
1417:       already_connected = 106,
1417:       argument_list_too_long = 7,
1417:       argument_out_of_domain = 33,
1417:       bad_address = 14,
1417:       bad_file_descriptor = 9,
1417: 
1417: 
1417:       bad_message = 74,
1417: 
1417: 
1417:       broken_pipe = 32,
1417:       connection_aborted = 103,
1417:       connection_already_in_progress = 114,
1417:       connection_refused = 111,
1417:       connection_reset = 104,
1417:       cross_device_link = 18,
1417:       destination_address_required = 89,
1417:       device_or_resource_busy = 16,
1417:       directory_not_empty = 39,
1417:       executable_format_error = 8,
1417:       file_exists = 17,
1417:       file_too_large = 27,
1417:       filename_too_long = 36,
1417:       function_not_supported = 38,
1417:       host_unreachable = 113,
1417: 
1417: 
1417:       identifier_removed = 43,
1417: 
1417: 
1417:       illegal_byte_sequence = 84,
1417:       inappropriate_io_control_operation = 25,
1417:       interrupted = 4,
1417:       invalid_argument = 22,
1417:       invalid_seek = 29,
1417:       io_error = 5,
1417:       is_a_directory = 21,
1417:       message_size = 90,
1417:       network_down = 100,
1417:       network_reset = 102,
1417:       network_unreachable = 101,
1417:       no_buffer_space = 105,
1417:       no_child_process = 10,
1417: 
1417: 
1417:       no_link = 67,
1417: 
1417: 
1417:       no_lock_available = 37,
1417: 
1417: 
1417:       no_message_available = 61,
1417: 
1417: 
1417:       no_message = 42,
1417:       no_protocol_option = 92,
1417:       no_space_on_device = 28,
1417: 
1417: 
1417:       no_stream_resources = 63,
1417: 
1417: 
1417:       no_such_device_or_address = 6,
1417:       no_such_device = 19,
1417:       no_such_file_or_directory = 2,
1417:       no_such_process = 3,
1417:       not_a_directory = 20,
1417:       not_a_socket = 88,
1417: 
1417: 
1417:       not_a_stream = 60,
1417: 
1417: 
1417:       not_connected = 107,
1417:       not_enough_memory = 12,
1417: 
1417: 
1417:       not_supported = 95,
1417: 
1417: 
1417: 
1417:       operation_canceled = 125,
1417: 
1417: 
1417:       operation_in_progress = 115,
1417:       operation_not_permitted = 1,
1417:       operation_not_supported = 95,
1417:       operation_would_block = 11,
1417: 
1417: 
1417:       owner_dead = 130,
1417: 
1417: 
1417:       permission_denied = 13,
1417: 
1417: 
1417:       protocol_error = 71,
1417: 
1417: 
1417:       protocol_not_supported = 93,
1417:       read_only_file_system = 30,
1417:       resource_deadlock_would_occur = 35,
1417:       resource_unavailable_try_again = 11,
1417:       result_out_of_range = 34,
1417: 
1417: 
1417:       state_not_recoverable = 131,
1417: 
1417: 
1417: 
1417:       stream_timeout = 62,
1417: 
1417: 
1417: 
1417:       text_file_busy = 26,
1417: 
1417: 
1417:       timed_out = 110,
1417:       too_many_files_open_in_system = 23,
1417:       too_many_files_open = 24,
1417:       too_many_links = 31,
1417:       too_many_symbolic_link_levels = 40,
1417: 
1417: 
1417:       value_too_large = 75,
1417: 
1417: 
1417:       wrong_protocol_type = 91
1417:     };
1417: 
1417: 
1417: }
1417: # 40 "/usr/include/c++/12/system_error" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class error_code;
1417:   class error_condition;
1417:   class system_error;
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_error_code_enum : public false_type { };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct is_error_condition_enum : public false_type { };
1417: 
1417:   template<>
1417:     struct is_error_condition_enum<errc>
1417:     : public true_type { };
1417: 
1417: 
1417:   template <typename _Tp>
1417:     inline constexpr bool is_error_code_enum_v =
1417:       is_error_code_enum<_Tp>::value;
1417:   template <typename _Tp>
1417:     inline constexpr bool is_error_condition_enum_v =
1417:       is_error_condition_enum<_Tp>::value;
1417: 
1417: 
1417: 
1417:   inline namespace _V2 {
1417: # 97 "/usr/include/c++/12/system_error" 3
1417:   class error_category
1417:   {
1417:   public:
1417:     constexpr error_category() noexcept = default;
1417: 
1417:     virtual ~error_category();
1417: 
1417:     error_category(const error_category&) = delete;
1417:     error_category& operator=(const error_category&) = delete;
1417: 
1417:     virtual const char*
1417:     name() const noexcept = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   private:
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     virtual __cow_string
1417:     _M_message(int) const;
1417: 
1417:   public:
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     virtual string
1417:     message(int) const = 0;
1417: # 133 "/usr/include/c++/12/system_error" 3
1417:   public:
1417:     virtual error_condition
1417:     default_error_condition(int __i) const noexcept;
1417: 
1417:     virtual bool
1417:     equivalent(int __i, const error_condition& __cond) const noexcept;
1417: 
1417:     virtual bool
1417:     equivalent(const error_code& __code, int __i) const noexcept;
1417: 
1417:     bool
1417:     operator==(const error_category& __other) const noexcept
1417:     { return this == &__other; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     bool
1417:     operator!=(const error_category& __other) const noexcept
1417:     { return this != &__other; }
1417: 
1417:     bool
1417:     operator<(const error_category& __other) const noexcept
1417:     { return less<const error_category*>()(this, &__other); }
1417: 
1417:   };
1417: 
1417: 
1417: 
1417: 
1417:   __attribute__ ((__const__)) const error_category& generic_category() noexcept;
1417: 
1417: 
1417:   __attribute__ ((__const__)) const error_category& system_category() noexcept;
1417: 
1417: 
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   error_code make_error_code(errc) noexcept;
1417: # 196 "/usr/include/c++/12/system_error" 3
1417:   class error_code
1417:   {
1417:   public:
1417:     error_code() noexcept
1417:     : _M_value(0), _M_cat(&system_category()) { }
1417: 
1417:     error_code(int __v, const error_category& __cat) noexcept
1417:     : _M_value(__v), _M_cat(&__cat) { }
1417: 
1417:     template<typename _ErrorCodeEnum, typename = typename
1417:       enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type>
1417:       error_code(_ErrorCodeEnum __e) noexcept
1417:       { *this = make_error_code(__e); }
1417: 
1417:     void
1417:     assign(int __v, const error_category& __cat) noexcept
1417:     {
1417:       _M_value = __v;
1417:       _M_cat = &__cat;
1417:     }
1417: 
1417:     void
1417:     clear() noexcept
1417:     { assign(0, system_category()); }
1417: 
1417: 
1417:     template<typename _ErrorCodeEnum>
1417:       typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value,
1417:     error_code&>::type
1417:       operator=(_ErrorCodeEnum __e) noexcept
1417:       { return *this = make_error_code(__e); }
1417: 
1417:     int
1417:  09:   if (!is_fast_float<Float>()) {
609:     const auto inv_log2_10 = 0.3010299956639812;
609:     using info = dragonbox::float_info<decltype(converted_value)>;
609:     const auto f = basic_fp<typename info::carrier_uint>(converted_value);
609: 
609: 
609: 
609: 
609:     exp = static_cast<int>(
609:         std::ceil((f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10));
609:     dragon_flags = dragon::fixup;
609:   } else if (!is_constant_evaluated() && precision < 0) {
609: 
609:     if (specs.binary32) {
609:       auto dec = dragonbox::to_decimal(static_cast<float>(value));
609:       write<char>(buffer_appender<char>(buf), dec.significand);
609:       return dec.exponent;
609:     }
609:     auto dec = dragonbox::to_decimal(static_cast<double>(value));
609:     write<char>(buffer_appender<char>(buf), dec.significand);
609:     return dec.exponent;
609:   } else {
609: 
609: 
609:     const int min_exp = -60;
609:     int cached_exp10 = 0;
609:     fp normalized = normalize(fp(converted_value));
609:     const auto cached_pow = get_cached_power(
609:         min_exp - (normalized.e + fp::num_significand_bits), cached_exp10);
609:     normalized = normalized * cached_pow;
609:     gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed};
609:     if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error &&
609:         !is_constant_evaluated()) {
609:       exp += handler.exp10;
609:       buf.try_resize(to_unsigned(handler.size));
609:       use_dragon = false;
609:     } else {
609:       exp += handler.size - cached_exp10 - 1;
609:       precision = handler.precision;
609:     }
609:   }
609:   if (use_dragon) {
609:     auto f = basic_fp<uint128_t>();
609:     bool is_predecessor_closer = specs.binary32
609:                                      ? f.assign(static_cast<float>(value))
609:                                      : f.assign(converted_value);
609:     if (is_predecessor_closer) dragon_flags |= dragon::predecessor_closer;
609:     if (fixed) dragon_flags |= dragon::fixed;
609: 
609: 
609:     const int max_double_digits = 767;
609:     if (precision > max_double_digits) precision = max_double_digits;
609:     format_dragon(f, dragon_flags, precision, buf, exp);
609:   }
609:   if (!fixed && !specs.showpoint) {
609: 
609:     auto num_digits = buf.size();
609:     while (num_digits > 0 && buf[num_digits - 1] == '0') {
609:       --num_digits;
609:       ++exp;
609:     }
609:     buf.try_resize(num_digits);
609:   }
609:   return exp;
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(is_floating_point<T>::value), int> = 0>
609:  auto write(OutputIt out, T value,
609:                            basic_format_specs<Char> specs, locale_ref loc = {})
609:     -> OutputIt {
609:   if (const_check(!is_supported_floating_point(value))) return out;
609:   float_specs fspecs = parse_float_type_spec(specs);
609:   fspecs.sign = specs.sign;
609:   if (detail::signbit(value)) {
609:     fspecs.sign = sign::minus;
609:     value = -value;
609:   } else if (fspecs.sign == sign::minus) {
609:     fspecs.sign = sign::none;
609:   }
609: 
609:   if (!detail::isfinite(value))
609:     return write_nonfinite(out, detail::isnan(value), specs, fspecs);
609: 
609:   if (specs.align == align::numeric && fspecs.sign) {
609:     auto it = reserve(out, 1);
609:     *it++ = detail::sign<Char>(fspecs.sign);
609:     out = base_iterator(out, it);
609:     fspecs.sign = sign::none;
609:     if (specs.width != 0) --specs.width;
609:   }
609: 
609:   memory_buffer buffer;
609:   if (fspecs.format == float_format::hex) {
609:     if (fspecs.sign) buffer.push_back(detail::sign<char>(fspecs.sign));
609:     snprintf_float(convert_float(value), specs.precision, fspecs, buffer);
609:     return write_bytes<align::right>(out, {buffer.data(), buffer.size()},
609:                                      specs);
609:   }
609:   int precision = specs.precision >= 0 || specs.type == presentation_type::none
609:                       ? specs.precision
609:                       : 6;
609:   if (fspecs.format == float_format::exp) {
609:     if (precision == max_value<int>())
609:       throw_format_error("number is too big");
609:     else
609:       ++precision;
609:   } else if (fspecs.format != float_format::fixed && precision == 0) {
609:     precision = 1;
609:   }
609:   if (const_check(std::is_same<T, float>())) fspecs.binary32 = true;
609:   int exp = format_float(convert_float(value), precision, fspecs, buffer);
609:   fspecs.precision = precision;
609:   auto f = big_decimal_fp{buffer.data(), static_cast<int>(buffer.size()), exp};
609:   return write_float(out, f, specs, fspecs, loc);
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(is_fast_float<T>::value), int> = 0>
609:  auto write(OutputIt out, T value) -> OutputIt {
609:   if (is_constant_evaluated())
609:     return write(out, value, basic_format_specs<Char>());
609:   if (const_check(!is_supported_floating_point(value))) return out;
609: 
609:   auto fspecs = float_specs();
609:   if (detail::signbit(value)) {
609:     fspecs.sign = sign::minus;
609:     value = -value;
609:   }
609: 
609:   constexpr auto specs = basic_format_specs<Char>();
609:   using floaty = conditional_t<std::is_same<T, long double>::value, double, T>;
609:   using uint = typename dragonbox::float_info<floaty>::carrier_uint;
609:   uint mask = exponent_mask<floaty>();
609:   if ((bit_cast<uint>(value) & mask) == mask)
609:     return write_nonfinite(out, std::isnan(value), specs, fspecs);
609: 
609:   auto dec = dragonbox::to_decimal(static_cast<floaty>(value));
609:   return write_float(out, dec, specs, fspecs, {});
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(is_floating_point<T>::value && !is_fast_float<T>::value), int> = 0
609:                                                  >
609: inline auto write(OutputIt out, T value) -> OutputIt {
609:   return write(out, value, basic_format_specs<Char>());
609: }
609: 
609: template <typename Char, typename OutputIt>
609: auto write(OutputIt out, monostate, basic_format_specs<Char> = {},
609:            locale_ref = {}) -> OutputIt {
609:   ::fmt::detail::ignore_unused((false), (""));
609:   return out;
609: }
609: 
609: template <typename Char, typename OutputIt>
609: constexpr auto write(OutputIt out, basic_string_view<Char> value)
609:     -> OutputIt {
609:   auto it = reserve(out, value.size());
609:   it = copy_str_noinline<Char>(value.begin(), value.end(), it);
609:   return base_iterator(out, it);
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(is_string<T>::value), int> = 0>
609: constexpr auto write(OutputIt out, const T& value) -> OutputIt {
609:   return write<Char>(out, to_string_view(value));
609: }
609: 
609: 
609: template <
609:     typename Char, typename OutputIt, typename T,
609:     bool check =
609:         std::is_enum<T>::value && !std::is_same<T, Char>::value &&
609:         mapped_type_constant<T, basic_format_context<OutputIt, Char>>::value !=
609:             type::custom_type,
609:     enable_if_t<(check), int> = 0>
609: constexpr auto write(OutputIt out, T value) -> OutputIt {
609:   return write<Char>(out, static_cast<underlying_t<T>>(value));
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(std::is_same<T, bool>::value), int> = 0>
609: constexpr auto write(OutputIt out, T value,
609:                          const basic_format_specs<Char>& specs = {},
609:                          locale_ref = {}) -> OutputIt {
609:   return specs.type != presentation_type::none &&
609:                  specs.type != presentation_type::string
609:              ? write(out, value ? 1 : 0, specs, {})
609:              : write_bytes(out, value ? "true" : "false", specs);
609: }
609: 
609: template <typename Char, typename OutputIt>
609: constexpr auto write(OutputIt out, Char value) -> OutputIt {
609:   auto it = reserve(out, 1);
609:   *it++ = value;
609:   return base_iterator   value() const noexcept { return _M_value; }
1417: 
1417:     const error_category&
1417:     category() const noexcept { return *_M_cat; }
1417: 
1417:     error_condition
1417:     default_error_condition() const noexcept;
1417: 
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     string
1417:     message() const
1417:     { return category().message(value()); }
1417: 
1417:     explicit operator bool() const noexcept
1417:     { return _M_value != 0; }
1417: 
1417: 
1417:   private:
1417:     int _M_value;
1417:     const error_category* _M_cat;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline error_code
1417:   make_error_code(errc __e) noexcept
1417:   { return error_code(static_cast<int>(__e), generic_category()); }
1417: # 268 "/usr/include/c++/12/system_error" 3
1417:   inline bool
1417:   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
1417:   {
1417:     return (__lhs.category() < __rhs.category()
1417:      || (__lhs.category() == __rhs.category()
1417:   && __lhs.value() < __rhs.value()));
1417:   }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
1417:     { return (__os << __e.category().name() << ':' << __e.value()); }
1417: 
1417: 
1417: 
1417:   error_condition make_error_condition(errc) noexcept;
1417: # 297 "/usr/include/c++/12/system_error" 3
1417:   class error_condition
1417:   {
1417:   public:
1417:     error_condition() noexcept
1417:     : _M_value(0), _M_cat(&generic_category()) { }
1417: 
1417:     error_condition(int __v, const error_category& __cat) noexcept
1417:     : _M_value(__v), _M_cat(&__cat) { }
1417: 
1417:     template<typename _ErrorConditionEnum, typename = typename
1417:   enable_if<is_error_condition_enum<_ErrorConditionEnum>::value>::type>
1417:       error_condition(_ErrorConditionEnum __e) noexcept
1417:       { *this = make_error_condition(__e); }
1417: 
1417:     void
1417:     assign(int __v, const error_category& __cat) noexcept
1417:     {
1417:       _M_value = __v;
1417:       _M_cat = &__cat;
1417:     }
1417: 
1417: 
1417:     template<typename _ErrorConditionEnum>
1417:       typename enable_if<is_error_condition_enum
1417:     <_ErrorConditionEnum>::value, error_condition&>::type
1417:       operator=(_ErrorConditionEnum __e) noexcept
1417:       { return *this = make_error_condition(__e); }
1417: 
1417:     void
1417:     clear() noexcept
1417:     { assign(0, generic_category()); }
1417: 
1417: 
1417:     int
1417:     value() const noexcept { return _M_value; }
1417: 
1417:     const error_category&
1417:     category() const noexcept { return *_M_cat; }
1417: 
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     string
1417:     message() const
1417:     { return category().message(value()); }
1417: 
1417:     explicit operator bool() const noexcept
1417:     { return _M_value != 0; }
1417: 
1417: 
1417:   private:
1417:     int _M_value;
1417:     const error_category* _M_cat;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline error_condition
1417:   make_error_condition(errc __e) noexcept
1417:   { return error_condition(static_cast<int>(__e), generic_category()); }
1417: 
1417: 
1417: 
1417: 
1417:   inline bool
1417:   operator==(const error_code& __lhs, const error_code& __rhs) noexcept
1417:   { return (__lhs.category() == __rhs.category()
1417:      && __lhs.value() == __rhs.value()); }
1417: 
1417: 
1417:   inline bool
1417:   operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
1417:   {
1417:     return (__lhs.category().equivalent(__lhs.value(), __rhs)
1417:      || __rhs.category().equivalent(__lhs, __rhs.value()));
1417:   }
1417: 
1417: 
1417:   inline bool
1417:   operator==(const error_condition& __lhs,
1417:       const error_condition& __rhs) noexcept
1417:   {
1417:     return (__lhs.category() == __rhs.category()
1417:      && __lhs.value() == __rhs.value());
1417:   }
1417: # 397 "/usr/include/c++/12/system_error" 3
1417:   inline bool
1417:   operator<(const error_condition& __lhs,
1417:      const error_condition& __rhs) noexcept
1417:   {
1417:     return (__lhs.category() < __rhs.category()
1417:      || (__lhs.category() == __rhs.category()
1417:   && __lhs.value() < __rhs.value()));
1417:   }
1417: 
1417: 
1417:   inline bool
1417:   operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
1417:   {
1417:     return (__rhs.category().equivalent(__rhs.value(), __lhs)
1417:      || __lhs.category().equivalent(__rhs, __lhs.value()));
1417:   }
1417: 
1417: 
1417:   inline bool
1417:   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
1417:   { return !(__lhs == __rhs); }
1417: 
1417: 
1417:   inline bool
1417:   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
1417:   { return !(__lhs == __rhs); }
1417: 
1417: 
1417:   inline bool
1417:   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
1417:   { return !(__lhs == __rhs); }
1417: 
1417: 
1417:   inline bool
1417:   operator!=(const error_condition& __lhs,
1417:       const error_condition& __rhs) noexcept
1417:   { return !(__lhs == __rhs); }
1417: # 446 "/usr/include/c++/12/system_error" 3
1417:   class system_error : public std::runtime_error
1417:   {
1417:   private:
1417:     error_code _M_code;
1417: 
1417:   public:
1417:     system_error(error_code __ec = error_code())
1417:     : runtime_error(__ec.message()), _M_code(__ec) { }
1417: 
1417:     system_error(error_code __ec, const string& __what)
1417:     : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { }
1417: 
1417:     system_error(error_code __ec, const char* __what)
1417:     : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
1417: 
1417:     system_error(int __v, const error_category& __ecat, const char* __what)
1417:     : system_error(error_code(__v, __ecat), __what) { }
1417: 
1417:     system_error(int __v, const error_category& __ecat)
1417:     : runtime_error(error_code(__v, __ecat).message()),
1417:       _M_code(__v, __ecat) { }
1417: 
1417:     system_error(int __v, const error_category& __ecat, const string& __what)
1417:     : runtime_error(__what + ": " + error_code(__v, __ecat).message()),
1417:       _M_code(__v, __ecat) { }
1417: 
1417: 
1417:     system_error (const system_error &) = default;
1417:     system_error &operator= (const system_error &) = default;
1417: 
1417: 
1417:     virtual ~system_error() noexcept;
1417: 
1417:     const error_code&
1417:     code() const noexcept { return _M_code; }
1417:   };
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct hash<error_code>
1417:     : public __hash_base<size_t, error_code>
1417:     {
1417:       size_t
1417:       operator()(const error_code& __e) const noexcept
1417:       {
1417:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1417:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct hash<error_condition>
1417:     : public __hash_base<size_t, error_condition>
1417:     {
1417:       size_t
1417:       operator()(const error_condition& __e) const noexcept
1417:       {
1417:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1417:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 42 "/usr/include/c++/12/mutex" 2 3
1417: # 1 "/usr/include/c++/12/bits/chrono.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/chrono.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/chrono.h" 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/ratio" 1 3
1417: # 33 "/usr/include/c++/12/ratio" 3
1417:        
1417: # 34 "/usr/include/c++/12/ratio" 3
1417: # 42 "/usr/include/c++/12/ratio" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 56 "/usr/include/c++(out, it);
609: }
609: 
609: template <typename Char, typename OutputIt>
609: constexpr auto write(OutputIt out, const Char* value)
609:     -> OutputIt {
609:   if (!value) {
609:     throw_format_error("string pointer is null");
609:   } else {
609:     out = write(out, basic_string_view<Char>(value));
609:   }
609:   return out;
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           enable_if_t<(std::is_same<T, void>::value), int> = 0>
609: auto write(OutputIt out, const T* value,
609:            const basic_format_specs<Char>& specs = {}, locale_ref = {})
609:     -> OutputIt {
609:   check_pointer_type_spec(specs.type, error_handler());
609:   return write_ptr<Char>(out, bit_cast<uintptr_t>(value), &specs);
609: }
609: 
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           typename Context = basic_format_context<OutputIt, Char>>
609: constexpr auto write(OutputIt out, const T& value) -> enable_if_t<
609:     std::is_class<T>::value && !is_string<T>::value &&
609:         !is_floating_point<T>::value && !std::is_same<T, Char>::value &&
609:         !std::is_same<const T&,
609:                       decltype(arg_mapper<Context>().map(value))>::value,
609:     OutputIt> {
609:   return write<Char>(out, arg_mapper<Context>().map(value));
609: }
609: 
609: template <typename Char, typename OutputIt, typename T,
609:           typename Context = basic_format_context<OutputIt, Char>>
609: constexpr auto write(OutputIt out, const T& value)
609:     -> enable_if_t<mapped_type_constant<T, Context>::value == type::custom_type,
609:                    OutputIt> {
609:   using formatter_type =
609:       conditional_t<has_formatter<T, Context>::value,
609:                     typename Context::template formatter_type<T>,
609:                     fallback_formatter<T, Char>>;
609:   auto ctx = Context(out, {}, {});
609:   return formatter_type().format(value, ctx);
609: }
609: 
609: 
609: 
609: template <typename Char> struct default_arg_formatter {
609:   using iterator = buffer_appender<Char>;
609:   using context = buffer_context<Char>;
609: 
609:   iterator out;
609:   basic_format_args<context> args;
609:   locale_ref loc;
609: 
609:   template <typename T> auto operator()(T value) -> iterator {
609:     return write<Char>(out, value);
609:   }
609:   auto operator()(typename basic_format_arg<context>::handle h) -> iterator {
609:     basic_format_parse_context<Char> parse_ctx({});
609:     context format_ctx(out, args, loc);
609:     h.format(parse_ctx, format_ctx);
609:     return format_ctx.out();
609:   }
609: };
609: 
609: template <typename Char> struct arg_formatter {
609:   using iterator = buffer_appender<Char>;
609:   using context = buffer_context<Char>;
609: 
609:   iterator out;
609:   const basic_format_specs<Char>& specs;
609:   locale_ref locale;
609: 
609:   template <typename T>
609:   constexpr inline __attribute__((always_inline)) auto operator()(T value) -> iterator {
609:     return detail::write(out, value, specs, locale);
609:   }
609:   auto operator()(typename basic_format_arg<context>::handle) -> iterator {
609: 
609: 
609:     return out;
609:   }
609: };
609: 
609: template <typename Char> struct custom_formatter {
609:   basic_format_parse_context<Char>& parse_ctx;
609:   buffer_context<Char>& ctx;
609: 
609:   void operator()(
609:       typename basic_format_arg<buffer_context<Char>>::handle h) const {
609:     h.format(parse_ctx, ctx);
609:   }
609:   template <typename T> void operator()(T) const {}
609: };
609: 
609: template <typename T>
609: using is_integer =
609:     bool_constant<is_integral<T>::value && !std::is_same<T, bool>::value &&
609:                   !std::is_same<T, char>::value &&
609:                   !std::is_same<T, wchar_t>::value>;
609: 
609: template <typename ErrorHandler> class width_checker {
609:  public:
609:   explicit constexpr width_checker(ErrorHandler& eh) : handler_(eh) {}
609: 
609:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
609:   constexpr auto operator()(T value) -> unsigned long long {
609:     if (is_negative(value)) handler_.on_error("negative width");
609:     return static_cast<unsigned long long>(value);
609:   }
609: 
609:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
609:   constexpr auto operator()(T) -> unsigned long long {
609:     handler_.on_error("width is not integer");
609:     return 0;
609:   }
609: 
609:  private:
609:   ErrorHandler& handler_;
609: };
609: 
609: template <typename ErrorHandler> class precision_checker {
609:  public:
609:   explicit constexpr precision_checker(ErrorHandler& eh) : handler_(eh) {}
609: 
609:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
609:   constexpr auto operator()(T value) -> unsigned long long {
609:     if (is_negative(value)) handler_.on_error("negative precision");
609:     return static_cast<unsigned long long>(value);
609:   }
609: 
609:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
609:   constexpr auto operator()(T) -> unsigned long long {
609:     handler_.on_error("precision is not integer");
609:     return 0;
609:   }
609: 
609:  private:
609:   ErrorHandler& handler_;
609: };
609: 
609: template <template <typename> class Handler, typename FormatArg,
609:           typename ErrorHandler>
609: constexpr auto get_dynamic_spec(FormatArg arg, ErrorHandler eh) -> int {
609:   unsigned long long value = visit_format_arg(Handler<ErrorHandler>(eh), arg);
609:   if (value > to_unsigned(max_value<int>())) eh.on_error("number is too big");
609:   return static_cast<int>(value);
609: }
609: 
609: template <typename Context, typename ID>
609: constexpr auto get_arg(Context& ctx, ID id) ->
609:     typename Context::format_arg {
609:   auto arg = ctx.arg(id);
609:   if (!arg) ctx.on_error("argument not found");
609:   return arg;
609: }
609: 
609: 
609: template <typename Char> class specs_handler : public specs_setter<Char> {
609:  private:
609:   basic_format_parse_context<Char>& parse_context_;
609:   buffer_context<Char>& context_;
609: 
609: 
609:   using format_arg = basic_format_arg<buffer_context<Char>>;
609: 
609:   constexpr auto get_arg(auto_id) -> format_arg {
609:     return detail::get_arg(context_, parse_context_.next_arg_id());
609:   }
609: 
609:   constexpr auto get_arg(int arg_id) -> format_arg {
609:     parse_context_.check_arg_id(arg_id);
609:     return detail::get_arg(context_, arg_id);
609:   }
609: 
609:   constexpr auto get_arg(basic_string_view<Char> arg_id) -> format_arg {
609:     parse_context_.check_arg_id(arg_id);
609:     return detail::get_arg(context_, arg_id);
609:   }
609: 
609:  public:
609:   constexpr specs_handler(basic_format_specs<Char>& specs,
609:                               basic_format_parse_context<Char>& parse_ctx,
609:                               buffer_context<Char>& ctx)
609:       : specs_setter<Char>(specs), parse_context_(parse_ctx), context_(ctx) {}
609: 
609:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
609:     this->specs_.width = get_dynamic_spec<width_checker>(
609:         get_arg(arg_id), context_.error_handler());
609:   }
609: 
609:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
609:     this->specs_.precision = get_dynamic_spec<precision_checker>(
609:         get_arg(arg_id), context_.error_handler());
609:   }
609: 
609:   void on_error(const char* message) { context_.on_error(message); }
609: };
609: 
609: template <template <typename> class Handler, typename Context>
609: constexpr void handle_dynamic_spec(int& value,
609:                                        arg_ref<typename Context::char_type> ref,
609:                                        Context& ctx) {
609:   switch (ref.kind) {
609:   case arg_id_kind::none:
609:     break;
609:   case arg_id_kind::index:
609:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.index),
609:                                               ctx.error_handler());
609:     break;
609:   case arg_id_kind::name:
609:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.name),
/12/ratio" 3
1417:   template<intmax_t _Pn>
1417:     struct __static_sign
1417:     : integral_constant<intmax_t, (_Pn < 0) ? -1 : 1>
1417:     { };
1417: 
1417:   template<intmax_t _Pn>
1417:     struct __static_abs
1417:     : integral_constant<intmax_t, _Pn * __static_sign<_Pn>::value>
1417:     { };
1417: 
1417:   template<intmax_t _Pn, intmax_t _Qn>
1417:     struct __static_gcd
1417:     : __static_gcd<_Qn, (_Pn % _Qn)>
1417:     { };
1417: 
1417:   template<intmax_t _Pn>
1417:     struct __static_gcd<_Pn, 0>
1417:     : integral_constant<intmax_t, __static_abs<_Pn>::value>
1417:     { };
1417: 
1417:   template<intmax_t _Qn>
1417:     struct __static_gcd<0, _Qn>
1417:     : integral_constant<intmax_t, __static_abs<_Qn>::value>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<intmax_t _Pn, intmax_t _Qn>
1417:     struct __safe_multiply
1417:     {
1417:     private:
1417:       static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1417: 
1417:       static const uintmax_t __a0 = __static_abs<_Pn>::value % __c;
1417:       static const uintmax_t __a1 = __static_abs<_Pn>::value / __c;
1417:       static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
1417:       static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
1417: 
1417:       static_assert(__a1 == 0 || __b1 == 0,
1417:       "overflow in multiplication");
1417:       static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1),
1417:       "overflow in multiplication");
1417:       static_assert(__b0 * __a0 <= 0x7fffffffffffffffLL,
1417:       "overflow in multiplication");
1417:       static_assert((__a0 * __b1 + __b0 * __a1) * __c
1417:       <= 0x7fffffffffffffffLL - __b0 * __a0,
1417:       "overflow in multiplication");
1417: 
1417:     public:
1417:       static const intmax_t value = _Pn * _Qn;
1417:     };
1417: 
1417: 
1417: 
1417:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1417:     struct __big_less
1417:     : integral_constant<bool, (__hi1 < __hi2
1417:           || (__hi1 == __hi2 && __lo1 < __lo2))>
1417:     { };
1417: 
1417:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1417:     struct __big_add
1417:     {
1417:       static constexpr uintmax_t __lo = __lo1 + __lo2;
1417:       static constexpr uintmax_t __hi = (__hi1 + __hi2 +
1417:       (__lo1 + __lo2 < __lo1));
1417:     };
1417: 
1417: 
1417:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1417:     struct __big_sub
1417:     {
1417:       static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value,
1417:       "Internal library error");
1417:       static constexpr uintmax_t __lo = __lo1 - __lo2;
1417:       static constexpr uintmax_t __hi = (__hi1 - __hi2 -
1417:       (__lo1 < __lo2));
1417:     };
1417: 
1417: 
1417:   template<uintmax_t __x, uintmax_t __y>
1417:     struct __big_mul
1417:     {
1417:     private:
1417:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1417:       static constexpr uintmax_t __x0 = __x % __c;
1417:       static constexpr uintmax_t __x1 = __x / __c;
1417:       static constexpr uintmax_t __y0 = __y % __c;
1417:       static constexpr uintmax_t __y1 = __y / __c;
1417:       static constexpr uintmax_t __x0y0 = __x0 * __y0;
1417:       static constexpr uintmax_t __x0y1 = __x0 * __y1;
1417:       static constexpr uintmax_t __x1y0 = __x1 * __y0;
1417:       static constexpr uintmax_t __x1y1 = __x1 * __y1;
1417:       static constexpr uintmax_t __mix = __x0y1 + __x1y0;
1417:       static constexpr uintmax_t __mix_lo = __mix * __c;
1417:       static constexpr uintmax_t __mix_hi
1417:       = __mix / __c + ((__mix < __x0y1) ? __c : 0);
1417:       typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res;
1417:     public:
1417:       static constexpr uintmax_t __hi = _Res::__hi;
1417:       static constexpr uintmax_t __lo = _Res::__lo;
1417:     };
1417: 
1417: 
1417: 
1417:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1417:     struct __big_div_impl
1417:     {
1417:     private:
1417:       static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)),
1417:       "Internal library error");
1417:       static_assert(__n1 < __d, "Internal library error");
1417:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1417:       static constexpr uintmax_t __d1 = __d / __c;
1417:       static constexpr uintmax_t __d0 = __d % __c;
1417: 
1417:       static constexpr uintmax_t __q1x = __n1 / __d1;
1417:       static constexpr uintmax_t __r1x = __n1 % __d1;
1417:       static constexpr uintmax_t __m = __q1x * __d0;
1417:       static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c;
1417:       static constexpr uintmax_t __r1z = __r1y + __d;
1417:       static constexpr uintmax_t __r1
1417:       = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m))
1417:   ? (__r1z + __d) : __r1z : __r1y) - __m;
1417:       static constexpr uintmax_t __q1
1417:       = __q1x - ((__r1y < __m)
1417:    ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0);
1417:       static constexpr uintmax_t __q0x = __r1 / __d1;
1417:       static constexpr uintmax_t __r0x = __r1 % __d1;
1417:       static constexpr uintmax_t __n = __q0x * __d0;
1417:       static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c;
1417:       static constexpr uintmax_t __r0z = __r0y + __d;
1417:       static constexpr uintmax_t __r0
1417:       = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n))
1417:   ? (__r0z + __d) : __r0z : __r0y) - __n;
1417:       static constexpr uintmax_t __q0
1417:       = __q0x - ((__r0y < __n) ? ((__r0z >= __d)
1417:       && (__r0z < __n)) ? 2 : 1 : 0);
1417: 
1417:     public:
1417:       static constexpr uintmax_t __quot = __q1 * __c + __q0;
1417:       static constexpr uintmax_t __rem = __r0;
1417: 
1417:     private:
1417:       typedef __big_mul<__quot, __d> _Prod;
1417:       typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum;
1417:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1417:       "Internal library error");
1417:   };
1417: 
1417:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1417:     struct __big_div
1417:     {
1417:     private:
1417:       static_assert(__d != 0, "Internal library error");
1417:       static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
1417:       "This library calls __builtin_clzll on uintmax_t, which "
1417:       "is unsafe on your platform. Please complain to "
1417:       "http://gcc.gnu.org/bugzilla/");
1417:       static constexpr int __shift = __builtin_clzll(__d);
1417:       static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
1417:       static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;
1417:       static constexpr uintmax_t __c1 = uintmax_t(1) << __shift;
1417:       static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift;
1417:       static constexpr uintmax_t __new_d = __d * __c1;
1417:       static constexpr uintmax_t __new_n0 = __n0 * __c1;
1417:       static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1;
1417:       static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0;
1417:       static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top;
1417:       typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res;
1417: 
1417:     public:
1417:       static constexpr uintmax_t __quot_hi = __n1 / __d;
1417:       static constexpr uintmax_t __quot_lo = _Res::__quot;
1417:       static constexpr uintmax_t __rem = _Res::__rem / __c1;
1417: 
1417:     private:
1417:       typedef __big_mul<__quot_lo, __d> _P0;
1417:       typedef __big_mul<__quot_hi, __d> _P1;
1417:       typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum;
1417: 
1417:       static_assert(_P1::__hi == 0, "Internal library error");
1417:       static_assert(_Sum::__hi >= _P0::__hi, "Internal library error");
1417: 
1417:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1417:       "Internal library error");
1417:       static_assert(__rem < __d, "Internal library error");
1417:     };
1417: # 265 "/usr/include/c++/12/ratio" 3609:                                               ctx.error_handler());
609:     break;
609:   }
609: }
609: 
609: 
609: template <typename Char> struct udl_formatter {
609:   basic_string_view<Char> str;
609: 
609:   template <typename... T>
609:   auto operator()(T&&... args) const -> std::basic_string<Char> {
609:     return vformat(str, fmt::make_format_args<buffer_context<Char>>(args...));
609:   }
609: };
609: # 3573 "/usr/include/fmt/format.h" 3 4
609: template <typename Char> struct udl_arg {
609:   const Char* str;
609: 
609:   template <typename T> auto operator=(T&& value) const -> named_arg<Char, T> {
609:     return {str, std::forward<T>(value)};
609:   }
609: };
609: 
609: 
609: 
609: template <typename Locale, typename Char>
609: auto vformat(const Locale& loc, basic_string_view<Char> format_str,
609:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
609:     -> std::basic_string<Char> {
609:   basic_memory_buffer<Char> buffer;
609:   detail::vformat_to(buffer, format_str, args, detail::locale_ref(loc));
609:   return {buffer.data(), buffer.size()};
609: }
609: 
609: using format_func = void (*)(detail::buffer<char>&, int, const char*);
609: 
609:  void format_error_code(buffer<char>& out, int error_code,
609:                                string_view message) noexcept;
609: 
609:  void report_error(format_func func, int error_code,
609:                           const char* message) noexcept;
609: }
609: 
609:  auto vsystem_error(int error_code, string_view format_str,
609:                            format_args args) -> std::system_error;
609: # 3621 "/usr/include/fmt/format.h" 3 4
609: template <typename... T>
609: auto system_error(int error_code, format_string<T...> fmt, T&&... args)
609:     -> std::system_error {
609:   return vsystem_error(error_code, fmt, fmt::make_format_args(args...));
609: }
609: # 3643 "/usr/include/fmt/format.h" 3 4
609:  void format_system_error(detail::buffer<char>& out, int error_code,
609:                                  const char* message) noexcept;
609: 
609: 
609: 
609:  void report_system_error(int error_code, const char* message) noexcept;
609: 
609: 
609: class format_int {
609:  private:
609: 
609: 
609:   enum { buffer_size = std::numeric_limits<unsigned long long>::digits10 + 3 };
609:   mutable char buffer_[buffer_size];
609:   char* str_;
609: 
609:   template <typename UInt> auto format_unsigned(UInt value) -> char* {
609:     auto n = static_cast<detail::uint32_or_64_or_128_t<UInt>>(value);
609:     return detail::format_decimal(buffer_, n, buffer_size - 1).begin;
609:   }
609: 
609:   template <typename Int> auto format_signed(Int value) -> char* {
609:     auto abs_value = static_cast<detail::uint32_or_64_or_128_t<Int>>(value);
609:     bool negative = value < 0;
609:     if (negative) abs_value = 0 - abs_value;
609:     auto begin = format_unsigned(abs_value);
609:     if (negative) *--begin = '-';
609:     return begin;
609:   }
609: 
609:  public:
609:   explicit format_int(int value) : str_(format_signed(value)) {}
609:   explicit format_int(long value) : str_(format_signed(value)) {}
609:   explicit format_int(long long value) : str_(format_signed(value)) {}
609:   explicit format_int(unsigned value) : str_(format_unsigned(value)) {}
609:   explicit format_int(unsigned long value) : str_(format_unsigned(value)) {}
609:   explicit format_int(unsigned long long value)
609:       : str_(format_unsigned(value)) {}
609: 
609: 
609:   auto size() const -> size_t {
609:     return detail::to_unsigned(buffer_ - str_ + buffer_size - 1);
609:   }
609: 
609: 
609: 
609: 
609: 
609:   auto data() const -> const char* { return str_; }
609: 
609: 
609: 
609: 
609: 
609:   auto c_str() const -> const char* {
609:     buffer_[buffer_size - 1] = '\0';
609:     return str_;
609:   }
609: 
609: 
609: 
609: 
609: 
609: 
609:   auto str() const -> std::string { return std::string(str_, size()); }
609: };
609: 
609: template <typename T, typename Char>
609: template <typename FormatContext>
609: constexpr inline __attribute__((always_inline)) auto
609: formatter<T, Char,
609:           enable_if_t<detail::type_constant<T, Char>::value !=
609:                       detail::type::custom_type>>::format(const T& val,
609:                                                           FormatContext& ctx)
609:     const -> decltype(ctx.out()) {
609:   if (specs_.width_ref.kind != detail::arg_id_kind::none ||
609:       specs_.precision_ref.kind != detail::arg_id_kind::none) {
609:     auto specs = specs_;
609:     detail::handle_dynamic_spec<detail::width_checker>(specs.width,
609:                                                        specs.width_ref, ctx);
609:     detail::handle_dynamic_spec<detail::precision_checker>(
609:         specs.precision, specs.precision_ref, ctx);
609:     return detail::write<Char>(ctx.out(), val, specs, ctx.locale());
609:   }
609:   return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
609: }
609: 
609: template <typename Char>
609: struct formatter<void*, Char> : formatter<const void*, Char> {
609:   template <typename FormatContext>
609:   auto format(void* val, FormatContext& ctx) const -> decltype(ctx.out()) {
609:     return formatter<const void*, Char>::format(val, ctx);
609:   }
609: };
609: 
609: template <typename Char, size_t N>
609: struct formatter<Char[N], Char> : formatter<basic_string_view<Char>, Char> {
609:   template <typename FormatContext>
609:   constexpr auto format(const Char* val, FormatContext& ctx) const
609:       -> decltype(ctx.out()) {
609:     return formatter<basic_string_view<Char>, Char>::format(val, ctx);
609:   }
609: };
609: # 3759 "/usr/include/fmt/format.h" 3 4
609: template <typename Char = char> class dynamic_formatter {
609:  private:
609:   detail::dynamic_format_specs<Char> specs_;
609:   const Char* format_str_;
609: 
609:   struct null_handler : detail::error_handler {
609:     void on_align(align_t) {}
609:     void on_sign(sign_t) {}
609:     void on_hash() {}
609:   };
609: 
609:   template <typename Context> void handle_specs(Context& ctx) {
609:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
609:                                                        specs_.width_ref, ctx);
609:     detail::handle_dynamic_spec<detail::precision_checker>(
609:         specs_.precision, specs_.precision_ref, ctx);
609:   }
609: 
609:  public:
609:   template <typename ParseContext>
609:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
609:     format_str_ = ctx.begin();
609: 
609:     detail::dynamic_specs_handler<ParseContext> handler(specs_, ctx);
609:     return detail::parse_format_specs(ctx.begin(), ctx.end(), handler);
609:   }
609: 
609:   template <typename T, typename FormatContext>
609:   auto format(const T& val, FormatContext& ctx) -> decltype(ctx.out()) {
609:     handle_specs(ctx);
609:     detail::specs_checker<null_handler> checker(
609:         null_handler(), detail::mapped_type_constant<T, FormatContext>::value);
609:     checker.on_align(specs_.align);
609:     if (specs_.sign != sign::none) checker.on_sign(specs_.sign);
609:     if (specs_.alt) checker.on_hash();
609:     if (specs_.precision >= 0) checker.end_precision();
609:     return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
609:   }
609: };
609: # 3808 "/usr/include/fmt/format.h" 3 4
609: template <typename T> auto ptr(T p) -> const void* {
609:   static_assert(std::is_pointer<T>::value, "");
609:   return detail::bit_cast<const void*>(p);
609: }
609: template <typename T> auto ptr(const std::unique_ptr<T>& p) -> const void* {
609:   return p.get();
609: }
609: template <typename T> auto ptr(const std::shared_ptr<T>& p) -> const void* {
609:   return p.get();
609: }
609: # 3829 "/usr/include/fmt/format.h" 3 4
609: template <typename Enum>
609: constexpr auto underlying(Enum e) noexcept -> underlying_t<Enum> {
609:   return static_cast<underlying_t<Enum>>(e);
609: }
609: 
609: namespace enums {
609: template <typename Enum, enable_if_t<(std::is_enum<Enum>::value), int> = 0>
609: constexpr auto format_as(Enum e) noexcept -> underlying_t<Enum> {
609:   return sta
1417:   template<intmax_t _Num, intmax_t _Den = 1>
1417:     struct ratio
1417:     {
1417:       static_assert(_Den != 0, "denominator cannot be zero");
1417:       static_assert(_Num >= -0x7fffffffffffffffLL && _Den >= -0x7fffffffffffffffLL,
1417:       "out of range");
1417: 
1417: 
1417:       static constexpr intmax_t num =
1417:         _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value;
1417: 
1417:       static constexpr intmax_t den =
1417:         __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value;
1417: 
1417:       typedef ratio<num, den> type;
1417:     };
1417: # 292 "/usr/include/c++/12/ratio" 3
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_multiply
1417:     {
1417:     private:
1417:       static const intmax_t __gcd1 =
1417:         __static_gcd<_R1::num, _R2::den>::value;
1417:       static const intmax_t __gcd2 =
1417:         __static_gcd<_R2::num, _R1::den>::value;
1417: 
1417:     public:
1417:       typedef ratio<
1417:         __safe_multiply<(_R1::num / __gcd1),
1417:                         (_R2::num / __gcd2)>::value,
1417:         __safe_multiply<(_R1::den / __gcd2),
1417:                         (_R2::den / __gcd1)>::value> type;
1417: 
1417:       static constexpr intmax_t num = type::num;
1417:       static constexpr intmax_t den = type::den;
1417:     };
1417: # 323 "/usr/include/c++/12/ratio" 3
1417:   template<typename _R1, typename _R2>
1417:     using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type;
1417: 
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_divide
1417:     {
1417:       static_assert(_R2::num != 0, "division by 0");
1417: 
1417:       typedef typename __ratio_multiply<
1417:         _R1,
1417:         ratio<_R2::den, _R2::num>>::type type;
1417: 
1417:       static constexpr intmax_t num = type::num;
1417:       static constexpr intmax_t den = type::den;
1417:     };
1417: # 352 "/usr/include/c++/12/ratio" 3
1417:   template<typename _R1, typename _R2>
1417:     using ratio_divide = typename __ratio_divide<_R1, _R2>::type;
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct ratio_equal
1417:     : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
1417:     { };
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct ratio_not_equal
1417:     : integral_constant<bool, !ratio_equal<_R1, _R2>::value>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _R1, typename _R2,
1417:            typename _Left = __big_mul<_R1::num,_R2::den>,
1417:            typename _Right = __big_mul<_R2::num,_R1::den> >
1417:     struct __ratio_less_impl_1
1417:     : integral_constant<bool, __big_less<_Left::__hi, _Left::__lo,
1417:            _Right::__hi, _Right::__lo>::value>
1417:     { };
1417: 
1417:   template<typename _R1, typename _R2,
1417:     bool = (_R1::num == 0 || _R2::num == 0
1417:      || (__static_sign<_R1::num>::value
1417:          != __static_sign<_R2::num>::value)),
1417:     bool = (__static_sign<_R1::num>::value == -1
1417:      && __static_sign<_R2::num>::value == -1)>
1417:     struct __ratio_less_impl
1417:     : __ratio_less_impl_1<_R1, _R2>::type
1417:     { };
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_less_impl<_R1, _R2, true, false>
1417:     : integral_constant<bool, _R1::num < _R2::num>
1417:     { };
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_less_impl<_R1, _R2, false, true>
1417:     : __ratio_less_impl_1<ratio<-_R2::num, _R2::den>,
1417:            ratio<-_R1::num, _R1::den> >::type
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct ratio_less
1417:     : __ratio_less_impl<_R1, _R2>::type
1417:     { };
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct ratio_less_equal
1417:     : integral_constant<bool, !ratio_less<_R2, _R1>::value>
1417:     { };
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct ratio_greater
1417:     : integral_constant<bool, ratio_less<_R2, _R1>::value>
1417:     { };
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct ratio_greater_equal
1417:     : integral_constant<bool, !ratio_less<_R1, _R2>::value>
1417:     { };
1417: 
1417: 
1417:   template <typename _R1, typename _R2>
1417:     inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value;
1417:   template <typename _R1, typename _R2>
1417:     inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value;
1417:   template <typename _R1, typename _R2>
1417:     inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value;
1417:   template <typename _R1, typename _R2>
1417:     inline constexpr bool ratio_less_equal_v =
1417:       ratio_less_equal<_R1, _R2>::value;
1417:   template <typename _R1, typename _R2>
1417:     inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value;
1417:   template <typename _R1, typename _R2>
1417:     inline constexpr bool ratio_greater_equal_v
1417:     = ratio_greater_equal<_R1, _R2>::value;
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _R1, typename _R2,
1417:       bool = (_R1::num >= 0),
1417:       bool = (_R2::num >= 0),
1417:       bool = ratio_less<ratio<__static_abs<_R1::num>::value, _R1::den>,
1417:         ratio<__static_abs<_R2::num>::value, _R2::den> >::value>
1417:     struct __ratio_add_impl
1417:     {
1417:     private:
1417:       typedef typename __ratio_add_impl<
1417:         ratio<-_R1::num, _R1::den>,
1417:         ratio<-_R2::num, _R2::den> >::type __t;
1417:     public:
1417:       typedef ratio<-__t::num, __t::den> type;
1417:     };
1417: 
1417: 
1417:   template<typename _R1, typename _R2, bool __b>
1417:     struct __ratio_add_impl<_R1, _R2, true, true, __b>
1417:     {
1417:     private:
1417:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1417:       static constexpr uintmax_t __d2 = _R2::den / __g;
1417:       typedef __big_mul<_R1::den, __d2> __d;
1417:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1417:       typedef __big_mul<_R2::num, _R1::den / __g> __y;
1417:       typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1417:       static_assert(__n::__hi >= __x::__hi, "Internal library error");
1417:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
1417:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1417:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1417:       static_assert(__n_final::__rem == 0, "Internal library error");
1417:       static_assert(__n_final::__quot_hi == 0 &&
1417:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1417:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1417:       static_assert(__d_final::__hi == 0 &&
1417:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1417:     public:
1417:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1417:     };
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_add_impl<_R1, _R2, false, true, true>
1417:     : __ratio_add_impl<_R2, _R1>
1417:     { };
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_add_impl<_R1, _R2, true, false, false>
1417:     {
1417:     private:
1417:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1417:       static constexpr uintmax_t __d2 = _R2::den / __g;
1417:       typedef __big_mul<_R1::den, __d2> __d;
1417:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1417:       typedef __big_mul<-_R2::num, _R1::den / __g> __y;
1417:       typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1417:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
1417:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1417:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1417:       static_assert(__n_final::__rem == 0, "Internal library error");
1417:       static_assert(__n_final::__quot_hi == 0 &tic_cast<underlying_t<Enum>>(e);
609: }
609: }
609: 
609: class bytes {
609:  private:
609:   string_view data_;
609:   friend struct formatter<bytes>;
609: 
609:  public:
609:   explicit bytes(string_view data) : data_(data) {}
609: };
609: 
609: template <> struct formatter<bytes> {
609:  private:
609:   detail::dynamic_format_specs<char> specs_;
609: 
609:  public:
609:   template <typename ParseContext>
609:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
609:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
609:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
609:                                                 detail::type::string_type);
609:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
609:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
609:     return it;
609:   }
609: 
609:   template <typename FormatContext>
609:   auto format(bytes b, FormatContext& ctx) -> decltype(ctx.out()) {
609:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
609:                                                        specs_.width_ref, ctx);
609:     detail::handle_dynamic_spec<detail::precision_checker>(
609:         specs_.precision, specs_.precision_ref, ctx);
609:     return detail::write_bytes(ctx.out(), b.data_, specs_);
609:   }
609: };
609: 
609: 
609: template <typename T> struct group_digits_view { T value; };
609: # 3889 "/usr/include/fmt/format.h" 3 4
609: template <typename T> auto group_digits(T value) -> group_digits_view<T> {
609:   return {value};
609: }
609: 
609: template <typename T> struct formatter<group_digits_view<T>> : formatter<T> {
609:  private:
609:   detail::dynamic_format_specs<char> specs_;
609: 
609:  public:
609:   template <typename ParseContext>
609:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
609:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
609:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
609:                                                 detail::type::int_type);
609:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
609:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
609:     return it;
609:   }
609: 
609:   template <typename FormatContext>
609:   auto format(group_digits_view<T> t, FormatContext& ctx)
609:       -> decltype(ctx.out()) {
609:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
609:                                                        specs_.width_ref, ctx);
609:     detail::handle_dynamic_spec<detail::precision_checker>(
609:         specs_.precision, specs_.precision_ref, ctx);
609:     return detail::write_int_localized(
609:         ctx.out(), static_cast<detail::uint64_or_128_t<T>>(t.value), 0, specs_,
609:         detail::digit_grouping<char>({"\3", ','}));
609:   }
609: };
609: 
609: template <typename It, typename Sentinel, typename Char = char>
609: struct join_view : detail::view {
609:   It begin;
609:   Sentinel end;
609:   basic_string_view<Char> sep;
609: 
609:   join_view(It b, Sentinel e, basic_string_view<Char> s)
609:       : begin(b), end(e), sep(s) {}
609: };
609: 
609: template <typename It, typename Sentinel, typename Char>
609: struct formatter<join_view<It, Sentinel, Char>, Char> {
609:  private:
609:   using value_type =
609: 
609: 
609: 
609:       typename std::iterator_traits<It>::value_type;
609: 
609:   using context = buffer_context<Char>;
609:   using mapper = detail::arg_mapper<context>;
609: 
609:   template <typename T, enable_if_t<(has_formatter<T, context>::value), int> = 0>
609:   static auto map(const T& value) -> const T& {
609:     return value;
609:   }
609:   template <typename T, enable_if_t<(!has_formatter<T, context>::value), int> = 0>
609:   static auto map(const T& value) -> decltype(mapper().map(value)) {
609:     return mapper().map(value);
609:   }
609: 
609:   using formatter_type =
609:       conditional_t<is_formattable<value_type, Char>::value,
609:                     formatter<remove_cvref_t<decltype(map(
609:                                   std::declval<const value_type&>()))>,
609:                               Char>,
609:                     detail::fallback_formatter<value_type, Char>>;
609: 
609:   formatter_type value_formatter_;
609: 
609:  public:
609:   template <typename ParseContext>
609:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
609:     return value_formatter_.parse(ctx);
609:   }
609: 
609:   template <typename FormatContext>
609:   auto format(const join_view<It, Sentinel, Char>& value,
609:               FormatContext& ctx) const -> decltype(ctx.out()) {
609:     auto it = value.begin;
609:     auto out = ctx.out();
609:     if (it != value.end) {
609:       out = value_formatter_.format(map(*it), ctx);
609:       ++it;
609:       while (it != value.end) {
609:         out = detail::copy_str<Char>(value.sep.begin(), value.sep.end(), out);
609:         ctx.advance_to(out);
609:         out = value_formatter_.format(map(*it), ctx);
609:         ++it;
609:       }
609:     }
609:     return out;
609:   }
609: };
609: 
609: 
609: 
609: 
609: 
609: template <typename It, typename Sentinel>
609: auto join(It begin, Sentinel end, string_view sep) -> join_view<It, Sentinel> {
609:   return {begin, end, sep};
609: }
609: # 4011 "/usr/include/fmt/format.h" 3 4
609: template <typename Range>
609: auto join(Range&& range, string_view sep)
609:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>> {
609:   return join(std::begin(range), std::end(range), sep);
609: }
609: # 4028 "/usr/include/fmt/format.h" 3 4
609: template <typename T, enable_if_t<(!std::is_integral<T>::value), int> = 0>
609: inline auto to_string(const T& value) -> std::string {
609:   auto result = std::string();
609:   detail::write<char>(std::back_inserter(result), value);
609:   return result;
609: }
609: 
609: template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
609: [[nodiscard]] inline auto to_string(T value) -> std::string {
609: 
609: 
609:   constexpr int max_size = detail::digits10<T>() + 2;
609:   char buffer[max_size > 5 ? static_cast<unsigned>(max_size) : 5];
609:   char* begin = buffer;
609:   return std::string(begin, detail::write<char>(begin, value));
609: }
609: 
609: template <typename Char, size_t SIZE>
609: [[nodiscard]] auto to_string(const basic_memory_buffer<Char, SIZE>& buf)
609:     -> std::basic_string<Char> {
609:   auto size = buf.size();
609:   detail::assume(size < std::basic_string<Char>().max_size());
609:   return std::basic_string<Char>(buf.data(), size);
609: }
609: 
609: namespace detail {
609: 
609: template <typename Char>
609: void vformat_to(
609:     buffer<Char>& buf, basic_string_view<Char> fmt,
609:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
609:     locale_ref loc) {
609: 
609: 
609:   using detail::arg_formatter;
609:   using detail::buffer_appender;
609:   using detail::custom_formatter;
609:   using detail::default_arg_formatter;
609:   using detail::get_arg;
609:   using detail::locale_ref;
609:   using detail::parse_format_specs;
609:   using detail::specs_checker;
609:   using detail::specs_handler;
609:   using detail::to_unsigned;
609:   using detail::type;
609:   using detail::write;
609:   auto out = buffer_appender<Char>(buf);
609:   if (fmt.size() == 2 && equal2(fmt.data(), "{}")) {
609:     auto arg = args.get(0);
609:     if (!arg) error_handler().on_error("argument not found");
609:     visit_format_arg(default_arg_formatter<Char>{out, args, loc}, arg);
609:     return;
609:   }
609: 
609:   struct format_handler : error_handler {
609:     basic_format_parse_context<Char> parse_context;
609:     buffer_context<Char> context;
609: 
609:     format_handler(buffer_appender<Char> p_out, basic_string_view<Char> str,
609:                    basic_format_args<buffer_context<Char>> p_args,
609:                    locale_ref p_loc)
609:         : parse_context(str), context(p_out, p_args, p_loc) {}
609: &
1417:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1417:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1417:       static_assert(__d_final::__hi == 0 &&
1417:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1417:     public:
1417:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1417:     };
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_add
1417:     {
1417:       typedef typename __ratio_add_impl<_R1, _R2>::type type;
1417:       static constexpr intmax_t num = type::num;
1417:       static constexpr intmax_t den = type::den;
1417:     };
1417: # 532 "/usr/include/c++/12/ratio" 3
1417:   template<typename _R1, typename _R2>
1417:     using ratio_add = typename __ratio_add<_R1, _R2>::type;
1417: 
1417: 
1417: 
1417:   template<typename _R1, typename _R2>
1417:     struct __ratio_subtract
1417:     {
1417:       typedef typename __ratio_add<
1417:         _R1,
1417:         ratio<-_R2::num, _R2::den>>::type type;
1417: 
1417:       static constexpr intmax_t num = type::num;
1417:       static constexpr intmax_t den = type::den;
1417:     };
1417: # 559 "/usr/include/c++/12/ratio" 3
1417:   template<typename _R1, typename _R2>
1417:     using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type;
1417: 
1417: 
1417:   typedef ratio<1, 1000000000000000000> atto;
1417:   typedef ratio<1, 1000000000000000> femto;
1417:   typedef ratio<1, 1000000000000> pico;
1417:   typedef ratio<1, 1000000000> nano;
1417:   typedef ratio<1, 1000000> micro;
1417:   typedef ratio<1, 1000> milli;
1417:   typedef ratio<1, 100> centi;
1417:   typedef ratio<1, 10> deci;
1417:   typedef ratio< 10, 1> deca;
1417:   typedef ratio< 100, 1> hecto;
1417:   typedef ratio< 1000, 1> kilo;
1417:   typedef ratio< 1000000, 1> mega;
1417:   typedef ratio< 1000000000, 1> giga;
1417:   typedef ratio< 1000000000000, 1> tera;
1417:   typedef ratio< 1000000000000000, 1> peta;
1417:   typedef ratio< 1000000000000000000, 1> exa;
1417: 
1417: 
1417: 
1417: }
1417: # 38 "/usr/include/c++/12/bits/chrono.h" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/ctime" 1 3
1417: # 39 "/usr/include/c++/12/ctime" 3
1417:        
1417: # 40 "/usr/include/c++/12/ctime" 3
1417: # 58 "/usr/include/c++/12/ctime" 3
1417: namespace std
1417: {
1417:   using ::clock_t;
1417:   using ::time_t;
1417:   using ::tm;
1417: 
1417:   using ::clock;
1417:   using ::difftime;
1417:   using ::mktime;
1417:   using ::time;
1417:   using ::asctime;
1417:   using ::ctime;
1417:   using ::gmtime;
1417:   using ::localtime;
1417:   using ::strftime;
1417: }
1417: 
1417: 
1417: 
1417: namespace std
1417: {
1417:   using ::timespec;
1417:   using ::timespec_get;
1417: }
1417: # 41 "/usr/include/c++/12/bits/chrono.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/parse_numbers.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/parse_numbers.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/parse_numbers.h" 3
1417: # 42 "/usr/include/c++/12/bits/parse_numbers.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __parse_int
1417: {
1417:   template<unsigned _Base, char _Dig>
1417:     struct _Digit;
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '0'> : integral_constant<unsigned, 0>
1417:     {
1417:       using __valid = true_type;
1417:     };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '1'> : integral_constant<unsigned, 1>
1417:     {
1417:       using __valid = true_type;
1417:     };
1417: 
1417:   template<unsigned _Base, unsigned _Val>
1417:     struct _Digit_impl : integral_constant<unsigned, _Val>
1417:     {
1417:       static_assert(_Base > _Val, "invalid digit");
1417:       using __valid = true_type;
1417:     };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '2'> : _Digit_impl<_Base, 2>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '3'> : _Digit_impl<_Base, 3>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '4'> : _Digit_impl<_Base, 4>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '5'> : _Digit_impl<_Base, 5>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '6'> : _Digit_impl<_Base, 6>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '7'> : _Digit_impl<_Base, 7>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '8'> : _Digit_impl<_Base, 8>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '9'> : _Digit_impl<_Base, 9>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'a'> : _Digit_impl<_Base, 0xa>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'A'> : _Digit_impl<_Base, 0xa>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'b'> : _Digit_impl<_Base, 0xb>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'B'> : _Digit_impl<_Base, 0xb>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'c'> : _Digit_impl<_Base, 0xc>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'C'> : _Digit_impl<_Base, 0xc>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'd'> : _Digit_impl<_Base, 0xd>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'D'> : _Digit_impl<_Base, 0xd>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'e'> : _Digit_impl<_Base, 0xe>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'E'> : _Digit_impl<_Base, 0xe>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'f'> : _Digit_impl<_Base, 0xf>
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, 'F'> : _Digit_impl<_Base, 0xf>
1417:     { };
1417: 
1417: 
1417:   template<unsigned _Base>
1417:     struct _Digit<_Base, '\''> : integral_constant<unsigned, 0>
1417:     {
1417:       using __valid = false_type;
1417:     };
1417: 
1417: 
1417: 
1417:   template<unsigned long long _Val>
1417:     using __ull_constant = integral_constant<unsigned long long, _Val>;
1417: 
1417:   template<unsigned _Base, char _Dig, char... _Digs>
1417:     struct _Power_help
1417:     {
1417:       using __next = typename _Power_help<_Base, _Digs...>::type;
1417:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1417:       using type
1417:  = __ull_constant<__next::value * (__valid_digit{} ? _Base : 1ULL)>;
1417:     };
1417: 
1417:   template<unsigned _Base, char _Dig>
1417:     struct _Power_help<_Base, _Dig>
1417:     {
1417:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1417:       using type = __ull_constant<__valid_digit::value>;
1417:     };
1417: 
1417:   template<unsigned _Base, char... _Digs>
1417:     struct _Power : _Power_help<_Base, _Digs...>::type
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Power<_Base> : __ull_constant<0>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char... _Digs>
1417:     struct _Number_help
1417:     {
1417:       using __digit = _Digit<_Base, _Dig>;
1417:       using __valid_digit = typename __digit::__valid;
1417:       using __next = _Number_help<_Base,
1417:       __valid_digit::value ? _Pow / _Base : _Pow,
1417:       _Digs...>;
1417:       using type = __ull_constant<_Pow * __digit::value + __next::type::value>;
1417:       static_assert((type::value / _Pow) == __digit::value,
1417:       "integer literal does not fit in unsigned long long");
1417:     };
1417: 
1417: 
1417:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char..._Digs>
1417:     struct _Number_help<_Base, _Pow, '\'', _Dig, _Digs...>
1417:     : _Number_help<_Base, _Pow, _Dig, _Digs...>
1417:     { };
1417: 
1417: 
1
609:     void on_text(const Char* begin, const Char* end) {
609:       auto text = basic_string_view<Char>(begin, to_unsigned(end - begin));
609:       context.advance_to(write<Char>(context.out(), text));
609:     }
609: 
609:     constexpr auto on_arg_id() -> int {
609:       return parse_context.next_arg_id();
609:     }
609:     constexpr auto on_arg_id(int id) -> int {
609:       return parse_context.check_arg_id(id), id;
609:     }
609:     constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
609:       int arg_id = context.arg_id(id);
609:       if (arg_id < 0) on_error("argument not found");
609:       return arg_id;
609:     }
609: 
609:     inline __attribute__((always_inline)) void on_replacement_field(int id, const Char*) {
609:       auto arg = get_arg(context, id);
609:       context.advance_to(visit_format_arg(
609:           default_arg_formatter<Char>{context.out(), context.args(),
609:                                       context.locale()},
609:           arg));
609:     }
609: 
609:     auto on_format_specs(int id, const Char* begin, const Char* end)
609:         -> const Char* {
609:       auto arg = get_arg(context, id);
609:       if (arg.type() == type::custom_type) {
609:         parse_context.advance_to(parse_context.begin() +
609:                                  (begin - &*parse_context.begin()));
609:         visit_format_arg(custom_formatter<Char>{parse_context, context}, arg);
609:         return parse_context.begin();
609:       }
609:       auto specs = basic_format_specs<Char>();
609:       specs_checker<specs_handler<Char>> handler(
609:           specs_handler<Char>(specs, parse_context, context), arg.type());
609:       begin = parse_format_specs(begin, end, handler);
609:       if (begin == end || *begin != '}')
609:         on_error("missing '}' in format string");
609:       auto f = arg_formatter<Char>{context.out(), specs, context.locale()};
609:       context.advance_to(visit_format_arg(f, arg));
609:       return begin;
609:     }
609:   };
609:   detail::parse_format_string<false>(fmt, format_handler(out, fmt, args, loc));
609: }
609: 
609: 
609: extern template auto thousands_sep_impl<char>(locale_ref)
609:     -> thousands_sep_result<char>;
609: extern template auto thousands_sep_impl<wchar_t>(locale_ref)
609:     -> thousands_sep_result<wchar_t>;
609: extern template auto decimal_point_impl(locale_ref) -> char;
609: extern template auto decimal_point_impl(locale_ref) -> wchar_t;
609: 
609: 
609: }
609: 
609: 
609: inline namespace literals {
609: # 4168 "/usr/include/fmt/format.h" 3 4
609: constexpr auto operator"" _a(const char* s, size_t) -> detail::udl_arg<char> {
609:   return {s};
609: }
609: 
609: }
609: 
609: 
609: template <typename Locale, enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
609: inline auto vformat(const Locale& loc, string_view fmt, format_args args)
609:     -> std::string {
609:   return detail::vformat(loc, fmt, args);
609: }
609: 
609: template <typename Locale, typename... T,
609:           enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
609: inline auto format(const Locale& loc, format_string<T...> fmt, T&&... args)
609:     -> std::string {
609:   return vformat(loc, string_view(fmt), fmt::make_format_args(args...));
609: }
609: 
609: template <typename OutputIt, typename Locale,
609:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
609:                                                              >
609: auto vformat_to(OutputIt out, const Locale& loc, string_view fmt,
609:                 format_args args) -> OutputIt {
609:   using detail::get_buffer;
609:   auto&& buf = get_buffer<char>(out);
609:   detail::vformat_to(buf, fmt, args, detail::locale_ref(loc));
609:   return detail::get_iterator(buf);
609: }
609: 
609: template <typename OutputIt, typename Locale, typename... T,
609:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
609:                                                              >
609: inline __attribute__((always_inline)) auto format_to(OutputIt out, const Locale& loc,
609:                           format_string<T...> fmt, T&&... args) -> OutputIt {
609:   return vformat_to(out, loc, fmt, fmt::make_format_args(args...));
609: }
609: 
609: 
609: } }
609: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h" 2
609: 
609: 
609: 
609: 
609: 
609: 
609: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h"
609: enum EINTERLACEMETHOD
609: {
609:   VS_INTERLACEMETHOD_NONE=0,
609:   VS_INTERLACEMETHOD_AUTO=1,
609:   VS_INTERLACEMETHOD_RENDER_BLEND=2,
609:   VS_INTERLACEMETHOD_RENDER_WEAVE=4,
609:   VS_INTERLACEMETHOD_RENDER_BOB=6,
609:   VS_INTERLACEMETHOD_DEINTERLACE=7,
609:   VS_INTERLACEMETHOD_VDPAU_BOB=8,
609:   VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE=11,
609:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL=12,
609:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF=13,
609:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL=14,
609:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF=15,
609:   VS_INTERLACEMETHOD_DEINTERLACE_HALF=16,
609:   VS_INTERLACEMETHOD_VAAPI_BOB = 22,
609:   VS_INTERLACEMETHOD_VAAPI_MADI = 23,
609:   VS_INTERLACEMETHOD_VAAPI_MACI = 24,
609:   VS_INTERLACEMETHOD_DXVA_AUTO = 32,
609:   VS_INTERLACEMETHOD_MAX
609: };
609: 
609: template<>
609: struct fmt::formatter<EINTERLACEMETHOD> : fmt::formatter<std::string_view>
609: {
609:   template<typename FormatContext>
609:   constexpr auto format(const EINTERLACEMETHOD& interlaceMethod, FormatContext& ctx)
609:   {
609:     const auto it = interlaceMethodMap.find(interlaceMethod);
609:     if (it == interlaceMethodMap.cend())
609:       throw std::range_error("no interlace method string found");
609: 
609:     return fmt::formatter<string_view>::format(it->second, ctx);
609:   }
609: 
609: private:
609:   static constexpr auto interlaceMethodMap = make_map<EINTERLACEMETHOD, std::string_view>({
609:       {VS_INTERLACEMETHOD_NONE, "none"},
609:       {VS_INTERLACEMETHOD_AUTO, "auto"},
609:       {VS_INTERLACEMETHOD_RENDER_BLEND, "render blend"},
609:       {VS_INTERLACEMETHOD_RENDER_WEAVE, "render weave"},
609:       {VS_INTERLACEMETHOD_RENDER_BOB, "render bob"},
609:       {VS_INTERLACEMETHOD_DEINTERLACE, "deinterlace"},
609:       {VS_INTERLACEMETHOD_VDPAU_BOB, "vdpau bob"},
609:       {VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE, "vdpau inverse telecine"},
609:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL, "vdpau temporal"},
609:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF, "vdpau temporal half"},
609:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL, "vdpau temporal spatial"},
609:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF, "vdpau temporal spatial half"},
609:       {VS_INTERLACEMETHOD_DEINTERLACE_HALF, "deinterlace half"},
609:       {VS_INTERLACEMETHOD_VAAPI_BOB, "vaapi bob"},
609:       {VS_INTERLACEMETHOD_VAAPI_MADI, "vaapi madi"},
609:       {VS_INTERLACEMETHOD_VAAPI_MACI, "vaapi maci"},
609:       {VS_INTERLACEMETHOD_DXVA_AUTO, "dxva auto"},
609:   });
609: };
609: 
609: enum ESCALINGMETHOD
609: {
609:   VS_SCALINGMETHOD_NEAREST=0,
609:   VS_SCALINGMETHOD_LINEAR,
609:   VS_SCALINGMETHOD_CUBIC_B_SPLINE,
609:   VS_SCALINGMETHOD_CUBIC_MITCHELL,
609:   VS_SCALINGMETHOD_CUBIC_CATMULL,
609:   VS_SCALINGMETHOD_CUBIC_0_075,
609:   VS_SCALINGMETHOD_CUBIC_0_1,
609:   VS_SCALINGMETHOD_LANCZOS2,
609:   VS_SCALINGMETHOD_LANCZOS3_FAST,
609:   VS_SCALINGMETHOD_LANCZOS3,
609:   VS_SCALINGMETHOD_SINC8,
609:   VS_SCALINGMETHOD_BICUBIC_SOFTWARE,
609:   VS_SCALINGMETHOD_LANCZOS_SOFTWARE,
609:   VS_SCALINGMETHOD_SINC_SOFTWARE,
609:   VS_SCALINGMETHOD_VDPAU_HARDWARE,
609:   VS_SCALINGMETHOD_DXVA_HARDWARE,
609:   VS_SCALINGMETHOD_AUTO,
609:   VS_SCALINGMETHOD_SPLINE36_FAST,
609:   VS_SCALINGMETHOD_SPLINE36,
609:   VS_SCALINGMETHOD_MAX
609: };
609: 
609: template<>
609: struct fmt::formatter<ESCALINGMETHOD> : fmt::formatter<std::string_view>
609: {
609: public:
609:   template<typename FormatContext>
609:   constexpr auto format(const ESCALINGMETHOD& scalingMethod, FormatContext& ctx)
609:   {
609:     const auto it = 417:   template<unsigned _Base, char _Dig>
1417:     struct _Number_help<_Base, 1ULL, _Dig>
1417:     {
1417:       using type = __ull_constant<_Digit<_Base, _Dig>::value>;
1417:     };
1417: 
1417:   template<unsigned _Base, char... _Digs>
1417:     struct _Number
1417:     : _Number_help<_Base, _Power<_Base, _Digs...>::value, _Digs...>::type
1417:     { };
1417: 
1417:   template<unsigned _Base>
1417:     struct _Number<_Base>
1417:     : __ull_constant<0>
1417:     { };
1417: 
1417: 
1417: 
1417:   template<char... _Digs>
1417:     struct _Parse_int;
1417: 
1417:   template<char... _Digs>
1417:     struct _Parse_int<'0', 'b', _Digs...>
1417:     : _Number<2U, _Digs...>::type
1417:     { };
1417: 
1417:   template<char... _Digs>
1417:     struct _Parse_int<'0', 'B', _Digs...>
1417:     : _Number<2U, _Digs...>::type
1417:     { };
1417: 
1417:   template<char... _Digs>
1417:     struct _Parse_int<'0', 'x', _Digs...>
1417:     : _Number<16U, _Digs...>::type
1417:     { };
1417: 
1417:   template<char... _Digs>
1417:     struct _Parse_int<'0', 'X', _Digs...>
1417:     : _Number<16U, _Digs...>::type
1417:     { };
1417: 
1417:   template<char... _Digs>
1417:     struct _Parse_int<'0', _Digs...>
1417:     : _Number<8U, _Digs...>::type
1417:     { };
1417: 
1417:   template<char... _Digs>
1417:     struct _Parse_int
1417:     : _Number<10U, _Digs...>::type
1417:     { };
1417: 
1417: }
1417: 
1417: 
1417: namespace __select_int
1417: {
1417:   template<unsigned long long _Val, typename... _Ints>
1417:     struct _Select_int_base;
1417: 
1417:   template<unsigned long long _Val, typename _IntType, typename... _Ints>
1417:     struct _Select_int_base<_Val, _IntType, _Ints...>
1417:     : __conditional_t<(_Val <= __gnu_cxx::__int_traits<_IntType>::__max),
1417:         integral_constant<_IntType, (_IntType)_Val>,
1417:         _Select_int_base<_Val, _Ints...>>
1417:     { };
1417: 
1417:   template<unsigned long long _Val>
1417:     struct _Select_int_base<_Val>
1417:     { };
1417: 
1417:   template<char... _Digs>
1417:     using _Select_int = typename _Select_int_base<
1417:  __parse_int::_Parse_int<_Digs...>::value,
1417:  unsigned char,
1417:  unsigned short,
1417:  unsigned int,
1417:  unsigned long,
1417:  unsigned long long
1417:       >::type;
1417: 
1417: }
1417: 
1417: 
1417: }
1417: # 42 "/usr/include/c++/12/bits/chrono.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   namespace filesystem { struct __file_clock; };
1417: 
1417: 
1417:   namespace chrono
1417:   {
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _Rep, typename _Period = ratio<1>>
1417:       struct duration;
1417: 
1417: 
1417:     template<typename _Clock, typename _Dur = typename _Clock::duration>
1417:       struct time_point;
1417: 
1417:   }
1417: # 77 "/usr/include/c++/12/bits/chrono.h" 3
1417:   template<typename _CT, typename _Period1, typename _Period2, typename = void>
1417:     struct __duration_common_type
1417:     { };
1417: 
1417:   template<typename _CT, typename _Period1, typename _Period2>
1417:     struct __duration_common_type<_CT, _Period1, _Period2,
1417:       __void_t<typename _CT::type>>
1417:     {
1417:     private:
1417:       using __gcd_num = __static_gcd<_Period1::num, _Period2::num>;
1417:       using __gcd_den = __static_gcd<_Period1::den, _Period2::den>;
1417:       using __cr = typename _CT::type;
1417:       using __r = ratio<__gcd_num::value,
1417:    (_Period1::den / __gcd_den::value) * _Period2::den>;
1417: 
1417:     public:
1417:       using type = chrono::duration<__cr, typename __r::type>;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
1417:     struct common_type<chrono::duration<_Rep1, _Period1>,
1417:          chrono::duration<_Rep2, _Period2>>
1417:     : __duration_common_type<common_type<_Rep1, _Rep2>,
1417:         typename _Period1::type,
1417:         typename _Period2::type>
1417:     { };
1417: 
1417: 
1417:   template<typename _Rep, typename _Period>
1417:     struct common_type<chrono::duration<_Rep, _Period>,
1417:          chrono::duration<_Rep, _Period>>
1417:     {
1417:       using type = chrono::duration<typename common_type<_Rep>::type,
1417:         typename _Period::type>;
1417:     };
1417: 
1417: 
1417:   template<typename _Rep, typename _Period>
1417:     struct common_type<chrono::duration<_Rep, _Period>>
1417:     {
1417:       using type = chrono::duration<typename common_type<_Rep>::type,
1417:         typename _Period::type>;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CT, typename _Clock, typename = void>
1417:     struct __timepoint_common_type
1417:     { };
1417: 
1417:   template<typename _CT, typename _Clock>
1417:     struct __timepoint_common_type<_CT, _Clock, __void_t<typename _CT::type>>
1417:     {
1417:       using type = chrono::time_point<_Clock, typename _CT::type>;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Clock, typename _Duration1, typename _Duration2>
1417:     struct common_type<chrono::time_point<_Clock, _Duration1>,
1417:          chrono::time_point<_Clock, _Duration2>>
1417:     : __timepoint_common_type<common_type<_Duration1, _Duration2>, _Clock>
1417:     { };
1417: 
1417: 
1417:   template<typename _Clock, typename _Duration>
1417:     struct common_type<chrono::time_point<_Clock, _Duration>,
1417:          chrono::time_point<_Clock, _Duration>>
1417:     { using type = chrono::time_point<_Clock, _Duration>; };
1417: 
1417: 
1417:   template<typename _Clock, typename _Duration>
1417:     struct common_type<chrono::time_point<_Clock, _Duration>>
1417:     { using type = chrono::time_point<_Clock, _Duration>; };
1417: 
1417: 
1417: 
1417: 
1417:   namespace chrono
1417:   {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _ToDur, typename _CF, typename _CR,
1417:       bool _NumIsOne = false, bool _DenIsOne = false>
1417:       struct __duration_cast_impl
1417:       {
1417:  template<typename _Rep, typename _Period>
1417:    static constexpr _ToDur
1417:    __cast(const duration<_Rep, _Period>& __d)
1417:    {
1417:      typedef typename _ToDur::rep __to_rep;
1417:      return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count())
1417:        * static_cast<_CR>(_CF::num)
1417:        / static_cast<_CR>(_CF::den)));
1417:    }
1417:       };
1417: 
1417:     template<typename _ToDur, typename _CF, typename _CR>
1417:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, true>
1417:       {
1417:  template<typename _Rep, typename _Period>
1417:    static constexpr _ToDur
1417:    __cast(const duration<_Rep, _Period>& __d)
1417:    {
1417:      typedef typename _ToDur::rep __to_rep;
1417:      return _ToDur(static_cast<__to_rep>(__d.count()));
1417:    }
1417:       };
1417: 
1417:     template<typename _ToDur, typename _CF, typename _CR>
1417:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, false>
1417:       {
1417:  template<typename _Rep, typename _Period>
1417:    static constexpr _ToDur
1417:    __cast(const duration<_Rep, _Period>& __d)
1417:    {
1417:      typedef typename _ToDur::rep __to_rep;
1417:      return _ToDur(static_cast<__to_rep>(
1417:        static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den)));
1417:    }
1417:       };
1417: 
1417:     template<typename _ToDur, typename _CF, typename _CR>
1417:       struct __duration_cast_impl<_ToDur, _CF, _CR, false, true>
1417:       {
1417:  template<typename _Rep, typename _Period>
1417:    static constexpr _ToDur
1417:    __cast(const duration<_Rep, _Period>& __d)
1417:    {
1417:      typedef typename _ToDur::rep __to_rep;
1417:      return _ToDur(static_cast<__to_rep>(
1417:        static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num)));
1417:    }
1417:       };
1417: 
1417:     template<typename _Tp>
1417:       struct __is_duration
1417:       : std::false_type
1417:       { };
1417: 
1417:     template<typename _Rep, typename _Period>
1417:       struct __is_duration<durscalingMethodMap.find(scalingMethod);
609:     if (it == scalingMethodMap.cend())
609:       throw std::range_error("no scaling method string found");
609: 
609:     return fmt::formatter<string_view>::format(it->second, ctx);
609:   }
609: 
609: private:
609:   static constexpr auto scalingMethodMap = make_map<ESCALINGMETHOD, std::string_view>({
609:       {VS_SCALINGMETHOD_NEAREST, "nearest neighbour"},
609:       {VS_SCALINGMETHOD_LINEAR, "linear"},
609:       {VS_SCALINGMETHOD_CUBIC_B_SPLINE, "cubic b spline"},
609:       {VS_SCALINGMETHOD_CUBIC_MITCHELL, "cubic mitchell"},
609:       {VS_SCALINGMETHOD_CUBIC_CATMULL, "cubic catmull"},
609:       {VS_SCALINGMETHOD_CUBIC_0_075, "cubic 0/075"},
609:       {VS_SCALINGMETHOD_CUBIC_0_1, "cubic 0/1"},
609:       {VS_SCALINGMETHOD_LANCZOS2, "lanczos2"},
609:       {VS_SCALINGMETHOD_LANCZOS3_FAST, "lanczos3 fast"},
609:       {VS_SCALINGMETHOD_LANCZOS3, "lanczos3"},
609:       {VS_SCALINGMETHOD_SINC8, "sinc8"},
609:       {VS_SCALINGMETHOD_BICUBIC_SOFTWARE, "bicubic software"},
609:       {VS_SCALINGMETHOD_LANCZOS_SOFTWARE, "lanczos software"},
609:       {VS_SCALINGMETHOD_SINC_SOFTWARE, "sinc software"},
609:       {VS_SCALINGMETHOD_VDPAU_HARDWARE, "vdpau"},
609:       {VS_SCALINGMETHOD_DXVA_HARDWARE, "dxva"},
609:       {VS_SCALINGMETHOD_AUTO, "auto"},
609:       {VS_SCALINGMETHOD_SPLINE36_FAST, "spline32 fast"},
609:       {VS_SCALINGMETHOD_SPLINE36, "spline32"},
609:   });
609: 
609:   static_assert(VS_SCALINGMETHOD_MAX == scalingMethodMap.size(),
609:                 "scalingMethodMap doesn't match the size of ESCALINGMETHOD, did you forget to "
609:                 "add/remove a mapping?");
609: };
609: 
609: enum ETONEMAPMETHOD
609: {
609:   VS_TONEMAPMETHOD_OFF = 0,
609:   VS_TONEMAPMETHOD_REINHARD = 1,
609:   VS_TONEMAPMETHOD_ACES = 2,
609:   VS_TONEMAPMETHOD_HABLE = 3,
609:   VS_TONEMAPMETHOD_MAX
609: };
609: 
609: template<>
609: struct fmt::formatter<ETONEMAPMETHOD> : fmt::formatter<std::string_view>
609: {
609: public:
609:   template<typename FormatContext>
609:   constexpr auto format(const ETONEMAPMETHOD& tonemapMethod, FormatContext& ctx)
609:   {
609:     const auto it = tonemapMethodMap.find(tonemapMethod);
609:     if (it == tonemapMethodMap.cend())
609:       throw std::range_error("no tonemap method string found");
609: 
609:     return fmt::formatter<string_view>::format(it->second, ctx);
609:   }
609: 
609: private:
609:   static constexpr auto tonemapMethodMap = make_map<ETONEMAPMETHOD, std::string_view>({
609:       {VS_TONEMAPMETHOD_OFF, "off"},
609:       {VS_TONEMAPMETHOD_REINHARD, "reinhard"},
609:       {VS_TONEMAPMETHOD_ACES, "aces"},
609:       {VS_TONEMAPMETHOD_HABLE, "hable"},
609:   });
609: 
609:   static_assert(VS_TONEMAPMETHOD_MAX == tonemapMethodMap.size(),
609:                 "tonemapMethodMap doesn't match the size of ETONEMAPMETHOD, did you forget to "
609:                 "add/remove a mapping?");
609: };
609: 
609: enum ViewMode
609: {
609:   ViewModeNormal = 0,
609:   ViewModeZoom,
609:   ViewModeStretch4x3,
609:   ViewModeWideZoom,
609:   ViewModeStretch16x9,
609:   ViewModeOriginal,
609:   ViewModeCustom,
609:   ViewModeStretch16x9Nonlin,
609:   ViewModeZoom120Width,
609:   ViewModeZoom110Width
609: };
609: 
609: class CVideoSettings
609: {
609: public:
609:   CVideoSettings();
609:   ~CVideoSettings() = default;
609: 
609:   bool operator!=(const CVideoSettings &right) const;
609: 
609:   EINTERLACEMETHOD m_InterlaceMethod;
609:   ESCALINGMETHOD m_ScalingMethod;
609:   int m_ViewMode;
609:   float m_CustomZoomAmount;
609:   float m_CustomPixelRatio;
609:   float m_CustomVerticalShift;
609:   bool m_CustomNonLinStretch;
609:   int m_AudioStream;
609:   float m_VolumeAmplification;
609:   int m_SubtitleStream;
609:   float m_SubtitleDelay;
609:   int m_subtitleVerticalPosition{0};
609:   bool m_subtitleVerticalPositionSave{false};
609:   bool m_SubtitleOn;
609:   float m_Brightness;
609:   float m_Contrast;
609:   float m_Gamma;
609:   float m_NoiseReduction;
609:   bool m_PostProcess;
609:   float m_Sharpness;
609:   float m_AudioDelay;
609:   int m_ResumeTime;
609:   int m_StereoMode;
609:   bool m_StereoInvert;
609:   int m_VideoStream;
609:   ETONEMAPMETHOD m_ToneMapMethod;
609:   float m_ToneMapParam;
609:   int m_Orientation;
609:   int m_CenterMixLevel;
609: };
609: 
609: class CCriticalSection;
609: class CVideoSettingsLocked
609: {
609: public:
609:   CVideoSettingsLocked(CVideoSettings &vs, CCriticalSection &critSection);
609:   virtual ~CVideoSettingsLocked() = default;
609: 
609:   CVideoSettingsLocked(CVideoSettingsLocked const &) = delete;
609:   void operator=(CVideoSettingsLocked const &x) = delete;
609: 
609:   void SetSubtitleStream(int stream);
609:   void SetSubtitleVisible(bool visible);
609:   void SetAudioStream(int stream);
609:   void SetVideoStream(int stream);
609:   void SetAudioDelay(float delay);
609:   void SetSubtitleDelay(float delay);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   void SetSubtitleVerticalPosition(int value, bool save);
609: 
609:   void SetViewMode(int mode, float zoom, float par, float shift, bool stretch);
609:   void SetVolumeAmplification(float amp);
609: 
609: protected:
609:   CVideoSettings &m_videoSettings;
609:   CCriticalSection &m_critSection;
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayerCallback.h" 2
609: 
609: 
609: 
609: class CFileItem;
609: class CBookmark;
609: 
609: class IPlayerCallback
609: {
609: public:
609:   virtual ~IPlayerCallback() = default;
609:   virtual void OnPlayBackEnded() = 0;
609:   virtual void OnPlayBackStarted(const CFileItem &file) = 0;
609:   virtual void OnPlayerCloseFile(const CFileItem& file, const CBookmark& bookmark) {}
609:   virtual void OnPlayBackPaused() {}
609:   virtual void OnPlayBackResumed() {}
609:   virtual void OnPlayBackStopped() = 0;
609:   virtual void OnPlayBackError() = 0;
609:   virtual void OnQueueNextItem() = 0;
609:   virtual void OnPlayBackSeek(int64_t iTime, int64_t seekOffset) {}
609:   virtual void OnPlayBackSeekChapter(int iChapter) {}
609:   virtual void OnPlayBackSpeedChanged(int iSpeed) {}
609:   virtual void OnAVChange() {}
609:   virtual void OnAVStarted(const CFileItem& file) {}
609:   virtual void RequestVideoSettings(const CFileItem& fileItem) {}
609:   virtual void StoreVideoSettings(const CFileItem& fileItem, const CVideoSettings& vs) {}
609: };
609: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Interface/StreamInfo.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Interface/StreamInfo.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: template <typename T> class CRectGen;
609: typedef CRectGen<float> CRect;
609: 
609: enum StreamFlags
609: {
609:   FLAG_NONE = 0x0000,
609:   FLAG_DEFAULT = 0x0001,
609:   FLAG_DUB = 0x0002,
609:   FLAG_ORIGINAL = 0x0004,
609:   FLAG_COMMENT = 0x0008,
609:   FLAG_LYRICS = 0x0010,
609:   FLAG_KARAOKE = 0x0020,
609:   FLAG_FORCED = 0x0040,
609:   FLAG_HEARING_IMPAIRED = 0x0080,
609:   FLAG_VISUAL_IMPAIRED = 0x0100,
609:   FLAG_STILL_IMAGES = 0x100000
609: };
609: 
609: enum class StreamHdrType
609: {
609:   HDR_TYPE_NONE,
609:   HDR_TYPE_HDR10,
609:   HDR_TYPE_DOLBYVISION,
609:   HDR_TYPE_HLG
609: };
609: 
609: struct StreamInfo
609: {
609:   bool valid = false;
609:   int bitrate = 0;
609:   std::string language;
609:   std::string name;
609:   std::string codecName;
609:   StreamFlags flags = StreamFlags::FLAG_NONE;
609: 
609: protected:
609:   StreamInfo() = default;
609:   virtual ~StreamInfo() = default;
609: };
609: 
609: struct AudioStreamInfo : StreamInfo
609: {
609:   int channels = 0;
609:   int samplerate = 0;
609:   int bitspersample = 0;
609: };
609: 
609: struct SubtitleStreamInfo : StreamInfo
609: {};
609: 
609: struct VideoStreamInfo : StreamInfo
609: {
609:   float videoAspectRatio = 0.0f;
609:   int height = 0;
609:   int width = 0;
609:   CRect SrcRect;
609:   CRect DestRect;
609:   CRect VideoRect;
609:   std::string stereoMode;
609:   int angles = 0;
609:   StreamHdrType hdrType = StreamHdrType::HDR_TYPE_NONE;
609: };
609: 
609: sation<_Rep, _Period>>
1417:       : std::true_type
1417:       { };
1417: 
1417:     template<typename _Tp>
1417:       using __enable_if_is_duration
1417:  = typename enable_if<__is_duration<_Tp>::value, _Tp>::type;
1417: 
1417:     template<typename _Tp>
1417:       using __disable_if_is_duration
1417:  = typename enable_if<!__is_duration<_Tp>::value, _Tp>::type;
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _ToDur, typename _Rep, typename _Period>
1417:       constexpr __enable_if_is_duration<_ToDur>
1417:       duration_cast(const duration<_Rep, _Period>& __d)
1417:       {
1417:  typedef typename _ToDur::period __to_period;
1417:  typedef typename _ToDur::rep __to_rep;
1417:  typedef ratio_divide<_Period, __to_period> __cf;
1417:  typedef typename common_type<__to_rep, _Rep, intmax_t>::type __cr;
1417:  typedef __duration_cast_impl<_ToDur, __cf, __cr,
1417:           __cf::num == 1, __cf::den == 1> __dc;
1417:  return __dc::__cast(__d);
1417:       }
1417: 
1417: 
1417:     template<typename _Rep>
1417:       struct treat_as_floating_point
1417:       : is_floating_point<_Rep>
1417:       { };
1417: 
1417: 
1417:     template <typename _Rep>
1417:       inline constexpr bool treat_as_floating_point_v =
1417:  treat_as_floating_point<_Rep>::value;
1417: # 332 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _ToDur, typename _Rep, typename _Period>
1417:       constexpr __enable_if_is_duration<_ToDur>
1417:       floor(const duration<_Rep, _Period>& __d)
1417:       {
1417:  auto __to = chrono::duration_cast<_ToDur>(__d);
1417:  if (__to > __d)
1417:    return __to - _ToDur{1};
1417:  return __to;
1417:       }
1417: 
1417:     template<typename _ToDur, typename _Rep, typename _Period>
1417:       constexpr __enable_if_is_duration<_ToDur>
1417:       ceil(const duration<_Rep, _Period>& __d)
1417:       {
1417:  auto __to = chrono::duration_cast<_ToDur>(__d);
1417:  if (__to < __d)
1417:    return __to + _ToDur{1};
1417:  return __to;
1417:       }
1417: 
1417:     template <typename _ToDur, typename _Rep, typename _Period>
1417:       constexpr enable_if_t<
1417:  __and_<__is_duration<_ToDur>,
1417:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1417:  _ToDur>
1417:       round(const duration<_Rep, _Period>& __d)
1417:       {
1417:  _ToDur __t0 = chrono::floor<_ToDur>(__d);
1417:  _ToDur __t1 = __t0 + _ToDur{1};
1417:  auto __diff0 = __d - __t0;
1417:  auto __diff1 = __t1 - __d;
1417:  if (__diff0 == __diff1)
1417:  {
1417:      if (__t0.count() & 1)
1417:   return __t1;
1417:      return __t0;
1417:  }
1417:  else if (__diff0 < __diff1)
1417:      return __t0;
1417:  return __t1;
1417:       }
1417: 
1417:     template<typename _Rep, typename _Period>
1417:       constexpr
1417:       enable_if_t<numeric_limits<_Rep>::is_signed, duration<_Rep, _Period>>
1417:       abs(duration<_Rep, _Period> __d)
1417:       {
1417:  if (__d >= __d.zero())
1417:    return __d;
1417:  return -__d;
1417:       }
1417: 
1417: 
1417:     namespace __detail { using chrono::ceil; }
1417: # 412 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _Rep>
1417:       struct duration_values
1417:       {
1417:  static constexpr _Rep
1417:  zero() noexcept
1417:  { return _Rep(0); }
1417: 
1417:  static constexpr _Rep
1417:  max() noexcept
1417:  { return numeric_limits<_Rep>::max(); }
1417: 
1417:  static constexpr _Rep
1417:  min() noexcept
1417:  { return numeric_limits<_Rep>::lowest(); }
1417:       };
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:       struct __is_ratio
1417:       : std::false_type
1417:       { };
1417: 
1417:     template<intmax_t _Num, intmax_t _Den>
1417:       struct __is_ratio<ratio<_Num, _Den>>
1417:       : std::true_type
1417:       { };
1417: 
1417: 
1417: 
1417:     template<typename _Rep, typename _Period>
1417:       struct duration
1417:       {
1417:       private:
1417:  template<typename _Rep2>
1417:    using __is_float = treat_as_floating_point<_Rep2>;
1417: 
1417:  static constexpr intmax_t
1417:  _S_gcd(intmax_t __m, intmax_t __n) noexcept
1417:  {
1417: 
1417: 
1417: 
1417:    do
1417:      {
1417:        intmax_t __rem = __m % __n;
1417:        __m = __n;
1417:        __n = __rem;
1417:      }
1417:    while (__n != 0);
1417:    return __m;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  template<typename _R1, typename _R2,
1417:    intmax_t __gcd1 = _S_gcd(_R1::num, _R2::num),
1417:    intmax_t __gcd2 = _S_gcd(_R1::den, _R2::den)>
1417:    using __divide = ratio<(_R1::num / __gcd1) * (_R2::den / __gcd2),
1417:      (_R1::den / __gcd2) * (_R2::num / __gcd1)>;
1417: 
1417: 
1417:  template<typename _Period2>
1417:    using __is_harmonic
1417:      = __bool_constant<__divide<_Period2, _Period>::den == 1>;
1417: 
1417:       public:
1417: 
1417:  using rep = _Rep;
1417:  using period = typename _Period::type;
1417: 
1417:  static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
1417:  static_assert(__is_ratio<_Period>::value,
1417:         "period must be a specialization of ratio");
1417:  static_assert(_Period::num > 0, "period must be positive");
1417: 
1417: 
1417:  constexpr duration() = default;
1417: 
1417:  duration(const duration&) = default;
1417: 
1417: 
1417: 
1417:  template<typename _Rep2, typename = _Require<
1417:    is_convertible<const _Rep2&, rep>,
1417:    __or_<__is_float<rep>, __not_<__is_float<_Rep2>>>>>
1417:    constexpr explicit duration(const _Rep2& __rep)
1417:    : __r(static_cast<rep>(__rep)) { }
1417: 
1417:  template<typename _Rep2, typename _Period2, typename = _Require<
1417:    is_convertible<const _Rep2&, rep>,
1417:    __or_<__is_float<rep>,
1417:          __and_<__is_harmonic<_Period2>,
1417:          __not_<__is_float<_Rep2>>>>>>
1417:    constexpr duration(const duration<_Rep2, _Period2>& __d)
1417:    : __r(duration_cast<duration>(__d).count()) { }
1417: 
1417:  ~duration() = default;
1417:  duration& operator=(const duration&) = default;
1417: 
1417: 
1417:  constexpr rep
1417:  count() const
1417:  { return __r; }
1417: 
1417: 
1417: 
1417:  constexpr duration<typename common_type<rep>::type, period>
1417:  operator+() const
1417:  { return duration<typename common_type<rep>::type, period>(__r); }
1417: 
1417:  constexpr duration<typename common_type<rep>::type, period>
1417:  operator-() const
1417:  { return duration<typename common_type<rep>::type, period>(-__r); }
1417: 
1417:  constexpr duration&
1417:  operator++()
1417:  {
1417:    ++__r;
1417:    return *this;
1417:  }
1417: 
1417:  constexpr duration
1417:  operator++(int)
1417:  { return duration(__r++); }
1417: 
1417:  constexpr duration&
1417:  operator--()
1417:  {
1417:    --__r;
1417:    return *this;
1417:  }
1417: 
1417:  constexpr duration
1417:  operator--(int)
1417:  { return duration(__r--); }
1417: 
1417:  constexpr duration&
1417:  operator+=(const duration& __d)
1417:  {
1417:    __r += __d.count();
1417:    return *this;
1417:  }
1417: 
1417:  constexpr duration&
1417:  operator-=(const duration& __d)
1417:  {
1417:    __r -= __d.count();
1417:    return *this;
1417:  }
1417: 
1417:  constexpr duration&
1417:  operator*=(const rep& __rhs)
1417:  {
1417:    __r *= __rhs;
1417:    return *this;
1417:  }
1417: 
1417:  constexpr duration&
1417:  operator/=(const rep& __rhs)
1417:  {
1417:    __r /= __rhs;
1417:    return *this;
1417:  }
1417: 
1417: 
1417:  template<typename _Rep2 = rep>
1417:    constexpr
1417:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1417:         duration&>::type
1417:    operator%=(const rep& __rhs)
1417:    {
1417:      __r %= __rhs;
1417:      return *this;
1417:    }
1417: 
1417:  template<typename _Rep2 = rep>
1417:    constexpr
1417:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1417:         duration&>::type
1417:    operator%=(const duration& __d)
1417:    {
1417:      __r %= __d.count();
1417:      return *this;
1417:    }
1417: 
1417: 
1417:  static constexpr duration
1417:  zero() noexcept
1417:  { return duration(duration_values<rep>::zero()); }
1417: 
1417:  static constexpr duration
1417:  min() noexcept
1truct ProgramInfo
609: {
609:   int id = -1;
609:   bool playing = false;
609:   std::string name;
609: };
609: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/MenuType.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/MenuType.h"
609:        
609: 
609: 
609: 
609: 
609: enum class MenuType
609: {
609: 
609:   NONE,
609: 
609:   NATIVE,
609: 
609:   SIMPLIFIED
609: };
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h" 2
609: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h"
609: struct TextCacheStruct_t;
609: class TiXmlElement;
609: class CStreamDetails;
609: class CAction;
609: class IPlayerCallback;
609: 
609: class CPlayerOptions
609: {
609: public:
609:   CPlayerOptions()
609:   {
609:     starttime = 0LL;
609:     startpercent = 0LL;
609:     fullscreen = false;
609:     videoOnly = false;
609:     preferStereo = false;
609:   }
609:   double starttime;
609:   double startpercent;
609:   std::string state;
609:   bool fullscreen;
609:   bool videoOnly;
609:   bool preferStereo;
609: };
609: 
609: class CFileItem;
609: 
609: enum IPlayerAudioCapabilities
609: {
609:   IPC_AUD_ALL,
609:   IPC_AUD_OFFSET,
609:   IPC_AUD_AMP,
609:   IPC_AUD_SELECT_STREAM,
609:   IPC_AUD_OUTPUT_STEREO,
609:   IPC_AUD_SELECT_OUTPUT
609: };
609: 
609: enum IPlayerSubtitleCapabilities
609: {
609:   IPC_SUBS_ALL,
609:   IPC_SUBS_SELECT,
609:   IPC_SUBS_EXTERNAL,
609:   IPC_SUBS_OFFSET
609: };
609: 
609: enum ERENDERFEATURE
609: {
609:   RENDERFEATURE_GAMMA,
609:   RENDERFEATURE_BRIGHTNESS,
609:   RENDERFEATURE_CONTRAST,
609:   RENDERFEATURE_NOISE,
609:   RENDERFEATURE_SHARPNESS,
609:   RENDERFEATURE_NONLINSTRETCH,
609:   RENDERFEATURE_ROTATION,
609:   RENDERFEATURE_STRETCH,
609:   RENDERFEATURE_ZOOM,
609:   RENDERFEATURE_VERTICAL_SHIFT,
609:   RENDERFEATURE_PIXEL_RATIO,
609:   RENDERFEATURE_POSTPROCESS,
609:   RENDERFEATURE_TONEMAP
609: };
609: 
609: class IPlayer
609: {
609: public:
609:   explicit IPlayer(IPlayerCallback& callback) : m_callback(callback) {}
609:   virtual ~IPlayer() = default;
609:   virtual bool Initialize(TiXmlElement* pConfig) { return true; }
609:   virtual bool OpenFile(const CFileItem& file, const CPlayerOptions& options){ return false;}
609:   virtual bool QueueNextFile(const CFileItem &file) { return false; }
609:   virtual void OnNothingToQueueNotify() {}
609:   virtual bool CloseFile(bool reopen = false) = 0;
609:   virtual bool IsPlaying() const { return false;}
609:   virtual bool CanPause() const { return true; }
609:   virtual void Pause() = 0;
609:   virtual bool HasVideo() const = 0;
609:   virtual bool HasAudio() const = 0;
609:   virtual bool HasGame() const { return false; }
609:   virtual bool HasRDS() const { return false; }
609:   virtual bool HasID3() const { return false; }
609:   virtual bool IsPassthrough() const { return false;}
609:   virtual bool CanSeek() const { return true; }
609:   virtual void Seek(bool bPlus = true, bool bLargeStep = false, bool bChapterOverride = false) = 0;
609:   virtual bool SeekScene(bool bPlus = true) {return false;}
609:   virtual void SeekPercentage(float fPercent = 0){}
609:   virtual float GetCachePercentage() const { return 0; }
609:   virtual void SetMute(bool bOnOff){}
609:   virtual void SetVolume(float volume){}
609:   virtual void SetDynamicRangeCompression(long drc){}
609: 
609:   virtual void SetAVDelay(float fValue = 0.0f) {}
609:   virtual float GetAVDelay() { return 0.0f; }
609: 
609:   virtual void SetSubTitleDelay(float fValue = 0.0f) {}
609:   virtual float GetSubTitleDelay() { return 0.0f; }
609:   virtual int GetSubtitleCount() const { return 0; }
609:   virtual int GetSubtitle() { return -1; }
609:   virtual void GetSubtitleStreamInfo(int index, SubtitleStreamInfo& info) const {}
609:   virtual void SetSubtitle(int iStream) {}
609:   virtual bool GetSubtitleVisible() const { return false; }
609:   virtual void SetSubtitleVisible(bool bVisible) {}
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual void SetSubtitleVerticalPosition(int value, bool save) {}
609: 
609: 
609: 
609: 
609: 
609:   virtual void AddSubtitle(const std::string& strSubPath) {}
609: 
609:   virtual int GetAudioStreamCount() const { return 0; }
609:   virtual int GetAudioStream() { return -1; }
609:   virtual void SetAudioStream(int iStream) {}
609:   virtual void GetAudioStreamInfo(int index, AudioStreamInfo& info) const {}
609: 
609:   virtual int GetVideoStream() const { return -1; }
609:   virtual int GetVideoStreamCount() const { return 0; }
609:   virtual void GetVideoStreamInfo(int streamId, VideoStreamInfo& info) const {}
609:   virtual void SetVideoStream(int iStream) {}
609: 
609:   virtual int GetPrograms(std::vector<ProgramInfo>& programs) { return 0; }
609:   virtual void SetProgram(int progId) {}
609:   virtual int GetProgramsCount() const { return 0; }
609: 
609:   virtual bool HasTeletextCache() const { return false; }
609:   virtual std::shared_ptr<TextCacheStruct_t> GetTeletextCache() { return nullptr; }
609:   virtual void LoadPage(int p, int sp, unsigned char* buffer) {}
609: 
609:   virtual int GetChapterCount() const { return 0; }
609:   virtual int GetChapter() const { return -1; }
609:   virtual void GetChapterName(std::string& strChapterName, int chapterIdx = -1) const {}
609:   virtual int64_t GetChapterPos(int chapterIdx = -1) const { return 0; }
609:   virtual int SeekChapter(int iChapter) { return -1; }
609: 
609: 
609:   virtual void SeekTime(int64_t iTime = 0) {}
609: 
609: 
609: 
609: 
609: 
609:   virtual bool SeekTimeRelative(int64_t iTime) { return false; }
609: # 181 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h"
609:   virtual void SetTime(int64_t time) { }
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual void SetTotalTime(int64_t time) { }
609:   virtual void SetSpeed(float speed) = 0;
609:   virtual void SetTempo(float tempo) {}
609:   virtual bool SupportsTempo() const { return false; }
609:   virtual void FrameAdvance(int frames) {}
609: 
609: 
609:   virtual bool IsCaching() const { return false; }
609: 
609:   virtual int GetCacheLevel() const { return -1; }
609: 
609:   virtual bool IsInMenu() const { return false; }
609: 
609: 
609: 
609: 
609: 
609:   virtual MenuType GetSupportedMenuType() const { return MenuType::NONE; }
609: 
609:   virtual void DoAudioWork() {}
609:   virtual bool OnAction(const CAction& action) { return false; }
609: 
609: 
609:   virtual std::string GetPlayerState() { return ""; }
609:   virtual bool SetPlayerState(const std::string& state) { return false; }
609: 
609:   virtual void GetAudioCapabilities(std::vector<int>& audioCaps) const
609:   {
609:     audioCaps.assign(1, IPC_AUD_ALL);
609:   }
609: 
609: 
609: 
609:   virtual void GetSubtitleCapabilities(std::vector<int>& subCaps) const
609:   {
609:     subCaps.assign(1, IPC_SUBS_ALL);
609:   }
609: 
609: 
609: 
609: 
609:   virtual void Render(bool clear, uint32_t alpha = 255, bool gui = true) {}
609:   virtual void FlushRenderer() {}
609:   virtual void SetRenderViewMode(int mode, float zoom, float par, float shift, bool stretch) {}
609:   virtual float GetRenderAspectRatio() const { return 1.0; }
609:   virtual void TriggerUpdateResolution() {}
609:   virtual bool IsRenderingVideo() const { return false; }
609: 
609:   virtual bool Supports(EINTERLACEMETHOD method) const { return false; }
609:   virtual EINTERLACEMETHOD GetDeinterlacingMethodDefault() const
609:   {
609:     return EINTERLACEMETHOD::VS_INTERLACEMETHOD_NONE;
609:   }
609:   virtual bool Supports(ESCALINGMETHOD method) const { return false; }
609:   virtual bool Supports(ERENDERFEATURE feature) const { return false; }
609: 
609:   virtual unsigned int RenderCaptureAlloc() { return 0; }
609:   virtual void RenderCaptureRelease(unsigned int captureId) {}
609:   virtual void RenderCapture(unsigned int captureId,
609:                              unsigned int width,
609:                              unsigned int height,
609:                              int flags)
609:   {
609:   }
609:   virtual bool RenderCaptureGetPixels(unsigned int captureId,
609:                           417:  { return duration(duration_values<rep>::min()); }
1417: 
1417:  static constexpr duration
1417:  max() noexcept
1417:  { return duration(duration_values<rep>::max()); }
1417: 
1417:       private:
1417:  rep __r;
1417:       };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr typename common_type<duration<_Rep1, _Period1>,
1417:          duration<_Rep2, _Period2>>::type
1417:       operator+(const duration<_Rep1, _Period1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep1, _Period1> __dur1;
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<__dur1,__dur2>::type __cd;
1417:  return __cd(__cd(__lhs).count() + __cd(__rhs).count());
1417:       }
1417: 
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr typename common_type<duration<_Rep1, _Period1>,
1417:          duration<_Rep2, _Period2>>::type
1417:       operator-(const duration<_Rep1, _Period1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep1, _Period1> __dur1;
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<__dur1,__dur2>::type __cd;
1417:  return __cd(__cd(__lhs).count() - __cd(__rhs).count());
1417:       }
1417: # 661 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _Rep1, typename _Rep2,
1417:       typename _CRep = typename common_type<_Rep1, _Rep2>::type>
1417:       using __common_rep_t = typename
1417:  enable_if<is_convertible<const _Rep2&, _CRep>::value, _CRep>::type;
1417: # 673 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _Rep1, typename _Period, typename _Rep2>
1417:       constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period>
1417:       operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1417:       {
1417:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1417:    __cd;
1417:  return __cd(__cd(__d).count() * __s);
1417:       }
1417: 
1417:     template<typename _Rep1, typename _Rep2, typename _Period>
1417:       constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period>
1417:       operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d)
1417:       { return __d * __s; }
1417: 
1417:     template<typename _Rep1, typename _Period, typename _Rep2>
1417:       constexpr
1417:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1417:       operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1417:       {
1417:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1417:    __cd;
1417:  return __cd(__cd(__d).count() / __s);
1417:       }
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr typename common_type<_Rep1, _Rep2>::type
1417:       operator/(const duration<_Rep1, _Period1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep1, _Period1> __dur1;
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<__dur1,__dur2>::type __cd;
1417:  return __cd(__lhs).count() / __cd(__rhs).count();
1417:       }
1417: 
1417: 
1417:     template<typename _Rep1, typename _Period, typename _Rep2>
1417:       constexpr
1417:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1417:       operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1417:       {
1417:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1417:    __cd;
1417:  return __cd(__cd(__d).count() % __s);
1417:       }
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr typename common_type<duration<_Rep1, _Period1>,
1417:          duration<_Rep2, _Period2>>::type
1417:       operator%(const duration<_Rep1, _Period1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep1, _Period1> __dur1;
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<__dur1,__dur2>::type __cd;
1417:  return __cd(__cd(__lhs).count() % __cd(__rhs).count());
1417:       }
1417: # 741 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr bool
1417:       operator==(const duration<_Rep1, _Period1>& __lhs,
1417:    const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep1, _Period1> __dur1;
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<__dur1,__dur2>::type __ct;
1417:  return __ct(__lhs).count() == __ct(__rhs).count();
1417:       }
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr bool
1417:       operator<(const duration<_Rep1, _Period1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep1, _Period1> __dur1;
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<__dur1,__dur2>::type __ct;
1417:  return __ct(__lhs).count() < __ct(__rhs).count();
1417:       }
1417: # 778 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr bool
1417:       operator!=(const duration<_Rep1, _Period1>& __lhs,
1417:    const duration<_Rep2, _Period2>& __rhs)
1417:       { return !(__lhs == __rhs); }
1417: 
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr bool
1417:       operator<=(const duration<_Rep1, _Period1>& __lhs,
1417:    const duration<_Rep2, _Period2>& __rhs)
1417:       { return !(__rhs < __lhs); }
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr bool
1417:       operator>(const duration<_Rep1, _Period1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       { return __rhs < __lhs; }
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr bool
1417:       operator>=(const duration<_Rep1, _Period1>& __lhs,
1417:    const duration<_Rep2, _Period2>& __rhs)
1417:       { return !(__lhs < __rhs); }
1417: # 822 "/usr/include/c++/12/bits/chrono.h" 3
1417:     using nanoseconds = duration<int64_t, nano>;
1417: 
1417: 
1417:     using microseconds = duration<int64_t, micro>;
1417: 
1417: 
1417:     using milliseconds = duration<int64_t, milli>;
1417: 
1417: 
1417:     using seconds = duration<int64_t>;
1417: 
1417: 
1417:     using minutes = duration<int64_t, ratio< 60>>;
1417: 
1417: 
1417:     using hours = duration<int64_t, ratio<3600>>;
1417: # 855 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _Clock, typename _Dur>
1417:       struct time_point
1417:       {
1417:  static_assert(__is_duration<_Dur>::value,
1417:      "duration must be a specialization of std::chrono::duration");
1417: 
1417:  typedef _Clock clock;
1417:  typedef _Dur duration;
1417:  typedef typename duration::rep rep;
1417:  typedef typename duration::period period;
1417: 
1417:  constexpr time_point() : __d(duration::zero())
1417:  { }
1417: 
1417:  constexpr explicit time_point(const duration& __dur)
1417:  : __d(__dur)
1417:  { }
1417: 
1417: 
1417:  template<typename _Dur2,
1417:    typename = _Require<is_convertible<_Dur2, _Dur>>>
1417:    constexpr time_point(const time_point<clock, _Dur2>& __t)
1417:    : __d(__t.time_since_epoch())
1417:    { }
1417: 
1417: 
1417:  constexpr duration
1417:  time_since_epoch() const
1417:  { return __d; }
1417: # 910 "/usr/include/c++/12/bits/chrono.h" 3
1417:  constexpr time_point&
1417:  operator+=(const duration& __dur)
1417:  {
1417:    __d += __dur;
1417:    return *this;
1417:  }
1417: 
1417:  constexpr time            unsigned int millis,
609:                                       uint8_t* buffer,
609:                                       unsigned int size)
609:   {
609:     return false;
609:   }
609: 
609: 
609:   virtual CVideoSettings GetVideoSettings() const { return CVideoSettings(); }
609:   virtual void SetVideoSettings(CVideoSettings& settings) {}
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   virtual bool HasGameAgent() const { return false; }
609: 
609:   std::string m_name;
609:   std::string m_type;
609: 
609: protected:
609:   IPlayerCallback& m_callback;
609: };
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListTypes.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListTypes.h"
609:        
609: 
609: namespace PLAYLIST
609: {
609: 
609: using Id = int;
609: 
609: constexpr Id TYPE_NONE = -1;
609: constexpr Id TYPE_MUSIC = 0;
609: constexpr Id TYPE_VIDEO = 1;
609: constexpr Id TYPE_PICTURE = 2;
609: 
609: 
609: 
609: 
609: enum class RepeatState
609: {
609:   NONE,
609:   ONE,
609:   ALL
609: };
609: 
609: }
609: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 2
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SystemClock.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SystemClock.h"
609:        
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/thread" 1 3
609: # 32 "/usr/include/c++/12/thread" 3
609:        
609: # 33 "/usr/include/c++/12/thread" 3
609: # 43 "/usr/include/c++/12/thread" 3
609: # 1 "/usr/include/c++/12/bits/std_thread.h" 1 3
609: # 33 "/usr/include/c++/12/bits/std_thread.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/std_thread.h" 3
609: # 52 "/usr/include/c++/12/bits/std_thread.h" 3
609: 
609: # 52 "/usr/include/c++/12/bits/std_thread.h" 3
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   class thread
609:   {
609:   public:
609: 
609: 
609: 
609:     struct _State
609:     {
609:       virtual ~_State();
609:       virtual void _M_run() = 0;
609:     };
609:     using _State_ptr = unique_ptr<_State>;
609: 
609:     using native_handle_type = __gthread_t;
609: 
609: 
609: 
609: 
609: 
609:     class id
609:     {
609:       native_handle_type _M_thread;
609: 
609:     public:
609:       id() noexcept : _M_thread() { }
609: 
609:       explicit
609:       id(native_handle_type __id) : _M_thread(__id) { }
609: 
609:     private:
609:       friend class thread;
609:       friend struct hash<id>;
609: 
609:       friend bool
609:       operator==(id __x, id __y) noexcept;
609: 
609: 
609: 
609: 
609: 
609:       friend bool
609:       operator<(id __x, id __y) noexcept;
609: 
609: 
609:       template<class _CharT, class _Traits>
609:  friend basic_ostream<_CharT, _Traits>&
609:  operator<<(basic_ostream<_CharT, _Traits>& __out, id __id);
609:     };
609: 
609:   private:
609:     id _M_id;
609: 
609: 
609: 
609: 
609:     template<typename _Tp>
609:       using __not_same = __not_<is_same<__remove_cvref_t<_Tp>, thread>>;
609: 
609:   public:
609:     thread() noexcept = default;
609: 
609: 
609:     template<typename _Callable, typename... _Args,
609:       typename = _Require<__not_same<_Callable>>>
609:       explicit
609:       thread(_Callable&& __f, _Args&&... __args)
609:       {
609:  static_assert( __is_invocable<typename decay<_Callable>::type,
609:           typename decay<_Args>::type...>::value,
609:    "std::thread arguments must be invocable after conversion to rvalues"
609:    );
609: 
609: 
609: 
609: 
609: 
609:  auto __depend = nullptr;
609: 
609:  using _Wrapper = _Call_wrapper<_Callable, _Args...>;
609: 
609: 
609:  _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
609:        std::forward<_Callable>(__f), std::forward<_Args>(__args)...)),
609:      __depend);
609:       }
609: 
609: 
609:     ~thread()
609:     {
609:       if (joinable())
609:  std::__terminate();
609:     }
609: 
609:     thread(const thread&) = delete;
609: 
609:     thread(thread&& __t) noexcept
609:     { swap(__t); }
609: 
609:     thread& operator=(const thread&) = delete;
609: 
609:     thread& operator=(thread&& __t) noexcept
609:     {
609:       if (joinable())
609:  std::__terminate();
609:       swap(__t);
609:       return *this;
609:     }
609: 
609:     void
609:     swap(thread& __t) noexcept
609:     { std::swap(_M_id, __t._M_id); }
609: 
609:     bool
609:     joinable() const noexcept
609:     { return !(_M_id == id()); }
609: 
609:     void
609:     join();
609: 
609:     void
609:     detach();
609: 
609:     id
609:     get_id() const noexcept
609:     { return _M_id; }
609: 
609: 
609: 
609:     native_handle_type
609:     native_handle()
609:     { return _M_id._M_thread; }
609: 
609: 
609:     static unsigned int
609:     hardware_concurrency() noexcept;
609: 
609: 
609:   private:
609:     template<typename _Callable>
609:       struct _State_impl : public _State
609:       {
609:  _Callable _M_func;
609: 
609:  template<typename... _Args>
609:    _State_impl(_Args&&... __args)
609:    : _M_func{{std::forward<_Args>(__args)...}}
609:    { }
609: 
609:  void
609:  _M_run() { _M_func(); }
609:       };
609: 
609:     void
609:     _M_start_thread(_State_ptr, void (*)());
609: # 235 "/usr/include/c++/12/bits/std_thread.h" 3
609:   private:
609: 
609:     template<typename _Tuple>
609:       struct _Invoker
609:       {
609:  _Tuple _M_t;
609: 
609:  template<typename>
609:    struct __result;
609:  template<typename _Fn, typename... _Args>
609:    struct __result<tuple<_Fn, _Args...>>
609:    : __invoke_result<_Fn, _Args...>
609:    { };
609: 
609:  template<size_t... _Ind>
609:    typename __result<_Tuple>::type
609:    _M_invoke(_Index_tuple<_Ind...>)
609:    { return std::__invoke(std::get<_Ind>(std::move(_M_t))...); }
609: 
609:  typename __result<_Tuple>::type
609:  operator()()
609:  {
609:    using _Indices
609:      = typename _Build_index_tuple<tuple_size<_Tuple>::value>::__type;
609:    return _M_invoke(_Indices());
609:  }
609:       };
609: 
609:   public:
609:     template<typename... _Tp>
609:       using _Call_wrapper = _Invoker<tuple<typename decay<_Tp>::type...>>;
609: 
609:   };
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   inline void
609:   swap(thread& __x, thread& __y) noexcept
609:   { __x.swap(__y); }
609: 
609:   inline bool
609:   operator==(thread::id __x, thread::id __y) noexcept
609:   {
609: 
609: 
609: 
609: 
609:     return __x._M_thread == __y._M_thread;
609:   }
609: 
609: 
609: 
609: 
609: 
609:   template<>
609:     struct hash<thread::id>
609:     : public __hash_base<size_t, thread::id>
609:     {
609:       size_t
609:       operator()(const thread::id& __id) const noexcept
609:       { return std::_Hash_impl::hash(__id._M_thread); }
609:     };
609: 
609:   namespace this_thread
609:   {
609: 
609:     inline thread::id
609:     get_id() noexcept
609:     {
609: 
609: 
609: 
609:       return thread::id(pthread_self());
609: 
609: 
609: 
609:     }
609: 
609: 
609:     inline void
609:     yield() noexcept
609:     {
609: 
609:       __gthread_yield();
609: 
609:     }
609: 
609:   }
609: 
609: 
609: 
609: 
609: }
609: # 44 "/usr/include/c++/12/thread" 2 3
609: # 1 "/usr/include/c++/12/bits/this_thread_sleep.h" 1 3
609: # 33 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
609:        
609: # 34 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
609: 
609: 
609: 
609: 
609: 
609: # 1 "/usr/include/c++/12/cerrno" 1 3
609: # 39 "/usr/include/c++/12/cerrno" 3
609:        
609: # 40 "/usr/include/c++/12/cerrno" 3
609: # 40 "/usr/include/c++/12/bits/this_thread_sleep.h" 2 3
609: 
609: 
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 56 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
609:   namespace this_thread
609:   {
609: # 66 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
609:     template<typename _Rep, typename _Period>
609:       inline void
609:       sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
609:       {
609:  if (__rtime <= __rtim_point&
1417:  operator-=(const duration& __dur)
1417:  {
1417:    __d -= __dur;
1417:    return *this;
1417:  }
1417: 
1417: 
1417:  static constexpr time_point
1417:  min() noexcept
1417:  { return time_point(duration::min()); }
1417: 
1417:  static constexpr time_point
1417:  max() noexcept
1417:  { return time_point(duration::max()); }
1417: 
1417:       private:
1417:  duration __d;
1417:       };
1417: 
1417: 
1417:     template<typename _ToDur, typename _Clock, typename _Dur>
1417:       constexpr typename enable_if<__is_duration<_ToDur>::value,
1417:        time_point<_Clock, _ToDur>>::type
1417:       time_point_cast(const time_point<_Clock, _Dur>& __t)
1417:       {
1417:  typedef time_point<_Clock, _ToDur> __time_point;
1417:  return __time_point(duration_cast<_ToDur>(__t.time_since_epoch()));
1417:       }
1417: 
1417: 
1417:     template<typename _ToDur, typename _Clock, typename _Dur>
1417:       constexpr
1417:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1417:       floor(const time_point<_Clock, _Dur>& __tp)
1417:       {
1417:  return time_point<_Clock, _ToDur>{
1417:      chrono::floor<_ToDur>(__tp.time_since_epoch())};
1417:       }
1417: 
1417:     template<typename _ToDur, typename _Clock, typename _Dur>
1417:       constexpr
1417:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1417:       ceil(const time_point<_Clock, _Dur>& __tp)
1417:       {
1417:  return time_point<_Clock, _ToDur>{
1417:      chrono::ceil<_ToDur>(__tp.time_since_epoch())};
1417:       }
1417: 
1417:     template<typename _ToDur, typename _Clock, typename _Dur>
1417:       constexpr enable_if_t<
1417:  __and_<__is_duration<_ToDur>,
1417:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1417:  time_point<_Clock, _ToDur>>
1417:       round(const time_point<_Clock, _Dur>& __tp)
1417:       {
1417:  return time_point<_Clock, _ToDur>{
1417:      chrono::round<_ToDur>(__tp.time_since_epoch())};
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _Clock, typename _Dur1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr time_point<_Clock,
1417:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1417:       operator+(const time_point<_Clock, _Dur1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1417:  typedef time_point<_Clock, __ct> __time_point;
1417:  return __time_point(__lhs.time_since_epoch() + __rhs);
1417:       }
1417: 
1417: 
1417:     template<typename _Rep1, typename _Period1,
1417:       typename _Clock, typename _Dur2>
1417:       constexpr time_point<_Clock,
1417:  typename common_type<duration<_Rep1, _Period1>, _Dur2>::type>
1417:       operator+(const duration<_Rep1, _Period1>& __lhs,
1417:   const time_point<_Clock, _Dur2>& __rhs)
1417:       {
1417:  typedef duration<_Rep1, _Period1> __dur1;
1417:  typedef typename common_type<__dur1,_Dur2>::type __ct;
1417:  typedef time_point<_Clock, __ct> __time_point;
1417:  return __time_point(__rhs.time_since_epoch() + __lhs);
1417:       }
1417: 
1417: 
1417:     template<typename _Clock, typename _Dur1,
1417:       typename _Rep2, typename _Period2>
1417:       constexpr time_point<_Clock,
1417:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1417:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1417:   const duration<_Rep2, _Period2>& __rhs)
1417:       {
1417:  typedef duration<_Rep2, _Period2> __dur2;
1417:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1417:  typedef time_point<_Clock, __ct> __time_point;
1417:  return __time_point(__lhs.time_since_epoch() -__rhs);
1417:       }
1417: 
1417: 
1417:     template<typename _Clock, typename _Dur1, typename _Dur2>
1417:       constexpr typename common_type<_Dur1, _Dur2>::type
1417:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1417:   const time_point<_Clock, _Dur2>& __rhs)
1417:       { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _Clock, typename _Dur1, typename _Dur2>
1417:       constexpr bool
1417:       operator==(const time_point<_Clock, _Dur1>& __lhs,
1417:    const time_point<_Clock, _Dur2>& __rhs)
1417:       { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); }
1417: # 1050 "/usr/include/c++/12/bits/chrono.h" 3
1417:     template<typename _Clock, typename _Dur1, typename _Dur2>
1417:       constexpr bool
1417:       operator!=(const time_point<_Clock, _Dur1>& __lhs,
1417:    const time_point<_Clock, _Dur2>& __rhs)
1417:       { return !(__lhs == __rhs); }
1417: 
1417: 
1417:     template<typename _Clock, typename _Dur1, typename _Dur2>
1417:       constexpr bool
1417:       operator<(const time_point<_Clock, _Dur1>& __lhs,
1417:   const time_point<_Clock, _Dur2>& __rhs)
1417:       { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); }
1417: 
1417:     template<typename _Clock, typename _Dur1, typename _Dur2>
1417:       constexpr bool
1417:       operator<=(const time_point<_Clock, _Dur1>& __lhs,
1417:    const time_point<_Clock, _Dur2>& __rhs)
1417:       { return !(__rhs < __lhs); }
1417: 
1417:     template<typename _Clock, typename _Dur1, typename _Dur2>
1417:       constexpr bool
1417:       operator>(const time_point<_Clock, _Dur1>& __lhs,
1417:   const time_point<_Clock, _Dur2>& __rhs)
1417:       { return __rhs < __lhs; }
1417: 
1417:     template<typename _Clock, typename _Dur1, typename _Dur2>
1417:       constexpr bool
1417:       operator>=(const time_point<_Clock, _Dur1>& __lhs,
1417:    const time_point<_Clock, _Dur2>& __rhs)
1417:       { return !(__lhs < __rhs); }
1417: # 1102 "/usr/include/c++/12/bits/chrono.h" 3
1417:     inline namespace _V2 {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     struct system_clock
1417:     {
1417:       typedef chrono::nanoseconds duration;
1417:       typedef duration::rep rep;
1417:       typedef duration::period period;
1417:       typedef chrono::time_point<system_clock, duration> time_point;
1417: 
1417:       static_assert(system_clock::duration::min()
1417:       < system_clock::duration::zero(),
1417:       "a clock's minimum duration cannot be less than its epoch");
1417: 
1417:       static constexpr bool is_steady = false;
1417: 
1417:       static time_point
1417:       now() noexcept;
1417: 
1417: 
1417:       static std::time_t
1417:       to_time_t(const time_point& __t) noexcept
1417:       {
1417:  return std::time_t(duration_cast<chrono::seconds>
1417:       (__t.time_since_epoch()).count());
1417:       }
1417: 
1417:       static time_point
1417:       from_time_t(std::time_t __t) noexcept
1417:       {
1417:  typedef chrono::time_point<system_clock, seconds> __from;
1417:  return time_point_cast<system_clock::duration>
1417:         (__from(chrono::seconds(__t)));
1417:       }
1417:     };
1417: # 1150 "/usr/include/c++/12/bits/chrono.h" 3
1417:     struct steady_clock
1417:     {
1417:       typedef chrono::nanoseconds duration;
1417:       typedef duration::rep rep;
1417:       typedef duration::period period;
1417:       typedef chrono::time_point<steady_clock, duration> time_point;
1417: 
1417:       static constexpr bool is_steady = true;
1417: 
1417:       static time_point
1417:       now() noexcept;
1417:     };
1417: # 1172 "/usr/include/c++/12/bits/chrono.h" 3
1417:     using high_resolution_clock = system_clock;
1417: 
1417:     }
1417: # 1198 "/usr/include/c++/12/bits/chrono.h" 3
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   inline namespace literals
1417:   {
1417: # 1229 "/usr/include/c++/12/bits/chrono.h" 3
1417:   inline namespace chrono_literals
1417:   {
1417: 
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1417: 
1417:     template<typename _Dur, char... _Digits>
1417:       constexpr _Dur __check_overflow()
1417:       {
1417:  using _Val = __parse_int::_Parse_int<_Digits...>;
1417:  constexpr typename _Dur::rep __repval = _Val::value;
1417:  statice.zero())
609:    return;
609:  auto __s = chrono::duration_cast<chrono::seconds>(__rtime);
609:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__rtime - __s);
609: 
609:  struct ::timespec __ts =
609:    {
609:      static_cast<std::time_t>(__s.count()),
609:      static_cast<long>(__ns.count())
609:    };
609:  while (::nanosleep(&__ts, &__ts) == -1 && (*__errno_location ()) == 4)
609:    { }
609: 
609: 
609: 
609:       }
609: 
609: 
609:     template<typename _Clock, typename _Duration>
609:       inline void
609:       sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
609:       {
609: 
609: 
609: 
609:  auto __now = _Clock::now();
609:  if (_Clock::is_steady)
609:    {
609:      if (__now < __atime)
609:        sleep_for(__atime - __now);
609:      return;
609:    }
609:  while (__now < __atime)
609:    {
609:      sleep_for(__atime - __now);
609:      __now = _Clock::now();
609:    }
609:       }
609: 
609:   }
609: 
609: 
609: 
609: 
609: }
609: # 45 "/usr/include/c++/12/thread" 2 3
609: 
609: namespace std __attribute__ ((__visibility__ ("default")))
609: {
609: 
609: # 65 "/usr/include/c++/12/thread" 3
609:   inline bool
609:   operator!=(thread::id __x, thread::id __y) noexcept
609:   { return !(__x == __y); }
609: 
609:   inline bool
609:   operator<(thread::id __x, thread::id __y) noexcept
609:   {
609: 
609: 
609:     return __x._M_thread < __y._M_thread;
609:   }
609: 
609:   inline bool
609:   operator<=(thread::id __x, thread::id __y) noexcept
609:   { return !(__y < __x); }
609: 
609:   inline bool
609:   operator>(thread::id __x, thread::id __y) noexcept
609:   { return __y < __x; }
609: 
609:   inline bool
609:   operator>=(thread::id __x, thread::id __y) noexcept
609:   { return !(__x < __y); }
609: 
609: 
609:   template<class _CharT, class _Traits>
609:     inline basic_ostream<_CharT, _Traits>&
609:     operator<<(basic_ostream<_CharT, _Traits>& __out, thread::id __id)
609:     {
609:       if (__id == thread::id())
609:  return __out << "thread::id of a non-executing thread";
609:       else
609:  return __out << __id._M_thread;
609:     }
609: # 262 "/usr/include/c++/12/thread" 3
609: 
609: }
609: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SystemClock.h" 2
609: 
609: 
609: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SystemClock.h"
609: namespace XbmcThreads
609: {
609: 
609: template<typename>
609: struct is_chrono_duration : std::false_type
609: {
609: };
609: 
609: template<typename Rep, typename Period>
609: struct is_chrono_duration<std::chrono::duration<Rep, Period>> : std::true_type
609: {
609: };
609: 
609: template<typename T = std::chrono::milliseconds, bool = is_chrono_duration<T>::value>
609: class EndTime;
609: 
609: template<typename T>
609: class EndTime<T, true>
609: {
609: public:
609:   explicit EndTime(const T duration)
609:     : m_startTime(std::chrono::steady_clock::now()), m_totalWaitTime(duration)
609:   {
609:   }
609: 
609:   EndTime() = default;
609:   EndTime(const EndTime& right) = delete;
609:   ~EndTime() = default;
609: 
609:   void Set(const T duration)
609:   {
609:     m_startTime = std::chrono::steady_clock::now();
609:     m_totalWaitTime = duration;
609:   }
609: 
609:   bool IsTimePast() const
609:   {
609:     if (m_totalWaitTime == m_infinity)
609:       return false;
609: 
609:     const auto now = std::chrono::steady_clock::now();
609: 
609:     return ((now - m_startTime) >= m_totalWaitTime);
609:   }
609: 
609:   T GetTimeLeft() const
609:   {
609:     if (m_totalWaitTime == m_infinity)
609:       return m_infinity;
609: 
609:     const auto now = std::chrono::steady_clock::now();
609: 
609:     const auto left = ((m_startTime + m_totalWaitTime) - now);
609: 
609:     if (left < T::zero())
609:       return T::zero();
609: 
609:     return std::chrono::duration_cast<T>(left);
609:   }
609: 
609:   void SetExpired() { m_totalWaitTime = T::zero(); }
609: 
609:   void SetInfinite() { m_totalWaitTime = m_infinity; }
609: 
609:   bool IsInfinite() const { return (m_totalWaitTime == m_infinity); }
609: 
609:   T GetInitialTimeoutValue() const { return m_totalWaitTime; }
609: 
609:   std::chrono::steady_clock::time_point GetStartTime() const { return m_startTime; }
609: 
609: private:
609:   std::chrono::steady_clock::time_point m_startTime;
609:   T m_totalWaitTime = T::zero();
609: 
609:   const T m_infinity = T::max();
609: };
609: 
609: }
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 2
609: 
609: 
609: 
609: 
609: 
609: class CAction;
609: class CPlayerCoreFactory;
609: class CPlayerOptions;
609: class CStreamDetails;
609: 
609: struct AudioStreamInfo;
609: struct VideoStreamInfo;
609: struct SubtitleStreamInfo;
609: struct TextCacheStruct_t;
609: 
609: class CApplicationPlayer : public IApplicationComponent
609: {
609: public:
609:   CApplicationPlayer() = default;
609: 
609: 
609:   void ClosePlayer();
609:   void ResetPlayer();
609:   std::string GetCurrentPlayer() const;
609:   float GetPlaySpeed() const;
609:   float GetPlayTempo() const;
609:   bool HasPlayer() const;
609:   bool OpenFile(const CFileItem& item, const CPlayerOptions& options,
609:                 const CPlayerCoreFactory &factory,
609:                 const std::string &playerName, IPlayerCallback& callback);
609:   void OpenNext(const CPlayerCoreFactory &factory);
609:   void SetPlaySpeed(float speed);
609:   void SetTempo(float tempo);
609:   void FrameAdvance(int frames);
609: 
609:   void FrameMove();
609:   void Render(bool clear, uint32_t alpha = 255, bool gui = true);
609:   void FlushRenderer();
609:   void SetRenderViewMode(int mode, float zoom, float par, float shift, bool stretch);
609:   float GetRenderAspectRatio() const;
609:   void TriggerUpdateResolution();
609:   bool IsRenderingVideo() const;
609:   bool IsRenderingGuiLayer() const;
609:   bool IsRenderingVideoLayer() const;
609:   bool Supports(EINTERLACEMETHOD method) const;
609:   EINTERLACEMETHOD GetDeinterlacingMethodDefault() const;
609:   bool Supports(ESCALINGMETHOD method) const;
609:   bool Supports(ERENDERFEATURE feature) const;
609:   unsigned int RenderCaptureAlloc();
609:   void RenderCapture(unsigned int captureId, unsigned int width, unsigned int height, int flags = 0);
609:   void RenderCaptureRelease(unsigned int captureId);
609:   bool RenderCaptureGetPixels(unsigned int captureId, unsigned int millis, uint8_t *buffer, unsigned int size);
609:   bool IsExternalPlaying() const;
609:   bool IsRemotePlaying() const;
609: 
609: 
609:   void AddSubtitle(const std::string& strSubPath);
609:   bool CanPause() const;
609:   bool CanSeek() const;
609:   void DoAudioWork();
609:   int GetAudioDelay() const;
609:   void GetAudioCapabilities(std::vector<int>& audioCaps) const;
609:   int GetAudioStream();
609:   int GetAudioStreamCount() const;
609:   void GetAudioStreamInfo(int index, AudioStreamInfo& info) const;
609:   int GetCacheLevel() const;
609:   float GetCachePercentage() const;
609:   int GetChapterCount() const;
609:   int GetChapter() const;
609:   void GetChapterName(std::string& strChapterName, int chapterIdx = -1) const;
609:   int64_t GetChapterPos(int chapterIdx = -1) const;
609:   float GetPercentage() const;
609:   std::string GetPlayerState();
609:   PLAYLIST::Id GetPreferredPlaylist() const;
609:   int GetSubtitleDelay() const;
609:   int GetSubtitle();
609:   void GetSubtitleCapabilities(std::vector<int>& subCaps) const;
609:   int GetSubtitleCount() const;
609:   void GetSubtitleStreamInfo(int index, SubtitleStreamInfo& info) const;
609:   bool GetSubtitleVisible() const;
609:   bool HasTeletextCache() const;
609:   std::shared_ptr<TextCacheStruct_t> GetTeletextCache();
609:   int64_t GetTime() const;
609:   int64_t GetMinTime() const;
609:   int64_t GetMaxTime() const;
609:   time_t GetStartTime() const;
609:   int64_t GetTotalTime() const;
609:   int GetVideoStream();
609:   int GetVideoStreamCount() const;
609:   void GetVideoStreamInfo(int streamId, VideoStreamInfo& info) const;
609:   int GetPrograms(std::vector<ProgramInfo>& programs);
609:   void SetProgram(int progId);
609:   int GetProgramsCount() const;
609:   b_assert(__repval >= 0 && __repval == _Val::value,
1417:         "literal value cannot be represented by duration type");
1417:  return _Dur(__repval);
1417:       }
1417: 
1417: 
1417: 
1417:     constexpr chrono::duration<long double, ratio<3600,1>>
1417:     operator""h(long double __hours)
1417:     { return chrono::duration<long double, ratio<3600,1>>{__hours}; }
1417: 
1417: 
1417:     template <char... _Digits>
1417:       constexpr chrono::hours
1417:       operator""h()
1417:       { return __check_overflow<chrono::hours, _Digits...>(); }
1417: 
1417: 
1417:     constexpr chrono::duration<long double, ratio<60,1>>
1417:     operator""min(long double __mins)
1417:     { return chrono::duration<long double, ratio<60,1>>{__mins}; }
1417: 
1417: 
1417:     template <char... _Digits>
1417:       constexpr chrono::minutes
1417:       operator""min()
1417:       { return __check_overflow<chrono::minutes, _Digits...>(); }
1417: 
1417: 
1417:     constexpr chrono::duration<long double>
1417:     operator""s(long double __secs)
1417:     { return chrono::duration<long double>{__secs}; }
1417: 
1417: 
1417:     template <char... _Digits>
1417:       constexpr chrono::seconds
1417:       operator""s()
1417:       { return __check_overflow<chrono::seconds, _Digits...>(); }
1417: 
1417: 
1417:     constexpr chrono::duration<long double, milli>
1417:     operator""ms(long double __msecs)
1417:     { return chrono::duration<long double, milli>{__msecs}; }
1417: 
1417: 
1417:     template <char... _Digits>
1417:       constexpr chrono::milliseconds
1417:       operator""ms()
1417:       { return __check_overflow<chrono::milliseconds, _Digits...>(); }
1417: 
1417: 
1417:     constexpr chrono::duration<long double, micro>
1417:     operator""us(long double __usecs)
1417:     { return chrono::duration<long double, micro>{__usecs}; }
1417: 
1417: 
1417:     template <char... _Digits>
1417:       constexpr chrono::microseconds
1417:       operator""us()
1417:       { return __check_overflow<chrono::microseconds, _Digits...>(); }
1417: 
1417: 
1417:     constexpr chrono::duration<long double, nano>
1417:     operator""ns(long double __nsecs)
1417:     { return chrono::duration<long double, nano>{__nsecs}; }
1417: 
1417: 
1417:     template <char... _Digits>
1417:       constexpr chrono::nanoseconds
1417:       operator""ns()
1417:       { return __check_overflow<chrono::nanoseconds, _Digits...>(); }
1417: 
1417: #pragma GCC diagnostic pop
1417: 
1417:   }
1417:   }
1417: 
1417:   namespace chrono
1417:   {
1417:     using namespace literals::chrono_literals;
1417:   }
1417: 
1417: 
1417: 
1417:   namespace filesystem
1417:   {
1417:     struct __file_clock
1417:     {
1417:       using duration = chrono::nanoseconds;
1417:       using rep = duration::rep;
1417:       using period = duration::period;
1417:       using time_point = chrono::time_point<__file_clock>;
1417:       static constexpr bool is_steady = false;
1417: 
1417:       static time_point
1417:       now() noexcept
1417:       { return _S_from_sys(chrono::system_clock::now()); }
1417: # 1355 "/usr/include/c++/12/bits/chrono.h" 3
1417:     private:
1417:       using __sys_clock = chrono::system_clock;
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr chrono::seconds _S_epoch_diff{6437664000};
1417: 
1417:     protected:
1417: 
1417:       template<typename _Dur>
1417:  static
1417:  chrono::time_point<__file_clock, _Dur>
1417:  _S_from_sys(const chrono::time_point<__sys_clock, _Dur>& __t) noexcept
1417:  {
1417:    using __file_time = chrono::time_point<__file_clock, _Dur>;
1417:    return __file_time{__t.time_since_epoch()} - _S_epoch_diff;
1417:  }
1417: 
1417: 
1417:       template<typename _Dur>
1417:  static
1417:  chrono::time_point<__sys_clock, _Dur>
1417:  _S_to_sys(const chrono::time_point<__file_clock, _Dur>& __t) noexcept
1417:  {
1417:    using __sys_time = chrono::time_point<__sys_clock, _Dur>;
1417:    return __sys_time{__t.time_since_epoch()} + _S_epoch_diff;
1417:  }
1417:     };
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: # 43 "/usr/include/c++/12/mutex" 2 3
1417: # 1 "/usr/include/c++/12/bits/std_mutex.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/std_mutex.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/std_mutex.h" 3
1417: # 43 "/usr/include/c++/12/bits/std_mutex.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 57 "/usr/include/c++/12/bits/std_mutex.h" 3
1417:   class __mutex_base
1417:   {
1417:   protected:
1417:     typedef __gthread_mutex_t __native_type;
1417: 
1417: 
1417:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1417: 
1417:     constexpr __mutex_base() noexcept = default;
1417: # 78 "/usr/include/c++/12/bits/std_mutex.h" 3
1417:     __mutex_base(const __mutex_base&) = delete;
1417:     __mutex_base& operator=(const __mutex_base&) = delete;
1417:   };
1417: 
1417: 
1417:   class mutex : private __mutex_base
1417:   {
1417:   public:
1417:     typedef __native_type* native_handle_type;
1417: 
1417: 
1417:     constexpr
1417: 
1417:     mutex() noexcept = default;
1417:     ~mutex() = default;
1417: 
1417:     mutex(const mutex&) = delete;
1417:     mutex& operator=(const mutex&) = delete;
1417: 
1417:     void
1417:     lock()
1417:     {
1417:       int __e = __gthread_mutex_lock(&_M_mutex);
1417: 
1417: 
1417:       if (__e)
1417:  __throw_system_error(__e);
1417:     }
1417: 
1417:     bool
1417:     try_lock() noexcept
1417:     {
1417: 
1417:       return !__gthread_mutex_trylock(&_M_mutex);
1417:     }
1417: 
1417:     void
1417:     unlock()
1417:     {
1417: 
1417:       __gthread_mutex_unlock(&_M_mutex);
1417:     }
1417: 
1417:     native_handle_type
1417:     native_handle() noexcept
1417:     { return &_M_mutex; }
1417:   };
1417: 
1417: 
1417:   class __condvar
1417:   {
1417:     using timespec = __gthread_time_t;
1417: 
1417:   public:
1417:     __condvar() noexcept
1417:     {
1417: 
1417: 
1417: 
1417:     }
1417: 
1417:     ~__condvar()
1417:     {
1417:       int __e __attribute__((__unused__)) = __gthread_cond_destroy(&_M_cond);
1417:       do { if (std::__is_constant_evaluated() && !bool(__e != 16)) __builtin_unreachable(); } while (false);
1417:     }
1417: 
1417:     __condvar(const __condvar&) = delete;
1417:     __condvar& operator=(const __condvar&) = delete;
1417: 
1417:     __gthread_cond_t* native_handle() noexcept { return &_M_cond; }
1417: 
1417: 
1417:     void
1417:     wait(mutex& __m)
1417:     {
1417:       int __e __attribute__((__unused__))
1417:  = __gthread_cond_wait(&_M_cond, __m.native_handle());
1417:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1417:     }
1417: 
1417:     void
1417:     wait_until(mutex& __m, timespec& __abs_time)
1417:     {
1417:       __gthread_cond_timedwait(&_M_cond, __m.native_handle(), &__abs_time);
1417:     }
1417: 
1417: 
1417:     void
1417:     wait_until(mutex& __m, clockid_t __clock, timespec& __abs_time)
1417:     {
1417:       pthread_cond_clockwait(&_M_cond, __m.native_handle(), __clock,
1417:         &__abs_time);
1417:     }
1417: 
1417: 
1417:     void
1417:     notify_one() noexcept
1417:     {
1417:       int __e __attribute__((__unused__)) = __gthread_cond_signal(&_M_cond);
1417:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1417:     }
1417: 
1417:     void
1417:     notify_all() noexcept
1417:     {
1417:       int __e __attribute__((__unused__)) = __gthread_cond_broadcast(&_M_cond);
1417:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1417:     }
1417: 
1417:   protected:
1417: 
1417:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1417: 
1417: 
1417: 
1417:   };
1417: 
1417: 
1417: 
1417: 
1417:   struct defer_lock_t { explicit defer_lock_t() = default; };
1417: 
1417: 
1417:   struct try_to_lock_t { explicit try_to_lock_t() = default; };
1417: 
1417: 
1417: 
1417:   struct adopt_lock_t { explicit adopt_lock_t() = default; };
1417: 
1417: 
1417:   inline constexpr defeool HasAudio() const;
609: 
609: 
609: 
609: 
609: 
609:   MenuType GetSupportedMenuType() const;
609: 
609:   bool HasVideo() const;
609:   bool HasGame() const;
609:   bool HasRDS() const;
609:   bool IsCaching() const;
609:   bool IsInMenu() const;
609:   bool IsPaused() const;
609:   bool IsPausedPlayback() const;
609:   bool IsPassthrough() const;
609:   bool IsPlaying() const;
609:   bool IsPlayingAudio() const;
609:   bool IsPlayingVideo() const;
609:   bool IsPlayingGame() const;
609:   bool IsPlayingRDS() const;
609:   void LoadPage(int p, int sp, unsigned char* buffer);
609:   bool OnAction(const CAction &action);
609:   void OnNothingToQueueNotify();
609:   void Pause();
609:   bool QueueNextFile(const CFileItem &file);
609:   void Seek(bool bPlus = true, bool bLargeStep = false, bool bChapterOverride = false);
609:   int SeekChapter(int iChapter);
609:   void SeekPercentage(float fPercent = 0);
609:   bool SeekScene(bool bPlus = true);
609:   void SeekTime(int64_t iTime = 0);
609:   void SeekTimeRelative(int64_t iTime = 0);
609:   void SetAudioStream(int iStream);
609:   void SetAVDelay(float fValue = 0.0f);
609:   void SetDynamicRangeCompression(long drc);
609:   void SetMute(bool bOnOff);
609:   bool SetPlayerState(const std::string& state);
609:   void SetSubtitle(int iStream);
609:   void SetSubTitleDelay(float fValue = 0.0f);
609:   void SetSubtitleVisible(bool bVisible);
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609:   void SetSubtitleVerticalPosition(const int value, bool save);
609: 
609:   void SetTime(int64_t time);
609:   void SetTotalTime(int64_t time);
609:   void SetVideoStream(int iStream);
609:   void SetVolume(float volume);
609:   void SetSpeed(float speed);
609:   bool SupportsTempo() const;
609: 
609:   CVideoSettings GetVideoSettings() const;
609:   void SetVideoSettings(CVideoSettings& settings);
609: 
609:   CSeekHandler& GetSeekHandler();
609:   const CSeekHandler& GetSeekHandler() const;
609: 
609:   void SetUpdateStreamDetails();
609: 
609: 
609: 
609: 
609:   bool HasGameAgent() const;
609: 
609: private:
609:   std::shared_ptr<const IPlayer> GetInternal() const;
609:   std::shared_ptr<IPlayer> GetInternal();
609:   void CreatePlayer(const CPlayerCoreFactory &factory, const std::string &player, IPlayerCallback& callback);
609:   void CloseFile(bool reopen = false);
609: 
609:   std::shared_ptr<IPlayer> m_pPlayer;
609:   mutable CCriticalSection m_playerLock;
609:   CSeekHandler m_seekHandler;
609: 
609: 
609:   XbmcThreads::EndTime<> m_audioStreamUpdate;
609:   int m_iAudioStream;
609:   XbmcThreads::EndTime<> m_videoStreamUpdate;
609:   int m_iVideoStream;
609:   XbmcThreads::EndTime<> m_subtitleStreamUpdate;
609:   int m_iSubtitleStream;
609: 
609:   struct SNextItem
609:   {
609:     std::shared_ptr<CFileItem> pItem;
609:     CPlayerOptions options = {};
609:     std::string playerName;
609:     IPlayerCallback *callback = nullptr;
609:   } m_nextItem;
609: };
609: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPowerHandling.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPowerHandling.h"
609:        
609: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPowerHandling.h"
609: namespace ADDON
609: {
609: class IAddon;
609: using AddonPtr = std::shared_ptr<IAddon>;
609: }
609: 
609: class CApplication;
609: class CSetting;
609: 
609: 
609: 
609: 
609: 
609: class CApplicationPowerHandling : public IApplicationComponent
609: {
609:   friend class CApplication;
609: 
609: public:
609:   bool IsInScreenSaver() const { return m_screensaverActive; }
609:   bool IsScreenSaverInhibited() const;
609:   void ResetScreenSaver();
609:   void SetScreenSaverLockFailed() { m_iScreenSaveLock = -1; }
609:   void SetScreenSaverUnlocked() { m_iScreenSaveLock = 1; }
609:   void StopScreenSaverTimer();
609:   std::string ScreensaverIdInUse() const { return m_screensaverIdInUse; }
609: 
609:   bool GetRenderGUI() const { return m_renderGUI; }
609:   void SetRenderGUI(bool renderGUI);
609: 
609:   int GlobalIdleTime();
609:   void ResetSystemIdleTimer();
609:   bool IsIdleShutdownInhibited() const;
609: 
609:   void ResetShutdownTimers();
609:   void StopShutdownTimer();
609: 
609:   void ResetNavigationTimer();
609: 
609:   bool IsDPMSActive() const { return m_dpmsIsActive; }
609:   bool ToggleDPMS(bool manual);
609: 
609: 
609:   bool WakeUpScreenSaverAndDPMS(bool bPowerOffKeyPressed = false);
609: 
609:   bool OnSettingChanged(const CSetting& setting);
609:   bool OnSettingAction(const CSetting& setting);
609: 
609: protected:
609:   void ActivateScreenSaver(bool forceType = false);
609:   void CheckOSScreenSaverInhibitionSetting();
609: 
609:   void CheckScreenSaverAndDPMS();
609:   void InhibitScreenSaver(bool inhibit);
609:   void ResetScreenSaverTimer();
609:   bool WakeUpScreenSaver(bool bPowerOffKeyPressed = false);
609: 
609:   void InhibitIdleShutdown(bool inhibit);
609: 
609: 
609: 
609:   void HandleShutdownMessage();
609:   void CheckShutdown();
609: 
609:   float NavigationIdleTime();
609: 
609:   bool m_renderGUI{false};
609: 
609:   bool m_bInhibitScreenSaver = false;
609:   bool m_bResetScreenSaver = false;
609:   ADDON::AddonPtr
609:       m_pythonScreenSaver;
609:   bool m_screensaverActive = false;
609: 
609:   int m_iScreenSaveLock = 0;
609:   std::string m_screensaverIdInUse;
609: 
609:   bool m_dpmsIsActive = false;
609:   bool m_dpmsIsManual = false;
609: 
609:   bool m_bInhibitIdleShutdown = false;
609:   CStopWatch m_navigationTimer;
609:   CStopWatch m_shutdownTimer;
609: 
609: 
609: 
609: 
609: 
609:   CStopWatch m_idleTimer;
609:   CStopWatch m_screenSaverTimer;
609: 
609: 
609: 
609:   KODI::WINDOWING::COSScreenSaverInhibitor m_globalScreensaverInhibitor;
609: 
609:   KODI::WINDOWING::COSScreenSaverInhibitor m_screensaverInhibitor;
609: };
609: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/Key.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/Key.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/Action.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/Action.h"
609:        
609: 
609: 
609: 
609: 
609: 
609: class CKey;
609: 
609: 
609: 
609: 
609: 
609: 
609: class CAction
609: {
609: public:
609:   CAction();
609:   CAction(int actionID,
609:           float amount1 = 1.0f,
609:           float amount2 = 0.0f,
609:           const std::string& name = "",
609:           unsigned int holdTime = 0);
609:   CAction(int actionID, wchar_t unicode);
609:   CAction(int actionID,
609:           unsigned int state,
609:           float posX,
609:           float posY,
609:           float offsetX,
609:           float offsetY,
609:           float velocityX = 0.0f,
609:           float velocityY = 0.0f,
609:           const std::string& name = "");
609:   CAction(int actionID, const std::string& name, const CKey& key);
609:   CAction(int actionID, const std::string& name);
609: 
609:   CAction(const CAction& other) { *this = other; }
609:   CAction& operator=(const CAction& rhs);
609: 
609: 
609: 
609: 
609:   int GetID() const { return m_id; }
609: 
609: 
609: 
609: 
609:   bool IsMouse() const;
609: 
609:   bool IsGesture() const;
609: 
609: 
609: 
609: 
609:   const std::string& GetName() const { return m_name; }
609: 
609: 
609: 
609: 
609:   const std::string& GetText() const { return m_text; }
609: 
609: 
609: 
609: 
609:   void SetText(const std::string& text) { m_text = text; }
609: 
609: 
609: 
609: 
609: 
609:   float GetAmount(unsigned int index = 0) const
609:   {
609:     return (index < max_amounts) ? m_amount[index] : 0;
609:   };
609: 
609: 
609: 
609:   void ClearAmount();
609: 
609: 
609: 
609: 
609:   wchar_t GetUnicode() const { return m_unicode; }
609: 
609: 
609: 
609: 
609:   unsigned int GetHoldTime() const { return m_holdTime; }
609: 
609: 
609: 
609: 
609:   float GetRepeat() const { return m_repeat; }
609: 
609: 
609: 
609: 
609:   unsigned int r_lock_t defer_lock { };
1417: 
1417: 
1417:   inline constexpr try_to_lock_t try_to_lock { };
1417: 
1417: 
1417:   inline constexpr adopt_lock_t adopt_lock { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Mutex>
1417:     class lock_guard
1417:     {
1417:     public:
1417:       typedef _Mutex mutex_type;
1417: 
1417:       explicit lock_guard(mutex_type& __m) : _M_device(__m)
1417:       { _M_device.lock(); }
1417: 
1417:       lock_guard(mutex_type& __m, adopt_lock_t) noexcept : _M_device(__m)
1417:       { }
1417: 
1417:       ~lock_guard()
1417:       { _M_device.unlock(); }
1417: 
1417:       lock_guard(const lock_guard&) = delete;
1417:       lock_guard& operator=(const lock_guard&) = delete;
1417: 
1417:     private:
1417:       mutex_type& _M_device;
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 44 "/usr/include/c++/12/mutex" 2 3
1417: # 1 "/usr/include/c++/12/bits/unique_lock.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/unique_lock.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/unique_lock.h" 3
1417: # 43 "/usr/include/c++/12/bits/unique_lock.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 56 "/usr/include/c++/12/bits/unique_lock.h" 3
1417:   template<typename _Mutex>
1417:     class unique_lock
1417:     {
1417:     public:
1417:       typedef _Mutex mutex_type;
1417: 
1417:       unique_lock() noexcept
1417:       : _M_device(0), _M_owns(false)
1417:       { }
1417: 
1417:       explicit unique_lock(mutex_type& __m)
1417:       : _M_device(std::__addressof(__m)), _M_owns(false)
1417:       {
1417:  lock();
1417:  _M_owns = true;
1417:       }
1417: 
1417:       unique_lock(mutex_type& __m, defer_lock_t) noexcept
1417:       : _M_device(std::__addressof(__m)), _M_owns(false)
1417:       { }
1417: 
1417:       unique_lock(mutex_type& __m, try_to_lock_t)
1417:       : _M_device(std::__addressof(__m)), _M_owns(_M_device->try_lock())
1417:       { }
1417: 
1417:       unique_lock(mutex_type& __m, adopt_lock_t) noexcept
1417:       : _M_device(std::__addressof(__m)), _M_owns(true)
1417:       {
1417: 
1417:       }
1417: 
1417:       template<typename _Clock, typename _Duration>
1417:  unique_lock(mutex_type& __m,
1417:       const chrono::time_point<_Clock, _Duration>& __atime)
1417:  : _M_device(std::__addressof(__m)),
1417:    _M_owns(_M_device->try_lock_until(__atime))
1417:  { }
1417: 
1417:       template<typename _Rep, typename _Period>
1417:  unique_lock(mutex_type& __m,
1417:       const chrono::duration<_Rep, _Period>& __rtime)
1417:  : _M_device(std::__addressof(__m)),
1417:    _M_owns(_M_device->try_lock_for(__rtime))
1417:  { }
1417: 
1417:       ~unique_lock()
1417:       {
1417:  if (_M_owns)
1417:    unlock();
1417:       }
1417: 
1417:       unique_lock(const unique_lock&) = delete;
1417:       unique_lock& operator=(const unique_lock&) = delete;
1417: 
1417:       unique_lock(unique_lock&& __u) noexcept
1417:       : _M_device(__u._M_device), _M_owns(__u._M_owns)
1417:       {
1417:  __u._M_device = 0;
1417:  __u._M_owns = false;
1417:       }
1417: 
1417:       unique_lock& operator=(unique_lock&& __u) noexcept
1417:       {
1417:  if(_M_owns)
1417:    unlock();
1417: 
1417:  unique_lock(std::move(__u)).swap(*this);
1417: 
1417:  __u._M_device = 0;
1417:  __u._M_owns = false;
1417: 
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       lock()
1417:       {
1417:  if (!_M_device)
1417:    __throw_system_error(int(errc::operation_not_permitted));
1417:  else if (_M_owns)
1417:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1417:  else
1417:    {
1417:      _M_device->lock();
1417:      _M_owns = true;
1417:    }
1417:       }
1417: 
1417:       bool
1417:       try_lock()
1417:       {
1417:  if (!_M_device)
1417:    __throw_system_error(int(errc::operation_not_permitted));
1417:  else if (_M_owns)
1417:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1417:  else
1417:    {
1417:      _M_owns = _M_device->try_lock();
1417:      return _M_owns;
1417:    }
1417:       }
1417: 
1417:       template<typename _Clock, typename _Duration>
1417:  bool
1417:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1417:  {
1417:    if (!_M_device)
1417:      __throw_system_error(int(errc::operation_not_permitted));
1417:    else if (_M_owns)
1417:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1417:    else
1417:      {
1417:        _M_owns = _M_device->try_lock_until(__atime);
1417:        return _M_owns;
1417:      }
1417:  }
1417: 
1417:       template<typename _Rep, typename _Period>
1417:  bool
1417:  try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1417:  {
1417:    if (!_M_device)
1417:      __throw_system_error(int(errc::operation_not_permitted));
1417:    else if (_M_owns)
1417:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1417:    else
1417:      {
1417:        _M_owns = _M_device->try_lock_for(__rtime);
1417:        return _M_owns;
1417:      }
1417:   }
1417: 
1417:       void
1417:       unlock()
1417:       {
1417:  if (!_M_owns)
1417:    __throw_system_error(int(errc::operation_not_permitted));
1417:  else if (_M_device)
1417:    {
1417:      _M_device->unlock();
1417:      _M_owns = false;
1417:    }
1417:       }
1417: 
1417:       void
1417:       swap(unique_lock& __u) noexcept
1417:       {
1417:  std::swap(_M_device, __u._M_device);
1417:  std::swap(_M_owns, __u._M_owns);
1417:       }
1417: 
1417:       mutex_type*
1417:       release() noexcept
1417:       {
1417:  mutex_type* __ret = _M_device;
1417:  _M_device = 0;
1417:  _M_owns = false;
1417:  return __ret;
1417:       }
1417: 
1417:       bool
1417:       owns_lock() const noexcept
1417:       { return _M_owns; }
1417: 
1417:       explicit operator bool() const noexcept
1417:       { return owns_lock(); }
1417: 
1417:       mutex_type*
1417:       mutex() const noexcept
1417:       { return _M_device; }
1417: 
1417:     private:
1417:       mutex_type* _M_device;
1417:       bool _M_owns;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Mutex>
1417:     inline void
1417:     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: }
1417: # 45 "/usr/include/c++/12/mutex" 2 3
1417: # 55 "/usr/include/c++/12/mutex" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 67 "/usr/include/c++/12/mutex" 3
1417:   class __recursive_mutex_base
1417:   {
1417:   protected:
1417:     typedef __gthread_recursive_mutex_t __native_type;
1417: 
1417:     __recursive_mutex_base(const __recursive_mutex_base&) = delete;
1417:     __recursive_mutex_base& operator=(const __recursive_mutex_base&) = delete;
1417: 
1417: 
1417:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1417: 
1417:     __recursive_mutex_base() = default;
1417: # 91 "/usr/include/c++/12/mutex" 3
1417:   };
1417: 
1417: 
1417:   class recursive_mutex : private __recursive_mutex_base
1417:   {
1417:   public:
1417:     typedef __native_type* native_handle_type;
1417: 
1417:     recursive_mutex() = default;
1417:     ~recursive_mutex() = default;
1417: 
1417:     recursive_mutex(const recursive_mutex&) = delete;
1417:     recursive_mutex& operator=(const recursive_mutex&) = delete;
1417: 
1417:     void
1417:     lock()
1417:     {
1417:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1417: 
1417: 
1417:       if (__e)
1417:  __throw_system_error(__e);
1417:     }
1417: 
1417:     bool
1417:     try_lock() noexcept
1417:     {
1417: 
1417:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1417:     }
1417: 
1417:     void
1417:     unlock()
1417:     {
1417: 
1417:       __gthread_recursive_mutex_unlock(&_M_mutex);
1417:     }
1417: 
1417:     native_handle_type
1417:     native_handle() noexcept
1417:     { return &_M_mutex; }
1417:   };
1417: 
1417: 
1417:   template<typename _Derived>
1417:     class __timed_mutex_impl
1417:     {
1417:     protected:
1417:       template<typename _Rep, typename _Period>
1417:  bool
1417:  _M_trGetButtonCode() const { return m_buttonCode; }
609: 
609:   bool IsAnalog() const;
609: 
609: private:
609:   int m_id;
609:   std::string m_name;
609: 
609:   static const unsigned int max_amounts = 6;
609:   float m_amount[max_amounts] = {};
609: 
609:   float m_repeat = 0.0f;
609:   unsigned int m_holdTime = 0;
609:   unsigned int m_buttonCode = 0;
609:   wchar_t m_unicode = 0;
609:   std::string m_text;
609: };
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/Key.h" 2
609: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h" 1
609: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h"
609:        
609: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h"
609: constexpr const int ACTION_NONE = 0;
609: constexpr const int ACTION_MOVE_LEFT = 1;
609: constexpr const int ACTION_MOVE_RIGHT = 2;
609: constexpr const int ACTION_MOVE_UP = 3;
609: constexpr const int ACTION_MOVE_DOWN = 4;
609: constexpr const int ACTION_PAGE_UP = 5;
609: constexpr const int ACTION_PAGE_DOWN = 6;
609: constexpr const int ACTION_SELECT_ITEM = 7;
609: constexpr const int ACTION_HIGHLIGHT_ITEM = 8;
609: constexpr const int ACTION_PARENT_DIR = 9;
609: constexpr const int ACTION_PREVIOUS_MENU = 10;
609: constexpr const int ACTION_SHOW_INFO = 11;
609: 
609: constexpr const int ACTION_PAUSE = 12;
609: constexpr const int ACTION_STOP = 13;
609: constexpr const int ACTION_NEXT_ITEM = 14;
609: constexpr const int ACTION_PREV_ITEM = 15;
609: 
609: 
609: 
609: constexpr const int ACTION_FORWARD = 16;
609: 
609: 
609: 
609: constexpr const int ACTION_REWIND = 17;
609: 
609: 
609: constexpr const int ACTION_SHOW_GUI = 18;
609: 
609: 
609: constexpr const int ACTION_ASPECT_RATIO = 19;
609: 
609: 
609: constexpr const int ACTION_STEP_FORWARD = 20;
609: 
609: 
609: constexpr const int ACTION_STEP_BACK = 21;
609: 
609: 
609: constexpr const int ACTION_BIG_STEP_FORWARD = 22;
609: 
609: 
609: constexpr const int ACTION_BIG_STEP_BACK = 23;
609: 
609: 
609: constexpr const int ACTION_SHOW_OSD = 24;
609: 
609: 
609: constexpr const int ACTION_SHOW_SUBTITLES = 25;
609: 
609: 
609: constexpr const int ACTION_NEXT_SUBTITLE = 26;
609: 
609: 
609: constexpr const int ACTION_PLAYER_DEBUG = 27;
609: 
609: 
609: constexpr const int ACTION_NEXT_PICTURE = 28;
609: 
609: 
609: constexpr const int ACTION_PREV_PICTURE = 29;
609: 
609: 
609: constexpr const int ACTION_ZOOM_OUT = 30;
609: 
609: 
609: constexpr const int ACTION_ZOOM_IN = 31;
609: 
609: 
609: 
609: constexpr const int ACTION_TOGGLE_SOURCE_DEST = 32;
609: 
609: 
609: constexpr const int ACTION_SHOW_PLAYLIST = 33;
609: 
609: 
609: constexpr const int ACTION_QUEUE_ITEM = 34;
609: 
609: 
609: constexpr const int ACTION_REMOVE_ITEM = 35;
609: 
609: 
609: constexpr const int ACTION_SHOW_FULLSCREEN = 36;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_NORMAL = 37;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_1 = 38;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_2 = 39;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_3 = 40;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_4 = 41;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_5 = 42;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_6 = 43;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_7 = 44;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_8 = 45;
609: 
609: 
609: constexpr const int ACTION_ZOOM_LEVEL_9 = 46;
609: 
609: 
609: constexpr const int ACTION_CALIBRATE_SWAP_ARROWS = 47;
609: 
609: 
609: 
609: constexpr const int ACTION_CALIBRATE_RESET = 48;
609: 
609: 
609: 
609: 
609: 
609: 
609: constexpr const int ACTION_ANALOG_MOVE = 49;
609: 
609: 
609: 
609: constexpr const int ACTION_ROTATE_PICTURE_CW = 50;
609: 
609: 
609: 
609: constexpr const int ACTION_ROTATE_PICTURE_CCW = 51;
609: 
609: 
609: constexpr const int ACTION_SUBTITLE_DELAY_MIN = 52;
609: 
609: 
609: constexpr const int ACTION_SUBTITLE_DELAY_PLUS = 53;
609: 
609: 
609: constexpr const int ACTION_AUDIO_DELAY_MIN = 54;
609: 
609: 
609: constexpr const int ACTION_AUDIO_DELAY_PLUS = 55;
609: 
609: 
609: constexpr const int ACTION_AUDIO_NEXT_LANGUAGE = 56;
609: 
609: 
609: 
609: constexpr const int ACTION_CHANGE_RESOLUTION = 57;
609: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h"
609: constexpr const int REMOTE_0 = 58;
609: 
609: 
609: constexpr const int REMOTE_1 = 59;
609: 
609: 
609: constexpr const int REMOTE_2 = 60;
609: 
609: 
609: constexpr const int REMOTE_3 = 61;
609: 
609: 
609: constexpr const int REMOTE_4 = 62;
609: 
609: 
609: constexpr const int REMOTE_5 = 63;
609: 
609: 
609: constexpr const int REMOTE_6 = 64;
609: 
609: 
609: constexpr const int REMOTE_7 = 65;
609: 
609: 
609: constexpr const int REMOTE_8 = 66;
609: 
609: 
609: constexpr const int REMOTE_9 = 67;
609: 
609: 
609: 
609: 
609: constexpr const int ACTION_PLAYER_PROCESS_INFO = 69;
609: 
609: constexpr const int ACTION_PLAYER_PROGRAM_SELECT = 70;
609: 
609: constexpr const int ACTION_PLAYER_RESOLUTION_SELECT = 71;
609: 
609: 
609: 
609: constexpr const int ACTION_SMALL_STEP_BACK = 76;
609: 
609: 
609: constexpr const int ACTION_PLAYER_FORWARD = 77;
609: 
609: 
609: constexpr const int ACTION_PLAYER_REWIND = 78;
609: 
609: 
609: 
609: constexpr const int ACTION_PLAYER_PLAY = 79;
609: 
609: 
609: 
609: constexpr const int ACTION_DELETE_ITEM = 80;
609: 
609: 
609: constexpr const int ACTION_COPY_ITEM = 81;
609: 
609: 
609: constexpr const int ACTION_MOVE_ITEM = 82;
609: 
609: 
609: constexpr const int ACTION_TAKE_SCREENSHOT = 85;
609: 
609: 
609: constexpr const int ACTION_RENAME_ITEM = 87;
609: 
609: constexpr const int ACTION_VOLUME_UP = 88;
609: constexpr const int ACTION_VOLUME_DOWN = 89;
609: constexpr const int ACTION_VOLAMP = 90;
609: constexpr const int ACTION_MUTE = 91;
609: constexpr const int ACTION_NAV_BACK = 92;
609: constexpr const int ACTION_VOLAMP_UP = 93;
609: constexpr const int ACTION_VOLAMP_DOWN = 94;
609: 
609: 
609: 
609: constexpr const int ACTION_CREATE_EPISODE_BOOKMARK = 95;
609: 
609: 
609: constexpr const int ACTION_CREATE_BOOKMARK = 96;
609: 
609: 
609: constexpr const int ACTION_CHAPTER_OR_BIG_STEP_FORWARD = 97;
609: 
609: 
609: constexpr const int ACTION_CHAPTER_OR_BIG_STEP_BACK = 98;
609: 
609: 
609: 
609: constexpr const int ACTION_CYCLE_SUBTITLE = 99;
609: 
609: constexpr const int ACTION_MOUSE_START = 100;
609: constexpr const int ACTION_MOUSE_LEFT_CLICK = 100;
609: constexpr const int ACTION_MOUSE_RIGHT_CLICK = 101;
609: constexpr const int ACTION_MOUSE_MIDDLE_CLICK = 102;
609: constexpr const int ACTION_MOUSE_DOUBLE_CLICK = 103;
609: constexpr const int ACTION_MOUSE_WHEEL_UP = 104;
609: constexpr const int ACTION_MOUSE_WHEEL_DOWN = 105;
609: constexpr const int ACTION_MOUSE_DRAG = 106;
609: constexpr const int ACTION_MOUSE_MOVE = 107;
609: constexpr const int ACTION_MOUSE_LONG_CLICK = 108;
609: constexpr const int ACTION_MOUSE_DRAG_END = 109;
609: constexpr const int ACTION_MOUSE_END = 109;
609: 
609: constexpr const int ACTION_BACKSPACE = 110;
609: constexpr const int ACTION_SCROLL_UP = 111;
609: constexpr const int ACTION_SCROLL_DOWN = 112;
609: constexpr const int ACTION_ANALOG_FORWARD = 113;
609: constexpr const int ACTION_ANALOG_REWIND = 114;
609: 
609: constexpr const int ACTION_MOVE_ITEM_UP = 115;
609: constexpr const int ACTION_MOVE_ITEM_DOWN = 116;
609: constexpr const int ACTION_CONTEXT_MENU = 117;
609: 
609: 
609: constexpr const int ACTION_SHIFT = 118;
609: constexpr const int ACTION_SYMBOLS = 119;
609: constexpr const int ACTION_CURSOR_LEFT = 120;
609: constexpr const int ACTION_CURSOR_RIGHT = 121;
609: 
609: constexpr const int ACTION_BUILT_IN_FUNCTION = 122;
609: 
609: 
609: constexpr const int ACTION_SHOW_OSD_TIME = 123;
609: 
609: constexpr const int ACTION_ANALOG_SEEK_FORWARD = 124;
609: constexpr const int ACTION_ANALOG_SEEK_BACK = 125;
609: 
609: constexpr const int ACTION_VIS_PRESET_SHOW = 126;
609: constexpr const int ACTION_VIS_PRESET_NEXT = 128;
609: constexpr const int ACTION_VIS_PRESET_PREV = 129;
609: constexpr const int ACTION_VIS_PRESET_LOCK = 130;
609: constexpr const int ACTION_VIS_PRESET_RANDOM = 131;
609: constexpr const int ACTION_VISy_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1417:  {
1417: 
1417:    using __clock = chrono::steady_clock;
1417: 
1417: 
1417: 
1417: 
1417:    auto __rt = chrono::duration_cast<__clock::duration>(__rtime);
1417:    if (ratio_greater<__clock::period, _Period>())
1417:      ++__rt;
1417:    return _M_try_lock_until(__clock::now() + __rt);
1417:  }
1417: 
1417:       template<typename _Duration>
1417:  bool
1417:  _M_try_lock_until(const chrono::time_point<chrono::system_clock,
1417:          _Duration>& __atime)
1417:  {
1417:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1417:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1417: 
1417:    __gthread_time_t __ts = {
1417:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1417:      static_cast<long>(__ns.count())
1417:    };
1417: 
1417:    return static_cast<_Derived*>(this)->_M_timedlock(__ts);
1417:  }
1417: 
1417: 
1417:       template<typename _Duration>
1417:  bool
1417:  _M_try_lock_until(const chrono::time_point<chrono::steady_clock,
1417:          _Duration>& __atime)
1417:  {
1417:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1417:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1417: 
1417:    __gthread_time_t __ts = {
1417:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1417:      static_cast<long>(__ns.count())
1417:    };
1417: 
1417:    return static_cast<_Derived*>(this)->_M_clocklock(1,
1417:            __ts);
1417:  }
1417: 
1417: 
1417:       template<typename _Clock, typename _Duration>
1417:  bool
1417:  _M_try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1417:  {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    auto __now = _Clock::now();
1417:    do {
1417:      auto __rtime = __atime - __now;
1417:      if (_M_try_lock_for(__rtime))
1417:        return true;
1417:      __now = _Clock::now();
1417:    } while (__atime > __now);
1417:    return false;
1417:  }
1417:     };
1417: 
1417: 
1417:   class timed_mutex
1417:   : private __mutex_base, public __timed_mutex_impl<timed_mutex>
1417:   {
1417:   public:
1417:     typedef __native_type* native_handle_type;
1417: 
1417:     timed_mutex() = default;
1417:     ~timed_mutex() = default;
1417: 
1417:     timed_mutex(const timed_mutex&) = delete;
1417:     timed_mutex& operator=(const timed_mutex&) = delete;
1417: 
1417:     void
1417:     lock()
1417:     {
1417:       int __e = __gthread_mutex_lock(&_M_mutex);
1417: 
1417: 
1417:       if (__e)
1417:  __throw_system_error(__e);
1417:     }
1417: 
1417:     bool
1417:     try_lock() noexcept
1417:     {
1417: 
1417:       return !__gthread_mutex_trylock(&_M_mutex);
1417:     }
1417: 
1417:     template <class _Rep, class _Period>
1417:       bool
1417:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1417:       { return _M_try_lock_for(__rtime); }
1417: 
1417:     template <class _Clock, class _Duration>
1417:       bool
1417:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1417:       { return _M_try_lock_until(__atime); }
1417: 
1417:     void
1417:     unlock()
1417:     {
1417: 
1417:       __gthread_mutex_unlock(&_M_mutex);
1417:     }
1417: 
1417:     native_handle_type
1417:     native_handle() noexcept
1417:     { return &_M_mutex; }
1417: 
1417:     private:
1417:       friend class __timed_mutex_impl<timed_mutex>;
1417: 
1417:       bool
1417:       _M_timedlock(const __gthread_time_t& __ts)
1417:       { return !__gthread_mutex_timedlock(&_M_mutex, &__ts); }
1417: 
1417: 
1417:       bool
1417:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1417:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1417: 
1417:   };
1417: 
1417: 
1417:   class recursive_timed_mutex
1417:   : private __recursive_mutex_base,
1417:     public __timed_mutex_impl<recursive_timed_mutex>
1417:   {
1417:   public:
1417:     typedef __native_type* native_handle_type;
1417: 
1417:     recursive_timed_mutex() = default;
1417:     ~recursive_timed_mutex() = default;
1417: 
1417:     recursive_timed_mutex(const recursive_timed_mutex&) = delete;
1417:     recursive_timed_mutex& operator=(const recursive_timed_mutex&) = delete;
1417: 
1417:     void
1417:     lock()
1417:     {
1417:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1417: 
1417: 
1417:       if (__e)
1417:  __throw_system_error(__e);
1417:     }
1417: 
1417:     bool
1417:     try_lock() noexcept
1417:     {
1417: 
1417:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1417:     }
1417: 
1417:     template <class _Rep, class _Period>
1417:       bool
1417:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1417:       { return _M_try_lock_for(__rtime); }
1417: 
1417:     template <class _Clock, class _Duration>
1417:       bool
1417:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1417:       { return _M_try_lock_until(__atime); }
1417: 
1417:     void
1417:     unlock()
1417:     {
1417: 
1417:       __gthread_recursive_mutex_unlock(&_M_mutex);
1417:     }
1417: 
1417:     native_handle_type
1417:     native_handle() noexcept
1417:     { return &_M_mutex; }
1417: 
1417:     private:
1417:       friend class __timed_mutex_impl<recursive_timed_mutex>;
1417: 
1417:       bool
1417:       _M_timedlock(const __gthread_time_t& __ts)
1417:       { return !__gthread_recursive_mutex_timedlock(&_M_mutex, &__ts); }
1417: 
1417: 
1417:       bool
1417:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1417:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1417: 
1417:   };
1417: # 515 "/usr/include/c++/12/mutex" 3
1417:   namespace __detail
1417:   {
1417: 
1417:     template<typename _Lockable>
1417:       inline int
1417:       __try_lock_impl(_Lockable& __l)
1417:       {
1417:  if (unique_lock<_Lockable> __lock{__l, try_to_lock})
1417:    {
1417:      __lock.release();
1417:      return -1;
1417:    }
1417:  else
1417:    return 0;
1417:       }
1417: 
1417: 
1417: 
1417:     template<typename _L0, typename... _Lockables>
1417:       inline int
1417:       __try_lock_impl(_L0& __l0, _Lockables&... __lockables)
1417:       {
1417: 
1417:  if constexpr ((is_same_v<_L0, _Lockables> && ...))
1417:    {
1417:      constexpr int _Np = 1 + sizeof...(_Lockables);
1417:      unique_lock<_L0> __locks[_Np] = {
1417:   {__l0, defer_lock}, {__lockables, defer_lock}...
1417:      };
1417:      for (int __i = 0; __i < _Np; ++__i)
1417:        {
1417:   if (!__locks[__i].try_lock())
1417:     {
1417:       const int __failed = __i;
1417:       while (__i--)
1417:         __locks[__i].unlock();
1417:       return __failed;
1417:     }
1417:        }
1417:      for (auto& __l : __locks)
1417:        __l.release();
1417:      return -1;
1417:    }
1417:  else
1417: 
1417:  if (unique_lock<_L0> __lock{__l0, try_to_lock})
1417:    {
1417:      int __idx = __detail::__try_lock_impl(__lockables...);
1417:      if (__idx == -1)
1417:        {
1417:   __lock.release();
1417:   return -1;
1417:        }
1417:      return __idx + 1;
1417:    }
1417:  else
1417:    return 0;
1417:       }
1417: 
1417:   }
1417: # 587 "/usr/include/c++/12/mutex" 3
1417:   template<typename _L1, typename _L2, typename... _L3>
1417:     inline int
1417:     try_lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1417:     {
1417:       return __detail::__try_lock_impl(__l1, __l2, __l3...);
1417:     }
1417: 
1417: 
1417:   namespace __detail
1417:   {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _L0, typename... _L1>
1417:       void
1417:       __lock_impl(int& __i, int __depth, _L0& __l0, _L1&... __l1)
1417:       {
1417:  while (__i >= __depth)
1417:    {
1417:      if (__i == __depth)
1417:        {
1417:   int __failed = 1;
1417:   {
1417:     unique_lock<_L0> __first(__l0);
1417:     __failed += __detail::__try_lock_impl(__l1...);
1417:     if (!__failed)
1417:       {
1417:         __i = -1;
1417:         __first.release();
1417:         return;
1417:       }
1417:   }
1417: 
1417:   __gthread_yield();
1417: 
1417:   constexp_RATE_PRESET_PLUS = 132;
609: constexpr const int ACTION_VIS_RATE_PRESET_MINUS = 133;
609: 
609: constexpr const int ACTION_SHOW_VIDEOMENU = 134;
609: constexpr const int ACTION_ENTER = 135;
609: 
609: constexpr const int ACTION_INCREASE_RATING = 136;
609: constexpr const int ACTION_DECREASE_RATING = 137;
609: 
609: constexpr const int ACTION_NEXT_SCENE = 138;
609: constexpr const int ACTION_PREV_SCENE = 139;
609: 
609: constexpr const int ACTION_NEXT_LETTER = 140;
609: constexpr const int ACTION_PREV_LETTER = 141;
609: 
609: constexpr const int ACTION_JUMP_SMS2 = 142;
609: constexpr const int ACTION_JUMP_SMS3 = 143;
609: constexpr const int ACTION_JUMP_SMS4 = 144;
609: constexpr const int ACTION_JUMP_SMS5 = 145;
609: constexpr const int ACTION_JUMP_SMS6 = 146;
609: constexpr const int ACTION_JUMP_SMS7 = 147;
609: constexpr const int ACTION_JUMP_SMS8 = 148;
609: constexpr const int ACTION_JUMP_SMS9 = 149;
609: 
609: constexpr const int ACTION_FILTER_CLEAR = 150;
609: constexpr const int ACTION_FILTER_SMS2 = 151;
609: constexpr const int ACTION_FILTER_SMS3 = 152;
609: constexpr const int ACTION_FILTER_SMS4 = 153;
609: constexpr const int ACTION_FILTER_SMS5 = 154;
609: constexpr const int ACTION_FILTER_SMS6 = 155;
609: constexpr const int ACTION_FILTER_SMS7 = 156;
609: constexpr const int ACTION_FILTER_SMS8 = 157;
609: constexpr const int ACTION_FILTER_SMS9 = 158;
609: 
609: constexpr const int ACTION_FIRST_PAGE = 159;
609: constexpr const int ACTION_LAST_PAGE = 160;
609: 
609: constexpr const int ACTION_AUDIO_DELAY = 161;
609: constexpr const int ACTION_SUBTITLE_DELAY = 162;
609: constexpr const int ACTION_MENU = 163;
609: 
609: constexpr const int ACTION_SET_RATING = 164;
609: 
609: constexpr const int ACTION_RECORD = 170;
609: 
609: constexpr const int ACTION_PASTE = 180;
609: constexpr const int ACTION_NEXT_CONTROL = 181;
609: constexpr const int ACTION_PREV_CONTROL = 182;
609: constexpr const int ACTION_CHANNEL_SWITCH = 183;
609: constexpr const int ACTION_CHANNEL_UP = 184;
609: constexpr const int ACTION_CHANNEL_DOWN = 185;
609: constexpr const int ACTION_NEXT_CHANNELGROUP = 186;
609: constexpr const int ACTION_PREVIOUS_CHANNELGROUP = 187;
609: constexpr const int ACTION_PVR_PLAY = 188;
609: constexpr const int ACTION_PVR_PLAY_TV = 189;
609: constexpr const int ACTION_PVR_PLAY_RADIO = 190;
609: constexpr const int ACTION_PVR_SHOW_TIMER_RULE = 191;
609: constexpr const int ACTION_CHANNEL_NUMBER_SEP = 192;
609: constexpr const int ACTION_PVR_ANNOUNCE_REMINDERS = 193;
609: 
609: constexpr const int ACTION_TOGGLE_FULLSCREEN = 199;
609: constexpr const int ACTION_TOGGLE_WATCHED = 200;
609: constexpr const int ACTION_SCAN_ITEM = 201;
609: constexpr const int ACTION_TOGGLE_DIGITAL_ANALOG = 202;
609: constexpr const int ACTION_RELOAD_KEYMAPS = 203;
609: constexpr const int ACTION_GUIPROFILE_BEGIN = 204;
609: 
609: constexpr const int ACTION_TELETEXT_RED = 215;
609: constexpr const int ACTION_TELETEXT_GREEN = 216;
609: constexpr const int ACTION_TELETEXT_YELLOW = 217;
609: constexpr const int ACTION_TELETEXT_BLUE = 218;
609: 
609: constexpr const int ACTION_INCREASE_PAR = 219;
609: constexpr const int ACTION_DECREASE_PAR = 220;
609: 
609: constexpr const int ACTION_VSHIFT_UP = 227;
609: constexpr const int ACTION_VSHIFT_DOWN = 228;
609: 
609: constexpr const int ACTION_PLAYER_PLAYPAUSE = 229;
609: 
609: constexpr const int ACTION_SUBTITLE_VSHIFT_UP = 230;
609: constexpr const int ACTION_SUBTITLE_VSHIFT_DOWN = 231;
609: constexpr const int ACTION_SUBTITLE_ALIGN = 232;
609: 
609: constexpr const int ACTION_FILTER = 233;
609: 
609: constexpr const int ACTION_SWITCH_PLAYER = 234;
609: 
609: constexpr const int ACTION_STEREOMODE_NEXT = 235;
609: constexpr const int ACTION_STEREOMODE_PREVIOUS = 236;
609: constexpr const int ACTION_STEREOMODE_TOGGLE = 237;
609: constexpr const int ACTION_STEREOMODE_SELECT = 238;
609: constexpr const int ACTION_STEREOMODE_TOMONO = 239;
609: constexpr const int ACTION_STEREOMODE_SET = 240;
609: 
609: constexpr const int ACTION_SETTINGS_RESET = 241;
609: constexpr const int ACTION_SETTINGS_LEVEL_CHANGE = 242;
609: 
609: 
609: constexpr const int ACTION_TRIGGER_OSD = 243;
609: constexpr const int ACTION_INPUT_TEXT = 244;
609: constexpr const int ACTION_VOLUME_SET = 245;
609: constexpr const int ACTION_TOGGLE_COMMSKIP = 246;
609: 
609: constexpr const int ACTION_BROWSE_SUBTITLE = 247;
609: 
609: constexpr const int ACTION_PLAYER_RESET = 248;
609: 
609: constexpr const int ACTION_TOGGLE_FONT = 249;
609: 
609: constexpr const int ACTION_VIDEO_NEXT_STREAM = 250;
609: 
609: 
609: constexpr const int ACTION_QUEUE_ITEM_NEXT = 251;
609: 
609: constexpr const int ACTION_HDR_TOGGLE = 260;
609: 
609: constexpr const int ACTION_CYCLE_TONEMAP_METHOD = 261;
609: 
609: 
609: constexpr const int ACTION_PLAYER_DEBUG_VIDEO = 262;
609: 
609: 
609: constexpr const int ACTION_VOICE_RECOGNIZE = 300;
609: 
609: 
609: constexpr const int ACTION_TOUCH_TAP = 401;
609: constexpr const int ACTION_TOUCH_TAP_TEN = 410;
609: constexpr const int ACTION_TOUCH_LONGPRESS = 411;
609: constexpr const int ACTION_TOUCH_LONGPRESS_TEN = 420;
609: 
609: constexpr const int ACTION_GESTURE_NOTIFY = 500;
609: constexpr const int ACTION_GESTURE_BEGIN = 501;
609: 
609: 
609: 
609: constexpr const int ACTION_GESTURE_ZOOM = 502;
609: constexpr const int ACTION_GESTURE_ROTATE = 503;
609: constexpr const int ACTION_GESTURE_PAN = 504;
609: constexpr const int ACTION_GESTURE_ABORT = 505;
609: 
609: constexpr const int ACTION_GESTURE_SWIPE_LEFT = 511;
609: constexpr const int ACTION_GESTURE_SWIPE_LEFT_TEN = 520;
609: constexpr const int ACTION_GESTURE_SWIPE_RIGHT = 521;
609: constexpr const int ACTION_GESTURE_SWIPE_RIGHT_TEN = 530;
609: constexpr const int ACTION_GESTURE_SWIPE_UP = 531;
609: constexpr const int ACTION_GESTURE_SWIPE_UP_TEN = 540;
609: constexpr const int ACTION_GESTURE_SWIPE_DOWN = 541;
609: constexpr const int ACTION_GESTURE_SWIPE_DOWN_TEN = 550;
609: 
609: 
609: constexpr const int ACTION_GESTURE_END = 599;
609: 
609: 
609: 
609: 
609: 
609: 
609: 
609: constexpr const int ACTION_ANALOG_MOVE_X_LEFT = 601;
609: 
609: 
609: constexpr const int ACTION_ANALOG_MOVE_X_RIGHT = 602;
609: 
609: 
609: constexpr const int ACTION_ANALOG_MOVE_Y_UP = 603;
609: 
609: 
609: constexpr const int ACTION_ANALOG_MOVE_Y_DOWN = 604;
609: 
609: 
609: 
609: 
609: 
609: 
609: constexpr const int ACTION_ERROR = 998;
609: constexpr const int ACTION_NOOP = 999;
609: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/Key.h" 2
609: # 114 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/Key.h"
609: class CMouseEvent
609: {
609: public:
609:   CMouseEvent(int actionID, int state = 0, float offsetX = 0, float offsetY = 0)
609:   {
609:     m_id = actionID;
609:     m_state = state;
609:     m_offsetX = offsetX;
609:     m_offsetY = offsetY;
609:   };
609: 
609:   int m_id;
609:   int m_state;
609:   float m_offsetX;
609:   float m_offsetY;
609: };
609: 
609: 
609: 
609: 
609: 
609: class CKey
609: {
609: public:
609:   CKey(void);
609:   CKey(uint32_t buttonCode,
609:        uint8_t leftTrigger = 0,
609:        uint8_t rightTrigger = 0,
609:        float leftThumbX = 0.0f,
609:        float leftThumbY = 0.0f,
609:        float rightThumbX = 0.0f,
609:        float rightThumbY = 0.0f,
609:        float repeat = 0.0f);
609:   CKey(uint32_t buttonCode, unsigned int held);
609:   CKey(uint32_t keycode,
609:        uint8_t vkey,
609:        wchar_t unicode,
609:        char ascii,
609:        uint32_t modifiers,
609:        uint32_t lockingModifiers,
609:        unsigned int held);
609:   CKey(const CKey& key);
609:   void Reset();
609: 
609:   virtual ~CKey(void);
609:   CKey& operator=(const CKey& key);
609:   uint8_t GetLeftTrigger() const;
609:   uint8_t GetRightTrigger() const;
609:   float GetLeftThumbX() const;
609:   float GetLeftThumbY() const;
609:   float GetRightThumbX() const;
609:   float GetRightThumbY() const;
609:   float GetRepeat() const;
609:   bool FromKeyboard() const;
609:   bool IsAnalogButton() const;
609:   bool IsIRRemote() const;
609:   void SetFromService(bool fromService);
609:   bool GetFromService() const { return m_fromService; }
609: 
609:   inline uint32_t GetBr auto __n = 1 + sizeof...(_L1);
1417:   __i = (__depth + __failed) % __n;
1417:        }
1417:      else
1417:        __detail::__lock_impl(__i, __depth + 1, __l1..., __l0);
1417:    }
1417:       }
1417: 
1417:   }
1417: # 646 "/usr/include/c++/12/mutex" 3
1417:   template<typename _L1, typename _L2, typename... _L3>
1417:     void
1417:     lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1417:     {
1417: 
1417:       if constexpr (is_same_v<_L1, _L2> && (is_same_v<_L1, _L3> && ...))
1417:  {
1417:    constexpr int _Np = 2 + sizeof...(_L3);
1417:    unique_lock<_L1> __locks[] = {
1417:        {__l1, defer_lock}, {__l2, defer_lock}, {__l3, defer_lock}...
1417:    };
1417:    int __first = 0;
1417:    do {
1417:      __locks[__first].lock();
1417:      for (int __j = 1; __j < _Np; ++__j)
1417:        {
1417:   const int __idx = (__first + __j) % _Np;
1417:   if (!__locks[__idx].try_lock())
1417:     {
1417:       for (int __k = __j; __k != 0; --__k)
1417:         __locks[(__first + __k - 1) % _Np].unlock();
1417:       __first = __idx;
1417:       break;
1417:     }
1417:        }
1417:    } while (!__locks[__first].owns_lock());
1417: 
1417:    for (auto& __l : __locks)
1417:      __l.release();
1417:  }
1417:       else
1417: 
1417:  {
1417:    int __i = 0;
1417:    __detail::__lock_impl(__i, 0, __l1, __l2, __l3...);
1417:  }
1417:     }
1417: # 691 "/usr/include/c++/12/mutex" 3
1417:   template<typename... _MutexTypes>
1417:     class scoped_lock
1417:     {
1417:     public:
1417:       explicit scoped_lock(_MutexTypes&... __m) : _M_devices(std::tie(__m...))
1417:       { std::lock(__m...); }
1417: 
1417:       explicit scoped_lock(adopt_lock_t, _MutexTypes&... __m) noexcept
1417:       : _M_devices(std::tie(__m...))
1417:       { }
1417: 
1417:       ~scoped_lock()
1417:       { std::apply([](auto&... __m) { (__m.unlock(), ...); }, _M_devices); }
1417: 
1417:       scoped_lock(const scoped_lock&) = delete;
1417:       scoped_lock& operator=(const scoped_lock&) = delete;
1417: 
1417:     private:
1417:       tuple<_MutexTypes&...> _M_devices;
1417:     };
1417: 
1417:   template<>
1417:     class scoped_lock<>
1417:     {
1417:     public:
1417:       explicit scoped_lock() = default;
1417:       explicit scoped_lock(adopt_lock_t) noexcept { }
1417:       ~scoped_lock() = default;
1417: 
1417:       scoped_lock(const scoped_lock&) = delete;
1417:       scoped_lock& operator=(const scoped_lock&) = delete;
1417:     };
1417: 
1417:   template<typename _Mutex>
1417:     class scoped_lock<_Mutex>
1417:     {
1417:     public:
1417:       using mutex_type = _Mutex;
1417: 
1417:       explicit scoped_lock(mutex_type& __m) : _M_device(__m)
1417:       { _M_device.lock(); }
1417: 
1417:       explicit scoped_lock(adopt_lock_t, mutex_type& __m) noexcept
1417:       : _M_device(__m)
1417:       { }
1417: 
1417:       ~scoped_lock()
1417:       { _M_device.unlock(); }
1417: 
1417:       scoped_lock(const scoped_lock&) = delete;
1417:       scoped_lock& operator=(const scoped_lock&) = delete;
1417: 
1417:     private:
1417:       mutex_type& _M_device;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   struct once_flag
1417:   {
1417:     constexpr once_flag() noexcept = default;
1417: 
1417: 
1417:     once_flag(const once_flag&) = delete;
1417: 
1417:     once_flag& operator=(const once_flag&) = delete;
1417: 
1417:   private:
1417: 
1417: 
1417:     __gthread_once_t _M_once = 0;
1417: 
1417:     struct _Prepare_execution;
1417: 
1417:     template<typename _Callable, typename... _Args>
1417:       friend void
1417:       call_once(once_flag& __once, _Callable&& __f, _Args&&... __args);
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   extern __thread void* __once_callable;
1417:   extern __thread void (*__once_call)();
1417: 
1417: 
1417:   struct once_flag::_Prepare_execution
1417:   {
1417:     template<typename _Callable>
1417:       explicit
1417:       _Prepare_execution(_Callable& __c)
1417:       {
1417: 
1417:  __once_callable = std::__addressof(__c);
1417: 
1417:  __once_call = [] { (*static_cast<_Callable*>(__once_callable))(); };
1417:       }
1417: 
1417:     ~_Prepare_execution()
1417:     {
1417: 
1417:       __once_callable = nullptr;
1417:       __once_call = nullptr;
1417:     }
1417: 
1417:     _Prepare_execution(const _Prepare_execution&) = delete;
1417:     _Prepare_execution& operator=(const _Prepare_execution&) = delete;
1417:   };
1417: # 843 "/usr/include/c++/12/mutex" 3
1417:   extern "C" void __once_proxy(void);
1417: 
1417: 
1417:   template<typename _Callable, typename... _Args>
1417:     void
1417:     call_once(once_flag& __once, _Callable&& __f, _Args&&... __args)
1417:     {
1417: 
1417:       auto __callable = [&] {
1417:    std::__invoke(std::forward<_Callable>(__f),
1417:    std::forward<_Args>(__args)...);
1417:       };
1417: 
1417:       once_flag::_Prepare_execution __exec(__callable);
1417: 
1417: 
1417:       if (int __e = __gthread_once(&__once._M_once, &__once_proxy))
1417:  __throw_system_error(__e);
1417:     }
1417: # 964 "/usr/include/c++/12/mutex" 3
1417: 
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 2
1417: 
1417: 
1417: 
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1417: namespace XbmcThreads
1417: {
1417: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1417: class CRecursiveMutex
1417: {
1417: private:
1417:   pthread_mutex_t m_mutex;
1417: 
1417:   static pthread_mutexattr_t& getRecursiveAttr();
1417: 
1417: public:
1417:   CRecursiveMutex(const CRecursiveMutex&) = delete;
1417:   CRecursiveMutex& operator=(const CRecursiveMutex&) = delete;
1417: 
1417:   inline CRecursiveMutex() { pthread_mutex_init(&m_mutex, &getRecursiveAttr()); }
1417: 
1417:   inline ~CRecursiveMutex() { pthread_mutex_destroy(&m_mutex); }
1417: 
1417:   inline void lock() { pthread_mutex_lock(&m_mutex); }
1417: 
1417:   inline void unlock() { pthread_mutex_unlock(&m_mutex); }
1417: 
1417:   inline bool try_lock() { return (pthread_mutex_trylock(&m_mutex) == 0); }
1417: 
1417:   inline std::recursive_mutex::native_handle_type native_handle() { return &m_mutex; }
1417: };
1417: 
1417: }
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1417: 
1417: class CCriticalSection : public XbmcThreads::CountingLockable<XbmcThreads::CRecursiveMutex>
1417: {
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/stack" 1 3
1417: # 58 "/usr/include/c++/12/stack" 3
1417:        
1417: # 59 "/usr/include/c++/12/stack" 3
1417: 
1417: # 1 "/usr/include/c++/12/deque" 1 3
1417: # 58 "/usr/include/c++/12/deque" 3
1417:        
1417: # 59 "/usr/include/c++/12/deque" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_deque.h" 1 3
1417: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1417: 
1417: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: # 95 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:   constexpr inline size_t
1417:   __deque_buf_size(size_t __size)
1417:   { return (__size < 512
1417:      ? size_t(512 / __size) : size_t(1)); }
1417: # 112 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:   template<typename _Tp, typename _Ref, typename _Ptr>
1417:     struct _Deque_iterator
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     private:
1417:       template<typename _CvTp>
1417:  using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_rebind<_Ptr, _CvTp>>;
1417:     public:
1417:       typedef __iter<_Tp> iterator;
1417:       typedef __iter<const _Tp> const_iterator;
1417:       typedef __ptr_rebind<_Ptr, _Tp> _Elt_pointer;
1417:       typedef __ptr_rebind<_Ptr, _Elt_pointer> _Map_pointer;
1417: 
1417: 
1417:       static size_t _S_buffer_size() noexcept
1417:       { return __deque_buf_size(sizeof(_Tp)); }
1417: 
1417:       typedef std::random_access_iterator_tag iterator_category;
1417:       typedef _Tp value_type;
1417:       typedef _Ptr pointer;
141uttonCode() const { return m_buttonCode; }
609:   inline uint32_t GetKeycode() const { return m_keycode; }
609:   inline uint8_t GetVKey() const { return m_vkey; }
609:   inline wchar_t GetUnicode() const { return m_unicode; }
609:   inline char GetAscii() const { return m_ascii; }
609:   inline uint32_t GetModifiers() const { return m_modifiers; }
609:   inline uint32_t GetLockingModifiers() const { return m_lockingModifiers; }
609:   inline unsigned int GetHeld() const { return m_held; }
609: 
609:   enum Modifier
609:   {
609:     MODIFIER_CTRL = 0x00010000,
609:     MODIFIER_SHIFT = 0x00020000,
609:     MODIFIER_ALT = 0x00040000,
609:     MODIFIER_RALT = 0x00080000,
609:     MODIFIER_SUPER = 0x00100000,
609:     MODIFIER_META = 0X00200000,
609:     MODIFIER_LONG = 0X01000000,
609:     MODIFIER_NUMLOCK = 0X02000000,
609:     MODIFIER_CAPSLOCK = 0X04000000,
609:     MODIFIER_SCROLLLOCK = 0X08000000,
609:   };
609: 
609: private:
609:   uint32_t m_buttonCode;
609:   uint32_t m_keycode;
609:   uint8_t m_vkey;
609:   wchar_t m_unicode;
609:   char m_ascii;
609:   uint32_t m_modifiers;
609:   uint32_t m_lockingModifiers;
609:   unsigned int m_held;
609: 
609:   uint8_t m_leftTrigger;
609:   uint8_t m_rightTrigger;
609:   float m_leftThumbX;
609:   float m_leftThumbY;
609:   float m_rightThumbX;
609:   float m_rightThumbY;
609:   float m_repeat;
609:   bool m_fromService;
609: };
609: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVideoControl.cpp" 2
609: 
609: 
609: CGUIVideoControl::CGUIVideoControl(int parentID, int controlID, float posX, float posY, float width, float height)
609:     : CGUIControl(parentID, controlID, posX, posY, width, height)
609: {
609:   ControlType = GUICONTROL_VIDEO;
609: }
609: 
609: CGUIVideoControl::~CGUIVideoControl(void) = default;
609: 
609: void CGUIVideoControl::Process(unsigned int currentTime, CDirtyRegionList &dirtyregions)
609: {
609: 
609:   const auto& components = CServiceBroker::GetAppComponents();
609:   const auto appPlayer = components.GetComponent<CApplicationPlayer>();
609:   if (appPlayer->IsRenderingGuiLayer())
609:     MarkDirtyRegion();
609: 
609:   CGUIControl::Process(currentTime, dirtyregions);
609: }
609: 
609: void CGUIVideoControl::Render()
609: {
609:   auto& components = CServiceBroker::GetAppComponents();
609:   const auto appPlayer = components.GetComponent<CApplicationPlayer>();
609:   if (appPlayer->IsRenderingVideo())
609:   {
609:     if (!appPlayer->IsPausedPlayback())
609:     {
609:       auto& appComponents = CServiceBroker::GetAppComponents();
609:       const auto appPower = appComponents.GetComponent<CApplicationPowerHandling>();
609:       appPower->ResetScreenSaver();
609:     }
609: 
609:     CServiceBroker::GetWinSystem()->GetGfxContext().SetViewWindow(m_posX, m_posY, m_posX + m_width, m_posY + m_height);
609:     TransformMatrix mat;
609:     CServiceBroker::GetWinSystem()->GetGfxContext().SetTransform(mat, 1.0, 1.0);
609: 
609:     UTILS::COLOR::Color alpha =
609:         CServiceBroker::GetWinSystem()->GetGfxContext().MergeAlpha(0xFF000000) >> 24;
609:     if (appPlayer->IsRenderingVideoLayer())
609:     {
609:       CRect old = CServiceBroker::GetWinSystem()->GetGfxContext().GetScissors();
609:       CRect region = GetRenderRegion();
609:       region.Intersect(old);
609:       CServiceBroker::GetWinSystem()->GetGfxContext().SetScissors(region);
609:       CServiceBroker::GetWinSystem()->GetGfxContext().Clear(0);
609:       CServiceBroker::GetWinSystem()->GetGfxContext().SetScissors(old);
609:     }
609:     else
609:       appPlayer->Render(false, alpha);
609: 
609:     CServiceBroker::GetWinSystem()->GetGfxContext().RemoveTransform();
609:   }
609:   CGUIControl::Render();
609: }
609: 
609: void CGUIVideoControl::RenderEx()
609: {
609:   auto& components = CServiceBroker::GetAppComponents();
609:   const auto appPlayer = components.GetComponent<CApplicationPlayer>();
609:   if (appPlayer->IsRenderingVideo())
609:     appPlayer->Render(false, 255, false);
609: 
609:   CGUIControl::RenderEx();
609: }
609: 
609: EVENT_RESULT CGUIVideoControl::OnMouseEvent(const CPoint &point, const CMouseEvent &event)
609: {
609:   const auto& components = CServiceBroker::GetAppComponents();
609:   const auto appPlayer = components.GetComponent<CApplicationPlayer>();
609:   if (!appPlayer->IsPlayingVideo())
609:     return EVENT_RESULT_UNHANDLED;
609:   if (event.m_id == ACTION_MOUSE_LEFT_CLICK)
609:   {
609:     CGUIMessage message(GUI_MSG_FULLSCREEN, GetID(), GetParentID());
609:     CServiceBroker::GetGUI()->GetWindowManager().SendMessage(message);
609:     return EVENT_RESULT_HANDLED;
609:   }
609:   return EVENT_RESULT_UNHANDLED;
609: }
609: 
609: bool CGUIVideoControl::CanFocus() const
609: {
609:   return false;
609: }
609: 
609: bool CGUIVideoControl::CanFocusFromPoint(const CPoint &point) const
609: {
609:   return IsVisible() && HitTest(point);
609: }
=== END GCC DUMP ===
make[4]: *** [build/guilib/CMakeFiles/guilib.dir/build.make:863: build/guilib/CMakeFiles/guilib.dir/GUIVideoControl.cpp.o] Error 1
valuated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
1115:         int(__m1), int(__m2));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1115:          memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  return compare_exchange_strong(__i1, __i2, __m,
1115:            __cmpexch_failure_order(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1115:    memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  return compare_exchange_strong(__i1, __i2, __m,
1115:            __cmpexch_failure_order(__m));
1115:       }
1115: # 615 "/usr/include/c++/12/bits/atomic_base.h" 3
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_add(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_add(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_sub(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_sub(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_and(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_and(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_or(__int_type __i,
1115:         memory_order __m = memory_order_seq_cst) noexcept
1115:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_or(__int_type __i,
1115:         memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_xor(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __int_type
1115:       fetch_xor(__int_type __i,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _PTp>
1115:     struct __atomic_base<_PTp*>
1115:     {
1115:     private:
1115:       typedef _PTp* __pointer_type;
1115: 
1115:       __pointer_type _M_p ;
1115: 
1115: 
1115:       constexpr ptrdiff_t
1115:       _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
1115: 
1115:       constexpr ptrdiff_t
1115:       _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); }
1115: 
1115:     public:
1115:       __atomic_base() noexcept = default;
1115:       ~__atomic_base() noexcept = default;
1115:       __atomic_base(const __atomic_base&) = delete;
1115:       __atomic_base& operator=(const __atomic_base&) = delete;
1115:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1115: 
1115: 
1115:       constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { }
1115: 
1115:       operator __pointer_type() const noexcept
1115:       { return load(); }
1115: 
1115:       operator __pointer_type() const volatile noexcept
1115:       { return load(); }
1115: 
1115:       __pointer_type
1115:       operator=(__pointer_type __p) noexcept
1115:       {
1115:  store(__p);
1115:  return __p;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator=(__pointer_type __p) volatile noexcept
1115:       {
1115:  store(__p);
1115:  return __p;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator++(int) noexcept
1115:       { return fetch_add(1); }
1115: 
1115:       __pointer_type
1115:       operator++(int) volatile noexcept
1115:       { return fetch_add(1); }
1115: 
1115:       __pointer_type
1115:       operator--(int) noexcept
1115:       { return fetch_sub(1); }
1115: 
1115:       __pointer_type
1115:       operator--(int) volatile noexcept
1115:       { return fetch_sub(1); }
1115: 
1115:       __pointer_type
1115:       operator++() noexcept
1115:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       __pointer_type
1115:       operator++() volatile noexcept
1115:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       __pointer_type
1115:       operator--() noexcept
1115:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       __pointer_type
1115:       operator--() volatile noexcept
1115:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       __pointer_type
1115:       operator+=(ptrdiff_t __d) noexcept
1115:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       __pointer_type
1115:       operator+=(ptrdiff_t __d) volatile noexcept
1115:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       __pointer_type
1115:       operator-=(ptrdiff_t __d) noexcept
1115:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       __pointer_type
1115:       operator-=(ptrdiff_t __d) volatile noexcept
1115:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1115:       int(memory_order_seq_cst)); }
1115: 
1115:       bool
1115:       is_lock_free() const noexcept
1115:       {
1115: 
1115:  return __atomic_is_lock_free(sizeof(_M_p),
1115:      reinterpret_cast<void *>(-__alignof(_M_p)));
1115:       }
1115: 
1115:       bool
1115:       is_lock_free() const volatile noexcept
1115:       {
1115: 
1115:  return __atomic_is_lock_free(sizeof(_M_p),
1115:      reinterpret_cast<void *>(-__alignof(_M_p)));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) void
1115:       store(__pointer_type __p,
1115:      memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1115: 
1115:  __atomic_store_n(&_M_p, __p, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) void
1115:       store(__pointer_type __p,
1115:      memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachablmake[4]: *** Waiting for unfinished jobs....
   while (__extracted < __n
1412:        && !_Traits::eq_int_type(__c, __eof)
1412:        && !_Traits::eq_int_type(__c, __idelim))
1412:   {
1412:     __str += _Traits::to_char_type(__c);
1412:     ++__extracted;
1412:     __c = __in.rdbuf()->snextc();
1412:   }
1412: 
1412:        if (_Traits::eq_int_type(__c, __eof))
1412:   __err |= __ios_base::eofbit;
1412:        else if (_Traits::eq_int_type(__c, __idelim))
1412:   {
1412:     ++__extracted;
1412:     __in.rdbuf()->sbumpc();
1412:   }
1412:        else
1412:   __err |= __ios_base::failbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        __in._M_setstate(__ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      {
1412: 
1412: 
1412: 
1412:        __in._M_setstate(__ios_base::badbit);
1412:      }
1412:  }
1412:       if (!__extracted)
1412:  __err |= __ios_base::failbit;
1412:       if (__err)
1412:  __in.setstate(__err);
1412:       return __in;
1412:     }
1412: # 1082 "/usr/include/c++/12/bits/basic_string.tcc" 3
1412:   extern template class basic_string<char>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   extern template
1412:     basic_istream<char>&
1412:     operator>>(basic_istream<char>&, string&);
1412:   extern template
1412:     basic_ostream<char>&
1412:     operator<<(basic_ostream<char>&, const string&);
1412:   extern template
1412:     basic_istream<char>&
1412:     getline(basic_istream<char>&, string&, char);
1412:   extern template
1412:     basic_istream<char>&
1412:     getline(basic_istream<char>&, string&);
1412: 
1412: 
1412: 
1412:   extern template class basic_string<wchar_t>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   extern template
1412:     basic_istream<wchar_t>&
1412:     operator>>(basic_istream<wchar_t>&, wstring&);
1412:   extern template
1412:     basic_ostream<wchar_t>&
1412:     operator<<(basic_ostream<wchar_t>&, const wstring&);
1412:   extern template
1412:     basic_istream<wchar_t>&
1412:     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
1412:   extern template
1412:     basic_istream<wchar_t>&
1412:     getline(basic_istream<wchar_t>&, wstring&);
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 55 "/usr/include/c++/12/string" 2 3
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412:   namespace pmr {
1412:     template<typename _Tp> class polymorphic_allocator;
1412:     template<typename _CharT, typename _Traits = char_traits<_CharT>>
1412:       using basic_string = std::basic_string<_CharT, _Traits,
1412:           polymorphic_allocator<_CharT>>;
1412:     using string = basic_string<char>;
1412: 
1412: 
1412: 
1412:     using u16string = basic_string<char16_t>;
1412:     using u32string = basic_string<char32_t>;
1412:     using wstring = basic_string<wchar_t>;
1412:   }
1412: 
1412:   template<typename _Str>
1412:     struct __hash_string_base
1412:     : public __hash_base<size_t, _Str>
1412:     {
1412:       size_t
1412:       operator()(const _Str& __s) const noexcept
1412:       { return hash<basic_string_view<typename _Str::value_type>>{}(__s); }
1412:     };
1412: 
1412:   template<>
1412:     struct hash<pmr::string>
1412:     : public __hash_string_base<pmr::string>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct hash<pmr::u16string>
1412:     : public __hash_string_base<pmr::u16string>
1412:     { };
1412:   template<>
1412:     struct hash<pmr::u32string>
1412:     : public __hash_string_base<pmr::u32string>
1412:     { };
1412:   template<>
1412:     struct hash<pmr::wstring>
1412:     : public __hash_string_base<pmr::wstring>
1412:     { };
1412: 
1412: 
1412: }
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h" 2
1412: 
1412: 
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h"
1412: using MediaType = std::string;
1412: # 29 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h"
1412: class CMediaTypes
1412: {
1412: public:
1412:   static bool IsValidMediaType(const MediaType &mediaType);
1412:   s[ 72%] Building CXX object build/weather/CMakeFiles/weather.dir/WeatherManager.cpp.o
e(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1115: 
1115:  __atomic_store_n(&_M_p, __p, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       load(memory_order __m = memory_order_seq_cst) const noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_load_n(&_M_p, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1115:       {
1115:  memory_order __b __attribute__ ((__unused__))
1115:    = __m & __memory_order_mask;
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1115:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_load_n(&_M_p, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       exchange(__pointer_type __p,
1115:         memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1115:       }
1115: 
1115: 
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       exchange(__pointer_type __p,
1115:         memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1115:        memory_order __m1,
1115:        memory_order __m2) noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1115:         int(__m1), int(__m2));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1115:        memory_order __m1,
1115:        memory_order __m2) volatile noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1115:         int(__m1), int(__m2));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1115:          memory_order __m1,
1115:          memory_order __m2) noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1115:         int(__m1), int(__m2));
1115:       }
1115: 
1115:       inline __attribute__((__always_inline__)) bool
1115:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1115:          memory_order __m1,
1115:          memory_order __m2) volatile noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1115:         int(__m1), int(__m2));
1115:       }
1115: # 918 "/usr/include/c++/12/bitscd /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/weather && /usr/bin/c++  -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I/<<BUILDDIR>>/kodi-20.0+dfsg -I/<<BUILDDIR>>/kodi-20.0+dfsg/lib -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm -g -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -D_XBMC -DDEB_VERSION=\"2:20.0+dfsg-1\" -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -O2 -g -DNDEBUG -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_LIRC=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAS_SNDIO=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DDATE_HAS_STRINGVIEW -DFFMPEG_VER_SHA=\"4.4.1\" -DHAVE_GCRYPT=1 -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAVE_WAYLAND=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MYSQL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/usr/lib/arm-linux-gnueabihf/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/weather/CMakeFiles/weather.dir/WeatherManager.cpp.o -MF CMakeFiles/weather.dir/WeatherManager.cpp.o.d -o CMakeFiles/weather.dir/WeatherManager.cpp.o -c /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp
tatic bool IsMediaType(const std::string &strMediaType, const MediaType &mediaType);
1412:   static MediaType FromString(const std::string &strMediaType);
1412:   static MediaType ToPlural(const MediaType &mediaType);
1412: 
1412:   static bool IsContainer(const MediaType &mediaType);
1412: 
1412:   static std::string GetLocalization(const MediaType &mediaType);
1412:   static std::string GetPluralLocalization(const MediaType &mediaType);
1412:   static std::string GetCapitalLocalization(const MediaType &mediaType);
1412:   static std::string GetCapitalPluralLocalization(const MediaType &mediaType);
1412: 
1412:   struct MediaTypeInfo
1412:   {
1412:     MediaTypeInfo(const MediaType &mediaType, const std::string &plural, bool container,
1412:                   int localizationSingular, int localizationPlural,
1412:                   int localizationSingularCapital, int localizationPluralCapital)
1412:       : mediaType(mediaType),
1412:         plural(plural),
1412:         container(container),
1412:         localizationSingular(localizationSingular),
1412:         localizationPlural(localizationPlural),
1412:         localizationSingularCapital(localizationSingularCapital),
1412:         localizationPluralCapital(localizationPluralCapital)
1412:     { }
1412: 
1412:     MediaType mediaType;
1412:     std::string plural;
1412:     bool container;
1412:     int localizationSingular;
1412:     int localizationPlural;
1412:     int localizationSingularCapital;
1412:     int localizationPluralCapital;
1412:   };
1412: 
1412: private:
1412:   static std::map<std::string, MediaTypeInfo>::const_iterator findMediaType(const std::string &mediaType);
1412: 
1412:   static std::map<std::string, MediaTypeInfo> m_mediaTypes;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h" 2
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/memory" 1 3
1412: # 47 "/usr/include/c++/12/memory" 3
1412:        
1412: # 48 "/usr/include/c++/12/memory" 3
1412: # 66 "/usr/include/c++/12/memory" 3
1412: # 1 "/usr/include/c++/12/bits/stl_uninitialized.h" 1 3
1412: # 70 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412: 
1412: # 70 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 81 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _ValueType, typename _Tp>
1412:     constexpr bool
1412:     __check_constructible()
1412:     {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       static_assert(is_constructible<_ValueType, _Tp>::value,
1412:    "result type must be constructible from input type");
1412: 
1412:       return true;
1412:     }
1412: # 110 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _InputIterator, typename _ForwardIterator>
1412:    
1412:     _ForwardIterator
1412:     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
1412:        _ForwardIterator __result)
1412:     {
1412:       _ForwardIterator __cur = __result;
1412:       try
1412:  {
1412:    for (; __first != __last; ++__first, (void)++__cur)
1412:      std::_Construct(std::__addressof(*__cur), *__first);
1412:    return __cur;
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__result, __cur);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<bool _TrivialValueTypes>
1412:     struct __uninitialized_copy
1412:     {
1412:       template<typename _InputIterator, typename _ForwardIterator>
1412:         static _ForwardIterator
1412:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1412:         _ForwardIterator __result)
1412:  { return std::__do_uninit_copy(__first, __last, __result); }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_copy<true>
1412:     {
1412:       template<typename _InputIterator, typename _ForwardIterator>
1412:         static _ForwardIterator
1412:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1412:         _ForwardIterator __result)
1412:         { return std::copy(__first, __last, __result); /atomic_base.h" 3
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       fetch_add(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       fetch_add(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       fetch_sub(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1115: 
1115:       inline __attribute__((__always_inline__)) __pointer_type
1115:       fetch_sub(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1115:     };
1115: # 1943 "/usr/include/c++/12/bits/atomic_base.h" 3
1115: 
1115: }
1115: # 34 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 47 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115:   struct _Sp_locker
1115:   {
1115:     _Sp_locker(const _Sp_locker&) = delete;
1115:     _Sp_locker& operator=(const _Sp_locker&) = delete;
1115: 
1115: 
1115:     explicit
1115:     _Sp_locker(const void*) noexcept;
1115:     _Sp_locker(const void*, const void*) noexcept;
1115:     ~_Sp_locker();
1115: 
1115:   private:
1115:     unsigned char _M_key1;
1115:     unsigned char _M_key2;
1115: 
1115: 
1115: 
1115:   };
1115: # 74 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p)
1115:     {
1115: 
1115:       return __gthread_active_p() == 0;
1115: 
1115: 
1115: 
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline bool
1115:     atomic_is_lock_free(const shared_ptr<_Tp>* __p)
1115:     { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); }
1115: # 101 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115:   template<typename _Tp>
1115:     inline shared_ptr<_Tp>
1115:     atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
1115:     {
1115:       _Sp_locker __lock{__p};
1115:       return *__p;
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline shared_ptr<_Tp>
1115:     atomic_load(const shared_ptr<_Tp>* __p)
1115:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order)
1115:     {
1115:       _Sp_locker __lock{__p};
1115:       return *__p;
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     atomic_load(const __shared_ptr<_Tp, _Lp>* __p)
1115:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1115: # 137 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115:   template<typename _Tp>
1115:     inline void
1115:     atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1115:      memory_order)
1115:     {
1115:       _Sp_locker __lock{__p};
1115:       __p->swap(__r);
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline void
1115:     atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1115:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline void
1115:     atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p,
1115:      __shared_ptr<_Tp, _Lp> __r,
1115:      memory_order)
1115:     {
1115:       _Sp_locker __lock{__p};
1115:       __p->swap(__r);
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline void
1115:     atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1115:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
1115: # 174 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115:   template<typename _Tp>
1115:     inline shared_ptr<_Tp>
1115:     atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1115:         memory_order)
1115:     {
1115:       _Sp_locker __lock{__p};
1115:       __p->swap(__r);
1115:       return __r;
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline shared_ptr<_Tp>
1115:     atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1115:     {
1115:       return std::atomic_exchange_explicit(__p, std::move(__r),
1115:         memory_order_seq_cst);
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p,
1115:         __shared_ptr<_Tp, _Lp> __r,
1115:         memory_order)
1115:     {
1115:       _Sp_locker __lock{__p};
1115:       __p->swap(__r);
1115:       return __r;
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline __shared_ptr<_Tp, _Lp>
1115:     atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1115:     {
1115:       return std::atomic_exchange_explicit(__p, std::move(__r),
1115:         memory_order_seq_cst);
1115:     }
1115: # 223 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115:   template<typename _Tp>
1115:     bool
1115:     atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p,
1115:          shared_ptr<_Tp>* __v,
1115:          shared_ptr<_Tp> __w,
1115:          memory_order,
1115:          memory_order)
1115:     {
1115:       shared_ptr<_Tp> __x;
1115:       _Sp_locker __lock{__p, __v};
1115:       owner_less<shared_ptr<_Tp>> __less;
1115:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1115:  {
1115:    __x = std::move(*__p);
1115:    *__p = std::move(__w);
1115:    return true;
1115:  }
1115:       __x = std::move(*__v);
1115:       *__v = *__p;
1115:       return false;
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline bool
1115:     atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1115:      shared_ptr<_Tp> __w)
1115:     {
1115:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1115:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline bool
1115:     atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p,
1115:        shared_ptr<_Tp>* __v,
1115:        shared_ptr<_Tp> __w,
1115:        memory_order __success,
1115:        memory_order __failure)
1115:     {
1115:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1115:    std::move(__w), __success, __failure);
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline bool
1115:     atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1115:      shared_ptr<_Tp> __w)
1115:     {
1115:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1115:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     bool
1115:     atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p,
1115:          __shared_ptr<_Tp, _Lp>* __v,
1115:          __shared_ptr<_Tp, _Lp> __w,
1115:          memory_order,
1115:          memory_order)
1115:     {
1115:       __shared_ptr<_Tp, _Lp> __x;
1115:       _Sp_locker __lock{__p, __v};
1115:       owner_less<__shared_ptr<_Tp, _Lp>> __less;
1115:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1115:  {
1115:    __x = std::move(*__p);
1115:    *__p = std::move(__w);
1115:    return true;
1115:  }
1115:       __x = std::move(*__v);
1115:       *__v = *__p;
1115:       return false;
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     atomic_compare_exchange_strong(__}
1412:     };
1412: # 161 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _InputIterator, typename _ForwardIterator>
1412:     inline _ForwardIterator
1412:     uninitialized_copy(_InputIterator __first, _InputIterator __last,
1412:          _ForwardIterator __result)
1412:     {
1412:       typedef typename iterator_traits<_InputIterator>::value_type
1412:  _ValueType1;
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType2;
1412: 
1412: 
1412: 
1412: 
1412:       const bool __can_memmove = __is_trivial(_ValueType1);
1412: 
1412: 
1412: 
1412: 
1412:       using _From = decltype(*__first);
1412: 
1412:       const bool __assignable
1412:  = __is_trivial(_ValueType2) && __is_assignable(_ValueType2&, _From) && std::__check_constructible<_ValueType2, _From>();
1412: 
1412:       return std::__uninitialized_copy<__can_memmove && __assignable>::
1412:  __uninit_copy(__first, __last, __result);
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Tp>
1412:     void
1412:     __do_uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1412:        const _Tp& __x)
1412:     {
1412:       _ForwardIterator __cur = __first;
1412:       try
1412:  {
1412:    for (; __cur != __last; ++__cur)
1412:      std::_Construct(std::__addressof(*__cur), __x);
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__first, __cur);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<bool _TrivialValueType>
1412:     struct __uninitialized_fill
1412:     {
1412:       template<typename _ForwardIterator, typename _Tp>
1412:         static void
1412:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1412:         const _Tp& __x)
1412:  { std::__do_uninit_fill(__first, __last, __x); }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_fill<true>
1412:     {
1412:       template<typename _ForwardIterator, typename _Tp>
1412:         static void
1412:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1412:         const _Tp& __x)
1412:         { std::fill(__first, __last, __x); }
1412:     };
1412: # 239 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:     inline void
1412:     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
1412:          const _Tp& __x)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType;
1412: 
1412: 
1412: 
1412:       const bool __can_fill
1412:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>();
1412: 
1412:       std::__uninitialized_fill<__can_fill>::
1412:  __uninit_fill(__first, __last, __x);
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1412:    
1412:     _ForwardIterator
1412:     __do_uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1412:     {
1412:       _ForwardIterator __cur = __first;
1412:       try
1412:  {
1412:    for (; __n > 0; --__n, (void) ++__cur)
1412:      std::_Construct(std::__addressof(*__cur), __x);
1412:    return __cur;
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__first, __cur);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<bool _TrivialValueType>
1412:     struct __uninitialized_fill_n
1412:     {
1412:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1412:  static _ForwardIterator
1412:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1412:    const _Tp& __x)
1412:  { return std::__do_uninit_fill_n(__first, __n, __x); }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_fill_n<true>
1412:     {
1412:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1412:  static _ForwardIterator
1412:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1412:    const _Tp& __x)
1412:         { return std::fill_n(__first, __n, __x); }
1412:     };
1412: # 310 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1412:     inline _ForwardIterator
1412:     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType;
1412: 
1412: 
1412: 
1412:       const bool __can_fill
1412:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>()
1412: 
1412: 
1412: 
1412:  && __is_integer<_Size>::__value;
1412: 
1412:       return __uninitialized_fill_n<__can_fill>::
1412:  __uninit_fill_n(__first, __n, __x);
1412:     }
1412: # 340 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _InputIterator, typename _ForwardIterator,
1412:     typename _Allocator>
1412:    
1412:     _ForwardIterator
1412:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1412:       _ForwardIterator __result, _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __cur = __result;
1412:       try
1412:  {
1412:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1412:    for (; __first != __last; ++__first, (void)++__cur)
1412:      __traits::construct(__alloc, std::__addressof(*__cur), *__first);
1412:    return __cur;
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__result, __cur, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline _ForwardIterator
1412:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1412:       _ForwardIterator __result, allocator<_Tp>&)
1412:     {
1412: 
1412: 
1412: 
1412: 
1412:       return std::uninitialized_copy(__first, __last, __result);
1412:     }
1412: 
1412:   template<typename _InputIterator, typename _ForwardIterator,
1412:     typename _Allocator>
1412:    
1412:     inline _ForwardIterator
1412:     __uninitialized_move_a(_InputIterator __first, _InputIterator __last,
1412:       _ForwardIterator __result, _Allocator& __alloc)
1412:     {
1412:       return std::__uninitialized_copy_a(std::make_move_iterator(__first),
1412:       std::make_move_iterator(__last),
1412:       __result, __alloc);
1412:     }
1412: 
1412:   template<typename _InputIterator, typename _ForwardIterator,
1412:     typename _Allocator>
1412:    
1412:     inline _ForwardIterator
1412:     __uninitialized_move_if_noexcept_a(_InputIterator __first,
1412:            _InputIterator __last,
1412:            _ForwardIterator __result,
1412:            _Allocator& __alloc)
1412:     {
1412:       return std::__uninitialized_copy_a
1412:  (std::__make_move_if_noexcept_iterator(__first),
1412:   std::__make_move_if_noexcept_iterator(__last), __result, __alloc);
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
1412:    
1412:     void
1412:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1412:       const _Tp& __x, _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __cur = __first;
1412:       try
1412:  {
1412:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1412:    for (; __cur != __last; ++__cur)
1412:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__first, __cur, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
1412:    
1412:     inline void
1412:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1412:       const _Tp& __x, allocator<_Tp2>&)
1412:     {
1412: 
1412: 
1412: 
1412: 
1412:       std::uninitialized_fill(__first, __last, __x);
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1412:     typename _Allocator>
1412:     
1412:     _ForwardIterator
1412:     __shared_ptr<_Tp, _Lp>* __p,
1115:        __shared_ptr<_Tp, _Lp>* __v,
1115:        __shared_ptr<_Tp, _Lp> __w)
1115:     {
1115:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1115:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p,
1115:        __shared_ptr<_Tp, _Lp>* __v,
1115:        __shared_ptr<_Tp, _Lp> __w,
1115:        memory_order __success,
1115:        memory_order __failure)
1115:     {
1115:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1115:    std::move(__w), __success, __failure);
1115:     }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:     inline bool
1115:     atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p,
1115:      __shared_ptr<_Tp, _Lp>* __v,
1115:      __shared_ptr<_Tp, _Lp> __w)
1115:     {
1115:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1115:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1115:     }
1115: # 796 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1115: 
1115: }
1115: # 79 "/usr/include/c++/12/memory" 2 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/backward/auto_ptr.h" 1 3
1115: # 36 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 47 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:   template<typename _Tp1>
1115:     struct auto_ptr_ref
1115:     {
1115:       _Tp1* _M_ptr;
1115: 
1115:       explicit
1115:       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: # 88 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:   template<typename _Tp>
1115:     class auto_ptr
1115:     {
1115:     private:
1115:       _Tp* _M_ptr;
1115: 
1115:     public:
1115: 
1115:       typedef _Tp element_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
1115: # 114 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
1115: # 126 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       template<typename _Tp1>
1115:         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
1115: # 137 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       auto_ptr&
1115:       operator=(auto_ptr& __a) throw()
1115:       {
1115:  reset(__a.release());
1115:  return *this;
1115:       }
1115: # 154 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       template<typename _Tp1>
1115:         auto_ptr&
1115:         operator=(auto_ptr<_Tp1>& __a) throw()
1115:         {
1115:    reset(__a.release());
1115:    return *this;
1115:  }
1115: # 172 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       ~auto_ptr() { delete _M_ptr; }
1115: # 182 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       element_type&
1115:       operator*() const throw()
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1115:  return *_M_ptr;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       element_type*
1115:       operator->() const throw()
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1115:  return _M_ptr;
1115:       }
1115: # 212 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       element_type*
1115:       get() const throw() { return _M_ptr; }
1115: # 226 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       element_type*
1115:       release() throw()
1115:       {
1115:  element_type* __tmp = _M_ptr;
1115:  _M_ptr = 0;
1115:  return __tmp;
1115:       }
1115: # 241 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       void
1115:       reset(element_type* __p = 0) throw()
1115:       {
1115:  if (__p != _M_ptr)
1115:    {
1115:      delete _M_ptr;
1115:      _M_ptr = __p;
1115:    }
1115:       }
1115: # 266 "/usr/include/c++/12/backward/auto_ptr.h" 3
1115:       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
1115:       : _M_ptr(__ref._M_ptr) { }
1115: 
1115:       auto_ptr&
1115:       operator=(auto_ptr_ref<element_type> __ref) throw()
1115:       {
1115:  if (__ref._M_ptr != this->get())
1115:    {
1115:      delete _M_ptr;
1115:      _M_ptr = __ref._M_ptr;
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:       template<typename _Tp1>
1115:         operator auto_ptr_ref<_Tp1>() throw()
1115:         { return auto_ptr_ref<_Tp1>(this->release()); }
1115: 
1115:       template<typename _Tp1>
1115:         operator auto_ptr<_Tp1>() throw()
1115:         { return auto_ptr<_Tp1>(this->release()); }
1115:     } __attribute__ ((__deprecated__ ("use '" "std::unique_ptr" "' instead")));
1115: 
1115: 
1115: 
1115:   template<>
1115:     class auto_ptr<void>
1115:     {
1115:     public:
1115:       typedef void element_type;
1115:     } __attribute__ ((__deprecated__));
1115: 
1115: 
1115:   template<_Lock_policy _Lp>
1115:   template<typename _Tp>
1115:     inline
1115:     __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r)
1115:     : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get()))
1115:     { __r.release(); }
1115: 
1115:   template<typename _Tp, _Lock_policy _Lp>
1115:   template<typename _Tp1, typename>
1115:     inline
1115:     __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r)
1115:     : _M_ptr(__r.get()), _M_refcount()
1115:     {
1115:      
1115:       static_assert( sizeof(_Tp1) > 0, "incomplete type" );
1115:       _Tp1* __tmp = __r.get();
1115:       _M_refcount = __shared_count<_Lp>(std::move(__r));
1115:       _M_enable_shared_from_this_with(__tmp);
1115:     }
1115: 
1115:   template<typename _Tp>
1115:   template<typename _Tp1, typename>
1115:     inline
1115:     shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r)
1115:     : __shared_ptr<_Tp>(std::move(__r)) { }
1115: 
1115:   template<typename _Tp, typename _Dp>
1115:   template<typename _Up, typename>
1115:     inline
1115:     unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept
1115:     : _M_t(__u.release(), deleter_type()) { }
1115: 
1115: 
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: }
1115: # 83 "/usr/include/c++/12/memory" 2 3
1115: # 91 "/usr/include/c++/12/memory" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 109 "/usr/include/c++/12/memory" 3
1115: enum class pointer_safety { relaxed, preferred, strict };
1115: 
1115: 
1115: inline void
1115: declare_reachable(void*) { }
1115: 
1115: 
1115: template <typename _Tp>
1115:   inline _Tp*
1115:   undeclare_reachable(_Tp* __p) { return __p; }
1115: 
1115: 
1115: inline void
1115: declare_no_pointers(char*, size_t) { }
1115: 
1115: 
1115: inline void
1115: undeclare_no_pointers(char*, size_t) { }
1115: 
1115: 
1115: inline pointer_safety
1115: get_pointer_safety() noexcept { return pointer_safety::relaxed; }
1115: 
1115: 
1115: 
1115: }
1115: # 144 "/usr/include/c++/12/memory" 3
1115: # 1 "/usr/include/c++/12/pstl/glue_memory_defs.h" 1 3
1115: # 13 "/usr/include/c++/12/pstl/glue_memory_defs.h" 3
1115: # 1 "/usr/include/c++/12/pstl/execution_defs.h" 1 3
1115: # 15 "/usr/include/c++/12/pstl/execution_defs.h" 3
1115: namespace __pstl
1115: {
1115: namespace execution
1115: {
1115: inline namespace v1
1115: {
1115: 
1115: 
1115: class sequenced_policy
1115: {
1115:   public:
1115: 
1115:     static constexpr std::false_type
1115:     __allow_unsequenced()
1115:     {
1115:         return std::false_type{};
1115:     }
1115:     static constexpr std::false_type
1115:     __allow_vector()
1115:     {
1115:         return std::false_type{};
1115:     }
1115:     static constexpr std::false_type
1115:     __allow_parallel()
1115:     {
1115:         return std::false_type{};
1115:     }
1115: };
1115: 
1115: 
1115: class parallel_policy
1115: {
1115:   public:
1115: 
1uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1412:         const _Tp& __x, _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __cur = __first;
1412:       try
1412:  {
1412:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1412:    for (; __n > 0; --__n, (void) ++__cur)
1412:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1412:    return __cur;
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__first, __cur, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1412:     typename _Tp2>
1412:    
1412:     inline _ForwardIterator
1412:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1412:         const _Tp& __x, allocator<_Tp2>&)
1412:     {
1412: 
1412: 
1412: 
1412: 
1412:       return std::uninitialized_fill_n(__first, __n, __x);
1412:     }
1412: # 480 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _ForwardIterator, typename _Allocator>
1412:     inline _ForwardIterator
1412:     __uninitialized_copy_move(_InputIterator1 __first1,
1412:          _InputIterator1 __last1,
1412:          _InputIterator2 __first2,
1412:          _InputIterator2 __last2,
1412:          _ForwardIterator __result,
1412:          _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
1412:           __result,
1412:           __alloc);
1412:       try
1412:  {
1412:    return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc);
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__result, __mid, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _ForwardIterator, typename _Allocator>
1412:     inline _ForwardIterator
1412:     __uninitialized_move_copy(_InputIterator1 __first1,
1412:          _InputIterator1 __last1,
1412:          _InputIterator2 __first2,
1412:          _InputIterator2 __last2,
1412:          _ForwardIterator __result,
1412:          _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1,
1412:           __result,
1412:           __alloc);
1412:       try
1412:  {
1412:    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__result, __mid, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
1412:     typename _Allocator>
1412:     inline _ForwardIterator
1412:     __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid,
1412:          const _Tp& __x, _InputIterator __first,
1412:          _InputIterator __last, _Allocator& __alloc)
1412:     {
1412:       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
1412:       try
1412:  {
1412:    return std::__uninitialized_move_a(__first, __last, __mid, __alloc);
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__result, __mid, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
1412:     typename _Allocator>
1412:     inline void
1412:     __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1,
1412:          _ForwardIterator __first2,
1412:          _ForwardIterator __last2, const _Tp& __x,
1412:          _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1,
1412:            __first2,
1412:            __alloc);
1412:       try
1412:  {
1412:    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__first2, __mid2, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: # 587 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<bool _TrivialValueType>
1412:     struct __uninitialized_default_1
1412:     {
1412:       template<typename _ForwardIterator>
1412:         static void
1412:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1412:         {
1412:    _ForwardIterator __cur = __first;
1412:    try
1412:      {
1412:        for (; __cur != __last; ++__cur)
1412:   std::_Construct(std::__addressof(*__cur));
1412:      }
1412:    catch(...)
1412:      {
1412:        std::_Destroy(__first, __cur);
1412:        throw;
1412:      }
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_default_1<true>
1412:     {
1412:       template<typename _ForwardIterator>
1412:         static void
1412:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1412:         {
1412:    if (__first == __last)
1412:      return;
1412: 
1412:    typename iterator_traits<_ForwardIterator>::value_type* __val
1412:      = std::__addressof(*__first);
1412:    std::_Construct(__val);
1412:    if (++__first != __last)
1412:      std::fill(__first, __last, *__val);
1412:  }
1412:     };
1412: 
1412:   template<bool _TrivialValueType>
1412:     struct __uninitialized_default_n_1
1412:     {
1412:       template<typename _ForwardIterator, typename _Size>
1412: 
1412:         static _ForwardIterator
1412:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1412:         {
1412:    _ForwardIterator __cur = __first;
1412:    try
1412:      {
1412:        for (; __n > 0; --__n, (void) ++__cur)
1412:   std::_Construct(std::__addressof(*__cur));
1412:        return __cur;
1412:      }
1412:    catch(...)
1412:      {
1412:        std::_Destroy(__first, __cur);
1412:        throw;
1412:      }
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_default_n_1<true>
1412:     {
1412:       template<typename _ForwardIterator, typename _Size>
1412: 
1412:         static _ForwardIterator
1412:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1412:         {
1412:    if (__n > 0)
1412:      {
1412:        typename iterator_traits<_ForwardIterator>::value_type* __val
1412:   = std::__addressof(*__first);
1412:        std::_Construct(__val);
1412:        ++__first;
1412:        __first = std::fill_n(__first, __n - 1, *__val);
1412:      }
1412:    return __first;
1412:  }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator>
1412:     inline void
1412:     __uninitialized_default(_ForwardIterator __first,
1412:        _ForwardIterator __last)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType;
1412: 
1412:       const bool __assignable = is_copy_assignable<_ValueType>::value;
1412: 
1412:       std::__uninitialized_default_1<__is_trivial(_ValueType)
1412:          && __assignable>::
1412:  __uninit_default(__first, __last);
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Size>
1412:    
1412:     inline _ForwardIterator
1412:     __uninitialized_default_n(_ForwardIterator __first, _Size __n)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType;
1412: 
1412:       constexpr bool __can_fill
1412:  = __and_<is_integral<_Size>, is_copy_assignable<_ValueType>>::value;
1412: 
1412:       return __uninitialized_default_n_1<__is_trivial(_ValueType)
1412:       && __can_fill>::
1412:  __uninit_default_n(__first, __n);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Allocator>
1412:     void
1412:     __uninitialized_default_a(_ForwardIterator __first,
1412:          _ForwardIterator __last,
1412:          _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __cur = __first;
1412:       try
1412:  {
1412:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1412:    for (; __cur != __last; ++__cur)
1412:      __traits::construct(__alloc, std::__addressof(*__cur));
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__first, __cur, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp>
1412:     inline void
1412:     __uninitialized_default_a(_ForwardIterator __first,
1412:          _ForwardIterator __last,
1412:          allocator<_Tp>&)
1412:     { std::__uninitialized_default(__first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Size, typename _Allocator>
1412:     _ForwardIterator
1412:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1412:     _Allocator& __alloc)
1412:     {
1412:       _ForwardIterator __cur = __first;
1412:       try
1412:  {
1412:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1412:    for (; __n > 0; --__n, (void) ++__cur)
1412:      __traits::construct(__alloc, std::__addressof(*__cur));
1412:    return __cur;
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__first, __cur, __alloc);
1412:    throw;
1412:  }
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1412:    
1412:     inline _ForwardIterator
1412:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1412:     allocator<_Tp>&)
1412:     { return std::__uninitialized_default_n(__first, __n); }
1412: 
1412:   template<bool _TrivialValueType>
1412:     struct __uninitialized_default_novalue_1
1412:     {
1412:       template<typename _ForwardIterator>
1412:  static void
1412:  __uninit_default_novalue(_ForwardIterator __first,
1412:      _ForwardIterator __last)
1412:  {
1412:    _ForwardIterator __cur = __first;
1412:    try
1412:      {
1412:        for (; __cur != __last; ++__cur)
1412:   std::_Construct_novalue(std::__addressof(*__cur));
1412:      }
1412:    catch(...)
1412:      {
1412:        std::_Destroy(__first, __cur);
1412:        throw;
1412:      }
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_default_novalue_1<true>
1412:     {
1412:       template<typename _ForwardIterator>
1412:         static void
1412:         __uninit_default_novalue(_ForwardIterator __first,
1412:      _ForwardIterator __last)
1412:  {
1412:  }
1412:     };
1412: 
1412:   template<bool _TrivialValueType>
1412:     struct __uninitialized_default_novalue_n_1
1412:     {
1412:       template<typename _ForwardIterator, typename _Size>
1412:  static _ForwardIterator
1412:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1412:  {
1412:    _ForwardIterator __cur = __first;
1412:    try
1412:      {
1412:        for (; __n > 0; --__n, (void) ++__cur)
1412:   std::_Construct_novalue(std::__addressof(*__cur));
1412:        return __cur;
1412:      }
1412:    catch(...)
1412:      {
1412:        std::_Destroy(__first, __cur);
1412:        throw;
1412:      }
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_default_novalue_n_1<true>
1412:     {
1412:       template<typename _ForwardIterator, typename _Size>
1412:  static _ForwardIterator
1412:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1412:  { return std::next(__first, __n); }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator>
1412:     inline void
1412:     __uninitialized_default_novalue(_ForwardIterator __first,
1412:         _ForwardIterator __last)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType;
1412: 
1412:       std::__uninitialized_default_novalue_1<
1412:  is_trivially_default_constructible<_ValueType>::value>::
1412:  __uninit_default_novalue(__first, __last);
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Size>
1412:     inline _ForwardIterator
1412:     __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType;
1412: 
1412:       return __uninitialized_default_novalue_n_1<
1412:  is_trivially_default_const115:     static constexpr std::false_type
1115:     __allow_unsequenced()
1115:     {
1115:         return std::false_type{};
1115:     }
1115:     static constexpr std::false_type
1115:     __allow_vector()
1115:     {
1115:         return std::false_type{};
1115:     }
1115:     static constexpr std::true_type
1115:     __allow_parallel()
1115:     {
1115:         return std::true_type{};
1115:     }
1115: };
1115: 
1115: 
1115: class parallel_unsequenced_policy
1115: {
1115:   public:
1115: 
1115:     static constexpr std::true_type
1115:     __allow_unsequenced()
1115:     {
1115:         return std::true_type{};
1115:     }
1115:     static constexpr std::true_type
1115:     __allow_vector()
1115:     {
1115:         return std::true_type{};
1115:     }
1115:     static constexpr std::true_type
1115:     __allow_parallel()
1115:     {
1115:         return std::true_type{};
1115:     }
1115: };
1115: 
1115: class unsequenced_policy
1115: {
1115:   public:
1115: 
1115:     static constexpr std::true_type
1115:     __allow_unsequenced()
1115:     {
1115:         return std::true_type{};
1115:     }
1115:     static constexpr std::true_type
1115:     __allow_vector()
1115:     {
1115:         return std::true_type{};
1115:     }
1115:     static constexpr std::false_type
1115:     __allow_parallel()
1115:     {
1115:         return std::false_type{};
1115:     }
1115: };
1115: 
1115: 
1115: constexpr sequenced_policy seq{};
1115: constexpr parallel_policy par{};
1115: constexpr parallel_unsequenced_policy par_unseq{};
1115: constexpr unsequenced_policy unseq{};
1115: 
1115: 
1115: template <class _Tp>
1115: struct is_execution_policy : std::false_type
1115: {
1115: };
1115: 
1115: template <>
1115: struct is_execution_policy<__pstl::execution::sequenced_policy> : std::true_type
1115: {
1115: };
1115: template <>
1115: struct is_execution_policy<__pstl::execution::parallel_policy> : std::true_type
1115: {
1115: };
1115: template <>
1115: struct is_execution_policy<__pstl::execution::parallel_unsequenced_policy> : std::true_type
1115: {
1115: };
1115: template <>
1115: struct is_execution_policy<__pstl::execution::unsequenced_policy> : std::true_type
1115: {
1115: };
1115: 
1115: 
1115: template <class _Tp>
1115: constexpr bool is_execution_policy_v = __pstl::execution::is_execution_policy<_Tp>::value;
1115: 
1115: 
1115: }
1115: }
1115: 
1115: namespace __internal
1115: {
1115: template <class _ExecPolicy, class _Tp>
1115: 
1115: using __enable_if_execution_policy =
1115:     typename std::enable_if<__pstl::execution::is_execution_policy<std::__remove_cvref_t<_ExecPolicy>>::value,
1115:                             _Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: 
1115: }
1115: # 14 "/usr/include/c++/12/pstl/glue_memory_defs.h" 2 3
1115: 
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: uninitialized_copy(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1115: 
1115: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: uninitialized_copy_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: uninitialized_move(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1115: 
1115: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: uninitialized_move_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator _7:       typedef _Ref reference;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef _Deque_iterator _Self;
1417: 
1417:       _Elt_pointer _M_cur;
1417:       _Elt_pointer _M_first;
1417:       _Elt_pointer _M_last;
1417:       _Map_pointer _M_node;
1417: 
1417:       _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept
1417:       : _M_cur(__x), _M_first(*__y),
1417:  _M_last(*__y + _S_buffer_size()), _M_node(__y) { }
1417: 
1417:       _Deque_iterator() noexcept
1417:       : _M_cur(), _M_first(), _M_last(), _M_node() { }
1417: # 161 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename _Iter,
1417:         typename = _Require<is_same<_Self, const_iterator>,
1417:        is_same<_Iter, iterator>>>
1417:        _Deque_iterator(const _Iter& __x) noexcept
1417:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
1417:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1417: 
1417:       _Deque_iterator(const _Deque_iterator& __x) noexcept
1417:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
1417:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1417: 
1417:       _Deque_iterator& operator=(const _Deque_iterator&) = default;
1417: 
1417: 
1417:       iterator
1417:       _M_const_cast() const noexcept
1417:       { return iterator(_M_cur, _M_node); }
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       operator*() const noexcept
1417:       { return *_M_cur; }
1417: 
1417:       [[__nodiscard__]]
1417:       pointer
1417:       operator->() const noexcept
1417:       { return _M_cur; }
1417: 
1417:       _Self&
1417:       operator++() noexcept
1417:       {
1417:  ++_M_cur;
1417:  if (_M_cur == _M_last)
1417:    {
1417:      _M_set_node(_M_node + 1);
1417:      _M_cur = _M_first;
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator++(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  ++*this;
1417:  return __tmp;
1417:       }
1417: 
1417:       _Self&
1417:       operator--() noexcept
1417:       {
1417:  if (_M_cur == _M_first)
1417:    {
1417:      _M_set_node(_M_node - 1);
1417:      _M_cur = _M_last;
1417:    }
1417:  --_M_cur;
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator--(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  --*this;
1417:  return __tmp;
1417:       }
1417: 
1417:       _Self&
1417:       operator+=(difference_type __n) noexcept
1417:       {
1417:  const difference_type __offset = __n + (_M_cur - _M_first);
1417:  if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
1417:    _M_cur += __n;
1417:  else
1417:    {
1417:      const difference_type __node_offset =
1417:        __offset > 0 ? __offset / difference_type(_S_buffer_size())
1417:       : -difference_type((-__offset - 1)
1417:            / _S_buffer_size()) - 1;
1417:      _M_set_node(_M_node + __node_offset);
1417:      _M_cur = _M_first + (__offset - __node_offset
1417:      * difference_type(_S_buffer_size()));
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:       _Self&
1417:       operator-=(difference_type __n) noexcept
1417:       { return *this += -__n; }
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       operator[](difference_type __n) const noexcept
1417:       { return *(*this + __n); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_set_node(_Map_pointer __new_node) noexcept
1417:       {
1417:  _M_node = __new_node;
1417:  _M_first = *__new_node;
1417:  _M_last = _M_first + difference_type(_S_buffer_size());
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator==(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_cur == __y._M_cur; }
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _RefR, typename _PtrR>
1417:  [[__nodiscard__]]
1417:  friend bool
1417:  operator==(const _Self& __x,
1417:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1417:  noexcept
1417:  { return __x._M_cur == __y._M__result);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: uninitialized_fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: uninitialized_fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, const _Tp& __value);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: destroy_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: uninitialized_default_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: uninitialized_default_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: uninitialized_value_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: uninitialized_value_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1115: 
1115: }
1115: # 145 "/usr/include/c++/12/memory" 2 3
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h" 2
1115: 
1115: 
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1115: class CSetting;
1115: class TiXmlNode;
1115: 
1115: class ISettingCallback
1115: {
1115: public:
1115:   virtual ~ISettingCallback() = default;
1115: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1115:   virtual bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) { return true; }
1115: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1115:   virtual void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) {}
1115: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1115:   virtual void OnSettingAction(const std::shared_ptr<const CSetting>& setting) {}
1115: # 68 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1115:   virtual bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1115:                                const char* oldSettingId,
1115:                                const TiXmlNode* oldSettingNode)
1115:   {
1115:     return false;
1115:   }
1115: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1115:   virtual void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1115:                                         const char* propertyName)
1115:   {
1115:   }
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 1
1115:cur; }
1417: # 296 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator!=(const _Self& __x, const _Self& __y) noexcept
1417:       { return !(__x == __y); }
1417: 
1417:       template<typename _RefR, typename _PtrR>
1417:  [[__nodiscard__]]
1417:  friend bool
1417:  operator!=(const _Self& __x,
1417:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1417:  noexcept
1417:  { return !(__x == __y); }
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator<(const _Self& __x, const _Self& __y) noexcept
1417:       {
1417:  return (__x._M_node == __y._M_node)
1417:    ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1417:       }
1417: 
1417:       template<typename _RefR, typename _PtrR>
1417:  [[__nodiscard__]]
1417:  friend bool
1417:  operator<(const _Self& __x,
1417:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1417:  noexcept
1417:  {
1417:    return (__x._M_node == __y._M_node)
1417:      ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1417:  }
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator>(const _Self& __x, const _Self& __y) noexcept
1417:       { return __y < __x; }
1417: 
1417:       template<typename _RefR, typename _PtrR>
1417:  [[__nodiscard__]]
1417:  friend bool
1417:  operator>(const _Self& __x,
1417:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1417:  noexcept
1417:  { return __y < __x; }
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator<=(const _Self& __x, const _Self& __y) noexcept
1417:       { return !(__y < __x); }
1417: 
1417:       template<typename _RefR, typename _PtrR>
1417:  [[__nodiscard__]]
1417:  friend bool
1417:  operator<=(const _Self& __x,
1417:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1417:  noexcept
1417:  { return !(__y < __x); }
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator>=(const _Self& __x, const _Self& __y) noexcept
1417:       { return !(__x < __y); }
1417: 
1417:       template<typename _RefR, typename _PtrR>
1417:  [[__nodiscard__]]
1417:  friend bool
1417:  operator>=(const _Self& __x,
1417:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1417:  noexcept
1417:  { return !(__x < __y); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       friend difference_type
1417:       operator-(const _Self& __x, const _Self& __y) noexcept
1417:       {
1417:  return difference_type(_S_buffer_size())
1417:    * (__x._M_node - __y._M_node - bool(__x._M_node))
1417:    + (__x._M_cur - __x._M_first)
1417:    + (__y._M_last - __y._M_cur);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _RefR, typename _PtrR>
1417:  [[__nodiscard__]]
1417:  friend difference_type
1417:  operator-(const _Self& __x,
1417:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1417:  noexcept
1417:  {
1417:    return difference_type(_S_buffer_size())
1417:      * (__x._M_node - __y._M_node - bool(__x._M_node))
1417:      + (__x._M_cur - __x._M_first)
1417:      + (__y._M_last - __y._M_cur);
1417:  }
1417: 
1417:       [[__nodiscard__]]
1417:       friend _Self
1417:       operator+(const _Self& __x, difference_type __n) noexcept
1417:       {
1417:  _Self __tmp = __x;
1417:  __tmp += __n;
1417:  return __tmp;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       friend _Self
1417:       operator-(const _Self& __x, difference_type __n) noexcept
1417:       {
1417:  _Self __tmp = __x;
1417:  __tmp -= __n;
1417:  return __tmp;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       friend _Self
1417:       operator+(difference_type __n, const _Self& __x) noexcept
1417:       { return __x + __n; }
1417:     };
1417: # 429 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     class _Deque_base
1417:     {
1417:     protected:
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_Tp>::other _Tp_alloc_type;
1417:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_tructible<_ValueType>::value>::
1412:  __uninit_default_novalue_n(__first, __n);
1412:     }
1412: 
1412:   template<typename _InputIterator, typename _Size,
1412:     typename _ForwardIterator>
1412:     _ForwardIterator
1412:     __uninitialized_copy_n(_InputIterator __first, _Size __n,
1412:       _ForwardIterator __result, input_iterator_tag)
1412:     {
1412:       _ForwardIterator __cur = __result;
1412:       try
1412:  {
1412:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1412:      std::_Construct(std::__addressof(*__cur), *__first);
1412:    return __cur;
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__result, __cur);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Size,
1412:     typename _ForwardIterator>
1412:     inline _ForwardIterator
1412:     __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n,
1412:       _ForwardIterator __result,
1412:       random_access_iterator_tag)
1412:     { return std::uninitialized_copy(__first, __first + __n, __result); }
1412: 
1412:   template<typename _InputIterator, typename _Size,
1412:     typename _ForwardIterator>
1412:     pair<_InputIterator, _ForwardIterator>
1412:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1412:       _ForwardIterator __result, input_iterator_tag)
1412:     {
1412:       _ForwardIterator __cur = __result;
1412:       try
1412:  {
1412:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1412:      std::_Construct(std::__addressof(*__cur), *__first);
1412:    return {__first, __cur};
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(__result, __cur);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Size,
1412:     typename _ForwardIterator>
1412:     inline pair<_RandomAccessIterator, _ForwardIterator>
1412:     __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n,
1412:       _ForwardIterator __result,
1412:       random_access_iterator_tag)
1412:     {
1412:       auto __second_res = uninitialized_copy(__first, __first + __n, __result);
1412:       auto __first_res = std::next(__first, __n);
1412:       return {__first_res, __second_res};
1412:     }
1412: # 933 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1412:     inline _ForwardIterator
1412:     uninitialized_copy_n(_InputIterator __first, _Size __n,
1412:     _ForwardIterator __result)
1412:     { return std::__uninitialized_copy_n(__first, __n, __result,
1412:       std::__iterator_category(__first)); }
1412: 
1412: 
1412:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1412:     inline pair<_InputIterator, _ForwardIterator>
1412:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1412:          _ForwardIterator __result)
1412:     {
1412:       return
1412:  std::__uninitialized_copy_n_pair(__first, __n, __result,
1412:       std::__iterator_category(__first));
1412:     }
1412: # 962 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template <typename _ForwardIterator>
1412:     inline void
1412:     uninitialized_default_construct(_ForwardIterator __first,
1412:         _ForwardIterator __last)
1412:     {
1412:       __uninitialized_default_novalue(__first, __last);
1412:     }
1412: # 977 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template <typename _ForwardIterator, typename _Size>
1412:     inline _ForwardIterator
1412:     uninitialized_default_construct_n(_ForwardIterator __first, _Size __count)
1412:     {
1412:       return __uninitialized_default_novalue_n(__first, __count);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _ForwardIterator>
1412:     inline void
1412:     uninitialized_value_construct(_ForwardIterator __first,
1412:       _ForwardIterator __last)
1412:     {
1412:       return __uninitialized_default(__first, __last);
1412:     }
1412: # 1005 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template <typename _ForwardIterator, typename _Size>
1412:     inline _ForwardIterator
1412:     uninitialized_value_construct_n(_ForwardIterator __first, _Size __count)
1412:     {
1412:       return __uninitialized_default_n(__first, __count);
1412:     }
1412: # 1020 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template <typename _InputIterator, typename _ForwardIterator>
1412:     inline _ForwardIterator
1412:     uninitialized_move(_InputIterator __first, _InputIterator __last,
1412:          _ForwardIterator __result)
1412:     {
1412:       return std::uninitialized_copy
1412:  (std::make_move_iterator(__first),
1412:   std::make_move_iterator(__last), __result);
1412:     }
1412: # 1038 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:   template <typename _InputIterator, typename _Size, typename _ForwardIterator>
1412:     inline pair<_InputIterator, _ForwardIterator>
1412:     uninitialized_move_n(_InputIterator __first, _Size __count,
1412:     _ForwardIterator __result)
1412:     {
1412:       auto __res = std::__uninitialized_copy_n_pair
1412:  (std::make_move_iterator(__first),
1412:   __count, __result);
1412:       return {__res.first.base(), __res.second};
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up, typename _Allocator>
1412:    
1412:     inline void
1412:     __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig,
1412:    _Allocator& __alloc)
1412:     noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc,
1412:     __dest, std::move(*__orig)))
1412:       && noexcept(std::allocator_traits<_Allocator>::destroy(
1412:        __alloc, std::__addressof(*__orig))))
1412:     {
1412:       typedef std::allocator_traits<_Allocator> __traits;
1412:       __traits::construct(__alloc, __dest, std::move(*__orig));
1412:       __traits::destroy(__alloc, std::__addressof(*__orig));
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename = void>
1412:     struct __is_bitwise_relocatable
1412:     : is_trivial<_Tp> { };
1412: 
1412:   template <typename _InputIterator, typename _ForwardIterator,
1412:      typename _Allocator>
1412:    
1412:     inline _ForwardIterator
1412:     __relocate_a_1(_InputIterator __first, _InputIterator __last,
1412:      _ForwardIterator __result, _Allocator& __alloc)
1412:     noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result),
1412:             std::addressof(*__first),
1412:             __alloc)))
1412:     {
1412:       typedef typename iterator_traits<_InputIterator>::value_type
1412:  _ValueType;
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType2;
1412:       static_assert(std::is_same<_ValueType, _ValueType2>::value,
1412:    "relocation is only possible for values of the same type");
1412:       _ForwardIterator __cur = __result;
1412:       for (; __first != __last; ++__first, (void)++__cur)
1412:  std::__relocate_object_a(std::__addressof(*__cur),
1412:      std::__addressof(*__first), __alloc);
1412:       return __cur;
1412:     }
1412: 
1412:   template <typename _Tp, typename _Up>
1412:    
1412:     inline __enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp*>
1412:     __relocate_a_1(_Tp* __first, _Tp* __last,
1412:      _Tp* __result,
1412:      [[__maybe_unused__]] allocator<_Up>& __alloc) noexcept
1412:     {
1412:       ptrdiff_t __count = __last - __first;
1412:       if (__count > 0)
1412:  {
1412: # 1117 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1412:    __builtin_memmove(__result, __first, __count * sizeof(_Tp));
1412:  }
1412:       return __result + __count;
1412:     }
1412: 
1412: 
1412:   template <typename _InputIterator, typename _ForwardIterator,
1412:      typename _Allocator>
1412:    
1412:     inline _ForwardIterator
1412:     __relocate_a(_InputIterator __first, _InputIterator __last,
1412:    _ForwardIterator __result, _Allocator& __alloc)
1412:     noexcept(noexcept(__relocate_a_1(std::__niter_base(__first),
1412:          std::__niter_ # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:        
1115: 
1115: class CJob;
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 2
1115: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115: class IJobCallback
1115: {
1115: public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual ~IJobCallback() = default;
1115: # 53 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:   virtual void OnJobComplete(unsigned int jobID, bool success, CJob *job)=0;
1115: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:   virtual void OnJobAbort(unsigned int jobID, CJob* job) {}
1115: # 80 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:   virtual void OnJobProgress(unsigned int jobID,
1115:                              unsigned int progress,
1115:                              unsigned int total,
1115:                              const CJob* job)
1115:   {
1115:   }
1115: };
1115: 
1115: class CJobManager;
1115: # 109 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115: class CJob
1115: {
1115: public:
1115: 
1115: 
1115: 
1115: 
1115:   enum PRIORITY {
1115:     PRIORITY_LOW_PAUSABLE = 0,
1115:     PRIORITY_LOW,
1115:     PRIORITY_NORMAL,
1115:     PRIORITY_HIGH,
1115:     PRIORITY_DEDICATED,
1115:   };
1115:   CJob() { m_callback = 
1115: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 3 4
1115:                        __null
1115: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:                            ; }
1115: # 134 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:   virtual ~CJob() = default;
1115: # 144 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:   virtual bool DoWork() = 0;
1115: # 156 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:   virtual const char* GetType() const { return ""; }
1115: 
1115:   virtual bool operator==(const CJob* job) const
1115:   {
1115:     return false;
1115:   }
1115: # 175 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1115:   virtual bool ShouldCancel(unsigned int progress, unsigned int total) const;
1115: private:
1115:   friend class CJobManager;
1115:   CJobManager *m_callback;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h" 2
1115: 
1115: # 1 "/usr/include/c++/12/string" 1 3
1115: # 36 "/usr/include/c++/12/string" 3
1115:        
1115: # 37 "/usr/include/c++/12/string" 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/char_traits.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/char_traits.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/char_traits.h" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/cwchar" 1 3
1115: # 39 "/usr/include/c++/12/cwchar" 3
1115:        
1115: # 40 "/usr/include/c++/12/cwchar" 3
1115: # 41 "/usr/include/c++/12/bits/char_traits.h" 2 3
1115: # 53 "/usr/include/c++/12/bits/char_traits.h" 3
1115: 
1115: # 53 "/usr/include/c++/12/bits/char_traits.h" 3
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wstringop-overflow"
1115: #pragma GCC diagnostic ignored "-Wstringop-overread"
1115: #pragma GCC diagnostic ignored "-Warray-bounds"
1115: # 72 "/usr/include/c++/12/bits/char_traits.h" 3
1115:   template<typename _CharT>
1115:     struct _Char_types
1115:     {
1115:       typedef unsigned long int_type;
1115:       typedef std::streampos pos_type;
1115:       typedef std::streamoff off_type;
1115:       typedef std::mbstate_t state_type;
1115:     };
1115: # 97 "/usr/include/c++/12/bits/char_traits.h" 3
1115:   template<typename _CharT>
1115:     struct char_traits
1115:     {
1115:       typedef _CharT char_type;
1115:       typedef typename _Char_types<_CharT>::int_type int_type;
1115:       typedef typename _Char_types<_CharT>::pos_type pos_type;
1115:       typedef typename _Char_types<_CharT>::off_type off_type;
1115:       typedef typename _Char_types<_CharT>::state_type state_type;
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr void
1115:       assign(char_type& __c1, const char_type& __c2)
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  __c1 = __c2;
1115:       }
1115: 
1115:       static constexpr bool
1115:       eq(const char_type& __c1, const char_type& __c2)
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr bool
1115:       lt(const char_type& __c1, const char_type& __c2)
1115:       { return __c1 < __c2; }
1115: 
1115:       static constexpr int
1115:       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
1115: 
1115:       static constexpr std::size_t
1115:       length(const char_type* __s);
1115: 
1115:       static constexpr const char_type*
1115:       find(const char_type* __s, std::size_t __n, const char_type& __a);
1115: 
1115:       static char_type*
1115:       move(char_type* __s1, const char_type* __s2, std::size_t __n);
1115: 
1115:       static char_type*
1115:       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
1115: 
1115:       static char_type*
1115:       assign(char_type* __s, std::size_t __n, char_type __a);
1115: 
1115:       static constexpr char_type
1115:       to_char_type(const int_type& __c)
1115:       { return static_cast<char_type>(__c); }
1115: 
1115:       static constexpr int_type
1115:       to_int_type(const char_type& __c)
1115:       { return static_cast<int_type>(__c); }
1115: 
1115:       static constexpr bool
1115:       eq_int_type(const int_type& __c1, const int_type& __c2)
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr int_type
1115:       eof()
1115:       { return static_cast<int_type>(-1); }
1115: 
1115:       static constexpr int_type
1115:       not_eof(const int_type& __c)
1115:       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     constexpr int
1115:     char_traits<_CharT>::
1115:     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
1115:     {
1115:       for (std::size_t __i = 0; __i < __n; ++__i)
1115:  if (lt(__s1[__i], __s2[__i]))
1115:    return -1;
1115:  else if (lt(__s2[__i], __s1[__i]))
1115:    return 1;
1115:       return 0;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     constexpr std::size_t
1115:     char_traits<_CharT>::
1115:     length(const char_type* __p)
1115:     {
1115:       std::size_t __i = 0;
1115:       while (!eq(__p[__i], char_type()))
1115:         ++__i;
1115:       return __i;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     constexpr const typename char_traits<_CharT>::char_type*
1115:     char_traits<_CharT>::
1115:     find(const char_type* __s, std::size_t __n, const char_type& __a)
1115:     {
1115:       for (std::size_t __i = 0; __i < __n; ++__i)
1115:         if (eq(__s[__i], __a))
1115:           return __s + __i;
1115:       return 0;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:    
1115:     typename char_traits<_CharT>::char_type*
1115:     char_traits<_CharT>::
1115:     move(char_type* __s1, const char_type* __s2, std::size_t __n)
1115:     {
1115:       if (__n == 0)
1115:  return __s1;
1115: # 248 "/usr/include/c++/12/bits/char_traits.h" 3
1115:       __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
1115:       return __s1;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:    
1115:     typename char_traits<_CharT>::char_type*
1115:     char_traits<_CharT>::
1115:     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
1115:     {
1115: # 267 "/usr/include/c++/12/bits/char_traits.h" 3
1115:       __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
1115:       return __s1;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:    
1115:     typename char_traits<_CharT>::char_type*
1115:     char_traits<_CharT>::
1115:     assign(char_type* __s, std::size_t __n, char_type __a)
1115:     {
1115: # 286 "/usr/include/c++/12/bits/char_traits.h" 3
1115:       if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
1115:  {base(__last),
1412:          std::__niter_base(__result), __alloc)))
1412:     {
1412:       return std::__relocate_a_1(std::__niter_base(__first),
1412:      std::__niter_base(__last),
1412:      std::__niter_base(__result), __alloc);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 67 "/usr/include/c++/12/memory" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_tempbuf.h" 1 3
1412: # 62 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   namespace __detail
1412:   {
1412:     template<typename _Tp>
1412:       inline void
1412:       __return_temporary_buffer(_Tp* __p,
1412:     size_t __len __attribute__((__unused__)))
1412:       {
1412: 
1412:  ::operator delete(__p, __len * sizeof(_Tp));
1412: 
1412: 
1412: 
1412:       }
1412:   }
1412: # 98 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1412:   template<typename _Tp>
1412:     [[__deprecated__]]
1412:     pair<_Tp*, ptrdiff_t>
1412:     get_temporary_buffer(ptrdiff_t __len) noexcept
1412:     {
1412:       const ptrdiff_t __max =
1412:  __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1412:       if (__len > __max)
1412:  __len = __max;
1412: 
1412:       while (__len > 0)
1412:  {
1412:    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
1412:        std::nothrow));
1412:    if (__tmp != 0)
1412:      return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
1412:    __len = __len == 1 ? 0 : ((__len + 1) / 2);
1412:  }
1412:       return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
1412:     }
1412: # 126 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1412:   template<typename _Tp>
1412:     inline void
1412:     return_temporary_buffer(_Tp* __p)
1412:     { ::operator delete(__p); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Tp>
1412:     class _Temporary_buffer
1412:     {
1412: 
1412:      
1412: 
1412:     public:
1412:       typedef _Tp value_type;
1412:       typedef value_type* pointer;
1412:       typedef pointer iterator;
1412:       typedef ptrdiff_t size_type;
1412: 
1412:     protected:
1412:       size_type _M_original_len;
1412:       size_type _M_len;
1412:       pointer _M_buffer;
1412: 
1412:     public:
1412: 
1412:       size_type
1412:       size() const
1412:       { return _M_len; }
1412: 
1412: 
1412:       size_type
1412:       requested_size() const
1412:       { return _M_original_len; }
1412: 
1412: 
1412:       iterator
1412:       begin()
1412:       { return _M_buffer; }
1412: 
1412: 
1412:       iterator
1412:       end()
1412:       { return _M_buffer + _M_len; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       _Temporary_buffer(_ForwardIterator __seed, size_type __original_len);
1412: 
1412:       ~_Temporary_buffer()
1412:       {
1412:  std::_Destroy(_M_buffer, _M_buffer + _M_len);
1412:  std::__detail::__return_temporary_buffer(_M_buffer, _M_len);
1412:       }
1412: 
1412:     private:
1412: 
1412:       _Temporary_buffer(const _Temporary_buffer&);
1412: 
1412:       void
1412:       operator=(const _Temporary_buffer&);
1412:     };
1412: 
1412: 
1412:   template<bool>
1412:     struct __uninitialized_construct_buf_dispatch
1412:     {
1412:       template<typename _Pointer, typename _ForwardIterator>
1412:         static void
1412:         __ucr(_Pointer __first, _Pointer __last,
1412:        _ForwardIterator __seed)
1412:         {
1412:    if (__first == __last)
1412:      return;
1412: 
1412:    _Pointer __cur = __first;
1412:    try
1412:      {
1412:        std::_Construct(std::__addressof(*__first),
1412:          std::move(*__seed));
1412:        _Pointer __prev = __cur;
1412:        ++__cur;
1412:        for(; __cur != __last; ++__cur, ++__prev)
1412:   std::_Construct(std::__addressof(*__cur),
1412:     std::move(*__prev));
1412:        *__seed = std::move(*__prev);
1412:      }
1412:    catch(...)
1412:      {
1412:        std::_Destroy(__first, __cur);
1412:        throw;
1412:      }
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct __uninitialized_construct_buf_dispatch<true>
1412:     {
1412:       template<typename _Pointer, typename _ForwardIterator>
1412:         static void
1412:         __ucr(_Pointer, _Pointer, _ForwardIterator) { }
1412:     };
1412: # 244 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1412:   template<typename _Pointer, typename _ForwardIterator>
1412:     inline void
1412:     __uninitialized_construct_buf(_Pointer __first, _Pointer __last,
1412:       _ForwardIterator __seed)
1412:     {
1412:       typedef typename std::iterator_traits<_Pointer>::value_type
1412:  _ValueType;
1412: 
1412:       std::__uninitialized_construct_buf_dispatch<
1412:         __has_trivial_constructor(_ValueType)>::
1412:    __ucr(__first, __last, __seed);
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp>
1412:     _Temporary_buffer<_ForwardIterator, _Tp>::
1412:     _Temporary_buffer(_ForwardIterator __seed, size_type __original_len)
1412:     : _M_original_len(__original_len), _M_len(0), _M_buffer(0)
1412:     {
1412:       std::pair<pointer, size_type> __p(
1412:   std::get_temporary_buffer<value_type>(_M_original_len));
1412: 
1412:       if (__p.first)
1412:  {
1412:    try
1412:      {
1412:        std::__uninitialized_construct_buf(__p.first, __p.first + __p.second,
1412:        __seed);
1412:        _M_buffer = __p.first;
1412:        _M_len = __p.second;
1412:      }
1412:    catch(...)
1412:      {
1412:        std::__detail::__return_temporary_buffer(__p.first, __p.second);
1412:        throw;
1412:      }
1412:  }
1412:     }
1412: 
1412: 
1412: }
1412: # 68 "/usr/include/c++/12/memory" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 1 3
1412: # 59 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <class _OutputIterator, class _Tp>
1412:     class [[__deprecated__]] raw_storage_iterator
1412:     : public iterator<output_iterator_tag, void, void, void, void>
1412:     {
1412:     protected:
1412:       _OutputIterator _M_iter;
1412: 
1412:     public:
1412:       explicit
1412:       raw_storage_iterator(_OutputIterator __x)
1412:       : _M_iter(__x) {}
1412: 
1412:       raw_storage_iterator&
1412:       operator*() { return *this; }
1412: 
1412:       raw_storage_iterator&
1412:       operator=(const _Tp& __element)
1412:       {
1412:  std::_Construct(std::__addressof(*_M_iter), __element);
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412:       raw_storage_iterator&
1412:       operator=(_Tp&& __element)
1412:       {
1412:  std::_Construct(std::__addressof(*_M_iter), std::move(__element));
1412:  return *this;
1412:       }
1412: 
1412: 
1412:       raw_storage_iterator&
1412:       operator++()
1412:       {
1412:  ++_M_iter;
1412:  return *this;
1412:       }
1412: 
1412:       raw_storage_iterator
1412:       operator++(int)
1412:       {
1412:  raw_storage_iterator __tmp = *this;
1412:  ++_M_iter;
1412:  return __tmp;
1412:       }
1412: 
1412: 
1412: 
1412:       _OutputIterator base() const { return _M_iter; }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: }
1412: # 69 "/usr/include/c++/12/memory" 2 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/align.h" 1 3
1412: # 35 "/usr/include/c++/12/bits/align.h" 3
1412: # 1 "/usr/include/c++/12/bit" 1 3
1412: # 32 "/usr/include/c++/12/bit" 3
1412:        
1412: # 33 "/usr/include/c++/12/bit" 3
1412: # 55 "/usr/include/c++/12/bit" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 149 "/usr/include/c++/12/bit" 3
1412:   template<typename _Tp>
1412:     constexpr _Tp
1412:     __rotl(_Tp __x, int __s) noexcept
1412:     {
1412:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1412:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1412:  {
1412: 
1412: 
1412:    constexpr unsigned __uNd =
1115:    unsigned char __c;
1115:    __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
1115:    __builtin_memset(__s, __c, __n);
1115:  }
1115:       else
1115:  {
1115:    for (std::size_t __i = 0; __i < __n; ++__i)
1115:      __s[__i] = __a;
1115:  }
1115:       return __s;
1115:     }
1115: 
1115: 
1115: }
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 328 "/usr/include/c++/12/bits/char_traits.h" 3
1115:   template<typename _CharT>
1115:     struct char_traits : public __gnu_cxx::char_traits<_CharT>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct char_traits<char>
1115:     {
1115:       typedef char char_type;
1115:       typedef int int_type;
1115:       typedef streampos pos_type;
1115:       typedef streamoff off_type;
1115:       typedef mbstate_t state_type;
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr void
1115:       assign(char_type& __c1, const char_type& __c2) noexcept
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  __c1 = __c2;
1115:       }
1115: 
1115:       static constexpr bool
1115:       eq(const char_type& __c1, const char_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr bool
1115:       lt(const char_type& __c1, const char_type& __c2) noexcept
1115:       {
1115: 
1115:  return (static_cast<unsigned char>(__c1)
1115:   < static_cast<unsigned char>(__c2));
1115:       }
1115: 
1115:       static constexpr int
1115:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return 0;
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    {
1115:      for (size_t __i = 0; __i < __n; ++__i)
1115:        if (lt(__s1[__i], __s2[__i]))
1115:   return -1;
1115:        else if (lt(__s2[__i], __s1[__i]))
1115:   return 1;
1115:      return 0;
1115:    }
1115: 
1115:  return __builtin_memcmp(__s1, __s2, __n);
1115:       }
1115: 
1115:       static constexpr size_t
1115:       length(const char_type* __s)
1115:       {
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __gnu_cxx::char_traits<char_type>::length(__s);
1115: 
1115:  return __builtin_strlen(__s);
1115:       }
1115: 
1115:       static constexpr const char_type*
1115:       find(const char_type* __s, size_t __n, const char_type& __a)
1115:       {
1115:  if (__n == 0)
1115:    return 0;
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1115: 
1115:  return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
1115:       }
1115: 
1115:       static char_type*
1115:       move(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
1115:       }
1115: 
1115:       static char_type*
1115:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
1115:       }
1115: 
1115:       static char_type*
1115:       assign(char_type* __s, size_t __n, char_type __a)
1115:       {
1115:  if (__n == 0)
1115:    return __s;
1115: 
1115: 
1115: 
1115: 
1115:  return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
1115:       }
1115: 
1115:       static constexpr char_type
1115:       to_char_type(const int_type& __c) noexcept
1115:       { return static_cast<char_type>(__c); }
1115: 
1115: 
1115: 
1115:       static constexpr int_type
1115:       to_int_type(const char_type& __c) noexcept
1115:       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
1115: 
1115:       static constexpr bool
1115:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr int_type
1115:       eof() noexcept
1115:       { return static_cast<int_type>(-1); }
1115: 
1115:       static constexpr int_type
1115:       not_eof(const int_type& __c) noexcept
1115:       { return (__c == eof()) ? 0 : __c; }
1115:   };
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct char_traits<wchar_t>
1115:     {
1115:       typedef wchar_t char_type;
1115:       typedef wint_t int_type;
1115:       typedef streamoff off_type;
1115:       typedef wstreampos pos_type;
1115:       typedef mbstate_t state_type;
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr void
1115:       assign(char_type& __c1, const char_type& __c2) noexcept
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  __c1 = __c2;
1115:       }
1115: 
1115:       static constexpr bool
1115:       eq(const char_type& __c1, const char_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr bool
1115:       lt(const char_type& __c1, const char_type& __c2) noexcept
1115:       { return __c1 < __c2; }
1115: 
1115:       static constexpr int
1115:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return 0;
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
1115: 
1115:  return wmemcmp(__s1, __s2, __n);
1115:       }
1115: 
1115:       static constexpr size_t
1115:       length(const char_type* __s)
1115:       {
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __gnu_cxx::char_traits<char_type>::length(__s);
1115: 
1115:  return wcslen(__s);
1115:       }
1115: 
1115:       static constexpr const char_type*
1115:       find(const char_type* __s, size_t __n, const char_type& __a)
1115:       {
1115:  if (__n == 0)
1115:    return 0;
1115: 
1115:  if (std::__is_constant_evaluated())
1115:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1115: 
1115:  return wmemchr(__s, __a, __n);
1115:       }
1115: 
1115:       static char_type*
1115:       move(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return wmemmove(__s1, __s2, __n);
1115:       }
1115: 
1115:       static char_type*
1115:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return wmemcpy(__s1, __s2, __n);
1115:       }
1115: 
1115:       static char_type*
1115:       assign(char_type* __s, size_t __n, char_type __a)
1115:       {
1115:  if (__n == 0)
1115:    return __s;
1115: 
1115: 
1115: 
1115: 
1115:  return wmemset(__s, __a, __n);
1115:       }
1115: 
1115:       static constexpr char_type
1115:       to_char_type(const int_type& __c) noexcept
1115:       { return char_type(__c); }
1115: 
1115:       static constexpr int_type
1115:       to_int_type(const char_type& __c) noexcept
1115:       { return int_type(__c); }
1115: 
1115:       static constexpr bool
1115:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr int_type
1115:       eof() noexcept
1115:       { return static_cast<int_type>((0xffffffffu)); }
1115: 
1115:       static constexpr int_type
1115:       not_eof(const int_type& __c) noexcept
1115:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1115:   };
1115: # 726 "/usr/include/c++/12/bits/char_traits.h" 3
1115: 
1115: }
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/cstdint" 1 3
1115: # 32 "/usr/include/c++/12/cstdint" 3
1115:        
1115: # 33 "/usr/include/c++/12/cstdint" 3
1115: # 44 "/usr/include/c++/12/cstdint" 3
1115: namespace std
1115: {
1115: 
1115:   using ::int8_t;
1115:   using ::int16_t;
1115:   using ::int32_t;
1115:   using ::int64_t;
1115: 
1115:   using ::int_fast8_t;
1115:   using ::int_fast16_t;
1115:   using ::int_fast32_t;
1115:   using ::int_fast64_t;
1115: 
1115:   using ::int_least8_t;
1115:   using ::int_least16_t;
1115:   using ::int_least32_t;
1115:   using ::int_least64_t;
1115: 
1115:   using ::intmax_t;
1115:  _Nd;
1412:    const unsigned __r = __s;
1412:    return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
1412:  }
1412:       const int __r = __s % _Nd;
1412:       if (__r == 0)
1412:  return __x;
1412:       else if (__r > 0)
1412:  return (__x << __r) | (__x >> ((_Nd - __r) % _Nd));
1412:       else
1412:  return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd));
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr _Tp
1412:     __rotr(_Tp __x, int __s) noexcept
1412:     {
1412:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1412:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1412:  {
1412: 
1412: 
1412:    constexpr unsigned __uNd = _Nd;
1412:    const unsigned __r = __s;
1412:    return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
1412:  }
1412:       const int __r = __s % _Nd;
1412:       if (__r == 0)
1412:  return __x;
1412:       else if (__r > 0)
1412:  return (__x >> __r) | (__x << ((_Nd - __r) % _Nd));
1412:       else
1412:  return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd));
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr int
1412:     __countl_zero(_Tp __x) noexcept
1412:     {
1412:       using __gnu_cxx::__int_traits;
1412:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1412: 
1412:       if (__x == 0)
1412:         return _Nd;
1412: 
1412:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1412:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1412:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1412: 
1412:       if constexpr (_Nd <= _Nd_u)
1412:  {
1412:    constexpr int __diff = _Nd_u - _Nd;
1412:    return __builtin_clz(__x) - __diff;
1412:  }
1412:       else if constexpr (_Nd <= _Nd_ul)
1412:  {
1412:    constexpr int __diff = _Nd_ul - _Nd;
1412:    return __builtin_clzl(__x) - __diff;
1412:  }
1412:       else if constexpr (_Nd <= _Nd_ull)
1412:  {
1412:    constexpr int __diff = _Nd_ull - _Nd;
1412:    return __builtin_clzll(__x) - __diff;
1412:  }
1412:       else
1412:  {
1412:    static_assert(_Nd <= (2 * _Nd_ull),
1412:    "Maximum supported integer size is 128-bit");
1412: 
1412:    unsigned long long __high = __x >> _Nd_ull;
1412:    if (__high != 0)
1412:      {
1412:        constexpr int __diff = (2 * _Nd_ull) - _Nd;
1412:        return __builtin_clzll(__high) - __diff;
1412:      }
1412:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1412:    unsigned long long __low = __x & __max_ull;
1412:    return (_Nd - _Nd_ull) + __builtin_clzll(__low);
1412:  }
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr int
1412:     __countl_one(_Tp __x) noexcept
1412:     {
1412:       return std::__countl_zero<_Tp>((_Tp)~__x);
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr int
1412:     __countr_zero(_Tp __x) noexcept
1412:     {
1412:       using __gnu_cxx::__int_traits;
1412:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1412: 
1412:       if (__x == 0)
1412:         return _Nd;
1412: 
1412:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1412:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1412:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1412: 
1412:       if constexpr (_Nd <= _Nd_u)
1412:  return __builtin_ctz(__x);
1412:       else if constexpr (_Nd <= _Nd_ul)
1412:  return __builtin_ctzl(__x);
1412:       else if constexpr (_Nd <= _Nd_ull)
1412:  return __builtin_ctzll(__x);
1412:       else
1412:  {
1412:    static_assert(_Nd <= (2 * _Nd_ull),
1412:    "Maximum supported integer size is 128-bit");
1412: 
1412:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1412:    unsigned long long __low = __x & __max_ull;
1412:    if (__low != 0)
1412:      return __builtin_ctzll(__low);
1412:    unsigned long long __high = __x >> _Nd_ull;
1412:    return __builtin_ctzll(__high) + _Nd_ull;
1412:  }
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr int
1412:     __countr_one(_Tp __x) noexcept
1412:     {
1412:       return std::__countr_zero((_Tp)~__x);
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr int
1412:     __popcount(_Tp __x) noexcept
1412:     {
1412:       using __gnu_cxx::__int_traits;
1412:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1412: 
1412:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1412:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1412:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1412: 
1412:       if constexpr (_Nd <= _Nd_u)
1412:  return __builtin_popcount(__x);
1412:       else if constexpr (_Nd <= _Nd_ul)
1412:  return __builtin_popcountl(__x);
1412:       else if constexpr (_Nd <= _Nd_ull)
1412:  return __builtin_popcountll(__x);
1412:       else
1412:  {
1412:    static_assert(_Nd <= (2 * _Nd_ull),
1412:    "Maximum supported integer size is 128-bit");
1412: 
1412:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1412:    unsigned long long __low = __x & __max_ull;
1412:    unsigned long long __high = __x >> _Nd_ull;
1412:    return __builtin_popcountll(__low) + __builtin_popcountll(__high);
1412:  }
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr bool
1412:     __has_single_bit(_Tp __x) noexcept
1412:     { return std::__popcount(__x) == 1; }
1412: 
1412:   template<typename _Tp>
1412:     constexpr _Tp
1412:     __bit_ceil(_Tp __x) noexcept
1412:     {
1412:       using __gnu_cxx::__int_traits;
1412:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1412:       if (__x == 0 || __x == 1)
1412:         return 1;
1412:       auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u));
1412: 
1412: 
1412: 
1412: 
1412:       if (!std::__is_constant_evaluated())
1412:  {
1412:    do { if (std::__is_constant_evaluated() && !bool(__shift_exponent != __int_traits<_Tp>::__digits)) __builtin_unreachable(); } while (false);
1412:  }
1412: 
1412:       using __promoted_type = decltype(__x << 1);
1412:       if constexpr (!is_same<__promoted_type, _Tp>::value)
1412:  {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:    const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2;
1412:    __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp;
1412:  }
1412:       return (_Tp)1u << __shift_exponent;
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr _Tp
1412:     __bit_floor(_Tp __x) noexcept
1412:     {
1412:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1412:       if (__x == 0)
1412:         return 0;
1412:       return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr _Tp
1412:     __bit_width(_Tp __x) noexcept
1412:     {
1412:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1412:       return _Nd - std::__countl_zero(__x);
1412:     }
1412: # 476 "/usr/include/c++/12/bit" 3
1412: 
1412: }
1412: # 36 "/usr/include/c++/12/bits/align.h" 2 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 61 "/usr/include/c++/12/bits/align.h" 3
1412: inline void*
1412: align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept
1412: {
1412:   if (__space < __size)
1412:     return nullptr;
1412:   const auto __intptr = reinterpret_cast<uintptr_t>(__ptr);
1412:   const auto __aligned = (__intptr - 1u + __align) & -__align;
1412:   const auto __diff = __aligned - __intptr;
1412:   if (__diff > (__space - __size))
1412:     return nullptr;
1412:   else
1412:     {
1412:       __space -= __diff;
1412:       return __ptr = reinterpret_cast<void*>(__aligned);
1412:     }
1412: }
1412: # 108 "/usr/include/c++/12/bits/align.h" 3
1412: 
1412: }
1412: # 73 "/usr/include/c++/12/memory" 2 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/unique_ptr.h" 1 3
1412: # 52 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
141  using ::intptr_t;
1115: 
1115:   using ::uint8_t;
1115:   using ::uint16_t;
1115:   using ::uint32_t;
1115:   using ::uint64_t;
1115: 
1115:   using ::uint_fast8_t;
1115:   using ::uint_fast16_t;
1115:   using ::uint_fast32_t;
1115:   using ::uint_fast64_t;
1115: 
1115:   using ::uint_least8_t;
1115:   using ::uint_least16_t;
1115:   using ::uint_least32_t;
1115:   using ::uint_least64_t;
1115: 
1115:   using ::uintmax_t;
1115:   using ::uintptr_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 732 "/usr/include/c++/12/bits/char_traits.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<>
1115:     struct char_traits<char16_t>
1115:     {
1115:       typedef char16_t char_type;
1115: 
1115:       typedef uint_least16_t int_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef streamoff off_type;
1115:       typedef u16streampos pos_type;
1115:       typedef mbstate_t state_type;
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr void
1115:       assign(char_type& __c1, const char_type& __c2) noexcept
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  __c1 = __c2;
1115:       }
1115: 
1115:       static constexpr bool
1115:       eq(const char_type& __c1, const char_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr bool
1115:       lt(const char_type& __c1, const char_type& __c2) noexcept
1115:       { return __c1 < __c2; }
1115: 
1115:       static constexpr int
1115:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  for (size_t __i = 0; __i < __n; ++__i)
1115:    if (lt(__s1[__i], __s2[__i]))
1115:      return -1;
1115:    else if (lt(__s2[__i], __s1[__i]))
1115:      return 1;
1115:  return 0;
1115:       }
1115: 
1115:       static constexpr size_t
1115:       length(const char_type* __s)
1115:       {
1115:  size_t __i = 0;
1115:  while (!eq(__s[__i], char_type()))
1115:    ++__i;
1115:  return __i;
1115:       }
1115: 
1115:       static constexpr const char_type*
1115:       find(const char_type* __s, size_t __n, const char_type& __a)
1115:       {
1115:  for (size_t __i = 0; __i < __n; ++__i)
1115:    if (eq(__s[__i], __a))
1115:      return __s + __i;
1115:  return 0;
1115:       }
1115: 
1115:       static char_type*
1115:       move(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return (static_cast<char_type*>
1115:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1115:       }
1115: 
1115:       static char_type*
1115:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return (static_cast<char_type*>
1115:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1115:       }
1115: 
1115:       static char_type*
1115:       assign(char_type* __s, size_t __n, char_type __a)
1115:       {
1115:  for (size_t __i = 0; __i < __n; ++__i)
1115:    assign(__s[__i], __a);
1115:  return __s;
1115:       }
1115: 
1115:       static constexpr char_type
1115:       to_char_type(const int_type& __c) noexcept
1115:       { return char_type(__c); }
1115: 
1115:       static constexpr int_type
1115:       to_int_type(const char_type& __c) noexcept
1115:       { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
1115: 
1115:       static constexpr bool
1115:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr int_type
1115:       eof() noexcept
1115:       { return static_cast<int_type>(-1); }
1115: 
1115:       static constexpr int_type
1115:       not_eof(const int_type& __c) noexcept
1115:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1115:     };
1115: 
1115:   template<>
1115:     struct char_traits<char32_t>
1115:     {
1115:       typedef char32_t char_type;
1115: 
1115:       typedef uint_least32_t int_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef streamoff off_type;
1115:       typedef u32streampos pos_type;
1115:       typedef mbstate_t state_type;
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr void
1115:       assign(char_type& __c1, const char_type& __c2) noexcept
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  __c1 = __c2;
1115:       }
1115: 
1115:       static constexpr bool
1115:       eq(const char_type& __c1, const char_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr bool
1115:       lt(const char_type& __c1, const char_type& __c2) noexcept
1115:       { return __c1 < __c2; }
1115: 
1115:       static constexpr int
1115:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  for (size_t __i = 0; __i < __n; ++__i)
1115:    if (lt(__s1[__i], __s2[__i]))
1115:      return -1;
1115:    else if (lt(__s2[__i], __s1[__i]))
1115:      return 1;
1115:  return 0;
1115:       }
1115: 
1115:       static constexpr size_t
1115:       length(const char_type* __s)
1115:       {
1115:  size_t __i = 0;
1115:  while (!eq(__s[__i], char_type()))
1115:    ++__i;
1115:  return __i;
1115:       }
1115: 
1115:       static constexpr const char_type*
1115:       find(const char_type* __s, size_t __n, const char_type& __a)
1115:       {
1115:  for (size_t __i = 0; __i < __n; ++__i)
1115:    if (eq(__s[__i], __a))
1115:      return __s + __i;
1115:  return 0;
1115:       }
1115: 
1115:       static char_type*
1115:       move(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return (static_cast<char_type*>
1115:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1115:       }
1115: 
1115:       static char_type*
1115:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1115:       {
1115:  if (__n == 0)
1115:    return __s1;
1115: 
1115: 
1115: 
1115: 
1115:  return (static_cast<char_type*>
1115:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1115:       }
1115: 
1115:       static char_type*
1115:       assign(char_type* __s, size_t __n, char_type __a)
1115:       {
1115:  for (size_t __i = 0; __i < __n; ++__i)
1115:    assign(__s[__i], __a);
1115:  return __s;
1115:       }
1115: 
1115:       static constexpr char_type
1115:       to_char_type(const int_type& __c) noexcept
1115:       { return char_type(__c); }
1115: 
1115:       static constexpr int_type
1115:       to_int_type(const char_type& __c) noexcept
1115:       { return int_type(__c); }
1115: 
1115:       static constexpr bool
1115:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1115:       { return __c1 == __c2; }
1115: 
1115:       static constexpr int_type
1115:       eof() noexcept
1115:       { return static_cast<int_type>(-1); }
1115: 
1115:       static constexpr int_type
1115:       not_eof(const int_type& __c) noexcept
1115:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1115:     };
1115: # 998 "/usr/include/c++/12/bits/char_traits.h" 3
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: }
1115: # 41 "/usr/include/c++/12/string" 2 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/localefwd.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/localefwd.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/localefwd.h" 3
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 1 3
1115: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1115:        
1115: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/clocale" 1 3
1115: # 39 "/usr/include/c++/12/clocale" 3
1115:        
1115: # 40 "/usr/include/c++/12/clocale" 3
1115: 
1115: 
1115: # 1 "/usr/include/locale.h" 1 3 4
1115: # 28 "/usr/include/locale.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 29 "/usr/include/locale.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/locale.h" 1 3 4
1115: # 30 "/usr/include/locale.h" 2 3 4
1115: 
1115: e2: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:   template<typename> class auto_ptr;
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct default_delete
1412:     {
1412: 
1412:       constexpr default_delete() noexcept = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Up,
1412:         typename = _Require<is_convertible<_Up*, _Tp*>>>
1412: 
1412:         default_delete(const default_delete<_Up>&) noexcept { }
1412: 
1412: 
1412:      
1412:       void
1412:       operator()(_Tp* __ptr) const
1412:       {
1412:  static_assert(!is_void<_Tp>::value,
1412:         "can't delete pointer to incomplete type");
1412:  static_assert(sizeof(_Tp)>0,
1412:         "can't delete pointer to incomplete type");
1412:  delete __ptr;
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct default_delete<_Tp[]>
1412:     {
1412:     public:
1412: 
1412:       constexpr default_delete() noexcept = default;
1412: # 119 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Up,
1412:         typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>>
1412: 
1412:         default_delete(const default_delete<_Up[]>&) noexcept { }
1412: 
1412: 
1412:       template<typename _Up>
1412: 
1412:  typename enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type
1412:  operator()(_Up* __ptr) const
1412:  {
1412:    static_assert(sizeof(_Tp)>0,
1412:    "can't delete pointer to incomplete type");
1412:    delete [] __ptr;
1412:  }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename _Dp>
1412:     class __uniq_ptr_impl
1412:     {
1412:       template <typename _Up, typename _Ep, typename = void>
1412:  struct _Ptr
1412:  {
1412:    using type = _Up*;
1412:  };
1412: 
1412:       template <typename _Up, typename _Ep>
1412:  struct
1412:  _Ptr<_Up, _Ep, __void_t<typename remove_reference<_Ep>::type::pointer>>
1412:  {
1412:    using type = typename remove_reference<_Ep>::type::pointer;
1412:  };
1412: 
1412:     public:
1412:       using _DeleterConstraint = enable_if<
1412:         __and_<__not_<is_pointer<_Dp>>,
1412:         is_default_constructible<_Dp>>::value>;
1412: 
1412:       using pointer = typename _Ptr<_Tp, _Dp>::type;
1412: 
1412:       static_assert( !is_rvalue_reference<_Dp>::value,
1412:        "unique_ptr's deleter type must be a function object type"
1412:        " or an lvalue reference type" );
1412: 
1412:       __uniq_ptr_impl() = default;
1412:      
1412:       __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; }
1412: 
1412:       template<typename _Del>
1412: 
1412:  __uniq_ptr_impl(pointer __p, _Del&& __d)
1412:  : _M_t(__p, std::forward<_Del>(__d)) { }
1412: 
1412:      
1412:       __uniq_ptr_impl(__uniq_ptr_impl&& __u) noexcept
1412:       : _M_t(std::move(__u._M_t))
1412:       { __u._M_ptr() = nullptr; }
1412: 
1412:      
1412:       __uniq_ptr_impl& operator=(__uniq_ptr_impl&& __u) noexcept
1412:       {
1412:  reset(__u.release());
1412:  _M_deleter() = std::forward<_Dp>(__u._M_deleter());
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       pointer& _M_ptr() noexcept { return std::get<0>(_M_t); }
1412:      
1412:       pointer _M_ptr() const noexcept { return std::get<0>(_M_t); }
1412:      
1412:       _Dp& _M_deleter() noexcept { return std::get<1>(_M_t); }
1412:      
1412:       const _Dp& _M_deleter() const noexcept { return std::get<1>(_M_t); }
1412: 
1412:      
1412:       void reset(pointer __p) noexcept
1412:       {
1412:  const pointer __old_p = _M_ptr();
1412:  _M_ptr() = __p;
1412:  if (__old_p)
1412:    _M_deleter()(__old_p);
1412:       }
1412: 
1412:      
1412:       pointer release() noexcept
1412:       {
1412:  pointer __p = _M_ptr();
1412:  _M_ptr() = nullptr;
1412:  return __p;
1412:       }
1412: 
1412:      
1412:       void
1412:       swap(__uniq_ptr_impl& __rhs) noexcept
1412:       {
1412:  using std::swap;
1412:  swap(this->_M_ptr(), __rhs._M_ptr());
1412:  swap(this->_M_deleter(), __rhs._M_deleter());
1412:       }
1412: 
1412:     private:
1412:       tuple<pointer, _Dp> _M_t;
1412:     };
1412: 
1412: 
1412:   template <typename _Tp, typename _Dp,
1412:      bool = is_move_constructible<_Dp>::value,
1412:      bool = is_move_assignable<_Dp>::value>
1412:     struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp>
1412:     {
1412:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1412:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1412:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1412:     };
1412: 
1412:   template <typename _Tp, typename _Dp>
1412:     struct __uniq_ptr_data<_Tp, _Dp, true, false> : __uniq_ptr_impl<_Tp, _Dp>
1412:     {
1412:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1412:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1412:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1412:     };
1412: 
1412:   template <typename _Tp, typename _Dp>
1412:     struct __uniq_ptr_data<_Tp, _Dp, false, true> : __uniq_ptr_impl<_Tp, _Dp>
1412:     {
1412:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1412:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1412:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1412:     };
1412: 
1412:   template <typename _Tp, typename _Dp>
1412:     struct __uniq_ptr_data<_Tp, _Dp, false, false> : __uniq_ptr_impl<_Tp, _Dp>
1412:     {
1412:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1412:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1412:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename _Dp = default_delete<_Tp>>
1412:     class unique_ptr
1412:     {
1412:       template <typename _Up>
1412:  using _DeleterConstraint =
1412:    typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1412: 
1412:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1412: 
1412:     public:
1412:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1412:       using element_type = _Tp;
1412:       using deleter_type = _Dp;
1412: 
1412:     private:
1412: 
1412: 
1412:       template<typename _Up, typename _Ep>
1412:  using __safe_conversion_up = __and_<
1412:    is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>,
1412:    __not_<is_array<_Up>>
1412:         >;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1412:  constexpr unique_ptr() noexcept
1412:  : _M_t()
1412:  { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1412: 
1412:  explicit
1412:  unique_ptr(pointer __p) noexcept
1412:  : _M_t(__p)
1412:         { }
1412: # 320 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Del = deleter_type,
1412:         typename = _Require<is_copy_constructible<_Del>>>
1412: 
1412:  unique_ptr(pointer __p, const deleter_type& __d) noexcept
1412:  : _M_t(__p, __d) { }
1412: # 333 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Del = deleter_type,
1412:         typename = _Require<is_move_constructible<_Del>>>
1412: 
1412:  unique_ptr(pointer __p,
1412:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1412:      _Del&&> __d) noexcept
1412:  : _M_t(__p, std::move(__d))
1412:  { }
1412: 
1412:       template<typename _Del = deleter_type,
1412:         typename _DelUnref = typename remove_reference<_Del>::type>
1412: 
1412:  unique_ptr(pointer,
1412:      __enable_if_t<is_lvalue_reference<_Del>::value,
1412:      _DelUnref&&>) = delete;
1412: 
1412: 
1412:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1412:  constexpr unique_ptr(nullptr_t) noexcept
1412:  : _M_t()
1412:  { }
1412: 
1412: 
1412: 
1412: 
1412:       unique_ptr(unique_ptr&&) = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Up, typename _Ep, typename = _Require<
1412:xtern "C" {
1115: # 51 "/usr/include/locale.h" 3 4
1115: struct lconv
1115: {
1115: 
1115: 
1115:   char *decimal_point;
1115:   char *thousands_sep;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   char *grouping;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   char *int_curr_symbol;
1115:   char *currency_symbol;
1115:   char *mon_decimal_point;
1115:   char *mon_thousands_sep;
1115:   char *mon_grouping;
1115:   char *positive_sign;
1115:   char *negative_sign;
1115:   char int_frac_digits;
1115:   char frac_digits;
1115: 
1115:   char p_cs_precedes;
1115: 
1115:   char p_sep_by_space;
1115: 
1115:   char n_cs_precedes;
1115: 
1115:   char n_sep_by_space;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   char p_sign_posn;
1115:   char n_sign_posn;
1115: 
1115: 
1115:   char int_p_cs_precedes;
1115: 
1115:   char int_p_sep_by_space;
1115: 
1115:   char int_n_cs_precedes;
1115: 
1115:   char int_n_sep_by_space;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   char int_p_sign_posn;
1115:   char int_n_sign_posn;
1115: # 118 "/usr/include/locale.h" 3 4
1115: };
1115: 
1115: 
1115: 
1115: extern char *setlocale (int __category, const char *__locale) noexcept (true);
1115: 
1115: 
1115: extern struct lconv *localeconv (void) noexcept (true);
1115: # 141 "/usr/include/locale.h" 3 4
1115: extern locale_t newlocale (int __category_mask, const char *__locale,
1115:       locale_t __base) noexcept (true);
1115: # 176 "/usr/include/locale.h" 3 4
1115: extern locale_t duplocale (locale_t __dataset) noexcept (true);
1115: 
1115: 
1115: 
1115: extern void freelocale (locale_t __dataset) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern locale_t uselocale (locale_t __dataset) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 43 "/usr/include/c++/12/clocale" 2 3
1115: # 51 "/usr/include/c++/12/clocale" 3
1115: namespace std
1115: {
1115:   using ::lconv;
1115:   using ::setlocale;
1115:   using ::localeconv;
1115: }
1115: # 42 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   extern "C" __typeof(uselocale) __uselocale;
1115: 
1115: 
1115: }
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   typedef __locale_t __c_locale;
1115: # 73 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1115:   inline int
1115:   __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
1115:      char* __out,
1115:      const int __size __attribute__ ((__unused__)),
1115:      const char* __fmt, ...)
1115:   {
1115: 
1115:     __c_locale __old = __gnu_cxx::__uselocale(__cloc);
1115: # 93 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1115:     __builtin_va_list __args;
1115:     __builtin_va_start(__args, __fmt);
1115: 
1115: 
1115:     const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
1115: 
1115: 
1115: 
1115: 
1115:     __builtin_va_end(__args);
1115: 
1115: 
1115:     __gnu_cxx::__uselocale(__old);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     return __ret;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 41 "/usr/include/c++/12/bits/localefwd.h" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/cctype" 1 3
1115: # 39 "/usr/include/c++/12/cctype" 3
1115:        
1115: # 40 "/usr/include/c++/12/cctype" 3
1115: 
1115: 
1115: # 1 "/usr/include/ctype.h" 1 3 4
1115: # 28 "/usr/include/ctype.h" 3 4
1115: extern "C" {
1115: # 46 "/usr/include/ctype.h" 3 4
1115: enum
1115: {
1115:   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
1115:   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
1115:   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
1115:   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
1115:   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
1115:   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
1115:   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
1115:   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
1115:   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
1115:   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
1115:   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
1115:   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
1115: };
1115: # 79 "/usr/include/ctype.h" 3 4
1115: extern const unsigned short int **__ctype_b_loc (void)
1115:      noexcept (true) __attribute__ ((__const__));
1115: extern const __int32_t **__ctype_tolower_loc (void)
1115:      noexcept (true) __attribute__ ((__const__));
1115: extern const __int32_t **__ctype_toupper_loc (void)
1115:      noexcept (true) __attribute__ ((__const__));
1115: # 108 "/usr/include/ctype.h" 3 4
1115: extern int isalnum (int) noexcept (true);
1115: extern int isalpha (int) noexcept (true);
1115: extern int iscntrl (int) noexcept (true);
1115: extern int isdigit (int) noexcept (true);
1115: extern int islower (int) noexcept (true);
1115: extern int isgraph (int) noexcept (true);
1115: extern int isprint (int) noexcept (true);
1115: extern int ispunct (int) noexcept (true);
1115: extern int isspace (int) noexcept (true);
1115: extern int isupper (int) noexcept (true);
1115: extern int isxdigit (int) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int tolower (int __c) noexcept (true);
1115: 
1115: 
1115: extern int toupper (int __c) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int isblank (int) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int isctype (int __c, int __mask) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int isascii (int __c) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int toascii (int __c) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int _toupper (int) noexcept (true);
1115: extern int _tolower (int) noexcept (true);
1115: # 251 "/usr/include/ctype.h" 3 4
1115: extern int isalnum_l (int, locale_t) noexcept (true);
1115: extern int isalpha_l (int, locale_t) noexcept (true);
1115: extern int iscntrl_l (int, locale_t) noexcept (true);
1115: extern int isdigit_l (int, locale_t) noexcept (true);
1115: extern int islower_l (int, locale_t) noexcept (true);
1115: extern int isgraph_l (int, locale_t) noexcept (true);
1115: extern int isprint_l (int, locale_t) noexcept (true);
1115: extern int ispunct_l (int, locale_t) noexcept (true);
1115: extern int isspace_l (int, locale_t) noexcept (true);
1115: extern int isupper_l (int, locale_t) noexcept (true);
1115: extern int isxdigit_l (int, locale_t) noexcept (true);
1115: 
1115: extern int isblank_l (int, locale_t) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int __tolower_l (int __c, locale_t __l) noexcept (true);
1115: extern int tolower_l (int __c, locale_t __l) noexcept (true);
1115: 
1115: 
1115: extern int __toupper_l (int __c, locale_t __l) noexcept (true);
1115: extern int toupper_l (int __c, locale_t __l) noexcept (true);
1115: # 327 "/usr/include/ctype.h" 3 4
1115: }
1115: # 43 "/usr/include/c++/12/cctype" 2 3
1115: # 62 "/usr/include/c++/12/cctype" 3
1115: namespace std
1115: {
1115:   using ::isalnum;
1115:   using ::isalpha;
1115:   using ::iscntrl;
1115:   using ::isdigit;
1115:   using ::isgraph;
1115:   using ::islower;
1115:   using ::isprint;
1115:   using ::ispunct;
1115:   using ::isspace;
1115:   using ::isupper;
1115:   using ::isxdigit;
1115:   using ::tolower;
1115:   using ::toupper;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std
1115: {
1115:   using ::isblank;
1115: }
1115: # 43 "/usr/include/c++/12/bits/localefwd.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 55 "/usr/include/c++/12/bits/localefwd.h" 3
1115:   class locale;
1115: 
1115:   template<typename _Facet>
1115:     bool
1115:     has_facet(const locale&) throw();
1115: 
1115:   template<typename _Facet>
1115:     const _Facet&
1115:     use_facet(const locale&);
1115: 
1115: 
1115:   template<typename _CharT>
1115                __safe_conversion_up<_Up, _Ep>,
1412:         __conditional_t<is_reference<_Dp>::value,
1412:           is_same<_Ep, _Dp>,
1412:           is_convertible<_Ep, _Dp>>>>
1412: 
1412:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1412:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1412:  { }
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412:       template<typename _Up, typename = _Require<
1412:         is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>>
1412:  unique_ptr(auto_ptr<_Up>&& __u) noexcept;
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~unique_ptr() noexcept
1412:       {
1412:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1412:         "unique_ptr's deleter must be invocable with a pointer");
1412:  auto& __ptr = _M_t._M_ptr();
1412:  if (__ptr != nullptr)
1412:    get_deleter()(std::move(__ptr));
1412:  __ptr = pointer();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unique_ptr& operator=(unique_ptr&&) = default;
1412: # 415 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Up, typename _Ep>
1412: 
1412:         typename enable_if< __and_<
1412:           __safe_conversion_up<_Up, _Ep>,
1412:           is_assignable<deleter_type&, _Ep&&>
1412:           >::value,
1412:           unique_ptr&>::type
1412:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1412:  {
1412:    reset(__u.release());
1412:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1412:    return *this;
1412:  }
1412: 
1412: 
1412:      
1412:       unique_ptr&
1412:       operator=(nullptr_t) noexcept
1412:       {
1412:  reset();
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       typename add_lvalue_reference<element_type>::type
1412:       operator*() const noexcept(noexcept(*std::declval<pointer>()))
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1412:  return *get();
1412:       }
1412: 
1412: 
1412:      
1412:       pointer
1412:       operator->() const noexcept
1412:       {
1412:  ;
1412:  return get();
1412:       }
1412: 
1412: 
1412:      
1412:       pointer
1412:       get() const noexcept
1412:       { return _M_t._M_ptr(); }
1412: 
1412: 
1412:      
1412:       deleter_type&
1412:       get_deleter() noexcept
1412:       { return _M_t._M_deleter(); }
1412: 
1412: 
1412:      
1412:       const deleter_type&
1412:       get_deleter() const noexcept
1412:       { return _M_t._M_deleter(); }
1412: 
1412: 
1412:      
1412:       explicit operator bool() const noexcept
1412:       { return get() == pointer() ? false : true; }
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       pointer
1412:       release() noexcept
1412:       { return _M_t.release(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       reset(pointer __p = pointer()) noexcept
1412:       {
1412:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1412:         "unique_ptr's deleter must be invocable with a pointer");
1412:  _M_t.reset(std::move(__p));
1412:       }
1412: 
1412: 
1412:      
1412:       void
1412:       swap(unique_ptr& __u) noexcept
1412:       {
1412:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1412:  _M_t.swap(__u._M_t);
1412:       }
1412: 
1412: 
1412:       unique_ptr(const unique_ptr&) = delete;
1412:       unique_ptr& operator=(const unique_ptr&) = delete;
1412:   };
1412: # 526 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:   template<typename _Tp, typename _Dp>
1412:     class unique_ptr<_Tp[], _Dp>
1412:     {
1412:       template <typename _Up>
1412:       using _DeleterConstraint =
1412:  typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1412: 
1412:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1412: 
1412:       template<typename _Up>
1412:  using __remove_cv = typename remove_cv<_Up>::type;
1412: 
1412: 
1412:       template<typename _Up>
1412:  using __is_derived_Tp
1412:    = __and_< is_base_of<_Tp, _Up>,
1412:       __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >;
1412: 
1412:     public:
1412:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1412:       using element_type = _Tp;
1412:       using deleter_type = _Dp;
1412: 
1412: 
1412: 
1412:       template<typename _Up, typename _Ep,
1412:                typename _UPtr = unique_ptr<_Up, _Ep>,
1412:         typename _UP_pointer = typename _UPtr::pointer,
1412:         typename _UP_element_type = typename _UPtr::element_type>
1412:  using __safe_conversion_up = __and_<
1412:           is_array<_Up>,
1412:           is_same<pointer, element_type*>,
1412:           is_same<_UP_pointer, _UP_element_type*>,
1412:           is_convertible<_UP_element_type(*)[], element_type(*)[]>
1412:         >;
1412: 
1412: 
1412:       template<typename _Up>
1412:         using __safe_conversion_raw = __and_<
1412:           __or_<__or_<is_same<_Up, pointer>,
1412:                       is_same<_Up, nullptr_t>>,
1412:                 __and_<is_pointer<_Up>,
1412:                        is_same<pointer, element_type*>,
1412:                        is_convertible<
1412:                          typename remove_pointer<_Up>::type(*)[],
1412:                          element_type(*)[]>
1412:                 >
1412:           >
1412:         >;
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1412:  constexpr unique_ptr() noexcept
1412:  : _M_t()
1412:  { }
1412: # 591 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Up,
1412:         typename _Vp = _Dp,
1412:         typename = _DeleterConstraint<_Vp>,
1412:         typename = typename enable_if<
1412:                  __safe_conversion_raw<_Up>::value, bool>::type>
1412: 
1412:  explicit
1412:  unique_ptr(_Up __p) noexcept
1412:  : _M_t(__p)
1412:         { }
1412: # 610 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Up, typename _Del = deleter_type,
1412:         typename = _Require<__safe_conversion_raw<_Up>,
1412:        is_copy_constructible<_Del>>>
1412: 
1412:  unique_ptr(_Up __p, const deleter_type& __d) noexcept
1412:  : _M_t(__p, __d) { }
1412: # 625 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Up, typename _Del = deleter_type,
1412:         typename = _Require<__safe_conversion_raw<_Up>,
1412:        is_move_constructible<_Del>>>
1412: 
1412:  unique_ptr(_Up __p,
1412:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1412:      _Del&&> __d) noexcept
1412:  : _M_t(std::move(__p), std::move(__d))
1412:  { }
1412: 
1412:       template<typename _Up, typename _Del = deleter_type,
1412:         typename _DelUnref = typename remove_reference<_Del>::type,
1412:         typename = _Require<__safe_conversion_raw<_Up>>>
1412:  unique_ptr(_Up,
1412:      __enable_if_t<is_lvalue_reference<_Del>::value,
1412:      _DelUnref&&>) = delete;
1412: 
1412: 
1412:       unique_ptr(unique_ptr&&) = default;
1412: 
1412: 
1412:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1412:  constexpr unique_ptr(nullptr_t) noexcept
1412:  : _M_t()
1412:         { }
1412: 
1412:       template<typename _Up, typename _Ep, typename = _Require<
1412:         __safe_conversion_up<_Up, _Ep>,
1412:         __conditional_t<is_reference<_Dp>::value,
1412:           is_same<_Ep, _Dp>,
1412:           is_convertible<_Ep, _Dp>>>>
1412: 
1412:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1412:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1412:  { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~unique_ptr()
1412:       {
1412:  auto& __ptr = _M_t._M_ptr();
1412:  if (__ptr != nullptr)
1412:    get_deleter()(__ptr);
1412:  __ptr = pointer();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unique_ptr&
1412:       operator=(unique_ptr&&) = default;
1412: # 689 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:       template<typename _Up, type:     bool
1115:     isspace(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isprint(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     iscntrl(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isupper(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     islower(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isalpha(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isdigit(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     ispunct(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isxdigit(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isalnum(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isgraph(_CharT, const locale&);
1115: 
1115: 
1115:   template<typename _CharT>
1115:     bool
1115:     isblank(_CharT, const locale&);
1115: 
1115: 
1115:   template<typename _CharT>
1115:     _CharT
1115:     toupper(_CharT, const locale&);
1115: 
1115:   template<typename _CharT>
1115:     _CharT
1115:     tolower(_CharT, const locale&);
1115: 
1115: 
1115:   struct ctype_base;
1115:   template<typename _CharT>
1115:     class ctype;
1115:   template<> class ctype<char>;
1115: 
1115:   template<> class ctype<wchar_t>;
1115: 
1115:   template<typename _CharT>
1115:     class ctype_byname;
1115: 
1115: 
1115:   class codecvt_base;
1115:   template<typename _InternT, typename _ExternT, typename _StateT>
1115:     class codecvt;
1115:   template<> class codecvt<char, char, mbstate_t>;
1115: 
1115:   template<> class codecvt<wchar_t, char, mbstate_t>;
1115: 
1115: 
1115:   template<> class codecvt<char16_t, char, mbstate_t>;
1115:   template<> class codecvt<char32_t, char, mbstate_t>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InternT, typename _ExternT, typename _StateT>
1115:     class codecvt_byname;
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1115:     class num_get;
1115:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1115:     class num_put;
1115: 
1115: namespace __cxx11 {
1115:   template<typename _CharT> class numpunct;
1115:   template<typename _CharT> class numpunct_byname;
1115: }
1115: 
1115: namespace __cxx11 {
1115: 
1115:   template<typename _CharT>
1115:     class collate;
1115:   template<typename _CharT>
1115:     class collate_byname;
1115: }
1115: 
1115: 
1115:   class time_base;
1115: namespace __cxx11 {
1115:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1115:     class time_get;
1115:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1115:     class time_get_byname;
1115: }
1115:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1115:     class time_put;
1115:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1115:     class time_put_byname;
1115: 
1115: 
1115:   class money_base;
1115: namespace __cxx11 {
1115:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1115:     class money_get;
1115:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1115:     class money_put;
1115: }
1115: namespace __cxx11 {
1115:   template<typename _CharT, bool _Intl = false>
1115:     class moneypunct;
1115:   template<typename _CharT, bool _Intl = false>
1115:     class moneypunct_byname;
1115: }
1115: 
1115: 
1115:   struct messages_base;
1115: namespace __cxx11 {
1115:   template<typename _CharT>
1115:     class messages;
1115:   template<typename _CharT>
1115:     class messages_byname;
1115: }
1115: 
1115: 
1115: }
1115: # 44 "/usr/include/c++/12/string" 2 3
1115: # 1 "/usr/include/c++/12/bits/ostream_insert.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/ostream_insert.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/ostream_insert.h" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/cxxabi_forced.h" 1 3
1115: # 34 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1115:        
1115: # 35 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115: namespace __cxxabiv1
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class __forced_unwind
1115:   {
1115:     virtual ~__forced_unwind() throw();
1115: 
1115: 
1115:     virtual void __pure_dummy() = 0;
1115:   };
1115: }
1115: 
1115: 
1115: #pragma GCC visibility pop
1115: # 37 "/usr/include/c++/12/bits/ostream_insert.h" 2 3
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     inline void
1115:     __ostream_write(basic_ostream<_CharT, _Traits>& __out,
1115:       const _CharT* __s, streamsize __n)
1115:     {
1115:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1115:       typedef typename __ostream_type::ios_base __ios_base;
1115: 
1115:       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
1115:       if (__put != __n)
1115:  __out.setstate(__ios_base::badbit);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     inline void
1115:     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
1115:     {
1115:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1115:       typedef typename __ostream_type::ios_base __ios_base;
1115: 
1115:       const _CharT __c = __out.fill();
1115:       for (; __n > 0; --__n)
1115:  {
1115:    const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
1115:    if (_Traits::eq_int_type(__put, _Traits::eof()))
1115:      {
1115:        __out.setstate(__ios_base::badbit);
1115:        break;
1115:      }
1115:  }
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
1115:        const _CharT* __s, streamsize __n)
1115:     {
1115:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1115:       typedef typename __ostream_type::ios_base __ios_base;
1115: 
1115:       typename __ostream_type::sentry __cerb(__out);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115:        const streamsize __w = __out.width();
1115:        if (__w > __n)
1115:   {
1115:     const bool __left = ((__out.flags()
1115:      & __ios_base::adjustfield)
1115:            == __ios_base::left);
1115:     if (!__left)
1115:       __ostream_fill(__out, __w - __n);
1115:     if (__out.good())
1115:       __ostream_write(__out, __s, __n);
1115:     if (__left && __out.good())
1115:       __ostream_fill(__out, __w - __n);
1115:   }
1115:        else
1115:   __ostream_write(__out, __s, __n);
1115:        __out.width(0);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        __out._M_setstate(__ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { __out._M_setstate(__ios_base::badbit); }
1115:  }
1115:       return __out;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
1115: 
1115: 
1115:   extern template wostream& __ostream_insert(wostream&, const wchar_t*,
1115:           streamsize);
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 45 "/usr/include/c++/12/string" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/range_access.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/range_access.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/range_access.h" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/initializer_list" 1 3
1115: # 33 "/usr/include/c++/12/initializer_list" 3
1115:        
1115: # 34 "/usr/include/c++/12/initializer_list" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: #pragma GCC visibility push(default)
1115: 
1115: 
1115: 
1115: namespace std
111name _Ep>
1412: 
1412:  typename
1412:  enable_if<__and_<__safe_conversion_up<_Up, _Ep>,
1412:                          is_assignable<deleter_type&, _Ep&&>
1412:                   >::value,
1412:                   unique_ptr&>::type
1412:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1412:  {
1412:    reset(__u.release());
1412:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1412:    return *this;
1412:  }
1412: 
1412: 
1412:      
1412:       unique_ptr&
1412:       operator=(nullptr_t) noexcept
1412:       {
1412:  reset();
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       typename std::add_lvalue_reference<element_type>::type
1412:       operator[](size_t __i) const
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1412:  return get()[__i];
1412:       }
1412: 
1412: 
1412:      
1412:       pointer
1412:       get() const noexcept
1412:       { return _M_t._M_ptr(); }
1412: 
1412: 
1412:      
1412:       deleter_type&
1412:       get_deleter() noexcept
1412:       { return _M_t._M_deleter(); }
1412: 
1412: 
1412:      
1412:       const deleter_type&
1412:       get_deleter() const noexcept
1412:       { return _M_t._M_deleter(); }
1412: 
1412: 
1412:      
1412:       explicit operator bool() const noexcept
1412:       { return get() == pointer() ? false : true; }
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       pointer
1412:       release() noexcept
1412:       { return _M_t.release(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template <typename _Up,
1412:                 typename = _Require<
1412:                   __or_<is_same<_Up, pointer>,
1412:                         __and_<is_same<pointer, element_type*>,
1412:                                is_pointer<_Up>,
1412:                                is_convertible<
1412:                                  typename remove_pointer<_Up>::type(*)[],
1412:                                  element_type(*)[]
1412:                                >
1412:                         >
1412:                   >
1412:                >>
1412:      
1412:       void
1412:       reset(_Up __p) noexcept
1412:       { _M_t.reset(std::move(__p)); }
1412: 
1412:      
1412:       void reset(nullptr_t = nullptr) noexcept
1412:       { reset(pointer()); }
1412: 
1412: 
1412:      
1412:       void
1412:       swap(unique_ptr& __u) noexcept
1412:       {
1412:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1412:  _M_t.swap(__u._M_t);
1412:       }
1412: 
1412: 
1412:       unique_ptr(const unique_ptr&) = delete;
1412:       unique_ptr& operator=(const unique_ptr&) = delete;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     inline
1412: 
1412: 
1412:    
1412:     typename enable_if<__is_swappable<_Dp>::value>::type
1412: 
1412: 
1412: 
1412:     swap(unique_ptr<_Tp, _Dp>& __x,
1412:   unique_ptr<_Tp, _Dp>& __y) noexcept
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     typename enable_if<!__is_swappable<_Dp>::value>::type
1412:     swap(unique_ptr<_Tp, _Dp>&,
1412:   unique_ptr<_Tp, _Dp>&) = delete;
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp,
1412:     typename _Up, typename _Ep>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(const unique_ptr<_Tp, _Dp>& __x,
1412:         const unique_ptr<_Up, _Ep>& __y)
1412:     { return __x.get() == __y.get(); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1412:     { return !__x; }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1412:     { return !__x; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp,
1412:     typename _Up, typename _Ep>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const unique_ptr<_Tp, _Dp>& __x,
1412:         const unique_ptr<_Up, _Ep>& __y)
1412:     { return __x.get() != __y.get(); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1412:     { return (bool)__x; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1412:     { return (bool)__x; }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp,
1412:     typename _Up, typename _Ep>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(const unique_ptr<_Tp, _Dp>& __x,
1412:        const unique_ptr<_Up, _Ep>& __y)
1412:     {
1412:       typedef typename
1412:  std::common_type<typename unique_ptr<_Tp, _Dp>::pointer,
1412:                   typename unique_ptr<_Up, _Ep>::pointer>::type _CT;
1412:       return std::less<_CT>()(__x.get(), __y.get());
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1412:     {
1412:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1412:          nullptr);
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1412:     {
1412:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1412:          __x.get());
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp,
1412:     typename _Up, typename _Ep>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(const unique_ptr<_Tp, _Dp>& __x,
1412:         const unique_ptr<_Up, _Ep>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1412:     { return !(nullptr < __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1412:     { return !(__x < nullptr); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp,
1412:     typename _Up, typename _Ep>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(const unique_ptr<_Tp, _Dp>& __x,
1412:        const unique_ptr<_Up, _Ep>& __y)
1412:     { return (__y < __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1412:     {
1412:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1412:          __x.get());
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1412:     {
1412:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1412:          nullptr);
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp,
1412:     typename _Up, typename _Ep>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>=(const unique_ptr<_Tp, _Dp>& __x,
1412:         const unique_ptr<_Up, _Ep>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1412:     { return !(__x < nullptr); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     [[__nodiscard__]] inline bool
1412:     operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1412:     { return !(nullptr < __x); }
1412: # 1001 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:   te5: {
1115: 
1115:   template<class _E>
1115:     class initializer_list
1115:     {
1115:     public:
1115:       typedef _E value_type;
1115:       typedef const _E& reference;
1115:       typedef const _E& const_reference;
1115:       typedef size_t size_type;
1115:       typedef const _E* iterator;
1115:       typedef const _E* const_iterator;
1115: 
1115:     private:
1115:       iterator _M_array;
1115:       size_type _M_len;
1115: 
1115: 
1115:       constexpr initializer_list(const_iterator __a, size_type __l)
1115:       : _M_array(__a), _M_len(__l) { }
1115: 
1115:     public:
1115:       constexpr initializer_list() noexcept
1115:       : _M_array(0), _M_len(0) { }
1115: 
1115: 
1115:       constexpr size_type
1115:       size() const noexcept { return _M_len; }
1115: 
1115: 
1115:       constexpr const_iterator
1115:       begin() const noexcept { return _M_array; }
1115: 
1115: 
1115:       constexpr const_iterator
1115:       end() const noexcept { return begin() + size(); }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<class _Tp>
1115:     constexpr const _Tp*
1115:     begin(initializer_list<_Tp> __ils) noexcept
1115:     { return __ils.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<class _Tp>
1115:     constexpr const _Tp*
1115:     end(initializer_list<_Tp> __ils) noexcept
1115:     { return __ils.end(); }
1115: }
1115: 
1115: #pragma GCC visibility pop
1115: # 37 "/usr/include/c++/12/bits/range_access.h" 2 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     begin(_Container& __cont) -> decltype(__cont.begin())
1115:     { return __cont.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     begin(const _Container& __cont) -> decltype(__cont.begin())
1115:     { return __cont.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     end(_Container& __cont) -> decltype(__cont.end())
1115:     { return __cont.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     end(const _Container& __cont) -> decltype(__cont.end())
1115:     { return __cont.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:     [[__nodiscard__]]
1115:     inline constexpr _Tp*
1115:     begin(_Tp (&__arr)[_Nm]) noexcept
1115:     { return __arr; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:     [[__nodiscard__]]
1115:     inline constexpr _Tp*
1115:     end(_Tp (&__arr)[_Nm]) noexcept
1115:     { return __arr + _Nm; }
1115: 
1115: 
1115: 
1115:   template<typename _Tp> class valarray;
1115: 
1115:   template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
1115:   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
1115:   template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
1115:   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     constexpr auto
1115:     cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
1115:       -> decltype(std::begin(__cont))
1115:     { return std::begin(__cont); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     constexpr auto
1115:     cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
1115:       -> decltype(std::end(__cont))
1115:     { return std::end(__cont); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     rbegin(_Container& __cont) -> decltype(__cont.rbegin())
1115:     { return __cont.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     rbegin(const _Container& __cont) -> decltype(__cont.rbegin())
1115:     { return __cont.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     rend(_Container& __cont) -> decltype(__cont.rend())
1115:     { return __cont.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     rend(const _Container& __cont) -> decltype(__cont.rend())
1115:     { return __cont.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:     [[__nodiscard__]]
1115:     inline constexpr reverse_iterator<_Tp*>
1115:     rbegin(_Tp (&__arr)[_Nm]) noexcept
1115:     { return reverse_iterator<_Tp*>(__arr + _Nm); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:     [[__nodiscard__]]
1115:     inline constexpr reverse_iterator<_Tp*>
1115:     rend(_Tp (&__arr)[_Nm]) noexcept
1115:     { return reverse_iterator<_Tp*>(__arr); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]]
1115:     inline constexpr reverse_iterator<const _Tp*>
1115:     rbegin(initializer_list<_Tp> __il) noexcept
1115:     { return reverse_iterator<const _Tp*>(__il.end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[__nodiscard__]]
1115:     inline constexpr reverse_iterator<const _Tp*>
1115:     rend(initializer_list<_Tp> __il) noexcept
1115:     { return reverse_iterator<const _Tp*>(__il.begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont))
1115:     { return std::rbegin(__cont); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Container>
1115:     [[__nodiscard__]]
1115:     inline constexpr auto
1115:     crend(const _Container& __cont) -> decltype(std::rend(__cont))
1115:     { return std::rend(__cont); }
1115: # 261 "/usr/include/c++/12/bits/range_access.h" 3
1115:   template <typename _Container>
1115:     [[nodiscard]]
1115:     constexpr auto
1115:     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
1115:     -> decltype(__cont.size())
1115:     { return __cont.size(); }
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, size_t _Nm>
1115:     [[nodiscard]]
1115:     constexpr size_t
1115:     size(const _Tp (&)[_Nm]) noexcept
1115:     { return _Nm; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Container>
1115:     [[nodiscard]] constexpr auto
1115:     empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
1115:     -> decltype(__cont.empty())
1115:     { return __cont.empty(); }
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, size_t _Nm>
1115:     [[nodiscard]] constexpr bool
1115:     empty(const _Tp (&)[_Nm]) noexcept
1115:     { return false; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp>
1115:     [[nodiscard]] constexpr bool
1115:     empty(initializer_list<_Tp> __il) noexcept
1115:     { return __il.size() == 0;}
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Container>
1115:     [[nodiscard]]
1115:     constexpr auto
1115:     data(_Container& __cont) noexcept(noexcept(__cont.data()))
1115:     -> decltype(__cont.data())
1115:     { return __cont.data(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Container>
1115:     [[nodiscard]]
1115:     constexpr auto
1115:     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
1115:     -> decltype(__cont.data())
1115:     { return __cont.data()mplate<typename _Up, typename _Ptr = typename _Up::pointer,
1412:     bool = __poison_hash<_Ptr>::__enable_hash_call>
1412:     struct __uniq_ptr_hash
1412: 
1412:     : private __poison_hash<_Ptr>
1412: 
1412:     {
1412:       size_t
1412:       operator()(const _Up& __u) const
1412:       noexcept(noexcept(std::declval<hash<_Ptr>>()(std::declval<_Ptr>())))
1412:       { return hash<_Ptr>()(__u.get()); }
1412:     };
1412: 
1412:   template<typename _Up, typename _Ptr>
1412:     struct __uniq_ptr_hash<_Up, _Ptr, false>
1412:     : private __poison_hash<_Ptr>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:     struct hash<unique_ptr<_Tp, _Dp>>
1412:     : public __hash_base<size_t, unique_ptr<_Tp, _Dp>>,
1412:       public __uniq_ptr_hash<unique_ptr<_Tp, _Dp>>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace __detail
1412: {
1412:   template<typename _Tp>
1412:     struct _MakeUniq
1412:     { typedef unique_ptr<_Tp> __single_object; };
1412: 
1412:   template<typename _Tp>
1412:     struct _MakeUniq<_Tp[]>
1412:     { typedef unique_ptr<_Tp[]> __array; };
1412: 
1412:   template<typename _Tp, size_t _Bound>
1412:     struct _MakeUniq<_Tp[_Bound]>
1412:     { struct __invalid_type { }; };
1412: 
1412:   template<typename _Tp>
1412:     using __unique_ptr_t = typename _MakeUniq<_Tp>::__single_object;
1412:   template<typename _Tp>
1412:     using __unique_ptr_array_t = typename _MakeUniq<_Tp>::__array;
1412:   template<typename _Tp>
1412:     using __invalid_make_unique_t = typename _MakeUniq<_Tp>::__invalid_type;
1412: }
1412: # 1061 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:   template<typename _Tp, typename... _Args>
1412:    
1412:     inline __detail::__unique_ptr_t<_Tp>
1412:     make_unique(_Args&&... __args)
1412:     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
1412: # 1076 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:   template<typename _Tp>
1412:    
1412:     inline __detail::__unique_ptr_array_t<_Tp>
1412:     make_unique(size_t __num)
1412:     { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename... _Args>
1412:     __detail::__invalid_make_unique_t<_Tp>
1412:     make_unique(_Args&&...) = delete;
1412: # 1149 "/usr/include/c++/12/bits/unique_ptr.h" 3
1412:   namespace __detail::__variant
1412:   {
1412:     template<typename> struct _Never_valueless_alt;
1412: 
1412: 
1412: 
1412:     template<typename _Tp, typename _Del>
1412:       struct _Never_valueless_alt<std::unique_ptr<_Tp, _Del>>
1412:       : std::true_type
1412:       { };
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: # 77 "/usr/include/c++/12/memory" 2 3
1412: # 1 "/usr/include/c++/12/bits/shared_ptr.h" 1 3
1412: # 53 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412: # 1 "/usr/include/c++/12/bits/shared_ptr_base.h" 1 3
1412: # 52 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412: # 1 "/usr/include/c++/12/typeinfo" 1 3
1412: # 32 "/usr/include/c++/12/typeinfo" 3
1412:        
1412: # 33 "/usr/include/c++/12/typeinfo" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" {
1412: 
1412: namespace __cxxabiv1
1412: {
1412:   class __class_type_info;
1412: }
1412: # 84 "/usr/include/c++/12/typeinfo" 3
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class type_info
1412:   {
1412:   public:
1412: 
1412: 
1412: 
1412: 
1412:     virtual ~type_info();
1412: 
1412: 
1412: 
1412:     const char* name() const noexcept
1412:     { return __name[0] == '*' ? __name + 1 : __name; }
1412: 
1412: 
1412: 
1412:     bool before(const type_info& __arg) const noexcept;
1412: 
1412:    
1412:     bool operator==(const type_info& __arg) const noexcept;
1412: 
1412: 
1412:     bool operator!=(const type_info& __arg) const noexcept
1412:     { return !operator==(__arg); }
1412: 
1412: 
1412: 
1412:     size_t hash_code() const noexcept
1412:     {
1412: 
1412:       return _Hash_bytes(name(), __builtin_strlen(name()),
1412:     static_cast<size_t>(0xc70f6907UL));
1412: 
1412: 
1412: 
1412:     }
1412: 
1412: 
1412: 
1412:     virtual bool __is_pointer_p() const;
1412: 
1412: 
1412:     virtual bool __is_function_p() const;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
1412:        unsigned __outer) const;
1412: 
1412: 
1412:     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
1412:         void **__obj_ptr) const;
1412: 
1412:   protected:
1412:     const char *__name;
1412: 
1412:     explicit type_info(const char *__n): __name(__n) { }
1412: 
1412:   private:
1412: 
1412: 
1412:     type_info& operator=(const type_info&) = delete;
1412:     type_info(const type_info&) = delete;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     bool __equal(const type_info&) const noexcept;
1412: 
1412:   };
1412: # 220 "/usr/include/c++/12/typeinfo" 3
1412:   class bad_cast : public exception
1412:   {
1412:   public:
1412:     bad_cast() noexcept { }
1412: 
1412: 
1412: 
1412:     virtual ~bad_cast() noexcept;
1412: 
1412: 
1412:     virtual const char* what() const noexcept;
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class bad_typeid : public exception
1412:   {
1412:   public:
1412:     bad_typeid () noexcept { }
1412: 
1412: 
1412: 
1412:     virtual ~bad_typeid() noexcept;
1412: 
1412: 
1412:     virtual const char* what() const noexcept;
1412:   };
1412: }
1412: 
1412: }
1412: 
1412: #pragma GCC visibility pop
1412: # 53 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/allocated_ptr.h" 1 3
1412: # 40 "/usr/include/c++/12/bits/allocated_ptr.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Alloc>
1412:     struct __allocated_ptr
1412:     {
1412:       using pointer = typename allocator_traits<_Alloc>::pointer;
1412:       using value_type = typename allocator_traits<_Alloc>::value_type;
1412: 
1412: 
1412:       __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept
1412:       : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr)
1412:       { }
1412: 
1412: 
1412:       template<typename _Ptr,
1412:         typename _Req = _Require<is_same<_Ptr, value_type*>>>
1412:       __allocated_ptr(_Alloc& __a, _Ptr __ptr)
1412:       : _M_alloc(std::__addressof(__a)),
1412:  _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
1412:       { }
1412: 
1412: 
1412:       __allocated_ptr(__allocated_ptr&& __gd) noexcept
1412:       : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr)
1412:       { __gd._M_ptr = nullptr; }
1412: 
1412: 
1412:       ~__allocated_ptr()
1412:       {
1412:  if (_M_ptr != nullptr)
1412:    std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1);
1412:       }
1412: 
1412: 
1412:       __allocated_ptr&
1412:       operator=(std::nullptr_t) noexcept
1412:       {
1412:  _M_ptr = nullptr;
1412:  return *this;
1412:       }
1412: 
1412: 
1412:       value_type* get() { return std::__to_address(_M_ptr); }
1412: 
1412:     private:
1412:       _Alloc* _M_alloc;
1412:       pointer _M_ptr;
1412:     };
1412: 
1412: 
1412:   template<typename _Alloc>
1412:     __allocated_ptr<_Alloc>
1412:     __allocate_guarded(_Alloc& __a)
1412:     {
1412:       return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) };
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: # 54 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/ext/atomicity.h" 1 3
1412: # 32 "/usr/include/c++/12/ext/atomicity.h" 3
1412:        
1412: # 33 "/usr/include/c++/12/ext/atomicity.h" 3
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 1 3
1412: # 30 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1412: #pragma GCC visibility push(default)
1412: # 148 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 1 3
1412: # 35 "; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, size_t _Nm>
1115:     [[nodiscard]]
1115:     constexpr _Tp*
1115:     data(_Tp (&__array)[_Nm]) noexcept
1115:     { return __array; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp>
1115:     [[nodiscard]]
1115:     constexpr const _Tp*
1115:     data(initializer_list<_Tp> __il) noexcept
1115:     { return __il.begin(); }
1115: # 367 "/usr/include/c++/12/bits/range_access.h" 3
1115: 
1115: }
1115: # 53 "/usr/include/c++/12/string" 2 3
1115: # 1 "/usr/include/c++/12/bits/basic_string.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/basic_string.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/basic_string.h" 3
1115: # 47 "/usr/include/c++/12/bits/basic_string.h" 3
1115: # 1 "/usr/include/c++/12/string_view" 1 3
1115: # 36 "/usr/include/c++/12/string_view" 3
1115:        
1115: # 37 "/usr/include/c++/12/string_view" 3
1115: # 53 "/usr/include/c++/12/string_view" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr size_t
1115:   __sv_check(size_t __size, size_t __pos, const char* __s)
1115:   {
1115:     if (__pos > __size)
1115:       __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)")
1115:                         , __s, __pos, __size);
1115:     return __pos;
1115:   }
1115: 
1115: 
1115: 
1115:   constexpr size_t
1115:   __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
1115:   {
1115:    const bool __testoff = __off < __size - __pos;
1115:    return __testoff ? __off : __size - __pos;
1115:   }
1115: # 99 "/usr/include/c++/12/string_view" 3
1115:   template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
1115:     class basic_string_view
1115:     {
1115:       static_assert(!is_array_v<_CharT>);
1115:       static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>);
1115:       static_assert(is_same_v<_CharT, typename _Traits::char_type>);
1115: 
1115:     public:
1115: 
1115: 
1115:       using traits_type = _Traits;
1115:       using value_type = _CharT;
1115:       using pointer = value_type*;
1115:       using const_pointer = const value_type*;
1115:       using reference = value_type&;
1115:       using const_reference = const value_type&;
1115:       using const_iterator = const value_type*;
1115:       using iterator = const_iterator;
1115:       using const_reverse_iterator = std::reverse_iterator<const_iterator>;
1115:       using reverse_iterator = const_reverse_iterator;
1115:       using size_type = size_t;
1115:       using difference_type = ptrdiff_t;
1115:       static constexpr size_type npos = size_type(-1);
1115: 
1115: 
1115: 
1115:       constexpr
1115:       basic_string_view() noexcept
1115:       : _M_len{0}, _M_str{nullptr}
1115:       { }
1115: 
1115:       constexpr basic_string_view(const basic_string_view&) noexcept = default;
1115: 
1115:       __attribute__((__nonnull__)) constexpr
1115:       basic_string_view(const _CharT* __str) noexcept
1115:       : _M_len{traits_type::length(__str)},
1115:  _M_str{__str}
1115:       { }
1115: 
1115:       constexpr
1115:       basic_string_view(const _CharT* __str, size_type __len) noexcept
1115:       : _M_len{__len}, _M_str{__str}
1115:       { }
1115: # 176 "/usr/include/c++/12/string_view" 3
1115:       constexpr basic_string_view&
1115:       operator=(const basic_string_view&) noexcept = default;
1115: 
1115: 
1115: 
1115:       constexpr const_iterator
1115:       begin() const noexcept
1115:       { return this->_M_str; }
1115: 
1115:       constexpr const_iterator
1115:       end() const noexcept
1115:       { return this->_M_str + this->_M_len; }
1115: 
1115:       constexpr const_iterator
1115:       cbegin() const noexcept
1115:       { return this->_M_str; }
1115: 
1115:       constexpr const_iterator
1115:       cend() const noexcept
1115:       { return this->_M_str + this->_M_len; }
1115: 
1115:       constexpr const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(this->end()); }
1115: 
1115:       constexpr const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(this->begin()); }
1115: 
1115:       constexpr const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return const_reverse_iterator(this->end()); }
1115: 
1115:       constexpr const_reverse_iterator
1115:       crend() const noexcept
1115:       { return const_reverse_iterator(this->begin()); }
1115: 
1115: 
1115: 
1115:       constexpr size_type
1115:       size() const noexcept
1115:       { return this->_M_len; }
1115: 
1115:       constexpr size_type
1115:       length() const noexcept
1115:       { return _M_len; }
1115: 
1115:       constexpr size_type
1115:       max_size() const noexcept
1115:       {
1115:  return (npos - sizeof(size_type) - sizeof(void*))
1115:   / sizeof(value_type) / 4;
1115:       }
1115: 
1115:       [[nodiscard]] constexpr bool
1115:       empty() const noexcept
1115:       { return this->_M_len == 0; }
1115: 
1115: 
1115: 
1115:       constexpr const_reference
1115:       operator[](size_type __pos) const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos < this->_M_len)) __builtin_unreachable(); } while (false);
1115:  return *(this->_M_str + __pos);
1115:       }
1115: 
1115:       constexpr const_reference
1115:       at(size_type __pos) const
1115:       {
1115:  if (__pos >= _M_len)
1115:    __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)")
1115: 
1115:                             , __pos, this->size());
1115:  return *(this->_M_str + __pos);
1115:       }
1115: 
1115:       constexpr const_reference
1115:       front() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1115:  return *this->_M_str;
1115:       }
1115: 
1115:       constexpr const_reference
1115:       back() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1115:  return *(this->_M_str + this->_M_len - 1);
1115:       }
1115: 
1115:       constexpr const_pointer
1115:       data() const noexcept
1115:       { return this->_M_str; }
1115: 
1115: 
1115: 
1115:       constexpr void
1115:       remove_prefix(size_type __n) noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false);
1115:  this->_M_str += __n;
1115:  this->_M_len -= __n;
1115:       }
1115: 
1115:       constexpr void
1115:       remove_suffix(size_type __n) noexcept
1115:       { this->_M_len -= __n; }
1115: 
1115:       constexpr void
1115:       swap(basic_string_view& __sv) noexcept
1115:       {
1115:  auto __tmp = *this;
1115:  *this = __sv;
1115:  __sv = __tmp;
1115:       }
1115: 
1115: 
1115: 
1115:      
1115:       size_type
1115:       copy(_CharT* __str, size_type __n, size_type __pos = 0) const
1115:       {
1115:  ;
1115:  __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
1115:  const size_type __rlen = std::min(__n, _M_len - __pos);
1115: 
1115: 
1115:  traits_type::copy(__str, data() + __pos, __rlen);
1115:  return __rlen;
1115:       }
1115: 
1115:       constexpr basic_string_view
1115:       substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
1115:       {
1115:  __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
1115:  const size_type __rlen = std::min(__n, _M_len - __pos);
1115:  return basic_string_view{_M_str + __pos, __rlen};
1115:       }
1115: 
1115:       constexpr int
1115:       compare(basic_string_view __str) const noexcept
1115:       {
1115:  const size_type __rlen = std::min(this->_M_len, __str._M_len);
1115:  int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
1115:  if (__ret == 0)
1115:    __ret = _S_compare(this->_M_len, __str._M_len);
1115:  return __ret;
1115:       }
1115: 
1115:       co/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1412: # 1 "/usr/include/pthread.h" 1 3 4
1412: # 22 "/usr/include/pthread.h" 3 4
1412: # 1 "/usr/include/sched.h" 1 3 4
1412: # 29 "/usr/include/sched.h" 3 4
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 30 "/usr/include/sched.h" 2 3 4
1412: # 43 "/usr/include/sched.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 1 3 4
1412: # 80 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 1 3 4
1412: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 3 4
1412: struct sched_param
1412: {
1412:   int sched_priority;
1412: };
1412: # 81 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 2 3 4
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: extern int clone (int (*__fn) (void *__arg), void *__child_stack,
1412:     int __flags, void *__arg, ...) noexcept (true);
1412: 
1412: 
1412: extern int unshare (int __flags) noexcept (true);
1412: 
1412: 
1412: extern int sched_getcpu (void) noexcept (true);
1412: 
1412: 
1412: extern int getcpu (unsigned int *, unsigned int *) noexcept (true);
1412: 
1412: 
1412: extern int setns (int __fd, int __nstype) noexcept (true);
1412: 
1412: 
1412: }
1412: # 44 "/usr/include/sched.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 1 3 4
1412: # 32 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1412: typedef unsigned long int __cpu_mask;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef struct
1412: {
1412:   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
1412: } cpu_set_t;
1412: # 115 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1412: extern "C" {
1412: 
1412: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
1412:      noexcept (true);
1412: extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) __attribute__ ((__warn_unused_result__));
1412: extern void __sched_cpufree (cpu_set_t *__set) noexcept (true);
1412: 
1412: }
1412: # 45 "/usr/include/sched.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C" {
1412: 
1412: 
1412: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
1412:      noexcept (true);
1412: 
1412: 
1412: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true);
1412: 
1412: 
1412: extern int sched_setscheduler (__pid_t __pid, int __policy,
1412:           const struct sched_param *__param) noexcept (true);
1412: 
1412: 
1412: extern int sched_getscheduler (__pid_t __pid) noexcept (true);
1412: 
1412: 
1412: extern int sched_yield (void) noexcept (true);
1412: 
1412: 
1412: extern int sched_get_priority_max (int __algorithm) noexcept (true);
1412: 
1412: 
1412: extern int sched_get_priority_min (int __algorithm) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true);
1412: # 130 "/usr/include/sched.h" 3 4
1412: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
1412:          const cpu_set_t *__cpuset) noexcept (true);
1412: 
1412: 
1412: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
1412:          cpu_set_t *__cpuset) noexcept (true);
1412: 
1412: 
1412: }
1412: # 23 "/usr/include/pthread.h" 2 3 4
1412: # 1 "/usr/include/time.h" 1 3 4
1412: # 29 "/usr/include/time.h" 3 4
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 30 "/usr/include/time.h" 2 3 4
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/time.h" 1 3 4
1412: # 73 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 1 3 4
1412: # 26 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1412: struct timex
1412: {
1412: # 58 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1412:   unsigned int modes;
1412:   __syscall_slong_t offset;
1412:   __syscall_slong_t freq;
1412:   __syscall_slong_t maxerror;
1412:   __syscall_slong_t esterror;
1412:   int status;
1412:   __syscall_slong_t constant;
1412:   __syscall_slong_t precision;
1412:   __syscall_slong_t tolerance;
1412:   struct timeval time;
1412:   __syscall_slong_t tick;
1412:   __syscall_slong_t ppsfreq;
1412:   __syscall_slong_t jitter;
1412:   int shift;
1412:   __syscall_slong_t stabil;
1412:   __syscall_slong_t jitcnt;
1412:   __syscall_slong_t calcnt;
1412:   __syscall_slong_t errcnt;
1412:   __syscall_slong_t stbcnt;
1412: 
1412:   int tai;
1412: 
1412: 
1412:   int :32; int :32; int :32; int :32;
1412:   int :32; int :32; int :32; int :32;
1412:   int :32; int :32; int :32;
1412: 
1412: };
1412: # 74 "/usr/include/arm-linux-gnueabihf/bits/time.h" 2 3 4
1412: 
1412: extern "C" {
1412: 
1412: 
1412: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: # 90 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1412: }
1412: # 34 "/usr/include/time.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_tm.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: struct tm
1412: {
1412:   int tm_sec;
1412:   int tm_min;
1412:   int tm_hour;
1412:   int tm_mday;
1412:   int tm_mon;
1412:   int tm_year;
1412:   int tm_wday;
1412:   int tm_yday;
1412:   int tm_isdst;
1412: 
1412: 
1412:   long int tm_gmtoff;
1412:   const char *tm_zone;
1412: 
1412: 
1412: 
1412: 
1412: };
1412: # 40 "/usr/include/time.h" 2 3 4
1412: # 48 "/usr/include/time.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_itimerspec.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: struct itimerspec
1412:   {
1412:     struct timespec it_interval;
1412:     struct timespec it_value;
1412:   };
1412: # 49 "/usr/include/time.h" 2 3 4
1412: struct sigevent;
1412: # 68 "/usr/include/time.h" 3 4
1412: extern "C" {
1412: 
1412: 
1412: 
1412: extern clock_t clock (void) noexcept (true);
1412: 
1412: 
1412: 
1412: extern time_t time (time_t *__timer) noexcept (true);
1412: 
1412: 
1412: extern double difftime (time_t __time1, time_t __time0)
1412:      noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern time_t mktime (struct tm *__tp) noexcept (true);
1412: # 100 "/usr/include/time.h" 3 4
1412: extern size_t strftime (char *__restrict __s, size_t __maxsize,
1412:    const char *__restrict __format,
1412:    const struct tm *__restrict __tp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern char *strptime (const char *__restrict __s,
1412:          const char *__restrict __fmt, struct tm *__tp)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
1412:      const char *__restrict __format,
1412:      const struct tm *__restrict __tp,
1412:      locale_t __loc) noexcept (true);
1412: 
1412: 
1412: 
1412: extern char *strptime_l (const char *__restrict __s,
1412:     const char *__restrict __fmt, struct tm *__tp,
1412:     locale_t __loc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern struct tm *gmtime (const time_t *__timer) noexcept (true);
1412: 
1412: 
1412: 
1412: extern struct tm *localtime (const time_t *__timer) noexcept (true);
1412: # 154 "/usr/include/time.h" 3 4
1412: extern struct tm *gmtime_r (const time_t *__restrict __timer,
1412:        struct tm *__restrict __tp) noexcept (true);
1412: 
1412: 
1412: 
1412: extern struct tm *localtime_r (const time_t *__restrict __timer,
1412:           struct tm *__restrict __tp) noexcept (true);
1412: # 179 "/usr/include/time.h" 3 4
1412: extern char *asctime (const struct tm *__tp) noexcept (true);
1412: 
1412: 
1412: 
1412: extern char *ctime (const time_t *__timer) noexcept (true);
1412: # 197 "/usr/include/time.h" 3 4
1412: extern char *asctime_r (const struct tm *__restrict __tp,
1412:    char *__restrict __buf) noexcept (true);
1412: 
1412: 
1412: 
1412: extern char *ctime_r (const time_t *__restrict __timer,
1412:         char *__restrict __buf) noexcept (true);
1412: # 217 "/usr/include/time.h" 3 4
1412: externstexpr int
1115:       compare(size_type __pos1, size_type __n1, basic_string_view __str) const
1115:       { return this->substr(__pos1, __n1).compare(__str); }
1115: 
1115:       constexpr int
1115:       compare(size_type __pos1, size_type __n1,
1115:        basic_string_view __str, size_type __pos2, size_type __n2) const
1115:       {
1115:  return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
1115:       }
1115: 
1115:       __attribute__((__nonnull__)) constexpr int
1115:       compare(const _CharT* __str) const noexcept
1115:       { return this->compare(basic_string_view{__str}); }
1115: 
1115:       __attribute__((__nonnull__)) constexpr int
1115:       compare(size_type __pos1, size_type __n1, const _CharT* __str) const
1115:       { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
1115: 
1115:       constexpr int
1115:       compare(size_type __pos1, size_type __n1,
1115:        const _CharT* __str, size_type __n2) const noexcept(false)
1115:       {
1115:  return this->substr(__pos1, __n1)
1115:      .compare(basic_string_view(__str, __n2));
1115:       }
1115: # 402 "/usr/include/c++/12/string_view" 3
1115:       constexpr size_type
1115:       find(basic_string_view __str, size_type __pos = 0) const noexcept
1115:       { return this->find(__str._M_str, __pos, __str._M_len); }
1115: 
1115:       constexpr size_type
1115:       find(_CharT __c, size_type __pos = 0) const noexcept;
1115: 
1115:       constexpr size_type
1115:       find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1115: 
1115:       __attribute__((__nonnull__)) constexpr size_type
1115:       find(const _CharT* __str, size_type __pos = 0) const noexcept
1115:       { return this->find(__str, __pos, traits_type::length(__str)); }
1115: 
1115:       constexpr size_type
1115:       rfind(basic_string_view __str, size_type __pos = npos) const noexcept
1115:       { return this->rfind(__str._M_str, __pos, __str._M_len); }
1115: 
1115:       constexpr size_type
1115:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1115: 
1115:       constexpr size_type
1115:       rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1115: 
1115:       __attribute__((__nonnull__)) constexpr size_type
1115:       rfind(const _CharT* __str, size_type __pos = npos) const noexcept
1115:       { return this->rfind(__str, __pos, traits_type::length(__str)); }
1115: 
1115:       constexpr size_type
1115:       find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
1115:       { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
1115: 
1115:       constexpr size_type
1115:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1115:       { return this->find(__c, __pos); }
1115: 
1115:       constexpr size_type
1115:       find_first_of(const _CharT* __str, size_type __pos,
1115:       size_type __n) const noexcept;
1115: 
1115:       __attribute__((__nonnull__)) constexpr size_type
1115:       find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
1115:       { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
1115: 
1115:       constexpr size_type
1115:       find_last_of(basic_string_view __str,
1115:      size_type __pos = npos) const noexcept
1115:       { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
1115: 
1115:       constexpr size_type
1115:       find_last_of(_CharT __c, size_type __pos=npos) const noexcept
1115:       { return this->rfind(__c, __pos); }
1115: 
1115:       constexpr size_type
1115:       find_last_of(const _CharT* __str, size_type __pos,
1115:      size_type __n) const noexcept;
1115: 
1115:       __attribute__((__nonnull__)) constexpr size_type
1115:       find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
1115:       { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
1115: 
1115:       constexpr size_type
1115:       find_first_not_of(basic_string_view __str,
1115:    size_type __pos = 0) const noexcept
1115:       { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
1115: 
1115:       constexpr size_type
1115:       find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
1115: 
1115:       constexpr size_type
1115:       find_first_not_of(const _CharT* __str,
1115:    size_type __pos, size_type __n) const noexcept;
1115: 
1115:       __attribute__((__nonnull__)) constexpr size_type
1115:       find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
1115:       {
1115:  return this->find_first_not_of(__str, __pos,
1115:            traits_type::length(__str));
1115:       }
1115: 
1115:       constexpr size_type
1115:       find_last_not_of(basic_string_view __str,
1115:          size_type __pos = npos) const noexcept
1115:       { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
1115: 
1115:       constexpr size_type
1115:       find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
1115: 
1115:       constexpr size_type
1115:       find_last_not_of(const _CharT* __str,
1115:          size_type __pos, size_type __n) const noexcept;
1115: 
1115:       __attribute__((__nonnull__)) constexpr size_type
1115:       find_last_not_of(const _CharT* __str,
1115:          size_type __pos = npos) const noexcept
1115:       {
1115:  return this->find_last_not_of(__str, __pos,
1115:           traits_type::length(__str));
1115:       }
1115: 
1115:     private:
1115: 
1115:       static constexpr int
1115:       _S_compare(size_type __n1, size_type __n2) noexcept
1115:       {
1115:  using __limits = __gnu_cxx::__int_traits<int>;
1115:  const difference_type __diff = __n1 - __n2;
1115:  if (__diff > __limits::__max)
1115:    return __limits::__max;
1115:  if (__diff < __limits::__min)
1115:    return __limits::__min;
1115:  return static_cast<int>(__diff);
1115:       }
1115: 
1115:       size_t _M_len;
1115:       const _CharT* _M_str;
1115:     };
1115: # 538 "/usr/include/c++/12/string_view" 3
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator==(basic_string_view<_CharT, _Traits> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator==(basic_string_view<_CharT, _Traits> __x,
1115:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1115:     noexcept
1115:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1115: # 567 "/usr/include/c++/12/string_view" 3
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator!=(basic_string_view<_CharT, _Traits> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return !(__x == __y); }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator!=(basic_string_view<_CharT, _Traits> __x,
1115:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1115:     noexcept
1115:     { return !(__x == __y); }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return !(__x == __y); }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator< (basic_string_view<_CharT, _Traits> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) < 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:   n char *__tzname[2];
1412: extern int __daylight;
1412: extern long int __timezone;
1412: 
1412: 
1412: 
1412: 
1412: extern char *tzname[2];
1412: 
1412: 
1412: 
1412: extern void tzset (void) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int daylight;
1412: extern long int timezone;
1412: # 246 "/usr/include/time.h" 3 4
1412: extern time_t timegm (struct tm *__tp) noexcept (true);
1412: # 263 "/usr/include/time.h" 3 4
1412: extern time_t timelocal (struct tm *__tp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int dysize (int __year) noexcept (true) __attribute__ ((__const__));
1412: # 281 "/usr/include/time.h" 3 4
1412: extern int nanosleep (const struct timespec *__requested_time,
1412:         struct timespec *__remaining);
1412: 
1412: 
1412: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true);
1412: 
1412: 
1412: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: # 323 "/usr/include/time.h" 3 4
1412: extern int clock_nanosleep (clockid_t __clock_id, int __flags,
1412:        const struct timespec *__req,
1412:        struct timespec *__rem);
1412: # 338 "/usr/include/time.h" 3 4
1412: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int timer_create (clockid_t __clock_id,
1412:     struct sigevent *__restrict __evp,
1412:     timer_t *__restrict __timerid) noexcept (true);
1412: 
1412: 
1412: extern int timer_delete (timer_t __timerid) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int timer_settime (timer_t __timerid, int __flags,
1412:      const struct itimerspec *__restrict __value,
1412:      struct itimerspec *__restrict __ovalue) noexcept (true);
1412: 
1412: 
1412: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
1412:      noexcept (true);
1412: # 376 "/usr/include/time.h" 3 4
1412: extern int timer_getoverrun (timer_t __timerid) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int timespec_get (struct timespec *__ts, int __base)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 399 "/usr/include/time.h" 3 4
1412: extern int timespec_getres (struct timespec *__ts, int __base)
1412:      noexcept (true);
1412: # 425 "/usr/include/time.h" 3 4
1412: extern int getdate_err;
1412: # 434 "/usr/include/time.h" 3 4
1412: extern struct tm *getdate (const char *__string);
1412: # 448 "/usr/include/time.h" 3 4
1412: extern int getdate_r (const char *__restrict __string,
1412:         struct tm *__restrict __resbufp);
1412: 
1412: 
1412: }
1412: # 24 "/usr/include/pthread.h" 2 3 4
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 1 3 4
1412: # 33 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 3 4
1412: typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
1412: # 28 "/usr/include/pthread.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1412: # 29 "/usr/include/pthread.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 1 3 4
1412: # 26 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 3 4
1412: struct __jmp_buf_tag
1412:   {
1412: 
1412: 
1412: 
1412: 
1412:     __jmp_buf __jmpbuf;
1412:     int __mask_was_saved;
1412:     __sigset_t __saved_mask;
1412:   };
1412: # 32 "/usr/include/pthread.h" 2 3 4
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 1 3 4
1412: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 3 4
1412: extern "C" {
1412: extern long int __sysconf (int __name) noexcept (true);
1412: }
1412: # 34 "/usr/include/pthread.h" 2 3 4
1412: 
1412: 
1412: 
1412: enum
1412: {
1412:   PTHREAD_CREATE_JOINABLE,
1412: 
1412:   PTHREAD_CREATE_DETACHED
1412: 
1412: };
1412: 
1412: 
1412: 
1412: enum
1412: {
1412:   PTHREAD_MUTEX_TIMED_NP,
1412:   PTHREAD_MUTEX_RECURSIVE_NP,
1412:   PTHREAD_MUTEX_ERRORCHECK_NP,
1412:   PTHREAD_MUTEX_ADAPTIVE_NP
1412: 
1412:   ,
1412:   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
1412:   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
1412:   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
1412:   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
1412: 
1412: 
1412: 
1412:   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
1412: 
1412: };
1412: 
1412: 
1412: 
1412: 
1412: enum
1412: {
1412:   PTHREAD_MUTEX_STALLED,
1412:   PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
1412:   PTHREAD_MUTEX_ROBUST,
1412:   PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: enum
1412: {
1412:   PTHREAD_PRIO_NONE,
1412:   PTHREAD_PRIO_INHERIT,
1412:   PTHREAD_PRIO_PROTECT
1412: };
1412: # 104 "/usr/include/pthread.h" 3 4
1412: enum
1412: {
1412:   PTHREAD_RWLOCK_PREFER_READER_NP,
1412:   PTHREAD_RWLOCK_PREFER_WRITER_NP,
1412:   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
1412:   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
1412: };
1412: # 124 "/usr/include/pthread.h" 3 4
1412: enum
1412: {
1412:   PTHREAD_INHERIT_SCHED,
1412: 
1412:   PTHREAD_EXPLICIT_SCHED
1412: 
1412: };
1412: 
1412: 
1412: 
1412: enum
1412: {
1412:   PTHREAD_SCOPE_SYSTEM,
1412: 
1412:   PTHREAD_SCOPE_PROCESS
1412: 
1412: };
1412: 
1412: 
1412: 
1412: enum
1412: {
1412:   PTHREAD_PROCESS_PRIVATE,
1412: 
1412:   PTHREAD_PROCESS_SHARED
1412: 
1412: };
1412: # 159 "/usr/include/pthread.h" 3 4
1412: struct _pthread_cleanup_buffer
1412: {
1412:   void (*__routine) (void *);
1412:   void *__arg;
1412:   int __canceltype;
1412:   struct _pthread_cleanup_buffer *__prev;
1412: };
1412: 
1412: 
1412: enum
1412: {
1412:   PTHREAD_CANCEL_ENABLE,
1412: 
1412:   PTHREAD_CANCEL_DISABLE
1412: 
1412: };
1412: enum
1412: {
1412:   PTHREAD_CANCEL_DEFERRED,
1412: 
1412:   PTHREAD_CANCEL_ASYNCHRONOUS
1412: 
1412: };
1412: # 197 "/usr/include/pthread.h" 3 4
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_create (pthread_t *__restrict __newthread,
1412:       const pthread_attr_t *__restrict __attr,
1412:       void *(*__start_routine) (void *),
1412:       void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_join (pthread_t __th, void **__thread_return);
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true);
1412: # 233 "/usr/include/pthread.h" 3 4
1412: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
1412:      const struct timespec *__abstime);
1412: # 243 "/usr/include/pthread.h" 3 4
1412: extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
1412:                                  clockid_t __clockid,
1412:      const struct timespec *__abstime);
1412: # 269 "/usr/include/pthread.h" 3 4
1412: extern int pthread_detach (pthread_t __th) noexcept (true);
1412: 
1412: 
1412: 
1412: extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
1412:   noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_attr_destroy (pthread_attr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
1412:      int *__detachstate)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
1412:      int __detachstate)
1412:      noexcept   operator< (basic_string_view<_CharT, _Traits> __x,
1115:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1115:     noexcept
1115:     { return __x.compare(__y) < 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) < 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator> (basic_string_view<_CharT, _Traits> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) > 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator> (basic_string_view<_CharT, _Traits> __x,
1115:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1115:     noexcept
1115:     { return __x.compare(__y) > 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) > 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator<=(basic_string_view<_CharT, _Traits> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) <= 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator<=(basic_string_view<_CharT, _Traits> __x,
1115:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1115:     noexcept
1115:     { return __x.compare(__y) <= 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) <= 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator>=(basic_string_view<_CharT, _Traits> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) >= 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator>=(basic_string_view<_CharT, _Traits> __x,
1115:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1115:     noexcept
1115:     { return __x.compare(__y) >= 0; }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr bool
1115:     operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1115:                basic_string_view<_CharT, _Traits> __y) noexcept
1115:     { return __x.compare(__y) >= 0; }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1115:         basic_string_view<_CharT,_Traits> __str)
1115:     { return __ostream_insert(__os, __str.data(), __str.size()); }
1115: 
1115: 
1115: 
1115: 
1115:   using string_view = basic_string_view<char>;
1115:   using wstring_view = basic_string_view<wchar_t>;
1115: 
1115: 
1115: 
1115:   using u16string_view = basic_string_view<char16_t>;
1115:   using u32string_view = basic_string_view<char32_t>;
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct hash;
1115: 
1115:   template<>
1115:     struct hash<string_view>
1115:     : public __hash_base<size_t, string_view>
1115:     {
1115:       size_t
1115:       operator()(const string_view& __str) const noexcept
1115:       { return std::_Hash_impl::hash(__str.data(), __str.length()); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<string_view>> : std::false_type
1115:     { };
1115: 
1115:   template<>
1115:     struct hash<wstring_view>
1115:     : public __hash_base<size_t, wstring_view>
1115:     {
1115:       size_t
1115:       operator()(const wstring_view& __s) const noexcept
1115:       { return std::_Hash_impl::hash(__s.data(),
1115:                                      __s.length() * sizeof(wchar_t)); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<wstring_view>> : std::false_type
1115:     { };
1115: # 734 "/usr/include/c++/12/string_view" 3
1115:   template<>
1115:     struct hash<u16string_view>
1115:     : public __hash_base<size_t, u16string_view>
1115:     {
1115:       size_t
1115:       operator()(const u16string_view& __s) const noexcept
1115:       { return std::_Hash_impl::hash(__s.data(),
1115:                                      __s.length() * sizeof(char16_t)); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<u16string_view>> : std::false_type
1115:     { };
1115: 
1115:   template<>
1115:     struct hash<u32string_view>
1115:     : public __hash_base<size_t, u32string_view>
1115:     {
1115:       size_t
1115:       operator()(const u32string_view& __s) const noexcept
1115:       { return std::_Hash_impl::hash(__s.data(),
1115:                                      __s.length() * sizeof(char32_t)); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<u32string_view>> : std::false_type
1115:     { };
1115: 
1115:   inline namespace literals
1115:   {
1115:   inline namespace string_view_literals
1115:   {
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1115:     inline constexpr basic_string_view<char>
1115:     operator""sv(const char* __str, size_t __len) noexcept
1115:     { return basic_string_view<char>{__str, __len}; }
1115: 
1115:     inline constexpr basic_string_view<wchar_t>
1115:     operator""sv(const wchar_t* __str, size_t __len) noexcept
1115:     { return basic_string_view<wchar_t>{__str, __len}; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     inline constexpr basic_string_view<char16_t>
1115:     operator""sv(const char16_t* __str, size_t __len) noexcept
1115:     { return basic_string_view<char16_t>{__str, __len}; }
1115: 
1115:     inline constexpr basic_string_view<char32_t>
1115:     operator""sv(const char32_t* __str, size_t __len) noexcept
1115:     { return basic_string_view<char32_t>{__str, __len}; }
1115: 
1115: #pragma GCC diagnostic pop
1115:   }
1115:   }
1115: # 808 "/usr/include/c++/12/string_view" 3
1115: 
1115: }
1115: 
1115: # 1 "/usr/include/c++/12/bits/string_view.tcc" 1 3
1115: # 37 "/usr/include/c++/12/bits/string_view.tcc" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/string_view.tcc" 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1115:     {
1115:       ;
1115: 
1115:       if (__n == 0)
1115:  return __pos <= _M_len ? __pos : npos;
1115:       if (__pos >= _M_len)
1115:  return npos;
1115: 
1115:       const _CharT __elem0 = __str[0];
1115:       const _CharT* __first = _M_str + __pos;
1115:       const _CharT* const __last = _M_str + _M_len;
1115:       size_type __len = _M_len - __pos;
1115: 
1115:       while (__len >= __n)
1115:  {
1115: 
1115:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1115:    if (!__first)
1115:      return npos;
1115: 
1115: 
1115: 
1115:    if (traits_type::compare(__first, __str, __n) == 0)
1115:      return __first - _M_str;
1115:    __len = __last - ++__first;
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       size_type __ret = npos;
1115:       if (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
1412:           size_t *__guardsize)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
1412:           size_t __guardsize)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
1412:            struct sched_param *__restrict __param)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
1412:            const struct sched_param *__restrict
1412:            __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
1412:      __attr, int *__restrict __policy)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
1412:       __attr, int *__restrict __inherit)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
1412:       int __inherit)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
1412:       int *__restrict __scope)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
1412:           __attr, void **__restrict __stackaddr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
1412:           void *__stackaddr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
1412: 
1412: 
1412: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
1412:           __attr, size_t *__restrict __stacksize)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
1412:           size_t __stacksize)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
1412:       void **__restrict __stackaddr,
1412:       size_t *__restrict __stacksize)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
1412:       size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
1412:      size_t __cpusetsize,
1412:      const cpu_set_t *__cpuset)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: 
1412: 
1412: 
1412: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
1412:      size_t __cpusetsize,
1412:      cpu_set_t *__cpuset)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: 
1412: 
1412: extern int pthread_getattr_default_np (pthread_attr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
1412:            const __sigset_t *sigmask);
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
1412:            __sigset_t *sigmask);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
1412:       const struct sched_param *__param)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: 
1412: 
1412: extern int pthread_getschedparam (pthread_t __target_thread,
1412:       int *__restrict __policy,
1412:       struct sched_param *__restrict __param)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1412: 
1412: 
1412: extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
1412:           size_t __buflen)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_getconcurrency (void) noexcept (true);
1412: 
1412: 
1412: extern int pthread_setconcurrency (int __level) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int pthread_yield (void) noexcept (true);
1412: 
1412: extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield")
1412:   __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead")))
1412:                                                       ;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
1412:        const cpu_set_t *__cpuset)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: 
1412: 
1412: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
1412:        cpu_set_t *__cpuset)
1412:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1412: # 509 "/usr/include/pthread.h" 3 4
1412: extern int pthread_once (pthread_once_t *__once_control,
1412:     void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
1412: # 521 "/usr/include/pthread.h" 3 4
1412: extern int pthread_setcancelstate (int __state, int *__oldstate);
1412: 
1412: 
1412: 
1412: extern int pthread_setcanceltype (int __type, int *__oldtype);
1412: 
1412: 
1412: extern int pthread_cancel (pthread_t __th);
1412: 
1412: 
1412: 
1412: 
1412: extern void pthread_testcancel (void);
1412: 
1412: 
1412: 
1412: 
1412: struct __cancel_jmp_buf_tag
1412: {
1412:   __jmp_buf __cancel_jmp_buf;
1412:   int __mask_was_saved;
1412: };
1412: 
1412: typedef struct
1412: {
1412:   struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
1412:   void *__pad[4];
1412: } __pthread_unwind_buf_t __attribute__ ((__aligned__));
1412: # 557 "/usr/include/pthread.h" 3 4
1412: struct __pthread_cleanup_frame
1412: {
1412:   void (*__cancel_routine) (void *);
1412:   void *__cancel_arg;
1412:   int __do_it;
1412:   int __cancel_type;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: class __pthread_cleanup_class
1412: {
1412:   void (*__cancel_routine) (void *);
1412:   void *__cancel_arg;
1412:   int __do_it;
1412:   int __cancel_type;
1412: 
1412:  public:
1412:   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
1412:     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
1412:   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
1412:   void __setdoit (int __newval) { __do_it = __newval; }
1412:   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
1412:         &__cancel_type); }
1412:   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
1412: };
1412: (__pos < this->_M_len)
1115:  {
1115:    const size_type __n = this->_M_len - __pos;
1115:    const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
1115:    if (__p)
1115:      __ret = __p - this->_M_str;
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1115:     {
1115:       ;
1115: 
1115:       if (__n <= this->_M_len)
1115:  {
1115:    __pos = std::min(size_type(this->_M_len - __n), __pos);
1115:    do
1115:      {
1115:        if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
1115:   return __pos;
1115:      }
1115:    while (__pos-- > 0);
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     rfind(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       size_type __size = this->_M_len;
1115:       if (__size > 0)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    for (++__size; __size-- > 0; )
1115:      if (traits_type::eq(this->_M_str[__size], __c))
1115:        return __size;
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find_first_of(const _CharT* __str, size_type __pos,
1115:     size_type __n) const noexcept
1115:     {
1115:       ;
1115:       for (; __n && __pos < this->_M_len; ++__pos)
1115:  {
1115:    const _CharT* __p = traits_type::find(__str, __n,
1115:       this->_M_str[__pos]);
1115:    if (__p)
1115:      return __pos;
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find_last_of(const _CharT* __str, size_type __pos,
1115:    size_type __n) const noexcept
1115:     {
1115:       ;
1115:       size_type __size = this->size();
1115:       if (__size && __n)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    do
1115:      {
1115:        if (traits_type::find(__str, __n, this->_M_str[__size]))
1115:   return __size;
1115:      }
1115:    while (__size-- != 0);
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find_first_not_of(const _CharT* __str, size_type __pos,
1115:         size_type __n) const noexcept
1115:     {
1115:       ;
1115:       for (; __pos < this->_M_len; ++__pos)
1115:  if (!traits_type::find(__str, __n, this->_M_str[__pos]))
1115:    return __pos;
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       for (; __pos < this->_M_len; ++__pos)
1115:  if (!traits_type::eq(this->_M_str[__pos], __c))
1115:    return __pos;
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find_last_not_of(const _CharT* __str, size_type __pos,
1115:        size_type __n) const noexcept
1115:     {
1115:       ;
1115:       size_type __size = this->_M_len;
1115:       if (__size)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    do
1115:      {
1115:        if (!traits_type::find(__str, __n, this->_M_str[__size]))
1115:   return __size;
1115:      }
1115:    while (__size--);
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1115:     basic_string_view<_CharT, _Traits>::
1115:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       size_type __size = this->_M_len;
1115:       if (__size)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    do
1115:      {
1115:        if (!traits_type::eq(this->_M_str[__size], __c))
1115:   return __size;
1115:      }
1115:    while (__size--);
1115:  }
1115:       return npos;
1115:     }
1115: 
1115: 
1115: }
1115: # 812 "/usr/include/c++/12/string_view" 2 3
1115: # 48 "/usr/include/c++/12/bits/basic_string.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: namespace __cxx11 {
1115: # 84 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     class basic_string
1115:     {
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_CharT>::other _Char_alloc_type;
1115: 
1115: 
1115:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1115: # 122 "/usr/include/c++/12/bits/basic_string.h" 3
1115:     public:
1115:       typedef _Traits traits_type;
1115:       typedef typename _Traits::char_type value_type;
1115:       typedef _Char_alloc_type allocator_type;
1115:       typedef typename _Alloc_traits::size_type size_type;
1115:       typedef typename _Alloc_traits::difference_type difference_type;
1115:       typedef typename _Alloc_traits::reference reference;
1115:       typedef typename _Alloc_traits::const_reference const_reference;
1115:       typedef typename _Alloc_traits::pointer pointer;
1115:       typedef typename _Alloc_traits::const_pointer const_pointer;
1115:       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
1115:       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
1115:        const_iterator;
1115:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1115:       typedef std::reverse_iterator<iterator> reverse_iterator;
1115: 
1115: 
1115:       static const size_type npos = static_cast<size_type>(-1);
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115:       typedef const_iterator __const_iterator;
1115: 
1115: 
1115:     private:
1115: 
1115: 
1115:       typedef basic_string_view<_CharT, _Traits> __sv_type;
1115: 
1115:       template<typename _Tp, typename _Res>
1115:  using _If_sv = enable_if_t<
1115:    __and_<is_convertible<const _Tp&, __sv_type>,
1115:    __not_<is_convertible<const _Tp*, const basic_string*>>,
1115:    __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
1115:    _Res>;
1115: 
1115: 
1115:      
1115:       static __sv_type
1115:       _S_to_string_view(__sv_type __svt) noexcept
1115:       { return __svt; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       struct __sv_wrapper
1115:       {
1115:  explicit
1115:  __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
1115: 
1115:  __sv_type _M_sv;
1115:       };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       explicit
1115:       basic_string(__sv_wrapper __svw, const _Alloc& __a)
1115:       : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
1115: 
1115: 
1115: 
1115:       struct _Alloc_hider : allocator_type
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  _Alloc_hider(pointer __dat, const _Alloc& __a)
1115:  : allocator_type(__a), _M_p(__dat) { }
1115: 
1115: 
1115:  _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
1115:  : allocator_type(std::move(__a)), _M_p(__dat) { }
1115: 
1115: 
1115:  pointer _M_p;
1115:       };
1115: 
1115:       _Alloc_hider _M_dataplus;
1115:       size_type _M_string_length;
1115: 
1115:       enum { _S_local_capacity = 15 / si# 766 "/usr/include/pthread.h" 3 4
1412: extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp")
1412: 
1412: 
1412:                      __attribute__ ((__returns_twice__));
1412: # 781 "/usr/include/pthread.h" 3 4
1412: extern int pthread_mutex_init (pthread_mutex_t *__mutex,
1412:           const pthread_mutexattr_t *__mutexattr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
1412:         const struct timespec *__restrict
1412:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: # 817 "/usr/include/pthread.h" 3 4
1412: extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
1412:         clockid_t __clockid,
1412:         const struct timespec *__restrict
1412:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: # 835 "/usr/include/pthread.h" 3 4
1412: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
1412:       __restrict __mutex,
1412:       int *__restrict __prioceiling)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
1412:       int __prioceiling,
1412:       int *__restrict __old_ceiling)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent")
1412:                                 __attribute__ ((__nonnull__ (1)))
1412:   __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent")))
1412:                                                                          ;
1412: # 874 "/usr/include/pthread.h" 3 4
1412: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
1412:       __restrict __attr,
1412:       int *__restrict __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
1412:       int __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
1412:           __attr, int *__restrict __kind)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
1412:        __restrict __attr,
1412:        int *__restrict __protocol)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
1412:        int __protocol)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
1412:           __restrict __attr,
1412:           int *__restrict __prioceiling)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
1412:           int __prioceiling)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
1412:      int *__robustness)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust")
1412: 
1412:                                    __attribute__ ((__nonnull__ (1)))
1412:   __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust")))
1412:                                                                                ;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
1412:      int __robustness)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust")
1412: 
1412:                                    __attribute__ ((__nonnull__ (1)))
1412:   __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust")))
1412:                                                                                ;
1412: # 967 "/usr/include/pthread.h" 3 4
1412: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
1412:     const pthread_rwlockattr_t *__restrict
1412:     __attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
1412:   noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
1412:            const struct timespec *__restrict
1412:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: # 1004 "/usr/include/pthread.h" 3 4
1412: extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
1412:            clockid_t __clockid,
1412:            const struct timespec *__restrict
1412:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: # 1023 "/usr/include/pthread.h" 3 4
1412: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
1412:            const struct timespec *__restrict
1412:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: # 1051 "/usr/include/pthread.h" 3 4
1412: extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
1412:            clockid_t __clockid,
1412:            const struct timespec *__restrict
1412:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1412: # 1071 "/usr/include/pthread.h" 3 4
1412: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_rwlockattrype> _Alloc_traits;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef typename _Alloc_traits::pointer _Ptr;
1417:       typedef typename _Alloc_traits::const_pointer _Ptr_const;
1417: 
1417: 
1417:       typedef typename _Alloc_traits::template rebind<_Ptr>::other
1417:  _Map_alloc_type;
1417:       typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits;
1417: 
1417:       typedef _Alloc allocator_type;
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_get_Tp_allocator()); }
1417: 
1417:       typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator;
1417:       typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator;
1417: 
1417:       _Deque_base()
1417:       : _M_impl()
1417:       { _M_initialize_map(0); }
1417: 
1417:       _Deque_base(size_t __num_elements)
1417:       : _M_impl()
1417:       { _M_initialize_map(__num_elements); }
1417: 
1417:       _Deque_base(const allocator_type& __a, size_t __num_elements)
1417:       : _M_impl(__a)
1417:       { _M_initialize_map(__num_elements); }
1417: 
1417:       _Deque_base(const allocator_type& __a)
1417:       : _M_impl(__a)
1417:       { }
1417: 
1417: 
1417:       _Deque_base(_Deque_base&& __x)
1417:       : _M_impl(std::move(__x._M_get_Tp_allocator()))
1417:       {
1417:  _M_initialize_map(0);
1417:  if (__x._M_impl._M_map)
1417:    this->_M_impl._M_swap_data(__x._M_impl);
1417:       }
1417: 
1417:       _Deque_base(_Deque_base&& __x, const allocator_type& __a)
1417:       : _M_impl(std::move(__x._M_impl), _Tp_alloc_type(__a))
1417:       { __x._M_initialize_map(0); }
1417: 
1417:       _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_t __n)
1417:       : _M_impl(__a)
1417:       {
1417:  if (__x.get_allocator() == __a)
1417:    {
1417:      if (__x._M_impl._M_map)
1417:        {
1417:   _M_initialize_map(0);
1417:   this->_M_impl._M_swap_data(__x._M_impl);
1417:        }
1417:    }
1417:  else
1417:    {
1417:      _M_initialize_map(__n);
1417:    }
1417:       }
1417: 
1417: 
1417:       ~_Deque_base() noexcept;
1417: 
1417:       typedef typename iterator::_Map_pointer _Map_pointer;
1417: 
1417:       struct _Deque_impl_data
1417:       {
1417:  _Map_pointer _M_map;
1417:  size_t _M_map_size;
1417:  iterator _M_start;
1417:  iterator _M_finish;
1417: 
1417:  _Deque_impl_data() noexcept
1417:  : _M_map(), _M_map_size(), _M_start(), _M_finish()
1417:  { }
1417: 
1417: 
1417:  _Deque_impl_data(const _Deque_impl_data&) = default;
1417:  _Deque_impl_data&
1417:  operator=(const _Deque_impl_data&) = default;
1417: 
1417:  _Deque_impl_data(_Deque_impl_data&& __x) noexcept
1417:  : _Deque_impl_data(__x)
1417:  { __x = _Deque_impl_data(); }
1417: 
1417: 
1417:  void
1417:  _M_swap_data(_Deque_impl_data& __x) noexcept
1417:  {
1417: 
1417: 
1417:    std::swap(*this, __x);
1417:  }
1417:       };
1417: 
1417: 
1417: 
1417: 
1417:       struct _Deque_impl
1417:       : public _Tp_alloc_type, public _Deque_impl_data
1417:       {
1417:  _Deque_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1417: 
1417:  : _Tp_alloc_type()
1417:  { }
1417: 
1417:  _Deque_impl(const _Tp_alloc_type& __a) noexcept
1417:  : _Tp_alloc_type(__a)
1417:  { }
1417: 
1417: 
1417:  _Deque_impl(_Deque_impl&&) = default;
1417: 
1417:  _Deque_impl(_Tp_alloc_type&& __a) noexcept
1417:  : _Tp_alloc_type(std::move(__a))
1417:  { }
1417: 
1417:  _Deque_impl(_Deque_impl&& __d, _Tp_alloc_type&& __a)
1417:  : _Tp_alloc_type(std::move(__a)), _Deque_impl_data(std::move(__d))
1417:  { }
1417: 
1417:       };
1417: 
1417:       _Tp_alloc_type&
1417:       _M_get_Tp_allocator() noexcept
1417:       { return this->_M_impl; }
1417: 
1417:       const _Tp_alloc_type&
1417:       _M_get_Tp_allocator() const noexcept
1417:       { return this->_M_impl; }
1417: 
1417:       _Map_alloc_type
1417:       _M_get_map_allocator() const noexcept
1417:       { return _Map_alloc_type(_M_get_Tp_allocator()); }
1417: 
1417:       _Ptr
1417:       _M_allocate_node()
1417:       {
1417:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1417:  return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp)));
1417:       }
1417: 
1417:       void
1417:       _M_deallocate_node(_Ptr __p) noexcept
1417:       {
1417:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1417:  _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
1417:       }
1417: 
1417:       _Map_pointer
1417:       _M_allocate_map(size_t __n)
1417:       {
1417:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1417:  return _Map_alloc_traits::allocate(__map_alloc, __n);
1417:       }
1417: 
1417:       void
1417:       _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept
1417:       {
1417:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1417:  _Map_alloc_traits::deallocate(__map_alloc, __p, __n);
1417:       }
1417: 
1417:       void _M_initialize_map(size_t);
1417:       void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish);
1417:       void _M_destroy_nodes(_Map_pointer __nstart,
1417:        _Map_pointer __nfinish) noexcept;
1417:       enum { _S_initial_map_size = 8 };
1417: 
1417:       _Deque_impl _M_impl;
1417:     };
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     _Deque_base<_Tp, _Alloc>::
1417:     ~_Deque_base() noexcept
1417:     {
1417:       if (this->_M_impl._M_map)
1417:  {
1417:    _M_destroy_nodes(this->_M_impl._M_start._M_node,
1417:       this->_M_impl._M_finish._M_node + 1);
1417:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1417:  }
1417:     }
1417: # 636 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     _Deque_base<_Tp, _Alloc>::
1417:     _M_initialize_map(size_t __num_elements)
1417:     {
1417:       const size_t __num_nodes = (__num_elements / __deque_buf_size(sizeof(_Tp))
1417:       + 1);
1417: 
1417:       this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
1417:         size_t(__num_nodes + 2));
1417:       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       _Map_pointer __nstart = (this->_M_impl._M_map
1417:           + (this->_M_impl._M_map_size - __num_nodes) / 2);
1417:       _Map_pointer __nfinish = __nstart + __num_nodes;
1417: 
1417:       try
1417:  { _M_create_nodes(__nstart, __nfinish); }
1417:       catch(...)
1417:  {
1417:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1417:    this->_M_impl._M_map = _Map_pointer();
1417:    this->_M_impl._M_map_size = 0;
1417:    throw;
1417:  }
1417: 
1417:       this->_M_impl._M_start._M_set_node(__nstart);
1417:       this->_M_impl._M_finish._M_set_node(__nfinish - 1);
1417:       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
1417:       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
1417:      + __num_elements
1417:      % __deque_buf_size(sizeof(_Tp)));
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     _Deque_base<_Tp, _Alloc>::
1417:     _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish)
1417:     {
1417:       _Map_pointer __cur;
1417:       try
1417:  {
1417:    for (__cur = __nstart; __cur < __nfinish; ++__cur)
1417:      *__cur = this->_M_allocate_node();
1417:  }
1417:       catch(...)
1417:  {
1417:    _M_destroy_nodes(__nstart, __cur);
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     _Deque_base<_Tp, _Alloc>::
1417:     _M_destroy_nodes(_Map_pointer __nstart,
1417:        _Map_pointer __nfinish) noexcept
1417:     {
1417:       for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n)
1417:  _M_deallocate_node(*__n);
1417:     }
1417: # 787 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1417:     class deque : protected _Deque_base<_Tp, _Alloc>
1417:     {
1417: # 800 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::v_init (pthread_rwlockattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
1412:        __restrict __attr,
1412:        int *__restrict __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
1412:        int __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
1412:        __restrict __attr,
1412:        int *__restrict __pref)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
1412:        int __pref) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
1412:          const pthread_condattr_t *__restrict __cond_attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_cond_destroy (pthread_cond_t *__cond)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_cond_signal (pthread_cond_t *__cond)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_cond_broadcast (pthread_cond_t *__cond)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
1412:          pthread_mutex_t *__restrict __mutex)
1412:      __attribute__ ((__nonnull__ (1, 2)));
1412: # 1145 "/usr/include/pthread.h" 3 4
1412: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
1412:        pthread_mutex_t *__restrict __mutex,
1412:        const struct timespec *__restrict __abstime)
1412:      __attribute__ ((__nonnull__ (1, 2, 3)));
1412: # 1171 "/usr/include/pthread.h" 3 4
1412: extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
1412:        pthread_mutex_t *__restrict __mutex,
1412:        __clockid_t __clock_id,
1412:        const struct timespec *__restrict __abstime)
1412:      __attribute__ ((__nonnull__ (1, 2, 4)));
1412: # 1194 "/usr/include/pthread.h" 3 4
1412: extern int pthread_condattr_init (pthread_condattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_condattr_getpshared (const pthread_condattr_t *
1412:      __restrict __attr,
1412:      int *__restrict __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
1412:      int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_condattr_getclock (const pthread_condattr_t *
1412:           __restrict __attr,
1412:           __clockid_t *__restrict __clock_id)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
1412:           __clockid_t __clock_id)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 1230 "/usr/include/pthread.h" 3 4
1412: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_spin_lock (pthread_spinlock_t *__lock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
1412:      const pthread_barrierattr_t *__restrict
1412:      __attr, unsigned int __count)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
1412:         __restrict __attr,
1412:         int *__restrict __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
1412:         int __pshared)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: # 1297 "/usr/include/pthread.h" 3 4
1412: extern int pthread_key_create (pthread_key_t *__key,
1412:           void (*__destr_function) (void *))
1412:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int pthread_key_delete (pthread_key_t __key) noexcept (true);
1412: 
1412: 
1412: extern void *pthread_getspecific (pthread_key_t __key) noexcept (true);
1412: 
1412: 
1412: extern int pthread_setspecific (pthread_key_t __key,
1412:     const void *__pointer)
1412:   noexcept (true) __attribute__ ((__access__ (__none__, 2)));
1412: 
1412: 
1412: 
1412: 
1412: extern int pthread_getcpuclockid (pthread_t __thread_id,
1412:       __clockid_t *__clock_id)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: # 1332 "/usr/include/pthread.h" 3 4
1412: extern int pthread_atfork (void (*__prepare) (void),
1412:       void (*__parent) (void),
1412:       void (*__child) (void)) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__gnu_inline__)) int
1412: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) noexcept (true)
1412: {
1412:   return __thread1 == __thread2;
1412: }
1412: 
1412: 
1412: }
1412: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 2 3
1412: # 47 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1412: typedef pthread_t __gthread_t;
1412: typedef pthread_key_t __gthread_key_t;
1412: typedef pthread_once_t __gthread_once_t;
1412: typedef pthread_mutex_t __gthread_mutex_t;
1412: typedef pthread_mutex_t __gthread_recursive_mutex_t;
1412: typedef pthread_cond_t __gthread_cond_t;
1412: typedef struct timespec __gthread_time_t;
1412: # 102 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 299 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1412: static inline int
1412: __gthread_active_p (void)
1412: {
1412:   return 1;
1412: }
1412: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1412: static inline int
1412: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
1412:     void *__args)
1412: {
1412:   return pthread_create (__threadid, __null, __func, __args);
1412: }
1412: 
1412alue,
1417:    "std::deque must have a non-const, non-volatile value_type");
1417: 
1417:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1417:    "std::deque must have the same value_type as its allocator");
1417: 
1417: 
1417: 
1417:       typedef _Deque_base<_Tp, _Alloc> _Base;
1417:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1417:       typedef typename _Base::_Alloc_traits _Alloc_traits;
1417:       typedef typename _Base::_Map_pointer _Map_pointer;
1417: 
1417:     public:
1417:       typedef _Tp value_type;
1417:       typedef typename _Alloc_traits::pointer pointer;
1417:       typedef typename _Alloc_traits::const_pointer const_pointer;
1417:       typedef typename _Alloc_traits::reference reference;
1417:       typedef typename _Alloc_traits::const_reference const_reference;
1417:       typedef typename _Base::iterator iterator;
1417:       typedef typename _Base::const_iterator const_iterator;
1417:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1417:       typedef std::reverse_iterator<iterator> reverse_iterator;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef _Alloc allocator_type;
1417: 
1417:     private:
1417:       static size_t _S_buffer_size() noexcept
1417:       { return __deque_buf_size(sizeof(_Tp)); }
1417: 
1417: 
1417:       using _Base::_M_initialize_map;
1417:       using _Base::_M_create_nodes;
1417:       using _Base::_M_destroy_nodes;
1417:       using _Base::_M_allocate_node;
1417:       using _Base::_M_deallocate_node;
1417:       using _Base::_M_allocate_map;
1417:       using _Base::_M_deallocate_map;
1417:       using _Base::_M_get_Tp_allocator;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       using _Base::_M_impl;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       deque() = default;
1417: # 864 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       explicit
1417:       deque(const allocator_type& __a)
1417:       : _Base(__a, 0) { }
1417: # 877 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       explicit
1417:       deque(size_type __n, const allocator_type& __a = allocator_type())
1417:       : _Base(__a, _S_check_init_len(__n, __a))
1417:       { _M_default_initialize(); }
1417: # 890 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       deque(size_type __n, const value_type& __value,
1417:      const allocator_type& __a = allocator_type())
1417:       : _Base(__a, _S_check_init_len(__n, __a))
1417:       { _M_fill_initialize(__value); }
1417: # 917 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       deque(const deque& __x)
1417:       : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()),
1417:        __x.size())
1417:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1417:         this->_M_impl._M_start,
1417:         _M_get_Tp_allocator()); }
1417: # 933 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       deque(deque&&) = default;
1417: 
1417: 
1417:       deque(const deque& __x, const __type_identity_t<allocator_type>& __a)
1417:       : _Base(__a, __x.size())
1417:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1417:         this->_M_impl._M_start,
1417:         _M_get_Tp_allocator()); }
1417: 
1417: 
1417:       deque(deque&& __x, const __type_identity_t<allocator_type>& __a)
1417:       : deque(std::move(__x), __a, typename _Alloc_traits::is_always_equal{})
1417:       { }
1417: 
1417:     private:
1417:       deque(deque&& __x, const allocator_type& __a, true_type)
1417:       : _Base(std::move(__x), __a)
1417:       { }
1417: 
1417:       deque(deque&& __x, const allocator_type& __a, false_type)
1417:       : _Base(std::move(__x), __a, __x.size())
1417:       {
1417:  if (__x.get_allocator() != __a && !__x.empty())
1417:    {
1417:      std::__uninitialized_move_a(__x.begin(), __x.end(),
1417:      this->_M_impl._M_start,
1417:      _M_get_Tp_allocator());
1417:      __x.clear();
1417:    }
1417:       }
1417: 
1417:     public:
1417: # 976 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       deque(initializer_list<value_type> __l,
1417:      const allocator_type& __a = allocator_type())
1417:       : _Base(__a)
1417:       {
1417:  _M_range_initialize(__l.begin(), __l.end(),
1417:        random_access_iterator_tag());
1417:       }
1417: # 1001 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  deque(_InputIterator __first, _InputIterator __last,
1417:        const allocator_type& __a = allocator_type())
1417:  : _Base(__a)
1417:  {
1417:    _M_range_initialize(__first, __last,
1417:          std::__iterator_category(__first));
1417:  }
1417: # 1027 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       ~deque()
1417:       { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); }
1417: # 1039 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       deque&
1417:       operator=(const deque& __x);
1417: # 1051 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       deque&
1417:       operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal())
1417:       {
1417:  using __always_equal = typename _Alloc_traits::is_always_equal;
1417:  _M_move_assign1(std::move(__x), __always_equal{});
1417:  return *this;
1417:       }
1417: # 1070 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       deque&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  _M_assign_aux(__l.begin(), __l.end(),
1417:         random_access_iterator_tag());
1417:  return *this;
1417:       }
1417: # 1089 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       assign(size_type __n, const value_type& __val)
1417:       { _M_fill_assign(__n, __val); }
1417: # 1106 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  void
1417:  assign(_InputIterator __first, _InputIterator __last)
1417:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1417: # 1133 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       assign(initializer_list<value_type> __l)
1417:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return _Base::get_allocator(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       begin() noexcept
1417:       { return this->_M_impl._M_start; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return this->_M_impl._M_start; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       end() noexcept
1417:       { return this->_M_impl._M_finish; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       end() const noexcept
1417:       { return this->_M_impl._M_finish; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return reverse_iterator(this->_M_impl._M_finish); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return reverse_iterator(this->_M_impl._M_start); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(this->_M_impl._M_start); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return this->_M_impl._M_start; }
1417:: static inline int
1412: __gthread_join (__gthread_t __threadid, void **__value_ptr)
1412: {
1412:   return pthread_join (__threadid, __value_ptr);
1412: }
1412: 
1412: static inline int
1412: __gthread_detach (__gthread_t __threadid)
1412: {
1412:   return pthread_detach (__threadid);
1412: }
1412: 
1412: static inline int
1412: __gthread_equal (__gthread_t __t1, __gthread_t __t2)
1412: {
1412:   return pthread_equal (__t1, __t2);
1412: }
1412: 
1412: static inline __gthread_t
1412: __gthread_self (void)
1412: {
1412:   return pthread_self ();
1412: }
1412: 
1412: static inline int
1412: __gthread_yield (void)
1412: {
1412:   return sched_yield ();
1412: }
1412: 
1412: static inline int
1412: __gthread_once (__gthread_once_t *__once, void (*__func) (void))
1412: {
1412:   if (__gthread_active_p ())
1412:     return pthread_once (__once, __func);
1412:   else
1412:     return -1;
1412: }
1412: 
1412: static inline int
1412: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
1412: {
1412:   return pthread_key_create (__key, __dtor);
1412: }
1412: 
1412: static inline int
1412: __gthread_key_delete (__gthread_key_t __key)
1412: {
1412:   return pthread_key_delete (__key);
1412: }
1412: 
1412: static inline void *
1412: __gthread_getspecific (__gthread_key_t __key)
1412: {
1412:   return pthread_getspecific (__key);
1412: }
1412: 
1412: static inline int
1412: __gthread_setspecific (__gthread_key_t __key, const void *__ptr)
1412: {
1412:   return pthread_setspecific (__key, __ptr);
1412: }
1412: 
1412: static inline void
1412: __gthread_mutex_init_function (__gthread_mutex_t *__mutex)
1412: {
1412:   if (__gthread_active_p ())
1412:     pthread_mutex_init (__mutex, __null);
1412: }
1412: 
1412: static inline int
1412: __gthread_mutex_destroy (__gthread_mutex_t *__mutex)
1412: {
1412:   if (__gthread_active_p ())
1412:     return pthread_mutex_destroy (__mutex);
1412:   else
1412:     return 0;
1412: }
1412: 
1412: static inline int
1412: __gthread_mutex_lock (__gthread_mutex_t *__mutex)
1412: {
1412:   if (__gthread_active_p ())
1412:     return pthread_mutex_lock (__mutex);
1412:   else
1412:     return 0;
1412: }
1412: 
1412: static inline int
1412: __gthread_mutex_trylock (__gthread_mutex_t *__mutex)
1412: {
1412:   if (__gthread_active_p ())
1412:     return pthread_mutex_trylock (__mutex);
1412:   else
1412:     return 0;
1412: }
1412: 
1412: 
1412: static inline int
1412: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
1412:       const __gthread_time_t *__abs_timeout)
1412: {
1412:   if (__gthread_active_p ())
1412:     return pthread_mutex_timedlock (__mutex, __abs_timeout);
1412:   else
1412:     return 0;
1412: }
1412: 
1412: 
1412: static inline int
1412: __gthread_mutex_unlock (__gthread_mutex_t *__mutex)
1412: {
1412:   if (__gthread_active_p ())
1412:     return pthread_mutex_unlock (__mutex);
1412:   else
1412:     return 0;
1412: }
1412: # 808 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1412: static inline int
1412: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
1412: {
1412:   return __gthread_mutex_lock (__mutex);
1412: }
1412: 
1412: static inline int
1412: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
1412: {
1412:   return __gthread_mutex_trylock (__mutex);
1412: }
1412: 
1412: 
1412: static inline int
1412: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
1412:          const __gthread_time_t *__abs_timeout)
1412: {
1412:   return __gthread_mutex_timedlock (__mutex, __abs_timeout);
1412: }
1412: 
1412: 
1412: static inline int
1412: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
1412: {
1412:   return __gthread_mutex_unlock (__mutex);
1412: }
1412: 
1412: static inline int
1412: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
1412: {
1412:   return __gthread_mutex_destroy (__mutex);
1412: }
1412: # 850 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1412: static inline int
1412: __gthread_cond_broadcast (__gthread_cond_t *__cond)
1412: {
1412:   return pthread_cond_broadcast (__cond);
1412: }
1412: 
1412: static inline int
1412: __gthread_cond_signal (__gthread_cond_t *__cond)
1412: {
1412:   return pthread_cond_signal (__cond);
1412: }
1412: 
1412: static inline int
1412: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
1412: {
1412:   return pthread_cond_wait (__cond, __mutex);
1412: }
1412: 
1412: static inline int
1412: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
1412:      const __gthread_time_t *__abs_timeout)
1412: {
1412:   return pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
1412: }
1412: 
1412: static inline int
1412: __gthread_cond_wait_recursive (__gthread_cond_t *__cond,
1412:           __gthread_recursive_mutex_t *__mutex)
1412: {
1412:   return __gthread_cond_wait (__cond, __mutex);
1412: }
1412: 
1412: static inline int
1412: __gthread_cond_destroy (__gthread_cond_t* __cond)
1412: {
1412:   return pthread_cond_destroy (__cond);
1412: }
1412: # 149 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 2 3
1412: 
1412: 
1412: #pragma GCC visibility pop
1412: # 36 "/usr/include/c++/12/ext/atomicity.h" 2 3
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 1 3
1412: # 32 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 3
1412: typedef int _Atomic_word;
1412: # 37 "/usr/include/c++/12/ext/atomicity.h" 2 3
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 3 4
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: extern char __libc_single_threaded;
1412: 
1412: }
1412: # 39 "/usr/include/c++/12/ext/atomicity.h" 2 3
1412: 
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   __attribute__((__always_inline__))
1412:   inline bool
1412:   __is_single_threaded() noexcept
1412:   {
1412: 
1412: 
1412: 
1412:     return ::__libc_single_threaded;
1412: 
1412: 
1412: 
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline _Atomic_word
1412:   __attribute__((__always_inline__))
1412:   __exchange_and_add(volatile _Atomic_word* __mem, int __val)
1412:   { return __atomic_fetch_add(__mem, __val, 4); }
1412: 
1412:   inline void
1412:   __attribute__((__always_inline__))
1412:   __atomic_add(volatile _Atomic_word* __mem, int __val)
1412:   { __atomic_fetch_add(__mem, __val, 4); }
1412: # 80 "/usr/include/c++/12/ext/atomicity.h" 3
1412:   inline _Atomic_word
1412:   __attribute__((__always_inline__))
1412:   __exchange_and_add_single(_Atomic_word* __mem, int __val)
1412:   {
1412:     _Atomic_word __result = *__mem;
1412:     *__mem += __val;
1412:     return __result;
1412:   }
1412: 
1412:   inline void
1412:   __attribute__((__always_inline__))
1412:   __atomic_add_single(_Atomic_word* __mem, int __val)
1412:   { *__mem += __val; }
1412: 
1412:   inline _Atomic_word
1412:   __attribute__ ((__always_inline__))
1412:   __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
1412:   {
1412:     if (__is_single_threaded())
1412:       return __exchange_and_add_single(__mem, __val);
1412:     else
1412:       return __exchange_and_add(__mem, __val);
1412:   }
1412: 
1412:   inline void
1412:   __attribute__ ((__always_inline__))
1412:   __atomic_add_dispatch(_Atomic_word* __mem, int __val)
1412:   {
1412:     if (__is_single_threaded())
1412:       __atomic_add_single(__mem, __val);
1412:     else
1412:       __atomic_add(__mem, __val);
1412:   }
1412: 
1412: 
1412: }
1412: # 62 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1412: # 1 "/usr/include/c++/12/ext/concurrence.h" 1 3
1412: # 32 "/usr/include/c++/12/ext/concurrence.h" 3
1412:        
1412: # 33 "/usr/include/c++/12/ext/concurrence.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/exception" 1 3
1412: # 33 "/usr/include/c++/12/exception" 3
1412:        
1412: # 34 "/usr/include/c++/12/exception" 3
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" {
1412: 
1412: namespac 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return this->_M_impl._M_finish; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crend() const noexcept
1417:       { return const_reverse_iterator(this->_M_impl._M_start); }
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       size() const noexcept
1417:       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _S_max_size(_M_get_Tp_allocator()); }
1417: # 1287 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       resize(size_type __new_size)
1417:       {
1417:  const size_type __len = size();
1417:  if (__new_size > __len)
1417:    _M_default_append(__new_size - __len);
1417:  else if (__new_size < __len)
1417:    _M_erase_at_end(this->_M_impl._M_start
1417:      + difference_type(__new_size));
1417:       }
1417: # 1309 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       resize(size_type __new_size, const value_type& __x)
1417: # 1326 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       {
1417:  const size_type __len = size();
1417:  if (__new_size > __len)
1417:    _M_fill_insert(this->_M_impl._M_finish, __new_size - __len, __x);
1417:  else if (__new_size < __len)
1417:    _M_erase_at_end(this->_M_impl._M_start
1417:      + difference_type(__new_size));
1417:       }
1417: 
1417: 
1417: 
1417:       void
1417:       shrink_to_fit() noexcept
1417:       { _M_shrink_to_fit(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
1417: # 1362 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       [[__nodiscard__]]
1417:       reference
1417:       operator[](size_type __n) noexcept
1417:       {
1417:  ;
1417:  return this->_M_impl._M_start[difference_type(__n)];
1417:       }
1417: # 1381 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       operator[](size_type __n) const noexcept
1417:       {
1417:  ;
1417:  return this->_M_impl._M_start[difference_type(__n)];
1417:       }
1417: 
1417:     protected:
1417: 
1417:       void
1417:       _M_range_check(size_type __n) const
1417:       {
1417:  if (__n >= this->size())
1417:    __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)")
1417: 
1417:                             ,
1417:        __n, this->size());
1417:       }
1417: 
1417:     public:
1417: # 1413 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       reference
1417:       at(size_type __n)
1417:       {
1417:  _M_range_check(__n);
1417:  return (*this)[__n];
1417:       }
1417: # 1431 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       const_reference
1417:       at(size_type __n) const
1417:       {
1417:  _M_range_check(__n);
1417:  return (*this)[__n];
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       front() noexcept
1417:       {
1417:  ;
1417:  return *begin();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       front() const noexcept
1417:       {
1417:  ;
1417:  return *begin();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       back() noexcept
1417:       {
1417:  ;
1417:  iterator __tmp = end();
1417:  --__tmp;
1417:  return *__tmp;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       back() const noexcept
1417:       {
1417:  ;
1417:  const_iterator __tmp = end();
1417:  --__tmp;
1417:  return *__tmp;
1417:       }
1417: # 1500 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       push_front(const value_type& __x)
1417:       {
1417:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1417:    {
1417:      _Alloc_traits::construct(this->_M_impl,
1417:          this->_M_impl._M_start._M_cur - 1,
1417:          __x);
1417:      --this->_M_impl._M_start._M_cur;
1417:    }
1417:  else
1417:    _M_push_front_aux(__x);
1417:       }
1417: 
1417: 
1417:       void
1417:       push_front(value_type&& __x)
1417:       { emplace_front(std::move(__x)); }
1417: 
1417:       template<typename... _Args>
1417: 
1417:  reference
1417: 
1417: 
1417: 
1417:  emplace_front(_Args&&... __args);
1417: # 1537 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       push_back(const value_type& __x)
1417:       {
1417:  if (this->_M_impl._M_finish._M_cur
1417:      != this->_M_impl._M_finish._M_last - 1)
1417:    {
1417:      _Alloc_traits::construct(this->_M_impl,
1417:          this->_M_impl._M_finish._M_cur, __x);
1417:      ++this->_M_impl._M_finish._M_cur;
1417:    }
1417:  else
1417:    _M_push_back_aux(__x);
1417:       }
1417: 
1417: 
1417:       void
1417:       push_back(value_type&& __x)
1417:       { emplace_back(std::move(__x)); }
1417: 
1417:       template<typename... _Args>
1417: 
1417:  reference
1417: 
1417: 
1417: 
1417:  emplace_back(_Args&&... __args);
1417: # 1573 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       pop_front() noexcept
1417:       {
1417:  ;
1417:  if (this->_M_impl._M_start._M_cur
1417:      != this->_M_impl._M_start._M_last - 1)
1417:    {
1417:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1417:        this->_M_impl._M_start._M_cur);
1417:      ++this->_M_impl._M_start._M_cur;
1417:    }
1417:  else
1417:    _M_pop_front_aux();
1417:       }
1417: # 1596 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       pop_back() noexcept
1417:       {
1417:  ;
1417:  if (this->_M_impl._M_finish._M_cur
1417:      != this->_M_impl._M_finish._M_first)
1417:    {
1417:      --this->_M_impl._M_finish._M_cur;
1417:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1417:        this->_M_impl._M_finish._M_cur);
1417:    }
1417:  else
1417:    _M_pop_back_aux();
1417:       }
1417: # 1621 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace(const_iterator __position, _Args&&... __args);
1417: # 1634 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       iterator
1417:       insert(const_iterator __position, const value_type& __x);
1417: # 1660 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       iterator
1417:       insert(const_iterator __position, value_type&& __x)
1417:       { return emplace(__position, std::move(__x)); }
1417: # 1674 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       iterator
1417:       insert(const_iterator __p, initializer_list<value_type> __l)
1417:       {
1417:  auto __offset = __p - cbegin();
1417:  _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(),
1417:        std::random_access_iterator_tag());
1417:  return begin() + __offset;
1417:       }
1417: # 1693 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       iterator
1417:       insert(const_iterator __position, size_type __n, const value_type& __x)
1417:       {
1417:  difference_type __offset = __position - cbegin();
1417:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1417:  return begin() + __offset;
1417:       }
1417: # 1727 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  iterator
1417:  insert(const_iterator __position, _InputIterator __first,
1417:         _InputIterator __last)
1417:  {
1417:    difference_type __offset = __position - cbegin();
1417:    _M_range_insert_aux(__position._M_const_cast(), __first, __last,
1417:          std::e std
1412: {
1412: # 53 "/usr/include/c++/12/exception" 3
1412:   class bad_exception : public exception
1412:   {
1412:   public:
1412:     bad_exception() noexcept { }
1412: 
1412: 
1412: 
1412:     virtual ~bad_exception() noexcept;
1412: 
1412: 
1412:     virtual const char*
1412:     what() const noexcept;
1412:   };
1412: 
1412: 
1412:   typedef void (*terminate_handler) ();
1412: 
1412: 
1412:   terminate_handler set_terminate(terminate_handler) noexcept;
1412: 
1412: 
1412: 
1412:   terminate_handler get_terminate() noexcept;
1412: 
1412: 
1412: 
1412: 
1412:   void terminate() noexcept __attribute__ ((__noreturn__));
1412: 
1412: 
1412: 
1412:   typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) ();
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   __attribute__ ((__deprecated__))
1412:   unexpected_handler set_unexpected(unexpected_handler) noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   __attribute__ ((__deprecated__))
1412:   unexpected_handler get_unexpected() noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   __attribute__ ((__deprecated__))
1412:   void unexpected() __attribute__ ((__noreturn__));
1412: # 123 "/usr/include/c++/12/exception" 3
1412:   __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead")))
1412:   bool uncaught_exception() noexcept __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   int uncaught_exceptions() noexcept __attribute__ ((__pure__));
1412: 
1412: 
1412: 
1412: }
1412: 
1412: namespace __gnu_cxx
1412: {
1412: 
1412: # 158 "/usr/include/c++/12/exception" 3
1412:   void __verbose_terminate_handler();
1412: 
1412: 
1412: }
1412: 
1412: }
1412: 
1412: #pragma GCC visibility pop
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/exception_ptr.h" 1 3
1412: # 34 "/usr/include/c++/12/bits/exception_ptr.h" 3
1412: #pragma GCC visibility push(default)
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 1 3
1412: # 34 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1412:        
1412: # 35 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1412: 
1412: #pragma GCC visibility push(default)
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 145 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1412: typedef int ptrdiff_t;
1412: # 424 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1412: typedef struct {
1412:   long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
1412:   long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
1412: # 435 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1412: } max_align_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   typedef decltype(nullptr) nullptr_t;
1412: # 39 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 2 3
1412: # 50 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1412: namespace std
1412: {
1412:   class type_info;
1412: }
1412: 
1412: namespace __cxxabiv1
1412: {
1412:   struct __cxa_refcounted_exception;
1412: 
1412:   extern "C"
1412:     {
1412: 
1412:       void*
1412:       __cxa_allocate_exception(size_t) noexcept;
1412: 
1412:       void
1412:       __cxa_free_exception(void*) noexcept;
1412: 
1412: 
1412:       __cxa_refcounted_exception*
1412:       __cxa_init_primary_exception(void *object, std::type_info *tinfo,
1412:                 void ( *dest) (void *)) noexcept;
1412: 
1412:     }
1412: }
1412: 
1412: 
1412: 
1412: #pragma GCC visibility pop
1412: # 39 "/usr/include/c++/12/bits/exception_ptr.h" 2 3
1412: # 52 "/usr/include/c++/12/bits/exception_ptr.h" 3
1412: extern "C++" {
1412: 
1412: namespace std
1412: {
1412:   class type_info;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   namespace __exception_ptr
1412:   {
1412:     class exception_ptr;
1412:   }
1412: 
1412:   using __exception_ptr::exception_ptr;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   exception_ptr current_exception() noexcept;
1412: 
1412:   template<typename _Ex>
1412:   exception_ptr make_exception_ptr(_Ex) noexcept;
1412: 
1412: 
1412:   void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
1412: 
1412:   namespace __exception_ptr
1412:   {
1412:     using std::rethrow_exception;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     class exception_ptr
1412:     {
1412:       void* _M_exception_object;
1412: 
1412:       explicit exception_ptr(void* __e) noexcept;
1412: 
1412:       void _M_addref() noexcept;
1412:       void _M_release() noexcept;
1412: 
1412:       void *_M_get() const noexcept __attribute__ ((__pure__));
1412: 
1412:       friend exception_ptr std::current_exception() noexcept;
1412:       friend void std::rethrow_exception(exception_ptr);
1412:       template<typename _Ex>
1412:       friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
1412: 
1412:     public:
1412:       exception_ptr() noexcept;
1412: 
1412:       exception_ptr(const exception_ptr&) noexcept;
1412: 
1412: 
1412:       exception_ptr(nullptr_t) noexcept
1412:       : _M_exception_object(nullptr)
1412:       { }
1412: 
1412:       exception_ptr(exception_ptr&& __o) noexcept
1412:       : _M_exception_object(__o._M_exception_object)
1412:       { __o._M_exception_object = nullptr; }
1412: # 128 "/usr/include/c++/12/bits/exception_ptr.h" 3
1412:       exception_ptr&
1412:       operator=(const exception_ptr&) noexcept;
1412: 
1412: 
1412:       exception_ptr&
1412:       operator=(exception_ptr&& __o) noexcept
1412:       {
1412:         exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
1412:         return *this;
1412:       }
1412: 
1412: 
1412:       ~exception_ptr() noexcept;
1412: 
1412:       void
1412:       swap(exception_ptr&) noexcept;
1412: # 155 "/usr/include/c++/12/bits/exception_ptr.h" 3
1412:       explicit operator bool() const noexcept
1412:       { return _M_exception_object; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       friend bool
1412:       operator==(const exception_ptr& __x, const exception_ptr& __y)
1412:       noexcept
1412:       { return __x._M_exception_object == __y._M_exception_object; }
1412: 
1412:       friend bool
1412:       operator!=(const exception_ptr& __x, const exception_ptr& __y)
1412:       noexcept
1412:       { return __x._M_exception_object != __y._M_exception_object; }
1412: 
1412: 
1412:       const class std::type_info*
1412:       __cxa_exception_type() const noexcept
1412:  __attribute__ ((__pure__));
1412:     };
1412: 
1412:    
1412:     inline
1412:     exception_ptr::exception_ptr() noexcept
1412:     : _M_exception_object(0)
1412:     { }
1412: 
1412:    
1412:     inline
1412:     exception_ptr::exception_ptr(const exception_ptr& __other)
1412:     noexcept
1412:     : _M_exception_object(__other._M_exception_object)
1412:     {
1412:       if (_M_exception_object)
1412:  _M_addref();
1412:     }
1412: 
1412:    
1412:     inline
1412:     exception_ptr::~exception_ptr() noexcept
1412:     {
1412:       if (_M_exception_object)
1412:  _M_release();
1412:     }
1412: 
1412:    
1412:     inline exception_ptr&
1412:     exception_ptr::operator=(const exception_ptr& __other) noexcept
1412:     {
1412:       exception_ptr(__other).swap(*this);
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     inline void
1412:     exception_ptr::swap(exception_ptr &__other) noexcept
1412:     {
1412:       void *__tmp = _M_exception_object;
1412:       _M_exception_object = __other._M_exception_object;
1412:       __other._M_exception_object = __tmp;
1412:     }
1412: 
1412: 
1412:     inline void
1412:     swap(exception_ptr& __lhs, exception_ptr& __rhs)
1412:     { __lhs.swap(__rhs); }
1412: 
1412: 
1412:     template<typename _Ex>
1412:      
1412:       inline void
1412:       __dest_thunk(void* __x)
1412:       { static_cast<_Ex*>(__x)->~_Ex(); }
1412: 
1412: 
1412:   }
1412: 
1412: 
1412: 
1412:   template<typename _Ex>
1412:     exception_ptr
1412:     make_exception_ptr(_Ex __ex) noexcept
1412:     {
1412: 
1412:       using _Ex2 = typename decay<_Ex>::type;
1412:       void* __e = __cxxabiv1::__cxa_allocate_exception(size__iterator_category(__first));
1417:    return begin() + __offset;
1417:  }
1417: # 1773 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       iterator
1417: 
1417:       erase(const_iterator __position)
1417: 
1417: 
1417: 
1417:       { return _M_erase(__position._M_const_cast()); }
1417: # 1797 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       iterator
1417: 
1417:       erase(const_iterator __first, const_iterator __last)
1417: 
1417: 
1417: 
1417:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1417: # 1816 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       swap(deque& __x) noexcept
1417:       {
1417: 
1417:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1417:                                                           ;
1417: 
1417:  _M_impl._M_swap_data(__x._M_impl);
1417:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1417:       __x._M_get_Tp_allocator());
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       clear() noexcept
1417:       { _M_erase_at_end(begin()); }
1417: 
1417:     protected:
1417: # 1866 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       static size_t
1417:       _S_check_init_len(size_t __n, const allocator_type& __a)
1417:       {
1417:  if (__n > _S_max_size(__a))
1417:    __throw_length_error(
1417:        ("cannot create std::deque larger than max_size()"));
1417:  return __n;
1417:       }
1417: 
1417:       static size_type
1417:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1417:       {
1417:  const size_t __diffmax = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max;
1417:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1417:  return (std::min)(__diffmax, __allocmax);
1417:       }
1417: # 1895 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1417:        std::input_iterator_tag);
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417:  void
1417:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1417:        std::forward_iterator_tag);
1417: # 1917 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       _M_fill_initialize(const value_type& __value);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_default_initialize();
1417: # 1948 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1417:         std::input_iterator_tag);
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417:  void
1417:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1417:         std::forward_iterator_tag)
1417:  {
1417:    const size_type __len = std::distance(__first, __last);
1417:    if (__len > size())
1417:      {
1417:        _ForwardIterator __mid = __first;
1417:        std::advance(__mid, size());
1417:        std::copy(__first, __mid, begin());
1417:        _M_range_insert_aux(end(), __mid, __last,
1417:       std::__iterator_category(__first));
1417:      }
1417:    else
1417:      _M_erase_at_end(std::copy(__first, __last, begin()));
1417:  }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_fill_assign(size_type __n, const value_type& __val)
1417:       {
1417:  if (__n > size())
1417:    {
1417:      std::fill(begin(), end(), __val);
1417:      _M_fill_insert(end(), __n - size(), __val);
1417:    }
1417:  else
1417:    {
1417:      _M_erase_at_end(begin() + difference_type(__n));
1417:      std::fill(begin(), end(), __val);
1417:    }
1417:       }
1417: # 1996 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename... _Args>
1417:  void _M_push_back_aux(_Args&&... __args);
1417: 
1417:       template<typename... _Args>
1417:  void _M_push_front_aux(_Args&&... __args);
1417: 
1417: 
1417:       void _M_pop_back_aux();
1417: 
1417:       void _M_pop_front_aux();
1417: # 2035 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  _M_range_insert_aux(iterator __pos, _InputIterator __first,
1417:        _InputIterator __last, std::input_iterator_tag);
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417:  void
1417:  _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
1417:        _ForwardIterator __last, std::forward_iterator_tag);
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  _M_insert_aux(iterator __pos, _Args&&... __args);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);
1417: 
1417: 
1417:       template<typename _ForwardIterator>
1417:  void
1417:  _M_insert_aux(iterator __pos,
1417:         _ForwardIterator __first, _ForwardIterator __last,
1417:         size_type __n);
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_destroy_data_aux(iterator __first, iterator __last);
1417: 
1417: 
1417: 
1417:       template<typename _Alloc1>
1417:  void
1417:  _M_destroy_data(iterator __first, iterator __last, const _Alloc1&)
1417:  { _M_destroy_data_aux(__first, __last); }
1417: 
1417:       void
1417:       _M_destroy_data(iterator __first, iterator __last,
1417:         const std::allocator<_Tp>&)
1417:       {
1417:  if (!__has_trivial_destructor(value_type))
1417:    _M_destroy_data_aux(__first, __last);
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_erase_at_begin(iterator __pos)
1417:       {
1417:  _M_destroy_data(begin(), __pos, _M_get_Tp_allocator());
1417:  _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node);
1417:  this->_M_impl._M_start = __pos;
1417:       }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_erase_at_end(iterator __pos)
1417:       {
1417:  _M_destroy_data(__pos, end(), _M_get_Tp_allocator());
1417:  _M_destroy_nodes(__pos._M_node + 1,
1417:     this->_M_impl._M_finish._M_node + 1);
1417:  this->_M_impl._M_finish = __pos;
1417:       }
1417: 
1417:       iterator
1417:       _M_erase(iterator __pos);
1417: 
1417:       iterator
1417:       _M_erase(iterator __first, iterator __last);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_default_append(size_type __n);
1417: 
1417:       bool
1417:       _M_shrink_to_fit();
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       _M_reserve_elements_at_front(size_type __n)
1417:       {
1417:  const size_type __vacancies = this->_M_impl._M_start._M_cur
1417:           - this->_M_impl._M_start._M_first;
1417:  if (__n > __vacancies)
1417:    _M_new_elements_at_front(__n - __vacancies);
1417:  return this->_M_impl._M_start - difference_type(__n);
1417:       }
1417: 
1417:       iterator
1417:       _M_reserve_elements_at_back(size_type __n)
1417:       {
1417:  const size_type __vacancies = (this->_M_impl._M_finish._M_last
1417:            - this->_M_impl._M_finish._M_cur) - 1;
1417:  if (__n > __vacancies)
1417:    _M_new_elements_at_back(__n - __vacancies);
1417:  return this->_M_impl._M_finish + difference_type(__n);
1417:       }
1417: 
1417:       void
1417:       _M_new_elements_at_front(size_type __new_elements);
1417: 
1417:       void
1417:       _M_new_elements_at_back(size_type __new_elements);
1417: # 2167 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:       void
1417:       _M_reserve_map_at_back(size_type __nodes_to_add = 1)
1417:       {
1417:  if (__nodes_to_add + 1 > this->_M_impl._M_map_size
1417:      - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
1417:    _M_reallocate_map(__nodes_to_add, false);
1417:       }
1417: 
1417:       void
1417:       _M_reserve_map_at_front(size_type __nodes_to_add = 1)
1417:       {
1417:  if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
1417:            - this->_M_impl._M_map))
1417:    _M_reallocate_map(__nodes_to_add, truof(_Ex));
1412:       (void) __cxxabiv1::__cxa_init_primary_exception(
1412:    __e, const_cast<std::type_info*>(&typeid(_Ex)),
1412:    __exception_ptr::__dest_thunk<_Ex2>);
1412:       try
1412:  {
1412:    ::new (__e) _Ex2(__ex);
1412:    return exception_ptr(__e);
1412:  }
1412:       catch(...)
1412:  {
1412:    __cxxabiv1::__cxa_free_exception(__e);
1412:    return current_exception();
1412:  }
1412: # 268 "/usr/include/c++/12/bits/exception_ptr.h" 3
1412:     }
1412: # 282 "/usr/include/c++/12/bits/exception_ptr.h" 3
1412: }
1412: 
1412: }
1412: 
1412: #pragma GCC visibility pop
1412: # 169 "/usr/include/c++/12/exception" 2 3
1412: # 1 "/usr/include/c++/12/bits/nested_exception.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/nested_exception.h" 3
1412: #pragma GCC visibility push(default)
1412: # 42 "/usr/include/c++/12/bits/nested_exception.h" 3
1412: extern "C++" {
1412: 
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class nested_exception
1412:   {
1412:     exception_ptr _M_ptr;
1412: 
1412:   public:
1412:     nested_exception() noexcept : _M_ptr(current_exception()) { }
1412: 
1412:     nested_exception(const nested_exception&) noexcept = default;
1412: 
1412:     nested_exception& operator=(const nested_exception&) noexcept = default;
1412: 
1412:     virtual ~nested_exception() noexcept;
1412: 
1412:     [[noreturn]]
1412:     void
1412:     rethrow_nested() const
1412:     {
1412:       if (_M_ptr)
1412:  rethrow_exception(_M_ptr);
1412:       std::terminate();
1412:     }
1412: 
1412:     exception_ptr
1412:     nested_ptr() const noexcept
1412:     { return _M_ptr; }
1412:   };
1412: 
1412: 
1412: 
1412:   template<typename _Except>
1412:     struct _Nested_exception : public _Except, public nested_exception
1412:     {
1412:       explicit _Nested_exception(const _Except& __ex)
1412:       : _Except(__ex)
1412:       { }
1412: 
1412:       explicit _Nested_exception(_Except&& __ex)
1412:       : _Except(static_cast<_Except&&>(__ex))
1412:       { }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[noreturn]]
1412:     inline void
1412:     __throw_with_nested_impl(_Tp&& __t, true_type)
1412:     {
1412:       using _Up = typename remove_reference<_Tp>::type;
1412:       throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     [[noreturn]]
1412:     inline void
1412:     __throw_with_nested_impl(_Tp&& __t, false_type)
1412:     { throw std::forward<_Tp>(__t); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[noreturn]]
1412:     inline void
1412:     throw_with_nested(_Tp&& __t)
1412:     {
1412:       using _Up = typename decay<_Tp>::type;
1412:       using _CopyConstructible
1412:  = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
1412:       static_assert(_CopyConstructible::value,
1412:    "throw_with_nested argument must be CopyConstructible");
1412:       using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>,
1412:        __not_<is_base_of<nested_exception, _Up>>>;
1412:       std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{});
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using __rethrow_if_nested_cond = typename enable_if<
1412:       __and_<is_polymorphic<_Tp>,
1412:       __or_<__not_<is_base_of<nested_exception, _Tp>>,
1412:      is_convertible<_Tp*, nested_exception*>>>::value
1412:     >::type;
1412: 
1412: 
1412:   template<typename _Ex>
1412:     inline __rethrow_if_nested_cond<_Ex>
1412:     __rethrow_if_nested_impl(const _Ex* __ptr)
1412:     {
1412:       if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
1412:  __ne_ptr->rethrow_nested();
1412:     }
1412: 
1412: 
1412:   inline void
1412:   __rethrow_if_nested_impl(const void*)
1412:   { }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Ex>
1412:     inline void
1412:     rethrow_if_nested(const _Ex& __ex)
1412:     { std::__rethrow_if_nested_impl(std::__addressof(__ex)); }
1412: 
1412: 
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: #pragma GCC visibility pop
1412: # 170 "/usr/include/c++/12/exception" 2 3
1412: # 35 "/usr/include/c++/12/ext/concurrence.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   enum _Lock_policy { _S_single, _S_mutex, _S_atomic };
1412: 
1412: 
1412: 
1412:   static const _Lock_policy __default_lock_policy =
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   _S_mutex;
1412: 
1412: 
1412: 
1412: 
1412:   class __concurrence_lock_error : public std::exception
1412:   {
1412:   public:
1412:     virtual char const*
1412:     what() const throw()
1412:     { return "__gnu_cxx::__concurrence_lock_error"; }
1412:   };
1412: 
1412:   class __concurrence_unlock_error : public std::exception
1412:   {
1412:   public:
1412:     virtual char const*
1412:     what() const throw()
1412:     { return "__gnu_cxx::__concurrence_unlock_error"; }
1412:   };
1412: 
1412:   class __concurrence_broadcast_error : public std::exception
1412:   {
1412:   public:
1412:     virtual char const*
1412:     what() const throw()
1412:     { return "__gnu_cxx::__concurrence_broadcast_error"; }
1412:   };
1412: 
1412:   class __concurrence_wait_error : public std::exception
1412:   {
1412:   public:
1412:     virtual char const*
1412:     what() const throw()
1412:     { return "__gnu_cxx::__concurrence_wait_error"; }
1412:   };
1412: 
1412: 
1412:   inline void
1412:   __throw_concurrence_lock_error()
1412:   { (throw (__concurrence_lock_error())); }
1412: 
1412:   inline void
1412:   __throw_concurrence_unlock_error()
1412:   { (throw (__concurrence_unlock_error())); }
1412: 
1412: 
1412:   inline void
1412:   __throw_concurrence_broadcast_error()
1412:   { (throw (__concurrence_broadcast_error())); }
1412: 
1412:   inline void
1412:   __throw_concurrence_wait_error()
1412:   { (throw (__concurrence_wait_error())); }
1412: 
1412: 
1412:   class __mutex
1412:   {
1412:   private:
1412: 
1412:     __gthread_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1412: 
1412: 
1412: 
1412: 
1412:     __mutex(const __mutex&);
1412:     __mutex& operator=(const __mutex&);
1412: 
1412:   public:
1412:     __mutex()
1412:     {
1412: 
1412: 
1412: 
1412: 
1412:     }
1412: # 144 "/usr/include/c++/12/ext/concurrence.h" 3
1412:     void lock()
1412:     {
1412: 
1412:       if (__gthread_active_p())
1412:  {
1412:    if (__gthread_mutex_lock(&_M_mutex) != 0)
1412:      __throw_concurrence_lock_error();
1412:  }
1412: 
1412:     }
1412: 
1412:     void unlock()
1412:     {
1412: 
1412:       if (__gthread_active_p())
1412:  {
1412:    if (__gthread_mutex_unlock(&_M_mutex) != 0)
1412:      __throw_concurrence_unlock_error();
1412:  }
1412: 
1412:     }
1412: 
1412:     __gthread_mutex_t* gthread_mutex(void)
1412:       { return &_M_mutex; }
1412:   };
1412: 
1412:   class __recursive_mutex
1412:   {
1412:   private:
1412: 
1412:     __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1412: 
1412: 
1412: 
1412: 
1412:     __recursive_mutex(const __recursive_mutex&);
1412:     __recursive_mutex& operator=(const __recursive_mutex&);
1412: 
1412:   public:
1412:     __recursive_mutex()
1412:     {
1412: 
1412: 
1412: 
1412: 
1412:     }
1412: # 199 "/usr/include/c++/12/ext/concurrence.h" 3
1412:     void lock()
1412:     {
1412: 
1412:       if (__gthread_active_p())
1412:  {
1412:    if (__gthread_recursive_mutex_lock(&_M_mutex) != 0)
1412:      __throw_concurrence_lock_error();
1412:  }
1412: 
1412:     }
1412: 
1412:     void unlock()
1412:     {
1412: 
1412:       if (__gthread_active_p())
1412:  {
1412:    if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0)
1412:      __throw_concurrence_unlock_error();
1412:  }
1412: 
1412:     }
1412: 
1412:     __gthread_recursive_mutex_t* gthread_recursive_mutex(void)
1412:     { return &_M_mutex; }
1412:   };
1412: 
1412: 
1412: 
1412: 
1412:   class __scoped_lock
1412:   {
1412:   public:
1412:     te);
1417:       }
1417: 
1417:       void
1417:       _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_move_assign1(deque&& __x, true_type) noexcept
1417:       {
1417:  this->_M_impl._M_swap_data(__x._M_impl);
1417:  __x.clear();
1417:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_move_assign1(deque&& __x, false_type)
1417:       {
1417:  if (_M_get_Tp_allocator() == __x._M_get_Tp_allocator())
1417:    return _M_move_assign1(std::move(__x), true_type());
1417: 
1417:  constexpr bool __move_storage =
1417:    _Alloc_traits::_S_propagate_on_move_assign();
1417:  _M_move_assign2(std::move(__x), __bool_constant<__move_storage>());
1417:       }
1417: 
1417: 
1417: 
1417:       template<typename... _Args>
1417:       void
1417:       _M_replace_map(_Args&&... __args)
1417:       {
1417: 
1417:  deque __newobj(std::forward<_Args>(__args)...);
1417: 
1417:  clear();
1417:  _M_deallocate_node(*begin()._M_node);
1417:  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1417:  this->_M_impl._M_map = nullptr;
1417:  this->_M_impl._M_map_size = 0;
1417: 
1417:  this->_M_impl._M_swap_data(__newobj._M_impl);
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_move_assign2(deque&& __x, true_type)
1417:       {
1417: 
1417:  auto __alloc = __x._M_get_Tp_allocator();
1417: 
1417: 
1417:  _M_replace_map(std::move(__x));
1417: 
1417:  _M_get_Tp_allocator() = std::move(__alloc);
1417:       }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_move_assign2(deque&& __x, false_type)
1417:       {
1417:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1417:    {
1417: 
1417: 
1417:      _M_replace_map(std::move(__x), __x.get_allocator());
1417:    }
1417:  else
1417:    {
1417: 
1417: 
1417:      _M_assign_aux(std::make_move_iterator(__x.begin()),
1417:      std::make_move_iterator(__x.end()),
1417:      std::random_access_iterator_tag());
1417:      __x.clear();
1417:    }
1417:       }
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _InputIterator, typename _ValT
1417:       = typename iterator_traits<_InputIterator>::value_type,
1417:     typename _Allocator = allocator<_ValT>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     deque(_InputIterator, _InputIterator, _Allocator = _Allocator())
1417:       -> deque<_ValT, _Allocator>;
1417: # 2287 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1417:     { return __x.size() == __y.size()
1417:       && std::equal(__x.begin(), __x.end(), __y.begin()); }
1417: # 2327 "/usr/include/c++/12/bits/stl_deque.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1417:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1417:        __y.begin(), __y.end()); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     inline void
1417:     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<class _Tp>
1417:     struct __is_bitwise_relocatable<std::deque<_Tp>>
1417:     : true_type { };
1417: 
1417: 
1417: 
1417: }
1417: # 65 "/usr/include/c++/12/deque" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/deque.tcc" 1 3
1417: # 61 "/usr/include/c++/12/bits/deque.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_default_initialize()
1417:     {
1417:       _Map_pointer __cur;
1417:       try
1417:  {
1417:    for (__cur = this->_M_impl._M_start._M_node;
1417:         __cur < this->_M_impl._M_finish._M_node;
1417:         ++__cur)
1417:      std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(),
1417:         _M_get_Tp_allocator());
1417:    std::__uninitialized_default_a(this->_M_impl._M_finish._M_first,
1417:       this->_M_impl._M_finish._M_cur,
1417:       _M_get_Tp_allocator());
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1417:    _M_get_Tp_allocator());
1417:    throw;
1417:  }
1417:     }
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     deque<_Tp, _Alloc>&
1417:     deque<_Tp, _Alloc>::
1417:     operator=(const deque& __x)
1417:     {
1417:       if (std::__addressof(__x) != this)
1417:  {
1417: 
1417:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1417:      {
1417:        if (!_Alloc_traits::_S_always_equal()
1417:     && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1417:   {
1417: 
1417: 
1417:     _M_replace_map(__x, __x.get_allocator());
1417:     std::__alloc_on_copy(_M_get_Tp_allocator(),
1417:            __x._M_get_Tp_allocator());
1417:     return *this;
1417:   }
1417:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1417:        __x._M_get_Tp_allocator());
1417:      }
1417: 
1417:    const size_type __len = size();
1417:    if (__len >= __x.size())
1417:      _M_erase_at_end(std::copy(__x.begin(), __x.end(),
1417:           this->_M_impl._M_start));
1417:    else
1417:      {
1417:        const_iterator __mid = __x.begin() + difference_type(__len);
1417:        std::copy(__x.begin(), __mid, this->_M_impl._M_start);
1417:        _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(),
1417:       std::random_access_iterator_tag());
1417:      }
1417:  }
1417:       return *this;
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename... _Args>
1417: 
1417:       typename deque<_Tp, _Alloc>::reference
1417: 
1417: 
1417: 
1417:       deque<_Tp, _Alloc>::
1417:       emplace_front(_Args&&... __args)
1417:       {
1417:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1417:    {
1417:      _Alloc_traits::construct(this->_M_impl,
1417:          this->_M_impl._M_start._M_cur - 1,
1417:          std::forward<_Args>(__args)...);
1417:      --this->_M_impl._M_start._M_cur;
1417:    }
1417:  else
1417:    _M_push_front_aux(std::forward<_Args>(__args)...);
1417: 
1417:  return front();
1417: 
1417:       }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename... _Args>
1417: 
1417:       typename deque<_Tp, _Alloc>::reference
1417: 
1417: 
1417: 
1417:       deque<_Tp, _Alloc>::
1417:       emplace_back(_Args&&... __args)
1417:       {
1417:  if (this->_M_impl._M_finish._M_cur
1417:      != this->_M_impl._M_finish._M_last - 1)
1417:    {
1417:      _Alloc_traits::construct(this->_M_impl,
1417:          this->_M_impl._M_finish._M_cur,
1417:          std::forward<_Args>(__args)...);
1417:      ++this->_M_impl._M_finish._M_cur;
1417:    }
1417:  else
1417:    _ypedef __mutex __mutex_type;
1412: 
1412:   private:
1412:     __mutex_type& _M_device;
1412: 
1412:     __scoped_lock(const __scoped_lock&);
1412:     __scoped_lock& operator=(const __scoped_lock&);
1412: 
1412:   public:
1412:     explicit __scoped_lock(__mutex_type& __name) : _M_device(__name)
1412:     { _M_device.lock(); }
1412: 
1412:     ~__scoped_lock() throw()
1412:     { _M_device.unlock(); }
1412:   };
1412: 
1412: 
1412:   class __cond
1412:   {
1412:   private:
1412: 
1412:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1412: 
1412: 
1412: 
1412: 
1412:     __cond(const __cond&);
1412:     __cond& operator=(const __cond&);
1412: 
1412:   public:
1412:     __cond()
1412:     {
1412: 
1412: 
1412: 
1412: 
1412:     }
1412: # 277 "/usr/include/c++/12/ext/concurrence.h" 3
1412:     void broadcast()
1412:     {
1412: 
1412:       if (__gthread_active_p())
1412:  {
1412:    if (__gthread_cond_broadcast(&_M_cond) != 0)
1412:      __throw_concurrence_broadcast_error();
1412:  }
1412: 
1412:     }
1412: 
1412:     void wait(__mutex *mutex)
1412:     {
1412: 
1412:       {
1412:    if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0)
1412:      __throw_concurrence_wait_error();
1412:       }
1412: 
1412:     }
1412: 
1412:     void wait_recursive(__recursive_mutex *mutex)
1412:     {
1412: 
1412:       {
1412:    if (__gthread_cond_wait_recursive(&_M_cond,
1412:          mutex->gthread_recursive_mutex())
1412:        != 0)
1412:      __throw_concurrence_wait_error();
1412:       }
1412: 
1412:     }
1412:   };
1412: 
1412: 
1412: 
1412: }
1412: # 63 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:   template<typename> class auto_ptr;
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class bad_weak_ptr : public std::exception
1412:   {
1412:   public:
1412:     virtual char const* what() const noexcept;
1412: 
1412:     virtual ~bad_weak_ptr() noexcept;
1412:   };
1412: 
1412: 
1412:   inline void
1412:   __throw_bad_weak_ptr()
1412:   { (throw (bad_weak_ptr())); }
1412: 
1412:   using __gnu_cxx::_Lock_policy;
1412:   using __gnu_cxx::__default_lock_policy;
1412:   using __gnu_cxx::_S_single;
1412:   using __gnu_cxx::_S_mutex;
1412:   using __gnu_cxx::_S_atomic;
1412: 
1412: 
1412:   template<_Lock_policy _Lp>
1412:     class _Mutex_base
1412:     {
1412:     protected:
1412: 
1412:       enum { _S_need_barriers = 0 };
1412:     };
1412: 
1412:   template<>
1412:     class _Mutex_base<_S_mutex>
1412:     : public __gnu_cxx::__mutex
1412:     {
1412:     protected:
1412: 
1412: 
1412: 
1412:       enum { _S_need_barriers = 1 };
1412:     };
1412: 
1412:   template<_Lock_policy _Lp = __default_lock_policy>
1412:     class _Sp_counted_base
1412:     : public _Mutex_base<_Lp>
1412:     {
1412:     public:
1412:       _Sp_counted_base() noexcept
1412:       : _M_use_count(1), _M_weak_count(1) { }
1412: 
1412:       virtual
1412:       ~_Sp_counted_base() noexcept
1412:       { }
1412: 
1412: 
1412: 
1412:       virtual void
1412:       _M_dispose() noexcept = 0;
1412: 
1412: 
1412:       virtual void
1412:       _M_destroy() noexcept
1412:       { delete this; }
1412: 
1412:       virtual void*
1412:       _M_get_deleter(const std::type_info&) noexcept = 0;
1412: 
1412: 
1412:       void
1412:       _M_add_ref_copy()
1412:       { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); }
1412: 
1412: 
1412:       void
1412:       _M_add_ref_lock()
1412:       {
1412:  if (!_M_add_ref_lock_nothrow())
1412:    __throw_bad_weak_ptr();
1412:       }
1412: 
1412: 
1412:       bool
1412:       _M_add_ref_lock_nothrow() noexcept;
1412: 
1412: 
1412:       void
1412:       _M_release() noexcept;
1412: 
1412: 
1412:       void
1412:       _M_release_last_use() noexcept
1412:       {
1412:  ;
1412:  _M_dispose();
1412: 
1412: 
1412: 
1412: 
1412:  if (_Mutex_base<_Lp>::_S_need_barriers)
1412:    {
1412:      __atomic_thread_fence (4);
1412:    }
1412: 
1412: 
1412:  ;
1412:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
1412:          -1) == 1)
1412:    {
1412:      ;
1412:      _M_destroy();
1412:    }
1412:       }
1412: 
1412: 
1412:       __attribute__((__noinline__))
1412:       void
1412:       _M_release_last_use_cold() noexcept
1412:       { _M_release_last_use(); }
1412: 
1412: 
1412:       void
1412:       _M_weak_add_ref() noexcept
1412:       { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); }
1412: 
1412: 
1412:       void
1412:       _M_weak_release() noexcept
1412:       {
1412: 
1412:         ;
1412:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1)
1412:    {
1412:             ;
1412:      if (_Mutex_base<_Lp>::_S_need_barriers)
1412:        {
1412: 
1412: 
1412:   __atomic_thread_fence (4);
1412:        }
1412:      _M_destroy();
1412:    }
1412:       }
1412: 
1412:       long
1412:       _M_get_use_count() const noexcept
1412:       {
1412: 
1412: 
1412:         return __atomic_load_n(&_M_use_count, 0);
1412:       }
1412: 
1412:     private:
1412:       _Sp_counted_base(_Sp_counted_base const&) = delete;
1412:       _Sp_counted_base& operator=(_Sp_counted_base const&) = delete;
1412: 
1412:       _Atomic_word _M_use_count;
1412:       _Atomic_word _M_weak_count;
1412:     };
1412: 
1412:   template<>
1412:     inline bool
1412:     _Sp_counted_base<_S_single>::
1412:     _M_add_ref_lock_nothrow() noexcept
1412:     {
1412:       if (_M_use_count == 0)
1412:  return false;
1412:       ++_M_use_count;
1412:       return true;
1412:     }
1412: 
1412:   template<>
1412:     inline bool
1412:     _Sp_counted_base<_S_mutex>::
1412:     _M_add_ref_lock_nothrow() noexcept
1412:     {
1412:       __gnu_cxx::__scoped_lock sentry(*this);
1412:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
1412:  {
1412:    _M_use_count = 0;
1412:    return false;
1412:  }
1412:       return true;
1412:     }
1412: 
1412:   template<>
1412:     inline bool
1412:     _Sp_counted_base<_S_atomic>::
1412:     _M_add_ref_lock_nothrow() noexcept
1412:     {
1412: 
1412:       _Atomic_word __count = _M_get_use_count();
1412:       do
1412:  {
1412:    if (__count == 0)
1412:      return false;
1412: 
1412: 
1412:  }
1412:       while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
1412:        true, 4,
1412:        0));
1412:       return true;
1412:     }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_base<_S_single>::_M_add_ref_copy()
1412:     { ++_M_use_count; }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_base<_S_single>::_M_release() noexcept
1412:     {
1412:       if (--_M_use_count == 0)
1412:         {
1412:           _M_dispose();
1412:           if (--_M_weak_count == 0)
1412:             _M_destroy();
1412:         }
1412:     }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_base<_S_mutex>::_M_release() noexcept
1412:     {
1412: 
1412:       ;
1412:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1412:  {
1412:    _M_release_last_use();
1412:  }
1412:     }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_base<_S_atomic>::_M_release() noexcept
1412:     {
1412:       ;
1412: 
1412:       constexpr bool __lock_free
1412:  = __atomic_always_lock_free(sizeof(long long), 0)
1412:  && __atomic_always_lock_free(sizeof(_Atomic_word), 0);
1412:       constexpr bool __double_word
1412:  = sizeof(long long) == 2 * sizeof(_Atomic_word);
1412: 
1412: 
1412:       constexpr bool __aligned = __alignof(long long) <= alignof(void*);
1412:       if constexpr (__lock_free && __double_word && __aligned)
1412:  {
1412:    constexpr int __wordbits = 8 * sizeof(_Atomic_word);
1412:    constexpr int __shiftbits = __double_word ? __wordbits : 0;
1412:    constexpr long long __unique_ref = 1LL + (1LL << __shiftbits);
1412:    auto __both_counts = reinterpret_caM_push_back_aux(std::forward<_Args>(__args)...);
1417: 
1417:  return back();
1417: 
1417:       }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename... _Args>
1417:       typename deque<_Tp, _Alloc>::iterator
1417:       deque<_Tp, _Alloc>::
1417:       emplace(const_iterator __position, _Args&&... __args)
1417:       {
1417:  if (__position._M_cur == this->_M_impl._M_start._M_cur)
1417:    {
1417:      emplace_front(std::forward<_Args>(__args)...);
1417:      return this->_M_impl._M_start;
1417:    }
1417:  else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1417:    {
1417:      emplace_back(std::forward<_Args>(__args)...);
1417:      iterator __tmp = this->_M_impl._M_finish;
1417:      --__tmp;
1417:      return __tmp;
1417:    }
1417:  else
1417:    return _M_insert_aux(__position._M_const_cast(),
1417:           std::forward<_Args>(__args)...);
1417:       }
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     typename deque<_Tp, _Alloc>::iterator
1417:     deque<_Tp, _Alloc>::
1417: 
1417:     insert(const_iterator __position, const value_type& __x)
1417: 
1417: 
1417: 
1417:     {
1417:       if (__position._M_cur == this->_M_impl._M_start._M_cur)
1417:  {
1417:    push_front(__x);
1417:    return this->_M_impl._M_start;
1417:  }
1417:       else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1417:  {
1417:    push_back(__x);
1417:    iterator __tmp = this->_M_impl._M_finish;
1417:    --__tmp;
1417:    return __tmp;
1417:  }
1417:       else
1417:  return _M_insert_aux(__position._M_const_cast(), __x);
1417:    }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     typename deque<_Tp, _Alloc>::iterator
1417:     deque<_Tp, _Alloc>::
1417:     _M_erase(iterator __position)
1417:     {
1417:       iterator __next = __position;
1417:       ++__next;
1417:       const difference_type __index = __position - begin();
1417:       if (static_cast<size_type>(__index) < (size() >> 1))
1417:  {
1417:    if (__position != begin())
1417:      std::move_backward(begin(), __position, __next);
1417:    pop_front();
1417:  }
1417:       else
1417:  {
1417:    if (__next != end())
1417:      std::move(__next, end(), __position);
1417:    pop_back();
1417:  }
1417:       return begin() + __index;
1417:     }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     typename deque<_Tp, _Alloc>::iterator
1417:     deque<_Tp, _Alloc>::
1417:     _M_erase(iterator __first, iterator __last)
1417:     {
1417:       if (__first == __last)
1417:  return __first;
1417:       else if (__first == begin() && __last == end())
1417:  {
1417:    clear();
1417:    return end();
1417:  }
1417:       else
1417:  {
1417:    const difference_type __n = __last - __first;
1417:    const difference_type __elems_before = __first - begin();
1417:    if (static_cast<size_type>(__elems_before) <= (size() - __n) / 2)
1417:      {
1417:        if (__first != begin())
1417:   std::move_backward(begin(), __first, __last);
1417:        _M_erase_at_begin(begin() + __n);
1417:      }
1417:    else
1417:      {
1417:        if (__last != end())
1417:   std::move(__last, end(), __first);
1417:        _M_erase_at_end(end() - __n);
1417:      }
1417:    return begin() + __elems_before;
1417:  }
1417:     }
1417: 
1417:   template <typename _Tp, class _Alloc>
1417:     template <typename _InputIterator>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1417:       std::input_iterator_tag)
1417:       {
1417:  iterator __cur = begin();
1417:  for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1417:    *__cur = *__first;
1417:  if (__first == __last)
1417:    _M_erase_at_end(__cur);
1417:  else
1417:    _M_range_insert_aux(end(), __first, __last,
1417:          std::__iterator_category(__first));
1417:       }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
1417:     {
1417:       if (__pos._M_cur == this->_M_impl._M_start._M_cur)
1417:  {
1417:    iterator __new_start = _M_reserve_elements_at_front(__n);
1417:    try
1417:      {
1417:        std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
1417:        __x, _M_get_Tp_allocator());
1417:        this->_M_impl._M_start = __new_start;
1417:      }
1417:    catch(...)
1417:      {
1417:        _M_destroy_nodes(__new_start._M_node,
1417:           this->_M_impl._M_start._M_node);
1417:        throw;
1417:      }
1417:  }
1417:       else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1417:  {
1417:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1417:    try
1417:      {
1417:        std::__uninitialized_fill_a(this->_M_impl._M_finish,
1417:        __new_finish, __x,
1417:        _M_get_Tp_allocator());
1417:        this->_M_impl._M_finish = __new_finish;
1417:      }
1417:    catch(...)
1417:      {
1417:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1417:           __new_finish._M_node + 1);
1417:        throw;
1417:      }
1417:  }
1417:       else
1417:  _M_insert_aux(__pos, __n, __x);
1417:     }
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_default_append(size_type __n)
1417:     {
1417:       if (__n)
1417:  {
1417:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1417:    try
1417:      {
1417:        std::__uninitialized_default_a(this->_M_impl._M_finish,
1417:           __new_finish,
1417:           _M_get_Tp_allocator());
1417:        this->_M_impl._M_finish = __new_finish;
1417:      }
1417:    catch(...)
1417:      {
1417:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1417:           __new_finish._M_node + 1);
1417:        throw;
1417:      }
1417:  }
1417:     }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     bool
1417:     deque<_Tp, _Alloc>::
1417:     _M_shrink_to_fit()
1417:     {
1417:       const difference_type __front_capacity
1417:  = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first);
1417:       if (__front_capacity == 0)
1417:  return false;
1417: 
1417:       const difference_type __back_capacity
1417:  = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur);
1417:       if (__front_capacity + __back_capacity < _S_buffer_size())
1417:  return false;
1417: 
1417:       return std::__shrink_to_fit_aux<deque>::_S_do_it(*this);
1417:     }
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_fill_initialize(const value_type& __value)
1417:     {
1417:       _Map_pointer __cur;
1417:       try
1417:  {
1417:    for (__cur = this->_M_impl._M_start._M_node;
1417:         __cur < this->_M_impl._M_finish._M_node;
1417:         ++__cur)
1417:      std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(),
1417:      __value, _M_get_Tp_allocator());
1417:    std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
1417:           this->_M_impl._M_finish._M_cur,
1417:           __value, _M_get_Tp_allocator());
1417:  }
1417:       catch(...)
1417:  {
1417:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1417:    _M_get_Tp_allocator());
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     template <typename _InputIterator>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_range_initialize(_InputIterator __first, _InputIterator __last,
1417:      std::input_iterator_tag)
1417:       {
1417:  this->_M_initialize_map(0);
1417:  try
1417:    {
1417:      for (; __first != __last; ++__first)
1417: 
1417:        emplace_back(*__first);
1417: 
1417: 
1417: 
1417:    }
1417:  catch(...)
1417:    {
1417:      clear();
1417:      throw;
1417:    }
1417:       }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     template <typename _ForwardIterator>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_range_initialize(_ForwardIterator st<long long*>(&_M_use_count);
1412: 
1412:    ;
1412:    if (__atomic_load_n(__both_counts, 2) == __unique_ref)
1412:      {
1412: 
1412: 
1412: 
1412: 
1412:        _M_weak_count = _M_use_count = 0;
1412:        ;
1412:        ;
1412:        _M_dispose();
1412:        _M_destroy();
1412:        return;
1412:      }
1412:    if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1412:      [[__unlikely__]]
1412:      {
1412:        _M_release_last_use_cold();
1412:        return;
1412:      }
1412:  }
1412:       else
1412: 
1412:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1412:  {
1412:    _M_release_last_use();
1412:  }
1412:     }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept
1412:     { ++_M_weak_count; }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_base<_S_single>::_M_weak_release() noexcept
1412:     {
1412:       if (--_M_weak_count == 0)
1412:         _M_destroy();
1412:     }
1412: 
1412:   template<>
1412:     inline long
1412:     _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept
1412:     { return _M_use_count; }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1412:     class __shared_ptr;
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1412:     class __weak_ptr;
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1412:     class __enable_shared_from_this;
1412: 
1412:   template<typename _Tp>
1412:     class shared_ptr;
1412: 
1412:   template<typename _Tp>
1412:     class weak_ptr;
1412: 
1412:   template<typename _Tp>
1412:     struct owner_less;
1412: 
1412:   template<typename _Tp>
1412:     class enable_shared_from_this;
1412: 
1412:   template<_Lock_policy _Lp = __default_lock_policy>
1412:     class __weak_count;
1412: 
1412:   template<_Lock_policy _Lp = __default_lock_policy>
1412:     class __shared_count;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Ptr, _Lock_policy _Lp>
1412:     class _Sp_counted_ptr final : public _Sp_counted_base<_Lp>
1412:     {
1412:     public:
1412:       explicit
1412:       _Sp_counted_ptr(_Ptr __p) noexcept
1412:       : _M_ptr(__p) { }
1412: 
1412:       virtual void
1412:       _M_dispose() noexcept
1412:       { delete _M_ptr; }
1412: 
1412:       virtual void
1412:       _M_destroy() noexcept
1412:       { delete this; }
1412: 
1412:       virtual void*
1412:       _M_get_deleter(const std::type_info&) noexcept
1412:       { return nullptr; }
1412: 
1412:       _Sp_counted_ptr(const _Sp_counted_ptr&) = delete;
1412:       _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete;
1412: 
1412:     private:
1412:       _Ptr _M_ptr;
1412:     };
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_ptr<nullptr_t, _S_single>::_M_dispose() noexcept { }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_ptr<nullptr_t, _S_mutex>::_M_dispose() noexcept { }
1412: 
1412:   template<>
1412:     inline void
1412:     _Sp_counted_ptr<nullptr_t, _S_atomic>::_M_dispose() noexcept { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<int _Nm, typename _Tp,
1412:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1412:     struct _Sp_ebo_helper;
1412: 
1412: 
1412:   template<int _Nm, typename _Tp>
1412:     struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp
1412:     {
1412:       explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { }
1412:       explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { }
1412: 
1412:       static _Tp&
1412:       _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); }
1412:     };
1412: 
1412: 
1412:   template<int _Nm, typename _Tp>
1412:     struct _Sp_ebo_helper<_Nm, _Tp, false>
1412:     {
1412:       explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { }
1412:       explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { }
1412: 
1412:       static _Tp&
1412:       _S_get(_Sp_ebo_helper& __eboh)
1412:       { return __eboh._M_tp; }
1412: 
1412:     private:
1412:       _Tp _M_tp;
1412:     };
1412: 
1412: 
1412:   template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
1412:     class _Sp_counted_deleter final : public _Sp_counted_base<_Lp>
1412:     {
1412:       class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc>
1412:       {
1412:  typedef _Sp_ebo_helper<0, _Deleter> _Del_base;
1412:  typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base;
1412: 
1412:       public:
1412:  _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1412:  : _Del_base(std::move(__d)), _Alloc_base(__a), _M_ptr(__p)
1412:  { }
1412: 
1412:  _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); }
1412:  _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); }
1412: 
1412:  _Ptr _M_ptr;
1412:       };
1412: 
1412:     public:
1412:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>;
1412: 
1412: 
1412:       _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept
1412:       : _M_impl(__p, std::move(__d), _Alloc()) { }
1412: 
1412: 
1412:       _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1412:       : _M_impl(__p, std::move(__d), __a) { }
1412: 
1412:       ~_Sp_counted_deleter() noexcept { }
1412: 
1412:       virtual void
1412:       _M_dispose() noexcept
1412:       { _M_impl._M_del()(_M_impl._M_ptr); }
1412: 
1412:       virtual void
1412:       _M_destroy() noexcept
1412:       {
1412:  __allocator_type __a(_M_impl._M_alloc());
1412:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1412:  this->~_Sp_counted_deleter();
1412:       }
1412: 
1412:       virtual void*
1412:       _M_get_deleter(const type_info& __ti [[__gnu__::__unused__]]) noexcept
1412:       {
1412: 
1412: 
1412: 
1412:         return __ti == typeid(_Deleter)
1412:    ? std::__addressof(_M_impl._M_del())
1412:    : nullptr;
1412: 
1412: 
1412: 
1412:       }
1412: 
1412:     private:
1412:       _Impl _M_impl;
1412:     };
1412: 
1412: 
1412: 
1412:   struct _Sp_make_shared_tag
1412:   {
1412:   private:
1412:     template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1412:       friend class _Sp_counted_ptr_inplace;
1412: 
1412:     static const type_info&
1412:     _S_ti() noexcept __attribute__ ((__visibility__ ("default")))
1412:     {
1412:       alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { };
1412:       return reinterpret_cast<const type_info&>(__tag);
1412:     }
1412: 
1412:     static bool _S_eq(const type_info&) noexcept;
1412:   };
1412: 
1412:   template<typename _Alloc>
1412:     struct _Sp_alloc_shared_tag
1412:     {
1412:       const _Alloc& _M_a;
1412:     };
1412: 
1412:   template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1412:     class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp>
1412:     {
1412:       class _Impl : _Sp_ebo_helper<0, _Alloc>
1412:       {
1412:  typedef _Sp_ebo_helper<0, _Alloc> _A_base;
1412: 
1412:       public:
1412:  explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { }
1412: 
1412:  _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); }
1412: 
1412:  __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1412:       };
1412: 
1412:     public:
1412:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>;
1412: 
1412: 
1412:       template<typename... _Args>
1412:  _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
1412:  : _M_impl(__a)
1412:  {
1412: 
1412: 
1412:    allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1412:        std::forward<_Args>(__args)...);
1412:  }
1412: 
1412:       ~_Sp_counted_ptr_inplace() noexcept { }
1412: 
1412:       virtual void
1412:       _M_dispose() noexcept
1412:       {
1412:  allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
1412:       }
1412: 
1412: 
1412:       virtual void
1412:       _M_destroy() noexcept
1412:       {
1412:  __allocator_type __a(_M_impl._M_alloc());
1412:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1412:  this->~_Sp_coun/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
  298 |   typedef __SIZE_TYPE__         size_t;
      |           ^~~~~~~~~~~~~
__first, _ForwardIterator __last,
1417:      std::forward_iterator_tag)
1417:       {
1417:  const size_type __n = std::distance(__first, __last);
1417:  this->_M_initialize_map(_S_check_init_len(__n, _M_get_Tp_allocator()));
1417: 
1417:  _Map_pointer __cur_node;
1417:  try
1417:    {
1417:      for (__cur_node = this->_M_impl._M_start._M_node;
1417:    __cur_node < this->_M_impl._M_finish._M_node;
1417:    ++__cur_node)
1417:        {
1417:   if (__n < _S_buffer_size())
1417:     __builtin_unreachable();
1417: 
1417:   _ForwardIterator __mid = __first;
1417:   std::advance(__mid, _S_buffer_size());
1417:   std::__uninitialized_copy_a(__first, __mid, *__cur_node,
1417:          _M_get_Tp_allocator());
1417:   __first = __mid;
1417:        }
1417:      std::__uninitialized_copy_a(__first, __last,
1417:      this->_M_impl._M_finish._M_first,
1417:      _M_get_Tp_allocator());
1417:    }
1417:  catch(...)
1417:    {
1417:      std::_Destroy(this->_M_impl._M_start,
1417:      iterator(*__cur_node, __cur_node),
1417:      _M_get_Tp_allocator());
1417:      throw;
1417:    }
1417:       }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417: 
1417:     template<typename... _Args>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_push_back_aux(_Args&&... __args)
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       {
1417:  if (size() == max_size())
1417:    __throw_length_error(
1417:        ("cannot create std::deque larger than max_size()"));
1417: 
1417:  _M_reserve_map_at_back();
1417:  *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
1417:  try
1417:    {
1417: 
1417:      _Alloc_traits::construct(this->_M_impl,
1417:          this->_M_impl._M_finish._M_cur,
1417:          std::forward<_Args>(__args)...);
1417: 
1417: 
1417: 
1417:      this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
1417:       + 1);
1417:      this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
1417:    }
1417:  catch(...)
1417:    {
1417:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
1417:      throw;
1417:    }
1417:       }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417: 
1417:     template<typename... _Args>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_push_front_aux(_Args&&... __args)
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       {
1417:  if (size() == max_size())
1417:    __throw_length_error(
1417:        ("cannot create std::deque larger than max_size()"));
1417: 
1417:  _M_reserve_map_at_front();
1417:  *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
1417:  try
1417:    {
1417:      this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
1417:             - 1);
1417:      this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
1417: 
1417:      _Alloc_traits::construct(this->_M_impl,
1417:          this->_M_impl._M_start._M_cur,
1417:          std::forward<_Args>(__args)...);
1417: 
1417: 
1417: 
1417:    }
1417:  catch(...)
1417:    {
1417:      ++this->_M_impl._M_start;
1417:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
1417:      throw;
1417:    }
1417:       }
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void deque<_Tp, _Alloc>::
1417:     _M_pop_back_aux()
1417:     {
1417:       _M_deallocate_node(this->_M_impl._M_finish._M_first);
1417:       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
1417:       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
1417:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1417:         this->_M_impl._M_finish._M_cur);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void deque<_Tp, _Alloc>::
1417:     _M_pop_front_aux()
1417:     {
1417:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1417:         this->_M_impl._M_start._M_cur);
1417:       _M_deallocate_node(this->_M_impl._M_start._M_first);
1417:       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node +ted_ptr_inplace();
1412:       }
1412: 
1412:     private:
1412:       friend class __shared_count<_Lp>;
1412: 
1412: 
1412: 
1412:       virtual void*
1412:       _M_get_deleter(const std::type_info& __ti) noexcept override
1412:       {
1412:  auto __ptr = const_cast<typename remove_cv<_Tp>::type*>(_M_ptr());
1412: 
1412: 
1412: 
1412: 
1412:  if (&__ti == &_Sp_make_shared_tag::_S_ti()
1412:      ||
1412: 
1412:      __ti == typeid(_Sp_make_shared_tag)
1412: 
1412: 
1412: 
1412:     )
1412:    return __ptr;
1412:  return nullptr;
1412:       }
1412: 
1412:       _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); }
1412: 
1412:       _Impl _M_impl;
1412:     };
1412: # 886 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412:   struct __sp_array_delete
1412:   {
1412:     template<typename _Yp>
1412:       void operator()(_Yp* __p) const { delete[] __p; }
1412:   };
1412: 
1412:   template<_Lock_policy _Lp>
1412:     class __shared_count
1412:     {
1412: 
1412:       template<typename _Tp>
1412:  struct __not_alloc_shared_tag { using type = void; };
1412: 
1412:       template<typename _Tp>
1412:  struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     public:
1412:       constexpr __shared_count() noexcept : _M_pi(0)
1412:       { }
1412: 
1412:       template<typename _Ptr>
1412:         explicit
1412:  __shared_count(_Ptr __p) : _M_pi(0)
1412:  {
1412:    try
1412:      {
1412:        _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
1412:      }
1412:    catch(...)
1412:      {
1412:        delete __p;
1412:        throw;
1412:      }
1412:  }
1412: 
1412:       template<typename _Ptr>
1412:  __shared_count(_Ptr __p, false_type)
1412:  : __shared_count(__p)
1412:  { }
1412: 
1412:       template<typename _Ptr>
1412:  __shared_count(_Ptr __p, true_type)
1412:  : __shared_count(__p, __sp_array_delete{}, allocator<void>())
1412:  { }
1412: 
1412:       template<typename _Ptr, typename _Deleter,
1412:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1412:  __shared_count(_Ptr __p, _Deleter __d)
1412:  : __shared_count(__p, std::move(__d), allocator<void>())
1412:  { }
1412: 
1412:       template<typename _Ptr, typename _Deleter, typename _Alloc,
1412:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1412:  __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
1412:  {
1412:    typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
1412:    try
1412:      {
1412:        typename _Sp_cd_type::__allocator_type __a2(__a);
1412:        auto __guard = std::__allocate_guarded(__a2);
1412:        _Sp_cd_type* __mem = __guard.get();
1412:        ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a));
1412:        _M_pi = __mem;
1412:        __guard = nullptr;
1412:      }
1412:    catch(...)
1412:      {
1412:        __d(__p);
1412:        throw;
1412:      }
1412:  }
1412: 
1412:       template<typename _Tp, typename _Alloc, typename... _Args>
1412:  __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a,
1412:          _Args&&... __args)
1412:  {
1412:    typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
1412:    typename _Sp_cp_type::__allocator_type __a2(__a._M_a);
1412:    auto __guard = std::__allocate_guarded(__a2);
1412:    _Sp_cp_type* __mem = __guard.get();
1412:    auto __pi = ::new (__mem)
1412:      _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
1412:    __guard = nullptr;
1412:    _M_pi = __pi;
1412:    __p = __pi->_M_ptr();
1412:  }
1412: # 1024 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412:       template<typename _Tp>
1412:         explicit
1412:  __shared_count(std::auto_ptr<_Tp>&& __r);
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412:       template<typename _Tp, typename _Del>
1412:         explicit
1412:  __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0)
1412:  {
1412: 
1412: 
1412:    if (__r.get() == nullptr)
1412:      return;
1412: 
1412:    using _Ptr = typename unique_ptr<_Tp, _Del>::pointer;
1412:    using _Del2 = __conditional_t<is_reference<_Del>::value,
1412:        reference_wrapper<typename remove_reference<_Del>::type>,
1412:        _Del>;
1412:    using _Sp_cd_type
1412:      = _Sp_counted_deleter<_Ptr, _Del2, allocator<void>, _Lp>;
1412:    using _Alloc = allocator<_Sp_cd_type>;
1412:    using _Alloc_traits = allocator_traits<_Alloc>;
1412:    _Alloc __a;
1412:    _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1);
1412: 
1412: 
1412: 
1412:    _Alloc_traits::construct(__a, __mem, __r.release(),
1412:        std::forward<_Del>(__r.get_deleter()));
1412:    _M_pi = __mem;
1412:  }
1412: 
1412: 
1412:       explicit __shared_count(const __weak_count<_Lp>& __r);
1412: 
1412: 
1412:       explicit
1412:       __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept;
1412: 
1412:       ~__shared_count() noexcept
1412:       {
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_release();
1412:       }
1412: 
1412:       __shared_count(const __shared_count& __r) noexcept
1412:       : _M_pi(__r._M_pi)
1412:       {
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_add_ref_copy();
1412:       }
1412: 
1412:       __shared_count&
1412:       operator=(const __shared_count& __r) noexcept
1412:       {
1412:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1412:  if (__tmp != _M_pi)
1412:    {
1412:      if (__tmp != nullptr)
1412:        __tmp->_M_add_ref_copy();
1412:      if (_M_pi != nullptr)
1412:        _M_pi->_M_release();
1412:      _M_pi = __tmp;
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       _M_swap(__shared_count& __r) noexcept
1412:       {
1412:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1412:  __r._M_pi = _M_pi;
1412:  _M_pi = __tmp;
1412:       }
1412: 
1412:       long
1412:       _M_get_use_count() const noexcept
1412:       { return _M_pi ? _M_pi->_M_get_use_count() : 0; }
1412: 
1412:       bool
1412:       _M_unique() const noexcept
1412:       { return this->_M_get_use_count() == 1; }
1412: 
1412:       void*
1412:       _M_get_deleter(const std::type_info& __ti) const noexcept
1412:       { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; }
1412: 
1412:       bool
1412:       _M_less(const __shared_count& __rhs) const noexcept
1412:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1412: 
1412:       bool
1412:       _M_less(const __weak_count<_Lp>& __rhs) const noexcept
1412:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1412: 
1412: 
1412:       friend inline bool
1412:       operator==(const __shared_count& __a, const __shared_count& __b) noexcept
1412:       { return __a._M_pi == __b._M_pi; }
1412: 
1412:     private:
1412:       friend class __weak_count<_Lp>;
1412: 
1412: 
1412: 
1412: 
1412:       _Sp_counted_base<_Lp>* _M_pi;
1412:     };
1412: 
1412: 
1412:   template<_Lock_policy _Lp>
1412:     class __weak_count
1412:     {
1412:     public:
1412:       constexpr __weak_count() noexcept : _M_pi(nullptr)
1412:       { }
1412: 
1412:       __weak_count(const __shared_count<_Lp>& __r) noexcept
1412:       : _M_pi(__r._M_pi)
1412:       {
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_weak_add_ref();
1412:       }
1412: 
1412:       __weak_count(const __weak_count& __r) noexcept
1412:       : _M_pi(__r._M_pi)
1412:       {
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_weak_add_ref();
1412:       }
1412: 
1412:       __weak_count(__weak_count&& __r) noexcept
1412:       : _M_pi(__r._M_pi)
1412:       { __r._M_pi = nullptr; }
1412: 
1412:       ~__weak_count() noexcept
1412:       {
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_weak_release();
1412:       }
1412: 
1412:       __weak_count&
1412:       operator=(const __shared_count<_Lp>& __r) noexcept
1412:       {
1412:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1412:  if (__tmp != nullptr)
1412:    __tmp->_M_weak_add_ref();
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_weak_release();
1412:  _M_pi = __tmp;
1412:  return *this;
1412:       }
1410x137a10f internal_error(char const*, ...)
	???:0
 1);
1417:       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
1417:     }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     template <typename _InputIterator>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_range_insert_aux(iterator __pos,
1417:      _InputIterator __first, _InputIterator __last,
1417:      std::input_iterator_tag)
1417:       { std::copy(__first, __last, std::inserter(*this, __pos)); }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     template <typename _ForwardIterator>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_range_insert_aux(iterator __pos,
1417:      _ForwardIterator __first, _ForwardIterator __last,
1417:      std::forward_iterator_tag)
1417:       {
1417:  const size_type __n = std::distance(__first, __last);
1417:  if (__pos._M_cur == this->_M_impl._M_start._M_cur)
1417:    {
1417:      iterator __new_start = _M_reserve_elements_at_front(__n);
1417:      try
1417:        {
1417:   std::__uninitialized_copy_a(__first, __last, __new_start,
1417:          _M_get_Tp_allocator());
1417:   this->_M_impl._M_start = __new_start;
1417:        }
1417:      catch(...)
1417:        {
1417:   _M_destroy_nodes(__new_start._M_node,
1417:      this->_M_impl._M_start._M_node);
1417:   throw;
1417:        }
1417:    }
1417:  else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1417:    {
1417:      iterator __new_finish = _M_reserve_elements_at_back(__n);
1417:      try
1417:        {
1417:   std::__uninitialized_copy_a(__first, __last,
1417:          this->_M_impl._M_finish,
1417:          _M_get_Tp_allocator());
1417:   this->_M_impl._M_finish = __new_finish;
1417:        }
1417:      catch(...)
1417:        {
1417:   _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1417:      __new_finish._M_node + 1);
1417:   throw;
1417:        }
1417:    }
1417:  else
1417:    _M_insert_aux(__pos, __first, __last, __n);
1417:       }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417: 
1417:     template<typename... _Args>
1417:       typename deque<_Tp, _Alloc>::iterator
1417:       deque<_Tp, _Alloc>::
1417:       _M_insert_aux(iterator __pos, _Args&&... __args)
1417:       {
1417:  value_type __x_copy(std::forward<_Args>(__args)...);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  difference_type __index = __pos - this->_M_impl._M_start;
1417:  if (static_cast<size_type>(__index) < size() / 2)
1417:    {
1417:      push_front(std::move(front()));
1417:      iterator __front1 = this->_M_impl._M_start;
1417:      ++__front1;
1417:      iterator __front2 = __front1;
1417:      ++__front2;
1417:      __pos = this->_M_impl._M_start + __index;
1417:      iterator __pos1 = __pos;
1417:      ++__pos1;
1417:      std::move(__front2, __pos1, __front1);
1417:    }
1417:  else
1417:    {
1417:      push_back(std::move(back()));
1417:      iterator __back1 = this->_M_impl._M_finish;
1417:      --__back1;
1417:      iterator __back2 = __back1;
1417:      --__back2;
1417:      __pos = this->_M_impl._M_start + __index;
1417:      std::move_backward(__pos, __back2, __back1);
1417:    }
1417:  *__pos = std::move(__x_copy);
1417:  return __pos;
1417:       }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
1417:     {
1417:       const difference_type __elems_before = __pos - this->_M_impl._M_start;
1417:       const size_type __length = this->size();
1417:       value_type __x_copy = __x;
1417:       if (__elems_before < difference_type(__length / 2))
1417:  {
1417:    iterator __new_start = _M_reserve_elements_at_front(__n);
1417:    iterator __old_start = this->_M_impl._M_start;
1417:    __pos = this->_M_impl._M_start + __elems_before;
1417:    try
1417:      {
1417:        if (__elems_before >= difference_type(__n))
1417:   {
1417:     iterator __start_n = (this->_M_impl._M_start
1417:      + difference_type(__n));
1417:     std::__uninitialized_move_a(this->_M_impl._M_start,
1417:          2: 
1412:       __weak_count&
1412:       operator=(const __weak_count& __r) noexcept
1412:       {
1412:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1412:  if (__tmp != nullptr)
1412:    __tmp->_M_weak_add_ref();
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_weak_release();
1412:  _M_pi = __tmp;
1412:  return *this;
1412:       }
1412: 
1412:       __weak_count&
1412:       operator=(__weak_count&& __r) noexcept
1412:       {
1412:  if (_M_pi != nullptr)
1412:    _M_pi->_M_weak_release();
1412:  _M_pi = __r._M_pi;
1412:         __r._M_pi = nullptr;
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       _M_swap(__weak_count& __r) noexcept
1412:       {
1412:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1412:  __r._M_pi = _M_pi;
1412:  _M_pi = __tmp;
1412:       }
1412: 
1412:       long
1412:       _M_get_use_count() const noexcept
1412:       { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; }
1412: 
1412:       bool
1412:       _M_less(const __weak_count& __rhs) const noexcept
1412:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1412: 
1412:       bool
1412:       _M_less(const __shared_count<_Lp>& __rhs) const noexcept
1412:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1412: 
1412: 
1412:       friend inline bool
1412:       operator==(const __weak_count& __a, const __weak_count& __b) noexcept
1412:       { return __a._M_pi == __b._M_pi; }
1412: 
1412:     private:
1412:       friend class __shared_count<_Lp>;
1412: 
1412: 
1412: 
1412: 
1412:       _Sp_counted_base<_Lp>* _M_pi;
1412:     };
1412: 
1412: 
1412:   template<_Lock_policy _Lp>
1412:     inline
1412:     __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r)
1412:     : _M_pi(__r._M_pi)
1412:     {
1412:       if (_M_pi == nullptr || !_M_pi->_M_add_ref_lock_nothrow())
1412:  __throw_bad_weak_ptr();
1412:     }
1412: 
1412: 
1412:   template<_Lock_policy _Lp>
1412:     inline
1412:     __shared_count<_Lp>::
1412:     __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept
1412:     : _M_pi(__r._M_pi)
1412:     {
1412:       if (_M_pi && !_M_pi->_M_add_ref_lock_nothrow())
1412:  _M_pi = nullptr;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Yp_ptr, typename _Tp_ptr>
1412:     struct __sp_compatible_with
1412:     : false_type
1412:     { };
1412: 
1412:   template<typename _Yp, typename _Tp>
1412:     struct __sp_compatible_with<_Yp*, _Tp*>
1412:     : is_convertible<_Yp*, _Tp*>::type
1412:     { };
1412: 
1412:   template<typename _Up, size_t _Nm>
1412:     struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]>
1412:     : true_type
1412:     { };
1412: 
1412:   template<typename _Up, size_t _Nm>
1412:     struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]>
1412:     : true_type
1412:     { };
1412: 
1412:   template<typename _Up, size_t _Nm>
1412:     struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]>
1412:     : true_type
1412:     { };
1412: 
1412:   template<typename _Up, size_t _Nm>
1412:     struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]>
1412:     : true_type
1412:     { };
1412: 
1412: 
1412:   template<typename _Up, size_t _Nm, typename _Yp, typename = void>
1412:     struct __sp_is_constructible_arrN
1412:     : false_type
1412:     { };
1412: 
1412:   template<typename _Up, size_t _Nm, typename _Yp>
1412:     struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>>
1412:     : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Up, typename _Yp, typename = void>
1412:     struct __sp_is_constructible_arr
1412:     : false_type
1412:     { };
1412: 
1412:   template<typename _Up, typename _Yp>
1412:     struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>>
1412:     : is_convertible<_Yp(*)[], _Up(*)[]>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp, typename _Yp>
1412:     struct __sp_is_constructible;
1412: 
1412: 
1412:   template<typename _Up, size_t _Nm, typename _Yp>
1412:     struct __s0x389c8b pop_to_parent_deferring_access_checks()
	???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
  __start_n, __new_start,
1417:            _M_get_Tp_allocator());
1417:     this->_M_impl._M_start = __new_start;
1417:     std::move(__start_n, __pos, __old_start);
1417:     std::fill(__pos - difference_type(__n), __pos, __x_copy);
1417:   }
1417:        else
1417:   {
1417:     std::__uninitialized_move_fill(this->_M_impl._M_start,
1417:        __pos, __new_start,
1417:        this->_M_impl._M_start,
1417:        __x_copy,
1417:        _M_get_Tp_allocator());
1417:     this->_M_impl._M_start = __new_start;
1417:     std::fill(__old_start, __pos, __x_copy);
1417:   }
1417:      }
1417:    catch(...)
1417:      {
1417:        _M_destroy_nodes(__new_start._M_node,
1417:           this->_M_impl._M_start._M_node);
1417:        throw;
1417:      }
1417:  }
1417:       else
1417:  {
1417:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1417:    iterator __old_finish = this->_M_impl._M_finish;
1417:    const difference_type __elems_after =
1417:      difference_type(__length) - __elems_before;
1417:    __pos = this->_M_impl._M_finish - __elems_after;
1417:    try
1417:      {
1417:        if (__elems_after > difference_type(__n))
1417:   {
1417:     iterator __finish_n = (this->_M_impl._M_finish
1417:       - difference_type(__n));
1417:     std::__uninitialized_move_a(__finish_n,
1417:            this->_M_impl._M_finish,
1417:            this->_M_impl._M_finish,
1417:            _M_get_Tp_allocator());
1417:     this->_M_impl._M_finish = __new_finish;
1417:     std::move_backward(__pos, __finish_n, __old_finish);
1417:     std::fill(__pos, __pos + difference_type(__n), __x_copy);
1417:   }
1417:        else
1417:   {
1417:     std::__uninitialized_fill_move(this->_M_impl._M_finish,
1417:        __pos + difference_type(__n),
1417:        __x_copy, __pos,
1417:        this->_M_impl._M_finish,
1417:        _M_get_Tp_allocator());
1417:     this->_M_impl._M_finish = __new_finish;
1417:     std::fill(__pos, __old_finish, __x_copy);
1417:   }
1417:      }
1417:    catch(...)
1417:      {
1417:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1417:           __new_finish._M_node + 1);
1417:        throw;
1417:      }
1417:  }
1417:     }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     template <typename _ForwardIterator>
1417:       void
1417:       deque<_Tp, _Alloc>::
1417:       _M_insert_aux(iterator __pos,
1417:       _ForwardIterator __first, _ForwardIterator __last,
1417:       size_type __n)
1417:       {
1417:  const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
1417:  const size_type __length = size();
1417:  if (static_cast<size_type>(__elemsbefore) < __length / 2)
1417:    {
1417:      iterator __new_start = _M_reserve_elements_at_front(__n);
1417:      iterator __old_start = this->_M_impl._M_start;
1417:      __pos = this->_M_impl._M_start + __elemsbefore;
1417:      try
1417:        {
1417:   if (__elemsbefore >= difference_type(__n))
1417:     {
1417:       iterator __start_n = (this->_M_impl._M_start
1417:        + difference_type(__n));
1417:       std::__uninitialized_move_a(this->_M_impl._M_start,
1417:       __start_n, __new_start,
1417:       _M_get_Tp_allocator());
1417:       this->_M_impl._M_start = __new_start;
1417:       std::move(__start_n, __pos, __old_start);
1417:       std::copy(__first, __last, __pos - difference_type(__n));
1417:     }
1417:   else
1417:     {
1417:       _ForwardIterator __mid = __first;
1417:       std::advance(__mid, difference_type(__n) - __elemsbefore);
1417:       std::__uninitialized_move_copy(this->_M_impl._M_start,
1417:          __pos, __first, __mid,
1417:          __new_start,
1417:          _M_get_Tp_allocator());
1417:       this->_M_impl._M_start = __new_start;
1417:       std::copy(__mid, __last, __old_start);
1417:     }
1417:        }
1417:      catch(...)
1417:        {
1417:   _M_destroy_nodes(__new_start._M_node,
1417:      this->_M_impl._M_start._M_node);
1417:   throw;
1417:        }
1417:    }
1417:  else
1417:  {
1417:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1417:    iterator __old_finish = this->_M_impl._M_finish;
1417:    const difference_type __elemsafter =
1417:      difference_type(__length) - __elemsbefore;
1417:    __pos = this->_M_impl._M_finish - __elemsafter;
1417:    try
1417:      {
1417:        if (__elemsafter > difference_type(__n))
1417:   {
1417:     iterator __finish_n = (this->_M_impl._M_finish
1417:       - difference_type(__n));
1417:     std::__uninitialized_move_a(__finish_n,
1417:            this->_M_impl._M_finish,
1417:            this->_M_impl._M_finish,
1417:            _M_get_Tp_allocator());
1417:     this->_M_impl._M_finish = __new_finish;
1417:     std::move_backward(__pos, __finish_n, __old_finish);
1417:     std::copy(__first, __last, __pos);
1417:   }
1417:        else
1417:   {
1417:     _ForwardIterator __mid = __first;
1417:     std::advance(__mid, __elemsafter);
1417:     std::__uninitialized_copy_move(__mid, __last, __pos,
1417:        this->_M_impl._M_finish,
1417:        this->_M_impl._M_finish,
1417:        _M_get_Tp_allocator());
1417:     this->_M_impl._M_finish = __new_finish;
1417:     std::copy(__first, __mid, __pos);
1417:   }
1417:      }
1417:    catch(...)
1417:      {
1417:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1417:           __new_finish._M_node + 1);
1417:        throw;
1417:      }
1417:  }
1417:       }
1417: 
1417:    template<typename _Tp, typename _Alloc>
1417:      void
1417:      deque<_Tp, _Alloc>::
1417:      _M_destroy_data_aux(iterator __first, iterator __last)
1417:      {
1417:        for (_Map_pointer __node = __first._M_node + 1;
1417:      __node < __last._M_node; ++__node)
1417:   std::_Destroy(*__node, *__node + _S_buffer_size(),
1417:          _M_get_Tp_allocator());
1417: 
1417:        if (__first._M_node != __last._M_node)
1417:   {
1417:     std::_Destroy(__first._M_cur, __first._M_last,
1417:     _M_get_Tp_allocator());
1417:     std::_Destroy(__last._M_first, __last._M_cur,
1417:     _M_get_Tp_allocator());
1417:   }
1417:        else
1417:   std::_Destroy(__first._M_cur, __last._M_cur,
1417:          _M_get_Tp_allocator());
1417:      }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_new_elements_at_front(size_type __new_elems)
1417:     {
1417:       if (this->max_size() - this->size() < __new_elems)
1417:  __throw_length_error(("deque::_M_new_elements_at_front"));
1417: 
1417:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1417:          / _S_buffer_size());
1417:       _M_reserve_map_at_front(__new_nodes);
1417:       size_type __i;
1417:       try
1417:  {
1417:    for (__i = 1; __i <= __new_nodes; ++__i)
1417:      *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
1417:  }
1417:       catch(...)
1417:  {
1417:    for (size_type __j = 1; __j < __i; ++__j)
1417:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_new_elements_at_back(size_type __new_elems)
1417:     {
1417:       if (this->max_size() - this->size() < __new_elems)
1417:  __throw_length_error(("deque::_M_new_elements_at_back"));
1417: 
1417:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1417:          / _S_buffer_size());
1417:       _M_reserve_map_at_back(__new_nodes);
1417:       size_type __i;
1417:       try
1417:  {
1417:    for (__i = 1; __i <= __new_nodes; ++__i)
1417:      *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
1417:  }
1417:       catch(...)
1417:  {
1417:    for (size_type __j = 1; __j < __i; ++__j)
1417:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template <typename _Tp, typename _Alloc>
1417:     void
1417:     deque<_Tp, _Alloc>::
1417:     _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
1417:     {
1417:       const size_type __old_num_nodes
1417:  = this->_M_impl._M_finish._M_node - thisp_is_constructible<_Up[_Nm], _Yp>
1412:     : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Up, typename _Yp>
1412:     struct __sp_is_constructible<_Up[], _Yp>
1412:     : __sp_is_constructible_arr<_Up, _Yp>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp, typename _Yp>
1412:     struct __sp_is_constructible
1412:     : is_convertible<_Yp*, _Tp*>::type
1412:     { };
1412: 
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp,
1412:     bool = is_array<_Tp>::value, bool = is_void<_Tp>::value>
1412:     class __shared_ptr_access
1412:     {
1412:     public:
1412:       using element_type = _Tp;
1412: 
1412:       element_type&
1412:       operator*() const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1412:  return *_M_get();
1412:       }
1412: 
1412:       element_type*
1412:       operator->() const noexcept
1412:       {
1412:  ;
1412:  return _M_get();
1412:       }
1412: 
1412:     private:
1412:       element_type*
1412:       _M_get() const noexcept
1412:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     class __shared_ptr_access<_Tp, _Lp, false, true>
1412:     {
1412:     public:
1412:       using element_type = _Tp;
1412: 
1412:       element_type*
1412:       operator->() const noexcept
1412:       {
1412:  auto __ptr = static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get();
1412:  ;
1412:  return __ptr;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     class __shared_ptr_access<_Tp, _Lp, true, false>
1412:     {
1412:     public:
1412:       using element_type = typename remove_extent<_Tp>::type;
1412: # 1407 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412:       element_type&
1412:       operator[](ptrdiff_t __i) const noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(!extent<_Tp>::value || __i < extent<_Tp>::value)) __builtin_unreachable(); } while (false);
1412:  return _M_get()[__i];
1412:       }
1412: 
1412:     private:
1412:       element_type*
1412:       _M_get() const noexcept
1412:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1412:     };
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     class __shared_ptr
1412:     : public __shared_ptr_access<_Tp, _Lp>
1412:     {
1412:     public:
1412:       using element_type = typename remove_extent<_Tp>::type;
1412: 
1412:     private:
1412: 
1412:       template<typename _Yp>
1412:  using _SafeConv
1412:    = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type;
1412: 
1412: 
1412:       template<typename _Yp, typename _Res = void>
1412:  using _Compatible = typename
1412:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1412: 
1412: 
1412:       template<typename _Yp>
1412:  using _Assignable = _Compatible<_Yp, __shared_ptr&>;
1412: 
1412: 
1412:       template<typename _Yp, typename _Del, typename _Res = void,
1412:         typename _Ptr = typename unique_ptr<_Yp, _Del>::pointer>
1412:  using _UniqCompatible = __enable_if_t<__and_<
1412:    __sp_compatible_with<_Yp*, _Tp*>,
1412:    is_convertible<_Ptr, element_type*>,
1412:    is_move_constructible<_Del>
1412:    >::value, _Res>;
1412: 
1412: 
1412:       template<typename _Yp, typename _Del>
1412:  using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>;
1412: 
1412:     public:
1412: 
1412: 
1412:       using weak_type = __weak_ptr<_Tp, _Lp>;
1412: 
1412: 
1412:       constexpr __shared_ptr() noexcept
1412:       : _M_ptr(0), _M_refcount()
1412:       { }
1412: 
1412:       template<typename _Yp, typename = _SafeConv<_Yp>>
1412:  explicit
1412:  __shared_ptr(_Yp* __p)
1412:  : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
1412:  {
1412:    static_assert( !is_void<_Yp>::value, "incomplete type" );
1412:    static_assert( sizeof(_Yp) > 0, "incomplete type" );
1412:    _M_enable_shared_from_this_with(__p);
1412:  }
1412: 
1412:       template<typename _Yp, typename _Deleter, typename = _SafeConv<_Yp>>
1412:  __shared_ptr(_Yp* __p, _Deleter __d)
1412:  : _M_ptr(__p), _M_refcount(__p, std::move(__d))
1412:  {
1412:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1412:        "deleter expression d(p) is well-formed");
1412:    _M_enable_shared_from_this_with(__p);
1412:  }
1412: 
1412:       template<typename _Yp, typename _Deleter, typename _Alloc,
1412:         typename = _SafeConv<_Yp>>
1412:  __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1412:  : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a))
1412:  {
1412:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1412:        "deleter expression d(p) is well-formed");
1412:    _M_enable_shared_from_this_with(__p);
1412:  }
1412: 
1412:       template<typename _Deleter>
1412:  __shared_ptr(nullptr_t __p, _Deleter __d)
1412:  : _M_ptr(0), _M_refcount(__p, std::move(__d))
1412:  { }
1412: 
1412:       template<typename _Deleter, typename _Alloc>
1412:         __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1412:  : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a))
1412:  { }
1412: 
1412: 
1412:       template<typename _Yp>
1412:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r,
1412:        element_type* __p) noexcept
1412:  : _M_ptr(__p), _M_refcount(__r._M_refcount)
1412:  { }
1412: 
1412: 
1412:       template<typename _Yp>
1412:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r,
1412:        element_type* __p) noexcept
1412:  : _M_ptr(__p), _M_refcount()
1412:  {
1412:    _M_refcount._M_swap(__r._M_refcount);
1412:    __r._M_ptr = nullptr;
1412:  }
1412: 
1412:       __shared_ptr(const __shared_ptr&) noexcept = default;
1412:       __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
1412:       ~__shared_ptr() = default;
1412: 
1412:       template<typename _Yp, typename = _Compatible<_Yp>>
1412:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1412:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1412:  { }
1412: 
1412:       __shared_ptr(__shared_ptr&& __r) noexcept
1412:       : _M_ptr(__r._M_ptr), _M_refcount()
1412:       {
1412:  _M_refcount._M_swap(__r._M_refcount);
1412:  __r._M_ptr = nullptr;
1412:       }
1412: 
1412:       template<typename _Yp, typename = _Compatible<_Yp>>
1412:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1412:  : _M_ptr(__r._M_ptr), _M_refcount()
1412:  {
1412:    _M_refcount._M_swap(__r._M_refcount);
1412:    __r._M_ptr = nullptr;
1412:  }
1412: 
1412:       template<typename _Yp, typename = _Compatible<_Yp>>
1412:  explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r)
1412:  : _M_refcount(__r._M_refcount)
1412:  {
1412: 
1412: 
1412:    _M_ptr = __r._M_ptr;
1412:  }
1412: 
1412: 
1412:       template<typename _Yp, typename _Del,
1412:         typename = _UniqCompatible<_Yp, _Del>>
1412:  __shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1412:  : _M_ptr(__r.get()), _M_refcount()
1412:  {
1412:    auto __raw = __to_address(__r.get());
1412:    _M_refcount = __shared_count<_Lp>(std::move(__r));
1412:    _M_enable_shared_from_this_with(__raw);
1412:  }
1412: # 1585 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412:       template<typename _Yp, typename = _Compatible<_Yp>>
1412:  __shared_ptr(auto_ptr<_Yp>&& __r);
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412:       constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<_Yp>
1412:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1412:  {
1412:    _M_ptr = __r._M_ptr;
1412:    _M_refcount = __r._M_refcount;
1412:    return *this;
1412:  }
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: ->_M_impl._M_start._M_node + 1;
1417:       const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;
1417: 
1417:       _Map_pointer __new_nstart;
1417:       if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
1417:  {
1417:    __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
1417:       - __new_num_nodes) / 2
1417:     + (__add_at_front ? __nodes_to_add : 0);
1417:    if (__new_nstart < this->_M_impl._M_start._M_node)
1417:      std::copy(this->_M_impl._M_start._M_node,
1417:         this->_M_impl._M_finish._M_node + 1,
1417:         __new_nstart);
1417:    else
1417:      std::copy_backward(this->_M_impl._M_start._M_node,
1417:           this->_M_impl._M_finish._M_node + 1,
1417:           __new_nstart + __old_num_nodes);
1417:  }
1417:       else
1417:  {
1417:    size_type __new_map_size = this->_M_impl._M_map_size
1417:          + std::max(this->_M_impl._M_map_size,
1417:       __nodes_to_add) + 2;
1417: 
1417:    _Map_pointer __new_map = this->_M_allocate_map(__new_map_size);
1417:    __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
1417:     + (__add_at_front ? __nodes_to_add : 0);
1417:    std::copy(this->_M_impl._M_start._M_node,
1417:       this->_M_impl._M_finish._M_node + 1,
1417:       __new_nstart);
1417:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1417: 
1417:    this->_M_impl._M_map = __new_map;
1417:    this->_M_impl._M_map_size = __new_map_size;
1417:  }
1417: 
1417:       this->_M_impl._M_start._M_set_node(__new_nstart);
1417:       this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _VTp>
1417:     void
1417:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
1417:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __last,
1417:        const _VTp& __value)
1417:     {
1417:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1417:       if (__first._M_node != __last._M_node)
1417:  {
1417:    std::__fill_a1(__first._M_cur, __first._M_last, __value);
1417: 
1417:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1417:         __node < __last._M_node; ++__node)
1417:      std::__fill_a1(*__node, *__node + _Iter::_S_buffer_size(), __value);
1417: 
1417:    std::__fill_a1(__last._M_first, __last._M_cur, __value);
1417:  }
1417:       else
1417:  std::__fill_a1(__first._M_cur, __last._M_cur, __value);
1417:     }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1417:     _OI
1417:     __copy_move_dit(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1417:       std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1417:       _OI __result)
1417:     {
1417:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1417:       if (__first._M_node != __last._M_node)
1417:  {
1417:    __result
1417:      = std::__copy_move_a1<_IsMove>(__first._M_cur, __first._M_last,
1417:         __result);
1417: 
1417:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1417:         __node != __last._M_node; ++__node)
1417:      __result
1417:        = std::__copy_move_a1<_IsMove>(*__node,
1417:           *__node + _Iter::_S_buffer_size(),
1417:           __result);
1417: 
1417:    return std::__copy_move_a1<_IsMove>(__last._M_first, __last._M_cur,
1417:            __result);
1417:  }
1417: 
1417:       return std::__copy_move_a1<_IsMove>(__first._M_cur, __last._M_cur,
1417:        __result);
1417:     }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1417:     _OI
1417:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1417:      std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1417:      _OI __result)
1417:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1417: 
1417:   template<bool _IsMove,
1417:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1417:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1417:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1417:      std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1417:      std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1417:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1417: 
1417:   template<bool _IsMove, typename _II, typename _Tp>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value,
1417:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1417:     __copy_move_a1(_II __first, _II __last,
1417:      std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1417:     {
1417:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1417:       typedef typename _Iter::difference_type difference_type;
1417: 
1417:       difference_type __len = __last - __first;
1417:       while (__len > 0)
1417:  {
1417:    const difference_type __clen
1417:      = std::min(__len, __result._M_last - __result._M_cur);
1417:    std::__copy_move_a1<_IsMove>(__first, __first + __clen,
1417:            __result._M_cur);
1417: 
1417:    __first += __clen;
1417:    __result += __clen;
1417:    __len -= __clen;
1417:  }
1417: 
1417:       return __result;
1417:     }
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_char<_CharT>::__value,
1417:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1417:     __copy_move_a2(
1417:  istreambuf_iterator<_CharT, char_traits<_CharT> > __first,
1417:  istreambuf_iterator<_CharT, char_traits<_CharT> > __last,
1417:  std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result)
1417:     {
1417:       if (__first == __last)
1417:  return __result;
1417: 
1417:       for (;;)
1417:  {
1417:    const std::ptrdiff_t __len = __result._M_last - __result._M_cur;
1417:    const std::ptrdiff_t __nb
1417:      = std::__copy_n_a(__first, __len, __result._M_cur, false)
1417:      - __result._M_cur;
1417:    __result += __nb;
1417: 
1417:    if (__nb != __len)
1417:      break;
1417:  }
1417: 
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Size>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_char<_CharT>::__value,
1417:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1417:     __copy_n_a(
1417:       istreambuf_iterator<_CharT, char_traits<_CharT> > __it, _Size __size,
1417:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result,
1417:       bool __strict)
1417:     {
1417:       if (__size == 0)
1417:  return __result;
1417: 
1417:       do
1417:  {
1417:    const _Size __len
1417:      = std::min<_Size>(__result._M_last - __result._M_cur, __size);
1417:    std::__copy_n_a(__it, __len, __result._M_cur, __strict);
1417:    __result += __len;
1417:    __size -= __len;
1417:  }
1417:       while (__size != 0);
1417:       return __result;
1417:     }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1417:     _OI
1417:     __copy_move_backward_dit(
1417:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1417:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1417:   _OI __result)
1417:     {
1417:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1417:       if (__first._M_node != __last._M_node)
1417:  {
1417:    __result = std::__copy_move_backward_a1<_IsMove>(
1417:   __last._M_first, __last._M_cur, __result);
1417: 
1417:    for (typename _Iter::_Map_pointer __node = __last._M_node - 1;
1417:         __node != __first._M_node; --__node)
1417:      __result = std::__copy_move_backward_a1<_IsMove>(
1417:   *__node, *__node + _Iter::_S_buffer_size(), __result);
1417: 
1417:    return std::__copy_move_backward_a1<_IsMove>(
1417:    __first._M_cur, __first._M_last, __result);
1417:  }
1417: 
1417:       return std::__copy_move_backward_a1<_IsMove>(
1417:   __first._M_cur, __last._M_cur, __result);
1417:     }
1417: 
1417:   template<bool _IsMove,
1417:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1417:     _OI
1417:     __copy_move_backward_a1(
1417:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
      template<typename _Yp>
1412:  _Assignable<_Yp>
1412:  operator=(auto_ptr<_Yp>&& __r)
1412:  {
1412:    __shared_ptr(std::move(__r)).swap(*this);
1412:    return *this;
1412:  }
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412:       __shared_ptr&
1412:       operator=(__shared_ptr&& __r) noexcept
1412:       {
1412:  __shared_ptr(std::move(__r)).swap(*this);
1412:  return *this;
1412:       }
1412: 
1412:       template<class _Yp>
1412:  _Assignable<_Yp>
1412:  operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1412:  {
1412:    __shared_ptr(std::move(__r)).swap(*this);
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _Yp, typename _Del>
1412:  _UniqAssignable<_Yp, _Del>
1412:  operator=(unique_ptr<_Yp, _Del>&& __r)
1412:  {
1412:    __shared_ptr(std::move(__r)).swap(*this);
1412:    return *this;
1412:  }
1412: 
1412:       void
1412:       reset() noexcept
1412:       { __shared_ptr().swap(*this); }
1412: 
1412:       template<typename _Yp>
1412:  _SafeConv<_Yp>
1412:  reset(_Yp* __p)
1412:  {
1412: 
1412:    do { if (std::__is_constant_evaluated() && !bool(__p == nullptr || __p != _M_ptr)) __builtin_unreachable(); } while (false);
1412:    __shared_ptr(__p).swap(*this);
1412:  }
1412: 
1412:       template<typename _Yp, typename _Deleter>
1412:  _SafeConv<_Yp>
1412:  reset(_Yp* __p, _Deleter __d)
1412:  { __shared_ptr(__p, std::move(__d)).swap(*this); }
1412: 
1412:       template<typename _Yp, typename _Deleter, typename _Alloc>
1412:  _SafeConv<_Yp>
1412:  reset(_Yp* __p, _Deleter __d, _Alloc __a)
1412:         { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); }
1412: 
1412: 
1412:       element_type*
1412:       get() const noexcept
1412:       { return _M_ptr; }
1412: 
1412: 
1412:       explicit operator bool() const noexcept
1412:       { return _M_ptr != nullptr; }
1412: 
1412: 
1412:       bool
1412:       unique() const noexcept
1412:       { return _M_refcount._M_unique(); }
1412: 
1412: 
1412:       long
1412:       use_count() const noexcept
1412:       { return _M_refcount._M_get_use_count(); }
1412: 
1412: 
1412:       void
1412:       swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
1412:       {
1412:  std::swap(_M_ptr, __other._M_ptr);
1412:  _M_refcount._M_swap(__other._M_refcount);
1412:       }
1412: # 1697 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412:       template<typename _Tp1>
1412:  bool
1412:  owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1412:  { return _M_refcount._M_less(__rhs._M_refcount); }
1412: 
1412:       template<typename _Tp1>
1412:  bool
1412:  owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1412:  { return _M_refcount._M_less(__rhs._M_refcount); }
1412: 
1412: 
1412:     protected:
1412: 
1412:       template<typename _Alloc, typename... _Args>
1412:  __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1412:  : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
1412:  { _M_enable_shared_from_this_with(_M_ptr); }
1412: 
1412:       template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
1412:         typename... _Args>
1412:  friend __shared_ptr<_Tp1, _Lp1>
1412:  __allocate_shared(const _Alloc& __a, _Args&&... __args);
1412: # 1731 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412:       __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) noexcept
1412:       : _M_refcount(__r._M_refcount, std::nothrow)
1412:       {
1412:  _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr;
1412:       }
1412: 
1412:       friend class __weak_ptr<_Tp, _Lp>;
1412: 
1412:     private:
1412: 
1412:       template<typename _Yp>
1412:  using __esft_base_t = decltype(__enable_shared_from_this_base(
1412:        std::declval<const __shared_count<_Lp>&>(),
1412:        std::declval<_Yp*>()));
1412: 
1412: 
1412:       template<typename _Yp, typename = void>
1412:  struct __has_esft_base
1412:  : false_type { };
1412: 
1412:       template<typename _Yp>
1412:  struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>>
1412:  : __not_<is_array<_Tp>> { };
1412: 
1412:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1412:  typename enable_if<__has_esft_base<_Yp2>::value>::type
1412:  _M_enable_shared_from_this_with(_Yp* __p) noexcept
1412:  {
1412:    if (auto __base = __enable_shared_from_this_base(_M_refcount, __p))
1412:      __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount);
1412:  }
1412: 
1412:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1412:  typename enable_if<!__has_esft_base<_Yp2>::value>::type
1412:  _M_enable_shared_from_this_with(_Yp*) noexcept
1412:  { }
1412: 
1412:       void*
1412:       _M_get_deleter(const std::type_info& __ti) const noexcept
1412:       { return _M_refcount._M_get_deleter(__ti); }
1412: 
1412:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1412:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1412: 
1412:       template<typename _Del, typename _Tp1, _Lock_policy _Lp1>
1412:  friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
1412: 
1412:       template<typename _Del, typename _Tp1>
1412:  friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       element_type* _M_ptr;
1412:       __shared_count<_Lp> _M_refcount;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1412:     inline bool
1412:     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
1412:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1412:     { return __a.get() == __b.get(); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1412:     { return !__a; }
1412: # 1817 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1412:     { return !__a; }
1412: 
1412:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1412:     inline bool
1412:     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
1412:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1412:     { return __a.get() != __b.get(); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1412:     { return (bool)__a; }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1412:     { return (bool)__a; }
1412: 
1412:   template<typename _Tp, typename _Up, _Lock_policy _Lp>
1412:     inline bool
1412:     operator<(const __shared_ptr<_Tp, _Lp>& __a,
1412:        const __shared_ptr<_Up, _Lp>& __b) noexcept
1412:     {
1412:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1412:       using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type;
1412:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
1412:       return less<_Vp>()(__a.get(), __b.get());
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1412:     {
1412:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1412:       return less<_Tp_elt*>()(__a.get(), nullptr);
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1412:     {
1412:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1412:       return less<_Tp_elt*>()(nullptr, __a.get());
1412:     }
1412: 
1412:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1412:     inline bool
1412:     operator<=(const __shared_ptr<_Tp1, _Lp>& __a,
1412:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1412:     { return !(__b < __a); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1412:     { return !(nullptr < __a); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1412:     { return !(__a < nullptr); }
1412: 
1412:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1412:     inline bool
1412:     operator>(const __shared_ptr<_Tp1, _Lp>& __a,
1412:        const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1412:     { return (__b < __a); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1412:     { return nullptr < __a; }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1412:     { return __a < nullptr; }
1412: 
1412:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1412:     inline bool
1412:     operator>=(const __shared_ptr<_Tp1, _Lp>& __a,
1412:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1412:     { return !(__a < __b); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1412:     { return !(__a < nullptr); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1412:     { return !(nullptr < __a); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline void
1412:     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
1412:     { __a.swap(__b); }
1412: # 1927 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1412:     {
1412:       using _Sp = __shared_ptr<_Tp, _Lp>;
1412:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1412:     {
1412:       using _Sp = __shared_ptr<_Tp, _Lp>;
1412:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1412:     {
1412:       using _Sp = __shared_ptr<_Tp, _Lp>;
1412:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1412:  return _Sp(__r, __p);
1412:       return _Sp();
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     reinterpret_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1412:     {
1412:       using _Sp = __shared_ptr<_Tp, _Lp>;
1412:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     class __weak_ptr
1412:     {
1412:       template<typename _Yp, typename _Res = void>
1412:  using _Compatible = typename
1412:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1412: 
1412: 
1412:       template<typename _Yp>
1412:  using _Assignable = _Compatible<_Yp, __weak_ptr&>;
1412: 
1412:     public:
1412:       using element_type = typename remove_extent<_Tp>::type;
1412: 
1412:       constexpr __weak_ptr() noexcept
1412:       : _M_ptr(nullptr), _M_refcount()
1412:       { }
1412: 
1412:       __weak_ptr(const __weak_ptr&) noexcept = default;
1412: 
1412:       ~__weak_ptr() = default;
1412: # 2009 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1412:       template<typename _Yp, typename = _Compatible1417:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1417:   _OI __result)
1417:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1417: 
1417:   template<bool _IsMove,
1417:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1417:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1417:     __copy_move_backward_a1(
1417:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1417:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1417:   std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1417:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1417: 
1417:   template<bool _IsMove, typename _II, typename _Tp>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value,
1417:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1417:     __copy_move_backward_a1(_II __first, _II __last,
1417:   std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1417:     {
1417:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1417:       typedef typename _Iter::difference_type difference_type;
1417: 
1417:       difference_type __len = __last - __first;
1417:       while (__len > 0)
1417:  {
1417:    difference_type __rlen = __result._M_cur - __result._M_first;
1417:    _Tp* __rend = __result._M_cur;
1417:    if (!__rlen)
1417:      {
1417:        __rlen = _Iter::_S_buffer_size();
1417:        __rend = *(__result._M_node - 1) + __rlen;
1417:      }
1417: 
1417:    const difference_type __clen = std::min(__len, __rlen);
1417:    std::__copy_move_backward_a1<_IsMove>(__last - __clen, __last, __rend);
1417: 
1417:    __last -= __clen;
1417:    __result -= __clen;
1417:    __len -= __clen;
1417:  }
1417: 
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1417:     bool
1417:     __equal_dit(
1417:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __first1,
1417:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __last1,
1417:  _II __first2)
1417:     {
1417:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1417:       if (__first1._M_node != __last1._M_node)
1417:  {
1417:    if (!std::__equal_aux1(__first1._M_cur, __first1._M_last, __first2))
1417:      return false;
1417: 
1417:    __first2 += __first1._M_last - __first1._M_cur;
1417:    for (typename _Iter::_Map_pointer __node = __first1._M_node + 1;
1417:         __node != __last1._M_node;
1417:         __first2 += _Iter::_S_buffer_size(), ++__node)
1417:      if (!std::__equal_aux1(*__node, *__node + _Iter::_S_buffer_size(),
1417:       __first2))
1417:        return false;
1417: 
1417:    return std::__equal_aux1(__last1._M_first, __last1._M_cur, __first2);
1417:  }
1417: 
1417:       return std::__equal_aux1(__first1._M_cur, __last1._M_cur, __first2);
1417:     }
1417: 
1417:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value, bool>::__type
1417:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first1,
1417:    std::_Deque_iterator<_Tp, _Ref, _Ptr> __last1,
1417:    _II __first2)
1417:     { return std::__equal_dit(__first1, __last1, __first2); }
1417: 
1417:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1417:     typename _Tp2, typename _Ref2, typename _Ptr2>
1417:     bool
1417:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1417:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1417:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2)
1417:     { return std::__equal_dit(__first1, __last1, __first2); }
1417: 
1417:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1417:     typename __gnu_cxx::__enable_if<
1417:       __is_random_access_iter<_II>::__value, bool>::__type
1417:     __equal_aux1(_II __first1, _II __last1,
1417:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first2)
1417:     {
1417:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1417:       typedef typename _Iter::difference_type difference_type;
1417: 
1417:       difference_type __len = __last1 - __first1;
1417:       while (__len > 0)
1417:  {
1417:    const difference_type __clen
1417:      = std::min(__len, __first2._M_last - __first2._M_cur);
1417:    if (!std::__equal_aux1(__first1, __first1 + __clen, __first2._M_cur))
1417:      return false;
1417: 
1417:    __first1 += __clen;
1417:    __len -= __clen;
1417:    __first2 += __clen;
1417:  }
1417: 
1417:       return true;
1417:     }
1417: 
1417:   template<typename _Tp1, typename _Ref, typename _Ptr, typename _Tp2>
1417:     int
1417:     __lex_cmp_dit(
1417:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __first1,
1417:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __last1,
1417:  const _Tp2* __first2, const _Tp2* __last2)
1417:     {
1417:       const bool __simple =
1417:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1417:   && __is_pointer<_Ptr>::__value
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   );
1417:       typedef std::__lexicographical_compare<__simple> _Lc;
1417: 
1417:       while (__first1._M_node != __last1._M_node)
1417:  {
1417:    const ptrdiff_t __len1 = __first1._M_last - __first1._M_cur;
1417:    const ptrdiff_t __len2 = __last2 - __first2;
1417:    const ptrdiff_t __len = std::min(__len1, __len2);
1417: 
1417:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_last,
1417:           __first2, __first2 + __len))
1417:      return __ret;
1417: 
1417:    __first1 += __len;
1417:    __first2 += __len;
1417:  }
1417:       return _Lc::__3way(__first1._M_cur, __last1._M_cur,
1417:     __first2, __last2);
1417:     }
1417: 
1417:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1417:     typename _Tp2>
1417:     inline bool
1417:     __lexicographical_compare_aux1(
1417:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1417:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1417:  _Tp2* __first2, _Tp2* __last2)
1417:     { return std::__lex_cmp_dit(__first1, __last1, __first2, __last2) < 0; }
1417: 
1417:   template<typename _Tp1,
1417:     typename _Tp2, typename _Ref2, typename _Ptr2>
1417:     inline bool
1417:     __lexicographical_compare_aux1(_Tp1* __first1, _Tp1* __last1,
1417:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1417:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1417:     { return std::__lex_cmp_dit(__first2, __last2, __first1, __last1) > 0; }
1417: 
1417:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1417:     typename _Tp2, typename _Ref2, typename _Ptr2>
1417:     inline bool
1417:     __lexicographical_compare_aux1(
1417:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1417:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1417:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1417:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1417:     {
1417:       const bool __simple =
1417:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1417:   && __is_pointer<_Ptr1>::__value
1417:   && __is_pointer<_Ptr2>::__value
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   );
1417:       typedef std::__lexicographical_compare<__simple> _Lc;
1417: 
1417:       while (__first1 != __last1)
1417:  {
1417:    const ptrdiff_t __len2 = __first2._M_node == __last2._M_node
1417:      ? __last2._M_cur - __first2._M_cur
1417:      : __first2._M_last - __first2._M_cur;
1417:    if (__len2 == 0)
1417:      return false;
1417:    const ptrdiff_t __len1 = __first1._M_node == __last1._M_node
1417:      ? __last1._M_cur - __first1._M_cur
1417:      : __first1._M_last - __first1._M_cur;
1417:    const ptrdiff_t __len = std::min(__len1, __len2);
1417:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_cur + __len,
1417:           __first2._M_cur, __first2._M_cur + __len))
1417:      return __ret < 0;
1417: 
1417:    __first1 += __len;
1417:    __first2 += __len;
1417:  }
1417: 
1417:       return __last2 != __first2;
1417:     }
1417: 
1417: 
1417: }
1417: # 68 "/usr/include/c++/12/deque" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr
1417:   {
1<_Yp>>
1412:  __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1412:  : _M_refcount(__r._M_refcount)
1412:         { _M_ptr = __r.lock().get(); }
1412: 
1412:       template<typename _Yp, typename = _Compatible<_Yp>>
1412:  __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1412:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1412:  { }
1412: 
1412:       __weak_ptr(__weak_ptr&& __r) noexcept
1412:       : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount))
1412:       { __r._M_ptr = nullptr; }
1412: 
1412:       template<typename _Yp, typename = _Compatible<_Yp>>
1412:  __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1412:  : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount))
1412:         { __r._M_ptr = nullptr; }
1412: 
1412:       __weak_ptr&
1412:       operator=(const __weak_ptr& __r) noexcept = default;
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<_Yp>
1412:  operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1412:  {
1412:    _M_ptr = __r.lock().get();
1412:    _M_refcount = __r._M_refcount;
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<_Yp>
1412:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1412:  {
1412:    _M_ptr = __r._M_ptr;
1412:    _M_refcount = __r._M_refcount;
1412:    return *this;
1412:  }
1412: 
1412:       __weak_ptr&
1412:       operator=(__weak_ptr&& __r) noexcept
1412:       {
1412:  _M_ptr = __r._M_ptr;
1412:  _M_refcount = std::move(__r._M_refcount);
1412:  __r._M_ptr = nullptr;
1412:  return *this;
1412:       }
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<_Yp>
1412:  operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1412:  {
1412:    _M_ptr = __r.lock().get();
1412:    _M_refcount = std::move(__r._M_refcount);
1412:    __r._M_ptr = nullptr;
1412:    return *this;
1412:  }
1412: 
1412:       __shared_ptr<_Tp, _Lp>
1412:       lock() const noexcept
1412:       { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); }
1412: 
1412:       long
1412:       use_count() const noexcept
1412:       { return _M_refcount._M_get_use_count(); }
1412: 
1412:       bool
1412:       expired() const noexcept
1412:       { return _M_refcount._M_get_use_count() == 0; }
1412: 
1412:       template<typename _Tp1>
1412:  bool
1412:  owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept
1412:  { return _M_refcount._M_less(__rhs._M_refcount); }
1412: 
1412:       template<typename _Tp1>
1412:  bool
1412:  owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept
1412:  { return _M_refcount._M_less(__rhs._M_refcount); }
1412: 
1412:       void
1412:       reset() noexcept
1412:       { __weak_ptr().swap(*this); }
1412: 
1412:       void
1412:       swap(__weak_ptr& __s) noexcept
1412:       {
1412:  std::swap(_M_ptr, __s._M_ptr);
1412:  _M_refcount._M_swap(__s._M_refcount);
1412:       }
1412: 
1412:     private:
1412: 
1412:       void
1412:       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
1412:       {
1412:  if (use_count() == 0)
1412:    {
1412:      _M_ptr = __ptr;
1412:      _M_refcount = __refcount;
1412:    }
1412:       }
1412: 
1412:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1412:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1412:       friend class __enable_shared_from_this<_Tp, _Lp>;
1412:       friend class enable_shared_from_this<_Tp>;
1412: 
1412: 
1412: 
1412: 
1412:       element_type* _M_ptr;
1412:       __weak_count<_Lp> _M_refcount;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline void
1412:     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
1412:     { __a.swap(__b); }
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:   template<typename _Tp, typename _Tp1>
1412:     struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool>
1412:     {
1412:       bool
1412:       operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept
1412:       { return __lhs.owner_before(__rhs); }
1412: 
1412:       bool
1412:       operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept
1412:       { return __lhs.owner_before(__rhs); }
1412: 
1412:       bool
1412:       operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept
1412:       { return __lhs.owner_before(__rhs); }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412:   template<>
1412:     struct _Sp_owner_less<void, void>
1412:     {
1412:       template<typename _Tp, typename _Up>
1412:  auto
1412:  operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept
1412:  -> decltype(__lhs.owner_before(__rhs))
1412:  { return __lhs.owner_before(__rhs); }
1412: 
1412:       using is_transparent = void;
1412:     };
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     struct owner_less<__shared_ptr<_Tp, _Lp>>
1412:     : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>>
1412:     { };
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     struct owner_less<__weak_ptr<_Tp, _Lp>>
1412:     : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     class __enable_shared_from_this
1412:     {
1412:     protected:
1412:       constexpr __enable_shared_from_this() noexcept { }
1412: 
1412:       __enable_shared_from_this(const __enable_shared_from_this&) noexcept { }
1412: 
1412:       __enable_shared_from_this&
1412:       operator=(const __enable_shared_from_this&) noexcept
1412:       { return *this; }
1412: 
1412:       ~__enable_shared_from_this() { }
1412: 
1412:     public:
1412:       __shared_ptr<_Tp, _Lp>
1412:       shared_from_this()
1412:       { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
1412: 
1412:       __shared_ptr<const _Tp, _Lp>
1412:       shared_from_this() const
1412:       { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
1412: 
1412: 
1412:       __weak_ptr<_Tp, _Lp>
1412:       weak_from_this() noexcept
1412:       { return this->_M_weak_this; }
1412: 
1412:       __weak_ptr<const _Tp, _Lp>
1412:       weak_from_this() const noexcept
1412:       { return this->_M_weak_this; }
1412: 
1412: 
1412:     private:
1412:       template<typename _Tp1>
1412:  void
1412:  _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept
1412:  { _M_weak_this._M_assign(__p, __n); }
1412: 
1412:       friend const __enable_shared_from_this*
1412:       __enable_shared_from_this_base(const __shared_count<_Lp>&,
1412:          const __enable_shared_from_this* __p)
1412:       { return __p; }
1412: 
1412:       template<typename, _Lock_policy>
1412:  friend class __shared_ptr;
1412: 
1412:       mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
1412:     };
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1412:     typename _Alloc, typename... _Args>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     __allocate_shared(const _Alloc& __a, _Args&&... __args)
1412:     {
1412:       static_assert(!is_array<_Tp>::value, "make_shared<T[]> not supported");
1412: 
1412:       return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1412:         std::forward<_Args>(__args)...);
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1412:     typename... _Args>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     __make_shared(_Args&&... __args)
1412:     {
1412:       typedef typename std::remove_const<_Tp>::type _Tp_nc;
1412:       return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
1412:            std::forward<_Args>(__args)...);
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     struct hash<__shared_ptr<_Tp, _Lp>>
1412:     : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
1412:     {
1412:       size_t
1412:       operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept
1412:       {
1412:  return hash<typename __shared_ptr<_Tp, _Lp>::element_type*>()(
1412:      __s.get());
1412:       }
1412:     };
1412: 
1412: 
1412: }
1412: # 54 "/usr/include/c++/12/bits/shared_ptr.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 68 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp>
1412:     inline std::basic_ostream<_Ch, _Tr>&
1412:     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
1412:         const __shared_ptr<_Tp, _Lp>& __p)
1412:     {
1412:       __os << __p.get();
1412:       return __os;
1412:     }
1412: 
1412:   template<typename _Del, typename _Tp, _Lock_policy _Lp>
1412:     inline _Del*
1412:     get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept
1412:     {
1412: 
1412:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1412: 
1412: 
1412: 
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Del, typename _Tp>
1412:     inline _Del*
1412:     get_deleter(const shared_ptr<_Tp>& __p) noexcept
1412:     {
1412: 
1412:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1412: 
1412: 
1412: 
1412:     }
1412: # 111 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Tp>
1412:     using _NonArray = __enable_if_t<!is_array<_Tp>::value, _Tp>;
1412: # 174 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Tp>
1412:     class shared_ptr : public __shared_ptr<_Tp>
1412:     {
1412:       template<typename... _Args>
1412:  using _Constructible = typename enable_if<
1412:    is_constructible<__shared_ptr<_Tp>, _Args...>::value
1412:  >::type;
1412: 
1412:       template<typename _Arg>
1412:  using _Assignable = typename enable_if<
1412:    is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr&
1412:  >::type;
1412: 
1412:     public:
1412: 
1412: 
1412:       using element_type = typename __shared_ptr<_Tp>::element_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using weak_type = weak_ptr<_Tp>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
1412: 
1412:       shared_ptr(const shared_ptr&) noexcept = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Yp, typename = _Constructible<_Yp*>>
1412:  explicit
1412:  shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
1412: # 229 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       template<typename _Yp, typename _Deleter,
1412:         typename = _Constructible<_Yp*, _Deleter>>
1412:  shared_ptr(_Yp* __p, _Deleter __d)
1412:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1412: # 247 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       template<typename _Deleter>
1412:  shared_ptr(nullptr_t __p, _Deleter __d)
1412:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1412: # 266 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       template<typename _Yp, typename _Deleter, typename _Alloc,
1412:         typename = _Constructible<_Yp*, _Deleter, _Alloc>>
1412:  shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1412:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1412: # 286 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       template<typename _Deleter, typename _Alloc>
1412:  shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1412:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1412: # 310 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       template<typename _Yp>
1412:  shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept
1412:  : __shared_ptr<_Tp>(__r, __p) { }
1412: # 349 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       template<typename _Yp,
1412:         typename = _Constructible<const shared_ptr<_Yp>&>>
1412:  shared_ptr(const shared_ptr<_Yp>& __r) noexcept
1412:         : __shared_ptr<_Tp>(__r) { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       shared_ptr(shared_ptr&& __r) noexcept
1412:       : __shared_ptr<_Tp>(std::move(__r)) { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Yp, typename = _Constructible<shared_ptr<_Yp>>>
1412:  shared_ptr(shared_ptr<_Yp>&& __r) noexcept
1412:  : __sh417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _Tp>
1417:       using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>;
1417:   }
1417: 
1417: }
1417: # 61 "/usr/include/c++/12/stack" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_stack.h" 1 3
1417: # 65 "/usr/include/c++/12/bits/stl_stack.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 98 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:   template<typename _Tp, typename _Sequence = deque<_Tp> >
1417:     class stack
1417:     {
1417: # 111 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:       template<typename _Tp1, typename _Seq1>
1417:  friend bool
1417:  operator==(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
1417: 
1417:       template<typename _Tp1, typename _Seq1>
1417:  friend bool
1417:  operator<(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
1417: # 126 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:       template<typename _Alloc>
1417:  using _Uses = typename
1417:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1417:    "value_type must be the same as the underlying container");
1417: 
1417: 
1417: 
1417:     public:
1417:       typedef typename _Sequence::value_type value_type;
1417:       typedef typename _Sequence::reference reference;
1417:       typedef typename _Sequence::const_reference const_reference;
1417:       typedef typename _Sequence::size_type size_type;
1417:       typedef _Sequence container_type;
1417: 
1417:     protected:
1417: 
1417:       _Sequence c;
1417: 
1417:     public:
1417: # 160 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:       template<typename _Seq = _Sequence, typename _Requires = typename
1417:         enable_if<is_default_constructible<_Seq>::value>::type>
1417:  stack()
1417:  : c() { }
1417: 
1417:       explicit
1417:       stack(const _Sequence& __c)
1417:       : c(__c) { }
1417: 
1417:       explicit
1417:       stack(_Sequence&& __c)
1417:       : c(std::move(__c)) { }
1417: # 183 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  explicit
1417:  stack(const _Alloc& __a)
1417:  : c(__a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  stack(const _Sequence& __c, const _Alloc& __a)
1417:  : c(__c, __a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  stack(_Sequence&& __c, const _Alloc& __a)
1417:  : c(std::move(__c), __a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  stack(const stack& __q, const _Alloc& __a)
1417:  : c(__q.c, __a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  stack(stack&& __q, const _Alloc& __a)
1417:  : c(std::move(__q.c), __a) { }
1417: # 216 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:       [[__nodiscard__]] bool
1417:       empty() const
1417:       { return c.empty(); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       size() const
1417:       { return c.size(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       top()
1417:       {
1417:  ;
1417:  return c.back();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       top() const
1417:       {
1417:  ;
1417:  return c.back();
1417:       }
1417: # 259 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:       void
1417:       push(const value_type& __x)
1417:       { c.push_back(__x); }
1417: 
1417: 
1417:       void
1417:       push(value_type&& __x)
1417:       { c.push_back(std::move(__x)); }
1417: 
1417: 
1417:       template<typename... _Args>
1417:  decltype(auto)
1417:  emplace(_Args&&... __args)
1417:  { return c.emplace_back(std::forward<_Args>(__args)...); }
1417: # 292 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:       void
1417:       pop()
1417:       {
1417:  ;
1417:  c.pop_back();
1417:       }
1417: 
1417: 
1417:       void
1417:       swap(stack& __s)
1417: 
1417:       noexcept(__is_nothrow_swappable<_Sequence>::value)
1417: 
1417: 
1417: 
1417:       {
1417:  using std::swap;
1417:  swap(c, __s.c);
1417:       }
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _Container,
1417:     typename = _RequireNotAllocator<_Container>>
1417:     stack(_Container) -> stack<typename _Container::value_type, _Container>;
1417: 
1417:   template<typename _Container, typename _Allocator,
1417:     typename = _RequireNotAllocator<_Container>>
1417:     stack(_Container, _Allocator)
1417:     -> stack<typename _Container::value_type, _Container>;
1417: # 353 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1417:     { return __x.c == __y.c; }
1417: # 372 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1417:     { return __x.c < __y.c; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1417:     { return !(__x < __y); }
1417: # 415 "/usr/include/c++/12/bits/stl_stack.h" 3
1417:   template<typename _Tp, typename _Seq>
1417:     inline
1417: 
1417: 
1417:     typename enable_if<__is_swappable<_Seq>::value>::type
1417: 
1417: 
1417: 
1417:     swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417:   template<typename _Tp, typename _Seq, typename _Alloc>
1417:     struct uses_allocator<stack<_Tp, _Seq>, _Alloc>
1417:     : public uses_allocator<_Seq, _Alloc>::type { };
1417: 
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/stack" 2 3
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1417:        
1417: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1417: 
1417: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1417: namespace xbmcutil
1417: {
1417: # 105 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1417:   template <class T> class GlobalsSingleton
1417:   {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template <class K> class Deleter
1417:     {
1417:     public:
1417:       K* guarded;
1417:       ~Deleter() { if (guarded) delete guarded; }
1417:     };
1417: # 130 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1417:     static Deleter<std::shared_ptr<T> > instance;
1417: 
1417: 
1417: 
1417: 
1417:     static T* quick;
1417:   public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     inline static std::shared_ptr<T> getInstance()
1417:     {
1417:       if (!instance.guarded)
1417:       {
1417:         if (!quick)
1417:           quick = new T;
1417:         instance.guarded = new std::shared_ptr<T>(quick);
1417:       }
1417:       return *(instance.guarded);
1417:     }
1417: # 160 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1417:     inline static T* getQuick()
1417:     {
1417:       if (!quick)
1417:         quick = new T;
1417: 
1417:       return quick;
1417:     }
1417: 
1417:   };
1417: 
1417:   template <class T> typename GlobalsSingleton<T>::template Deleter<std::shared_ptr<T> > GlobalsSingleton<T>::instance;
1417:   template <class T> T* GlobalsSingleton<T>::quick;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class InitFlag { public: explicit InitFlag(bool& flag) { flag = true; } };
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 2
1417: 
1417: 
1417: 
1417: namespace ADDON
1417: {
1417: class CAddonMgr;
1417: class CBinaryAddonManager;
1417: class CBinaryAddonCache;
1417: class CVFSAddonCache;
1417: class CServiceAddonManager;
1417: class CRepositoryUpdater;
1417: }
1417: 
1417: namespace ANNOUNCEMENT
1417: {
1417: class CAnnouncementManager;
1417: }
1417: 
1417: namespace MEDIA_DETECT
1417: {
1417: class CDetectDVDMedia;
1417: }
1417: 
1417: namespace PVR
1417: {
1417: class CPVRManager;
1417: }
1417: 
1417: namespace PLAYLIST
1417: {
1417: class CPlayListPlayer;
1417: }
1417: 
1417: namespace KODI
1417: {
1417: namespace MESSAGING
1417: {
1417: class CApplicationMessenger;
1417: }
1417: }
1417: 
1417: class CAppParams;
1417: template<class T>
1417: class CComponentContainer;
1417: class CContextMenuManager;
1417: class XBPython;
1417: class CDataCacheCore;
1417: class IAE;
1417: class IApplicationComponent;
1417: class CFavouritesService;
1417: class CInputManager;
1417: class CFileExtensionProvider;
1417: class CNetworkBase;
1417: class CWinSystemBase;
1417: class CRenderSystemBase;
1417: class CPowerManager;
1417: class CWeatherManager;
1417: class CPlayerCoreFactory;
1417: class CDatabaseManager;
1417: class CEventLog;
1417: class CGUIComponent;
1417: class CAppInboundProtocol;
1417: class CSettingsComponent;
1417: class CDecoderFilterManager;
1417: class CMediaManager;
1417: class CCPUInfo;
1417: class CLog;
1417: class CPlatform;
1417: class CTextureCache;
1417: class CJobManager;
1417: class CKeyboardLayoutManager;
1417: 
1417: namespace WSDiscovery
1417: {
1417: class IWSDiscovery;
1417: }
1417: 
1417: namespace KODI
1417: {
1417: namespace ADDONS
1417: {
1417: class CExtsMimeSupportList;
1417: }
1417: 
1417: namespace GAME
1417: {
1417: class CControllerManager;
1417: class CGameServices;
1417: }
1417: 
1417: namespace RETRO
1417: {
1417: class CGUIGameRenderManager;
1417: }
1417: }
1417: 
1417: namespace PERIPHERALS
1417: {
1417: class CPeripherals;
1417: }
1417: 
1417: namespace speech
1417: {
1417: class ISpeechRecognition;
1417: }
1417: 
1417: class CServiceBroker
1417: {
1417: public:
1417:   CServiceBroker();
1417:   ~CServiceBroker();
1417: 
1417:   static std::shared_ptr<CAppParams> GetAppParams();
1417:   static void RegisterAppParams(const std::shared_ptr<CAppParams>& appParams);
1417:   static void UnregisterAppParams();
1417: 
1417:   static CLog& GetLogging();
1417:   static void CreateLogging();
1417:   static void DestroyLogging();
1417: 
1417:   static std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> GetAnnouncementManager();
1417:   static void RegisterAnnouncementManager(
1417:       std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> announcementManager);
1417:   static void UnregisterAnnouncementManager();
1417: 
1417:   static ADDON::CAddonMgr& GetAddonMgr();
1417:   static ADDON::CBinaryAddonManager& GetBinaryAddonManager();
1417:   static ADDON::CBinaryAddonCache& GetBinaryAddonCache();
1417:   static KODI::ADDONS::CExtsMimeSupportList& GetExtsMimeSupportList();
1417:   static ADDON::CVFSAddonCache& GetVFSAddonCache();
1417:   static XBPython& GetXBPython();
1417:   static WSDiscovery::IWSDiscovery& GetWSDiscovery();
1417:   static MEDIA_DETECT::CDetectDVDMedia& GetDetectDVDMedia();
1417:   statared_ptr<_Tp>(std::move(__r)) { }
1412: # 379 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1412:  explicit shared_ptr(const weak_ptr<_Yp>& __r)
1412:  : __shared_ptr<_Tp>(__r) { }
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:       template<typename _Yp, typename = _Constructible<auto_ptr<_Yp>>>
1412:  shared_ptr(auto_ptr<_Yp>&& __r);
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Yp, typename _Del,
1412:         typename = _Constructible<unique_ptr<_Yp, _Del>>>
1412:  shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1412:  : __shared_ptr<_Tp>(std::move(__r)) { }
1412: # 412 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { }
1412: 
1412:       shared_ptr& operator=(const shared_ptr&) noexcept = default;
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<const shared_ptr<_Yp>&>
1412:  operator=(const shared_ptr<_Yp>& __r) noexcept
1412:  {
1412:    this->__shared_ptr<_Tp>::operator=(__r);
1412:    return *this;
1412:  }
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:       template<typename _Yp>
1412:  _Assignable<auto_ptr<_Yp>>
1412:  operator=(auto_ptr<_Yp>&& __r)
1412:  {
1412:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1412:    return *this;
1412:  }
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412:       shared_ptr&
1412:       operator=(shared_ptr&& __r) noexcept
1412:       {
1412:  this->__shared_ptr<_Tp>::operator=(std::move(__r));
1412:  return *this;
1412:       }
1412: 
1412:       template<class _Yp>
1412:  _Assignable<shared_ptr<_Yp>>
1412:  operator=(shared_ptr<_Yp>&& __r) noexcept
1412:  {
1412:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _Yp, typename _Del>
1412:  _Assignable<unique_ptr<_Yp, _Del>>
1412:  operator=(unique_ptr<_Yp, _Del>&& __r)
1412:  {
1412:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1412:    return *this;
1412:  }
1412: 
1412:     private:
1412: 
1412:       template<typename _Alloc, typename... _Args>
1412:  shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1412:  : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
1412:  { }
1412: 
1412:       template<typename _Yp, typename _Alloc, typename... _Args>
1412:  friend shared_ptr<_NonArray<_Yp>>
1412:  allocate_shared(const _Alloc&, _Args&&...);
1412: 
1412:       template<typename _Yp, typename... _Args>
1412:  friend shared_ptr<_NonArray<_Yp>>
1412:  make_shared(_Args&&...);
1412: # 535 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:       shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) noexcept
1412:       : __shared_ptr<_Tp>(__r, std::nothrow) { }
1412: 
1412:       friend class weak_ptr<_Tp>;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>;
1412:   template<typename _Tp, typename _Del>
1412:     shared_ptr(unique_ptr<_Tp, _Del>) -> shared_ptr<_Tp>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     [[__nodiscard__]] inline bool
1412:     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1412:     { return __a.get() == __b.get(); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1412:     { return !__a; }
1412: # 580 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1412:     { return !__a; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     [[__nodiscard__]] inline bool
1412:     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1412:     { return __a.get() != __b.get(); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1412:     { return (bool)__a; }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1412:     { return (bool)__a; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     [[__nodiscard__]] inline bool
1412:     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1412:     {
1412:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1412:       using _Up_elt = typename shared_ptr<_Up>::element_type;
1412:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
1412:       return less<_Vp>()(__a.get(), __b.get());
1412:     }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1412:     {
1412:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1412:       return less<_Tp_elt*>()(__a.get(), nullptr);
1412:     }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1412:     {
1412:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1412:       return less<_Tp_elt*>()(nullptr, __a.get());
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     [[__nodiscard__]] inline bool
1412:     operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1412:     { return !(__b < __a); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1412:     { return !(nullptr < __a); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1412:     { return !(__a < nullptr); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     [[__nodiscard__]] inline bool
1412:     operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1412:     { return (__b < __a); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1412:     { return nullptr < __a; }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1412:     { return __a < nullptr; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     [[__nodiscard__]] inline bool
1412:     operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1412:     { return !(__a < __b); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1412:     { return !(__a < nullptr); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[__nodiscard__]] inline bool
1412:     operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1412:     { return !(nullptr < __a); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline void
1412:     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
1412:     { __a.swap(__b); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline shared_ptr<_Tp>
1412:     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1412:     {
1412:       using _Sp = shared_ptr<_Tp>;
1412:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline shared_ptr<_Tp>
1412:     const_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1412:     {
1412:       using _Sp = shared_ptr<_Tp>;
1412:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1412:     }
1412: 
1412: 
1ic PVR::CPVRManager& GetPVRManager();
1417:   static CContextMenuManager& GetContextMenuManager();
1417:   static CDataCacheCore& GetDataCacheCore();
1417:   static CPlatform& GetPlatform();
1417:   static PLAYLIST::CPlayListPlayer& GetPlaylistPlayer();
1417:   static KODI::GAME::CControllerManager& GetGameControllerManager();
1417:   static KODI::GAME::CGameServices& GetGameServices();
1417:   static KODI::RETRO::CGUIGameRenderManager& GetGameRenderManager();
1417:   static PERIPHERALS::CPeripherals& GetPeripherals();
1417:   static CFavouritesService& GetFavouritesService();
1417:   static ADDON::CServiceAddonManager& GetServiceAddons();
1417:   static ADDON::CRepositoryUpdater& GetRepositoryUpdater();
1417:   static CInputManager& GetInputManager();
1417:   static CFileExtensionProvider& GetFileExtensionProvider();
1417:   static bool IsAddonInterfaceUp();
1417:   static bool IsServiceManagerUp();
1417:   static CNetworkBase& GetNetwork();
1417:   static CPowerManager& GetPowerManager();
1417:   static CWeatherManager& GetWeatherManager();
1417:   static CPlayerCoreFactory& GetPlayerCoreFactory();
1417:   static CDatabaseManager& GetDatabaseManager();
1417:   static CEventLog* GetEventLog();
1417:   static CMediaManager& GetMediaManager();
1417:   static CComponentContainer<IApplicationComponent>& GetAppComponents();
1417: 
1417:   static CGUIComponent* GetGUI();
1417:   static void RegisterGUI(CGUIComponent* gui);
1417:   static void UnregisterGUI();
1417: 
1417:   static void RegisterSettingsComponent(const std::shared_ptr<CSettingsComponent>& settings);
1417:   static void UnregisterSettingsComponent();
1417:   static std::shared_ptr<CSettingsComponent> GetSettingsComponent();
1417: 
1417:   static void RegisterWinSystem(CWinSystemBase* winsystem);
1417:   static void UnregisterWinSystem();
1417:   static CWinSystemBase* GetWinSystem();
1417:   static CRenderSystemBase* GetRenderSystem();
1417: 
1417:   static IAE* GetActiveAE();
1417:   static void RegisterAE(IAE* ae);
1417:   static void UnregisterAE();
1417: 
1417:   static std::shared_ptr<CAppInboundProtocol> GetAppPort();
1417:   static void RegisterAppPort(std::shared_ptr<CAppInboundProtocol> port);
1417:   static void UnregisterAppPort();
1417: 
1417:   static void RegisterDecoderFilterManager(CDecoderFilterManager* manager);
1417:   static CDecoderFilterManager* GetDecoderFilterManager();
1417: 
1417:   static std::shared_ptr<CCPUInfo> GetCPUInfo();
1417:   static void RegisterCPUInfo(std::shared_ptr<CCPUInfo> cpuInfo);
1417:   static void UnregisterCPUInfo();
1417: 
1417:   static void RegisterTextureCache(const std::shared_ptr<CTextureCache>& cache);
1417:   static void UnregisterTextureCache();
1417:   static std::shared_ptr<CTextureCache> GetTextureCache();
1417: 
1417:   static void RegisterJobManager(const std::shared_ptr<CJobManager>& jobManager);
1417:   static void UnregisterJobManager();
1417:   static std::shared_ptr<CJobManager> GetJobManager();
1417: 
1417:   static void RegisterAppMessenger(
1417:       const std::shared_ptr<KODI::MESSAGING::CApplicationMessenger>& appMessenger);
1417:   static void UnregisterAppMessenger();
1417:   static std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> GetAppMessenger();
1417: 
1417:   static void RegisterKeyboardLayoutManager(
1417:       const std::shared_ptr<CKeyboardLayoutManager>& keyboardLayoutManager);
1417:   static void UnregisterKeyboardLayoutManager();
1417:   static std::shared_ptr<CKeyboardLayoutManager> GetKeyboardLayoutManager();
1417: 
1417:   static void RegisterSpeechRecognition(
1417:       const std::shared_ptr<speech::ISpeechRecognition>& speechRecognition);
1417:   static void UnregisterSpeechRecognition();
1417:   static std::shared_ptr<speech::ISpeechRecognition> GetSpeechRecognition();
1417: 
1417: private:
1417:   std::shared_ptr<CAppParams> m_appParams;
1417:   std::unique_ptr<CLog> m_logging;
1417:   std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> m_pAnnouncementManager;
1417:   CGUIComponent* m_pGUI;
1417:   CWinSystemBase* m_pWinSystem;
1417:   IAE* m_pActiveAE;
1417:   std::shared_ptr<CAppInboundProtocol> m_pAppPort;
1417:   std::shared_ptr<CSettingsComponent> m_pSettingsComponent;
1417:   CDecoderFilterManager* m_decoderFilterManager;
1417:   std::shared_ptr<CCPUInfo> m_cpuInfo;
1417:   std::shared_ptr<CTextureCache> m_textureCache;
1417:   std::shared_ptr<CJobManager> m_jobManager;
1417:   std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> m_appMessenger;
1417:   std::shared_ptr<CKeyboardLayoutManager> m_keyboardLayoutManager;
1417:   std::shared_ptr<speech::ISpeechRecognition> m_speechRecognition;
1417: };
1417: 
1417: static std::shared_ptr<CServiceBroker> g_serviceBrokerRef(xbmcutil::GlobalsSingleton<CServiceBroker>::getInstance());
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h"
1417:        
1417: 
1417: enum class HDR_STATUS
1417: {
1417:   HDR_TOGGLE_FAILED = -1,
1417:   HDR_UNSUPPORTED = 0,
1417:   HDR_OFF = 1,
1417:   HDR_ON = 2
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace WINDOWING
1417: {
1417: 
1417: class COSScreenSaverManager;
1417: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1417: class COSScreenSaverInhibitor
1417: {
1417: public:
1417:   COSScreenSaverInhibitor() noexcept;
1417:   COSScreenSaverInhibitor(COSScreenSaverInhibitor&& other) noexcept;
1417:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor&& other) noexcept;
1417:   ~COSScreenSaverInhibitor() noexcept;
1417:   void Release();
1417:   bool IsActive() const;
1417:   operator bool() const;
1417: 
1417: private:
1417:   friend class COSScreenSaverManager;
1417:   explicit COSScreenSaverInhibitor(COSScreenSaverManager* manager);
1417:   bool m_active;
1417:   COSScreenSaverManager* m_manager;
1417: 
1417:   COSScreenSaverInhibitor(COSScreenSaverInhibitor const& other) = delete;
1417:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor const& other) = delete;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: class IOSScreenSaver
1417: {
1417: public:
1417:   virtual ~IOSScreenSaver() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Inhibit() = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Uninhibit() = 0;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: class CDummyOSScreenSaver : public IOSScreenSaver
1417: {
1417: public:
1417:   void Inhibit() override {}
1417:   void Uninhibit() override {}
1417: };
1417: # 92 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1417: class COSScreenSaverManager
1417: {
1417: public:
1417: 
1417: 
1417: 
1417:   explicit COSScreenSaverManager(std::unique_ptr<IOSScreenSaver> impl);
1417: 
1417: 
1417: 
1417: 
1417:   COSScreenSaverInhibitor CreateInhibitor();
1417: 
1417: 
1417: 
1417:   bool IsInhibited();
1417: 
1417: private:
1417:   friend class COSScreenSaverInhibitor;
1417:   void RemoveInhibitor();
1417: 
1417:   unsigned int m_inhibitionCount{0u};
1417:   std::unique_ptr<IOSScreenSaver> m_impl;
1417: };
1417: 
1417: }
1417: }
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.412:   template<typename _Tp, typename _Up>
1412:     inline shared_ptr<_Tp>
1412:     dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1412:     {
1412:       using _Sp = shared_ptr<_Tp>;
1412:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1412:  return _Sp(__r, __p);
1412:       return _Sp();
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline shared_ptr<_Tp>
1412:     reinterpret_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1412:     {
1412:       using _Sp = shared_ptr<_Tp>;
1412:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1412:     }
1412: # 810 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Tp>
1412:     class weak_ptr : public __weak_ptr<_Tp>
1412:     {
1412:       template<typename _Arg>
1412:  using _Constructible = typename enable_if<
1412:    is_constructible<__weak_ptr<_Tp>, _Arg>::value
1412:  >::type;
1412: 
1412:       template<typename _Arg>
1412:  using _Assignable = typename enable_if<
1412:    is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr&
1412:  >::type;
1412: 
1412:     public:
1412:       constexpr weak_ptr() noexcept = default;
1412: 
1412:       template<typename _Yp,
1412:         typename = _Constructible<const shared_ptr<_Yp>&>>
1412:  weak_ptr(const shared_ptr<_Yp>& __r) noexcept
1412:  : __weak_ptr<_Tp>(__r) { }
1412: 
1412:       weak_ptr(const weak_ptr&) noexcept = default;
1412: 
1412:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1412:  weak_ptr(const weak_ptr<_Yp>& __r) noexcept
1412:  : __weak_ptr<_Tp>(__r) { }
1412: 
1412:       weak_ptr(weak_ptr&&) noexcept = default;
1412: 
1412:       template<typename _Yp, typename = _Constructible<weak_ptr<_Yp>>>
1412:  weak_ptr(weak_ptr<_Yp>&& __r) noexcept
1412:  : __weak_ptr<_Tp>(std::move(__r)) { }
1412: 
1412:       weak_ptr&
1412:       operator=(const weak_ptr& __r) noexcept = default;
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<const weak_ptr<_Yp>&>
1412:  operator=(const weak_ptr<_Yp>& __r) noexcept
1412:  {
1412:    this->__weak_ptr<_Tp>::operator=(__r);
1412:    return *this;
1412:  }
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<const shared_ptr<_Yp>&>
1412:  operator=(const shared_ptr<_Yp>& __r) noexcept
1412:  {
1412:    this->__weak_ptr<_Tp>::operator=(__r);
1412:    return *this;
1412:  }
1412: 
1412:       weak_ptr&
1412:       operator=(weak_ptr&& __r) noexcept = default;
1412: 
1412:       template<typename _Yp>
1412:  _Assignable<weak_ptr<_Yp>>
1412:  operator=(weak_ptr<_Yp>&& __r) noexcept
1412:  {
1412:    this->__weak_ptr<_Tp>::operator=(std::move(__r));
1412:    return *this;
1412:  }
1412: 
1412:       shared_ptr<_Tp>
1412:       lock() const noexcept
1412:       { return shared_ptr<_Tp>(*this, std::nothrow); }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline void
1412:     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
1412:     { __a.swap(__b); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp = void>
1412:     struct owner_less;
1412: 
1412: 
1412:   template<>
1412:     struct owner_less<void> : _Sp_owner_less<void, void>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct owner_less<shared_ptr<_Tp>>
1412:     : public _Sp_owner_less<shared_ptr<_Tp>, weak_ptr<_Tp>>
1412:     { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct owner_less<weak_ptr<_Tp>>
1412:     : public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     class enable_shared_from_this
1412:     {
1412:     protected:
1412:       constexpr enable_shared_from_this() noexcept { }
1412: 
1412:       enable_shared_from_this(const enable_shared_from_this&) noexcept { }
1412: 
1412:       enable_shared_from_this&
1412:       operator=(const enable_shared_from_this&) noexcept
1412:       { return *this; }
1412: 
1412:       ~enable_shared_from_this() { }
1412: 
1412:     public:
1412:       shared_ptr<_Tp>
1412:       shared_from_this()
1412:       { return shared_ptr<_Tp>(this->_M_weak_this); }
1412: 
1412:       shared_ptr<const _Tp>
1412:       shared_from_this() const
1412:       { return shared_ptr<const _Tp>(this->_M_weak_this); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       weak_ptr<_Tp>
1412:       weak_from_this() noexcept
1412:       { return this->_M_weak_this; }
1412: 
1412:       weak_ptr<const _Tp>
1412:       weak_from_this() const noexcept
1412:       { return this->_M_weak_this; }
1412: 
1412: 
1412: 
1412:     private:
1412:       template<typename _Tp1>
1412:  void
1412:  _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
1412:  { _M_weak_this._M_assign(__p, __n); }
1412: 
1412: 
1412:       friend const enable_shared_from_this*
1412:       __enable_shared_from_this_base(const __shared_count<>&,
1412:          const enable_shared_from_this* __p)
1412:       { return __p; }
1412: 
1412:       template<typename, _Lock_policy>
1412:  friend class __shared_ptr;
1412: 
1412:       mutable weak_ptr<_Tp> _M_weak_this;
1412:     };
1412: # 988 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Tp, typename _Alloc, typename... _Args>
1412:     inline shared_ptr<_NonArray<_Tp>>
1412:     allocate_shared(const _Alloc& __a, _Args&&... __args)
1412:     {
1412:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1412:         std::forward<_Args>(__args)...);
1412:     }
1412: # 1003 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Tp, typename... _Args>
1412:     inline shared_ptr<_NonArray<_Tp>>
1412:     make_shared(_Args&&... __args)
1412:     {
1412:       using _Alloc = allocator<void>;
1412:       _Alloc __a;
1412:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1412:         std::forward<_Args>(__args)...);
1412:     }
1412: # 1152 "/usr/include/c++/12/bits/shared_ptr.h" 3
1412:   template<typename _Tp>
1412:     struct hash<shared_ptr<_Tp>>
1412:     : public __hash_base<size_t, shared_ptr<_Tp>>
1412:     {
1412:       size_t
1412:       operator()(const shared_ptr<_Tp>& __s) const noexcept
1412:       {
1412:  return std::hash<typename shared_ptr<_Tp>::element_type*>()(__s.get());
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   namespace __detail::__variant
1412:   {
1412:     template<typename> struct _Never_valueless_alt;
1412: 
1412: 
1412: 
1412:     template<typename _Tp>
1412:       struct _Never_valueless_alt<std::shared_ptr<_Tp>>
1412:       : std::true_type
1412:       { };
1412: 
1412: 
1412: 
1412:     template<typename _Tp>
1412:       struct _Never_valueless_alt<std::weak_ptr<_Tp>>
1412:       : std::true_type
1412:       { };
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: # 78 "/usr/include/c++/12/memory" 2 3
1412: # 1 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412: # 1 "/usr/include/c++/12/bits/atomic_base.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/atomic_base.h" 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1412: # 38 "/usr/include/c++/12/bits/atomic_base.h" 2 3
1412: # 48 "/usr/include/c++/12/bits/atomic_base.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 78 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:   typedef enum memory_order
1412:     {
1412:       memory_order_relaxed,
1412:       memory_order_consume,
1412:       memory_order_acquire,
1412:       memory_order_release,
1412:       memory_order_acq_rel,
1412:       memory_order_seq_cst
1412:     } memory_order;
1412: 
1412: 
1412:   enum __memory_order_modifier
1412:     {
1412:       __memory_h"
1417:        
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/chrono" 1 3
1417: # 33 "/usr/include/c++/12/chrono" 3
1417:        
1417: # 34 "/usr/include/c++/12/chrono" 3
1417: # 45 "/usr/include/c++/12/chrono" 3
1417: 
1417: # 45 "/usr/include/c++/12/chrono" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 62 "/usr/include/c++/12/chrono" 3
1417:   namespace chrono
1417:   {
1417: # 2058 "/usr/include/c++/12/chrono" 3
1417:   }
1417: # 2181 "/usr/include/c++/12/chrono" 3
1417: 
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1417: # 1 "/usr/include/c++/12/condition_variable" 1 3
1417: # 32 "/usr/include/c++/12/condition_variable" 3
1417:        
1417: # 33 "/usr/include/c++/12/condition_variable" 3
1417: # 51 "/usr/include/c++/12/condition_variable" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 64 "/usr/include/c++/12/condition_variable" 3
1417:   enum class cv_status { no_timeout, timeout };
1417: 
1417: 
1417:   class condition_variable
1417:   {
1417:     using steady_clock = chrono::steady_clock;
1417:     using system_clock = chrono::system_clock;
1417: 
1417:     using __clock_t = steady_clock;
1417: 
1417: 
1417: 
1417: 
1417:     __condvar _M_cond;
1417: 
1417:   public:
1417:     typedef __gthread_cond_t* native_handle_type;
1417: 
1417:     condition_variable() noexcept;
1417:     ~condition_variable() noexcept;
1417: 
1417:     condition_variable(const condition_variable&) = delete;
1417:     condition_variable& operator=(const condition_variable&) = delete;
1417: 
1417:     void
1417:     notify_one() noexcept;
1417: 
1417:     void
1417:     notify_all() noexcept;
1417: 
1417:     void
1417:     wait(unique_lock<mutex>& __lock);
1417: 
1417:     template<typename _Predicate>
1417:       void
1417:       wait(unique_lock<mutex>& __lock, _Predicate __p)
1417:       {
1417:  while (!__p())
1417:    wait(__lock);
1417:       }
1417: 
1417: 
1417:     template<typename _Duration>
1417:       cv_status
1417:       wait_until(unique_lock<mutex>& __lock,
1417:    const chrono::time_point<steady_clock, _Duration>& __atime)
1417:       { return __wait_until_impl(__lock, __atime); }
1417: 
1417: 
1417:     template<typename _Duration>
1417:       cv_status
1417:       wait_until(unique_lock<mutex>& __lock,
1417:    const chrono::time_point<system_clock, _Duration>& __atime)
1417:       { return __wait_until_impl(__lock, __atime); }
1417: 
1417:     template<typename _Clock, typename _Duration>
1417:       cv_status
1417:       wait_until(unique_lock<mutex>& __lock,
1417:    const chrono::time_point<_Clock, _Duration>& __atime)
1417:       {
1417: 
1417: 
1417: 
1417:  using __s_dur = typename __clock_t::duration;
1417:  const typename _Clock::time_point __c_entry = _Clock::now();
1417:  const __clock_t::time_point __s_entry = __clock_t::now();
1417:  const auto __delta = __atime - __c_entry;
1417:  const auto __s_atime = __s_entry +
1417:    chrono::__detail::ceil<__s_dur>(__delta);
1417: 
1417:  if (__wait_until_impl(__lock, __s_atime) == cv_status::no_timeout)
1417:    return cv_status::no_timeout;
1417: 
1417: 
1417: 
1417:  if (_Clock::now() < __atime)
1417:    return cv_status::no_timeout;
1417:  return cv_status::timeout;
1417:       }
1417: 
1417:     template<typename _Clock, typename _Duration, typename _Predicate>
1417:       bool
1417:       wait_until(unique_lock<mutex>& __lock,
1417:    const chrono::time_point<_Clock, _Duration>& __atime,
1417:    _Predicate __p)
1417:       {
1417:  while (!__p())
1417:    if (wait_until(__lock, __atime) == cv_status::timeout)
1417:      return __p();
1417:  return true;
1417:       }
1417: 
1417:     template<typename _Rep, typename _Period>
1417:       cv_status
1417:       wait_for(unique_lock<mutex>& __lock,
1417:         const chrono::duration<_Rep, _Period>& __rtime)
1417:       {
1417:  using __dur = typename steady_clock::duration;
1417:  return wait_until(__lock,
1417:      steady_clock::now() +
1417:      chrono::__detail::ceil<__dur>(__rtime));
1417:       }
1417: 
1417:     template<typename _Rep, typename _Period, typename _Predicate>
1417:       bool
1417:       wait_for(unique_lock<mutex>& __lock,
1417:         const chrono::duration<_Rep, _Period>& __rtime,
1417:         _Predicate __p)
1417:       {
1417:  using __dur = typename steady_clock::duration;
1417:  return wait_until(__lock,
1417:      steady_clock::now() +
1417:      chrono::__detail::ceil<__dur>(__rtime),
1417:      std::move(__p));
1417:       }
1417: 
1417:     native_handle_type
1417:     native_handle()
1417:     { return _M_cond.native_handle(); }
1417: 
1417:   private:
1417: 
1417:     template<typename _Dur>
1417:       cv_status
1417:       __wait_until_impl(unique_lock<mutex>& __lock,
1417:    const chrono::time_point<steady_clock, _Dur>& __atime)
1417:       {
1417:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1417:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1417: 
1417:  __gthread_time_t __ts =
1417:    {
1417:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1417:      static_cast<long>(__ns.count())
1417:    };
1417: 
1417:  _M_cond.wait_until(*__lock.mutex(), 1, __ts);
1417: 
1417:  return (steady_clock::now() < __atime
1417:   ? cv_status::no_timeout : cv_status::timeout);
1417:       }
1417: 
1417: 
1417:     template<typename _Dur>
1417:       cv_status
1417:       __wait_until_impl(unique_lock<mutex>& __lock,
1417:    const chrono::time_point<system_clock, _Dur>& __atime)
1417:       {
1417:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1417:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1417: 
1417:  __gthread_time_t __ts =
1417:    {
1417:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1417:      static_cast<long>(__ns.count())
1417:    };
1417: 
1417:  _M_cond.wait_until(*__lock.mutex(), __ts);
1417: 
1417:  return (system_clock::now() < __atime
1417:   ? cv_status::no_timeout : cv_status::timeout);
1417:       }
1417:   };
1417: 
1417:   void
1417:   notify_all_at_thread_exit(condition_variable&, unique_lock<mutex>);
1417: 
1417:   struct __at_thread_exit_elt
1417:   {
1417:     __at_thread_exit_elt* _M_next;
1417:     void (*_M_cb)(void*);
1417:   };
1417: 
1417:   inline namespace _V2 {
1417: 
1417: 
1417: 
1417:   class condition_variable_any
1417:   {
1417: 
1417:     using __clock_t = chrono::steady_clock;
1417: 
1417: 
1417: 
1417:     condition_variable _M_cond;
1417:     shared_ptr<mutex> _M_mutex;
1417: 
1417: 
1417:     template<typename _Lock>
1417:       struct _Unlock
1417:       {
1417:  explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); }
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417:  ~_Unlock() noexcept(false)
1417:  {
1417:    if (uncaught_exception())
1417:      {
1417:        try
1417:        { _M_lock.lock(); }
1417:        catch(const __cxxabiv1::__forced_unwind&)
1417:        { throw; }
1417:        catch(...)
1417:        { }
1417:      }
1417:    else
1417:      _M_lock.lock();
1417:  }
1417: #pragma GCC diagnostic pop
1417: 
1417:  _Unlock(const _Unlock&) = delete;
1417:  _Unlock& operator=(const _Unlock&) = delete;
1417: 
1417:  _Lock& _M_lock;
1417:       };
1417: 
1417:   public:
1417:     condition_variable_any() : _M_mutex(std::make_shared<mutex>()) { }
1417:     ~condition_variable_any() = default;
1417: 
1417:     condition_variable_any(const condition_variable_any&) = delete;
1417:     condition_variable_any& operator=(const condition_variable_any&) = delete;
1417: 
1417:     void
1417:     notify_one() noexcept
1417:     {
1417:       lock_guard<mutex> __lock(*_M_mutex);
1417:       _M_cond.notify_one();
1417:     }
1417: 
1417:     void
1417:     notify_all() noexcept
1417:     {
1417:       lock_guard<mutex> __lock(*_M_mutex);
1417:       _M_cond.notify_all();
1417:     }
1417: 
1417:     template<typename _Lock>
1417:       void
1417:       wait(_Lock& __lock)
1417:       {
1417:  shared_ptr<mutex> __mutex = _M_mutex;
1417:  uniquorder_mask = 0x0ffff,
1412:       __memory_order_modifier_mask = 0xffff0000,
1412:       __memory_order_hle_acquire = 0x10000,
1412:       __memory_order_hle_release = 0x20000
1412:     };
1412: 
1412:   constexpr memory_order
1412:   operator|(memory_order __m, __memory_order_modifier __mod)
1412:   {
1412:     return memory_order(int(__m) | int(__mod));
1412:   }
1412: 
1412:   constexpr memory_order
1412:   operator&(memory_order __m, __memory_order_modifier __mod)
1412:   {
1412:     return memory_order(int(__m) & int(__mod));
1412:   }
1412: 
1412: 
1412:   constexpr memory_order
1412:   __cmpexch_failure_order2(memory_order __m) noexcept
1412:   {
1412:     return __m == memory_order_acq_rel ? memory_order_acquire
1412:       : __m == memory_order_release ? memory_order_relaxed : __m;
1412:   }
1412: 
1412:   constexpr memory_order
1412:   __cmpexch_failure_order(memory_order __m) noexcept
1412:   {
1412:     return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask)
1412:       | __memory_order_modifier(__m & __memory_order_modifier_mask));
1412:   }
1412: 
1412:   constexpr bool
1412:   __is_valid_cmpexch_failure_order(memory_order __m) noexcept
1412:   {
1412:     return (__m & __memory_order_mask) != memory_order_release
1412:  && (__m & __memory_order_mask) != memory_order_acq_rel;
1412:   }
1412: 
1412:   inline __attribute__((__always_inline__)) void
1412:   atomic_thread_fence(memory_order __m) noexcept
1412:   { __atomic_thread_fence(int(__m)); }
1412: 
1412:   inline __attribute__((__always_inline__)) void
1412:   atomic_signal_fence(memory_order __m) noexcept
1412:   { __atomic_signal_fence(int(__m)); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline _Tp
1412:     kill_dependency(_Tp __y) noexcept
1412:     {
1412:       _Tp __ret(__y);
1412:       return __ret;
1412:     }
1412: 
1412: 
1412:   template<typename _IntTp>
1412:     struct __atomic_base;
1412: # 161 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:   template<typename _Tp>
1412:     struct atomic;
1412: 
1412:   template<typename _Tp>
1412:     struct atomic<_Tp*>;
1412: 
1412: 
1412: 
1412:     typedef bool __atomic_flag_data_type;
1412: # 184 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:   extern "C" {
1412: 
1412:   struct __atomic_flag_base
1412:   {
1412:     __atomic_flag_data_type _M_i ;
1412:   };
1412: 
1412:   }
1412: 
1412: 
1412: 
1412: 
1412:   struct atomic_flag : public __atomic_flag_base
1412:   {
1412:     atomic_flag() noexcept = default;
1412:     ~atomic_flag() noexcept = default;
1412:     atomic_flag(const atomic_flag&) = delete;
1412:     atomic_flag& operator=(const atomic_flag&) = delete;
1412:     atomic_flag& operator=(const atomic_flag&) volatile = delete;
1412: 
1412: 
1412:     constexpr atomic_flag(bool __i) noexcept
1412:       : __atomic_flag_base{ _S_init(__i) }
1412:     { }
1412: 
1412:     inline __attribute__((__always_inline__)) bool
1412:     test_and_set(memory_order __m = memory_order_seq_cst) noexcept
1412:     {
1412:       return __atomic_test_and_set (&_M_i, int(__m));
1412:     }
1412: 
1412:     inline __attribute__((__always_inline__)) bool
1412:     test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept
1412:     {
1412:       return __atomic_test_and_set (&_M_i, int(__m));
1412:     }
1412: # 268 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:     inline __attribute__((__always_inline__)) void
1412:     clear(memory_order __m = memory_order_seq_cst) noexcept
1412:     {
1412:       memory_order __b __attribute__ ((__unused__))
1412:  = __m & __memory_order_mask;
1412:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1412:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1412:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412: 
1412:       __atomic_clear (&_M_i, int(__m));
1412:     }
1412: 
1412:     inline __attribute__((__always_inline__)) void
1412:     clear(memory_order __m = memory_order_seq_cst) volatile noexcept
1412:     {
1412:       memory_order __b __attribute__ ((__unused__))
1412:  = __m & __memory_order_mask;
1412:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1412:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1412:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412: 
1412:       __atomic_clear (&_M_i, int(__m));
1412:     }
1412: 
1412:   private:
1412:     static constexpr __atomic_flag_data_type
1412:     _S_init(bool __i)
1412:     { return __i ? 1 : 0; }
1412:   };
1412: # 323 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:   template<typename _ITp>
1412:     struct __atomic_base
1412:     {
1412:       using value_type = _ITp;
1412:       using difference_type = value_type;
1412: 
1412:     private:
1412:       typedef _ITp __int_type;
1412: 
1412:       static constexpr int _S_alignment =
1412:  sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp);
1412: 
1412:       alignas(_S_alignment) __int_type _M_i ;
1412: 
1412:     public:
1412:       __atomic_base() noexcept = default;
1412:       ~__atomic_base() noexcept = default;
1412:       __atomic_base(const __atomic_base&) = delete;
1412:       __atomic_base& operator=(const __atomic_base&) = delete;
1412:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1412: 
1412: 
1412:       constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { }
1412: 
1412:       operator __int_type() const noexcept
1412:       { return load(); }
1412: 
1412:       operator __int_type() const volatile noexcept
1412:       { return load(); }
1412: 
1412:       __int_type
1412:       operator=(__int_type __i) noexcept
1412:       {
1412:  store(__i);
1412:  return __i;
1412:       }
1412: 
1412:       __int_type
1412:       operator=(__int_type __i) volatile noexcept
1412:       {
1412:  store(__i);
1412:  return __i;
1412:       }
1412: 
1412:       __int_type
1412:       operator++(int) noexcept
1412:       { return fetch_add(1); }
1412: 
1412:       __int_type
1412:       operator++(int) volatile noexcept
1412:       { return fetch_add(1); }
1412: 
1412:       __int_type
1412:       operator--(int) noexcept
1412:       { return fetch_sub(1); }
1412: 
1412:       __int_type
1412:       operator--(int) volatile noexcept
1412:       { return fetch_sub(1); }
1412: 
1412:       __int_type
1412:       operator++() noexcept
1412:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator++() volatile noexcept
1412:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator--() noexcept
1412:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator--() volatile noexcept
1412:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator+=(__int_type __i) noexcept
1412:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator+=(__int_type __i) volatile noexcept
1412:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator-=(__int_type __i) noexcept
1412:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator-=(__int_type __i) volatile noexcept
1412:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator&=(__int_type __i) noexcept
1412:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator&=(__int_type_lock<mutex> __my_lock(*__mutex);
1417:  _Unlock<_Lock> __unlock(__lock);
1417: 
1417: 
1417:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1417:  _M_cond.wait(__my_lock2);
1417:       }
1417: 
1417: 
1417:     template<typename _Lock, typename _Predicate>
1417:       void
1417:       wait(_Lock& __lock, _Predicate __p)
1417:       {
1417:  while (!__p())
1417:    wait(__lock);
1417:       }
1417: 
1417:     template<typename _Lock, typename _Clock, typename _Duration>
1417:       cv_status
1417:       wait_until(_Lock& __lock,
1417:    const chrono::time_point<_Clock, _Duration>& __atime)
1417:       {
1417:  shared_ptr<mutex> __mutex = _M_mutex;
1417:  unique_lock<mutex> __my_lock(*__mutex);
1417:  _Unlock<_Lock> __unlock(__lock);
1417: 
1417: 
1417:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1417:  return _M_cond.wait_until(__my_lock2, __atime);
1417:       }
1417: 
1417:     template<typename _Lock, typename _Clock,
1417:       typename _Duration, typename _Predicate>
1417:       bool
1417:       wait_until(_Lock& __lock,
1417:    const chrono::time_point<_Clock, _Duration>& __atime,
1417:    _Predicate __p)
1417:       {
1417:  while (!__p())
1417:    if (wait_until(__lock, __atime) == cv_status::timeout)
1417:      return __p();
1417:  return true;
1417:       }
1417: 
1417:     template<typename _Lock, typename _Rep, typename _Period>
1417:       cv_status
1417:       wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __rtime)
1417:       { return wait_until(__lock, __clock_t::now() + __rtime); }
1417: 
1417:     template<typename _Lock, typename _Rep,
1417:       typename _Period, typename _Predicate>
1417:       bool
1417:       wait_for(_Lock& __lock,
1417:         const chrono::duration<_Rep, _Period>& __rtime, _Predicate __p)
1417:       { return wait_until(__lock, __clock_t::now() + __rtime, std::move(__p)); }
1417: # 440 "/usr/include/c++/12/condition_variable" 3
1417:   };
1417: 
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1417: # 1 "/usr/include/c++/12/functional" 1 3
1417: # 46 "/usr/include/c++/12/functional" 3
1417:        
1417: # 47 "/usr/include/c++/12/functional" 3
1417: # 59 "/usr/include/c++/12/functional" 3
1417: # 1 "/usr/include/c++/12/bits/std_function.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/std_function.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/std_function.h" 3
1417: # 45 "/usr/include/c++/12/bits/std_function.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class bad_function_call : public std::exception
1417:   {
1417:   public:
1417:     virtual ~bad_function_call() noexcept;
1417: 
1417:     const char* what() const noexcept;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct __is_location_invariant
1417:     : is_trivially_copyable<_Tp>::type
1417:     { };
1417: 
1417:   class _Undefined_class;
1417: 
1417:   union _Nocopy_types
1417:   {
1417:     void* _M_object;
1417:     const void* _M_const_object;
1417:     void (*_M_function_pointer)();
1417:     void (_Undefined_class::*_M_member_pointer)();
1417:   };
1417: 
1417:   union [[gnu::may_alias]] _Any_data
1417:   {
1417:     void* _M_access() noexcept { return &_M_pod_data[0]; }
1417:     const void* _M_access() const noexcept { return &_M_pod_data[0]; }
1417: 
1417:     template<typename _Tp>
1417:       _Tp&
1417:       _M_access() noexcept
1417:       { return *static_cast<_Tp*>(_M_access()); }
1417: 
1417:     template<typename _Tp>
1417:       const _Tp&
1417:       _M_access() const noexcept
1417:       { return *static_cast<const _Tp*>(_M_access()); }
1417: 
1417:     _Nocopy_types _M_unused;
1417:     char _M_pod_data[sizeof(_Nocopy_types)];
1417:   };
1417: 
1417:   enum _Manager_operation
1417:   {
1417:     __get_type_info,
1417:     __get_functor_ptr,
1417:     __clone_functor,
1417:     __destroy_functor
1417:   };
1417: 
1417:   template<typename _Signature>
1417:     class function;
1417: 
1417: 
1417:   class _Function_base
1417:   {
1417:   public:
1417:     static const size_t _M_max_size = sizeof(_Nocopy_types);
1417:     static const size_t _M_max_align = __alignof__(_Nocopy_types);
1417: 
1417:     template<typename _Functor>
1417:       class _Base_manager
1417:       {
1417:       protected:
1417:  static const bool __stored_locally =
1417:  (__is_location_invariant<_Functor>::value
1417:   && sizeof(_Functor) <= _M_max_size
1417:   && __alignof__(_Functor) <= _M_max_align
1417:   && (_M_max_align % __alignof__(_Functor) == 0));
1417: 
1417:  using _Local_storage = integral_constant<bool, __stored_locally>;
1417: 
1417: 
1417:  static _Functor*
1417:  _M_get_pointer(const _Any_data& __source) noexcept
1417:  {
1417:    if constexpr (__stored_locally)
1417:      {
1417:        const _Functor& __f = __source._M_access<_Functor>();
1417:        return const_cast<_Functor*>(std::__addressof(__f));
1417:      }
1417:    else
1417:      return __source._M_access<_Functor*>();
1417:  }
1417: 
1417:       private:
1417: 
1417: 
1417:  template<typename _Fn>
1417:    static void
1417:    _M_create(_Any_data& __dest, _Fn&& __f, true_type)
1417:    {
1417:      ::new (__dest._M_access()) _Functor(std::forward<_Fn>(__f));
1417:    }
1417: 
1417: 
1417:  template<typename _Fn>
1417:    static void
1417:    _M_create(_Any_data& __dest, _Fn&& __f, false_type)
1417:    {
1417:      __dest._M_access<_Functor*>()
1417:        = new _Functor(std::forward<_Fn>(__f));
1417:    }
1417: 
1417: 
1417:  static void
1417:  _M_destroy(_Any_data& __victim, true_type)
1417:  {
1417:    __victim._M_access<_Functor>().~_Functor();
1417:  }
1417: 
1417: 
1417:  static void
1417:  _M_destroy(_Any_data& __victim, false_type)
1417:  {
1417:    delete __victim._M_access<_Functor*>();
1417:  }
1417: 
1417:       public:
1417:  static bool
1417:  _M_manager(_Any_data& __dest, const _Any_data& __source,
1417:      _Manager_operation __op)
1417:  {
1417:    switch (__op)
1417:      {
1417:      case __get_type_info:
1417: 
1417:        __dest._M_access<const type_info*>() = &typeid(_Functor);
1417: 
1417: 
1417: 
1417:        break;
1417: 
1417:      case __get_functor_ptr:
1417:        __dest._M_access<_Functor*>() = _M_get_pointer(__source);
1417:        break;
1417: 
1417:      case __clone_functor:
1417:        _M_init_functor(__dest,
1417:     *const_cast<const _Functor*>(_M_get_pointer(__source)));
1417:        break;
1417: 
1417:      case __destroy_functor:
1417:        _M_destroy(__dest, _Local_storage());
1417:        break;
1417:      }
1417:    return false;
1417:  }
1417: 
1417:  template<typename _Fn>
1417:    static void
1417:    _M_init_functor(_Any_data& __functor, _Fn&& __f)
1417:    noexcept(__and_<_Local_storage,
1417:      is_nothrow_constructible<_Functor, _Fn>>::value)
1417:    {
1417:      _M_create(__functor, std::forward<_Fn>(__f), _Local_storage());
1417:    }
1417: 
1417:  template<typename _Signature>
1417:    static bool
1417:    _M_not_empty_function(const function<_Signature>& __f) noexcept
1417:    { return static_cast<bool>(__f); }
1417: 
1417:  template<typename _Tp>
1417:    static bool
1417:    _M_not_empty_function(_Tp* __fp) noexcept
1417:    { return __fp != nullptr; }
1417: 
1417:  template<typename _Class, typename _Tp>
1417:    static bool
1417:    _M_not_empty_function(_Tp _Class::* __mp) noexcept
1417:    { return __mp != nullptr; }
1417: 
1417:  template<typename _Tp>
1417:    static bool
1417:    _M_not_empty_function(const _Tp&) noexcept
1417:    { return true; }
1417:       };
1417: 
1417:     _Function_base() = default;
1417: 
1417:     ~_Function_base()
1417:     {
1417:       if (_M_manager)
1417:  _M_manager(_M_functor, _M_functor, __destroy_functor);
1417:     }
1417: 
1417:     bool _M_empty() const { return !_M_manager; }
1417: 
1417:     using _Manager_type
1417:       = bool (*)(_Any_data&, const _Any_data&, _Manager_operation);
1417: 
1417:     _Any_data _M_functor{};
1417:     _Manager_type _M_manager{};
1417:   };
1417: 
1417:   template<typenamee __i) volatile noexcept
1412:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator|=(__int_type __i) noexcept
1412:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator|=(__int_type __i) volatile noexcept
1412:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator^=(__int_type __i) noexcept
1412:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       __int_type
1412:       operator^=(__int_type __i) volatile noexcept
1412:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1412: 
1412:       bool
1412:       is_lock_free() const noexcept
1412:       {
1412: 
1412:  return __atomic_is_lock_free(sizeof(_M_i),
1412:      reinterpret_cast<void *>(-_S_alignment));
1412:       }
1412: 
1412:       bool
1412:       is_lock_free() const volatile noexcept
1412:       {
1412: 
1412:  return __atomic_is_lock_free(sizeof(_M_i),
1412:      reinterpret_cast<void *>(-_S_alignment));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) void
1412:       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1412: 
1412:  __atomic_store_n(&_M_i, __i, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) void
1412:       store(__int_type __i,
1412:      memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1412: 
1412:  __atomic_store_n(&_M_i, __i, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       load(memory_order __m = memory_order_seq_cst) const noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_load_n(&_M_i, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_load_n(&_M_i, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       exchange(__int_type __i,
1412:         memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1412:       }
1412: 
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       exchange(__int_type __i,
1412:         memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1412:        memory_order __m1, memory_order __m2) noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1412:         int(__m1), int(__m2));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1412:        memory_order __m1,
1412:        memory_order __m2) volatile noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1412:         int(__m1), int(__m2));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1412:        memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  return compare_exchange_weak(__i1, __i2, __m,
1412:          __cmpexch_failure_order(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1412:      memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  return compare_exchange_weak(__i1, __i2, __m,
1412:          __cmpexch_failure_order(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1412:          memory_order __m1, memory_order __m2) noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
1412:         int(__m1), int(__m2));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1412:          memory_order __m1,
1412:          memory_order __m2) volatile noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
1412:         int(__m1), int(__m2));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1412:          memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  return compare_exchange_strong(__i1, __i2, __m,
1412:            __cmpexch_failure_order(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1412:    memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  return compare_exchange_strong(__i1, __i2, __m,
1412:            __cmpexch_failure_order(__m));
1412:       }
1412: # 615 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_add(__int_type __i,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_add(__int_type __i,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_sub(__int_ _Signature, typename _Functor>
1417:     class _Function_handler;
1417: 
1417:   template<typename _Res, typename _Functor, typename... _ArgTypes>
1417:     class _Function_handler<_Res(_ArgTypes...), _Functor>
1417:     : public _Function_base::_Base_manager<_Functor>
1417:     {
1417:       using _Base = _Function_base::_Base_manager<_Functor>;
1417: 
1417:     public:
1417:       static bool
1417:       _M_manager(_Any_data& __dest, const _Any_data& __source,
1417:    _Manager_operation __op)
1417:       {
1417:  switch (__op)
1417:    {
1417: 
1417:    case __get_type_info:
1417:      __dest._M_access<const type_info*>() = &typeid(_Functor);
1417:      break;
1417: 
1417:    case __get_functor_ptr:
1417:      __dest._M_access<_Functor*>() = _Base::_M_get_pointer(__source);
1417:      break;
1417: 
1417:    default:
1417:      _Base::_M_manager(__dest, __source, __op);
1417:    }
1417:  return false;
1417:       }
1417: 
1417:       static _Res
1417:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
1417:       {
1417:  return std::__invoke_r<_Res>(*_Base::_M_get_pointer(__functor),
1417:          std::forward<_ArgTypes>(__args)...);
1417:       }
1417: 
1417:       template<typename _Fn>
1417:  static constexpr bool
1417:  _S_nothrow_init() noexcept
1417:  {
1417:    return __and_<typename _Base::_Local_storage,
1417:    is_nothrow_constructible<_Functor, _Fn>>::value;
1417:  }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     class _Function_handler<void, void>
1417:     {
1417:     public:
1417:       static bool
1417:       _M_manager(_Any_data&, const _Any_data&, _Manager_operation)
1417:       { return false; }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Signature, typename _Functor,
1417:     bool __valid = is_object<_Functor>::value>
1417:     struct _Target_handler
1417:     : _Function_handler<_Signature, typename remove_cv<_Functor>::type>
1417:     { };
1417: 
1417:   template<typename _Signature, typename _Functor>
1417:     struct _Target_handler<_Signature, _Functor, false>
1417:     : _Function_handler<void, void>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes>
1417:     class function<_Res(_ArgTypes...)>
1417:     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
1417:       private _Function_base
1417:     {
1417: 
1417: 
1417:       template<typename _Func,
1417:         bool _Self = is_same<__remove_cvref_t<_Func>, function>::value>
1417:  using _Decay_t
1417:    = typename __enable_if_t<!_Self, decay<_Func>>::type;
1417: 
1417:       template<typename _Func,
1417:         typename _DFunc = _Decay_t<_Func>,
1417:         typename _Res2 = __invoke_result<_DFunc&, _ArgTypes...>>
1417:  struct _Callable
1417:  : __is_invocable_impl<_Res2, _Res>::type
1417:  { };
1417: 
1417:       template<typename _Cond, typename _Tp = void>
1417:  using _Requires = __enable_if_t<_Cond::value, _Tp>;
1417: 
1417:       template<typename _Functor>
1417:  using _Handler
1417:    = _Function_handler<_Res(_ArgTypes...), __decay_t<_Functor>>;
1417: 
1417:     public:
1417:       typedef _Res result_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       function() noexcept
1417:       : _Function_base() { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       function(nullptr_t) noexcept
1417:       : _Function_base() { }
1417: # 386 "/usr/include/c++/12/bits/std_function.h" 3
1417:       function(const function& __x)
1417:       : _Function_base()
1417:       {
1417:  if (static_cast<bool>(__x))
1417:    {
1417:      __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
1417:      _M_invoker = __x._M_invoker;
1417:      _M_manager = __x._M_manager;
1417:    }
1417:       }
1417: # 404 "/usr/include/c++/12/bits/std_function.h" 3
1417:       function(function&& __x) noexcept
1417:       : _Function_base(), _M_invoker(__x._M_invoker)
1417:       {
1417:  if (static_cast<bool>(__x))
1417:    {
1417:      _M_functor = __x._M_functor;
1417:      _M_manager = __x._M_manager;
1417:      __x._M_manager = nullptr;
1417:      __x._M_invoker = nullptr;
1417:    }
1417:       }
1417: # 433 "/usr/include/c++/12/bits/std_function.h" 3
1417:       template<typename _Functor,
1417:         typename _Constraints = _Requires<_Callable<_Functor>>>
1417:  function(_Functor&& __f)
1417:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1417:  : _Function_base()
1417:  {
1417:    static_assert(is_copy_constructible<__decay_t<_Functor>>::value,
1417:        "std::function target must be copy-constructible");
1417:    static_assert(is_constructible<__decay_t<_Functor>, _Functor>::value,
1417:        "std::function target must be constructible from the "
1417:        "constructor argument");
1417: 
1417:    using _My_handler = _Handler<_Functor>;
1417: 
1417:    if (_My_handler::_M_not_empty_function(__f))
1417:      {
1417:        _My_handler::_M_init_functor(_M_functor,
1417:         std::forward<_Functor>(__f));
1417:        _M_invoker = &_My_handler::_M_invoke;
1417:        _M_manager = &_My_handler::_M_manager;
1417:      }
1417:  }
1417: # 468 "/usr/include/c++/12/bits/std_function.h" 3
1417:       function&
1417:       operator=(const function& __x)
1417:       {
1417:  function(__x).swap(*this);
1417:  return *this;
1417:       }
1417: # 486 "/usr/include/c++/12/bits/std_function.h" 3
1417:       function&
1417:       operator=(function&& __x) noexcept
1417:       {
1417:  function(std::move(__x)).swap(*this);
1417:  return *this;
1417:       }
1417: # 500 "/usr/include/c++/12/bits/std_function.h" 3
1417:       function&
1417:       operator=(nullptr_t) noexcept
1417:       {
1417:  if (_M_manager)
1417:    {
1417:      _M_manager(_M_functor, _M_functor, __destroy_functor);
1417:      _M_manager = nullptr;
1417:      _M_invoker = nullptr;
1417:    }
1417:  return *this;
1417:       }
1417: # 529 "/usr/include/c++/12/bits/std_function.h" 3
1417:       template<typename _Functor>
1417:  _Requires<_Callable<_Functor>, function&>
1417:  operator=(_Functor&& __f)
1417:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1417:  {
1417:    function(std::forward<_Functor>(__f)).swap(*this);
1417:    return *this;
1417:  }
1417: 
1417: 
1417:       template<typename _Functor>
1417:  function&
1417:  operator=(reference_wrapper<_Functor> __f) noexcept
1417:  {
1417:    function(__f).swap(*this);
1417:    return *this;
1417:  }
1417: # 556 "/usr/include/c++/12/bits/std_function.h" 3
1417:       void swap(function& __x) noexcept
1417:       {
1417:  std::swap(_M_functor, __x._M_functor);
1417:  std::swap(_M_manager, __x._M_manager);
1417:  std::swap(_M_invoker, __x._M_invoker);
1417:       }
1417: # 573 "/usr/include/c++/12/bits/std_function.h" 3
1417:       explicit operator bool() const noexcept
1417:       { return !_M_empty(); }
1417: # 586 "/usr/include/c++/12/bits/std_function.h" 3
1417:       _Res
1417:       operator()(_ArgTypes... __args) const
1417:       {
1417:  if (_M_empty())
1417:    __throw_bad_function_call();
1417:  return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
1417:       }
1417: # 605 "/usr/include/c++/12/bits/std_function.h" 3
1417:       const type_info&
1417:       target_type() const noexcept
1417:       {
1417:  if (_M_manager)
1417:    {
1417:      _Any_data __typeinfo_result;
1417:      _M_manager(__typeinfo_result, _M_functor, __get_type_info);
1417:      if (auto __ti = __typeinfo_result._M_access<const type_info*>())
1417:        return *__ti;
1417:    }
1417:  return typeid(void);
1417:       }
1417: # 630 "/usr/include/c++/12/bits/std_function.h" 3
1417:       template<typename _Functor>
1417:  _Functor*
1417:  target() noexcept
1417:  {
1417:    const function* __const_this = this;
1417:    const _Functor* __func = __const_this->template target<_Functor>();
1417: 
1417: 
1417:    return *const_cast<_Functor**>(&__func);
1417:  }
1417: 
1417:       template<typename _Functor>
1417:  const _Functor*
1417:  target() const noexcept
1417:  {
1417:    if constexpr (is_object<_Functor>::value)
1417:      {
1417: 
1417: 
1417:        using _Handlertype __i,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_sub(__int_type __i,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_and(__int_type __i,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_and(__int_type __i,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_or(__int_type __i,
1412:         memory_order __m = memory_order_seq_cst) noexcept
1412:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_or(__int_type __i,
1412:         memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_xor(__int_type __i,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __int_type
1412:       fetch_xor(__int_type __i,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _PTp>
1412:     struct __atomic_base<_PTp*>
1412:     {
1412:     private:
1412:       typedef _PTp* __pointer_type;
1412: 
1412:       __pointer_type _M_p ;
1412: 
1412: 
1412:       constexpr ptrdiff_t
1412:       _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
1412: 
1412:       constexpr ptrdiff_t
1412:       _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); }
1412: 
1412:     public:
1412:       __atomic_base() noexcept = default;
1412:       ~__atomic_base() noexcept = default;
1412:       __atomic_base(const __atomic_base&) = delete;
1412:       __atomic_base& operator=(const __atomic_base&) = delete;
1412:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1412: 
1412: 
1412:       constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { }
1412: 
1412:       operator __pointer_type() const noexcept
1412:       { return load(); }
1412: 
1412:       operator __pointer_type() const volatile noexcept
1412:       { return load(); }
1412: 
1412:       __pointer_type
1412:       operator=(__pointer_type __p) noexcept
1412:       {
1412:  store(__p);
1412:  return __p;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator=(__pointer_type __p) volatile noexcept
1412:       {
1412:  store(__p);
1412:  return __p;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator++(int) noexcept
1412:       { return fetch_add(1); }
1412: 
1412:       __pointer_type
1412:       operator++(int) volatile noexcept
1412:       { return fetch_add(1); }
1412: 
1412:       __pointer_type
1412:       operator--(int) noexcept
1412:       { return fetch_sub(1); }
1412: 
1412:       __pointer_type
1412:       operator--(int) volatile noexcept
1412:       { return fetch_sub(1); }
1412: 
1412:       __pointer_type
1412:       operator++() noexcept
1412:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       __pointer_type
1412:       operator++() volatile noexcept
1412:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       __pointer_type
1412:       operator--() noexcept
1412:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       __pointer_type
1412:       operator--() volatile noexcept
1412:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       __pointer_type
1412:       operator+=(ptrdiff_t __d) noexcept
1412:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       __pointer_type
1412:       operator+=(ptrdiff_t __d) volatile noexcept
1412:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       __pointer_type
1412:       operator-=(ptrdiff_t __d) noexcept
1412:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       __pointer_type
1412:       operator-=(ptrdiff_t __d) volatile noexcept
1412:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1412:       int(memory_order_seq_cst)); }
1412: 
1412:       bool
1412:       is_lock_free() const noexcept
1412:       {
1412: 
1412:  return __atomic_is_lock_free(sizeof(_M_p),
1412:      reinterpret_cast<void *>(-__alignof(_M_p)));
1412:       }
1412: 
1412:       bool
1412:       is_lock_free() const volatile noexcept
1412:       {
1412: 
1412:  return __atomic_is_lock_free(sizeof(_M_p),
1412:      reinterpret_cast<void *>(-__alignof(_M_p)));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) void
1412:       store(__pointer_type __p,
1412:      memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1412: 
1412:  __atomic_store_n(&_M_p, __p, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) void
1412:       store(__pointer_type __p,
1412:      memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1412: 
1412:  __atomic_store_n(&_M_p, __p, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       load(memory_order __m = memory_order_seq_cst) const noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_load_n(&_M_p, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1412:       {
1412:  memory_order __b __attribute__ ((__unused__))
1412:    = __m & __memory_order_mask;
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1412:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_load_n(&_M_p, int(__m));
1412:       }
1412: = _Target_handler<_Res(_ArgTypes...), _Functor>;
1417: 
1417:        if (_M_manager == &_Handler::_M_manager
1417: 
1417:     || (_M_manager && typeid(_Functor) == target_type())
1417: 
1417:    )
1417:   {
1417:     _Any_data __ptr;
1417:     _M_manager(__ptr, _M_functor, __get_functor_ptr);
1417:     return __ptr._M_access<const _Functor*>();
1417:   }
1417:      }
1417:    return nullptr;
1417:  }
1417: 
1417: 
1417:     private:
1417:       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
1417:       _Invoker_type _M_invoker = nullptr;
1417:     };
1417: 
1417: 
1417:   template<typename>
1417:     struct __function_guide_helper
1417:     { };
1417: 
1417:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1417:     struct __function_guide_helper<
1417:       _Res (_Tp::*) (_Args...) noexcept(_Nx)
1417:     >
1417:     { using type = _Res(_Args...); };
1417: 
1417:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1417:     struct __function_guide_helper<
1417:       _Res (_Tp::*) (_Args...) & noexcept(_Nx)
1417:     >
1417:     { using type = _Res(_Args...); };
1417: 
1417:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1417:     struct __function_guide_helper<
1417:       _Res (_Tp::*) (_Args...) const noexcept(_Nx)
1417:     >
1417:     { using type = _Res(_Args...); };
1417: 
1417:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1417:     struct __function_guide_helper<
1417:       _Res (_Tp::*) (_Args...) const & noexcept(_Nx)
1417:     >
1417:     { using type = _Res(_Args...); };
1417: 
1417:   template<typename _Res, typename... _ArgTypes>
1417:     function(_Res(*)(_ArgTypes...)) -> function<_Res(_ArgTypes...)>;
1417: 
1417:   template<typename _Functor, typename _Signature = typename
1417:     __function_guide_helper<decltype(&_Functor::operator())>::type>
1417:     function(_Functor) -> function<_Signature>;
1417: # 716 "/usr/include/c++/12/bits/std_function.h" 3
1417:   template<typename _Res, typename... _Args>
1417:     inline bool
1417:     operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1417:     { return !static_cast<bool>(__f); }
1417: 
1417: 
1417: 
1417:   template<typename _Res, typename... _Args>
1417:     inline bool
1417:     operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1417:     { return !static_cast<bool>(__f); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Res, typename... _Args>
1417:     inline bool
1417:     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1417:     { return static_cast<bool>(__f); }
1417: 
1417: 
1417:   template<typename _Res, typename... _Args>
1417:     inline bool
1417:     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1417:     { return static_cast<bool>(__f); }
1417: # 755 "/usr/include/c++/12/bits/std_function.h" 3
1417:   template<typename _Res, typename... _Args>
1417:     inline void
1417:     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   namespace __detail::__variant
1417:   {
1417:     template<typename> struct _Never_valueless_alt;
1417: 
1417: 
1417: 
1417:     template<typename _Signature>
1417:       struct _Never_valueless_alt<std::function<_Signature>>
1417:       : std::true_type
1417:       { };
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: # 60 "/usr/include/c++/12/functional" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/unordered_map" 1 3
1417: # 32 "/usr/include/c++/12/unordered_map" 3
1417:        
1417: # 33 "/usr/include/c++/12/unordered_map" 3
1417: # 46 "/usr/include/c++/12/unordered_map" 3
1417: # 1 "/usr/include/c++/12/bits/hashtable.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/hashtable.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/hashtable.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/hashtable_policy.h" 1 3
1417: # 40 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     class _Hashtable;
1417: 
1417: namespace __detail
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Equal, typename _Hash, typename _RangeHash,
1417:     typename _Unused, typename _Traits>
1417:     struct _Hashtable_base;
1417: 
1417: 
1417: 
1417:   template<typename _Iterator>
1417:     inline typename std::iterator_traits<_Iterator>::difference_type
1417:     __distance_fw(_Iterator __first, _Iterator __last,
1417:     std::input_iterator_tag)
1417:     { return __first != __last ? 1 : 0; }
1417: 
1417:   template<typename _Iterator>
1417:     inline typename std::iterator_traits<_Iterator>::difference_type
1417:     __distance_fw(_Iterator __first, _Iterator __last,
1417:     std::forward_iterator_tag)
1417:     { return std::distance(__first, __last); }
1417: 
1417:   template<typename _Iterator>
1417:     inline typename std::iterator_traits<_Iterator>::difference_type
1417:     __distance_fw(_Iterator __first, _Iterator __last)
1417:     { return __distance_fw(__first, __last,
1417:       std::__iterator_category(__first)); }
1417: 
1417:   struct _Identity
1417:   {
1417:     template<typename _Tp>
1417:       _Tp&&
1417:       operator()(_Tp&& __x) const noexcept
1417:       { return std::forward<_Tp>(__x); }
1417:   };
1417: 
1417:   struct _Select1st
1417:   {
1417:     template<typename _Pair>
1417:       struct __1st_type;
1417: 
1417:     template<typename _Tp, typename _Up>
1417:       struct __1st_type<pair<_Tp, _Up>>
1417:       { using type = _Tp; };
1417: 
1417:     template<typename _Tp, typename _Up>
1417:       struct __1st_type<const pair<_Tp, _Up>>
1417:       { using type = const _Tp; };
1417: 
1417:     template<typename _Pair>
1417:       struct __1st_type<_Pair&>
1417:       { using type = typename __1st_type<_Pair>::type&; };
1417: 
1417:     template<typename _Tp>
1417:       typename __1st_type<_Tp>::type&&
1417:       operator()(_Tp&& __x) const noexcept
1417:       { return std::forward<_Tp>(__x).first; }
1417:   };
1417: 
1417:   template<typename _ExKey>
1417:     struct _NodeBuilder;
1417: 
1417:   template<>
1417:     struct _NodeBuilder<_Select1st>
1417:     {
1417:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1417:  static auto
1417:  _S_build(_Kt&& __k, _Arg&& __arg, const _NodeGenerator& __node_gen)
1417:  -> typename _NodeGenerator::__node_type*
1417:  {
1417:    return __node_gen(std::forward<_Kt>(__k),
1417:        std::forward<_Arg>(__arg).second);
1417:  }
1417:     };
1417: 
1417:   template<>
1417:     struct _NodeBuilder<_Identity>
1417:     {
1417:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1417:  static auto
1417:  _S_build(_Kt&& __k, _Arg&&, const _NodeGenerator& __node_gen)
1417:  -> typename _NodeGenerator::__node_type*
1417:  { return __node_gen(std::forward<_Kt>(__k)); }
1417:     };
1417: 
1417:   template<typename _NodeAlloc>
1417:     struct _Hashtable_alloc;
1417: 
1417: 
1417: 
1417:   template<typename _NodeAlloc>
1417:     struct _ReuseOrAllocNode
1417:     {
1417:     private:
1417:       using __node_alloc_type = _NodeAlloc;
1417:       using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>;
1417:       using __node_alloc_traits =
1417:  typename __hashtable_alloc::__node_alloc_traits;
1417: 
1417:     public:
1417:       using __node_type = typename __hashtable_alloc::__node_type;
1417: 
1417:       _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h)
1417:       : _M_nodes(__nodes), _M_h(__h) { }
1417:       _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete;
1417: 
1417:       ~_ReuseOrAllocNode()
1417:       { _M_h._M_deallocate_nodes(_M_nodes); }
1417: 
1417:       template<typename... _Args>
1417:  __node_type*
1417:  operator()(_Args&&... __ar 
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       exchange(__pointer_type __p,
1412:         memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1412:       }
1412: 
1412: 
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       exchange(__pointer_type __p,
1412:         memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1412:        memory_order __m1,
1412:        memory_order __m2) noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1412:         int(__m1), int(__m2));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1412:        memory_order __m1,
1412:        memory_order __m2) volatile noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1412:         int(__m1), int(__m2));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1412:          memory_order __m1,
1412:          memory_order __m2) noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1412:         int(__m1), int(__m2));
1412:       }
1412: 
1412:       inline __attribute__((__always_inline__)) bool
1412:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1412:          memory_order __m1,
1412:          memory_order __m2) volatile noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1412:         int(__m1), int(__m2));
1412:       }
1412: # 918 "/usr/include/c++/12/bits/atomic_base.h" 3
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       fetch_add(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       fetch_add(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       fetch_sub(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1412: 
1412:       inline __attribute__((__always_inline__)) __pointer_type
1412:       fetch_sub(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1412:     };
1412: # 1943 "/usr/include/c++/12/bits/atomic_base.h" 3
1412: 
1412: }
1412: # 34 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 47 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412:   struct _Sp_locker
1412:   {
1412:     _Sp_locker(const _Sp_locker&) = delete;
1412:     _Sp_locker& operator=(const _Sp_locker&) = delete;
1412: 
1412: 
1412:     explicit
1412:     _Sp_locker(const void*) noexcept;
1412:     _Sp_locker(const void*, const void*) noexcept;
1412:     ~_Sp_locker();
1412: 
1412:   private:
1412:     unsigned char _M_key1;
1412:     unsigned char _M_key2;
1412: 
1412: 
1412: 
1412:   };
1412: # 74 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p)
1412:     {
1412: 
1412:       return __gthread_active_p() == 0;
1412: 
1412: 
1412: 
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline bool
1412:     atomic_is_lock_free(const shared_ptr<_Tp>* __p)
1412:     { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); }
1412: # 101 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412:   template<typename _Tp>
1412:     inline shared_ptr<_Tp>
1412:     atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
1412:     {
1412:       _Sp_locker __lock{__p};
1412:       return *__p;
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline shared_ptr<_Tp>
1412:     atomic_load(const shared_ptr<_Tp>* __p)
1412:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order)
1412:     {
1412:       _Sp_locker __lock{__p};
1412:       return *__p;
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     atomic_load(const __shared_ptr<_Tp, _Lp>* __p)
1412:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1412: # 137 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412:   template<typename _Tp>
1412:     inline void
1412:     atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1412:      memory_order)
1412:     {
1412:       _Sp_locker __lock{__p};
1412:       __p->swap(__r);
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline void
1412:     atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1412:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline void
1412:     atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p,
1412:      __shared_ptr<_Tp, _Lp> __r,
1412:      memory_order)
1412:     {
1412:       _Sp_locker __lock{__p};
1412:       __p->swap(__r);
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline void
1412:     atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1412:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
1412: # 174 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412:   template<typename _Tp>
1412:     inline shared_ptr<_Tp>
1412:     atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1412:         memory_order)
1412:     {
1412:       _Sp_locker __lock{__p};
1412:       __p->swap(__r);
1412:       return __r;
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline shared_ptr<_Tp>
1412:     atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1412:     {
1412:       return std::atomic_exchange_explicit(__p, std::move(__r),
1412:         memory_order_seq_cst);
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p,
1412:         __shared_ptr<_Tp, _Lp> __r,
1412:         memory_order)
1412:     {
1412:       _Sp_locker __lock{__p};
1412:       __p->swap(__r);
1412:       return __r;
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline __shared_ptr<_Tp, _Lp>
1412:     atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1412:     {
1412:       return std::atomic_exchange_explicit(__p, std::move(__r),
1412:         memory_order_seq_cst);
1412:     }
1412: # 223 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412:   template<typename _Tp>gs) const
1417:  {
1417:    if (_M_nodes)
1417:      {
1417:        __node_type* __node = _M_nodes;
1417:        _M_nodes = _M_nodes->_M_next();
1417:        __node->_M_nxt = nullptr;
1417:        auto& __a = _M_h._M_node_allocator();
1417:        __node_alloc_traits::destroy(__a, __node->_M_valptr());
1417:        try
1417:   {
1417:     __node_alloc_traits::construct(__a, __node->_M_valptr(),
1417:        std::forward<_Args>(__args)...);
1417:   }
1417:        catch(...)
1417:   {
1417:     _M_h._M_deallocate_node_ptr(__node);
1417:     throw;
1417:   }
1417:        return __node;
1417:      }
1417:    return _M_h._M_allocate_node(std::forward<_Args>(__args)...);
1417:  }
1417: 
1417:     private:
1417:       mutable __node_type* _M_nodes;
1417:       __hashtable_alloc& _M_h;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _NodeAlloc>
1417:     struct _AllocNode
1417:     {
1417:     private:
1417:       using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>;
1417: 
1417:     public:
1417:       using __node_type = typename __hashtable_alloc::__node_type;
1417: 
1417:       _AllocNode(__hashtable_alloc& __h)
1417:       : _M_h(__h) { }
1417: 
1417:       template<typename... _Args>
1417:  __node_type*
1417:  operator()(_Args&&... __args) const
1417:  { return _M_h._M_allocate_node(std::forward<_Args>(__args)...); }
1417: 
1417:     private:
1417:       __hashtable_alloc& _M_h;
1417:     };
1417: # 243 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1417:   template<bool _Cache_hash_code, bool _Constant_iterators, bool _Unique_keys>
1417:     struct _Hashtable_traits
1417:     {
1417:       using __hash_cached = __bool_constant<_Cache_hash_code>;
1417:       using __constant_iterators = __bool_constant<_Constant_iterators>;
1417:       using __unique_keys = __bool_constant<_Unique_keys>;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Hash>
1417:     struct _Hashtable_hash_traits
1417:     {
1417:       static constexpr std::size_t
1417:       __small_size_threshold() noexcept
1417:       { return std::__is_fast_hash<_Hash>::value ? 0 : 20; }
1417:     };
1417: # 273 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1417:   struct _Hash_node_base
1417:   {
1417:     _Hash_node_base* _M_nxt;
1417: 
1417:     _Hash_node_base() noexcept : _M_nxt() { }
1417: 
1417:     _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { }
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Value>
1417:     struct _Hash_node_value_base
1417:     {
1417:       typedef _Value value_type;
1417: 
1417:       __gnu_cxx::__aligned_buffer<_Value> _M_storage;
1417: 
1417:       _Value*
1417:       _M_valptr() noexcept
1417:       { return _M_storage._M_ptr(); }
1417: 
1417:       const _Value*
1417:       _M_valptr() const noexcept
1417:       { return _M_storage._M_ptr(); }
1417: 
1417:       _Value&
1417:       _M_v() noexcept
1417:       { return *_M_valptr(); }
1417: 
1417:       const _Value&
1417:       _M_v() const noexcept
1417:       { return *_M_valptr(); }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<bool _Cache_hash_code>
1417:     struct _Hash_node_code_cache
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct _Hash_node_code_cache<true>
1417:     { std::size_t _M_hash_code; };
1417: 
1417:   template<typename _Value, bool _Cache_hash_code>
1417:     struct _Hash_node_value
1417:     : _Hash_node_value_base<_Value>
1417:     , _Hash_node_code_cache<_Cache_hash_code>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Value, bool _Cache_hash_code>
1417:     struct _Hash_node
1417:     : _Hash_node_base
1417:     , _Hash_node_value<_Value, _Cache_hash_code>
1417:     {
1417:       _Hash_node*
1417:       _M_next() const noexcept
1417:       { return static_cast<_Hash_node*>(this->_M_nxt); }
1417:     };
1417: 
1417: 
1417:   template<typename _Value, bool _Cache_hash_code>
1417:     struct _Node_iterator_base
1417:     {
1417:       using __node_type = _Hash_node<_Value, _Cache_hash_code>;
1417: 
1417:       __node_type* _M_cur;
1417: 
1417:       _Node_iterator_base() : _M_cur(nullptr) { }
1417:       _Node_iterator_base(__node_type* __p) noexcept
1417:       : _M_cur(__p) { }
1417: 
1417:       void
1417:       _M_incr() noexcept
1417:       { _M_cur = _M_cur->_M_next(); }
1417: 
1417:       friend bool
1417:       operator==(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1417:       noexcept
1417:       { return __x._M_cur == __y._M_cur; }
1417: 
1417: 
1417:       friend bool
1417:       operator!=(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1417:       noexcept
1417:       { return __x._M_cur != __y._M_cur; }
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _Value, bool __constant_iterators, bool __cache>
1417:     struct _Node_iterator
1417:     : public _Node_iterator_base<_Value, __cache>
1417:     {
1417:     private:
1417:       using __base_type = _Node_iterator_base<_Value, __cache>;
1417:       using __node_type = typename __base_type::__node_type;
1417: 
1417:     public:
1417:       using value_type = _Value;
1417:       using difference_type = std::ptrdiff_t;
1417:       using iterator_category = std::forward_iterator_tag;
1417: 
1417:       using pointer = __conditional_t<__constant_iterators,
1417:           const value_type*, value_type*>;
1417: 
1417:       using reference = __conditional_t<__constant_iterators,
1417:      const value_type&, value_type&>;
1417: 
1417:       _Node_iterator() = default;
1417: 
1417:       explicit
1417:       _Node_iterator(__node_type* __p) noexcept
1417:       : __base_type(__p) { }
1417: 
1417:       reference
1417:       operator*() const noexcept
1417:       { return this->_M_cur->_M_v(); }
1417: 
1417:       pointer
1417:       operator->() const noexcept
1417:       { return this->_M_cur->_M_valptr(); }
1417: 
1417:       _Node_iterator&
1417:       operator++() noexcept
1417:       {
1417:  this->_M_incr();
1417:  return *this;
1417:       }
1417: 
1417:       _Node_iterator
1417:       operator++(int) noexcept
1417:       {
1417:  _Node_iterator __tmp(*this);
1417:  this->_M_incr();
1417:  return __tmp;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Value, bool __constant_iterators, bool __cache>
1417:     struct _Node_const_iterator
1417:     : public _Node_iterator_base<_Value, __cache>
1417:     {
1417:     private:
1417:       using __base_type = _Node_iterator_base<_Value, __cache>;
1417:       using __node_type = typename __base_type::__node_type;
1417: 
1417:     public:
1417:       typedef _Value value_type;
1417:       typedef std::ptrdiff_t difference_type;
1417:       typedef std::forward_iterator_tag iterator_category;
1417: 
1417:       typedef const value_type* pointer;
1417:       typedef const value_type& reference;
1417: 
1417:       _Node_const_iterator() = default;
1417: 
1417:       explicit
1417:       _Node_const_iterator(__node_type* __p) noexcept
1417:       : __base_type(__p) { }
1417: 
1417:       _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators,
1417:       __cache>& __x) noexcept
1417:       : __base_type(__x._M_cur) { }
1417: 
1417:       reference
1417:       operator*() const noexcept
1417:       { return this->_M_cur->_M_v(); }
1417: 
1417:       pointer
1417:       operator->() const noexcept
1417:       { return this->_M_cur->_M_valptr(); }
1417: 
1417:       _Node_const_iterator&
1417:       operator++() noexcept
1417:       {
1417:  this->_M_incr();
1417:  return *this;
1417:       }
1417: 
1417:       _Node_const_iterator
1417:       operator++(int) noexcept
1417:       {
1417:  _Node_const_iterator __tmp(*this);
1417:  this->_M_incr();
1417:  return __tmp;
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct _Mod_range_hashing
1417:   {
1417:     typedef std::size_t first_argument_type;
1417:     typedef std::size_t second_argument_type;
1417:     typedef std::size_t result_type;
1417: 
1417:     result_type
1417:     operator()(first_argument_type __num,
1417:         second_argument_t
1412:     bool
1412:     atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p,
1412:          shared_ptr<_Tp>* __v,
1412:          shared_ptr<_Tp> __w,
1412:          memory_order,
1412:          memory_order)
1412:     {
1412:       shared_ptr<_Tp> __x;
1412:       _Sp_locker __lock{__p, __v};
1412:       owner_less<shared_ptr<_Tp>> __less;
1412:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1412:  {
1412:    __x = std::move(*__p);
1412:    *__p = std::move(__w);
1412:    return true;
1412:  }
1412:       __x = std::move(*__v);
1412:       *__v = *__p;
1412:       return false;
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline bool
1412:     atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1412:      shared_ptr<_Tp> __w)
1412:     {
1412:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1412:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline bool
1412:     atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p,
1412:        shared_ptr<_Tp>* __v,
1412:        shared_ptr<_Tp> __w,
1412:        memory_order __success,
1412:        memory_order __failure)
1412:     {
1412:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1412:    std::move(__w), __success, __failure);
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline bool
1412:     atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1412:      shared_ptr<_Tp> __w)
1412:     {
1412:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1412:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     bool
1412:     atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p,
1412:          __shared_ptr<_Tp, _Lp>* __v,
1412:          __shared_ptr<_Tp, _Lp> __w,
1412:          memory_order,
1412:          memory_order)
1412:     {
1412:       __shared_ptr<_Tp, _Lp> __x;
1412:       _Sp_locker __lock{__p, __v};
1412:       owner_less<__shared_ptr<_Tp, _Lp>> __less;
1412:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1412:  {
1412:    __x = std::move(*__p);
1412:    *__p = std::move(__w);
1412:    return true;
1412:  }
1412:       __x = std::move(*__v);
1412:       *__v = *__p;
1412:       return false;
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p,
1412:        __shared_ptr<_Tp, _Lp>* __v,
1412:        __shared_ptr<_Tp, _Lp> __w)
1412:     {
1412:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1412:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p,
1412:        __shared_ptr<_Tp, _Lp>* __v,
1412:        __shared_ptr<_Tp, _Lp> __w,
1412:        memory_order __success,
1412:        memory_order __failure)
1412:     {
1412:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1412:    std::move(__w), __success, __failure);
1412:     }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:     inline bool
1412:     atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p,
1412:      __shared_ptr<_Tp, _Lp>* __v,
1412:      __shared_ptr<_Tp, _Lp> __w)
1412:     {
1412:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1412:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1412:     }
1412: # 796 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1412: 
1412: }
1412: # 79 "/usr/include/c++/12/memory" 2 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/backward/auto_ptr.h" 1 3
1412: # 36 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 47 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:   template<typename _Tp1>
1412:     struct auto_ptr_ref
1412:     {
1412:       _Tp1* _M_ptr;
1412: 
1412:       explicit
1412:       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: # 88 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:   template<typename _Tp>
1412:     class auto_ptr
1412:     {
1412:     private:
1412:       _Tp* _M_ptr;
1412: 
1412:     public:
1412: 
1412:       typedef _Tp element_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
1412: # 114 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
1412: # 126 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       template<typename _Tp1>
1412:         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
1412: # 137 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       auto_ptr&
1412:       operator=(auto_ptr& __a) throw()
1412:       {
1412:  reset(__a.release());
1412:  return *this;
1412:       }
1412: # 154 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       template<typename _Tp1>
1412:         auto_ptr&
1412:         operator=(auto_ptr<_Tp1>& __a) throw()
1412:         {
1412:    reset(__a.release());
1412:    return *this;
1412:  }
1412: # 172 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       ~auto_ptr() { delete _M_ptr; }
1412: # 182 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       element_type&
1412:       operator*() const throw()
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1412:  return *_M_ptr;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       element_type*
1412:       operator->() const throw()
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1412:  return _M_ptr;
1412:       }
1412: # 212 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       element_type*
1412:       get() const throw() { return _M_ptr; }
1412: # 226 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       element_type*
1412:       release() throw()
1412:       {
1412:  element_type* __tmp = _M_ptr;
1412:  _M_ptr = 0;
1412:  return __tmp;
1412:       }
1412: # 241 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       void
1412:       reset(element_type* __p = 0) throw()
1412:       {
1412:  if (__p != _M_ptr)
1412:    {
1412:      delete _M_ptr;
1412:      _M_ptr = __p;
1412:    }
1412:       }
1412: # 266 "/usr/include/c++/12/backward/auto_ptr.h" 3
1412:       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
1412:       : _M_ptr(__ref._M_ptr) { }
1412: 
1412:       auto_ptr&
1412:       operator=(auto_ptr_ref<element_type> __ref) throw()
1412:       {
1412:  if (__ref._M_ptr != this->get())
1412:    {
1412:      delete _M_ptr;
1412:      _M_ptr = __ref._M_ptr;
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:       template<typename _Tp1>
1412:         operator auto_ptr_ref<_Tp1>() throw()
1412:         { return auto_ptr_ref<_Tp1>(this->release()); }
1412: 
1412:       template<typename _Tp1>
1412:         operator auto_ptr<_Tp1>() throw()
1412:         { return auto_ptr<_Tp1>(this->release()); }
1412:     } __attribute__ ((__deprecated__ ("use '" "std::unique_ptr" "' instead")));
1412: 
1412: 
1412: 
1412:   template<>
1412:     class auto_ptr<void>
1412:     {
1412:     public:
1412:       typedef void element_type;
1412:     } __attribute__ ((__deprecated__));
1412: 
1412: 
1412:   template<_Lock_policy _Lp>
1412:   template<typename _Tp>
1412:     inline
1412:     __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r)
1412:     : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get()))
1412:     { __r.release(); }
1412: 
1412:   template<typename _Tp, _Lock_policy _Lp>
1412:   template<typename _Tp1, typename>
1412:     inline
1412:     ype __den) const noexcept
1417:     { return __num % __den; }
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct _Default_ranged_hash { };
1417: 
1417: 
1417: 
1417:   struct _Prime_rehash_policy
1417:   {
1417:     using __has_load_factor = true_type;
1417: 
1417:     _Prime_rehash_policy(float __z = 1.0) noexcept
1417:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1417: 
1417:     float
1417:     max_load_factor() const noexcept
1417:     { return _M_max_load_factor; }
1417: 
1417: 
1417:     std::size_t
1417:     _M_next_bkt(std::size_t __n) const;
1417: 
1417: 
1417:     std::size_t
1417:     _M_bkt_for_elements(std::size_t __n) const
1417:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     std::pair<bool, std::size_t>
1417:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1417:      std::size_t __n_ins) const;
1417: 
1417:     typedef std::size_t _State;
1417: 
1417:     _State
1417:     _M_state() const
1417:     { return _M_next_resize; }
1417: 
1417:     void
1417:     _M_reset() noexcept
1417:     { _M_next_resize = 0; }
1417: 
1417:     void
1417:     _M_reset(_State __state)
1417:     { _M_next_resize = __state; }
1417: 
1417:     static const std::size_t _S_growth_factor = 2;
1417: 
1417:     float _M_max_load_factor;
1417:     mutable std::size_t _M_next_resize;
1417:   };
1417: 
1417: 
1417:   struct _Mask_range_hashing
1417:   {
1417:     typedef std::size_t first_argument_type;
1417:     typedef std::size_t second_argument_type;
1417:     typedef std::size_t result_type;
1417: 
1417:     result_type
1417:     operator()(first_argument_type __num,
1417:         second_argument_type __den) const noexcept
1417:     { return __num & (__den - 1); }
1417:   };
1417: 
1417: 
1417:   inline std::size_t
1417:   __clp2(std::size_t __n) noexcept
1417:   {
1417:     using __gnu_cxx::__int_traits;
1417: 
1417:     if (__n < 2)
1417:       return __n;
1417:     const unsigned __lz = sizeof(size_t) > sizeof(long)
1417:       ? __builtin_clzll(__n - 1ull)
1417:       : __builtin_clzl(__n - 1ul);
1417: 
1417:     return (size_t(1) << (__int_traits<size_t>::__digits - __lz - 1)) << 1;
1417:   }
1417: 
1417: 
1417: 
1417:   struct _Power2_rehash_policy
1417:   {
1417:     using __has_load_factor = true_type;
1417: 
1417:     _Power2_rehash_policy(float __z = 1.0) noexcept
1417:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1417: 
1417:     float
1417:     max_load_factor() const noexcept
1417:     { return _M_max_load_factor; }
1417: 
1417: 
1417: 
1417:     std::size_t
1417:     _M_next_bkt(std::size_t __n) noexcept
1417:     {
1417:       if (__n == 0)
1417: 
1417: 
1417: 
1417:  return 1;
1417: 
1417:       const auto __max_width = std::min<size_t>(sizeof(size_t), 8);
1417:       const auto __max_bkt = size_t(1) << (__max_width * 8 - 1);
1417:       std::size_t __res = __clp2(__n);
1417: 
1417:       if (__res == 0)
1417:  __res = __max_bkt;
1417:       else if (__res == 1)
1417: 
1417: 
1417: 
1417:  __res = 2;
1417: 
1417:       if (__res == __max_bkt)
1417: 
1417: 
1417: 
1417:  _M_next_resize = size_t(-1);
1417:       else
1417:  _M_next_resize
1417:    = __builtin_floor(__res * (double)_M_max_load_factor);
1417: 
1417:       return __res;
1417:     }
1417: 
1417: 
1417:     std::size_t
1417:     _M_bkt_for_elements(std::size_t __n) const noexcept
1417:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     std::pair<bool, std::size_t>
1417:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1417:      std::size_t __n_ins) noexcept
1417:     {
1417:       if (__n_elt + __n_ins > _M_next_resize)
1417:  {
1417: 
1417: 
1417: 
1417:    double __min_bkts
1417:      = std::max<std::size_t>(__n_elt + __n_ins, _M_next_resize ? 0 : 11)
1417:        / (double)_M_max_load_factor;
1417:    if (__min_bkts >= __n_bkt)
1417:      return { true,
1417:        _M_next_bkt(std::max<std::size_t>(__builtin_floor(__min_bkts) + 1,
1417:       __n_bkt * _S_growth_factor)) };
1417: 
1417:    _M_next_resize
1417:      = __builtin_floor(__n_bkt * (double)_M_max_load_factor);
1417:    return { false, 0 };
1417:  }
1417:       else
1417:  return { false, 0 };
1417:     }
1417: 
1417:     typedef std::size_t _State;
1417: 
1417:     _State
1417:     _M_state() const noexcept
1417:     { return _M_next_resize; }
1417: 
1417:     void
1417:     _M_reset() noexcept
1417:     { _M_next_resize = 0; }
1417: 
1417:     void
1417:     _M_reset(_State __state) noexcept
1417:     { _M_next_resize = __state; }
1417: 
1417:     static const std::size_t _S_growth_factor = 2;
1417: 
1417:     float _M_max_load_factor;
1417:     std::size_t _M_next_resize;
1417:   };
1417: # 696 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits,
1417:     bool _Unique_keys = _Traits::__unique_keys::value>
1417:     struct _Map_base { };
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1417:     {
1417:       using mapped_type = _Val;
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1417:     {
1417:     private:
1417:       using __hashtable_base = _Hashtable_base<_Key, pair<const _Key, _Val>,
1417:             _Select1st, _Equal, _Hash,
1417:             _RangeHash, _Unused,
1417:             _Traits>;
1417: 
1417:       using __hashtable = _Hashtable<_Key, pair<const _Key, _Val>, _Alloc,
1417:          _Select1st, _Equal, _Hash, _RangeHash,
1417:          _Unused, _RehashPolicy, _Traits>;
1417: 
1417:       using __hash_code = typename __hashtable_base::__hash_code;
1417: 
1417:     public:
1417:       using key_type = typename __hashtable_base::key_type;
1417:       using mapped_type = _Val;
1417: 
1417:       mapped_type&
1417:       operator[](const key_type& __k);
1417: 
1417:       mapped_type&
1417:       operator[](key_type&& __k);
1417: 
1417: 
1417: 
1417:       mapped_type&
1417:       at(const key_type& __k)
1417:       {
1417:  auto __ite = static_cast<__hashtable*>(this)->find(__k);
1417:  if (!__ite._M_cur)
1417:    __throw_out_of_range(("unordered_map::at"));
1417:  return __ite->second;
1417:       }
1417: 
1417:       const mapped_type&
1417:       at(const key_type& __k) const
1417:       {
1417:  auto __ite = static_cast<const __hashtable*>(this)->find(__k);
1417:  if (!__ite._M_cur)
1417:    __throw_out_of_range(("unordered_map::at"));
1417:  return __ite->second;
1417:       }
1417:     };
1417: 
1417:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1417:     operator[](const key_type& __k)
1417:     -> mapped_type&
1417:     {
1417:       __hashtable* __h = static_cast<__hashtable*>(this);
1417:       __hash_code __code = __h->_M_hash_code(__k);
1417:       std::size_t __bkt = __h->_M_bucket_index(__code);
1417:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1417:  return __node->_M_v().second;
1417: 
1417:       typename __hashtable::_Scoped_node __node {
1417:  __h,
1417:  std::piecewise_construct,
1417:  std::tuple<con__shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r)
1412:     : _M_ptr(__r.get()), _M_refcount()
1412:     {
1412:      
1412:       static_assert( sizeof(_Tp1) > 0, "incomplete type" );
1412:       _Tp1* __tmp = __r.get();
1412:       _M_refcount = __shared_count<_Lp>(std::move(__r));
1412:       _M_enable_shared_from_this_with(__tmp);
1412:     }
1412: 
1412:   template<typename _Tp>
1412:   template<typename _Tp1, typename>
1412:     inline
1412:     shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r)
1412:     : __shared_ptr<_Tp>(std::move(__r)) { }
1412: 
1412:   template<typename _Tp, typename _Dp>
1412:   template<typename _Up, typename>
1412:     inline
1412:     unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept
1412:     : _M_t(__u.release(), deleter_type()) { }
1412: 
1412: 
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: }
1412: # 83 "/usr/include/c++/12/memory" 2 3
1412: # 91 "/usr/include/c++/12/memory" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 109 "/usr/include/c++/12/memory" 3
1412: enum class pointer_safety { relaxed, preferred, strict };
1412: 
1412: 
1412: inline void
1412: declare_reachable(void*) { }
1412: 
1412: 
1412: template <typename _Tp>
1412:   inline _Tp*
1412:   undeclare_reachable(_Tp* __p) { return __p; }
1412: 
1412: 
1412: inline void
1412: declare_no_pointers(char*, size_t) { }
1412: 
1412: 
1412: inline void
1412: undeclare_no_pointers(char*, size_t) { }
1412: 
1412: 
1412: inline pointer_safety
1412: get_pointer_safety() noexcept { return pointer_safety::relaxed; }
1412: 
1412: 
1412: 
1412: }
1412: # 144 "/usr/include/c++/12/memory" 3
1412: # 1 "/usr/include/c++/12/pstl/glue_memory_defs.h" 1 3
1412: # 13 "/usr/include/c++/12/pstl/glue_memory_defs.h" 3
1412: # 1 "/usr/include/c++/12/pstl/execution_defs.h" 1 3
1412: # 15 "/usr/include/c++/12/pstl/execution_defs.h" 3
1412: namespace __pstl
1412: {
1412: namespace execution
1412: {
1412: inline namespace v1
1412: {
1412: 
1412: 
1412: class sequenced_policy
1412: {
1412:   public:
1412: 
1412:     static constexpr std::false_type
1412:     __allow_unsequenced()
1412:     {
1412:         return std::false_type{};
1412:     }
1412:     static constexpr std::false_type
1412:     __allow_vector()
1412:     {
1412:         return std::false_type{};
1412:     }
1412:     static constexpr std::false_type
1412:     __allow_parallel()
1412:     {
1412:         return std::false_type{};
1412:     }
1412: };
1412: 
1412: 
1412: class parallel_policy
1412: {
1412:   public:
1412: 
1412:     static constexpr std::false_type
1412:     __allow_unsequenced()
1412:     {
1412:         return std::false_type{};
1412:     }
1412:     static constexpr std::false_type
1412:     __allow_vector()
1412:     {
1412:         return std::false_type{};
1412:     }
1412:     static constexpr std::true_type
1412:     __allow_parallel()
1412:     {
1412:         return std::true_type{};
1412:     }
1412: };
1412: 
1412: 
1412: class parallel_unsequenced_policy
1412: {
1412:   public:
1412: 
1412:     static constexpr std::true_type
1412:     __allow_unsequenced()
1412:     {
1412:         return std::true_type{};
1412:     }
1412:     static constexpr std::true_type
1412:     __allow_vector()
1412:     {
1412:         return std::true_type{};
1412:     }
1412:     static constexpr std::true_type
1412:     __allow_parallel()
1412:     {
1412:         return std::true_type{};
1412:     }
1412: };
1412: 
1412: class unsequenced_policy
1412: {
1412:   public:
1412: 
1412:     static constexpr std::true_type
1412:     __allow_unsequenced()
1412:     {
1412:         return std::true_type{};
1412:     }
1412:     static constexpr std::true_type
1412:     __allow_vector()
1412:     {
1412:         return std::true_type{};
1412:     }
1412:     static constexpr std::false_type
1412:     __allow_parallel()
1412:     {
1412:         return std::false_type{};
1412:     }
1412: };
1412: 
1412: 
1412: constexpr sequenced_policy seq{};
1412: constexpr parallel_policy par{};
1412: constexpr parallel_unsequenced_policy par_unseq{};
1412: constexpr unsequenced_policy unseq{};
1412: 
1412: 
1412: template <class _Tp>
1412: struct is_execution_policy : std::false_type
1412: {
1412: };
1412: 
1412: template <>
1412: struct is_execution_policy<__pstl::execution::sequenced_policy> : std::true_type
1412: {
1412: };
1412: template <>
1412: struct is_execution_policy<__pstl::execution::parallel_policy> : std::true_type
1412: {
1412: };
1412: template <>
1412: struct is_execution_policy<__pstl::execution::parallel_unsequenced_policy> : std::true_type
1412: {
1412: };
1412: template <>
1412: struct is_execution_policy<__pstl::execution::unsequenced_policy> : std::true_type
1412: {
1412: };
1412: 
1412: 
1412: template <class _Tp>
1412: constexpr bool is_execution_policy_v = __pstl::execution::is_execution_policy<_Tp>::value;
1412: 
1412: 
1412: }
1412: }
1412: 
1412: namespace __internal
1412: {
1412: template <class _ExecPolicy, class _Tp>
1412: 
1412: using __enable_if_execution_policy =
1412:     typename std::enable_if<__pstl::execution::is_execution_policy<std::__remove_cvref_t<_ExecPolicy>>::value,
1412:                             _Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: 
1412: }
1412: # 14 "/usr/include/c++/12/pstl/glue_memory_defs.h" 2 3
1412: 
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: uninitialized_copy(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1412: 
1412: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: uninitialized_copy_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: uninitialized_move(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1412: 
1412: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: uninitialized_move_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: uninitialized_fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: uninitialized_fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, const _Tp& __value);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: destroy_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: uninitialized_default_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1412: __pstl::__internal::__enablst key_type&>(__k),
1417:  std::tuple<>()
1417:       };
1417:       auto __pos
1417:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1417:       __node._M_node = nullptr;
1417:       return __pos->second;
1417:     }
1417: 
1417:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1417:     operator[](key_type&& __k)
1417:     -> mapped_type&
1417:     {
1417:       __hashtable* __h = static_cast<__hashtable*>(this);
1417:       __hash_code __code = __h->_M_hash_code(__k);
1417:       std::size_t __bkt = __h->_M_bucket_index(__code);
1417:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1417:  return __node->_M_v().second;
1417: 
1417:       typename __hashtable::_Scoped_node __node {
1417:  __h,
1417:  std::piecewise_construct,
1417:  std::forward_as_tuple(std::move(__k)),
1417:  std::tuple<>()
1417:       };
1417:       auto __pos
1417:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1417:       __node._M_node = nullptr;
1417:       return __pos->second;
1417:     }
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits, bool __uniq>
1417:     struct _Map_base<const _Key, pair<const _Key, _Val>,
1417:        _Alloc, _Select1st, _Equal, _Hash,
1417:        _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1417:     : _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal, _Hash,
1417:   _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Insert_base
1417:     {
1417:     protected:
1417:       using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey,
1417:             _Equal, _Hash, _RangeHash,
1417:             _Unused, _Traits>;
1417: 
1417:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:          _Hash, _RangeHash,
1417:          _Unused, _RehashPolicy, _Traits>;
1417: 
1417:       using __hash_cached = typename _Traits::__hash_cached;
1417:       using __constant_iterators = typename _Traits::__constant_iterators;
1417: 
1417:       using __hashtable_alloc = _Hashtable_alloc<
1417:  __alloc_rebind<_Alloc, _Hash_node<_Value,
1417:        __hash_cached::value>>>;
1417: 
1417:       using value_type = typename __hashtable_base::value_type;
1417:       using size_type = typename __hashtable_base::size_type;
1417: 
1417:       using __unique_keys = typename _Traits::__unique_keys;
1417:       using __node_alloc_type = typename __hashtable_alloc::__node_alloc_type;
1417:       using __node_gen_type = _AllocNode<__node_alloc_type>;
1417: 
1417:       __hashtable&
1417:       _M_conjure_hashtable()
1417:       { return *(static_cast<__hashtable*>(this)); }
1417: 
1417:       template<typename _InputIterator, typename _NodeGetter>
1417:  void
1417:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1417:    const _NodeGetter&, true_type __uks);
1417: 
1417:       template<typename _InputIterator, typename _NodeGetter>
1417:  void
1417:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1417:    const _NodeGetter&, false_type __uks);
1417: 
1417:     public:
1417:       using iterator = _Node_iterator<_Value, __constant_iterators::value,
1417:           __hash_cached::value>;
1417: 
1417:       using const_iterator = _Node_const_iterator<_Value,
1417:         __constant_iterators::value,
1417:         __hash_cached::value>;
1417: 
1417:       using __ireturn_type = __conditional_t<__unique_keys::value,
1417:           std::pair<iterator, bool>,
1417:           iterator>;
1417: 
1417:       __ireturn_type
1417:       insert(const value_type& __v)
1417:       {
1417:  __hashtable& __h = _M_conjure_hashtable();
1417:  __node_gen_type __node_gen(__h);
1417:  return __h._M_insert(__v, __node_gen, __unique_keys{});
1417:       }
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, const value_type& __v)
1417:       {
1417:  __hashtable& __h = _M_conjure_hashtable();
1417:  __node_gen_type __node_gen(__h);
1417:  return __h._M_insert(__hint, __v, __node_gen, __unique_keys{});
1417:       }
1417: 
1417:       template<typename _KType, typename... _Args>
1417:  std::pair<iterator, bool>
1417:  try_emplace(const_iterator, _KType&& __k, _Args&&... __args)
1417:  {
1417:    __hashtable& __h = _M_conjure_hashtable();
1417:    auto __code = __h._M_hash_code(__k);
1417:    std::size_t __bkt = __h._M_bucket_index(__code);
1417:    if (auto __node = __h._M_find_node(__bkt, __k, __code))
1417:      return { iterator(__node), false };
1417: 
1417:    typename __hashtable::_Scoped_node __node {
1417:      &__h,
1417:      std::piecewise_construct,
1417:      std::forward_as_tuple(std::forward<_KType>(__k)),
1417:      std::forward_as_tuple(std::forward<_Args>(__args)...)
1417:      };
1417:    auto __it
1417:      = __h._M_insert_unique_node(__bkt, __code, __node._M_node);
1417:    __node._M_node = nullptr;
1417:    return { __it, true };
1417:  }
1417: 
1417:       void
1417:       insert(initializer_list<value_type> __l)
1417:       { this->insert(__l.begin(), __l.end()); }
1417: 
1417:       template<typename _InputIterator>
1417:  void
1417:  insert(_InputIterator __first, _InputIterator __last)
1417:  {
1417:    __hashtable& __h = _M_conjure_hashtable();
1417:    __node_gen_type __node_gen(__h);
1417:    return _M_insert_range(__first, __last, __node_gen, __unique_keys{});
1417:  }
1417:     };
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _InputIterator, typename _NodeGetter>
1417:       void
1417:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused,
1417:      _RehashPolicy, _Traits>::
1417:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1417:         const _NodeGetter& __node_gen, true_type __uks)
1417:       {
1417:  __hashtable& __h = _M_conjure_hashtable();
1417:  for (; __first != __last; ++__first)
1417:    __h._M_insert(*__first, __node_gen, __uks);
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _InputIterator, typename _NodeGetter>
1417:       void
1417:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused,
1417:      _RehashPolicy, _Traits>::
1417:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1417:         const _NodeGetter& __node_gen, false_type __uks)
1417:       {
1417:  using __rehash_type = typename __hashtable::__rehash_type;
1417:  using __rehash_state = typename __hashtable::__rehash_state;
1417:  using pair_type = std::pair<bool, std::size_t>;
1417: 
1417:  size_type __n_elt = __detail::__distance_fw(__first, __last);
1417:  if (__n_elt == 0)
1417:    return;
1417: 
1417:  __hashtable& __h = _M_conjure_hashtable();
1417:  __rehash_type& __rehash = __h._M_rehash_policy;
1417:  const __rehash_state& __saved_state = __rehash._M_state();
1417:  pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count,
1417:        __h._M_element_count,
1417:        __n_elt);
1417: 
1417:  if (__do_rehash.first)
1417:    __h._M_rehash(__do_rehash.second, __save_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: uninitialized_default_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: uninitialized_value_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: uninitialized_value_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1412: 
1412: }
1412: # 145 "/usr/include/c++/12/memory" 2 3
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h" 2
1412: # 1 "/usr/include/c++/12/set" 1 3
1412: # 58 "/usr/include/c++/12/set" 3
1412:        
1412: # 59 "/usr/include/c++/12/set" 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/stl_set.h" 1 3
1412: # 64 "/usr/include/c++/12/bits/stl_set.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     class multiset;
1412: # 92 "/usr/include/c++/12/bits/stl_set.h" 3
1412:   template<typename _Key, typename _Compare = std::less<_Key>,
1412:     typename _Alloc = std::allocator<_Key> >
1412:     class set
1412:     {
1412: # 108 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1412:    "std::set must have a non-const, non-volatile value_type");
1412: 
1412:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1412:    "std::set must have the same value_type as its allocator");
1412: 
1412: 
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef _Key key_type;
1412:       typedef _Key value_type;
1412:       typedef _Compare key_compare;
1412:       typedef _Compare value_compare;
1412:       typedef _Alloc allocator_type;
1412: 
1412: 
1412:     private:
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_Key>::other _Key_alloc_type;
1412: 
1412:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1412:          key_compare, _Key_alloc_type> _Rep_type;
1412:       _Rep_type _M_t;
1412: 
1412:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1412: 
1412:     public:
1412: 
1412: 
1412:       typedef typename _Alloc_traits::pointer pointer;
1412:       typedef typename _Alloc_traits::const_pointer const_pointer;
1412:       typedef typename _Alloc_traits::reference reference;
1412:       typedef typename _Alloc_traits::const_reference const_reference;
1412: 
1412: 
1412: 
1412:       typedef typename _Rep_type::const_iterator iterator;
1412:       typedef typename _Rep_type::const_iterator const_iterator;
1412:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1412:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1412:       typedef typename _Rep_type::size_type size_type;
1412:       typedef typename _Rep_type::difference_type difference_type;
1412: 
1412: 
1412: 
1412:       using node_type = typename _Rep_type::node_type;
1412:       using insert_return_type = typename _Rep_type::insert_return_type;
1412: # 167 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       set() = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       set(const _Compare& __comp,
1412:    const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1412: # 190 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       template<typename _InputIterator>
1412:  set(_InputIterator __first, _InputIterator __last)
1412:  : _M_t()
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: # 207 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       template<typename _InputIterator>
1412:  set(_InputIterator __first, _InputIterator __last,
1412:      const _Compare& __comp,
1412:      const allocator_type& __a = allocator_type())
1412:  : _M_t(__comp, _Key_alloc_type(__a))
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: # 223 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       set(const set&) = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       set(set&&) = default;
1412: # 243 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       set(initializer_list<value_type> __l,
1412:    const _Compare& __comp = _Compare(),
1412:    const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Key_alloc_type(__a))
1412:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       explicit
1412:       set(const allocator_type& __a)
1412:       : _M_t(_Key_alloc_type(__a)) { }
1412: 
1412: 
1412:       set(const set& __x, const __type_identity_t<allocator_type>& __a)
1412:       : _M_t(__x._M_t, _Key_alloc_type(__a)) { }
1412: 
1412: 
1412:       set(set&& __x, const __type_identity_t<allocator_type>& __a)
1412:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1412:         && _Alloc_traits::_S_always_equal())
1412:       : _M_t(std::move(__x._M_t), _Key_alloc_type(__a)) { }
1412: 
1412: 
1412:       set(initializer_list<value_type> __l, const allocator_type& __a)
1412:       : _M_t(_Key_alloc_type(__a))
1412:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412:  set(_InputIterator __first, _InputIterator __last,
1412:      const allocator_type& __a)
1412:  : _M_t(_Key_alloc_type(__a))
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~set() = default;
1412: # 297 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       set&
1412:       operator=(const set&) = default;
1412: 
1412: 
1412:       set&
1412:       operator=(set&&) = default;
1412: # 315 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       set&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  _M_t._M_assign_unique(__l.begin(), __l.end());
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       key_compare
1412:       key_comp() const
1412:       { return _M_t.key_comp(); }
1412: 
1412:       value_compare
1412:       value_comp() const
1412:       { return _M_t.key_comp(); }
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_t.get_allocator()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       begin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       end() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       cbegin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       cend() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       crbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       crend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return _M_t.empty(); }
1412: 
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_t.size(); }
1412: 
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _M_t.max_size(); }
1412: # 440 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       void
1412:  ed_state);
1417: 
1417:  for (; __first != __last; ++__first)
1417:    __h._M_insert(*__first, __node_gen, __uks);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits,
1417:     bool _Constant_iterators = _Traits::__constant_iterators::value>
1417:     struct _Insert;
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused,
1417:      _RehashPolicy, _Traits, true>
1417:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1417:     {
1417:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1417:            _Equal, _Hash, _RangeHash, _Unused,
1417:            _RehashPolicy, _Traits>;
1417: 
1417:       using value_type = typename __base_type::value_type;
1417:       using iterator = typename __base_type::iterator;
1417:       using const_iterator = typename __base_type::const_iterator;
1417:       using __ireturn_type = typename __base_type::__ireturn_type;
1417: 
1417:       using __unique_keys = typename __base_type::__unique_keys;
1417:       using __hashtable = typename __base_type::__hashtable;
1417:       using __node_gen_type = typename __base_type::__node_gen_type;
1417: 
1417:       using __base_type::insert;
1417: 
1417:       __ireturn_type
1417:       insert(value_type&& __v)
1417:       {
1417:  __hashtable& __h = this->_M_conjure_hashtable();
1417:  __node_gen_type __node_gen(__h);
1417:  return __h._M_insert(std::move(__v), __node_gen, __unique_keys{});
1417:       }
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, value_type&& __v)
1417:       {
1417:  __hashtable& __h = this->_M_conjure_hashtable();
1417:  __node_gen_type __node_gen(__h);
1417:  return __h._M_insert(__hint, std::move(__v), __node_gen,
1417:         __unique_keys{});
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1417:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1417:     {
1417:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1417:            _Equal, _Hash, _RangeHash, _Unused,
1417:            _RehashPolicy, _Traits>;
1417:       using value_type = typename __base_type::value_type;
1417:       using iterator = typename __base_type::iterator;
1417:       using const_iterator = typename __base_type::const_iterator;
1417: 
1417:       using __unique_keys = typename __base_type::__unique_keys;
1417:       using __hashtable = typename __base_type::__hashtable;
1417:       using __ireturn_type = typename __base_type::__ireturn_type;
1417: 
1417:       using __base_type::insert;
1417: 
1417:       template<typename _Pair>
1417:  using __is_cons = std::is_constructible<value_type, _Pair&&>;
1417: 
1417:       template<typename _Pair>
1417:  using _IFcons = std::enable_if<__is_cons<_Pair>::value>;
1417: 
1417:       template<typename _Pair>
1417:  using _IFconsp = typename _IFcons<_Pair>::type;
1417: 
1417:       template<typename _Pair, typename = _IFconsp<_Pair>>
1417:  __ireturn_type
1417:  insert(_Pair&& __v)
1417:  {
1417:    __hashtable& __h = this->_M_conjure_hashtable();
1417:    return __h._M_emplace(__unique_keys{}, std::forward<_Pair>(__v));
1417:  }
1417: 
1417:       template<typename _Pair, typename = _IFconsp<_Pair>>
1417:  iterator
1417:  insert(const_iterator __hint, _Pair&& __v)
1417:  {
1417:    __hashtable& __h = this->_M_conjure_hashtable();
1417:    return __h._M_emplace(__hint, __unique_keys{},
1417:     std::forward<_Pair>(__v));
1417:  }
1417:    };
1417: 
1417:   template<typename _Policy>
1417:     using __has_load_factor = typename _Policy::__has_load_factor;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits,
1417:     typename =
1417:       __detected_or_t<false_type, __has_load_factor, _RehashPolicy>>
1417:     struct _Rehash_base;
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1417:    false_type >
1417:     {
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1417:    true_type >
1417:     {
1417:     private:
1417:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey,
1417:          _Equal, _Hash, _RangeHash, _Unused,
1417:          _RehashPolicy, _Traits>;
1417: 
1417:     public:
1417:       float
1417:       max_load_factor() const noexcept
1417:       {
1417:  const __hashtable* __this = static_cast<const __hashtable*>(this);
1417:  return __this->__rehash_policy().max_load_factor();
1417:       }
1417: 
1417:       void
1417:       max_load_factor(float __z)
1417:       {
1417:  __hashtable* __this = static_cast<__hashtable*>(this);
1417:  __this->__rehash_policy(_RehashPolicy(__z));
1417:       }
1417: 
1417:       void
1417:       reserve(std::size_t __n)
1417:       {
1417:  __hashtable* __this = static_cast<__hashtable*>(this);
1417:  __this->rehash(__this->__rehash_policy()._M_bkt_for_elements(__n));
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<int _Nm, typename _Tp,
1417:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1417:     struct _Hashtable_ebo_helper;
1417: 
1417: 
1417:   template<int _Nm, typename _Tp>
1417:     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
1417:     : private _Tp
1417:     {
1417:       _Hashtable_ebo_helper() noexcept(noexcept(_Tp())) : _Tp() { }
1417: 
1417:       template<typename _OtherTp>
1417:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1417:  : _Tp(std::forward<_OtherTp>(__tp))
1417:  { }
1417: 
1417:       const _Tp& _M_cget() const { return static_cast<const _Tp&>(*this); }
1417:       _Tp& _M_get() { return static_cast<_Tp&>(*this); }
1417:     };
1417: 
1417: 
1417:   template<int _Nm, typename _Tp>
1417:     struct _Hashtable_ebo_helper<_Nm, _Tp, false>
1417:     {
1417:       _Hashtable_ebo_helper() = default;
1417: 
1417:       template<typename _OtherTp>
1417:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1417:  : _M_tp(std::forward<_OtherTp>(__tp))
1417:  { }
1417: 
1417:       const _Tp& _M_cget() const { return _M_tp; }
1417:       _Tp& _M_get() { return _M_tp; }
1417: 
1417:     private:
1417:       _Tp _M_tp{};
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     bool __cache_hash_code>
1417:     struct _Local_iterator_base;
1417: # 1236 "/usr/include/c     swap(set& __x)
1412:       noexcept(__is_nothrow_swappable<_Compare>::value)
1412:       { _M_t.swap(__x._M_t); }
1412: # 460 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       template<typename... _Args>
1412:  std::pair<iterator, bool>
1412:  emplace(_Args&&... __args)
1412:  { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
1412: # 486 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace_hint(const_iterator __pos, _Args&&... __args)
1412:  {
1412:    return _M_t._M_emplace_hint_unique(__pos,
1412:           std::forward<_Args>(__args)...);
1412:  }
1412: # 508 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       std::pair<iterator, bool>
1412:       insert(const value_type& __x)
1412:       {
1412:  std::pair<typename _Rep_type::iterator, bool> __p =
1412:    _M_t._M_insert_unique(__x);
1412:  return std::pair<iterator, bool>(__p.first, __p.second);
1412:       }
1412: 
1412: 
1412:       std::pair<iterator, bool>
1412:       insert(value_type&& __x)
1412:       {
1412:  std::pair<typename _Rep_type::iterator, bool> __p =
1412:    _M_t._M_insert_unique(std::move(__x));
1412:  return std::pair<iterator, bool>(__p.first, __p.second);
1412:       }
1412: # 545 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       iterator
1412:       insert(const_iterator __position, const value_type& __x)
1412:       { return _M_t._M_insert_unique_(__position, __x); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __position, value_type&& __x)
1412:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1412: # 564 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  insert(_InputIterator __first, _InputIterator __last)
1412:  { _M_t._M_insert_range_unique(__first, __last); }
1412: # 577 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       void
1412:       insert(initializer_list<value_type> __l)
1412:       { this->insert(__l.begin(), __l.end()); }
1412: 
1412: 
1412: 
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1412:  return _M_t.extract(__pos);
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const key_type& __x)
1412:       { return _M_t.extract(__x); }
1412: 
1412: 
1412:       insert_return_type
1412:       insert(node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1412: 
1412:       template<typename, typename>
1412:  friend struct std::_Rb_tree_merge_helper;
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(set<_Key, _Compare1, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1412:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1412:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1412:  { merge(__source); }
1412: # 652 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(const_iterator __position)
1412:       { return _M_t.erase(__position); }
1412: # 683 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       size_type
1412:       erase(const key_type& __x)
1412:       { return _M_t.erase(__x); }
1412: # 704 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(const_iterator __first, const_iterator __last)
1412:       { return _M_t.erase(__first, __last); }
1412: # 732 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       void
1412:       clear() noexcept
1412:       { _M_t.clear(); }
1412: # 747 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       size_type
1412:       count(const key_type& __x) const
1412:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  count(const _Kt& __x) const
1412:  -> decltype(_M_t._M_count_tr(__x))
1412:  { return _M_t._M_count_tr(__x); }
1412: # 793 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       iterator
1412:       find(const key_type& __x)
1412:       { return _M_t.find(__x); }
1412: 
1412:       const_iterator
1412:       find(const key_type& __x) const
1412:       { return _M_t.find(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x)
1412:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1412:  { return iterator{_M_t._M_find_tr(__x)}; }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x) const
1412:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1412:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1412: # 828 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       iterator
1412:       lower_bound(const key_type& __x)
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412:       const_iterator
1412:       lower_bound(const key_type& __x) const
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x) const
1412:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1412: # 858 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       iterator
1412:       upper_bound(const key_type& __x)
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412:       const_iterator
1412:       upper_bound(const key_type& __x) const
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x) const
1412:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1412: # 897 "/usr/include/c++/12/bits/stl_set.h" 3
1412:       std::pair<iterator, iterator>
1412:       equal_range(const key_type& __x)
1412:       { return _M_t.equal_range(__x); }
1412: 
1412:       std::pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __x) const
1412:       { return _M_t.equal_range(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x)
1412:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1412:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x) const
1412:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1412:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1412: 
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator,
1412:     typename _Compare =
1412:     ++/12/bits/hashtable_policy.h" 3
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     bool __cache_hash_code>
1417:     struct _Hash_code_base
1417:     : private _Hashtable_ebo_helper<1, _Hash>
1417:     {
1417:     private:
1417:       using __ebo_hash = _Hashtable_ebo_helper<1, _Hash>;
1417: 
1417: 
1417:       friend struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1417:       _Hash, _RangeHash, _Unused, false>;
1417: 
1417:     public:
1417:       typedef _Hash hasher;
1417: 
1417:       hasher
1417:       hash_function() const
1417:       { return _M_hash(); }
1417: 
1417:     protected:
1417:       typedef std::size_t __hash_code;
1417: 
1417: 
1417: 
1417:       _Hash_code_base() = default;
1417: 
1417:       _Hash_code_base(const _Hash& __hash) : __ebo_hash(__hash) { }
1417: 
1417:       __hash_code
1417:       _M_hash_code(const _Key& __k) const
1417:       {
1417:  static_assert(__is_invocable<const _Hash&, const _Key&>{},
1417:      "hash function must be invocable with an argument of key type");
1417:  return _M_hash()(__k);
1417:       }
1417: 
1417:       template<typename _Kt>
1417:  __hash_code
1417:  _M_hash_code_tr(const _Kt& __k) const
1417:  {
1417:    static_assert(__is_invocable<const _Hash&, const _Kt&>{},
1417:      "hash function must be invocable with an argument of key type");
1417:    return _M_hash()(__k);
1417:  }
1417: 
1417:       __hash_code
1417:       _M_hash_code(const _Hash&,
1417:      const _Hash_node_value<_Value, true>& __n) const
1417:       { return __n._M_hash_code; }
1417: 
1417: 
1417: 
1417:       template<typename _H2>
1417:  __hash_code
1417:  _M_hash_code(const _H2&,
1417:   const _Hash_node_value<_Value, __cache_hash_code>& __n) const
1417:  { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1417: 
1417:       __hash_code
1417:       _M_hash_code(const _Hash_node_value<_Value, false>& __n) const
1417:       { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1417: 
1417:       __hash_code
1417:       _M_hash_code(const _Hash_node_value<_Value, true>& __n) const
1417:       { return __n._M_hash_code; }
1417: 
1417:       std::size_t
1417:       _M_bucket_index(__hash_code __c, std::size_t __bkt_count) const
1417:       { return _RangeHash{}(__c, __bkt_count); }
1417: 
1417:       std::size_t
1417:       _M_bucket_index(const _Hash_node_value<_Value, false>& __n,
1417:         std::size_t __bkt_count) const
1417:  noexcept( noexcept(declval<const _Hash&>()(declval<const _Key&>()))
1417:     && noexcept(declval<const _RangeHash&>()((__hash_code)0,
1417:           (std::size_t)0)) )
1417:       {
1417:  return _RangeHash{}(_M_hash_code(_ExtractKey{}(__n._M_v())),
1417:        __bkt_count);
1417:       }
1417: 
1417:       std::size_t
1417:       _M_bucket_index(const _Hash_node_value<_Value, true>& __n,
1417:         std::size_t __bkt_count) const
1417:  noexcept( noexcept(declval<const _RangeHash&>()((__hash_code)0,
1417:        (std::size_t)0)) )
1417:       { return _RangeHash{}(__n._M_hash_code, __bkt_count); }
1417: 
1417:       void
1417:       _M_store_code(_Hash_node_code_cache<false>&, __hash_code) const
1417:       { }
1417: 
1417:       void
1417:       _M_copy_code(_Hash_node_code_cache<false>&,
1417:      const _Hash_node_code_cache<false>&) const
1417:       { }
1417: 
1417:       void
1417:       _M_store_code(_Hash_node_code_cache<true>& __n, __hash_code __c) const
1417:       { __n._M_hash_code = __c; }
1417: 
1417:       void
1417:       _M_copy_code(_Hash_node_code_cache<true>& __to,
1417:      const _Hash_node_code_cache<true>& __from) const
1417:       { __to._M_hash_code = __from._M_hash_code; }
1417: 
1417:       void
1417:       _M_swap(_Hash_code_base& __x)
1417:       { std::swap(__ebo_hash::_M_get(), __x.__ebo_hash::_M_get()); }
1417: 
1417:       const _Hash&
1417:       _M_hash() const { return __ebo_hash::_M_cget(); }
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Hash, typename _RangeHash, typename _Unused>
1417:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1417:     _Hash, _RangeHash, _Unused, true>
1417:     : public _Node_iterator_base<_Value, true>
1417:     {
1417:     protected:
1417:       using __base_node_iter = _Node_iterator_base<_Value, true>;
1417:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1417:            _Hash, _RangeHash, _Unused, true>;
1417: 
1417:       _Local_iterator_base() = default;
1417:       _Local_iterator_base(const __hash_code_base&,
1417:       _Hash_node<_Value, true>* __p,
1417:       std::size_t __bkt, std::size_t __bkt_count)
1417:       : __base_node_iter(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1417:       { }
1417: 
1417:       void
1417:       _M_incr()
1417:       {
1417:  __base_node_iter::_M_incr();
1417:  if (this->_M_cur)
1417:    {
1417:      std::size_t __bkt
1417:        = _RangeHash{}(this->_M_cur->_M_hash_code, _M_bucket_count);
1417:      if (__bkt != _M_bucket)
1417:        this->_M_cur = nullptr;
1417:    }
1417:       }
1417: 
1417:       std::size_t _M_bucket;
1417:       std::size_t _M_bucket_count;
1417: 
1417:     public:
1417:       std::size_t
1417:       _M_get_bucket() const { return _M_bucket; }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, bool _IsEmpty = std::is_empty<_Tp>::value>
1417:     struct _Hash_code_storage
1417:     {
1417:       __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1417: 
1417:       _Tp*
1417:       _M_h() { return _M_storage._M_ptr(); }
1417: 
1417:       const _Tp*
1417:       _M_h() const { return _M_storage._M_ptr(); }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _Hash_code_storage<_Tp, true>
1417:     {
1417:       static_assert( std::is_empty<_Tp>::value, "Type must be empty" );
1417: 
1417: 
1417: 
1417:       _Tp*
1417:       _M_h() { return reinterpret_cast<_Tp*>(this); }
1417: 
1417:       const _Tp*
1417:       _M_h() const { return reinterpret_cast<const _Tp*>(this); }
1417:     };
1417: 
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Hash, typename _RangeHash, typename _Unused>
1417:     using __hash_code_for_local_iter
1417:       = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey,
1417:         _Hash, _RangeHash, _Unused, false>>;
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Hash, typename _RangeHash, typename _Unused>
1417:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1417:     _Hash, _RangeHash, _Unused, false>
1417:     : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1417:      _Unused>
1417:     , _Node_iterator_base<_Value, false>
1417:     {
1417:     protected:
1417:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1417:           _Hash, _RangeHash, _Unused, false>;
1417:       using __node_iter_base = _Node_iterator_base<_Value, false>;
1417: 
1417:       _Local_iterator_base() : _M_bucket_count(-1) { }
1417: 
1417:       _Local_iterator_base(const __hash_code_base& __base,
1417:       _Hash_node<_Value, false>* __p,
1417:       std::size_t __bkt, std::size_t __bkt_count)
1417:       : __node_iter_base(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1417:       { _M_init(__base); }
1417: 
1417:       ~_Local_iterator_base()
1417:       {
1417:  if (_M_bucket_count != size_t(-1))
1417:    _M_destroy();
1417:       }
1417: 
1417:       _Local_iterator_base(const _Local_iterator_base& __iter)
1417:       : __node_iter_base(__iter._M_cur), _M_bucket(__iter._M_bucket)
1417:       , _M_bucket_count(__iter._M_bucket_count)
1417:       {
1417:  if (_M_bucket_count != size_t(-1))
1417:    _M_init(*__iter._M_h());
1417:       }
1417: 
1417:       _Local_iterator_base&
1417:       operator=(const _Local_iterator_base& __iter)
1417:       {
1417:  if (_M_bucket_count != -1)
1417:    _M_destroy();
1417:  this->_M_cur = __iter._M_cur;
1417:  _M_bucket = __iter._M_bucket;
1417:  _M_bucket_count = __i  less<typename iterator_traits<_InputIterator>::value_type>,
1412:     typename _Allocator =
1412:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     set(_InputIterator, _InputIterator,
1412:  _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> set<typename iterator_traits<_InputIterator>::value_type,
1412:    _Compare, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Compare = less<_Key>,
1412:     typename _Allocator = allocator<_Key>,
1412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     set(initializer_list<_Key>,
1412:  _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> set<_Key, _Compare, _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     set(_InputIterator, _InputIterator, _Allocator)
1412:     -> set<typename iterator_traits<_InputIterator>::value_type,
1412:     less<typename iterator_traits<_InputIterator>::value_type>,
1412:     _Allocator>;
1412: 
1412:   template<typename _Key, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     set(initializer_list<_Key>, _Allocator)
1412:     -> set<_Key, less<_Key>, _Allocator>;
1412: # 983 "/usr/include/c++/12/bits/stl_set.h" 3
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator==(const set<_Key, _Compare, _Alloc>& __x,
1412:         const set<_Key, _Compare, _Alloc>& __y)
1412:     { return __x._M_t == __y._M_t; }
1412: # 1021 "/usr/include/c++/12/bits/stl_set.h" 3
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<(const set<_Key, _Compare, _Alloc>& __x,
1412:        const set<_Key, _Compare, _Alloc>& __y)
1412:     { return __x._M_t < __y._M_t; }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator!=(const set<_Key, _Compare, _Alloc>& __x,
1412:         const set<_Key, _Compare, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator>(const set<_Key, _Compare, _Alloc>& __x,
1412:        const set<_Key, _Compare, _Alloc>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<=(const set<_Key, _Compare, _Alloc>& __x,
1412:         const set<_Key, _Compare, _Alloc>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator>=(const set<_Key, _Compare, _Alloc>& __x,
1412:         const set<_Key, _Compare, _Alloc>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline void
1412:     swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1412:     struct
1412:     _Rb_tree_merge_helper<std::set<_Val, _Cmp1, _Alloc>, _Cmp2>
1412:     {
1412:     private:
1412:       friend class std::set<_Val, _Cmp1, _Alloc>;
1412: 
1412:       static auto&
1412:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1412:       { return __set._M_t; }
1412: 
1412:       static auto&
1412:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1412:       { return __set._M_t; }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 62 "/usr/include/c++/12/set" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_multiset.h" 1 3
1412: # 64 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     class set;
1412: # 94 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:   template <typename _Key, typename _Compare = std::less<_Key>,
1412:      typename _Alloc = std::allocator<_Key> >
1412:     class multiset
1412:     {
1412: # 110 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1412:    "std::multiset must have a non-const, non-volatile value_type");
1412: 
1412:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1412:    "std::multiset must have the same value_type as its allocator");
1412: 
1412: 
1412: 
1412:     public:
1412: 
1412:       typedef _Key key_type;
1412:       typedef _Key value_type;
1412:       typedef _Compare key_compare;
1412:       typedef _Compare value_compare;
1412:       typedef _Alloc allocator_type;
1412: 
1412:     private:
1412: 
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_Key>::other _Key_alloc_type;
1412: 
1412:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1412:          key_compare, _Key_alloc_type> _Rep_type;
1412: 
1412:       _Rep_type _M_t;
1412: 
1412:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1412: 
1412:     public:
1412:       typedef typename _Alloc_traits::pointer pointer;
1412:       typedef typename _Alloc_traits::const_pointer const_pointer;
1412:       typedef typename _Alloc_traits::reference reference;
1412:       typedef typename _Alloc_traits::const_reference const_reference;
1412: 
1412: 
1412: 
1412:       typedef typename _Rep_type::const_iterator iterator;
1412:       typedef typename _Rep_type::const_iterator const_iterator;
1412:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1412:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1412:       typedef typename _Rep_type::size_type size_type;
1412:       typedef typename _Rep_type::difference_type difference_type;
1412: 
1412: 
1412:       using node_type = typename _Rep_type::node_type;
1412: # 164 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       multiset() = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       multiset(const _Compare& __comp,
1412:         const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1412: # 186 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       template<typename _InputIterator>
1412:  multiset(_InputIterator __first, _InputIterator __last)
1412:  : _M_t()
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: # 202 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       template<typename _InputIterator>
1412:  multiset(_InputIterator __first, _InputIterator __last,
1412:    const _Compare& __comp,
1412:    const allocator_type& __a = allocator_type())
1412:  : _M_t(__comp, _Key_alloc_type(__a))
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: # 218 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       multiset(const multiset&) = default;
1412: # 227 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       multiset(multiset&&) = default;
1412: # 239 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       multiset(initializer_list<value_type> __l,
1412:         const _Compare& __comp = _Compare(),
1412:         const allocator_type& __a = allocator_type())
1412:       : _M_t(__comp, _Key_alloc_type(__a))
1412:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       explicit
1412:       multiset(const allocator_type& __a)
1412:       : _M_t(_Key_alloc_type(__a)) { }
1412: 
1412: 
1412:       multiset(const multiset& __m,
1412:         const __type_identity_t<allocator_type>& __a)
1412:       : _M_t(__m._M_t, _Key_alloc_type(__a)) { }
1412: 
1412: 
1412:       multiset(multiset&& __m, ter._M_bucket_count;
1417:  if (_M_bucket_count != -1)
1417:    _M_init(*__iter._M_h());
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       _M_incr()
1417:       {
1417:  __node_iter_base::_M_incr();
1417:  if (this->_M_cur)
1417:    {
1417:      std::size_t __bkt = this->_M_h()->_M_bucket_index(*this->_M_cur,
1417:              _M_bucket_count);
1417:      if (__bkt != _M_bucket)
1417:        this->_M_cur = nullptr;
1417:    }
1417:       }
1417: 
1417:       std::size_t _M_bucket;
1417:       std::size_t _M_bucket_count;
1417: 
1417:       void
1417:       _M_init(const __hash_code_base& __base)
1417:       { ::new(this->_M_h()) __hash_code_base(__base); }
1417: 
1417:       void
1417:       _M_destroy() { this->_M_h()->~__hash_code_base(); }
1417: 
1417:     public:
1417:       std::size_t
1417:       _M_get_bucket() const { return _M_bucket; }
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     bool __constant_iterators, bool __cache>
1417:     struct _Local_iterator
1417:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1417:       _Hash, _RangeHash, _Unused, __cache>
1417:     {
1417:     private:
1417:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
1417:         _Hash, _RangeHash, _Unused, __cache>;
1417:       using __hash_code_base = typename __base_type::__hash_code_base;
1417: 
1417:     public:
1417:       using value_type = _Value;
1417:       using pointer = __conditional_t<__constant_iterators,
1417:           const value_type*, value_type*>;
1417:       using reference = __conditional_t<__constant_iterators,
1417:      const value_type&, value_type&>;
1417:       using difference_type = ptrdiff_t;
1417:       using iterator_category = forward_iterator_tag;
1417: 
1417:       _Local_iterator() = default;
1417: 
1417:       _Local_iterator(const __hash_code_base& __base,
1417:         _Hash_node<_Value, __cache>* __n,
1417:         std::size_t __bkt, std::size_t __bkt_count)
1417:       : __base_type(__base, __n, __bkt, __bkt_count)
1417:       { }
1417: 
1417:       reference
1417:       operator*() const
1417:       { return this->_M_cur->_M_v(); }
1417: 
1417:       pointer
1417:       operator->() const
1417:       { return this->_M_cur->_M_valptr(); }
1417: 
1417:       _Local_iterator&
1417:       operator++()
1417:       {
1417:  this->_M_incr();
1417:  return *this;
1417:       }
1417: 
1417:       _Local_iterator
1417:       operator++(int)
1417:       {
1417:  _Local_iterator __tmp(*this);
1417:  this->_M_incr();
1417:  return __tmp;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     bool __constant_iterators, bool __cache>
1417:     struct _Local_const_iterator
1417:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1417:       _Hash, _RangeHash, _Unused, __cache>
1417:     {
1417:     private:
1417:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
1417:         _Hash, _RangeHash, _Unused, __cache>;
1417:       using __hash_code_base = typename __base_type::__hash_code_base;
1417: 
1417:     public:
1417:       typedef _Value value_type;
1417:       typedef const value_type* pointer;
1417:       typedef const value_type& reference;
1417:       typedef std::ptrdiff_t difference_type;
1417:       typedef std::forward_iterator_tag iterator_category;
1417: 
1417:       _Local_const_iterator() = default;
1417: 
1417:       _Local_const_iterator(const __hash_code_base& __base,
1417:        _Hash_node<_Value, __cache>* __n,
1417:        std::size_t __bkt, std::size_t __bkt_count)
1417:       : __base_type(__base, __n, __bkt, __bkt_count)
1417:       { }
1417: 
1417:       _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey,
1417:         _Hash, _RangeHash, _Unused,
1417:         __constant_iterators,
1417:         __cache>& __x)
1417:       : __base_type(__x)
1417:       { }
1417: 
1417:       reference
1417:       operator*() const
1417:       { return this->_M_cur->_M_v(); }
1417: 
1417:       pointer
1417:       operator->() const
1417:       { return this->_M_cur->_M_valptr(); }
1417: 
1417:       _Local_const_iterator&
1417:       operator++()
1417:       {
1417:  this->_M_incr();
1417:  return *this;
1417:       }
1417: 
1417:       _Local_const_iterator
1417:       operator++(int)
1417:       {
1417:  _Local_const_iterator __tmp(*this);
1417:  this->_M_incr();
1417:  return __tmp;
1417:       }
1417:     };
1417: # 1628 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1417:   template<typename _Key, typename _Value, typename _ExtractKey,
1417:     typename _Equal, typename _Hash, typename _RangeHash,
1417:     typename _Unused, typename _Traits>
1417:     struct _Hashtable_base
1417:     : public _Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1417:         _Unused, _Traits::__hash_cached::value>,
1417:       private _Hashtable_ebo_helper<0, _Equal>
1417:     {
1417:     public:
1417:       typedef _Key key_type;
1417:       typedef _Value value_type;
1417:       typedef _Equal key_equal;
1417:       typedef std::size_t size_type;
1417:       typedef std::ptrdiff_t difference_type;
1417: 
1417:       using __traits_type = _Traits;
1417:       using __hash_cached = typename __traits_type::__hash_cached;
1417: 
1417:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1417:             _Hash, _RangeHash, _Unused,
1417:             __hash_cached::value>;
1417: 
1417:       using __hash_code = typename __hash_code_base::__hash_code;
1417: 
1417:     private:
1417:       using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>;
1417: 
1417:       static bool
1417:       _S_equals(__hash_code, const _Hash_node_code_cache<false>&)
1417:       { return true; }
1417: 
1417:       static bool
1417:       _S_node_equals(const _Hash_node_code_cache<false>&,
1417:        const _Hash_node_code_cache<false>&)
1417:       { return true; }
1417: 
1417:       static bool
1417:       _S_equals(__hash_code __c, const _Hash_node_code_cache<true>& __n)
1417:       { return __c == __n._M_hash_code; }
1417: 
1417:       static bool
1417:       _S_node_equals(const _Hash_node_code_cache<true>& __lhn,
1417:        const _Hash_node_code_cache<true>& __rhn)
1417:       { return __lhn._M_hash_code == __rhn._M_hash_code; }
1417: 
1417:     protected:
1417:       _Hashtable_base() = default;
1417: 
1417:       _Hashtable_base(const _Hash& __hash, const _Equal& __eq)
1417:       : __hash_code_base(__hash), _EqualEBO(__eq)
1417:       { }
1417: 
1417:       bool
1417:       _M_key_equals(const _Key& __k,
1417:       const _Hash_node_value<_Value,
1417:         __hash_cached::value>& __n) const
1417:       {
1417:  static_assert(__is_invocable<const _Equal&, const _Key&, const _Key&>{},
1417:    "key equality predicate must be invocable with two arguments of "
1417:    "key type");
1417:  return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1417:       }
1417: 
1417:       template<typename _Kt>
1417:  bool
1417:  _M_key_equals_tr(const _Kt& __k,
1417:     const _Hash_node_value<_Value,
1417:           __hash_cached::value>& __n) const
1417:  {
1417:    static_assert(
1417:      __is_invocable<const _Equal&, const _Kt&, const _Key&>{},
1417:      "key equality predicate must be invocable with two arguments of "
1417:      "key type");
1417:    return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1417:  }
1417: 
1417:       bool
1417:       _M_equals(const _Key& __k, __hash_code __c,
1417:   const _Hash_node_value<_Value, __hash_cached::value>& __n) const
1417:       { return _S_equals(__c, __n) && _M_key_equals(__k, __n); }
1417: 
1417:       template<typename _Kt>
1417:  bool
1417:  _M_equals_tr(const _Kt& __k, __hash_code __c,
1417:        const _Hash_node_value<_Value,
1417:          __hash_cached::value>& __n) const
1417:  { return _S_equals(__c, __n) && _M_key_equals_tr(__k, __n); }
1417: 
1417:       bool
1417:       _M_node_equals(
1417:  const _Hash_node_vconst __type_identity_t<allocator_type>& __a)
1412:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1412:         && _Alloc_traits::_S_always_equal())
1412:       : _M_t(std::move(__m._M_t), _Key_alloc_type(__a)) { }
1412: 
1412: 
1412:       multiset(initializer_list<value_type> __l, const allocator_type& __a)
1412:       : _M_t(_Key_alloc_type(__a))
1412:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412:  multiset(_InputIterator __first, _InputIterator __last,
1412:    const allocator_type& __a)
1412:  : _M_t(_Key_alloc_type(__a))
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~multiset() = default;
1412: # 294 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       multiset&
1412:       operator=(const multiset&) = default;
1412: 
1412: 
1412:       multiset&
1412:       operator=(multiset&&) = default;
1412: # 312 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       multiset&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  _M_t._M_assign_equal(__l.begin(), __l.end());
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       key_compare
1412:       key_comp() const
1412:       { return _M_t.key_comp(); }
1412: 
1412:       value_compare
1412:       value_comp() const
1412:       { return _M_t.key_comp(); }
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_t.get_allocator()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       begin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       end() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       rend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       cbegin() const noexcept
1412:       { return _M_t.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       cend() const noexcept
1412:       { return _M_t.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       crbegin() const noexcept
1412:       { return _M_t.rbegin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       reverse_iterator
1412:       crend() const noexcept
1412:       { return _M_t.rend(); }
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return _M_t.empty(); }
1412: 
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_t.size(); }
1412: 
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _M_t.max_size(); }
1412: # 437 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       void
1412:       swap(multiset& __x)
1412:       noexcept(__is_nothrow_swappable<_Compare>::value)
1412:       { _M_t.swap(__x._M_t); }
1412: # 456 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace(_Args&&... __args)
1412:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1412: # 482 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace_hint(const_iterator __pos, _Args&&... __args)
1412:  {
1412:    return _M_t._M_emplace_hint_equal(__pos,
1412:          std::forward<_Args>(__args)...);
1412:  }
1412: # 502 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       iterator
1412:       insert(const value_type& __x)
1412:       { return _M_t._M_insert_equal(__x); }
1412: 
1412: 
1412:       iterator
1412:       insert(value_type&& __x)
1412:       { return _M_t._M_insert_equal(std::move(__x)); }
1412: # 532 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       iterator
1412:       insert(const_iterator __position, const value_type& __x)
1412:       { return _M_t._M_insert_equal_(__position, __x); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __position, value_type&& __x)
1412:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1412: # 550 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  insert(_InputIterator __first, _InputIterator __last)
1412:  { _M_t._M_insert_range_equal(__first, __last); }
1412: # 563 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       void
1412:       insert(initializer_list<value_type> __l)
1412:       { this->insert(__l.begin(), __l.end()); }
1412: 
1412: 
1412: 
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1412:  return _M_t.extract(__pos);
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const key_type& __x)
1412:       { return _M_t.extract(__x); }
1412: 
1412: 
1412:       iterator
1412:       insert(node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, node_type&& __nh)
1412:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1412: 
1412:       template<typename, typename>
1412:  friend struct std::_Rb_tree_merge_helper;
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1412:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(set<_Key, _Compare1, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1412:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1412:  }
1412: 
1412:       template<typename _Compare1>
1412:  void
1412:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1412:  { merge(__source); }
1412: # 638 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(const_iterator __position)
1412:       { return _M_t.erase(__position); }
1412: # 669 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       size_type
1412:       erase(const key_type& __x)
1412:       { return _M_t.erase(__x); }
1412: # 690 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iterator
1412:       erase(const_iterator __first, const_iterator __last)
1412:       { return _M_t.erase(__first, __last); }
1412: # 718 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       void
1412:       clear() noexcept
1412:       { _M_t.clear(); }
1412: # 730 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       size_type
1412:       count(const key_type& __x) const
1412:       { return _M_t.count(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1412:  { return _M_t._M_count_tr(__x); }
1412: # 775 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       iterator
1412:       find(const key_type& __x)
1412:       { return _M_t.find(__x); }
1412: 
1412:       const_iterator
1412:       find(const key_type& __x) const
1412:       { return _M_t.find(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x)
1412:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1412:  { return iterator{_M_t._M_find_tr(__x)}; }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  find(const _Kt& __x) const
1412:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1412alue<_Value, __hash_cached::value>& __lhn,
1417:  const _Hash_node_value<_Value, __hash_cached::value>& __rhn) const
1417:       {
1417:  return _S_node_equals(__lhn, __rhn)
1417:    && _M_key_equals(_ExtractKey{}(__lhn._M_v()), __rhn);
1417:       }
1417: 
1417:       void
1417:       _M_swap(_Hashtable_base& __x)
1417:       {
1417:  __hash_code_base::_M_swap(__x);
1417:  std::swap(_EqualEBO::_M_get(), __x._EqualEBO::_M_get());
1417:       }
1417: 
1417:       const _Equal&
1417:       _M_eq() const { return _EqualEBO::_M_cget(); }
1417:     };
1417: # 1744 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits,
1417:     bool _Unique_keys = _Traits::__unique_keys::value>
1417:     struct _Equality;
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1417:     {
1417:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:          _Hash, _RangeHash, _Unused,
1417:          _RehashPolicy, _Traits>;
1417: 
1417:       bool
1417:       _M_equal(const __hashtable&) const;
1417:     };
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     bool
1417:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1417:     _M_equal(const __hashtable& __other) const
1417:     {
1417:       using __node_type = typename __hashtable::__node_type;
1417:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1417:       if (__this->size() != __other.size())
1417:  return false;
1417: 
1417:       for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx)
1417:  {
1417:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1417:    auto __prev_n = __other._M_buckets[__ybkt];
1417:    if (!__prev_n)
1417:      return false;
1417: 
1417:    for (__node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt);;
1417:         __n = __n->_M_next())
1417:      {
1417:        if (__n->_M_v() == *__itx)
1417:   break;
1417: 
1417:        if (!__n->_M_nxt
1417:     || __other._M_bucket_index(*__n->_M_next()) != __ybkt)
1417:   return false;
1417:      }
1417:  }
1417: 
1417:       return true;
1417:     }
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1417:     {
1417:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:          _Hash, _RangeHash, _Unused,
1417:          _RehashPolicy, _Traits>;
1417: 
1417:       bool
1417:       _M_equal(const __hashtable&) const;
1417:     };
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     bool
1417:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>::
1417:     _M_equal(const __hashtable& __other) const
1417:     {
1417:       using __node_type = typename __hashtable::__node_type;
1417:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1417:       if (__this->size() != __other.size())
1417:  return false;
1417: 
1417:       for (auto __itx = __this->begin(); __itx != __this->end();)
1417:  {
1417:    std::size_t __x_count = 1;
1417:    auto __itx_end = __itx;
1417:    for (++__itx_end; __itx_end != __this->end()
1417:    && __this->key_eq()(_ExtractKey{}(*__itx),
1417:          _ExtractKey{}(*__itx_end));
1417:         ++__itx_end)
1417:      ++__x_count;
1417: 
1417:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1417:    auto __y_prev_n = __other._M_buckets[__ybkt];
1417:    if (!__y_prev_n)
1417:      return false;
1417: 
1417:    __node_type* __y_n = static_cast<__node_type*>(__y_prev_n->_M_nxt);
1417:    for (;;)
1417:      {
1417:        if (__this->key_eq()(_ExtractKey{}(__y_n->_M_v()),
1417:        _ExtractKey{}(*__itx)))
1417:   break;
1417: 
1417:        auto __y_ref_n = __y_n;
1417:        for (__y_n = __y_n->_M_next(); __y_n; __y_n = __y_n->_M_next())
1417:   if (!__other._M_node_equals(*__y_ref_n, *__y_n))
1417:     break;
1417: 
1417:        if (!__y_n || __other._M_bucket_index(*__y_n) != __ybkt)
1417:   return false;
1417:      }
1417: 
1417:    typename __hashtable::const_iterator __ity(__y_n);
1417:    for (auto __ity_end = __ity; __ity_end != __other.end(); ++__ity_end)
1417:      if (--__x_count == 0)
1417:        break;
1417: 
1417:    if (__x_count != 0)
1417:      return false;
1417: 
1417:    if (!std::is_permutation(__itx, __itx_end, __ity))
1417:      return false;
1417: 
1417:    __itx = __itx_end;
1417:  }
1417:       return true;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _NodeAlloc>
1417:     struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc>
1417:     {
1417:     private:
1417:       using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>;
1417: 
1417:       template<typename>
1417:  struct __get_value_type;
1417:       template<typename _Val, bool _Cache_hash_code>
1417:  struct __get_value_type<_Hash_node<_Val, _Cache_hash_code>>
1417:  { using type = _Val; };
1417: 
1417:     public:
1417:       using __node_type = typename _NodeAlloc::value_type;
1417:       using __node_alloc_type = _NodeAlloc;
1417: 
1417:       using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>;
1417: 
1417:       using __value_alloc_traits = typename __node_alloc_traits::template
1417:  rebind_traits<typename __get_value_type<__node_type>::type>;
1417: 
1417:       using __node_ptr = __node_type*;
1417:       using __node_base = _Hash_node_base;
1417:       using __node_base_ptr = __node_base*;
1417:       using __buckets_alloc_type =
1417:  __alloc_rebind<__node_alloc_type, __node_base_ptr>;
1417:       using __buckets_alloc_traits = std::allocator_traits<__buckets_alloc_type>;
1417:       using __buckets_ptr = __node_base_ptr*;
1417: 
1417:       _Hashtable_alloc() = default;
1417:       _Hashtable_alloc(const _Hashtable_alloc&) = default;
1417:       _Hashtable_alloc(_Hashtable_alloc&&) = default;
1417: 
1417:       template<typename _Alloc>
1417:  _Hashtable_alloc(_Alloc&& __a)
1417:  : __ebo_node_alloc(std::forward<_Alloc>(__a))
1417:  { }
1417: 
1417:       __node_alloc_type&
1417:       _M_node_allocator()
1417:       { return __ebo_node_alloc::_M_get(); }
1417: 
1417:       const __node_alloc_type&
1417:       _M_node_allocator() const
1417:       { return __ebo_node_alloc::_M_cget(); }
1417: 
1417: 
1417:       template<typename... _Args>
1417:  __node_ptr
1417:  _M_allocate_node(_Args&&... __args);
1417: 
1417: 
1417:       void
1417:       _M_deallocate_node(__node_ptr __n);
1417: 
1417: 
1417:       void
1417:       _M_deallocate_node_ptr(__node_ptr __n);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_deallocate_nodes(__node_ptr __n);
1417: 
1417:       __buckets_ptr
1417:       _M_allocate_buckets(std::size_t __bkt_count);
1417: 
1417:       void
1417:       _M_deallocate_buckets(__buckets_ptr, std::size_t __bkt_count);
1417:     };
1417: 
1417: 
1417: 
1417:   templat:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1412: # 810 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       iterator
1412:       lower_bound(const key_type& __x)
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412:       const_iterator
1412:       lower_bound(const key_type& __x) const
1412:       { return _M_t.lower_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  lower_bound(const _Kt& __x) const
1412:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1412:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1412: # 840 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       iterator
1412:       upper_bound(const key_type& __x)
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412:       const_iterator
1412:       upper_bound(const key_type& __x) const
1412:       { return _M_t.upper_bound(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x)
1412:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  upper_bound(const _Kt& __x) const
1412:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1412:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1412: # 879 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:       std::pair<iterator, iterator>
1412:       equal_range(const key_type& __x)
1412:       { return _M_t.equal_range(__x); }
1412: 
1412:       std::pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __x) const
1412:       { return _M_t.equal_range(__x); }
1412: 
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x)
1412:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1412:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1412: 
1412:       template<typename _Kt>
1412:  auto
1412:  equal_range(const _Kt& __x) const
1412:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1412:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator==(const multiset<_K1, _C1, _A1>&,
1412:      const multiset<_K1, _C1, _A1>&);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _K1, typename _C1, typename _A1>
1412:  friend bool
1412:  operator< (const multiset<_K1, _C1, _A1>&,
1412:      const multiset<_K1, _C1, _A1>&);
1412: 
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator,
1412:     typename _Compare =
1412:       less<typename iterator_traits<_InputIterator>::value_type>,
1412:     typename _Allocator =
1412:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multiset(_InputIterator, _InputIterator,
1412:       _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1412:   _Compare, _Allocator>;
1412: 
1412:   template<typename _Key,
1412:     typename _Compare = less<_Key>,
1412:     typename _Allocator = allocator<_Key>,
1412:     typename = _RequireNotAllocator<_Compare>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multiset(initializer_list<_Key>,
1412:       _Compare = _Compare(), _Allocator = _Allocator())
1412:     -> multiset<_Key, _Compare, _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multiset(_InputIterator, _InputIterator, _Allocator)
1412:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1412:          less<typename iterator_traits<_InputIterator>::value_type>,
1412:          _Allocator>;
1412: 
1412:   template<typename _Key, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     multiset(initializer_list<_Key>, _Allocator)
1412:     -> multiset<_Key, less<_Key>, _Allocator>;
1412: # 970 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator==(const multiset<_Key, _Compare, _Alloc>& __x,
1412:         const multiset<_Key, _Compare, _Alloc>& __y)
1412:     { return __x._M_t == __y._M_t; }
1412: # 1008 "/usr/include/c++/12/bits/stl_multiset.h" 3
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<(const multiset<_Key, _Compare, _Alloc>& __x,
1412:        const multiset<_Key, _Compare, _Alloc>& __y)
1412:     { return __x._M_t < __y._M_t; }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
1412:         const multiset<_Key, _Compare, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator>(const multiset<_Key,_Compare,_Alloc>& __x,
1412:        const multiset<_Key,_Compare,_Alloc>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator<=(const multiset<_Key, _Compare, _Alloc>& __x,
1412:         const multiset<_Key, _Compare, _Alloc>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline bool
1412:     operator>=(const multiset<_Key, _Compare, _Alloc>& __x,
1412:         const multiset<_Key, _Compare, _Alloc>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Compare, typename _Alloc>
1412:     inline void
1412:     swap(multiset<_Key, _Compare, _Alloc>& __x,
1412:   multiset<_Key, _Compare, _Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1412:     struct
1412:     _Rb_tree_merge_helper<std::multiset<_Val, _Cmp1, _Alloc>,
1412:      _Cmp2>
1412:     {
1412:     private:
1412:       friend class std::multiset<_Val, _Cmp1, _Alloc>;
1412: 
1412:       static auto&
1412:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1412:       { return __set._M_t; }
1412: 
1412:       static auto&
1412:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1412:       { return __set._M_t; }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 63 "/usr/include/c++/12/set" 2 3
1412: # 71 "/usr/include/c++/12/set" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412:   namespace pmr
1412:   {
1412:     template<typename _Tp> class polymorphic_allocator;
1412:     template<typename _Key, typename _Cmp = std::less<_Key>>
1412:       using set = std::set<_Key, _Cmp, polymorphic_allocator<_Key>>;
1412:     template<typename _Key, typename _Cmp = std::less<_Key>>
1412:       using multiset = std::multiset<_Key, _Cmp, polymorphic_allocator<_Key>>;
1412:   }
1412: 
1412: }
1412: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h" 2
1412: 
1412: # 1 "/usr/include/c++/12/vector" 1 3
1412: # 58 "/usr/include/c++/12/vector" 3
1412:        
1412: # 59 "/usr/include/c++/12/vector" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/stl_vector.h" 1 3
1412: # 78 "/usr/include/c++/12/bits/stl_vector.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     struct _Vector_base
1412:     {
1412:       typedef typename __gnu_e<typename _NodeAlloc>
1417:     template<typename... _Args>
1417:       auto
1417:       _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args)
1417:       -> __node_ptr
1417:       {
1417:  auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1);
1417:  __node_ptr __n = std::__to_address(__nptr);
1417:  try
1417:    {
1417:      ::new ((void*)__n) __node_type;
1417:      __node_alloc_traits::construct(_M_node_allocator(),
1417:         __n->_M_valptr(),
1417:         std::forward<_Args>(__args)...);
1417:      return __n;
1417:    }
1417:  catch(...)
1417:    {
1417:      __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1);
1417:      throw;
1417:    }
1417:       }
1417: 
1417:   template<typename _NodeAlloc>
1417:     void
1417:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_ptr __n)
1417:     {
1417:       __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr());
1417:       _M_deallocate_node_ptr(__n);
1417:     }
1417: 
1417:   template<typename _NodeAlloc>
1417:     void
1417:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_ptr __n)
1417:     {
1417:       typedef typename __node_alloc_traits::pointer _Ptr;
1417:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n);
1417:       __n->~__node_type();
1417:       __node_alloc_traits::deallocate(_M_node_allocator(), __ptr, 1);
1417:     }
1417: 
1417:   template<typename _NodeAlloc>
1417:     void
1417:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_ptr __n)
1417:     {
1417:       while (__n)
1417:  {
1417:    __node_ptr __tmp = __n;
1417:    __n = __n->_M_next();
1417:    _M_deallocate_node(__tmp);
1417:  }
1417:     }
1417: 
1417:   template<typename _NodeAlloc>
1417:     auto
1417:     _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count)
1417:     -> __buckets_ptr
1417:     {
1417:       __buckets_alloc_type __alloc(_M_node_allocator());
1417: 
1417:       auto __ptr = __buckets_alloc_traits::allocate(__alloc, __bkt_count);
1417:       __buckets_ptr __p = std::__to_address(__ptr);
1417:       __builtin_memset(__p, 0, __bkt_count * sizeof(__node_base_ptr));
1417:       return __p;
1417:     }
1417: 
1417:   template<typename _NodeAlloc>
1417:     void
1417:     _Hashtable_alloc<_NodeAlloc>::
1417:     _M_deallocate_buckets(__buckets_ptr __bkts,
1417:      std::size_t __bkt_count)
1417:     {
1417:       typedef typename __buckets_alloc_traits::pointer _Ptr;
1417:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts);
1417:       __buckets_alloc_type __alloc(_M_node_allocator());
1417:       __buckets_alloc_traits::deallocate(__alloc, __ptr, __bkt_count);
1417:     }
1417: 
1417: 
1417: }
1417: 
1417: 
1417: }
1417: # 36 "/usr/include/c++/12/bits/hashtable.h" 2 3
1417: # 1 "/usr/include/c++/12/bits/enable_special_members.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/enable_special_members.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/enable_special_members.h" 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   struct _Enable_default_constructor_tag
1417:   {
1417:     explicit constexpr _Enable_default_constructor_tag() = default;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template<bool _Switch, typename _Tag = void>
1417:   struct _Enable_default_constructor
1417:   {
1417:     constexpr _Enable_default_constructor() noexcept = default;
1417:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1417:       noexcept = default;
1417:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1417:       noexcept = default;
1417:     _Enable_default_constructor&
1417:     operator=(_Enable_default_constructor const&) noexcept = default;
1417:     _Enable_default_constructor&
1417:     operator=(_Enable_default_constructor&&) noexcept = default;
1417: 
1417: 
1417:     constexpr explicit
1417:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template<bool _Switch, typename _Tag = void>
1417:   struct _Enable_destructor { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template<bool _Copy, bool _CopyAssignment,
1417:          bool _Move, bool _MoveAssignment,
1417:          typename _Tag = void>
1417:   struct _Enable_copy_move { };
1417: # 96 "/usr/include/c++/12/bits/enable_special_members.h" 3
1417: template<bool _Default, bool _Destructor,
1417:          bool _Copy, bool _CopyAssignment,
1417:          bool _Move, bool _MoveAssignment,
1417:          typename _Tag = void>
1417:   struct _Enable_special_members
1417:   : private _Enable_default_constructor<_Default, _Tag>,
1417:     private _Enable_destructor<_Destructor, _Tag>,
1417:     private _Enable_copy_move<_Copy, _CopyAssignment,
1417:                               _Move, _MoveAssignment,
1417:                               _Tag>
1417:   { };
1417: 
1417: 
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_default_constructor<false, _Tag>
1417:   {
1417:     constexpr _Enable_default_constructor() noexcept = delete;
1417:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1417:       noexcept = default;
1417:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1417:       noexcept = default;
1417:     _Enable_default_constructor&
1417:     operator=(_Enable_default_constructor const&) noexcept = default;
1417:     _Enable_default_constructor&
1417:     operator=(_Enable_default_constructor&&) noexcept = default;
1417: 
1417: 
1417:     constexpr explicit
1417:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_destructor<false, _Tag>
1417:   { ~_Enable_destructor() noexcept = delete; };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, true, true, true, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = default;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<true, false, true, true, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = default;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, false, true, true, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = default;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<true, true, false, true, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = default;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, true, false, true, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_Tp>::other _Tp_alloc_type;
1412:       typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
1412:         pointer;
1412: 
1412:       struct _Vector_impl_data
1412:       {
1412:  pointer _M_start;
1412:  pointer _M_finish;
1412:  pointer _M_end_of_storage;
1412: 
1412: 
1412:  _Vector_impl_data() noexcept
1412:  : _M_start(), _M_finish(), _M_end_of_storage()
1412:  { }
1412: 
1412: 
1412: 
1412:  _Vector_impl_data(_Vector_impl_data&& __x) noexcept
1412:  : _M_start(__x._M_start), _M_finish(__x._M_finish),
1412:    _M_end_of_storage(__x._M_end_of_storage)
1412:  { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); }
1412: 
1412: 
1412: 
1412:  void
1412:  _M_copy_data(_Vector_impl_data const& __x) noexcept
1412:  {
1412:    _M_start = __x._M_start;
1412:    _M_finish = __x._M_finish;
1412:    _M_end_of_storage = __x._M_end_of_storage;
1412:  }
1412: 
1412: 
1412:  void
1412:  _M_swap_data(_Vector_impl_data& __x) noexcept
1412:  {
1412: 
1412: 
1412:    _Vector_impl_data __tmp;
1412:    __tmp._M_copy_data(*this);
1412:    _M_copy_data(__x);
1412:    __x._M_copy_data(__tmp);
1412:  }
1412:       };
1412: 
1412:       struct _Vector_impl
1412:  : public _Tp_alloc_type, public _Vector_impl_data
1412:       {
1412: 
1412:  _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1412: 
1412:  : _Tp_alloc_type()
1412:  { }
1412: 
1412: 
1412:  _Vector_impl(_Tp_alloc_type const& __a) noexcept
1412:  : _Tp_alloc_type(__a)
1412:  { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  _Vector_impl(_Vector_impl&& __x) noexcept
1412:  : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x))
1412:  { }
1412: 
1412: 
1412:  _Vector_impl(_Tp_alloc_type&& __a) noexcept
1412:  : _Tp_alloc_type(std::move(__a))
1412:  { }
1412: 
1412: 
1412:  _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept
1412:  : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv))
1412:  { }
1412: # 291 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       };
1412: 
1412:     public:
1412:       typedef _Alloc allocator_type;
1412: 
1412:      
1412:       _Tp_alloc_type&
1412:       _M_get_Tp_allocator() noexcept
1412:       { return this->_M_impl; }
1412: 
1412:      
1412:       const _Tp_alloc_type&
1412:       _M_get_Tp_allocator() const noexcept
1412:       { return this->_M_impl; }
1412: 
1412:      
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_get_Tp_allocator()); }
1412: 
1412: 
1412:       _Vector_base() = default;
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       _Vector_base(const allocator_type& __a) noexcept
1412:       : _M_impl(__a) { }
1412: 
1412: 
1412: 
1412:      
1412:       _Vector_base(size_t __n)
1412:       : _M_impl()
1412:       { _M_create_storage(__n); }
1412: 
1412: 
1412:      
1412:       _Vector_base(size_t __n, const allocator_type& __a)
1412:       : _M_impl(__a)
1412:       { _M_create_storage(__n); }
1412: 
1412: 
1412:       _Vector_base(_Vector_base&&) = default;
1412: 
1412: 
1412: 
1412:      
1412:       _Vector_base(_Tp_alloc_type&& __a) noexcept
1412:       : _M_impl(std::move(__a)) { }
1412: 
1412:      
1412:       _Vector_base(_Vector_base&& __x, const allocator_type& __a)
1412:       : _M_impl(__a)
1412:       {
1412:  if (__x.get_allocator() == __a)
1412:    this->_M_impl._M_swap_data(__x._M_impl);
1412:  else
1412:    {
1412:      size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start;
1412:      _M_create_storage(__n);
1412:    }
1412:       }
1412: 
1412: 
1412:      
1412:       _Vector_base(const allocator_type& __a, _Vector_base&& __x)
1412:       : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl))
1412:       { }
1412: 
1412: 
1412:      
1412:       ~_Vector_base() noexcept
1412:       {
1412:  _M_deallocate(_M_impl._M_start,
1412:         _M_impl._M_end_of_storage - _M_impl._M_start);
1412:       }
1412: 
1412:     public:
1412:       _Vector_impl _M_impl;
1412: 
1412:      
1412:       pointer
1412:       _M_allocate(size_t __n)
1412:       {
1412:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1412:  return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_deallocate(pointer __p, size_t __n)
1412:       {
1412:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1412:  if (__p)
1412:    _Tr::deallocate(_M_impl, __p, __n);
1412:       }
1412: 
1412:     protected:
1412:      
1412:       void
1412:       _M_create_storage(size_t __n)
1412:       {
1412:  this->_M_impl._M_start = this->_M_allocate(__n);
1412:  this->_M_impl._M_finish = this->_M_impl._M_start;
1412:  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1412:       }
1412:     };
1412: # 422 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1412:     class vector : protected _Vector_base<_Tp, _Alloc>
1412:     {
1412: # 435 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1412:    "std::vector must have a non-const, non-volatile value_type");
1412: 
1412:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1412:    "std::vector must have the same value_type as its allocator");
1412: 
1412: 
1412: 
1412:       typedef _Vector_base<_Tp, _Alloc> _Base;
1412:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1412:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
1412: 
1412:     public:
1412:       typedef _Tp value_type;
1412:       typedef typename _Base::pointer pointer;
1412:       typedef typename _Alloc_traits::const_pointer const_pointer;
1412:       typedef typename _Alloc_traits::reference reference;
1412:       typedef typename _Alloc_traits::const_reference const_reference;
1412:       typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
1412:       typedef __gnu_cxx::__normal_iterator<const_pointer, vector>
1412:       const_iterator;
1412:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1412:       typedef std::reverse_iterator<iterator> reverse_iterator;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef _Alloc allocator_type;
1412: 
1412:     private:
1412: 
1412:       static constexpr bool
1412:       _S_nothrow_relocate(true_type)
1412:       {
1412:  return noexcept(std::__relocate_a(std::declval<pointer>(),
1412:        std::declval<pointer>(),
1412:        std::declval<pointer>(),
1412:        std::declval<_Tp_alloc_type&>()));
1412:       }
1412: 
1412:       static constexpr bool
1412:       _S_nothrow_relocate(false_type)
1412:       { return false; }
1412: 
1412:       static constexpr bool
1412:       _S_use_relocate()
1412:       {
1412: 
1412: 
1412: 
1412:  return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{});
1412:       }
1412: 
1412:       static pointer
1412:       _S_do_relocate(pointer __first, pointer __last, pointer __result,
1412:        _Tp_alloc_type& __alloc, true_type) noexcept
1412:       {
1412:  return std::__relocate_a(__first, __last, __result, __alloc);
1412:       }
1412: 
1412:       static pointer
1412:       _S_do_relocate(pointer, pointer, pointer __result,
1412:        _Tp_alloc_type&, false_type) noexcept
1412:       { return __result; }
1412: 
1412:       static pointer
1412:       _S_relocate(pointer __first, pointer __last, pointer __result,
1412:     _Tp_alloc_type& __alloc) noexcept
1412:       {
1412: 
1412: 
1412:  return std::__relocate_a(__first, __last, __result, __alloc);
1412: 
1412: 
1412: 
1412: 
1412:       }
1412: 
1412: 
1412:     protected:
1412:       using _Base::_M_allocate;
1412:       using _Base::_M_deallocate;
1412:       using _Base::_M_impl;
1412:       using _Base::_M_get_Tp_allocator;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       vector() = default;
1412: # 535 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       explicit
1412:      
1412:       vector(const al
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = default;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<true, false, false, true, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = default;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, false, false, true, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = default;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<true, true, true, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, true, true, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<true, false, true, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, false, true, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<true, true, false, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, true, false, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = default;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<true, false, false, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: template<typename _Tag>
1417:   struct _Enable_copy_move<false, false, false, false, _Tag>
1417:   {
1417:     constexpr _Enable_copy_move() noexcept = default;
1417:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1417:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move const&) noexcept = delete;
1417:     _Enable_copy_move&
1417:     operator=(_Enable_copy_move&&) noexcept = delete;
1417:   };
1417: 
1417: 
1417: 
1417: }
1417: # 37 "/usr/include/c++/12/bits/hashtable.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Hash>
1417:     using __cache_default
1417:       = __not_<__and_<
1417:          __is_fast_hash<_Hash>,
1417: 
1417:          __is_nothrow_invocable<const _Hash&, const _Tp&>>>;
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Equal, typename _Hash, typename _Allocator>
1417:     using _Hashtable_enable_default_ctor
1417:       = _Enable_default_constructor<__and_<is_default_constructible<_Equal>,
1417:            is_default_constructible<_Hash>,
1417:            is_default_constructible<_Allocator>>{},
1417:         __detail::_Hash_node_base>;
1417: # 178 "/usr/include/c++/12/bits/hashtable.h" 3
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     class _Hashtable
1417:     : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal,
1417:            _Hash, _RangeHash, _Unused, _Traits>,
1417:       public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused,
1417:      _RehashPolicy, _Traits>,
1417:       public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:           _Hash, _RangeHash, _Unused,
1417:           _RehashPolicy, _Traits>,
1417:       public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused,
1417:         _RehashPolicy, _Traits>,
1417:       public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:      _Hash, _RangeHash, _Unused,
1417:      _RehashPolicy, _Traits>,
1417:       private __detail::_Hashtable_alloc<
1417:  __alloc_rebind<_Alloc,
1417:          __detail::_Hash_node<_Value,
1417:          _Traits::__hash_cached::value>>>,
1417:       private _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>
1417:     {
1417:       static_assert(is_same<typename remove_cv<_Value>::type, _Value>::value,
1417:    "unordered container must have a non-const, non-volatile value_type");
1417: 
1417:       static_assert(is_same<typename _Alloc::value_type, _Value>{},
1417:    "unordered container must have the same value_type as its allocator");
1417: 
1417: 
1417:       using __traits_type = _Tralocator_type& __a) noexcept
1412:       : _Base(__a) { }
1412: # 549 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       explicit
1412:      
1412:       vector(size_type __n, const allocator_type& __a = allocator_type())
1412:       : _Base(_S_check_init_len(__n, __a), __a)
1412:       { _M_default_initialize(__n); }
1412: # 563 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       vector(size_type __n, const value_type& __value,
1412:       const allocator_type& __a = allocator_type())
1412:       : _Base(_S_check_init_len(__n, __a), __a)
1412:       { _M_fill_initialize(__n, __value); }
1412: # 595 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       vector(const vector& __x)
1412:       : _Base(__x.size(),
1412:  _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()))
1412:       {
1412:  this->_M_impl._M_finish =
1412:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1412:           this->_M_impl._M_start,
1412:           _M_get_Tp_allocator());
1412:       }
1412: # 615 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       vector(vector&&) noexcept = default;
1412: 
1412: 
1412:      
1412:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1412:       : _Base(__x.size(), __a)
1412:       {
1412:  this->_M_impl._M_finish =
1412:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1412:           this->_M_impl._M_start,
1412:           _M_get_Tp_allocator());
1412:       }
1412: 
1412:     private:
1412:      
1412:       vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
1412:       : _Base(__m, std::move(__rv))
1412:       { }
1412: 
1412:      
1412:       vector(vector&& __rv, const allocator_type& __m, false_type)
1412:       : _Base(__m)
1412:       {
1412:  if (__rv.get_allocator() == __m)
1412:    this->_M_impl._M_swap_data(__rv._M_impl);
1412:  else if (!__rv.empty())
1412:    {
1412:      this->_M_create_storage(__rv.size());
1412:      this->_M_impl._M_finish =
1412:        std::__uninitialized_move_a(__rv.begin(), __rv.end(),
1412:        this->_M_impl._M_start,
1412:        _M_get_Tp_allocator());
1412:      __rv.clear();
1412:    }
1412:       }
1412: 
1412:     public:
1412: 
1412:      
1412:       vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
1412:       noexcept( noexcept(
1412:  vector(std::declval<vector&&>(), std::declval<const allocator_type&>(),
1412:         std::declval<typename _Alloc_traits::is_always_equal>())) )
1412:       : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{})
1412:       { }
1412: # 672 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       vector(initializer_list<value_type> __l,
1412:       const allocator_type& __a = allocator_type())
1412:       : _Base(__a)
1412:       {
1412:  _M_range_initialize(__l.begin(), __l.end(),
1412:        random_access_iterator_tag());
1412:       }
1412: # 699 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:  vector(_InputIterator __first, _InputIterator __last,
1412:         const allocator_type& __a = allocator_type())
1412:  : _Base(__a)
1412:  {
1412:    _M_range_initialize(__first, __last,
1412:          std::__iterator_category(__first));
1412:  }
1412: # 727 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       ~vector() noexcept
1412:       {
1412:  std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:         _M_get_Tp_allocator());
1412:  ;
1412:       }
1412: # 744 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       vector&
1412:       operator=(const vector& __x);
1412: # 759 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       vector&
1412:       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
1412:       {
1412:  constexpr bool __move_storage =
1412:    _Alloc_traits::_S_propagate_on_move_assign()
1412:    || _Alloc_traits::_S_always_equal();
1412:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1412:  return *this;
1412:       }
1412: # 781 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       vector&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  this->_M_assign_aux(__l.begin(), __l.end(),
1412:        random_access_iterator_tag());
1412:  return *this;
1412:       }
1412: # 801 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       assign(size_type __n, const value_type& __val)
1412:       { _M_fill_assign(__n, __val); }
1412: # 819 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:  void
1412:  assign(_InputIterator __first, _InputIterator __last)
1412:  { _M_assign_dispatch(__first, __last, __false_type()); }
1412: # 848 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       assign(initializer_list<value_type> __l)
1412:       {
1412:  this->_M_assign_aux(__l.begin(), __l.end(),
1412:        random_access_iterator_tag());
1412:       }
1412: 
1412: 
1412: 
1412:       using _Base::get_allocator;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       begin() noexcept
1412:       { return iterator(this->_M_impl._M_start); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return const_iterator(this->_M_impl._M_start); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       end() noexcept
1412:       { return iterator(this->_M_impl._M_finish); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       end() const noexcept
1412:       { return const_iterator(this->_M_impl._M_finish); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return reverse_iterator(end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return reverse_iterator(begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return const_iterator(this->_M_impl._M_start); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return const_iterator(this->_M_impl._M_finish); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       size() const noexcept
1412:       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _S_max_size(_M_get_Tp_allocator()); }
1412: # 1006 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       resize(size_type __new_size)
1412:       {
1412:  if (__new_size > size())
1412:    _M_default_append(__new_size - size());
1412:  else if (__new_size < size())
1412:    _M_erase_its;
1417:       using __hash_cached = typename __traits_type::__hash_cached;
1417:       using __constant_iterators = typename __traits_type::__constant_iterators;
1417:       using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>;
1417:       using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>;
1417: 
1417:       using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>;
1417: 
1417:       using __node_value_type =
1417:  __detail::_Hash_node_value<_Value, __hash_cached::value>;
1417:       using __node_ptr = typename __hashtable_alloc::__node_ptr;
1417:       using __value_alloc_traits =
1417:  typename __hashtable_alloc::__value_alloc_traits;
1417:       using __node_alloc_traits =
1417:  typename __hashtable_alloc::__node_alloc_traits;
1417:       using __node_base = typename __hashtable_alloc::__node_base;
1417:       using __node_base_ptr = typename __hashtable_alloc::__node_base_ptr;
1417:       using __buckets_ptr = typename __hashtable_alloc::__buckets_ptr;
1417: 
1417:       using __insert_base = __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey,
1417:            _Equal, _Hash,
1417:            _RangeHash, _Unused,
1417:            _RehashPolicy, _Traits>;
1417:       using __enable_default_ctor
1417:  = _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>;
1417: 
1417:     public:
1417:       typedef _Key key_type;
1417:       typedef _Value value_type;
1417:       typedef _Alloc allocator_type;
1417:       typedef _Equal key_equal;
1417: 
1417: 
1417: 
1417:       typedef typename __value_alloc_traits::pointer pointer;
1417:       typedef typename __value_alloc_traits::const_pointer const_pointer;
1417:       typedef value_type& reference;
1417:       typedef const value_type& const_reference;
1417: 
1417:       using iterator = typename __insert_base::iterator;
1417: 
1417:       using const_iterator = typename __insert_base::const_iterator;
1417: 
1417:       using local_iterator = __detail::_Local_iterator<key_type, _Value,
1417:    _ExtractKey, _Hash, _RangeHash, _Unused,
1417:           __constant_iterators::value,
1417:           __hash_cached::value>;
1417: 
1417:       using const_local_iterator = __detail::_Local_const_iterator<
1417:    key_type, _Value,
1417:    _ExtractKey, _Hash, _RangeHash, _Unused,
1417:    __constant_iterators::value, __hash_cached::value>;
1417: 
1417:     private:
1417:       using __rehash_type = _RehashPolicy;
1417:       using __rehash_state = typename __rehash_type::_State;
1417: 
1417:       using __unique_keys = typename __traits_type::__unique_keys;
1417: 
1417:       using __hashtable_base = __detail::
1417:  _Hashtable_base<_Key, _Value, _ExtractKey,
1417:    _Equal, _Hash, _RangeHash, _Unused, _Traits>;
1417: 
1417:       using __hash_code_base = typename __hashtable_base::__hash_code_base;
1417:       using __hash_code = typename __hashtable_base::__hash_code;
1417:       using __ireturn_type = typename __insert_base::__ireturn_type;
1417: 
1417:       using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey,
1417:           _Equal, _Hash, _RangeHash, _Unused,
1417:           _RehashPolicy, _Traits>;
1417: 
1417:       using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc,
1417:          _ExtractKey, _Equal,
1417:          _Hash, _RangeHash, _Unused,
1417:          _RehashPolicy, _Traits>;
1417: 
1417:       using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey,
1417:          _Equal, _Hash, _RangeHash, _Unused,
1417:          _RehashPolicy, _Traits>;
1417: 
1417:       using __reuse_or_alloc_node_gen_t =
1417:  __detail::_ReuseOrAllocNode<__node_alloc_type>;
1417:       using __alloc_node_gen_t =
1417:  __detail::_AllocNode<__node_alloc_type>;
1417:       using __node_builder_t =
1417:  __detail::_NodeBuilder<_ExtractKey>;
1417: 
1417: 
1417:       struct _Scoped_node
1417:       {
1417: 
1417:  _Scoped_node(__node_ptr __n, __hashtable_alloc* __h)
1417:  : _M_h(__h), _M_node(__n) { }
1417: 
1417: 
1417:  template<typename... _Args>
1417:    _Scoped_node(__hashtable_alloc* __h, _Args&&... __args)
1417:    : _M_h(__h),
1417:      _M_node(__h->_M_allocate_node(std::forward<_Args>(__args)...))
1417:    { }
1417: 
1417: 
1417:  ~_Scoped_node() { if (_M_node) _M_h->_M_deallocate_node(_M_node); };
1417: 
1417:  _Scoped_node(const _Scoped_node&) = delete;
1417:  _Scoped_node& operator=(const _Scoped_node&) = delete;
1417: 
1417:  __hashtable_alloc* _M_h;
1417:  __node_ptr _M_node;
1417:       };
1417: 
1417:       template<typename _Ht>
1417:  static constexpr
1417:  __conditional_t<std::is_lvalue_reference<_Ht>::value,
1417:    const value_type&, value_type&&>
1417:  __fwd_value_for(value_type& __val) noexcept
1417:  { return std::move(__val); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       struct __hash_code_base_access : __hash_code_base
1417:       { using __hash_code_base::_M_bucket_index; };
1417: 
1417: 
1417:       static_assert(is_nothrow_default_constructible<_RangeHash>::value,
1417:       "Functor used to map hash code to bucket index"
1417:       " must be nothrow default constructible");
1417:       static_assert(noexcept(
1417:  std::declval<const _RangeHash&>()((std::size_t)0, (std::size_t)0)),
1417:       "Functor used to map hash code to bucket index must be"
1417:       " noexcept");
1417: 
1417: 
1417:       static_assert(is_nothrow_default_constructible<_ExtractKey>::value,
1417:       "_ExtractKey must be nothrow default constructible");
1417:       static_assert(noexcept(
1417:  std::declval<const _ExtractKey&>()(std::declval<_Value>())),
1417:       "_ExtractKey functor must be noexcept invocable");
1417: 
1417:       template<typename _Keya, typename _Valuea, typename _Alloca,
1417:         typename _ExtractKeya, typename _Equala,
1417:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1417:         typename _RehashPolicya, typename _Traitsa,
1417:         bool _Unique_keysa>
1417:  friend struct __detail::_Map_base;
1417: 
1417:       template<typename _Keya, typename _Valuea, typename _Alloca,
1417:         typename _ExtractKeya, typename _Equala,
1417:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1417:         typename _RehashPolicya, typename _Traitsa>
1417:  friend struct __detail::_Insert_base;
1417: 
1417:       template<typename _Keya, typename _Valuea, typename _Alloca,
1417:         typename _ExtractKeya, typename _Equala,
1417:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1417:         typename _RehashPolicya, typename _Traitsa,
1417:         bool _Constant_iteratorsa>
1417:  friend struct __detail::_Insert;
1417: 
1417:       template<typename _Keya, typename _Valuea, typename _Alloca,
1417:         typename _ExtractKeya, typename _Equala,
1417:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1417:         typename _RehashPolicya, typename _Traitsa,
1417:         bool _Unique_keysa>
1417:  friend struct __detail::_Equality;
1417: 
1417:     public:
1417:       using size_type = typename __hashtable_base::size_type;
1417:       using difference_type = typename __hashtable_base::difference_type;
1417: 
1417: 
1417:       using node_type = _Node_handle<_Key, _Value, __node_alloc_type>;
1417:       using insert_return_type = _Node_insert_return<iterator, node_type>;
1417: 
1417: 
1417:     private:
1417:       __buckets_ptr _M_buckets = &_M_single_bucket;
1417:       size_type _M_bucket_count = 1;
1417:       __node_base _M_before_begin;
1417:       size_type _M_element_count = 0;
1417:       _RehashPolicy _M_rehash_policy;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       __node_base_ptr _M_single_bucket = nullptr;
1417: 
1417:       void
1417:       _M_update_bbegin()
1417:       {
1417:  if (_M_begin())
1417:    _M_buckets[_M_bucket_index(*_M_begin())] = &_M_before_begin;
1417:       }
1417: 
1417:       void
1417:       _M_update_bbegin(__node_ptr __n)
1417:       {
1417:  _M_before_begin._M_nxt = __n;
1417:  _M_update_bbegin();
1417:       }
1417: 
1417:       bool
1417:       _M_uses_single_bucket(__buckets_ptr __bkts) const
1417:       { return __builtin_expect(__bkts == &at_end(this->_M_impl._M_start + __new_size);
1412:       }
1412: # 1027 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       resize(size_type __new_size, const value_type& __x)
1412:       {
1412:  if (__new_size > size())
1412:    _M_fill_insert(end(), __new_size - size(), __x);
1412:  else if (__new_size < size())
1412:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
1412:       }
1412: # 1061 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       shrink_to_fit()
1412:       { _M_shrink_to_fit(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       capacity() const noexcept
1412:       { return size_type(this->_M_impl._M_end_of_storage
1412:     - this->_M_impl._M_start); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       bool
1412:       empty() const noexcept
1412:       { return begin() == end(); }
1412: # 1103 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       reserve(size_type __n);
1412: # 1119 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       [[__nodiscard__]]
1412:       reference
1412:       operator[](size_type __n) noexcept
1412:       {
1412:  ;
1412:  return *(this->_M_impl._M_start + __n);
1412:       }
1412: # 1138 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       operator[](size_type __n) const noexcept
1412:       {
1412:  ;
1412:  return *(this->_M_impl._M_start + __n);
1412:       }
1412: 
1412:     protected:
1412: 
1412:      
1412:       void
1412:       _M_range_check(size_type __n) const
1412:       {
1412:  if (__n >= this->size())
1412:    __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1412: 
1412:                             ,
1412:        __n, this->size());
1412:       }
1412: 
1412:     public:
1412: # 1171 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       reference
1412:       at(size_type __n)
1412:       {
1412:  _M_range_check(__n);
1412:  return (*this)[__n];
1412:       }
1412: # 1190 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       const_reference
1412:       at(size_type __n) const
1412:       {
1412:  _M_range_check(__n);
1412:  return (*this)[__n];
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       front() noexcept
1412:       {
1412:  ;
1412:  return *begin();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       front() const noexcept
1412:       {
1412:  ;
1412:  return *begin();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       back() noexcept
1412:       {
1412:  ;
1412:  return *(end() - 1);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       back() const noexcept
1412:       {
1412:  ;
1412:  return *(end() - 1);
1412:       }
1412: # 1253 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       [[__nodiscard__]]
1412:       _Tp*
1412:       data() noexcept
1412:       { return _M_data_ptr(this->_M_impl._M_start); }
1412: 
1412:       [[__nodiscard__]]
1412:       const _Tp*
1412:       data() const noexcept
1412:       { return _M_data_ptr(this->_M_impl._M_start); }
1412: # 1274 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       push_back(const value_type& __x)
1412:       {
1412:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1412:    {
1412:      ;
1412:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1412:          __x);
1412:      ++this->_M_impl._M_finish;
1412:      ;
1412:    }
1412:  else
1412:    _M_realloc_insert(end(), __x);
1412:       }
1412: 
1412: 
1412:      
1412:       void
1412:       push_back(value_type&& __x)
1412:       { emplace_back(std::move(__x)); }
1412: 
1412:       template<typename... _Args>
1412: 
1412: 
1412:  reference
1412: 
1412: 
1412: 
1412:  emplace_back(_Args&&... __args);
1412: # 1315 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       pop_back() noexcept
1412:       {
1412:  ;
1412:  --this->_M_impl._M_finish;
1412:  _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1412:  ;
1412:       }
1412: # 1338 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       template<typename... _Args>
1412: 
1412:  iterator
1412:  emplace(const_iterator __position, _Args&&... __args)
1412:  { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); }
1412: # 1355 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       iterator
1412:       insert(const_iterator __position, const value_type& __x);
1412: # 1386 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       iterator
1412:       insert(const_iterator __position, value_type&& __x)
1412:       { return _M_insert_rval(__position, std::move(__x)); }
1412: # 1404 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       iterator
1412:       insert(const_iterator __position, initializer_list<value_type> __l)
1412:       {
1412:  auto __offset = __position - cbegin();
1412:  _M_range_insert(begin() + __offset, __l.begin(), __l.end(),
1412:    std::random_access_iterator_tag());
1412:  return begin() + __offset;
1412:       }
1412: # 1430 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       iterator
1412:       insert(const_iterator __position, size_type __n, const value_type& __x)
1412:       {
1412:  difference_type __offset = __position - cbegin();
1412:  _M_fill_insert(begin() + __offset, __n, __x);
1412:  return begin() + __offset;
1412:       }
1412: # 1473 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:  iterator
1412:  insert(const_iterator __position, _InputIterator __first,
1412:         _InputIterator __last)
1412:  {
1412:    difference_type __offset = __position - cbegin();
1412:    _M_insert_dispatch(begin() + __offset,
1412:         __first, __last, __false_type());
1412:    return begin() + __offset;
1412:  }
1412: # 1526 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       iterator
1412: 
1412:       erase(const_iterator __position)
1412:       { return _M_erase(begin() + (__position - cbegin())); }
1412: # 1554 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       iterator
1412: 
1412:       erase(const_iterator __first, const_iterator __last)
1412:       {
1412:  const auto __beg = begin();
1412:  const auto __cbeg = cbegin();
1412:  return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
1412:       }
1412: # 1579 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:      
1412:       void
1412:       swap(vector& __x) noexcept
1412:       {
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1412:                                                           ;
1412: 
1412:  this->_M_impl._M_swap_data(__x._M_impl);
1412:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1412:       __x._M_get_Tp_allocator());
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       clear() noexcept
1412:       { _M_erase_at_end(this->_M_impl._M_start); }
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412: 
1412:  pointer
1412:  _M_allocate_and_copy(size_type __n,
1412:         _ForwardIterator __first, _ForwardIterator __last)
1412:  {
1412:    pointer __result = this->_M_allocate(__n);
1412:    try
1412:      {
1412:        std::__uninitialized_copy_a(__first, __last, __result,
1412:        _M_get_Tp_allocator());
1412:        return __result;
1412:      }
1412:    catch(...)
1412:      {
1412:        _M_deallocate(__result, __n);
1412:        throw;
1412:     _M_single_bucket, false); }
1417: 
1417:       bool
1417:       _M_uses_single_bucket() const
1417:       { return _M_uses_single_bucket(_M_buckets); }
1417: 
1417:       static constexpr size_t
1417:       __small_size_threshold() noexcept
1417:       {
1417:  return
1417:    __detail::_Hashtable_hash_traits<_Hash>::__small_size_threshold();
1417:       }
1417: 
1417:       __hashtable_alloc&
1417:       _M_base_alloc() { return *this; }
1417: 
1417:       __buckets_ptr
1417:       _M_allocate_buckets(size_type __bkt_count)
1417:       {
1417:  if (__builtin_expect(__bkt_count == 1, false))
1417:    {
1417:      _M_single_bucket = nullptr;
1417:      return &_M_single_bucket;
1417:    }
1417: 
1417:  return __hashtable_alloc::_M_allocate_buckets(__bkt_count);
1417:       }
1417: 
1417:       void
1417:       _M_deallocate_buckets(__buckets_ptr __bkts, size_type __bkt_count)
1417:       {
1417:  if (_M_uses_single_bucket(__bkts))
1417:    return;
1417: 
1417:  __hashtable_alloc::_M_deallocate_buckets(__bkts, __bkt_count);
1417:       }
1417: 
1417:       void
1417:       _M_deallocate_buckets()
1417:       { _M_deallocate_buckets(_M_buckets, _M_bucket_count); }
1417: 
1417: 
1417: 
1417:       __node_ptr
1417:       _M_bucket_begin(size_type __bkt) const;
1417: 
1417:       __node_ptr
1417:       _M_begin() const
1417:       { return static_cast<__node_ptr>(_M_before_begin._M_nxt); }
1417: 
1417: 
1417: 
1417:       template<typename _Ht>
1417:  void
1417:  _M_assign_elements(_Ht&&);
1417: 
1417:       template<typename _Ht, typename _NodeGenerator>
1417:  void
1417:  _M_assign(_Ht&&, const _NodeGenerator&);
1417: 
1417:       void
1417:       _M_move_assign(_Hashtable&&, true_type);
1417: 
1417:       void
1417:       _M_move_assign(_Hashtable&&, false_type);
1417: 
1417:       void
1417:       _M_reset() noexcept;
1417: 
1417:       _Hashtable(const _Hash& __h, const _Equal& __eq,
1417:    const allocator_type& __a)
1417:       : __hashtable_base(__h, __eq),
1417:  __hashtable_alloc(__node_alloc_type(__a)),
1417:  __enable_default_ctor(_Enable_default_constructor_tag{})
1417:       { }
1417: 
1417:       template<bool _No_realloc = true>
1417:  static constexpr bool
1417:  _S_nothrow_move()
1417:  {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    if constexpr (_No_realloc)
1417:      if constexpr (is_nothrow_copy_constructible<_Hash>())
1417:        return is_nothrow_copy_constructible<_Equal>();
1417:    return false;
1417: 
1417:  }
1417: 
1417:       _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1417:    true_type )
1417:  noexcept(_S_nothrow_move());
1417: 
1417:       _Hashtable(_Hashtable&&, __node_alloc_type&&,
1417:    false_type );
1417: 
1417:       template<typename _InputIterator>
1417:  _Hashtable(_InputIterator __first, _InputIterator __last,
1417:      size_type __bkt_count_hint,
1417:      const _Hash&, const _Equal&, const allocator_type&,
1417:      true_type __uks);
1417: 
1417:       template<typename _InputIterator>
1417:  _Hashtable(_InputIterator __first, _InputIterator __last,
1417:      size_type __bkt_count_hint,
1417:      const _Hash&, const _Equal&, const allocator_type&,
1417:      false_type __uks);
1417: 
1417:     public:
1417: 
1417:       _Hashtable() = default;
1417: 
1417:       _Hashtable(const _Hashtable&);
1417: 
1417:       _Hashtable(const _Hashtable&, const allocator_type&);
1417: 
1417:       explicit
1417:       _Hashtable(size_type __bkt_count_hint,
1417:    const _Hash& __hf = _Hash(),
1417:    const key_equal& __eql = key_equal(),
1417:    const allocator_type& __a = allocator_type());
1417: 
1417: 
1417:       _Hashtable(_Hashtable&& __ht)
1417:  noexcept(_S_nothrow_move())
1417:       : _Hashtable(std::move(__ht), std::move(__ht._M_node_allocator()),
1417:      true_type{})
1417:       { }
1417: 
1417:       _Hashtable(_Hashtable&& __ht, const allocator_type& __a)
1417:  noexcept(_S_nothrow_move<__node_alloc_traits::_S_always_equal()>())
1417:       : _Hashtable(std::move(__ht), __node_alloc_type(__a),
1417:      typename __node_alloc_traits::is_always_equal{})
1417:       { }
1417: 
1417:       explicit
1417:       _Hashtable(const allocator_type& __a)
1417:       : __hashtable_alloc(__node_alloc_type(__a)),
1417:  __enable_default_ctor(_Enable_default_constructor_tag{})
1417:       { }
1417: 
1417:       template<typename _InputIterator>
1417:  _Hashtable(_InputIterator __f, _InputIterator __l,
1417:      size_type __bkt_count_hint = 0,
1417:      const _Hash& __hf = _Hash(),
1417:      const key_equal& __eql = key_equal(),
1417:      const allocator_type& __a = allocator_type())
1417:  : _Hashtable(__f, __l, __bkt_count_hint, __hf, __eql, __a,
1417:        __unique_keys{})
1417:  { }
1417: 
1417:       _Hashtable(initializer_list<value_type> __l,
1417:    size_type __bkt_count_hint = 0,
1417:    const _Hash& __hf = _Hash(),
1417:    const key_equal& __eql = key_equal(),
1417:    const allocator_type& __a = allocator_type())
1417:       : _Hashtable(__l.begin(), __l.end(), __bkt_count_hint,
1417:      __hf, __eql, __a, __unique_keys{})
1417:       { }
1417: 
1417:       _Hashtable&
1417:       operator=(const _Hashtable& __ht);
1417: 
1417:       _Hashtable&
1417:       operator=(_Hashtable&& __ht)
1417:       noexcept(__node_alloc_traits::_S_nothrow_move()
1417:         && is_nothrow_move_assignable<_Hash>::value
1417:         && is_nothrow_move_assignable<_Equal>::value)
1417:       {
1417:  constexpr bool __move_storage =
1417:    __node_alloc_traits::_S_propagate_on_move_assign()
1417:    || __node_alloc_traits::_S_always_equal();
1417:  _M_move_assign(std::move(__ht), __bool_constant<__move_storage>());
1417:  return *this;
1417:       }
1417: 
1417:       _Hashtable&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1417:  _M_before_begin._M_nxt = nullptr;
1417:  clear();
1417: 
1417: 
1417:  auto __l_bkt_count = _M_rehash_policy._M_bkt_for_elements(__l.size());
1417: 
1417: 
1417:  if (_M_bucket_count < __l_bkt_count)
1417:    rehash(__l_bkt_count);
1417: 
1417:  this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys{});
1417:  return *this;
1417:       }
1417: 
1417:       ~_Hashtable() noexcept;
1417: 
1417:       void
1417:       swap(_Hashtable&)
1417:       noexcept(__and_<__is_nothrow_swappable<_Hash>,
1417:         __is_nothrow_swappable<_Equal>>::value);
1417: 
1417: 
1417:       iterator
1417:       begin() noexcept
1417:       { return iterator(_M_begin()); }
1417: 
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return const_iterator(_M_begin()); }
1417: 
1417:       iterator
1417:       end() noexcept
1417:       { return iterator(nullptr); }
1417: 
1417:       const_iterator
1417:       end() const noexcept
1417:       { return const_iterator(nullptr); }
1417: 
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return const_iterator(_M_begin()); }
1417: 
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return const_iterator(nullptr); }
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_element_count; }
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return size() == 0; }
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(this->_M_node_allocator()); }
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return __node_alloc_traits::max_size(this->_M_node_allocator()); }
1417: 
1417: 
1417:       key_equal
1417:       key_eq() const
1417:       { return this->_M_eq(); }
1417: 
1417: 
1417: 
1417: 
1417:       size_type
1417:       bucket_count() const noexcept
1417:       { return _M_bucket_count; }
1417: 
1417:       size_type
1417:       max_bucket_count() const noexcept
1417:       { return max_size(); }
1417: 
1417:       size_type
1417:       bucket_size(size_type __bkt) const
1417:       { return std::distance(begin(__bkt), end(__bkt)); }
1417: 
1417:       size_type
1417:       bucket(const key_type& __k) const
1417:  }
1412:  }
1412: # 1659 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1412:        std::input_iterator_tag)
1412:  {
1412:    try {
1412:      for (; __first != __last; ++__first)
1412: 
1412:        emplace_back(*__first);
1412: 
1412: 
1412: 
1412:    } catch(...) {
1412:      clear();
1412:      throw;
1412:    }
1412:  }
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412: 
1412:  void
1412:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1412:        std::forward_iterator_tag)
1412:  {
1412:    const size_type __n = std::distance(__first, __last);
1412:    this->_M_impl._M_start
1412:      = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
1412:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1412:    this->_M_impl._M_finish =
1412:      std::__uninitialized_copy_a(__first, __last,
1412:      this->_M_impl._M_start,
1412:      _M_get_Tp_allocator());
1412:  }
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_fill_initialize(size_type __n, const value_type& __value)
1412:       {
1412:  this->_M_impl._M_finish =
1412:    std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
1412:      _M_get_Tp_allocator());
1412:       }
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_default_initialize(size_type __n)
1412:       {
1412:  this->_M_impl._M_finish =
1412:    std::__uninitialized_default_n_a(this->_M_impl._M_start, __n,
1412:         _M_get_Tp_allocator());
1412:       }
1412: # 1725 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       template<typename _Integer>
1412: 
1412:  void
1412:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1412:  { _M_fill_assign(__n, __val); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1412:       __false_type)
1412:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1412:         std::input_iterator_tag);
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412: 
1412:  void
1412:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1412:         std::forward_iterator_tag);
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_fill_assign(size_type __n, const value_type& __val);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Integer>
1412: 
1412:  void
1412:  _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
1412:       __true_type)
1412:  { _M_fill_insert(__pos, __n, __val); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_insert_dispatch(iterator __pos, _InputIterator __first,
1412:       _InputIterator __last, __false_type)
1412:  {
1412:    _M_range_insert(__pos, __first, __last,
1412:      std::__iterator_category(__first));
1412:  }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_range_insert(iterator __pos, _InputIterator __first,
1412:    _InputIterator __last, std::input_iterator_tag);
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412: 
1412:  void
1412:  _M_range_insert(iterator __pos, _ForwardIterator __first,
1412:    _ForwardIterator __last, std::forward_iterator_tag);
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_default_append(size_type __n);
1412: 
1412:      
1412:       bool
1412:       _M_shrink_to_fit();
1412: # 1824 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:       struct _Temporary_value
1412:       {
1412:  template<typename... _Args>
1412:    explicit
1412:    _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec)
1412:    {
1412:      _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(),
1412:          std::forward<_Args>(__args)...);
1412:    }
1412: 
1412: 
1412:  ~_Temporary_value()
1412:  { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); }
1412: 
1412:  value_type&
1412:  _M_val() noexcept { return _M_storage._M_val; }
1412: 
1412:       private:
1412:  _Tp*
1412:  _M_ptr() noexcept { return std::__addressof(_M_storage._M_val); }
1412: 
1412:  union _Storage
1412:  {
1412:    constexpr _Storage() : _M_byte() { }
1412:    ~_Storage() { }
1412:    _Storage& operator=(const _Storage&) = delete;
1412:    unsigned char _M_byte;
1412:    _Tp _M_val;
1412:  };
1412: 
1412:  vector* _M_this;
1412:  _Storage _M_storage;
1412:       };
1412: 
1412: 
1412: 
1412:       template<typename _Arg>
1412: 
1412:  void
1412:  _M_insert_aux(iterator __position, _Arg&& __arg);
1412: 
1412:       template<typename... _Args>
1412: 
1412:  void
1412:  _M_realloc_insert(iterator __position, _Args&&... __args);
1412: 
1412: 
1412:      
1412:       iterator
1412:       _M_insert_rval(const_iterator __position, value_type&& __v);
1412: 
1412: 
1412:       template<typename... _Args>
1412: 
1412:  iterator
1412:  _M_emplace_aux(const_iterator __position, _Args&&... __args);
1412: 
1412: 
1412:      
1412:       iterator
1412:       _M_emplace_aux(const_iterator __position, value_type&& __v)
1412:       { return _M_insert_rval(__position, std::move(__v)); }
1412: 
1412: 
1412: 
1412:      
1412:       size_type
1412:       _M_check_len(size_type __n, const char* __s) const
1412:       {
1412:  if (max_size() - size() < __n)
1412:    __throw_length_error((__s));
1412: 
1412:  const size_type __len = size() + (std::max)(size(), __n);
1412:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1412:       }
1412: 
1412: 
1412:       static size_type
1412:       _S_check_init_len(size_type __n, const allocator_type& __a)
1412:       {
1412:  if (__n > _S_max_size(_Tp_alloc_type(__a)))
1412:    __throw_length_error(
1412:        ("cannot create std::vector larger than max_size()"));
1412:  return __n;
1412:       }
1412: 
1412:       static size_type
1412:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1412:       {
1412: 
1412: 
1412: 
1412:  const size_t __diffmax
1412:    = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1412:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1412:  return (std::min)(__diffmax, __allocmax);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_erase_at_end(pointer __pos) noexcept
1412:       {
1412:  if (size_type __n = this->_M_impl._M_finish - __pos)
1412:    {
1412:      std::_Destroy(__pos, this->_M_impl._M_finish,
1412:      _M_get_Tp_allocator());
1412:      this->_M_impl._M_finish = __pos;
1412:      ;
1412:    }
1412:       }
1412: 
1412:      
1412:       iterator
1412:       _M_erase(iterator __position);
1412: 
1412:      
1412:       iterator
1412:       _M_erase(iterator __first, iterator __last);
1412: 
1412: 
1412:     private:
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_move_assign(vector&& __x, true_type) noexcept
1412:       {
1412:  vector __tmp(get_allocator());
1412:  this->_M_impl._M_swap_data(__x._M_impl);
1412:  __tmp._M_impl._M_swap_data(__x._M_impl);
1412:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1412:       }
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       _M_move_assign(vector&& __x, false_type)
1412:       {
1412:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1412:    _M_move_assign(std::move(__x), true_type());
1412:  else
1412:    {
1412: 
1412: 
1412:      this->_M_assign_aux(std::make_move_iterator(__x.begin()),
1412:            std::make_move_iterator(__x.end()),
1412:     std::random_access_iterator_tag());
1412:      __x.clear();
1412:    }
1412:       }
1412: 
1412: 
1412:       template<typename _Up>
1412: 
1412:  _Up*
1412:  _M_data_ptr(_Up* __ptr) const noexcept
1412:  { return __ptr; }      { return _M_bucket_index(this->_M_hash_code(__k)); }
1417: 
1417:       local_iterator
1417:       begin(size_type __bkt)
1417:       {
1417:  return local_iterator(*this, _M_bucket_begin(__bkt),
1417:          __bkt, _M_bucket_count);
1417:       }
1417: 
1417:       local_iterator
1417:       end(size_type __bkt)
1417:       { return local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1417: 
1417:       const_local_iterator
1417:       begin(size_type __bkt) const
1417:       {
1417:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1417:         __bkt, _M_bucket_count);
1417:       }
1417: 
1417:       const_local_iterator
1417:       end(size_type __bkt) const
1417:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1417: 
1417: 
1417:       const_local_iterator
1417:       cbegin(size_type __bkt) const
1417:       {
1417:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1417:         __bkt, _M_bucket_count);
1417:       }
1417: 
1417:       const_local_iterator
1417:       cend(size_type __bkt) const
1417:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1417: 
1417:       float
1417:       load_factor() const noexcept
1417:       {
1417:  return static_cast<float>(size()) / static_cast<float>(bucket_count());
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const _RehashPolicy&
1417:       __rehash_policy() const
1417:       { return _M_rehash_policy; }
1417: 
1417:       void
1417:       __rehash_policy(const _RehashPolicy& __pol)
1417:       { _M_rehash_policy = __pol; }
1417: 
1417: 
1417:       iterator
1417:       find(const key_type& __k);
1417: 
1417:       const_iterator
1417:       find(const key_type& __k) const;
1417: 
1417:       size_type
1417:       count(const key_type& __k) const;
1417: 
1417:       std::pair<iterator, iterator>
1417:       equal_range(const key_type& __k);
1417: 
1417:       std::pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __k) const;
1417: # 790 "/usr/include/c++/12/bits/hashtable.h" 3
1417:     private:
1417: 
1417:       size_type
1417:       _M_bucket_index(const __node_value_type& __n) const noexcept
1417:       { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); }
1417: 
1417:       size_type
1417:       _M_bucket_index(__hash_code __c) const
1417:       { return __hash_code_base::_M_bucket_index(__c, _M_bucket_count); }
1417: 
1417:       __node_base_ptr
1417:       _M_find_before_node(const key_type&);
1417: 
1417: 
1417: 
1417:       __node_base_ptr
1417:       _M_find_before_node(size_type, const key_type&, __hash_code) const;
1417: 
1417:       template<typename _Kt>
1417:  __node_base_ptr
1417:  _M_find_before_node_tr(size_type, const _Kt&, __hash_code) const;
1417: 
1417:       __node_ptr
1417:       _M_find_node(size_type __bkt, const key_type& __key,
1417:      __hash_code __c) const
1417:       {
1417:  __node_base_ptr __before_n = _M_find_before_node(__bkt, __key, __c);
1417:  if (__before_n)
1417:    return static_cast<__node_ptr>(__before_n->_M_nxt);
1417:  return nullptr;
1417:       }
1417: 
1417:       template<typename _Kt>
1417:  __node_ptr
1417:  _M_find_node_tr(size_type __bkt, const _Kt& __key,
1417:    __hash_code __c) const
1417:  {
1417:    auto __before_n = _M_find_before_node_tr(__bkt, __key, __c);
1417:    if (__before_n)
1417:      return static_cast<__node_ptr>(__before_n->_M_nxt);
1417:    return nullptr;
1417:  }
1417: 
1417: 
1417:       void
1417:       _M_insert_bucket_begin(size_type, __node_ptr);
1417: 
1417: 
1417:       void
1417:       _M_remove_bucket_begin(size_type __bkt, __node_ptr __next_n,
1417:         size_type __next_bkt);
1417: 
1417: 
1417:       __node_base_ptr
1417:       _M_get_previous_node(size_type __bkt, __node_ptr __n);
1417: 
1417:       pair<const_iterator, __hash_code>
1417:       _M_compute_hash_code(const_iterator __hint, const key_type& __k) const;
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       _M_insert_unique_node(size_type __bkt, __hash_code,
1417:        __node_ptr __n, size_type __n_elt = 1);
1417: 
1417: 
1417: 
1417:       iterator
1417:       _M_insert_multi_node(__node_ptr __hint,
1417:       __hash_code __code, __node_ptr __n);
1417: 
1417:       template<typename... _Args>
1417:  std::pair<iterator, bool>
1417:  _M_emplace(true_type __uks, _Args&&... __args);
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  _M_emplace(false_type __uks, _Args&&... __args)
1417:  { return _M_emplace(cend(), __uks, std::forward<_Args>(__args)...); }
1417: 
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  _M_emplace(const_iterator, true_type __uks, _Args&&... __args)
1417:  { return _M_emplace(__uks, std::forward<_Args>(__args)...).first; }
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  _M_emplace(const_iterator, false_type __uks, _Args&&... __args);
1417: 
1417:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1417:  std::pair<iterator, bool>
1417:  _M_insert_unique(_Kt&&, _Arg&&, const _NodeGenerator&);
1417: 
1417:       template<typename _Kt>
1417:  static __conditional_t<
1417:    __and_<__is_nothrow_invocable<_Hash&, const key_type&>,
1417:    __not_<__is_nothrow_invocable<_Hash&, _Kt>>>::value,
1417:    key_type, _Kt&&>
1417:  _S_forward_key(_Kt&& __k)
1417:  { return std::forward<_Kt>(__k); }
1417: 
1417:       static const key_type&
1417:       _S_forward_key(const key_type& __k)
1417:       { return __k; }
1417: 
1417:       static key_type&&
1417:       _S_forward_key(key_type&& __k)
1417:       { return std::move(__k); }
1417: 
1417:       template<typename _Arg, typename _NodeGenerator>
1417:  std::pair<iterator, bool>
1417:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1417:     true_type )
1417:  {
1417:    return _M_insert_unique(
1417:      _S_forward_key(_ExtractKey{}(std::forward<_Arg>(__arg))),
1417:      std::forward<_Arg>(__arg), __node_gen);
1417:  }
1417: 
1417:       template<typename _Arg, typename _NodeGenerator>
1417:  iterator
1417:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1417:     false_type __uks)
1417:  {
1417:    return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen,
1417:       __uks);
1417:  }
1417: 
1417: 
1417:       template<typename _Arg, typename _NodeGenerator>
1417:  iterator
1417:  _M_insert(const_iterator, _Arg&& __arg,
1417:     const _NodeGenerator& __node_gen, true_type __uks)
1417:  {
1417:    return
1417:      _M_insert(std::forward<_Arg>(__arg), __node_gen, __uks).first;
1417:  }
1417: 
1417: 
1417:       template<typename _Arg, typename _NodeGenerator>
1417:  iterator
1417:  _M_insert(const_iterator, _Arg&&,
1417:     const _NodeGenerator&, false_type __uks);
1417: 
1417:       size_type
1417:       _M_erase(true_type __uks, const key_type&);
1417: 
1417:       size_type
1417:       _M_erase(false_type __uks, const key_type&);
1417: 
1417:       iterator
1417:       _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n);
1417: 
1417:     public:
1417: 
1417:       template<typename... _Args>
1417:  __ireturn_type
1417:  emplace(_Args&&... __args)
1417:  { return _M_emplace(__unique_keys{}, std::forward<_Args>(__args)...); }
1417: 
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace_hint(const_iterator __hint, _Args&&... __args)
1417:  {
1417:    return _M_emplace(__hint, __unique_keys{},
1417:        std::forward<_Args>(__args)...);
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       erase(const_iterator);
1417: 
1417: 
1417:       iterator
1417:       erase(iterator __it)
1417:       { return erase(const_iterator(__it)); }
1417: 
1417:       size_type
1417:       erase(const key_type& __k)
1417:       { return _M_erase(__unique_keys{}, __k); }
1417: 
1417:       iterator
1417:       erase(const_iterator, const_iterator);
1417: 
1417:       void
1417:       clear() noexcept;
1417: 
1417: 
1417: 
1417:       void rehash(size_type __bkt_count);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       insert_return_type
1417:       _M_reinsert_node(node_
1412: 
1412: 
1412:       template<typename _Ptr>
1412: 
1412:  typename std::pointer_traits<_Ptr>::element_type*
1412:  _M_data_ptr(_Ptr __ptr) const
1412:  { return empty() ? nullptr : std::__to_address(__ptr); }
1412: # 2010 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:     };
1412: 
1412: 
1412:   template<typename _InputIterator, typename _ValT
1412:       = typename iterator_traits<_InputIterator>::value_type,
1412:     typename _Allocator = allocator<_ValT>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     vector(_InputIterator, _InputIterator, _Allocator = _Allocator())
1412:       -> vector<_ValT, _Allocator>;
1412: # 2032 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     inline bool
1412:     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1412:     { return (__x.size() == __y.size()
1412:        && std::equal(__x.begin(), __x.end(), __y.begin())); }
1412: # 2072 "/usr/include/c++/12/bits/stl_vector.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     inline bool
1412:     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1412:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1412:        __y.begin(), __y.end()); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     inline bool
1412:     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     inline bool
1412:     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     inline bool
1412:     operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     inline bool
1412:     operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     inline void
1412:     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: 
1412:   namespace __detail::__variant
1412:   {
1412:     template<typename> struct _Never_valueless_alt;
1412: 
1412: 
1412: 
1412:     template<typename _Tp, typename _Alloc>
1412:       struct _Never_valueless_alt<std::vector<_Tp, _Alloc>>
1412:       : std::is_nothrow_move_assignable<std::vector<_Tp, _Alloc>>
1412:       { };
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: # 65 "/usr/include/c++/12/vector" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_bvector.h" 1 3
1412: # 64 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   typedef unsigned long _Bit_type;
1412:   enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
1412: 
1412:   __attribute__((__nonnull__))
1412:  
1412:   void
1412:   __fill_bvector_n(_Bit_type*, size_t, bool) noexcept;
1412: 
1412: 
1412: 
1412:   struct _Bit_reference
1412:   {
1412:     _Bit_type * _M_p;
1412:     _Bit_type _M_mask;
1412: 
1412:    
1412:     _Bit_reference(_Bit_type * __x, _Bit_type __y)
1412:     : _M_p(__x), _M_mask(__y) { }
1412: 
1412:    
1412:     _Bit_reference() noexcept : _M_p(0), _M_mask(0) { }
1412: 
1412: 
1412:     _Bit_reference(const _Bit_reference&) = default;
1412: 
1412: 
1412:     [[__nodiscard__]]
1412:     operator bool() const noexcept
1412:     { return !!(*_M_p & _M_mask); }
1412: 
1412:    
1412:     _Bit_reference&
1412:     operator=(bool __x) noexcept
1412:     {
1412:       if (__x)
1412:  *_M_p |= _M_mask;
1412:       else
1412:  *_M_p &= ~_M_mask;
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     _Bit_reference&
1412:     operator=(const _Bit_reference& __x) noexcept
1412:     { return *this = bool(__x); }
1412: 
1412:     [[__nodiscard__]]
1412:     bool
1412:     operator==(const _Bit_reference& __x) const
1412:     { return bool(*this) == bool(__x); }
1412: 
1412:     [[__nodiscard__]]
1412:     bool
1412:     operator<(const _Bit_reference& __x) const
1412:     { return !bool(*this) && bool(__x); }
1412: 
1412:    
1412:     void
1412:     flip() noexcept
1412:     { *_M_p ^= _M_mask; }
1412: 
1412: 
1412:    
1412:     friend void
1412:     swap(_Bit_reference __x, _Bit_reference __y) noexcept
1412:     {
1412:       bool __tmp = __x;
1412:       __x = __y;
1412:       __y = __tmp;
1412:     }
1412: 
1412:    
1412:     friend void
1412:     swap(_Bit_reference __x, bool& __y) noexcept
1412:     {
1412:       bool __tmp = __x;
1412:       __x = __y;
1412:       __y = __tmp;
1412:     }
1412: 
1412:    
1412:     friend void
1412:     swap(bool& __x, _Bit_reference __y) noexcept
1412:     {
1412:       bool __tmp = __x;
1412:       __x = __y;
1412:       __y = __tmp;
1412:     }
1412: 
1412:   };
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:   struct _Bit_iterator_base
1412:   : public std::iterator<std::random_access_iterator_tag, bool>
1412:   {
1412:     _Bit_type * _M_p;
1412:     unsigned int _M_offset;
1412: 
1412:    
1412:     _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
1412:     : _M_p(__x), _M_offset(__y) { }
1412: 
1412:    
1412:     void
1412:     _M_bump_up()
1412:     {
1412:       if (_M_offset++ == int(_S_word_bit) - 1)
1412:  {
1412:    _M_offset = 0;
1412:    ++_M_p;
1412:  }
1412:     }
1412: 
1412:    
1412:     void
1412:     _M_bump_down()
1412:     {
1412:       if (_M_offset-- == 0)
1412:  {
1412:    _M_offset = int(_S_word_bit) - 1;
1412:    --_M_p;
1412:  }
1412:     }
1412: 
1412:    
1412:     void
1412:     _M_incr(ptrdiff_t __i)
1412:     {
1412:       difference_type __n = __i + _M_offset;
1412:       _M_p += __n / int(_S_word_bit);
1412:       __n = __n % int(_S_word_bit);
1412:       if (__n < 0)
1412:  {
1412:    __n += int(_S_word_bit);
1412:    --_M_p;
1412:  }
1412:       _M_offset = static_cast<unsigned int>(__n);
1412:     }
1412: 
1412:     [[__nodiscard__]]
1412:     friend bool
1412:     operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1412:     { return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; }
1412: # 225 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:     [[__nodiscard__]]
1412:     friend bool
1412:     operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1412:     {
1412:       return __x._M_p < __y._M_p
1412:      || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset);
1412:     }
1412: 
1412:     [[__nodiscard__]]
1412:     friend bool
1412:     operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1412:     { return !(__x == __y); }
1412: 
1412:     [[__nodiscard__]]
1412:     friend bool
1412:     operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1412:     { return __y < __x; }
1412: 
1412:     [[__nodiscard__]]
1412:     friend bool
1412:     operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1412:     { return !(__y < __x); }
1412: 
1412:     [[__nodiscard__]]
1412:     friend bool
1412:     operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412:     friend ptrdiff_t
1412:     operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1412:     {
1412:       return (int(_S_word_bit) * (__x._M_p - __y._M_p)
1412:        + __x._M_offset - __y._M_offset);
1412:     }
1412:   };
1412: #pragma GCC diagnostic pop
1412: 
1412:   struct _Bit_iterator : public _Bit_iterator_base
1412:   {
1412:     typedef _Bit_reference reference;
1412: 
1412: 
1412: 
1412:     typedef _Bit_reference* pointer;
1412: 
1412:     typedef _Bit_iterator iterator;
1412: 
1412:    
1412:     _Bit_iterator() : _Bit_iterator_base(0, 0) { }
1412: 
1412:    
1412:    type&& __nh)
1417:       {
1417:  insert_return_type __ret;
1417:  if (__nh.empty())
1417:    __ret.position = end();
1417:  else
1417:    {
1417:      do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1417: 
1417:      const key_type& __k = __nh._M_key();
1417:      __hash_code __code = this->_M_hash_code(__k);
1417:      size_type __bkt = _M_bucket_index(__code);
1417:      if (__node_ptr __n = _M_find_node(__bkt, __k, __code))
1417:        {
1417:   __ret.node = std::move(__nh);
1417:   __ret.position = iterator(__n);
1417:   __ret.inserted = false;
1417:        }
1417:      else
1417:        {
1417:   __ret.position
1417:     = _M_insert_unique_node(__bkt, __code, __nh._M_ptr);
1417:   __nh._M_ptr = nullptr;
1417:   __ret.inserted = true;
1417:        }
1417:    }
1417:  return __ret;
1417:       }
1417: 
1417: 
1417:       iterator
1417:       _M_reinsert_node_multi(const_iterator __hint, node_type&& __nh)
1417:       {
1417:  if (__nh.empty())
1417:    return end();
1417: 
1417:  do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1417: 
1417:  const key_type& __k = __nh._M_key();
1417:  auto __code = this->_M_hash_code(__k);
1417:  auto __ret
1417:    = _M_insert_multi_node(__hint._M_cur, __code, __nh._M_ptr);
1417:  __nh._M_ptr = nullptr;
1417:  return __ret;
1417:       }
1417: 
1417:     private:
1417:       node_type
1417:       _M_extract_node(size_t __bkt, __node_base_ptr __prev_n)
1417:       {
1417:  __node_ptr __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1417:  if (__prev_n == _M_buckets[__bkt])
1417:    _M_remove_bucket_begin(__bkt, __n->_M_next(),
1417:       __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1417:  else if (__n->_M_nxt)
1417:    {
1417:      size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1417:      if (__next_bkt != __bkt)
1417:        _M_buckets[__next_bkt] = __prev_n;
1417:    }
1417: 
1417:  __prev_n->_M_nxt = __n->_M_nxt;
1417:  __n->_M_nxt = nullptr;
1417:  --_M_element_count;
1417:  return { __n, this->_M_node_allocator() };
1417:       }
1417: 
1417:     public:
1417: 
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  size_t __bkt = _M_bucket_index(*__pos._M_cur);
1417:  return _M_extract_node(__bkt,
1417:           _M_get_previous_node(__bkt, __pos._M_cur));
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const _Key& __k)
1417:       {
1417:  node_type __nh;
1417:  __hash_code __code = this->_M_hash_code(__k);
1417:  std::size_t __bkt = _M_bucket_index(__code);
1417:  if (__node_base_ptr __prev_node = _M_find_before_node(__bkt, __k, __code))
1417:    __nh = _M_extract_node(__bkt, __prev_node);
1417:  return __nh;
1417:       }
1417: 
1417: 
1417:       template<typename _Compatible_Hashtable>
1417:  void
1417:  _M_merge_unique(_Compatible_Hashtable& __src)
1417:  {
1417:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1417:        node_type>, "Node types are compatible");
1417:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1417: 
1417:    auto __n_elt = __src.size();
1417:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1417:      {
1417:        auto __pos = __i++;
1417:        const key_type& __k = _ExtractKey{}(*__pos);
1417:        __hash_code __code
1417:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1417:        size_type __bkt = _M_bucket_index(__code);
1417:        if (_M_find_node(__bkt, __k, __code) == nullptr)
1417:   {
1417:     auto __nh = __src.extract(__pos);
1417:     _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt);
1417:     __nh._M_ptr = nullptr;
1417:     __n_elt = 1;
1417:   }
1417:        else if (__n_elt != 1)
1417:   --__n_elt;
1417:      }
1417:  }
1417: 
1417: 
1417:       template<typename _Compatible_Hashtable>
1417:  void
1417:  _M_merge_multi(_Compatible_Hashtable& __src)
1417:  {
1417:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1417:        node_type>, "Node types are compatible");
1417:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1417: 
1417:    __node_ptr __hint = nullptr;
1417:    this->reserve(size() + __src.size());
1417:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1417:      {
1417:        auto __pos = __i++;
1417:        __hash_code __code
1417:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1417:        auto __nh = __src.extract(__pos);
1417:        __hint = _M_insert_multi_node(__hint, __code, __nh._M_ptr)._M_cur;
1417:        __nh._M_ptr = nullptr;
1417:      }
1417:  }
1417: 
1417: 
1417:     private:
1417: 
1417:       void _M_rehash_aux(size_type __bkt_count, true_type __uks);
1417: 
1417: 
1417:       void _M_rehash_aux(size_type __bkt_count, false_type __uks);
1417: 
1417: 
1417: 
1417:       void _M_rehash(size_type __bkt_count, const __rehash_state& __state);
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_bucket_begin(size_type __bkt) const
1417:     -> __node_ptr
1417:     {
1417:       __node_base_ptr __n = _M_buckets[__bkt];
1417:       return __n ? static_cast<__node_ptr>(__n->_M_nxt) : nullptr;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _Hashtable(size_type __bkt_count_hint,
1417:         const _Hash& __h, const _Equal& __eq, const allocator_type& __a)
1417:     : _Hashtable(__h, __eq, __a)
1417:     {
1417:       auto __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count_hint);
1417:       if (__bkt_count > _M_bucket_count)
1417:  {
1417:    _M_buckets = _M_allocate_buckets(__bkt_count);
1417:    _M_bucket_count = __bkt_count;
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _InputIterator>
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _Hashtable(_InputIterator __f, _InputIterator __l,
1417:    size_type __bkt_count_hint,
1417:    const _Hash& __h, const _Equal& __eq,
1417:    const allocator_type& __a, true_type )
1417:       : _Hashtable(__bkt_count_hint, __h, __eq, __a)
1417:       {
1417:  for (; __f != __l; ++__f)
1417:    this->insert(*__f);
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _InputIterator>
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _Hashtable(_InputIterator __f, _InputIterator __l,
1417:    size_type __bkt_count_hint,
1417:    const _Hash& __h, const _Equal& __eq,
1417:    const allocator_type& __a, false_type )
1417:       : _Hashtable(__h, __eq, __a)
1417:       {
1417:  auto __nb_elems = __detail::__distance_fw(__f, __l);
1417:  auto __bkt_count =
1417:    _M_rehash_policy._M_next_bkt(
1417:      std::max _Bit_iterator(_Bit_type * __x, unsigned int __y)
1412:     : _Bit_iterator_base(__x, __y) { }
1412: 
1412:    
1412:     iterator
1412:     _M_const_cast() const
1412:     { return *this; }
1412: 
1412:     [[__nodiscard__]]
1412:     reference
1412:     operator*() const
1412:     { return reference(_M_p, 1UL << _M_offset); }
1412: 
1412:    
1412:     iterator&
1412:     operator++()
1412:     {
1412:       _M_bump_up();
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     iterator
1412:     operator++(int)
1412:     {
1412:       iterator __tmp = *this;
1412:       _M_bump_up();
1412:       return __tmp;
1412:     }
1412: 
1412:    
1412:     iterator&
1412:     operator--()
1412:     {
1412:       _M_bump_down();
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     iterator
1412:     operator--(int)
1412:     {
1412:       iterator __tmp = *this;
1412:       _M_bump_down();
1412:       return __tmp;
1412:     }
1412: 
1412:    
1412:     iterator&
1412:     operator+=(difference_type __i)
1412:     {
1412:       _M_incr(__i);
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     iterator&
1412:     operator-=(difference_type __i)
1412:     {
1412:       *this += -__i;
1412:       return *this;
1412:     }
1412: 
1412:     [[__nodiscard__]]
1412:     reference
1412:     operator[](difference_type __i) const
1412:     { return *(*this + __i); }
1412: 
1412:     [[__nodiscard__]]
1412:     friend iterator
1412:     operator+(const iterator& __x, difference_type __n)
1412:     {
1412:       iterator __tmp = __x;
1412:       __tmp += __n;
1412:       return __tmp;
1412:     }
1412: 
1412:     [[__nodiscard__]]
1412:     friend iterator
1412:     operator+(difference_type __n, const iterator& __x)
1412:     { return __x + __n; }
1412: 
1412:     [[__nodiscard__]]
1412:     friend iterator
1412:     operator-(const iterator& __x, difference_type __n)
1412:     {
1412:       iterator __tmp = __x;
1412:       __tmp -= __n;
1412:       return __tmp;
1412:     }
1412:   };
1412: 
1412:   struct _Bit_const_iterator : public _Bit_iterator_base
1412:   {
1412:     typedef bool reference;
1412:     typedef bool const_reference;
1412: 
1412: 
1412: 
1412:     typedef const bool* pointer;
1412: 
1412:     typedef _Bit_const_iterator const_iterator;
1412: 
1412:    
1412:     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
1412: 
1412:    
1412:     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
1412:     : _Bit_iterator_base(__x, __y) { }
1412: 
1412:    
1412:     _Bit_const_iterator(const _Bit_iterator& __x)
1412:     : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
1412: 
1412:    
1412:     _Bit_iterator
1412:     _M_const_cast() const
1412:     { return _Bit_iterator(_M_p, _M_offset); }
1412: 
1412:     [[__nodiscard__]]
1412:     const_reference
1412:     operator*() const
1412:     { return _Bit_reference(_M_p, 1UL << _M_offset); }
1412: 
1412:    
1412:     const_iterator&
1412:     operator++()
1412:     {
1412:       _M_bump_up();
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     const_iterator
1412:     operator++(int)
1412:     {
1412:       const_iterator __tmp = *this;
1412:       _M_bump_up();
1412:       return __tmp;
1412:     }
1412: 
1412:    
1412:     const_iterator&
1412:     operator--()
1412:     {
1412:       _M_bump_down();
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     const_iterator
1412:     operator--(int)
1412:     {
1412:       const_iterator __tmp = *this;
1412:       _M_bump_down();
1412:       return __tmp;
1412:     }
1412: 
1412:    
1412:     const_iterator&
1412:     operator+=(difference_type __i)
1412:     {
1412:       _M_incr(__i);
1412:       return *this;
1412:     }
1412: 
1412:    
1412:     const_iterator&
1412:     operator-=(difference_type __i)
1412:     {
1412:       *this += -__i;
1412:       return *this;
1412:     }
1412: 
1412:     [[__nodiscard__]]
1412:     const_reference
1412:     operator[](difference_type __i) const
1412:     { return *(*this + __i); }
1412: 
1412:     [[__nodiscard__]]
1412:     friend const_iterator
1412:     operator+(const const_iterator& __x, difference_type __n)
1412:     {
1412:       const_iterator __tmp = __x;
1412:       __tmp += __n;
1412:       return __tmp;
1412:     }
1412: 
1412:     [[__nodiscard__]]
1412:     friend const_iterator
1412:     operator-(const const_iterator& __x, difference_type __n)
1412:     {
1412:       const_iterator __tmp = __x;
1412:       __tmp -= __n;
1412:       return __tmp;
1412:     }
1412: 
1412:     [[__nodiscard__]]
1412:     friend const_iterator
1412:     operator+(difference_type __n, const const_iterator& __x)
1412:     { return __x + __n; }
1412:   };
1412: 
1412:   template<typename _Alloc>
1412:     struct _Bvector_base
1412:     {
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:         rebind<_Bit_type>::other _Bit_alloc_type;
1412:       typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type>
1412:  _Bit_alloc_traits;
1412:       typedef typename _Bit_alloc_traits::pointer _Bit_pointer;
1412: 
1412:       struct _Bvector_impl_data
1412:       {
1412: 
1412:  _Bit_iterator _M_start;
1412: # 502 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:  _Bit_iterator _M_finish;
1412:  _Bit_pointer _M_end_of_storage;
1412: 
1412: 
1412:  _Bvector_impl_data() noexcept
1412:  : _M_start(), _M_finish(), _M_end_of_storage()
1412:  { }
1412: 
1412: 
1412:  _Bvector_impl_data(const _Bvector_impl_data&) = default;
1412: 
1412:  _Bvector_impl_data&
1412:  operator=(const _Bvector_impl_data&) = default;
1412: 
1412: 
1412:  _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept
1412:  : _Bvector_impl_data(__x)
1412:  { __x._M_reset(); }
1412: 
1412: 
1412:  void
1412:  _M_move_data(_Bvector_impl_data&& __x) noexcept
1412:  {
1412:    *this = __x;
1412:    __x._M_reset();
1412:  }
1412: 
1412: 
1412: 
1412:  void
1412:  _M_reset() noexcept
1412:  { *this = _Bvector_impl_data(); }
1412: 
1412: 
1412:  void
1412:  _M_swap_data(_Bvector_impl_data& __x) noexcept
1412:  {
1412: 
1412: 
1412:    std::swap(*this, __x);
1412:  }
1412:       };
1412: 
1412:       struct _Bvector_impl
1412:  : public _Bit_alloc_type, public _Bvector_impl_data
1412:       {
1412: 
1412:  _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value)
1412: 
1412:  : _Bit_alloc_type()
1412:  { }
1412: 
1412: 
1412:  _Bvector_impl(const _Bit_alloc_type& __a) noexcept
1412:  : _Bit_alloc_type(__a)
1412:  { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  _Bvector_impl(_Bvector_impl&& __x) noexcept
1412:  : _Bit_alloc_type(std::move(__x)), _Bvector_impl_data(std::move(__x))
1412:  { }
1412: 
1412: 
1412:  _Bvector_impl(_Bit_alloc_type&& __a, _Bvector_impl&& __x) noexcept
1412:  : _Bit_alloc_type(std::move(__a)), _Bvector_impl_data(std::move(__x))
1412:  { }
1412: 
1412: 
1412: 
1412:  _Bit_type*
1412:  _M_end_addr() const noexcept
1412:  {
1412:    if (this->_M_end_of_storage)
1412:      return std::__addressof(this->_M_end_of_storage[-1]) + 1;
1412:    return 0;
1412:  }
1412:       };
1412: 
1412:     public:
1412:       typedef _Alloc allocator_type;
1412: 
1412:      
1412:       _Bit_alloc_type&
1412:       _M_get_Bit_allocator() noexcept
1412:       { return this->_M_impl; }
1412: 
1412:      
1412:       const _Bit_alloc_type&
1412:       _M_get_Bit_allocator() const noexcept
1412:       { return this->_M_impl; }
1412: 
1412:      
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_get_Bit_allocator()); }
1412: 
1412: 
1412:       _Bvector_base() = default;
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       _Bvector_base(const allocator_type& __a)
1412:       : _M_impl(__a) { }
1412: 
1412: 
1412:       _Bvector_base(_Bvector_base&&) = default;
1412: 
1412:      
1412:       _Bvector_base(_Bvector_base&& __x, const allocator_type& __a) noexcept
1412:       : _M_impl(_Bit_alloc_type(__a), std::move(__x._M_impl))
1412:       { }
1412: 
1412: 
1412:      
1412:       ~_Bvector_base()
1412:       { this->_M_deallocate(); }
1412: 
1412:     protected:
1412:       _Bvector_impl _M_i(_M_rehash_policy._M_bkt_for_elements(__nb_elems),
1417:        __bkt_count_hint));
1417: 
1417:  if (__bkt_count > _M_bucket_count)
1417:    {
1417:      _M_buckets = _M_allocate_buckets(__bkt_count);
1417:      _M_bucket_count = __bkt_count;
1417:    }
1417: 
1417:  for (; __f != __l; ++__f)
1417:    this->insert(*__f);
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     operator=(const _Hashtable& __ht)
1417:     -> _Hashtable&
1417:     {
1417:       if (&__ht == this)
1417:  return *this;
1417: 
1417:       if (__node_alloc_traits::_S_propagate_on_copy_assign())
1417:  {
1417:    auto& __this_alloc = this->_M_node_allocator();
1417:    auto& __that_alloc = __ht._M_node_allocator();
1417:    if (!__node_alloc_traits::_S_always_equal()
1417:        && __this_alloc != __that_alloc)
1417:      {
1417: 
1417:        this->_M_deallocate_nodes(_M_begin());
1417:        _M_before_begin._M_nxt = nullptr;
1417:        _M_deallocate_buckets();
1417:        _M_buckets = nullptr;
1417:        std::__alloc_on_copy(__this_alloc, __that_alloc);
1417:        __hashtable_base::operator=(__ht);
1417:        _M_bucket_count = __ht._M_bucket_count;
1417:        _M_element_count = __ht._M_element_count;
1417:        _M_rehash_policy = __ht._M_rehash_policy;
1417:        __alloc_node_gen_t __alloc_node_gen(*this);
1417:        try
1417:   {
1417:     _M_assign(__ht, __alloc_node_gen);
1417:   }
1417:        catch(...)
1417:   {
1417: 
1417: 
1417:     _M_reset();
1417:     throw;
1417:   }
1417:        return *this;
1417:      }
1417:    std::__alloc_on_copy(__this_alloc, __that_alloc);
1417:  }
1417: 
1417: 
1417:       _M_assign_elements(__ht);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _Ht>
1417:       void
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _M_assign_elements(_Ht&& __ht)
1417:       {
1417:  __buckets_ptr __former_buckets = nullptr;
1417:  std::size_t __former_bucket_count = _M_bucket_count;
1417:  const __rehash_state& __former_state = _M_rehash_policy._M_state();
1417: 
1417:  if (_M_bucket_count != __ht._M_bucket_count)
1417:    {
1417:      __former_buckets = _M_buckets;
1417:      _M_buckets = _M_allocate_buckets(__ht._M_bucket_count);
1417:      _M_bucket_count = __ht._M_bucket_count;
1417:    }
1417:  else
1417:    __builtin_memset(_M_buckets, 0,
1417:       _M_bucket_count * sizeof(__node_base_ptr));
1417: 
1417:  try
1417:    {
1417:      __hashtable_base::operator=(std::forward<_Ht>(__ht));
1417:      _M_element_count = __ht._M_element_count;
1417:      _M_rehash_policy = __ht._M_rehash_policy;
1417:      __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1417:      _M_before_begin._M_nxt = nullptr;
1417:      _M_assign(std::forward<_Ht>(__ht), __roan);
1417:      if (__former_buckets)
1417:        _M_deallocate_buckets(__former_buckets, __former_bucket_count);
1417:    }
1417:  catch(...)
1417:    {
1417:      if (__former_buckets)
1417:        {
1417: 
1417:   _M_deallocate_buckets();
1417:   _M_rehash_policy._M_reset(__former_state);
1417:   _M_buckets = __former_buckets;
1417:   _M_bucket_count = __former_bucket_count;
1417:        }
1417:      __builtin_memset(_M_buckets, 0,
1417:         _M_bucket_count * sizeof(__node_base_ptr));
1417:      throw;
1417:    }
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _Ht, typename _NodeGenerator>
1417:       void
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _M_assign(_Ht&& __ht, const _NodeGenerator& __node_gen)
1417:       {
1417:  __buckets_ptr __buckets = nullptr;
1417:  if (!_M_buckets)
1417:    _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count);
1417: 
1417:  try
1417:    {
1417:      if (!__ht._M_before_begin._M_nxt)
1417:        return;
1417: 
1417: 
1417: 
1417:      __node_ptr __ht_n = __ht._M_begin();
1417:      __node_ptr __this_n
1417:        = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1417:      this->_M_copy_code(*__this_n, *__ht_n);
1417:      _M_update_bbegin(__this_n);
1417: 
1417: 
1417:      __node_ptr __prev_n = __this_n;
1417:      for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next())
1417:        {
1417:   __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1417:   __prev_n->_M_nxt = __this_n;
1417:   this->_M_copy_code(*__this_n, *__ht_n);
1417:   size_type __bkt = _M_bucket_index(*__this_n);
1417:   if (!_M_buckets[__bkt])
1417:     _M_buckets[__bkt] = __prev_n;
1417:   __prev_n = __this_n;
1417:        }
1417:    }
1417:  catch(...)
1417:    {
1417:      clear();
1417:      if (__buckets)
1417:        _M_deallocate_buckets();
1417:      throw;
1417:    }
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_reset() noexcept
1417:     {
1417:       _M_rehash_policy._M_reset();
1417:       _M_bucket_count = 1;
1417:       _M_single_bucket = nullptr;
1417:       _M_buckets = &_M_single_bucket;
1417:       _M_before_begin._M_nxt = nullptr;
1417:       _M_element_count = 0;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_move_assign(_Hashtable&& __ht, true_type)
1417:     {
1417:       if (__builtin_expect(std::__addressof(__ht) == this, false))
1417:  return;
1417: 
1417:       this->_M_deallocate_nodes(_M_begin());
1417:       _M_deallocate_buckets();
1417:       __hashtable_base::operator=(std::move(__ht));
1417:       _M_rehash_policy = __ht._M_rehash_policy;
1417:       if (!__ht._M_uses_single_bucket())
1417:  _M_buckets = __ht._M_buckets;
1417:       else
1417:  {
1417:    _M_buckets = &_M_single_bucket;
1417:    _M_single_bucket = __ht._M_single_bucket;
1417:  }
1417: 
1417:       _M_bucket_count = __ht._M_bucket_count;
1417:       _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt;
1417:       _M_element_count = __ht._M_element_count;
1417:       std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator());
1417: 
1417: 
1417:       _M_update_bbegin();
1417:       __ht._M_reset();
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_move_assign(_Hashtable&& __ht, false_type)
1417:     {
1417:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1417:  _M_move_assign(std::move(__ht), true_type{});
1417mpl;
1412: 
1412:      
1412:       _Bit_pointer
1412:       _M_allocate(size_t __n)
1412:       {
1412:  _Bit_pointer __p = _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n));
1412: # 640 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:  return __p;
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_deallocate()
1412:       {
1412:  if (_M_impl._M_start._M_p)
1412:    {
1412:      const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p;
1412:      _Bit_alloc_traits::deallocate(_M_impl,
1412:        _M_impl._M_end_of_storage - __n,
1412:        __n);
1412:      _M_impl._M_reset();
1412:    }
1412:       }
1412: 
1412: 
1412:      
1412:       void
1412:       _M_move_data(_Bvector_base&& __x) noexcept
1412:       { _M_impl._M_move_data(std::move(__x._M_impl)); }
1412: 
1412: 
1412:       constexpr
1412:       static size_t
1412:       _S_nword(size_t __n)
1412:       { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
1412:     };
1412: # 689 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:   template<typename _Alloc>
1412:     class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
1412:     {
1412:       typedef _Bvector_base<_Alloc> _Base;
1412:       typedef typename _Base::_Bit_pointer _Bit_pointer;
1412:       typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits;
1412: 
1412: 
1412:       friend struct std::hash<vector>;
1412: 
1412: 
1412:     public:
1412:       typedef bool value_type;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef _Bit_reference reference;
1412:       typedef bool const_reference;
1412:       typedef _Bit_reference* pointer;
1412:       typedef const bool* const_pointer;
1412:       typedef _Bit_iterator iterator;
1412:       typedef _Bit_const_iterator const_iterator;
1412:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1412:       typedef std::reverse_iterator<iterator> reverse_iterator;
1412:       typedef _Alloc allocator_type;
1412: 
1412:      
1412:       allocator_type
1412:       get_allocator() const
1412:       { return _Base::get_allocator(); }
1412: 
1412:     protected:
1412:       using _Base::_M_allocate;
1412:       using _Base::_M_deallocate;
1412:       using _Base::_S_nword;
1412:       using _Base::_M_get_Bit_allocator;
1412: 
1412:     public:
1412: 
1412:       vector() = default;
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       explicit
1412:       vector(const allocator_type& __a)
1412:       : _Base(__a) { }
1412: 
1412: 
1412:      
1412:       explicit
1412:       vector(size_type __n, const allocator_type& __a = allocator_type())
1412:       : vector(__n, false, __a)
1412:       { }
1412: 
1412:      
1412:       vector(size_type __n, const bool& __value,
1412:       const allocator_type& __a = allocator_type())
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       : _Base(__a)
1412:       {
1412:  _M_initialize(__n);
1412:  _M_initialize_value(__value);
1412:       }
1412: 
1412:      
1412:       vector(const vector& __x)
1412:       : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator()))
1412:       {
1412:  _M_initialize(__x.size());
1412:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1412:       }
1412: 
1412: 
1412:       vector(vector&&) = default;
1412: 
1412:     private:
1412:      
1412:       vector(vector&& __x, const allocator_type& __a, true_type) noexcept
1412:       : _Base(std::move(__x), __a)
1412:       { }
1412: 
1412:      
1412:       vector(vector&& __x, const allocator_type& __a, false_type)
1412:       : _Base(__a)
1412:       {
1412:  if (__x.get_allocator() == __a)
1412:    this->_M_move_data(std::move(__x));
1412:  else
1412:    {
1412:      _M_initialize(__x.size());
1412:      _M_copy_aligned(__x.begin(), __x.end(), begin());
1412:      __x.clear();
1412:    }
1412:       }
1412: 
1412:     public:
1412:      
1412:       vector(vector&& __x, const __type_identity_t<allocator_type>& __a)
1412:       noexcept(_Bit_alloc_traits::_S_always_equal())
1412:       : vector(std::move(__x), __a,
1412:         typename _Bit_alloc_traits::is_always_equal{})
1412:       { }
1412: 
1412:      
1412:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1412:       : _Base(__a)
1412:       {
1412:  _M_initialize(__x.size());
1412:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1412:       }
1412: 
1412:      
1412:       vector(initializer_list<bool> __l,
1412:       const allocator_type& __a = allocator_type())
1412:       : _Base(__a)
1412:       {
1412:  _M_initialize_range(__l.begin(), __l.end(),
1412:        random_access_iterator_tag());
1412:       }
1412: 
1412: 
1412: 
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:  vector(_InputIterator __first, _InputIterator __last,
1412:         const allocator_type& __a = allocator_type())
1412:  : _Base(__a)
1412:  {
1412:    _M_initialize_range(__first, __last,
1412:          std::__iterator_category(__first));
1412:  }
1412: # 838 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:      
1412:       ~vector() noexcept { }
1412: 
1412:      
1412:       vector&
1412:       operator=(const vector& __x)
1412:       {
1412:  if (&__x == this)
1412:    return *this;
1412: 
1412:  if (_Bit_alloc_traits::_S_propagate_on_copy_assign())
1412:    {
1412:      if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator())
1412:        {
1412:   this->_M_deallocate();
1412:   std::__alloc_on_copy(_M_get_Bit_allocator(),
1412:          __x._M_get_Bit_allocator());
1412:   _M_initialize(__x.size());
1412:        }
1412:      else
1412:        std::__alloc_on_copy(_M_get_Bit_allocator(),
1412:        __x._M_get_Bit_allocator());
1412:    }
1412: 
1412:  if (__x.size() > capacity())
1412:    {
1412:      this->_M_deallocate();
1412:      _M_initialize(__x.size());
1412:    }
1412:  this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1412:         begin());
1412:  return *this;
1412:       }
1412: 
1412: 
1412:      
1412:       vector&
1412:       operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
1412:       {
1412:  if (_Bit_alloc_traits::_S_propagate_on_move_assign()
1412:      || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator())
1412:    {
1412:      this->_M_deallocate();
1412:      this->_M_move_data(std::move(__x));
1412:      std::__alloc_on_move(_M_get_Bit_allocator(),
1412:      __x._M_get_Bit_allocator());
1412:    }
1412:  else
1412:    {
1412:      if (__x.size() > capacity())
1412:        {
1412:   this->_M_deallocate();
1412:   _M_initialize(__x.size());
1412:        }
1412:      this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1412:             begin());
1412:      __x.clear();
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:      
1412:       vector&
1412:       operator=(initializer_list<bool> __l)
1412:       {
1412:  this->assign(__l.begin(), __l.end());
1412:  return *this;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       void
1412:       assign(size_type __n, const bool& __x)
1412:       { _M_fill_assign(__n, __x); }
1412: 
1412: 
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:  void
1412:  assign(_InputIterator __first, _InputIterator __last)
1412:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1412: # 936 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:      
1412:       void
1412:       assign(initializer_list<bool> __l)
1412:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       begin() noexcept
1412:       { return iterator(this->_M_impl._M_start._M_p, 0); }
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       end() noexcept
1412:       { return this->_M_impl._M_finish; }
1:       else
1417:  {
1417: 
1417:    _M_assign_elements(std::move(__ht));
1417:    __ht.clear();
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _Hashtable(const _Hashtable& __ht)
1417:     : __hashtable_base(__ht),
1417:       __map_base(__ht),
1417:       __rehash_base(__ht),
1417:       __hashtable_alloc(
1417:  __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())),
1417:       __enable_default_ctor(__ht),
1417:       _M_buckets(nullptr),
1417:       _M_bucket_count(__ht._M_bucket_count),
1417:       _M_element_count(__ht._M_element_count),
1417:       _M_rehash_policy(__ht._M_rehash_policy)
1417:     {
1417:       __alloc_node_gen_t __alloc_node_gen(*this);
1417:       _M_assign(__ht, __alloc_node_gen);
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1417:         true_type )
1417:     noexcept(_S_nothrow_move())
1417:     : __hashtable_base(__ht),
1417:       __map_base(__ht),
1417:       __rehash_base(__ht),
1417:       __hashtable_alloc(std::move(__a)),
1417:       __enable_default_ctor(__ht),
1417:       _M_buckets(__ht._M_buckets),
1417:       _M_bucket_count(__ht._M_bucket_count),
1417:       _M_before_begin(__ht._M_before_begin._M_nxt),
1417:       _M_element_count(__ht._M_element_count),
1417:       _M_rehash_policy(__ht._M_rehash_policy)
1417:     {
1417: 
1417:       if (__ht._M_uses_single_bucket())
1417:  {
1417:    _M_buckets = &_M_single_bucket;
1417:    _M_single_bucket = __ht._M_single_bucket;
1417:  }
1417: 
1417: 
1417:       _M_update_bbegin();
1417: 
1417:       __ht._M_reset();
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _Hashtable(const _Hashtable& __ht, const allocator_type& __a)
1417:     : __hashtable_base(__ht),
1417:       __map_base(__ht),
1417:       __rehash_base(__ht),
1417:       __hashtable_alloc(__node_alloc_type(__a)),
1417:       __enable_default_ctor(__ht),
1417:       _M_buckets(),
1417:       _M_bucket_count(__ht._M_bucket_count),
1417:       _M_element_count(__ht._M_element_count),
1417:       _M_rehash_policy(__ht._M_rehash_policy)
1417:     {
1417:       __alloc_node_gen_t __alloc_node_gen(*this);
1417:       _M_assign(__ht, __alloc_node_gen);
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1417:         false_type )
1417:     : __hashtable_base(__ht),
1417:       __map_base(__ht),
1417:       __rehash_base(__ht),
1417:       __hashtable_alloc(std::move(__a)),
1417:       __enable_default_ctor(__ht),
1417:       _M_buckets(nullptr),
1417:       _M_bucket_count(__ht._M_bucket_count),
1417:       _M_element_count(__ht._M_element_count),
1417:       _M_rehash_policy(__ht._M_rehash_policy)
1417:     {
1417:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1417:  {
1417:    if (__ht._M_uses_single_bucket())
1417:      {
1417:        _M_buckets = &_M_single_bucket;
1417:        _M_single_bucket = __ht._M_single_bucket;
1417:      }
1417:    else
1417:      _M_buckets = __ht._M_buckets;
1417: 
1417: 
1417: 
1417:    _M_update_bbegin(__ht._M_begin());
1417: 
1417:    __ht._M_reset();
1417:  }
1417:       else
1417:  {
1417:    __alloc_node_gen_t __alloc_gen(*this);
1417: 
1417:    using _Fwd_Ht = __conditional_t<
1417:      __move_if_noexcept_cond<value_type>::value,
1417:      const _Hashtable&, _Hashtable&&>;
1417:    _M_assign(std::forward<_Fwd_Ht>(__ht), __alloc_gen);
1417:    __ht.clear();
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     ~_Hashtable() noexcept
1417:     {
1417: 
1417: 
1417: 
1417:       static_assert(noexcept(declval<const __hash_code_base_access&>()
1417:    ._M_bucket_index(declval<const __node_value_type&>(),
1417:       (std::size_t)0)),
1417:       "Cache the hash code or qualify your functors involved"
1417:       " in hash code and bucket index computation with noexcept");
1417: 
1417:       clear();
1417:       _M_deallocate_buckets();
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     swap(_Hashtable& __x)
1417:     noexcept(__and_<__is_nothrow_swappable<_Hash>,
1417:    __is_nothrow_swappable<_Equal>>::value)
1417:     {
1417: 
1417: 
1417: 
1417:       this->_M_swap(__x);
1417: 
1417:       std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator());
1417:       std::swap(_M_rehash_policy, __x._M_rehash_policy);
1417: 
1417: 
1417:       if (this->_M_uses_single_bucket())
1417:  {
1417:    if (!__x._M_uses_single_bucket())
1417:      {
1417:        _M_buckets = __x._M_buckets;
1417:        __x._M_buckets = &__x._M_single_bucket;
1417:      }
1417:  }
1417:       else if (__x._M_uses_single_bucket())
1417:  {
1417:    __x._M_buckets = _M_buckets;
1417:    _M_buckets = &_M_single_bucket;
1417:  }
1417:       else
1417:  std::swap(_M_buckets, __x._M_buckets);
1417: 
1417:       std::swap(_M_bucket_count, __x._M_bucket_count);
1417:       std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_nxt);
1417:       std::swap(_M_element_count, __x._M_element_count);
1417:       std::swap(_M_single_bucket, __x._M_single_bucket);
1417: 
1417: 
1417: 
1417:       _M_update_bbegin();
1417:       __x._M_update_bbegin();
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     find(const key_type& __k)
1417:     -> iterator
1417:     {
1417:       if (size() <= __small_size_threshold())
1417:  {
1417:    for (auto __it = begin(); __it != end(); ++__it)
1417:      if (this->_M_key_equals(__k, *__it._M_cur))
1417:        return __it;
1417:    return end();
1417:  }
1417: 
1417:       __hash_code __code = this->_M_hash_code(__k);
1417:       std::size_t __bkt = _M_bucket_index(__code);
1417:       return iterator(_M_find_node(__bkt, __k, __code));
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _All412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       end() const noexcept
1412:       { return this->_M_impl._M_finish; }
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return reverse_iterator(end()); }
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return reverse_iterator(begin()); }
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return this->_M_impl._M_finish; }
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       size() const noexcept
1412:       { return size_type(end() - begin()); }
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       max_size() const noexcept
1412:       {
1412:  const size_type __isize =
1412:    __gnu_cxx::__numeric_traits<difference_type>::__max
1412:    - int(_S_word_bit) + 1;
1412:  const size_type __asize
1412:    = _Bit_alloc_traits::max_size(_M_get_Bit_allocator());
1412:  return (__asize <= __isize / int(_S_word_bit)
1412:   ? __asize * int(_S_word_bit) : __isize);
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       capacity() const noexcept
1412:       { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0)
1412:     - begin()); }
1412: 
1412:       [[__nodiscard__]]
1412:       bool
1412:       empty() const noexcept
1412:       { return begin() == end(); }
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       operator[](size_type __n)
1412:       { return begin()[__n]; }
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       operator[](size_type __n) const
1412:       { return begin()[__n]; }
1412: 
1412:     protected:
1412:      
1412:       void
1412:       _M_range_check(size_type __n) const
1412:       {
1412:  if (__n >= this->size())
1412:    __throw_out_of_range_fmt(("vector<bool>::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1412: 
1412:                             ,
1412:        __n, this->size());
1412:       }
1412: 
1412:     public:
1412:      
1412:       reference
1412:       at(size_type __n)
1412:       {
1412:  _M_range_check(__n);
1412:  return (*this)[__n];
1412:       }
1412: 
1412:      
1412:       const_reference
1412:       at(size_type __n) const
1412:       {
1412:  _M_range_check(__n);
1412:  return (*this)[__n];
1412:       }
1412: 
1412:      
1412:       void
1412:       reserve(size_type __n)
1412:       {
1412:  if (__n > max_size())
1412:    __throw_length_error(("vector::reserve"));
1412:  if (capacity() < __n)
1412:    _M_reallocate(__n);
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       front()
1412:       { return *begin(); }
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       front() const
1412:       { return *begin(); }
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       back()
1412:       { return *(end() - 1); }
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       back() const
1412:       { return *(end() - 1); }
1412: 
1412:      
1412:       void
1412:       push_back(bool __x)
1412:       {
1412:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1412:    *this->_M_impl._M_finish++ = __x;
1412:  else
1412:    _M_insert_aux(end(), __x);
1412:       }
1412: 
1412:      
1412:       void
1412:       swap(vector& __x) noexcept
1412:       {
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(_Bit_alloc_traits::propagate_on_container_swap::value || _M_get_Bit_allocator() == __x._M_get_Bit_allocator())) __builtin_unreachable(); } while (false)
1412:                                                             ;
1412: 
1412:  this->_M_impl._M_swap_data(__x._M_impl);
1412:  _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(),
1412:           __x._M_get_Bit_allocator());
1412:       }
1412: 
1412: 
1412:      
1412:       static void
1412:       swap(reference __x, reference __y) noexcept
1412:       {
1412:  bool __tmp = __x;
1412:  __x = __y;
1412:  __y = __tmp;
1412:       }
1412: 
1412:      
1412:       iterator
1412: 
1412:       insert(const_iterator __position, const bool& __x)
1412: 
1412: 
1412: 
1412:       {
1412:  const difference_type __n = __position - begin();
1412:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()
1412:      && __position == end())
1412:    *this->_M_impl._M_finish++ = __x;
1412:  else
1412:    _M_insert_aux(__position._M_const_cast(), __x);
1412:  return begin() + __n;
1412:       }
1412: 
1412: 
1412:       __attribute__ ((__deprecated__ ("use '" "insert(position, false)" "' instead")))
1412:       iterator
1412:       insert(const_iterator __position)
1412:       { return this->insert(__position._M_const_cast(), false); }
1412: 
1412: 
1412: 
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412: 
1412:  iterator
1412:  insert(const_iterator __position,
1412:         _InputIterator __first, _InputIterator __last)
1412:  {
1412:    difference_type __offset = __position - cbegin();
1412:    _M_insert_range(__position._M_const_cast(),
1412:      __first, __last,
1412:      std::__iterator_category(__first));
1412:    return begin() + __offset;
1412:  }
1412: # 1186 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:      
1412:       iterator
1412:       insert(const_iterator __position, size_type __n, const bool& __x)
1412:       {
1412:  difference_type __offset = __position - cbegin();
1412:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1412:  return begin() + __offset;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      
1412:       iterator
1412:       insert(const_iterator __p, initializer_list<bool> __l)
1412:       { return this->insert(__p, __l.begin(), __l.end()); }
1412: 
1412: 
1412:      
1412:       void
1412:       pop_back()
1412:       { --this->_M_impl._M_finish; }
1412: 
1412:      
1412:       iterator
1412: 
1412:       erase(const_iterator __position)
1412: 
1412: 
1412: 
1412:       { return _M_erase(__position._M_const_cast()); }
1412: 
1412:      
1412:       iterator
1412: 
1412:       erase(const_iterator __first, const_iterator __last)
1412: 
1412: 
1412: 
1412:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1412: 
1412:      
1412:       void
1412:       resize(size_type __new_size, bool __x = bool())
1412:       {
1412:  if (__new_size < size())
1412:    _M_erase_at_end(begin() + difference_type(__new_size));
1412:  else
1412:    insert(end(), __new_size - size(), __x);
1412:       }
1412: 
1412: 
1412:      
1412:       void
1412:       shrink_to_fit()
1412:       { _M_shrink_to_fit(); }
1412: 
1412: 
1412:      
1412:       void
1412:       flip() noexcept
1412:       {
1412:  _Bit_type * const __end = this->_M_impl._M_end_addr();
1412:  for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p)
1412:    *__p = ~*__p;
1412:       }
1412: 
1412:      
1412:       void
1412:       clear() noexcept
1412:       { _M_erase_at_end(begin()); }
1412: 
1412: 
1412:       template<typename... _Args>
1412: 
1412: 
1412:  reference
1412: 
1412: 
1412: 
1412:  emplace_bacoc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     find(const key_type& __k) const
1417:     -> const_iterator
1417:     {
1417:       if (size() <= __small_size_threshold())
1417:  {
1417:    for (auto __it = begin(); __it != end(); ++__it)
1417:      if (this->_M_key_equals(__k, *__it._M_cur))
1417:        return __it;
1417:    return end();
1417:  }
1417: 
1417:       __hash_code __code = this->_M_hash_code(__k);
1417:       std::size_t __bkt = _M_bucket_index(__code);
1417:       return const_iterator(_M_find_node(__bkt, __k, __code));
1417:     }
1417: # 1715 "/usr/include/c++/12/bits/hashtable.h" 3
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     count(const key_type& __k) const
1417:     -> size_type
1417:     {
1417:       auto __it = find(__k);
1417:       if (!__it._M_cur)
1417:  return 0;
1417: 
1417:       if (__unique_keys::value)
1417:  return 1;
1417: 
1417: 
1417: 
1417: 
1417:       size_type __result = 1;
1417:       for (auto __ref = __it++;
1417:     __it._M_cur && this->_M_node_equals(*__ref._M_cur, *__it._M_cur);
1417:     ++__it)
1417:  ++__result;
1417: 
1417:       return __result;
1417:     }
1417: # 1776 "/usr/include/c++/12/bits/hashtable.h" 3
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     equal_range(const key_type& __k)
1417:     -> pair<iterator, iterator>
1417:     {
1417:       auto __ite = find(__k);
1417:       if (!__ite._M_cur)
1417:  return { __ite, __ite };
1417: 
1417:       auto __beg = __ite++;
1417:       if (__unique_keys::value)
1417:  return { __beg, __ite };
1417: 
1417: 
1417: 
1417: 
1417:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1417:  ++__ite;
1417: 
1417:       return { __beg, __ite };
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     equal_range(const key_type& __k) const
1417:     -> pair<const_iterator, const_iterator>
1417:     {
1417:       auto __ite = find(__k);
1417:       if (!__ite._M_cur)
1417:  return { __ite, __ite };
1417: 
1417:       auto __beg = __ite++;
1417:       if (__unique_keys::value)
1417:  return { __beg, __ite };
1417: 
1417: 
1417: 
1417: 
1417:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1417:  ++__ite;
1417: 
1417:       return { __beg, __ite };
1417:     }
1417: # 1890 "/usr/include/c++/12/bits/hashtable.h" 3
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_find_before_node(const key_type& __k)
1417:     -> __node_base_ptr
1417:     {
1417:       __node_base_ptr __prev_p = &_M_before_begin;
1417:       if (!__prev_p->_M_nxt)
1417:  return nullptr;
1417: 
1417:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);
1417:     __p != nullptr;
1417:     __p = __p->_M_next())
1417:  {
1417:    if (this->_M_key_equals(__k, *__p))
1417:      return __prev_p;
1417: 
1417:    __prev_p = __p;
1417:  }
1417: 
1417:       return nullptr;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_find_before_node(size_type __bkt, const key_type& __k,
1417:    __hash_code __code) const
1417:     -> __node_base_ptr
1417:     {
1417:       __node_base_ptr __prev_p = _M_buckets[__bkt];
1417:       if (!__prev_p)
1417:  return nullptr;
1417: 
1417:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1417:     __p = __p->_M_next())
1417:  {
1417:    if (this->_M_equals(__k, __code, *__p))
1417:      return __prev_p;
1417: 
1417:    if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
1417:      break;
1417:    __prev_p = __p;
1417:  }
1417: 
1417:       return nullptr;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _Kt>
1417:       auto
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _M_find_before_node_tr(size_type __bkt, const _Kt& __k,
1417:         __hash_code __code) const
1417:       -> __node_base_ptr
1417:       {
1417:  __node_base_ptr __prev_p = _M_buckets[__bkt];
1417:  if (!__prev_p)
1417:    return nullptr;
1417: 
1417:  for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1417:       __p = __p->_M_next())
1417:    {
1417:      if (this->_M_equals_tr(__k, __code, *__p))
1417:        return __prev_p;
1417: 
1417:      if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
1417:        break;
1417:      __prev_p = __p;
1417:    }
1417: 
1417:  return nullptr;
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_insert_bucket_begin(size_type __bkt, __node_ptr __node)
1417:     {
1417:       if (_M_buckets[__bkt])
1417:  {
1417: 
1417: 
1417:    __node->_M_nxt = _M_buckets[__bkt]->_M_nxt;
1417:    _M_buckets[__bkt]->_M_nxt = __node;
1417:  }
1417:       else
1417:  {
1417: 
1417: 
1417: 
1417:    __node->_M_nxt = _M_before_begin._M_nxt;
1417:    _M_before_begin._M_nxt = __node;
1417: 
1417:    if (__node->_M_nxt)
1417: 
1417: 
1417:      _M_buckets[_M_bucket_index(*__node->_M_next())] = __node;
1417: 
1417:    _M_buckets[__bkt] = &_M_before_begin;
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_remove_bucket_begin(size_type __bkt, __node_ptr __next,
1417:       size_type __next_bkt)
1417:     {
1417:       if (!__next || __next_bkt != __bkt)
1417:  {
1417: 
1417: 
1417:    if (__next)
1417:      _M_buck(_Args&&... __args)
1412:  {
1412:    push_back(bool(__args...));
1412: 
1412:    return back();
1412: 
1412:  }
1412: 
1412:       template<typename... _Args>
1412: 
1412:  iterator
1412:  emplace(const_iterator __pos, _Args&&... __args)
1412:  { return insert(__pos, bool(__args...)); }
1412: 
1412: 
1412:     protected:
1412: 
1412:      
1412:       iterator
1412:       _M_copy_aligned(const_iterator __first, const_iterator __last,
1412:         iterator __result)
1412:       {
1412:  _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
1412:  return std::copy(const_iterator(__last._M_p, 0), __last,
1412:     iterator(__q, 0));
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_initialize(size_type __n)
1412:       {
1412:  if (__n)
1412:    {
1412:      _Bit_pointer __q = this->_M_allocate(__n);
1412:      this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1412:      iterator __start = iterator(std::__addressof(*__q), 0);
1412:      this->_M_impl._M_start = __start;
1412:      this->_M_impl._M_finish = __start + difference_type(__n);
1412:    }
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_initialize_value(bool __x) noexcept
1412:       {
1412:  if (_Bit_type* __p = this->_M_impl._M_start._M_p)
1412:    __fill_bvector_n(__p, this->_M_impl._M_end_addr() - __p, __x);
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_reallocate(size_type __n);
1412: 
1412: 
1412:      
1412:       bool
1412:       _M_shrink_to_fit();
1412: # 1347 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_initialize_range(_InputIterator __first, _InputIterator __last,
1412:        std::input_iterator_tag)
1412:  {
1412:    for (; __first != __last; ++__first)
1412:      push_back(*__first);
1412:  }
1412: 
1412:       template<typename _ForwardIterator>
1412: 
1412:  void
1412:  _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
1412:        std::forward_iterator_tag)
1412:  {
1412:    const size_type __n = std::distance(__first, __last);
1412:    _M_initialize(__n);
1412:    std::copy(__first, __last, begin());
1412:  }
1412: # 1383 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:      
1412:       void
1412:       _M_fill_assign(size_t __n, bool __x)
1412:       {
1412:  if (__n > size())
1412:    {
1412:      _M_initialize_value(__x);
1412:      insert(end(), __n - size(), __x);
1412:    }
1412:  else
1412:    {
1412:      _M_erase_at_end(begin() + __n);
1412:      _M_initialize_value(__x);
1412:    }
1412:       }
1412: 
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1412:         std::input_iterator_tag)
1412:  {
1412:    iterator __cur = begin();
1412:    for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1412:      *__cur = *__first;
1412:    if (__first == __last)
1412:      _M_erase_at_end(__cur);
1412:    else
1412:      insert(end(), __first, __last);
1412:  }
1412: 
1412:       template<typename _ForwardIterator>
1412: 
1412:  void
1412:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1412:         std::forward_iterator_tag)
1412:  {
1412:    const size_type __len = std::distance(__first, __last);
1412:    if (__len < size())
1412:      _M_erase_at_end(std::copy(__first, __last, begin()));
1412:    else
1412:      {
1412:        _ForwardIterator __mid = __first;
1412:        std::advance(__mid, size());
1412:        std::copy(__first, __mid, begin());
1412:        insert(end(), __mid, __last);
1412:      }
1412:  }
1412: # 1450 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:      
1412:       void
1412:       _M_fill_insert(iterator __position, size_type __n, bool __x);
1412: 
1412:       template<typename _InputIterator>
1412: 
1412:  void
1412:  _M_insert_range(iterator __pos, _InputIterator __first,
1412:    _InputIterator __last, std::input_iterator_tag)
1412:  {
1412:    for (; __first != __last; ++__first)
1412:      {
1412:        __pos = insert(__pos, *__first);
1412:        ++__pos;
1412:      }
1412:  }
1412: 
1412:       template<typename _ForwardIterator>
1412: 
1412:  void
1412:  _M_insert_range(iterator __position, _ForwardIterator __first,
1412:    _ForwardIterator __last, std::forward_iterator_tag);
1412: 
1412:      
1412:       void
1412:       _M_insert_aux(iterator __position, bool __x);
1412: 
1412:      
1412:       size_type
1412:       _M_check_len(size_type __n, const char* __s) const
1412:       {
1412:  if (max_size() - size() < __n)
1412:    __throw_length_error((__s));
1412: 
1412:  const size_type __len = size() + std::max(size(), __n);
1412:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1412:       }
1412: 
1412:      
1412:       void
1412:       _M_erase_at_end(iterator __pos)
1412:       { this->_M_impl._M_finish = __pos; }
1412: 
1412:      
1412:       iterator
1412:       _M_erase(iterator __pos);
1412: 
1412:      
1412:       iterator
1412:       _M_erase(iterator __first, iterator __last);
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void data() = delete;
1412: 
1412: 
1412: 
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:  
1412:   inline void
1412:   __fill_bvector(_Bit_type* __v, unsigned int __first, unsigned int __last,
1412:    bool __x) noexcept
1412:   {
1412:     const _Bit_type __fmask = ~0ul << __first;
1412:     const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last);
1412:     const _Bit_type __mask = __fmask & __lmask;
1412: 
1412:     if (__x)
1412:       *__v |= __mask;
1412:     else
1412:       *__v &= ~__mask;
1412:   }
1412: 
1412: 
1412:   __attribute__((__nonnull__))
1412:  
1412:   inline void
1412:   __fill_bvector_n(_Bit_type* __p, size_t __n, bool __x) noexcept
1412:   {
1412: # 1546 "/usr/include/c++/12/bits/stl_bvector.h" 3
1412:     __builtin_memset(__p, __x ? ~0 : 0, __n * sizeof(_Bit_type));
1412:   }
1412: 
1412: 
1412:  
1412:   inline void
1412:   __fill_a1(std::_Bit_iterator __first,
1412:      std::_Bit_iterator __last, const bool& __x)
1412:   {
1412:     if (__first._M_p != __last._M_p)
1412:       {
1412:  _Bit_type* __first_p = __first._M_p;
1412:  if (__first._M_offset != 0)
1412:    __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x);
1412: 
1412:  __fill_bvector_n(__first_p, __last._M_p - __first_p, __x);
1412: 
1412:  if (__last._M_offset != 0)
1412:    __fill_bvector(__last._M_p, 0, __last._M_offset, __x);
1412:       }
1412:     else if (__first._M_offset != __last._M_offset)
1412:       __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x);
1412:   }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Alloc>
1412:     struct hash<std::vector<bool, _Alloc>>
1412:     : public __hash_base<size_t, std::vector<bool, _Alloc>>
1412:     {
1412:       size_t
1412:       operator()(const std::vector<bool, _Alloc>&) const noexcept;
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 66 "/usr/include/c++/12/vector" 2 3
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/vector.tcc" 1 3
1412: # 59 "/usr/include/c++/12/bits/vector.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     void
1412:     vector<_Tp, _Alloc>::
1412:     reserve(size_type __n)
1412:     {
1412:       if (__n > this->max_size())
1412:  __throw_length_error(("vector::reserve"));
1412:       if (this->capacity() < __n)
1412:  {
1412:    const size_type __old_size = size();
1412:    pointer __tmp;
1412: 
1412:    if constexpr (_S_use_relocate())
1412:      {
1412:        __tmp = this->_M_allocate(__n);
1412:        _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:      __tmp, _M_get_Tp_allocator());
1412:      }
1412:    else
1412: 
1412:      {
1412:        __tmp = _M_allocate_and_copy(__n,
1412:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_start),
1412:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish));
1412:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._kets[__next_bkt] = _M_buckets[__bkt];
1417: 
1417: 
1417:    if (&_M_before_begin == _M_buckets[__bkt])
1417:      _M_before_begin._M_nxt = __next;
1417:    _M_buckets[__bkt] = nullptr;
1417:  }
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_get_previous_node(size_type __bkt, __node_ptr __n)
1417:     -> __node_base_ptr
1417:     {
1417:       __node_base_ptr __prev_n = _M_buckets[__bkt];
1417:       while (__prev_n->_M_nxt != __n)
1417:  __prev_n = __prev_n->_M_nxt;
1417:       return __prev_n;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename... _Args>
1417:       auto
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _M_emplace(true_type , _Args&&... __args)
1417:       -> pair<iterator, bool>
1417:       {
1417: 
1417:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1417:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1417:  if (size() <= __small_size_threshold())
1417:    {
1417:      for (auto __it = begin(); __it != end(); ++__it)
1417:        if (this->_M_key_equals(__k, *__it._M_cur))
1417: 
1417:   return { __it, false };
1417:    }
1417: 
1417:  __hash_code __code = this->_M_hash_code(__k);
1417:  size_type __bkt = _M_bucket_index(__code);
1417:  if (size() > __small_size_threshold())
1417:    if (__node_ptr __p = _M_find_node(__bkt, __k, __code))
1417: 
1417:      return { iterator(__p), false };
1417: 
1417: 
1417:  auto __pos = _M_insert_unique_node(__bkt, __code, __node._M_node);
1417:  __node._M_node = nullptr;
1417:  return { __pos, true };
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename... _Args>
1417:       auto
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _M_emplace(const_iterator __hint, false_type ,
1417:    _Args&&... __args)
1417:       -> iterator
1417:       {
1417: 
1417:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1417:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1417: 
1417:  auto __res = this->_M_compute_hash_code(__hint, __k);
1417:  auto __pos
1417:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
1417:      __node._M_node);
1417:  __node._M_node = nullptr;
1417:  return __pos;
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_compute_hash_code(const_iterator __hint, const key_type& __k) const
1417:     -> pair<const_iterator, __hash_code>
1417:     {
1417:       if (size() <= __small_size_threshold())
1417:  {
1417:    if (__hint != cend())
1417:      {
1417:        for (auto __it = __hint; __it != cend(); ++__it)
1417:   if (this->_M_key_equals(__k, *__it._M_cur))
1417:     return { __it, this->_M_hash_code(*__it._M_cur) };
1417:      }
1417: 
1417:    for (auto __it = cbegin(); __it != __hint; ++__it)
1417:      if (this->_M_key_equals(__k, *__it._M_cur))
1417:        return { __it, this->_M_hash_code(*__it._M_cur) };
1417:  }
1417: 
1417:       return { __hint, this->_M_hash_code(__k) };
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_insert_unique_node(size_type __bkt, __hash_code __code,
1417:      __node_ptr __node, size_type __n_elt)
1417:     -> iterator
1417:     {
1417:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1417:       std::pair<bool, std::size_t> __do_rehash
1417:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count,
1417:        __n_elt);
1417: 
1417:       if (__do_rehash.first)
1417:  {
1417:    _M_rehash(__do_rehash.second, __saved_state);
1417:    __bkt = _M_bucket_index(__code);
1417:  }
1417: 
1417:       this->_M_store_code(*__node, __code);
1417: 
1417: 
1417:       _M_insert_bucket_begin(__bkt, __node);
1417:       ++_M_element_count;
1417:       return iterator(__node);
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_insert_multi_node(__node_ptr __hint,
1417:     __hash_code __code, __node_ptr __node)
1417:     -> iterator
1417:     {
1417:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1417:       std::pair<bool, std::size_t> __do_rehash
1417:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1);
1417: 
1417:       if (__do_rehash.first)
1417:  _M_rehash(__do_rehash.second, __saved_state);
1417: 
1417:       this->_M_store_code(*__node, __code);
1417:       const key_type& __k = _ExtractKey{}(__node->_M_v());
1417:       size_type __bkt = _M_bucket_index(__code);
1417: 
1417: 
1417: 
1417:       __node_base_ptr __prev
1417:  = __builtin_expect(__hint != nullptr, false)
1417:    && this->_M_equals(__k, __code, *__hint)
1417:      ? __hint
1417:      : _M_find_before_node(__bkt, __k, __code);
1417: 
1417:       if (__prev)
1417:  {
1417: 
1417:    __node->_M_nxt = __prev->_M_nxt;
1417:    __prev->_M_nxt = __node;
1417:    if (__builtin_expect(__prev == __hint, false))
1417: 
1417: 
1417:      if (__node->_M_nxt
1417:   && !this->_M_equals(__k, __code, *__node->_M_next()))
1417:        {
1417:   size_type __next_bkt = _M_bucket_index(*__node->_M_next());
1417:   if (__next_bkt != __bkt)
1417:     _M_buckets[__next_bkt] = __node;
1417:        }
1417:  }
1417:       else
1417: 
1417: 
1417: 
1417:  _M_insert_bucket_begin(__bkt, __node);
1417:       ++_M_element_count;
1417:       return iterator(__node);
1417:     }
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _Kt, typename _Arg, typename _NodeGenerator>
1417:       auto
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _M_insert_unique(_Kt&& __k, _Arg&& __v,
1417:          const _NodeGenerator& __node_gen)
1417:       -> pair<iterator, bool>
1417:       {
1417:  if (size() <= __small_size_threshold())
1417:    for (auto __it = begin(); __it != end(); ++__it)
1417:      if (this->_M_key_equals_tr(__k, *__it._M_cur))
1417:        return { __it, false };
1417: 
1417:  __hash_code __code = this->_M_hash_code_tr(__k);
1417:  size_type __bkt = _M_bucket_index(__code);
1417: 
1417:  if (size() > M_finish,
1412:        _M_get_Tp_allocator());
1412:      }
1412:    ;
1412:    _M_deallocate(this->_M_impl._M_start,
1412:    this->_M_impl._M_end_of_storage
1412:    - this->_M_impl._M_start);
1412:    this->_M_impl._M_start = __tmp;
1412:    this->_M_impl._M_finish = __tmp + __old_size;
1412:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename... _Args>
1412: 
1412:      
1412:       typename vector<_Tp, _Alloc>::reference
1412: 
1412: 
1412: 
1412:       vector<_Tp, _Alloc>::
1412:       emplace_back(_Args&&... __args)
1412:       {
1412:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1412:    {
1412:      ;
1412:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1412:          std::forward<_Args>(__args)...);
1412:      ++this->_M_impl._M_finish;
1412:      ;
1412:    }
1412:  else
1412:    _M_realloc_insert(end(), std::forward<_Args>(__args)...);
1412: 
1412:  return back();
1412: 
1412:       }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     typename vector<_Tp, _Alloc>::iterator
1412:     vector<_Tp, _Alloc>::
1412: 
1412:     insert(const_iterator __position, const value_type& __x)
1412: 
1412: 
1412: 
1412:     {
1412:       const size_type __n = __position - begin();
1412:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1412:  if (__position == end())
1412:    {
1412:      ;
1412:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1412:          __x);
1412:      ++this->_M_impl._M_finish;
1412:      ;
1412:    }
1412:  else
1412:    {
1412: 
1412:      const auto __pos = begin() + (__position - cbegin());
1412: 
1412: 
1412:      _Temporary_value __x_copy(this, __x);
1412:      _M_insert_aux(__pos, std::move(__x_copy._M_val()));
1412: 
1412: 
1412: 
1412:    }
1412:       else
1412: 
1412:  _M_realloc_insert(begin() + (__position - cbegin()), __x);
1412: 
1412: 
1412: 
1412: 
1412:       return iterator(this->_M_impl._M_start + __n);
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     typename vector<_Tp, _Alloc>::iterator
1412:     vector<_Tp, _Alloc>::
1412:     _M_erase(iterator __position)
1412:     {
1412:       if (__position + 1 != end())
1412:  std::move(__position + 1, end(), __position);
1412:       --this->_M_impl._M_finish;
1412:       _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1412:       ;
1412:       return __position;
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     typename vector<_Tp, _Alloc>::iterator
1412:     vector<_Tp, _Alloc>::
1412:     _M_erase(iterator __first, iterator __last)
1412:     {
1412:       if (__first != __last)
1412:  {
1412:    if (__last != end())
1412:      std::move(__last, end(), __first);
1412:    _M_erase_at_end(__first.base() + (end() - __last));
1412:  }
1412:       return __first;
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     vector<_Tp, _Alloc>&
1412:     vector<_Tp, _Alloc>::
1412:     operator=(const vector<_Tp, _Alloc>& __x)
1412:     {
1412:       if (std::__addressof(__x) != this)
1412:  {
1412:    ;
1412: 
1412:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1412:      {
1412:        if (!_Alloc_traits::_S_always_equal()
1412:            && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1412:          {
1412: 
1412:     this->clear();
1412:     _M_deallocate(this->_M_impl._M_start,
1412:     this->_M_impl._M_end_of_storage
1412:     - this->_M_impl._M_start);
1412:     this->_M_impl._M_start = nullptr;
1412:     this->_M_impl._M_finish = nullptr;
1412:     this->_M_impl._M_end_of_storage = nullptr;
1412:   }
1412:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1412:        __x._M_get_Tp_allocator());
1412:      }
1412: 
1412:    const size_type __xlen = __x.size();
1412:    if (__xlen > capacity())
1412:      {
1412:        pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
1412:          __x.end());
1412:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:        _M_get_Tp_allocator());
1412:        _M_deallocate(this->_M_impl._M_start,
1412:        this->_M_impl._M_end_of_storage
1412:        - this->_M_impl._M_start);
1412:        this->_M_impl._M_start = __tmp;
1412:        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
1412:      }
1412:    else if (size() >= __xlen)
1412:      {
1412:        std::_Destroy(std::copy(__x.begin(), __x.end(), begin()),
1412:        end(), _M_get_Tp_allocator());
1412:      }
1412:    else
1412:      {
1412:        std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
1412:    this->_M_impl._M_start);
1412:        std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
1412:        __x._M_impl._M_finish,
1412:        this->_M_impl._M_finish,
1412:        _M_get_Tp_allocator());
1412:      }
1412:    this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     void
1412:     vector<_Tp, _Alloc>::
1412:     _M_fill_assign(size_t __n, const value_type& __val)
1412:     {
1412:       if (__n > capacity())
1412:  {
1412:    vector __tmp(__n, __val, _M_get_Tp_allocator());
1412:    __tmp._M_impl._M_swap_data(this->_M_impl);
1412:  }
1412:       else if (__n > size())
1412:  {
1412:    std::fill(begin(), end(), __val);
1412:    const size_type __add = __n - size();
1412:    ;
1412:    this->_M_impl._M_finish =
1412:      std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1412:        __add, __val, _M_get_Tp_allocator());
1412:    ;
1412:  }
1412:       else
1412:         _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename _InputIterator>
1412:      
1412:       void
1412:       vector<_Tp, _Alloc>::
1412:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1412:       std::input_iterator_tag)
1412:       {
1412:  pointer __cur(this->_M_impl._M_start);
1412:  for (; __first != __last && __cur != this->_M_impl._M_finish;
1412:       ++__cur, (void)++__first)
1412:    *__cur = *__first;
1412:  if (__first == __last)
1412:    _M_erase_at_end(__cur);
1412:  else
1412:    _M_range_insert(end(), __first, __last,
1412:      std::__iterator_category(__first));
1412:       }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename _ForwardIterator>
1412:      
1412:       void
1412:       vector<_Tp, _Alloc>::
1412:       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1412:       std::forward_iterator_tag)
1412:       {
1412:  const size_type __len = std::distance(__first, __last);
1412: 
1412:  if (__len > capacity())
1412:    {
1412:      _S_check_init_len(__len, _M_get_Tp_allocator());
1412:      pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
1412:      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:      _M_get_Tp_allocator());
1412:      ;
1412:      _M_deallocate(this->_M_impl._M_start,
1412:      this->_M_impl._M_end_of_storage
1412:      - this->_M_impl._M_start);
1412:      this->_M_impl._M_start = __tmp;
1412:      this->_M_impl._M_finish = this->_M_impl._M_start + __len;
1412:      this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
1412:    }
1412:  else if (size() >= __len)
1412:    _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
1412:  else
1412:    {
1412:      _ForwardIterator __mid = __first;
1412:      std::advance(__mid, size());
1412:      std::copy(__first, __mid, this->_M_impl._M_start);
1412:      const size_type __attribute__((__unused__)) __n = __len - size();
1412:      ;
1412:      this->_M_impl._M_finish =
1412:        std::__uninitialized_copy_a(__mid, __last,
1412:        this->_M_impl._M_finish,
1412:        _M_get_Tp_allocator());
1412:      ;
1412:    }
1412:       }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
__small_size_threshold())
1417:    if (__node_ptr __node = _M_find_node_tr(__bkt, __k, __code))
1417:      return { iterator(__node), false };
1417: 
1417:  _Scoped_node __node {
1417:    __node_builder_t::_S_build(std::forward<_Kt>(__k),
1417:          std::forward<_Arg>(__v),
1417:          __node_gen),
1417:    this
1417:  };
1417:  auto __pos
1417:    = _M_insert_unique_node(__bkt, __code, __node._M_node);
1417:  __node._M_node = nullptr;
1417:  return { __pos, true };
1417:       }
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     template<typename _Arg, typename _NodeGenerator>
1417:       auto
1417:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:       _M_insert(const_iterator __hint, _Arg&& __v,
1417:   const _NodeGenerator& __node_gen,
1417:   false_type )
1417:       -> iterator
1417:       {
1417: 
1417:  _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this };
1417: 
1417: 
1417:  auto __res = this->_M_compute_hash_code(
1417:    __hint, _ExtractKey{}(__node._M_node->_M_v()));
1417: 
1417:  auto __pos
1417:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
1417:      __node._M_node);
1417:  __node._M_node = nullptr;
1417:  return __pos;
1417:       }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     erase(const_iterator __it)
1417:     -> iterator
1417:     {
1417:       __node_ptr __n = __it._M_cur;
1417:       std::size_t __bkt = _M_bucket_index(*__n);
1417: 
1417: 
1417: 
1417: 
1417:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1417:       return _M_erase(__bkt, __prev_n, __n);
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n)
1417:     -> iterator
1417:     {
1417:       if (__prev_n == _M_buckets[__bkt])
1417:  _M_remove_bucket_begin(__bkt, __n->_M_next(),
1417:    __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1417:       else if (__n->_M_nxt)
1417:  {
1417:    size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1417:    if (__next_bkt != __bkt)
1417:      _M_buckets[__next_bkt] = __prev_n;
1417:  }
1417: 
1417:       __prev_n->_M_nxt = __n->_M_nxt;
1417:       iterator __result(__n->_M_next());
1417:       this->_M_deallocate_node(__n);
1417:       --_M_element_count;
1417: 
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_erase(true_type , const key_type& __k)
1417:     -> size_type
1417:     {
1417:       __node_base_ptr __prev_n;
1417:       __node_ptr __n;
1417:       std::size_t __bkt;
1417:       if (size() <= __small_size_threshold())
1417:  {
1417:    __prev_n = _M_find_before_node(__k);
1417:    if (!__prev_n)
1417:      return 0;
1417: 
1417: 
1417:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1417:    __bkt = _M_bucket_index(*__n);
1417:  }
1417:       else
1417:  {
1417:    __hash_code __code = this->_M_hash_code(__k);
1417:    __bkt = _M_bucket_index(__code);
1417: 
1417: 
1417:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1417:    if (!__prev_n)
1417:      return 0;
1417: 
1417: 
1417:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1417:  }
1417: 
1417:       _M_erase(__bkt, __prev_n, __n);
1417:       return 1;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_erase(false_type , const key_type& __k)
1417:     -> size_type
1417:     {
1417:       std::size_t __bkt;
1417:       __node_base_ptr __prev_n;
1417:       __node_ptr __n;
1417:       if (size() <= __small_size_threshold())
1417:  {
1417:    __prev_n = _M_find_before_node(__k);
1417:    if (!__prev_n)
1417:      return 0;
1417: 
1417: 
1417:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1417:    __bkt = _M_bucket_index(*__n);
1417:  }
1417:       else
1417:  {
1417:    __hash_code __code = this->_M_hash_code(__k);
1417:    __bkt = _M_bucket_index(__code);
1417: 
1417: 
1417:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1417:    if (!__prev_n)
1417:      return 0;
1417: 
1417:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1417:  }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       __node_ptr __n_last = __n->_M_next();
1417:       while (__n_last && this->_M_node_equals(*__n, *__n_last))
1417:  __n_last = __n_last->_M_next();
1417: 
1417:       std::size_t __n_last_bkt = __n_last ? _M_bucket_index(*__n_last) : __bkt;
1417: 
1417: 
1417:       size_type __result = 0;
1417:       do
1417:  {
1417:    __node_ptr __p = __n->_M_next();
1417:    this->_M_deallocate_node(__n);
1417:    __n = __p;
1417:    ++__result;
1417:  }
1417:       while (__n != __n_last);
1417: 
1417:       _M_element_count -= __result;
1417:       if (__prev_n == _M_buckets[__bkt])
1417:  _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt);
1417:       else if (__n_last_bkt != __bkt)
1417:  _M_buckets[__n_last_bkt] = __prev_n;
1417:       __prev_n->_M_nxt = __n_last;
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     auto
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     erase(const_iterator __first, const_iterator __last)
1417:     -> iterator
1417:     {
1417:       __node_ptr __n = __first._M_cur;
1417:       __node_ptr __last_n = __last._M_cur;
1417:       if (__n == __last_n)
1417:  return iterator(__n);
1417: 
1417:       std::size_t __bkt = _M_bucket_index(*__n);
1417: 
1417:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1417:       bool __is_bucket_begin = __n == _M_bucket_begin(__bkt);
1417:       std::size_t __n_bkt = __bkt;
1417:       for (;;)
1417:  {
1417:    do
1417:      {
1417:        __node_ptr __tmp = __n;
1417:        __n = __n->_M_next();
1417:        this->_M_deallocate_node(__tmp);
1417:        --_M_element_count;
1417:        if (!__n)
1417:   break;
1417:        __n_bkt = _M_bucket_index(*__n);
1417:      }
1417:    while (__n != __last_n && __n_bkt == __bkt);
1417:    if (__is_bucket_begin)
1417:      _M_remove_bucket_begin(__bkt, __n, __n_bkt);
1417:    if (__n == __last_n)
1417:      break;
1417:    __is_bucket_begin = true;
1417:    __bkt = __n_bkt;
1417:  }
1417: 
1417:       if (__n && (__n_bkt != __bkt || __is_bucket_begin))
1417:  _M_buckets[__n_bkt] = __prev_n;
1417:       __prev_n->_M_nxt = __n;
1417:       return itera1412:    
1412:     auto
1412:     vector<_Tp, _Alloc>::
1412:     _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator
1412:     {
1412:       const auto __n = __position - cbegin();
1412:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1412:  if (__position == cend())
1412:    {
1412:      ;
1412:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1412:          std::move(__v));
1412:      ++this->_M_impl._M_finish;
1412:      ;
1412:    }
1412:  else
1412:    _M_insert_aux(begin() + __n, std::move(__v));
1412:       else
1412:  _M_realloc_insert(begin() + __n, std::move(__v));
1412: 
1412:       return iterator(this->_M_impl._M_start + __n);
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename... _Args>
1412:      
1412:       auto
1412:       vector<_Tp, _Alloc>::
1412:       _M_emplace_aux(const_iterator __position, _Args&&... __args)
1412:       -> iterator
1412:       {
1412:  const auto __n = __position - cbegin();
1412:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1412:    if (__position == cend())
1412:      {
1412:        ;
1412:        _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1412:            std::forward<_Args>(__args)...);
1412:        ++this->_M_impl._M_finish;
1412:        ;
1412:      }
1412:    else
1412:      {
1412: 
1412: 
1412: 
1412:        _Temporary_value __tmp(this, std::forward<_Args>(__args)...);
1412:        _M_insert_aux(begin() + __n, std::move(__tmp._M_val()));
1412:      }
1412:  else
1412:    _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...);
1412: 
1412:  return iterator(this->_M_impl._M_start + __n);
1412:       }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename _Arg>
1412:      
1412:       void
1412:       vector<_Tp, _Alloc>::
1412:       _M_insert_aux(iterator __position, _Arg&& __arg)
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     {
1412:       ;
1412:       _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1412:           std::move(*(this->_M_impl._M_finish - 1)));
1412:       ++this->_M_impl._M_finish;
1412:       ;
1412: 
1412: 
1412: 
1412:       std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1)
1412: 
1412:                                      ;
1412: 
1412: 
1412: 
1412:       *__position = std::forward<_Arg>(__arg);
1412: 
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename... _Args>
1412:      
1412:       void
1412:       vector<_Tp, _Alloc>::
1412:       _M_realloc_insert(iterator __position, _Args&&... __args)
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     {
1412:       const size_type __len =
1412:  _M_check_len(size_type(1), "vector::_M_realloc_insert");
1412:       pointer __old_start = this->_M_impl._M_start;
1412:       pointer __old_finish = this->_M_impl._M_finish;
1412:       const size_type __elems_before = __position - begin();
1412:       pointer __new_start(this->_M_allocate(__len));
1412:       pointer __new_finish(__new_start);
1412:       try
1412:  {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:    _Alloc_traits::construct(this->_M_impl,
1412:        __new_start + __elems_before,
1412: 
1412:        std::forward<_Args>(__args)...);
1412: 
1412: 
1412: 
1412:    __new_finish = pointer();
1412: 
1412: 
1412:    if constexpr (_S_use_relocate())
1412:      {
1412:        __new_finish = _S_relocate(__old_start, __position.base(),
1412:       __new_start, _M_get_Tp_allocator());
1412: 
1412:        ++__new_finish;
1412: 
1412:        __new_finish = _S_relocate(__position.base(), __old_finish,
1412:       __new_finish, _M_get_Tp_allocator());
1412:      }
1412:    else
1412: 
1412:      {
1412:        __new_finish
1412:   = std::__uninitialized_move_if_noexcept_a
1412:   (__old_start, __position.base(),
1412:    __new_start, _M_get_Tp_allocator());
1412: 
1412:        ++__new_finish;
1412: 
1412:        __new_finish
1412:   = std::__uninitialized_move_if_noexcept_a
1412:   (__position.base(), __old_finish,
1412:    __new_finish, _M_get_Tp_allocator());
1412:      }
1412:  }
1412:       catch(...)
1412:  {
1412:    if (!__new_finish)
1412:      _Alloc_traits::destroy(this->_M_impl,
1412:        __new_start + __elems_before);
1412:    else
1412:      std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
1412:    _M_deallocate(__new_start, __len);
1412:    throw;
1412:  }
1412: 
1412:       if constexpr (!_S_use_relocate())
1412: 
1412:  std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator());
1412:       ;
1412:       _M_deallocate(__old_start,
1412:       this->_M_impl._M_end_of_storage - __old_start);
1412:       this->_M_impl._M_start = __new_start;
1412:       this->_M_impl._M_finish = __new_finish;
1412:       this->_M_impl._M_end_of_storage = __new_start + __len;
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     void
1412:     vector<_Tp, _Alloc>::
1412:     _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
1412:     {
1412:       if (__n != 0)
1412:  {
1412:    if (size_type(this->_M_impl._M_end_of_storage
1412:    - this->_M_impl._M_finish) >= __n)
1412:      {
1412: 
1412: 
1412: 
1412:        _Temporary_value __tmp(this, __x);
1412:        value_type& __x_copy = __tmp._M_val();
1412: 
1412:        const size_type __elems_after = end() - __position;
1412:        pointer __old_finish(this->_M_impl._M_finish);
1412:        if (__elems_after > __n)
1412:   {
1412:     ;
1412:     std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1412:            this->_M_impl._M_finish,
1412:            this->_M_impl._M_finish,
1412:            _M_get_Tp_allocator());
1412:     this->_M_impl._M_finish += __n;
1412:     ;
1412:     std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1412:                                         ;
1412:     std::fill(__position.base(), __position.base() + __n,
1412:        __x_copy);
1412:   }
1412:        else
1412:   {
1412:     ;
1412:     this->_M_impl._M_finish =
1412:       std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1412:         __n - __elems_after,
1412:         __x_copy,
1412:         _M_get_Tp_allocator());
1412:     ;
1412:     std::__uninitialized_move_a(__position.base(), __old_finish,
1412:            this->_M_impl._M_finish,
1412:            _M_get_Tp_allocator());
1412:     this->_M_impl._M_finish += __elems_after;
1412:     ;
1412:     std::fill(__position.base(), __old_finish, __x_copy);
1412:   }
1412:      }
1412:    else
1412:      {
1412:        const size_type __len =
1412:   _M_check_len(__n, "vector::_M_fill_insert");
1412:        const size_type __elems_before = __position - begin();
1412:        pointer __new_start(this->_M_allocate(__len));
1412:        pointer __new_finish(__new_start);
1412:        try
1412:   {
1412: 
1412:     std::__uninitialized_fill_n_a(__new_start + __elems_before,
1412:       __n, __x,
1412:       _M_get_Tp_allocator());
1412:     __new_finish = pointer();
1412: 
1412:     __new_finish
1412:       = std::__uninitialized_move_if_noexcept_a
1412:       (this->_M_impl._M_start, __position.base(),
1412:        __new_start, _M_get_Tp_allocator());
1412: 
1412:     __new_finish += __n;
1412: 
1412:     __new_finish
1412:       = std::__uninitialized_move_if_noexcept_a
1412:       (__position.base(), this->_M_impl._M_finish,
1412:        __new_finish, _M_get_Tp_allocator());
1412:   }
1412:        catch(...)
1412:   {
1412:     if (!__new_finish)
1412:       std::_Destroy(__new_start + __elems_before,
1412:       __new_start + __elems_before + __n,
1412:       _M_get_Tp_allocator());
1412:     else
1412:       std::_Destroy(__new_start, __new_finish,
1412:       _M_get_Tp_allocator());
1412:     _M_deallocate(__new_start, __len);
1412:     throw;
1412:   }
1412:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:        _M_get_Tp_allocator());
1412:        ;
1412:        _M_deallocate(this->_M_impl._M_start,
1412:        this->_M_impl._M_end_of_storage
1412:       tor(__n);
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     clear() noexcept
1417:     {
1417:       this->_M_deallocate_nodes(_M_begin());
1417:       __builtin_memset(_M_buckets, 0,
1417:          _M_bucket_count * sizeof(__node_base_ptr));
1417:       _M_element_count = 0;
1417:       _M_before_begin._M_nxt = nullptr;
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     rehash(size_type __bkt_count)
1417:     {
1417:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1417:       __bkt_count
1417:  = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1),
1417:      __bkt_count);
1417:       __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count);
1417: 
1417:       if (__bkt_count != _M_bucket_count)
1417:  _M_rehash(__bkt_count, __saved_state);
1417:       else
1417: 
1417: 
1417:  _M_rehash_policy._M_reset(__saved_state);
1417:     }
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_rehash(size_type __bkt_count, const __rehash_state& __state)
1417:     {
1417:       try
1417:  {
1417:    _M_rehash_aux(__bkt_count, __unique_keys{});
1417:  }
1417:       catch(...)
1417:  {
1417: 
1417: 
1417:    _M_rehash_policy._M_reset(__state);
1417:    throw;
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_rehash_aux(size_type __bkt_count, true_type )
1417:     {
1417:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1417:       __node_ptr __p = _M_begin();
1417:       _M_before_begin._M_nxt = nullptr;
1417:       std::size_t __bbegin_bkt = 0;
1417:       while (__p)
1417:  {
1417:    __node_ptr __next = __p->_M_next();
1417:    std::size_t __bkt
1417:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1417:    if (!__new_buckets[__bkt])
1417:      {
1417:        __p->_M_nxt = _M_before_begin._M_nxt;
1417:        _M_before_begin._M_nxt = __p;
1417:        __new_buckets[__bkt] = &_M_before_begin;
1417:        if (__p->_M_nxt)
1417:   __new_buckets[__bbegin_bkt] = __p;
1417:        __bbegin_bkt = __bkt;
1417:      }
1417:    else
1417:      {
1417:        __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1417:        __new_buckets[__bkt]->_M_nxt = __p;
1417:      }
1417: 
1417:    __p = __next;
1417:  }
1417: 
1417:       _M_deallocate_buckets();
1417:       _M_bucket_count = __bkt_count;
1417:       _M_buckets = __new_buckets;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Value, typename _Alloc,
1417:     typename _ExtractKey, typename _Equal,
1417:     typename _Hash, typename _RangeHash, typename _Unused,
1417:     typename _RehashPolicy, typename _Traits>
1417:     void
1417:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1417:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1417:     _M_rehash_aux(size_type __bkt_count, false_type )
1417:     {
1417:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1417:       __node_ptr __p = _M_begin();
1417:       _M_before_begin._M_nxt = nullptr;
1417:       std::size_t __bbegin_bkt = 0;
1417:       std::size_t __prev_bkt = 0;
1417:       __node_ptr __prev_p = nullptr;
1417:       bool __check_bucket = false;
1417: 
1417:       while (__p)
1417:  {
1417:    __node_ptr __next = __p->_M_next();
1417:    std::size_t __bkt
1417:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1417: 
1417:    if (__prev_p && __prev_bkt == __bkt)
1417:      {
1417: 
1417: 
1417: 
1417:        __p->_M_nxt = __prev_p->_M_nxt;
1417:        __prev_p->_M_nxt = __p;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:        __check_bucket = true;
1417:      }
1417:    else
1417:      {
1417:        if (__check_bucket)
1417:   {
1417: 
1417: 
1417:     if (__prev_p->_M_nxt)
1417:       {
1417:         std::size_t __next_bkt
1417:    = __hash_code_base::_M_bucket_index(
1417:      *__prev_p->_M_next(), __bkt_count);
1417:         if (__next_bkt != __prev_bkt)
1417:    __new_buckets[__next_bkt] = __prev_p;
1417:       }
1417:     __check_bucket = false;
1417:   }
1417: 
1417:        if (!__new_buckets[__bkt])
1417:   {
1417:     __p->_M_nxt = _M_before_begin._M_nxt;
1417:     _M_before_begin._M_nxt = __p;
1417:     __new_buckets[__bkt] = &_M_before_begin;
1417:     if (__p->_M_nxt)
1417:       __new_buckets[__bbegin_bkt] = __p;
1417:     __bbegin_bkt = __bkt;
1417:   }
1417:        else
1417:   {
1417:     __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1417:     __new_buckets[__bkt]->_M_nxt = __p;
1417:   }
1417:      }
1417:    __prev_p = __p;
1417:    __prev_bkt = __bkt;
1417:    __p = __next;
1417:  }
1417: 
1417:       if (__check_bucket && __prev_p->_M_nxt)
1417:  {
1417:    std::size_t __next_bkt
1417:      = __hash_code_base::_M_bucket_index(*__prev_p->_M_next(),
1417:       __bkt_count);
1417:    if (__next_bkt != __prev_bkt)
1417:      __new_buckets[__next_bkt] = __prev_p;
1417:  }
1417: 
1417:       _M_deallocate_buckets();
1417:       _M_bucket_count = __bkt_count;
1417:       _M_buckets = __new_buckets;
1417:     }
1417: 
1417: 
1417:   template<typename, typename, typename> class _Hash_merge_helper { };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Hash>
1417:     using _RequireNotAllocatorOrIntegral
1417:       = __enable_if_t<!__or_<is_integral<_Hash>, __is_allocator<_Hash>>::value>;
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 47 "/usr/include/c++/12/unordered_map" 2 3
1417: # 1 "/usr/include/c++/12/bits/unordered_map.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/unordered_map.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<bool _Cache>
1417:     using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>;
1417: 
1417:   template<typename _Key,
1417:     typename _Tp,
1417:     typename _Hash = hash<_Key>,
1417:     typename _Pred = std::equal_to<_Key>,
1417:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1417:     typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>>
1417:     using __umap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1417:                                         _Alloc, __detail::_Select1st,
1417:             _Pred, _Hash,
1417:             __detail::_Mod_range_hashing,
1417:             __detail::_Default_ranged_hash,
1417:             __detail::_Prime_rehash_policy, _Tr>;
1417: 
1417: 
1417:   template<bool _Cache>
1417:     using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>;
1417: 
1417:   template<typename _Key,
1417:     typename _Tp,
1417:     typename _Hash = hash<_Key>,
1417:     typename _Pred = std::equal_to<_Key>,
1417:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1417:     typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>>
1417:     using __ummap - this->_M_impl._M_start);
1412:        this->_M_impl._M_start = __new_start;
1412:        this->_M_impl._M_finish = __new_finish;
1412:        this->_M_impl._M_end_of_storage = __new_start + __len;
1412:      }
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     void
1412:     vector<_Tp, _Alloc>::
1412:     _M_default_append(size_type __n)
1412:     {
1412:       if (__n != 0)
1412:  {
1412:    const size_type __size = size();
1412:    size_type __navail = size_type(this->_M_impl._M_end_of_storage
1412:       - this->_M_impl._M_finish);
1412: 
1412:    if (__size > max_size() || __navail > max_size() - __size)
1412:      __builtin_unreachable();
1412: 
1412:    if (__navail >= __n)
1412:      {
1412:        ;
1412:        this->_M_impl._M_finish =
1412:   std::__uninitialized_default_n_a(this->_M_impl._M_finish,
1412:        __n, _M_get_Tp_allocator());
1412:        ;
1412:      }
1412:    else
1412:      {
1412:        const size_type __len =
1412:   _M_check_len(__n, "vector::_M_default_append");
1412:        pointer __new_start(this->_M_allocate(__len));
1412:        if constexpr (_S_use_relocate())
1412:   {
1412:     try
1412:       {
1412:         std::__uninitialized_default_n_a(__new_start + __size,
1412:          __n, _M_get_Tp_allocator());
1412:       }
1412:     catch(...)
1412:       {
1412:         _M_deallocate(__new_start, __len);
1412:         throw;
1412:       }
1412:     _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:          __new_start, _M_get_Tp_allocator());
1412:   }
1412:        else
1412:   {
1412:     pointer __destroy_from = pointer();
1412:     try
1412:       {
1412:         std::__uninitialized_default_n_a(__new_start + __size,
1412:          __n, _M_get_Tp_allocator());
1412:         __destroy_from = __new_start + __size;
1412:         std::__uninitialized_move_if_noexcept_a(
1412:          this->_M_impl._M_start, this->_M_impl._M_finish,
1412:          __new_start, _M_get_Tp_allocator());
1412:       }
1412:     catch(...)
1412:       {
1412:         if (__destroy_from)
1412:    std::_Destroy(__destroy_from, __destroy_from + __n,
1412:           _M_get_Tp_allocator());
1412:         _M_deallocate(__new_start, __len);
1412:         throw;
1412:       }
1412:     std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:     _M_get_Tp_allocator());
1412:   }
1412:        ;
1412:        _M_deallocate(this->_M_impl._M_start,
1412:        this->_M_impl._M_end_of_storage
1412:        - this->_M_impl._M_start);
1412:        this->_M_impl._M_start = __new_start;
1412:        this->_M_impl._M_finish = __new_start + __size + __n;
1412:        this->_M_impl._M_end_of_storage = __new_start + __len;
1412:      }
1412:  }
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:    
1412:     bool
1412:     vector<_Tp, _Alloc>::
1412:     _M_shrink_to_fit()
1412:     {
1412:       if (capacity() == size())
1412:  return false;
1412:       ;
1412:       return std::__shrink_to_fit_aux<vector>::_S_do_it(*this);
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename _InputIterator>
1412:      
1412:       void
1412:       vector<_Tp, _Alloc>::
1412:       _M_range_insert(iterator __pos, _InputIterator __first,
1412:         _InputIterator __last, std::input_iterator_tag)
1412:       {
1412:  if (__pos == end())
1412:    {
1412:      for (; __first != __last; ++__first)
1412:        insert(end(), *__first);
1412:    }
1412:  else if (__first != __last)
1412:    {
1412:      vector __tmp(__first, __last, _M_get_Tp_allocator());
1412:      insert(__pos,
1412:      std::make_move_iterator(__tmp.begin()),
1412:      std::make_move_iterator(__tmp.end()));
1412:    }
1412:       }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename _ForwardIterator>
1412:      
1412:       void
1412:       vector<_Tp, _Alloc>::
1412:       _M_range_insert(iterator __position, _ForwardIterator __first,
1412:         _ForwardIterator __last, std::forward_iterator_tag)
1412:       {
1412:  if (__first != __last)
1412:    {
1412:      const size_type __n = std::distance(__first, __last);
1412:      if (size_type(this->_M_impl._M_end_of_storage
1412:      - this->_M_impl._M_finish) >= __n)
1412:        {
1412:   const size_type __elems_after = end() - __position;
1412:   pointer __old_finish(this->_M_impl._M_finish);
1412:   if (__elems_after > __n)
1412:     {
1412:       ;
1412:       std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1412:       this->_M_impl._M_finish,
1412:       this->_M_impl._M_finish,
1412:       _M_get_Tp_allocator());
1412:       this->_M_impl._M_finish += __n;
1412:       ;
1412:       std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1412:                                           ;
1412:       std::copy(__first, __last, __position);
1412:     }
1412:   else
1412:     {
1412:       _ForwardIterator __mid = __first;
1412:       std::advance(__mid, __elems_after);
1412:       ;
1412:       std::__uninitialized_copy_a(__mid, __last,
1412:       this->_M_impl._M_finish,
1412:       _M_get_Tp_allocator());
1412:       this->_M_impl._M_finish += __n - __elems_after;
1412:       ;
1412:       std::__uninitialized_move_a(__position.base(),
1412:       __old_finish,
1412:       this->_M_impl._M_finish,
1412:       _M_get_Tp_allocator());
1412:       this->_M_impl._M_finish += __elems_after;
1412:       ;
1412:       std::copy(__first, __mid, __position);
1412:     }
1412:        }
1412:      else
1412:        {
1412:   const size_type __len =
1412:     _M_check_len(__n, "vector::_M_range_insert");
1412:   pointer __new_start(this->_M_allocate(__len));
1412:   pointer __new_finish(__new_start);
1412:   try
1412:     {
1412:       __new_finish
1412:         = std::__uninitialized_move_if_noexcept_a
1412:         (this->_M_impl._M_start, __position.base(),
1412:          __new_start, _M_get_Tp_allocator());
1412:       __new_finish
1412:         = std::__uninitialized_copy_a(__first, __last,
1412:           __new_finish,
1412:           _M_get_Tp_allocator());
1412:       __new_finish
1412:         = std::__uninitialized_move_if_noexcept_a
1412:         (__position.base(), this->_M_impl._M_finish,
1412:          __new_finish, _M_get_Tp_allocator());
1412:     }
1412:   catch(...)
1412:     {
1412:       std::_Destroy(__new_start, __new_finish,
1412:       _M_get_Tp_allocator());
1412:       _M_deallocate(__new_start, __len);
1412:       throw;
1412:     }
1412:   std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1412:          _M_get_Tp_allocator());
1412:   ;
1412:   _M_deallocate(this->_M_impl._M_start,
1412:          this->_M_impl._M_end_of_storage
1412:          - this->_M_impl._M_start);
1412:   this->_M_impl._M_start = __new_start;
1412:   this->_M_impl._M_finish = __new_finish;
1412:   this->_M_impl._M_end_of_storage = __new_start + __len;
1412:        }
1412:    }
1412:       }
1412: 
1412: 
1412: 
1412:   template<typename _Alloc>
1412:    
1412:     void
1412:     vector<bool, _Alloc>::
1412:     _M_reallocate(size_type __n)
1412:     {
1412:       _Bit_pointer __q = this->_M_allocate(__n);
1412:       iterator __start(std::__addressof(*__q), 0);
1412:       iterator __finish(_M_copy_aligned(begin(), end(), __start));
1412:       this->_M_deallocate();
1412:       this->_M_impl._M_start = __start;
1412:       this->_M_impl._M_finish = __finish;
1412:       this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1412:     }
1412: 
1412:   template<typename _Alloc>
1412:    
1412:     void
1412:     vector<bool, _Alloc>::
1412:     _M_fill_insert(iterator __position, size_type __n, bool __x)
1412:     {
1412:       if (__n == 0)
1412:  return;
1412:       if (capacity() - size() >= __n)
1412:  {
1412:    std::copy_backward(__position, end(),
1412:         this->_M_impl._M_finish + difference_type(__n));
1412:    std::fill(__position, __position + difference_type(__n), __x);
1412:    this->_M_impl._M_finish += difference_type(__n);
1412:  }
1412:       else
1412:  {
1412:    const size_type __len =
1412:      _hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1417:       _Alloc, __detail::_Select1st,
1417:       _Pred, _Hash,
1417:       __detail::_Mod_range_hashing,
1417:       __detail::_Default_ranged_hash,
1417:       __detail::_Prime_rehash_policy, _Tr>;
1417: 
1417:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1417:     class unordered_multimap;
1417: # 98 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:   template<typename _Key, typename _Tp,
1417:     typename _Hash = hash<_Key>,
1417:     typename _Pred = equal_to<_Key>,
1417:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1417:     class unordered_map
1417:     {
1417:       typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1417:       _Hashtable _M_h;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef typename _Hashtable::key_type key_type;
1417:       typedef typename _Hashtable::value_type value_type;
1417:       typedef typename _Hashtable::mapped_type mapped_type;
1417:       typedef typename _Hashtable::hasher hasher;
1417:       typedef typename _Hashtable::key_equal key_equal;
1417:       typedef typename _Hashtable::allocator_type allocator_type;
1417: 
1417: 
1417: 
1417: 
1417:       typedef typename _Hashtable::pointer pointer;
1417:       typedef typename _Hashtable::const_pointer const_pointer;
1417:       typedef typename _Hashtable::reference reference;
1417:       typedef typename _Hashtable::const_reference const_reference;
1417:       typedef typename _Hashtable::iterator iterator;
1417:       typedef typename _Hashtable::const_iterator const_iterator;
1417:       typedef typename _Hashtable::local_iterator local_iterator;
1417:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1417:       typedef typename _Hashtable::size_type size_type;
1417:       typedef typename _Hashtable::difference_type difference_type;
1417: 
1417: 
1417: 
1417:       using node_type = typename _Hashtable::node_type;
1417:       using insert_return_type = typename _Hashtable::insert_return_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unordered_map() = default;
1417: # 150 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       explicit
1417:       unordered_map(size_type __n,
1417:       const hasher& __hf = hasher(),
1417:       const key_equal& __eql = key_equal(),
1417:       const allocator_type& __a = allocator_type())
1417:       : _M_h(__n, __hf, __eql, __a)
1417:       { }
1417: # 171 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename _InputIterator>
1417:  unordered_map(_InputIterator __first, _InputIterator __last,
1417:         size_type __n = 0,
1417:         const hasher& __hf = hasher(),
1417:         const key_equal& __eql = key_equal(),
1417:         const allocator_type& __a = allocator_type())
1417:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1417:  { }
1417: 
1417: 
1417:       unordered_map(const unordered_map&) = default;
1417: 
1417: 
1417:       unordered_map(unordered_map&&) = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       unordered_map(const allocator_type& __a)
1417:  : _M_h(__a)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unordered_map(const unordered_map& __umap,
1417:       const allocator_type& __a)
1417:       : _M_h(__umap._M_h, __a)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unordered_map(unordered_map&& __umap,
1417:       const allocator_type& __a)
1417:  noexcept( noexcept(_Hashtable(std::move(__umap._M_h), __a)) )
1417:       : _M_h(std::move(__umap._M_h), __a)
1417:       { }
1417: # 227 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       unordered_map(initializer_list<value_type> __l,
1417:       size_type __n = 0,
1417:       const hasher& __hf = hasher(),
1417:       const key_equal& __eql = key_equal(),
1417:       const allocator_type& __a = allocator_type())
1417:       : _M_h(__l, __n, __hf, __eql, __a)
1417:       { }
1417: 
1417:       unordered_map(size_type __n, const allocator_type& __a)
1417:       : unordered_map(__n, hasher(), key_equal(), __a)
1417:       { }
1417: 
1417:       unordered_map(size_type __n, const hasher& __hf,
1417:       const allocator_type& __a)
1417:       : unordered_map(__n, __hf, key_equal(), __a)
1417:       { }
1417: 
1417:       template<typename _InputIterator>
1417:  unordered_map(_InputIterator __first, _InputIterator __last,
1417:         size_type __n,
1417:         const allocator_type& __a)
1417:  : unordered_map(__first, __last, __n, hasher(), key_equal(), __a)
1417:  { }
1417: 
1417:       template<typename _InputIterator>
1417:  unordered_map(_InputIterator __first, _InputIterator __last,
1417:         size_type __n, const hasher& __hf,
1417:         const allocator_type& __a)
1417:    : unordered_map(__first, __last, __n, __hf, key_equal(), __a)
1417:  { }
1417: 
1417:       unordered_map(initializer_list<value_type> __l,
1417:       size_type __n,
1417:       const allocator_type& __a)
1417:       : unordered_map(__l, __n, hasher(), key_equal(), __a)
1417:       { }
1417: 
1417:       unordered_map(initializer_list<value_type> __l,
1417:       size_type __n, const hasher& __hf,
1417:       const allocator_type& __a)
1417:       : unordered_map(__l, __n, __hf, key_equal(), __a)
1417:       { }
1417: 
1417: 
1417:       unordered_map&
1417:       operator=(const unordered_map&) = default;
1417: 
1417: 
1417:       unordered_map&
1417:       operator=(unordered_map&&) = default;
1417: # 289 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       unordered_map&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  _M_h = __l;
1417:  return *this;
1417:       }
1417: 
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return _M_h.get_allocator(); }
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _M_h.empty(); }
1417: 
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_h.size(); }
1417: 
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _M_h.max_size(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       begin() noexcept
1417:       { return _M_h.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return _M_h.begin(); }
1417: 
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return _M_h.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       end() noexcept
1417:       { return _M_h.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       end() const noexcept
1417:       { return _M_h.end(); }
1417: 
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return _M_h.end(); }
1417: # 386 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename... _Args>
1417:  std::pair<iterator, bool>
1417:  emplace(_Args&&... __args)
1417:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1417: # 417 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace_hint(const_iterator __pos, _Args&&... __args)
1417:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1417: 
1417: 
1417: 
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1417:  return _M_h.extract(__pos);
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const key_type& __key)
1417:       { return _M_h.extract(__key); }
1417: 
1417: 
1417:       insert_return_type
1417:       insert(node_type&& __nh)
1417:       { return _M_h._M_reinsert_node(std::move(__nh)); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator, node_type&& __nh)
1417:       { return _M_h._M_reinsert_node(std::move(__nh)).position; }
1417: # 469 "/usr/include/c_M_check_len(__n, "vector<bool>::_M_fill_insert");
1412:    _Bit_pointer __q = this->_M_allocate(__len);
1412:    iterator __start(std::__addressof(*__q), 0);
1412:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1412:    std::fill(__i, __i + difference_type(__n), __x);
1412:    iterator __finish = std::copy(__position, end(),
1412:      __i + difference_type(__n));
1412:    this->_M_deallocate();
1412:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1412:    this->_M_impl._M_start = __start;
1412:    this->_M_impl._M_finish = __finish;
1412:  }
1412:     }
1412: 
1412:   template<typename _Alloc>
1412:     template<typename _ForwardIterator>
1412:      
1412:       void
1412:       vector<bool, _Alloc>::
1412:       _M_insert_range(iterator __position, _ForwardIterator __first,
1412:         _ForwardIterator __last, std::forward_iterator_tag)
1412:       {
1412:  if (__first != __last)
1412:    {
1412:      size_type __n = std::distance(__first, __last);
1412:      if (capacity() - size() >= __n)
1412:        {
1412:   std::copy_backward(__position, end(),
1412:        this->_M_impl._M_finish
1412:        + difference_type(__n));
1412:   std::copy(__first, __last, __position);
1412:   this->_M_impl._M_finish += difference_type(__n);
1412:        }
1412:      else
1412:        {
1412:   const size_type __len =
1412:     _M_check_len(__n, "vector<bool>::_M_insert_range");
1412:   _Bit_pointer __q = this->_M_allocate(__len);
1412:   iterator __start(std::__addressof(*__q), 0);
1412:   iterator __i = _M_copy_aligned(begin(), __position, __start);
1412:   __i = std::copy(__first, __last, __i);
1412:   iterator __finish = std::copy(__position, end(), __i);
1412:   this->_M_deallocate();
1412:   this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1412:   this->_M_impl._M_start = __start;
1412:   this->_M_impl._M_finish = __finish;
1412:        }
1412:    }
1412:       }
1412: 
1412:   template<typename _Alloc>
1412:    
1412:     void
1412:     vector<bool, _Alloc>::
1412:     _M_insert_aux(iterator __position, bool __x)
1412:     {
1412:       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1412:  {
1412:    std::copy_backward(__position, this->_M_impl._M_finish,
1412:         this->_M_impl._M_finish + 1);
1412:    *__position = __x;
1412:    ++this->_M_impl._M_finish;
1412:  }
1412:       else
1412:  {
1412:    const size_type __len =
1412:      _M_check_len(size_type(1), "vector<bool>::_M_insert_aux");
1412:    _Bit_pointer __q = this->_M_allocate(__len);
1412:    iterator __start(std::__addressof(*__q), 0);
1412:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1412:    *__i++ = __x;
1412:    iterator __finish = std::copy(__position, end(), __i);
1412:    this->_M_deallocate();
1412:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1412:    this->_M_impl._M_start = __start;
1412:    this->_M_impl._M_finish = __finish;
1412:  }
1412:     }
1412: 
1412:   template<typename _Alloc>
1412:    
1412:     typename vector<bool, _Alloc>::iterator
1412:     vector<bool, _Alloc>::
1412:     _M_erase(iterator __position)
1412:     {
1412:       if (__position + 1 != end())
1412:         std::copy(__position + 1, end(), __position);
1412:       --this->_M_impl._M_finish;
1412:       return __position;
1412:     }
1412: 
1412:   template<typename _Alloc>
1412:    
1412:     typename vector<bool, _Alloc>::iterator
1412:     vector<bool, _Alloc>::
1412:     _M_erase(iterator __first, iterator __last)
1412:     {
1412:       if (__first != __last)
1412:  _M_erase_at_end(std::copy(__last, end(), __first));
1412:       return __first;
1412:     }
1412: 
1412: 
1412:   template<typename _Alloc>
1412:    
1412:     bool
1412:     vector<bool, _Alloc>::
1412:     _M_shrink_to_fit()
1412:     {
1412:       if (capacity() - size() < int(_S_word_bit))
1412:  return false;
1412:       try
1412:  {
1412:    if (size_type __n = size())
1412:      _M_reallocate(__n);
1412:    else
1412:      {
1412:        this->_M_deallocate();
1412:        this->_M_impl._M_reset();
1412:      }
1412:    return true;
1412:  }
1412:       catch(...)
1412:  { return false; }
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _Alloc>
1412:     size_t
1412:     hash<std::vector<bool, _Alloc>>::
1412:     operator()(const std::vector<bool, _Alloc>& __b) const noexcept
1412:     {
1412:       size_t __hash = 0;
1412:       const size_t __words = __b.size() / _S_word_bit;
1412:       if (__words)
1412:  {
1412:    const size_t __clength = __words * sizeof(_Bit_type);
1412:    __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength);
1412:  }
1412: 
1412:       const size_t __extrabits = __b.size() % _S_word_bit;
1412:       if (__extrabits)
1412:  {
1412:    _Bit_type __hiword = *__b._M_impl._M_finish._M_p;
1412:    __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits);
1412: 
1412:    const size_t __clength
1412:      = (__extrabits + 8 - 1) / 8;
1412:    if (__words)
1412:      __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash);
1412:    else
1412:      __hash = std::_Hash_impl::hash(&__hiword, __clength);
1412:  }
1412: 
1412:       return __hash;
1412:     }
1412: 
1412: 
1412: }
1412: # 71 "/usr/include/c++/12/vector" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412:   namespace pmr {
1412:     template<typename _Tp> class polymorphic_allocator;
1412:     template<typename _Tp>
1412:       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h" 2
1412: 
1412: 
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h"
1412: class CVariant;
1412: enum class VideoDbContentType;
1412: 
1412: namespace dbiplus
1412: {
1412:   class Dataset;
1412:   class field_value;
1412: }
1412: 
1412: typedef enum
1412: {
1412: 
1412:   FieldUnknown = -1,
1412:   FieldNone = 0,
1412:   FieldSort,
1412:   FieldSortSpecial,
1412:   FieldLabel,
1412:   FieldFolder,
1412:   FieldMediaType,
1412:   FieldRow,
1412: 
1412: 
1412:   FieldSize,
1412:   FieldDate,
1412:   FieldDriveType,
1412:   FieldStartOffset,
1412:   FieldEndOffset,
1412:   FieldProgramCount,
1412:   FieldBitrate,
1412:   FieldListeners,
1412:   FieldPlaylist,
1412:   FieldVirtualFolder,
1412:   FieldRandom,
1412:   FieldDateTaken,
1412:   FieldAudioCount,
1412:   FieldSubtitleCount,
1412: 
1412:   FieldInstallDate,
1412:   FieldLastUpdated,
1412:   FieldLastUsed,
1412: 
1412: 
1412:   FieldId,
1412:   FieldGenre,
1412:   FieldAlbum,
1412:   FieldDiscTitle,
1412:   FieldIsBoxset,
1412:   FieldTotalDiscs,
1412:   FieldOrigYear,
1412:   FieldOrigDate,
1412:   FieldArtist,
1412:   FieldArtistSort,
1412:   FieldAlbumArtist,
1412:   FieldTitle,
1412:   FieldSortTitle,
1412:   FieldOriginalTitle,
1412:   FieldYear,
1412:   FieldTime,
1412:   FieldTrackNumber,
1412:   FieldFilename,
1412:   FieldPath,
1412:   FieldPlaycount,
1412:   FieldLastPlayed,
1412:   FieldInProgress,
1412:   FieldRating,
1412:   FieldComment,
1412:   FieldRole,
1412:   FieldDateAdded,
1412:   FieldDateModified,
1412:   FieldDateNew,
1412:   FieldTvShowTitle,
1412:   FieldPlot,
1412:   FieldPlotOutline,
1412:   FieldTagline,
1412:   FieldTvShowStatus,
1412:   FieldVotes,
1412:   FieldDirector,
1412:   FieldActor,
1412:   FieldStudio,
1412:   FieldCountry,
1412:   FieldMPAA,
1412:   FieldTop250,
1412:   FieldSet,
1412:   FieldNumberOfEpisodes,
1412:   FieldNumberOfWatchedEpisodes,
1412:   FieldWriter,
1412:   FieldAirDate,
1412:   FieldEpisodeNumber,
1412:   FieldUniqueId,
1412:   FieldSeason,
1412:   FieldEpisodeNumberSpecialSort,
1412:   FieldSeasonSpecialSort,
1412:   FieldReview,
1412:   FieldThemes,
1412:   FieldMoods,
1412:   FieldStyles,
1412:   FieldAlbumType,
1412:   FieldMusicLabel,
1412:   FieldCompilation,
1412:   FieldSource,
1412:   FieldTrailer,
1412:   FieldVideoResolution,
141++/12/bits/unordered_map.h" 3
1417:       template <typename... _Args>
1417:  pair<iterator, bool>
1417:  try_emplace(const key_type& __k, _Args&&... __args)
1417:  {
1417:    return _M_h.try_emplace(cend(), __k, std::forward<_Args>(__args)...);
1417:  }
1417: 
1417: 
1417:       template <typename... _Args>
1417:  pair<iterator, bool>
1417:  try_emplace(key_type&& __k, _Args&&... __args)
1417:  {
1417:    return _M_h.try_emplace(cend(), std::move(__k),
1417:       std::forward<_Args>(__args)...);
1417:  }
1417: # 513 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template <typename... _Args>
1417:  iterator
1417:  try_emplace(const_iterator __hint, const key_type& __k,
1417:       _Args&&... __args)
1417:  {
1417:    return _M_h.try_emplace(__hint, __k,
1417:       std::forward<_Args>(__args)...).first;
1417:  }
1417: 
1417: 
1417:       template <typename... _Args>
1417:  iterator
1417:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1417:  {
1417:    return _M_h.try_emplace(__hint, std::move(__k),
1417:       std::forward<_Args>(__args)...).first;
1417:  }
1417: # 550 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       std::pair<iterator, bool>
1417:       insert(const value_type& __x)
1417:       { return _M_h.insert(__x); }
1417: 
1417: 
1417: 
1417:       std::pair<iterator, bool>
1417:       insert(value_type&& __x)
1417:       { return _M_h.insert(std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair&&>::value,
1417:         pair<iterator, bool>>
1417:  insert(_Pair&& __x)
1417:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1417: # 589 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       insert(const_iterator __hint, const value_type& __x)
1417:       { return _M_h.insert(__hint, __x); }
1417: 
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, value_type&& __x)
1417:       { return _M_h.insert(__hint, std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1417:  insert(const_iterator __hint, _Pair&& __x)
1417:  { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1417: # 614 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  insert(_InputIterator __first, _InputIterator __last)
1417:  { _M_h.insert(__first, __last); }
1417: # 626 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       insert(initializer_list<value_type> __l)
1417:       { _M_h.insert(__l); }
1417: # 652 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template <typename _Obj>
1417:  pair<iterator, bool>
1417:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1417:  {
1417:    auto __ret = _M_h.try_emplace(cend(), __k,
1417:      std::forward<_Obj>(__obj));
1417:    if (!__ret.second)
1417:      __ret.first->second = std::forward<_Obj>(__obj);
1417:    return __ret;
1417:  }
1417: 
1417: 
1417:       template <typename _Obj>
1417:  pair<iterator, bool>
1417:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1417:  {
1417:    auto __ret = _M_h.try_emplace(cend(), std::move(__k),
1417:      std::forward<_Obj>(__obj));
1417:    if (!__ret.second)
1417:      __ret.first->second = std::forward<_Obj>(__obj);
1417:    return __ret;
1417:  }
1417: # 701 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template <typename _Obj>
1417:  iterator
1417:  insert_or_assign(const_iterator __hint, const key_type& __k,
1417:     _Obj&& __obj)
1417:  {
1417:    auto __ret = _M_h.try_emplace(__hint, __k, std::forward<_Obj>(__obj));
1417:    if (!__ret.second)
1417:      __ret.first->second = std::forward<_Obj>(__obj);
1417:    return __ret.first;
1417:  }
1417: 
1417: 
1417:       template <typename _Obj>
1417:  iterator
1417:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1417:  {
1417:    auto __ret = _M_h.try_emplace(__hint, std::move(__k),
1417:      std::forward<_Obj>(__obj));
1417:    if (!__ret.second)
1417:      __ret.first->second = std::forward<_Obj>(__obj);
1417:    return __ret.first;
1417:  }
1417: # 739 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       erase(const_iterator __position)
1417:       { return _M_h.erase(__position); }
1417: 
1417: 
1417:       iterator
1417:       erase(iterator __position)
1417:       { return _M_h.erase(__position); }
1417: # 761 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       size_type
1417:       erase(const key_type& __x)
1417:       { return _M_h.erase(__x); }
1417: # 779 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       erase(const_iterator __first, const_iterator __last)
1417:       { return _M_h.erase(__first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       clear() noexcept
1417:       { _M_h.clear(); }
1417: # 803 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       swap(unordered_map& __x)
1417:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1417:       { _M_h.swap(__x._M_h); }
1417: 
1417: 
1417:       template<typename, typename, typename>
1417:  friend class std::_Hash_merge_helper;
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1417:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1417:  }
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1417:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1417:  }
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       hasher
1417:       hash_function() const
1417:       { return _M_h.hash_function(); }
1417: 
1417: 
1417: 
1417:       key_equal
1417:       key_eq() const
1417:       { return _M_h.key_eq(); }
1417: # 867 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       find(const key_type& __x)
1417:       { return _M_h.find(__x); }
1417: # 878 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       const_iterator
1417:       find(const key_type& __x) const
1417:       { return _M_h.find(__x); }
1417: # 900 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       size_type
1417:       count(const key_type& __x) const
1417:       { return _M_h.count(__x); }
1417: # 940 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       std::pair<iterator, iterator>
1417:       equal_range(const key_type& __x)
1417:       { return _M_h.equal_range(__x); }
1417: # 952 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       std::pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __x) const
1417:       { return _M_h.equal_range(__x); }
1417: # 978 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       mapped_type&
1417:       operator[](const key_type& __k)
1417:       { return _M_h[__k]; }
1417: 
1417:       mapped_type&
1417:       operator[](key_type&& __k)
1417:       { return _M_h[std::move(__k)]; }
1417: # 995 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       mapped_type&
1417:       at(const key_type& __k)
1417:       { return _M_h.at(__k); }
1417: 
1417:       const mapped_type&
1417:       at(const key_type& __k) const
1417:       { return _M_h.at(__k); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       size_type
1417:       bucket_count() const noexcept
1417:       { return _M_h.bucket_count(); }
1417: 
1417: 
1417:       size_type
1417:       max_bucket_count() const noexcept
1417:       { return _M_h.max_bucket_count(); }
1417: 
14172:   FieldVideoAspectRatio,
1412:   FieldVideoCodec,
1412:   FieldAudioChannels,
1412:   FieldAudioCodec,
1412:   FieldAudioLanguage,
1412:   FieldSubtitleLanguage,
1412:   FieldProductionCode,
1412:   FieldTag,
1412:   FieldChannelName,
1412:   FieldChannelNumber,
1412:   FieldInstruments,
1412:   FieldBiography,
1412:   FieldArtistType,
1412:   FieldGender,
1412:   FieldDisambiguation,
1412:   FieldBorn,
1412:   FieldBandFormed,
1412:   FieldDisbanded,
1412:   FieldDied,
1412:   FieldStereoMode,
1412:   FieldUserRating,
1412:   FieldRelevance,
1412:   FieldClientChannelOrder,
1412:   FieldBPM,
1412:   FieldMusicBitRate,
1412:   FieldSampleRate,
1412:   FieldNoOfChannels,
1412:   FieldAlbumStatus,
1412:   FieldAlbumDuration,
1412:   FieldHdrType,
1412:   FieldProvider,
1412:   FieldUserPreference,
1412:   FieldMax
1412: } Field;
1412: 
1412: typedef std::set<Field> Fields;
1412: typedef std::vector<Field> FieldList;
1412: 
1412: typedef enum {
1412:   DatabaseQueryPartSelect,
1412:   DatabaseQueryPartWhere,
1412:   DatabaseQueryPartOrderBy,
1412: } DatabaseQueryPart;
1412: 
1412: typedef std::map<Field, CVariant> DatabaseResult;
1412: typedef std::vector<DatabaseResult> DatabaseResults;
1412: 
1412: class DatabaseUtils
1412: {
1412: public:
1412:   static MediaType MediaTypeFromVideoContentType(VideoDbContentType videoContentType);
1412: 
1412:   static std::string GetField(Field field, const MediaType &mediaType, DatabaseQueryPart queryPart);
1412:   static int GetField(Field field, const MediaType &mediaType);
1412:   static int GetFieldIndex(Field field, const MediaType &mediaType);
1412:   static bool GetSelectFields(const Fields &fields, const MediaType &mediaType, FieldList &selectFields);
1412: 
1412:   static bool GetFieldValue(const dbiplus::field_value &fieldValue, CVariant &variantValue);
1412:   static bool GetDatabaseResults(const MediaType &mediaType, const FieldList &fields, const std::unique_ptr<dbiplus::Dataset> &dataset, DatabaseResults &results);
1412: 
1412:   static std::string BuildLimitClause(int end, int start = 0);
1412:   static std::string BuildLimitClauseOnly(int end, int start = 0);
1412:   static size_t GetLimitCount(int end, int start);
1412: 
1412: private:
1412:   static int GetField(Field field, const MediaType &mediaType, bool asIndex);
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/LabelFormatter.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/LabelFormatter.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: namespace MUSIC_INFO
1412: {
1412:   class CMusicInfoTag;
1412: }
1412: 
1412: class CFileItem;
1412: 
1412: struct LABEL_MASKS
1412: {
1412:   LABEL_MASKS(const std::string& strLabelFile="", const std::string& strLabel2File="", const std::string& strLabelFolder="", const std::string& strLabel2Folder="") :
1412:     m_strLabelFile(strLabelFile),
1412:     m_strLabel2File(strLabel2File),
1412:     m_strLabelFolder(strLabelFolder),
1412:     m_strLabel2Folder(strLabel2Folder)
1412:   {}
1412:   std::string m_strLabelFile;
1412:   std::string m_strLabel2File;
1412:   std::string m_strLabelFolder;
1412:   std::string m_strLabel2Folder;
1412: };
1412: 
1412: class CLabelFormatter
1412: {
1412: public:
1412:   CLabelFormatter(const std::string &mask, const std::string &mask2);
1412: 
1412:   void FormatLabel(CFileItem *item) const;
1412:   void FormatLabel2(CFileItem *item) const;
1412:   void FormatLabels(CFileItem *item) const
1412:   {
1412:     FormatLabel(item);
1412:     FormatLabel2(item);
1412:   }
1412: 
1412:   bool FillMusicTag(const std::string &fileName, MUSIC_INFO::CMusicInfoTag *tag) const;
1412: 
1412: private:
1412:   class CMaskString
1412:   {
1412:   public:
1412:     CMaskString(const std::string &prefix, char content, const std::string &postfix) :
1412:       m_prefix(prefix),
1412:       m_postfix(postfix),
1412:       m_content(content)
1412:     {};
1412:     std::string m_prefix;
1412:     std::string m_postfix;
1412:     char m_content;
1412:   };
1412: 
1412: 
1412:   void AssembleMask(unsigned int label, const std::string &mask);
1412:   void SplitMask(unsigned int label, const std::string &mask);
1412: 
1412: 
1412:   std::string GetContent(unsigned int label, const CFileItem *item) const;
1412:   std::string GetMaskContent(const CMaskString &mask, const CFileItem *item) const;
1412:   void FillMusicMaskContent(const char mask, const std::string &value, MUSIC_INFO::CMusicInfoTag *tag) const;
1412: 
1412:   std::vector<std::string> m_staticContent[2];
1412:   std::vector<CMaskString> m_dynamicContent[2];
1412:   bool m_hideFileExtensions;
1412: };
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SortFileItem.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SortFileItem.h"
1412:        
1412: 
1412: typedef enum
1412: {
1412:   SORT_METHOD_NONE = 0,
1412:   SORT_METHOD_LABEL,
1412:   SORT_METHOD_LABEL_IGNORE_THE,
1412:   SORT_METHOD_DATE,
1412:   SORT_METHOD_SIZE,
1412:   SORT_METHOD_FILE,
1412:   SORT_METHOD_DRIVE_TYPE,
1412:   SORT_METHOD_TRACKNUM,
1412:   SORT_METHOD_DURATION,
1412:   SORT_METHOD_TITLE,
1412:   SORT_METHOD_TITLE_IGNORE_THE,
1412:   SORT_METHOD_ARTIST,
1412:   SORT_METHOD_ARTIST_AND_YEAR,
1412:   SORT_METHOD_ARTIST_IGNORE_THE,
1412:   SORT_METHOD_ALBUM,
1412:   SORT_METHOD_ALBUM_IGNORE_THE,
1412:   SORT_METHOD_GENRE,
1412:   SORT_METHOD_COUNTRY,
1412:   SORT_METHOD_YEAR,
1412:   SORT_METHOD_VIDEO_RATING,
1412:   SORT_METHOD_VIDEO_USER_RATING,
1412:   SORT_METHOD_DATEADDED,
1412:   SORT_METHOD_PROGRAM_COUNT,
1412:   SORT_METHOD_PLAYLIST_ORDER,
1412:   SORT_METHOD_EPISODE,
1412:   SORT_METHOD_VIDEO_TITLE,
1412:   SORT_METHOD_VIDEO_SORT_TITLE,
1412:   SORT_METHOD_VIDEO_SORT_TITLE_IGNORE_THE,
1412:   SORT_METHOD_PRODUCTIONCODE,
1412:   SORT_METHOD_SONG_RATING,
1412:   SORT_METHOD_SONG_USER_RATING,
1412:   SORT_METHOD_MPAA_RATING,
1412:   SORT_METHOD_VIDEO_RUNTIME,
1412:   SORT_METHOD_STUDIO,
1412:   SORT_METHOD_STUDIO_IGNORE_THE,
1412:   SORT_METHOD_FULLPATH,
1412:   SORT_METHOD_LABEL_IGNORE_FOLDERS,
1412:   SORT_METHOD_LASTPLAYED,
1412:   SORT_METHOD_PLAYCOUNT,
1412:   SORT_METHOD_LISTENERS,
1412:   SORT_METHOD_UNSORTED,
1412:   SORT_METHOD_CHANNEL,
1412:   SORT_METHOD_CHANNEL_NUMBER,
1412:   SORT_METHOD_BITRATE,
1412:   SORT_METHOD_DATE_TAKEN,
1412:   SORT_METHOD_CLIENT_CHANNEL_ORDER,
1412:   SORT_METHOD_TOTAL_DISCS,
1412:   SORT_METHOD_ORIG_DATE,
1412:   SORT_METHOD_BPM,
1412:   SORT_METHOD_VIDEO_ORIGINAL_TITLE,
1412:   SORT_METHOD_VIDEO_ORIGINAL_TITLE_IGNORE_THE,
1412:   SORT_METHOD_PROVIDER,
1412:   SORT_METHOD_USER_PREFERENCE,
1412:   SORT_METHOD_MAX
1412: } SORT_METHOD;
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h" 2
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef enum {
1412:   SortOrderNone = 0,
1412:   SortOrderAscending,
1412:   SortOrderDescending
1412: } SortOrder;
1412: 
1412: typedef enum {
1412:   SortAttributeNone = 0x0,
1412:   SortAttributeIgnoreArticle = 0x1,
1412:   SortAttributeIgnoreFolders = 0x2,
1412:   SortAttributeUseArtistSortName = 0x4,
1412:   SortAttributeIgnoreLabel = 0x8
1412: } SortAttribute;
1412: 
1412: typedef enum {
1412:   SortSpecialNone = 0,
1412:   SortSpecialOnTop = 1,
1412:   SortSpecialOnBottom = 2
1412: } SortSpecial;
1412: # 49 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h"
1412: typedef enum
1412: {
1412: 
1412:   SortByNone = 0,
1412: 
1412:   SortByLabel,
1412: 
1412:   SortByDate,
1412: 
1412:   SortBySize,
1412: 
1412:   SortByFile,
1412: 
1412:   SortByPath,
1412: 
1412:   SortByDriveType,
1412: 
1412:   SortByTitle,
1412: 
1412:   SortByTrackNumber,
1412: 
1412:   SortByTime,
1412: 
1412:   SortByArtist,
1412: 
1412:   SortByArtistThenYear,
1412: 
1412:   SortByAlbum,
1412: 
1412:   SortByAlbumType,
1412: 
1412:   SortByGenre,
1412: 
1412:   SortByCountry,
1412: 
1412:   SortByYear,
1412: 
1412:   SortByRating,
1412: 
1412:   SortByUserRating,
1412: 
1412:   SortByVotes,
1412: 
1412:   SortByTop250,
1412: 
1412:   SortByProgramCount,
1412: 
1412:   SortByPlaylistOrder,
1412: 
1412:   S: 
1417: 
1417: 
1417: 
1417: 
1417:       size_type
1417:       bucket_size(size_type __n) const
1417:       { return _M_h.bucket_size(__n); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       size_type
1417:       bucket(const key_type& __key) const
1417:       { return _M_h.bucket(__key); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       local_iterator
1417:       begin(size_type __n)
1417:       { return _M_h.begin(__n); }
1417: # 1051 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       const_local_iterator
1417:       begin(size_type __n) const
1417:       { return _M_h.begin(__n); }
1417: 
1417:       const_local_iterator
1417:       cbegin(size_type __n) const
1417:       { return _M_h.cbegin(__n); }
1417: # 1066 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       local_iterator
1417:       end(size_type __n)
1417:       { return _M_h.end(__n); }
1417: # 1077 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       const_local_iterator
1417:       end(size_type __n) const
1417:       { return _M_h.end(__n); }
1417: 
1417:       const_local_iterator
1417:       cend(size_type __n) const
1417:       { return _M_h.cend(__n); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       float
1417:       load_factor() const noexcept
1417:       { return _M_h.load_factor(); }
1417: 
1417: 
1417: 
1417:       float
1417:       max_load_factor() const noexcept
1417:       { return _M_h.max_load_factor(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       max_load_factor(float __z)
1417:       { _M_h.max_load_factor(__z); }
1417: # 1114 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       rehash(size_type __n)
1417:       { _M_h.rehash(__n); }
1417: # 1125 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       reserve(size_type __n)
1417:       { _M_h.reserve(__n); }
1417: 
1417:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1417:         typename _Alloc1>
1417:         friend bool
1417:  operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&,
1417:      const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&);
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator,
1417:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1417:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1417:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireNotAllocator<_Pred>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(_InputIterator, _InputIterator,
1417:     typename unordered_map<int, int>::size_type = {},
1417:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1417:     -> unordered_map<__iter_key_t<_InputIterator>,
1417:        __iter_val_t<_InputIterator>,
1417:        _Hash, _Pred, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1417:     typename _Pred = equal_to<_Key>,
1417:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireNotAllocator<_Pred>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1417:     typename unordered_map<int, int>::size_type = {},
1417:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1417:     -> unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(_InputIterator, _InputIterator,
1417:     typename unordered_map<int, int>::size_type, _Allocator)
1417:     -> unordered_map<__iter_key_t<_InputIterator>,
1417:        __iter_val_t<_InputIterator>,
1417:        hash<__iter_key_t<_InputIterator>>,
1417:        equal_to<__iter_key_t<_InputIterator>>,
1417:        _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(_InputIterator, _InputIterator, _Allocator)
1417:     -> unordered_map<__iter_key_t<_InputIterator>,
1417:        __iter_val_t<_InputIterator>,
1417:        hash<__iter_key_t<_InputIterator>>,
1417:        equal_to<__iter_key_t<_InputIterator>>,
1417:        _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(_InputIterator, _InputIterator,
1417:     typename unordered_map<int, int>::size_type,
1417:     _Hash, _Allocator)
1417:     -> unordered_map<__iter_key_t<_InputIterator>,
1417:        __iter_val_t<_InputIterator>, _Hash,
1417:        equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1417:     typename unordered_map<int, int>::size_type,
1417:     _Allocator)
1417:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1417:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1417:     typename unordered_map<int, int>::size_type,
1417:     _Hash, _Allocator)
1417:     -> unordered_map<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1417: # 1241 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:   template<typename _Key, typename _Tp,
1417:     typename _Hash = hash<_Key>,
1417:     typename _Pred = equal_to<_Key>,
1417:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1417:     class unordered_multimap
1417:     {
1417:       typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1417:       _Hashtable _M_h;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef typename _Hashtable::key_type key_type;
1417:       typedef typename _Hashtable::value_type value_type;
1417:       typedef typename _Hashtable::mapped_type mapped_type;
1417:       typedef typename _Hashtable::hasher hasher;
1417:       typedef typename _Hashtable::key_equal key_equal;
1417:       typedef typename _Hashtable::allocator_type allocator_type;
1417: 
1417: 
1417: 
1417: 
1417:       typedef typename _Hashtable::pointer pointer;
1417:       typedef typename _Hashtable::const_pointer const_pointer;
1417:       typedef typename _Hashtable::reference reference;
1417:       typedef typename _Hashtable::const_reference const_reference;
1417:       typedef typename _Hashtable::iterator iterator;
1417:       typedef typename _Hashtable::const_iterator const_iterator;
1417:       typedef typename _Hashtable::local_iterator local_iterator;
1417:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1417:       typedef typename _Hashtable::size_type size_type;
1417:       typedef typename _Hashtable::difference_type difference_type;
1417: 
1417: 
1417: 
1417:       using node_type = typename _Hashtable::node_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unordered_multimap() = default;
1417: # 1292 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       explicit
1417:       unordered_multimap(size_type __n,
1417:     const hasher& __hf = hasher(),
1417:     const key_equal& __eql = key_equal(),
1417:     const allocator_type& __a = allocator_typeortByEpisodeNumber,
1412: 
1412:   SortBySeason,
1412: 
1412:   SortByNumberOfEpisodes,
1412: 
1412:   SortByNumberOfWatchedEpisodes,
1412: 
1412:   SortByTvShowStatus,
1412: 
1412:   SortByTvShowTitle,
1412: 
1412:   SortBySortTitle,
1412: 
1412:   SortByProductionCode,
1412: 
1412:   SortByMPAA,
1412: 
1412:   SortByVideoResolution,
1412: 
1412:   SortByVideoCodec,
1412: 
1412:   SortByVideoAspectRatio,
1412: 
1412:   SortByAudioChannels,
1412: 
1412:   SortByAudioCodec,
1412: 
1412:   SortByAudioLanguage,
1412: 
1412:   SortBySubtitleLanguage,
1412: 
1412:   SortByStudio,
1412: 
1412:   SortByDateAdded,
1412: 
1412:   SortByLastPlayed,
1412: 
1412:   SortByPlaycount,
1412: 
1412:   SortByListeners,
1412: 
1412:   SortByBitrate,
1412: 
1412:   SortByRandom,
1412: 
1412:   SortByChannel,
1412: 
1412:   SortByChannelNumber,
1412: 
1412:   SortByDateTaken,
1412: 
1412:   SortByRelevance,
1412: 
1412:   SortByInstallDate,
1412: 
1412:   SortByLastUpdated,
1412: 
1412:   SortByLastUsed,
1412: 
1412:   SortByClientChannelOrder,
1412: 
1412:   SortByTotalDiscs,
1412: 
1412:   SortByOrigDate,
1412: 
1412:   SortByBPM,
1412: 
1412:   SortByOriginalTitle,
1412: 
1412: 
1412:   SortByProvider,
1412: 
1412: 
1412:   SortByUserPreference,
1412: } SortBy;
1412: 
1412: 
1412: typedef struct SortDescription {
1412:   SortBy sortBy = SortByNone;
1412:   SortOrder sortOrder = SortOrderAscending;
1412:   SortAttribute sortAttributes = SortAttributeNone;
1412:   int limitStart = 0;
1412:   int limitEnd = -1;
1412: } SortDescription;
1412: 
1412: typedef struct GUIViewSortDetails
1412: {
1412:   SortDescription m_sortDescription;
1412:   int m_buttonLabel;
1412:   LABEL_MASKS m_labelMasks;
1412: } GUIViewSortDetails;
1412: 
1412: typedef DatabaseResult SortItem;
1412: typedef std::shared_ptr<SortItem> SortItemPtr;
1412: typedef std::vector<SortItemPtr> SortItems;
1412: 
1412: class SortUtils
1412: {
1412: public:
1412:   static SORT_METHOD TranslateOldSortMethod(SortBy sortBy, bool ignoreArticle);
1412:   static SortDescription TranslateOldSortMethod(SORT_METHOD sortBy);
1412: 
1412:   static SortBy SortMethodFromString(const std::string& sortMethod);
1412:   static const std::string& SortMethodToString(SortBy sortMethod);
1412:   static SortOrder SortOrderFromString(const std::string& sortOrder);
1412:   static const std::string& SortOrderToString(SortOrder sortOrder);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   static int GetSortLabel(SortBy sortBy);
1412: 
1412:   static void Sort(SortBy sortBy, SortOrder sortOrder, SortAttribute attributes, DatabaseResults& items, int limitEnd = -1, int limitStart = 0);
1412:   static void Sort(SortBy sortBy, SortOrder sortOrder, SortAttribute attributes, SortItems& items, int limitEnd = -1, int limitStart = 0);
1412:   static void Sort(const SortDescription &sortDescription, DatabaseResults& items);
1412:   static void Sort(const SortDescription &sortDescription, SortItems& items);
1412:   static bool SortFromDataset(const SortDescription &sortDescription, const MediaType &mediaType, const std::unique_ptr<dbiplus::Dataset> &dataset, DatabaseResults &results);
1412: 
1412:   static void GetFieldsForSQLSort(const MediaType& mediaType, SortBy sortMethod, FieldList& fields);
1412:   static const Fields& GetFieldsForSorting(SortBy sortBy);
1412:   static std::string RemoveArticles(const std::string &label);
1412: 
1412:   typedef std::string (*SortPreparator) (SortAttribute, const SortItem&);
1412:   typedef bool (*Sorter) (const DatabaseResult &, const DatabaseResult &);
1412:   typedef bool (*SorterIndirect) (const SortItemPtr &, const SortItemPtr &);
1412: 
1412: private:
1412:   static const SortPreparator& getPreparator(SortBy sortBy);
1412:   static Sorter getSorter(SortOrder sortOrder, SortAttribute attributes);
1412:   static SorterIndirect getSorterIndirect(SortOrder sortOrder, SortAttribute attributes);
1412: 
1412:   static std::map<SortBy, SortPreparator> m_preparators;
1412:   static std::map<SortBy, Fields> m_sortingFields;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewState.h" 2
1412: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewState.h"
1412: class CViewState
1412: {
1412: public:
1412:   CViewState(int viewMode, SortBy sortMethod, SortOrder sortOrder, SortAttribute sortAttributes = SortAttributeNone)
1412:   {
1412:     m_viewMode = viewMode;
1412:     m_sortDescription.sortBy = sortMethod;
1412:     m_sortDescription.sortOrder = sortOrder;
1412:     m_sortDescription.sortAttributes = sortAttributes;
1412:   };
1412:   CViewState()
1412:   {
1412:     m_viewMode = 0;
1412:     m_sortDescription.sortBy = SortByLabel;
1412:     m_sortDescription.sortOrder = SortOrderAscending;
1412:   };
1412: 
1412:   int m_viewMode;
1412:   SortDescription m_sortDescription;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/IEvent.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/IEvent.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class ISortable
1412: {
1412: protected:
1412: 
1412:   ~ISortable() = default;
1412: 
1412: public:
1412:   virtual void ToSortable(SortItem& sortable, Field field) const = 0;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/events/IEvent.h" 2
1412: 
1412: 
1412: 
1412: 
1412: class CDateTime;
1412: 
1412: enum class EventLevel
1412: {
1412:   Basic = 0,
1412:   Information = 1,
1412:   Warning = 2,
1412:   Error = 3,
1412: };
1412: 
1412: class IEvent : public ISortable
1412: {
1412: public:
1412:   virtual ~IEvent() = default;
1412: 
1412:   virtual const char* GetType() const = 0;
1412:   virtual std::string GetIdentifier() const = 0;
1412:   virtual EventLevel GetLevel() const = 0;
1412:   virtual std::string GetLabel() const = 0;
1412:   virtual std::string GetIcon() const = 0;
1412:   virtual std::string GetDescription() const = 0;
1412:   virtual std::string GetDetails() const = 0;
1412:   virtual std::string GetExecutionLabel() const = 0;
1412:   virtual CDateTime GetDateTime() const = 0;
1412: 
1412:   virtual bool CanExecute() const = 0;
1412:   virtual bool Execute() const = 0;
1412: 
1412:   void ToSortable(SortItem& sortable, Field field) const override = 0;
1412: };
1412: 
1412: typedef std::shared_ptr<const IEvent> EventPtr;
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h"
1412:        
1412: 
1412: class TiXmlNode;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class ISubSettings
1412: {
1412: public:
1412:   virtual ~ISubSettings() = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual bool Load(const TiXmlNode *settings) { return true; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual bool Save(TiXmlNode *settings) const { return true; }
1412: 
1412: 
1412: 
1412:   virtual void Clear() { }
1412: };
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefin())
1417:       : _M_h(__n, __hf, __eql, __a)
1417:       { }
1417: # 1313 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename _InputIterator>
1417:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1417:       size_type __n = 0,
1417:       const hasher& __hf = hasher(),
1417:       const key_equal& __eql = key_equal(),
1417:       const allocator_type& __a = allocator_type())
1417:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1417:  { }
1417: 
1417: 
1417:       unordered_multimap(const unordered_multimap&) = default;
1417: 
1417: 
1417:       unordered_multimap(unordered_multimap&&) = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       unordered_multimap(const allocator_type& __a)
1417:       : _M_h(__a)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unordered_multimap(const unordered_multimap& __ummap,
1417:     const allocator_type& __a)
1417:       : _M_h(__ummap._M_h, __a)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unordered_multimap(unordered_multimap&& __ummap,
1417:     const allocator_type& __a)
1417:  noexcept( noexcept(_Hashtable(std::move(__ummap._M_h), __a)) )
1417:       : _M_h(std::move(__ummap._M_h), __a)
1417:       { }
1417: # 1369 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       unordered_multimap(initializer_list<value_type> __l,
1417:     size_type __n = 0,
1417:     const hasher& __hf = hasher(),
1417:     const key_equal& __eql = key_equal(),
1417:     const allocator_type& __a = allocator_type())
1417:       : _M_h(__l, __n, __hf, __eql, __a)
1417:       { }
1417: 
1417:       unordered_multimap(size_type __n, const allocator_type& __a)
1417:       : unordered_multimap(__n, hasher(), key_equal(), __a)
1417:       { }
1417: 
1417:       unordered_multimap(size_type __n, const hasher& __hf,
1417:     const allocator_type& __a)
1417:       : unordered_multimap(__n, __hf, key_equal(), __a)
1417:       { }
1417: 
1417:       template<typename _InputIterator>
1417:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1417:       size_type __n,
1417:       const allocator_type& __a)
1417:  : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a)
1417:  { }
1417: 
1417:       template<typename _InputIterator>
1417:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1417:       size_type __n, const hasher& __hf,
1417:       const allocator_type& __a)
1417:  : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a)
1417:  { }
1417: 
1417:       unordered_multimap(initializer_list<value_type> __l,
1417:     size_type __n,
1417:     const allocator_type& __a)
1417:       : unordered_multimap(__l, __n, hasher(), key_equal(), __a)
1417:       { }
1417: 
1417:       unordered_multimap(initializer_list<value_type> __l,
1417:     size_type __n, const hasher& __hf,
1417:     const allocator_type& __a)
1417:       : unordered_multimap(__l, __n, __hf, key_equal(), __a)
1417:       { }
1417: 
1417: 
1417:       unordered_multimap&
1417:       operator=(const unordered_multimap&) = default;
1417: 
1417: 
1417:       unordered_multimap&
1417:       operator=(unordered_multimap&&) = default;
1417: # 1431 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       unordered_multimap&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  _M_h = __l;
1417:  return *this;
1417:       }
1417: 
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return _M_h.get_allocator(); }
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _M_h.empty(); }
1417: 
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_h.size(); }
1417: 
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _M_h.max_size(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       begin() noexcept
1417:       { return _M_h.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return _M_h.begin(); }
1417: 
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return _M_h.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       end() noexcept
1417:       { return _M_h.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       end() const noexcept
1417:       { return _M_h.end(); }
1417: 
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return _M_h.end(); }
1417: # 1523 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace(_Args&&... __args)
1417:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1417: # 1550 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace_hint(const_iterator __pos, _Args&&... __args)
1417:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1417: # 1565 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       insert(const value_type& __x)
1417:       { return _M_h.insert(__x); }
1417: 
1417:       iterator
1417:       insert(value_type&& __x)
1417:       { return _M_h.insert(std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1417:  insert(_Pair&& __x)
1417:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1417: # 1599 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       insert(const_iterator __hint, const value_type& __x)
1417:       { return _M_h.insert(__hint, __x); }
1417: 
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, value_type&& __x)
1417:       { return _M_h.insert(__hint, std::move(__x)); }
1417: 
1417:       template<typename _Pair>
1417:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1417:  insert(const_iterator __hint, _Pair&& __x)
1417:         { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1417: # 1624 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  insert(_InputIterator __first, _InputIterator __last)
1417:  { _M_h.insert(__first, __last); }
1417: # 1637 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       insert(initializer_list<value_type> __l)
1417:       { _M_h.insert(__l); }
1417: 
1417: 
1417: 
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1417:  return _M_h.extract(__pos);
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const key_type& __key)
1417:       { return _M_h.extract(__key); }
1417: 
1417: 
1417:       iterator
1417:       insert(node_type&& __nh)
1417:       { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, node_type&& __nh)
1417:       { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); }
1417: # 1680 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       erase(const_iterator __position)
1417:       { return _M_h.erase(__position); }
1417: 
1417: 
1417:       iterator
1417:       erase(iterator __position)
1417:       { return _M_h.erase(__position); }
1417: # 1701 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       size_type
1417:       erase(const key_type& __x)
1417:       { return _M_h.erase(__x); }
1417: # 1720 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       erase(const_iterator __first, const_iterator __last)
1417:       { return _M_h.erase(__first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       clear() noexcept
1417:       { _M_h.clear(); }
1417: # 1744 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       swap(unorderitions.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: int64_t str2int64(const std::string &str, int64_t fallback = 0);
1412: int64_t str2int64(const std::wstring &str, int64_t fallback = 0);
1412: uint64_t str2uint64(const std::string &str, uint64_t fallback = 0);
1412: uint64_t str2uint64(const std::wstring &str, uint64_t fallback = 0);
1412: double str2double(const std::string &str, double fallback = 0.0);
1412: double str2double(const std::wstring &str, double fallback = 0.0);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CVariant
1412: {
1412: public:
1412:   enum VariantType
1412:   {
1412:     VariantTypeInteger,
1412:     VariantTypeUnsignedInteger,
1412:     VariantTypeBoolean,
1412:     VariantTypeString,
1412:     VariantTypeWideString,
1412:     VariantTypeDouble,
1412:     VariantTypeArray,
1412:     VariantTypeObject,
1412:     VariantTypeNull,
1412:     VariantTypeConstNull
1412:   };
1412: 
1412:   CVariant();
1412:   CVariant(VariantType type);
1412:   CVariant(int integer);
1412:   CVariant(int64_t integer);
1412:   CVariant(unsigned int unsignedinteger);
1412:   CVariant(uint64_t unsignedinteger);
1412:   CVariant(double value);
1412:   CVariant(float value);
1412:   CVariant(bool boolean);
1412:   CVariant(const char *str);
1412:   CVariant(const char *str, unsigned int length);
1412:   CVariant(const std::string &str);
1412:   CVariant(std::string &&str);
1412:   CVariant(const wchar_t *str);
1412:   CVariant(const wchar_t *str, unsigned int length);
1412:   CVariant(const std::wstring &str);
1412:   CVariant(std::wstring &&str);
1412:   CVariant(const std::vector<std::string> &strArray);
1412:   CVariant(const std::map<std::string, std::string> &strMap);
1412:   CVariant(const std::map<std::string, CVariant> &variantMap);
1412:   CVariant(const CVariant &variant);
1412:   CVariant(CVariant&& rhs) noexcept;
1412:   ~CVariant();
1412: 
1412: 
1412: 
1412:   bool isInteger() const;
1412:   bool isSignedInteger() const;
1412:   bool isUnsignedInteger() const;
1412:   bool isBoolean() const;
1412:   bool isString() const;
1412:   bool isWideString() const;
1412:   bool isDouble() const;
1412:   bool isArray() const;
1412:   bool isObject() const;
1412:   bool isNull() const;
1412: 
1412:   VariantType type() const;
1412: 
1412:   int64_t asInteger(int64_t fallback = 0) const;
1412:   int32_t asInteger32(int32_t fallback = 0) const;
1412:   uint64_t asUnsignedInteger(uint64_t fallback = 0u) const;
1412:   uint32_t asUnsignedInteger32(uint32_t fallback = 0u) const;
1412:   bool asBoolean(bool fallback = false) const;
1412:   std::string asString(const std::string &fallback = "") const;
1412:   std::wstring asWideString(const std::wstring &fallback = L"") const;
1412:   double asDouble(double fallback = 0.0) const;
1412:   float asFloat(float fallback = 0.0f) const;
1412: 
1412:   CVariant &operator[](const std::string &key);
1412:   const CVariant &operator[](const std::string &key) const;
1412:   CVariant &operator[](unsigned int position);
1412:   const CVariant &operator[](unsigned int position) const;
1412: 
1412:   CVariant &operator=(const CVariant &rhs);
1412:   CVariant& operator=(CVariant&& rhs) noexcept;
1412:   bool operator==(const CVariant &rhs) const;
1412:   bool operator!=(const CVariant &rhs) const { return !(*this == rhs); }
1412: 
1412:   void reserve(size_t length);
1412:   void push_back(const CVariant &variant);
1412:   void push_back(CVariant &&variant);
1412:   void append(const CVariant &variant);
1412:   void append(CVariant &&variant);
1412: 
1412:   const char *c_str() const;
1412: 
1412:   void swap(CVariant &rhs);
1412: 
1412: private:
1412:   typedef std::vector<CVariant> VariantArray;
1412:   typedef std::map<std::string, CVariant> VariantMap;
1412: 
1412: public:
1412:   typedef VariantArray::iterator iterator_array;
1412:   typedef VariantArray::const_iterator const_iterator_array;
1412: 
1412:   typedef VariantMap::iterator iterator_map;
1412:   typedef VariantMap::const_iterator const_iterator_map;
1412: 
1412:   iterator_array begin_array();
1412:   const_iterator_array begin_array() const;
1412:   iterator_array end_array();
1412:   const_iterator_array end_array() const;
1412: 
1412:   iterator_map begin_map();
1412:   const_iterator_map begin_map() const;
1412:   iterator_map end_map();
1412:   const_iterator_map end_map() const;
1412: 
1412:   unsigned int size() const;
1412:   bool empty() const;
1412:   void clear();
1412:   void erase(const std::string &key);
1412:   void erase(unsigned int position);
1412: 
1412:   bool isMember(const std::string &key) const;
1412: 
1412:   static CVariant ConstNullVariant;
1412: 
1412: private:
1412:   void cleanup();
1412:   union VariantUnion
1412:   {
1412:     int64_t integer;
1412:     uint64_t unsignedinteger;
1412:     bool boolean;
1412:     double dvalue;
1412:     std::string *string;
1412:     std::wstring *wstring;
1412:     VariantArray *array;
1412:     VariantMap *map;
1412:   };
1412: 
1412:   VariantType m_type;
1412:   VariantUnion m_data;
1412: 
1412:   static VariantArray EMPTY_ARRAY;
1412:   static VariantMap EMPTY_MAP;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 2
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/utility" 1 3
1412: # 58 "/usr/include/c++/12/utility" 3
1412:        
1412: # 59 "/usr/include/c++/12/utility" 3
1412: # 68 "/usr/include/c++/12/utility" 3
1412: # 1 "/usr/include/c++/12/bits/stl_relops.h" 1 3
1412: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
1412: 
1412: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   namespace rel_ops
1412:   {
1412: # 86 "/usr/include/c++/12/bits/stl_relops.h" 3
1412:     template <class _Tp>
1412:       inline bool
1412:       operator!=(const _Tp& __x, const _Tp& __y)
1412:       { return !(__x == __y); }
1412: # 99 "/usr/include/c++/12/bits/stl_relops.h" 3
1412:     template <class _Tp>
1412:       inline bool
1412:       operator>(const _Tp& __x, const _Tp& __y)
1412:       { return __y < __x; }
1412: # 112 "/usr/include/c++/12/bits/stl_relops.h" 3
1412:     template <class _Tp>
1412:       inline bool
1412:       operator<=(const _Tp& __x, const _Tp& __y)
1412:       { return !(__y < __x); }
1412: # 125 "/usr/include/c++/12/bits/stl_relops.h" 3
1412:     template <class _Tp>
1412:       inline bool
1412:       operator>=(const _Tp& __x, const _Tp& __y)
1412:       { return !(__x < __y); }
1412:   }
1412: 
1412: 
1412: }
1412: # 69 "/usr/include/c++/12/utility" 2 3
1412: # 82 "/usr/include/c++/12/utility" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename _Up = _Tp>
1412:    
1412:     inline _Tp
1412:     exchange(_Tp& __obj, _Up&& __new_val)
1412:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1412:       is_nothrow_assignable<_Tp&, _Up>>::value)
1412:     { return std::__exchange(__obj, std::forward<_Up>(__new_val)); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     [[nodiscard]]
1412:     constexpr add_const_t<_Tp>&
1412:     as_const(_Tp& __t) noexcept
1412:     { return __t; }
1412: 
1412:   template<typename _Tp>
1412:     void as_const(const _Tp&&) = delete;
1412: # 220 "/usr/include/c++/12/utility" 3
1412: 
1412: }
1412: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 2
1412: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1412: 
1412: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1412: struct IntegerSettingOption
1412: {
1412:   IntegerSettingOption(const std::string& _label, int _value)
1412:   : label(_label), value(_value) {}
1412: 
1412:   IntegerSettingOption(const std::string& _label,
1412:                        const std::string& _label2,
1412:                        int _value,
1412:        ed_multimap& __x)
1417:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1417:       { _M_h.swap(__x._M_h); }
1417: 
1417: 
1417:       template<typename, typename, typename>
1417:  friend class std::_Hash_merge_helper;
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper
1417:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1417:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1417:  }
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper
1417:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1417:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1417:  }
1417: 
1417:       template<typename _H2, typename _P2>
1417:  void
1417:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       hasher
1417:       hash_function() const
1417:       { return _M_h.hash_function(); }
1417: 
1417: 
1417: 
1417:       key_equal
1417:       key_eq() const
1417:       { return _M_h.key_eq(); }
1417: # 1810 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       iterator
1417:       find(const key_type& __x)
1417:       { return _M_h.find(__x); }
1417: # 1821 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       const_iterator
1417:       find(const key_type& __x) const
1417:       { return _M_h.find(__x); }
1417: # 1839 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       size_type
1417:       count(const key_type& __x) const
1417:       { return _M_h.count(__x); }
1417: # 1877 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       std::pair<iterator, iterator>
1417:       equal_range(const key_type& __x)
1417:       { return _M_h.equal_range(__x); }
1417: # 1889 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       std::pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __x) const
1417:       { return _M_h.equal_range(__x); }
1417: # 1905 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       size_type
1417:       bucket_count() const noexcept
1417:       { return _M_h.bucket_count(); }
1417: 
1417: 
1417:       size_type
1417:       max_bucket_count() const noexcept
1417:       { return _M_h.max_bucket_count(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       size_type
1417:       bucket_size(size_type __n) const
1417:       { return _M_h.bucket_size(__n); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       size_type
1417:       bucket(const key_type& __key) const
1417:       { return _M_h.bucket(__key); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       local_iterator
1417:       begin(size_type __n)
1417:       { return _M_h.begin(__n); }
1417: # 1949 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       const_local_iterator
1417:       begin(size_type __n) const
1417:       { return _M_h.begin(__n); }
1417: 
1417:       const_local_iterator
1417:       cbegin(size_type __n) const
1417:       { return _M_h.cbegin(__n); }
1417: # 1964 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       local_iterator
1417:       end(size_type __n)
1417:       { return _M_h.end(__n); }
1417: # 1975 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       const_local_iterator
1417:       end(size_type __n) const
1417:       { return _M_h.end(__n); }
1417: 
1417:       const_local_iterator
1417:       cend(size_type __n) const
1417:       { return _M_h.cend(__n); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       float
1417:       load_factor() const noexcept
1417:       { return _M_h.load_factor(); }
1417: 
1417: 
1417: 
1417:       float
1417:       max_load_factor() const noexcept
1417:       { return _M_h.max_load_factor(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       max_load_factor(float __z)
1417:       { _M_h.max_load_factor(__z); }
1417: # 2012 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       rehash(size_type __n)
1417:       { _M_h.rehash(__n); }
1417: # 2023 "/usr/include/c++/12/bits/unordered_map.h" 3
1417:       void
1417:       reserve(size_type __n)
1417:       { _M_h.reserve(__n); }
1417: 
1417:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1417:         typename _Alloc1>
1417:         friend bool
1417:  operator==(const unordered_multimap<_Key1, _Tp1,
1417:          _Hash1, _Pred1, _Alloc1>&,
1417:      const unordered_multimap<_Key1, _Tp1,
1417:          _Hash1, _Pred1, _Alloc1>&);
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator,
1417:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1417:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1417:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireNotAllocator<_Pred>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(_InputIterator, _InputIterator,
1417:          unordered_multimap<int, int>::size_type = {},
1417:          _Hash = _Hash(), _Pred = _Pred(),
1417:          _Allocator = _Allocator())
1417:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1417:      __iter_val_t<_InputIterator>, _Hash, _Pred,
1417:      _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1417:     typename _Pred = equal_to<_Key>,
1417:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireNotAllocator<_Pred>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1417:          unordered_multimap<int, int>::size_type = {},
1417:          _Hash = _Hash(), _Pred = _Pred(),
1417:          _Allocator = _Allocator())
1417:     -> unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(_InputIterator, _InputIterator,
1417:          unordered_multimap<int, int>::size_type, _Allocator)
1417:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1417:      __iter_val_t<_InputIterator>,
1417:      hash<__iter_key_t<_InputIterator>>,
1417:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(_InputIterator, _InputIterator, _Allocator)
1417:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1417:      __iter_val_t<_InputIterator>,
1417:      hash<__iter_key_t<_InputIterator>>,
1417:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(_InputIterator, _InputIterator,
1417:          unordered_multimap<int, int>::size_type, _Hash,
1417:          _Allocator)
1417:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1417:      __iter_val_t<_InputIterator>, _Hash,
1417:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1417:          unordered_multimap<int, int>::size_type,
1417:          _Allocator)
1417:     -> unordered_                const std::vector<std::pair<std::string, CVariant>>& props)
1412:     : label(_label), label2(_label2), value(_value), properties(props)
1412:   {
1412:   }
1412: 
1412:   std::string label;
1412:   std::string label2;
1412:   int value = 0;
1412:   std::vector<std::pair<std::string, CVariant>> properties;
1412: };
1412: 
1412: struct StringSettingOption
1412: {
1412:   StringSettingOption(const std::string& _label, const std::string& _value)
1412:   : label(_label), value(_value) {}
1412: 
1412:   StringSettingOption(const std::string& _label,
1412:                       const std::string& _label2,
1412:                       const std::string& _value,
1412:                       const std::vector<std::pair<std::string, CVariant>>& props)
1412:     : label(_label), label2(_label2), value(_value), properties(props)
1412:   {
1412:   }
1412: 
1412:   std::string label;
1412:   std::string label2;
1412:   std::string value;
1412:   std::vector<std::pair<std::string, CVariant>> properties;
1412: };
1412: 
1412: struct TranslatableIntegerSettingOption
1412: {
1412:   TranslatableIntegerSettingOption() = default;
1412:   TranslatableIntegerSettingOption(int _label, int _value, const std::string& _addonId = "")
1412:     : label(_label), value(_value), addonId(_addonId)
1412:   {
1412:   }
1412: 
1412:   int label = 0;
1412:   int value = 0;
1412:   std::string addonId;
1412: };
1412: 
1412: using TranslatableIntegerSettingOptions = std::vector<TranslatableIntegerSettingOption>;
1412: using IntegerSettingOptions = std::vector<IntegerSettingOption>;
1412: using TranslatableStringSettingOption = std::pair<int, std::string>;
1412: using TranslatableStringSettingOptions = std::vector<TranslatableStringSettingOption>;
1412: using StringSettingOptions = std::vector<StringSettingOption>;
1412: 
1412: class CSetting;
1412: using IntegerSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1412:                                              IntegerSettingOptions& list,
1412:                                              int& current,
1412:                                              void* data);
1412: using StringSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1412:                                             StringSettingOptions& list,
1412:                                             std::string& current,
1412:                                             void* data);
1412: 
1412: enum class SettingOptionsSort
1412: {
1412:   NoSorting,
1412:   Ascending,
1412:   Descending
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IXmlDeserializable.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IXmlDeserializable.h"
1412:        
1412: 
1412: class TiXmlNode;
1412: 
1412: class IXmlDeserializable
1412: {
1412: public:
1412:   virtual ~IXmlDeserializable() = default;
1412: 
1412:   virtual bool Deserialize(const TiXmlNode *node) = 0;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h" 2
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef enum {
1412:   BooleanLogicOperationOr = 0,
1412:   BooleanLogicOperationAnd
1412: } BooleanLogicOperation;
1412: 
1412: class CBooleanLogicValue : public IXmlDeserializable
1412: {
1412: public:
1412:   CBooleanLogicValue(const std::string &value = "", bool negated = false)
1412:     : m_value(value), m_negated(negated)
1412:   { }
1412:   ~CBooleanLogicValue() override = default;
1412: 
1412:   bool Deserialize(const TiXmlNode *node) override;
1412: 
1412:   virtual const std::string& GetValue() const { return m_value; }
1412:   virtual bool IsNegated() const { return m_negated; }
1412:   virtual const char* GetTag() const { return "value"; }
1412: 
1412:   virtual void SetValue(const std::string &value) { m_value = value; }
1412:   virtual void SetNegated(bool negated) { m_negated = negated; }
1412: 
1412: protected:
1412:   std::string m_value;
1412:   bool m_negated;
1412: };
1412: 
1412: typedef std::shared_ptr<CBooleanLogicValue> CBooleanLogicValuePtr;
1412: typedef std::vector<CBooleanLogicValuePtr> CBooleanLogicValues;
1412: 
1412: class CBooleanLogicOperation;
1412: typedef std::shared_ptr<CBooleanLogicOperation> CBooleanLogicOperationPtr;
1412: typedef std::vector<CBooleanLogicOperationPtr> CBooleanLogicOperations;
1412: 
1412: class CBooleanLogicOperation : public IXmlDeserializable
1412: {
1412: public:
1412:   explicit CBooleanLogicOperation(BooleanLogicOperation op = BooleanLogicOperationAnd)
1412:     : m_operation(op)
1412:   { }
1412:   ~CBooleanLogicOperation() override = default;
1412: 
1412:   bool Deserialize(const TiXmlNode *node) override;
1412: 
1412:   virtual BooleanLogicOperation GetOperation() const { return m_operation; }
1412:   virtual const CBooleanLogicOperations& GetOperations() const { return m_operations; }
1412:   virtual const CBooleanLogicValues& GetValues() const { return m_values; }
1412: 
1412:   virtual void SetOperation(BooleanLogicOperation op) { m_operation = op; }
1412: 
1412: protected:
1412:   virtual CBooleanLogicOperation* newOperation() { return new CBooleanLogicOperation(); }
1412:   virtual CBooleanLogicValue* newValue() { return new CBooleanLogicValue(); }
1412: 
1412:   BooleanLogicOperation m_operation;
1412:   CBooleanLogicOperations m_operations;
1412:   CBooleanLogicValues m_values;
1412: };
1412: 
1412: class CBooleanLogic : public IXmlDeserializable
1412: {
1412: protected:
1412: 
1412:   ~CBooleanLogic() override = default;
1412: 
1412: public:
1412:   bool Deserialize(const TiXmlNode *node) override;
1412: 
1412:   const CBooleanLogicOperationPtr& Get() const { return m_operation; }
1412:   CBooleanLogicOperationPtr Get() { return m_operation; }
1412: 
1412: protected:
1412:   CBooleanLogicOperationPtr m_operation;
1412: };
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 2
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CSettingsManager;
1412: class CSetting;
1412: 
1412: using SettingConditionCheck = bool (*)(const std::string& condition,
1412:                                        const std::string& value,
1412:                                        const std::shared_ptr<const CSetting>& setting,
1412:                                        void* data);
1412: 
1412: class ISettingCondition
1412: {
1412: public:
1412:   explicit ISettingCondition(CSettingsManager *settingsManager)
1412:     : m_settingsManager(settingsManager)
1412:   { }
1412:   virtual ~ISettingCondition() = default;
1412: 
1412:   virtual bool Check() const = 0;
1412: 
1412: protected:
1412:   CSettingsManager *m_settingsManager;
1412: };
1412: 
1412: class CSettingConditionItem : public CBooleanLogicValue, public ISettingCondition
1412: {
1412: public:
1412:   explicit CSettingConditionItem(CSettingsManager *settingsManager = nullptr)
1412:     : ISettingCondition(settingsManager)
1412:   { }
1412:   ~CSettingConditionItem() override = default;
1412: 
1412:   bool Deserialize(const TiXmlNode *node) override;
1412:   const char* GetTag() const override { return "condition"; }
1412:   bool Check() const override;
1412: 
1412: protected:
1412:   std::string m_name;
1412:   std::string m_setting;
1412: };
1412: 
1412: class CSettingConditionCombination : public CBooleanLogicOperation, public ISettingCondition
1412: {
1412: public:
1412:   explicit CSettingConditionCombination(CSettingsManager *settingsManager = nullptr)
1412:     : ISettingCondition(settingsManager)
1412:   { }
1412:   ~CSettingConditionCombination() override = default;
1412: 
1412:   bool Check() const override;
1412: 
1412: private:
1412:   CBooleanLogicOperation* newOperation() override { return new CSettingConditionCombination(m_settingsManager); }
1412:   CBooleanLogicValue* newValue() override { return new CSettingConditionItem(m_settingsManager); }
1412: };
1412: 
1412: class CSettingCondition : publmultimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1417:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1417:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1417:          unordered_multimap<int, int>::size_type,
1417:          _Hash, _Allocator)
1417:     -> unordered_multimap<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1417: 
1417: 
1417: 
1417:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1417:     inline void
1417:     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1417:   unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1417:     inline void
1417:     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1417:   unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1417:     inline bool
1417:     operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1417:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1417:     { return __x._M_h._M_equal(__y._M_h); }
1417: 
1417: 
1417:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1417:     inline bool
1417:     operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1417:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1417:     inline bool
1417:     operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1417:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1417:     { return __x._M_h._M_equal(__y._M_h); }
1417: 
1417: 
1417:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1417:     inline bool
1417:     operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1417:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1417:     typename _Alloc, typename _Hash2, typename _Eq2>
1417:     struct _Hash_merge_helper<
1417:       std::unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1417:       _Hash2, _Eq2>
1417:     {
1417:     private:
1417:       template<typename... _Tp>
1417:  using unordered_map = std::unordered_map<_Tp...>;
1417:       template<typename... _Tp>
1417:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1417: 
1417:       friend unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1417: 
1417:       static auto&
1417:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1417:       { return __map._M_h; }
1417: 
1417:       static auto&
1417:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1417:       { return __map._M_h; }
1417:     };
1417: 
1417: 
1417:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1417:     typename _Alloc, typename _Hash2, typename _Eq2>
1417:     struct _Hash_merge_helper<
1417:       std::unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1417:       _Hash2, _Eq2>
1417:     {
1417:     private:
1417:       template<typename... _Tp>
1417:  using unordered_map = std::unordered_map<_Tp...>;
1417:       template<typename... _Tp>
1417:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1417: 
1417:       friend unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1417: 
1417:       static auto&
1417:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1417:       { return __map._M_h; }
1417: 
1417:       static auto&
1417:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1417:       { return __map._M_h; }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 48 "/usr/include/c++/12/unordered_map" 2 3
1417: # 56 "/usr/include/c++/12/unordered_map" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr
1417:   {
1417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1417:       typename _Pred = std::equal_to<_Key>>
1417:       using unordered_map
1417:  = std::unordered_map<_Key, _Tp, _Hash, _Pred,
1417:         polymorphic_allocator<pair<const _Key, _Tp>>>;
1417:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1417:       typename _Pred = std::equal_to<_Key>>
1417:       using unordered_multimap
1417:  = std::unordered_multimap<_Key, _Tp, _Hash, _Pred,
1417:       polymorphic_allocator<pair<const _Key, _Tp>>>;
1417:   }
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/functional" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/array" 1 3
1417: # 32 "/usr/include/c++/12/array" 3
1417:        
1417: # 33 "/usr/include/c++/12/array" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/compare" 1 3
1417: # 33 "/usr/include/c++/12/compare" 3
1417:        
1417: # 34 "/usr/include/c++/12/compare" 3
1417: # 39 "/usr/include/c++/12/array" 2 3
1417: # 48 "/usr/include/c++/12/array" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:     struct __array_traits
1417:     {
1417:       typedef _Tp _Type[_Nm];
1417:       typedef __is_swappable<_Tp> _Is_swappable;
1417:       typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable;
1417: 
1417:       static constexpr _Tp&
1417:       _S_ref(const _Type& __t, std::size_t __n) noexcept
1417:       { return const_cast<_Tp&>(__t[__n]); }
1417: 
1417:       static constexpr _Tp*
1417:       _S_ptr(const _Type& __t) noexcept
1417:       { return const_cast<_Tp*>(__t); }
1417:     };
1417: 
1417:  template<typename _Tp>
1417:    struct __array_traits<_Tp, 0>
1417:    {
1417:      struct _Type { };
1417:      typedef true_type _Is_swappable;
1417:      typedef true_type _Is_nothrow_swappable;
1417: 
1417:      static constexpr _Tp&
1417:      _S_ref(const _Type&, std::size_t) noexcept
1417:      { return *static_cast<_Tp*>(nullptr); }
1417: 
1417:      static constexpr _Tp*
1417:      _S_ptr(const _Type&) noexcept
1417:      { return nullptr; }
1417:    };
1417: # 98 "/usr/include/c++/12/array" 3
1417:   template<typename _Tp, std::size_t _Nm>
1417:     struct array
1417:     {
1417:       typedef _Tp value_type;
1417:       typedef value_type* pointer;
1417:       typedef const value_type* const_pointer;
1417:       typedef value_type& reference;
1417:       typedef const value_type& const_reference;
1417:       typedef value_type* iterator;
1417:       typedef const value_type* const_iterator;
1417:       typedef std::size_t size_type;
1417:       typedef std::ptrdiff_t difference_type;
1417:       typedef std::reverse_iterator<iterator> reverse_iterator;
1417:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1417: 
1417: 
1417:       typedef __array_traits<_Tp, _Nm> _AT_Type;
1417:       typename _AT_Type::_Type _M_elems;
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       fill(const value_type& __u)
1417:       { std::fill_n(begin(), size(), __u); }
1417: 
1417:       void
1417:       swap(array& __other)
1417:       noexcept(_AT_Type::_Is_nothrow_swappable::value)
1417:       { std::swap_ranges(begin(), end(), __other.begin()); }
1417: 
1417: 
1417:       [[__gnu__::__const__, __nodiscard_ic CBooleanLogic, public ISettingCondition
1412: {
1412: public:
1412:   explicit CSettingCondition(CSettingsManager *settingsManager = nullptr);
1412:   ~CSettingCondition() override = default;
1412: 
1412:   bool Check() const override;
1412: };
1412: 
1412: class CSettingConditionsManager
1412: {
1412: public:
1412:   CSettingConditionsManager() = default;
1412:   CSettingConditionsManager(const CSettingConditionsManager&) = delete;
1412:   CSettingConditionsManager const& operator=(CSettingConditionsManager const&) = delete;
1412:   virtual ~CSettingConditionsManager() = default;
1412: 
1412:   void AddCondition(std::string condition);
1412:   void AddDynamicCondition(std::string identifier, SettingConditionCheck condition, void *data = nullptr);
1412:   void RemoveDynamicCondition(std::string identifier);
1412: 
1412:   bool Check(
1412:       std::string condition,
1412:       const std::string& value = "",
1412:       const std::shared_ptr<const CSetting>& setting = std::shared_ptr<const CSetting>()) const;
1412: 
1412: private:
1412:   using SettingConditionPair = std::pair<std::string, std::pair<SettingConditionCheck, void*>>;
1412:   using SettingConditionMap = std::map<std::string, std::pair<SettingConditionCheck, void*>>;
1412: 
1412:   SettingConditionMap m_conditions;
1412:   std::set<std::string> m_defines;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h" 2
1412: 
1412: 
1412: 
1412: 
1412: class CSettingRequirementCondition : public CSettingConditionItem
1412: {
1412: public:
1412:   explicit CSettingRequirementCondition(CSettingsManager *settingsManager = nullptr)
1412:     : CSettingConditionItem(settingsManager)
1412:   { }
1412:   ~CSettingRequirementCondition() override = default;
1412: 
1412:   bool Check() const override;
1412: };
1412: 
1412: class CSettingRequirementConditionCombination : public CSettingConditionCombination
1412: {
1412: public:
1412:   explicit CSettingRequirementConditionCombination(CSettingsManager *settingsManager = nullptr)
1412:     : CSettingConditionCombination(settingsManager)
1412:   { }
1412:   ~CSettingRequirementConditionCombination() override = default;
1412: 
1412:   bool Check() const override;
1412: 
1412: private:
1412:   CBooleanLogicOperation* newOperation() override { return new CSettingRequirementConditionCombination(m_settingsManager); }
1412:   CBooleanLogicValue* newValue() override { return new CSettingRequirementCondition(m_settingsManager); }
1412: };
1412: 
1412: class CSettingRequirement : public CSettingCondition
1412: {
1412: public:
1412:   explicit CSettingRequirement(CSettingsManager *settingsManager = nullptr);
1412:   ~CSettingRequirement() override = default;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h" 2
1412: 
1412: 
1412: 
1412: class CSettingsManager;
1412: class TiXmlNode;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class ISetting
1412: {
1412: public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   ISetting(const std::string &id, CSettingsManager *settingsManager = nullptr);
1412:   virtual ~ISetting() = default;
1412: # 45 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1412:   virtual bool Deserialize(const TiXmlNode *node, bool update = false);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   const std::string& GetId() const { return m_id; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual bool IsVisible() const { return m_visible; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void SetVisible(bool visible) { m_visible = visible; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   int GetLabel() const { return m_label; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   void SetLabel(int label) { m_label = label; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   int GetHelp() const { return m_help; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   void SetHelp(int help) { m_help = help; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual bool MeetsRequirements() const { return m_meetsRequirements; }
1412: 
1412: 
1412: 
1412:   virtual void CheckRequirements();
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void SetRequirementsMet(bool requirementsMet) { m_meetsRequirements = requirementsMet; }
1412: # 114 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1412:   static bool DeserializeIdentification(const TiXmlNode *node, std::string &identification);
1412: 
1412: protected:
1412:   static constexpr int DefaultLabel = -1;
1412: # 126 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1412:   static bool DeserializeIdentificationFromAttribute(const TiXmlNode* node,
1412:                                                      const std::string& attribute,
1412:                                                      std::string& identification);
1412: 
1412:   std::string m_id;
1412:   CSettingsManager *m_settingsManager;
1412: 
1412: private:
1412:   bool m_visible = true;
1412:   int m_label = DefaultLabel;
1412:   int m_help = -1;
1412:   bool m_meetsRequirements = true;
1412:   CSettingRequirement m_requirementCondition;
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1412:        
1412: 
1412: 
1412: 
1412: class CSetting;
1412: class TiXmlNode;
1412: 
1412: class ISettingCallback
1412: {
1412: public:
1412:   virtual ~ISettingCallback() = default;
1412: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1412:   virtual bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) { return true; }
1412: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1412:   virtual void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) {}
1412: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1412:   virtual void OnSettingAction(const std::shared_ptr<const CSetting>& setting) {}
1412: # 68 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1412:   virtual bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1412:                                const char* oldSettingId,
1412:                                const TiXmlNode* oldSettingNode)
1412:   {
1412:     return false;
1412:   }
1412: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1412:   virtual void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1412:                                         const char* propertyName)
1412:   {
1412:   }
1412: };
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h"
1412:        
1412: 
1412: 
1412: 
1412: namespace spdlog
1412: {
1412: class logger;
1412: }
1412: 
1412: using Logger = std::shared_ptr<spdlog::logger>;
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 2
1412: 
1412: 
1412: 
1412: class TiXmlNode;
1412: 
1412: class ISettingControl
1412: {
1412: public:
1412:   ISettingControl();
1412:   virtual ~ISettingControl() = default;
1412: 
1412:   virtual std::string GetType() const = 0;
1412:   const std::string& GetFormat() const { return m_format; }
1412:   bool GetDelayed() const { return m_delayed; }
1412:   void SetDelayed(bool delayed) { m_delayed = delayed; }
1412: 
1412:   virtual bool Deserialize(const TiXmlNode *node, bool update = false);
1412:   virtual bool SetFormat(const std::string &format) { return true; }
1412: 
1412: protected:
1412:   bool m_delayed = false;
1412:   std::string m_format;
1412: 
1412:   static Logger s_logger;
1412: };
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xb_]]
1417:       constexpr iterator
1417:       begin() noexcept
1417:       { return iterator(data()); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_iterator
1417:       begin() const noexcept
1417:       { return const_iterator(data()); }
1417: 
1417:       [[__gnu__::__const__, __nodiscard__]]
1417:       constexpr iterator
1417:       end() noexcept
1417:       { return iterator(data() + _Nm); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_iterator
1417:       end() const noexcept
1417:       { return const_iterator(data() + _Nm); }
1417: 
1417:       [[__gnu__::__const__, __nodiscard__]]
1417:       constexpr reverse_iterator
1417:       rbegin() noexcept
1417:       { return reverse_iterator(end()); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417:       [[__gnu__::__const__, __nodiscard__]]
1417:       constexpr reverse_iterator
1417:       rend() noexcept
1417:       { return reverse_iterator(begin()); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_iterator
1417:       cbegin() const noexcept
1417:       { return const_iterator(data()); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_iterator
1417:       cend() const noexcept
1417:       { return const_iterator(data() + _Nm); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_reverse_iterator
1417:       crend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417: 
1417:       [[__gnu__::__const__, __nodiscard__]]
1417:       constexpr size_type
1417:       size() const noexcept { return _Nm; }
1417: 
1417:       [[__gnu__::__const__, __nodiscard__]]
1417:       constexpr size_type
1417:       max_size() const noexcept { return _Nm; }
1417: 
1417:       [[__gnu__::__const__, __nodiscard__]]
1417:       constexpr bool
1417:       empty() const noexcept { return size() == 0; }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr reference
1417:       operator[](size_type __n) noexcept
1417:       {
1417:  ;
1417:  return _AT_Type::_S_ref(_M_elems, __n);
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_reference
1417:       operator[](size_type __n) const noexcept
1417:       {
1417: 
1417:  ;
1417: 
1417:  return _AT_Type::_S_ref(_M_elems, __n);
1417:       }
1417: 
1417:       constexpr reference
1417:       at(size_type __n)
1417:       {
1417:  if (__n >= _Nm)
1417:    std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1417:                                  ,
1417:      __n, _Nm);
1417:  return _AT_Type::_S_ref(_M_elems, __n);
1417:       }
1417: 
1417:       constexpr const_reference
1417:       at(size_type __n) const
1417:       {
1417: 
1417: 
1417:  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
1417:    : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1417:                                     ,
1417:         __n, _Nm),
1417:       _AT_Type::_S_ref(_M_elems, 0));
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr reference
1417:       front() noexcept
1417:       {
1417:  ;
1417:  return *begin();
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_reference
1417:       front() const noexcept
1417:       {
1417: 
1417:  ;
1417: 
1417:  return _AT_Type::_S_ref(_M_elems, 0);
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr reference
1417:       back() noexcept
1417:       {
1417:  ;
1417:  return _Nm ? *(end() - 1) : *end();
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_reference
1417:       back() const noexcept
1417:       {
1417: 
1417:  ;
1417: 
1417:  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
1417:              : _AT_Type::_S_ref(_M_elems, 0);
1417:       }
1417: 
1417:       [[__gnu__::__const__, __nodiscard__]]
1417:       constexpr pointer
1417:       data() noexcept
1417:       { return _AT_Type::_S_ptr(_M_elems); }
1417: 
1417:       [[__nodiscard__]]
1417:       constexpr const_pointer
1417:       data() const noexcept
1417:       { return _AT_Type::_S_ptr(_M_elems); }
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, typename... _Up>
1417:     array(_Tp, _Up...)
1417:       -> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>,
1417:         1 + sizeof...(_Up)>;
1417: 
1417: 
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:    
1417:     inline bool
1417:     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1417:     { return std::equal(__one.begin(), __one.end(), __two.begin()); }
1417: # 329 "/usr/include/c++/12/array" 3
1417:   template<typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:    
1417:     inline bool
1417:     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1417:     { return !(__one == __two); }
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:    
1417:     inline bool
1417:     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
1417:     {
1417:       return std::lexicographical_compare(__a.begin(), __a.end(),
1417:        __b.begin(), __b.end());
1417:     }
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:    
1417:     inline bool
1417:     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1417:     { return __two < __one; }
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:    
1417:     inline bool
1417:     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1417:     { return !(__one > __two); }
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:    
1417:     inline bool
1417:     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1417:     { return !(__one < __two); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:    
1417:     inline
1417: 
1417: 
1417:     typename enable_if<
1417:       __array_traits<_Tp, _Nm>::_Is_swappable::value
1417:     >::type
1417: 
1417: 
1417: 
1417:     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
1417:     noexcept(noexcept(__one.swap(__two)))
1417:     { __one.swap(__two); }
1417: 
1417: 
1417:   template<typename _Tp, std::size_t _Nm>
1417:     typename enable_if<
1417:       !__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
1417:     swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
1417: 
1417: 
1417:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:     constexpr _Tp&
1417:     get(array<_Tp, _Nm>& __arr) noexcept
1417:     {
1417:       static_assert(_Int < _Nm, "array index is within bounds");
1417:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1417:     }
1417: 
1417:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:     constexpr _Tp&&
1417:     get(array<_Tp, _Nm>&& __arr) noexcept
1417:     {
1417:       static_assert(_Int < _Nm, "array index is within bounds");
1417:       return std::move(std::get<_Int>(__arr));
1417:     }
1417: 
1417:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:     constexpr const _Tp&
1417:     get(const array<_Tp, _Nm>& __arr) noexcept
1417:     {
1417:       static_assert(_Int < _Nm, "array index is within bounds");
1417:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1417:     }
1417: 
1417:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1417:     [[__nodiscard__]]
1417:    mc/settings/lib/SettingDependency.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/list" 1 3
1412: # 58 "/usr/include/c++/12/list" 3
1412:        
1412: # 59 "/usr/include/c++/12/list" 3
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/stl_list.h" 1 3
1412: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1412: 
1412: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   namespace __detail
1412:   {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     struct _List_node_base
1412:     {
1412:       _List_node_base* _M_next;
1412:       _List_node_base* _M_prev;
1412: 
1412:       static void
1412:       swap(_List_node_base& __x, _List_node_base& __y) noexcept;
1412: 
1412:       void
1412:       _M_transfer(_List_node_base* const __first,
1412:     _List_node_base* const __last) noexcept;
1412: 
1412:       void
1412:       _M_reverse() noexcept;
1412: 
1412:       void
1412:       _M_hook(_List_node_base* const __position) noexcept;
1412: 
1412:       void
1412:       _M_unhook() noexcept;
1412:     };
1412: 
1412: 
1412:     struct _List_node_header : public _List_node_base
1412:     {
1412: 
1412:       std::size_t _M_size;
1412: 
1412: 
1412:       _List_node_header() noexcept
1412:       { _M_init(); }
1412: 
1412: 
1412:       _List_node_header(_List_node_header&& __x) noexcept
1412:       : _List_node_base{ __x._M_next, __x._M_prev }
1412: 
1412:       , _M_size(__x._M_size)
1412: 
1412:       {
1412:  if (__x._M_base()->_M_next == __x._M_base())
1412:    this->_M_next = this->_M_prev = this;
1412:  else
1412:    {
1412:      this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base();
1412:      __x._M_init();
1412:    }
1412:       }
1412: 
1412:       void
1412:       _M_move_nodes(_List_node_header&& __x)
1412:       {
1412:  _List_node_base* const __xnode = __x._M_base();
1412:  if (__xnode->_M_next == __xnode)
1412:    _M_init();
1412:  else
1412:    {
1412:      _List_node_base* const __node = this->_M_base();
1412:      __node->_M_next = __xnode->_M_next;
1412:      __node->_M_prev = __xnode->_M_prev;
1412:      __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node;
1412: 
1412:      _M_size = __x._M_size;
1412: 
1412:      __x._M_init();
1412:    }
1412:       }
1412: 
1412: 
1412:       void
1412:       _M_init() noexcept
1412:       {
1412:  this->_M_next = this->_M_prev = this;
1412: 
1412:  this->_M_size = 0;
1412: 
1412:       }
1412: 
1412:     private:
1412:       _List_node_base* _M_base() { return this; }
1412:     };
1412: 
1412: 
1412:     struct _Scratch_list : _List_node_base
1412:     {
1412:       _Scratch_list() { _M_next = _M_prev = this; }
1412: 
1412:       bool empty() const { return _M_next == this; }
1412: 
1412:       void swap(_List_node_base& __l) { _List_node_base::swap(*this, __l); }
1412: 
1412:       template<typename _Iter, typename _Cmp>
1412:  struct _Ptr_cmp
1412:  {
1412:    _Cmp _M_cmp;
1412: 
1412:    bool
1412:    operator()(__detail::_List_node_base* __lhs,
1412:        __detail::_List_node_base* __rhs)
1412:    { return _M_cmp(*_Iter(__lhs), *_Iter(__rhs)); }
1412:  };
1412: 
1412:       template<typename _Iter>
1412:  struct _Ptr_cmp<_Iter, void>
1412:  {
1412:    bool
1412:    operator()(__detail::_List_node_base* __lhs,
1412:        __detail::_List_node_base* __rhs) const
1412:    { return *_Iter(__lhs) < *_Iter(__rhs); }
1412:  };
1412: 
1412: 
1412:       template<typename _Cmp>
1412:  void
1412:  merge(_List_node_base& __x, _Cmp __comp)
1412:  {
1412:    _List_node_base* __first1 = _M_next;
1412:    _List_node_base* const __last1 = this;
1412:    _List_node_base* __first2 = __x._M_next;
1412:    _List_node_base* const __last2 = std::__addressof(__x);
1412: 
1412:    while (__first1 != __last1 && __first2 != __last2)
1412:      {
1412:        if (__comp(__first2, __first1))
1412:   {
1412:     _List_node_base* __next = __first2->_M_next;
1412:     __first1->_M_transfer(__first2, __next);
1412:     __first2 = __next;
1412:   }
1412:        else
1412:   __first1 = __first1->_M_next;
1412:      }
1412:    if (__first2 != __last2)
1412:      this->_M_transfer(__first2, __last2);
1412:  }
1412: 
1412: 
1412:       void _M_take_one(_List_node_base* __i)
1412:       { this->_M_transfer(__i, __i->_M_next); }
1412: 
1412: 
1412:       void _M_put_all(_List_node_base* __i)
1412:       {
1412:  if (!empty())
1412:    __i->_M_transfer(_M_next, this);
1412:       }
1412:     };
1412: 
1412:   }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _List_node : public __detail::_List_node_base
1412:     {
1412: 
1412:       __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
1412:       _Tp* _M_valptr() { return _M_storage._M_ptr(); }
1412:       _Tp const* _M_valptr() const { return _M_storage._M_ptr(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _List_iterator
1412:     {
1412:       typedef _List_iterator<_Tp> _Self;
1412:       typedef _List_node<_Tp> _Node;
1412: 
1412:       typedef ptrdiff_t difference_type;
1412:       typedef std::bidirectional_iterator_tag iterator_category;
1412:       typedef _Tp value_type;
1412:       typedef _Tp* pointer;
1412:       typedef _Tp& reference;
1412: 
1412:       _List_iterator() noexcept
1412:       : _M_node() { }
1412: 
1412:       explicit
1412:       _List_iterator(__detail::_List_node_base* __x) noexcept
1412:       : _M_node(__x) { }
1412: 
1412:       _Self
1412:       _M_const_cast() const noexcept
1412:       { return *this; }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       operator*() const noexcept
1412:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1412: 
1412:       [[__nodiscard__]]
1412:       pointer
1412:       operator->() const noexcept
1412:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1412: 
1412:       _Self&
1412:       operator++() noexcept
1412:       {
1412:  _M_node = _M_node->_M_next;
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator++(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _M_node->_M_next;
1412:  return __tmp;
1412:       }
1412: 
1412:       _Self&
1412:       operator--() noexcept
1412:       {
1412:  _M_node = _M_node->_M_prev;
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator--(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _M_node->_M_prev;
1412:  return __tmp;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator==(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node == __y._M_node; }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator!=(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node != __y._M_node; }
1412: 
1412: 
1412: 
1412:       __detail::_List_node_base* _M_node;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _List_const_iterator
1412:     {
1412:       typedef _List_const_iterator<_Tp> _Self;
1412:       typedef const _List_node<_Tp> _Node;
1412:       typedef _List_iterator<_Tp> iterator;
1412: 
1412:       typedef ptrdiff_t difference_type;
1412:       typedef std::bidirectional_iterator_tag iterator_category;
1412:       typedef _Tp value_type;
1412:       typedef const _Tp* pointer;
1412:       typedef const _Tp& reference;
1412: 
1412:       _List_const_iterator() noexcept
1412:       : _M_node() { }
1412: 
1412:       explicit
1412:       _List_const_iterator(const __detail::_List_node_base* __x)
1412:       noexcept
1412:       : _M_node(__x) { }
1412: 
1412:       _List_const_iterator(const iterator& __x) noexcept
1412:       : _M_node(__x._M_node) { }
1412: 
1412:       iterator
1412:       _M_const_cast() const noexcept
1412:       { return iterator(const_cast<__detail::_List_node_base*>( constexpr const _Tp&&
1417:     get(const array<_Tp, _Nm>&& __arr) noexcept
1417:     {
1417:       static_assert(_Int < _Nm, "array index is within bounds");
1417:       return std::move(std::get<_Int>(__arr));
1417:     }
1417: # 470 "/usr/include/c++/12/array" 3
1417:   template<typename _Tp, size_t _Nm>
1417:     struct tuple_size<array<_Tp, _Nm>>
1417:     : public integral_constant<size_t, _Nm> { };
1417: 
1417: 
1417:   template<size_t _Ind, typename _Tp, size_t _Nm>
1417:     struct tuple_element<_Ind, array<_Tp, _Nm>>
1417:     {
1417:       static_assert(_Ind < _Nm, "array index is in range");
1417:       using type = _Tp;
1417:     };
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:     inline constexpr size_t tuple_size_v<array<_Tp, _Nm>> = _Nm;
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:     inline constexpr size_t tuple_size_v<const array<_Tp, _Nm>> = _Nm;
1417: 
1417: 
1417:   template<typename _Tp, size_t _Nm>
1417:     struct __is_tuple_like_impl<array<_Tp, _Nm>> : true_type
1417:     { };
1417: 
1417: 
1417: }
1417: # 64 "/usr/include/c++/12/functional" 2 3
1417: # 76 "/usr/include/c++/12/functional" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<int _Num> struct _Placeholder { };
1417: # 105 "/usr/include/c++/12/functional" 3
1417:   template<typename _Callable, typename... _Args>
1417:     inline invoke_result_t<_Callable, _Args...>
1417:     invoke(_Callable&& __fn, _Args&&... __args)
1417:     noexcept(is_nothrow_invocable_v<_Callable, _Args...>)
1417:     {
1417:       return std::__invoke(std::forward<_Callable>(__fn),
1417:       std::forward<_Args>(__args)...);
1417:     }
1417: # 138 "/usr/include/c++/12/functional" 3
1417:   template<typename _MemFunPtr,
1417:     bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value>
1417:     class _Mem_fn_base
1417:     : public _Mem_fn_traits<_MemFunPtr>::__maybe_type
1417:     {
1417:       using _Traits = _Mem_fn_traits<_MemFunPtr>;
1417: 
1417:       using _Arity = typename _Traits::__arity;
1417:       using _Varargs = typename _Traits::__vararg;
1417: 
1417:       template<typename _Func, typename... _BoundArgs>
1417:  friend struct _Bind_check_arity;
1417: 
1417:       _MemFunPtr _M_pmf;
1417: 
1417:     public:
1417: 
1417:       using result_type = typename _Traits::__result_type;
1417: 
1417:       explicit constexpr
1417:       _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { }
1417: 
1417:       template<typename... _Args>
1417: 
1417:  auto
1417:  operator()(_Args&&... __args) const
1417:  noexcept(noexcept(
1417:        std::__invoke(_M_pmf, std::forward<_Args>(__args)...)))
1417:  -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...))
1417:  { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); }
1417:     };
1417: 
1417: 
1417:   template<typename _MemObjPtr>
1417:     class _Mem_fn_base<_MemObjPtr, false>
1417:     {
1417:       using _Arity = integral_constant<size_t, 0>;
1417:       using _Varargs = false_type;
1417: 
1417:       template<typename _Func, typename... _BoundArgs>
1417:  friend struct _Bind_check_arity;
1417: 
1417:       _MemObjPtr _M_pm;
1417: 
1417:     public:
1417:       explicit constexpr
1417:       _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { }
1417: 
1417:       template<typename _Tp>
1417: 
1417:  auto
1417:  operator()(_Tp&& __obj) const
1417:  noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj))))
1417:  -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))
1417:  { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); }
1417:     };
1417: 
1417:   template<typename _MemberPointer>
1417:     struct _Mem_fn;
1417: 
1417:   template<typename _Res, typename _Class>
1417:     struct _Mem_fn<_Res _Class::*>
1417:     : _Mem_fn_base<_Res _Class::*>
1417:     {
1417:       using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base;
1417:     };
1417: # 231 "/usr/include/c++/12/functional" 3
1417:   template<typename _Tp, typename _Class>
1417:    
1417:     inline _Mem_fn<_Tp _Class::*>
1417:     mem_fn(_Tp _Class::* __pm) noexcept
1417:     {
1417:       return _Mem_fn<_Tp _Class::*>(__pm);
1417:     }
1417: # 250 "/usr/include/c++/12/functional" 3
1417:   template<typename _Tp>
1417:     struct is_bind_expression
1417:     : public false_type { };
1417: # 262 "/usr/include/c++/12/functional" 3
1417:   template<typename _Tp>
1417:     struct is_placeholder
1417:     : public integral_constant<int, 0>
1417:     { };
1417: 
1417: 
1417:   template <typename _Tp> inline constexpr bool is_bind_expression_v
1417:     = is_bind_expression<_Tp>::value;
1417:   template <typename _Tp> inline constexpr int is_placeholder_v
1417:     = is_placeholder<_Tp>::value;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   namespace placeholders
1417:   {
1417: 
1417: 
1417: 
1417: 
1417:     extern const _Placeholder<1> _1;
1417:     extern const _Placeholder<2> _2;
1417:     extern const _Placeholder<3> _3;
1417:     extern const _Placeholder<4> _4;
1417:     extern const _Placeholder<5> _5;
1417:     extern const _Placeholder<6> _6;
1417:     extern const _Placeholder<7> _7;
1417:     extern const _Placeholder<8> _8;
1417:     extern const _Placeholder<9> _9;
1417:     extern const _Placeholder<10> _10;
1417:     extern const _Placeholder<11> _11;
1417:     extern const _Placeholder<12> _12;
1417:     extern const _Placeholder<13> _13;
1417:     extern const _Placeholder<14> _14;
1417:     extern const _Placeholder<15> _15;
1417:     extern const _Placeholder<16> _16;
1417:     extern const _Placeholder<17> _17;
1417:     extern const _Placeholder<18> _18;
1417:     extern const _Placeholder<19> _19;
1417:     extern const _Placeholder<20> _20;
1417:     extern const _Placeholder<21> _21;
1417:     extern const _Placeholder<22> _22;
1417:     extern const _Placeholder<23> _23;
1417:     extern const _Placeholder<24> _24;
1417:     extern const _Placeholder<25> _25;
1417:     extern const _Placeholder<26> _26;
1417:     extern const _Placeholder<27> _27;
1417:     extern const _Placeholder<28> _28;
1417:     extern const _Placeholder<29> _29;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<int _Num>
1417:     struct is_placeholder<_Placeholder<_Num> >
1417:     : public integral_constant<int, _Num>
1417:     { };
1417: 
1417:   template<int _Num>
1417:     struct is_placeholder<const _Placeholder<_Num> >
1417:     : public integral_constant<int, _Num>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417:   template<std::size_t __i, typename _Tuple>
1417:     using _Safe_tuple_element_t
1417:       = typename enable_if<(__i < tuple_size<_Tuple>::value),
1417:       tuple_element<__i, _Tuple>>::type::type;
1417: # 351 "/usr/include/c++/12/functional" 3
1417:   template<typename _Arg,
1417:     bool _IsBindExp = is_bind_expression<_Arg>::value,
1417:     bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)>
1417:     class _Mu;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     class _Mu<reference_wrapper<_Tp>, false, false>
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _CVRef, typename _Tuple>
1417: 
1417:  _Tp&
1417:  operator()(_CVRef& __arg, _Tuple&) const volatile
1417:  { return __arg.get(); }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Arg>
1417:     class _Mu<_Arg, true, false>
1417:     {
1417:     public:
1417:       template<typename _CVArg, typename... _Args>
1417: 
1417:  auto
1417:  operator()(_CVArg& __arg,
1417:      tuple<_Args...>& __tuple) const volatile
1417:  -> decltype(__arg(declval<_Args>()...))
1417:  {
1417: 
1417:    typedef typename _Build_index_tuple<sizeof...(_Args)>::__type
1417:      _Indexes;
1417:    return this->__call(__arg, __tuple, _Indexes());
1417:  }
1417: 
1417:     private:
1417: 
1417: 
1417:       template<typename _CVArg, typename... _Args, std::size_t... _Indexes>
1417: 
1417:  auto
1417:  __call(_CVArg& __arg, tuple<_Args...>& __tuple,
1417:         const _Index_tuple<_Indexes...>&) const_M_node)); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       operator*() const noexcept
1412:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1412: 
1412:       [[__nodiscard__]]
1412:       pointer
1412:       operator->() const noexcept
1412:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1412: 
1412:       _Self&
1412:       operator++() noexcept
1412:       {
1412:  _M_node = _M_node->_M_next;
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator++(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _M_node->_M_next;
1412:  return __tmp;
1412:       }
1412: 
1412:       _Self&
1412:       operator--() noexcept
1412:       {
1412:  _M_node = _M_node->_M_prev;
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator--(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  _M_node = _M_node->_M_prev;
1412:  return __tmp;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator==(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node == __y._M_node; }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator!=(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_node != __y._M_node; }
1412: 
1412: 
1412: 
1412:       const __detail::_List_node_base* _M_node;
1412:     };
1412: 
1412: namespace __cxx11 {
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     class _List_base
1412:     {
1412:     protected:
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_Tp>::other _Tp_alloc_type;
1412:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits;
1412:       typedef typename _Tp_alloc_traits::template
1412:  rebind<_List_node<_Tp> >::other _Node_alloc_type;
1412:       typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits;
1412: 
1412: 
1412:       static size_t
1412:       _S_distance(const __detail::_List_node_base* __first,
1412:     const __detail::_List_node_base* __last)
1412:       {
1412:  size_t __n = 0;
1412:  while (__first != __last)
1412:    {
1412:      __first = __first->_M_next;
1412:      ++__n;
1412:    }
1412:  return __n;
1412:       }
1412: 
1412: 
1412:       struct _List_impl
1412:       : public _Node_alloc_type
1412:       {
1412:  __detail::_List_node_header _M_node;
1412: 
1412:  _List_impl() noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value)
1412: 
1412:  : _Node_alloc_type()
1412:  { }
1412: 
1412:  _List_impl(const _Node_alloc_type& __a) noexcept
1412:  : _Node_alloc_type(__a)
1412:  { }
1412: 
1412: 
1412:  _List_impl(_List_impl&&) = default;
1412: 
1412:  _List_impl(_Node_alloc_type&& __a, _List_impl&& __x)
1412:  : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node))
1412:  { }
1412: 
1412:  _List_impl(_Node_alloc_type&& __a) noexcept
1412:  : _Node_alloc_type(std::move(__a))
1412:  { }
1412: 
1412:       };
1412: 
1412:       _List_impl _M_impl;
1412: 
1412: 
1412:       size_t _M_get_size() const { return _M_impl._M_node._M_size; }
1412: 
1412:       void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; }
1412: 
1412:       void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; }
1412: 
1412:       void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; }
1412: 
1412: 
1412:       size_t
1412:       _M_distance(const __detail::_List_node_base* __first,
1412:     const __detail::_List_node_base* __last) const
1412:       { return _S_distance(__first, __last); }
1412: 
1412: 
1412:       size_t _M_node_count() const { return _M_get_size(); }
1412: # 516 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       typename _Node_alloc_traits::pointer
1412:       _M_get_node()
1412:       { return _Node_alloc_traits::allocate(_M_impl, 1); }
1412: 
1412:       void
1412:       _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept
1412:       { _Node_alloc_traits::deallocate(_M_impl, __p, 1); }
1412: 
1412:   public:
1412:       typedef _Alloc allocator_type;
1412: 
1412:       _Node_alloc_type&
1412:       _M_get_Node_allocator() noexcept
1412:       { return _M_impl; }
1412: 
1412:       const _Node_alloc_type&
1412:       _M_get_Node_allocator() const noexcept
1412:       { return _M_impl; }
1412: 
1412: 
1412:       _List_base() = default;
1412: 
1412: 
1412: 
1412: 
1412:       _List_base(const _Node_alloc_type& __a) noexcept
1412:       : _M_impl(__a)
1412:       { }
1412: 
1412: 
1412:       _List_base(_List_base&&) = default;
1412: 
1412: 
1412:       _List_base(_List_base&& __x, _Node_alloc_type&& __a)
1412:       : _M_impl(std::move(__a))
1412:       {
1412:  if (__x._M_get_Node_allocator() == _M_get_Node_allocator())
1412:    _M_move_nodes(std::move(__x));
1412: 
1412:       }
1412: 
1412: 
1412: 
1412:       _List_base(_Node_alloc_type&& __a, _List_base&& __x)
1412:       : _M_impl(std::move(__a), std::move(__x._M_impl))
1412:       { }
1412: 
1412: 
1412:       _List_base(_Node_alloc_type&& __a)
1412:       : _M_impl(std::move(__a))
1412:       { }
1412: 
1412:       void
1412:       _M_move_nodes(_List_base&& __x)
1412:       { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); }
1412: 
1412: 
1412: 
1412:       ~_List_base() noexcept
1412:       { _M_clear(); }
1412: 
1412:       void
1412:       _M_clear() noexcept;
1412: 
1412:       void
1412:       _M_init() noexcept
1412:       { this->_M_impl._M_node._M_init(); }
1412:     };
1412: # 631 "/usr/include/c++/12/bits/stl_list.h" 3
1412:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1412:     class list : protected _List_base<_Tp, _Alloc>
1412:     {
1412: # 644 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1412:    "std::list must have a non-const, non-volatile value_type");
1412: 
1412:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1412:    "std::list must have the same value_type as its allocator");
1412: 
1412: 
1412: 
1412:       typedef _List_base<_Tp, _Alloc> _Base;
1412:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1412:       typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits;
1412:       typedef typename _Base::_Node_alloc_type _Node_alloc_type;
1412:       typedef typename _Base::_Node_alloc_traits _Node_alloc_traits;
1412: 
1412:     public:
1412:       typedef _Tp value_type;
1412:       typedef typename _Tp_alloc_traits::pointer pointer;
1412:       typedef typename _Tp_alloc_traits::const_pointer const_pointer;
1412:       typedef typename _Tp_alloc_traits::reference reference;
1412:       typedef typename _Tp_alloc_traits::const_reference const_reference;
1412:       typedef _List_iterator<_Tp> iterator;
1412:       typedef _List_const_iterator<_Tp> const_iterator;
1412:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1412:       typedef std::reverse_iterator<iterator> reverse_iterator;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef _Alloc allocator_type;
1412: 
1412:     protected:
1412: 
1412: 
1412:       typedef _List_node<_Tp> _Node;
1412: 
1412:       using _Base::_M_impl;
1412:       using _Base::_M_put_node;
1412:       using _Base::_M_get_node;
1412:       using _Base::_M_get_Node_allocator;
1412: # 706 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename... _Args>
1412:  _Node*
1412:  _M_create_node(_Args&&... __args)
1412:  {
1412:    auto __p = this->_M_get_node();
1412:    auto& __alloc = _M_get_Node_allocator();
1412:    __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p};
1412:    _Node_alloc_traits::construct(__alloc, __p->_M_valptr(),
1412:      std::forward<_Args>(__args)...);
1412:    __guard = nullptr;
1412:    return __p;
1412:  }
1412: 
1412: 
1412: 
1412:       static size_t
1412:       _S_distance(const_iterator __first, const_iterator __last)
1412:       { return std::distance(__first, __last); }
1412: 
1412: 
1412:       size_t
1412:       _M_node_count() const
1412:       {  volatile
1417:  -> decltype(__arg(declval<_Args>()...))
1417:  {
1417:    return __arg(std::get<_Indexes>(std::move(__tuple))...);
1417:  }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Arg>
1417:     class _Mu<_Arg, false, true>
1417:     {
1417:     public:
1417:       template<typename _Tuple>
1417: 
1417:  _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
1417:  operator()(const volatile _Arg&, _Tuple& __tuple) const volatile
1417:  {
1417:    return
1417:      ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple));
1417:  }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Arg>
1417:     class _Mu<_Arg, false, false>
1417:     {
1417:     public:
1417:       template<typename _CVArg, typename _Tuple>
1417: 
1417:  _CVArg&&
1417:  operator()(_CVArg&& __arg, _Tuple&) const volatile
1417:  { return std::forward<_CVArg>(__arg); }
1417:     };
1417: 
1417: 
1417:   template<std::size_t _Ind, typename... _Tp>
1417:     inline auto
1417:     __volget(volatile tuple<_Tp...>& __tuple)
1417:     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
1417:     { return std::get<_Ind>(const_cast<tuple<_Tp...>&>(__tuple)); }
1417: 
1417: 
1417:   template<std::size_t _Ind, typename... _Tp>
1417:     inline auto
1417:     __volget(const volatile tuple<_Tp...>& __tuple)
1417:     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
1417:     { return std::get<_Ind>(const_cast<const tuple<_Tp...>&>(__tuple)); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Signature>
1417:     class _Bind;
1417: 
1417:    template<typename _Functor, typename... _Bound_args>
1417:     class _Bind<_Functor(_Bound_args...)>
1417:     : public _Weak_result_type<_Functor>
1417:     {
1417:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1417:  _Bound_indexes;
1417: 
1417:       _Functor _M_f;
1417:       tuple<_Bound_args...> _M_bound_args;
1417: 
1417: 
1417:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1417: 
1417:  _Result
1417:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1417:  {
1417:    return std::__invoke(_M_f,
1417:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1417:        );
1417:  }
1417: 
1417: 
1417:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1417: 
1417:  _Result
1417:  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1417:  {
1417:    return std::__invoke(_M_f,
1417:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1417:        );
1417:  }
1417: 
1417: 
1417:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1417:  _Result
1417:  __call_v(tuple<_Args...>&& __args,
1417:    _Index_tuple<_Indexes...>) volatile
1417:  {
1417:    return std::__invoke(_M_f,
1417:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1417:        );
1417:  }
1417: 
1417: 
1417:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1417:  _Result
1417:  __call_c_v(tuple<_Args...>&& __args,
1417:      _Index_tuple<_Indexes...>) const volatile
1417:  {
1417:    return std::__invoke(_M_f,
1417:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1417:        );
1417:  }
1417: 
1417:       template<typename _BoundArg, typename _CallArgs>
1417:  using _Mu_type = decltype(
1417:      _Mu<typename remove_cv<_BoundArg>::type>()(
1417:        std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) );
1417: 
1417:       template<typename _Fn, typename _CallArgs, typename... _BArgs>
1417:  using _Res_type_impl
1417:    = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type;
1417: 
1417:       template<typename _CallArgs>
1417:  using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>;
1417: 
1417:       template<typename _CallArgs>
1417:  using __dependent = typename
1417:    enable_if<bool(tuple_size<_CallArgs>::value+1), _Functor>::type;
1417: 
1417:       template<typename _CallArgs, template<class> class __cv_quals>
1417:  using _Res_type_cv = _Res_type_impl<
1417:    typename __cv_quals<__dependent<_CallArgs>>::type,
1417:    _CallArgs,
1417:    typename __cv_quals<_Bound_args>::type...>;
1417: 
1417:      public:
1417:       template<typename... _Args>
1417:  explicit
1417:  _Bind(const _Functor& __f, _Args&&... __args)
1417:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1417:  { }
1417: 
1417:       template<typename... _Args>
1417:  explicit
1417:  _Bind(_Functor&& __f, _Args&&... __args)
1417:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1417:  { }
1417: 
1417:       _Bind(const _Bind&) = default;
1417:       _Bind(_Bind&&) = default;
1417: 
1417: 
1417:       template<typename... _Args,
1417:         typename _Result = _Res_type<tuple<_Args...>>>
1417: 
1417:  _Result
1417:  operator()(_Args&&... __args)
1417:  {
1417:    return this->__call<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417: 
1417: 
1417:       template<typename... _Args,
1417:         typename _Result = _Res_type_cv<tuple<_Args...>, add_const>>
1417: 
1417:  _Result
1417:  operator()(_Args&&... __args) const
1417:  {
1417:    return this->__call_c<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417: # 591 "/usr/include/c++/12/functional" 3
1417:       template<typename... _Args,
1417:         typename _Result = _Res_type_cv<tuple<_Args...>, add_volatile>>
1417:  [[deprecated("std::bind does not support volatile in C++17")]]
1417:  _Result
1417:  operator()(_Args&&... __args) volatile
1417:  {
1417:    return this->__call_v<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417: 
1417: 
1417:       template<typename... _Args,
1417:         typename _Result = _Res_type_cv<tuple<_Args...>, add_cv>>
1417:  [[deprecated("std::bind does not support volatile in C++17")]]
1417:  _Result
1417:  operator()(_Args&&... __args) const volatile
1417:  {
1417:    return this->__call_c_v<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417:     };
1417: 
1417: 
1417:   template<typename _Result, typename _Signature>
1417:     class _Bind_result;
1417: 
1417:   template<typename _Result, typename _Functor, typename... _Bound_args>
1417:     class _Bind_result<_Result, _Functor(_Bound_args...)>
1417:     {
1417:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1417:  _Bound_indexes;
1417: 
1417:       _Functor _M_f;
1417:       tuple<_Bound_args...> _M_bound_args;
1417: 
1417: 
1417:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1417: 
1417:  _Res
1417:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1417:  {
1417:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1417:         (std::get<_Indexes>(_M_bound_args), __args)...);
1417:  }
1417: 
1417: 
1417:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1417: 
1417:  _Res
1417:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1417:  {
1417:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1417:         (std::get<_Indexes>(_M_bound_args), __args)...);
1417:  }
1417: 
1417: 
1417:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1417: 
1417:  _Res
1417:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
1417:  {
1417:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1417:         (__volget<_Indexes>(_M_bound_args), __args)...);
1417:  }
1417: 
1417: 
1417:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1417: 
1417:  _Res
1417:  __call(tuple<_Args...>&& __args,
1417:         _Index_tuple<_Indexes...>) const volatile
1417:  {
1417:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1417:         (__volget<_Indexes>(_M_bound_args), __args)...);
1417:  }
1417: 
1417:  return this->_M_get_size(); }
1412: # 741 "/usr/include/c++/12/bits/stl_list.h" 3
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       list() = default;
1412: # 758 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       explicit
1412:       list(const allocator_type& __a) noexcept
1412:       : _Base(_Node_alloc_type(__a)) { }
1412: # 771 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       explicit
1412:       list(size_type __n, const allocator_type& __a = allocator_type())
1412:       : _Base(_Node_alloc_type(__a))
1412:       { _M_default_initialize(__n); }
1412: # 784 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       list(size_type __n, const value_type& __value,
1412:     const allocator_type& __a = allocator_type())
1412:       : _Base(_Node_alloc_type(__a))
1412:       { _M_fill_initialize(__n, __value); }
1412: # 811 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       list(const list& __x)
1412:       : _Base(_Node_alloc_traits::
1412:        _S_select_on_copy(__x._M_get_Node_allocator()))
1412:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1412: # 824 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       list(list&&) = default;
1412: # 834 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       list(initializer_list<value_type> __l,
1412:     const allocator_type& __a = allocator_type())
1412:       : _Base(_Node_alloc_type(__a))
1412:       { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); }
1412: 
1412:       list(const list& __x, const __type_identity_t<allocator_type>& __a)
1412:       : _Base(_Node_alloc_type(__a))
1412:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1412: 
1412:     private:
1412:       list(list&& __x, const allocator_type& __a, true_type) noexcept
1412:       : _Base(_Node_alloc_type(__a), std::move(__x))
1412:       { }
1412: 
1412:       list(list&& __x, const allocator_type& __a, false_type)
1412:       : _Base(_Node_alloc_type(__a))
1412:       {
1412:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1412:    this->_M_move_nodes(std::move(__x));
1412:  else
1412:    insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()),
1412:      std::__make_move_if_noexcept_iterator(__x.end()));
1412:       }
1412: 
1412:     public:
1412:       list(list&& __x, const __type_identity_t<allocator_type>& __a)
1412:       noexcept(_Node_alloc_traits::_S_always_equal())
1412:       : list(std::move(__x), __a,
1412:       typename _Node_alloc_traits::is_always_equal{})
1412:       { }
1412: # 877 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412:  list(_InputIterator __first, _InputIterator __last,
1412:       const allocator_type& __a = allocator_type())
1412:  : _Base(_Node_alloc_type(__a))
1412:  { _M_initialize_dispatch(__first, __last, __false_type()); }
1412: # 903 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       ~list() = default;
1412: # 914 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       list&
1412:       operator=(const list& __x);
1412: # 928 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       list&
1412:       operator=(list&& __x)
1412:       noexcept(_Node_alloc_traits::_S_nothrow_move())
1412:       {
1412:  constexpr bool __move_storage =
1412:    _Node_alloc_traits::_S_propagate_on_move_assign()
1412:    || _Node_alloc_traits::_S_always_equal();
1412:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1412:  return *this;
1412:       }
1412: # 946 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       list&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  this->assign(__l.begin(), __l.end());
1412:  return *this;
1412:       }
1412: # 964 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       assign(size_type __n, const value_type& __val)
1412:       { _M_fill_assign(__n, __val); }
1412: # 981 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412:  void
1412:  assign(_InputIterator __first, _InputIterator __last)
1412:  { _M_assign_dispatch(__first, __last, __false_type()); }
1412: # 1005 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       assign(initializer_list<value_type> __l)
1412:       { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); }
1412: 
1412: 
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_Base::_M_get_Node_allocator()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       begin() noexcept
1412:       { return iterator(this->_M_impl._M_node._M_next); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return const_iterator(this->_M_impl._M_node._M_next); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       end() noexcept
1412:       { return iterator(&this->_M_impl._M_node); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       end() const noexcept
1412:       { return const_iterator(&this->_M_impl._M_node); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return reverse_iterator(end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return reverse_iterator(begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return const_iterator(this->_M_impl._M_node._M_next); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return const_iterator(&this->_M_impl._M_node); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_node_count(); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); }
1412: # 1168 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       resize(size_type __new_size);
1412: # 1181 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       resize(size_type __new_size, const value_type& __x);
1412: # 1203 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       [[__nodiscard__]]
1412:       reference
1412:       front() noexcept
1412:       { return *begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       front() const noexcept
1412:       { return *begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       back() noexcept
1412:       {
1412:  i   public:
1417:       typedef _Result result_type;
1417: 
1417:       template<typename... _Args>
1417:  explicit
1417:  _Bind_result(const _Functor& __f, _Args&&... __args)
1417:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1417:  { }
1417: 
1417:       template<typename... _Args>
1417:  explicit
1417:  _Bind_result(_Functor&& __f, _Args&&... __args)
1417:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1417:  { }
1417: 
1417:       _Bind_result(const _Bind_result&) = default;
1417:       _Bind_result(_Bind_result&&) = default;
1417: 
1417: 
1417:       template<typename... _Args>
1417: 
1417:  result_type
1417:  operator()(_Args&&... __args)
1417:  {
1417:    return this->__call<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417: 
1417: 
1417:       template<typename... _Args>
1417: 
1417:  result_type
1417:  operator()(_Args&&... __args) const
1417:  {
1417:    return this->__call<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417: 
1417: 
1417:       template<typename... _Args>
1417:  [[deprecated("std::bind does not support volatile in C++17")]]
1417:  result_type
1417:  operator()(_Args&&... __args) volatile
1417:  {
1417:    return this->__call<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417: 
1417: 
1417:       template<typename... _Args>
1417:  [[deprecated("std::bind does not support volatile in C++17")]]
1417:  result_type
1417:  operator()(_Args&&... __args) const volatile
1417:  {
1417:    return this->__call<_Result>(
1417:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1417:        _Bound_indexes());
1417:  }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Signature>
1417:     struct is_bind_expression<_Bind<_Signature> >
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Signature>
1417:     struct is_bind_expression<const _Bind<_Signature> >
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Signature>
1417:     struct is_bind_expression<volatile _Bind<_Signature> >
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Signature>
1417:     struct is_bind_expression<const volatile _Bind<_Signature>>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Result, typename _Signature>
1417:     struct is_bind_expression<_Bind_result<_Result, _Signature>>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Result, typename _Signature>
1417:     struct is_bind_expression<const _Bind_result<_Result, _Signature>>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Result, typename _Signature>
1417:     struct is_bind_expression<volatile _Bind_result<_Result, _Signature>>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Result, typename _Signature>
1417:     struct is_bind_expression<const volatile _Bind_result<_Result, _Signature>>
1417:     : public true_type { };
1417: 
1417:   template<typename _Func, typename... _BoundArgs>
1417:     struct _Bind_check_arity { };
1417: 
1417:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
1417:     struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...>
1417:     {
1417:       static_assert(sizeof...(_BoundArgs) == sizeof...(_Args),
1417:                    "Wrong number of arguments for function");
1417:     };
1417: 
1417:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
1417:     struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...>
1417:     {
1417:       static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args),
1417:                    "Wrong number of arguments for function");
1417:     };
1417: 
1417:   template<typename _Tp, typename _Class, typename... _BoundArgs>
1417:     struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...>
1417:     {
1417:       using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity;
1417:       using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs;
1417:       static_assert(_Varargs::value
1417:       ? sizeof...(_BoundArgs) >= _Arity::value + 1
1417:       : sizeof...(_BoundArgs) == _Arity::value + 1,
1417:       "Wrong number of arguments for pointer-to-member");
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
1417:     using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
1417: 
1417:   template<bool _SocketLike, typename _Func, typename... _BoundArgs>
1417:     struct _Bind_helper
1417:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1417:     {
1417:       typedef typename decay<_Func>::type __func_type;
1417:       typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Func, typename... _BoundArgs>
1417:     struct _Bind_helper<true, _Func, _BoundArgs...>
1417:     { };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Func, typename... _BoundArgs>
1417:     inline typename
1417:     _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type
1417:     bind(_Func&& __f, _BoundArgs&&... __args)
1417:     {
1417:       typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type;
1417:       return typename __helper_type::type(std::forward<_Func>(__f),
1417:        std::forward<_BoundArgs>(__args)...);
1417:     }
1417: 
1417:   template<typename _Result, typename _Func, typename... _BoundArgs>
1417:     struct _Bindres_helper
1417:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1417:     {
1417:       typedef typename decay<_Func>::type __functor_type;
1417:       typedef _Bind_result<_Result,
1417:       __functor_type(typename decay<_BoundArgs>::type...)>
1417:  type;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Result, typename _Func, typename... _BoundArgs>
1417:     inline
1417:     typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type
1417:     bind(_Func&& __f, _BoundArgs&&... __args)
1417:     {
1417:       typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type;
1417:       return typename __helper_type::type(std::forward<_Func>(__f),
1417:        std::forward<_BoundArgs>(__args)...);
1417:     }
1417: # 997 "/usr/include/c++/12/functional" 3
1417:   template<typename _Fn>
1417:     class _Not_fn
1417:     {
1417:       template<typename _Fn2, typename... _Args>
1417:  using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type;
1417: 
1417:       template<typename _Tp>
1417:  static decltype(!std::declval<_Tp>())
1417:  _S_not() noexcept(noexcept(!std::declval<_Tp>()));
1417: 
1417:     public:
1417:       template<typename _Fn2>
1417:  constexpr
1417:  _Not_fn(_Fn2&& __fn, int)
1417:  : _M_fn(std::forward<_Fn2>(__fn)) { }
1417: 
1417:       _Not_fn(const _Not_fn& __fn) = default;
1417:       _Not_fn(_Not_fn&& __fn) = default;
1417:       ~_Not_fn() = default;
1417: # 1031 "/usr/include/c++/12/functional" 3
1417:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(__is_nothrow_invocable<_Fn &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); }
1417:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(__is_nothrow_invocable<_Fn const &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); }
1417:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && nterator __tmp = end();
1412:  --__tmp;
1412:  return *__tmp;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       back() const noexcept
1412:       {
1412:  const_iterator __tmp = end();
1412:  --__tmp;
1412:  return *__tmp;
1412:       }
1412: # 1254 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       push_front(const value_type& __x)
1412:       { this->_M_insert(begin(), __x); }
1412: 
1412: 
1412:       void
1412:       push_front(value_type&& __x)
1412:       { this->_M_insert(begin(), std::move(__x)); }
1412: 
1412:       template<typename... _Args>
1412: 
1412:  reference
1412: 
1412: 
1412: 
1412:  emplace_front(_Args&&... __args)
1412:  {
1412:    this->_M_insert(begin(), std::forward<_Args>(__args)...);
1412: 
1412:    return front();
1412: 
1412:  }
1412: # 1290 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       pop_front() noexcept
1412:       { this->_M_erase(begin()); }
1412: # 1304 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       push_back(const value_type& __x)
1412:       { this->_M_insert(end(), __x); }
1412: 
1412: 
1412:       void
1412:       push_back(value_type&& __x)
1412:       { this->_M_insert(end(), std::move(__x)); }
1412: 
1412:       template<typename... _Args>
1412: 
1412:  reference
1412: 
1412: 
1412: 
1412:  emplace_back(_Args&&... __args)
1412:  {
1412:    this->_M_insert(end(), std::forward<_Args>(__args)...);
1412: 
1412:  return back();
1412: 
1412:  }
1412: # 1339 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       pop_back() noexcept
1412:       { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
1412: # 1356 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace(const_iterator __position, _Args&&... __args);
1412: # 1371 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       iterator
1412:       insert(const_iterator __position, const value_type& __x);
1412: # 1401 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       iterator
1412:       insert(const_iterator __position, value_type&& __x)
1412:       { return emplace(__position, std::move(__x)); }
1412: # 1420 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       iterator
1412:       insert(const_iterator __p, initializer_list<value_type> __l)
1412:       { return this->insert(__p, __l.begin(), __l.end()); }
1412: # 1440 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       iterator
1412:       insert(const_iterator __position, size_type __n, const value_type& __x);
1412: # 1479 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412:  iterator
1412:  insert(const_iterator __position, _InputIterator __first,
1412:         _InputIterator __last);
1412: # 1523 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       iterator
1412: 
1412:       erase(const_iterator __position) noexcept;
1412: # 1548 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       iterator
1412: 
1412:       erase(const_iterator __first, const_iterator __last) noexcept
1412: 
1412: 
1412: 
1412:       {
1412:  while (__first != __last)
1412:    __first = erase(__first);
1412:  return __last._M_const_cast();
1412:       }
1412: # 1571 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       swap(list& __x) noexcept
1412:       {
1412:  __detail::_List_node_base::swap(this->_M_impl._M_node,
1412:      __x._M_impl._M_node);
1412: 
1412:  size_t __xsize = __x._M_get_size();
1412:  __x._M_set_size(this->_M_get_size());
1412:  this->_M_set_size(__xsize);
1412: 
1412:  _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(),
1412:            __x._M_get_Node_allocator());
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       clear() noexcept
1412:       {
1412:  _Base::_M_clear();
1412:  _Base::_M_init();
1412:       }
1412: # 1610 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412: 
1412:       splice(const_iterator __position, list&& __x) noexcept
1412: 
1412: 
1412: 
1412:       {
1412:  if (!__x.empty())
1412:    {
1412:      _M_check_equal_allocators(__x);
1412: 
1412:      this->_M_transfer(__position._M_const_cast(),
1412:          __x.begin(), __x.end());
1412: 
1412:      this->_M_inc_size(__x._M_get_size());
1412:      __x._M_set_size(0);
1412:    }
1412:       }
1412: 
1412: 
1412:       void
1412:       splice(const_iterator __position, list& __x) noexcept
1412:       { splice(__position, std::move(__x)); }
1412: # 1646 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       splice(const_iterator __position, list&& __x, const_iterator __i) noexcept
1412: # 1661 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       {
1412:  iterator __j = __i._M_const_cast();
1412:  ++__j;
1412:  if (__position == __i || __position == __j)
1412:    return;
1412: 
1412:  if (this != std::__addressof(__x))
1412:    _M_check_equal_allocators(__x);
1412: 
1412:  this->_M_transfer(__position._M_const_cast(),
1412:      __i._M_const_cast(), __j);
1412: 
1412:  this->_M_inc_size(1);
1412:  __x._M_dec_size(1);
1412:       }
1412: # 1688 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       splice(const_iterator __position, list& __x, const_iterator __i) noexcept
1412:       { splice(__position, std::move(__x), __i); }
1412: # 1707 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       splice(const_iterator __position, list&& __x, const_iterator __first,
1412:       const_iterator __last) noexcept
1412: # 1727 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       {
1412:  if (__first != __last)
1412:    {
1412:      if (this != std::__addressof(__x))
1412:        _M_check_equal_allocators(__x);
1412: 
1412:      size_t __n = _S_distance(__first, __last);
1412:      this->_M_inc_size(__n);
1412:      __x._M_dec_size(__n);
1412: 
1412:      this->_M_transfer(__position._M_const_cast(),
1412:          __first._M_const_cast(),
1412:          __last._M_const_cast());
1412:    }
1412:       }
1412: # 1757 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       splice(const_iterator __position, list& __x, const_iterator __first,
1412:       const_iterator __last) noexcept
1412:       { splice(__position, std::move(__x), __first, __last); }
1412: 
1412: 
1412:     private:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef void __remove_return_type;
1412: 
1412: 
1412:     public:
1412: # 1786 "/usr/include/c++/12/bits/stl_list.h" 3
1412:      
1412:       __remove_return_type
1412:       remove(const _Tp& __value);
1412: # 1801 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename _Predicate>
1412:  __remove_return_type
1412:  remove_if(_Predicate);
1412: # 1815 "/usr/include/c++/12/bits/stl_list.h" 3
1412:      
1412:       __remove_return_type
1412:       unique();
1412: # 1831 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename _BinaryPredicate>
1412:  __remove_return_type
1412:  unique(_BinaryPredicate);
1412: # 1847 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       merge(list&& __x);
1412: 
1412:       void
1412:       merge(list& __x)
1412:       { merge(std::move(__x)); }
1412: # 1872 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename _StrictWeakOrdering>
1412:  void
1412:  merge(list&& __x, _StrictWeakOrdering __comp);
1412: 
1412:       template<typename _StrictWeakOrdering>
1412:  void
1412:  merge(list& __x, _StrictWeakOrdering __comp)
1412:  { merge(std::move(__x), __comp); }
1412: # 1891 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       void
1412:       reverse() noexcept
1412:       { this->_M_impl._M_node._M_reverse(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       sort();
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _StrictWeakOrdering>
1412:  void
1412:  sort(_StrictWeakOrdering);
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Integer>
1412:  void
1412:  _M_initialize_dispatch(_Integer __n,oexcept(__is_nothrow_invocable<_Fn &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); }
1417:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(__is_nothrow_invocable<_Fn const &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); }
1417: 
1417: 
1417:     private:
1417:       _Fn _M_fn;
1417:     };
1417: 
1417:   template<typename _Tp, typename _Pred>
1417:     struct __is_byte_like : false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_byte_like<_Tp, equal_to<_Tp>>
1417:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_byte_like<_Tp, equal_to<void>>
1417:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1417: 
1417: 
1417: 
1417:   enum class byte : unsigned char;
1417: 
1417:   template<>
1417:     struct __is_byte_like<byte, equal_to<byte>>
1417:     : true_type { };
1417: 
1417:   template<>
1417:     struct __is_byte_like<byte, equal_to<void>>
1417:     : true_type { };
1417: # 1078 "/usr/include/c++/12/functional" 3
1417:   template<typename _Fn>
1417:    
1417:     inline auto
1417:     not_fn(_Fn&& __fn)
1417:     noexcept(std::is_nothrow_constructible<std::decay_t<_Fn>, _Fn&&>::value)
1417:     {
1417:       return _Not_fn<std::decay_t<_Fn>>{std::forward<_Fn>(__fn), 0};
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _ForwardIterator1, typename _BinaryPredicate = equal_to<>>
1417:     class default_searcher
1417:     {
1417:     public:
1417:      
1417:       default_searcher(_ForwardIterator1 __pat_first,
1417:          _ForwardIterator1 __pat_last,
1417:          _BinaryPredicate __pred = _BinaryPredicate())
1417:       : _M_m(__pat_first, __pat_last, std::move(__pred))
1417:       { }
1417: 
1417:       template<typename _ForwardIterator2>
1417: 
1417:  pair<_ForwardIterator2, _ForwardIterator2>
1417:  operator()(_ForwardIterator2 __first, _ForwardIterator2 __last) const
1417:  {
1417:    _ForwardIterator2 __first_ret =
1417:      std::search(__first, __last, std::get<0>(_M_m), std::get<1>(_M_m),
1417:    std::get<2>(_M_m));
1417:    auto __ret = std::make_pair(__first_ret, __first_ret);
1417:    if (__ret.first != __last)
1417:      std::advance(__ret.second, std::distance(std::get<0>(_M_m),
1417:            std::get<1>(_M_m)));
1417:    return __ret;
1417:  }
1417: 
1417:     private:
1417:       tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m;
1417:     };
1417: 
1417:   template<typename _Key, typename _Tp, typename _Hash, typename _Pred>
1417:     struct __boyer_moore_map_base
1417:     {
1417:       template<typename _RAIter>
1417:  __boyer_moore_map_base(_RAIter __pat, size_t __patlen,
1417:           _Hash&& __hf, _Pred&& __pred)
1417:  : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) }
1417:  {
1417:    if (__patlen > 0)
1417:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1417:        _M_bad_char[__pat[__i]] = __patlen - 1 - __i;
1417:  }
1417: 
1417:       using __diff_type = _Tp;
1417: 
1417:       __diff_type
1417:       _M_lookup(_Key __key, __diff_type __not_found) const
1417:       {
1417:  auto __iter = _M_bad_char.find(__key);
1417:  if (__iter == _M_bad_char.end())
1417:    return __not_found;
1417:  return __iter->second;
1417:       }
1417: 
1417:       _Pred
1417:       _M_pred() const { return _M_bad_char.key_eq(); }
1417: 
1417:       std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
1417:     };
1417: 
1417:   template<typename _Tp, size_t _Len, typename _Pred>
1417:     struct __boyer_moore_array_base
1417:     {
1417:       template<typename _RAIter, typename _Unused>
1417:  __boyer_moore_array_base(_RAIter __pat, size_t __patlen,
1417:      _Unused&&, _Pred&& __pred)
1417:  : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
1417:  {
1417:    std::get<0>(_M_bad_char).fill(__patlen);
1417:    if (__patlen > 0)
1417:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1417:        {
1417:   auto __ch = __pat[__i];
1417:   using _UCh = make_unsigned_t<decltype(__ch)>;
1417:   auto __uch = static_cast<_UCh>(__ch);
1417:   std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i;
1417:        }
1417:  }
1417: 
1417:       using __diff_type = _Tp;
1417: 
1417:       template<typename _Key>
1417:  __diff_type
1417:  _M_lookup(_Key __key, __diff_type __not_found) const
1417:  {
1417:    auto __ukey = static_cast<make_unsigned_t<_Key>>(__key);
1417:    if (__ukey >= _Len)
1417:      return __not_found;
1417:    return std::get<0>(_M_bad_char)[__ukey];
1417:  }
1417: 
1417:       const _Pred&
1417:       _M_pred() const { return std::get<1>(_M_bad_char); }
1417: 
1417:       tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _RAIter, typename _Hash, typename _Pred,
1417:            typename _Val = typename iterator_traits<_RAIter>::value_type,
1417:     typename _Diff = typename iterator_traits<_RAIter>::difference_type>
1417:     using __boyer_moore_base_t
1417:       = __conditional_t<__is_byte_like<_Val, _Pred>::value,
1417:    __boyer_moore_array_base<_Diff, 256, _Pred>,
1417:    __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>;
1417: 
1417:   template<typename _RAIter, typename _Hash
1417:       = hash<typename iterator_traits<_RAIter>::value_type>,
1417:     typename _BinaryPredicate = equal_to<>>
1417:     class boyer_moore_searcher
1417:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1417:     {
1417:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1417:       using typename _Base::__diff_type;
1417: 
1417:     public:
1417:       boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last,
1417:       _Hash __hf = _Hash(),
1417:       _BinaryPredicate __pred = _BinaryPredicate());
1417: 
1417:       template<typename _RandomAccessIterator2>
1417:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1417:  operator()(_RandomAccessIterator2 __first,
1417:      _RandomAccessIterator2 __last) const;
1417: 
1417:     private:
1417:       bool
1417:       _M_is_prefix(_RAIter __word, __diff_type __len,
1417:      __diff_type __pos)
1417:       {
1417:  const auto& __pred = this->_M_pred();
1417:  __diff_type __suffixlen = __len - __pos;
1417:  for (__diff_type __i = 0; __i < __suffixlen; ++__i)
1417:    if (!__pred(__word[__i], __word[__pos + __i]))
1417:      return false;
1417:  return true;
1417:       }
1417: 
1417:       __diff_type
1417:       _M_suffix_length(_RAIter __word, __diff_type __len,
1417:          __diff_type __pos)
1417:       {
1417:  const auto& __pred = this->_M_pred();
1417:  __diff_type __i = 0;
1417:  while (__pred(__word[__pos - __i], __word[__len - 1 - __i])
1417:         && __i < __pos)
1417:    {
1417:      ++__i;
1417:    }
1417:  return __i;
1417:       }
1417: 
1417:       template<typename _Tp>
1417:  __diff_type
1417:  _M_bad_char_shift(_Tp __c) const
1417:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1417: 
1417:       _RAIter _M_pat;
1417:       _RAIter _M_pat_end;
1417:       std::vector<__diff_type> _M_good_suffix;
1417:     };
1417: 
1417:   template<typename _RAIter, typename _Hash
1417:       = hash<typename iterator_traits<_RAIter>::value_type>,
1417:     typename _BinaryPredicate = equal_to<>>
1417:     class boyer_moore_horspool_searcher
1417:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1417:     {
1417:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1417:       using typename _Base::__diff_type;
1417: 
1417:     public:
1417:       boyer_moore_horspool_searcher(_RAIter __pat,
1417:         _RAIter __pat_end,
1417:         _Hash __hf = _Hash(),
1417:         _BinaryPredicate __pred
1417:         = _BinaryPredicate())
1417:       : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move _Integer __x, __true_type)
1412:  { _M_fill_initialize(static_cast<size_type>(__n), __x); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412:  void
1412:  _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
1412:           __false_type)
1412:  {
1412:    for (; __first != __last; ++__first)
1412: 
1412:      emplace_back(*__first);
1412: 
1412: 
1412: 
1412:  }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_fill_initialize(size_type __n, const value_type& __x)
1412:       {
1412:  for (; __n; --__n)
1412:    push_back(__x);
1412:       }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_default_initialize(size_type __n)
1412:       {
1412:  for (; __n; --__n)
1412:    emplace_back();
1412:       }
1412: 
1412: 
1412:       void
1412:       _M_default_append(size_type __n);
1412: # 1969 "/usr/include/c++/12/bits/stl_list.h" 3
1412:       template<typename _Integer>
1412:  void
1412:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1412:  { _M_fill_assign(__n, __val); }
1412: 
1412: 
1412:       template<typename _InputIterator>
1412:  void
1412:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1412:       __false_type);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_fill_assign(size_type __n, const value_type& __val);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_transfer(iterator __position, iterator __first, iterator __last)
1412:       { __position._M_node->_M_transfer(__first._M_node, __last._M_node); }
1412: # 2001 "/usr/include/c++/12/bits/stl_list.h" 3
1412:      template<typename... _Args>
1412:        void
1412:        _M_insert(iterator __position, _Args&&... __args)
1412:        {
1412:   _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1412:   __tmp->_M_hook(__position._M_node);
1412:   this->_M_inc_size(1);
1412:        }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_erase(iterator __position) noexcept
1412:       {
1412:  this->_M_dec_size(1);
1412:  __position._M_node->_M_unhook();
1412:  _Node* __n = static_cast<_Node*>(__position._M_node);
1412: 
1412:  _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr());
1412: 
1412: 
1412: 
1412: 
1412:  _M_put_node(__n);
1412:       }
1412: 
1412: 
1412:       void
1412:       _M_check_equal_allocators(list& __x) noexcept
1412:       {
1412:  if (std::__alloc_neq<typename _Base::_Node_alloc_type>::
1412:      _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()))
1412:    __builtin_abort();
1412:       }
1412: 
1412: 
1412:       const_iterator
1412:       _M_resize_pos(size_type& __new_size) const;
1412: 
1412: 
1412:       void
1412:       _M_move_assign(list&& __x, true_type) noexcept
1412:       {
1412:  this->clear();
1412:  this->_M_move_nodes(std::move(__x));
1412:  std::__alloc_on_move(this->_M_get_Node_allocator(),
1412:         __x._M_get_Node_allocator());
1412:       }
1412: 
1412:       void
1412:       _M_move_assign(list&& __x, false_type)
1412:       {
1412:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1412:    _M_move_assign(std::move(__x), true_type{});
1412:  else
1412: 
1412: 
1412:    _M_assign_dispatch(std::make_move_iterator(__x.begin()),
1412:         std::make_move_iterator(__x.end()),
1412:         __false_type{});
1412:       }
1412: 
1412: 
1412: 
1412: 
1412:       struct _Finalize_merge
1412:       {
1412:  explicit
1412:  _Finalize_merge(list& __dest, list& __src, const iterator& __src_next)
1412:  : _M_dest(__dest), _M_src(__src), _M_next(__src_next)
1412:  { }
1412: 
1412:  ~_Finalize_merge()
1412:  {
1412: 
1412: 
1412: 
1412:    const size_t __num_unmerged = std::distance(_M_next, _M_src.end());
1412:    const size_t __orig_size = _M_src._M_get_size();
1412:    _M_dest._M_inc_size(__orig_size - __num_unmerged);
1412:    _M_src._M_set_size(__num_unmerged);
1412:  }
1412: 
1412:  list& _M_dest;
1412:  list& _M_src;
1412:  const iterator& _M_next;
1412: 
1412: 
1412:  _Finalize_merge(const _Finalize_merge&) = delete;
1412: 
1412:       };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     };
1412: 
1412: 
1412:   template<typename _InputIterator, typename _ValT
1412:       = typename iterator_traits<_InputIterator>::value_type,
1412:     typename _Allocator = allocator<_ValT>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     list(_InputIterator, _InputIterator, _Allocator = _Allocator())
1412:       -> list<_ValT, _Allocator>;
1412: 
1412: 
1412: }
1412: # 2121 "/usr/include/c++/12/bits/stl_list.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1412:     {
1412: 
1412:       if (__x.size() != __y.size())
1412:  return false;
1412: 
1412: 
1412:       typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
1412:       const_iterator __end1 = __x.end();
1412:       const_iterator __end2 = __y.end();
1412: 
1412:       const_iterator __i1 = __x.begin();
1412:       const_iterator __i2 = __y.begin();
1412:       while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
1412:  {
1412:    ++__i1;
1412:    ++__i2;
1412:  }
1412:       return __i1 == __end1 && __i2 == __end2;
1412:     }
1412: # 2178 "/usr/include/c++/12/bits/stl_list.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1412:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1412:        __y.begin(), __y.end()); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     inline void
1412:     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline ptrdiff_t
1412:     __distance(std::_List_iterator<_Tp> __first,
1412:         std::_List_iterator<_Tp> __last,
1412:         input_iterator_tag __tag)
1412:     {
1412:       typedef std::_List_const_iterator<_Tp> _CIter;
1412:       return std::__distance(_CIter(__first), _CIter(__last), __tag);
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     inline ptrdiff_t
1412:     __distance(std::_List_const_iterator<_Tp> __first,
1412:         std::_List_const_iterator<_Tp> __last,
1412:         input_iterator_tag)
1412:     {
1412:       typedef __detail::_List_node_header _Sentinel;
1412:       std::_List_const_iterator<_Tp> __beyond = __last;
1412:       ++__beyond;
1412:       const bool __whole = __first == __beyond;
1412:       if (__builtin_constant_p (__whole) && __whole)
1412:  return static_cast<const _Sentinel*>(__last._M_node)->_M_size;
1412: 
1412:       ptrdiff_t __n = 0;
1412:       while (__first != __last)
1412:  {
1412:    ++__first;
1412:    ++__n;
1412:  }
1412:       return __n;
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: # 64 "/usr/include/c++/12/list" 2 3
1412: # 1 "/usr/include/c++/12/bits/list.tcc" 1 3
1412: # 59 "/usr/include/c++/12/bits/list.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412(__pred)),
1417:  _M_pat(__pat), _M_pat_end(__pat_end)
1417:       { }
1417: 
1417:       template<typename _RandomAccessIterator2>
1417:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1417:  operator()(_RandomAccessIterator2 __first,
1417:      _RandomAccessIterator2 __last) const
1417:  {
1417:    const auto& __pred = this->_M_pred();
1417:    auto __patlen = _M_pat_end - _M_pat;
1417:    if (__patlen == 0)
1417:      return std::make_pair(__first, __first);
1417:    auto __len = __last - __first;
1417:    while (__len >= __patlen)
1417:      {
1417:        for (auto __scan = __patlen - 1;
1417:      __pred(__first[__scan], _M_pat[__scan]); --__scan)
1417:   if (__scan == 0)
1417:     return std::make_pair(__first, __first + __patlen);
1417:        auto __shift = _M_bad_char_shift(__first[__patlen - 1]);
1417:        __len -= __shift;
1417:        __first += __shift;
1417:      }
1417:    return std::make_pair(__last, __last);
1417:  }
1417: 
1417:     private:
1417:       template<typename _Tp>
1417:  __diff_type
1417:  _M_bad_char_shift(_Tp __c) const
1417:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1417: 
1417:       _RAIter _M_pat;
1417:       _RAIter _M_pat_end;
1417:     };
1417: 
1417:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1417:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1417:     boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end,
1417:     _Hash __hf, _BinaryPredicate __pred)
1417:     : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
1417:       _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat)
1417:     {
1417:       auto __patlen = __pat_end - __pat;
1417:       if (__patlen == 0)
1417:  return;
1417:       __diff_type __last_prefix = __patlen - 1;
1417:       for (__diff_type __p = __patlen - 1; __p >= 0; --__p)
1417:  {
1417:    if (_M_is_prefix(__pat, __patlen, __p + 1))
1417:      __last_prefix = __p + 1;
1417:    _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p);
1417:  }
1417:       for (__diff_type __p = 0; __p < __patlen - 1; ++__p)
1417:  {
1417:    auto __slen = _M_suffix_length(__pat, __patlen, __p);
1417:    auto __pos = __patlen - 1 - __slen;
1417:    if (!__pred(__pat[__p - __slen], __pat[__pos]))
1417:      _M_good_suffix[__pos] = __patlen - 1 - __p + __slen;
1417:  }
1417:     }
1417: 
1417:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1417:   template<typename _RandomAccessIterator2>
1417:     pair<_RandomAccessIterator2, _RandomAccessIterator2>
1417:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1417:     operator()(_RandomAccessIterator2 __first,
1417:         _RandomAccessIterator2 __last) const
1417:     {
1417:       auto __patlen = _M_pat_end - _M_pat;
1417:       if (__patlen == 0)
1417:  return std::make_pair(__first, __first);
1417:       const auto& __pred = this->_M_pred();
1417:       __diff_type __i = __patlen - 1;
1417:       auto __stringlen = __last - __first;
1417:       while (__i < __stringlen)
1417:  {
1417:    __diff_type __j = __patlen - 1;
1417:    while (__j >= 0 && __pred(__first[__i], _M_pat[__j]))
1417:      {
1417:        --__i;
1417:        --__j;
1417:      }
1417:    if (__j < 0)
1417:      {
1417:        const auto __match = __first + __i + 1;
1417:        return std::make_pair(__match, __match + __patlen);
1417:      }
1417:    __i += std::max(_M_bad_char_shift(__first[__i]),
1417:      _M_good_suffix[__j]);
1417:  }
1417:       return std::make_pair(__last, __last);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1417: 
1417: 
1417: 
1417: 
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
1417: namespace XbmcThreads
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class ConditionVariable
1417:   {
1417:   private:
1417:     std::condition_variable_any cond;
1417:     ConditionVariable(const ConditionVariable&) = delete;
1417:     ConditionVariable& operator=(const ConditionVariable&) = delete;
1417: 
1417:   public:
1417:     ConditionVariable() = default;
1417: 
1417:     inline void wait(CCriticalSection& lock, std::function<bool()> predicate)
1417:     {
1417:       int count = lock.count;
1417:       lock.count = 0;
1417:       cond.wait(lock.get_underlying(), std::move(predicate));
1417:       lock.count = count;
1417:     }
1417: 
1417:     inline void wait(CCriticalSection& lock)
1417:     {
1417:       int count = lock.count;
1417:       lock.count = 0;
1417:       cond.wait(lock.get_underlying());
1417:       lock.count = count;
1417:     }
1417: 
1417:     template<typename Rep, typename Period>
1417:     inline bool wait(CCriticalSection& lock,
1417:                      std::chrono::duration<Rep, Period> duration,
1417:                      std::function<bool()> predicate)
1417:     {
1417:       int count = lock.count;
1417:       lock.count = 0;
1417:       bool ret = cond.wait_for(lock.get_underlying(), duration, predicate);
1417:       lock.count = count;
1417:       return ret;
1417:     }
1417: 
1417:     template<typename Rep, typename Period>
1417:     inline bool wait(CCriticalSection& lock, std::chrono::duration<Rep, Period> duration)
1417:     {
1417:       int count = lock.count;
1417:       lock.count = 0;
1417:       std::cv_status res = cond.wait_for(lock.get_underlying(), duration);
1417:       lock.count = count;
1417:       return res == std::cv_status::no_timeout;
1417:     }
1417: 
1417:     inline void wait(std::unique_lock<CCriticalSection>& lock, std::function<bool()> predicate)
1417:     {
1417:       cond.wait(*lock.mutex(), std::move(predicate));
1417:     }
1417: 
1417:     inline void wait(std::unique_lock<CCriticalSection>& lock) { wait(*lock.mutex()); }
1417: 
1417:     template<typename Rep, typename Period>
1417:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1417:                      std::chrono::duration<Rep, Period> duration,
1417:                      std::function<bool()> predicate)
1417:     {
1417:       return wait(*lock.mutex(), duration, predicate);
1417:     }
1417: 
1417:     template<typename Rep, typename Period>
1417:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1417:                      std::chrono::duration<Rep, Period> duration)
1417:     {
1417:       return wait(*lock.mutex(), duration);
1417:     }
1417: 
1417:     inline void notifyAll()
1417:     {
1417:       cond.notify_all();
1417:     }
1417: 
1417:     inline void notify()
1417:     {
1417:       cond.notify_one();
1417:     }
1417:   };
1417: 
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace XbmcThreads
1417: {
1417: class CEventGroup;
1417: }
1417: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1417: class CEvent
1417: {
1417:   bool manualReset;
1417:   volatile bool signaled;
1417:   unsigned int numWaits = 0;
1417: 
1417:   CCriticalSection groupListMutex;
1417:   std::unique_ptr<std::vector<XbmcThreads::CEventGroup*>> groups;
1417: 
1417:   XbmcThreads::ConditionVariable actualCv;
1417:   CCriticalSection mutex;
1417: 
1417:   friend class XbmcThreads::CEventGroup;
1417: 
1417:   void addGroup(XbmcThreads::CEventGroup* group);
1417:   void removeGroup(XbmcThreads::CEventGroup* group);
1417: 
1417: 
1417:   inline bool prepReturn()
1417:   {
1417:     bool ret = signaled;
1417:     if (!manualReset && numWaits == 0)
1417:       signaled = false;
1417:     return ret;
1417:   }
1417: 
1417:   CEvent(const CEvent&) = delete;
1417:   CEvent& operator=(const CEvent&) = delete;
1417: 
1417: public:
1417:   inline CEvent(bool manual = false, bool signaled_ = false)
1417:     : manualReset(manual), signaled(signaled_)
1417:   {
1417:   }
1417: 
1417:   inline void Reset()
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(mutex);
1417:     signaled = false;
1417:   }
1417:   void Set();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline bool Signaled()
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(mutex);
14:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     _List_base<_Tp, _Alloc>::
1412:     _M_clear() noexcept
1412:     {
1412:       typedef _List_node<_Tp> _Node;
1412:       __detail::_List_node_base* __cur = _M_impl._M_node._M_next;
1412:       while (__cur != &_M_impl._M_node)
1412:  {
1412:    _Node* __tmp = static_cast<_Node*>(__cur);
1412:    __cur = __tmp->_M_next;
1412:    _Tp* __val = __tmp->_M_valptr();
1412: 
1412:    _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val);
1412: 
1412: 
1412: 
1412:    _M_put_node(__tmp);
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename... _Args>
1412:       typename list<_Tp, _Alloc>::iterator
1412:       list<_Tp, _Alloc>::
1412:       emplace(const_iterator __position, _Args&&... __args)
1412:       {
1412:  _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1412:  __tmp->_M_hook(__position._M_const_cast()._M_node);
1412:  this->_M_inc_size(1);
1412:  return iterator(__tmp);
1412:       }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     typename list<_Tp, _Alloc>::iterator
1412:     list<_Tp, _Alloc>::
1412: 
1412:     insert(const_iterator __position, const value_type& __x)
1412: 
1412: 
1412: 
1412:     {
1412:       _Node* __tmp = _M_create_node(__x);
1412:       __tmp->_M_hook(__position._M_const_cast()._M_node);
1412:       this->_M_inc_size(1);
1412:       return iterator(__tmp);
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     typename list<_Tp, _Alloc>::iterator
1412:     list<_Tp, _Alloc>::
1412:     insert(const_iterator __position, size_type __n, const value_type& __x)
1412:     {
1412:       if (__n)
1412:  {
1412:    list __tmp(__n, __x, get_allocator());
1412:    iterator __it = __tmp.begin();
1412:    splice(__position, __tmp);
1412:    return __it;
1412:  }
1412:       return __position._M_const_cast();
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename _InputIterator, typename>
1412:       typename list<_Tp, _Alloc>::iterator
1412:       list<_Tp, _Alloc>::
1412:       insert(const_iterator __position, _InputIterator __first,
1412:       _InputIterator __last)
1412:       {
1412:  list __tmp(__first, __last, get_allocator());
1412:  if (!__tmp.empty())
1412:    {
1412:      iterator __it = __tmp.begin();
1412:      splice(__position, __tmp);
1412:      return __it;
1412:    }
1412:  return __position._M_const_cast();
1412:       }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     typename list<_Tp, _Alloc>::iterator
1412:     list<_Tp, _Alloc>::
1412: 
1412:     erase(const_iterator __position) noexcept
1412: 
1412: 
1412: 
1412:     {
1412:       iterator __ret = iterator(__position._M_node->_M_next);
1412:       _M_erase(__position._M_const_cast());
1412:       return __ret;
1412:     }
1412: # 173 "/usr/include/c++/12/bits/list.tcc" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     typename list<_Tp, _Alloc>::const_iterator
1412:     list<_Tp, _Alloc>::
1412:     _M_resize_pos(size_type& __new_size) const
1412:     {
1412:       const_iterator __i;
1412: 
1412:       const size_type __len = size();
1412:       if (__new_size < __len)
1412:  {
1412:    if (__new_size <= __len / 2)
1412:      {
1412:        __i = begin();
1412:        std::advance(__i, __new_size);
1412:      }
1412:    else
1412:      {
1412:        __i = end();
1412:        ptrdiff_t __num_erase = __len - __new_size;
1412:        std::advance(__i, -__num_erase);
1412:      }
1412:    __new_size = 0;
1412:    return __i;
1412:  }
1412:       else
1412:  __i = end();
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       __new_size -= __len;
1412:       return __i;
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     list<_Tp, _Alloc>::
1412:     _M_default_append(size_type __n)
1412:     {
1412:       size_type __i = 0;
1412:       try
1412:  {
1412:    for (; __i < __n; ++__i)
1412:      emplace_back();
1412:  }
1412:       catch(...)
1412:  {
1412:    for (; __i; --__i)
1412:      pop_back();
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     list<_Tp, _Alloc>::
1412:     resize(size_type __new_size)
1412:     {
1412:       const_iterator __i = _M_resize_pos(__new_size);
1412:       if (__new_size)
1412:  _M_default_append(__new_size);
1412:       else
1412:         erase(__i, end());
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     list<_Tp, _Alloc>::
1412:     resize(size_type __new_size, const value_type& __x)
1412:     {
1412:       const_iterator __i = _M_resize_pos(__new_size);
1412:       if (__new_size)
1412:         insert(end(), __new_size, __x);
1412:       else
1412:         erase(__i, end());
1412:     }
1412: # 265 "/usr/include/c++/12/bits/list.tcc" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     list<_Tp, _Alloc>&
1412:     list<_Tp, _Alloc>::
1412:     operator=(const list& __x)
1412:     {
1412:       if (this != std::__addressof(__x))
1412:  {
1412: 
1412:    if (_Node_alloc_traits::_S_propagate_on_copy_assign())
1412:      {
1412:               auto& __this_alloc = this->_M_get_Node_allocator();
1412:               auto& __that_alloc = __x._M_get_Node_allocator();
1412:               if (!_Node_alloc_traits::_S_always_equal()
1412:            && __this_alloc != __that_alloc)
1412:          {
1412: 
1412:     clear();
1412:   }
1412:        std::__alloc_on_copy(__this_alloc, __that_alloc);
1412:             }
1412: 
1412:    _M_assign_dispatch(__x.begin(), __x.end(), __false_type());
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     list<_Tp, _Alloc>::
1412:     _M_fill_assign(size_type __n, const value_type& __val)
1412:     {
1412:       iterator __i = begin();
1412:       for (; __i != end() && __n > 0; ++__i, --__n)
1412:         *__i = __val;
1412:       if (__n > 0)
1412:         insert(end(), __n, __val);
1412:       else
1412:         erase(__i, end());
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template <typename _InputIterator>
1412:       void
1412:       list<_Tp, _Alloc>::
1412:       _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2,
1412:     __false_type)
1412:       {
1412:         iterator __first1 = begin();
1412:         iterator __last1 = end();
1412:         for (; __first1 != __last1 && __first2 != __last2;
1412:       ++__first1, (void)++__first2)
1412:           *__first1 = *__first2;
1412:         if (__first2 == __last2)
1412:           erase(__first1, __last1);
1412:         else
1412:           insert(__last1, __first2, __last2);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     typename list<_Tp, _Alloc>::__remove_return_type
1412:     list<_Tp, _Alloc>::
1412:     remove(const value_type& __value)
1412:     {
1412: 
1412: 
1412: 
1412:       list __to_destroy(get_allocator());
1412:       iterator __first = begin();
1412:       iterator __last = end();
1412:       while (__first != __last)
1412:  {
1412:    iterator __next = __first;
1412:    ++__next;
1412:    if (*__first == __value)
1412:      {
1412: 
1412: 
1412: 
1412:        __to_destroy.splice(__to_destroy.begin(), *this, __first);
1412: 
1412: 
1412: 
1412:      }
1412: 
1412:    __first = __next;
1412:  }
1412: 
1412: 
1412: 
1412: 
1412:  return ;
1412: 
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     typename list<_Tp, _Alloc>::__remove_return_type
1412:     list<_Tp, _Alloc>::
1412:     unique()
1412:     {
1412:       iterator __first = begin();
1412:       iterator __last = end();
1412:       if (__first == __last)
1412:  return ;
1412: 
1412: 
1412: 
1412:       list __to_destroy(get_allocator());
1412:       iterator __next = __first;
1412:       while (++__next != __last)
1412:  {
1412:    if (*__first == *__next)
1412:      {
1412:        __to_destroy.splice(__to_destroy.begin(),17:     return signaled;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename Rep, typename Period>
1417:   inline bool Wait(std::chrono::duration<Rep, Period> duration)
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(mutex);
1417:     numWaits++;
1417:     actualCv.wait(mutex, duration, std::bind(&CEvent::Signaled, this));
1417:     numWaits--;
1417:     return prepReturn();
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline bool Wait()
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(mutex);
1417:     numWaits++;
1417:     actualCv.wait(mutex, std::bind(&CEvent::Signaled, this));
1417:     numWaits--;
1417:     return prepReturn();
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline int getNumWaits()
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(mutex);
1417:     return numWaits;
1417:   }
1417: };
1417: 
1417: namespace XbmcThreads
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CEventGroup
1417: {
1417:   std::vector<CEvent*> events;
1417:   CEvent* signaled{};
1417:   XbmcThreads::ConditionVariable actualCv;
1417:   CCriticalSection mutex;
1417: 
1417:   unsigned int numWaits{0};
1417: 
1417: 
1417:   inline void Set(CEvent* child)
1417:   {
1417:     std::unique_lock<CCriticalSection> l(mutex);
1417:     signaled = child;
1417:     actualCv.notifyAll();
1417:   }
1417: 
1417:   friend class ::CEvent;
1417: 
1417:   CEventGroup(const CEventGroup&) = delete;
1417:   CEventGroup& operator=(const CEventGroup&) = delete;
1417: 
1417: public:
1417: 
1417: 
1417: 
1417: 
1417:   CEventGroup(std::initializer_list<CEvent*> events);
1417: 
1417:   ~CEventGroup();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CEvent* wait();
1417: # 185 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1417:   template<typename Rep, typename Period>
1417:   CEvent* wait(std::chrono::duration<Rep, Period> duration)
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(mutex);
1417:     numWaits++;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     signaled = nullptr;
1417:     for (auto* cur : events)
1417:     {
1417:       std::unique_lock<CCriticalSection> lock2(cur->mutex);
1417:       if (cur->signaled)
1417:         signaled = cur;
1417:     }
1417: 
1417: 
1417:     if (!signaled)
1417:     {
1417: 
1417:       if (duration == std::chrono::duration<Rep, Period>::max())
1417:         actualCv.wait(mutex, [this]() { return signaled != nullptr; });
1417:       else
1417:         actualCv.wait(mutex, duration, [this]() { return signaled != nullptr; });
1417:     }
1417:     numWaits--;
1417: 
1417: 
1417:     CEvent* ret = signaled;
1417:     if (numWaits == 0)
1417:     {
1417:       if (signaled)
1417: 
1417: 
1417:         signaled->Wait(std::chrono::duration<Rep, Period>::zero());
1417:       signaled = nullptr;
1417:     }
1417:     return ret;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline int getNumWaits()
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(mutex);
1417:     return numWaits;
1417:   }
1417: };
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 2
1417: 
1417: class CVideoReferenceClock;
1417: typedef void (*PUPDATECLOCK)(int NrVBlanks, uint64_t time, void *clock);
1417: 
1417: class CVideoSync
1417: {
1417: public:
1417:   explicit CVideoSync(void* clock) { m_refClock = clock; }
1417:   virtual ~CVideoSync() = default;
1417:   virtual bool Setup(PUPDATECLOCK func) = 0;
1417:   virtual void Run(CEvent& stop) = 0;
1417:   virtual void Cleanup() = 0;
1417:   virtual float GetFps() = 0;
1417:   virtual void RefreshChanged() {}
1417: 
1417: protected:
1417:   PUPDATECLOCK UpdateClock;
1417:   float m_fps;
1417:   void *m_refClock;
1417: };
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 1
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 1
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1417:        
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h" 1
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1417:        
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1417: typedef enum
1417: {
1417: 
1417:   XBMCK_UNKNOWN = 0x00,
1417:   XBMCK_FIRST = 0x00,
1417:   XBMCK_CTRLF = 0x06,
1417:   XBMCK_BACKSPACE = 0x08,
1417:   XBMCK_TAB = 0x09,
1417:   XBMCK_CLEAR = 0x0C,
1417:   XBMCK_RETURN = 0x0D,
1417:   XBMCK_PAUSE = 0x13,
1417:   XBMCK_ESCAPE = 0x1B,
1417:   XBMCK_SPACE = 0x20,
1417:   XBMCK_EXCLAIM = 0x21,
1417:   XBMCK_QUOTEDBL = 0x22,
1417:   XBMCK_HASH = 0x23,
1417:   XBMCK_DOLLAR = 0x24,
1417:   XBMCK_PERCENT = 0x25,
1417:   XBMCK_AMPERSAND = 0x26,
1417:   XBMCK_QUOTE = 0x27,
1417:   XBMCK_LEFTPAREN = 0x28,
1417:   XBMCK_RIGHTPAREN = 0x29,
1417:   XBMCK_ASTERISK = 0x2A,
1417:   XBMCK_PLUS = 0x2B,
1417:   XBMCK_COMMA = 0x2C,
1417:   XBMCK_MINUS = 0x2D,
1417:   XBMCK_PERIOD = 0x2E,
1417:   XBMCK_SLASH = 0x2F,
1417:   XBMCK_0 = 0x30,
1417:   XBMCK_1 = 0x31,
1417:   XBMCK_2 = 0x32,
1417:   XBMCK_3 = 0x33,
1417:   XBMCK_4 = 0x34,
1417:   XBMCK_5 = 0x35,
1417:   XBMCK_6 = 0x36,
1417:   XBMCK_7 = 0x37,
1417:   XBMCK_8 = 0x38,
1417:   XBMCK_9 = 0x39,
1417:   XBMCK_COLON = 0x3A,
1417:   XBMCK_SEMICOLON = 0x3B,
1417:   XBMCK_LESS = 0x3C,
1417:   XBMCK_EQUALS = 0x3D,
1417:   XBMCK_GREATER = 0x3E,
1417:   XBMCK_QUESTION = 0x3F,
1417:   XBMCK_AT = 0x40,
1417: 
1417:   XBMCK_LEFTBRACKET = 0x5B,
1417:   XBMCK_BACKSLASH = 0x5C,
1417:   XBMCK_RIGHTBRACKET = 0x5D,
1417:   XBMCK_CARET = 0x5E,
1417:   XBMCK_UNDERSCORE = 0x5F,
1417:   XBMCK_BACKQUOTE = 0x60,
1417:   XBMCK_a = 0x61,
1417:   XBMCK_b = 0x62,
1417:   XBMCK_c = 0x63,
1417:   XBMCK_d = 0x64,
1417:   XBMCK_e = 0x65,
1417:   XBMCK_f = 0x66,
1417:   XBMCK_g = 0x67,
1417:   XBMCK_h = 0x68,
1417:   XBMCK_i = 0x69,
1417:   XBMCK_j = 0x6A,
1417:   XBMCK_k = 0x6B,
1417:   XBMCK_l = 0x6C,
1417:   XBMCK_m = 0x6D,
1417:   XBMCK_n = 0x6E,
1417:   XBMCK_o = 0x6F,
1417:   XBMCK_p = 0x70,
1417:   XBMCK_q = 0x71,
1417:   XBMCK_r = 0x72,
1417:   XBMCK_s = 0x73,
1417:   XBMCK_t = 0x74,
1417:   XBMCK_u = 0x75,
1417:   XBMCK_v = 0x76,
1417:   XBMCK_w = 0x77,
1417:   XBMCK_x = 0x78,
1417:   XBMCK_y = 0x79,
1417:   XBMCK_z = 0x7A,
1417:   XBMCK_LEFTBRACE = 0x7b,
1417:   XBMCK_PIPE = 0x7C,
1417:   XBMCK_RIGHTBRACE = 0x7D,
1417:   XBMCK_TILDE = 0x7E,
1417:   XBMCK_DELETE = 0x7F,
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   XBMCK_BROWSER_BACK = 0xA6,
1417:   XBMCK_BROWSER_FORWARD = 0xA7,
1417:   XBMCK_BROWSER_REFRESH = 0xA8,
1417:   XBMCK_BROWSER_STOP = 0xA9,
1417:   XBMCK_BROWSER_SEARCH = 0xAA,
1417:   XBMCK_BROWSER_FAVORITES = 0xAB,
1417:   XBMCK_BROWSER_HOME = 0xAC,
1417:   XBMCK_VOLUME_MUTE = 0xAD,
1417:   XBMCK_VOLUME_DOWN = 0xAE,
1417:   XBMCK_VOLUME_UP = 0xAF,
1417:   XBMCK_MEDIA_NEXT_TRACK = 0xB0,
1417:   XBMCK_MEDIA_PREV_TRACK = 0xB1,
1417:   XBMCK_MEDIA_STOP = 0xB2,
1417:   XBMCK_MEDIA_PLAY_PAUSE = 0xB3,
1417:   XBMCK_LAUNCH_MAIL = 0xB4,
1417:   XBMCK_LAUNCH_MEDIA_SELECT = 0xB5,
1417:   XBMCK_LAUNCH_APP1 = 0xB6,
1417:   XBMCK_LAUNCH_APP2 = 0xB7,
1417:   XBMCK_LAUNCH_FILE_BROWSER = 0xB8,
1417:   XBMCK_LAUNCH_MEDIA_CENTER = 0xB9,
1417:   XBMCK_MEDIA_REWIND = 0xBA,
1417:   XBMCK_MEDIA_FASTFORWARD = 0xBB,
1417: 
1417: 
1417:   XBMCK_KP0 = 0x100,
1417:   XBMCK_KP1 = 0x101,
1417:   XBMCK_KP2 = 0x102,
1417:   XBMCK_KP3 = 0x103,
1417:   XBMCK_KP4 = 0x104,
1417:   XBMCK_KP5 = 0x105,
1417:   XBMCK_KP6 = 0x106,
1417:   XBMCK_KP7 = 0x107,
1417:   XBMCK_KP8 = 0x108,
1417:   XBMCK_KP9 = 0x109,
1417:   XBMCK_KP_PERIOD = 0x10A,
1417:   XBMCK_KP_DIVIDE = 0x10B,
1417:   XBMCK_KP_MULTIPLY = 0x10C,
1417:   XBMCK_KP_MINUS = 0x10D,
1417:   XBMCK_KP_PLUS = 0x10E,
1417:   XBMCK_KP_ENTER = 0x10F,
1417:   XBMCK_KP_EQUALS *this, __next);
1412: 
1412: 
1412: 
1412:      }
1412:    else
1412:      __first = __next;
1412:    __next = __first;
1412:  }
1412: 
1412: 
1412: 
1412: 
1412:       return ;
1412: 
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     list<_Tp, _Alloc>::
1412: 
1412:     merge(list&& __x)
1412: 
1412: 
1412: 
1412:     {
1412: 
1412: 
1412:       if (this != std::__addressof(__x))
1412:  {
1412:    _M_check_equal_allocators(__x);
1412: 
1412:    iterator __first1 = begin();
1412:    iterator __last1 = end();
1412:    iterator __first2 = __x.begin();
1412:    iterator __last2 = __x.end();
1412: 
1412:    const _Finalize_merge __fin(*this, __x, __first2);
1412: 
1412:    while (__first1 != __last1 && __first2 != __last2)
1412:      if (*__first2 < *__first1)
1412:        {
1412:   iterator __next = __first2;
1412:   _M_transfer(__first1, __first2, ++__next);
1412:   __first2 = __next;
1412:        }
1412:      else
1412:        ++__first1;
1412:    if (__first2 != __last2)
1412:      {
1412:        _M_transfer(__last1, __first2, __last2);
1412:        __first2 = __last2;
1412:      }
1412:  }
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template <typename _StrictWeakOrdering>
1412:       void
1412:       list<_Tp, _Alloc>::
1412: 
1412:       merge(list&& __x, _StrictWeakOrdering __comp)
1412: 
1412: 
1412: 
1412:       {
1412: 
1412: 
1412:  if (this != std::__addressof(__x))
1412:    {
1412:      _M_check_equal_allocators(__x);
1412: 
1412:      iterator __first1 = begin();
1412:      iterator __last1 = end();
1412:      iterator __first2 = __x.begin();
1412:      iterator __last2 = __x.end();
1412: 
1412:      const _Finalize_merge __fin(*this, __x, __first2);
1412: 
1412:      while (__first1 != __last1 && __first2 != __last2)
1412:        if (__comp(*__first2, *__first1))
1412:   {
1412:     iterator __next = __first2;
1412:     _M_transfer(__first1, __first2, ++__next);
1412:     __first2 = __next;
1412:   }
1412:        else
1412:   ++__first1;
1412:      if (__first2 != __last2)
1412:        {
1412:   _M_transfer(__last1, __first2, __last2);
1412:   __first2 = __last2;
1412:        }
1412:    }
1412:       }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     list<_Tp, _Alloc>::
1412:     sort()
1412:     {
1412: 
1412:       if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1412:    && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1412:       {
1412:  using __detail::_Scratch_list;
1412: # 497 "/usr/include/c++/12/bits/list.tcc" 3
1412:  _Scratch_list __carry;
1412:  _Scratch_list __tmp[64];
1412:  _Scratch_list* __fill = __tmp;
1412:  _Scratch_list* __counter;
1412: 
1412:  _Scratch_list::_Ptr_cmp<iterator, void> __ptr_comp;
1412: 
1412:  try
1412:    {
1412:      do
1412:        {
1412:   __carry._M_take_one(begin()._M_node);
1412: 
1412:   for(__counter = __tmp;
1412:       __counter != __fill && !__counter->empty();
1412:       ++__counter)
1412:     {
1412: 
1412:       __counter->merge(__carry, __ptr_comp);
1412:       __carry.swap(*__counter);
1412:     }
1412:   __carry.swap(*__counter);
1412:   if (__counter == __fill)
1412:     ++__fill;
1412:        }
1412:      while ( !empty() );
1412: 
1412:      for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1412:        __counter->merge(__counter[-1], __ptr_comp);
1412:      __fill[-1].swap(this->_M_impl._M_node);
1412:    }
1412:  catch(...)
1412:    {
1412: 
1412:      __carry._M_put_all(end()._M_node);
1412:      for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1412:        __tmp[__i]._M_put_all(end()._M_node);
1412:      throw;
1412:    }
1412:       }
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template <typename _Predicate>
1412:       typename list<_Tp, _Alloc>::__remove_return_type
1412:       list<_Tp, _Alloc>::
1412:       remove_if(_Predicate __pred)
1412:       {
1412: 
1412: 
1412: 
1412:  list __to_destroy(get_allocator());
1412:  iterator __first = begin();
1412:  iterator __last = end();
1412:  while (__first != __last)
1412:    {
1412:      iterator __next = __first;
1412:      ++__next;
1412:      if (__pred(*__first))
1412:        {
1412:   __to_destroy.splice(__to_destroy.begin(), *this, __first);
1412: 
1412: 
1412: 
1412:        }
1412:      __first = __next;
1412:    }
1412: 
1412: 
1412: 
1412: 
1412:  return ;
1412: 
1412:       }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template <typename _BinaryPredicate>
1412:       typename list<_Tp, _Alloc>::__remove_return_type
1412:       list<_Tp, _Alloc>::
1412:       unique(_BinaryPredicate __binary_pred)
1412:       {
1412:         iterator __first = begin();
1412:         iterator __last = end();
1412:         if (__first == __last)
1412:    return ;
1412: 
1412: 
1412: 
1412:  list __to_destroy(get_allocator());
1412:         iterator __next = __first;
1412:         while (++__next != __last)
1412:    {
1412:      if (__binary_pred(*__first, *__next))
1412:        {
1412:   __to_destroy.splice(__to_destroy.begin(), *this, __next);
1412: 
1412: 
1412: 
1412:        }
1412:      else
1412:        __first = __next;
1412:      __next = __first;
1412:    }
1412: 
1412: 
1412: 
1412: 
1412:  return ;
1412: 
1412:       }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template <typename _StrictWeakOrdering>
1412:       void
1412:       list<_Tp, _Alloc>::
1412:       sort(_StrictWeakOrdering __comp)
1412:       {
1412: 
1412:  if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1412:      && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1412:  {
1412:    using __detail::_Scratch_list;
1412:    _Scratch_list __carry;
1412:    _Scratch_list __tmp[64];
1412:    _Scratch_list* __fill = __tmp;
1412:    _Scratch_list* __counter;
1412: 
1412:  _Scratch_list::_Ptr_cmp<iterator, _StrictWeakOrdering> __ptr_comp
1412:    = { __comp };
1412: 
1412:    try
1412:      {
1412:        do
1412:   {
1412:     __carry._M_take_one(begin()._M_node);
1412: 
1412:     for(__counter = __tmp;
1412:         __counter != __fill && !__counter->empty();
1412:         ++__counter)
1412:       {
1412: 
1412:         __counter->merge(__carry, __ptr_comp);
1412:         __carry.swap(*__counter);
1412:       }
1412:     __carry.swap(*__counter);
1412:     if (__counter == __fill)
1412:       ++__fill;
1412:   }
1412:        while ( !empty() );
1412: 
1412:        for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1412:   __counter->merge(__counter[-1], __ptr_comp);
1412:        __fill[-1].swap(this->_M_impl._M_node);
1412:      }
1412:    catch(...)
1412:      {
1412: 
1412:        __carry._M_put_all(end()._M_node);
1412:        for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1412:   __tmp[__i]._M_put_all(end()._M_node);
1412:        throw;
1412:      }
1412:  }
1412:       }
1412: 
1412: 
1412: 
1412: }
1412: # 65 "/usr/include/c++/12/list" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412:   namespace pmr
1412:   {
1412:     template<typename _Tp> class polymorphic_allocator;
1412:     template<typename _Tp>
1412:       using list = std::list<_Tp, polymorphic_allocator<_Tp>>;
1412:   }
1412: 
1412: }
1412: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h" 2
1412: 
1412: 
1412: 
1412: 
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h"
1412: enum class SettingDependencyType {
1412:   Unknown = 0,
1412:   Enable,
1412:   Update,
1412:   Visible
1412: };
1412: 
1412: enum class SettingDependencyOperator {
1412:   Unknown = 0,
1412:   Equals,
1412:   LessThan,
1412:   GreaterThan,
1412:   Contains
1412: };
1412: 
1412: enum class SettingDependencyTarget {
1412:   Unknown = 0,
1412:   Setting,
1412:   Property
1412: };
1412: 
1412: class CSettingDependencyCondition : public CSettingConditionItem
1412: {
1412: public:
1412:   explicit CSettingDependencyCondition(CSettingsManager *settingsManager = nullptr);
1412:  = 0x110,
1417: 
1417: 
1417:   XBMCK_UP = 0x111,
1417:   XBMCK_DOWN = 0x112,
1417:   XBMCK_RIGHT = 0x113,
1417:   XBMCK_LEFT = 0x114,
1417:   XBMCK_INSERT = 0x115,
1417:   XBMCK_HOME = 0x116,
1417:   XBMCK_END = 0x117,
1417:   XBMCK_PAGEUP = 0x118,
1417:   XBMCK_PAGEDOWN = 0x119,
1417: 
1417: 
1417:   XBMCK_F1 = 0x11A,
1417:   XBMCK_F2 = 0x11B,
1417:   XBMCK_F3 = 0x11C,
1417:   XBMCK_F4 = 0x11D,
1417:   XBMCK_F5 = 0x11E,
1417:   XBMCK_F6 = 0x11F,
1417:   XBMCK_F7 = 0x120,
1417:   XBMCK_F8 = 0x121,
1417:   XBMCK_F9 = 0x122,
1417:   XBMCK_F10 = 0x123,
1417:   XBMCK_F11 = 0x124,
1417:   XBMCK_F12 = 0x125,
1417:   XBMCK_F13 = 0x126,
1417:   XBMCK_F14 = 0x127,
1417:   XBMCK_F15 = 0x128,
1417: 
1417: 
1417:   XBMCK_NUMLOCK = 0x12C,
1417:   XBMCK_CAPSLOCK = 0x12D,
1417:   XBMCK_SCROLLOCK = 0x12E,
1417:   XBMCK_RSHIFT = 0x12F,
1417:   XBMCK_LSHIFT = 0x130,
1417:   XBMCK_RCTRL = 0x131,
1417:   XBMCK_LCTRL = 0x132,
1417:   XBMCK_RALT = 0x133,
1417:   XBMCK_LALT = 0x134,
1417:   XBMCK_RMETA = 0x135,
1417:   XBMCK_LMETA = 0x136,
1417:   XBMCK_LSUPER = 0x137,
1417:   XBMCK_RSUPER = 0x138,
1417:   XBMCK_MODE = 0x139,
1417:   XBMCK_COMPOSE = 0x13A,
1417: 
1417: 
1417:   XBMCK_HELP = 0x13B,
1417:   XBMCK_PRINT = 0x13C,
1417:   XBMCK_SYSREQ = 0x13D,
1417:   XBMCK_BREAK = 0x13E,
1417:   XBMCK_MENU = 0x13F,
1417:   XBMCK_POWER = 0x140,
1417:   XBMCK_EURO = 0x141,
1417:   XBMCK_UNDO = 0x142,
1417:   XBMCK_SLEEP = 0x143,
1417:   XBMCK_GUIDE = 0x144,
1417:   XBMCK_SETTINGS = 0x145,
1417:   XBMCK_INFO = 0x146,
1417:   XBMCK_RED = 0x147,
1417:   XBMCK_GREEN = 0x148,
1417:   XBMCK_YELLOW = 0x149,
1417:   XBMCK_BLUE = 0x14a,
1417:   XBMCK_ZOOM = 0x14b,
1417:   XBMCK_TEXT = 0x14c,
1417:   XBMCK_FAVORITES = 0x14d,
1417:   XBMCK_HOMEPAGE = 0x14e,
1417:   XBMCK_CONFIG = 0x14f,
1417:   XBMCK_EPG = 0x150,
1417: 
1417: 
1417: 
1417: 
1417:   XBMCK_STOP = 337,
1417:   XBMCK_RECORD = 338,
1417:   XBMCK_REWIND = 339,
1417:   XBMCK_PHONE = 340,
1417:   XBMCK_PLAY = 341,
1417:   XBMCK_SHUFFLE = 342,
1417:   XBMCK_FASTFORWARD = 343,
1417:   XBMCK_EJECT = 344,
1417: 
1417:   XBMCK_LAST
1417: } XBMCKey;
1417: 
1417: 
1417: typedef enum
1417: {
1417:   XBMCKMOD_NONE = 0x0000,
1417:   XBMCKMOD_LSHIFT = 0x0001,
1417:   XBMCKMOD_RSHIFT = 0x0002,
1417:   XBMCKMOD_LSUPER = 0x0010,
1417:   XBMCKMOD_RSUPER = 0x0020,
1417:   XBMCKMOD_LCTRL = 0x0040,
1417:   XBMCKMOD_RCTRL = 0x0080,
1417:   XBMCKMOD_LALT = 0x0100,
1417:   XBMCKMOD_RALT = 0x0200,
1417:   XBMCKMOD_LMETA = 0x0400,
1417:   XBMCKMOD_RMETA = 0x0800,
1417:   XBMCKMOD_NUM = 0x1000,
1417:   XBMCKMOD_CAPS = 0x2000,
1417:   XBMCKMOD_MODE = 0x4000,
1417:   XBMCKMOD_RESERVED = 0x8000
1417: } XBMCMod;
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 2
1417: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1417: typedef struct XBMC_keysym
1417: {
1417:   unsigned char scancode;
1417:   XBMCKey sym;
1417:   XBMCMod mod;
1417:   uint16_t unicode;
1417: } XBMC_keysym;
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 2
1417: 
1417: 
1417: typedef enum
1417: {
1417:   XBMC_NOEVENT = 0,
1417:   XBMC_KEYDOWN,
1417:   XBMC_KEYUP,
1417:   XBMC_MOUSEMOTION,
1417:   XBMC_MOUSEBUTTONDOWN,
1417:   XBMC_MOUSEBUTTONUP,
1417:   XBMC_QUIT,
1417:   XBMC_VIDEORESIZE,
1417:   XBMC_FULLSCREEN_UPDATE,
1417:   XBMC_VIDEOMOVE,
1417:   XBMC_MODECHANGE,
1417:   XBMC_TOUCH,
1417:   XBMC_BUTTON,
1417:   XBMC_SETFOCUS,
1417:   XBMC_USEREVENT,
1417: 
1417:   XBMC_MAXEVENT = 256
1417: } XBMC_EventType;
1417: 
1417: 
1417: typedef struct XBMC_KeyboardEvent {
1417:  XBMC_keysym keysym;
1417: } XBMC_KeyboardEvent;
1417: 
1417: 
1417: typedef struct XBMC_MouseMotionEvent {
1417:  uint16_t x, y;
1417: } XBMC_MouseMotionEvent;
1417: 
1417: 
1417: typedef struct XBMC_MouseButtonEvent {
1417:  unsigned char button;
1417:  uint16_t x, y;
1417: } XBMC_MouseButtonEvent;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef struct XBMC_ResizeEvent {
1417:  int w;
1417:  int h;
1417: } XBMC_ResizeEvent;
1417: 
1417: typedef struct XBMC_MoveEvent {
1417:  int x;
1417:  int y;
1417: } XBMC_MoveEvent;
1417: 
1417: struct XBMC_ModeChangeEvent
1417: {
1417:   RESOLUTION res;
1417: };
1417: 
1417: 
1417: typedef struct XBMC_QuitEvent {
1417: } XBMC_QuitEvent;
1417: 
1417: 
1417: typedef struct XBMC_UserEvent {
1417:  int code;
1417:  void *data1;
1417:  void *data2;
1417: } XBMC_UserEvent;
1417: 
1417: 
1417: typedef struct XBMC_AppCommandEvent {
1417:   unsigned int action;
1417: } XBMC_AppCommandEvent;
1417: 
1417: 
1417: typedef struct XBMC_TouchEvent {
1417:   int action;
1417:   float x, y;
1417:   float x2, y2;
1417:   float x3, y3;
1417:   int pointers;
1417: } XBMC_TouchEvent;
1417: 
1417: typedef struct XBMC_SetFocusEvent {
1417:  int x;
1417:  int y;
1417: } XBMC_SetFocusEvent;
1417: 
1417: 
1417: typedef struct XBMC_ButtonEvent
1417: {
1417:   uint32_t button;
1417:   uint32_t holdtime;
1417: } XBMC_ButtonEvent;
1417: 
1417: 
1417: typedef struct XBMC_Event {
1417:   uint8_t type;
1417:   union
1417:   {
1417:     XBMC_KeyboardEvent key;
1417:     XBMC_MouseMotionEvent motion;
1417:     XBMC_MouseButtonEvent button;
1417:     XBMC_ResizeEvent resize;
1417:     XBMC_MoveEvent move;
1417:     XBMC_ModeChangeEvent mode;
1417:     XBMC_QuitEvent quit;
1417:     XBMC_UserEvent user;
1417:     XBMC_AppCommandEvent appcommand;
1417:     XBMC_TouchEvent touch;
1417:     XBMC_ButtonEvent keybutton;
1417:     XBMC_SetFocusEvent focus;
1417:   };
1417: } XBMC_Event;
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 2
1417: 
1417: class IWinEvents
1417: {
1417: public:
1417:   virtual ~IWinEvents() = default;
1417:   virtual bool MessagePump() = 0;
1417: };
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: struct DEBUG_INFO_PLAYER
1417: {
1417:   std::string audio;
1417:   std::string video;
1417:   std::string player;
1417:   std::string vsync;
1417: };
1417: 
1417: struct DEBUG_INFO_VIDEO
1417: {
1417:   std::string videoSource;
1417:   std::string metaPrim;
1417:   std::string metaLight;
1417:   std::string shader;
1417: };
1417: 
1417: struct DEBUG_INFO_RENDER
1417: {
1417:   std::string renderFlags;
1417:   std::string videoOutput;
1417: };
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class IDispResource
1417: {
1417: public:
1417:   virtual ~IDispResource() = default;
1417: 
1417:   virtual void OnLostDisplay() {}
1417:   virtual void OnResetDisplay() {}
1417:   virtual void OnAppFocusChange(bool focus) {}
1417: };
1417: 
1417: 
1417: 
1417: class IRenderLoop
1417: {
1417: public:
1417:   virtual ~IRenderLoop() = default;
1417: 
1417:   virtual void FrameMove() = 0;
1417: };
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h"
1417:        
1417: 
1417: class CHDRCapabilities
1417: {
1417: public:
1417:   CHDRCapabilities() = default;
1417:   ~CHDRCapabilities() = default;
1417: 
1417:   bool SupportsHDR10() const { return m_hdr10; }
1417:   bool SupportsHLG() const { return m_hlg; }
1417:   bool SupportsHDR10Plus() const { return m_hdr10_plus; }
1417:   bool SupportsDolbyVision() const { return m_dolby_vision; }
1417: 
1417:   void SetHDR10() { m_hdr10 = true; }
1417:   void SetHLG() { m_hlg = true; }
1417:   void SetHDR10Plus() { m_hdr10_plus = true; }
1417:   void SetDolbyVision() { m_dolby_vision = true; }
1417: 
1417: private:
1417:   bool m_hdr10 = false;
1417:   bool m_hlg = false;
1417:   bool m_hdr10_plus = false;
1417:   bool m_dolby_vision = false;
1417: };
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h  CSettingDependencyCondition(const std::string &setting, const std::string &value,
1412:                               SettingDependencyOperator op, bool negated = false,
1412:                               CSettingsManager *settingsManager = nullptr);
1412:   CSettingDependencyCondition(const std::string &strProperty, const std::string &value,
1412:                               const std::string &setting = "", bool negated = false,
1412:                               CSettingsManager *settingsManager = nullptr);
1412:   ~CSettingDependencyCondition() override = default;
1412: 
1412:   bool Deserialize(const TiXmlNode *node) override;
1412:   bool Check() const override;
1412: 
1412:   const std::string& GetName() const { return m_name; }
1412:   const std::string& GetSetting() const { return m_setting; }
1412:   SettingDependencyTarget GetTarget() const { return m_target; }
1412:   SettingDependencyOperator GetOperator() const { return m_operator; }
1412: 
1412: private:
1412:   CSettingDependencyCondition(CSettingsManager* settingsManager,
1412:                               const std::string& strProperty,
1412:                               const std::string& setting,
1412:                               const std::string& value,
1412:                               SettingDependencyTarget target = SettingDependencyTarget::Unknown,
1412:                               SettingDependencyOperator op = SettingDependencyOperator::Equals,
1412:                               bool negated = false);
1412: 
1412:   bool setTarget(const std::string &target);
1412:   bool setOperator(const std::string &op);
1412: 
1412:   SettingDependencyTarget m_target = SettingDependencyTarget::Unknown;
1412:   SettingDependencyOperator m_operator = SettingDependencyOperator::Equals;
1412: 
1412:   static Logger s_logger;
1412: };
1412: 
1412: using CSettingDependencyConditionPtr = std::shared_ptr<CSettingDependencyCondition>;
1412: 
1412: class CSettingDependencyConditionCombination;
1412: using CSettingDependencyConditionCombinationPtr = std::shared_ptr<CSettingDependencyConditionCombination>;
1412: 
1412: class CSettingDependencyConditionCombination : public CSettingConditionCombination
1412: {
1412: public:
1412:   explicit CSettingDependencyConditionCombination(CSettingsManager *settingsManager = nullptr)
1412:     : CSettingConditionCombination(settingsManager)
1412:   { }
1412:   CSettingDependencyConditionCombination(BooleanLogicOperation op, CSettingsManager *settingsManager = nullptr)
1412:     : CSettingConditionCombination(settingsManager)
1412:   {
1412:     SetOperation(op);
1412:   }
1412:   ~CSettingDependencyConditionCombination() override = default;
1412: 
1412:   bool Deserialize(const TiXmlNode *node) override;
1412: 
1412:   const std::set<std::string>& GetSettings() const { return m_settings; }
1412: 
1412:   CSettingDependencyConditionCombination* Add(const CSettingDependencyConditionPtr& condition);
1412:   CSettingDependencyConditionCombination* Add(
1412:       const CSettingDependencyConditionCombinationPtr& operation);
1412: 
1412: private:
1412:   CBooleanLogicOperation* newOperation() override { return new CSettingDependencyConditionCombination(m_settingsManager); }
1412:   CBooleanLogicValue* newValue() override { return new CSettingDependencyCondition(m_settingsManager); }
1412: 
1412:   std::set<std::string> m_settings;
1412: };
1412: 
1412: class CSettingDependency : public CSettingCondition
1412: {
1412: public:
1412:   explicit CSettingDependency(CSettingsManager *settingsManager = nullptr);
1412:   CSettingDependency(SettingDependencyType type, CSettingsManager *settingsManager = nullptr);
1412:   ~CSettingDependency() override = default;
1412: 
1412:   bool Deserialize(const TiXmlNode *node) override;
1412: 
1412:   SettingDependencyType GetType() const { return m_type; }
1412:   std::set<std::string> GetSettings() const;
1412: 
1412:   CSettingDependencyConditionCombinationPtr And();
1412:   CSettingDependencyConditionCombinationPtr Or();
1412: 
1412: private:
1412:   bool setType(const std::string &type);
1412: 
1412:   SettingDependencyType m_type = SettingDependencyType::Unknown;
1412: 
1412:   static Logger s_logger;
1412: };
1412: 
1412: using SettingDependencies = std::list<CSettingDependency>;
1412: using SettingDependencyMap = std::map<std::string, SettingDependencies>;
1412: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingLevel.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingLevel.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: enum class SettingLevel {
1412:   Basic = 0,
1412:   Standard,
1412:   Advanced,
1412:   Expert,
1412:   Internal
1412: };
1412: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingType.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingType.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: enum class SettingType {
1412:   Unknown = 0,
1412:   Boolean,
1412:   Integer,
1412:   Number,
1412:   String,
1412:   Action,
1412:   List
1412: };
1412: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingUpdate.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingUpdate.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class TiXmlNode;
1412: 
1412: enum class SettingUpdateType {
1412:   Unknown = 0,
1412:   Rename,
1412:   Change
1412: };
1412: 
1412: class CSettingUpdate
1412: {
1412: public:
1412:   CSettingUpdate();
1412:   virtual ~CSettingUpdate() = default;
1412: 
1412:   inline bool operator<(const CSettingUpdate& rhs) const
1412:   {
1412:     return m_type < rhs.m_type && m_value < rhs.m_value;
1412:   }
1412: 
1412:   virtual bool Deserialize(const TiXmlNode *node);
1412: 
1412:   SettingUpdateType GetType() const { return m_type; }
1412:   const std::string& GetValue() const { return m_value; }
1412: 
1412: private:
1412:   bool setType(const std::string &type);
1412: 
1412:   SettingUpdateType m_type = SettingUpdateType::Unknown;
1412:   std::string m_value;
1412: 
1412:   static Logger s_logger;
1412: };
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1412:        
1412: 
1412: namespace XbmcThreads
1412: {
1412: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1412:   template<class L> class CountingLockable
1412:   {
1412:     friend class ConditionVariable;
1412: 
1412:     CountingLockable(const CountingLockable&) = delete;
1412:     CountingLockable& operator=(const CountingLockable&) = delete;
1412:   protected:
1412:     L mutex;
1412:     unsigned int count = 0;
1412: 
1412:   public:
1412:     inline CountingLockable() = default;
1412: 
1412: 
1412:     inline void lock() { mutex.lock(); count++; }
1412:     inline bool try_lock() { return mutex.try_lock() ? count++, true : false; }
1412:     inline void unlock() { count--; mutex.unlock(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     inline bool IsLocked() const { return count > 0; }
1412: 
1412: 
1412: 
1412: 
1412:     inline unsigned int exit(unsigned int leave = 0)
1412:     {
1412: 
1412: 
1412:       unsigned int ret = 0;
1412:       if (try_lock())
1412:       {
1412:         if (leave < (count - 1))
1412:         {
1412:           ret = count - 1 - leave;
1412: 
1" 2
1417: 
1417: 
1417: 
1417: 
1417: struct RESOLUTION_WHR
1417: {
1417:   int width;
1417:   int height;
1417:   int flags;
1417:   int ResInfo_Index;
1417: };
1417: 
1417: struct REFRESHRATE
1417: {
1417:   float RefreshRate;
1417:   int ResInfo_Index;
1417: };
1417: 
1417: class CDPMSSupport;
1417: class CGraphicContext;
1417: class CRenderSystemBase;
1417: class IRenderLoop;
1417: 
1417: struct VideoPicture;
1417: 
1417: class CWinSystemBase
1417: {
1417: public:
1417:   CWinSystemBase();
1417:   virtual ~CWinSystemBase();
1417: 
1417:   static std::unique_ptr<CWinSystemBase> CreateWinSystem();
1417: 
1417: 
1417:   virtual CRenderSystemBase *GetRenderSystem() { return nullptr; }
1417: 
1417:   virtual const std::string GetName() { return "platform default"; }
1417: 
1417: 
1417:   virtual bool InitWindowSystem();
1417:   virtual bool DestroyWindowSystem();
1417:   virtual bool CreateNewWindow(const std::string& name, bool fullScreen, RESOLUTION_INFO& res) = 0;
1417:   virtual bool DestroyWindow(){ return false; }
1417:   virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop) = 0;
1417:   virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays) = 0;
1417:   virtual bool DisplayHardwareScalingEnabled() { return false; }
1417:   virtual void UpdateDisplayHardwareScaling(const RESOLUTION_INFO& resInfo) { }
1417:   virtual bool MoveWindow(int topLeft, int topRight){return false;}
1417:   virtual void FinishModeChange(RESOLUTION res){}
1417:   virtual void FinishWindowResize(int newWidth, int newHeight) {ResizeWindow(newWidth, newHeight, -1, -1);}
1417:   virtual bool CenterWindow(){return false;}
1417:   virtual bool IsCreated(){ return m_bWindowCreated; }
1417:   virtual void NotifyAppFocusChange(bool bGaining) {}
1417:   virtual void NotifyAppActiveChange(bool bActivated) {}
1417:   virtual void ShowOSMouse(bool show) {}
1417:   virtual bool HasCursor(){ return true; }
1417: 
1417:   virtual bool HasInertialGestures(){ return false; }
1417: 
1417:   virtual bool UseLimitedColor();
1417: 
1417:   virtual int NoOfBuffers();
1417: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1417:   virtual float GetDisplayLatency() { return -1.0f; }
1417: # 99 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1417:   virtual float GetFrameLatencyAdjustment() { return 0.0; }
1417: 
1417:   virtual bool Minimize() { return false; }
1417:   virtual bool Restore() { return false; }
1417:   virtual bool Hide() { return false; }
1417:   virtual bool Show(bool raise = true) { return false; }
1417: 
1417: 
1417:   virtual std::unique_ptr<CVideoSync> GetVideoSync(void *clock) { return nullptr; }
1417: 
1417: 
1417:   virtual void OnMove(int x, int y) {}
1417: # 121 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1417:   KODI::WINDOWING::COSScreenSaverManager* GetOSScreenSaver();
1417: 
1417: 
1417:   unsigned int GetWidth() { return m_nWidth; }
1417:   unsigned int GetHeight() { return m_nHeight; }
1417:   virtual bool CanDoWindowed() { return true; }
1417:   bool IsFullScreen() { return m_bFullScreen; }
1417:   virtual void UpdateResolutions();
1417:   void SetWindowResolution(int width, int height);
1417:   std::vector<RESOLUTION_WHR> ScreenResolutions(float refreshrate);
1417:   std::vector<REFRESHRATE> RefreshRates(int width, int height, uint32_t dwFlags);
1417:   REFRESHRATE DefaultRefreshRate(std::vector<REFRESHRATE> rates);
1417:   virtual bool HasCalibration(const RESOLUTION_INFO& resInfo) { return true; }
1417: 
1417: 
1417:   virtual std::string GetClipboardText(void);
1417: 
1417: 
1417:   virtual void Register(IDispResource *resource) = 0;
1417:   virtual void Unregister(IDispResource *resource) = 0;
1417: 
1417: 
1417:   void RegisterRenderLoop(IRenderLoop *client);
1417:   void UnregisterRenderLoop(IRenderLoop *client);
1417:   void DriveRenderLoop();
1417: 
1417: 
1417:   virtual bool MessagePump() { return false; }
1417: 
1417: 
1417:   CGraphicContext& GetGfxContext();
1417: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1417:   virtual void* GetHWContext() { return nullptr; }
1417: 
1417:   std::shared_ptr<CDPMSSupport> GetDPMSManager();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool SetHDR(const VideoPicture* videoPicture) { return false; }
1417:   virtual bool IsHDRDisplay() { return false; }
1417:   virtual HDR_STATUS ToggleHDR() { return HDR_STATUS::HDR_UNSUPPORTED; }
1417:   virtual HDR_STATUS GetOSHDRStatus() { return HDR_STATUS::HDR_UNSUPPORTED; }
1417:   virtual CHDRCapabilities GetDisplayHDRCapabilities() const { return {}; }
1417: 
1417:   static const char* SETTING_WINSYSTEM_IS_HDR_DISPLAY;
1417: 
1417: 
1417:   virtual DEBUG_INFO_RENDER GetDebugInfo() { return {}; }
1417: 
1417:   virtual std::vector<std::string> GetConnectedOutputs() { return {}; }
1417: 
1417: protected:
1417:   void UpdateDesktopResolution(RESOLUTION_INFO& newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags);
1417:   virtual std::unique_ptr<KODI::WINDOWING::IOSScreenSaver> GetOSScreenSaverImpl() { return nullptr; }
1417: 
1417:   int m_nWidth = 0;
1417:   int m_nHeight = 0;
1417:   int m_nTop = 0;
1417:   int m_nLeft = 0;
1417:   bool m_bWindowCreated = false;
1417:   bool m_bFullScreen = false;
1417:   bool m_bBlankOtherDisplay = false;
1417:   float m_fRefreshRate = 0.0f;
1417:   std::unique_ptr<KODI::WINDOWING::COSScreenSaverManager> m_screenSaverManager;
1417:   CCriticalSection m_renderLoopSection;
1417:   std::vector<IRenderLoop*> m_renderLoopClients;
1417: 
1417:   std::unique_ptr<IWinEvents> m_winEvents;
1417:   std::unique_ptr<CGraphicContext> m_gfxContext;
1417:   std::shared_ptr<CDPMSSupport> m_dpms;
1417: };
1417: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1417: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1417: enum VIEW_TYPE { VIEW_TYPE_NONE = 0,
1417:                  VIEW_TYPE_LIST,
1417:                  VIEW_TYPE_ICON,
1417:                  VIEW_TYPE_BIG_LIST,
1417:                  VIEW_TYPE_BIG_ICON,
1417:                  VIEW_TYPE_WIDE,
1417:                  VIEW_TYPE_BIG_WIDE,
1417:                  VIEW_TYPE_WRAP,
1417:                  VIEW_TYPE_BIG_WRAP,
1417:                  VIEW_TYPE_INFO,
1417:                  VIEW_TYPE_BIG_INFO,
1417:                  VIEW_TYPE_AUTO,
1417:                  VIEW_TYPE_MAX };
1417: 
1417: enum AdjustRefreshRate
1417: {
1417:   ADJUST_REFRESHRATE_OFF = 0,
1417:   ADJUST_REFRESHRATE_ALWAYS,
1417:   ADJUST_REFRESHRATE_ON_STARTSTOP,
1417:   ADJUST_REFRESHRATE_ON_START,
1417: };
1417: 
1417: class CGraphicContext : public CCriticalSection
1417: {
1417: public:
1417:   CGraphicContext(void);
1417:   virtual ~CGraphicContext();
1417: 
1417: 
1417:   float GetFPS() const;
1417:   void SetFPS(float fps);
1417:   float GetDisplayLatency() const;
1417:   bool IsFullScreenRoot() const;
1417:   void ToggleFullScreen();
1417:   void SetFullScreenVideo(bool bOnOff);
1417:   bool IsFullScreenVideo() const;
1417:   bool IsValidResolution(RESOLUTION res);
1417:   void SetVideoResolution(RESOLUTION res, bool forceUpdate);
1417:   void ApplyModeChange(RESOLUTION res);
1417:   void ApplyWindowResize(int newWidth, int newHeight);
1417:   RESOLUTION GetVideoResolution() const;
1417:   const RESOLUTION_INFO GetResInfo() const;
1417:   const RESOLUTION_INFO GetResInfo(RESOLUTION res) const;
1417:   void SetResInfo(RESOLUTION res, const RESOLUTION_INFO& info);
1417: 
1417:   void Flip(bool rendered, bool videoLayer);
1417: 
1417: 
1417:   int GetWidth() const;
1417:   int GetHeight() const;
1417:   bool SetViewPort(float fx, float fy , float fwidth, float fheight, bool intersectPrevious = false);
1417:   void RestoreViewPort();
1417:   void SetScissors(const CRect &rect);
1417:   void ResetScissors();
1417:   const CRect &GetScissors() const;
1417:   const CRect GetViewWindow() const;
1417:   void SetViewWindow(float left, float top, float right, float bottom);
1417:   bool IsCalibrating() const;
1417:   void SetCalibrating(bool bOnOff);
1417:   void ResetOverscan(RESOLUTION res412: 
1412: 
1412: 
1412:           for (unsigned int i = 0; i < ret; i++)
1412:             unlock();
1412:         }
1412:         unlock();
1412:       }
1412: 
1412:       return ret;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:     inline void restore(unsigned int restoreCount)
1412:     {
1412:       for (unsigned int i = 0; i < restoreCount; i++)
1412:         lock();
1412:     }
1412: # 104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1412:     inline L& get_underlying() { return mutex; }
1412:   };
1412: 
1412: }
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1412: 
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1412:        
1412: 
1412: # 1 "/usr/include/c++/12/mutex" 1 3
1412: # 32 "/usr/include/c++/12/mutex" 3
1412:        
1412: # 33 "/usr/include/c++/12/mutex" 3
1412: # 41 "/usr/include/c++/12/mutex" 3
1412: # 1 "/usr/include/c++/12/system_error" 1 3
1412: # 32 "/usr/include/c++/12/system_error" 3
1412:        
1412: # 33 "/usr/include/c++/12/system_error" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 1 3
1412: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
1412: # 1 "/usr/include/c++/12/cerrno" 1 3
1412: # 39 "/usr/include/c++/12/cerrno" 3
1412:        
1412: # 40 "/usr/include/c++/12/cerrno" 3
1412: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 2 3
1412: 
1412: 
1412: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   enum class errc
1412:     {
1412:       address_family_not_supported = 97,
1412:       address_in_use = 98,
1412:       address_not_available = 99,
1412:       already_connected = 106,
1412:       argument_list_too_long = 7,
1412:       argument_out_of_domain = 33,
1412:       bad_address = 14,
1412:       bad_file_descriptor = 9,
1412: 
1412: 
1412:       bad_message = 74,
1412: 
1412: 
1412:       broken_pipe = 32,
1412:       connection_aborted = 103,
1412:       connection_already_in_progress = 114,
1412:       connection_refused = 111,
1412:       connection_reset = 104,
1412:       cross_device_link = 18,
1412:       destination_address_required = 89,
1412:       device_or_resource_busy = 16,
1412:       directory_not_empty = 39,
1412:       executable_format_error = 8,
1412:       file_exists = 17,
1412:       file_too_large = 27,
1412:       filename_too_long = 36,
1412:       function_not_supported = 38,
1412:       host_unreachable = 113,
1412: 
1412: 
1412:       identifier_removed = 43,
1412: 
1412: 
1412:       illegal_byte_sequence = 84,
1412:       inappropriate_io_control_operation = 25,
1412:       interrupted = 4,
1412:       invalid_argument = 22,
1412:       invalid_seek = 29,
1412:       io_error = 5,
1412:       is_a_directory = 21,
1412:       message_size = 90,
1412:       network_down = 100,
1412:       network_reset = 102,
1412:       network_unreachable = 101,
1412:       no_buffer_space = 105,
1412:       no_child_process = 10,
1412: 
1412: 
1412:       no_link = 67,
1412: 
1412: 
1412:       no_lock_available = 37,
1412: 
1412: 
1412:       no_message_available = 61,
1412: 
1412: 
1412:       no_message = 42,
1412:       no_protocol_option = 92,
1412:       no_space_on_device = 28,
1412: 
1412: 
1412:       no_stream_resources = 63,
1412: 
1412: 
1412:       no_such_device_or_address = 6,
1412:       no_such_device = 19,
1412:       no_such_file_or_directory = 2,
1412:       no_such_process = 3,
1412:       not_a_directory = 20,
1412:       not_a_socket = 88,
1412: 
1412: 
1412:       not_a_stream = 60,
1412: 
1412: 
1412:       not_connected = 107,
1412:       not_enough_memory = 12,
1412: 
1412: 
1412:       not_supported = 95,
1412: 
1412: 
1412: 
1412:       operation_canceled = 125,
1412: 
1412: 
1412:       operation_in_progress = 115,
1412:       operation_not_permitted = 1,
1412:       operation_not_supported = 95,
1412:       operation_would_block = 11,
1412: 
1412: 
1412:       owner_dead = 130,
1412: 
1412: 
1412:       permission_denied = 13,
1412: 
1412: 
1412:       protocol_error = 71,
1412: 
1412: 
1412:       protocol_not_supported = 93,
1412:       read_only_file_system = 30,
1412:       resource_deadlock_would_occur = 35,
1412:       resource_unavailable_try_again = 11,
1412:       result_out_of_range = 34,
1412: 
1412: 
1412:       state_not_recoverable = 131,
1412: 
1412: 
1412: 
1412:       stream_timeout = 62,
1412: 
1412: 
1412: 
1412:       text_file_busy = 26,
1412: 
1412: 
1412:       timed_out = 110,
1412:       too_many_files_open_in_system = 23,
1412:       too_many_files_open = 24,
1412:       too_many_links = 31,
1412:       too_many_symbolic_link_levels = 40,
1412: 
1412: 
1412:       value_too_large = 75,
1412: 
1412: 
1412:       wrong_protocol_type = 91
1412:     };
1412: 
1412: 
1412: }
1412: # 40 "/usr/include/c++/12/system_error" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/stdexcept" 1 3
1412: # 36 "/usr/include/c++/12/stdexcept" 3
1412:        
1412: # 37 "/usr/include/c++/12/stdexcept" 3
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   struct __cow_string
1412:   {
1412:     union {
1412:       const char* _M_p;
1412:       char _M_bytes[sizeof(const char*)];
1412:     };
1412: 
1412:     __cow_string();
1412:     __cow_string(const std::string&);
1412:     __cow_string(const char*, size_t);
1412:     __cow_string(const __cow_string&) noexcept;
1412:     __cow_string& operator=(const __cow_string&) noexcept;
1412:     ~__cow_string();
1412: 
1412:     __cow_string(__cow_string&&) noexcept;
1412:     __cow_string& operator=(__cow_string&&) noexcept;
1412: 
1412:   };
1412: 
1412:   typedef basic_string<char> __sso_string;
1412: # 113 "/usr/include/c++/12/stdexcept" 3
1412:   class logic_error : public exception
1412:   {
1412:     __cow_string _M_msg;
1412: 
1412:   public:
1412: 
1412:     explicit
1412:     logic_error(const string& __arg) ;
1412: 
1412: 
1412:     explicit
1412:     logic_error(const char*) ;
1412: 
1412:     logic_error(logic_error&&) noexcept;
1412:     logic_error& operator=(logic_error&&) noexcept;
1412: 
1412: 
1412: 
1412:     logic_error(const logic_error&) noexcept;
1412:     logic_error& operator=(const logic_error&) noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     virtual ~logic_error() noexcept;
1412: 
1412: 
1412: 
1412:     virtual const char*
1412:     what() const noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   };
1412: 
1412: 
1412: 
1412:   class domain_error : public logic_error
1412:   {
1412:   public:
1412:     explicit domain_error(const string& __arg) ;
1412: 
1412:     explicit domain_error(const char*) ;
1412:     domain_error(const domain_error&) = default;
1412:     domain_error& operator=(const domain_error&) = default;
1412:     domain_error(domain_error&&) = default;
1412:     domain_error& operator=(domain_error&&) = default;
1412: 
1412:     virtual ~domain_error() noexcept;
1412:   };
1412: 
1412: 
1412:   class invalid_argument : public logic_error
1412:   {
1412:   public:
1412:     explicit invalid_argument(const string& __arg) ;
1412: 
1412:     explicit invalid_argument(const char*) ;
1412:     invalid_argument(const invalid_argument&) = default;
1412:     invalid_argument& operator=(const invalid_argument&) = default;
1412:     invalid_argument(invalid_argument&&) = default;
1412:     invalid_argument& operator=(invalid_argument&&) = default;
1412: 
1412:     virtual ~invalid_argument() noexcept;
1412:   };
1412: 
1412: 
1412: 
1412:   class length_error : public logic_error
1412:   {
1412:   public:
1412:     explicit length_error(const string& __arg) ;
1412: 
1412:     explicit length_error(const char*) ;
1412:     length_error(const length_error&) = default;
1412:     length_error& operator=(const length_error&) = default;
1412:     length_error(length, OVERSCAN &overscan);
1417:   void ResetOverscan(RESOLUTION_INFO &resinfo);
1417:   void ResetScreenParameters(RESOLUTION res);
1417:   void CaptureStateBlock();
1417:   void ApplyStateBlock();
1417:   void Clear(UTILS::COLOR::Color color = 0);
1417:   void GetAllowedResolutions(std::vector<RESOLUTION> &res);
1417: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1417:   void GetGUIScaling(const RESOLUTION_INFO &res, float &scaleX, float &scaleY, TransformMatrix *matrix = 
1417: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1417:                                                                                                         __null
1417: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1417:                                                                                                             );
1417:   void SetRenderingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1417:   void SetScalingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1417:   float GetScalingPixelRatio() const;
1417:   void InvertFinalCoords(float &x, float &y) const;
1417:   float ScaleFinalXCoord(float x, float y) const;
1417:   float ScaleFinalYCoord(float x, float y) const;
1417:   float ScaleFinalZCoord(float x, float y) const;
1417:   void ScaleFinalCoords(float &x, float &y, float &z) const;
1417:   bool RectIsAngled(float x1, float y1, float x2, float y2) const;
1417:   const TransformMatrix &GetGUIMatrix() const;
1417:   float GetGUIScaleX() const;
1417:   float GetGUIScaleY() const;
1417:   UTILS::COLOR::Color MergeAlpha(UTILS::COLOR::Color color) const;
1417:   UTILS::COLOR::Color MergeColor(UTILS::COLOR::Color color) const;
1417:   void SetOrigin(float x, float y);
1417:   void RestoreOrigin();
1417:   void SetCameraPosition(const CPoint &camera);
1417:   void SetStereoView(RENDER_STEREO_VIEW view);
1417:   RENDER_STEREO_VIEW GetStereoView() { return m_stereoView; }
1417:   void SetStereoMode(RENDER_STEREO_MODE mode) { m_nextStereoMode = mode; }
1417:   RENDER_STEREO_MODE GetStereoMode() { return m_stereoMode; }
1417:   void RestoreCameraPosition();
1417:   void SetStereoFactor(float factor);
1417:   void RestoreStereoFactor();
1417: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1417:   bool SetClipRegion(float x, float y, float w, float h);
1417:   void RestoreClipRegion();
1417:   void ClipRect(CRect &vertex, CRect &texture, CRect *diffuse = 
1417: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1417:                                                                __null
1417: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1417:                                                                    );
1417:   CRect GetClipRegion();
1417:   void AddGUITransform();
1417:   TransformMatrix AddTransform(const TransformMatrix &matrix);
1417:   void SetTransform(const TransformMatrix &matrix);
1417:   void SetTransform(const TransformMatrix &matrix, float scaleX, float scaleY);
1417:   void RemoveTransform();
1417: 
1417: 
1417:   CRect StereoCorrection(const CRect &rect) const;
1417:   CPoint StereoCorrection(const CPoint &point) const;
1417: 
1417:   CRect GenerateAABB(const CRect &rect) const;
1417: 
1417: 
1417:   const std::string& GetMediaDir() const;
1417:   void SetMediaDir(const std::string& strMediaDir);
1417: 
1417: protected:
1417: 
1417:   void UpdateCameraPosition(const CPoint &camera, const float &factor);
1417:   void SetVideoResolutionInternal(RESOLUTION res, bool forceUpdate);
1417:   void ApplyVideoResolution(RESOLUTION res);
1417:   void UpdateInternalStateWithResolution(RESOLUTION res);
1417: 
1417:   int m_iScreenHeight = 576;
1417:   int m_iScreenWidth = 720;
1417:   std::string m_strMediaDir;
1417:   CRect m_videoRect;
1417:   bool m_bFullScreenRoot = true;
1417:   bool m_bFullScreenVideo = false;
1417:   bool m_bCalibrating = false;
1417:   RESOLUTION m_Resolution = RES_INVALID;
1417:   float m_fFPSOverride = 0.0f;
1417: 
1417:   RESOLUTION_INFO m_windowResolution;
1417:   std::stack<CPoint> m_cameras;
1417:   std::stack<CPoint> m_origins;
1417:   std::stack<CRect> m_clipRegions;
1417:   std::stack<float> m_stereoFactors;
1417:   std::stack<CRect> m_viewStack;
1417:   CRect m_scissors;
1417: 
1417:   class UITransform
1417:   {
1417:   public:
1417:     UITransform() : matrix() {}
1417:     UITransform(const TransformMatrix& m, const float sX = 1.0f, const float sY = 1.0f)
1417:       : matrix(m), scaleX(sX), scaleY(sY)
1417:     {
1417:     }
1417:     void Reset()
1417:     {
1417:       matrix.Reset();
1417:       scaleX = scaleY = 1.0f;
1417:     }
1417: 
1417:     TransformMatrix matrix;
1417:     float scaleX = 1.0f;
1417:     float scaleY = 1.0f;
1417:   };
1417: 
1417:   UITransform m_guiTransform;
1417:   UITransform m_finalTransform;
1417:   std::stack<UITransform> m_transforms;
1417:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1417:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1417:   RENDER_STEREO_MODE m_nextStereoMode = RENDER_STEREO_MODE_OFF;
1417: };
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1417: 
1417: 
1417: 
1417: class CGUIListItem;
1417: class CAction;
1417: class CMouseEvent;
1417: class CGUIMessage;
1417: class CGUIAction;
1417: 
1417: enum ORIENTATION { HORIZONTAL = 0, VERTICAL };
1417: 
1417: class CControlState
1417: {
1417: public:
1417:   CControlState(int id, int data)
1417:   {
1417:     m_id = id;
1417:     m_data = data;
1417:   }
1417:   int m_id;
1417:   int m_data;
1417: };
1417: 
1417: struct GUICONTROLSTATS
1417: {
1417:   unsigned int nCountTotal;
1417:   unsigned int nCountVisible;
1417: 
1417:   void Reset()
1417:   {
1417:     nCountTotal = nCountVisible = 0;
1417:   };
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum EVENT_RESULT { EVENT_RESULT_UNHANDLED = 0x00,
1417:                     EVENT_RESULT_HANDLED = 0x01,
1417:                     EVENT_RESULT_PAN_HORIZONTAL = 0x02,
1417:                     EVENT_RESULT_PAN_VERTICAL = 0x04,
1417:                     EVENT_RESULT_PAN_VERTICAL_WITHOUT_INERTIA = 0x08,
1417:                     EVENT_RESULT_PAN_HORIZONTAL_WITHOUT_INERTIA = 0x10,
1417:                     EVENT_RESULT_ROTATE = 0x20,
1417:                     EVENT_RESULT_ZOOM = 0x40,
1417:                     EVENT_RESULT_SWIPE = 0x80
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIControl
1417: {
1417: public:
1417:   CGUIControl();
1417:   CGUIControl(int parentID, int controlID, float posX, float posY, float width, float height);
1417:   CGUIControl(const CGUIControl &);
1417:   virtual ~CGUIControl(void);
1417:   virtual CGUIControl *Clone() const=0;
1417: 
1417:   virtual void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions);
1417:   virtual void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions);
1417:   virtual void DoRender();
1417:   virtual void Render() {}
1417: 
1417: 
1417:   virtual void RenderEx() {}
1417: 
1417: 
1417:   bool HasProcessed() const { return m_hasProcessed; }
1417: # 102 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1417:   virtual bool OnAction(const CAction &action);
1417: 
1417: 
1417:   virtual void OnUp();
1417:   virtual void OnDown();
1417:   virtual void OnLeft();
1417:   virtual void OnRight();
1417:   virtual bool OnBack();
1417:   virtual bool OnInfo();
1417:   virtual void OnNextControl();
1417:   virtual void OnPrevControl();
1417:   virtual void OnFocus() {}
1417:   virtual void OnUnFocus() {}
1417: # 126 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1417:   virtual EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event);
1417: # 138 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1417:   virtual EVENT_RESULT OnMouseEvent(const CPoint& point, const CMouseEvent& event)
1417:   {
1417:     return EVENT_RESULT_UNHANDLED;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void UnfocusFromPoint(const CPoint &point);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual_error&&) = default;
1412:     length_error& operator=(length_error&&) = default;
1412: 
1412:     virtual ~length_error() noexcept;
1412:   };
1412: 
1412: 
1412: 
1412:   class out_of_range : public logic_error
1412:   {
1412:   public:
1412:     explicit out_of_range(const string& __arg) ;
1412: 
1412:     explicit out_of_range(const char*) ;
1412:     out_of_range(const out_of_range&) = default;
1412:     out_of_range& operator=(const out_of_range&) = default;
1412:     out_of_range(out_of_range&&) = default;
1412:     out_of_range& operator=(out_of_range&&) = default;
1412: 
1412:     virtual ~out_of_range() noexcept;
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class runtime_error : public exception
1412:   {
1412:     __cow_string _M_msg;
1412: 
1412:   public:
1412: 
1412:     explicit
1412:     runtime_error(const string& __arg) ;
1412: 
1412: 
1412:     explicit
1412:     runtime_error(const char*) ;
1412: 
1412:     runtime_error(runtime_error&&) noexcept;
1412:     runtime_error& operator=(runtime_error&&) noexcept;
1412: 
1412: 
1412: 
1412:     runtime_error(const runtime_error&) noexcept;
1412:     runtime_error& operator=(const runtime_error&) noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     virtual ~runtime_error() noexcept;
1412: 
1412: 
1412: 
1412:     virtual const char*
1412:     what() const noexcept;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   };
1412: 
1412: 
1412:   class range_error : public runtime_error
1412:   {
1412:   public:
1412:     explicit range_error(const string& __arg) ;
1412: 
1412:     explicit range_error(const char*) ;
1412:     range_error(const range_error&) = default;
1412:     range_error& operator=(const range_error&) = default;
1412:     range_error(range_error&&) = default;
1412:     range_error& operator=(range_error&&) = default;
1412: 
1412:     virtual ~range_error() noexcept;
1412:   };
1412: 
1412: 
1412:   class overflow_error : public runtime_error
1412:   {
1412:   public:
1412:     explicit overflow_error(const string& __arg) ;
1412: 
1412:     explicit overflow_error(const char*) ;
1412:     overflow_error(const overflow_error&) = default;
1412:     overflow_error& operator=(const overflow_error&) = default;
1412:     overflow_error(overflow_error&&) = default;
1412:     overflow_error& operator=(overflow_error&&) = default;
1412: 
1412:     virtual ~overflow_error() noexcept;
1412:   };
1412: 
1412: 
1412:   class underflow_error : public runtime_error
1412:   {
1412:   public:
1412:     explicit underflow_error(const string& __arg) ;
1412: 
1412:     explicit underflow_error(const char*) ;
1412:     underflow_error(const underflow_error&) = default;
1412:     underflow_error& operator=(const underflow_error&) = default;
1412:     underflow_error(underflow_error&&) = default;
1412:     underflow_error& operator=(underflow_error&&) = default;
1412: 
1412:     virtual ~underflow_error() noexcept;
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 42 "/usr/include/c++/12/system_error" 2 3
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class error_code;
1412:   class error_condition;
1412:   class system_error;
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_error_code_enum : public false_type { };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct is_error_condition_enum : public false_type { };
1412: 
1412:   template<>
1412:     struct is_error_condition_enum<errc>
1412:     : public true_type { };
1412: 
1412: 
1412:   template <typename _Tp>
1412:     inline constexpr bool is_error_code_enum_v =
1412:       is_error_code_enum<_Tp>::value;
1412:   template <typename _Tp>
1412:     inline constexpr bool is_error_condition_enum_v =
1412:       is_error_condition_enum<_Tp>::value;
1412: 
1412: 
1412: 
1412:   inline namespace _V2 {
1412: # 97 "/usr/include/c++/12/system_error" 3
1412:   class error_category
1412:   {
1412:   public:
1412:     constexpr error_category() noexcept = default;
1412: 
1412:     virtual ~error_category();
1412: 
1412:     error_category(const error_category&) = delete;
1412:     error_category& operator=(const error_category&) = delete;
1412: 
1412:     virtual const char*
1412:     name() const noexcept = 0;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   private:
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     virtual __cow_string
1412:     _M_message(int) const;
1412: 
1412:   public:
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     virtual string
1412:     message(int) const = 0;
1412: # 133 "/usr/include/c++/12/system_error" 3
1412:   public:
1412:     virtual error_condition
1412:     default_error_condition(int __i) const noexcept;
1412: 
1412:     virtual bool
1412:     equivalent(int __i, const error_condition& __cond) const noexcept;
1412: 
1412:     virtual bool
1412:     equivalent(const error_code& __code, int __i) const noexcept;
1412: 
1412:     bool
1412:     operator==(const error_category& __other) const noexcept
1412:     { return this == &__other; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     bool
1412:     operator!=(const error_category& __other) const noexcept
1412:     { return this != &__other; }
1412: 
1412:     bool
1412:     operator<(const error_category& __other) const noexcept
1412:     { return less<const error_category*>()(this, &__other); }
1412: 
1412:   };
1412: 
1412: 
1412: 
1412: 
1412:   __attribute__ ((__const__)) const error_category& generic_category() noexcept;
1412: 
1412: 
1412:   __attribute__ ((__const__)) const error_category& system_category() noexcept;
1412: 
1412: 
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   error_code make_error_code(errc) noexcept;
1412: # 196 "/usr/include/c++/12/system_error" 3
1412:   class error_code
1412:   {
1412:   public:
1412:     error_code() noexcept
1412:     : _M_value(0), _M_cat(&system_category()) { }
1412: 
1412:     error_code(int __v, const error_category& __cat) noexcept
1412:     : _M_value(__v), _M_cat(&__cat) { }
1412: 
1412:     template<typename _ErrorCodeEnum, typename = typename
1412:       enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type>
1412:       error_code(_ErrorCodeEnum __e) noexcept
1412:       { *this = make_error_code(__e); }
1412: 
1412:     void
1412:     assign(int __v, const error_category& __cat) noexcept
1412:     {
1412:       _M_value = __v;
1412:       _M_cat = &__cat;
1412:     }
1412: 
1412:     void
1412:     clear() noexcept
1412:     { assign(0, system_category()); }
1412: 
1412: 
1412:     template<typename _ErrorCodeEnum>
1412:       typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value,
1412:     error_code&>::type
1412:       operator=(_ErrorCodeEnum __e) noexcept
1412:       { return *this = make_error_code(__e); }
1412: 
1412:     int
1412:     value() const noexcept { return _M_value; }
1412: 
1412:     const error_category&
1412:     category() const noexcept { return *_M_cat; }
1412: 
1412:     error_condition
1412:     default_error_condition() const noexcept;
1412: 
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     string
1412:     message() const
1412:     { return category().message(value()); }
1412: 
1412:     explicit operator bool() const noexcept
1412:     { return _M_value != 0; }
1412: 
1412: 
1412:   private:
1412:     int _M_value;
1412:     const error_category* _M_cat;
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline error_code
1412:   make_error_code(errc __e) noexcept
1412:   { return error_code(static_cast<int>(__e), generic_category()); }
1412: # 268 "/usr/include/c++/12/system_error" 3
1412:   inline bool
1412:   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
1412:   {
1412:     return (__lhs.category() < __rhs.category()
1412:      || (__lhs.category() == __rhs.category()
1412:   && __lhs.value() < __rhs.value()));
1412:   }
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
1412:     { return (__os << __e.category().n bool HitTest(const CPoint &point) const;
1417: 
1417:   virtual bool OnMessage(CGUIMessage& message);
1417:   virtual int GetID(void) const;
1417:   virtual void SetID(int id) { m_controlID = id; }
1417:   int GetParentID() const;
1417:   virtual bool HasFocus() const;
1417:   virtual void AllocResources();
1417:   virtual void FreeResources(bool immediately = false);
1417:   virtual void DynamicResourceAlloc(bool bOnOff);
1417:   virtual bool IsDynamicallyAllocated() { return false; }
1417:   virtual bool CanFocus() const;
1417:   virtual bool IsVisible() const;
1417:   bool IsVisibleFromSkin() const { return m_visibleFromSkinCondition; }
1417:   virtual bool IsDisabled() const;
1417:   virtual void SetPosition(float posX, float posY);
1417:   virtual void SetHitRect(const CRect& rect, const UTILS::COLOR::Color& color);
1417:   virtual void SetCamera(const CPoint &camera);
1417:   virtual void SetStereoFactor(const float &factor);
1417:   bool SetColorDiffuse(const KODI::GUILIB::GUIINFO::CGUIInfoColor &color);
1417:   CPoint GetRenderPosition() const;
1417:   virtual float GetXPosition() const;
1417:   virtual float GetYPosition() const;
1417:   virtual float GetWidth() const;
1417:   virtual float GetHeight() const;
1417: 
1417:   void MarkDirtyRegion(const unsigned int dirtyState = DIRTY_STATE_CONTROL);
1417:   bool IsControlDirty() const { return m_controlDirtyState != 0; }
1417: 
1417: 
1417: 
1417:   const CRect& GetRenderRegion() const { return m_renderRegion; }
1417: 
1417: 
1417: 
1417:   virtual CRect CalcRenderRegion() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef std::map<int, CGUIAction> ActionMap;
1417:   void SetActions(const ActionMap &actions);
1417: # 205 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1417:   void SetAction(int actionID, const CGUIAction &action, bool replace = true);
1417: 
1417: 
1417: 
1417: 
1417:   CGUIAction GetAction(int actionID) const;
1417: 
1417: 
1417: 
1417:   bool Navigate(int direction) const;
1417:   virtual void SetFocus(bool focus);
1417:   virtual void SetWidth(float width);
1417:   virtual void SetHeight(float height);
1417:   virtual void SetVisible(bool bVisible, bool setVisState = false);
1417:   void SetVisibleCondition(const std::string &expression, const std::string &allowHiddenFocus = "");
1417:   bool HasVisibleCondition() const { return m_visibleCondition != 
1417: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 3 4
1417:                                                                  __null
1417: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1417:                                                                      ; }
1417:   void SetEnableCondition(const std::string &expression);
1417:   virtual void UpdateVisibility(const CGUIListItem *item);
1417:   virtual void SetInitialVisibility();
1417:   virtual void SetEnabled(bool bEnable);
1417:   virtual void SetInvalid() { m_bInvalidated = true; }
1417:   virtual void SetPulseOnSelect(bool pulse) { m_pulseOnSelect = pulse; }
1417:   virtual std::string GetDescription() const { return ""; }
1417:   virtual std::string GetDescriptionByIndex(int index) const { return ""; }
1417: 
1417:   void SetAnimations(const std::vector<CAnimation> &animations);
1417:   const std::vector<CAnimation>& GetAnimations() const { return m_animations; }
1417: 
1417:   virtual void QueueAnimation(ANIMATION_TYPE anim);
1417:   virtual bool IsAnimating(ANIMATION_TYPE anim);
1417:   virtual bool HasAnimation(ANIMATION_TYPE anim);
1417:   CAnimation *GetAnimation(ANIMATION_TYPE type, bool checkConditions = true);
1417:   virtual void ResetAnimation(ANIMATION_TYPE type);
1417:   virtual void ResetAnimations();
1417: 
1417: 
1417:   virtual void UpdateInfo(const CGUIListItem* item = 
1417: # 241 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 3 4
1417:                                                     __null
1417: # 241 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1417:                                                         ) {}
1417:   virtual void SetPushUpdates(bool pushUpdates) { m_pushedUpdates = pushUpdates; }
1417: 
1417:   virtual bool IsGroup() const { return false; }
1417:   virtual bool IsContainer() const { return false; }
1417:   virtual bool GetCondition(int condition, int data) const { return false; }
1417: 
1417:   void SetParentControl(CGUIControl* control) { m_parentControl = control; }
1417:   CGUIControl* GetParentControl(void) const { return m_parentControl; }
1417:   virtual void SaveStates(std::vector<CControlState> &states);
1417:   virtual CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr);
1417: 
1417: 
1417:   void SetControlStats(GUICONTROLSTATS* controlStats) { m_controlStats = controlStats; }
1417:   virtual void UpdateControlStats();
1417: 
1417:   enum GUICONTROLTYPES
1417:   {
1417:     GUICONTROL_UNKNOWN,
1417:     GUICONTROL_BUTTON,
1417:     GUICONTROL_FADELABEL,
1417:     GUICONTROL_IMAGE,
1417:     GUICONTROL_BORDEREDIMAGE,
1417:     GUICONTROL_LABEL,
1417:     GUICONTROL_LISTGROUP,
1417:     GUICONTROL_PROGRESS,
1417:     GUICONTROL_RADIO,
1417:     GUICONTROL_RSS,
1417:     GUICONTROL_SLIDER,
1417:     GUICONTROL_SETTINGS_SLIDER,
1417:     GUICONTROL_SPIN,
1417:     GUICONTROL_SPINEX,
1417:     GUICONTROL_TEXTBOX,
1417:     GUICONTROL_TOGGLEBUTTON,
1417:     GUICONTROL_VIDEO,
1417:     GUICONTROL_GAME,
1417:     GUICONTROL_MOVER,
1417:     GUICONTROL_RESIZE,
1417:     GUICONTROL_EDIT,
1417:     GUICONTROL_VISUALISATION,
1417:     GUICONTROL_RENDERADDON,
1417:     GUICONTROL_MULTI_IMAGE,
1417:     GUICONTROL_GROUP,
1417:     GUICONTROL_GROUPLIST,
1417:     GUICONTROL_SCROLLBAR,
1417:     GUICONTROL_LISTLABEL,
1417:     GUICONTROL_GAMECONTROLLER,
1417:     GUICONTAINER_LIST,
1417:     GUICONTAINER_WRAPLIST,
1417:     GUICONTAINER_FIXEDLIST,
1417:     GUICONTAINER_EPGGRID,
1417:     GUICONTAINER_PANEL,
1417:     GUICONTROL_RANGES,
1417:     GUICONTROL_COLORBUTTON
1417:   };
1417:   GUICONTROLTYPES GetControlType() const { return ControlType; }
1417: 
1417:   enum GUIVISIBLE { HIDDEN = 0, DELAYED, VISIBLE };
1417: 
1417:   enum GUISCROLLVALUE { FOCUS = 0, NEVER, ALWAYS };
1417: 
1417: 
1417: 
1417: 
1417: protected:
1417: 
1417: 
1417: 
1417: 
1417:   virtual CPoint GetPosition() const { return CPoint(GetXPosition(), GetYPosition()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool OnMouseOver(const CPoint &point);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool CanFocusFromPoint(const CPoint &point) const;
1417: 
1417:   virtual bool UpdateColors(const CGUIListItem* item);
1417:   virtual bool Animate(unsigned int currentTime);
1417:   virtual bool CheckAnimation(ANIMATION_TYPE animType);
1417:   void UpdateStates(ANIMATION_TYPE type, ANIMATION_PROCESS currentProcess, ANIMATION_STATE currentState);
1417:   bool SendWindowMessage(CGUIMessage &message) const;
1417: 
1417: 
1417:   ActionMap m_actions;
1417: 
1417:   float m_posX;
1417:   float m_posY;
1417:   float m_height;
1417:   float m_width;
1417:   CRect m_hitRect;
1417:   UTILS::COLOR::Color m_hitColor = 0xffffffff;
1417:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_diffuseColor;
1417:   int m_controlID;
1417:   int m_parentID;
1417:   bool m_bHasFocus;
1417:   bool m_bInvalidated;
1417:   bool m_bAllocated;
1417:   bool m_pulseOnSelect;
1417:   GUICONTROLTYPES ControlType;
1417:   GUICONTROLSTATS *m_controlStats;
1417: 
1417:   CGUIControl *m_parentControl;
1417: 
1417: 
1417:   INFO::InfoPtr m_visibleCondition;
1417:   GUIVISIBLE m_visible;
1417:   bool m_visibleFromSkinCondition;
1417:   bool m_forceHidden;
1417:   KODI::GUILIB::GUIINFO::CGUIInfoBool m_allowHiddenFocus;
1417:   bool m_hasProcessed;
1417: 
1417:   INFO::InfoPtr m_enableCondition;
1417:   bool m_enabled;
1417: 
1417:   bool m_pushedUpdates;
1417: 
1417: 
1417:   std::vector<CAnimation> m_animations;
1417:   CPoint m_camera;
1417:   bool m_hasCamera;
1417:   float m_stereo;
1417:   TransformMatrix m_transform;
1417:   TransformMatrix m_cachedTransform;
1417:   bool m_isCulled{true};
1417: 
1417:   static const unsigned int DIRTY_STATE_CONTRame() << ':' << __e.value()); }
1412: 
1412: 
1412: 
1412:   error_condition make_error_condition(errc) noexcept;
1412: # 297 "/usr/include/c++/12/system_error" 3
1412:   class error_condition
1412:   {
1412:   public:
1412:     error_condition() noexcept
1412:     : _M_value(0), _M_cat(&generic_category()) { }
1412: 
1412:     error_condition(int __v, const error_category& __cat) noexcept
1412:     : _M_value(__v), _M_cat(&__cat) { }
1412: 
1412:     template<typename _ErrorConditionEnum, typename = typename
1412:   enable_if<is_error_condition_enum<_ErrorConditionEnum>::value>::type>
1412:       error_condition(_ErrorConditionEnum __e) noexcept
1412:       { *this = make_error_condition(__e); }
1412: 
1412:     void
1412:     assign(int __v, const error_category& __cat) noexcept
1412:     {
1412:       _M_value = __v;
1412:       _M_cat = &__cat;
1412:     }
1412: 
1412: 
1412:     template<typename _ErrorConditionEnum>
1412:       typename enable_if<is_error_condition_enum
1412:     <_ErrorConditionEnum>::value, error_condition&>::type
1412:       operator=(_ErrorConditionEnum __e) noexcept
1412:       { return *this = make_error_condition(__e); }
1412: 
1412:     void
1412:     clear() noexcept
1412:     { assign(0, generic_category()); }
1412: 
1412: 
1412:     int
1412:     value() const noexcept { return _M_value; }
1412: 
1412:     const error_category&
1412:     category() const noexcept { return *_M_cat; }
1412: 
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     string
1412:     message() const
1412:     { return category().message(value()); }
1412: 
1412:     explicit operator bool() const noexcept
1412:     { return _M_value != 0; }
1412: 
1412: 
1412:   private:
1412:     int _M_value;
1412:     const error_category* _M_cat;
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline error_condition
1412:   make_error_condition(errc __e) noexcept
1412:   { return error_condition(static_cast<int>(__e), generic_category()); }
1412: 
1412: 
1412: 
1412: 
1412:   inline bool
1412:   operator==(const error_code& __lhs, const error_code& __rhs) noexcept
1412:   { return (__lhs.category() == __rhs.category()
1412:      && __lhs.value() == __rhs.value()); }
1412: 
1412: 
1412:   inline bool
1412:   operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
1412:   {
1412:     return (__lhs.category().equivalent(__lhs.value(), __rhs)
1412:      || __rhs.category().equivalent(__lhs, __rhs.value()));
1412:   }
1412: 
1412: 
1412:   inline bool
1412:   operator==(const error_condition& __lhs,
1412:       const error_condition& __rhs) noexcept
1412:   {
1412:     return (__lhs.category() == __rhs.category()
1412:      && __lhs.value() == __rhs.value());
1412:   }
1412: # 397 "/usr/include/c++/12/system_error" 3
1412:   inline bool
1412:   operator<(const error_condition& __lhs,
1412:      const error_condition& __rhs) noexcept
1412:   {
1412:     return (__lhs.category() < __rhs.category()
1412:      || (__lhs.category() == __rhs.category()
1412:   && __lhs.value() < __rhs.value()));
1412:   }
1412: 
1412: 
1412:   inline bool
1412:   operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
1412:   {
1412:     return (__rhs.category().equivalent(__rhs.value(), __lhs)
1412:      || __lhs.category().equivalent(__rhs, __lhs.value()));
1412:   }
1412: 
1412: 
1412:   inline bool
1412:   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
1412:   { return !(__lhs == __rhs); }
1412: 
1412: 
1412:   inline bool
1412:   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
1412:   { return !(__lhs == __rhs); }
1412: 
1412: 
1412:   inline bool
1412:   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
1412:   { return !(__lhs == __rhs); }
1412: 
1412: 
1412:   inline bool
1412:   operator!=(const error_condition& __lhs,
1412:       const error_condition& __rhs) noexcept
1412:   { return !(__lhs == __rhs); }
1412: # 446 "/usr/include/c++/12/system_error" 3
1412:   class system_error : public std::runtime_error
1412:   {
1412:   private:
1412:     error_code _M_code;
1412: 
1412:   public:
1412:     system_error(error_code __ec = error_code())
1412:     : runtime_error(__ec.message()), _M_code(__ec) { }
1412: 
1412:     system_error(error_code __ec, const string& __what)
1412:     : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { }
1412: 
1412:     system_error(error_code __ec, const char* __what)
1412:     : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
1412: 
1412:     system_error(int __v, const error_category& __ecat, const char* __what)
1412:     : system_error(error_code(__v, __ecat), __what) { }
1412: 
1412:     system_error(int __v, const error_category& __ecat)
1412:     : runtime_error(error_code(__v, __ecat).message()),
1412:       _M_code(__v, __ecat) { }
1412: 
1412:     system_error(int __v, const error_category& __ecat, const string& __what)
1412:     : runtime_error(__what + ": " + error_code(__v, __ecat).message()),
1412:       _M_code(__v, __ecat) { }
1412: 
1412: 
1412:     system_error (const system_error &) = default;
1412:     system_error &operator= (const system_error &) = default;
1412: 
1412: 
1412:     virtual ~system_error() noexcept;
1412: 
1412:     const error_code&
1412:     code() const noexcept { return _M_code; }
1412:   };
1412: 
1412: 
1412: }
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct hash<error_code>
1412:     : public __hash_base<size_t, error_code>
1412:     {
1412:       size_t
1412:       operator()(const error_code& __e) const noexcept
1412:       {
1412:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1412:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct hash<error_condition>
1412:     : public __hash_base<size_t, error_condition>
1412:     {
1412:       size_t
1412:       operator()(const error_condition& __e) const noexcept
1412:       {
1412:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1412:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 42 "/usr/include/c++/12/mutex" 2 3
1412: # 1 "/usr/include/c++/12/bits/chrono.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/chrono.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/chrono.h" 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/ratio" 1 3
1412: # 33 "/usr/include/c++/12/ratio" 3
1412:        
1412: # 34 "/usr/include/c++/12/ratio" 3
1412: # 42 "/usr/include/c++/12/ratio" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 56 "/usr/include/c++/12/ratio" 3
1412:   template<intmax_t _Pn>
1412:     struct __static_sign
1412:     : integral_constant<intmax_t, (_Pn < 0) ? -1 : 1>
1412:     { };
1412: 
1412:   template<intmax_t _Pn>
1412:     struct __static_abs
1412:     : integral_constant<intmax_t, _Pn * __static_sign<_Pn>::value>
1412:     { };
1412: 
1412:   template<intmax_t _Pn, intmax_t _Qn>
1412:     struct __static_gcd
1412:     : __static_gcd<_Qn, (_Pn % _Qn)>
1412:     { };
1412: 
1412:   template<intmax_t _Pn>
1412:     struct __static_gcd<_Pn, 0>
1412:     : integral_constant<intmax_t, __static_abs<_Pn>::value>
1412:     { };
1412: 
1412:   template<intmax_t _Qn>
1412:     struct __static_gcd<0, _Qn>
1412:     : integral_constant<intmax_t, __static_abs<_Qn>::value>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<intmax_t _Pn, intmax_t _Qn>
1412:     struct __safe_multiply
1412:     {
1412:     private:
1412:       static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1412: 
1412:       static const uintmax_t __a0 = __static_abs<_Pn>::value % __c;
1412:       static const uintmax_t __a1 = __static_abs<_Pn>::value / __c;
1412:       static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
1412:       static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
OL = 1;
1417:   static const unsigned int DIRTY_STATE_CHILD = 2;
1417: 
1417:   unsigned int m_controlDirtyState;
1417:   CRect m_renderRegion;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/IAudioCallback.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/IAudioCallback.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class IAudioCallback
1417: {
1417: public:
1417:   IAudioCallback() = default;
1417:   virtual ~IAudioCallback() = default;
1417:   virtual void OnInitialize(int iChannels, int iSamplesPerSec, int iBitsPerSample) = 0;
1417:   virtual void OnAudioData(const float* pAudioData, unsigned int iAudioDataLength) = 0;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.h" 2
1417: 
1417: # 1 "/usr/include/c++/12/list" 1 3
1417: # 58 "/usr/include/c++/12/list" 3
1417:        
1417: # 59 "/usr/include/c++/12/list" 3
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_list.h" 1 3
1417: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1417: 
1417: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   namespace __detail
1417:   {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     struct _List_node_base
1417:     {
1417:       _List_node_base* _M_next;
1417:       _List_node_base* _M_prev;
1417: 
1417:       static void
1417:       swap(_List_node_base& __x, _List_node_base& __y) noexcept;
1417: 
1417:       void
1417:       _M_transfer(_List_node_base* const __first,
1417:     _List_node_base* const __last) noexcept;
1417: 
1417:       void
1417:       _M_reverse() noexcept;
1417: 
1417:       void
1417:       _M_hook(_List_node_base* const __position) noexcept;
1417: 
1417:       void
1417:       _M_unhook() noexcept;
1417:     };
1417: 
1417: 
1417:     struct _List_node_header : public _List_node_base
1417:     {
1417: 
1417:       std::size_t _M_size;
1417: 
1417: 
1417:       _List_node_header() noexcept
1417:       { _M_init(); }
1417: 
1417: 
1417:       _List_node_header(_List_node_header&& __x) noexcept
1417:       : _List_node_base{ __x._M_next, __x._M_prev }
1417: 
1417:       , _M_size(__x._M_size)
1417: 
1417:       {
1417:  if (__x._M_base()->_M_next == __x._M_base())
1417:    this->_M_next = this->_M_prev = this;
1417:  else
1417:    {
1417:      this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base();
1417:      __x._M_init();
1417:    }
1417:       }
1417: 
1417:       void
1417:       _M_move_nodes(_List_node_header&& __x)
1417:       {
1417:  _List_node_base* const __xnode = __x._M_base();
1417:  if (__xnode->_M_next == __xnode)
1417:    _M_init();
1417:  else
1417:    {
1417:      _List_node_base* const __node = this->_M_base();
1417:      __node->_M_next = __xnode->_M_next;
1417:      __node->_M_prev = __xnode->_M_prev;
1417:      __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node;
1417: 
1417:      _M_size = __x._M_size;
1417: 
1417:      __x._M_init();
1417:    }
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_init() noexcept
1417:       {
1417:  this->_M_next = this->_M_prev = this;
1417: 
1417:  this->_M_size = 0;
1417: 
1417:       }
1417: 
1417:     private:
1417:       _List_node_base* _M_base() { return this; }
1417:     };
1417: 
1417: 
1417:     struct _Scratch_list : _List_node_base
1417:     {
1417:       _Scratch_list() { _M_next = _M_prev = this; }
1417: 
1417:       bool empty() const { return _M_next == this; }
1417: 
1417:       void swap(_List_node_base& __l) { _List_node_base::swap(*this, __l); }
1417: 
1417:       template<typename _Iter, typename _Cmp>
1417:  struct _Ptr_cmp
1417:  {
1417:    _Cmp _M_cmp;
1417: 
1417:    bool
1417:    operator()(__detail::_List_node_base* __lhs,
1417:        __detail::_List_node_base* __rhs)
1417:    { return _M_cmp(*_Iter(__lhs), *_Iter(__rhs)); }
1417:  };
1417: 
1417:       template<typename _Iter>
1417:  struct _Ptr_cmp<_Iter, void>
1417:  {
1417:    bool
1417:    operator()(__detail::_List_node_base* __lhs,
1417:        __detail::_List_node_base* __rhs) const
1417:    { return *_Iter(__lhs) < *_Iter(__rhs); }
1417:  };
1417: 
1417: 
1417:       template<typename _Cmp>
1417:  void
1417:  merge(_List_node_base& __x, _Cmp __comp)
1417:  {
1417:    _List_node_base* __first1 = _M_next;
1417:    _List_node_base* const __last1 = this;
1417:    _List_node_base* __first2 = __x._M_next;
1417:    _List_node_base* const __last2 = std::__addressof(__x);
1417: 
1417:    while (__first1 != __last1 && __first2 != __last2)
1417:      {
1417:        if (__comp(__first2, __first1))
1417:   {
1417:     _List_node_base* __next = __first2->_M_next;
1417:     __first1->_M_transfer(__first2, __next);
1417:     __first2 = __next;
1417:   }
1417:        else
1417:   __first1 = __first1->_M_next;
1417:      }
1417:    if (__first2 != __last2)
1417:      this->_M_transfer(__first2, __last2);
1417:  }
1417: 
1417: 
1417:       void _M_take_one(_List_node_base* __i)
1417:       { this->_M_transfer(__i, __i->_M_next); }
1417: 
1417: 
1417:       void _M_put_all(_List_node_base* __i)
1417:       {
1417:  if (!empty())
1417:    __i->_M_transfer(_M_next, this);
1417:       }
1417:     };
1417: 
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _List_node : public __detail::_List_node_base
1417:     {
1417: 
1417:       __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
1417:       _Tp* _M_valptr() { return _M_storage._M_ptr(); }
1417:       _Tp const* _M_valptr() const { return _M_storage._M_ptr(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _List_iterator
1417:     {
1417:       typedef _List_iterator<_Tp> _Self;
1417:       typedef _List_node<_Tp> _Node;
1417: 
1417:       typedef ptrdiff_t difference_type;
1417:       typedef std::bidirectional_iterator_tag iterator_category;
1417:       typedef _Tp value_type;
1417:       typedef _Tp* pointer;
1417:       typedef _Tp& reference;
1417: 
1417:       _List_iterator() noexcept
1417:       : _M_node() { }
1417: 
1417:       explicit
1417:       _List_iterator(__detail::_List_node_base* __x) noexcept
1417:       : _M_node(__x) { }
1417: 
1417:       _Self
1417:       _M_const_cast() const noexcept
1417:       { return *this; }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       operator*() const noexcept
1417:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1417: 
1417:       [[__nodiscard__]]
1417:       pointer
1417:       operator->() const noexcept
1417:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1417: 
1417:       _Self&
1417:       operator++() noexcept
1417:       {
1417:  _M_node = _M_node->_M_next;
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator++(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _M_node->_M_next;
1417:  return __tmp;
1417:       }
1417: 
1417:       _Self&
1417:       operator--() noexcept
1417:       {
1417:  _M_node = _M_node->_M_prev;
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator--(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _M_node->_M_prev;
1417:  return __tmp;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator==(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node == __y._M_node; }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator!=(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node != __y._M_node; }
1417: 
1417: 
1417: 
1417:       __detail::_List_node_base* _M_node;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct _List_const_iterator
1417:     {
1417:       typedef _List_const_iterator<_Tp> _Self;
1417:       typedef const _List_node<_Tp> _Node;
1417:       typedef _List_iterator<_Tp1412: 
1412:       static_assert(__a1 == 0 || __b1 == 0,
1412:       "overflow in multiplication");
1412:       static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1),
1412:       "overflow in multiplication");
1412:       static_assert(__b0 * __a0 <= 0x7fffffffffffffffLL,
1412:       "overflow in multiplication");
1412:       static_assert((__a0 * __b1 + __b0 * __a1) * __c
1412:       <= 0x7fffffffffffffffLL - __b0 * __a0,
1412:       "overflow in multiplication");
1412: 
1412:     public:
1412:       static const intmax_t value = _Pn * _Qn;
1412:     };
1412: 
1412: 
1412: 
1412:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1412:     struct __big_less
1412:     : integral_constant<bool, (__hi1 < __hi2
1412:           || (__hi1 == __hi2 && __lo1 < __lo2))>
1412:     { };
1412: 
1412:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1412:     struct __big_add
1412:     {
1412:       static constexpr uintmax_t __lo = __lo1 + __lo2;
1412:       static constexpr uintmax_t __hi = (__hi1 + __hi2 +
1412:       (__lo1 + __lo2 < __lo1));
1412:     };
1412: 
1412: 
1412:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1412:     struct __big_sub
1412:     {
1412:       static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value,
1412:       "Internal library error");
1412:       static constexpr uintmax_t __lo = __lo1 - __lo2;
1412:       static constexpr uintmax_t __hi = (__hi1 - __hi2 -
1412:       (__lo1 < __lo2));
1412:     };
1412: 
1412: 
1412:   template<uintmax_t __x, uintmax_t __y>
1412:     struct __big_mul
1412:     {
1412:     private:
1412:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1412:       static constexpr uintmax_t __x0 = __x % __c;
1412:       static constexpr uintmax_t __x1 = __x / __c;
1412:       static constexpr uintmax_t __y0 = __y % __c;
1412:       static constexpr uintmax_t __y1 = __y / __c;
1412:       static constexpr uintmax_t __x0y0 = __x0 * __y0;
1412:       static constexpr uintmax_t __x0y1 = __x0 * __y1;
1412:       static constexpr uintmax_t __x1y0 = __x1 * __y0;
1412:       static constexpr uintmax_t __x1y1 = __x1 * __y1;
1412:       static constexpr uintmax_t __mix = __x0y1 + __x1y0;
1412:       static constexpr uintmax_t __mix_lo = __mix * __c;
1412:       static constexpr uintmax_t __mix_hi
1412:       = __mix / __c + ((__mix < __x0y1) ? __c : 0);
1412:       typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res;
1412:     public:
1412:       static constexpr uintmax_t __hi = _Res::__hi;
1412:       static constexpr uintmax_t __lo = _Res::__lo;
1412:     };
1412: 
1412: 
1412: 
1412:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1412:     struct __big_div_impl
1412:     {
1412:     private:
1412:       static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)),
1412:       "Internal library error");
1412:       static_assert(__n1 < __d, "Internal library error");
1412:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1412:       static constexpr uintmax_t __d1 = __d / __c;
1412:       static constexpr uintmax_t __d0 = __d % __c;
1412: 
1412:       static constexpr uintmax_t __q1x = __n1 / __d1;
1412:       static constexpr uintmax_t __r1x = __n1 % __d1;
1412:       static constexpr uintmax_t __m = __q1x * __d0;
1412:       static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c;
1412:       static constexpr uintmax_t __r1z = __r1y + __d;
1412:       static constexpr uintmax_t __r1
1412:       = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m))
1412:   ? (__r1z + __d) : __r1z : __r1y) - __m;
1412:       static constexpr uintmax_t __q1
1412:       = __q1x - ((__r1y < __m)
1412:    ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0);
1412:       static constexpr uintmax_t __q0x = __r1 / __d1;
1412:       static constexpr uintmax_t __r0x = __r1 % __d1;
1412:       static constexpr uintmax_t __n = __q0x * __d0;
1412:       static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c;
1412:       static constexpr uintmax_t __r0z = __r0y + __d;
1412:       static constexpr uintmax_t __r0
1412:       = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n))
1412:   ? (__r0z + __d) : __r0z : __r0y) - __n;
1412:       static constexpr uintmax_t __q0
1412:       = __q0x - ((__r0y < __n) ? ((__r0z >= __d)
1412:       && (__r0z < __n)) ? 2 : 1 : 0);
1412: 
1412:     public:
1412:       static constexpr uintmax_t __quot = __q1 * __c + __q0;
1412:       static constexpr uintmax_t __rem = __r0;
1412: 
1412:     private:
1412:       typedef __big_mul<__quot, __d> _Prod;
1412:       typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum;
1412:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1412:       "Internal library error");
1412:   };
1412: 
1412:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1412:     struct __big_div
1412:     {
1412:     private:
1412:       static_assert(__d != 0, "Internal library error");
1412:       static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
1412:       "This library calls __builtin_clzll on uintmax_t, which "
1412:       "is unsafe on your platform. Please complain to "
1412:       "http://gcc.gnu.org/bugzilla/");
1412:       static constexpr int __shift = __builtin_clzll(__d);
1412:       static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
1412:       static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;
1412:       static constexpr uintmax_t __c1 = uintmax_t(1) << __shift;
1412:       static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift;
1412:       static constexpr uintmax_t __new_d = __d * __c1;
1412:       static constexpr uintmax_t __new_n0 = __n0 * __c1;
1412:       static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1;
1412:       static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0;
1412:       static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top;
1412:       typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res;
1412: 
1412:     public:
1412:       static constexpr uintmax_t __quot_hi = __n1 / __d;
1412:       static constexpr uintmax_t __quot_lo = _Res::__quot;
1412:       static constexpr uintmax_t __rem = _Res::__rem / __c1;
1412: 
1412:     private:
1412:       typedef __big_mul<__quot_lo, __d> _P0;
1412:       typedef __big_mul<__quot_hi, __d> _P1;
1412:       typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum;
1412: 
1412:       static_assert(_P1::__hi == 0, "Internal library error");
1412:       static_assert(_Sum::__hi >= _P0::__hi, "Internal library error");
1412: 
1412:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1412:       "Internal library error");
1412:       static_assert(__rem < __d, "Internal library error");
1412:     };
1412: # 265 "/usr/include/c++/12/ratio" 3
1412:   template<intmax_t _Num, intmax_t _Den = 1>
1412:     struct ratio
1412:     {
1412:       static_assert(_Den != 0, "denominator cannot be zero");
1412:       static_assert(_Num >= -0x7fffffffffffffffLL && _Den >= -0x7fffffffffffffffLL,
1412:       "out of range");
1412: 
1412: 
1412:       static constexpr intmax_t num =
1412:         _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value;
1412: 
1412:       static constexpr intmax_t den =
1412:         __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value;
1412: 
1412:       typedef ratio<num, den> type;
1412:     };
1412: # 292 "/usr/include/c++/12/ratio" 3
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_multiply
1412:     {
1412:     private:
1412:       static const intmax_t __gcd1 =
1412:         __static_gcd<_R1::num, _R2::den>::value;
1412:       static const intmax_t __gcd2 =
1412:         __static_gcd<_R2::num, _R1::den>::value;
1412: 
1412:     public:
1412:       typedef ratio<
1412:         __safe_multiply<(_R1::num / __gcd1),
1412:                         (_R2::num / __gcd2)>::value,
1412:         __safe_multiply<(_R1::den / __gcd2),
1412:                         (_R2::den / __gcd1)>::value> type;
1412: 
1412:       static constexpr intmax_t num = type::num;
1412:      > iterator;
1417: 
1417:       typedef ptrdiff_t difference_type;
1417:       typedef std::bidirectional_iterator_tag iterator_category;
1417:       typedef _Tp value_type;
1417:       typedef const _Tp* pointer;
1417:       typedef const _Tp& reference;
1417: 
1417:       _List_const_iterator() noexcept
1417:       : _M_node() { }
1417: 
1417:       explicit
1417:       _List_const_iterator(const __detail::_List_node_base* __x)
1417:       noexcept
1417:       : _M_node(__x) { }
1417: 
1417:       _List_const_iterator(const iterator& __x) noexcept
1417:       : _M_node(__x._M_node) { }
1417: 
1417:       iterator
1417:       _M_const_cast() const noexcept
1417:       { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       operator*() const noexcept
1417:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1417: 
1417:       [[__nodiscard__]]
1417:       pointer
1417:       operator->() const noexcept
1417:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1417: 
1417:       _Self&
1417:       operator++() noexcept
1417:       {
1417:  _M_node = _M_node->_M_next;
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator++(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _M_node->_M_next;
1417:  return __tmp;
1417:       }
1417: 
1417:       _Self&
1417:       operator--() noexcept
1417:       {
1417:  _M_node = _M_node->_M_prev;
1417:  return *this;
1417:       }
1417: 
1417:       _Self
1417:       operator--(int) noexcept
1417:       {
1417:  _Self __tmp = *this;
1417:  _M_node = _M_node->_M_prev;
1417:  return __tmp;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator==(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node == __y._M_node; }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator!=(const _Self& __x, const _Self& __y) noexcept
1417:       { return __x._M_node != __y._M_node; }
1417: 
1417: 
1417: 
1417:       const __detail::_List_node_base* _M_node;
1417:     };
1417: 
1417: namespace __cxx11 {
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     class _List_base
1417:     {
1417:     protected:
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_Tp>::other _Tp_alloc_type;
1417:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits;
1417:       typedef typename _Tp_alloc_traits::template
1417:  rebind<_List_node<_Tp> >::other _Node_alloc_type;
1417:       typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits;
1417: 
1417: 
1417:       static size_t
1417:       _S_distance(const __detail::_List_node_base* __first,
1417:     const __detail::_List_node_base* __last)
1417:       {
1417:  size_t __n = 0;
1417:  while (__first != __last)
1417:    {
1417:      __first = __first->_M_next;
1417:      ++__n;
1417:    }
1417:  return __n;
1417:       }
1417: 
1417: 
1417:       struct _List_impl
1417:       : public _Node_alloc_type
1417:       {
1417:  __detail::_List_node_header _M_node;
1417: 
1417:  _List_impl() noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value)
1417: 
1417:  : _Node_alloc_type()
1417:  { }
1417: 
1417:  _List_impl(const _Node_alloc_type& __a) noexcept
1417:  : _Node_alloc_type(__a)
1417:  { }
1417: 
1417: 
1417:  _List_impl(_List_impl&&) = default;
1417: 
1417:  _List_impl(_Node_alloc_type&& __a, _List_impl&& __x)
1417:  : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node))
1417:  { }
1417: 
1417:  _List_impl(_Node_alloc_type&& __a) noexcept
1417:  : _Node_alloc_type(std::move(__a))
1417:  { }
1417: 
1417:       };
1417: 
1417:       _List_impl _M_impl;
1417: 
1417: 
1417:       size_t _M_get_size() const { return _M_impl._M_node._M_size; }
1417: 
1417:       void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; }
1417: 
1417:       void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; }
1417: 
1417:       void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; }
1417: 
1417: 
1417:       size_t
1417:       _M_distance(const __detail::_List_node_base* __first,
1417:     const __detail::_List_node_base* __last) const
1417:       { return _S_distance(__first, __last); }
1417: 
1417: 
1417:       size_t _M_node_count() const { return _M_get_size(); }
1417: # 516 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       typename _Node_alloc_traits::pointer
1417:       _M_get_node()
1417:       { return _Node_alloc_traits::allocate(_M_impl, 1); }
1417: 
1417:       void
1417:       _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept
1417:       { _Node_alloc_traits::deallocate(_M_impl, __p, 1); }
1417: 
1417:   public:
1417:       typedef _Alloc allocator_type;
1417: 
1417:       _Node_alloc_type&
1417:       _M_get_Node_allocator() noexcept
1417:       { return _M_impl; }
1417: 
1417:       const _Node_alloc_type&
1417:       _M_get_Node_allocator() const noexcept
1417:       { return _M_impl; }
1417: 
1417: 
1417:       _List_base() = default;
1417: 
1417: 
1417: 
1417: 
1417:       _List_base(const _Node_alloc_type& __a) noexcept
1417:       : _M_impl(__a)
1417:       { }
1417: 
1417: 
1417:       _List_base(_List_base&&) = default;
1417: 
1417: 
1417:       _List_base(_List_base&& __x, _Node_alloc_type&& __a)
1417:       : _M_impl(std::move(__a))
1417:       {
1417:  if (__x._M_get_Node_allocator() == _M_get_Node_allocator())
1417:    _M_move_nodes(std::move(__x));
1417: 
1417:       }
1417: 
1417: 
1417: 
1417:       _List_base(_Node_alloc_type&& __a, _List_base&& __x)
1417:       : _M_impl(std::move(__a), std::move(__x._M_impl))
1417:       { }
1417: 
1417: 
1417:       _List_base(_Node_alloc_type&& __a)
1417:       : _M_impl(std::move(__a))
1417:       { }
1417: 
1417:       void
1417:       _M_move_nodes(_List_base&& __x)
1417:       { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); }
1417: 
1417: 
1417: 
1417:       ~_List_base() noexcept
1417:       { _M_clear(); }
1417: 
1417:       void
1417:       _M_clear() noexcept;
1417: 
1417:       void
1417:       _M_init() noexcept
1417:       { this->_M_impl._M_node._M_init(); }
1417:     };
1417: # 631 "/usr/include/c++/12/bits/stl_list.h" 3
1417:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1417:     class list : protected _List_base<_Tp, _Alloc>
1417:     {
1417: # 644 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1417:    "std::list must have a non-const, non-volatile value_type");
1417: 
1417:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1417:    "std::list must have the same value_type as its allocator");
1417: 
1417: 
1417: 
1417:       typedef _List_base<_Tp, _Alloc> _Base;
1417:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1417:       typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits;
1417:       typedef typename _Base::_Node_alloc_type _Node_alloc_type;
1417:       typedef typename _Base::_Node_alloc_traits _Node_alloc_traits;
1417: 
1417:     public:
1417:       typedef _Tp value_type;
1417:       typedef typename _Tp_alloc_traits::pointer pointer;
1417:       typedef typename _Tp_alloc_traits::const_pointer const_pointer;
1417:       typedef typename _Tp_alloc_traits::reference reference;
1417:       typedef typename _Tp_alloc_traits::const_reference const_reference;
1417:       typedef _List_iterator<_Tp> iterator;
1417:       typedef _List_const_iterator<_Tp> const_iterator;
1417:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1417:       typedef std::reverse_iterator<iterator> reverse_iterator;
1417:       typedef size_t size_type;
1417:       typedef ptrdiff_t difference_type;
1417:       typedef _Alloc allocator_type;
1417: 
1417:     protected:
1417: 
1417: 
1417:       typedef _List_node<_Tp> _Node;
1417: 
1417:       using _Base::_M_impl;
1417:       using _Base::_M_put_node;
1417:       using _Base::_M_get_node;
1417:       using _Base::_M_get_Node_allocator;
1 static constexpr intmax_t den = type::den;
1412:     };
1412: # 323 "/usr/include/c++/12/ratio" 3
1412:   template<typename _R1, typename _R2>
1412:     using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type;
1412: 
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_divide
1412:     {
1412:       static_assert(_R2::num != 0, "division by 0");
1412: 
1412:       typedef typename __ratio_multiply<
1412:         _R1,
1412:         ratio<_R2::den, _R2::num>>::type type;
1412: 
1412:       static constexpr intmax_t num = type::num;
1412:       static constexpr intmax_t den = type::den;
1412:     };
1412: # 352 "/usr/include/c++/12/ratio" 3
1412:   template<typename _R1, typename _R2>
1412:     using ratio_divide = typename __ratio_divide<_R1, _R2>::type;
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct ratio_equal
1412:     : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
1412:     { };
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct ratio_not_equal
1412:     : integral_constant<bool, !ratio_equal<_R1, _R2>::value>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _R1, typename _R2,
1412:            typename _Left = __big_mul<_R1::num,_R2::den>,
1412:            typename _Right = __big_mul<_R2::num,_R1::den> >
1412:     struct __ratio_less_impl_1
1412:     : integral_constant<bool, __big_less<_Left::__hi, _Left::__lo,
1412:            _Right::__hi, _Right::__lo>::value>
1412:     { };
1412: 
1412:   template<typename _R1, typename _R2,
1412:     bool = (_R1::num == 0 || _R2::num == 0
1412:      || (__static_sign<_R1::num>::value
1412:          != __static_sign<_R2::num>::value)),
1412:     bool = (__static_sign<_R1::num>::value == -1
1412:      && __static_sign<_R2::num>::value == -1)>
1412:     struct __ratio_less_impl
1412:     : __ratio_less_impl_1<_R1, _R2>::type
1412:     { };
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_less_impl<_R1, _R2, true, false>
1412:     : integral_constant<bool, _R1::num < _R2::num>
1412:     { };
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_less_impl<_R1, _R2, false, true>
1412:     : __ratio_less_impl_1<ratio<-_R2::num, _R2::den>,
1412:            ratio<-_R1::num, _R1::den> >::type
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct ratio_less
1412:     : __ratio_less_impl<_R1, _R2>::type
1412:     { };
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct ratio_less_equal
1412:     : integral_constant<bool, !ratio_less<_R2, _R1>::value>
1412:     { };
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct ratio_greater
1412:     : integral_constant<bool, ratio_less<_R2, _R1>::value>
1412:     { };
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct ratio_greater_equal
1412:     : integral_constant<bool, !ratio_less<_R1, _R2>::value>
1412:     { };
1412: 
1412: 
1412:   template <typename _R1, typename _R2>
1412:     inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value;
1412:   template <typename _R1, typename _R2>
1412:     inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value;
1412:   template <typename _R1, typename _R2>
1412:     inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value;
1412:   template <typename _R1, typename _R2>
1412:     inline constexpr bool ratio_less_equal_v =
1412:       ratio_less_equal<_R1, _R2>::value;
1412:   template <typename _R1, typename _R2>
1412:     inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value;
1412:   template <typename _R1, typename _R2>
1412:     inline constexpr bool ratio_greater_equal_v
1412:     = ratio_greater_equal<_R1, _R2>::value;
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _R1, typename _R2,
1412:       bool = (_R1::num >= 0),
1412:       bool = (_R2::num >= 0),
1412:       bool = ratio_less<ratio<__static_abs<_R1::num>::value, _R1::den>,
1412:         ratio<__static_abs<_R2::num>::value, _R2::den> >::value>
1412:     struct __ratio_add_impl
1412:     {
1412:     private:
1412:       typedef typename __ratio_add_impl<
1412:         ratio<-_R1::num, _R1::den>,
1412:         ratio<-_R2::num, _R2::den> >::type __t;
1412:     public:
1412:       typedef ratio<-__t::num, __t::den> type;
1412:     };
1412: 
1412: 
1412:   template<typename _R1, typename _R2, bool __b>
1412:     struct __ratio_add_impl<_R1, _R2, true, true, __b>
1412:     {
1412:     private:
1412:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1412:       static constexpr uintmax_t __d2 = _R2::den / __g;
1412:       typedef __big_mul<_R1::den, __d2> __d;
1412:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1412:       typedef __big_mul<_R2::num, _R1::den / __g> __y;
1412:       typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1412:       static_assert(__n::__hi >= __x::__hi, "Internal library error");
1412:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
1412:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1412:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1412:       static_assert(__n_final::__rem == 0, "Internal library error");
1412:       static_assert(__n_final::__quot_hi == 0 &&
1412:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1412:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1412:       static_assert(__d_final::__hi == 0 &&
1412:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1412:     public:
1412:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1412:     };
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_add_impl<_R1, _R2, false, true, true>
1412:     : __ratio_add_impl<_R2, _R1>
1412:     { };
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_add_impl<_R1, _R2, true, false, false>
1412:     {
1412:     private:
1412:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1412:       static constexpr uintmax_t __d2 = _R2::den / __g;
1412:       typedef __big_mul<_R1::den, __d2> __d;
1412:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1412:       typedef __big_mul<-_R2::num, _R1::den / __g> __y;
1412:       typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1412:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
1412:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1412:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1412:       static_assert(__n_final::__rem == 0, "Internal library error");
1412:       static_assert(__n_final::__quot_hi == 0 &&
1412:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1412:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1412:       static_assert(__d_final::__hi == 0 &&
1412:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1412:     public:
1412:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1412:     };
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_add
1412:     {
1412:       typedef typename __ratio_add_impl<_R1, _R2>::type type;
1412:       static constexpr intmax_t num = type::num;
1412:       static constexpr intmax_t den = type::den;
1412:     };
1412: # 532 "/usr/include/c++/12/ratio" 3
1412:   template<typename _R1, typename _R2>
1412:     using ratio_add = typename __ratio_add<_R1, _R2>::type;
1412: 
1412: 
1412: 
1412:   template<typename _R1, typename _R2>
1412:     struct __ratio_subtract
1412:     {
1412:       typedef typename __ratio_add<
1412:         _R1,
1412:         ratio<-_R2::num, _R2::den>>::type type;
1412: 
1412:       static constexpr intmax_t num = type::num;
1412:       static constexpr intmax_t den = type::den;
1412:     };
1412: # 559 "/usr/include/c++/12/ratio" 3
1412:   template<typename _R1, typename _R2>
1412:     using ratio_subtract = typen417: # 706 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename... _Args>
1417:  _Node*
1417:  _M_create_node(_Args&&... __args)
1417:  {
1417:    auto __p = this->_M_get_node();
1417:    auto& __alloc = _M_get_Node_allocator();
1417:    __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p};
1417:    _Node_alloc_traits::construct(__alloc, __p->_M_valptr(),
1417:      std::forward<_Args>(__args)...);
1417:    __guard = nullptr;
1417:    return __p;
1417:  }
1417: 
1417: 
1417: 
1417:       static size_t
1417:       _S_distance(const_iterator __first, const_iterator __last)
1417:       { return std::distance(__first, __last); }
1417: 
1417: 
1417:       size_t
1417:       _M_node_count() const
1417:       { return this->_M_get_size(); }
1417: # 741 "/usr/include/c++/12/bits/stl_list.h" 3
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       list() = default;
1417: # 758 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       explicit
1417:       list(const allocator_type& __a) noexcept
1417:       : _Base(_Node_alloc_type(__a)) { }
1417: # 771 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       explicit
1417:       list(size_type __n, const allocator_type& __a = allocator_type())
1417:       : _Base(_Node_alloc_type(__a))
1417:       { _M_default_initialize(__n); }
1417: # 784 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       list(size_type __n, const value_type& __value,
1417:     const allocator_type& __a = allocator_type())
1417:       : _Base(_Node_alloc_type(__a))
1417:       { _M_fill_initialize(__n, __value); }
1417: # 811 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       list(const list& __x)
1417:       : _Base(_Node_alloc_traits::
1417:        _S_select_on_copy(__x._M_get_Node_allocator()))
1417:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1417: # 824 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       list(list&&) = default;
1417: # 834 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       list(initializer_list<value_type> __l,
1417:     const allocator_type& __a = allocator_type())
1417:       : _Base(_Node_alloc_type(__a))
1417:       { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); }
1417: 
1417:       list(const list& __x, const __type_identity_t<allocator_type>& __a)
1417:       : _Base(_Node_alloc_type(__a))
1417:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1417: 
1417:     private:
1417:       list(list&& __x, const allocator_type& __a, true_type) noexcept
1417:       : _Base(_Node_alloc_type(__a), std::move(__x))
1417:       { }
1417: 
1417:       list(list&& __x, const allocator_type& __a, false_type)
1417:       : _Base(_Node_alloc_type(__a))
1417:       {
1417:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1417:    this->_M_move_nodes(std::move(__x));
1417:  else
1417:    insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()),
1417:      std::__make_move_if_noexcept_iterator(__x.end()));
1417:       }
1417: 
1417:     public:
1417:       list(list&& __x, const __type_identity_t<allocator_type>& __a)
1417:       noexcept(_Node_alloc_traits::_S_always_equal())
1417:       : list(std::move(__x), __a,
1417:       typename _Node_alloc_traits::is_always_equal{})
1417:       { }
1417: # 877 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  list(_InputIterator __first, _InputIterator __last,
1417:       const allocator_type& __a = allocator_type())
1417:  : _Base(_Node_alloc_type(__a))
1417:  { _M_initialize_dispatch(__first, __last, __false_type()); }
1417: # 903 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       ~list() = default;
1417: # 914 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       list&
1417:       operator=(const list& __x);
1417: # 928 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       list&
1417:       operator=(list&& __x)
1417:       noexcept(_Node_alloc_traits::_S_nothrow_move())
1417:       {
1417:  constexpr bool __move_storage =
1417:    _Node_alloc_traits::_S_propagate_on_move_assign()
1417:    || _Node_alloc_traits::_S_always_equal();
1417:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1417:  return *this;
1417:       }
1417: # 946 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       list&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  this->assign(__l.begin(), __l.end());
1417:  return *this;
1417:       }
1417: # 964 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       assign(size_type __n, const value_type& __val)
1417:       { _M_fill_assign(__n, __val); }
1417: # 981 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  void
1417:  assign(_InputIterator __first, _InputIterator __last)
1417:  { _M_assign_dispatch(__first, __last, __false_type()); }
1417: # 1005 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       assign(initializer_list<value_type> __l)
1417:       { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); }
1417: 
1417: 
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_Base::_M_get_Node_allocator()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       begin() noexcept
1417:       { return iterator(this->_M_impl._M_node._M_next); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return const_iterator(this->_M_impl._M_node._M_next); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       iterator
1417:       end() noexcept
1417:       { return iterator(&this->_M_impl._M_node); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       end() const noexcept
1417:       { return const_iterator(&this->_M_impl._M_node); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rbegin() noexcept
1417:       { return reverse_iterator(end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reverse_iterator
1417:       rend() noexcept
1417:       { return reverse_iterator(begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       rend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return const_iterator(this->_M_impl._M_node._M_next); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return const_iterator(&this->_M_impl._M_node); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crbegin() const noexcept
1417:       { return const_reverse_iterator(end()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reverse_iterator
1417:       crend() const noexcept
1417:       { return const_reverse_iterator(begin()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_node_count(); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _Node_alloc_traits::max_size(_M_getame __ratio_subtract<_R1, _R2>::type;
1412: 
1412: 
1412:   typedef ratio<1, 1000000000000000000> atto;
1412:   typedef ratio<1, 1000000000000000> femto;
1412:   typedef ratio<1, 1000000000000> pico;
1412:   typedef ratio<1, 1000000000> nano;
1412:   typedef ratio<1, 1000000> micro;
1412:   typedef ratio<1, 1000> milli;
1412:   typedef ratio<1, 100> centi;
1412:   typedef ratio<1, 10> deci;
1412:   typedef ratio< 10, 1> deca;
1412:   typedef ratio< 100, 1> hecto;
1412:   typedef ratio< 1000, 1> kilo;
1412:   typedef ratio< 1000000, 1> mega;
1412:   typedef ratio< 1000000000, 1> giga;
1412:   typedef ratio< 1000000000000, 1> tera;
1412:   typedef ratio< 1000000000000000, 1> peta;
1412:   typedef ratio< 1000000000000000000, 1> exa;
1412: 
1412: 
1412: 
1412: }
1412: # 38 "/usr/include/c++/12/bits/chrono.h" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/limits" 1 3
1412: # 40 "/usr/include/c++/12/limits" 3
1412:        
1412: # 41 "/usr/include/c++/12/limits" 3
1412: # 158 "/usr/include/c++/12/limits" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   enum float_round_style
1412:   {
1412:     round_indeterminate = -1,
1412:     round_toward_zero = 0,
1412:     round_to_nearest = 1,
1412:     round_toward_infinity = 2,
1412:     round_toward_neg_infinity = 3
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   enum float_denorm_style
1412:   {
1412: 
1412:     denorm_indeterminate = -1,
1412: 
1412:     denorm_absent = 0,
1412: 
1412:     denorm_present = 1
1412:   };
1412: # 202 "/usr/include/c++/12/limits" 3
1412:   struct __numeric_limits_base
1412:   {
1412: 
1412: 
1412:     static constexpr bool is_specialized = false;
1412: 
1412: 
1412: 
1412: 
1412:     static constexpr int digits = 0;
1412: 
1412: 
1412:     static constexpr int digits10 = 0;
1412: 
1412: 
1412: 
1412: 
1412:     static constexpr int max_digits10 = 0;
1412: 
1412: 
1412: 
1412:     static constexpr bool is_signed = false;
1412: 
1412: 
1412:     static constexpr bool is_integer = false;
1412: 
1412: 
1412: 
1412: 
1412:     static constexpr bool is_exact = false;
1412: 
1412: 
1412: 
1412:     static constexpr int radix = 0;
1412: 
1412: 
1412: 
1412:     static constexpr int min_exponent = 0;
1412: 
1412: 
1412: 
1412:     static constexpr int min_exponent10 = 0;
1412: 
1412: 
1412: 
1412: 
1412:     static constexpr int max_exponent = 0;
1412: 
1412: 
1412: 
1412:     static constexpr int max_exponent10 = 0;
1412: 
1412: 
1412:     static constexpr bool has_infinity = false;
1412: 
1412: 
1412: 
1412:     static constexpr bool has_quiet_NaN = false;
1412: 
1412: 
1412: 
1412:     static constexpr bool has_signaling_NaN = false;
1412: 
1412: 
1412:     static constexpr float_denorm_style has_denorm = denorm_absent;
1412: 
1412: 
1412: 
1412:     static constexpr bool has_denorm_loss = false;
1412: 
1412: 
1412: 
1412:     static constexpr bool is_iec559 = false;
1412: 
1412: 
1412: 
1412: 
1412:     static constexpr bool is_bounded = false;
1412: # 288 "/usr/include/c++/12/limits" 3
1412:     static constexpr bool is_modulo = false;
1412: 
1412: 
1412:     static constexpr bool traps = false;
1412: 
1412: 
1412:     static constexpr bool tinyness_before = false;
1412: 
1412: 
1412: 
1412: 
1412:     static constexpr float_round_style round_style =
1412:           round_toward_zero;
1412:   };
1412: # 311 "/usr/include/c++/12/limits" 3
1412:   template<typename _Tp>
1412:     struct numeric_limits : public __numeric_limits_base
1412:     {
1412: 
1412: 
1412:       static constexpr _Tp
1412:       min() noexcept { return _Tp(); }
1412: 
1412: 
1412:       static constexpr _Tp
1412:       max() noexcept { return _Tp(); }
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr _Tp
1412:       lowest() noexcept { return _Tp(); }
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr _Tp
1412:       epsilon() noexcept { return _Tp(); }
1412: 
1412: 
1412:       static constexpr _Tp
1412:       round_error() noexcept { return _Tp(); }
1412: 
1412: 
1412:       static constexpr _Tp
1412:       infinity() noexcept { return _Tp(); }
1412: 
1412: 
1412: 
1412:       static constexpr _Tp
1412:       quiet_NaN() noexcept { return _Tp(); }
1412: 
1412: 
1412: 
1412:       static constexpr _Tp
1412:       signaling_NaN() noexcept { return _Tp(); }
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr _Tp
1412:       denorm_min() noexcept { return _Tp(); }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct numeric_limits<const _Tp>
1412:     : public numeric_limits<_Tp> { };
1412: 
1412:   template<typename _Tp>
1412:     struct numeric_limits<volatile _Tp>
1412:     : public numeric_limits<_Tp> { };
1412: 
1412:   template<typename _Tp>
1412:     struct numeric_limits<const volatile _Tp>
1412:     : public numeric_limits<_Tp> { };
1412: # 383 "/usr/include/c++/12/limits" 3
1412:   template<>
1412:     struct numeric_limits<bool>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr bool
1412:       min() noexcept { return false; }
1412: 
1412:       static constexpr bool
1412:       max() noexcept { return true; }
1412: 
1412: 
1412:       static constexpr bool
1412:       lowest() noexcept { return min(); }
1412: 
1412:       static constexpr int digits = 1;
1412:       static constexpr int digits10 = 0;
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = false;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr bool
1412:       epsilon() noexcept { return false; }
1412: 
1412:       static constexpr bool
1412:       round_error() noexcept { return false; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr bool
1412:       infinity() noexcept { return false; }
1412: 
1412:       static constexpr bool
1412:       quiet_NaN() noexcept { return false; }
1412: 
1412:       static constexpr bool
1412:       signaling_NaN() noexcept { return false; }
1412: 
1412:       static constexpr bool
1412:       denorm_min() noexcept { return false; }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<char>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr char
1412:       min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); }
1412: 
1412:       static constexpr char
1412:       max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); }
1412: 
1412: 
1412:       static constexpr char
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
1412:       static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = ((char)(-1) < 0_Node_allocator()); }
1417: # 1168 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       resize(size_type __new_size);
1417: # 1181 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       resize(size_type __new_size, const value_type& __x);
1417: # 1203 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       [[__nodiscard__]]
1417:       reference
1417:       front() noexcept
1417:       { return *begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       front() const noexcept
1417:       { return *begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       back() noexcept
1417:       {
1417:  iterator __tmp = end();
1417:  --__tmp;
1417:  return *__tmp;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       back() const noexcept
1417:       {
1417:  const_iterator __tmp = end();
1417:  --__tmp;
1417:  return *__tmp;
1417:       }
1417: # 1254 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       push_front(const value_type& __x)
1417:       { this->_M_insert(begin(), __x); }
1417: 
1417: 
1417:       void
1417:       push_front(value_type&& __x)
1417:       { this->_M_insert(begin(), std::move(__x)); }
1417: 
1417:       template<typename... _Args>
1417: 
1417:  reference
1417: 
1417: 
1417: 
1417:  emplace_front(_Args&&... __args)
1417:  {
1417:    this->_M_insert(begin(), std::forward<_Args>(__args)...);
1417: 
1417:    return front();
1417: 
1417:  }
1417: # 1290 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       pop_front() noexcept
1417:       { this->_M_erase(begin()); }
1417: # 1304 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       push_back(const value_type& __x)
1417:       { this->_M_insert(end(), __x); }
1417: 
1417: 
1417:       void
1417:       push_back(value_type&& __x)
1417:       { this->_M_insert(end(), std::move(__x)); }
1417: 
1417:       template<typename... _Args>
1417: 
1417:  reference
1417: 
1417: 
1417: 
1417:  emplace_back(_Args&&... __args)
1417:  {
1417:    this->_M_insert(end(), std::forward<_Args>(__args)...);
1417: 
1417:  return back();
1417: 
1417:  }
1417: # 1339 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       pop_back() noexcept
1417:       { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
1417: # 1356 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace(const_iterator __position, _Args&&... __args);
1417: # 1371 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       iterator
1417:       insert(const_iterator __position, const value_type& __x);
1417: # 1401 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       iterator
1417:       insert(const_iterator __position, value_type&& __x)
1417:       { return emplace(__position, std::move(__x)); }
1417: # 1420 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       iterator
1417:       insert(const_iterator __p, initializer_list<value_type> __l)
1417:       { return this->insert(__p, __l.begin(), __l.end()); }
1417: # 1440 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       iterator
1417:       insert(const_iterator __position, size_type __n, const value_type& __x);
1417: # 1479 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  iterator
1417:  insert(const_iterator __position, _InputIterator __first,
1417:         _InputIterator __last);
1417: # 1523 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       iterator
1417: 
1417:       erase(const_iterator __position) noexcept;
1417: # 1548 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       iterator
1417: 
1417:       erase(const_iterator __first, const_iterator __last) noexcept
1417: 
1417: 
1417: 
1417:       {
1417:  while (__first != __last)
1417:    __first = erase(__first);
1417:  return __last._M_const_cast();
1417:       }
1417: # 1571 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       swap(list& __x) noexcept
1417:       {
1417:  __detail::_List_node_base::swap(this->_M_impl._M_node,
1417:      __x._M_impl._M_node);
1417: 
1417:  size_t __xsize = __x._M_get_size();
1417:  __x._M_set_size(this->_M_get_size());
1417:  this->_M_set_size(__xsize);
1417: 
1417:  _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(),
1417:            __x._M_get_Node_allocator());
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       clear() noexcept
1417:       {
1417:  _Base::_M_clear();
1417:  _Base::_M_init();
1417:       }
1417: # 1610 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417: 
1417:       splice(const_iterator __position, list&& __x) noexcept
1417: 
1417: 
1417: 
1417:       {
1417:  if (!__x.empty())
1417:    {
1417:      _M_check_equal_allocators(__x);
1417: 
1417:      this->_M_transfer(__position._M_const_cast(),
1417:          __x.begin(), __x.end());
1417: 
1417:      this->_M_inc_size(__x._M_get_size());
1417:      __x._M_set_size(0);
1417:    }
1417:       }
1417: 
1417: 
1417:       void
1417:       splice(const_iterator __position, list& __x) noexcept
1417:       { splice(__position, std::move(__x)); }
1417: # 1646 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       splice(const_iterator __position, list&& __x, const_iterator __i) noexcept
1417: # 1661 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       {
1417:  iterator __j = __i._M_const_cast();
1417:  ++__j;
1417:  if (__position == __i || __position == __j)
1417:    return;
1417: 
1417:  if (this != std::__addressof(__x))
1417:    _M_check_equal_allocators(__x);
1417: 
1417:  this->_M_transfer(__position._M_const_cast(),
1417:      __i._M_const_cast(), __j);
1417: 
1417:  this->_M_inc_size(1);
1417:  __x._M_dec_size(1);
1417:       }
1417: # 1688 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       splice(const_iterator __position, list& __x, const_iterator __i) noexcept
1417:       { splice(__position, std::move(__x), __i); }
1417: # 1707 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       splice(const_iterator __position, list&& __x, const_iterator __first,
1417:       const_iterator __last) noexcept
1417: # 1727 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       {
1417:  if (__first != __last)
1417:    {
1417:      if (this != std::__addressof(__x))
1417:        _M_check_equal_allocators(__x);
1417: 
1417:      size_t __n = _S_distance(__first, __last);
1417:      this->_M_inc_size(__n);
1417:      __x._M_dec_size(__n);
1417: 
1417:      this->_M_transfer(__position._M_const_cast(),
1417:          __first._M_const_cast(),
1417:          __last._M_const_cast());
1417:    }
1417:       }
1417: # 1757 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       splice(const_iterator __position, list& __x, const_iterator __first,
1417:       const_iterator __last) noexcept
1417:       { splice(__position, std::move(__x), __first, __last); }
1417: 
1417: 
1417:     private:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef void __remove_return_type;
1417: 
1417: 
1417:     public:
1417: # 1786 "/usr/include/c++/12/bits/stl_list.h" 3
1417:      
1417:       __remove_return_type
1417:       remove(const _Tp& __value);
1417: # 1801 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename _Predicate>
1417:  __remove_return_type
1417:  remove_if(_Predicate);
1417: # 1815 "/usr/include/c++/12/bits/stl_list.h" 3
1417:      
1417:       __remove_return_type
1417:       unique();
1417: # 1831 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename _BinaryPredicate>
1417:  __remove_return_type
1417:  unique(_BinaryPredicate);
1417: # 1847 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       merge(list&& __x);
1417: 
1417:       void
1417:       merge(list& __x)
1417:       { merge(std::move(__x)); }
1417: # 1872 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename _StrictWeakOrdering>
1417:  void
1417:  merge(list&& __x, _StrictWe);
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr char
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr char
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr
1412:       char infinity() noexcept { return char(); }
1412: 
1412:       static constexpr char
1412:       quiet_NaN() noexcept { return char(); }
1412: 
1412:       static constexpr char
1412:       signaling_NaN() noexcept { return char(); }
1412: 
1412:       static constexpr char
1412:       denorm_min() noexcept { return static_cast<char>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = !is_signed;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<signed char>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr signed char
1412:       min() noexcept { return -0x7f - 1; }
1412: 
1412:       static constexpr signed char
1412:       max() noexcept { return 0x7f; }
1412: 
1412: 
1412:       static constexpr signed char
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr signed char
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr signed char
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr signed char
1412:       infinity() noexcept { return static_cast<signed char>(0); }
1412: 
1412:       static constexpr signed char
1412:       quiet_NaN() noexcept { return static_cast<signed char>(0); }
1412: 
1412:       static constexpr signed char
1412:       signaling_NaN() noexcept
1412:       { return static_cast<signed char>(0); }
1412: 
1412:       static constexpr signed char
1412:       denorm_min() noexcept
1412:       { return static_cast<signed char>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<unsigned char>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr unsigned char
1412:       min() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned char
1412:       max() noexcept { return 0x7f * 2U + 1; }
1412: 
1412: 
1412:       static constexpr unsigned char
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits
1412:        = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = false;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr unsigned char
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned char
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr unsigned char
1412:       infinity() noexcept
1412:       { return static_cast<unsigned char>(0); }
1412: 
1412:       static constexpr unsigned char
1412:       quiet_NaN() noexcept
1412:       { return static_cast<unsigned char>(0); }
1412: 
1412:       static constexpr unsigned char
1412:       signaling_NaN() noexcept
1412:       { return static_cast<unsigned char>(0); }
1412: 
1412:       static constexpr unsigned char
1412:       denorm_min() noexcept
1412:       { return static_cast<unsigned char>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = true;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<wchar_t>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr wchar_t
1412:       min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); }
1412: 
1412:       static constexpr wchar_t
1412:       max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); }
1412: 
1412: 
1412:       static constexpr wchar_t
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = ((wchar_t)(-1) < 0);
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr wchar_t
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr wchaakOrdering __comp);
1417: 
1417:       template<typename _StrictWeakOrdering>
1417:  void
1417:  merge(list& __x, _StrictWeakOrdering __comp)
1417:  { merge(std::move(__x), __comp); }
1417: # 1891 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       void
1417:       reverse() noexcept
1417:       { this->_M_impl._M_node._M_reverse(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       sort();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _StrictWeakOrdering>
1417:  void
1417:  sort(_StrictWeakOrdering);
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Integer>
1417:  void
1417:  _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
1417:  { _M_fill_initialize(static_cast<size_type>(__n), __x); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417:  void
1417:  _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
1417:           __false_type)
1417:  {
1417:    for (; __first != __last; ++__first)
1417: 
1417:      emplace_back(*__first);
1417: 
1417: 
1417: 
1417:  }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_fill_initialize(size_type __n, const value_type& __x)
1417:       {
1417:  for (; __n; --__n)
1417:    push_back(__x);
1417:       }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_default_initialize(size_type __n)
1417:       {
1417:  for (; __n; --__n)
1417:    emplace_back();
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_default_append(size_type __n);
1417: # 1969 "/usr/include/c++/12/bits/stl_list.h" 3
1417:       template<typename _Integer>
1417:  void
1417:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1417:  { _M_fill_assign(__n, __val); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417:  void
1417:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1417:       __false_type);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_fill_assign(size_type __n, const value_type& __val);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_transfer(iterator __position, iterator __first, iterator __last)
1417:       { __position._M_node->_M_transfer(__first._M_node, __last._M_node); }
1417: # 2001 "/usr/include/c++/12/bits/stl_list.h" 3
1417:      template<typename... _Args>
1417:        void
1417:        _M_insert(iterator __position, _Args&&... __args)
1417:        {
1417:   _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1417:   __tmp->_M_hook(__position._M_node);
1417:   this->_M_inc_size(1);
1417:        }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_erase(iterator __position) noexcept
1417:       {
1417:  this->_M_dec_size(1);
1417:  __position._M_node->_M_unhook();
1417:  _Node* __n = static_cast<_Node*>(__position._M_node);
1417: 
1417:  _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr());
1417: 
1417: 
1417: 
1417: 
1417:  _M_put_node(__n);
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_check_equal_allocators(list& __x) noexcept
1417:       {
1417:  if (std::__alloc_neq<typename _Base::_Node_alloc_type>::
1417:      _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()))
1417:    __builtin_abort();
1417:       }
1417: 
1417: 
1417:       const_iterator
1417:       _M_resize_pos(size_type& __new_size) const;
1417: 
1417: 
1417:       void
1417:       _M_move_assign(list&& __x, true_type) noexcept
1417:       {
1417:  this->clear();
1417:  this->_M_move_nodes(std::move(__x));
1417:  std::__alloc_on_move(this->_M_get_Node_allocator(),
1417:         __x._M_get_Node_allocator());
1417:       }
1417: 
1417:       void
1417:       _M_move_assign(list&& __x, false_type)
1417:       {
1417:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1417:    _M_move_assign(std::move(__x), true_type{});
1417:  else
1417: 
1417: 
1417:    _M_assign_dispatch(std::make_move_iterator(__x.begin()),
1417:         std::make_move_iterator(__x.end()),
1417:         __false_type{});
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       struct _Finalize_merge
1417:       {
1417:  explicit
1417:  _Finalize_merge(list& __dest, list& __src, const iterator& __src_next)
1417:  : _M_dest(__dest), _M_src(__src), _M_next(__src_next)
1417:  { }
1417: 
1417:  ~_Finalize_merge()
1417:  {
1417: 
1417: 
1417: 
1417:    const size_t __num_unmerged = std::distance(_M_next, _M_src.end());
1417:    const size_t __orig_size = _M_src._M_get_size();
1417:    _M_dest._M_inc_size(__orig_size - __num_unmerged);
1417:    _M_src._M_set_size(__num_unmerged);
1417:  }
1417: 
1417:  list& _M_dest;
1417:  list& _M_src;
1417:  const iterator& _M_next;
1417: 
1417: 
1417:  _Finalize_merge(const _Finalize_merge&) = delete;
1417: 
1417:       };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _InputIterator, typename _ValT
1417:       = typename iterator_traits<_InputIterator>::value_type,
1417:     typename _Allocator = allocator<_ValT>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     list(_InputIterator, _InputIterator, _Allocator = _Allocator())
1417:       -> list<_ValT, _Allocator>;
1417: 
1417: 
1417: }
1417: # 2121 "/usr/include/c++/12/bits/stl_list.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1417:     {
1417: 
1417:       if (__x.size() != __y.size())
1417:  return false;
1417: 
1417: 
1417:       typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
1417:       const_iterator __end1 = __x.end();
1417:       const_iterator __end2 = __y.end();
1417: 
1417:       const_iterator __i1 = __x.begin();
1417:       const_iterator __i2 = __y.begin();
1417:       while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
1417:  {
1417:    ++__i1;
1417:    ++__i2;
1417:  }
1417:       return __i1 == __end1 && __i2 == __end2;
1417:     }
1417: # 2178 "/usr/include/c++/12/bits/stl_list.h" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1417:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1417:        __y.begin(), __y.end()); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     inline void
1417:     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     inline ptrdiff_t
1417:     __distance(std::_List_iterator<_Tp> __first,
1417:         std::_List_iterator<_Tp> __last,
1417:         input_iterator_tag __tag)
1417:     {
1417:       typedef std::_List_const_iterator<_Tp> _CIter;
1417:       return std::__distance(_CIter(__first), _CIter(__last), __tag);
1417:     }
1417: 
1417:   template<typename _Tp>
1417:     inline ptrdiff_t
1417:     __distance(std::_List_const_iterator<_Tp> __first,
1417:         std::_List_const_iterator<_Tp> __last,
1417:         input_iterator_tag)
1417:     {
1417:       typedef __detailr_t
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr wchar_t
1412:       infinity() noexcept { return wchar_t(); }
1412: 
1412:       static constexpr wchar_t
1412:       quiet_NaN() noexcept { return wchar_t(); }
1412: 
1412:       static constexpr wchar_t
1412:       signaling_NaN() noexcept { return wchar_t(); }
1412: 
1412:       static constexpr wchar_t
1412:       denorm_min() noexcept { return wchar_t(); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = !is_signed;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: # 796 "/usr/include/c++/12/limits" 3
1412:   template<>
1412:     struct numeric_limits<char16_t>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr char16_t
1412:       min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); }
1412: 
1412:       static constexpr char16_t
1412:       max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); }
1412: 
1412:       static constexpr char16_t
1412:       lowest() noexcept { return min(); }
1412: 
1412:       static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0));
1412:       static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136);
1412:       static constexpr int max_digits10 = 0;
1412:       static constexpr bool is_signed = ((char16_t)(-1) < 0);
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr char16_t
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr char16_t
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr char16_t
1412:       infinity() noexcept { return char16_t(); }
1412: 
1412:       static constexpr char16_t
1412:       quiet_NaN() noexcept { return char16_t(); }
1412: 
1412:       static constexpr char16_t
1412:       signaling_NaN() noexcept { return char16_t(); }
1412: 
1412:       static constexpr char16_t
1412:       denorm_min() noexcept { return char16_t(); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = !is_signed;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<char32_t>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr char32_t
1412:       min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); }
1412: 
1412:       static constexpr char32_t
1412:       max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); }
1412: 
1412:       static constexpr char32_t
1412:       lowest() noexcept { return min(); }
1412: 
1412:       static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0));
1412:       static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136);
1412:       static constexpr int max_digits10 = 0;
1412:       static constexpr bool is_signed = ((char32_t)(-1) < 0);
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr char32_t
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr char32_t
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr char32_t
1412:       infinity() noexcept { return char32_t(); }
1412: 
1412:       static constexpr char32_t
1412:       quiet_NaN() noexcept { return char32_t(); }
1412: 
1412:       static constexpr char32_t
1412:       signaling_NaN() noexcept { return char32_t(); }
1412: 
1412:       static constexpr char32_t
1412:       denorm_min() noexcept { return char32_t(); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = !is_signed;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style = round_toward_zero;
1412:     };
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<short>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr short
1412:       min() noexcept { return -0x7fff - 1; }
1412: 
1412:       static constexpr short
1412:       max() noexcept { return 0x7fff; }
1412: 
1412: 
1412:       static constexpr short
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
1412:       static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr short
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr short
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static co::_List_node_header _Sentinel;
1417:       std::_List_const_iterator<_Tp> __beyond = __last;
1417:       ++__beyond;
1417:       const bool __whole = __first == __beyond;
1417:       if (__builtin_constant_p (__whole) && __whole)
1417:  return static_cast<const _Sentinel*>(__last._M_node)->_M_size;
1417: 
1417:       ptrdiff_t __n = 0;
1417:       while (__first != __last)
1417:  {
1417:    ++__first;
1417:    ++__n;
1417:  }
1417:       return __n;
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: # 64 "/usr/include/c++/12/list" 2 3
1417: # 1 "/usr/include/c++/12/bits/list.tcc" 1 3
1417: # 59 "/usr/include/c++/12/bits/list.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     _List_base<_Tp, _Alloc>::
1417:     _M_clear() noexcept
1417:     {
1417:       typedef _List_node<_Tp> _Node;
1417:       __detail::_List_node_base* __cur = _M_impl._M_node._M_next;
1417:       while (__cur != &_M_impl._M_node)
1417:  {
1417:    _Node* __tmp = static_cast<_Node*>(__cur);
1417:    __cur = __tmp->_M_next;
1417:    _Tp* __val = __tmp->_M_valptr();
1417: 
1417:    _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val);
1417: 
1417: 
1417: 
1417:    _M_put_node(__tmp);
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename... _Args>
1417:       typename list<_Tp, _Alloc>::iterator
1417:       list<_Tp, _Alloc>::
1417:       emplace(const_iterator __position, _Args&&... __args)
1417:       {
1417:  _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1417:  __tmp->_M_hook(__position._M_const_cast()._M_node);
1417:  this->_M_inc_size(1);
1417:  return iterator(__tmp);
1417:       }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     typename list<_Tp, _Alloc>::iterator
1417:     list<_Tp, _Alloc>::
1417: 
1417:     insert(const_iterator __position, const value_type& __x)
1417: 
1417: 
1417: 
1417:     {
1417:       _Node* __tmp = _M_create_node(__x);
1417:       __tmp->_M_hook(__position._M_const_cast()._M_node);
1417:       this->_M_inc_size(1);
1417:       return iterator(__tmp);
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     typename list<_Tp, _Alloc>::iterator
1417:     list<_Tp, _Alloc>::
1417:     insert(const_iterator __position, size_type __n, const value_type& __x)
1417:     {
1417:       if (__n)
1417:  {
1417:    list __tmp(__n, __x, get_allocator());
1417:    iterator __it = __tmp.begin();
1417:    splice(__position, __tmp);
1417:    return __it;
1417:  }
1417:       return __position._M_const_cast();
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template<typename _InputIterator, typename>
1417:       typename list<_Tp, _Alloc>::iterator
1417:       list<_Tp, _Alloc>::
1417:       insert(const_iterator __position, _InputIterator __first,
1417:       _InputIterator __last)
1417:       {
1417:  list __tmp(__first, __last, get_allocator());
1417:  if (!__tmp.empty())
1417:    {
1417:      iterator __it = __tmp.begin();
1417:      splice(__position, __tmp);
1417:      return __it;
1417:    }
1417:  return __position._M_const_cast();
1417:       }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     typename list<_Tp, _Alloc>::iterator
1417:     list<_Tp, _Alloc>::
1417: 
1417:     erase(const_iterator __position) noexcept
1417: 
1417: 
1417: 
1417:     {
1417:       iterator __ret = iterator(__position._M_node->_M_next);
1417:       _M_erase(__position._M_const_cast());
1417:       return __ret;
1417:     }
1417: # 173 "/usr/include/c++/12/bits/list.tcc" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     typename list<_Tp, _Alloc>::const_iterator
1417:     list<_Tp, _Alloc>::
1417:     _M_resize_pos(size_type& __new_size) const
1417:     {
1417:       const_iterator __i;
1417: 
1417:       const size_type __len = size();
1417:       if (__new_size < __len)
1417:  {
1417:    if (__new_size <= __len / 2)
1417:      {
1417:        __i = begin();
1417:        std::advance(__i, __new_size);
1417:      }
1417:    else
1417:      {
1417:        __i = end();
1417:        ptrdiff_t __num_erase = __len - __new_size;
1417:        std::advance(__i, -__num_erase);
1417:      }
1417:    __new_size = 0;
1417:    return __i;
1417:  }
1417:       else
1417:  __i = end();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       __new_size -= __len;
1417:       return __i;
1417:     }
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     list<_Tp, _Alloc>::
1417:     _M_default_append(size_type __n)
1417:     {
1417:       size_type __i = 0;
1417:       try
1417:  {
1417:    for (; __i < __n; ++__i)
1417:      emplace_back();
1417:  }
1417:       catch(...)
1417:  {
1417:    for (; __i; --__i)
1417:      pop_back();
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     list<_Tp, _Alloc>::
1417:     resize(size_type __new_size)
1417:     {
1417:       const_iterator __i = _M_resize_pos(__new_size);
1417:       if (__new_size)
1417:  _M_default_append(__new_size);
1417:       else
1417:         erase(__i, end());
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     list<_Tp, _Alloc>::
1417:     resize(size_type __new_size, const value_type& __x)
1417:     {
1417:       const_iterator __i = _M_resize_pos(__new_size);
1417:       if (__new_size)
1417:         insert(end(), __new_size, __x);
1417:       else
1417:         erase(__i, end());
1417:     }
1417: # 265 "/usr/include/c++/12/bits/list.tcc" 3
1417:   template<typename _Tp, typename _Alloc>
1417:     list<_Tp, _Alloc>&
1417:     list<_Tp, _Alloc>::
1417:     operator=(const list& __x)
1417:     {
1417:       if (this != std::__addressof(__x))
1417:  {
1417: 
1417:    if (_Node_alloc_traits::_S_propagate_on_copy_assign())
1417:      {
1417:               auto& __this_alloc = this->_M_get_Node_allocator();
1417:               auto& __that_alloc = __x._M_get_Node_allocator();
1417:               if (!_Node_alloc_traits::_S_always_equal()
1417:            && __this_alloc != __that_alloc)
1417:          {
1417: 
1417:     clear();
1417:   }
1417:        std::__alloc_on_copy(__this_alloc, __that_alloc);
1417:             }
1417: 
1417:    _M_assign_dispatch(__x.begin(), __x.end(), __false_type());
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     list<_Tp, _Alloc>::
1417:     _M_fill_assign(size_type __n, const value_type& __val)
1417:     {
1417:       iterator __i = begin();
1417:       for (; __i != end() && __n > 0; ++__i, --__n)
1417:         *__i = __val;
1417:       if (__n > 0)
1417:         insert(end(), __n, __val);
1417:       else
1417:         erase(__i, end());
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template <typename _InputIterator>
1417:       void
1417:       list<_Tp, _Alloc>::
1417:       _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2,
1417:     __false_type)
1417:       {
1417:         iterator __first1 = begin();
1417:         iterator __last1 = end();
1417:         for (; __first1 != __last1 && __first2 != __last2;
1417:       ++__first1, (void)++__first2)
1417:           *__first1 = *__first2;
1417:         if (__first2 == __last2)
1417:           erase(__first1, __last1);
1417:         else
1417:           insert(__last1, __first2, __last2);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     typename list<_Tp, _Alloc>::__remove_return_type
1417:     list<_Tp, _Alloc>::
1417:     remove(const value_type& __value)
1417:     {
1417: 
1417: 
1417: 
1417:       list __to_destroy(get_allocator());
1417:       iterator __first = begin();
1417:       iterator __last = end();
1417:       while (__first != __last)
1417:  {
1417:    iterator __next = __first;
1417:    ++__next;
1417:    if (*__first == __value)
1417:      {
1417: 
1417: 
1417: 
1417:        __to_destroy.splice(__to_nstexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr short
1412:       infinity() noexcept { return short(); }
1412: 
1412:       static constexpr short
1412:       quiet_NaN() noexcept { return short(); }
1412: 
1412:       static constexpr short
1412:       signaling_NaN() noexcept { return short(); }
1412: 
1412:       static constexpr short
1412:       denorm_min() noexcept { return short(); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<unsigned short>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr unsigned short
1412:       min() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned short
1412:       max() noexcept { return 0x7fff * 2U + 1; }
1412: 
1412: 
1412:       static constexpr unsigned short
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits
1412:        = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = false;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr unsigned short
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned short
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr unsigned short
1412:       infinity() noexcept
1412:       { return static_cast<unsigned short>(0); }
1412: 
1412:       static constexpr unsigned short
1412:       quiet_NaN() noexcept
1412:       { return static_cast<unsigned short>(0); }
1412: 
1412:       static constexpr unsigned short
1412:       signaling_NaN() noexcept
1412:       { return static_cast<unsigned short>(0); }
1412: 
1412:       static constexpr unsigned short
1412:       denorm_min() noexcept
1412:       { return static_cast<unsigned short>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = true;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<int>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr int
1412:       min() noexcept { return -0x7fffffff - 1; }
1412: 
1412:       static constexpr int
1412:       max() noexcept { return 0x7fffffff; }
1412: 
1412: 
1412:       static constexpr int
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
1412:       static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr int
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr int
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr int
1412:       infinity() noexcept { return static_cast<int>(0); }
1412: 
1412:       static constexpr int
1412:       quiet_NaN() noexcept { return static_cast<int>(0); }
1412: 
1412:       static constexpr int
1412:       signaling_NaN() noexcept { return static_cast<int>(0); }
1412: 
1412:       static constexpr int
1412:       denorm_min() noexcept { return static_cast<int>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<unsigned int>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr unsigned int
1412:       min() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned int
1412:       max() noexcept { return 0x7fffffff * 2U + 1; }
1412: 
1412: 
1412:       static constexpr unsigned int
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits
1412:        = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = false;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr unsigned int
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned int
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr unsigned int
1412:       infinity() noexcept { return static_cast<unsigned int>(0); }
1412: 
1412:       static constexpr unsigned int
1412:       quiet_NaN() noexcept
1412:       { return static_cast<unsigned int>(0); }
1412: 
1412:       static constexpr unsigned int
1412:       signaling_NaN() noexcept
1412:       { return static_cast<unsigned int>(0); }
1412: 
1412:       static constexpr unsigned int
1412:       denormdestroy.begin(), *this, __first);
1417: 
1417: 
1417: 
1417:      }
1417: 
1417:    __first = __next;
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:  return ;
1417: 
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     typename list<_Tp, _Alloc>::__remove_return_type
1417:     list<_Tp, _Alloc>::
1417:     unique()
1417:     {
1417:       iterator __first = begin();
1417:       iterator __last = end();
1417:       if (__first == __last)
1417:  return ;
1417: 
1417: 
1417: 
1417:       list __to_destroy(get_allocator());
1417:       iterator __next = __first;
1417:       while (++__next != __last)
1417:  {
1417:    if (*__first == *__next)
1417:      {
1417:        __to_destroy.splice(__to_destroy.begin(), *this, __next);
1417: 
1417: 
1417: 
1417:      }
1417:    else
1417:      __first = __next;
1417:    __next = __first;
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:       return ;
1417: 
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     list<_Tp, _Alloc>::
1417: 
1417:     merge(list&& __x)
1417: 
1417: 
1417: 
1417:     {
1417: 
1417: 
1417:       if (this != std::__addressof(__x))
1417:  {
1417:    _M_check_equal_allocators(__x);
1417: 
1417:    iterator __first1 = begin();
1417:    iterator __last1 = end();
1417:    iterator __first2 = __x.begin();
1417:    iterator __last2 = __x.end();
1417: 
1417:    const _Finalize_merge __fin(*this, __x, __first2);
1417: 
1417:    while (__first1 != __last1 && __first2 != __last2)
1417:      if (*__first2 < *__first1)
1417:        {
1417:   iterator __next = __first2;
1417:   _M_transfer(__first1, __first2, ++__next);
1417:   __first2 = __next;
1417:        }
1417:      else
1417:        ++__first1;
1417:    if (__first2 != __last2)
1417:      {
1417:        _M_transfer(__last1, __first2, __last2);
1417:        __first2 = __last2;
1417:      }
1417:  }
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template <typename _StrictWeakOrdering>
1417:       void
1417:       list<_Tp, _Alloc>::
1417: 
1417:       merge(list&& __x, _StrictWeakOrdering __comp)
1417: 
1417: 
1417: 
1417:       {
1417: 
1417: 
1417:  if (this != std::__addressof(__x))
1417:    {
1417:      _M_check_equal_allocators(__x);
1417: 
1417:      iterator __first1 = begin();
1417:      iterator __last1 = end();
1417:      iterator __first2 = __x.begin();
1417:      iterator __last2 = __x.end();
1417: 
1417:      const _Finalize_merge __fin(*this, __x, __first2);
1417: 
1417:      while (__first1 != __last1 && __first2 != __last2)
1417:        if (__comp(*__first2, *__first1))
1417:   {
1417:     iterator __next = __first2;
1417:     _M_transfer(__first1, __first2, ++__next);
1417:     __first2 = __next;
1417:   }
1417:        else
1417:   ++__first1;
1417:      if (__first2 != __last2)
1417:        {
1417:   _M_transfer(__last1, __first2, __last2);
1417:   __first2 = __last2;
1417:        }
1417:    }
1417:       }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     void
1417:     list<_Tp, _Alloc>::
1417:     sort()
1417:     {
1417: 
1417:       if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1417:    && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1417:       {
1417:  using __detail::_Scratch_list;
1417: # 497 "/usr/include/c++/12/bits/list.tcc" 3
1417:  _Scratch_list __carry;
1417:  _Scratch_list __tmp[64];
1417:  _Scratch_list* __fill = __tmp;
1417:  _Scratch_list* __counter;
1417: 
1417:  _Scratch_list::_Ptr_cmp<iterator, void> __ptr_comp;
1417: 
1417:  try
1417:    {
1417:      do
1417:        {
1417:   __carry._M_take_one(begin()._M_node);
1417: 
1417:   for(__counter = __tmp;
1417:       __counter != __fill && !__counter->empty();
1417:       ++__counter)
1417:     {
1417: 
1417:       __counter->merge(__carry, __ptr_comp);
1417:       __carry.swap(*__counter);
1417:     }
1417:   __carry.swap(*__counter);
1417:   if (__counter == __fill)
1417:     ++__fill;
1417:        }
1417:      while ( !empty() );
1417: 
1417:      for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1417:        __counter->merge(__counter[-1], __ptr_comp);
1417:      __fill[-1].swap(this->_M_impl._M_node);
1417:    }
1417:  catch(...)
1417:    {
1417: 
1417:      __carry._M_put_all(end()._M_node);
1417:      for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1417:        __tmp[__i]._M_put_all(end()._M_node);
1417:      throw;
1417:    }
1417:       }
1417:     }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template <typename _Predicate>
1417:       typename list<_Tp, _Alloc>::__remove_return_type
1417:       list<_Tp, _Alloc>::
1417:       remove_if(_Predicate __pred)
1417:       {
1417: 
1417: 
1417: 
1417:  list __to_destroy(get_allocator());
1417:  iterator __first = begin();
1417:  iterator __last = end();
1417:  while (__first != __last)
1417:    {
1417:      iterator __next = __first;
1417:      ++__next;
1417:      if (__pred(*__first))
1417:        {
1417:   __to_destroy.splice(__to_destroy.begin(), *this, __first);
1417: 
1417: 
1417: 
1417:        }
1417:      __first = __next;
1417:    }
1417: 
1417: 
1417: 
1417: 
1417:  return ;
1417: 
1417:       }
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template <typename _BinaryPredicate>
1417:       typename list<_Tp, _Alloc>::__remove_return_type
1417:       list<_Tp, _Alloc>::
1417:       unique(_BinaryPredicate __binary_pred)
1417:       {
1417:         iterator __first = begin();
1417:         iterator __last = end();
1417:         if (__first == __last)
1417:    return ;
1417: 
1417: 
1417: 
1417:  list __to_destroy(get_allocator());
1417:         iterator __next = __first;
1417:         while (++__next != __last)
1417:    {
1417:      if (__binary_pred(*__first, *__next))
1417:        {
1417:   __to_destroy.splice(__to_destroy.begin(), *this, __next);
1417: 
1417: 
1417: 
1417:        }
1417:      else
1417:        __first = __next;
1417:      __next = __first;
1417:    }
1417: 
1417: 
1417: 
1417: 
1417:  return ;
1417: 
1417:       }
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Alloc>
1417:     template <typename _StrictWeakOrdering>
1417:       void
1417:       list<_Tp, _Alloc>::
1417:       sort(_StrictWeakOrdering __comp)
1417:       {
1417: 
1417:  if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1417:      && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1417:  {
1417:    using __detail::_Scratch_list;
1417:    _Scratch_list __carry;
1417:    _Scratch_list __tmp[64];
1417:    _Scratch_list* __fill = __tmp;
1417:    _Scratch_list* __counter;
1417: 
1417:  _Scratch_list::_Ptr_cmp<iterator, _StrictWeakOrdering> __ptr_comp
1417:    = { __comp };
1417: 
1417:    try
1417:      {
1417:        do
1417:   {
1417:     __carry._M_take_one(begin()._M_node);
1417: 
1417:     for(__counter = __tmp;
1417:         __counter != __fill && !__counter->empty();
1417:         ++__counter)
1417:       {
1417: 
1417:         __counter->merge(__carry, __ptr_comp);
1417:         __carry.swap(*__counter);
1417:       }
1417:     __carry.swap(*__counter);
1417:     if (__counter == __fill)
1417:       ++__fill;
1417:   }
1417:        while ( !empty() );
1417: 
1417:        for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1417:   __counter->merge(__counter[-1], __ptr_comp);
1417:        __fill[-1].swap(this->_M_impl._M_node);
1417:      }
1417:    catch(...)
1417:      {
1417: 
1417:        __carry._M_put_all(end()._M_node);
1417:        for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1417:   __tmp[__i]._M_put_all(end()._M_node);
1417:        throw;
1417:      }
1417:  }
1417:       }
1417: 
1417: 
1417: 
1417: }
1417: # 65 "/usr/include/c++/12/list" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr
1417:   {
1417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _Tp>
1417:       using list = std::list<_Tp, polymorphic_allocator<_Tp>>;
1417:   }
1417: 
1417: }
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc_min() noexcept
1412:       { return static_cast<unsigned int>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = true;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<long>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr long
1412:       min() noexcept { return -0x7fffffffL - 1; }
1412: 
1412:       static constexpr long
1412:       max() noexcept { return 0x7fffffffL; }
1412: 
1412: 
1412:       static constexpr long
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
1412:       static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr long
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr long
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr long
1412:       infinity() noexcept { return static_cast<long>(0); }
1412: 
1412:       static constexpr long
1412:       quiet_NaN() noexcept { return static_cast<long>(0); }
1412: 
1412:       static constexpr long
1412:       signaling_NaN() noexcept { return static_cast<long>(0); }
1412: 
1412:       static constexpr long
1412:       denorm_min() noexcept { return static_cast<long>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<unsigned long>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr unsigned long
1412:       min() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned long
1412:       max() noexcept { return 0x7fffffffL * 2UL + 1; }
1412: 
1412: 
1412:       static constexpr unsigned long
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits
1412:        = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = false;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr unsigned long
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned long
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr unsigned long
1412:       infinity() noexcept
1412:       { return static_cast<unsigned long>(0); }
1412: 
1412:       static constexpr unsigned long
1412:       quiet_NaN() noexcept
1412:       { return static_cast<unsigned long>(0); }
1412: 
1412:       static constexpr unsigned long
1412:       signaling_NaN() noexcept
1412:       { return static_cast<unsigned long>(0); }
1412: 
1412:       static constexpr unsigned long
1412:       denorm_min() noexcept
1412:       { return static_cast<unsigned long>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = true;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<long long>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr long long
1412:       min() noexcept { return -0x7fffffffffffffffLL - 1; }
1412: 
1412:       static constexpr long long
1412:       max() noexcept { return 0x7fffffffffffffffLL; }
1412: 
1412: 
1412:       static constexpr long long
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits
1412:        = (sizeof(long long) * 8 - ((long long)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr long long
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr long long
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr long long
1412:       infinity() noexcept { return static_cast<long long>(0); }
1412: 
1412:       static constexpr long long
1412:       quiet_NaN() noexcept { return static_cast<long long>(0); }
1412: 
1412:       static constexpr long long
1412:       signaling_NaN() noexcept
1412:       { return static_cast<long long>(0); }
1412: 
1412:       static constexpr long long
1412:       denorm_min() noexcept { return static_cast<long long>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<unsigned long long>
1412:     /guilib/GUIVisualisationControl.h" 2
1417: 
1417: 
1417: 
1417: 
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.h"
1417: namespace KODI
1417: {
1417: namespace ADDONS
1417: {
1417: class CVisualization;
1417: }
1417: }
1417: 
1417: class CAudioBuffer
1417: {
1417: public:
1417:   explicit CAudioBuffer(int iSize);
1417:   virtual ~CAudioBuffer();
1417:   const float* Get() const;
1417:   int Size() const;
1417:   void Set(const float* psBuffer, int iSize);
1417: 
1417: private:
1417:   CAudioBuffer(const CAudioBuffer&) = delete;
1417:   CAudioBuffer& operator=(const CAudioBuffer&) = delete;
1417:   CAudioBuffer();
1417:   float* m_pBuffer;
1417:   int m_iLen;
1417: };
1417: 
1417: class CGUIVisualisationControl : public CGUIControl, public IAudioCallback
1417: {
1417: public:
1417:   CGUIVisualisationControl(
1417:       int parentID, int controlID, float posX, float posY, float width, float height);
1417:   CGUIVisualisationControl(const CGUIVisualisationControl& from);
1417:   CGUIVisualisationControl* Clone() const override
1417:   {
1417:     return new CGUIVisualisationControl(*this);
1417:   };
1417: 
1417: 
1417:   void OnInitialize(int channels, int samplesPerSec, int bitsPerSample) override;
1417:   void OnAudioData(const float* audioData, unsigned int audioDataLength) override;
1417: 
1417: 
1417:   void FreeResources(bool immediately = false) override;
1417:   void Process(unsigned int currentTime, CDirtyRegionList& dirtyregions) override;
1417:   void Render() override;
1417:   void UpdateVisibility(const CGUIListItem* item = nullptr) override;
1417:   bool OnAction(const CAction& action) override;
1417:   bool OnMessage(CGUIMessage& message) override;
1417:   bool CanFocus() const override { return false; }
1417:   bool CanFocusFromPoint(const CPoint& point) const override;
1417: 
1417:   std::string Name();
1417:   void UpdateTrack();
1417:   bool HasPresets();
1417:   void SetPreset(int idx);
1417:   bool IsLocked();
1417:   int GetActivePreset();
1417:   std::string GetActivePresetName();
1417:   bool GetPresetList(std::vector<std::string>& vecpresets);
1417: 
1417: private:
1417:   bool InitVisualization();
1417:   void DeInitVisualization();
1417:   inline void CreateBuffers();
1417:   inline void ClearBuffers();
1417: 
1417:   bool m_callStart{false};
1417:   bool m_alreadyStarted{false};
1417:   bool m_attemptedLoad{false};
1417:   bool m_updateTrack{false};
1417: 
1417:   std::list<std::unique_ptr<CAudioBuffer>> m_vecBuffers;
1417:   unsigned int m_numBuffers;
1417:   std::vector<std::string> m_presets;
1417: 
1417: 
1417:   int m_channels;
1417:   int m_samplesPerSec;
1417:   int m_bitsPerSample;
1417: 
1417:   std::string m_albumThumb;
1417:   std::string m_name;
1417:   std::string m_presetsPath;
1417:   std::string m_profilePath;
1417: 
1417:   std::unique_ptr<KODI::ADDONS::CVisualization> m_instance;
1417: };
1417: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class CGUIWindowManager;
1417: class CGUITextureManager;
1417: class CGUILargeTextureManager;
1417: class CStereoscopicsManager;
1417: class CGUIInfoManager;
1417: class CGUIColorManager;
1417: class CGUIAudioManager;
1417: 
1417: class CGUIComponent
1417: {
1417: public:
1417:   CGUIComponent();
1417:   virtual ~CGUIComponent();
1417:   void Init();
1417:   void Deinit();
1417: 
1417:   CGUIWindowManager& GetWindowManager();
1417:   CGUITextureManager& GetTextureManager();
1417:   CGUILargeTextureManager& GetLargeTextureManager();
1417:   CStereoscopicsManager &GetStereoscopicsManager();
1417:   CGUIInfoManager &GetInfoManager();
1417:   CGUIColorManager &GetColorManager();
1417:   CGUIAudioManager &GetAudioManager();
1417: 
1417:   bool ConfirmDelete(const std::string& path);
1417: 
1417: protected:
1417: 
1417:   std::unique_ptr<CGUIWindowManager> m_pWindowManager;
1417:   std::unique_ptr<CGUITextureManager> m_pTextureManager;
1417:   std::unique_ptr<CGUILargeTextureManager> m_pLargeTextureManager;
1417:   std::unique_ptr<CStereoscopicsManager> m_stereoscopicsManager;
1417:   std::unique_ptr<CGUIInfoManager> m_guiInfoManager;
1417:   std::unique_ptr<CGUIColorManager> m_guiColorManager;
1417:   std::unique_ptr<CGUIAudioManager> m_guiAudioManager;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/AddonsGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/AddonsGUIInfo.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProvider.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProvider.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Interface/StreamInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/Interface/StreamInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename T> class CRectGen;
1417: typedef CRectGen<float> CRect;
1417: 
1417: enum StreamFlags
1417: {
1417:   FLAG_NONE = 0x0000,
1417:   FLAG_DEFAULT = 0x0001,
1417:   FLAG_DUB = 0x0002,
1417:   FLAG_ORIGINAL = 0x0004,
1417:   FLAG_COMMENT = 0x0008,
1417:   FLAG_LYRICS = 0x0010,
1417:   FLAG_KARAOKE = 0x0020,
1417:   FLAG_FORCED = 0x0040,
1417:   FLAG_HEARING_IMPAIRED = 0x0080,
1417:   FLAG_VISUAL_IMPAIRED = 0x0100,
1417:   FLAG_STILL_IMAGES = 0x100000
1417: };
1417: 
1417: enum class StreamHdrType
1417: {
1417:   HDR_TYPE_NONE,
1417:   HDR_TYPE_HDR10,
1417:   HDR_TYPE_DOLBYVISION,
1417:   HDR_TYPE_HLG
1417: };
1417: 
1417: struct StreamInfo
1417: {
1417:   bool valid = false;
1417:   int bitrate = 0;
1417:   std::string language;
1417:   std::string name;
1417:   std::string codecName;
1417:   StreamFlags flags = StreamFlags::FLAG_NONE;
1417: 
1417: protected:
1417:   StreamInfo() = default;
1417:   virtual ~StreamInfo() = default;
1417: };
1417: 
1417: struct AudioStreamInfo : StreamInfo
1417: {
1417:   int channels = 0;
1417:   int samplerate = 0;
1417:   int bitspersample = 0;
1417: };
1417: 
1417: struct SubtitleStreamInfo : StreamInfo
1417: {};
1417: 
1417: struct VideoStreamInfo : StreamInfo
1417: {
1417:   float videoAspectRatio = 0.0f;
1417:   int height = 0;
1417:   int width = 0;
1417:   CRect SrcRect;
1417:   CRect DestRect;
1417:   CRect VideoRect;
1417:   std::string stereoMode;
1417:   int angles = 0;
1417:   StreamHdrType hdrType = StreamHdrType::HDR_TYPE_NONE;
1417: };
1417: 
1417: struct ProgramInfo
1417: {
1417:   int id = -1;
1417:   bool playing = false;
1417:   std::string name;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProvider.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/IGUIInfoProvider.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/IGUIInfoProvider.h"
1417:        
1417: 
1417: 
1417: 
1417: class CFileItem;
1417: class CGUIListItem;
1417: 
1417: struct AudioStreamInfo;
1417: struct VideoStreamInfo;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class IGUIInfoProvider
1417: {
1417: public:
1417:   virtual ~IGUIInfoProvider() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool InitCurrentItem(CFileItem *item) = 0;
1417: # 49 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/IGUIInfoProvider.h"
1417:   virtual bool GetLabel(std::string &value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const = 0;
1417: # 61 "/b{
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr unsigned long long
1412:       min() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned long long
1412:       max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; }
1412: 
1412: 
1412:       static constexpr unsigned long long
1412:       lowest() noexcept { return min(); }
1412: 
1412: 
1412:       static constexpr int digits
1412:        = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
1412:       static constexpr int digits10
1412:        = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136);
1412: 
1412:       static constexpr int max_digits10 = 0;
1412: 
1412:       static constexpr bool is_signed = false;
1412:       static constexpr bool is_integer = true;
1412:       static constexpr bool is_exact = true;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr unsigned long long
1412:       epsilon() noexcept { return 0; }
1412: 
1412:       static constexpr unsigned long long
1412:       round_error() noexcept { return 0; }
1412: 
1412:       static constexpr int min_exponent = 0;
1412:       static constexpr int min_exponent10 = 0;
1412:       static constexpr int max_exponent = 0;
1412:       static constexpr int max_exponent10 = 0;
1412: 
1412:       static constexpr bool has_infinity = false;
1412:       static constexpr bool has_quiet_NaN = false;
1412:       static constexpr bool has_signaling_NaN = false;
1412:       static constexpr float_denorm_style has_denorm
1412:        = denorm_absent;
1412:       static constexpr bool has_denorm_loss = false;
1412: 
1412:       static constexpr unsigned long long
1412:       infinity() noexcept
1412:       { return static_cast<unsigned long long>(0); }
1412: 
1412:       static constexpr unsigned long long
1412:       quiet_NaN() noexcept
1412:       { return static_cast<unsigned long long>(0); }
1412: 
1412:       static constexpr unsigned long long
1412:       signaling_NaN() noexcept
1412:       { return static_cast<unsigned long long>(0); }
1412: 
1412:       static constexpr unsigned long long
1412:       denorm_min() noexcept
1412:       { return static_cast<unsigned long long>(0); }
1412: 
1412:       static constexpr bool is_iec559 = false;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = true;
1412: 
1412:       static constexpr bool traps = true;
1412:       static constexpr bool tinyness_before = false;
1412:       static constexpr float_round_style round_style
1412:        = round_toward_zero;
1412:     };
1412: # 1669 "/usr/include/c++/12/limits" 3
1412:   template<>
1412:     struct numeric_limits<float>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr float
1412:       min() noexcept { return 1.1754943508222875e-38F; }
1412: 
1412:       static constexpr float
1412:       max() noexcept { return 3.4028234663852886e+38F; }
1412: 
1412: 
1412:       static constexpr float
1412:       lowest() noexcept { return -3.4028234663852886e+38F; }
1412: 
1412: 
1412:       static constexpr int digits = 24;
1412:       static constexpr int digits10 = 6;
1412: 
1412:       static constexpr int max_digits10
1412:   = (2 + (24) * 643L / 2136);
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = false;
1412:       static constexpr bool is_exact = false;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr float
1412:       epsilon() noexcept { return 1.1920928955078125e-7F; }
1412: 
1412:       static constexpr float
1412:       round_error() noexcept { return 0.5F; }
1412: 
1412:       static constexpr int min_exponent = (-125);
1412:       static constexpr int min_exponent10 = (-37);
1412:       static constexpr int max_exponent = 128;
1412:       static constexpr int max_exponent10 = 38;
1412: 
1412:       static constexpr bool has_infinity = 1;
1412:       static constexpr bool has_quiet_NaN = 1;
1412:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1412:       static constexpr float_denorm_style has_denorm
1412:  = bool(1) ? denorm_present : denorm_absent;
1412:       static constexpr bool has_denorm_loss
1412:        = false;
1412: 
1412:       static constexpr float
1412:       infinity() noexcept { return __builtin_huge_valf(); }
1412: 
1412:       static constexpr float
1412:       quiet_NaN() noexcept { return __builtin_nanf(""); }
1412: 
1412:       static constexpr float
1412:       signaling_NaN() noexcept { return __builtin_nansf(""); }
1412: 
1412:       static constexpr float
1412:       denorm_min() noexcept { return 1.4012984643248171e-45F; }
1412: 
1412:       static constexpr bool is_iec559
1412:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = false;
1412:       static constexpr bool tinyness_before
1412:        = false;
1412:       static constexpr float_round_style round_style
1412:        = round_to_nearest;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<double>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr double
1412:       min() noexcept { return double(2.2250738585072014e-308L); }
1412: 
1412:       static constexpr double
1412:       max() noexcept { return double(1.7976931348623157e+308L); }
1412: 
1412: 
1412:       static constexpr double
1412:       lowest() noexcept { return -double(1.7976931348623157e+308L); }
1412: 
1412: 
1412:       static constexpr int digits = 53;
1412:       static constexpr int digits10 = 15;
1412: 
1412:       static constexpr int max_digits10
1412:   = (2 + (53) * 643L / 2136);
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = false;
1412:       static constexpr bool is_exact = false;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr double
1412:       epsilon() noexcept { return double(2.2204460492503131e-16L); }
1412: 
1412:       static constexpr double
1412:       round_error() noexcept { return 0.5; }
1412: 
1412:       static constexpr int min_exponent = (-1021);
1412:       static constexpr int min_exponent10 = (-307);
1412:       static constexpr int max_exponent = 1024;
1412:       static constexpr int max_exponent10 = 308;
1412: 
1412:       static constexpr bool has_infinity = 1;
1412:       static constexpr bool has_quiet_NaN = 1;
1412:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1412:       static constexpr float_denorm_style has_denorm
1412:  = bool(1) ? denorm_present : denorm_absent;
1412:       static constexpr bool has_denorm_loss
1412:         = false;
1412: 
1412:       static constexpr double
1412:       infinity() noexcept { return __builtin_huge_val(); }
1412: 
1412:       static constexpr double
1412:       quiet_NaN() noexcept { return __builtin_nan(""); }
1412: 
1412:       static constexpr double
1412:       signaling_NaN() noexcept { return __builtin_nans(""); }
1412: 
1412:       static constexpr double
1412:       denorm_min() noexcept { return double(4.9406564584124654e-324L); }
1412: 
1412:       static constexpr bool is_iec559
1412:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = false;
1412:       static constexpr bool tinyness_before
1412:        = false;
1412:       static constexpr float_round_style round_style
1412:        = round_to_nearest;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct numeric_limits<long double>
1412:     {
1412:       static constexpr bool is_specialized = true;
1412: 
1412:       static constexpr long double
1412:       min() noexcept { return 2.2250738585072014e-308L; }
1412: uild/kodi-HAo4KK/kodi-20.0+dfsg/xbmc/guilib/guiinfo/IGUIInfoProvider.h"
1417:   virtual bool GetFallbackLabel(std::string& value,
1417:                                 const CFileItem* item,
1417:                                 int contextWindow,
1417:                                 const CGUIInfo& info,
1417:                                 std::string* fallback) = 0;
1417: # 75 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/IGUIInfoProvider.h"
1417:   virtual bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const = 0;
1417: # 85 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/IGUIInfoProvider.h"
1417:   virtual bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void UpdateAVInfo(const AudioStreamInfo& audioInfo, const VideoStreamInfo& videoInfo, const SubtitleStreamInfo& subtitleInfo) = 0;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProvider.h" 2
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CGUIInfoProvider : public IGUIInfoProvider
1417: {
1417: public:
1417:   CGUIInfoProvider() = default;
1417:   ~CGUIInfoProvider() override = default;
1417: 
1417:   bool GetFallbackLabel(std::string& value,
1417:                         const CFileItem* item,
1417:                         int contextWindow,
1417:                         const CGUIInfo& info,
1417:                         std::string* fallback) override
1417:   {
1417:     return false;
1417:   }
1417: 
1417:   void UpdateAVInfo(const AudioStreamInfo& audioInfo, const VideoStreamInfo& videoInfo, const SubtitleStreamInfo& subtitleInfo) override
1417:   { m_audioInfo = audioInfo, m_videoInfo = videoInfo, m_subtitleInfo = subtitleInfo; }
1417: 
1417: protected:
1417:   VideoStreamInfo m_videoInfo;
1417:   AudioStreamInfo m_audioInfo;
1417:   SubtitleStreamInfo m_subtitleInfo;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/AddonsGUIInfo.h" 2
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CAddonsGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CAddonsGUIInfo() = default;
1417:   ~CAddonsGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIControlsGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIControlsGUIInfo.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h"
1417:        
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIControlsGUIInfo.h" 2
1417: 
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CGUIControlsGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   ~CGUIControlsGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: 
1417:   void SetNextWindow(int windowID) { m_nextWindowID = windowID; }
1417:   void SetPreviousWindow(int windowID) { m_prevWindowID = windowID; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetContainerMoving(int id, bool next, bool scrolling);
1417:   void ResetContainerMovingCache();
1417: 
1417: private:
1417:   int m_nextWindowID = 9999;
1417:   int m_prevWindowID = 9999;
1417: 
1417:   std::map<int, int> m_containerMoves;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GamesGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GamesGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CGamesGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CGamesGUIInfo() = default;
1417:   ~CGamesGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/LibraryGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/LibraryGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CLibraryGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CLibraryGUIInfo();
1417:   ~CLibraryGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: 
1417:   bool GetLibraryBool(int condition) const;
1417:   void SetLibraryBool(int condition, bool value);
1417:   void ResetLibraryBools();
1417: 
1417: private:
1417:   mutable int m_libraryHasMusic;
1417:   mutable int m_libraryHasMovies;
1417:   mutable int m_libraryHasTVShows;
1417:   mutable int m_libraryHasMusicVideos;
1417:   mutable int m_libraryHasMovieSets;
1417:   mutable int m_libraryHasSingles;
1417:   mutable int m_libraryHasCompilations;
1417:   mutable int m_libraryHasBoxsets;
1417: 
1417: 
1417: 
1417:   mutable std::vector<std::pair<std::string, int>> m_libraryRoleCounts;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/MusicGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/MusicGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CMusicGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CMusicGUIInfo() = default;
1417:   ~CMusicGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CF
1412:       static constexpr long double
1412:       max() noexcept { return 1.7976931348623157e+308L; }
1412: 
1412: 
1412:       static constexpr long double
1412:       lowest() noexcept { return -1.7976931348623157e+308L; }
1412: 
1412: 
1412:       static constexpr int digits = 53;
1412:       static constexpr int digits10 = 15;
1412: 
1412:       static constexpr int max_digits10
1412:   = (2 + (53) * 643L / 2136);
1412: 
1412:       static constexpr bool is_signed = true;
1412:       static constexpr bool is_integer = false;
1412:       static constexpr bool is_exact = false;
1412:       static constexpr int radix = 2;
1412: 
1412:       static constexpr long double
1412:       epsilon() noexcept { return 2.2204460492503131e-16L; }
1412: 
1412:       static constexpr long double
1412:       round_error() noexcept { return 0.5L; }
1412: 
1412:       static constexpr int min_exponent = (-1021);
1412:       static constexpr int min_exponent10 = (-307);
1412:       static constexpr int max_exponent = 1024;
1412:       static constexpr int max_exponent10 = 308;
1412: 
1412:       static constexpr bool has_infinity = 1;
1412:       static constexpr bool has_quiet_NaN = 1;
1412:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1412:       static constexpr float_denorm_style has_denorm
1412:  = bool(1) ? denorm_present : denorm_absent;
1412:       static constexpr bool has_denorm_loss
1412:  = false;
1412: 
1412:       static constexpr long double
1412:       infinity() noexcept { return __builtin_huge_vall(); }
1412: 
1412:       static constexpr long double
1412:       quiet_NaN() noexcept { return __builtin_nanl(""); }
1412: 
1412:       static constexpr long double
1412:       signaling_NaN() noexcept { return __builtin_nansl(""); }
1412: 
1412:       static constexpr long double
1412:       denorm_min() noexcept { return 4.9406564584124654e-324L; }
1412: 
1412:       static constexpr bool is_iec559
1412:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1412:       static constexpr bool is_bounded = true;
1412:       static constexpr bool is_modulo = false;
1412: 
1412:       static constexpr bool traps = false;
1412:       static constexpr bool tinyness_before =
1412:       false;
1412:       static constexpr float_round_style round_style =
1412:             round_to_nearest;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 40 "/usr/include/c++/12/bits/chrono.h" 2 3
1412: # 1 "/usr/include/c++/12/ctime" 1 3
1412: # 39 "/usr/include/c++/12/ctime" 3
1412:        
1412: # 40 "/usr/include/c++/12/ctime" 3
1412: # 58 "/usr/include/c++/12/ctime" 3
1412: namespace std
1412: {
1412:   using ::clock_t;
1412:   using ::time_t;
1412:   using ::tm;
1412: 
1412:   using ::clock;
1412:   using ::difftime;
1412:   using ::mktime;
1412:   using ::time;
1412:   using ::asctime;
1412:   using ::ctime;
1412:   using ::gmtime;
1412:   using ::localtime;
1412:   using ::strftime;
1412: }
1412: 
1412: 
1412: 
1412: namespace std
1412: {
1412:   using ::timespec;
1412:   using ::timespec_get;
1412: }
1412: # 41 "/usr/include/c++/12/bits/chrono.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/parse_numbers.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/parse_numbers.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/parse_numbers.h" 3
1412: # 42 "/usr/include/c++/12/bits/parse_numbers.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: namespace __parse_int
1412: {
1412:   template<unsigned _Base, char _Dig>
1412:     struct _Digit;
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '0'> : integral_constant<unsigned, 0>
1412:     {
1412:       using __valid = true_type;
1412:     };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '1'> : integral_constant<unsigned, 1>
1412:     {
1412:       using __valid = true_type;
1412:     };
1412: 
1412:   template<unsigned _Base, unsigned _Val>
1412:     struct _Digit_impl : integral_constant<unsigned, _Val>
1412:     {
1412:       static_assert(_Base > _Val, "invalid digit");
1412:       using __valid = true_type;
1412:     };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '2'> : _Digit_impl<_Base, 2>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '3'> : _Digit_impl<_Base, 3>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '4'> : _Digit_impl<_Base, 4>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '5'> : _Digit_impl<_Base, 5>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '6'> : _Digit_impl<_Base, 6>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '7'> : _Digit_impl<_Base, 7>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '8'> : _Digit_impl<_Base, 8>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '9'> : _Digit_impl<_Base, 9>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'a'> : _Digit_impl<_Base, 0xa>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'A'> : _Digit_impl<_Base, 0xa>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'b'> : _Digit_impl<_Base, 0xb>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'B'> : _Digit_impl<_Base, 0xb>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'c'> : _Digit_impl<_Base, 0xc>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'C'> : _Digit_impl<_Base, 0xc>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'd'> : _Digit_impl<_Base, 0xd>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'D'> : _Digit_impl<_Base, 0xd>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'e'> : _Digit_impl<_Base, 0xe>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'E'> : _Digit_impl<_Base, 0xe>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'f'> : _Digit_impl<_Base, 0xf>
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, 'F'> : _Digit_impl<_Base, 0xf>
1412:     { };
1412: 
1412: 
1412:   template<unsigned _Base>
1412:     struct _Digit<_Base, '\''> : integral_constant<unsigned, 0>
1412:     {
1412:       using __valid = false_type;
1412:     };
1412: 
1412: 
1412: 
1412:   template<unsigned long long _Val>
1412:     using __ull_constant = integral_constant<unsigned long long, _Val>;
1412: 
1412:   template<unsigned _Base, char _Dig, char... _Digs>
1412:     struct _Power_help
1412:     {
1412:       using __next = typename _Power_help<_Base, _Digs...>::type;
1412:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1412:       using type
1412:  = __ull_constant<__next::value * (__valid_digit{} ? _Base : 1ULL)>;
1412:     };
1412: 
1412:   template<unsigned _Base, char _Dig>
1412:     struct _Power_help<_Base, _Dig>
1412:     {
1412:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1412:       using type = __ull_constant<__valid_digit::value>;
1412:     };
1412: 
1412:   template<unsigned _Base, char... _Digs>
1412:     struct _Power : _Power_help<_Base, _Digs...>::type
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Power<_Base> : __ull_constant<0>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char... _Digs>
1412:     struct _Number_help
1412:     {
1412:       using __digit = _Digit<_Base, _Dig>;
1412:       using __valid_digit = typename __digit::__valid;
1412:       using __next = _Number_help<_Base,
1412:       __valid_digit::value ? _Pow / _Base : _Pow,
1412:       _Digs...>;
1412:       using type = __ull_constant<_Pow * __digit::value + __next::type::value>;
1412:       static_assert((type::value / _Pow) == __digit::vaileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetFallbackLabel(std::string& value,
1417:                         const CFileItem* item,
1417:                         int contextWindow,
1417:                         const CGUIInfo& info,
1417:                         std::string* fallback) override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: 
1417: private:
1417:   bool GetPartyModeLabel(std::string& value, const CGUIInfo &info) const;
1417:   bool GetPlaylistInfo(std::string& value, const CGUIInfo &info) const;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PicturesGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PicturesGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CPicturesGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CPicturesGUIInfo();
1417:   ~CPicturesGUIInfo() override;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: 
1417:   void SetCurrentSlide(CFileItem *item);
1417:   const CFileItem* GetCurrentSlide() const;
1417: 
1417: private:
1417:   std::unique_ptr<CFileItem> m_currentSlide;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.h"
1417:        
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStreamDetail.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStreamDetail.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace detail
1417: {
1417: 
1417: template<typename Event>
1417: class ISubscription
1417: {
1417: public:
1417:   virtual void HandleEvent(const Event& event) = 0;
1417:   virtual void Cancel() = 0;
1417:   virtual bool IsOwnedBy(void* obj) = 0;
1417:   virtual ~ISubscription() = default;
1417: };
1417: 
1417: template<typename Event, typename Owner>
1417: class CSubscription : public ISubscription<Event>
1417: {
1417: public:
1417:   typedef void (Owner::*Fn)(const Event&);
1417:   CSubscription(Owner* owner, Fn fn);
1417:   void HandleEvent(const Event& event) override;
1417:   void Cancel() override;
1417:   bool IsOwnedBy(void *obj) override;
1417: 
1417: private:
1417:   Owner* m_owner;
1417:   Fn m_eventHandler;
1417:   CCriticalSection m_criticalSection;
1417: };
1417: 
1417: template<typename Event, typename Owner>
1417: CSubscription<Event, Owner>::CSubscription(Owner* owner, Fn fn)
1417:     : m_owner(owner), m_eventHandler(fn)
1417: {}
1417: 
1417: template<typename Event, typename Owner>
1417: bool CSubscription<Event, Owner>::IsOwnedBy(void* obj)
1417: {
1417:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1417:   return obj != nullptr && obj == m_owner;
1417: }
1417: 
1417: template<typename Event, typename Owner>
1417: void CSubscription<Event, Owner>::Cancel()
1417: {
1417:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1417:   m_owner = nullptr;
1417: }
1417: 
1417: template<typename Event, typename Owner>
1417: void CSubscription<Event, Owner>::HandleEvent(const Event& event)
1417: {
1417:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1417:   if (m_owner)
1417:     (m_owner->*m_eventHandler)(event);
1417: }
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:        
1417: 
1417: class CJob;
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 2
1417: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417: class IJobCallback
1417: {
1417: public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual ~IJobCallback() = default;
1417: # 53 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:   virtual void OnJobComplete(unsigned int jobID, bool success, CJob *job)=0;
1417: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:   virtual void OnJobAbort(unsigned int jobID, CJob* job) {}
1417: # 80 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:   virtual void OnJobProgress(unsigned int jobID,
1417:                              unsigned int progress,
1417:                              unsigned int total,
1417:                              const CJob* job)
1417:   {
1417:   }
1417: };
1417: 
1417: class CJobManager;
1417: # 109 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417: class CJob
1417: {
1417: public:
1417: 
1417: 
1417: 
1417: 
1417:   enum PRIORITY {
1417:     PRIORITY_LOW_PAUSABLE = 0,
1417:     PRIORITY_LOW,
1417:     PRIORITY_NORMAL,
1417:     PRIORITY_HIGH,
1417:     PRIORITY_DEDICATED,
1417:   };
1417:   CJob() { m_callback = 
1417: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 3 4
1417:                        __null
1417: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:                            ; }
1417: # 134 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:   virtual ~CJob() = default;
1417: # 144 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:   virtual bool DoWork() = 0;
1417: # 156 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:   virtual const char* GetType() const { return ""; }
1417: 
1417:   virtual bool operator==(const CJob* job) const
1417:   {
1417:     return false;
1417:   }
1417: # 175 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1417:   virtual bool ShouldCancel(unsigned int progress, unsigned int total) const;
1417: private:
1417:   friend class CJobManager;
1417:   CJobManager *m_callback;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/atomic" 1 3
1417: # 35 "/usr/include/c++/12/atomic" 3
1417:        
1417: # 36 "/usr/include/c++/12/atomic" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 43 "/usr/include/c++/12/atomic" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 56 "/usr/include/c++/12/atomic" 3
1417:   template<typename _Tp>
1417:     struct atomic;
1417: 
1417: 
1417: 
1417:   template<>
1417:   struct atomic<bool>
1417:   {
1417:     using value_type = bool;
1417: 
1417:   private:
1417:     __atomic_base<bool> _M_base;
1417: 
1417:   public:
1417:     atomic() noexcept = default;
1417:     ~atomic() noexcept = default;
1417:     atomic(const atomic&) = delete;
1417:     atomic& operator=(const atomic&) = delete;
1417:     atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:     constexpr atomic(bool __i) noexcept : _lue,
1412:       "integer literal does not fit in unsigned long long");
1412:     };
1412: 
1412: 
1412:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char..._Digs>
1412:     struct _Number_help<_Base, _Pow, '\'', _Dig, _Digs...>
1412:     : _Number_help<_Base, _Pow, _Dig, _Digs...>
1412:     { };
1412: 
1412: 
1412:   template<unsigned _Base, char _Dig>
1412:     struct _Number_help<_Base, 1ULL, _Dig>
1412:     {
1412:       using type = __ull_constant<_Digit<_Base, _Dig>::value>;
1412:     };
1412: 
1412:   template<unsigned _Base, char... _Digs>
1412:     struct _Number
1412:     : _Number_help<_Base, _Power<_Base, _Digs...>::value, _Digs...>::type
1412:     { };
1412: 
1412:   template<unsigned _Base>
1412:     struct _Number<_Base>
1412:     : __ull_constant<0>
1412:     { };
1412: 
1412: 
1412: 
1412:   template<char... _Digs>
1412:     struct _Parse_int;
1412: 
1412:   template<char... _Digs>
1412:     struct _Parse_int<'0', 'b', _Digs...>
1412:     : _Number<2U, _Digs...>::type
1412:     { };
1412: 
1412:   template<char... _Digs>
1412:     struct _Parse_int<'0', 'B', _Digs...>
1412:     : _Number<2U, _Digs...>::type
1412:     { };
1412: 
1412:   template<char... _Digs>
1412:     struct _Parse_int<'0', 'x', _Digs...>
1412:     : _Number<16U, _Digs...>::type
1412:     { };
1412: 
1412:   template<char... _Digs>
1412:     struct _Parse_int<'0', 'X', _Digs...>
1412:     : _Number<16U, _Digs...>::type
1412:     { };
1412: 
1412:   template<char... _Digs>
1412:     struct _Parse_int<'0', _Digs...>
1412:     : _Number<8U, _Digs...>::type
1412:     { };
1412: 
1412:   template<char... _Digs>
1412:     struct _Parse_int
1412:     : _Number<10U, _Digs...>::type
1412:     { };
1412: 
1412: }
1412: 
1412: 
1412: namespace __select_int
1412: {
1412:   template<unsigned long long _Val, typename... _Ints>
1412:     struct _Select_int_base;
1412: 
1412:   template<unsigned long long _Val, typename _IntType, typename... _Ints>
1412:     struct _Select_int_base<_Val, _IntType, _Ints...>
1412:     : __conditional_t<(_Val <= __gnu_cxx::__int_traits<_IntType>::__max),
1412:         integral_constant<_IntType, (_IntType)_Val>,
1412:         _Select_int_base<_Val, _Ints...>>
1412:     { };
1412: 
1412:   template<unsigned long long _Val>
1412:     struct _Select_int_base<_Val>
1412:     { };
1412: 
1412:   template<char... _Digs>
1412:     using _Select_int = typename _Select_int_base<
1412:  __parse_int::_Parse_int<_Digs...>::value,
1412:  unsigned char,
1412:  unsigned short,
1412:  unsigned int,
1412:  unsigned long,
1412:  unsigned long long
1412:       >::type;
1412: 
1412: }
1412: 
1412: 
1412: }
1412: # 42 "/usr/include/c++/12/bits/chrono.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   namespace filesystem { struct __file_clock; };
1412: 
1412: 
1412:   namespace chrono
1412:   {
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _Rep, typename _Period = ratio<1>>
1412:       struct duration;
1412: 
1412: 
1412:     template<typename _Clock, typename _Dur = typename _Clock::duration>
1412:       struct time_point;
1412: 
1412:   }
1412: # 77 "/usr/include/c++/12/bits/chrono.h" 3
1412:   template<typename _CT, typename _Period1, typename _Period2, typename = void>
1412:     struct __duration_common_type
1412:     { };
1412: 
1412:   template<typename _CT, typename _Period1, typename _Period2>
1412:     struct __duration_common_type<_CT, _Period1, _Period2,
1412:       __void_t<typename _CT::type>>
1412:     {
1412:     private:
1412:       using __gcd_num = __static_gcd<_Period1::num, _Period2::num>;
1412:       using __gcd_den = __static_gcd<_Period1::den, _Period2::den>;
1412:       using __cr = typename _CT::type;
1412:       using __r = ratio<__gcd_num::value,
1412:    (_Period1::den / __gcd_den::value) * _Period2::den>;
1412: 
1412:     public:
1412:       using type = chrono::duration<__cr, typename __r::type>;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
1412:     struct common_type<chrono::duration<_Rep1, _Period1>,
1412:          chrono::duration<_Rep2, _Period2>>
1412:     : __duration_common_type<common_type<_Rep1, _Rep2>,
1412:         typename _Period1::type,
1412:         typename _Period2::type>
1412:     { };
1412: 
1412: 
1412:   template<typename _Rep, typename _Period>
1412:     struct common_type<chrono::duration<_Rep, _Period>,
1412:          chrono::duration<_Rep, _Period>>
1412:     {
1412:       using type = chrono::duration<typename common_type<_Rep>::type,
1412:         typename _Period::type>;
1412:     };
1412: 
1412: 
1412:   template<typename _Rep, typename _Period>
1412:     struct common_type<chrono::duration<_Rep, _Period>>
1412:     {
1412:       using type = chrono::duration<typename common_type<_Rep>::type,
1412:         typename _Period::type>;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CT, typename _Clock, typename = void>
1412:     struct __timepoint_common_type
1412:     { };
1412: 
1412:   template<typename _CT, typename _Clock>
1412:     struct __timepoint_common_type<_CT, _Clock, __void_t<typename _CT::type>>
1412:     {
1412:       using type = chrono::time_point<_Clock, typename _CT::type>;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Clock, typename _Duration1, typename _Duration2>
1412:     struct common_type<chrono::time_point<_Clock, _Duration1>,
1412:          chrono::time_point<_Clock, _Duration2>>
1412:     : __timepoint_common_type<common_type<_Duration1, _Duration2>, _Clock>
1412:     { };
1412: 
1412: 
1412:   template<typename _Clock, typename _Duration>
1412:     struct common_type<chrono::time_point<_Clock, _Duration>,
1412:          chrono::time_point<_Clock, _Duration>>
1412:     { using type = chrono::time_point<_Clock, _Duration>; };
1412: 
1412: 
1412:   template<typename _Clock, typename _Duration>
1412:     struct common_type<chrono::time_point<_Clock, _Duration>>
1412:     { using type = chrono::time_point<_Clock, _Duration>; };
1412: 
1412: 
1412: 
1412: 
1412:   namespace chrono
1412:   {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _ToDur, typename _CF, typename _CR,
1412:       bool _NumIsOne = false, bool _DenIsOne = false>
1412:       struct __duration_cast_impl
1412:       {
1412:  template<typename _Rep, typename _Period>
1412:    static constexpr _ToDur
1412:    __cast(const duration<_Rep, _Period>& __d)
1412:    {
1412:      typedef typename _ToDur::rep __to_rep;
1412:      return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count())
1412:        * static_cast<_CR>(_CF::num)
1412:        / static_cast<_CR>(_CF::den)));
1412:    }
1412:       };
1412: 
1412:     template<typename _ToDur, typename _CF, typename _CR>
1412:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, true>
1412:       {
1412:  template<typename _Rep, typename _Period>
1412:    static constexpr _ToDur
1412:    __cast(const duration<_Rep, _Period>& __d)
1412:    {
1412:      typedef typename _ToDur::rep __to_rep;
1412:      return _ToDur(static_cast<__to_rep>(__d.count()));
1412:    }
1412:       };
1412: 
1412:     template<typename _ToDur, typename _CF, typename _CR>
1412:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, false>
1412:       {
1412:  template<typename _Rep, typename _Period>
1412:    static constexpr _ToDur
1412:    __cast(const duration<_Rep, _Period>& __d)
1412:    {
1412:      typedef typename _ToDur::rep __to_rep;
1412:      return _ToDur(static_cast<__to_rep>(
1412:        static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den)));
1412:    }
1412:       };
1412: 
1412:     template<typename _ToDur, typename _CF, typename _CR>
1412:       struct __duration_cast_impl<_ToDur, _CF, _CR, false, true>
1412:       {
1412:  template<typename _Rep, typename _Period>
1412:    static constexpr _ToDur
1412:    __cast(const duration<_Rep, _Period>& __d)
1412:    {
1412:      typedef typename _ToDur::rep __to_rep;
1412:      return _ToDur(static_cM_base(__i) { }
1417: 
1417:     bool
1417:     operator=(bool __i) noexcept
1417:     { return _M_base.operator=(__i); }
1417: 
1417:     bool
1417:     operator=(bool __i) volatile noexcept
1417:     { return _M_base.operator=(__i); }
1417: 
1417:     operator bool() const noexcept
1417:     { return _M_base.load(); }
1417: 
1417:     operator bool() const volatile noexcept
1417:     { return _M_base.load(); }
1417: 
1417:     bool
1417:     is_lock_free() const noexcept { return _M_base.is_lock_free(); }
1417: 
1417:     bool
1417:     is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); }
1417: 
1417: 
1417:     static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417: 
1417:     void
1417:     store(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1417:     { _M_base.store(__i, __m); }
1417: 
1417:     void
1417:     store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1417:     { _M_base.store(__i, __m); }
1417: 
1417:     bool
1417:     load(memory_order __m = memory_order_seq_cst) const noexcept
1417:     { return _M_base.load(__m); }
1417: 
1417:     bool
1417:     load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1417:     { return _M_base.load(__m); }
1417: 
1417:     bool
1417:     exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1417:     { return _M_base.exchange(__i, __m); }
1417: 
1417:     bool
1417:     exchange(bool __i,
1417:       memory_order __m = memory_order_seq_cst) volatile noexcept
1417:     { return _M_base.exchange(__i, __m); }
1417: 
1417:     bool
1417:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1417:      memory_order __m2) noexcept
1417:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1417: 
1417:     bool
1417:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1417:      memory_order __m2) volatile noexcept
1417:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1417: 
1417:     bool
1417:     compare_exchange_weak(bool& __i1, bool __i2,
1417:      memory_order __m = memory_order_seq_cst) noexcept
1417:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1417: 
1417:     bool
1417:     compare_exchange_weak(bool& __i1, bool __i2,
1417:        memory_order __m = memory_order_seq_cst) volatile noexcept
1417:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1417: 
1417:     bool
1417:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1417:        memory_order __m2) noexcept
1417:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1417: 
1417:     bool
1417:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1417:        memory_order __m2) volatile noexcept
1417:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1417: 
1417:     bool
1417:     compare_exchange_strong(bool& __i1, bool __i2,
1417:        memory_order __m = memory_order_seq_cst) noexcept
1417:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1417: 
1417:     bool
1417:     compare_exchange_strong(bool& __i1, bool __i2,
1417:       memory_order __m = memory_order_seq_cst) volatile noexcept
1417:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1417: # 182 "/usr/include/c++/12/atomic" 3
1417:   };
1417: # 195 "/usr/include/c++/12/atomic" 3
1417:   template<typename _Tp>
1417:     struct atomic
1417:     {
1417:       using value_type = _Tp;
1417: 
1417:     private:
1417: 
1417:       static constexpr int _S_min_alignment
1417:  = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16
1417:  ? 0 : sizeof(_Tp);
1417: 
1417:       static constexpr int _S_alignment
1417:         = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp);
1417: 
1417:       alignas(_S_alignment) _Tp _M_i ;
1417: 
1417:       static_assert(__is_trivially_copyable(_Tp),
1417:       "std::atomic requires a trivially copyable type");
1417: 
1417:       static_assert(sizeof(_Tp) > 0,
1417:       "Incomplete or zero-sized types are not supported");
1417: # 224 "/usr/include/c++/12/atomic" 3
1417:     public:
1417:       atomic() = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(_Tp __i) noexcept : _M_i(__i) { }
1417: 
1417:       operator _Tp() const noexcept
1417:       { return load(); }
1417: 
1417:       operator _Tp() const volatile noexcept
1417:       { return load(); }
1417: 
1417:       _Tp
1417:       operator=(_Tp __i) noexcept
1417:       { store(__i); return __i; }
1417: 
1417:       _Tp
1417:       operator=(_Tp __i) volatile noexcept
1417:       { store(__i); return __i; }
1417: 
1417:       bool
1417:       is_lock_free() const noexcept
1417:       {
1417: 
1417:  return __atomic_is_lock_free(sizeof(_M_i),
1417:      reinterpret_cast<void *>(-_S_alignment));
1417:       }
1417: 
1417:       bool
1417:       is_lock_free() const volatile noexcept
1417:       {
1417: 
1417:  return __atomic_is_lock_free(sizeof(_M_i),
1417:      reinterpret_cast<void *>(-_S_alignment));
1417:       }
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free
1417:  = __atomic_always_lock_free(sizeof(_M_i), 0);
1417: 
1417: 
1417:       void
1417:       store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1417:       }
1417: 
1417:       void
1417:       store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1417:       }
1417: 
1417:       _Tp
1417:       load(memory_order __m = memory_order_seq_cst) const noexcept
1417:       {
1417:  alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1417:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1417:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1417:  return *__ptr;
1417:       }
1417: 
1417:       _Tp
1417:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1417:       {
1417:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1417:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1417:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1417:  return *__ptr;
1417:       }
1417: 
1417:       _Tp
1417:       exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1417:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1417:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1417:      __ptr, int(__m));
1417:  return *__ptr;
1417:       }
1417: 
1417:       _Tp
1417:       exchange(_Tp __i,
1417:         memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1417:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1417:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1417:      __ptr, int(__m));
1417:  return *__ptr;
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1417:        memory_order __f) noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange(std::__addressof(_M_i),
1417:       std::__addressof(__e),
1417:       std::__addressof(__i),
1417:       true, int(__s), int(__f));
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1417:        memory_order __f) volatile noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange(std::__addressof(_M_i),
1417:       std::__addressof(__e),
1417:       std::__addressof(__i),
1417:       true, int(__s), int(__f)ast<__to_rep>(
1412:        static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num)));
1412:    }
1412:       };
1412: 
1412:     template<typename _Tp>
1412:       struct __is_duration
1412:       : std::false_type
1412:       { };
1412: 
1412:     template<typename _Rep, typename _Period>
1412:       struct __is_duration<duration<_Rep, _Period>>
1412:       : std::true_type
1412:       { };
1412: 
1412:     template<typename _Tp>
1412:       using __enable_if_is_duration
1412:  = typename enable_if<__is_duration<_Tp>::value, _Tp>::type;
1412: 
1412:     template<typename _Tp>
1412:       using __disable_if_is_duration
1412:  = typename enable_if<!__is_duration<_Tp>::value, _Tp>::type;
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _ToDur, typename _Rep, typename _Period>
1412:       constexpr __enable_if_is_duration<_ToDur>
1412:       duration_cast(const duration<_Rep, _Period>& __d)
1412:       {
1412:  typedef typename _ToDur::period __to_period;
1412:  typedef typename _ToDur::rep __to_rep;
1412:  typedef ratio_divide<_Period, __to_period> __cf;
1412:  typedef typename common_type<__to_rep, _Rep, intmax_t>::type __cr;
1412:  typedef __duration_cast_impl<_ToDur, __cf, __cr,
1412:           __cf::num == 1, __cf::den == 1> __dc;
1412:  return __dc::__cast(__d);
1412:       }
1412: 
1412: 
1412:     template<typename _Rep>
1412:       struct treat_as_floating_point
1412:       : is_floating_point<_Rep>
1412:       { };
1412: 
1412: 
1412:     template <typename _Rep>
1412:       inline constexpr bool treat_as_floating_point_v =
1412:  treat_as_floating_point<_Rep>::value;
1412: # 332 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _ToDur, typename _Rep, typename _Period>
1412:       constexpr __enable_if_is_duration<_ToDur>
1412:       floor(const duration<_Rep, _Period>& __d)
1412:       {
1412:  auto __to = chrono::duration_cast<_ToDur>(__d);
1412:  if (__to > __d)
1412:    return __to - _ToDur{1};
1412:  return __to;
1412:       }
1412: 
1412:     template<typename _ToDur, typename _Rep, typename _Period>
1412:       constexpr __enable_if_is_duration<_ToDur>
1412:       ceil(const duration<_Rep, _Period>& __d)
1412:       {
1412:  auto __to = chrono::duration_cast<_ToDur>(__d);
1412:  if (__to < __d)
1412:    return __to + _ToDur{1};
1412:  return __to;
1412:       }
1412: 
1412:     template <typename _ToDur, typename _Rep, typename _Period>
1412:       constexpr enable_if_t<
1412:  __and_<__is_duration<_ToDur>,
1412:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1412:  _ToDur>
1412:       round(const duration<_Rep, _Period>& __d)
1412:       {
1412:  _ToDur __t0 = chrono::floor<_ToDur>(__d);
1412:  _ToDur __t1 = __t0 + _ToDur{1};
1412:  auto __diff0 = __d - __t0;
1412:  auto __diff1 = __t1 - __d;
1412:  if (__diff0 == __diff1)
1412:  {
1412:      if (__t0.count() & 1)
1412:   return __t1;
1412:      return __t0;
1412:  }
1412:  else if (__diff0 < __diff1)
1412:      return __t0;
1412:  return __t1;
1412:       }
1412: 
1412:     template<typename _Rep, typename _Period>
1412:       constexpr
1412:       enable_if_t<numeric_limits<_Rep>::is_signed, duration<_Rep, _Period>>
1412:       abs(duration<_Rep, _Period> __d)
1412:       {
1412:  if (__d >= __d.zero())
1412:    return __d;
1412:  return -__d;
1412:       }
1412: 
1412: 
1412:     namespace __detail { using chrono::ceil; }
1412: # 412 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _Rep>
1412:       struct duration_values
1412:       {
1412:  static constexpr _Rep
1412:  zero() noexcept
1412:  { return _Rep(0); }
1412: 
1412:  static constexpr _Rep
1412:  max() noexcept
1412:  { return numeric_limits<_Rep>::max(); }
1412: 
1412:  static constexpr _Rep
1412:  min() noexcept
1412:  { return numeric_limits<_Rep>::lowest(); }
1412:       };
1412: 
1412: 
1412: 
1412:     template<typename _Tp>
1412:       struct __is_ratio
1412:       : std::false_type
1412:       { };
1412: 
1412:     template<intmax_t _Num, intmax_t _Den>
1412:       struct __is_ratio<ratio<_Num, _Den>>
1412:       : std::true_type
1412:       { };
1412: 
1412: 
1412: 
1412:     template<typename _Rep, typename _Period>
1412:       struct duration
1412:       {
1412:       private:
1412:  template<typename _Rep2>
1412:    using __is_float = treat_as_floating_point<_Rep2>;
1412: 
1412:  static constexpr intmax_t
1412:  _S_gcd(intmax_t __m, intmax_t __n) noexcept
1412:  {
1412: 
1412: 
1412: 
1412:    do
1412:      {
1412:        intmax_t __rem = __m % __n;
1412:        __m = __n;
1412:        __n = __rem;
1412:      }
1412:    while (__n != 0);
1412:    return __m;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  template<typename _R1, typename _R2,
1412:    intmax_t __gcd1 = _S_gcd(_R1::num, _R2::num),
1412:    intmax_t __gcd2 = _S_gcd(_R1::den, _R2::den)>
1412:    using __divide = ratio<(_R1::num / __gcd1) * (_R2::den / __gcd2),
1412:      (_R1::den / __gcd2) * (_R2::num / __gcd1)>;
1412: 
1412: 
1412:  template<typename _Period2>
1412:    using __is_harmonic
1412:      = __bool_constant<__divide<_Period2, _Period>::den == 1>;
1412: 
1412:       public:
1412: 
1412:  using rep = _Rep;
1412:  using period = typename _Period::type;
1412: 
1412:  static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
1412:  static_assert(__is_ratio<_Period>::value,
1412:         "period must be a specialization of ratio");
1412:  static_assert(_Period::num > 0, "period must be positive");
1412: 
1412: 
1412:  constexpr duration() = default;
1412: 
1412:  duration(const duration&) = default;
1412: 
1412: 
1412: 
1412:  template<typename _Rep2, typename = _Require<
1412:    is_convertible<const _Rep2&, rep>,
1412:    __or_<__is_float<rep>, __not_<__is_float<_Rep2>>>>>
1412:    constexpr explicit duration(const _Rep2& __rep)
1412:    : __r(static_cast<rep>(__rep)) { }
1412: 
1412:  template<typename _Rep2, typename _Period2, typename = _Require<
1412:    is_convertible<const _Rep2&, rep>,
1412:    __or_<__is_float<rep>,
1412:          __and_<__is_harmonic<_Period2>,
1412:          __not_<__is_float<_Rep2>>>>>>
1412:    constexpr duration(const duration<_Rep2, _Period2>& __d)
1412:    : __r(duration_cast<duration>(__d).count()) { }
1412: 
1412:  ~duration() = default;
1412:  duration& operator=(const duration&) = default;
1412: 
1412: 
1412:  constexpr rep
1412:  count() const
1412:  { return __r; }
1412: 
1412: 
1412: 
1412:  constexpr duration<typename common_type<rep>::type, period>
1412:  operator+() const
1412:  { return duration<typename common_type<rep>::type, period>(__r); }
1412: 
1412:  constexpr duration<typename common_type<rep>::type, period>
1412:  operator-() const
1412:  { return duration<typename common_type<rep>::type, period>(-__r); }
1412: 
1412:  constexpr duration&
1412:  operator++()
1412:  {
1412:    ++__r;
1412:    return *this;
1412:  }
1412: 
1412:  constexpr duration
1412:  operator++(int)
1412:  { return duration(__r++); }
1412: 
1412:  constexpr duration&
1412:  operator--()
1412:  {
1412:    --__r;
1412:    return *this;
1412:  }
1412: 
1412:  constexpr duration
1412:  operator--(int)
1412:  { return duration(__r--); }
1412: 
1412:  constexpr duration&
1412:  operator+=(const duration& __d)
1412:  {
1412:    __r += __d.count();
1412:    return *this;
1412:  }
1412: 
1412:  constexpr duration&
1412:  operator-=(const duration& __d)
1412:  {
1412:    __r -= __d.count();
1412:    return *this;
1412:  }
1412: 
1412:  constexpr duration&
1412:  operator*=(const rep& __rhs)
1412:  {
1412:    __r *= __rhs;
1412:    return *this;
1412:  }
1412: 
1412:  constexpr duration&
1412:  operator/=(const rep& __rhs)
1412:  {
1412:    __r /= __rhs;
1412:    return *this;
1412:  }
1412: 
1412: 
1412:  template<typename _Rep2 = rep>
1412:    constexpr
1412:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1412:         duration&>::type
1412:    operator%=(const rep& __rhs)
1412:    {
1412:      __r %= __rhs;
1412:      return *this;
1412:    }
1412: 
1412:  template<typename _Rep2 = rep>
1412:    constexpr
1412:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1412:     );
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_weak(_Tp& __e, _Tp __i,
1417:        memory_order __m = memory_order_seq_cst) noexcept
1417:       { return compare_exchange_weak(__e, __i, __m,
1417:                                      __cmpexch_failure_order(__m)); }
1417: 
1417:       bool
1417:       compare_exchange_weak(_Tp& __e, _Tp __i,
1417:        memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return compare_exchange_weak(__e, __i, __m,
1417:                                      __cmpexch_failure_order(__m)); }
1417: 
1417:       bool
1417:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1417:          memory_order __f) noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange(std::__addressof(_M_i),
1417:       std::__addressof(__e),
1417:       std::__addressof(__i),
1417:       false, int(__s), int(__f));
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1417:          memory_order __f) volatile noexcept
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1417: 
1417:  return __atomic_compare_exchange(std::__addressof(_M_i),
1417:       std::__addressof(__e),
1417:       std::__addressof(__i),
1417:       false, int(__s), int(__f));
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_strong(_Tp& __e, _Tp __i,
1417:           memory_order __m = memory_order_seq_cst) noexcept
1417:       { return compare_exchange_strong(__e, __i, __m,
1417:                                        __cmpexch_failure_order(__m)); }
1417: 
1417:       bool
1417:       compare_exchange_strong(_Tp& __e, _Tp __i,
1417:        memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return compare_exchange_strong(__e, __i, __m,
1417:                                        __cmpexch_failure_order(__m)); }
1417: # 410 "/usr/include/c++/12/atomic" 3
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     struct atomic<_Tp*>
1417:     {
1417:       using value_type = _Tp*;
1417:       using difference_type = ptrdiff_t;
1417: 
1417:       typedef _Tp* __pointer_type;
1417:       typedef __atomic_base<_Tp*> __base_type;
1417:       __base_type _M_b;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { }
1417: 
1417:       operator __pointer_type() const noexcept
1417:       { return __pointer_type(_M_b); }
1417: 
1417:       operator __pointer_type() const volatile noexcept
1417:       { return __pointer_type(_M_b); }
1417: 
1417:       __pointer_type
1417:       operator=(__pointer_type __p) noexcept
1417:       { return _M_b.operator=(__p); }
1417: 
1417:       __pointer_type
1417:       operator=(__pointer_type __p) volatile noexcept
1417:       { return _M_b.operator=(__p); }
1417: 
1417:       __pointer_type
1417:       operator++(int) noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b++;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator++(int) volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b++;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator--(int) noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b--;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator--(int) volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b--;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator++() noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return ++_M_b;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator++() volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return ++_M_b;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator--() noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return --_M_b;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator--() volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return --_M_b;
1417:       }
1417: 
1417:       __pointer_type
1417:       operator+=(ptrdiff_t __d) noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.operator+=(__d);
1417:       }
1417: 
1417:       __pointer_type
1417:       operator+=(ptrdiff_t __d) volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.operator+=(__d);
1417:       }
1417: 
1417:       __pointer_type
1417:       operator-=(ptrdiff_t __d) noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.operator-=(__d);
1417:       }
1417: 
1417:       __pointer_type
1417:       operator-=(ptrdiff_t __d) volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.operator-=(__d);
1417:       }
1417: 
1417:       bool
1417:       is_lock_free() const noexcept
1417:       { return _M_b.is_lock_free(); }
1417: 
1417:       bool
1417:       is_lock_free() const volatile noexcept
1417:       { return _M_b.is_lock_free(); }
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free
1417:  = 2 == 2;
1417: 
1417: 
1417:       void
1417:       store(__pointer_type __p,
1417:      memory_order __m = memory_order_seq_cst) noexcept
1417:       { return _M_b.store(__p, __m); }
1417: 
1417:       void
1417:       store(__pointer_type __p,
1417:      memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return _M_b.store(__p, __m); }
1417: 
1417:       __pointer_type
1417:       load(memory_order __m = memory_order_seq_cst) const noexcept
1417:       { return _M_b.load(__m); }
1417: 
1417:       __pointer_type
1417:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1417:       { return _M_b.load(__m); }
1417: 
1417:       __pointer_type
1417:       exchange(__pointer_type __p,
1417:         memory_order __m = memory_order_seq_cst) noexcept
1417:       { return _M_b.exchange(__p, __m); }
1417: 
1417:       __pointer_type
1417:       exchange(__pointer_type __p,
1417:         memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       { return _M_b.exchange(__p, __m); }
1417: 
1417:       bool
1417:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1417:        memory_order __m1, memory_order __m2) noexcept
1417:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1417: 
1417:       bool
1417:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1417:        memory_order __m1,
1417:        memory_order __m2) volatile noexcept
1417:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1417: 
1417:       bool
1417:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1417:        memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  return compare_exchange_weak(__p1, __p2, __m,
1417:          __cmpexch_failure_order(__m));
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1417:         duration&>::type
1412:    operator%=(const duration& __d)
1412:    {
1412:      __r %= __d.count();
1412:      return *this;
1412:    }
1412: 
1412: 
1412:  static constexpr duration
1412:  zero() noexcept
1412:  { return duration(duration_values<rep>::zero()); }
1412: 
1412:  static constexpr duration
1412:  min() noexcept
1412:  { return duration(duration_values<rep>::min()); }
1412: 
1412:  static constexpr duration
1412:  max() noexcept
1412:  { return duration(duration_values<rep>::max()); }
1412: 
1412:       private:
1412:  rep __r;
1412:       };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr typename common_type<duration<_Rep1, _Period1>,
1412:          duration<_Rep2, _Period2>>::type
1412:       operator+(const duration<_Rep1, _Period1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep1, _Period1> __dur1;
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<__dur1,__dur2>::type __cd;
1412:  return __cd(__cd(__lhs).count() + __cd(__rhs).count());
1412:       }
1412: 
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr typename common_type<duration<_Rep1, _Period1>,
1412:          duration<_Rep2, _Period2>>::type
1412:       operator-(const duration<_Rep1, _Period1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep1, _Period1> __dur1;
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<__dur1,__dur2>::type __cd;
1412:  return __cd(__cd(__lhs).count() - __cd(__rhs).count());
1412:       }
1412: # 661 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _Rep1, typename _Rep2,
1412:       typename _CRep = typename common_type<_Rep1, _Rep2>::type>
1412:       using __common_rep_t = typename
1412:  enable_if<is_convertible<const _Rep2&, _CRep>::value, _CRep>::type;
1412: # 673 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _Rep1, typename _Period, typename _Rep2>
1412:       constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period>
1412:       operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1412:       {
1412:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1412:    __cd;
1412:  return __cd(__cd(__d).count() * __s);
1412:       }
1412: 
1412:     template<typename _Rep1, typename _Rep2, typename _Period>
1412:       constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period>
1412:       operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d)
1412:       { return __d * __s; }
1412: 
1412:     template<typename _Rep1, typename _Period, typename _Rep2>
1412:       constexpr
1412:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1412:       operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1412:       {
1412:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1412:    __cd;
1412:  return __cd(__cd(__d).count() / __s);
1412:       }
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr typename common_type<_Rep1, _Rep2>::type
1412:       operator/(const duration<_Rep1, _Period1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep1, _Period1> __dur1;
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<__dur1,__dur2>::type __cd;
1412:  return __cd(__lhs).count() / __cd(__rhs).count();
1412:       }
1412: 
1412: 
1412:     template<typename _Rep1, typename _Period, typename _Rep2>
1412:       constexpr
1412:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1412:       operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1412:       {
1412:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1412:    __cd;
1412:  return __cd(__cd(__d).count() % __s);
1412:       }
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr typename common_type<duration<_Rep1, _Period1>,
1412:          duration<_Rep2, _Period2>>::type
1412:       operator%(const duration<_Rep1, _Period1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep1, _Period1> __dur1;
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<__dur1,__dur2>::type __cd;
1412:  return __cd(__cd(__lhs).count() % __cd(__rhs).count());
1412:       }
1412: # 741 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr bool
1412:       operator==(const duration<_Rep1, _Period1>& __lhs,
1412:    const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep1, _Period1> __dur1;
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<__dur1,__dur2>::type __ct;
1412:  return __ct(__lhs).count() == __ct(__rhs).count();
1412:       }
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr bool
1412:       operator<(const duration<_Rep1, _Period1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep1, _Period1> __dur1;
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<__dur1,__dur2>::type __ct;
1412:  return __ct(__lhs).count() < __ct(__rhs).count();
1412:       }
1412: # 778 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr bool
1412:       operator!=(const duration<_Rep1, _Period1>& __lhs,
1412:    const duration<_Rep2, _Period2>& __rhs)
1412:       { return !(__lhs == __rhs); }
1412: 
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr bool
1412:       operator<=(const duration<_Rep1, _Period1>& __lhs,
1412:    const duration<_Rep2, _Period2>& __rhs)
1412:       { return !(__rhs < __lhs); }
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr bool
1412:       operator>(const duration<_Rep1, _Period1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       { return __rhs < __lhs; }
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr bool
1412:       operator>=(const duration<_Rep1, _Period1>& __lhs,
1412:    const duration<_Rep2, _Period2>& __rhs)
1412:       { return !(__lhs < __rhs); }
1412: # 822 "/usr/include/c++/12/bits/chrono.h" 3
1412:     using nanoseconds = duration<int64_t, nano>;
1412: 
1412: 
1412:     using microseconds = duration<int64_t, micro>;
1412: 
1412: 
1412:     using milliseconds = duration<int64_t, milli>;
1412: 
1412: 
1412:     using seconds = duration<int64_t>;
1412: 
1412: 
1412:     using minutes = duration<int64_t, ratio< 60>>;
1412: 
1412: 
1412:     using hours = duration<int64_t, ratio<3600>>;
1412: # 855 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _Clock, typename _Dur>
1412:       struct time_point
1412:       {
1412:  static_assert(__is_duration<_Dur>::value,
1412:      "duration must be a specialization of std::chrono::duration");
1412: 
1412:  typedef _Clock clock;
1412:  typedef _Dur duration;
1412:  typedef typename duration::rep rep;
1412:  typedef typename duration::period period;
1412: 
1412:  constexpr time_point() : __d(duration::zero())
1412:  { }
1412: 
1412:  constexpr explicit time_point(const duration& __dur)
1412:  : __d(__dur)
1412:  { }
1412: 
1412: 
1412:  template<typename _Dur2,
1412:    typename = _Require<is_convertible<_Dur2, _Dur>>>
1412:    constexpr time_point(const time_point<clock, _Dur2>& __t)
1412:    : __d(__t.time_sinc  memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  return compare_exchange_weak(__p1, __p2, __m,
1417:          __cmpexch_failure_order(__m));
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1417:          memory_order __m1, memory_order __m2) noexcept
1417:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1417: 
1417:       bool
1417:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1417:          memory_order __m1,
1417:          memory_order __m2) volatile noexcept
1417:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1417: 
1417:       bool
1417:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1417:          memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1417:          __cmpexch_failure_order(__m));
1417:       }
1417: 
1417:       bool
1417:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1417:       memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1417:          __cmpexch_failure_order(__m));
1417:       }
1417: # 665 "/usr/include/c++/12/atomic" 3
1417:       __pointer_type
1417:       fetch_add(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.fetch_add(__d, __m);
1417:       }
1417: 
1417:       __pointer_type
1417:       fetch_add(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.fetch_add(__d, __m);
1417:       }
1417: 
1417:       __pointer_type
1417:       fetch_sub(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.fetch_sub(__d, __m);
1417:       }
1417: 
1417:       __pointer_type
1417:       fetch_sub(ptrdiff_t __d,
1417:   memory_order __m = memory_order_seq_cst) volatile noexcept
1417:       {
1417: 
1417:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1417: 
1417:  return _M_b.fetch_sub(__d, __m);
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct atomic<char> : __atomic_base<char>
1417:     {
1417:       typedef char __integral_type;
1417:       typedef __atomic_base<char> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<signed char> : __atomic_base<signed char>
1417:     {
1417:       typedef signed char __integral_type;
1417:       typedef __atomic_base<signed char> __base_type;
1417: 
1417:       atomic() noexcept= default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<unsigned char> : __atomic_base<unsigned char>
1417:     {
1417:       typedef unsigned char __integral_type;
1417:       typedef __atomic_base<unsigned char> __base_type;
1417: 
1417:       atomic() noexcept= default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<short> : __atomic_base<short>
1417:     {
1417:       typedef short __integral_type;
1417:       typedef __atomic_base<short> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<unsigned short> : __atomic_base<unsigned short>
1417:     {
1417:       typedef unsigned short __integral_type;
1417:       typedef __atomic_base<unsigned short> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<int> : __atomic_base<int>
1417:     {
1417:       typedef int __integral_type;
1417:       typedef __atomic_base<int> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 2 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<unsigned int> : __atomic_base<unsigned int>
1417:     {
1417:       typedef unsigned int __integral_type;
1417:       typedef __atomic_base<unsigned int> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 2 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<long> : __atomic_base<long>
1417:     {
1417:       typedef long __integral_type;
1417:       typedef __atomic_base<long> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = dele_epoch())
1412:    { }
1412: 
1412: 
1412:  constexpr duration
1412:  time_since_epoch() const
1412:  { return __d; }
1412: # 910 "/usr/include/c++/12/bits/chrono.h" 3
1412:  constexpr time_point&
1412:  operator+=(const duration& __dur)
1412:  {
1412:    __d += __dur;
1412:    return *this;
1412:  }
1412: 
1412:  constexpr time_point&
1412:  operator-=(const duration& __dur)
1412:  {
1412:    __d -= __dur;
1412:    return *this;
1412:  }
1412: 
1412: 
1412:  static constexpr time_point
1412:  min() noexcept
1412:  { return time_point(duration::min()); }
1412: 
1412:  static constexpr time_point
1412:  max() noexcept
1412:  { return time_point(duration::max()); }
1412: 
1412:       private:
1412:  duration __d;
1412:       };
1412: 
1412: 
1412:     template<typename _ToDur, typename _Clock, typename _Dur>
1412:       constexpr typename enable_if<__is_duration<_ToDur>::value,
1412:        time_point<_Clock, _ToDur>>::type
1412:       time_point_cast(const time_point<_Clock, _Dur>& __t)
1412:       {
1412:  typedef time_point<_Clock, _ToDur> __time_point;
1412:  return __time_point(duration_cast<_ToDur>(__t.time_since_epoch()));
1412:       }
1412: 
1412: 
1412:     template<typename _ToDur, typename _Clock, typename _Dur>
1412:       constexpr
1412:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1412:       floor(const time_point<_Clock, _Dur>& __tp)
1412:       {
1412:  return time_point<_Clock, _ToDur>{
1412:      chrono::floor<_ToDur>(__tp.time_since_epoch())};
1412:       }
1412: 
1412:     template<typename _ToDur, typename _Clock, typename _Dur>
1412:       constexpr
1412:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1412:       ceil(const time_point<_Clock, _Dur>& __tp)
1412:       {
1412:  return time_point<_Clock, _ToDur>{
1412:      chrono::ceil<_ToDur>(__tp.time_since_epoch())};
1412:       }
1412: 
1412:     template<typename _ToDur, typename _Clock, typename _Dur>
1412:       constexpr enable_if_t<
1412:  __and_<__is_duration<_ToDur>,
1412:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1412:  time_point<_Clock, _ToDur>>
1412:       round(const time_point<_Clock, _Dur>& __tp)
1412:       {
1412:  return time_point<_Clock, _ToDur>{
1412:      chrono::round<_ToDur>(__tp.time_since_epoch())};
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _Clock, typename _Dur1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr time_point<_Clock,
1412:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1412:       operator+(const time_point<_Clock, _Dur1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1412:  typedef time_point<_Clock, __ct> __time_point;
1412:  return __time_point(__lhs.time_since_epoch() + __rhs);
1412:       }
1412: 
1412: 
1412:     template<typename _Rep1, typename _Period1,
1412:       typename _Clock, typename _Dur2>
1412:       constexpr time_point<_Clock,
1412:  typename common_type<duration<_Rep1, _Period1>, _Dur2>::type>
1412:       operator+(const duration<_Rep1, _Period1>& __lhs,
1412:   const time_point<_Clock, _Dur2>& __rhs)
1412:       {
1412:  typedef duration<_Rep1, _Period1> __dur1;
1412:  typedef typename common_type<__dur1,_Dur2>::type __ct;
1412:  typedef time_point<_Clock, __ct> __time_point;
1412:  return __time_point(__rhs.time_since_epoch() + __lhs);
1412:       }
1412: 
1412: 
1412:     template<typename _Clock, typename _Dur1,
1412:       typename _Rep2, typename _Period2>
1412:       constexpr time_point<_Clock,
1412:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1412:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1412:   const duration<_Rep2, _Period2>& __rhs)
1412:       {
1412:  typedef duration<_Rep2, _Period2> __dur2;
1412:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1412:  typedef time_point<_Clock, __ct> __time_point;
1412:  return __time_point(__lhs.time_since_epoch() -__rhs);
1412:       }
1412: 
1412: 
1412:     template<typename _Clock, typename _Dur1, typename _Dur2>
1412:       constexpr typename common_type<_Dur1, _Dur2>::type
1412:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1412:   const time_point<_Clock, _Dur2>& __rhs)
1412:       { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _Clock, typename _Dur1, typename _Dur2>
1412:       constexpr bool
1412:       operator==(const time_point<_Clock, _Dur1>& __lhs,
1412:    const time_point<_Clock, _Dur2>& __rhs)
1412:       { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); }
1412: # 1050 "/usr/include/c++/12/bits/chrono.h" 3
1412:     template<typename _Clock, typename _Dur1, typename _Dur2>
1412:       constexpr bool
1412:       operator!=(const time_point<_Clock, _Dur1>& __lhs,
1412:    const time_point<_Clock, _Dur2>& __rhs)
1412:       { return !(__lhs == __rhs); }
1412: 
1412: 
1412:     template<typename _Clock, typename _Dur1, typename _Dur2>
1412:       constexpr bool
1412:       operator<(const time_point<_Clock, _Dur1>& __lhs,
1412:   const time_point<_Clock, _Dur2>& __rhs)
1412:       { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); }
1412: 
1412:     template<typename _Clock, typename _Dur1, typename _Dur2>
1412:       constexpr bool
1412:       operator<=(const time_point<_Clock, _Dur1>& __lhs,
1412:    const time_point<_Clock, _Dur2>& __rhs)
1412:       { return !(__rhs < __lhs); }
1412: 
1412:     template<typename _Clock, typename _Dur1, typename _Dur2>
1412:       constexpr bool
1412:       operator>(const time_point<_Clock, _Dur1>& __lhs,
1412:   const time_point<_Clock, _Dur2>& __rhs)
1412:       { return __rhs < __lhs; }
1412: 
1412:     template<typename _Clock, typename _Dur1, typename _Dur2>
1412:       constexpr bool
1412:       operator>=(const time_point<_Clock, _Dur1>& __lhs,
1412:    const time_point<_Clock, _Dur2>& __rhs)
1412:       { return !(__lhs < __rhs); }
1412: # 1102 "/usr/include/c++/12/bits/chrono.h" 3
1412:     inline namespace _V2 {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     struct system_clock
1412:     {
1412:       typedef chrono::nanoseconds duration;
1412:       typedef duration::rep rep;
1412:       typedef duration::period period;
1412:       typedef chrono::time_point<system_clock, duration> time_point;
1412: 
1412:       static_assert(system_clock::duration::min()
1412:       < system_clock::duration::zero(),
1412:       "a clock's minimum duration cannot be less than its epoch");
1412: 
1412:       static constexpr bool is_steady = false;
1412: 
1412:       static time_point
1412:       now() noexcept;
1412: 
1412: 
1412:       static std::time_t
1412:       to_time_t(const time_point& __t) noexcept
1412:       {
1412:  return std::time_t(duration_cast<chrono::seconds>
1412:       (__t.time_since_epoch()).count());
1412:       }
1412: 
1412:       static time_point
1412:       from_time_t(std::time_t __t) noexcept
1412:       {
1412:  typedef chrono::time_point<system_clock, seconds> __from;
1412:  return time_point_cast<system_clock::duration>
1412:         (__from(chrono::seconds(__t)));
1412:       }
1412:     };
1412: # 1150 "/usr/include/c++/12/bits/chrono.h" 3
1412:     struct steady_clock
1412:     {
1412:       typedef chrono::nanoseconds duration;
1412:       typedef duration::rep rep;
1412:       typedef duration::period period;
1412:       typedef chrono::time_point<steady_clock, duration> time_point;
1412: 
1412:       static constexpr bool is_steady = true;
1412: 
1412:       static time_point
1412:       now() noexcept;
1412:     };
1412: # 1172 "/usr/include/c++/12/bits/chrono.h" 3
1412:     using high_resolution_clock = system_clock;
1412: 
1412:     }
1412: # 1198 "/usr/include/c++/12/bits/chrono.h" 3
1412:   }
1412: 
1412: 
1412: 
1412: 
1412:   inline namespace literals
1412:   {
1412: # 1229 "/usr/include/c++/12/bits/chrono.h" 3
1412:   inline namespace chrono_literals
1412:   {
1412: 
1412: 
1412: 
1412: #ete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 2 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<unsigned long> : __atomic_base<unsigned long>
1417:     {
1417:       typedef unsigned long __integral_type;
1417:       typedef __atomic_base<unsigned long> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 2 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<long long> : __atomic_base<long long>
1417:     {
1417:       typedef long long __integral_type;
1417:       typedef __atomic_base<long long> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<unsigned long long> : __atomic_base<unsigned long long>
1417:     {
1417:       typedef unsigned long long __integral_type;
1417:       typedef __atomic_base<unsigned long long> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<wchar_t> : __atomic_base<wchar_t>
1417:     {
1417:       typedef wchar_t __integral_type;
1417:       typedef __atomic_base<wchar_t> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free = 2 == 2;
1417: 
1417:     };
1417: # 1010 "/usr/include/c++/12/atomic" 3
1417:   template<>
1417:     struct atomic<char16_t> : __atomic_base<char16_t>
1417:     {
1417:       typedef char16_t __integral_type;
1417:       typedef __atomic_base<char16_t> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free
1417:  = 1 == 2;
1417: 
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct atomic<char32_t> : __atomic_base<char32_t>
1417:     {
1417:       typedef char32_t __integral_type;
1417:       typedef __atomic_base<char32_t> __base_type;
1417: 
1417:       atomic() noexcept = default;
1417:       ~atomic() noexcept = default;
1417:       atomic(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) = delete;
1417:       atomic& operator=(const atomic&) volatile = delete;
1417: 
1417:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1417: 
1417:       using __base_type::operator __integral_type;
1417:       using __base_type::operator=;
1417: 
1417: 
1417:       static constexpr bool is_always_lock_free
1417:  = 2 == 2;
1417: 
1417:     };
1417: 
1417: 
1417: 
1417:   typedef atomic<bool> atomic_bool;
1417: 
1417: 
1417:   typedef atomic<char> atomic_char;
1417: 
1417: 
1417:   typedef atomic<signed char> atomic_schar;
1417: 
1417: 
1417:   typedef atomic<unsigned char> atomic_uchar;
1417: 
1417: 
1417:   typedef atomic<short> atomic_short;
1417: 
1417: 
1417:   typedef atomic<unsigned short> atomic_ushort;
1417: 
1417: 
1417:   typedef atomic<int> atomic_int;
1417: 
1417: 
1417:   typedef atomic<unsigned int> atomic_uint;
1417: 
1417: 
1417:   typedef atomic<long> atomic_long;
1417: 
1417: 
1417:   typedef atomic<unsigned long> atomic_ulong;
1417: 
1417: 
1417:   typedef atomic<long long> atomic_llong;
1417: 
1417: 
1417:   typedef atomic<unsigned long long> atomic_ullong;
1417: 
1417: 
1417:   typedef atomic<wchar_t> atomic_wchar_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef atomic<char16_t> atomic_char16_t;
1417: 
1417: 
1417:   typedef atomic<char32_t> atomic_char32_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef atomic<int8_t> atomic_int8_t;
1417: 
1417: 
1417:   typedef atomic<uint8_t> atomic_uint8_t;
1417: 
1417: 
1417:   typedef atomic<int16_t> atomic_int16_t;
1417: 
1417: 
1417:   typedef atomic<uint16_t> atomic_uint16_t;
1417: 
1417: 
1417:   typedef atomic<int32_t> atomic_int32_t;
1417: 
1417: 
1417:   typedef atomic<uint32_t> atomic_uint32_t;
1417: 
1417: 
1417:   typedef atomic<int64_t> atomic_int64_t;
1417: 
1417: 
1417:   typedef atomic<uint64_t> atomic_uint64_t;
1417: 
1417: 
1417: 
1417:   typedef atomic<int_least8_t> atomic_int_least8_t;
1417: 
1417: 
1417:   typedef atomic<uint_least8_t> atomic_uint_least8_t;
1417: 
1417: 
1417:   typedef atomic<int_least16_t> atomic_int_least16_t;
1417: 
1417: 
1417:   typedef atomic<uint_least16_t> atomic_uint_least16_t;
1417: 
1417: 
1417:   typedef atomic<int_least32_t> atomic_int_least32_t;
1417: 
1417: 
1417:   typedef atomic<uint_least32_t> atomic_uint_least32_t;
1417: 
1417: 
1417:   typedef atomic<int_least64_t> atomic_int_least64_t;
1417: 
1417: 
1417:   typedef atomic<uint_least64_t> atomic_uint_least64_t;
1417: 
1417: 
1417: 
1417:   typedef atomic<int_fast8_t> atomic_int_fast8_t;
1417: 
1417: 
1417:   typedef atomic<uint_fast8_t> atomic_uint_fast8_t;
1417: 
1417: 
1417:   typedef atomic<int_fast16_t> atomic_int_fast16_t;
1417: 
1417: 
1417:   typedef atomic<uint_fast16_t> atomic_uint_fast16_t;
1417: 
1417: 
1417:   typedef atomic<int_fast32_t> atomic_int_fast32_t;
1417: 
1417: 
1417:   typedef atomic<uint_fast32_t> atomic_uint_fast32_t;
1417: 
1417: 
1417:   typedef atomic<int_fast64_t> atomic_int_fast64_t;
1417: 
1417: 
1417:   typedef atomic<uint_fast64_t> atomic_uint_fast64_t;
1417: 
1417: 
1417: 
1417: 
1417:   typedef atomic<intptr_t> atomic_intptr_t;
1417: 
1417: 
1417:   typedef atomic<uintptr_t> atomic_uintptr_t;
1417: 
1417: 
1417:   typedef atomic<size_t> atomic_size_t;
1417: 
1417: 
1417:   typedef atomic<ptrdiff_t> atomic_ptrdiff_t;
1417: 
1417: 
1417: 
1417:   typedef atomic<intmax_t> atomic_intmax_t;
1417: 
1417: 
1417:   typedef atomic<uintmax_t> atomic_uintmax_t;
1417: 
1417: 
1417: 
1417:   inline bool
1417:   atomic_flag_test_and_set_explicit(atomic_flag* __a,
14pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1412: 
1412:     template<typename _Dur, char... _Digits>
1412:       constexpr _Dur __check_overflow()
1412:       {
1412:  using _Val = __parse_int::_Parse_int<_Digits...>;
1412:  constexpr typename _Dur::rep __repval = _Val::value;
1412:  static_assert(__repval >= 0 && __repval == _Val::value,
1412:         "literal value cannot be represented by duration type");
1412:  return _Dur(__repval);
1412:       }
1412: 
1412: 
1412: 
1412:     constexpr chrono::duration<long double, ratio<3600,1>>
1412:     operator""h(long double __hours)
1412:     { return chrono::duration<long double, ratio<3600,1>>{__hours}; }
1412: 
1412: 
1412:     template <char... _Digits>
1412:       constexpr chrono::hours
1412:       operator""h()
1412:       { return __check_overflow<chrono::hours, _Digits...>(); }
1412: 
1412: 
1412:     constexpr chrono::duration<long double, ratio<60,1>>
1412:     operator""min(long double __mins)
1412:     { return chrono::duration<long double, ratio<60,1>>{__mins}; }
1412: 
1412: 
1412:     template <char... _Digits>
1412:       constexpr chrono::minutes
1412:       operator""min()
1412:       { return __check_overflow<chrono::minutes, _Digits...>(); }
1412: 
1412: 
1412:     constexpr chrono::duration<long double>
1412:     operator""s(long double __secs)
1412:     { return chrono::duration<long double>{__secs}; }
1412: 
1412: 
1412:     template <char... _Digits>
1412:       constexpr chrono::seconds
1412:       operator""s()
1412:       { return __check_overflow<chrono::seconds, _Digits...>(); }
1412: 
1412: 
1412:     constexpr chrono::duration<long double, milli>
1412:     operator""ms(long double __msecs)
1412:     { return chrono::duration<long double, milli>{__msecs}; }
1412: 
1412: 
1412:     template <char... _Digits>
1412:       constexpr chrono::milliseconds
1412:       operator""ms()
1412:       { return __check_overflow<chrono::milliseconds, _Digits...>(); }
1412: 
1412: 
1412:     constexpr chrono::duration<long double, micro>
1412:     operator""us(long double __usecs)
1412:     { return chrono::duration<long double, micro>{__usecs}; }
1412: 
1412: 
1412:     template <char... _Digits>
1412:       constexpr chrono::microseconds
1412:       operator""us()
1412:       { return __check_overflow<chrono::microseconds, _Digits...>(); }
1412: 
1412: 
1412:     constexpr chrono::duration<long double, nano>
1412:     operator""ns(long double __nsecs)
1412:     { return chrono::duration<long double, nano>{__nsecs}; }
1412: 
1412: 
1412:     template <char... _Digits>
1412:       constexpr chrono::nanoseconds
1412:       operator""ns()
1412:       { return __check_overflow<chrono::nanoseconds, _Digits...>(); }
1412: 
1412: #pragma GCC diagnostic pop
1412: 
1412:   }
1412:   }
1412: 
1412:   namespace chrono
1412:   {
1412:     using namespace literals::chrono_literals;
1412:   }
1412: 
1412: 
1412: 
1412:   namespace filesystem
1412:   {
1412:     struct __file_clock
1412:     {
1412:       using duration = chrono::nanoseconds;
1412:       using rep = duration::rep;
1412:       using period = duration::period;
1412:       using time_point = chrono::time_point<__file_clock>;
1412:       static constexpr bool is_steady = false;
1412: 
1412:       static time_point
1412:       now() noexcept
1412:       { return _S_from_sys(chrono::system_clock::now()); }
1412: # 1355 "/usr/include/c++/12/bits/chrono.h" 3
1412:     private:
1412:       using __sys_clock = chrono::system_clock;
1412: 
1412: 
1412: 
1412: 
1412:       static constexpr chrono::seconds _S_epoch_diff{6437664000};
1412: 
1412:     protected:
1412: 
1412:       template<typename _Dur>
1412:  static
1412:  chrono::time_point<__file_clock, _Dur>
1412:  _S_from_sys(const chrono::time_point<__sys_clock, _Dur>& __t) noexcept
1412:  {
1412:    using __file_time = chrono::time_point<__file_clock, _Dur>;
1412:    return __file_time{__t.time_since_epoch()} - _S_epoch_diff;
1412:  }
1412: 
1412: 
1412:       template<typename _Dur>
1412:  static
1412:  chrono::time_point<__sys_clock, _Dur>
1412:  _S_to_sys(const chrono::time_point<__file_clock, _Dur>& __t) noexcept
1412:  {
1412:    using __sys_time = chrono::time_point<__sys_clock, _Dur>;
1412:    return __sys_time{__t.time_since_epoch()} + _S_epoch_diff;
1412:  }
1412:     };
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: # 43 "/usr/include/c++/12/mutex" 2 3
1412: # 1 "/usr/include/c++/12/bits/std_mutex.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/std_mutex.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/std_mutex.h" 3
1412: # 43 "/usr/include/c++/12/bits/std_mutex.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 57 "/usr/include/c++/12/bits/std_mutex.h" 3
1412:   class __mutex_base
1412:   {
1412:   protected:
1412:     typedef __gthread_mutex_t __native_type;
1412: 
1412: 
1412:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1412: 
1412:     constexpr __mutex_base() noexcept = default;
1412: # 78 "/usr/include/c++/12/bits/std_mutex.h" 3
1412:     __mutex_base(const __mutex_base&) = delete;
1412:     __mutex_base& operator=(const __mutex_base&) = delete;
1412:   };
1412: 
1412: 
1412:   class mutex : private __mutex_base
1412:   {
1412:   public:
1412:     typedef __native_type* native_handle_type;
1412: 
1412: 
1412:     constexpr
1412: 
1412:     mutex() noexcept = default;
1412:     ~mutex() = default;
1412: 
1412:     mutex(const mutex&) = delete;
1412:     mutex& operator=(const mutex&) = delete;
1412: 
1412:     void
1412:     lock()
1412:     {
1412:       int __e = __gthread_mutex_lock(&_M_mutex);
1412: 
1412: 
1412:       if (__e)
1412:  __throw_system_error(__e);
1412:     }
1412: 
1412:     bool
1412:     try_lock() noexcept
1412:     {
1412: 
1412:       return !__gthread_mutex_trylock(&_M_mutex);
1412:     }
1412: 
1412:     void
1412:     unlock()
1412:     {
1412: 
1412:       __gthread_mutex_unlock(&_M_mutex);
1412:     }
1412: 
1412:     native_handle_type
1412:     native_handle() noexcept
1412:     { return &_M_mutex; }
1412:   };
1412: 
1412: 
1412:   class __condvar
1412:   {
1412:     using timespec = __gthread_time_t;
1412: 
1412:   public:
1412:     __condvar() noexcept
1412:     {
1412: 
1412: 
1412: 
1412:     }
1412: 
1412:     ~__condvar()
1412:     {
1412:       int __e __attribute__((__unused__)) = __gthread_cond_destroy(&_M_cond);
1412:       do { if (std::__is_constant_evaluated() && !bool(__e != 16)) __builtin_unreachable(); } while (false);
1412:     }
1412: 
1412:     __condvar(const __condvar&) = delete;
1412:     __condvar& operator=(const __condvar&) = delete;
1412: 
1412:     __gthread_cond_t* native_handle() noexcept { return &_M_cond; }
1412: 
1412: 
1412:     void
1412:     wait(mutex& __m)
1412:     {
1412:       int __e __attribute__((__unused__))
1412:  = __gthread_cond_wait(&_M_cond, __m.native_handle());
1412:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1412:     }
1412: 
1412:     void
1412:     wait_until(mutex& __m, timespec& __abs_time)
1412:     {
1412:       __gthread_cond_timedwait(&_M_cond, __m.native_handle(), &__abs_time);
1412:     }
1412: 
1412: 
1412:     void
1412:     wait_until(mutex& __m, clockid_t __clock, timespec& __abs_time)
1412:     {
1412:       pthread_cond_clockwait(&_M_cond, __m.native_handle(), __clock,
1412:         &__abs_time);
1412:     }
1412: 
1412: 
1412:     void
1412:     notify_one() noexcept
1412:     {
1412:       int __e __attribute__((__unused__)) = __gthread_cond_signal(&_M_cond);
1412:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1412:     }
1412: 
1412:     void
1412:     notify_all() noexcept
1412:     {
1412:       int __e __attribute__((__unused__)) = __gthread_cond_broadcast(&_M_cond);
1412:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1412:     }
1412: 
1412:   protected:
1412: 
1412:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1412: 
1412: 17:         memory_order __m) noexcept
1417:   { return __a->test_and_set(__m); }
1417: 
1417:   inline bool
1417:   atomic_flag_test_and_set_explicit(volatile atomic_flag* __a,
1417:         memory_order __m) noexcept
1417:   { return __a->test_and_set(__m); }
1417: 
1417:   inline void
1417:   atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept
1417:   { __a->clear(__m); }
1417: 
1417:   inline void
1417:   atomic_flag_clear_explicit(volatile atomic_flag* __a,
1417:         memory_order __m) noexcept
1417:   { __a->clear(__m); }
1417: 
1417:   inline bool
1417:   atomic_flag_test_and_set(atomic_flag* __a) noexcept
1417:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
1417: 
1417:   inline bool
1417:   atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept
1417:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
1417: 
1417:   inline void
1417:   atomic_flag_clear(atomic_flag* __a) noexcept
1417:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1417: 
1417:   inline void
1417:   atomic_flag_clear(volatile atomic_flag* __a) noexcept
1417:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1417: 
1417: 
1417: 
1417:   template<typename _Tp>
1417:     using __atomic_val_t = __type_identity_t<_Tp>;
1417:   template<typename _Tp>
1417:     using __atomic_diff_t = typename atomic<_Tp>::difference_type;
1417: 
1417: 
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_is_lock_free(const atomic<_ITp>* __a) noexcept
1417:     { return __a->is_lock_free(); }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept
1417:     { return __a->is_lock_free(); }
1417: 
1417:   template<typename _ITp>
1417:     inline void
1417:     atomic_init(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1417:     { __a->store(__i, memory_order_relaxed); }
1417: 
1417:   template<typename _ITp>
1417:     inline void
1417:     atomic_init(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1417:     { __a->store(__i, memory_order_relaxed); }
1417: 
1417:   template<typename _ITp>
1417:     inline void
1417:     atomic_store_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1417:      memory_order __m) noexcept
1417:     { __a->store(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline void
1417:     atomic_store_explicit(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1417:      memory_order __m) noexcept
1417:     { __a->store(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept
1417:     { return __a->load(__m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_load_explicit(const volatile atomic<_ITp>* __a,
1417:     memory_order __m) noexcept
1417:     { return __a->load(__m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_exchange_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1417:         memory_order __m) noexcept
1417:     { return __a->exchange(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_exchange_explicit(volatile atomic<_ITp>* __a,
1417:         __atomic_val_t<_ITp> __i,
1417:         memory_order __m) noexcept
1417:     { return __a->exchange(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a,
1417:        __atomic_val_t<_ITp>* __i1,
1417:        __atomic_val_t<_ITp> __i2,
1417:        memory_order __m1,
1417:        memory_order __m2) noexcept
1417:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a,
1417:        __atomic_val_t<_ITp>* __i1,
1417:        __atomic_val_t<_ITp> __i2,
1417:        memory_order __m1,
1417:        memory_order __m2) noexcept
1417:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a,
1417:          __atomic_val_t<_ITp>* __i1,
1417:          __atomic_val_t<_ITp> __i2,
1417:          memory_order __m1,
1417:          memory_order __m2) noexcept
1417:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a,
1417:          __atomic_val_t<_ITp>* __i1,
1417:          __atomic_val_t<_ITp> __i2,
1417:          memory_order __m1,
1417:          memory_order __m2) noexcept
1417:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1417: 
1417: 
1417:   template<typename _ITp>
1417:     inline void
1417:     atomic_store(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1417:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline void
1417:     atomic_store(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1417:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_load(const atomic<_ITp>* __a) noexcept
1417:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_load(const volatile atomic<_ITp>* __a) noexcept
1417:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_exchange(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_exchange(volatile atomic<_ITp>* __a,
1417:       __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_weak(atomic<_ITp>* __a,
1417:      __atomic_val_t<_ITp>* __i1,
1417:      __atomic_val_t<_ITp> __i2) noexcept
1417:     {
1417:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1417:          memory_order_seq_cst,
1417:          memory_order_seq_cst);
1417:     }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_weak(volatile atomic<_ITp>* __a,
1417:      __atomic_val_t<_ITp>* __i1,
1417:      __atomic_val_t<_ITp> __i2) noexcept
1417:     {
1417:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1417:          memory_order_seq_cst,
1417:          memory_order_seq_cst);
1417:     }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_strong(atomic<_ITp>* __a,
1417:        __atomic_val_t<_ITp>* __i1,
1417:        __atomic_val_t<_ITp> __i2) noexcept
1417:     {
1417:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1417:            memory_order_seq_cst,
1417:            memory_order_seq_cst);
1417:     }
1417: 
1417:   template<typename _ITp>
1417:     inline bool
1417:     atomic_compare_exchange_strong(volatile atomic<_ITp>* __a,
1417:        __atomic_val_t<_ITp>* __i1,
1417:        __atomic_val_t<_ITp> __i2) noexcept
1417:     {
1417:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1417:            memory_order_seq_cst,
1417:            memory_order_seq_cst);
1417:     }
1417: # 1451 "/usr/include/c++/12/atomic" 3
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_add_explicit(atomic<_ITp>* __a,
1417:          __atomic_diff_t<_ITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_add(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_add_explicit(volatile atomic<_ITp>* __a,
1417:          __atomic_diff_t<_
1412: 
1412:   };
1412: 
1412: 
1412: 
1412: 
1412:   struct defer_lock_t { explicit defer_lock_t() = default; };
1412: 
1412: 
1412:   struct try_to_lock_t { explicit try_to_lock_t() = default; };
1412: 
1412: 
1412: 
1412:   struct adopt_lock_t { explicit adopt_lock_t() = default; };
1412: 
1412: 
1412:   inline constexpr defer_lock_t defer_lock { };
1412: 
1412: 
1412:   inline constexpr try_to_lock_t try_to_lock { };
1412: 
1412: 
1412:   inline constexpr adopt_lock_t adopt_lock { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Mutex>
1412:     class lock_guard
1412:     {
1412:     public:
1412:       typedef _Mutex mutex_type;
1412: 
1412:       explicit lock_guard(mutex_type& __m) : _M_device(__m)
1412:       { _M_device.lock(); }
1412: 
1412:       lock_guard(mutex_type& __m, adopt_lock_t) noexcept : _M_device(__m)
1412:       { }
1412: 
1412:       ~lock_guard()
1412:       { _M_device.unlock(); }
1412: 
1412:       lock_guard(const lock_guard&) = delete;
1412:       lock_guard& operator=(const lock_guard&) = delete;
1412: 
1412:     private:
1412:       mutex_type& _M_device;
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 44 "/usr/include/c++/12/mutex" 2 3
1412: # 1 "/usr/include/c++/12/bits/unique_lock.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/unique_lock.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/unique_lock.h" 3
1412: # 43 "/usr/include/c++/12/bits/unique_lock.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 56 "/usr/include/c++/12/bits/unique_lock.h" 3
1412:   template<typename _Mutex>
1412:     class unique_lock
1412:     {
1412:     public:
1412:       typedef _Mutex mutex_type;
1412: 
1412:       unique_lock() noexcept
1412:       : _M_device(0), _M_owns(false)
1412:       { }
1412: 
1412:       explicit unique_lock(mutex_type& __m)
1412:       : _M_device(std::__addressof(__m)), _M_owns(false)
1412:       {
1412:  lock();
1412:  _M_owns = true;
1412:       }
1412: 
1412:       unique_lock(mutex_type& __m, defer_lock_t) noexcept
1412:       : _M_device(std::__addressof(__m)), _M_owns(false)
1412:       { }
1412: 
1412:       unique_lock(mutex_type& __m, try_to_lock_t)
1412:       : _M_device(std::__addressof(__m)), _M_owns(_M_device->try_lock())
1412:       { }
1412: 
1412:       unique_lock(mutex_type& __m, adopt_lock_t) noexcept
1412:       : _M_device(std::__addressof(__m)), _M_owns(true)
1412:       {
1412: 
1412:       }
1412: 
1412:       template<typename _Clock, typename _Duration>
1412:  unique_lock(mutex_type& __m,
1412:       const chrono::time_point<_Clock, _Duration>& __atime)
1412:  : _M_device(std::__addressof(__m)),
1412:    _M_owns(_M_device->try_lock_until(__atime))
1412:  { }
1412: 
1412:       template<typename _Rep, typename _Period>
1412:  unique_lock(mutex_type& __m,
1412:       const chrono::duration<_Rep, _Period>& __rtime)
1412:  : _M_device(std::__addressof(__m)),
1412:    _M_owns(_M_device->try_lock_for(__rtime))
1412:  { }
1412: 
1412:       ~unique_lock()
1412:       {
1412:  if (_M_owns)
1412:    unlock();
1412:       }
1412: 
1412:       unique_lock(const unique_lock&) = delete;
1412:       unique_lock& operator=(const unique_lock&) = delete;
1412: 
1412:       unique_lock(unique_lock&& __u) noexcept
1412:       : _M_device(__u._M_device), _M_owns(__u._M_owns)
1412:       {
1412:  __u._M_device = 0;
1412:  __u._M_owns = false;
1412:       }
1412: 
1412:       unique_lock& operator=(unique_lock&& __u) noexcept
1412:       {
1412:  if(_M_owns)
1412:    unlock();
1412: 
1412:  unique_lock(std::move(__u)).swap(*this);
1412: 
1412:  __u._M_device = 0;
1412:  __u._M_owns = false;
1412: 
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       lock()
1412:       {
1412:  if (!_M_device)
1412:    __throw_system_error(int(errc::operation_not_permitted));
1412:  else if (_M_owns)
1412:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1412:  else
1412:    {
1412:      _M_device->lock();
1412:      _M_owns = true;
1412:    }
1412:       }
1412: 
1412:       bool
1412:       try_lock()
1412:       {
1412:  if (!_M_device)
1412:    __throw_system_error(int(errc::operation_not_permitted));
1412:  else if (_M_owns)
1412:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1412:  else
1412:    {
1412:      _M_owns = _M_device->try_lock();
1412:      return _M_owns;
1412:    }
1412:       }
1412: 
1412:       template<typename _Clock, typename _Duration>
1412:  bool
1412:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1412:  {
1412:    if (!_M_device)
1412:      __throw_system_error(int(errc::operation_not_permitted));
1412:    else if (_M_owns)
1412:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1412:    else
1412:      {
1412:        _M_owns = _M_device->try_lock_until(__atime);
1412:        return _M_owns;
1412:      }
1412:  }
1412: 
1412:       template<typename _Rep, typename _Period>
1412:  bool
1412:  try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1412:  {
1412:    if (!_M_device)
1412:      __throw_system_error(int(errc::operation_not_permitted));
1412:    else if (_M_owns)
1412:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1412:    else
1412:      {
1412:        _M_owns = _M_device->try_lock_for(__rtime);
1412:        return _M_owns;
1412:      }
1412:   }
1412: 
1412:       void
1412:       unlock()
1412:       {
1412:  if (!_M_owns)
1412:    __throw_system_error(int(errc::operation_not_permitted));
1412:  else if (_M_device)
1412:    {
1412:      _M_device->unlock();
1412:      _M_owns = false;
1412:    }
1412:       }
1412: 
1412:       void
1412:       swap(unique_lock& __u) noexcept
1412:       {
1412:  std::swap(_M_device, __u._M_device);
1412:  std::swap(_M_owns, __u._M_owns);
1412:       }
1412: 
1412:       mutex_type*
1412:       release() noexcept
1412:       {
1412:  mutex_type* __ret = _M_device;
1412:  _M_device = 0;
1412:  _M_owns = false;
1412:  return __ret;
1412:       }
1412: 
1412:       bool
1412:       owns_lock() const noexcept
1412:       { return _M_owns; }
1412: 
1412:       explicit operator bool() const noexcept
1412:       { return owns_lock(); }
1412: 
1412:       mutex_type*
1412:       mutex() const noexcept
1412:       { return _M_device; }
1412: 
1412:     private:
1412:       mutex_type* _M_device;
1412:       bool _M_owns;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Mutex>
1412:     inline void
1412:     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: }
1412: # 45 "/usr/include/c++/12/mutex" 2 3
1412: # 55 "/usr/include/c++/12/mutex" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 67 "/usr/include/c++/12/mutex" 3
1412:   class __recursive_mutex_base
1412:   {
1412:   protected:
1412:     typedef __gthread_recursive_mutex_t __native_type;
1412: 
1412:     __recursive_mutex_base(const __recursive_mutex_base&) = delete;
1412:     __recursive_mutex_base& operator=(const __recursive_mutex_base&) = delete;
1412: 
1412: 
1412:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1412: 
1412:     __recursive_mutex_base() = default;
1412: # 91 "/usr/include/c++/12/mutex" 3
1412:   };
1412: 
1412: 
1412:   class recursive_mutex : private __recursive_mutex_base
1412:   {
1412:   public:
1412:     typedef __native_type* native_handle_type;
1412: 
1412:     recursive_mutex() = default;
1412:     ~recursive_mutex() = default;
1412: 
1412:     recursive_mutex(const recursive_mutex&) = delete;
1412:     recursive_mutex& operator=(const recursive_mutex&) = delete;
1412: 
1412:     void
1412:     lock()
1412:     {
1412:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1412: 
1412: 
1412:       if (__e)
1412:  __throw_system_error(__e);
1412:     }
1412: 
1412:     bool
1412:     try_lock() noexcept
1412:     {
1412: 
1412:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1412:     }
1412: 
1412:     void
1412:     unlock()
1412:     {
1412: 
1412:       __gthread_recursive_mutex_unlock(&_MITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_add(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_sub_explicit(atomic<_ITp>* __a,
1417:          __atomic_diff_t<_ITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_sub(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_sub_explicit(volatile atomic<_ITp>* __a,
1417:          __atomic_diff_t<_ITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_sub(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_and_explicit(__atomic_base<_ITp>* __a,
1417:          __atomic_val_t<_ITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_and(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a,
1417:          __atomic_val_t<_ITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_and(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_or_explicit(__atomic_base<_ITp>* __a,
1417:         __atomic_val_t<_ITp> __i,
1417:         memory_order __m) noexcept
1417:     { return __a->fetch_or(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a,
1417:         __atomic_val_t<_ITp> __i,
1417:         memory_order __m) noexcept
1417:     { return __a->fetch_or(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a,
1417:          __atomic_val_t<_ITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_xor(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a,
1417:          __atomic_val_t<_ITp> __i,
1417:          memory_order __m) noexcept
1417:     { return __a->fetch_xor(__i, __m); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_add(atomic<_ITp>* __a,
1417:        __atomic_diff_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_add(volatile atomic<_ITp>* __a,
1417:        __atomic_diff_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_sub(atomic<_ITp>* __a,
1417:        __atomic_diff_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_sub(volatile atomic<_ITp>* __a,
1417:        __atomic_diff_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_and(__atomic_base<_ITp>* __a,
1417:        __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_and(volatile __atomic_base<_ITp>* __a,
1417:        __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_or(__atomic_base<_ITp>* __a,
1417:       __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_or(volatile __atomic_base<_ITp>* __a,
1417:       __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_xor(__atomic_base<_ITp>* __a,
1417:        __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1417: 
1417:   template<typename _ITp>
1417:     inline _ITp
1417:     atomic_fetch_xor(volatile __atomic_base<_ITp>* __a,
1417:        __atomic_val_t<_ITp> __i) noexcept
1417:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1417: # 1649 "/usr/include/c++/12/atomic" 3
1417: 
1417: }
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1417: # 1 "/usr/include/c++/12/future" 1 3
1417: # 32 "/usr/include/c++/12/future" 3
1417:        
1417: # 33 "/usr/include/c++/12/future" 3
1417: # 43 "/usr/include/c++/12/future" 3
1417: # 1 "/usr/include/c++/12/bits/atomic_futex.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/atomic_futex.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/atomic_futex.h" 3
1417: # 46 "/usr/include/c++/12/bits/atomic_futex.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   struct __atomic_futex_unsigned_base
1417:   {
1417: 
1417: 
1417:     bool
1417:     _M_futex_wait_until(unsigned *__addr, unsigned __val, bool __has_timeout,
1417:  chrono::seconds __s, chrono::nanoseconds __ns);
1417: 
1417: 
1417: 
1417:     bool
1417:     _M_futex_wait_until_steady(unsigned *__addr, unsigned __val,
1417:  bool __has_timeout, chrono::seconds __s, chrono::nanoseconds __ns);
1417: 
1417: 
1417:     static void _M_futex_notify_all(unsigned* __addr);
1417:   };
1417: 
1417:   template <unsigned _Waiter_bit = 0x80000000>
1417:   class __atomic_futex_unsigned : __atomic_futex_unsigned_base
1417:   {
1417:     typedef chrono::steady_clock __clock_t;
1417: 
1417: 
1417:     atomic<unsigned> _M_data;
1417: 
1417:   public:
1417:     explicit
1417:     __atomic_futex_unsigned(unsigned __data) : _M_data(__data)
1417:     { }
1417: 
1417:     inline __attribute__((__always_inline__)) unsigned
1417:     _M_load(memory_order __mo)
1417:     {
1417:       return _M_data.load(__mo) & ~_Waiter_bit;
1417:     }
1417: 
1417:   private:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     unsigned
1417:     _M_load_and_test_until(unsigned __assumed, unsigned __operand,
1417:  bool __equal, memory_order __mo, bool __has_timeout,
1417:  chrono::seconds __s, chrono::nanoseconds __ns)
1417:     {
1417:       for (;;)
1417:  {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    _M_data.fetch_or(_Waiter_bit, memory_order_relaxed);
1417:    bool __ret = _M_futex_wait_until((unsigned*)(void*)&_M_data,
1417:         __assumed | _Waiter_bit,
1417:         __has_timeout, __s, __ns);
1417: 
1417:    __assumed = _M_load(__mo);
1417:    if (!__ret || ((__operand == __assumed) == __equal))
1417:      return __assumed;
1417: 
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     unsigned
1417:     _M_load_and_test_until_steady(unsigned __assumed, unsigned __operand,
1417:  bool __equal, memory_order __mo, bool __has_timeout,
1417:  chrono::seconds __s, chrono::nanoseconds __ns)
1417:     {
1417:       for (;;)
1417:  {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    _M_data.fetch_or(_Waiter_bit, memory_order_relaxed);
1417:    bool __ret = _M_futex_wait_until_steady((unsigned*)(void*)&_M_data,
1417:         __assumed | _Waiter_bit,
1417:         __has_timeout, __s, __ns);
1417: 
1417:    __assumed = _M_load(__mo);
1417:    if (!__ret || ((__operand == __assumed) == __equal))
1417:      return __assumed;
1417: 
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     unsigned
1417:     _M_load_and_test(unsigned __assumed, unsigned __operand,
1417:  bool __equal, memory_order __mo)
1417:     {
1417:       return _M_load_and_test_until(__assumed, __operand, __equal, __mo,
1417:         false, {}, {});
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _Dur>
1417:     unsigned
1417:     _M_load_and_test_until_impl(unsigned __assumed, unsigned __operand,
1417:  bool __equal, m_mutex);
1412:     }
1412: 
1412:     native_handle_type
1412:     native_handle() noexcept
1412:     { return &_M_mutex; }
1412:   };
1412: 
1412: 
1412:   template<typename _Derived>
1412:     class __timed_mutex_impl
1412:     {
1412:     protected:
1412:       template<typename _Rep, typename _Period>
1412:  bool
1412:  _M_try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1412:  {
1412: 
1412:    using __clock = chrono::steady_clock;
1412: 
1412: 
1412: 
1412: 
1412:    auto __rt = chrono::duration_cast<__clock::duration>(__rtime);
1412:    if (ratio_greater<__clock::period, _Period>())
1412:      ++__rt;
1412:    return _M_try_lock_until(__clock::now() + __rt);
1412:  }
1412: 
1412:       template<typename _Duration>
1412:  bool
1412:  _M_try_lock_until(const chrono::time_point<chrono::system_clock,
1412:          _Duration>& __atime)
1412:  {
1412:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:    __gthread_time_t __ts = {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:    return static_cast<_Derived*>(this)->_M_timedlock(__ts);
1412:  }
1412: 
1412: 
1412:       template<typename _Duration>
1412:  bool
1412:  _M_try_lock_until(const chrono::time_point<chrono::steady_clock,
1412:          _Duration>& __atime)
1412:  {
1412:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:    __gthread_time_t __ts = {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:    return static_cast<_Derived*>(this)->_M_clocklock(1,
1412:            __ts);
1412:  }
1412: 
1412: 
1412:       template<typename _Clock, typename _Duration>
1412:  bool
1412:  _M_try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1412:  {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:    auto __now = _Clock::now();
1412:    do {
1412:      auto __rtime = __atime - __now;
1412:      if (_M_try_lock_for(__rtime))
1412:        return true;
1412:      __now = _Clock::now();
1412:    } while (__atime > __now);
1412:    return false;
1412:  }
1412:     };
1412: 
1412: 
1412:   class timed_mutex
1412:   : private __mutex_base, public __timed_mutex_impl<timed_mutex>
1412:   {
1412:   public:
1412:     typedef __native_type* native_handle_type;
1412: 
1412:     timed_mutex() = default;
1412:     ~timed_mutex() = default;
1412: 
1412:     timed_mutex(const timed_mutex&) = delete;
1412:     timed_mutex& operator=(const timed_mutex&) = delete;
1412: 
1412:     void
1412:     lock()
1412:     {
1412:       int __e = __gthread_mutex_lock(&_M_mutex);
1412: 
1412: 
1412:       if (__e)
1412:  __throw_system_error(__e);
1412:     }
1412: 
1412:     bool
1412:     try_lock() noexcept
1412:     {
1412: 
1412:       return !__gthread_mutex_trylock(&_M_mutex);
1412:     }
1412: 
1412:     template <class _Rep, class _Period>
1412:       bool
1412:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1412:       { return _M_try_lock_for(__rtime); }
1412: 
1412:     template <class _Clock, class _Duration>
1412:       bool
1412:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1412:       { return _M_try_lock_until(__atime); }
1412: 
1412:     void
1412:     unlock()
1412:     {
1412: 
1412:       __gthread_mutex_unlock(&_M_mutex);
1412:     }
1412: 
1412:     native_handle_type
1412:     native_handle() noexcept
1412:     { return &_M_mutex; }
1412: 
1412:     private:
1412:       friend class __timed_mutex_impl<timed_mutex>;
1412: 
1412:       bool
1412:       _M_timedlock(const __gthread_time_t& __ts)
1412:       { return !__gthread_mutex_timedlock(&_M_mutex, &__ts); }
1412: 
1412: 
1412:       bool
1412:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1412:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1412: 
1412:   };
1412: 
1412: 
1412:   class recursive_timed_mutex
1412:   : private __recursive_mutex_base,
1412:     public __timed_mutex_impl<recursive_timed_mutex>
1412:   {
1412:   public:
1412:     typedef __native_type* native_handle_type;
1412: 
1412:     recursive_timed_mutex() = default;
1412:     ~recursive_timed_mutex() = default;
1412: 
1412:     recursive_timed_mutex(const recursive_timed_mutex&) = delete;
1412:     recursive_timed_mutex& operator=(const recursive_timed_mutex&) = delete;
1412: 
1412:     void
1412:     lock()
1412:     {
1412:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1412: 
1412: 
1412:       if (__e)
1412:  __throw_system_error(__e);
1412:     }
1412: 
1412:     bool
1412:     try_lock() noexcept
1412:     {
1412: 
1412:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1412:     }
1412: 
1412:     template <class _Rep, class _Period>
1412:       bool
1412:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1412:       { return _M_try_lock_for(__rtime); }
1412: 
1412:     template <class _Clock, class _Duration>
1412:       bool
1412:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1412:       { return _M_try_lock_until(__atime); }
1412: 
1412:     void
1412:     unlock()
1412:     {
1412: 
1412:       __gthread_recursive_mutex_unlock(&_M_mutex);
1412:     }
1412: 
1412:     native_handle_type
1412:     native_handle() noexcept
1412:     { return &_M_mutex; }
1412: 
1412:     private:
1412:       friend class __timed_mutex_impl<recursive_timed_mutex>;
1412: 
1412:       bool
1412:       _M_timedlock(const __gthread_time_t& __ts)
1412:       { return !__gthread_recursive_mutex_timedlock(&_M_mutex, &__ts); }
1412: 
1412: 
1412:       bool
1412:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1412:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1412: 
1412:   };
1412: # 515 "/usr/include/c++/12/mutex" 3
1412:   namespace __detail
1412:   {
1412: 
1412:     template<typename _Lockable>
1412:       inline int
1412:       __try_lock_impl(_Lockable& __l)
1412:       {
1412:  if (unique_lock<_Lockable> __lock{__l, try_to_lock})
1412:    {
1412:      __lock.release();
1412:      return -1;
1412:    }
1412:  else
1412:    return 0;
1412:       }
1412: 
1412: 
1412: 
1412:     template<typename _L0, typename... _Lockables>
1412:       inline int
1412:       __try_lock_impl(_L0& __l0, _Lockables&... __lockables)
1412:       {
1412: 
1412:  if constexpr ((is_same_v<_L0, _Lockables> && ...))
1412:    {
1412:      constexpr int _Np = 1 + sizeof...(_Lockables);
1412:      unique_lock<_L0> __locks[_Np] = {
1412:   {__l0, defer_lock}, {__lockables, defer_lock}...
1412:      };
1412:      for (int __i = 0; __i < _Np; ++__i)
1412:        {
1412:   if (!__locks[__i].try_lock())
1412:     {
1412:       const int __failed = __i;
1412:       while (__i--)
1412:         __locks[__i].unlock();
1412:       return __failed;
1412:     }
1412:        }
1412:      for (auto& __l : __locks)
1412:        __l.release();
1412:      return -1;
1412:    }
1412:  else
1412: 
1412:  if (unique_lock<_L0> __lock{__l0, try_to_lock})
1412:    {
1412:      int __idx = __detail::__try_lock_impl(__lockables...);
1412:      if (__idx == -1)
1412:        {
1412:   __lock.release();
1412:   return -1;
1412:        }
1412:      return __idx + 1;
1412:    }
1412:  else
1412:    return 0;
1412:       }
1412: 
1412:   }
1412: # 587 "/usr/include/c++/12/mutex" 3
1412:   template<typename _L1, typename _L2, typename... _L3>
1412:     inline int
1412:     try_lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1412:     {
1412:       return __detail::__try_lock_impl(__l1, __l2, __l3...);
1412:     }
1412: 
1412: 
1412:   namespace __detail
1412:   {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _L0, typename... _L1>
1412:       void
1412:       __lock_impl(int& __i, int __depth, _L0& __l0, _L1&... __l1)
1412:       {
1412:  while (__i >= __depth)
1412:    {
1412:      if (__i == __depth)
1412:        {
1412emory_order __mo,
1417:  const chrono::time_point<std::chrono::system_clock, _Dur>& __atime)
1417:     {
1417:       auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1417:       auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1417: 
1417:       return _M_load_and_test_until(__assumed, __operand, __equal, __mo,
1417:    true, __s.time_since_epoch(), __ns);
1417:     }
1417: 
1417:     template<typename _Dur>
1417:     unsigned
1417:     _M_load_and_test_until_impl(unsigned __assumed, unsigned __operand,
1417:  bool __equal, memory_order __mo,
1417:  const chrono::time_point<std::chrono::steady_clock, _Dur>& __atime)
1417:     {
1417:       auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1417:       auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1417: 
1417:       return _M_load_and_test_until_steady(__assumed, __operand, __equal, __mo,
1417:    true, __s.time_since_epoch(), __ns);
1417:     }
1417: 
1417:   public:
1417: 
1417:     inline __attribute__((__always_inline__)) unsigned
1417:     _M_load_when_not_equal(unsigned __val, memory_order __mo)
1417:     {
1417:       unsigned __i = _M_load(__mo);
1417:       if ((__i & ~_Waiter_bit) != __val)
1417:  return (__i & ~_Waiter_bit);
1417: 
1417:       return _M_load_and_test(__i, __val, false, __mo);
1417:     }
1417: 
1417:     inline __attribute__((__always_inline__)) void
1417:     _M_load_when_equal(unsigned __val, memory_order __mo)
1417:     {
1417:       unsigned __i = _M_load(__mo);
1417:       if ((__i & ~_Waiter_bit) == __val)
1417:  return;
1417: 
1417:       _M_load_and_test(__i, __val, true, __mo);
1417:     }
1417: 
1417: 
1417:     template<typename _Rep, typename _Period>
1417:       inline __attribute__((__always_inline__)) bool
1417:       _M_load_when_equal_for(unsigned __val, memory_order __mo,
1417:    const chrono::duration<_Rep, _Period>& __rtime)
1417:       {
1417:  using __dur = typename __clock_t::duration;
1417:  return _M_load_when_equal_until(__val, __mo,
1417:       __clock_t::now() + chrono::__detail::ceil<__dur>(__rtime));
1417:       }
1417: 
1417: 
1417:     template<typename _Clock, typename _Duration>
1417:       inline __attribute__((__always_inline__)) bool
1417:       _M_load_when_equal_until(unsigned __val, memory_order __mo,
1417:    const chrono::time_point<_Clock, _Duration>& __atime)
1417:       {
1417:  typename _Clock::time_point __c_entry = _Clock::now();
1417:  do {
1417:    const __clock_t::time_point __s_entry = __clock_t::now();
1417:    const auto __delta = __atime - __c_entry;
1417:    const auto __s_atime = __s_entry +
1417:        chrono::__detail::ceil<__clock_t::duration>(__delta);
1417:    if (_M_load_when_equal_until(__val, __mo, __s_atime))
1417:      return true;
1417:    __c_entry = _Clock::now();
1417:  } while (__c_entry < __atime);
1417:  return false;
1417:       }
1417: 
1417: 
1417:     template<typename _Duration>
1417:     inline __attribute__((__always_inline__)) bool
1417:     _M_load_when_equal_until(unsigned __val, memory_order __mo,
1417:  const chrono::time_point<std::chrono::system_clock, _Duration>& __atime)
1417:     {
1417:       unsigned __i = _M_load(__mo);
1417:       if ((__i & ~_Waiter_bit) == __val)
1417:  return true;
1417: 
1417:       __i = _M_load_and_test_until_impl(__i, __val, true, __mo, __atime);
1417:       return (__i & ~_Waiter_bit) == __val;
1417:     }
1417: 
1417: 
1417:     template<typename _Duration>
1417:     inline __attribute__((__always_inline__)) bool
1417:     _M_load_when_equal_until(unsigned __val, memory_order __mo,
1417:  const chrono::time_point<std::chrono::steady_clock, _Duration>& __atime)
1417:     {
1417:       unsigned __i = _M_load(__mo);
1417:       if ((__i & ~_Waiter_bit) == __val)
1417:  return true;
1417: 
1417:       __i = _M_load_and_test_until_impl(__i, __val, true, __mo, __atime);
1417:       return (__i & ~_Waiter_bit) == __val;
1417:     }
1417: 
1417:     inline __attribute__((__always_inline__)) void
1417:     _M_store_notify_all(unsigned __val, memory_order __mo)
1417:     {
1417:       unsigned* __futex = (unsigned *)(void *)&_M_data;
1417:       if (_M_data.exchange(__val, __mo) & _Waiter_bit)
1417:  _M_futex_notify_all(__futex);
1417:     }
1417:   };
1417: # 357 "/usr/include/c++/12/bits/atomic_futex.h" 3
1417: 
1417: }
1417: # 44 "/usr/include/c++/12/future" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/std_thread.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/std_thread.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/std_thread.h" 3
1417: # 52 "/usr/include/c++/12/bits/std_thread.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class thread
1417:   {
1417:   public:
1417: 
1417: 
1417: 
1417:     struct _State
1417:     {
1417:       virtual ~_State();
1417:       virtual void _M_run() = 0;
1417:     };
1417:     using _State_ptr = unique_ptr<_State>;
1417: 
1417:     using native_handle_type = __gthread_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     class id
1417:     {
1417:       native_handle_type _M_thread;
1417: 
1417:     public:
1417:       id() noexcept : _M_thread() { }
1417: 
1417:       explicit
1417:       id(native_handle_type __id) : _M_thread(__id) { }
1417: 
1417:     private:
1417:       friend class thread;
1417:       friend struct hash<id>;
1417: 
1417:       friend bool
1417:       operator==(id __x, id __y) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       friend bool
1417:       operator<(id __x, id __y) noexcept;
1417: 
1417: 
1417:       template<class _CharT, class _Traits>
1417:  friend basic_ostream<_CharT, _Traits>&
1417:  operator<<(basic_ostream<_CharT, _Traits>& __out, id __id);
1417:     };
1417: 
1417:   private:
1417:     id _M_id;
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _Tp>
1417:       using __not_same = __not_<is_same<__remove_cvref_t<_Tp>, thread>>;
1417: 
1417:   public:
1417:     thread() noexcept = default;
1417: 
1417: 
1417:     template<typename _Callable, typename... _Args,
1417:       typename = _Require<__not_same<_Callable>>>
1417:       explicit
1417:       thread(_Callable&& __f, _Args&&... __args)
1417:       {
1417:  static_assert( __is_invocable<typename decay<_Callable>::type,
1417:           typename decay<_Args>::type...>::value,
1417:    "std::thread arguments must be invocable after conversion to rvalues"
1417:    );
1417: 
1417: 
1417: 
1417: 
1417: 
1417:  auto __depend = nullptr;
1417: 
1417:  using _Wrapper = _Call_wrapper<_Callable, _Args...>;
1417: 
1417: 
1417:  _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
1417:        std::forward<_Callable>(__f), std::forward<_Args>(__args)...)),
1417:      __depend);
1417:       }
1417: 
1417: 
1417:     ~thread()
1417:     {
1417:       if (joinable())
1417:  std::__terminate();
1417:     }
1417: 
1417:     thread(const thread&) = delete;
1417: 
1417:     thread(thread&& __t) noexcept
1417:     { swap(__t); }
1417: 
1417:     thread& operator=(const thread&) = delete;
1417: 
1417:     thread& operator=(thread&& __t) noexcept
1417:     {
1417:       if (joinable())
1417:  std::__terminate();
1417:       swap(__t);
1417:       return *this;
1417:     }
1417: 
1417:     void
1417:     swap(thread& __t) noexcept
1417:     { std::swap(_M_id, __t._M_id); }
1417: 
1417:     bool
1417:     joinable() const noexcept
1417:     { return !(_M_id == id()); }
1417: 
1417:     void
1417:     join();
1417: 
1417:     void
1417:     detach();
1417: 
1417:     id
1417:     get_id() const noexcept
1417:     { return _M_id; }
1417: 
1417: 
1417: 
1417:     native_handle_type
1417:     native_handle()
1417:     { return _M_id._M_thread; }
1417: 
1417: 
1417:     static unsigned int
1417:     hardware_concurrency() noexcept;
1417: 
1417: 
1417:   private:
1417:     template<typename _Callable>
1417:       struct _State_impl : public _State
1417:       {
1417:  _Callable _M_func;
1417: 
1417:  template<typename... _Args>
1417:    _State_impl(_Args&&... __args)
1417:    : _M_func{{std::forward<_Args>(__args)...}}
1417:    { }
1417: 
1417:  void
1:   int __failed = 1;
1412:   {
1412:     unique_lock<_L0> __first(__l0);
1412:     __failed += __detail::__try_lock_impl(__l1...);
1412:     if (!__failed)
1412:       {
1412:         __i = -1;
1412:         __first.release();
1412:         return;
1412:       }
1412:   }
1412: 
1412:   __gthread_yield();
1412: 
1412:   constexpr auto __n = 1 + sizeof...(_L1);
1412:   __i = (__depth + __failed) % __n;
1412:        }
1412:      else
1412:        __detail::__lock_impl(__i, __depth + 1, __l1..., __l0);
1412:    }
1412:       }
1412: 
1412:   }
1412: # 646 "/usr/include/c++/12/mutex" 3
1412:   template<typename _L1, typename _L2, typename... _L3>
1412:     void
1412:     lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1412:     {
1412: 
1412:       if constexpr (is_same_v<_L1, _L2> && (is_same_v<_L1, _L3> && ...))
1412:  {
1412:    constexpr int _Np = 2 + sizeof...(_L3);
1412:    unique_lock<_L1> __locks[] = {
1412:        {__l1, defer_lock}, {__l2, defer_lock}, {__l3, defer_lock}...
1412:    };
1412:    int __first = 0;
1412:    do {
1412:      __locks[__first].lock();
1412:      for (int __j = 1; __j < _Np; ++__j)
1412:        {
1412:   const int __idx = (__first + __j) % _Np;
1412:   if (!__locks[__idx].try_lock())
1412:     {
1412:       for (int __k = __j; __k != 0; --__k)
1412:         __locks[(__first + __k - 1) % _Np].unlock();
1412:       __first = __idx;
1412:       break;
1412:     }
1412:        }
1412:    } while (!__locks[__first].owns_lock());
1412: 
1412:    for (auto& __l : __locks)
1412:      __l.release();
1412:  }
1412:       else
1412: 
1412:  {
1412:    int __i = 0;
1412:    __detail::__lock_impl(__i, 0, __l1, __l2, __l3...);
1412:  }
1412:     }
1412: # 691 "/usr/include/c++/12/mutex" 3
1412:   template<typename... _MutexTypes>
1412:     class scoped_lock
1412:     {
1412:     public:
1412:       explicit scoped_lock(_MutexTypes&... __m) : _M_devices(std::tie(__m...))
1412:       { std::lock(__m...); }
1412: 
1412:       explicit scoped_lock(adopt_lock_t, _MutexTypes&... __m) noexcept
1412:       : _M_devices(std::tie(__m...))
1412:       { }
1412: 
1412:       ~scoped_lock()
1412:       { std::apply([](auto&... __m) { (__m.unlock(), ...); }, _M_devices); }
1412: 
1412:       scoped_lock(const scoped_lock&) = delete;
1412:       scoped_lock& operator=(const scoped_lock&) = delete;
1412: 
1412:     private:
1412:       tuple<_MutexTypes&...> _M_devices;
1412:     };
1412: 
1412:   template<>
1412:     class scoped_lock<>
1412:     {
1412:     public:
1412:       explicit scoped_lock() = default;
1412:       explicit scoped_lock(adopt_lock_t) noexcept { }
1412:       ~scoped_lock() = default;
1412: 
1412:       scoped_lock(const scoped_lock&) = delete;
1412:       scoped_lock& operator=(const scoped_lock&) = delete;
1412:     };
1412: 
1412:   template<typename _Mutex>
1412:     class scoped_lock<_Mutex>
1412:     {
1412:     public:
1412:       using mutex_type = _Mutex;
1412: 
1412:       explicit scoped_lock(mutex_type& __m) : _M_device(__m)
1412:       { _M_device.lock(); }
1412: 
1412:       explicit scoped_lock(adopt_lock_t, mutex_type& __m) noexcept
1412:       : _M_device(__m)
1412:       { }
1412: 
1412:       ~scoped_lock()
1412:       { _M_device.unlock(); }
1412: 
1412:       scoped_lock(const scoped_lock&) = delete;
1412:       scoped_lock& operator=(const scoped_lock&) = delete;
1412: 
1412:     private:
1412:       mutex_type& _M_device;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   struct once_flag
1412:   {
1412:     constexpr once_flag() noexcept = default;
1412: 
1412: 
1412:     once_flag(const once_flag&) = delete;
1412: 
1412:     once_flag& operator=(const once_flag&) = delete;
1412: 
1412:   private:
1412: 
1412: 
1412:     __gthread_once_t _M_once = 0;
1412: 
1412:     struct _Prepare_execution;
1412: 
1412:     template<typename _Callable, typename... _Args>
1412:       friend void
1412:       call_once(once_flag& __once, _Callable&& __f, _Args&&... __args);
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   extern __thread void* __once_callable;
1412:   extern __thread void (*__once_call)();
1412: 
1412: 
1412:   struct once_flag::_Prepare_execution
1412:   {
1412:     template<typename _Callable>
1412:       explicit
1412:       _Prepare_execution(_Callable& __c)
1412:       {
1412: 
1412:  __once_callable = std::__addressof(__c);
1412: 
1412:  __once_call = [] { (*static_cast<_Callable*>(__once_callable))(); };
1412:       }
1412: 
1412:     ~_Prepare_execution()
1412:     {
1412: 
1412:       __once_callable = nullptr;
1412:       __once_call = nullptr;
1412:     }
1412: 
1412:     _Prepare_execution(const _Prepare_execution&) = delete;
1412:     _Prepare_execution& operator=(const _Prepare_execution&) = delete;
1412:   };
1412: # 843 "/usr/include/c++/12/mutex" 3
1412:   extern "C" void __once_proxy(void);
1412: 
1412: 
1412:   template<typename _Callable, typename... _Args>
1412:     void
1412:     call_once(once_flag& __once, _Callable&& __f, _Args&&... __args)
1412:     {
1412: 
1412:       auto __callable = [&] {
1412:    std::__invoke(std::forward<_Callable>(__f),
1412:    std::forward<_Args>(__args)...);
1412:       };
1412: 
1412:       once_flag::_Prepare_execution __exec(__callable);
1412: 
1412: 
1412:       if (int __e = __gthread_once(&__once._M_once, &__once_proxy))
1412:  __throw_system_error(__e);
1412:     }
1412: # 964 "/usr/include/c++/12/mutex" 3
1412: 
1412: }
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 2
1412: 
1412: 
1412: 
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1412: namespace XbmcThreads
1412: {
1412: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1412: class CRecursiveMutex
1412: {
1412: private:
1412:   pthread_mutex_t m_mutex;
1412: 
1412:   static pthread_mutexattr_t& getRecursiveAttr();
1412: 
1412: public:
1412:   CRecursiveMutex(const CRecursiveMutex&) = delete;
1412:   CRecursiveMutex& operator=(const CRecursiveMutex&) = delete;
1412: 
1412:   inline CRecursiveMutex() { pthread_mutex_init(&m_mutex, &getRecursiveAttr()); }
1412: 
1412:   inline ~CRecursiveMutex() { pthread_mutex_destroy(&m_mutex); }
1412: 
1412:   inline void lock() { pthread_mutex_lock(&m_mutex); }
1412: 
1412:   inline void unlock() { pthread_mutex_unlock(&m_mutex); }
1412: 
1412:   inline bool try_lock() { return (pthread_mutex_trylock(&m_mutex) == 0); }
1412: 
1412:   inline std::recursive_mutex::native_handle_type native_handle() { return &m_mutex; }
1412: };
1412: 
1412: }
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1412: 
1412: class CCriticalSection : public XbmcThreads::CountingLockable<XbmcThreads::CRecursiveMutex>
1412: {
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1412: 
1412: # 1 "/usr/include/c++/12/chrono" 1 3
1412: # 33 "/usr/include/c++/12/chrono" 3
1412:        
1412: # 34 "/usr/include/c++/12/chrono" 3
1412: # 45 "/usr/include/c++/12/chrono" 3
1412: 
1412: # 45 "/usr/include/c++/12/chrono" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 62 "/usr/include/c++/12/chrono" 3
1412:   namespace chrono
1412:   {
1412: # 2058 "/usr/include/c++/12/chrono" 3
1412:   }
1412: # 2181 "/usr/include/c++/12/chrono" 3
1412: 
1412: }
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1412: # 1 "/usr/include/c++/12/condition_variable" 1 3
1412: # 32 "/usr/include/c++/12/condition_variable" 3
1412:        
1412: # 33 "/usr/include/c++/12/condition_variable" 3
1412: # 51 "/usr/include/c++/12/condition_variable" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 64 "/usr/include/c++/12/condition_variable" 3
1412:   enum class cv_status { no_timeout, timeout };
1412: 
1412: 
1412:   class condition_variable
1412:   {
1412:     using steady_clock = chrono::steady_clock;
1412:     using system_clock = chrono::system_clock;
1412: 
1412:     using __clock_t = steady_clock;
1412: 
1412: 
1412: 
1412: 
1412:     __condvar _M_cond;
1412: 
1412:   public:
1412:     typedef __gthread_cond_t* n417:  _M_run() { _M_func(); }
1417:       };
1417: 
1417:     void
1417:     _M_start_thread(_State_ptr, void (*)());
1417: # 235 "/usr/include/c++/12/bits/std_thread.h" 3
1417:   private:
1417: 
1417:     template<typename _Tuple>
1417:       struct _Invoker
1417:       {
1417:  _Tuple _M_t;
1417: 
1417:  template<typename>
1417:    struct __result;
1417:  template<typename _Fn, typename... _Args>
1417:    struct __result<tuple<_Fn, _Args...>>
1417:    : __invoke_result<_Fn, _Args...>
1417:    { };
1417: 
1417:  template<size_t... _Ind>
1417:    typename __result<_Tuple>::type
1417:    _M_invoke(_Index_tuple<_Ind...>)
1417:    { return std::__invoke(std::get<_Ind>(std::move(_M_t))...); }
1417: 
1417:  typename __result<_Tuple>::type
1417:  operator()()
1417:  {
1417:    using _Indices
1417:      = typename _Build_index_tuple<tuple_size<_Tuple>::value>::__type;
1417:    return _M_invoke(_Indices());
1417:  }
1417:       };
1417: 
1417:   public:
1417:     template<typename... _Tp>
1417:       using _Call_wrapper = _Invoker<tuple<typename decay<_Tp>::type...>>;
1417: 
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline void
1417:   swap(thread& __x, thread& __y) noexcept
1417:   { __x.swap(__y); }
1417: 
1417:   inline bool
1417:   operator==(thread::id __x, thread::id __y) noexcept
1417:   {
1417: 
1417: 
1417: 
1417: 
1417:     return __x._M_thread == __y._M_thread;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct hash<thread::id>
1417:     : public __hash_base<size_t, thread::id>
1417:     {
1417:       size_t
1417:       operator()(const thread::id& __id) const noexcept
1417:       { return std::_Hash_impl::hash(__id._M_thread); }
1417:     };
1417: 
1417:   namespace this_thread
1417:   {
1417: 
1417:     inline thread::id
1417:     get_id() noexcept
1417:     {
1417: 
1417: 
1417: 
1417:       return thread::id(pthread_self());
1417: 
1417: 
1417: 
1417:     }
1417: 
1417: 
1417:     inline void
1417:     yield() noexcept
1417:     {
1417: 
1417:       __gthread_yield();
1417: 
1417:     }
1417: 
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 50 "/usr/include/c++/12/future" 2 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 66 "/usr/include/c++/12/future" 3
1417:   enum class future_errc
1417:   {
1417:     future_already_retrieved = 1,
1417:     promise_already_satisfied,
1417:     no_state,
1417:     broken_promise
1417:   };
1417: 
1417: 
1417:   template<>
1417:     struct is_error_code_enum<future_errc> : public true_type { };
1417: 
1417: 
1417:   const error_category&
1417:   future_category() noexcept;
1417: 
1417: 
1417:   inline error_code
1417:   make_error_code(future_errc __errc) noexcept
1417:   { return error_code(static_cast<int>(__errc), future_category()); }
1417: 
1417: 
1417:   inline error_condition
1417:   make_error_condition(future_errc __errc) noexcept
1417:   { return error_condition(static_cast<int>(__errc), future_category()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   class future_error : public logic_error
1417:   {
1417:   public:
1417:     explicit
1417:     future_error(future_errc __errc)
1417:     : future_error(std::make_error_code(__errc))
1417:     { }
1417: 
1417:     virtual ~future_error() noexcept;
1417: 
1417:     virtual const char*
1417:     what() const noexcept;
1417: 
1417:     const error_code&
1417:     code() const noexcept { return _M_code; }
1417: 
1417:   private:
1417:     explicit
1417:     future_error(error_code __ec)
1417:     : logic_error("std::future_error: " + __ec.message()), _M_code(__ec)
1417:     { }
1417: 
1417:     friend void __throw_future_error(int);
1417: 
1417:     error_code _M_code;
1417:   };
1417: 
1417: 
1417:   template<typename _Res>
1417:     class future;
1417: 
1417:   template<typename _Res>
1417:     class shared_future;
1417: 
1417:   template<typename _Signature>
1417:     class packaged_task;
1417: 
1417:   template<typename _Res>
1417:     class promise;
1417: 
1417: 
1417:   enum class launch
1417:   {
1417:     async = 1,
1417:     deferred = 2
1417:   };
1417: 
1417:   constexpr launch operator&(launch __x, launch __y) noexcept
1417:   {
1417:     return static_cast<launch>(
1417:  static_cast<int>(__x) & static_cast<int>(__y));
1417:   }
1417: 
1417:   constexpr launch operator|(launch __x, launch __y) noexcept
1417:   {
1417:     return static_cast<launch>(
1417:  static_cast<int>(__x) | static_cast<int>(__y));
1417:   }
1417: 
1417:   constexpr launch operator^(launch __x, launch __y) noexcept
1417:   {
1417:     return static_cast<launch>(
1417:  static_cast<int>(__x) ^ static_cast<int>(__y));
1417:   }
1417: 
1417:   constexpr launch operator~(launch __x) noexcept
1417:   { return static_cast<launch>(~static_cast<int>(__x)); }
1417: 
1417:   inline launch& operator&=(launch& __x, launch __y) noexcept
1417:   { return __x = __x & __y; }
1417: 
1417:   inline launch& operator|=(launch& __x, launch __y) noexcept
1417:   { return __x = __x | __y; }
1417: 
1417:   inline launch& operator^=(launch& __x, launch __y) noexcept
1417:   { return __x = __x ^ __y; }
1417: 
1417: 
1417:   enum class future_status
1417:   {
1417:     ready,
1417:     timeout,
1417:     deferred
1417:   };
1417: 
1417: 
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     using __async_result_of = typename __invoke_result<
1417:       typename decay<_Fn>::type, typename decay<_Args>::type...>::type;
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     future<__async_result_of<_Fn, _Args...>>
1417:     async(launch __policy, _Fn&& __fn, _Args&&... __args);
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     future<__async_result_of<_Fn, _Args...>>
1417:     async(_Fn&& __fn, _Args&&... __args);
1417: 
1417: 
1417: 
1417: 
1417:   struct __future_base
1417:   {
1417: 
1417:     struct _Result_base
1417:     {
1417:       exception_ptr _M_error;
1417: 
1417:       _Result_base(const _Result_base&) = delete;
1417:       _Result_base& operator=(const _Result_base&) = delete;
1417: 
1417: 
1417:       virtual void _M_destroy() = 0;
1417: 
1417:       struct _Deleter
1417:       {
1417:  void operator()(_Result_base* __fr) const { __fr->_M_destroy(); }
1417:       };
1417: 
1417:     protected:
1417:       _Result_base();
1417:       virtual ~_Result_base();
1417:     };
1417: 
1417: 
1417:     template<typename _Res>
1417:       using _Ptr = unique_ptr<_Res, _Result_base::_Deleter>;
1417: 
1417: 
1417:     template<typename _Res>
1417:       struct _Result : _Result_base
1417:       {
1417:       private:
1417:  __gnu_cxx::__aligned_buffer<_Res> _M_storage;
1417:  bool _M_initialized;
1417: 
1417:       public:
1417:  typedef _Res result_type;
1417: 
1417:  _Result() noexcept : _M_initialized() { }
1417: 
1417:  ~_Result()
1417:  {
1417:    if (_M_initialized)
1417:      _M_value().~_Res();
1417:  }
1417: 
1417: 
1417:  _Res&
1417:  _M_value() noexcept { return *_M_storage._M_ptr(); }
1417: 
1417:  void
1417:  _M_set(const _Res& __res)
1417:  {
1417:    ::new (_M_storage._M_addr()) _Res(__res);
1417:    _M_initialized = true;
1417:  }
1417: 
1417:  void
1417:  _M_set(_Res&& __res)
1417:  {
1417:    ::new (_M_storage._M_addr()) _Res(std::move(__res));
1417:    _M_initialized = true;
1417:  }
1417: 
1417:       private:
1417:  void _M_destroy() { delete this; }
1417:     };
1417: 
1417: 
1417:     template<typename _Res, typename _Alloc>
1417:       struct _Result_alloc final : _Result<_Res>, _Alloc
1417:       {
1417:  using __allocator_type = __alloc_rebind<_Alloc, _Result_alloc>;
1417: 
1417:         explicit
1417:  _Result_alloc(const _Alloc& __a) : _Result<_Res>(), _Alloc(__a)
1417:  { }
1417: 
1417:       private:
1417:  void _M_destroy()
1417:  {
1417:    __allocator_type __a(*this);
1417:    __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1417:    this->~_Result_alloc();
1417:  }
1417:       };
1417: 
1417: 
1417:     template<typename _Res, typename _Allocator>
1417:       static _Ptr<_Result_alloc<_Res, _Allocator>>
1417:       _S_allocate_result(const _Allocator& __a)
1417:       {
1417:ative_handle_type;
1412: 
1412:     condition_variable() noexcept;
1412:     ~condition_variable() noexcept;
1412: 
1412:     condition_variable(const condition_variable&) = delete;
1412:     condition_variable& operator=(const condition_variable&) = delete;
1412: 
1412:     void
1412:     notify_one() noexcept;
1412: 
1412:     void
1412:     notify_all() noexcept;
1412: 
1412:     void
1412:     wait(unique_lock<mutex>& __lock);
1412: 
1412:     template<typename _Predicate>
1412:       void
1412:       wait(unique_lock<mutex>& __lock, _Predicate __p)
1412:       {
1412:  while (!__p())
1412:    wait(__lock);
1412:       }
1412: 
1412: 
1412:     template<typename _Duration>
1412:       cv_status
1412:       wait_until(unique_lock<mutex>& __lock,
1412:    const chrono::time_point<steady_clock, _Duration>& __atime)
1412:       { return __wait_until_impl(__lock, __atime); }
1412: 
1412: 
1412:     template<typename _Duration>
1412:       cv_status
1412:       wait_until(unique_lock<mutex>& __lock,
1412:    const chrono::time_point<system_clock, _Duration>& __atime)
1412:       { return __wait_until_impl(__lock, __atime); }
1412: 
1412:     template<typename _Clock, typename _Duration>
1412:       cv_status
1412:       wait_until(unique_lock<mutex>& __lock,
1412:    const chrono::time_point<_Clock, _Duration>& __atime)
1412:       {
1412: 
1412: 
1412: 
1412:  using __s_dur = typename __clock_t::duration;
1412:  const typename _Clock::time_point __c_entry = _Clock::now();
1412:  const __clock_t::time_point __s_entry = __clock_t::now();
1412:  const auto __delta = __atime - __c_entry;
1412:  const auto __s_atime = __s_entry +
1412:    chrono::__detail::ceil<__s_dur>(__delta);
1412: 
1412:  if (__wait_until_impl(__lock, __s_atime) == cv_status::no_timeout)
1412:    return cv_status::no_timeout;
1412: 
1412: 
1412: 
1412:  if (_Clock::now() < __atime)
1412:    return cv_status::no_timeout;
1412:  return cv_status::timeout;
1412:       }
1412: 
1412:     template<typename _Clock, typename _Duration, typename _Predicate>
1412:       bool
1412:       wait_until(unique_lock<mutex>& __lock,
1412:    const chrono::time_point<_Clock, _Duration>& __atime,
1412:    _Predicate __p)
1412:       {
1412:  while (!__p())
1412:    if (wait_until(__lock, __atime) == cv_status::timeout)
1412:      return __p();
1412:  return true;
1412:       }
1412: 
1412:     template<typename _Rep, typename _Period>
1412:       cv_status
1412:       wait_for(unique_lock<mutex>& __lock,
1412:         const chrono::duration<_Rep, _Period>& __rtime)
1412:       {
1412:  using __dur = typename steady_clock::duration;
1412:  return wait_until(__lock,
1412:      steady_clock::now() +
1412:      chrono::__detail::ceil<__dur>(__rtime));
1412:       }
1412: 
1412:     template<typename _Rep, typename _Period, typename _Predicate>
1412:       bool
1412:       wait_for(unique_lock<mutex>& __lock,
1412:         const chrono::duration<_Rep, _Period>& __rtime,
1412:         _Predicate __p)
1412:       {
1412:  using __dur = typename steady_clock::duration;
1412:  return wait_until(__lock,
1412:      steady_clock::now() +
1412:      chrono::__detail::ceil<__dur>(__rtime),
1412:      std::move(__p));
1412:       }
1412: 
1412:     native_handle_type
1412:     native_handle()
1412:     { return _M_cond.native_handle(); }
1412: 
1412:   private:
1412: 
1412:     template<typename _Dur>
1412:       cv_status
1412:       __wait_until_impl(unique_lock<mutex>& __lock,
1412:    const chrono::time_point<steady_clock, _Dur>& __atime)
1412:       {
1412:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:  __gthread_time_t __ts =
1412:    {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:  _M_cond.wait_until(*__lock.mutex(), 1, __ts);
1412: 
1412:  return (steady_clock::now() < __atime
1412:   ? cv_status::no_timeout : cv_status::timeout);
1412:       }
1412: 
1412: 
1412:     template<typename _Dur>
1412:       cv_status
1412:       __wait_until_impl(unique_lock<mutex>& __lock,
1412:    const chrono::time_point<system_clock, _Dur>& __atime)
1412:       {
1412:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:  __gthread_time_t __ts =
1412:    {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:  _M_cond.wait_until(*__lock.mutex(), __ts);
1412: 
1412:  return (system_clock::now() < __atime
1412:   ? cv_status::no_timeout : cv_status::timeout);
1412:       }
1412:   };
1412: 
1412:   void
1412:   notify_all_at_thread_exit(condition_variable&, unique_lock<mutex>);
1412: 
1412:   struct __at_thread_exit_elt
1412:   {
1412:     __at_thread_exit_elt* _M_next;
1412:     void (*_M_cb)(void*);
1412:   };
1412: 
1412:   inline namespace _V2 {
1412: 
1412: 
1412: 
1412:   class condition_variable_any
1412:   {
1412: 
1412:     using __clock_t = chrono::steady_clock;
1412: 
1412: 
1412: 
1412:     condition_variable _M_cond;
1412:     shared_ptr<mutex> _M_mutex;
1412: 
1412: 
1412:     template<typename _Lock>
1412:       struct _Unlock
1412:       {
1412:  explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); }
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412:  ~_Unlock() noexcept(false)
1412:  {
1412:    if (uncaught_exception())
1412:      {
1412:        try
1412:        { _M_lock.lock(); }
1412:        catch(const __cxxabiv1::__forced_unwind&)
1412:        { throw; }
1412:        catch(...)
1412:        { }
1412:      }
1412:    else
1412:      _M_lock.lock();
1412:  }
1412: #pragma GCC diagnostic pop
1412: 
1412:  _Unlock(const _Unlock&) = delete;
1412:  _Unlock& operator=(const _Unlock&) = delete;
1412: 
1412:  _Lock& _M_lock;
1412:       };
1412: 
1412:   public:
1412:     condition_variable_any() : _M_mutex(std::make_shared<mutex>()) { }
1412:     ~condition_variable_any() = default;
1412: 
1412:     condition_variable_any(const condition_variable_any&) = delete;
1412:     condition_variable_any& operator=(const condition_variable_any&) = delete;
1412: 
1412:     void
1412:     notify_one() noexcept
1412:     {
1412:       lock_guard<mutex> __lock(*_M_mutex);
1412:       _M_cond.notify_one();
1412:     }
1412: 
1412:     void
1412:     notify_all() noexcept
1412:     {
1412:       lock_guard<mutex> __lock(*_M_mutex);
1412:       _M_cond.notify_all();
1412:     }
1412: 
1412:     template<typename _Lock>
1412:       void
1412:       wait(_Lock& __lock)
1412:       {
1412:  shared_ptr<mutex> __mutex = _M_mutex;
1412:  unique_lock<mutex> __my_lock(*__mutex);
1412:  _Unlock<_Lock> __unlock(__lock);
1412: 
1412: 
1412:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1412:  _M_cond.wait(__my_lock2);
1412:       }
1412: 
1412: 
1412:     template<typename _Lock, typename _Predicate>
1412:       void
1412:       wait(_Lock& __lock, _Predicate __p)
1412:       {
1412:  while (!__p())
1412:    wait(__lock);
1412:       }
1412: 
1412:     template<typename _Lock, typename _Clock, typename _Duration>
1412:       cv_status
1412:       wait_until(_Lock& __lock,
1412:    const chrono::time_point<_Clock, _Duration>& __atime)
1412:       {
1412:  shared_ptr<mutex> __mutex = _M_mutex;
1412:  unique_lock<mutex> __my_lock(*__mutex);
1412:  _Unlock<_Lock> __unlock(__lock);
1412: 
1412: 
1412:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1412:  return _M_cond.wait_until(__my_lock2, __atime);
1412:       }
1412: 
1412:     template<typename _Lock, typename _Clock,
1412:       typename _Duration, typename _Predicate>
1412:       bool
1412:       wait_until(_Lock& __lock,
1412:    const chrono::time_point<_Clock, _Duration>& __atime,
1412:    _Predicate __p)
1412:       {
1412:  while (!__p())
1412:    if (wait_until(__lock, __atime) == cv_status::timeout)
1412:      return __p();
1412:  return true;
1412:       }
1412: 
1412:     template<typename _Lock, typename _R  using __result_type = _Result_alloc<_Res, _Allocator>;
1417:  typename __result_type::__allocator_type __a2(__a);
1417:  auto __guard = std::__allocate_guarded(__a2);
1417:  __result_type* __p = ::new((void*)__guard.get()) __result_type{__a};
1417:  __guard = nullptr;
1417:  return _Ptr<__result_type>(__p);
1417:       }
1417: 
1417: 
1417:     template<typename _Res, typename _Tp>
1417:       static _Ptr<_Result<_Res>>
1417:       _S_allocate_result(const std::allocator<_Tp>& __a)
1417:       {
1417:  return _Ptr<_Result<_Res>>(new _Result<_Res>);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:     class _State_baseV2
1417:     {
1417:       typedef _Ptr<_Result_base> _Ptr_type;
1417: 
1417:       enum _Status : unsigned {
1417:  __not_ready,
1417:  __ready
1417:       };
1417: 
1417:       _Ptr_type _M_result;
1417:       __atomic_futex_unsigned<> _M_status;
1417:       atomic_flag _M_retrieved = { 0 };
1417:       once_flag _M_once;
1417: 
1417:     public:
1417:       _State_baseV2() noexcept : _M_result(), _M_status(_Status::__not_ready)
1417:  { }
1417:       _State_baseV2(const _State_baseV2&) = delete;
1417:       _State_baseV2& operator=(const _State_baseV2&) = delete;
1417:       virtual ~_State_baseV2() = default;
1417: 
1417:       _Result_base&
1417:       wait()
1417:       {
1417: 
1417:  _M_complete_async();
1417: 
1417: 
1417:  _M_status._M_load_when_equal(_Status::__ready, memory_order_acquire);
1417:  return *_M_result;
1417:       }
1417: 
1417:       template<typename _Rep, typename _Period>
1417:         future_status
1417:         wait_for(const chrono::duration<_Rep, _Period>& __rel)
1417:         {
1417: 
1417: 
1417:    if (_M_status._M_load(memory_order_acquire) == _Status::__ready)
1417:      return future_status::ready;
1417: 
1417:    if (_M_is_deferred_future())
1417:      return future_status::deferred;
1417: 
1417: 
1417:    if (__rel > __rel.zero()
1417:        && _M_status._M_load_when_equal_for(_Status::__ready,
1417:         memory_order_acquire,
1417:         __rel))
1417:      {
1417: # 368 "/usr/include/c++/12/future" 3
1417:        _M_complete_async();
1417: 
1417:        return future_status::ready;
1417:      }
1417:    return future_status::timeout;
1417:  }
1417: 
1417:       template<typename _Clock, typename _Duration>
1417:         future_status
1417:         wait_until(const chrono::time_point<_Clock, _Duration>& __abs)
1417:         {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    if (_M_status._M_load(memory_order_acquire) == _Status::__ready)
1417:      return future_status::ready;
1417: 
1417:    if (_M_is_deferred_future())
1417:      return future_status::deferred;
1417: 
1417:    if (_M_status._M_load_when_equal_until(_Status::__ready,
1417:        memory_order_acquire,
1417:        __abs))
1417:      {
1417: 
1417: 
1417: 
1417:        _M_complete_async();
1417: 
1417:        return future_status::ready;
1417:      }
1417:    return future_status::timeout;
1417:  }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_set_result(function<_Ptr_type()> __res, bool __ignore_failure = false)
1417:       {
1417:  bool __did_set = false;
1417: 
1417: 
1417:  call_once(_M_once, &_State_baseV2::_M_do_set, this,
1417:     std::__addressof(__res), std::__addressof(__did_set));
1417:  if (__did_set)
1417: 
1417:    _M_status._M_store_notify_all(_Status::__ready,
1417:      memory_order_release);
1417:  else if (!__ignore_failure)
1417:           __throw_future_error(int(future_errc::promise_already_satisfied));
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_set_delayed_result(function<_Ptr_type()> __res,
1417:        weak_ptr<_State_baseV2> __self)
1417:       {
1417:  bool __did_set = false;
1417:  unique_ptr<_Make_ready> __mr{new _Make_ready};
1417: 
1417: 
1417:  call_once(_M_once, &_State_baseV2::_M_do_set, this,
1417:     std::__addressof(__res), std::__addressof(__did_set));
1417:  if (!__did_set)
1417:           __throw_future_error(int(future_errc::promise_already_satisfied));
1417:  __mr->_M_shared_state = std::move(__self);
1417:  __mr->_M_set();
1417:  __mr.release();
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_break_promise(_Ptr_type __res)
1417:       {
1417:  if (static_cast<bool>(__res))
1417:    {
1417:      __res->_M_error =
1417:        make_exception_ptr(future_error(future_errc::broken_promise));
1417: 
1417: 
1417: 
1417: 
1417:      _M_result.swap(__res);
1417: 
1417:      _M_status._M_store_notify_all(_Status::__ready,
1417:        memory_order_release);
1417:    }
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_set_retrieved_flag()
1417:       {
1417:  if (_M_retrieved.test_and_set())
1417:    __throw_future_error(int(future_errc::future_already_retrieved));
1417:       }
1417: 
1417:       template<typename _Res, typename _Arg>
1417:         struct _Setter;
1417: 
1417: 
1417:       template<typename _Res, typename _Arg>
1417:         struct _Setter<_Res, _Arg&>
1417:         {
1417: 
1417: 
1417:           static_assert(is_same<_Res, _Arg&>::value
1417:               || is_same<const _Res, _Arg>::value,
1417:               "Invalid specialisation");
1417: 
1417: 
1417:           typename promise<_Res>::_Ptr_type operator()() const
1417:           {
1417:             _M_promise->_M_storage->_M_set(*_M_arg);
1417:             return std::move(_M_promise->_M_storage);
1417:           }
1417:           promise<_Res>* _M_promise;
1417:           _Arg* _M_arg;
1417:         };
1417: 
1417: 
1417:       template<typename _Res>
1417:         struct _Setter<_Res, _Res&&>
1417:         {
1417: 
1417:           typename promise<_Res>::_Ptr_type operator()() const
1417:           {
1417:             _M_promise->_M_storage->_M_set(std::move(*_M_arg));
1417:             return std::move(_M_promise->_M_storage);
1417:           }
1417:           promise<_Res>* _M_promise;
1417:           _Res* _M_arg;
1417:         };
1417: 
1417: 
1417:       template<typename _Res>
1417:  struct _Setter<_Res, void>
1417:  {
1417:    static_assert(is_void<_Res>::value, "Only used for promise<void>");
1417: 
1417:    typename promise<_Res>::_Ptr_type operator()() const
1417:    { return std::move(_M_promise->_M_storage); }
1417: 
1417:    promise<_Res>* _M_promise;
1417:  };
1417: 
1417:       struct __exception_ptr_tag { };
1417: 
1417: 
1417:       template<typename _Res>
1417:         struct _Setter<_Res, __exception_ptr_tag>
1417:         {
1417: 
1417:           typename promise<_Res>::_Ptr_type operator()() const
1417:           {
1417:             _M_promise->_M_storage->_M_error = *_M_ex;
1417:             return std::move(_M_promise->_M_storage);
1417:           }
1417: 
1417:           promise<_Res>* _M_promise;
1417:           exception_ptr* _M_ex;
1417:         };
1417: 
1417:       template<typename _Res, typename _Arg>
1417:  __attribute__((__always_inline__))
1417:         static _Setter<_Res, _Arg&&>
1417:         __setter(promise<_Res>* __prom, _Arg&& __arg) noexcept
1417:         {
1417:           return _Setter<_Res, _Arg&&>{ __prom, std::__addressof(__arg) };
1417:         }
1417: 
1417:       template<typename _Res>
1417:  __attribute__((__always_inline__))
1417:         static _Setter<_Res, __exception_ptr_tag>
1417:         __setter(exception_ptr& __ex, promise<_Res>* __prom) noexcept
1417:         {
1417:           return _Setter<_Res, __exception_ptr_tag>{ __prom, &__ex };
1417:         }
1417: 
1417:       template<typename _Res>
1417:  __attribute__((__always_inline__))
1417:  static _Setter<_Res, void>
1417:  __setter(promise<_Res>* __prom) noexcept
1417:  {
1417:    return _Setter<_Res, void>{ __prom };
1417:  }
1417: 
1417:       template<typename _Tp>
1417:         static void
1417:         _S_check(const shared_ptr<_Tp>& __p)
1417:         {
1417:           if (!static_cast<bool>(__p))
1417:             __throw_future_error((int)future_errc::no_state);
1417:         }
1417: 
1417:     private:
1417: 
1417:       void
1417:       _M_do_set(function<_Ptr_type()>* __f, bool* __did_set)
1417:       {
1417:         _Ptr_type __res = (*__f)();
1417: 
1417: 
1417: 
1417:  *__did_set = true;
1417:         _M_result.swap(_ep, typename _Period>
1412:       cv_status
1412:       wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __rtime)
1412:       { return wait_until(__lock, __clock_t::now() + __rtime); }
1412: 
1412:     template<typename _Lock, typename _Rep,
1412:       typename _Period, typename _Predicate>
1412:       bool
1412:       wait_for(_Lock& __lock,
1412:         const chrono::duration<_Rep, _Period>& __rtime, _Predicate __p)
1412:       { return wait_until(__lock, __clock_t::now() + __rtime, std::move(__p)); }
1412: # 440 "/usr/include/c++/12/condition_variable" 3
1412:   };
1412: 
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1412: # 1 "/usr/include/c++/12/functional" 1 3
1412: # 46 "/usr/include/c++/12/functional" 3
1412:        
1412: # 47 "/usr/include/c++/12/functional" 3
1412: # 59 "/usr/include/c++/12/functional" 3
1412: # 1 "/usr/include/c++/12/bits/std_function.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/std_function.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/std_function.h" 3
1412: # 45 "/usr/include/c++/12/bits/std_function.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class bad_function_call : public std::exception
1412:   {
1412:   public:
1412:     virtual ~bad_function_call() noexcept;
1412: 
1412:     const char* what() const noexcept;
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct __is_location_invariant
1412:     : is_trivially_copyable<_Tp>::type
1412:     { };
1412: 
1412:   class _Undefined_class;
1412: 
1412:   union _Nocopy_types
1412:   {
1412:     void* _M_object;
1412:     const void* _M_const_object;
1412:     void (*_M_function_pointer)();
1412:     void (_Undefined_class::*_M_member_pointer)();
1412:   };
1412: 
1412:   union [[gnu::may_alias]] _Any_data
1412:   {
1412:     void* _M_access() noexcept { return &_M_pod_data[0]; }
1412:     const void* _M_access() const noexcept { return &_M_pod_data[0]; }
1412: 
1412:     template<typename _Tp>
1412:       _Tp&
1412:       _M_access() noexcept
1412:       { return *static_cast<_Tp*>(_M_access()); }
1412: 
1412:     template<typename _Tp>
1412:       const _Tp&
1412:       _M_access() const noexcept
1412:       { return *static_cast<const _Tp*>(_M_access()); }
1412: 
1412:     _Nocopy_types _M_unused;
1412:     char _M_pod_data[sizeof(_Nocopy_types)];
1412:   };
1412: 
1412:   enum _Manager_operation
1412:   {
1412:     __get_type_info,
1412:     __get_functor_ptr,
1412:     __clone_functor,
1412:     __destroy_functor
1412:   };
1412: 
1412:   template<typename _Signature>
1412:     class function;
1412: 
1412: 
1412:   class _Function_base
1412:   {
1412:   public:
1412:     static const size_t _M_max_size = sizeof(_Nocopy_types);
1412:     static const size_t _M_max_align = __alignof__(_Nocopy_types);
1412: 
1412:     template<typename _Functor>
1412:       class _Base_manager
1412:       {
1412:       protected:
1412:  static const bool __stored_locally =
1412:  (__is_location_invariant<_Functor>::value
1412:   && sizeof(_Functor) <= _M_max_size
1412:   && __alignof__(_Functor) <= _M_max_align
1412:   && (_M_max_align % __alignof__(_Functor) == 0));
1412: 
1412:  using _Local_storage = integral_constant<bool, __stored_locally>;
1412: 
1412: 
1412:  static _Functor*
1412:  _M_get_pointer(const _Any_data& __source) noexcept
1412:  {
1412:    if constexpr (__stored_locally)
1412:      {
1412:        const _Functor& __f = __source._M_access<_Functor>();
1412:        return const_cast<_Functor*>(std::__addressof(__f));
1412:      }
1412:    else
1412:      return __source._M_access<_Functor*>();
1412:  }
1412: 
1412:       private:
1412: 
1412: 
1412:  template<typename _Fn>
1412:    static void
1412:    _M_create(_Any_data& __dest, _Fn&& __f, true_type)
1412:    {
1412:      ::new (__dest._M_access()) _Functor(std::forward<_Fn>(__f));
1412:    }
1412: 
1412: 
1412:  template<typename _Fn>
1412:    static void
1412:    _M_create(_Any_data& __dest, _Fn&& __f, false_type)
1412:    {
1412:      __dest._M_access<_Functor*>()
1412:        = new _Functor(std::forward<_Fn>(__f));
1412:    }
1412: 
1412: 
1412:  static void
1412:  _M_destroy(_Any_data& __victim, true_type)
1412:  {
1412:    __victim._M_access<_Functor>().~_Functor();
1412:  }
1412: 
1412: 
1412:  static void
1412:  _M_destroy(_Any_data& __victim, false_type)
1412:  {
1412:    delete __victim._M_access<_Functor*>();
1412:  }
1412: 
1412:       public:
1412:  static bool
1412:  _M_manager(_Any_data& __dest, const _Any_data& __source,
1412:      _Manager_operation __op)
1412:  {
1412:    switch (__op)
1412:      {
1412:      case __get_type_info:
1412: 
1412:        __dest._M_access<const type_info*>() = &typeid(_Functor);
1412: 
1412: 
1412: 
1412:        break;
1412: 
1412:      case __get_functor_ptr:
1412:        __dest._M_access<_Functor*>() = _M_get_pointer(__source);
1412:        break;
1412: 
1412:      case __clone_functor:
1412:        _M_init_functor(__dest,
1412:     *const_cast<const _Functor*>(_M_get_pointer(__source)));
1412:        break;
1412: 
1412:      case __destroy_functor:
1412:        _M_destroy(__dest, _Local_storage());
1412:        break;
1412:      }
1412:    return false;
1412:  }
1412: 
1412:  template<typename _Fn>
1412:    static void
1412:    _M_init_functor(_Any_data& __functor, _Fn&& __f)
1412:    noexcept(__and_<_Local_storage,
1412:      is_nothrow_constructible<_Functor, _Fn>>::value)
1412:    {
1412:      _M_create(__functor, std::forward<_Fn>(__f), _Local_storage());
1412:    }
1412: 
1412:  template<typename _Signature>
1412:    static bool
1412:    _M_not_empty_function(const function<_Signature>& __f) noexcept
1412:    { return static_cast<bool>(__f); }
1412: 
1412:  template<typename _Tp>
1412:    static bool
1412:    _M_not_empty_function(_Tp* __fp) noexcept
1412:    { return __fp != nullptr; }
1412: 
1412:  template<typename _Class, typename _Tp>
1412:    static bool
1412:    _M_not_empty_function(_Tp _Class::* __mp) noexcept
1412:    { return __mp != nullptr; }
1412: 
1412:  template<typename _Tp>
1412:    static bool
1412:    _M_not_empty_function(const _Tp&) noexcept
1412:    { return true; }
1412:       };
1412: 
1412:     _Function_base() = default;
1412: 
1412:     ~_Function_base()
1412:     {
1412:       if (_M_manager)
1412:  _M_manager(_M_functor, _M_functor, __destroy_functor);
1412:     }
1412: 
1412:     bool _M_empty() const { return !_M_manager; }
1412: 
1412:     using _Manager_type
1412:       = bool (*)(_Any_data&, const _Any_data&, _Manager_operation);
1412: 
1412:     _Any_data _M_functor{};
1412:     _Manager_type _M_manager{};
1412:   };
1412: 
1412:   template<typename _Signature, typename _Functor>
1412:     class _Function_handler;
1412: 
1412:   template<typename _Res, typename _Functor, typename... _ArgTypes>
1412:     class _Function_handler<_Res(_ArgTypes...), _Functor>
1412:     : public _Function_base::_Base_manager<_Functor>
1412:     {
1412:       using _Base = _Function_base::_Base_manager<_Functor>;
1412: 
1412:     public:
1412:       static bool
1412:       _M_manager(_Any_data& __dest, const _Any_data& __source,
1412:    _Manager_operation __op)
1412:       {
1412:  switch (__op)
1412:    {
1412: 
1412:    case __get_type_info:
1412:      __dest._M_access<const type_info*>() = &typeid(_Functor);
1412:      break;
1412: 
1412:    case __get_functor_ptr:
1412:      __dest._M_access<_Functor*>() = _Base::_M_get_pointer(__source);
1412:      break;
1412: 
1412:    default:
1412:      _Base::_M_manager(__dest, __source, __op);
1412:    }
1412:  return false;
1412:       }
1412: 
1412:       static _Res
1412:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
1412:       {
1412:  return std::__invoke_r<_Res>(*_Base::_M_get_pointer(__functor),
1412:          std::forward<_ArgTypes>(__args)...);
1412:       }
1412: 
1412:       template<typename _Fn>
1412:  static constexpr bool
1412:  _S_nothrow_init() noexcept
1412:  {
1412:    return __and_<typename _Base::_Local_storage,
1412: Preprocessed source stored into /tmp/ccaUz28d.out file, please attach this to your bugreport.
=== BEGIN GCC DUMP ===
_res);
1417:       }
1417: 
1417: 
1417:       virtual void _M_complete_async() { }
1417: 
1417: 
1417:       virtual bool _M_is_deferred_future() const { return false; }
1417: 
1417:       struct _Make_ready final : __at_thread_exit_elt
1417:       {
1417:  weak_ptr<_State_baseV2> _M_shared_state;
1417:  static void _S_run(void*);
1417:  void _M_set();
1417:       };
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     using _State_base = _State_baseV2;
1417:     class _Async_state_commonV2;
1417: 
1417: 
1417:     template<typename _BoundFn,
1417:       typename _Res = decltype(std::declval<_BoundFn&>()())>
1417:       class _Deferred_state;
1417: 
1417:     template<typename _BoundFn,
1417:       typename _Res = decltype(std::declval<_BoundFn&>()())>
1417:       class _Async_state_impl;
1417: 
1417:     template<typename _Signature>
1417:       class _Task_state_base;
1417: 
1417:     template<typename _Fn, typename _Alloc, typename _Signature>
1417:       class _Task_state;
1417: 
1417:     template<typename _Res_ptr, typename _Fn,
1417:       typename _Res = typename _Res_ptr::element_type::result_type>
1417:       struct _Task_setter;
1417: 
1417:     template<typename _Res_ptr, typename _BoundFn>
1417:       static _Task_setter<_Res_ptr, _BoundFn>
1417:       _S_task_setter(_Res_ptr& __ptr, _BoundFn& __call)
1417:       {
1417:  return { std::__addressof(__ptr), std::__addressof(__call) };
1417:       }
1417:   };
1417: 
1417: 
1417:   template<typename _Res>
1417:     struct __future_base::_Result<_Res&> : __future_base::_Result_base
1417:     {
1417:       typedef _Res& result_type;
1417: 
1417:       _Result() noexcept : _M_value_ptr() { }
1417: 
1417:       void
1417:       _M_set(_Res& __res) noexcept
1417:       { _M_value_ptr = std::addressof(__res); }
1417: 
1417:       _Res& _M_get() noexcept { return *_M_value_ptr; }
1417: 
1417:     private:
1417:       _Res* _M_value_ptr;
1417: 
1417:       void _M_destroy() { delete this; }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     struct __future_base::_Result<void> : __future_base::_Result_base
1417:     {
1417:       typedef void result_type;
1417: 
1417:     private:
1417:       void _M_destroy() { delete this; }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Res, typename _Arg>
1417:     struct __is_location_invariant
1417:     <__future_base::_State_base::_Setter<_Res, _Arg>>
1417:     : true_type { };
1417: 
1417: 
1417:   template<typename _Res_ptr, typename _Fn, typename _Res>
1417:     struct __is_location_invariant
1417:     <__future_base::_Task_setter<_Res_ptr, _Fn, _Res>>
1417:     : true_type { };
1417: 
1417: 
1417:   template<typename _Res>
1417:     class __basic_future : public __future_base
1417:     {
1417:     protected:
1417:       typedef shared_ptr<_State_base> __state_type;
1417:       typedef __future_base::_Result<_Res>& __result_type;
1417: 
1417:     private:
1417:       __state_type _M_state;
1417: 
1417:     public:
1417: 
1417:       __basic_future(const __basic_future&) = delete;
1417:       __basic_future& operator=(const __basic_future&) = delete;
1417: 
1417:       bool
1417:       valid() const noexcept { return static_cast<bool>(_M_state); }
1417: 
1417:       void
1417:       wait() const
1417:       {
1417:         _State_base::_S_check(_M_state);
1417:         _M_state->wait();
1417:       }
1417: 
1417:       template<typename _Rep, typename _Period>
1417:         future_status
1417:         wait_for(const chrono::duration<_Rep, _Period>& __rel) const
1417:         {
1417:           _State_base::_S_check(_M_state);
1417:           return _M_state->wait_for(__rel);
1417:         }
1417: 
1417:       template<typename _Clock, typename _Duration>
1417:         future_status
1417:         wait_until(const chrono::time_point<_Clock, _Duration>& __abs) const
1417:         {
1417:           _State_base::_S_check(_M_state);
1417:           return _M_state->wait_until(__abs);
1417:         }
1417: 
1417:     protected:
1417: 
1417:       __result_type
1417:       _M_get_result() const
1417:       {
1417:         _State_base::_S_check(_M_state);
1417:         _Result_base& __res = _M_state->wait();
1417:         if (!(__res._M_error == nullptr))
1417:           rethrow_exception(__res._M_error);
1417:         return static_cast<__result_type>(__res);
1417:       }
1417: 
1417:       void _M_swap(__basic_future& __that) noexcept
1417:       {
1417:         _M_state.swap(__that._M_state);
1417:       }
1417: 
1417: 
1417:       explicit
1417:       __basic_future(const __state_type& __state) : _M_state(__state)
1417:       {
1417:         _State_base::_S_check(_M_state);
1417:         _M_state->_M_set_retrieved_flag();
1417:       }
1417: 
1417: 
1417:       explicit
1417:       __basic_future(const shared_future<_Res>&) noexcept;
1417: 
1417: 
1417:       explicit
1417:       __basic_future(shared_future<_Res>&&) noexcept;
1417: 
1417: 
1417:       explicit
1417:       __basic_future(future<_Res>&&) noexcept;
1417: 
1417:       constexpr __basic_future() noexcept : _M_state() { }
1417: 
1417:       struct _Reset
1417:       {
1417:         explicit _Reset(__basic_future& __fut) noexcept : _M_fut(__fut) { }
1417:         ~_Reset() { _M_fut._M_state.reset(); }
1417:         __basic_future& _M_fut;
1417:       };
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Res>
1417:     class future : public __basic_future<_Res>
1417:     {
1417: 
1417: 
1417:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1417:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1417:       static_assert(is_destructible<_Res>{},
1417:       "result type must be destructible");
1417: 
1417:       friend class promise<_Res>;
1417:       template<typename> friend class packaged_task;
1417:       template<typename _Fn, typename... _Args>
1417:         friend future<__async_result_of<_Fn, _Args...>>
1417:         async(launch, _Fn&&, _Args&&...);
1417: 
1417:       typedef __basic_future<_Res> _Base_type;
1417:       typedef typename _Base_type::__state_type __state_type;
1417: 
1417:       explicit
1417:       future(const __state_type& __state) : _Base_type(__state) { }
1417: 
1417:     public:
1417:       constexpr future() noexcept : _Base_type() { }
1417: 
1417: 
1417:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1417: 
1417: 
1417:       future(const future&) = delete;
1417:       future& operator=(const future&) = delete;
1417: 
1417:       future& operator=(future&& __fut) noexcept
1417:       {
1417:         future(std::move(__fut))._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417: 
1417:       _Res
1417:       get()
1417:       {
1417:         typename _Base_type::_Reset __reset(*this);
1417:         return std::move(this->_M_get_result()._M_value());
1417:       }
1417: 
1417:       shared_future<_Res> share() noexcept;
1417:     };
1417: 
1417: 
1417:   template<typename _Res>
1417:     class future<_Res&> : public __basic_future<_Res&>
1417:     {
1417:       friend class promise<_Res&>;
1417:       template<typename> friend class packaged_task;
1417:       template<typename _Fn, typename... _Args>
1417:         friend future<__async_result_of<_Fn, _Args...>>
1417:         async(launch, _Fn&&, _Args&&...);
1417: 
1417:       typedef __basic_future<_Res&> _Base_type;
1417:       typedef typename _Base_type::__state_type __state_type;
1417: 
1417:       explicit
1417:       future(const __state_type& __state) : _Base_type(__state) { }
1417: 
1417:     public:
1417:       constexpr future() noexcept : _Base_type() { }
1417: 
1417: 
1417:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1417: 
1417: 
1417:       future(const future&) = delete;
1417:       future& operator=(const future&) = delete;
1417: 
1417:       future& operator=(future&& __fut) noexcept
1417:       {
1417:         future(std::move(__fut))._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417: 
1417:       _Res&
1417:       get()
1417:       {
1417:         typename _Base_type::_Reset __reset(*this);
1417:         r   is_nothrow_constructible<_Functor, _Fn>>::value;
1412:  }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     class _Function_handler<void, void>
1412:     {
1412:     public:
1412:       static bool
1412:       _M_manager(_Any_data&, const _Any_data&, _Manager_operation)
1412:       { return false; }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Signature, typename _Functor,
1412:     bool __valid = is_object<_Functor>::value>
1412:     struct _Target_handler
1412:     : _Function_handler<_Signature, typename remove_cv<_Functor>::type>
1412:     { };
1412: 
1412:   template<typename _Signature, typename _Functor>
1412:     struct _Target_handler<_Signature, _Functor, false>
1412:     : _Function_handler<void, void>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Res, typename... _ArgTypes>
1412:     class function<_Res(_ArgTypes...)>
1412:     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
1412:       private _Function_base
1412:     {
1412: 
1412: 
1412:       template<typename _Func,
1412:         bool _Self = is_same<__remove_cvref_t<_Func>, function>::value>
1412:  using _Decay_t
1412:    = typename __enable_if_t<!_Self, decay<_Func>>::type;
1412: 
1412:       template<typename _Func,
1412:         typename _DFunc = _Decay_t<_Func>,
1412:         typename _Res2 = __invoke_result<_DFunc&, _ArgTypes...>>
1412:  struct _Callable
1412:  : __is_invocable_impl<_Res2, _Res>::type
1412:  { };
1412: 
1412:       template<typename _Cond, typename _Tp = void>
1412:  using _Requires = __enable_if_t<_Cond::value, _Tp>;
1412: 
1412:       template<typename _Functor>
1412:  using _Handler
1412:    = _Function_handler<_Res(_ArgTypes...), __decay_t<_Functor>>;
1412: 
1412:     public:
1412:       typedef _Res result_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       function() noexcept
1412:       : _Function_base() { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       function(nullptr_t) noexcept
1412:       : _Function_base() { }
1412: # 386 "/usr/include/c++/12/bits/std_function.h" 3
1412:       function(const function& __x)
1412:       : _Function_base()
1412:       {
1412:  if (static_cast<bool>(__x))
1412:    {
1412:      __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
1412:      _M_invoker = __x._M_invoker;
1412:      _M_manager = __x._M_manager;
1412:    }
1412:       }
1412: # 404 "/usr/include/c++/12/bits/std_function.h" 3
1412:       function(function&& __x) noexcept
1412:       : _Function_base(), _M_invoker(__x._M_invoker)
1412:       {
1412:  if (static_cast<bool>(__x))
1412:    {
1412:      _M_functor = __x._M_functor;
1412:      _M_manager = __x._M_manager;
1412:      __x._M_manager = nullptr;
1412:      __x._M_invoker = nullptr;
1412:    }
1412:       }
1412: # 433 "/usr/include/c++/12/bits/std_function.h" 3
1412:       template<typename _Functor,
1412:         typename _Constraints = _Requires<_Callable<_Functor>>>
1412:  function(_Functor&& __f)
1412:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1412:  : _Function_base()
1412:  {
1412:    static_assert(is_copy_constructible<__decay_t<_Functor>>::value,
1412:        "std::function target must be copy-constructible");
1412:    static_assert(is_constructible<__decay_t<_Functor>, _Functor>::value,
1412:        "std::function target must be constructible from the "
1412:        "constructor argument");
1412: 
1412:    using _My_handler = _Handler<_Functor>;
1412: 
1412:    if (_My_handler::_M_not_empty_function(__f))
1412:      {
1412:        _My_handler::_M_init_functor(_M_functor,
1412:         std::forward<_Functor>(__f));
1412:        _M_invoker = &_My_handler::_M_invoke;
1412:        _M_manager = &_My_handler::_M_manager;
1412:      }
1412:  }
1412: # 468 "/usr/include/c++/12/bits/std_function.h" 3
1412:       function&
1412:       operator=(const function& __x)
1412:       {
1412:  function(__x).swap(*this);
1412:  return *this;
1412:       }
1412: # 486 "/usr/include/c++/12/bits/std_function.h" 3
1412:       function&
1412:     zeof(_CharT) };
1115: 
1115:       union
1115:       {
1115:  _CharT _M_local_buf[_S_local_capacity + 1];
1115:  size_type _M_allocated_capacity;
1115:       };
1115: 
1115:      
1115:       void
1115:       _M_data(pointer __p)
1115:       { _M_dataplus._M_p = __p; }
1115: 
1115:      
1115:       void
1115:       _M_length(size_type __length)
1115:       { _M_string_length = __length; }
1115: 
1115:      
1115:       pointer
1115:       _M_data() const
1115:       { return _M_dataplus._M_p; }
1115: 
1115:      
1115:       pointer
1115:       _M_local_data()
1115:       {
1115: 
1115:  return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
1115: 
1115: 
1115: 
1115:       }
1115: 
1115:      
1115:       const_pointer
1115:       _M_local_data() const
1115:       {
1115: 
1115:  return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
1115: 
1115: 
1115: 
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_capacity(size_type __capacity)
1115:       { _M_allocated_capacity = __capacity; }
1115: 
1115:      
1115:       void
1115:       _M_set_length(size_type __n)
1115:       {
1115:  _M_length(__n);
1115:  traits_type::assign(_M_data()[__n], _CharT());
1115:       }
1115: 
1115:      
1115:       bool
1115:       _M_is_local() const
1115:       { return _M_data() == _M_local_data(); }
1115: 
1115: 
1115:      
1115:       pointer
1115:       _M_create(size_type&, size_type);
1115: 
1115:      
1115:       void
1115:       _M_dispose()
1115:       {
1115:  if (!_M_is_local())
1115:    _M_destroy(_M_allocated_capacity);
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_destroy(size_type __size) throw()
1115:       { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
1115: # 319 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _InIterator>
1115: 
1115:         void
1115:         _M_construct(_InIterator __beg, _InIterator __end,
1115:        std::input_iterator_tag);
1115: 
1115: 
1115: 
1115:       template<typename _FwdIterator>
1115: 
1115:         void
1115:         _M_construct(_FwdIterator __beg, _FwdIterator __end,
1115:        std::forward_iterator_tag);
1115: 
1115:      
1115:       void
1115:       _M_construct(size_type __req, _CharT __c);
1115: 
1115:      
1115:       allocator_type&
1115:       _M_get_allocator()
1115:       { return _M_dataplus; }
1115: 
1115:      
1115:       const allocator_type&
1115:       _M_get_allocator() const
1115:       { return _M_dataplus; }
1115: 
1115: 
1115:       __attribute__((__always_inline__))
1115:       constexpr
1115:       pointer
1115:       _M_use_local_data() noexcept
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  return _M_local_data();
1115:       }
1115: 
1115:     private:
1115: # 377 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       _M_check(size_type __pos, const char* __s) const
1115:       {
1115:  if (__pos > this->size())
1115:    __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)")
1115:                                          ,
1115:        __s, __pos, this->size());
1115:  return __pos;
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
1115:       {
1115:  if (this->max_size() - (this->size() - __n1) < __n2)
1115:    __throw_length_error((__s));
1115:       }
1115: 
1115: 
1115: 
1115:      
1115:       size_type
1115:       _M_limit(size_type __pos, size_type __off) const noexcept
1115:       {
1115:  const bool __testoff = __off < this->size() - __pos;
1115:  return __testoff ? __off : this->size() - __pos;
1115:       }
1115: 
1115: 
1115:       bool
1115:       _M_disjunct(const _CharT* __s) const noexcept
1115:       {
1115:  return (less<const _CharT*>()(__s, _M_data())
1115:   || less<const _CharT*>()(_M_data() + this->size(), __s));
1115:       }
1115: 
1115: 
1115: 
1115:      
1115:       static void
1115:       _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
1115:       {
eturn this->_M_get_result()._M_get();
1417:       }
1417: 
1417:       shared_future<_Res&> share() noexcept;
1417:     };
1417: 
1417: 
1417:   template<>
1417:     class future<void> : public __basic_future<void>
1417:     {
1417:       friend class promise<void>;
1417:       template<typename> friend class packaged_task;
1417:       template<typename _Fn, typename... _Args>
1417:         friend future<__async_result_of<_Fn, _Args...>>
1417:         async(launch, _Fn&&, _Args&&...);
1417: 
1417:       typedef __basic_future<void> _Base_type;
1417:       typedef typename _Base_type::__state_type __state_type;
1417: 
1417:       explicit
1417:       future(const __state_type& __state) : _Base_type(__state) { }
1417: 
1417:     public:
1417:       constexpr future() noexcept : _Base_type() { }
1417: 
1417: 
1417:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1417: 
1417: 
1417:       future(const future&) = delete;
1417:       future& operator=(const future&) = delete;
1417: 
1417:       future& operator=(future&& __fut) noexcept
1417:       {
1417:         future(std::move(__fut))._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417: 
1417:       void
1417:       get()
1417:       {
1417:         typename _Base_type::_Reset __reset(*this);
1417:         this->_M_get_result();
1417:       }
1417: 
1417:       shared_future<void> share() noexcept;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Res>
1417:     class shared_future : public __basic_future<_Res>
1417:     {
1417: 
1417: 
1417:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1417:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1417:       static_assert(is_destructible<_Res>{},
1417:       "result type must be destructible");
1417: 
1417:       typedef __basic_future<_Res> _Base_type;
1417: 
1417:     public:
1417:       constexpr shared_future() noexcept : _Base_type() { }
1417: 
1417: 
1417:       shared_future(const shared_future& __sf) noexcept : _Base_type(__sf) { }
1417: 
1417: 
1417:       shared_future(future<_Res>&& __uf) noexcept
1417:       : _Base_type(std::move(__uf))
1417:       { }
1417: 
1417: 
1417:       shared_future(shared_future&& __sf) noexcept
1417:       : _Base_type(std::move(__sf))
1417:       { }
1417: 
1417:       shared_future& operator=(const shared_future& __sf) noexcept
1417:       {
1417:         shared_future(__sf)._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417:       shared_future& operator=(shared_future&& __sf) noexcept
1417:       {
1417:         shared_future(std::move(__sf))._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417: 
1417:       const _Res&
1417:       get() const { return this->_M_get_result()._M_value(); }
1417:     };
1417: 
1417: 
1417:   template<typename _Res>
1417:     class shared_future<_Res&> : public __basic_future<_Res&>
1417:     {
1417:       typedef __basic_future<_Res&> _Base_type;
1417: 
1417:     public:
1417:       constexpr shared_future() noexcept : _Base_type() { }
1417: 
1417: 
1417:       shared_future(const shared_future& __sf) : _Base_type(__sf) { }
1417: 
1417: 
1417:       shared_future(future<_Res&>&& __uf) noexcept
1417:       : _Base_type(std::move(__uf))
1417:       { }
1417: 
1417: 
1417:       shared_future(shared_future&& __sf) noexcept
1417:       : _Base_type(std::move(__sf))
1417:       { }
1417: 
1417:       shared_future& operator=(const shared_future& __sf)
1417:       {
1417:         shared_future(__sf)._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417:       shared_future& operator=(shared_future&& __sf) noexcept
1417:       {
1417:         shared_future(std::move(__sf))._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417: 
1417:       _Res&
1417:       get() const { return this->_M_get_result()._M_get(); }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     class shared_future<void> : public __basic_future<void>
1417:     {
1417:       typedef __basic_future<void> _Base_ty  operator=(function&& __x) noexcept
1412:       {
1412:  function(std::move(__x)).swap(*this);
1412:  return *this;
1412:       }
1412: # 500 "/usr/include/c++/12/bits/std_function.h" 3
1412:       function&
1412:       operator=(nullptr_t) noexcept
1412:       {
1412:  if (_M_manager)
1412:    {
1412:      _M_manager(_M_functor, _M_functor, __destroy_functor);
1412:      _M_manager = nullptr;
1412:      _M_invoker = nullptr;
1412:    }
1412:  return *this;
1412:       }
1412: # 529 "/usr/include/c++/12/bits/std_function.h" 3
1412:       template<typename _Functor>
1412:  _Requires<_Callable<_Functor>, function&>
1412:  operator=(_Functor&& __f)
1412:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1412:  {
1412:    function(std::forward<_Functor>(__f)).swap(*this);
1412:    return *this;
1412:  }
1412: 
1412: 
1412:       template<typename _Functor>
1412:  function&
1412:  operator=(reference_wrapper<_Functor> __f) noexcept
1412:  {
1412:    function(__f).swap(*this);
1412:    return *this;
1412:  }
1412: # 556 "/usr/include/c++/12/bits/std_function.h" 3
1412:       void swap(function& __x) noexcept
1412:       {
1412:  std::swap(_M_functor, __x._M_functor);
1412:  std::swap(_M_manager, __x._M_manager);
1412:  std::swap(_M_invoker, __x._M_invoker);
1412:       }
1412: # 573 "/usr/include/c++/12/bits/std_function.h" 3
1412:       explicit operator bool() const noexcept
1412:       { return !_M_empty(); }
1412: # 586 "/usr/include/c++/12/bits/std_function.h" 3
1412:       _Res
1412:       operator()(_ArgTypes... __args) const
1412:       {
1412:  if (_M_empty())
1412:    __throw_bad_function_call();
1412:  return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
1412:       }
1412: # 605 "/usr/include/c++/12/bits/std_function.h" 3
1412:       const type_info&
1412:       target_type() const noexcept
1412:       {
1412:  if (_M_manager)
1412:    {
1412:      _Any_data __typeinfo_result;
1412:      _M_manager(__typeinfo_result, _M_functor, __get_type_info);
1412:      if (auto __ti = __typeinfo_result._M_access<const type_info*>())
1412:        return *__ti;
1412:    }
1412:  return typeid(void);
1412:       }
1412: # 630 "/usr/include/c++/12/bits/std_function.h" 3
1412:       template<typename _Functor>
1412:  _Functor*
1412:  target() noexcept
1412:  {
1412:    const function* __const_this = this;
1412:    const _Functor* __func = __const_this->template target<_Functor>();
1412: 
1412: 
1412:    return *const_cast<_Functor**>(&__func);
1412:  }
1412: 
1412:       template<typename _Functor>
1412:  const _Functor*
1412:  target() const noexcept
1412:  {
1412:    if constexpr (is_object<_Functor>::value)
1412:      {
1412: 
1412: 
1412:        using _Handler = _Target_handler<_Res(_ArgTypes...), _Functor>;
1412: 
1412:        if (_M_manager == &_Handler::_M_manager
1412: 
1412:     || (_M_manager && typeid(_Functor) == target_type())
1412: 
1412:    )
1412:   {
1412:     _Any_data __ptr;
1412:     _M_manager(__ptr, _M_functor, __get_functor_ptr);
1412:     return __ptr._M_access<const _Functor*>();
1412:   }
1412:      }
1412:    return nullptr;
1412:  }
1412: 
1412: 
1412:     private:
1412:       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
1412:       _Invoker_type _M_invoker = nullptr;
1412:     };
1412: 
1412: 
1412:   template<typename>
1412:     struct __function_guide_helper
1412:     { };
1412: 
1412:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1412:     struct __function_guide_helper<
1412:       _Res (_Tp::*) (_Args...) noexcept(_Nx)
1412:     >
1412:     { using type = _Res(_Args...); };
1412: 
1412:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1412:     struct __function_guide_helper<
1412:       _Res (_Tp::*) (_Args...) & noexcept(_Nx)
1412:     >
1412:     { using type = _Res(_Args...); };
1412: 
1412:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1412:     struct __function_guide_helper<
1412:       _Res (_Tp::*) (_Args...) const noexcept(_Nx)
1412:     >
1412:     { using type = _Res(_pe;
1417: 
1417:     public:
1417:       constexpr shared_future() noexcept : _Base_type() { }
1417: 
1417: 
1417:       shared_future(const shared_future& __sf) : _Base_type(__sf) { }
1417: 
1417: 
1417:       shared_future(future<void>&& __uf) noexcept
1417:       : _Base_type(std::move(__uf))
1417:       { }
1417: 
1417: 
1417:       shared_future(shared_future&& __sf) noexcept
1417:       : _Base_type(std::move(__sf))
1417:       { }
1417: 
1417:       shared_future& operator=(const shared_future& __sf)
1417:       {
1417:         shared_future(__sf)._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417:       shared_future& operator=(shared_future&& __sf) noexcept
1417:       {
1417:         shared_future(std::move(__sf))._M_swap(*this);
1417:         return *this;
1417:       }
1417: 
1417: 
1417:       void
1417:       get() const { this->_M_get_result(); }
1417:     };
1417: 
1417: 
1417:   template<typename _Res>
1417:     inline __basic_future<_Res>::
1417:     __basic_future(const shared_future<_Res>& __sf) noexcept
1417:     : _M_state(__sf._M_state)
1417:     { }
1417: 
1417:   template<typename _Res>
1417:     inline __basic_future<_Res>::
1417:     __basic_future(shared_future<_Res>&& __sf) noexcept
1417:     : _M_state(std::move(__sf._M_state))
1417:     { }
1417: 
1417:   template<typename _Res>
1417:     inline __basic_future<_Res>::
1417:     __basic_future(future<_Res>&& __uf) noexcept
1417:     : _M_state(std::move(__uf._M_state))
1417:     { }
1417: 
1417: 
1417: 
1417:   template<typename _Res>
1417:     inline shared_future<_Res>
1417:     future<_Res>::share() noexcept
1417:     { return shared_future<_Res>(std::move(*this)); }
1417: 
1417:   template<typename _Res>
1417:     inline shared_future<_Res&>
1417:     future<_Res&>::share() noexcept
1417:     { return shared_future<_Res&>(std::move(*this)); }
1417: 
1417:   inline shared_future<void>
1417:   future<void>::share() noexcept
1417:   { return shared_future<void>(std::move(*this)); }
1417: 
1417: 
1417:   template<typename _Res>
1417:     class promise
1417:     {
1417: 
1417: 
1417:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1417:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1417:       static_assert(is_destructible<_Res>{},
1417:       "result type must be destructible");
1417: 
1417:       typedef __future_base::_State_base _State;
1417:       typedef __future_base::_Result<_Res> _Res_type;
1417:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1417:       template<typename, typename> friend struct _State::_Setter;
1417:       friend _State;
1417: 
1417:       shared_ptr<_State> _M_future;
1417:       _Ptr_type _M_storage;
1417: 
1417:     public:
1417:       promise()
1417:       : _M_future(std::make_shared<_State>()),
1417:  _M_storage(new _Res_type())
1417:       { }
1417: 
1417:       promise(promise&& __rhs) noexcept
1417:       : _M_future(std::move(__rhs._M_future)),
1417:  _M_storage(std::move(__rhs._M_storage))
1417:       { }
1417: 
1417:       template<typename _Allocator>
1417:         promise(allocator_arg_t, const _Allocator& __a)
1417:         : _M_future(std::allocate_shared<_State>(__a)),
1417:    _M_storage(__future_base::_S_allocate_result<_Res>(__a))
1417:         { }
1417: 
1417:       template<typename _Allocator>
1417:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1417:         : _M_future(std::move(__rhs._M_future)),
1417:    _M_storage(std::move(__rhs._M_storage))
1417:         { }
1417: 
1417:       promise(const promise&) = delete;
1417: 
1417:       ~promise()
1417:       {
1417:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1417:           _M_future->_M_break_promise(std::move(_M_storage));
1417:       }
1417: 
1417: 
1417:       promise&
1417:       operator=(promise&& __rhs) noexcept
1417:       {
1417:         promise(std::move(__rhs)).swap(*this);
1417:         return *this;
1417:       }
1417: 
1417:       promise& operator=(const promise&) = delete;
1417: 
1417:       v1434: // Target: arm-linux-gnueabihf
1434: // Configured with: ../src/configure -v --with-pkgversion='Raspbian 12.2.0-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6+fp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
1434: // Thread model: posix
1434: // Supported LTO compression algorithms: zlib zstd
1434: // gcc version 12.2.0 (Raspbian 12.2.0-14+rpi1) 
1434: // 
1434: // /usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h:298:11: internal compiler error: Segmentation fault
1434: //   298 |   typedef __SIZE_TYPE__         size_t;
1434: //       |           ^~~~~~~~~~~~~
1434: // 0x137a10f internal_error(char const*, ...)
1434: // 	???:0
1434: // 0x389c8b pop_to_parent_deferring_access_checks()
1434: // 	???:0
1434: // Please submit a full bug report, with preprocessed source (by using -freport-bug).
1434: // Please include the complete backtrace with any bug report.
1434: // See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
1434: 
1434: // /usr/lib/gcc/arm-linux-gnueabihf/12/cc1plus -quiet -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf -I /<<BUILDDIR>>/kodi-20.0+dfsg -I /<<BUILDDIR>>/kodi-20.0+dfsg/lib -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/linux -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer -I /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build -I /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix -imultilib . -imultiarch arm-linux-gnueabihf -MD CMakeFiles/weather.dir/WeatherManager.cpp.d -MF CMakeFiles/weather.dir/WeatherManager.cpp.o.d -MT build/weather/CMakeFiles/weather.dir/WeatherManager.cpp.o -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 -D _XBMC -D DEB_VERSION="2:20.0+dfsg-1" -D NDEBUG -D TARGET_POSIX -D TARGET_LINUX -D _GNU_SOURCE -D HAVE_LINUX_UDMABUF=1 -D HAVE_LINUX_DMA_HEAP=1 -D HAVE_LINUX_DMA_BUF=1 -D HAVE_MKOSTEMP=1 -D HAVE_LINUX_MEMFD=1 -D HAVE_STATX=1 -D __STDC_CONSTANT_MACROS -D _FILE_OFFSET_BITS=64 -D HAS_POSIX_NETWORK -D HAS_LINUX_NETWORK -D HAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -D HAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -D HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -D HAVE_INOTIFY=1 -D HAVE_POSIX_FADVISE=1 -D HAVE_LOCALTIME_R=1 -D HAVE_GMTIME_R=1 -D HAVE_INTTYPES_H=1 -D HAS_ALSA=1 -D HAS_AVAHI=1 -D HAS_ZEROCONF=1 -D HAVE_LIBBLURAY=1 -D HAVE_LIBBLURAY_BDJ=1 -D HAVE_LIBCEC=1 -D HAS_DBUS=1 -D HAS_ISO9660PP=1 -D HAVE_LCMS2=1 -D CMS_NO_REGISTER_KEYWORD=1 -D HAS_LIRC=1 -D HAS_WEB_SERVER=1 -D HAS_WEB_INTERFACE=1 -D HAS_FILESYSTEM_NFS=1 -D HAS_NFS_SET_TIMEOUT -D HAS_PIPEWIRE=1 -D HAS_AIRPLAY=1 -D HAS_PULSEAUDIO=1 -D HAS_PYTHON=1 -D HAS_FILESYSTEM_SMB=1 -D HAS_SNDIO=1 -D HAVE_LIBUDEV=1 -D HAS_UDFREAD=1 -D HAVE_LIBXSLT=1 -D HAVE_LIBVA=1 -D HAS_GLX=1 -D HAVE_LIBVDPAU=1 -D DATE_HAS_STRINGVIEW -D FFMPEG_VER_SHA="4.4.1" -D HAVE_GCRYPT=1 -D SPDLOG_FMT_EXTERNAL -D SPDLOG_DEBUG_ON -D SPDLOG_NO_ATOMIC_LEVELS -D SPDLOG_ENABLE_PATTERN_PADDING -D SPDLOG_COMPILED_LIB -D SPDLOG_SHARED_LIB -D HAS_EGL=1 -D HAVE_X11=1 -D HAVE_LIBXRANDR=1 -D HAVE_HDR_OUTPUT_METADATA=1 -D HAVE_DRM_MODIFIER_NAME=1 -D HAS_GL=1 -D HAVE_WAYLAND=1 -D HAVE_GBM=1 -D HAS_GBM_BO_MAP=1 -D HAS_GBM_MODIFIERS=1 -D HAS_MYSQL=1 -D HAS_UPNP=1 -D HAS_DVD_DRIVE -D HAS_CDDA_RIPPER -D HAS_AIRTUNES=1 -D BIN_INSTALL_PATH="/usr/lib/arm-linux-gnueabihf/kodi" -D INSTALL_PATH="oid
1417:       swap(promise& __rhs) noexcept
1417:       {
1417:         _M_future.swap(__rhs._M_future);
1417:         _M_storage.swap(__rhs._M_storage);
1417:       }
1417: 
1417: 
1417:       future<_Res>
1417:       get_future()
1417:       { return future<_Res>(_M_future); }
1417: 
1417: 
1417:       void
1417:       set_value(const _Res& __r)
1417:       { _M_state()._M_set_result(_State::__setter(this, __r)); }
1417: 
1417:       void
1417:       set_value(_Res&& __r)
1417:       { _M_state()._M_set_result(_State::__setter(this, std::move(__r))); }
1417: 
1417:       void
1417:       set_exception(exception_ptr __p)
1417:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1417: 
1417:       void
1417:       set_value_at_thread_exit(const _Res& __r)
1417:       {
1417:  _M_state()._M_set_delayed_result(_State::__setter(this, __r),
1417:       _M_future);
1417:       }
1417: 
1417:       void
1417:       set_value_at_thread_exit(_Res&& __r)
1417:       {
1417:  _M_state()._M_set_delayed_result(
1417:      _State::__setter(this, std::move(__r)), _M_future);
1417:       }
1417: 
1417:       void
1417:       set_exception_at_thread_exit(exception_ptr __p)
1417:       {
1417:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1417:       _M_future);
1417:       }
1417: 
1417:     private:
1417:       _State&
1417:       _M_state()
1417:       {
1417:  __future_base::_State_base::_S_check(_M_future);
1417:  return *_M_future;
1417:       }
1417:     };
1417: 
1417:   template<typename _Res>
1417:     inline void
1417:     swap(promise<_Res>& __x, promise<_Res>& __y) noexcept
1417:     { __x.swap(__y); }
1417: 
1417:   template<typename _Res, typename _Alloc>
1417:     struct uses_allocator<promise<_Res>, _Alloc>
1417:     : public true_type { };
1417: 
1417: 
1417: 
1417:   template<typename _Res>
1417:     class promise<_Res&>
1417:     {
1417:       typedef __future_base::_State_base _State;
1417:       typedef __future_base::_Result<_Res&> _Res_type;
1417:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1417:       template<typename, typename> friend struct _State::_Setter;
1417:       friend _State;
1417: 
1417:       shared_ptr<_State> _M_future;
1417:       _Ptr_type _M_storage;
1417: 
1417:     public:
1417:       promise()
1417:       : _M_future(std::make_shared<_State>()),
1417:  _M_storage(new _Res_type())
1417:       { }
1417: 
1417:       promise(promise&& __rhs) noexcept
1417:       : _M_future(std::move(__rhs._M_future)),
1417:  _M_storage(std::move(__rhs._M_storage))
1417:       { }
1417: 
1417:       template<typename _Allocator>
1417:         promise(allocator_arg_t, const _Allocator& __a)
1417:         : _M_future(std::allocate_shared<_State>(__a)),
1417:    _M_storage(__future_base::_S_allocate_result<_Res&>(__a))
1417:         { }
1417: 
1417:       template<typename _Allocator>
1417:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1417:         : _M_future(std::move(__rhs._M_future)),
1417:    _M_storage(std::move(__rhs._M_storage))
1417:         { }
1417: 
1417:       promise(const promise&) = delete;
1417: 
1417:       ~promise()
1417:       {
1417:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1417:           _M_future->_M_break_promise(std::move(_M_storage));
1417:       }
1417: 
1417: 
1417:       promise&
1417:       operator=(promise&& __rhs) noexcept
1417:       {
1417:         promise(std::move(__rhs)).swap(*this);
1417:         return *this;
1417:       }
1417: 
1417:       promise& operator=(const promise&) = delete;
1417: 
1417:       void
1417:       swap(promise& __rhs) noexcept
1417:       {
1417:         _M_future.swap(__rhs._M_future);
1417:         _M_storage.swap(__rhs._M_storage);
1417:       }
1417: 
1417: 
1417:       future<_Res&>
1417:       get_future()
1417:       { return future<_Res&>(_M_future); }
1417: 
1417: 
1417:       void
1417:       set_value(_Res& __r)
1417:       { _M_state()._M_set_result(_State::__setter(this, __r)); }
1417: 
1417:       void
1417:       set_exception(exception_ptr __p)Args...); };
1412: 
1412:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1412:     struct __function_guide_helper<
1412:       _Res (_Tp::*) (_Args...) const & noexcept(_Nx)
1412:     >
1412:     { using type = _Res(_Args...); };
1412: 
1412:   template<typename _Res, typename... _ArgTypes>
1412:     function(_Res(*)(_ArgTypes...)) -> function<_Res(_ArgTypes...)>;
1412: 
1412:   template<typename _Functor, typename _Signature = typename
1412:     __function_guide_helper<decltype(&_Functor::operator())>::type>
1412:     function(_Functor) -> function<_Signature>;
1412: # 716 "/usr/include/c++/12/bits/std_function.h" 3
1412:   template<typename _Res, typename... _Args>
1412:     inline bool
1412:     operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1412:     { return !static_cast<bool>(__f); }
1412: 
1412: 
1412: 
1412:   template<typename _Res, typename... _Args>
1412:     inline bool
1412:     operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1412:     { return !static_cast<bool>(__f); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Res, typename... _Args>
1412:     inline bool
1412:     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1412:     { return static_cast<bool>(__f); }
1412: 
1412: 
1412:   template<typename _Res, typename... _Args>
1412:     inline bool
1412:     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1412:     { return static_cast<bool>(__f); }
1412: # 755 "/usr/include/c++/12/bits/std_function.h" 3
1412:   template<typename _Res, typename... _Args>
1412:     inline void
1412:     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   namespace __detail::__variant
1412:   {
1412:     template<typename> struct _Never_valueless_alt;
1412: 
1412: 
1412: 
1412:     template<typename _Signature>
1412:       struct _Never_valueless_alt<std::function<_Signature>>
1412:       : std::true_type
1412:       { };
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: # 60 "/usr/include/c++/12/functional" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/unordered_map" 1 3
1412: # 32 "/usr/include/c++/12/unordered_map" 3
1412:        
1412: # 33 "/usr/include/c++/12/unordered_map" 3
1412: # 46 "/usr/include/c++/12/unordered_map" 3
1412: # 1 "/usr/include/c++/12/bits/hashtable.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/hashtable.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/hashtable.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/bits/hashtable_policy.h" 1 3
1412: # 40 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     class _Hashtable;
1412: 
1412: namespace __detail
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Equal, typename _Hash, typename _RangeHash,
1412:     typename _Unused, typename _Traits>
1412:     struct _Hashtable_base;
1412: 
1412: 
1412: 
1412:   template<typename _Iterator>
1412:     inline typename std::iterator_traits<_Iterator>::difference_type
1412:     __distance_fw(_Iterator __first, _Iterator __last,
1412:     std::input_iterator_tag)
1412:     { return __first != __last ? 1 : 0; }
1412: 
1412:   template<typename _Iterator>
1412:     inline typename std::iterator_traits<_Iterator>::difference_type
1412:     __distance_fw(_Iterator __first, _Iterator __last,
1412:     std::forward_iterator_tag)
1412:     { return std::distance(__first, __last); }
1412: 
1412:   template<typename _Iterator>
1412:     inline typename std::iterator_traits<_Iterator>::difference_type
1412:     __distance_fw(_Iterator __first, _Iterator __last)
1412:     { return __distance_fw(__first, __last,
1412:       std::_/usr/share/kodi" -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.10 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /usr/include/lzo -isystem /usr/include/libdrm /<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp -quiet -dumpdir CMakeFiles/weather.dir/ -dumpbase WeatherManager.cpp.cpp -dumpbase-ext .cpp -mfloat-abi=hard -mtls-dialect=gnu -marm -mlibarch=armv6+fp -march=armv6+fp -g -g -O3 -O2 -Wformat=1 -Werror=format-security -Wdate-time -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -ffile-prefix-map=/<<BUILDDIR>>/kodi-20.0+dfsg=. -fstack-protector-strong -o - -frandom-seed=0 -fdump-noaddr
1434: 
1434: # 0 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp"
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf/build/weather//"
1434: # 0 "<built-in>"
1434: # 0 "<command-line>"
1434: # 1 "/usr/include/stdc-predef.h" 1 3 4
1434: # 0 "<command-line>" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp"
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp"
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1434:        
1434: 
1434: # 1 "/usr/include/c++/12/memory" 1 3
1434: # 47 "/usr/include/c++/12/memory" 3
1434:        
1434: # 48 "/usr/include/c++/12/memory" 3
1434: # 63 "/usr/include/c++/12/memory" 3
1434: # 1 "/usr/include/c++/12/bits/stl_algobase.h" 1 3
1434: # 59 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 1 3
1434: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1434: 
1434: # 296 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1434: namespace std
1434: {
1434:   typedef unsigned int size_t;
1434:   typedef int ptrdiff_t;
1434: 
1434: 
1434:   typedef decltype(nullptr) nullptr_t;
1434: 
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434:   extern "C++" __attribute__ ((__noreturn__, __always_inline__))
1434:   inline void __terminate() noexcept
1434:   {
1434:     void terminate() noexcept __attribute__ ((__noreturn__));
1434:     terminate();
1434:   }
1434: #pragma GCC visibility pop
1434: }
1434: # 329 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1434: namespace std
1434: {
1434:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1434: }
1434: namespace __gnu_cxx
1434: {
1434:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
1434: }
1434: # 508 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1434: namespace std
1434: {
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434: 
1434: 
1434:   constexpr inline bool
1434:   __is_constant_evaluated() noexcept
1434:   {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     return __builtin_is_constant_evaluated();
1434: 
1434: 
1434: 
1434:   }
1434: #pragma GCC visibility pop
1434: }
1434: # 655 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 1 3
1434: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 3
1434: # 1 "/usr/include/features.h" 1 3 4
1434: # 392 "/usr/include/features.h" 3 4
1434: # 1 "/usr/include/features-time64.h" 1
1417:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1417: 
1417:       void
1417:       set_value_at_thread_exit(_Res& __r)
1417:       {
1417:  _M_state()._M_set_delayed_result(_State::__setter(this, __r),
1417:       _M_future);
1417:       }
1417: 
1417:       void
1417:       set_exception_at_thread_exit(exception_ptr __p)
1417:       {
1417:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1417:       _M_future);
1417:       }
1417: 
1417:     private:
1417:       _State&
1417:       _M_state()
1417:       {
1417:  __future_base::_State_base::_S_check(_M_future);
1417:  return *_M_future;
1417:       }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     class promise<void>
1417:     {
1417:       typedef __future_base::_State_base _State;
1417:       typedef __future_base::_Result<void> _Res_type;
1417:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1417:       template<typename, typename> friend struct _State::_Setter;
1417:       friend _State;
1417: 
1417:       shared_ptr<_State> _M_future;
1417:       _Ptr_type _M_storage;
1417: 
1417:     public:
1417:       promise()
1417:       : _M_future(std::make_shared<_State>()),
1417:  _M_storage(new _Res_type())
1417:       { }
1417: 
1417:       promise(promise&& __rhs) noexcept
1417:       : _M_future(std::move(__rhs._M_future)),
1417:  _M_storage(std::move(__rhs._M_storage))
1417:       { }
1417: 
1417:       template<typename _Allocator>
1417:         promise(allocator_arg_t, const _Allocator& __a)
1417:         : _M_future(std::allocate_shared<_State>(__a)),
1417:    _M_storage(__future_base::_S_allocate_result<void>(__a))
1417:         { }
1417: 
1417: 
1417: 
1417:       template<typename _Allocator>
1417:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1417:         : _M_future(std::move(__rhs._M_future)),
1417:    _M_storage(std::move(__rhs._M_storage))
1417:         { }
1417: 
1417:       promise(const promise&) = delete;
1417: 
1417:       ~promise()
1417:       {
1417:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1417:           _M_future->_M_break_promise(std::move(_M_storage));
1417:       }
1417: 
1417: 
1417:       promise&
1417:       operator=(promise&& __rhs) noexcept
1417:       {
1417:         promise(std::move(__rhs)).swap(*this);
1417:         return *this;
1417:       }
1417: 
1417:       promise& operator=(const promise&) = delete;
1417: 
1417:       void
1417:       swap(promise& __rhs) noexcept
1417:       {
1417:         _M_future.swap(__rhs._M_future);
1417:         _M_storage.swap(__rhs._M_storage);
1417:       }
1417: 
1417: 
1417:       future<void>
1417:       get_future()
1417:       { return future<void>(_M_future); }
1417: 
1417: 
1417:       void
1417:       set_value()
1417:       { _M_state()._M_set_result(_State::__setter(this)); }
1417: 
1417:       void
1417:       set_exception(exception_ptr __p)
1417:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1417: 
1417:       void
1417:       set_value_at_thread_exit()
1417:       { _M_state()._M_set_delayed_result(_State::__setter(this), _M_future); }
1417: 
1417:       void
1417:       set_exception_at_thread_exit(exception_ptr __p)
1417:       {
1417:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1417:       _M_future);
1417:       }
1417: 
1417:     private:
1417:       _State&
1417:       _M_state()
1417:       {
1417:  __future_base::_State_base::_S_check(_M_future);
1417:  return *_M_future;
1417:       }
1417:     };
1417: 
1417:   template<typename _Ptr_type, typename _Fn, typename _Res>
1417:     struct __future_base::_Task_setter
1417:     {
1417: 
1417:       _Ptr_type operator()() const
1417:       {
1417:  try
1417:    {
1417:      (*_M_result)->_M_set((*_M_fn)());
1417:    }
1417:  catch(const __cxxabiv1::__forced_unwind&)
1417:    {
1417:      throw;
1417:    }
1417:  catch(...)
1417:    {
1417:      (*_M_result)->_M_error = current_exception();
1417:    }
1417:  return std::move(*_M_result);
1417:       }
1417:       _Ptr_type* _M_result;
1417:    3 4
1434: # 20 "/usr/include/features-time64.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1434: # 21 "/usr/include/features-time64.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1434: # 22 "/usr/include/features-time64.h" 2 3 4
1434: # 393 "/usr/include/features.h" 2 3 4
1434: # 489 "/usr/include/features.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 1 3 4
1434: # 559 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1434: # 560 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1434: # 561 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4
1434: # 490 "/usr/include/features.h" 2 3 4
1434: # 513 "/usr/include/features.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 1 3 4
1434: # 10 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h" 1 3 4
1434: # 11 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 2 3 4
1434: # 514 "/usr/include/features.h" 2 3 4
1434: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/os_defines.h" 2 3
1434: # 656 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/cpu_defines.h" 1 3
1434: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1434: # 841 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 3
1434: # 1 "/usr/include/c++/12/pstl/pstl_config.h" 1 3
1434: # 842 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++config.h" 2 3
1434: # 60 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/functexcept.h" 1 3
1434: # 40 "/usr/include/c++/12/bits/functexcept.h" 3
1434: # 1 "/usr/include/c++/12/bits/exception_defines.h" 1 3
1434: # 41 "/usr/include/c++/12/bits/functexcept.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   void
1434:   __throw_bad_exception(void) __attribute__((__noreturn__));
1434: 
1434: 
1434:   void
1434:   __throw_bad_alloc(void) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_bad_array_new_length(void) __attribute__((__noreturn__));
1434: 
1434: 
1434:   void
1434:   __throw_bad_cast(void) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_bad_typeid(void) __attribute__((__noreturn__));
1434: 
1434: 
1434:   void
1434:   __throw_logic_error(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_domain_error(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_length_error(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_out_of_range(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
1434:     __attribute__((__format__(__gnu_printf__, 1, 2)));
1434: 
1434:   void
1434:   __throw_runtime_error(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_range_error(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_overflow_error(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_underflow_error(const char*) __attribute__((__noreturn__));
1434: 
1434: 
1434:   void
1434:   __throw_ios_failure(const char*) __attribute__((__noreturn__));
1434: 
1434:   void
1434:   __throw_ios_failure(const char*, int) __attribute__((__noreturn__));
1434: 
1434: 
1434:   void
1434:   __throw_system_error(int) __attribute__((__noreturn__));
1434: 
1434: 
1434:   void
1434:   __throw_future_error(int) __attribute__((__noreturn__));
1434: 
1434: 
1434:   void
1434:   __throw_bad_function_call() __attribute__((__noreturn__));
1434: 
1434: 
1434: }
1434: # 61 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/cpp_type_traits.h" 1 3
1434: # 35 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1434:        
1434: # 36 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1434: # 67 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1434: extern "C++" {
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   struct __true_type { };
1434:   struct __false_type { };
1434: 
1434:   template<bool>
1434:     struct __truth_type
1434:     { typedef __false_type __type; };
1434: 
1434:   template<>
1434:     struct __truth_type<true>
1434:     { typedef __true_type __type; };
1434: 
1434: 
1434: 
1434:   template<class _Sp, class _Tp>
1434:     struct __traitor
1434:     {
1434:       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
1434:       typedef typename __truth_type<__value>::__type __type;
1434:     };
1434: 
1434: 
1434:   template<typename, typename>
1434:     struct __are_same
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __are_same<_Tp, _Tp>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_void
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_void<void>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_integer
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct __is_integer<bool>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<char>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<signed char>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<unsigned char>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __is_integer<wchar_t>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: # 184 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1434:   template<>
1434:     struct __is_integer<char16_t>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<char32_t>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __is_integer<short>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<unsigned short>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<int>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<unsigned int>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<long>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<unsigned long>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<long long>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef_iterator_category(__first)); }
1412: 
1412:   struct _Identity
1412:   {
1412:     template<typename _Tp>
1412:       _Tp&&
1412:       operator()(_Tp&& __x) const noexcept
1412:       { return std::forward<_Tp>(__x); }
1412:   };
1412: 
1412:   struct _Select1st
1412:   {
1412:     template<typename _Pair>
1412:       struct __1st_type;
1412: 
1412:     template<typename _Tp, typename _Up>
1412:       struct __1st_type<pair<_Tp, _Up>>
1412:       { using type = _Tp; };
1412: 
1412:     template<typename _Tp, typename _Up>
1412:       struct __1st_type<const pair<_Tp, _Up>>
1412:       { using type = const _Tp; };
1412: 
1412:     template<typename _Pair>
1412:       struct __1st_type<_Pair&>
1412:       { using type = typename __1st_type<_Pair>::type&; };
1412: 
1412:     template<typename _Tp>
1412:       typename __1st_type<_Tp>::type&&
1412:       operator()(_Tp&& __x) const noexcept
1412:       { return std::forward<_Tp>(__x).first; }
1412:   };
1412: 
1412:   template<typename _ExKey>
1412:     struct _NodeBuilder;
1412: 
1412:   template<>
1412:     struct _NodeBuilder<_Select1st>
1412:     {
1412:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1412:  static auto
1412:  _S_build(_Kt&& __k, _Arg&& __arg, const _NodeGenerator& __node_gen)
1412:  -> typename _NodeGenerator::__node_type*
1412:  {
1412:    return __node_gen(std::forward<_Kt>(__k),
1412:        std::forward<_Arg>(__arg).second);
1412:  }
1412:     };
1412: 
1412:   template<>
1412:     struct _NodeBuilder<_Identity>
1412:     {
1412:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1412:  static auto
1412:  _S_build(_Kt&& __k, _Arg&&, const _NodeGenerator& __node_gen)
1412:  -> typename _NodeGenerator::__node_type*
1412:  { return __node_gen(std::forward<_Kt>(__k)); }
1412:     };
1412: 
1412:   template<typename _NodeAlloc>
1412:     struct _Hashtable_alloc;
1412: 
1412: 
1412: 
1412:   template<typename _NodeAlloc>
1412:     struct _ReuseOrAllocNode
1412:     {
1412:     private:
1412:       using __node_alloc_type = _NodeAlloc;
1412:       using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>;
1412:       using __node_alloc_traits =
1412:  typename __hashtable_alloc::__node_alloc_traits;
1412: 
1412:     public:
1412:       using __node_type = typename __hashtable_alloc::__node_type;
1412: 
1412:       _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h)
1412:       : _M_nodes(__nodes), _M_h(__h) { }
1412:       _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete;
1412: 
1412:       ~_ReuseOrAllocNode()
1412:       { _M_h._M_deallocate_nodes(_M_nodes); }
1412: 
1412:       template<typename... _Args>
1412:  __node_type*
1412:  operator()(_Args&&... __args) const
1412:  {
1412:    if (_M_nodes)
1412:      {
1412:        __node_type* __node = _M_nodes;
1412:        _M_nodes = _M_nodes->_M_next();
1412:        __node->_M_nxt = nullptr;
1412:        auto& __a = _M_h._M_node_allocator();
1412:        __node_alloc_traits::destroy(__a, __node->_M_valptr());
1412:        try
1412:   {
1412:     __node_alloc_traits::construct(__a, __node->_M_valptr(),
1412:        std::forward<_Args>(__args)...);
1412:   }
1412:        catch(...)
1412:   {
1412:     _M_h._M_deallocate_node_ptr(__node);
1412:     throw;
1412:   }
1412:        return __node;
1412:      }
1412:    return _M_h._M_allocate_node(std::forward<_Args>(__args)...);
1412:  }
1412: 
1412:     private:
1412:       mutable __node_type* _M_nodes;
1412:       __hashtable_alloc& _M_h;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _NodeAlloc>
1412:     struct _AllocNode
1412:     {
1412:     private:
1412:       using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>;
1412: 
1412:     public:
1412:       using __node_type = typename __hashtable_alloc::__node_type;
1412: 
1412:       _AllocNode(__hashtable_alloc& __h)
1412:       : _M_h(__h) { }
1412: 
1412:       template<typename... _Args>
1412:  __node_type*
1412:  operator()(_Args&&... __args) const
1412:  { return _M_h._M_allocate_node(std::forward<_Args>(__args)...); }
1412: 
1412:     private:
1412:       __hashtable_alloc& _M_h;
1412:     };
1412: # 243 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1412:   template<bool _Cache_hash_code, bool _Constant_iterators, bool _Unique_keys>
1412:     struct _Hashtable_traits
1412:     {
1412:       using __hash_cached = __bool_constant<_Cache_hash_code>;
1412:       using __constant_iterators = __bool_constant<_Constant_iterators>;
1412:       using __unique_keys = __bool_constant<_Unique_keys>;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Hash>
1412:     struct _Hashtable_hash_traits
1412:     {
1412:       static constexpr std::size_t
1412:       __small_size_threshold() noexcept
1412:       { return std::__is_fast_hash<_Hash>::value ? 0 : 20; }
1412:     };
1412: # 273 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1412:   struct _Hash_node_base
1412:   {
1412:     _Hash_node_base* _M_nxt;
1412: 
1412:     _Hash_node_base() noexcept : _M_nxt() { }
1412: 
1412:     _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { }
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Value>
1412:     struct _Hash_node_value_base
1412:     {
1412:       typedef _Value value_type;
1412: 
1412:       __gnu_cxx::__aligned_buffer<_Value> _M_storage;
1412: 
1412:       _Value*
1412:       _M_valptr() noexcept
1412:       { return _M_storage._M_ptr(); }
1412: 
1412:       const _Value*
1412:       _M_valptr() const noexcept
1412:       { return _M_storage._M_ptr(); }
1412: 
1412:       _Value&
1412:       _M_v() noexcept
1412:       { return *_M_valptr(); }
1412: 
1412:       const _Value&
1412:       _M_v() const noexcept
1412:       { return *_M_valptr(); }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<bool _Cache_hash_code>
1412:     struct _Hash_node_code_cache
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct _Hash_node_code_cache<true>
1412:     { std::size_t _M_hash_code; };
1412: 
1412:   template<typename _Value, bool _Cache_hash_code>
1412:     struct _Hash_node_value
1412:     : _Hash_node_value_base<_Value>
1412:     , _Hash_node_code_cache<_Cache_hash_code>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Value, bool _Cache_hash_code>
1412:     struct _Hash_node
1412:     : _Hash_node_base
1412:     , _Hash_node_value<_Value, _Cache_hash_code>
1412:     {
1412:       _Hash_node*
1412:       _M_next() const noexcept
1412:       { return static_cast<_Hash_node*>(this->_M_nxt); }
1412:     };
1412: 
1412: 
1412:   template<typename _Value, bool _Cache_hash_code>
1412:     struct _Node_iterator_base
1412:     {
1412:       using __node_type = _Hash_node<_Value, _Cache_hash_code>;
1412: 
1412:       __node_type* _M_cur;
1412: 
1412:       _Node_iterator_base() : _M_cur(nullptr) { }
1412:       _Node_iterator_base(__node_type* __p) noexcept
1412:       : _M_cur(__p) { }
1412: 
1412:       void
1412:       _M_incr() noexcept
1412:       { _M_cur = _M_cur->_M_next(); }
1412: 
1412:       friend bool
1412:       operator==(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1412:       noexcept
1412:       { return __x._M_cur == __y._M_cur; }
1412: 
1412: 
1412:       friend bool
1412:       operator!=(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1412:       noexcept
1412:       { return __x._M_cur != __y._M_cur; }
1412: 
1412:     };
1412: 
1412: 
1412:   template<typename _Value, bool __constant_iterators, bool __cache>
1412:     struct _Node_iterator
1412:     : public _Node_iterator_base<_Value, __cache>
1412:     {
1412:     private:
1412:       using __base_type = _Node_iterator_base<_Value, __cache>;
1412:       using __node_type = typename __base_type::__node_type;
1412: 
1412:     public:
1412:       using value_type = _Value;
1412:       using difference_type = std::ptrdiff_t;
1412:       using iterator_category = std::forward_iterator_tag;
1412: 
1412:       using pointer = __conditional_t<__constant_iterators,
1412:           const value_type*, value_type*>;
1412: 
1412:         _Fn* _M_fn;
1417:     };
1417: 
1417:   template<typename _Ptr_type, typename _Fn>
1417:     struct __future_base::_Task_setter<_Ptr_type, _Fn, void>
1417:     {
1417:       _Ptr_type operator()() const
1417:       {
1417:  try
1417:    {
1417:      (*_M_fn)();
1417:    }
1417:  catch(const __cxxabiv1::__forced_unwind&)
1417:    {
1417:      throw;
1417:    }
1417:  catch(...)
1417:    {
1417:      (*_M_result)->_M_error = current_exception();
1417:    }
1417:  return std::move(*_M_result);
1417:       }
1417:       _Ptr_type* _M_result;
1417:       _Fn* _M_fn;
1417:     };
1417: 
1417: 
1417:   template<typename _Res, typename... _Args>
1417:     struct __future_base::_Task_state_base<_Res(_Args...)>
1417:     : __future_base::_State_base
1417:     {
1417:       typedef _Res _Res_type;
1417: 
1417:       template<typename _Alloc>
1417:  _Task_state_base(const _Alloc& __a)
1417:  : _M_result(_S_allocate_result<_Res>(__a))
1417:  { }
1417: 
1417: 
1417:       virtual void
1417:       _M_run(_Args&&... __args) = 0;
1417: 
1417: 
1417:       virtual void
1417:       _M_run_delayed(_Args&&... __args, weak_ptr<_State_base>) = 0;
1417: 
1417:       virtual shared_ptr<_Task_state_base>
1417:       _M_reset() = 0;
1417: 
1417:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1417:       _Ptr_type _M_result;
1417:     };
1417: 
1417: 
1417:   template<typename _Fn, typename _Alloc, typename _Res, typename... _Args>
1417:     struct __future_base::_Task_state<_Fn, _Alloc, _Res(_Args...)> final
1417:     : __future_base::_Task_state_base<_Res(_Args...)>
1417:     {
1417:       template<typename _Fn2>
1417:  _Task_state(_Fn2&& __fn, const _Alloc& __a)
1417:  : _Task_state_base<_Res(_Args...)>(__a),
1417:    _M_impl(std::forward<_Fn2>(__fn), __a)
1417:  { }
1417: 
1417:     private:
1417:       virtual void
1417:       _M_run(_Args&&... __args)
1417:       {
1417:  auto __boundfn = [&] () -> _Res {
1417:      return std::__invoke_r<_Res>(_M_impl._M_fn,
1417:       std::forward<_Args>(__args)...);
1417:  };
1417:  this->_M_set_result(_S_task_setter(this->_M_result, __boundfn));
1417:       }
1417: 
1417:       virtual void
1417:       _M_run_delayed(_Args&&... __args, weak_ptr<_State_base> __self)
1417:       {
1417:  auto __boundfn = [&] () -> _Res {
1417:      return std::__invoke_r<_Res>(_M_impl._M_fn,
1417:       std::forward<_Args>(__args)...);
1417:  };
1417:  this->_M_set_delayed_result(_S_task_setter(this->_M_result, __boundfn),
1417:         std::move(__self));
1417:       }
1417: 
1417:       virtual shared_ptr<_Task_state_base<_Res(_Args...)>>
1417:       _M_reset();
1417: 
1417:       struct _Impl : _Alloc
1417:       {
1417:  template<typename _Fn2>
1417:    _Impl(_Fn2&& __fn, const _Alloc& __a)
1417:    : _Alloc(__a), _M_fn(std::forward<_Fn2>(__fn)) { }
1417:  _Fn _M_fn;
1417:       } _M_impl;
1417:     };
1417: 
1417:   template<typename _Signature, typename _Fn,
1417:     typename _Alloc = std::allocator<int>>
1417:     static shared_ptr<__future_base::_Task_state_base<_Signature>>
1417:     __create_task_state(_Fn&& __fn, const _Alloc& __a = _Alloc())
1417:     {
1417:       typedef typename decay<_Fn>::type _Fn2;
1417:       typedef __future_base::_Task_state<_Fn2, _Alloc, _Signature> _State;
1417:       return std::allocate_shared<_State>(__a, std::forward<_Fn>(__fn), __a);
1417:     }
1417: 
1417:   template<typename _Fn, typename _Alloc, typename _Res, typename... _Args>
1417:     shared_ptr<__future_base::_Task_state_base<_Res(_Args...)>>
1417:     __future_base::_Task_state<_Fn, _Alloc, _Res(_Args...)>::_M_reset()
1417:     {
1417:       return __create_task_state<_Res(_Args...)>(std::move(_M_impl._M_fn),
1417:        static_cast<_Alloc&>(_M_impl));
1417:     }
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes>
1417:     class packaged_task<_Res(_ArgTypes...)>
1417:     {
1417:       typedef __future_base::_Task_state_base<_Res(_ArgTypes...)> _State_type;
1417:       shared_ptr<_State_type> _M_state;
1417: 
1417: 
1417: 
1417:       template<typename _Fn, typename _Fn2 = __remove __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_integer<unsigned long long>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: # 289 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1434:   template<typename _Tp>
1434:     struct __is_floating
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __is_floating<float>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_floating<double>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_floating<long double>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_pointer
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_pointer<_Tp*>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_arithmetic
1434:     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_scalar
1434:     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_char
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_char<char>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __is_char<wchar_t>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_byte
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_byte<char>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_byte<signed char>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __is_byte<unsigned char>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434: 
1434:   enum class byte : unsigned char;
1434: 
1434:   template<>
1434:     struct __is_byte<byte>
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: # 425 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1434:   template<typename> struct iterator_traits;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nonvolatile_trivially_copyable
1434:     {
1434:       enum { __value = __is_trivially_copyable(_Tp) };
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nonvolatile_trivially_copyable<volatile _Tp>
1434:     {
1434:       enum { __value = 0 };
1434:     };
1434: 
1434: 
1434:   template<typename _OutputIter, typename _InputIter>
1434:     struct __memcpyable
1434:     {
1434:       enum { __value = 0 };
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __memcpyable<_Tp*, _Tp*>
1434:     : __is_nonvolatile_trivially_copyable<_Tp>
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __memcpyable<_Tp*, const _Tp*>
1434:     : __is_nonvolatile_trivially_copyable<_Tp>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Iter1, typename _Iter2>
1434:     struct __memcmpable
1434:     {
1434:       enum { __value = 0 };
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __memcmpable<_Tp*, _Tp*>
1434:     : __is_nonvolatile_trivially_copyable<_Tp>
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __memcmpable<const _Tp*, _Tp*>
1434:     : __is_nonvolatile_trivially_copyable<_Tp>
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __memcmpable<_Tp*, const _Tp*>
1434:     : __is_nonvolatile_trivially_copyable<_Tp>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, bool _TreatAsBytes =
1434: 
1434: 
1434: 
1434:  __is_byte<_Tp>::__value
1434: 
1434:     >
1434:     struct __is_memcmp_ordered
1434:     {
1434:       static const bool __value = _Tp(-1) > _Tp(1);
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_memcmp_ordered<_Tp, false>
1434:     {
1434:       static const bool __value = false;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
1434:     struct __is_memcmp_ordered_with
1434:     {
1434:       static const bool __value = __is_memcmp_ordered<_Tp>::__value
1434:  && __is_memcmp_ordered<_Up>::__value;
1434:     };
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct __is_memcmp_ordered_with<_Tp, _Up, false>
1434:     {
1434:       static const bool __value = false;
1434:     };
1434: # 534 "/usr/include/c++/12/bits/cpp_type_traits.h" 3
1434:   template<>
1434:     struct __is_memcmp_ordered_with<std::byte, std::byte, true>
1434:     { static constexpr bool __value = true; };
1434: 
1434:   template<typename _Tp, bool _SameSize>
1434:     struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
1434:     { static constexpr bool __value = false; };
1434: 
1434:   template<typename _Up, bool _SameSize>
1434:     struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
1434:     { static constexpr bool __value = false; };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_move_iterator
1434:     {
1434:       enum { __value = 0 };
1434:       typedef __false_type __type;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Iterator>
1434:    
1434:     inline _Iterator
1434:     __miter_base(_Iterator __it)
1434:     { return __it; }
1434: 
1434: 
1434: }
1434: }
1434: # 62 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/ext/type_traits.h" 1 3
1434: # 32 "/usr/include/c++/12/ext/type_traits.h" 3
1434:        
1434: # 33 "/usr/include/c++/12/ext/type_traits.h" 3
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" {
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<bool, typename>
1434:     struct __enable_if
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __enable_if<true, _Tp>
1434:     { typedef _Tp __type; };
1434: 
1434: 
1434: 
1434:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1434:     struct __conditional_type
1434:     { typedef _Iftrue __type; };
1434: 
1434:   template<typename _Iftrue, typename _Iffalse>
1434:     struct __conditional_type<false, _Iftrue, _Iffalse>
1434:     { typedef _Iffalse __type; };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __add_unsigned
1434:     {
1434:     private:
1434:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1434: 
1434:     public:
1434:       typedef typename __if_type::__type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __add_unsigned<char>
1434:     { typedef unsigned char __type; };
1434: 
1434:   template<>
1434:     struct __add_unsigned<signed char>
1434:     { typedef unsigned char __type; };
1434: 
1434:   template<>
1434:     struct __add_unsigned<short>
1434:     { typedef unsigned short __type; };
1434: 
1434:   template<>
1434:     struct __add_unsigned<int>
1434:     { typedef unsigned int __type; };
1434: 
1434:   template<>
1434:     struct __add_unsigned<long>
1434:     {  using reference = __conditional_t<__constant_iterators,
1412:      const value_type&, value_type&>;
1412: 
1412:       _Node_iterator() = default;
1412: 
1412:       explicit
1412:       _Node_iterator(__node_type* __p) noexcept
1412:       : __base_type(__p) { }
1412: 
1412:       reference
1412:       operator*() const noexcept
1412:       { return this->_M_cur->_M_v(); }
1412: 
1412:       pointer
1412:       operator->() const noexcept
1412:       { return this->_M_cur->_M_valptr(); }
1412: 
1412:       _Node_iterator&
1412:       operator++() noexcept
1412:       {
1412:  this->_M_incr();
1412:  return *this;
1412:       }
1412: 
1412:       _Node_iterator
1412:       operator++(int) noexcept
1412:       {
1412:  _Node_iterator __tmp(*this);
1412:  this->_M_incr();
1412:  return __tmp;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Value, bool __constant_iterators, bool __cache>
1412:     struct _Node_const_iterator
1412:     : public _Node_iterator_base<_Value, __cache>
1412:     {
1412:     private:
1412:       using __base_type = _Node_iterator_base<_Value, __cache>;
1412:       using __node_type = typename __base_type::__node_type;
1412: 
1412:     public:
1412:       typedef _Value value_type;
1412:       typedef std::ptrdiff_t difference_type;
1412:       typedef std::forward_iterator_tag iterator_category;
1412: 
1412:       typedef const value_type* pointer;
1412:       typedef const value_type& reference;
1412: 
1412:       _Node_const_iterator() = default;
1412: 
1412:       explicit
1412:       _Node_const_iterator(__node_type* __p) noexcept
1412:       : __base_type(__p) { }
1412: 
1412:       _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators,
1412:       __cache>& __x) noexcept
1412:       : __base_type(__x._M_cur) { }
1412: 
1412:       reference
1412:       operator*() const noexcept
1412:       { return this->_M_cur->_M_v(); }
1412: 
1412:       pointer
1412:       operator->() const noexcept
1412:       { return this->_M_cur->_M_valptr(); }
1412: 
1412:       _Node_const_iterator&
1412:       operator++() noexcept
1412:       {
1412:  this->_M_incr();
1412:  return *this;
1412:       }
1412: 
1412:       _Node_const_iterator
1412:       operator++(int) noexcept
1412:       {
1412:  _Node_const_iterator __tmp(*this);
1412:  this->_M_incr();
1412:  return __tmp;
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   struct _Mod_range_hashing
1412:   {
1412:     typedef std::size_t first_argument_type;
1412:     typedef std::size_t second_argument_type;
1412:     typedef std::size_t result_type;
1412: 
1412:     result_type
1412:     operator()(first_argument_type __num,
1412:         second_argument_type __den) const noexcept
1412:     { return __num % __den; }
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   struct _Default_ranged_hash { };
1412: 
1412: 
1412: 
1412:   struct _Prime_rehash_policy
1412:   {
1412:     using __has_load_factor = true_type;
1412: 
1412:     _Prime_rehash_policy(float __z = 1.0) noexcept
1412:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1412: 
1412:     float
1412:     max_load_factor() const noexcept
1412:     { return _M_max_load_factor; }
1412: 
1412: 
1412:     std::size_t
1412:     _M_next_bkt(std::size_t __n) const;
1412: 
1412: 
1412:     std::size_t
1412:     _M_bkt_for_elements(std::size_t __n) const
1412:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     std::pair<bool, std::size_t>
1412:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1412:      std::size_t __n_ins) const;
1412: 
1412:     typedef std::size_t _State;
1412: 
1412:     _State
1412:     _M_state() const
1412:     { return _M_next_resize; }
1412: 
1412:     void
1412:     _M_reset() noexcept
1412:     { _M_next_resize = 0; }
1412: 
1412:     void
1412:     _M_reset(_State __state)
1412:     { _M_next_resize = __state; }
1412: 
1412:     static const std::size_t _S_growth_factor = 2;
1412: 
1412:     float _M_max_load_factor;
1412:     mutable_cvref_t<_Fn>>
1417:  using __not_same
1417:    = typename enable_if<!is_same<packaged_task, _Fn2>::value>::type;
1417: 
1417:     public:
1417: 
1417:       packaged_task() noexcept { }
1417: 
1417:       template<typename _Fn, typename = __not_same<_Fn>>
1417:  explicit
1417:  packaged_task(_Fn&& __fn)
1417:  : _M_state(
1417:      __create_task_state<_Res(_ArgTypes...)>(std::forward<_Fn>(__fn)))
1417:  { }
1417: # 1567 "/usr/include/c++/12/future" 3
1417:       ~packaged_task()
1417:       {
1417:         if (static_cast<bool>(_M_state) && !_M_state.unique())
1417:    _M_state->_M_break_promise(std::move(_M_state->_M_result));
1417:       }
1417: 
1417: 
1417:       packaged_task(const packaged_task&) = delete;
1417:       packaged_task& operator=(const packaged_task&) = delete;
1417: 
1417: 
1417:       packaged_task(packaged_task&& __other) noexcept
1417:       { this->swap(__other); }
1417: 
1417:       packaged_task& operator=(packaged_task&& __other) noexcept
1417:       {
1417:  packaged_task(std::move(__other)).swap(*this);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(packaged_task& __other) noexcept
1417:       { _M_state.swap(__other._M_state); }
1417: 
1417:       bool
1417:       valid() const noexcept
1417:       { return static_cast<bool>(_M_state); }
1417: 
1417: 
1417:       future<_Res>
1417:       get_future()
1417:       { return future<_Res>(_M_state); }
1417: 
1417: 
1417:       void
1417:       operator()(_ArgTypes... __args)
1417:       {
1417:  __future_base::_State_base::_S_check(_M_state);
1417:  _M_state->_M_run(std::forward<_ArgTypes>(__args)...);
1417:       }
1417: 
1417:       void
1417:       make_ready_at_thread_exit(_ArgTypes... __args)
1417:       {
1417:  __future_base::_State_base::_S_check(_M_state);
1417:  _M_state->_M_run_delayed(std::forward<_ArgTypes>(__args)..., _M_state);
1417:       }
1417: 
1417:       void
1417:       reset()
1417:       {
1417:  __future_base::_State_base::_S_check(_M_state);
1417:  packaged_task __tmp;
1417:  __tmp._M_state = _M_state;
1417:  _M_state = _M_state->_M_reset();
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes>
1417:     packaged_task(_Res(*)(_ArgTypes...)) -> packaged_task<_Res(_ArgTypes...)>;
1417: 
1417:   template<typename _Fun, typename _Signature = typename
1417:     __function_guide_helper<decltype(&_Fun::operator())>::type>
1417:     packaged_task(_Fun) -> packaged_task<_Signature>;
1417: 
1417: 
1417: 
1417:   template<typename _Res, typename... _ArgTypes>
1417:     inline void
1417:     swap(packaged_task<_Res(_ArgTypes...)>& __x,
1417:   packaged_task<_Res(_ArgTypes...)>& __y) noexcept
1417:     { __x.swap(__y); }
1417: # 1653 "/usr/include/c++/12/future" 3
1417:   template<typename _BoundFn, typename _Res>
1417:     class __future_base::_Deferred_state final
1417:     : public __future_base::_State_base
1417:     {
1417:     public:
1417:       template<typename... _Args>
1417:  explicit
1417:  _Deferred_state(_Args&&... __args)
1417:  : _M_result(new _Result<_Res>()),
1417:    _M_fn{{std::forward<_Args>(__args)...}}
1417:  { }
1417: 
1417:     private:
1417:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1417:       _Ptr_type _M_result;
1417:       _BoundFn _M_fn;
1417: 
1417: 
1417:       virtual void
1417:       _M_complete_async()
1417:       {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:         _M_set_result(_S_task_setter(_M_result, _M_fn), true);
1417:       }
1417: 
1417: 
1417: 
1417:       virtual bool _M_is_deferred_future() const { return true; }
1417:     };
1417: 
1417: 
1417:   class __future_base::_Async_state_commonV2
1417:     : public __future_base::_State_base
1417:   {
1417:   protected:
1417:     ~_Async_state_commonV2() = default;
1417: # 1710 "/usr/include/c++/12/future" 3
1417:     virtual void _M_complete_async() { _M_join(); }
1417: 
1417:     void _M_join() { std::call_once(_M_once, &thread::join, &_M_thread); }
1417: 
1417:     thread _M_thread;
1417:     once_flag _M_once;
1417:   };
1417: 
141 typedef unsigned long __type; };
1434: 
1434:   template<>
1434:     struct __add_unsigned<long long>
1434:     { typedef unsigned long long __type; };
1434: 
1434: 
1434:   template<>
1434:     struct __add_unsigned<bool>;
1434: 
1434:   template<>
1434:     struct __add_unsigned<wchar_t>;
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __remove_unsigned
1434:     {
1434:     private:
1434:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
1434: 
1434:     public:
1434:       typedef typename __if_type::__type __type;
1434:     };
1434: 
1434:   template<>
1434:     struct __remove_unsigned<char>
1434:     { typedef signed char __type; };
1434: 
1434:   template<>
1434:     struct __remove_unsigned<unsigned char>
1434:     { typedef signed char __type; };
1434: 
1434:   template<>
1434:     struct __remove_unsigned<unsigned short>
1434:     { typedef short __type; };
1434: 
1434:   template<>
1434:     struct __remove_unsigned<unsigned int>
1434:     { typedef int __type; };
1434: 
1434:   template<>
1434:     struct __remove_unsigned<unsigned long>
1434:     { typedef long __type; };
1434: 
1434:   template<>
1434:     struct __remove_unsigned<unsigned long long>
1434:     { typedef long long __type; };
1434: 
1434: 
1434:   template<>
1434:     struct __remove_unsigned<bool>;
1434: 
1434:   template<>
1434:     struct __remove_unsigned<wchar_t>;
1434: 
1434: 
1434: 
1434:   template<typename _Type>
1434:     constexpr
1434:     inline bool
1434:     __is_null_pointer(_Type* __ptr)
1434:     { return __ptr == 0; }
1434: 
1434:   template<typename _Type>
1434:     constexpr
1434:     inline bool
1434:     __is_null_pointer(_Type)
1434:     { return false; }
1434: 
1434: 
1434:   constexpr bool
1434:   __is_null_pointer(std::nullptr_t)
1434:   { return true; }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
1434:     struct __promote
1434:     { typedef double __type; };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __promote<_Tp, false>
1434:     { };
1434: 
1434:   template<>
1434:     struct __promote<long double>
1434:     { typedef long double __type; };
1434: 
1434:   template<>
1434:     struct __promote<double>
1434:     { typedef double __type; };
1434: 
1434:   template<>
1434:     struct __promote<float>
1434:     { typedef float __type; };
1434: 
1434: 
1434: 
1434:   template<typename... _Tp>
1434:     using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
1434: 
1434:   template<typename _Tp, typename _Up, typename _Vp>
1434:     using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
1434: 
1434:   template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
1434:     using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
1434: # 239 "/usr/include/c++/12/ext/type_traits.h" 3
1434: 
1434: }
1434: }
1434: # 63 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/ext/numeric_traits.h" 1 3
1434: # 32 "/usr/include/c++/12/ext/numeric_traits.h" 3
1434:        
1434: # 33 "/usr/include/c++/12/ext/numeric_traits.h" 3
1434: 
1434: 
1434: 
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 50 "/usr/include/c++/12/ext/numeric_traits.h" 3
1434:   template<typename _Tp>
1434:     struct __is_integer_nonstrict
1434:     : public std::__is_integer<_Tp>
1434:     {
1434:       using std::__is_integer<_Tp>::__value;
1434: 
1434: 
1434:       enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
1434:     };
1434: 
1434:   template<typename _Value>
1434:     struct __numeric_traits_integer
1434:     {
1434: 
1434:       static_assert(__is_integer_nonstrict<_Value>::__value,
1434:       "invalid specialization");
1434: 
1434: 
1434: 
1434: 
1434:       static const bool __is_signed = (_Value)(-1) < 0;
1434:       static const int __digits
1434:  = __is_integer_nons std::size_t _M_next_resize;
1412:   };
1412: 
1412: 
1412:   struct _Mask_range_hashing
1412:   {
1412:     typedef std::size_t first_argument_type;
1412:     typedef std::size_t second_argument_type;
1412:     typedef std::size_t result_type;
1412: 
1412:     result_type
1412:     operator()(first_argument_type __num,
1412:         second_argument_type __den) const noexcept
1412:     { return __num & (__den - 1); }
1412:   };
1412: 
1412: 
1412:   inline std::size_t
1412:   __clp2(std::size_t __n) noexcept
1412:   {
1412:     using __gnu_cxx::__int_traits;
1412: 
1412:     if (__n < 2)
1412:       return __n;
1412:     const unsigned __lz = sizeof(size_t) > sizeof(long)
1412:       ? __builtin_clzll(__n - 1ull)
1412:       : __builtin_clzl(__n - 1ul);
1412: 
1412:     return (size_t(1) << (__int_traits<size_t>::__digits - __lz - 1)) << 1;
1412:   }
1412: 
1412: 
1412: 
1412:   struct _Power2_rehash_policy
1412:   {
1412:     using __has_load_factor = true_type;
1412: 
1412:     _Power2_rehash_policy(float __z = 1.0) noexcept
1412:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1412: 
1412:     float
1412:     max_load_factor() const noexcept
1412:     { return _M_max_load_factor; }
1412: 
1412: 
1412: 
1412:     std::size_t
1412:     _M_next_bkt(std::size_t __n) noexcept
1412:     {
1412:       if (__n == 0)
1412: 
1412: 
1412: 
1412:  return 1;
1412: 
1412:       const auto __max_width = std::min<size_t>(sizeof(size_t), 8);
1412:       const auto __max_bkt = size_t(1) << (__max_width * 8 - 1);
1412:       std::size_t __res = __clp2(__n);
1412: 
1412:       if (__res == 0)
1412:  __res = __max_bkt;
1412:       else if (__res == 1)
1412: 
1412: 
1412: 
1412:  __res = 2;
1412: 
1412:       if (__res == __max_bkt)
1412: 
1412: 
1412: 
1412:  _M_next_resize = size_t(-1);
1412:       else
1412:  _M_next_resize
1412:    = __builtin_floor(__res * (double)_M_max_load_factor);
1412: 
1412:       return __res;
1412:     }
1412: 
1412: 
1412:     std::size_t
1412:     _M_bkt_for_elements(std::size_t __n) const noexcept
1412:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     std::pair<bool, std::size_t>
1412:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1412:      std::size_t __n_ins) noexcept
1412:     {
1412:       if (__n_elt + __n_ins > _M_next_resize)
1412:  {
1412: 
1412: 
1412: 
1412:    double __min_bkts
1412:      = std::max<std::size_t>(__n_elt + __n_ins, _M_next_resize ? 0 : 11)
1412:        / (double)_M_max_load_factor;
1412:    if (__min_bkts >= __n_bkt)
1412:      return { true,
1412:        _M_next_bkt(std::max<std::size_t>(__builtin_floor(__min_bkts) + 1,
1412:       __n_bkt * _S_growth_factor)) };
1412: 
1412:    _M_next_resize
1412:      = __builtin_floor(__n_bkt * (double)_M_max_load_factor);
1412:    return { false, 0 };
1412:  }
1412:       else
1412:  return { false, 0 };
1412:     }
1412: 
1412:     typedef std::size_t _State;
1412: 
1412:     _State
1412:     _M_state() const noexcept
1412:     { return _M_next_resize; }
1412: 
1412:     void
1412:     _M_reset() noexcept
1412:     { _M_next_resize = 0; }
1412: 
1412:     void
1412:     _M_reset(_State __state) noexcept
1412:     { _M_next_resize = __state; }
1412: 
1412:     static const std::size_t _S_growth_factor = 2;
1412: 
1412:     float _M_max_load_factor;
1412:     std::size_t _M_next_resize;
1412:   };
1412: # 696 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits,
1412:     bool _Unique_keys = _Traits::__unique_keys::value>
1412:     struct _Map_base { };
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Eqtrict<_Value>::__width - __is_signed;
1434: 
1434: 
1434:       static const _Value __max = __is_signed
1434:  ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
1434:  : ~(_Value)0;
1434:       static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
1434:     };
1434: 
1434:   template<typename _Value>
1434:     const _Value __numeric_traits_integer<_Value>::__min;
1434: 
1434:   template<typename _Value>
1434:     const _Value __numeric_traits_integer<_Value>::__max;
1434: 
1434:   template<typename _Value>
1434:     const bool __numeric_traits_integer<_Value>::__is_signed;
1434: 
1434:   template<typename _Value>
1434:     const int __numeric_traits_integer<_Value>::__digits;
1434: # 137 "/usr/include/c++/12/ext/numeric_traits.h" 3
1434:   template<typename _Tp>
1434:     using __int_traits = __numeric_traits_integer<_Tp>;
1434: # 157 "/usr/include/c++/12/ext/numeric_traits.h" 3
1434:   template<typename _Value>
1434:     struct __numeric_traits_floating
1434:     {
1434: 
1434:       static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136);
1434: 
1434: 
1434:       static const bool __is_signed = true;
1434:       static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15);
1434:       static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308);
1434:     };
1434: 
1434:   template<typename _Value>
1434:     const int __numeric_traits_floating<_Value>::__max_digits10;
1434: 
1434:   template<typename _Value>
1434:     const bool __numeric_traits_floating<_Value>::__is_signed;
1434: 
1434:   template<typename _Value>
1434:     const int __numeric_traits_floating<_Value>::__digits10;
1434: 
1434:   template<typename _Value>
1434:     const int __numeric_traits_floating<_Value>::__max_exponent10;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Value>
1434:     struct __numeric_traits
1434:     : public __numeric_traits_integer<_Value>
1434:     { };
1434: 
1434:   template<>
1434:     struct __numeric_traits<float>
1434:     : public __numeric_traits_floating<float>
1434:     { };
1434: 
1434:   template<>
1434:     struct __numeric_traits<double>
1434:     : public __numeric_traits_floating<double>
1434:     { };
1434: 
1434:   template<>
1434:     struct __numeric_traits<long double>
1434:     : public __numeric_traits_floating<long double>
1434:     { };
1434: # 238 "/usr/include/c++/12/ext/numeric_traits.h" 3
1434: 
1434: }
1434: # 64 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_pair.h" 1 3
1434: # 60 "/usr/include/c++/12/bits/stl_pair.h" 3
1434: # 1 "/usr/include/c++/12/type_traits" 1 3
1434: # 32 "/usr/include/c++/12/type_traits" 3
1434:        
1434: # 33 "/usr/include/c++/12/type_traits" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _Tp>
1434:     class reference_wrapper;
1434: # 61 "/usr/include/c++/12/type_traits" 3
1434:   template<typename _Tp, _Tp __v>
1434:     struct integral_constant
1434:     {
1434:       static constexpr _Tp value = __v;
1434:       typedef _Tp value_type;
1434:       typedef integral_constant<_Tp, __v> type;
1434:       constexpr operator value_type() const noexcept { return value; }
1434: 
1434: 
1434: 
1434: 
1434:       constexpr value_type operator()() const noexcept { return value; }
1434: 
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   using true_type = integral_constant<bool, true>;
1434: 
1434: 
1434:   using false_type = integral_constant<bool, false>;
1434: 
1434: 
1434: 
1434:   template<bool __v>
1434:     using __bool_constant = integral_constant<bool, __v>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<bool __v>
1434:     using bool_constant = integral_constant<bool, __v>;
1434: 
1434: 
1434: 
1434: 
1434:   template<bool>
1434:     struct __conditional
1434:     {
1434:       template<typename _Tp, typename>
1434:  using type = _Tp;
1434:     };
1434: 
1434:   template<>
1434:     struct __conditional<false>
1434:     {
1434:       template<typename, typename _Up>
1434:  using type = _Up;
1434:     };
1434: 
1434: 
1434:   template<bool _Cond, typename _If, typename _Else>
1434:     using __conditional_t
1434:       = typename __conditional<_Cond>::template type<_If, _Else>;
1434: 
1434: 
1434:   template <typename _Type>
1434:     struct __type_identity
1434:     { using type = _Type; };
1434: 
1434:   template<typename _Tp>
1434:     using __type_identity_t = typename __type_identity<_Tp>::type;
1434: 
1434:   template<typename...>
1434:     struct __or_;
1434: 
1434:   template<>
1434:     struct __or_<>
1434:     : public false_type
1434:     { };
1434: 
1434:   template<typename _B1>
1434:     struct __or_<_B1>
1434:     : public _B1
1434:     { };
1434: 
1434:   template<typename _B1, typename _B2>
1434:     struct __or_<_B1, _B2>
1434:     : public __conditional_t<_B1::value, _B1, _B2>
1434:     { };
1434: 
1434:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1434:     struct __or_<_B1, _B2, _B3, _Bn...>
1434:     : public __conditional_t<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>
1434:     { };
1434: 
1434:   template<typename...>
1434:     struct __and_;
1434: 
1434:   template<>
1434:     struct __and_<>
1434:     : public true_type
1434:     { };
1434: 
1434:   template<typename _B1>
1434:     struct __and_<_B1>
1434:     : public _B1
1434:     { };
1434: 
1434:   template<typename _B1, typename _B2>
1434:     struct __and_<_B1, _B2>
1434:     : public __conditional_t<_B1::value, _B2, _B1>
1434:     { };
1434: 
1434:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
1434:     struct __and_<_B1, _B2, _B3, _Bn...>
1434:     : public __conditional_t<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>
1434:     { };
1434: 
1434:   template<typename _Pp>
1434:     struct __not_
1434:     : public __bool_constant<!bool(_Pp::value)>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename... _Bn>
1434:     inline constexpr bool __or_v = __or_<_Bn...>::value;
1434:   template<typename... _Bn>
1434:     inline constexpr bool __and_v = __and_<_Bn...>::value;
1434: 
1434: 
1434: 
1434: 
1434:   template<typename... _Bn>
1434:     struct conjunction
1434:     : __and_<_Bn...>
1434:     { };
1434: 
1434:   template<typename... _Bn>
1434:     struct disjunction
1434:     : __or_<_Bn...>
1434:     { };
1434: 
1434:   template<typename _Pp>
1434:     struct negation
1434:     : __not_<_Pp>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename... _Bn>
1434:     inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
1434: 
1434:   template<typename... _Bn>
1434:     inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
1434: 
1434:   template<typename _Pp>
1434:     inline constexpr bool negation_v = negation<_Pp>::value;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename>
1434:     struct is_reference;
1434:   template<typename>
1434:     struct is_function;
1434:   template<typename>
1434:     struct is_void;
1434:   template<typename>
1434:     struct remove_cv;
1434:   template<typename>
1434:     struct is_const;
1434: 
1434: 
1434:   template<typename>
1434:     struct __is_array_unknown_bounds;
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, size_t = sizeof(_Tp)>
1434:     constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
1434:     { return {}; }
1434: 
1434:   template <typename _TypeIdentity,
1434:       typename _NestedType = typename _TypeIdentity::type>
1434:     constexpr typename __or_<
1434:       is_reference<_NestedType>,
1434:       is_function<_NestedType>,
1434:       is_void<_NestedType>,
1434:       __is_array_unknown_bounds<_NestedType>
1434:     >::type __is_complete_or_unbounded(_TypeIdentity)
1434:     { return {}; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<7: 
1417: 
1417:   template<typename _BoundFn, typename _Res>
1417:     class __future_base::_Async_state_impl final
1417:     : public __future_base::_Async_state_commonV2
1417:     {
1417:     public:
1417:       template<typename... _Args>
1417:  explicit
1417:  _Async_state_impl(_Args&&... __args)
1417:  : _M_result(new _Result<_Res>()),
1417:    _M_fn{{std::forward<_Args>(__args)...}}
1417:  {
1417:    _M_thread = std::thread{&_Async_state_impl::_M_run, this};
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:       ~_Async_state_impl()
1417:       {
1417:  if (_M_thread.joinable())
1417:    _M_thread.join();
1417:       }
1417: 
1417:     private:
1417:       void
1417:       _M_run()
1417:       {
1417:  try
1417:    {
1417:      _M_set_result(_S_task_setter(_M_result, _M_fn));
1417:    }
1417:  catch(const __cxxabiv1::__forced_unwind&)
1417:    {
1417: 
1417:      if (static_cast<bool>(_M_result))
1417:        this->_M_break_promise(std::move(_M_result));
1417:      throw;
1417:    }
1417:       }
1417: 
1417:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1417:       _Ptr_type _M_result;
1417:       _BoundFn _M_fn;
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     [[__nodiscard__]] future<__async_result_of<_Fn, _Args...>>
1417:     async(launch __policy, _Fn&& __fn, _Args&&... __args)
1417:     {
1417:       using _Wr = std::thread::_Call_wrapper<_Fn, _Args...>;
1417:       using _As = __future_base::_Async_state_impl<_Wr>;
1417:       using _Ds = __future_base::_Deferred_state<_Wr>;
1417: 
1417:       std::shared_ptr<__future_base::_State_base> __state;
1417:       if ((__policy & launch::async) == launch::async)
1417:  {
1417:    try
1417:      {
1417:        __state = std::make_shared<_As>(std::forward<_Fn>(__fn),
1417:            std::forward<_Args>(__args)...);
1417:      }
1417: 
1417:    catch(const system_error& __e)
1417:      {
1417:        if (__e.code() != errc::resource_unavailable_try_again
1417:     || (__policy & launch::deferred) != launch::deferred)
1417:   throw;
1417:      }
1417: 
1417:  }
1417:       if (!__state)
1417:  {
1417:    __state = std::make_shared<_Ds>(std::forward<_Fn>(__fn),
1417:        std::forward<_Args>(__args)...);
1417:  }
1417:       return future<__async_result_of<_Fn, _Args...>>(std::move(__state));
1417:     }
1417: 
1417: 
1417:   template<typename _Fn, typename... _Args>
1417:     [[__nodiscard__]] inline future<__async_result_of<_Fn, _Args...>>
1417:     async(_Fn&& __fn, _Args&&... __args)
1417:     {
1417:       return std::async(launch::async|launch::deferred,
1417:    std::forward<_Fn>(__fn),
1417:    std::forward<_Args>(__args)...);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/thread" 1 3
1417: # 32 "/usr/include/c++/12/thread" 3
1417:        
1417: # 33 "/usr/include/c++/12/thread" 3
1417: # 44 "/usr/include/c++/12/thread" 3
1417: # 1 "/usr/include/c++/12/bits/this_thread_sleep.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/cerrno" 1 3
1417: # 39 "/usr/include/c++/12/cerrno" 3
1417:        
1417: # 40 "/usr/include/c++/12/cerrno" 3
1417: # 40 "/usr/include/c++/12/bits/this_thread_sleep.h" 2 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 56 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1417:   namespace this_thread
1417:   {
1417: # 66 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1417:     template<typename _Rep, typename _Period>
1417:       inline void
1417:       sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
1417:       {
1417:  if (__rtime <= __rtime.zero())
1417:    return;
1417:  auto __s = chrono::duration_cast<chrono::seconds>(__rtime);
1417:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__rtime - __s);
1ual,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1412:     {
1412:       using mapped_type = _Val;
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1412:     {
1412:     private:
1412:       using __hashtable_base = _Hashtable_base<_Key, pair<const _Key, _Val>,
1412:             _Select1st, _Equal, _Hash,
1412:             _RangeHash, _Unused,
1412:             _Traits>;
1412: 
1412:       using __hashtable = _Hashtable<_Key, pair<const _Key, _Val>, _Alloc,
1412:          _Select1st, _Equal, _Hash, _RangeHash,
1412:          _Unused, _RehashPolicy, _Traits>;
1412: 
1412:       using __hash_code = typename __hashtable_base::__hash_code;
1412: 
1412:     public:
1412:       using key_type = typename __hashtable_base::key_type;
1412:       using mapped_type = _Val;
1412: 
1412:       mapped_type&
1412:       operator[](const key_type& __k);
1412: 
1412:       mapped_type&
1412:       operator[](key_type&& __k);
1412: 
1412: 
1412: 
1412:       mapped_type&
1412:       at(const key_type& __k)
1412:       {
1412:  auto __ite = static_cast<__hashtable*>(this)->find(__k);
1412:  if (!__ite._M_cur)
1412:    __throw_out_of_range(("unordered_map::at"));
1412:  return __ite->second;
1412:       }
1412: 
1412:       const mapped_type&
1412:       at(const key_type& __k) const
1412:       {
1412:  auto __ite = static_cast<const __hashtable*>(this)->find(__k);
1412:  if (!__ite._M_cur)
1412:    __throw_out_of_range(("unordered_map::at"));
1412:  return __ite->second;
1412:       }
1412:     };
1412: 
1412:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1412:     operator[](const key_type& __k)
1412:     -> mapped_type&
1412:     {
1412:       __hashtable* __h = static_cast<__hashtable*>(this);
1412:       __hash_code __code = __h->_M_hash_code(__k);
1412:       std::size_t __bkt = __h->_M_bucket_index(__code);
1412:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1412:  return __node->_M_v().second;
1412: 
1412:       typename __hashtable::_Scoped_node __node {
1412:  __h,
1412:  std::piecewise_construct,
1412:  std::tuple<const key_type&>(__k),
1412:  std::tuple<>()
1412:       };
1412:       auto __pos
1412:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1412:       __node._M_node = nullptr;
1412:       return __pos->second;
1412:     }
1412: 
1412:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1412:     operator[](key_type&& __k)
1412:     -> mapped_type&
1412:     {
1412:       __hashtable* __h = static_cast<__hashtable*>(this);
1412:       __hash_code __code = __h->_M_hash_code(__k);
1412:       std::size_t __bkt = __h->_M_bucket_index(__code);
1412:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1412:  return __node->_M_v().second;
1412: 
1412:       typename __hashtable::_Scoped_node __node {
1412:  __h,
1412:  std::piecewise_construct,
1412:  std::forward_as_tuple(std::move(__k)),
1412:  std::tuple<>()
1412:       };
1412:       auto __pos
1412:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1412:       __node._M_node = nullptr;
1412:       return __pos->second;
1412:     }
1412: 
1412: 
1412:   templattypename _Tp>
1434:     struct __success_type
1434:     { typedef _Tp type; };
1434: 
1434:   struct __failure_type
1434:   { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using __remove_cv_t = typename remove_cv<_Tp>::type;
1434: 
1434: 
1434: 
1434:   template<typename>
1434:     struct __is_void_helper
1434:     : public false_type { };
1434: 
1434:   template<>
1434:     struct __is_void_helper<void>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_void
1434:     : public __is_void_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename>
1434:     struct __is_integral_helper
1434:     : public false_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<bool>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<char>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<signed char>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<unsigned char>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct __is_integral_helper<wchar_t>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct __is_integral_helper<char16_t>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<char32_t>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<short>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<unsigned short>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<int>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<unsigned int>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<long>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<unsigned long>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<long long>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_integral_helper<unsigned long long>
1434:     : public true_type { };
1434: # 412 "/usr/include/c++/12/type_traits" 3
1434:   template<typename _Tp>
1434:     struct is_integral
1434:     : public __is_integral_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename>
1434:     struct __is_floating_point_helper
1434:     : public false_type { };
1434: 
1434:   template<>
1434:     struct __is_floating_point_helper<float>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_floating_point_helper<double>
1434:     : public true_type { };
1434: 
1434:   template<>
1434:     struct __is_floating_point_helper<long double>
1434:     : public true_type { };
1434: # 442 "/usr/include/c++/12/type_traits" 3
1434:   template<typename _Tp>
1434:     struct is_floating_point
1434:     : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename>
1434:     struct is_array
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp, std::size_t _Size>
1434:     struct is_array<_Tp[_Size]>
1434:     : public true_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct is_array<_Tp[]>
1434:     : public true_type { };
1434: 
1434:   template<typename>
1434:     struct __is_pointer_helper
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_pointer_helper<_Tp*>
1434:     : public true_type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_pointer
1434:     : public __is_pointer_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename>
1434:     struct is_lvalue_reference
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct is_lvalue_reference<_Tp&>
1434:     : public true_type { };
1434: 
1434: 
1434:   template<typename>
1434:     struct is_rvalue_reference
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct is_rvalue_reference<_Tp&&>
1434:     : public true_type { };
1434: 
1434:   template<typename>
1434:     struct __is_member_object_pointer_helper
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp, typename _Cp>
1434:     struct __is_member_object_pointer_helper<_Tp _Cp::*>
1434:     : public __not_<is_function<_Tp>>::type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_member_object_pointer
1434:     : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434:   template<typename>
1434:     struct __is_member_function_pointer_helper
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp, typename _Cp>
1434:     struct __is_member_function_pointer_helper<_Tp _Cp::*>
1434:     : public is_function<_Tp>::type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_member_function_pointer
1434:     : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_enum
1434:     : public integral_constant<bool, __is_enum(_Tp)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_union
1434:     : public integral_constant<bool, __is_union(_Tp)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_class
1434:     : public integral_constant<bool, __is_class(_Tp)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_function
1434:     : public __bool_constant<!is_const<const _Tp>::value> { };
1434: 
1434:   template<typename _Tp>
1434:     struct is_function<_Tp&>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct is_function<_Tp&&>
1434:     : public false_type { };
1434: 
1434: 
1434: 
1434:   template<typename>
1434:     struct __is_null_pointer_helper
1434:     : public false_type { };
1434: 
1434:   template<>
1434:     struct __is_null_pointer_helper<std::nullptr_t>
1434:     : public true_type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_null_pointer
1434:     : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nullptr_t
1434:     : public is_null_pointer<_Tp>
1434:     { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_reference
1434:     : public __or_<is_lvalue_reference<_Tp>,
1434:                    is_rvalue_reference<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_arithmetic
1434:     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_fundamental
1434:     : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
1434:      is_null_pointer<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_object
1434:     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
1434:                           is_void<_Tp>>>::type
1434:     { };
1434: 
1434:   template<typename>
1434:     struct is_member_pointer;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_scalar
1434:     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
1434:                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_compound
1434:     : public __not_<is_fundamental<_Tp>>::type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_member_pointer_helper
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp, typename _Cp>
143417: 
1417:  struct ::timespec __ts =
1417:    {
1417:      static_cast<std::time_t>(__s.count()),
1417:      static_cast<long>(__ns.count())
1417:    };
1417:  while (::nanosleep(&__ts, &__ts) == -1 && (*__errno_location ()) == 4)
1417:    { }
1417: 
1417: 
1417: 
1417:       }
1417: 
1417: 
1417:     template<typename _Clock, typename _Duration>
1417:       inline void
1417:       sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
1417:       {
1417: 
1417: 
1417: 
1417:  auto __now = _Clock::now();
1417:  if (_Clock::is_steady)
1417:    {
1417:      if (__now < __atime)
1417:        sleep_for(__atime - __now);
1417:      return;
1417:    }
1417:  while (__now < __atime)
1417:    {
1417:      sleep_for(__atime - __now);
1417:      __now = _Clock::now();
1417:    }
1417:       }
1417: 
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 45 "/usr/include/c++/12/thread" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 65 "/usr/include/c++/12/thread" 3
1417:   inline bool
1417:   operator!=(thread::id __x, thread::id __y) noexcept
1417:   { return !(__x == __y); }
1417: 
1417:   inline bool
1417:   operator<(thread::id __x, thread::id __y) noexcept
1417:   {
1417: 
1417: 
1417:     return __x._M_thread < __y._M_thread;
1417:   }
1417: 
1417:   inline bool
1417:   operator<=(thread::id __x, thread::id __y) noexcept
1417:   { return !(__y < __x); }
1417: 
1417:   inline bool
1417:   operator>(thread::id __x, thread::id __y) noexcept
1417:   { return __y < __x; }
1417: 
1417:   inline bool
1417:   operator>=(thread::id __x, thread::id __y) noexcept
1417:   { return !(__x < __y); }
1417: 
1417: 
1417:   template<class _CharT, class _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __out, thread::id __id)
1417:     {
1417:       if (__id == thread::id())
1417:  return __out << "thread::id of a non-executing thread";
1417:       else
1417:  return __out << __id._M_thread;
1417:     }
1417: # 262 "/usr/include/c++/12/thread" 3
1417: 
1417: }
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1417: 
1417: 
1417: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1417: enum class ThreadPriority
1417: {
1417:   LOWEST,
1417:   BELOW_NORMAL,
1417:   NORMAL,
1417:   ABOVE_NORMAL,
1417:   HIGHEST,
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   PRIORITY_COUNT,
1417: };
1417: 
1417: class IRunnable;
1417: class IThreadImpl;
1417: class CThread
1417: {
1417: protected:
1417:   explicit CThread(const char* ThreadName);
1417: 
1417: public:
1417:   CThread(IRunnable* pRunnable, const char* ThreadName);
1417:   virtual ~CThread();
1417:   void Create(bool bAutoDelete = false);
1417: 
1417:   template<typename Rep, typename Period>
1417:   void Sleep(std::chrono::duration<Rep, Period> duration)
1417:   {
1417:     if (duration > std::chrono::milliseconds(10) && IsCurrentThread())
1417:       m_StopEvent.Wait(duration);
1417:     else
1417:       std::this_thread::sleep_for(duration);
1417:   }
1417: 
1417:   bool IsAutoDelete() const;
1417:   virtual void StopThread(bool bWait = true);
1417:   bool IsRunning() const;
1417: 
1417:   bool IsCurrentThread() const;
1417:   bool Join(std::chrono::milliseconds duration);
1417: 
1417:   inline static const std::thread::id GetCurrentThreadId()
1417:   {
1417:     return std::this_thread::get_id();
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SetPriority(const ThreadPriority& priority);
1417: 
1417:   static CThread* GetCurrentThread();
1417: 
1417:   virtual void OnException(){}
1417: 
1417: protected:
1417:   virtual void OnStartup() {}
1417:   virtual void OnExit() {}
1417:   virtual void Process();
1417: 
1417:   std::atomic<bool> m_bStop;
1417: 
1417:   enum WaitResponse { WAIT_INTERRUPTED = -1, WAIT_SIGNALED = 0, WAIT_TIMEDOUT = 1 };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline WaitResponse AbortableWait(CEvent& event,
1417:                                     std::chrono::milliseconds duration =
1417:  4:     struct __is_member_pointer_helper<_Tp _Cp::*>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_member_pointer
1434:     : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type
1434:     { };
1434: 
1434:   template<typename, typename>
1434:     struct is_same;
1434: 
1434: 
1434:   template<typename _Tp, typename... _Types>
1434:     using __is_one_of = __or_<is_same<_Tp, _Types>...>;
1434: 
1434: 
1434:   __extension__
1434:   template<typename _Tp>
1434:     using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
1434:    signed char, signed short, signed int, signed long,
1434:    signed long long
1434: # 659 "/usr/include/c++/12/type_traits" 3
1434:    >;
1434: 
1434: 
1434:   __extension__
1434:   template<typename _Tp>
1434:     using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
1434:    unsigned char, unsigned short, unsigned int, unsigned long,
1434:    unsigned long long
1434: # 679 "/usr/include/c++/12/type_traits" 3
1434:    >;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using __is_standard_integer
1434:       = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
1434: 
1434: 
1434:   template<typename...> using __void_t = void;
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename = void>
1434:     struct __is_referenceable
1434:     : public false_type
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_referenceable<_Tp, __void_t<_Tp&>>
1434:     : public true_type
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename>
1434:     struct is_const
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct is_const<_Tp const>
1434:     : public true_type { };
1434: 
1434: 
1434:   template<typename>
1434:     struct is_volatile
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct is_volatile<_Tp volatile>
1434:     : public true_type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivial
1434:     : public integral_constant<bool, __is_trivial(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivially_copyable
1434:     : public integral_constant<bool, __is_trivially_copyable(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_standard_layout
1434:     : public integral_constant<bool, __is_standard_layout(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct
1434:    
1434:     is_pod
1434:     : public integral_constant<bool, __is_pod(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct
1434:     [[__deprecated__]]
1434:     is_literal_type
1434:     : public integral_constant<bool, __is_literal_type(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_empty
1434:     : public integral_constant<bool, __is_empty(_Tp)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_polymorphic
1434:     : public integral_constant<bool, __is_polymorphic(_Tp)>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   tee<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits, bool __uniq>
1412:     struct _Map_base<const _Key, pair<const _Key, _Val>,
1412:        _Alloc, _Select1st, _Equal, _Hash,
1412:        _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1412:     : _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal, _Hash,
1412:   _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Insert_base
1412:     {
1412:     protected:
1412:       using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey,
1412:             _Equal, _Hash, _RangeHash,
1412:             _Unused, _Traits>;
1412: 
1412:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:          _Hash, _RangeHash,
1412:          _Unused, _RehashPolicy, _Traits>;
1412: 
1412:       using __hash_cached = typename _Traits::__hash_cached;
1412:       using __constant_iterators = typename _Traits::__constant_iterators;
1412: 
1412:       using __hashtable_alloc = _Hashtable_alloc<
1412:  __alloc_rebind<_Alloc, _Hash_node<_Value,
1412:        __hash_cached::value>>>;
1412: 
1412:       using value_type = typename __hashtable_base::value_type;
1412:       using size_type = typename __hashtable_base::size_type;
1412: 
1412:       using __unique_keys = typename _Traits::__unique_keys;
1412:       using __node_alloc_type = typename __hashtable_alloc::__node_alloc_type;
1412:       using __node_gen_type = _AllocNode<__node_alloc_type>;
1412: 
1412:       __hashtable&
1412:       _M_conjure_hashtable()
1412:       { return *(static_cast<__hashtable*>(this)); }
1412: 
1412:       template<typename _InputIterator, typename _NodeGetter>
1412:  void
1412:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1412:    const _NodeGetter&, true_type __uks);
1412: 
1412:       template<typename _InputIterator, typename _NodeGetter>
1412:  void
1412:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1412:    const _NodeGetter&, false_type __uks);
1412: 
1412:     public:
1412:       using iterator = _Node_iterator<_Value, __constant_iterators::value,
1412:           __hash_cached::value>;
1412: 
1412:       using const_iterator = _Node_const_iterator<_Value,
1412:         __constant_iterators::value,
1412:         __hash_cached::value>;
1412: 
1412:       using __ireturn_type = __conditional_t<__unique_keys::value,
1412:           std::pair<iterator, bool>,
1412:           iterator>;
1412: 
1412:       __ireturn_type
1412:       insert(const value_type& __v)
1412:       {
1412:  __hashtable& __h = _M_conjure_hashtable();
1412:  __node_gen_type __node_gen(__h);
1412:  return __h._M_insert(__v, __node_gen, __unique_keys{});
1412:       }
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, const value_type& __v)
1412:       {
1412:  __hashtable& __h = _M_conjure_hashtable();
1412:  __node_gen_type __node_gen(__h);
1412:  return __h._M_insert(__hint, __v, __node_gen, __unique_keys{});
1412:       }
1412: 
1412:       template<typename _KType, typename... _Args>
1412:  std::pair<iterator, bool>
1412:  try_emplace(const_iterator, _KType&& __k, _Args&&... __args)
1412:  {
1412:    __hashtable& __h = _M_conjure_hashtable();
1412:    auto __code = __h._M_hash_code(__k);
1412:    std::size_t __bkt = __h._M_bucket_index(__code);
1412:    if (auto __node = __h._M_find_node(__bkt, __k, __code))
1412:      return { iterator(__node), false };
1412: 
1412:    typename __hashtable::_Scoped_node __node {
1412:      &__h,
1412:      std::piecewise_construct,
1412:      std::forward_as_tuple(std::forward<_KType>(__k)),
1412:      std::forward_as_tuple(std::forward<_Args>(__args)...)
1412:  mplate<typename _Tp>
1434:     struct is_final
1434:     : public integral_constant<bool, __is_final(_Tp)>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_abstract
1434:     : public integral_constant<bool, __is_abstract(_Tp)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp,
1434:     bool = is_arithmetic<_Tp>::value>
1434:     struct __is_signed_helper
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_signed_helper<_Tp, true>
1434:     : public integral_constant<bool, _Tp(-1) < _Tp(0)>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_signed
1434:     : public __is_signed_helper<_Tp>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_unsigned
1434:     : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp, typename _Up = _Tp&&>
1434:     _Up
1434:     __declval(int);
1434: 
1434:   template<typename _Tp>
1434:     _Tp
1434:     __declval(long);
1434: 
1434: 
1434:   template<typename _Tp>
1434:     auto declval() noexcept -> decltype(__declval<_Tp>(0));
1434: 
1434:   template<typename, unsigned = 0>
1434:     struct extent;
1434: 
1434:   template<typename>
1434:     struct remove_all_extents;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_array_known_bounds
1434:     : public integral_constant<bool, (extent<_Tp>::value > 0)>
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_array_unknown_bounds
1434:     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
1434:     { };
1434: # 867 "/usr/include/c++/12/type_traits" 3
1434:   struct __do_is_destructible_impl
1434:   {
1434:     template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
1434:       static true_type __test(int);
1434: 
1434:     template<typename>
1434:       static false_type __test(...);
1434:   };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_destructible_impl
1434:     : public __do_is_destructible_impl
1434:     {
1434:       typedef decltype(__test<_Tp>(0)) type;
1434:     };
1434: 
1434:   template<typename _Tp,
1434:            bool = __or_<is_void<_Tp>,
1434:                         __is_array_unknown_bounds<_Tp>,
1434:                         is_function<_Tp>>::value,
1434:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
1434:     struct __is_destructible_safe;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_destructible_safe<_Tp, false, false>
1434:     : public __is_destructible_impl<typename
1434:                remove_all_extents<_Tp>::type>::type
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_destructible_safe<_Tp, true, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_destructible_safe<_Tp, false, true>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_destructible
1434:     : public __is_destructible_safe<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct __do_is_nt_destructible_impl
1434:   {
1434:     template<typename _Tp>
1434:       static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
1434:       __test(int);
1434: 
1434:     template<typename>
1434:       static false_type __test(...);
1434:   };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_destructible_impl
1434:     : public __do_is_nt_destructible_impl
1434:     {
1434:       typedef decltype(__test<_Tp>(0)) type;
1434:     };
1434: 
1434:   template<typename _Tp,
1434:            bool = __or_<is_void<_Tp>,
1434:                         __is_array_unknown_bounds<_Tp>,
1434:                         is_function<_Tp>>::value,
1434:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>                                       std::chrono::milliseconds(-1) )
1417:   {
1417:     XbmcThreads::CEventGroup group{&event, &m_StopEvent};
1417:     const CEvent* result =
1417:         duration < std::chrono::milliseconds::zero() ? group.wait() : group.wait(duration);
1417:     return result == &event ? WAIT_SIGNALED :
1417:       (result == 
1417: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 3 4
1417:                 __null 
1417: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1417:                      ? WAIT_TIMEDOUT : WAIT_INTERRUPTED);
1417:   }
1417: 
1417: private:
1417:   void Action();
1417: 
1417:   bool m_bAutoDelete = false;
1417:   CEvent m_StopEvent;
1417:   CEvent m_StartEvent;
1417:   CCriticalSection m_CriticalSection;
1417:   IRunnable* m_pRunnable;
1417: 
1417:   std::string m_ThreadName;
1417:   std::thread* m_thread = nullptr;
1417:   std::future<bool> m_future;
1417: 
1417:   std::unique_ptr<IThreadImpl> m_impl;
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 2
1417: 
1417: # 1 "/usr/include/c++/12/queue" 1 3
1417: # 58 "/usr/include/c++/12/queue" 3
1417:        
1417: # 59 "/usr/include/c++/12/queue" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_queue.h" 1 3
1417: # 65 "/usr/include/c++/12/bits/stl_queue.h" 3
1417: 
1417: # 65 "/usr/include/c++/12/bits/stl_queue.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 95 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:   template<typename _Tp, typename _Sequence = deque<_Tp> >
1417:     class queue
1417:     {
1417: # 109 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       template<typename _Tp1, typename _Seq1>
1417:  friend bool
1417:  operator==(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
1417: 
1417:       template<typename _Tp1, typename _Seq1>
1417:  friend bool
1417:  operator<(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
1417: # 124 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       template<typename _Alloc>
1417:  using _Uses = typename
1417:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1417:    "value_type must be the same as the underlying container");
1417: 
1417: 
1417: 
1417:     public:
1417:       typedef typename _Sequence::value_type value_type;
1417:       typedef typename _Sequence::reference reference;
1417:       typedef typename _Sequence::const_reference const_reference;
1417:       typedef typename _Sequence::size_type size_type;
1417:       typedef _Sequence container_type;
1417: 
1417:     protected:
1417: # 153 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       _Sequence c;
1417: 
1417:     public:
1417: # 164 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       template<typename _Seq = _Sequence, typename _Requires = typename
1417:         enable_if<is_default_constructible<_Seq>::value>::type>
1417:  queue()
1417:  : c() { }
1417: 
1417:       explicit
1417:       queue(const _Sequence& __c)
1417:       : c(__c) { }
1417: 
1417:       explicit
1417:       queue(_Sequence&& __c)
1417:       : c(std::move(__c)) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  explicit
1417:  queue(const _Alloc& __a)
1417:  : c(__a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  queue(const _Sequence& __c, const _Alloc& __a)
1417:  : c(__c, __a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  queue(_Sequence&& __c, const _Alloc& __a)
1417:  : c(std::move(__c), __a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  queue(const queue& __q, const _Alloc& __a)
1417:  : c(__q.c, __a) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  queue(queue&& __q, const _Alloc& __a)
1417:  : c(std::move(__q.c), __a) { }
1417: # 217 "/usr/include/c++/12/    };
1412:    auto __it
1412:      = __h._M_insert_unique_node(__bkt, __code, __node._M_node);
1412:    __node._M_node = nullptr;
1412:    return { __it, true };
1412:  }
1412: 
1412:       void
1412:       insert(initializer_list<value_type> __l)
1412:       { this->insert(__l.begin(), __l.end()); }
1412: 
1412:       template<typename _InputIterator>
1412:  void
1412:  insert(_InputIterator __first, _InputIterator __last)
1412:  {
1412:    __hashtable& __h = _M_conjure_hashtable();
1412:    __node_gen_type __node_gen(__h);
1412:    return _M_insert_range(__first, __last, __node_gen, __unique_keys{});
1412:  }
1412:     };
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _InputIterator, typename _NodeGetter>
1412:       void
1412:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused,
1412:      _RehashPolicy, _Traits>::
1412:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1412:         const _NodeGetter& __node_gen, true_type __uks)
1412:       {
1412:  __hashtable& __h = _M_conjure_hashtable();
1412:  for (; __first != __last; ++__first)
1412:    __h._M_insert(*__first, __node_gen, __uks);
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _InputIterator, typename _NodeGetter>
1412:       void
1412:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused,
1412:      _RehashPolicy, _Traits>::
1412:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1412:         const _NodeGetter& __node_gen, false_type __uks)
1412:       {
1412:  using __rehash_type = typename __hashtable::__rehash_type;
1412:  using __rehash_state = typename __hashtable::__rehash_state;
1412:  using pair_type = std::pair<bool, std::size_t>;
1412: 
1412:  size_type __n_elt = __detail::__distance_fw(__first, __last);
1412:  if (__n_elt == 0)
1412:    return;
1412: 
1412:  __hashtable& __h = _M_conjure_hashtable();
1412:  __rehash_type& __rehash = __h._M_rehash_policy;
1412:  const __rehash_state& __saved_state = __rehash._M_state();
1412:  pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count,
1412:        __h._M_element_count,
1412:        __n_elt);
1412: 
1412:  if (__do_rehash.first)
1412:    __h._M_rehash(__do_rehash.second, __saved_state);
1412: 
1412:  for (; __first != __last; ++__first)
1412:    __h._M_insert(*__first, __node_gen, __uks);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits,
1412:     bool _Constant_iterators = _Traits::__constant_iterators::value>
1412:     struct _Insert;
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused,
1412:      _RehashPolicy, _Traits, true>
1412:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1412:     {
1412:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1412:            _Equal, _Hash, _RangeHash, _Unused,
1412:            _RehashPolicy, _Traits>;
1412: 
1412:       using value_type = typename __base_type::value_type;
1412:       using iterator = typename __base_type::iterator;
1434:     struct __is_nt_destructible_safe;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_destructible_safe<_Tp, false, false>
1434:     : public __is_nt_destructible_impl<typename
1434:                remove_all_extents<_Tp>::type>::type
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_destructible_safe<_Tp, true, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_destructible_safe<_Tp, false, true>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_nothrow_destructible
1434:     : public __is_nt_destructible_safe<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename... _Args>
1434:     struct __is_constructible_impl
1434:     : public __bool_constant<__is_constructible(_Tp, _Args...)>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename... _Args>
1434:     struct is_constructible
1434:       : public __is_constructible_impl<_Tp, _Args...>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_default_constructible
1434:     : public __is_constructible_impl<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_copy_constructible_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_copy_constructible_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_copy_constructible_impl<_Tp, true>
1434:     : public __is_constructible_impl<_Tp, const _Tp&>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_copy_constructible
1434:     : public __is_copy_constructible_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_move_constructible_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_move_constructible_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_move_constructible_impl<_Tp, true>
1434:     : public __is_constructible_impl<_Tp, _Tp&&>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_move_constructible
1434:     : public __is_move_constructible_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename... _Args>
1434:     using __is_nothrow_constructible_impl
1434:       = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename... _Args>
1434:     struct is_nothrow_constructible
1434:     : public __is_nothrow_constructible_impl<_Tp, _Args...>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_nothrow_default_constructible
1434:     : public __bool_constant<__is_nothrow_constructible(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_nothrow_copy_constructible_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nothrow_copy_constructible_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nothrow_copy_constructible_impl<_Tp, true>
1434:     : public __is_nothrow_constructible_impl<_Tp, const _Tp&>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_nothrow_copy_constructible
1434:     : public __is_nothrow_copy_constructible_impl<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_nothrow_move_constructible_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nothrow_move_constructible_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nothrow_move_constructible_impl<_Tp, true>
1434:     : public __is_nothrow_constructible_impl<_Tp, _Tp&&>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_nothrow_move_constructible
1434:     : public __is_nothrow_move_constructible_impl<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct is_assignable
1434:     : public __bool_constant<__is_assignable(_Tp, _Up)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_copy_assignable_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_copy_assignable_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_copy_assignable_impl<_Tp, true>
1434:     : public __bool_constant<__is_assignable(_Tp&, const _Tp&)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_copy_assignable
1434:     : public __is_copy_assignable_impl<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_move_assignable_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_move_assignable_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_move_assignable_impl<_Tp, true>
1434:     : public __bool_constant<__is_assignable(_Tp&, _Tp&&)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_move_assignable
1434:     : public __is_move_assignable_impl<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     using __is_nothrow_assignable_impl
1434:       = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct is_nothrow_assignable
1434:     : public __is_nothrow_assignable_impl<_Tp, _Up>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     sbits/stl_queue.h" 3
1417:       [[__nodiscard__]] bool
1417:       empty() const
1417:       { return c.empty(); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       size() const
1417:       { return c.size(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       front()
1417:       {
1417:  ;
1417:  return c.front();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       front() const
1417:       {
1417:  ;
1417:  return c.front();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       reference
1417:       back()
1417:       {
1417:  ;
1417:  return c.back();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       back() const
1417:       {
1417:  ;
1417:  return c.back();
1417:       }
1417: # 284 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       void
1417:       push(const value_type& __x)
1417:       { c.push_back(__x); }
1417: 
1417: 
1417:       void
1417:       push(value_type&& __x)
1417:       { c.push_back(std::move(__x)); }
1417: 
1417: 
1417:       template<typename... _Args>
1417:  decltype(auto)
1417:  emplace(_Args&&... __args)
1417:  { return c.emplace_back(std::forward<_Args>(__args)...); }
1417: # 317 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       void
1417:       pop()
1417:       {
1417:  ;
1417:  c.pop_front();
1417:       }
1417: 
1417: 
1417:       void
1417:       swap(queue& __q)
1417: 
1417:       noexcept(__is_nothrow_swappable<_Sequence>::value)
1417: 
1417: 
1417: 
1417:       {
1417:  using std::swap;
1417:  swap(c, __q.c);
1417:       }
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _Container,
1417:     typename = _RequireNotAllocator<_Container>>
1417:     queue(_Container) -> queue<typename _Container::value_type, _Container>;
1417: 
1417:   template<typename _Container, typename _Allocator,
1417:     typename = _RequireNotAllocator<_Container>>
1417:     queue(_Container, _Allocator)
1417:     -> queue<typename _Container::value_type, _Container>;
1417: # 377 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1417:     { return __x.c == __y.c; }
1417: # 396 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1417:     { return __x.c < __y.c; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator<=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Tp, typename _Seq>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator>=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1417:     { return !(__x < __y); }
1417: # 439 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:   template<typename _Tp, typename _Seq>
1417:     inline
1417: 
1417: 
1417:     typename enable_if<__is_swappable<_Seq>::value>::type
1417: 
1417: 
1417: 
1417:     swap(queue<_Tp, _Seq>& __x, queue<_Tp, _Seq>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417:   template<typename _Tp, typename _Seq, typename _Alloc>
1417:     struct uses_allocator<queue<_Tp, _Seq>, _Alloc>
1417:     : public uses
1412:       using const_iterator = typename __base_type::const_iterator;
1412:       using __ireturn_type = typename __base_type::__ireturn_type;
1412: 
1412:       using __unique_keys = typename __base_type::__unique_keys;
1412:       using __hashtable = typename __base_type::__hashtable;
1412:       using __node_gen_type = typename __base_type::__node_gen_type;
1412: 
1412:       using __base_type::insert;
1412: 
1412:       __ireturn_type
1412:       insert(value_type&& __v)
1412:       {
1412:  __hashtable& __h = this->_M_conjure_hashtable();
1412:  __node_gen_type __node_gen(__h);
1412:  return __h._M_insert(std::move(__v), __node_gen, __unique_keys{});
1412:       }
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, value_type&& __v)
1412:       {
1412:  __hashtable& __h = this->_M_conjure_hashtable();
1412:  __node_gen_type __node_gen(__h);
1412:  return __h._M_insert(__hint, std::move(__v), __node_gen,
1412:         __unique_keys{});
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1412:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1412:     {
1412:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1412:            _Equal, _Hash, _RangeHash, _Unused,
1412:            _RehashPolicy, _Traits>;
1412:       using value_type = typename __base_type::value_type;
1412:       using iterator = typename __base_type::iterator;
1412:       using const_iterator = typename __base_type::const_iterator;
1412: 
1412:       using __unique_keys = typename __base_type::__unique_keys;
1412:       using __hashtable = typename __base_type::__hashtable;
1412:       using __ireturn_type = typename __base_type::__ireturn_type;
1412: 
1412:       using __base_type::insert;
1412: 
1412:       template<typename _Pair>
1412:  using __is_cons = std::is_constructible<value_type, _Pair&&>;
1412: 
1412:       template<typename _Pair>
1412:  using _IFcons = std::enable_if<__is_cons<_Pair>::value>;
1412: 
1412:       template<typename _Pair>
1412:  using _IFconsp = typename _IFcons<_Pair>::type;
1412: 
1412:       template<typename _Pair, typename = _IFconsp<_Pair>>
1412:  __ireturn_type
1412:  insert(_Pair&& __v)
1412:  {
1412:    __hashtable& __h = this->_M_conjure_hashtable();
1412:    return __h._M_emplace(__unique_keys{}, std::forward<_Pair>(__v));
1412:  }
1412: 
1412:       template<typename _Pair, typename = _IFconsp<_Pair>>
1412:  iterator
1412:  insert(const_iterator __hint, _Pair&& __v)
1412:  {
1412:    __hashtable& __h = this->_M_conjure_hashtable();
1412:    return __h._M_emplace(__hint, __unique_keys{},
1412:     std::forward<_Pair>(__v));
1412:  }
1412:    };
1412: 
1412:   template<typename _Policy>
1412:     using __has_load_factor = typename _Policy::__has_load_factor;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits,
1412:     typename =
1412:       __detected_or_t<false_type, __has_load_factor, _RehashPolicy>>
1412:     struct _Rehash_base;
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1412:    false_type >
1412:     {
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Valutruct __is_nt_copy_assignable_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_copy_assignable_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_copy_assignable_impl<_Tp, true>
1434:     : public __is_nothrow_assignable_impl<_Tp&, const _Tp&>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_nothrow_copy_assignable
1434:     : public __is_nt_copy_assignable_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_nt_move_assignable_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_move_assignable_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nt_move_assignable_impl<_Tp, true>
1434:     : public __is_nothrow_assignable_impl<_Tp&, _Tp&&>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_nothrow_move_assignable
1434:     : public __is_nt_move_assignable_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename... _Args>
1434:     struct is_trivially_constructible
1434:     : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivially_default_constructible
1434:     : public __bool_constant<__is_trivially_constructible(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   struct __do_is_implicitly_default_constructible_impl
1434:   {
1434:     template <typename _Tp>
1434:     static void __helper(const _Tp&);
1434: 
1434:     template <typename _Tp>
1434:     static true_type __test(const _Tp&,
1434:                             decltype(__helper<const _Tp&>({}))* = 0);
1434: 
1434:     static false_type __test(...);
1434:   };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_implicitly_default_constructible_impl
1434:     : public __do_is_implicitly_default_constructible_impl
1434:     {
1434:       typedef decltype(__test(declval<_Tp>())) type;
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_implicitly_default_constructible_safe
1434:     : public __is_implicitly_default_constructible_impl<_Tp>::type
1434:     { };
1434: 
1434:   template <typename _Tp>
1434:     struct __is_implicitly_default_constructible
1434:     : public __and_<__is_constructible_impl<_Tp>,
1434:       __is_implicitly_default_constructible_safe<_Tp>>
1434:     { };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_trivially_copy_constructible_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_copy_constructible_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_copy_constructible_impl<_Tp, true>
1434:     : public __and_<__is_copy_constructible_impl<_Tp>,
1434:       integral_constant<bool,
1434:    __is_trivially_constructible(_Tp, const _Tp&)>>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivially_copy_constructible
1434:     : public __is_trivially_copy_constructible_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<t_allocator<_Seq, _Alloc>::type { };
1417: # 496 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:   template<typename _Tp, typename _Sequence = vector<_Tp>,
1417:     typename _Compare = less<typename _Sequence::value_type> >
1417:     class priority_queue
1417:     {
1417: # 514 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       template<typename _Alloc>
1417:  using _Uses = typename
1417:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1417:    "value_type must be the same as the underlying container");
1417: 
1417: 
1417: 
1417:     public:
1417:       typedef typename _Sequence::value_type value_type;
1417:       typedef typename _Sequence::reference reference;
1417:       typedef typename _Sequence::const_reference const_reference;
1417:       typedef typename _Sequence::size_type size_type;
1417:       typedef _Sequence container_type;
1417: 
1417: 
1417:       typedef _Compare value_compare;
1417: 
1417:     protected:
1417: 
1417:       _Sequence c;
1417:       _Compare comp;
1417: 
1417:     public:
1417: # 553 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       template<typename _Seq = _Sequence, typename _Requires = typename
1417:         enable_if<__and_<is_default_constructible<_Compare>,
1417:     is_default_constructible<_Seq>>::value>::type>
1417:  priority_queue()
1417:  : c(), comp() { }
1417: 
1417:       explicit
1417:       priority_queue(const _Compare& __x, const _Sequence& __s)
1417:       : c(__s), comp(__x)
1417:       { std::make_heap(c.begin(), c.end(), comp); }
1417: 
1417:       explicit
1417:       priority_queue(const _Compare& __x, _Sequence&& __s = _Sequence())
1417:       : c(std::move(__s)), comp(__x)
1417:       { std::make_heap(c.begin(), c.end(), comp); }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  explicit
1417:  priority_queue(const _Alloc& __a)
1417:  : c(__a), comp() { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(const _Compare& __x, const _Alloc& __a)
1417:  : c(__a), comp(__x) { }
1417: 
1417: 
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(const _Compare& __x, const _Sequence& __c,
1417:          const _Alloc& __a)
1417:  : c(__c, __a), comp(__x)
1417:  { std::make_heap(c.begin(), c.end(), comp); }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(const _Compare& __x, _Sequence&& __c, const _Alloc& __a)
1417:  : c(std::move(__c), __a), comp(__x)
1417:  { std::make_heap(c.begin(), c.end(), comp); }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(const priority_queue& __q, const _Alloc& __a)
1417:  : c(__q.c, __a), comp(__q.comp) { }
1417: 
1417:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(priority_queue&& __q, const _Alloc& __a)
1417:  : c(std::move(__q.c), __a), comp(std::move(__q.comp)) { }
1417: # 629 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  priority_queue(_InputIterator __first, _InputIterator __last,
1417:          const _Compare& __x = _Compare())
1417:  : c(__first, __last), comp(__x)
1417:  { std::make_heap(c.begin(), c.end(), comp); }
1417: 
1417: 
1417: 
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  priority_queue(_InputIterator __first, _InputIterator __last,
1417:          const _Compare& __x, const _Sequence& __s)
1417:  : c(__s), comp(__x)
1417:  {
1417:    ;
1417:    c.insert(c.end(), __first, __last);
1417:    std::make_heap(c.begin(), c.end(), comp);
1417:  }
1417: 
1417:       template<typename _InputIterator,
1417:         typename = std::_RequireInputIter<_InputIterator>>
1417:  priority_queue(_InputIterator __first, _InputIterator __lasypename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_trivially_move_constructible_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_move_constructible_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_move_constructible_impl<_Tp, true>
1434:     : public __and_<__is_move_constructible_impl<_Tp>,
1434:       integral_constant<bool,
1434:    __is_trivially_constructible(_Tp, _Tp&&)>>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivially_move_constructible
1434:     : public __is_trivially_move_constructible_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct is_trivially_assignable
1434:     : public __bool_constant<__is_trivially_assignable(_Tp, _Up)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_trivially_copy_assignable_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_copy_assignable_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_copy_assignable_impl<_Tp, true>
1434:     : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivially_copy_assignable
1434:     : public __is_trivially_copy_assignable_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __is_trivially_move_assignable_impl;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_move_assignable_impl<_Tp, false>
1434:     : public false_type { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_trivially_move_assignable_impl<_Tp, true>
1434:     : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivially_move_assignable
1434:     : public __is_trivially_move_assignable_impl<_Tp>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_trivially_destructible
1434:     : public __and_<__is_destructible_safe<_Tp>,
1434:       __bool_constant<__has_trivial_destructor(_Tp)>>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct has_virtual_destructor
1434:     : public integral_constant<bool, __has_virtual_destructor(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct alignment_of
1434:     : public integral_constant<std::size_t, alignof(_Tp)>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename>
1434:     struct rank
1434:     : public integral_constant<std::size_t, 0> { };
1434: 
1434:   template<typename _Tp, std::size_t _Size>
1434:     struct rank<_Te, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1412:    true_type >
1412:     {
1412:     private:
1412:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey,
1412:          _Equal, _Hash, _RangeHash, _Unused,
1412:          _RehashPolicy, _Traits>;
1412: 
1412:     public:
1412:       float
1412:       max_load_factor() const noexcept
1412:       {
1412:  const __hashtable* __this = static_cast<const __hashtable*>(this);
1412:  return __this->__rehash_policy().max_load_factor();
1412:       }
1412: 
1412:       void
1412:       max_load_factor(float __z)
1412:       {
1412:  __hashtable* __this = static_cast<__hashtable*>(this);
1412:  __this->__rehash_policy(_RehashPolicy(__z));
1412:       }
1412: 
1412:       void
1412:       reserve(std::size_t __n)
1412:       {
1412:  __hashtable* __this = static_cast<__hashtable*>(this);
1412:  __this->rehash(__this->__rehash_policy()._M_bkt_for_elements(__n));
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<int _Nm, typename _Tp,
1412:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1412:     struct _Hashtable_ebo_helper;
1412: 
1412: 
1412:   template<int _Nm, typename _Tp>
1412:     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
1412:     : private _Tp
1412:     {
1412:       _Hashtable_ebo_helper() noexcept(noexcept(_Tp())) : _Tp() { }
1412: 
1412:       template<typename _OtherTp>
1412:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1412:  : _Tp(std::forward<_OtherTp>(__tp))
1412:  { }
1412: 
1412:       const _Tp& _M_cget() const { return static_cast<const _Tp&>(*this); }
1412:       _Tp& _M_get() { return static_cast<_Tp&>(*this); }
1412:     };
1412: 
1412: 
1412:   template<int _Nm, typename _Tp>
1412:     struct _Hashtable_ebo_helper<_Nm, _Tp, false>
1412:     {
1412:       _Hashtable_ebo_helper() = default;
1412: 
1412:       template<typename _OtherTp>
1412:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1412:  : _M_tp(std::forward<_OtherTp>(__tp))
1412:  { }
1412: 
1412:       const _Tp& _M_cget() const { return _M_tp; }
1412:       _Tp& _M_get() { return _M_tp; }
1412: 
1412:     private:
1412:       _Tp _M_tp{};
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     bool __cache_hash_code>
1412:     struct _Local_iterator_base;
1412: # 1236 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     bool __cache_hash_code>
1412:     struct _Hash_code_base
1412:     : private _Hashtable_ebo_helper<1, _Hash>
1412:     {
1412:     private:
1412:       using __ebo_hash = _Hashtable_ebo_helper<1, _Hash>;
1412: 
1412: 
1412:       friend struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1412:       _Hash, _RangeHash, _Unused, false>;
1412: 
1412:     public:
1412:       typedef _Hash hasher;
1412: 
1412:       hasher
1412:       hash_function() const
1412:       { return _M_hash(); }
1412: 
1412:     protected:
1412:       typedef std::size_t __hash_code;
1412: 
1412: 
1412: 
1412:       _Hash_code_base() = default;
1412: 
1412:       _Hash_code_base(const _Hash& __hash) : __ebo_hash(__hash) { }
1412: 
1412:       __hash_code
1412:       _M_hash_code(const _Key& __k) const
1412:       {
1412:  static_assert(__is_invocable<const _Hash&, const _Key&>{},
1412:      "hash function must be invocable with an argument of key type");
1412:  return _M_hash()(__k);
1412:       }
1412: 
1412:       template<typename _Kt>
1412:  __hash_code
1412:  _M_hash_code_tr(const _Kt& __k) const
1412:  {
1412:    static_assert(__is_invocable<const _Hash&, const _Kt&>{},
1412:      "hp[_Size]>
1434:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1434: 
1434:   template<typename _Tp>
1434:     struct rank<_Tp[]>
1434:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
1434: 
1434: 
1434:   template<typename, unsigned _Uint>
1434:     struct extent
1434:     : public integral_constant<std::size_t, 0> { };
1434: 
1434:   template<typename _Tp, unsigned _Uint, std::size_t _Size>
1434:     struct extent<_Tp[_Size], _Uint>
1434:     : public integral_constant<std::size_t,
1434:           _Uint == 0 ? _Size : extent<_Tp,
1434:           _Uint - 1>::value>
1434:     { };
1434: 
1434:   template<typename _Tp, unsigned _Uint>
1434:     struct extent<_Tp[], _Uint>
1434:     : public integral_constant<std::size_t,
1434:           _Uint == 0 ? 0 : extent<_Tp,
1434:              _Uint - 1>::value>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct is_same
1434: 
1434:     : public integral_constant<bool, __is_same(_Tp, _Up)>
1434: 
1434: 
1434: 
1434:     { };
1434: # 1445 "/usr/include/c++/12/type_traits" 3
1434:   template<typename _Base, typename _Derived>
1434:     struct is_base_of
1434:     : public integral_constant<bool, __is_base_of(_Base, _Derived)>
1434:     { };
1434: 
1434:   template<typename _From, typename _To,
1434:            bool = __or_<is_void<_From>, is_function<_To>,
1434:                         is_array<_To>>::value>
1434:     struct __is_convertible_helper
1434:     {
1434:       typedef typename is_void<_To>::type type;
1434:     };
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1434:   template<typename _From, typename _To>
1434:     class __is_convertible_helper<_From, _To, false>
1434:     {
1434:       template<typename _To1>
1434:  static void __test_aux(_To1) noexcept;
1434: 
1434:       template<typename _From1, typename _To1,
1434:         typename = decltype(__test_aux<_To1>(std::declval<_From1>()))>
1434:  static true_type
1434:  __test(int);
1434: 
1434:       template<typename, typename>
1434:  static false_type
1434:  __test(...);
1434: 
1434:     public:
1434:       typedef decltype(__test<_From, _To>(0)) type;
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434:   template<typename _From, typename _To>
1434:     struct is_convertible
1434:     : public __is_convertible_helper<_From, _To>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _ToElementType, typename _FromElementType>
1434:     using __is_array_convertible
1434:       = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
1434: 
1434:   template<typename _From, typename _To,
1434:            bool = __or_<is_void<_From>, is_function<_To>,
1434:                         is_array<_To>>::value>
1434:     struct __is_nt_convertible_helper
1434:     : is_void<_To>
1434:     { };
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1434:   template<typename _From, typename _To>
1434:     class __is_nt_convertible_helper<_From, _To, false>
1434:     {
1434:       template<typename _To1>
1434:  static void __test_aux(_To1) noexcept;
1434: 
1434:       template<typename _From1, typename _To1>
1434:  static
1434:  __bool_constant<noexcept(__test_aux<_To1>(std::declval<_From1>()))>
1434:  __test(int);
1434: 
1434:       template<typename, typename>
1434:  static false_type
1434:  __test(...);
1434: 
1434:     public:
1434:       using type = decltype(__test<_From, _To>(0));
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434:   template<typename _From, typename _To>
1434:     struct __is_nothrow_convertible
1434:     : public __is_nt_convertible_helper<_From, _To>::type
1434:     { };
1434: # 1543 "/usr/include/c++/12/type_traits" 3
1434:   template<typename _Tp>
1434:     struct remove_const
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_const<_Tp const>
1434:     { typedef _Tp type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct remove_volatile
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_volatile<_Tp volatile>
1434:     { typedef _Tp type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct remove_cv
1434:     { using type = _Tp; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_cv<const _Tp>
1434:     { using type = _Tp; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_cv<volatile _Tp>
1434:     { using type = _Tp; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_cv<const volatile _Tp>
1434:     { using type = _Tp; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct add_const
1434:     { typedef _Tp const type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct add_volatile
1434:     { typedef _Tp volatile type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct add_cv
1434:     {
1434:       typedef typename
1434:       add_const<typename add_volatile<_Tp>::type>::type type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using remove_const_t = typename remove_const<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using remove_volatile_t = typename remove_volatile<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using remove_cv_t = typename remove_cv<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using add_const_t = typename add_const<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using add_volatile_t = typename add_volatile<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using add_cv_t = typename add_cv<_Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct remove_reference
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_reference<_Tp&>
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_reference<_Tp&&>
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __add_lvalue_reference_helper
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct __add_lvalue_reference_helper<_Tp, true>
1434:     { typedef _Tp& type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct add_lvalue_reference
1434:     : public __add_lvalue_reference_helper<_Tp>
1434:     { };
1434: 
1434:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
1434:     struct __add_rvalue_reference_helper
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct __add_rvalue_reference_helper<_Tp, true>
1434:     { typedef _Tp&& type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct add_rvalue_reference
1434:     : public __add_rvalue_reference_helper<_Tp>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using remove_reference_t = typename remove_reference<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Unqualified, bool _IsConst, bool _IsVol>
1434:     struct __cv_selector;
1434: 
1434:   template<typename _Unqualified>
1434:     struct __cv_selector<_Unqualified, false, false>
1434:     { typedef _Unqualified __type; };
1434: 
1434:   template<typename _Unqualified>
1434:     struct __cv_selector<_Unqualified, false, true>
1434:     { typedef volatile _Unqualified __type; };
1434: 
1434:   template<typename _Unqualified>
1434:     struct __cv_selector<_Unqualified, true, false>
1434:     { typedef const _Unqualified __type; };
1434: 
1434:   template<typename _Unqualified>
1434:     struct __cv_selector<_Unqualified, true, true>
1434:     { typedef const volatilet,
1417:          const _Compare& __x, _Sequence&& __s)
1417:  : c(std::move(__s)), comp(__x)
1417:  {
1417:    ;
1417:    c.insert(c.end(), __first, __last);
1417:    std::make_heap(c.begin(), c.end(), comp);
1417:  }
1417: 
1417: 
1417: 
1417:       template<typename _InputIterator, typename _Alloc,
1417:         typename = std::_RequireInputIter<_InputIterator>,
1417:         typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(_InputIterator __first, _InputIterator __last,
1417:          const _Alloc& __alloc)
1417:  : c(__first, __last, __alloc), comp()
1417:  { std::make_heap(c.begin(), c.end(), comp); }
1417: 
1417:       template<typename _InputIterator, typename _Alloc,
1417:         typename = std::_RequireInputIter<_InputIterator>,
1417:         typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(_InputIterator __first, _InputIterator __last,
1417:          const _Compare& __x, const _Alloc& __alloc)
1417:  : c(__first, __last, __alloc), comp(__x)
1417:  { std::make_heap(c.begin(), c.end(), comp); }
1417: 
1417:       template<typename _InputIterator, typename _Alloc,
1417:         typename = std::_RequireInputIter<_InputIterator>,
1417:         typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(_InputIterator __first, _InputIterator __last,
1417:          const _Compare& __x, const _Sequence& __s,
1417:          const _Alloc& __alloc)
1417:  : c(__s, __alloc), comp(__x)
1417:  {
1417:    ;
1417:    c.insert(c.end(), __first, __last);
1417:    std::make_heap(c.begin(), c.end(), comp);
1417:  }
1417: 
1417:       template<typename _InputIterator, typename _Alloc,
1417:         typename _Requires = _Uses<_Alloc>>
1417:  priority_queue(_InputIterator __first, _InputIterator __last,
1417:          const _Compare& __x, _Sequence&& __s,
1417:          const _Alloc& __alloc)
1417:  : c(std::move(__s), __alloc), comp(__x)
1417:  {
1417:    ;
1417:    c.insert(c.end(), __first, __last);
1417:    std::make_heap(c.begin(), c.end(), comp);
1417:  }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const
1417:       { return c.empty(); }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       size_type
1417:       size() const
1417:       { return c.size(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const_reference
1417:       top() const
1417:       {
1417:  ;
1417:  return c.front();
1417:       }
1417: # 737 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       void
1417:       push(const value_type& __x)
1417:       {
1417:  c.push_back(__x);
1417:  std::push_heap(c.begin(), c.end(), comp);
1417:       }
1417: 
1417: 
1417:       void
1417:       push(value_type&& __x)
1417:       {
1417:  c.push_back(std::move(__x));
1417:  std::push_heap(c.begin(), c.end(), comp);
1417:       }
1417: 
1417:       template<typename... _Args>
1417:  void
1417:  emplace(_Args&&... __args)
1417:  {
1417:    c.emplace_back(std::forward<_Args>(__args)...);
1417:    std::push_heap(c.begin(), c.end(), comp);
1417:  }
1417: # 772 "/usr/include/c++/12/bits/stl_queue.h" 3
1417:       void
1417:       pop()
1417:       {
1417:  ;
1417:  std::pop_heap(c.begin(), c.end(), comp);
1417:  c.pop_back();
1417:       }
1417: 
1417: 
1417:       void
1417:       swap(priority_queue& __pq)
1417:       noexcept(__and_<
1417: 
1417:    __is_nothrow_swappable<_Sequence>,
1417: 
1417: 
1417: 
1417:    __is_nothrow_swappable<_Compare>
1417:         >::value)
1417:       {
1417:  using std::swap;
1417:  swap(c, __pq.c);
1417:  swap(comp, __pq.comp);
1417:       }
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _Compare, typename _Container,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireNotAllocator<_Container>>
1417:     priority_queue(_Compare, _Container)
1417:     -> priority_queue<typename _Container::value_type, _Container, _Compare>;
1417: 
1417:   template<typename _InputIterator, typename _ValT
1417:     = typename iterator_traits<_InputIterator>::value_type,
1417:     typename _Compare = less<_ValT>,
1417:     typash function must be invocable with an argument of key type");
1412:    return _M_hash()(__k);
1412:  }
1412: 
1412:       __hash_code
1412:       _M_hash_code(const _Hash&,
1412:      const _Hash_node_value<_Value, true>& __n) const
1412:       { return __n._M_hash_code; }
1412: 
1412: 
1412: 
1412:       template<typename _H2>
1412:  __hash_code
1412:  _M_hash_code(const _H2&,
1412:   const _Hash_node_value<_Value, __cache_hash_code>& __n) const
1412:  { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1412: 
1412:       __hash_code
1412:       _M_hash_code(const _Hash_node_value<_Value, false>& __n) const
1412:       { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1412: 
1412:       __hash_code
1412:       _M_hash_code(const _Hash_node_value<_Value, true>& __n) const
1412:       { return __n._M_hash_code; }
1412: 
1412:       std::size_t
1412:       _M_bucket_index(__hash_code __c, std::size_t __bkt_count) const
1412:       { return _RangeHash{}(__c, __bkt_count); }
1412: 
1412:       std::size_t
1412:       _M_bucket_index(const _Hash_node_value<_Value, false>& __n,
1412:         std::size_t __bkt_count) const
1412:  noexcept( noexcept(declval<const _Hash&>()(declval<const _Key&>()))
1412:     && noexcept(declval<const _RangeHash&>()((__hash_code)0,
1412:           (std::size_t)0)) )
1412:       {
1412:  return _RangeHash{}(_M_hash_code(_ExtractKey{}(__n._M_v())),
1412:        __bkt_count);
1412:       }
1412: 
1412:       std::size_t
1412:       _M_bucket_index(const _Hash_node_value<_Value, true>& __n,
1412:         std::size_t __bkt_count) const
1412:  noexcept( noexcept(declval<const _RangeHash&>()((__hash_code)0,
1412:        (std::size_t)0)) )
1412:       { return _RangeHash{}(__n._M_hash_code, __bkt_count); }
1412: 
1412:       void
1412:       _M_store_code(_Hash_node_code_cache<false>&, __hash_code) const
1412:       { }
1412: 
1412:       void
1412:       _M_copy_code(_Hash_node_code_cache<false>&,
1412:      const _Hash_node_code_cache<false>&) const
1412:       { }
1412: 
1412:       void
1412:       _M_store_code(_Hash_node_code_cache<true>& __n, __hash_code __c) const
1412:       { __n._M_hash_code = __c; }
1412: 
1412:       void
1412:       _M_copy_code(_Hash_node_code_cache<true>& __to,
1412:      const _Hash_node_code_cache<true>& __from) const
1412:       { __to._M_hash_code = __from._M_hash_code; }
1412: 
1412:       void
1412:       _M_swap(_Hash_code_base& __x)
1412:       { std::swap(__ebo_hash::_M_get(), __x.__ebo_hash::_M_get()); }
1412: 
1412:       const _Hash&
1412:       _M_hash() const { return __ebo_hash::_M_cget(); }
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Hash, typename _RangeHash, typename _Unused>
1412:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1412:     _Hash, _RangeHash, _Unused, true>
1412:     : public _Node_iterator_base<_Value, true>
1412:     {
1412:     protected:
1412:       using __base_node_iter = _Node_iterator_base<_Value, true>;
1412:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1412:            _Hash, _RangeHash, _Unused, true>;
1412: 
1412:       _Local_iterator_base() = default;
1412:       _Local_iterator_base(const __hash_code_base&,
1412:       _Hash_node<_Value, true>* __p,
1412:       std::size_t __bkt, std::size_t __bkt_count)
1412:       : __base_node_iter(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1412:       { }
1412: 
1412:       void
1412:       _M_incr()
1412:       {
1412:  __base_node_iter::_M_incr();
1412:  if (this->_M_cur)
1412:    {
1412:      std::size_t __bkt
1412:        = _RangeHash{}(this->_M_cur->_M_hash_code, _M_bucket_count);
1412:      if (__bkt != _M_bucket)
1412:        this->_M_cur = nullptr;
1412:    }
1412:       }
1412: 
1412:       std::size_t _M_bucket;
1412:       std::size_t _M_bucket_count;
1412: 
1412:     public:
1412:       std::size_t
1412:       _M_get_bucket() const { return _M_bucket; }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, bool _IsEmpty = std:: _Unqualified __type; };
1434: 
1434:   template<typename _Qualified, typename _Unqualified,
1434:     bool _IsConst = is_const<_Qualified>::value,
1434:     bool _IsVol = is_volatile<_Qualified>::value>
1434:     class __match_cv_qualifiers
1434:     {
1434:       typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
1434: 
1434:     public:
1434:       typedef typename __match::__type __type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __make_unsigned
1434:     { typedef _Tp __type; };
1434: 
1434:   template<>
1434:     struct __make_unsigned<char>
1434:     { typedef unsigned char __type; };
1434: 
1434:   template<>
1434:     struct __make_unsigned<signed char>
1434:     { typedef unsigned char __type; };
1434: 
1434:   template<>
1434:     struct __make_unsigned<short>
1434:     { typedef unsigned short __type; };
1434: 
1434:   template<>
1434:     struct __make_unsigned<int>
1434:     { typedef unsigned int __type; };
1434: 
1434:   template<>
1434:     struct __make_unsigned<long>
1434:     { typedef unsigned long __type; };
1434: 
1434:   template<>
1434:     struct __make_unsigned<long long>
1434:     { typedef unsigned long long __type; };
1434: # 1771 "/usr/include/c++/12/type_traits" 3
1434:   template<typename _Tp,
1434:     bool _IsInt = is_integral<_Tp>::value,
1434:     bool _IsEnum = is_enum<_Tp>::value>
1434:     class __make_unsigned_selector;
1434: 
1434:   template<typename _Tp>
1434:     class __make_unsigned_selector<_Tp, true, false>
1434:     {
1434:       using __unsigned_type
1434:  = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
1434: 
1434:     public:
1434:       using __type
1434:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1434:     };
1434: 
1434:   class __make_unsigned_selector_base
1434:   {
1434:   protected:
1434:     template<typename...> struct _List { };
1434: 
1434:     template<typename _Tp, typename... _Up>
1434:       struct _List<_Tp, _Up...> : _List<_Up...>
1434:       { static constexpr size_t __size = sizeof(_Tp); };
1434: 
1434:     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
1434:       struct __select;
1434: 
1434:     template<size_t _Sz, typename _Uint, typename... _UInts>
1434:       struct __select<_Sz, _List<_Uint, _UInts...>, true>
1434:       { using __type = _Uint; };
1434: 
1434:     template<size_t _Sz, typename _Uint, typename... _UInts>
1434:       struct __select<_Sz, _List<_Uint, _UInts...>, false>
1434:       : __select<_Sz, _List<_UInts...>>
1434:       { };
1434:   };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     class __make_unsigned_selector<_Tp, false, true>
1434:     : __make_unsigned_selector_base
1434:     {
1434: 
1434:       using _UInts = _List<unsigned char, unsigned short, unsigned int,
1434:       unsigned long, unsigned long long>;
1434: 
1434:       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
1434: 
1434:     public:
1434:       using __type
1434:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct __make_unsigned<wchar_t>
1434:     {
1434:       using __type
1434:  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
1434:     };
1434: # 1845 "/usr/include/c++/12/type_traits" 3
1434:   template<>
1434:     struct __make_unsigned<char16_t>
1434:     {
1434:       using __type
1434:  = typename __make_unsigned_selector<char16_t, false, true>::__type;
1434:     };
1434: 
1434:   template<>
1434:     struct __make_unsigned<char32_t>
1434:     {
1434:       using __type
1434:  = typename __make_unsigned_selector<char32_t, false, true>::__type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct make_unsigned
1434:     { typedef typename __make_unsigned_selector<_Tp>::__type type; };
1434: 
1434: 
1434:   template<>
1434:     struct make_unsigned<bool>;
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __make_signed
1434:     { typedef _Tp __type; };
1434: 
1434:   template<>
1434:     struct __make_signed<char>
1434:     { typedef signed char __type; };
1434: 
1434:   template<>
1434:     struct __make_signed<unsigned char>
1434:     { typedef signed char __type; };
1434: 
1434:   template<>
1434:     struct __make_signed<unsigned short>
1434:     { typedef signed short __type; };
1434: 
1434:   template<>
1434:     struct __make_signed<unsigned int>
1434:     { typedef signed int __type; };
1434: 
1434:   template<>
1434:     struct __make_signed<unsigned long>
1434:     { typedef signed long __type; };
1434: 
1434:   template<>
1434:     struct __make_signed<unsigned long long>
1434:     { typedef signed long long __type; };
1434: # 1929 "/usr/include/c++/12/type_traits" 3
1434:   template<typename _Tp,
1434:     bool _IsInt = is_integral<_Tp>::value,
1434:     bool _IsEnum = is_enum<_Tp>::value>
1434:     class __make_signed_selector;
1434: 
1434:   template<typename _Tp>
1434:     class __make_signed_selector<_Tp, true, false>
1434:     {
1434:       using __signed_type
1434:  = typename __make_signed<__remove_cv_t<_Tp>>::__type;
1434: 
1434:     public:
1434:       using __type
1434:  = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     class __make_signed_selector<_Tp, false, true>
1434:     {
1434:       typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type;
1434: 
1434:     public:
1434:       typedef typename __make_signed_selector<__unsigned_type>::__type __type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct __make_signed<wchar_t>
1434:     {
1434:       using __type
1434:  = typename __make_signed_selector<wchar_t, false, true>::__type;
1434:     };
1434: # 1975 "/usr/include/c++/12/type_traits" 3
1434:   template<>
1434:     struct __make_signed<char16_t>
1434:     {
1434:       using __type
1434:  = typename __make_signed_selector<char16_t, false, true>::__type;
1434:     };
1434: 
1434:   template<>
1434:     struct __make_signed<char32_t>
1434:     {
1434:       using __type
1434:  = typename __make_signed_selector<char32_t, false, true>::__type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct make_signed
1434:     { typedef typename __make_signed_selector<_Tp>::__type type; };
1434: 
1434: 
1434:   template<>
1434:     struct make_signed<bool>;
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using make_signed_t = typename make_signed<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using make_unsigned_t = typename make_unsigned<_Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct remove_extent
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp, std::size_t _Size>
1434:     struct remove_extent<_Tp[_Size]>
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_extent<_Tp[]>
1434:     { typedef _Tp type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct remove_all_extents
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp, std::size_t _Size>
1434:     struct remove_all_extents<_Tp[_Size]>
1434:     { typedef typename remove_all_extents<_Tp>::type type; };
1434: 
1434:   template<typename _Tp>
1434:     struct remove_all_extents<_Tp[]>
1434:     { typedef typename remove_all_extents<_Tp>::type type; };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using remove_extent_t = typename remove_extent<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename>
1434:     struct __remove_pointer_helper
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct __remove_pointer_helper<_Tp, _Up*>
1434:     { typedef _Up type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct remove_poinename _Container = vector<_ValT>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireNotAllocator<_Container>>
1417:     priority_queue(_InputIterator, _InputIterator, _Compare = _Compare(),
1417:      _Container = _Container())
1417:     -> priority_queue<_ValT, _Container, _Compare>;
1417: 
1417:   template<typename _Compare, typename _Container, typename _Allocator,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireNotAllocator<_Container>>
1417:     priority_queue(_Compare, _Container, _Allocator)
1417:     -> priority_queue<typename _Container::value_type, _Container, _Compare>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Tp, typename _Sequence, typename _Compare>
1417:     inline
1417: 
1417: 
1417:     typename enable_if<__and_<__is_swappable<_Sequence>,
1417:          __is_swappable<_Compare>>::value>::type
1417: 
1417: 
1417: 
1417:     swap(priority_queue<_Tp, _Sequence, _Compare>& __x,
1417:   priority_queue<_Tp, _Sequence, _Compare>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417:   template<typename _Tp, typename _Sequence, typename _Compare,
1417:     typename _Alloc>
1417:     struct uses_allocator<priority_queue<_Tp, _Sequence, _Compare>, _Alloc>
1417:     : public uses_allocator<_Sequence, _Alloc>::type { };
1417: 
1417: 
1417: 
1417: }
1417: # 65 "/usr/include/c++/12/queue" 2 3
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 2
1417: 
1417: 
1417: 
1417: 
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417: class CJobManager;
1417: 
1417: class CJobWorker : public CThread
1417: {
1417: public:
1417:   explicit CJobWorker(CJobManager *manager);
1417:   ~CJobWorker() override;
1417: 
1417:   void Process() override;
1417: private:
1417:   CJobManager *m_jobManager;
1417: };
1417: 
1417: template<typename F>
1417: class CLambdaJob : public CJob
1417: {
1417: public:
1417:   CLambdaJob(F&& f) : m_f(std::forward<F>(f)) {}
1417:   bool DoWork() override
1417:   {
1417:     m_f();
1417:     return true;
1417:   }
1417:   bool operator==(const CJob *job) const override
1417:   {
1417:     return this == job;
1417:   };
1417: private:
1417:   F m_f;
1417: };
1417: # 63 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417: class CJobQueue: public IJobCallback
1417: {
1417:   class CJobPointer
1417:   {
1417:   public:
1417:     explicit CJobPointer(CJob *job)
1417:     {
1417:       m_job = job;
1417:       m_id = 0;
1417:     };
1417:     void CancelJob();
1417:     void FreeJob()
1417:     {
1417:       delete m_job;
1417:       m_job = 
1417: # 77 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1417:              __null
1417: # 77 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:                  ;
1417:     };
1417:     bool operator==(const CJob *job) const
1417:     {
1417:       if (m_job)
1417:         return *m_job == job;
1417:       return false;
1417:     };
1417:     CJob *m_job;
1417:     unsigned int m_id;
1417:   };
1417: public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CJobQueue(bool lifo = false, unsigned int jobsAtOnce = 1, CJob::PRIORITY priority = CJob::PRIORITY_LOW);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   ~CJobQueue() override;
1417: # 113 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:   bool AddJob(CJob *job);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename F>
1417:   void Submit(F&& f)
1417:   {
1417:     AddJob(new CLambdaJob<F>(std::forward<F>(f)));
1417:   }
1417: # 132 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:   void CancelJob(const CJob *job);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void CancelJobs();
1417: 
1417: 
1417: 
1417: 
1417:   bool IsProcessing() const;
1417: # 158 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:   void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
1417: # 170 "/is_empty<_Tp>::value>
1412:     struct _Hash_code_storage
1412:     {
1412:       __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1412: 
1412:       _Tp*
1412:       _M_h() { return _M_storage._M_ptr(); }
1412: 
1412:       const _Tp*
1412:       _M_h() const { return _M_storage._M_ptr(); }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct _Hash_code_storage<_Tp, true>
1412:     {
1412:       static_assert( std::is_empty<_Tp>::value, "Type must be empty" );
1412: 
1412: 
1412: 
1412:       _Tp*
1412:       _M_h() { return reinterpret_cast<_Tp*>(this); }
1412: 
1412:       const _Tp*
1412:       _M_h() const { return reinterpret_cast<const _Tp*>(this); }
1412:     };
1412: 
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Hash, typename _RangeHash, typename _Unused>
1412:     using __hash_code_for_local_iter
1412:       = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey,
1412:         _Hash, _RangeHash, _Unused, false>>;
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Hash, typename _RangeHash, typename _Unused>
1412:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1412:     _Hash, _RangeHash, _Unused, false>
1412:     : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1412:      _Unused>
1412:     , _Node_iterator_base<_Value, false>
1412:     {
1412:     protected:
1412:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1412:           _Hash, _RangeHash, _Unused, false>;
1412:       using __node_iter_base = _Node_iterator_base<_Value, false>;
1412: 
1412:       _Local_iterator_base() : _M_bucket_count(-1) { }
1412: 
1412:       _Local_iterator_base(const __hash_code_base& __base,
1412:       _Hash_node<_Value, false>* __p,
1412:       std::size_t __bkt, std::size_t __bkt_count)
1412:       : __node_iter_base(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1412:       { _M_init(__base); }
1412: 
1412:       ~_Local_iterator_base()
1412:       {
1412:  if (_M_bucket_count != size_t(-1))
1412:    _M_destroy();
1412:       }
1412: 
1412:       _Local_iterator_base(const _Local_iterator_base& __iter)
1412:       : __node_iter_base(__iter._M_cur), _M_bucket(__iter._M_bucket)
1412:       , _M_bucket_count(__iter._M_bucket_count)
1412:       {
1412:  if (_M_bucket_count != size_t(-1))
1412:    _M_init(*__iter._M_h());
1412:       }
1412: 
1412:       _Local_iterator_base&
1412:       operator=(const _Local_iterator_base& __iter)
1412:       {
1412:  if (_M_bucket_count != -1)
1412:    _M_destroy();
1412:  this->_M_cur = __iter._M_cur;
1412:  _M_bucket = __iter._M_bucket;
1412:  _M_bucket_count = __iter._M_bucket_count;
1412:  if (_M_bucket_count != -1)
1412:    _M_init(*__iter._M_h());
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       _M_incr()
1412:       {
1412:  __node_iter_base::_M_incr();
1412:  if (this->_M_cur)
1412:    {
1412:      std::size_t __bkt = this->_M_h()->_M_bucket_index(*this->_M_cur,
1412:              _M_bucket_count);
1412:      if (__bkt != _M_bucket)
1412:        this->_M_cur = nullptr;
1412:    }
1412:       }
1412: 
1412:       std::size_t _M_bucket;
1412:       std::size_t _M_bucket_count;
1412: 
1412:       void
1412:       _M_init(const __hash_code_base& __base)
1412:       { ::new(this->_M_h()) __hash_code_base(__base); }
1412: 
1412:       void
1412:       _M_destroy() { this->_M_h()->~__hash_code_base(); }
1412: 
1412:     public:
1412:       std::size_t
1412:       _M_get_bucket() const { return _M_bucket; }
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     bool __constant_iterators, bool __cache>
1412:     struct _Local_iterator
1412:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1412:       _Hash, _RangeHash, _Unused, __cache>
1412:     {
1412:     private:
1412:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
1412:   ter
1434:     : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>>
1434:     { };
1434: 
1434:   template<typename _Tp, bool = __or_<__is_referenceable<_Tp>,
1434:           is_void<_Tp>>::value>
1434:     struct __add_pointer_helper
1434:     { typedef _Tp type; };
1434: 
1434:   template<typename _Tp>
1434:     struct __add_pointer_helper<_Tp, true>
1434:     { typedef typename remove_reference<_Tp>::type* type; };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct add_pointer
1434:     : public __add_pointer_helper<_Tp>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using remove_pointer_t = typename remove_pointer<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using add_pointer_t = typename add_pointer<_Tp>::type;
1434: 
1434: 
1434:   template<std::size_t _Len>
1434:     struct __aligned_storage_msa
1434:     {
1434:       union __type
1434:       {
1434:  unsigned char __data[_Len];
1434:  struct __attribute__((__aligned__)) { } __align;
1434:       };
1434:     };
1434: # 2111 "/usr/include/c++/12/type_traits" 3
1434:   template<std::size_t _Len, std::size_t _Align =
1434:     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1434:     struct aligned_storage
1434:     {
1434:       union type
1434:       {
1434:  unsigned char __data[_Len];
1434:  struct __attribute__((__aligned__((_Align)))) { } __align;
1434:       };
1434:     };
1434: 
1434:   template <typename... _Types>
1434:     struct __strictest_alignment
1434:     {
1434:       static const size_t _S_alignment = 0;
1434:       static const size_t _S_size = 0;
1434:     };
1434: 
1434:   template <typename _Tp, typename... _Types>
1434:     struct __strictest_alignment<_Tp, _Types...>
1434:     {
1434:       static const size_t _S_alignment =
1434:         alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
1434:  ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
1434:       static const size_t _S_size =
1434:         sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
1434:  ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
1434:     };
1434: # 2150 "/usr/include/c++/12/type_traits" 3
1434:   template <size_t _Len, typename... _Types>
1434:     struct aligned_union
1434:     {
1434:     private:
1434:       static_assert(sizeof...(_Types) != 0, "At least one type is required");
1434: 
1434:       using __strictest = __strictest_alignment<_Types...>;
1434:       static const size_t _S_len = _Len > __strictest::_S_size
1434:  ? _Len : __strictest::_S_size;
1434:     public:
1434: 
1434:       static const size_t alignment_value = __strictest::_S_alignment;
1434: 
1434:       typedef typename aligned_storage<_S_len, alignment_value>::type type;
1434:     };
1434: 
1434:   template <size_t _Len, typename... _Types>
1434:     const size_t aligned_union<_Len, _Types...>::alignment_value;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Up,
1434:     bool _IsArray = is_array<_Up>::value,
1434:     bool _IsFunction = is_function<_Up>::value>
1434:     struct __decay_selector;
1434: 
1434: 
1434:   template<typename _Up>
1434:     struct __decay_selector<_Up, false, false>
1434:     { typedef __remove_cv_t<_Up> __type; };
1434: 
1434:   template<typename _Up>
1434:     struct __decay_selector<_Up, true, false>
1434:     { typedef typename remove_extent<_Up>::type* __type; };
1434: 
1434:   template<typename _Up>
1434:     struct __decay_selector<_Up, false, true>
1434:     { typedef typename add_pointer<_Up>::type __type; };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     class decay
1434:     {
1434:       typedef typename remove_reference<_Tp>::type __remove_type;
1434: 
1434:     public:
1434:       typedef typename __decay_selector<__remove_type>::__type type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __strip_reference_wrapper
1434:     {
1434:       typedef _Tp __type;
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __strip_reference_wrapper<reference_wrapper<_Tp> >
1434:     {
1434:       typedef _Tp& __type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using __decay_t = typename decay<_Tp>::type;
1434: 
1434:   template<typename _Tp>
1434:     using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
1434: 
1434: 
1434: 
1434: 
1434:   template<bool, typename _Tp = void>
1434:     struct enable_if
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct enable_if<true, _Tp>
1434:     { typedef _Tp type; };
1434: 
1434: 
1434: 
1434: 
1434:   template<bool _Cond, typename _Tp = void>
1434:     using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
1434: 
1434: 
1434:   template<typename... _Cond>
1434:     using _Require = __enable_if_t<__and_<_Cond...>::value>;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using __remove_cvref_t
1434:      = typename remove_cv<typename remove_reference<_Tp>::type>::type;
1434: 
1434: 
1434: 
1434: 
1434:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1434:     struct conditional
1434:     { typedef _Iftrue type; };
1434: 
1434: 
1434:   template<typename _Iftrue, typename _Iffalse>
1434:     struct conditional<false, _Iftrue, _Iffalse>
1434:     { typedef _Iffalse type; };
1434: 
1434: 
1434:   template<typename... _Tp>
1434:     struct common_type;
1434: 
1434: 
1434: 
1434: 
1434:   struct __do_common_type_impl
1434:   {
1434:     template<typename _Tp, typename _Up>
1434:       using __cond_t
1434:  = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
1434: 
1434: 
1434: 
1434:     template<typename _Tp, typename _Up>
1434:       static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
1434:       _S_test(int);
1434: # 2290 "/usr/include/c++/12/type_traits" 3
1434:     template<typename, typename>
1434:       static __failure_type
1434:       _S_test_2(...);
1434: 
1434:     template<typename _Tp, typename _Up>
1434:       static decltype(_S_test_2<_Tp, _Up>(0))
1434:       _S_test(...);
1434:   };
1434: 
1434: 
1434:   template<>
1434:     struct common_type<>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp0>
1434:     struct common_type<_Tp0>
1434:     : public common_type<_Tp0, _Tp0>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp1, typename _Tp2,
1434:     typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
1434:     struct __common_type_impl
1434:     {
1434: 
1434: 
1434:       using type = common_type<_Dp1, _Dp2>;
1434:     };
1434: 
1434:   template<typename _Tp1, typename _Tp2>
1434:     struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
1434:     : private __do_common_type_impl
1434:     {
1434: 
1434: 
1434:       using type = decltype(_S_test<_Tp1, _Tp2>(0));
1434:     };
1434: 
1434: 
1434:   template<typename _Tp1, typename _Tp2>
1434:     struct common_type<_Tp1, _Tp2>
1434:     : public __common_type_impl<_Tp1, _Tp2>::type
1434:     { };
1434: 
1434:   template<typename...>
1434:     struct __common_type_pack
1434:     { };
1434: 
1434:   template<typename, typename, typename = void>
1434:     struct __common_type_fold;
1434: 
1434: 
1434:   template<typename _Tp1, typename _Tp2, typename... _Rp>
1434:     struct common_type<_Tp1, _Tp2, _Rp...>
1434:     : public __common_type_fold<common_type<_Tp1, _Tp2>,
1434:     __common_type_pack<_Rp...>>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CTp, typename... _Rp>
1434:     struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
1434:          __void_t<typename _CTp::type>>
1434:     : public common_type<typename _CTp::type, _Rp...>
1434:     { };
1434: 
1434: 
1434:   template<typename _CTp, typename _Rp>
1434:     struct __common_type_fold<_CTp, _Rp, void>
1434:     { };
1434: 
1434:   template<typename _Tp, bool = is_enum<_Tp>::value>
1434:     struct __underlying_type_impl
1434:     {
1434:       using type = __underlying_type(_Tp);
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __underlying_type_impl<_Tp, false>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct underlying_type
1434:     : public __underlying_type_impl<_Tp>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __declval_protector
1434:     {
1434:       static const bool __stop = false;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     auto declval() noexcept -> decltype(__declval<_Tp>(0))
1434:     {
1434:       static_assert(__declval_protector<_Tp>::__stop,
1434:       "declval() must not be used!");
1434:       return __declval<_Tp>(0);
1434:     }
1434: 
1434: 
1434:   template<typename _Signature>
1434:     struct result_of;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct __invoke_memfun_ref { };
1434:   struct __invoke_memfun_deref { };
1434:   struct __invoke_memobj_ref { };
1434:   struct __invoke_memobj_deref { };
1434:   struct __invoke_other { };
1434: 
1434: 
1434:   template<typename _Tp, typename _Tag>
1434:     struct __result_of_success : __success_type<_Tp>
1434:     { using __invoke_type = _Tag; };
1434: 
1434: 
1434:   struct __result_of_memfun_ref_impl
1434:   {
1434:     template<typename _Fp, typename _Tp1, typename... _Args>
1434:       static __result_of_success<decltype(
1434:       (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
1434:       ), __invoke_memfun_ref> _S_test(int);
1434: 
1434:     template<typename...>
1434:       static __failure_type _S_test(...);
1434:   };
1434: 
1434:   template<typename _MemPtr, typename _Arg, typename... _Args>
1434:     struct __result_of_memfun_ref
1434:     : private __result_of_memfun_ref_impl
1434:     {
1434:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1434:     };
1434: 
1434: 
1434:   struct __result_of_memfun_deref_impl
1434:   {
1434:     template<typename _Fp, typename _Tp1, typename... _Args>
1434:       static __result_of_success<decltype(
1434:       ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
1434:       ), __invoke_memfun_deref> _S_test(int);
1434: 
1434:     template<typename...>
1434:       static __failure_type _S_test(...);
1434:   };
1434: 
1434:   template<typename _MemPtr, typename _Arg, typename... _Args>
1434:     struct __result_of_memfun_deref
1434:     : private __result_of_memfun_deref_impl
1434:     {
1434:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
1434:     };
1434: 
1434: 
1434:   struct __result_of_memobj_ref_impl
1434:   {
1434:     template<typename _Fp, typename _Tp1>
1434:       static __result_of_success<decltype(
1434:       std::declval<_Tp1>().*std::declval<_Fp>()
1434:       ), __invoke_memobj_ref> _S_test(int);
1434: 
1434:     template<typename, typename>
1434:       static __failure_type _S_test(...);
1434:   };
1434: 
1434:   template<typename _MemPtr, typename _Arg>
1434:     struct __result_of_memobj_ref
1434:     : private __result_of_memobj_ref_impl
1434:     {
1434:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1434:     };
1434: 
1434: 
1434:   struct __result_of_memobj_deref_impl
1434:   {
1434:     template<typename _Fp, typename _Tp1>
1434:       static __result_of_success<decltype(
1434:       (*std::declval<_Tp1>()).*std::declval<_Fp>()
1434:       ), __invoke_memobj_deref> _S_test(int);
1434: 
1434:     template<typename, typename>
1434:       static __failure_type _S_test(...);
1434:   };
1434: 
1434:   template<typename _MemPtr, typename _Arg>
1434:     struct __result_of_memobj_deref
1434:     : private __result_of_memobj_deref_impl
1434:     {
1434:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
1434:     };
1434: 
1434:   template<typename _MemPtr, typename _Arg>
1434:     struct __result_of_memobj;
1434: 
1434:   template<typename _Res, typename _Class, typename _Arg>
1434:     struct __result_of_memobj<_Res _Class::*, _Arg>
1434:     {
1434:       typedef __remove_cvref_t<_Arg> _Argval;
1434:       typedef _Res _Class::* _MemPtr;
1434:       typedef typename __conditional_t<__or_<is_same<_Argval, _Class>,
1434:         is_base_of<_Class, _Argval>>::value,
1434:         __result_of_memobj_ref<_MemPtr, _Arg>,
1434:         __result_of_memobj_deref<_MemPtr, _Arg>
1434:       >::type type;
1434:     };
1434: 
1434:   template<typename _MemPtr, typename _Arg, typename... _Args>
1434:     struct __result_of_memfun;
1434: 
1434:   template<typename _Res, typename _Class, typename _Arg, typename... _Args>
1434:     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
1434:     {
1434:       typedef typename remove_reference<_Arg>::type _Argval;
1434:       typedef _Res _Class::* _MemPtr;
1434:       typedef typename __conditional_t<is_base_of<_Class, _Argval>::value,
1434:         __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
1434:         __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
1434:       >::type type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
1434:     struct __inv_unwrap
1434:     {
1434:       using type = _Tp;
1434:     };
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
1434:     {
1434:       using type = _Up&;
1434:     };
1434: 
1434:   template<bool, bool, typename _Functor, typename... _ArgTypes>
1434:     struct __result_of_impl
1434:     {
1434:       typedef __failure_type type;
1434:     };
1434: 
1434:   template<typename _MemPtr, typename _Arg>
1434:     struct __result_of_impl<true, false, _MemPtr, _Arg>
1434:     : public __result_of_memobj<__decay_t<_MemPtr>,
1434:     typename __inv_unwrap<_Arg>::type>
1434:     { };
1434: 
1434:   template<typename _MemPtr, typename _Arg, typename... _Args>
1434:     struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
1434:     : public __result_of_memfun<__decay_t<_MemPtr>,
1434:     typename __inv_unwrap<_Arg>::type, _Args...>
1434:     { };
1434: 
1434: 
1434:   struct __result_of_other_impl
1434:   {
1434:     template<typename _Fn, typename... _Args>
1434:       static __result_of_success<decltype(
1434:       std::declval<_Fn>()(std::declval<_Args>()...)
1434:       ), __invoke_other> _S_test(int);
1434: 
1434:     template<typename...>
1434:       static __failure_type _S_test(...);
1434:   };
1434: 
1434:   template<typename _Functor, typename... _ArgTypes>
1434:     struct __result_of_impl<false, false, _Functor, _ArgTypes...>
1434:     : private __result_of_other_impl
1434:     {
1434:       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
1434:     };
1434: 
1434: 
1434:   template<typename _Functor, typename... _ArgTypes>
1434:     struct __invoke_result
1434:     : public __result_of_impl<
1434:         is_member_object_pointer<
1434:           typename remove_reference<_Functor>::type
1434:         >::value,
1434:         is_member_function_pointer<
1434:           typename remove_reference<_Functor>::type
1434:         >::value,
1434:  _Functor, _ArgTypes...
1434:       >::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Functor, typename... _ArgTypes>
1434:     struct result_of<_Functor(_ArgTypes...)>
1434:     : public __invoke_result<_Functor, _ArgTypes...>
1434:     { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
1434: 
1434: 
1434: 
1434:   template<size_t _Len, size_t _Align =
1434:      __alignof__(typename __aligned_storage_msa<_Len>::__type)>
1434:     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
1434: 
1434:   template <size_t _Len, typename... _Types>
1434:     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using decay_t = typename decay<_Tp>::type;
1434: 
1434: 
1434:   template<bool _Cond, typename _Tp = void>
1434:     using enable_if_t = typename enable_if<_Cond, _Tp>::type;
1434: 
1434: 
1434:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
1434:     using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
1434: 
1434: 
1434:   template<typename... _Tp>
1434:     using common_type_t = typename common_type<_Tp...>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using underlying_type_t = typename underlying_type<_Tp>::type;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using result_of_t = typename result_of<_Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename...> using void_t = void;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Default, typename _AlwaysVoid,
1434:     template<typename...> class _Op, typename... _Args>
1434:     struct __detector
1434:     {
1434:       using value_t = false_type;
1434:       using type = _Default;
1434:     };
1434: 
1434: 
1434:   template<typename _Default, template<typename...> class _Op,
1434:      typename... _Args>
1434:     struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
1434:     {
1434:       using value_t = true_type;
1434:       using type = _Op<_Args...>;
1434:     };
1434: 
1434: 
1434:   template<typename _Default, template<typename...> class _Op,
1434:     typename... _Args>
1434:     using __detected_or = __detector<_Default, void, _Op, _Args...>;
1434: 
1434: 
1434:   template<typename _Default, template<typename...> class _Op,
1434:     typename... _Args>
1434:     using __detected_or_t
1434:       = typename __detected_or<_Default, _Op, _Args...>::type;
1434: # 2684 "/usr/include/c++/12/type_traits" 3
1434:   template <typename _Tp>
1434:     struct __is_swappable;
1434: 
1434:   template <typename _Tp>
1434:     struct __is_nothrow_swappable;
1434: 
1434:   template<typename>
1434:     struct __is_tuple_like_impl : false_type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_tuple_like
1434:     : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:    
1434:     inline
1434:     _Require<__not_<__is_tuple_like<_Tp>>,
1434:       is_move_constructible<_Tp>,
1434:       is_move_assignable<_Tp>>
1434:     swap(_Tp&, _Tp&)
1434:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1434:              is_nothrow_move_assignable<_Tp>>::value);
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:    
1434:     inline
1434:     __enable_if_t<__is_swappable<_Tp>::value>
1434:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1434:     noexcept(__is_nothrow_swappable<_Tp>::value);
1434: 
1434: 
1434:   namespace __swappable_details {
1434:     using std::swap;
1434: 
1434:     struct __do_is_swappable_impl
1434:     {
1434:       template<typename _Tp, typename
1434:                = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
1434:         static true_type __test(int);
1434: 
1434:       template<typename>
1434:         static false_type __test(...);
1434:     };
1434: 
1434:     struct __do_is_nothrow_swappable_impl
1434:     {
1434:       template<typename _Tp>
1434:         static __bool_constant<
1434:           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
1434:         > __test(int);
1434: 
1434:       template<typename>
1434:         static false_type __test(...);
1434:     };
1434: 
1434:   }
1434: 
1434:   template<typename _Tp>
1434:     struct __is_swappable_impl
1434:     : public __swappable_details::__do_is_swappable_impl
1434:     {
1434:       typedef decltype(__test<_Tp>(0)) type;
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nothrow_swappable_impl
1434:     : public __swappable_details::__do_is_nothrow_swappable_impl
1434:     {
1434:       typedef decltype(__test<_Tp>(0)) type;
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_swappable
1434:     : public __is_swappable_impl<_Tp>::type
1434:     { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nothrow_swappable
1434:     : public __is_nothrow_swappable_impl<_Tp>::type
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_swappable
1434:     : public __is_swappable_impl<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:   void OnJobAbort(unsigned int jobID, CJob* job) override;
1417: 
1417: protected:
1417: 
1417: 
1417: 
1417: 
1417:   bool QueueEmpty() const;
1417: 
1417: private:
1417:   void OnJobNotify(CJob* job);
1417:   void QueueNextJob();
1417: 
1417:   typedef std::deque<CJobPointer> Queue;
1417:   typedef std::vector<CJobPointer> Processing;
1417:   Queue m_jobQueue;
1417:   Processing m_processing;
1417: 
1417:   unsigned int m_jobsAtOnce;
1417:   CJob::PRIORITY m_priority;
1417:   mutable CCriticalSection m_section;
1417:   bool m_lifo;
1417: };
1417: # 205 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417: class CJobManager final
1417: {
1417:   class CWorkItem
1417:   {
1417:   public:
1417:     CWorkItem(CJob *job, unsigned int id, CJob::PRIORITY priority, IJobCallback *callback)
1417:     {
1417:       m_job = job;
1417:       m_id = id;
1417:       m_callback = callback;
1417:       m_priority = priority;
1417:     }
1417:     bool operator==(unsigned int jobID) const
1417:     {
1417:       return m_id == jobID;
1417:     };
1417:     bool operator==(const CJob *job) const
1417:     {
1417:       return m_job == job;
1417:     };
1417:     void FreeJob()
1417:     {
1417:       delete m_job;
1417:       m_job = 
1417: # 228 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1417:              __null
1417: # 228 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:                  ;
1417:     };
1417:     void Cancel()
1417:     {
1417:       m_callback = 
1417: # 232 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1417:                   __null
1417: # 232 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:                       ;
1417:     };
1417:     CJob *m_job;
1417:     unsigned int m_id;
1417:     IJobCallback *m_callback;
1417:     CJob::PRIORITY m_priority;
1417:   };
1417: 
1417: public:
1417:   CJobManager();
1417: # 253 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:   unsigned int AddJob(CJob *job, IJobCallback *callback, CJob::PRIORITY priority = CJob::PRIORITY_LOW);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename F>
1417:   void Submit(F&& f, CJob::PRIORITY priority = CJob::PRIORITY_LOW)
1417:   {
1417:     AddJob(new CLambdaJob<F>(std::forward<F>(f)), nullptr, priority);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename F>
1417:   void Submit(F&& f, IJobCallback *callback, CJob::PRIORITY priority = CJob::PRIORITY_LOW)
1417:   {
1417:     AddJob(new CLambdaJob<F>(std::forward<F>(f)), callback, priority);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void CancelJob(unsigned int jobID);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void CancelJobs();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void Restart();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   int IsProcessing(const std::string &type) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void PauseJobs();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void UnPauseJobs();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsProcessing(const CJob::PRIORITY &priority) const;
1417: 
1417: protected:
1417:   friend class CJobWorker;
1417:   friend class CJob;
1417:   friend class CJobQueue;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CJob* GetNextJob();
1417: # 341 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:   void OnJobComplete(bool success, CJob *job);
1417: # 352 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1417:   bool OnJobProgress(unsigned int progress, unsigned int total, const CJob *job) const;
1417: 
1417: private:
1417:   CJobManager(const CJobManager&) = delete;
1417:   CJobManager const& operator=(CJobManager const&) = delete;
1417: 
1417: 
1417: 
1417: 
1417:   CJob *PopJob();
1417: 
1417:   void StartWorkers(CJob::PRIORITY priority);
1417:   void RemoveWorker(const CJobWorker *worker);
1417:   static unsigned int GetMaxWorkers(CJob::PRIORITY priority);
1417: 
1417:   unsigned int m_jobC:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_nothrow_swappable
1434:     : public __is_nothrow_swappable_impl<_Tp>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr bool is_swappable_v =
1434:       is_swappable<_Tp>::value;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr bool is_nothrow_swappable_v =
1434:       is_nothrow_swappable<_Tp>::value;
1434: 
1434: 
1434: 
1434:   namespace __swappable_with_details {
1434:     using std::swap;
1434: 
1434:     struct __do_is_swappable_with_impl
1434:     {
1434:       template<typename _Tp, typename _Up, typename
1434:                = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
1434:                typename
1434:                = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
1434:         static true_type __test(int);
1434: 
1434:       template<typename, typename>
1434:         static false_type __test(...);
1434:     };
1434: 
1434:     struct __do_is_nothrow_swappable_with_impl
1434:     {
1434:       template<typename _Tp, typename _Up>
1434:         static __bool_constant<
1434:           noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
1434:           &&
1434:           noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
1434:         > __test(int);
1434: 
1434:       template<typename, typename>
1434:         static false_type __test(...);
1434:     };
1434: 
1434:   }
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct __is_swappable_with_impl
1434:     : public __swappable_with_details::__do_is_swappable_with_impl
1434:     {
1434:       typedef decltype(__test<_Tp, _Up>(0)) type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_swappable_with_impl<_Tp&, _Tp&>
1434:     : public __swappable_details::__do_is_swappable_impl
1434:     {
1434:       typedef decltype(__test<_Tp&>(0)) type;
1434:     };
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct __is_nothrow_swappable_with_impl
1434:     : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
1434:     {
1434:       typedef decltype(__test<_Tp, _Up>(0)) type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
1434:     : public __swappable_details::__do_is_nothrow_swappable_impl
1434:     {
1434:       typedef decltype(__test<_Tp&>(0)) type;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct is_swappable_with
1434:     : public __is_swappable_with_impl<_Tp, _Up>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "first template argument must be a complete class or an unbounded array");
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1434:  "second template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct is_nothrow_swappable_with
1434:     : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "first template argument must be a complete class or an unbounded array");
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
1434:  "second template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline constexpr bool is_swappable_with_v =
1434:       is_swappable_with<_Tp, _Up>::value;
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline constexpr bool is_nothrow_swappable_with_v =
1434:       is_nothrow_swappable_with<_Tp, _Up>::value;
1434: # 2907 "/usr/include/c++/12/type_traits" 3      _Hash, _RangeHash, _Unused, __cache>;
1412:       using __hash_code_base = typename __base_type::__hash_code_base;
1412: 
1412:     public:
1412:       using value_type = _Value;
1412:       using pointer = __conditional_t<__constant_iterators,
1412:           const value_type*, value_type*>;
1412:       using reference = __conditional_t<__constant_iterators,
1412:      const value_type&, value_type&>;
1412:       using difference_type = ptrdiff_t;
1412:       using iterator_category = forward_iterator_tag;
1412: 
1412:       _Local_iterator() = default;
1412: 
1412:       _Local_iterator(const __hash_code_base& __base,
1412:         _Hash_node<_Value, __cache>* __n,
1412:         std::size_t __bkt, std::size_t __bkt_count)
1412:       : __base_type(__base, __n, __bkt, __bkt_count)
1412:       { }
1412: 
1412:       reference
1412:       operator*() const
1412:       { return this->_M_cur->_M_v(); }
1412: 
1412:       pointer
1412:       operator->() const
1412:       { return this->_M_cur->_M_valptr(); }
1412: 
1412:       _Local_iterator&
1412:       operator++()
1412:       {
1412:  this->_M_incr();
1412:  return *this;
1412:       }
1412: 
1412:       _Local_iterator
1412:       operator++(int)
1412:       {
1412:  _Local_iterator __tmp(*this);
1412:  this->_M_incr();
1412:  return __tmp;
1412:       }
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     bool __constant_iterators, bool __cache>
1412:     struct _Local_const_iterator
1412:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1412:       _Hash, _RangeHash, _Unused, __cache>
1412:     {
1412:     private:
1412:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
1412:         _Hash, _RangeHash, _Unused, __cache>;
1412:       using __hash_code_base = typename __base_type::__hash_code_base;
1412: 
1412:     public:
1412:       typedef _Value value_type;
1412:       typedef const value_type* pointer;
1412:       typedef const value_type& reference;
1412:       typedef std::ptrdiff_t difference_type;
1412:       typedef std::forward_iterator_tag iterator_category;
1412: 
1412:       _Local_const_iterator() = default;
1412: 
1412:       _Local_const_iterator(const __hash_code_base& __base,
1412:        _Hash_node<_Value, __cache>* __n,
1412:        std::size_t __bkt, std::size_t __bkt_count)
1412:       : __base_type(__base, __n, __bkt, __bkt_count)
1412:       { }
1412: 
1412:       _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey,
1412:         _Hash, _RangeHash, _Unused,
1412:         __constant_iterators,
1412:         __cache>& __x)
1412:       : __base_type(__x)
1412:       { }
1412: 
1412:       reference
1412:       operator*() const
1412:       { return this->_M_cur->_M_v(); }
1412: 
1412:       pointer
1412:       operator->() const
1412:       { return this->_M_cur->_M_valptr(); }
1412: 
1412:       _Local_const_iterator&
1412:       operator++()
1412:       {
1412:  this->_M_incr();
1412:  return *this;
1412:       }
1412: 
1412:       _Local_const_iterator
1412:       operator++(int)
1412:       {
1412:  _Local_const_iterator __tmp(*this);
1412:  this->_M_incr();
1412:  return __tmp;
1412:       }
1412:     };
1412: # 1628 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1412:   template<typename _Key, typename _Value, typename _ExtractKey,
1412:     typename _Equal, typename _Hash, typename _RangeHash,
1412:     typename _Unused, typename _Traits>
1412:     struct _Hashtable_base
1412:     : public _Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1412:         _Unused, _Traits::__hash_cached::value>,
1412:       private _Hashtable_ebo_helper<0, _Equal>
1412:     {
1412:     public:
1412:       typedef _Key key_type;
1412:       typedef _Value value_type;
1412:       typedef _Equal key_equal;
1412:       typedef std::size_t size_type;
1412:       typedef std::ptrdiff_t difference_type;
1412: 
1412:       using __traits_type = _Traits;
1412:       using __hash_
1434:   template<typename _Result, typename _Ret,
1434:     bool = is_void<_Ret>::value, typename = void>
1434:     struct __is_invocable_impl : false_type { };
1434: 
1434: 
1434:   template<typename _Result, typename _Ret>
1434:     struct __is_invocable_impl<_Result, _Ret,
1434:                                 true,
1434:           __void_t<typename _Result::type>>
1434:     : true_type
1434:     { };
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1434: 
1434:   template<typename _Result, typename _Ret>
1434:     struct __is_invocable_impl<_Result, _Ret,
1434:                                 false,
1434:           __void_t<typename _Result::type>>
1434:     {
1434:     private:
1434: 
1434: 
1434:       static typename _Result::type _S_get();
1434: 
1434:       template<typename _Tp>
1434:  static void _S_conv(_Tp);
1434: 
1434: 
1434:       template<typename _Tp, typename = decltype(_S_conv<_Tp>(_S_get()))>
1434:  static true_type
1434:  _S_test(int);
1434: 
1434:       template<typename _Tp>
1434:  static false_type
1434:  _S_test(...);
1434: 
1434:     public:
1434:       using type = decltype(_S_test<_Ret>(1));
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434:   template<typename _Fn, typename... _ArgTypes>
1434:     struct __is_invocable
1434:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1434:     { };
1434: 
1434:   template<typename _Fn, typename _Tp, typename... _Args>
1434:     constexpr bool __call_is_nt(__invoke_memfun_ref)
1434:     {
1434:       using _Up = typename __inv_unwrap<_Tp>::type;
1434:       return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
1434:      std::declval<_Args>()...));
1434:     }
1434: 
1434:   template<typename _Fn, typename _Tp, typename... _Args>
1434:     constexpr bool __call_is_nt(__invoke_memfun_deref)
1434:     {
1434:       return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
1434:      std::declval<_Args>()...));
1434:     }
1434: 
1434:   template<typename _Fn, typename _Tp>
1434:     constexpr bool __call_is_nt(__invoke_memobj_ref)
1434:     {
1434:       using _Up = typename __inv_unwrap<_Tp>::type;
1434:       return noexcept(std::declval<_Up>().*std::declval<_Fn>());
1434:     }
1434: 
1434:   template<typename _Fn, typename _Tp>
1434:     constexpr bool __call_is_nt(__invoke_memobj_deref)
1434:     {
1434:       return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
1434:     }
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     constexpr bool __call_is_nt(__invoke_other)
1434:     {
1434:       return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
1434:     }
1434: 
1434:   template<typename _Result, typename _Fn, typename... _Args>
1434:     struct __call_is_nothrow
1434:     : __bool_constant<
1434:  std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
1434:       >
1434:     { };
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     using __call_is_nothrow_
1434:       = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
1434: 
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     struct __is_nothrow_invocable
1434:     : __and_<__is_invocable<_Fn, _Args...>,
1434:              __call_is_nothrow_<_Fn, _Args...>>::type
1434:     { };
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
1434:   struct __nonesuchbase {};
1434:   struct __nonesuch : private __nonesuchbase {
1434:     ~__nonesuch() = delete;
1434:     __nonesuch(__nonesuch const&) = delete;
1434:     void operator=(__nonesuch const&) = delete;
1434:   };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Functor, typename... _ArgTypes>
1434:     struct invoke_result
1434:     : public __invoke_result<_Functor, _ArgTypes...>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}),
1434:  "_Functor must be a complete class or an unbounded array");
1434:       static_assounter;
1417: 
1417:   typedef std::deque<CWorkItem> JobQueue;
1417:   typedef std::vector<CWorkItem> Processing;
1417:   typedef std::vector<CJobWorker*> Workers;
1417: 
1417:   JobQueue m_jobQueue[CJob::PRIORITY_DEDICATED + 1];
1417:   bool m_pauseJobs;
1417:   Processing m_processing;
1417:   Workers m_workers;
1417: 
1417:   mutable CCriticalSection m_section;
1417:   CEvent m_jobEvent;
1417:   bool m_running;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h"
1417: template<typename Event>
1417: class CEventStream
1417: {
1417: public:
1417: 
1417:   template<typename A>
1417:   void Subscribe(A* owner, void (A::*fn)(const Event&))
1417:   {
1417:     auto subscription = std::make_shared<detail::CSubscription<Event, A>>(owner, fn);
1417:     std::unique_lock<CCriticalSection> lock(m_criticalSection);
1417:     m_subscriptions.emplace_back(std::move(subscription));
1417:   }
1417: 
1417:   template<typename A>
1417:   void Unsubscribe(A* obj)
1417:   {
1417:     std::vector<std::shared_ptr<detail::ISubscription<Event>>> toCancel;
1417:     {
1417:       std::unique_lock<CCriticalSection> lock(m_criticalSection);
1417:       auto it = m_subscriptions.begin();
1417:       while (it != m_subscriptions.end())
1417:       {
1417:         if ((*it)->IsOwnedBy(obj))
1417:         {
1417:           toCancel.push_back(*it);
1417:           it = m_subscriptions.erase(it);
1417:         }
1417:         else
1417:         {
1417:           ++it;
1417:         }
1417:       }
1417:     }
1417:     for (auto& subscription : toCancel)
1417:       subscription->Cancel();
1417:   }
1417: 
1417: protected:
1417:   std::vector<std::shared_ptr<detail::ISubscription<Event>>> m_subscriptions;
1417:   CCriticalSection m_criticalSection;
1417: };
1417: 
1417: 
1417: template<typename Event>
1417: class CEventSource : public CEventStream<Event>
1417: {
1417: public:
1417:   explicit CEventSource() : m_queue(false, 1, CJob::PRIORITY_HIGH) {}
1417: 
1417:   template<typename A>
1417:   void Publish(A event)
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(this->m_criticalSection);
1417:     auto& subscriptions = this->m_subscriptions;
1417:     auto task = [subscriptions, event](){
1417:       for (auto& s: subscriptions)
1417:         s->HandleEvent(event);
1417:     };
1417:     lock.unlock();
1417:     m_queue.Submit(std::move(task));
1417:   }
1417: 
1417: private:
1417:   CJobQueue m_queue;
1417: };
1417: 
1417: template<typename Event>
1417: class CBlockingEventSource : public CEventStream<Event>
1417: {
1417: public:
1417:   template<typename A>
1417:   void HandleEvent(A event)
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(this->m_criticalSection);
1417:     for (const auto& subscription : this->m_subscriptions)
1417:     {
1417:       subscription->HandleEvent(event);
1417:     }
1417:   }
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h"
1417:        
1417: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h"
1417: enum TIME_FORMAT
1417: {
1417:   TIME_FORMAT_GUESS = 0,
1417:   TIME_FORMAT_SS = 1,
1417:   TIME_FORMAT_MM = 2,
1417:   TIME_FORMAT_MM_SS = 3,
1417:   TIME_FORMAT_HH = 4,
1417:   TIME_FORMAT_HH_SS = 5,
1417:   TIME_FORMAT_HH_MM = 6,
1417:   TIME_FORMAT_HH_MM_SS = 7,
1417:   TIME_FORMAT_XX = 8,
1417:   TIME_FORMAT_HH_MM_XX =
1417:       14,
1417:   TIME_FORMAT_HH_MM_SS_XX =
1417:       15,
1417:   TIME_FORMAT_H = 16,
1417:   TIME_FORMAT_H_MM_SS = 19,
1417:   TIME_FORMAT_H_MM_SS_XX =
1417:       27,
1417:   TIME_FORMAT_SECS = 32,
1417:   TIME_FORMAT_MINS = 64,
1417:   TIME_FORMAT_HOURS = 128,
1417:   TIME_FORMAT_M = 256
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.h" 2
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/ctime" 1 3
1417: # 39 "/usr/include/c++/12/ctimeert((std::__is_complete_or_unbounded(
1434:  __type_identity<_ArgTypes>{}) && ...),
1434:  "each argument type must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
1434: 
1434: 
1434:   template<typename _Fn, typename... _ArgTypes>
1434:     struct is_invocable
1434:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1434:  "_Fn must be a complete class or an unbounded array");
1434:       static_assert((std::__is_complete_or_unbounded(
1434:  __type_identity<_ArgTypes>{}) && ...),
1434:  "each argument type must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1434:     struct is_invocable_r
1434:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1434:  "_Fn must be a complete class or an unbounded array");
1434:       static_assert((std::__is_complete_or_unbounded(
1434:  __type_identity<_ArgTypes>{}) && ...),
1434:  "each argument type must be a complete class or an unbounded array");
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1434:  "_Ret must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Fn, typename... _ArgTypes>
1434:     struct is_nothrow_invocable
1434:     : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
1434:       __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1434:  "_Fn must be a complete class or an unbounded array");
1434:       static_assert((std::__is_complete_or_unbounded(
1434:  __type_identity<_ArgTypes>{}) && ...),
1434:  "each argument type must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Result, typename _Ret, typename = void>
1434:     struct __is_nt_invocable_impl : false_type { };
1434: 
1434:   template<typename _Result, typename _Ret>
1434:     struct __is_nt_invocable_impl<_Result, _Ret,
1434:       __void_t<typename _Result::type>>
1434:     : __or_<is_void<_Ret>,
1434:      __is_nothrow_convertible<typename _Result::type, _Ret>>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Ret, typename _Fn, typename... _ArgTypes>
1434:     struct is_nothrow_invocable_r
1434:     : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
1434:              __call_is_nothrow_<_Fn, _ArgTypes...>>::type
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
1434:  "_Fn must be a complete class or an unbounded array");
1434:       static_assert((std::__is_complete_or_unbounded(
1434:  __type_identity<_ArgTypes>{}) && ...),
1434:  "each argument type must be a complete class or an unbounded array");
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
1434:  "_Ret must be a complete class or an unbounded array");
1434:     };
1434: # 3119 "/usr/include/c++/12/type_traits" 3
1434: template <typename _Tp>
1434:   inline constexpr bool is_void_v = is_void<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_integral_v = is_integral<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_array_v = is_array<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_pointer_v = is_pointer<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_lvalue_reference_v =
1434:     is_lvalue_rcached = typename __traits_type::__hash_cached;
1412: 
1412:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1412:             _Hash, _RangeHash, _Unused,
1412:             __hash_cached::value>;
1412: 
1412:       using __hash_code = typename __hash_code_base::__hash_code;
1412: 
1412:     private:
1412:       using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>;
1412: 
1412:       static bool
1412:       _S_equals(__hash_code, const _Hash_node_code_cache<false>&)
1412:       { return true; }
1412: 
1412:       static bool
1412:       _S_node_equals(const _Hash_node_code_cache<false>&,
1412:        const _Hash_node_code_cache<false>&)
1412:       { return true; }
1412: 
1412:       static bool
1412:       _S_equals(__hash_code __c, const _Hash_node_code_cache<true>& __n)
1412:       { return __c == __n._M_hash_code; }
1412: 
1412:       static bool
1412:       _S_node_equals(const _Hash_node_code_cache<true>& __lhn,
1412:        const _Hash_node_code_cache<true>& __rhn)
1412:       { return __lhn._M_hash_code == __rhn._M_hash_code; }
1412: 
1412:     protected:
1412:       _Hashtable_base() = default;
1412: 
1412:       _Hashtable_base(const _Hash& __hash, const _Equal& __eq)
1412:       : __hash_code_base(__hash), _EqualEBO(__eq)
1412:       { }
1412: 
1412:       bool
1412:       _M_key_equals(const _Key& __k,
1412:       const _Hash_node_value<_Value,
1412:         __hash_cached::value>& __n) const
1412:       {
1412:  static_assert(__is_invocable<const _Equal&, const _Key&, const _Key&>{},
1412:    "key equality predicate must be invocable with two arguments of "
1412:    "key type");
1412:  return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1412:       }
1412: 
1412:       template<typename _Kt>
1412:  bool
1412:  _M_key_equals_tr(const _Kt& __k,
1412:     const _Hash_node_value<_Value,
1412:           __hash_cached::value>& __n) const
1412:  {
1412:    static_assert(
1412:      __is_invocable<const _Equal&, const _Kt&, const _Key&>{},
1412:      "key equality predicate must be invocable with two arguments of "
1412:      "key type");
1412:    return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1412:  }
1412: 
1412:       bool
1412:       _M_equals(const _Key& __k, __hash_code __c,
1412:   const _Hash_node_value<_Value, __hash_cached::value>& __n) const
1412:       { return _S_equals(__c, __n) && _M_key_equals(__k, __n); }
1412: 
1412:       template<typename _Kt>
1412:  bool
1412:  _M_equals_tr(const _Kt& __k, __hash_code __c,
1412:        const _Hash_node_value<_Value,
1412:          __hash_cached::value>& __n) const
1412:  { return _S_equals(__c, __n) && _M_key_equals_tr(__k, __n); }
1412: 
1412:       bool
1412:       _M_node_equals(
1412:  const _Hash_node_value<_Value, __hash_cached::value>& __lhn,
1412:  const _Hash_node_value<_Value, __hash_cached::value>& __rhn) const
1412:       {
1412:  return _S_node_equals(__lhn, __rhn)
1412:    && _M_key_equals(_ExtractKey{}(__lhn._M_v()), __rhn);
1412:       }
1412: 
1412:       void
1412:       _M_swap(_Hashtable_base& __x)
1412:       {
1412:  __hash_code_base::_M_swap(__x);
1412:  std::swap(_EqualEBO::_M_get(), __x._EqualEBO::_M_get());
1412:       }
1412: 
1412:       const _Equal&
1412:       _M_eq() const { return _EqualEBO::_M_cget(); }
1412:     };
1412: # 1744 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits,
1412:     bool _Unique_keys = _Traits::__unique_keys::value>
1412:     struct _Equality;
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1412:     {
1412:       using __hashtableference<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_rvalue_reference_v =
1434:     is_rvalue_reference<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_member_object_pointer_v =
1434:     is_member_object_pointer<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_member_function_pointer_v =
1434:     is_member_function_pointer<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_enum_v = is_enum<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_union_v = is_union<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_class_v = is_class<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_function_v = is_function<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_reference_v = is_reference<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_object_v = is_object<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_compound_v = is_compound<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_const_v = is_const<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_volatile_v = is_volatile<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivial_v = is_trivial<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivially_copyable_v =
1434:     is_trivially_copyable<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value;
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: template <typename _Tp>
1434:  
1434:   inline constexpr bool is_pod_v = is_pod<_Tp>::value;
1434: template <typename _Tp>
1434:   [[__deprecated__]]
1434:   inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value;
1434: #pragma GCC diagnostic pop
1434:  template <typename _Tp>
1434:   inline constexpr bool is_empty_v = is_empty<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_abstract_v = is_abstract<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_final_v = is_final<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_signed_v = is_signed<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
1434: template <typename _Tp, typename... _Args>
1434:   inline constexpr bool is_constructible_v =
1434:     is_constructible<_Tp, _Args...>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_default_constructible_v =
1434:     is_default_constructible<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_copy_constructible_v =
1434:     is_copy_constructible<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_move_constructible_v =
1434:     is_move_constructible<_Tp>::value;
1434: template <typename _Tp, typename _Up>
1434:   inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
1434: template <typename _Tp, typename... _Ar" 3
1417:        
1417: # 40 "/usr/include/c++/12/ctime" 3
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/PlayerGUIInfo.h" 2
1417: 
1417: 
1417: 
1417: 
1417: class CApplicationPlayer;
1417: class CApplicationVolumeHandling;
1417: class CDataCacheCore;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: struct PlayerShowInfoChangedEvent
1417: {
1417:   explicit PlayerShowInfoChangedEvent(bool showInfo) : m_showInfo(showInfo) {}
1417:   virtual ~PlayerShowInfoChangedEvent() = default;
1417: 
1417:   bool m_showInfo{false};
1417: };
1417: 
1417: class CPlayerGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CPlayerGUIInfo();
1417:   ~CPlayerGUIInfo() override;
1417: 
1417:   CEventStream<PlayerShowInfoChangedEvent>& Events() { return m_events; }
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: 
1417:   void SetShowTime(bool showtime) { m_playerShowTime = showtime; }
1417:   void SetShowInfo(bool showinfo);
1417:   bool GetShowInfo() const { return m_playerShowInfo; }
1417:   bool ToggleShowInfo();
1417: 
1417: private:
1417:   int GetTotalPlayTime() const;
1417:   int GetPlayTime() const;
1417:   int GetPlayTimeRemaining() const;
1417:   float GetSeekPercent() const;
1417: 
1417:   std::string GetCurrentPlayTime(TIME_FORMAT format) const;
1417:   std::string GetCurrentPlayTimeRemaining(TIME_FORMAT format) const;
1417:   std::string GetDuration(TIME_FORMAT format) const;
1417:   std::string GetCurrentSeekTime(TIME_FORMAT format) const;
1417:   std::string GetSeekTime(TIME_FORMAT format) const;
1417: 
1417:   std::string GetContentRanges(int iInfo) const;
1417:   std::vector<std::pair<float, float>> GetEditList(const CDataCacheCore& data,
1417:                                                    std::time_t duration) const;
1417:   std::vector<std::pair<float, float>> GetCuts(const CDataCacheCore& data,
1417:                                                std::time_t duration) const;
1417:   std::vector<std::pair<float, float>> GetSceneMarkers(const CDataCacheCore& data,
1417:                                                        std::time_t duration) const;
1417:   std::vector<std::pair<float, float>> GetChapters(const CDataCacheCore& data,
1417:                                                    std::time_t duration) const;
1417: 
1417:   std::unique_ptr<CFileItem> m_currentItem;
1417:   std::atomic_bool m_playerShowTime{false};
1417:   std::atomic_bool m_playerShowInfo{false};
1417:   const std::shared_ptr<CApplicationPlayer> m_appPlayer;
1417:   const std::shared_ptr<CApplicationVolumeHandling> m_appVolume;
1417:   CEventSource<PlayerShowInfoChangedEvent> m_events;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/SkinGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/SkinGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CSkinGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CSkinGUIInfo() = default;
1417:   ~CSkinGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(boogs>
1434:   inline constexpr bool is_trivially_constructible_v =
1434:     is_trivially_constructible<_Tp, _Args...>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivially_default_constructible_v =
1434:     is_trivially_default_constructible<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivially_copy_constructible_v =
1434:     is_trivially_copy_constructible<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivially_move_constructible_v =
1434:     is_trivially_move_constructible<_Tp>::value;
1434: template <typename _Tp, typename _Up>
1434:   inline constexpr bool is_trivially_assignable_v =
1434:     is_trivially_assignable<_Tp, _Up>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivially_copy_assignable_v =
1434:     is_trivially_copy_assignable<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivially_move_assignable_v =
1434:     is_trivially_move_assignable<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_trivially_destructible_v =
1434:     is_trivially_destructible<_Tp>::value;
1434: template <typename _Tp, typename... _Args>
1434:   inline constexpr bool is_nothrow_constructible_v =
1434:     is_nothrow_constructible<_Tp, _Args...>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_nothrow_default_constructible_v =
1434:     is_nothrow_default_constructible<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_nothrow_copy_constructible_v =
1434:     is_nothrow_copy_constructible<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_nothrow_move_constructible_v =
1434:     is_nothrow_move_constructible<_Tp>::value;
1434: template <typename _Tp, typename _Up>
1434:   inline constexpr bool is_nothrow_assignable_v =
1434:     is_nothrow_assignable<_Tp, _Up>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_nothrow_copy_assignable_v =
1434:     is_nothrow_copy_assignable<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_nothrow_move_assignable_v =
1434:     is_nothrow_move_assignable<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool is_nothrow_destructible_v =
1434:     is_nothrow_destructible<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr bool has_virtual_destructor_v =
1434:     has_virtual_destructor<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
1434: template <typename _Tp>
1434:   inline constexpr size_t rank_v = rank<_Tp>::value;
1434: template <typename _Tp, unsigned _Idx = 0>
1434:   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
1434: 
1434: template <typename _Tp, typename _Up>
1434:   inline constexpr bool is_same_v = __is_same(_Tp, _Up);
1434: 
1434: 
1434: 
1434: 
1434: template <typename _Base, typename _Derived>
1434:   inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value;
1434: template <typename _From, typename _To>
1434:   inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value;
1434: template<typename _Fn, typename... _Args>
1434:   inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
1434: template<typename _Fn, typename... _Args>
1434:   inline constexpr bool is_nothrow_invocable_v
1434:     = is_nothrow_invocable<_Fn, _Args...>::value;
1434: template<typename _Ret, typename _Fn, typename... _Args>
1434:   inline constexpr bool is_invocable_r_v
1434:     = is_invocable_r<_Ret, _Fn, _Args...>::value;
1434: template<typename _Ret, typename _Fn, typename... _Args>
1434:   inline constexpr bool is_nothrow_invocable_r_v
1434:     = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct has_unique_object_representations
1434:     : bool_constant<__has_unique_object_representations(
1434:       remove_cv_t<remove_all_extents_t<_Tp>>
1434:       )>
1434:     {
1434:       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
1434:  "template argument must be a complete class or an unbounded array");
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr bool has_unique_object_representations_v
1434:       = has_unique_object_representations<_Tp>::value;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_aggregate
1434:     : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value;
1434: # 3703 "/usr/include/c++/12/type_traits" 3
1434: 
1434: }
1434: # 61 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/move.h" 1 3
1434: # 38 "/usr/include/c++/12/bits/move.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr _Tp*
1434:     __addressof(_Tp& __r) noexcept
1434:     { return __builtin_addressof(__r); }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 74 "/usr/include/c++/12/bits/move.h" 3
1434:   template<typename _Tp>
1434:     [[__nodiscard__]]
1434:     constexpr _Tp&&
1434:     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
1434:     { return static_cast<_Tp&&>(__t); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]]
1434:     constexpr _Tp&&
1434:     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
1434:     {
1434:       static_assert(!std::is_lvalue_reference<_Tp>::value,
1434:    "std::forward must not be used to convert an rvalue to an lvalue");
1434:       return static_cast<_Tp&&>(__t);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]]
1434:     constexpr typename std::remove_reference<_Tp>::type&&
1434:     move(_Tp&& __t) noexcept
1434:     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __move_if_noexcept_cond
1434:     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
1434:                     is_copy_constructible<_Tp>>::type { };
1434: # 121 "/usr/include/c++/12/bits/move.h" 3
1434:   template<typename _Tp>
1434:     [[__nodiscard__]]
1434:     constexpr
1434:     __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
1434:     move_if_noexcept(_Tp& __x) noexcept
1434:     { return std::move(__x); }
1434: # 142 "/usr/include/c++/12/bits/move.h" 3
1434:   template<typename _Tp>
1434:     [[__nodiscard__]]
1434:     inline constexpr _Tp*
1434:     addressof(_Tp& __r) noexcept
1434:     { return std::__addressof(__r); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     const _Tp* addressof(const _Tp&&) = delete;
1434: 
1434: 
1434:   template <typename _Tp, typename _Up = _Tp>
1434:    
1434:     inline _Tp
1434:     __exchange(_Tp& __obj, _Up&& __new_val)
1434:     {
1434:       _Tp __old_val = std::move(__obj);
1434:       __obj = std::forward<_Up>(__new_val);
1434:       return __old_val;
1434:     }
1434: # 186 "/usr/include/c++/12/bits/move.h" 3
1434:   template<typename _Tp>
1434:    
1434:     inline
1434: 
1434:     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
1434:          is_move_constructible<_Tp>,
1434:          is_move_assignable<_Tp>>::value>::type
1434: 
1434: 
1434: 
1434:     swap(_Tp& __a, _Tp& __b)
1434:     noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
1434: 
1434:     {
1434: 
1434: 
1434: 
1434: 
1434:       _Tp __tmp = std::move(__a);
1434:       __a = std::move(__b);
1434:       __b = std::move(__tmp);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:    
1434:     inline
1434: 
1434:     typename enablee = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:          _Hash, _RangeHash, _Unused,
1412:          _RehashPolicy, _Traits>;
1412: 
1412:       bool
1412:       _M_equal(const __hashtable&) const;
1412:     };
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     bool
1412:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1412:     _M_equal(const __hashtable& __other) const
1412:     {
1412:       using __node_type = typename __hashtable::__node_type;
1412:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1412:       if (__this->size() != __other.size())
1412:  return false;
1412: 
1412:       for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx)
1412:  {
1412:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1412:    auto __prev_n = __other._M_buckets[__ybkt];
1412:    if (!__prev_n)
1412:      return false;
1412: 
1412:    for (__node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt);;
1412:         __n = __n->_M_next())
1412:      {
1412:        if (__n->_M_v() == *__itx)
1412:   break;
1412: 
1412:        if (!__n->_M_nxt
1412:     || __other._M_bucket_index(*__n->_M_next()) != __ybkt)
1412:   return false;
1412:      }
1412:  }
1412: 
1412:       return true;
1412:     }
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1412:     {
1412:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:          _Hash, _RangeHash, _Unused,
1412:          _RehashPolicy, _Traits>;
1412: 
1412:       bool
1412:       _M_equal(const __hashtable&) const;
1412:     };
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     bool
1412:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>::
1412:     _M_equal(const __hashtable& __other) const
1412:     {
1412:       using __node_type = typename __hashtable::__node_type;
1412:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1412:       if (__this->size() != __other.size())
1412:  return false;
1412: 
1412:       for (auto __itx = __this->begin(); __itx != __this->end();)
1412:  {
1412:    std::size_t __x_count = 1;
1412:    auto __itx_end = __itx;
1412:    for (++__itx_end; __itx_end != __this->end()
1412:    && __this->key_eq()(_ExtractKey{}(*__itx),
1412:          _ExtractKey{}(*__itx_end));
1412:         ++__itx_end)
1412:      ++__x_count;
1412: 
1412:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1412:    auto __y_prev_n = __other._M_buckets[__ybkt];
1412:    if (!__y_prev_n)
1412:      return false;
1412: 
1412:    __node_type* __y_n = static_cast<__node_type*>(__y_prev_n->_M_nxt);
1412:    for (;;)
1412:      {
1412:        if (__this->key_eq()(_ExtractKey{}(__y_n->_M_v()),
1412:        _ExtractKey{}(*__itx)))
1412:   break;
1412: 
1412:        auto __y_ref_n = __y_n;
1412:        for (__y_n = __y_n->_M_next(); __y_n; __y_n = __y_n->_M_next())
1412:   if (!__other._M_node_equals(*__y_ref_n, *__y_n))
1412:     break;
1412: 
1412:        if (!__y_n || __other._M_bucket_index(*__y_n) != __ybkt)
1412:   return false;
1412:      }
1412: 
1412:    typename __hashtable::const_iterator __ity(__y_n);
1412:    for (auto __ity_end = __ity; __ity_end != __other.end(); ++__ity_end)_if<__is_swappable<_Tp>::value>::type
1434: 
1434: 
1434: 
1434:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
1434:     noexcept(__is_nothrow_swappable<_Tp>::value)
1434:     {
1434:       for (size_t __n = 0; __n < _Nm; ++__n)
1434:  swap(__a[__n], __b[__n]);
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: # 62 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/utility.h" 1 3
1434: # 36 "/usr/include/c++/12/bits/utility.h" 3
1434:        
1434: # 37 "/usr/include/c++/12/bits/utility.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct tuple_size;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp,
1434:     typename _Up = typename remove_cv<_Tp>::type,
1434:     typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
1434:     size_t = tuple_size<_Tp>::value>
1434:     using __enable_if_has_tuple_size = _Tp;
1434: 
1434:   template<typename _Tp>
1434:     struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
1434:     : public tuple_size<_Tp> { };
1434: 
1434:   template<typename _Tp>
1434:     struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
1434:     : public tuple_size<_Tp> { };
1434: 
1434:   template<typename _Tp>
1434:     struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
1434:     : public tuple_size<_Tp> { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
1434: 
1434: 
1434: 
1434:   template<size_t __i, typename _Tp>
1434:     struct tuple_element;
1434: 
1434: 
1434:   template<size_t __i, typename _Tp>
1434:     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
1434: 
1434:   template<size_t __i, typename _Tp>
1434:     struct tuple_element<__i, const _Tp>
1434:     {
1434:       typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
1434:     };
1434: 
1434:   template<size_t __i, typename _Tp>
1434:     struct tuple_element<__i, volatile _Tp>
1434:     {
1434:       typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
1434:     };
1434: 
1434:   template<size_t __i, typename _Tp>
1434:     struct tuple_element<__i, const volatile _Tp>
1434:     {
1434:       typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename... _Types>
1434:     constexpr size_t
1434:     __find_uniq_type_in_pack()
1434:     {
1434:       constexpr size_t __sz = sizeof...(_Types);
1434:       constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
1434:       size_t __n = __sz;
1434:       for (size_t __i = 0; __i < __sz; ++__i)
1434:  {
1434:    if (__found[__i])
1434:      {
1434:        if (__n < __sz)
1434:   return __sz;
1434:        __n = __i;
1434:      }
1434:  }
1434:       return __n;
1434:     }
1434: # 134 "/usr/include/c++/12/bits/utility.h" 3
1434:   template<size_t __i, typename _Tp>
1434:     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434:   template<size_t... _Indexes> struct _Index_tuple { };
1434: 
1434: 
1434:   template<size_t _Num>
1434:     struct _Build_index_tuple
1434:     {
1434: # 154 "/usr/include/c++/12/bits/utility.h" 3
1434:       using __type = _Index_tuple<__integer_pack(_Num)...>;
1434: 
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, _Tp... _Idx>
1434:     struct integer_sequence
1434:     {
1434:       typedef _Tp value_type;
1434:       static constexpr size_t size() noexcept { return sizeof...(_Idx); }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, _Tp _Num>
1434:     using make_integer_sequence
1434: 
1434: 
1434: 
1434:       = integer_sequence<_Tp, __integer_pack(_Num)...>;
1434: 
1434: 
1434: 
1434:   template<size_t... _Idx>
1434:     using index_sequence = integer_sequence<size_t, _Idx...>;
1434: 
1434: 
1434:   template<size_t _Num>
1434:     using make_index_sequence l& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/SystemGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/SystemGUIInfo.h"
1417:        
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Temperature.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Temperature.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IArchivable.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IArchivable.h"
1417:        
1417: 
1417: class CArchive;
1417: 
1417: class IArchivable
1417: {
1417: protected:
1417: 
1417:   virtual ~IArchivable() = default;
1417: 
1417: public:
1417:   virtual void Archive(CArchive& ar) = 0;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Temperature.h" 2
1417: 
1417: 
1417: 
1417: class CTemperature : public IArchivable
1417: {
1417: public:
1417:   CTemperature();
1417:   CTemperature(const CTemperature& temperature);
1417: 
1417:   typedef enum Unit
1417:   {
1417:     UnitFahrenheit = 0,
1417:     UnitKelvin,
1417:     UnitCelsius,
1417:     UnitReaumur,
1417:     UnitRankine,
1417:     UnitRomer,
1417:     UnitDelisle,
1417:     UnitNewton
1417:   } Unit;
1417: 
1417:   static CTemperature CreateFromFahrenheit(double value);
1417:   static CTemperature CreateFromKelvin(double value);
1417:   static CTemperature CreateFromCelsius(double value);
1417:   static CTemperature CreateFromReaumur(double value);
1417:   static CTemperature CreateFromRankine(double value);
1417:   static CTemperature CreateFromRomer(double value);
1417:   static CTemperature CreateFromDelisle(double value);
1417:   static CTemperature CreateFromNewton(double value);
1417: 
1417:   bool operator >(const CTemperature& right) const;
1417:   bool operator >=(const CTemperature& right) const;
1417:   bool operator <(const CTemperature& right) const;
1417:   bool operator <=(const CTemperature& right) const;
1417:   bool operator ==(const CTemperature& right) const;
1417:   bool operator !=(const CTemperature& right) const;
1417: 
1417:   CTemperature& operator =(const CTemperature& right);
1417:   const CTemperature& operator +=(const CTemperature& right);
1417:   const CTemperature& operator -=(const CTemperature& right);
1417:   const CTemperature& operator *=(const CTemperature& right);
1417:   const CTemperature& operator /=(const CTemperature& right);
1417:   CTemperature operator +(const CTemperature& right) const;
1417:   CTemperature operator -(const CTemperature& right) const;
1417:   CTemperature operator *(const CTemperature& right) const;
1417:   CTemperature operator /(const CTemperature& right) const;
1417: 
1417:   bool operator >(double right) const;
1417:   bool operator >=(double right) const;
1417:   bool operator <(double right) const;
1417:   bool operator <=(double right) const;
1417:   bool operator ==(double right) const;
1417:   bool operator !=(double right) const;
1417: 
1417:   const CTemperature& operator +=(double right);
1417:   const CTemperature& operator -=(double right);
1417:   const CTemperature& operator *=(double right);
1417:   const CTemperature& operator /=(double right);
1417:   CTemperature operator +(double right) const;
1417:   CTemperature operator -(double right) const;
1417:   CTemperature operator *(double right) const;
1417:   CTemperature operator /(double right) const;
1417: 
1417:   CTemperature& operator ++();
1417:   CTemperature& operator --();
1417:   CTemperature operator ++(int);
1417:   CTemperature operator --(int);
1417: 
1417:   void Archive(CArchive& ar) override;
1417: 
1417:   bool IsValid() const;
1417:   void SetValid(bool valid) { m_valid = valid; }
1417: 
1417:   double ToFahrenheit() const;
1417:   double ToKelvin() const;
1417:   double ToCelsius() const;
1417:   double ToReaumur() const;
1417:   double ToRankine() const;

1412:      if (--__x_count == 0)
1412:        break;
1412: 
1412:    if (__x_count != 0)
1412:      return false;
1412: 
1412:    if (!std::is_permutation(__itx, __itx_end, __ity))
1412:      return false;
1412: 
1412:    __itx = __itx_end;
1412:  }
1412:       return true;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _NodeAlloc>
1412:     struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc>
1412:     {
1412:     private:
1412:       using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>;
1412: 
1412:       template<typename>
1412:  struct __get_value_type;
1412:       template<typename _Val, bool _Cache_hash_code>
1412:  struct __get_value_type<_Hash_node<_Val, _Cache_hash_code>>
1412:  { using type = _Val; };
1412: 
1412:     public:
1412:       using __node_type = typename _NodeAlloc::value_type;
1412:       using __node_alloc_type = _NodeAlloc;
1412: 
1412:       using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>;
1412: 
1412:       using __value_alloc_traits = typename __node_alloc_traits::template
1412:  rebind_traits<typename __get_value_type<__node_type>::type>;
1412: 
1412:       using __node_ptr = __node_type*;
1412:       using __node_base = _Hash_node_base;
1412:       using __node_base_ptr = __node_base*;
1412:       using __buckets_alloc_type =
1412:  __alloc_rebind<__node_alloc_type, __node_base_ptr>;
1412:       using __buckets_alloc_traits = std::allocator_traits<__buckets_alloc_type>;
1412:       using __buckets_ptr = __node_base_ptr*;
1412: 
1412:       _Hashtable_alloc() = default;
1412:       _Hashtable_alloc(const _Hashtable_alloc&) = default;
1412:       _Hashtable_alloc(_Hashtable_alloc&&) = default;
1412: 
1412:       template<typename _Alloc>
1412:  _Hashtable_alloc(_Alloc&& __a)
1412:  : __ebo_node_alloc(std::forward<_Alloc>(__a))
1412:  { }
1412: 
1412:       __node_alloc_type&
1412:       _M_node_allocator()
1412:       { return __ebo_node_alloc::_M_get(); }
1412: 
1412:       const __node_alloc_type&
1412:       _M_node_allocator() const
1412:       { return __ebo_node_alloc::_M_cget(); }
1412: 
1412: 
1412:       template<typename... _Args>
1412:  __node_ptr
1412:  _M_allocate_node(_Args&&... __args);
1412: 
1412: 
1412:       void
1412:       _M_deallocate_node(__node_ptr __n);
1412: 
1412: 
1412:       void
1412:       _M_deallocate_node_ptr(__node_ptr __n);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_deallocate_nodes(__node_ptr __n);
1412: 
1412:       __buckets_ptr
1412:       _M_allocate_buckets(std::size_t __bkt_count);
1412: 
1412:       void
1412:       _M_deallocate_buckets(__buckets_ptr, std::size_t __bkt_count);
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _NodeAlloc>
1412:     template<typename... _Args>
1412:       auto
1412:       _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args)
1412:       -> __node_ptr
1412:       {
1412:  auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1);
1412:  __node_ptr __n = std::__to_address(__nptr);
1412:  try
1412:    {
1412:      ::new ((void*)__n) __node_type;
1412:      __node_alloc_traits::construct(_M_node_allocator(),
1412:         __n->_M_valptr(),
1412:         std::forward<_Args>(__args)...);
1412:      return __n;
1412:    }
1412:  catch(...)
1412:    {
1412:      __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1);
1412:      throw;
1412:    }
1412:       }
1412: 
1412:   template<typename _NodeAlloc>
1412:     void
1412:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_ptr __n)
1412:     {
1412:       __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr());
1412:       _M_deallocate_node_ptr(__n);
1412:     }
1412: 
1412:   template<typename _NodeAlloc>
1412:     void
1412:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_ptr __n)
1412:     {
1412:       typedef typename __node_alloc_traits::pointer _Ptr;
1412:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n);
1412:       __n->~__node_type();
1412:       __node_alloc_traits::deallocate(_M_node= make_integer_sequence<size_t, _Num>;
1434: 
1434: 
1434:   template<typename... _Types>
1434:     using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
1434: 
1434: 
1434: 
1434:   struct in_place_t {
1434:     explicit in_place_t() = default;
1434:   };
1434: 
1434:   inline constexpr in_place_t in_place{};
1434: 
1434:   template<typename _Tp> struct in_place_type_t
1434:   {
1434:     explicit in_place_type_t() = default;
1434:   };
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr in_place_type_t<_Tp> in_place_type{};
1434: 
1434:   template<size_t _Idx> struct in_place_index_t
1434:   {
1434:     explicit in_place_index_t() = default;
1434:   };
1434: 
1434:   template<size_t _Idx>
1434:     inline constexpr in_place_index_t<_Idx> in_place_index{};
1434: 
1434:   template<typename>
1434:     inline constexpr bool __is_in_place_type_v = false;
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
1434: 
1434:   template<typename _Tp>
1434:     using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>;
1434: 
1434: 
1434: 
1434: 
1434:   template<size_t _Np, typename... _Types>
1434:     struct _Nth_type
1434:     { };
1434: 
1434:   template<typename _Tp0, typename... _Rest>
1434:     struct _Nth_type<0, _Tp0, _Rest...>
1434:     { using type = _Tp0; };
1434: 
1434:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1434:     struct _Nth_type<1, _Tp0, _Tp1, _Rest...>
1434:     { using type = _Tp1; };
1434: 
1434:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1434:     struct _Nth_type<2, _Tp0, _Tp1, _Tp2, _Rest...>
1434:     { using type = _Tp2; };
1434: 
1434:   template<size_t _Np, typename _Tp0, typename _Tp1, typename _Tp2,
1434:     typename... _Rest>
1434: 
1434: 
1434: 
1434:     struct _Nth_type<_Np, _Tp0, _Tp1, _Tp2, _Rest...>
1434:     : _Nth_type<_Np - 3, _Rest...>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp0, typename _Tp1, typename... _Rest>
1434:     struct _Nth_type<0, _Tp0, _Tp1, _Rest...>
1434:     { using type = _Tp0; };
1434: 
1434:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1434:     struct _Nth_type<0, _Tp0, _Tp1, _Tp2, _Rest...>
1434:     { using type = _Tp0; };
1434: 
1434:   template<typename _Tp0, typename _Tp1, typename _Tp2, typename... _Rest>
1434:     struct _Nth_type<1, _Tp0, _Tp1, _Tp2, _Rest...>
1434:     { using type = _Tp1; };
1434: 
1434: 
1434: 
1434: }
1434: # 63 "/usr/include/c++/12/bits/stl_pair.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 80 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:   struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
1434: 
1434: 
1434:   inline constexpr piecewise_construct_t piecewise_construct =
1434:     piecewise_construct_t();
1434: 
1434: 
1434: 
1434: 
1434:   template<typename...>
1434:     class tuple;
1434: 
1434:   template<size_t...>
1434:     struct _Index_tuple;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <bool, typename _T1, typename _T2>
1434:     struct _PCC
1434:     {
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _ConstructiblePair()
1434:       {
1434:  return __and_<is_constructible<_T1, const _U1&>,
1434:         is_constructible<_T2, const _U2&>>::value;
1434:       }
1434: 
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _ImplicitlyConvertiblePair()
1434:       {
1434:  return __and_<is_convertible<const _U1&, _T1>,
1434:         is_convertible<const _U2&, _T2>>::value;
1434:       }
1434: 
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _MoveConstructiblePair()
1434:       {
1434:  return __and_<is_constructible<_T1, _U1&&>,
1434:         is_constructible<_T2, _U2&&>>::value;
1434:       }
1434: 
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _ImplicitlyMoveCo1417:   double ToRomer() const;
1417:   double ToDelisle() const;
1417:   double ToNewton() const;
1417: 
1417:   double To(Unit temperatureUnit) const;
1417:   std::string ToString(Unit temperatureUnit) const;
1417: 
1417: protected:
1417:   explicit CTemperature(double value);
1417: 
1417:   double m_value;
1417:   bool m_valid;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/SystemGUIInfo.h" 2
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CSystemGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CSystemGUIInfo();
1417:   ~CSystemGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: 
1417:   float GetFPS() const { return m_fps; }
1417:   void UpdateFPS();
1417: 
1417: private:
1417:   std::string GetSystemHeatInfo(int info) const;
1417:   CTemperature GetGPUTemperature() const;
1417: 
1417:   static const int SYSTEM_HEAT_UPDATE_INTERVAL = 60000;
1417: 
1417:   mutable unsigned int m_lastSysHeatInfoTime;
1417:   mutable CTemperature m_gpuTemp;
1417:   mutable CTemperature m_cpuTemp;
1417:   int m_fanSpeed = 0;
1417:   float m_fps = 0.0;
1417:   unsigned int m_frameCounter = 0;
1417:   unsigned int m_lastFPSTime = 0;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/VideoGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/VideoGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CApplicationPlayer;
1417: class CVideoInfoTag;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CVideoGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CVideoGUIInfo();
1417:   ~CVideoGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetFallbackLabel(std::string& value,
1417:                         const CFileItem* item,
1417:                         int contextWindow,
1417:                         const CGUIInfo& info,
1417:                         std::string* fallback) override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: 
1417: private:
1417:   int GetPercentPlayed(const CVideoInfoTag* tag) const;
1417:   bool GetPlaylistInfo(std::string& value, const CGUIInfo& info) const;
1417: 
1417:   const std::shared_ptr<CApplicationPlayer> m_appPlayer;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/VisualisationGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/VisualisationGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CVisualisationGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CVisualisationGUIInfo() = default;
1417:   ~CVisualisationGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, constnvertiblePair()
1434:       {
1434:  return __and_<is_convertible<_U1&&, _T1>,
1434:         is_convertible<_U2&&, _T2>>::value;
1434:       }
1434:     };
1434: 
1434:   template <typename _T1, typename _T2>
1434:     struct _PCC<false, _T1, _T2>
1434:     {
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _ConstructiblePair()
1434:       {
1434:  return false;
1434:       }
1434: 
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _ImplicitlyConvertiblePair()
1434:       {
1434:  return false;
1434:       }
1434: 
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _MoveConstructiblePair()
1434:       {
1434:  return false;
1434:       }
1434: 
1434:       template <typename _U1, typename _U2>
1434:       static constexpr bool _ImplicitlyMoveConvertiblePair()
1434:       {
1434:  return false;
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _U1, typename _U2> class __pair_base
1434:   {
1434: 
1434:     template<typename _T1, typename _T2> friend struct pair;
1434:     __pair_base() = default;
1434:     ~__pair_base() = default;
1434:     __pair_base(const __pair_base&) = default;
1434:     __pair_base& operator=(const __pair_base&) = delete;
1434: 
1434:   };
1434: # 184 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:   template<typename _T1, typename _T2>
1434:     struct pair
1434:     : public __pair_base<_T1, _T2>
1434:     {
1434:       typedef _T1 first_type;
1434:       typedef _T2 second_type;
1434: 
1434:       _T1 first;
1434:       _T2 second;
1434: 
1434: 
1434:       constexpr pair(const pair&) = default;
1434:       constexpr pair(pair&&) = default;
1434: 
1434:       template<typename... _Args1, typename... _Args2>
1434: 
1434:  pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
1434: 
1434: 
1434:       void
1434:       swap(pair& __p)
1434:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1434:         __is_nothrow_swappable<_T2>>::value)
1434:       {
1434:  using std::swap;
1434:  swap(first, __p.first);
1434:  swap(second, __p.second);
1434:       }
1434: 
1434:     private:
1434:       template<typename... _Args1, size_t... _Indexes1,
1434:         typename... _Args2, size_t... _Indexes2>
1434: 
1434:  pair(tuple<_Args1...>&, tuple<_Args2...>&,
1434:       _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
1434:     public:
1434: # 378 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:       template <typename _U1 = _T1,
1434:                 typename _U2 = _T2,
1434:                 typename enable_if<__and_<
1434:                                      __is_implicitly_default_constructible<_U1>,
1434:                                      __is_implicitly_default_constructible<_U2>>
1434:                                    ::value, bool>::type = true>
1434:       constexpr pair()
1434:       : first(), second() { }
1434: 
1434:       template <typename _U1 = _T1,
1434:                 typename _U2 = _T2,
1434:                 typename enable_if<__and_<
1434:                        is_default_constructible<_U1>,
1434:                        is_default_constructible<_U2>,
1434:                        __not_<
1434:                          __and_<__is_implicitly_default_constructible<_U1>,
1434:                                 __is_implicitly_default_constructible<_U2>>>>
1434:                                    ::value, bool>::type = false>
1434:       explicit constexpr pair()
1434:       : first(), second() { }
1434: 
1434: 
1434: 
1434:       using _PCCP = _PCC<true, _T1, _T2>;
1434: 
1434: 
1434: 
1434:       template<typename _U1 = _T1, typename _U2=_T2, typename
1434:         enable_if<_PCCP::template
1434:       _ConstructiblePair<_U1, _U2>()
1434:                   && _PCCP::template
1434:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1434:                          bool>::type=true>
1434:       constexpr pair(const _T1& __a, const _T2& __b)
1434:       : first(__a), second(__b) { }
1434: 
1434: 
1434:        template<typename _U1 = _T1, typename _U2=_T2, _allocator(), __ptr, 1);
1412:     }
1412: 
1412:   template<typename _NodeAlloc>
1412:     void
1412:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_ptr __n)
1412:     {
1412:       while (__n)
1412:  {
1412:    __node_ptr __tmp = __n;
1412:    __n = __n->_M_next();
1412:    _M_deallocate_node(__tmp);
1412:  }
1412:     }
1412: 
1412:   template<typename _NodeAlloc>
1412:     auto
1412:     _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count)
1412:     -> __buckets_ptr
1412:     {
1412:       __buckets_alloc_type __alloc(_M_node_allocator());
1412: 
1412:       auto __ptr = __buckets_alloc_traits::allocate(__alloc, __bkt_count);
1412:       __buckets_ptr __p = std::__to_address(__ptr);
1412:       __builtin_memset(__p, 0, __bkt_count * sizeof(__node_base_ptr));
1412:       return __p;
1412:     }
1412: 
1412:   template<typename _NodeAlloc>
1412:     void
1412:     _Hashtable_alloc<_NodeAlloc>::
1412:     _M_deallocate_buckets(__buckets_ptr __bkts,
1412:      std::size_t __bkt_count)
1412:     {
1412:       typedef typename __buckets_alloc_traits::pointer _Ptr;
1412:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts);
1412:       __buckets_alloc_type __alloc(_M_node_allocator());
1412:       __buckets_alloc_traits::deallocate(__alloc, __ptr, __bkt_count);
1412:     }
1412: 
1412: 
1412: }
1412: 
1412: 
1412: }
1412: # 36 "/usr/include/c++/12/bits/hashtable.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/enable_special_members.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/enable_special_members.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/enable_special_members.h" 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   struct _Enable_default_constructor_tag
1412:   {
1412:     explicit constexpr _Enable_default_constructor_tag() = default;
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template<bool _Switch, typename _Tag = void>
1412:   struct _Enable_default_constructor
1412:   {
1412:     constexpr _Enable_default_constructor() noexcept = default;
1412:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1412:       noexcept = default;
1412:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1412:       noexcept = default;
1412:     _Enable_default_constructor&
1412:     operator=(_Enable_default_constructor const&) noexcept = default;
1412:     _Enable_default_constructor&
1412:     operator=(_Enable_default_constructor&&) noexcept = default;
1412: 
1412: 
1412:     constexpr explicit
1412:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template<bool _Switch, typename _Tag = void>
1412:   struct _Enable_destructor { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template<bool _Copy, bool _CopyAssignment,
1412:          bool _Move, bool _MoveAssignment,
1412:          typename _Tag = void>
1412:   struct _Enable_copy_move { };
1412: # 96 "/usr/include/c++/12/bits/enable_special_members.h" 3
1412: template<bool _Default, bool _Destructor,
1412:          bool _Copy, bool _CopyAssignment,
1412:          bool _Move, bool _MoveAssignment,
1412:          typename _Tag = void>
1412:   struct _Enable_special_members
1412:   : private _Enable_default_constructor<_Default, _Tag>,
1412:     private _Enable_destructor<_Destructor, _Tag>,
1412:     private _Enable_copy_move<_Copy, _CopyAssignment,
1412:                               _Move, _MoveAssignment,
1412:                               _Tag>
1412:   { };
1412: 
1412: 
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_default_constructor<false, _Tag>
1412:   {
1412:     constexpr _Enable_default_constructor() noexcept = delete;
1412:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1412:       noexcept = default;
1412:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1412:       noexcept = default;
1412:     _Enable_default_constructor&
1412: typename
1434:   enable_if<_PCCP::template
1434:        _ConstructiblePair<_U1, _U2>()
1434:                    && !_PCCP::template
1434:        _ImplicitlyConvertiblePair<_U1, _U2>(),
1434:                          bool>::type=false>
1434:       explicit constexpr pair(const _T1& __a, const _T2& __b)
1434:       : first(__a), second(__b) { }
1434: 
1434: 
1434: 
1434:       template <typename _U1, typename _U2>
1434:         using _PCCFP = _PCC<!is_same<_T1, _U1>::value
1434:        || !is_same<_T2, _U2>::value,
1434:        _T1, _T2>;
1434: 
1434: 
1434:       template<typename _U1, typename _U2, typename
1434:         enable_if<_PCCFP<_U1, _U2>::template
1434:       _ConstructiblePair<_U1, _U2>()
1434:                   && _PCCFP<_U1, _U2>::template
1434:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1434:      bool>::type=true>
1434:         constexpr pair(const pair<_U1, _U2>& __p)
1434:         : first(__p.first), second(__p.second) { }
1434: 
1434:       template<typename _U1, typename _U2, typename
1434:         enable_if<_PCCFP<_U1, _U2>::template
1434:       _ConstructiblePair<_U1, _U2>()
1434:     && !_PCCFP<_U1, _U2>::template
1434:       _ImplicitlyConvertiblePair<_U1, _U2>(),
1434:                          bool>::type=false>
1434:  explicit constexpr pair(const pair<_U1, _U2>& __p)
1434:  : first(__p.first), second(__p.second) { }
1434: # 460 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:     private:
1434: 
1434: 
1434: 
1434:       struct __zero_as_null_pointer_constant
1434:       {
1434:  __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
1434:  { }
1434:  template<typename _Tp,
1434:    typename = __enable_if_t<is_null_pointer<_Tp>::value>>
1434:  __zero_as_null_pointer_constant(_Tp) = delete;
1434:       };
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _U1,
1434:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1434:         is_pointer<_T2>,
1434:         is_constructible<_T1, _U1>,
1434:         __not_<is_constructible<_T1, const _U1&>>,
1434:         is_convertible<_U1, _T1>>::value,
1434:         bool> = true>
1434:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1434:  constexpr
1434:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1434:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1434: 
1434:       template<typename _U1,
1434:         __enable_if_t<__and_<__not_<is_reference<_U1>>,
1434:         is_pointer<_T2>,
1434:         is_constructible<_T1, _U1>,
1434:         __not_<is_constructible<_T1, const _U1&>>,
1434:         __not_<is_convertible<_U1, _T1>>>::value,
1434:         bool> = false>
1434:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1434:  explicit constexpr
1434:  pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
1434:  : first(std::forward<_U1>(__x)), second(nullptr) { }
1434: 
1434:       template<typename _U2,
1434:         __enable_if_t<__and_<is_pointer<_T1>,
1434:         __not_<is_reference<_U2>>,
1434:         is_constructible<_T2, _U2>,
1434:         __not_<is_constructible<_T2, const _U2&>>,
1434:         is_convertible<_U2, _T2>>::value,
1434:         bool> = true>
1434:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1434:  constexpr
1434:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1434:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1434: 
1434:       template<typename _U2,
1434:         __enable_if_t<__and_<is_pointer<_T1>,
1434:         __not_<is_reference<_U2>>,
1434:         is_constructible<_T2, _U2>,
1434:         __not_<is_constructible<_T2, const _U2&>>,
1434:         __not_<is_convertible<_U2, _T2>>>::value,
1434:         bool> = false>
1434:  __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
1434:  explicit constexpr
1434:  pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
1434:  : first(nullptr), second(std::forward<_U2>(__y)) { }
1434: 
1434: 
1434: 
1434:       template<typename _U1, typename _U2, typename
1434:         enable_if<_PCCP::template
1434:       _MoveConstructiblePair<_U1, _U2>()
1434:      && _PCCP::template
1434:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1434:                          bool>::type=true>
1434:  constexpr pair(_U1&& __x, _U2&& __y)
1434:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1434: 
1434:       template<typename _U1, typename _U2, typename
1434:         enable_if<_PCCP::template
1434:       _MoveConstructiblePair<_U1, _U2>()
1434:      && !_PCCP::template
1434:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1434:                          bool>::type=false>
1434:  explicit constexpr pair(_U1&& __x, _U2&& __y)
1434:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
1434: 
1434: 
1434:       template<typename _U1, typename _U2, typename
1434:         enable_if<_PCCFP<_U1, _U2>::template
1434:       _MoveConstructiblePair<_U1, _U2>()
1434:      && _PCCFP<_U1, _U2>::template
1434:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1434:                          bool>::type=true>
1434:  constexpr pair(pair<_U1, _U2>&& __p)
1434:  : first(std::forward<_U1>(__p.first)),
1434:    second(std::forward<_U2>(__p.second)) { }
1434: 
1434:       template<typename _U1, typename _U2, typename
1434:         enable_if<_PCCFP<_U1, _U2>::template
1434:       _MoveConstructiblePair<_U1, _U2>()
1434:      && !_PCCFP<_U1, _U2>::template
1434:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
1434:                          bool>::type=false>
1434:  explicit constexpr pair(pair<_U1, _U2>&& __p)
1434:  : first(std::forward<_U1>(__p.first)),
1434:    second(std::forward<_U2>(__p.second)) { }
1434: 
1434:       pair&
1434:       operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
1434:            is_copy_assignable<_T2>>::value,
1434:     const pair&, const __nonesuch&> __p)
1434:       {
1434:  first = __p.first;
1434:  second = __p.second;
1434:  return *this;
1434:       }
1434: 
1434:       pair&
1434:       operator=(__conditional_t<__and_<is_move_assignable<_T1>,
1434:            is_move_assignable<_T2>>::value,
1434:     pair&&, __nonesuch&&> __p)
1434:       noexcept(__and_<is_nothrow_move_assignable<_T1>,
1434:         is_nothrow_move_assignable<_T2>>::value)
1434:       {
1434:  first = std::forward<first_type>(__p.first);
1434:  second = std::forward<second_type>(__p.second);
1434:  return *this;
1434:       }
1434: 
1434:       template<typename _U1, typename _U2>
1434:  typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
1434:       is_assignable<_T2&, const _U2&>>::value,
1434:       pair&>::type
1434:  operator=(const pair<_U1, _U2>& __p)
1434:  {
1434:    first = __p.first;
1434:    second = __p.second;
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _U1, typename _U2>
1434:  typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
1434:       is_assignable<_T2&, _U2&&>>::value,
1434:       pair&>::type
1434:  operator=(pair<_U1, _U2>&& __p)
1434:  {
1434:    first = std::forward<_U1>(__p.first);
1434:    second = std::forward<_U2>(__p.second);
1434:    return *this;
1434:  }
1434: # 629 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
1434: 
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
1434:     inline constexpr bool
1434:     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1434:     { return __x.first == __y.first && __x.second == __y.second; }
1434: # 661 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:   template<typename _T1, typename _T2>
1434:     inline constexpr bool
1434:     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1434:     { return __x.first < __y.first
1434:       || (!(__y.first < __x.first) && __x.second < __y.second); }
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
143 CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/WeatherGUIInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/WeatherGUIInfo.h"
1417:        
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: 
1417: class CWeatherGUIInfo : public CGUIInfoProvider
1417: {
1417: public:
1417:   CWeatherGUIInfo() = default;
1417:   ~CWeatherGUIInfo() override = default;
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item) override;
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const override;
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const override;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h" 2
1417: 
1417: 
1417: 
1417: 
1417: class CFileItem;
1417: class CGUIListItem;
1417: 
1417: struct AudioStreamInfo;
1417: struct VideoStreamInfo;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfo;
1417: class IGUIInfoProvider;
1417: 
1417: class CGUIInfoProviders
1417: {
1417: public:
1417:   CGUIInfoProviders();
1417:   virtual ~CGUIInfoProviders();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void RegisterProvider(IGUIInfoProvider *provider, bool bAppend = true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void UnregisterProvider(IGUIInfoProvider *provider);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool InitCurrentItem(CFileItem *item);
1417: # 78 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h"
1417:   bool GetLabel(std::string& value, const CFileItem *item, int contextWindow, const CGUIInfo &info, std::string *fallback) const;
1417: # 88 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h"
1417:   bool GetInt(int& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const;
1417: # 98 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoProviders.h"
1417:   bool GetBool(bool& value, const CGUIListItem *item, int contextWindow, const CGUIInfo &info) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void UpdateAVInfo(const AudioStreamInfo& audioInfo, const VideoStreamInfo& videoInfo, const SubtitleStreamInfo& subtitleInfo);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CPlayerGUIInfo& GetPlayerInfoProvider() { return m_playerGUIInfo; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CSystemGUIInfo& GetSystemInfoProvider() { return m_systemGUIInfo; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CPicturesGUIInfo& GetPicturesInfoProvider() { return m_picturesGUIInfo; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CGUIControlsGUIInfo& GetGUIControlsInfoProvider() { return m_guiControlsGUIInfo; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CLibraryGUIInfo& GetLibraryInfoProvider() { return m_libraryGUIInfo; }
1417: 
1417: private:
1417:   std::vector<IGUIInfoProvider *> m_providers;
1417: 
1417:   CAddonsGUIInfo m_addonsGUIInfo;
1417:   CGamesGUIInfo m_gamesGUIInfo;
1417:   CGUIControlsGUIInfo m_guiControlsGUIInfo;
1417:   CLibraryGUIInfo m_libraryGUIInfo;
1417:   CMusicGUIInfo m_musicGUIInfo;
1417:   CPicturesGUIInfo m_picturesGUIInfo;
1417:   CPlayerGUIInfo m_playerGUIInfo;
1417:   CSkinGUIInfo m_skinGUIInfo;
1417:   CSystemGUIInfo m_systemGUIInfo;
1417:   CVideoGU    operator=(_Enable_default_constructor const&) noexcept = default;
1412:     _Enable_default_constructor&
1412:     operator=(_Enable_default_constructor&&) noexcept = default;
1412: 
1412: 
1412:     constexpr explicit
1412:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_destructor<false, _Tag>
1412:   { ~_Enable_destructor() noexcept = delete; };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, true, true, true, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = default;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<true, false, true, true, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = default;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, false, true, true, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = default;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<true, true, false, true, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = default;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, true, false, true, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = default;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<true, false, false, true, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = default;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, false, false, true, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator4:     inline constexpr bool
1434:     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
1434:     inline constexpr bool
1434:     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
1434:     inline constexpr bool
1434:     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
1434:     inline constexpr bool
1434:     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
1434:     { return !(__x < __y); }
1434: # 698 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:   template<typename _T1, typename _T2>
1434:     inline
1434: 
1434: 
1434:     typename enable_if<__and_<__is_swappable<_T1>,
1434:                               __is_swappable<_T2>>::value>::type
1434: 
1434: 
1434: 
1434:     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
1434:     typename enable_if<!__and_<__is_swappable<_T1>,
1434:           __is_swappable<_T2>>::value>::type
1434:     swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
1434: # 738 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:   template<typename _T1, typename _T2>
1434:     constexpr pair<typename __decay_and_strip<_T1>::__type,
1434:                    typename __decay_and_strip<_T2>::__type>
1434:     make_pair(_T1&& __x, _T2&& __y)
1434:     {
1434:       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
1434:       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
1434:       typedef pair<__ds_type1, __ds_type2> __pair_type;
1434:       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
1434:     }
1434: # 760 "/usr/include/c++/12/bits/stl_pair.h" 3
1434:   template<typename _T1, typename _T2>
1434:     struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
1434:     { };
1434: 
1434: 
1434:   template<class _Tp1, class _Tp2>
1434:     struct tuple_size<pair<_Tp1, _Tp2>>
1434:     : public integral_constant<size_t, 2> { };
1434: 
1434: 
1434:   template<class _Tp1, class _Tp2>
1434:     struct tuple_element<0, pair<_Tp1, _Tp2>>
1434:     { typedef _Tp1 type; };
1434: 
1434: 
1434:   template<class _Tp1, class _Tp2>
1434:     struct tuple_element<1, pair<_Tp1, _Tp2>>
1434:     { typedef _Tp2 type; };
1434: 
1434: 
1434:   template<typename _Tp1, typename _Tp2>
1434:     inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
1434: 
1434:   template<typename _Tp1, typename _Tp2>
1434:     inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr bool __is_pair = false;
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline constexpr bool __is_pair<const pair<_Tp, _Up>> = true;
1434: 
1434: 
1434: 
1434:   template<size_t _Int>
1434:     struct __pair_get;
1434: 
1434:   template<>
1434:     struct __pair_get<0>
1434:     {
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr _Tp1&
1434:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1434:  { return __pair.first; }
1434: 
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr _Tp1&&
1434:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1434:  { return std::forward<_Tp1>(__pair.first); }
1434: 
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr const _Tp1&
1434:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1434:  { return __pair.first; }
1434: 
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr const _Tp1&&
1434:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1434:  { return std::forward<const _Tp1>(__pair.first); }
1434:     };
1434: 
1434:   template<>
1434:     struct __pair_get<1>
1434:     {
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr _Tp2&
1434:  __get(pair<_Tp1, _Tp2>& __pair) noexcept
1434:  { return __pair.second; }
1434: 
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr _Tp2&&
1434:  __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
1434:  { return std::forward<_Tp2>(__pair.second); }
1434: 
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr const _Tp2&
1434:  __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
1434:  { return __pair.second; }
1434: 
1434:       template<typename _Tp1, typename _Tp2>
1434:  static constexpr const _Tp2&&
1434:  __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
1434:  { return std::forward<const _Tp2>(__pair.second); }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<size_t _Int, class _Tp1, class _Tp2>
1434:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1434:     get(pair<_Tp1, _Tp2>& __in) noexcept
1434:     { return __pair_get<_Int>::__get(__in); }
1434: 
1434:   template<size_t _Int, class _Tp1, class _Tp2>
1434:     constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1434:     get(pair<_Tp1, _Tp2>&& __in) noexcept
1434:     { return __pair_get<_Int>::__move_get(std::move(__in)); }
1434: 
1434:   template<size_t _Int, class _Tp1, class _Tp2>
1434:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
1434:     get(const pair<_Tp1, _Tp2>& __in) noexcept
1434:     { return __pair_get<_Int>::__const_get(__in); }
1434: 
1434:   template<size_t _Int, class _Tp1, class _Tp2>
1434:     constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
1434:     get(const pair<_Tp1, _Tp2>&& __in) noexcept
1434:     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr _Tp&
1434:     get(pair<_Tp, _Up>& __p) noexcept
1434:     { return __p.first; }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr const _Tp&
1434:     get(const pair<_Tp, _Up>& __p) noexcept
1434:     { return __p.first; }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr _Tp&&
1434:     get(pair<_Tp, _Up>&& __p) noexcept
1434:     { return std::move(__p.first); }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr const _Tp&&
1434:     get(const pair<_Tp, _Up>&& __p) noexcept
1434:     { return std::move(__p.first); }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr _Tp&
1434:     get(pair<_Up, _Tp>& __p) noexcept
1434:     { return __p.second; }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr const _Tp&
1434:     get(const pair<_Up, _Tp>& __p) noexcept
1434:     { return __p.second; }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr _Tp&&
1434:     get(pair<_Up, _Tp>&& __p) noexcept
1434:     { return std::move(__p.second); }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:     constexpr const _Tp&&
1434:     get(const pair<_Up, _Tp>&& __p) noexcept
1434:     { return std::move(__p.second); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 1 3
1434: # 62 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1434:        
1434: # 63 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1434: # 74 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 93 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1434:   struct input_iterator_tag { };
1434: 
1434: 
1434:   struct output_iterator_tag { };
1434: 
1434: 
1434:   struct forward_iterator_tag : public input_iterator_tag { };
1434: 
1434: 
1434: 
1434:   struct bidirectional_iterator_tag : public forward_iterator_tag { };
1434: 
1434: 
1434: 
1434:   struct random_accessIInfo m_videoGUIInfo;
1417:   CVisualisationGUIInfo m_visualisationGUIInfo;
1417:   CWeatherGUIInfo m_weatherGUIInfo;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/SkinVariable.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/SkinVariable.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/Info.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/Info.h"
1417:        
1417: 
1417: namespace INFO
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr int DEFAULT_CONTEXT = 0;
1417: }
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIListItem;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417: 
1417: class CGUIInfoLabel
1417: {
1417: public:
1417:   CGUIInfoLabel() = default;
1417:   CGUIInfoLabel(const std::string& label,
1417:                 const std::string& fallback = "",
1417:                 int context = INFO::DEFAULT_CONTEXT);
1417: 
1417:   void SetLabel(const std::string& label,
1417:                 const std::string& fallback,
1417:                 int context = INFO::DEFAULT_CONTEXT);
1417: # 50 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h"
1417:   const std::string &GetLabel(int contextWindow, bool preferImage = false, std::string *fallback = 
1417: # 50 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h" 3 4
1417:                                                                                                   __null
1417: # 50 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h"
1417:                                                                                                       ) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   int GetIntValue(int contextWindow) const;
1417: # 67 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h"
1417:   const std::string &GetItemLabel(const CGUIListItem *item, bool preferImage = false, std::string *fallback = 
1417: # 67 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h" 3 4
1417:                                                                                                              __null
1417: # 67 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h"
1417:                                                                                                                  ) const;
1417: 
1417:   bool IsConstant() const;
1417:   bool IsEmpty() const;
1417: 
1417:   const std::string& GetFallback() const { return m_fallback; }
1417: 
1417:   static std::string GetLabel(const std::string& label,
1417:                               int contextWindow,
1417:                               bool preferImage = false);
1417:   static std::string GetItemLabel(const std::string &label, const CGUIListItem *item, bool preferImage = false);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static std::string ReplaceLocalize(const std::string &label);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static std::string ReplaceAddonStrings(std::string &&label);
1417: 
1417:   typedef std::function<std::string(const std::string&)> StringReplacerFunc;
1417: # 103 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h"
1417:   static bool ReplaceSpecialKeywordReferences(const std::string &strInput, const std::string &strKeyword, const StringReplacerFunc &func, std::string &strOutput);
1417: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabel.h"
1417:   static bool ReplaceSpecialKeywordReferences(std::string &work, const std::string &strKeyword, co=(_Enable_copy_move&&) noexcept = default;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<true, true, true, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, true, true, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<true, false, true, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, false, true, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<true, true, false, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, true, false, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = default;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<true, false, false, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: template<typename _Tag>
1412:   struct _Enable_copy_move<false, false, false, false, _Tag>
1412:   {
1412:     constexpr _Enable_copy_move() noexcept = default;
1412:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1412:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1412_iterator_tag : public bidirectional_iterator_tag { };
1434: # 125 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1434:   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
1434:            typename _Pointer = _Tp*, typename _Reference = _Tp&>
1434:     struct [[__deprecated__]] iterator
1434:     {
1434: 
1434:       typedef _Category iterator_category;
1434: 
1434:       typedef _Tp value_type;
1434: 
1434:       typedef _Distance difference_type;
1434: 
1434:       typedef _Pointer pointer;
1434: 
1434:       typedef _Reference reference;
1434:     };
1434: # 149 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1434:   template<typename _Iterator>
1434:     struct iterator_traits;
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Iterator, typename = __void_t<>>
1434:     struct __iterator_traits { };
1434: 
1434: 
1434: 
1434:   template<typename _Iterator>
1434:     struct __iterator_traits<_Iterator,
1434:         __void_t<typename _Iterator::iterator_category,
1434:           typename _Iterator::value_type,
1434:           typename _Iterator::difference_type,
1434:           typename _Iterator::pointer,
1434:           typename _Iterator::reference>>
1434:     {
1434:       typedef typename _Iterator::iterator_category iterator_category;
1434:       typedef typename _Iterator::value_type value_type;
1434:       typedef typename _Iterator::difference_type difference_type;
1434:       typedef typename _Iterator::pointer pointer;
1434:       typedef typename _Iterator::reference reference;
1434:     };
1434: 
1434: 
1434:   template<typename _Iterator>
1434:     struct iterator_traits
1434:     : public __iterator_traits<_Iterator> { };
1434: # 209 "/usr/include/c++/12/bits/stl_iterator_base_types.h" 3
1434:   template<typename _Tp>
1434:     struct iterator_traits<_Tp*>
1434:     {
1434:       typedef random_access_iterator_tag iterator_category;
1434:       typedef _Tp value_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef _Tp* pointer;
1434:       typedef _Tp& reference;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct iterator_traits<const _Tp*>
1434:     {
1434:       typedef random_access_iterator_tag iterator_category;
1434:       typedef _Tp value_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef const _Tp* pointer;
1434:       typedef const _Tp& reference;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Iter>
1434:     inline constexpr
1434:     typename iterator_traits<_Iter>::iterator_category
1434:     __iterator_category(const _Iter&)
1434:     { return typename iterator_traits<_Iter>::iterator_category(); }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Iter>
1434:     using __iterator_category_t
1434:       = typename iterator_traits<_Iter>::iterator_category;
1434: 
1434:   template<typename _InIter>
1434:     using _RequireInputIter =
1434:       __enable_if_t<is_convertible<__iterator_category_t<_InIter>,
1434:        input_iterator_tag>::value>;
1434: 
1434:   template<typename _It,
1434:     typename _Cat = __iterator_category_t<_It>>
1434:     struct __is_random_access_iter
1434:       : is_base_of<random_access_iterator_tag, _Cat>
1434:     {
1434:       typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
1434:       enum { __value = _Base::value };
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 66 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 1 3
1434: # 62 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1434:        
1434: # 63 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/concept_check.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/concept_check.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/concept_check.h" 3
1434: # 65 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1434: # 1 "/usr/include/c++/12/debug/assertions.h" 1 3
1434: # 66 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 2 3
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template <typename> struct _List_iterator;
1434:   template <typename> struct _List_const_iterator;
1434: 
1434: 
1434:   template<typename _InputIterator>
1434:     inline constexpr
1434:     typename iterator_traits<_InputIterator>::difference_type
1434:     __distance(_InputIterator __first, _InputIterator __last,
1434:                input_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1434:       while (__first != __last)
1434:  {
1434:    ++__first;
1434:    ++__n;
1434:  }
1434:       return __n;
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator>
1434:     inline constexpr
1434:     typename iterator_traits<_RandomAccessIterator>::difference_type
1434:     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:                random_access_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434:       return __last - __first;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     ptrdiff_t
1434:     __distance(std::_List_iterator<_Tp>,
1434:         std::_List_iterator<_Tp>,
1434:         input_iterator_tag);
1434: 
1434:   template<typename _Tp>
1434:     ptrdiff_t
1434:     __distance(std::_List_const_iterator<_Tp>,
1434:         std::_List_const_iterator<_Tp>,
1434:         input_iterator_tag);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _OutputIterator>
1434:     void
1434:     __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
1434: # 143 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1434:   template<typename _InputIterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr
1434:     typename iterator_traits<_InputIterator>::difference_type
1434:     distance(_InputIterator __first, _InputIterator __last)
1434:     {
1434: 
1434:       return std::__distance(__first, __last,
1434:         std::__iterator_category(__first));
1434:     }
1434: 
1434:   template<typename _InputIterator, typename _Distance>
1434:     inline constexpr void
1434:     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
1434:     {
1434: 
1434:      
1434:       do { if (std::__is_constant_evaluated() && !bool(__n >= 0)) __builtin_unreachable(); } while (false);
1434:       while (__n--)
1434:  ++__i;
1434:     }
1434: 
1434:   template<typename _BidirectionalIterator, typename _Distance>
1434:     inline constexpr void
1434:     __advance(_BidirectionalIterator& __i, _Distance __n,
1434:        bidirectional_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434:       if (__n > 0)
1434:         while (__n--)
1434:    ++__i;
1434:       else
1434:         while (__n++)
1434:    --__i;
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Distance>
1434:     inline constexpr void
1434:     __advance(_RandomAccessIterator& __i, _Distance __n,
1434:               random_access_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434:       if (__builtin_constant_p(__n) && __n == 1)
1434:  ++__i;
1434:       else if (__builtin_constant_p(__n) && __n == -1)
1434:  --__i;
1434:       else
1434:  __i += __n;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _OutputIterator, typename _Distance>
1434:     void
1434:     __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete;
1434: # 216 "/usr/include/c++/12/bits/stl_iterator_base_funcs.h" 3
1434:   template<typename _InputIterator, typename _Distance>
1434:     inline constexpr void
1434:     advance(_InputIterator& __i, _Distance __n)
1434:     {
1434: 
1434:       typename iterator_traits<_InputIterator>::difference_type __d = __n;
1434:       std::__advance(__i, __d, std::__iterator_category(__i));
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr _InputIterator
1434:     next(_InputIterator __x, typename
14nst StringReplacerFunc &func);
1417: 
1417: private:
1417:   void Parse(const std::string &label, int context);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const std::string &CacheLabel(bool rebuild) const;
1417: 
1417:   class CInfoPortion
1417:   {
1417:   public:
1417:     CInfoPortion(int info, const std::string &prefix, const std::string &postfix, bool escaped = false);
1417:     bool NeedsUpdate(const std::string &label) const;
1417:     std::string Get() const;
1417:     int m_info;
1417:   private:
1417:     bool m_escaped;
1417:     mutable std::string m_label;
1417:     std::string m_prefix;
1417:     std::string m_postfix;
1417:   };
1417: 
1417:   mutable bool m_dirty = false;
1417:   mutable std::string m_label;
1417:   std::string m_fallback;
1417:   std::vector<CInfoPortion> m_info;
1417: };
1417: 
1417: }
1417: }
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/SkinVariable.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class TiXmlElement;
1417: 
1417: namespace INFO
1417: {
1417: class CSkinVariableString;
1417: 
1417: class CSkinVariable
1417: {
1417: public:
1417:   static const CSkinVariableString* CreateFromXML(const TiXmlElement& node, int context);
1417: };
1417: 
1417: class CSkinVariableString
1417: {
1417: public:
1417:   const std::string& GetName() const;
1417:   int GetContext() const;
1417:   std::string GetValue(int contextWindow,
1417:                        bool preferImage = false,
1417:                        const CGUIListItem* item = nullptr) const;
1417: 
1417: private:
1417:   CSkinVariableString();
1417: 
1417:   std::string m_name;
1417:   int m_context;
1417: 
1417:   struct ConditionLabelPair
1417:   {
1417:     INFO::InfoPtr m_condition;
1417:     KODI::GUILIB::GUIINFO::CGUIInfoLabel m_label;
1417:   };
1417: 
1417:   typedef std::vector<ConditionLabelPair> VECCONDITIONLABELPAIR;
1417:   VECCONDITIONLABELPAIR m_conditionLabelPairs;
1417: 
1417:   friend class CSkinVariable;
1417: };
1417: 
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
1417:        
1417: 
1417: namespace KODI
1417: {
1417: namespace MESSAGING
1417: {
1417: class ThreadMessage;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class IMessageTarget
1417: {
1417: public:
1417:   virtual ~IMessageTarget() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual int GetMessageMask() = 0;
1417: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
1417:   virtual void OnApplicationMessage(ThreadMessage* msg) = 0;
1417: };
1417: }
1417: }
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h" 2
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/set" 1 3
1417: # 58 "/usr/include/c++/12/set" 3
1417:        
1417: # 59 "/usr/include/c++/12/set" 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stl_set.h" 1 3
1417: # 64 "/usr/include/c++/12/bits/stl_set.h" 3
1417: 
1417: # 64 "/usr/include/c++/12/bits/stl_set.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     class multiset;
1417: # 92 "/usr/include/c++/12/bits/stl_set.h" 3
1417:   template<typename _Key, typename _Compare = std::less<_Key>,
1417:     typename _Alloc = std::allocator<_Key> >
1417:     class set
1417:     {
1417: # 108 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1417:    "std::set must have a non-const, non-volatile value_type");
1417: 
1417:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1417:    "std::set must have the same value_type as its allocator");
1417: 
1417: 
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _Key key_type;
1417:       typedef _Key value_type;
1417:       typedef _Compare key_compare;
1417:       typedef _Compare val34:   iterator_traits<_InputIterator>::difference_type __n = 1)
1434:     {
1434: 
1434:      
1434:       std::advance(__x, __n);
1434:       return __x;
1434:     }
1434: 
1434:   template<typename _BidirectionalIterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr _BidirectionalIterator
1434:     prev(_BidirectionalIterator __x, typename
1434:   iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
1434:     {
1434: 
1434:      
1434: 
1434:       std::advance(__x, -__n);
1434:       return __x;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 67 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_iterator.h" 1 3
1434: # 67 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434: # 1 "/usr/include/c++/12/bits/ptr_traits.h" 1 3
1434: # 46 "/usr/include/c++/12/bits/ptr_traits.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   class __undefined;
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __get_first_arg
1434:     { using type = __undefined; };
1434: 
1434:   template<template<typename, typename...> class _SomeTemplate, typename _Tp,
1434:            typename... _Types>
1434:     struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
1434:     { using type = _Tp; };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     struct __replace_first_arg
1434:     { };
1434: 
1434:   template<template<typename, typename...> class _SomeTemplate, typename _Up,
1434:            typename _Tp, typename... _Types>
1434:     struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
1434:     { using type = _SomeTemplate<_Up, _Types...>; };
1434: # 81 "/usr/include/c++/12/bits/ptr_traits.h" 3
1434:   template<typename _Ptr, typename = void>
1434:     struct __ptr_traits_elem : __get_first_arg<_Ptr>
1434:     { };
1434: 
1434: 
1434:   template<typename _Ptr>
1434:     struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
1434:     { using type = typename _Ptr::element_type; };
1434: 
1434:   template<typename _Ptr>
1434:     using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
1434: 
1434: 
1434: 
1434:   template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
1434:     struct __ptr_traits_ptr_to
1434:     {
1434:       using pointer = _Ptr;
1434:       using element_type = _Elt;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static pointer
1434:       pointer_to(element_type& __e)
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       { return pointer::pointer_to(__e); }
1434:     };
1434: 
1434: 
1434:   template<typename _Ptr, typename _Elt>
1434:     struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
1434:     {
1434:       using pointer = _Tp*;
1434:       using element_type = _Tp;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static pointer
1434:       pointer_to(element_type& __r) noexcept
1434:       { return std::addressof(__r); }
1434:     };
1434: 
1434:   template<typename _Ptr, typename _Elt>
1434:     struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
1434:     {
1434:     private:
1434:       template<typename _Tp, typename = void>
1434:  struct __difference { using type = ptrdiff_t; };
1434: 
1434:       template<typename _Tp>
1434: 
1434: 
1434: 
1434: 
1434:  struct __difference<_Tp, __void_t<typename _Tp::difference_type>>
1434: 
1434:  { using type = typename _Tp::difference_type; };
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __rebind : __replace_first_arg<_Tp, _Up> { };
1434: 
1434:       template<typename _Tp, typename _Up>
1434: 
1434: 
1434: 
1434: 
1434:  struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>>
1434: 
1434:  { using type = typename _Tp::template rebind<_Up>; };
1434: 
1434:     public:
1434: 
1434:       using pointer = _Ptr;
1434: 
1434: 
1434:       using element_type = _Elt;
1434: 
1434: 
1434:       using diff:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move const&) noexcept = delete;
1412:     _Enable_copy_move&
1412:     operator=(_Enable_copy_move&&) noexcept = delete;
1412:   };
1412: 
1412: 
1412: 
1412: }
1412: # 37 "/usr/include/c++/12/bits/hashtable.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Hash>
1412:     using __cache_default
1412:       = __not_<__and_<
1412:          __is_fast_hash<_Hash>,
1412: 
1412:          __is_nothrow_invocable<const _Hash&, const _Tp&>>>;
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Equal, typename _Hash, typename _Allocator>
1412:     using _Hashtable_enable_default_ctor
1412:       = _Enable_default_constructor<__and_<is_default_constructible<_Equal>,
1412:            is_default_constructible<_Hash>,
1412:            is_default_constructible<_Allocator>>{},
1412:         __detail::_Hash_node_base>;
1412: # 178 "/usr/include/c++/12/bits/hashtable.h" 3
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     class _Hashtable
1412:     : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal,
1412:            _Hash, _RangeHash, _Unused, _Traits>,
1412:       public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused,
1412:      _RehashPolicy, _Traits>,
1412:       public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:           _Hash, _RangeHash, _Unused,
1412:           _RehashPolicy, _Traits>,
1412:       public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused,
1412:         _RehashPolicy, _Traits>,
1412:       public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:      _Hash, _RangeHash, _Unused,
1412:      _RehashPolicy, _Traits>,
1412:       private __detail::_Hashtable_alloc<
1412:  __alloc_rebind<_Alloc,
1412:          __detail::_Hash_node<_Value,
1412:          _Traits::__hash_cached::value>>>,
1412:       private _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>
1412:     {
1412:       static_assert(is_same<typename remove_cv<_Value>::type, _Value>::value,
1412:    "unordered container must have a non-const, non-volatile value_type");
1412: 
1412:       static_assert(is_same<typename _Alloc::value_type, _Value>{},
1412:    "unordered container must have the same value_type as its allocator");
1412: 
1412: 
1412:       using __traits_type = _Traits;
1412:       using __hash_cached = typename __traits_type::__hash_cached;
1412:       using __constant_iterators = typename __traits_type::__constant_iterators;
1412:       using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>;
1412:       using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>;
1412: 
1412:       using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>;
1412: 
1412:       using __node_value_type =
1412:  __detail::_Hash_node_value<_Value, __hash_cached::value>;
1412:       using __node_ptr = typename __hashtable_alloc::__node_ptr;
1412:       using __value_alloc_traits =
1412:  typename __hashtable_alloc::__value_alloc_traits;
1412:       using __node_alloc_traits =
1412:  typename __hashtable_alloc::__node_alloc_traits;
1412:       using __node_base = typename __hashtable_alloc::__node_base;
1412:       using __node_base_ptr = typename __hashtable_alloc::__node_base_ptr;
1412:       using __buckets_ptr = typename __hashtable_alloc::__buckets_ptr;
1412: 
1412:       using __insert_base = __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey,
1412:            _Equal, _Hash,
1412:            _RangeHash, _Unused,
1412:            _RehashPolicy, _Traits>;
1412:       using __enable_default_ctor
1412:  = _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>;
1412: 
1412:     public:
1412:erence_type = typename __difference<_Ptr>::type;
1434: 
1434: 
1434:       template<typename _Up>
1434:         using rebind = typename __rebind<_Ptr, _Up>::type;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Ptr>
1434:     struct __ptr_traits_impl<_Ptr, __undefined>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Ptr>
1434:     struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
1434:     { };
1434: # 209 "/usr/include/c++/12/bits/ptr_traits.h" 3
1434:   template<typename _Tp>
1434:     struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
1434:     {
1434: 
1434:       typedef _Tp* pointer;
1434: 
1434:       typedef _Tp element_type;
1434: 
1434:       typedef ptrdiff_t difference_type;
1434: 
1434:       template<typename _Up> using rebind = _Up*;
1434:     };
1434: 
1434: 
1434:   template<typename _Ptr, typename _Tp>
1434:     using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
1434: 
1434:   template<typename _Tp>
1434:     constexpr _Tp*
1434:     __to_address(_Tp* __ptr) noexcept
1434:     {
1434:       static_assert(!std::is_function<_Tp>::value, "not a function pointer");
1434:       return __ptr;
1434:     }
1434: 
1434: 
1434:   template<typename _Ptr>
1434:     constexpr typename std::pointer_traits<_Ptr>::element_type*
1434:     __to_address(const _Ptr& __ptr)
1434:     { return std::__to_address(__ptr.operator->()); }
1434: # 282 "/usr/include/c++/12/bits/ptr_traits.h" 3
1434: 
1434: }
1434: # 68 "/usr/include/c++/12/bits/stl_iterator.h" 2 3
1434: # 88 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 109 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: # 131 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Iterator>
1434:     class reverse_iterator
1434:     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
1434:         typename iterator_traits<_Iterator>::value_type,
1434:         typename iterator_traits<_Iterator>::difference_type,
1434:         typename iterator_traits<_Iterator>::pointer,
1434:                       typename iterator_traits<_Iterator>::reference>
1434:     {
1434:       template<typename _Iter>
1434:  friend class reverse_iterator;
1434: # 150 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:     protected:
1434:       _Iterator current;
1434: 
1434:       typedef iterator_traits<_Iterator> __traits_type;
1434: 
1434:     public:
1434:       typedef _Iterator iterator_type;
1434:       typedef typename __traits_type::pointer pointer;
1434: 
1434:       typedef typename __traits_type::difference_type difference_type;
1434:       typedef typename __traits_type::reference reference;
1434: # 181 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:       constexpr
1434:       reverse_iterator()
1434:       noexcept(noexcept(_Iterator()))
1434:       : current()
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434:       explicit constexpr
1434:       reverse_iterator(iterator_type __x)
1434:       noexcept(noexcept(_Iterator(__x)))
1434:       : current(__x)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434:       constexpr
1434:       reverse_iterator(const reverse_iterator& __x)
1434:       noexcept(noexcept(_Iterator(__x.current)))
1434:       : current(__x.current)
1434:       { }
1434: 
1434: 
1434:       reverse_iterator& operator=(const reverse_iterator&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Iter>
1434: 
1434: 
1434: 
1434:  constexpr
1434:         reverse_iterator(const reverse_iterator<_Iter>& __x)
1434:  noexcept(noexcept(_Iterator(__x.current)))
1434:  : current(__x.current)
1434:  { }
1434: 
1434: 
1434:       template<typename _Iter>
1434: 
1434: 
1434: 
1434: 
1434:  constexpr
1434:  reverse_iterator&
1434:  operator=(const reverse_iterator<_Iter>& __x)
1434:  noexcept(noexcept(current = __x.current))
1434:  {ue_compare;
1417:       typedef _Alloc allocator_type;
1417: 
1417: 
1417:     private:
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_Key>::other _Key_alloc_type;
1417: 
1417:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1417:          key_compare, _Key_alloc_type> _Rep_type;
1417:       _Rep_type _M_t;
1417: 
1417:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1417: 
1417:     public:
1417: 
1417: 
1417:       typedef typename _Alloc_traits::pointer pointer;
1417:       typedef typename _Alloc_traits::const_pointer const_pointer;
1417:       typedef typename _Alloc_traits::reference reference;
1417:       typedef typename _Alloc_traits::const_reference const_reference;
1417: 
1417: 
1417: 
1417:       typedef typename _Rep_type::const_iterator iterator;
1417:       typedef typename _Rep_type::const_iterator const_iterator;
1417:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1417:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1417:       typedef typename _Rep_type::size_type size_type;
1417:       typedef typename _Rep_type::difference_type difference_type;
1417: 
1417: 
1417: 
1417:       using node_type = typename _Rep_type::node_type;
1417:       using insert_return_type = typename _Rep_type::insert_return_type;
1417: # 167 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       set() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       set(const _Compare& __comp,
1417:    const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1417: # 190 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       template<typename _InputIterator>
1417:  set(_InputIterator __first, _InputIterator __last)
1417:  : _M_t()
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: # 207 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       template<typename _InputIterator>
1417:  set(_InputIterator __first, _InputIterator __last,
1417:      const _Compare& __comp,
1417:      const allocator_type& __a = allocator_type())
1417:  : _M_t(__comp, _Key_alloc_type(__a))
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: # 223 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       set(const set&) = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       set(set&&) = default;
1417: # 243 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       set(initializer_list<value_type> __l,
1417:    const _Compare& __comp = _Compare(),
1417:    const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Key_alloc_type(__a))
1417:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       explicit
1417:       set(const allocator_type& __a)
1417:       : _M_t(_Key_alloc_type(__a)) { }
1417: 
1417: 
1417:       set(const set& __x, const __type_identity_t<allocator_type>& __a)
1417:       : _M_t(__x._M_t, _Key_alloc_type(__a)) { }
1417: 
1417: 
1417:       set(set&& __x, const __type_identity_t<allocator_type>& __a)
1417:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1417:         && _Alloc_traits::_S_always_equal())
1417:       : _M_t(std::move(__x._M_t), _Key_alloc_type(__a)) { }
1417: 
1417: 
1417:       set(initializer_list<value_type> __l, const allocator_type& __a)
1417:       : _M_t(_Key_alloc_type(__a))
1417:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417:  set(_InputIterator __first, _InputIterator __last,
1417:      const allocator_type& __a)
1417:  : _M_t(_Key_alloc_type(__a))
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~set() = default;
1417: # 297 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       set&
1417:       operator=(const set&) = default;
1417: 
1417: 
1417:       set&
1417:       operator=(set&&) = default;
1417: # 315 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       set&
1417:       operator=(i       typedef _Key key_type;
1412:       typedef _Value value_type;
1412:       typedef _Alloc allocator_type;
1412:       typedef _Equal key_equal;
1412: 
1412: 
1412: 
1412:       typedef typename __value_alloc_traits::pointer pointer;
1412:       typedef typename __value_alloc_traits::const_pointer const_pointer;
1412:       typedef value_type& reference;
1412:       typedef const value_type& const_reference;
1412: 
1412:       using iterator = typename __insert_base::iterator;
1412: 
1412:       using const_iterator = typename __insert_base::const_iterator;
1412: 
1412:       using local_iterator = __detail::_Local_iterator<key_type, _Value,
1412:    _ExtractKey, _Hash, _RangeHash, _Unused,
1412:           __constant_iterators::value,
1412:           __hash_cached::value>;
1412: 
1412:       using const_local_iterator = __detail::_Local_const_iterator<
1412:    key_type, _Value,
1412:    _ExtractKey, _Hash, _RangeHash, _Unused,
1412:    __constant_iterators::value, __hash_cached::value>;
1412: 
1412:     private:
1412:       using __rehash_type = _RehashPolicy;
1412:       using __rehash_state = typename __rehash_type::_State;
1412: 
1412:       using __unique_keys = typename __traits_type::__unique_keys;
1412: 
1412:       using __hashtable_base = __detail::
1412:  _Hashtable_base<_Key, _Value, _ExtractKey,
1412:    _Equal, _Hash, _RangeHash, _Unused, _Traits>;
1412: 
1412:       using __hash_code_base = typename __hashtable_base::__hash_code_base;
1412:       using __hash_code = typename __hashtable_base::__hash_code;
1412:       using __ireturn_type = typename __insert_base::__ireturn_type;
1412: 
1412:       using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey,
1412:           _Equal, _Hash, _RangeHash, _Unused,
1412:           _RehashPolicy, _Traits>;
1412: 
1412:       using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc,
1412:          _ExtractKey, _Equal,
1412:          _Hash, _RangeHash, _Unused,
1412:          _RehashPolicy, _Traits>;
1412: 
1412:       using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey,
1412:          _Equal, _Hash, _RangeHash, _Unused,
1412:          _RehashPolicy, _Traits>;
1412: 
1412:       using __reuse_or_alloc_node_gen_t =
1412:  __detail::_ReuseOrAllocNode<__node_alloc_type>;
1412:       using __alloc_node_gen_t =
1412:  __detail::_AllocNode<__node_alloc_type>;
1412:       using __node_builder_t =
1412:  __detail::_NodeBuilder<_ExtractKey>;
1412: 
1412: 
1412:       struct _Scoped_node
1412:       {
1412: 
1412:  _Scoped_node(__node_ptr __n, __hashtable_alloc* __h)
1412:  : _M_h(__h), _M_node(__n) { }
1412: 
1412: 
1412:  template<typename... _Args>
1412:    _Scoped_node(__hashtable_alloc* __h, _Args&&... __args)
1412:    : _M_h(__h),
1412:      _M_node(__h->_M_allocate_node(std::forward<_Args>(__args)...))
1412:    { }
1412: 
1412: 
1412:  ~_Scoped_node() { if (_M_node) _M_h->_M_deallocate_node(_M_node); };
1412: 
1412:  _Scoped_node(const _Scoped_node&) = delete;
1412:  _Scoped_node& operator=(const _Scoped_node&) = delete;
1412: 
1412:  __hashtable_alloc* _M_h;
1412:  __node_ptr _M_node;
1412:       };
1412: 
1412:       template<typename _Ht>
1412:  static constexpr
1412:  __conditional_t<std::is_lvalue_reference<_Ht>::value,
1412:    const value_type&, value_type&&>
1412:  __fwd_value_for(value_type& __val) noexcept
1412:  { return std::move(__val); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       struct __hash_code_base_access : __hash_code_base
1412:       { using __hash_code_base::_M_bucket_index; };
1412: 
1412: 
1412:       static_assert(is_nothrow_default_constructible<_RangeHash>::value,
1412:       "Functor used to map hash code to bucket index"
1412:       " must be nothrow default constructible");
1412:       static_assert(noexcept(
1412:  std::declval<const _RangeHash&>()((std::size_t)0, (std::size_t)0)),
1412:       "Functor used to map hash code to bucket index must be"
1412:       " noexcept");
1412: 
1412: 
1412:       static_assert(is_nothrow_default_constructible<_ExtractKey>::value,
1412:       "_ExtractK
1434:    current = __x.current;
1434:    return *this;
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr iterator_type
1434:       base() const
1434:       noexcept(noexcept(_Iterator(current)))
1434:       { return current; }
1434: # 258 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:       [[__nodiscard__]]
1434:       constexpr reference
1434:       operator*() const
1434:       {
1434:  _Iterator __tmp = current;
1434:  return *--__tmp;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr pointer
1434:       operator->() const
1434: 
1434: 
1434: 
1434: 
1434:       {
1434: 
1434: 
1434:  _Iterator __tmp = current;
1434:  --__tmp;
1434:  return _S_to_pointer(__tmp);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr reverse_iterator&
1434:       operator++()
1434:       {
1434:  --current;
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr reverse_iterator
1434:       operator++(int)
1434:       {
1434:  reverse_iterator __tmp = *this;
1434:  --current;
1434:  return __tmp;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr reverse_iterator&
1434:       operator--()
1434:       {
1434:  ++current;
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr reverse_iterator
1434:       operator--(int)
1434:       {
1434:  reverse_iterator __tmp = *this;
1434:  ++current;
1434:  return __tmp;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr reverse_iterator
1434:       operator+(difference_type __n) const
1434:       { return reverse_iterator(current - __n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr reverse_iterator&
1434:       operator+=(difference_type __n)
1434:       {
1434:  current -= __n;
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr reverse_iterator
1434:       operator-(difference_type __n) const
1434:       { return reverse_iterator(current + __n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr reverse_iterator&
1434:       operator-=(difference_type __n)
1434:       {
1434:  current += __n;
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr reference
1434:       operator[](difference_type __n) const
1434:       { return *(*this + __n); }
1434: # 418 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:     private:
1434:       template<typename _Tp>
1434:  static constexpr _Tp*
1434:  _S_to_pointer(_Tp* __p)
1434:         { return __p; }
1434: 
1434:       template<typename _Tp>
1434:  static constexpr pointer
1434:  _S_to_pointer(_Tp __t)
1434:         { return __t.operator->(); }
1434:     };
1434: # 441 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator==(const reverse_iterator<_Iterator>& __x,
1434:         const reverse_iterator<_Iterator>& __y)
1434:     { return __x.base() == __y.base(); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator<(const reverse_iterator<_Iterator>& __x,
1434:        const reverse_iterator<_Iterator>& __y)
1434:     { return __y.base() < __x.base(); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator!=(const reverse_iterator<_Iterator>& __x,
1434:         const reverse_iterator<_Iterator>& __y)
1434:     { return !(__x == __y); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>(const reverse_iterator<_Iterator>& __x,
1434:        const reverse_iterator<_Iterator>& __y)
1434:     { return __y < __x; }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator<=(const reverse_iterator<_Iterator>& __x,
1434:         const reverse_iterator<_Iterator>& __y)
1434:     { return !(__y < __x); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>=(const reverse_iterator<_Iterator>& __x,
1434:         const reverse_iterator<_Iterator>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator==(const reverse_iterator<_IteratorL>& __x,
1434:         const reverse_iterator<_IteratorR>& __y)
1434:     { return __x.base() == __y.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator<(const reverse_iterator<_IteratorL>& __x,
1434:        const reverse_iterator<_IteratorR>& __y)
1434:     { return __x.base() > __y.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator!=(const reverse_iterator<_IteratorL>& __x,
1434:         const reverse_iterator<_IteratorR>& __y)
1434:     { return __x.base() != __y.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>(const reverse_iterator<_IteratorL>& __x,
1434:        const reverse_iterator<_IteratorR>& __y)
1434:     { return __x.base() < __y.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     inline constexpr bool
1434:     operator<=(const reverse_iterator<_IteratorL>& __x,
1434:         const reverse_iterator<_IteratorR>& __y)
1434:     { return __x.base() >= __y.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>=(const reverse_iterator<_IteratorL>& __x,
1434:         const reverse_iterator<_IteratorR>& __y)
1434:     { return __x.base() <= __y.base(); }
1434: # 618 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     operator-(const reverse_iterator<_IteratorL>& __x,
1434:        const reverse_iterator<_IteratorR>& __y)
1434:     -> decltype(__y.base() - __x.base())
1434:     { return __y.base() - __x.base(); }
1434: 
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr reverse_iterator<_Iterator>
1434:     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
1434:        const reverse_iterator<_Iterator>& __x)
1434:     { return reverse_iterator<_Iterator>(__x.base() - __n); }
1434: 
1434: 
1434: 
1434:   template<typename _Iterator>
1434:     inline constexpr reverse_iterator<_Iterator>
1434:     __make_reverse_iterator(_Iterator __i)
1434:     { return reverse_iterator<_Iterator>(__i); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr reverse_iterator<_Iterator>
1434:     make_reverse_iterator(_Iterator __i)
1434:     { return reverse_iterator<_Iterator>(__i); }
1434: # 662 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Iterator>
1434:    
1434:     auto
1434:     __niter_base(reverse_iterator<_Iterator> __it)
1434:     -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
1434:     { return __make_reverse_iterator(__niter_base(__it.base())); }
1434: 
1434:   template<typename _Iterator>
1434:     struct __is_move_iterator<reverse_iterator<_Iterator> >
1434:       : __is_move_iterator<_Iterator>
1434:     { };
1434: 
1434:   template<typename _Iterator>
1434:    
1434:     auto
1434:     __miter_base(reverse_iterator<_Iterator> __it)
1434:     -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
1434:    nitializer_list<value_type> __l)
1417:       {
1417:  _M_t._M_assign_unique(__l.begin(), __l.end());
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       key_compare
1417:       key_comp() const
1417:       { return _M_t.key_comp(); }
1417: 
1417:       value_compare
1417:       value_comp() const
1417:       { return _M_t.key_comp(); }
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_t.get_allocator()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       begin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       end() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       rbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       rend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       cbegin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       cend() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       crbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       crend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _M_t.empty(); }
1417: 
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_t.size(); }
1417: 
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _M_t.max_size(); }
1417: # 440 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       void
1417:       swap(set& __x)
1417:       noexcept(__is_nothrow_swappable<_Compare>::value)
1417:       { _M_t.swap(__x._M_t); }
1417: # 460 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       template<typename... _Args>
1417:  std::pair<iterator, bool>
1417:  emplace(_Args&&... __args)
1417:  { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
1417: # 486 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace_hint(const_iterator __pos, _Args&&... __args)
1417:  {
1417:    return _M_t._M_emplace_hint_unique(__pos,
1417:           std::forward<_Args>(__args)...);
1417:  }
1417: # 508 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       std::pair<iterator, bool>
1417:       insert(const value_type& __x)
1417:       {
1417:  std::pair<typename _Rep_type::iterator, bool> __p =
1417:    _M_t._M_insert_unique(__x);
1417:  return std::pair<iterator, bool>(__p.first, __p.second);
1417:       }
1417: 
1417: 
1417:       std::pair<iterator, bool>
1417:       insert(value_type&& __x)
1417:       {
1417:  std::pair<typename _Rep_type::iterator, bool> __p =
1417:    _M_t._M_insert_unique(std::move(__x));
1417:  return std::pair<iterator, bool>(__p.first, __p.second);
1417:       }
1417: # 545 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       iterator
1417:       insert(const_iterator __position, const value_type& __x)
1417:       { return _M_t._M_insert_unique_(__position, __x); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __position, value_type&& __x)
1417:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1417: # 564 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  insert(_InputIterator __first, _InputIterator __last)
1417:  { _M_t._M_insert_range_unique(__first, __last); }
1417: # 577 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       void
1417:       insert(initializer_list<value_type> __l)
1417:       { this->insert(__l.begin(), __l.end()); }
1417: 
1417: 
1417: 
1417:  { return __make_reverse_iterator(__miter_base(__it.base())); }
1434: # 693 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Container>
1434:     class back_insert_iterator
1434:     : public iterator<output_iterator_tag, void, void, void, void>
1434:     {
1434:     protected:
1434:       _Container* container;
1434: 
1434:     public:
1434: 
1434:       typedef _Container container_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       back_insert_iterator(_Container& __x)
1434:       : container(std::__addressof(__x)) { }
1434: # 731 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:      
1434:       back_insert_iterator&
1434:       operator=(const typename _Container::value_type& __value)
1434:       {
1434:  container->push_back(__value);
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       back_insert_iterator&
1434:       operator=(typename _Container::value_type&& __value)
1434:       {
1434:  container->push_back(std::move(__value));
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       back_insert_iterator&
1434:       operator*()
1434:       { return *this; }
1434: 
1434: 
1434:      
1434:       back_insert_iterator&
1434:       operator++()
1434:       { return *this; }
1434: 
1434: 
1434:      
1434:       back_insert_iterator
1434:       operator++(int)
1434:       { return *this; }
1434:     };
1434: # 778 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline back_insert_iterator<_Container>
1434:     back_inserter(_Container& __x)
1434:     { return back_insert_iterator<_Container>(__x); }
1434: # 794 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Container>
1434:     class front_insert_iterator
1434:     : public iterator<output_iterator_tag, void, void, void, void>
1434:     {
1434:     protected:
1434:       _Container* container;
1434: 
1434:     public:
1434: 
1434:       typedef _Container container_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       front_insert_iterator(_Container& __x)
1434:       : container(std::__addressof(__x)) { }
1434: # 832 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:      
1434:       front_insert_iterator&
1434:       operator=(const typename _Container::value_type& __value)
1434:       {
1434:  container->push_front(__value);
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       front_insert_iterator&
1434:       operator=(typename _Container::value_type&& __value)
1434:       {
1434:  container->push_front(std::move(__value));
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       front_insert_iterator&
1434:       operator*()
1434:       { return *this; }
1434: 
1434: 
1434:      
1434:       front_insert_iterator&
1434:       operator++()
1434:       { return *this; }
1434: 
1434: 
1434:      
1434:       front_insert_iterator
1434:       operator++(int)
1434:       { return *this; }
1434:     };
1434: # 879 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline front_insert_iterator<_Container>
1434:     front_inserter(_Container& __x)
1434:     { return front_insert_iterator<_Container>(__x); }
1434: # 899 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Container>
1434:     class insert_iterator
1434:     : public iterator<output_iterator_tag, void, void, void, void>
1434:     {
1434: 
1434: 
1434: 
1434:       typedef typename _Container::iterator _Iter;
1434: 
1434:     protected:
1434:       _Container* container;
1434:       _Iter iter;
1434: 
1434:     public:
1434: 
1434:       typedef _Container container_type;
1434: # 924 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:      
1434:       insert_iterator(_Container& __x, _Iter __i)
1434:       : container(std::__addressof(__x)), iter(__i) {}
1434: # 960 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:      
1434:       insert_iterator&
143ey must be nothrow default constructible");
1412:       static_assert(noexcept(
1412:  std::declval<const _ExtractKey&>()(std::declval<_Value>())),
1412:       "_ExtractKey functor must be noexcept invocable");
1412: 
1412:       template<typename _Keya, typename _Valuea, typename _Alloca,
1412:         typename _ExtractKeya, typename _Equala,
1412:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1412:         typename _RehashPolicya, typename _Traitsa,
1412:         bool _Unique_keysa>
1412:  friend struct __detail::_Map_base;
1412: 
1412:       template<typename _Keya, typename _Valuea, typename _Alloca,
1412:         typename _ExtractKeya, typename _Equala,
1412:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1412:         typename _RehashPolicya, typename _Traitsa>
1412:  friend struct __detail::_Insert_base;
1412: 
1412:       template<typename _Keya, typename _Valuea, typename _Alloca,
1412:         typename _ExtractKeya, typename _Equala,
1412:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1412:         typename _RehashPolicya, typename _Traitsa,
1412:         bool _Constant_iteratorsa>
1412:  friend struct __detail::_Insert;
1412: 
1412:       template<typename _Keya, typename _Valuea, typename _Alloca,
1412:         typename _ExtractKeya, typename _Equala,
1412:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1412:         typename _RehashPolicya, typename _Traitsa,
1412:         bool _Unique_keysa>
1412:  friend struct __detail::_Equality;
1412: 
1412:     public:
1412:       using size_type = typename __hashtable_base::size_type;
1412:       using difference_type = typename __hashtable_base::difference_type;
1412: 
1412: 
1412:       using node_type = _Node_handle<_Key, _Value, __node_alloc_type>;
1412:       using insert_return_type = _Node_insert_return<iterator, node_type>;
1412: 
1412: 
1412:     private:
1412:       __buckets_ptr _M_buckets = &_M_single_bucket;
1412:       size_type _M_bucket_count = 1;
1412:       __node_base _M_before_begin;
1412:       size_type _M_element_count = 0;
1412:       _RehashPolicy _M_rehash_policy;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       __node_base_ptr _M_single_bucket = nullptr;
1412: 
1412:       void
1412:       _M_update_bbegin()
1412:       {
1412:  if (_M_begin())
1412:    _M_buckets[_M_bucket_index(*_M_begin())] = &_M_before_begin;
1412:       }
1412: 
1412:       void
1412:       _M_update_bbegin(__node_ptr __n)
1412:       {
1412:  _M_before_begin._M_nxt = __n;
1412:  _M_update_bbegin();
1412:       }
1412: 
1412:       bool
1412:       _M_uses_single_bucket(__buckets_ptr __bkts) const
1412:       { return __builtin_expect(__bkts == &_M_single_bucket, false); }
1412: 
1412:       bool
1412:       _M_uses_single_bucket() const
1412:       { return _M_uses_single_bucket(_M_buckets); }
1412: 
1412:       static constexpr size_t
1412:       __small_size_threshold() noexcept
1412:       {
1412:  return
1412:    __detail::_Hashtable_hash_traits<_Hash>::__small_size_threshold();
1412:       }
1412: 
1412:       __hashtable_alloc&
1412:       _M_base_alloc() { return *this; }
1412: 
1412:       __buckets_ptr
1412:       _M_allocate_buckets(size_type __bkt_count)
1412:       {
1412:  if (__builtin_expect(__bkt_count == 1, false))
1412:    {
1412:      _M_single_bucket = nullptr;
1412:      return &_M_single_bucket;
1412:    }
1412: 
1412:  return __hashtable_alloc::_M_allocate_buckets(__bkt_count);
1412:       }
1412: 
1412:       void
1412:       _M_deallocate_buckets(__buckets_ptr __bkts, size_type __bkt_count)
1412:       {
1412:  if (_M_uses_single_bucket(__bkts))
1412:    return;
1412: 
1412:  __hashtable_alloc::_M_deallocate_buckets(__bkts, __bkt_count);
1412:       }
1412: 
1412:       void
1412:       _M_deallocate_buckets()
1412:       { _M_deallocate_buckets(_M_buckets, _M_bucket_count); }
1412: 
1412: 
1412: 
1412:       __node_ptr
1412:       _M_bucket_begin(size_type __bkt) const;
1412: 
1412:       __node_ptr
1412:       _M_begin() const
1412:       { return static4:       operator=(const typename _Container::value_type& __value)
1434:       {
1434:  iter = container->insert(iter, __value);
1434:  ++iter;
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       insert_iterator&
1434:       operator=(typename _Container::value_type&& __value)
1434:       {
1434:  iter = container->insert(iter, std::move(__value));
1434:  ++iter;
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       insert_iterator&
1434:       operator*()
1434:       { return *this; }
1434: 
1434: 
1434:      
1434:       insert_iterator&
1434:       operator++()
1434:       { return *this; }
1434: 
1434: 
1434:      
1434:       insert_iterator&
1434:       operator++(int)
1434:       { return *this; }
1434:     };
1434: 
1434: #pragma GCC diagnostic pop
1434: # 1019 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline insert_iterator<_Container>
1434:     inserter(_Container& __x, typename _Container::iterator __i)
1434:     { return insert_iterator<_Container>(__x, __i); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 1042 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Iterator, typename _Container>
1434:     class __normal_iterator
1434:     {
1434:     protected:
1434:       _Iterator _M_current;
1434: 
1434:       typedef std::iterator_traits<_Iterator> __traits_type;
1434: 
1434: 
1434:       template<typename _Iter>
1434:  using __convertible_from
1434:    = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
1434: 
1434: 
1434:     public:
1434:       typedef _Iterator iterator_type;
1434:       typedef typename __traits_type::iterator_category iterator_category;
1434:       typedef typename __traits_type::value_type value_type;
1434:       typedef typename __traits_type::difference_type difference_type;
1434:       typedef typename __traits_type::reference reference;
1434:       typedef typename __traits_type::pointer pointer;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr __normal_iterator() noexcept
1434:       : _M_current(_Iterator()) { }
1434: 
1434:       explicit
1434:       __normal_iterator(const _Iterator& __i) noexcept
1434:       : _M_current(__i) { }
1434: 
1434: 
1434: 
1434:       template<typename _Iter, typename = __convertible_from<_Iter>>
1434: 
1434:  __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
1434:  noexcept
1434: # 1090 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:         : _M_current(__i.base()) { }
1434: 
1434: 
1434:      
1434:       reference
1434:       operator*() const noexcept
1434:       { return *_M_current; }
1434: 
1434:      
1434:       pointer
1434:       operator->() const noexcept
1434:       { return _M_current; }
1434: 
1434:      
1434:       __normal_iterator&
1434:       operator++() noexcept
1434:       {
1434:  ++_M_current;
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       __normal_iterator
1434:       operator++(int) noexcept
1434:       { return __normal_iterator(_M_current++); }
1434: 
1434: 
1434:      
1434:       __normal_iterator&
1434:       operator--() noexcept
1434:       {
1434:  --_M_current;
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       __normal_iterator
1434:       operator--(int) noexcept
1434:       { return __normal_iterator(_M_current--); }
1434: 
1434: 
1434:      
1434:       reference
1434:       operator[](difference_type __n) const noexcept
1434:       { return _M_current[__n]; }
1434: 
1434:      
1434:       __normal_iterator&
1434:       operator+=(difference_type __n) noexcept
1434:       { _M_current += __n; return *this; }
1434: 
1434:      
1434:       __normal_iterator
1434:       operator+(difference_type __n) const noexcept
1434:       { return __normal_iterator(_M_current + __n); }
1434: 
1434:      
1434:       __normal_iterator&
1434:       operator-=(difference_type __n) noexcept
1434:    
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1417:  return _M_t.extract(__pos);
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const key_type& __x)
1417:       { return _M_t.extract(__x); }
1417: 
1417: 
1417:       insert_return_type
1417:       insert(node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1417: 
1417:       template<typename, typename>
1417:  friend struct std::_Rb_tree_merge_helper;
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  merge(set<_Key, _Compare1, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1417:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1417:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1417:  { merge(__source); }
1417: # 652 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(const_iterator __position)
1417:       { return _M_t.erase(__position); }
1417: # 683 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       size_type
1417:       erase(const key_type& __x)
1417:       { return _M_t.erase(__x); }
1417: # 704 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(const_iterator __first, const_iterator __last)
1417:       { return _M_t.erase(__first, __last); }
1417: # 732 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       void
1417:       clear() noexcept
1417:       { _M_t.clear(); }
1417: # 747 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       size_type
1417:       count(const key_type& __x) const
1417:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  count(const _Kt& __x) const
1417:  -> decltype(_M_t._M_count_tr(__x))
1417:  { return _M_t._M_count_tr(__x); }
1417: # 793 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       iterator
1417:       find(const key_type& __x)
1417:       { return _M_t.find(__x); }
1417: 
1417:       const_iterator
1417:       find(const key_type& __x) const
1417:       { return _M_t.find(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x)
1417:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1417:  { return iterator{_M_t._M_find_tr(__x)}; }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x) const
1417:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1417:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1417: # 828 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       iterator
1417:       lower_bound(const key_type& __x)
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417:       const_iterator
1417:       lower_bound(const key_type& __x) const
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x) const
1417:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }_cast<__node_ptr>(_M_before_begin._M_nxt); }
1412: 
1412: 
1412: 
1412:       template<typename _Ht>
1412:  void
1412:  _M_assign_elements(_Ht&&);
1412: 
1412:       template<typename _Ht, typename _NodeGenerator>
1412:  void
1412:  _M_assign(_Ht&&, const _NodeGenerator&);
1412: 
1412:       void
1412:       _M_move_assign(_Hashtable&&, true_type);
1412: 
1412:       void
1412:       _M_move_assign(_Hashtable&&, false_type);
1412: 
1412:       void
1412:       _M_reset() noexcept;
1412: 
1412:       _Hashtable(const _Hash& __h, const _Equal& __eq,
1412:    const allocator_type& __a)
1412:       : __hashtable_base(__h, __eq),
1412:  __hashtable_alloc(__node_alloc_type(__a)),
1412:  __enable_default_ctor(_Enable_default_constructor_tag{})
1412:       { }
1412: 
1412:       template<bool _No_realloc = true>
1412:  static constexpr bool
1412:  _S_nothrow_move()
1412:  {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:    if constexpr (_No_realloc)
1412:      if constexpr (is_nothrow_copy_constructible<_Hash>())
1412:        return is_nothrow_copy_constructible<_Equal>();
1412:    return false;
1412: 
1412:  }
1412: 
1412:       _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1412:    true_type )
1412:  noexcept(_S_nothrow_move());
1412: 
1412:       _Hashtable(_Hashtable&&, __node_alloc_type&&,
1412:    false_type );
1412: 
1412:       template<typename _InputIterator>
1412:  _Hashtable(_InputIterator __first, _InputIterator __last,
1412:      size_type __bkt_count_hint,
1412:      const _Hash&, const _Equal&, const allocator_type&,
1412:      true_type __uks);
1412: 
1412:       template<typename _InputIterator>
1412:  _Hashtable(_InputIterator __first, _InputIterator __last,
1412:      size_type __bkt_count_hint,
1412:      const _Hash&, const _Equal&, const allocator_type&,
1412:      false_type __uks);
1412: 
1412:     public:
1412: 
1412:       _Hashtable() = default;
1412: 
1412:       _Hashtable(const _Hashtable&);
1412: 
1412:       _Hashtable(const _Hashtable&, const allocator_type&);
1412: 
1412:       explicit
1412:       _Hashtable(size_type __bkt_count_hint,
1412:    const _Hash& __hf = _Hash(),
1412:    const key_equal& __eql = key_equal(),
1412:    const allocator_type& __a = allocator_type());
1412: 
1412: 
1412:       _Hashtable(_Hashtable&& __ht)
1412:  noexcept(_S_nothrow_move())
1412:       : _Hashtable(std::move(__ht), std::move(__ht._M_node_allocator()),
1412:      true_type{})
1412:       { }
1412: 
1412:       _Hashtable(_Hashtable&& __ht, const allocator_type& __a)
1412:  noexcept(_S_nothrow_move<__node_alloc_traits::_S_always_equal()>())
1412:       : _Hashtable(std::move(__ht), __node_alloc_type(__a),
1412:      typename __node_alloc_traits::is_always_equal{})
1412:       { }
1412: 
1412:       explicit
1412:       _Hashtable(const allocator_type& __a)
1412:       : __hashtable_alloc(__node_alloc_type(__a)),
1412:  __enable_default_ctor(_Enable_default_constructor_tag{})
1412:       { }
1412: 
1412:       template<typename _InputIterator>
1412:  _Hashtable(_InputIterator __f, _InputIterator __l,
1412:      size_type __bkt_count_hint = 0,
1412:      const _Hash& __hf = _Hash(),
1412:      const key_equal& __eql = key_equal(),
1412:      const allocator_type& __a = allocator_type())
1412:  : _Hashtable(__f, __l, __bkt_count_hint, __hf, __eql, __a,
1412:        __unique_keys{})
1412:  { }
1412: 
1412:       _Hashtable(initializer_list<value_type> __l,
1412:    size_type __bkt_count_hint = 0,
1412:    const _Hash& __hf = _Hash(),
1412:    const key_equal& __eql = key_equal(),
1412:    const allocator_type& __a = allocator_type())
1412:       : _Hashtable(__l.begin(), __l.end(), __bkt_count_hint,
1412:      __hf, __eql, __a, __unique_keys{})
1412:       { }
1412: 
1412:       _Hashtable&
1412:       operator=(const _Hashtable& __ht);
1412: 
1412:       _Hashtable&
1412:       operator=(_Hashtable&& __ht)
1412:       noexcept(__node_alloc_traits::_S_nothrow_move()
1412:         && is_nothrow_move_assignable<_Hash>::value
1412:         && is_nothrow_move_assignable<_Equal>::value)
1412:       {
1412:  cons   { _M_current -= __n; return *this; }
1434: 
1434:      
1434:       __normal_iterator
1434:       operator-(difference_type __n) const noexcept
1434:       { return __normal_iterator(_M_current - __n); }
1434: 
1434:      
1434:       const _Iterator&
1434:       base() const noexcept
1434:       { return _M_current; }
1434:     };
1434: # 1210 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
1434:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() == __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
1434:         const __normal_iterator<_Iterator, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() == __rhs.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1434:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() != __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
1434:         const __normal_iterator<_Iterator, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() != __rhs.base(); }
1434: 
1434: 
1434:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
1434:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() < __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
1434:        const __normal_iterator<_Iterator, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() < __rhs.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
1434:        const __normal_iterator<_IteratorR, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() > __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
1434:        const __normal_iterator<_Iterator, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() > __rhs.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1434:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() <= __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
1434:         const __normal_iterator<_Iterator, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() <= __rhs.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
1434:         const __normal_iterator<_IteratorR, _Container>& __rhs)
1434:     
1417: # 858 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       iterator
1417:       upper_bound(const key_type& __x)
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417:       const_iterator
1417:       upper_bound(const key_type& __x) const
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x) const
1417:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1417: # 897 "/usr/include/c++/12/bits/stl_set.h" 3
1417:       std::pair<iterator, iterator>
1417:       equal_range(const key_type& __x)
1417:       { return _M_t.equal_range(__x); }
1417: 
1417:       std::pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __x) const
1417:       { return _M_t.equal_range(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x)
1417:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1417:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x) const
1417:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1417:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1417: 
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator,
1417:     typename _Compare =
1417:       less<typename iterator_traits<_InputIterator>::value_type>,
1417:     typename _Allocator =
1417:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     set(_InputIterator, _InputIterator,
1417:  _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> set<typename iterator_traits<_InputIterator>::value_type,
1417:    _Compare, _Allocator>;
1417: 
1417:   template<typename _Key, typename _Compare = less<_Key>,
1417:     typename _Allocator = allocator<_Key>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     set(initializer_list<_Key>,
1417:  _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> set<_Key, _Compare, _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     set(_InputIterator, _InputIterator, _Allocator)
1417:     -> set<typename iterator_traits<_InputIterator>::value_type,
1417:     less<typename iterator_traits<_InputIterator>::value_type>,
1417:     _Allocator>;
1417: 
1417:   template<typename _Key, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     set(initializer_list<_Key>, _Allocator)
1417:     -> set<_Key, less<_Key>, _Allocator>;
1417: # 983 "/usr/include/c++/12/bits/stl_set.h" 3
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator==(const set<_Key, _Compare, _Alloc>& __x,
1417:         const set<_Key, _Compare, _Alloc>& __y)
1417:     { return __x._M_t == __y._M_t; }
1417: # 1021 "/usr/include/c++/12/bits/stl_set.h" 3
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<(const set<_Key, _Compare, _Alloc>& __x,
1417:        const set<_Key, _Comparenoexcept
1434:     { return __lhs.base() >= __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
1434:         const __normal_iterator<_Iterator, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() >= __rhs.base(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _IteratorL, typename _IteratorR, typename _Container>
1434: 
1434: 
1434:     [[__nodiscard__]]
1434:     inline auto
1434:     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
1434:        const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
1434:     -> decltype(__lhs.base() - __rhs.base())
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     { return __lhs.base() - __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline typename __normal_iterator<_Iterator, _Container>::difference_type
1434:     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
1434:        const __normal_iterator<_Iterator, _Container>& __rhs)
1434:     noexcept
1434:     { return __lhs.base() - __rhs.base(); }
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     [[__nodiscard__]]
1434:     inline __normal_iterator<_Iterator, _Container>
1434:     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
1434:        __n, const __normal_iterator<_Iterator, _Container>& __i)
1434:     noexcept
1434:     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
1434: 
1434: 
1434: }
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:    
1434:     _Iterator
1434:     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
1434:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1434:     { return __it.base(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Iterator, typename _Container>
1434:     constexpr auto
1434:     __to_address(const __gnu_cxx::__normal_iterator<_Iterator,
1434:           _Container>& __it) noexcept
1434:     -> decltype(std::__to_address(__it.base()))
1434:     { return std::__to_address(__it.base()); }
1434: # 1417 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   namespace __detail
1434:   {
1434: # 1433 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   }
1434: # 1444 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Iterator>
1434:     class move_iterator
1434: 
1434: 
1434: 
1434:     {
1434:       _Iterator _M_current;
1434: 
1434:       using __traits_type = iterator_traits<_Iterator>;
1434: 
1434:       using __base_ref = typename __traits_type::reference;
1434: 
1434: 
1434:       template<typename _Iter2>
1434:  friend class move_iterator;
1434: # 1468 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:     public:
1434:       using iterator_type = _Iterator;
1434: # 1479 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:       typedef typename __traits_type::iterator_category iterator_category;
1434:       typedef typename __traits_type::value_type value_type;
1434:       typedef typename __traits_type::difference_type difference_type;
1434: 
1434:       typedef _Iterator pointer;
1434: 
1434: 
1434:       using reference
1434:  = __conditional_t<is_reference<__base_ref>::value,
1434:      typename remove_reference<__base_ref>::type&&,
1434:      __base_ref>;
1434: 
1434: 
1434:       constexpr
1434:       move_iterator()
1434:       : _M_current() { }
1434: 
1434:       explicit constexpr
1434:       move_iterator(iterator_type __i)
1434:       : _M_current(std::move(__i)) { }
1434: 
1434:       template<typename _Iter>
1434: 
1434: 
1434: 
1434:  constexpr
1434:  move_iterator(const move_iterator<_Iter>& __i)
1434:  : _M_current(__i._M_current) { }
1434: 
1434:       template<typename _Iter>
1434: 
1434: 
1434: 
1434: 
1434:  constexpr
1434:  move_iterator& operator=(const move_iterator<_Iter>& __i)
1434:  {
1434:    _M_current = __i._M_current;
1434:    return *this;
1434:  }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr iterator_type
1434:       base() const
1434:       { return _M_current; }
1434: # 1537 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:       [[__nodiscard__]]
1434:       constexpr reference
1434:       operator*() const
1434: 
1434: 
1434: 
1434:       { return static_cast<reference>(*_M_current); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr pointer
1434:       operator->() const
1434:       { return _M_current; }
1434: 
1434:       constexpr move_iterator&
1434:       operator++()
1434:       {
1434:  ++_M_current;
1434:  return *this;
1434:       }
1434: 
1434:       constexpr move_iterator
1434:       operator++(int)
1434:       {
1434:  move_iterator __tmp = *this;
1434:  ++_M_current;
1434:  return __tmp;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr move_iterator&
1434:       operator--()
1434:       {
1434:  --_M_current;
1434:  return *this;
1434:       }
1434: 
1434:       constexpr move_iterator
1434:       operator--(int)
1434:       {
1434:  move_iterator __tmp = *this;
1434:  --_M_current;
1434:  return __tmp;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr move_iterator
1434:       operator+(difference_type __n) const
1434:       { return move_iterator(_M_current + __n); }
1434: 
1434:       constexpr move_iterator&
1434:       operator+=(difference_type __n)
1434:       {
1434:  _M_current += __n;
1434:  return *this;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr move_iterator
1434:       operator-(difference_type __n) const
1434:       { return move_iterator(_M_current - __n); }
1434: 
1434:       constexpr move_iterator&
1434:       operator-=(difference_type __n)
1434:       {
1434:  _M_current -= __n;
1434:  return *this;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr reference
1434:       operator[](difference_type __n) const
1434: 
1434: 
1434: 
1434:       { return std::move(_M_current[__n]); }
1434: # 1651 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:     };
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator==(const move_iterator<_IteratorL>& __x,
1434:         const move_iterator<_IteratorR>& __y)
1434: 
1434: 
1434: 
1434:     { return __x.base() == __y.base(); }
1434: # 1672 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator!=(const move_iterator<_IteratorL>& __x,
1434:         const move_iterator<_IteratorR>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator<(const move_iterator<_IteratorL>& __x,
1434:        const move_iterator<_IteratorR>& __y)
1434: 
1434: 
1434: 
1434:     { return __x.base() < __y.base(); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator<=(const move_iterator<_IteratorL>& __x,
1434:         const move_iterator<_IteratorR>& __y)
1434: 
1434: 
1434: 
1434:     { return !(__y < __x); }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>(const move_iterator<_IteratorL>& __x,
1434:        const move_iterator<_IteratorR>& __y)
1434: 
1434: 
1434: 
1434:     { return __y < __x; }
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>=(const move_iterator<_IteratorL>& __x,
1434:         const move_iterator<_IteratorR>& __y)
1434: 
1434: 
1434: 
1434:     { return !(__x < __y); }
1434: 
143texpr bool __move_storage =
1412:    __node_alloc_traits::_S_propagate_on_move_assign()
1412:    || __node_alloc_traits::_S_always_equal();
1412:  _M_move_assign(std::move(__ht), __bool_constant<__move_storage>());
1412:  return *this;
1412:       }
1412: 
1412:       _Hashtable&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1412:  _M_before_begin._M_nxt = nullptr;
1412:  clear();
1412: 
1412: 
1412:  auto __l_bkt_count = _M_rehash_policy._M_bkt_for_elements(__l.size());
1412: 
1412: 
1412:  if (_M_bucket_count < __l_bkt_count)
1412:    rehash(__l_bkt_count);
1412: 
1412:  this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys{});
1412:  return *this;
1412:       }
1412: 
1412:       ~_Hashtable() noexcept;
1412: 
1412:       void
1412:       swap(_Hashtable&)
1412:       noexcept(__and_<__is_nothrow_swappable<_Hash>,
1412:         __is_nothrow_swappable<_Equal>>::value);
1412: 
1412: 
1412:       iterator
1412:       begin() noexcept
1412:       { return iterator(_M_begin()); }
1412: 
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return const_iterator(_M_begin()); }
1412: 
1412:       iterator
1412:       end() noexcept
1412:       { return iterator(nullptr); }
1412: 
1412:       const_iterator
1412:       end() const noexcept
1412:       { return const_iterator(nullptr); }
1412: 
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return const_iterator(_M_begin()); }
1412: 
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return const_iterator(nullptr); }
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_element_count; }
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return size() == 0; }
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(this->_M_node_allocator()); }
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return __node_alloc_traits::max_size(this->_M_node_allocator()); }
1412: 
1412: 
1412:       key_equal
1412:       key_eq() const
1412:       { return this->_M_eq(); }
1412: 
1412: 
1412: 
1412: 
1412:       size_type
1412:       bucket_count() const noexcept
1412:       { return _M_bucket_count; }
1412: 
1412:       size_type
1412:       max_bucket_count() const noexcept
1412:       { return max_size(); }
1412: 
1412:       size_type
1412:       bucket_size(size_type __bkt) const
1412:       { return std::distance(begin(__bkt), end(__bkt)); }
1412: 
1412:       size_type
1412:       bucket(const key_type& __k) const
1412:       { return _M_bucket_index(this->_M_hash_code(__k)); }
1412: 
1412:       local_iterator
1412:       begin(size_type __bkt)
1412:       {
1412:  return local_iterator(*this, _M_bucket_begin(__bkt),
1412:          __bkt, _M_bucket_count);
1412:       }
1412: 
1412:       local_iterator
1412:       end(size_type __bkt)
1412:       { return local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1412: 
1412:       const_local_iterator
1412:       begin(size_type __bkt) const
1412:       {
1412:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1412:         __bkt, _M_bucket_count);
1412:       }
1412: 
1412:       const_local_iterator
1412:       end(size_type __bkt) const
1412:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1412: 
1412: 
1412:       const_local_iterator
1412:       cbegin(size_type __bkt) const
1412:       {
1412:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1412:         __bkt, _M_bucket_count);
1412:       }
1412: 
1412:       const_local_iterator
1412:       cend(size_type __bkt) const
1412:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1412: 
1412:       float
1412:       load_factor() const noexcept
1412:       {
1412:  return static_cast<float>(size()) / static_cast<float>(bucket_count());
1412:       }
1412: 
1412: 
1412: 
1, _Alloc>& __y)
1417:     { return __x._M_t < __y._M_t; }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator!=(const set<_Key, _Compare, _Alloc>& __x,
1417:         const set<_Key, _Compare, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>(const set<_Key, _Compare, _Alloc>& __x,
1417:        const set<_Key, _Compare, _Alloc>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<=(const set<_Key, _Compare, _Alloc>& __x,
1417:         const set<_Key, _Compare, _Alloc>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>=(const set<_Key, _Compare, _Alloc>& __x,
1417:         const set<_Key, _Compare, _Alloc>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline void
1417:     swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1417:     struct
1417:     _Rb_tree_merge_helper<std::set<_Val, _Cmp1, _Alloc>, _Cmp2>
1417:     {
1417:     private:
1417:       friend class std::set<_Val, _Cmp1, _Alloc>;
1417: 
1417:       static auto&
1417:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1417:       { return __set._M_t; }
1417: 
1417:       static auto&
1417:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1417:       { return __set._M_t; }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/set" 2 3
1417: # 1 "/usr/include/c++/12/bits/stl_multiset.h" 1 3
1417: # 64 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     class set;
1417: # 94 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:   template <typename _Key, typename _Compare = std::less<_Key>,
1417:      typename _Alloc = std::allocator<_Key> >
1417:     class multiset
1417:     {
1417: # 110 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1417:    "std::multiset must have a non-const, non-volatile value_type");
1417: 
1417:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1417:    "std::multiset must have the same value_type as its allocator");
1417: 
1417: 
1417: 
1417:     public:
1417: 
1417:       typedef _Key key_type;
1417:       typedef _Key value_type;
1417:       typedef _Compare key_compare;
1417:       typedef _Compare value_compare;
1417:       typedef _Alloc allocator_type;
1417: 
1417:     private:
1417: 
1417:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1417:  rebind<_Key>::other _Key_alloc_type;
1417: 
1417:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1417:          key_compare, _Key_alloc_type> _Rep_type;
1417: 
1417:       _Rep_type _M_t;
1417: 
1417:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1417: 
1417:     public:
1417:       typedef typename _Alloc_traits::pointer pointer;
1417:       typedef typename _Alloc_traits::const_pointer const_pointer;
1417:       typedef typename _Alloc_traits::reference reference;
1417:       typedef typename _Alloc_traits::const_reference const_reference;
1417: 
1417: 
1417: 
1417:       typedef typename _Rep_type::const_iterator iterator;
1417:       typedef typename _Rep_type::const_iterator const_iterator;
1417:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1417:       typedef typename _Rep_type::const_reverse_4: 
1434: 
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator==(const move_iterator<_Iterator>& __x,
1434:         const move_iterator<_Iterator>& __y)
1434:     { return __x.base() == __y.base(); }
1434: # 1738 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator!=(const move_iterator<_Iterator>& __x,
1434:         const move_iterator<_Iterator>& __y)
1434:     { return !(__x == __y); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator<(const move_iterator<_Iterator>& __x,
1434:        const move_iterator<_Iterator>& __y)
1434:     { return __x.base() < __y.base(); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator<=(const move_iterator<_Iterator>& __x,
1434:         const move_iterator<_Iterator>& __y)
1434:     { return !(__y < __x); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>(const move_iterator<_Iterator>& __x,
1434:        const move_iterator<_Iterator>& __y)
1434:     { return __y < __x; }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr bool
1434:     operator>=(const move_iterator<_Iterator>& __x,
1434:         const move_iterator<_Iterator>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _IteratorL, typename _IteratorR>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     operator-(const move_iterator<_IteratorL>& __x,
1434:        const move_iterator<_IteratorR>& __y)
1434:     -> decltype(__x.base() - __y.base())
1434:     { return __x.base() - __y.base(); }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr move_iterator<_Iterator>
1434:     operator+(typename move_iterator<_Iterator>::difference_type __n,
1434:        const move_iterator<_Iterator>& __x)
1434:     { return __x + __n; }
1434: 
1434:   template<typename _Iterator>
1434:     [[__nodiscard__]]
1434:     inline constexpr move_iterator<_Iterator>
1434:     make_move_iterator(_Iterator __i)
1434:     { return move_iterator<_Iterator>(std::move(__i)); }
1434: 
1434:   template<typename _Iterator, typename _ReturnType
1434:     = __conditional_t<__move_if_noexcept_cond
1434:       <typename iterator_traits<_Iterator>::value_type>::value,
1434:   _Iterator, move_iterator<_Iterator>>>
1434:     inline constexpr _ReturnType
1434:     __make_move_if_noexcept_iterator(_Iterator __i)
1434:     { return _ReturnType(__i); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _ReturnType
1434:     = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
1434:         const _Tp*, move_iterator<_Tp*>>>
1434:     inline constexpr _ReturnType
1434:     __make_move_if_noexcept_iterator(_Tp* __i)
1434:     { return _ReturnType(__i); }
1434: # 2552 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _Iterator>
1434:    
1434:     auto
1434:     __niter_base(move_iterator<_Iterator> __it)
1434:     -> decltype(make_move_iterator(__niter_base(__it.base())))
1434:     { return make_move_iterator(__niter_base(__it.base())); }
1434: 
1434:   template<typename _Iterator>
1434:     struct __is_move_iterator<move_iterator<_Iterator> >
1434:     {
1434:       enum { __value = 1 };
1434:       typedef __true_type __type;
1434:     };
1434: 
1434:   template<typename _Iterator>
1434:    
1434:     auto
1434:     __miter_base(move_iterator<_Iterator> __it)
1434:     -> decltype(__miter_base(__it.base()))
1434:     { return __miter_base(__it.base()); }
1434: # 2584 "/usr/include/c++/12/bits/stl_iterator.h" 3
1434:   template<typename _InputIterator>
1434:     using __iter_key_t = remove_const_t<
1434:     typename iterator_traits<_InputIterator>::value_type::first_type>;
1434: 
1434:   template<typename _InputIterator>
1434:     using __iter_val_t =
1434:     typename iterator_traits<_InputIterator>::value_type::second_type;
1434: 
1434:   template<typename _T1, typename _T2>
1434:     struct pair;
1434: 
1434:   template<typename _InputIterator>
1434:     using __iter_to_alloc_t =
1434:     pair<add_const_t<__iter_key_t<_InputIterator>>,
1434:   __iter_val_t<_InputIterator>>;
1434: 
1434: 
1434: 
1434: }
1434: # 68 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/debug/debug.h" 1 3
1434: # 48 "/usr/include/c++/12/debug/debug.h" 3
1434: namespace std
1434: {
1434:   namespace __debug { }
1434: }
1434: 
1434: 
1434: 
1434: 
1434: namespace __gnu_debug
1434: {
1434:   using namespace std::__debug;
1434: 
1434:   template<typename _Ite, typename _Seq, typename _Cat>
1434:     struct _Safe_iterator;
1434: }
1434: # 70 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/predefined_ops.h" 1 3
1434: # 35 "/usr/include/c++/12/bits/predefined_ops.h" 3
1434: namespace __gnu_cxx
1434: {
1434: namespace __ops
1434: {
1434:   struct _Iter_less_iter
1434:   {
1434:     template<typename _Iterator1, typename _Iterator2>
1434:       constexpr
1434:       bool
1434:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1434:       { return *__it1 < *__it2; }
1434:   };
1434: 
1434:   constexpr
1434:   inline _Iter_less_iter
1434:   __iter_less_iter()
1434:   { return _Iter_less_iter(); }
1434: 
1434:   struct _Iter_less_val
1434:   {
1434: 
1434:     constexpr _Iter_less_val() = default;
1434: 
1434: 
1434: 
1434: 
1434:    
1434:     explicit
1434:     _Iter_less_val(_Iter_less_iter) { }
1434: 
1434:     template<typename _Iterator, typename _Value>
1434:      
1434:       bool
1434:       operator()(_Iterator __it, _Value& __val) const
1434:       { return *__it < __val; }
1434:   };
1434: 
1434:  
1434:   inline _Iter_less_val
1434:   __iter_less_val()
1434:   { return _Iter_less_val(); }
1434: 
1434:  
1434:   inline _Iter_less_val
1434:   __iter_comp_val(_Iter_less_iter)
1434:   { return _Iter_less_val(); }
1434: 
1434:   struct _Val_less_iter
1434:   {
1434: 
1434:     constexpr _Val_less_iter() = default;
1434: 
1434: 
1434: 
1434: 
1434:    
1434:     explicit
1434:     _Val_less_iter(_Iter_less_iter) { }
1434: 
1434:     template<typename _Value, typename _Iterator>
1434:      
1434:       bool
1434:       operator()(_Value& __val, _Iterator __it) const
1434:       { return __val < *__it; }
1434:   };
1434: 
1434:  
1434:   inline _Val_less_iter
1434:   __val_less_iter()
1434:   { return _Val_less_iter(); }
1434: 
1434:  
1434:   inline _Val_less_iter
1434:   __val_comp_iter(_Iter_less_iter)
1434:   { return _Val_less_iter(); }
1434: 
1434:   struct _Iter_equal_to_iter
1434:   {
1434:     template<typename _Iterator1, typename _Iterator2>
1434:      
1434:       bool
1434:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
1434:       { return *__it1 == *__it2; }
1434:   };
1434: 
1434:  
1434:   inline _Iter_equal_to_iter
1434:   __iter_equal_to_iter()
1434:   { return _Iter_equal_to_iter(); }
1434: 
1434:   struct _Iter_equal_to_val
1434:   {
1434:     template<typename _Iterator, typename _Value>
1434:      
1434:       bool
1434:       operator()(_Iterator __it, _Value& __val) const
1434:       { return *__it == __val; }
1434:   };
1434: 
1434:  
1434:   inline _Iter_equal_to_val
1434:   __iter_equal_to_val()
1434:   { return _Iter_equal_to_val(); }
1434: 
1434:  
1434:   inline _Iter_equal_to_val
1434:   __iter_comp_val(_Iter_equal_to_iter)
1434:   { return _Iter_equal_to_val(); }
1434: 
1434:   template<typename _Compare>
1434:     struct _Iter_comp_iter
1434:     {
1434:       _Compare _M_comp;
1434: 
1434:       explicit constexpr
1434:       _Iter_comp_iter(_Compare __comp)
1434:  : _M_comp(std::move(__comp))
1434:       { }
1434: 
1434:       template<typename _Iterator1, typename _Iterator2>
1434:         constexpr
1434:         bool
1434:         operator()(_Iterator1 __it1, _Iterator2 __it2)
1434:         { return bool(_M_comp(*412: 
1412: 
1412: 
1412:       const _RehashPolicy&
1412:       __rehash_policy() const
1412:       { return _M_rehash_policy; }
1412: 
1412:       void
1412:       __rehash_policy(const _RehashPolicy& __pol)
1412:       { _M_rehash_policy = __pol; }
1412: 
1412: 
1412:       iterator
1412:       find(const key_type& __k);
1412: 
1412:       const_iterator
1412:       find(const key_type& __k) const;
1412: 
1412:       size_type
1412:       count(const key_type& __k) const;
1412: 
1412:       std::pair<iterator, iterator>
1412:       equal_range(const key_type& __k);
1412: 
1412:       std::pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __k) const;
1412: # 790 "/usr/include/c++/12/bits/hashtable.h" 3
1412:     private:
1412: 
1412:       size_type
1412:       _M_bucket_index(const __node_value_type& __n) const noexcept
1412:       { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); }
1412: 
1412:       size_type
1412:       _M_bucket_index(__hash_code __c) const
1412:       { return __hash_code_base::_M_bucket_index(__c, _M_bucket_count); }
1412: 
1412:       __node_base_ptr
1412:       _M_find_before_node(const key_type&);
1412: 
1412: 
1412: 
1412:       __node_base_ptr
1412:       _M_find_before_node(size_type, const key_type&, __hash_code) const;
1412: 
1412:       template<typename _Kt>
1412:  __node_base_ptr
1412:  _M_find_before_node_tr(size_type, const _Kt&, __hash_code) const;
1412: 
1412:       __node_ptr
1412:       _M_find_node(size_type __bkt, const key_type& __key,
1412:      __hash_code __c) const
1412:       {
1412:  __node_base_ptr __before_n = _M_find_before_node(__bkt, __key, __c);
1412:  if (__before_n)
1412:    return static_cast<__node_ptr>(__before_n->_M_nxt);
1412:  return nullptr;
1412:       }
1412: 
1412:       template<typename _Kt>
1412:  __node_ptr
1412:  _M_find_node_tr(size_type __bkt, const _Kt& __key,
1412:    __hash_code __c) const
1412:  {
1412:    auto __before_n = _M_find_before_node_tr(__bkt, __key, __c);
1412:    if (__before_n)
1412:      return static_cast<__node_ptr>(__before_n->_M_nxt);
1412:    return nullptr;
1412:  }
1412: 
1412: 
1412:       void
1412:       _M_insert_bucket_begin(size_type, __node_ptr);
1412: 
1412: 
1412:       void
1412:       _M_remove_bucket_begin(size_type __bkt, __node_ptr __next_n,
1412:         size_type __next_bkt);
1412: 
1412: 
1412:       __node_base_ptr
1412:       _M_get_previous_node(size_type __bkt, __node_ptr __n);
1412: 
1412:       pair<const_iterator, __hash_code>
1412:       _M_compute_hash_code(const_iterator __hint, const key_type& __k) const;
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       _M_insert_unique_node(size_type __bkt, __hash_code,
1412:        __node_ptr __n, size_type __n_elt = 1);
1412: 
1412: 
1412: 
1412:       iterator
1412:       _M_insert_multi_node(__node_ptr __hint,
1412:       __hash_code __code, __node_ptr __n);
1412: 
1412:       template<typename... _Args>
1412:  std::pair<iterator, bool>
1412:  _M_emplace(true_type __uks, _Args&&... __args);
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  _M_emplace(false_type __uks, _Args&&... __args)
1412:  { return _M_emplace(cend(), __uks, std::forward<_Args>(__args)...); }
1412: 
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  _M_emplace(const_iterator, true_type __uks, _Args&&... __args)
1412:  { return _M_emplace(__uks, std::forward<_Args>(__args)...).first; }
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  _M_emplace(const_iterator, false_type __uks, _Args&&... __args);
1412: 
1412:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1412:  std::pair<iterator, bool>
1412:  _M_insert_unique(_Kt&&, _Arg&&, const _NodeGenerator&);
1412: 
1412:       template<typename _Kt>
1412:  static __conditional_t<
1412:    __and_<__is_nothrow_invocable<_Hash&, const key_type&>,
1412:    __not_<__is_nothrow_invocable<_Hash&, _Kt>>>::value,
1412:    key_type, _Kt&&>
1412:  _S_forward_key(_Kt&& __k)
1412:  { return std::forward<_Kt>(__k); }
1412: iterator const_reverse_iterator;
1417:       typedef typename _Rep_type::size_type size_type;
1417:       typedef typename _Rep_type::difference_type difference_type;
1417: 
1417: 
1417:       using node_type = typename _Rep_type::node_type;
1417: # 164 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       multiset() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       multiset(const _Compare& __comp,
1417:         const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1417: # 186 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       template<typename _InputIterator>
1417:  multiset(_InputIterator __first, _InputIterator __last)
1417:  : _M_t()
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: # 202 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       template<typename _InputIterator>
1417:  multiset(_InputIterator __first, _InputIterator __last,
1417:    const _Compare& __comp,
1417:    const allocator_type& __a = allocator_type())
1417:  : _M_t(__comp, _Key_alloc_type(__a))
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: # 218 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       multiset(const multiset&) = default;
1417: # 227 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       multiset(multiset&&) = default;
1417: # 239 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       multiset(initializer_list<value_type> __l,
1417:         const _Compare& __comp = _Compare(),
1417:         const allocator_type& __a = allocator_type())
1417:       : _M_t(__comp, _Key_alloc_type(__a))
1417:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       explicit
1417:       multiset(const allocator_type& __a)
1417:       : _M_t(_Key_alloc_type(__a)) { }
1417: 
1417: 
1417:       multiset(const multiset& __m,
1417:         const __type_identity_t<allocator_type>& __a)
1417:       : _M_t(__m._M_t, _Key_alloc_type(__a)) { }
1417: 
1417: 
1417:       multiset(multiset&& __m, const __type_identity_t<allocator_type>& __a)
1417:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1417:         && _Alloc_traits::_S_always_equal())
1417:       : _M_t(std::move(__m._M_t), _Key_alloc_type(__a)) { }
1417: 
1417: 
1417:       multiset(initializer_list<value_type> __l, const allocator_type& __a)
1417:       : _M_t(_Key_alloc_type(__a))
1417:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1417: 
1417: 
1417:       template<typename _InputIterator>
1417:  multiset(_InputIterator __first, _InputIterator __last,
1417:    const allocator_type& __a)
1417:  : _M_t(_Key_alloc_type(__a))
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~multiset() = default;
1417: # 294 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       multiset&
1417:       operator=(const multiset&) = default;
1417: 
1417: 
1417:       multiset&
1417:       operator=(multiset&&) = default;
1417: # 312 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       multiset&
1417:       operator=(initializer_list<value_type> __l)
1417:       {
1417:  _M_t._M_assign_equal(__l.begin(), __l.end());
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       key_compare
1417:       key_comp() const
1417:       { return _M_t.key_comp(); }
1417: 
1417:       value_compare
1417:       value_comp() const
1417:       { return _M_t.key_comp(); }
1417: 
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return allocator_type(_M_t.get_allocator()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       begin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       end() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       rbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse___it1, *__it2)); }
1434:     };
1434: 
1434:   template<typename _Compare>
1434:     constexpr
1434:     inline _Iter_comp_iter<_Compare>
1434:     __iter_comp_iter(_Compare __comp)
1434:     { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
1434: 
1434:   template<typename _Compare>
1434:     struct _Iter_comp_val
1434:     {
1434:       _Compare _M_comp;
1434: 
1434:      
1434:       explicit
1434:       _Iter_comp_val(_Compare __comp)
1434:  : _M_comp(std::move(__comp))
1434:       { }
1434: 
1434:      
1434:       explicit
1434:       _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
1434:  : _M_comp(__comp._M_comp)
1434:       { }
1434: 
1434: 
1434:      
1434:       explicit
1434:       _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
1434:  : _M_comp(std::move(__comp._M_comp))
1434:       { }
1434: 
1434: 
1434:       template<typename _Iterator, typename _Value>
1434: 
1434:  bool
1434:  operator()(_Iterator __it, _Value& __val)
1434:  { return bool(_M_comp(*__it, __val)); }
1434:     };
1434: 
1434:   template<typename _Compare>
1434:    
1434:     inline _Iter_comp_val<_Compare>
1434:     __iter_comp_val(_Compare __comp)
1434:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1434: 
1434:   template<typename _Compare>
1434:    
1434:     inline _Iter_comp_val<_Compare>
1434:     __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
1434:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
1434: 
1434:   template<typename _Compare>
1434:     struct _Val_comp_iter
1434:     {
1434:       _Compare _M_comp;
1434: 
1434:      
1434:       explicit
1434:       _Val_comp_iter(_Compare __comp)
1434:  : _M_comp(std::move(__comp))
1434:       { }
1434: 
1434:      
1434:       explicit
1434:       _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
1434:  : _M_comp(__comp._M_comp)
1434:       { }
1434: 
1434: 
1434:      
1434:       explicit
1434:       _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
1434:  : _M_comp(std::move(__comp._M_comp))
1434:       { }
1434: 
1434: 
1434:       template<typename _Value, typename _Iterator>
1434: 
1434:  bool
1434:  operator()(_Value& __val, _Iterator __it)
1434:  { return bool(_M_comp(__val, *__it)); }
1434:     };
1434: 
1434:   template<typename _Compare>
1434:    
1434:     inline _Val_comp_iter<_Compare>
1434:     __val_comp_iter(_Compare __comp)
1434:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1434: 
1434:   template<typename _Compare>
1434:    
1434:     inline _Val_comp_iter<_Compare>
1434:     __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
1434:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
1434: 
1434:   template<typename _Value>
1434:     struct _Iter_equals_val
1434:     {
1434:       _Value& _M_value;
1434: 
1434:      
1434:       explicit
1434:       _Iter_equals_val(_Value& __value)
1434:  : _M_value(__value)
1434:       { }
1434: 
1434:       template<typename _Iterator>
1434: 
1434:  bool
1434:  operator()(_Iterator __it)
1434:  { return *__it == _M_value; }
1434:     };
1434: 
1434:   template<typename _Value>
1434:    
1434:     inline _Iter_equals_val<_Value>
1434:     __iter_equals_val(_Value& __val)
1434:     { return _Iter_equals_val<_Value>(__val); }
1434: 
1434:   template<typename _Iterator1>
1434:     struct _Iter_equals_iter
1434:     {
1434:       _Iterator1 _M_it1;
1434: 
1434:      
1434:       explicit
1434:       _Iter_equals_iter(_Iterator1 __it1)
1434:  : _M_it1(__it1)
1434:       { }
1434: 
1434:       template<typename _Iterator2>
1434: 
1434:  bool
1434:  operator()(_Iterator2 __it2)
1434:  { return *__it2 == *_M_it1; }
1434:     };
1434: 
1434:   template<typename _Iterator>
1434:    
1434:     inline _Iter_equals_iter<_Iterator>
1434:     __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
1434:     { return _Iter_equals_iter<_Iterator>(__it); }
1434: 
1434:   template<typename _Predicate>
1434:     struct _Iter_pred
1434:     {
1434:       _Predicate _M_pred;
1434: 
1434:      
1434:       explicit
1434:       _Iter_pred(_Predicate __pred)
1434:  : _M_pred(std::move
1412:       static const key_type&
1412:       _S_forward_key(const key_type& __k)
1412:       { return __k; }
1412: 
1412:       static key_type&&
1412:       _S_forward_key(key_type&& __k)
1412:       { return std::move(__k); }
1412: 
1412:       template<typename _Arg, typename _NodeGenerator>
1412:  std::pair<iterator, bool>
1412:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1412:     true_type )
1412:  {
1412:    return _M_insert_unique(
1412:      _S_forward_key(_ExtractKey{}(std::forward<_Arg>(__arg))),
1412:      std::forward<_Arg>(__arg), __node_gen);
1412:  }
1412: 
1412:       template<typename _Arg, typename _NodeGenerator>
1412:  iterator
1412:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1412:     false_type __uks)
1412:  {
1412:    return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen,
1412:       __uks);
1412:  }
1412: 
1412: 
1412:       template<typename _Arg, typename _NodeGenerator>
1412:  iterator
1412:  _M_insert(const_iterator, _Arg&& __arg,
1412:     const _NodeGenerator& __node_gen, true_type __uks)
1412:  {
1412:    return
1412:      _M_insert(std::forward<_Arg>(__arg), __node_gen, __uks).first;
1412:  }
1412: 
1412: 
1412:       template<typename _Arg, typename _NodeGenerator>
1412:  iterator
1412:  _M_insert(const_iterator, _Arg&&,
1412:     const _NodeGenerator&, false_type __uks);
1412: 
1412:       size_type
1412:       _M_erase(true_type __uks, const key_type&);
1412: 
1412:       size_type
1412:       _M_erase(false_type __uks, const key_type&);
1412: 
1412:       iterator
1412:       _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n);
1412: 
1412:     public:
1412: 
1412:       template<typename... _Args>
1412:  __ireturn_type
1412:  emplace(_Args&&... __args)
1412:  { return _M_emplace(__unique_keys{}, std::forward<_Args>(__args)...); }
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace_hint(const_iterator __hint, _Args&&... __args)
1412:  {
1412:    return _M_emplace(__hint, __unique_keys{},
1412:        std::forward<_Args>(__args)...);
1412:  }
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       erase(const_iterator);
1412: 
1412: 
1412:       iterator
1412:       erase(iterator __it)
1412:       { return erase(const_iterator(__it)); }
1412: 
1412:       size_type
1412:       erase(const key_type& __k)
1412:       { return _M_erase(__unique_keys{}, __k); }
1412: 
1412:       iterator
1412:       erase(const_iterator, const_iterator);
1412: 
1412:       void
1412:       clear() noexcept;
1412: 
1412: 
1412: 
1412:       void rehash(size_type __bkt_count);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       insert_return_type
1412:       _M_reinsert_node(node_type&& __nh)
1412:       {
1412:  insert_return_type __ret;
1412:  if (__nh.empty())
1412:    __ret.position = end();
1412:  else
1412:    {
1412:      do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1412: 
1412:      const key_type& __k = __nh._M_key();
1412:      __hash_code __code = this->_M_hash_code(__k);
1412:      size_type __bkt = _M_bucket_index(__code);
1412:      if (__node_ptr __n = _M_find_node(__bkt, __k, __code))
1412:        {
1412:   __ret.node = std::move(__nh);
1412:   __ret.position = iterator(__n);
1412:   __ret.inserted = false;
1412:        }
1412:      else
1412:        {
1412:   __ret.position
1412:     = _M_insert_unique_node(__bkt, __code, __nh._M_ptr);
1412:   __nh._M_ptr = nullptr;
1412:   __ret.inserted = true;
1412:        }
1412:    }
1412:  return __ret;
1412:       }
1412: 
1412: 
1412:       iterator
1412:       _M_reinsert_node_multi(const_iterator __hint, node_type&& __nh)
1412:       {
1412:  if (__nh.empty())
1412:    return end();
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1412: 
1412:  const key_type& __k = __nh._M_key();
1412:  auto __code = this->_M_hash_code(__k);
1412:  auto __ret
1412:    = _M_insert_multi_nod(__pred))
1434:       { }
1434: 
1434:       template<typename _Iterator>
1434: 
1434:  bool
1434:  operator()(_Iterator __it)
1434:  { return bool(_M_pred(*__it)); }
1434:     };
1434: 
1434:   template<typename _Predicate>
1434:    
1434:     inline _Iter_pred<_Predicate>
1434:     __pred_iter(_Predicate __pred)
1434:     { return _Iter_pred<_Predicate>(std::move(__pred)); }
1434: 
1434:   template<typename _Compare, typename _Value>
1434:     struct _Iter_comp_to_val
1434:     {
1434:       _Compare _M_comp;
1434:       _Value& _M_value;
1434: 
1434:      
1434:       _Iter_comp_to_val(_Compare __comp, _Value& __value)
1434:  : _M_comp(std::move(__comp)), _M_value(__value)
1434:       { }
1434: 
1434:       template<typename _Iterator>
1434: 
1434:  bool
1434:  operator()(_Iterator __it)
1434:  { return bool(_M_comp(*__it, _M_value)); }
1434:     };
1434: 
1434:   template<typename _Compare, typename _Value>
1434:     _Iter_comp_to_val<_Compare, _Value>
1434:    
1434:     __iter_comp_val(_Compare __comp, _Value &__val)
1434:     {
1434:       return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
1434:     }
1434: 
1434:   template<typename _Compare, typename _Iterator1>
1434:     struct _Iter_comp_to_iter
1434:     {
1434:       _Compare _M_comp;
1434:       _Iterator1 _M_it1;
1434: 
1434:      
1434:       _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
1434:  : _M_comp(std::move(__comp)), _M_it1(__it1)
1434:       { }
1434: 
1434:       template<typename _Iterator2>
1434: 
1434:  bool
1434:  operator()(_Iterator2 __it2)
1434:  { return bool(_M_comp(*__it2, *_M_it1)); }
1434:     };
1434: 
1434:   template<typename _Compare, typename _Iterator>
1434:    
1434:     inline _Iter_comp_to_iter<_Compare, _Iterator>
1434:     __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
1434:     {
1434:       return _Iter_comp_to_iter<_Compare, _Iterator>(
1434:    std::move(__comp._M_comp), __it);
1434:     }
1434: 
1434:   template<typename _Predicate>
1434:     struct _Iter_negate
1434:     {
1434:       _Predicate _M_pred;
1434: 
1434:      
1434:       explicit
1434:       _Iter_negate(_Predicate __pred)
1434:  : _M_pred(std::move(__pred))
1434:       { }
1434: 
1434:       template<typename _Iterator>
1434: 
1434:  bool
1434:  operator()(_Iterator __it)
1434:  { return !bool(_M_pred(*__it)); }
1434:     };
1434: 
1434:   template<typename _Predicate>
1434:    
1434:     inline _Iter_negate<_Predicate>
1434:     __negate(_Iter_pred<_Predicate> __pred)
1434:     { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
1434: 
1434: }
1434: }
1434: # 72 "/usr/include/c++/12/bits/stl_algobase.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr
1434:     inline int
1434:     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
1434:     {
1434: 
1434:       static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
1434: # 105 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:  return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
1434:     }
1434: # 149 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1434:    
1434:     inline void
1434:     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: # 182 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:       swap(*__a, *__b);
1434: 
1434:     }
1434: # 198 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1434:    
1434:     _ForwardIterator2
1434:     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:   _ForwardIterator2 __first2)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1434:  std::iter_swap(__first1, __first2);
1434:       return __first2;
1434:     }
1434: # 227 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _Tp>
1434:     constexpr
1434:     inline const _Tp&
1434:     min(const _Tp& __a, const _Tp& __b)
1434:     {
1434: 
1434:      
1434: 
1434:       if (__b < __a)
1434:  return __b;
1434:       return __a;
1434:     }
1434: # 251 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _Tp>
1434:     constexpr
1434:     inline const _Tp&
1434:     max(const _Tp& __a, const _Tp& __b)
1434:     {
1434: 
1434:      
1434: 
1434:       if (__a < __b)
1434:  return __b;
1434:       return __a;
1434:     }
1434: # 275 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     inline const _Tp&
1434:     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
1434:     {
1434: 
1434:       if (__comp(__b, __a))
1434:  return __b;
1434:       return __a;
1434:     }
1434: # 297 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     inline const _Tp&
1434:     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
1434:     {
1434: 
1434:       if (__comp(__a, __b))
1434:  return __b;
1434:       return __a;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Iterator>
1434:    
1434:     inline _Iterator
1434:     __niter_base(_Iterator __it)
1434:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
1434:     { return __it; }
1434: 
1434:   template<typename _Ite, typename _Seq>
1434:     _Ite
1434:     __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
1434:    std::random_access_iterator_tag>&);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _From, typename _To>
1434:    
1434:     inline _From
1434:     __niter_wrap(_From __from, _To __res)
1434:     { return __from + (__res - std::__niter_base(__from)); }
1434: 
1434: 
1434:   template<typename _Iterator>
1434:    
1434:     inline _Iterator
1434:     __niter_wrap(const _Iterator&, _Iterator __res)
1434:     { return __res; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<bool _IsMove, bool _IsSimple, typename _Category>
1434:     struct __copy_move
1434:     {
1434:       template<typename _II, typename _OI>
1434: 
1434:  static _OI
1434:  __copy_m(_II __first, _II __last, _OI __result)
1434:  {
1434:    for (; __first != __last; ++__result, (void)++__first)
1434:      *__result = *__first;
1434:    return __result;
1434:  }
1434:     };
1434: 
1434: 
1434:   template<typename _Category>
1434:     struct __copy_move<true, false, _Category>
1434:     {
1434:       template<typename _II, typename _OI>
1434: 
1434:  static _OI
1434:  __copy_m(_II __first, _II __last, _OI __result)
1434:  {
1434:    for (; __first != __last; ++__result, (void)++__first)
1434:      *__result = std::move(*__first);
1434:    return __result;
1434:  }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __copy_move<false, false, random_access_iterator_tag>
1434:     {
1434:       template<typename _II, typename _OI>
1434: 
1434:  static _OI
1434:  __copy_m(_II __first, _II __last, _OI __result)
1434:  {
1434:    typedef typename iterator_traits<_II>::difference_type _Distance;
1434:    for(_Distance __n = __last - __first; __n > 0; --__n)
1434:      {
1434:        *__result = *__first;
1434:        ++__first;
1434:        ++__result;
1434:      }
1434:    return __result;
1434:  }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __copy_move<true, false, random_access_iterator_tag>
1434:     {
1434:       template<typename _II, typename _OI>
1434: 
1434:  static _OI
1434:  __copy_m(_II __first, _II __last, _OI __result)
1434:  {
1434:    typedef typename iterator_traits<_II>::difference_type _Distance;
1434:    for(_Distance __n = __last - __first; __n > 0; --__n)
1434:      {
1434:        *__result = std::move(*__first);
1434:        ++__first;
1434:        ++__result;
1434:      }
1434:    return __result;
1434:  }
1434:     };
1434: 
1434: 
143iterator
1417:       rend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       cbegin() const noexcept
1417:       { return _M_t.begin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       iterator
1417:       cend() const noexcept
1417:       { return _M_t.end(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       crbegin() const noexcept
1417:       { return _M_t.rbegin(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       reverse_iterator
1417:       crend() const noexcept
1417:       { return _M_t.rend(); }
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _M_t.empty(); }
1417: 
1417: 
1417:       size_type
1417:       size() const noexcept
1417:       { return _M_t.size(); }
1417: 
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _M_t.max_size(); }
1417: # 437 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       void
1417:       swap(multiset& __x)
1417:       noexcept(__is_nothrow_swappable<_Compare>::value)
1417:       { _M_t.swap(__x._M_t); }
1417: # 456 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace(_Args&&... __args)
1417:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1417: # 482 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       template<typename... _Args>
1417:  iterator
1417:  emplace_hint(const_iterator __pos, _Args&&... __args)
1417:  {
1417:    return _M_t._M_emplace_hint_equal(__pos,
1417:          std::forward<_Args>(__args)...);
1417:  }
1417: # 502 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       iterator
1417:       insert(const value_type& __x)
1417:       { return _M_t._M_insert_equal(__x); }
1417: 
1417: 
1417:       iterator
1417:       insert(value_type&& __x)
1417:       { return _M_t._M_insert_equal(std::move(__x)); }
1417: # 532 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       iterator
1417:       insert(const_iterator __position, const value_type& __x)
1417:       { return _M_t._M_insert_equal_(__position, __x); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __position, value_type&& __x)
1417:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1417: # 550 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       template<typename _InputIterator>
1417:  void
1417:  insert(_InputIterator __first, _InputIterator __last)
1417:  { _M_t._M_insert_range_equal(__first, __last); }
1417: # 563 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       void
1417:       insert(initializer_list<value_type> __l)
1417:       { this->insert(__l.begin(), __l.end()); }
1417: 
1417: 
1417: 
1417: 
1417:       node_type
1417:       extract(const_iterator __pos)
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1417:  return _M_t.extract(__pos);
1417:       }
1417: 
1417: 
1417:       node_type
1417:       extract(const key_type& __x)
1417:       { return _M_t.extract(__x); }
1417: 
1417: 
1417:       iterator
1417:       insert(node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1417: 
1417: 
1417:       iterator
1417:       insert(const_iterator __hint, node_type&& __nh)
1417:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1417: 
1417:       template<typename, typename>
1417:  friend struct std::_Rb_tree_merge_helper;
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1417:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1417:  { merge(__source); }
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  mee(__hint._M_cur, __code, __nh._M_ptr);
1412:  __nh._M_ptr = nullptr;
1412:  return __ret;
1412:       }
1412: 
1412:     private:
1412:       node_type
1412:       _M_extract_node(size_t __bkt, __node_base_ptr __prev_n)
1412:       {
1412:  __node_ptr __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1412:  if (__prev_n == _M_buckets[__bkt])
1412:    _M_remove_bucket_begin(__bkt, __n->_M_next(),
1412:       __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1412:  else if (__n->_M_nxt)
1412:    {
1412:      size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1412:      if (__next_bkt != __bkt)
1412:        _M_buckets[__next_bkt] = __prev_n;
1412:    }
1412: 
1412:  __prev_n->_M_nxt = __n->_M_nxt;
1412:  __n->_M_nxt = nullptr;
1412:  --_M_element_count;
1412:  return { __n, this->_M_node_allocator() };
1412:       }
1412: 
1412:     public:
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  size_t __bkt = _M_bucket_index(*__pos._M_cur);
1412:  return _M_extract_node(__bkt,
1412:           _M_get_previous_node(__bkt, __pos._M_cur));
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const _Key& __k)
1412:       {
1412:  node_type __nh;
1412:  __hash_code __code = this->_M_hash_code(__k);
1412:  std::size_t __bkt = _M_bucket_index(__code);
1412:  if (__node_base_ptr __prev_node = _M_find_before_node(__bkt, __k, __code))
1412:    __nh = _M_extract_node(__bkt, __prev_node);
1412:  return __nh;
1412:       }
1412: 
1412: 
1412:       template<typename _Compatible_Hashtable>
1412:  void
1412:  _M_merge_unique(_Compatible_Hashtable& __src)
1412:  {
1412:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1412:        node_type>, "Node types are compatible");
1412:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1412: 
1412:    auto __n_elt = __src.size();
1412:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1412:      {
1412:        auto __pos = __i++;
1412:        const key_type& __k = _ExtractKey{}(*__pos);
1412:        __hash_code __code
1412:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1412:        size_type __bkt = _M_bucket_index(__code);
1412:        if (_M_find_node(__bkt, __k, __code) == nullptr)
1412:   {
1412:     auto __nh = __src.extract(__pos);
1412:     _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt);
1412:     __nh._M_ptr = nullptr;
1412:     __n_elt = 1;
1412:   }
1412:        else if (__n_elt != 1)
1412:   --__n_elt;
1412:      }
1412:  }
1412: 
1412: 
1412:       template<typename _Compatible_Hashtable>
1412:  void
1412:  _M_merge_multi(_Compatible_Hashtable& __src)
1412:  {
1412:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1412:        node_type>, "Node types are compatible");
1412:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1412: 
1412:    __node_ptr __hint = nullptr;
1412:    this->reserve(size() + __src.size());
1412:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1412:      {
1412:        auto __pos = __i++;
1412:        __hash_code __code
1412:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1412:        auto __nh = __src.extract(__pos);
1412:        __hint = _M_insert_multi_node(__hint, __code, __nh._M_ptr)._M_cur;
1412:        __nh._M_ptr = nullptr;
1412:      }
1412:  }
1412: 
1412: 
1412:     private:
1412: 
1412:       void _M_rehash_aux(size_type __bkt_count, true_type __uks);
1412: 
1412: 
1412:       void _M_rehash_aux(size_type __bkt_count, false_type __uks);
1412: 
1412: 
1412: 
1412:       void _M_rehash(size_type __bkt_count, const __rehash_state& __state);
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
14:   template<bool _IsMove>
1434:     struct __copy_move<_IsMove, true, random_access_iterator_tag>
1434:     {
1434:       template<typename _Tp>
1434: 
1434:  static _Tp*
1434:  __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
1434:  {
1434: 
1434:    using __assignable = __conditional_t<_IsMove,
1434:             is_move_assignable<_Tp>,
1434:             is_copy_assignable<_Tp>>;
1434: 
1434:    static_assert( __assignable::value, "type must be assignable" );
1434: 
1434:    const ptrdiff_t _Num = __last - __first;
1434:    if (_Num)
1434:      __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
1434:    return __result + _Num;
1434:  }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Ref, typename _Ptr>
1434:     struct _Deque_iterator;
1434: 
1434:   struct _Bit_iterator;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     struct char_traits;
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     class istreambuf_iterator;
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     class ostreambuf_iterator;
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1434:     __copy_move_a2(_CharT*, _CharT*,
1434:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
1434:     __copy_move_a2(const _CharT*, const _CharT*,
1434:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:         _CharT*>::__type
1434:     __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1434:      istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_char<_CharT>::__value,
1434:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1434:     __copy_move_a2(
1434:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1434:  istreambuf_iterator<_CharT, char_traits<_CharT> >,
1434:  std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
1434: 
1434:   template<bool _IsMove, typename _II, typename _OI>
1434:    
1434:     inline _OI
1434:     __copy_move_a2(_II __first, _II __last, _OI __result)
1434:     {
1434:       typedef typename iterator_traits<_II>::iterator_category _Category;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value,
1434:          _Category>::__copy_m(__first, __last, __result);
1434:     }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1434:     _OI
1434:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1434:      std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1434:      _OI);
1434: 
1434:   template<bool _IsMove,
1434:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1434:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1434:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1434:      std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1434:      std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1434: 
1434:   template<bool _IsMove, typename _II, typename _Tp>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value,
1434:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1434:     __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1434: 
1434:   template<bool _IsMove, typename _II, typename _OI>
1434:    
1434:     inline _OI
1434:     __copy_move_a1(_II __first, _II __last, _OI __result)
1434:     { return std::__copy_move_a2<_IsMove>(__first, __last, __result); }
1434: 
1434:   template<bool _IsMove, typename _II, typename _OI>
1434:    
1434:     inline _OI
1434:     __copy_move_a(_II __first, _II __last, _OI __result)
1434:     {
1434:       return std::__niter_wrap(__result,
1434:   std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
1434:           std::__niter_base(__last),
1434:           std::__niter_base(__result)));
1434:     }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1434:     _OI
1434:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1434:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1434:     _OI);
1434: 
1434:   template<bool _IsMove,
1434:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1434:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1434:     __copy_move_a(_II, _II,
1434:     const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1434: 
1434:   template<bool _IsMove,
1434:     typename _IIte, typename _ISeq, typename _ICat,
1434:     typename _OIte, typename _OSeq, typename _OCat>
1434:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1434:     __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1434:     const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1434:     const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1434: 
1434:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1434:    
1434:     _OutputIterator
1434:     __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
1434:         bool)
1434:     {
1434:       if (__n > 0)
1434:  {
1434:    while (true)
1434:      {
1434:        *__result = *__first;
1434:        ++__result;
1434:        if (--__n > 0)
1434:   ++__first;
1434:        else
1434:   break;
1434:      }
1434:  }
1434:       return __result;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Size>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_char<_CharT>::__value, _CharT*>::__type
1434:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
1434:         _Size, _CharT*, bool);
1434: 
1434:   template<typename _CharT, typename _Size>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_char<_CharT>::__value,
1434:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1434:     __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
1434:         std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
1434:         bool);
1434: # 608 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _II, typename _OI>
1434:    
1434:     inline _OI
1434:     copy(_II __first, _II __last, _OI __result)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__copy_move_a<__is_move_iterator<_II>::__value>
1434:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1434:     }
1434: # 641 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _II, typename _OI>
1434:    
1434:     inline _OI
1434:     move(_II __first, _II __last, _OI __result)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__copy_move_a<true>(std::__miter_base(__first),
1434:           std::__miter_base(__last), __result);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<bool _IsMove, bool _IsSimple, typename _Category>
1434:     struct __copy_move_backward
1434:     {
1434:       template<typename _BI1, typename _BI2>
1434: 
1434:  static _BI2
1434:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1434:  {
1434:    while (__first != __last)
1434:      *--__result = *--__last;
1434:    return __result;
1434:  }
1434:     };
1434: 
1434: 
1434:   template<typename _Category>
1434:     struct __copy_move_backward<true, false, _Category>
1434:     {
1434:       template<typename _BI1, typename _BI2>
1434: 
1434:  static _BI2
1434:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1434:  {
1434:    while (__first != __last)
1434:      *--__result = std::move(*--__last);
1434:    return __result;
1434:  }
1434:     };
1434: 
1434rge(set<_Key, _Compare1, _Alloc>& __source)
1417:  {
1417:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1417:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1417:  }
1417: 
1417:       template<typename _Compare1>
1417:  void
1417:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1417:  { merge(__source); }
1417: # 638 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(const_iterator __position)
1417:       { return _M_t.erase(__position); }
1417: # 669 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       size_type
1417:       erase(const key_type& __x)
1417:       { return _M_t.erase(__x); }
1417: # 690 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iterator
1417:       erase(const_iterator __first, const_iterator __last)
1417:       { return _M_t.erase(__first, __last); }
1417: # 718 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       void
1417:       clear() noexcept
1417:       { _M_t.clear(); }
1417: # 730 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       size_type
1417:       count(const key_type& __x) const
1417:       { return _M_t.count(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1417:  { return _M_t._M_count_tr(__x); }
1417: # 775 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       iterator
1417:       find(const key_type& __x)
1417:       { return _M_t.find(__x); }
1417: 
1417:       const_iterator
1417:       find(const key_type& __x) const
1417:       { return _M_t.find(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x)
1417:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1417:  { return iterator{_M_t._M_find_tr(__x)}; }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  find(const _Kt& __x) const
1417:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1417:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1417: # 810 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       iterator
1417:       lower_bound(const key_type& __x)
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417:       const_iterator
1417:       lower_bound(const key_type& __x) const
1417:       { return _M_t.lower_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  lower_bound(const _Kt& __x) const
1417:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1417:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1417: # 840 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       iterator
1417:       upper_bound(const key_type& __x)
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417:       const_iterator
1417:       upper_bound(const key_type& __x) const
1417:       { return _M_t.upper_bound(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x)
1417:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  upper_bound(const _Kt& __x) const
1417:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1417:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1417: # 879 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:       std::pair<iterator, iterator>
1417:       equal_range(const key_type& __x)
1417:       { return _M_t.equal_range(__x); }
1417: 
1417:       std::pair<const_iterator, const_iterator>
1417:       equal_range(const key_type& __x) const
1417:       { return _M_t.equal_range(__x); }
1417: 
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x)
1417:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1417:  { return pair<iterator, iterator>(_M412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_bucket_begin(size_type __bkt) const
1412:     -> __node_ptr
1412:     {
1412:       __node_base_ptr __n = _M_buckets[__bkt];
1412:       return __n ? static_cast<__node_ptr>(__n->_M_nxt) : nullptr;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _Hashtable(size_type __bkt_count_hint,
1412:         const _Hash& __h, const _Equal& __eq, const allocator_type& __a)
1412:     : _Hashtable(__h, __eq, __a)
1412:     {
1412:       auto __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count_hint);
1412:       if (__bkt_count > _M_bucket_count)
1412:  {
1412:    _M_buckets = _M_allocate_buckets(__bkt_count);
1412:    _M_bucket_count = __bkt_count;
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _InputIterator>
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _Hashtable(_InputIterator __f, _InputIterator __l,
1412:    size_type __bkt_count_hint,
1412:    const _Hash& __h, const _Equal& __eq,
1412:    const allocator_type& __a, true_type )
1412:       : _Hashtable(__bkt_count_hint, __h, __eq, __a)
1412:       {
1412:  for (; __f != __l; ++__f)
1412:    this->insert(*__f);
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _InputIterator>
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _Hashtable(_InputIterator __f, _InputIterator __l,
1412:    size_type __bkt_count_hint,
1412:    const _Hash& __h, const _Equal& __eq,
1412:    const allocator_type& __a, false_type )
1412:       : _Hashtable(__h, __eq, __a)
1412:       {
1412:  auto __nb_elems = __detail::__distance_fw(__f, __l);
1412:  auto __bkt_count =
1412:    _M_rehash_policy._M_next_bkt(
1412:      std::max(_M_rehash_policy._M_bkt_for_elements(__nb_elems),
1412:        __bkt_count_hint));
1412: 
1412:  if (__bkt_count > _M_bucket_count)
1412:    {
1412:      _M_buckets = _M_allocate_buckets(__bkt_count);
1412:      _M_bucket_count = __bkt_count;
1412:    }
1412: 
1412:  for (; __f != __l; ++__f)
1412:    this->insert(*__f);
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     operator=(const _Hashtable& __ht)
1412:     -> _Hashtable&
1412:     {
1412:       if (&__ht == this)
1412:  return *this;
1412: 
1412:       if (__node_alloc_traits::_S_propagate_on_copy_assign())
1412:  {
1412:    auto& __this_alloc = this->_M_node_allocator();
1412:    auto& __that_alloc = __ht._M_node_allocator();
1412:    if (!__node_alloc_traits::_S_always_equal()
1412:        && __this_alloc != __that_alloc)
1412:      {
1412: 
1412:        this->_M_deallocate_nodes(_M_begin());
1412:        _M_before_begin._M_nxt = nullptr;
1412:        _M_deallocate_buckets();
1412:        _M_buckets = nullptr;
1412:        std:: 
1434:   template<>
1434:     struct __copy_move_backward<false, false, random_access_iterator_tag>
1434:     {
1434:       template<typename _BI1, typename _BI2>
1434: 
1434:  static _BI2
1434:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1434:  {
1434:    typename iterator_traits<_BI1>::difference_type
1434:      __n = __last - __first;
1434:    for (; __n > 0; --__n)
1434:      *--__result = *--__last;
1434:    return __result;
1434:  }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __copy_move_backward<true, false, random_access_iterator_tag>
1434:     {
1434:       template<typename _BI1, typename _BI2>
1434: 
1434:  static _BI2
1434:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
1434:  {
1434:    typename iterator_traits<_BI1>::difference_type
1434:      __n = __last - __first;
1434:    for (; __n > 0; --__n)
1434:      *--__result = std::move(*--__last);
1434:    return __result;
1434:  }
1434:     };
1434: 
1434: 
1434:   template<bool _IsMove>
1434:     struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
1434:     {
1434:       template<typename _Tp>
1434: 
1434:  static _Tp*
1434:  __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
1434:  {
1434: 
1434:    using __assignable = __conditional_t<_IsMove,
1434:             is_move_assignable<_Tp>,
1434:             is_copy_assignable<_Tp>>;
1434: 
1434:    static_assert( __assignable::value, "type must be assignable" );
1434: 
1434:    const ptrdiff_t _Num = __last - __first;
1434:    if (_Num)
1434:      __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
1434:    return __result - _Num;
1434:  }
1434:     };
1434: 
1434:   template<bool _IsMove, typename _BI1, typename _BI2>
1434:    
1434:     inline _BI2
1434:     __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
1434:     {
1434:       typedef typename iterator_traits<_BI1>::iterator_category _Category;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       return std::__copy_move_backward<_IsMove,
1434:            __memcpyable<_BI2, _BI1>::__value,
1434:            _Category>::__copy_move_b(__first,
1434:          __last,
1434:          __result);
1434:     }
1434: 
1434:   template<bool _IsMove, typename _BI1, typename _BI2>
1434:    
1434:     inline _BI2
1434:     __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
1434:     { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1434:     _OI
1434:     __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1434:        std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1434:        _OI);
1434: 
1434:   template<bool _IsMove,
1434:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1434:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1434:     __copy_move_backward_a1(
1434:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1434:    std::_Deque_iterator<_ITp, _IRef, _IPtr>,
1434:    std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
1434: 
1434:   template<bool _IsMove, typename _II, typename _Tp>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value,
1434:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1434:     __copy_move_backward_a1(_II, _II,
1434:        std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
1434: 
1434:   template<bool _IsMove, typename _II, typename _OI>
1434:    
1434:     inline _OI
1434:     __copy_move_backward_a(_II __first, _II __last, _OI __result)
1434:     {
1434:       return std::__niter_wrap(__result,
1434:   std::__copy_move_backward_a1<_IsMove>
1434:     (std::__niter_base(__first), std::__niter_base(__last),
1434:      std::__niter_base(__result)));
1434:     }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Ite, typename _Seq, typename _Cat, typename _OI>
1434:     _OI
1434:     __copy_move_backward_a(
1434:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1434:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1434:   _OI);
1434:_t._M_equal_range_tr(__x)); }
1417: 
1417:       template<typename _Kt>
1417:  auto
1417:  equal_range(const _Kt& __x) const
1417:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1417:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator==(const multiset<_K1, _C1, _A1>&,
1417:      const multiset<_K1, _C1, _A1>&);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _K1, typename _C1, typename _A1>
1417:  friend bool
1417:  operator< (const multiset<_K1, _C1, _A1>&,
1417:      const multiset<_K1, _C1, _A1>&);
1417: 
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _InputIterator,
1417:     typename _Compare =
1417:       less<typename iterator_traits<_InputIterator>::value_type>,
1417:     typename _Allocator =
1417:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multiset(_InputIterator, _InputIterator,
1417:       _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1417:   _Compare, _Allocator>;
1417: 
1417:   template<typename _Key,
1417:     typename _Compare = less<_Key>,
1417:     typename _Allocator = allocator<_Key>,
1417:     typename = _RequireNotAllocator<_Compare>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multiset(initializer_list<_Key>,
1417:       _Compare = _Compare(), _Allocator = _Allocator())
1417:     -> multiset<_Key, _Compare, _Allocator>;
1417: 
1417:   template<typename _InputIterator, typename _Allocator,
1417:     typename = _RequireInputIter<_InputIterator>,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multiset(_InputIterator, _InputIterator, _Allocator)
1417:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1417:          less<typename iterator_traits<_InputIterator>::value_type>,
1417:          _Allocator>;
1417: 
1417:   template<typename _Key, typename _Allocator,
1417:     typename = _RequireAllocator<_Allocator>>
1417:     multiset(initializer_list<_Key>, _Allocator)
1417:     -> multiset<_Key, less<_Key>, _Allocator>;
1417: # 970 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator==(const multiset<_Key, _Compare, _Alloc>& __x,
1417:         const multiset<_Key, _Compare, _Alloc>& __y)
1417:     { return __x._M_t == __y._M_t; }
1417: # 1008 "/usr/include/c++/12/bits/stl_multiset.h" 3
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<(const multiset<_Key, _Compare, _Alloc>& __x,
1417:        const multiset<_Key, _Compare, _Alloc>& __y)
1417:     { return __x._M_t < __y._M_t; }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
1417:         const multiset<_Key, _Compare, _Alloc>& __y)
1417:     { return !(__x == __y); }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>(const multiset<_Key,_Compare,_Alloc>& __x,
1417:        const multiset<_Key,_Compare,_Alloc>& __y)
1417:     { return __y < __x; }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator<=(const multiset<_Key, _Compare, _Alloc>& __x,
1417:         const multiset<_Key, _Compare, _Alloc>& __y)
1417:     { return !(__y < __x); }
1417: 
1417: 
1417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline bool
1417:     operator>=(const multiset<_Key, _Compare, _Alloc>& __x,
1417:         const multiset<_Key, _Compare, _Alloc>& __y)
1417:     { return !(__x < __y); }
1417: 
1417: 
1417: 
1 
1434:   template<bool _IsMove,
1434:     typename _II, typename _Ite, typename _Seq, typename _Cat>
1434:     __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1434:     __copy_move_backward_a(_II, _II,
1434:   const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
1434: 
1434:   template<bool _IsMove,
1434:     typename _IIte, typename _ISeq, typename _ICat,
1434:     typename _OIte, typename _OSeq, typename _OCat>
1434:     ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
1434:     __copy_move_backward_a(
1434:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1434:   const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
1434:   const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
1434: # 845 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _BI1, typename _BI2>
1434:    
1434:     inline _BI2
1434:     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
1434:       (std::__miter_base(__first), std::__miter_base(__last), __result);
1434:     }
1434: # 880 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _BI1, typename _BI2>
1434:    
1434:     inline _BI2
1434:     move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__copy_move_backward_a<true>(std::__miter_base(__first),
1434:             std::__miter_base(__last),
1434:             __result);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline typename
1434:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
1434:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1434:        const _Tp& __value)
1434:     {
1434:       for (; __first != __last; ++__first)
1434:  *__first = __value;
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline typename
1434:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
1434:     __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
1434:        const _Tp& __value)
1434:     {
1434:       const _Tp __tmp = __value;
1434:       for (; __first != __last; ++__first)
1434:  *__first = __tmp;
1434:     }
1434: 
1434: 
1434:   template<typename _Tp>
1434:    
1434:     inline typename
1434:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
1434:     __fill_a1(_Tp* __first, _Tp* __last, const _Tp& __c)
1434:     {
1434:       const _Tp __tmp = __c;
1434: # 941 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:       if (const size_t __len = __last - __first)
1434:  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
1434:     }
1434: 
1434:   template<typename _Ite, typename _Cont, typename _Tp>
1434:    
1434:     inline void
1434:     __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
1434:        ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
1434:        const _Tp& __value)
1434:     { std::__fill_a1(__first.base(), __last.base(), __value); }
1434: 
1434:   template<typename _Tp, typename _VTp>
1434:     void
1434:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1434:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
1434:        const _VTp&);
1434: 
1434:  
1434:   void
1434:   __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
1434:      const bool&);
1434: 
1434:   template<typename _FIte, typename _Tp>
1434:    
1434:     inline void
1434:     __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
1434:     { std::__fill_a1(__first, __last, __value); }
1434: 
1434:   template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
1434:     void
1434:     __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1434:       const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
1434:       const _Tp&);
1434: # 988 "/usr/include/c++:__alloc_on_copy(__this_alloc, __that_alloc);
1412:        __hashtable_base::operator=(__ht);
1412:        _M_bucket_count = __ht._M_bucket_count;
1412:        _M_element_count = __ht._M_element_count;
1412:        _M_rehash_policy = __ht._M_rehash_policy;
1412:        __alloc_node_gen_t __alloc_node_gen(*this);
1412:        try
1412:   {
1412:     _M_assign(__ht, __alloc_node_gen);
1412:   }
1412:        catch(...)
1412:   {
1412: 
1412: 
1412:     _M_reset();
1412:     throw;
1412:   }
1412:        return *this;
1412:      }
1412:    std::__alloc_on_copy(__this_alloc, __that_alloc);
1412:  }
1412: 
1412: 
1412:       _M_assign_elements(__ht);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _Ht>
1412:       void
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _M_assign_elements(_Ht&& __ht)
1412:       {
1412:  __buckets_ptr __former_buckets = nullptr;
1412:  std::size_t __former_bucket_count = _M_bucket_count;
1412:  const __rehash_state& __former_state = _M_rehash_policy._M_state();
1412: 
1412:  if (_M_bucket_count != __ht._M_bucket_count)
1412:    {
1412:      __former_buckets = _M_buckets;
1412:      _M_buckets = _M_allocate_buckets(__ht._M_bucket_count);
1412:      _M_bucket_count = __ht._M_bucket_count;
1412:    }
1412:  else
1412:    __builtin_memset(_M_buckets, 0,
1412:       _M_bucket_count * sizeof(__node_base_ptr));
1412: 
1412:  try
1412:    {
1412:      __hashtable_base::operator=(std::forward<_Ht>(__ht));
1412:      _M_element_count = __ht._M_element_count;
1412:      _M_rehash_policy = __ht._M_rehash_policy;
1412:      __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1412:      _M_before_begin._M_nxt = nullptr;
1412:      _M_assign(std::forward<_Ht>(__ht), __roan);
1412:      if (__former_buckets)
1412:        _M_deallocate_buckets(__former_buckets, __former_bucket_count);
1412:    }
1412:  catch(...)
1412:    {
1412:      if (__former_buckets)
1412:        {
1412: 
1412:   _M_deallocate_buckets();
1412:   _M_rehash_policy._M_reset(__former_state);
1412:   _M_buckets = __former_buckets;
1412:   _M_bucket_count = __former_bucket_count;
1412:        }
1412:      __builtin_memset(_M_buckets, 0,
1412:         _M_bucket_count * sizeof(__node_base_ptr));
1412:      throw;
1412:    }
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _Ht, typename _NodeGenerator>
1412:       void
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _M_assign(_Ht&& __ht, const _NodeGenerator& __node_gen)
1412:       {
1412:  __buckets_ptr __buckets = nullptr;
1412:  if (!_M_buckets)
1412:    _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count);
1412: 
1412:  try
1412:    {
1412:      if (!__ht._M_before_begin._M_nxt)
1412:        return;
1412: 
1412: 
1412: 
1412:      __node_ptr __ht_n = __ht._M_begin();
1412:      __node_ptr __this_n
1412:        = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1412:      this->_M_copy_code(*__this_n, *__ht_n);
1412:      _M_update_bbegin(__this_n);
1412: 
1412: 
1412:      __node_ptr __prev_n = __this_n;
1412:      for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next())
1412:        {
1412:   __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1412:   __prev_n->_M_nxt = __this_n;
1412:   this->_M_copy_code(*__this_n, *__ht_n);
1412:   size_type __bkt = _M_bucket_index(*__this_n);
1412:   if (!_M_buckets[__bkt])
1412:     _M_buckets[__bkt] = __prev_n;
1412:   __prev_n = __this_n;
1412:        }
1412:/12/bits/stl_algobase.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline void
1434:     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       std::__fill_a(__first, __last, __value);
1434:     }
1434: 
1434: 
1434:   inline constexpr int
1434:   __size_to_integer(int __n) { return __n; }
1434:   inline constexpr unsigned
1434:   __size_to_integer(unsigned __n) { return __n; }
1434:   inline constexpr long
1434:   __size_to_integer(long __n) { return __n; }
1434:   inline constexpr unsigned long
1434:   __size_to_integer(unsigned long __n) { return __n; }
1434:   inline constexpr long long
1434:   __size_to_integer(long long __n) { return __n; }
1434:   inline constexpr unsigned long long
1434:   __size_to_integer(unsigned long long __n) { return __n; }
1434: # 1040 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   inline constexpr long long
1434:   __size_to_integer(float __n) { return (long long)__n; }
1434:   inline constexpr long long
1434:   __size_to_integer(double __n) { return (long long)__n; }
1434:   inline constexpr long long
1434:   __size_to_integer(long double __n) { return (long long)__n; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _OutputIterator, typename _Size, typename _Tp>
1434:    
1434:     inline typename
1434:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
1434:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1434:     {
1434:       for (; __n > 0; --__n, (void) ++__first)
1434:  *__first = __value;
1434:       return __first;
1434:     }
1434: 
1434:   template<typename _OutputIterator, typename _Size, typename _Tp>
1434:    
1434:     inline typename
1434:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
1434:     __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
1434:     {
1434:       const _Tp __tmp = __value;
1434:       for (; __n > 0; --__n, (void) ++__first)
1434:  *__first = __tmp;
1434:       return __first;
1434:     }
1434: 
1434:   template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
1434:     typename _Tp>
1434:     ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
1434:     __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
1434:         _Size __n, const _Tp& __value,
1434:         std::input_iterator_tag);
1434: 
1434:   template<typename _OutputIterator, typename _Size, typename _Tp>
1434:    
1434:     inline _OutputIterator
1434:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1434:         std::output_iterator_tag)
1434:     {
1434: 
1434:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1434: 
1434:       return __fill_n_a1(__first, __n, __value);
1434:     }
1434: 
1434:   template<typename _OutputIterator, typename _Size, typename _Tp>
1434:    
1434:     inline _OutputIterator
1434:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1434:         std::input_iterator_tag)
1434:     {
1434: 
1434:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1434: 
1434:       return __fill_n_a1(__first, __n, __value);
1434:     }
1434: 
1434:   template<typename _OutputIterator, typename _Size, typename _Tp>
1434:    
1434:     inline _OutputIterator
1434:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
1434:         std::random_access_iterator_tag)
1434:     {
1434: 
1434:       static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
1434: 
1434:       if (__n <= 0)
1434:  return __first;
1434: 
1434:       ;
1434: 
1434:       std::__fill_a(__first, __first + __n, __value);
1434:       return __first + __n;
1434:     }
1434: # 1140 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _OI, typename _Size, typename _Tp>
1434:    
1434:     inline _OI
1434:     fill_n(_OI __first, _Size __n, const _Tp& __value)
1434:     {
1434: 
1434:      
1434417:   template<typename _Key, typename _Compare, typename _Alloc>
1417:     inline void
1417:     swap(multiset<_Key, _Compare, _Alloc>& __x,
1417:   multiset<_Key, _Compare, _Alloc>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1417:     struct
1417:     _Rb_tree_merge_helper<std::multiset<_Val, _Cmp1, _Alloc>,
1417:      _Cmp2>
1417:     {
1417:     private:
1417:       friend class std::multiset<_Val, _Cmp1, _Alloc>;
1417: 
1417:       static auto&
1417:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1417:       { return __set._M_t; }
1417: 
1417:       static auto&
1417:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1417:       { return __set._M_t; }
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: # 63 "/usr/include/c++/12/set" 2 3
1417: # 71 "/usr/include/c++/12/set" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr
1417:   {
1417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _Key, typename _Cmp = std::less<_Key>>
1417:       using set = std::set<_Key, _Cmp, polymorphic_allocator<_Key>>;
1417:     template<typename _Key, typename _Cmp = std::less<_Key>>
1417:       using multiset = std::multiset<_Key, _Cmp, polymorphic_allocator<_Key>>;
1417:   }
1417: 
1417: }
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h" 2
1417: 
1417: 
1417: 
1417: 
1417: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h"
1417: class CFileItem;
1417: class CVideoInfoTag;
1417: 
1417: class CGUIListItem;
1417: typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
1417: 
1417: namespace KODI
1417: {
1417: namespace GUILIB
1417: {
1417: namespace GUIINFO
1417: {
1417:   class CGUIInfo;
1417:   class IGUIInfoProvider;
1417: }
1417: }
1417: }
1417: namespace INFO
1417: {
1417:   class InfoSingle;
1417: }
1417: namespace MUSIC_INFO
1417: {
1417:   class CMusicInfoTag;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIInfoManager : public KODI::MESSAGING::IMessageTarget
1417: {
1417: public:
1417:   CGUIInfoManager(void);
1417:   ~CGUIInfoManager(void) override;
1417: 
1417:   void Initialize();
1417: 
1417:   void Clear();
1417:   void ResetCache();
1417: 
1417: 
1417:   int GetMessageMask() override;
1417:   void OnApplicationMessage(KODI::MESSAGING::ThreadMessage* pMsg) override;
1417: # 78 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h"
1417:   INFO::InfoPtr Register(const std::string &expression, int context = 0);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void UnRegister(const INFO::InfoPtr& expression);
1417: 
1417: 
1417:   bool ConditionsChangedValues(const std::map<INFO::InfoPtr, bool>& map);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool EvaluateBool(const std::string& expression,
1417:                     int context,
1417:                     const CGUIListItemPtr& item = nullptr);
1417: 
1417:   int TranslateString(const std::string &strCondition);
1417:   int TranslateSingleString(const std::string &strCondition, bool &listItemDependent);
1417: 
1417:   std::string GetLabel(int info, int contextWindow, std::string* fallback = nullptr) const;
1417:   std::string GetImage(int info, int contextWindow, std::string *fallback = nullptr);
1417:   bool GetInt(int& value, int info, int contextWindow, const CGUIListItem* item = nullptr) const;
1417:   bool GetBool(int condition, int contextWindow, const CGUIListItem* item = nullptr);
1417: 
1417:   std::string GetItemLabel(const CFileItem *item, int contextWindow, int info, std::string *fallback = nullptr) const;
1417:   std::string GetItemImage(const CGUIListItem *item, int contextWindow, int info, std::string *fallback = nullptr) const;
1417: # 118 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h"
1417:   bool GetItemInt(int &value, const CGUIListItem *item, int contextWindow, int info) const;
1417:   bool GetItemBool(const CGUIListItem *item, int con: 
1434:       return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
1434:           std::__iterator_category(__first));
1434:     }
1434: 
1434:   template<bool _BoolType>
1434:     struct __equal
1434:     {
1434:       template<typename _II1, typename _II2>
1434: 
1434:  static bool
1434:  equal(_II1 __first1, _II1 __last1, _II2 __first2)
1434:  {
1434:    for (; __first1 != __last1; ++__first1, (void) ++__first2)
1434:      if (!(*__first1 == *__first2))
1434:        return false;
1434:    return true;
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct __equal<true>
1434:     {
1434:       template<typename _Tp>
1434: 
1434:  static bool
1434:  equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
1434:  {
1434:    if (const size_t __len = (__last1 - __first1))
1434:      return !std::__memcmp(__first1, __first2, __len);
1434:    return true;
1434:  }
1434:     };
1434: 
1434:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value, bool>::__type
1434:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1434:    std::_Deque_iterator<_Tp, _Ref, _Ptr>,
1434:    _II);
1434: 
1434:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1434:     typename _Tp2, typename _Ref2, typename _Ptr2>
1434:     bool
1434:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1434:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1434:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1434: 
1434:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value, bool>::__type
1434:     __equal_aux1(_II, _II,
1434:   std::_Deque_iterator<_Tp, _Ref, _Ptr>);
1434: 
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
1434:     {
1434:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1434:       const bool __simple = ((__is_integer<_ValueType1>::__value
1434:          || __is_pointer<_ValueType1>::__value)
1434:         && __memcmpable<_II1, _II2>::__value);
1434:       return std::__equal<__simple>::equal(__first1, __last1, __first2);
1434:     }
1434: 
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
1434:     {
1434:       return std::__equal_aux1(std::__niter_base(__first1),
1434:           std::__niter_base(__last1),
1434:           std::__niter_base(__first2));
1434:     }
1434: 
1434:   template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
1434:     bool
1434:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1434:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1434:   _II2);
1434: 
1434:   template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
1434:     bool
1434:     __equal_aux(_II1, _II1,
1434:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1434: 
1434:   template<typename _II1, typename _Seq1, typename _Cat1,
1434:     typename _II2, typename _Seq2, typename _Cat2>
1434:     bool
1434:     __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1434:   const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
1434:   const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
1434: 
1434:   template<typename, typename>
1434:     struct __lc_rai
1434:     {
1434:       template<typename _II1, typename _II2>
1434: 
1434:  static _II1
1434:  __newlast1(_II1, _II1 __last1, _II2, _II2)
1434:  { return __last1; }
1434: 
1434:       template<typename _II>
1434: 
1434:  static bool
1434:  __cnd2(_II __first, _II __last)
1434:  { return __first != __last; }
1434:     };
1434: 
1434:   template<>
1434:     struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
1434:     {
1434:       template<typename _RAI1, typename _RAI2>
1434: 
1434:  static _RAI1
1434:  __newlast1(_RAI1 __first1, _RAI1 __last1,
1434:      _RAI2 __first2, _RAI2 __last2)
1434:  {
1434:    const typename iterator_traits<_RAI1>::difference_type
1434:      __diff1 = __last1 - __first1;
1434:    const typename iterator_traits<_RAI2>::difference_type
1434:      __diff2 = __last2 - __first2;
1434:    return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
1434:  }
1434: 
1434:       template<typename _RAI>
1434:  static bool
1434:  __cnd2(_RAI, _RAI)
1434:  { return true; }
1434:     };
1434: 
1434:   template<typename _II1, typename _II2, typename _Compare>
1434:    
1434:     bool
1434:     __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
1434:        _II2 __first2, _II2 __last2,
1434:        _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_II1>::iterator_category _Category1;
1434:       typedef typename iterator_traits<_II2>::iterator_category _Category2;
1434:       typedef std::__lc_rai<_Category1, _Category2> __rai_type;
1434: 
1434:       __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
1434:       for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
1434:     ++__first1, (void)++__first2)
1434:  {
1434:    if (__comp(__first1, __first2))
1434:      return true;
1434:    if (__comp(__first2, __first1))
1434:      return false;
1434:  }
1434:       return __first1 == __last1 && __first2 != __last2;
1434:     }
1434: 
1434:   template<bool _BoolType>
1434:     struct __lexicographical_compare
1434:     {
1434:       template<typename _II1, typename _II2>
1434: 
1434:  static bool
1434:  __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1434:  {
1434:    using __gnu_cxx::__ops::__iter_less_iter;
1434:    return std::__lexicographical_compare_impl(__first1, __last1,
1434:            __first2, __last2,
1434:            __iter_less_iter());
1434:  }
1434: 
1434:       template<typename _II1, typename _II2>
1434: 
1434:  static int
1434:  __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1434:  {
1434:    while (__first1 != __last1)
1434:      {
1434:        if (__first2 == __last2)
1434:   return +1;
1434:        if (*__first1 < *__first2)
1434:   return -1;
1434:        if (*__first2 < *__first1)
1434:   return +1;
1434:        ++__first1;
1434:        ++__first2;
1434:      }
1434:    return int(__first2 == __last2) - 1;
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct __lexicographical_compare<true>
1434:     {
1434:       template<typename _Tp, typename _Up>
1434: 
1434:  static bool
1434:  __lc(const _Tp* __first1, const _Tp* __last1,
1434:       const _Up* __first2, const _Up* __last2)
1434:  { return __3way(__first1, __last1, __first2, __last2) < 0; }
1434: 
1434:       template<typename _Tp, typename _Up>
1434: 
1434:  static ptrdiff_t
1434:  __3way(const _Tp* __first1, const _Tp* __last1,
1434:         const _Up* __first2, const _Up* __last2)
1434:  {
1434:    const size_t __len1 = __last1 - __first1;
1434:    const size_t __len2 = __last2 - __first2;
1434:    if (const size_t __len = std::min(__len1, __len2))
1434:      if (int __result = std::__memcmp(__first1, __first2, __len))
1434:        return __result;
1434:    return ptrdiff_t(__len1 - __len2);
1434:  }
1434:     };
1434: 
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
1434:        _II2 __first2, _II2 __last2)
1434:     {
1434:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
1434:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
1434:       const bool __simple =
1434:  (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
1434:   && __is_pointer<_II1>::__value
1434:   && __is_pointer<_II2>::__value
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   );
1434: 
1434:       return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
1434:            __first2, __last2);
1434:     }
1434: 
1434:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1434:     typename _T    }
1412:  catch(...)
1412:    {
1412:      clear();
1412:      if (__buckets)
1412:        _M_deallocate_buckets();
1412:      throw;
1412:    }
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_reset() noexcept
1412:     {
1412:       _M_rehash_policy._M_reset();
1412:       _M_bucket_count = 1;
1412:       _M_single_bucket = nullptr;
1412:       _M_buckets = &_M_single_bucket;
1412:       _M_before_begin._M_nxt = nullptr;
1412:       _M_element_count = 0;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_move_assign(_Hashtable&& __ht, true_type)
1412:     {
1412:       if (__builtin_expect(std::__addressof(__ht) == this, false))
1412:  return;
1412: 
1412:       this->_M_deallocate_nodes(_M_begin());
1412:       _M_deallocate_buckets();
1412:       __hashtable_base::operator=(std::move(__ht));
1412:       _M_rehash_policy = __ht._M_rehash_policy;
1412:       if (!__ht._M_uses_single_bucket())
1412:  _M_buckets = __ht._M_buckets;
1412:       else
1412:  {
1412:    _M_buckets = &_M_single_bucket;
1412:    _M_single_bucket = __ht._M_single_bucket;
1412:  }
1412: 
1412:       _M_bucket_count = __ht._M_bucket_count;
1412:       _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt;
1412:       _M_element_count = __ht._M_element_count;
1412:       std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator());
1412: 
1412: 
1412:       _M_update_bbegin();
1412:       __ht._M_reset();
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_move_assign(_Hashtable&& __ht, false_type)
1412:     {
1412:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1412:  _M_move_assign(std::move(__ht), true_type{});
1412:       else
1412:  {
1412: 
1412:    _M_assign_elements(std::move(__ht));
1412:    __ht.clear();
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _Hashtable(const _Hashtable& __ht)
1412:     : __hashtable_base(__ht),
1412:       __map_base(__ht),
1412:       __rehash_base(__ht),
1412:       __hashtable_alloc(
1412:  __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())),
1412:       __enable_default_ctor(__ht),
1412:       _M_buckets(nullptr),
1412:       _M_bucket_count(__ht._M_bucket_count),
1412:       _M_element_count(__ht._M_element_count),
1412:       _M_rehash_policy(__ht._M_rehash_policy)
1412:     {
1412:       __alloc_node_gen_t __alloc_node_gen(*this);
1412:       _M_assign(__ht, __alloc_node_gen);
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     _Hashtable<_Key, textWindow, int condition) const;
1417: 
1417: 
1417: 
1417:   void SetCurrentItem(const CFileItem &item);
1417:   void ResetCurrentItem();
1417:   void UpdateCurrentItem(const CFileItem &item);
1417: 
1417: 
1417:   void SetCurrentAlbumThumb(const std::string &thumbFileName);
1417:   const MUSIC_INFO::CMusicInfoTag *GetCurrentSongTag() const;
1417: 
1417: 
1417:   const CVideoInfoTag* GetCurrentMovieTag() const;
1417: 
1417:   void UpdateAVInfo();
1417: 
1417:   int RegisterSkinVariableString(const INFO::CSkinVariableString* info);
1417:   int TranslateSkinVariableString(const std::string& name, int context);
1417: 
1417: 
1417: 
1417: 
1417:   void RegisterInfoProvider(KODI::GUILIB::GUIINFO::IGUIInfoProvider *provider);
1417: 
1417: 
1417: 
1417: 
1417:   void UnregisterInfoProvider(KODI::GUILIB::GUIINFO::IGUIInfoProvider *provider);
1417: 
1417: 
1417: 
1417: 
1417:   KODI::GUILIB::GUIINFO::CGUIInfoProviders& GetInfoProviders() { return m_infoProviders; }
1417: 
1417: private:
1417: 
1417: 
1417:   class Property
1417:   {
1417:   public:
1417:     Property(const std::string &property, const std::string &parameters);
1417: 
1417:     const std::string &param(unsigned int n = 0) const;
1417:     unsigned int num_params() const;
1417: 
1417:     std::string name;
1417:   private:
1417:     std::vector<std::string> params;
1417:   };
1417: # 180 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIInfoManager.h"
1417:   void SplitInfoString(const std::string &infoString, std::vector<Property> &info);
1417: 
1417:   int TranslateSingleString(const std::string &strCondition);
1417:   int TranslateListItem(const Property& cat, const Property& prop, int id, bool container);
1417:   int TranslateMusicPlayerString(const std::string &info) const;
1417:   int TranslateVideoPlayerString(const std::string& info) const;
1417:   int TranslatePlayerString(const std::string& info) const;
1417:   static TIME_FORMAT TranslateTimeFormat(const std::string &format);
1417: 
1417:   std::string GetMultiInfoLabel(const KODI::GUILIB::GUIINFO::CGUIInfo &info, int contextWindow, std::string *fallback = nullptr) const;
1417:   bool GetMultiInfoInt(int &value, const KODI::GUILIB::GUIINFO::CGUIInfo &info, int contextWindow, const CGUIListItem *item) const;
1417:   bool GetMultiInfoBool(const KODI::GUILIB::GUIINFO::CGUIInfo &info, int contextWindow, const CGUIListItem *item);
1417: 
1417:   std::string GetMultiInfoItemLabel(const CFileItem *item, int contextWindow, const KODI::GUILIB::GUIINFO::CGUIInfo &info, std::string *fallback = nullptr) const;
1417:   std::string GetMultiInfoItemImage(const CFileItem *item, int contextWindow, const KODI::GUILIB::GUIINFO::CGUIInfo &info, std::string *fallback = nullptr) const;
1417: 
1417:   std::string GetSkinVariableString(int info,
1417:                                     int contextWindow,
1417:                                     bool preferImage = false,
1417:                                     const CGUIListItem* item = nullptr) const;
1417: 
1417:   int AddMultiInfo(const KODI::GUILIB::GUIINFO::CGUIInfo &info);
1417: 
1417:   int ResolveMultiInfo(int info) const;
1417:   bool IsListItemInfo(int info) const;
1417: 
1417:   void SetCurrentSongTag(const MUSIC_INFO::CMusicInfoTag &tag);
1417:   void SetCurrentVideoTag(const CVideoInfoTag &tag);
1417: 
1417: 
1417:   std::vector<KODI::GUILIB::GUIINFO::CGUIInfo> m_multiInfo;
1417: 
1417: 
1417:   CFileItem* m_currentFile;
1417: 
1417:   typedef std::set<INFO::InfoPtr, bool(*)(const INFO::InfoPtr&, const INFO::InfoPtr&)> INFOBOOLTYPE;
1417:   INFOBOOLTYPE m_bools;
1417:   unsigned int m_refreshCounter = 0;
1417:   std::vector<INFO::CSkinVariableString> m_skinVariableStrings;
1417: 
1417:   CCriticalSection m_critInfo;
1417: 
1417:   KODI::GUILIB::GUIINFO::CGUIInfoProviders m_infoProviders;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIUserMessages.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIUserMessages.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417p2>
1434:     bool
1434:     __lexicographical_compare_aux1(
1434:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1434:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1434:  _Tp2*, _Tp2*);
1434: 
1434:   template<typename _Tp1,
1434:     typename _Tp2, typename _Ref2, typename _Ptr2>
1434:     bool
1434:     __lexicographical_compare_aux1(_Tp1*, _Tp1*,
1434:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1434:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1434: 
1434:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1434:     typename _Tp2, typename _Ref2, typename _Ptr2>
1434:     bool
1434:     __lexicographical_compare_aux1(
1434:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1434:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
1434:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
1434:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
1434: 
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
1434:       _II2 __first2, _II2 __last2)
1434:     {
1434:       return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
1434:        std::__niter_base(__last1),
1434:        std::__niter_base(__first2),
1434:        std::__niter_base(__last2));
1434:     }
1434: 
1434:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1434:     typename _II2>
1434:     bool
1434:     __lexicographical_compare_aux(
1434:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1434:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1434:   _II2, _II2);
1434: 
1434:   template<typename _II1,
1434:     typename _Iter2, typename _Seq2, typename _Cat2>
1434:     bool
1434:     __lexicographical_compare_aux(
1434:   _II1, _II1,
1434:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1434:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1434: 
1434:   template<typename _Iter1, typename _Seq1, typename _Cat1,
1434:     typename _Iter2, typename _Seq2, typename _Cat2>
1434:     bool
1434:     __lexicographical_compare_aux(
1434:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1434:   const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
1434:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
1434:   const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
1434: 
1434:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1434:    
1434:     _ForwardIterator
1434:     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1434:     const _Tp& __val, _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1434:  _DistanceType;
1434: 
1434:       _DistanceType __len = std::distance(__first, __last);
1434: 
1434:       while (__len > 0)
1434:  {
1434:    _DistanceType __half = __len >> 1;
1434:    _ForwardIterator __middle = __first;
1434:    std::advance(__middle, __half);
1434:    if (__comp(__middle, __val))
1434:      {
1434:        __first = __middle;
1434:        ++__first;
1434:        __len = __len - __half - 1;
1434:      }
1434:    else
1434:      __len = __half;
1434:  }
1434:       return __first;
1434:     }
1434: # 1486 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline _ForwardIterator
1434:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1434:   const _Tp& __val)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__lower_bound(__first, __last, __val,
1434:     __gnu_cxx::__ops::__iter_less_val());
1434:     }
1434: 
1434: 
1434: 
1434:   inline constexpr int
1434:   __lg(int __n)
1434:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1434: 
1434:   inline constexpr unsigned
1434:   __lg(unsigned __n)
1434:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
1434: 
1434:   inline constexpr long
1434:   __lg(long __n)
1434:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1434: 
1434:   inline constexpr unsigned long
14_Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1412:         true_type )
1412:     noexcept(_S_nothrow_move())
1412:     : __hashtable_base(__ht),
1412:       __map_base(__ht),
1412:       __rehash_base(__ht),
1412:       __hashtable_alloc(std::move(__a)),
1412:       __enable_default_ctor(__ht),
1412:       _M_buckets(__ht._M_buckets),
1412:       _M_bucket_count(__ht._M_bucket_count),
1412:       _M_before_begin(__ht._M_before_begin._M_nxt),
1412:       _M_element_count(__ht._M_element_count),
1412:       _M_rehash_policy(__ht._M_rehash_policy)
1412:     {
1412: 
1412:       if (__ht._M_uses_single_bucket())
1412:  {
1412:    _M_buckets = &_M_single_bucket;
1412:    _M_single_bucket = __ht._M_single_bucket;
1412:  }
1412: 
1412: 
1412:       _M_update_bbegin();
1412: 
1412:       __ht._M_reset();
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _Hashtable(const _Hashtable& __ht, const allocator_type& __a)
1412:     : __hashtable_base(__ht),
1412:       __map_base(__ht),
1412:       __rehash_base(__ht),
1412:       __hashtable_alloc(__node_alloc_type(__a)),
1412:       __enable_default_ctor(__ht),
1412:       _M_buckets(),
1412:       _M_bucket_count(__ht._M_bucket_count),
1412:       _M_element_count(__ht._M_element_count),
1412:       _M_rehash_policy(__ht._M_rehash_policy)
1412:     {
1412:       __alloc_node_gen_t __alloc_node_gen(*this);
1412:       _M_assign(__ht, __alloc_node_gen);
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1412:         false_type )
1412:     : __hashtable_base(__ht),
1412:       __map_base(__ht),
1412:       __rehash_base(__ht),
1412:       __hashtable_alloc(std::move(__a)),
1412:       __enable_default_ctor(__ht),
1412:       _M_buckets(nullptr),
1412:       _M_bucket_count(__ht._M_bucket_count),
1412:       _M_element_count(__ht._M_element_count),
1412:       _M_rehash_policy(__ht._M_rehash_policy)
1412:     {
1412:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1412:  {
1412:    if (__ht._M_uses_single_bucket())
1412:      {
1412:        _M_buckets = &_M_single_bucket;
1412:        _M_single_bucket = __ht._M_single_bucket;
1412:      }
1412:    else
1412:      _M_buckets = __ht._M_buckets;
1412: 
1412: 
1412: 
1412:    _M_update_bbegin(__ht._M_begin());
1412: 
1412:    __ht._M_reset();
1412:  }
1412:       else
1412:  {
1412:    __alloc_node_gen_t __alloc_gen(*this);
1412: 
1412:    using _Fwd_Ht = __conditional_t<
1412:      __move_if_noexcept_cond<value_type>::value,
1412:      const _Hashtable&, _Hashtable&&>;
1412:    _M_assign(std::forward<_Fwd_Ht>(__ht), __alloc_gen);
1412:    __ht.clear();
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     ~_Hashtable() noexcept
1412:     {
1412: 
1412: 
1412: 
1412:       static_assert(noexcept(declval<const __hash_code_base_access&>()
1412:    ._M_bucket_index(declval<const __node_value_type&>(),
1412:       (std::size_t)0)),
1412: 34:   __lg(unsigned long __n)
1434:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
1434: 
1434:   inline constexpr long long
1434:   __lg(long long __n)
1434:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1434: 
1434:   inline constexpr unsigned long long
1434:   __lg(unsigned long long __n)
1434:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
1434: 
1434: 
1434: # 1542 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     equal(_II1 __first1, _II1 __last1, _II2 __first2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       return std::__equal_aux(__first1, __last1, __first2);
1434:     }
1434: # 1573 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1434:    
1434:     inline bool
1434:     equal(_IIter1 __first1, _IIter1 __last1,
1434:    _IIter2 __first2, _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434:      
1434:       ;
1434: 
1434:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1434:  if (!bool(__binary_pred(*__first1, *__first2)))
1434:    return false;
1434:       return true;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1434:     {
1434:       using _RATag = random_access_iterator_tag;
1434:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1434:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1434:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1434:       if (_RAIters())
1434:  {
1434:    auto __d1 = std::distance(__first1, __last1);
1434:    auto __d2 = std::distance(__first2, __last2);
1434:    if (__d1 != __d2)
1434:      return false;
1434:    return std::equal(__first1, __last1, __first2);
1434:  }
1434: 
1434:       for (; __first1 != __last1 && __first2 != __last2;
1434:    ++__first1, (void)++__first2)
1434:  if (!(*__first1 == *__first2))
1434:    return false;
1434:       return __first1 == __last1 && __first2 == __last2;
1434:     }
1434: 
1434: 
1434:   template<typename _II1, typename _II2, typename _BinaryPredicate>
1434:    
1434:     inline bool
1434:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
1434:       _BinaryPredicate __binary_pred)
1434:     {
1434:       using _RATag = random_access_iterator_tag;
1434:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
1434:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
1434:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
1434:       if (_RAIters())
1434:  {
1434:    auto __d1 = std::distance(__first1, __last1);
1434:    auto __d2 = std::distance(__first2, __last2);
1434:    if (__d1 != __d2)
1434:      return false;
1434:    return std::equal(__first1, __last1, __first2,
1434:            __binary_pred);
1434:  }
1434: 
1434:       for (; __first1 != __last1 && __first2 != __last2;
1434:    ++__first1, (void)++__first2)
1434:  if (!bool(__binary_pred(*__first1, *__first2)))
1434:    return false;
1434:       return __first1 == __last1 && __first2 == __last2;
1434:     }
1434: # 1663 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__equal4(__first1, __last1, __first2, __last2);
1434:     }
1434: # 1696 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1434:    
1434:     inline bool
1434:     equal(_IIter1 __first1, _IIter1 __last1,
1434:    _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434:      
1434:       ;
1434:       ;
1434: 
1434:       return std::__equal4(__first1, __last1, __first2, __last2,
1434:           __binary_pred);
1434:     }
1434: # 1728 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _II1, typename _II2>
1434:    
1434:     inline bool
1434:     lexicographical_compare(_II1 __first1, _II1 __last1,
1434:        _II2 __first2, _II2 __last2)
1434:     {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:      
1434:      
1434:      
1434:       ;
1434:       ;
1434: 
1434:       return std::__lexicographical_compare_aux(__first1, __last1,
1434:       __first2, __last2);
1434:     }
1434: # 1763 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _II1, typename _II2, typename _Compare>
1434:    
1434:     inline bool
1434:     lexicographical_compare(_II1 __first1, _II1 __last1,
1434:        _II2 __first2, _II2 __last2, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434:       ;
1434:       ;
1434: 
1434:       return std::__lexicographical_compare_impl
1434:  (__first1, __last1, __first2, __last2,
1434:   __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: # 1875 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     pair<_InputIterator1, _InputIterator2>
1434:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1434:         _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1434:     {
1434:       while (__first1 != __last1 && __binary_pred(__first1, __first2))
1434:  {
1434:    ++__first1;
1434:    ++__first2;
1434:  }
1434:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1434:     }
1434: # 1903 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2>
1434:    
1434:     inline pair<_InputIterator1, _InputIterator2>
1434:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1434:       _InputIterator2 __first2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       return std::__mismatch(__first1, __last1, __first2,
1434:         __gnu_cxx::__ops::__iter_equal_to_iter());
1434:     }
1434: # 1937 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline pair<_InputIterator1, _InputIterator2>
1434:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1434:       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434:      
1434:       ;
1434: 
1434:       return std::__mismatch(__first1, __last1, __first2,
1434:  __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     pair<_InputIterator1, _InputIterator2>
1434:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1434:         _InputIterator2 __first2, _InputIterator2 __last2,
1434:         _BinaryPredicate __binary_pred)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2
1434:       && __binary_pred(__first1, __first2))
1434:  {
1434:    ++__first1;
1434:    ++__first2;
1434:  }
1434:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
1434:     }
1434: # 1986 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2>
1434:    
1434:     inline pair<_InputIterator1, _InputIterator2>
1434:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1434:       _InputIterator2 __first2, _InputIterator2 __last2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__mismatch(__first1, __last1, __first2, __last2,
1434:         __gnu_cxx::__ops::__iter_equal: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_WINDOW_INIT = 1;
1417: constexpr const int GUI_MSG_WINDOW_DEINIT = 2;
1417: constexpr const int GUI_MSG_WINDOW_RESET = 27;
1417: 
1417: constexpr const int GUI_MSG_SETFOCUS = 3;
1417: constexpr const int GUI_MSG_LOSTFOCUS = 4;
1417: 
1417: constexpr const int GUI_MSG_CLICKED = 5;
1417: 
1417: constexpr const int GUI_MSG_VISIBLE = 6;
1417: constexpr const int GUI_MSG_HIDDEN = 7;
1417: 
1417: constexpr const int GUI_MSG_ENABLED = 8;
1417: constexpr const int GUI_MSG_DISABLED = 9;
1417: 
1417: constexpr const int GUI_MSG_SET_SELECTED = 10;
1417: constexpr const int GUI_MSG_SET_DESELECTED = 11;
1417: 
1417: constexpr const int GUI_MSG_LABEL_ADD = 12;
1417: 
1417: constexpr const int GUI_MSG_LABEL_SET = 13;
1417: 
1417: constexpr const int GUI_MSG_LABEL_RESET = 14;
1417: 
1417: constexpr const int GUI_MSG_ITEM_SELECTED = 15;
1417: constexpr const int GUI_MSG_ITEM_SELECT = 16;
1417: constexpr const int GUI_MSG_LABEL2_SET = 17;
1417: constexpr const int GUI_MSG_SHOWRANGE = 18;
1417: 
1417: constexpr const int GUI_MSG_FULLSCREEN = 19;
1417: constexpr const int GUI_MSG_EXECUTE = 20;
1417: 
1417: constexpr const int GUI_MSG_NOTIFY_ALL = 21;
1417: 
1417: 
1417: constexpr const int GUI_MSG_REFRESH_THUMBS = 22;
1417: 
1417: constexpr const int GUI_MSG_MOVE = 23;
1417: 
1417: 
1417: constexpr const int GUI_MSG_LABEL_BIND = 24;
1417: 
1417: constexpr const int GUI_MSG_FOCUSED = 26;
1417: 
1417: constexpr const int GUI_MSG_PAGE_CHANGE = 28;
1417: 
1417: constexpr const int GUI_MSG_REFRESH_LIST = 29;
1417: 
1417: constexpr const int GUI_MSG_PAGE_UP = 30;
1417: constexpr const int GUI_MSG_PAGE_DOWN = 31;
1417: constexpr const int GUI_MSG_MOVE_OFFSET = 32;
1417: 
1417: constexpr const int GUI_MSG_SET_TYPE = 33;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_WINDOW_RESIZE = 34;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_RENDERER_LOST = 35;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_RENDERER_RESET = 36;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_EXCLUSIVE_MOUSE = 37;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_GESTURE_NOTIFY = 38;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_ADD_CONTROL = 39;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_REMOVE_CONTROL = 40;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_UNFOCUS_ALL = 41;
1417: 
1417: constexpr const int GUI_MSG_SET_TEXT = 42;
1417: 
1417: constexpr const int GUI_MSG_WINDOW_LOAD = 43;
1417: 
1417: constexpr const int GUI_MSG_VALIDITY_CHANGED = 44;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_IS_SELECTED = 45;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_SET_LABELS = 46;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_SET_FILENAME = 47;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_GET_FILENAME = 48;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_UI_READY = 49;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_REFRESH_TIMER = 50;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_STATE_CHANGED = 51;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_SUBTITLE_DOWNLOADED = 52;
1417: 
1417: 
1417: constexpr const int GUI_MSG_USER = 1000;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_CODINGTABLE_LOOKUP_COMPLETED = 65000;
1417: # 358 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
1417: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
1417: class CFileItemList;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIMessage final
1417: {
1417: public:
1417:   CGUIMessage(int dwMsg, int senderID, int controlID, int param1 = 0, int param2 = 0);
1417:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, CFileItemLis      "Cache the hash code or qualify your functors involved"
1412:       " in hash code and bucket index computation with noexcept");
1412: 
1412:       clear();
1412:       _M_deallocate_buckets();
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     swap(_Hashtable& __x)
1412:     noexcept(__and_<__is_nothrow_swappable<_Hash>,
1412:    __is_nothrow_swappable<_Equal>>::value)
1412:     {
1412: 
1412: 
1412: 
1412:       this->_M_swap(__x);
1412: 
1412:       std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator());
1412:       std::swap(_M_rehash_policy, __x._M_rehash_policy);
1412: 
1412: 
1412:       if (this->_M_uses_single_bucket())
1412:  {
1412:    if (!__x._M_uses_single_bucket())
1412:      {
1412:        _M_buckets = __x._M_buckets;
1412:        __x._M_buckets = &__x._M_single_bucket;
1412:      }
1412:  }
1412:       else if (__x._M_uses_single_bucket())
1412:  {
1412:    __x._M_buckets = _M_buckets;
1412:    _M_buckets = &_M_single_bucket;
1412:  }
1412:       else
1412:  std::swap(_M_buckets, __x._M_buckets);
1412: 
1412:       std::swap(_M_bucket_count, __x._M_bucket_count);
1412:       std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_nxt);
1412:       std::swap(_M_element_count, __x._M_element_count);
1412:       std::swap(_M_single_bucket, __x._M_single_bucket);
1412: 
1412: 
1412: 
1412:       _M_update_bbegin();
1412:       __x._M_update_bbegin();
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     find(const key_type& __k)
1412:     -> iterator
1412:     {
1412:       if (size() <= __small_size_threshold())
1412:  {
1412:    for (auto __it = begin(); __it != end(); ++__it)
1412:      if (this->_M_key_equals(__k, *__it._M_cur))
1412:        return __it;
1412:    return end();
1412:  }
1412: 
1412:       __hash_code __code = this->_M_hash_code(__k);
1412:       std::size_t __bkt = _M_bucket_index(__code);
1412:       return iterator(_M_find_node(__bkt, __k, __code));
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     find(const key_type& __k) const
1412:     -> const_iterator
1412:     {
1412:       if (size() <= __small_size_threshold())
1412:  {
1412:    for (auto __it = begin(); __it != end(); ++__it)
1412:      if (this->_M_key_equals(__k, *__it._M_cur))
1412:        return __it;
1412:    return end();
1412:  }
1412: 
1412:       __hash_code __code = this->_M_hash_code(__k);
1412:       std::size_t __bkt = _M_bucket_index(__code);
1412:       return const_iterator(_M_find_node(__bkt, __k, __code));
1412:     }
1412: # 1715 "/usr/include/c++/12/bits/hashtable.h" 3
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     count(const key_type& __k) const
1412:     -> size_type
1412:     {
1412:       auto _to_iter());
1434:     }
1434: # 2022 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline pair<_InputIterator1, _InputIterator2>
1434:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
1434:       _InputIterator2 __first2, _InputIterator2 __last2,
1434:       _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434:      
1434:       ;
1434:       ;
1434: 
1434:       return std::__mismatch(__first1, __last1, __first2, __last2,
1434:         __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline _InputIterator
1434:     __find_if(_InputIterator __first, _InputIterator __last,
1434:        _Predicate __pred, input_iterator_tag)
1434:     {
1434:       while (__first != __last && !__pred(__first))
1434:  ++__first;
1434:       return __first;
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Predicate>
1434:    
1434:     _RandomAccessIterator
1434:     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:        _Predicate __pred, random_access_iterator_tag)
1434:     {
1434:       typename iterator_traits<_RandomAccessIterator>::difference_type
1434:  __trip_count = (__last - __first) >> 2;
1434: 
1434:       for (; __trip_count > 0; --__trip_count)
1434:  {
1434:    if (__pred(__first))
1434:      return __first;
1434:    ++__first;
1434: 
1434:    if (__pred(__first))
1434:      return __first;
1434:    ++__first;
1434: 
1434:    if (__pred(__first))
1434:      return __first;
1434:    ++__first;
1434: 
1434:    if (__pred(__first))
1434:      return __first;
1434:    ++__first;
1434:  }
1434: 
1434:       switch (__last - __first)
1434:  {
1434:  case 3:
1434:    if (__pred(__first))
1434:      return __first;
1434:    ++__first;
1434: 
1434:  case 2:
1434:    if (__pred(__first))
1434:      return __first;
1434:    ++__first;
1434: 
1434:  case 1:
1434:    if (__pred(__first))
1434:      return __first;
1434:    ++__first;
1434: 
1434:  case 0:
1434:  default:
1434:    return __last;
1434:  }
1434:     }
1434: 
1434:   template<typename _Iterator, typename _Predicate>
1434:    
1434:     inline _Iterator
1434:     __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
1434:     {
1434:       return __find_if(__first, __last, __pred,
1434:          std::__iterator_category(__first));
1434:     }
1434: 
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     typename iterator_traits<_InputIterator>::difference_type
1434:     __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1434:     {
1434:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
1434:       for (; __first != __last; ++__first)
1434:  if (__pred(__first))
1434:    ++__n;
1434:       return __n;
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Predicate>
1434:    
1434:     _ForwardIterator
1434:     __remove_if(_ForwardIterator __first, _ForwardIterator __last,
1434:   _Predicate __pred)
1434:     {
1434:       __first = std::__find_if(__first, __last, __pred);
1434:       if (__first == __last)
1434:  return __first;
1434:       _ForwardIterator __result = __first;
1434:       ++__first;
1434:       for (; __first != __last; ++__first)
1434:  if (!__pred(__first))
1434:    {
1434:      *__result = std::move(*__first);
1434:      ++__result;
1434:    }
1434:       return __result;
1434:     }
1434: 
1434: 
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     bool
1434:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:        _ForwardIterator2 __first2, _BinaryPredicate __pred)
1434:     {
1434: 
1434: 
1434:       for (; __first1 != __last1; ++__first1, (void)++__first2)
1434:  if (!__pred(__first1, __first2))
1434:    break;
1434: 
1434:       if (__first1 == __last1)
1434:  return true;
1434: 
1434: 
1434: 
1434:       _ForwardIterator2 __last2 = __first2;
1434:       std::advance(__last2, std::distance(__first1, __last1));
1434:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1434:  {
1434:    if (__scan != std::__find_if(__first1, __scan,
1434:      __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1434:      continue;
1434: 
1434:    auto __matches
1434:      = std::__count_if(__first2, __last2,
1434:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1434:    if (0 == __matches ||
1434:        std::__count_if(__scan, __last1,
1434:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1434:        != __matches)
1434:      return false;
1434:  }
1434:       return true;
1434:     }
1434: # 2199 "/usr/include/c++/12/bits/stl_algobase.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1434:    
1434:     inline bool
1434:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:      _ForwardIterator2 __first2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       return std::__is_permutation(__first1, __last1, __first2,
1434:        __gnu_cxx::__ops::__iter_equal_to_iter());
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: # 64 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/allocator.h" 1 3
1434: # 46 "/usr/include/c++/12/bits/allocator.h" 3
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 1 3
1434: # 33 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1434: # 1 "/usr/include/c++/12/bits/new_allocator.h" 1 3
1434: # 34 "/usr/include/c++/12/bits/new_allocator.h" 3
1434: # 1 "/usr/include/c++/12/new" 1 3
1434: # 38 "/usr/include/c++/12/new" 3
1434:        
1434: # 39 "/usr/include/c++/12/new" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/exception.h" 1 3
1434: # 34 "/usr/include/c++/12/bits/exception.h" 3
1434:        
1434: # 35 "/usr/include/c++/12/bits/exception.h" 3
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434: 
1434: extern "C++" {
1434: 
1434: namespace std
1434: {
1434: # 61 "/usr/include/c++/12/bits/exception.h" 3
1434:   class exception
1434:   {
1434:   public:
1434:     exception() noexcept { }
1434:     virtual ~exception() noexcept;
1434: 
1434:     exception(const exception&) = default;
1434:     exception& operator=(const exception&) = default;
1434:     exception(exception&&) = default;
1434:     exception& operator=(exception&&) = default;
1434: 
1434: 
1434: 
1434: 
1434:     virtual const char*
1434:     what() const noexcept;
1434:   };
1434: 
1434: 
1434: 
1434: }
1434: 
1434: }
1434: 
1434: #pragma GCC visibility pop
1434: # 42 "/usr/include/c++/12/new" 2 3
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: extern "C++" {
1434: 
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class bad_alloc : public exception
1434:   {
1434:   public:
1434:     bad_alloc() throw() { }
1434: 
1434: 
1434:     bad_alloc(const bad_alloc&) = default;
1434:     bad_alloc& operator=(const bad_alloc&) = default;
1434: 
1434: 
1434: 
1434: 
1434:     virtual ~bad_alloc() throw();
1434: 
1434: 
1434:     virtual const char* what() const throw();
1434:   };
1434: 
1434: 
1434:   class bad_array_new_length : public bad_alloc
1434:   {
1434:   public:
1434:     bad_array_new_length() throw() { }
1434: 
1434: 
1434: 
1434:     virtual ~bad_array_new_length() throw();
1434: 
1434: 
1434:     virtual const char* what() const throw();
1434:   };
1434: 
1434: 
1434: 
1434:   enum class align_val_t: size_t {};
1434: 
1434: 
1434:   struct nothrow_t
1434:   {
1434: 
1434:     explicit nothrow_t() = default;
1434: 
1434:   };
1434: 
1434:   extern const nothrow_t nothrow;
1434: 
1434: 
1434: 
1434:   typedef void (*new_handler)();
1434: 
1434: 
1434: 
1434:   new_handler set_new_handler(new_handler) throw();
1434: 
1434: 
1434: 
1434:   new_handler get_new_handler() noexcept* item);
1417:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, const CGUIListItemPtr &item);
1417:   CGUIMessage(const CGUIMessage& msg);
1417:   ~CGUIMessage(void);
1417:   CGUIMessage& operator = (const CGUIMessage& msg);
1417: 
1417:   int GetControlId() const ;
1417:   int GetMessage() const;
1417:   void* GetPointer() const;
1417:   CGUIListItemPtr GetItem() const;
1417:   int GetParam1() const;
1417:   int GetParam2() const;
1417:   int GetSenderId() const;
1417:   void SetParam1(int param1);
1417:   void SetParam2(int param2);
1417:   void SetPointer(void* pointer);
1417:   void SetLabel(const std::string& strLabel);
1417:   void SetLabel(int iString);
1417:   const std::string& GetLabel() const;
1417:   void SetStringParam(const std::string &strParam);
1417:   void SetStringParams(const std::vector<std::string> &params);
1417:   const std::string& GetStringParam(size_t param = 0) const;
1417:   size_t GetNumStringParams() const;
1417: 
1417: private:
1417:   std::string m_strLabel;
1417:   std::vector<std::string> m_params;
1417:   int m_senderID;
1417:   int m_controlID;
1417:   int m_message;
1417:   void* m_pointer;
1417:   int m_param1;
1417:   int m_param2;
1417:   CGUIListItemPtr m_item;
1417: 
1417:   static std::string empty_string;
1417: };
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIUserMessages.h" 2
1417: 
1417: 
1417: constexpr const int GUI_MSG_REMOVED_MEDIA = GUI_MSG_USER + 1;
1417: constexpr const int GUI_MSG_UPDATE_SOURCES = GUI_MSG_USER + 2;
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAYLIST_CHANGED = GUI_MSG_USER + 3;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_START_SLIDESHOW = GUI_MSG_USER + 4;
1417: 
1417: constexpr const int GUI_MSG_PLAYBACK_STARTED = GUI_MSG_USER + 5;
1417: constexpr const int GUI_MSG_PLAYBACK_ENDED = GUI_MSG_USER + 6;
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAYBACK_STOPPED = GUI_MSG_USER + 7;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAYLISTPLAYER_STARTED = GUI_MSG_USER + 8;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAYLISTPLAYER_CHANGED = GUI_MSG_USER + 9;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAYLISTPLAYER_STOPPED = GUI_MSG_USER + 10;
1417: 
1417: constexpr const int GUI_MSG_LOAD_SKIN = GUI_MSG_USER + 11;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_DIRECTORY_SCANNED = GUI_MSG_USER + 12;
1417: 
1417: constexpr const int GUI_MSG_SCAN_FINISHED = GUI_MSG_USER + 13;
1417: 
1417: 
1417: constexpr const int GUI_MSG_QUEUE_NEXT_ITEM = GUI_MSG_USER + 16;
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAY_TRAILER = GUI_MSG_USER + 17;
1417: 
1417: 
1417: constexpr const int GUI_MSG_VISUALISATION_UNLOADING = GUI_MSG_USER + 117;
1417: constexpr const int GUI_MSG_VISUALISATION_LOADED = GUI_MSG_USER + 118;
1417: constexpr const int GUI_MSG_GET_VISUALISATION = GUI_MSG_USER + 119;
1417: constexpr const int GUI_MSG_VISUALISATION_ACTION = GUI_MSG_USER + 120;
1417: constexpr const int GUI_MSG_VISUALISATION_RELOAD = GUI_MSG_USER + 121;
1417: 
1417: constexpr const int GUI_MSG_VIDEO_MENU_STARTED = GUI_MSG_USER + 21;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAYLISTPLAYER_RANDOM = GUI_MSG_USER + 22;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int GUI_MSG_PLAYLISTPLAYER_REPEAT = GUI_MSG_USER + 23;
1417: 
1417: 
1417: constexpr const int GUI_MSG_WEATHER_FETCHED = GUI_MSG_USER + 24;
1417: 
1417: 
1417: constexpr const int GUI_MSG_CHECK_LOCK = GUI_MSG_USER + 25;
1417: 
1417: 
1417: constexpr const int GUI_MSG_UPDATE = GUI_MSG_USER + 26;
1417: 
1417: 
1417: constexpr const int GUI_MSG_FILTER_ITEMS = GUI_MSG_USER + 27;
1417: 
1417: 
1417: constexpr const int GUI_MSG_SEARCH_UPDATE = GUI_MSG_USER + 28;
1417: 
1417: 
1417: constexpr const int GUI_MSG_UPDATE_ITEM = GUI_MSG_USER + 29;
1417: 
1417: 
1417: constexpr int GUI_MSG_FLAG_UPDATE_LIST = 0x00000001;
1417: constexpr int GUI_MSG_FLAG_FORCE_UPDATE = 0x00000002;
1417: 
1417: 
1417: constexpr const int GUI_MSG_CHANG__it = find(__k);
1412:       if (!__it._M_cur)
1412:  return 0;
1412: 
1412:       if (__unique_keys::value)
1412:  return 1;
1412: 
1412: 
1412: 
1412: 
1412:       size_type __result = 1;
1412:       for (auto __ref = __it++;
1412:     __it._M_cur && this->_M_node_equals(*__ref._M_cur, *__it._M_cur);
1412:     ++__it)
1412:  ++__result;
1412: 
1412:       return __result;
1412:     }
1412: # 1776 "/usr/include/c++/12/bits/hashtable.h" 3
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     equal_range(const key_type& __k)
1412:     -> pair<iterator, iterator>
1412:     {
1412:       auto __ite = find(__k);
1412:       if (!__ite._M_cur)
1412:  return { __ite, __ite };
1412: 
1412:       auto __beg = __ite++;
1412:       if (__unique_keys::value)
1412:  return { __beg, __ite };
1412: 
1412: 
1412: 
1412: 
1412:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1412:  ++__ite;
1412: 
1412:       return { __beg, __ite };
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     equal_range(const key_type& __k) const
1412:     -> pair<const_iterator, const_iterator>
1412:     {
1412:       auto __ite = find(__k);
1412:       if (!__ite._M_cur)
1412:  return { __ite, __ite };
1412: 
1412:       auto __beg = __ite++;
1412:       if (__unique_keys::value)
1412:  return { __beg, __ite };
1412: 
1412: 
1412: 
1412: 
1412:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1412:  ++__ite;
1412: 
1412:       return { __beg, __ite };
1412:     }
1412: # 1890 "/usr/include/c++/12/bits/hashtable.h" 3
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_find_before_node(const key_type& __k)
1412:     -> __node_base_ptr
1412:     {
1412:       __node_base_ptr __prev_p = &_M_before_begin;
1412:       if (!__prev_p->_M_nxt)
1412:  return nullptr;
1412: 
1412:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);
1412:     __p != nullptr;
1412:     __p = __p->_M_next())
1412:  {
1412:    if (this->_M_key_equals(__k, *__p))
1412:      return __prev_p;
1412: 
1412:    __prev_p = __p;
1412:  }
1412: 
1412:       return nullptr;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_find_before_node(size_type __bkt, const key_type& __k,
1412:    __hash_code __code) const
1412:     -> __node_base_ptr
1412:     {
1412:       __node_base_ptr __prev_p = _M_buckets[__bkt];
1412:       if (!__prev_p)
1412:  return nullptr;
1412: 
1412:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1412:     __p = __p->_M_next())
1412:  {
1412:    if (this->_M_equals(__k, __code, *__p))
1412:      return __prev_p;
1412: 
1412:    if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
141t;
1434: 
1434: }
1434: # 126 "/usr/include/c++/12/new" 3
1434: [[__nodiscard__]] void* operator new(std::size_t)
1434:   __attribute__((__externally_visible__));
1434: [[__nodiscard__]] void* operator new[](std::size_t)
1434:   __attribute__((__externally_visible__));
1434: void operator delete(void*) noexcept
1434:   __attribute__((__externally_visible__));
1434: void operator delete[](void*) noexcept
1434:   __attribute__((__externally_visible__));
1434: 
1434: void operator delete(void*, std::size_t) noexcept
1434:   __attribute__((__externally_visible__));
1434: void operator delete[](void*, std::size_t) noexcept
1434:   __attribute__((__externally_visible__));
1434: 
1434: [[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&) noexcept
1434:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1434: [[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&) noexcept
1434:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1434: void operator delete(void*, const std::nothrow_t&) noexcept
1434:   __attribute__((__externally_visible__));
1434: void operator delete[](void*, const std::nothrow_t&) noexcept
1434:   __attribute__((__externally_visible__));
1434: 
1434: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
1434:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1434: [[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
1434:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1434: void operator delete(void*, std::align_val_t)
1434:   noexcept __attribute__((__externally_visible__));
1434: void operator delete(void*, std::align_val_t, const std::nothrow_t&)
1434:   noexcept __attribute__((__externally_visible__));
1434: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
1434:   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1434: [[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
1434:   noexcept __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
1434: void operator delete[](void*, std::align_val_t)
1434:   noexcept __attribute__((__externally_visible__));
1434: void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
1434:   noexcept __attribute__((__externally_visible__));
1434: 
1434: void operator delete(void*, std::size_t, std::align_val_t)
1434:   noexcept __attribute__((__externally_visible__));
1434: void operator delete[](void*, std::size_t, std::align_val_t)
1434:   noexcept __attribute__((__externally_visible__));
1434: 
1434: 
1434: 
1434: 
1434: [[__nodiscard__]] inline void* operator new(std::size_t, void* __p) noexcept
1434: { return __p; }
1434: [[__nodiscard__]] inline void* operator new[](std::size_t, void* __p) noexcept
1434: { return __p; }
1434: 
1434: 
1434: inline void operator delete (void*, void*) noexcept { }
1434: inline void operator delete[](void*, void*) noexcept { }
1434: 
1434: }
1434: 
1434: 
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[nodiscard]] constexpr _Tp*
1434:     launder(_Tp* __p) noexcept
1434:     { return __builtin_launder(__p); }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Ret, typename... _Args , bool _NE>
1434:     void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete;
1434:   template<typename _Ret, typename... _Args , bool _NE>
1434:     void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete;
1434: 
1434:   void launder(void*) = delete;
1434:   void launder(const void*) = delete;
1434:   void launder(volatile void*) = delete;
1434:   void launder(const volatile void*) = delete;
1434: 
1434: 
1434: 
1434: 
1434:   inline constexpr size_t hardware_destructive_interference_size = 64;
1434:   inline constexpr size_t hardware_constructive_interference_size = 64;
1434: 
1434: }
1434: # 236 "/usr/include/c++/12/new" 3
1434: #pragma GCC visibility pop
1434: # 35 "/usr/include/c++/12/bits/new_allocator.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 55 "/usr/include/c++/12/bits/new_allocator.h" 3
1434:   template<typename _Tp>
1434:     class __new_allocator
1434:     {
1434:     public:
1434:       typedef _Tp value_type;
1434:       typedef std::size_t size_type;
1434:       typedef std::ptrdiff_t difference_type;
1434: 
1434:       typedef _Tp* pointer;
1434:       typedef const _Tp* const_pointer;
1434:       typedef _Tp& reference;
1434:       typedef const _Tp& const_reference;
1434: 
1434:       template<typename _Tp1>
1434:  struct rebind
1434:  { typedef __new_allocator<_Tp1> other; };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef std::true_type propagate_on_container_move_assignment;
1434: 
1434: 
1434:      
1434:       __new_allocator() noexcept { }
1434: 
1434:      
1434:       __new_allocator(const __new_allocator&) noexcept { }
1434: 
1434:       template<typename _Tp1>
1434: 
1434:  __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
1434: 
1434: 
1434:       ~__new_allocator() noexcept { }
1434: 
1434:       pointer
1434:       address(reference __x) const noexcept
1434:       { return std::__addressof(__x); }
1434: 
1434:       const_pointer
1434:       address(const_reference __x) const noexcept
1434:       { return std::__addressof(__x); }
1434: # 111 "/usr/include/c++/12/bits/new_allocator.h" 3
1434:       [[__nodiscard__]] _Tp*
1434:       allocate(size_type __n, const void* = static_cast<const void*>(0))
1434:       {
1434: 
1434: 
1434: 
1434:  static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
1434: 
1434: 
1434:  if (__builtin_expect(__n > this->_M_max_size(), false))
1434:    {
1434: 
1434: 
1434:      if (__n > (std::size_t(-1) / sizeof(_Tp)))
1434:        std::__throw_bad_array_new_length();
1434:      std::__throw_bad_alloc();
1434:    }
1434: 
1434: 
1434:  if (alignof(_Tp) > 8)
1434:    {
1434:      std::align_val_t __al = std::align_val_t(alignof(_Tp));
1434:      return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp),
1434:           __al));
1434:    }
1434: 
1434:  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
1434:       }
1434: 
1434: 
1434:       void
1434:       deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  if (alignof(_Tp) > 8)
1434:    {
1434:      ::operator delete((__p), (__n) * sizeof(_Tp),
1434:          std::align_val_t(alignof(_Tp)));
1434:      return;
1434:    }
1434: 
1434:  ::operator delete((__p), (__n) * sizeof(_Tp));
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_max_size(); }
1434: 
1434: 
1434:       template<typename _Up, typename... _Args>
1434:  void
1434:  construct(_Up* __p, _Args&&... __args)
1434:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1434:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
1434: 
1434:       template<typename _Up>
1434:  void
1434:  destroy(_Up* __p)
1434:  noexcept(std::is_nothrow_destructible<_Up>::value)
1434:  { __p->~_Up(); }
1434: # 194 "/usr/include/c++/12/bits/new_allocator.h" 3
1434:       template<typename _Up>
1434:  friend bool
1434:  operator==(const __new_allocator&, const __new_allocator<_Up>&)
1434:  noexcept
1434:  { return true; }
1434: 
1434: 
1434:       template<typename _Up>
1434:  friend bool
1434:  operator!=(const __new_allocator&, const __new_allocator<_Up>&)
1434:  noexcept
1434:  { return false; }
1434: 
1434: 
1434:     private:
1434:       constexpr size_type
1434:       _M_max_size() const noexcept
1434:       {
1434: 
1434:  return std::size_t(0x7fffffff) / sizeof(_Tp);
1434: 
1434: 
1434: 
1434:       }
1434:     };
1434: 
1434: 
1434: }
1434: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 2 3
1434: 
1434: 
1434: namespace std
1434: {
1434: # 46 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++allocator.h" 3
1434:   template<tE_VIEW_MODE = GUI_MSG_USER + 30;
1417: 
1417: 
1417: constexpr const int GUI_MSG_CHANGE_SORT_METHOD = GUI_MSG_USER + 31;
1417: constexpr const int GUI_MSG_CHANGE_SORT_DIRECTION = GUI_MSG_USER + 32;
1417: 
1417: 
1417: constexpr const int GUI_MSG_UPDATE_PATH = GUI_MSG_USER + 33;
1417: 
1417: 
1417: constexpr const int GUI_MSG_SEARCH = GUI_MSG_USER + 34;
1417: 
1417: 
1417: constexpr const int GUI_MSG_SETTING_UPDATED = GUI_MSG_USER + 35;
1417: 
1417: 
1417: constexpr const int GUI_MSG_SHOW_PICTURE = GUI_MSG_USER + 36;
1417: 
1417: 
1417: constexpr const int GUI_MSG_EVENT_ADDED = GUI_MSG_USER + 39;
1417: constexpr const int GUI_MSG_EVENT_REMOVED = GUI_MSG_USER + 40;
1417: 
1417: 
1417: constexpr const int GUI_MSG_UPDATE_RADIOTEXT = GUI_MSG_USER + 41;
1417: 
1417: constexpr const int GUI_MSG_PLAYBACK_ERROR = GUI_MSG_USER + 42;
1417: constexpr const int GUI_MSG_PLAYBACK_AVCHANGE = GUI_MSG_USER + 43;
1417: constexpr const int GUI_MSG_PLAYBACK_AVSTARTED = GUI_MSG_USER + 44;
1417: 
1417: 
1417: constexpr const int GUI_MSG_SYSTEM_SLEEP = GUI_MSG_USER + 45;
1417: constexpr const int GUI_MSG_SYSTEM_WAKE = GUI_MSG_USER + 46;
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h"
1417:        
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h"
1417: class IDirtyRegionSolver
1417: {
1417: public:
1417:   virtual ~IDirtyRegionSolver() = default;
1417: 
1417: 
1417:   virtual void Solve(const CDirtyRegionList &input, CDirtyRegionList &output) = 0;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CDirtyRegionTracker
1417: {
1417: public:
1417:   explicit CDirtyRegionTracker(int buffering = 3);
1417:   ~CDirtyRegionTracker();
1417:   void SelectAlgorithm();
1417:   void MarkDirtyRegion(const CDirtyRegion &region);
1417: 
1417:   const CDirtyRegionList &GetMarkedRegions() const;
1417:   CDirtyRegionList GetDirtyRegions();
1417:   void CleanMarkedRegions();
1417: 
1417: private:
1417:   CDirtyRegionList m_markedRegions;
1417:   int m_buffering;
1417:   IDirtyRegionSolver *m_solver;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIControl;
1417: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
1417: 
1417: 
1417: 
1417: 
1417: class CGUIAction
1417: {
1417: public:
1417: 
1417: 
1417: 
1417:   class CExecutableAction
1417:   {
1417:   public:
1417: 
1417: 
1417: 
1417: 
1417:     explicit CExecutableAction(const std::string& action);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     CExecutableAction(const std::string& condition, const std::string& action);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     std::string GetCondition() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     bool HasCondition() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     std::string GetAction() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     void SetAction(const std::string& action);
1417: 
1417:   private:
1417: 
1417: 
1417: 
1417:     CExecutableAction() = delete;
1417: 
1417:     std::string m_condition;
1417: 
1417:     std::sypename _Tp>
1434:     using __allocator_base = __new_allocator<_Tp>;
1434: }
1434: # 47 "/usr/include/c++/12/bits/allocator.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/memoryfwd.h" 1 3
1434: # 46 "/usr/include/c++/12/bits/memoryfwd.h" 3
1434:        
1434: # 47 "/usr/include/c++/12/bits/memoryfwd.h" 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 63 "/usr/include/c++/12/bits/memoryfwd.h" 3
1434:   template<typename>
1434:     class allocator;
1434: 
1434:   template<>
1434:     class allocator<void>;
1434: 
1434: 
1434: 
1434:   template<typename, typename>
1434:     struct uses_allocator;
1434: 
1434:   template<typename>
1434:     struct allocator_traits;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 48 "/usr/include/c++/12/bits/allocator.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 71 "/usr/include/c++/12/bits/allocator.h" 3
1434:   template<>
1434:     class allocator<void>
1434:     {
1434:     public:
1434:       typedef void value_type;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434: 
1434: 
1434: 
1434:       typedef void* pointer;
1434:       typedef const void* const_pointer;
1434: 
1434:       template<typename _Tp1>
1434:  struct rebind
1434:  { typedef allocator<_Tp1> other; };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using propagate_on_container_move_assignment = true_type;
1434: 
1434:       using is_always_equal
1434: 
1434:  = true_type;
1434: # 113 "/usr/include/c++/12/bits/allocator.h" 3
1434:     };
1434: # 123 "/usr/include/c++/12/bits/allocator.h" 3
1434:   template<typename _Tp>
1434:     class allocator : public __allocator_base<_Tp>
1434:     {
1434:     public:
1434:       typedef _Tp value_type;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434: 
1434: 
1434: 
1434:       typedef _Tp* pointer;
1434:       typedef const _Tp* const_pointer;
1434:       typedef _Tp& reference;
1434:       typedef const _Tp& const_reference;
1434: 
1434:       template<typename _Tp1>
1434:  struct rebind
1434:  { typedef allocator<_Tp1> other; };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using propagate_on_container_move_assignment = true_type;
1434: 
1434:       using is_always_equal
1434: 
1434:  = true_type;
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       allocator() noexcept { }
1434: 
1434:      
1434:       allocator(const allocator& __a) noexcept
1434:       : __allocator_base<_Tp>(__a) { }
1434: 
1434: 
1434: 
1434:       allocator& operator=(const allocator&) = default;
1434: 
1434: 
1434:       template<typename _Tp1>
1434: 
1434:  allocator(const allocator<_Tp1>&) noexcept { }
1434: 
1434: 
1434: 
1434: 
1434:       ~allocator() noexcept { }
1434: # 204 "/usr/include/c++/12/bits/allocator.h" 3
1434:       friend bool
1434:       operator==(const allocator&, const allocator&) noexcept
1434:       { return true; }
1434: 
1434: 
1434:       friend bool
1434:       operator!=(const allocator&, const allocator&) noexcept
1434:       { return false; }
1434: 
1434: 
1434: 
1434:     };
1434: 
1434:   template<typename _T1, typename _T2>
1434:     inline bool
1434:     operator==(const allocator<_T1>&, const allocator<_T2>&)
1434:     noexcept
1434:     { return true; }
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
1434:     inline bool
1434:     operator!=(const allocator<_T1>&, const allocator<_T2>&)
1434:     noexcept
1434:     { return false; }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     class allocator<const _Tp>
1434:     {
1434:     public:
1434:       typedef _Tp value_type;
1434:       template<typename _Up> allocator(const allocator<_Up>&) { }
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     class allocator<volatile _Tp>
1434:     {
1434:     public:
1434:       typedef _Tp value_type;
1434:       template<typename _Up> allocator(const allocator<_Up>&) { }
1434:     };
1434: 
1434:   template<typenam2:      break;
1412:    __prev_p = __p;
1412:  }
1412: 
1412:       return nullptr;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _Kt>
1412:       auto
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _M_find_before_node_tr(size_type __bkt, const _Kt& __k,
1412:         __hash_code __code) const
1412:       -> __node_base_ptr
1412:       {
1412:  __node_base_ptr __prev_p = _M_buckets[__bkt];
1412:  if (!__prev_p)
1412:    return nullptr;
1412: 
1412:  for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1412:       __p = __p->_M_next())
1412:    {
1412:      if (this->_M_equals_tr(__k, __code, *__p))
1412:        return __prev_p;
1412: 
1412:      if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
1412:        break;
1412:      __prev_p = __p;
1412:    }
1412: 
1412:  return nullptr;
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_insert_bucket_begin(size_type __bkt, __node_ptr __node)
1412:     {
1412:       if (_M_buckets[__bkt])
1412:  {
1412: 
1412: 
1412:    __node->_M_nxt = _M_buckets[__bkt]->_M_nxt;
1412:    _M_buckets[__bkt]->_M_nxt = __node;
1412:  }
1412:       else
1412:  {
1412: 
1412: 
1412: 
1412:    __node->_M_nxt = _M_before_begin._M_nxt;
1412:    _M_before_begin._M_nxt = __node;
1412: 
1412:    if (__node->_M_nxt)
1412: 
1412: 
1412:      _M_buckets[_M_bucket_index(*__node->_M_next())] = __node;
1412: 
1412:    _M_buckets[__bkt] = &_M_before_begin;
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_remove_bucket_begin(size_type __bkt, __node_ptr __next,
1412:       size_type __next_bkt)
1412:     {
1412:       if (!__next || __next_bkt != __bkt)
1412:  {
1412: 
1412: 
1412:    if (__next)
1412:      _M_buckets[__next_bkt] = _M_buckets[__bkt];
1412: 
1412: 
1412:    if (&_M_before_begin == _M_buckets[__bkt])
1412:      _M_before_begin._M_nxt = __next;
1412:    _M_buckets[__bkt] = nullptr;
1412:  }
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_get_previous_node(size_type __bkt, __node_ptr __n)
1412:     -> __node_base_ptr
1412:     {
1412:       __node_base_ptr __prev_n = _M_buckets[__bkt];
1412:       while (__prev_n->_M_nxt != __n)
1412:  __prev_n = __prev_n->_M_nxt;
1412:       return __prev_n;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename... _Args>
1412:       auto
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _M_emplace(true_type , _Args&&... __args)
1412:   e _Tp>
1434:     class allocator<const volatile _Tp>
1434:     {
1434:     public:
1434:       typedef _Tp value_type;
1434:       template<typename _Up> allocator(const allocator<_Up>&) { }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   extern template class allocator<char>;
1434:   extern template class allocator<wchar_t>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1434:     struct __alloc_swap
1434:     { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
1434: 
1434:   template<typename _Alloc>
1434:     struct __alloc_swap<_Alloc, false>
1434:     {
1434:       static void
1434:       _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
1434:       {
1434: 
1434:  if (__one != __two)
1434:    swap(__one, __two);
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Alloc, bool = __is_empty(_Alloc)>
1434:     struct __alloc_neq
1434:     {
1434:       static bool
1434:       _S_do_it(const _Alloc&, const _Alloc&)
1434:       { return false; }
1434:     };
1434: 
1434:   template<typename _Alloc>
1434:     struct __alloc_neq<_Alloc, false>
1434:     {
1434:       static bool
1434:       _S_do_it(const _Alloc& __one, const _Alloc& __two)
1434:       { return __one != __two; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, bool
1434:     = __or_<is_copy_constructible<typename _Tp::value_type>,
1434:             is_nothrow_move_constructible<typename _Tp::value_type>>::value>
1434:     struct __shrink_to_fit_aux
1434:     { static bool _S_do_it(_Tp&) noexcept { return false; } };
1434: 
1434:   template<typename _Tp>
1434:     struct __shrink_to_fit_aux<_Tp, true>
1434:     {
1434:      
1434:       static bool
1434:       _S_do_it(_Tp& __c) noexcept
1434:       {
1434: 
1434:  try
1434:    {
1434:      _Tp(__make_move_if_noexcept_iterator(__c.begin()),
1434:   __make_move_if_noexcept_iterator(__c.end()),
1434:   __c.get_allocator()).swap(__c);
1434:      return true;
1434:    }
1434:  catch(...)
1434:    { return false; }
1434: 
1434: 
1434: 
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_construct.h" 1 3
1434: # 73 "/usr/include/c++/12/bits/stl_construct.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template <typename _Tp>
1434:     inline void
1434:     destroy_at(_Tp* __location)
1434:     {
1434:       if constexpr (201703L > 201703L && is_array_v<_Tp>)
1434:  {
1434:    for (auto& __x : *__location)
1434:      std::destroy_at(std::__addressof(__x));
1434:  }
1434:       else
1434:  __location->~_Tp();
1434:     }
1434: # 106 "/usr/include/c++/12/bits/stl_construct.h" 3
1434:   template<typename _Tp, typename... _Args>
1434:    
1434:     inline void
1434:     _Construct(_Tp* __p, _Args&&... __args)
1434:     {
1434: # 119 "/usr/include/c++/12/bits/stl_construct.h" 3
1434:       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1434:     }
1434: # 132 "/usr/include/c++/12/bits/stl_construct.h" 3
1434:   template<typename _T1>
1434:     inline void
1434:     _Construct_novalue(_T1* __p)
1434:     { ::new((void*)__p) _T1; }
1434: 
1434:   template<typename _ForwardIterator>
1434:     void
1434:     _Destroy(_ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr inline void
1434:     _Destroy(_Tp* __pointer)
1434:     {
1434: 
1434: 
1434: 
1434:       __pointer->~_Tp();
1434: 
1434:     }
1434: 
1434:   template<bool>
1434:     struct _Destroy_aux
1434:     {
1434:       template<typename _ForwardIterator>
1434:  static void
1434:  __destroy(_ForwardIterator __first, _ForwardIterator __last)
1434:  {
1434:    for (; __first != __last; ++__first)
1434:      std::_Destroy(std::__addressof(*__first));
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct _Destroy_aux<true>
1434:     {
1434:       template<typename _ForwardIterator>
1434:         static void
1434:         __destroy(tring m_action;
1417:   };
1417: 
1417:   CGUIAction() = default;
1417:   explicit CGUIAction(int controlID);
1417: 
1417: 
1417: 
1417:   bool ExecuteActions() const;
1417: 
1417: 
1417: 
1417:   bool ExecuteActions(int controlID, int parentID, const CGUIListItemPtr& item = nullptr) const;
1417: 
1417: 
1417: 
1417:   bool HasActionsMeetingCondition() const;
1417: 
1417: 
1417: 
1417:   bool HasAnyActions() const;
1417: 
1417: 
1417: 
1417:   int GetNavigation() const;
1417: 
1417: 
1417: 
1417:   void SetNavigation(int id);
1417: 
1417: 
1417: 
1417:   void EnableSendThreadMessageMode();
1417: 
1417: 
1417: 
1417:   void Append(const CExecutableAction& action);
1417: 
1417: 
1417: 
1417:   void Reset();
1417: 
1417: private:
1417:   std::vector<CExecutableAction> m_actions;
1417:   bool m_sendThreadMessages = false;
1417: };
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
1417:        
1417: 
1417: 
1417: 
1417: class CGUIControlLookup : public CGUIControl
1417: {
1417: public:
1417:   CGUIControlLookup() = default;
1417:   CGUIControlLookup(int parentID, int controlID, float posX, float posY, float width, float height)
1417:     : CGUIControl(parentID, controlID, posX, posY, width, height) {}
1417:   explicit CGUIControlLookup(const CGUIControlLookup& from);
1417:   ~CGUIControlLookup(void) override = default;
1417: 
1417:   CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr) override;
1417: protected:
1417:   typedef std::multimap<int, CGUIControl *> LookupMap;
1417: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
1417:   bool IsValidControl(const CGUIControl *control) const;
1417:   std::pair<LookupMap::const_iterator, LookupMap::const_iterator> GetLookupControls(int controlId) const
1417:   {
1417:     return m_lookup.equal_range(controlId);
1417:   };
1417: 
1417: 
1417:   void AddLookup(CGUIControl *control);
1417:   void RemoveLookup(CGUIControl *control);
1417:   void RemoveLookup();
1417:   const LookupMap &GetLookup() const { return m_lookup; }
1417:   void ClearLookup() { m_lookup.clear(); }
1417: private:
1417:   LookupMap m_lookup;
1417: };
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIControlGroup : public CGUIControlLookup
1417: {
1417: public:
1417:   CGUIControlGroup();
1417:   CGUIControlGroup(int parentID, int controlID, float posX, float posY, float width, float height);
1417:   explicit CGUIControlGroup(const CGUIControlGroup& from);
1417:   ~CGUIControlGroup(void) override;
1417:   CGUIControlGroup* Clone() const override { return new CGUIControlGroup(*this); }
1417: 
1417:   void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
1417:   void Render() override;
1417:   void RenderEx() override;
1417:   bool OnAction(const CAction &action) override;
1417:   bool OnMessage(CGUIMessage& message) override;
1417:   virtual bool SendControlMessage(CGUIMessage& message);
1417:   bool HasFocus() const override;
1417:   void AllocResources() override;
1417:   void FreeResources(bool immediately = false) override;
1417:   void DynamicResourceAlloc(bool bOnOff) override;
1417:   bool CanFocus() const override;
1417: 
1417:   EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event) override;
1417:   void UnfocusFromPoint(const CPoint &point) override;
1417: 
1417:   void SetInitialVisibility() override;
1417: 
1417:   bool IsAnimating(ANIMATION_TYPE anim) override;
1417:   bool HasAnimation(ANIMATION_TYPE anim) override;
1417:   void QueueAnimation(ANIMATION_TYPE anim) override;
1417:   void ResetAnimation(ANIMATION_TYPE anim) overri_ForwardIterator, _ForwardIterator) { }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator>
1434:     inline void
1434:     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:                        _Value_type;
1434: 
1434: 
1434:       static_assert(is_destructible<_Value_type>::value,
1434:       "value type is destructible");
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
1434:  __destroy(__first, __last);
1434:     }
1434: 
1434:   template<bool>
1434:     struct _Destroy_n_aux
1434:     {
1434:       template<typename _ForwardIterator, typename _Size>
1434:  static _ForwardIterator
1434:  __destroy_n(_ForwardIterator __first, _Size __count)
1434:  {
1434:    for (; __count > 0; (void)++__first, --__count)
1434:      std::_Destroy(std::__addressof(*__first));
1434:    return __first;
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct _Destroy_n_aux<true>
1434:     {
1434:       template<typename _ForwardIterator, typename _Size>
1434:         static _ForwardIterator
1434:         __destroy_n(_ForwardIterator __first, _Size __count)
1434:  {
1434:    std::advance(__first, __count);
1434:    return __first;
1434:  }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Size>
1434:     inline _ForwardIterator
1434:     _Destroy_n(_ForwardIterator __first, _Size __count)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:                        _Value_type;
1434: 
1434: 
1434:       static_assert(is_destructible<_Value_type>::value,
1434:       "value type is destructible");
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>::
1434:  __destroy_n(__first, __count);
1434:     }
1434: 
1434: 
1434:   template <typename _ForwardIterator>
1434:     inline void
1434:     destroy(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434:       std::_Destroy(__first, __last);
1434:     }
1434: 
1434:   template <typename _ForwardIterator, typename _Size>
1434:     inline _ForwardIterator
1434:     destroy_n(_ForwardIterator __first, _Size __count)
1434:     {
1434:       return std::_Destroy_n(__first, __count);
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: # 66 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_uninitialized.h" 1 3
1434: # 64 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434: # 1 "/usr/include/c++/12/ext/alloc_traits.h" 1 3
1434: # 32 "/usr/include/c++/12/ext/alloc_traits.h" 3
1434:        
1434: # 33 "/usr/include/c++/12/ext/alloc_traits.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/alloc_traits.h" 1 3
1434: # 41 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct __allocator_traits_base
1434:   {
1434:     template<typename _Tp, typename _Up, typename = void>
1434:       struct __rebind : __replace_first_arg<_Tp, _Up> { };
1434: 
1434:     template<typename _Tp, typename _Up>
1434:       struct __rebind<_Tp, _Up,
1434:         __void_t<typename _Tp::template rebind<_Up>::other>>
1434:       { using type = typename _Tp::template rebind<_Up>::other; };
1434: 
1434:   protected:
1434:     template<typename _Tp>
1434:       using __pointer = typename _Tp::pointer;
1434:     template<typename _Tp>
1434:       using __c_pointer = typename _Tp::const_pointer;
1434:     template<typename _Tp>
1434:       using __v_pointer = typename _Tp::void_pointer;
1434:     template<typename _Tp>
1434:       using __cv_pointer = typename _Tp::const_void_pointer;
1434:     template<typename _Tp>
1434:       using __pocca = typename _Tp::propagate_on_container_copy_assignment;
1434:     template<typename _Tp>
1434:       using __pocma = typename _Tp::propagate_on_container_move_assignment;
1434:     t    -> pair<iterator, bool>
1412:       {
1412: 
1412:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1412:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1412:  if (size() <= __small_size_threshold())
1412:    {
1412:      for (auto __it = begin(); __it != end(); ++__it)
1412:        if (this->_M_key_equals(__k, *__it._M_cur))
1412: 
1412:   return { __it, false };
1412:    }
1412: 
1412:  __hash_code __code = this->_M_hash_code(__k);
1412:  size_type __bkt = _M_bucket_index(__code);
1412:  if (size() > __small_size_threshold())
1412:    if (__node_ptr __p = _M_find_node(__bkt, __k, __code))
1412: 
1412:      return { iterator(__p), false };
1412: 
1412: 
1412:  auto __pos = _M_insert_unique_node(__bkt, __code, __node._M_node);
1412:  __node._M_node = nullptr;
1412:  return { __pos, true };
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename... _Args>
1412:       auto
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _M_emplace(const_iterator __hint, false_type ,
1412:    _Args&&... __args)
1412:       -> iterator
1412:       {
1412: 
1412:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1412:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1412: 
1412:  auto __res = this->_M_compute_hash_code(__hint, __k);
1412:  auto __pos
1412:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
1412:      __node._M_node);
1412:  __node._M_node = nullptr;
1412:  return __pos;
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_compute_hash_code(const_iterator __hint, const key_type& __k) const
1412:     -> pair<const_iterator, __hash_code>
1412:     {
1412:       if (size() <= __small_size_threshold())
1412:  {
1412:    if (__hint != cend())
1412:      {
1412:        for (auto __it = __hint; __it != cend(); ++__it)
1412:   if (this->_M_key_equals(__k, *__it._M_cur))
1412:     return { __it, this->_M_hash_code(*__it._M_cur) };
1412:      }
1412: 
1412:    for (auto __it = cbegin(); __it != __hint; ++__it)
1412:      if (this->_M_key_equals(__k, *__it._M_cur))
1412:        return { __it, this->_M_hash_code(*__it._M_cur) };
1412:  }
1412: 
1412:       return { __hint, this->_M_hash_code(__k) };
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_insert_unique_node(size_type __bkt, __hash_code __code,
1412:      __node_ptr __node, size_type __n_elt)
1412:     -> iterator
1412:     {
1412:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1412:       std::pair<bool, std::size_t> __do_rehash
1412:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count,
1412:        __n_elt);
1412: 
1412:       if (__do_rehash.first)
1412:  {
1412:    _M_rehash(__do_rehash.second, __saved_state);
1412:    __bkt = _M_bucket_index(__code);
1412:  }
1412: 
1412:       this->_M_store_code(*__node, __code);
1412: 
1412: 
1412:       _M_insert_bucket_begin(__bkt, __node);
1412:       ++_M_element_count;
1412:       return iterator(__node);
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typenamemplate<typename _Tp>
1434:       using __pocs = typename _Tp::propagate_on_container_swap;
1434:     template<typename _Tp>
1434:       using __equal = typename _Tp::is_always_equal;
1434:   };
1434: 
1434:   template<typename _Alloc, typename _Up>
1434:     using __alloc_rebind
1434:       = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
1434: # 89 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:   template<typename _Alloc>
1434:     struct allocator_traits : __allocator_traits_base
1434:     {
1434: 
1434:       typedef _Alloc allocator_type;
1434: 
1434:       typedef typename _Alloc::value_type value_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
1434: 
1434:     private:
1434: 
1434:       template<template<typename> class _Func, typename _Tp, typename = void>
1434:  struct _Ptr
1434:  {
1434:    using type = typename pointer_traits<pointer>::template rebind<_Tp>;
1434:  };
1434: 
1434:       template<template<typename> class _Func, typename _Tp>
1434:  struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
1434:  {
1434:    using type = _Func<_Alloc>;
1434:  };
1434: 
1434: 
1434:       template<typename _A2, typename _PtrT, typename = void>
1434:  struct _Diff
1434:  { using type = typename pointer_traits<_PtrT>::difference_type; };
1434: 
1434:       template<typename _A2, typename _PtrT>
1434:  struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
1434:  { using type = typename _A2::difference_type; };
1434: 
1434: 
1434:       template<typename _A2, typename _DiffT, typename = void>
1434:  struct _Size : make_unsigned<_DiffT> { };
1434: 
1434:       template<typename _A2, typename _DiffT>
1434:  struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
1434:  { using type = typename _A2::size_type; };
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using void_pointer = typename _Ptr<__v_pointer, void>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using difference_type = typename _Diff<_Alloc, pointer>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using size_type = typename _Size<_Alloc, difference_type>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using propagate_on_container_copy_assignment
1434:  = __detected_or_t<false_type, __pocca, _Alloc>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using propagate_on_container_move_assignment
1434:  = __detected_or_t<false_type, __pocma, _Alloc>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using propagate_on_container_swap
1434:  = __detected_or_t<false_type, __pocs, _Alloc>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using is_always_equal
1434:  = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>;
1434: 
1434:       template<typename _Tp>
1434:  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
1434:       template<typename _Tp>
1434:  using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
1434: 
1434:     private:
1434:       template<typename _Alloc2>
1434:  static constexpr auto
1434:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int)
1434:  -> decltype(__a.allocate(__n, __hint))
1434:  { return __a.allocate(__n, __hint); }
1434: 
1434:       template<typename _Alloc2>
1434:  static constexpr pointer
1434:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...)
1434:  { return __a.allocate(__n); }
1434: 
1434:       template<typename _Tp, typename... _Args>
1434:  struct __construct_helper
1434:  {
1434:    template<typename _Alloc2,
1434:      typename = decltype(std::declval<_Alloc2*>()->construct(
1434:     std::declval<_Tp*>(), std::declval<_Args>()...))>
1434:      static true_type __tde;
1417:   void ResetAnimations() override;
1417: 
1417:   int GetFocusedControlID() const;
1417:   CGUIControl *GetFocusedControl() const;
1417:   virtual CGUIControl *GetFirstFocusableControl(int id);
1417: 
1417:   virtual void AddControl(CGUIControl *control, int position = -1);
1417:   bool InsertControl(CGUIControl *control, const CGUIControl *insertPoint);
1417:   virtual bool RemoveControl(const CGUIControl *control);
1417:   virtual void ClearAll();
1417:   void SetDefaultControl(int id, bool always)
1417:   {
1417:     m_defaultControl = id;
1417:     m_defaultAlways = always;
1417:   }
1417:   void SetRenderFocusedLast(bool renderLast) { m_renderFocusedLast = renderLast; }
1417: 
1417:   void SaveStates(std::vector<CControlState> &states) override;
1417: 
1417:   bool IsGroup() const override { return true; }
1417: 
1417: 
1417: 
1417: 
1417: protected:
1417: 
1417:   std::vector<CGUIControl *> m_children;
1417: 
1417:   typedef std::vector<CGUIControl *>::iterator iControls;
1417:   typedef std::vector<CGUIControl *>::const_iterator ciControls;
1417:   typedef std::vector<CGUIControl *>::reverse_iterator rControls;
1417:   typedef std::vector<CGUIControl *>::const_reverse_iterator crControls;
1417: 
1417:   int m_defaultControl;
1417:   bool m_defaultAlways;
1417:   int m_focusedControl;
1417:   bool m_renderFocusedLast;
1417: private:
1417:   typedef std::vector< std::vector<CGUIControl *> * > COLLECTORTYPE;
1417: 
1417:   struct IDCollectorList
1417:   {
1417:     ~IDCollectorList()
1417:     {
1417:       for (auto item : m_items)
1417:         delete item;
1417:     }
1417: 
1417:     std::vector<CGUIControl *> *Get() {
1417:       if (++m_stackDepth > m_items.size())
1417:         m_items.push_back(new std::vector<CGUIControl *>());
1417:       return m_items[m_stackDepth - 1];
1417:     }
1417: 
1417:     void Release() { --m_stackDepth; }
1417: 
1417:     COLLECTORTYPE m_items;
1417:     size_t m_stackDepth = 0;
1417:   }m_idCollector;
1417: 
1417:   struct IDCollector
1417:   {
1417:     explicit IDCollector(IDCollectorList& list) : m_list(list), m_collector(list.Get()) {}
1417: 
1417:     ~IDCollector() { m_list.Release(); }
1417: 
1417:     IDCollectorList &m_list;
1417:     std::vector<CGUIControl *> *m_collector;
1417:   };
1417: };
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1417: 
1417: 
1417: 
1417: class CFileItem; typedef std::shared_ptr<CFileItem> CFileItemPtr;
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
1417: # 34 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
1417: # 203 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
1417: # 1 "/usr/include/limits.h" 1 3 4
1417: # 26 "/usr/include/limits.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1417: # 27 "/usr/include/limits.h" 2 3 4
1417: # 195 "/usr/include/limits.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 28 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
1417: # 161 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 1 3 4
1417: # 38 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 3 4
1417: # 1 "/usr/include/linux/limits.h" 1 3 4
1417: # 39 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 2 3 4
1417: # 162 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
1417: # 196 "/usr/include/limits.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h" 1 3 4
1417: # 200 "/usr/include/limits.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 1 3 4
1417: # 64 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" e _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_insert_multi_node(__node_ptr __hint,
1412:     __hash_code __code, __node_ptr __node)
1412:     -> iterator
1412:     {
1412:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1412:       std::pair<bool, std::size_t> __do_rehash
1412:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1);
1412: 
1412:       if (__do_rehash.first)
1412:  _M_rehash(__do_rehash.second, __saved_state);
1412: 
1412:       this->_M_store_code(*__node, __code);
1412:       const key_type& __k = _ExtractKey{}(__node->_M_v());
1412:       size_type __bkt = _M_bucket_index(__code);
1412: 
1412: 
1412: 
1412:       __node_base_ptr __prev
1412:  = __builtin_expect(__hint != nullptr, false)
1412:    && this->_M_equals(__k, __code, *__hint)
1412:      ? __hint
1412:      : _M_find_before_node(__bkt, __k, __code);
1412: 
1412:       if (__prev)
1412:  {
1412: 
1412:    __node->_M_nxt = __prev->_M_nxt;
1412:    __prev->_M_nxt = __node;
1412:    if (__builtin_expect(__prev == __hint, false))
1412: 
1412: 
1412:      if (__node->_M_nxt
1412:   && !this->_M_equals(__k, __code, *__node->_M_next()))
1412:        {
1412:   size_type __next_bkt = _M_bucket_index(*__node->_M_next());
1412:   if (__next_bkt != __bkt)
1412:     _M_buckets[__next_bkt] = __node;
1412:        }
1412:  }
1412:       else
1412: 
1412: 
1412: 
1412:  _M_insert_bucket_begin(__bkt, __node);
1412:       ++_M_element_count;
1412:       return iterator(__node);
1412:     }
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _Kt, typename _Arg, typename _NodeGenerator>
1412:       auto
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _M_insert_unique(_Kt&& __k, _Arg&& __v,
1412:          const _NodeGenerator& __node_gen)
1412:       -> pair<iterator, bool>
1412:       {
1412:  if (size() <= __small_size_threshold())
1412:    for (auto __it = begin(); __it != end(); ++__it)
1412:      if (this->_M_key_equals_tr(__k, *__it._M_cur))
1412:        return { __it, false };
1412: 
1412:  __hash_code __code = this->_M_hash_code_tr(__k);
1412:  size_type __bkt = _M_bucket_index(__code);
1412: 
1412:  if (size() > __small_size_threshold())
1412:    if (__node_ptr __node = _M_find_node_tr(__bkt, __k, __code))
1412:      return { iterator(__node), false };
1412: 
1412:  _Scoped_node __node {
1412:    __node_builder_t::_S_build(std::forward<_Kt>(__k),
1412:          std::forward<_Arg>(__v),
1412:          __node_gen),
1412:    this
1412:  };
1412:  auto __pos
1412:    = _M_insert_unique_node(__bkt, __code, __node._M_node);
1412:  __node._M_node = nullptr;
1412:  return { __pos, true };
1412:       }
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     template<typename _Arg, typename _NodeGenerator>
1412:       auto
1412:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:       _M_insert(const_iterator __hint, _Arg&& __v,
1412:   const _NodeGenerator& __node_gen,
1412:   false_type )
1412:       -> iterator
1412:       {
1412: 
1412:  _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this };
1412: 
1412: 
1412:  auto __res = this->_M_compute_hash_code(
1412:    __hint, _ExtractKey{}(__node._M_node->_M_v()));
1412: 
1412:  auto __pos
1412:    = _M_insert_multi_node(__resest(int);
1434: 
1434:    template<typename>
1434:      static false_type __test(...);
1434: 
1434:    using type = decltype(__test<_Alloc>(0));
1434:  };
1434: 
1434:       template<typename _Tp, typename... _Args>
1434:  using __has_construct
1434:    = typename __construct_helper<_Tp, _Args...>::type;
1434: 
1434:       template<typename _Tp, typename... _Args>
1434:  static constexpr _Require<__has_construct<_Tp, _Args...>>
1434:  _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1434:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
1434:  { __a.construct(__p, std::forward<_Args>(__args)...); }
1434: 
1434:       template<typename _Tp, typename... _Args>
1434:  static constexpr
1434:  _Require<__and_<__not_<__has_construct<_Tp, _Args...>>,
1434:           is_constructible<_Tp, _Args...>>>
1434:  _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
1434:  noexcept(std::is_nothrow_constructible<_Tp, _Args...>::value)
1434:  {
1434: 
1434:    ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
1434: 
1434: 
1434: 
1434:  }
1434: 
1434:       template<typename _Alloc2, typename _Tp>
1434:  static constexpr auto
1434:  _S_destroy(_Alloc2& __a, _Tp* __p, int)
1434:  noexcept(noexcept(__a.destroy(__p)))
1434:  -> decltype(__a.destroy(__p))
1434:  { __a.destroy(__p); }
1434: 
1434:       template<typename _Alloc2, typename _Tp>
1434:  static constexpr void
1434:  _S_destroy(_Alloc2&, _Tp* __p, ...)
1434:  noexcept(std::is_nothrow_destructible<_Tp>::value)
1434:  { std::_Destroy(__p); }
1434: 
1434:       template<typename _Alloc2>
1434:  static constexpr auto
1434:  _S_max_size(_Alloc2& __a, int)
1434:  -> decltype(__a.max_size())
1434:  { return __a.max_size(); }
1434: 
1434:       template<typename _Alloc2>
1434:  static constexpr size_type
1434:  _S_max_size(_Alloc2&, ...)
1434:  {
1434: 
1434: 
1434:    return __gnu_cxx::__numeric_traits<size_type>::__max
1434:      / sizeof(value_type);
1434:  }
1434: 
1434:       template<typename _Alloc2>
1434:  static constexpr auto
1434:  _S_select(_Alloc2& __a, int)
1434:  -> decltype(__a.select_on_container_copy_construction())
1434:  { return __a.select_on_container_copy_construction(); }
1434: 
1434:       template<typename _Alloc2>
1434:  static constexpr _Alloc2
1434:  _S_select(_Alloc2& __a, ...)
1434:  { return __a; }
1434: 
1434:     public:
1434: # 316 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       [[__nodiscard__]] static pointer
1434:       allocate(_Alloc& __a, size_type __n)
1434:       { return __a.allocate(__n); }
1434: # 331 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       [[__nodiscard__]] static pointer
1434:       allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
1434:       { return _S_allocate(__a, __n, __hint, 0); }
1434: # 343 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       static void
1434:       deallocate(_Alloc& __a, pointer __p, size_type __n)
1434:       { __a.deallocate(__p, __n); }
1434: # 358 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       template<typename _Tp, typename... _Args>
1434:  static auto
1434:  construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
1434:  noexcept(noexcept(_S_construct(__a, __p,
1434:            std::forward<_Args>(__args)...)))
1434:  -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
1434:  { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
1434: # 374 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       template<typename _Tp>
1434:  static void
1434:  destroy(_Alloc& __a, _Tp* __p)
1434:  noexcept(noexcept(_S_destroy(__a, __p, 0)))
1434:  { _S_destroy(__a, __p, 0); }
1434: # 388 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       static size_type
1434:       max_size(const _Alloc& __a) noexcept
1434:       { return _S_max_size(__a, 0); }
1434: # 400 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       static _Alloc
1434:       select_on_container_copy_construction(const _Alloc& __rhs)
1434:       { return _S_select(__rhs, 0); }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct allocator_traits<allocator<_Tp>>
1434:     {
1434: 
1434:       using allocator_type = allocator<_Tp>;
1434: 
1434: 
1434:       using value_type = _Tp;
1434: 
1434: 
1434:       using pointer = _Tp*;
1434: 
1434: 
1434:       using const_pointer = const _Tp*;
1434: 
1434: 
1434:       using void_pointer = void*;
1434: 
1434: 
1434:       using const_void_pointer = const void*;
1434: 
1434: 
1434:       using difference_type = std::ptrdiff_t;
1434: 
1434: 
1434:       using size_type = std::size_t;
1434: 
1434: 
1434:       using propagate_on_container_copy_assignment = false_type;
1434: 
1434: 
1434:       using propagate_on_container_move_assignment = true_type;
1434: 
1434: 
1434:       using propagate_on_container_swap = false_type;
1434: 
1434: 
1434:       using is_always_equal = true_type;
1434: 
1434:       template<typename _Up>
1434:  using rebind_alloc = allocator<_Up>;
1434: 
1434:       template<typename _Up>
1434:  using rebind_traits = allocator_traits<allocator<_Up>>;
1434: # 462 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       [[__nodiscard__]] static pointer
1434:       allocate(allocator_type& __a, size_type __n)
1434:       { return __a.allocate(__n); }
1434: # 476 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       [[__nodiscard__]] static pointer
1434:       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
1434:       {
1434: 
1434:  return __a.allocate(__n, __hint);
1434: 
1434: 
1434: 
1434:       }
1434: # 494 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       static void
1434:       deallocate(allocator_type& __a, pointer __p, size_type __n)
1434:       { __a.deallocate(__p, __n); }
1434: # 509 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       template<typename _Up, typename... _Args>
1434:  static void
1434:  construct(allocator_type& __a __attribute__((__unused__)), _Up* __p,
1434:     _Args&&... __args)
1434:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1434:  {
1434: 
1434:    __a.construct(__p, std::forward<_Args>(__args)...);
1434: 
1434: 
1434: 
1434:  }
1434: # 529 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       template<typename _Up>
1434:  static void
1434:  destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
1434:  noexcept(is_nothrow_destructible<_Up>::value)
1434:  {
1434: 
1434:    __a.destroy(__p);
1434: 
1434: 
1434: 
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static size_type
1434:       max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
1434:       {
1434: 
1434:  return __a.max_size();
1434: 
1434: 
1434: 
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static allocator_type
1434:       select_on_container_copy_construction(const allocator_type& __rhs)
1434:       { return __rhs; }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct allocator_traits<allocator<void>>
1434:     {
1434: 
1434:       using allocator_type = allocator<void>;
1434: 
1434: 
1434:       using value_type = void;
1434: 
1434: 
1434:       using pointer = void*;
1434: 
1434: 
1434:       using const_pointer = const void*;
1434: 
1434: 
1434:       using void_pointer = void*;
1434: 
1434: 
1434:       using const_void_pointer = const void*;
1434: 
1434: 
1434:       using difference_type = std::ptrdiff_t;
1434: 
1434: 
1434:       using size_type = std::size_t;
1434: 
1434: 
1434:       using propagate_on_container_copy_assignment = false_type;
1434: 
1434: 
1434:       using propagate_on_container_move_assignment = true_type;
1434: 
1434: 
1434:       using propagate_on_container_swap = false_type;
1434: 
1434: 
1434:       using is_always_equal = true_type;
1434: 
1434:       template<typename _Up>
1434:  using rebind_alloc = allocator<_Up>;
1434: 
1434:       template<typename _Up>
1434:  using rebind_traits = allocator_traits<allocator<_Up>>;
1434: 
1434: 
1434:       static void*
1434:       allocate(allocator_type&, size_type, const void* = nullptr) = delete;
1434: 
1434: 
1434:       static void
1434:       deallocate(allocat3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/uio_lim.h" 1 3 4
1417: # 65 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 2 3 4
1417: # 204 "/usr/include/limits.h" 2 3 4
1417: # 204 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
1417: # 8 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 2 3 4
1417: # 35 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
1417: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1417: 
1417: 
1417: 
1417: enum RenderOrder {
1417:   RENDER_ORDER_WINDOW = 0,
1417:   RENDER_ORDER_DIALOG = 1,
1417:   RENDER_ORDER_WINDOW_SCREENSAVER = 0x7fffffff,
1417:   RENDER_ORDER_WINDOW_POINTER = 0x7fffffff - 1,
1417:   RENDER_ORDER_WINDOW_DEBUG = 0x7fffffff - 2,
1417:   RENDER_ORDER_DIALOG_TELETEXT = 0x7fffffff - 3
1417: };
1417: 
1417: 
1417: class TiXmlNode;
1417: class TiXmlElement;
1417: class CXBMCTinyXML;
1417: class CVariant;
1417: 
1417: class COrigin
1417: {
1417: public:
1417:   COrigin()
1417:   {
1417:     x = y = 0;
1417:   };
1417:   float x;
1417:   float y;
1417:   INFO::InfoPtr condition;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIWindow : public CGUIControlGroup, protected CCriticalSection
1417: {
1417: public:
1417:   enum LOAD_TYPE { LOAD_EVERY_TIME, LOAD_ON_GUI_INIT, KEEP_IN_MEMORY };
1417: 
1417:   CGUIWindow(int id, const std::string &xmlFile);
1417:   ~CGUIWindow(void) override;
1417: 
1417:   bool Initialize();
1417:   bool Load(const std::string& strFileName, bool bContainsPath = false);
1417: 
1417:   void CenterWindow();
1417: 
1417:   void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void DoRender() override;
1417: 
1417: 
1417: 
1417: 
1417:   void AfterRender();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void FrameMove() {}
1417: 
1417:   void Close(bool forceClose = false, int nextWindowID = 0, bool enableSound = true, bool bWait = true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool OnAction(const CAction &action) override;
1417: 
1417:   using CGUIControlGroup::OnBack;
1417:   virtual bool OnBack(int actionID);
1417:   using CGUIControlGroup::OnInfo;
1417:   virtual bool OnInfo(int actionID) { return false; }
1417: 
1417: 
1417: 
1417:   virtual void ClearBackground();
1417: 
1417:   bool OnMove(int fromControl, int moveAction);
1417:   bool OnMessage(CGUIMessage& message) override;
1417: 
1417:   bool ControlGroupHasFocus(int groupID, int controlID);
1417:   void SetID(int id) override;
1417:   virtual bool HasID(int controlID) const;
1417:   const std::vector<int>& GetIDRange() const { return m_idRange; }
1417:   int GetPreviousWindow() { return m_previousWindow; }
1417:   CRect GetScaledBounds() const;
1417:   void ClearAll() override;
1417:   using CGUIControlGroup::AllocResources;
1417:   virtual void AllocResources(bool forceLoad = false);
1417:   void FreeResources(bool forceUnLoad = false) override;
1417:   void DynamicResourceAlloc(bool bOnOff) override;
1417:   virtual bool IsDialog() const { return false; }
1417:   virtual bool IsDialogRunning() const { return false; }
1417:   virtual bool IsModalDialog() const { return false; }
1417:   virtual bool IsMediaWindow() const { return false; }
1417:   virtual bool HasListItems() const { return false; }
1417:   virtual bool IsSoundEnabled() const { return true; }
1417:   virtual CFileItemPtr GetCurrentListItem(int offset = 0) { return CFileItemPtr(); }
1417:   virtual int GetViewContainerID() const { return 0; }
1417:   virtual int GetViewCount() const { return 0; }
1417:   virtual bool CanBeActivated() const { return true; }
1417:   virtual bool IsActive() const;
1417:   void SetCoordsRes(const RESOLUTION_INFO& res) { m_coordsRes = res; }
1417:   const RESOLUTION_INFO& GetCoordsRes() const { return m_coordsRes; }
1417:   void SetLoadType(LOAD_TYPE loadType) { m_loadType = loadType; }
1417:   LOAD_TYPE GetLoadType() { return m_loadType; }
1417:   int GetRenderOrder() { return m_renderOrder; }
1417:   void SetInitialVisibility() override;
.first._M_cur, __res.second,
1412:      __node._M_node);
1412:  __node._M_node = nullptr;
1412:  return __pos;
1412:       }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     erase(const_iterator __it)
1412:     -> iterator
1412:     {
1412:       __node_ptr __n = __it._M_cur;
1412:       std::size_t __bkt = _M_bucket_index(*__n);
1412: 
1412: 
1412: 
1412: 
1412:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1412:       return _M_erase(__bkt, __prev_n, __n);
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n)
1412:     -> iterator
1412:     {
1412:       if (__prev_n == _M_buckets[__bkt])
1412:  _M_remove_bucket_begin(__bkt, __n->_M_next(),
1412:    __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1412:       else if (__n->_M_nxt)
1412:  {
1412:    size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1412:    if (__next_bkt != __bkt)
1412:      _M_buckets[__next_bkt] = __prev_n;
1412:  }
1412: 
1412:       __prev_n->_M_nxt = __n->_M_nxt;
1412:       iterator __result(__n->_M_next());
1412:       this->_M_deallocate_node(__n);
1412:       --_M_element_count;
1412: 
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_erase(true_type , const key_type& __k)
1412:     -> size_type
1412:     {
1412:       __node_base_ptr __prev_n;
1412:       __node_ptr __n;
1412:       std::size_t __bkt;
1412:       if (size() <= __small_size_threshold())
1412:  {
1412:    __prev_n = _M_find_before_node(__k);
1412:    if (!__prev_n)
1412:      return 0;
1412: 
1412: 
1412:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1412:    __bkt = _M_bucket_index(*__n);
1412:  }
1412:       else
1412:  {
1412:    __hash_code __code = this->_M_hash_code(__k);
1412:    __bkt = _M_bucket_index(__code);
1412: 
1412: 
1412:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1412:    if (!__prev_n)
1412:      return 0;
1412: 
1412: 
1412:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1412:  }
1412: 
1412:       _M_erase(__bkt, __prev_n, __n);
1412:       return 1;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_erase(false_type , const key_type& __k)
1412:     -> size_type
1412:     {
1412:       std::size_t __bkt;
1412:       __node_base_ptr __prev_n;
1412:       __node_ptr __n;
1412:       if (size() <= __small_size_threshold())
1412:  {
1412:    __prev_n = _M_find_before_node(__k);
1412:    if (!__prev_n)
1412:      return 0;
1412: 
1412: 
1412:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1412:    __bkt = _M_bucket_index(*__n);
1412:  }
1412:       else
1412:  {
1412:    __hash_code __code = this->_M_hash_code(__kor_type&, void*, size_type) = delete;
1434: # 631 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       template<typename _Up, typename... _Args>
1434:  static void
1434:  construct(allocator_type&, _Up* __p, _Args&&... __args)
1434:  noexcept(std::is_nothrow_constructible<_Up, _Args...>::value)
1434:  { std::_Construct(__p, std::forward<_Args>(__args)...); }
1434: # 644 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:       template<typename _Up>
1434:  static void
1434:  destroy(allocator_type&, _Up* __p)
1434:  noexcept(is_nothrow_destructible<_Up>::value)
1434:  { std::_Destroy(__p); }
1434: 
1434: 
1434:       static size_type
1434:       max_size(const allocator_type&) = delete;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static allocator_type
1434:       select_on_container_copy_construction(const allocator_type& __rhs)
1434:       { return __rhs; }
1434:     };
1434: # 676 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:   template<typename _Alloc>
1434:     constexpr inline void
1434:     __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
1434:     {
1434:       typedef allocator_traits<_Alloc> __traits;
1434:       typedef typename __traits::propagate_on_container_copy_assignment __pocca;
1434: 
1434:       if constexpr (__pocca::value)
1434:  __one = __two;
1434: 
1434: 
1434: 
1434:     }
1434: 
1434:   template<typename _Alloc>
1434:     constexpr _Alloc
1434:     __alloc_on_copy(const _Alloc& __a)
1434:     {
1434:       typedef allocator_traits<_Alloc> __traits;
1434:       return __traits::select_on_container_copy_construction(__a);
1434:     }
1434: # 708 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:   template<typename _Alloc>
1434:     constexpr inline void
1434:     __alloc_on_move(_Alloc& __one, _Alloc& __two)
1434:     {
1434:       typedef allocator_traits<_Alloc> __traits;
1434:       typedef typename __traits::propagate_on_container_move_assignment __pocma;
1434: 
1434:       if constexpr (__pocma::value)
1434:  __one = std::move(__two);
1434: 
1434: 
1434: 
1434:     }
1434: # 735 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:   template<typename _Alloc>
1434:     constexpr inline void
1434:     __alloc_on_swap(_Alloc& __one, _Alloc& __two)
1434:     {
1434:       typedef allocator_traits<_Alloc> __traits;
1434:       typedef typename __traits::propagate_on_container_swap __pocs;
1434: 
1434:       if constexpr (__pocs::value)
1434:  {
1434:    using std::swap;
1434:    swap(__one, __two);
1434:  }
1434: 
1434: 
1434: 
1434:     }
1434: 
1434:   template<typename _Alloc, typename _Tp,
1434:     typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
1434:     typename = void>
1434:     struct __is_alloc_insertable_impl
1434:     : false_type
1434:     { };
1434: 
1434:   template<typename _Alloc, typename _Tp, typename _ValueT>
1434:     struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
1434:       __void_t<decltype(allocator_traits<_Alloc>::construct(
1434:      std::declval<_Alloc&>(), std::declval<_ValueT*>(),
1434:      std::declval<_Tp>()))>>
1434:     : true_type
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Alloc>
1434:     struct __is_copy_insertable
1434:     : __is_alloc_insertable_impl<_Alloc,
1434:      typename _Alloc::value_type const&>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_copy_insertable<allocator<_Tp>>
1434:     : is_copy_constructible<_Tp>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Alloc>
1434:     struct __is_move_insertable
1434:     : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_move_insertable<allocator<_Tp>>
1434:     : is_move_constructible<_Tp>
1434:     { };
1434: 
1434: 
1434:   template<typename _Alloc, typename = void>
1434:     struct __is_allocator : false_type { };
1434: 
1434:   template<typename _Alloc>
1434:     struct __is_allocator<_Alloc,
1434:       __void_t<typename _Alloc::value_type,
1434:         decltype(std::d1417:   bool IsVisible() const override { return true; };
1417: 
1417: 
1417:   virtual bool HasVisibleControls() { return true; };
1417: 
1417:   bool IsAnimating(ANIMATION_TYPE animType) override;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsCustom() const { return m_custom; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetCustom(bool custom) { m_custom = custom; }
1417: 
1417:   void DisableAnimations();
1417: 
1417:   virtual void ResetControlStates();
1417:   void UpdateControlStats() override {};
1417: 
1417:   void SetRunActionsManually();
1417:   void RunLoadActions() const;
1417:   void RunUnloadActions() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetProperty(const std::string &key, const CVariant &value);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CVariant GetProperty(const std::string &key) const;
1417: 
1417: 
1417: 
1417: 
1417:   void ClearProperties();
1417: 
1417: 
1417: 
1417: 
1417:   bool HasSaveLastControl() const { return !m_defaultAlways; }
1417: 
1417:   virtual void OnDeinitWindow(int nextWindowID);
1417: protected:
1417:   EVENT_RESULT OnMouseEvent(const CPoint &point, const CMouseEvent &event) override;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool LoadXML(const std::string& strPath, const std::string &strLowerPath);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool Load(TiXmlElement *pRootElement);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual std::unique_ptr<TiXmlElement> Prepare(const std::unique_ptr<TiXmlElement>& rootElement);
1417: 
1417: 
1417: 
1417: 
1417:   bool NeedLoad() const;
1417: 
1417:   virtual void SetDefaults();
1417:   virtual void OnWindowUnload() {}
1417:   virtual void OnWindowLoaded();
1417:   virtual void OnInitWindow();
1417:   void Close_Internal(bool forceClose = false, int nextWindowID = 0, bool enableSound = true);
1417:   EVENT_RESULT OnMouseAction(const CAction &action);
1417:   bool Animate(unsigned int currentTime) override;
1417:   bool CheckAnimation(ANIMATION_TYPE animType) override;
1417: 
1417: 
1417:   virtual void SaveControlStates();
1417:   virtual void RestoreControlStates();
1417: 
1417: 
1417:   void OnEditChanged(int id, std::string &text);
1417:   bool SendMessage(int message, int id, int param1 = 0, int param2 = 0);
1417: 
1417:   void LoadControl(TiXmlElement* pControl, CGUIControlGroup *pGroup, const CRect &rect);
1417: 
1417:   std::vector<int> m_idRange;
1417:   RESOLUTION_INFO m_coordsRes;
1417:   bool m_needsScaling;
1417:   bool m_windowLoaded;
1417:   LOAD_TYPE m_loadType;
1417:   bool m_dynamicResourceAlloc;
1417:   bool m_closing;
1417:   bool m_active;
1417:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_clearBackground;
1417: 
1417:   int m_renderOrder;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CPoint GetPosition() const override;
1417:   std::vector<COrigin> m_origins;
1417: 
1417: 
1417:   int m_lastControlID;
1417:   std::vector<CControlState> m_controlStates;
1417:   int m_previousWindow;
1417: 
1417:   bool m_animationsEnabled;
1417:   struct icompare
1417:   {
1417:     bool operator()(const std::string &s1, const std::string &s2) const;
1417:   };
1417: 
1417:   CGUIAction m_loadActions;
1417:   CGUIAction m_unloadActions;
1417: 
1417: 
1417: 
1417: 
1417:   std::unique_ptr<TiXmlElement> m_windowXMLRootElement;
1417: 
1417:   bool m_manualRunActions;
1417: 
1417:   int m_exclusiveMouseControl;
1417: 
1417:   int m_menuControlID;
1417:   int m_menuLastFocusedControlID;
1417:   bool m_custom;
1417: 
1417: private:
1417:   std::map<std::string, CVariant, icompare> m_mapProperties;
1417:   std::map<INFO::InfoPtr, bool> m_xmlIncludeConditions;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h"
1417:        
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h"
1417: class IMsgTargetCallback
1417: {
1417: public:
1417:   virtual bool Oneclval<_Alloc&>().allocate(size_t{}))>>
1434:     : true_type { };
1434: 
1434:   template<typename _Alloc>
1434:     using _RequireAllocator
1434:       = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
1434: 
1434:   template<typename _Alloc>
1434:     using _RequireNotAllocator
1434:       = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
1434: # 829 "/usr/include/c++/12/bits/alloc_traits.h" 3
1434:   template<typename _ForwardIterator, typename _Allocator>
1434:    
1434:     void
1434:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1434:       _Allocator& __alloc)
1434:     {
1434:       for (; __first != __last; ++__first)
1434: 
1434: 
1434: 
1434:  allocator_traits<_Allocator>::destroy(__alloc,
1434:            std::__addressof(*__first));
1434: 
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline void
1434:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
1434:       allocator<_Tp>&)
1434:     {
1434:       _Destroy(__first, __last);
1434:     }
1434: 
1434: 
1434: }
1434: # 35 "/usr/include/c++/12/ext/alloc_traits.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template<typename _Alloc, typename = typename _Alloc::value_type>
1434:   struct __alloc_traits
1434: 
1434:   : std::allocator_traits<_Alloc>
1434: 
1434:   {
1434:     typedef _Alloc allocator_type;
1434: 
1434:     typedef std::allocator_traits<_Alloc> _Base_type;
1434:     typedef typename _Base_type::value_type value_type;
1434:     typedef typename _Base_type::pointer pointer;
1434:     typedef typename _Base_type::const_pointer const_pointer;
1434:     typedef typename _Base_type::size_type size_type;
1434:     typedef typename _Base_type::difference_type difference_type;
1434: 
1434:     typedef value_type& reference;
1434:     typedef const value_type& const_reference;
1434:     using _Base_type::allocate;
1434:     using _Base_type::deallocate;
1434:     using _Base_type::construct;
1434:     using _Base_type::destroy;
1434:     using _Base_type::max_size;
1434: 
1434:   private:
1434:     template<typename _Ptr>
1434:       using __is_custom_pointer
1434:  = std::__and_<std::is_same<pointer, _Ptr>,
1434:         std::__not_<std::is_pointer<_Ptr>>>;
1434: 
1434:   public:
1434: 
1434:     template<typename _Ptr, typename... _Args>
1434:       static constexpr
1434:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1434:       construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
1434:       noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
1434:            std::forward<_Args>(__args)...)))
1434:       {
1434:  _Base_type::construct(__a, std::__to_address(__p),
1434:          std::forward<_Args>(__args)...);
1434:       }
1434: 
1434: 
1434:     template<typename _Ptr>
1434:       static constexpr
1434:       std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
1434:       destroy(_Alloc& __a, _Ptr __p)
1434:       noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
1434:       { _Base_type::destroy(__a, std::__to_address(__p)); }
1434: 
1434:     static constexpr _Alloc _S_select_on_copy(const _Alloc& __a)
1434:     { return _Base_type::select_on_container_copy_construction(__a); }
1434: 
1434:     static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
1434:     { std::__alloc_on_swap(__a, __b); }
1434: 
1434:     static constexpr bool _S_propagate_on_copy_assign()
1434:     { return _Base_type::propagate_on_container_copy_assignment::value; }
1434: 
1434:     static constexpr bool _S_propagate_on_move_assign()
1434:     { return _Base_type::propagate_on_container_move_assignment::value; }
1434: 
1434:     static constexpr bool _S_propagate_on_swap()
1434:     { return _Base_type::propagate_on_container_swap::value; }
1434: 
1434:     static constexpr bool _S_always_equal()
1434:     { return _Base_type::is_always_equal::value; }
1434: 
1434:     static constexpr bool _);
1412:    __bkt = _M_bucket_index(__code);
1412: 
1412: 
1412:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1412:    if (!__prev_n)
1412:      return 0;
1412: 
1412:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       __node_ptr __n_last = __n->_M_next();
1412:       while (__n_last && this->_M_node_equals(*__n, *__n_last))
1412:  __n_last = __n_last->_M_next();
1412: 
1412:       std::size_t __n_last_bkt = __n_last ? _M_bucket_index(*__n_last) : __bkt;
1412: 
1412: 
1412:       size_type __result = 0;
1412:       do
1412:  {
1412:    __node_ptr __p = __n->_M_next();
1412:    this->_M_deallocate_node(__n);
1412:    __n = __p;
1412:    ++__result;
1412:  }
1412:       while (__n != __n_last);
1412: 
1412:       _M_element_count -= __result;
1412:       if (__prev_n == _M_buckets[__bkt])
1412:  _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt);
1412:       else if (__n_last_bkt != __bkt)
1412:  _M_buckets[__n_last_bkt] = __prev_n;
1412:       __prev_n->_M_nxt = __n_last;
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     auto
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     erase(const_iterator __first, const_iterator __last)
1412:     -> iterator
1412:     {
1412:       __node_ptr __n = __first._M_cur;
1412:       __node_ptr __last_n = __last._M_cur;
1412:       if (__n == __last_n)
1412:  return iterator(__n);
1412: 
1412:       std::size_t __bkt = _M_bucket_index(*__n);
1412: 
1412:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1412:       bool __is_bucket_begin = __n == _M_bucket_begin(__bkt);
1412:       std::size_t __n_bkt = __bkt;
1412:       for (;;)
1412:  {
1412:    do
1412:      {
1412:        __node_ptr __tmp = __n;
1412:        __n = __n->_M_next();
1412:        this->_M_deallocate_node(__tmp);
1412:        --_M_element_count;
1412:        if (!__n)
1412:   break;
1412:        __n_bkt = _M_bucket_index(*__n);
1412:      }
1412:    while (__n != __last_n && __n_bkt == __bkt);
1412:    if (__is_bucket_begin)
1412:      _M_remove_bucket_begin(__bkt, __n, __n_bkt);
1412:    if (__n == __last_n)
1412:      break;
1412:    __is_bucket_begin = true;
1412:    __bkt = __n_bkt;
1412:  }
1412: 
1412:       if (__n && (__n_bkt != __bkt || __is_bucket_begin))
1412:  _M_buckets[__n_bkt] = __prev_n;
1412:       __prev_n->_M_nxt = __n;
1412:       return iterator(__n);
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     clear() noexcept
1412:     {
1412:       this->_M_deallocate_nodes(_M_begin());
1412:       __builtin_memset(_M_buckets, 0,
1412:          _M_bucket_count * sizeof(__node_base_ptr));
1412:       _M_element_count = 0;
1412:       _M_before_begin._M_nxt = nullptr;
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     rehash(size_type __bkt_count)
1412:     {
1412:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1412:       __bkt_count
1412:  = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1),
1412:      __bkt_count);
1412:       __bkt_count =S_nothrow_move()
1434:     { return _S_propagate_on_move_assign() || _S_always_equal(); }
1434: 
1434:     template<typename _Tp>
1434:       struct rebind
1434:       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
1434: # 166 "/usr/include/c++/12/ext/alloc_traits.h" 3
1434:   };
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/bits/stl_uninitialized.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 81 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _ValueType, typename _Tp>
1434:     constexpr bool
1434:     __check_constructible()
1434:     {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static_assert(is_constructible<_ValueType, _Tp>::value,
1434:    "result type must be constructible from input type");
1434: 
1434:       return true;
1434:     }
1434: # 110 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _InputIterator, typename _ForwardIterator>
1434:    
1434:     _ForwardIterator
1434:     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
1434:        _ForwardIterator __result)
1434:     {
1434:       _ForwardIterator __cur = __result;
1434:       try
1434:  {
1434:    for (; __first != __last; ++__first, (void)++__cur)
1434:      std::_Construct(std::__addressof(*__cur), *__first);
1434:    return __cur;
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__result, __cur);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<bool _TrivialValueTypes>
1434:     struct __uninitialized_copy
1434:     {
1434:       template<typename _InputIterator, typename _ForwardIterator>
1434:         static _ForwardIterator
1434:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1434:         _ForwardIterator __result)
1434:  { return std::__do_uninit_copy(__first, __last, __result); }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_copy<true>
1434:     {
1434:       template<typename _InputIterator, typename _ForwardIterator>
1434:         static _ForwardIterator
1434:         __uninit_copy(_InputIterator __first, _InputIterator __last,
1434:         _ForwardIterator __result)
1434:         { return std::copy(__first, __last, __result); }
1434:     };
1434: # 161 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _InputIterator, typename _ForwardIterator>
1434:     inline _ForwardIterator
1434:     uninitialized_copy(_InputIterator __first, _InputIterator __last,
1434:          _ForwardIterator __result)
1434:     {
1434:       typedef typename iterator_traits<_InputIterator>::value_type
1434:  _ValueType1;
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType2;
1434: 
1434: 
1434: 
1434: 
1434:       const bool __can_memmove = __is_trivial(_ValueType1);
1434: 
1434: 
1434: 
1434: 
1434:       using _From = decltype(*__first);
1434: 
1434:       const bool __assignable
1434:  = __is_trivial(_ValueType2) && __is_assignable(_ValueType2&, _From) && std::__check_constructible<_ValueType2, _From>();
1434: 
1434:       return std::__uninitialized_copy<__can_memmove && __assignable>::
1434:  __uninit_copy(__first, __last, __result);
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Tp>
1434:     void
1434:     __do_uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1434:        const _Tp& __x)
1434:     {
1434:       _ForwardIterator __cur = __first;
1434:       try
1434:  {
1434:    for (; __cur != __last; ++__cur)
1434:      std::_Construct(std::__addressof(*__cur), __x);
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__first, __cur);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<bool _TrivialValueType>
1434:     struct __uninitialized_fill
1434:     {
1434:       template<typename _ForwardIterator, typename _Tp>
1434:         static void
1434:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1434:         const _Tp& __x)
1434:  { std:Message(CGUIMessage& message) = 0;
1417:   virtual ~IMsgTargetCallback() = default;
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
1417:        
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
1417: class IWindowManagerCallback
1417: {
1417: public:
1417:   IWindowManagerCallback(void);
1417:   virtual ~IWindowManagerCallback(void);
1417: 
1417:   virtual void FrameMove(bool processEvents, bool processGUI = true) = 0;
1417:   virtual void Render() = 0;
1417:   virtual void Process() = 0;
1417:   virtual bool GetRenderGUI() const { return false; }
1417: };
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1417: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1417: class CGUIDialog;
1417: class CGUIMediaWindow;
1417: 
1417: 
1417: 
1417: 
1417: enum class DialogModalityType;
1417: 
1417: 
1417: 
1417: 
1417: namespace KODI
1417: {
1417:   namespace MESSAGING
1417:   {
1417:     class CApplicationMessenger;
1417:   }
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CGUIWindowManager : public KODI::MESSAGING::IMessageTarget
1417: {
1417:   friend CGUIDialog;
1417:   friend CGUIMediaWindow;
1417: public:
1417:   CGUIWindowManager();
1417:   ~CGUIWindowManager() override;
1417:   bool SendMessage(CGUIMessage& message);
1417:   bool SendMessage(int message, int senderID, int destID, int param1 = 0, int param2 = 0);
1417:   bool SendMessage(CGUIMessage& message, int window);
1417:   void Initialize();
1417:   void Add(CGUIWindow* pWindow);
1417:   void AddUniqueInstance(CGUIWindow *window);
1417:   void AddCustomWindow(CGUIWindow* pWindow);
1417:   void Remove(int id);
1417:   void Delete(int id);
1417:   void ActivateWindow(int iWindowID, const std::string &strPath = "");
1417:   void ForceActivateWindow(int iWindowID, const std::string &strPath = "");
1417:   void ChangeActiveWindow(int iNewID, const std::string &strPath = "");
1417:   void ActivateWindow(int iWindowID, const std::vector<std::string>& params, bool swappingWindows = false, bool force = false);
1417:   void PreviousWindow();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SwitchToFullScreen(bool force = false);
1417: 
1417:   void CloseDialogs(bool forceClose = false) const;
1417:   void CloseInternalModalDialogs(bool forceClose = false) const;
1417: 
1417:   void OnApplicationMessage(KODI::MESSAGING::ThreadMessage* pMsg) override;
1417:   int GetMessageMask() override;
1417: 
1417: 
1417: 
1417: 
1417:   bool OnAction(const CAction &action) const;
1417: 
1417: 
1417: 
1417:   void Process(unsigned int currentTime);
1417: 
1417: 
1417: 
1417:   void MarkDirty();
1417: 
1417: 
1417: 
1417:   void MarkDirty(const CRect& rect);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Render();
1417: 
1417:   void RenderEx() const;
1417: 
1417: 
1417: 
1417:   void AfterRender();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void FrameMove();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Initialized() const { return m_initialized; }
1417: 
1417: 
1417: 
1417:   void CreateWindows();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool DestroyWindows();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void DestroyWindow(int id);
1417: # 150 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1417:   template<typename T,
1417:            typename std::enable_if<std::is_base_of<CGUIWindow, T>::value>::type* = nullptr>
1417:   T* GetWindow(int id) const
1417:   {
1417:     return dynamic_cast<T*>(GetWindow(id));
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CGUIWindow* GetWindow(int id) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CGUIDialog* GetDialog(int id) const;
1417: 
1417:   void SetCallback(IWindowManagerCallback& callback);
1417:   void DeInitialize();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void :__do_uninit_fill(__first, __last, __x); }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_fill<true>
1434:     {
1434:       template<typename _ForwardIterator, typename _Tp>
1434:         static void
1434:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
1434:         const _Tp& __x)
1434:         { std::fill(__first, __last, __x); }
1434:     };
1434: # 239 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:     inline void
1434:     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
1434:          const _Tp& __x)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType;
1434: 
1434: 
1434: 
1434:       const bool __can_fill
1434:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>();
1434: 
1434:       std::__uninitialized_fill<__can_fill>::
1434:  __uninit_fill(__first, __last, __x);
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1434:    
1434:     _ForwardIterator
1434:     __do_uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1434:     {
1434:       _ForwardIterator __cur = __first;
1434:       try
1434:  {
1434:    for (; __n > 0; --__n, (void) ++__cur)
1434:      std::_Construct(std::__addressof(*__cur), __x);
1434:    return __cur;
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__first, __cur);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<bool _TrivialValueType>
1434:     struct __uninitialized_fill_n
1434:     {
1434:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1434:  static _ForwardIterator
1434:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1434:    const _Tp& __x)
1434:  { return std::__do_uninit_fill_n(__first, __n, __x); }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_fill_n<true>
1434:     {
1434:       template<typename _ForwardIterator, typename _Size, typename _Tp>
1434:  static _ForwardIterator
1434:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
1434:    const _Tp& __x)
1434:         { return std::fill_n(__first, __n, __x); }
1434:     };
1434: # 310 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1434:     inline _ForwardIterator
1434:     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType;
1434: 
1434: 
1434: 
1434:       const bool __can_fill
1434:  = __is_trivial(_ValueType) && __is_assignable(_ValueType&, const _Tp&) && std::__check_constructible<_ValueType, const _Tp&>()
1434: 
1434: 
1434: 
1434:  && __is_integer<_Size>::__value;
1434: 
1434:       return __uninitialized_fill_n<__can_fill>::
1434:  __uninit_fill_n(__first, __n, __x);
1434:     }
1434: # 340 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _InputIterator, typename _ForwardIterator,
1434:     typename _Allocator>
1434:    
1434:     _ForwardIterator
1434:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1434:       _ForwardIterator __result, _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __cur = __result;
1434:       try
1434:  {
1434:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1434:    for (; __first != __last; ++__first, (void)++__cur)
1434:      __traits::construct(__alloc, std::__addressof(*__cur), *__first);
1434:    return __cur;
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__result, __cur, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline _ForwardIterator
1434:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
1434:       _ForwardIterator __result, al _M_rehash_policy._M_next_bkt(__bkt_count);
1412: 
1412:       if (__bkt_count != _M_bucket_count)
1412:  _M_rehash(__bkt_count, __saved_state);
1412:       else
1412: 
1412: 
1412:  _M_rehash_policy._M_reset(__saved_state);
1412:     }
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_rehash(size_type __bkt_count, const __rehash_state& __state)
1412:     {
1412:       try
1412:  {
1412:    _M_rehash_aux(__bkt_count, __unique_keys{});
1412:  }
1412:       catch(...)
1412:  {
1412: 
1412: 
1412:    _M_rehash_policy._M_reset(__state);
1412:    throw;
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_rehash_aux(size_type __bkt_count, true_type )
1412:     {
1412:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1412:       __node_ptr __p = _M_begin();
1412:       _M_before_begin._M_nxt = nullptr;
1412:       std::size_t __bbegin_bkt = 0;
1412:       while (__p)
1412:  {
1412:    __node_ptr __next = __p->_M_next();
1412:    std::size_t __bkt
1412:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1412:    if (!__new_buckets[__bkt])
1412:      {
1412:        __p->_M_nxt = _M_before_begin._M_nxt;
1412:        _M_before_begin._M_nxt = __p;
1412:        __new_buckets[__bkt] = &_M_before_begin;
1412:        if (__p->_M_nxt)
1412:   __new_buckets[__bbegin_bkt] = __p;
1412:        __bbegin_bkt = __bkt;
1412:      }
1412:    else
1412:      {
1412:        __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1412:        __new_buckets[__bkt]->_M_nxt = __p;
1412:      }
1412: 
1412:    __p = __next;
1412:  }
1412: 
1412:       _M_deallocate_buckets();
1412:       _M_bucket_count = __bkt_count;
1412:       _M_buckets = __new_buckets;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Value, typename _Alloc,
1412:     typename _ExtractKey, typename _Equal,
1412:     typename _Hash, typename _RangeHash, typename _Unused,
1412:     typename _RehashPolicy, typename _Traits>
1412:     void
1412:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1412:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1412:     _M_rehash_aux(size_type __bkt_count, false_type )
1412:     {
1412:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1412:       __node_ptr __p = _M_begin();
1412:       _M_before_begin._M_nxt = nullptr;
1412:       std::size_t __bbegin_bkt = 0;
1412:       std::size_t __prev_bkt = 0;
1412:       __node_ptr __prev_p = nullptr;
1412:       bool __check_bucket = false;
1412: 
1412:       while (__p)
1412:  {
1412:    __node_ptr __next = __p->_M_next();
1412:    std::size_t __bkt
1412:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1412: 
1412:    if (__prev_p && __prev_bkt == __bkt)
1412:      {
1412: 
1412: 
1412: 
1412:        __p->_M_nxt = __prev_p->_M_nxt;
1412:        __prev_p->_M_nxt = __p;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:        __check_bucket = true;
1412:      }
1412:    else
1412:      {
1412:        if (__check_bucket)
1412:   {
1412: 
1412: 
1412:     if (__prev_p->_M_nxt)
1412:       {
1412:         std::size_t __next_bkt
1412:    = __hash_code_base::_M_bucket_index(
1412:      *__prev_p->_M_next(), __bkt_count);
1412:         if (__next_bkt != __prev_bkt)
1412:    __new_buckets[__next_bkt] = __prev_p;
1412:       }
1412:     __check_bucket = false;
1412:   }
1412: 
1412:        if (!__new_buckets[locator<_Tp>&)
1434:     {
1434: 
1434: 
1434: 
1434: 
1434:       return std::uninitialized_copy(__first, __last, __result);
1434:     }
1434: 
1434:   template<typename _InputIterator, typename _ForwardIterator,
1434:     typename _Allocator>
1434:    
1434:     inline _ForwardIterator
1434:     __uninitialized_move_a(_InputIterator __first, _InputIterator __last,
1434:       _ForwardIterator __result, _Allocator& __alloc)
1434:     {
1434:       return std::__uninitialized_copy_a(std::make_move_iterator(__first),
1434:       std::make_move_iterator(__last),
1434:       __result, __alloc);
1434:     }
1434: 
1434:   template<typename _InputIterator, typename _ForwardIterator,
1434:     typename _Allocator>
1434:    
1434:     inline _ForwardIterator
1434:     __uninitialized_move_if_noexcept_a(_InputIterator __first,
1434:            _InputIterator __last,
1434:            _ForwardIterator __result,
1434:            _Allocator& __alloc)
1434:     {
1434:       return std::__uninitialized_copy_a
1434:  (std::__make_move_if_noexcept_iterator(__first),
1434:   std::__make_move_if_noexcept_iterator(__last), __result, __alloc);
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
1434:    
1434:     void
1434:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1434:       const _Tp& __x, _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __cur = __first;
1434:       try
1434:  {
1434:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1434:    for (; __cur != __last; ++__cur)
1434:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__first, __cur, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
1434:    
1434:     inline void
1434:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
1434:       const _Tp& __x, allocator<_Tp2>&)
1434:     {
1434: 
1434: 
1434: 
1434: 
1434:       std::uninitialized_fill(__first, __last, __x);
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1434:     typename _Allocator>
1434:     
1434:     _ForwardIterator
1434:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1434:         const _Tp& __x, _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __cur = __first;
1434:       try
1434:  {
1434:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1434:    for (; __n > 0; --__n, (void) ++__cur)
1434:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
1434:    return __cur;
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__first, __cur, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Size, typename _Tp,
1434:     typename _Tp2>
1434:    
1434:     inline _ForwardIterator
1434:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
1434:         const _Tp& __x, allocator<_Tp2>&)
1434:     {
1434: 
1434: 
1434: 
1434: 
1434:       return std::uninitialized_fill_n(__first, __n, __x);
1434:     }
1434: # 480 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _ForwardIterator, typename _Allocator>
1434:     inline _ForwardIterator
1434:     __uninitialized_copy_move(_InputIterator1 __first1,
1434:          _InputIterator1 __last1,
1434:          _InputIterator2 __first2,
1434:          _InputIterator2 __last2,
1434:          _ForwardIterator __result,
1434:          _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
1434:           __result,
1434:           __alloc);
1434:       try
1434:  {
1434:    return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc);
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__result, __mid, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _ForwardIterator, typename _Allocator>
1434:     inline _ForwardIterator
1434:     __uninitialized_move_copy(_InputIterator1 __first1,
1434:          _InputIterator1 __last1,
1434:          _InputIterator2 __first2,
1434:          _InputIterator2 __last2,
1434:          _ForwardIterator __result,
1434:          _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1,
1434:           __result,
1434:           __alloc);
1434:       try
1434:  {
1434:    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__result, __mid, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
1434:     typename _Allocator>
1434:     inline _ForwardIterator
1434:     __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid,
1434:          const _Tp& __x, _InputIterator __first,
1434:          _InputIterator __last, _Allocator& __alloc)
1434:     {
1434:       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
1434:       try
1434:  {
1434:    return std::__uninitialized_move_a(__first, __last, __mid, __alloc);
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__result, __mid, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
1434:     typename _Allocator>
1434:     inline void
1434:     __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1,
1434:          _ForwardIterator __first2,
1434:          _ForwardIterator __last2, const _Tp& __x,
1434:          _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1,
1434:            __first2,
1434:            __alloc);
1434:       try
1434:  {
1434:    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__first2, __mid2, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: # 587 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<bool _TrivialValueType>
1434:     struct __uninitialized_default_1
1434:     {
1434:       template<typename _ForwardIterator>
1434:         static void
1434:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1434:         {
1434:    _ForwardIterator __cur = __first;
1434:    try
1434:      {
1434:        for (; __cur != __last; ++__cur)
1434:   std::_Construct(std::__addressof(*__cur));
1434:      }
1434:    catch(...)
1434:      {
1434:        std::_Destroy(__first, __cur);
1434:        throw;
1434:      }
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_default_1<true>
1434:     {
1434:       template<typename _ForwardIterator>
1434:         static void
1434:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
1434:         {
1434:    if (__first == __last)
1434:      return;
1434: 
1434:    typename iterator_traits<_ForwardIterator>::value_type* __val
1434:      = std::__addressof(*__first);
1434:    std::_Construct(__val);
1434:    if (++__first != __last)
1434:      std::fill(__first, __last, *__val);
1434:  }
1434:     };
1434: 
1434:   template<bool _TrivialValueType>
1434:     struct __uninitialized_default_n_1
1434:     {
1434:       template<typename _ForwardIterator, typename _Size>
1434: 
1434:         static _ForwardIterator
1434:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1434:         {
1434:    _ForwardIterator __cur = __first;
1434:    try
1434:      {
1434:        for (; __n > 0; --__n, (void) ++__cur)
1434:   std::_Construct(std::__addressof(*__cur));
1434:        return __cur;
1434:      }
1434:    catch(...)
1434:      {
1434:        std::_Destroy(__first, __cur);
1434:        throw;
1434:  RegisterDialog(CGUIWindow* dialog);
1417:   void RemoveDialog(int id);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   int GetTopmostDialog(bool ignoreClosing = false) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   int GetTopmostModalDialog(bool ignoreClosing = false) const;
1417: 
1417:   void SendThreadMessage(CGUIMessage& message, int window = 0);
1417:   void DispatchThreadMessages();
1417: 
1417: 
1417:   int RemoveThreadMessageByMessageIds(int *pMessageIDList);
1417:   void AddMsgTarget( IMsgTargetCallback* pMsgTarget );
1417:   int GetActiveWindow() const;
1417:   int GetActiveWindowOrDialog() const;
1417:   bool HasModalDialog(bool ignoreClosing) const;
1417:   bool HasVisibleModalDialog() const;
1417:   bool IsDialogTopmost(int id, bool modal = false) const;
1417:   bool IsDialogTopmost(const std::string &xmlFile, bool modal = false) const;
1417:   bool IsModalDialogTopmost(int id) const;
1417:   bool IsModalDialogTopmost(const std::string &xmlFile) const;
1417:   bool IsWindowActive(int id, bool ignoreClosing = true) const;
1417:   bool IsWindowVisible(int id) const;
1417:   bool IsWindowActive(const std::string &xmlFile, bool ignoreClosing = true) const;
1417:   bool IsWindowVisible(const std::string &xmlFile) const;
1417: 
1417: 
1417: 
1417: 
1417:   bool IsAddonWindow(int id) const { return (id >= 14000 && id <= 14099); }
1417: 
1417: 
1417: 
1417: 
1417:   bool IsPythonWindow(int id) const
1417:   {
1417:     return (id >= 13000 && id <= 13099);
1417:   }
1417: 
1417:   bool HasVisibleControls();
1417: 
1417: 
1417: 
1417: 
1417: private:
1417:   void RenderPass() const;
1417: 
1417:   void LoadNotOnDemandWindows();
1417:   void UnloadNotOnDemandWindows();
1417:   void AddToWindowHistory(int newWindowID);
1417: # 246 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1417:   void RemoveFromWindowHistory(int windowID);
1417:   void ClearWindowHistory();
1417:   void CloseWindowSync(CGUIWindow *window, int nextWindowID = 0);
1417:   int GetTopmostDialog(bool modal, bool ignoreClosing) const;
1417: 
1417:   friend class KODI::MESSAGING::CApplicationMessenger;
1417: # 260 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1417:   void ActivateWindow_Internal(int windowID, const std::vector<std::string> &params, bool swappingWindows, bool force = false);
1417: 
1417:   bool ProcessRenderLoop(bool renderOnly);
1417: 
1417:   bool HandleAction(const CAction &action) const;
1417: 
1417:   std::unordered_map<int, CGUIWindow*> m_mapWindows;
1417:   std::vector<CGUIWindow*> m_vecCustomWindows;
1417:   std::vector<CGUIWindow*> m_activeDialogs;
1417:   std::vector<CGUIWindow*> m_deleteWindows;
1417: 
1417:   std::deque<int> m_windowHistory;
1417: 
1417:   IWindowManagerCallback* m_pCallback;
1417:   std::list< std::pair<CGUIMessage*,int> > m_vecThreadMessages;
1417:   CCriticalSection m_critSection;
1417:   std::vector<IMsgTargetCallback*> m_vecMsgTargets;
1417: 
1417:   int m_iNested;
1417:   bool m_initialized;
1417:   mutable bool m_touchGestureActive{false};
1417:   mutable bool m_inhibitTouchGestureEvents{false};
1417: 
1417:   CDirtyRegionList m_dirtyregions;
1417:   CDirtyRegionTracker m_tracker;
1417: };
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:        
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417: namespace ADDON
1417: {
1417: enum class AddonDisabledReason;
1417: enum class AddonOriginType;
1417: enum class AddonType;
1417: enum class AddonUpdateRule;
1417: enum class AllowCheckForUpdates : bool;
1417: 
1417: class CAddonDatabase;
1417: class CAddonUpdateRules;
1417: class CAddonVersion;
1417: class IAddonMgrCallback;
1417: 
1417: class CAddonInfo;
1417: using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
1417: using ADDON_INFO_LIST = std::map<std::string, AddonInfoPtr>;
1417: 
1417: class IAddon;
1417: using AddonPtr = std::share__bkt])
1412:   {
1412:     __p->_M_nxt = _M_before_begin._M_nxt;
1412:     _M_before_begin._M_nxt = __p;
1412:     __new_buckets[__bkt] = &_M_before_begin;
1412:     if (__p->_M_nxt)
1412:       __new_buckets[__bbegin_bkt] = __p;
1412:     __bbegin_bkt = __bkt;
1412:   }
1412:        else
1412:   {
1412:     __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1412:     __new_buckets[__bkt]->_M_nxt = __p;
1412:   }
1412:      }
1412:    __prev_p = __p;
1412:    __prev_bkt = __bkt;
1412:    __p = __next;
1412:  }
1412: 
1412:       if (__check_bucket && __prev_p->_M_nxt)
1412:  {
1412:    std::size_t __next_bkt
1412:      = __hash_code_base::_M_bucket_index(*__prev_p->_M_next(),
1412:       __bkt_count);
1412:    if (__next_bkt != __prev_bkt)
1412:      __new_buckets[__next_bkt] = __prev_p;
1412:  }
1412: 
1412:       _M_deallocate_buckets();
1412:       _M_bucket_count = __bkt_count;
1412:       _M_buckets = __new_buckets;
1412:     }
1412: 
1412: 
1412:   template<typename, typename, typename> class _Hash_merge_helper { };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Hash>
1412:     using _RequireNotAllocatorOrIntegral
1412:       = __enable_if_t<!__or_<is_integral<_Hash>, __is_allocator<_Hash>>::value>;
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 47 "/usr/include/c++/12/unordered_map" 2 3
1412: # 1 "/usr/include/c++/12/bits/unordered_map.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/unordered_map.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template<bool _Cache>
1412:     using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>;
1412: 
1412:   template<typename _Key,
1412:     typename _Tp,
1412:     typename _Hash = hash<_Key>,
1412:     typename _Pred = std::equal_to<_Key>,
1412:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1412:     typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>>
1412:     using __umap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1412:                                         _Alloc, __detail::_Select1st,
1412:             _Pred, _Hash,
1412:             __detail::_Mod_range_hashing,
1412:             __detail::_Default_ranged_hash,
1412:             __detail::_Prime_rehash_policy, _Tr>;
1412: 
1412: 
1412:   template<bool _Cache>
1412:     using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>;
1412: 
1412:   template<typename _Key,
1412:     typename _Tp,
1412:     typename _Hash = hash<_Key>,
1412:     typename _Pred = std::equal_to<_Key>,
1412:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1412:     typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>>
1412:     using __ummap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1412:       _Alloc, __detail::_Select1st,
1412:       _Pred, _Hash,
1412:       __detail::_Mod_range_hashing,
1412:       __detail::_Default_ranged_hash,
1412:       __detail::_Prime_rehash_policy, _Tr>;
1412: 
1412:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1412:     class unordered_multimap;
1412: # 98 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:   template<typename _Key, typename _Tp,
1412:     typename _Hash = hash<_Key>,
1412:     typename _Pred = equal_to<_Key>,
1412:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1412:     class unordered_map
1412:     {
1412:       typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1412:       _Hashtable _M_h;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef typename _Hashtable::key_type key_type;
1412:       typedef typename _Hashtable::value_type value_type;
1412:       typedef typename _Hashtable::mapped_type mapped_type;
1412:       typedef typename _Hashtable::hasher hasher;
1412:       typedef typename _Hashtable::key_equal key_equal;
1412:       typedef typename _Hashtable::allocator_type allocator_type;
1412: 
1412: 
1412: 
1412: 
1412:       typedef typename _Hashtable::pointer pointer;
1412:       typedef typename _Hashtable::const_pointer const_    }
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_default_n_1<true>
1434:     {
1434:       template<typename _ForwardIterator, typename _Size>
1434: 
1434:         static _ForwardIterator
1434:         __uninit_default_n(_ForwardIterator __first, _Size __n)
1434:         {
1434:    if (__n > 0)
1434:      {
1434:        typename iterator_traits<_ForwardIterator>::value_type* __val
1434:   = std::__addressof(*__first);
1434:        std::_Construct(__val);
1434:        ++__first;
1434:        __first = std::fill_n(__first, __n - 1, *__val);
1434:      }
1434:    return __first;
1434:  }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator>
1434:     inline void
1434:     __uninitialized_default(_ForwardIterator __first,
1434:        _ForwardIterator __last)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType;
1434: 
1434:       const bool __assignable = is_copy_assignable<_ValueType>::value;
1434: 
1434:       std::__uninitialized_default_1<__is_trivial(_ValueType)
1434:          && __assignable>::
1434:  __uninit_default(__first, __last);
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Size>
1434:    
1434:     inline _ForwardIterator
1434:     __uninitialized_default_n(_ForwardIterator __first, _Size __n)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType;
1434: 
1434:       constexpr bool __can_fill
1434:  = __and_<is_integral<_Size>, is_copy_assignable<_ValueType>>::value;
1434: 
1434:       return __uninitialized_default_n_1<__is_trivial(_ValueType)
1434:       && __can_fill>::
1434:  __uninit_default_n(__first, __n);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Allocator>
1434:     void
1434:     __uninitialized_default_a(_ForwardIterator __first,
1434:          _ForwardIterator __last,
1434:          _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __cur = __first;
1434:       try
1434:  {
1434:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1434:    for (; __cur != __last; ++__cur)
1434:      __traits::construct(__alloc, std::__addressof(*__cur));
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__first, __cur, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp>
1434:     inline void
1434:     __uninitialized_default_a(_ForwardIterator __first,
1434:          _ForwardIterator __last,
1434:          allocator<_Tp>&)
1434:     { std::__uninitialized_default(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Size, typename _Allocator>
1434:     _ForwardIterator
1434:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1434:     _Allocator& __alloc)
1434:     {
1434:       _ForwardIterator __cur = __first;
1434:       try
1434:  {
1434:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
1434:    for (; __n > 0; --__n, (void) ++__cur)
1434:      __traits::construct(__alloc, std::__addressof(*__cur));
1434:    return __cur;
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__first, __cur, __alloc);
1434:    throw;
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Size, typename _Tp>
1434:    
1434:     inline _ForwardIterator
1434:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
1434:     allocator<_Tp>&)
1434:     { return std::__uninitialized_default_n(__first, __n); }
1434: 
1434:   template<bool _TrivialValueType>
1434:     struct __uninitialized_default_novalue_1
1434:     {
1434:       template<typename _ForwardIterator>
1434:  static void
1434:  __uninit_default_novalue(_ForwardIterator __first,
1434:      _ForwardIterator __last)
1434:  {
1434:    _ForwardIterator __cur = __first;
1434:    try
1434:      {
1434:        for (; __cur != __last; ++__cur)
1434:   std::_Construct_novalue(std::__addred_ptr<IAddon>;
1417: using VECADDONS = std::vector<AddonPtr>;
1417: 
1417: struct AddonEvent;
1417: struct AddonWithUpdate;
1417: struct DependencyInfo;
1417: struct RepositoryDirInfo;
1417: 
1417: using AddonInstanceId = uint32_t;
1417: 
1417: enum class AddonCheckType : bool
1417: {
1417:   OUTDATED_ADDONS,
1417:   AVAILABLE_UPDATES,
1417: };
1417: 
1417: enum class OnlyEnabled : bool
1417: {
1417:   CHOICE_YES = true,
1417:   CHOICE_NO = false,
1417: };
1417: 
1417: enum class OnlyEnabledRootAddon : bool
1417: {
1417:   CHOICE_YES = true,
1417:   CHOICE_NO = false,
1417: };
1417: 
1417: enum class CheckIncompatible : bool
1417: {
1417:   CHOICE_YES = true,
1417:   CHOICE_NO = false,
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CAddonMgr
1417: {
1417: public:
1417:   bool ReInit()
1417:   {
1417:     DeInit();
1417:     return Init();
1417:   }
1417:   bool Init();
1417:   void DeInit();
1417: 
1417:   CAddonMgr();
1417:   CAddonMgr(const CAddonMgr&) = delete;
1417:   virtual ~CAddonMgr();
1417: 
1417:   CEventStream<AddonEvent>& Events() { return m_events; }
1417:   CEventStream<AddonEvent>& UnloadEvents() { return m_unloadEvents; }
1417: 
1417:   IAddonMgrCallback* GetCallbackForType(AddonType type);
1417:   bool RegisterAddonMgrCallback(AddonType type, IAddonMgrCallback* cb);
1417:   void UnregisterAddonMgrCallback(AddonType type);
1417: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool GetAddon(const std::string& id,
1417:                 AddonPtr& addon,
1417:                 AddonType type,
1417:                 OnlyEnabled onlyEnabled) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool GetAddon(const std::string& id, AddonPtr& addon, OnlyEnabled onlyEnabled) const;
1417: 
1417:   bool HasType(const std::string& id, AddonType type);
1417: 
1417:   bool HasAddons(AddonType type);
1417: 
1417:   bool HasInstalledAddons(AddonType type);
1417: 
1417: 
1417:   bool GetAddonsForUpdate(VECADDONS& addons) const;
1417: 
1417: 
1417:   bool GetAddons(VECADDONS& addons) const;
1417: 
1417: 
1417:   bool GetAddons(VECADDONS& addons, AddonType type);
1417: 
1417: 
1417:   bool GetInstalledAddons(VECADDONS& addons);
1417: 
1417: 
1417:   bool GetInstalledAddons(VECADDONS& addons, AddonType type);
1417: 
1417:   bool GetDisabledAddons(VECADDONS& addons);
1417: 
1417:   bool GetDisabledAddons(VECADDONS& addons, AddonType type);
1417: 
1417: 
1417:   bool GetInstallableAddons(VECADDONS& addons);
1417: 
1417:   bool GetInstallableAddons(VECADDONS& addons, AddonType type);
1417: # 163 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool FindInstallableById(const std::string& addonId, AddonPtr& addon);
1417: 
1417:   void AddToUpdateableAddons(AddonPtr& pAddon);
1417:   void RemoveFromUpdateableAddons(AddonPtr& pAddon);
1417:   bool ReloadSettings(const std::string& addonId, AddonInstanceId instanceId);
1417: 
1417: 
1417:   std::vector<std::shared_ptr<IAddon>> GetAvailableUpdates() const;
1417: 
1417: 
1417:   std::vector<std::shared_ptr<IAddon>> GetOutdatedAddons() const;
1417: 
1417: 
1417:   bool HasAvailableUpdates();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsOrphaned(const std::shared_ptr<IAddon>& addon,
1417:                   const std::vector<std::shared_ptr<IAddon>>& allAddons) const;
1417: 
1417: 
1417: 
1417: 
1417:   bool FindAddons();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool FindAddon(const std::string& addonId,
1417:                  const std::string& origin,
1417:                  const CAddonVersion& addonVersion);
1417: # 209 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool GetIncompatibleEnabledAddonInfos(std::vector<AddonInfoPtr>& incompatible) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::vector<AddonInfoPtr> MigrateAddons();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::vector<AddonInfoPtr> DisableIncompatibleAddons(
1417:       const std::vector<AddonInfoPtr>& incompatible);
1417: 
1417: 
1417: 
1417: 
141ssof(*__cur));
1434:      }
1434:    catch(...)
1434:      {
1434:        std::_Destroy(__first, __cur);
1434:        throw;
1434:      }
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_default_novalue_1<true>
1434:     {
1434:       template<typename _ForwardIterator>
1434:         static void
1434:         __uninit_default_novalue(_ForwardIterator __first,
1434:      _ForwardIterator __last)
1434:  {
1434:  }
1434:     };
1434: 
1434:   template<bool _TrivialValueType>
1434:     struct __uninitialized_default_novalue_n_1
1434:     {
1434:       template<typename _ForwardIterator, typename _Size>
1434:  static _ForwardIterator
1434:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1434:  {
1434:    _ForwardIterator __cur = __first;
1434:    try
1434:      {
1434:        for (; __n > 0; --__n, (void) ++__cur)
1434:   std::_Construct_novalue(std::__addressof(*__cur));
1434:        return __cur;
1434:      }
1434:    catch(...)
1434:      {
1434:        std::_Destroy(__first, __cur);
1434:        throw;
1434:      }
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_default_novalue_n_1<true>
1434:     {
1434:       template<typename _ForwardIterator, typename _Size>
1434:  static _ForwardIterator
1434:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
1434:  { return std::next(__first, __n); }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator>
1434:     inline void
1434:     __uninitialized_default_novalue(_ForwardIterator __first,
1434:         _ForwardIterator __last)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType;
1434: 
1434:       std::__uninitialized_default_novalue_1<
1434:  is_trivially_default_constructible<_ValueType>::value>::
1434:  __uninit_default_novalue(__first, __last);
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Size>
1434:     inline _ForwardIterator
1434:     __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType;
1434: 
1434:       return __uninitialized_default_novalue_n_1<
1434:  is_trivially_default_constructible<_ValueType>::value>::
1434:  __uninit_default_novalue_n(__first, __n);
1434:     }
1434: 
1434:   template<typename _InputIterator, typename _Size,
1434:     typename _ForwardIterator>
1434:     _ForwardIterator
1434:     __uninitialized_copy_n(_InputIterator __first, _Size __n,
1434:       _ForwardIterator __result, input_iterator_tag)
1434:     {
1434:       _ForwardIterator __cur = __result;
1434:       try
1434:  {
1434:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1434:      std::_Construct(std::__addressof(*__cur), *__first);
1434:    return __cur;
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__result, __cur);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Size,
1434:     typename _ForwardIterator>
1434:     inline _ForwardIterator
1434:     __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n,
1434:       _ForwardIterator __result,
1434:       random_access_iterator_tag)
1434:     { return std::uninitialized_copy(__first, __first + __n, __result); }
1434: 
1434:   template<typename _InputIterator, typename _Size,
1434:     typename _ForwardIterator>
1434:     pair<_InputIterator, _ForwardIterator>
1434:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1434:       _ForwardIterator __result, input_iterator_tag)
1434:     {
1434:       _ForwardIterator __cur = __result;
1434:       try
1434:  {
1434:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
1434:      std::_Construct(std::__addressof(*__cur), *__first);
1434:    return {__first, __cur};
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(__result, __cur);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Size,
1434:     typename _ForwardIterator>
1434:     inline pair<_RandomAccessIterator, _ForwardIterator>
1434:     __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n,
1434:       _ForwardIterator __result,
1434:       random_access_iterator_tag)
1434:     {
1434:       auto __second_res = uninitialized_copy(__first, __first + __n, __result);
1434:       auto __first_res = std::next(__first, __n);
1434:       return {__first_res, __second_res};
1434:     }
1434: # 933 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1434:     inline _ForwardIterator
1434:     uninitialized_copy_n(_InputIterator __first, _Size __n,
1434:     _ForwardIterator __result)
1434:     { return std::__uninitialized_copy_n(__first, __n, __result,
1434:       std::__iterator_category(__first)); }
1434: 
1434: 
1434:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
1434:     inline pair<_InputIterator, _ForwardIterator>
1434:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
1434:          _ForwardIterator __result)
1434:     {
1434:       return
1434:  std::__uninitialized_copy_n_pair(__first, __n, __result,
1434:       std::__iterator_category(__first));
1434:     }
1434: # 962 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template <typename _ForwardIterator>
1434:     inline void
1434:     uninitialized_default_construct(_ForwardIterator __first,
1434:         _ForwardIterator __last)
1434:     {
1434:       __uninitialized_default_novalue(__first, __last);
1434:     }
1434: # 977 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template <typename _ForwardIterator, typename _Size>
1434:     inline _ForwardIterator
1434:     uninitialized_default_construct_n(_ForwardIterator __first, _Size __count)
1434:     {
1434:       return __uninitialized_default_novalue_n(__first, __count);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _ForwardIterator>
1434:     inline void
1434:     uninitialized_value_construct(_ForwardIterator __first,
1434:       _ForwardIterator __last)
1434:     {
1434:       return __uninitialized_default(__first, __last);
1434:     }
1434: # 1005 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template <typename _ForwardIterator, typename _Size>
1434:     inline _ForwardIterator
1434:     uninitialized_value_construct_n(_ForwardIterator __first, _Size __count)
1434:     {
1434:       return __uninitialized_default_n(__first, __count);
1434:     }
1434: # 1020 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template <typename _InputIterator, typename _ForwardIterator>
1434:     inline _ForwardIterator
1434:     uninitialized_move(_InputIterator __first, _InputIterator __last,
1434:          _ForwardIterator __result)
1434:     {
1434:       return std::uninitialized_copy
1434:  (std::make_move_iterator(__first),
1434:   std::make_move_iterator(__last), __result);
1434:     }
1434: # 1038 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:   template <typename _InputIterator, typename _Size, typename _ForwardIterator>
1434:     inline pair<_InputIterator, _ForwardIterator>
1434:     uninitialized_move_n(_InputIterator __first, _Size __count,
1434:     _ForwardIterator __result)
1434:     {
1434:       auto __res = std::__uninitialized_copy_n_pair
1434:  (std::make_move_iterator(__first),
1434:   __count, __result);
1434:       return {__res.first.base(), __res.second};
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up, typename _Allocator>
1434:    
1434:     inline void
1434:     __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig,
1434:    _Allocator& __alloc)
1434:     noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc,
1434:     __dest, std::move(*__orig)))
1434:       && noexcept(std::allocator_traits<_Allocator>::destroy(
1434:        __alloc, std::__addressof(*__orig))))
1434:     {
1434:       typedef std::allocator_traits<_Allocatorpointer;
1412:       typedef typename _Hashtable::reference reference;
1412:       typedef typename _Hashtable::const_reference const_reference;
1412:       typedef typename _Hashtable::iterator iterator;
1412:       typedef typename _Hashtable::const_iterator const_iterator;
1412:       typedef typename _Hashtable::local_iterator local_iterator;
1412:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1412:       typedef typename _Hashtable::size_type size_type;
1412:       typedef typename _Hashtable::difference_type difference_type;
1412: 
1412: 
1412: 
1412:       using node_type = typename _Hashtable::node_type;
1412:       using insert_return_type = typename _Hashtable::insert_return_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unordered_map() = default;
1412: # 150 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       explicit
1412:       unordered_map(size_type __n,
1412:       const hasher& __hf = hasher(),
1412:       const key_equal& __eql = key_equal(),
1412:       const allocator_type& __a = allocator_type())
1412:       : _M_h(__n, __hf, __eql, __a)
1412:       { }
1412: # 171 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename _InputIterator>
1412:  unordered_map(_InputIterator __first, _InputIterator __last,
1412:         size_type __n = 0,
1412:         const hasher& __hf = hasher(),
1412:         const key_equal& __eql = key_equal(),
1412:         const allocator_type& __a = allocator_type())
1412:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1412:  { }
1412: 
1412: 
1412:       unordered_map(const unordered_map&) = default;
1412: 
1412: 
1412:       unordered_map(unordered_map&&) = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       unordered_map(const allocator_type& __a)
1412:  : _M_h(__a)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unordered_map(const unordered_map& __umap,
1412:       const allocator_type& __a)
1412:       : _M_h(__umap._M_h, __a)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unordered_map(unordered_map&& __umap,
1412:       const allocator_type& __a)
1412:  noexcept( noexcept(_Hashtable(std::move(__umap._M_h), __a)) )
1412:       : _M_h(std::move(__umap._M_h), __a)
1412:       { }
1412: # 227 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       unordered_map(initializer_list<value_type> __l,
1412:       size_type __n = 0,
1412:       const hasher& __hf = hasher(),
1412:       const key_equal& __eql = key_equal(),
1412:       const allocator_type& __a = allocator_type())
1412:       : _M_h(__l, __n, __hf, __eql, __a)
1412:       { }
1412: 
1412:       unordered_map(size_type __n, const allocator_type& __a)
1412:       : unordered_map(__n, hasher(), key_equal(), __a)
1412:       { }
1412: 
1412:       unordered_map(size_type __n, const hasher& __hf,
1412:       const allocator_type& __a)
1412:       : unordered_map(__n, __hf, key_equal(), __a)
1412:       { }
1412: 
1412:       template<typename _InputIterator>
1412:  unordered_map(_InputIterator __first, _InputIterator __last,
1412:         size_type __n,
1412:         const allocator_type& __a)
1412:  : unordered_map(__first, __last, __n, hasher(), key_equal(), __a)
1412:  { }
1412: 
1412:       template<typename _InputIterator>
1412:  unordered_map(_InputIterator __first, _InputIterator __last,
1412:         size_type __n, const hasher& __hf,
1412:         const allocator_type& __a)
1412:    : unordered_map(__first, __last, __n, __hf, key_equal(), __a)
1412:  { }
1412: 
1412:       unordered_map(initializer_list<value_type> __l,
1412:       size_type __n,
1412:       const allocator_type& __a)
1412:       : unordered_map(__l, __n, hasher(), key_equal(), __a)
1412:       { }
1412: 
1412:       unordered_map(initializer_list<value_type> __l,
1412:       size_type __n, const hasher& __hf,
1412:       const allocator_type& __a)
1412:       : unordered_map(__l, __n, __hf, key_equal(), __a)
1412:       { }
1412: 
1412: 
1412:       unordered_map&
1412:       operator=(const unordered_map&) = def7: 
1417:   void CheckAndInstallAddonUpdates(bool wait) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool UnloadAddon(const std::string& addonId);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool LoadAddon(const std::string& addonId,
1417:                  const std::string& origin,
1417:                  const CAddonVersion& addonVersion);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void OnPostUnInstall(const std::string& id);
1417: 
1417: 
1417:   bool DisableAddon(const std::string& ID, AddonDisabledReason disabledReason);
1417: 
1417: 
1417:   bool UpdateDisabledReason(const std::string& id, AddonDisabledReason newDisabledReason);
1417: 
1417: 
1417:   bool EnableAddon(const std::string& ID);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsAddonDisabled(const std::string& ID) const;
1417: # 281 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool IsAddonDisabledExcept(const std::string& ID, AddonDisabledReason disabledReason) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool CanAddonBeDisabled(const std::string& ID);
1417: 
1417:   bool CanAddonBeEnabled(const std::string& id);
1417: 
1417: 
1417: 
1417: 
1417:   bool IsAddonInstalled(const std::string& ID);
1417: # 303 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool IsAddonInstalled(const std::string& ID, const std::string& origin) const;
1417: # 313 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool IsAddonInstalled(const std::string& ID,
1417:                         const std::string& origin,
1417:                         const CAddonVersion& version);
1417: 
1417: 
1417: 
1417: 
1417:   bool CanAddonBeInstalled(const AddonPtr& addon);
1417: 
1417:   bool CanUninstall(const AddonPtr& addon);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsBundledAddon(const std::string& id);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsSystemAddon(const std::string& id);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsRequiredSystemAddon(const std::string& id);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsOptionalSystemAddon(const std::string& id);
1417: # 370 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool AddUpdateRuleToList(const std::string& id, AddonUpdateRule updateRule);
1417: 
1417: 
1417: 
1417: 
1417:   bool RemoveAllUpdateRulesFromList(const std::string& id);
1417: 
1417: 
1417: 
1417: 
1417:   bool RemoveUpdateRuleFromList(const std::string& id, AddonUpdateRule updateRule);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsAutoUpdateable(const std::string& id) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void PublishEventAutoUpdateStateChanged(const std::string& id);
1417:   void UpdateLastUsed(const std::string& id);
1417: # 406 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   void PublishInstanceAdded(const std::string& addonId, AddonInstanceId instanceId);
1417: # 416 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   void PublishInstanceRemoved(const std::string& addonId, AddonInstanceId instanceId);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool LoadAddonDescription(const std::string& path, AddonPtr& addon);
1417: 
1417:   bool ServicesHasStarted() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsCompatible(const IAddon& addon) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsCompatible(const AddonInfoPtr& addonInfo) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::vector<DependencyInfo> GetDepsRecursive(const std::string& id,
1417:                                                OnlyEnabledRootAddon onlyEnabledRootAddon);
1417: # 462 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool GetAddonInfos(std::vector<AddonInfoPtr>& addonInfos, bool onlyEnabled, AddonType type) const;
1417: # 475 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   std::vector<AddonInfoPtr> GetAddonInfos(bool onlyEnabled,
1417: > __traits;
1434:       __traits::construct(__alloc, __dest, std::move(*__orig));
1434:       __traits::destroy(__alloc, std::__addressof(*__orig));
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename = void>
1434:     struct __is_bitwise_relocatable
1434:     : is_trivial<_Tp> { };
1434: 
1434:   template <typename _InputIterator, typename _ForwardIterator,
1434:      typename _Allocator>
1434:    
1434:     inline _ForwardIterator
1434:     __relocate_a_1(_InputIterator __first, _InputIterator __last,
1434:      _ForwardIterator __result, _Allocator& __alloc)
1434:     noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result),
1434:             std::addressof(*__first),
1434:             __alloc)))
1434:     {
1434:       typedef typename iterator_traits<_InputIterator>::value_type
1434:  _ValueType;
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType2;
1434:       static_assert(std::is_same<_ValueType, _ValueType2>::value,
1434:    "relocation is only possible for values of the same type");
1434:       _ForwardIterator __cur = __result;
1434:       for (; __first != __last; ++__first, (void)++__cur)
1434:  std::__relocate_object_a(std::__addressof(*__cur),
1434:      std::__addressof(*__first), __alloc);
1434:       return __cur;
1434:     }
1434: 
1434:   template <typename _Tp, typename _Up>
1434:    
1434:     inline __enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp*>
1434:     __relocate_a_1(_Tp* __first, _Tp* __last,
1434:      _Tp* __result,
1434:      [[__maybe_unused__]] allocator<_Up>& __alloc) noexcept
1434:     {
1434:       ptrdiff_t __count = __last - __first;
1434:       if (__count > 0)
1434:  {
1434: # 1117 "/usr/include/c++/12/bits/stl_uninitialized.h" 3
1434:    __builtin_memmove(__result, __first, __count * sizeof(_Tp));
1434:  }
1434:       return __result + __count;
1434:     }
1434: 
1434: 
1434:   template <typename _InputIterator, typename _ForwardIterator,
1434:      typename _Allocator>
1434:    
1434:     inline _ForwardIterator
1434:     __relocate_a(_InputIterator __first, _InputIterator __last,
1434:    _ForwardIterator __result, _Allocator& __alloc)
1434:     noexcept(noexcept(__relocate_a_1(std::__niter_base(__first),
1434:          std::__niter_base(__last),
1434:          std::__niter_base(__result), __alloc)))
1434:     {
1434:       return std::__relocate_a_1(std::__niter_base(__first),
1434:      std::__niter_base(__last),
1434:      std::__niter_base(__result), __alloc);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 67 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_tempbuf.h" 1 3
1434: # 62 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   namespace __detail
1434:   {
1434:     template<typename _Tp>
1434:       inline void
1434:       __return_temporary_buffer(_Tp* __p,
1434:     size_t __len __attribute__((__unused__)))
1434:       {
1434: 
1434:  ::operator delete(__p, __len * sizeof(_Tp));
1434: 
1434: 
1434: 
1434:       }
1434:   }
1434: # 98 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1434:   template<typename _Tp>
1434:     [[__deprecated__]]
1434:     pair<_Tp*, ptrdiff_t>
1434:     get_temporary_buffer(ptrdiff_t __len) noexcept
1434:     {
1434:       const ptrdiff_t __max =
1434:  __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1434:       if (__len > __max)
1434:  __len = __max;
1434: 
1434:       while (__len > 0)
1434:  {
1434:    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
1434:        std::nothrow));
1434:    if (__tmp != 0)
1434:      return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
1434:    __len = __len == 1 ? 0 : ((__len + 1) / 2);
1434:  }
1434:       return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
1434:     }
1434: # 126 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1434:   template<typename _Tp>
1434:     inline void
1434:     return_temporary_buffer(_Tp* __p)
1434:     { ::operator delete(__p); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Tp>
1434:     class _Temporary_buffer
1434:     {
1434: 
1434:      
1434: 
1434:     public:
1434:       typedef _Tp value_type;
1434:       typedef value_type* pointer;
1434:       typedef pointer iterator;
1434:       typedef ptrdiff_t size_type;
1434: 
1434:     protected:
1434:       size_type _M_original_len;
1434:       size_type _M_len;
1434:       pointer _M_buffer;
1434: 
1434:     public:
1434: 
1434:       size_type
1434:       size() const
1434:       { return _M_len; }
1434: 
1434: 
1434:       size_type
1434:       requested_size() const
1434:       { return _M_original_len; }
1434: 
1434: 
1434:       iterator
1434:       begin()
1434:       { return _M_buffer; }
1434: 
1434: 
1434:       iterator
1434:       end()
1434:       { return _M_buffer + _M_len; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       _Temporary_buffer(_ForwardIterator __seed, size_type __original_len);
1434: 
1434:       ~_Temporary_buffer()
1434:       {
1434:  std::_Destroy(_M_buffer, _M_buffer + _M_len);
1434:  std::__detail::__return_temporary_buffer(_M_buffer, _M_len);
1434:       }
1434: 
1434:     private:
1434: 
1434:       _Temporary_buffer(const _Temporary_buffer&);
1434: 
1434:       void
1434:       operator=(const _Temporary_buffer&);
1434:     };
1434: 
1434: 
1434:   template<bool>
1434:     struct __uninitialized_construct_buf_dispatch
1434:     {
1434:       template<typename _Pointer, typename _ForwardIterator>
1434:         static void
1434:         __ucr(_Pointer __first, _Pointer __last,
1434:        _ForwardIterator __seed)
1434:         {
1434:    if (__first == __last)
1434:      return;
1434: 
1434:    _Pointer __cur = __first;
1434:    try
1434:      {
1434:        std::_Construct(std::__addressof(*__first),
1434:          std::move(*__seed));
1434:        _Pointer __prev = __cur;
1434:        ++__cur;
1434:        for(; __cur != __last; ++__cur, ++__prev)
1434:   std::_Construct(std::__addressof(*__cur),
1434:     std::move(*__prev));
1434:        *__seed = std::move(*__prev);
1434:      }
1434:    catch(...)
1434:      {
1434:        std::_Destroy(__first, __cur);
1434:        throw;
1434:      }
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct __uninitialized_construct_buf_dispatch<true>
1434:     {
1434:       template<typename _Pointer, typename _ForwardIterator>
1434:         static void
1434:         __ucr(_Pointer, _Pointer, _ForwardIterator) { }
1434:     };
1434: # 244 "/usr/include/c++/12/bits/stl_tempbuf.h" 3
1434:   template<typename _Pointer, typename _ForwardIterator>
1434:     inline void
1434:     __uninitialized_construct_buf(_Pointer __first, _Pointer __last,
1434:       _ForwardIterator __seed)
1434:     {
1434:       typedef typename std::iterator_traits<_Pointer>::value_type
1434:  _ValueType;
1434: 
1434:       std::__uninitialized_construct_buf_dispatch<
1434:         __has_trivial_constructor(_ValueType)>::
1434:    __ucr(__first, __last, __seed);
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp>
1434:     _Temporary_buffer<_ForwardIterator, _Tp>::
1434:     _Temporary_buffer(_ForwardIterator __seed, size_type __original_len)
1434:     : _M_original_len(__original_len), _M_len(0), _M_buffer(0)
1434:     {
1434:       std::pair<pointer, size_type> __p(
1434:   std::get_temporary_buffer<value_type>(_M_original_len));
1434: 
1434:       if (__p.first)
1434:  {
1434:    try
1434:      {
1434:        std::__uninitialized_construct_buf(__p.first, __p.first + __p.second,
1434:        __seed);
1434:        _M_buffer = __p.first;
1434:        _M_len = __p.second;
1434:      }
1434:    catch(...)
1434:      {
1434:        std::__detail::__return_temporary_buffer(__p.first, __p.second);
1434:        throw;
1434:      }
1434:  }
1434:     }
1434: 
1434: 
1434: }
1434: # 68 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 1 3
1434: # 59 "/usr/include/c++/12/bits/stl_raw_storage_iter.h" 3
1434: namespace std __aault;
1412: 
1412: 
1412:       unordered_map&
1412:       operator=(unordered_map&&) = default;
1412: # 289 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       unordered_map&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  _M_h = __l;
1412:  return *this;
1412:       }
1412: 
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return _M_h.get_allocator(); }
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return _M_h.empty(); }
1412: 
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_h.size(); }
1412: 
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _M_h.max_size(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       begin() noexcept
1412:       { return _M_h.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return _M_h.begin(); }
1412: 
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return _M_h.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       end() noexcept
1412:       { return _M_h.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       end() const noexcept
1412:       { return _M_h.end(); }
1412: 
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return _M_h.end(); }
1412: # 386 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename... _Args>
1412:  std::pair<iterator, bool>
1412:  emplace(_Args&&... __args)
1412:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1412: # 417 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace_hint(const_iterator __pos, _Args&&... __args)
1412:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1412: 
1412: 
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1412:  return _M_h.extract(__pos);
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const key_type& __key)
1412:       { return _M_h.extract(__key); }
1412: 
1412: 
1412:       insert_return_type
1412:       insert(node_type&& __nh)
1412:       { return _M_h._M_reinsert_node(std::move(__nh)); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator, node_type&& __nh)
1412:       { return _M_h._M_reinsert_node(std::move(__nh)).position; }
1412: # 469 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template <typename... _Args>
1412:  pair<iterator, bool>
1412:  try_emplace(const key_type& __k, _Args&&... __args)
1412:  {
1412:    return _M_h.try_emplace(cend(), __k, std::forward<_Args>(__args)...);
1412:  }
1412: 
1412: 
1412:       template <typename... _Args>
1412:  pair<iterator, bool>
1412:  try_emplace(key_type&& __k, _Args&&... __args)
1412:  {
1412:    return _M_h.try_emplace(cend(), std::move(__k),
1412:       std::forward<_Args>(__args)...);
1412:  }
1412: # 513 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template <typename... _Args>
1412:  iterator
1412:  try_emplace(const_iterator __hint, const key_type& __k,
1412:       _Args&&... __args)
1412:  {
1412:    return _M_h.try_emplace(__hint, __k,
1412:       std::forward<_Args>(__args)...).first;
1412:  }
1412: 
1412: 
1412:       template <typename... _Args>
1412:  iterator
1412:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1412:  {
1412:    return _M_h.try_emplace(__hint, std::move(__k),
1412:       std::forward<_Args>(__args)...).first;
1412:  }
1412: # 550 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       std::pair<iterator, bool>
1412:       insert(const value_type& __x)
1412:       { return _M_h.insert(__x); }
1412: 
1412: 
1412: 
1412:       std::pair<iterator, bool>
1412:       insettribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <class _OutputIterator, class _Tp>
1434:     class [[__deprecated__]] raw_storage_iterator
1434:     : public iterator<output_iterator_tag, void, void, void, void>
1434:     {
1434:     protected:
1434:       _OutputIterator _M_iter;
1434: 
1434:     public:
1434:       explicit
1434:       raw_storage_iterator(_OutputIterator __x)
1434:       : _M_iter(__x) {}
1434: 
1434:       raw_storage_iterator&
1434:       operator*() { return *this; }
1434: 
1434:       raw_storage_iterator&
1434:       operator=(const _Tp& __element)
1434:       {
1434:  std::_Construct(std::__addressof(*_M_iter), __element);
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:       raw_storage_iterator&
1434:       operator=(_Tp&& __element)
1434:       {
1434:  std::_Construct(std::__addressof(*_M_iter), std::move(__element));
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       raw_storage_iterator&
1434:       operator++()
1434:       {
1434:  ++_M_iter;
1434:  return *this;
1434:       }
1434: 
1434:       raw_storage_iterator
1434:       operator++(int)
1434:       {
1434:  raw_storage_iterator __tmp = *this;
1434:  ++_M_iter;
1434:  return __tmp;
1434:       }
1434: 
1434: 
1434: 
1434:       _OutputIterator base() const { return _M_iter; }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: }
1434: # 69 "/usr/include/c++/12/memory" 2 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/align.h" 1 3
1434: # 35 "/usr/include/c++/12/bits/align.h" 3
1434: # 1 "/usr/include/c++/12/bit" 1 3
1434: # 32 "/usr/include/c++/12/bit" 3
1434:        
1434: # 33 "/usr/include/c++/12/bit" 3
1434: # 55 "/usr/include/c++/12/bit" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 149 "/usr/include/c++/12/bit" 3
1434:   template<typename _Tp>
1434:     constexpr _Tp
1434:     __rotl(_Tp __x, int __s) noexcept
1434:     {
1434:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1434:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1434:  {
1434: 
1434: 
1434:    constexpr unsigned __uNd = _Nd;
1434:    const unsigned __r = __s;
1434:    return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
1434:  }
1434:       const int __r = __s % _Nd;
1434:       if (__r == 0)
1434:  return __x;
1434:       else if (__r > 0)
1434:  return (__x << __r) | (__x >> ((_Nd - __r) % _Nd));
1434:       else
1434:  return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd));
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr _Tp
1434:     __rotr(_Tp __x, int __s) noexcept
1434:     {
1434:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1434:       if constexpr ((_Nd & (_Nd - 1)) == 0)
1434:  {
1434: 
1434: 
1434:    constexpr unsigned __uNd = _Nd;
1434:    const unsigned __r = __s;
1434:    return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
1434:  }
1434:       const int __r = __s % _Nd;
1434:       if (__r == 0)
1434:  return __x;
1434:       else if (__r > 0)
1434:  return (__x >> __r) | (__x << ((_Nd - __r) % _Nd));
1434:       else
1434:  return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd));
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr int
1434:     __countl_zero(_Tp __x) noexcept
1434:     {
1434:       using __gnu_cxx::__int_traits;
1434:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1434: 
1434:       if (__x == 0)
1434:         return _Nd;
1434: 
1434:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1434:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1434:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1434: 
1434:       if constexpr (_Nd <= _Nd_u)
1434:  {
1434:    constexpr int __diff = _Nd_u - _Nd;
1434:    return __builtin_clz(__x) - __diff;
1434:  }
1434:       else if constexpr (_Nd <= _Nd_ul)
1434:  {
1434:    con                                          const std::vector<AddonType>& types) const;
1417: # 489 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool GetDisabledAddonInfos(std::vector<AddonInfoPtr>& addonInfos, AddonType type) const;
1417: # 507 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool GetDisabledAddonInfos(std::vector<AddonInfoPtr>& addonInfos,
1417:                              AddonType type,
1417:                              AddonDisabledReason disabledReason) const;
1417: 
1417:   const AddonInfoPtr GetAddonInfo(const std::string& id, AddonType type) const;
1417: # 520 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   const std::string& GetTempAddonBasePath() { return m_tempAddonBasePath; }
1417: 
1417:   AddonOriginType GetAddonOriginType(const AddonPtr& addon) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsAddonDisabledWithReason(const std::string& ID, AddonDisabledReason disabledReason) const;
1417: # 560 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool SetAddonOrigin(const std::string& addonId, const std::string& repoAddonId, bool isUpdate);
1417: # 575 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool AddonsFromRepoXML(const RepositoryDirInfo& repo,
1417:                          const std::string& xml,
1417:                          std::vector<AddonInfoPtr>& addons);
1417: # 586 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   std::map<std::string, AddonWithUpdate> GetAddonsWithAvailableUpdate() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::vector<std::shared_ptr<IAddon>> GetCompatibleVersions(const std::string& addonId) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const std::string& GetLastAvailableUpdatesCountAsString() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::vector<std::shared_ptr<IAddon>> GetOrphanedDependencies() const;
1417: 
1417: private:
1417:   CAddonMgr& operator=(CAddonMgr const&) = delete;
1417: 
1417:   VECADDONS m_updateableAddons;
1417: # 621 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   std::vector<std::shared_ptr<IAddon>> GetAvailableUpdatesOrOutdatedAddons(
1417:       AddonCheckType addonCheckType) const;
1417: 
1417:   bool GetAddonsInternal(AddonType type,
1417:                          VECADDONS& addons,
1417:                          OnlyEnabled onlyEnabled,
1417:                          CheckIncompatible checkIncompatible) const;
1417: 
1417:   bool EnableSingle(const std::string& id);
1417: 
1417:   void FindAddons(ADDON_INFO_LIST& addonmap, const std::string& path);
1417: # 641 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   bool GetIncompatibleAddonInfos(std::vector<AddonInfoPtr>& incompatible,
1417:                                  bool includeDisabled) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool GetAddonUpdateCandidates(VECADDONS& updates) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SortByDependencies(VECADDONS& updates) const;
1417: # 664 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1417:   void InstallAddonUpdates(VECADDONS& updates,
1417:                            bool wait,
1417:                            AllowCheckForUpdates allowCheckForUpdates) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   mutable std::mutex m_installAddonsMutex;
1417: 
1417:   std::map<std::string, AddonDisabledReason> m_disabled;
1417:   static std::map<AddonType, IAddonMgrCallback*> m_managers;
1417:   mutable CCriticalSection m_critSection;
1417:   std::unique_ptr<CAddonDatabase> m_database;
1417:   std::unique_ptr<CAddonUpdateRules> m_updateRules;
1417:   CEventSource<AddonEvent> m_events;
1417:   CBlockingEventSource<AddonEvent> m_unloadEvents;
1417:   std::set<std::string> m_systemAddons;
1417:   std::set<std::string> m_optionalSystemAddons;
1417:   ADDON_INFO_LIST m_installedAddons;
1417: 
1417: 
1417:   const std::string m_tempAddonBasePath = "special://temp/addonsrt(value_type&& __x)
1412:       { return _M_h.insert(std::move(__x)); }
1412: 
1412:       template<typename _Pair>
1412:  __enable_if_t<is_constructible<value_type, _Pair&&>::value,
1412:         pair<iterator, bool>>
1412:  insert(_Pair&& __x)
1412:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1412: # 589 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       insert(const_iterator __hint, const value_type& __x)
1412:       { return _M_h.insert(__hint, __x); }
1412: 
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, value_type&& __x)
1412:       { return _M_h.insert(__hint, std::move(__x)); }
1412: 
1412:       template<typename _Pair>
1412:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1412:  insert(const_iterator __hint, _Pair&& __x)
1412:  { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1412: # 614 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  insert(_InputIterator __first, _InputIterator __last)
1412:  { _M_h.insert(__first, __last); }
1412: # 626 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       insert(initializer_list<value_type> __l)
1412:       { _M_h.insert(__l); }
1412: # 652 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template <typename _Obj>
1412:  pair<iterator, bool>
1412:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1412:  {
1412:    auto __ret = _M_h.try_emplace(cend(), __k,
1412:      std::forward<_Obj>(__obj));
1412:    if (!__ret.second)
1412:      __ret.first->second = std::forward<_Obj>(__obj);
1412:    return __ret;
1412:  }
1412: 
1412: 
1412:       template <typename _Obj>
1412:  pair<iterator, bool>
1412:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1412:  {
1412:    auto __ret = _M_h.try_emplace(cend(), std::move(__k),
1412:      std::forward<_Obj>(__obj));
1412:    if (!__ret.second)
1412:      __ret.first->second = std::forward<_Obj>(__obj);
1412:    return __ret;
1412:  }
1412: # 701 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template <typename _Obj>
1412:  iterator
1412:  insert_or_assign(const_iterator __hint, const key_type& __k,
1412:     _Obj&& __obj)
1412:  {
1412:    auto __ret = _M_h.try_emplace(__hint, __k, std::forward<_Obj>(__obj));
1412:    if (!__ret.second)
1412:      __ret.first->second = std::forward<_Obj>(__obj);
1412:    return __ret.first;
1412:  }
1412: 
1412: 
1412:       template <typename _Obj>
1412:  iterator
1412:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1412:  {
1412:    auto __ret = _M_h.try_emplace(__hint, std::move(__k),
1412:      std::forward<_Obj>(__obj));
1412:    if (!__ret.second)
1412:      __ret.first->second = std::forward<_Obj>(__obj);
1412:    return __ret.first;
1412:  }
1412: # 739 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       erase(const_iterator __position)
1412:       { return _M_h.erase(__position); }
1412: 
1412: 
1412:       iterator
1412:       erase(iterator __position)
1412:       { return _M_h.erase(__position); }
1412: # 761 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       size_type
1412:       erase(const key_type& __x)
1412:       { return _M_h.erase(__x); }
1412: # 779 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       erase(const_iterator __first, const_iterator __last)
1412:       { return _M_h.erase(__first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       clear() noexcept
1412:       { _M_h.clear(); }
1412: # 803 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       swap(unordered_map& __x)
1412:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1412:       { _M_h.swap(__x._M_h); }
1412: 
1412: 
1412:       template<typename, typename, typename>
1412:  friend class std::_Hash_merge_helper;
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1412:  {
1412:    using _Merge_stexpr int __diff = _Nd_ul - _Nd;
1434:    return __builtin_clzl(__x) - __diff;
1434:  }
1434:       else if constexpr (_Nd <= _Nd_ull)
1434:  {
1434:    constexpr int __diff = _Nd_ull - _Nd;
1434:    return __builtin_clzll(__x) - __diff;
1434:  }
1434:       else
1434:  {
1434:    static_assert(_Nd <= (2 * _Nd_ull),
1434:    "Maximum supported integer size is 128-bit");
1434: 
1434:    unsigned long long __high = __x >> _Nd_ull;
1434:    if (__high != 0)
1434:      {
1434:        constexpr int __diff = (2 * _Nd_ull) - _Nd;
1434:        return __builtin_clzll(__high) - __diff;
1434:      }
1434:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1434:    unsigned long long __low = __x & __max_ull;
1434:    return (_Nd - _Nd_ull) + __builtin_clzll(__low);
1434:  }
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr int
1434:     __countl_one(_Tp __x) noexcept
1434:     {
1434:       return std::__countl_zero<_Tp>((_Tp)~__x);
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr int
1434:     __countr_zero(_Tp __x) noexcept
1434:     {
1434:       using __gnu_cxx::__int_traits;
1434:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1434: 
1434:       if (__x == 0)
1434:         return _Nd;
1434: 
1434:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1434:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1434:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1434: 
1434:       if constexpr (_Nd <= _Nd_u)
1434:  return __builtin_ctz(__x);
1434:       else if constexpr (_Nd <= _Nd_ul)
1434:  return __builtin_ctzl(__x);
1434:       else if constexpr (_Nd <= _Nd_ull)
1434:  return __builtin_ctzll(__x);
1434:       else
1434:  {
1434:    static_assert(_Nd <= (2 * _Nd_ull),
1434:    "Maximum supported integer size is 128-bit");
1434: 
1434:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1434:    unsigned long long __low = __x & __max_ull;
1434:    if (__low != 0)
1434:      return __builtin_ctzll(__low);
1434:    unsigned long long __high = __x >> _Nd_ull;
1434:    return __builtin_ctzll(__high) + _Nd_ull;
1434:  }
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr int
1434:     __countr_one(_Tp __x) noexcept
1434:     {
1434:       return std::__countr_zero((_Tp)~__x);
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr int
1434:     __popcount(_Tp __x) noexcept
1434:     {
1434:       using __gnu_cxx::__int_traits;
1434:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1434: 
1434:       constexpr auto _Nd_ull = __int_traits<unsigned long long>::__digits;
1434:       constexpr auto _Nd_ul = __int_traits<unsigned long>::__digits;
1434:       constexpr auto _Nd_u = __int_traits<unsigned>::__digits;
1434: 
1434:       if constexpr (_Nd <= _Nd_u)
1434:  return __builtin_popcount(__x);
1434:       else if constexpr (_Nd <= _Nd_ul)
1434:  return __builtin_popcountl(__x);
1434:       else if constexpr (_Nd <= _Nd_ull)
1434:  return __builtin_popcountll(__x);
1434:       else
1434:  {
1434:    static_assert(_Nd <= (2 * _Nd_ull),
1434:    "Maximum supported integer size is 128-bit");
1434: 
1434:    constexpr auto __max_ull = __int_traits<unsigned long long>::__max;
1434:    unsigned long long __low = __x & __max_ull;
1434:    unsigned long long __high = __x >> _Nd_ull;
1434:    return __builtin_popcountll(__low) + __builtin_popcountll(__high);
1434:  }
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr bool
1434:     __has_single_bit(_Tp __x) noexcept
1434:     { return std::__popcount(__x) == 1; }
1434: 
1434:   template<typename _Tp>
1434:     constexpr _Tp
1434:     __bit_ceil(_Tp __x) noexcept
1434:     {
1434:       using __gnu_cxx::__int_traits;
1434:       constexpr auto _Nd = __int_traits<_Tp>::__digits;
1434:       if (__x == 0 || __x == 1)
1434:         return 1;
1434:       auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u));
1434: 
1434: 
1434: 
1434: 
1434:       if (!std::__is_constant_evaluated())
1434";
1417: 
1417: 
1417: 
1417: 
1417:   mutable std::string m_lastAvailableUpdatesCountAsString;
1417:   mutable std::mutex m_lastAvailableUpdatesCountMutex;
1417: };
1417: 
1417: };
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Visualization.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Visualization.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CDateTime;
1417: class TiXmlElement;
1417: 
1417: namespace ADDON
1417: {
1417: enum class AddonInstanceSupport;
1417: enum class AddonLifecycleState;
1417: enum class AddonType;
1417: 
1417: class CAddonMgr;
1417: class CAddonSettings;
1417: class CAddonVersion;
1417: 
1417: struct DependencyInfo;
1417: 
1417: using AddonInstanceId = uint32_t;
1417: 
1417: constexpr const char* ADDON_SETTING_INSTANCE_GROUP = "kodi_addon_instance";
1417: constexpr const char* ADDON_SETTING_INSTANCE_NAME_VALUE = "kodi_addon_instance_name";
1417: constexpr const char* ADDON_SETTING_INSTANCE_ENABLED_VALUE = "kodi_addon_instance_enabled";
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr AddonInstanceId ADDON_SINGLETON_INSTANCE_ID = 0;
1417: 
1417: 
1417: 
1417: 
1417: constexpr AddonInstanceId ADDON_FIRST_INSTANCE_ID = 1;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr AddonInstanceId ADDON_INSTANCE_ID_UNUSED = ADDON_SINGLETON_INSTANCE_ID;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr AddonInstanceId ADDON_SETTINGS_ID = ADDON_SINGLETON_INSTANCE_ID;
1417: 
1417: constexpr char const* ORIGIN_SYSTEM = "b6a50484-93a0-4afb-a01c-8d17e059feda";
1417: 
1417: class IAddon;
1417: typedef std::shared_ptr<IAddon> AddonPtr;
1417: typedef std::vector<AddonPtr> VECADDONS;
1417: 
1417: using InfoMap = std::map<std::string, std::string>;
1417: using ArtMap = std::map<std::string, std::string>;
1417: 
1417: class IAddon : public std::enable_shared_from_this<IAddon>
1417: {
1417: public:
1417:   virtual ~IAddon() = default;
1417:   virtual AddonType MainType() const = 0;
1417:   virtual AddonType Type() const = 0;
1417:   virtual bool HasType(AddonType type) const = 0;
1417:   virtual bool HasMainType(AddonType type) const = 0;
1417:   virtual std::string ID() const = 0;
1417:   virtual std::string Name() const = 0;
1417:   virtual bool IsInUse() const = 0;
1417:   virtual bool IsBinary() const = 0;
1417:   virtual CAddonVersion Version() const = 0;
1417:   virtual CAddonVersion MinVersion() const = 0;
1417:   virtual std::string Summary() const = 0;
1417:   virtual std::string Description() const = 0;
1417:   virtual std::string Path() const = 0;
1417:   virtual std::string Profile() const = 0;
1417:   virtual std::string LibPath() const = 0;
1417:   virtual std::string ChangeLog() const = 0;
1417:   virtual std::string FanArt() const = 0;
1417:   virtual ArtMap Art() const = 0;
1417:   virtual std::vector<std::string> Screenshots() const = 0;
1417:   virtual std::string Author() const = 0;
1417:   virtual std::string Icon() const = 0;
1417:   virtual std::string Disclaimer() const = 0;
1417:   virtual AddonLifecycleState LifecycleState() const = 0;
1417:   virtual std::string LifecycleStateDescription() const = 0;
1417:   virtual CDateTime InstallDate() const = 0;
1417:   virtual CDateTime LastUpdated() const = 0;
1417:   virtual CDateTime LastUsed() const = 0;
1417:   virtual std::string Origin() const = 0;
1417:   virtual std::string OriginName() const = 0;
1417:   virtual uint64_t PackageSize() const = 0;
1417:   virtual const InfoMap& ExtraInfo() const = 0;
1417:   virtual bool SupportsMultipleInstances() const = 0;
1417:   virtual AddonInstanceSupport InstanceUseType() const = 0;
:  {
1434:    do { if (std::__is_constant_evaluated() && !bool(__shift_exponent != __int_traits<_Tp>::__digits)) __builtin_unreachable(); } while (false);
1434:  }
1434: 
1434:       using __promoted_type = decltype(__x << 1);
1434:       if constexpr (!is_same<__promoted_type, _Tp>::value)
1434:  {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2;
1434:    __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp;
1434:  }
1434:       return (_Tp)1u << __shift_exponent;
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr _Tp
1434:     __bit_floor(_Tp __x) noexcept
1434:     {
1434:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1434:       if (__x == 0)
1434:         return 0;
1434:       return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr _Tp
1434:     __bit_width(_Tp __x) noexcept
1434:     {
1434:       constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
1434:       return _Nd - std::__countl_zero(__x);
1434:     }
1434: # 476 "/usr/include/c++/12/bit" 3
1434: 
1434: }
1434: # 36 "/usr/include/c++/12/bits/align.h" 2 3
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 1 3 4
1434: # 9 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 3 4
1434: # 1 "/usr/include/stdint.h" 1 3 4
1434: # 26 "/usr/include/stdint.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1434: # 27 "/usr/include/stdint.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1434: # 28 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/timesize.h" 1 3 4
1434: # 29 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1434: 
1434: 
1434: typedef unsigned char __u_char;
1434: typedef unsigned short int __u_short;
1434: typedef unsigned int __u_int;
1434: typedef unsigned long int __u_long;
1434: 
1434: 
1434: typedef signed char __int8_t;
1434: typedef unsigned char __uint8_t;
1434: typedef signed short int __int16_t;
1434: typedef unsigned short int __uint16_t;
1434: typedef signed int __int32_t;
1434: typedef unsigned int __uint32_t;
1434: 
1434: 
1434: 
1434: 
1434: __extension__ typedef signed long long int __int64_t;
1434: __extension__ typedef unsigned long long int __uint64_t;
1434: 
1434: 
1434: 
1434: typedef __int8_t __int_least8_t;
1434: typedef __uint8_t __uint_least8_t;
1434: typedef __int16_t __int_least16_t;
1434: typedef __uint16_t __uint_least16_t;
1434: typedef __int32_t __int_least32_t;
1434: typedef __uint32_t __uint_least32_t;
1434: typedef __int64_t __int_least64_t;
1434: typedef __uint64_t __uint_least64_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: __extension__ typedef long long int __quad_t;
1434: __extension__ typedef unsigned long long int __u_quad_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: __extension__ typedef long long int __intmax_t;
1434: __extension__ typedef unsigned long long int __uintmax_t;
1434: # 141 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/typesizes.h" 1 3 4
1434: # 142 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/time64.h" 1 3 4
1434: # 143 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4
1434: 
1434: 
1434: __extension__ typedef __uint64_t __dev_t;
1434: __extension__ typedef unsigned int __uid_t;
1434: __extension__ typedef unsigned int __gid_t;
1434: __extension__ typedef unsigned long int __ino_t;
1434: __extension__ typedef __uint64_t __ino64_t;
1434: __extension__ typedef unsigned int __mode_t;
1434: __extension__ typedef unsigned int __nlink_t;
1434: __extension__ typedef long int __off_t;
1434: __extension__ typedef __int64_t __off64_t;
1434: __extension__ typedef int __pid_t;
1434: __extension__ typedef struct { int __val[2]; } __fsid_t;
1434: __extension__ typedef long int __clock_t;
1434: __extension__ typedef unsigned long int __rlim_t;
1434: __extension__ typedef __uint64_t __rlim64_t;
1434: __extension__ typedef unsigned int __id_t;
1434: __extension__ typedef long int __time_t;
1434: __extension__ typedef unsigned int __useconds_t;
1434: __extension__ typedef long int __suseconds_t;
1434: __extension__ typedef __int64_t __suseconds64_t;
1434: 
1434: __extension__ typedef int __daddr_t;
1434: __extension__ typedef int __key_t;
1434: 
1434: 
1434: __extension__ typedef int __clockid_t;
1434: 
1434: 
1434: __extension__ typedef void * __timer_t;
1434: 
1434: 
1434: __extension__ typedef long int __blksize_t;
1434: 
1434: 
1434: 
1434: 
1434: __extension__ typedef long int __blkcnt_t;
1434: __extension__ typedef __int64_t __blkcnt64_t;
1434: 
1434: 
1434: __extension__ typedef unsigned long int __fsblkcnt_t;
1434: __extension__ typedef __uint64_t __fsblkcnt64_t;
1434: 
1434: 
1434: __extension__ typedef unsigned long int __fsfilcnt_t;
1434: __extension__ typedef __uint64_t __fsfilcnt64_t;
1434: 
1434: 
1434: __extension__ typedef int __fsword_t;
1434: 
1434: __extension__ typedef int __ssize_t;
1434: 
1434: 
1434: __extension__ typedef long int __syscall_slong_t;
1434: 
1434: __extension__ typedef unsigned long int __syscall_ulong_t;
1434: 
1434: 
1434: 
1434: typedef __off64_t __loff_t;
1434: typedef char *__caddr_t;
1434: 
1434: 
1434: __extension__ typedef int __intptr_t;
1434: 
1434: 
1434: __extension__ typedef unsigned int __socklen_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef int __sig_atomic_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: __extension__ typedef __int64_t __time64_t;
1434: # 28 "/usr/include/stdint.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar.h" 1 3 4
1434: # 29 "/usr/include/stdint.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1434: # 30 "/usr/include/stdint.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-intn.h" 3 4
1434: typedef __int8_t int8_t;
1434: typedef __int16_t int16_t;
1434: typedef __int32_t int32_t;
1434: typedef __int64_t int64_t;
1434: # 35 "/usr/include/stdint.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h" 3 4
1434: typedef __uint8_t uint8_t;
1434: typedef __uint16_t uint16_t;
1434: typedef __uint32_t uint32_t;
1434: typedef __uint64_t uint64_t;
1434: # 38 "/usr/include/stdint.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __int_least8_t int_least8_t;
1434: typedef __int_least16_t int_least16_t;
1434: typedef __int_least32_t int_least32_t;
1434: typedef __int_least64_t int_least64_t;
1434: 
1434: 
1434: typedef __uint_least8_t uint_least8_t;
1434: typedef __uint_least16_t uint_least16_t;
1434: typedef __uint_least32_t uint_least32_t;
1434: typedef __uint_least64_t uint_least64_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef signed char int_fast8_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef int int_fast16_t;
1434: typedef int int_fast32_t;
1434: __extension__
1434: typedef long long int int_fast64_t;
1434: 
1434: 
1434: 
1434: typedef unsigned char uint_fast8_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef unsigned int uint_fast16_t;
1434: typedef unsigned int uint_fast32_t;
1434: __extension__
1434: typedef unsigned long long int uint_fast64_t;
1434: # 93 "/usr/include/stdint.h" 3 4
1434: typedef int intptr_t;
1434: 
1434: 
1434: typedef unsigned int uintptr_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __intmax_t intmax_t;
1434: typedef __uintmax_t uintmax_t;
1434: # 10 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdint.h" 2 3 4
1434: # 37 "/usr/include/c++/12/bits/align.h" 2 3
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 61 "/usr/include/c++/12/bits/align.h" 3
1434: inline void*
1434: align(size_t __align, size_t __size, void*& __ptr, shelper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1412:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1412:  }
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1412:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1412:  }
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       hasher
1412:       hash_function() const
1412:       { return _M_h.hash_function(); }
1412: 
1412: 
1412: 
1412:       key_equal
1412:       key_eq() const
1412:       { return _M_h.key_eq(); }
1412: # 867 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       find(const key_type& __x)
1412:       { return _M_h.find(__x); }
1412: # 878 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       const_iterator
1412:       find(const key_type& __x) const
1412:       { return _M_h.find(__x); }
1412: # 900 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       size_type
1412:       count(const key_type& __x) const
1412:       { return _M_h.count(__x); }
1412: # 940 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       std::pair<iterator, iterator>
1412:       equal_range(const key_type& __x)
1412:       { return _M_h.equal_range(__x); }
1412: # 952 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       std::pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __x) const
1412:       { return _M_h.equal_range(__x); }
1412: # 978 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       mapped_type&
1412:       operator[](const key_type& __k)
1412:       { return _M_h[__k]; }
1412: 
1412:       mapped_type&
1412:       operator[](key_type&& __k)
1412:       { return _M_h[std::move(__k)]; }
1412: # 995 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       mapped_type&
1412:       at(const key_type& __k)
1412:       { return _M_h.at(__k); }
1412: 
1412:       const mapped_type&
1412:       at(const key_type& __k) const
1412:       { return _M_h.at(__k); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       size_type
1412:       bucket_count() const noexcept
1412:       { return _M_h.bucket_count(); }
1412: 
1412: 
1412:       size_type
1412:       max_bucket_count() const noexcept
1412:       { return _M_h.max_bucket_count(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       size_type
1412:       bucket_size(size_type __n) const
1412:       { return _M_h.bucket_size(__n); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       size_type
1412:       bucket(const key_type& __key) const
1412:       { return _M_h.bucket(__key); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       local_iterator
1412:       begin(size_type __n)
1412:       { return _M_h.begin(__n); }
1412: # 1051 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       const_local_iterator
1412:       begin(size_type __n) const
1412:       { return _M_h.begin(__n); }
1412: 
1412:       const_local_iterator
1412:       cbegin(size_type __n) const
1412:       { return _M_h.cbegin(__n); }
1412: # 1066 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       local_iterator
1412:       end(size_type __n)
1412:       { return _M_h.end(__n); }
1412: # 1077 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       const_local_iterator
1412:       end(size_type __n) const
1412:       { return _M_h.end(__n); }
1412: 
1412:       const_local_iterator
1412:       cend(size_type __n) const
1412:       { return _M_h.cend(__n); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       float
1412:       load_factor() const noexcept
1412:       { return _M_h.load_factor(); }
1412: 
1412: 
1412: 
1412:       float
1412:     ize_t& __space) noexcept
1434: {
1434:   if (__space < __size)
1434:     return nullptr;
1434:   const auto __intptr = reinterpret_cast<uintptr_t>(__ptr);
1434:   const auto __aligned = (__intptr - 1u + __align) & -__align;
1434:   const auto __diff = __aligned - __intptr;
1434:   if (__diff > (__space - __size))
1434:     return nullptr;
1434:   else
1434:     {
1434:       __space -= __diff;
1434:       return __ptr = reinterpret_cast<void*>(__aligned);
1434:     }
1434: }
1434: # 108 "/usr/include/c++/12/bits/align.h" 3
1434: 
1434: }
1434: # 73 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/uses_allocator.h" 1 3
1434: # 35 "/usr/include/c++/12/bits/uses_allocator.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   struct __erased_type { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Alloc, typename _Tp>
1434:     using __is_erased_or_convertible
1434:       = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
1434: 
1434: 
1434:   struct allocator_arg_t { explicit allocator_arg_t() = default; };
1434: 
1434:   inline constexpr allocator_arg_t allocator_arg =
1434:     allocator_arg_t();
1434: 
1434:   template<typename _Tp, typename _Alloc, typename = __void_t<>>
1434:     struct __uses_allocator_helper
1434:     : false_type { };
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     struct __uses_allocator_helper<_Tp, _Alloc,
1434:        __void_t<typename _Tp::allocator_type>>
1434:     : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     struct uses_allocator
1434:     : __uses_allocator_helper<_Tp, _Alloc>::type
1434:     { };
1434: 
1434:   struct __uses_alloc_base { };
1434: 
1434:   struct __uses_alloc0 : __uses_alloc_base
1434:   {
1434:     struct _Sink { void operator=(const void*) { } } _M_a;
1434:   };
1434: 
1434:   template<typename _Alloc>
1434:     struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
1434: 
1434:   template<typename _Alloc>
1434:     struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
1434: 
1434:   template<bool, typename _Tp, typename _Alloc, typename... _Args>
1434:     struct __uses_alloc;
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     struct __uses_alloc<true, _Tp, _Alloc, _Args...>
1434:     : __conditional_t<
1434:         is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
1434:         __uses_alloc1<_Alloc>,
1434:         __uses_alloc2<_Alloc>>
1434:     {
1434: 
1434: 
1434:       static_assert(__or_<
1434:    is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
1434:    is_constructible<_Tp, _Args..., const _Alloc&>>::value,
1434:    "construction with an allocator must be possible"
1434:    " if uses_allocator is true");
1434:     };
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     struct __uses_alloc<false, _Tp, _Alloc, _Args...>
1434:     : __uses_alloc0 { };
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     using __uses_alloc_t =
1434:       __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:    
1434:     inline __uses_alloc_t<_Tp, _Alloc, _Args...>
1434:     __use_alloc(const _Alloc& __a)
1434:     {
1434:       __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
1434:       __ret._M_a = std::__addressof(__a);
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     void
1434:     __use_alloc(const _Alloc&&) = delete;
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     inline constexpr bool uses_allocator_v =
1434:       uses_allocator<_Tp, _Alloc>::value;
1434: 
1434: 
1434:   template<template<typename...> class _Predicate,
1434:     typename _Tp, typename _Alloc, typename... _Args>
1434:     struct __is_1417:   virtual std::vector<AddonInstanceId> GetKnownInstanceIds() const = 0;
1417:   virtual bool SupportsInstanceSettings() const = 0;
1417:   virtual bool DeleteInstanceSettings(AddonInstanceId instance) = 0;
1417:   virtual bool CanHaveAddonOrInstanceSettings() = 0;
1417:   virtual bool HasSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool HasUserSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual void SaveSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual void UpdateSetting(const std::string& key,
1417:                              const std::string& value,
1417:                              AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool UpdateSettingBool(const std::string& key,
1417:                                  bool value,
1417:                                  AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool UpdateSettingInt(const std::string& key,
1417:                                 int value,
1417:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool UpdateSettingNumber(const std::string& key,
1417:                                    double value,
1417:                                    AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool UpdateSettingString(const std::string& key,
1417:                                    const std::string& value,
1417:                                    AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual std::string GetSetting(const std::string& key,
1417:                                  AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool GetSettingBool(const std::string& key,
1417:                               bool& value,
1417:                               AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool GetSettingInt(const std::string& key,
1417:                              int& value,
1417:                              AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool GetSettingNumber(const std::string& key,
1417:                                 double& value,
1417:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual bool GetSettingString(const std::string& key,
1417:                                 std::string& value,
1417:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual std::shared_ptr<CAddonSettings> GetSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual const std::vector<DependencyInfo>& GetDependencies() const = 0;
1417:   virtual CAddonVersion GetDependencyVersion(const std::string& dependencyID) const = 0;
1417:   virtual bool MeetsVersion(const CAddonVersion& versionMin,
1417:                             const CAddonVersion& version) const = 0;
1417:   virtual bool ReloadSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual void ResetSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1417:   virtual AddonPtr GetRunningInstance() const = 0;
1417:   virtual void OnPreInstall() = 0;
1417:   virtual void OnPostInstall(bool update, bool modal) = 0;
1417:   virtual void OnPreUnInstall() = 0;
1417:   virtual void OnPostUnInstall() = 0;
1417: };
1417: 
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h" 1
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h"
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdbool.h" 1 3 4
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h" 2
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h" 2
1417: # 115 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h"
1417: extern "C"
1417  max_load_factor() const noexcept
1412:       { return _M_h.max_load_factor(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       max_load_factor(float __z)
1412:       { _M_h.max_load_factor(__z); }
1412: # 1114 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       rehash(size_type __n)
1412:       { _M_h.rehash(__n); }
1412: # 1125 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       reserve(size_type __n)
1412:       { _M_h.reserve(__n); }
1412: 
1412:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1412:         typename _Alloc1>
1412:         friend bool
1412:  operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&,
1412:      const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&);
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator,
1412:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1412:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1412:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireNotAllocator<_Pred>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(_InputIterator, _InputIterator,
1412:     typename unordered_map<int, int>::size_type = {},
1412:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1412:     -> unordered_map<__iter_key_t<_InputIterator>,
1412:        __iter_val_t<_InputIterator>,
1412:        _Hash, _Pred, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1412:     typename _Pred = equal_to<_Key>,
1412:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireNotAllocator<_Pred>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1412:     typename unordered_map<int, int>::size_type = {},
1412:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1412:     -> unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(_InputIterator, _InputIterator,
1412:     typename unordered_map<int, int>::size_type, _Allocator)
1412:     -> unordered_map<__iter_key_t<_InputIterator>,
1412:        __iter_val_t<_InputIterator>,
1412:        hash<__iter_key_t<_InputIterator>>,
1412:        equal_to<__iter_key_t<_InputIterator>>,
1412:        _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(_InputIterator, _InputIterator, _Allocator)
1412:     -> unordered_map<__iter_key_t<_InputIterator>,
1412:        __iter_val_t<_InputIterator>,
1412:        hash<__iter_key_t<_InputIterator>>,
1412:        equal_to<__iter_key_t<_InputIterator>>,
1412:        _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(_InputIterator, _InputIterator,
1412:     typename unordered_map<int, int>::size_type,
1412:     _Hash, _Allocator)
1412:     -> unordered_map<__iter_key_t<_InputIterator>,
1412:        __iter_val_t<_InputIterator>, _Hash,
1412:        equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1412:     typename unordered_map<int, int>::size_type,
1412:     _Allocator)
1412:     -> unordereduses_allocator_predicate
1434:     : __conditional_t<uses_allocator<_Tp, _Alloc>::value,
1434:       __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
1434:      _Predicate<_Tp, _Args..., _Alloc>>,
1434:       _Predicate<_Tp, _Args...>> { };
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     struct __is_uses_allocator_constructible
1434:     : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     inline constexpr bool __is_uses_allocator_constructible_v =
1434:       __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     struct __is_nothrow_uses_allocator_constructible
1434:     : __is_uses_allocator_predicate<is_nothrow_constructible,
1434:         _Tp, _Alloc, _Args...>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     inline constexpr bool
1434:     __is_nothrow_uses_allocator_constructible_v =
1434:       __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
1434: 
1434: 
1434:   template<typename _Tp, typename... _Args>
1434:     void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr,
1434:       _Args&&... __args)
1434:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
1434:       _Args&&... __args)
1434:     {
1434:       ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a,
1434:           std::forward<_Args>(__args)...);
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
1434:       _Args&&... __args)
1434:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
1434: 
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
1434:         _Args&&... __args)
1434:     {
1434:       std::__uses_allocator_construct_impl(
1434:    std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
1434:    std::forward<_Args>(__args)...);
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: # 74 "/usr/include/c++/12/memory" 2 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/unique_ptr.h" 1 3
1434: # 36 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434: # 1 "/usr/include/c++/12/tuple" 1 3
1434: # 32 "/usr/include/c++/12/tuple" 3
1434:        
1434: # 33 "/usr/include/c++/12/tuple" 3
1434: # 41 "/usr/include/c++/12/tuple" 3
1434: # 1 "/usr/include/c++/12/bits/invoke.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/invoke.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/invoke.h" 3
1434: # 42 "/usr/include/c++/12/bits/invoke.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 53 "/usr/include/c++/12/bits/invoke.h" 3
1434:   template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
1434:     constexpr _Up&&
1434:     __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
1434:     { return static_cast<_Up&&>(__t); }
1434: 
1434:   template<typename _Res, typename _Fn, typename... _Args>
1434:     constexpr _Res
1434:     __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
1434:     { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
1434: 
1434:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1434:     constexpr _Res
1434:     __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
1434:     _Args&&... __args)
1434:     { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
1434: 
1434:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
1434:     constexpr _Res
1434:     __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
1434:  : {
1417: 
1417: 
1417:   typedef void* KODI_ADDON_HDL;
1417:   typedef void* KODI_ADDON_BACKEND_HDL;
1417:   typedef void* KODI_ADDON_INSTANCE_HDL;
1417:   typedef void* KODI_ADDON_INSTANCE_BACKEND_HDL;
1417: 
1417: 
1417:   typedef void* ADDON_HARDWARE_CONTEXT;
1417: 
1417:   typedef void* KODI_ADDON_FUNC_DUMMY;
1417: # 137 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h"
1417:   typedef enum ADDON_STATUS
1417:   {
1417: 
1417:     ADDON_STATUS_OK,
1417: 
1417: 
1417:     ADDON_STATUS_LOST_CONNECTION,
1417: 
1417: 
1417:     ADDON_STATUS_NEED_RESTART,
1417: 
1417: 
1417:     ADDON_STATUS_NEED_SETTINGS,
1417: 
1417: 
1417:     ADDON_STATUS_UNKNOWN,
1417: 
1417: 
1417:     ADDON_STATUS_PERMANENT_FAILURE,
1417: 
1417: 
1417: 
1417:     ADDON_STATUS_NOT_IMPLEMENTED
1417:   } ADDON_STATUS;
1417: # 181 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h"
1417:   typedef enum ADDON_LOG
1417:   {
1417: 
1417:     ADDON_LOG_DEBUG = 0,
1417: 
1417: 
1417:     ADDON_LOG_INFO = 1,
1417: 
1417: 
1417:     ADDON_LOG_WARNING = 2,
1417: 
1417: 
1417:     ADDON_LOG_ERROR = 3,
1417: 
1417: 
1417: 
1417:     ADDON_LOG_FATAL = 4
1417:   } ADDON_LOG;
1417: 
1417: 
1417: 
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_STRING_V1)(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, const char* value);
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_BOOLEAN_V1)(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, bool value);
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_INTEGER_V1)(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, int value);
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_FLOAT_V1)(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, float value);
1417: 
1417:   typedef struct KODI_ADDON_INSTANCE_FUNC
1417:   {
1417:     PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_STRING_V1 instance_setting_change_string;
1417:     PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_BOOLEAN_V1 instance_setting_change_boolean;
1417:     PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_INTEGER_V1 instance_setting_change_integer;
1417:     PFN_KODI_ADDON_INSTANCE_SETTING_CHANGE_FLOAT_V1 instance_setting_change_float;
1417:   } KODI_ADDON_INSTANCE_FUNC;
1417: 
1417:   typedef struct KODI_ADDON_INSTANCE_FUNC_CB
1417:   {
1417:     char* (*get_instance_user_path)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl);
1417:     bool (*is_instance_setting_using_default)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                               const char* id);
1417: 
1417:     bool (*get_instance_setting_bool)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                       const char* id,
1417:                                       bool* value);
1417:     bool (*get_instance_setting_int)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                      const char* id,
1417:                                      int* value);
1417:     bool (*get_instance_setting_float)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                        const char* id,
1417:                                        float* value);
1417:     bool (*get_instance_setting_string)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                         const char* id,
1417:                                         char** value);
1417: 
1417:     bool (*set_instance_setting_bool)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                       const char* id,
1417:                                       bool value);
1417:     bool (*set_instance_setting_int)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                      const char* id,
1417:                                      int value);
1417:     bool (*set_instance_setting_float)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                        const char   _Args&&... __args)
1434:     {
1434:       return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
1434:     }
1434: 
1434:   template<typename _Res, typename _MemPtr, typename _Tp>
1434:     constexpr _Res
1434:     __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
1434:     { return __invfwd<_Tp>(__t).*__f; }
1434: 
1434:   template<typename _Res, typename _MemPtr, typename _Tp>
1434:     constexpr _Res
1434:     __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
1434:     { return (*std::forward<_Tp>(__t)).*__f; }
1434: 
1434: 
1434:   template<typename _Callable, typename... _Args>
1434:     constexpr typename __invoke_result<_Callable, _Args...>::type
1434:     __invoke(_Callable&& __fn, _Args&&... __args)
1434:     noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
1434:     {
1434:       using __result = __invoke_result<_Callable, _Args...>;
1434:       using __type = typename __result::type;
1434:       using __tag = typename __result::__invoke_type;
1434:       return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1434:      std::forward<_Args>(__args)...);
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Res, typename _Callable, typename... _Args>
1434:     constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
1434:     __invoke_r(_Callable&& __fn, _Args&&... __args)
1434:     noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
1434:     {
1434:       using __result = __invoke_result<_Callable, _Args...>;
1434:       using __type = typename __result::type;
1434:       using __tag = typename __result::__invoke_type;
1434:       if constexpr (is_void_v<_Res>)
1434:  std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
1434:      std::forward<_Args>(__args)...);
1434:       else
1434:  return std::__invoke_impl<__type>(__tag{},
1434:        std::forward<_Callable>(__fn),
1434:        std::forward<_Args>(__args)...);
1434:     }
1434: # 159 "/usr/include/c++/12/bits/invoke.h" 3
1434: 
1434: }
1434: # 42 "/usr/include/c++/12/tuple" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename... _Elements>
1434:     class tuple;
1434: 
1434:   template<typename _Tp>
1434:     struct __is_empty_non_tuple : is_empty<_Tp> { };
1434: 
1434: 
1434:   template<typename _El0, typename... _El>
1434:     struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using __empty_not_final
1434:     = __conditional_t<__is_final(_Tp), false_type,
1434:         __is_empty_non_tuple<_Tp>>;
1434: 
1434:   template<size_t _Idx, typename _Head,
1434:     bool = __empty_not_final<_Head>::value>
1434:     struct _Head_base;
1434: 
1434: 
1434:   template<size_t _Idx, typename _Head>
1434:     struct _Head_base<_Idx, _Head, true>
1434:     {
1434:       constexpr _Head_base()
1434:       : _M_head_impl() { }
1434: 
1434:       constexpr _Head_base(const _Head& __h)
1434:       : _M_head_impl(__h) { }
1434: 
1434:       constexpr _Head_base(const _Head_base&) = default;
1434:       constexpr _Head_base(_Head_base&&) = default;
1434: 
1434:       template<typename _UHead>
1434:  constexpr _Head_base(_UHead&& __h)
1434:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1434: 
1434:      
1434:       _Head_base(allocator_arg_t, __uses_alloc0)
1434:       : _M_head_impl() { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1434:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1434:  : _M_head_impl(*__a._M_a) { }
1434: 
1434:       template<typename _UHead>
1434: 
1434:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1434:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1434: 
1434:       template<typename _Alloc, typename _UHead>
1434: 
1434:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1434:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead>
1434: 
1434:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1434:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1434: 
1434:       static constexpr _Head&
1434:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1434: 
1434:       static constexpr const _Head&
1434:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1434: 
1434:       [[__no_unique_address__]] _Head _M_head_impl;
1434:     };
1434: # 186 "/usr/include/c++/12/tuple" 3
1434:   template<size_t _Idx, typename _Head>
1434:     struct _Head_base<_Idx, _Head, false>
1434:     {
1434:       constexpr _Head_base()
1434:       : _M_head_impl() { }
1434: 
1434:       constexpr _Head_base(const _Head& __h)
1434:       : _M_head_impl(__h) { }
1434: 
1434:       constexpr _Head_base(const _Head_base&) = default;
1434:       constexpr _Head_base(_Head_base&&) = default;
1434: 
1434:       template<typename _UHead>
1434:         constexpr _Head_base(_UHead&& __h)
1434:  : _M_head_impl(std::forward<_UHead>(__h)) { }
1434: 
1434:      
1434:       _Head_base(allocator_arg_t, __uses_alloc0)
1434:       : _M_head_impl() { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
1434:  : _M_head_impl(allocator_arg, *__a._M_a) { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
1434:  : _M_head_impl(*__a._M_a) { }
1434: 
1434:       template<typename _UHead>
1434: 
1434:  _Head_base(__uses_alloc0, _UHead&& __uhead)
1434:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
1434: 
1434:       template<typename _Alloc, typename _UHead>
1434: 
1434:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
1434:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead>
1434: 
1434:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
1434:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
1434: 
1434:       static constexpr _Head&
1434:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
1434: 
1434:       static constexpr const _Head&
1434:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
1434: 
1434:       _Head _M_head_impl;
1434:     };
1434: # 249 "/usr/include/c++/12/tuple" 3
1434:   template<size_t _Idx, typename... _Elements>
1434:     struct _Tuple_impl;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<size_t _Idx, typename _Head, typename... _Tail>
1434:     struct _Tuple_impl<_Idx, _Head, _Tail...>
1434:     : public _Tuple_impl<_Idx + 1, _Tail...>,
1434:       private _Head_base<_Idx, _Head>
1434:     {
1434:       template<size_t, typename...> friend struct _Tuple_impl;
1434: 
1434:       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
1434:       typedef _Head_base<_Idx, _Head> _Base;
1434: 
1434:       static constexpr _Head&
1434:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1434: 
1434:       static constexpr const _Head&
1434:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1434: 
1434:       static constexpr _Inherited&
1434:       _M_tail(_Tuple_impl& __t) noexcept { return __t; }
1434: 
1434:       static constexpr const _Inherited&
1434:       _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
1434: 
1434:       constexpr _Tuple_impl()
1434:       : _Inherited(), _Base() { }
1434: 
1434:       explicit constexpr
1434:       _Tuple_impl(const _Head& __head, const _Tail&... __tail)
1434:       : _Inherited(__tail...), _Base(__head)
1434:       { }
1434: 
1434:       template<typename _UHead, typename... _UTail,
1434:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1434:  explicit constexpr
1434:  _Tuple_impl(_UHead&& __head, _UTail&&... __t_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1412:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1412:     typename unordered_map<int, int>::size_type,
1412:     _Hash, _Allocator)
1412:     -> unordered_map<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1412: # 1241 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:   template<typename _Key, typename _Tp,
1412:     typename _Hash = hash<_Key>,
1412:     typename _Pred = equal_to<_Key>,
1412:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1412:     class unordered_multimap
1412:     {
1412:       typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1412:       _Hashtable _M_h;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef typename _Hashtable::key_type key_type;
1412:       typedef typename _Hashtable::value_type value_type;
1412:       typedef typename _Hashtable::mapped_type mapped_type;
1412:       typedef typename _Hashtable::hasher hasher;
1412:       typedef typename _Hashtable::key_equal key_equal;
1412:       typedef typename _Hashtable::allocator_type allocator_type;
1412: 
1412: 
1412: 
1412: 
1412:       typedef typename _Hashtable::pointer pointer;
1412:       typedef typename _Hashtable::const_pointer const_pointer;
1412:       typedef typename _Hashtable::reference reference;
1412:       typedef typename _Hashtable::const_reference const_reference;
1412:       typedef typename _Hashtable::iterator iterator;
1412:       typedef typename _Hashtable::const_iterator const_iterator;
1412:       typedef typename _Hashtable::local_iterator local_iterator;
1412:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1412:       typedef typename _Hashtable::size_type size_type;
1412:       typedef typename _Hashtable::difference_type difference_type;
1412: 
1412: 
1412: 
1412:       using node_type = typename _Hashtable::node_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unordered_multimap() = default;
1412: # 1292 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       explicit
1412:       unordered_multimap(size_type __n,
1412:     const hasher& __hf = hasher(),
1412:     const key_equal& __eql = key_equal(),
1412:     const allocator_type& __a = allocator_type())
1412:       : _M_h(__n, __hf, __eql, __a)
1412:       { }
1412: # 1313 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename _InputIterator>
1412:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1412:       size_type __n = 0,
1412:       const hasher& __hf = hasher(),
1412:       const key_equal& __eql = key_equal(),
1412:       const allocator_type& __a = allocator_type())
1412:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1412:  { }
1412: 
1412: 
1412:       unordered_multimap(const unordered_multimap&) = default;
1412: 
1412: 
1412:       unordered_multimap(unordered_multimap&&) = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       unordered_multimap(const allocator_type& __a)
1412:       : _M_h(__a)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unordered_multimap(const unordered_multimap& __ummap,
1412:     const allocator_type& __a)
1412:       : _M_h(__ummap._M_h, __a)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       unordered_multimap(unordered_multimap&& __ummap,
1412:     const allocator_type& __a)
1412:  noexcept( noexcept(_Hashtable(std::move(__ummap._M_h), __a)) )
1412:       : _M_h(std::move(__ummap._M_h), __a)
1412:       { }
1412: # 1369 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       unordered_multima* id,
1417:                                        float value);
1417:     bool (*set_instance_setting_string)(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                         const char* id,
1417:                                         const char* value);
1417:   } KODI_ADDON_INSTANCE_FUNC_CB;
1417: 
1417:   typedef int KODI_ADDON_INSTANCE_TYPE;
1417: 
1417:   typedef struct KODI_ADDON_INSTANCE_INFO
1417:   {
1417:     KODI_ADDON_INSTANCE_TYPE type;
1417:     uint32_t number;
1417:     const char* id;
1417:     const char* version;
1417:     KODI_ADDON_INSTANCE_BACKEND_HDL kodi;
1417:     KODI_ADDON_INSTANCE_HDL parent;
1417:     bool first_instance;
1417: 
1417:     struct KODI_ADDON_INSTANCE_FUNC_CB* functions;
1417:   } KODI_ADDON_INSTANCE_INFO;
1417: 
1417:   typedef struct KODI_ADDON_INSTANCE_STRUCT
1417:   {
1417:     const KODI_ADDON_INSTANCE_INFO* info;
1417: 
1417:     KODI_ADDON_INSTANCE_HDL hdl;
1417:     struct KODI_ADDON_INSTANCE_FUNC* functions;
1417:     union {
1417:       KODI_ADDON_FUNC_DUMMY dummy;
1417:       struct AddonInstance_AudioDecoder* audiodecoder;
1417:       struct AddonInstance_AudioEncoder* audioencoder;
1417:       struct AddonInstance_ImageDecoder* imagedecoder;
1417:       struct AddonInstance_Game* game;
1417:       struct AddonInstance_InputStream* inputstream;
1417:       struct AddonInstance_Peripheral* peripheral;
1417:       struct AddonInstance_PVR* pvr;
1417:       struct AddonInstance_Screensaver* screensaver;
1417:       struct AddonInstance_VFSEntry* vfs;
1417:       struct AddonInstance_VideoCodec* videocodec;
1417:       struct AddonInstance_Visualization* visualization;
1417:     };
1417:   } KODI_ADDON_INSTANCE_STRUCT;
1417: 
1417: 
1417:   typedef void* KODI_HANDLE;
1417: 
1417:   typedef struct AddonToKodiFuncTable_kodi_addon
1417:   {
1417:     char* (*get_addon_path)(const KODI_ADDON_BACKEND_HDL hdl);
1417:     char* (*get_lib_path)(const KODI_ADDON_BACKEND_HDL hdl);
1417:     char* (*get_user_path)(const KODI_ADDON_BACKEND_HDL hdl);
1417:     char* (*get_temp_path)(const KODI_ADDON_BACKEND_HDL hdl);
1417: 
1417:     char* (*get_localized_string)(const KODI_ADDON_BACKEND_HDL hdl, long label_id);
1417: 
1417:     bool (*open_settings_dialog)(const KODI_ADDON_BACKEND_HDL hdl);
1417:     bool (*is_setting_using_default)(const KODI_ADDON_BACKEND_HDL hdl, const char* id);
1417: 
1417:     bool (*get_setting_bool)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, bool* value);
1417:     bool (*get_setting_int)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, int* value);
1417:     bool (*get_setting_float)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, float* value);
1417:     bool (*get_setting_string)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, char** value);
1417: 
1417:     bool (*set_setting_bool)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, bool value);
1417:     bool (*set_setting_int)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, int value);
1417:     bool (*set_setting_float)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, float value);
1417:     bool (*set_setting_string)(const KODI_ADDON_BACKEND_HDL hdl, const char* id, const char* value);
1417: 
1417:     char* (*get_addon_info)(const KODI_ADDON_BACKEND_HDL hdl, const char* id);
1417: 
1417:     char* (*get_type_version)(const KODI_ADDON_BACKEND_HDL hdl, int type);
1417:     void* (*get_interface)(const KODI_ADDON_BACKEND_HDL hdl, const char* name, const char* version);
1417:   } AddonToKodiFuncTable_kodi_addon;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef struct AddonToKodiFuncTable_Addon
1417:   {
1417: 
1417: 
1417:     KODI_ADDON_BACKEND_HDL kodiBase;
1417: 
1417:     void (*free_string)(const KODI_ADDON_BACKEND_HDL hdl, char* str);
1417:     void (*free_string_array)(const KODI_ADDON_BACKEND_HDL hdl, char** arr, int numElements);
1417:     void (*addon_log_msg)(const KODI_ADDON_BACKEND_HDL hdl, const int loglevel, const char* msg);
1417: 
1417:     struct AddonToKodiFuncTable_kodi* kodi;
1417:     struct AddonToKodiFuncTable_kodi_addon* kodi_addon;
1417:ail)
1434:  : _Inherited(std::forward<_UTail>(__tail)...),
1434:    _Base(std::forward<_UHead>(__head))
1434:  { }
1434: 
1434:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1434: 
1434: 
1434: 
1434:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1434: 
1434:       _Tuple_impl(_Tuple_impl&&) = default;
1434: 
1434:       template<typename... _UElements>
1434:  constexpr
1434:  _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
1434:  : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
1434:    _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in))
1434:  { }
1434: 
1434:       template<typename _UHead, typename... _UTails>
1434:  constexpr
1434:  _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1434:  : _Inherited(std::move
1434:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1434:    _Base(std::forward<_UHead>
1434:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1434:  : _Inherited(__tag, __a),
1434:    _Base(__tag, __use_alloc<_Head>(__a))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       const _Head& __head, const _Tail&... __tail)
1434:  : _Inherited(__tag, __a, __tail...),
1434:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head)
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead, typename... _UTail,
1434:         typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       _UHead&& __head, _UTail&&... __tail)
1434:  : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
1434:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1434:   std::forward<_UHead>(__head))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       const _Tuple_impl& __in)
1434:  : _Inherited(__tag, __a, _M_tail(__in)),
1434:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       _Tuple_impl&& __in)
1434:  : _Inherited(__tag, __a, std::move(_M_tail(__in))),
1434:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1434:   std::forward<_Head>(_M_head(__in)))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead, typename... _UTails>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       const _Tuple_impl<_Idx, _UHead, _UTails...>& __in)
1434:  : _Inherited(__tag, __a,
1434:        _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)),
1434:    _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1434:   _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead, typename... _UTails>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1434:  : _Inherited(__tag, __a, std::move
1434:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
1434:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1434:   std::forward<_UHead>
1434:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
1434:  { }
1434: 
1434:       template<typename... _UElements>
1434: 
1434:  void
1434:  _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in)
1434:  {
1434:    _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
1434:    _M_tail(*this)._M_assign(
1434:        _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
1434:  }
1434: 
1434:       template<typename _UHead, typename... _UTails>
1434: 
1434:  void
1434:  _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
1434:  {
1434:    _M_head(*this) = std::forward<_UHead>
1434:      (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
1434:    _M_tail(*this)._M_assign(
1434:        std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
1434:  }
1434: 
1434:     protected:
1434:      
1434:       void
1434:       _M_swap(_Tuple_impl& __in)
1434:       {
1434:  using std::swap;
1434:  swap(_M_head(*this), _M_head(__in));
1434:  _Inherited::_M_swap(_M_tail(__in));
1434:       }
1434:     };
1434: 
1434: 
1434:   template<size_t _Idx, typename _Head>
1434:     struct _Tuple_impl<_Idx, _Head>
1434:     : private _Head_base<_Idx, _Head>
1434:     {
1434:       template<size_t, typename...> friend struct _Tuple_impl;
1434: 
1434:       typedef _Head_base<_Idx, _Head> _Base;
1434: 
1434:       static constexpr _Head&
1434:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1434: 
1434:       static constexpr const _Head&
1434:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
1434: 
1434:       constexpr
1434:       _Tuple_impl()
1434:       : _Base() { }
1434: 
1434:       explicit constexpr
1434:       _Tuple_impl(const _Head& __head)
1434:       : _Base(__head)
1434:       { }
1434: 
1434:       template<typename _UHead>
1434:  explicit constexpr
1434:  _Tuple_impl(_UHead&& __head)
1434:  : _Base(std::forward<_UHead>(__head))
1434:  { }
1434: 
1434:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
1434: 
1434: 
1434: 
1434:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
1434: 
1434: 
1434: 
1434: 
1434:       constexpr
1434:       _Tuple_impl(_Tuple_impl&& __in)
1434:       noexcept(is_nothrow_move_constructible<_Head>::value)
1434:       : _Base(static_cast<_Base&&>(__in))
1434:       { }
1434: 
1434: 
1434:       template<typename _UHead>
1434:  constexpr
1434:  _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
1434:  : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in))
1434:  { }
1434: 
1434:       template<typename _UHead>
1434:  constexpr
1434:  _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
1434:  : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
1434:  : _Base(__tag, __use_alloc<_Head>(__a))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       const _Head& __head)
1434:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head)
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       _UHead&& __head)
1434:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1434:   std::forward<_UHead>(__head))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       const _Tuple_impl& __in)
1434:  : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       _Tuple_impl&& __in)
1434:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
1434:   std::forward<_Head>(_M_head(__in)))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       const _Tuple_impl<_Idx, _UHead>& __in)
1434:  : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
1434:   _Tuple_impl<_Idx, _UHead>::_M_head(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _UHead>
1434: 
1434:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
1434:       _Tuple_impl<_Idx, _UHead>&& __in)
1434:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
1434:   std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
1434:  { }
1434: 
1434:       template<typename _UHead>
1434: 
1434:  void
1434:  _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
1434:  {
1434:    _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in);
1434:  }
1434: 
1434:       template<typename _UHead>
1434: 
1434:  void
1434:  _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
14p(initializer_list<value_type> __l,
1412:     size_type __n = 0,
1412:     const hasher& __hf = hasher(),
1412:     const key_equal& __eql = key_equal(),
1412:     const allocator_type& __a = allocator_type())
1412:       : _M_h(__l, __n, __hf, __eql, __a)
1412:       { }
1412: 
1412:       unordered_multimap(size_type __n, const allocator_type& __a)
1412:       : unordered_multimap(__n, hasher(), key_equal(), __a)
1412:       { }
1412: 
1412:       unordered_multimap(size_type __n, const hasher& __hf,
1412:     const allocator_type& __a)
1412:       : unordered_multimap(__n, __hf, key_equal(), __a)
1412:       { }
1412: 
1412:       template<typename _InputIterator>
1412:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1412:       size_type __n,
1412:       const allocator_type& __a)
1412:  : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a)
1412:  { }
1412: 
1412:       template<typename _InputIterator>
1412:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1412:       size_type __n, const hasher& __hf,
1412:       const allocator_type& __a)
1412:  : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a)
1412:  { }
1412: 
1412:       unordered_multimap(initializer_list<value_type> __l,
1412:     size_type __n,
1412:     const allocator_type& __a)
1412:       : unordered_multimap(__l, __n, hasher(), key_equal(), __a)
1412:       { }
1412: 
1412:       unordered_multimap(initializer_list<value_type> __l,
1412:     size_type __n, const hasher& __hf,
1412:     const allocator_type& __a)
1412:       : unordered_multimap(__l, __n, __hf, key_equal(), __a)
1412:       { }
1412: 
1412: 
1412:       unordered_multimap&
1412:       operator=(const unordered_multimap&) = default;
1412: 
1412: 
1412:       unordered_multimap&
1412:       operator=(unordered_multimap&&) = default;
1412: # 1431 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       unordered_multimap&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  _M_h = __l;
1412:  return *this;
1412:       }
1412: 
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return _M_h.get_allocator(); }
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return _M_h.empty(); }
1412: 
1412: 
1412:       size_type
1412:       size() const noexcept
1412:       { return _M_h.size(); }
1412: 
1412: 
1412:       size_type
1412:       max_size() const noexcept
1412:       { return _M_h.max_size(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       begin() noexcept
1412:       { return _M_h.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return _M_h.begin(); }
1412: 
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return _M_h.begin(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       end() noexcept
1412:       { return _M_h.end(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const_iterator
1412:       end() const noexcept
1412:       { return _M_h.end(); }
1412: 
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return _M_h.end(); }
1412: # 1523 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace(_Args&&... __args)
1412:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1412: # 1550 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace_hint(const_iterator __pos, _Args&&... __args)
1412:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1412: # 1565 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       insert(const value_type& __x)
1412:       { return _M_h.insert(__x); }
1412: 
1412:       iterator
1412:       insert(value_type&& __x)
1412:       { return _M_h.insert(std::move(__x)); }
1412: 
1412:       template<typename _Pai     struct AddonToKodiFuncTable_kodi_audioengine* kodi_audioengine;
1417:     struct AddonToKodiFuncTable_kodi_filesystem* kodi_filesystem;
1417:     struct AddonToKodiFuncTable_kodi_gui* kodi_gui;
1417:     struct AddonToKodiFuncTable_kodi_network* kodi_network;
1417:   } AddonToKodiFuncTable_Addon;
1417: 
1417:   typedef ADDON_STATUS(* PFN_KODI_ADDON_CREATE_V1)(
1417:       const KODI_ADDON_INSTANCE_BACKEND_HDL first_instance, KODI_ADDON_HDL* hdl);
1417:   typedef void(* PFN_KODI_ADDON_DESTROY_V1)(const KODI_ADDON_HDL hdl);
1417:   typedef ADDON_STATUS(* PFN_KODI_ADDON_CREATE_INSTANCE_V1)(
1417:       const KODI_ADDON_HDL hdl, struct KODI_ADDON_INSTANCE_STRUCT* instance);
1417:   typedef void(* PFN_KODI_ADDON_DESTROY_INSTANCE_V1)(
1417:       const KODI_ADDON_HDL hdl, struct KODI_ADDON_INSTANCE_STRUCT* instance);
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_SETTING_CHANGE_STRING_V1)(
1417:       const KODI_ADDON_HDL hdl, const char* name, const char* value);
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_SETTING_CHANGE_BOOLEAN_V1)(
1417:       const KODI_ADDON_HDL hdl, const char* name, bool value);
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_SETTING_CHANGE_INTEGER_V1)(
1417:       const KODI_ADDON_HDL hdl, const char* name, int value);
1417:   typedef enum ADDON_STATUS(* PFN_KODI_ADDON_SETTING_CHANGE_FLOAT_V1)(
1417:       const KODI_ADDON_HDL hdl, const char* name, float value);
1417: 
1417: 
1417: 
1417: 
1417:   typedef struct KodiToAddonFuncTable_Addon
1417:   {
1417:     PFN_KODI_ADDON_CREATE_V1 create;
1417:     PFN_KODI_ADDON_DESTROY_V1 destroy;
1417:     PFN_KODI_ADDON_CREATE_INSTANCE_V1 create_instance;
1417:     PFN_KODI_ADDON_DESTROY_INSTANCE_V1 destroy_instance;
1417:     PFN_KODI_ADDON_SETTING_CHANGE_STRING_V1 setting_change_string;
1417:     PFN_KODI_ADDON_SETTING_CHANGE_BOOLEAN_V1 setting_change_boolean;
1417:     PFN_KODI_ADDON_SETTING_CHANGE_INTEGER_V1 setting_change_integer;
1417:     PFN_KODI_ADDON_SETTING_CHANGE_FLOAT_V1 setting_change_float;
1417:   } KodiToAddonFuncTable_Addon;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef struct AddonGlobalInterface
1417:   {
1417: 
1417: 
1417:     struct KODI_ADDON_INSTANCE_STRUCT* firstKodiInstance;
1417: 
1417: 
1417: 
1417:     KODI_ADDON_HDL addonBase;
1417: 
1417: 
1417: 
1417:     KODI_ADDON_INSTANCE_HDL globalSingleInstance;
1417: 
1417: 
1417: 
1417:     AddonToKodiFuncTable_Addon* toKodi;
1417: 
1417: 
1417: 
1417:     KodiToAddonFuncTable_Addon* toAddon;
1417:   } AddonGlobalInterface;
1417: 
1417: 
1417: }
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/versions.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/versions.h"
1417:        
1417: # 201 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/versions.h"
1417: typedef enum ADDON_TYPE
1417: {
1417: 
1417:   ADDON_GLOBAL_MAIN = 0,
1417:   ADDON_GLOBAL_GUI = 1,
1417:   ADDON_GLOBAL_AUDIOENGINE = 2,
1417:   ADDON_GLOBAL_GENERAL = 3,
1417:   ADDON_GLOBAL_NETWORK = 4,
1417:   ADDON_GLOBAL_FILESYSTEM = 5,
1417:   ADDON_GLOBAL_TOOLS = 6,
1417: 
1417: 
1417:   ADDON_GLOBAL_MAX = 6,
1417: 
1417: 
1417: 
1417: 
1417:   ADDON_INSTANCE_AUDIODECODER = 102,
1417: 
1417: 
1417:   ADDON_INSTANCE_AUDIOENCODER = 103,
1417: 
1417: 
1417:   ADDON_INSTANCE_GAME = 104,
1417: 
1417: 
1417:   ADDON_INSTANCE_INPUTSTREAM = 105,
1417: 
1417: 
1417:   ADDON_INSTANCE_PERIPHERAL = 106,
1417: 
1417: 
1417:   ADDON_INSTANCE_PVR = 107,
1417: 
1417: 
1417:   ADDON_INSTANCE_SCREENSAVER = 108,
1417: 
1417: 
1417:   ADDON_INSTANCE_VISUALIZATION = 109,
1417: 
1417: 
1417:   ADDON_INSTANCE_VFS = 110,
1417: 
1417: 
1417:   ADDON_INSTANCE_IMAGEDECODER = 111,
1417: 
1417: 
1417:   ADDON_INSTANCE_VIDEOCODEC = 112,
1417: } ADDON_TYPE;
1417: 
1417: 
1417: 
1417: 
1417: extern "C" {
1417: namespace kodi {
1417: namespace addon {
1417: # 267 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/versions.h"
14134:  {
1434:    _M_head(*this)
1434:      = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
1434:  }
1434: 
1434:     protected:
1434:      
1434:       void
1434:       _M_swap(_Tuple_impl& __in)
1434:       {
1434:  using std::swap;
1434:  swap(_M_head(*this), _M_head(__in));
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434:   template<bool, typename... _Types>
1434:     struct _TupleConstraints
1434:     {
1434: 
1434: 
1434: 
1434:       template<typename... _UTypes>
1434:  static constexpr bool __is_implicitly_constructible()
1434:  {
1434:    return __and_<is_constructible<_Types, _UTypes>...,
1434:    is_convertible<_UTypes, _Types>...
1434:    >::value;
1434:  }
1434: 
1434: 
1434: 
1434: 
1434:       template<typename... _UTypes>
1434:  static constexpr bool __is_explicitly_constructible()
1434:  {
1434:    return __and_<is_constructible<_Types, _UTypes>...,
1434:    __not_<__and_<is_convertible<_UTypes, _Types>...>>
1434:    >::value;
1434:  }
1434: 
1434:       static constexpr bool __is_implicitly_default_constructible()
1434:       {
1434:  return __and_<std::__is_implicitly_default_constructible<_Types>...
1434:         >::value;
1434:       }
1434: 
1434:       static constexpr bool __is_explicitly_default_constructible()
1434:       {
1434:  return __and_<is_default_constructible<_Types>...,
1434:         __not_<__and_<
1434:    std::__is_implicitly_default_constructible<_Types>...>
1434:         >>::value;
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename... _Types>
1434:     struct _TupleConstraints<false, _Types...>
1434:     {
1434:       template<typename... _UTypes>
1434:  static constexpr bool __is_implicitly_constructible()
1434:  { return false; }
1434: 
1434:       template<typename... _UTypes>
1434:  static constexpr bool __is_explicitly_constructible()
1434:  { return false; }
1434:     };
1434: 
1434: 
1434:   template<typename... _Elements>
1434:     class tuple : public _Tuple_impl<0, _Elements...>
1434:     {
1434:       typedef _Tuple_impl<0, _Elements...> _Inherited;
1434: 
1434:       template<bool _Cond>
1434:  using _TCC = _TupleConstraints<_Cond, _Elements...>;
1434: 
1434: 
1434:       template<bool _Dummy>
1434:  using _ImplicitDefaultCtor = __enable_if_t<
1434:    _TCC<_Dummy>::__is_implicitly_default_constructible(),
1434:    bool>;
1434: 
1434: 
1434:       template<bool _Dummy>
1434:  using _ExplicitDefaultCtor = __enable_if_t<
1434:    _TCC<_Dummy>::__is_explicitly_default_constructible(),
1434:    bool>;
1434: 
1434: 
1434:       template<bool _Cond, typename... _Args>
1434:  using _ImplicitCtor = __enable_if_t<
1434:    _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(),
1434:    bool>;
1434: 
1434: 
1434:       template<bool _Cond, typename... _Args>
1434:  using _ExplicitCtor = __enable_if_t<
1434:    _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(),
1434:    bool>;
1434: 
1434:       template<typename... _UElements>
1434:  static constexpr
1434:  __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
1434:  __assignable()
1434:  { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
1434: 
1434: 
1434:       template<typename... _UElements>
1434:  static constexpr bool __nothrow_assignable()
1434:  {
1434:    return
1434:      __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
1434:  }
1434: 
1434: 
1434:       template<typename... _UElements>
1434:  static constexpr bool __nothrow_constructible()
1434:  {
1434:    return
1434:      __and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
1434:  }
1434: 
1434: 
1434:       template<typename _Up>
1434:  static constexpr bool __valid_args()
1434:  {
1434:    return sizeof...(_Elements) == 1
1434:      && !is_same<tuple, __remove_cvref_t<_Up>>::value;
1434:  }
1434: 
1434: 
1434:       template<typename, typename, typename... _Tail>
1434:  static constexpr bool __valid_args()
1434:  { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); }
1434: # 684 "/usr/include/c++/12/tuple" 3
1434:       template<typr>
1412:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1412:  insert(_Pair&& __x)
1412:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1412: # 1599 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       insert(const_iterator __hint, const value_type& __x)
1412:       { return _M_h.insert(__hint, __x); }
1412: 
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, value_type&& __x)
1412:       { return _M_h.insert(__hint, std::move(__x)); }
1412: 
1412:       template<typename _Pair>
1412:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1412:  insert(const_iterator __hint, _Pair&& __x)
1412:         { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1412: # 1624 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  insert(_InputIterator __first, _InputIterator __last)
1412:  { _M_h.insert(__first, __last); }
1412: # 1637 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       insert(initializer_list<value_type> __l)
1412:       { _M_h.insert(__l); }
1412: 
1412: 
1412: 
1412:       node_type
1412:       extract(const_iterator __pos)
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1412:  return _M_h.extract(__pos);
1412:       }
1412: 
1412: 
1412:       node_type
1412:       extract(const key_type& __key)
1412:       { return _M_h.extract(__key); }
1412: 
1412: 
1412:       iterator
1412:       insert(node_type&& __nh)
1412:       { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); }
1412: 
1412: 
1412:       iterator
1412:       insert(const_iterator __hint, node_type&& __nh)
1412:       { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); }
1412: # 1680 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       erase(const_iterator __position)
1412:       { return _M_h.erase(__position); }
1412: 
1412: 
1412:       iterator
1412:       erase(iterator __position)
1412:       { return _M_h.erase(__position); }
1412: # 1701 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       size_type
1412:       erase(const key_type& __x)
1412:       { return _M_h.erase(__x); }
1412: # 1720 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       erase(const_iterator __first, const_iterator __last)
1412:       { return _M_h.erase(__first, __last); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       clear() noexcept
1412:       { _M_h.clear(); }
1412: # 1744 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       swap(unordered_multimap& __x)
1412:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1412:       { _M_h.swap(__x._M_h); }
1412: 
1412: 
1412:       template<typename, typename, typename>
1412:  friend class std::_Hash_merge_helper;
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper
1412:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1412:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1412:  }
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1412:  {
1412:    using _Merge_helper
1412:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1412:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1412:  }
1412: 
1412:       template<typename _H2, typename _P2>
1412:  void
1412:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1412:  { merge(__source); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       hasher
1412:       hash_function() const
1412:       { return _M_h.hash_function(); }
1412: 
1412: 
1412: 
1412:       key_ename _Tuple, typename = tuple,
1434:         typename = __remove_cvref_t<_Tuple>>
1434:  struct _UseOtherCtor
1434:  : false_type
1434:  { };
1434: 
1434: 
1434:       template<typename _Tuple, typename _Tp, typename _Up>
1434:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>>
1434:  : __or_<is_convertible<_Tuple, _Tp>, is_constructible<_Tp, _Tuple>>
1434:  { };
1434: 
1434: 
1434:       template<typename _Tuple, typename _Tp>
1434:  struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>>
1434:  : true_type
1434:  { };
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Tuple>
1434:  static constexpr bool __use_other_ctor()
1434:  { return _UseOtherCtor<_Tuple>::value; }
1434: 
1434:     public:
1434:       template<typename _Dummy = void,
1434:         _ImplicitDefaultCtor<is_void<_Dummy>::value> = true>
1434:  constexpr
1434:  tuple()
1434:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1434:  : _Inherited() { }
1434: 
1434:       template<typename _Dummy = void,
1434:         _ExplicitDefaultCtor<is_void<_Dummy>::value> = false>
1434:  explicit constexpr
1434:  tuple()
1434:  noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
1434:  : _Inherited() { }
1434: 
1434:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1434:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1434:  constexpr
1434:  tuple(const _Elements&... __elements)
1434:  noexcept(__nothrow_constructible<const _Elements&...>())
1434:  : _Inherited(__elements...) { }
1434: 
1434:       template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
1434:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1434:  explicit constexpr
1434:  tuple(const _Elements&... __elements)
1434:  noexcept(__nothrow_constructible<const _Elements&...>())
1434:  : _Inherited(__elements...) { }
1434: 
1434:       template<typename... _UElements,
1434:         bool _Valid = __valid_args<_UElements...>(),
1434:         _ImplicitCtor<_Valid, _UElements...> = true>
1434:  constexpr
1434:  tuple(_UElements&&... __elements)
1434:  noexcept(__nothrow_constructible<_UElements...>())
1434:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1434: 
1434:       template<typename... _UElements,
1434:         bool _Valid = __valid_args<_UElements...>(),
1434:         _ExplicitCtor<_Valid, _UElements...> = false>
1434:  explicit constexpr
1434:  tuple(_UElements&&... __elements)
1434:  noexcept(__nothrow_constructible<_UElements...>())
1434:  : _Inherited(std::forward<_UElements>(__elements)...) { }
1434: 
1434:       constexpr tuple(const tuple&) = default;
1434: 
1434:       constexpr tuple(tuple&&) = default;
1434: 
1434:       template<typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1434:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1434:  constexpr
1434:  tuple(const tuple<_UElements...>& __in)
1434:  noexcept(__nothrow_constructible<const _UElements&...>())
1434:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1434:  { }
1434: 
1434:       template<typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:       && !__use_other_ctor<const tuple<_UElements...>&>(),
1434:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1434:  explicit constexpr
1434:  tuple(const tuple<_UElements...>& __in)
1434:  noexcept(__nothrow_constructible<const _UElements&...>())
1434:  : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1434:  { }
1434: 
1434:       template<typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1434:         _ImplicitCtor<_Valid, _UElements...> = true>
1434:  constexpr
1434:  tuple(tuple<_UElements...>&& __in)
1434:  noexcept(__nothrow_constructible<_UElements...>())
1434:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1434: 
1434:7: inline const char* GetTypeVersion(int type)
1417: {
1417: 
1417: 
1417: 
1417:   switch (type)
1417:   {
1417: 
1417:     case ADDON_GLOBAL_MAIN:
1417:       return "2.0.2";
1417: 
1417:     case ADDON_GLOBAL_GENERAL:
1417:       return "1.0.5";
1417: 
1417: 
1417:     case ADDON_GLOBAL_GUI:
1417:       return "5.15.0";
1417: 
1417: 
1417:     case ADDON_GLOBAL_AUDIOENGINE:
1417:       return "1.1.1";
1417: 
1417: 
1417:     case ADDON_GLOBAL_FILESYSTEM:
1417:       return "1.1.7";
1417: 
1417: 
1417:     case ADDON_GLOBAL_NETWORK:
1417:       return "1.0.4";
1417: 
1417: 
1417:     case ADDON_GLOBAL_TOOLS:
1417:       return "1.0.4";
1417: 
1417: 
1417: 
1417: 
1417:     case ADDON_INSTANCE_AUDIODECODER:
1417:       return "4.0.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_AUDIOENCODER:
1417:       return "3.0.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_GAME:
1417:       return "3.0.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_IMAGEDECODER:
1417:       return "3.0.1";
1417: 
1417: 
1417:     case ADDON_INSTANCE_INPUTSTREAM:
1417:       return "3.2.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_PERIPHERAL:
1417:       return "2.0.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_PVR:
1417:       return "8.2.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_SCREENSAVER:
1417:       return "2.2.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_VFS:
1417:       return "3.0.1";
1417: 
1417: 
1417:     case ADDON_INSTANCE_VISUALIZATION:
1417:       return "4.0.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_VIDEOCODEC:
1417:       return "2.0.3";
1417: 
1417:   }
1417:   return "0.0.0";
1417: }
1417: # 359 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/versions.h"
1417: inline const char* GetTypeMinVersion(int type)
1417: {
1417:   switch (type)
1417:   {
1417: 
1417:     case ADDON_GLOBAL_MAIN:
1417:       return "2.0.0";
1417:     case ADDON_GLOBAL_GUI:
1417:       return "5.15.0";
1417:     case ADDON_GLOBAL_GENERAL:
1417:       return "1.0.4";
1417:     case ADDON_GLOBAL_AUDIOENGINE:
1417:       return "1.1.0";
1417:     case ADDON_GLOBAL_FILESYSTEM:
1417:       return "1.1.7";
1417:     case ADDON_GLOBAL_NETWORK:
1417:       return "1.0.0";
1417:     case ADDON_GLOBAL_TOOLS:
1417:       return "1.0.0";
1417: 
1417: 
1417:     case ADDON_INSTANCE_AUDIODECODER:
1417:       return "4.0.0";
1417:     case ADDON_INSTANCE_AUDIOENCODER:
1417:       return "3.0.0";
1417:     case ADDON_INSTANCE_GAME:
1417:       return "3.0.0";
1417:     case ADDON_INSTANCE_IMAGEDECODER:
1417:       return "3.0.0";
1417:     case ADDON_INSTANCE_INPUTSTREAM:
1417:       return "3.2.0";
1417:     case ADDON_INSTANCE_PERIPHERAL:
1417:       return "2.0.0";
1417:     case ADDON_INSTANCE_PVR:
1417:       return "8.2.0";
1417:     case ADDON_INSTANCE_SCREENSAVER:
1417:       return "2.2.0";
1417:     case ADDON_INSTANCE_VFS:
1417:       return "3.0.1";
1417:     case ADDON_INSTANCE_VISUALIZATION:
1417:       return "4.0.0";
1417:     case ADDON_INSTANCE_VIDEOCODEC:
1417:       return "2.0.1";
1417:   }
1417:   return "0.0.0";
1417: }
1417: # 413 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/versions.h"
1417: inline const char* GetTypeName(int type)
1417: {
1417:   switch (type)
1417:   {
1417: 
1417:     case ADDON_GLOBAL_MAIN:
1417:       return "Addon";
1417:     case ADDON_GLOBAL_GUI:
1417:       return "GUI";
1417:     case ADDON_GLOBAL_GENERAL:
1417:       return "General";
1417:     case ADDON_GLOBAL_AUDIOENGINE:
1417:       return "AudioEngine";
1417:     case ADDON_GLOBAL_FILESYSTEM:
1417:       return "Filesystem";
1417:     case ADDON_GLOBAL_NETWORK:
1417:       return "Network";
1417:     case ADDON_GLOBAL_TOOLS:
1417:       return "Tools";
1417: 
1417: 
1417:     case ADDON_INSTANCE_AUDIODECODER:
1417:       return "AudioDecoder";
1417:     case ADDON_INSTANCE_AUDIOENCODER:
1417:       return "AudioEncoder";
1417:     case ADDON_INSTANCE_GAME:
1417:       return "Game";
1417:     case ADDON_INSTANCE_IMAGEDECODER:
1417:       return "ImageDecoder";
1417:     case ADDON_INSTANCE_INP       template<typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1434:         _ExplicitCtor<_Valid, _UElements...> = false>
1434:  explicit constexpr
1434:  tuple(tuple<_UElements...>&& __in)
1434:  noexcept(__nothrow_constructible<_UElements...>())
1434:  : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
1434: 
1434: 
1434: 
1434:       template<typename _Alloc,
1434:         _ImplicitDefaultCtor<is_object<_Alloc>::value> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1434:  : _Inherited(__tag, __a) { }
1434: 
1434:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1434:         _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const _Elements&... __elements)
1434:  : _Inherited(__tag, __a, __elements...) { }
1434: 
1434:       template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
1434:         _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
1434: 
1434:  explicit
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const _Elements&... __elements)
1434:  : _Inherited(__tag, __a, __elements...) { }
1434: 
1434:       template<typename _Alloc, typename... _UElements,
1434:         bool _Valid = __valid_args<_UElements...>(),
1434:         _ImplicitCtor<_Valid, _UElements...> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        _UElements&&... __elements)
1434:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1434:  { }
1434: 
1434:       template<typename _Alloc, typename... _UElements,
1434:    bool _Valid = __valid_args<_UElements...>(),
1434:         _ExplicitCtor<_Valid, _UElements...> = false>
1434: 
1434:  explicit
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        _UElements&&... __elements)
1434:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
1434:  { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1434:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1434:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1434: 
1434:       template<typename _Alloc, typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1434:         _ImplicitCtor<_Valid, const _UElements&...> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const tuple<_UElements...>& __in)
1434:  : _Inherited(__tag, __a,
1434:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:         && !__use_other_ctor<const tuple<_UElements...>&>(),
1434:         _ExplicitCtor<_Valid, const _UElements&...> = false>
1434: 
1434:  explicit
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const tuple<_UElements...>& __in)
1434:  : _Inherited(__tag, __a,
1434:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1434:         _ImplicitCtor<_Valid, _UElements...> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        tuple<_UElements...>&& __in)
1434:  : _Inherited(__tag, __a,
1434:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename... _UElements,
1434:         bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
1434:         && !__use_other_ctor<tuple<_UElements...>&&>(),
1434:         _ExplicitCtor<_Valid, _UElements...> = false>
1434: 
1434:  explicit
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        tuple<_UElements...>&& __in)
1434:  : _Inherited(__tag, __a,
1434:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
1434:  { }
1434: 
1434: 
1434: 
1434:      
1434:       tuple&
1434:       operator=(__conditional_t<__assignable<const _Elements&...>(),
1434:     const tuple&,
1434:     const __nonesuch&> __in)
1434:       noexcept(__nothrow_assignable<const _Elements&...>())
1434:       {
1434:  this->_M_assign(__in);
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       tuple&
1434:       operator=(__conditional_t<__assignable<_Elements...>(),
1434:     tuple&&,
1434:     __nonesuch&&> __in)
1434:       noexcept(__nothrow_assignable<_Elements...>())
1434:       {
1434:  this->_M_assign(std::move(__in));
1434:  return *this;
1434:       }
1434: 
1434:       template<typename... _UElements>
1434: 
1434:  __enable_if_t<__assignable<const _UElements&...>(), tuple&>
1434:  operator=(const tuple<_UElements...>& __in)
1434:  noexcept(__nothrow_assignable<const _UElements&...>())
1434:  {
1434:    this->_M_assign(__in);
1434:    return *this;
1434:  }
1434: 
1434:       template<typename... _UElements>
1434: 
1434:  __enable_if_t<__assignable<_UElements...>(), tuple&>
1434:  operator=(tuple<_UElements...>&& __in)
1434:  noexcept(__nothrow_assignable<_UElements...>())
1434:  {
1434:    this->_M_assign(std::move(__in));
1434:    return *this;
1434:  }
1434: 
1434: 
1434:      
1434:       void
1434:       swap(tuple& __in)
1434:       noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
1434:       { _Inherited::_M_swap(__in); }
1434:     };
1434: 
1434: 
1434:   template<typename... _UTypes>
1434:     tuple(_UTypes...) -> tuple<_UTypes...>;
1434:   template<typename _T1, typename _T2>
1434:     tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>;
1434:   template<typename _Alloc, typename... _UTypes>
1434:     tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>;
1434:   template<typename _Alloc, typename _T1, typename _T2>
1434:     tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>;
1434:   template<typename _Alloc, typename... _UTypes>
1434:     tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>;
1434: 
1434: 
1434: 
1434:   template<>
1434:     class tuple<>
1434:     {
1434:     public:
1434:      
1434:       void swap(tuple&) noexcept { }
1434: 
1434: 
1434:       tuple() = default;
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  tuple(allocator_arg_t, const _Alloc&) noexcept { }
1434:       template<typename _Alloc>
1434: 
1434:  tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _T1, typename _T2>
1434:     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
1434:     {
1434:       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
1434: 
1434: 
1434:       template<bool _Dummy, typename _U1, typename _U2>
1434:  using _ImplicitDefaultCtor = __enable_if_t<
1434:    _TupleConstraints<_Dummy, _U1, _U2>::
1434:      __is_implicitly_default_constructible(),
1434:    bool>;
1434: 
1434: 
1434:       template<bool _Dummy, typename _U1, typename _U2>
1434:  using _ExplicitDefaultCtor = __enable_if_t<
1434:    _TupleConstraints<_Dummy, _U1, _U2>::
1434:      __is_explicitly_default_constructible(),
1434:    bool>;
1434: 
1434:       template<bool _Dummy>
1434:  using _TCC = _TupleConstraints<_Dummy, _T1, _T2>;
1434: 
1434: 
1434:       template<bool _Cond, typename _U1, typename _U2>
1434:  using _ImplicitCtor = __enable_if_t<
1434:    _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(),
1434:    bool>;
1434: 
1434: 
1434:       template<bool _Cond, typename _U1, typename _U2>
1434:  using _ExplicitCtor = __enable_if_t<
1434:    _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(),
1434:    bool>;
1434: 
1434: equal
1412:       key_eq() const
1412:       { return _M_h.key_eq(); }
1412: # 1810 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       iterator
1412:       find(const key_type& __x)
1412:       { return _M_h.find(__x); }
1412: # 1821 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       const_iterator
1412:       find(const key_type& __x) const
1412:       { return _M_h.find(__x); }
1412: # 1839 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       size_type
1412:       count(const key_type& __x) const
1412:       { return _M_h.count(__x); }
1412: # 1877 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       std::pair<iterator, iterator>
1412:       equal_range(const key_type& __x)
1412:       { return _M_h.equal_range(__x); }
1412: # 1889 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       std::pair<const_iterator, const_iterator>
1412:       equal_range(const key_type& __x) const
1412:       { return _M_h.equal_range(__x); }
1412: # 1905 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       size_type
1412:       bucket_count() const noexcept
1412:       { return _M_h.bucket_count(); }
1412: 
1412: 
1412:       size_type
1412:       max_bucket_count() const noexcept
1412:       { return _M_h.max_bucket_count(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       size_type
1412:       bucket_size(size_type __n) const
1412:       { return _M_h.bucket_size(__n); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       size_type
1412:       bucket(const key_type& __key) const
1412:       { return _M_h.bucket(__key); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       local_iterator
1412:       begin(size_type __n)
1412:       { return _M_h.begin(__n); }
1412: # 1949 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       const_local_iterator
1412:       begin(size_type __n) const
1412:       { return _M_h.begin(__n); }
1412: 
1412:       const_local_iterator
1412:       cbegin(size_type __n) const
1412:       { return _M_h.cbegin(__n); }
1412: # 1964 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       local_iterator
1412:       end(size_type __n)
1412:       { return _M_h.end(__n); }
1412: # 1975 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       const_local_iterator
1412:       end(size_type __n) const
1412:       { return _M_h.end(__n); }
1412: 
1412:       const_local_iterator
1412:       cend(size_type __n) const
1412:       { return _M_h.cend(__n); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       float
1412:       load_factor() const noexcept
1412:       { return _M_h.load_factor(); }
1412: 
1412: 
1412: 
1412:       float
1412:       max_load_factor() const noexcept
1412:       { return _M_h.max_load_factor(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       max_load_factor(float __z)
1412:       { _M_h.max_load_factor(__z); }
1412: # 2012 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       rehash(size_type __n)
1412:       { _M_h.rehash(__n); }
1412: # 2023 "/usr/include/c++/12/bits/unordered_map.h" 3
1412:       void
1412:       reserve(size_type __n)
1412:       { _M_h.reserve(__n); }
1412: 
1412:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1412:         typename _Alloc1>
1412:         friend bool
1412:  operator==(const unordered_multimap<_Key1, _Tp1,
1412:          _Hash1, _Pred1, _Alloc1>&,
1412:      const unordered_multimap<_Key1, _Tp1,
1412:          _Hash1, _Pred1, _Alloc1>&);
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator,
1412:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1412:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1412:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireNotAllocator<_Pred>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(_InputIterator, _InputIterator,
1412:          unordered_multimap<int, int>::size_type = {}      template<typename _U1, typename _U2>
1434:  static constexpr bool __assignable()
1434:  {
1434:    return __and_<is_assignable<_T1&, _U1>,
1434:    is_assignable<_T2&, _U2>>::value;
1434:  }
1434: 
1434:       template<typename _U1, typename _U2>
1434:  static constexpr bool __nothrow_assignable()
1434:  {
1434:    return __and_<is_nothrow_assignable<_T1&, _U1>,
1434:    is_nothrow_assignable<_T2&, _U2>>::value;
1434:  }
1434: 
1434:       template<typename _U1, typename _U2>
1434:  static constexpr bool __nothrow_constructible()
1434:  {
1434:    return __and_<is_nothrow_constructible<_T1, _U1>,
1434:        is_nothrow_constructible<_T2, _U2>>::value;
1434:  }
1434: 
1434:       static constexpr bool __nothrow_default_constructible()
1434:       {
1434:  return __and_<is_nothrow_default_constructible<_T1>,
1434:         is_nothrow_default_constructible<_T2>>::value;
1434:       }
1434: 
1434:       template<typename _U1>
1434:  static constexpr bool __is_alloc_arg()
1434:  { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; }
1434: 
1434:     public:
1434:       template<bool _Dummy = true,
1434:         _ImplicitDefaultCtor<_Dummy, _T1, _T2> = true>
1434:  constexpr
1434:  tuple()
1434:  noexcept(__nothrow_default_constructible())
1434:  : _Inherited() { }
1434: 
1434:       template<bool _Dummy = true,
1434:         _ExplicitDefaultCtor<_Dummy, _T1, _T2> = false>
1434:  explicit constexpr
1434:  tuple()
1434:  noexcept(__nothrow_default_constructible())
1434:  : _Inherited() { }
1434: 
1434:       template<bool _Dummy = true,
1434:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1434:  constexpr
1434:  tuple(const _T1& __a1, const _T2& __a2)
1434:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1434:  : _Inherited(__a1, __a2) { }
1434: 
1434:       template<bool _Dummy = true,
1434:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1434:  explicit constexpr
1434:  tuple(const _T1& __a1, const _T2& __a2)
1434:  noexcept(__nothrow_constructible<const _T1&, const _T2&>())
1434:  : _Inherited(__a1, __a2) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ImplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = true>
1434:  constexpr
1434:  tuple(_U1&& __a1, _U2&& __a2)
1434:  noexcept(__nothrow_constructible<_U1, _U2>())
1434:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ExplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = false>
1434:  explicit constexpr
1434:  tuple(_U1&& __a1, _U2&& __a2)
1434:  noexcept(__nothrow_constructible<_U1, _U2>())
1434:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
1434: 
1434:       constexpr tuple(const tuple&) = default;
1434: 
1434:       constexpr tuple(tuple&&) = default;
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1434:  constexpr
1434:  tuple(const tuple<_U1, _U2>& __in)
1434:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1434:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1434:  explicit constexpr
1434:  tuple(const tuple<_U1, _U2>& __in)
1434:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1434:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ImplicitCtor<true, _U1, _U2> = true>
1434:  constexpr
1434:  tuple(tuple<_U1, _U2>&& __in)
1434:  noexcept(__nothrow_constructible<_U1, _U2>())
1434:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ExplicitCtor<true, _U1, _U2> = false>
1434:  explicit constexpr
1434:  tuple(tuple<_U1, _U2>&& __in)
1434:  noexcept(__nothrow_constructible<_U1, _U2>())
1434:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
1434: 
1434:   UTSTREAM:
1417:       return "Inputstream";
1417:     case ADDON_INSTANCE_PERIPHERAL:
1417:       return "Peripheral";
1417:     case ADDON_INSTANCE_PVR:
1417:       return "PVR";
1417:     case ADDON_INSTANCE_SCREENSAVER:
1417:       return "ScreenSaver";
1417:     case ADDON_INSTANCE_VISUALIZATION:
1417:       return "Visualization";
1417:     case ADDON_INSTANCE_VIDEOCODEC:
1417:       return "VideoCodec";
1417:   }
1417:   return "unknown";
1417: }
1417: # 467 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/versions.h"
1417: inline int GetTypeId(const char* name)
1417: {
1417:   if (name)
1417:   {
1417:     if (strcmp(name, "addon") == 0)
1417:       return ADDON_GLOBAL_MAIN;
1417:     else if (strcmp(name, "general") == 0)
1417:       return ADDON_GLOBAL_GENERAL;
1417:     else if (strcmp(name, "gui") == 0)
1417:       return ADDON_GLOBAL_GUI;
1417:     else if (strcmp(name, "audioengine") == 0)
1417:       return ADDON_GLOBAL_AUDIOENGINE;
1417:     else if (strcmp(name, "filesystem") == 0)
1417:       return ADDON_GLOBAL_FILESYSTEM;
1417:     else if (strcmp(name, "network") == 0)
1417:       return ADDON_GLOBAL_NETWORK;
1417:     else if (strcmp(name, "tools") == 0)
1417:       return ADDON_GLOBAL_TOOLS;
1417:     else if (strcmp(name, "audiodecoder") == 0)
1417:       return ADDON_INSTANCE_AUDIODECODER;
1417:     else if (strcmp(name, "audioencoder") == 0)
1417:       return ADDON_INSTANCE_AUDIOENCODER;
1417:     else if (strcmp(name, "game") == 0)
1417:       return ADDON_INSTANCE_GAME;
1417:     else if (strcmp(name, "imagedecoder") == 0)
1417:       return ADDON_INSTANCE_IMAGEDECODER;
1417:     else if (strcmp(name, "inputstream") == 0)
1417:       return ADDON_INSTANCE_INPUTSTREAM;
1417:     else if (strcmp(name, "peripheral") == 0)
1417:       return ADDON_INSTANCE_PERIPHERAL;
1417:     else if (strcmp(name, "pvr") == 0)
1417:       return ADDON_INSTANCE_PVR;
1417:     else if (strcmp(name, "screensaver") == 0)
1417:       return ADDON_INSTANCE_SCREENSAVER;
1417:     else if (strcmp(name, "vfs") == 0)
1417:       return ADDON_INSTANCE_VFS;
1417:     else if (strcmp(name, "visualization") == 0)
1417:       return ADDON_INSTANCE_VISUALIZATION;
1417:     else if (strcmp(name, "videocodec") == 0)
1417:       return ADDON_INSTANCE_VIDEOCODEC;
1417:   }
1417:   return -1;
1417: }
1417: 
1417: 
1417: }
1417: }
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CSetting;
1417: 
1417: namespace ADDON
1417: {
1417: 
1417: class CAddonDll;
1417: using AddonDllPtr = std::shared_ptr<CAddonDll>;
1417: 
1417: class CAddonInfo;
1417: using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
1417: 
1417: class CBinaryAddonBase;
1417: using BinaryAddonBasePtr = std::shared_ptr<CBinaryAddonBase>;
1417: 
1417: class IAddonInstanceHandler
1417: {
1417: public:
1417: # 61 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/binary-addons/AddonInstanceHandler.h"
1417:   IAddonInstanceHandler(ADDON_TYPE type,
1417:                         const AddonInfoPtr& addonInfo,
1417:                         AddonInstanceId instanceId = ADDON_INSTANCE_ID_UNUSED,
1417:                         KODI_HANDLE parentInstance = nullptr,
1417:                         const std::string& uniqueWorkID = "");
1417:   virtual ~IAddonInstanceHandler();
1417: 
1417:   ADDON_TYPE UsedType() const { return m_type; }
1417:   AddonInstanceId InstanceId() const { return m_instanceId; }
1417:   const std::string& UniqueWorkID() { return m_uniqueWorkID; }
1417: 
1417:   std::string ID() const;
1417:   std::string Name() const;
1417:   std::string Author() const;
1417:   std::string Icon() const;
1417:   std::string Path() const;
1417:   std::string Profile() const;
1417:   CAddonVersion Version() const;
1417: 
1417:   ADDON_STATUS CreateInstance();
1417:   void DestroyInstance();
1417:   const AddonDllPtr& Addon() const { return m_addon; }
1417:   AddonInfoPtr GetAddonInfo() const { return m_addonInfo; }
1417: 
1417:   virtual void OnPreInstall() {}
14    template<typename _U1, typename _U2,
1434:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1434:  constexpr
1434:  tuple(const pair<_U1, _U2>& __in)
1434:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1434:  : _Inherited(__in.first, __in.second) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1434:  explicit constexpr
1434:  tuple(const pair<_U1, _U2>& __in)
1434:  noexcept(__nothrow_constructible<const _U1&, const _U2&>())
1434:  : _Inherited(__in.first, __in.second) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ImplicitCtor<true, _U1, _U2> = true>
1434:  constexpr
1434:  tuple(pair<_U1, _U2>&& __in)
1434:  noexcept(__nothrow_constructible<_U1, _U2>())
1434:  : _Inherited(std::forward<_U1>(__in.first),
1434:        std::forward<_U2>(__in.second)) { }
1434: 
1434:       template<typename _U1, typename _U2,
1434:         _ExplicitCtor<true, _U1, _U2> = false>
1434:  explicit constexpr
1434:  tuple(pair<_U1, _U2>&& __in)
1434:  noexcept(__nothrow_constructible<_U1, _U2>())
1434:  : _Inherited(std::forward<_U1>(__in.first),
1434:        std::forward<_U2>(__in.second)) { }
1434: 
1434: 
1434: 
1434:       template<typename _Alloc,
1434:         _ImplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a)
1434:  : _Inherited(__tag, __a) { }
1434: 
1434:       template<typename _Alloc, bool _Dummy = true,
1434:         _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const _T1& __a1, const _T2& __a2)
1434:  : _Inherited(__tag, __a, __a1, __a2) { }
1434: 
1434:       template<typename _Alloc, bool _Dummy = true,
1434:         _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
1434:  explicit
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const _T1& __a1, const _T2& __a2)
1434:  : _Inherited(__tag, __a, __a1, __a2) { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ImplicitCtor<true, _U1, _U2> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
1434:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1434:               std::forward<_U2>(__a2)) { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ExplicitCtor<true, _U1, _U2> = false>
1434:  explicit
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        _U1&& __a1, _U2&& __a2)
1434:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
1434:               std::forward<_U2>(__a2)) { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
1434:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
1434: 
1434:       template<typename _Alloc>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
1434:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const tuple<_U1, _U2>& __in)
1434:  : _Inherited(__tag, __a,
1434:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1434:  explicit
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const tuple<_U1, _U2>& __in)
1434:  : _Inherited(__tag, __a,
1434:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ImplicitCtor<true, _U1, _U2> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1434:  : _Inherited(__tag, __a, static_c,
1412:          _Hash = _Hash(), _Pred = _Pred(),
1412:          _Allocator = _Allocator())
1412:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1412:      __iter_val_t<_InputIterator>, _Hash, _Pred,
1412:      _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1412:     typename _Pred = equal_to<_Key>,
1412:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireNotAllocator<_Pred>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1412:          unordered_multimap<int, int>::size_type = {},
1412:          _Hash = _Hash(), _Pred = _Pred(),
1412:          _Allocator = _Allocator())
1412:     -> unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(_InputIterator, _InputIterator,
1412:          unordered_multimap<int, int>::size_type, _Allocator)
1412:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1412:      __iter_val_t<_InputIterator>,
1412:      hash<__iter_key_t<_InputIterator>>,
1412:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(_InputIterator, _InputIterator, _Allocator)
1412:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1412:      __iter_val_t<_InputIterator>,
1412:      hash<__iter_key_t<_InputIterator>>,
1412:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1412: 
1412:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(_InputIterator, _InputIterator,
1412:          unordered_multimap<int, int>::size_type, _Hash,
1412:          _Allocator)
1412:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1412:      __iter_val_t<_InputIterator>, _Hash,
1412:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1412:          unordered_multimap<int, int>::size_type,
1412:          _Allocator)
1412:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Allocator,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1412:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1412: 
1412:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1412:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1412:          unordered_multimap<int, int>::size_type,
1412:          _Hash, _Allocator)
1412:     -> unordered_multimap<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1412: 
1412: 
1412: 
1412:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1412:     inline void
1412:     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1412:   unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1412:     inline void
1412:     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1412:   unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1412:  17:   virtual void OnPostInstall(bool update, bool modal) {}
1417:   virtual void OnPreUnInstall() {}
1417:   virtual void OnPostUnInstall() {}
1417: 
1417: protected:
1417:   KODI_ADDON_INSTANCE_INFO m_info{};
1417:   KODI_ADDON_INSTANCE_STRUCT m_ifc{};
1417: 
1417: private:
1417:   std::shared_ptr<CSetting> GetSetting(const std::string& setting);
1417: 
1417:   static char* get_instance_user_path(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl);
1417:   static bool is_instance_setting_using_default(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                                 const char* id);
1417:   static bool get_instance_setting_bool(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                         const char* id,
1417:                                         bool* value);
1417:   static bool get_instance_setting_int(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                        const char* id,
1417:                                        int* value);
1417:   static bool get_instance_setting_float(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                          const char* id,
1417:                                          float* value);
1417:   static bool get_instance_setting_string(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                           const char* id,
1417:                                           char** value);
1417:   static bool set_instance_setting_bool(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                         const char* id,
1417:                                         bool value);
1417:   static bool set_instance_setting_int(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                        const char* id,
1417:                                        int value);
1417:   static bool set_instance_setting_float(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                          const char* id,
1417:                                          float value);
1417:   static bool set_instance_setting_string(const KODI_ADDON_INSTANCE_BACKEND_HDL hdl,
1417:                                           const char* id,
1417:                                           const char* value);
1417: 
1417:   const ADDON_TYPE m_type;
1417:   const AddonInstanceId m_instanceId;
1417:   std::string m_uniqueWorkID;
1417:   KODI_HANDLE m_parentInstance;
1417:   AddonInfoPtr m_addonInfo;
1417:   BinaryAddonBasePtr m_addonBase;
1417:   AddonDllPtr m_addon;
1417:   static CCriticalSection m_cdSec;
1417: };
1417: 
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Visualization.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../c-api/addon_base.h" 1
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 2
1417: 
1417: 
1417: # 1 "/usr/include/assert.h" 1 3 4
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 2
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 2
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/cstdlib" 1 3
1417: # 39 "/usr/include/c++/12/cstdlib" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstdlib" 3
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../Addonast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ExplicitCtor<true, _U1, _U2> = false>
1434:  explicit
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
1434:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
1434:  { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ImplicitCtor<true, const _U1&, const _U2&> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const pair<_U1, _U2>& __in)
1434:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ExplicitCtor<true, const _U1&, const _U2&> = false>
1434:  explicit
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a,
1434:        const pair<_U1, _U2>& __in)
1434:  : _Inherited(__tag, __a, __in.first, __in.second) { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ImplicitCtor<true, _U1, _U2> = true>
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1434:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1434:        std::forward<_U2>(__in.second)) { }
1434: 
1434:       template<typename _Alloc, typename _U1, typename _U2,
1434:         _ExplicitCtor<true, _U1, _U2> = false>
1434:  explicit
1434: 
1434:  tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
1434:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
1434:        std::forward<_U2>(__in.second)) { }
1434: 
1434: 
1434: 
1434:      
1434:       tuple&
1434:       operator=(__conditional_t<__assignable<const _T1&, const _T2&>(),
1434:     const tuple&,
1434:     const __nonesuch&> __in)
1434:       noexcept(__nothrow_assignable<const _T1&, const _T2&>())
1434:       {
1434:  this->_M_assign(__in);
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       tuple&
1434:       operator=(__conditional_t<__assignable<_T1, _T2>(),
1434:     tuple&&,
1434:     __nonesuch&&> __in)
1434:       noexcept(__nothrow_assignable<_T1, _T2>())
1434:       {
1434:  this->_M_assign(std::move(__in));
1434:  return *this;
1434:       }
1434: 
1434:       template<typename _U1, typename _U2>
1434: 
1434:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1434:  operator=(const tuple<_U1, _U2>& __in)
1434:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1434:  {
1434:    this->_M_assign(__in);
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _U1, typename _U2>
1434: 
1434:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1434:  operator=(tuple<_U1, _U2>&& __in)
1434:  noexcept(__nothrow_assignable<_U1, _U2>())
1434:  {
1434:    this->_M_assign(std::move(__in));
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _U1, typename _U2>
1434: 
1434:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
1434:  operator=(const pair<_U1, _U2>& __in)
1434:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
1434:  {
1434:    this->_M_head(*this) = __in.first;
1434:    this->_M_tail(*this)._M_head(*this) = __in.second;
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _U1, typename _U2>
1434: 
1434:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
1434:  operator=(pair<_U1, _U2>&& __in)
1434:  noexcept(__nothrow_assignable<_U1, _U2>())
1434:  {
1434:    this->_M_head(*this) = std::forward<_U1>(__in.first);
1434:    this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
1434:    return *this;
1434:  }
1434: 
1434:      
1434:       void
1434:       swap(tuple& __in)
1434:       noexcept(__and_<__is_nothrow_swappable<_T1>,
1434:         __is_nothrow_swappable<_T2>>::value)
1434:       { _Inherited::_M_swap(__in); }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename... _Elements>
1434:     struct tuple_size<tuple<_Elements...>>
1434:     : public integral_constant<size_t, sizeof...(_Elements)> { };
1434: 
1434: 
   noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1412:     inline bool
1412:     operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1412:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1412:     { return __x._M_h._M_equal(__y._M_h); }
1412: 
1412: 
1412:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1412:     inline bool
1412:     operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1412:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1412:     inline bool
1412:     operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1412:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1412:     { return __x._M_h._M_equal(__y._M_h); }
1412: 
1412: 
1412:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1412:     inline bool
1412:     operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1412:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1412:     typename _Alloc, typename _Hash2, typename _Eq2>
1412:     struct _Hash_merge_helper<
1412:       std::unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1412:       _Hash2, _Eq2>
1412:     {
1412:     private:
1412:       template<typename... _Tp>
1412:  using unordered_map = std::unordered_map<_Tp...>;
1412:       template<typename... _Tp>
1412:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1412: 
1412:       friend unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1412: 
1412:       static auto&
1412:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1412:       { return __map._M_h; }
1412: 
1412:       static auto&
1412:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1412:       { return __map._M_h; }
1412:     };
1412: 
1412: 
1412:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1412:     typename _Alloc, typename _Hash2, typename _Eq2>
1412:     struct _Hash_merge_helper<
1412:       std::unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1412:       _Hash2, _Eq2>
1412:     {
1412:     private:
1412:       template<typename... _Tp>
1412:  using unordered_map = std::unordered_map<_Tp...>;
1412:       template<typename... _Tp>
1412:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1412: 
1412:       friend unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1412: 
1412:       static auto&
1412:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1412:       { return __map._M_h; }
1412: 
1412:       static auto&
1412:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1412:       { return __map._M_h; }
1412:     };
1412: 
1412: 
1412: 
1412: }
1412: # 48 "/usr/include/c++/12/unordered_map" 2 3
1412: # 56 "/usr/include/c++/12/unordered_map" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412:   namespace pmr
1412:   {
1412:     template<typename _Tp> class polymorphic_allocator;
1412:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1412:       typename _Pred = std::equal_to<_Key>>
1412:       using unordered_map
1412:  = std::unordered_map<_Key, _Tp, _Hash, _Pred,
1412:         polymorphic_allocator<pair<const _Key, _Tp>>>;
1412:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1412:       typename _Pred = std::equal_to<_Key>>
1412:       using unordered_multimap
1412:  = std::unordered_multimap<_Key, _Tp, _Hash, _Pred,
1412:       polymorphic_allocator<pair<const _Key, _Tp>>>;
1412:   }
1412: 
1412: }
1412: # 62 "/usr/include/c++/12/funct1434:   template<typename... _Types>
1434:     inline constexpr size_t tuple_size_v<tuple<_Types...>>
1434:       = sizeof...(_Types);
1434: 
1434:   template<typename... _Types>
1434:     inline constexpr size_t tuple_size_v<const tuple<_Types...>>
1434:       = sizeof...(_Types);
1434: 
1434: 
1434: 
1434:   template<size_t __i, typename... _Types>
1434:     struct tuple_element<__i, tuple<_Types...>>
1434:     {
1434:       static_assert(__i < sizeof...(_Types), "tuple index must be in range");
1434: 
1434:       using type = typename _Nth_type<__i, _Types...>::type;
1434:     };
1434: 
1434:   template<size_t __i, typename _Head, typename... _Tail>
1434:     constexpr _Head&
1434:     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1434:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1434: 
1434:   template<size_t __i, typename _Head, typename... _Tail>
1434:     constexpr const _Head&
1434:     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1434:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1434: 
1434: 
1434:   template<size_t __i, typename... _Types>
1434:     __enable_if_t<(__i >= sizeof...(_Types))>
1434:     __get_helper(const tuple<_Types...>&) = delete;
1434: 
1434: 
1434:   template<size_t __i, typename... _Elements>
1434:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
1434:     get(tuple<_Elements...>& __t) noexcept
1434:     { return std::__get_helper<__i>(__t); }
1434: 
1434: 
1434:   template<size_t __i, typename... _Elements>
1434:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
1434:     get(const tuple<_Elements...>& __t) noexcept
1434:     { return std::__get_helper<__i>(__t); }
1434: 
1434: 
1434:   template<size_t __i, typename... _Elements>
1434:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
1434:     get(tuple<_Elements...>&& __t) noexcept
1434:     {
1434:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
1434:       return std::forward<__element_type>(std::__get_helper<__i>(__t));
1434:     }
1434: 
1434: 
1434:   template<size_t __i, typename... _Elements>
1434:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
1434:     get(const tuple<_Elements...>&& __t) noexcept
1434:     {
1434:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
1434:       return std::forward<const __element_type>(std::__get_helper<__i>(__t));
1434:     }
1434: 
1434: 
1434: 
1434:   template<size_t __i, typename... _Elements>
1434:     constexpr __enable_if_t<(__i >= sizeof...(_Elements))>
1434:     get(const tuple<_Elements...>&) = delete;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename... _Types>
1434:     constexpr _Tp&
1434:     get(tuple<_Types...>& __t) noexcept
1434:     {
1434:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1434:       static_assert(__idx < sizeof...(_Types),
1434:    "the type T in std::get<T> must occur exactly once in the tuple");
1434:       return std::__get_helper<__idx>(__t);
1434:     }
1434: 
1434: 
1434:   template <typename _Tp, typename... _Types>
1434:     constexpr _Tp&&
1434:     get(tuple<_Types...>&& __t) noexcept
1434:     {
1434:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1434:       static_assert(__idx < sizeof...(_Types),
1434:    "the type T in std::get<T> must occur exactly once in the tuple");
1434:       return std::forward<_Tp>(std::__get_helper<__idx>(__t));
1434:     }
1434: 
1434: 
1434:   template <typename _Tp, typename... _Types>
1434:     constexpr const _Tp&
1434:     get(const tuple<_Types...>& __t) noexcept
1434:     {
1434:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1434:       static_assert(__idx < sizeof...(_Types),
1434:    "the type T in std::get<T> must occur exactly once in the tuple");
1434:       return std::__get_helper<__idx>(__t);
1434:     }
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename... _Types>
1434:     constexpr const _TpBase.h" 2
1417: # 1 "/usr/include/c++/12/cstring" 1 3
1417: # 39 "/usr/include/c++/12/cstring" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstring" 3
1417: # 71 "/usr/include/c++/12/cstring" 3
1417: 
1417: # 71 "/usr/include/c++/12/cstring" 3
1417: extern "C++"
1417: {
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   using ::memchr;
1417:   using ::memcmp;
1417:   using ::memcpy;
1417:   using ::memmove;
1417:   using ::memset;
1417:   using ::strcat;
1417:   using ::strcmp;
1417:   using ::strcoll;
1417:   using ::strcpy;
1417:   using ::strcspn;
1417:   using ::strerror;
1417:   using ::strlen;
1417:   using ::strncat;
1417:   using ::strncmp;
1417:   using ::strncpy;
1417:   using ::strspn;
1417:   using ::strtok;
1417:   using ::strxfrm;
1417:   using ::strchr;
1417:   using ::strpbrk;
1417:   using ::strrchr;
1417:   using ::strstr;
1417: # 122 "/usr/include/c++/12/cstring" 3
1417: 
1417: }
1417: }
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 2
1417: # 1 "/usr/include/c++/12/ctime" 1 3
1417: # 39 "/usr/include/c++/12/ctime" 3
1417:        
1417: # 40 "/usr/include/c++/12/ctime" 3
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:        
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417: # 1 "/usr/include/c++/12/cassert" 1 3
1417: # 41 "/usr/include/c++/12/cassert" 3
1417:        
1417: # 42 "/usr/include/c++/12/cassert" 3
1417: 
1417: 
1417: # 1 "/usr/include/assert.h" 1 3 4
1417: # 45 "/usr/include/c++/12/cassert" 2 3
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 2
1417: # 1 "/usr/include/c++/12/cinttypes" 1 3
1417: # 32 "/usr/include/c++/12/cinttypes" 3
1417:        
1417: # 33 "/usr/include/c++/12/cinttypes" 3
1417: # 46 "/usr/include/c++/12/cinttypes" 3
1417: # 1 "/usr/include/inttypes.h" 1 3 4
1417: # 266 "/usr/include/inttypes.h" 3 4
1417: extern "C" {
1417: # 280 "/usr/include/inttypes.h" 3 4
1417: typedef struct
1417:   {
1417:     __extension__ long long int quot;
1417:     __extension__ long long int rem;
1417:   } imaxdiv_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern intmax_t imaxabs (intmax_t __n) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
1417:       noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: extern intmax_t strtoimax (const char *__restrict __nptr,
1417:       char **__restrict __endptr, int __base) noexcept (true);
1417: 
1417: 
1417: extern uintmax_t strtoumax (const char *__restrict __nptr,
1417:        char ** __restrict __endptr, int __base) noexcept (true);
1417: 
1417: 
1417: extern intmax_t wcstoimax (const wchar_t *__restrict __nptr,
1417:       wchar_t **__restrict __endptr, int __base)
1417:      noexcept (true);
1417: 
1417: 
1417: extern uintmax_t wcstoumax (const wchar_t *__restrict __nptr,
1417:        wchar_t ** __restrict __endptr, int __base)
1417:      noexcept (true);
1417: 
1417: }
1417: # 47 "/usr/include/c++/12/cinttypes" 2 3
1417: # 55 "/usr/include/c++/12/cinttypes" 3
1417: namespace std
1417: {
1417: 
1417:   using ::imaxdiv_t;
1417: 
1417: 
1417:   using ::imaxabs;
1417:   using ::imaxdiv;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   using ::strtoimax;
1417:   using ::strtoumax;
1417: 
1417: 
1417:   using ::wcstoimax;
1417:   using ::wcstoumax;
1417: 
1417: }
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 2
1417: # 1 "/usr/include/c++/12/cmath" 1 3
1417: # 39 "/usr/include/c++&&
1434:     get(const tuple<_Types...>&& __t) noexcept
1434:     {
1434:       constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
1434:       static_assert(__idx < sizeof...(_Types),
1434:    "the type T in std::get<T> must occur exactly once in the tuple");
1434:       return std::forward<const _Tp>(std::__get_helper<__idx>(__t));
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up, size_t __i, size_t __size>
1434:     struct __tuple_compare
1434:     {
1434:       static constexpr bool
1434:       __eq(const _Tp& __t, const _Up& __u)
1434:       {
1434:  return bool(std::get<__i>(__t) == std::get<__i>(__u))
1434:    && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
1434:       }
1434: 
1434:       static constexpr bool
1434:       __less(const _Tp& __t, const _Up& __u)
1434:       {
1434:  return bool(std::get<__i>(__t) < std::get<__i>(__u))
1434:    || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
1434:        && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
1434:       }
1434:     };
1434: 
1434:   template<typename _Tp, typename _Up, size_t __size>
1434:     struct __tuple_compare<_Tp, _Up, __size, __size>
1434:     {
1434:       static constexpr bool
1434:       __eq(const _Tp&, const _Up&) { return true; }
1434: 
1434:       static constexpr bool
1434:       __less(const _Tp&, const _Up&) { return false; }
1434:     };
1434: 
1434:   template<typename... _TElements, typename... _UElements>
1434:     constexpr bool
1434:     operator==(const tuple<_TElements...>& __t,
1434:         const tuple<_UElements...>& __u)
1434:     {
1434:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1434:    "tuple objects can only be compared if they have equal sizes.");
1434:       using __compare = __tuple_compare<tuple<_TElements...>,
1434:      tuple<_UElements...>,
1434:      0, sizeof...(_TElements)>;
1434:       return __compare::__eq(__t, __u);
1434:     }
1434: # 1536 "/usr/include/c++/12/tuple" 3
1434:   template<typename... _TElements, typename... _UElements>
1434:     constexpr bool
1434:     operator<(const tuple<_TElements...>& __t,
1434:        const tuple<_UElements...>& __u)
1434:     {
1434:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
1434:    "tuple objects can only be compared if they have equal sizes.");
1434:       using __compare = __tuple_compare<tuple<_TElements...>,
1434:      tuple<_UElements...>,
1434:      0, sizeof...(_TElements)>;
1434:       return __compare::__less(__t, __u);
1434:     }
1434: 
1434:   template<typename... _TElements, typename... _UElements>
1434:     constexpr bool
1434:     operator!=(const tuple<_TElements...>& __t,
1434:         const tuple<_UElements...>& __u)
1434:     { return !(__t == __u); }
1434: 
1434:   template<typename... _TElements, typename... _UElements>
1434:     constexpr bool
1434:     operator>(const tuple<_TElements...>& __t,
1434:        const tuple<_UElements...>& __u)
1434:     { return __u < __t; }
1434: 
1434:   template<typename... _TElements, typename... _UElements>
1434:     constexpr bool
1434:     operator<=(const tuple<_TElements...>& __t,
1434:         const tuple<_UElements...>& __u)
1434:     { return !(__u < __t); }
1434: 
1434:   template<typename... _TElements, typename... _UElements>
1434:     constexpr bool
1434:     operator>=(const tuple<_TElements...>& __t,
1434:         const tuple<_UElements...>& __u)
1434:     { return !(__t < __u); }
1434: 
1434: 
1434: 
1434:   template<typename... _Elements>
1434:     constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
1434:     make_tuple(_Elements&&... __args)
1434:     {
1434:       typedef tuple<typename __decay_and_strip<_Elements>::__type...>
1434:  __result_type;
1434:       return __result_type(std::forward<_Elements>(__args)...);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename... _Elements>
1434:     constexpr tuple<_Elements&&...>
1434:     forward_as_tuple(_Elements&&... __args) noexcept
1434:     { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm> struct array;
1434: 
1434:   template<size_t _Int, typename _Tp, size_t _Nm>
1434:     constexpr _Tp&
1434:     get(array<_Tp, _Nm>&) noexcept;
1434: 
1434:   template<size_t _Int, typename _Tp, size_t _Nm>
1434:     constexpr _Tp&&
1434:     get(array<_Tp, _Nm>&&) noexcept;
1434: 
1434:   template<size_t _Int, typename _Tp, size_t _Nm>
1434:     constexpr const _Tp&
1434:     get(const array<_Tp, _Nm>&) noexcept;
1434: 
1434:   template<size_t _Int, typename _Tp, size_t _Nm>
1434:     constexpr const _Tp&&
1434:     get(const array<_Tp, _Nm>&&) noexcept;
1434: 
1434: 
1434:   template<size_t, typename, typename, size_t>
1434:     struct __make_tuple_impl;
1434: 
1434:   template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
1434:     struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
1434:     : __make_tuple_impl<_Idx + 1,
1434:    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
1434:    _Tuple, _Nm>
1434:     { };
1434: 
1434:   template<size_t _Nm, typename _Tuple, typename... _Tp>
1434:     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
1434:     {
1434:       typedef tuple<_Tp...> __type;
1434:     };
1434: 
1434:   template<typename _Tuple>
1434:     struct __do_make_tuple
1434:     : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tuple>
1434:     struct __make_tuple
1434:     : public __do_make_tuple<__remove_cvref_t<_Tuple>>
1434:     { };
1434: 
1434: 
1434:   template<typename...>
1434:     struct __combine_tuples;
1434: 
1434:   template<>
1434:     struct __combine_tuples<>
1434:     {
1434:       typedef tuple<> __type;
1434:     };
1434: 
1434:   template<typename... _Ts>
1434:     struct __combine_tuples<tuple<_Ts...>>
1434:     {
1434:       typedef tuple<_Ts...> __type;
1434:     };
1434: 
1434:   template<typename... _T1s, typename... _T2s, typename... _Rem>
1434:     struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
1434:     {
1434:       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
1434:      _Rem...>::__type __type;
1434:     };
1434: 
1434: 
1434:   template<typename... _Tpls>
1434:     struct __tuple_cat_result
1434:     {
1434:       typedef typename __combine_tuples
1434:         <typename __make_tuple<_Tpls>::__type...>::__type __type;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename...>
1434:     struct __make_1st_indices;
1434: 
1434:   template<>
1434:     struct __make_1st_indices<>
1434:     {
1434:       typedef _Index_tuple<> __type;
1434:     };
1434: 
1434:   template<typename _Tp, typename... _Tpls>
1434:     struct __make_1st_indices<_Tp, _Tpls...>
1434:     {
1434:       typedef typename _Build_index_tuple<tuple_size<
1434:  typename remove_reference<_Tp>::type>::value>::__type __type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Ret, typename _Indices, typename... _Tpls>
1434:     struct __tuple_concater;
1434: 
1434:   template<typename _Ret, size_t... _Is, typename _Tp, typename... _Tpls>
1434:     struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...>
1434:     {
1434:       template<typename... _Us>
1434:         static constexpr _Ret
1434:         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
1434:         {
1434:    typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1434:    typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
1434:    return __next::_S_do(std::forward<_Tpls>(__tps)...,
1434:           std::forward<_Us>(__us)...,
1434:           std::get<_Is>(std::forward<_Tp>(__tp))...);
1434:  }
1434:     };
1434: 
1434:   template<typename _Ret>
1434:     struct __tuple_concater<_Ret, _Index_tuple<>>
1434:     {
1434:       template<typename... _Us>
1434:  static constexpr _Ret
1434:  _S_do(_Us&&... __us)
1434:         {
1434:    return _Ret(std::forward<_Us>(__us)...);
1434:  }
1434:     };
1434: 
1434:   template<typename... _Tps>
1434:     struct __is_tuple_like_impl<tuple<_Tps...>ional" 2 3
1412: 
1412: # 1 "/usr/include/c++/12/array" 1 3
1412: # 32 "/usr/include/c++/12/array" 3
1412:        
1412: # 33 "/usr/include/c++/12/array" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/compare" 1 3
1412: # 33 "/usr/include/c++/12/compare" 3
1412:        
1412: # 34 "/usr/include/c++/12/compare" 3
1412: # 39 "/usr/include/c++/12/array" 2 3
1412: # 48 "/usr/include/c++/12/array" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _Tp, std::size_t _Nm>
1412:     struct __array_traits
1412:     {
1412:       typedef _Tp _Type[_Nm];
1412:       typedef __is_swappable<_Tp> _Is_swappable;
1412:       typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable;
1412: 
1412:       static constexpr _Tp&
1412:       _S_ref(const _Type& __t, std::size_t __n) noexcept
1412:       { return const_cast<_Tp&>(__t[__n]); }
1412: 
1412:       static constexpr _Tp*
1412:       _S_ptr(const _Type& __t) noexcept
1412:       { return const_cast<_Tp*>(__t); }
1412:     };
1412: 
1412:  template<typename _Tp>
1412:    struct __array_traits<_Tp, 0>
1412:    {
1412:      struct _Type { };
1412:      typedef true_type _Is_swappable;
1412:      typedef true_type _Is_nothrow_swappable;
1412: 
1412:      static constexpr _Tp&
1412:      _S_ref(const _Type&, std::size_t) noexcept
1412:      { return *static_cast<_Tp*>(nullptr); }
1412: 
1412:      static constexpr _Tp*
1412:      _S_ptr(const _Type&) noexcept
1412:      { return nullptr; }
1412:    };
1412: # 98 "/usr/include/c++/12/array" 3
1412:   template<typename _Tp, std::size_t _Nm>
1412:     struct array
1412:     {
1412:       typedef _Tp value_type;
1412:       typedef value_type* pointer;
1412:       typedef const value_type* const_pointer;
1412:       typedef value_type& reference;
1412:       typedef const value_type& const_reference;
1412:       typedef value_type* iterator;
1412:       typedef const value_type* const_iterator;
1412:       typedef std::size_t size_type;
1412:       typedef std::ptrdiff_t difference_type;
1412:       typedef std::reverse_iterator<iterator> reverse_iterator;
1412:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1412: 
1412: 
1412:       typedef __array_traits<_Tp, _Nm> _AT_Type;
1412:       typename _AT_Type::_Type _M_elems;
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       fill(const value_type& __u)
1412:       { std::fill_n(begin(), size(), __u); }
1412: 
1412:       void
1412:       swap(array& __other)
1412:       noexcept(_AT_Type::_Is_nothrow_swappable::value)
1412:       { std::swap_ranges(begin(), end(), __other.begin()); }
1412: 
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr iterator
1412:       begin() noexcept
1412:       { return iterator(data()); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_iterator
1412:       begin() const noexcept
1412:       { return const_iterator(data()); }
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr iterator
1412:       end() noexcept
1412:       { return iterator(data() + _Nm); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_iterator
1412:       end() const noexcept
1412:       { return const_iterator(data() + _Nm); }
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr reverse_iterator
1412:       rbegin() noexcept
1412:       { return reverse_iterator(end()); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr reverse_iterator
1412:       rend() noexcept
1412:       { return reverse_iterator(begin()); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_iterator
1412:       c/12/cmath" 3
1417:        
1417: # 40 "/usr/include/c++/12/cmath" 3
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 2
1417: # 1 "/usr/include/c++/12/cstdarg" 1 3
1417: # 39 "/usr/include/c++/12/cstdarg" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstdarg" 3
1417: # 53 "/usr/include/c++/12/cstdarg" 3
1417: namespace std
1417: {
1417:   using ::va_list;
1417: }
1417: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 2
1417: # 1 "/usr/include/c++/12/cstring" 1 3
1417: # 39 "/usr/include/c++/12/cstring" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstring" 3
1417: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 2
1417: # 1 "/usr/include/c++/12/iomanip" 1 3
1417: # 36 "/usr/include/c++/12/iomanip" 3
1417:        
1417: # 37 "/usr/include/c++/12/iomanip" 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/ios_base.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/ios_base.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/ios_base.h" 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/locale_classes.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/locale_classes.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 62 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:   class locale
1417:   {
1417:   public:
1417: 
1417: 
1417:     typedef int category;
1417: 
1417: 
1417:     class facet;
1417:     class id;
1417:     class _Impl;
1417: 
1417:     friend class facet;
1417:     friend class _Impl;
1417: 
1417:     template<typename _Facet>
1417:       friend bool
1417:       has_facet(const locale&) throw();
1417: 
1417:     template<typename _Facet>
1417:       friend const _Facet&
1417:       use_facet(const locale&);
1417: 
1417:     template<typename _Cache>
1417:       friend struct __use_cache;
1417: # 98 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     static const category none = 0;
1417:     static const category ctype = 1L << 0;
1417:     static const category numeric = 1L << 1;
1417:     static const category collate = 1L << 2;
1417:     static const category time = 1L << 3;
1417:     static const category monetary = 1L << 4;
1417:     static const category messages = 1L << 5;
1417:     static const category all = (ctype | numeric | collate |
1417:         time | monetary | messages);
1417: # 117 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     locale() throw();
1417: # 126 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     locale(const locale& __other) throw();
1417: # 136 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     explicit
1417:     locale(const char* __s);
1417: # 151 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     locale(const locale& __base, const char* __s, category __cat);
1417: # 162 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     explicit
1417:     locale(const std::string& __s) : locale(__s.c_str()) { }
1417: # 177 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     locale(const locale& __base, const std::string& __s, category __cat)
1417:     : locale(__base, __s.c_str(), __cat) { }
1417: # 192 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     locale(const locale& __base, const locale& __add, category __cat);
1417: # 205 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     template<typename _Facet>
1417:       locale(const locale& __other, _Facet* __f);
1417: 
1417: 
1417:     ~locale() throw();
1417: # 219 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     const locale&
1417:     operator=(const locale& __other) throw();
1417: # 234 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     template<typename _Facet>
1417:       locale
1417:       combine(const locale& __other) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:> : true_type
1434:     { };
1434: 
1434: 
1434:   template<typename... _Tpls, typename = typename
1434:            enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
1434:     constexpr auto
1434:     tuple_cat(_Tpls&&... __tpls)
1434:     -> typename __tuple_cat_result<_Tpls...>::__type
1434:     {
1434:       typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
1434:       typedef typename __make_1st_indices<_Tpls...>::__type __idx;
1434:       typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
1434:       return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename... _Elements>
1434:     constexpr tuple<_Elements&...>
1434:     tie(_Elements&... __args) noexcept
1434:     { return tuple<_Elements&...>(__args...); }
1434: 
1434: 
1434:   template<typename... _Elements>
1434:    
1434:     inline
1434: 
1434: 
1434:     typename enable_if<__and_<__is_swappable<_Elements>...>::value
1434:       >::type
1434: 
1434: 
1434: 
1434:     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   template<typename... _Elements>
1434:    
1434:     typename enable_if<!__and_<__is_swappable<_Elements>...>::value>::type
1434:     swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct _Swallow_assign
1434:   {
1434:     template<class _Tp>
1434:       constexpr const _Swallow_assign&
1434:       operator=(const _Tp&) const
1434:       { return *this; }
1434:   };
1434: 
1434: 
1434: 
1434:   inline constexpr _Swallow_assign ignore{};
1434: 
1434: 
1434:   template<typename... _Types, typename _Alloc>
1434:     struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
1434: # 1798 "/usr/include/c++/12/tuple" 3
1434:   template<class _T1, class _T2>
1434:     template<typename... _Args1, typename... _Args2>
1434:      
1434:       inline
1434:       pair<_T1, _T2>::
1434:       pair(piecewise_construct_t,
1434:     tuple<_Args1...> __first, tuple<_Args2...> __second)
1434:       : pair(__first, __second,
1434:       typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
1434:       typename _Build_index_tuple<sizeof...(_Args2)>::__type())
1434:       { }
1434: 
1434:   template<class _T1, class _T2>
1434:     template<typename... _Args1, size_t... _Indexes1,
1434:       typename... _Args2, size_t... _Indexes2>
1434:       inline
1434:       pair<_T1, _T2>::
1434:       pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
1434:     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
1434:       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
1434:  second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<template<typename...> class _Trait, typename _Tp, typename _Tuple>
1434:     inline constexpr bool __unpack_std_tuple = false;
1434: 
1434:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1434:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>>
1434:       = _Trait<_Tp, _Up...>::value;
1434: 
1434:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1434:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&>
1434:       = _Trait<_Tp, _Up&...>::value;
1434: 
1434:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1434:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>>
1434:       = _Trait<_Tp, const _Up...>::value;
1434: 
1434:   template<template<typename...> class _Trait, typename _Tp, typename... _Up>
1434:     inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&>
1434:       = _Trait<_Tp, const _Up&...>::value;
1434: 
1434: 
1434: 
1434:   template <typename _Fn, typename _Tuple, size_t... _Idx>
1434:     constexpr decltype(auto)
1434:     __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<begin() const noexcept
1412:       { return const_iterator(data()); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_iterator
1412:       cend() const noexcept
1412:       { return const_iterator(data() + _Nm); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return const_reverse_iterator(end()); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_reverse_iterator
1412:       crend() const noexcept
1412:       { return const_reverse_iterator(begin()); }
1412: 
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr size_type
1412:       size() const noexcept { return _Nm; }
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr size_type
1412:       max_size() const noexcept { return _Nm; }
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr bool
1412:       empty() const noexcept { return size() == 0; }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr reference
1412:       operator[](size_type __n) noexcept
1412:       {
1412:  ;
1412:  return _AT_Type::_S_ref(_M_elems, __n);
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_reference
1412:       operator[](size_type __n) const noexcept
1412:       {
1412: 
1412:  ;
1412: 
1412:  return _AT_Type::_S_ref(_M_elems, __n);
1412:       }
1412: 
1412:       constexpr reference
1412:       at(size_type __n)
1412:       {
1412:  if (__n >= _Nm)
1412:    std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1412:                                  ,
1412:      __n, _Nm);
1412:  return _AT_Type::_S_ref(_M_elems, __n);
1412:       }
1412: 
1412:       constexpr const_reference
1412:       at(size_type __n) const
1412:       {
1412: 
1412: 
1412:  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
1412:    : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1412:                                     ,
1412:         __n, _Nm),
1412:       _AT_Type::_S_ref(_M_elems, 0));
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr reference
1412:       front() noexcept
1412:       {
1412:  ;
1412:  return *begin();
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_reference
1412:       front() const noexcept
1412:       {
1412: 
1412:  ;
1412: 
1412:  return _AT_Type::_S_ref(_M_elems, 0);
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr reference
1412:       back() noexcept
1412:       {
1412:  ;
1412:  return _Nm ? *(end() - 1) : *end();
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_reference
1412:       back() const noexcept
1412:       {
1412: 
1412:  ;
1412: 
1412:  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
1412:              : _AT_Type::_S_ref(_M_elems, 0);
1412:       }
1412: 
1412:       [[__gnu__::__const__, __nodiscard__]]
1412:       constexpr pointer
1412:       data() noexcept
1412:       { return _AT_Type::_S_ptr(_M_elems); }
1412: 
1412:       [[__nodiscard__]]
1412:       constexpr const_pointer
1412:       data() const noexcept
1412:       { return _AT_Type::_S_ptr(_M_elems); }
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, typename... _Up>
1412:     array(_Tp, _Up...)
1412:       -> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>,
1412:         1 + sizeof...(_Up)>;
1412: 
1412: 
1412: 
1412:   template<typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:    
1412:     inline bool
1412:     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1412:     { return std::equal(__one.begin(), __one.end(), __two.begin()); }
1412: # 329 "/usr/include/c++/12/array" 3
1412:   template<typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:    
1412:     inline bool
1412:     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1412:     { return !(__one == __two); }
1412: 
1412:   template<typename_Idx...>)
1434:     {
1434:       return std::__invoke(std::forward<_Fn>(__f),
1434:       std::get<_Idx>(std::forward<_Tuple>(__t))...);
1434:     }
1434: 
1434:   template <typename _Fn, typename _Tuple>
1434:     constexpr decltype(auto)
1434:     apply(_Fn&& __f, _Tuple&& __t)
1434:     noexcept(__unpack_std_tuple<is_nothrow_invocable, _Fn, _Tuple>)
1434:     {
1434:       using _Indices
1434:  = make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>;
1434:       return std::__apply_impl(std::forward<_Fn>(__f),
1434:           std::forward<_Tuple>(__t),
1434:           _Indices{});
1434:     }
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename _Tuple, size_t... _Idx>
1434:     constexpr _Tp
1434:     __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>)
1434:     { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); }
1434: 
1434:   template <typename _Tp, typename _Tuple>
1434:     constexpr _Tp
1434:     make_from_tuple(_Tuple&& __t)
1434:     noexcept(__unpack_std_tuple<is_nothrow_constructible, _Tp, _Tuple>)
1434:     {
1434:       return __make_from_tuple_impl<_Tp>(
1434:         std::forward<_Tuple>(__t),
1434:  make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>{});
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 37 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_function.h" 1 3
1434: # 63 "/usr/include/c++/12/bits/stl_function.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 116 "/usr/include/c++/12/bits/stl_function.h" 3
1434:   template<typename _Arg, typename _Result>
1434:     struct unary_function
1434:     {
1434: 
1434:       typedef _Arg argument_type;
1434: 
1434: 
1434:       typedef _Result result_type;
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Arg1, typename _Arg2, typename _Result>
1434:     struct binary_function
1434:     {
1434: 
1434:       typedef _Arg1 first_argument_type;
1434: 
1434: 
1434:       typedef _Arg2 second_argument_type;
1434: 
1434: 
1434:       typedef _Result result_type;
1434:     } __attribute__ ((__deprecated__));
1434: # 157 "/usr/include/c++/12/bits/stl_function.h" 3
1434:   struct __is_transparent;
1434: 
1434:   template<typename _Tp = void>
1434:     struct plus;
1434: 
1434:   template<typename _Tp = void>
1434:     struct minus;
1434: 
1434:   template<typename _Tp = void>
1434:     struct multiplies;
1434: 
1434:   template<typename _Tp = void>
1434:     struct divides;
1434: 
1434:   template<typename _Tp = void>
1434:     struct modulus;
1434: 
1434:   template<typename _Tp = void>
1434:     struct negate;
1434: 
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct plus : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434: 
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x + __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct minus : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x - __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x * __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct divides : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x / __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct modulus : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x % __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct negate : public unary_function<_Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x) const
1434:       { return -__x; }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct plus<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct minus<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct multiplies<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct divides<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct modulus<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct negate<void>
1434:     {
1434:       template <typename _Tp>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t) const
1434:  noexcept(noexcept(-std::forward<_Tp>(__t)))
1434:  -> decltype(-std::forward<_Tp>(__t))
1434:  { return -std::forward<_Tp>(__t); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: # 349 "/usr/include/c++/12/bits/stl_function.h" 3
1434:   template<typename _Tp = void>
1434:     struct equal_to;
1434: 
1434:   template<typename _Tp = void>
1434:     struct not_equal_to;
1434: 
1434:   template<typename _Tp = void>
1434:     struct greater;
1434: 
1434:   template<typename _Tp = void>
1434:     struct less;
1434: 
1434:   template<typename _Tp = void>
1434:     struct greater_equal;
1434: 
1434:   template<typename _Tp = void>
1434:     struct less_equal;
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct equal_to : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x == __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>     string
1417:     name() const;
1417: # 254 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     bool
1417:     operator==(const locale& __other) const throw();
1417: # 264 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     bool
1417:     operator!=(const locale& __other) const throw()
1417:     { return !(this->operator==(__other)); }
1417: # 284 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     template<typename _Char, typename _Traits, typename _Alloc>
1417:       bool
1417:       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
1417:    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
1417: # 300 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     static locale
1417:     global(const locale& __loc);
1417: 
1417: 
1417: 
1417: 
1417:     static const locale&
1417:     classic();
1417: 
1417:   private:
1417: 
1417:     _Impl* _M_impl;
1417: 
1417: 
1417:     static _Impl* _S_classic;
1417: 
1417: 
1417:     static _Impl* _S_global;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     static const char* const* const _S_categories;
1417: # 335 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     enum { _S_categories_size = 6 + 6 };
1417: 
1417: 
1417:     static __gthread_once_t _S_once;
1417: 
1417: 
1417:     explicit
1417:     locale(_Impl*) throw();
1417: 
1417:     static void
1417:     _S_initialize();
1417: 
1417:     static void
1417:     _S_initialize_once() throw();
1417: 
1417:     static category
1417:     _S_normalize_category(category);
1417: 
1417:     void
1417:     _M_coalesce(const locale& __base, const locale& __add, category __cat);
1417: 
1417: 
1417:     static const id* const _S_twinned_facets[];
1417: 
1417:   };
1417: # 373 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:   class locale::facet
1417:   {
1417:   private:
1417:     friend class locale;
1417:     friend class locale::_Impl;
1417: 
1417:     mutable _Atomic_word _M_refcount;
1417: 
1417: 
1417:     static __c_locale _S_c_locale;
1417: 
1417: 
1417:     static const char _S_c_name[2];
1417: 
1417: 
1417:     static __gthread_once_t _S_once;
1417: 
1417: 
1417:     static void
1417:     _S_initialize_once();
1417: 
1417:   protected:
1417: # 404 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     explicit
1417:     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
1417:     { }
1417: 
1417: 
1417:     virtual
1417:     ~facet();
1417: 
1417:     static void
1417:     _S_create_c_locale(__c_locale& __cloc, const char* __s,
1417:          __c_locale __old = 0);
1417: 
1417:     static __c_locale
1417:     _S_clone_c_locale(__c_locale& __cloc) throw();
1417: 
1417:     static void
1417:     _S_destroy_c_locale(__c_locale& __cloc);
1417: 
1417:     static __c_locale
1417:     _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
1417: 
1417: 
1417: 
1417:     static __c_locale
1417:     _S_get_c_locale();
1417: 
1417:     __attribute__ ((__const__)) static const char*
1417:     _S_get_c_name() throw();
1417: # 440 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:     facet(const facet&) = delete;
1417: 
1417:     facet&
1417:     operator=(const facet&) = delete;
1417: 
1417: 
1417:   private:
1417:     void
1417:     _M_add_reference() const throw()
1417:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1417: 
1417:     void
1417:     _M_remove_reference() const throw()
1417:     {
1417: 
1417:       ;
1417:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1417:  {
1417:           ;
1417:    try
1417:      { delete this; }
1417:    catch(...)
1417:      { }
1417:  }
1417:     }
1417: 
1417:     const facet* _M_sso_shim(const id*) const;
1417:     const facet* _M_cow_shim(const id*) const;
1417: 
1417:   protected:
1417:     class __shim;
1417:   };
1417: # 485 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:   class locale::id
1417:   {
1417:   private:
1417:     friend class locale;
1417:     friend class locale::_Impl;
1417: 
1417:     template<typename _Facet>
1417:       friend const _Facet&
1417:       use_facet(const locale&);
1417:  _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:    
1412:     inline bool
1412:     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
1412:     {
1412:       return std::lexicographical_compare(__a.begin(), __a.end(),
1412:        __b.begin(), __b.end());
1412:     }
1412: 
1412:   template<typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:    
1412:     inline bool
1412:     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1412:     { return __two < __one; }
1412: 
1412:   template<typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:    
1412:     inline bool
1412:     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1412:     { return !(__one > __two); }
1412: 
1412:   template<typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:    
1412:     inline bool
1412:     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1412:     { return !(__one < __two); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, std::size_t _Nm>
1412:    
1412:     inline
1412: 
1412: 
1412:     typename enable_if<
1412:       __array_traits<_Tp, _Nm>::_Is_swappable::value
1412:     >::type
1412: 
1412: 
1412: 
1412:     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
1412:     noexcept(noexcept(__one.swap(__two)))
1412:     { __one.swap(__two); }
1412: 
1412: 
1412:   template<typename _Tp, std::size_t _Nm>
1412:     typename enable_if<
1412:       !__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
1412:     swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
1412: 
1412: 
1412:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:     constexpr _Tp&
1412:     get(array<_Tp, _Nm>& __arr) noexcept
1412:     {
1412:       static_assert(_Int < _Nm, "array index is within bounds");
1412:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1412:     }
1412: 
1412:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:     constexpr _Tp&&
1412:     get(array<_Tp, _Nm>&& __arr) noexcept
1412:     {
1412:       static_assert(_Int < _Nm, "array index is within bounds");
1412:       return std::move(std::get<_Int>(__arr));
1412:     }
1412: 
1412:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:     constexpr const _Tp&
1412:     get(const array<_Tp, _Nm>& __arr) noexcept
1412:     {
1412:       static_assert(_Int < _Nm, "array index is within bounds");
1412:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1412:     }
1412: 
1412:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1412:     [[__nodiscard__]]
1412:     constexpr const _Tp&&
1412:     get(const array<_Tp, _Nm>&& __arr) noexcept
1412:     {
1412:       static_assert(_Int < _Nm, "array index is within bounds");
1412:       return std::move(std::get<_Int>(__arr));
1412:     }
1412: # 470 "/usr/include/c++/12/array" 3
1412:   template<typename _Tp, size_t _Nm>
1412:     struct tuple_size<array<_Tp, _Nm>>
1412:     : public integral_constant<size_t, _Nm> { };
1412: 
1412: 
1412:   template<size_t _Ind, typename _Tp, size_t _Nm>
1412:     struct tuple_element<_Ind, array<_Tp, _Nm>>
1412:     {
1412:       static_assert(_Ind < _Nm, "array index is in range");
1412:       using type = _Tp;
1412:     };
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:     inline constexpr size_t tuple_size_v<array<_Tp, _Nm>> = _Nm;
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:     inline constexpr size_t tuple_size_v<const array<_Tp, _Nm>> = _Nm;
1412: 
1412: 
1412:   template<typename _Tp, size_t _Nm>
1412:     struct __is_tuple_like_impl<array<_Tp, _Nm>> : true_type
1412:     { };
1412: 
1412: 
1412: }
1412: # 64 "/usr/include/c++/12/functional" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_algo.h" 1 3
1412: # 59 "/usr/include/c++/12/bits/stl_algo.h" 3
1412: # 1 "/usr/include/c++/12/bits/algorithmfwd.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1412:        
1412: # 34 "/us
1434:     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x != __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct greater : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x > __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct less : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x < __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct greater_equal : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x >= __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct less_equal : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x <= __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1434:     {
1434:       constexpr bool
1434:       operator()(_Tp* __x, _Tp* __y) const noexcept
1434:       {
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __x > __y;
1434: 
1434:  return (unsigned int)__x > (unsigned int)__y;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1434:     {
1434:       constexpr bool
1434:       operator()(_Tp* __x, _Tp* __y) const noexcept
1434:       {
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __x < __y;
1434: 
1434:  return (unsigned int)__x < (unsigned int)__y;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1434:     {
1434:       constexpr bool
1434:       operator()(_Tp* __x, _Tp* __y) const noexcept
1434:       {
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __x >= __y;
1434: 
1434:  return (unsigned int)__x >= (unsigned int)__y;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
1434:     {
1434:       constexpr bool
1434:       operator()(_Tp* __x, _Tp* __y) const noexcept
1434:       {
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __x <= __y;
1434: 
1434:  return (unsigned int)__x <= (unsigned int)__y;
1434:       }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct equal_to<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct not_equal_to<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct greater<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr auto
1434:  operator()(_Tp&& __t, _Up&& _
1417:     template<typename _Facet>
1417:       friend bool
1417:       has_facet(const locale&) throw();
1417: 
1417: 
1417: 
1417: 
1417:     mutable size_t _M_index;
1417: 
1417: 
1417:     static _Atomic_word _S_refcount;
1417: 
1417:     void
1417:     operator=(const id&);
1417: 
1417:     id(const id&);
1417: 
1417:   public:
1417: 
1417: 
1417: 
1417:     id() { }
1417: 
1417:     size_t
1417:     _M_id() const throw();
1417:   };
1417: 
1417: 
1417: 
1417:   class locale::_Impl
1417:   {
1417:   public:
1417: 
1417:     friend class locale;
1417:     friend class locale::facet;
1417: 
1417:     template<typename _Facet>
1417:       friend bool
1417:       has_facet(const locale&) throw();
1417: 
1417:     template<typename _Facet>
1417:       friend const _Facet&
1417:       use_facet(const locale&);
1417: 
1417:     template<typename _Cache>
1417:       friend struct __use_cache;
1417: 
1417:   private:
1417: 
1417:     _Atomic_word _M_refcount;
1417:     const facet** _M_facets;
1417:     size_t _M_facets_size;
1417:     const facet** _M_caches;
1417:     char** _M_names;
1417:     static const locale::id* const _S_id_ctype[];
1417:     static const locale::id* const _S_id_numeric[];
1417:     static const locale::id* const _S_id_collate[];
1417:     static const locale::id* const _S_id_time[];
1417:     static const locale::id* const _S_id_monetary[];
1417:     static const locale::id* const _S_id_messages[];
1417:     static const locale::id* const* const _S_facet_categories[];
1417: 
1417:     void
1417:     _M_add_reference() throw()
1417:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1417: 
1417:     void
1417:     _M_remove_reference() throw()
1417:     {
1417: 
1417:       ;
1417:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1417:  {
1417:           ;
1417:    try
1417:      { delete this; }
1417:    catch(...)
1417:      { }
1417:  }
1417:     }
1417: 
1417:     _Impl(const _Impl&, size_t);
1417:     _Impl(const char*, size_t);
1417:     _Impl(size_t) throw();
1417: 
1417:    ~_Impl() throw();
1417: 
1417:     _Impl(const _Impl&);
1417: 
1417:     void
1417:     operator=(const _Impl&);
1417: 
1417:     bool
1417:     _M_check_same_name()
1417:     {
1417:       bool __ret = true;
1417:       if (_M_names[1])
1417: 
1417:  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
1417:    __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
1417:       return __ret;
1417:     }
1417: 
1417:     void
1417:     _M_replace_categories(const _Impl*, category);
1417: 
1417:     void
1417:     _M_replace_category(const _Impl*, const locale::id* const*);
1417: 
1417:     void
1417:     _M_replace_facet(const _Impl*, const locale::id*);
1417: 
1417:     void
1417:     _M_install_facet(const locale::id*, const facet*);
1417: 
1417:     template<typename _Facet>
1417:       void
1417:       _M_init_facet(_Facet* __facet)
1417:       { _M_install_facet(&_Facet::id, __facet); }
1417: 
1417:     template<typename _Facet>
1417:       void
1417:       _M_init_facet_unchecked(_Facet* __facet)
1417:       {
1417:  __facet->_M_add_reference();
1417:  _M_facets[_Facet::id._M_id()] = __facet;
1417:       }
1417: 
1417:     void
1417:     _M_install_cache(const facet*, size_t);
1417: 
1417:     void _M_init_extra(facet**);
1417:     void _M_init_extra(void*, void*, const char*, const char*);
1417: 
1417: 
1417: 
1417: 
1417:   };
1417: # 647 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:   template<typename _CharT>
1417:     class __cxx11:: collate : public locale::facet
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417: 
1417:     protected:
1417: 
1417: 
1417:       __c_locale _M_c_locale_collate;
1417: 
1417:     public:
1417: 
1417:       static locale::id id;
1417: # 674 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       explicit
1417:       collate(size_t __refs = 0)
1417:       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
1417:  _u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
1434:  {
1434:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1434:    __ptr_cmp<_Tp, _Up>{});
1434:  }
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  constexpr bool
1434:  operator()(_Tp* __t, _Up* __u) const noexcept
1434:  { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434: 
1434:     private:
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr decltype(auto)
1434:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1434:  { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
1434: 
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr bool
1434:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1434:  {
1434:    return greater<const volatile void*>{}(
1434:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1434:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1434:  }
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded2 : true_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded2<_Tp, _Up, __void_t<
1434:    decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
1434:  : false_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded<_Tp, _Up, __void_t<
1434:    decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
1434:  : false_type { };
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1434:        is_convertible<_Tp, const volatile void*>,
1434:        is_convertible<_Up, const volatile void*>>;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct less<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
1434:  {
1434:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1434:    __ptr_cmp<_Tp, _Up>{});
1434:  }
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  constexpr bool
1434:  operator()(_Tp* __t, _Up* __u) const noexcept
1434:  { return less<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434: 
1434:     private:
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr decltype(auto)
1434:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1434:  { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
1434: 
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr bool
1434:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1434:  {
1434:    return less<const volatile void*>{}(
1434:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1434:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1434:  }
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded2 : true_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded2<_Tp, _Up, __void_t<
1434:    decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
1434:  : false_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded<_Tp, _Up, __void_t<
1434:    decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
1434:  : false_type { };
1434: 
1434:       template<typename _Tp, typenamr/include/c++/12/bits/algorithmfwd.h" 3
1412: # 42 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 199 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1412:   template<typename _IIter, typename _Predicate>
1412:    
1412:     bool
1412:     all_of(_IIter, _IIter, _Predicate);
1412: 
1412:   template<typename _IIter, typename _Predicate>
1412:    
1412:     bool
1412:     any_of(_IIter, _IIter, _Predicate);
1412: 
1412: 
1412:   template<typename _FIter, typename _Tp>
1412:    
1412:     bool
1412:     binary_search(_FIter, _FIter, const _Tp&);
1412: 
1412:   template<typename _FIter, typename _Tp, typename _Compare>
1412:    
1412:     bool
1412:     binary_search(_FIter, _FIter, const _Tp&, _Compare);
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     const _Tp&
1412:     clamp(const _Tp&, const _Tp&, const _Tp&);
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     const _Tp&
1412:     clamp(const _Tp&, const _Tp&, const _Tp&, _Compare);
1412: 
1412: 
1412:   template<typename _IIter, typename _OIter>
1412:    
1412:     _OIter
1412:     copy(_IIter, _IIter, _OIter);
1412: 
1412:   template<typename _BIter1, typename _BIter2>
1412:    
1412:     _BIter2
1412:     copy_backward(_BIter1, _BIter1, _BIter2);
1412: 
1412: 
1412:   template<typename _IIter, typename _OIter, typename _Predicate>
1412:    
1412:     _OIter
1412:     copy_if(_IIter, _IIter, _OIter, _Predicate);
1412: 
1412:   template<typename _IIter, typename _Size, typename _OIter>
1412:    
1412:     _OIter
1412:     copy_n(_IIter, _Size, _OIter);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _FIter, typename _Tp>
1412:    
1412:     pair<_FIter, _FIter>
1412:     equal_range(_FIter, _FIter, const _Tp&);
1412: 
1412:   template<typename _FIter, typename _Tp, typename _Compare>
1412:    
1412:     pair<_FIter, _FIter>
1412:     equal_range(_FIter, _FIter, const _Tp&, _Compare);
1412: 
1412:   template<typename _FIter, typename _Tp>
1412:    
1412:     void
1412:     fill(_FIter, _FIter, const _Tp&);
1412: 
1412:   template<typename _OIter, typename _Size, typename _Tp>
1412:    
1412:     _OIter
1412:     fill_n(_OIter, _Size, const _Tp&);
1412: 
1412: 
1412: 
1412:   template<typename _FIter1, typename _FIter2>
1412:    
1412:     _FIter1
1412:     find_end(_FIter1, _FIter1, _FIter2, _FIter2);
1412: 
1412:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1412:    
1412:     _FIter1
1412:     find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _IIter, typename _Predicate>
1412:    
1412:     _IIter
1412:     find_if_not(_IIter, _IIter, _Predicate);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _IIter1, typename _IIter2>
1412:    
1412:     bool
1412:     includes(_IIter1, _IIter1, _IIter2, _IIter2);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _Compare>
1412:    
1412:     bool
1412:     includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1412: 
1412:   template<typename _BIter>
1412:     void
1412:     inplace_merge(_BIter, _BIter, _BIter);
1412: 
1412:   template<typename _BIter, typename _Compare>
1412:     void
1412:     inplace_merge(_BIter, _BIter, _BIter, _Compare);
1412: 
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     bool
1412:     is_heap(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     bool
1412:     is_heap(_RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     _RAIter
1412:     is_heap_until(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     _RAIter
1412:     is_heap_until(_RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _IIter, typename _Predicate>
1412:    
1412:     bool
1412:     is_partitioned(_IIter, _IIter, _Predicate);
1412: 
1412:   template<typename _FIter1, typename _FIter2>
1412e _Up>
1434:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1434:        is_convertible<_Tp, const volatile void*>,
1434:        is_convertible<_Up, const volatile void*>>;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct greater_equal<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
1434:  {
1434:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1434:    __ptr_cmp<_Tp, _Up>{});
1434:  }
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  constexpr bool
1434:  operator()(_Tp* __t, _Up* __u) const noexcept
1434:  { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434: 
1434:     private:
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr decltype(auto)
1434:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1434:  { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
1434: 
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr bool
1434:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1434:  {
1434:    return greater_equal<const volatile void*>{}(
1434:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1434:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1434:  }
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded2 : true_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded2<_Tp, _Up, __void_t<
1434:    decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
1434:  : false_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded<_Tp, _Up, __void_t<
1434:    decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
1434:  : false_type { };
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1434:        is_convertible<_Tp, const volatile void*>,
1434:        is_convertible<_Up, const volatile void*>>;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct less_equal<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
1434:  {
1434:    return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
1434:    __ptr_cmp<_Tp, _Up>{});
1434:  }
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  constexpr bool
1434:  operator()(_Tp* __t, _Up* __u) const noexcept
1434:  { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434: 
1434:     private:
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr decltype(auto)
1434:  _S_cmp(_Tp&& __t, _Up&& __u, false_type)
1434:  { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
1434: 
1434:       template <typename _Tp, typename _Up>
1434:  static constexpr bool
1434:  _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
1434:  {
1434:    return less_equal<const volatile void*>{}(
1434:        static_cast<const volatile void*>(std::forward<_Tp>(__t)),
1434:        static_cast<const volatile void*>(std::forward<_Up>(__u)));
1434:  }
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded2 : true_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded2<_Tp, _Up, __void_t<
1434:    decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
1434:  : f     { }
1417: # 688 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       explicit
1417:       collate(__c_locale __cloc, size_t __refs = 0)
1417:       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
1417:       { }
1417: # 705 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       int
1417:       compare(const _CharT* __lo1, const _CharT* __hi1,
1417:        const _CharT* __lo2, const _CharT* __hi2) const
1417:       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
1417: # 724 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       string_type
1417:       transform(const _CharT* __lo, const _CharT* __hi) const
1417:       { return this->do_transform(__lo, __hi); }
1417: # 738 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       long
1417:       hash(const _CharT* __lo, const _CharT* __hi) const
1417:       { return this->do_hash(__lo, __hi); }
1417: 
1417: 
1417:       int
1417:       _M_compare(const _CharT*, const _CharT*) const throw();
1417: 
1417:       size_t
1417:       _M_transform(_CharT*, const _CharT*, size_t) const throw();
1417: 
1417:   protected:
1417: 
1417:       virtual
1417:       ~collate()
1417:       { _S_destroy_c_locale(_M_c_locale_collate); }
1417: # 767 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       virtual int
1417:       do_compare(const _CharT* __lo1, const _CharT* __hi1,
1417:    const _CharT* __lo2, const _CharT* __hi2) const;
1417: # 781 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       virtual string_type
1417:       do_transform(const _CharT* __lo, const _CharT* __hi) const;
1417: # 794 "/usr/include/c++/12/bits/locale_classes.h" 3
1417:       virtual long
1417:       do_hash(const _CharT* __lo, const _CharT* __hi) const;
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     locale::id collate<_CharT>::id;
1417: 
1417: 
1417:   template<>
1417:     int
1417:     collate<char>::_M_compare(const char*, const char*) const throw();
1417: 
1417:   template<>
1417:     size_t
1417:     collate<char>::_M_transform(char*, const char*, size_t) const throw();
1417: 
1417: 
1417:   template<>
1417:     int
1417:     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
1417: 
1417:   template<>
1417:     size_t
1417:     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     class __cxx11:: collate_byname : public collate<_CharT>
1417:     {
1417:     public:
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417: 
1417:       explicit
1417:       collate_byname(const char* __s, size_t __refs = 0)
1417:       : collate<_CharT>(__refs)
1417:       {
1417:  if (__builtin_strcmp(__s, "C") != 0
1417:      && __builtin_strcmp(__s, "POSIX") != 0)
1417:    {
1417:      this->_S_destroy_c_locale(this->_M_c_locale_collate);
1417:      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
1417:    }
1417:       }
1417: 
1417: 
1417:       explicit
1417:       collate_byname(const string& __s, size_t __refs = 0)
1417:       : collate_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~collate_byname() { }
1417:     };
1417: 
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/locale_classes.tcc" 1 3
1417: # 37 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _Facet>
1417:     locale::
1417:     locale(const locale& __other, _Facet* __f)
1417:     {
1417:       _M_impl = new _Impl(*__other._M_impl, 1);
1417: 
1417:       try
1417:  { _M_impl->_M_install_facet(&_Facet::id, __f); }
1417:       catch(...)
1417:  {
1417:    _M_impl->_M_remove_reference();
1417:    throw;
1417:  }
1417:       delete [] _M_impl->_M_names[0];
1417:       _M_impl->_M_names[0] = 0;
1417:     }
1417: 
1417:   template<typename _Facet>
1417:     localealse_type { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up, typename = void>
1434:  struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
1434: 
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  struct __not_overloaded<_Tp, _Up, __void_t<
1434:    decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
1434:  : false_type { };
1434: 
1434:       template<typename _Tp, typename _Up>
1434:  using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
1434:        is_convertible<_Tp, const volatile void*>,
1434:        is_convertible<_Up, const volatile void*>>;
1434:     };
1434: # 781 "/usr/include/c++/12/bits/stl_function.h" 3
1434:   template<typename _Tp = void>
1434:     struct logical_and;
1434: 
1434:   template<typename _Tp = void>
1434:     struct logical_or;
1434: 
1434:   template<typename _Tp = void>
1434:     struct logical_not;
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct logical_and : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x && __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct logical_or : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x || __y; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct logical_not : public unary_function<_Tp, bool>
1434:     {
1434:       constexpr
1434:       bool
1434:       operator()(const _Tp& __x) const
1434:       { return !__x; }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct logical_and<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct logical_or<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct logical_not<void>
1434:     {
1434:       template <typename _Tp>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t) const
1434:  noexcept(noexcept(!std::forward<_Tp>(__t)))
1434:  -> decltype(!std::forward<_Tp>(__t))
1434:  { return !std::forward<_Tp>(__t); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp = void>
1434:     struct bit_and;
1434: 
1434:   template<typename _Tp = void>
1434:     struct bit_or;
1434: 
1434:   template<typename _Tp = void>
1434:     struct bit_xor;
1434: 
1434:   template<typename _Tp = void>
1434:     struct bit_not;
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct bit_and : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x & __y; }
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct bit_or : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, con:    
1412:     bool
1412:     is_permutation(_FIter1, _FIter1, _FIter2);
1412: 
1412:   template<typename _FIter1, typename _FIter2,
1412:     typename _BinaryPredicate>
1412:    
1412:     bool
1412:     is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate);
1412: 
1412:   template<typename _FIter>
1412:    
1412:     bool
1412:     is_sorted(_FIter, _FIter);
1412: 
1412:   template<typename _FIter, typename _Compare>
1412:    
1412:     bool
1412:     is_sorted(_FIter, _FIter, _Compare);
1412: 
1412:   template<typename _FIter>
1412:    
1412:     _FIter
1412:     is_sorted_until(_FIter, _FIter);
1412: 
1412:   template<typename _FIter, typename _Compare>
1412:    
1412:     _FIter
1412:     is_sorted_until(_FIter, _FIter, _Compare);
1412: 
1412: 
1412:   template<typename _FIter1, typename _FIter2>
1412:    
1412:     void
1412:     iter_swap(_FIter1, _FIter2);
1412: 
1412:   template<typename _FIter, typename _Tp>
1412:    
1412:     _FIter
1412:     lower_bound(_FIter, _FIter, const _Tp&);
1412: 
1412:   template<typename _FIter, typename _Tp, typename _Compare>
1412:    
1412:     _FIter
1412:     lower_bound(_FIter, _FIter, const _Tp&, _Compare);
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     void
1412:     make_heap(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     void
1412:     make_heap(_RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     const _Tp&
1412:     max(const _Tp&, const _Tp&);
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     const _Tp&
1412:     max(const _Tp&, const _Tp&, _Compare);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     const _Tp&
1412:     min(const _Tp&, const _Tp&);
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     const _Tp&
1412:     min(const _Tp&, const _Tp&, _Compare);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     pair<const _Tp&, const _Tp&>
1412:     minmax(const _Tp&, const _Tp&);
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     pair<const _Tp&, const _Tp&>
1412:     minmax(const _Tp&, const _Tp&, _Compare);
1412: 
1412:   template<typename _FIter>
1412:     constexpr
1412:     pair<_FIter, _FIter>
1412:     minmax_element(_FIter, _FIter);
1412: 
1412:   template<typename _FIter, typename _Compare>
1412:     constexpr
1412:     pair<_FIter, _FIter>
1412:     minmax_element(_FIter, _FIter, _Compare);
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     _Tp
1412:     min(initializer_list<_Tp>);
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     _Tp
1412:     min(initializer_list<_Tp>, _Compare);
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     _Tp
1412:     max(initializer_list<_Tp>);
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     _Tp
1412:     max(initializer_list<_Tp>, _Compare);
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     pair<_Tp, _Tp>
1412:     minmax(initializer_list<_Tp>);
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     pair<_Tp, _Tp>
1412:     minmax(initializer_list<_Tp>, _Compare);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _BIter>
1412:    
1412:     bool
1412:     next_permutation(_BIter, _BIter);
1412: 
1412:   template<typename _BIter, typename _Compare>
1412:    
1412:     bool
1412:     next_permutation(_BIter, _BIter, _Compare);
1412: 
1412: 
1412:   template<typename _IIter, typename _Predicate>
1412:    
1412:     bool
1412:     none_of(_IIter, _IIter, _Predicate);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _IIter, typename _RAIter>
1412:    
1412:     _RAIter
1412:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter);
1412: 
1412:   template<typename _IIter, typename _RAIter, typename _Compare>
1412:    
1412:     _RAIter
1412:     partial_sort_copy(_Ist _Tp& __y) const
1434:       { return __x | __y; }
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
1434:     {
1434:       constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x, const _Tp& __y) const
1434:       { return __x ^ __y; }
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct bit_not : public unary_function<_Tp, _Tp>
1434:     {
1434:     constexpr
1434:       _Tp
1434:       operator()(const _Tp& __x) const
1434:       { return ~__x; }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434:   template <>
1434:     struct bit_and<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434:   template <>
1434:     struct bit_or<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434:   template <>
1434:     struct bit_xor<void>
1434:     {
1434:       template <typename _Tp, typename _Up>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t, _Up&& __u) const
1434:  noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
1434:  -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
1434:  { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434:   template <>
1434:     struct bit_not<void>
1434:     {
1434:       template <typename _Tp>
1434:  constexpr
1434:  auto
1434:  operator()(_Tp&& __t) const
1434:  noexcept(noexcept(~std::forward<_Tp>(__t)))
1434:  -> decltype(~std::forward<_Tp>(__t))
1434:  { return ~std::forward<_Tp>(__t); }
1434: 
1434:       typedef __is_transparent is_transparent;
1434:     };
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: # 1023 "/usr/include/c++/12/bits/stl_function.h" 3
1434:   template<typename _Predicate>
1434:     class [[__deprecated__]] unary_negate
1434:     : public unary_function<typename _Predicate::argument_type, bool>
1434:     {
1434:     protected:
1434:       _Predicate _M_pred;
1434: 
1434:     public:
1434:       constexpr
1434:       explicit
1434:       unary_negate(const _Predicate& __x) : _M_pred(__x) { }
1434: 
1434:       constexpr
1434:       bool
1434:       operator()(const typename _Predicate::argument_type& __x) const
1434:       { return !_M_pred(__x); }
1434:     };
1434: 
1434: 
1434:   template<typename _Predicate>
1434:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1434:     constexpr
1434:     inline unary_negate<_Predicate>
1434:     not1(const _Predicate& __pred)
1434:     { return unary_negate<_Predicate>(__pred); }
1434: 
1434: 
1434:   template<typename _Predicate>
1434:     class [[__deprecated__]] binary_negate
1434:     : public binary_function<typename _Predicate::first_argument_type,
1434:         typename _Predicate::second_argument_type, bool>
1434:     {
1434:     protected:
1434:       _Predicate _M_pred;
1434: 
1434:     public:
1434:       constexpr
1434:       explicit
1434:       binary_negate(const _Predicate& __x) : _M_pred(__x) { }
1434: 
1434:       constexpr
1434:       bool
1434:       operator()(const typename _Predicate::first_argument_type& __x,
1434:    const typename _Predicate::second_argument_type& __y) const
1434:       { return !_M_pred(__x, __y); }
1434:     };

1417:     locale::
1417:     combine(const locale& __other) const
1417:     {
1417:       _Impl* __tmp = new _Impl(*_M_impl, 1);
1417:       try
1417:  {
1417:    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
1417:  }
1417:       catch(...)
1417:  {
1417:    __tmp->_M_remove_reference();
1417:    throw;
1417:  }
1417:       return locale(__tmp);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     bool
1417:     locale::
1417:     operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
1417:         const basic_string<_CharT, _Traits, _Alloc>& __s2) const
1417:     {
1417:       typedef std::collate<_CharT> __collate_type;
1417:       const __collate_type& __collate = use_facet<__collate_type>(*this);
1417:       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
1417:     __s2.data(), __s2.data() + __s2.length()) < 0);
1417:     }
1417: # 102 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1417:   template<typename _Facet>
1417:     bool
1417:     has_facet(const locale& __loc) throw()
1417:     {
1417:       const size_t __i = _Facet::id._M_id();
1417:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1417:       return (__i < __loc._M_impl->_M_facets_size
1417: 
1417:        && dynamic_cast<const _Facet*>(__facets[__i]));
1417: 
1417: 
1417: 
1417:     }
1417: # 130 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1417:   template<typename _Facet>
1417:     const _Facet&
1417:     use_facet(const locale& __loc)
1417:     {
1417:       const size_t __i = _Facet::id._M_id();
1417:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1417:       if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
1417:         __throw_bad_cast();
1417: 
1417:       return dynamic_cast<const _Facet&>(*__facets[__i]);
1417: 
1417: 
1417: 
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     int
1417:     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
1417:     { return 0; }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     size_t
1417:     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
1417:     { return 0; }
1417: 
1417:   template<typename _CharT>
1417:     int
1417:     collate<_CharT>::
1417:     do_compare(const _CharT* __lo1, const _CharT* __hi1,
1417:         const _CharT* __lo2, const _CharT* __hi2) const
1417:     {
1417: 
1417: 
1417:       const string_type __one(__lo1, __hi1);
1417:       const string_type __two(__lo2, __hi2);
1417: 
1417:       const _CharT* __p = __one.c_str();
1417:       const _CharT* __pend = __one.data() + __one.length();
1417:       const _CharT* __q = __two.c_str();
1417:       const _CharT* __qend = __two.data() + __two.length();
1417: 
1417: 
1417: 
1417: 
1417:       for (;;)
1417:  {
1417:    const int __res = _M_compare(__p, __q);
1417:    if (__res)
1417:      return __res;
1417: 
1417:    __p += char_traits<_CharT>::length(__p);
1417:    __q += char_traits<_CharT>::length(__q);
1417:    if (__p == __pend && __q == __qend)
1417:      return 0;
1417:    else if (__p == __pend)
1417:      return -1;
1417:    else if (__q == __qend)
1417:      return 1;
1417: 
1417:    __p++;
1417:    __q++;
1417:  }
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     typename collate<_CharT>::string_type
1417:     collate<_CharT>::
1417:     do_transform(const _CharT* __lo, const _CharT* __hi) const
1417:     {
1417:       string_type __ret;
1417: 
1417: 
1417:       const string_type __str(__lo, __hi);
1417: 
1417:       const _CharT* __p = __str.c_str();
1417:       const _CharT* __pend = __str.data() + __str.length();
1417: 
1417:       size_t __len = (__hi - __lo) * 2;
1417: 
1417:       _CharT* __c = new _CharT[__len];
1417: 
1417:       try
1417:  {
1417: 
1417: 
1417: 
1417:    for (;;)
1417:      {
1417: 
1417:        size_t __res = _M_transform(__c, __p, __len);
1417: 
1417: 
1417:        if (__res >= __len)
1417:   {
1417:     __len = __res + 1;
1417:     delete [] __c, __c = 0;
1417:     __c = new 1434: 
1434: 
1434:   template<typename _Predicate>
1434:     __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
1434:     constexpr
1434:     inline binary_negate<_Predicate>
1434:     not2(const _Predicate& __pred)
1434:     { return binary_negate<_Predicate>(__pred); }
1434: # 1104 "/usr/include/c++/12/bits/stl_function.h" 3
1434:   template<typename _Arg, typename _Result>
1434:     class pointer_to_unary_function : public unary_function<_Arg, _Result>
1434:     {
1434:     protected:
1434:       _Result (*_M_ptr)(_Arg);
1434: 
1434:     public:
1434:       pointer_to_unary_function() { }
1434: 
1434:       explicit
1434:       pointer_to_unary_function(_Result (*__x)(_Arg))
1434:       : _M_ptr(__x) { }
1434: 
1434:       _Result
1434:       operator()(_Arg __x) const
1434:       { return _M_ptr(__x); }
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Arg, typename _Result>
1434:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1434:     inline pointer_to_unary_function<_Arg, _Result>
1434:     ptr_fun(_Result (*__x)(_Arg))
1434:     { return pointer_to_unary_function<_Arg, _Result>(__x); }
1434: 
1434: 
1434:   template<typename _Arg1, typename _Arg2, typename _Result>
1434:     class pointer_to_binary_function
1434:     : public binary_function<_Arg1, _Arg2, _Result>
1434:     {
1434:     protected:
1434:       _Result (*_M_ptr)(_Arg1, _Arg2);
1434: 
1434:     public:
1434:       pointer_to_binary_function() { }
1434: 
1434:       explicit
1434:       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
1434:       : _M_ptr(__x) { }
1434: 
1434:       _Result
1434:       operator()(_Arg1 __x, _Arg2 __y) const
1434:       { return _M_ptr(__x, __y); }
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Arg1, typename _Arg2, typename _Result>
1434:     __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
1434:     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
1434:     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
1434:     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _Identity
1434:     : public unary_function<_Tp, _Tp>
1434:     {
1434:       _Tp&
1434:       operator()(_Tp& __x) const
1434:       { return __x; }
1434: 
1434:       const _Tp&
1434:       operator()(const _Tp& __x) const
1434:       { return __x; }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
1434: 
1434:   template<typename _Pair>
1434:     struct _Select1st
1434:     : public unary_function<_Pair, typename _Pair::first_type>
1434:     {
1434:       typename _Pair::first_type&
1434:       operator()(_Pair& __x) const
1434:       { return __x.first; }
1434: 
1434:       const typename _Pair::first_type&
1434:       operator()(const _Pair& __x) const
1434:       { return __x.first; }
1434: 
1434: 
1434:       template<typename _Pair2>
1434:         typename _Pair2::first_type&
1434:         operator()(_Pair2& __x) const
1434:         { return __x.first; }
1434: 
1434:       template<typename _Pair2>
1434:         const typename _Pair2::first_type&
1434:         operator()(const _Pair2& __x) const
1434:         { return __x.first; }
1434: 
1434:     };
1434: 
1434:   template<typename _Pair>
1434:     struct _Select2nd
1434:     : public unary_function<_Pair, typename _Pair::second_type>
1434:     {
1434:       typename _Pair::second_type&
1434:       operator()(_Pair& __x) const
1434:       { return __x.second; }
1434: 
1434:       const typename _Pair::second_type&
1434:       operator()(const _Pair& __x) const
1434:       { return __x.second; }
1434:     };
1434: # 1231 "/usr/include/c++/12/bits/stl_function.h" 3
1434:   template<typename _Ret, typename _Tp>
1434:     class mem_fun_t : public unary_function<_Tp*, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       mem_fun_t(_Ret (_Tp::*__pf)())
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1Iter, _IIter, _RAIter, _RAIter, _Compare);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _IIter, typename _OIter1,
1412:     typename _OIter2, typename _Predicate>
1412:    
1412:     pair<_OIter1, _OIter2>
1412:     partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate);
1412: 
1412:   template<typename _FIter, typename _Predicate>
1412:    
1412:     _FIter
1412:     partition_point(_FIter, _FIter, _Predicate);
1412: 
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     void
1412:     pop_heap(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     void
1412:     pop_heap(_RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _BIter>
1412:    
1412:     bool
1412:     prev_permutation(_BIter, _BIter);
1412: 
1412:   template<typename _BIter, typename _Compare>
1412:    
1412:     bool
1412:     prev_permutation(_BIter, _BIter, _Compare);
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     void
1412:     push_heap(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     void
1412:     push_heap(_RAIter, _RAIter, _Compare);
1412: 
1412: 
1412: 
1412:   template<typename _FIter, typename _Tp>
1412:    
1412:     _FIter
1412:     remove(_FIter, _FIter, const _Tp&);
1412: 
1412:   template<typename _FIter, typename _Predicate>
1412:    
1412:     _FIter
1412:     remove_if(_FIter, _FIter, _Predicate);
1412: 
1412:   template<typename _IIter, typename _OIter, typename _Tp>
1412:    
1412:     _OIter
1412:     remove_copy(_IIter, _IIter, _OIter, const _Tp&);
1412: 
1412:   template<typename _IIter, typename _OIter, typename _Predicate>
1412:    
1412:     _OIter
1412:     remove_copy_if(_IIter, _IIter, _OIter, _Predicate);
1412: 
1412: 
1412: 
1412:   template<typename _IIter, typename _OIter, typename _Tp>
1412:    
1412:     _OIter
1412:     replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&);
1412: 
1412:   template<typename _Iter, typename _OIter, typename _Predicate, typename _Tp>
1412:    
1412:     _OIter
1412:     replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&);
1412: 
1412: 
1412: 
1412:   template<typename _BIter>
1412:    
1412:     void
1412:     reverse(_BIter, _BIter);
1412: 
1412:   template<typename _BIter, typename _OIter>
1412:    
1412:     _OIter
1412:     reverse_copy(_BIter, _BIter, _OIter);
1412: 
1412:   inline namespace _V2
1412:   {
1412:     template<typename _FIter>
1412:      
1412:       _FIter
1412:       rotate(_FIter, _FIter, _FIter);
1412:   }
1412: 
1412:   template<typename _FIter, typename _OIter>
1412:    
1412:     _OIter
1412:     rotate_copy(_FIter, _FIter, _FIter, _OIter);
1412: # 625 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1412:   template<typename _RAIter, typename _UGenerator>
1412:     void
1412:     shuffle(_RAIter, _RAIter, _UGenerator&&);
1412: 
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     void
1412:     sort_heap(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     void
1412:     sort_heap(_RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _BIter, typename _Predicate>
1412:     _BIter
1412:     stable_partition(_BIter, _BIter, _Predicate);
1412: # 658 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1412:   template<typename _FIter1, typename _FIter2>
1412:    
1412:     _FIter2
1412:     swap_ranges(_FIter1, _FIter1, _FIter2);
1412: 
1412: 
1412: 
1412:   template<typename _FIter>
1412:    
1412:     _FIter
1412:     unique(_FIter, _FIter);
1412: 
1412:   template<typename _FIter, typename _BinaryPredicate>
1412:    
1412:     _FIter
1412:     unique(_FIter, _FIter, _BinaryPredicate);
1412: 
1412: 
1412: 
1412:   template<typename _FIter, typename _Tp>
1412:    
1412:     _FIter
1412:     upper_bound(_FIter, _FIter, const _Tp&);
1412: 
1412:   template<typename _FIter, typename _Tp, typename _Compare>
1412:    
1412:     _FIter
1412:     upper_bound(_FIter, _FIter, const _Tp&, _Compare);
1412: 
1412: 
1412: 
1412:   template<typename _FIter>
1412:    
1412434:       operator()(_Tp* __p) const
1434:       { return (__p->*_M_f)(); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)();
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp>
1434:     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1434:       operator()(const _Tp* __p) const
1434:       { return (__p->*_M_f)(); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)() const;
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp>
1434:     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       mem_fun_ref_t(_Ret (_Tp::*__pf)())
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1434:       operator()(_Tp& __r) const
1434:       { return (__r.*_M_f)(); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)();
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp>
1434:     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1434:       operator()(const _Tp& __r) const
1434:       { return (__r.*_M_f)(); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)() const;
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1434:       operator()(_Tp* __p, _Arg __x) const
1434:       { return (__p->*_M_f)(__x); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)(_Arg);
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1434:       operator()(const _Tp* __p, _Arg __x) const
1434:       { return (__p->*_M_f)(__x); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)(_Arg) const;
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1434:       operator()(_Tp& __r, _Arg __x) const
1434:       { return (__r.*_M_f)(__x); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)(_Arg);
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
1434:     {
1434:     public:
1434:       explicit
1434:       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
1434:       : _M_f(__pf) { }
1434: 
1434:       _Ret
1434:       operator()(const _Tp& __r, _Arg __x) const
1434:       { return (__r.*_M_f)(__x); }
1434: 
1434:     private:
1434:       _Ret (_Tp::*_M_f)(_Arg) const;
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434: 
1434:   template<typename _Ret, typename _Tp>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     inline mem_fun_t<_Ret, _Tp>
1434:     mem_fun(_Ret (_Tp::*__f)())
1434:     { return mem_fun_t<_Ret, _Tp>(__f); }
1434: 
1434:   template<typename _Ret, typename _Tp>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     in_CharT[__len];
1417:     __res = _M_transform(__c, __p, __len);
1417:   }
1417: 
1417:        __ret.append(__c, __res);
1417:        __p += char_traits<_CharT>::length(__p);
1417:        if (__p == __pend)
1417:   break;
1417: 
1417:        __p++;
1417:        __ret.push_back(_CharT());
1417:      }
1417:  }
1417:       catch(...)
1417:  {
1417:    delete [] __c;
1417:    throw;
1417:  }
1417: 
1417:       delete [] __c;
1417: 
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     long
1417:     collate<_CharT>::
1417:     do_hash(const _CharT* __lo, const _CharT* __hi) const
1417:     {
1417:       unsigned long __val = 0;
1417:       for (; __lo < __hi; ++__lo)
1417:  __val =
1417:    *__lo + ((__val << 7)
1417:      | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
1417:     __digits - 7)));
1417:       return static_cast<long>(__val);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   extern template class collate<char>;
1417:   extern template class collate_byname<char>;
1417: 
1417:   extern template
1417:     const collate<char>&
1417:     use_facet<collate<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<collate<char> >(const locale&);
1417: 
1417: 
1417:   extern template class collate<wchar_t>;
1417:   extern template class collate_byname<wchar_t>;
1417: 
1417:   extern template
1417:     const collate<wchar_t>&
1417:     use_facet<collate<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<collate<wchar_t> >(const locale&);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 858 "/usr/include/c++/12/bits/locale_classes.h" 2 3
1417: # 42 "/usr/include/c++/12/bits/ios_base.h" 2 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   enum _Ios_Fmtflags
1417:     {
1417:       _S_boolalpha = 1L << 0,
1417:       _S_dec = 1L << 1,
1417:       _S_fixed = 1L << 2,
1417:       _S_hex = 1L << 3,
1417:       _S_internal = 1L << 4,
1417:       _S_left = 1L << 5,
1417:       _S_oct = 1L << 6,
1417:       _S_right = 1L << 7,
1417:       _S_scientific = 1L << 8,
1417:       _S_showbase = 1L << 9,
1417:       _S_showpoint = 1L << 10,
1417:       _S_showpos = 1L << 11,
1417:       _S_skipws = 1L << 12,
1417:       _S_unitbuf = 1L << 13,
1417:       _S_uppercase = 1L << 14,
1417:       _S_adjustfield = _S_left | _S_right | _S_internal,
1417:       _S_basefield = _S_dec | _S_oct | _S_hex,
1417:       _S_floatfield = _S_scientific | _S_fixed,
1417:       _S_ios_fmtflags_end = 1L << 16,
1417:       _S_ios_fmtflags_max = 0x7fffffff,
1417:       _S_ios_fmtflags_min = ~0x7fffffff
1417:     };
1417: 
1417:   inline constexpr _Ios_Fmtflags
1417:   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1417:   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Fmtflags
1417:   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1417:   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Fmtflags
1417:   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1417:   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Fmtflags
1417:   operator~(_Ios_Fmtflags __a)
1417:   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
1417: 
1417:   inline const _Ios_Fmtflags&
1417:   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1417:   { return __a = __a | __b; }
1417: 
1417:   inline const _Ios_Fmtflags&
1417:   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1417:   { return __a = __a & __b; }
1417: 
1417:   inline const _Ios_Fmtflags&
1417:   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1417:   { return __a = __a ^ __b; }
1417: 
1417: 
1417:   enum _Ios_Openmode
1417:     {
1417:       _S_app = 1L << 0,
1417:       _S_ate = 1L << 1,
1417:       _S_bin = 1L << 2,
1417:       _S_in = 1L << 3,
1417:       _S_out = 1L << 4,
1417:       _S_trunc = 1L << 5,
141line const_mem_fun_t<_Ret, _Tp>
1434:     mem_fun(_Ret (_Tp::*__f)() const)
1434:     { return const_mem_fun_t<_Ret, _Tp>(__f); }
1434: 
1434:   template<typename _Ret, typename _Tp>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     inline mem_fun_ref_t<_Ret, _Tp>
1434:     mem_fun_ref(_Ret (_Tp::*__f)())
1434:     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
1434: 
1434:   template<typename _Ret, typename _Tp>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     inline const_mem_fun_ref_t<_Ret, _Tp>
1434:     mem_fun_ref(_Ret (_Tp::*__f)() const)
1434:     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     inline mem_fun1_t<_Ret, _Tp, _Arg>
1434:     mem_fun(_Ret (_Tp::*__f)(_Arg))
1434:     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
1434:     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
1434:     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
1434:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
1434:     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1434: 
1434:   template<typename _Ret, typename _Tp, typename _Arg>
1434:     __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
1434:     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
1434:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
1434:     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Func, typename _SfinaeType, typename = __void_t<>>
1434:     struct __has_is_transparent
1434:     { };
1434: 
1434:   template<typename _Func, typename _SfinaeType>
1434:     struct __has_is_transparent<_Func, _SfinaeType,
1434:     __void_t<typename _Func::is_transparent>>
1434:     { typedef void type; };
1434: 
1434:   template<typename _Func, typename _SfinaeType>
1434:     using __has_is_transparent_t
1434:       = typename __has_is_transparent<_Func, _SfinaeType>::type;
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/backward/binders.h" 1 3
1434: # 60 "/usr/include/c++/12/backward/binders.h" 3
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 107 "/usr/include/c++/12/backward/binders.h" 3
1434:   template<typename _Operation>
1434:     class binder1st
1434:     : public unary_function<typename _Operation::second_argument_type,
1434:        typename _Operation::result_type>
1434:     {
1434:     protected:
1434:       _Operation op;
1434:       typename _Operation::first_argument_type value;
1434: 
1434:     public:
1434:       binder1st(const _Operation& __x,
1434:   const typename _Operation::first_argument_type& __y)
1434:       : op(__x), value(__y) { }
1434: 
1434:       typename _Operation::result_type
1434:       operator()(const typename _Operation::second_argument_type& __x) const
1434:       { return op(value, __x); }
1434: 
1434: 
1434: 
1434:       typename _Operation::result_type
1434:       operator()(typename _Operation::second_argument_type& __x) const
1434:       { return op(value, __x); }
1434:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1434: 
1434: 
1434:   template<typename _Operation, typename _Tp>
1434:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1434:     inline binder1st<_Operation>
1434:     bind1st(const _Operation& __fn, const _Tp& __x)
1434:     {
1434:       typedef typename _Operation::first_argument_type _Arg1_type;
1434:       return binder1st<_Operation>(__fn, _Arg1_type(__x));
1434:     }
1434: 
1434: 
1434:   template<typename _Operation>
1434:     class binder2nd
1434:     : public unary_function<typename _Operation::first_argument_type,
1434:        typename _Operation::result_type>
1434:     {
1434:     protected:
1434:       _Operation op;
1434:       typename _Operation::second_argument_type value;
1434: 
1434:     public:
1434:       binder2nd(const _Operation& __x,
1434:   const typename _Operation::second_argument_type& __y)
1434:       : op(__x), value(__y) { }
1434: 
1434:       typename _Operation::result_type
1434:       operator()(const typename _Operation::first_argument_type& __x) const
1434:       { return op(__x, value); }
1434: 
1434: 
1434: 
1434:       typename _Operation::result_type
1434:       operator()(typename _Operation::first_argument_type& __x) const
1434:       { return op(__x, value); }
1434:     } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
1434: 
1434: 
1434:   template<typename _Operation, typename _Tp>
1434:     __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
1434:     inline binder2nd<_Operation>
1434:     bind2nd(const _Operation& __fn, const _Tp& __x)
1434:     {
1434:       typedef typename _Operation::second_argument_type _Arg2_type;
1434:       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: 
1434: #pragma GCC diagnostic pop
1434: # 1439 "/usr/include/c++/12/bits/stl_function.h" 2 3
1434: # 38 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/functional_hash.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/functional_hash.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/functional_hash.h" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/hash_bytes.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/hash_bytes.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/hash_bytes.h" 3
1434: 
1434: 
1434: 
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   size_t
1434:   _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   size_t
1434:   _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
1434: 
1434: 
1434: }
1434: # 37 "/usr/include/c++/12/bits/functional_hash.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 50 "/usr/include/c++/12/bits/functional_hash.h" 3
1434:   template<typename _Result, typename _Arg>
1434:     struct __hash_base
1434:     {
1434:       typedef _Result result_type [[__deprecated__]];
1434:       typedef _Arg argument_type [[__deprecated__]];
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct hash;
1434: 
1434:   template<typename _Tp, typename = void>
1434:     struct __poison_hash
1434:     {
1434:       static constexpr bool __enable_hash_call = false;
1434:     private:
1434: 
1434:       __poison_hash(__poison_hash&&);
1434:       ~__poison_hash();
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct __poison_hash<_Tp, __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
1434:     {
1434:       static constexpr bool __enable_hash_call = true;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, bool = is_enum<_Tp>::value>
1434:     struct __hash_enum
1434:     {
1434:     private:
1434: 
1434:       __hash_enum(__hash_enum&&);
1434:       ~__hash_enum();
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp>
1434:     {
1434:       size_t
1434:       operator()(_Tp __val) const noexcept
1434:       {
1434:        using __type = typename underlying_type<_Tp>::type;
1434:        return hash<__type>{}(static_cast<__type>(__val));
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct hash : __hash_enum<_Tp>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
1434:     {
14:     _FIter
1412:     adjacent_find(_FIter, _FIter);
1412: 
1412:   template<typename _FIter, typename _BinaryPredicate>
1412:    
1412:     _FIter
1412:     adjacent_find(_FIter, _FIter, _BinaryPredicate);
1412: 
1412:   template<typename _IIter, typename _Tp>
1412:    
1412:     typename iterator_traits<_IIter>::difference_type
1412:     count(_IIter, _IIter, const _Tp&);
1412: 
1412:   template<typename _IIter, typename _Predicate>
1412:    
1412:     typename iterator_traits<_IIter>::difference_type
1412:     count_if(_IIter, _IIter, _Predicate);
1412: 
1412:   template<typename _IIter1, typename _IIter2>
1412:    
1412:     bool
1412:     equal(_IIter1, _IIter1, _IIter2);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1412:    
1412:     bool
1412:     equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1412: 
1412:   template<typename _IIter, typename _Tp>
1412:    
1412:     _IIter
1412:     find(_IIter, _IIter, const _Tp&);
1412: 
1412:   template<typename _FIter1, typename _FIter2>
1412:    
1412:     _FIter1
1412:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2);
1412: 
1412:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1412:    
1412:     _FIter1
1412:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1412: 
1412:   template<typename _IIter, typename _Predicate>
1412:    
1412:     _IIter
1412:     find_if(_IIter, _IIter, _Predicate);
1412: 
1412:   template<typename _IIter, typename _Funct>
1412:    
1412:     _Funct
1412:     for_each(_IIter, _IIter, _Funct);
1412: 
1412:   template<typename _FIter, typename _Generator>
1412:    
1412:     void
1412:     generate(_FIter, _FIter, _Generator);
1412: 
1412:   template<typename _OIter, typename _Size, typename _Generator>
1412:    
1412:     _OIter
1412:     generate_n(_OIter, _Size, _Generator);
1412: 
1412:   template<typename _IIter1, typename _IIter2>
1412:    
1412:     bool
1412:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _Compare>
1412:    
1412:     bool
1412:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1412: 
1412:   template<typename _FIter>
1412:     constexpr
1412:     _FIter
1412:     max_element(_FIter, _FIter);
1412: 
1412:   template<typename _FIter, typename _Compare>
1412:     constexpr
1412:     _FIter
1412:     max_element(_FIter, _FIter, _Compare);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter>
1412:    
1412:     _OIter
1412:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter,
1412:     typename _Compare>
1412:    
1412:     _OIter
1412:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1412: 
1412:   template<typename _FIter>
1412:     constexpr
1412:     _FIter
1412:     min_element(_FIter, _FIter);
1412: 
1412:   template<typename _FIter, typename _Compare>
1412:     constexpr
1412:     _FIter
1412:     min_element(_FIter, _FIter, _Compare);
1412: 
1412:   template<typename _IIter1, typename _IIter2>
1412:    
1412:     pair<_IIter1, _IIter2>
1412:     mismatch(_IIter1, _IIter1, _IIter2);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1412:    
1412:     pair<_IIter1, _IIter2>
1412:     mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     void
1412:     nth_element(_RAIter, _RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     void
1412:     nth_element(_RAIter, _RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     void
1412:     partial_sort(_RAIter, _RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     void
1412:     partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _BIter, typename _Predicate>
1412:    
1412:     _BIter
1412:     part7:       _S_noreplace = 1L << 6,
1417:       _S_ios_openmode_end = 1L << 16,
1417:       _S_ios_openmode_max = 0x7fffffff,
1417:       _S_ios_openmode_min = ~0x7fffffff
1417:     };
1417: 
1417:   inline constexpr _Ios_Openmode
1417:   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
1417:   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Openmode
1417:   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
1417:   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Openmode
1417:   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
1417:   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Openmode
1417:   operator~(_Ios_Openmode __a)
1417:   { return _Ios_Openmode(~static_cast<int>(__a)); }
1417: 
1417:   inline const _Ios_Openmode&
1417:   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
1417:   { return __a = __a | __b; }
1417: 
1417:   inline const _Ios_Openmode&
1417:   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
1417:   { return __a = __a & __b; }
1417: 
1417:   inline const _Ios_Openmode&
1417:   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
1417:   { return __a = __a ^ __b; }
1417: 
1417: 
1417:   enum _Ios_Iostate
1417:     {
1417:       _S_goodbit = 0,
1417:       _S_badbit = 1L << 0,
1417:       _S_eofbit = 1L << 1,
1417:       _S_failbit = 1L << 2,
1417:       _S_ios_iostate_end = 1L << 16,
1417:       _S_ios_iostate_max = 0x7fffffff,
1417:       _S_ios_iostate_min = ~0x7fffffff
1417:     };
1417: 
1417:   inline constexpr _Ios_Iostate
1417:   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
1417:   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Iostate
1417:   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
1417:   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Iostate
1417:   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
1417:   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1417: 
1417:   inline constexpr _Ios_Iostate
1417:   operator~(_Ios_Iostate __a)
1417:   { return _Ios_Iostate(~static_cast<int>(__a)); }
1417: 
1417:   inline const _Ios_Iostate&
1417:   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
1417:   { return __a = __a | __b; }
1417: 
1417:   inline const _Ios_Iostate&
1417:   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
1417:   { return __a = __a & __b; }
1417: 
1417:   inline const _Ios_Iostate&
1417:   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
1417:   { return __a = __a ^ __b; }
1417: 
1417: 
1417:   enum _Ios_Seekdir
1417:     {
1417:       _S_beg = 0,
1417:       _S_cur = 1,
1417:       _S_end = 2,
1417:       _S_ios_seekdir_end = 1L << 16
1417:     };
1417: 
1417: 
1417: 
1417:   enum class io_errc { stream = 1 };
1417: 
1417:   template <> struct is_error_code_enum<io_errc> : public true_type { };
1417: 
1417:   const error_category& iostream_category() noexcept;
1417: 
1417:   inline error_code
1417:   make_error_code(io_errc __e) noexcept
1417:   { return error_code(static_cast<int>(__e), iostream_category()); }
1417: 
1417:   inline error_condition
1417:   make_error_condition(io_errc __e) noexcept
1417:   { return error_condition(static_cast<int>(__e), iostream_category()); }
1417: # 229 "/usr/include/c++/12/bits/ios_base.h" 3
1417:   class ios_base
1417:   {
1417: # 247 "/usr/include/c++/12/bits/ios_base.h" 3
1417:   public:
1417: # 256 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
1417:     {
1417:     public:
1417:       explicit
1417:       failure(const string& __str);
1417: 
1417: 
1417:       explicit
1417:       failure(const string&, const error_code&);
1417: 
1417:       explicit
1417:       failure(const char*, const error_code& = io_errc::stream);
1417: 
1417: 
1417:       virtual
1417:       ~failure() throw();
1417: 
1417:       virtual const char*
1417:       wha34:       size_t
1434:       operator()(_Tp* __p) const noexcept
1434:       { return reinterpret_cast<size_t>(__p); }
1434:     };
1434: # 125 "/usr/include/c++/12/bits/functional_hash.h" 3
1434:   template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
1434: 
1434: 
1434:   template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
1434: # 201 "/usr/include/c++/12/bits/functional_hash.h" 3
1434:   struct _Hash_impl
1434:   {
1434:     static size_t
1434:     hash(const void* __ptr, size_t __clength,
1434:   size_t __seed = static_cast<size_t>(0xc70f6907UL))
1434:     { return _Hash_bytes(__ptr, __clength, __seed); }
1434: 
1434:     template<typename _Tp>
1434:       static size_t
1434:       hash(const _Tp& __val)
1434:       { return hash(&__val, sizeof(__val)); }
1434: 
1434:     template<typename _Tp>
1434:       static size_t
1434:       __hash_combine(const _Tp& __val, size_t __hash)
1434:       { return hash(&__val, sizeof(__val), __hash); }
1434:   };
1434: 
1434: 
1434:   struct _Fnv_hash_impl
1434:   {
1434:     static size_t
1434:     hash(const void* __ptr, size_t __clength,
1434:   size_t __seed = static_cast<size_t>(2166136261UL))
1434:     { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
1434: 
1434:     template<typename _Tp>
1434:       static size_t
1434:       hash(const _Tp& __val)
1434:       { return hash(&__val, sizeof(__valition(_BIter, _BIter, _Predicate);
1412: 
1412:   template<typename _RAIter>
1412:     void
1412:     random_shuffle(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Generator>
1412:     void
1412:     random_shuffle(_RAIter, _RAIter,
1412: 
1412:      _Generator&&);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _FIter, typename _Tp>
1412:    
1412:     void
1412:     replace(_FIter, _FIter, const _Tp&, const _Tp&);
1412: 
1412:   template<typename _FIter, typename _Predicate, typename _Tp>
1412:    
1412:     void
1412:     replace_if(_FIter, _FIter, _Predicate, const _Tp&);
1412: 
1412:   template<typename _FIter1, typename _FIter2>
1412:    
1412:     _FIter1
1412:     search(_FIter1, _FIter1, _FIter2, _FIter2);
1412: 
1412:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1412:    
1412:     _FIter1
1412:     search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1412: 
1412:   template<typename _FIter, typename _Size, typename _Tp>
1412:    
1412:     _FIter
1412:     search_n(_FIter, _FIter, _Size, const _Tp&);
1412: 
1412:   template<typename _FIter, typename _Size, typename _Tp,
1412:     typename _BinaryPredicate>
1412:    
1412:     _FIter
1412:     search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter>
1412:    
1412:     _OIter
1412:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter,
1412:     typename _Compare>
1412:    
1412:     _OIter
1412:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter>
1412:    
1412:     _OIter
1412:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter,
1412:     typename _Compare>
1412:    
1412:     _OIter
1412:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter>
1412:    
1412:     _OIter
1412:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter,
1412:     typename _Compare>
1412:    
1412:     _OIter
1412:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2,
1412:         _OIter, _Compare);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter>
1412:    
1412:     _OIter
1412:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter,
1412:     typename _Compare>
1412:    
1412:     _OIter
1412:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1412: 
1412:   template<typename _RAIter>
1412:    
1412:     void
1412:     sort(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:    
1412:     void
1412:     sort(_RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _RAIter>
1412:     void
1412:     stable_sort(_RAIter, _RAIter);
1412: 
1412:   template<typename _RAIter, typename _Compare>
1412:     void
1412:     stable_sort(_RAIter, _RAIter, _Compare);
1412: 
1412:   template<typename _IIter, typename _OIter, typename _UnaryOperation>
1412:    
1412:     _OIter
1412:     transform(_IIter, _IIter, _OIter, _UnaryOperation);
1412: 
1412:   template<typename _IIter1, typename _IIter2, typename _OIter,
1412:     typename _BinaryOperation>
1412:    
1412:     _OIter
1412:     transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation);
1412: 
1412:   template<typename _IIter, typename _OIter>
1412:    
1412:     _OIter
1412:     unique_copy(_IIter, _IIter, _OIter);
1412: 
1412:   template<typename _IIter, typename _OIter, typename _BinaryPredicate>
1412:    
1412:     _OIter
1412:     unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
1412: 
1412: 
1412: 
1412: }
1412: # 60 "/usr/include/c++/12/bit)); }
1434: 
1434:     template<typename _Tp>
1434:       static size_t
1434:       __hash_combine(const _Tp& __val, size_t __hash)
1434:       { return hash(&__val, sizeof(__val), __hash); }
1434:   };
1434: 
1434: 
1434:   template<>
1434:     struct hash<float> : public __hash_base<size_t, float>
1434:     {
1434:       size_t
1434:       operator()(float __val) const noexcept
1434:       {
1434: 
1434:  return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct hash<double> : public __hash_base<size_t, double>
1434:     {
1434:       size_t
1434:       operator()(double __val) const noexcept
1434:       {
1434: 
1434:  return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct hash<long double>
1434:     : public __hash_base<size_t, long double>
1434:     {
1434:       __attribute__ ((__pure__)) size_t
1434:       operator()(long double __val) const noexcept;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
1434:     {
1434:       size_t
1434:       operator()(nullptr_t) const noexcept
1434:       { return 0; }
1434:     };
1434: # 287 "/usr/include/c++/12/bits/functional_hash.h" 3
1434:   template<typename _Hash>
1434:     struct __is_fast_hash : public std::true_type
1434:     { };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<long double>> : public std::false_type
1434:     { };
1434: 
1434: 
1434: }
1434: # 39 "/usr/include/c++/12/bits/unique_ptr.h" 2 3
1434: # 52 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:   template<typename> class auto_ptr;
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct default_delete
1434:     {
1434: 
1434:       constexpr default_delete() noexcept = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Up,
1434:         typename = _Require<is_convertible<_Up*, _Tp*>>>
1434: 
1434:         default_delete(const default_delete<_Up>&) noexcept { }
1434: 
1434: 
1434:      
1434:       void
1434:       operator()(_Tp* __ptr) const
1434:       {
1434:  static_assert(!is_void<_Tp>::value,
1434:         "can't delete pointer to incomplete type");
1434:  static_assert(sizeof(_Tp)>0,
1434:         "can't delete pointer to incomplete type");
1434:  delete __ptr;
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct default_delete<_Tp[]>
1434:     {
1434:     public:
1434: 
1434:       constexpr default_delete() noexcept = default;
1434: # 119 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Up,
1434:         typename = _Require<is_convertible<_Up(*)[], _Tp(*)[]>>>
1434: 
1434:         default_delete(const default_delete<_Up[]>&) noexcept { }
1434: 
1434: 
1434:       template<typename _Up>
1434: 
1434:  typename enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type
1434:  operator()(_Up* __ptr) const
1434:  {
1434:    static_assert(sizeof(_Tp)>0,
1434:    "can't delete pointer to incomplete type");
1434:    delete [] __ptr;
1434:  }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename _Dp>
1434:     class __uniq_ptr_impl
1434:     {
1434:       template <typename _Up, typename _Ep, typename = void>
1434:  struct _Ptr
1434:  {
1434:    using type = _Up*;
1434:  };
1434: 
1434:       template <typename _Up, typename _Ep>
1434:  struct
1434:  _Ptr<_Up, _Ep, __void_t<typename remove_reference<_Ep>::type::pointer>>
1434:  {
1434:    using type = typename remove_reference<_Ep>::type::pointer;
1434:  };
1434: 
1434:     public:
1434:       using _DeleterConstraint = enable_if<
1434:         __and_<__not_<is_pointer<_Dp>>,
1434:         is_default_cot() const throw();
1417:     };
1417: # 342 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     typedef _Ios_Fmtflags fmtflags;
1417: 
1417: 
1417:     static const fmtflags boolalpha = _S_boolalpha;
1417: 
1417: 
1417:     static const fmtflags dec = _S_dec;
1417: 
1417: 
1417:     static const fmtflags fixed = _S_fixed;
1417: 
1417: 
1417:     static const fmtflags hex = _S_hex;
1417: 
1417: 
1417: 
1417: 
1417:     static const fmtflags internal = _S_internal;
1417: 
1417: 
1417: 
1417:     static const fmtflags left = _S_left;
1417: 
1417: 
1417:     static const fmtflags oct = _S_oct;
1417: 
1417: 
1417: 
1417:     static const fmtflags right = _S_right;
1417: 
1417: 
1417:     static const fmtflags scientific = _S_scientific;
1417: 
1417: 
1417: 
1417:     static const fmtflags showbase = _S_showbase;
1417: 
1417: 
1417: 
1417:     static const fmtflags showpoint = _S_showpoint;
1417: 
1417: 
1417:     static const fmtflags showpos = _S_showpos;
1417: 
1417: 
1417:     static const fmtflags skipws = _S_skipws;
1417: 
1417: 
1417:     static const fmtflags unitbuf = _S_unitbuf;
1417: 
1417: 
1417: 
1417:     static const fmtflags uppercase = _S_uppercase;
1417: 
1417: 
1417:     static const fmtflags adjustfield = _S_adjustfield;
1417: 
1417: 
1417:     static const fmtflags basefield = _S_basefield;
1417: 
1417: 
1417:     static const fmtflags floatfield = _S_floatfield;
1417: # 417 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     typedef _Ios_Iostate iostate;
1417: 
1417: 
1417: 
1417:     static const iostate badbit = _S_badbit;
1417: 
1417: 
1417:     static const iostate eofbit = _S_eofbit;
1417: 
1417: 
1417: 
1417: 
1417:     static const iostate failbit = _S_failbit;
1417: 
1417: 
1417:     static const iostate goodbit = _S_goodbit;
1417: # 448 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     typedef _Ios_Openmode openmode;
1417: 
1417: 
1417:     static const openmode app = _S_app;
1417: 
1417: 
1417:     static const openmode ate = _S_ate;
1417: 
1417: 
1417: 
1417: 
1417:     static const openmode binary = _S_bin;
1417: 
1417: 
1417:     static const openmode in = _S_in;
1417: 
1417: 
1417:     static const openmode out = _S_out;
1417: 
1417: 
1417:     static const openmode trunc = _S_trunc;
1417: 
1417:     static const openmode __noreplace = _S_noreplace;
1417: # 488 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     typedef _Ios_Seekdir seekdir;
1417: 
1417: 
1417:     static const seekdir beg = _S_beg;
1417: 
1417: 
1417:     static const seekdir cur = _S_cur;
1417: 
1417: 
1417:     static const seekdir end = _S_end;
1417: # 521 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     enum event
1417:     {
1417:       erase_event,
1417:       imbue_event,
1417:       copyfmt_event
1417:     };
1417: # 538 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     typedef void (*event_callback) (event __e, ios_base& __b, int __i);
1417: # 550 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     void
1417:     register_callback(event_callback __fn, int __index);
1417: 
1417:   protected:
1417:     streamsize _M_precision;
1417:     streamsize _M_width;
1417:     fmtflags _M_flags;
1417:     iostate _M_exception;
1417:     iostate _M_streambuf_state;
1417: 
1417: 
1417: 
1417:     struct _Callback_list
1417:     {
1417: 
1417:       _Callback_list* _M_next;
1417:       ios_base::event_callback _M_fn;
1417:       int _M_index;
1417:       _Atomic_word _M_refcount;
1417: 
1417:       _Callback_list(ios_base::event_callback __fn, int __index,
1417:        _Callback_list* __cb)
1417:       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
1417: 
1417:       void
1417:       _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1417: 
1417: 
1417:       int
1417:       _M_remove_reference()
1417:       {
1417: 
1417:         ;
1417:         int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
1417:         if (__res == 0)
1417:           {
1417:             ;
1417:           }
1417:         return __res;
1417:       }
1417:     };
1417: 
1417:      _Callback_list* _M_calnstructible<_Dp>>::value>;
1434: 
1434:       using pointer = typename _Ptr<_Tp, _Dp>::type;
1434: 
1434:       static_assert( !is_rvalue_reference<_Dp>::value,
1434:        "unique_ptr's deleter type must be a function object type"
1434:        " or an lvalue reference type" );
1434: 
1434:       __uniq_ptr_impl() = default;
1434:      
1434:       __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; }
1434: 
1434:       template<typename _Del>
1434: 
1434:  __uniq_ptr_impl(pointer __p, _Del&& __d)
1434:  : _M_t(__p, std::forward<_Del>(__d)) { }
1434: 
1434:      
1434:       __uniq_ptr_impl(__uniq_ptr_impl&& __u) noexcept
1434:       : _M_t(std::move(__u._M_t))
1434:       { __u._M_ptr() = nullptr; }
1434: 
1434:      
1434:       __uniq_ptr_impl& operator=(__uniq_ptr_impl&& __u) noexcept
1434:       {
1434:  reset(__u.release());
1434:  _M_deleter() = std::forward<_Dp>(__u._M_deleter());
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       pointer& _M_ptr() noexcept { return std::get<0>(_M_t); }
1434:      
1434:       pointer _M_ptr() const noexcept { return std::get<0>(_M_t); }
1434:      
1434:       _Dp& _M_deleter() noexcept { return std::get<1>(_M_t); }
1434:      
1434:       const _Dp& _M_deleter() const noexcept { return std::get<1>(_M_t); }
1434: 
1434:      
1434:       void reset(pointer __p) noexcept
1434:       {
1434:  const pointer __old_p = _M_ptr();
1434:  _M_ptr() = __p;
1434:  if (__old_p)
1434:    _M_deleter()(__old_p);
1434:       }
1434: 
1434:      
1434:       pointer release() noexcept
1434:       {
1434:  pointer __p = _M_ptr();
1434:  _M_ptr() = nullptr;
1434:  return __p;
1434:       }
1434: 
1434:      
1434:       void
1434:       swap(__uniq_ptr_impl& __rhs) noexcept
1434:       {
1434:  using std::swap;
1434:  swap(this->_M_ptr(), __rhs._M_ptr());
1434:  swap(this->_M_deleter(), __rhs._M_deleter());
1434:       }
1434: 
1434:     private:
1434:       tuple<pointer, _Dp> _M_t;
1434:     };
1434: 
1434: 
1434:   template <typename _Tp, typename _Dp,
1434:      bool = is_move_constructible<_Dp>::value,
1434:      bool = is_move_assignable<_Dp>::value>
1434:     struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp>
1434:     {
1434:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1434:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1434:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1434:     };
1434: 
1434:   template <typename _Tp, typename _Dp>
1434:     struct __uniq_ptr_data<_Tp, _Dp, true, false> : __uniq_ptr_impl<_Tp, _Dp>
1434:     {
1434:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1434:       __uniq_ptr_data(__uniq_ptr_data&&) = default;
1434:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1434:     };
1434: 
1434:   template <typename _Tp, typename _Dp>
1434:     struct __uniq_ptr_data<_Tp, _Dp, false, true> : __uniq_ptr_impl<_Tp, _Dp>
1434:     {
1434:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1434:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1434:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default;
1434:     };
1434: 
1434:   template <typename _Tp, typename _Dp>
1434:     struct __uniq_ptr_data<_Tp, _Dp, false, false> : __uniq_ptr_impl<_Tp, _Dp>
1434:     {
1434:       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
1434:       __uniq_ptr_data(__uniq_ptr_data&&) = delete;
1434:       __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename _Dp = default_delete<_Tp>>
1434:     class unique_ptr
1434:     {
1434:       template <typename _Up>
1434:  using _DeleterConstraint =
1434:    typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1434: 
1434:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1434: 
1434:     public:
1434:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1434:       using element_type = _Tp;
1434:       using deleter_type = _Dp;
1434: 
1434:     private:
1434: 
1434: 
1434:       template<typename _Up, typename _Ep>
1434:  using __safe_cons/stl_algo.h" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_heap.h" 1 3
1412: # 63 "/usr/include/c++/12/bits/stl_heap.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Distance,
1412:     typename _Compare>
1412:    
1412:     _Distance
1412:     __is_heap_until(_RandomAccessIterator __first, _Distance __n,
1412:       _Compare& __comp)
1412:     {
1412:       _Distance __parent = 0;
1412:       for (_Distance __child = 1; __child < __n; ++__child)
1412:  {
1412:    if (__comp(__first + __parent, __first + __child))
1412:      return __child;
1412:    if ((__child & 1) == 0)
1412:      ++__parent;
1412:  }
1412:       return __n;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Distance>
1412:    
1412:     inline bool
1412:     __is_heap(_RandomAccessIterator __first, _Distance __n)
1412:     {
1412:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1412:       return std::__is_heap_until(__first, __n, __comp) == __n;
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare,
1412:     typename _Distance>
1412:    
1412:     inline bool
1412:     __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n)
1412:     {
1412:       typedef __decltype(__comp) _Cmp;
1412:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1412:       return std::__is_heap_until(__first, __n, __cmp) == __n;
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline bool
1412:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     { return std::__is_heap(__first, std::distance(__first, __last)); }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline bool
1412:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:        _Compare __comp)
1412:     {
1412:       return std::__is_heap(__first, std::move(__comp),
1412:        std::distance(__first, __last));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
1412:     typename _Compare>
1412:    
1412:     void
1412:     __push_heap(_RandomAccessIterator __first,
1412:   _Distance __holeIndex, _Distance __topIndex, _Tp __value,
1412:   _Compare& __comp)
1412:     {
1412:       _Distance __parent = (__holeIndex - 1) / 2;
1412:       while (__holeIndex > __topIndex && __comp(__first + __parent, __value))
1412:  {
1412:    *(__first + __holeIndex) = std::move(*(__first + __parent));
1412:    __holeIndex = __parent;
1412:    __parent = (__holeIndex - 1) / 2;
1412:  }
1412:       *(__first + __holeIndex) = std::move(__value);
1412:     }
1412: # 159 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline void
1412:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1412:    _ValueType;
1412:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1412:    _DistanceType;
1412: 
1412: 
1412:      
1412: 
1412:      
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       __gnu_cxx::__ops::_Iter_less_val __comp;
1412:       _ValueType __value = std::move(*(__last - 1));
1412:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1412:          _DistanceType(0), std::move(__value), __comp);
1412:     }
1412: # 195 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:        _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1412:    _ValueType;
1412:       typedef typename iterator_traits<_RandomAccessIterator>::differenversion_up = __and_<
1434:    is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>,
1434:    __not_<is_array<_Up>>
1434:         >;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1434:  constexpr unique_ptr() noexcept
1434:  : _M_t()
1434:  { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1434: 
1434:  explicit
1434:  unique_ptr(pointer __p) noexcept
1434:  : _M_t(__p)
1434:         { }
1434: # 320 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Del = deleter_type,
1434:         typename = _Require<is_copy_constructible<_Del>>>
1434: 
1434:  unique_ptr(pointer __p, const deleter_type& __d) noexcept
1434:  : _M_t(__p, __d) { }
1434: # 333 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Del = deleter_type,
1434:         typename = _Require<is_move_constructible<_Del>>>
1434: 
1434:  unique_ptr(pointer __p,
1434:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1434:      _Del&&> __d) noexcept
1434:  : _M_t(__p, std::move(__d))
1434:  { }
1434: 
1434:       template<typename _Del = deleter_type,
1434:         typename _DelUnref = typename remove_reference<_Del>::type>
1434: 
1434:  unique_ptr(pointer,
1434:      __enable_if_t<is_lvalue_reference<_Del>::value,
1434:      _DelUnref&&>) = delete;
1434: 
1434: 
1434:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1434:  constexpr unique_ptr(nullptr_t) noexcept
1434:  : _M_t()
1434:  { }
1434: 
1434: 
1434: 
1434: 
1434:       unique_ptr(unique_ptr&&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Up, typename _Ep, typename = _Require<
1434:                __safe_conversion_up<_Up, _Ep>,
1434:         __conditional_t<is_reference<_Dp>::value,
1434:           is_same<_Ep, _Dp>,
1434:           is_convertible<_Ep, _Dp>>>>
1434: 
1434:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1434:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1434:  { }
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434:       template<typename _Up, typename = _Require<
1434:         is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>>
1434:  unique_ptr(auto_ptr<_Up>&& __u) noexcept;
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~unique_ptr() noexcept
1434:       {
1434:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1434:         "unique_ptr's deleter must be invocable with a pointer");
1434:  auto& __ptr = _M_t._M_ptr();
1434:  if (__ptr != nullptr)
1434:    get_deleter()(std::move(__ptr));
1434:  __ptr = pointer();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unique_ptr& operator=(unique_ptr&&) = default;
1434: # 415 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Up, typename _Ep>
1434: 
1434:         typename enable_if< __and_<
1434:           __safe_conversion_up<_Up, _Ep>,
1434:           is_assignable<deleter_type&, _Ep&&>
1434:           >::value,
1434:           unique_ptr&>::type
1434:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1434:  {
1434:    reset(__u.release());
1434:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1434:    return *this;
1434:  }
1434: 
1434: 
1434:      
1434:       unique_ptr&
1434:       operator=(nullptr_t) noexcept
1434:       {
1434:  reset();
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       typename add_lvalue_reference<element_type>::type
1434:       operator*() const noexcept(noexcept(*std::declval<pointer>()))
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1434:  return *get();
1434:       }
1434: 
1434: 
1434:      
1434:       pointer
1434:       operator->() const noexcept
1434:       {
1434:  ;
1434:  return get();
1434:      lbacks;
1417: 
1417:     void
1417:     _M_call_callbacks(event __ev) throw();
1417: 
1417:     void
1417:     _M_dispose_callbacks(void) throw();
1417: 
1417: 
1417:     struct _Words
1417:     {
1417:       void* _M_pword;
1417:       long _M_iword;
1417:       _Words() : _M_pword(0), _M_iword(0) { }
1417:     };
1417: 
1417: 
1417:     _Words _M_word_zero;
1417: 
1417: 
1417: 
1417:     enum { _S_local_word_size = 8 };
1417:     _Words _M_local_word[_S_local_word_size];
1417: 
1417: 
1417:     int _M_word_size;
1417:     _Words* _M_word;
1417: 
1417:     _Words&
1417:     _M_grow_words(int __index, bool __iword);
1417: 
1417: 
1417:     locale _M_ios_locale;
1417: 
1417:     void
1417:     _M_init() throw();
1417: 
1417:   public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     class Init
1417:     {
1417:       friend class ios_base;
1417:     public:
1417:       Init();
1417:       ~Init();
1417: 
1417: 
1417:       Init(const Init&) = default;
1417:       Init& operator=(const Init&) = default;
1417: 
1417: 
1417:     private:
1417:       static _Atomic_word _S_refcount;
1417:       static bool _S_synced_with_stdio;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     fmtflags
1417:     flags() const
1417:     { return _M_flags; }
1417: # 668 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     fmtflags
1417:     flags(fmtflags __fmtfl)
1417:     {
1417:       fmtflags __old = _M_flags;
1417:       _M_flags = __fmtfl;
1417:       return __old;
1417:     }
1417: # 684 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     fmtflags
1417:     setf(fmtflags __fmtfl)
1417:     {
1417:       fmtflags __old = _M_flags;
1417:       _M_flags |= __fmtfl;
1417:       return __old;
1417:     }
1417: # 701 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     fmtflags
1417:     setf(fmtflags __fmtfl, fmtflags __mask)
1417:     {
1417:       fmtflags __old = _M_flags;
1417:       _M_flags &= ~__mask;
1417:       _M_flags |= (__fmtfl & __mask);
1417:       return __old;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     void
1417:     unsetf(fmtflags __mask)
1417:     { _M_flags &= ~__mask; }
1417: # 727 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     streamsize
1417:     precision() const
1417:     { return _M_precision; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     streamsize
1417:     precision(streamsize __prec)
1417:     {
1417:       streamsize __old = _M_precision;
1417:       _M_precision = __prec;
1417:       return __old;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     streamsize
1417:     width() const
1417:     { return _M_width; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     streamsize
1417:     width(streamsize __wide)
1417:     {
1417:       streamsize __old = _M_width;
1417:       _M_width = __wide;
1417:       return __old;
1417:     }
1417: # 778 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     static bool
1417:     sync_with_stdio(bool __sync = true);
1417: # 790 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     locale
1417:     imbue(const locale& __loc) throw();
1417: # 801 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     locale
1417:     getloc() const
1417:     { return _M_ios_locale; }
1417: # 812 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     const locale&
1417:     _M_getloc() const
1417:     { return _M_ios_locale; }
1417: # 831 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     static int
1417:     xalloc() throw();
1417: # 847 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     long&
1417:     iword(int __ix)
1417:     {
1417:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1417:    ? _M_word[__ix] : _M_grow_words(__ix, true);
1417:       return __word._M_iword;
1417:     }
1417: # 868 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     void*&
1417:     pword(int __ix)
1417:     {
1417:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1417:    ? _M_word[__ix] : _M_grow_words(__ix, false);
1417:       return __word._M_pword;
1417:     }
1417: # 885 "/usr/include/c++/12/bits/ios_base.h" 3
1417:     virtual ~ios_bas }
1434: 
1434: 
1434:      
1434:       pointer
1434:       get() const noexcept
1434:       { return _M_t._M_ptr(); }
1434: 
1434: 
1434:      
1434:       deleter_type&
1434:       get_deleter() noexcept
1434:       { return _M_t._M_deleter(); }
1434: 
1434: 
1434:      
1434:       const deleter_type&
1434:       get_deleter() const noexcept
1434:       { return _M_t._M_deleter(); }
1434: 
1434: 
1434:      
1434:       explicit operator bool() const noexcept
1434:       { return get() == pointer() ? false : true; }
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       pointer
1434:       release() noexcept
1434:       { return _M_t.release(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       reset(pointer __p = pointer()) noexcept
1434:       {
1434:  static_assert(__is_invocable<deleter_type&, pointer>::value,
1434:         "unique_ptr's deleter must be invocable with a pointer");
1434:  _M_t.reset(std::move(__p));
1434:       }
1434: 
1434: 
1434:      
1434:       void
1434:       swap(unique_ptr& __u) noexcept
1434:       {
1434:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1434:  _M_t.swap(__u._M_t);
1434:       }
1434: 
1434: 
1434:       unique_ptr(const unique_ptr&) = delete;
1434:       unique_ptr& operator=(const unique_ptr&) = delete;
1434:   };
1434: # 526 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:   template<typename _Tp, typename _Dp>
1434:     class unique_ptr<_Tp[], _Dp>
1434:     {
1434:       template <typename _Up>
1434:       using _DeleterConstraint =
1434:  typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
1434: 
1434:       __uniq_ptr_data<_Tp, _Dp> _M_t;
1434: 
1434:       template<typename _Up>
1434:  using __remove_cv = typename remove_cv<_Up>::type;
1434: 
1434: 
1434:       template<typename _Up>
1434:  using __is_derived_Tp
1434:    = __and_< is_base_of<_Tp, _Up>,
1434:       __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >;
1434: 
1434:     public:
1434:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
1434:       using element_type = _Tp;
1434:       using deleter_type = _Dp;
1434: 
1434: 
1434: 
1434:       template<typename _Up, typename _Ep,
1434:                typename _UPtr = unique_ptr<_Up, _Ep>,
1434:         typename _UP_pointer = typename _UPtr::pointer,
1434:         typename _UP_element_type = typename _UPtr::element_type>
1434:  using __safe_conversion_up = __and_<
1434:           is_array<_Up>,
1434:           is_same<pointer, element_type*>,
1434:           is_same<_UP_pointer, _UP_element_type*>,
1434:           is_convertible<_UP_element_type(*)[], element_type(*)[]>
1434:         >;
1434: 
1434: 
1434:       template<typename _Up>
1434:         using __safe_conversion_raw = __and_<
1434:           __or_<__or_<is_same<_Up, pointer>,
1434:                       is_same<_Up, nullptr_t>>,
1434:                 __and_<is_pointer<_Up>,
1434:                        is_same<pointer, element_type*>,
1434:                        is_convertible<
1434:                          typename remove_pointer<_Up>::type(*)[],
1434:                          element_type(*)[]>
1434:                 >
1434:           >
1434:         >;
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1434:  constexpr unique_ptr() noexcept
1434:  : _M_t()
1434:  { }
1434: # 591 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Up,
1434:         typename _Vp = _Dp,
1434:         typename = _DeleterConstraint<_Vp>,
1434:         typename = typename enable_if<
1434:                  __safe_conversion_raw<_Up>::value, bool>::type>
1434: 
1434:  explicit
1434:  unique_ptr(_Up __p) noexcept
1434:  : _M_t(__p)
1434:         { }
1434: # 610 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Up, typename _Del = deleter_type,
1434:         typename = _Require<__safe_conversion_raw<_Up>,
1434:        is_copy_constructible<_Del>>>
1434: 
1434:  unique_ptr(_Up __p, const deleter_type& __d) noexcept
1434:  : _M_t(__p, __d) { }
1434: # 625 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Up, typename _Del = deleter_type,
1434:         typename = _Require<__safe_conversion_raw<_Up>,
1434:        is_move_constructible<_Del>>>
1434: 
1434:  unique_ptr(_Up __p,
1434:      __enable_if_t<!is_lvalue_reference<_Del>::value,
1434:      _Del&&> __d) noexcept
1434:  : _M_t(std::move(__p), std::move(__d))
1434:  { }
1434: 
1434:       template<typename _Up, typename _Del = deleter_type,
1434:         typename _DelUnref = typename remove_reference<_Del>::type,
1434:         typename = _Require<__safe_conversion_raw<_Up>>>
1434:  unique_ptr(_Up,
1434:      __enable_if_t<is_lvalue_reference<_Del>::value,
1434:      _DelUnref&&>) = delete;
1434: 
1434: 
1434:       unique_ptr(unique_ptr&&) = default;
1434: 
1434: 
1434:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
1434:  constexpr unique_ptr(nullptr_t) noexcept
1434:  : _M_t()
1434:         { }
1434: 
1434:       template<typename _Up, typename _Ep, typename = _Require<
1434:         __safe_conversion_up<_Up, _Ep>,
1434:         __conditional_t<is_reference<_Dp>::value,
1434:           is_same<_Ep, _Dp>,
1434:           is_convertible<_Ep, _Dp>>>>
1434: 
1434:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
1434:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
1434:  { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~unique_ptr()
1434:       {
1434:  auto& __ptr = _M_t._M_ptr();
1434:  if (__ptr != nullptr)
1434:    get_deleter()(__ptr);
1434:  __ptr = pointer();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unique_ptr&
1434:       operator=(unique_ptr&&) = default;
1434: # 689 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:       template<typename _Up, typename _Ep>
1434: 
1434:  typename
1434:  enable_if<__and_<__safe_conversion_up<_Up, _Ep>,
1434:                          is_assignable<deleter_type&, _Ep&&>
1434:                   >::value,
1434:                   unique_ptr&>::type
1434:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
1434:  {
1434:    reset(__u.release());
1434:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
1434:    return *this;
1434:  }
1434: 
1434: 
1434:      
1434:       unique_ptr&
1434:       operator=(nullptr_t) noexcept
1434:       {
1434:  reset();
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       typename std::add_lvalue_reference<element_type>::type
1434:       operator[](size_t __i) const
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(get() != pointer())) __builtin_unreachable(); } while (false);
1434:  return get()[__i];
1434:       }
1434: 
1434: 
1434:      
1434:       pointer
1434:       get() const noexcept
1434:       { return _M_t._M_ptr(); }
1434: 
1434: 
1434:      
1434:       deleter_type&
1434:       get_deleter() noexcept
1434:       { return _M_t._M_deleter(); }
1434: 
1434: 
1434:      
1434:       const deleter_type&
1434:       get_deleter() const noexcept
1434:       { return _M_t._M_deleter(); }
1434: 
1434: 
1434:      
1434:       explicit operator bool() const noexcept
1434:       { return get() == pointer() ? false : true; }
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       pointer
1434:       release() noexcept
1434:       { return _M_t.release(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template <typename _Up,
1434:                 typename = _Require<
1434:                   __or_<is_same<_Up, pointer>,
1434:                         __and_<is_same<pointer, element_type*>,
1434:                                is_pointer<_Up>,
1434:                                is_convertible<
1434:                                  typename remove_pointer<_Up>::type(*)[],
1434:                                  element_type(*)[]
1434:                                >
1434:                         >
1434:                   >
1434:                >>
1434:      
1434:       void
1434:       reset(_Up __p) noexcept
1434:       { _M_t.reset(std::move(__p)); }
1434: 
1434: ce_type
1412:    _DistanceType;
1412: 
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
1412:  __cmp(std::move(__comp));
1412:       _ValueType __value = std::move(*(__last - 1));
1412:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1412:          _DistanceType(0), std::move(__value), __cmp);
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Distance,
1412:     typename _Tp, typename _Compare>
1412:    
1412:     void
1412:     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
1412:     _Distance __len, _Tp __value, _Compare __comp)
1412:     {
1412:       const _Distance __topIndex = __holeIndex;
1412:       _Distance __secondChild = __holeIndex;
1412:       while (__secondChild < (__len - 1) / 2)
1412:  {
1412:    __secondChild = 2 * (__secondChild + 1);
1412:    if (__comp(__first + __secondChild,
1412:        __first + (__secondChild - 1)))
1412:      __secondChild--;
1412:    *(__first + __holeIndex) = std::move(*(__first + __secondChild));
1412:    __holeIndex = __secondChild;
1412:  }
1412:       if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2)
1412:  {
1412:    __secondChild = 2 * (__secondChild + 1);
1412:    *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1)))
1412:                                   ;
1412:    __holeIndex = __secondChild - 1;
1412:  }
1412:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
1412:  __cmp(std::move(__comp));
1412:       std::__push_heap(__first, __holeIndex, __topIndex,
1412:          std::move(__value), __cmp);
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:         _RandomAccessIterator __result, _Compare& __comp)
1412:     {
1412:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1412:  _ValueType;
1412:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1412:  _DistanceType;
1412: 
1412:       _ValueType __value = std::move(*__result);
1412:       *__result = std::move(*__first);
1412:       std::__adjust_heap(__first, _DistanceType(0),
1412:     _DistanceType(__last - __first),
1412:     std::move(__value), __comp);
1412:     }
1412: # 280 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline void
1412:     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       if (__last - __first > 1)
1412:  {
1412:    --__last;
1412:    __gnu_cxx::__ops::_Iter_less_iter __comp;
1412:    std::__pop_heap(__first, __last, __last, __comp);
1412:  }
1412:     }
1412: # 314 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     pop_heap(_RandomAccessIterator __first,
1412:       _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       if (__last - __first > 1)
1412:  {
1412:    typedef __decltype(__comp) _Cmp;
1412:    __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1412:    --__last;
1412:    std::__pop_heap(__first, __last, __last, __cmp);
1412:  }
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     void
1412:     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:   _Compare& __comp)
1412:     {
1412:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1412:    _ValueType;
1412:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1412:    _DistanceType;
1412: 
1412:       if (__last - __first < 2)
1412:  return;
1412: 
1412e();
1417: 
1417:   protected:
1417:     ios_base() throw ();
1417: # 899 "/usr/include/c++/12/bits/ios_base.h" 3
1417:   public:
1417:     ios_base(const ios_base&) = delete;
1417: 
1417:     ios_base&
1417:     operator=(const ios_base&) = delete;
1417: 
1417:   protected:
1417:     void
1417:     _M_move(ios_base&) noexcept;
1417: 
1417:     void
1417:     _M_swap(ios_base& __rhs) noexcept;
1417: 
1417:   };
1417: 
1417: 
1417: 
1417:   inline ios_base&
1417:   boolalpha(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::boolalpha);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   noboolalpha(ios_base& __base)
1417:   {
1417:     __base.unsetf(ios_base::boolalpha);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   showbase(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::showbase);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   noshowbase(ios_base& __base)
1417:   {
1417:     __base.unsetf(ios_base::showbase);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   showpoint(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::showpoint);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   noshowpoint(ios_base& __base)
1417:   {
1417:     __base.unsetf(ios_base::showpoint);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   showpos(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::showpos);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   noshowpos(ios_base& __base)
1417:   {
1417:     __base.unsetf(ios_base::showpos);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   skipws(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::skipws);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   noskipws(ios_base& __base)
1417:   {
1417:     __base.unsetf(ios_base::skipws);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   uppercase(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::uppercase);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   nouppercase(ios_base& __base)
1417:   {
1417:     __base.unsetf(ios_base::uppercase);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   unitbuf(ios_base& __base)
1417:   {
1417:      __base.setf(ios_base::unitbuf);
1417:      return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   nounitbuf(ios_base& __base)
1417:   {
1417:      __base.unsetf(ios_base::unitbuf);
1417:      return __base;
1417:   }
1417: 
1417: 
1417: 
1417:   inline ios_base&
1417:   internal(ios_base& __base)
1417:   {
1417:      __base.setf(ios_base::internal, ios_base::adjustfield);
1417:      return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   left(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::left, ios_base::adjustfield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   right(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::right, ios_base::adjustfield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417: 
1417:   inline ios_base&
1417:   dec(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::dec, ios_base::basefield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   hex(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::hex, ios_base::basefield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   oct(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::oct, ios_base::basefield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417: 
1417:   inline ios_base&
1417:   fixed(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::fixed, ios_base::floatfield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   scientific(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base:     
1434:       void reset(nullptr_t = nullptr) noexcept
1434:       { reset(pointer()); }
1434: 
1434: 
1434:      
1434:       void
1434:       swap(unique_ptr& __u) noexcept
1434:       {
1434:  static_assert(__is_swappable<_Dp>::value, "deleter must be swappable");
1434:  _M_t.swap(__u._M_t);
1434:       }
1434: 
1434: 
1434:       unique_ptr(const unique_ptr&) = delete;
1434:       unique_ptr& operator=(const unique_ptr&) = delete;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     inline
1434: 
1434: 
1434:    
1434:     typename enable_if<__is_swappable<_Dp>::value>::type
1434: 
1434: 
1434: 
1434:     swap(unique_ptr<_Tp, _Dp>& __x,
1434:   unique_ptr<_Tp, _Dp>& __y) noexcept
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     typename enable_if<!__is_swappable<_Dp>::value>::type
1434:     swap(unique_ptr<_Tp, _Dp>&,
1434:   unique_ptr<_Tp, _Dp>&) = delete;
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp,
1434:     typename _Up, typename _Ep>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const unique_ptr<_Tp, _Dp>& __x,
1434:         const unique_ptr<_Up, _Ep>& __y)
1434:     { return __x.get() == __y.get(); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1434:     { return !__x; }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1434:     { return !__x; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp,
1434:     typename _Up, typename _Ep>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const unique_ptr<_Tp, _Dp>& __x,
1434:         const unique_ptr<_Up, _Ep>& __y)
1434:     { return __x.get() != __y.get(); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
1434:     { return (bool)__x; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
1434:     { return (bool)__x; }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp,
1434:     typename _Up, typename _Ep>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const unique_ptr<_Tp, _Dp>& __x,
1434:        const unique_ptr<_Up, _Ep>& __y)
1434:     {
1434:       typedef typename
1434:  std::common_type<typename unique_ptr<_Tp, _Dp>::pointer,
1434:                   typename unique_ptr<_Up, _Ep>::pointer>::type _CT;
1434:       return std::less<_CT>()(__x.get(), __y.get());
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1434:     {
1434:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1434:          nullptr);
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1434:     {
1434:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1434:          __x.get());
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp,
1434:     typename _Up, typename _Ep>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const unique_ptr<_Tp, _Dp>& __x,
1434:         const unique_ptr<_Up, _Ep>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1434:     { return !(nullptr < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1434:     { return !(__x < nullptr); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp,
1434:     typename _Up, typename _Ep>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const unique_ptr<_Tp, _Dp>& __x,
1434:        const unique_ptr<_Up, _Ep>& __y)
1434:     { return (__y < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1434:     {
1434:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
1434:          __x.get());
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1434:     {
1434:       return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
1434:          nullptr);
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp,
1434:     typename _Up, typename _Ep>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const unique_ptr<_Tp, _Dp>& __x,
1434:         const unique_ptr<_Up, _Ep>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
1434:     { return !(__x < nullptr); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     [[__nodiscard__]] inline bool
1434:     operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
1434:     { return !(nullptr < __x); }
1434: # 1001 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:   template<typename _Up, typename _Ptr = typename _Up::pointer,
1434:     bool = __poison_hash<_Ptr>::__enable_hash_call>
1434:     struct __uniq_ptr_hash
1434: 
1434:     : private __poison_hash<_Ptr>
1434: 
1434:     {
1434:       size_t
1434:       operator()(const _Up& __u) const
1434:       noexcept(noexcept(std::declval<hash<_Ptr>>()(std::declval<_Ptr>())))
1434:       { return hash<_Ptr>()(__u.get()); }
1434:     };
1434: 
1434:   template<typename _Up, typename _Ptr>
1434:     struct __uniq_ptr_hash<_Up, _Ptr, false>
1434:     : private __poison_hash<_Ptr>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:     struct hash<unique_ptr<_Tp, _Dp>>
1434:     : public __hash_base<size_t, unique_ptr<_Tp, _Dp>>,
1434:       public __uniq_ptr_hash<unique_ptr<_Tp, _Dp>>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace __detail
1434: {
1434:   template<typename _Tp>
1434:     struct _MakeUniq
1434:     { typedef unique_ptr<_Tp> __single_object; };
1434: 
1434:   template<typename _Tp>
1434:     struct _MakeUniq<_Tp[]>
1434:     { typedef unique_ptr<_Tp[]> __array; };
1434: 
1434:   template<typename _Tp, size_t _Bound>
1434:     struct _MakeUniq<_Tp[_Bound]>
1434:     { struct __invalid_type { }; };
1434: 
1434:   template<typename _Tp>
1434:     using __unique_ptr_t = typename _MakeUniq<_Tp>::__single_object;
1434:   template<typename _Tp>
1434:     using __unique_ptr_array_t = typename _MakeUniq<_Tp>::__array;
1434:   template<typename _Tp>
1434:     using __invalid_make_unique_t = typename _MakeUniq<_Tp>::__invalid_type;
1434: }
1434: # 1061 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:   template<typename _Tp, typename... _Args>
1434:    
1434:     inline __detail::__unique_ptr_t<_Tp>
1434:     make_unique(_Args&&... __args)
1434:     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
1434: # 1076 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:   template<typename _Tp>
1434:    
1434:     inline __detail::__unique_ptr_array_t<_Tp>
1434:     make_unique(size_t __num)
1434:     { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename... _Args>
1434:     __detail::__invalid_make_unique_t<_Tp>
1434: :       const _DistanceType __len = __last - __first;
1412:       _DistanceType __parent = (__len - 2) / 2;
1412:       while (true)
1412:  {
1412:    _ValueType __value = std::move(*(__first + __parent));
1412:    std::__adjust_heap(__first, __parent, __len, std::move(__value),
1412:         __comp);
1412:    if (__parent == 0)
1412:      return;
1412:    __parent--;
1412:  }
1412:     }
1412: # 372 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline void
1412:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1412:       std::__make_heap(__first, __last, __comp);
1412:     }
1412: # 399 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:        _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       typedef __decltype(__comp) _Cmp;
1412:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1412:       std::__make_heap(__first, __last, __cmp);
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     void
1412:     __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:   _Compare& __comp)
1412:     {
1412:       while (__last - __first > 1)
1412:  {
1412:    --__last;
1412:    std::__pop_heap(__first, __last, __last, __comp);
1412:  }
1412:     }
1412: # 437 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline void
1412:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1412:       std::__sort_heap(__first, __last, __comp);
1412:     }
1412: # 465 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:        _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       typedef __decltype(__comp) _Cmp;
1412:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1412:       std::__sort_heap(__first, __last, __cmp);
1412:     }
1412: # 494 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline _RandomAccessIterator
1412:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1412:       return __first +
1412:  std::__is_heap_until(__first, std::distance(__first, __last), __comp);
1412:     }
1412: # 523 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline _RandomAccessIterator
1412:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:     _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       typedef __decltype(__comp) _Cmp;
1412:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1412:       return __first
1412:  + std::__is_heap_until(__first, std::distance(__first, __last), __cmp);
1412:     }
1412: # 548 "/usr/include/c++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline bool
1412:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     { return std::is_heap_until(__first, __last) == __last; }
1412: # 562 "/usr/include/c:scientific, ios_base::floatfield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline ios_base&
1417:   hexfloat(ios_base& __base)
1417:   {
1417:     __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417:   inline ios_base&
1417:   defaultfloat(ios_base& __base)
1417:   {
1417:     __base.unsetf(ios_base::floatfield);
1417:     return __base;
1417:   }
1417: 
1417: 
1417: 
1417: }
1417: # 41 "/usr/include/c++/12/iomanip" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/locale" 1 3
1417: # 36 "/usr/include/c++/12/locale" 3
1417:        
1417: # 37 "/usr/include/c++/12/locale" 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/locale_facets.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/locale_facets.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/cwctype" 1 3
1417: # 39 "/usr/include/c++/12/cwctype" 3
1417:        
1417: # 40 "/usr/include/c++/12/cwctype" 3
1417: # 50 "/usr/include/c++/12/cwctype" 3
1417: # 1 "/usr/include/wctype.h" 1 3 4
1417: # 38 "/usr/include/wctype.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 1 3 4
1417: # 38 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1417: typedef unsigned long int wctype_t;
1417: # 56 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1417: enum
1417: {
1417:   __ISwupper = 0,
1417:   __ISwlower = 1,
1417:   __ISwalpha = 2,
1417:   __ISwdigit = 3,
1417:   __ISwxdigit = 4,
1417:   __ISwspace = 5,
1417:   __ISwprint = 6,
1417:   __ISwgraph = 7,
1417:   __ISwblank = 8,
1417:   __ISwcntrl = 9,
1417:   __ISwpunct = 10,
1417:   __ISwalnum = 11,
1417: 
1417:   _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
1417:   _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
1417:   _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
1417:   _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
1417:   _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
1417:   _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
1417:   _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
1417:   _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
1417:   _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
1417:   _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),    make_unique(_Args&&...) = delete;
1434: # 1149 "/usr/include/c++/12/bits/unique_ptr.h" 3
1434:   namespace __detail::__variant
1434:   {
1434:     template<typename> struct _Never_valueless_alt;
1434: 
1434: 
1434: 
1434:     template<typename _Tp, typename _Del>
1434:       struct _Never_valueless_alt<std::unique_ptr<_Tp, _Del>>
1434:       : std::true_type
1434:       { };
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: # 77 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/shared_ptr.h" 1 3
1434: # 52 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434: # 1 "/usr/include/c++/12/iosfwd" 1 3
1434: # 36 "/usr/include/c++/12/iosfwd" 3
1434:        
1434: # 37 "/usr/include/c++/12/iosfwd" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stringfwd.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/stringfwd.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/stringfwd.h" 3
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<class _CharT>
1434:     struct char_traits;
1434: 
1434:   template<> struct char_traits<char>;
1434: 
1434:   template<> struct char_traits<wchar_t>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<> struct char_traits<char16_t>;
1434:   template<> struct char_traits<char32_t>;
1434: 
1434: 
1434: namespace __cxx11 {
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1434:            typename _Alloc = allocator<_CharT> >
1434:     class basic_string;
1434: 
1434: }
1434: 
1434: 
1434:   typedef basic_string<char> string;
1434: 
1434: 
1434:   typedef basic_string<wchar_t> wstring;
1434: # 89 "/usr/include/c++/12/bits/stringfwd.h" 3
1434:   typedef basic_string<char16_t> u16string;
1434: 
1434: 
1434:   typedef basic_string<char32_t> u32string;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 40 "/usr/include/c++/12/iosfwd" 2 3
1434: # 1 "/usr/include/c++/12/bits/postypes.h" 1 3
1434: # 38 "/usr/include/c++/12/bits/postypes.h" 3
1434:        
1434: # 39 "/usr/include/c++/12/bits/postypes.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/cwchar" 1 3
1434: # 39 "/usr/include/c++/12/cwchar" 3
1434:        
1434: # 40 "/usr/include/c++/12/cwchar" 3
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/wchar.h" 1 3 4
1434: # 27 "/usr/include/wchar.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1434: # 28 "/usr/include/wchar.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1434: # 52 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/long-double.h" 1 3 4
1434: # 25 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 2 3 4
1434: # 214 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1434: typedef float _Float32;
1434: # 238 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1434: typedef long double _Float64;
1434: # 268 "/usr/include/arm-linux-gnueabihf/bits/floatn-common.h" 3 4
1434: typedef double _Float32x;
1434: # 53 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 2 3 4
1434: # 31 "/usr/include/wchar.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 214 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1434: typedef unsigned int size_t;
1434: # 36 "/usr/include/wchar.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1434: # 40 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 3 4
1434: typedef __builtin_va_list __gnuc_va_list;
1434: # 39 "/usr/include/wchar.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 1 3 4
1434: # 20 "/usr/include/arm-linux-gnueabihf/bits/types/wint_t.h" 3 4
1434: typedef unsigned int wint_t;
1434: # 42 "/usr/include/wchar.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnu++/12/bits/stl_heap.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline bool
1412:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:      _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       const auto __dist = std::distance(__first, __last);
1412:       typedef __decltype(__comp) _Cmp;
1412:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1412:       return std::__is_heap_until(__first, __dist, __cmp) == __dist;
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: # 61 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/uniform_int_dist.h" 1 3
1412: # 41 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 58 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1412:   namespace __detail
1412:   {
1412: 
1412: 
1412: 
1412:     template<typename _Tp>
1412:       constexpr bool
1412:       _Power_of_2(_Tp __x)
1412:       {
1412:  return ((__x - 1) & __x) == 0;
1412:       }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _IntType = int>
1412:     class uniform_int_distribution
1412:     {
1412:       static_assert(std::is_integral<_IntType>::value,
1412:       "template argument must be an integral type");
1412: 
1412:     public:
1412: 
1412:       typedef _IntType result_type;
1412: 
1412:       struct param_type
1412:       {
1412:  typedef uniform_int_distribution<_IntType> distribution_type;
1412: 
1412:  param_type() : param_type(0) { }
1412: 
1412:  explicit
1412:  param_type(_IntType __a,
1412:      _IntType __b = __gnu_cxx::__int_traits<_IntType>::__max)
1412:  : _M_a(__a), _M_b(__b)
1412:  {
1412:    do { if (std::__is_constant_evaluated() && !bool(_M_a <= _M_b)) __builtin_unreachable(); } while (false);
1412:  }
1412: 
1412:  result_type
1412:  a() const
1412:  { return _M_a; }
1412: 
1412:  result_type
1412:  b() const
1412:  { return _M_b; }
1412: 
1412:  friend bool
1412:  operator==(const param_type& __p1, const param_type& __p2)
1412:  { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; }
1412: 
1412:  friend bool
1412:  operator!=(const param_type& __p1, const param_type& __p2)
1412:  { return !(__p1 == __p2); }
1412: 
1412:       private:
1412:  _IntType _M_a;
1412:  _IntType _M_b;
1412:       };
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412:       uniform_int_distribution() : uniform_int_distribution(0) { }
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       uniform_int_distribution(_IntType __a,
1412:           _IntType __b
1412:      = __gnu_cxx::__int_traits<_IntType>::__max)
1412:       : _M_param(__a, __b)
1412:       { }
1412: 
1412:       explicit
1412:       uniform_int_distribution(const param_type& __p)
1412:       : _M_param(__p)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       reset() { }
1412: 
1412:       result_type
1412:       a() const
1412:       { return _M_param.a(); }
1412: 
1412:       result_type
1412:       b() const
1412:       { return _M_param.b(); }
1412: 
1412: 
1412: 
1412: 
1412:       param_type
1412:       param() const
1412:       { return _M_param; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       param(const param_type& __param)
1412:       { _M_param = __param; }
1412: 
1412: 
1412: 
1412: 
1412:       result_type
1412:       min() const
1412:       { return this->a(); }
1412: 
1412: 
1412: 
1412: 
1412:       result_type
1412:       max() const
1412:       { return this->b(); }
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _UniformRandomBitGenerator>
1412:  result_type
1412:  operator()(_UniformRandomBitGenerator& __urng)
1412:         { return this->operator()(__urng, _M_param); }
1412: 
1412:       template<typename _UniformRandomBitGenerator>
1412:  result_type
1412:  operator()(_UniformRandomBitGenerator& __urng,
1412:      const param_type& __p);
1412: 
1412:       templateeabihf/bits/types/mbstate_t.h" 1 3 4
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 1 3 4
1434: # 13 "/usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h" 3 4
1434: typedef struct
1434: {
1434:   int __count;
1434:   union
1434:   {
1434:     unsigned int __wch;
1434:     char __wchb[4];
1434:   } __value;
1434: } __mbstate_t;
1434: # 5 "/usr/include/arm-linux-gnueabihf/bits/types/mbstate_t.h" 2 3 4
1434: 
1434: typedef __mbstate_t mbstate_t;
1434: # 43 "/usr/include/wchar.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__FILE.h" 1 3 4
1434: 
1434: 
1434: 
1434: struct _IO_FILE;
1434: typedef struct _IO_FILE __FILE;
1434: # 44 "/usr/include/wchar.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/FILE.h" 1 3 4
1434: 
1434: 
1434: 
1434: struct _IO_FILE;
1434: 
1434: 
1434: typedef struct _IO_FILE FILE;
1434: # 47 "/usr/include/wchar.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 1 3 4
1434: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h" 3 4
1434: struct __locale_struct
1434: {
1434: 
1434:   struct __locale_data *__locales[13];
1434: 
1434: 
1434:   const unsigned short int *__ctype_b;
1434:   const int *__ctype_tolower;
1434:   const int *__ctype_toupper;
1434: 
1434: 
1434:   const char *__names[13];
1434: };
1434: 
1434: typedef struct __locale_struct *__locale_t;
1434: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/locale_t.h" 2 3 4
1434: 
1434: typedef __locale_t locale_t;
1434: # 50 "/usr/include/wchar.h" 2 3 4
1434: # 79 "/usr/include/wchar.h" 3 4
1434: extern "C" {
1434: 
1434: 
1434: 
1434: struct tm;
1434: 
1434: 
1434: 
1434: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
1434:    const wchar_t *__restrict __src)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
1434:     const wchar_t *__restrict __src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern wchar_t *wcscat (wchar_t *__restrict __dest,
1434:    const wchar_t *__restrict __src)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
1434:     const wchar_t *__restrict __src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1434: 
1434: 
1434: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
1434:    size_t __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1434:     locale_t __loc) noexcept (true);
1434: 
1434: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
1434:      size_t __n, locale_t __loc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
1434: 
1434: 
1434: 
1434: extern size_t wcsxfrm (wchar_t *__restrict __s1,
1434:          const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
1434:         locale_t __loc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
1434:     size_t __n, locale_t __loc) noexcept (true);
1434: 
1434: 
1434: extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
1434:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1434: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
1434:      noexcept (true) __asm ("wcschr") __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
1434:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1434: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
1434:      noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__));
1434: # 182 "/usr/include/wchar.h" 3 4
1434: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
1434:      noexcept (true) __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
1434:      noexcept (true) __attribute__ ((__pure__));
1434: 
1434: 
1434: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
1434:      noexcept (true) __attribute__ ((__pure__));
1434: 
1434: 
1434: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
1434:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1434: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
1434:          const wchar_t *__accept)
1434:      noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
1434:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1434: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
1434:         const wchar_t *__needle)
1434:      noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wchar_t *wcstok (wchar_t *__restrict __s,
1434:    const wchar_t *__restrict __delim,
1434:    wchar_t **__restrict __ptr) noexcept (true);
1434: 
1434: 
1434: extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
1434:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1434: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
1434:         const wchar_t *__needle)
1434:      noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__));
1434: # 241 "/usr/include/wchar.h" 3 4
1434: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
1434:      noexcept (true) __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
1434:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1434: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
1434:          size_t __n)
1434:      noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
1434:      noexcept (true) __attribute__ ((__pure__));
1434: 
1434: 
1434: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
1434:     const wchar_t *__restrict __s2, size_t __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
1434:      noexcept (true);
1434: 
1434: 
1434: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
1434:      const wchar_t *__restrict __s2, size_t __n)
1434:      noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t btowc (int __c) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int wctob (wint_t __c) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pu
1417:   _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
1417:   _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
1417: };
1417: 
1417: 
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int iswalnum (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int iswalpha (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: extern int iswcntrl (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int iswdigit (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int iswgraph (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswlower (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: extern int iswprint (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswpunct (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswspace (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswupper (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswxdigit (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int iswblank (wint_t __wc) noexcept (true);
1417: # 155 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1417: extern wctype_t wctype (const char *__property) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t towlower (wint_t __wc) noexcept (true);
1417: 
1417: 
1417: extern wint_t towupper (wint_t __wc) noexcept (true);
1417: 
1417: }
1417: # 39 "/usr/include/wctype.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C" {
1417: 
1417: 
1417: 
1417: typedef const __int32_t *wctrans_t;
1417: 
1417: 
1417: 
1417: extern wctrans_t wctrans (const char *__property) noexcept (true);
1417: 
1417: 
1417: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: extern wctype_t wctype_l (const char *__property, locale_t __locale)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: extern wctrans_t wctrans_l (const cha<typename _ForwardIterator,
1412:         typename _UniformRandomBitGenerator>
1412:  void
1412:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1412:      _UniformRandomBitGenerator& __urng)
1412:  { this->__generate(__f, __t, __urng, _M_param); }
1412: 
1412:       template<typename _ForwardIterator,
1412:         typename _UniformRandomBitGenerator>
1412:  void
1412:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1412:      _UniformRandomBitGenerator& __urng,
1412:      const param_type& __p)
1412:  { this->__generate_impl(__f, __t, __urng, __p); }
1412: 
1412:       template<typename _UniformRandomBitGenerator>
1412:  void
1412:  __generate(result_type* __f, result_type* __t,
1412:      _UniformRandomBitGenerator& __urng,
1412:      const param_type& __p)
1412:  { this->__generate_impl(__f, __t, __urng, __p); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       friend bool
1412:       operator==(const uniform_int_distribution& __d1,
1412:    const uniform_int_distribution& __d2)
1412:       { return __d1._M_param == __d2._M_param; }
1412: 
1412:     private:
1412:       template<typename _ForwardIterator,
1412:         typename _UniformRandomBitGenerator>
1412:  void
1412:  __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1412:    _UniformRandomBitGenerator& __urng,
1412:    const param_type& __p);
1412: 
1412:       param_type _M_param;
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _Wp, typename _Urbg, typename _Up>
1412:  static _Up
1412:  _S_nd(_Urbg& __g, _Up __range)
1412:  {
1412:    using _Up_traits = __gnu_cxx::__int_traits<_Up>;
1412:    using _Wp_traits = __gnu_cxx::__int_traits<_Wp>;
1412:    static_assert(!_Up_traits::__is_signed, "U must be unsigned");
1412:    static_assert(!_Wp_traits::__is_signed, "W must be unsigned");
1412:    static_assert(_Wp_traits::__digits == (2 * _Up_traits::__digits),
1412:    "W must be twice as wide as U");
1412: 
1412: 
1412: 
1412: 
1412:    _Wp __product = _Wp(__g()) * _Wp(__range);
1412:    _Up __low = _Up(__product);
1412:    if (__low < __range)
1412:      {
1412:        _Up __threshold = -__range % __range;
1412:        while (__low < __threshold)
1412:   {
1412:     __product = _Wp(__g()) * _Wp(__range);
1412:     __low = _Up(__product);
1412:   }
1412:      }
1412:    return __product >> _Up_traits::__digits;
1412:  }
1412:     };
1412: 
1412:   template<typename _IntType>
1412:     template<typename _UniformRandomBitGenerator>
1412:       typename uniform_int_distribution<_IntType>::result_type
1412:       uniform_int_distribution<_IntType>::
1412:       operator()(_UniformRandomBitGenerator& __urng,
1412:    const param_type& __param)
1412:       {
1412:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1412:  typedef typename make_unsigned<result_type>::type __utype;
1412:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1412: 
1412:  constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
1412:  constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
1412:  static_assert( __urngmin < __urngmax,
1412:      "Uniform random bit generator must define min() < max()");
1412:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1412: 
1412:  const __uctype __urange
1412:    = __uctype(__param.b()) - __uctype(__param.a());
1412: 
1412:  __uctype __ret;
1412:  if (__urngrange > __urange)
1412:    {
1412: 
1412: 
1412:      const __uctype __uerange = __urange + 1;
1412: # 312 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1412:      if constexpr (__urngrange == 0xffffffffU)
1412:        {
1412: 
1412: 
1412:   unsigned int __u32erange = __uerange;
1412:   __ret = _S_nd<long long unsigned int>(__urng, __u32erange);
1412:        }
1412:      else
1412: 
1412:        {
1412: 
1412:   const __uctype __scaling = __urngrange / __uerange;
1412:   const __uctype __past = __uerange * __scaling;
1412:   do
1412:     __ret = __uctype(__urng()) - __urngmin;
1412:   while (__ret >= __past);
1412:   __ret /= __scaling;
1412:        }
1412:    }
1412:  else if (__urngrange < __urangre__));
1434: 
1434: 
1434: 
1434: extern size_t mbrtowc (wchar_t *__restrict __pwc,
1434:          const char *__restrict __s, size_t __n,
1434:          mbstate_t *__restrict __p) noexcept (true);
1434: 
1434: 
1434: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
1434:          mbstate_t *__restrict __ps) noexcept (true);
1434: 
1434: 
1434: extern size_t __mbrlen (const char *__restrict __s, size_t __n,
1434:    mbstate_t *__restrict __ps) noexcept (true);
1434: extern size_t mbrlen (const char *__restrict __s, size_t __n,
1434:         mbstate_t *__restrict __ps) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t __btowc_alias (int __c) __asm ("btowc");
1434: extern __inline __attribute__ ((__gnu_inline__)) wint_t
1434: __attribute__ ((__leaf__)) btowc (int __c) noexcept (true)
1434: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
1434:    ? (wint_t) __c : __btowc_alias (__c)); }
1434: 
1434: extern int __wctob_alias (wint_t __c) __asm ("wctob");
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: __attribute__ ((__leaf__)) wctob (wint_t __wc) noexcept (true)
1434: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
1434:    ? (int) __wc : __wctob_alias (__wc)); }
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) size_t
1434: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) noexcept (true)
1434: 
1434: { return (__ps != __null
1434:    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
1434: 
1434: 
1434: 
1434: 
1434: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
1434:     const char **__restrict __src, size_t __len,
1434:     mbstate_t *__restrict __ps) noexcept (true);
1434: 
1434: 
1434: 
1434: extern size_t wcsrtombs (char *__restrict __dst,
1434:     const wchar_t **__restrict __src, size_t __len,
1434:     mbstate_t *__restrict __ps) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
1434:      const char **__restrict __src, size_t __nmc,
1434:      size_t __len, mbstate_t *__restrict __ps) noexcept (true);
1434: 
1434: 
1434: 
1434: extern size_t wcsnrtombs (char *__restrict __dst,
1434:      const wchar_t **__restrict __src,
1434:      size_t __nwc, size_t __len,
1434:      mbstate_t *__restrict __ps) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int wcwidth (wchar_t __c) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double wcstod (const wchar_t *__restrict __nptr,
1434:         wchar_t **__restrict __endptr) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float wcstof (const wchar_t *__restrict __nptr,
1434:        wchar_t **__restrict __endptr) noexcept (true);
1434: extern long double wcstold (const wchar_t *__restrict __nptr,
1434:        wchar_t **__restrict __endptr) noexcept (true);
1434: # 397 "/usr/include/wchar.h" 3 4
1434: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
1434:      wchar_t **__restrict __endptr) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
1434:      wchar_t **__restrict __endptr) noexcept (true);
1434: # 412 "/usr/include/wchar.h" 3 4
1434: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
1434:        wchar_t **__restrict __endptr) noexcept (true);
1434: # 429 "/usr/include/wchar.h" 3 4
1434: extern long int wcstol (const wchar_t *__restrict __nptr,
1434:    wchar_t **__restrict __endptr, int __base) noexcept (true);
1434: 
1434: 
1434: 
1434: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
1434:       wchar_t **__restrict __endptr, int __base)
1434:      noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: __extension__
1434: extern long long int wcstoll (const wchar_t *__restrict __nptr,
1434:          wchar_t **__restrict __endptr, int __base)
1434:      noexcept (true);
1434: 
1434: 
14r *__property, locale_t __locale)
1417:      noexcept (true);
1417: 
1417: 
1417: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
1417:       locale_t __locale) noexcept (true);
1417: 
1417: 
1417: 
1417: }
1417: # 51 "/usr/include/c++/12/cwctype" 2 3
1417: # 80 "/usr/include/c++/12/cwctype" 3
1417: namespace std
1417: {
1417:   using ::wctrans_t;
1417:   using ::wctype_t;
1417:   using ::wint_t;
1417: 
1417:   using ::iswalnum;
1417:   using ::iswalpha;
1417: 
1417:   using ::iswblank;
1417: 
1417:   using ::iswcntrl;
1417:   using ::iswctype;
1417:   using ::iswdigit;
1417:   using ::iswgraph;
1417:   using ::iswlower;
1417:   using ::iswprint;
1417:   using ::iswpunct;
1417:   using ::iswspace;
1417:   using ::iswupper;
1417:   using ::iswxdigit;
1417:   using ::towctrans;
1417:   using ::towlower;
1417:   using ::towupper;
1417:   using ::wctrans;
1417:   using ::wctype;
1417: }
1417: # 40 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1417: # 1 "/usr/include/c++/12/cctype" 1 3
1417: # 39 "/usr/include/c++/12/cctype" 3
1417:        
1417: # 40 "/usr/include/c++/12/cctype" 3
1417: # 41 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 1 3
1417: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   struct ctype_base
1417:   {
1417: 
1417:     typedef const int* __to_type;
1417: 
1417: 
1417: 
1417:     typedef unsigned short mask;
1417:     static const mask upper = _ISupper;
1417:     static const mask lower = _ISlower;
1417:     static const mask alpha = _ISalpha;
1417:     static const mask digit = _ISdigit;
1417:     static const mask xdigit = _ISxdigit;
1417:     static const mask space = _ISspace;
1417:     static const mask print = _ISprint;
1417:     static const mask graph = _ISalpha | _ISdigit | _ISpunct;
1417:     static const mask cntrl = _IScntrl;
1417:     static const mask punct = _ISpunct;
1417:     static const mask alnum = _ISalpha | _ISdigit;
1417: 
1417:     static const mask blank = _ISblank;
1417: 
1417:   };
1417: 
1417: 
1417: }
1417: # 42 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/streambuf" 1 3
1417: # 36 "/usr/include/c++/12/streambuf" 3
1417:        
1417: # 37 "/usr/include/c++/12/streambuf" 3
1417: # 45 "/usr/include/c++/12/streambuf" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     streamsize
1417:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
1417:      basic_streambuf<_CharT, _Traits>*, bool&);
1417: # 121 "/usr/include/c++/12/streambuf" 3
1417:   template<typename _CharT, typename _Traits>
1417:     class basic_streambuf
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417:       typedef typename traits_type::int_type int_type;
1417:       typedef typename traits_type::pos_type pos_type;
1417:       typedef typename traits_type::off_type off_type;
1417: 
1417: 
1417: 
1417: 
1417:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1417: 
1417: 
1417:       friend class basic_ios<char_type, traits_type>;
1417:       friend class basic_istream<char_type, traits_type>;
1417:       friend class basic_ostream<char_type, traits_type>;
1417:       friend class istreambuf_iterator<char_type, traits_type>;
1417:       friend class ostreambuf_iterator<char_type, traits_type>;
1417: 
1417:       friend streamsize
1417:       __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
1417: 
1417:       template<bool _IsMove, typename _CharT2>
1417:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:             _CharT2*>::__type
1417:         __copy_move_a2(istreambuf_iterator<_CharT2>,
1417:          istreambuf_iterator<_CharT2>, _CharT2*);
1417: 
1417:       template<typ34: 
1434: __extension__
1434: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
1434:      wchar_t **__restrict __endptr,
1434:      int __base) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: __extension__
1434: extern long long int wcstoq (const wchar_t *__restrict __nptr,
1434:         wchar_t **__restrict __endptr, int __base)
1434:      noexcept (true);
1434: 
1434: 
1434: 
1434: __extension__
1434: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
1434:            wchar_t **__restrict __endptr,
1434:            int __base) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int wcstol_l (const wchar_t *__restrict __nptr,
1434:      wchar_t **__restrict __endptr, int __base,
1434:      locale_t __loc) noexcept (true);
1434: 
1434: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
1434:         wchar_t **__restrict __endptr,
1434:         int __base, locale_t __loc) noexcept (true);
1434: 
1434: __extension__
1434: extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
1434:     wchar_t **__restrict __endptr,
1434:     int __base, locale_t __loc) noexcept (true);
1434: 
1434: __extension__
1434: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
1434:        wchar_t **__restrict __endptr,
1434:        int __base, locale_t __loc)
1434:      noexcept (true);
1434: 
1434: extern double wcstod_l (const wchar_t *__restrict __nptr,
1434:    wchar_t **__restrict __endptr, locale_t __loc)
1434:      noexcept (true);
1434: 
1434: extern float wcstof_l (const wchar_t *__restrict __nptr,
1434:          wchar_t **__restrict __endptr, locale_t __loc)
1434:      noexcept (true);
1434: 
1434: extern long double wcstold_l (const wchar_t *__restrict __nptr,
1434:          wchar_t **__restrict __endptr,
1434:          locale_t __loc) noexcept (true);
1434: # 512 "/usr/include/wchar.h" 3 4
1434: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
1434:        wchar_t **__restrict __endptr,
1434:        locale_t __loc) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
1434:        wchar_t **__restrict __endptr,
1434:        locale_t __loc) noexcept (true);
1434: # 530 "/usr/include/wchar.h" 3 4
1434: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
1434:          wchar_t **__restrict __endptr,
1434:          locale_t __loc) noexcept (true);
1434: # 552 "/usr/include/wchar.h" 3 4
1434: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
1434:    const wchar_t *__restrict __src) noexcept (true);
1434: 
1434: 
1434: 
1434: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
1434:     const wchar_t *__restrict __src, size_t __n)
1434:      noexcept (true);
1434: # 581 "/usr/include/wchar.h" 3 4
1434: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1434:   __attribute__ ((__malloc__)) ;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fwide (__FILE *__fp, int __mode) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fwprintf (__FILE *__restrict __stream,
1434:        const wchar_t *__restrict __format, ...)
1434:                                                            ;
1434: 
1434: 
1434: 
1434: 
1434: extern int wprintf (const wchar_t *__restrict __format, ...)
1434:                                                            ;
1434: 
1434: extern int swprintf (wchar_t *__restrict __s, size_t __n,
1434:        const wchar_t *__restrict __format, ...)
1434:      noexcept (true) ;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int vfwprintf (__FILE *__restrict __s,
1434:         const wchar_t *__restrict __format,
1434:         __gnuc_va_list __arg)
1434:                                                            ;
1434: 
1434: 
1434: 
1434: 
1434: extern int vwprintf (const wchar_t *__restrict __format,
1434:        __gnuc_va_list __arg)
1434:                                                            ;
1434: 
1434: 
1434: extern int vswprintf (wchar_t *e)
1412:    {
1412: # 348 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1412:      __uctype __tmp;
1412:      do
1412:        {
1412:   const __uctype __uerngrange = __urngrange + 1;
1412:   __tmp = (__uerngrange * operator()
1412:     (__urng, param_type(0, __urange / __uerngrange)));
1412:   __ret = __tmp + (__uctype(__urng()) - __urngmin);
1412:        }
1412:      while (__ret > __urange || __ret < __tmp);
1412:    }
1412:  else
1412:    __ret = __uctype(__urng()) - __urngmin;
1412: 
1412:  return __ret + __param.a();
1412:       }
1412: 
1412: 
1412:   template<typename _IntType>
1412:     template<typename _ForwardIterator,
1412:       typename _UniformRandomBitGenerator>
1412:       void
1412:       uniform_int_distribution<_IntType>::
1412:       __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1412:         _UniformRandomBitGenerator& __urng,
1412:         const param_type& __param)
1412:       {
1412: 
1412:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1412:  typedef typename make_unsigned<result_type>::type __utype;
1412:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1412: 
1412:  static_assert( __urng.min() < __urng.max(),
1412:      "Uniform random bit generator must define min() < max()");
1412: 
1412:  constexpr __uctype __urngmin = __urng.min();
1412:  constexpr __uctype __urngmax = __urng.max();
1412:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1412:  const __uctype __urange
1412:    = __uctype(__param.b()) - __uctype(__param.a());
1412: 
1412:  __uctype __ret;
1412: 
1412:  if (__urngrange > __urange)
1412:    {
1412:      if (__detail::_Power_of_2(__urngrange + 1)
1412:   && __detail::_Power_of_2(__urange + 1))
1412:        {
1412:   while (__f != __t)
1412:     {
1412:       __ret = __uctype(__urng()) - __urngmin;
1412:       *__f++ = (__ret & __urange) + __param.a();
1412:     }
1412:        }
1412:      else
1412:        {
1412: 
1412:   const __uctype __uerange = __urange + 1;
1412:   const __uctype __scaling = __urngrange / __uerange;
1412:   const __uctype __past = __uerange * __scaling;
1412:   while (__f != __t)
1412:     {
1412:       do
1412:         __ret = __uctype(__urng()) - __urngmin;
1412:       while (__ret >= __past);
1412:       *__f++ = __ret / __scaling + __param.a();
1412:     }
1412:        }
1412:    }
1412:  else if (__urngrange < __urange)
1412:    {
1412: # 433 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1412:      __uctype __tmp;
1412:      while (__f != __t)
1412:        {
1412:   do
1412:     {
1412:       constexpr __uctype __uerngrange = __urngrange + 1;
1412:       __tmp = (__uerngrange * operator()
1412:         (__urng, param_type(0, __urange / __uerngrange)));
1412:       __ret = __tmp + (__uctype(__urng()) - __urngmin);
1412:     }
1412:   while (__ret > __urange || __ret < __tmp);
1412:   *__f++ = __ret;
1412:        }
1412:    }
1412:  else
1412:    while (__f != __t)
1412:      *__f++ = __uctype(__urng()) - __urngmin + __param.a();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 66 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/cstdlib" 1 3
1412: # 39 "/usr/include/c++/12/cstdlib" 3
1412:        
1412: # 40 "/usr/include/c++/12/cstdlib" 3
1412: # 70 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   template<typename _Iterator, typename _Compare>
1412:    
1412:     void
1412:     __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b,
1412:       _Iterator __c, _Compare __comp)
1412:     {
1412:       if (__comp(__a, __b))
1412:  {
1412:    if (__comp(__b, __c))
1412:      std::iter_swap(__result, __b);
1412:    else if (__comp(__a, __c))
1412:      std::iter_swap(__result, __c);
1412:    else
1412:      std::iter_swap(__result, __a);
1412:  }
1412:       else if (__comp(__a, __c))
1412:  std::iter_swap(__result, __a);
1412:       else if (__comp(__b, __c))
1412:  std::iter_swap(__result, ____restrict __s, size_t __n,
1434:         const wchar_t *__restrict __format,
1434:         __gnuc_va_list __arg)
1434:      noexcept (true) ;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fwscanf (__FILE *__restrict __stream,
1434:       const wchar_t *__restrict __format, ...)
1434:                                                           ;
1434: 
1434: 
1434: 
1434: 
1434: extern int wscanf (const wchar_t *__restrict __format, ...)
1434:                                                           ;
1434: 
1434: extern int swscanf (const wchar_t *__restrict __s,
1434:       const wchar_t *__restrict __format, ...)
1434:      noexcept (true) ;
1434: # 657 "/usr/include/wchar.h" 3 4
1434: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf")
1434: 
1434: 
1434:                                                           ;
1434: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf")
1434: 
1434:                                                           ;
1434: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_swscanf")
1434: 
1434: 
1434:                                                           ;
1434: # 688 "/usr/include/wchar.h" 3 4
1434: extern int vfwscanf (__FILE *__restrict __s,
1434:        const wchar_t *__restrict __format,
1434:        __gnuc_va_list __arg)
1434:                                                           ;
1434: 
1434: 
1434: 
1434: 
1434: extern int vwscanf (const wchar_t *__restrict __format,
1434:       __gnuc_va_list __arg)
1434:                                                           ;
1434: 
1434: extern int vswscanf (const wchar_t *__restrict __s,
1434:        const wchar_t *__restrict __format,
1434:        __gnuc_va_list __arg)
1434:      noexcept (true) ;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf")
1434: 
1434: 
1434:                                                           ;
1434: extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf")
1434: 
1434:                                                           ;
1434: extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vswscanf")
1434: 
1434: 
1434:                                                           ;
1434: # 744 "/usr/include/wchar.h" 3 4
1434: extern wint_t fgetwc (__FILE *__stream);
1434: extern wint_t getwc (__FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t getwchar (void);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
1434: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t putwchar (wchar_t __wc);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
1434:    __FILE *__restrict __stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fputws (const wchar_t *__restrict __ws,
1434:      __FILE *__restrict __stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
1434: # 799 "/usr/include/wchar.h" 3 4
1434: extern wint_t getwc_unlocked (__FILE *__stream);
1434: extern wint_t getwchar_unlocked (void);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t fgetwc_unlocked (__FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
1434: # 825 "/usr/include/wchar.h" 3 4
1434: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
1434: extern wint_t putwchar_unlocked (wchar_t __wc);
1434: # 835 "/usr/include/wchar.h" 3 4
1434: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
ename _CharT2>
1417:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:       istreambuf_iterator<_CharT2> >::__type
1417:         find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1417:       const _CharT2&);
1417: 
1417:       template<typename _CharT2, typename _Distance>
1417:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:             void>::__type
1417:         advance(istreambuf_iterator<_CharT2>&, _Distance);
1417: 
1417:       friend void __istream_extract(istream&, char*, streamsize);
1417: 
1417:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1417:         friend basic_istream<_CharT2, _Traits2>&
1417:         operator>>(basic_istream<_CharT2, _Traits2>&,
1417:      basic_string<_CharT2, _Traits2, _Alloc>&);
1417: 
1417:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1417:         friend basic_istream<_CharT2, _Traits2>&
1417:         getline(basic_istream<_CharT2, _Traits2>&,
1417:   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       char_type* _M_in_beg;
1417:       char_type* _M_in_cur;
1417:       char_type* _M_in_end;
1417:       char_type* _M_out_beg;
1417:       char_type* _M_out_cur;
1417:       char_type* _M_out_end;
1417: 
1417: 
1417:       locale _M_buf_locale;
1417: 
1417:   public:
1417: 
1417:       virtual
1417:       ~basic_streambuf()
1417:       { }
1417: # 213 "/usr/include/c++/12/streambuf" 3
1417:       locale
1417:       pubimbue(const locale& __loc)
1417:       {
1417:  locale __tmp(this->getloc());
1417:  this->imbue(__loc);
1417:  _M_buf_locale = __loc;
1417:  return __tmp;
1417:       }
1417: # 230 "/usr/include/c++/12/streambuf" 3
1417:       locale
1417:       getloc() const
1417:       { return _M_buf_locale; }
1417: # 243 "/usr/include/c++/12/streambuf" 3
1417:       basic_streambuf*
1417:       pubsetbuf(char_type* __s, streamsize __n)
1417:       { return this->setbuf(__s, __n); }
1417: # 255 "/usr/include/c++/12/streambuf" 3
1417:       pos_type
1417:       pubseekoff(off_type __off, ios_base::seekdir __way,
1417:    ios_base::openmode __mode = ios_base::in | ios_base::out)
1417:       { return this->seekoff(__off, __way, __mode); }
1417: # 267 "/usr/include/c++/12/streambuf" 3
1417:       pos_type
1417:       pubseekpos(pos_type __sp,
1417:    ios_base::openmode __mode = ios_base::in | ios_base::out)
1417:       { return this->seekpos(__sp, __mode); }
1417: 
1417: 
1417: 
1417: 
1417:       int
1417:       pubsync() { return this->sync(); }
1417: # 288 "/usr/include/c++/12/streambuf" 3
1417:       streamsize
1417:       in_avail()
1417:       {
1417:  const streamsize __ret = this->egptr() - this->gptr();
1417:  return __ret ? __ret : this->showmanyc();
1417:       }
1417: # 302 "/usr/include/c++/12/streambuf" 3
1417:       int_type
1417:       snextc()
1417:       {
1417:  int_type __ret = traits_type::eof();
1417:  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
1417:              __ret), true))
1417:    __ret = this->sgetc();
1417:  return __ret;
1417:       }
1417: # 320 "/usr/include/c++/12/streambuf" 3
1417:       int_type
1417:       sbumpc()
1417:       {
1417:  int_type __ret;
1417:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1417:    {
1417:      __ret = traits_type::to_int_type(*this->gptr());
1417:      this->gbump(1);
1417:    }
1417:  else
1417:    __ret = this->uflow();
1417:  return __ret;
1417:       }
1417: # 342 "/usr/include/c++/12/streambuf" 3
1417:       int_type
1417:       sgetc()
1417:       {
1417:  int_type __ret;
1417:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1417:    __ret = traits_type::to_int_type(*this->gptr());
1417:  else
1417:    __ret = this->underflow();
1417:  return __ret;
1417:       }
1417: # 361 "/usr/include/c++/12/streambuf" 3
1417:       streamsize
1417:       sgetn(char_type* __s, streamsize __n)
1417:       { return this->xsgetn(__s, __n); }
1417: # 376 "/usr/include/c++/11434:      __FILE *__restrict __stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fputws_unlocked (const wchar_t *__restrict __ws,
1434:        __FILE *__restrict __stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
1434:    const wchar_t *__restrict __format,
1434:    const struct tm *__restrict __tp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
1434:      const wchar_t *__restrict __format,
1434:      const struct tm *__restrict __tp,
1434:      locale_t __loc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/wchar2-decl.h" 3 4
1434: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
1434:           const wchar_t *__restrict __s2, size_t __n,
1434:           size_t __ns1) noexcept (true);
1434: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
1434:     size_t __n, size_t __ns1) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
1434:     const wchar_t *__restrict __s2, size_t __n,
1434:     size_t __ns1) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
1434:           size_t __ns) noexcept (true);
1434: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
1434:          const wchar_t *__restrict __src,
1434:          size_t __n) noexcept (true);
1434: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
1434:          const wchar_t *__restrict __src,
1434:          size_t __destlen) noexcept (true);
1434: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
1434:           const wchar_t *__restrict __src, size_t __n,
1434:           size_t __destlen) noexcept (true);
1434: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
1434:           const wchar_t *__restrict __src, size_t __n,
1434:           size_t __destlen) noexcept (true);
1434: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
1434:          const wchar_t *__restrict __src,
1434:          size_t __destlen) noexcept (true);
1434: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
1434:           const wchar_t *__restrict __src,
1434:           size_t __n, size_t __destlen) noexcept (true);
1434: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
1434:       int __flag, size_t __s_len,
1434:       const wchar_t *__restrict __format, ...)
1434:      noexcept (true) ;
1434: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
1434:        int __flag, size_t __s_len,
1434:        const wchar_t *__restrict __format,
1434:        __gnuc_va_list __arg)
1434:      noexcept (true) ;
1434: 
1434: 
1434: 
1434: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
1434:       const wchar_t *__restrict __format, ...);
1434: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
1434:      ...);
1434: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
1434:        const wchar_t *__restrict __format,
1434:        __gnuc_va_list __ap);
1434: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
1434:       __gnuc_va_list __ap);
1434: 
1434: 
1434: 
1434: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
1434:          __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
1434:            int __n, __FILE *__restrict __stream)
1434:        __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
1434:         mbstate_t *__restrict __p,
1434:         size_t __buflen) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: extern size_t __mbsrtowcs_chk (wchar_t *__rc);
1412:       else
1412:  std::iter_swap(__result, __b);
1412:     }
1412: 
1412: 
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline _InputIterator
1412:     __find_if_not(_InputIterator __first, _InputIterator __last,
1412:     _Predicate __pred)
1412:     {
1412:       return std::__find_if(__first, __last,
1412:        __gnu_cxx::__ops::__negate(__pred),
1412:        std::__iterator_category(__first));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _Predicate, typename _Distance>
1412:    
1412:     _InputIterator
1412:     __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred)
1412:     {
1412:       for (; __len; --__len, (void) ++__first)
1412:  if (!__pred(__first))
1412:    break;
1412:       return __first;
1412:     }
1412: # 141 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     _ForwardIterator1
1412:     __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1412:       _BinaryPredicate __predicate)
1412:     {
1412: 
1412:       if (__first1 == __last1 || __first2 == __last2)
1412:  return __first1;
1412: 
1412: 
1412:       _ForwardIterator2 __p1(__first2);
1412:       if (++__p1 == __last2)
1412:  return std::__find_if(__first1, __last1,
1412:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1412: 
1412: 
1412:       _ForwardIterator1 __current = __first1;
1412: 
1412:       for (;;)
1412:  {
1412:    __first1 =
1412:      std::__find_if(__first1, __last1,
1412:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1412: 
1412:    if (__first1 == __last1)
1412:      return __last1;
1412: 
1412:    _ForwardIterator2 __p = __p1;
1412:    __current = __first1;
1412:    if (++__current == __last1)
1412:      return __last1;
1412: 
1412:    while (__predicate(__current, __p))
1412:      {
1412:        if (++__p == __last2)
1412:   return __first1;
1412:        if (++__current == __last1)
1412:   return __last1;
1412:      }
1412:    ++__first1;
1412:  }
1412:       return __first1;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Integer,
1412:     typename _UnaryPredicate>
1412:    
1412:     _ForwardIterator
1412:     __search_n_aux(_ForwardIterator __first, _ForwardIterator __last,
1412:      _Integer __count, _UnaryPredicate __unary_pred,
1412:      std::forward_iterator_tag)
1412:     {
1412:       __first = std::__find_if(__first, __last, __unary_pred);
1412:       while (__first != __last)
1412:  {
1412:    typename iterator_traits<_ForwardIterator>::difference_type
1412:      __n = __count;
1412:    _ForwardIterator __i = __first;
1412:    ++__i;
1412:    while (__i != __last && __n != 1 && __unary_pred(__i))
1412:      {
1412:        ++__i;
1412:        --__n;
1412:      }
1412:    if (__n == 1)
1412:      return __first;
1412:    if (__i == __last)
1412:      return __last;
1412:    __first = std::__find_if(++__i, __last, __unary_pred);
1412:  }
1412:       return __last;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _RandomAccessIter, typename _Integer,
1412:     typename _UnaryPredicate>
1412:    
1412:     _RandomAccessIter
1412:     __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last,
1412:      _Integer __count, _UnaryPredicate __unary_pred,
1412:      std::random_access_iterator_tag)
1412:     {
1412:       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
1412:  _DistanceType;
1412: 
1412:       _DistanceType __tailSize = __last - __first;
1412:       _DistanceType __remainder = __count;
1412: 
1412:       while (__remainder <= __tailSize)
1412:  {
1412:    __first += __remainder;
1412:    __tailSize -= __remainder;
1412: 
1412: 
1412:    _RandomAccessIter __backTrack = __first;
1412:    while (__unary_pred(--__backTrack))
1412:      {
1412:        if (estrict __dst,
1434:           const char **__restrict __src,
1434:           size_t __len, mbstate_t *__restrict __ps,
1434:           size_t __dstlen) noexcept (true);
1434: extern size_t __wcsrtombs_chk (char *__restrict __dst,
1434:           const wchar_t **__restrict __src,
1434:           size_t __len, mbstate_t *__restrict __ps,
1434:           size_t __dstlen) noexcept (true);
1434: 
1434: 
1434: 
1434: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
1434:     const char **__restrict __src, size_t __nmc,
1434:     size_t __len, mbstate_t *__restrict __ps,
1434:     size_t __dstlen) noexcept (true);
1434: extern size_t __wcsnrtombs_chk (char *__restrict __dst,
1434:     const wchar_t **__restrict __src,
1434:     size_t __nwc, size_t __len,
1434:     mbstate_t *__restrict __ps, size_t __dstlen)
1434:        noexcept (true);
1434: # 869 "/usr/include/wchar.h" 2 3 4
1434: # 879 "/usr/include/wchar.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1434: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmemcpy")
1434: 
1434: 
1434:             ;
1434: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemcpy_chk")
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer")))
1434:             ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1434: 
1434:                        ;
1434: }
1434: 
1434: 
1434: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true) __asm__ ("" "wmemmove")
1434: 
1434:                                ;
1434: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmemmove_chk")
1434: 
1434: 
1434:      __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer")))
1434:             ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) noexcept (true)
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmemmove_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -12/streambuf" 3
1417:       int_type
1417:       sputbackc(char_type __c)
1417:       {
1417:  int_type __ret;
1417:  const bool __testpos = this->eback() < this->gptr();
1417:  if (__builtin_expect(!__testpos ||
1417:         !traits_type::eq(__c, this->gptr()[-1]), false))
1417:    __ret = this->pbackfail(traits_type::to_int_type(__c));
1417:  else
1417:    {
1417:      this->gbump(-1);
1417:      __ret = traits_type::to_int_type(*this->gptr());
1417:    }
1417:  return __ret;
1417:       }
1417: # 401 "/usr/include/c++/12/streambuf" 3
1417:       int_type
1417:       sungetc()
1417:       {
1417:  int_type __ret;
1417:  if (__builtin_expect(this->eback() < this->gptr(), true))
1417:    {
1417:      this->gbump(-1);
1417:      __ret = traits_type::to_int_type(*this->gptr());
1417:    }
1417:  else
1417:    __ret = this->pbackfail();
1417:  return __ret;
1417:       }
1417: # 428 "/usr/include/c++/12/streambuf" 3
1417:       int_type
1417:       sputc(char_type __c)
1417:       {
1417:  int_type __ret;
1417:  if (__builtin_expect(this->pptr() < this->epptr(), true))
1417:    {
1417:      *this->pptr() = __c;
1417:      this->pbump(1);
1417:      __ret = traits_type::to_int_type(__c);
1417:    }
1417:  else
1417:    __ret = this->overflow(traits_type::to_int_type(__c));
1417:  return __ret;
1417:       }
1417: # 454 "/usr/include/c++/12/streambuf" 3
1417:       streamsize
1417:       sputn(const char_type* __s, streamsize __n)
1417:       { return this->xsputn(__s, __n); }
1417: 
1417:     protected:
1417: # 468 "/usr/include/c++/12/streambuf" 3
1417:       basic_streambuf()
1417:       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
1417:       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
1417:       _M_buf_locale(locale())
1417:       { }
1417: # 486 "/usr/include/c++/12/streambuf" 3
1417:       char_type*
1417:       eback() const { return _M_in_beg; }
1417: 
1417:       char_type*
1417:       gptr() const { return _M_in_cur; }
1417: 
1417:       char_type*
1417:       egptr() const { return _M_in_end; }
1417: # 502 "/usr/include/c++/12/streambuf" 3
1417:       void
1417:       gbump(int __n) { _M_in_cur += __n; }
1417: # 513 "/usr/include/c++/12/streambuf" 3
1417:       void
1417:       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
1417:       {
1417:  _M_in_beg = __gbeg;
1417:  _M_in_cur = __gnext;
1417:  _M_in_end = __gend;
1417:       }
1417: # 533 "/usr/include/c++/12/streambuf" 3
1417:       char_type*
1417:       pbase() const { return _M_out_beg; }
1417: 
1417:       char_type*
1417:       pptr() const { return _M_out_cur; }
1417: 
1417:       char_type*
1417:       epptr() const { return _M_out_end; }
1417: # 549 "/usr/include/c++/12/streambuf" 3
1417:       void
1417:       pbump(int __n) { _M_out_cur += __n; }
1417: # 559 "/usr/include/c++/12/streambuf" 3
1417:       void
1417:       setp(char_type* __pbeg, char_type* __pend)
1417:       {
1417:  _M_out_beg = _M_out_cur = __pbeg;
1417:  _M_out_end = __pend;
1417:       }
1417: # 580 "/usr/include/c++/12/streambuf" 3
1417:       virtual void
1417:       imbue(const locale& __loc __attribute__ ((__unused__)))
1417:       { }
1417: # 595 "/usr/include/c++/12/streambuf" 3
1417:       virtual basic_streambuf<char_type,_Traits>*
1417:       setbuf(char_type*, streamsize)
1417:       { return this; }
1417: # 606 "/usr/include/c++/12/streambuf" 3
1417:       virtual pos_type
1417:       seekoff(off_type, ios_base::seekdir,
1417:        ios_base::openmode = ios_base::in | ios_base::out)
1417:       { return pos_type(off_type(-1)); }
1417: # 618 "/usr/include/c++/12/streambuf" 3
1417:       virtual pos_type
1417:       seekpos(pos_type,
1417:        ios_base::openmode = ios_base::in | ios_base::out)
1417:       { return pos_type(off_type(-1)); }
1417: # 631 "/usr/include/c++/12/streambuf" 3
1417:       virtual int
1417:       sync() { return 0; }
1417: # 653 "/usr/include/c++/12/streambuf" 3
1417:       virtual streamsize
1417:       showmanyc() { return 0; }
1417: # 669 "/usr/include/c++/12/streambuf" 3
1417:       virtual streamsize
1417:       xsgetn(c || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmemmove_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmemmove_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1434: 
1434:                        ;
1434: }
1434: 
1434: 
1434: 
1434: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true) __asm__ ("" "wmempcpy")
1434: 
1434: 
1434:                            ;
1434: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) noexcept (true) __asm__ ("" "__wmempcpy_chk")
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer")))
1434:             ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__s1, 0)) && (__builtin_object_size (__s1, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s1, 0))) / ((sizeof (wchar_t)))))) ? __wmempcpy_alias (__s1, __s2, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))) ? __wmempcpy_chk_warn (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t))) : __wmempcpy_chk (__s1, __s2, __n, (__builtin_object_size (__s1, 0)) / (sizeof (wchar_t)))))
1434: 
1434:                        ;
1434: }
1434: 
1434: 
1434: 
1434: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true) __asm__ ("" "wmemset")
1434:                              ;
1434: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) noexcept (true) __asm__ ("" "__wmemset_chk")
1434: 
1434: 
1434:      __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer")))
1434:             ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true)
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__s, 0)) && (__builtin_object_size (__s, 0)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__s, 0))) / ((sizeof (wchar_t)))))) ? __wmemset_alias (__s, __c, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))) ? __wmemset_chk_warn (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t))) : __wmemset_chk (__s, __c, __n, (__builtin_object_size (__s, 0)) / (sizeof (wchar_t)))))
1434: 
1434:                      ;
1434: }
1434: 
1434: 
1434: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noe--__remainder == 0)
1412:   return (__first - __count);
1412:      }
1412:    __remainder = __count + 1 - (__first - __backTrack);
1412:  }
1412:       return __last;
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Integer,
1412:     typename _UnaryPredicate>
1412:    
1412:     _ForwardIterator
1412:     __search_n(_ForwardIterator __first, _ForwardIterator __last,
1412:         _Integer __count,
1412:         _UnaryPredicate __unary_pred)
1412:     {
1412:       if (__count <= 0)
1412:  return __first;
1412: 
1412:       if (__count == 1)
1412:  return std::__find_if(__first, __last, __unary_pred);
1412: 
1412:       return std::__search_n_aux(__first, __last, __count, __unary_pred,
1412:      std::__iterator_category(__first));
1412:     }
1412: 
1412: 
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     _ForwardIterator1
1412:     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1412:         forward_iterator_tag, forward_iterator_tag,
1412:         _BinaryPredicate __comp)
1412:     {
1412:       if (__first2 == __last2)
1412:  return __last1;
1412: 
1412:       _ForwardIterator1 __result = __last1;
1412:       while (1)
1412:  {
1412:    _ForwardIterator1 __new_result
1412:      = std::__search(__first1, __last1, __first2, __last2, __comp);
1412:    if (__new_result == __last1)
1412:      return __result;
1412:    else
1412:      {
1412:        __result = __new_result;
1412:        __first1 = __new_result;
1412:        ++__first1;
1412:      }
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     _BidirectionalIterator1
1412:     __find_end(_BidirectionalIterator1 __first1,
1412:         _BidirectionalIterator1 __last1,
1412:         _BidirectionalIterator2 __first2,
1412:         _BidirectionalIterator2 __last2,
1412:         bidirectional_iterator_tag, bidirectional_iterator_tag,
1412:         _BinaryPredicate __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
1412:       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
1412: 
1412:       _RevIterator1 __rlast1(__first1);
1412:       _RevIterator2 __rlast2(__first2);
1412:       _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1,
1412:            _RevIterator2(__last2), __rlast2,
1412:            __comp);
1412: 
1412:       if (__rresult == __rlast1)
1412:  return __last1;
1412:       else
1412:  {
1412:    _BidirectionalIterator1 __result = __rresult.base();
1412:    std::advance(__result, -std::distance(__first2, __last2));
1412:    return __result;
1412:  }
1412:     }
1412: # 367 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1412:    
1412:     inline _ForwardIterator1
1412:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__find_end(__first1, __last1, __first2, __last2,
1412:         std::__iterator_category(__first1),
1412:         std::__iterator_category(__first2),
1412:         __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: # 416 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline _ForwardIterator1
1412:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1412:       _BinaryPredicate __comp)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__fixcept (true) __asm__ ("" "wcscpy")
1434: 
1434:                                               ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1434: {
1434:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1434:   if (sz != (size_t) -1)
1434:     return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t));
1434:   return __wcscpy_alias (__dest, __src);
1434: }
1434: 
1434: 
1434: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcpcpy")
1434: 
1434:                                               ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1434: {
1434:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1434:   if (sz != (size_t) -1)
1434:     return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t));
1434:   return __wcpcpy_alias (__dest, __src);
1434: }
1434: 
1434: 
1434: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncpy")
1434: 
1434: 
1434:                           ;
1434: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcsncpy_chk")
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer")))
1434:             ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest, 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcsncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcsncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcsncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1434: 
1434:                           ;
1434: }
1434: 
1434: 
1434: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcpncpy")
1434: 
1434: 
1434:                           ;
1434: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) noexcept (true) __asm__ ("" "__wcpncpy_chk")
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer")))
1434:             ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__dest, 2 > 1)) && (__builtin_object_size (__dest,har_type* __s, streamsize __n);
1417: # 691 "/usr/include/c++/12/streambuf" 3
1417:       virtual int_type
1417:       underflow()
1417:       { return traits_type::eof(); }
1417: # 704 "/usr/include/c++/12/streambuf" 3
1417:       virtual int_type
1417:       uflow()
1417:       {
1417:  int_type __ret = traits_type::eof();
1417:  const bool __testeof = traits_type::eq_int_type(this->underflow(),
1417:        __ret);
1417:  if (!__testeof)
1417:    {
1417:      __ret = traits_type::to_int_type(*this->gptr());
1417:      this->gbump(1);
1417:    }
1417:  return __ret;
1417:       }
1417: # 728 "/usr/include/c++/12/streambuf" 3
1417:       virtual int_type
1417:       pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
1417:       { return traits_type::eof(); }
1417: # 746 "/usr/include/c++/12/streambuf" 3
1417:       virtual streamsize
1417:       xsputn(const char_type* __s, streamsize __n);
1417: # 772 "/usr/include/c++/12/streambuf" 3
1417:       virtual int_type
1417:       overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
1417:       { return traits_type::eof(); }
1417: # 799 "/usr/include/c++/12/streambuf" 3
1417:       void
1417:       __safe_gbump(streamsize __n) { _M_in_cur += __n; }
1417: 
1417:       void
1417:       __safe_pbump(streamsize __n) { _M_out_cur += __n; }
1417: 
1417: 
1417: 
1417: 
1417:     protected:
1417: 
1417:       basic_streambuf(const basic_streambuf&);
1417: 
1417:       basic_streambuf&
1417:       operator=(const basic_streambuf&);
1417: 
1417: 
1417:       void
1417:       swap(basic_streambuf& __sb)
1417:       {
1417:  std::swap(_M_in_beg, __sb._M_in_beg);
1417:  std::swap(_M_in_cur, __sb._M_in_cur);
1417:  std::swap(_M_in_end, __sb._M_in_end);
1417:  std::swap(_M_out_beg, __sb._M_out_beg);
1417:  std::swap(_M_out_cur, __sb._M_out_cur);
1417:  std::swap(_M_out_end, __sb._M_out_end);
1417:  std::swap(_M_buf_locale, __sb._M_buf_locale);
1417:       }
1417: 
1417:     };
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     std::basic_streambuf<_CharT, _Traits>::
1417:     basic_streambuf(const basic_streambuf&) = default;
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     std::basic_streambuf<_CharT, _Traits>&
1417:     std::basic_streambuf<_CharT, _Traits>::
1417:     operator=(const basic_streambuf&) = default;
1417: 
1417: 
1417: 
1417:   template<>
1417:     streamsize
1417:     __copy_streambufs_eof(basic_streambuf<char>* __sbin,
1417:      basic_streambuf<char>* __sbout, bool& __ineof);
1417: 
1417:   template<>
1417:     streamsize
1417:     __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
1417:      basic_streambuf<wchar_t>* __sbout, bool& __ineof);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/streambuf.tcc" 1 3
1417: # 37 "/usr/include/c++/12/bits/streambuf.tcc" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/streambuf.tcc" 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     streamsize
1417:     basic_streambuf<_CharT, _Traits>::
1417:     xsgetn(char_type* __s, streamsize __n)
1417:     {
1417:       streamsize __ret = 0;
1417:       while (__ret < __n)
1417:  {
1417:    const streamsize __buf_len = this->egptr() - this->gptr();
1417:    if (__buf_len)
1417:      {
1417:        const streamsize __remaining = __n - __ret;
1417:        const streamsize __len = std::min(__buf_len, __remaining);
1417:        traits_type::copy(__s, this->gptr(), __len);
1417:        __ret += __len;
1417:        __s += __len;
1417:        this->__safe_gbump(__len);
1417:      }
1417: 
1417:    if (__ret < __n)
1417:      {
1417:        const int_type __c = this->uflow();
1417:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1417:   {
1417:     traits_type::assign(*__s++, traits_type::to_char_type(__c));
1417:     ++__ret;
1417:   }
1417:        else
1417:   break;
1417:      }
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   templ 2 > 1)) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((__builtin_object_size (__dest, 2 > 1))) / ((sizeof (wchar_t)))))) ? __wcpncpy_alias (__dest, __src, __n) : ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))) ? __wcpncpy_chk_warn (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t))) : __wcpncpy_chk (__dest, __src, __n, (__builtin_object_size (__dest, 2 > 1)) / (sizeof (wchar_t)))))
1434: 
1434:                           ;
1434: }
1434: 
1434: 
1434: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true) __asm__ ("" "wcscat")
1434: 
1434:                                               ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) noexcept (true)
1434: {
1434:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1434:   if (sz != (size_t) -1)
1434:     return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t));
1434:   return __wcscat_alias (__dest, __src);
1434: }
1434: 
1434: 
1434: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true) __asm__ ("" "wcsncat")
1434: 
1434: 
1434:                           ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
1434: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) noexcept (true)
1434: 
1434: {
1434:   size_t sz = __builtin_object_size (__dest, 2 > 1);
1434:   if (sz != (size_t) -1)
1434:     return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t));
1434:   return __wcsncat_alias (__dest, __src, __n);
1434: }
1434: 
1434: 
1434: 
1434: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true) __asm__ ("" "swprintf")
1434: 
1434: 
1434:              ;
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) noexcept (true)
1434: 
1434: {
1434:   size_t sz = __builtin_object_size (__s, 2 > 1);
1434:   if (sz != (size_t) -1 || 2 > 1)
1434:     return __swprintf_chk (__s, __n, 2 - 1,
1434:       sz / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ());
1434:   return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ());
1434: }
1434: # 230 "/usr/include/arm-linux-gnueabihf/bits/wchar2.h" 3 4
1434: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true) __asm__ ("" "vswprintf")
1434: 
1434: 
1434:                                      ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1434: 
1434: {
1434:   size_t sz = __builtin_object_size (__s, 2 > 1);
1434:   if (sz != (size_t) -1 || 2 > 1)
1434:     return __vswprintf_chk (__s, __n, 2 - 1,
1434:        sz / sizeof (wchar_t), __fmt, __ap);
1434:   return __vswprintf_alias (__s, __n, __fmt, __ap);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inlinend_end(__first1, __last1, __first2, __last2,
1412:         std::__iterator_category(__first1),
1412:         std::__iterator_category(__first2),
1412:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: # 452 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline bool
1412:     all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1412:     { return __last == std::find_if_not(__first, __last, __pred); }
1412: # 470 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline bool
1412:     none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1412:     { return __last == std::find_if(__first, __last, __pred); }
1412: # 489 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline bool
1412:     any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1412:     { return !std::none_of(__first, __last, __pred); }
1412: # 505 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline _InputIterator
1412:     find_if_not(_InputIterator __first, _InputIterator __last,
1412:   _Predicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       return std::__find_if_not(__first, __last,
1412:     __gnu_cxx::__ops::__pred_iter(__pred));
1412:     }
1412: # 530 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline bool
1412:     is_partitioned(_InputIterator __first, _InputIterator __last,
1412:      _Predicate __pred)
1412:     {
1412:       __first = std::find_if_not(__first, __last, __pred);
1412:       if (__first == __last)
1412:  return true;
1412:       ++__first;
1412:       return std::none_of(__first, __last, __pred);
1412:     }
1412: # 552 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Predicate>
1412:    
1412:     _ForwardIterator
1412:     partition_point(_ForwardIterator __first, _ForwardIterator __last,
1412:       _Predicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412: 
1412:       ;
1412: 
1412:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1412:  _DistanceType;
1412: 
1412:       _DistanceType __len = std::distance(__first, __last);
1412: 
1412:       while (__len > 0)
1412:  {
1412:    _DistanceType __half = __len >> 1;
1412:    _ForwardIterator __middle = __first;
1412:    std::advance(__middle, __half);
1412:    if (__pred(*__middle))
1412:      {
1412:        __first = __middle;
1412:        ++__first;
1412:        __len = __len - __half - 1;
1412:      }
1412:    else
1412:      __len = __half;
1412:  }
1412:       return __first;
1412:     }
1412: 
1412: 
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _Predicate>
1412:    
1412:     _OutputIterator
1412:     __remove_copy_if(_InputIterator __first, _InputIterator __last,
1412:        _OutputIterator __result, _Predicate __pred)
1412:     {
1412:       for (; __first != __last; ++__first)
1412:  if (!__pred(__first))
1412:    {
1412:      *__result = *__first;
1412:      ++__result;
1412:    }
1412:       return __result;
1412:     }
1412: # 619 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1412:    
1412:     inline _OutputIterator
1412:     remove_copy(_InputIterator __first, _InputIterator __last,
1412:   _OutputIterator __result, const _Tp& __value)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__remove_copy_if(__first, __last, __result,
1412:  __gnu_cxx::__ops::__iter_equals_val(__value));
1412:     }
1412: # 652 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterato__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: wprintf (const wchar_t *__restrict __fmt, ...)
1434: {
1434:   return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
1434: {
1434:   return __fwprintf_chk (__stream, 2 - 1, __fmt,
1434:     __builtin_va_arg_pack ());
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1434: {
1434:   return __vwprintf_chk (2 - 1, __fmt, __ap);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: vfwprintf (__FILE *__restrict __stream,
1434:     const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
1434: {
1434:   return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap);
1434: }
1434: 
1434: 
1434: 
1434: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws")
1434: 
1434:                                               __attribute__ ((__warn_unused_result__));
1434: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk")
1434: 
1434: 
1434:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer")))
1434:                                  ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1434: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1434: {
1434:   size_t sz = __builtin_object_size (__s, 2 > 1);
1434:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t)))))))
1434:     return __fgetws_alias (__s, __n, __stream);
1434:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1434:     return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream);
1434:   return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1434: }
1434: 
1434: 
1434: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked")
1434: 
1434: 
1434:   __attribute__ ((__warn_unused_result__));
1434: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk")
1434: 
1434: 
1434: 
1434:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer")))
1434:                                  ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
1434: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
1434: {
1434:   size_t sz = __builtin_object_size (__s, 2 > 1);
1434:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (wchar_t))))) && (((unsigned int) (__n)) <= ((sz)) / ((ate<typename _CharT, typename _Traits>
1417:     streamsize
1417:     basic_streambuf<_CharT, _Traits>::
1417:     xsputn(const char_type* __s, streamsize __n)
1417:     {
1417:       streamsize __ret = 0;
1417:       while (__ret < __n)
1417:  {
1417:    const streamsize __buf_len = this->epptr() - this->pptr();
1417:    if (__buf_len)
1417:      {
1417:        const streamsize __remaining = __n - __ret;
1417:        const streamsize __len = std::min(__buf_len, __remaining);
1417:        traits_type::copy(this->pptr(), __s, __len);
1417:        __ret += __len;
1417:        __s += __len;
1417:        this->__safe_pbump(__len);
1417:      }
1417: 
1417:    if (__ret < __n)
1417:      {
1417:        int_type __c = this->overflow(traits_type::to_int_type(*__s));
1417:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1417:   {
1417:     ++__ret;
1417:     ++__s;
1417:   }
1417:        else
1417:   break;
1417:      }
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     streamsize
1417:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
1417:      basic_streambuf<_CharT, _Traits>* __sbout,
1417:      bool& __ineof)
1417:     {
1417:       streamsize __ret = 0;
1417:       __ineof = true;
1417:       typename _Traits::int_type __c = __sbin->sgetc();
1417:       while (!_Traits::eq_int_type(__c, _Traits::eof()))
1417:  {
1417:    __c = __sbout->sputc(_Traits::to_char_type(__c));
1417:    if (_Traits::eq_int_type(__c, _Traits::eof()))
1417:      {
1417:        __ineof = false;
1417:        break;
1417:      }
1417:    ++__ret;
1417:    __c = __sbin->snextc();
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline streamsize
1417:     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
1417:         basic_streambuf<_CharT, _Traits>* __sbout)
1417:     {
1417:       bool __ineof;
1417:       return __copy_streambufs_eof(__sbin, __sbout, __ineof);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   extern template class basic_streambuf<char>;
1417: 
1417:   extern template
1417:     streamsize
1417:     __copy_streambufs(basic_streambuf<char>*,
1417:         basic_streambuf<char>*);
1417: 
1417: 
1417:   extern template class basic_streambuf<wchar_t>;
1417: 
1417:   extern template
1417:     streamsize
1417:     __copy_streambufs(basic_streambuf<wchar_t>*,
1417:         basic_streambuf<wchar_t>*);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 859 "/usr/include/c++/12/streambuf" 2 3
1417: # 45 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/streambuf_iterator.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     class istreambuf_iterator
1417:     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
1417:         _CharT*, _CharT>
1417:     {
1417:     public:
1417: # 69 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417:       typedef typename _Traits::int_type int_type;
1417:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1417:       typedef basic_istream<_CharT, _Traits> istream_type;
1417: 
1417: 
1417:       template<typename _CharT2>
1417:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:         ostreambuf_iterator<_CharT2> >::__type
1417:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1417:       ostreambuf_iterator<_CharT2>);
1417: 
1417:       template<bool _IsMove, typename _CharT2>
1417:  friend typename __gnu_csizeof (wchar_t)))))))
1434:     return __fgetws_unlocked_alias (__s, __n, __stream);
1434:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (wchar_t)))))
1434:     return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n,
1434:            __stream);
1434:   return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream);
1434: }
1434: 
1434: 
1434: 
1434: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcrtomb")
1434: 
1434:                                                 __attribute__ ((__warn_unused_result__));
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1434: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) noexcept (true)
1434: 
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1434:       && 16 > __builtin_object_size (__s, 2 > 1))
1434:     return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1));
1434:   return __wcrtomb_alias (__s, __wchar, __ps);
1434: }
1434: 
1434: 
1434: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsrtowcs")
1434: 
1434: 
1434: 
1434:                    ;
1434: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsrtowcs_chk")
1434: 
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1434:                         ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1434: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsrtowcs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsrtowcs_chk (__dst, __src, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1434: 
1434:                                  ;
1434: }
1434: 
1434: 
1434: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsrtombs")
1434: 
1434: 
1434: 
1434:                    ;
1434: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsrtombs_chk")
1434: 
1434: 
1434: 
1434: 
1434:     __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len")));
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) _r,
1412:     typename _Predicate>
1412:    
1412:     inline _OutputIterator
1412:     remove_copy_if(_InputIterator __first, _InputIterator __last,
1412:      _OutputIterator __result, _Predicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__remove_copy_if(__first, __last, __result,
1412:        __gnu_cxx::__ops::__pred_iter(__pred));
1412:     }
1412: # 687 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _Predicate>
1412:    
1412:     _OutputIterator
1412:     copy_if(_InputIterator __first, _InputIterator __last,
1412:      _OutputIterator __result, _Predicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       for (; __first != __last; ++__first)
1412:  if (__pred(*__first))
1412:    {
1412:      *__result = *__first;
1412:      ++__result;
1412:    }
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1412:    
1412:     _OutputIterator
1412:     __copy_n(_InputIterator __first, _Size __n,
1412:       _OutputIterator __result, input_iterator_tag)
1412:     {
1412:       return std::__niter_wrap(__result,
1412:           __copy_n_a(__first, __n,
1412:        std::__niter_base(__result), true));
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Size,
1412:     typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     __copy_n(_RandomAccessIterator __first, _Size __n,
1412:       _OutputIterator __result, random_access_iterator_tag)
1412:     { return std::copy(__first, __first + __n, __result); }
1412: # 743 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     copy_n(_InputIterator __first, _Size __n, _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412:       const auto __n2 = std::__size_to_integer(__n);
1412:       if (__n2 <= 0)
1412:  return __result;
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__copy_n(__first, __n2, __result,
1412:       std::__iterator_category(__first));
1412:     }
1412: # 779 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator1,
1412:     typename _OutputIterator2, typename _Predicate>
1412:    
1412:     pair<_OutputIterator1, _OutputIterator2>
1412:     partition_copy(_InputIterator __first, _InputIterator __last,
1412:      _OutputIterator1 __out_true, _OutputIterator2 __out_false,
1412:      _Predicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       for (; __first != __last; ++__first)
1412:  if (__pred(*__first))
1412:    {
1412:      *__out_true = *__first;
1412:      ++__out_true;
1412:    }
1412:  else
1412:    {
1412:      *__out_false = *__first;
1412:      ++__out_false;
1412:    }
1412: 
1412:       return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false);
1412:     }
1412: # 830 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline _ForwardIterator
1412:     remove(_ForwardIterator __first, _ForwardIterator __last,
1412:     const _Tp& __value)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__remove_if(__first, __last,
1412:   __gnu_cxx::__ops::__iter_equals_val(__value));
1412:     }
1412: # 864 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Predicate>
1412:    
1412:     inline _ForwardIterator
1412:     remove_if(_ForwardIterator __first, _ForwardIterator __last,
1412:        _Predicate __pred)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__remove_if(__first, __last,
1412:          ___attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1434: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsrtombs_alias (__dst, __src, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1434: 
1434:                                ;
1434: }
1434: 
1434: 
1434: 
1434: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "mbsnrtowcs")
1434: 
1434: 
1434: 
1434:                     ;
1434: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__mbsnrtowcs_chk")
1434: 
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1434:                         ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1434: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1434: 
1434:                                         ;
1434: }
1434: 
1434: 
1434: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true) __asm__ ("" "wcsnrtombs")
1434: 
1434: 
1434: 
1434:                                                   ;
1434: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) noexcept (true) __asm__ ("" "__wcsnrtombs_chk")
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len")));
1434: 
1434: extern __inline __attribute__ ((__alxx::__enable_if<__is_char<_CharT2>::__value,
1417:             _CharT2*>::__type
1417:  __copy_move_a2(istreambuf_iterator<_CharT2>,
1417:          istreambuf_iterator<_CharT2>, _CharT2*);
1417: 
1417:       template<typename _CharT2, typename _Size>
1417:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:             _CharT2*>::__type
1417:  __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool);
1417: 
1417:       template<typename _CharT2>
1417:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:         istreambuf_iterator<_CharT2> >::__type
1417:  find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1417:       const _CharT2&);
1417: 
1417:       template<typename _CharT2, typename _Distance>
1417:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:             void>::__type
1417:  advance(istreambuf_iterator<_CharT2>&, _Distance);
1417: 
1417:     private:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       mutable streambuf_type* _M_sbuf;
1417:       int_type _M_c;
1417: 
1417:     public:
1417: 
1417:       constexpr istreambuf_iterator() noexcept
1417:       : _M_sbuf(0), _M_c(traits_type::eof()) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
1417: 
1417:       ~istreambuf_iterator() = default;
1417: 
1417: 
1417: 
1417:       istreambuf_iterator(istream_type& __s) noexcept
1417:       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
1417: 
1417: 
1417:       istreambuf_iterator(streambuf_type* __s) noexcept
1417:       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
1417: 
1417: 
1417:       istreambuf_iterator&
1417:       operator=(const istreambuf_iterator&) noexcept = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       char_type
1417:       operator*() const
1417:       {
1417:  int_type __c = _M_get();
1417: # 160 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1417:  return traits_type::to_char_type(__c);
1417:       }
1417: 
1417: 
1417:       istreambuf_iterator&
1417:       operator++()
1417:       {
1417: 
1417: 
1417: 
1417:                         ;
1417: 
1417:  _M_sbuf->sbumpc();
1417:  _M_c = traits_type::eof();
1417:  return *this;
1417:       }
1417: 
1417: 
1417:       istreambuf_iterator
1417:       operator++(int)
1417:       {
1417: 
1417: 
1417: 
1417:                         ;
1417: 
1417:  istreambuf_iterator __old = *this;
1417:  __old._M_c = _M_sbuf->sbumpc();
1417:  _M_c = traits_type::eof();
1417:  return __old;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       bool
1417:       equal(const istreambuf_iterator& __b) const
1417:       { return _M_at_eof() == __b._M_at_eof(); }
1417: 
1417:     private:
1417:       int_type
1417:       _M_get() const
1417:       {
1417:  int_type __ret = _M_c;
1417:  if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
1417:    _M_sbuf = 0;
1417:  return __ret;
1417:       }
1417: 
1417:       bool
1417:       _M_at_eof() const
1417:       { return _S_is_eof(_M_get()); }
1417: 
1417:       static bool
1417:       _S_is_eof(int_type __c)
1417:       {
1417:  const int_type __eof = traits_type::eof();
1417:  return traits_type::eq_int_type(__c, __eof);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     };
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
1417:         const istreambuf_iterator<_CharT, _Traits>& __b)
1417:     { return __a.equal(__b); }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     [[__nodiscard__]]
1417:     inline bool
1417:     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
1417:         const istreambuf_iterator<_CharT, _Traits>& __b)
1417:     { return !__a.equal(__b); }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     class ostreambways_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1434: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)) : __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1))))
1434: 
1434:                                       ;
1434: }
1434: # 880 "/usr/include/wchar.h" 2 3 4
1434: 
1434: 
1434: }
1434: # 45 "/usr/include/c++/12/cwchar" 2 3
1434: # 62 "/usr/include/c++/12/cwchar" 3
1434: namespace std
1434: {
1434:   using ::mbstate_t;
1434: }
1434: # 135 "/usr/include/c++/12/cwchar" 3
1434: extern "C++"
1434: {
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   using ::wint_t;
1434: 
1434:   using ::btowc;
1434:   using ::fgetwc;
1434:   using ::fgetws;
1434:   using ::fputwc;
1434:   using ::fputws;
1434:   using ::fwide;
1434:   using ::fwprintf;
1434:   using ::fwscanf;
1434:   using ::getwc;
1434:   using ::getwchar;
1434:   using ::mbrlen;
1434:   using ::mbrtowc;
1434:   using ::mbsinit;
1434:   using ::mbsrtowcs;
1434:   using ::putwc;
1434:   using ::putwchar;
1434: 
1434:   using ::swprintf;
1434: 
1434:   using ::swscanf;
1434:   using ::ungetwc;
1434:   using ::vfwprintf;
1434: 
1434:   using ::vfwscanf;
1434: 
1434: 
1434:   using ::vswprintf;
1434: 
1434: 
1434:   using ::vswscanf;
1434: 
1434:   using ::vwprintf;
1434: 
1434:   using ::vwscanf;
1434: 
1434:   using ::wcrtomb;
1434:   using ::wcscat;
1434:   using ::wcscmp;
1434:   using ::wcscoll;
1434:   using ::wcscpy;
1434:   using ::wcscspn;
1434:   using ::wcsftime;
1434:   using ::wcslen;
1434:   using ::wcsncat;
1434:   using ::wcsncmp;
1434:   using ::wcsncpy;
1434:   using ::wcsrtombs;
1434:   using ::wcsspn;
1434:   using ::wcstod;
1434: 
1434:   using ::wcstof;
1434: 
1434:   using ::wcstok;
1434:   using ::wcstol;
1434:   using ::wcstoul;
1434:   using ::wcsxfrm;
1434:   using ::wctob;
1434:   using ::wmemcmp;
1434:   using ::wmemcpy;
1434:   using ::wmemmove;
1434:   using ::wmemset;
1434:   using ::wprintf;
1434:   using ::wscanf;
1434:   using ::wcschr;
1434:   using ::wcspbrk;
1434:   using ::wcsrchr;
1434:   using ::wcsstr;
1434:   using ::wmemchr;
1434: # 234 "/usr/include/c++/12/cwchar" 3
1434: 
1434: }
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace __gnu_cxx
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   using ::wcstold;
1434: # 260 "/usr/include/c++/12/cwchar" 3
1434:   using ::wcstoll;
1434:   using ::wcstoull;
1434: 
1434: }
1434: 
1434: namespace std
1434: {
1434:   using ::__gnu_cxx::wcstold;
1434:   using ::__gnu_cxx::wcstoll;
1434:   using ::__gnu_cxx::wcstoull;
1434: }
1434: # 280 "/usr/include/c++/12/cwchar" 3
1434: namespace std
1434: {
1434: 
1434:   using std::wcstof;
1434: 
1434: 
1434:   using std::vfwscanf;
1434: 
1434: 
1434:   using std::vswscanf;
1434: 
1434: 
1434:   using std::vwscanf;
1434: 
1434: 
1434: 
1434:   using std::wcstold;
1434:   using std::wcstoll;
1434:   using std::wcstoull;
1434: 
1434: }
1434: # 41 "/usr/include/c++/12/bits/postypes.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 62 "/usr/include/c++/12/bits/postypes.h" 3
1434:   typedef long long int streamoff;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   typedef ptrdiff_t streamsize;
1434: # 81 "/usr/include/c++/12/bits/postypes.h" 3
1434:   template<typename _StateT>
1434:     class fpos
1434:     {
1434:     private:
1434:       streamoff _M_off;
1434:       _StateT _M_state;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434:       fpos()
1434:       : _M_off(0), _M_state() { }
1434: # 103 "/usr/include/c++/12/bits/postypes.h" 3
1434:       fpos(streamoff __off)
1434:       : _M_off(__off), _M_state() { }
1434: 
1434: 
1434:       fpos(const fpos&) = default;
1434:       fpos& operator=(const fpos&) = default;
1434:       ~fpos() = default;
1434: 
1434: 
1434: 
1434:       operator streamoff() const { return _M_off; }
1434: 
1434: 
1434:       void
1434:       state(_StateT __st)
1434:       { _M_state = __st; }
1434: 
1434: 
1434:       _StateT
1434:       state() const
1434:       { return _M_state; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       fpos&
1434:       operator+=(streamoff __off)
1434:       {
1434:  _M_off += __off;
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       fpos&
1434:       operator-=(streamoff __off)
1434:       {
1434:  _M_off -= __off;
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       fpos
1434:       operator+(streamoff __off) const
1434:       {
1434:  fpos __pos(*this);
1434:  __pos += __off;
1434:  return __pos;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       fpos
1434:       operator-(streamoff __off) const
1434:       {
1434:  fpos __pos(*this);
1434:  __pos -= __off;
1434:  return __pos;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       streamoff
1434:       operator-(const fpos& __other) const
1434:       { return _M_off - __other._M_off; }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _StateT>
1434:     inline bool
1434:     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1434:     { return streamoff(__lhs) == streamoff(__rhs); }
1434: 
1434:   template<typename _StateT>
1434:     inline bool
1434:     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
1434:     { return streamoff(__lhs) != streamoff(__rhs); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   typedef fpos<mbstate_t> streampos;
1434: 
1434:   typedef fpos<mbstate_t> wstreampos;
1434: # 215 "/usr/include/c++/12/bits/postypes.h" 3
1434:   typedef fpos<mbstate_t> u16streampos;
1434: 
1434:   typedef fpos<mbstate_t> u32streampos;
1434: 
1434: 
1434: 
1434: }
1434: # 41 "/usr/include/c++/12/iosfwd" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 74 "/usr/include/c++/12/iosfwd" 3
1434:   class ios_base;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_ios;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_streambuf;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_istream;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_ostream;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_iostream;
1434: 
1434: 
1434: namespace __cxx11 {
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1434:      typename _Alloc = allocator<_CharT> >
1434:     class basic_stringbuf;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1434:     typename _Alloc = allocator<_CharT> >
1434:     class basic_istringstream;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
1434:     typename _Alloc = allocator<_CharT> >
1434:     class basic_ostringstream;
1434: 
1434:   template<typenamegnu_cxx::__ops::__pred_iter(__pred));
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _BinaryPredicate>
1412:    
1412:     _ForwardIterator
1412:     __adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
1412:       _BinaryPredicate __binary_pred)
1412:     {
1412:       if (__first == __last)
1412:  return __last;
1412:       _ForwardIterator __next = __first;
1412:       while (++__next != __last)
1412:  {
1412:    if (__binary_pred(__first, __next))
1412:      return __first;
1412:    __first = __next;
1412:  }
1412:       return __last;
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _BinaryPredicate>
1412:    
1412:     _ForwardIterator
1412:     __unique(_ForwardIterator __first, _ForwardIterator __last,
1412:       _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:       __first = std::__adjacent_find(__first, __last, __binary_pred);
1412:       if (__first == __last)
1412:  return __last;
1412: 
1412: 
1412:       _ForwardIterator __dest = __first;
1412:       ++__first;
1412:       while (++__first != __last)
1412:  if (!__binary_pred(__dest, __first))
1412:    *++__dest = std::move(*__first);
1412:       return ++__dest;
1412:     }
1412: # 933 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:    
1412:     inline _ForwardIterator
1412:     unique(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__unique(__first, __last,
1412:       __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: # 964 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _BinaryPredicate>
1412:    
1412:     inline _ForwardIterator
1412:     unique(_ForwardIterator __first, _ForwardIterator __last,
1412:     _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       return std::__unique(__first, __last,
1412:       __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _OutputIterator,
1412:     typename _BinaryPredicate>
1412:    
1412:     _OutputIterator
1412:     __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
1412:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1412:     forward_iterator_tag, output_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412: 
1412: 
1412:       _ForwardIterator __next = __first;
1412:       *__result = *__first;
1412:       while (++__next != __last)
1412:  if (!__binary_pred(__first, __next))
1412:    {
1412:      __first = __next;
1412:      *++__result = *__first;
1412:    }
1412:       return ++__result;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _BinaryPredicate>
1412:    
1412:     _OutputIterator
1412:     __unique_copy(_InputIterator __first, _InputIterator __last,
1412:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1412:     input_iterator_tag, output_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412: 
1412: 
1412:       typename iterator_traits<_InputIterator>::value_type __value = *__first;
1412:       __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred))
1412:  __rebound_pred
1412:  = __gnu_cxx::__ops::__iter_comp_val(__binary_pred);
1412:       *__result = __value;
1412:       while (++__first != __last)
1412:  if (!__rebound_pred(__first, __value))
1412:    {
1412:      __value = *__first;
1412:      *++__result = __value;
1412:    }
1412:       return ++__result;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _ForwardIterator,
1412:     typename _BinaryPredicate>
1412:    
1412:     _ForwardIterator
1412:     __unique_copy(_InputIterator __first, _InputIterator __last,
1412:     _ForwardIterator __result, _BinaryPredicate __binauf_iterator
1417:     : public iterator<output_iterator_tag, void, void, void, void>
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1417:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1417: 
1417: 
1417:       template<typename _CharT2>
1417:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1417:         ostreambuf_iterator<_CharT2> >::__type
1417:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1417:       ostreambuf_iterator<_CharT2>);
1417: 
1417:     private:
1417:       streambuf_type* _M_sbuf;
1417:       bool _M_failed;
1417: 
1417:     public:
1417: # 283 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1417:       ostreambuf_iterator(ostream_type& __s) noexcept
1417:       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
1417: 
1417: 
1417:       ostreambuf_iterator(streambuf_type* __s) noexcept
1417:       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
1417: 
1417: 
1417:       ostreambuf_iterator&
1417:       operator=(_CharT __c)
1417:       {
1417:  if (!_M_failed &&
1417:      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
1417:    _M_failed = true;
1417:  return *this;
1417:       }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       ostreambuf_iterator&
1417:       operator*()
1417:       { return *this; }
1417: 
1417: 
1417:       ostreambuf_iterator&
1417:       operator++(int)
1417:       { return *this; }
1417: 
1417: 
1417:       ostreambuf_iterator&
1417:       operator++()
1417:       { return *this; }
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       bool
1417:       failed() const noexcept
1417:       { return _M_failed; }
1417: 
1417:       ostreambuf_iterator&
1417:       _M_put(const _CharT* __ws, streamsize __len)
1417:       {
1417:  if (__builtin_expect(!_M_failed, true)
1417:      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
1417:     false))
1417:    _M_failed = true;
1417:  return *this;
1417:       }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417:   template<typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:         ostreambuf_iterator<_CharT> >::__type
1417:     copy(istreambuf_iterator<_CharT> __first,
1417:   istreambuf_iterator<_CharT> __last,
1417:   ostreambuf_iterator<_CharT> __result)
1417:     {
1417:       if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
1417:  {
1417:    bool __ineof;
1417:    __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
1417:    if (!__ineof)
1417:      __result._M_failed = true;
1417:  }
1417:       return __result;
1417:     }
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:         ostreambuf_iterator<_CharT> >::__type
1417:     __copy_move_a2(_CharT* __first, _CharT* __last,
1417:      ostreambuf_iterator<_CharT> __result)
1417:     {
1417:       const streamsize __num = __last - __first;
1417:       if (__num > 0)
1417:  __result._M_put(__first, __num);
1417:       return __result;
1417:     }
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:         ostreambuf_iterator<_CharT> >::__type
1417:     __copy_move_a2(const _CharT* __first, const _CharT* __last,
1417:      ostreambuf_iterator<_CharT> __result)
1417:     {
1417:       const streamsize __num = __last - __first;
1417:       if (__num > 0)
1417:  __result._M_put(__first, __num);
1417:       return __result;
1417:     }
1417: 
1417:   template<bool _IsMove, typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:         _CharT*>::__type
1417:     __copy_move_a2(istreambuf_iterator<_CharT> __first,
1417:      istreambuf_iterator<_CharT> __last, _CharT* __result)
1417:     {
1417:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1417:       ty _CharT, typename _Traits = char_traits<_CharT>,
1434:     typename _Alloc = allocator<_CharT> >
1434:     class basic_stringstream;
1434: 
1434: }
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_filebuf;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_ifstream;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_ofstream;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class basic_fstream;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class istreambuf_iterator;
1434: 
1434:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
1434:     class ostreambuf_iterator;
1434: 
1434: 
1434: 
1434:   typedef basic_ios<char> ios;
1434: 
1434: 
1434:   typedef basic_streambuf<char> streambuf;
1434: 
1434: 
1434:   typedef basic_istream<char> istream;
1434: 
1434: 
1434:   typedef basic_ostream<char> ostream;
1434: 
1434: 
1434:   typedef basic_iostream<char> iostream;
1434: 
1434: 
1434:   typedef basic_stringbuf<char> stringbuf;
1434: 
1434: 
1434:   typedef basic_istringstream<char> istringstream;
1434: 
1434: 
1434:   typedef basic_ostringstream<char> ostringstream;
1434: 
1434: 
1434:   typedef basic_stringstream<char> stringstream;
1434: 
1434: 
1434:   typedef basic_filebuf<char> filebuf;
1434: 
1434: 
1434:   typedef basic_ifstream<char> ifstream;
1434: 
1434: 
1434:   typedef basic_ofstream<char> ofstream;
1434: 
1434: 
1434:   typedef basic_fstream<char> fstream;
1434: 
1434: 
1434: 
1434:   typedef basic_ios<wchar_t> wios;
1434: 
1434: 
1434:   typedef basic_streambuf<wchar_t> wstreambuf;
1434: 
1434: 
1434:   typedef basic_istream<wchar_t> wistream;
1434: 
1434: 
1434:   typedef basic_ostream<wchar_t> wostream;
1434: 
1434: 
1434:   typedef basic_iostream<wchar_t> wiostream;
1434: 
1434: 
1434:   typedef basic_stringbuf<wchar_t> wstringbuf;
1434: 
1434: 
1434:   typedef basic_istringstream<wchar_t> wistringstream;
1434: 
1434: 
1434:   typedef basic_ostringstream<wchar_t> wostringstream;
1434: 
1434: 
1434:   typedef basic_stringstream<wchar_t> wstringstream;
1434: 
1434: 
1434:   typedef basic_filebuf<wchar_t> wfilebuf;
1434: 
1434: 
1434:   typedef basic_ifstream<wchar_t> wifstream;
1434: 
1434: 
1434:   typedef basic_ofstream<wchar_t> wofstream;
1434: 
1434: 
1434:   typedef basic_fstream<wchar_t> wfstream;
1434: # 253 "/usr/include/c++/12/iosfwd" 3
1434: 
1434: }
1434: # 53 "/usr/include/c++/12/bits/shared_ptr.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/shared_ptr_base.h" 1 3
1434: # 52 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434: # 1 "/usr/include/c++/12/typeinfo" 1 3
1434: # 32 "/usr/include/c++/12/typeinfo" 3
1434:        
1434: # 33 "/usr/include/c++/12/typeinfo" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" {
1434: 
1434: namespace __cxxabiv1
1434: {
1434:   class __class_type_info;
1434: }
1434: # 84 "/usr/include/c++/12/typeinfo" 3
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class type_info
1434:   {
1434:   public:
1434: 
1434: 
1434: 
1434: 
1434:     virtual ~type_info();
1434: 
1434: 
1434: 
1434:     const char* name() const noexcept
1434:     { return __name[0] == '*' ? __name + 1 : __name; }
1434: 
1434: 
1434: 
1434:     bool before(const type_info& __arg) const noexcept;
1434: 
1434:    
1434:     bool operator==(const type_info& __arg) const noexcept;
1434: 
1434: 
1434:     bool operator!=(const type_info& __arg) const noexcept
1434:     { return !operator==(__arg); }
1434: 
1434: 
1434: 
1434:     size_t hash_code() const noexcept
1434:     {
1434: 
1434:       return _Hash_bytes(name(), __builtin_strlen(name()),
1434:     static_cast<size_t>(0xc70f6907UL));
1434: 
1434: 
1434: 
1434:     }
1434: 
1434: 
1434: 
1434:     virtual bool __is_pointer_p() const;
1434: 
1434: 
1434:     virtual bool __is_function_p() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
1434:        unsigned __outer) const;
1434: 
1434: 
1434:     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
1434:         void **__obj_ptr) const;
1434: 
1434:   protected:
1434:     const char *__name;
1434: 
1434:     explicit type_info(const char *__n): __name(__n) { }
1434: 
1434:   private:
1434: 
1434: 
1434:     type_info& operator=(const type_info&) = delete;
1434:     type_info(const type_info&) = delete;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     bool __equal(const type_info&) const noexcept;
1434: 
1434:   };
1434: # 220 "/usr/include/c++/12/typeinfo" 3
1434:   class bad_cast : public exception
1434:   {
1434:   public:
1434:     bad_cast() noexcept { }
1434: 
1434: 
1434: 
1434:     virtual ~bad_cast() noexcept;
1434: 
1434: 
1434:     virtual const char* what() const noexcept;
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class bad_typeid : public exception
1434:   {
1434:   public:
1434:     bad_typeid () noexcept { }
1434: 
1434: 
1434: 
1434:     virtual ~bad_typeid() noexcept;
1434: 
1434: 
1434:     virtual const char* what() const noexcept;
1434:   };
1434: }
1434: 
1434: }
1434: 
1434: #pragma GCC visibility pop
1434: # 53 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/allocated_ptr.h" 1 3
1434: # 40 "/usr/include/c++/12/bits/allocated_ptr.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Alloc>
1434:     struct __allocated_ptr
1434:     {
1434:       using pointer = typename allocator_traits<_Alloc>::pointer;
1434:       using value_type = typename allocator_traits<_Alloc>::value_type;
1434: 
1434: 
1434:       __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept
1434:       : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr)
1434:       { }
1434: 
1434: 
1434:       template<typename _Ptr,
1434:         typename _Req = _Require<is_same<_Ptr, value_type*>>>
1434:       __allocated_ptr(_Alloc& __a, _Ptr __ptr)
1434:       : _M_alloc(std::__addressof(__a)),
1434:  _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
1434:       { }
1434: 
1434: 
1434:       __allocated_ptr(__allocated_ptr&& __gd) noexcept
1434:       : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr)
1434:       { __gd._M_ptr = nullptr; }
1434: 
1434: 
1434:       ~__allocated_ptr()
1434:       {
1434:  if (_M_ptr != nullptr)
1434:    std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1);
1434:       }
1434: 
1434: 
1434:       __allocated_ptr&
1434:       operator=(std::nullptr_t) noexcept
1434:       {
1434:  _M_ptr = nullptr;
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       value_type* get() { return std::__to_address(_M_ptr); }
1434: 
1434:     private:
1434:       _Alloc* _M_alloc;
1434:       pointer _M_ptr;
1434:     };
1434: 
1434: 
1434:   template<typename _Alloc>
1434:     __allocated_ptr<_Alloc>
1434:     __allocate_guarded(_Alloc& __a)
1434:     {
1434:       return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) };
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: # 54 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/refwrap.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/refwrap.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/refwrap.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 52 "/usr/include/c++/12/bits/refwrap.h" 3
1434:   template<typename _Res, typename... _ArgTypes>
1434:     struct _Maybe_unary_or_binary_function { };
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434:   template<typename _Res, typename _T1>
1434:     struct _Maybe_unary_or_binary_function<_Res, _T1>
1434:     : std::unary_function<_T1, _Res> { };
1434: 
1434: 
1434:   template<typename ry_pred,
1412:     input_iterator_tag, forward_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412: 
1412:       *__result = *__first;
1412:       while (++__first != __last)
1412:  if (!__binary_pred(__result, __first))
1412:    *++__result = *__first;
1412:       return ++__result;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _BidirectionalIterator>
1412:    
1412:     void
1412:     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
1412:        bidirectional_iterator_tag)
1412:     {
1412:       while (true)
1412:  if (__first == __last || __first == --__last)
1412:    return;
1412:  else
1412:    {
1412:      std::iter_swap(__first, __last);
1412:      ++__first;
1412:    }
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     void
1412:     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:        random_access_iterator_tag)
1412:     {
1412:       if (__first == __last)
1412:  return;
1412:       --__last;
1412:       while (__first < __last)
1412:  {
1412:    std::iter_swap(__first, __last);
1412:    ++__first;
1412:    --__last;
1412:  }
1412:     }
1412: # 1125 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator>
1412:    
1412:     inline void
1412:     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412:       std::__reverse(__first, __last, std::__iterator_category(__first));
1412:     }
1412: # 1153 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator, typename _OutputIterator>
1412:    
1412:     _OutputIterator
1412:     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
1412:    _OutputIterator __result)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       while (__first != __last)
1412:  {
1412:    --__last;
1412:    *__result = *__last;
1412:    ++__result;
1412:  }
1412:       return __result;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _EuclideanRingElement>
1412:    
1412:     _EuclideanRingElement
1412:     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
1412:     {
1412:       while (__n != 0)
1412:  {
1412:    _EuclideanRingElement __t = __m % __n;
1412:    __m = __n;
1412:    __n = __t;
1412:  }
1412:       return __m;
1412:     }
1412: 
1412:   inline namespace _V2
1412:   {
1412: 
1412: 
1412:   template<typename _ForwardIterator>
1412:    
1412:     _ForwardIterator
1412:     __rotate(_ForwardIterator __first,
1412:       _ForwardIterator __middle,
1412:       _ForwardIterator __last,
1412:       forward_iterator_tag)
1412:     {
1412:       if (__first == __middle)
1412:  return __last;
1412:       else if (__last == __middle)
1412:  return __first;
1412: 
1412:       _ForwardIterator __first2 = __middle;
1412:       do
1412:  {
1412:    std::iter_swap(__first, __first2);
1412:    ++__first;
1412:    ++__first2;
1412:    if (__first == __middle)
1412:      __middle = __first2;
1412:  }
1412:       while (__first2 != __last);
1412: 
1412:       _ForwardIterator __ret = __first;
1412: 
1412:       __first2 = __middle;
1412: 
1412:       while (__first2 != __last)
1412:  {
1412:    std::iter_swap(__first, __first2);
1412:    ++__first;
1412:    ++__first2;
1412:    if (__first == __middle)
1412:      __middle = __first2;
1412:    else if (__first2 == __last)
1412:      __first2 = __middle;
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412: 
1412:   template<typename _BidirectionalIterator>
1412:    
1412:     _BidirectionalIterator
1412:     __rotate(_BidirectionalIterator __first,
1412:       _BidirectionalIterator __middle,
1412:       _BidirectionalIterator __last,
1412:        bidirectional_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412: 
1412:       if (__first == __middle)
1412:  return __last;
1412:       else if (__last == __middle)
1412:  return __first;
1412: 
1412pedef typename __is_iterator_type::traits_type traits_type;
1417:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1417:       typedef typename traits_type::int_type int_type;
1417: 
1417:       if (__first._M_sbuf && !__last._M_sbuf)
1417:  {
1417:    streambuf_type* __sb = __first._M_sbuf;
1417:    int_type __c = __sb->sgetc();
1417:    while (!traits_type::eq_int_type(__c, traits_type::eof()))
1417:      {
1417:        const streamsize __n = __sb->egptr() - __sb->gptr();
1417:        if (__n > 1)
1417:   {
1417:     traits_type::copy(__result, __sb->gptr(), __n);
1417:     __sb->__safe_gbump(__n);
1417:     __result += __n;
1417:     __c = __sb->underflow();
1417:   }
1417:        else
1417:   {
1417:     *__result++ = traits_type::to_char_type(__c);
1417:     __c = __sb->snextc();
1417:   }
1417:      }
1417:  }
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Size>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:         _CharT*>::__type
1417:     __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result,
1417:         bool __strict __attribute__((__unused__)))
1417:     {
1417:       if (__n == 0)
1417:  return __result;
1417: 
1417:      
1417: 
1417:                             ;
1417:       _CharT* __beg = __result;
1417:       __result += __it._M_sbuf->sgetn(__beg, __n);
1417:      
1417: 
1417:                             ;
1417:       return __result;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:           istreambuf_iterator<_CharT> >::__type
1417:     find(istreambuf_iterator<_CharT> __first,
1417:   istreambuf_iterator<_CharT> __last, const _CharT& __val)
1417:     {
1417:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1417:       typedef typename __is_iterator_type::traits_type traits_type;
1417:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1417:       typedef typename traits_type::int_type int_type;
1417:       const int_type __eof = traits_type::eof();
1417: 
1417:       if (__first._M_sbuf && !__last._M_sbuf)
1417:  {
1417:    const int_type __ival = traits_type::to_int_type(__val);
1417:    streambuf_type* __sb = __first._M_sbuf;
1417:    int_type __c = __sb->sgetc();
1417:    while (!traits_type::eq_int_type(__c, __eof)
1417:    && !traits_type::eq_int_type(__c, __ival))
1417:      {
1417:        streamsize __n = __sb->egptr() - __sb->gptr();
1417:        if (__n > 1)
1417:   {
1417:     const _CharT* __p = traits_type::find(__sb->gptr(),
1417:        __n, __val);
1417:     if (__p)
1417:       __n = __p - __sb->gptr();
1417:     __sb->__safe_gbump(__n);
1417:     __c = __sb->sgetc();
1417:   }
1417:        else
1417:   __c = __sb->snextc();
1417:      }
1417: 
1417:    __first._M_c = __eof;
1417:  }
1417: 
1417:       return __first;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Distance>
1417:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1417:         void>::__type
1417:     advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
1417:     {
1417:       if (__n == 0)
1417:  return;
1417: 
1417:       do { if (std::__is_constant_evaluated() && !bool(__n > 0)) __builtin_unreachable(); } while (false);
1417:      
1417: 
1417:                            ;
1417: 
1417:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1417:       typedef typename __is_iterator_type::traits_type traits_type;
1417:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1417:       typedef typename traits_type::int_type int_type;
1417:       const int_type __eof = traits_type::eof();
1417: 
1417:       streambuf_type* __sb = __i._M_sbuf;
1417:       while (__n > 0)
1417:  {
1417:    streamsize __size = __sb->egptr() - __sb->gptr();
1417:    if (__size > __n)
1417:      {
1417:        __sb->__safe_gbump(__n);
1417:        break;
1417:      }
1417: 
1417:    __sb->__safe_gbump(__size);
1417:    __n -= __size;
1417:    if (tr_Res, typename _T1, typename _T2>
1434:     struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
1434:     : std::binary_function<_T1, _T2, _Res> { };
1434: 
1434: #pragma GCC diagnostic pop
1434: 
1434:   template<typename _Signature>
1434:     struct _Mem_fn_traits;
1434: 
1434:   template<typename _Res, typename _Class, typename... _ArgTypes>
1434:     struct _Mem_fn_traits_base
1434:     {
1434:       using __result_type = _Res;
1434:       using __maybe_type
1434:  = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
1434:       using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
1434:     };
1434: # 103 "/usr/include/c++/12/bits/refwrap.h" 3
1434: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1434: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...:       std::__reverse(__first, __middle, bidirectional_iterator_tag());
1412:       std::__reverse(__middle, __last, bidirectional_iterator_tag());
1412: 
1412:       while (__first != __middle && __middle != __last)
1412:  {
1412:    std::iter_swap(__first, --__last);
1412:    ++__first;
1412:  }
1412: 
1412:       if (__first == __middle)
1412:  {
1412:    std::__reverse(__middle, __last, bidirectional_iterator_tag());
1412:    return __last;
1412:  }
1412:       else
1412:  {
1412:    std::__reverse(__first, __middle, bidirectional_iterator_tag());
1412:    return __first;
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     _RandomAccessIterator
1412:     __rotate(_RandomAccessIterator __first,
1412:       _RandomAccessIterator __middle,
1412:       _RandomAccessIterator __last,
1412:       random_access_iterator_tag)
1412:     {
1412: 
1412:      
1412: 
1412: 
1412:       if (__first == __middle)
1412:  return __last;
1412:       else if (__last == __middle)
1412:  return __first;
1412: 
1412:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1412:  _Distance;
1412:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1412:  _ValueType;
1412: 
1412:       _Distance __n = __last - __first;
1412:       _Distance __k = __middle - __first;
1412: 
1412:       if (__k == __n - __k)
1412:  {
1412:    std::swap_ranges(__first, __middle, __middle);
1412:    return __middle;
1412:  }
1412: 
1412:       _RandomAccessIterator __p = __first;
1412:       _RandomAccessIterator __ret = __first + (__last - __middle);
1412: 
1412:       for (;;)
1412:  {
1412:    if (__k < __n - __k)
1412:      {
1412:        if (__is_pod(_ValueType) && __k == 1)
1412:   {
1412:     _ValueType __t = std::move(*__p);
1412:     std::move(__p + 1, __p + __n, __p);
1412:     *(__p + __n - 1) = std::move(__t);
1412:     return __ret;
1412:   }
1412:        _RandomAccessIterator __q = __p + __k;
1412:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1412:   {
1412:     std::iter_swap(__p, __q);
1412:     ++__p;
1412:     ++__q;
1412:   }
1412:        __n %= __k;
1412:        if (__n == 0)
1412:   return __ret;
1412:        std::swap(__n, __k);
1412:        __k = __n - __k;
1412:      }
1412:    else
1412:      {
1412:        __k = __n - __k;
1412:        if (__is_pod(_ValueType) && __k == 1)
1412:   {
1412:     _ValueType __t = std::move(*(__p + __n - 1));
1412:     std::move_backward(__p, __p + __n - 1, __p + __n);
1412:     *__p = std::move(__t);
1412:     return __ret;
1412:   }
1412:        _RandomAccessIterator __q = __p + __n;
1412:        __p = __q - __k;
1412:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1412:   {
1412:     --__p;
1412:     --__q;
1412:     std::iter_swap(__p, __q);
1412:   }
1412:        __n %= __k;
1412:        if (__n == 0)
1412:   return __ret;
1412:        std::swap(__n, __k);
1412:      }
1412:  }
1412:     }
1412: # 1385 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:    
1412:     inline _ForwardIterator
1412:     rotate(_ForwardIterator __first, _ForwardIterator __middle,
1412:     _ForwardIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__rotate(__first, __middle, __last,
1412:       std::__iterator_category(__first));
1412:     }
1412: 
1412:   }
1412: # 1423 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
1412:   _ForwardIterator __last, _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::copy(__first, __middle,
1412:          std::copy(__middle, __last, __result));
1412:     }
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _Predicate>
1412:    
1412:     _ForwardIterator
1412:     __partition(_ForwardIterator __first,) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1434: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1434: 
1434: 
1434: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1434: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_faits_type::eq_int_type(__sb->underflow(), __eof))
1417:      {
1417:       
1417: 
1417:                       ;
1417:        break;
1417:      }
1417:  }
1417: 
1417:       __i._M_c = __eof;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 49 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 74 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<typename _Tp>
1417:     void
1417:     __convert_to_v(const char*, _Tp&, ios_base::iostate&,
1417:      const __c_locale&) throw();
1417: 
1417: 
1417:   template<>
1417:     void
1417:     __convert_to_v(const char*, float&, ios_base::iostate&,
1417:      const __c_locale&) throw();
1417: 
1417:   template<>
1417:     void
1417:     __convert_to_v(const char*, double&, ios_base::iostate&,
1417:      const __c_locale&) throw();
1417: 
1417:   template<>
1417:     void
1417:     __convert_to_v(const char*, long double&, ios_base::iostate&,
1417:      const __c_locale&) throw();
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     struct __pad
1417:     {
1417:       static void
1417:       _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
1417:       const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     _CharT*
1417:     __add_grouping(_CharT* __s, _CharT __sep,
1417:      const char* __gbeg, size_t __gsize,
1417:      const _CharT* __first, const _CharT* __last);
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline
1417:     ostreambuf_iterator<_CharT>
1417:     __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
1417:     {
1417:       __s._M_put(__ws, __len);
1417:       return __s;
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     inline
1417:     _OutIter
1417:     __write(_OutIter __s, const _CharT* __ws, int __len)
1417:     {
1417:       for (int __j = 0; __j < __len; __j++, ++__s)
1417:  *__s = __ws[__j];
1417:       return __s;
1417:     }
1417: # 152 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<typename _CharT>
1417:     class __ctype_abstract_base : public locale::facet, public ctype_base
1417:     {
1417:     public:
1417: 
1417: 
1417:       typedef _CharT char_type;
1417: # 171 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       bool
1417:       is(mask __m, char_type __c) const
1417:       { return this->do_is(__m, __c); }
1417: # 188 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       is(const char_type *__lo, const char_type *__hi, mask *__vec) const
1417:       { return this->do_is(__lo, __hi, __vec); }
1417: # 204 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
1417:       { return this->do_scan_is(__m, __lo, __hi); }
1417: # 220 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
1417:       { return this->do_scan_not(__m, __lo, __hi); }
1417: # 234 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       toupper(char_type __c) const
1417:       { return this->do_toupper(__c); }
1417: # 249 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       toupper(char_type *__lo, const char_type* __hi) const
1417:       { return this->do_toupper(__lo, __hi); }
1417: # 263 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       tolower(char_type __c) const
1417:       { return this->do_tolower(__c); }
1417: # 278 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       tolower(char_type* __lo, const char_type* __hi) const
1417:       { return this->do_tolower(__lo, __hi); }
1417: # 295 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       widen(chan_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1434: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Functor, typename = __void_t<>>
1434:     struct _Maybe_get_result_type
1434:     { };
1434: 
1434:   template<typename _Functor>
1434:     struct _Maybe_get_result_type<_Functor,
1434:       __void_t<typename _Functor::result_type>>
1434:     { typedef typename _Functor::result_type result_type; };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Functor>
1434:     struct _Weak_result_type_impl
1434:     : _Maybe_get_result_type<_Functor>
1434:     { };
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes , bool _NE>
1434:     struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
1434:     { typedef _Res result_type; };
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes , bool _NE>
1434:     struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)>
1434:     { typedef _Res result_type; };
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes , bool _NE>
1434:     struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
1434:     { typedef _Res result_type; };
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes , bool _NE>
1434:     struct
1434:     _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)>
1434:     { typedef _Res result_type; };
1434: 
1434: 
1434:   template<typename _Functor,
1434:     bool = is_member_function_pointer<_Functor>::value>
1434:     struct _Weak_result_type_memfun
1434:     : _Weak_result_type_impl<_Functor>
1434:     { };
1434: 
1434: 
1434:   template<typename _MemFunPtr>
1434:     struct _Weak_result_type_memfun<_MemFunPtr, true>
1434:     {
1434:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1434:     };
1434: 
1434: 
1434:   template<typename _Func, typename _Class>
1434:     struct _Weak_result_type_memfun<_Func _Class::*, false>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Functor>
1434:     struct _Weak_result_type
1434:     : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename = __void_t<>>
1434:     struct _Refwrap_base_arg1
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _Refwrap_base_arg1<_Tp,
1434:          __void_t<typename _Tp::argument_type>>
1434:     {
1434:       typedef typename _Tp::argument_type argument_type;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename = __void_t<>>
1434:     struct _Refwrap_base_arg2
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _Refwrap_base_arg2<_Tp,
1434:          __void_t<typename _Tp::first_argument_type,
1434:            typename _Tp::second_argument_type>>
1434:     {
1434:       typedef typename _Tp::first_argument_type first_argument_type;
1434:       typedef typename _Tp::second_argument_type second_argument_type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _Reference_wrapper_base
1434:     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
1434:     { };
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434:   template<typename _Res, typename _T1 , bool _NE>
1434:     struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
1434:     : unary_function<_T1, _Res>
1434:     { };
1434: 
1434:   template<typename _Res, typename _T1>
1434:     struct _Reference_wrapper_base<_Res(_T1) const>
1434:     : unary_function<_T1, _Res>
1434:     { };
1434: 
1434:   template<typename _Res, typename _T1>
1434:     struct _Reference_wrapper_base<_Res(_T1) volatile>
1434:     : unary_function<_T1, _Res>
1434:     { };
1434: 
1434:   template<typename _Res, typename _T1>
1434:     struct _Reference_wrapper_base<_Res(_T1) const volatile>
1434:     : unary_function<_T1, _Res>
1434:     { };
1434: 
1434: 
1434:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1434:     struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
1434:     : binary_function<_T1, _T2, _Res>
1434:     { };
1434: 
1434:   template<typename _Res, typename _T1, typename _T2>
1434:     struct _Reference_wrapper_base<_Res(_T1, _T2) const>
1434:     : binary_function<_T1, _T2, _Res>
1434:     { };
1434: 
1434:   template<typename _Res, typename _T1, typename _T2>
1434:     struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
1434:     : binary_function<_T1, _T2, _Res>
1434:     { };
1434: 
1434:   template<typename _Res, typename _T1, typename _T2>
1434:     struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
1434:     : binary_function<_T1, _T2, _Res>
1434:     { };
1434: 
1434: 
1434:   template<typename _Res, typename _T1 , bool  _ForwardIterator __last,
1412:   _Predicate __pred, forward_iterator_tag)
1412:     {
1412:       if (__first == __last)
1412:  return __first;
1412: 
1412:       while (__pred(*__first))
1412:  if (++__first == __last)
1412:    return __first;
1412: 
1412:       _ForwardIterator __next = __first;
1412: 
1412:       while (++__next != __last)
1412:  if (__pred(*__next))
1412:    {
1412:      std::iter_swap(__first, __next);
1412:      ++__first;
1412:    }
1412: 
1412:       return __first;
1412:     }
1412: 
1412: 
1412:   template<typename _BidirectionalIterator, typename _Predicate>
1412:    
1412:     _BidirectionalIterator
1412:     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
1412:   _Predicate __pred, bidirectional_iterator_tag)
1412:     {
1412:       while (true)
1412:  {
1412:    while (true)
1412:      if (__first == __last)
1412:        return __first;
1412:      else if (__pred(*__first))
1412:        ++__first;
1412:      else
1412:        break;
1412:    --__last;
1412:    while (true)
1412:      if (__first == __last)
1412:        return __first;
1412:      else if (!bool(__pred(*__last)))
1412:        --__last;
1412:      else
1412:        break;
1412:    std::iter_swap(__first, __last);
1412:    ++__first;
1412:  }
1412:     }
1412: # 1503 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
1412:     typename _Distance>
1412:     _ForwardIterator
1412:     __stable_partition_adaptive(_ForwardIterator __first,
1412:     _ForwardIterator __last,
1412:     _Predicate __pred, _Distance __len,
1412:     _Pointer __buffer,
1412:     _Distance __buffer_size)
1412:     {
1412:       if (__len == 1)
1412:  return __first;
1412: 
1412:       if (__len <= __buffer_size)
1412:  {
1412:    _ForwardIterator __result1 = __first;
1412:    _Pointer __result2 = __buffer;
1412: 
1412: 
1412: 
1412: 
1412:    *__result2 = std::move(*__first);
1412:    ++__result2;
1412:    ++__first;
1412:    for (; __first != __last; ++__first)
1412:      if (__pred(__first))
1412:        {
1412:   *__result1 = std::move(*__first);
1412:   ++__result1;
1412:        }
1412:      else
1412:        {
1412:   *__result2 = std::move(*__first);
1412:   ++__result2;
1412:        }
1412: 
1412:    std::move(__buffer, __result2, __result1);
1412:    return __result1;
1412:  }
1412: 
1412:       _ForwardIterator __middle = __first;
1412:       std::advance(__middle, __len / 2);
1412:       _ForwardIterator __left_split =
1412:  std::__stable_partition_adaptive(__first, __middle, __pred,
1412:       __len / 2, __buffer,
1412:       __buffer_size);
1412: 
1412: 
1412: 
1412:       _Distance __right_len = __len - __len / 2;
1412:       _ForwardIterator __right_split =
1412:  std::__find_if_not_n(__middle, __right_len, __pred);
1412: 
1412:       if (__right_len)
1412:  __right_split =
1412:    std::__stable_partition_adaptive(__right_split, __last, __pred,
1412:         __right_len,
1412:         __buffer, __buffer_size);
1412: 
1412:       return std::rotate(__left_split, __middle, __right_split);
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Predicate>
1412:     _ForwardIterator
1412:     __stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1412:          _Predicate __pred)
1412:     {
1412:       __first = std::__find_if_not(__first, __last, __pred);
1412: 
1412:       if (__first == __last)
1412:  return __first;
1412: 
1412:       typedef typename iterator_traits<_ForwardIterator>::value_type
1412:  _ValueType;
1412:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1412:  _DistanceType;
1412: 
1412:       _Temporary_buffer<_ForwardIterator, _ValueType>
1412:  __buf(__first, std::distance(__first, __last));
1412:       return
1412:  std::__stable_partition_adaptive(__first, __last, __pred,
1412:       _DistanceType(__buf.requested_size()),
1412:       __buf.begin(),
1412:       _DistanceType(__buf.size()));
1412:     }
1412: # 1605 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:  _NE>
1434:     struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
1434:     : unary_function<_T1, _Res>
1434:     { };
1434: 
1434: 
1434:   template<typename _Res, typename _T1, typename _T2 , bool _NE>
1434:     struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
1434:     : binary_function<_T1, _T2, _Res>
1434:     { };
1434: 
1434:   template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
1434:     struct _Reference_wrapper_base_memfun
1434:     : _Reference_wrapper_base<_Tp>
1434:     { };
1434: 
1434:   template<typename _MemFunPtr>
1434:     struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
1434:     : _Mem_fn_traits<_MemFunPtr>::__maybe_type
1434:     {
1434:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
1434:     };
1434: #pragma GCC diagnostic pop
1434: # 302 "/usr/include/c++/12/bits/refwrap.h" 3
1434:   template<typename _Tp>
1434:     class reference_wrapper
1434: 
1434: 
1434: 
1434:     : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
1434: 
1434:     {
1434:       _Tp* _M_data;
1434: 
1434:      
1434:       static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
1434: 
1434:       static void _S_fun(_Tp&&) = delete;
1434: 
1434:       template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
1434:  using __not_same
1434:    = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
1434: 
1434:     public:
1434:       typedef _Tp type;
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Up, typename = __not_same<_Up>, typename
1434:   = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
1434: 
1434:  reference_wrapper(_Up&& __uref)
1434:  noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
1434:  : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
1434:  { }
1434: 
1434:       reference_wrapper(const reference_wrapper&) = default;
1434: 
1434:       reference_wrapper&
1434:       operator=(const reference_wrapper&) = default;
1434: 
1434:      
1434:       operator _Tp&() const noexcept
1434:       { return this->get(); }
1434: 
1434:      
1434:       _Tp&
1434:       get() const noexcept
1434:       { return *_M_data; }
1434: 
1434:       template<typename... _Args>
1434: 
1434:  typename result_of<_Tp&(_Args&&...)>::type
1434:  operator()(_Args&&... __args) const
1434:  {
1434: 
1434: 
1434: 
1434: 
1434:    return std::__invoke(get(), std::forward<_Args>(__args)...);
1434:  }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:    
1434:     inline reference_wrapper<_Tp>
1434:     ref(_Tp& __t) noexcept
1434:     { return reference_wrapper<_Tp>(__t); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:    
1434:     inline reference_wrapper<const _Tp>
1434:     cref(const _Tp& __t) noexcept
1434:     { return reference_wrapper<const _Tp>(__t); }
1434: 
1434:   template<typename _Tp>
1434:     void ref(const _Tp&&) = delete;
1434: 
1434:   template<typename _Tp>
1434:     void cref(const _Tp&&) = delete;
1434: 
1434: 
1434:   template<typename _Tp>
1434:    
1434:     inline reference_wrapper<_Tp>
1434:     ref(reference_wrapper<_Tp> __t) noexcept
1434:     { return __t; }
1434: 
1434: 
1434:   template<typename _Tp>
1434:    
1434:     inline reference_wrapper<const _Tp>
1434:     cref(reference_wrapper<_Tp> __t) noexcept
1434:     { return { __t.get() }; }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 58 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/ext/aligned_buffer.h" 1 3
1434: # 32 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1434:        
1434: # 33 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace __gnu_cxx
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __aligned_membuf
1434:     {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       struct _Tp2 { _Tp _M_t; }r __c) const
1417:       { return this->do_widen(__c); }
1417: # 314 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char*
1417:       widen(const char* __lo, const char* __hi, char_type* __to) const
1417:       { return this->do_widen(__lo, __hi, __to); }
1417: # 333 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char
1417:       narrow(char_type __c, char __dfault) const
1417:       { return this->do_narrow(__c, __dfault); }
1417: # 355 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       narrow(const char_type* __lo, const char_type* __hi,
1417:        char __dfault, char* __to) const
1417:       { return this->do_narrow(__lo, __hi, __dfault, __to); }
1417: 
1417:     protected:
1417:       explicit
1417:       __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
1417: 
1417:       virtual
1417:       ~__ctype_abstract_base() { }
1417: # 380 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual bool
1417:       do_is(mask __m, char_type __c) const = 0;
1417: # 399 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_is(const char_type* __lo, const char_type* __hi,
1417:      mask* __vec) const = 0;
1417: # 418 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_scan_is(mask __m, const char_type* __lo,
1417:    const char_type* __hi) const = 0;
1417: # 437 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_scan_not(mask __m, const char_type* __lo,
1417:     const char_type* __hi) const = 0;
1417: # 455 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_toupper(char_type __c) const = 0;
1417: # 472 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_toupper(char_type* __lo, const char_type* __hi) const = 0;
1417: # 488 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_tolower(char_type __c) const = 0;
1417: # 505 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_tolower(char_type* __lo, const char_type* __hi) const = 0;
1417: # 524 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_widen(char __c) const = 0;
1417: # 545 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char*
1417:       do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0;
1417: # 566 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char
1417:       do_narrow(char_type __c, char __dfault) const = 0;
1417: # 591 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_narrow(const char_type* __lo, const char_type* __hi,
1417:   char __dfault, char* __to) const = 0;
1417:     };
1417: # 614 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<typename _CharT>
1417:     class ctype : public __ctype_abstract_base<_CharT>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef typename __ctype_abstract_base<_CharT>::mask mask;
1417: 
1417: 
1417:       static locale::id id;
1417: 
1417:       explicit
1417:       ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
1417: 
1417:    protected:
1417:       virtual
1417:       ~ctype();
1417: 
1417:       virtual bool
1417:       do_is(mask __m, char_type __c) const;
1417: 
1417:       virtual const char_type*
1417:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1417: 
1417:       virtual const char_type*
1417:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1417: 
1417:       virtual const char_type*
1417:       do_scan_not(mask __m, const char_type* __lo,
1417:     const char_type* __hi) const;
1417: 
1417:       virtual char_type
1417:       do_toupper(char_type __c) const;
1417: 
1417:       virtual const char_type*
1417:       do_toupper(char_type* __lo, const char_type* __hi;
1434: 
1434:       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
1434: 
1434:       __aligned_membuf() = default;
1434: 
1434: 
1434:       __aligned_membuf(std::nullptr_t) { }
1434: 
1434:       void*
1434:       _M_addr() noexcept
1434:       { return static_cast<void*>(&_M_storage); }
1434: 
1434:       const void*
1434:       _M_addr() const noexcept
1434:       { return static_cast<const void*>(&_M_storage); }
1434: 
1434:       _Tp*
1434:       _M_ptr() noexcept
1434:       { return static_cast<_Tp*>(_M_addr()); }
1434: 
1434:       const _Tp*
1434:       _M_ptr() const noexcept
1434:       { return static_cast<const _Tp*>(_M_addr()); }
1434:     };
1434: # 89 "/usr/include/c++/12/ext/aligned_buffer.h" 3
1434:   template<typename _Tp>
1434:     struct __aligned_buffer
1434:     : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
1434:     {
1434:       typename
1434:  std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>::type _M_storage;
1434: 
1434:       __aligned_buffer() = default;
1434: 
1434: 
1434:       __aligned_buffer(std::nullptr_t) { }
1434: 
1434:       void*
1434:       _M_addr() noexcept
1434:       {
1434:         return static_cast<void*>(&_M_storage);
1434:       }
1434: 
1434:       const void*
1434:       _M_addr() const noexcept
1434:       {
1434:         return static_cast<const void*>(&_M_storage);
1434:       }
1434: 
1434:       _Tp*
1434:       _M_ptr() noexcept
1434:       { return static_cast<_Tp*>(_M_addr()); }
1434: 
1434:       const _Tp*
1434:       _M_ptr() const noexcept
1434:       { return static_cast<const _Tp*>(_M_addr()); }
1434:     };
1434: 
1434: 
1434: }
1434: # 61 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1434: # 1 "/usr/include/c++/12/ext/atomicity.h" 1 3
1434: # 32 "/usr/include/c++/12/ext/atomicity.h" 3
1434:        
1434: # 33 "/usr/include/c++/12/ext/atomicity.h" 3
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 1 3
1434: # 30 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1434: #pragma GCC visibility push(default)
1434: # 148 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 3
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 1 3
1434: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1434: # 1 "/usr/include/pthread.h" 1 3 4
1434: # 22 "/usr/include/pthread.h" 3 4
1434: # 1 "/usr/include/sched.h" 1 3 4
1434: # 29 "/usr/include/sched.h" 3 4
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 30 "/usr/include/sched.h" 2 3 4
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 1 3 4
1434: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/time_t.h" 3 4
1434: typedef __time_t time_t;
1434: # 32 "/usr/include/sched.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 1 3 4
1434: # 35 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/endianness.h" 1 3 4
1434: # 36 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 2 3 4
1434: # 7 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: struct timespec
1434: {
1434: 
1434: 
1434: 
1434:   __time_t tv_sec;
1434: 
1434: 
1434: 
1434: 
1434:   __syscall_slong_t tv_nsec;
1434: # 31 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h" 3 4
1434: };
1434: # 33 "/usr/include/sched.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __pid_t pid_t;
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 1 3 4
1434: # 80 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 1 3 4
1434: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/struct_sched_param.h" 3 4
1434: struct sched_param
1434: {
1434:   int sched_priority;
1434: };
1434: # 81 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 2 3 4
1434: 
1434: extern "C" {
1434: 
143 template<typename _ForwardIterator, typename _Predicate>
1412:     inline _ForwardIterator
1412:     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1412:        _Predicate __pred)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__stable_partition(__first, __last,
1412:          __gnu_cxx::__ops::__pred_iter(__pred));
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     void
1412:     __heap_select(_RandomAccessIterator __first,
1412:     _RandomAccessIterator __middle,
1412:     _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412:       std::__make_heap(__first, __middle, __comp);
1412:       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
1412:  if (__comp(__i, __first))
1412:    std::__pop_heap(__first, __middle, __i, __comp);
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _RandomAccessIterator,
1412:     typename _Compare>
1412:    
1412:     _RandomAccessIterator
1412:     __partial_sort_copy(_InputIterator __first, _InputIterator __last,
1412:    _RandomAccessIterator __result_first,
1412:    _RandomAccessIterator __result_last,
1412:    _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_InputIterator>::value_type
1412:  _InputValueType;
1412:       typedef iterator_traits<_RandomAccessIterator> _RItTraits;
1412:       typedef typename _RItTraits::difference_type _DistanceType;
1412: 
1412:       if (__result_first == __result_last)
1412:  return __result_last;
1412:       _RandomAccessIterator __result_real_last = __result_first;
1412:       while (__first != __last && __result_real_last != __result_last)
1412:  {
1412:    *__result_real_last = *__first;
1412:    ++__result_real_last;
1412:    ++__first;
1412:  }
1412: 
1412:       std::__make_heap(__result_first, __result_real_last, __comp);
1412:       while (__first != __last)
1412:  {
1412:    if (__comp(__first, __result_first))
1412:      std::__adjust_heap(__result_first, _DistanceType(0),
1412:           _DistanceType(__result_real_last
1412:           - __result_first),
1412:           _InputValueType(*__first), __comp);
1412:    ++__first;
1412:  }
1412:       std::__sort_heap(__result_first, __result_real_last, __comp);
1412:       return __result_real_last;
1412:     }
1412: # 1693 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _RandomAccessIterator>
1412:    
1412:     inline _RandomAccessIterator
1412:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1412:         _RandomAccessIterator __result_first,
1412:         _RandomAccessIterator __result_last)
1412:     {
1412: # 1708 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__partial_sort_copy(__first, __last,
1412:           __result_first, __result_last,
1412:           __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 1743 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _RandomAccessIterator,
1412:     typename _Compare>
1412:    
1412:     inline _RandomAccessIterator
1412:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1412:         _RandomAccessIterator __result_first,
1412:         _RandomAccessIterator __result_last,
1412:         _Compare __comp)
1412:     {
1412: # 1760 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__partial_sort_copy(__first, __last,
1412:           __result_first, __result_last,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     void
1412:     __unguarded_linear_insert(_RandomAccessIterator __last,
1412:          _Compare __4: 
1434: 
1434: extern int clone (int (*__fn) (void *__arg), void *__child_stack,
1434:     int __flags, void *__arg, ...) noexcept (true);
1434: 
1434: 
1434: extern int unshare (int __flags) noexcept (true);
1434: 
1434: 
1434: extern int sched_getcpu (void) noexcept (true);
1434: 
1434: 
1434: extern int getcpu (unsigned int *, unsigned int *) noexcept (true);
1434: 
1434: 
1434: extern int setns (int __fd, int __nstype) noexcept (true);
1434: 
1434: 
1434: }
1434: # 44 "/usr/include/sched.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 1 3 4
1434: # 32 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1434: typedef unsigned long int __cpu_mask;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef struct
1434: {
1434:   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
1434: } cpu_set_t;
1434: # 115 "/usr/include/arm-linux-gnueabihf/bits/cpu-set.h" 3 4
1434: extern "C" {
1434: 
1434: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
1434:      noexcept (true);
1434: extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: extern void __sched_cpufree (cpu_set_t *__set) noexcept (true);
1434: 
1434: }
1434: # 45 "/usr/include/sched.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C" {
1434: 
1434: 
1434: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
1434:      noexcept (true);
1434: 
1434: 
1434: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true);
1434: 
1434: 
1434: extern int sched_setscheduler (__pid_t __pid, int __policy,
1434:           const struct sched_param *__param) noexcept (true);
1434: 
1434: 
1434: extern int sched_getscheduler (__pid_t __pid) noexcept (true);
1434: 
1434: 
1434: extern int sched_yield (void) noexcept (true);
1434: 
1434: 
1434: extern int sched_get_priority_max (int __algorithm) noexcept (true);
1434: 
1434: 
1434: extern int sched_get_priority_min (int __algorithm) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true);
1434: # 130 "/usr/include/sched.h" 3 4
1434: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
1434:          const cpu_set_t *__cpuset) noexcept (true);
1434: 
1434: 
1434: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
1434:          cpu_set_t *__cpuset) noexcept (true);
1434: 
1434: 
1434: }
1434: # 23 "/usr/include/pthread.h" 2 3 4
1434: # 1 "/usr/include/time.h" 1 3 4
1434: # 29 "/usr/include/time.h" 3 4
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 30 "/usr/include/time.h" 2 3 4
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/time.h" 1 3 4
1434: # 73 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 1 3 4
1434: # 22 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: struct timeval
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   __time_t tv_sec;
1434:   __suseconds_t tv_usec;
1434: 
1434: };
1434: # 23 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 2 3 4
1434: 
1434: 
1434: 
1434: struct timex
1434: {
1434: # 58 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4
1434:   unsigned int modes;
1434:   __syscall_slong_t offset;
1434:   __syscall_slong_t freq;
1434:   __syscall_slong_t maxerror;
1434:   __syscall_slong_t esterror;
1434:   int status;
1434:   __syscall_slong_t constant;
1434:   __syscall_slong_t precision;
1434:   __syscall_slong_t tolerance;
1434:   struct timeval time;
1434:   __syscall_slong_t tick;
1434:   __syscall_slong_t ppsfreq;
1434:   __syscall_slong_t jitter;
1434:   int shift;
1434:   __syscall_slong_t stabil;
1434:   __syscall_slong_t jitcnt;
1434:   __syscall_slong_t calcnt;
1434:   __syscall_slong_t errcnt;
1434:   __syscall_slong_t stbcnt;
1434: 
1434:   int tai;
1434: 
1434: 
1434:   int :32; int ) const;
1417: 
1417:       virtual char_type
1417:       do_tolower(char_type __c) const;
1417: 
1417:       virtual const char_type*
1417:       do_tolower(char_type* __lo, const char_type* __hi) const;
1417: 
1417:       virtual char_type
1417:       do_widen(char __c) const;
1417: 
1417:       virtual const char*
1417:       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
1417: 
1417:       virtual char
1417:       do_narrow(char_type, char __dfault) const;
1417: 
1417:       virtual const char_type*
1417:       do_narrow(const char_type* __lo, const char_type* __hi,
1417:   char __dfault, char* __to) const;
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     locale::id ctype<_CharT>::id;
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     class ctype<basic_string<_CharT, _Traits, _Alloc> >;
1417: # 688 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<>
1417:     class ctype<char> : public locale::facet, public ctype_base
1417:     {
1417:     public:
1417: 
1417: 
1417:       typedef char char_type;
1417: 
1417:     protected:
1417: 
1417:       __c_locale _M_c_locale_ctype;
1417:       bool _M_del;
1417:       __to_type _M_toupper;
1417:       __to_type _M_tolower;
1417:       const mask* _M_table;
1417:       mutable char _M_widen_ok;
1417:       mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
1417:       mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
1417:       mutable char _M_narrow_ok;
1417: 
1417: 
1417:     public:
1417: 
1417:       static locale::id id;
1417: 
1417:       static const size_t table_size = 1 + static_cast<unsigned char>(-1);
1417: # 725 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
1417: # 738 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
1417:      size_t __refs = 0);
1417: # 751 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       inline bool
1417:       is(mask __m, char __c) const;
1417: # 766 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       inline const char*
1417:       is(const char* __lo, const char* __hi, mask* __vec) const;
1417: # 780 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       inline const char*
1417:       scan_is(mask __m, const char* __lo, const char* __hi) const;
1417: # 794 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       inline const char*
1417:       scan_not(mask __m, const char* __lo, const char* __hi) const;
1417: # 809 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       toupper(char_type __c) const
1417:       { return this->do_toupper(__c); }
1417: # 826 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       toupper(char_type *__lo, const char_type* __hi) const
1417:       { return this->do_toupper(__lo, __hi); }
1417: # 842 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       tolower(char_type __c) const
1417:       { return this->do_tolower(__c); }
1417: # 859 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       tolower(char_type* __lo, const char_type* __hi) const
1417:       { return this->do_tolower(__lo, __hi); }
1417: # 879 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       widen(char __c) const
1417:       {
1417:  if (_M_widen_ok)
1417:    return _M_widen[static_cast<unsigned char>(__c)];
1417:  this->_M_widen_init();
1417:  return this->do_widen(__c);
1417:       }
1417: # 906 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char*
1417:       widen(const char* __lo, const char* __hi, char_type* __to) const
1417:       {
1417:  if (_M_widen_ok == 1)
1417:    {
1417:      if (__builtin_expect(__hi != __lo, true))
1417:        __builtin_memcpy(__to, __lo, __hi - __lo);
1417:      return __hi;
1417:    }
1417:  if (!_M_widen_ok)
1417:    _M_widen_init();
:32; int :32; int :32;
1434:   int :32; int :32; int :32; int :32;
1434:   int :32; int :32; int :32;
1434: 
1434: };
1434: # 74 "/usr/include/arm-linux-gnueabihf/bits/time.h" 2 3 4
1434: 
1434: extern "C" {
1434: 
1434: 
1434: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: # 90 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4
1434: }
1434: # 34 "/usr/include/time.h" 2 3 4
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clock_t.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __clock_t clock_t;
1434: # 38 "/usr/include/time.h" 2 3 4
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_tm.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: struct tm
1434: {
1434:   int tm_sec;
1434:   int tm_min;
1434:   int tm_hour;
1434:   int tm_mday;
1434:   int tm_mon;
1434:   int tm_year;
1434:   int tm_wday;
1434:   int tm_yday;
1434:   int tm_isdst;
1434: 
1434: 
1434:   long int tm_gmtoff;
1434:   const char *tm_zone;
1434: 
1434: 
1434: 
1434: 
1434: };
1434: # 40 "/usr/include/time.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __clockid_t clockid_t;
1434: # 47 "/usr/include/time.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/timer_t.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __timer_t timer_t;
1434: # 48 "/usr/include/time.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_itimerspec.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: struct itimerspec
1434:   {
1434:     struct timespec it_interval;
1434:     struct timespec it_value;
1434:   };
1434: # 49 "/usr/include/time.h" 2 3 4
1434: struct sigevent;
1434: # 68 "/usr/include/time.h" 3 4
1434: extern "C" {
1434: 
1434: 
1434: 
1434: extern clock_t clock (void) noexcept (true);
1434: 
1434: 
1434: 
1434: extern time_t time (time_t *__timer) noexcept (true);
1434: 
1434: 
1434: extern double difftime (time_t __time1, time_t __time0)
1434:      noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern time_t mktime (struct tm *__tp) noexcept (true);
1434: # 100 "/usr/include/time.h" 3 4
1434: extern size_t strftime (char *__restrict __s, size_t __maxsize,
1434:    const char *__restrict __format,
1434:    const struct tm *__restrict __tp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern char *strptime (const char *__restrict __s,
1434:          const char *__restrict __fmt, struct tm *__tp)
1434:      noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
1434:      const char *__restrict __format,
1434:      const struct tm *__restrict __tp,
1434:      locale_t __loc) noexcept (true);
1434: 
1434: 
1434: 
1434: extern char *strptime_l (const char *__restrict __s,
1434:     const char *__restrict __fmt, struct tm *__tp,
1434:     locale_t __loc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern struct tm *gmtime (const time_t *__timer) noexcept (true);
1434: 
1434: 
1434: 
1434: extern struct tm *localtime (const time_t *__timer) noexcept (true);
1434: # 154 "/usr/include/time.h" 3 4
1434: extern struct tm *gmtime_r (const time_t *__restrict __timer,
1434:        struct tm *__restrict __tp) noexcept (true);
1434: 
1434: 
1434: 
1434: extern struct tm *localtime_r (const time_t *__restrict __timer,
1434:           struct tm *__restrict __tp) noexcept (true);
1434: # 179 "/usr/include/time.h" 3 4
1434: extern char *asctime (const struct tm *__tp) noexcept (true);
1434: 
1434: 
1434: 
1434: extern char *ctime (const time_t *__timer) noexcept (true);
1434: # 197 "/usr/include/time.h" 3 4
1434: extern char *asctime_r (const struct tm *__restrict __tp,
1434:    char *__restrict __buf) noexcept (true);
1434: 
1434: 
1434: 
1434: extern char *ctime_r (const time_t *__restrict __timer,
1434:         char *__restrict _comp)
1412:     {
1412:       typename iterator_traits<_RandomAccessIterator>::value_type
1412:  __val = std::move(*__last);
1412:       _RandomAccessIterator __next = __last;
1412:       --__next;
1412:       while (__comp(__val, __next))
1412:  {
1412:    *__last = std::move(*__next);
1412:    __last = __next;
1412:    --__next;
1412:  }
1412:       *__last = std::move(__val);
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     void
1412:     __insertion_sort(_RandomAccessIterator __first,
1412:        _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412:       if (__first == __last) return;
1412: 
1412:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1412:  {
1412:    if (__comp(__i, __first))
1412:      {
1412:        typename iterator_traits<_RandomAccessIterator>::value_type
1412:   __val = std::move(*__i);
1412:        std::move_backward(__first, __i, __i + 1);
1412:        *__first = std::move(__val);
1412:      }
1412:    else
1412:      std::__unguarded_linear_insert(__i,
1412:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     __unguarded_insertion_sort(_RandomAccessIterator __first,
1412:           _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412:       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
1412:  std::__unguarded_linear_insert(__i,
1412:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   enum { _S_threshold = 16 };
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     void
1412:     __final_insertion_sort(_RandomAccessIterator __first,
1412:       _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412:       if (__last - __first > int(_S_threshold))
1412:  {
1412:    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
1412:    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
1412:        __comp);
1412:  }
1412:       else
1412:  std::__insertion_sort(__first, __last, __comp);
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     _RandomAccessIterator
1412:     __unguarded_partition(_RandomAccessIterator __first,
1412:      _RandomAccessIterator __last,
1412:      _RandomAccessIterator __pivot, _Compare __comp)
1412:     {
1412:       while (true)
1412:  {
1412:    while (__comp(__first, __pivot))
1412:      ++__first;
1412:    --__last;
1412:    while (__comp(__pivot, __last))
1412:      --__last;
1412:    if (!(__first < __last))
1412:      return __first;
1412:    std::iter_swap(__first, __last);
1412:    ++__first;
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline _RandomAccessIterator
1412:     __unguarded_partition_pivot(_RandomAccessIterator __first,
1412:     _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412:       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
1412:       std::__move_median_to_first(__first, __first + 1, __mid, __last - 1,
1412:       __comp);
1412:       return std::__unguarded_partition(__first + 1, __last, __first, __comp);
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     __partial_sort(_RandomAccessIterator __first,
1412:      _RandomAccessIterator __middle,
1412:      _RandomAccessIterator __last,
1412:      _Compare __comp)
1412:     {
1412:       std::__heap_select(__first, __middle, __last, __comp);
1412:       std::__sort_heap(__first, __middle, __comp);
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
1412:    
1412:     void
1412:     __introsort_loop(_RandomAccessIterator __first,
1412:        _RandomAccessIterator __last,
1412:        _Size __de1417:  return this->do_widen(__lo, __hi, __to);
1417:       }
1417: # 938 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char
1417:       narrow(char_type __c, char __dfault) const
1417:       {
1417:  if (_M_narrow[static_cast<unsigned char>(__c)])
1417:    return _M_narrow[static_cast<unsigned char>(__c)];
1417:  const char __t = do_narrow(__c, __dfault);
1417:  if (__t != __dfault)
1417:    _M_narrow[static_cast<unsigned char>(__c)] = __t;
1417:  return __t;
1417:       }
1417: # 971 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       const char_type*
1417:       narrow(const char_type* __lo, const char_type* __hi,
1417:       char __dfault, char* __to) const
1417:       {
1417:  if (__builtin_expect(_M_narrow_ok == 1, true))
1417:    {
1417:      if (__builtin_expect(__hi != __lo, true))
1417:        __builtin_memcpy(__to, __lo, __hi - __lo);
1417:      return __hi;
1417:    }
1417:  if (!_M_narrow_ok)
1417:    _M_narrow_init();
1417:  return this->do_narrow(__lo, __hi, __dfault, __to);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       const mask*
1417:       table() const throw()
1417:       { return _M_table; }
1417: 
1417: 
1417:       static const mask*
1417:       classic_table() throw();
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       virtual
1417:       ~ctype();
1417: # 1021 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_toupper(char_type __c) const;
1417: # 1038 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_toupper(char_type* __lo, const char_type* __hi) const;
1417: # 1054 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_tolower(char_type __c) const;
1417: # 1071 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_tolower(char_type* __lo, const char_type* __hi) const;
1417: # 1091 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_widen(char __c) const
1417:       { return __c; }
1417: # 1114 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char*
1417:       do_widen(const char* __lo, const char* __hi, char_type* __to) const
1417:       {
1417:  if (__builtin_expect(__hi != __lo, true))
1417:    __builtin_memcpy(__to, __lo, __hi - __lo);
1417:  return __hi;
1417:       }
1417: # 1141 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char
1417:       do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const
1417:       { return __c; }
1417: # 1167 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_narrow(const char_type* __lo, const char_type* __hi,
1417:   char __dfault __attribute__((__unused__)), char* __to) const
1417:       {
1417:  if (__builtin_expect(__hi != __lo, true))
1417:    __builtin_memcpy(__to, __lo, __hi - __lo);
1417:  return __hi;
1417:       }
1417: 
1417:     private:
1417:       void _M_narrow_init() const;
1417:       void _M_widen_init() const;
1417:     };
1417: # 1193 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<>
1417:     class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
1417:     {
1417:     public:
1417: 
1417: 
1417:       typedef wchar_t char_type;
1417:       typedef wctype_t __wmask_type;
1417: 
1417:     protected:
1417:       __c_locale _M_c_locale_ctype;
1417: 
1417: 
1417:       bool _M_narrow_ok;
1417:       char _M_narrow[128];
1417:       wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
1417: 
1417: 
1417:       mask _M_bit[16];
1417:       __wmask_type _M_wmask[16];
1417: 
1417:     public:
1417: 
1417: 
1417:       static locale::id id;
1417: # 1226 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       ctype(size_t __refs = 0);
1417: # 1237 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       ctype(__c_locale __cloc, size_t __refs = 0);
1417: 
1417:     protected:
1417:       __wmask_type
1417:       _M_convert_to_w_buf) noexcept (true);
1434: # 217 "/usr/include/time.h" 3 4
1434: extern char *__tzname[2];
1434: extern int __daylight;
1434: extern long int __timezone;
1434: 
1434: 
1434: 
1434: 
1434: extern char *tzname[2];
1434: 
1434: 
1434: 
1434: extern void tzset (void) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int daylight;
1434: extern long int timezone;
1434: # 246 "/usr/include/time.h" 3 4
1434: extern time_t timegm (struct tm *__tp) noexcept (true);
1434: # 263 "/usr/include/time.h" 3 4
1434: extern time_t timelocal (struct tm *__tp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int dysize (int __year) noexcept (true) __attribute__ ((__const__));
1434: # 281 "/usr/include/time.h" 3 4
1434: extern int nanosleep (const struct timespec *__requested_time,
1434:         struct timespec *__remaining);
1434: 
1434: 
1434: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true);
1434: 
1434: 
1434: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: # 323 "/usr/include/time.h" 3 4
1434: extern int clock_nanosleep (clockid_t __clock_id, int __flags,
1434:        const struct timespec *__req,
1434:        struct timespec *__rem);
1434: # 338 "/usr/include/time.h" 3 4
1434: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int timer_create (clockid_t __clock_id,
1434:     struct sigevent *__restrict __evp,
1434:     timer_t *__restrict __timerid) noexcept (true);
1434: 
1434: 
1434: extern int timer_delete (timer_t __timerid) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int timer_settime (timer_t __timerid, int __flags,
1434:      const struct itimerspec *__restrict __value,
1434:      struct itimerspec *__restrict __ovalue) noexcept (true);
1434: 
1434: 
1434: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
1434:      noexcept (true);
1434: # 376 "/usr/include/time.h" 3 4
1434: extern int timer_getoverrun (timer_t __timerid) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int timespec_get (struct timespec *__ts, int __base)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 399 "/usr/include/time.h" 3 4
1434: extern int timespec_getres (struct timespec *__ts, int __base)
1434:      noexcept (true);
1434: # 425 "/usr/include/time.h" 3 4
1434: extern int getdate_err;
1434: # 434 "/usr/include/time.h" 3 4
1434: extern struct tm *getdate (const char *__string);
1434: # 448 "/usr/include/time.h" 3 4
1434: extern int getdate_r (const char *__restrict __string,
1434:         struct tm *__restrict __resbufp);
1434: 
1434: 
1434: }
1434: # 24 "/usr/include/pthread.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 1 3 4
1434: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 1 3 4
1434: # 44 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 1 3 4
1434: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h" 2 3 4
1434: # 45 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 1 3 4
1434: # 25 "/usr/include/arm-linux-gnueabihf/bits/atomic_wide_counter.h" 3 4
1434: typedef union
1434: {
1434:   __extension__ unsigned long long int __value64;
1434:   struct
1434:   {
1434:     unsigned int __low;
1434:     unsigned int __high;
1434:   } __value32;
1434: } __atomic_wide_counter;
1434: # 47 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: typedef struct __pthread_internal_list
1434: {
1434:   struct __pthread_internal_list *__prev;
1434:   struct __pthread_internal_list *__next;
1434: } __pthread_list_t;
1434: 
1434: typedef struct __pthread_internal_slist
1434: {
1434:   struct __pthread_internal_slist *__next;
1434: } __pthread_slist_t;
1434: # 76 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1434: struct __pthread_mutex_s
1434: {
1434:   int __lock ;
1434:   unsigned int __count;
1434:   int __owner;
1434: # 58 "/usr/include/arm-linux-gnueabihf/bits/struct_mutex.h" 3 4
1434:   int __kind;
1434: 
1434:   unsigned int __nusers;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   __extension__ union
1434:   {
1434:     int __spins;
1434:     __pthread_slist_t __list;
1434:   };
1434: 
1434: 
1434: };
1434: # 77 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1434: # 89 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 1 3 4
1434: # 29 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1434: struct __pthread_rwlock_arch_t
1434: {
1434:   unsigned int __readers;
1434:   unsigned int __writers;
1434:   unsigned int __wrphase_futex;
1434:   unsigned int __writers_futex;
1434:   unsigned int __pad3;
1434:   unsigned int __pad4;
1434: # 45 "/usr/include/arm-linux-gnueabihf/bits/struct_rwlock.h" 3 4
1434:   unsigned char __flags;
1434:   unsigned char __shared;
1434:   unsigned char __pad1;
1434:   unsigned char __pad2;
1434: 
1434:   int __cur_writer;
1434: };
1434: # 90 "/usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: struct __pthread_cond_s
1434: {
1434:   __atomic_wide_counter __wseq;
1434:   __atomic_wide_counter __g1_start;
1434:   unsigned int __g_refs[2] ;
1434:   unsigned int __g_size[2];
1434:   unsigned int __g1_orig_size;
1434:   unsigned int __wrefs;
1434:   unsigned int __g_signals[2];
1434: };
1434: 
1434: typedef unsigned int __tss_t;
1434: typedef unsigned long int __thrd_t;
1434: 
1434: typedef struct
1434: {
1434:   int __data ;
1434: } __once_flag;
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 2 3 4
1434: 
1434: 
1434: 
1434: typedef unsigned long int pthread_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef union
1434: {
1434:   char __size[4];
1434:   int __align;
1434: } pthread_mutexattr_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef union
1434: {
1434:   char __size[4];
1434:   int __align;
1434: } pthread_condattr_t;
1434: 
1434: 
1434: 
1434: typedef unsigned int pthread_key_t;
1434: 
1434: 
1434: 
1434: typedef int pthread_once_t;
1434: 
1434: 
1434: union pthread_attr_t
1434: {
1434:   char __size[36];
1434:   long int __align;
1434: };
1434: 
1434: typedef union pthread_attr_t pthread_attr_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef union
1434: {
1434:   struct __pthread_mutex_s __data;
1434:   char __size[24];
1434:   long int __align;
1434: } pthread_mutex_t;
1434: 
1434: 
1434: typedef union
1434: {
1434:   struct __pthread_cond_s __data;
1434:   char __size[48];
1434:   __extension__ long long int __align;
1434: } pthread_cond_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef union
1434: {
1434:   struct __pthread_rwlock_arch_t __data;
1434:   char __size[32];
1434:   long int __align;
1434: } pthread_rwlock_t;
1434: 
1434: typedef union
1434: {
1434:   char __size[8];
1434:   long int __align;
1434: } pthread_rwlockattr_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef volatile int pthread_spinlock_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef union
1434: {
1434:   char __size[20];
1434:   long int __align;
1434: } pthread_barrier_t;
1434: 
1434: typedef union
1434: {
1434:   char __size[4];
1434:   int __align;
1434: } pthread_barrierattr_t;
1434: # 27 "/usr/include/pthread.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" pth_limit, _Compare __comp)
1412:     {
1412:       while (__last - __first > int(_S_threshold))
1412:  {
1412:    if (__depth_limit == 0)
1412:      {
1412:        std::__partial_sort(__first, __last, __last, __comp);
1412:        return;
1412:      }
1412:    --__depth_limit;
1412:    _RandomAccessIterator __cut =
1412:      std::__unguarded_partition_pivot(__first, __last, __comp);
1412:    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
1412:    __last = __cut;
1412:  }
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     __sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:     _Compare __comp)
1412:     {
1412:       if (__first != __last)
1412:  {
1412:    std::__introsort_loop(__first, __last,
1412:     std::__lg(__last - __first) * 2,
1412:     __comp);
1412:    std::__final_insertion_sort(__first, __last, __comp);
1412:  }
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
1412:    
1412:     void
1412:     __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1412:     _RandomAccessIterator __last, _Size __depth_limit,
1412:     _Compare __comp)
1412:     {
1412:       while (__last - __first > 3)
1412:  {
1412:    if (__depth_limit == 0)
1412:      {
1412:        std::__heap_select(__first, __nth + 1, __last, __comp);
1412: 
1412:        std::iter_swap(__first, __nth);
1412:        return;
1412:      }
1412:    --__depth_limit;
1412:    _RandomAccessIterator __cut =
1412:      std::__unguarded_partition_pivot(__first, __last, __comp);
1412:    if (__cut <= __nth)
1412:      __first = __cut;
1412:    else
1412:      __last = __cut;
1412:  }
1412:       std::__insertion_sort(__first, __last, __comp);
1412:     }
1412: # 1991 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1412:    
1412:     inline _ForwardIterator
1412:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1412:   const _Tp& __val, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412:                     ;
1412: 
1412:       return std::__lower_bound(__first, __last, __val,
1412:     __gnu_cxx::__ops::__iter_comp_val(__comp));
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1412:    
1412:     _ForwardIterator
1412:     __upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1412:     const _Tp& __val, _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1412:  _DistanceType;
1412: 
1412:       _DistanceType __len = std::distance(__first, __last);
1412: 
1412:       while (__len > 0)
1412:  {
1412:    _DistanceType __half = __len >> 1;
1412:    _ForwardIterator __middle = __first;
1412:    std::advance(__middle, __half);
1412:    if (__comp(__val, __middle))
1412:      __len = __half;
1412:    else
1412:      {
1412:        __first = __middle;
1412:        ++__first;
1412:        __len = __len - __half - 1;
1412:      }
1412:  }
1412:       return __first;
1412:     }
1412: # 2047 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline _ForwardIterator
1412:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1412:   const _Tp& __val)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__upper_bound(__first, __last, __val,
1412:     __gnu_cxx::__ops::__val_less_iter());
1412:     }
1412: # 2078 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1412:    
1412:     inline _ForwardIterator
1412:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1412:   const _Tp& __val, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412:                     ;
1412: 
1412:       return std::__upper_bound(__first1 3 4
1434: # 33 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 3 4
1434: typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
1434: # 28 "/usr/include/pthread.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1434: # 29 "/usr/include/pthread.h" 2 3 4
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: typedef struct
1434: {
1434:   unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
1434: } __sigset_t;
1434: # 31 "/usr/include/pthread.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 1 3 4
1434: # 26 "/usr/include/arm-linux-gnueabihf/bits/types/struct___jmp_buf_tag.h" 3 4
1434: struct __jmp_buf_tag
1434:   {
1434: 
1434: 
1434: 
1434: 
1434:     __jmp_buf __jmpbuf;
1434:     int __mask_was_saved;
1434:     __sigset_t __saved_mask;
1434:   };
1434: # 32 "/usr/include/pthread.h" 2 3 4
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 1 3 4
1434: # 23 "/usr/include/arm-linux-gnueabihf/bits/pthread_stack_min-dynamic.h" 3 4
1434: extern "C" {
1434: extern long int __sysconf (int __name) noexcept (true);
1434: }
1434: # 34 "/usr/include/pthread.h" 2 3 4
1434: 
1434: 
1434: 
1434: enum
1434: {
1434:   PTHREAD_CREATE_JOINABLE,
1434: 
1434:   PTHREAD_CREATE_DETACHED
1434: 
1434: };
1434: 
1434: 
1434: 
1434: enum
1434: {
1434:   PTHREAD_MUTEX_TIMED_NP,
1434:   PTHREAD_MUTEX_RECURSIVE_NP,
1434:   PTHREAD_MUTEX_ERRORCHECK_NP,
1434:   PTHREAD_MUTEX_ADAPTIVE_NP
1434: 
1434:   ,
1434:   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
1434:   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
1434:   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
1434:   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
1434: 
1434: 
1434: 
1434:   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
1434: 
1434: };
1434: 
1434: 
1434: 
1434: 
1434: enum
1434: {
1434:   PTHREAD_MUTEX_STALLED,
1434:   PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
1434:   PTHREAD_MUTEX_ROBUST,
1434:   PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: enum
1434: {
1434:   PTHREAD_PRIO_NONE,
1434:   PTHREAD_PRIO_INHERIT,
1434:   PTHREAD_PRIO_PROTECT
1434: };
1434: # 104 "/usr/include/pthread.h" 3 4
1434: enum
1434: {
1434:   PTHREAD_RWLOCK_PREFER_READER_NP,
1434:   PTHREAD_RWLOCK_PREFER_WRITER_NP,
1434:   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
1434:   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
1434: };
1434: # 124 "/usr/include/pthread.h" 3 4
1434: enum
1434: {
1434:   PTHREAD_INHERIT_SCHED,
1434: 
1434:   PTHREAD_EXPLICIT_SCHED
1434: 
1434: };
1434: 
1434: 
1434: 
1434: enum
1434: {
1434:   PTHREAD_SCOPE_SYSTEM,
1434: 
1434:   PTHREAD_SCOPE_PROCESS
1434: 
1434: };
1434: 
1434: 
1434: 
1434: enum
1434: {
1434:   PTHREAD_PROCESS_PRIVATE,
1434: 
1434:   PTHREAD_PROCESS_SHARED
1434: 
1434: };
1434: # 159 "/usr/include/pthread.h" 3 4
1434: struct _pthread_cleanup_buffer
1434: {
1434:   void (*__routine) (void *);
1434:   void *__arg;
1434:   int __canceltype;
1434:   struct _pthread_cleanup_buffer *__prev;
1434: };
1434: 
1434: 
1434: enum
1434: {
1434:   PTHREAD_CANCEL_ENABLE,
1434: 
1434:   PTHREAD_CANCEL_DISABLE
1434: 
1434: };
1434: enum
1434: {
1434:   PTHREAD_CANCEL_DEFERRED,
1434: 
1434:   PTHREAD_CANCEL_ASYNCHRONOUS
1434: 
1434: };
1434: # 197 "/usr/include/pthread.h" 3 4
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_create (pthread_t *__restrict __newthread,
1434:       const pthread_attr_t *__restrict __attr,
1434:       void *(*__start_routine) (void *),
1434:       void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_join (pthread_t __th, void **__thread_return);
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) nomask(const mask __m) const throw();
1417: 
1417: 
1417:       virtual
1417:       ~ctype();
1417: # 1261 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual bool
1417:       do_is(mask __m, char_type __c) const;
1417: # 1280 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1417: # 1298 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1417: # 1316 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_scan_not(mask __m, const char_type* __lo,
1417:     const char_type* __hi) const;
1417: # 1333 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_toupper(char_type __c) const;
1417: # 1350 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_toupper(char_type* __lo, const char_type* __hi) const;
1417: # 1366 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_tolower(char_type __c) const;
1417: # 1383 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_tolower(char_type* __lo, const char_type* __hi) const;
1417: # 1403 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_widen(char __c) const;
1417: # 1425 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char*
1417:       do_widen(const char* __lo, const char* __hi, char_type* __to) const;
1417: # 1448 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char
1417:       do_narrow(char_type __c, char __dfault) const;
1417: # 1474 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual const char_type*
1417:       do_narrow(const char_type* __lo, const char_type* __hi,
1417:   char __dfault, char* __to) const;
1417: 
1417: 
1417:       void
1417:       _M_initialize_ctype() throw();
1417:     };
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     class ctype_byname : public ctype<_CharT>
1417:     {
1417:     public:
1417:       typedef typename ctype<_CharT>::mask mask;
1417: 
1417:       explicit
1417:       ctype_byname(const char* __s, size_t __refs = 0);
1417: 
1417: 
1417:       explicit
1417:       ctype_byname(const string& __s, size_t __refs = 0)
1417:       : ctype_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~ctype_byname() { }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     class ctype_byname<char> : public ctype<char>
1417:     {
1417:     public:
1417:       explicit
1417:       ctype_byname(const char* __s, size_t __refs = 0);
1417: 
1417: 
1417:       explicit
1417:       ctype_byname(const string& __s, size_t __refs = 0);
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~ctype_byname();
1417:     };
1417: 
1417: 
1417:   template<>
1417:     class ctype_byname<wchar_t> : public ctype<wchar_t>
1417:     {
1417:     public:
1417:       explicit
1417:       ctype_byname(const char* __s, size_t __refs = 0);
1417: 
1417: 
1417:       explicit
1417:       ctype_byname(const string& __s, size_t __refs = 0);
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~ctype_byname();
1417:     };
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 1 3
1417: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   bool
1417:   ctype<char>::
1417:   is(mask __m, char __c) const
1417:   { return _M_table[static_cast<unsigned char>(__c)] & __m; }
1417: 
1417:   const char*
1417:   ctype<char>::
1417:   is(const char* __low, const char* __high, mask* __vec) const
1417:   {
1417:     while (__low < __high)
1417:       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
1417:, __last, __val,
1412:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Tp,
1412:     typename _CompareItTp, typename _CompareTpIt>
1412:    
1412:     pair<_ForwardIterator, _ForwardIterator>
1412:     __equal_range(_ForwardIterator __first, _ForwardIterator __last,
1412:     const _Tp& __val,
1412:     _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it)
1412:     {
1412:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1412:  _DistanceType;
1412: 
1412:       _DistanceType __len = std::distance(__first, __last);
1412: 
1412:       while (__len > 0)
1412:  {
1412:    _DistanceType __half = __len >> 1;
1412:    _ForwardIterator __middle = __first;
1412:    std::advance(__middle, __half);
1412:    if (__comp_it_val(__middle, __val))
1412:      {
1412:        __first = __middle;
1412:        ++__first;
1412:        __len = __len - __half - 1;
1412:      }
1412:    else if (__comp_val_it(__val, __middle))
1412:      __len = __half;
1412:    else
1412:      {
1412:        _ForwardIterator __left
1412:   = std::__lower_bound(__first, __middle, __val, __comp_it_val);
1412:        std::advance(__first, __len);
1412:        _ForwardIterator __right
1412:   = std::__upper_bound(++__middle, __first, __val, __comp_val_it);
1412:        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
1412:      }
1412:  }
1412:       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
1412:     }
1412: # 2151 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     inline pair<_ForwardIterator, _ForwardIterator>
1412:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1412:   const _Tp& __val)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__equal_range(__first, __last, __val,
1412:     __gnu_cxx::__ops::__iter_less_val(),
1412:     __gnu_cxx::__ops::__val_less_iter());
1412:     }
1412: # 2188 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1412:    
1412:     inline pair<_ForwardIterator, _ForwardIterator>
1412:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1412:   const _Tp& __val, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412:                     ;
1412:      
1412:                     ;
1412: 
1412:       return std::__equal_range(__first, __last, __val,
1412:     __gnu_cxx::__ops::__iter_comp_val(__comp),
1412:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1412:     }
1412: # 2222 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     bool
1412:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1412:     const _Tp& __val)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       _ForwardIterator __i
1412:  = std::__lower_bound(__first, __last, __val,
1412:         __gnu_cxx::__ops::__iter_less_val());
1412:       return __i != __last && !(__val < *__i);
1412:     }
1412: # 2256 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1412:    
1412:     bool
1412:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1412:     const _Tp& __val, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412:                     ;
1412:      
1412:                     ;
1412: 
1412:       _ForwardIterator __i
1412:  = std::__lower_bound(__first, __last, __val,
1412:         __gnu_cxx::__ops::__iter_comp_val(__comp));
1412:       return __i != __last && !bool(__comp(__val, *__i));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator, typename _Compare>
1412:     void
1412:     __move_merge_adaptive(_InputIteratoexcept (true);
1434: # 233 "/usr/include/pthread.h" 3 4
1434: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
1434:      const struct timespec *__abstime);
1434: # 243 "/usr/include/pthread.h" 3 4
1434: extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
1434:                                  clockid_t __clockid,
1434:      const struct timespec *__abstime);
1434: # 269 "/usr/include/pthread.h" 3 4
1434: extern int pthread_detach (pthread_t __th) noexcept (true);
1434: 
1434: 
1434: 
1434: extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
1434:   noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_attr_destroy (pthread_attr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
1434:      int *__detachstate)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
1434:      int __detachstate)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
1434:           size_t *__guardsize)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
1434:           size_t __guardsize)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
1434:            struct sched_param *__restrict __param)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
1434:            const struct sched_param *__restrict
1434:            __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
1434:      __attr, int *__restrict __policy)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
1434:       __attr, int *__restrict __inherit)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
1434:       int __inherit)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
1434:       int *__restrict __scope)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
1434:           __attr, void **__restrict __stackaddr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
1434:           void *__stackaddr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
1434: 
1434: 
1434: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
1434:           __attr, size_t *__restrict __stacksize)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pth     return __high;
1417:   }
1417: 
1417:   const char*
1417:   ctype<char>::
1417:   scan_is(mask __m, const char* __low, const char* __high) const
1417:   {
1417:     while (__low < __high
1417:     && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
1417:       ++__low;
1417:     return __low;
1417:   }
1417: 
1417:   const char*
1417:   ctype<char>::
1417:   scan_not(mask __m, const char* __low, const char* __high) const
1417:   {
1417:     while (__low < __high
1417:     && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
1417:       ++__low;
1417:     return __low;
1417:   }
1417: 
1417: 
1417: }
1417: # 1547 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   class __num_base
1417:   {
1417:   public:
1417: 
1417: 
1417:     enum
1417:       {
1417:  _S_ominus,
1417:  _S_oplus,
1417:  _S_ox,
1417:  _S_oX,
1417:  _S_odigits,
1417:  _S_odigits_end = _S_odigits + 16,
1417:  _S_oudigits = _S_odigits_end,
1417:  _S_oudigits_end = _S_oudigits + 16,
1417:  _S_oe = _S_odigits + 14,
1417:  _S_oE = _S_oudigits + 14,
1417:  _S_oend = _S_oudigits_end
1417:       };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     static const char* _S_atoms_out;
1417: 
1417: 
1417: 
1417:     static const char* _S_atoms_in;
1417: 
1417:     enum
1417:     {
1417:       _S_iminus,
1417:       _S_iplus,
1417:       _S_ix,
1417:       _S_iX,
1417:       _S_izero,
1417:       _S_ie = _S_izero + 14,
1417:       _S_iE = _S_izero + 20,
1417:       _S_iend = 26
1417:     };
1417: 
1417: 
1417: 
1417:     static void
1417:     _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
1417:   };
1417: 
1417:   template<typename _CharT>
1417:     struct __numpunct_cache : public locale::facet
1417:     {
1417:       const char* _M_grouping;
1417:       size_t _M_grouping_size;
1417:       bool _M_use_grouping;
1417:       const _CharT* _M_truename;
1417:       size_t _M_truename_size;
1417:       const _CharT* _M_falsename;
1417:       size_t _M_falsename_size;
1417:       _CharT _M_decimal_point;
1417:       _CharT _M_thousands_sep;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       _CharT _M_atoms_out[__num_base::_S_oend];
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       _CharT _M_atoms_in[__num_base::_S_iend];
1417: 
1417:       bool _M_allocated;
1417: 
1417:       __numpunct_cache(size_t __refs = 0)
1417:       : facet(__refs), _M_grouping(0), _M_grouping_size(0),
1417:  _M_use_grouping(false),
1417:  _M_truename(0), _M_truename_size(0), _M_falsename(0),
1417:  _M_falsename_size(0), _M_decimal_point(_CharT()),
1417:  _M_thousands_sep(_CharT()), _M_allocated(false)
1417:  { }
1417: 
1417:       ~__numpunct_cache();
1417: 
1417:       void
1417:       _M_cache(const locale& __loc);
1417: 
1417:     private:
1417:       __numpunct_cache&
1417:       operator=(const __numpunct_cache&);
1417: 
1417:       explicit
1417:       __numpunct_cache(const __numpunct_cache&);
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     __numpunct_cache<_CharT>::~__numpunct_cache()
1417:     {
1417:       if (_M_allocated)
1417:  {
1417:    delete [] _M_grouping;
1417:    delete [] _M_truename;
1417:    delete [] _M_falsename;
1417:  }
1417:     }
1417: 
1417: namespace __cxx11 {
1417: # 1677 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<typename _CharT>
1417:     class numpunct : public locale::facet
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417:       typedef __numpunct_cache<_CharT> __cache_type;
1417: 
1417:     protected:
1417:       __cache_type* _M_data;
1417: 
1417:     public:
1417: 
1417:       static locale::id id;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       numpunct(size_t __refs = 0)
1417:       : facet(__refs), _M_data(0)
1417:       { _M_initialize_numpunct(); }
1417: # 1715 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       numpunct(read_attr_setstacksize (pthread_attr_t *__attr,
1434:           size_t __stacksize)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
1434:       void **__restrict __stackaddr,
1434:       size_t *__restrict __stacksize)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
1434:       size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
1434:      size_t __cpusetsize,
1434:      const cpu_set_t *__cpuset)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: 
1434: 
1434: 
1434: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
1434:      size_t __cpusetsize,
1434:      cpu_set_t *__cpuset)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: 
1434: 
1434: extern int pthread_getattr_default_np (pthread_attr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
1434:            const __sigset_t *sigmask);
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
1434:            __sigset_t *sigmask);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
1434:       const struct sched_param *__param)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: 
1434: 
1434: extern int pthread_getschedparam (pthread_t __target_thread,
1434:       int *__restrict __policy,
1434:       struct sched_param *__restrict __param)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1434: 
1434: 
1434: extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
1434:      noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
1434:           size_t __buflen)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_getconcurrency (void) noexcept (true);
1434: 
1434: 
1434: extern int pthread_setconcurrency (int __level) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int pthread_yield (void) noexcept (true);
1434: 
1434: extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield")
1434:   __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead")))
1434:                                                       ;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
1434:        const cpu_set_t *__cpuset)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: 
1434: 
1434: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
1434:        cpu_set_t *__cpuset)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: # 509 "/usr/include/pthread.h" 3 4
1434: extern int pthread_once (pthread_once_t *__once_control,
1434:     void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
1434: # 521 "/usr/include/pthread.h" 3 4
1434: extern int pthread_setcancelstate (int __state, int *__oldstate);
1434: 
1434: 
1434: 
1434: extern int pthread_setcanceltype (int __type, int *__oldtype);r1 __first1, _InputIterator1 __last1,
1412:      _InputIterator2 __first2, _InputIterator2 __last2,
1412:      _OutputIterator __result, _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  {
1412:    if (__comp(__first2, __first1))
1412:      {
1412:        *__result = std::move(*__first2);
1412:        ++__first2;
1412:      }
1412:    else
1412:      {
1412:        *__result = std::move(*__first1);
1412:        ++__first1;
1412:      }
1412:    ++__result;
1412:  }
1412:       if (__first1 != __last1)
1412:  std::move(__first1, __last1, __result);
1412:     }
1412: 
1412: 
1412:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1412:     typename _BidirectionalIterator3, typename _Compare>
1412:     void
1412:     __move_merge_adaptive_backward(_BidirectionalIterator1 __first1,
1412:        _BidirectionalIterator1 __last1,
1412:        _BidirectionalIterator2 __first2,
1412:        _BidirectionalIterator2 __last2,
1412:        _BidirectionalIterator3 __result,
1412:        _Compare __comp)
1412:     {
1412:       if (__first1 == __last1)
1412:  {
1412:    std::move_backward(__first2, __last2, __result);
1412:    return;
1412:  }
1412:       else if (__first2 == __last2)
1412:  return;
1412: 
1412:       --__last1;
1412:       --__last2;
1412:       while (true)
1412:  {
1412:    if (__comp(__last2, __last1))
1412:      {
1412:        *--__result = std::move(*__last1);
1412:        if (__first1 == __last1)
1412:   {
1412:     std::move_backward(__first2, ++__last2, __result);
1412:     return;
1412:   }
1412:        --__last1;
1412:      }
1412:    else
1412:      {
1412:        *--__result = std::move(*__last2);
1412:        if (__first2 == __last2)
1412:   return;
1412:        --__last2;
1412:      }
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1412:     typename _Distance>
1412:     _BidirectionalIterator1
1412:     __rotate_adaptive(_BidirectionalIterator1 __first,
1412:         _BidirectionalIterator1 __middle,
1412:         _BidirectionalIterator1 __last,
1412:         _Distance __len1, _Distance __len2,
1412:         _BidirectionalIterator2 __buffer,
1412:         _Distance __buffer_size)
1412:     {
1412:       _BidirectionalIterator2 __buffer_end;
1412:       if (__len1 > __len2 && __len2 <= __buffer_size)
1412:  {
1412:    if (__len2)
1412:      {
1412:        __buffer_end = std::move(__middle, __last, __buffer);
1412:        std::move_backward(__first, __middle, __last);
1412:        return std::move(__buffer, __buffer_end, __first);
1412:      }
1412:    else
1412:      return __first;
1412:  }
1412:       else if (__len1 <= __buffer_size)
1412:  {
1412:    if (__len1)
1412:      {
1412:        __buffer_end = std::move(__first, __middle, __buffer);
1412:        std::move(__middle, __last, __first);
1412:        return std::move_backward(__buffer, __buffer_end, __last);
1412:      }
1412:    else
1412:      return __last;
1412:  }
1412:       else
1412:  return std::rotate(__first, __middle, __last);
1412:     }
1412: 
1412: 
1412:   template<typename _BidirectionalIterator, typename _Distance,
1412:     typename _Pointer, typename _Compare>
1412:     void
1412:     __merge_adaptive(_BidirectionalIterator __first,
1412:        _BidirectionalIterator __middle,
1412:        _BidirectionalIterator __last,
1412:        _Distance __len1, _Distance __len2,
1412:        _Pointer __buffer, _Distance __buffer_size,
1412:        _Compare __comp)
1412:     {
1412:       if (__len1 <= __len2 && __len1 <= __buffer_size)
1412:  {
1412:    _Pointer __buffer_end = std::move(__first, __middle, __buffer);
1412:    std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
1412:          __first, __comp);
1412:  }
1412:       else if (__len2 <= __buffer_size)
1412:  {
1412:    _Pointer __buffer_end = std::move(__middle, __last, __buffer);
1412:    std::__move_merge_adaptive_backward(__first, __middle, __buffer,
1412:            __buffer_end, __last, __comp);
1412:  }
14
1434: 
1434: 
1434: extern int pthread_cancel (pthread_t __th);
1434: 
1434: 
1434: 
1434: 
1434: extern void pthread_testcancel (void);
1434: 
1434: 
1434: 
1434: 
1434: struct __cancel_jmp_buf_tag
1434: {
1434:   __jmp_buf __cancel_jmp_buf;
1434:   int __mask_was_saved;
1434: };
1434: 
1434: typedef struct
1434: {
1434:   struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
1434:   void *__pad[4];
1434: } __pthread_unwind_buf_t __attribute__ ((__aligned__));
1434: # 557 "/usr/include/pthread.h" 3 4
1434: struct __pthread_cleanup_frame
1434: {
1434:   void (*__cancel_routine) (void *);
1434:   void *__cancel_arg;
1434:   int __do_it;
1434:   int __cancel_type;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: class __pthread_cleanup_class
1434: {
1434:   void (*__cancel_routine) (void *);
1434:   void *__cancel_arg;
1434:   int __do_it;
1434:   int __cancel_type;
1434: 
1434:  public:
1434:   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
1434:     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
1434:   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
1434:   void __setdoit (int __newval) { __do_it = __newval; }
1434:   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
1434:         &__cancel_type); }
1434:   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
1434: };
1434: # 766 "/usr/include/pthread.h" 3 4
1434: extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) noexcept (true) __asm__ ("" "__sigsetjmp")
1434: 
1434: 
1434:                      __attribute__ ((__returns_twice__));
1434: # 781 "/usr/include/pthread.h" 3 4
1434: extern int pthread_mutex_init (pthread_mutex_t *__mutex,
1434:           const pthread_mutexattr_t *__mutexattr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
1434:         const struct timespec *__restrict
1434:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: # 817 "/usr/include/pthread.h" 3 4
1434: extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
1434:         clockid_t __clockid,
1434:         const struct timespec *__restrict
1434:         __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: # 835 "/usr/include/pthread.h" 3 4
1434: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
1434:       __restrict __mutex,
1434:       int *__restrict __prioceiling)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
1434:       int __prioceiling,
1434:       int *__restrict __old_ceiling)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent")
1434:                                 __attribute__ ((__nonnull__ (1)))
1434:   __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent")))
1434:                                                                          ;
1434: # 874 "/usr/include/pthread.h" 3 4
1434: extern int pthread_mutexattr_init (pthread_mutexat__cache_type* __cache, size_t __refs = 0)
1417:       : facet(__refs), _M_data(__cache)
1417:       { _M_initialize_numpunct(); }
1417: # 1729 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       numpunct(__c_locale __cloc, size_t __refs = 0)
1417:       : facet(__refs), _M_data(0)
1417:       { _M_initialize_numpunct(__cloc); }
1417: # 1743 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       decimal_point() const
1417:       { return this->do_decimal_point(); }
1417: # 1756 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       char_type
1417:       thousands_sep() const
1417:       { return this->do_thousands_sep(); }
1417: # 1787 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       string
1417:       grouping() const
1417:       { return this->do_grouping(); }
1417: # 1800 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       string_type
1417:       truename() const
1417:       { return this->do_truename(); }
1417: # 1813 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       string_type
1417:       falsename() const
1417:       { return this->do_falsename(); }
1417: 
1417:     protected:
1417: 
1417:       virtual
1417:       ~numpunct();
1417: # 1830 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_decimal_point() const
1417:       { return _M_data->_M_decimal_point; }
1417: # 1842 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual char_type
1417:       do_thousands_sep() const
1417:       { return _M_data->_M_thousands_sep; }
1417: # 1855 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual string
1417:       do_grouping() const
1417:       { return _M_data->_M_grouping; }
1417: # 1868 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual string_type
1417:       do_truename() const
1417:       { return _M_data->_M_truename; }
1417: # 1881 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual string_type
1417:       do_falsename() const
1417:       { return _M_data->_M_falsename; }
1417: 
1417: 
1417:       void
1417:       _M_initialize_numpunct(__c_locale __cloc = 0);
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     locale::id numpunct<_CharT>::id;
1417: 
1417:   template<>
1417:     numpunct<char>::~numpunct();
1417: 
1417:   template<>
1417:     void
1417:     numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
1417: 
1417: 
1417:   template<>
1417:     numpunct<wchar_t>::~numpunct();
1417: 
1417:   template<>
1417:     void
1417:     numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     class numpunct_byname : public numpunct<_CharT>
1417:     {
1417:     public:
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417:       explicit
1417:       numpunct_byname(const char* __s, size_t __refs = 0)
1417:       : numpunct<_CharT>(__refs)
1417:       {
1417:  if (__builtin_strcmp(__s, "C") != 0
1417:      && __builtin_strcmp(__s, "POSIX") != 0)
1417:    {
1417:      __c_locale __tmp;
1417:      this->_S_create_c_locale(__tmp, __s);
1417:      this->_M_initialize_numpunct(__tmp);
1417:      this->_S_destroy_c_locale(__tmp);
1417:    }
1417:       }
1417: 
1417: 
1417:       explicit
1417:       numpunct_byname(const string& __s, size_t __refs = 0)
1417:       : numpunct_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~numpunct_byname() { }
1417:     };
1417: 
1417: }
1417: 
1417: 
1417: # 1959 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<typename _CharT, typename _InIter>
1417:     class num_get : public locale::facet
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _InIter iter_type;
1417: 
1417: 
1417: 
1417:       static locale::id id;
1417: # 1980 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       num_get(size_t __refs = 0) : facet(__refs) { }
1417: # 2006 "/usr/include/tr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
1434:       __restrict __attr,
1434:       int *__restrict __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
1434:       int __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
1434:           __attr, int *__restrict __kind)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
1434:        __restrict __attr,
1434:        int *__restrict __protocol)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
1434:        int __protocol)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
1434:           __restrict __attr,
1434:           int *__restrict __prioceiling)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
1434:           int __prioceiling)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
1434:      int *__robustness)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust")
1434: 
1434:                                    __attribute__ ((__nonnull__ (1)))
1434:   __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust")))
1434:                                                                                ;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
1434:      int __robustness)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust")
1434: 
1434:                                    __attribute__ ((__nonnull__ (1)))
1434:   __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust")))
1434:                                                                                ;
1434: # 967 "/usr/include/pthread.h" 3 4
1434: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
1434:     const pthread_rwlockattr_t *__restrict
1434:     __attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
1434:   noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
1434:            const struct timespec *__restrict
1434:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: # 1004 "/us12:       else
1412:  {
1412:    _BidirectionalIterator __first_cut = __first;
1412:    _BidirectionalIterator __second_cut = __middle;
1412:    _Distance __len11 = 0;
1412:    _Distance __len22 = 0;
1412:    if (__len1 > __len2)
1412:      {
1412:        __len11 = __len1 / 2;
1412:        std::advance(__first_cut, __len11);
1412:        __second_cut
1412:   = std::__lower_bound(__middle, __last, *__first_cut,
1412:          __gnu_cxx::__ops::__iter_comp_val(__comp));
1412:        __len22 = std::distance(__middle, __second_cut);
1412:      }
1412:    else
1412:      {
1412:        __len22 = __len2 / 2;
1412:        std::advance(__second_cut, __len22);
1412:        __first_cut
1412:   = std::__upper_bound(__first, __middle, *__second_cut,
1412:          __gnu_cxx::__ops::__val_comp_iter(__comp));
1412:        __len11 = std::distance(__first, __first_cut);
1412:      }
1412: 
1412:    _BidirectionalIterator __new_middle
1412:      = std::__rotate_adaptive(__first_cut, __middle, __second_cut,
1412:          __len1 - __len11, __len22, __buffer,
1412:          __buffer_size);
1412:    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
1412:     __len22, __buffer, __buffer_size, __comp);
1412:    std::__merge_adaptive(__new_middle, __second_cut, __last,
1412:     __len1 - __len11,
1412:     __len2 - __len22, __buffer,
1412:     __buffer_size, __comp);
1412:  }
1412:     }
1412: 
1412: 
1412:   template<typename _BidirectionalIterator, typename _Distance,
1412:     typename _Compare>
1412:     void
1412:     __merge_without_buffer(_BidirectionalIterator __first,
1412:       _BidirectionalIterator __middle,
1412:       _BidirectionalIterator __last,
1412:       _Distance __len1, _Distance __len2,
1412:       _Compare __comp)
1412:     {
1412:       if (__len1 == 0 || __len2 == 0)
1412:  return;
1412: 
1412:       if (__len1 + __len2 == 2)
1412:  {
1412:    if (__comp(__middle, __first))
1412:      std::iter_swap(__first, __middle);
1412:    return;
1412:  }
1412: 
1412:       _BidirectionalIterator __first_cut = __first;
1412:       _BidirectionalIterator __second_cut = __middle;
1412:       _Distance __len11 = 0;
1412:       _Distance __len22 = 0;
1412:       if (__len1 > __len2)
1412:  {
1412:    __len11 = __len1 / 2;
1412:    std::advance(__first_cut, __len11);
1412:    __second_cut
1412:      = std::__lower_bound(__middle, __last, *__first_cut,
1412:      __gnu_cxx::__ops::__iter_comp_val(__comp));
1412:    __len22 = std::distance(__middle, __second_cut);
1412:  }
1412:       else
1412:  {
1412:    __len22 = __len2 / 2;
1412:    std::advance(__second_cut, __len22);
1412:    __first_cut
1412:      = std::__upper_bound(__first, __middle, *__second_cut,
1412:      __gnu_cxx::__ops::__val_comp_iter(__comp));
1412:    __len11 = std::distance(__first, __first_cut);
1412:  }
1412: 
1412:       _BidirectionalIterator __new_middle
1412:  = std::rotate(__first_cut, __middle, __second_cut);
1412:       std::__merge_without_buffer(__first, __first_cut, __new_middle,
1412:       __len11, __len22, __comp);
1412:       std::__merge_without_buffer(__new_middle, __second_cut, __last,
1412:       __len1 - __len11, __len2 - __len22, __comp);
1412:     }
1412: 
1412:   template<typename _BidirectionalIterator, typename _Compare>
1412:     void
1412:     __inplace_merge(_BidirectionalIterator __first,
1412:       _BidirectionalIterator __middle,
1412:       _BidirectionalIterator __last,
1412:       _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_BidirectionalIterator>::value_type
1412:    _ValueType;
1412:       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
1412:    _DistanceType;
1412:       typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf;
1412: 
1412:       if (__first == __middle || __middle == __last)
1412:  return;
1412: 
1412:       const _DistanceType __len1 = std::distance(__first, __middle);
1412:       const _DistanceType __len2 = std::distance(__middle, __last);
1412: 
1412: 
1412: 
1412:       _TmpBuf __buf(__first, std::min(__len1, __len2))r/include/pthread.h" 3 4
1434: extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
1434:            clockid_t __clockid,
1434:            const struct timespec *__restrict
1434:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: # 1023 "/usr/include/pthread.h" 3 4
1434: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
1434:            const struct timespec *__restrict
1434:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: # 1051 "/usr/include/pthread.h" 3 4
1434: extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
1434:            clockid_t __clockid,
1434:            const struct timespec *__restrict
1434:            __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: # 1071 "/usr/include/pthread.h" 3 4
1434: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
1434:        __restrict __attr,
1434:        int *__restrict __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
1434:        int __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
1434:        __restrict __attr,
1434:        int *__restrict __pref)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
1434:        int __pref) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
1434:          const pthread_condattr_t *__restrict __cond_attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_cond_destroy (pthread_cond_t *__cond)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_cond_signal (pthread_cond_t *__cond)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_cond_broadcast (pthread_cond_t *__cond)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
1434:          pthread_mutex_t *__restrict __mutex)
1434:      __attribute__ ((__nonnull__ (1, 2)));
1434: # 1145 "/usr/include/pthread.h" 3 4
1434: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
1434:        pthread_mutex_t *__restrict __mutex,
1434:        const struct timespec *__restrict __abstime)
1434:      __attribute__ ((__nonnull__ (1, 2, 3)));
1434: # 1171 "/usr/include/pthread.h" 3 4
1434: extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
1434:        pthread_mutex_t *__restrict __mutex,
1434:        __clockid_t __clock_id,
1434:        const struct timespec *__restrict __abstime)
1434:      __attribute__ ((__nonnull__ (1, 2, 4)));
1434: # 1194 "/usr/include/pthread.h" 3 4
1434: extern int pthread_condattr_init (pthread_condattr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
14c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, bool& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: # 2043 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, long& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, unsigned short& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, unsigned int& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, unsigned long& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417: 
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, long long& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, unsigned long long& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: # 2103 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, float& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, double& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, long double& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: # 2146 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       get(iter_type __in, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, void*& __v) const
1417:       { return this->do_get(__in, __end, __io, __err, __v); }
1417: 
1417:     protected:
1417: 
1417:       virtual ~num_get() { }
1417: 
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       iter_type
1417:       _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
1417:          string&) const;
1417: 
1417:       template<typename _ValueT>
1417:  __attribute ((__abi_tag__ ("cxx11")))
1417:  iter_type
1417:  _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
1417:          _ValueT&) const;
1417: 
1417:       template<typename _CharT2>
1417:       typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
1417:  _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
1417:  {
1417:    int __ret = -1;
1417:    if (__len <= 10)
1417:      {
1417:        if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
1417:   __ret = __c - _CharT2('0');
1417:      }
1417:    else
1417:      {
1417:        if (__c >= _CharT2('0') && __c <= _CharT2('9'))
1417:   __ret = __c - _CharT2('0');
1417:        else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
1417:   __ret = 10 + (__c - _CharT2('a'));
1417:        else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
1417:   __ret = 10 + (__c - _CharT2('A'));
1417:      }
1417:    return __ret;
1417:  }
1417: 
1417:       template<typename _CharT2>
1417:       typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
1417:           int>::__type
1417:  _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
1417:  {
1417:    int 34: extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_condattr_getpshared (const pthread_condattr_t *
1434:      __restrict __attr,
1434:      int *__restrict __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
1434:      int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_condattr_getclock (const pthread_condattr_t *
1434:           __restrict __attr,
1434:           __clockid_t *__restrict __clock_id)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
1434:           __clockid_t __clock_id)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 1230 "/usr/include/pthread.h" 3 4
1434: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_spin_lock (pthread_spinlock_t *__lock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
1434:      const pthread_barrierattr_t *__restrict
1434:      __attr, unsigned int __count)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
1434:         __restrict __attr,
1434:         int *__restrict __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
1434:         int __pshared)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 1297 "/usr/include/pthread.h" 3 4
1434: extern int pthread_key_create (pthread_key_t *__key,
1434:           void (*__destr_function) (void *))
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int pthread_key_delete (pthread_key_t __key) noexcept (true);
1434: 
1434: 
1434: extern void *pthread_getspecific (pthread_key_t __key) noexcept (true);
1434: 
1434: 
1434: extern int pthread_setspecific (pthread_key_t __key,
1434:     const void *__pointer)
1434:   noexcept (true) __attribute__ ((__access__ (__none__, 2)));
1434: 
1434: 
1434: 
1434: 
1434: extern int pthread_getcpuclockid (pthread_t __thread_id,
1434:       __clockid_t *__clock_id)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: # 1332 "/usr/include/pthread.h" 3 4
1434: extern int pthread_atfork (void (*__prepare) (void),
1434:       void (*__parent) (void),
1434:       void (*__child) (void)) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) noexcept (true)
1434: {
1434:   return __thread1 == __thread2;
1434: }
1434: 
1434: 
1434: }
1434: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 2 3
1434: # 47 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1434: typedef pthread_t __gthread_t;
1434: typedef pthread_key_t __gthread_key_t;
1434: typedef pthread_once_t __gthread_once_t;
1434: typedef pthread_mutex_t __gthread_mutex_t;
1434: typedef pthread_mutex_t __gthread_recursive_mutex_t;
1434: typedef pthread_cond_t __gthread_cond_t;
1434: typedef struct timespec __gthread_time_t;
1434: # 102 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 299 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1434: static inline int
1434: __gthread_active_p (void)
1434: {
1434:   return 1;
1434: }
1434: # 659 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1434: static inline int
1434: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
1434:     void *__args)
1434: {
1434:   return pthread_create (__threadid, __null, __func, __args);
1434: }
1434: 
1434: static inline int
1434: __gthread_join (__gthread_t __threadid, void **__value_ptr)
1434: {
1434:   return pthread_join (__threadid, __value_ptr);
1434: }
1434: 
1434: static inline int
1434: __gthread_detach (__gthread_t __threadid)
1434: {
1434:   return pthread_detach (__threadid);
1434: }
1434: 
1434: static inline int
1434: __gthread_equal (__gthread_t __t1, __gthread_t __t2)
1434: {
1434:   return pthread_equal (__t1, __t2);
1434: }
1434: 
1434: static inline __gthread_t
1434: __gthread_self (void)
1434: {
1434:   return pthread_self ();
1434: }
1434: 
1434: static inline int
1434: __gthread_yield (void)
1434: {
1434:   return sched_yield ();
1434: }
1434: 
1434: static inline int
1434: __gthread_once (__gthread_once_t *__once, void (*__func) (void))
1434: {
1434:   if (__gthread_active_p ())
1434:     return pthread_once (__once, __func);
1434:   else
1434:     return -1;
1434: }
1434: 
1434: static inline int
1434: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
1434: {
1434:   return pthread_key_create (__key, __dtor);
1434: }
1434: 
1434: static inline int
1434: __gthread_key_delete (__gthread_key_t __key)
1434: {
1434:   return pthread_key_delete (__key);
1434: }
1434: 
1434: static inline void *
1434: __gthread_getspecific (__gthread_key_t __key)
1434: {
1434:   return pthread_getspecific (__key);
1434: }
1434: 
1434: static inline int
1434: __gthread_setspecific (__gthread_key_t __key, const void *__ptr)
1434: {
1434:   return pthread_setspecific (__key, __ptr);
1434: }
1434: 
1434: static inline void
1434: __gthread_mutex_init_function (__gthread_mutex_t *__mutex)
1434: {
1434:   if (__gthread_active_p ())
1434:     pthread_mutex_init (__mutex, __null);
1434: }
1434: 
1434: static inline int
1434: __gthread_mutex_destroy (__gthread_mutex_t *__mutex)
1434: {
1434:   if (__gthread_active_p ())
1434:     return pthread_mutex_destroy (__mutex);
1434:   else
1434:     return 0;
1434: }
1434: 
1434: static inline int
1434: __gthread_mutex_lock (__gthread_mutex_t *__mutex)
1434: {
1434:   if (__gthread_active_p ())
1434:     return pthread_mutex_lock (__mutex);
1434:   else
1434:     return 0;
1434: }
1434: 
1434: static inline int
1434: __gthread_mutex_trylock (__gthread_mutex_t *__mutex)
1434: {
1434:   if (__gthread_active_p ())
1434:     return pthread_mutex_trylock (__mutex);
1434:   else
1434:     return 0;
1434: }
1434: 
1434: 
1434: static inline int
1434: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
1434:       const __gthread_time_t *__abs_timeout)
1434: {
1434:   if (__gthread_active_p ())
1434:     return pthread_mutex_timedlock (__mutex, __abs_timeout);
1434:   else
1434:     return 0;
1434: }
1434: 
1434: 
143;
1412: 
1412:       if (__buf.begin() == 0)
1412:  std::__merge_without_buffer
1412:    (__first, __middle, __last, __len1, __len2, __comp);
1412:       else
1412:  std::__merge_adaptive
1412:    (__first, __middle, __last, __len1, __len2, __buf.begin(),
1412:     _DistanceType(__buf.size()), __comp);
1412:     }
1412: # 2548 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator>
1412:     inline void
1412:     inplace_merge(_BidirectionalIterator __first,
1412:     _BidirectionalIterator __middle,
1412:     _BidirectionalIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       std::__inplace_merge(__first, __middle, __last,
1412:       __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 2589 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator, typename _Compare>
1412:     inline void
1412:     inplace_merge(_BidirectionalIterator __first,
1412:     _BidirectionalIterator __middle,
1412:     _BidirectionalIterator __last,
1412:     _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       std::__inplace_merge(__first, __middle, __last,
1412:       __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _Compare>
1412:     _OutputIterator
1412:     __move_merge(_InputIterator __first1, _InputIterator __last1,
1412:    _InputIterator __first2, _InputIterator __last2,
1412:    _OutputIterator __result, _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  {
1412:    if (__comp(__first2, __first1))
1412:      {
1412:        *__result = std::move(*__first2);
1412:        ++__first2;
1412:      }
1412:    else
1412:      {
1412:        *__result = std::move(*__first1);
1412:        ++__first1;
1412:      }
1412:    ++__result;
1412:  }
1412:       return std::move(__first2, __last2, std::move(__first1, __last1, __result))
1412: 
1412:                   ;
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
1412:     typename _Distance, typename _Compare>
1412:     void
1412:     __merge_sort_loop(_RandomAccessIterator1 __first,
1412:         _RandomAccessIterator1 __last,
1412:         _RandomAccessIterator2 __result, _Distance __step_size,
1412:         _Compare __comp)
1412:     {
1412:       const _Distance __two_step = 2 * __step_size;
1412: 
1412:       while (__last - __first >= __two_step)
1412:  {
1412:    __result = std::__move_merge(__first, __first + __step_size,
1412:            __first + __step_size,
1412:            __first + __two_step,
1412:            __result, __comp);
1412:    __first += __two_step;
1412:  }
1412:       __step_size = std::min(_Distance(__last - __first), __step_size);
1412: 
1412:       std::__move_merge(__first, __first + __step_size,
1412:    __first + __step_size, __last, __result, __comp);
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Distance,
1412:     typename _Compare>
1412:    
1412:     void
1412:     __chunk_insertion_sort(_RandomAccessIterator __first,
1412:       _RandomAccessIterator __last,
1412:       _Distance __chunk_size, _Compare __comp)
1412:     {
1412:       while (__last - __first >= __chunk_size)
1412:  {
1412:    std::__insertion_sort(__first, __first + __chunk_size, __comp);
1412:    __first += __chunk_size;
1412:  }
1412:       std::__insertion_sort(__first, __last, __comp);
1412:     }
1412: 
1412:   enum { _S_chunk_size = 7 };
1412: 
1412:   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
1412:     void
1412:     __merge_sort_with_buffer(_RandomAccessIterator __first,
1412:         _RandomAccessIterator __last,
1412:         _Pointer __buffer, _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1412:  ___ret = -1;
1417:    const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
1417:    if (__q)
1417:      {
1417:        __ret = __q - __zero;
1417:        if (__ret > 15)
1417:   __ret -= 6;
1417:      }
1417:    return __ret;
1417:  }
1417: # 2219 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual iter_type
1417:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:       ios_base::iostate& __err, long& __v) const
1417:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:       ios_base::iostate& __err, unsigned short& __v) const
1417:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:       ios_base::iostate& __err, unsigned int& __v) const
1417:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:       ios_base::iostate& __err, unsigned long& __v) const
1417:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1417: 
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:       ios_base::iostate& __err, long long& __v) const
1417:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:       ios_base::iostate& __err, unsigned long long& __v) const
1417:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1417: 
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const;
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1417:       double&) const;
1417: # 2271 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual iter_type
1417:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1417:       long double&) const;
1417: 
1417: 
1417:       virtual iter_type
1417:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const;
1417: # 2299 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:     };
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     locale::id num_get<_CharT, _InIter>::id;
1417: # 2317 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     class num_put : public locale::facet
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _OutIter iter_type;
1417: 
1417: 
1417: 
1417:       static locale::id id;
1417: # 2338 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       explicit
1417:       num_put(size_t __refs = 0) : facet(__refs) { }
1417: # 2356 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1417:       { return this->do_put(__s, __io, __fill, __v); }
1417: # 2398 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
1417:       { return this->do_put(__s, __io, __fill, __v); }
1417: 
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill,
1417:    unsigned long __v) const
1417:       { return this->do_put(__s, __io, __fill, __v); }
1417: 
1417: 
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
1417:       { return this->do_put(__s, __io, __fill, __v); }
1417: 
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill,
1417:    unsigned long long __v) const
1417:       { return th4: static inline int
1434: __gthread_mutex_unlock (__gthread_mutex_t *__mutex)
1434: {
1434:   if (__gthread_active_p ())
1434:     return pthread_mutex_unlock (__mutex);
1434:   else
1434:     return 0;
1434: }
1434: # 808 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1434: static inline int
1434: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
1434: {
1434:   return __gthread_mutex_lock (__mutex);
1434: }
1434: 
1434: static inline int
1434: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
1434: {
1434:   return __gthread_mutex_trylock (__mutex);
1434: }
1434: 
1434: 
1434: static inline int
1434: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
1434:          const __gthread_time_t *__abs_timeout)
1434: {
1434:   return __gthread_mutex_timedlock (__mutex, __abs_timeout);
1434: }
1434: 
1434: 
1434: static inline int
1434: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
1434: {
1434:   return __gthread_mutex_unlock (__mutex);
1434: }
1434: 
1434: static inline int
1434: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
1434: {
1434:   return __gthread_mutex_destroy (__mutex);
1434: }
1434: # 850 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr-default.h" 3
1434: static inline int
1434: __gthread_cond_broadcast (__gthread_cond_t *__cond)
1434: {
1434:   return pthread_cond_broadcast (__cond);
1434: }
1434: 
1434: static inline int
1434: __gthread_cond_signal (__gthread_cond_t *__cond)
1434: {
1434:   return pthread_cond_signal (__cond);
1434: }
1434: 
1434: static inline int
1434: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
1434: {
1434:   return pthread_cond_wait (__cond, __mutex);
1434: }
1434: 
1434: static inline int
1434: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
1434:      const __gthread_time_t *__abs_timeout)
1434: {
1434:   return pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
1434: }
1434: 
1434: static inline int
1434: __gthread_cond_wait_recursive (__gthread_cond_t *__cond,
1434:           __gthread_recursive_mutex_t *__mutex)
1434: {
1434:   return __gthread_cond_wait (__cond, __mutex);
1434: }
1434: 
1434: static inline int
1434: __gthread_cond_destroy (__gthread_cond_t* __cond)
1434: {
1434:   return pthread_cond_destroy (__cond);
1434: }
1434: # 149 "/usr/include/arm-linux-gnueabihf/c++/12/bits/gthr.h" 2 3
1434: 
1434: 
1434: #pragma GCC visibility pop
1434: # 36 "/usr/include/c++/12/ext/atomicity.h" 2 3
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 1 3
1434: # 32 "/usr/include/arm-linux-gnueabihf/c++/12/bits/atomic_word.h" 3
1434: typedef int _Atomic_word;
1434: # 37 "/usr/include/c++/12/ext/atomicity.h" 2 3
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/sys/single_threaded.h" 3 4
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: extern char __libc_single_threaded;
1434: 
1434: }
1434: # 39 "/usr/include/c++/12/ext/atomicity.h" 2 3
1434: 
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   __attribute__((__always_inline__))
1434:   inline bool
1434:   __is_single_threaded() noexcept
1434:   {
1434: 
1434: 
1434: 
1434:     return ::__libc_single_threaded;
1434: 
1434: 
1434: 
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline _Atomic_word
1434:   __attribute__((__always_inline__))
1434:   __exchange_and_add(volatile _Atomic_word* __mem, int __val)
1434:   { return __atomic_fetch_add(__mem, __val, 4); }
1434: 
1434:   inline void
1434:   __attribute__((__always_inline__))
1434:   __atomic_add(volatile _Atomic_word* __mem, int __val)
1434:   { __atomic_fetch_add(__mem, __val, 4); }
1434: # 80 "/usr/include/c++/12/ext/atomicity.h" 3
1434:   inline _Atomic_word
1434:   __attribute__((__always_inline__))
1434:   __exchange_and_add_single(_Atomic_word* __mem, int __val)
1434:   {
1434:     _Atomic_word __result = *__mem;
1434:     *__mem += __val;
1434:     return __result;
1434:   }
1434: 
1434:   inline void
1434:   __attribute__((__always_inline__))
1434:   __atomic_add_single(_Atomic_word* __mem, int __val)
1434:   { *__mem += __val; }
1434: 
1434:   inline _Atomic_word
1434:   __attribute__ ((__always_inline__))
1434:   __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
1434:   {
1434:     if (__is_single_threaded())
1434:       return __exchange_and_add_single(__mem, __val);
1434:     else
1434:       return __exchange_and_add(__mem, __val);
1434:   }
1434: 
1434:   inline void
1434:   __attribute__ ((__always_inline__))
1434:   __atomic_add_dispatch(_Atomic_word* __mem, int __val)
1434:   {
1434:     if (__is_single_threaded())
1434:       __atomic_add_single(__mem, __val);
1434:     else
1434:       __atomic_add(__mem, __val);
1434:   }
1434: 
1434: 
1434: }
1434: # 62 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1434: # 1 "/usr/include/c++/12/ext/concurrence.h" 1 3
1434: # 32 "/usr/include/c++/12/ext/concurrence.h" 3
1434:        
1434: # 33 "/usr/include/c++/12/ext/concurrence.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/exception" 1 3
1434: # 33 "/usr/include/c++/12/exception" 3
1434:        
1434: # 34 "/usr/include/c++/12/exception" 3
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" {
1434: 
1434: namespace std
1434: {
1434: # 53 "/usr/include/c++/12/exception" 3
1434:   class bad_exception : public exception
1434:   {
1434:   public:
1434:     bad_exception() noexcept { }
1434: 
1434: 
1434: 
1434:     virtual ~bad_exception() noexcept;
1434: 
1434: 
1434:     virtual const char*
1434:     what() const noexcept;
1434:   };
1434: 
1434: 
1434:   typedef void (*terminate_handler) ();
1434: 
1434: 
1434:   terminate_handler set_terminate(terminate_handler) noexcept;
1434: 
1434: 
1434: 
1434:   terminate_handler get_terminate() noexcept;
1434: 
1434: 
1434: 
1434: 
1434:   void terminate() noexcept __attribute__ ((__noreturn__));
1434: 
1434: 
1434: 
1434:   typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) ();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   __attribute__ ((__deprecated__))
1434:   unexpected_handler set_unexpected(unexpected_handler) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   __attribute__ ((__deprecated__))
1434:   unexpected_handler get_unexpected() noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   __attribute__ ((__deprecated__))
1434:   void unexpected() __attribute__ ((__noreturn__));
1434: # 123 "/usr/include/c++/12/exception" 3
1434:   __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead")))
1434:   bool uncaught_exception() noexcept __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int uncaught_exceptions() noexcept __attribute__ ((__pure__));
1434: 
1434: 
1434: 
1434: }
1434: 
1434: namespace __gnu_cxx
1434: {
1434: 
1434: # 158 "/usr/include/c++/12/exception" 3
1434:   void __verbose_terminate_handler();
1434: 
1434: 
1434: }
1434: 
1434: }
1434: 
1434: #pragma GCC visibility pop
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/exception_ptr.h" 1 3
1434: # 34 "/usr/include/c++/12/bits/exception_ptr.h" 3
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 1 3
1434: # 34 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1434:        
1434: # 35 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 145 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1434: typedef int ptrdiff_t;
1434: # 424 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 3 4
1434: typedef struct {
1434:   long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
1434:   long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
1434: # 435 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h"Distance;
1412: 
1412:       const _Distance __len = __last - __first;
1412:       const _Pointer __buffer_last = __buffer + __len;
1412: 
1412:       _Distance __step_size = _S_chunk_size;
1412:       std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
1412: 
1412:       while (__step_size < __len)
1412:  {
1412:    std::__merge_sort_loop(__first, __last, __buffer,
1412:      __step_size, __comp);
1412:    __step_size *= 2;
1412:    std::__merge_sort_loop(__buffer, __buffer_last, __first,
1412:      __step_size, __comp);
1412:    __step_size *= 2;
1412:  }
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Pointer,
1412:     typename _Distance, typename _Compare>
1412:     void
1412:     __stable_sort_adaptive(_RandomAccessIterator __first,
1412:       _RandomAccessIterator __last,
1412:       _Pointer __buffer, _Distance __buffer_size,
1412:       _Compare __comp)
1412:     {
1412:       const _Distance __len = (__last - __first + 1) / 2;
1412:       const _RandomAccessIterator __middle = __first + __len;
1412:       if (__len > __buffer_size)
1412:  {
1412:    std::__stable_sort_adaptive(__first, __middle, __buffer,
1412:           __buffer_size, __comp);
1412:    std::__stable_sort_adaptive(__middle, __last, __buffer,
1412:           __buffer_size, __comp);
1412:  }
1412:       else
1412:  {
1412:    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
1412:    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
1412:  }
1412: 
1412:       std::__merge_adaptive(__first, __middle, __last,
1412:        _Distance(__middle - __first),
1412:        _Distance(__last - __middle),
1412:        __buffer, __buffer_size,
1412:        __comp);
1412:     }
1412: 
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:     void
1412:     __inplace_stable_sort(_RandomAccessIterator __first,
1412:      _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412:       if (__last - __first < 15)
1412:  {
1412:    std::__insertion_sort(__first, __last, __comp);
1412:    return;
1412:  }
1412:       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
1412:       std::__inplace_stable_sort(__first, __middle, __comp);
1412:       std::__inplace_stable_sort(__middle, __last, __comp);
1412:       std::__merge_without_buffer(__first, __middle, __last,
1412:       __middle - __first,
1412:       __last - __middle,
1412:       __comp);
1412:     }
1412: # 2763 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _Compare>
1412:    
1412:     bool
1412:     __includes(_InputIterator1 __first1, _InputIterator1 __last1,
1412:         _InputIterator2 __first2, _InputIterator2 __last2,
1412:         _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  {
1412:    if (__comp(__first2, __first1))
1412:      return false;
1412:    if (!__comp(__first1, __first2))
1412:      ++__first2;
1412:    ++__first1;
1412:  }
1412: 
1412:       return __first2 == __last2;
1412:     }
1412: # 2801 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2>
1412:    
1412:     inline bool
1412:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1412:       _InputIterator2 __first2, _InputIterator2 __last2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__includes(__first1, __last1, __first2, __last2,
1412:         __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 2846 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _Compare>
1412:    
1412:     inline bool
1412:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1412:       _InputIterator2 __first2, _InputIterator2 __last2,
1412:       _Compare __comp)
1412:     {
1412: 
1412:      
1412:is->do_put(__s, __io, __fill, __v); }
1417: # 2461 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1417:       { return this->do_put(__s, __io, __fill, __v); }
1417: 
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill,
1417:    long double __v) const
1417:       { return this->do_put(__s, __io, __fill, __v); }
1417: # 2486 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill,
1417:    const void* __v) const
1417:       { return this->do_put(__s, __io, __fill, __v); }
1417: 
1417:     protected:
1417:       template<typename _ValueT>
1417:  iter_type
1417:  _M_insert_float(iter_type, ios_base& __io, char_type __fill,
1417:    char __mod, _ValueT __v) const;
1417: 
1417:       void
1417:       _M_group_float(const char* __grouping, size_t __grouping_size,
1417:        char_type __sep, const char_type* __p, char_type* __new,
1417:        char_type* __cs, int& __len) const;
1417: 
1417:       template<typename _ValueT>
1417:  iter_type
1417:  _M_insert_int(iter_type, ios_base& __io, char_type __fill,
1417:         _ValueT __v) const;
1417: 
1417:       void
1417:       _M_group_int(const char* __grouping, size_t __grouping_size,
1417:      char_type __sep, ios_base& __io, char_type* __new,
1417:      char_type* __cs, int& __len) const;
1417: 
1417:       void
1417:       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
1417:       char_type* __new, const char_type* __cs, int& __len) const;
1417: 
1417: 
1417:       virtual
1417:       ~num_put() { }
1417: # 2534 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:       virtual iter_type
1417:       do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const;
1417: 
1417:       virtual iter_type
1417:       do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
1417:       { return _M_insert_int(__s, __io, __fill, __v); }
1417: 
1417:       virtual iter_type
1417:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1417:       unsigned long __v) const
1417:       { return _M_insert_int(__s, __io, __fill, __v); }
1417: 
1417: 
1417:       virtual iter_type
1417:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1417:       long long __v) const
1417:       { return _M_insert_int(__s, __io, __fill, __v); }
1417: 
1417:       virtual iter_type
1417:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1417:       unsigned long long __v) const
1417:       { return _M_insert_int(__s, __io, __fill, __v); }
1417: 
1417: 
1417:       virtual iter_type
1417:       do_put(iter_type, ios_base&, char_type, double) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       virtual iter_type
1417:       do_put(iter_type, ios_base&, char_type, long double) const;
1417: 
1417: 
1417:       virtual iter_type
1417:       do_put(iter_type, ios_base&, char_type, const void*) const;
1417: # 2586 "/usr/include/c++/12/bits/locale_facets.h" 3
1417:     };
1417: 
1417:   template <typename _CharT, typename _OutIter>
1417:     locale::id num_put<_CharT, _OutIter>::id;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isspace(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isprint(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     iscntrl(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isupper(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
1417: 
1417 3 4
1434: } max_align_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   typedef decltype(nullptr) nullptr_t;
1434: # 39 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 2 3
1434: # 50 "/usr/include/c++/12/bits/cxxabi_init_exception.h" 3
1434: namespace std
1434: {
1434:   class type_info;
1434: }
1434: 
1434: namespace __cxxabiv1
1434: {
1434:   struct __cxa_refcounted_exception;
1434: 
1434:   extern "C"
1434:     {
1434: 
1434:       void*
1434:       __cxa_allocate_exception(size_t) noexcept;
1434: 
1434:       void
1434:       __cxa_free_exception(void*) noexcept;
1434: 
1434: 
1434:       __cxa_refcounted_exception*
1434:       __cxa_init_primary_exception(void *object, std::type_info *tinfo,
1434:                 void ( *dest) (void *)) noexcept;
1434: 
1434:     }
1434: }
1434: 
1434: 
1434: 
1434: #pragma GCC visibility pop
1434: # 39 "/usr/include/c++/12/bits/exception_ptr.h" 2 3
1434: # 52 "/usr/include/c++/12/bits/exception_ptr.h" 3
1434: extern "C++" {
1434: 
1434: namespace std
1434: {
1434:   class type_info;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   namespace __exception_ptr
1434:   {
1434:     class exception_ptr;
1434:   }
1434: 
1434:   using __exception_ptr::exception_ptr;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   exception_ptr current_exception() noexcept;
1434: 
1434:   template<typename _Ex>
1434:   exception_ptr make_exception_ptr(_Ex) noexcept;
1434: 
1434: 
1434:   void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
1434: 
1434:   namespace __exception_ptr
1434:   {
1434:     using std::rethrow_exception;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     class exception_ptr
1434:     {
1434:       void* _M_exception_object;
1434: 
1434:       explicit exception_ptr(void* __e) noexcept;
1434: 
1434:       void _M_addref() noexcept;
1434:       void _M_release() noexcept;
1434: 
1434:       void *_M_get() const noexcept __attribute__ ((__pure__));
1434: 
1434:       friend exception_ptr std::current_exception() noexcept;
1434:       friend void std::rethrow_exception(exception_ptr);
1434:       template<typename _Ex>
1434:       friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
1434: 
1434:     public:
1434:       exception_ptr() noexcept;
1434: 
1434:       exception_ptr(const exception_ptr&) noexcept;
1434: 
1434: 
1434:       exception_ptr(nullptr_t) noexcept
1434:       : _M_exception_object(nullptr)
1434:       { }
1434: 
1434:       exception_ptr(exception_ptr&& __o) noexcept
1434:       : _M_exception_object(__o._M_exception_object)
1434:       { __o._M_exception_object = nullptr; }
1434: # 128 "/usr/include/c++/12/bits/exception_ptr.h" 3
1434:       exception_ptr&
1434:       operator=(const exception_ptr&) noexcept;
1434: 
1434: 
1434:       exception_ptr&
1434:       operator=(exception_ptr&& __o) noexcept
1434:       {
1434:         exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
1434:         return *this;
1434:       }
1434: 
1434: 
1434:       ~exception_ptr() noexcept;
1434: 
1434:       void
1434:       swap(exception_ptr&) noexcept;
1434: # 155 "/usr/include/c++/12/bits/exception_ptr.h" 3
1434:       explicit operator bool() const noexcept
1434:       { return _M_exception_object; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       friend bool
1434:       operator==(const exception_ptr& __x, const exception_ptr& __y)
1434:       noexcept
1434:       { return __x._M_exception_object == __y._M_exception_object; }
1434: 
1434:       friend bool
1434:       operator!=(const exception_ptr& __x, const exception_ptr& __y)
1434:       noexcept
1434:       { return __x._M_exception_object != __y._M_exception_object; }
1434: 
1434: 
1434:       const class std::type_info*
1434:       __cxa_exception_type() const noexcept
1434:  __attribute__ ((__pure__));
1434:     };
1434: 
1434:    
1434:     inline
1434:     exception_ptr::exception_ptr() noexcept
1434:     : _M_exception_object(0)
1434:     { }
1434: 
1434:    
1434:     inline
1434:     exception_ptr::exception_ptr(const exception_ptr& __other)
1434:     noexcept
1434:     : _M_exception_object(__other._M_exception_object)
1434:     {
1434:       if (_M_exception_object)
1434:  _M_addref();
1434:     }
1434: 
1434:    
1434:     inline
1434:     exception_ptr::~exception_ptr() noexcept
1434:     {
1434:       if (_M_exception_object)
1434:  _M_release();
1434:     }
1434: 
1434:    
1434:     inline exception_ptr&
1434:     exception_ptr::operator=(const exception_ptr& __other) noexcept
1434:     {
1434:       exception_ptr(__other).swap(*this);
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     inline void
1434:     exception_ptr::swap(exception_ptr &__other) noexcept
1434:     {
1434:       void *__tmp = _M_exception_object;
1434:       _M_exception_object = __other._M_exception_object;
1434:       __other._M_exception_object = __tmp;
1434:     }
1434: 
1434: 
1434:     inline void
1434:     swap(exception_ptr& __lhs, exception_ptr& __rhs)
1434:     { __lhs.swap(__rhs); }
1434: 
1434: 
1434:     template<typename _Ex>
1434:      
1434:       inline void
1434:       __dest_thunk(void* __x)
1434:       { static_cast<_Ex*>(__x)->~_Ex(); }
1434: 
1434: 
1434:   }
1434: 
1434: 
1434: 
1434:   template<typename _Ex>
1434:     exception_ptr
1434:     make_exception_ptr(_Ex __ex) noexcept
1434:     {
1434: 
1434:       using _Ex2 = typename decay<_Ex>::type;
1434:       void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
1434:       (void) __cxxabiv1::__cxa_init_primary_exception(
1434:    __e, const_cast<std::type_info*>(&typeid(_Ex)),
1434:    __exception_ptr::__dest_thunk<_Ex2>);
1434:       try
1434:  {
1434:    ::new (__e) _Ex2(__ex);
1434:    return exception_ptr(__e);
1434:  }
1434:       catch(...)
1434:  {
1434:    __cxxabiv1::__cxa_free_exception(__e);
1434:    return current_exception();
1434:  }
1434: # 268 "/usr/include/c++/12/bits/exception_ptr.h" 3
1434:     }
1434: # 282 "/usr/include/c++/12/bits/exception_ptr.h" 3
1434: }
1434: 
1434: }
1434: 
1434: #pragma GCC visibility pop
1434: # 169 "/usr/include/c++/12/exception" 2 3
1434: # 1 "/usr/include/c++/12/bits/nested_exception.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/nested_exception.h" 3
1434: #pragma GCC visibility push(default)
1434: # 42 "/usr/include/c++/12/bits/nested_exception.h" 3
1434: extern "C++" {
1434: 
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class nested_exception
1434:   {
1434:     exception_ptr _M_ptr;
1434: 
1434:   public:
1434:     nested_exception() noexcept : _M_ptr(current_exception()) { }
1434: 
1434:     nested_exception(const nested_exception&) noexcept = default;
1434: 
1434:     nested_exception& operator=(const nested_exception&) noexcept = default;
1434: 
1434:     virtual ~nested_exception() noexcept;
1434: 
1434:     [[noreturn]]
1434:     void
1434:     rethrow_nested() const
1434:     {
1434:       if (_M_ptr)
1434:  rethrow_exception(_M_ptr);
1434:       std::terminate();
1434:     }
1434: 
1434:     exception_ptr
1434:     nested_ptr() const noexcept
1434:     { return _M_ptr; }
1434:   };
1434: 
1434: 
1434: 
1434:   template<typename _Except>
1434:     struct _Nested_exception : public _Except, public nested_exception
1434:     {
1434:       explicit _Nested_exception(const _Except& __ex)
1434:       : _Except(__ex)
1434:       { }
1434: 
1434:       explicit _Nested_exception(_Except&& __ex)
1434:       : _Except(static_cast<_Except&&>(__ex))
1434:       { }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[noreturn]]
1434:     inline void
1434:     __throw_with_nested_impl(_Tp&& __t, true_type)
1434:     {
1434:       using _Up = typename remove_reference<_Tp>::type;
1434:       throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     [[noreturn]]
1434:     inline void
1434:     __throw_with_nested_impl(_Tp&& __t, false_type)
1434:     { throw std::forward<_Tp>(__t); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[noreturn]]
1434:     inline void
1434:     throw_with_nested(_Tp&& __t)
1434:     {
1434:           
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__includes(__first1, __last1, __first2, __last2,
1412:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: # 2882 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator, typename _Compare>
1412:    
1412:     bool
1412:     __next_permutation(_BidirectionalIterator __first,
1412:          _BidirectionalIterator __last, _Compare __comp)
1412:     {
1412:       if (__first == __last)
1412:  return false;
1412:       _BidirectionalIterator __i = __first;
1412:       ++__i;
1412:       if (__i == __last)
1412:  return false;
1412:       __i = __last;
1412:       --__i;
1412: 
1412:       for(;;)
1412:  {
1412:    _BidirectionalIterator __ii = __i;
1412:    --__i;
1412:    if (__comp(__i, __ii))
1412:      {
1412:        _BidirectionalIterator __j = __last;
1412:        while (!__comp(__i, --__j))
1412:   {}
1412:        std::iter_swap(__i, __j);
1412:        std::__reverse(__ii, __last,
1412:         std::__iterator_category(__first));
1412:        return true;
1412:      }
1412:    if (__i == __first)
1412:      {
1412:        std::__reverse(__first, __last,
1412:         std::__iterator_category(__first));
1412:        return false;
1412:      }
1412:  }
1412:     }
1412: # 2932 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator>
1412:    
1412:     inline bool
1412:     next_permutation(_BidirectionalIterator __first,
1412:        _BidirectionalIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__next_permutation
1412:  (__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 2965 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator, typename _Compare>
1412:    
1412:     inline bool
1412:     next_permutation(_BidirectionalIterator __first,
1412:        _BidirectionalIterator __last, _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__next_permutation
1412:  (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _BidirectionalIterator, typename _Compare>
1412:    
1412:     bool
1412:     __prev_permutation(_BidirectionalIterator __first,
1412:          _BidirectionalIterator __last, _Compare __comp)
1412:     {
1412:       if (__first == __last)
1412:  return false;
1412:       _BidirectionalIterator __i = __first;
1412:       ++__i;
1412:       if (__i == __last)
1412:  return false;
1412:       __i = __last;
1412:       --__i;
1412: 
1412:       for(;;)
1412:  {
1412:    _BidirectionalIterator __ii = __i;
1412:    --__i;
1412:    if (__comp(__ii, __i))
1412:      {
1412:        _BidirectionalIterator __j = __last;
1412:        while (!__comp(--__j, __i))
1412:   {}
1412:        std::iter_swap(__i, __j);
1412:        std::__reverse(__ii, __last,
1412:         std::__iterator_category(__first));
1412:        return true;
1412:      }
1412:    if (__i == __first)
1412:      {
1412:        std::__reverse(__first, __last,
1412:         std::__iterator_category(__first));
1412:        return false;
1412:      }
1412:  }
1412:     }
1412: # 3035 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator>
1412:    
1412:     inline bool
1412:     prev_permutation(_BidirectionalIterator __first,
1412:        _BidirectionalIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__prev_permutation(__first, __last,
1412:          __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 3068 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _BidirectionalIterator, typename _Compare>
1412:    
1412:     inline bool
1412:     prev_permutation(_BidirectionalIterator __first,
1412:        _BidirectionalI  using _Up = typename decay<_Tp>::type;
1434:       using _CopyConstructible
1434:  = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
1434:       static_assert(_CopyConstructible::value,
1434:    "throw_with_nested argument must be CopyConstructible");
1434:       using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>,
1434:        __not_<is_base_of<nested_exception, _Up>>>;
1434:       std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{});
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using __rethrow_if_nested_cond = typename enable_if<
1434:       __and_<is_polymorphic<_Tp>,
1434:       __or_<__not_<is_base_of<nested_exception, _Tp>>,
1434:      is_convertible<_Tp*, nested_exception*>>>::value
1434:     >::type;
1434: 
1434: 
1434:   template<typename _Ex>
1434:     inline __rethrow_if_nested_cond<_Ex>
1434:     __rethrow_if_nested_impl(const _Ex* __ptr)
1434:     {
1434:       if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
1434:  __ne_ptr->rethrow_nested();
1434:     }
1434: 
1434: 
1434:   inline void
1434:   __rethrow_if_nested_impl(const void*)
1434:   { }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Ex>
1434:     inline void
1434:     rethrow_if_nested(const _Ex& __ex)
1434:     { std::__rethrow_if_nested_impl(std::__addressof(__ex)); }
1434: 
1434: 
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: #pragma GCC visibility pop
1434: # 170 "/usr/include/c++/12/exception" 2 3
1434: # 35 "/usr/include/c++/12/ext/concurrence.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   enum _Lock_policy { _S_single, _S_mutex, _S_atomic };
1434: 
1434: 
1434: 
1434:   static const _Lock_policy __default_lock_policy =
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   _S_mutex;
1434: 
1434: 
1434: 
1434: 
1434:   class __concurrence_lock_error : public std::exception
1434:   {
1434:   public:
1434:     virtual char const*
1434:     what() const throw()
1434:     { return "__gnu_cxx::__concurrence_lock_error"; }
1434:   };
1434: 
1434:   class __concurrence_unlock_error : public std::exception
1434:   {
1434:   public:
1434:     virtual char const*
1434:     what() const throw()
1434:     { return "__gnu_cxx::__concurrence_unlock_error"; }
1434:   };
1434: 
1434:   class __concurrence_broadcast_error : public std::exception
1434:   {
1434:   public:
1434:     virtual char const*
1434:     what() const throw()
1434:     { return "__gnu_cxx::__concurrence_broadcast_error"; }
1434:   };
1434: 
1434:   class __concurrence_wait_error : public std::exception
1434:   {
1434:   public:
1434:     virtual char const*
1434:     what() const throw()
1434:     { return "__gnu_cxx::__concurrence_wait_error"; }
1434:   };
1434: 
1434: 
1434:   inline void
1434:   __throw_concurrence_lock_error()
1434:   { (throw (__concurrence_lock_error())); }
1434: 
1434:   inline void
1434:   __throw_concurrence_unlock_error()
1434:   { (throw (__concurrence_unlock_error())); }
1434: 
1434: 
1434:   inline void
1434:   __throw_concurrence_broadcast_error()
1434:   { (throw (__concurrence_broadcast_error())); }
1434: 
1434:   inline void
1434:   __throw_concurrence_wait_error()
1434:   { (throw (__concurrence_wait_error())); }
1434: 
1434: 
1434:   class __mutex
1434:   {
1434:   private:
1434: 
1434:     __gthread_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1434: 
1434: 
1434: 
1434: 
1434:     __mutex(const __mutex&);
1434:     __mutex& operator=(const __mutex&);
1434: 
1434:   public:
1434:     __mutex()
1434:     {
1434: 
1434: 
1434: 
1434: 
1434:     }
1434: # 144 "/usr/include/c++/12/ext/concurrence.h" 3
1434:     void lock()
1434:     {
1434: 
1434:       if (__gthread_active_p())
1434:  {
1434:    if (__gthread_mutex_lock(&_M_mutex) != 0)
1434:      __throw_concurrence_lock_error();
1434:  }
1434: 
1434:     }
1434: 
1434:     void unlock()
1434:     {
1434: 
1434:       if (__gthread_active_p())
1434:  {
: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     islower(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isalpha(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isdigit(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     ispunct(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isxdigit(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isalnum(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isgraph(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline bool
1417:     isblank(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::blank, __c); }
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline _CharT
1417:     toupper(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     inline _CharT
1417:     tolower(_CharT __c, const locale& __loc)
1417:     { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
1417: 
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/locale_facets.tcc" 1 3
1417: # 33 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Facet>
1417:     struct __use_cache
1417:     {
1417:       const _Facet*
1417:       operator() (const locale& __loc) const;
1417:     };
1417: 
1417: 
1417:   template<typename _CharT>
1417:     struct __use_cache<__numpunct_cache<_CharT> >
1417:     {
1417:       const __numpunct_cache<_CharT>*
1417:       operator() (const locale& __loc) const
1417:       {
1417:  const size_t __i = numpunct<_CharT>::id._M_id();
1417:  const locale::facet** __caches = __loc._M_impl->_M_caches;
1417:  if (!__caches[__i])
1417:    {
1417:      __numpunct_cache<_CharT>* __tmp = 0;
1417:      try
1417:        {
1417:   __tmp = new __numpunct_cache<_CharT>;
1417:   __tmp->_M_cache(__loc);
1417:        }
1417:      catch(...)
1417:        {
1417:   delete __tmp;
1417:   throw;
1417:        }
1417:      __loc._M_impl->_M_install_cache(__tmp, __i);
1417:    }
1417:  return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
1417:       }
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
1417:     {
1417:       const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
1417: 
1417:       char* __grouping = 0;
1417:       _CharT* __truename = 0;
1417:       _CharT* __falsename = 0;
1417:       try
1417:  {
1417:    const string& __g = __np.grouping();
1417:    _M_grouping_size = __g.size();
1417:    __grouping = new char[_M_grouping_size];
1417:    __g.copy(__grouping, _M_grouping_size);
1417:    _M_use_grouping = (_M_grouping_size
1417:         && static_cast<signed char>(__grouping[0]) > 0
1417:         && (__grouping[0]
1417:      != __gnu_cxx::__numeric_traits<char>::__max));
1417: 
1417:    const basic_string<_CharT>& _1434:    if (__gthread_mutex_unlock(&_M_mutex) != 0)
1434:      __throw_concurrence_unlock_error();
1434:  }
1434: 
1434:     }
1434: 
1434:     __gthread_mutex_t* gthread_mutex(void)
1434:       { return &_M_mutex; }
1434:   };
1434: 
1434:   class __recursive_mutex
1434:   {
1434:   private:
1434: 
1434:     __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1434: 
1434: 
1434: 
1434: 
1434:     __recursive_mutex(const __recursive_mutex&);
1434:     __recursive_mutex& operator=(const __recursive_mutex&);
1434: 
1434:   public:
1434:     __recursive_mutex()
1434:     {
1434: 
1434: 
1434: 
1434: 
1434:     }
1434: # 199 "/usr/include/c++/12/ext/concurrence.h" 3
1434:     void lock()
1434:     {
1434: 
1434:       if (__gthread_active_p())
1434:  {
1434:    if (__gthread_recursive_mutex_lock(&_M_mutex) != 0)
1434:      __throw_concurrence_lock_error();
1434:  }
1434: 
1434:     }
1434: 
1434:     void unlock()
1434:     {
1434: 
1434:       if (__gthread_active_p())
1434:  {
1434:    if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0)
1434:      __throw_concurrence_unlock_error();
1434:  }
1434: 
1434:     }
1434: 
1434:     __gthread_recursive_mutex_t* gthread_recursive_mutex(void)
1434:     { return &_M_mutex; }
1434:   };
1434: 
1434: 
1434: 
1434: 
1434:   class __scoped_lock
1434:   {
1434:   public:
1434:     typedef __mutex __mutex_type;
1434: 
1434:   private:
1434:     __mutex_type& _M_device;
1434: 
1434:     __scoped_lock(const __scoped_lock&);
1434:     __scoped_lock& operator=(const __scoped_lock&);
1434: 
1434:   public:
1434:     explicit __scoped_lock(__mutex_type& __name) : _M_device(__name)
1434:     { _M_device.lock(); }
1434: 
1434:     ~__scoped_lock() throw()
1434:     { _M_device.unlock(); }
1434:   };
1434: 
1434: 
1434:   class __cond
1434:   {
1434:   private:
1434: 
1434:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1434: 
1434: 
1434: 
1434: 
1434:     __cond(const __cond&);
1434:     __cond& operator=(const __cond&);
1434: 
1434:   public:
1434:     __cond()
1434:     {
1434: 
1434: 
1434: 
1434: 
1434:     }
1434: # 277 "/usr/include/c++/12/ext/concurrence.h" 3
1434:     void broadcast()
1434:     {
1434: 
1434:       if (__gthread_active_p())
1434:  {
1434:    if (__gthread_cond_broadcast(&_M_cond) != 0)
1434:      __throw_concurrence_broadcast_error();
1434:  }
1434: 
1434:     }
1434: 
1434:     void wait(__mutex *mutex)
1434:     {
1434: 
1434:       {
1434:    if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0)
1434:      __throw_concurrence_wait_error();
1434:       }
1434: 
1434:     }
1434: 
1434:     void wait_recursive(__recursive_mutex *mutex)
1434:     {
1434: 
1434:       {
1434:    if (__gthread_cond_wait_recursive(&_M_cond,
1434:          mutex->gthread_recursive_mutex())
1434:        != 0)
1434:      __throw_concurrence_wait_error();
1434:       }
1434: 
1434:     }
1434:   };
1434: 
1434: 
1434: 
1434: }
1434: # 63 "/usr/include/c++/12/bits/shared_ptr_base.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:   template<typename> class auto_ptr;
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class bad_weak_ptr : public std::exception
1434:   {
1434:   public:
1434:     virtual char const* what() const noexcept;
1434: 
1434:     virtual ~bad_weak_ptr() noexcept;
1434:   };
1434: 
1434: 
1434:   inline void
1434:   __throw_bad_weak_ptr()
1434:   { (throw (bad_weak_ptr())); }
1434: 
1434:   using __gnu_cxx::_Lock_policy;
1434:   using __gnu_cxx::__default_lock_policy;
1434:   using __gnu_cxx::_S_single;
1434:   using __gnu_cxx::_S_mutex;
1434:   using __gnu_cxx::_S_atomic;
1434: 
1434: 
1434:   template<_Lock_policy _Lp>
1434:     class _Mutex_base
1434:     {
1434:     protected:
1434: 
1434:       enum { _S_need_barriers = 0 };
1434:     };
1434: 
1434: terator __last, _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__prev_permutation(__first, __last,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _Predicate, typename _Tp>
1412:    
1412:     _OutputIterator
1412:     __replace_copy_if(_InputIterator __first, _InputIterator __last,
1412:         _OutputIterator __result,
1412:         _Predicate __pred, const _Tp& __new_value)
1412:     {
1412:       for (; __first != __last; ++__first, (void)++__result)
1412:  if (__pred(__first))
1412:    *__result = __new_value;
1412:  else
1412:    *__result = *__first;
1412:       return __result;
1412:     }
1412: # 3120 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1412:    
1412:     inline _OutputIterator
1412:     replace_copy(_InputIterator __first, _InputIterator __last,
1412:    _OutputIterator __result,
1412:    const _Tp& __old_value, const _Tp& __new_value)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__replace_copy_if(__first, __last, __result,
1412:    __gnu_cxx::__ops::__iter_equals_val(__old_value),
1412:            __new_value);
1412:     }
1412: # 3155 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _Predicate, typename _Tp>
1412:    
1412:     inline _OutputIterator
1412:     replace_copy_if(_InputIterator __first, _InputIterator __last,
1412:       _OutputIterator __result,
1412:       _Predicate __pred, const _Tp& __new_value)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__replace_copy_if(__first, __last, __result,
1412:     __gnu_cxx::__ops::__pred_iter(__pred),
1412:            __new_value);
1412:     }
1412: # 3184 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:    
1412:     inline bool
1412:     is_sorted(_ForwardIterator __first, _ForwardIterator __last)
1412:     { return std::is_sorted_until(__first, __last) == __last; }
1412: # 3199 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Compare>
1412:    
1412:     inline bool
1412:     is_sorted(_ForwardIterator __first, _ForwardIterator __last,
1412:        _Compare __comp)
1412:     { return std::is_sorted_until(__first, __last, __comp) == __last; }
1412: 
1412:   template<typename _ForwardIterator, typename _Compare>
1412:    
1412:     _ForwardIterator
1412:     __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1412:         _Compare __comp)
1412:     {
1412:       if (__first == __last)
1412:  return __last;
1412: 
1412:       _ForwardIterator __next = __first;
1412:       for (++__next; __next != __last; __first = __next, (void)++__next)
1412:  if (__comp(__next, __first))
1412:    return __next;
1412:       return __next;
1412:     }
1412: # 3230 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:    
1412:     inline _ForwardIterator
1412:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__is_sorted_until(__first, __last,
1412:         __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 3255 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Compare>
1412:    
1412:     inline _ForwardIterator
1412:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1412:       _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__is_sorted_until(__first, __last,
1412:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412:   template<>
1434:     class _Mutex_base<_S_mutex>
1434:     : public __gnu_cxx::__mutex
1434:     {
1434:     protected:
1434: 
1434: 
1434: 
1434:       enum { _S_need_barriers = 1 };
1434:     };
1434: 
1434:   template<_Lock_policy _Lp = __default_lock_policy>
1434:     class _Sp_counted_base
1434:     : public _Mutex_base<_Lp>
1434:     {
1434:     public:
1434:       _Sp_counted_base() noexcept
1434:       : _M_use_count(1), _M_weak_count(1) { }
1434: 
1434:       virtual
1434:       ~_Sp_counted_base() noexcept
1434:       { }
1434: 
1434: 
1434: 
1434:       virtual void
1434:       _M_dispose() noexcept = 0;
1434: 
1434: 
1434:       virtual void
1434:       _M_destroy() noexcept
1434:       { delete this; }
1434: 
1434:       virtual void*
1434:       _M_get_deleter(const std::type_info&) noexcept = 0;
1434: 
1434: 
1434:       void
1434:       _M_add_ref_copy()
1434:       { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); }
1434: 
1434: 
1434:       void
1434:       _M_add_ref_lock()
1434:       {
1434:  if (!_M_add_ref_lock_nothrow())
1434:    __throw_bad_weak_ptr();
1434:       }
1434: 
1434: 
1434:       bool
1434:       _M_add_ref_lock_nothrow() noexcept;
1434: 
1434: 
1434:       void
1434:       _M_release() noexcept;
1434: 
1434: 
1434:       void
1434:       _M_release_last_use() noexcept
1434:       {
1434:  ;
1434:  _M_dispose();
1434: 
1434: 
1434: 
1434: 
1434:  if (_Mutex_base<_Lp>::_S_need_barriers)
1434:    {
1434:      __atomic_thread_fence (4);
1434:    }
1434: 
1434: 
1434:  ;
1434:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
1434:          -1) == 1)
1434:    {
1434:      ;
1434:      _M_destroy();
1434:    }
1434:       }
1434: 
1434: 
1434:       __attribute__((__noinline__))
1434:       void
1434:       _M_release_last_use_cold() noexcept
1434:       { _M_release_last_use(); }
1434: 
1434: 
1434:       void
1434:       _M_weak_add_ref() noexcept
1434:       { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); }
1434: 
1434: 
1434:       void
1434:       _M_weak_release() noexcept
1434:       {
1434: 
1434:         ;
1434:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1)
1434:    {
1434:             ;
1434:      if (_Mutex_base<_Lp>::_S_need_barriers)
1434:        {
1434: 
1434: 
1434:   __atomic_thread_fence (4);
1434:        }
1434:      _M_destroy();
1434:    }
1434:       }
1434: 
1434:       long
1434:       _M_get_use_count() const noexcept
1434:       {
1434: 
1434: 
1434:         return __atomic_load_n(&_M_use_count, 0);
1434:       }
1434: 
1434:     private:
1434:       _Sp_counted_base(_Sp_counted_base const&) = delete;
1434:       _Sp_counted_base& operator=(_Sp_counted_base const&) = delete;
1434: 
1434:       _Atomic_word _M_use_count;
1434:       _Atomic_word _M_weak_count;
1434:     };
1434: 
1434:   template<>
1434:     inline bool
1434:     _Sp_counted_base<_S_single>::
1434:     _M_add_ref_lock_nothrow() noexcept
1434:     {
1434:       if (_M_use_count == 0)
1434:  return false;
1434:       ++_M_use_count;
1434:       return true;
1434:     }
1434: 
1434:   template<>
1434:     inline bool
1434:     _Sp_counted_base<_S_mutex>::
1434:     _M_add_ref_lock_nothrow() noexcept
1434:     {
1434:       __gnu_cxx::__scoped_lock sentry(*this);
1434:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
1434:  {
1434:    _M_use_count = 0;
1434:    return false;
1434:  }
1434:       return true;
1434:     }
1434: 
1434:   template<>
1434:     inline bool
1434:     _Sp_counted_base<_S_atomic>::
1434:     _M_add_ref_lock_nothrow() noexcept
1434:     {
1434: 
1434:       _Atomic_word __count = _M_get_use_count();
1434:       do
1434:  {
1434:    if (__count == 0)
1434:      return false;
1434: 
1434: 
1434:  }
1434:       while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
1434:        true, 4,
1434:        0));
1434:       return true;
1434:     }
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_base<_S_single>::_M_add_ref_copy()
1434:     { ++_M_use_count; }
1434: 
1434:   templa_tn = __np.truename();
1417:    _M_truename_size = __tn.size();
1417:    __truename = new _CharT[_M_truename_size];
1417:    __tn.copy(__truename, _M_truename_size);
1417: 
1417:    const basic_string<_CharT>& __fn = __np.falsename();
1417:    _M_falsename_size = __fn.size();
1417:    __falsename = new _CharT[_M_falsename_size];
1417:    __fn.copy(__falsename, _M_falsename_size);
1417: 
1417:    _M_decimal_point = __np.decimal_point();
1417:    _M_thousands_sep = __np.thousands_sep();
1417: 
1417:    const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
1417:    __ct.widen(__num_base::_S_atoms_out,
1417:        __num_base::_S_atoms_out
1417:        + __num_base::_S_oend, _M_atoms_out);
1417:    __ct.widen(__num_base::_S_atoms_in,
1417:        __num_base::_S_atoms_in
1417:        + __num_base::_S_iend, _M_atoms_in);
1417: 
1417:    _M_grouping = __grouping;
1417:    _M_truename = __truename;
1417:    _M_falsename = __falsename;
1417:    _M_allocated = true;
1417:  }
1417:       catch(...)
1417:  {
1417:    delete [] __grouping;
1417:    delete [] __truename;
1417:    delete [] __falsename;
1417:    throw;
1417:  }
1417:     }
1417: # 139 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:   __attribute__ ((__pure__)) bool
1417:   __verify_grouping(const char* __grouping, size_t __grouping_size,
1417:       const string& __grouping_tmp) throw ();
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     __attribute ((__abi_tag__ ("cxx11")))
1417:     _InIter
1417:     num_get<_CharT, _InIter>::
1417:     _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
1417:        ios_base::iostate& __err, string& __xtrc) const
1417:     {
1417:       typedef char_traits<_CharT> __traits_type;
1417:       typedef __numpunct_cache<_CharT> __cache_type;
1417:       __use_cache<__cache_type> __uc;
1417:       const locale& __loc = __io._M_getloc();
1417:       const __cache_type* __lc = __uc(__loc);
1417:       const _CharT* __lit = __lc->_M_atoms_in;
1417:       char_type __c = char_type();
1417: 
1417: 
1417:       bool __testeof = __beg == __end;
1417: 
1417: 
1417:       if (!__testeof)
1417:  {
1417:    __c = *__beg;
1417:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1417:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1417:        && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1417:        && !(__c == __lc->_M_decimal_point))
1417:      {
1417:        __xtrc += __plus ? '+' : '-';
1417:        if (++__beg != __end)
1417:   __c = *__beg;
1417:        else
1417:   __testeof = true;
1417:      }
1417:  }
1417: 
1417: 
1417:       bool __found_mantissa = false;
1417:       int __sep_pos = 0;
1417:       while (!__testeof)
1417:  {
1417:    if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1417:        || __c == __lc->_M_decimal_point)
1417:      break;
1417:    else if (__c == __lit[__num_base::_S_izero])
1417:      {
1417:        if (!__found_mantissa)
1417:   {
1417:     __xtrc += '0';
1417:     __found_mantissa = true;
1417:   }
1417:        ++__sep_pos;
1417: 
1417:        if (++__beg != __end)
1417:   __c = *__beg;
1417:        else
1417:   __testeof = true;
1417:      }
1417:    else
1417:      break;
1417:  }
1417: 
1417: 
1417:       bool __found_dec = false;
1417:       bool __found_sci = false;
1417:       string __found_grouping;
1417:       if (__lc->_M_use_grouping)
1417:  __found_grouping.reserve(32);
1417:       const char_type* __lit_zero = __lit + __num_base::_S_izero;
1417: 
1417:       if (!__lc->_M_allocated)
1417: 
1417:  while (!__testeof)
1417:    {
1417:      const int __digit = _M_find(__lit_zero, 10, __c);
1417:      if (__digit != -1)
1417:        {
1417:   __xtrc += '0' + __digit;
1417:   __found_mantissa = true;
1417:        }
1417:      else if (__c == __lc->_M_decimal_point
1417:        && !__found_dec && !__found_sci)
1417:        {
1417:   __xtrc += '.';
1417:   __found_dec = true;
1417:        }
1417:      else if ((__c == __lit[__num_base::_S_ie]
1417:         || __c == __lit[__num_base::_S_iE])
1417:        && # 3281 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _Tp>
1412:     constexpr
1412:     inline pair<const _Tp&, const _Tp&>
1412:     minmax(const _Tp& __a, const _Tp& __b)
1412:     {
1412: 
1412:      
1412: 
1412:       return __b < __a ? pair<const _Tp&, const _Tp&>(__b, __a)
1412:          : pair<const _Tp&, const _Tp&>(__a, __b);
1412:     }
1412: # 3302 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     inline pair<const _Tp&, const _Tp&>
1412:     minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
1412:     {
1412:       return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a)
1412:          : pair<const _Tp&, const _Tp&>(__a, __b);
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Compare>
1412:     constexpr
1412:     pair<_ForwardIterator, _ForwardIterator>
1412:     __minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1412:        _Compare __comp)
1412:     {
1412:       _ForwardIterator __next = __first;
1412:       if (__first == __last
1412:    || ++__next == __last)
1412:  return std::make_pair(__first, __first);
1412: 
1412:       _ForwardIterator __min{}, __max{};
1412:       if (__comp(__next, __first))
1412:  {
1412:    __min = __next;
1412:    __max = __first;
1412:  }
1412:       else
1412:  {
1412:    __min = __first;
1412:    __max = __next;
1412:  }
1412: 
1412:       __first = __next;
1412:       ++__first;
1412: 
1412:       while (__first != __last)
1412:  {
1412:    __next = __first;
1412:    if (++__next == __last)
1412:      {
1412:        if (__comp(__first, __min))
1412:   __min = __first;
1412:        else if (!__comp(__first, __max))
1412:   __max = __first;
1412:        break;
1412:      }
1412: 
1412:    if (__comp(__next, __first))
1412:      {
1412:        if (__comp(__next, __min))
1412:   __min = __next;
1412:        if (!__comp(__first, __max))
1412:   __max = __first;
1412:      }
1412:    else
1412:      {
1412:        if (__comp(__first, __min))
1412:   __min = __first;
1412:        if (!__comp(__next, __max))
1412:   __max = __next;
1412:      }
1412: 
1412:    __first = __next;
1412:    ++__first;
1412:  }
1412: 
1412:       return std::make_pair(__min, __max);
1412:     }
1412: # 3382 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:     constexpr
1412:     inline pair<_ForwardIterator, _ForwardIterator>
1412:     minmax_element(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__minmax_element(__first, __last,
1412:        __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 3410 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Compare>
1412:     constexpr
1412:     inline pair<_ForwardIterator, _ForwardIterator>
1412:     minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1412:      _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__minmax_element(__first, __last,
1412:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     inline pair<_Tp, _Tp>
1412:     minmax(initializer_list<_Tp> __l)
1412:     {
1412:       ;
1412:       pair<const _Tp*, const _Tp*> __p =
1412:  std::__minmax_element(__l.begin(), __l.end(),
1412:          __gnu_cxx::__ops::__iter_less_iter());
1412:       return std::make_pair(*__p.first, *__p.second);
1412:     }
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     inline pair<_Tp, _Tp>
1412:     minmax(initializer_list<_Tp> __l, _Compare __comp)
1412:     {
1412:       ;
1412:       pair<const _Tp*, const _Tp*> __p =
1412:  std::__minmax_element(__l.begin(), __l.end(),
1412:          __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:       return std::make_pair(*__p.first, *__p.second);
1412:     }
1412: # 3te<>
1434:     inline void
1434:     _Sp_counted_base<_S_single>::_M_release() noexcept
1434:     {
1434:       if (--_M_use_count == 0)
1434:         {
1434:           _M_dispose();
1434:           if (--_M_weak_count == 0)
1434:             _M_destroy();
1434:         }
1434:     }
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_base<_S_mutex>::_M_release() noexcept
1434:     {
1434: 
1434:       ;
1434:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1434:  {
1434:    _M_release_last_use();
1434:  }
1434:     }
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_base<_S_atomic>::_M_release() noexcept
1434:     {
1434:       ;
1434: 
1434:       constexpr bool __lock_free
1434:  = __atomic_always_lock_free(sizeof(long long), 0)
1434:  && __atomic_always_lock_free(sizeof(_Atomic_word), 0);
1434:       constexpr bool __double_word
1434:  = sizeof(long long) == 2 * sizeof(_Atomic_word);
1434: 
1434: 
1434:       constexpr bool __aligned = __alignof(long long) <= alignof(void*);
1434:       if constexpr (__lock_free && __double_word && __aligned)
1434:  {
1434:    constexpr int __wordbits = 8 * sizeof(_Atomic_word);
1434:    constexpr int __shiftbits = __double_word ? __wordbits : 0;
1434:    constexpr long long __unique_ref = 1LL + (1LL << __shiftbits);
1434:    auto __both_counts = reinterpret_cast<long long*>(&_M_use_count);
1434: 
1434:    ;
1434:    if (__atomic_load_n(__both_counts, 2) == __unique_ref)
1434:      {
1434: 
1434: 
1434: 
1434: 
1434:        _M_weak_count = _M_use_count = 0;
1434:        ;
1434:        ;
1434:        _M_dispose();
1434:        _M_destroy();
1434:        return;
1434:      }
1434:    if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1434:      [[__unlikely__]]
1434:      {
1434:        _M_release_last_use_cold();
1434:        return;
1434:      }
1434:  }
1434:       else
1434: 
1434:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
1434:  {
1434:    _M_release_last_use();
1434:  }
1434:     }
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept
1434:     { ++_M_weak_count; }
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_base<_S_single>::_M_weak_release() noexcept
1434:     {
1434:       if (--_M_weak_count == 0)
1434:         _M_destroy();
1434:     }
1434: 
1434:   template<>
1434:     inline long
1434:     _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept
1434:     { return _M_use_count; }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1434:     class __shared_ptr;
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1434:     class __weak_ptr;
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
1434:     class __enable_shared_from_this;
1434: 
1434:   template<typename _Tp>
1434:     class shared_ptr;
1434: 
1434:   template<typename _Tp>
1434:     class weak_ptr;
1434: 
1434:   template<typename _Tp>
1434:     struct owner_less;
1434: 
1434:   template<typename _Tp>
1434:     class enable_shared_from_this;
1434: 
1434:   template<_Lock_policy _Lp = __default_lock_policy>
1434:     class __weak_count;
1434: 
1434:   template<_Lock_policy _Lp = __default_lock_policy>
1434:     class __shared_count;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Ptr, _Lock_policy _Lp>
1434:     class _Sp_counted_ptr final : public _Sp_counted_base<_Lp>
1434:     {
1434:     public:
1434:       explicit
1434:       _Sp_counted_ptr(_Ptr __p) noexcept
1434:       : _M_ptr(__p) { }
1434: 
1434:       virtual void
1434:       _M_dispose() noexcept
1434:       { delete _M_ptr; }
1434: 
1434:       virtual void
1434:       _M_destroy() noexcept
1434:       { delete this; }
1434: 
1434:       virtual void*
1434:       _M_get_deleter(const std::type_info&) noexcept
1434:       { return nullptr; }
1434: 
1434:       _Sp_counted_ptr(const _Sp_counted_ptr&) = delete;
1434:       _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete;
1434: 
1434:     private:
1434:       _Ptr _M_ptr;
1434:     };
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_ptr<nullptr_t, _S_single>::_M_dispose() noexcept { }
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_ptr<nullptr_t, _S_mutex>::_M_dispose() noexcept { }
1434: 
1434:   template<>
1434:     inline void
1434:     _Sp_counted_ptr<nullptr_t, _S_atomic>::_M_dispose() noexcept { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<int _Nm, typename _Tp,
1434:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1434:     struct _Sp_ebo_helper;
1434: 
1434: 
1434:   template<int _Nm, typename _Tp>
1434:     struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp
1434:     {
1434:       explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { }
1434:       explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { }
1434: 
1434:       static _Tp&
1434:       _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); }
1434:     };
1434: 
1434: 
1434:   template<int _Nm, typename _Tp>
1434:     struct _Sp_ebo_helper<_Nm, _Tp, false>
1434:     {
1434:       explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { }
1434:       explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { }
1434: 
1434:       static _Tp&
1434:       _S_get(_Sp_ebo_helper& __eboh)
1434:       { return __eboh._M_tp; }
1434: 
1434:     private:
1434:       _Tp _M_tp;
1434:     };
1434: 
1434: 
1434:   template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
1434:     class _Sp_counted_deleter final : public _Sp_counted_base<_Lp>
1434:     {
1434:       class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc>
1434:       {
1434:  typedef _Sp_ebo_helper<0, _Deleter> _Del_base;
1434:  typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base;
1434: 
1434:       public:
1434:  _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1434:  : _Del_base(std::move(__d)), _Alloc_base(__a), _M_ptr(__p)
1434:  { }
1434: 
1434:  _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); }
1434:  _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); }
1434: 
1434:  _Ptr _M_ptr;
1434:       };
1434: 
1434:     public:
1434:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>;
1434: 
1434: 
1434:       _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept
1434:       : _M_impl(__p, std::move(__d), _Alloc()) { }
1434: 
1434: 
1434:       _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
1434:       : _M_impl(__p, std::move(__d), __a) { }
1434: 
1434:       ~_Sp_counted_deleter() noexcept { }
1434: 
1434:       virtual void
1434:       _M_dispose() noexcept
1434:       { _M_impl._M_del()(_M_impl._M_ptr); }
1434: 
1434:       virtual void
1434:       _M_destroy() noexcept
1434:       {
1434:  __allocator_type __a(_M_impl._M_alloc());
1434:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1434:  this->~_Sp_counted_deleter();
1434:       }
1434: 
1434:       virtual void*
1434:       _M_get_deleter(const type_info& __ti [[__gnu__::__unused__]]) noexcept
1434:       {
1434: 
1434: 
1434: 
1434:         return __ti == typeid(_Deleter)
1434:    ? std::__addressof(_M_impl._M_del())
1434:    : nullptr;
1434: 
1434: 
1434: 
1434:       }
1434: 
1434:     private:
1434:       _Impl _M_impl;
1434:     };
1434: 
1434: 
1434: 
1434:   struct _Sp_make_shared_tag
1434:   {
1434:   private:
1434:     template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1434:       friend class _Sp_counted_ptr_inplace;
1434: 
1434:     static const type_info&
1434:     _S_ti() noexcept __attribute__ ((__visibility__ ("default")))
1434:     {
1434:       alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { };
1434:       return reinterpret_cast<const type_info&>(__tag);
1434:     }
1434: 
1434:     static bool _S_eq(const type_info&) noexcept;
1434:   };
1434: 
1434:   template<typename _Alloc>
1434:     struct _Sp_alloc_shared_tag
1434:     {
1434:       const!__found_sci && __found_mantissa)
1417:        {
1417: 
1417:   __xtrc += 'e';
1417:   __found_sci = true;
1417: 
1417: 
1417:   if (++__beg != __end)
1417:     {
1417:       __c = *__beg;
1417:       const bool __plus = __c == __lit[__num_base::_S_iplus];
1417:       if (__plus || __c == __lit[__num_base::_S_iminus])
1417:         __xtrc += __plus ? '+' : '-';
1417:       else
1417:         continue;
1417:     }
1417:   else
1417:     {
1417:       __testeof = true;
1417:       break;
1417:     }
1417:        }
1417:      else
1417:        break;
1417: 
1417:      if (++__beg != __end)
1417:        __c = *__beg;
1417:      else
1417:        __testeof = true;
1417:    }
1417:       else
1417:  while (!__testeof)
1417:    {
1417: 
1417: 
1417:      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1417:        {
1417:   if (!__found_dec && !__found_sci)
1417:     {
1417: 
1417: 
1417:       if (__sep_pos)
1417:         {
1417:    __found_grouping += static_cast<char>(__sep_pos);
1417:    __sep_pos = 0;
1417:         }
1417:       else
1417:         {
1417: 
1417: 
1417:    __xtrc.clear();
1417:    break;
1417:         }
1417:     }
1417:   else
1417:     break;
1417:        }
1417:      else if (__c == __lc->_M_decimal_point)
1417:        {
1417:   if (!__found_dec && !__found_sci)
1417:     {
1417: 
1417: 
1417: 
1417:       if (__found_grouping.size())
1417:         __found_grouping += static_cast<char>(__sep_pos);
1417:       __xtrc += '.';
1417:       __found_dec = true;
1417:     }
1417:   else
1417:     break;
1417:        }
1417:      else
1417:        {
1417:   const char_type* __q =
1417:     __traits_type::find(__lit_zero, 10, __c);
1417:   if (__q)
1417:     {
1417:       __xtrc += '0' + (__q - __lit_zero);
1417:       __found_mantissa = true;
1417:       ++__sep_pos;
1417:     }
1417:   else if ((__c == __lit[__num_base::_S_ie]
1417:      || __c == __lit[__num_base::_S_iE])
1417:     && !__found_sci && __found_mantissa)
1417:     {
1417: 
1417:       if (__found_grouping.size() && !__found_dec)
1417:         __found_grouping += static_cast<char>(__sep_pos);
1417:       __xtrc += 'e';
1417:       __found_sci = true;
1417: 
1417: 
1417:       if (++__beg != __end)
1417:         {
1417:    __c = *__beg;
1417:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1417:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1417:        && !(__lc->_M_use_grouping
1417:      && __c == __lc->_M_thousands_sep)
1417:        && !(__c == __lc->_M_decimal_point))
1417:         __xtrc += __plus ? '+' : '-';
1417:    else
1417:      continue;
1417:         }
1417:       else
1417:         {
1417:    __testeof = true;
1417:    break;
1417:         }
1417:     }
1417:   else
1417:     break;
1417:        }
1417: 
1417:      if (++__beg != __end)
1417:        __c = *__beg;
1417:      else
1417:        __testeof = true;
1417:    }
1417: 
1417: 
1417: 
1417:       if (__found_grouping.size())
1417:         {
1417: 
1417:    if (!__found_dec && !__found_sci)
1417:      __found_grouping += static_cast<char>(__sep_pos);
1417: 
1417:           if (!std::__verify_grouping(__lc->_M_grouping,
1417:           __lc->_M_grouping_size,
1417:           __found_grouping))
1417:      __err = ios_base::failbit;
1417:         }
1417: 
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     template<typename _ValueT>
1417:       __attribute ((__abi_tag__ ("cxx11")))
1417:       _InIter
1417:       num_get<_CharT, _InIter>::
1417:       _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
1417:        ios_base::iostate& __err, _ValueT& __v) const
1417:       {
1417:         typedef char_traits<_CharT> __traits_type;
1417:  using __gnu_cxx::__add_unsigned;
1417:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1417:  typedef __numpunct_cache<_CharT> __cache_type;
1417:  __use_cache<__cache_type> __uc;
1417:  const locale& __loc = __io._M_getloc();
1417:  const __cache_type* __lc = __uc(__loc);
1417:  const _CharT* __lit = __lc->_M_atoms_in;
1417:  char_type466 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline bool
1412:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:      _ForwardIterator2 __first2, _BinaryPredicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       return std::__is_permutation(__first1, __last1, __first2,
1412:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1412:     }
1412: 
1412: 
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     bool
1412:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1412:        _BinaryPredicate __pred)
1412:     {
1412:       using _Cat1
1412:  = typename iterator_traits<_ForwardIterator1>::iterator_category;
1412:       using _Cat2
1412:  = typename iterator_traits<_ForwardIterator2>::iterator_category;
1412:       using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>;
1412:       using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>;
1412:       constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA();
1412:       if (__ra_iters)
1412:  {
1412:    auto __d1 = std::distance(__first1, __last1);
1412:    auto __d2 = std::distance(__first2, __last2);
1412:    if (__d1 != __d2)
1412:      return false;
1412:  }
1412: 
1412: 
1412: 
1412:       for (; __first1 != __last1 && __first2 != __last2;
1412:    ++__first1, (void)++__first2)
1412:  if (!__pred(__first1, __first2))
1412:    break;
1412: 
1412:       if (__ra_iters)
1412:  {
1412:    if (__first1 == __last1)
1412:      return true;
1412:  }
1412:       else
1412:  {
1412:    auto __d1 = std::distance(__first1, __last1);
1412:    auto __d2 = std::distance(__first2, __last2);
1412:    if (__d1 == 0 && __d2 == 0)
1412:      return true;
1412:    if (__d1 != __d2)
1412:      return false;
1412:  }
1412: 
1412:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1412:  {
1412:    if (__scan != std::__find_if(__first1, __scan,
1412:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1412:      continue;
1412: 
1412:    auto __matches = std::__count_if(__first2, __last2,
1412:   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1412:    if (0 == __matches
1412:        || std::__count_if(__scan, __last1,
1412:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1412:        != __matches)
1412:      return false;
1412:  }
1412:       return true;
1412:     }
1412: # 3561 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1412:    
1412:     inline bool
1412:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:      _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1412:     {
1412:       ;
1412:       ;
1412: 
1412:       return
1412:  std::__is_permutation(__first1, __last1, __first2, __last2,
1412:          __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: # 3589 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline bool
1412:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:      _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1412:      _BinaryPredicate __pred)
1412:     {
1412:       ;
1412:       ;
1412: 
1412:       return std::__is_permutation(__first1, __last1, __first2, __last2,
1412:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1412:     }
1412: # 3619 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _Tp>
1412:     constexpr const _Tp&
1412:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi)
1412:     {
1412:       do { if (std::__is_constant_evaluated() && !bool(!(__hi < __lo))) __builtin_unreachable(); } while (false);
1412:       return  _Alloc& _M_a;
1434:     };
1434: 
1434:   template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
1434:     class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp>
1434:     {
1434:       class _Impl : _Sp_ebo_helper<0, _Alloc>
1434:       {
1434:  typedef _Sp_ebo_helper<0, _Alloc> _A_base;
1434: 
1434:       public:
1434:  explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { }
1434: 
1434:  _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); }
1434: 
1434:  __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1434:       };
1434: 
1434:     public:
1434:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>;
1434: 
1434: 
1434:       template<typename... _Args>
1434:  _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
1434:  : _M_impl(__a)
1434:  {
1434: 
1434: 
1434:    allocator_traits<_Alloc>::construct(__a, _M_ptr(),
1434:        std::forward<_Args>(__args)...);
1434:  }
1434: 
1434:       ~_Sp_counted_ptr_inplace() noexcept { }
1434: 
1434:       virtual void
1434:       _M_dispose() noexcept
1434:       {
1434:  allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
1434:       }
1434: 
1434: 
1434:       virtual void
1434:       _M_destroy() noexcept
1434:       {
1434:  __allocator_type __a(_M_impl._M_alloc());
1434:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1434:  this->~_Sp_counted_ptr_inplace();
1434:       }
1434: 
1434:     private:
1434:       friend class __shared_count<_Lp>;
1434: 
1434: 
1434: 
1434:       virtual void*
1434:       _M_get_deleter(const std::type_info& __ti) noexcept override
1434:       {
1434:  auto __ptr = const_cast<typename remove_cv<_Tp>::type*>(_M_ptr());
1434: 
1434: 
1434: 
1434: 
1434:  if (&__ti == &_Sp_make_shared_tag::_S_ti()
1434:      ||
1434: 
1434:      __ti == typeid(_Sp_make_shared_tag)
1434: 
1434: 
1434: 
1434:     )
1434:    return __ptr;
1434:  return nullptr;
1434:       }
1434: 
1434:       _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); }
1434: 
1434:       _Impl _M_impl;
1434:     };
1434: # 886 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434:   struct __sp_array_delete
1434:   {
1434:     template<typename _Yp>
1434:       void operator()(_Yp* __p) const { delete[] __p; }
1434:   };
1434: 
1434:   template<_Lock_policy _Lp>
1434:     class __shared_count
1434:     {
1434: 
1434:       template<typename _Tp>
1434:  struct __not_alloc_shared_tag { using type = void; };
1434: 
1434:       template<typename _Tp>
1434:  struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     public:
1434:       constexpr __shared_count() noexcept : _M_pi(0)
1434:       { }
1434: 
1434:       template<typename _Ptr>
1434:         explicit
1434:  __shared_count(_Ptr __p) : _M_pi(0)
1434:  {
1434:    try
1434:      {
1434:        _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
1434:      }
1434:    catch(...)
1434:      {
1434:        delete __p;
1434:        throw;
1434:      }
1434:  }
1434: 
1434:       template<typename _Ptr>
1434:  __shared_count(_Ptr __p, false_type)
1434:  : __shared_count(__p)
1434:  { }
1434: 
1434:       template<typename _Ptr>
1434:  __shared_count(_Ptr __p, true_type)
1434:  : __shared_count(__p, __sp_array_delete{}, allocator<void>())
1434:  { }
1434: 
1434:       template<typename _Ptr, typename _Deleter,
1434:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1434:  __shared_count(_Ptr __p, _Deleter __d)
1434:  : __shared_count(__p, std::move(__d), allocator<void>())
1434:  { }
1434: 
1434:       template<typename _Ptr, typename _Deleter, typename _Alloc,
1434:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
1434:  __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
1434:  {
1434:    typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
1434:    try
1434:      {
1434:        typename _Sp_cd_type::__allocator_type __a2(__a);
1434:        auto __guard = std::__allocate_guarded(__a2);
1434:        _Sp_cd_type* __mem = __guard.get();
1434:        ::new __c = char_type();
1417: 
1417: 
1417:  const ios_base::fmtflags __basefield = __io.flags()
1417:                                         & ios_base::basefield;
1417:  const bool __oct = __basefield == ios_base::oct;
1417:  int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
1417: 
1417: 
1417:  bool __testeof = __beg == __end;
1417: 
1417: 
1417:  bool __negative = false;
1417:  if (!__testeof)
1417:    {
1417:      __c = *__beg;
1417:      __negative = __c == __lit[__num_base::_S_iminus];
1417:      if ((__negative || __c == __lit[__num_base::_S_iplus])
1417:   && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1417:   && !(__c == __lc->_M_decimal_point))
1417:        {
1417:   if (++__beg != __end)
1417:     __c = *__beg;
1417:   else
1417:     __testeof = true;
1417:        }
1417:    }
1417: 
1417: 
1417: 
1417:  bool __found_zero = false;
1417:  int __sep_pos = 0;
1417:  while (!__testeof)
1417:    {
1417:      if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1417:   || __c == __lc->_M_decimal_point)
1417:        break;
1417:      else if (__c == __lit[__num_base::_S_izero]
1417:        && (!__found_zero || __base == 10))
1417:        {
1417:   __found_zero = true;
1417:   ++__sep_pos;
1417:   if (__basefield == 0)
1417:     __base = 8;
1417:   if (__base == 8)
1417:     __sep_pos = 0;
1417:        }
1417:      else if (__found_zero
1417:        && (__c == __lit[__num_base::_S_ix]
1417:     || __c == __lit[__num_base::_S_iX]))
1417:        {
1417:   if (__basefield == 0)
1417:     __base = 16;
1417:   if (__base == 16)
1417:     {
1417:       __found_zero = false;
1417:       __sep_pos = 0;
1417:     }
1417:   else
1417:     break;
1417:        }
1417:      else
1417:        break;
1417: 
1417:      if (++__beg != __end)
1417:        {
1417:   __c = *__beg;
1417:   if (!__found_zero)
1417:     break;
1417:        }
1417:      else
1417:        __testeof = true;
1417:    }
1417: 
1417: 
1417: 
1417:  const size_t __len = (__base == 16 ? __num_base::_S_iend
1417:          - __num_base::_S_izero : __base);
1417: 
1417: 
1417:  typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits;
1417:  string __found_grouping;
1417:  if (__lc->_M_use_grouping)
1417:    __found_grouping.reserve(32);
1417:  bool __testfail = false;
1417:  bool __testoverflow = false;
1417:  const __unsigned_type __max =
1417:    (__negative && __num_traits::__is_signed)
1417:    ? -static_cast<__unsigned_type>(__num_traits::__min)
1417:    : __num_traits::__max;
1417:  const __unsigned_type __smax = __max / __base;
1417:  __unsigned_type __result = 0;
1417:  int __digit = 0;
1417:  const char_type* __lit_zero = __lit + __num_base::_S_izero;
1417: 
1417:  if (!__lc->_M_allocated)
1417: 
1417:    while (!__testeof)
1417:      {
1417:        __digit = _M_find(__lit_zero, __len, __c);
1417:        if (__digit == -1)
1417:   break;
1417: 
1417:        if (__result > __smax)
1417:   __testoverflow = true;
1417:        else
1417:   {
1417:     __result *= __base;
1417:     __testoverflow |= __result > __max - __digit;
1417:     __result += __digit;
1417:     ++__sep_pos;
1417:   }
1417: 
1417:        if (++__beg != __end)
1417:   __c = *__beg;
1417:        else
1417:   __testeof = true;
1417:      }
1417:  else
1417:    while (!__testeof)
1417:      {
1417: 
1417: 
1417:        if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1417:   {
1417: 
1417: 
1417:     if (__sep_pos)
1417:       {
1417:         __found_grouping += static_cast<char>(__sep_pos);
1417:         __sep_pos = 0;
1417:       }
1417:     else
1417:       {
1417:         __testfail = true;
1417:         break;
1417:       }
1417:   }
1417:        else if (__c == __lc->_M_decimal_point)
1417:   break;
1417:        else
1417:   {
1417:     const char_type* __q =
1417:       __traits_type::find(__lit_zero, __len, __c);
1417:     if (!__q)
1417:       break;
1417: 
1417:     __digit = __q - __lit_zero;
1417:     if (__digit > 15)
1417:       __digit -= 6;
1417:     if (__result > __smax)
1417:       __testoverflow = true;
1417:     else
1417:     (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a));
1434:        _M_pi = __mem;
1434:        __guard = nullptr;
1434:      }
1434:    catch(...)
1434:      {
1434:        __d(__p);
1434:        throw;
1434:      }
1434:  }
1434: 
1434:       template<typename _Tp, typename _Alloc, typename... _Args>
1434:  __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a,
1434:          _Args&&... __args)
1434:  {
1434:    typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
1434:    typename _Sp_cp_type::__allocator_type __a2(__a._M_a);
1434:    auto __guard = std::__allocate_guarded(__a2);
1434:    _Sp_cp_type* __mem = __guard.get();
1434:    auto __pi = ::new (__mem)
1434:      _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
1434:    __guard = nullptr;
1434:    _M_pi = __pi;
1434:    __p = __pi->_M_ptr();
1434:  }
1434: # 1024 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434:       template<typename _Tp>
1434:         explicit
1434:  __shared_count(std::auto_ptr<_Tp>&& __r);
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434:       template<typename _Tp, typename _Del>
1434:         explicit
1434:  __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0)
1434:  {
1434: 
1434: 
1434:    if (__r.get() == nullptr)
1434:      return;
1434: 
1434:    using _Ptr = typename unique_ptr<_Tp, _Del>::pointer;
1434:    using _Del2 = __conditional_t<is_reference<_Del>::value,
1434:        reference_wrapper<typename remove_reference<_Del>::type>,
1434:        _Del>;
1434:    using _Sp_cd_type
1434:      = _Sp_counted_deleter<_Ptr, _Del2, allocator<void>, _Lp>;
1434:    using _Alloc = allocator<_Sp_cd_type>;
1434:    using _Alloc_traits = allocator_traits<_Alloc>;
1434:    _Alloc __a;
1434:    _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1);
1434: 
1434: 
1434: 
1434:    _Alloc_traits::construct(__a, __mem, __r.release(),
1434:        std::forward<_Del>(__r.get_deleter()));
1434:    _M_pi = __mem;
1434:  }
1434: 
1434: 
1434:       explicit __shared_count(const __weak_count<_Lp>& __r);
1434: 
1434: 
1434:       explicit
1434:       __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept;
1434: 
1434:       ~__shared_count() noexcept
1434:       {
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_release();
1434:       }
1434: 
1434:       __shared_count(const __shared_count& __r) noexcept
1434:       : _M_pi(__r._M_pi)
1434:       {
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_add_ref_copy();
1434:       }
1434: 
1434:       __shared_count&
1434:       operator=(const __shared_count& __r) noexcept
1434:       {
1434:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1434:  if (__tmp != _M_pi)
1434:    {
1434:      if (__tmp != nullptr)
1434:        __tmp->_M_add_ref_copy();
1434:      if (_M_pi != nullptr)
1434:        _M_pi->_M_release();
1434:      _M_pi = __tmp;
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       _M_swap(__shared_count& __r) noexcept
1434:       {
1434:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1434:  __r._M_pi = _M_pi;
1434:  _M_pi = __tmp;
1434:       }
1434: 
1434:       long
1434:       _M_get_use_count() const noexcept
1434:       { return _M_pi ? _M_pi->_M_get_use_count() : 0; }
1434: 
1434:       bool
1434:       _M_unique() const noexcept
1434:       { return this->_M_get_use_count() == 1; }
1434: 
1434:       void*
1434:       _M_get_deleter(const std::type_info& __ti) const noexcept
1434:       { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; }
1434: 
1434:       bool
1434:       _M_less(const __shared_count& __rhs) const noexcept
1434:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1434: 
1434:       bool
1434:       _M_less(const __weak_count<_Lp>& __rhs) const noexcept
1434:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1434: 
1434: 
1434:       friend inline bool
1434:       operator==(const __shared_count& __a, const __shared_count& __b) noexcept
1std::min(std::max(__val, __lo), __hi);
1412:     }
1412: # 3639 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr const _Tp&
1412:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
1412:     {
1412:       do { if (std::__is_constant_evaluated() && !bool(!__comp(__hi, __lo))) __builtin_unreachable(); } while (false);
1412:       return std::min(std::max(__val, __lo, __comp), __hi, __comp);
1412:     }
1412: # 3671 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _IntType, typename _UniformRandomBitGenerator>
1412:     pair<_IntType, _IntType>
1412:     __gen_two_uniform_ints(_IntType __b0, _IntType __b1,
1412:       _UniformRandomBitGenerator&& __g)
1412:     {
1412:       _IntType __x
1412:  = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g);
1412:       return std::make_pair(__x / __b1, __x % __b1);
1412:     }
1412: # 3693 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator,
1412:     typename _UniformRandomNumberGenerator>
1412:     void
1412:     shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:      _UniformRandomNumberGenerator&& __g)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       if (__first == __last)
1412:  return;
1412: 
1412:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1412:  _DistanceType;
1412: 
1412:       typedef typename std::make_unsigned<_DistanceType>::type __ud_type;
1412:       typedef typename std::uniform_int_distribution<__ud_type> __distr_type;
1412:       typedef typename __distr_type::param_type __p_type;
1412: 
1412:       typedef typename remove_reference<_UniformRandomNumberGenerator>::type
1412:  _Gen;
1412:       typedef typename common_type<typename _Gen::result_type, __ud_type>::type
1412:  __uc_type;
1412: 
1412:       const __uc_type __urngrange = __g.max() - __g.min();
1412:       const __uc_type __urange = __uc_type(__last - __first);
1412: 
1412:       if (__urngrange / __urange >= __urange)
1412: 
1412:       {
1412:  _RandomAccessIterator __i = __first + 1;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  if ((__urange % 2) == 0)
1412:  {
1412:    __distr_type __d{0, 1};
1412:    std::iter_swap(__i++, __first + __d(__g));
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  while (__i != __last)
1412:  {
1412:    const __uc_type __swap_range = __uc_type(__i - __first) + 1;
1412: 
1412:    const pair<__uc_type, __uc_type> __pospos =
1412:      __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g);
1412: 
1412:    std::iter_swap(__i++, __first + __pospos.first);
1412:    std::iter_swap(__i++, __first + __pospos.second);
1412:  }
1412: 
1412:  return;
1412:       }
1412: 
1412:       __distr_type __d;
1412: 
1412:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1412:  std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first)));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 3778 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Function>
1412:    
1412:     _Function
1412:     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
1412:     {
1412: 
1412:      
1412:       ;
1412:       for (; __first != __last; ++__first)
1412:  __f(*__first);
1412:       return __f;
1412:     }
1412: # 3804 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Size, typename _Function>
1412:    
1412:     _InputIterator
1412:     for_each_n(_InputIterator __first, _Size __n, _Function __f)
1412:     {
1412:       auto __n2 = std::__size_to_integer(__n);
1412:       using _Cat = typename iterator_traits<_InputIterator>::iterator_category;
1412:       if constexpr (is_base_of_v<random_access_iterator_tag, _Cat>)
1412:  {
1412:    if (__n2 <= 0)
1412:      return __first;
1412:    auto __last = __first + __n2;
1412:    std::for_each(__first, __last, std::move(__f));
1412:    return __last;
1412:  }
1412:       else
1412:  {
1412:    w434:       { return __a._M_pi == __b._M_pi; }
1434: 
1434:     private:
1434:       friend class __weak_count<_Lp>;
1434: 
1434: 
1434: 
1434: 
1434:       _Sp_counted_base<_Lp>* _M_pi;
1434:     };
1434: 
1434: 
1434:   template<_Lock_policy _Lp>
1434:     class __weak_count
1434:     {
1434:     public:
1434:       constexpr __weak_count() noexcept : _M_pi(nullptr)
1434:       { }
1434: 
1434:       __weak_count(const __shared_count<_Lp>& __r) noexcept
1434:       : _M_pi(__r._M_pi)
1434:       {
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_weak_add_ref();
1434:       }
1434: 
1434:       __weak_count(const __weak_count& __r) noexcept
1434:       : _M_pi(__r._M_pi)
1434:       {
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_weak_add_ref();
1434:       }
1434: 
1434:       __weak_count(__weak_count&& __r) noexcept
1434:       : _M_pi(__r._M_pi)
1434:       { __r._M_pi = nullptr; }
1434: 
1434:       ~__weak_count() noexcept
1434:       {
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_weak_release();
1434:       }
1434: 
1434:       __weak_count&
1434:       operator=(const __shared_count<_Lp>& __r) noexcept
1434:       {
1434:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1434:  if (__tmp != nullptr)
1434:    __tmp->_M_weak_add_ref();
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_weak_release();
1434:  _M_pi = __tmp;
1434:  return *this;
1434:       }
1434: 
1434:       __weak_count&
1434:       operator=(const __weak_count& __r) noexcept
1434:       {
1434:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1434:  if (__tmp != nullptr)
1434:    __tmp->_M_weak_add_ref();
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_weak_release();
1434:  _M_pi = __tmp;
1434:  return *this;
1434:       }
1434: 
1434:       __weak_count&
1434:       operator=(__weak_count&& __r) noexcept
1434:       {
1434:  if (_M_pi != nullptr)
1434:    _M_pi->_M_weak_release();
1434:  _M_pi = __r._M_pi;
1434:         __r._M_pi = nullptr;
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       _M_swap(__weak_count& __r) noexcept
1434:       {
1434:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
1434:  __r._M_pi = _M_pi;
1434:  _M_pi = __tmp;
1434:       }
1434: 
1434:       long
1434:       _M_get_use_count() const noexcept
1434:       { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; }
1434: 
1434:       bool
1434:       _M_less(const __weak_count& __rhs) const noexcept
1434:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1434: 
1434:       bool
1434:       _M_less(const __shared_count<_Lp>& __rhs) const noexcept
1434:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
1434: 
1434: 
1434:       friend inline bool
1434:       operator==(const __weak_count& __a, const __weak_count& __b) noexcept
1434:       { return __a._M_pi == __b._M_pi; }
1434: 
1434:     private:
1434:       friend class __shared_count<_Lp>;
1434: 
1434: 
1434: 
1434: 
1434:       _Sp_counted_base<_Lp>* _M_pi;
1434:     };
1434: 
1434: 
1434:   template<_Lock_policy _Lp>
1434:     inline
1434:     __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r)
1434:     : _M_pi(__r._M_pi)
1434:     {
1434:       if (_M_pi == nullptr || !_M_pi->_M_add_ref_lock_nothrow())
1434:  __throw_bad_weak_ptr();
1434:     }
1434: 
1434: 
1434:   template<_Lock_policy _Lp>
1434:     inline
1434:     __shared_count<_Lp>::
1434:     __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) noexcept
1434:     : _M_pi(__r._M_pi)
1434:     {
1434:       if (_M_pi && !_M_pi->_M_add_ref_lock_nothrow())
1434:  _M_pi = nullptr;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Yp_ptr, typename _Tp_ptr>
1434:     struct __sp_compatible_with
1434:     : false_type
1434:     { };
1434: 
1434:   template<typename _Yp, typename _Tp>
1434:     struct __sp_compatible_with<_Yp*, _Tp*>
1434:     : is_convertible<_Yp*, _Tp*>::type
1434:     { };
1434: 
1434:   template<typename _Up, size_t _Nm>
1434:     struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]>
1434:     : true_type
1434:     { };
1434: 
1434:      {
1417:         __result *= __base;
1417:         __testoverflow |= __result > __max - __digit;
1417:         __result += __digit;
1417:         ++__sep_pos;
1417:       }
1417:   }
1417: 
1417:        if (++__beg != __end)
1417:   __c = *__beg;
1417:        else
1417:   __testeof = true;
1417:      }
1417: 
1417: 
1417: 
1417:  if (__found_grouping.size())
1417:    {
1417: 
1417:      __found_grouping += static_cast<char>(__sep_pos);
1417: 
1417:      if (!std::__verify_grouping(__lc->_M_grouping,
1417:      __lc->_M_grouping_size,
1417:      __found_grouping))
1417:        __err = ios_base::failbit;
1417:    }
1417: 
1417: 
1417: 
1417:  if ((!__sep_pos && !__found_zero && !__found_grouping.size())
1417:      || __testfail)
1417:    {
1417:      __v = 0;
1417:      __err = ios_base::failbit;
1417:    }
1417:  else if (__testoverflow)
1417:    {
1417:      if (__negative && __num_traits::__is_signed)
1417:        __v = __num_traits::__min;
1417:      else
1417:        __v = __num_traits::__max;
1417:      __err = ios_base::failbit;
1417:    }
1417:  else
1417:    __v = __negative ? -__result : __result;
1417: 
1417:  if (__testeof)
1417:    __err |= ios_base::eofbit;
1417:  return __beg;
1417:       }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     num_get<_CharT, _InIter>::
1417:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:            ios_base::iostate& __err, bool& __v) const
1417:     {
1417:       if (!(__io.flags() & ios_base::boolalpha))
1417:         {
1417: 
1417: 
1417: 
1417:    long __l = -1;
1417:           __beg = _M_extract_int(__beg, __end, __io, __err, __l);
1417:    if (__l == 0 || __l == 1)
1417:      __v = bool(__l);
1417:    else
1417:      {
1417: 
1417: 
1417:        __v = true;
1417:        __err = ios_base::failbit;
1417:        if (__beg == __end)
1417:   __err |= ios_base::eofbit;
1417:      }
1417:         }
1417:       else
1417:         {
1417: 
1417:    typedef __numpunct_cache<_CharT> __cache_type;
1417:    __use_cache<__cache_type> __uc;
1417:    const locale& __loc = __io._M_getloc();
1417:    const __cache_type* __lc = __uc(__loc);
1417: 
1417:    bool __testf = true;
1417:    bool __testt = true;
1417:    bool __donef = __lc->_M_falsename_size == 0;
1417:    bool __donet = __lc->_M_truename_size == 0;
1417:    bool __testeof = false;
1417:    size_t __n = 0;
1417:    while (!__donef || !__donet)
1417:      {
1417:        if (__beg == __end)
1417:   {
1417:     __testeof = true;
1417:     break;
1417:   }
1417: 
1417:        const char_type __c = *__beg;
1417: 
1417:        if (!__donef)
1417:   __testf = __c == __lc->_M_falsename[__n];
1417: 
1417:        if (!__testf && __donet)
1417:   break;
1417: 
1417:        if (!__donet)
1417:   __testt = __c == __lc->_M_truename[__n];
1417: 
1417:        if (!__testt && __donef)
1417:   break;
1417: 
1417:        if (!__testt && !__testf)
1417:   break;
1417: 
1417:        ++__n;
1417:        ++__beg;
1417: 
1417:        __donef = !__testf || __n >= __lc->_M_falsename_size;
1417:        __donet = !__testt || __n >= __lc->_M_truename_size;
1417:      }
1417:    if (__testf && __n == __lc->_M_falsename_size && __n)
1417:      {
1417:        __v = false;
1417:        if (__testt && __n == __lc->_M_truename_size)
1417:   __err = ios_base::failbit;
1417:        else
1417:   __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1417:      }
1417:    else if (__testt && __n == __lc->_M_truename_size && __n)
1417:      {
1417:        __v = true;
1417:        __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1417:      }
1417:    else
1417:      {
1417: 
1417: 
1417:        __v = false;
1417:        __err = ios_base::failbit;
1417:        if (__testeof)
1417:   __err |= ios_base::eofbit;
1417:      }
1417:  }
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     num_get<_CharT, _InIter>::
1417:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:     ios_base::iostate& __err, floattemplate<typename _Up, size_t _Nm>
1434:     struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]>
1434:     : true_type
1434:     { };
1434: 
1434:   template<typename _Up, size_t _Nm>
1434:     struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]>
1434:     : true_type
1434:     { };
1434: 
1434:   template<typename _Up, size_t _Nm>
1434:     struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]>
1434:     : true_type
1434:     { };
1434: 
1434: 
1434:   template<typename _Up, size_t _Nm, typename _Yp, typename = void>
1434:     struct __sp_is_constructible_arrN
1434:     : false_type
1434:     { };
1434: 
1434:   template<typename _Up, size_t _Nm, typename _Yp>
1434:     struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>>
1434:     : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Up, typename _Yp, typename = void>
1434:     struct __sp_is_constructible_arr
1434:     : false_type
1434:     { };
1434: 
1434:   template<typename _Up, typename _Yp>
1434:     struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>>
1434:     : is_convertible<_Yp(*)[], _Up(*)[]>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp, typename _Yp>
1434:     struct __sp_is_constructible;
1434: 
1434: 
1434:   template<typename _Up, size_t _Nm, typename _Yp>
1434:     struct __sp_is_constructible<_Up[_Nm], _Yp>
1434:     : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Up, typename _Yp>
1434:     struct __sp_is_constructible<_Up[], _Yp>
1434:     : __sp_is_constructible_arr<_Up, _Yp>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp, typename _Yp>
1434:     struct __sp_is_constructible
1434:     : is_convertible<_Yp*, _Tp*>::type
1434:     { };
1434: 
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp,
1434:     bool = is_array<_Tp>::value, bool = is_void<_Tp>::value>
1434:     class __shared_ptr_access
1434:     {
1434:     public:
1434:       using element_type = _Tp;
1434: 
1434:       element_type&
1434:       operator*() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1434:  return *_M_get();
1434:       }
1434: 
1434:       element_type*
1434:       operator->() const noexcept
1434:       {
1434:  ;
1434:  return _M_get();
1434:       }
1434: 
1434:     private:
1434:       element_type*
1434:       _M_get() const noexcept
1434:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     class __shared_ptr_access<_Tp, _Lp, false, true>
1434:     {
1434:     public:
1434:       using element_type = _Tp;
1434: 
1434:       element_type*
1434:       operator->() const noexcept
1434:       {
1434:  auto __ptr = static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get();
1434:  ;
1434:  return __ptr;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     class __shared_ptr_access<_Tp, _Lp, true, false>
1434:     {
1434:     public:
1434:       using element_type = typename remove_extent<_Tp>::type;
1434: # 1407 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434:       element_type&
1434:       operator[](ptrdiff_t __i) const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(_M_get() != nullptr)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(!extent<_Tp>::value || __i < extent<_Tp>::value)) __builtin_unreachable(); } while (false);
1434:  return _M_get()[__i];
1434:       }
1434: 
1434:     private:
1434:       element_type*
1434:       _M_get() const noexcept
1434:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
1434:     };
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     class __shared_ptr
1434:     : public __shared_ptr_access<_Tp, _Lp>
1434:     {
1434:     public:
1434:       using element_hile (__n2-->0)
1412:      {
1412:        __f(*__first);
1412:        ++__first;
1412:      }
1412:    return __first;
1412:  }
1412:     }
1412: # 3840 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Tp>
1412:    
1412:     inline _InputIterator
1412:     find(_InputIterator __first, _InputIterator __last,
1412:   const _Tp& __val)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       return std::__find_if(__first, __last,
1412:        __gnu_cxx::__ops::__iter_equals_val(__val));
1412:     }
1412: # 3865 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline _InputIterator
1412:     find_if(_InputIterator __first, _InputIterator __last,
1412:      _Predicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__find_if(__first, __last,
1412:        __gnu_cxx::__ops::__pred_iter(__pred));
1412:     }
1412: # 3897 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _ForwardIterator>
1412:    
1412:     _InputIterator
1412:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1412:     _ForwardIterator __first2, _ForwardIterator __last2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       for (; __first1 != __last1; ++__first1)
1412:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1412:    if (*__first1 == *__iter)
1412:      return __first1;
1412:       return __last1;
1412:     }
1412: # 3938 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _ForwardIterator,
1412:     typename _BinaryPredicate>
1412:    
1412:     _InputIterator
1412:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1412:     _ForwardIterator __first2, _ForwardIterator __last2,
1412:     _BinaryPredicate __comp)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       for (; __first1 != __last1; ++__first1)
1412:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1412:    if (__comp(*__first1, *__iter))
1412:      return __first1;
1412:       return __last1;
1412:     }
1412: # 3971 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:    
1412:     inline _ForwardIterator
1412:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__adjacent_find(__first, __last,
1412:       __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: # 3997 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _BinaryPredicate>
1412:    
1412:     inline _ForwardIterator
1412:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
1412:     _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       return std::__adjacent_find(__first, __last,
1412:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1412:     }
1412: # 4023 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Tp>
1412:    
1412:     inline typename iterator_traits<_InputIterator>::difference_type
1412:     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__count_if(__first, __last,
1412:         __gnu_cxx::__ops::__iter_equals_val(__value));
1412:     }
1412: # 4047 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _Predicate>
1412:    
1412:     inline typename iterator_traits<_InputIterator>::difference_type
1412:     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return stdtype = typename remove_extent<_Tp>::type;
1434: 
1434:     private:
1434: 
1434:       template<typename _Yp>
1434:  using _SafeConv
1434:    = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type;
1434: 
1434: 
1434:       template<typename _Yp, typename _Res = void>
1434:  using _Compatible = typename
1434:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1434: 
1434: 
1434:       template<typename _Yp>
1434:  using _Assignable = _Compatible<_Yp, __shared_ptr&>;
1434: 
1434: 
1434:       template<typename _Yp, typename _Del, typename _Res = void,
1434:         typename _Ptr = typename unique_ptr<_Yp, _Del>::pointer>
1434:  using _UniqCompatible = __enable_if_t<__and_<
1434:    __sp_compatible_with<_Yp*, _Tp*>,
1434:    is_convertible<_Ptr, element_type*>,
1434:    is_move_constructible<_Del>
1434:    >::value, _Res>;
1434: 
1434: 
1434:       template<typename _Yp, typename _Del>
1434:  using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>;
1434: 
1434:     public:
1434: 
1434: 
1434:       using weak_type = __weak_ptr<_Tp, _Lp>;
1434: 
1434: 
1434:       constexpr __shared_ptr() noexcept
1434:       : _M_ptr(0), _M_refcount()
1434:       { }
1434: 
1434:       template<typename _Yp, typename = _SafeConv<_Yp>>
1434:  explicit
1434:  __shared_ptr(_Yp* __p)
1434:  : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
1434:  {
1434:    static_assert( !is_void<_Yp>::value, "incomplete type" );
1434:    static_assert( sizeof(_Yp) > 0, "incomplete type" );
1434:    _M_enable_shared_from_this_with(__p);
1434:  }
1434: 
1434:       template<typename _Yp, typename _Deleter, typename = _SafeConv<_Yp>>
1434:  __shared_ptr(_Yp* __p, _Deleter __d)
1434:  : _M_ptr(__p), _M_refcount(__p, std::move(__d))
1434:  {
1434:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1434:        "deleter expression d(p) is well-formed");
1434:    _M_enable_shared_from_this_with(__p);
1434:  }
1434: 
1434:       template<typename _Yp, typename _Deleter, typename _Alloc,
1434:         typename = _SafeConv<_Yp>>
1434:  __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1434:  : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a))
1434:  {
1434:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
1434:        "deleter expression d(p) is well-formed");
1434:    _M_enable_shared_from_this_with(__p);
1434:  }
1434: 
1434:       template<typename _Deleter>
1434:  __shared_ptr(nullptr_t __p, _Deleter __d)
1434:  : _M_ptr(0), _M_refcount(__p, std::move(__d))
1434:  { }
1434: 
1434:       template<typename _Deleter, typename _Alloc>
1434:         __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1434:  : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a))
1434:  { }
1434: 
1434: 
1434:       template<typename _Yp>
1434:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r,
1434:        element_type* __p) noexcept
1434:  : _M_ptr(__p), _M_refcount(__r._M_refcount)
1434:  { }
1434: 
1434: 
1434:       template<typename _Yp>
1434:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r,
1434:        element_type* __p) noexcept
1434:  : _M_ptr(__p), _M_refcount()
1434:  {
1434:    _M_refcount._M_swap(__r._M_refcount);
1434:    __r._M_ptr = nullptr;
1434:  }
1434: 
1434:       __shared_ptr(const __shared_ptr&) noexcept = default;
1434:       __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
1434:       ~__shared_ptr() = default;
1434: 
1434:       template<typename _Yp, typename = _Compatible<_Yp>>
1434:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1434:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1434:  { }
1434: 
1434:       __shared_ptr(__shared_ptr&& __r) noexcept
1434:       : _M_ptr(__r._M_ptr), _M_refcount()
1434:       {
1434:  _M_refcount._M_swap(__r._M_refcount);
1434:  __r._M_ptr = nullptr;
1434:       }
1434: 
1434:       template<typename _Yp, typename = _Compatible<_Yp>>
1434:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1434:  : _M_ptr(__r._M_ptr), _M_refcount()
1434:  {
1434:    _M_refcount._M_swap(__r._M_refcount);
1434:    __r._M_ptr = nu& __v) const
1417:     {
1417:       string __xtrc;
1417:       __xtrc.reserve(32);
1417:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1417:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     num_get<_CharT, _InIter>::
1417:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:            ios_base::iostate& __err, double& __v) const
1417:     {
1417:       string __xtrc;
1417:       __xtrc.reserve(32);
1417:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1417:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: # 735 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     num_get<_CharT, _InIter>::
1417:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:            ios_base::iostate& __err, long double& __v) const
1417:     {
1417:       string __xtrc;
1417:       __xtrc.reserve(32);
1417:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1417:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     num_get<_CharT, _InIter>::
1417:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:            ios_base::iostate& __err, void*& __v) const
1417:     {
1417: 
1417:       typedef ios_base::fmtflags fmtflags;
1417:       const fmtflags __fmt = __io.flags();
1417:       __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex);
1417: 
1417:       typedef __gnu_cxx::__conditional_type<(sizeof(void*)
1417:           <= sizeof(unsigned long)),
1417:  unsigned long, unsigned long long>::__type _UIntPtrType;
1417: 
1417:       _UIntPtrType __ul;
1417:       __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
1417: 
1417: 
1417:       __io.flags(__fmt);
1417: 
1417:       __v = reinterpret_cast<void*>(__ul);
1417:       return __beg;
1417:     }
1417: # 795 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     void
1417:     num_put<_CharT, _OutIter>::
1417:     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
1417:     _CharT* __new, const _CharT* __cs, int& __len) const
1417:     {
1417: 
1417: 
1417:       __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new,
1417:         __cs, __w, __len);
1417:       __len = static_cast<int>(__w);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _ValueT>
1417:     int
1417:     __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
1417:     ios_base::fmtflags __flags, bool __dec)
1417:     {
1417:       _CharT* __buf = __bufend;
1417:       if (__builtin_expect(__dec, true))
1417:  {
1417: 
1417:    do
1417:      {
1417:        *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
1417:        __v /= 10;
1417:      }
1417:    while (__v != 0);
1417:  }
1417:       else if ((__flags & ios_base::basefield) == ios_base::oct)
1417:  {
1417: 
1417:    do
1417:      {
1417:        *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
1417:        __v >>= 3;
1417:      }
1417:    while (__v != 0);
1417:  }
1417:       else
1417:  {
1417: 
1417:    const bool __uppercase = __flags & ios_base::uppercase;
1417:    const int __case_offset = __uppercase ? __num_base::_S_oudigits
1417:                                          : __num_base::_S_odigits;
1417:    do
1417:      {
1417:        *--__buf = __lit[(__v & 0xf) + __case_offset];
1417:        __v >>= 4;
1417:      }
1417:    while (__v != 0);
1417:  }
1417:       return __bufend - __buf;
1417:     }
1417: 
1417: 
1417: llptr;
1434:  }
1434: 
1434:       template<typename _Yp, typename = _Compatible<_Yp>>
1434:  explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r)
1434:  : _M_refcount(__r._M_refcount)
1434:  {
1434: 
1434: 
1434:    _M_ptr = __r._M_ptr;
1434:  }
1434: 
1434: 
1434:       template<typename _Yp, typename _Del,
1434:         typename = _UniqCompatible<_Yp, _Del>>
1434:  __shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1434:  : _M_ptr(__r.get()), _M_refcount()
1434:  {
1434:    auto __raw = __to_address(__r.get());
1434:    _M_refcount = __shared_count<_Lp>(std::move(__r));
1434:    _M_enable_shared_from_this_with(__raw);
1434:  }
1434: # 1585 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434:       template<typename _Yp, typename = _Compatible<_Yp>>
1434:  __shared_ptr(auto_ptr<_Yp>&& __r);
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434:       constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<_Yp>
1434:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1434:  {
1434:    _M_ptr = __r._M_ptr;
1434:    _M_refcount = __r._M_refcount;
1434:    return *this;
1434:  }
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:       template<typename _Yp>
1434:  _Assignable<_Yp>
1434:  operator=(auto_ptr<_Yp>&& __r)
1434:  {
1434:    __shared_ptr(std::move(__r)).swap(*this);
1434:    return *this;
1434:  }
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434:       __shared_ptr&
1434:       operator=(__shared_ptr&& __r) noexcept
1434:       {
1434:  __shared_ptr(std::move(__r)).swap(*this);
1434:  return *this;
1434:       }
1434: 
1434:       template<class _Yp>
1434:  _Assignable<_Yp>
1434:  operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
1434:  {
1434:    __shared_ptr(std::move(__r)).swap(*this);
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _Yp, typename _Del>
1434:  _UniqAssignable<_Yp, _Del>
1434:  operator=(unique_ptr<_Yp, _Del>&& __r)
1434:  {
1434:    __shared_ptr(std::move(__r)).swap(*this);
1434:    return *this;
1434:  }
1434: 
1434:       void
1434:       reset() noexcept
1434:       { __shared_ptr().swap(*this); }
1434: 
1434:       template<typename _Yp>
1434:  _SafeConv<_Yp>
1434:  reset(_Yp* __p)
1434:  {
1434: 
1434:    do { if (std::__is_constant_evaluated() && !bool(__p == nullptr || __p != _M_ptr)) __builtin_unreachable(); } while (false);
1434:    __shared_ptr(__p).swap(*this);
1434:  }
1434: 
1434:       template<typename _Yp, typename _Deleter>
1434:  _SafeConv<_Yp>
1434:  reset(_Yp* __p, _Deleter __d)
1434:  { __shared_ptr(__p, std::move(__d)).swap(*this); }
1434: 
1434:       template<typename _Yp, typename _Deleter, typename _Alloc>
1434:  _SafeConv<_Yp>
1434:  reset(_Yp* __p, _Deleter __d, _Alloc __a)
1434:         { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); }
1434: 
1434: 
1434:       element_type*
1434:       get() const noexcept
1434:       { return _M_ptr; }
1434: 
1434: 
1434:       explicit operator bool() const noexcept
1434:       { return _M_ptr != nullptr; }
1434: 
1434: 
1434:       bool
1434:       unique() const noexcept
1434:       { return _M_refcount._M_unique(); }
1434: 
1434: 
1434:       long
1434:       use_count() const noexcept
1434:       { return _M_refcount._M_get_use_count(); }
1434: 
1434: 
1434:       void
1434:       swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
1434:       {
1434:  std::swap(_M_ptr, __other._M_ptr);
1434:  _M_refcount._M_swap(__other._M_refcount);
1434:       }
1434: # 1697 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434:       template<typename _Tp1>
1434:  bool
1434:  owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1434:  { return _M_refcount._M_less(__rhs._M_refcount); }
1434: 
1434:       template<typename _Tp1>
1434:  bool
1434:  owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept
1434:  { return _M_refcount._M_less(__rhs._M_refcou::__count_if(__first, __last,
1412:         __gnu_cxx::__ops::__pred_iter(__pred));
1412:     }
1412: # 4088 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1412:    
1412:     inline _ForwardIterator1
1412:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__search(__first1, __last1, __first2, __last2,
1412:       __gnu_cxx::__ops::__iter_equal_to_iter());
1412:     }
1412: # 4128 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline _ForwardIterator1
1412:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1412:     _BinaryPredicate __predicate)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__search(__first1, __last1, __first2, __last2,
1412:       __gnu_cxx::__ops::__iter_comp_iter(__predicate));
1412:     }
1412: # 4164 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Integer, typename _Tp>
1412:    
1412:     inline _ForwardIterator
1412:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1412:       _Integer __count, const _Tp& __val)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__search_n(__first, __last, __count,
1412:         __gnu_cxx::__ops::__iter_equals_val(__val));
1412:     }
1412: # 4198 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Integer, typename _Tp,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline _ForwardIterator
1412:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1412:       _Integer __count, const _Tp& __val,
1412:       _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__search_n(__first, __last, __count,
1412:   __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val));
1412:     }
1412: # 4224 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Searcher>
1412:    
1412:     inline _ForwardIterator
1412:     search(_ForwardIterator __first, _ForwardIterator __last,
1412:     const _Searcher& __searcher)
1412:     { return __searcher(__first, __last).first; }
1412: # 4248 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _UnaryOperation>
1412:    
1412:     _OutputIterator
1412:     transform(_InputIterator __first, _InputIterator __last,
1412:        _OutputIterator __result, _UnaryOperation __unary_op)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       for (; __first != __last; ++__first, (void)++__result)
1412:  *__result = __unary_op(*__first);
1412:       return __result;
1412:     }
1412: # 4286 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator, typename _BinaryOperation>
1412:    
1412:     _OutputIterator
1412:     transform(_InputIterator1 __first1, _InputIterator1 __last1,
1412:        _InputIterator2 __first2, _OutputIterator __result,
1412:        _BinaryOperation __binary_op)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412: 
1412:       for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result)
1412:  *__result = __binary_op(*__first1, *__first2);
1412:       return __result;
1412:     }
1412: # 4320 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Tp>
1412:    
1412:     void
1412:     replace(_ForwardIterator __first, _ForwardIterant); }
1434: 
1434: 
1434:     protected:
1434: 
1434:       template<typename _Alloc, typename... _Args>
1434:  __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1434:  : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
1434:  { _M_enable_shared_from_this_with(_M_ptr); }
1434: 
1434:       template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
1434:         typename... _Args>
1434:  friend __shared_ptr<_Tp1, _Lp1>
1434:  __allocate_shared(const _Alloc& __a, _Args&&... __args);
1434: # 1731 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434:       __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) noexcept
1434:       : _M_refcount(__r._M_refcount, std::nothrow)
1434:       {
1434:  _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr;
1434:       }
1434: 
1434:       friend class __weak_ptr<_Tp, _Lp>;
1434: 
1434:     private:
1434: 
1434:       template<typename _Yp>
1434:  using __esft_base_t = decltype(__enable_shared_from_this_base(
1434:        std::declval<const __shared_count<_Lp>&>(),
1434:        std::declval<_Yp*>()));
1434: 
1434: 
1434:       template<typename _Yp, typename = void>
1434:  struct __has_esft_base
1434:  : false_type { };
1434: 
1434:       template<typename _Yp>
1434:  struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>>
1434:  : __not_<is_array<_Tp>> { };
1434: 
1434:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1434:  typename enable_if<__has_esft_base<_Yp2>::value>::type
1434:  _M_enable_shared_from_this_with(_Yp* __p) noexcept
1434:  {
1434:    if (auto __base = __enable_shared_from_this_base(_M_refcount, __p))
1434:      __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount);
1434:  }
1434: 
1434:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
1434:  typename enable_if<!__has_esft_base<_Yp2>::value>::type
1434:  _M_enable_shared_from_this_with(_Yp*) noexcept
1434:  { }
1434: 
1434:       void*
1434:       _M_get_deleter(const std::type_info& __ti) const noexcept
1434:       { return _M_refcount._M_get_deleter(__ti); }
1434: 
1434:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1434:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1434: 
1434:       template<typename _Del, typename _Tp1, _Lock_policy _Lp1>
1434:  friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
1434: 
1434:       template<typename _Del, typename _Tp1>
1434:  friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       element_type* _M_ptr;
1434:       __shared_count<_Lp> _M_refcount;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1434:     inline bool
1434:     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
1434:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1434:     { return __a.get() == __b.get(); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1434:     { return !__a; }
1434: # 1817 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1434:     { return !__a; }
1434: 
1434:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1434:     inline bool
1434:     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
1434:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1434:     { return __a.get() != __b.get(); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1434:     { return (bool)__a; }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1434:     { return (bool)__a; }
1434: 
1434:   template<typename _Tp, typename _Up, _Lock_policy _Lp>
1434:     inline bool

1417:   template<typename _CharT, typename _OutIter>
1417:     void
1417:     num_put<_CharT, _OutIter>::
1417:     _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
1417:    ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
1417:     {
1417:       _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
1417:      __grouping_size, __cs, __cs + __len);
1417:       __len = __p - __new;
1417:     }
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     template<typename _ValueT>
1417:       _OutIter
1417:       num_put<_CharT, _OutIter>::
1417:       _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
1417:       _ValueT __v) const
1417:       {
1417:  using __gnu_cxx::__add_unsigned;
1417:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1417:  typedef __numpunct_cache<_CharT> __cache_type;
1417:  __use_cache<__cache_type> __uc;
1417:  const locale& __loc = __io._M_getloc();
1417:  const __cache_type* __lc = __uc(__loc);
1417:  const _CharT* __lit = __lc->_M_atoms_out;
1417:  const ios_base::fmtflags __flags = __io.flags();
1417: 
1417: 
1417:  const int __ilen = 5 * sizeof(_ValueT);
1417:  _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:             * __ilen));
1417: 
1417: 
1417: 
1417:  const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
1417:  const bool __dec = (__basefield != ios_base::oct
1417:        && __basefield != ios_base::hex);
1417:  const __unsigned_type __u = ((__v > 0 || !__dec)
1417:          ? __unsigned_type(__v)
1417:          : -__unsigned_type(__v));
1417:   int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
1417:  __cs += __ilen - __len;
1417: 
1417: 
1417:  if (__lc->_M_use_grouping)
1417:    {
1417: 
1417: 
1417:      _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:           * (__len + 1)
1417:           * 2));
1417:      _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
1417:     __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
1417:      __cs = __cs2 + 2;
1417:    }
1417: 
1417: 
1417:  if (__builtin_expect(__dec, true))
1417:    {
1417: 
1417:      if (__v >= 0)
1417:        {
1417:   if (bool(__flags & ios_base::showpos)
1417:       && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
1417:     *--__cs = __lit[__num_base::_S_oplus], ++__len;
1417:        }
1417:      else
1417:        *--__cs = __lit[__num_base::_S_ominus], ++__len;
1417:    }
1417:  else if (bool(__flags & ios_base::showbase) && __v)
1417:    {
1417:      if (__basefield == ios_base::oct)
1417:        *--__cs = __lit[__num_base::_S_odigits], ++__len;
1417:      else
1417:        {
1417: 
1417:   const bool __uppercase = __flags & ios_base::uppercase;
1417:   *--__cs = __lit[__num_base::_S_ox + __uppercase];
1417: 
1417:   *--__cs = __lit[__num_base::_S_odigits];
1417:   __len += 2;
1417:        }
1417:    }
1417: 
1417: 
1417:  const streamsize __w = __io.width();
1417:  if (__w > static_cast<streamsize>(__len))
1417:    {
1417:      _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:           * __w));
1417:      _M_pad(__fill, __w, __io, __cs3, __cs, __len);
1417:      __cs = __cs3;
1417:    }
1417:  __io.width(0);
1417: 
1417: 
1417: 
1417:  return std::__write(__s, __cs, __len);
1417:       }
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     void
1417:     num_put<_CharT, _OutIter>::
1417:     _M_group_float(const char* __grouping, size_t __grouping_size,
1417:      _CharT __sep, const _CharT* __p, _CharT* __new,
1417:      _CharT* __cs, int& __len) const
1417:     {
1417: 
1417: 
1417: 
1417:       const int __declen = __p ? __p - __cs : __len;
1417:       _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
1417:       __grouping_size,
1417:       __cs, __cs + __declen);
1417: 
1417: 
1417:       int __newlen = __p2 - __new;
1417:       if (__p)
1417:  {
1417:    char_traits<_CharT>::copy(__p2, __p, __len - __declen);
1417:    __newlen += __len - __declen;
1417:  }
1417:       __len = __newle1434:     operator<(const __shared_ptr<_Tp, _Lp>& __a,
1434:        const __shared_ptr<_Up, _Lp>& __b) noexcept
1434:     {
1434:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1434:       using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type;
1434:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
1434:       return less<_Vp>()(__a.get(), __b.get());
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1434:     {
1434:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1434:       return less<_Tp_elt*>()(__a.get(), nullptr);
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1434:     {
1434:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
1434:       return less<_Tp_elt*>()(nullptr, __a.get());
1434:     }
1434: 
1434:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1434:     inline bool
1434:     operator<=(const __shared_ptr<_Tp1, _Lp>& __a,
1434:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1434:     { return !(__b < __a); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1434:     { return !(nullptr < __a); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1434:     { return !(__a < nullptr); }
1434: 
1434:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1434:     inline bool
1434:     operator>(const __shared_ptr<_Tp1, _Lp>& __a,
1434:        const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1434:     { return (__b < __a); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1434:     { return nullptr < __a; }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1434:     { return __a < nullptr; }
1434: 
1434:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
1434:     inline bool
1434:     operator>=(const __shared_ptr<_Tp1, _Lp>& __a,
1434:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
1434:     { return !(__a < __b); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
1434:     { return !(__a < nullptr); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
1434:     { return !(nullptr < __a); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline void
1434:     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
1434:     { __a.swap(__b); }
1434: # 1927 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1434:     {
1434:       using _Sp = __shared_ptr<_Tp, _Lp>;
1434:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1434:     {
1434:       using _Sp = __shared_ptr<_Tp, _Lp>;
1434:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) notor __last,
1412:      const _Tp& __old_value, const _Tp& __new_value)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       for (; __first != __last; ++__first)
1412:  if (*__first == __old_value)
1412:    *__first = __new_value;
1412:     }
1412: # 4353 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
1412:    
1412:     void
1412:     replace_if(_ForwardIterator __first, _ForwardIterator __last,
1412:         _Predicate __pred, const _Tp& __new_value)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       for (; __first != __last; ++__first)
1412:  if (__pred(*__first))
1412:    *__first = __new_value;
1412:     }
1412: # 4386 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Generator>
1412:    
1412:     void
1412:     generate(_ForwardIterator __first, _ForwardIterator __last,
1412:       _Generator __gen)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       for (; __first != __last; ++__first)
1412:  *__first = __gen();
1412:     }
1412: # 4420 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _OutputIterator, typename _Size, typename _Generator>
1412:    
1412:     _OutputIterator
1412:     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
1412:     {
1412: 
1412:      
1412: 
1412: 
1412: 
1412:       typedef __decltype(std::__size_to_integer(__n)) _IntSize;
1412:       for (_IntSize __niter = std::__size_to_integer(__n);
1412:     __niter > 0; --__niter, (void) ++__first)
1412:  *__first = __gen();
1412:       return __first;
1412:     }
1412: # 4458 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     unique_copy(_InputIterator __first, _InputIterator __last,
1412:   _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       if (__first == __last)
1412:  return __result;
1412:       return std::__unique_copy(__first, __last, __result,
1412:     __gnu_cxx::__ops::__iter_equal_to_iter(),
1412:     std::__iterator_category(__first),
1412:     std::__iterator_category(__result));
1412:     }
1412: # 4499 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator, typename _OutputIterator,
1412:     typename _BinaryPredicate>
1412:    
1412:     inline _OutputIterator
1412:     unique_copy(_InputIterator __first, _InputIterator __last,
1412:   _OutputIterator __result,
1412:   _BinaryPredicate __binary_pred)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412: 
1412:       if (__first == __last)
1412:  return __result;
1412:       return std::__unique_copy(__first, __last, __result,
1412:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred),
1412:     std::__iterator_category(__first),
1412:     std::__iterator_category(__result));
1412:     }
1412: # 4538 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator>
1412:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1412:     inline void
1412:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       if (__first != __last)
1412:  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1412:    {
1412: 
1412:      _RandomAccessIterator __j = __first
1412:      + std::rand() % ((__i - __first) + 1);
1412:      if (__i != __j)
1412:        std::iter_swap(__i, __j);
1412:    }
1412:     }
1412: # 4578 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
1412:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1412:     void
1412:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412: 
1412:      _Raexcept
1434:     {
1434:       using _Sp = __shared_ptr<_Tp, _Lp>;
1434:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1434:  return _Sp(__r, __p);
1434:       return _Sp();
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     reinterpret_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
1434:     {
1434:       using _Sp = __shared_ptr<_Tp, _Lp>;
1434:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     class __weak_ptr
1434:     {
1434:       template<typename _Yp, typename _Res = void>
1434:  using _Compatible = typename
1434:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
1434: 
1434: 
1434:       template<typename _Yp>
1434:  using _Assignable = _Compatible<_Yp, __weak_ptr&>;
1434: 
1434:     public:
1434:       using element_type = typename remove_extent<_Tp>::type;
1434: 
1434:       constexpr __weak_ptr() noexcept
1434:       : _M_ptr(nullptr), _M_refcount()
1434:       { }
1434: 
1434:       __weak_ptr(const __weak_ptr&) noexcept = default;
1434: 
1434:       ~__weak_ptr() = default;
1434: # 2009 "/usr/include/c++/12/bits/shared_ptr_base.h" 3
1434:       template<typename _Yp, typename = _Compatible<_Yp>>
1434:  __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1434:  : _M_refcount(__r._M_refcount)
1434:         { _M_ptr = __r.lock().get(); }
1434: 
1434:       template<typename _Yp, typename = _Compatible<_Yp>>
1434:  __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1434:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
1434:  { }
1434: 
1434:       __weak_ptr(__weak_ptr&& __r) noexcept
1434:       : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount))
1434:       { __r._M_ptr = nullptr; }
1434: 
1434:       template<typename _Yp, typename = _Compatible<_Yp>>
1434:  __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1434:  : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount))
1434:         { __r._M_ptr = nullptr; }
1434: 
1434:       __weak_ptr&
1434:       operator=(const __weak_ptr& __r) noexcept = default;
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<_Yp>
1434:  operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept
1434:  {
1434:    _M_ptr = __r.lock().get();
1434:    _M_refcount = __r._M_refcount;
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<_Yp>
1434:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
1434:  {
1434:    _M_ptr = __r._M_ptr;
1434:    _M_refcount = __r._M_refcount;
1434:    return *this;
1434:  }
1434: 
1434:       __weak_ptr&
1434:       operator=(__weak_ptr&& __r) noexcept
1434:       {
1434:  _M_ptr = __r._M_ptr;
1434:  _M_refcount = std::move(__r._M_refcount);
1434:  __r._M_ptr = nullptr;
1434:  return *this;
1434:       }
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<_Yp>
1434:  operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept
1434:  {
1434:    _M_ptr = __r.lock().get();
1434:    _M_refcount = std::move(__r._M_refcount);
1434:    __r._M_ptr = nullptr;
1434:    return *this;
1434:  }
1434: 
1434:       __shared_ptr<_Tp, _Lp>
1434:       lock() const noexcept
1434:       { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); }
1434: 
1434:       long
1434:       use_count() const noexcept
1434:       { return _M_refcount._M_get_use_count(); }
1434: 
1434:       bool
1434:       expired() const noexcept
1434:       { return _M_refcount._M_get_use_count() == 0; }
1434: 
1434:       template<typename _Tp1>
1434:  bool
1434:  owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept
1434:  { return _M_refcount._M_less(__rhs._M_refcount); }
1434: 
1434:       template<typename _Tp1>
1434:  bool
1434:  owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept
1434:  { return _M_refcount._M_less(__rhs._M_refcount); }
1434: 
1434:       void
1434:       reset() noexcept
1434:       { __weak_ptr().swap(*this); }
1434n;
1417:     }
1417: # 989 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     template<typename _ValueT>
1417:       _OutIter
1417:       num_put<_CharT, _OutIter>::
1417:       _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
1417:          _ValueT __v) const
1417:       {
1417:  typedef __numpunct_cache<_CharT> __cache_type;
1417:  __use_cache<__cache_type> __uc;
1417:  const locale& __loc = __io._M_getloc();
1417:  const __cache_type* __lc = __uc(__loc);
1417: 
1417: 
1417:  const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
1417: 
1417:  const int __max_digits =
1417:    __gnu_cxx::__numeric_traits<_ValueT>::__digits10;
1417: 
1417: 
1417:  int __len;
1417: 
1417:  char __fbuf[16];
1417:  __num_base::_S_format_float(__io, __fbuf, __mod);
1417: 
1417: 
1417: 
1417:  const bool __use_prec =
1417:    (__io.flags() & ios_base::floatfield) != ios_base::floatfield;
1417: 
1417: 
1417: 
1417:  int __cs_size = __max_digits * 3;
1417:  char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1417:  if (__use_prec)
1417:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1417:      __fbuf, __prec, __v);
1417:  else
1417:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1417:      __fbuf, __v);
1417: 
1417: 
1417:  if (__len >= __cs_size)
1417:    {
1417:      __cs_size = __len + 1;
1417:      __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1417:      if (__use_prec)
1417:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1417:          __fbuf, __prec, __v);
1417:      else
1417:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1417:          __fbuf, __v);
1417:    }
1417: # 1062 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:  _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:             * __len));
1417:  __ctype.widen(__cs, __cs + __len, __ws);
1417: 
1417: 
1417:  _CharT* __wp = 0;
1417:  const char* __p = char_traits<char>::find(__cs, __len, '.');
1417:  if (__p)
1417:    {
1417:      __wp = __ws + (__p - __cs);
1417:      *__wp = __lc->_M_decimal_point;
1417:    }
1417: 
1417: 
1417: 
1417: 
1417:  if (__lc->_M_use_grouping
1417:      && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
1417:           && __cs[1] >= '0' && __cs[2] >= '0')))
1417:    {
1417: 
1417: 
1417:      _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:           * __len * 2));
1417: 
1417:      streamsize __off = 0;
1417:      if (__cs[0] == '-' || __cs[0] == '+')
1417:        {
1417:   __off = 1;
1417:   __ws2[0] = __ws[0];
1417:   __len -= 1;
1417:        }
1417: 
1417:      _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
1417:       __lc->_M_thousands_sep, __wp, __ws2 + __off,
1417:       __ws + __off, __len);
1417:      __len += __off;
1417: 
1417:      __ws = __ws2;
1417:    }
1417: 
1417: 
1417:  const streamsize __w = __io.width();
1417:  if (__w > static_cast<streamsize>(__len))
1417:    {
1417:      _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:           * __w));
1417:      _M_pad(__fill, __w, __io, __ws3, __ws, __len);
1417:      __ws = __ws3;
1417:    }
1417:  __io.width(0);
1417: 
1417: 
1417: 
1417:  return std::__write(__s, __ws, __len);
1417:       }
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     num_put<_CharT, _OutIter>::
1417:     do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1417:     {
1417:       const ios_base::fmtflags __flags = __io.flags();
1417:       if ((__flags & ios_base::boolalpha) == 0)
1417:         {
1417:           const long __l = __v;
1417:           __s = _M_insert_int(__s, __io, __fill, __l);
1417:         }
1417:       else
1417:         {
1417:    typedef __numpunct_cache<_CharT> __cache_type;
1417:    __use_cache<__cache_type> __uc;
1417:    const locale& __loc = __io._M: 
1434:       void
1434:       swap(__weak_ptr& __s) noexcept
1434:       {
1434:  std::swap(_M_ptr, __s._M_ptr);
1434:  _M_refcount._M_swap(__s._M_refcount);
1434:       }
1434: 
1434:     private:
1434: 
1434:       void
1434:       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
1434:       {
1434:  if (use_count() == 0)
1434:    {
1434:      _M_ptr = __ptr;
1434:      _M_refcount = __refcount;
1434:    }
1434:       }
1434: 
1434:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
1434:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
1434:       friend class __enable_shared_from_this<_Tp, _Lp>;
1434:       friend class enable_shared_from_this<_Tp>;
1434: 
1434: 
1434: 
1434: 
1434:       element_type* _M_ptr;
1434:       __weak_count<_Lp> _M_refcount;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline void
1434:     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
1434:     { __a.swap(__b); }
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:   template<typename _Tp, typename _Tp1>
1434:     struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool>
1434:     {
1434:       bool
1434:       operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept
1434:       { return __lhs.owner_before(__rhs); }
1434: 
1434:       bool
1434:       operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept
1434:       { return __lhs.owner_before(__rhs); }
1434: 
1434:       bool
1434:       operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept
1434:       { return __lhs.owner_before(__rhs); }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434:   template<>
1434:     struct _Sp_owner_less<void, void>
1434:     {
1434:       template<typename _Tp, typename _Up>
1434:  auto
1434:  operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept
1434:  -> decltype(__lhs.owner_before(__rhs))
1434:  { return __lhs.owner_before(__rhs); }
1434: 
1434:       using is_transparent = void;
1434:     };
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     struct owner_less<__shared_ptr<_Tp, _Lp>>
1434:     : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>>
1434:     { };
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     struct owner_less<__weak_ptr<_Tp, _Lp>>
1434:     : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     class __enable_shared_from_this
1434:     {
1434:     protected:
1434:       constexpr __enable_shared_from_this() noexcept { }
1434: 
1434:       __enable_shared_from_this(const __enable_shared_from_this&) noexcept { }
1434: 
1434:       __enable_shared_from_this&
1434:       operator=(const __enable_shared_from_this&) noexcept
1434:       { return *this; }
1434: 
1434:       ~__enable_shared_from_this() { }
1434: 
1434:     public:
1434:       __shared_ptr<_Tp, _Lp>
1434:       shared_from_this()
1434:       { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
1434: 
1434:       __shared_ptr<const _Tp, _Lp>
1434:       shared_from_this() const
1434:       { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
1434: 
1434: 
1434:       __weak_ptr<_Tp, _Lp>
1434:       weak_from_this() noexcept
1434:       { return this->_M_weak_this; }
1434: 
1434:       __weak_ptr<const _Tp, _Lp>
1434:       weak_from_this() const noexcept
1434:       { return this->_M_weak_this; }
1434: 
1434: 
1434:     private:
1434:       template<typename _Tp1>
1434:  void
1434:  _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept
1434:  { _M_weak_this._M_assign(__p, __n); }
1434: 
1434:       friend const __enable_shared_from_this*
1434:       __enable_shared_from_this_base(const __shared_count<_Lp>&,
1434:          const __enable_shared_from_this* __p)
1434:       { return __p; }
1434: 
1434:       template<typename, _Lock_policy>
1434:  friend class __shared_ndomNumberGenerator&& __rand)
1412: 
1412: 
1412: 
1412:     {
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       if (__first == __last)
1412:  return;
1412:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1412:  {
1412:    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
1412:    if (__i != __j)
1412:      std::iter_swap(__i, __j);
1412:  }
1412:     }
1412: # 4619 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Predicate>
1412:    
1412:     inline _ForwardIterator
1412:     partition(_ForwardIterator __first, _ForwardIterator __last,
1412:        _Predicate __pred)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412: 
1412:       return std::__partition(__first, __last, __pred,
1412:          std::__iterator_category(__first));
1412:     }
1412: # 4653 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline void
1412:     partial_sort(_RandomAccessIterator __first,
1412:    _RandomAccessIterator __middle,
1412:    _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       std::__partial_sort(__first, __middle, __last,
1412:      __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 4692 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     partial_sort(_RandomAccessIterator __first,
1412:    _RandomAccessIterator __middle,
1412:    _RandomAccessIterator __last,
1412:    _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       std::__partial_sort(__first, __middle, __last,
1412:      __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: # 4729 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline void
1412:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1412:   _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       if (__first == __last || __nth == __last)
1412:  return;
1412: 
1412:       std::__introselect(__first, __nth, __last,
1412:     std::__lg(__last - __first) * 2,
1412:     __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 4769 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1412:   _RandomAccessIterator __last, _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       if (__first == __last || __nth == __last)
1412:  return;
1412: 
1412:       std::__introselect(__first, __nth, __last,
1412:     std::__lg(__last - __first) * 2,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: # 4807 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator>
1412:    
1412:     inline void
1412:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 4838 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:    
1412:     inline void
1412:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:   _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typptr;
1434: 
1434:       mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
1434:     };
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1434:     typename _Alloc, typename... _Args>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     __allocate_shared(const _Alloc& __a, _Args&&... __args)
1434:     {
1434:       static_assert(!is_array<_Tp>::value, "make_shared<T[]> not supported");
1434: 
1434:       return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1434:         std::forward<_Args>(__args)...);
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
1434:     typename... _Args>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     __make_shared(_Args&&... __args)
1434:     {
1434:       typedef typename std::remove_const<_Tp>::type _Tp_nc;
1434:       return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
1434:            std::forward<_Args>(__args)...);
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     struct hash<__shared_ptr<_Tp, _Lp>>
1434:     : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
1434:     {
1434:       size_t
1434:       operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept
1434:       {
1434:  return hash<typename __shared_ptr<_Tp, _Lp>::element_type*>()(
1434:      __s.get());
1434:       }
1434:     };
1434: 
1434: 
1434: }
1434: # 54 "/usr/include/c++/12/bits/shared_ptr.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 68 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp>
1434:     inline std::basic_ostream<_Ch, _Tr>&
1434:     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
1434:         const __shared_ptr<_Tp, _Lp>& __p)
1434:     {
1434:       __os << __p.get();
1434:       return __os;
1434:     }
1434: 
1434:   template<typename _Del, typename _Tp, _Lock_policy _Lp>
1434:     inline _Del*
1434:     get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept
1434:     {
1434: 
1434:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1434: 
1434: 
1434: 
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Del, typename _Tp>
1434:     inline _Del*
1434:     get_deleter(const shared_ptr<_Tp>& __p) noexcept
1434:     {
1434: 
1434:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
1434: 
1434: 
1434: 
1434:     }
1434: # 111 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Tp>
1434:     using _NonArray = __enable_if_t<!is_array<_Tp>::value, _Tp>;
1434: # 174 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Tp>
1434:     class shared_ptr : public __shared_ptr<_Tp>
1434:     {
1434:       template<typename... _Args>
1434:  using _Constructible = typename enable_if<
1434:    is_constructible<__shared_ptr<_Tp>, _Args...>::value
1434:  >::type;
1434: 
1434:       template<typename _Arg>
1434:  using _Assignable = typename enable_if<
1434:    is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr&
1434:  >::type;
1434: 
1434:     public:
1434: 
1434: 
1434:       using element_type = typename __shared_ptr<_Tp>::element_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using weak_type = weak_ptr<_Tp>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
1434: 
1434:       shared_ptr(const shared_ptr&) noexcept = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Yp, typename = _Constructible<_Yp*>>
1434:  explicit
1434:  shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
1434: # 229 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       template<typename _Yp, typename _Deleter,
1434:         typename = _Constructible<_Yp*, _Deleter>>
1434:  shared_ptr(_Yp* __p, _Deleter __d)
1434:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1434: # 247 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       template<typename _Deleter>
1434:  shared_ptr(nullptr_t __p, _Deleter __d)
1434:     _getloc();
1417:    const __cache_type* __lc = __uc(__loc);
1417: 
1417:    const _CharT* __name = __v ? __lc->_M_truename
1417:                               : __lc->_M_falsename;
1417:    int __len = __v ? __lc->_M_truename_size
1417:                    : __lc->_M_falsename_size;
1417: 
1417:    const streamsize __w = __io.width();
1417:    if (__w > static_cast<streamsize>(__len))
1417:      {
1417:        const streamsize __plen = __w - __len;
1417:        _CharT* __ps
1417:   = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1417:        * __plen));
1417: 
1417:        char_traits<_CharT>::assign(__ps, __plen, __fill);
1417:        __io.width(0);
1417: 
1417:        if ((__flags & ios_base::adjustfield) == ios_base::left)
1417:   {
1417:     __s = std::__write(__s, __name, __len);
1417:     __s = std::__write(__s, __ps, __plen);
1417:   }
1417:        else
1417:   {
1417:     __s = std::__write(__s, __ps, __plen);
1417:     __s = std::__write(__s, __name, __len);
1417:   }
1417:        return __s;
1417:      }
1417:    __io.width(0);
1417:    __s = std::__write(__s, __name, __len);
1417:  }
1417:       return __s;
1417:     }
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     num_put<_CharT, _OutIter>::
1417:     do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1417:     { return _M_insert_float(__s, __io, __fill, char(), __v); }
1417: # 1187 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     num_put<_CharT, _OutIter>::
1417:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1417:     long double __v) const
1417:     { return _M_insert_float(__s, __io, __fill, 'L', __v); }
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     num_put<_CharT, _OutIter>::
1417:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1417:            const void* __v) const
1417:     {
1417:       const ios_base::fmtflags __flags = __io.flags();
1417:       const ios_base::fmtflags __fmt = ~(ios_base::basefield
1417:       | ios_base::uppercase);
1417:       __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase));
1417: 
1417:       typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
1417:           <= sizeof(unsigned long)),
1417:  unsigned long, unsigned long long>::__type _UIntPtrType;
1417: 
1417:       __s = _M_insert_int(__s, __io, __fill,
1417:      reinterpret_cast<_UIntPtrType>(__v));
1417:       __io.flags(__flags);
1417:       return __s;
1417:     }
1417: # 1224 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417: 
1417: # 1233 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1417:   template<typename _CharT, typename _Traits>
1417:     void
1417:     __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
1417:        _CharT* __news, const _CharT* __olds,
1417:        streamsize __newlen, streamsize __oldlen)
1417:     {
1417:       const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
1417:       const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
1417: 
1417: 
1417:       if (__adjust == ios_base::left)
1417:  {
1417:    _Traits::copy(__news, __olds, __oldlen);
1417:    _Traits::assign(__news + __oldlen, __plen, __fill);
1417:    return;
1417:  }
1417: 
1417:       size_t __mod = 0;
1417:       if (__adjust == ios_base::internal)
1417:  {
1417: 
1417: 
1417: 
1417:           const locale& __loc = __io._M_getloc();
1417:    const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:    if (__ctype.widen('-') == __olds[0]
1417:        || __ctype.widen('+') == __olds[0])
1417:      {
1417:        __news[0] = __olds[0];
1417:        __mod = 1;
1417:        ++__news;
1417:      }
1417:    else if (__ctype.widen('0') == __olds[0]
1417:      && __oldlen > 1
1417:      && (__ctype.widen('x') == __olds[1]
1417:          || __ctype.widen('X') == __olds[1]))
1417:      {
1417:        __news[0] = __olds[0];
1417:        __news[1] = __olds[1];
1417:        __mod = 2;
141    : __shared_ptr<_Tp>(__p, std::move(__d)) { }
1434: # 266 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       template<typename _Yp, typename _Deleter, typename _Alloc,
1434:         typename = _Constructible<_Yp*, _Deleter, _Alloc>>
1434:  shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
1434:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1434: # 286 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       template<typename _Deleter, typename _Alloc>
1434:  shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
1434:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
1434: # 310 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       template<typename _Yp>
1434:  shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept
1434:  : __shared_ptr<_Tp>(__r, __p) { }
1434: # 349 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       template<typename _Yp,
1434:         typename = _Constructible<const shared_ptr<_Yp>&>>
1434:  shared_ptr(const shared_ptr<_Yp>& __r) noexcept
1434:         : __shared_ptr<_Tp>(__r) { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       shared_ptr(shared_ptr&& __r) noexcept
1434:       : __shared_ptr<_Tp>(std::move(__r)) { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Yp, typename = _Constructible<shared_ptr<_Yp>>>
1434:  shared_ptr(shared_ptr<_Yp>&& __r) noexcept
1434:  : __shared_ptr<_Tp>(std::move(__r)) { }
1434: # 379 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1434:  explicit shared_ptr(const weak_ptr<_Yp>& __r)
1434:  : __shared_ptr<_Tp>(__r) { }
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:       template<typename _Yp, typename = _Constructible<auto_ptr<_Yp>>>
1434:  shared_ptr(auto_ptr<_Yp>&& __r);
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Yp, typename _Del,
1434:         typename = _Constructible<unique_ptr<_Yp, _Del>>>
1434:  shared_ptr(unique_ptr<_Yp, _Del>&& __r)
1434:  : __shared_ptr<_Tp>(std::move(__r)) { }
1434: # 412 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { }
1434: 
1434:       shared_ptr& operator=(const shared_ptr&) noexcept = default;
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<const shared_ptr<_Yp>&>
1434:  operator=(const shared_ptr<_Yp>& __r) noexcept
1434:  {
1434:    this->__shared_ptr<_Tp>::operator=(__r);
1434:    return *this;
1434:  }
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:       template<typename _Yp>
1434:  _Assignable<auto_ptr<_Yp>>
1434:  operator=(auto_ptr<_Yp>&& __r)
1434:  {
1434:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1434:    return *this;
1434:  }
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434:       shared_ptr&
1434:       operator=(shared_ptr&& __r) noexcept
1434:       {
1434:  this->__shared_ptr<_Tp>::operator=(std::move(__r));
1434:  return *this;
1434:       }
1434: 
1434:       template<class _Yp>
1434:  _Assignable<shared_ptr<_Yp>>
1434:  operator=(shared_ptr<_Yp>&& __r) noexcept
1434:  {
1434:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _Yp, typename _Del>
1434:  _Assignable<unique_ptr<_Yp, _Del>>
1434:  operator=(unique_ptr<_Yp, _Del>&& __r)
1434:  {
1434:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
1434:    return *this;
1434:  }
1434: 
1434:     private:
1434: 
1434:       template<typename _Alloc, typename... _Args>
1434:  shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
1434:  : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
1434:  { }
1434: 
1434:       template<typename _Yp, typename _Alloc, typename... _Args>
1434:  friend shared_ptr<_NonArray<_Yp>>
1434:  allocate_shared(const _Alloc&, _Args&&...);
1434: 
1434:       template<typename _Yp, typename... _Args>
1434:  friend shared_ptename _OutputIterator, typename _Compare>
1412:    
1412:     _OutputIterator
1412:     __merge(_InputIterator1 __first1, _InputIterator1 __last1,
1412:      _InputIterator2 __first2, _InputIterator2 __last2,
1412:      _OutputIterator __result, _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  {
1412:    if (__comp(__first2, __first1))
1412:      {
1412:        *__result = *__first2;
1412:        ++__first2;
1412:      }
1412:    else
1412:      {
1412:        *__result = *__first1;
1412:        ++__first1;
1412:      }
1412:    ++__result;
1412:  }
1412:       return std::copy(__first2, __last2,
1412:          std::copy(__first1, __last1, __result));
1412:     }
1412: # 4901 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1412:    _InputIterator2 __first2, _InputIterator2 __last2,
1412:    _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__merge(__first1, __last1,
1412:          __first2, __last2, __result,
1412:          __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 4952 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator, typename _Compare>
1412:    
1412:     inline _OutputIterator
1412:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1412:    _InputIterator2 __first2, _InputIterator2 __last2,
1412:    _OutputIterator __result, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__merge(__first1, __last1,
1412:     __first2, __last2, __result,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:     inline void
1412:     __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:     _Compare __comp)
1412:     {
1412:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1412:  _ValueType;
1412:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1412:  _DistanceType;
1412:       typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf;
1412: 
1412:       if (__first == __last)
1412:  return;
1412: 
1412: 
1412: 
1412:       _TmpBuf __buf(__first, (__last - __first + 1) / 2);
1412: 
1412:       if (__buf.begin() == 0)
1412:  std::__inplace_stable_sort(__first, __last, __comp);
1412:       else
1412:  std::__stable_sort_adaptive(__first, __last, __buf.begin(),
1412:         _DistanceType(__buf.size()), __comp);
1412:     }
1412: # 5022 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator>
1412:     inline void
1412:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       std::__stable_sort(__first, __last,
1412:         __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 5056 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _RandomAccessIterator, typename _Compare>
1412:     inline void
1412:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1412:   _Compare __comp)
1412:     {
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       std::__stable_sort(__first, __last,
1412:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator,
1412:     typename _Compare>
1412:    
1412:     _OutputIter<_NonArray<_Yp>>
1434:  make_shared(_Args&&...);
1434: # 535 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:       shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) noexcept
1434:       : __shared_ptr<_Tp>(__r, std::nothrow) { }
1434: 
1434:       friend class weak_ptr<_Tp>;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>;
1434:   template<typename _Tp, typename _Del>
1434:     shared_ptr(unique_ptr<_Tp, _Del>) -> shared_ptr<_Tp>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     [[__nodiscard__]] inline bool
1434:     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1434:     { return __a.get() == __b.get(); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1434:     { return !__a; }
1434: # 580 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1434:     { return !__a; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     [[__nodiscard__]] inline bool
1434:     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1434:     { return __a.get() != __b.get(); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1434:     { return (bool)__a; }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1434:     { return (bool)__a; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     [[__nodiscard__]] inline bool
1434:     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1434:     {
1434:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1434:       using _Up_elt = typename shared_ptr<_Up>::element_type;
1434:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
1434:       return less<_Vp>()(__a.get(), __b.get());
1434:     }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1434:     {
1434:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1434:       return less<_Tp_elt*>()(__a.get(), nullptr);
1434:     }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1434:     {
1434:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
1434:       return less<_Tp_elt*>()(nullptr, __a.get());
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     [[__nodiscard__]] inline bool
1434:     operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1434:     { return !(__b < __a); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1434:     { return !(nullptr < __a); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1434:     { return !(__a < nullptr); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     [[__nodiscard__]] inline bool
1434:     operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1434:     { return (__b < __a); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1434:     { return nullptr < __a; }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1434:     { return __a < nullptr; }
1434: 
1434: 
1434:   template<typename _Tp, ty7:        __news += 2;
1417:      }
1417: 
1417:  }
1417:       _Traits::assign(__news, __plen, __fill);
1417:       _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     _CharT*
1417:     __add_grouping(_CharT* __s, _CharT __sep,
1417:      const char* __gbeg, size_t __gsize,
1417:      const _CharT* __first, const _CharT* __last)
1417:     {
1417:       size_t __idx = 0;
1417:       size_t __ctr = 0;
1417: 
1417:       while (__last - __first > __gbeg[__idx]
1417:       && static_cast<signed char>(__gbeg[__idx]) > 0
1417:       && __gbeg[__idx] != __gnu_cxx::__numeric_traits<char>::__max)
1417:  {
1417:    __last -= __gbeg[__idx];
1417:    __idx < __gsize - 1 ? ++__idx : ++__ctr;
1417:  }
1417: 
1417:       while (__first != __last)
1417:  *__s++ = *__first++;
1417: 
1417:       while (__ctr--)
1417:  {
1417:    *__s++ = __sep;
1417:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1417:      *__s++ = *__first++;
1417:  }
1417: 
1417:       while (__idx--)
1417:  {
1417:    *__s++ = __sep;
1417:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1417:      *__s++ = *__first++;
1417:  }
1417: 
1417:       return __s;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   extern template class __cxx11:: numpunct<char>;
1417:   extern template class __cxx11:: numpunct_byname<char>;
1417:   extern template class num_get<char>;
1417:   extern template class num_put<char>;
1417:   extern template class ctype_byname<char>;
1417: 
1417:   extern template
1417:     const ctype<char>&
1417:     use_facet<ctype<char> >(const locale&);
1417: 
1417:   extern template
1417:     const numpunct<char>&
1417:     use_facet<numpunct<char> >(const locale&);
1417: 
1417:   extern template
1417:     const num_put<char>&
1417:     use_facet<num_put<char> >(const locale&);
1417: 
1417:   extern template
1417:     const num_get<char>&
1417:     use_facet<num_get<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<ctype<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<numpunct<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<num_put<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<num_get<char> >(const locale&);
1417: 
1417: 
1417:   extern template class __cxx11:: numpunct<wchar_t>;
1417:   extern template class __cxx11:: numpunct_byname<wchar_t>;
1417:   extern template class num_get<wchar_t>;
1417:   extern template class num_put<wchar_t>;
1417:   extern template class ctype_byname<wchar_t>;
1417: 
1417:   extern template
1417:     const ctype<wchar_t>&
1417:     use_facet<ctype<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const numpunct<wchar_t>&
1417:     use_facet<numpunct<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const num_put<wchar_t>&
1417:     use_facet<num_put<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const num_get<wchar_t>&
1417:     use_facet<num_get<wchar_t> >(const locale&);
1417: 
1417:  extern template
1417:     bool
1417:     has_facet<ctype<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<numpunct<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<num_put<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<num_get<wchar_t> >(const locale&);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 2688 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1417: # 41 "/usr/include/c++/12/locale" 2 3
1417: # 1 "/usr/include/c++/12/bits/locale_facets_nonio.h" 1 3
1417: # 37 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417: 
1417: # 1 "/usr/include/c++/12/ctime" 1 3
1417: # 39 "/usr/include/c++/12/ctime" 3
1417:        
1417: # 40 "/usr/include/c++/12/ctime" 3
1417: # 40 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1417: 
1417: namespace pename _Up>
1434:     [[__nodiscard__]] inline bool
1434:     operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
1434:     { return !(__a < __b); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
1434:     { return !(__a < nullptr); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]] inline bool
1434:     operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
1434:     { return !(nullptr < __a); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline void
1434:     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
1434:     { __a.swap(__b); }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline shared_ptr<_Tp>
1434:     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1434:     {
1434:       using _Sp = shared_ptr<_Tp>;
1434:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline shared_ptr<_Tp>
1434:     const_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1434:     {
1434:       using _Sp = shared_ptr<_Tp>;
1434:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline shared_ptr<_Tp>
1434:     dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1434:     {
1434:       using _Sp = shared_ptr<_Tp>;
1434:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
1434:  return _Sp(__r, __p);
1434:       return _Sp();
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline shared_ptr<_Tp>
1434:     reinterpret_pointer_cast(const shared_ptr<_Up>& __r) noexcept
1434:     {
1434:       using _Sp = shared_ptr<_Tp>;
1434:       return _Sp(__r, reinterpret_cast<typename _Sp::element_type*>(__r.get()));
1434:     }
1434: # 810 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Tp>
1434:     class weak_ptr : public __weak_ptr<_Tp>
1434:     {
1434:       template<typename _Arg>
1434:  using _Constructible = typename enable_if<
1434:    is_constructible<__weak_ptr<_Tp>, _Arg>::value
1434:  >::type;
1434: 
1434:       template<typename _Arg>
1434:  using _Assignable = typename enable_if<
1434:    is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr&
1434:  >::type;
1434: 
1434:     public:
1434:       constexpr weak_ptr() noexcept = default;
1434: 
1434:       template<typename _Yp,
1434:         typename = _Constructible<const shared_ptr<_Yp>&>>
1434:  weak_ptr(const shared_ptr<_Yp>& __r) noexcept
1434:  : __weak_ptr<_Tp>(__r) { }
1434: 
1434:       weak_ptr(const weak_ptr&) noexcept = default;
1434: 
1434:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
1434:  weak_ptr(const weak_ptr<_Yp>& __r) noexcept
1434:  : __weak_ptr<_Tp>(__r) { }
1434: 
1434:       weak_ptr(weak_ptr&&) noexcept = default;
1434: 
1434:       template<typename _Yp, typename = _Constructible<weak_ptr<_Yp>>>
1434:  weak_ptr(weak_ptr<_Yp>&& __r) noexcept
1434:  : __weak_ptr<_Tp>(std::move(__r)) { }
1434: 
1434:       weak_ptr&
1434:       operator=(const weak_ptr& __r) noexcept = default;
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<const weak_ptr<_Yp>&>
1434:  operator=(const weak_ptr<_Yp>& __r) noexcept
1434:  {
1434:    this->__weak_ptr<_Tp>::operator=(__r);
1434:    return *this;
1434:  }
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<const shared_ptr<_Yp>&>
1434:  operator=(const shared_ptr<_Yp>& __r) noexcept
1434:  {
1434:    this->__weak_ptr<_Tp>::operator=(__r);
1434:    return *this;
1434:  }
1434: 
1434:       weak_ptr&
1434:       operator=(weak_ptr&& __r) noexcept = default;
1434: 
1434:       template<typename _Yp>
1434:  _Assignable<weak_ptr<_Yp>>
1434:  operator=(weak_ptr<_Yp>&& __r) noexcept
1434:  {
1434:    this->__weak_ptr<_Tp>::operator=(std::move(__r));
1434:    return *this;
1434:  }
1434: 
1434:       shared_ptr<_Tp>
1434:       lock() const noexcept
1434:       { return shared_ptr<_Tp>(*this, std::nothrow); }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline void
1434:     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
1434:     { __a.swap(__b); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp = void>
1434:     struct owner_less;
1434: 
1434: 
1434:   template<>
1434:     struct owner_less<void> : _Sp_owner_less<void, void>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct owner_less<shared_ptr<_Tp>>
1434:     : public _Sp_owner_less<shared_ptr<_Tp>, weak_ptr<_Tp>>
1434:     { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct owner_less<weak_ptr<_Tp>>
1434:     : public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     class enable_shared_from_this
1434:     {
1434:     protected:
1434:       constexpr enable_shared_from_this() noexcept { }
1434: 
1434:       enable_shared_from_this(const enable_shared_from_this&) noexcept { }
1434: 
1434:       enable_shared_from_this&
1434:       operator=(const enable_shared_from_this&) noexcept
1434:       { return *this; }
1434: 
1434:       ~enable_shared_from_this() { }
1434: 
1434:     public:
1434:       shared_ptr<_Tp>
1434:       shared_from_this()
1434:       { return shared_ptr<_Tp>(this->_M_weak_this); }
1434: 
1434:       shared_ptr<const _Tp>
1434:       shared_from_this() const
1434:       { return shared_ptr<const _Tp>(this->_M_weak_this); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       weak_ptr<_Tp>
1434:       weak_from_this() noexcept
1434:       { return this->_M_weak_this; }
1434: 
1434:       weak_ptr<const _Tp>
1434:       weak_from_this() const noexcept
1434:       { return this->_M_weak_this; }
1434: 
1434: 
1434: 
1434:     private:
1434:       template<typename _Tp1>
1434:  void
1434:  _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
1434:  { _M_weak_this._M_assign(__p, __n); }
1434: 
1434: 
1434:       friend const enable_shared_from_this*
1434:       __enable_shared_from_this_base(const __shared_count<>&,
1434:          const enable_shared_from_this* __p)
1434:       { return __p; }
1434: 
1434:       template<typename, _Lock_policy>
1434:  friend class __shared_ptr;
1434: 
1434:       mutable weak_ptr<_Tp> _M_weak_this;
1434:     };
1434: # 988 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Tp, typename _Alloc, typename... _Args>
1434:     inline shared_ptr<_NonArray<_Tp>>
1434:     allocate_shared(const _Alloc& __a, _Args&&... __args)
1434:     {
1434:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1434:         std::forward<_Args>(__args)...);
1434:     }
1434: # 1003 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Tp, typename... _Args>
1434:     inline shared_ptr<_NonArray<_Tp>>
1434:     make_shared(_Args&&... __args)
1434:     {
1434:       using _Alloc = allocator<void>;
1434:       _Alloc __a;
1434:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
1434:         std::forward<_Args>(__args)...);
1434:     }
1434: # 1152 "/usr/include/c++/12/bits/shared_ptr.h" 3
1434:   template<typename _Tp>
1434:     struct hash<shared_ptr<_Tp>>
1434:     : public __hash_base<size_t, shared_ptr<_Tp>>
1434:     {
1434:       size_t
1434:       operator()(const shared_ptr<_Tp>& __s) const noexcept
1434:       {
1434:  return std::hash<typename shared_ptr<_Tp>::element_type*>()(__s.get());
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   namespace __detail::__variant
1434:   {
1434:     template<typename> struct _Never_valueless_alt;
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:       struct _Never_valueless_alt<std::shared_ptr<_Tp>>
1434:       : std::true_type
1434:       rator
1412:     __set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1412:   _InputIterator2 __first2, _InputIterator2 __last2,
1412:   _OutputIterator __result, _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  {
1412:    if (__comp(__first1, __first2))
1412:      {
1412:        *__result = *__first1;
1412:        ++__first1;
1412:      }
1412:    else if (__comp(__first2, __first1))
1412:      {
1412:        *__result = *__first2;
1412:        ++__first2;
1412:      }
1412:    else
1412:      {
1412:        *__result = *__first1;
1412:        ++__first1;
1412:        ++__first2;
1412:      }
1412:    ++__result;
1412:  }
1412:       return std::copy(__first2, __last2,
1412:          std::copy(__first1, __last1, __result));
1412:     }
1412: # 5126 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1412:        _InputIterator2 __first2, _InputIterator2 __last2,
1412:        _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_union(__first1, __last1,
1412:     __first2, __last2, __result,
1412:     __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 5177 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator, typename _Compare>
1412:    
1412:     inline _OutputIterator
1412:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1412:        _InputIterator2 __first2, _InputIterator2 __last2,
1412:        _OutputIterator __result, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_union(__first1, __last1,
1412:     __first2, __last2, __result,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator,
1412:     typename _Compare>
1412:    
1412:     _OutputIterator
1412:     __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1412:          _InputIterator2 __first2, _InputIterator2 __last2,
1412:          _OutputIterator __result, _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  if (__comp(__first1, __first2))
1412:    ++__first1;
1412:  else if (__comp(__first2, __first1))
1412:    ++__first2;
1412:  else
1412:    {
1412:      *__result = *__first1;
1412:      ++__first1;
1412:      ++__first2;
1412:      ++__result;
1412:    }
1412:       return __result;
1412:     }
1412: # 5250 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1412:        _InputIterator2 __first2, _InputIterator2 __last2,
1412:        _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_intersection(__first1, __last1,
1412:          __first2, __last2, __result,
1412:          __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 5300 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator, typename _Compare>
1412:    
1412:     inline _OutputIterator
1412:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1412:   std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 52 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   class time_base
1417:   {
1417:   public:
1417:     enum dateorder { no_order, dmy, mdy, ymd, ydm };
1417:   };
1417: 
1417:   template<typename _CharT>
1417:     struct __timepunct_cache : public locale::facet
1417:     {
1417: 
1417:       static const _CharT* _S_timezones[14];
1417: 
1417:       const _CharT* _M_date_format;
1417:       const _CharT* _M_date_era_format;
1417:       const _CharT* _M_time_format;
1417:       const _CharT* _M_time_era_format;
1417:       const _CharT* _M_date_time_format;
1417:       const _CharT* _M_date_time_era_format;
1417:       const _CharT* _M_am;
1417:       const _CharT* _M_pm;
1417:       const _CharT* _M_am_pm_format;
1417: 
1417: 
1417:       const _CharT* _M_day1;
1417:       const _CharT* _M_day2;
1417:       const _CharT* _M_day3;
1417:       const _CharT* _M_day4;
1417:       const _CharT* _M_day5;
1417:       const _CharT* _M_day6;
1417:       const _CharT* _M_day7;
1417: 
1417: 
1417:       const _CharT* _M_aday1;
1417:       const _CharT* _M_aday2;
1417:       const _CharT* _M_aday3;
1417:       const _CharT* _M_aday4;
1417:       const _CharT* _M_aday5;
1417:       const _CharT* _M_aday6;
1417:       const _CharT* _M_aday7;
1417: 
1417: 
1417:       const _CharT* _M_month01;
1417:       const _CharT* _M_month02;
1417:       const _CharT* _M_month03;
1417:       const _CharT* _M_month04;
1417:       const _CharT* _M_month05;
1417:       const _CharT* _M_month06;
1417:       const _CharT* _M_month07;
1417:       const _CharT* _M_month08;
1417:       const _CharT* _M_month09;
1417:       const _CharT* _M_month10;
1417:       const _CharT* _M_month11;
1417:       const _CharT* _M_month12;
1417: 
1417: 
1417:       const _CharT* _M_amonth01;
1417:       const _CharT* _M_amonth02;
1417:       const _CharT* _M_amonth03;
1417:       const _CharT* _M_amonth04;
1417:       const _CharT* _M_amonth05;
1417:       const _CharT* _M_amonth06;
1417:       const _CharT* _M_amonth07;
1417:       const _CharT* _M_amonth08;
1417:       const _CharT* _M_amonth09;
1417:       const _CharT* _M_amonth10;
1417:       const _CharT* _M_amonth11;
1417:       const _CharT* _M_amonth12;
1417: 
1417:       bool _M_allocated;
1417: 
1417:       __timepunct_cache(size_t __refs = 0) : facet(__refs),
1417:       _M_date_format(0), _M_date_era_format(0), _M_time_format(0),
1417:       _M_time_era_format(0), _M_date_time_format(0),
1417:       _M_date_time_era_format(0), _M_am(0), _M_pm(0),
1417:       _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0),
1417:       _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0),
1417:       _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0),
1417:       _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0),
1417:       _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0),
1417:       _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0),
1417:       _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0),
1417:       _M_amonth02(0), _M_amonth03(0), _M_amonth04(0),
1417:       _M_amonth05(0), _M_amonth06(0), _M_amonth07(0),
1417:       _M_amonth08(0), _M_amonth09(0), _M_amonth10(0),
1417:       _M_amonth11(0), _M_amonth12(0), _M_allocated(false)
1417:       { }
1417: 
1417:       ~__timepunct_cache();
1417: 
1417:     private:
1417:       __timepunct_cache&
1417:       operator=(const __timepunct_cache&);
1417: 
1417:       explicit
1417:       __timepunct_cache(const __timepunct_cache&);
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     __timepunct_cache<_CharT>::~__timepunct_cache()
1417:     {
1417:       if (_M_allocated)
1417:  {
1417: 
1417:  }
1417:     }
1417: 
1417: 
1417:   template<>
1417:     const char*
1417:     __timepunct_cache<char>::_S_timezones[14];
1417: 
1417: 
1417:   template<>
1417:     const wchar_t*
1417:     __timepunct_cache<wchar_t>::_S_timezones[14];
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
1417: 
{ };
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:       struct _Never_valueless_alt<std::weak_ptr<_Tp>>
1434:       : std::true_type
1434:       { };
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: # 78 "/usr/include/c++/12/memory" 2 3
1434: # 1 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434: # 1 "/usr/include/c++/12/bits/atomic_base.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/atomic_base.h" 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/atomic_lockfree_defines.h" 3
1434: # 38 "/usr/include/c++/12/bits/atomic_base.h" 2 3
1434: # 48 "/usr/include/c++/12/bits/atomic_base.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 78 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:   typedef enum memory_order
1434:     {
1434:       memory_order_relaxed,
1434:       memory_order_consume,
1434:       memory_order_acquire,
1434:       memory_order_release,
1434:       memory_order_acq_rel,
1434:       memory_order_seq_cst
1434:     } memory_order;
1434: 
1434: 
1434:   enum __memory_order_modifier
1434:     {
1434:       __memory_order_mask = 0x0ffff,
1434:       __memory_order_modifier_mask = 0xffff0000,
1434:       __memory_order_hle_acquire = 0x10000,
1434:       __memory_order_hle_release = 0x20000
1434:     };
1434: 
1434:   constexpr memory_order
1434:   operator|(memory_order __m, __memory_order_modifier __mod)
1434:   {
1434:     return memory_order(int(__m) | int(__mod));
1434:   }
1434: 
1434:   constexpr memory_order
1434:   operator&(memory_order __m, __memory_order_modifier __mod)
1434:   {
1434:     return memory_order(int(__m) & int(__mod));
1434:   }
1434: 
1434: 
1434:   constexpr memory_order
1434:   __cmpexch_failure_order2(memory_order __m) noexcept
1434:   {
1434:     return __m == memory_order_acq_rel ? memory_order_acquire
1434:       : __m == memory_order_release ? memory_order_relaxed : __m;
1434:   }
1434: 
1434:   constexpr memory_order
1434:   __cmpexch_failure_order(memory_order __m) noexcept
1434:   {
1434:     return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask)
1434:       | __memory_order_modifier(__m & __memory_order_modifier_mask));
1434:   }
1434: 
1434:   constexpr bool
1434:   __is_valid_cmpexch_failure_order(memory_order __m) noexcept
1434:   {
1434:     return (__m & __memory_order_mask) != memory_order_release
1434:  && (__m & __memory_order_mask) != memory_order_acq_rel;
1434:   }
1434: 
1434:   inline __attribute__((__always_inline__)) void
1434:   atomic_thread_fence(memory_order __m) noexcept
1434:   { __atomic_thread_fence(int(__m)); }
1434: 
1434:   inline __attribute__((__always_inline__)) void
1434:   atomic_signal_fence(memory_order __m) noexcept
1434:   { __atomic_signal_fence(int(__m)); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline _Tp
1434:     kill_dependency(_Tp __y) noexcept
1434:     {
1434:       _Tp __ret(__y);
1434:       return __ret;
1434:     }
1434: 
1434: 
1434:   template<typename _IntTp>
1434:     struct __atomic_base;
1434: # 161 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:   template<typename _Tp>
1434:     struct atomic;
1434: 
1434:   template<typename _Tp>
1434:     struct atomic<_Tp*>;
1434: 
1434: 
1434: 
1434:     typedef bool __atomic_flag_data_type;
1434: # 184 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:   extern "C" {
1434: 
1434:   struct __atomic_flag_base
1434:   {
1434:     __atomic_flag_data_type _M_i ;
1434:   };
1434: 
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   struct atomic_flag : public __atomic_flag_base
1434:   {
1434:     atomic_flag() noexcept = default;
1434:     ~atomic_flag() noexcept = default;
1434:     atomic_flag(const atomic_flag&) = delete;
1434:     atomic_flag& operator=(const atomic_flag&) = delete;
1434:     atomic_flag& operator=(const ato     _InputIterator2 __first2, _InputIterator2 __last2,
1412:        _OutputIterator __result, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_intersection(__first1, __last1,
1412:     __first2, __last2, __result,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator,
1412:     typename _Compare>
1412:    
1412:     _OutputIterator
1412:     __set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1412:        _InputIterator2 __first2, _InputIterator2 __last2,
1412:        _OutputIterator __result, _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  if (__comp(__first1, __first2))
1412:    {
1412:      *__result = *__first1;
1412:      ++__first1;
1412:      ++__result;
1412:    }
1412:  else if (__comp(__first2, __first1))
1412:    ++__first2;
1412:  else
1412:    {
1412:      ++__first1;
1412:      ++__first2;
1412:    }
1412:       return std::copy(__first1, __last1, __result);
1412:     }
1412: # 5375 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1412:      _InputIterator2 __first2, _InputIterator2 __last2,
1412:      _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_difference(__first1, __last1,
1412:        __first2, __last2, __result,
1412:        __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 5427 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator, typename _Compare>
1412:    
1412:     inline _OutputIterator
1412:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1412:      _InputIterator2 __first2, _InputIterator2 __last2,
1412:      _OutputIterator __result, _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_difference(__first1, __last1,
1412:        __first2, __last2, __result,
1412:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator,
1412:     typename _Compare>
1412:    
1412:     _OutputIterator
1412:     __set_symmetric_difference(_InputIterator1 __first1,
1412:           _InputIterator1 __last1,
1412:           _InputIterator2 __first2,
1412:           _InputIterator2 __last2,
1412:           _OutputIterator __result,
1412:           _Compare __comp)
1412:     {
1412:       while (__first1 != __last1 && __first2 != __last2)
1412:  if (__comp(__first1, __first2))
1412:    {
1412:      *__result = *__first1;
1412:      ++__first1;
1412:      ++__result;
1412:    }
1412:  else if (__comp(__first2, __first1))
1412:    {
1412:      *__result = *__first2;
1412:      ++__first2;
1412:      ++__result;
1412:    }
1412:  else
1412:    {
1412:      ++__first1;
1412:      ++__first2;
1412:    }
1412:       return std::copy(__first2, __last2,
1412:          std::copy(__first1, __last1, __result));
1412:     }
1412: # 5508 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator>
1412:    
1412:     inline _OutputIterator
1412:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1412:         _InputIterator2 __first2, _InputIterator2 __last2,
141mic_flag&) volatile = delete;
1434: 
1434: 
1434:     constexpr atomic_flag(bool __i) noexcept
1434:       : __atomic_flag_base{ _S_init(__i) }
1434:     { }
1434: 
1434:     inline __attribute__((__always_inline__)) bool
1434:     test_and_set(memory_order __m = memory_order_seq_cst) noexcept
1434:     {
1434:       return __atomic_test_and_set (&_M_i, int(__m));
1434:     }
1434: 
1434:     inline __attribute__((__always_inline__)) bool
1434:     test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept
1434:     {
1434:       return __atomic_test_and_set (&_M_i, int(__m));
1434:     }
1434: # 268 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:     inline __attribute__((__always_inline__)) void
1434:     clear(memory_order __m = memory_order_seq_cst) noexcept
1434:     {
1434:       memory_order __b __attribute__ ((__unused__))
1434:  = __m & __memory_order_mask;
1434:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1434:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1434:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434: 
1434:       __atomic_clear (&_M_i, int(__m));
1434:     }
1434: 
1434:     inline __attribute__((__always_inline__)) void
1434:     clear(memory_order __m = memory_order_seq_cst) volatile noexcept
1434:     {
1434:       memory_order __b __attribute__ ((__unused__))
1434:  = __m & __memory_order_mask;
1434:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1434:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1434:       do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434: 
1434:       __atomic_clear (&_M_i, int(__m));
1434:     }
1434: 
1434:   private:
1434:     static constexpr __atomic_flag_data_type
1434:     _S_init(bool __i)
1434:     { return __i ? 1 : 0; }
1434:   };
1434: # 323 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:   template<typename _ITp>
1434:     struct __atomic_base
1434:     {
1434:       using value_type = _ITp;
1434:       using difference_type = value_type;
1434: 
1434:     private:
1434:       typedef _ITp __int_type;
1434: 
1434:       static constexpr int _S_alignment =
1434:  sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp);
1434: 
1434:       alignas(_S_alignment) __int_type _M_i ;
1434: 
1434:     public:
1434:       __atomic_base() noexcept = default;
1434:       ~__atomic_base() noexcept = default;
1434:       __atomic_base(const __atomic_base&) = delete;
1434:       __atomic_base& operator=(const __atomic_base&) = delete;
1434:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1434: 
1434: 
1434:       constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { }
1434: 
1434:       operator __int_type() const noexcept
1434:       { return load(); }
1434: 
1434:       operator __int_type() const volatile noexcept
1434:       { return load(); }
1434: 
1434:       __int_type
1434:       operator=(__int_type __i) noexcept
1434:       {
1434:  store(__i);
1434:  return __i;
1434:       }
1434: 
1434:       __int_type
1434:       operator=(__int_type __i) volatile noexcept
1434:       {
1434:  store(__i);
1434:  return __i;
1434:       }
1434: 
1434:       __int_type
1434:       operator++(int) noexcept
1434:       { return fetch_add(1); }
1434: 
1434:       __int_type
1434:       operator++(int) volatile noexcept
1434:       { return fetch_add(1); }
1434: 
1434:       __int_type
1434:       operator--(int) noexcept
1434:       { return fetch_sub(1); }
1434: 
1434:       __int_type
1434:       operator--(int) volatile noexcept
1434:       { return fetch_sub(1); }
1434: 
1434:       __int_type
1434:       operator++() noexcept
1434:       { return __atom1417:   template<typename _CharT>
1417:     class __timepunct : public locale::facet
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT __char_type;
1417:       typedef __timepunct_cache<_CharT> __cache_type;
1417: 
1417:     protected:
1417:       __cache_type* _M_data;
1417:       __c_locale _M_c_locale_timepunct;
1417:       const char* _M_name_timepunct;
1417: 
1417:     public:
1417: 
1417:       static locale::id id;
1417: 
1417:       explicit
1417:       __timepunct(size_t __refs = 0);
1417: 
1417:       explicit
1417:       __timepunct(__cache_type* __cache, size_t __refs = 0);
1417: # 206 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
1417:       const tm* __tm) const throw ();
1417: 
1417:       void
1417:       _M_date_formats(const _CharT** __date) const
1417:       {
1417: 
1417:  __date[0] = _M_data->_M_date_format;
1417:  __date[1] = _M_data->_M_date_era_format;
1417:       }
1417: 
1417:       void
1417:       _M_time_formats(const _CharT** __time) const
1417:       {
1417: 
1417:  __time[0] = _M_data->_M_time_format;
1417:  __time[1] = _M_data->_M_time_era_format;
1417:       }
1417: 
1417:       void
1417:       _M_date_time_formats(const _CharT** __dt) const
1417:       {
1417: 
1417:  __dt[0] = _M_data->_M_date_time_format;
1417:  __dt[1] = _M_data->_M_date_time_era_format;
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_am_pm_format(const _CharT*) const
1417:       { }
1417: 
1417: 
1417:       void
1417:       _M_am_pm_format(const _CharT** __ampm_format) const
1417:       {
1417:  __ampm_format[0] = _M_data->_M_am_pm_format;
1417:       }
1417: 
1417:       void
1417:       _M_am_pm(const _CharT** __ampm) const
1417:       {
1417:  __ampm[0] = _M_data->_M_am;
1417:  __ampm[1] = _M_data->_M_pm;
1417:       }
1417: 
1417:       void
1417:       _M_days(const _CharT** __days) const
1417:       {
1417:  __days[0] = _M_data->_M_day1;
1417:  __days[1] = _M_data->_M_day2;
1417:  __days[2] = _M_data->_M_day3;
1417:  __days[3] = _M_data->_M_day4;
1417:  __days[4] = _M_data->_M_day5;
1417:  __days[5] = _M_data->_M_day6;
1417:  __days[6] = _M_data->_M_day7;
1417:       }
1417: 
1417:       void
1417:       _M_days_abbreviated(const _CharT** __days) const
1417:       {
1417:  __days[0] = _M_data->_M_aday1;
1417:  __days[1] = _M_data->_M_aday2;
1417:  __days[2] = _M_data->_M_aday3;
1417:  __days[3] = _M_data->_M_aday4;
1417:  __days[4] = _M_data->_M_aday5;
1417:  __days[5] = _M_data->_M_aday6;
1417:  __days[6] = _M_data->_M_aday7;
1417:       }
1417: 
1417:       void
1417:       _M_months(const _CharT** __months) const
1417:       {
1417:  __months[0] = _M_data->_M_month01;
1417:  __months[1] = _M_data->_M_month02;
1417:  __months[2] = _M_data->_M_month03;
1417:  __months[3] = _M_data->_M_month04;
1417:  __months[4] = _M_data->_M_month05;
1417:  __months[5] = _M_data->_M_month06;
1417:  __months[6] = _M_data->_M_month07;
1417:  __months[7] = _M_data->_M_month08;
1417:  __months[8] = _M_data->_M_month09;
1417:  __months[9] = _M_data->_M_month10;
1417:  __months[10] = _M_data->_M_month11;
1417:  __months[11] = _M_data->_M_month12;
1417:       }
1417: 
1417:       void
1417:       _M_months_abbreviated(const _CharT** __months) const
1417:       {
1417:  __months[0] = _M_data->_M_amonth01;
1417:  __months[1] = _M_data->_M_amonth02;
1417:  __months[2] = _M_data->_M_amonth03;
1417:  __months[3] = _M_data->_M_amonth04;
1417:  __months[4] = _M_data->_M_amonth05;
1417:  __months[5] = _M_data->_M_amonth06;
1417:  __months[6] = _M_data->_M_amonth07;
1417:  __months[7] = _M_data->_M_amonth08;
1417:  __months[8] = _M_data->_M_amonth09;
1417:  __months[9] = _M_data->_M_amonth10;
1417:  __months[10] = _M_data->_M_amonth11;
1417:  __months[11] = _M_data->_M_amonth12;
1417:       }
1417: 
1417:     protected:
1417:       virtual
1417:       ~__timepunct();
1417: 
1417: 
1417:       void
14ic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator++() volatile noexcept
1434:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator--() noexcept
1434:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator--() volatile noexcept
1434:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator+=(__int_type __i) noexcept
1434:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator+=(__int_type __i) volatile noexcept
1434:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator-=(__int_type __i) noexcept
1434:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator-=(__int_type __i) volatile noexcept
1434:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator&=(__int_type __i) noexcept
1434:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator&=(__int_type __i) volatile noexcept
1434:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator|=(__int_type __i) noexcept
1434:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator|=(__int_type __i) volatile noexcept
1434:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator^=(__int_type __i) noexcept
1434:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       __int_type
1434:       operator^=(__int_type __i) volatile noexcept
1434:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
1434: 
1434:       bool
1434:       is_lock_free() const noexcept
1434:       {
1434: 
1434:  return __atomic_is_lock_free(sizeof(_M_i),
1434:      reinterpret_cast<void *>(-_S_alignment));
1434:       }
1434: 
1434:       bool
1434:       is_lock_free() const volatile noexcept
1434:       {
1434: 
1434:  return __atomic_is_lock_free(sizeof(_M_i),
1434:      reinterpret_cast<void *>(-_S_alignment));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) void
1434:       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1434: 
1434:  __atomic_store_n(&_M_i, __i, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) void
1434:       store(__int_type __i,
1434:      memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1434: 
1434:  __atomic_store_n(&_M_i, __i, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       load(memory_ord2:         _OutputIterator __result)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_symmetric_difference(__first1, __last1,
1412:      __first2, __last2, __result,
1412:      __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 5560 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _InputIterator1, typename _InputIterator2,
1412:     typename _OutputIterator, typename _Compare>
1412:    
1412:     inline _OutputIterator
1412:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1412:         _InputIterator2 __first2, _InputIterator2 __last2,
1412:         _OutputIterator __result,
1412:         _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412:      
1412: 
1412:      
1412: 
1412:      
1412: 
1412: 
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412:       ;
1412:       ;
1412: 
1412:       return std::__set_symmetric_difference(__first1, __last1,
1412:     __first2, __last2, __result,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Compare>
1412:     constexpr
1412:     _ForwardIterator
1412:     __min_element(_ForwardIterator __first, _ForwardIterator __last,
1412:     _Compare __comp)
1412:     {
1412:       if (__first == __last)
1412:  return __first;
1412:       _ForwardIterator __result = __first;
1412:       while (++__first != __last)
1412:  if (__comp(__first, __result))
1412:    __result = __first;
1412:       return __result;
1412:     }
1412: # 5614 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:     constexpr
1412:     _ForwardIterator
1412:     inline min_element(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__min_element(__first, __last,
1412:     __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 5639 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Compare>
1412:     constexpr
1412:     inline _ForwardIterator
1412:     min_element(_ForwardIterator __first, _ForwardIterator __last,
1412:   _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__min_element(__first, __last,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _ForwardIterator, typename _Compare>
1412:     constexpr
1412:     _ForwardIterator
1412:     __max_element(_ForwardIterator __first, _ForwardIterator __last,
1412:     _Compare __comp)
1412:     {
1412:       if (__first == __last) return __first;
1412:       _ForwardIterator __result = __first;
1412:       while (++__first != __last)
1412:  if (__comp(__result, __first))
1412:    __result = __first;
1412:       return __result;
1412:     }
1412: # 5678 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator>
1412:     constexpr
1412:     inline _ForwardIterator
1412:     max_element(_ForwardIterator __first, _ForwardIterator __last)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__max_element(__first, __last,
1412:     __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: # 5703 "/usr/include/c++/12/bits/stl_algo.h" 3
1412:   template<typename _ForwardIterator, typename _Compare>
1412:     constexpr
1412:     inline _ForwardIterator
1412:     max_element(_ForwardIterator __first, _ForwardIterator __last,
1412:   _Compare __comp)
1412:     {
1412: 
1412:      
1412:      
1412: 
1412: 
1412:       ;
1412:       ;
1412: 
1412:       return std::__max_element(__first, __last,
1412:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     inline _Tp
1412:er __m = memory_order_seq_cst) const noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_load_n(&_M_i, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_load_n(&_M_i, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       exchange(__int_type __i,
1434:         memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1434:       }
1434: 
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       exchange(__int_type __i,
1434:         memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  return __atomic_exchange_n(&_M_i, __i, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1434:        memory_order __m1, memory_order __m2) noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1434:         int(__m1), int(__m2));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1434:        memory_order __m1,
1434:        memory_order __m2) volatile noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
1434:         int(__m1), int(__m2));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1434:        memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  return compare_exchange_weak(__i1, __i2, __m,
1434:          __cmpexch_failure_order(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
1434:      memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  return compare_exchange_weak(__i1, __i2, __m,
1434:          __cmpexch_failure_order(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1434:          memory_order __m1, memory_order __m2) noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
1434:         int(__m1), int(__m2));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1434:          memory_order __m1,
1434:          memory_order __m2) volatile noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_co17:       _M_initialize_timepunct(__c_locale __cloc = 0);
1417:     };
1417: 
1417:   template<typename _CharT>
1417:     locale::id __timepunct<_CharT>::id;
1417: 
1417: 
1417:   template<>
1417:     void
1417:     __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
1417: 
1417:   template<>
1417:     void
1417:     __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const throw ();
1417: 
1417: 
1417:   template<>
1417:     void
1417:     __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
1417: 
1417:   template<>
1417:     void
1417:     __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
1417:      const tm*) const throw ();
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/time_members.h" 1 3
1417: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/time_members.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT>
1417:     __timepunct<_CharT>::__timepunct(size_t __refs)
1417:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
1417:       _M_name_timepunct(_S_get_c_name())
1417:     { _M_initialize_timepunct(); }
1417: 
1417:   template<typename _CharT>
1417:     __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
1417:     : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(0),
1417:       _M_name_timepunct(_S_get_c_name())
1417:     { _M_initialize_timepunct(); }
1417: 
1417:   template<typename _CharT>
1417:     __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
1417:          size_t __refs)
1417:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
1417:       _M_name_timepunct(0)
1417:     {
1417:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
1417:  {
1417:    const size_t __len = __builtin_strlen(__s) + 1;
1417:    char* __tmp = new char[__len];
1417:    __builtin_memcpy(__tmp, __s, __len);
1417:    _M_name_timepunct = __tmp;
1417:  }
1417:       else
1417:  _M_name_timepunct = _S_get_c_name();
1417: 
1417:       try
1417:  { _M_initialize_timepunct(__cloc); }
1417:       catch(...)
1417:  {
1417:    if (_M_name_timepunct != _S_get_c_name())
1417:      delete [] _M_name_timepunct;
1417:    throw;
1417:  }
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     __timepunct<_CharT>::~__timepunct()
1417:     {
1417:       if (_M_name_timepunct != _S_get_c_name())
1417:  delete [] _M_name_timepunct;
1417:       delete _M_data;
1417:       _S_destroy_c_locale(_M_c_locale_timepunct);
1417:     }
1417: 
1417: 
1417: }
1417: # 353 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   struct __time_get_state
1417:   {
1417: 
1417:     void
1417:     _M_finalize_state(tm* __tm);
1417: 
1417:     unsigned int _M_have_I : 1;
1417:     unsigned int _M_have_wday : 1;
1417:     unsigned int _M_have_yday : 1;
1417:     unsigned int _M_have_mon : 1;
1417:     unsigned int _M_have_mday : 1;
1417:     unsigned int _M_have_uweek : 1;
1417:     unsigned int _M_have_wweek : 1;
1417:     unsigned int _M_have_century : 1;
1417:     unsigned int _M_is_pm : 1;
1417:     unsigned int _M_want_century : 1;
1417:     unsigned int _M_want_xday : 1;
1417:     unsigned int _M_pad1 : 5;
1417:     unsigned int _M_week_no : 6;
1417:     unsigned int _M_pad2 : 10;
1417:     int _M_century;
1417:     int _M_pad3;
1417:   };
1417: 
1417: namespace __cxx11 {
1417: # 397 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   template<typename _CharT, typename _InIter>
1417:     class time_get : public locale::facet, public time_base
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _InIter iter_type;
1417: 
1417: 
1417: 
1417:       static locale::id id;
1417: # 418 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       time_get(size_t __refs = 0)
1417:       : facet (__refs) { }
1417: # 435 "/usr/include/c++/12/bits/localmpare_exchange_n(&_M_i, &__i1, __i2, 0,
1434:         int(__m1), int(__m2));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1434:          memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  return compare_exchange_strong(__i1, __i2, __m,
1434:            __cmpexch_failure_order(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
1434:    memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  return compare_exchange_strong(__i1, __i2, __m,
1434:            __cmpexch_failure_order(__m));
1434:       }
1434: # 615 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_add(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) noexcept
1434:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_add(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_sub(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) noexcept
1434:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_sub(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_and(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) noexcept
1434:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_and(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_or(__int_type __i,
1434:         memory_order __m = memory_order_seq_cst) noexcept
1434:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_or(__int_type __i,
1434:         memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_xor(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) noexcept
1434:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __int_type
1434:       fetch_xor(__int_type __i,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _PTp>
1434:     struct __atomic_base<_PTp*>
1434:     {
1434:     private:
1434:       typedef _PTp* __pointer_type;
1434: 
1434:       __pointer_type _M_p ;
1434: 
1434: 
1434:       constexpr ptrdiff_t
1434:       _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
1434: 
1434:       constexpr ptrdiff_t
1434:       _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); }
1434: 
1434:     public:
1434:       __atomic_base() noexcept = default;
1434:       ~__atomic_base() noexcept = default;
1434:       __atomic_base(const __atomic_base&) = delete;
1434:       __atomic_base& operator=(const __atomic_base&) = delete;
1434:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
1434: 
1434: 
1434:       constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { }
1434: 
1434:       operator __pointer_type() const noexcept
1434:       { return load(); }
1434: 
1434:       operator __pointer_type() const volatile noexcept
1434:       { return load(); }
1434: 
1434:       __pointer_type
1434:       operator=(__pointer_type __p) noexcept
1434:       {
1434:  store(__p);
1434:  return __p;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator=(__pointer_type __p) volatile noexcept
1434:       {
1434:  store(__p);
1434:  return __p;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator++(int) noexcept
1434:       { return fetch_add(1); }
1434: 
1434:       __pointer_type
1434:       operator++(int) volatile noexcept
1434:       { return fetch_add(1); }
1434: 
1434:       __pointer_type
1434:       operator--(int) noexcept
1434:       { return fetch_sub(1); }
1434: 
1434:       __pointer_type
1434:       operator--(int) volatile noexcept
1434:       { return fetch_sub(1); }
1434: 
1434:       __pointer_type
1434:       operator++() noexcept
1434:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       __pointer_type
1434:       operator++() volatile noexcept
1434:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       __pointer_type
1434:       operator--() noexcept
1434:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       __pointer_type
1434:       operator--() volatile noexcept
1434:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       __pointer_type
1434:       operator+=(ptrdiff_t __d) noexcept
1434:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       __pointer_type
1434:       operator+=(ptrdiff_t __d) volatile noexcept
1434:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       __pointer_type
1434:       operator-=(ptrdiff_t __d) noexcept
1434:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       __pointer_type
1434:       operator-=(ptrdiff_t __d) volatile noexcept
1434:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
1434:       int(memory_order_seq_cst)); }
1434: 
1434:       bool
1434:       is_lock_free() const noexcept
1434:       {
1434: 
1434:  return __atomic_is_lock_free(sizeof(_M_p),
1434:      reinterpret_cast<void *>(-__alignof(_M_p)));
1434:       }
1434: 
1434:       bool
1434:       is_lock_free() const volatile noexcept
1434:       {
1434: 
1434:  return __atomic_is_lock_free(sizeof(_M_p),
1434:      reinterpret_cast<void *>(-__alignof(_M_p)));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) void
1434:       store(__pointer_type __p,
1434:      memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1434: 
1434:  __atomic_store_n(&_M_p, __p, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) void
1434:       store(__pointer_type __p,
1434:      memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acquire)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); }      min(initializer_list<_Tp> __l)
1412:     {
1412:       ;
1412:       return *std::__min_element(__l.begin(), __l.end(),
1412:    __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     inline _Tp
1412:     min(initializer_list<_Tp> __l, _Compare __comp)
1412:     {
1412:       ;
1412:       return *std::__min_element(__l.begin(), __l.end(),
1412:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     inline _Tp
1412:     max(initializer_list<_Tp> __l)
1412:     {
1412:       ;
1412:       return *std::__max_element(__l.begin(), __l.end(),
1412:    __gnu_cxx::__ops::__iter_less_iter());
1412:     }
1412: 
1412:   template<typename _Tp, typename _Compare>
1412:     constexpr
1412:     inline _Tp
1412:     max(initializer_list<_Tp> __l, _Compare __comp)
1412:     {
1412:       ;
1412:       return *std::__max_element(__l.begin(), __l.end(),
1412:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _InputIterator, typename _RandomAccessIterator,
1412:            typename _Size, typename _UniformRandomBitGenerator>
1412:     _RandomAccessIterator
1412:     __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag,
1412:       _RandomAccessIterator __out, random_access_iterator_tag,
1412:       _Size __n, _UniformRandomBitGenerator&& __g)
1412:     {
1412:       using __distrib_type = uniform_int_distribution<_Size>;
1412:       using __param_type = typename __distrib_type::param_type;
1412:       __distrib_type __d{};
1412:       _Size __sample_sz = 0;
1412:       while (__first != __last && __sample_sz != __n)
1412:  {
1412:    __out[__sample_sz++] = *__first;
1412:    ++__first;
1412:  }
1412:       for (auto __pop_sz = __sample_sz; __first != __last;
1412:    ++__first, (void) ++__pop_sz)
1412:  {
1412:    const auto __k = __d(__g, __param_type{0, __pop_sz});
1412:    if (__k < __n)
1412:      __out[__k] = *__first;
1412:  }
1412:       return __out + __sample_sz;
1412:     }
1412: 
1412: 
1412:   template<typename _ForwardIterator, typename _OutputIterator, typename _Cat,
1412:            typename _Size, typename _UniformRandomBitGenerator>
1412:     _OutputIterator
1412:     __sample(_ForwardIterator __first, _ForwardIterator __last,
1412:       forward_iterator_tag,
1412:       _OutputIterator __out, _Cat,
1412:       _Size __n, _UniformRandomBitGenerator&& __g)
1412:     {
1412:       using __distrib_type = uniform_int_distribution<_Size>;
1412:       using __param_type = typename __distrib_type::param_type;
1412:       using _USize = make_unsigned_t<_Size>;
1412:       using _Gen = remove_reference_t<_UniformRandomBitGenerator>;
1412:       using __uc_type = common_type_t<typename _Gen::result_type, _USize>;
1412: 
1412:       if (__first == __last)
1412:  return __out;
1412: 
1412:       __distrib_type __d{};
1412:       _Size __unsampled_sz = std::distance(__first, __last);
1412:       __n = std::min(__n, __unsampled_sz);
1412: 
1412: 
1412: 
1412: 
1412:       const __uc_type __urngrange = __g.max() - __g.min();
1412:       if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz))
1412: 
1412: 
1412:         {
1412:    while (__n != 0 && __unsampled_sz >= 2)
1412:      {
1412:        const pair<_Size, _Size> __p =
1412:   __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g);
1412: 
1412:        --__unsampled_sz;
1412:        if (__p.first < __n)
1412:   {
1412:     *__out++ = *__first;
1412:     --__n;
1412:   }
1412: 
1412:        ++__first;
1412: 
1412:        if (__n == 0) break;
1412: 
1412:        --__unsampled_sz;
1412:        if (__p.second < __n)
1412:   {
1412:     *__out++ = *__first;
1412:     --__n;
1412:   }
1412: 
1412:        ++__first;
1412:      }
1412:         }
1412: 
1412: 
1412: 
1412:       for (; __n != 0; ++__first)
1412:  if (__d(__g, __param_type{0, --__unsampled_sz}) < __n)
1412:    {
1412:      *__out++ = *__first;
1412:      e_facets_nonio.h" 3
1417:       dateorder
1417:       date_order() const
1417:       { return this->do_date_order(); }
1417: # 459 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       get_time(iter_type __beg, iter_type __end, ios_base& __io,
1417:         ios_base::iostate& __err, tm* __tm) const
1417:       { return this->do_get_time(__beg, __end, __io, __err, __tm); }
1417: # 484 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       get_date(iter_type __beg, iter_type __end, ios_base& __io,
1417:         ios_base::iostate& __err, tm* __tm) const
1417:       { return this->do_get_date(__beg, __end, __io, __err, __tm); }
1417: # 512 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
1417:     ios_base::iostate& __err, tm* __tm) const
1417:       { return this->do_get_weekday(__beg, __end, __io, __err, __tm); }
1417: # 541 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       get_monthname(iter_type __beg, iter_type __end, ios_base& __io,
1417:       ios_base::iostate& __err, tm* __tm) const
1417:       { return this->do_get_monthname(__beg, __end, __io, __err, __tm); }
1417: # 567 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       get_year(iter_type __beg, iter_type __end, ios_base& __io,
1417:         ios_base::iostate& __err, tm* __tm) const
1417:       { return this->do_get_year(__beg, __end, __io, __err, __tm); }
1417: # 588 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       inline
1417:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
1417:                     ios_base::iostate& __err, tm* __tm, char __format,
1417:                     char __modifier = 0) const
1417:       {
1417:         return this->do_get(__s, __end, __io, __err, __tm, __format,
1417:                             __modifier);
1417:       }
1417: # 615 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
1417:                     ios_base::iostate& __err, tm* __tm, const char_type* __fmt,
1417:                     const char_type* __fmtend) const;
1417: 
1417: 
1417:     protected:
1417: 
1417:       virtual
1417:       ~time_get() { }
1417: # 635 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual dateorder
1417:       do_date_order() const;
1417: # 653 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
1417:     ios_base::iostate& __err, tm* __tm) const;
1417: # 672 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
1417:     ios_base::iostate& __err, tm* __tm) const;
1417: # 691 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_get_weekday(iter_type __beg, iter_type __end, ios_base&,
1417:        ios_base::iostate& __err, tm* __tm) const;
1417: # 710 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_get_monthname(iter_type __beg, iter_type __end, ios_base&,
1417:          ios_base::iostate& __err, tm* __tm) const;
1417: # 729 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
1417:     ios_base::iostate& __err, tm* __tm) const;
1417: # 752 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual
1417: 
1417:       iter_type
1417:       do_get(iter_type __s, iter_type __end, ios_base& __f,
1417:              ios_base::iostate& __err, tm* __tm,
1417:              char __format, char __modifier) const;
1417: 
1417: 
1417: 
1417:       iter_type
1417:       _M_extract_num(iter_type __beg, iter_type __end, int& __member,
1417:        int __min, int __max, size_t __len,
1417:        ios_base& __io, iwhile (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_consume)) __builtin_unreachable(); } while (false);
1434: 
1434:  __atomic_store_n(&_M_p, __p, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       load(memory_order __m = memory_order_seq_cst) const noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_load_n(&_M_p, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1434:       {
1434:  memory_order __b __attribute__ ((__unused__))
1434:    = __m & __memory_order_mask;
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_release)) __builtin_unreachable(); } while (false);
1434:  do { if (std::__is_constant_evaluated() && !bool(__b != memory_order_acq_rel)) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_load_n(&_M_p, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       exchange(__pointer_type __p,
1434:         memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1434:       }
1434: 
1434: 
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       exchange(__pointer_type __p,
1434:         memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  return __atomic_exchange_n(&_M_p, __p, int(__m));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1434:        memory_order __m1,
1434:        memory_order __m2) noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1434:         int(__m1), int(__m2));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1434:        memory_order __m1,
1434:        memory_order __m2) volatile noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 1,
1434:         int(__m1), int(__m2));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1434:          memory_order __m1,
1434:          memory_order __m2) noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1434:         int(__m1), int(__m2));
1434:       }
1434: 
1434:       inline __attribute__((__always_inline__)) bool
1434:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1434:          memory_order __m1,
1434:          memory_order __m2) volatile noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__m2))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
1434:         int(__m1), int(__m2));
1434:       }
1434: # 918 "/usr/include/c++/12/bits/atomic_base.h" 3
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       fetch_add(ptrdiff_t __d,
1434:   mem--__n;
1412:    }
1412:       return __out;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _PopulationIterator, typename _SampleIterator,
1412:            typename _Distance, typename _UniformRandomBitGenerator>
1412:     _SampleIterator
1412:     sample(_PopulationIterator __first, _PopulationIterator __last,
1412:     _SampleIterator __out, _Distance __n,
1412:     _UniformRandomBitGenerator&& __g)
1412:     {
1412:       using __pop_cat = typename
1412:  std::iterator_traits<_PopulationIterator>::iterator_category;
1412:       using __samp_cat = typename
1412:  std::iterator_traits<_SampleIterator>::iterator_category;
1412: 
1412:       static_assert(
1412:    __or_<is_convertible<__pop_cat, forward_iterator_tag>,
1412:   is_convertible<__samp_cat, random_access_iterator_tag>>::value,
1412:    "output range must use a RandomAccessIterator when input range"
1412:    " does not meet the ForwardIterator requirements");
1412: 
1412:       static_assert(is_integral<_Distance>::value,
1412:       "sample size must be an integer type");
1412: 
1412:       typename iterator_traits<_PopulationIterator>::difference_type __d = __n;
1412:       return std::
1412:  __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d,
1412:    std::forward<_UniformRandomBitGenerator>(__g));
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 65 "/usr/include/c++/12/functional" 2 3
1412: # 76 "/usr/include/c++/12/functional" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<int _Num> struct _Placeholder { };
1412: # 105 "/usr/include/c++/12/functional" 3
1412:   template<typename _Callable, typename... _Args>
1412:     inline invoke_result_t<_Callable, _Args...>
1412:     invoke(_Callable&& __fn, _Args&&... __args)
1412:     noexcept(is_nothrow_invocable_v<_Callable, _Args...>)
1412:     {
1412:       return std::__invoke(std::forward<_Callable>(__fn),
1412:       std::forward<_Args>(__args)...);
1412:     }
1412: # 138 "/usr/include/c++/12/functional" 3
1412:   template<typename _MemFunPtr,
1412:     bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value>
1412:     class _Mem_fn_base
1412:     : public _Mem_fn_traits<_MemFunPtr>::__maybe_type
1412:     {
1412:       using _Traits = _Mem_fn_traits<_MemFunPtr>;
1412: 
1412:       using _Arity = typename _Traits::__arity;
1412:       using _Varargs = typename _Traits::__vararg;
1412: 
1412:       template<typename _Func, typename... _BoundArgs>
1412:  friend struct _Bind_check_arity;
1412: 
1412:       _MemFunPtr _M_pmf;
1412: 
1412:     public:
1412: 
1412:       using result_type = typename _Traits::__result_type;
1412: 
1412:       explicit constexpr
1412:       _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { }
1412: 
1412:       template<typename... _Args>
1412: 
1412:  auto
1412:  operator()(_Args&&... __args) const
1412:  noexcept(noexcept(
1412:        std::__invoke(_M_pmf, std::forward<_Args>(__args)...)))
1412:  -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...))
1412:  { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); }
1412:     };
1412: 
1412: 
1412:   template<typename _MemObjPtr>
1412:     class _Mem_fn_base<_MemObjPtr, false>
1412:     {
1412:       using _Arity = integral_constant<size_t, 0>;
1412:       using _Varargs = false_type;
1412: 
1412:       template<typename _Func, typename... _BoundArgs>
1412:  friend struct _Bind_check_arity;
1412: 
1412:       _MemObjPtr _M_pm;
1412: 
1412:     public:
1412:       explicit constexpr
1412:       _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { }
1412: 
1412:       template<typename _Tp>
1412: 
1412:  auto
1412:  operator()(_Tp&& __obj) const
1412:  noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj))))
1412:  -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))
1412:  { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); }
1412:     };
1412: 
1412:   template<typename _MemberPointer>
1412:     struct _Mem_fn;
1412: 
1412:   template<typenamory_order __m = memory_order_seq_cst) noexcept
1434:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       fetch_add(ptrdiff_t __d,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       fetch_sub(ptrdiff_t __d,
1434:   memory_order __m = memory_order_seq_cst) noexcept
1434:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1434: 
1434:       inline __attribute__((__always_inline__)) __pointer_type
1434:       fetch_sub(ptrdiff_t __d,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
1434:     };
1434: # 1943 "/usr/include/c++/12/bits/atomic_base.h" 3
1434: 
1434: }
1434: # 34 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 47 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434:   struct _Sp_locker
1434:   {
1434:     _Sp_locker(const _Sp_locker&) = delete;
1434:     _Sp_locker& operator=(const _Sp_locker&) = delete;
1434: 
1434: 
1434:     explicit
1434:     _Sp_locker(const void*) noexcept;
1434:     _Sp_locker(const void*, const void*) noexcept;
1434:     ~_Sp_locker();
1434: 
1434:   private:
1434:     unsigned char _M_key1;
1434:     unsigned char _M_key2;
1434: 
1434: 
1434: 
1434:   };
1434: # 74 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p)
1434:     {
1434: 
1434:       return __gthread_active_p() == 0;
1434: 
1434: 
1434: 
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline bool
1434:     atomic_is_lock_free(const shared_ptr<_Tp>* __p)
1434:     { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); }
1434: # 101 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434:   template<typename _Tp>
1434:     inline shared_ptr<_Tp>
1434:     atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
1434:     {
1434:       _Sp_locker __lock{__p};
1434:       return *__p;
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline shared_ptr<_Tp>
1434:     atomic_load(const shared_ptr<_Tp>* __p)
1434:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order)
1434:     {
1434:       _Sp_locker __lock{__p};
1434:       return *__p;
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     atomic_load(const __shared_ptr<_Tp, _Lp>* __p)
1434:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
1434: # 137 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434:   template<typename _Tp>
1434:     inline void
1434:     atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1434:      memory_order)
1434:     {
1434:       _Sp_locker __lock{__p};
1434:       __p->swap(__r);
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline void
1434:     atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1434:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline void
1434:     atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p,
1434:      __shared_ptr<_Tp, _Lp> __r,
1434:      memory_order)
1434:     {
1434:       _Sp_locker __lock{__p};
1434:       __p->swap(__r);
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline void
1434:     atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1434:     { std::atomic_store_explicit(__p, std::move(__r),os_base::iostate& __err) const;
1417: 
1417: 
1417:       iter_type
1417:       _M_extract_name(iter_type __beg, iter_type __end, int& __member,
1417:         const _CharT** __names, size_t __indexlen,
1417:         ios_base& __io, ios_base::iostate& __err) const;
1417: 
1417: 
1417:       iter_type
1417:       _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
1417:           const _CharT** __names, size_t __indexlen,
1417:           ios_base& __io, ios_base::iostate& __err) const;
1417: 
1417: 
1417:       iter_type
1417:       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1417:        ios_base::iostate& __err, tm* __tm,
1417:        const _CharT* __format) const;
1417: 
1417: 
1417: 
1417:       iter_type
1417:       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1417:        ios_base::iostate& __err, tm* __tm,
1417:        const _CharT* __format,
1417:        __time_get_state &__state) const;
1417:     };
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     locale::id time_get<_CharT, _InIter>::id;
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     class time_get_byname : public time_get<_CharT, _InIter>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _InIter iter_type;
1417: 
1417:       explicit
1417:       time_get_byname(const char*, size_t __refs = 0)
1417:       : time_get<_CharT, _InIter>(__refs) { }
1417: 
1417: 
1417:       explicit
1417:       time_get_byname(const string& __s, size_t __refs = 0)
1417:       : time_get_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~time_get_byname() { }
1417:     };
1417: 
1417: }
1417: # 834 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     class time_put : public locale::facet
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _OutIter iter_type;
1417: 
1417: 
1417: 
1417:       static locale::id id;
1417: # 855 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       time_put(size_t __refs = 0)
1417:       : facet(__refs) { }
1417: # 874 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1417:    const _CharT* __beg, const _CharT* __end) const;
1417: # 894 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       put(iter_type __s, ios_base& __io, char_type __fill,
1417:    const tm* __tm, char __format, char __mod = 0) const
1417:       { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
1417: 
1417:     protected:
1417: 
1417:       virtual
1417:       ~time_put()
1417:       { }
1417: # 921 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1417:       char __format, char __mod) const;
1417:     };
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     locale::id time_put<_CharT, _OutIter>::id;
1417: 
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     class time_put_byname : public time_put<_CharT, _OutIter>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _OutIter iter_type;
1417: 
1417:       explicit
1417:       time_put_byname(const char*, size_t __refs = 0)
1417:       : time_put<_CharT, _OutIter>(__refs)
1417:       { }
1417: 
1417: 
1417:       explicit
1417:       time_put_byname(const string& __s, size_t __refs = 0)
1417:       : time_put_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~time_put_byname() { }
1417:     };
1417: # 966 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   class money_base
1417:   {
1417:   public:
1417:     enum part { none, space, symbol, sign, value };
1417:     struct pattern { cha memory_order_seq_cst); }
1434: # 174 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434:   template<typename _Tp>
1434:     inline shared_ptr<_Tp>
1434:     atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
1434:         memory_order)
1434:     {
1434:       _Sp_locker __lock{__p};
1434:       __p->swap(__r);
1434:       return __r;
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline shared_ptr<_Tp>
1434:     atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
1434:     {
1434:       return std::atomic_exchange_explicit(__p, std::move(__r),
1434:         memory_order_seq_cst);
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p,
1434:         __shared_ptr<_Tp, _Lp> __r,
1434:         memory_order)
1434:     {
1434:       _Sp_locker __lock{__p};
1434:       __p->swap(__r);
1434:       return __r;
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline __shared_ptr<_Tp, _Lp>
1434:     atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
1434:     {
1434:       return std::atomic_exchange_explicit(__p, std::move(__r),
1434:         memory_order_seq_cst);
1434:     }
1434: # 223 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434:   template<typename _Tp>
1434:     bool
1434:     atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p,
1434:          shared_ptr<_Tp>* __v,
1434:          shared_ptr<_Tp> __w,
1434:          memory_order,
1434:          memory_order)
1434:     {
1434:       shared_ptr<_Tp> __x;
1434:       _Sp_locker __lock{__p, __v};
1434:       owner_less<shared_ptr<_Tp>> __less;
1434:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1434:  {
1434:    __x = std::move(*__p);
1434:    *__p = std::move(__w);
1434:    return true;
1434:  }
1434:       __x = std::move(*__v);
1434:       *__v = *__p;
1434:       return false;
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline bool
1434:     atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1434:      shared_ptr<_Tp> __w)
1434:     {
1434:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1434:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline bool
1434:     atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p,
1434:        shared_ptr<_Tp>* __v,
1434:        shared_ptr<_Tp> __w,
1434:        memory_order __success,
1434:        memory_order __failure)
1434:     {
1434:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1434:    std::move(__w), __success, __failure);
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline bool
1434:     atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
1434:      shared_ptr<_Tp> __w)
1434:     {
1434:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1434:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     bool
1434:     atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p,
1434:          __shared_ptr<_Tp, _Lp>* __v,
1434:          __shared_ptr<_Tp, _Lp> __w,
1434:          memory_order,
1434:          memory_order)
1434:     {
1434:       __shared_ptr<_Tp, _Lp> __x;
1434:       _Sp_locker __lock{__p, __v};
1434:       owner_less<__shared_ptr<_Tp, _Lp>> __less;
1434:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
1434:  {
1434:    __x = std::move(*__p);
1434:    *__p = std::move(__w);
1434:    return true;
1434:  }
1434:       __x = std::move(*__v);
1434:       *__v = *__p;
1434:       return false;
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p,
1434:        __shared_ptr<_Tp, _Lp>* __v,
1434:        __shared_ptr<_Tp, _Lp> __w)
1434:     {
1434:       re _Res, typename _Class>
1412:     struct _Mem_fn<_Res _Class::*>
1412:     : _Mem_fn_base<_Res _Class::*>
1412:     {
1412:       using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base;
1412:     };
1412: # 231 "/usr/include/c++/12/functional" 3
1412:   template<typename _Tp, typename _Class>
1412:    
1412:     inline _Mem_fn<_Tp _Class::*>
1412:     mem_fn(_Tp _Class::* __pm) noexcept
1412:     {
1412:       return _Mem_fn<_Tp _Class::*>(__pm);
1412:     }
1412: # 250 "/usr/include/c++/12/functional" 3
1412:   template<typename _Tp>
1412:     struct is_bind_expression
1412:     : public false_type { };
1412: # 262 "/usr/include/c++/12/functional" 3
1412:   template<typename _Tp>
1412:     struct is_placeholder
1412:     : public integral_constant<int, 0>
1412:     { };
1412: 
1412: 
1412:   template <typename _Tp> inline constexpr bool is_bind_expression_v
1412:     = is_bind_expression<_Tp>::value;
1412:   template <typename _Tp> inline constexpr int is_placeholder_v
1412:     = is_placeholder<_Tp>::value;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   namespace placeholders
1412:   {
1412: 
1412: 
1412: 
1412: 
1412:     extern const _Placeholder<1> _1;
1412:     extern const _Placeholder<2> _2;
1412:     extern const _Placeholder<3> _3;
1412:     extern const _Placeholder<4> _4;
1412:     extern const _Placeholder<5> _5;
1412:     extern const _Placeholder<6> _6;
1412:     extern const _Placeholder<7> _7;
1412:     extern const _Placeholder<8> _8;
1412:     extern const _Placeholder<9> _9;
1412:     extern const _Placeholder<10> _10;
1412:     extern const _Placeholder<11> _11;
1412:     extern const _Placeholder<12> _12;
1412:     extern const _Placeholder<13> _13;
1412:     extern const _Placeholder<14> _14;
1412:     extern const _Placeholder<15> _15;
1412:     extern const _Placeholder<16> _16;
1412:     extern const _Placeholder<17> _17;
1412:     extern const _Placeholder<18> _18;
1412:     extern const _Placeholder<19> _19;
1412:     extern const _Placeholder<20> _20;
1412:     extern const _Placeholder<21> _21;
1412:     extern const _Placeholder<22> _22;
1412:     extern const _Placeholder<23> _23;
1412:     extern const _Placeholder<24> _24;
1412:     extern const _Placeholder<25> _25;
1412:     extern const _Placeholder<26> _26;
1412:     extern const _Placeholder<27> _27;
1412:     extern const _Placeholder<28> _28;
1412:     extern const _Placeholder<29> _29;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<int _Num>
1412:     struct is_placeholder<_Placeholder<_Num> >
1412:     : public integral_constant<int, _Num>
1412:     { };
1412: 
1412:   template<int _Num>
1412:     struct is_placeholder<const _Placeholder<_Num> >
1412:     : public integral_constant<int, _Num>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412:   template<std::size_t __i, typename _Tuple>
1412:     using _Safe_tuple_element_t
1412:       = typename enable_if<(__i < tuple_size<_Tuple>::value),
1412:       tuple_element<__i, _Tuple>>::type::type;
1412: # 351 "/usr/include/c++/12/functional" 3
1412:   template<typename _Arg,
1412:     bool _IsBindExp = is_bind_expression<_Arg>::value,
1412:     bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)>
1412:     class _Mu;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     class _Mu<reference_wrapper<_Tp>, false, false>
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _CVRef, typename _Tuple>
1412: 
1412:  _Tp&
1412:  operator()(_CVRef& __arg, _Tuple&) const volatile
1412:  { return __arg.get(); }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Arg>
1412:     class _Mu<_Arg, true, false>
1412:     {
1412:     public:
1412:       template<typename _CVArg, typename... _Args>
1412: 
1412:  auto
1412:  operator()(_CVArg& __arg,
1412:      tuple<_Args...>& __tuple) const volatile
1412:  -> decltype(__arg(declval<_Args>()...))
1412:  {
1412: 
1412:    typedef typename _Build_index_tuple<sizeof...(_Args)>::__type
1412:      _Indexes;
1412:    return teturn std::atomic_compare_exchange_strong_explicit(__p, __v,
1434:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p,
1434:        __shared_ptr<_Tp, _Lp>* __v,
1434:        __shared_ptr<_Tp, _Lp> __w,
1434:        memory_order __success,
1434:        memory_order __failure)
1434:     {
1434:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
1434:    std::move(__w), __success, __failure);
1434:     }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:     inline bool
1434:     atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p,
1434:      __shared_ptr<_Tp, _Lp>* __v,
1434:      __shared_ptr<_Tp, _Lp> __w)
1434:     {
1434:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
1434:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
1434:     }
1434: # 796 "/usr/include/c++/12/bits/shared_ptr_atomic.h" 3
1434: 
1434: }
1434: # 79 "/usr/include/c++/12/memory" 2 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/backward/auto_ptr.h" 1 3
1434: # 36 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 47 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:   template<typename _Tp1>
1434:     struct auto_ptr_ref
1434:     {
1434:       _Tp1* _M_ptr;
1434: 
1434:       explicit
1434:       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: # 88 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:   template<typename _Tp>
1434:     class auto_ptr
1434:     {
1434:     private:
1434:       _Tp* _M_ptr;
1434: 
1434:     public:
1434: 
1434:       typedef _Tp element_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
1434: # 114 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
1434: # 126 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       template<typename _Tp1>
1434:         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
1434: # 137 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       auto_ptr&
1434:       operator=(auto_ptr& __a) throw()
1434:       {
1434:  reset(__a.release());
1434:  return *this;
1434:       }
1434: # 154 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       template<typename _Tp1>
1434:         auto_ptr&
1434:         operator=(auto_ptr<_Tp1>& __a) throw()
1434:         {
1434:    reset(__a.release());
1434:    return *this;
1434:  }
1434: # 172 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       ~auto_ptr() { delete _M_ptr; }
1434: # 182 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       element_type&
1434:       operator*() const throw()
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1434:  return *_M_ptr;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       element_type*
1434:       operator->() const throw()
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(_M_ptr != 0)) __builtin_unreachable(); } while (false);
1434:  return _M_ptr;
1434:       }
1434: # 212 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       element_type*
1434:       get() const throw() { return _M_ptr; }
1434: # 226 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       element_type*
1434:       release() throw()
1434:       {
1434:  element_type* __tmp = _M_ptr;
1434:  _M_ptr = 0;
1434:  return __tmp;
1434:       }
1434: # 241 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       void
1434:       reset(element_type* __p = 0) throw()
1434:       {
1434:  if (__p != _M_ptr)
1434:    {
1434:      delete _M_ptr;
1434:      _M_ptr = __p;
1434:    }
1434:       }
1r field[4]; };
1417: 
1417:     static const pattern _S_default_pattern;
1417: 
1417:     enum
1417:     {
1417:       _S_minus,
1417:       _S_zero,
1417:       _S_end = 11
1417:     };
1417: 
1417: 
1417: 
1417:     static const char* _S_atoms;
1417: 
1417: 
1417: 
1417:     __attribute__ ((__const__)) static pattern
1417:     _S_construct_pattern(char __precedes, char __space, char __posn) throw ();
1417:   };
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     struct __moneypunct_cache : public locale::facet
1417:     {
1417:       const char* _M_grouping;
1417:       size_t _M_grouping_size;
1417:       bool _M_use_grouping;
1417:       _CharT _M_decimal_point;
1417:       _CharT _M_thousands_sep;
1417:       const _CharT* _M_curr_symbol;
1417:       size_t _M_curr_symbol_size;
1417:       const _CharT* _M_positive_sign;
1417:       size_t _M_positive_sign_size;
1417:       const _CharT* _M_negative_sign;
1417:       size_t _M_negative_sign_size;
1417:       int _M_frac_digits;
1417:       money_base::pattern _M_pos_format;
1417:       money_base::pattern _M_neg_format;
1417: 
1417: 
1417: 
1417: 
1417:       _CharT _M_atoms[money_base::_S_end];
1417: 
1417:       bool _M_allocated;
1417: 
1417:       __moneypunct_cache(size_t __refs = 0) : facet(__refs),
1417:       _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false),
1417:       _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
1417:       _M_curr_symbol(0), _M_curr_symbol_size(0),
1417:       _M_positive_sign(0), _M_positive_sign_size(0),
1417:       _M_negative_sign(0), _M_negative_sign_size(0),
1417:       _M_frac_digits(0),
1417:       _M_pos_format(money_base::pattern()),
1417:       _M_neg_format(money_base::pattern()), _M_allocated(false)
1417:       { }
1417: 
1417:       ~__moneypunct_cache();
1417: 
1417:       void
1417:       _M_cache(const locale& __loc);
1417: 
1417:     private:
1417:       __moneypunct_cache&
1417:       operator=(const __moneypunct_cache&);
1417: 
1417:       explicit
1417:       __moneypunct_cache(const __moneypunct_cache&);
1417:     };
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
1417:     {
1417:       if (_M_allocated)
1417:  {
1417:    delete [] _M_grouping;
1417:    delete [] _M_curr_symbol;
1417:    delete [] _M_positive_sign;
1417:    delete [] _M_negative_sign;
1417:  }
1417:     }
1417: 
1417: namespace __cxx11 {
1417: # 1061 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   template<typename _CharT, bool _Intl>
1417:     class moneypunct : public locale::facet, public money_base
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417:       typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1417: 
1417:     private:
1417:       __cache_type* _M_data;
1417: 
1417:     public:
1417: 
1417: 
1417:       static const bool intl = _Intl;
1417: 
1417:       static locale::id id;
1417: # 1090 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       moneypunct(size_t __refs = 0)
1417:       : facet(__refs), _M_data(0)
1417:       { _M_initialize_moneypunct(); }
1417: # 1103 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       moneypunct(__cache_type* __cache, size_t __refs = 0)
1417:       : facet(__refs), _M_data(__cache)
1417:       { _M_initialize_moneypunct(); }
1417: # 1118 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
1417:       : facet(__refs), _M_data(0)
1417:       { _M_initialize_moneypunct(__cloc, __s); }
1417: # 1132 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       char_type
1417:       decimal_point() const
1417:       { return this->do_decimal_point(); }
1417: # 1145 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       char_type
1417:       thousands_sep() const
1417:       { return this->do_thousands_sep(); }
1417: # 117434: # 266 "/usr/include/c++/12/backward/auto_ptr.h" 3
1434:       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
1434:       : _M_ptr(__ref._M_ptr) { }
1434: 
1434:       auto_ptr&
1434:       operator=(auto_ptr_ref<element_type> __ref) throw()
1434:       {
1434:  if (__ref._M_ptr != this->get())
1434:    {
1434:      delete _M_ptr;
1434:      _M_ptr = __ref._M_ptr;
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:       template<typename _Tp1>
1434:         operator auto_ptr_ref<_Tp1>() throw()
1434:         { return auto_ptr_ref<_Tp1>(this->release()); }
1434: 
1434:       template<typename _Tp1>
1434:         operator auto_ptr<_Tp1>() throw()
1434:         { return auto_ptr<_Tp1>(this->release()); }
1434:     } __attribute__ ((__deprecated__ ("use '" "std::unique_ptr" "' instead")));
1434: 
1434: 
1434: 
1434:   template<>
1434:     class auto_ptr<void>
1434:     {
1434:     public:
1434:       typedef void element_type;
1434:     } __attribute__ ((__deprecated__));
1434: 
1434: 
1434:   template<_Lock_policy _Lp>
1434:   template<typename _Tp>
1434:     inline
1434:     __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r)
1434:     : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get()))
1434:     { __r.release(); }
1434: 
1434:   template<typename _Tp, _Lock_policy _Lp>
1434:   template<typename _Tp1, typename>
1434:     inline
1434:     __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r)
1434:     : _M_ptr(__r.get()), _M_refcount()
1434:     {
1434:      
1434:       static_assert( sizeof(_Tp1) > 0, "incomplete type" );
1434:       _Tp1* __tmp = __r.get();
1434:       _M_refcount = __shared_count<_Lp>(std::move(__r));
1434:       _M_enable_shared_from_this_with(__tmp);
1434:     }
1434: 
1434:   template<typename _Tp>
1434:   template<typename _Tp1, typename>
1434:     inline
1434:     shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r)
1434:     : __shared_ptr<_Tp>(std::move(__r)) { }
1434: 
1434:   template<typename _Tp, typename _Dp>
1434:   template<typename _Up, typename>
1434:     inline
1434:     unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept
1434:     : _M_t(__u.release(), deleter_type()) { }
1434: 
1434: 
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: }
1434: # 83 "/usr/include/c++/12/memory" 2 3
1434: # 91 "/usr/include/c++/12/memory" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 109 "/usr/include/c++/12/memory" 3
1434: enum class pointer_safety { relaxed, preferred, strict };
1434: 
1434: 
1434: inline void
1434: declare_reachable(void*) { }
1434: 
1434: 
1434: template <typename _Tp>
1434:   inline _Tp*
1434:   undeclare_reachable(_Tp* __p) { return __p; }
1434: 
1434: 
1434: inline void
1434: declare_no_pointers(char*, size_t) { }
1434: 
1434: 
1434: inline void
1434: undeclare_no_pointers(char*, size_t) { }
1434: 
1434: 
1434: inline pointer_safety
1434: get_pointer_safety() noexcept { return pointer_safety::relaxed; }
1434: 
1434: 
1434: 
1434: }
1434: # 144 "/usr/include/c++/12/memory" 3
1434: # 1 "/usr/include/c++/12/pstl/glue_memory_defs.h" 1 3
1434: # 13 "/usr/include/c++/12/pstl/glue_memory_defs.h" 3
1434: # 1 "/usr/include/c++/12/pstl/execution_defs.h" 1 3
1434: # 15 "/usr/include/c++/12/pstl/execution_defs.h" 3
1434: namespace __pstl
1434: {
1434: namespace execution
1434: {
1434: inline namespace v1
1434: {
1434: 
1434: 
1434: class sequenced_policy
1434: {
1434:   public:
1434: 
1434:     static constexpr std::false_type
1434:     __allow_unsequenced()
1434:     {
1434:         return std::false_type{};
1434:     }
1434:     static constexpr std::false_type
1434:     __allow_vector()
1434:     {
1434:         return std::false_type{};
1434:     }
1434:     static constexpr std::false_type
1434:     __allow_parallel()
1434:     {
1434:         return std::false_type{};
1434:     }
1434: };
1434: 
1434: 
1434: class parallel_policy
1434: {
1434:   public:
1434: 
1434:     static constexpr std::false_type
1434:     __allow_unsequenced()
1434:     {
1434:         return std::false_type{};
1434:     }
1434:     static constexpr std::false_type
1434:     __allow_vector()
1434:     {
1434:         return std::false_type{};
1434:     }
1434:     static constexpr std::true_type
1434:     __allow_parallel()
1434:     {
1434:         return std::true_type{};
1434:     }
1434: };
1434: 
1434: 
1434: class parallel_unsequenced_policy
1434: {
1434:   public:
1434: 
1434:     static constexpr std::true_type
1434:     __allow_unsequenced()
1434:     {
1434:         return std::true_type{};
1434:     }
1434:     static constexpr std::true_type
1434:     __allow_vector()
1434:     {
1434:         return std::true_type{};
1434:     }
1434:     static constexpr std::true_type
1434:     __allow_parallel()
1434:     {
1434:         return std::true_type{};
1434:     }
1434: };
1434: 
1434: class unsequenced_policy
1434: {
1434:   public:
1434: 
1434:     static constexpr std::true_type
1434:     __allow_unsequenced()
1434:     {
1434:         return std::true_type{};
1434:     }
1434:     static constexpr std::true_type
1434:     __allow_vector()
1434:     {
1434:         return std::true_type{};
1434:     }
1434:     static constexpr std::false_type
1434:     __allow_parallel()
1434:     {
1434:         return std::false_type{};
1434:     }
1434: };
1434: 
1434: 
1434: constexpr sequenced_policy seq{};
1434: constexpr parallel_policy par{};
1434: constexpr parallel_unsequenced_policy par_unseq{};
1434: constexpr unsequenced_policy unseq{};
1434: 
1434: 
1434: template <class _Tp>
1434: struct is_execution_policy : std::false_type
1434: {
1434: };
1434: 
1434: template <>
1434: struct is_execution_policy<__pstl::execution::sequenced_policy> : std::true_type
1434: {
1434: };
1434: template <>
1434: struct is_execution_policy<__pstl::execution::parallel_policy> : std::true_type
1434: {
1434: };
1434: template <>
1434: struct is_execution_policy<__pstl::execution::parallel_unsequenced_policy> : std::true_type
1434: {
1434: };
1434: template <>
1434: struct is_execution_policy<__pstl::execution::unsequenced_policy> : std::true_type
1434: {
1434: };
1434: 
1434: 
1434: template <class _Tp>
1434: constexpr bool is_execution_policy_v = __pstl::execution::is_execution_policy<_Tp>::value;
1434: 
1434: 
1434: }
1434: }
1434: 
1434: namespace __internal
1434: {
1434: template <class _ExecPolicy, class _Tp>
1434: 
1434: using __enable_if_execution_policy =
1434:     typename std::enable_if<__pstl::execution::is_execution_policy<std::__remove_cvref_t<_ExecPolicy>>::value,
1434:                             _Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: 
1434: }
1434: # 14 "/usr/include/c++/12/pstl/glue_memory_defs.h" 2 3
1434: 
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: uninitialized_copy(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1434: 
1434: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: uninitialized_copy_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _InputIterator, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: uninitialized_move(_ExecutionPolicy&& __exec, _InputIterator __first, _InputIterator __last, _ForwardIterator __result);
1434: 
1434: template <class _ExecutionPolicy, class _InputIterator, class _Size, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: uninitialized_move_n(_ExecutionPolicy&& __exec, _InputIterator __first, _Size __n, _ForwardIterator __result);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1434: __pstl::__internal::__ehis->__call(__arg, __tuple, _Indexes());
1412:  }
1412: 
1412:     private:
1412: 
1412: 
1412:       template<typename _CVArg, typename... _Args, std::size_t... _Indexes>
1412: 
1412:  auto
1412:  __call(_CVArg& __arg, tuple<_Args...>& __tuple,
1412:         const _Index_tuple<_Indexes...>&) const volatile
1412:  -> decltype(__arg(declval<_Args>()...))
1412:  {
1412:    return __arg(std::get<_Indexes>(std::move(__tuple))...);
1412:  }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Arg>
1412:     class _Mu<_Arg, false, true>
1412:     {
1412:     public:
1412:       template<typename _Tuple>
1412: 
1412:  _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
1412:  operator()(const volatile _Arg&, _Tuple& __tuple) const volatile
1412:  {
1412:    return
1412:      ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple));
1412:  }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Arg>
1412:     class _Mu<_Arg, false, false>
1412:     {
1412:     public:
1412:       template<typename _CVArg, typename _Tuple>
1412: 
1412:  _CVArg&&
1412:  operator()(_CVArg&& __arg, _Tuple&) const volatile
1412:  { return std::forward<_CVArg>(__arg); }
1412:     };
1412: 
1412: 
1412:   template<std::size_t _Ind, typename... _Tp>
1412:     inline auto
1412:     __volget(volatile tuple<_Tp...>& __tuple)
1412:     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
1412:     { return std::get<_Ind>(const_cast<tuple<_Tp...>&>(__tuple)); }
1412: 
1412: 
1412:   template<std::size_t _Ind, typename... _Tp>
1412:     inline auto
1412:     __volget(const volatile tuple<_Tp...>& __tuple)
1412:     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
1412:     { return std::get<_Ind>(const_cast<const tuple<_Tp...>&>(__tuple)); }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Signature>
1412:     class _Bind;
1412: 
1412:    template<typename _Functor, typename... _Bound_args>
1412:     class _Bind<_Functor(_Bound_args...)>
1412:     : public _Weak_result_type<_Functor>
1412:     {
1412:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1412:  _Bound_indexes;
1412: 
1412:       _Functor _M_f;
1412:       tuple<_Bound_args...> _M_bound_args;
1412: 
1412: 
1412:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1412: 
1412:  _Result
1412:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1412:  {
1412:    return std::__invoke(_M_f,
1412:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1412:        );
1412:  }
1412: 
1412: 
1412:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1412: 
1412:  _Result
1412:  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1412:  {
1412:    return std::__invoke(_M_f,
1412:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1412:        );
1412:  }
1412: 
1412: 
1412:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1412:  _Result
1412:  __call_v(tuple<_Args...>&& __args,
1412:    _Index_tuple<_Indexes...>) volatile
1412:  {
1412:    return std::__invoke(_M_f,
1412:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1412:        );
1412:  }
1412: 
1412: 
1412:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1412:  _Result
1412:  __call_c_v(tuple<_Args...>&& __args,
1412:      _Index_tuple<_Indexes...>) const volatile
1412:  {
1412:    return std::__invoke(_M_f,
1412:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1412:        );
1412:  }
1412: 
1412:       template<typename _BoundArg, typename _CallArgs>
1412:  using _Mu_type = decltype(
1412:      _Mu<typename remove_cv<_BoundArg>::type>()(
1412:        std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) );
1412: 
1412:       template<typename _Fn, typename _CallArgs, typename... _BArgs>
1412:  using _Res_type_impl
1412:    = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type;
1412: 
1412:       templa5 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       string
1417:       grouping() const
1417:       { return this->do_grouping(); }
1417: # 1188 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       string_type
1417:       curr_symbol() const
1417:       { return this->do_curr_symbol(); }
1417: # 1205 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       string_type
1417:       positive_sign() const
1417:       { return this->do_positive_sign(); }
1417: # 1222 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       string_type
1417:       negative_sign() const
1417:       { return this->do_negative_sign(); }
1417: # 1238 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       int
1417:       frac_digits() const
1417:       { return this->do_frac_digits(); }
1417: # 1274 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       pattern
1417:       pos_format() const
1417:       { return this->do_pos_format(); }
1417: 
1417:       pattern
1417:       neg_format() const
1417:       { return this->do_neg_format(); }
1417: 
1417: 
1417:     protected:
1417: 
1417:       virtual
1417:       ~moneypunct();
1417: # 1296 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual char_type
1417:       do_decimal_point() const
1417:       { return _M_data->_M_decimal_point; }
1417: # 1308 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual char_type
1417:       do_thousands_sep() const
1417:       { return _M_data->_M_thousands_sep; }
1417: # 1321 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual string
1417:       do_grouping() const
1417:       { return _M_data->_M_grouping; }
1417: # 1334 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual string_type
1417:       do_curr_symbol() const
1417:       { return _M_data->_M_curr_symbol; }
1417: # 1347 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual string_type
1417:       do_positive_sign() const
1417:       { return _M_data->_M_positive_sign; }
1417: # 1360 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual string_type
1417:       do_negative_sign() const
1417:       { return _M_data->_M_negative_sign; }
1417: # 1374 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual int
1417:       do_frac_digits() const
1417:       { return _M_data->_M_frac_digits; }
1417: # 1388 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual pattern
1417:       do_pos_format() const
1417:       { return _M_data->_M_pos_format; }
1417: # 1402 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual pattern
1417:       do_neg_format() const
1417:       { return _M_data->_M_neg_format; }
1417: 
1417: 
1417:        void
1417:        _M_initialize_moneypunct(__c_locale __cloc = 0,
1417:     const char* __name = 0);
1417:     };
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     locale::id moneypunct<_CharT, _Intl>::id;
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     const bool moneypunct<_CharT, _Intl>::intl;
1417: 
1417:   template<>
1417:     moneypunct<char, true>::~moneypunct();
1417: 
1417:   template<>
1417:     moneypunct<char, false>::~moneypunct();
1417: 
1417:   template<>
1417:     void
1417:     moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
1417: 
1417:   template<>
1417:     void
1417:     moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
1417: 
1417: 
1417:   template<>
1417:     moneypunct<wchar_t, true>::~moneypunct();
1417: 
1417:   template<>
1417:     moneypunct<wchar_t, false>::~moneypunct();
1417: 
1417:   template<>
1417:     void
1417:     moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
1417:        const char*);
1417: 
1417:   template<>
1417:     void
1417:     moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
1417:         const char*);
1417: 
1417: 
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     class moneypunct_byname : public moneypunct<_CharT, _nable_if_execution_policy<_ExecutionPolicy, void>
1434: uninitialized_fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: uninitialized_fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, const _Tp& __value);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: destroy_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: uninitialized_default_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: uninitialized_default_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: uninitialized_value_construct(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: uninitialized_value_construct_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n);
1434: 
1434: }
1434: # 145 "/usr/include/c++/12/memory" 2 3
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h" 2
1434: 
1434: 
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1434: class CSetting;
1434: class TiXmlNode;
1434: 
1434: class ISettingCallback
1434: {
1434: public:
1434:   virtual ~ISettingCallback() = default;
1434: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1434:   virtual bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) { return true; }
1434: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1434:   virtual void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) {}
1434: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1434:   virtual void OnSettingAction(const std::shared_ptr<const CSetting>& setting) {}
1434: # 68 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1434:   virtual bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1434:                                const char* oldSettingId,
1434:                                const TiXmlNode* oldSettingNode)
1434:   {
1434:     return false;
1434:   }
1434: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1434:   virtual void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1434:                                         const char* propertyName)
1434:   {
1434:   }
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:        
1434: 
1434: class CJob;
1434: 
1434: # 1 "/usr/lib/gcc/arm-linte<typename _CallArgs>
1412:  using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>;
1412: 
1412:       template<typename _CallArgs>
1412:  using __dependent = typename
1412:    enable_if<bool(tuple_size<_CallArgs>::value+1), _Functor>::type;
1412: 
1412:       template<typename _CallArgs, template<class> class __cv_quals>
1412:  using _Res_type_cv = _Res_type_impl<
1412:    typename __cv_quals<__dependent<_CallArgs>>::type,
1412:    _CallArgs,
1412:    typename __cv_quals<_Bound_args>::type...>;
1412: 
1412:      public:
1412:       template<typename... _Args>
1412:  explicit
1412:  _Bind(const _Functor& __f, _Args&&... __args)
1412:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1412:  { }
1412: 
1412:       template<typename... _Args>
1412:  explicit
1412:  _Bind(_Functor&& __f, _Args&&... __args)
1412:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1412:  { }
1412: 
1412:       _Bind(const _Bind&) = default;
1412:       _Bind(_Bind&&) = default;
1412: 
1412: 
1412:       template<typename... _Args,
1412:         typename _Result = _Res_type<tuple<_Args...>>>
1412: 
1412:  _Result
1412:  operator()(_Args&&... __args)
1412:  {
1412:    return this->__call<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412: 
1412: 
1412:       template<typename... _Args,
1412:         typename _Result = _Res_type_cv<tuple<_Args...>, add_const>>
1412: 
1412:  _Result
1412:  operator()(_Args&&... __args) const
1412:  {
1412:    return this->__call_c<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412: # 591 "/usr/include/c++/12/functional" 3
1412:       template<typename... _Args,
1412:         typename _Result = _Res_type_cv<tuple<_Args...>, add_volatile>>
1412:  [[deprecated("std::bind does not support volatile in C++17")]]
1412:  _Result
1412:  operator()(_Args&&... __args) volatile
1412:  {
1412:    return this->__call_v<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412: 
1412: 
1412:       template<typename... _Args,
1412:         typename _Result = _Res_type_cv<tuple<_Args...>, add_cv>>
1412:  [[deprecated("std::bind does not support volatile in C++17")]]
1412:  _Result
1412:  operator()(_Args&&... __args) const volatile
1412:  {
1412:    return this->__call_c_v<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412:     };
1412: 
1412: 
1412:   template<typename _Result, typename _Signature>
1412:     class _Bind_result;
1412: 
1412:   template<typename _Result, typename _Functor, typename... _Bound_args>
1412:     class _Bind_result<_Result, _Functor(_Bound_args...)>
1412:     {
1412:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1412:  _Bound_indexes;
1412: 
1412:       _Functor _M_f;
1412:       tuple<_Bound_args...> _M_bound_args;
1412: 
1412: 
1412:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1412: 
1412:  _Res
1412:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1412:  {
1412:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1412:         (std::get<_Indexes>(_M_bound_args), __args)...);
1412:  }
1412: 
1412: 
1412:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1412: 
1412:  _Res
1412:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1412:  {
1412:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1412:         (std::get<_Indexes>(_M_bound_args), __args)...);
1412:  }
1412: 
1412: 
1412:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1412: 
1412:  _Res
1412:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
1412:  {
1412:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1412:         (__volget<_Indexes>(_M_bound_args), __args)...);
1412:  }
1412: 
1412: 
1412:       template<typename _Res, typename... _Args,ux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 2
1434: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434: class IJobCallback
1434: {
1434: public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual ~IJobCallback() = default;
1434: # 53 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:   virtual void OnJobComplete(unsigned int jobID, bool success, CJob *job)=0;
1434: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:   virtual void OnJobAbort(unsigned int jobID, CJob* job) {}
1434: # 80 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:   virtual void OnJobProgress(unsigned int jobID,
1434:                              unsigned int progress,
1434:                              unsigned int total,
1434:                              const CJob* job)
1434:   {
1434:   }
1434: };
1434: 
1434: class CJobManager;
1434: # 109 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434: class CJob
1434: {
1434: public:
1434: 
1434: 
1434: 
1434: 
1434:   enum PRIORITY {
1434:     PRIORITY_LOW_PAUSABLE = 0,
1434:     PRIORITY_LOW,
1434:     PRIORITY_NORMAL,
1434:     PRIORITY_HIGH,
1434:     PRIORITY_DEDICATED,
1434:   };
1434:   CJob() { m_callback = 
1434: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h" 3 4
1434:                        __null
1434: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:                            ; }
1434: # 134 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:   virtual ~CJob() = default;
1434: # 144 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:   virtual bool DoWork() = 0;
1434: # 156 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:   virtual const char* GetType() const { return ""; }
1434: 
1434:   virtual bool operator==(const CJob* job) const
1434:   {
1434:     return false;
1434:   }
1434: # 175 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Job.h"
1434:   virtual bool ShouldCancel(unsigned int progress, unsigned int total) const;
1434: private:
1434:   friend class CJobManager;
1434:   CJobManager *m_callback;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h" 2
1434: 
1434: # 1 "/usr/include/c++/12/string" 1 3
1434: # 36 "/usr/include/c++/12/string" 3
1434:        
1434: # 37 "/usr/include/c++/12/string" 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/char_traits.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/char_traits.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/char_traits.h" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/cwchar" 1 3
1434: # 39 "/usr/include/c++/12/cwchar" 3
1434:        
1434: # 40 "/usr/include/c++/12/cwchar" 3
1434: # 41 "/usr/include/c++/12/bits/char_traits.h" 2 3
1434: # 53 "/usr/include/c++/12/bits/char_traits.h" 3
1434: 
1434: # 53 "/usr/include/c++/12/bits/char_traits.h" 3
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wstringop-overflow"
1434: #pragma GCC diagnostic ignored "-Wstringop-overread"
1434: #pragma GCC diagnostic ignored "-Warray-bounds"
1434: # 72 "/usr/include/c++/12/bits/char_traits.h" 3
1434:   template<typename _CharT>
1434:     struct _Char_types
1434:     {
1434:       typedef unsigned long int_type;
1434:       typedef std::streampos pos_type;
1434:       typedef std::streamoff off_type;
1434:       typedef std::mbstate_t state_type;
1434:     };
1434: # 97 "/usr/include/c++/12/bits/char_traits.h" 3
1434:   template<typename _CharT>
1434:     struct char_traits
1434:     {
1434:       typedef _CharT char_type;
1434:       typedef typename _Char_types<_CharT>::int_type int_type;
1434:       typedef typename _Char_types<_CharT>::pos_type pos_type;
1434:       typedef typename _Char_types<_CharT>::off_type off_type;
1434:       typedef typename _Char_types<_CharT>::state_type state_type;
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr void
1434:       assign(char_type& __c1, const char_type& __c2)
1434:       {
1434: 
1434:Intl>
1417:     {
1417:     public:
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417:       static const bool intl = _Intl;
1417: 
1417:       explicit
1417:       moneypunct_byname(const char* __s, size_t __refs = 0)
1417:       : moneypunct<_CharT, _Intl>(__refs)
1417:       {
1417:  if (__builtin_strcmp(__s, "C") != 0
1417:      && __builtin_strcmp(__s, "POSIX") != 0)
1417:    {
1417:      __c_locale __tmp;
1417:      this->_S_create_c_locale(__tmp, __s);
1417:      this->_M_initialize_moneypunct(__tmp);
1417:      this->_S_destroy_c_locale(__tmp);
1417:    }
1417:       }
1417: 
1417: 
1417:       explicit
1417:       moneypunct_byname(const string& __s, size_t __refs = 0)
1417:       : moneypunct_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~moneypunct_byname() { }
1417:     };
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     const bool moneypunct_byname<_CharT, _Intl>::intl;
1417: 
1417: }
1417: 
1417: namespace __cxx11 {
1417: # 1505 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   template<typename _CharT, typename _InIter>
1417:     class money_get : public locale::facet
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _InIter iter_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417: 
1417: 
1417:       static locale::id id;
1417: # 1527 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       money_get(size_t __refs = 0) : facet(__refs) { }
1417: # 1557 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1417:    ios_base::iostate& __err, long double& __units) const
1417:       { return this->do_get(__s, __end, __intl, __io, __err, __units); }
1417: # 1588 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1417:    ios_base::iostate& __err, string_type& __digits) const
1417:       { return this->do_get(__s, __end, __intl, __io, __err, __digits); }
1417: 
1417:     protected:
1417: 
1417:       virtual
1417:       ~money_get() { }
1417: # 1612 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1417:       ios_base::iostate& __err, long double& __units) const;
1417: # 1624 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1417:       ios_base::iostate& __err, string_type& __digits) const;
1417: # 1644 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       template<bool _Intl>
1417:         iter_type
1417:         _M_extract(iter_type __s, iter_type __end, ios_base& __io,
1417:      ios_base::iostate& __err, string& __digits) const;
1417:     };
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     locale::id money_get<_CharT, _InIter>::id;
1417: # 1666 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     class money_put : public locale::facet
1417:     {
1417:     public:
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _OutIter iter_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417: 
1417: 
1417:       static locale::id id;
1417: # 1687 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       money_put(size_t __refs = 0) : facet(__refs) { }
1417: # 1707 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       put(iter_type __s, bool __intl, ios_base& __io,
1417:    char_type __fill, long double __units) const
1417:       { return this->do_put(__s, __intl, __io, __fill, __units); }
1417: # 1730 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       iter_type
1417:       put(iter_ 
1434: 
1434: 
1434: 
1434:  __c1 = __c2;
1434:       }
1434: 
1434:       static constexpr bool
1434:       eq(const char_type& __c1, const char_type& __c2)
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr bool
1434:       lt(const char_type& __c1, const char_type& __c2)
1434:       { return __c1 < __c2; }
1434: 
1434:       static constexpr int
1434:       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
1434: 
1434:       static constexpr std::size_t
1434:       length(const char_type* __s);
1434: 
1434:       static constexpr const char_type*
1434:       find(const char_type* __s, std::size_t __n, const char_type& __a);
1434: 
1434:       static char_type*
1434:       move(char_type* __s1, const char_type* __s2, std::size_t __n);
1434: 
1434:       static char_type*
1434:       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
1434: 
1434:       static char_type*
1434:       assign(char_type* __s, std::size_t __n, char_type __a);
1434: 
1434:       static constexpr char_type
1434:       to_char_type(const int_type& __c)
1434:       { return static_cast<char_type>(__c); }
1434: 
1434:       static constexpr int_type
1434:       to_int_type(const char_type& __c)
1434:       { return static_cast<int_type>(__c); }
1434: 
1434:       static constexpr bool
1434:       eq_int_type(const int_type& __c1, const int_type& __c2)
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr int_type
1434:       eof()
1434:       { return static_cast<int_type>(-1); }
1434: 
1434:       static constexpr int_type
1434:       not_eof(const int_type& __c)
1434:       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     constexpr int
1434:     char_traits<_CharT>::
1434:     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
1434:     {
1434:       for (std::size_t __i = 0; __i < __n; ++__i)
1434:  if (lt(__s1[__i], __s2[__i]))
1434:    return -1;
1434:  else if (lt(__s2[__i], __s1[__i]))
1434:    return 1;
1434:       return 0;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     constexpr std::size_t
1434:     char_traits<_CharT>::
1434:     length(const char_type* __p)
1434:     {
1434:       std::size_t __i = 0;
1434:       while (!eq(__p[__i], char_type()))
1434:         ++__i;
1434:       return __i;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     constexpr const typename char_traits<_CharT>::char_type*
1434:     char_traits<_CharT>::
1434:     find(const char_type* __s, std::size_t __n, const char_type& __a)
1434:     {
1434:       for (std::size_t __i = 0; __i < __n; ++__i)
1434:         if (eq(__s[__i], __a))
1434:           return __s + __i;
1434:       return 0;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:    
1434:     typename char_traits<_CharT>::char_type*
1434:     char_traits<_CharT>::
1434:     move(char_type* __s1, const char_type* __s2, std::size_t __n)
1434:     {
1434:       if (__n == 0)
1434:  return __s1;
1434: # 248 "/usr/include/c++/12/bits/char_traits.h" 3
1434:       __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
1434:       return __s1;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:    
1434:     typename char_traits<_CharT>::char_type*
1434:     char_traits<_CharT>::
1434:     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
1434:     {
1434: # 267 "/usr/include/c++/12/bits/char_traits.h" 3
1434:       __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
1434:       return __s1;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:    
1434:     typename char_traits<_CharT>::char_type*
1434:     char_traits<_CharT>::
1434:     assign(char_type* __s, std::size_t __n, char_type __a)
1434:     {
1434: # 286 "/usr/include/c++/12/bits/char_traits.h" 3
1434:       if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
1434:  {
1434:    unsigned char __c;
1434:    __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
1434:    __builtin_memset(__s, __c, __n);
1434:  }
1434:       else
1434:  {
1434:    for (std::size_t __i = 0; __i < __n; ++__i)
1434:      __s[__i] = __a;
1434:  }
1434:       return __s;
1434:     }
1434: 
1434: 
1434: }
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 328 "/usr/include/c++/12/bits/char_traits.h" 3
1434:   template<typename _CharT>
1434:     struct char_traits : public __gnu_cxx::char_traits<_CharT>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct char_traits<char>
1434:     {
1434:       typedef char char_type;
1434:       typedef int int_type;
1434:       typedef streampos pos_type;
1434:       typedef streamoff off_type;
1434:       typedef mbstate_t state_type;
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr void
1434:       assign(char_type& __c1, const char_type& __c2) noexcept
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  __c1 = __c2;
1434:       }
1434: 
1434:       static constexpr bool
1434:       eq(const char_type& __c1, const char_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr bool
1434:       lt(const char_type& __c1, const char_type& __c2) noexcept
1434:       {
1434: 
1434:  return (static_cast<unsigned char>(__c1)
1434:   < static_cast<unsigned char>(__c2));
1434:       }
1434: 
1434:       static constexpr int
1434:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return 0;
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    {
1434:      for (size_t __i = 0; __i < __n; ++__i)
1434:        if (lt(__s1[__i], __s2[__i]))
1434:   return -1;
1434:        else if (lt(__s2[__i], __s1[__i]))
1434:   return 1;
1434:      return 0;
1434:    }
1434: 
1434:  return __builtin_memcmp(__s1, __s2, __n);
1434:       }
1434: 
1434:       static constexpr size_t
1434:       length(const char_type* __s)
1434:       {
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __gnu_cxx::char_traits<char_type>::length(__s);
1434: 
1434:  return __builtin_strlen(__s);
1434:       }
1434: 
1434:       static constexpr const char_type*
1434:       find(const char_type* __s, size_t __n, const char_type& __a)
1434:       {
1434:  if (__n == 0)
1434:    return 0;
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1434: 
1434:  return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
1434:       }
1434: 
1434:       static char_type*
1434:       move(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
1434:       }
1434: 
1434:       static char_type*
1434:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
1434:       }
1434: 
1434:       static char_type*
1434:       assign(char_type* __s, size_t __n, char_type __a)
1434:       {
1434:  if (__n == 0)
1434:    return __s;
1434: 
1434: 
1434: 
1434: 
1434:  return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
1434:       }
1434: 
1434:       static constexpr char_type
1434:       to_char_type(const int_type& __c) noexcept
1434:       { return static_cast<char_type>(__c); }
1434: 
1434: 
1434: 
1434:       static constexpr int_type
1434:       to_int_type(const char_type& __c) noexcept
1434:       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
1434: 
1434:       static constexpr bool
1434:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr int_type
1434:       eof() noexcept
1434:       { return static_cast<int_type>(-1); }
1434: 
1434:       static constexpr int_type
1434:       not_eof(const int_type& __c) noexcept
1434:       { return (__c == eof()) ? 0 : __c;  std::size_t... _Indexes>
1412: 
1412:  _Res
1412:  __call(tuple<_Args...>&& __args,
1412:         _Index_tuple<_Indexes...>) const volatile
1412:  {
1412:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1412:         (__volget<_Indexes>(_M_bound_args), __args)...);
1412:  }
1412: 
1412:     public:
1412:       typedef _Result result_type;
1412: 
1412:       template<typename... _Args>
1412:  explicit
1412:  _Bind_result(const _Functor& __f, _Args&&... __args)
1412:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1412:  { }
1412: 
1412:       template<typename... _Args>
1412:  explicit
1412:  _Bind_result(_Functor&& __f, _Args&&... __args)
1412:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1412:  { }
1412: 
1412:       _Bind_result(const _Bind_result&) = default;
1412:       _Bind_result(_Bind_result&&) = default;
1412: 
1412: 
1412:       template<typename... _Args>
1412: 
1412:  result_type
1412:  operator()(_Args&&... __args)
1412:  {
1412:    return this->__call<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412: 
1412: 
1412:       template<typename... _Args>
1412: 
1412:  result_type
1412:  operator()(_Args&&... __args) const
1412:  {
1412:    return this->__call<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412: 
1412: 
1412:       template<typename... _Args>
1412:  [[deprecated("std::bind does not support volatile in C++17")]]
1412:  result_type
1412:  operator()(_Args&&... __args) volatile
1412:  {
1412:    return this->__call<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412: 
1412: 
1412:       template<typename... _Args>
1412:  [[deprecated("std::bind does not support volatile in C++17")]]
1412:  result_type
1412:  operator()(_Args&&... __args) const volatile
1412:  {
1412:    return this->__call<_Result>(
1412:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1412:        _Bound_indexes());
1412:  }
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Signature>
1412:     struct is_bind_expression<_Bind<_Signature> >
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Signature>
1412:     struct is_bind_expression<const _Bind<_Signature> >
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Signature>
1412:     struct is_bind_expression<volatile _Bind<_Signature> >
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Signature>
1412:     struct is_bind_expression<const volatile _Bind<_Signature>>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Result, typename _Signature>
1412:     struct is_bind_expression<_Bind_result<_Result, _Signature>>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Result, typename _Signature>
1412:     struct is_bind_expression<const _Bind_result<_Result, _Signature>>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Result, typename _Signature>
1412:     struct is_bind_expression<volatile _Bind_result<_Result, _Signature>>
1412:     : public true_type { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Result, typename _Signature>
1412:     struct is_bind_expression<const volatile _Bind_result<_Result, _Signature>>
1412:     : public true_type { };
1412: 
1412:   template<typename _Func, typename... _BoundArgs>
1412:     struct _Bind_check_arity { };
1412: 
1412:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
1412:     struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...>
1412:     {
1412:       static_assert(sizeof...(_BoundArgs) == sizeof...(_Args),
1412:                    "Wrong number of arguments for function");
1412:     };
1412: 
1412:   template<typename _Ret,}
1434:   };
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct char_traits<wchar_t>
1434:     {
1434:       typedef wchar_t char_type;
1434:       typedef wint_t int_type;
1434:       typedef streamoff off_type;
1434:       typedef wstreampos pos_type;
1434:       typedef mbstate_t state_type;
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr void
1434:       assign(char_type& __c1, const char_type& __c2) noexcept
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  __c1 = __c2;
1434:       }
1434: 
1434:       static constexpr bool
1434:       eq(const char_type& __c1, const char_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr bool
1434:       lt(const char_type& __c1, const char_type& __c2) noexcept
1434:       { return __c1 < __c2; }
1434: 
1434:       static constexpr int
1434:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return 0;
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
1434: 
1434:  return wmemcmp(__s1, __s2, __n);
1434:       }
1434: 
1434:       static constexpr size_t
1434:       length(const char_type* __s)
1434:       {
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __gnu_cxx::char_traits<char_type>::length(__s);
1434: 
1434:  return wcslen(__s);
1434:       }
1434: 
1434:       static constexpr const char_type*
1434:       find(const char_type* __s, size_t __n, const char_type& __a)
1434:       {
1434:  if (__n == 0)
1434:    return 0;
1434: 
1434:  if (std::__is_constant_evaluated())
1434:    return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
1434: 
1434:  return wmemchr(__s, __a, __n);
1434:       }
1434: 
1434:       static char_type*
1434:       move(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return wmemmove(__s1, __s2, __n);
1434:       }
1434: 
1434:       static char_type*
1434:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return wmemcpy(__s1, __s2, __n);
1434:       }
1434: 
1434:       static char_type*
1434:       assign(char_type* __s, size_t __n, char_type __a)
1434:       {
1434:  if (__n == 0)
1434:    return __s;
1434: 
1434: 
1434: 
1434: 
1434:  return wmemset(__s, __a, __n);
1434:       }
1434: 
1434:       static constexpr char_type
1434:       to_char_type(const int_type& __c) noexcept
1434:       { return char_type(__c); }
1434: 
1434:       static constexpr int_type
1434:       to_int_type(const char_type& __c) noexcept
1434:       { return int_type(__c); }
1434: 
1434:       static constexpr bool
1434:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr int_type
1434:       eof() noexcept
1434:       { return static_cast<int_type>((0xffffffffu)); }
1434: 
1434:       static constexpr int_type
1434:       not_eof(const int_type& __c) noexcept
1434:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1434:   };
1434: # 726 "/usr/include/c++/12/bits/char_traits.h" 3
1434: 
1434: }
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/cstdint" 1 3
1434: # 32 "/usr/include/c++/12/cstdint" 3
1434:        
1434: # 33 "/usr/include/c++/12/cstdint" 3
1434: # 44 "/usr/include/c++/12/cstdint" 3
1434: namespace std
1434: {
1434: 
1434:   using ::int8_t;
1434:   using ::int16_t;
1434:   using ::int32_t;
1434:   using ::int64_t;
1434: 
1434:   using ::int_fast8_t;
1434:   using ::int_fast16_t;
1434:   using ::int_fast32_t;
1434:   using ::int_fast64_t;
1434: 
1434:   using ::int_least8_t;
1434:   using ::int_least16_t;
1434:   using ::int_least32_t;
1434:   using ::int_least64_t;
1434: 
1434:   using ::intmax_t;
1434:   using ::intptr_t;
1434: 
1434:   using ::uint8_t;
1434:   using ::uint16_t;
1434:   using ::uint32_t;
1434:   using ::uint64_t;
1434:type __s, bool __intl, ios_base& __io,
1417:    char_type __fill, const string_type& __digits) const
1417:       { return this->do_put(__s, __intl, __io, __fill, __digits); }
1417: 
1417:     protected:
1417: 
1417:       virtual
1417:       ~money_put() { }
1417: # 1765 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1417:       long double __units) const;
1417: # 1789 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual iter_type
1417:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1417:       const string_type& __digits) const;
1417: # 1809 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       template<bool _Intl>
1417:         iter_type
1417:         _M_insert(iter_type __s, ios_base& __io, char_type __fill,
1417:     const string_type& __digits) const;
1417:     };
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     locale::id money_put<_CharT, _OutIter>::id;
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct messages_base
1417:   {
1417:     typedef int catalog;
1417:   };
1417: 
1417: namespace __cxx11 {
1417: # 1852 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:   template<typename _CharT>
1417:     class messages : public locale::facet, public messages_base
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417: 
1417:     protected:
1417: 
1417: 
1417:       __c_locale _M_c_locale_messages;
1417:       const char* _M_name_messages;
1417: 
1417:     public:
1417: 
1417:       static locale::id id;
1417: # 1880 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       messages(size_t __refs = 0);
1417: # 1894 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       explicit
1417:       messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
1417: # 1907 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       catalog
1417:       open(const basic_string<char>& __s, const locale& __loc) const
1417:       { return this->do_open(__s, __loc); }
1417: # 1925 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       catalog
1417:       open(const basic_string<char>&, const locale&, const char*) const;
1417: # 1943 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       string_type
1417:       get(catalog __c, int __set, int __msgid, const string_type& __s) const
1417:       { return this->do_get(__c, __set, __msgid, __s); }
1417: # 1954 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       void
1417:       close(catalog __c) const
1417:       { return this->do_close(__c); }
1417: 
1417:     protected:
1417: 
1417:       virtual
1417:       ~messages();
1417: # 1974 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual catalog
1417:       do_open(const basic_string<char>&, const locale&) const;
1417: # 1993 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1417:       virtual string_type
1417:       do_get(catalog, int, int, const string_type& __dfault) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       virtual void
1417:       do_close(catalog) const;
1417: 
1417: 
1417:       char*
1417:       _M_convert_to_char(const string_type& __msg) const
1417:       {
1417: 
1417:  return reinterpret_cast<char*>(const_cast<_CharT*>(__msg.c_str()));
1417:       }
1417: 
1417: 
1417:       string_type
1417:       _M_convert_from_char(char*) const
1417:       {
1417: 
1417:  return string_type();
1417:       }
1417:      };
1417: 
1417:   template<typename _CharT>
1417:     locale::id messages<_CharT>::id;
1417: 
1417: 
1417:   template<>
1417:     string
1417:     messages<char>::do_get(catalog, int, int, const string&) const;
1417: 
1417: 
1417:   template<>
1417:     wstring
1417:     messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
1417: 
1417: 
1417: 
1417:    template<typename _CharT>
1417:     class messages typename... _Args, typename... _BoundArgs>
1412:     struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...>
1412:     {
1412:       static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args),
1412:                    "Wrong number of arguments for function");
1412:     };
1412: 
1412:   template<typename _Tp, typename _Class, typename... _BoundArgs>
1412:     struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...>
1412:     {
1412:       using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity;
1412:       using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs;
1412:       static_assert(_Varargs::value
1412:       ? sizeof...(_BoundArgs) >= _Arity::value + 1
1412:       : sizeof...(_BoundArgs) == _Arity::value + 1,
1412:       "Wrong number of arguments for pointer-to-member");
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
1412:     using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
1412: 
1412:   template<bool _SocketLike, typename _Func, typename... _BoundArgs>
1412:     struct _Bind_helper
1412:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1412:     {
1412:       typedef typename decay<_Func>::type __func_type;
1412:       typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Func, typename... _BoundArgs>
1412:     struct _Bind_helper<true, _Func, _BoundArgs...>
1412:     { };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Func, typename... _BoundArgs>
1412:     inline typename
1412:     _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type
1412:     bind(_Func&& __f, _BoundArgs&&... __args)
1412:     {
1412:       typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type;
1412:       return typename __helper_type::type(std::forward<_Func>(__f),
1412:        std::forward<_BoundArgs>(__args)...);
1412:     }
1412: 
1412:   template<typename _Result, typename _Func, typename... _BoundArgs>
1412:     struct _Bindres_helper
1412:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1412:     {
1412:       typedef typename decay<_Func>::type __functor_type;
1412:       typedef _Bind_result<_Result,
1412:       __functor_type(typename decay<_BoundArgs>::type...)>
1412:  type;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Result, typename _Func, typename... _BoundArgs>
1412:     inline
1412:     typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type
1412:     bind(_Func&& __f, _BoundArgs&&... __args)
1412:     {
1412:       typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type;
1412:       return typename __helper_type::type(std::forward<_Func>(__f),
1412:        std::forward<_BoundArgs>(__args)...);
1412:     }
1412: # 997 "/usr/include/c++/12/functional" 3
1412:   template<typename _Fn>
1412:     class _Not_fn
1412:     {
1412:       template<typename _Fn2, typename... _Args>
1412:  using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type;
1412: 
1412:       template<typename _Tp>
1412:  static decltype(!std::declval<_Tp>())
1412:  _S_not() noexcept(noexcept(!std::declval<_Tp>()));
1412: 
1412:     public:
1412:       template<typename _Fn2>
1412:  constexpr
1412:  _Not_fn(_Fn2&& __fn, int)
1412:  : _M_fn(std::forward<_Fn2>(__fn)) { }
1412: 
1412:       _Not_fn(const _Not_fn& __fn) = default;
1412:       _Not_fn(_Not_fn&& __fn) = default;
1412:       ~_Not_fn() = default;
1412: # 1031 "/usr/include/c++/12/functional" 3
1412:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(__is_nothrow_invocable<_Fn &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); }
1412:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(__is_nothrow_invocable<_Fn const 
1434:   using ::uint_fast8_t;
1434:   using ::uint_fast16_t;
1434:   using ::uint_fast32_t;
1434:   using ::uint_fast64_t;
1434: 
1434:   using ::uint_least8_t;
1434:   using ::uint_least16_t;
1434:   using ::uint_least32_t;
1434:   using ::uint_least64_t;
1434: 
1434:   using ::uintmax_t;
1434:   using ::uintptr_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 732 "/usr/include/c++/12/bits/char_traits.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<>
1434:     struct char_traits<char16_t>
1434:     {
1434:       typedef char16_t char_type;
1434: 
1434:       typedef uint_least16_t int_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef streamoff off_type;
1434:       typedef u16streampos pos_type;
1434:       typedef mbstate_t state_type;
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr void
1434:       assign(char_type& __c1, const char_type& __c2) noexcept
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  __c1 = __c2;
1434:       }
1434: 
1434:       static constexpr bool
1434:       eq(const char_type& __c1, const char_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr bool
1434:       lt(const char_type& __c1, const char_type& __c2) noexcept
1434:       { return __c1 < __c2; }
1434: 
1434:       static constexpr int
1434:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  for (size_t __i = 0; __i < __n; ++__i)
1434:    if (lt(__s1[__i], __s2[__i]))
1434:      return -1;
1434:    else if (lt(__s2[__i], __s1[__i]))
1434:      return 1;
1434:  return 0;
1434:       }
1434: 
1434:       static constexpr size_t
1434:       length(const char_type* __s)
1434:       {
1434:  size_t __i = 0;
1434:  while (!eq(__s[__i], char_type()))
1434:    ++__i;
1434:  return __i;
1434:       }
1434: 
1434:       static constexpr const char_type*
1434:       find(const char_type* __s, size_t __n, const char_type& __a)
1434:       {
1434:  for (size_t __i = 0; __i < __n; ++__i)
1434:    if (eq(__s[__i], __a))
1434:      return __s + __i;
1434:  return 0;
1434:       }
1434: 
1434:       static char_type*
1434:       move(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return (static_cast<char_type*>
1434:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1434:       }
1434: 
1434:       static char_type*
1434:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return (static_cast<char_type*>
1434:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1434:       }
1434: 
1434:       static char_type*
1434:       assign(char_type* __s, size_t __n, char_type __a)
1434:       {
1434:  for (size_t __i = 0; __i < __n; ++__i)
1434:    assign(__s[__i], __a);
1434:  return __s;
1434:       }
1434: 
1434:       static constexpr char_type
1434:       to_char_type(const int_type& __c) noexcept
1434:       { return char_type(__c); }
1434: 
1434:       static constexpr int_type
1434:       to_int_type(const char_type& __c) noexcept
1434:       { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
1434: 
1434:       static constexpr bool
1434:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr int_type
1434:       eof() noexcept
1434:       { return static_cast<int_type>(-1); }
1434: 
1434:       static constexpr int_type
1434:       not_eof(const int_type& __c) noexcept
1434:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1434:     };
1434: 
1434:   template<>
1434:     struct char_traits<char32_t>
1434:     {
1434:       typedef char32_t char_type;
1434: 
1434:       typedef uint_least32_t int_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef streamoff off_type;
1434:       typedef u32streampos pos_type;
1434:       typedef mbstate_t state_type;
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr void
1434:       assign(char_type& __c1, const char_type& __c2) noexcept
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  __c1 = __c2;
1434:       }
1434: 
1434:       static constexpr bool
1434:       eq(const char_type& __c1, const char_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr bool
1434:       lt(const char_type& __c1, const char_type& __c2) noexcept
1434:       { return __c1 < __c2; }
1434: 
1434:       static constexpr int
1434:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  for (size_t __i = 0; __i < __n; ++__i)
1434:    if (lt(__s1[__i], __s2[__i]))
1434:      return -1;
1434:    else if (lt(__s2[__i], __s1[__i]))
1434:      return 1;
1434:  return 0;
1434:       }
1434: 
1434:       static constexpr size_t
1434:       length(const char_type* __s)
1434:       {
1434:  size_t __i = 0;
1434:  while (!eq(__s[__i], char_type()))
1434:    ++__i;
1434:  return __i;
1434:       }
1434: 
1434:       static constexpr const char_type*
1434:       find(const char_type* __s, size_t __n, const char_type& __a)
1434:       {
1434:  for (size_t __i = 0; __i < __n; ++__i)
1434:    if (eq(__s[__i], __a))
1434:      return __s + __i;
1434:  return 0;
1434:       }
1434: 
1434:       static char_type*
1434:       move(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return (static_cast<char_type*>
1434:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
1434:       }
1434: 
1434:       static char_type*
1434:       copy(char_type* __s1, const char_type* __s2, size_t __n)
1434:       {
1434:  if (__n == 0)
1434:    return __s1;
1434: 
1434: 
1434: 
1434: 
1434:  return (static_cast<char_type*>
1434:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
1434:       }
1434: 
1434:       static char_type*
1434:       assign(char_type* __s, size_t __n, char_type __a)
1434:       {
1434:  for (size_t __i = 0; __i < __n; ++__i)
1434:    assign(__s[__i], __a);
1434:  return __s;
1434:       }
1434: 
1434:       static constexpr char_type
1434:       to_char_type(const int_type& __c) noexcept
1434:       { return char_type(__c); }
1434: 
1434:       static constexpr int_type
1434:       to_int_type(const char_type& __c) noexcept
1434:       { return int_type(__c); }
1434: 
1434:       static constexpr bool
1434:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
1434:       { return __c1 == __c2; }
1434: 
1434:       static constexpr int_type
1434:       eof() noexcept
1434:       { return static_cast<int_type>(-1); }
1434: 
1434:       static constexpr int_type
1434:       not_eof(const int_type& __c) noexcept
1434:       { return eq_int_type(__c, eof()) ? 0 : __c; }
1434:     };
1434: # 998 "/usr/include/c++/12/bits/char_traits.h" 3
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: }
1434: # 41 "/usr/include/c++/12/string" 2 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/localefwd.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/localefwd.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/localefwd.h" 3
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 1 3
1434: # 39 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1434:        
1434: # 40 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/clocale" 1 3
1434: # 39 "/usr/include/c++/12/clocale" 3
1434:        
1434: # 40 "/usr/include/c++/12/clocale" 3
1434: 
1434: 
1434: # 1 "/usr/include/locale.h" 1 3 4
1434: # 28 "/usr/include/locale.h" 3 4
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 29 "/usr/include/locale.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/locale.h" 1 3 4
1434: # 30 "/usr/include/locale.h" 2 3 4
1434: 
1434: extern "C" {
1434: # 51 "/usr/include/locale.h" 3 4
1434: struct lconv
1434: {
1434: 
1434: 
1434:   char *decimal_point;
1434:   char *_byname : public messages<_CharT>
1417:     {
1417:     public:
1417:       typedef _CharT char_type;
1417:       typedef basic_string<_CharT> string_type;
1417: 
1417:       explicit
1417:       messages_byname(const char* __s, size_t __refs = 0);
1417: 
1417: 
1417:       explicit
1417:       messages_byname(const string& __s, size_t __refs = 0)
1417:       : messages_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~messages_byname()
1417:       { }
1417:     };
1417: 
1417: }
1417: 
1417: 
1417: }
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 1 3
1417: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 3
1417: # 1 "/usr/include/libintl.h" 1 3 4
1417: # 34 "/usr/include/libintl.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: extern char *gettext (const char *__msgid)
1417:      noexcept (true) __attribute__ ((__format_arg__ (1)));
1417: 
1417: 
1417: 
1417: extern char *dgettext (const char *__domainname, const char *__msgid)
1417:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1417: extern char *__dgettext (const char *__domainname, const char *__msgid)
1417:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1417: 
1417: 
1417: 
1417: extern char *dcgettext (const char *__domainname,
1417:    const char *__msgid, int __category)
1417:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1417: extern char *__dcgettext (const char *__domainname,
1417:      const char *__msgid, int __category)
1417:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: extern char *ngettext (const char *__msgid1, const char *__msgid2,
1417:          unsigned long int __n)
1417:      noexcept (true) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
1417: 
1417: 
1417: 
1417: extern char *dngettext (const char *__domainname, const char *__msgid1,
1417:    const char *__msgid2, unsigned long int __n)
1417:      noexcept (true) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
1417: 
1417: 
1417: 
1417: extern char *dcngettext (const char *__domainname, const char *__msgid1,
1417:     const char *__msgid2, unsigned long int __n,
1417:     int __category)
1417:      noexcept (true) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *textdomain (const char *__domainname) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char *bindtextdomain (const char *__domainname,
1417:         const char *__dirname) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char *bind_textdomain_codeset (const char *__domainname,
1417:           const char *__codeset) noexcept (true);
1417: # 121 "/usr/include/libintl.h" 3 4
1417: }
1417: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     messages<_CharT>::messages(size_t __refs)
1417:     : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
1417:       _M_name_messages(_S_get_c_name())
1417:     { }
1417: 
1417:   template<typename _CharT>
1417:     messages<_CharT>::messages(__c_locale __cloc, const char* __s,
1417:           size_t __refs)
1417:     : facet(__refs), _M_c_locale_messages(0), _M_name_messages(0)
1417:     {
1417:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
1417:  {
1417:    const size_t __len = __builtin_strlen(__s) + 1;
1417:    char* __tmp = new char[__len];
1417:    __builtin_memcpy(__tmp, __s, __len);
1417:    _M_name_messages = __tmp;
1417:  }
1417:       else
1417:  _M_name_messages = _S_get_c_name();
1417: 
1417: 
1417:       _M_c_locale_messages = _S_clone_c_locale(__cloc);
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     typename messages<_CharT>::catalog
1417:     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
1417:       const char* __dir) const
14thousands_sep;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   char *grouping;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   char *int_curr_symbol;
1434:   char *currency_symbol;
1434:   char *mon_decimal_point;
1434:   char *mon_thousands_sep;
1434:   char *mon_grouping;
1434:   char *positive_sign;
1434:   char *negative_sign;
1434:   char int_frac_digits;
1434:   char frac_digits;
1434: 
1434:   char p_cs_precedes;
1434: 
1434:   char p_sep_by_space;
1434: 
1434:   char n_cs_precedes;
1434: 
1434:   char n_sep_by_space;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   char p_sign_posn;
1434:   char n_sign_posn;
1434: 
1434: 
1434:   char int_p_cs_precedes;
1434: 
1434:   char int_p_sep_by_space;
1434: 
1434:   char int_n_cs_precedes;
1434: 
1434:   char int_n_sep_by_space;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   char int_p_sign_posn;
1434:   char int_n_sign_posn;
1434: # 118 "/usr/include/locale.h" 3 4
1434: };
1434: 
1434: 
1434: 
1434: extern char *setlocale (int __category, const char *__locale) noexcept (true);
1434: 
1434: 
1434: extern struct lconv *localeconv (void) noexcept (true);
1434: # 141 "/usr/include/locale.h" 3 4
1434: extern locale_t newlocale (int __category_mask, const char *__locale,
1434:       locale_t __base) noexcept (true);
1434: # 176 "/usr/include/locale.h" 3 4
1434: extern locale_t duplocale (locale_t __dataset) noexcept (true);
1434: 
1434: 
1434: 
1434: extern void freelocale (locale_t __dataset) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern locale_t uselocale (locale_t __dataset) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 43 "/usr/include/c++/12/clocale" 2 3
1434: # 51 "/usr/include/c++/12/clocale" 3
1434: namespace std
1434: {
1434:   using ::lconv;
1434:   using ::setlocale;
1434:   using ::localeconv;
1434: }
1434: # 42 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   extern "C" __typeof(uselocale) __uselocale;
1434: 
1434: 
1434: }
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   typedef __locale_t __c_locale;
1434: # 73 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1434:   inline int
1434:   __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
1434:      char* __out,
1434:      const int __size __attribute__ ((__unused__)),
1434:      const char* __fmt, ...)
1434:   {
1434: 
1434:     __c_locale __old = __gnu_cxx::__uselocale(__cloc);
1434: # 93 "/usr/include/arm-linux-gnueabihf/c++/12/bits/c++locale.h" 3
1434:     __builtin_va_list __args;
1434:     __builtin_va_start(__args, __fmt);
1434: 
1434: 
1434:     const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
1434: 
1434: 
1434: 
1434: 
1434:     __builtin_va_end(__args);
1434: 
1434: 
1434:     __gnu_cxx::__uselocale(__old);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     return __ret;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 41 "/usr/include/c++/12/bits/localefwd.h" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/cctype" 1 3
1434: # 39 "/usr/include/c++/12/cctype" 3
1434:        
1434: # 40 "/usr/include/c++/12/cctype" 3
1434: 
1434: 
1434: # 1 "/usr/include/ctype.h" 1 3 4
1434: # 28 "/usr/include/ctype.h" 3 4
1434: extern "C" {
1434: # 46 "/usr/include/ctype.h" 3 4
1434: enum
1434: {
1434:   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
1434:   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
1434:   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
1434:   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
1434:   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
1434:   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
1434:   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
1434:   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
1434:   _ISblank = ((8) < 8  &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); }
1412:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && noexcept(__is_nothrow_invocable<_Fn &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); }
1412:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(__is_nothrow_invocable<_Fn const &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); }
1412: 
1412: 
1412:     private:
1412:       _Fn _M_fn;
1412:     };
1412: 
1412:   template<typename _Tp, typename _Pred>
1412:     struct __is_byte_like : false_type { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_byte_like<_Tp, equal_to<_Tp>>
1412:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1412: 
1412:   template<typename _Tp>
1412:     struct __is_byte_like<_Tp, equal_to<void>>
1412:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1412: 
1412: 
1412: 
1412:   enum class byte : unsigned char;
1412: 
1412:   template<>
1412:     struct __is_byte_like<byte, equal_to<byte>>
1412:     : true_type { };
1412: 
1412:   template<>
1412:     struct __is_byte_like<byte, equal_to<void>>
1412:     : true_type { };
1412: # 1078 "/usr/include/c++/12/functional" 3
1412:   template<typename _Fn>
1412:    
1412:     inline auto
1412:     not_fn(_Fn&& __fn)
1412:     noexcept(std::is_nothrow_constructible<std::decay_t<_Fn>, _Fn&&>::value)
1412:     {
1412:       return _Not_fn<std::decay_t<_Fn>>{std::forward<_Fn>(__fn), 0};
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _ForwardIterator1, typename _BinaryPredicate = equal_to<>>
1412:     class default_searcher
1412:     {
1412:     public:
1412:      
1412:       default_searcher(_ForwardIterator1 __pat_first,
1412:          _ForwardIterator1 __pat_last,
1412:          _BinaryPredicate __pred = _BinaryPredicate())
1412:       : _M_m(__pat_first, __pat_last, std::move(__pred))
1412:       { }
1412: 
1412:       template<typename _ForwardIterator2>
1412: 
1412:  pair<_ForwardIterator2, _ForwardIterator2>
1412:  operator()(_ForwardIterator2 __first, _ForwardIterator2 __last) const
1412:  {
1412:    _ForwardIterator2 __first_ret =
1412:      std::search(__first, __last, std::get<0>(_M_m), std::get<1>(_M_m),
1412:    std::get<2>(_M_m));
1412:    auto __ret = std::make_pair(__first_ret, __first_ret);
1412:    if (__ret.first != __last)
1412:      std::advance(__ret.second, std::distance(std::get<0>(_M_m),
1412:            std::get<1>(_M_m)));
1412:    return __ret;
1412:  }
1412: 
1412:     private:
1412:       tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m;
1412:     };
1412: 
1412:   template<typename _Key, typename _Tp, typename _Hash, typename _Pred>
1412:     struct __boyer_moore_map_base
1412:     {
1412:       template<typename _RAIter>
1412:  __boyer_moore_map_base(_RAIter __pat, size_t __patlen,
1412:           _Hash&& __hf, _Pred&& __pred)
1412:  : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) }
1412:  {
1412:    if (__patlen > 0)
1412:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1412:        _M_bad_char[__pat[__i]] = __patlen - 1 - __i;
1412:  }
1412: 
1412:       using __diff_type = _Tp;
1412: 
1412:       __diff_type
1412:       _M_lookup(_Key __key, __diff_type __not_found) const
1412:       {
1412:  auto __iter = _M_bad_char.find(__key);
1412:  if (__iter == _M_bad_char.end())
1412:    return __not_found;
1412:  return __iter->second;
1412:       }
1412: 
1412:       _Pred
1412:       _M_pred() const { return _M_bad_char.key_eq(); }
1412: 
1412:       std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
1434:   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
1434:   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
1434:   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
1434: };
1434: # 79 "/usr/include/ctype.h" 3 4
1434: extern const unsigned short int **__ctype_b_loc (void)
1434:      noexcept (true) __attribute__ ((__const__));
1434: extern const __int32_t **__ctype_tolower_loc (void)
1434:      noexcept (true) __attribute__ ((__const__));
1434: extern const __int32_t **__ctype_toupper_loc (void)
1434:      noexcept (true) __attribute__ ((__const__));
1434: # 108 "/usr/include/ctype.h" 3 4
1434: extern int isalnum (int) noexcept (true);
1434: extern int isalpha (int) noexcept (true);
1434: extern int iscntrl (int) noexcept (true);
1434: extern int isdigit (int) noexcept (true);
1434: extern int islower (int) noexcept (true);
1434: extern int isgraph (int) noexcept (true);
1434: extern int isprint (int) noexcept (true);
1434: extern int ispunct (int) noexcept (true);
1434: extern int isspace (int) noexcept (true);
1434: extern int isupper (int) noexcept (true);
1434: extern int isxdigit (int) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int tolower (int __c) noexcept (true);
1434: 
1434: 
1434: extern int toupper (int __c) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int isblank (int) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int isctype (int __c, int __mask) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int isascii (int __c) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int toascii (int __c) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int _toupper (int) noexcept (true);
1434: extern int _tolower (int) noexcept (true);
1434: # 251 "/usr/include/ctype.h" 3 4
1434: extern int isalnum_l (int, locale_t) noexcept (true);
1434: extern int isalpha_l (int, locale_t) noexcept (true);
1434: extern int iscntrl_l (int, locale_t) noexcept (true);
1434: extern int isdigit_l (int, locale_t) noexcept (true);
1434: extern int islower_l (int, locale_t) noexcept (true);
1434: extern int isgraph_l (int, locale_t) noexcept (true);
1434: extern int isprint_l (int, locale_t) noexcept (true);
1434: extern int ispunct_l (int, locale_t) noexcept (true);
1434: extern int isspace_l (int, locale_t) noexcept (true);
1434: extern int isupper_l (int, locale_t) noexcept (true);
1434: extern int isxdigit_l (int, locale_t) noexcept (true);
1434: 
1434: extern int isblank_l (int, locale_t) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int __tolower_l (int __c, locale_t __l) noexcept (true);
1434: extern int tolower_l (int __c, locale_t __l) noexcept (true);
1434: 
1434: 
1434: extern int __toupper_l (int __c, locale_t __l) noexcept (true);
1434: extern int toupper_l (int __c, locale_t __l) noexcept (true);
1434: # 327 "/usr/include/ctype.h" 3 4
1434: }
1434: # 43 "/usr/include/c++/12/cctype" 2 3
1434: # 62 "/usr/include/c++/12/cctype" 3
1434: namespace std
1434: {
1434:   using ::isalnum;
1434:   using ::isalpha;
1434:   using ::iscntrl;
1434:   using ::isdigit;
1434:   using ::isgraph;
1434:   using ::islower;
1434:   using ::isprint;
1434:   using ::ispunct;
1434:   using ::isspace;
1434:   using ::isupper;
1434:   using ::isxdigit;
1434:   using ::tolower;
1434:   using ::toupper;
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std
1434: {
1434:   using ::isblank;
1434: }
1434: # 43 "/usr/include/c++/12/bits/localefwd.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 55 "/usr/include/c++/12/bits/localefwd.h" 3
1434:   class locale;
1434: 
1434:   template<typename _Facet>
1434:     bool
1434:     has_facet(const locale&) throw();
1434: 
1434:   template<typename _Facet>
1434:     const _Facet&
1434:     use_facet(const locale&);
1434: 
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isspace(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isprint(_CharT, 17:     {
1417:       bindtextdomain(__s.c_str(), __dir);
1417:       return this->do_open(__s, __loc);
1417:     }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     messages<_CharT>::~messages()
1417:     {
1417:       if (_M_name_messages != _S_get_c_name())
1417:  delete [] _M_name_messages;
1417:       _S_destroy_c_locale(_M_c_locale_messages);
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     typename messages<_CharT>::catalog
1417:     messages<_CharT>::do_open(const basic_string<char>& __s,
1417:          const locale&) const
1417:     {
1417: 
1417: 
1417:       textdomain(__s.c_str());
1417:       return 0;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     messages<_CharT>::do_close(catalog) const
1417:     { }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
1417:     : messages<_CharT>(__refs)
1417:     {
1417:       if (this->_M_name_messages != locale::facet::_S_get_c_name())
1417:  {
1417:    delete [] this->_M_name_messages;
1417:    if (__builtin_strcmp(__s, locale::facet::_S_get_c_name()) != 0)
1417:      {
1417:        const size_t __len = __builtin_strlen(__s) + 1;
1417:        char* __tmp = new char[__len];
1417:        __builtin_memcpy(__tmp, __s, __len);
1417:        this->_M_name_messages = __tmp;
1417:      }
1417:    else
1417:      this->_M_name_messages = locale::facet::_S_get_c_name();
1417:  }
1417: 
1417:       if (__builtin_strcmp(__s, "C") != 0
1417:    && __builtin_strcmp(__s, "POSIX") != 0)
1417:  {
1417:    this->_S_destroy_c_locale(this->_M_c_locale_messages);
1417:    this->_S_create_c_locale(this->_M_c_locale_messages, __s);
1417:  }
1417:     }
1417: 
1417: 
1417:   template<>
1417:     typename messages<char>::catalog
1417:     messages<char>::do_open(const basic_string<char>&,
1417:        const locale&) const;
1417: 
1417:   template<>
1417:     void
1417:     messages<char>::do_close(catalog) const;
1417: 
1417: 
1417:   template<>
1417:     typename messages<wchar_t>::catalog
1417:     messages<wchar_t>::do_open(const basic_string<char>&,
1417:           const locale&) const;
1417: 
1417:   template<>
1417:     void
1417:     messages<wchar_t>::do_close(catalog) const;
1417: 
1417: 
1417: 
1417: }
1417: # 2065 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/codecvt.h" 1 3
1417: # 39 "/usr/include/c++/12/bits/codecvt.h" 3
1417:        
1417: # 40 "/usr/include/c++/12/bits/codecvt.h" 3
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417:   class codecvt_base
1417:   {
1417:   public:
1417:     enum result
1417:     {
1417:       ok,
1417:       partial,
1417:       error,
1417:       noconv
1417:     };
1417:   };
1417: # 70 "/usr/include/c++/12/bits/codecvt.h" 3
1417:   template<typename _InternT, typename _ExternT, typename _StateT>
1417:     class __codecvt_abstract_base
1417:     : public locale::facet, public codecvt_base
1417:     {
1417:     public:
1417: 
1417:       typedef codecvt_base::result result;
1417:       typedef _InternT intern_type;
1417:       typedef _ExternT extern_type;
1417:       typedef _StateT state_type;
1417: # 118 "/usr/include/c++/12/bits/codecvt.h" 3
1417:       result
1417:       out(state_type& __state, const intern_type* __from,
1417:    const intern_type* __from_end, const intern_type*& __from_next,
1417:    extern_type* __to, extern_type* __to_end,
1417:    extern_type*& __to_next) const
1417:       {
1417:  return this->do_out(__state, __from, __from_end, __from_next,
1417:        __to, __to_end, __to_next);
1417:       }
1417: # 157 "/usr/include/c++/12/bits/codecvt.h" 3
1417:       result
1417:       unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
1417:        extern_type*& __to_next) const
1417:       { return this->do_unshift(__state, __to,__to_end,__to_next); }
1417: # 198 "/usr/include/c++/12/bits/codecvt.h" 3
1417:       result
1417:       in(state_type& _const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     iscntrl(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isupper(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     islower(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isalpha(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isdigit(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     ispunct(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isxdigit(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isalnum(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isgraph(_CharT, const locale&);
1434: 
1434: 
1434:   template<typename _CharT>
1434:     bool
1434:     isblank(_CharT, const locale&);
1434: 
1434: 
1434:   template<typename _CharT>
1434:     _CharT
1434:     toupper(_CharT, const locale&);
1434: 
1434:   template<typename _CharT>
1434:     _CharT
1434:     tolower(_CharT, const locale&);
1434: 
1434: 
1434:   struct ctype_base;
1434:   template<typename _CharT>
1434:     class ctype;
1434:   template<> class ctype<char>;
1434: 
1434:   template<> class ctype<wchar_t>;
1434: 
1434:   template<typename _CharT>
1434:     class ctype_byname;
1434: 
1434: 
1434:   class codecvt_base;
1434:   template<typename _InternT, typename _ExternT, typename _StateT>
1434:     class codecvt;
1434:   template<> class codecvt<char, char, mbstate_t>;
1434: 
1434:   template<> class codecvt<wchar_t, char, mbstate_t>;
1434: 
1434: 
1434:   template<> class codecvt<char16_t, char, mbstate_t>;
1434:   template<> class codecvt<char32_t, char, mbstate_t>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InternT, typename _ExternT, typename _StateT>
1434:     class codecvt_byname;
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1434:     class num_get;
1434:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1434:     class num_put;
1434: 
1434: namespace __cxx11 {
1434:   template<typename _CharT> class numpunct;
1434:   template<typename _CharT> class numpunct_byname;
1434: }
1434: 
1434: namespace __cxx11 {
1434: 
1434:   template<typename _CharT>
1434:     class collate;
1434:   template<typename _CharT>
1434:     class collate_byname;
1434: }
1434: 
1434: 
1434:   class time_base;
1434: namespace __cxx11 {
1434:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1434:     class time_get;
1434:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1434:     class time_get_byname;
1434: }
1434:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1434:     class time_put;
1434:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1434:     class time_put_byname;
1434: 
1434: 
1434:   class money_base;
1434: namespace __cxx11 {
1434:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
1434:     class money_get;
1434:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
1434:     class money_put;
1434: }
1434: namespace __cxx11 {
1434:   template<typename _CharT, bool _Intl = false>
1434:     class moneypunct;
1434:   template<typename _CharT, bool _Intl = false>
1434:     class moneypunct_byname;
1434: }
1434: 
1434: 
1434:   struct messages_base;
1434: namespace __cxx11 {
1434:   template<typename _CharT>
1434:     class messages;
1434:   template<typename _CharT>
1434:     class messages_byname;
1434: }
1434: 
1434: 
1434: }
1434: # 44 "/usr/include/c++/12/string" 2 3
1434: # 1 "/usr/include/c++/12/bits/ostream_insert.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/ostream_insert.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/ostream_insert.h" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits
1412:     };
1412: 
1412:   template<typename _Tp, size_t _Len, typename _Pred>
1412:     struct __boyer_moore_array_base
1412:     {
1412:       template<typename _RAIter, typename _Unused>
1412:  __boyer_moore_array_base(_RAIter __pat, size_t __patlen,
1412:      _Unused&&, _Pred&& __pred)
1412:  : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
1412:  {
1412:    std::get<0>(_M_bad_char).fill(__patlen);
1412:    if (__patlen > 0)
1412:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1412:        {
1412:   auto __ch = __pat[__i];
1412:   using _UCh = make_unsigned_t<decltype(__ch)>;
1412:   auto __uch = static_cast<_UCh>(__ch);
1412:   std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i;
1412:        }
1412:  }
1412: 
1412:       using __diff_type = _Tp;
1412: 
1412:       template<typename _Key>
1412:  __diff_type
1412:  _M_lookup(_Key __key, __diff_type __not_found) const
1412:  {
1412:    auto __ukey = static_cast<make_unsigned_t<_Key>>(__key);
1412:    if (__ukey >= _Len)
1412:      return __not_found;
1412:    return std::get<0>(_M_bad_char)[__ukey];
1412:  }
1412: 
1412:       const _Pred&
1412:       _M_pred() const { return std::get<1>(_M_bad_char); }
1412: 
1412:       tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _RAIter, typename _Hash, typename _Pred,
1412:            typename _Val = typename iterator_traits<_RAIter>::value_type,
1412:     typename _Diff = typename iterator_traits<_RAIter>::difference_type>
1412:     using __boyer_moore_base_t
1412:       = __conditional_t<__is_byte_like<_Val, _Pred>::value,
1412:    __boyer_moore_array_base<_Diff, 256, _Pred>,
1412:    __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>;
1412: 
1412:   template<typename _RAIter, typename _Hash
1412:       = hash<typename iterator_traits<_RAIter>::value_type>,
1412:     typename _BinaryPredicate = equal_to<>>
1412:     class boyer_moore_searcher
1412:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1412:     {
1412:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1412:       using typename _Base::__diff_type;
1412: 
1412:     public:
1412:       boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last,
1412:       _Hash __hf = _Hash(),
1412:       _BinaryPredicate __pred = _BinaryPredicate());
1412: 
1412:       template<typename _RandomAccessIterator2>
1412:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1412:  operator()(_RandomAccessIterator2 __first,
1412:      _RandomAccessIterator2 __last) const;
1412: 
1412:     private:
1412:       bool
1412:       _M_is_prefix(_RAIter __word, __diff_type __len,
1412:      __diff_type __pos)
1412:       {
1412:  const auto& __pred = this->_M_pred();
1412:  __diff_type __suffixlen = __len - __pos;
1412:  for (__diff_type __i = 0; __i < __suffixlen; ++__i)
1412:    if (!__pred(__word[__i], __word[__pos + __i]))
1412:      return false;
1412:  return true;
1412:       }
1412: 
1412:       __diff_type
1412:       _M_suffix_length(_RAIter __word, __diff_type __len,
1412:          __diff_type __pos)
1412:       {
1412:  const auto& __pred = this->_M_pred();
1412:  __diff_type __i = 0;
1412:  while (__pred(__word[__pos - __i], __word[__len - 1 - __i])
1412:         && __i < __pos)
1412:    {
1412:      ++__i;
1412:    }
1412:  return __i;
1412:       }
1412: 
1412:       template<typename _Tp>
1412:  __diff_type
1412:  _M_bad_char_shift(_Tp __c) const
1412:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1412: 
1412:       _RAIter _M_pat;
1412:       _RAIter _M_pat_end;
1412:       std::vector<__diff_type> _M_good_suffix;
1412:     };
1412: 
1412:   template<typename _RAIter, typename _Hash
1412:       = hash<typename iterator_traits<_RAIter>::value_type>,
1412:     typename _BinaryPredicate = equal_to<>>
1412:     class boyer_moore_horspool_searcher
1412:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1412:     {
1412:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1412:       using typename _Base::__diff_type/cxxabi_forced.h" 1 3
1434: # 34 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1434:        
1434: # 35 "/usr/include/c++/12/bits/cxxabi_forced.h" 3
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434: namespace __cxxabiv1
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class __forced_unwind
1434:   {
1434:     virtual ~__forced_unwind() throw();
1434: 
1434: 
1434:     virtual void __pure_dummy() = 0;
1434:   };
1434: }
1434: 
1434: 
1434: #pragma GCC visibility pop
1434: # 37 "/usr/include/c++/12/bits/ostream_insert.h" 2 3
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     inline void
1434:     __ostream_write(basic_ostream<_CharT, _Traits>& __out,
1434:       const _CharT* __s, streamsize __n)
1434:     {
1434:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1434:       typedef typename __ostream_type::ios_base __ios_base;
1434: 
1434:       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
1434:       if (__put != __n)
1434:  __out.setstate(__ios_base::badbit);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     inline void
1434:     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
1434:     {
1434:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1434:       typedef typename __ostream_type::ios_base __ios_base;
1434: 
1434:       const _CharT __c = __out.fill();
1434:       for (; __n > 0; --__n)
1434:  {
1434:    const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
1434:    if (_Traits::eq_int_type(__put, _Traits::eof()))
1434:      {
1434:        __out.setstate(__ios_base::badbit);
1434:        break;
1434:      }
1434:  }
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
1434:        const _CharT* __s, streamsize __n)
1434:     {
1434:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1434:       typedef typename __ostream_type::ios_base __ios_base;
1434: 
1434:       typename __ostream_type::sentry __cerb(__out);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434:        const streamsize __w = __out.width();
1434:        if (__w > __n)
1434:   {
1434:     const bool __left = ((__out.flags()
1434:      & __ios_base::adjustfield)
1434:            == __ios_base::left);
1434:     if (!__left)
1434:       __ostream_fill(__out, __w - __n);
1434:     if (__out.good())
1434:       __ostream_write(__out, __s, __n);
1434:     if (__left && __out.good())
1434:       __ostream_fill(__out, __w - __n);
1434:   }
1434:        else
1434:   __ostream_write(__out, __s, __n);
1434:        __out.width(0);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        __out._M_setstate(__ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { __out._M_setstate(__ios_base::badbit); }
1434:  }
1434:       return __out;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
1434: 
1434: 
1434:   extern template wostream& __ostream_insert(wostream&, const wchar_t*,
1434:           streamsize);
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 45 "/usr/include/c++/12/string" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/range_access.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/range_access.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/range_access.h" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/initializer_list" 1 3
1434: # 33 "/usr/include/c++/12/initializer_list" 3
1434:        
1434: # 34 "/usr/include/c++/12/initializer_list" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: #pragma GCC visibility push(default)
1434: 
1434: 
1434: 
1434: namespace std
1434: {
1434: 
1434:   template<class _E>
1434:     class initializer_list
1434:     {
1434:     public:
1434:       typedef _E value_type_state, const extern_type* __from,
1417:   const extern_type* __from_end, const extern_type*& __from_next,
1417:   intern_type* __to, intern_type* __to_end,
1417:   intern_type*& __to_next) const
1417:       {
1417:  return this->do_in(__state, __from, __from_end, __from_next,
1417:       __to, __to_end, __to_next);
1417:       }
1417: 
1417:       int
1417:       encoding() const throw()
1417:       { return this->do_encoding(); }
1417: 
1417:       bool
1417:       always_noconv() const throw()
1417:       { return this->do_always_noconv(); }
1417: 
1417:       int
1417:       length(state_type& __state, const extern_type* __from,
1417:       const extern_type* __end, size_t __max) const
1417:       { return this->do_length(__state, __from, __end, __max); }
1417: 
1417:       int
1417:       max_length() const throw()
1417:       { return this->do_max_length(); }
1417: 
1417:     protected:
1417:       explicit
1417:       __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
1417: 
1417:       virtual
1417:       ~__codecvt_abstract_base() { }
1417: # 239 "/usr/include/c++/12/bits/codecvt.h" 3
1417:       virtual result
1417:       do_out(state_type& __state, const intern_type* __from,
1417:       const intern_type* __from_end, const intern_type*& __from_next,
1417:       extern_type* __to, extern_type* __to_end,
1417:       extern_type*& __to_next) const = 0;
1417: 
1417:       virtual result
1417:       do_unshift(state_type& __state, extern_type* __to,
1417:    extern_type* __to_end, extern_type*& __to_next) const = 0;
1417: 
1417:       virtual result
1417:       do_in(state_type& __state, const extern_type* __from,
1417:      const extern_type* __from_end, const extern_type*& __from_next,
1417:      intern_type* __to, intern_type* __to_end,
1417:      intern_type*& __to_next) const = 0;
1417: 
1417:       virtual int
1417:       do_encoding() const throw() = 0;
1417: 
1417:       virtual bool
1417:       do_always_noconv() const throw() = 0;
1417: 
1417:       virtual int
1417:       do_length(state_type&, const extern_type* __from,
1417:   const extern_type* __end, size_t __max) const = 0;
1417: 
1417:       virtual int
1417:       do_max_length() const throw() = 0;
1417:     };
1417: # 276 "/usr/include/c++/12/bits/codecvt.h" 3
1417:    template<typename _InternT, typename _ExternT, typename _StateT>
1417:     class codecvt
1417:     : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
1417:     {
1417:     public:
1417: 
1417:       typedef codecvt_base::result result;
1417:       typedef _InternT intern_type;
1417:       typedef _ExternT extern_type;
1417:       typedef _StateT state_type;
1417: 
1417:     protected:
1417:       __c_locale _M_c_locale_codecvt;
1417: 
1417:     public:
1417:       static locale::id id;
1417: 
1417:       explicit
1417:       codecvt(size_t __refs = 0)
1417:       : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs),
1417:  _M_c_locale_codecvt(0)
1417:       { }
1417: 
1417:       explicit
1417:       codecvt(__c_locale __cloc, size_t __refs = 0);
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt() { }
1417: 
1417:       virtual result
1417:       do_out(state_type& __state, const intern_type* __from,
1417:       const intern_type* __from_end, const intern_type*& __from_next,
1417:       extern_type* __to, extern_type* __to_end,
1417:       extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_unshift(state_type& __state, extern_type* __to,
1417:    extern_type* __to_end, extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_in(state_type& __state, const extern_type* __from,
1417:      const extern_type* __from_end, const extern_type*& __from_next,
1417:      intern_type* __to, intern_type* __to_end,
1417:      intern_type*& __to_next) const;
1417: 
1417:       virtual int
1417:       do_encoding() const throw();
1417: 
1417:       virtual bool
1417:       do_always_noconv() const throw();
1417: 
1417:       virtual int
1417:       do_length(state_type&, const extern_ty;
1434:       typedef const _E& reference;
1434:       typedef const _E& const_reference;
1434:       typedef size_t size_type;
1434:       typedef const _E* iterator;
1434:       typedef const _E* const_iterator;
1434: 
1434:     private:
1434:       iterator _M_array;
1434:       size_type _M_len;
1434: 
1434: 
1434:       constexpr initializer_list(const_iterator __a, size_type __l)
1434:       : _M_array(__a), _M_len(__l) { }
1434: 
1434:     public:
1434:       constexpr initializer_list() noexcept
1434:       : _M_array(0), _M_len(0) { }
1434: 
1434: 
1434:       constexpr size_type
1434:       size() const noexcept { return _M_len; }
1434: 
1434: 
1434:       constexpr const_iterator
1434:       begin() const noexcept { return _M_array; }
1434: 
1434: 
1434:       constexpr const_iterator
1434:       end() const noexcept { return begin() + size(); }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<class _Tp>
1434:     constexpr const _Tp*
1434:     begin(initializer_list<_Tp> __ils) noexcept
1434:     { return __ils.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<class _Tp>
1434:     constexpr const _Tp*
1434:     end(initializer_list<_Tp> __ils) noexcept
1434:     { return __ils.end(); }
1434: }
1434: 
1434: #pragma GCC visibility pop
1434: # 37 "/usr/include/c++/12/bits/range_access.h" 2 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     begin(_Container& __cont) -> decltype(__cont.begin())
1434:     { return __cont.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     begin(const _Container& __cont) -> decltype(__cont.begin())
1434:     { return __cont.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     end(_Container& __cont) -> decltype(__cont.end())
1434:     { return __cont.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     end(const _Container& __cont) -> decltype(__cont.end())
1434:     { return __cont.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:     [[__nodiscard__]]
1434:     inline constexpr _Tp*
1434:     begin(_Tp (&__arr)[_Nm]) noexcept
1434:     { return __arr; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:     [[__nodiscard__]]
1434:     inline constexpr _Tp*
1434:     end(_Tp (&__arr)[_Nm]) noexcept
1434:     { return __arr + _Nm; }
1434: 
1434: 
1434: 
1434:   template<typename _Tp> class valarray;
1434: 
1434:   template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
1434:   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
1434:   template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
1434:   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     constexpr auto
1434:     cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
1434:       -> decltype(std::begin(__cont))
1434:     { return std::begin(__cont); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     constexpr auto
1434:     cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
1434:       -> decltype(std::end(__cont))
1434:     { return std::end(__cont); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     rbegin(_Container& __cont) -> decltype(__cont.rbegin())
1434:     { return __cont.rbegin(); }
1434: 
1434: 
1434;
1412: 
1412:     public:
1412:       boyer_moore_horspool_searcher(_RAIter __pat,
1412:         _RAIter __pat_end,
1412:         _Hash __hf = _Hash(),
1412:         _BinaryPredicate __pred
1412:         = _BinaryPredicate())
1412:       : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
1412:  _M_pat(__pat), _M_pat_end(__pat_end)
1412:       { }
1412: 
1412:       template<typename _RandomAccessIterator2>
1412:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1412:  operator()(_RandomAccessIterator2 __first,
1412:      _RandomAccessIterator2 __last) const
1412:  {
1412:    const auto& __pred = this->_M_pred();
1412:    auto __patlen = _M_pat_end - _M_pat;
1412:    if (__patlen == 0)
1412:      return std::make_pair(__first, __first);
1412:    auto __len = __last - __first;
1412:    while (__len >= __patlen)
1412:      {
1412:        for (auto __scan = __patlen - 1;
1412:      __pred(__first[__scan], _M_pat[__scan]); --__scan)
1412:   if (__scan == 0)
1412:     return std::make_pair(__first, __first + __patlen);
1412:        auto __shift = _M_bad_char_shift(__first[__patlen - 1]);
1412:        __len -= __shift;
1412:        __first += __shift;
1412:      }
1412:    return std::make_pair(__last, __last);
1412:  }
1412: 
1412:     private:
1412:       template<typename _Tp>
1412:  __diff_type
1412:  _M_bad_char_shift(_Tp __c) const
1412:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1412: 
1412:       _RAIter _M_pat;
1412:       _RAIter _M_pat_end;
1412:     };
1412: 
1412:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1412:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1412:     boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end,
1412:     _Hash __hf, _BinaryPredicate __pred)
1412:     : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
1412:       _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat)
1412:     {
1412:       auto __patlen = __pat_end - __pat;
1412:       if (__patlen == 0)
1412:  return;
1412:       __diff_type __last_prefix = __patlen - 1;
1412:       for (__diff_type __p = __patlen - 1; __p >= 0; --__p)
1412:  {
1412:    if (_M_is_prefix(__pat, __patlen, __p + 1))
1412:      __last_prefix = __p + 1;
1412:    _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p);
1412:  }
1412:       for (__diff_type __p = 0; __p < __patlen - 1; ++__p)
1412:  {
1412:    auto __slen = _M_suffix_length(__pat, __patlen, __p);
1412:    auto __pos = __patlen - 1 - __slen;
1412:    if (!__pred(__pat[__p - __slen], __pat[__pos]))
1412:      _M_good_suffix[__pos] = __patlen - 1 - __p + __slen;
1412:  }
1412:     }
1412: 
1412:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1412:   template<typename _RandomAccessIterator2>
1412:     pair<_RandomAccessIterator2, _RandomAccessIterator2>
1412:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1412:     operator()(_RandomAccessIterator2 __first,
1412:         _RandomAccessIterator2 __last) const
1412:     {
1412:       auto __patlen = _M_pat_end - _M_pat;
1412:       if (__patlen == 0)
1412:  return std::make_pair(__first, __first);
1412:       const auto& __pred = this->_M_pred();
1412:       __diff_type __i = __patlen - 1;
1412:       auto __stringlen = __last - __first;
1412:       while (__i < __stringlen)
1412:  {
1412:    __diff_type __j = __patlen - 1;
1412:    while (__j >= 0 && __pred(__first[__i], _M_pat[__j]))
1412:      {
1412:        --__i;
1412:        --__j;
1412:      }
1412:    if (__j < 0)
1412:      {
1412:        const auto __match = __first + __i + 1;
1412:        return std::make_pair(__match, __match + __patlen);
1412:      }
1412:    __i += std::max(_M_bad_char_shift(__first[__i]),
1412:      _M_good_suffix[__j]);
1412:  }
1412:       return std::make_pair(__last, __last);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1412: 
1412: 
1412: 
1412: 
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Conditi: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     rbegin(const _Container& __cont) -> decltype(__cont.rbegin())
1434:     { return __cont.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     rend(_Container& __cont) -> decltype(__cont.rend())
1434:     { return __cont.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     rend(const _Container& __cont) -> decltype(__cont.rend())
1434:     { return __cont.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:     [[__nodiscard__]]
1434:     inline constexpr reverse_iterator<_Tp*>
1434:     rbegin(_Tp (&__arr)[_Nm]) noexcept
1434:     { return reverse_iterator<_Tp*>(__arr + _Nm); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:     [[__nodiscard__]]
1434:     inline constexpr reverse_iterator<_Tp*>
1434:     rend(_Tp (&__arr)[_Nm]) noexcept
1434:     { return reverse_iterator<_Tp*>(__arr); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]]
1434:     inline constexpr reverse_iterator<const _Tp*>
1434:     rbegin(initializer_list<_Tp> __il) noexcept
1434:     { return reverse_iterator<const _Tp*>(__il.end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[__nodiscard__]]
1434:     inline constexpr reverse_iterator<const _Tp*>
1434:     rend(initializer_list<_Tp> __il) noexcept
1434:     { return reverse_iterator<const _Tp*>(__il.begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont))
1434:     { return std::rbegin(__cont); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Container>
1434:     [[__nodiscard__]]
1434:     inline constexpr auto
1434:     crend(const _Container& __cont) -> decltype(std::rend(__cont))
1434:     { return std::rend(__cont); }
1434: # 261 "/usr/include/c++/12/bits/range_access.h" 3
1434:   template <typename _Container>
1434:     [[nodiscard]]
1434:     constexpr auto
1434:     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
1434:     -> decltype(__cont.size())
1434:     { return __cont.size(); }
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, size_t _Nm>
1434:     [[nodiscard]]
1434:     constexpr size_t
1434:     size(const _Tp (&)[_Nm]) noexcept
1434:     { return _Nm; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Container>
1434:     [[nodiscard]] constexpr auto
1434:     empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
1434:     -> decltype(__cont.empty())
1434:     { return __cont.empty(); }
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, size_t _Nm>
1434:     [[nodiscard]] constexpr bool
1434:     empty(const _Tp (&)[_Nm]) noexcept
1434:     { return false; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp>
1434:     [[nodiscard]] constexpr bool
1434:     empty(initializer_list<_Tp> __il) noexcept
1434:     { return __il.size() == 0;}
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Container>
1434:     [[nodiscard]]
1434:     constexpr auto
1434:     data(_Container& __cont) noexcept(noexcept(__cont.data()))
1434:     -> decltype(__cont.data())
1434:     { return __cont.data(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Container>
1434:     [[nodiscard]]
1434:     constexpr auto
1434:     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
1434:     -> decltype(__cont.data())
1434:     { return __cont.data(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, size_t _Nm>
1434:     [[nodiscard]]
1434:     constexpr _Tp*
143pe* __from,
1417:   const extern_type* __end, size_t __max) const;
1417: 
1417:       virtual int
1417:       do_max_length() const throw();
1417:     };
1417: 
1417:   template<typename _InternT, typename _ExternT, typename _StateT>
1417:     locale::id codecvt<_InternT, _ExternT, _StateT>::id;
1417: 
1417: 
1417:   template<>
1417:     class codecvt<char, char, mbstate_t>
1417:     : public __codecvt_abstract_base<char, char, mbstate_t>
1417:     {
1417:       friend class messages<char>;
1417: 
1417:     public:
1417: 
1417:       typedef char intern_type;
1417:       typedef char extern_type;
1417:       typedef mbstate_t state_type;
1417: 
1417:     protected:
1417:       __c_locale _M_c_locale_codecvt;
1417: 
1417:     public:
1417:       static locale::id id;
1417: 
1417:       explicit
1417:       codecvt(size_t __refs = 0);
1417: 
1417:       explicit
1417:       codecvt(__c_locale __cloc, size_t __refs = 0);
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt();
1417: 
1417:       virtual result
1417:       do_out(state_type& __state, const intern_type* __from,
1417:       const intern_type* __from_end, const intern_type*& __from_next,
1417:       extern_type* __to, extern_type* __to_end,
1417:       extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_unshift(state_type& __state, extern_type* __to,
1417:    extern_type* __to_end, extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_in(state_type& __state, const extern_type* __from,
1417:      const extern_type* __from_end, const extern_type*& __from_next,
1417:      intern_type* __to, intern_type* __to_end,
1417:      intern_type*& __to_next) const;
1417: 
1417:       virtual int
1417:       do_encoding() const throw();
1417: 
1417:       virtual bool
1417:       do_always_noconv() const throw();
1417: 
1417:       virtual int
1417:       do_length(state_type&, const extern_type* __from,
1417:   const extern_type* __end, size_t __max) const;
1417: 
1417:       virtual int
1417:       do_max_length() const throw();
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     class codecvt<wchar_t, char, mbstate_t>
1417:     : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
1417:     {
1417:       friend class messages<wchar_t>;
1417: 
1417:     public:
1417: 
1417:       typedef wchar_t intern_type;
1417:       typedef char extern_type;
1417:       typedef mbstate_t state_type;
1417: 
1417:     protected:
1417:       __c_locale _M_c_locale_codecvt;
1417: 
1417:     public:
1417:       static locale::id id;
1417: 
1417:       explicit
1417:       codecvt(size_t __refs = 0);
1417: 
1417:       explicit
1417:       codecvt(__c_locale __cloc, size_t __refs = 0);
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt();
1417: 
1417:       virtual result
1417:       do_out(state_type& __state, const intern_type* __from,
1417:       const intern_type* __from_end, const intern_type*& __from_next,
1417:       extern_type* __to, extern_type* __to_end,
1417:       extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_unshift(state_type& __state,
1417:    extern_type* __to, extern_type* __to_end,
1417:    extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_in(state_type& __state,
1417:       const extern_type* __from, const extern_type* __from_end,
1417:       const extern_type*& __from_next,
1417:       intern_type* __to, intern_type* __to_end,
1417:       intern_type*& __to_next) const;
1417: 
1417:       virtual
1417:       int do_encoding() const throw();
1417: 
1417:       virtual
1417:       bool do_always_noconv() const throw();
1417: 
1417:       virtual
1417:       int do_length(state_type&, const extern_type* __from,
1417:       const extern_type* __end, size_t __max) const;
1417: 
1417:       virtual int
1417:       do_max_length() const throw();
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     class codecvt<char16_t, char, mbstate_t>
1417:     : publon.h"
1412: namespace XbmcThreads
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class ConditionVariable
1412:   {
1412:   private:
1412:     std::condition_variable_any cond;
1412:     ConditionVariable(const ConditionVariable&) = delete;
1412:     ConditionVariable& operator=(const ConditionVariable&) = delete;
1412: 
1412:   public:
1412:     ConditionVariable() = default;
1412: 
1412:     inline void wait(CCriticalSection& lock, std::function<bool()> predicate)
1412:     {
1412:       int count = lock.count;
1412:       lock.count = 0;
1412:       cond.wait(lock.get_underlying(), std::move(predicate));
1412:       lock.count = count;
1412:     }
1412: 
1412:     inline void wait(CCriticalSection& lock)
1412:     {
1412:       int count = lock.count;
1412:       lock.count = 0;
1412:       cond.wait(lock.get_underlying());
1412:       lock.count = count;
1412:     }
1412: 
1412:     template<typename Rep, typename Period>
1412:     inline bool wait(CCriticalSection& lock,
1412:                      std::chrono::duration<Rep, Period> duration,
1412:                      std::function<bool()> predicate)
1412:     {
1412:       int count = lock.count;
1412:       lock.count = 0;
1412:       bool ret = cond.wait_for(lock.get_underlying(), duration, predicate);
1412:       lock.count = count;
1412:       return ret;
1412:     }
1412: 
1412:     template<typename Rep, typename Period>
1412:     inline bool wait(CCriticalSection& lock, std::chrono::duration<Rep, Period> duration)
1412:     {
1412:       int count = lock.count;
1412:       lock.count = 0;
1412:       std::cv_status res = cond.wait_for(lock.get_underlying(), duration);
1412:       lock.count = count;
1412:       return res == std::cv_status::no_timeout;
1412:     }
1412: 
1412:     inline void wait(std::unique_lock<CCriticalSection>& lock, std::function<bool()> predicate)
1412:     {
1412:       cond.wait(*lock.mutex(), std::move(predicate));
1412:     }
1412: 
1412:     inline void wait(std::unique_lock<CCriticalSection>& lock) { wait(*lock.mutex()); }
1412: 
1412:     template<typename Rep, typename Period>
1412:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1412:                      std::chrono::duration<Rep, Period> duration,
1412:                      std::function<bool()> predicate)
1412:     {
1412:       return wait(*lock.mutex(), duration, predicate);
1412:     }
1412: 
1412:     template<typename Rep, typename Period>
1412:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1412:                      std::chrono::duration<Rep, Period> duration)
1412:     {
1412:       return wait(*lock.mutex(), duration);
1412:     }
1412: 
1412:     inline void notifyAll()
1412:     {
1412:       cond.notify_all();
1412:     }
1412: 
1412:     inline void notify()
1412:     {
1412:       cond.notify_one();
1412:     }
1412:   };
1412: 
1412: }
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h" 2
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/shared_mutex" 1 3
1412: # 32 "/usr/include/c++/12/shared_mutex" 3
1412:        
1412: # 33 "/usr/include/c++/12/shared_mutex" 3
1412: # 45 "/usr/include/c++/12/shared_mutex" 3
1412: 
1412: # 45 "/usr/include/c++/12/shared_mutex" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 58 "/usr/include/c++/12/shared_mutex" 3
1412:   class shared_mutex;
1412: 
1412: 
1412: 
1412:   class shared_timed_mutex;
1412: # 78 "/usr/include/c++/12/shared_mutex" 3
1412:   ; static inline int __glibcxx_rwlock_rdlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_rdlock (__rwlock); else return 0; }
1412:   ; static inline int __glibcxx_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_tryrdlock (__rwlock); else return 0; }
1412:   ; static inline int __glibcxx_rwlock_wrlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_wrlock (__rwlock); else return 0; }
1412:   ; static inline int __glibcxx_rwlock_trywrlock (pthread_rwlock_t *__rwlock) { if 4:     data(_Tp (&__array)[_Nm]) noexcept
1434:     { return __array; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp>
1434:     [[nodiscard]]
1434:     constexpr const _Tp*
1434:     data(initializer_list<_Tp> __il) noexcept
1434:     { return __il.begin(); }
1434: # 367 "/usr/include/c++/12/bits/range_access.h" 3
1434: 
1434: }
1434: # 53 "/usr/include/c++/12/string" 2 3
1434: # 1 "/usr/include/c++/12/bits/basic_string.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/basic_string.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/basic_string.h" 3
1434: # 47 "/usr/include/c++/12/bits/basic_string.h" 3
1434: # 1 "/usr/include/c++/12/string_view" 1 3
1434: # 36 "/usr/include/c++/12/string_view" 3
1434:        
1434: # 37 "/usr/include/c++/12/string_view" 3
1434: # 53 "/usr/include/c++/12/string_view" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr size_t
1434:   __sv_check(size_t __size, size_t __pos, const char* __s)
1434:   {
1434:     if (__pos > __size)
1434:       __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)")
1434:                         , __s, __pos, __size);
1434:     return __pos;
1434:   }
1434: 
1434: 
1434: 
1434:   constexpr size_t
1434:   __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
1434:   {
1434:    const bool __testoff = __off < __size - __pos;
1434:    return __testoff ? __off : __size - __pos;
1434:   }
1434: # 99 "/usr/include/c++/12/string_view" 3
1434:   template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
1434:     class basic_string_view
1434:     {
1434:       static_assert(!is_array_v<_CharT>);
1434:       static_assert(is_trivial_v<_CharT> && is_standard_layout_v<_CharT>);
1434:       static_assert(is_same_v<_CharT, typename _Traits::char_type>);
1434: 
1434:     public:
1434: 
1434: 
1434:       using traits_type = _Traits;
1434:       using value_type = _CharT;
1434:       using pointer = value_type*;
1434:       using const_pointer = const value_type*;
1434:       using reference = value_type&;
1434:       using const_reference = const value_type&;
1434:       using const_iterator = const value_type*;
1434:       using iterator = const_iterator;
1434:       using const_reverse_iterator = std::reverse_iterator<const_iterator>;
1434:       using reverse_iterator = const_reverse_iterator;
1434:       using size_type = size_t;
1434:       using difference_type = ptrdiff_t;
1434:       static constexpr size_type npos = size_type(-1);
1434: 
1434: 
1434: 
1434:       constexpr
1434:       basic_string_view() noexcept
1434:       : _M_len{0}, _M_str{nullptr}
1434:       { }
1434: 
1434:       constexpr basic_string_view(const basic_string_view&) noexcept = default;
1434: 
1434:       __attribute__((__nonnull__)) constexpr
1434:       basic_string_view(const _CharT* __str) noexcept
1434:       : _M_len{traits_type::length(__str)},
1434:  _M_str{__str}
1434:       { }
1434: 
1434:       constexpr
1434:       basic_string_view(const _CharT* __str, size_type __len) noexcept
1434:       : _M_len{__len}, _M_str{__str}
1434:       { }
1434: # 176 "/usr/include/c++/12/string_view" 3
1434:       constexpr basic_string_view&
1434:       operator=(const basic_string_view&) noexcept = default;
1434: 
1434: 
1434: 
1434:       constexpr const_iterator
1434:       begin() const noexcept
1434:       { return this->_M_str; }
1434: 
1434:       constexpr const_iterator
1434:       end() const noexcept
1434:       { return this->_M_str + this->_M_len; }
1434: 
1434:       constexpr const_iterator
1434:       cbegin() const noexcept
1434:       { return this->_M_str; }
1434: 
1434:       constexpr const_iterator
1434:       cend() const noexcept
1434:       { return this->_M_str + this->_M_len; }
1434: 
1434:       constexpr const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(this->end()); }
1434: 
1434:       constexpr const_reverse_iterator
1434:       rend() const noexcept
14ic __codecvt_abstract_base<char16_t, char, mbstate_t>
1417:     {
1417:     public:
1417: 
1417:       typedef char16_t intern_type;
1417:       typedef char extern_type;
1417:       typedef mbstate_t state_type;
1417: 
1417:     public:
1417:       static locale::id id;
1417: 
1417:       explicit
1417:       codecvt(size_t __refs = 0)
1417:       : __codecvt_abstract_base<char16_t, char, mbstate_t>(__refs) { }
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt();
1417: 
1417:       virtual result
1417:       do_out(state_type& __state, const intern_type* __from,
1417:       const intern_type* __from_end, const intern_type*& __from_next,
1417:       extern_type* __to, extern_type* __to_end,
1417:       extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_unshift(state_type& __state,
1417:    extern_type* __to, extern_type* __to_end,
1417:    extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_in(state_type& __state,
1417:       const extern_type* __from, const extern_type* __from_end,
1417:       const extern_type*& __from_next,
1417:       intern_type* __to, intern_type* __to_end,
1417:       intern_type*& __to_next) const;
1417: 
1417:       virtual
1417:       int do_encoding() const throw();
1417: 
1417:       virtual
1417:       bool do_always_noconv() const throw();
1417: 
1417:       virtual
1417:       int do_length(state_type&, const extern_type* __from,
1417:       const extern_type* __end, size_t __max) const;
1417: 
1417:       virtual int
1417:       do_max_length() const throw();
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     class codecvt<char32_t, char, mbstate_t>
1417:     : public __codecvt_abstract_base<char32_t, char, mbstate_t>
1417:     {
1417:     public:
1417: 
1417:       typedef char32_t intern_type;
1417:       typedef char extern_type;
1417:       typedef mbstate_t state_type;
1417: 
1417:     public:
1417:       static locale::id id;
1417: 
1417:       explicit
1417:       codecvt(size_t __refs = 0)
1417:       : __codecvt_abstract_base<char32_t, char, mbstate_t>(__refs) { }
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt();
1417: 
1417:       virtual result
1417:       do_out(state_type& __state, const intern_type* __from,
1417:       const intern_type* __from_end, const intern_type*& __from_next,
1417:       extern_type* __to, extern_type* __to_end,
1417:       extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_unshift(state_type& __state,
1417:    extern_type* __to, extern_type* __to_end,
1417:    extern_type*& __to_next) const;
1417: 
1417:       virtual result
1417:       do_in(state_type& __state,
1417:       const extern_type* __from, const extern_type* __from_end,
1417:       const extern_type*& __from_next,
1417:       intern_type* __to, intern_type* __to_end,
1417:       intern_type*& __to_next) const;
1417: 
1417:       virtual
1417:       int do_encoding() const throw();
1417: 
1417:       virtual
1417:       bool do_always_noconv() const throw();
1417: 
1417:       virtual
1417:       int do_length(state_type&, const extern_type* __from,
1417:       const extern_type* __end, size_t __max) const;
1417: 
1417:       virtual int
1417:       do_max_length() const throw();
1417:     };
1417: # 698 "/usr/include/c++/12/bits/codecvt.h" 3
1417:   template<typename _InternT, typename _ExternT, typename _StateT>
1417:     class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
1417:     {
1417:     public:
1417:       explicit
1417:       codecvt_byname(const char* __s, size_t __refs = 0)
1417:       : codecvt<_InternT, _ExternT, _StateT>(__refs)
1417:       {
1417:  if (__builtin_strcmp(__s, "C") != 0
1417:      && __builtin_strcmp(__s, "POSIX") != 0)
1417:    {
1417:      this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
1417:      this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
1417:    }
1417:       }
1417: 
1417: 
1417:       explicit
1417:       codecvt_byname(const string& __s, size_t __refs = 0)
1417:  34:       { return const_reverse_iterator(this->begin()); }
1434: 
1434:       constexpr const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return const_reverse_iterator(this->end()); }
1434: 
1434:       constexpr const_reverse_iterator
1434:       crend() const noexcept
1434:       { return const_reverse_iterator(this->begin()); }
1434: 
1434: 
1434: 
1434:       constexpr size_type
1434:       size() const noexcept
1434:       { return this->_M_len; }
1434: 
1434:       constexpr size_type
1434:       length() const noexcept
1434:       { return _M_len; }
1434: 
1434:       constexpr size_type
1434:       max_size() const noexcept
1434:       {
1434:  return (npos - sizeof(size_type) - sizeof(void*))
1434:   / sizeof(value_type) / 4;
1434:       }
1434: 
1434:       [[nodiscard]] constexpr bool
1434:       empty() const noexcept
1434:       { return this->_M_len == 0; }
1434: 
1434: 
1434: 
1434:       constexpr const_reference
1434:       operator[](size_type __pos) const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos < this->_M_len)) __builtin_unreachable(); } while (false);
1434:  return *(this->_M_str + __pos);
1434:       }
1434: 
1434:       constexpr const_reference
1434:       at(size_type __pos) const
1434:       {
1434:  if (__pos >= _M_len)
1434:    __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)")
1434: 
1434:                             , __pos, this->size());
1434:  return *(this->_M_str + __pos);
1434:       }
1434: 
1434:       constexpr const_reference
1434:       front() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1434:  return *this->_M_str;
1434:       }
1434: 
1434:       constexpr const_reference
1434:       back() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len > 0)) __builtin_unreachable(); } while (false);
1434:  return *(this->_M_str + this->_M_len - 1);
1434:       }
1434: 
1434:       constexpr const_pointer
1434:       data() const noexcept
1434:       { return this->_M_str; }
1434: 
1434: 
1434: 
1434:       constexpr void
1434:       remove_prefix(size_type __n) noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(this->_M_len >= __n)) __builtin_unreachable(); } while (false);
1434:  this->_M_str += __n;
1434:  this->_M_len -= __n;
1434:       }
1434: 
1434:       constexpr void
1434:       remove_suffix(size_type __n) noexcept
1434:       { this->_M_len -= __n; }
1434: 
1434:       constexpr void
1434:       swap(basic_string_view& __sv) noexcept
1434:       {
1434:  auto __tmp = *this;
1434:  *this = __sv;
1434:  __sv = __tmp;
1434:       }
1434: 
1434: 
1434: 
1434:      
1434:       size_type
1434:       copy(_CharT* __str, size_type __n, size_type __pos = 0) const
1434:       {
1434:  ;
1434:  __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
1434:  const size_type __rlen = std::min(__n, _M_len - __pos);
1434: 
1434: 
1434:  traits_type::copy(__str, data() + __pos, __rlen);
1434:  return __rlen;
1434:       }
1434: 
1434:       constexpr basic_string_view
1434:       substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
1434:       {
1434:  __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
1434:  const size_type __rlen = std::min(__n, _M_len - __pos);
1434:  return basic_string_view{_M_str + __pos, __rlen};
1434:       }
1434: 
1434:       constexpr int
1434:       compare(basic_string_view __str) const noexcept
1434:       {
1434:  const size_type __rlen = std::min(this->_M_len, __str._M_len);
1434:  int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
1434:  if (__ret == 0)
1434:    __ret = _S_compare(this->_M_len, __str._M_len);
1434:  return __ret;
1434:       }
1434: 
1434:       constexpr int
1434:       compare(size_type __pos1, size_type __n1, basic_string_view __str) const
1434:       { return this->substr(__po(__gthread_active_p ()) return pthread_rwlock_trywrlock (__rwlock); else return 0; }
1412:   ; static inline int __glibcxx_rwlock_unlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_unlock (__rwlock); else return 0; }
1412: # 96 "/usr/include/c++/12/shared_mutex" 3
1412:    ;
1412:   static inline int
1412:   __glibcxx_rwlock_timedrdlock (pthread_rwlock_t *__rwlock,
1412:     const timespec *__ts)
1412:   {
1412:     if (__gthread_active_p ())
1412:       return pthread_rwlock_timedrdlock (__rwlock, __ts);
1412:     else
1412:       return 0;
1412:   }
1412:    ;
1412:   static inline int
1412:   __glibcxx_rwlock_timedwrlock (pthread_rwlock_t *__rwlock,
1412:     const timespec *__ts)
1412:   {
1412:     if (__gthread_active_p ())
1412:       return pthread_rwlock_timedwrlock (__rwlock, __ts);
1412:     else
1412:       return 0;
1412:   }
1412: # 152 "/usr/include/c++/12/shared_mutex" 3
1412:   class __shared_mutex_pthread
1412:   {
1412:     friend class shared_timed_mutex;
1412: 
1412: 
1412:     pthread_rwlock_t _M_rwlock = { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_DEFAULT_NP, 0, 0, 0, 0 } };
1412: 
1412:   public:
1412:     __shared_mutex_pthread() = default;
1412:     ~__shared_mutex_pthread() = default;
1412: # 187 "/usr/include/c++/12/shared_mutex" 3
1412:     __shared_mutex_pthread(const __shared_mutex_pthread&) = delete;
1412:     __shared_mutex_pthread& operator=(const __shared_mutex_pthread&) = delete;
1412: 
1412:     void
1412:     lock()
1412:     {
1412:       int __ret = __glibcxx_rwlock_wrlock(&_M_rwlock);
1412:       if (__ret == 35)
1412:  __throw_system_error(int(errc::resource_deadlock_would_occur));
1412: 
1412:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:     }
1412: 
1412:     bool
1412:     try_lock()
1412:     {
1412:       int __ret = __glibcxx_rwlock_trywrlock(&_M_rwlock);
1412:       if (__ret == 16) return false;
1412: 
1412:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:       return true;
1412:     }
1412: 
1412:     void
1412:     unlock()
1412:     {
1412:       int __ret __attribute((__unused__)) = __glibcxx_rwlock_unlock(&_M_rwlock);
1412: 
1412:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:     }
1412: 
1412: 
1412: 
1412:     void
1412:     lock_shared()
1412:     {
1412:       int __ret;
1412: 
1412: 
1412: 
1412: 
1412:       do
1412:  __ret = __glibcxx_rwlock_rdlock(&_M_rwlock);
1412:       while (__ret == 11);
1412:       if (__ret == 35)
1412:  __throw_system_error(int(errc::resource_deadlock_would_occur));
1412: 
1412:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:     }
1412: 
1412:     bool
1412:     try_lock_shared()
1412:     {
1412:       int __ret = __glibcxx_rwlock_tryrdlock(&_M_rwlock);
1412: 
1412: 
1412: 
1412:       if (__ret == 16 || __ret == 11) return false;
1412: 
1412:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:       return true;
1412:     }
1412: 
1412:     void
1412:     unlock_shared()
1412:     {
1412:       unlock();
1412:     }
1412: 
1412:     void* native_handle() { return &_M_rwlock; }
1412:   };
1412: # 409 "/usr/include/c++/12/shared_mutex" 3
1412:   class shared_mutex
1412:   {
1412:   public:
1412:     shared_mutex() = default;
1412:     ~shared_mutex() = default;
1412: 
1412:     shared_mutex(const shared_mutex&) = delete;
1412:     shared_mutex& operator=(const shared_mutex&) = delete;
1412: 
1412: 
1412: 
1412:     void lock() { _M_impl.lock(); }
1412:     bool try_lock() { return _M_impl.try_lock(); }
1412:     void unlock() { _M_impl.unlock(); }
1412: 
1412: 
1412: 
1412:     void lock_shared() { _M_impl.lock_shared(); }
1412:     bool try_lock_shared() { return _M_impl.try_lock_shared(); }
1412:     void unlock_shared() { _M_impl.unlock_shared(); }
1412: 
1412: 
1412:s1, __n1).compare(__str); }
1434: 
1434:       constexpr int
1434:       compare(size_type __pos1, size_type __n1,
1434:        basic_string_view __str, size_type __pos2, size_type __n2) const
1434:       {
1434:  return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
1434:       }
1434: 
1434:       __attribute__((__nonnull__)) constexpr int
1434:       compare(const _CharT* __str) const noexcept
1434:       { return this->compare(basic_string_view{__str}); }
1434: 
1434:       __attribute__((__nonnull__)) constexpr int
1434:       compare(size_type __pos1, size_type __n1, const _CharT* __str) const
1434:       { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
1434: 
1434:       constexpr int
1434:       compare(size_type __pos1, size_type __n1,
1434:        const _CharT* __str, size_type __n2) const noexcept(false)
1434:       {
1434:  return this->substr(__pos1, __n1)
1434:      .compare(basic_string_view(__str, __n2));
1434:       }
1434: # 402 "/usr/include/c++/12/string_view" 3
1434:       constexpr size_type
1434:       find(basic_string_view __str, size_type __pos = 0) const noexcept
1434:       { return this->find(__str._M_str, __pos, __str._M_len); }
1434: 
1434:       constexpr size_type
1434:       find(_CharT __c, size_type __pos = 0) const noexcept;
1434: 
1434:       constexpr size_type
1434:       find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1434: 
1434:       __attribute__((__nonnull__)) constexpr size_type
1434:       find(const _CharT* __str, size_type __pos = 0) const noexcept
1434:       { return this->find(__str, __pos, traits_type::length(__str)); }
1434: 
1434:       constexpr size_type
1434:       rfind(basic_string_view __str, size_type __pos = npos) const noexcept
1434:       { return this->rfind(__str._M_str, __pos, __str._M_len); }
1434: 
1434:       constexpr size_type
1434:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1434: 
1434:       constexpr size_type
1434:       rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
1434: 
1434:       __attribute__((__nonnull__)) constexpr size_type
1434:       rfind(const _CharT* __str, size_type __pos = npos) const noexcept
1434:       { return this->rfind(__str, __pos, traits_type::length(__str)); }
1434: 
1434:       constexpr size_type
1434:       find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
1434:       { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
1434: 
1434:       constexpr size_type
1434:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1434:       { return this->find(__c, __pos); }
1434: 
1434:       constexpr size_type
1434:       find_first_of(const _CharT* __str, size_type __pos,
1434:       size_type __n) const noexcept;
1434: 
1434:       __attribute__((__nonnull__)) constexpr size_type
1434:       find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
1434:       { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
1434: 
1434:       constexpr size_type
1434:       find_last_of(basic_string_view __str,
1434:      size_type __pos = npos) const noexcept
1434:       { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
1434: 
1434:       constexpr size_type
1434:       find_last_of(_CharT __c, size_type __pos=npos) const noexcept
1434:       { return this->rfind(__c, __pos); }
1434: 
1434:       constexpr size_type
1434:       find_last_of(const _CharT* __str, size_type __pos,
1434:      size_type __n) const noexcept;
1434: 
1434:       __attribute__((__nonnull__)) constexpr size_type
1434:       find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
1434:       { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
1434: 
1434:       constexpr size_type
1434:       find_first_not_of(basic_string_view __str,
1434:    size_type __pos = 0) const noexcept
1434:       { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
1434: 
1434:       constexpr size_type
1434:         : codecvt_byname(__s.c_str(), __refs) { }
1417: 
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt_byname() { }
1417:     };
1417: 
1417: 
1417:   template<>
1417:     class codecvt_byname<char16_t, char, mbstate_t>
1417:     : public codecvt<char16_t, char, mbstate_t>
1417:     {
1417:     public:
1417:       explicit
1417:       codecvt_byname(const char*, size_t __refs = 0)
1417:       : codecvt<char16_t, char, mbstate_t>(__refs) { }
1417: 
1417:       explicit
1417:       codecvt_byname(const string& __s, size_t __refs = 0)
1417:       : codecvt_byname(__s.c_str(), __refs) { }
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt_byname() { }
1417:     };
1417: 
1417:   template<>
1417:     class codecvt_byname<char32_t, char, mbstate_t>
1417:     : public codecvt<char32_t, char, mbstate_t>
1417:     {
1417:     public:
1417:       explicit
1417:       codecvt_byname(const char*, size_t __refs = 0)
1417:       : codecvt<char32_t, char, mbstate_t>(__refs) { }
1417: 
1417:       explicit
1417:       codecvt_byname(const string& __s, size_t __refs = 0)
1417:       : codecvt_byname(__s.c_str(), __refs) { }
1417: 
1417:     protected:
1417:       virtual
1417:       ~codecvt_byname() { }
1417:     };
1417: # 805 "/usr/include/c++/12/bits/codecvt.h" 3
1417:   extern template class codecvt_byname<char, char, mbstate_t>;
1417: 
1417:   extern template
1417:     const codecvt<char, char, mbstate_t>&
1417:     use_facet<codecvt<char, char, mbstate_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<codecvt<char, char, mbstate_t> >(const locale&);
1417: 
1417: 
1417:   extern template class codecvt_byname<wchar_t, char, mbstate_t>;
1417: 
1417:   extern template
1417:     const codecvt<wchar_t, char, mbstate_t>&
1417:     use_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
1417: 
1417: 
1417: 
1417:   extern template class codecvt_byname<char16_t, char, mbstate_t>;
1417:   extern template class codecvt_byname<char32_t, char, mbstate_t>;
1417: # 840 "/usr/include/c++/12/bits/codecvt.h" 3
1417: 
1417: }
1417: # 2068 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 1 3
1417: # 33 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
1417:     {
1417:       const __moneypunct_cache<_CharT, _Intl>*
1417:       operator() (const locale& __loc) const
1417:       {
1417:  const size_t __i = moneypunct<_CharT, _Intl>::id._M_id();
1417:  const locale::facet** __caches = __loc._M_impl->_M_caches;
1417:  if (!__caches[__i])
1417:    {
1417:      __moneypunct_cache<_CharT, _Intl>* __tmp = 0;
1417:      try
1417:        {
1417:   __tmp = new __moneypunct_cache<_CharT, _Intl>;
1417:   __tmp->_M_cache(__loc);
1417:        }
1417:      catch(...)
1417:        {
1417:   delete __tmp;
1417:   throw;
1417:        }
1417:      __loc._M_impl->_M_install_cache(__tmp, __i);
1417:    }
1417:  return static_cast<
1417:    const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]);
1417:       }
1417:     };
1417: 
1417:   template<typename _CharT, bool _Intl>
1417:     void
1417:     __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
1417:     {
1417:       const moneypunct<_CharT, _Intl>& __mp =
1417:  use_facet<moneypunct<_CharT, _Intl> >(__loc);
1417: 
1417:       struct _Scoped_str
1417:       {
1417:  size_t _M_len;
1417:  _CharT* _M_str;
1417: 
1417:  explicit
1417:  _Scoped_str(const basic_string<_CharT>& __str)
1417:  : _M_len(__str.size()), _M_str(new _CharT[_M_len])
1417:  { __str.copy(_M_str, _M_len); }
1417: 
1417:  ~_Scoped_str() { delete[] _M_str; }
1417: 
1417:  void
1417:  _M_rele   find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
1434: 
1434:       constexpr size_type
1434:       find_first_not_of(const _CharT* __str,
1434:    size_type __pos, size_type __n) const noexcept;
1434: 
1434:       __attribute__((__nonnull__)) constexpr size_type
1434:       find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
1434:       {
1434:  return this->find_first_not_of(__str, __pos,
1434:            traits_type::length(__str));
1434:       }
1434: 
1434:       constexpr size_type
1434:       find_last_not_of(basic_string_view __str,
1434:          size_type __pos = npos) const noexcept
1434:       { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
1434: 
1434:       constexpr size_type
1434:       find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
1434: 
1434:       constexpr size_type
1434:       find_last_not_of(const _CharT* __str,
1434:          size_type __pos, size_type __n) const noexcept;
1434: 
1434:       __attribute__((__nonnull__)) constexpr size_type
1434:       find_last_not_of(const _CharT* __str,
1434:          size_type __pos = npos) const noexcept
1434:       {
1434:  return this->find_last_not_of(__str, __pos,
1434:           traits_type::length(__str));
1434:       }
1434: 
1434:     private:
1434: 
1434:       static constexpr int
1434:       _S_compare(size_type __n1, size_type __n2) noexcept
1434:       {
1434:  using __limits = __gnu_cxx::__int_traits<int>;
1434:  const difference_type __diff = __n1 - __n2;
1434:  if (__diff > __limits::__max)
1434:    return __limits::__max;
1434:  if (__diff < __limits::__min)
1434:    return __limits::__min;
1434:  return static_cast<int>(__diff);
1434:       }
1434: 
1434:       size_t _M_len;
1434:       const _CharT* _M_str;
1434:     };
1434: # 538 "/usr/include/c++/12/string_view" 3
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator==(basic_string_view<_CharT, _Traits> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator==(basic_string_view<_CharT, _Traits> __x,
1434:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1434:     noexcept
1434:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1434: # 567 "/usr/include/c++/12/string_view" 3
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.size() == __y.size() && __x.compare(__y) == 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator!=(basic_string_view<_CharT, _Traits> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return !(__x == __y); }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator!=(basic_string_view<_CharT, _Traits> __x,
1434:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1434:     noexcept
1434:     { return !(__x == __y); }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return !(__x == __y); }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator< (basic_string_view<_CharT, _Traits> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) < 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator< (basic_string_view<_CharT, _Traits> __x,
1434:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
14     typedef void* native_handle_type;
1412:     native_handle_type native_handle() { return _M_impl.native_handle(); }
1412: 
1412:   private:
1412:     __shared_mutex_pthread _M_impl;
1412: 
1412: 
1412: 
1412: 
1412:   };
1412: 
1412: 
1412: 
1412: 
1412:   using __shared_timed_mutex_base = __shared_mutex_pthread;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class shared_timed_mutex
1412:   : private __shared_timed_mutex_base
1412:   {
1412:     using _Base = __shared_timed_mutex_base;
1412: 
1412: 
1412: 
1412:     using __clock_t = chrono::steady_clock;
1412: 
1412: 
1412: 
1412: 
1412:   public:
1412:     shared_timed_mutex() = default;
1412:     ~shared_timed_mutex() = default;
1412: 
1412:     shared_timed_mutex(const shared_timed_mutex&) = delete;
1412:     shared_timed_mutex& operator=(const shared_timed_mutex&) = delete;
1412: 
1412: 
1412: 
1412:     void lock() { _Base::lock(); }
1412:     bool try_lock() { return _Base::try_lock(); }
1412:     void unlock() { _Base::unlock(); }
1412: 
1412:     template<typename _Rep, typename _Period>
1412:       bool
1412:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1412:       {
1412:  auto __rt = chrono::duration_cast<__clock_t::duration>(__rtime);
1412:  if (ratio_greater<__clock_t::period, _Period>())
1412:    ++__rt;
1412:  return try_lock_until(__clock_t::now() + __rt);
1412:       }
1412: 
1412: 
1412: 
1412:     void lock_shared() { _Base::lock_shared(); }
1412:     bool try_lock_shared() { return _Base::try_lock_shared(); }
1412:     void unlock_shared() { _Base::unlock_shared(); }
1412: 
1412:     template<typename _Rep, typename _Period>
1412:       bool
1412:       try_lock_shared_for(const chrono::duration<_Rep, _Period>& __rtime)
1412:       {
1412:  auto __rt = chrono::duration_cast<__clock_t::duration>(__rtime);
1412:  if (ratio_greater<__clock_t::period, _Period>())
1412:    ++__rt;
1412:  return try_lock_shared_until(__clock_t::now() + __rt);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _Duration>
1412:       bool
1412:       try_lock_until(const chrono::time_point<chrono::system_clock,
1412:        _Duration>& __atime)
1412:       {
1412:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:  __gthread_time_t __ts =
1412:    {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:  int __ret = __glibcxx_rwlock_timedwrlock(&_M_rwlock, &__ts);
1412: 
1412: 
1412:  if (__ret == 110 || __ret == 35)
1412:    return false;
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:  return true;
1412:       }
1412: 
1412: 
1412:     template<typename _Duration>
1412:       bool
1412:       try_lock_until(const chrono::time_point<chrono::steady_clock,
1412:      _Duration>& __atime)
1412:       {
1412:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:  __gthread_time_t __ts =
1412:    {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:  int __ret = pthread_rwlock_clockwrlock(&_M_rwlock, 1,
1412:             &__ts);
1412: 
1412: 
1412:  if (__ret == 110 || __ret == 35)
1412:    return false;
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:  return true;
1412:       }
1412: 
1412: 
1412:     template<typename _Clock, typename _Duration>
1412:       bool
1412:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  typename _Clock::time_point __now = _Clock::now();
1412:  do {
1412:      auto __rtime = __atime - __now;
1412:      if (try_lock_for(__rtime))
1412:        return true;
1412:      __now = _Clock::now();
1412: 34:     noexcept
1434:     { return __x.compare(__y) < 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) < 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator> (basic_string_view<_CharT, _Traits> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) > 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator> (basic_string_view<_CharT, _Traits> __x,
1434:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1434:     noexcept
1434:     { return __x.compare(__y) > 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) > 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator<=(basic_string_view<_CharT, _Traits> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) <= 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator<=(basic_string_view<_CharT, _Traits> __x,
1434:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1434:     noexcept
1434:     { return __x.compare(__y) <= 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) <= 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator>=(basic_string_view<_CharT, _Traits> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) >= 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator>=(basic_string_view<_CharT, _Traits> __x,
1434:                __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
1434:     noexcept
1434:     { return __x.compare(__y) >= 0; }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr bool
1434:     operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
1434:                basic_string_view<_CharT, _Traits> __y) noexcept
1434:     { return __x.compare(__y) >= 0; }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1434:         basic_string_view<_CharT,_Traits> __str)
1434:     { return __ostream_insert(__os, __str.data(), __str.size()); }
1434: 
1434: 
1434: 
1434: 
1434:   using string_view = basic_string_view<char>;
1434:   using wstring_view = basic_string_view<wchar_t>;
1434: 
1434: 
1434: 
1434:   using u16string_view = basic_string_view<char16_t>;
1434:   using u32string_view = basic_string_view<char32_t>;
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct hash;
1434: 
1434:   template<>
1434:     struct hash<string_view>
1434:     : public __hash_base<size_t, string_view>
1434:     {
1434:       size_t
1434:       operator()(const string_view& __str) const noexcept
1434:       { return std::_Hash_impl::hash(__str.data(), __str.length()); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<string_view>> : std::false_type
1434:     { };
1434: 
1434:   template<>
1434:     struct hash<wstring_view>
1434:     : public __hash_base<size_t, wstring_view>
1434:     {
1434:       size_t
1434:       operator()(const wstring_view& __s) const noexcept
1434:   ase(const _CharT*& __p, size_t& __n)
1417:  {
1417:    __p = _M_str;
1417:    __n = _M_len;
1417:    _M_str = 0;
1417:  }
1417:       };
1417: 
1417:       _Scoped_str __curr_symbol(__mp.curr_symbol());
1417:       _Scoped_str __positive_sign(__mp.positive_sign());
1417:       _Scoped_str __negative_sign(__mp.negative_sign());
1417: 
1417:       const string& __g = __mp.grouping();
1417:       const size_t __g_size = __g.size();
1417:       char* const __grouping = new char[__g_size];
1417:       __g.copy(__grouping, __g_size);
1417: 
1417: 
1417: 
1417:       _M_grouping = __grouping;
1417:       _M_grouping_size = __g_size;
1417:       _M_use_grouping = (__g_size
1417:     && static_cast<signed char>(__grouping[0]) > 0
1417:     && (__grouping[0]
1417:         != __gnu_cxx::__numeric_traits<char>::__max));
1417: 
1417:       _M_decimal_point = __mp.decimal_point();
1417:       _M_thousands_sep = __mp.thousands_sep();
1417: 
1417:       __curr_symbol._M_release(_M_curr_symbol, _M_curr_symbol_size);
1417:       __positive_sign._M_release(_M_positive_sign, _M_positive_sign_size);
1417:       __negative_sign._M_release(_M_negative_sign, _M_negative_sign_size);
1417: 
1417:       _M_frac_digits = __mp.frac_digits();
1417:       _M_pos_format = __mp.pos_format();
1417:       _M_neg_format = __mp.neg_format();
1417: 
1417:       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
1417:       __ct.widen(money_base::_S_atoms,
1417:    money_base::_S_atoms + money_base::_S_end, _M_atoms);
1417: 
1417:       _M_allocated = true;
1417:     }
1417: 
1417: namespace __cxx11 {
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     template<bool _Intl>
1417:       _InIter
1417:       money_get<_CharT, _InIter>::
1417:       _M_extract(iter_type __beg, iter_type __end, ios_base& __io,
1417:    ios_base::iostate& __err, string& __units) const
1417:       {
1417:  typedef char_traits<_CharT> __traits_type;
1417:  typedef typename string_type::size_type size_type;
1417:  typedef money_base::part part;
1417:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1417: 
1417:  const locale& __loc = __io._M_getloc();
1417:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:  __use_cache<__cache_type> __uc;
1417:  const __cache_type* __lc = __uc(__loc);
1417:  const char_type* __lit = __lc->_M_atoms;
1417: 
1417: 
1417:  bool __negative = false;
1417: 
1417:  size_type __sign_size = 0;
1417: 
1417:  const bool __mandatory_sign = (__lc->_M_positive_sign_size
1417:            && __lc->_M_negative_sign_size);
1417: 
1417:  string __grouping_tmp;
1417:  if (__lc->_M_use_grouping)
1417:    __grouping_tmp.reserve(32);
1417: 
1417:  int __last_pos = 0;
1417: 
1417:  int __n = 0;
1417: 
1417:  bool __testvalid = true;
1417: 
1417:  bool __testdecfound = false;
1417: 
1417: 
1417:  string __res;
1417:  __res.reserve(32);
1417: 
1417:  const char_type* __lit_zero = __lit + money_base::_S_zero;
1417:  const money_base::pattern __p = __lc->_M_neg_format;
1417:  for (int __i = 0; __i < 4 && __testvalid; ++__i)
1417:    {
1417:      const part __which = static_cast<part>(__p.field[__i]);
1417:      switch (__which)
1417:        {
1417:        case money_base::symbol:
1417: 
1417: 
1417: 
1417: 
1417:   if (__io.flags() & ios_base::showbase || __sign_size > 1
1417:       || __i == 0
1417:       || (__i == 1 && (__mandatory_sign
1417:          || (static_cast<part>(__p.field[0])
1417:       == money_base::sign)
1417:          || (static_cast<part>(__p.field[2])
1417:       == money_base::space)))
1417:       || (__i == 2 && ((static_cast<part>(__p.field[3])
1417:           == money_base::value)
1417:          || (__mandatory_sign
1417:       && (static_cast<part>(__p.field[3])
1417:           == money_base::sign)))))
1417:     {
1417:       const size_type __len = __lc->_M_curr_symbol_size;
1417:       size_type __j = 0;
1417:       for (; __beg != __end && __j < __len
1417:       && *__beg == __lc->_M_curr_symbol[__j];
1417:     ++__beg, (void)++__j);
1417:       if (__j != __len
1417:    && (__j || __io.    { return std::_Hash_impl::hash(__s.data(),
1434:                                      __s.length() * sizeof(wchar_t)); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<wstring_view>> : std::false_type
1434:     { };
1434: # 734 "/usr/include/c++/12/string_view" 3
1434:   template<>
1434:     struct hash<u16string_view>
1434:     : public __hash_base<size_t, u16string_view>
1434:     {
1434:       size_t
1434:       operator()(const u16string_view& __s) const noexcept
1434:       { return std::_Hash_impl::hash(__s.data(),
1434:                                      __s.length() * sizeof(char16_t)); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<u16string_view>> : std::false_type
1434:     { };
1434: 
1434:   template<>
1434:     struct hash<u32string_view>
1434:     : public __hash_base<size_t, u32string_view>
1434:     {
1434:       size_t
1434:       operator()(const u32string_view& __s) const noexcept
1434:       { return std::_Hash_impl::hash(__s.data(),
1434:                                      __s.length() * sizeof(char32_t)); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<u32string_view>> : std::false_type
1434:     { };
1434: 
1434:   inline namespace literals
1434:   {
1434:   inline namespace string_view_literals
1434:   {
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1434:     inline constexpr basic_string_view<char>
1434:     operator""sv(const char* __str, size_t __len) noexcept
1434:     { return basic_string_view<char>{__str, __len}; }
1434: 
1434:     inline constexpr basic_string_view<wchar_t>
1434:     operator""sv(const wchar_t* __str, size_t __len) noexcept
1434:     { return basic_string_view<wchar_t>{__str, __len}; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     inline constexpr basic_string_view<char16_t>
1434:     operator""sv(const char16_t* __str, size_t __len) noexcept
1434:     { return basic_string_view<char16_t>{__str, __len}; }
1434: 
1434:     inline constexpr basic_string_view<char32_t>
1434:     operator""sv(const char32_t* __str, size_t __len) noexcept
1434:     { return basic_string_view<char32_t>{__str, __len}; }
1434: 
1434: #pragma GCC diagnostic pop
1434:   }
1434:   }
1434: # 808 "/usr/include/c++/12/string_view" 3
1434: 
1434: }
1434: 
1434: # 1 "/usr/include/c++/12/bits/string_view.tcc" 1 3
1434: # 37 "/usr/include/c++/12/bits/string_view.tcc" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/string_view.tcc" 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1434:     {
1434:       ;
1434: 
1434:       if (__n == 0)
1434:  return __pos <= _M_len ? __pos : npos;
1434:       if (__pos >= _M_len)
1434:  return npos;
1434: 
1434:       const _CharT __elem0 = __str[0];
1434:       const _CharT* __first = _M_str + __pos;
1434:       const _CharT* const __last = _M_str + _M_len;
1434:       size_type __len = _M_len - __pos;
1434: 
1434:       while (__len >= __n)
1434:  {
1434: 
1434:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1434:    if (!__first)
1434:      return npos;
1434: 
1434: 
1434: 
1434:    if (traits_type::compare(__first, __str, __n) == 0)
1434:      return __first - _M_str;
1434:    __len = __last - ++__first;
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       size_type __ret = npos;
1434:       if (__pos < this->_M_len)
1434:  {
1434:    const size_type __n = this->_M_len - __pos;
1434:    const _CharT* __p = traits_type::find(thi } while (__atime > __now);
1412:  return false;
1412:       }
1412: 
1412: 
1412: 
1412:     template<typename _Duration>
1412:       bool
1412:       try_lock_shared_until(const chrono::time_point<chrono::system_clock,
1412:        _Duration>& __atime)
1412:       {
1412:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:  __gthread_time_t __ts =
1412:    {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:  int __ret;
1412: # 608 "/usr/include/c++/12/shared_mutex" 3
1412:  do
1412:    __ret = __glibcxx_rwlock_timedrdlock(&_M_rwlock, &__ts);
1412:  while (__ret == 11 || __ret == 35);
1412:  if (__ret == 110)
1412:    return false;
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:  return true;
1412:       }
1412: 
1412: 
1412:     template<typename _Duration>
1412:       bool
1412:       try_lock_shared_until(const chrono::time_point<chrono::steady_clock,
1412:        _Duration>& __atime)
1412:       {
1412:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1412:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1412: 
1412:  __gthread_time_t __ts =
1412:    {
1412:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1412:      static_cast<long>(__ns.count())
1412:    };
1412: 
1412:  int __ret = pthread_rwlock_clockrdlock(&_M_rwlock, 1,
1412:             &__ts);
1412: 
1412: 
1412:  if (__ret == 110 || __ret == 35)
1412:    return false;
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1412:  return true;
1412:       }
1412: 
1412: 
1412:     template<typename _Clock, typename _Duration>
1412:       bool
1412:       try_lock_shared_until(const chrono::time_point<_Clock,
1412:            _Duration>& __atime)
1412:       {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  typename _Clock::time_point __now = _Clock::now();
1412:  do {
1412:      auto __rtime = __atime - __now;
1412:      if (try_lock_shared_for(__rtime))
1412:        return true;
1412:      __now = _Clock::now();
1412:  } while (__atime > __now);
1412:  return false;
1412:       }
1412: # 710 "/usr/include/c++/12/shared_mutex" 3
1412:   };
1412: 
1412: 
1412: 
1412:   template<typename _Mutex>
1412:     class shared_lock
1412:     {
1412:     public:
1412:       typedef _Mutex mutex_type;
1412: 
1412: 
1412: 
1412:       shared_lock() noexcept : _M_pm(nullptr), _M_owns(false) { }
1412: 
1412:       explicit
1412:       shared_lock(mutex_type& __m)
1412:       : _M_pm(std::__addressof(__m)), _M_owns(true)
1412:       { __m.lock_shared(); }
1412: 
1412:       shared_lock(mutex_type& __m, defer_lock_t) noexcept
1412:       : _M_pm(std::__addressof(__m)), _M_owns(false) { }
1412: 
1412:       shared_lock(mutex_type& __m, try_to_lock_t)
1412:       : _M_pm(std::__addressof(__m)), _M_owns(__m.try_lock_shared()) { }
1412: 
1412:       shared_lock(mutex_type& __m, adopt_lock_t)
1412:       : _M_pm(std::__addressof(__m)), _M_owns(true) { }
1412: 
1412:       template<typename _Clock, typename _Duration>
1412:  shared_lock(mutex_type& __m,
1412:       const chrono::time_point<_Clock, _Duration>& __abs_time)
1412:       : _M_pm(std::__addressof(__m)),
1412:  _M_owns(__m.try_lock_shared_until(__abs_time)) { }
1412: 
1412:       template<typename _Rep, typename _Period>
1412:  shared_lock(mutex_type& __m,
1412:       const chrono::duration<_Rep, _Period>& __rel_time)
1412:       : _M_pm(std::__addressof(__m)),
1412:  _M_owns(__m.try_lock_shared_for(__rel_time)) { }
1412: 
1412:       ~shared_lock()
1412:       {
1412:  if (_M_owns)
1412:    _M_pm->unlock_shared();
1412:       }
1412: 
1412:       shared_lock(shared_lock const&) = delete;
1412:       shared_lock& operator=(shared_lock const&) = delete;
1412: 
1412:       shared_lock(shared_lock&& __sl) noexcept : shared_lock()
1412:       { swap(__s->_M_str + __pos, __n, __c);
1434:    if (__p)
1434:      __ret = __p - this->_M_str;
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
1434:     {
1434:       ;
1434: 
1434:       if (__n <= this->_M_len)
1434:  {
1434:    __pos = std::min(size_type(this->_M_len - __n), __pos);
1434:    do
1434:      {
1434:        if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
1434:   return __pos;
1434:      }
1434:    while (__pos-- > 0);
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     rfind(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       size_type __size = this->_M_len;
1434:       if (__size > 0)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    for (++__size; __size-- > 0; )
1434:      if (traits_type::eq(this->_M_str[__size], __c))
1434:        return __size;
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find_first_of(const _CharT* __str, size_type __pos,
1434:     size_type __n) const noexcept
1434:     {
1434:       ;
1434:       for (; __n && __pos < this->_M_len; ++__pos)
1434:  {
1434:    const _CharT* __p = traits_type::find(__str, __n,
1434:       this->_M_str[__pos]);
1434:    if (__p)
1434:      return __pos;
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find_last_of(const _CharT* __str, size_type __pos,
1434:    size_type __n) const noexcept
1434:     {
1434:       ;
1434:       size_type __size = this->size();
1434:       if (__size && __n)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    do
1434:      {
1434:        if (traits_type::find(__str, __n, this->_M_str[__size]))
1434:   return __size;
1434:      }
1434:    while (__size-- != 0);
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find_first_not_of(const _CharT* __str, size_type __pos,
1434:         size_type __n) const noexcept
1434:     {
1434:       ;
1434:       for (; __pos < this->_M_len; ++__pos)
1434:  if (!traits_type::find(__str, __n, this->_M_str[__pos]))
1434:    return __pos;
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       for (; __pos < this->_M_len; ++__pos)
1434:  if (!traits_type::eq(this->_M_str[__pos], __c))
1434:    return __pos;
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find_last_not_of(const _CharT* __str, size_type __pos,
1434:        size_type __n) const noexcept
1434:     {
1434:       ;
1434:       size_type __size = this->_M_len;
1434:       if (__size)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    do
1434:      {
1434:        if (!traits_type::find(__str, __n, this->_M_str[__size]))
1434:   return __size;
1434:      }
1434:    while (__size--);
1434:  }
1434:       returflags() & ios_base::showbase))
1417:         __testvalid = false;
1417:     }
1417:   break;
1417:        case money_base::sign:
1417: 
1417:   if (__lc->_M_positive_sign_size && __beg != __end
1417:       && *__beg == __lc->_M_positive_sign[0])
1417:     {
1417:       __sign_size = __lc->_M_positive_sign_size;
1417:       ++__beg;
1417:     }
1417:   else if (__lc->_M_negative_sign_size && __beg != __end
1417:     && *__beg == __lc->_M_negative_sign[0])
1417:     {
1417:       __negative = true;
1417:       __sign_size = __lc->_M_negative_sign_size;
1417:       ++__beg;
1417:     }
1417:   else if (__lc->_M_positive_sign_size
1417:     && !__lc->_M_negative_sign_size)
1417: 
1417: 
1417:     __negative = true;
1417:   else if (__mandatory_sign)
1417:     __testvalid = false;
1417:   break;
1417:        case money_base::value:
1417: 
1417: 
1417:   for (; __beg != __end; ++__beg)
1417:     {
1417:       const char_type __c = *__beg;
1417:       const char_type* __q = __traits_type::find(__lit_zero,
1417:               10, __c);
1417:       if (__q != 0)
1417:         {
1417:    __res += money_base::_S_atoms[__q - __lit];
1417:    ++__n;
1417:         }
1417:       else if (__c == __lc->_M_decimal_point
1417:         && !__testdecfound)
1417:         {
1417:    if (__lc->_M_frac_digits <= 0)
1417:      break;
1417: 
1417:    __last_pos = __n;
1417:    __n = 0;
1417:    __testdecfound = true;
1417:         }
1417:       else if (__lc->_M_use_grouping
1417:         && __c == __lc->_M_thousands_sep
1417:         && !__testdecfound)
1417:         {
1417:    if (__n)
1417:      {
1417: 
1417:        __grouping_tmp += static_cast<char>(__n);
1417:        __n = 0;
1417:      }
1417:    else
1417:      {
1417:        __testvalid = false;
1417:        break;
1417:      }
1417:         }
1417:       else
1417:         break;
1417:     }
1417:   if (__res.empty())
1417:     __testvalid = false;
1417:   break;
1417:        case money_base::space:
1417: 
1417:   if (__beg != __end && __ctype.is(ctype_base::space, *__beg))
1417:     ++__beg;
1417:   else
1417:     __testvalid = false;
1417: 
1417:        case money_base::none:
1417: 
1417:   if (__i != 3)
1417:     for (; __beg != __end
1417:     && __ctype.is(ctype_base::space, *__beg); ++__beg);
1417:   break;
1417:        }
1417:    }
1417: 
1417: 
1417:  if (__sign_size > 1 && __testvalid)
1417:    {
1417:      const char_type* __sign = __negative ? __lc->_M_negative_sign
1417:                                           : __lc->_M_positive_sign;
1417:      size_type __i = 1;
1417:      for (; __beg != __end && __i < __sign_size
1417:      && *__beg == __sign[__i]; ++__beg, (void)++__i);
1417: 
1417:      if (__i != __sign_size)
1417:        __testvalid = false;
1417:    }
1417: 
1417:  if (__testvalid)
1417:    {
1417: 
1417:      if (__res.size() > 1)
1417:        {
1417:   const size_type __first = __res.find_first_not_of('0');
1417:   const bool __only_zeros = __first == string::npos;
1417:   if (__first)
1417:     __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
1417:        }
1417: 
1417: 
1417:      if (__negative && __res[0] != '0')
1417:        __res.insert(__res.begin(), '-');
1417: 
1417: 
1417:      if (__grouping_tmp.size())
1417:        {
1417: 
1417:   __grouping_tmp += static_cast<char>(__testdecfound ? __last_pos
1417:                          : __n);
1417:   if (!std::__verify_grouping(__lc->_M_grouping,
1417:          __lc->_M_grouping_size,
1417:          __grouping_tmp))
1417:     __err |= ios_base::failbit;
1417:        }
1417: 
1417: 
1417:      if (__testdecfound && __n != __lc->_M_frac_digits)
1417:        __testvalid = false;
1417:    }
1417: 
1417: 
1417:  if (!__testvalid)
1417:    __err |= ios_base::failbit;
1417:  else
1417:    __units.swap(__res);
1417: 
1417: 
1417:  if (__beg == __end)
1417:    __err |= ios_base::eofbit;
1417:  return __beg;
1417:       }
1417: # 368 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     money_get<_CharT, _InIter>::
1417:     do_gen npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     constexpr typename basic_string_view<_CharT, _Traits>::size_type
1434:     basic_string_view<_CharT, _Traits>::
1434:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       size_type __size = this->_M_len;
1434:       if (__size)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    do
1434:      {
1434:        if (!traits_type::eq(this->_M_str[__size], __c))
1434:   return __size;
1434:      }
1434:    while (__size--);
1434:  }
1434:       return npos;
1434:     }
1434: 
1434: 
1434: }
1434: # 812 "/usr/include/c++/12/string_view" 2 3
1434: # 48 "/usr/include/c++/12/bits/basic_string.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: namespace __cxx11 {
1434: # 84 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     class basic_string
1434:     {
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_CharT>::other _Char_alloc_type;
1434: 
1434: 
1434:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1434: # 122 "/usr/include/c++/12/bits/basic_string.h" 3
1434:     public:
1434:       typedef _Traits traits_type;
1434:       typedef typename _Traits::char_type value_type;
1434:       typedef _Char_alloc_type allocator_type;
1434:       typedef typename _Alloc_traits::size_type size_type;
1434:       typedef typename _Alloc_traits::difference_type difference_type;
1434:       typedef typename _Alloc_traits::reference reference;
1434:       typedef typename _Alloc_traits::const_reference const_reference;
1434:       typedef typename _Alloc_traits::pointer pointer;
1434:       typedef typename _Alloc_traits::const_pointer const_pointer;
1434:       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
1434:       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
1434:        const_iterator;
1434:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1434:       typedef std::reverse_iterator<iterator> reverse_iterator;
1434: 
1434: 
1434:       static const size_type npos = static_cast<size_type>(-1);
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434:       typedef const_iterator __const_iterator;
1434: 
1434: 
1434:     private:
1434: 
1434: 
1434:       typedef basic_string_view<_CharT, _Traits> __sv_type;
1434: 
1434:       template<typename _Tp, typename _Res>
1434:  using _If_sv = enable_if_t<
1434:    __and_<is_convertible<const _Tp&, __sv_type>,
1434:    __not_<is_convertible<const _Tp*, const basic_string*>>,
1434:    __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
1434:    _Res>;
1434: 
1434: 
1434:      
1434:       static __sv_type
1434:       _S_to_string_view(__sv_type __svt) noexcept
1434:       { return __svt; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       struct __sv_wrapper
1434:       {
1434:  explicit
1434:  __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
1434: 
1434:  __sv_type _M_sv;
1434:       };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       explicit
1434:       basic_string(__sv_wrapper __svw, const _Alloc& __a)
1434:       : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
1434: 
1434: 
1434: 
1434:       struct _Alloc_hider : allocator_type
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  _Alloc_hider(pointer __dat, const _Alloc& __a)
1434:  : allocator_type(__a), _M_p(__dat) { }
1434: 
1434: 
1434:  _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
1434:  : allocator_type(std::move(__a)), _M_p(__dat) { }
1434: 
1434: 
1434:  pointer _M_p;
1434:       };
1434: 
1434:       _Alloc_hider _M_dataplus;
1434:       size_type _M_string_length;
1434: 
1434:       enum { _S_local_capacity = 15 / sizeof(_CharT) };
1434: 
1434:       union
1434:       {
1434:  _CharT _M_local_buf[_S_local_capacity + 1];
1434:  size_type _M_allocated_capacity;
1434:       };
1434: 
1434:      
1434:       void
1434:       _M_data(pointer __p)
1434:       { _M_dataplus._M_p = __p; }
1434: 
1434:      
1434:       void
1434:       _M_length(size_type __length)
1434:       { _M_string_length = __length; }
1434: 
1434:      
1434:       pointer
1434:       _M_data() const
1434:       { return _M_dataplus._M_p; }
1434: 
1434:      
1434:       pointer
1434:       _M_local_data()
1434:       {
1434: 
1434:  return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
1434: 
1434: 
1434: 
1434:       }
1434: 
1434:      
1434:       const_pointer
1434:       _M_local_data() const
1434:       {
1434: 
1434:  return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
1434: 
1434: 
1434: 
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_capacity(size_type __capacity)
1434:       { _M_allocated_capacity = __capacity; }
1434: 
1434:      
1434:       void
1434:       _M_set_length(size_type __n)
1434:       {
1434:  _M_length(__n);
1434:  traits_type::assign(_M_data()[__n], _CharT());
1434:       }
1434: 
1434:      
1434:       bool
1434:       _M_is_local() const
1434:       { return _M_data() == _M_local_data(); }
1434: 
1434: 
1434:      
1434:       pointer
1434:       _M_create(size_type&, size_type);
1434: 
1434:      
1434:       void
1434:       _M_dispose()
1434:       {
1434:  if (!_M_is_local())
1434:    _M_destroy(_M_allocated_capacity);
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_destroy(size_type __size) throw()
1434:       { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
1434: # 319 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _InIterator>
1434: 
1434:         void
1434:         _M_construct(_InIterator __beg, _InIterator __end,
1434:        std::input_iterator_tag);
1434: 
1434: 
1434: 
1434:       template<typename _FwdIterator>
1434: 
1434:         void
1434:         _M_construct(_FwdIterator __beg, _FwdIterator __end,
1434:        std::forward_iterator_tag);
1434: 
1434:      
1434:       void
1434:       _M_construct(size_type __req, _CharT __c);
1434: 
1434:      
1434:       allocator_type&
1434:       _M_get_allocator()
1434:       { return _M_dataplus; }
1434: 
1434:      
1434:       const allocator_type&
1434:       _M_get_allocator() const
1434:       { return _M_dataplus; }
1434: 
1434: 
1434:       __attribute__((__always_inline__))
1434:       constexpr
1434:       pointer
1434:       _M_use_local_data() noexcept
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  return _M_local_data();
1434:       }
1434: 
1434:     private:
1434: # 377 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       _M_check(size_type __pos, const char* __s) const
1434:       {
1434:  if (__pos > this->size())
1434:    __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)")
1434:                                          ,
1434:        __s, __pos, this->size());
1434:  return __pos;
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
1434:       {
1434:  if (this->max_size() - (this->size() - __n1) < __n2)
1434:    __throw_length_error((__s));
1434:       }
1434: 
1434: 
1434: 
1434:      
1434:       size_type
1434:       _M_limit(size_type __pos, size_type __off) const noexcept
1434:       {
1434:  const bool __testoff = __off < this->size() - __pos;
1434:  return __testoff ? __off : this->size() - __pos;
1434:       }
1434: 
1434: 
1434:       bool
1434:       _M_disjunct(const _CharT* __s) const noexcept
1434:       {
1434:  return (less<const _CharT*>()(__s, _M_data())
1434:   || less<const _CharT*>()(_M_data() + this->size(), __s));
1434:       }
1434: 
1434: 
1434: 
1434:      
1434:       static void
1434:       _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
1434:       {
1434:  if (__n == 1)
1434:    traits_type::assign(*__d, *__s);
1434:  else
1434:    traits_type::copy(__d, __s, __n);
1434:       }
143sl); }
1412: 
1412:       shared_lock&
1412:       operator=(shared_lock&& __sl) noexcept
1412:       {
1412:  shared_lock(std::move(__sl)).swap(*this);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       lock()
1412:       {
1412:  _M_lockable();
1412:  _M_pm->lock_shared();
1412:  _M_owns = true;
1412:       }
1412: 
1412:       bool
1412:       try_lock()
1412:       {
1412:  _M_lockable();
1412:  return _M_owns = _M_pm->try_lock_shared();
1412:       }
1412: 
1412:       template<typename _Rep, typename _Period>
1412:  bool
1412:  try_lock_for(const chrono::duration<_Rep, _Period>& __rel_time)
1412:  {
1412:    _M_lockable();
1412:    return _M_owns = _M_pm->try_lock_shared_for(__rel_time);
1412:  }
1412: 
1412:       template<typename _Clock, typename _Duration>
1412:  bool
1412:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __abs_time)
1412:  {
1412:    _M_lockable();
1412:    return _M_owns = _M_pm->try_lock_shared_until(__abs_time);
1412:  }
1412: 
1412:       void
1412:       unlock()
1412:       {
1412:  if (!_M_owns)
1412:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1412:  _M_pm->unlock_shared();
1412:  _M_owns = false;
1412:       }
1412: 
1412: 
1412: 
1412:       void
1412:       swap(shared_lock& __u) noexcept
1412:       {
1412:  std::swap(_M_pm, __u._M_pm);
1412:  std::swap(_M_owns, __u._M_owns);
1412:       }
1412: 
1412:       mutex_type*
1412:       release() noexcept
1412:       {
1412:  _M_owns = false;
1412:  return std::__exchange(_M_pm, nullptr);
1412:       }
1412: 
1412: 
1412: 
1412:       bool owns_lock() const noexcept { return _M_owns; }
1412: 
1412:       explicit operator bool() const noexcept { return _M_owns; }
1412: 
1412:       mutex_type* mutex() const noexcept { return _M_pm; }
1412: 
1412:     private:
1412:       void
1412:       _M_lockable() const
1412:       {
1412:  if (_M_pm == nullptr)
1412:    __throw_system_error(int(errc::operation_not_permitted));
1412:  if (_M_owns)
1412:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1412:       }
1412: 
1412:       mutex_type* _M_pm;
1412:       bool _M_owns;
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Mutex>
1412:     void
1412:     swap(shared_lock<_Mutex>& __x, shared_lock<_Mutex>& __y) noexcept
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: }
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h" 2
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h"
1412: class CSharedSection
1412: {
1412:   CCriticalSection sec;
1412:   XbmcThreads::ConditionVariable actualCv;
1412: 
1412:   unsigned int sharedCount = 0;
1412: 
1412: public:
1412:   inline CSharedSection() = default;
1412: 
1412:   inline void lock()
1412:   {
1412:     std::unique_lock<CCriticalSection> l(sec);
1412:     while (sharedCount)
1412:       actualCv.wait(l, [this]() { return sharedCount == 0; });
1412:     sec.lock();
1412:   }
1412:   inline bool try_lock() { return (sec.try_lock() ? ((sharedCount == 0) ? true : (sec.unlock(), false)) : false); }
1412:   inline void unlock() { sec.unlock(); }
1412: 
1412:   inline void lock_shared()
1412:   {
1412:     std::unique_lock<CCriticalSection> l(sec);
1412:     sharedCount++;
1412:   }
1412:   inline bool try_lock_shared() { return (sec.try_lock() ? sharedCount++, sec.unlock(), true : false); }
1412:   inline void unlock_shared()
1412:   {
1412:     std::unique_lock<CCriticalSection> l(sec);
1412:     sharedCount--;
1412:     if (!sharedCount)
1412:     {
1412:       actualCv.notifyAll();
1412:     }
1412:   }
1412: };
1412: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1412: # 29 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1412: enum class SettingOptionsType {
1412:   Unknown = 0,
1412:   StaticTranslatable,
1412:   Static,
1412:   Dynamic
1412: };
1412: 
1412: class CSetting;
1412: using SettingPtr = std::shared_ptr<CSetting>;
1412: using SettingConstPtr = std::shared_ptr<const CSetting>;
1412: us4: 
1434:      
1434:       static void
1434:       _S_move(_CharT* __d, const _CharT* __s, size_type __n)
1434:       {
1434:  if (__n == 1)
1434:    traits_type::assign(*__d, *__s);
1434:  else
1434:    traits_type::move(__d, __s, __n);
1434:       }
1434: 
1434:      
1434:       static void
1434:       _S_assign(_CharT* __d, size_type __n, _CharT __c)
1434:       {
1434:  if (__n == 1)
1434:    traits_type::assign(*__d, __c);
1434:  else
1434:    traits_type::assign(__d, __n, __c);
1434:       }
1434: 
1434: 
1434: 
1434:       template<class _Iterator>
1434: 
1434:         static void
1434:         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
1434:         {
1434:    for (; __k1 != __k2; ++__k1, (void)++__p)
1434:      traits_type::assign(*__p, *__k1);
1434:  }
1434: 
1434:      
1434:       static void
1434:       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept
1434:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1434: 
1434:      
1434:       static void
1434:       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
1434:       noexcept
1434:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1434: 
1434:      
1434:       static void
1434:       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept
1434:       { _S_copy(__p, __k1, __k2 - __k1); }
1434: 
1434:      
1434:       static void
1434:       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
1434:       noexcept
1434:       { _S_copy(__p, __k1, __k2 - __k1); }
1434: 
1434:      
1434:       static int
1434:       _S_compare(size_type __n1, size_type __n2) noexcept
1434:       {
1434:  const difference_type __d = difference_type(__n1 - __n2);
1434: 
1434:  if (__d > __gnu_cxx::__numeric_traits<int>::__max)
1434:    return __gnu_cxx::__numeric_traits<int>::__max;
1434:  else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
1434:    return __gnu_cxx::__numeric_traits<int>::__min;
1434:  else
1434:    return int(__d);
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_assign(const basic_string&);
1434: 
1434:      
1434:       void
1434:       _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1434:   size_type __len2);
1434: 
1434:      
1434:       void
1434:       _M_erase(size_type __pos, size_type __n);
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string()
1434:       noexcept(is_nothrow_default_constructible<_Alloc>::value)
1434:       : _M_dataplus(_M_local_data())
1434:       {
1434:  _M_use_local_data();
1434:  _M_set_length(0);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       explicit
1434:       basic_string(const _Alloc& __a) noexcept
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       {
1434:  _M_use_local_data();
1434:  _M_set_length(0);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string(const basic_string& __str)
1434:       : _M_dataplus(_M_local_data(),
1434:       _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
1434:       {
1434:  _M_construct(__str._M_data(), __str._M_data() + __str.length(),
1434:        std::forward_iterator_tag());
1434:       }
1434: # 556 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string(const basic_string& __str, size_type __pos,
1434:      const _Alloc& __a = _Alloc())
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       {
1434:  const _CharT* __start = __str._M_data()
1434:    + __str._M_check(__pos, "basic_string::basic_string");
1434:  _M_construct(__start, __start + __str._M_limit(__pos, npos),
1434:        std::forward_iterator_tag());
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string(const basic_string& __str, size_type __pos,
1434:      size_type __n)
1434:       : _M_dataplus(_M_local_data())
1434:       {
1434:  const _CharT* __start = __str._M_data()
1434:    + __str._M_check(__pos, "basic_string::basic_string");
1434:  _M_construct(__start, __start + __str._M_limit(__pos, t(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
1417:     ios_base::iostate& __err, long double& __units) const
1417:     {
1417:       string __str;
1417:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
1417:               : _M_extract<false>(__beg, __end, __io, __err, __str);
1417:       std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     money_get<_CharT, _InIter>::
1417:     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
1417:     ios_base::iostate& __err, string_type& __digits) const
1417:     {
1417:       typedef typename string::size_type size_type;
1417: 
1417:       const locale& __loc = __io._M_getloc();
1417:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:       string __str;
1417:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
1417:               : _M_extract<false>(__beg, __end, __io, __err, __str);
1417:       const size_type __len = __str.size();
1417:       if (__len)
1417:  {
1417:    __digits.resize(__len);
1417:    __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]);
1417:  }
1417:       return __beg;
1417:     }
1417: # 420 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     template<bool _Intl>
1417:       _OutIter
1417:       money_put<_CharT, _OutIter>::
1417:       _M_insert(iter_type __s, ios_base& __io, char_type __fill,
1417:   const string_type& __digits) const
1417:       {
1417:  typedef typename string_type::size_type size_type;
1417:  typedef money_base::part part;
1417:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1417: 
1417:  const locale& __loc = __io._M_getloc();
1417:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:  __use_cache<__cache_type> __uc;
1417:  const __cache_type* __lc = __uc(__loc);
1417:  const char_type* __lit = __lc->_M_atoms;
1417: 
1417: 
1417: 
1417:  const char_type* __beg = __digits.data();
1417: 
1417:  money_base::pattern __p;
1417:  const char_type* __sign;
1417:  size_type __sign_size;
1417:  if (!(*__beg == __lit[money_base::_S_minus]))
1417:    {
1417:      __p = __lc->_M_pos_format;
1417:      __sign = __lc->_M_positive_sign;
1417:      __sign_size = __lc->_M_positive_sign_size;
1417:    }
1417:  else
1417:    {
1417:      __p = __lc->_M_neg_format;
1417:      __sign = __lc->_M_negative_sign;
1417:      __sign_size = __lc->_M_negative_sign_size;
1417:      if (__digits.size())
1417:        ++__beg;
1417:    }
1417: 
1417: 
1417:  size_type __len = __ctype.scan_not(ctype_base::digit, __beg,
1417:         __beg + __digits.size()) - __beg;
1417:  if (__len)
1417:    {
1417: 
1417: 
1417: 
1417:      string_type __value;
1417:      __value.reserve(2 * __len);
1417: 
1417: 
1417: 
1417:      long __paddec = __len - __lc->_M_frac_digits;
1417:      if (__paddec > 0)
1417:        {
1417:   if (__lc->_M_frac_digits < 0)
1417:     __paddec = __len;
1417:   if (__lc->_M_grouping_size)
1417:     {
1417:       __value.assign(2 * __paddec, char_type());
1417:       _CharT* __vend =
1417:         std::__add_grouping(&__value[0], __lc->_M_thousands_sep,
1417:        __lc->_M_grouping,
1417:        __lc->_M_grouping_size,
1417:        __beg, __beg + __paddec);
1417:       __value.erase(__vend - &__value[0]);
1417:     }
1417:   else
1417:     __value.assign(__beg, __paddec);
1417:        }
1417: 
1417: 
1417:      if (__lc->_M_frac_digits > 0)
1417:        {
1417:   __value += __lc->_M_decimal_point;
1417:   if (__paddec >= 0)
1417:     __value.append(__beg + __paddec, __lc->_M_frac_digits);
1417:   else
1417:     {
1417: 
1417:       __value.append(-__paddec, __lit[money_base::_S_zero]);
1417:       __value.append(__beg, __len);
1417:     }
1417:        }
1417: 
1417: 
1417:      const ios_base::fmtflags __f = __io.flags()
1417:                                     & ios_base::adjustfielding SettingList = std::vector<SettingPtr>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CSetting : public ISetting,
1412:                  protected ISettingCallback,
1412:                  public std::enable_shared_from_this<CSetting>
1412: {
1412: public:
1412:   CSetting(const std::string& id, CSettingsManager* settingsManager = nullptr);
1412:   CSetting(const std::string& id, const CSetting& setting);
1412:   ~CSetting() override = default;
1412: 
1412:   virtual std::shared_ptr<CSetting> Clone(const std::string &id) const = 0;
1412:   void MergeBasics(const CSetting& other);
1412:   virtual void MergeDetails(const CSetting& other) = 0;
1412: 
1412:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1412: 
1412:   virtual SettingType GetType() const = 0;
1412:   virtual bool FromString(const std::string &value) = 0;
1412:   virtual std::string ToString() const = 0;
1412:   virtual bool Equals(const std::string &value) const = 0;
1412:   virtual bool CheckValidity(const std::string &value) const = 0;
1412:   virtual void Reset() = 0;
1412: 
1412:   bool IsEnabled() const;
1412:   bool GetEnabled() const { return m_enabled; }
1412:   void SetEnabled(bool enabled);
1412:   bool IsDefault() const { return !m_changed; }
1412:   const std::string& GetParent() const { return m_parentSetting; }
1412:   void SetParent(const std::string& parentSetting) { m_parentSetting = parentSetting; }
1412:   SettingLevel GetLevel() const { return m_level; }
1412:   void SetLevel(SettingLevel level) { m_level = level; }
1412:   std::shared_ptr<const ISettingControl> GetControl() const { return m_control; }
1412:   std::shared_ptr<ISettingControl> GetControl() { return m_control; }
1412:   void SetControl(std::shared_ptr<ISettingControl> control) { m_control = std::move(control); }
1412:   const SettingDependencies& GetDependencies() const { return m_dependencies; }
1412:   void SetDependencies(const SettingDependencies &dependencies) { m_dependencies = dependencies; }
1412:   const std::set<CSettingUpdate>& GetUpdates() const { return m_updates; }
1412: 
1412:   void SetCallback(ISettingCallback *callback) { m_callback = callback; }
1412: 
1412:   bool IsReference() const { return !m_referencedId.empty(); }
1412:   const std::string& GetReferencedId() const { return m_referencedId; }
1412:   void SetReferencedId(const std::string& referencedId) { m_referencedId = referencedId; }
1412:   void MakeReference(const std::string& referencedId = "");
1412: 
1412:   bool GetVisible() const { return ISetting::IsVisible(); }
1412: 
1412:   bool IsVisible() const override;
1412: 
1412: 
1412:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1412: # 106 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1412:   static bool DeserializeIdentification(const TiXmlNode* node,
1412:                                         std::string& identification,
1412:                                         bool& isReference);
1412: 
1412: protected:
1412: 
1412:   bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) override;
1412:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1412:   bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1412:                        const char* oldSettingId,
1412:                        const TiXmlNode* oldSettingNode) override;
1412:   void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1412:                                 const char* propertyName) override;
1412: 
1412:   void Copy(const CSetting &setting);
1412: 
1412:   template<class TSetting>
1412:   std::shared_ptr<TSetting> shared_from_base()
1412:   {
1412:     return std::static_pointer_cast<TSetting>(shared_from_this());
1412:   }
1412: 
1412:   ISettingCallback *m_callback = nullptr;
1412:   bool m_enabled = true;
1412:   std::string m_parentSetting;
1412:   SettingLevel m_level = SettingLevel::Standard;
1412:   std::shared_ptr<ISettingControl> m_control;
1412:   SettingDependencies m_dependencies;
1412:   st__n),
1434:        std::forward_iterator_tag());
1434:       }
1434: # 591 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string(const basic_string& __str, size_type __pos,
1434:      size_type __n, const _Alloc& __a)
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       {
1434:  const _CharT* __start
1434:    = __str._M_data() + __str._M_check(__pos, "string::string");
1434:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1434:        std::forward_iterator_tag());
1434:       }
1434: # 611 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string(const _CharT* __s, size_type __n,
1434:      const _Alloc& __a = _Alloc())
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       {
1434: 
1434:  if (__s == 0 && __n > 0)
1434:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1434:                                                  );
1434:  _M_construct(__s, __s + __n, std::forward_iterator_tag());
1434:       }
1434: # 631 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename = _RequireAllocator<_Alloc>>
1434: 
1434:      
1434:       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       {
1434: 
1434:  if (__s == 0)
1434:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1434:                                                  );
1434:  const _CharT* __end = __s + traits_type::length(__s);
1434:  _M_construct(__s, __end, forward_iterator_tag());
1434:       }
1434: # 654 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename = _RequireAllocator<_Alloc>>
1434: 
1434:      
1434:       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       { _M_construct(__n, __c); }
1434: # 669 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string(basic_string&& __str) noexcept
1434:       : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
1434:       {
1434:  if (__str._M_is_local())
1434:    {
1434:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1434:          __str.length() + 1);
1434:    }
1434:  else
1434:    {
1434:      _M_data(__str._M_data());
1434:      _M_capacity(__str._M_allocated_capacity);
1434:    }
1434: 
1434: 
1434: 
1434: 
1434:  _M_length(__str.length());
1434:  __str._M_data(__str._M_local_data());
1434:  __str._M_set_length(0);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
1434: 
1434:      
1434:       basic_string(const basic_string& __str, const _Alloc& __a)
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
1434: 
1434:      
1434:       basic_string(basic_string&& __str, const _Alloc& __a)
1434:       noexcept(_Alloc_traits::_S_always_equal())
1434:       : _M_dataplus(_M_local_data(), __a)
1434:       {
1434:  if (__str._M_is_local())
1434:    {
1434:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1434:          __str.length() + 1);
1434:      _M_length(__str.length());
1434:      __str._M_set_length(0);
1434:    }
1434:  else if (_Alloc_traits::_S_always_equal()
1434:      || __str.get_allocator() == __a)
1434:    {
1434:      _M_data(__str._M_data());
1434:      _M_length(__str.length());
1434:      _M_capacity(__str._M_allocated_capacity);
1434:      __str._M_data(__str._M_local_buf);
1434:      __str._M_set_length(0);
1434:    }
1434:  else
1434:    _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag());
1434:       }
1434: # 745 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434: 
1434: 
1434: 
1434:         basic_string(_InputIterator __beg, _InputIterator __end,
1434:        const _Alloc& __a = _Alloc())
1434:  : _M_dataplus(_M_local_data(), __a)
1434:  {
1434: 
1434:    _M_construct(__beg, __end, std::__iterator_category(__beg));
1434: 
1434: 
1434: 
1434: 
1434:  }
1434: # 771 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp,
1434:         typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
1434: 
1434:  basic_string(const _Tp& __t, size_type __pos, size_type __n,
1434:        const _Alloc& __a = _Alloc())
1434:  : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Tp, typename = _If_sv<_Tp, void>>
1434: 
1434:  explicit
1434:  basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
1434:  : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       ~basic_string()
1434:       { _M_dispose(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       operator=(const basic_string& __str)
1434:       {
1434:  return this->assign(__str);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       operator=(const _CharT* __s)
1434:       { return this->assign(__s); }
1434: # 824 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       operator=(_CharT __c)
1434:       {
1434:  this->assign(1, __c);
1434:  return *this;
1434:       }
1434: # 842 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       operator=(basic_string&& __str)
1434:       noexcept(_Alloc_traits::_S_nothrow_move())
1434:       {
1434:  if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
1434:      && !_Alloc_traits::_S_always_equal()
1434:      && _M_get_allocator() != __str._M_get_allocator())
1434:    {
1434: 
1434:      _M_destroy(_M_allocated_capacity);
1434:      _M_data(_M_local_data());
1434:      _M_set_length(0);
1434:    }
1434: 
1434:  std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
1434: 
1434:  if (__str._M_is_local())
1434:    {
1434: 
1434: 
1434: 
1434:      if (__builtin_expect(std::__addressof(__str) != this, true))
1434:        {
1434:   if (__str.size())
1434:     this->_S_copy(_M_data(), __str._M_data(), __str.size());
1434:   _M_set_length(__str.size());
1434:        }
1434:    }
1434:  else if (_Alloc_traits::_S_propagate_on_move_assign()
1434:      || _Alloc_traits::_S_always_equal()
1434:      || _M_get_allocator() == __str._M_get_allocator())
1434:    {
1434: 
1434:      pointer __data = nullptr;
1434:      size_type __capacity;
1434:      if (!_M_is_local())
1434:        {
1434:   if (_Alloc_traits::_S_always_equal())
1434:     {
1434: 
1434:       __data = _M_data();
1434:       __capacity = _M_allocated_capacity;
1434:     }
1434:   else
1434:     _M_destroy(_M_allocated_capacity);
1434:        }
1434: 
1434:      _M_data(__str._M_data());
1434:      _M_length(__str.length());
1434:      _M_capacity(__str._M_allocated_capacity);
1434:      if (__data)
1434:        {
1434:   __str._M_data(__data);
1434:   __str._M_capacity(__capacity);
1434:        }
1434:      else
1434:        __str._M_data(__str._M_local_buf);
1434:    }
1434:  else
1434:    assign(__str);
1434:  __str.clear();
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       operator=(initializer_list<_CharT> __l)
1434:       {
1434:  this->assign(__l.begin(), __l.size());
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      template<typename _Tp>
1434:       
1434:        _If_sv<_Tp, basic_string&>
1434:        operator=(const _Tp& __svt)
1434:        { return this->assign(__svt); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       operator __sv_type() const noexcept
1434:       { return __sv_type(data(), size()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
143;
1417:      __len = __value.size() + __sign_size;
1417:      __len += ((__io.flags() & ios_base::showbase)
1417:         ? __lc->_M_curr_symbol_size : 0);
1417: 
1417:      string_type __res;
1417:      __res.reserve(2 * __len);
1417: 
1417:      const size_type __width = static_cast<size_type>(__io.width());
1417:      const bool __testipad = (__f == ios_base::internal
1417:          && __len < __width);
1417: 
1417:      for (int __i = 0; __i < 4; ++__i)
1417:        {
1417:   const part __which = static_cast<part>(__p.field[__i]);
1417:   switch (__which)
1417:     {
1417:     case money_base::symbol:
1417:       if (__io.flags() & ios_base::showbase)
1417:         __res.append(__lc->_M_curr_symbol,
1417:        __lc->_M_curr_symbol_size);
1417:       break;
1417:     case money_base::sign:
1417: 
1417: 
1417: 
1417:       if (__sign_size)
1417:         __res += __sign[0];
1417:       break;
1417:     case money_base::value:
1417:       __res += __value;
1417:       break;
1417:     case money_base::space:
1417: 
1417: 
1417: 
1417:       if (__testipad)
1417:         __res.append(__width - __len, __fill);
1417:       else
1417:         __res += __fill;
1417:       break;
1417:     case money_base::none:
1417:       if (__testipad)
1417:         __res.append(__width - __len, __fill);
1417:       break;
1417:     }
1417:        }
1417: 
1417: 
1417:      if (__sign_size > 1)
1417:        __res.append(__sign + 1, __sign_size - 1);
1417: 
1417: 
1417:      __len = __res.size();
1417:      if (__width > __len)
1417:        {
1417:   if (__f == ios_base::left)
1417: 
1417:     __res.append(__width - __len, __fill);
1417:   else
1417: 
1417:     __res.insert(0, __width - __len, __fill);
1417:   __len = __width;
1417:        }
1417: 
1417: 
1417:      __s = std::__write(__s, __res.data(), __len);
1417:    }
1417:  __io.width(0);
1417:  return __s;
1417:       }
1417: # 590 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     money_put<_CharT, _OutIter>::
1417:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1417:     long double __units) const
1417:     {
1417:       const locale __loc = __io.getloc();
1417:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417: 
1417:       int __cs_size = 64;
1417:       char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1417: 
1417: 
1417:       int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1417:      "%.*Lf", 0, __units);
1417: 
1417:       if (__len >= __cs_size)
1417:  {
1417:    __cs_size = __len + 1;
1417:    __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1417:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1417:      "%.*Lf", 0, __units);
1417:  }
1417: # 622 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1417:       string_type __digits(__len, char_type());
1417:       __ctype.widen(__cs, __cs + __len, &__digits[0]);
1417:       return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
1417:              : _M_insert<false>(__s, __io, __fill, __digits);
1417:     }
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     money_put<_CharT, _OutIter>::
1417:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1417:     const string_type& __digits) const
1417:     { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
1417:              : _M_insert<false>(__s, __io, __fill, __digits); }
1417: # 674 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1417: }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     time_base::dateorder
1417:     time_get<_CharT, _InIter>::do_date_order() const
1417:     { return time_base::no_order; }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1417:      ios_base::iostate& __err, tm* __tm4:      
1434:       iterator
1434:       begin() noexcept
1434:       { return iterator(_M_data()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return const_iterator(_M_data()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       iterator
1434:       end() noexcept
1434:       { return iterator(_M_data() + this->size()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_iterator
1434:       end() const noexcept
1434:       { return const_iterator(_M_data() + this->size()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return reverse_iterator(this->end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(this->end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return reverse_iterator(this->begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return const_reverse_iterator(this->begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return const_iterator(this->_M_data()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return const_iterator(this->_M_data() + this->size()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return const_reverse_iterator(this->end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_reverse_iterator
1434:       crend() const noexcept
1434:       { return const_reverse_iterator(this->begin()); }
1434: 
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:      
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_string_length; }
1434: 
1434: 
1434: 
1434:      
1434:       size_type
1434:       length() const noexcept
1434:       { return _M_string_length; }
1434: 
1434: 
1434:      
1434:       size_type
1434:       max_size() const noexcept
1434:       { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; }
1434: # 1089 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       void
1434:       resize(size_type __n, _CharT __c);
1434: # 1103 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       void
1434:       resize(size_type __n)
1434:       { this->resize(__n, _CharT()); }
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434:      
1434:       void
1434:       shrink_to_fit() noexcept
1434:       { reserve(); }
1434: #pragma GCC diagnostic pop
1434: # 1130 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       capacity() const noexcept
1434:       {
1434:  return _M_is_local() ? size_type(_S_local_capacity)
1434:                       : _M_allocated_capacity;
1434:       }
1434: # 1155 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       void
1434:       reserve(size_type __res_arg);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       reserve();
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       clear() noexcept
1434:       { _M_set_length(0); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       bool
1434:       empty() const noexcept
1434:       { return this->size() == 0; }
1434: # 1197 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       const_reference
1434:       operator[] (size_type __pos) const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1434:  return _M_dd::set<CSettingUpdate> m_updates;
1412:   bool m_changed = false;
1412:   mutable CSharedSection m_critical;
1412: 
1412:   std::string m_referencedId;
1412: 
1412: private:
1412:   static Logger s_logger;
1412: };
1412: 
1412: template<typename TValue, SettingType TSettingType>
1412: class CTraitedSetting : public CSetting
1412: {
1412: public:
1412:   typedef TValue Value;
1412: 
1412: 
1412:   SettingType GetType() const override { return TSettingType; }
1412: 
1412:   static SettingType Type() { return TSettingType; }
1412: 
1412: protected:
1412:   CTraitedSetting(const std::string& id, CSettingsManager* settingsManager = nullptr)
1412:     : CSetting(id, settingsManager)
1412:   { }
1412:   CTraitedSetting(const std::string& id, const CTraitedSetting& setting) : CSetting(id, setting) {}
1412:   ~CTraitedSetting() override = default;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CSettingList : public CSetting
1412: {
1412: public:
1412:   CSettingList(const std::string &id, std::shared_ptr<CSetting> settingDefinition, CSettingsManager *settingsManager = nullptr);
1412:   CSettingList(const std::string &id, std::shared_ptr<CSetting> settingDefinition, int label, CSettingsManager *settingsManager = nullptr);
1412:   CSettingList(const std::string &id, const CSettingList &setting);
1412:   ~CSettingList() override = default;
1412: 
1412:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1412:   void MergeDetails(const CSetting& other) override;
1412: 
1412:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1412: 
1412:   SettingType GetType() const override { return SettingType::List; }
1412:   bool FromString(const std::string &value) override;
1412:   std::string ToString() const override;
1412:   bool Equals(const std::string &value) const override;
1412:   bool CheckValidity(const std::string &value) const override;
1412:   void Reset() override;
1412: 
1412:   SettingType GetElementType() const;
1412:   std::shared_ptr<CSetting> GetDefinition() { return m_definition; }
1412:   std::shared_ptr<const CSetting> GetDefinition() const { return m_definition; }
1412:   void SetDefinition(std::shared_ptr<CSetting> definition) { m_definition = std::move(definition); }
1412: 
1412:   const std::string& GetDelimiter() const { return m_delimiter; }
1412:   void SetDelimiter(const std::string &delimiter) { m_delimiter = delimiter; }
1412:   int GetMinimumItems() const { return m_minimumItems; }
1412:   void SetMinimumItems(int minimumItems) { m_minimumItems = minimumItems; }
1412:   int GetMaximumItems() const { return m_maximumItems; }
1412:   void SetMaximumItems(int maximumItems) { m_maximumItems = maximumItems; }
1412: 
1412:   bool FromString(const std::vector<std::string> &value);
1412: 
1412:   const SettingList& GetValue() const { return m_values; }
1412:   bool SetValue(const SettingList &values);
1412:   const SettingList& GetDefault() const { return m_defaults; }
1412:   void SetDefault(const SettingList &values);
1412: 
1412: protected:
1412:   void copy(const CSettingList &setting);
1412:   static void copy(const SettingList &srcValues, SettingList &dstValues);
1412:   bool fromString(const std::string &strValue, SettingList &values) const;
1412:   bool fromValues(const std::vector<std::string> &strValues, SettingList &values) const;
1412:   std::string toString(const SettingList &values) const;
1412: 
1412:   SettingList m_values;
1412:   SettingList m_defaults;
1412:   std::shared_ptr<CSetting> m_definition;
1412:   std::string m_delimiter = "|";
1412:   int m_minimumItems = 0;
1412:   int m_maximumItems = -1;
1412: 
1412:   static Logger s_logger;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CSettingBool : public CTraitedSetting<bool, SettingType::Boolean>
1412: {
1412: public:
1412:   CSettingBool(const std::string &id, CSettingsManager *settingsManager = nullptr);
1412:   CSettingBool(const std::string &id, const CSettingBool &setting);
1412:   CSettingBool(const std::string &id, int label, bool value, CSettingsManager *settingsMata()[__pos];
1434:       }
1434: # 1215 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       reference
1434:       operator[](size_type __pos)
1434:       {
1434: 
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1434: 
1434:  ;
1434:  return _M_data()[__pos];
1434:       }
1434: # 1237 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       const_reference
1434:       at(size_type __n) const
1434:       {
1434:  if (__n >= this->size())
1434:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1434: 
1434:                             ,
1434:        __n, this->size());
1434:  return _M_data()[__n];
1434:       }
1434: # 1259 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       reference
1434:       at(size_type __n)
1434:       {
1434:  if (__n >= size())
1434:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1434: 
1434:                             ,
1434:        __n, this->size());
1434:  return _M_data()[__n];
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       reference
1434:       front() noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1434:  return operator[](0);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_reference
1434:       front() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1434:  return operator[](0);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       reference
1434:       back() noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1434:  return operator[](this->size() - 1);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       const_reference
1434:       back() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1434:  return operator[](this->size() - 1);
1434:       }
1434: # 1327 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       operator+=(const basic_string& __str)
1434:       { return this->append(__str); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       operator+=(const _CharT* __s)
1434:       { return this->append(__s); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       operator+=(_CharT __c)
1434:       {
1434:  this->push_back(__c);
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       operator+=(initializer_list<_CharT> __l)
1434:       { return this->append(__l.begin(), __l.size()); }
1434: # 1373 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, basic_string&>
1434:  operator+=(const _Tp& __svt)
1434:  { return this->append(__svt); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       append(const basic_string& __str)
1434:       { return this->append(__str._M_data(), __str.size()); }
1434: # 1403 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       append(const basic_string& __str, size_type __pos, size_type __n = npos)
1434:       { return this->append(__str._M_data()
1434:        + __str._M_check(__pos, "basic_string::append"),
1434:        __str._M_limit(__pos, __n)); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       append(const _CharT* __s, size_type __n)
1434:       {
1434:  ;
1434:  _M_check_length(size_type(0), __n, "basic_string::append");
1434:  return _M_append(__s, __n);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:,
1417:      const _CharT* __format,
1417:      __time_get_state &__state) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1417:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417:       const size_t __len = char_traits<_CharT>::length(__format);
1417: 
1417:       ios_base::iostate __tmperr = ios_base::goodbit;
1417:       size_t __i = 0;
1417:       for (; __beg != __end && __i < __len && !__tmperr; ++__i)
1417:  {
1417:    if (__ctype.narrow(__format[__i], 0) == '%')
1417:      {
1417: 
1417:        char __c = __ctype.narrow(__format[++__i], 0);
1417:        int __mem = 0;
1417:        if (__c == 'E' || __c == 'O')
1417:   __c = __ctype.narrow(__format[++__i], 0);
1417:        switch (__c)
1417:   {
1417:     const char* __cs;
1417:     _CharT __wcs[10];
1417:   case 'a':
1417:   case 'A':
1417: 
1417:     const char_type* __days[14];
1417:     __tp._M_days(&__days[0]);
1417:     __tp._M_days_abbreviated(&__days[7]);
1417:     __beg = _M_extract_name(__beg, __end, __mem, __days,
1417:        14, __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_wday = __mem % 7;
1417:         __state._M_have_wday = 1;
1417:       }
1417:     break;
1417:   case 'h':
1417:   case 'b':
1417:   case 'B':
1417: 
1417:     const char_type* __months[24];
1417:     __tp._M_months(&__months[0]);
1417:     __tp._M_months_abbreviated(&__months[12]);
1417:     __beg = _M_extract_name(__beg, __end, __mem,
1417:        __months, 24, __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_mon = __mem % 12;
1417:         __state._M_have_mon = 1;
1417:         __state._M_want_xday = 1;
1417:       }
1417:     break;
1417:   case 'c':
1417: 
1417:     const char_type* __dt[2];
1417:     __tp._M_date_time_formats(__dt);
1417:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1417:       __tm, __dt[0], __state);
1417:     if (!__tmperr)
1417:       __state._M_want_xday = 1;
1417:     break;
1417:   case 'C':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 99, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __state._M_century = __mem;
1417:         __state._M_have_century = 1;
1417:         __state._M_want_xday = 1;
1417:       }
1417:     break;
1417:   case 'd':
1417:   case 'e':
1417: 
1417:     if (__ctype.is(ctype_base::space, *__beg))
1417:       ++__beg;
1417:     __beg = _M_extract_num(__beg, __end, __mem, 1, 31, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_mday = __mem;
1417:         __state._M_have_mday = 1;
1417:         __state._M_want_xday = 1;
1417:       }
1417:     break;
1417:   case 'D':
1417: 
1417:     __cs = "%m/%d/%y";
1417:     __ctype.widen(__cs, __cs + 9, __wcs);
1417:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1417:       __tm, __wcs, __state);
1417:     if (!__tmperr)
1417:       __state._M_want_xday = 1;
1417:     break;
1417:   case 'H':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 23, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_hour = __mem;
1417:         __state._M_have_I = 0;
1417:       }
1417:     break;
1417:   case 'I':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_hour = __mem % 12;
1417:         __state._M_have_I = 1;
1417:       }
1417:     break;
1417:   case 'j':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 1, 366, 3,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_yday = __mem - 1;
1417:         __state._M_have_yday = 1;
1417:       }
1417:     break;
1417:   case 'm':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_mon = __mem - 1;
1417:        anager = nullptr);
1412:   ~CSettingBool() override = default;
1412: 
1412:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1412:   void MergeDetails(const CSetting& other) override;
1412: 
1412:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1412: 
1412:   bool FromString(const std::string &value) override;
1412:   std::string ToString() const override;
1412:   bool Equals(const std::string &value) const override;
1412:   bool CheckValidity(const std::string &value) const override;
1412:   void Reset() override { SetValue(m_default); }
1412: 
1412:   bool GetValue() const
1412:   {
1412:     std::shared_lock<CSharedSection> lock(m_critical);
1412:     return m_value;
1412:   }
1412:   bool SetValue(bool value);
1412:   bool GetDefault() const { return m_default; }
1412:   void SetDefault(bool value);
1412: 
1412: private:
1412:   static constexpr Value DefaultValue = false;
1412: 
1412:   void copy(const CSettingBool &setting);
1412:   bool fromString(const std::string &strValue, bool &value) const;
1412: 
1412:   bool m_value = DefaultValue;
1412:   bool m_default = DefaultValue;
1412: 
1412:   static Logger s_logger;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CSettingInt : public CTraitedSetting<int, SettingType::Integer>
1412: {
1412: public:
1412:   CSettingInt(const std::string &id, CSettingsManager *settingsManager = nullptr);
1412:   CSettingInt(const std::string &id, const CSettingInt &setting);
1412:   CSettingInt(const std::string &id, int label, int value, CSettingsManager *settingsManager = nullptr);
1412:   CSettingInt(const std::string &id, int label, int value, int minimum, int step, int maximum, CSettingsManager *settingsManager = nullptr);
1412:   CSettingInt(const std::string &id, int label, int value, const TranslatableIntegerSettingOptions &options, CSettingsManager *settingsManager = nullptr);
1412:   ~CSettingInt() override = default;
1412: 
1412:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1412:   void MergeDetails(const CSetting& other) override;
1412: 
1412:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1412: 
1412:   bool FromString(const std::string &value) override;
1412:   std::string ToString() const override;
1412:   bool Equals(const std::string &value) const override;
1412:   bool CheckValidity(const std::string &value) const override;
1412:   virtual bool CheckValidity(int value) const;
1412:   void Reset() override { SetValue(m_default); }
1412: 
1412:   int GetValue() const
1412:   {
1412:     std::shared_lock<CSharedSection> lock(m_critical);
1412:     return m_value;
1412:   }
1412:   bool SetValue(int value);
1412:   int GetDefault() const { return m_default; }
1412:   void SetDefault(int value);
1412: 
1412:   int GetMinimum() const { return m_min; }
1412:   void SetMinimum(int minimum) { m_min = minimum; }
1412:   int GetStep() const { return m_step; }
1412:   void SetStep(int step) { m_step = step; }
1412:   int GetMaximum() const { return m_max; }
1412:   void SetMaximum(int maximum) { m_max = maximum; }
1412: 
1412:   SettingOptionsType GetOptionsType() const;
1412:   const TranslatableIntegerSettingOptions& GetTranslatableOptions() const { return m_translatableOptions; }
1412:   void SetTranslatableOptions(const TranslatableIntegerSettingOptions &options) { m_translatableOptions = options; }
1412:   const IntegerSettingOptions& GetOptions() const { return m_options; }
1412:   void SetOptions(const IntegerSettingOptions &options) { m_options = options; }
1412:   const std::string& GetOptionsFillerName() const { return m_optionsFillerName; }
1412:   void SetOptionsFillerName(const std::string &optionsFillerName, void *data = nullptr)
1412:   {
1412:     m_optionsFillerName = optionsFillerName;
1412:     m_optionsFillerData = data;
1412:   }
1412:   void SetOptionsFiller(IntegerSettingOptionsFiller optionsFiller, void *data = nullptr)
1412:   {
1412:     m_optionsFiller = optionsFiller;
1412:     m_optionsFillerData = data;
1412:   }
1412:   IntegerSetti 
1434:      
1434:       basic_string&
1434:       append(const _CharT* __s)
1434:       {
1434:  ;
1434:  const size_type __n = traits_type::length(__s);
1434:  _M_check_length(size_type(0), __n, "basic_string::append");
1434:  return _M_append(__s, __n);
1434:       }
1434: # 1448 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       append(size_type __n, _CharT __c)
1434:       { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       append(initializer_list<_CharT> __l)
1434:       { return this->append(__l.begin(), __l.size()); }
1434: # 1474 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<class _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434: 
1434: 
1434: 
1434:         basic_string&
1434:         append(_InputIterator __first, _InputIterator __last)
1434:         { return this->replace(end(), end(), __first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Tp>
1434: 
1434:         _If_sv<_Tp, basic_string&>
1434:         append(const _Tp& __svt)
1434:         {
1434:           __sv_type __sv = __svt;
1434:           return this->append(__sv.data(), __sv.size());
1434:         }
1434: # 1506 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:         _If_sv<_Tp, basic_string&>
1434:  append(const _Tp& __svt, size_type __pos, size_type __n = npos)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return _M_append(__sv.data()
1434:        + std::__sv_check(__sv.size(), __pos, "basic_string::append"),
1434:        std::__sv_limit(__sv.size(), __pos, __n));
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       push_back(_CharT __c)
1434:       {
1434:  const size_type __size = this->size();
1434:  if (__size + 1 > this->capacity())
1434:    this->_M_mutate(__size, size_type(0), 0, size_type(1));
1434:  traits_type::assign(this->_M_data()[__size], __c);
1434:  this->_M_set_length(__size + 1);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       assign(const basic_string& __str)
1434:       {
1434: 
1434:  if (_Alloc_traits::_S_propagate_on_copy_assign())
1434:    {
1434:      if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
1434:   && _M_get_allocator() != __str._M_get_allocator())
1434:        {
1434: 
1434: 
1434:   if (__str.size() <= _S_local_capacity)
1434:     {
1434:       _M_destroy(_M_allocated_capacity);
1434:       _M_data(_M_use_local_data());
1434:       _M_set_length(0);
1434:     }
1434:   else
1434:     {
1434:       const auto __len = __str.size();
1434:       auto __alloc = __str._M_get_allocator();
1434: 
1434:       auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1);
1434:       _M_destroy(_M_allocated_capacity);
1434:       _M_data(__ptr);
1434:       _M_capacity(__len);
1434:       _M_set_length(__len);
1434:     }
1434:        }
1434:      std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
1434:    }
1434: 
1434:  this->_M_assign(__str);
1434:  return *this;
1434:       }
1434: # 1584 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       assign(basic_string&& __str)
1434:       noexcept(_Alloc_traits::_S_nothrow_move())
1434:       {
1434: 
1434: 
1434:  return *this = std::move(__str);
1434:       }
1434: # 1608 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       assign(const basic_string& __str, size_type __pos, size_type __n = npos)
1434:       { return _M_replace(size_type(0), this->size(), __str._M_data()
1434:      + __str._M_check(__pos, "basic_string::assign"),
1434:      __str._M_limit(__pos, __n)); }
1434: # 1625 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       assign(const _CharT* __s, size_type __n)
1434:       {
1434:  ;
1434:  return _M_replace(size_type(0), this->size(), __s, __n);
1434:       }
1434: # 1642 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       assign(const _CharT* __s)
1434:       {
1434:  ;
1434:  return _M_replace(size_type(0), this->size(), __s,
1434:      traits_type::length(__s));
1434:       }
1434: # 1660 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       assign(size_type __n, _CharT __c)
1434:       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
1434: # 1674 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<class _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434: 
1434: 
1434: 
1434:         basic_string&
1434:         assign(_InputIterator __first, _InputIterator __last)
1434:         { return this->replace(begin(), end(), __first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       basic_string&
1434:       assign(initializer_list<_CharT> __l)
1434:       { return this->assign(__l.begin(), __l.size()); }
1434: # 1702 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, basic_string&>
1434:  assign(const _Tp& __svt)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->assign(__sv.data(), __sv.size());
1434:  }
1434: # 1718 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, basic_string&>
1434:  assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return _M_replace(size_type(0), this->size(),
1434:        __sv.data()
1434:        + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
1434:        std::__sv_limit(__sv.size(), __pos, __n));
1434:  }
1434: # 1747 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       iterator
1434:       insert(const_iterator __p, size_type __n, _CharT __c)
1434:       {
1434:  ;
1434:  const size_type __pos = __p - begin();
1434:  this->replace(__p, __p, __n, __c);
1434:  return iterator(this->_M_data() + __pos);
1434:       }
1434: # 1790 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<class _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:  iterator
1434:         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
1434:         {
1434:    ;
1434:    const size_type __pos = __p - begin();
1434:    this->replace(__p, __p, __beg, __end);
1434:    return iterator(this->_M_data() + __pos);
1434:  }
1434: # 1827 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       iterator
1434:       insert(const_iterator __p, initializer_list<_CharT> __l)
1434:       { return this->insert(__p, __l.begin(), __l.end()); }
1434: # 1855 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       insert(size_type __pos1, const basic_string& __str)
1434:       { return this->replace(__pos1, size_type(0),
1434:         __str._M_data(), __str.size()); }
1434: # 1879 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       insert(size_type __pos1, const basic_string& __str,
1434:       size_type __pos2, size_type __n = npos)
1434:       { return this->replace(__pos1, size_type(0), __str._M_data()
1434:         + __str._M_check(__pos2, "basic_string::insert"),
1434:         __str._M_limit(__pos2, __n)); }
1434: # 1903 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       insert(size_type __pos, const _CharT* __s, size_type __n)
1434:       { return this->replace(__pos, size_type(0), __s, __n); }
1434: # 1923 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       insert(size_type __pos, const _CharT* __s)
1434:       {
1434:  ;
1434:  return this->replace(__pos, size_type(0), __s,
1434:         traits_type::length(__s));
1434:       }
1434: # 1948 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       ba __state._M_have_mon = 1;
1417:       }
1417:     break;
1417:   case 'M':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 59, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       __tm->tm_min = __mem;
1417:     break;
1417:   case 'n':
1417:   case 't':
1417:     while (__beg != __end
1417:     && __ctype.is(ctype_base::space, *__beg))
1417:       ++__beg;
1417:     break;
1417:   case 'p':
1417: 
1417:     const char_type* __ampm[2];
1417:     __tp._M_am_pm(&__ampm[0]);
1417:     if (!__ampm[0][0] || !__ampm[1][0])
1417:       break;
1417:     __beg = _M_extract_name(__beg, __end, __mem, __ampm,
1417:        2, __io, __tmperr);
1417:     if (!__tmperr && __mem)
1417:       __state._M_is_pm = 1;
1417:     break;
1417:   case 'r':
1417: 
1417:     const char_type* __ampm_format;
1417:     __tp._M_am_pm_format(&__ampm_format);
1417:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1417:       __tm, __ampm_format, __state);
1417:     break;
1417:   case 'R':
1417: 
1417:     __cs = "%H:%M";
1417:     __ctype.widen(__cs, __cs + 6, __wcs);
1417:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1417:       __tm, __wcs, __state);
1417:     break;
1417:   case 'S':
1417: 
1417: 
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 60, 2,
1417: 
1417: 
1417: 
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       __tm->tm_sec = __mem;
1417:     break;
1417:   case 'T':
1417: 
1417:     __cs = "%H:%M:%S";
1417:     __ctype.widen(__cs, __cs + 9, __wcs);
1417:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1417:       __tm, __wcs, __state);
1417:     break;
1417:   case 'U':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 53, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __state._M_week_no = __mem;
1417:         __state._M_have_uweek = 1;
1417:       }
1417:     break;
1417:   case 'w':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 6, 1,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_wday = __mem;
1417:         __state._M_have_wday = 1;
1417:       }
1417:     break;
1417:   case 'W':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 53, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __state._M_week_no = __mem;
1417:         __state._M_have_wweek = 1;
1417:       }
1417:     break;
1417:   case 'x':
1417: 
1417:     const char_type* __dates[2];
1417:     __tp._M_date_formats(__dates);
1417:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1417:       __tm, __dates[0], __state);
1417:     break;
1417:   case 'X':
1417: 
1417:     const char_type* __times[2];
1417:     __tp._M_time_formats(__times);
1417:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1417:       __tm, __times[0], __state);
1417:     break;
1417:   case 'y':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 99, 2,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __state._M_want_century = 1;
1417:         __state._M_want_xday = 1;
1417: 
1417: 
1417:         __c = 0;
1417:         if (__beg != __end)
1417:    __c = __ctype.narrow(*__beg, '*');
1417:         if (__c >= '0' && __c <= '9')
1417:    {
1417:      ++__beg;
1417:      __mem = __mem * 10 + (__c - '0');
1417:      if (__beg != __end)
1417:        {
1417:          __c = __ctype.narrow(*__beg, '*');
1417:          if (__c >= '0' && __c <= '9')
1417:     {
1417:       ++__beg;
1417:       __mem = __mem * 10 + (__c - '0');
1417:     }
1417:        }
1417:      __mem -= 1900;
1417:      __state._M_want_century = 0;
1417:    }
1417: 
1417: 
1417:         else if (__mem < 69)
1417:    __mem += 100;
1417:         __tm->tm_year = __mem;
1417:       }
1417:     break;
1417:   case 'Y':
1417: 
1417:     __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
1417:       __io, __tmperr);
1417:     if (!__tmperr)
1417:       {
1417:         __tm->tm_year = __mem - 1900;
1417:     ngOptions GetDynamicOptions() const { return m_dynamicOptions; }
1412:   IntegerSettingOptions UpdateDynamicOptions();
1412:   SettingOptionsSort GetOptionsSort() const { return m_optionsSort; }
1412:   void SetOptionsSort(SettingOptionsSort optionsSort) { m_optionsSort = optionsSort; }
1412: 
1412: private:
1412:   static constexpr Value DefaultValue = 0;
1412:   static constexpr Value DefaultMin = DefaultValue;
1412:   static constexpr Value DefaultStep = 1;
1412:   static constexpr Value DefaultMax = DefaultValue;
1412: 
1412:   void copy(const CSettingInt &setting);
1412:   static bool fromString(const std::string &strValue, int &value);
1412: 
1412:   int m_value = DefaultValue;
1412:   int m_default = DefaultValue;
1412:   int m_min = DefaultMin;
1412:   int m_step = DefaultStep;
1412:   int m_max = DefaultMax;
1412:   TranslatableIntegerSettingOptions m_translatableOptions;
1412:   IntegerSettingOptions m_options;
1412:   std::string m_optionsFillerName;
1412:   IntegerSettingOptionsFiller m_optionsFiller = nullptr;
1412:   void *m_optionsFillerData = nullptr;
1412:   IntegerSettingOptions m_dynamicOptions;
1412:   SettingOptionsSort m_optionsSort = SettingOptionsSort::NoSorting;
1412: 
1412:   static Logger s_logger;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CSettingNumber : public CTraitedSetting<double, SettingType::Number>
1412: {
1412: public:
1412:   CSettingNumber(const std::string &id, CSettingsManager *settingsManager = nullptr);
1412:   CSettingNumber(const std::string &id, const CSettingNumber &setting);
1412:   CSettingNumber(const std::string &id, int label, float value, CSettingsManager *settingsManager = nullptr);
1412:   CSettingNumber(const std::string &id, int label, float value, float minimum, float step, float maximum, CSettingsManager *settingsManager = nullptr);
1412:   ~CSettingNumber() override = default;
1412: 
1412:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1412:   void MergeDetails(const CSetting& other) override;
1412: 
1412:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1412: 
1412:   bool FromString(const std::string &value) override;
1412:   std::string ToString() const override;
1412:   bool Equals(const std::string &value) const override;
1412:   bool CheckValidity(const std::string &value) const override;
1412:   virtual bool CheckValidity(double value) const;
1412:   void Reset() override { SetValue(m_default); }
1412: 
1412:   double GetValue() const
1412:   {
1412:     std::shared_lock<CSharedSection> lock(m_critical);
1412:     return m_value;
1412:   }
1412:   bool SetValue(double value);
1412:   double GetDefault() const { return m_default; }
1412:   void SetDefault(double value);
1412: 
1412:   double GetMinimum() const { return m_min; }
1412:   void SetMinimum(double minimum) { m_min = minimum; }
1412:   double GetStep() const { return m_step; }
1412:   void SetStep(double step) { m_step = step; }
1412:   double GetMaximum() const { return m_max; }
1412:   void SetMaximum(double maximum) { m_max = maximum; }
1412: 
1412: private:
1412:   static constexpr Value DefaultValue = 0.0;
1412:   static constexpr Value DefaultMin = DefaultValue;
1412:   static constexpr Value DefaultStep = 1.0;
1412:   static constexpr Value DefaultMax = DefaultValue;
1412: 
1412:   virtual void copy(const CSettingNumber &setting);
1412:   static bool fromString(const std::string &strValue, double &value);
1412: 
1412:   double m_value = DefaultValue;
1412:   double m_default = DefaultValue;
1412:   double m_min = DefaultMin;
1412:   double m_step = DefaultStep;
1412:   double m_max = DefaultMax;
1412: 
1412:   static Logger s_logger;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CSettingString : public CTraitedSetting<std::string, SettingType::String>
1412: {
1412: public:
1412:   CSettingString(const std::string &id, CSettingsManager *settingsManager = nullptr);
1412:   CSettingString(const std::string &id, const CSettingString &setting);
1412:   CSettingString(const std::string &id, int label, const ssic_string&
1434:       insert(size_type __pos, size_type __n, _CharT __c)
1434:       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
1434:          size_type(0), __n, __c); }
1434: # 1967 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       iterator
1434:       insert(__const_iterator __p, _CharT __c)
1434:       {
1434:  ;
1434:  const size_type __pos = __p - begin();
1434:  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
1434:  return iterator(_M_data() + __pos);
1434:       }
1434: # 1984 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, basic_string&>
1434:  insert(size_type __pos, const _Tp& __svt)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->insert(__pos, __sv.data(), __sv.size());
1434:  }
1434: # 2001 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, basic_string&>
1434:  insert(size_type __pos1, const _Tp& __svt,
1434:         size_type __pos2, size_type __n = npos)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->replace(__pos1, size_type(0),
1434:        __sv.data()
1434:        + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
1434:        std::__sv_limit(__sv.size(), __pos2, __n));
1434:  }
1434: # 2030 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       erase(size_type __pos = 0, size_type __n = npos)
1434:       {
1434:  _M_check(__pos, "basic_string::erase");
1434:  if (__n == npos)
1434:    this->_M_set_length(__pos);
1434:  else if (__n != 0)
1434:    this->_M_erase(__pos, _M_limit(__pos, __n));
1434:  return *this;
1434:       }
1434: # 2050 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       iterator
1434:       erase(__const_iterator __position)
1434:       {
1434: 
1434:                            ;
1434:  const size_type __pos = __position - begin();
1434:  this->_M_erase(__pos, size_type(1));
1434:  return iterator(_M_data() + __pos);
1434:       }
1434: # 2070 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       iterator
1434:       erase(__const_iterator __first, __const_iterator __last)
1434:       {
1434: 
1434:                         ;
1434:         const size_type __pos = __first - begin();
1434:  if (__last == end())
1434:    this->_M_set_length(__pos);
1434:  else
1434:    this->_M_erase(__pos, __last - __first);
1434:  return iterator(this->_M_data() + __pos);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       pop_back() noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1434:  _M_erase(size() - 1, 1);
1434:       }
1434: # 2116 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(size_type __pos, size_type __n, const basic_string& __str)
1434:       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
1434: # 2139 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(size_type __pos1, size_type __n1, const basic_string& __str,
1434:        size_type __pos2, size_type __n2 = npos)
1434:       { return this->replace(__pos1, __n1, __str._M_data()
1434:         + __str._M_check(__pos2, "basic_string::replace"),
1434:         __str._M_limit(__pos2, __n2)); }
1434: # 2165 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(size_type __pos, size_type __n1, const _CharT* __s,
1434:        size_type __n2)
1434:       {
1434:  ;
1434:  return _M_replace(_M_check(__pos, "basic_string::replace"),
1434:      _M_limit(__pos, __n1), __s, __n2);
1434:       }
1434: # 2191 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(size_type __pos, size_type __n1, const _CharT* __s)
1434:       {
1434:  ;
1434:  return this->replace(__pos, __n1, __s, traits_type::length(__s));
1434:       }
1434: # 2216 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
1434:       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
1434:          _M_limit(__pos, __n1), __n2, __c); }
1434: # 2235 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2,
1434:        const basic_string& __str)
1434:       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
1434: # 2256 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2,
1434:        const _CharT* __s, size_type __n)
1434:       {
1434: 
1434:                       ;
1434:  return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
1434:       }
1434: # 2279 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
1434:       {
1434:  ;
1434:  return this->replace(__i1, __i2, __s, traits_type::length(__s));
1434:       }
1434: # 2301 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
1434:        _CharT __c)
1434:       {
1434: 
1434:                       ;
1434:  return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
1434:       }
1434: # 2327 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<class _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:         basic_string&
1434:         replace(const_iterator __i1, const_iterator __i2,
1434:   _InputIterator __k1, _InputIterator __k2)
1434:         {
1434:   
1434:                         ;
1434:    ;
1434:    return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
1434:         std::__false_type());
1434:  }
1434: # 2360 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2,
1434:        _CharT* __k1, _CharT* __k2)
1434:       {
1434: 
1434:                       ;
1434:  ;
1434:  return this->replace(__i1 - begin(), __i2 - __i1,
1434:         __k1, __k2 - __k1);
1434:       }
1434: 
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2,
1434:        const _CharT* __k1, const _CharT* __k2)
1434:       {
1434: 
1434:                       ;
1434:  ;
1434:  return this->replace(__i1 - begin(), __i2 - __i1,
1434:         __k1, __k2 - __k1);
1434:       }
1434: 
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2,
1434:        iterator __k1, iterator __k2)
1434:       {
1434: 
1434:                       ;
1434:  ;
1434:  return this->replace(__i1 - begin(), __i2 - __i1,
1434:         __k1.base(), __k2 - __k1);
1434:       }
1434: 
1434:      
1434:       basic_string&
1434:       replace(__const_iterator __i1, __const_iterator __i2,
1434:        const_iterator __k1, const_iterator __k2)
1434:       {
1434: 
1434:                       ;
1434:  ;
1434:  return this->replace(__i1 - begin(), __i2 - __i1,
1434:         __k1.base(), __k2 - __k1);
1434:       }
1434: # 2423 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string& replace(const_iterator __i1, const_iterator __i2,
1434:        initializer_list<_CharT> __l)
1434:       { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
1434: # 2437 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, basic_string&>
1434:  replace(size_type __pos, size_type __n, const _Tp& __svt)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->replace(__pos, __n, __sv.data(), __sv.size());
1434:  }
1434: # 2455 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, bas    __state._M_want_century = 0;
1417:         __state._M_want_xday = 1;
1417:       }
1417:     break;
1417:   case 'Z':
1417: 
1417:     if (__ctype.is(ctype_base::upper, *__beg))
1417:       {
1417:         int __tmp;
1417:         __beg = _M_extract_name(__beg, __end, __tmp,
1417:            __timepunct_cache<_CharT>::_S_timezones,
1417:            14, __io, __tmperr);
1417: 
1417: 
1417:         if (__beg != __end && !__tmperr && __tmp == 0
1417:      && (*__beg == __ctype.widen('-')
1417:          || *__beg == __ctype.widen('+')))
1417:    {
1417:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2,
1417:        __io, __tmperr);
1417:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2,
1417:        __io, __tmperr);
1417:    }
1417:       }
1417:     else
1417:       __tmperr |= ios_base::failbit;
1417:     break;
1417:   case '%':
1417:     if (*__beg == __ctype.widen('%'))
1417:       ++__beg;
1417:     else
1417:       __tmperr |= ios_base::failbit;
1417:     break;
1417:   default:
1417: 
1417:     __tmperr |= ios_base::failbit;
1417:   }
1417:      }
1417:    else if (__ctype.is(ctype_base::space, __format[__i]))
1417:      {
1417: 
1417:        while (__beg != __end
1417:        && __ctype.is(ctype_base::space, *__beg))
1417:   ++__beg;
1417:      }
1417:    else
1417:      {
1417: 
1417: 
1417:        if (__ctype.tolower(__format[__i]) == __ctype.tolower(*__beg)
1417:     || __ctype.toupper(__format[__i]) == __ctype.toupper(*__beg))
1417:   ++__beg;
1417:        else
1417:   __tmperr |= ios_base::failbit;
1417:      }
1417:  }
1417: 
1417:       if (__tmperr || __i != __len)
1417:  __err |= ios_base::failbit;
1417: 
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1417:      ios_base::iostate& __err, tm* __tm,
1417:      const _CharT* __format) const
1417:     {
1417:       __time_get_state __state = __time_get_state();
1417:       return _M_extract_via_format(__beg, __end, __io, __err, __tm,
1417:        __format, __state);
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     _M_extract_num(iter_type __beg, iter_type __end, int& __member,
1417:      int __min, int __max, size_t __len,
1417:      ios_base& __io, ios_base::iostate& __err) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:       size_t __i = 0;
1417:       int __value = 0;
1417:       for (; __beg != __end && __i < __len; ++__beg, (void)++__i)
1417:  {
1417:    const char __c = __ctype.narrow(*__beg, '*');
1417:    if (__c >= '0' && __c <= '9')
1417:      {
1417:        __value = __value * 10 + (__c - '0');
1417:        if (__value > __max)
1417:   break;
1417:      }
1417:    else
1417:      break;
1417:  }
1417:       if (__i && __value >= __min && __value <= __max)
1417:  __member = __value;
1417:       else
1417:  __err |= ios_base::failbit;
1417: 
1417:       return __beg;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     _M_extract_name(iter_type __beg, iter_type __end, int& __member,
1417:       const _CharT** __names, size_t __indexlen,
1417:       ios_base& __io, ios_base::iostate& __err) const
1417:     {
1417:       typedef char_traits<_CharT> __traits_type;
1417:       const locale& __loc = __io._M_getloc();
1417:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:       size_t* __matches
1417:  = static_cast<size_t*>(__builtin_alloca(2 * sizeof(size_t)
1417:       * __indexlen));
1417:       size_t* __lengths = __matches + __indexlen;
1417:       size_t __nmatches = 0;
1417:       size_t __pos = 0;
1417:       bool __testvalid = true;
1417:       const char_type* __name;
1417:       bool __begupdtd::string &value, CSettingsManager *settingsManager = nullptr);
1412:   ~CSettingString() override = default;
1412: 
1412:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1412:   void MergeDetails(const CSetting& other) override;
1412: 
1412:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1412: 
1412:   bool FromString(const std::string &value) override { return SetValue(value); }
1412:   std::string ToString() const override { return m_value; }
1412:   bool Equals(const std::string &value) const override { return m_value == value; }
1412:   bool CheckValidity(const std::string &value) const override;
1412:   void Reset() override { SetValue(m_default); }
1412: 
1412:   virtual const std::string& GetValue() const
1412:   {
1412:     std::shared_lock<CSharedSection> lock(m_critical);
1412:     return m_value;
1412:   }
1412:   virtual bool SetValue(const std::string &value);
1412:   virtual const std::string& GetDefault() const { return m_default; }
1412:   virtual void SetDefault(const std::string &value);
1412: 
1412:   virtual bool AllowEmpty() const { return m_allowEmpty; }
1412:   void SetAllowEmpty(bool allowEmpty) { m_allowEmpty = allowEmpty; }
1412:   virtual bool AllowNewOption() const { return m_allowNewOption; }
1412:   void SetAllowNewOption(bool allowNewOption) { m_allowNewOption = allowNewOption; }
1412: 
1412:   SettingOptionsType GetOptionsType() const;
1412:   const TranslatableStringSettingOptions& GetTranslatableOptions() const { return m_translatableOptions; }
1412:   void SetTranslatableOptions(const TranslatableStringSettingOptions &options) { m_translatableOptions = options; }
1412:   const StringSettingOptions& GetOptions() const { return m_options; }
1412:   void SetOptions(const StringSettingOptions &options) { m_options = options; }
1412:   const std::string& GetOptionsFillerName() const { return m_optionsFillerName; }
1412:   void SetOptionsFillerName(const std::string &optionsFillerName, void *data = nullptr)
1412:   {
1412:     m_optionsFillerName = optionsFillerName;
1412:     m_optionsFillerData = data;
1412:   }
1412:   void SetOptionsFiller(StringSettingOptionsFiller optionsFiller, void *data = nullptr)
1412:   {
1412:     m_optionsFiller = optionsFiller;
1412:     m_optionsFillerData = data;
1412:   }
1412:   StringSettingOptions GetDynamicOptions() const { return m_dynamicOptions; }
1412:   StringSettingOptions UpdateDynamicOptions();
1412:   SettingOptionsSort GetOptionsSort() const { return m_optionsSort; }
1412:   void SetOptionsSort(SettingOptionsSort optionsSort) { m_optionsSort = optionsSort; }
1412: 
1412: protected:
1412:   static const Value DefaultValue;
1412: 
1412:   virtual void copy(const CSettingString &setting);
1412: 
1412:   std::string m_value;
1412:   std::string m_default;
1412:   bool m_allowEmpty = false;
1412:   bool m_allowNewOption = false;
1412:   TranslatableStringSettingOptions m_translatableOptions;
1412:   StringSettingOptions m_options;
1412:   std::string m_optionsFillerName;
1412:   StringSettingOptionsFiller m_optionsFiller = nullptr;
1412:   void *m_optionsFillerData = nullptr;
1412:   StringSettingOptions m_dynamicOptions;
1412:   SettingOptionsSort m_optionsSort = SettingOptionsSort::NoSorting;
1412: 
1412:   static Logger s_logger;
1412: };
1412: # 506 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1412: class CSettingAction : public CSetting
1412: {
1412: public:
1412:   CSettingAction(const std::string &id, CSettingsManager *settingsManager = nullptr);
1412:   CSettingAction(const std::string &id, int label, CSettingsManager *settingsManager = nullptr);
1412:   CSettingAction(const std::string &id, const CSettingAction &setting);
1412:   ~CSettingAction() override = default;
1412: 
1412:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1412:   void MergeDetails(const CSetting& other) override;
1412: 
1412:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1412: 
1412:   SettingType GetType() const override { return SettingType::Actiic_string&>
1434:  replace(size_type __pos1, size_type __n1, const _Tp& __svt,
1434:   size_type __pos2, size_type __n2 = npos)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->replace(__pos1, __n1,
1434:        __sv.data()
1434:        + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
1434:        std::__sv_limit(__sv.size(), __pos2, __n2));
1434:  }
1434: # 2477 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, basic_string&>
1434:  replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->replace(__i1 - begin(), __i2 - __i1, __sv);
1434:  }
1434: 
1434: 
1434:     private:
1434:       template<class _Integer>
1434: 
1434:  basic_string&
1434:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1434:        _Integer __n, _Integer __val, __true_type)
1434:         { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
1434: 
1434:       template<class _InputIterator>
1434: 
1434:  basic_string&
1434:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1434:        _InputIterator __k1, _InputIterator __k2,
1434:        __false_type);
1434: 
1434:      
1434:       basic_string&
1434:       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1434:        _CharT __c);
1434: 
1434:      
1434:       basic_string&
1434:       _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1434:    const size_type __len2);
1434: 
1434:      
1434:       basic_string&
1434:       _M_append(const _CharT* __s, size_type __n);
1434: 
1434:     public:
1434: # 2530 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
1434: # 2541 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       void
1434:       swap(basic_string& __s) noexcept;
1434: # 2552 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       const _CharT*
1434:       c_str() const noexcept
1434:       { return _M_data(); }
1434: # 2565 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       const _CharT*
1434:       data() const noexcept
1434:       { return _M_data(); }
1434: # 2577 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       _CharT*
1434:       data() noexcept
1434:       { return _M_data(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return _M_get_allocator(); }
1434: # 2603 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find(const _CharT* __s, size_type __pos, size_type __n) const
1434:       noexcept;
1434: # 2618 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find(const basic_string& __str, size_type __pos = 0) const
1434:       noexcept
1434:       { return this->find(__str.data(), __pos, __str.size()); }
1434: # 2631 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, size_type>
1434:  find(const _Tp& __svt, size_type __pos = 0) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->find(__sv.data(), __pos, __sv.size());
1434:  }
1434: # 2652 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find(const _CharT* __s, size_type __pos = 0) const noexcept
1434:       {
1434:  ;
1434:  return this->find(__s, __pos, traits_type::length(__s));
1434:       }
1434: # 2670 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find(_CharT __c, size_type __pos = 0) const noexcept;
1434: # 2684 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       rfind(const basic_string& __str, size_type __pos = npos) const
1434:       noexcept
1434:       { return this->rfind(__str.data(), __pos, __str.size()); }
1434: # 2697 "/usr/incated = false;
1417: 
1417: 
1417:       if (__beg != __end)
1417:  {
1417:    const char_type __c = *__beg;
1417: 
1417:    const char_type __cl = __ctype.tolower(__c);
1417:    const char_type __cu = __ctype.toupper(__c);
1417:    for (size_t __i1 = 0; __i1 < __indexlen; ++__i1)
1417:      if (__cl == __ctype.tolower(__names[__i1][0])
1417:   || __cu == __ctype.toupper(__names[__i1][0]))
1417:        {
1417:   __lengths[__nmatches]
1417:     = __traits_type::length(__names[__i1]);
1417:   __matches[__nmatches++] = __i1;
1417:        }
1417:  }
1417: 
1417:       while (__nmatches > 1)
1417:  {
1417: 
1417:    size_t __minlen = __lengths[0];
1417:    for (size_t __i2 = 1; __i2 < __nmatches; ++__i2)
1417:      __minlen = std::min(__minlen, __lengths[__i2]);
1417:    ++__pos;
1417:    ++__beg;
1417:    if (__pos == __minlen)
1417:      {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:        bool __match_longer = false;
1417: 
1417:        if (__beg != __end)
1417:   {
1417: 
1417:     const char_type __cl = __ctype.tolower(*__beg);
1417:     const char_type __cu = __ctype.toupper(*__beg);
1417:     for (size_t __i3 = 0; __i3 < __nmatches; ++__i3)
1417:       {
1417:         __name = __names[__matches[__i3]];
1417:         if (__lengths[__i3] > __pos
1417:      && (__ctype.tolower(__name[__pos]) == __cl
1417:          || __ctype.toupper(__name[__pos]) == __cu))
1417:    {
1417:      __match_longer = true;
1417:      break;
1417:    }
1417:       }
1417:   }
1417:        for (size_t __i4 = 0; __i4 < __nmatches;)
1417:   if (__match_longer == (__lengths[__i4] == __pos))
1417:     {
1417:       __matches[__i4] = __matches[--__nmatches];
1417:       __lengths[__i4] = __lengths[__nmatches];
1417:     }
1417:   else
1417:     ++__i4;
1417:        if (__match_longer)
1417:   {
1417:     __minlen = __lengths[0];
1417:     for (size_t __i5 = 1; __i5 < __nmatches; ++__i5)
1417:       __minlen = std::min(__minlen, __lengths[__i5]);
1417:   }
1417:        else
1417:   {
1417: 
1417: 
1417:     if (__nmatches == 2 && (__indexlen & 1) == 0)
1417:       {
1417:         if (__matches[0] < __indexlen / 2)
1417:    {
1417:      if (__matches[1] == __matches[0] + __indexlen / 2)
1417:        __nmatches = 1;
1417:    }
1417:         else if (__matches[1] == __matches[0] - __indexlen / 2)
1417:    {
1417:      __matches[0] = __matches[1];
1417:      __lengths[0] = __lengths[1];
1417:      __nmatches = 1;
1417:    }
1417:       }
1417:     __begupdated = true;
1417:     break;
1417:   }
1417:      }
1417:    if (__pos < __minlen && __beg != __end)
1417:      {
1417: 
1417:        const char_type __cl = __ctype.tolower(*__beg);
1417:        const char_type __cu = __ctype.toupper(*__beg);
1417:        for (size_t __i6 = 0; __i6 < __nmatches;)
1417:   {
1417:     __name = __names[__matches[__i6]];
1417:     if (__ctype.tolower(__name[__pos]) != __cl
1417:         && __ctype.toupper(__name[__pos]) != __cu)
1417:       {
1417:         __matches[__i6] = __matches[--__nmatches];
1417:         __lengths[__i6] = __lengths[__nmatches];
1417:       }
1417:     else
1417:       ++__i6;
1417:   }
1417:      }
1417:    else
1417:      break;
1417:  }
1417: 
1417:       if (__nmatches == 1)
1417:  {
1417: 
1417:    if (!__begupdated)
1417:      {
1417:        ++__beg;
1417:        ++__pos;
1417:      }
1417:    __name = __names[__matches[0]];
1417:    const size_t __len = __lengths[0];
1417:    while (__pos < __len
1417:    && __beg != __end
1417: 
1417:    && (__ctype.tolower(__name[__pos]) == __ctype.tolower(*__beg)
1417:        || (__ctype.toupper(__name[__pos])
1417:     == __ctype.toupper(*__beg))))
1417:      ++__beg, (void)++__pos;
1417: 
1417:    if (__len == __pos)
1417:      __member = __matches[0];
1417:    else
1417:      __testvalid = false;
1417:  }
1417:       else
1417:  __testvalid = false;
1417:       if (!__testvalid)
1417:  __err |= ios_base::failbit;
1417: 
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     _M_extract_wday_or_molude/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, size_type>
1434:  rfind(const _Tp& __svt, size_type __pos = npos) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->rfind(__sv.data(), __pos, __sv.size());
1434:  }
1434: # 2720 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       rfind(const _CharT* __s, size_type __pos, size_type __n) const
1434:       noexcept;
1434: # 2735 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       rfind(const _CharT* __s, size_type __pos = npos) const
1434:       {
1434:  ;
1434:  return this->rfind(__s, __pos, traits_type::length(__s));
1434:       }
1434: # 2753 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1434: # 2768 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_of(const basic_string& __str, size_type __pos = 0) const
1434:       noexcept
1434:       { return this->find_first_of(__str.data(), __pos, __str.size()); }
1434: # 2782 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, size_type>
1434:  find_first_of(const _Tp& __svt, size_type __pos = 0) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->find_first_of(__sv.data(), __pos, __sv.size());
1434:  }
1434: # 2805 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1434:       noexcept;
1434: # 2820 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_of(const _CharT* __s, size_type __pos = 0) const
1434:       noexcept
1434:       {
1434:  ;
1434:  return this->find_first_of(__s, __pos, traits_type::length(__s));
1434:       }
1434: # 2841 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1434:       { return this->find(__c, __pos); }
1434: # 2857 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_of(const basic_string& __str, size_type __pos = npos) const
1434:       noexcept
1434:       { return this->find_last_of(__str.data(), __pos, __str.size()); }
1434: # 2871 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, size_type>
1434:  find_last_of(const _Tp& __svt, size_type __pos = npos) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->find_last_of(__sv.data(), __pos, __sv.size());
1434:  }
1434: # 2894 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1434:       noexcept;
1434: # 2909 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_of(const _CharT* __s, size_type __pos = npos) const
1434:       noexcept
1434:       {
1434:  ;
1434:  return this->find_last_of(__s, __pos, traits_type::length(__s));
1434:       }
1434: # 2930 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_of(_CharT __c, size_type __pos = npos) const noexcept
1434:       { return this->rfind(__c, __pos); }
1434: # 2945 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
1434:       noexcept
1434:       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
1434: # 2959 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434:  _If_sv<_Tp, size_type>
1434: 
1434:  find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
1on; }
1412:   bool FromString(const std::string &value) override { return CheckValidity(value); }
1412:   std::string ToString() const override { return ""; }
1412:   bool Equals(const std::string &value) const override { return value.empty(); }
1412:   bool CheckValidity(const std::string &value) const override { return value.empty(); }
1412:   void Reset() override { }
1412: 
1412:   bool HasData() const { return !m_data.empty(); }
1412:   const std::string& GetData() const { return m_data; }
1412:   void SetData(const std::string& data) { m_data = data; }
1412: 
1412: protected:
1412:   virtual void copy(const CSettingAction& setting);
1412: 
1412:   std::string m_data;
1412: 
1412:   static Logger s_logger;
1412: };
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.h" 2
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: typedef int DisplayMode;
1412: 
1412: 
1412: 
1412: enum RESOLUTION
1412: {
1412:   RES_INVALID = -1,
1412:   RES_WINDOW = 15,
1412:   RES_DESKTOP = 16,
1412:   RES_CUSTOM = 16 + 1,
1412: };
1412: 
1412: struct OVERSCAN
1412: {
1412:   int left;
1412:   int top;
1412:   int right;
1412:   int bottom;
1412: public:
1412:   OVERSCAN()
1412:   {
1412:     left = top = right = bottom = 0;
1412:   }
1412:   OVERSCAN(const OVERSCAN& os)
1412:   {
1412:     left = os.left; top = os.top;
1412:     right = os.right; bottom = os.bottom;
1412:   }
1412:   OVERSCAN& operator=(const OVERSCAN&) = default;
1412: 
1412:   bool operator==(const OVERSCAN& other)
1412:   {
1412:     return left == other.left && right == other.right && top == other.top && bottom == other.bottom;
1412:   }
1412:   bool operator!=(const OVERSCAN& other)
1412:   {
1412:     return left != other.left || right != other.right || top != other.top || bottom != other.bottom;
1412:   }
1412: };
1412: 
1412: struct EdgeInsets
1412: {
1412:   float left = 0.0f;
1412:   float top = 0.0f;
1412:   float right = 0.0f;
1412:   float bottom = 0.0f;
1412: 
1412:   EdgeInsets() = default;
1412:   EdgeInsets(float l, float t, float r, float b);
1412: };
1412: 
1412: struct RESOLUTION_INFO
1412: {
1412:   OVERSCAN Overscan;
1412:   EdgeInsets guiInsets;
1412:   bool bFullScreen;
1412:   int iWidth;
1412:   int iHeight;
1412:   int iBlanking;
1412:   int iScreenWidth;
1412:   int iScreenHeight;
1412:   int iSubtitles;
1412:   uint32_t dwFlags;
1412:   float fPixelRatio;
1412:   float fRefreshRate;
1412:   std::string strMode;
1412:   std::string strOutput;
1412:   std::string strId;
1412: public:
1412:   RESOLUTION_INFO(int width = 1280, int height = 720, float aspect = 0, const std::string &mode = "");
1412:   float DisplayRatio() const;
1412:   RESOLUTION_INFO(const RESOLUTION_INFO& res);
1412:   RESOLUTION_INFO& operator=(const RESOLUTION_INFO&) = default;
1412: };
1412: 
1412: class CResolutionUtils
1412: {
1412: public:
1412:   static RESOLUTION ChooseBestResolution(float fps, int width, int height, bool is3D);
1412:   static bool HasWhitelist();
1412:   static void PrintWhitelist();
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   static void GetMaxAllowedResolution(unsigned int& width, unsigned int& height);
1412: 
1412: protected:
1412:   static void FindResolutionFromWhitelist(float fps, int width, int height, bool is3D, RESOLUTION &resolution);
1412:   static bool FindResolutionFromOverride(float fps, int width, bool is3D, RESOLUTION &resolution, float& weight, bool fallback);
1412:   static float RefreshWeight(float refresh, float fps);
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1412:        
1412: 
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->find_first_not_of(__sv.data(), __pos, __sv.size());
1434:  }
1434: # 2982 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_not_of(const _CharT* __s, size_type __pos,
1434:    size_type __n) const noexcept;
1434: # 2997 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
1434:       noexcept
1434:       {
1434:  ;
1434:  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
1434:       }
1434: # 3016 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_first_not_of(_CharT __c, size_type __pos = 0) const
1434:       noexcept;
1434: # 3032 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
1434:       noexcept
1434:       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
1434: # 3046 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, size_type>
1434:  find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return this->find_last_not_of(__sv.data(), __pos, __sv.size());
1434:  }
1434: # 3069 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_not_of(const _CharT* __s, size_type __pos,
1434:          size_type __n) const noexcept;
1434: # 3084 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
1434:       noexcept
1434:       {
1434:  ;
1434:  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
1434:       }
1434: # 3103 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       size_type
1434:       find_last_not_of(_CharT __c, size_type __pos = npos) const
1434:       noexcept;
1434: # 3120 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       basic_string
1434:       substr(size_type __pos = 0, size_type __n = npos) const
1434:       { return basic_string(*this,
1434:        _M_check(__pos, "basic_string::substr"), __n); }
1434: # 3140 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       int
1434:       compare(const basic_string& __str) const
1434:       {
1434:  const size_type __size = this->size();
1434:  const size_type __osize = __str.size();
1434:  const size_type __len = std::min(__size, __osize);
1434: 
1434:  int __r = traits_type::compare(_M_data(), __str.data(), __len);
1434:  if (!__r)
1434:    __r = _S_compare(__size, __osize);
1434:  return __r;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, int>
1434:  compare(const _Tp& __svt) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    const size_type __size = this->size();
1434:    const size_type __osize = __sv.size();
1434:    const size_type __len = std::min(__size, __osize);
1434: 
1434:    int __r = traits_type::compare(_M_data(), __sv.data(), __len);
1434:    if (!__r)
1434:      __r = _S_compare(__size, __osize);
1434:    return __r;
1434:  }
1434: # 3185 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, int>
1434:  compare(size_type __pos, size_type __n, const _Tp& __svt) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return __sv_type(*this).substr(__pos, __n).compare(__sv);
1434:  }
1434: # 3205 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename _Tp>
1434: 
1434:  _If_sv<_Tp, int>
1434:  compare(size_type __pos1, size_type __n1, const _Tp& __svt,
1434:   size_type __pos2, size_type _nth(iter_type __beg, iter_type __end, int& __member,
1417:         const _CharT** __names, size_t __indexlen,
1417:         ios_base& __io, ios_base::iostate& __err) const
1417:     {
1417:       typedef char_traits<_CharT> __traits_type;
1417:       const locale& __loc = __io._M_getloc();
1417:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:       int* __matches = static_cast<int*>(__builtin_alloca(2 * sizeof(int)
1417:          * __indexlen));
1417:       size_t __nmatches = 0;
1417:       size_t* __matches_lengths = 0;
1417:       size_t __pos = 0;
1417: 
1417:       if (__beg != __end)
1417:  {
1417:    const char_type __c = *__beg;
1417:    for (size_t __i = 0; __i < 2 * __indexlen; ++__i)
1417:      if (__c == __names[__i][0]
1417:   || __c == __ctype.toupper(__names[__i][0]))
1417:        __matches[__nmatches++] = __i;
1417:  }
1417: 
1417:       if (__nmatches)
1417:  {
1417:    ++__beg;
1417:    ++__pos;
1417: 
1417:    __matches_lengths
1417:      = static_cast<size_t*>(__builtin_alloca(sizeof(size_t)
1417:           * __nmatches));
1417:    for (size_t __i = 0; __i < __nmatches; ++__i)
1417:      __matches_lengths[__i]
1417:        = __traits_type::length(__names[__matches[__i]]);
1417:  }
1417: 
1417:       for (; __beg != __end; ++__beg, (void)++__pos)
1417:  {
1417:    size_t __nskipped = 0;
1417:    const char_type __c = *__beg;
1417:    for (size_t __i = 0; __i < __nmatches;)
1417:      {
1417:        const char_type* __name = __names[__matches[__i]];
1417:        if (__pos >= __matches_lengths[__i])
1417:   ++__nskipped, ++__i;
1417:        else if (!(__name[__pos] == __c))
1417:   {
1417:     --__nmatches;
1417:     __matches[__i] = __matches[__nmatches];
1417:     __matches_lengths[__i] = __matches_lengths[__nmatches];
1417:   }
1417:        else
1417:   ++__i;
1417:      }
1417:    if (__nskipped == __nmatches)
1417:      break;
1417:  }
1417: 
1417:       if ((__nmatches == 1 && __matches_lengths[0] == __pos)
1417:    || (__nmatches == 2 && (__matches_lengths[0] == __pos
1417:       || __matches_lengths[1] == __pos)))
1417:  __member = (__matches[0] >= (int)__indexlen
1417:       ? __matches[0] - (int)__indexlen : __matches[0]);
1417:       else
1417:  __err |= ios_base::failbit;
1417: 
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
1417:   ios_base::iostate& __err, tm* __tm) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1417:       const char_type* __times[2];
1417:       __tp._M_time_formats(__times);
1417:       __time_get_state __state = __time_get_state();
1417:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
1417:         __tm, __times[0], __state);
1417:       __state._M_finalize_state(__tm);
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
1417:   ios_base::iostate& __err, tm* __tm) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1417:       const char_type* __dates[2];
1417:       __tp._M_date_formats(__dates);
1417:       __time_get_state __state = __time_get_state();
1417:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
1417:         __tm, __dates[0], __state);
1417:       __state._M_finalize_state(__tm);
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
1417:_n2 = npos) const
1434:  noexcept(is_same<_Tp, __sv_type>::value)
1434:  {
1434:    __sv_type __sv = __svt;
1434:    return __sv_type(*this)
1434:      .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
1434:  }
1434: # 3237 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       int
1434:       compare(size_type __pos, size_type __n, const basic_string& __str) const;
1434: # 3264 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       int
1434:       compare(size_type __pos1, size_type __n1, const basic_string& __str,
1434:        size_type __pos2, size_type __n2 = npos) const;
1434: # 3283 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       int
1434:       compare(const _CharT* __s) const noexcept;
1434: # 3308 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       int
1434:       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
1434: # 3336 "/usr/include/c++/12/bits/basic_string.h" 3
1434:      
1434:       int
1434:       compare(size_type __pos, size_type __n1, const _CharT* __s,
1434:        size_type __n2) const;
1434: # 3382 "/usr/include/c++/12/bits/basic_string.h" 3
1434:       template<typename, typename, typename> friend class basic_stringbuf;
1434:     };
1434: }
1434: 
1434: }
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: namespace __cxx11 {
1434:   template<typename _InputIterator, typename _CharT
1434:       = typename iterator_traits<_InputIterator>::value_type,
1434:     typename _Allocator = allocator<_CharT>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
1434:       -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits,
1434:     typename _Allocator = allocator<_CharT>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
1434:       -> basic_string<_CharT, _Traits, _Allocator>;
1434: 
1434:   template<typename _CharT, typename _Traits,
1434:     typename _Allocator = allocator<_CharT>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     basic_string(basic_string_view<_CharT, _Traits>,
1434:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1434:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1434:    const _Allocator& = _Allocator())
1434:       -> basic_string<_CharT, _Traits, _Allocator>;
1434: }
1434: # 3429 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     {
1434:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1434:       __str.append(__rhs);
1434:       return __str;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT,_Traits,_Alloc>
1434:     operator+(const _CharT* __lhs,
1434:        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT,_Traits,_Alloc>
1434:     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:        const _CharT* __rhs)
1434:     {
1434:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1434:       __str.append(__rhs);
1434:       return __str;
1434: 412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h"
1412:        
1412: 
1412: enum RENDER_STEREO_VIEW
1412: {
1412:   RENDER_STEREO_VIEW_OFF,
1412:   RENDER_STEREO_VIEW_LEFT,
1412:   RENDER_STEREO_VIEW_RIGHT,
1412: };
1412: 
1412: enum RENDER_STEREO_MODE
1412: {
1412:   RENDER_STEREO_MODE_OFF,
1412:   RENDER_STEREO_MODE_SPLIT_HORIZONTAL,
1412:   RENDER_STEREO_MODE_SPLIT_VERTICAL,
1412:   RENDER_STEREO_MODE_ANAGLYPH_RED_CYAN,
1412:   RENDER_STEREO_MODE_ANAGLYPH_GREEN_MAGENTA,
1412:   RENDER_STEREO_MODE_ANAGLYPH_YELLOW_BLUE,
1412:   RENDER_STEREO_MODE_INTERLACED,
1412:   RENDER_STEREO_MODE_CHECKERBOARD,
1412:   RENDER_STEREO_MODE_HARDWAREBASED,
1412:   RENDER_STEREO_MODE_MONO,
1412:   RENDER_STEREO_MODE_COUNT,
1412: 
1412: 
1412:   RENDER_STEREO_MODE_AUTO = 100,
1412:   RENDER_STEREO_MODE_UNDEFINED = 999,
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace UTILS
1412: {
1412: namespace COLOR
1412: {
1412: 
1412: typedef uint32_t Color;
1412: 
1412: constexpr Color BLACK = 0xFF000000;
1412: constexpr Color LIMITED_BLACK = 0xFF101010;
1412: constexpr Color BLUE = 0xFF0099FF;
1412: constexpr Color BRIGHTGREEN = 0xFF00FF00;
1412: constexpr Color CYAN = 0xFF00FFFF;
1412: constexpr Color DARKGREY = 0xFF808080;
1412: constexpr Color GREY = 0xFFC0C0C0;
1412: constexpr Color LIGHTGREY = 0xFFE5E5E5;
1412: constexpr Color NONE = 0x00000000;
1412: constexpr Color WHITE = 0xFFFFFFFF;
1412: constexpr Color YELLOW = 0xFFFFFF00;
1412: constexpr Color YELLOWGREEN = 0xFFCCFF00;
1412: 
1412: struct ColorInfo
1412: {
1412:   Color colorARGB;
1412:   double hue;
1412:   double saturation;
1412:   double lightness;
1412: };
1412: 
1412: struct ColorFloats
1412: {
1412:   float red;
1412:   float green;
1412:   float blue;
1412:   float alpha;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: Color ChangeOpacity(const Color argb, const float opacity);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: Color ConvertToRGBA(const Color argb);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: Color ConvertToARGB(const Color rgba);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: Color ConvertToBGR(const Color argb);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: Color ConvertHexToColor(const std::string& hexColor);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: Color ConvertIntToRGB(int r, int g, int b);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: ColorInfo MakeColorInfo(const Color& argb);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: ColorInfo MakeColorInfo(const std::string& hexColor);
1412: 
1412: 
1412: 
1412: bool comparePairColorInfo(const std::pair<std::string, ColorInfo>& a,
1412:                           const std::pair<std::string, ColorInfo>& b);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: ColorFloats ConvertToFloats(const Color argb);
1412: }
1412: }
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1412:        
1412: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1412: # 1 "/usr/include/c++/12/algorithm" 1 3
1412: # 58 "/usr/include/c++/12/algorithm" 3
1412:        
1412: # 59 "/usr/include/c++/12/algorithm" 3
1412: # 73 "/usr/include/c++/12/algorithm" 3
1412: # 1 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 1 3
1412: # 17 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
1412: 
1412: # 17 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: any_of(_ExecutionPolicy&& __exec, _ForwardIt    }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
1434:     {
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef typename __string_type::size_type __size_type;
1434:       __string_type __str(__lhs);
1434:       __str.append(__size_type(1), __rhs);
1434:       return __str;
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1434:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     { return std::move(__lhs.append(__rhs)); }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1434:     { return std::move(__rhs.insert(0, __lhs)); }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1434:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1434:     {
1434: 
1434:       using _Alloc_traits = allocator_traits<_Alloc>;
1434:       bool __use_rhs = false;
1434:       if constexpr (typename _Alloc_traits::is_always_equal{})
1434:  __use_rhs = true;
1434:       else if (__lhs.get_allocator() == __rhs.get_allocator())
1434:  __use_rhs = true;
1434:       if (__use_rhs)
1434: 
1434:  {
1434:    const auto __size = __lhs.size() + __rhs.size();
1434:    if (__size > __lhs.capacity() && __size <= __rhs.capacity())
1434:      return std::move(__rhs.insert(0, __lhs));
1434:  }
1434:       return std::move(__lhs.append(__rhs));
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(const _CharT* __lhs,
1434:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1434:     { return std::move(__rhs.insert(0, __lhs)); }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(_CharT __lhs,
1434:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1434:     { return std::move(__rhs.insert(0, 1, __lhs)); }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1434:        const _CharT* __rhs)
1434:     { return std::move(__lhs.append(__rhs)); }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1434:        _CharT __rhs)
1434:     { return std::move(__lhs.append(1, __rhs)); }
1434: # 3572 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline bool
1434:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     noexcept
1434:     { return __lhs.compare(__rhs) == 0; }
1434: 
1434:   template<typename _CharT>
1434:    
1434:     inline
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type
1434:     operator==(const basic_string<_CharT>& __lhs,
1434:         const basic_string<_CharT>& __rhs) noexcept
1434:     { return (__lhs.size() == __rhs.size()
1434:        && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),
1434:           __lhs.size())); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline bool
1434:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const _CharT* __rhs)
1434:     { return __lhs.compare(__rhs) == 0; }
1434: # 3638 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator==(const _CharT* __lhs,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     { return __rhs.compare(__lhs) == 0; }
1434: # 3651 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     noexcept
1434:     { return !(__lhs == __rhs); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator!=(const _CharT* __lhs,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     { return !(__lhs == __rhs); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const _CharT* __rhs)
1434:     { return !(__lhs == __rhs); }
1434: # 3689 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     noexcept
1434:     { return __lhs.compare(__rhs) < 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:        const _CharT* __rhs)
1434:     { return __lhs.compare(__rhs) < 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator<(const _CharT* __lhs,
1434:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     { return __rhs.compare(__lhs) > 0; }
1434: # 3727 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     noexcept
1434:     { return __lhs.compare(__rhs) > 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:        const _CharT* __rhs)
1434:     { return __lhs.compare(__rhs) > 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator>(const _CharT* __lhs,
1434:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     { return __rhs.compare(__lhs) < 0; }
1434: # 3765 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     noexcept
1434:     { return __lhs.compare(__rhs) <= 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const _CharT* __rhs)
1434:     { return __lhs.compare(__rhs) <= 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT,       ios_base::iostate& __err, tm* __tm) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1417:       const char_type* __days[14];
1417:       __tp._M_days_abbreviated(__days);
1417:       __tp._M_days(__days + 7);
1417:       int __tmpwday;
1417:       ios_base::iostate __tmperr = ios_base::goodbit;
1417: 
1417:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7,
1417:            __io, __tmperr);
1417:       if (!__tmperr)
1417:  __tm->tm_wday = __tmpwday;
1417:       else
1417:  __err |= ios_base::failbit;
1417: 
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:      }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     do_get_monthname(iter_type __beg, iter_type __end,
1417:                      ios_base& __io, ios_base::iostate& __err, tm* __tm) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1417:       const char_type* __months[24];
1417:       __tp._M_months_abbreviated(__months);
1417:       __tp._M_months(__months + 12);
1417:       int __tmpmon;
1417:       ios_base::iostate __tmperr = ios_base::goodbit;
1417: 
1417:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12,
1417:            __io, __tmperr);
1417:       if (!__tmperr)
1417:  __tm->tm_mon = __tmpmon;
1417:       else
1417:  __err |= ios_base::failbit;
1417: 
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
1417:   ios_base::iostate& __err, tm* __tm) const
1417:     {
1417:       int __tmpyear;
1417:       ios_base::iostate __tmperr = ios_base::goodbit;
1417:       const locale& __loc = __io._M_getloc();
1417:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1417: 
1417:       __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 99, 2,
1417:         __io, __tmperr);
1417:       if (!__tmperr)
1417:  {
1417:    char __c = 0;
1417:    if (__beg != __end)
1417:      __c = __ctype.narrow(*__beg, '*');
1417: 
1417: 
1417: 
1417:    if (__c >= '0' && __c <= '9')
1417:      {
1417:        ++__beg;
1417:        __tmpyear = __tmpyear * 10 + (__c - '0');
1417:        if (__beg != __end)
1417:   {
1417:     __c = __ctype.narrow(*__beg, '*');
1417:     if (__c >= '0' && __c <= '9')
1417:       {
1417:         ++__beg;
1417:         __tmpyear = __tmpyear * 10 + (__c - '0');
1417:       }
1417:   }
1417:        __tmpyear -= 1900;
1417:      }
1417:    else if (__tmpyear < 69)
1417:      __tmpyear += 100;
1417:    __tm->tm_year = __tmpyear;
1417:  }
1417:       else
1417:  __err |= ios_base::failbit;
1417: 
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     inline
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     get(iter_type __s, iter_type __end, ios_base& __io,
1417:         ios_base::iostate& __err, tm* __tm, const char_type* __fmt,
1417:         const char_type* __fmtend) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1417:       __err = ios_base::goodbit;
1417:       bool __use_state = false;
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wpmf-conversions"
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       if ((void*)(this->*(&time_get::do_get)) == (void*)(&time_get::do_get))
1417:  __use_state = true;
1417: #pragma GCC diagnostic pop
1417: 
1417:       __time_get_state __state = __time_get_state();
1417:       while (__fmt != __fmtend &&
1417:        erator __first, _ForwardIterator __last, _Predicate __pred);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: all_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: none_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Function>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: for_each(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Function __f);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Function>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: for_each_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, _Function __f);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: find_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: find_if_not(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1412: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1412:          _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1412: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1412:          _ForwardIterator2 __s_last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1412: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1412:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1412: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1412:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_extypename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator<=(const _CharT* __lhs,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     { return __rhs.compare(__lhs) >= 0; }
1434: # 3803 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     noexcept
1434:     { return __lhs.compare(__rhs) >= 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:         const _CharT* __rhs)
1434:     { return __lhs.compare(__rhs) >= 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline bool
1434:     operator>=(const _CharT* __lhs,
1434:       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     { return __rhs.compare(__lhs) <= 0; }
1434: # 3842 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     inline void
1434:     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
1434:   basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     noexcept(noexcept(__lhs.swap(__rhs)))
1434:     { __lhs.swap(__rhs); }
1434: # 3863 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     basic_istream<_CharT, _Traits>&
1434:     operator>>(basic_istream<_CharT, _Traits>& __is,
1434:         basic_string<_CharT, _Traits, _Alloc>& __str);
1434: 
1434:   template<>
1434:     basic_istream<char>&
1434:     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
1434: # 3881 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __str)
1434:     {
1434: 
1434: 
1434:       return __ostream_insert(__os, __str.data(), __str.size());
1434:     }
1434: # 3904 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     basic_istream<_CharT, _Traits>&
1434:     getline(basic_istream<_CharT, _Traits>& __is,
1434:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
1434: # 3921 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline basic_istream<_CharT, _Traits>&
1434:     getline(basic_istream<_CharT, _Traits>& __is,
1434:      basic_string<_CharT, _Traits, _Alloc>& __str)
1434:     { return std::getline(__is, __str, __is.widen('\n')); }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline basic_istream<_CharT, _Traits>&
1434:     getline(basic_istream<_CharT, _Traits>&& __is,
1434:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1434:     { return std::getline(__is, __str, __delim); }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     inline basic_istream<_CharT, _Traits>&
1434:     getline(basic_istream<_CharT, _Traits>&& __is,
1434:      basic_string<_CharT, _Traits, _Alloc>& __str)
1434:     { return std::getline(__is, __str); }
1434: 
1434: 
1434:   template<>
1434:     basic_istream<char>&
1434:     getline(basic_istream<char>& __in, basic_string<char>& __str,
1434:      char __delim);
1434: 
1434: 
1434:   template<>
1434:     basic_istream<wchar_t>&
1434:     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
1434:      wchar_t __delim);
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/ext/string_conversions.h" 1 3
1434: # 32 "/usr/include/c++/12/ext/string_conversions.h" 3
1434:        
1434: # 33 "/usr/include/c++/12/ext/string_conversions.h" 3
1434: # 41 "/usr/include/c++/12/ext/string_conversions.h" 3
1434: # 1 "/usr/include/c++/12/cstdlib" 1 3
1434: # 39 "/usr/include/c++/12/cstdlib" 3
1434:        
1434: # 40 "/usr/include/c++/12/cstdlib" 3
1434: # 75 "/usr/include/c++/12/cstdlib" 3
1434: # 1 "/usr/include/stdlib.h" 1 3 4
1434: # 26 "/usr/include/stdlib.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1434: # 27 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 33 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 1 3 4
1434: # 41 "/usr/include/stdlib.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitstatus.h" 1 3 4
1434: # 42 "/usr/include/stdlib.h" 2 3 4
1434: # 56 "/usr/include/stdlib.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1434: # 57 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: typedef struct
1434:   {
1434:     int quot;
1434:     int rem;
1434:   } div_t;
1434: 
1434: 
1434: 
1434: typedef struct
1434:   {
1434:     long int quot;
1434:     long int rem;
1434:   } ldiv_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: __extension__ typedef struct
1434:   {
1434:     long long int quot;
1434:     long long int rem;
1434:   } lldiv_t;
1434: # 98 "/usr/include/stdlib.h" 3 4
1434: extern size_t __ctype_get_mb_cur_max (void) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: extern double atof (const char *__nptr)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: extern int atoi (const char *__nptr)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: extern long int atol (const char *__nptr)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: __extension__ extern long long int atoll (const char *__nptr)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: extern double strtod (const char *__restrict __nptr,
1434:         char **__restrict __endptr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern float strtof (const char *__restrict __nptr,
1434:        char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: extern long double strtold (const char *__restrict __nptr,
1434:        char **__restrict __endptr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 141 "/usr/include/stdlib.h" 3 4
1434: extern _Float32 strtof32 (const char *__restrict __nptr,
1434:      char **__restrict __endptr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern _Float64 strtof64 (const char *__restrict __nptr,
1434:      char **__restrict __endptr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 159 "/usr/include/stdlib.h" 3 4
1434: extern _Float32x strtof32x (const char *__restrict __nptr,
1434:        char **__restrict __endptr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 177 "/usr/include/stdlib.h" 3 4
1434: extern long int strtol (const char *__restrict __nptr,
1434:    char **__restrict __endptr, int __base)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: extern unsigned long int strtoul (const char *__restrict __nptr,
1434:       char **__restrict __endptr, int __base)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: __extension__
1434: extern long long int strtoq (const char *__restrict __nptr,
1434:         char **__restrict __endpt      __err == ios_base::goodbit)
1417:         {
1417:           if (__s == __end)
1417:             {
1417:               __err = ios_base::eofbit | ios_base::failbit;
1417:               break;
1417:             }
1417:           else if (__ctype.narrow(*__fmt, 0) == '%')
1417:             {
1417:        const char_type* __fmt_start = __fmt;
1417:               char __format;
1417:               char __mod = 0;
1417:               if (++__fmt == __fmtend)
1417:                 {
1417:                   __err = ios_base::failbit;
1417:                   break;
1417:                 }
1417:               const char __c = __ctype.narrow(*__fmt, 0);
1417:               if (__c != 'E' && __c != 'O')
1417:                 __format = __c;
1417:               else if (++__fmt != __fmtend)
1417:                 {
1417:                   __mod = __c;
1417:                   __format = __ctype.narrow(*__fmt, 0);
1417:                 }
1417:               else
1417:                 {
1417:                   __err = ios_base::failbit;
1417:                   break;
1417:                 }
1417:        if (__use_state)
1417:   {
1417:     char_type __new_fmt[4];
1417:     __new_fmt[0] = __fmt_start[0];
1417:     __new_fmt[1] = __fmt_start[1];
1417:     if (__mod)
1417:       {
1417:         __new_fmt[2] = __fmt_start[2];
1417:         __new_fmt[3] = char_type();
1417:       }
1417:     else
1417:       __new_fmt[2] = char_type();
1417:     __s = _M_extract_via_format(__s, __end, __io, __err, __tm,
1417:            __new_fmt, __state);
1417:     if (__s == __end)
1417:       __err |= ios_base::eofbit;
1417:   }
1417:        else
1417:   __s = this->do_get(__s, __end, __io, __err, __tm, __format,
1417:        __mod);
1417:               ++__fmt;
1417:             }
1417:           else if (__ctype.is(ctype_base::space, *__fmt))
1417:             {
1417:               ++__fmt;
1417:               while (__fmt != __fmtend &&
1417:                      __ctype.is(ctype_base::space, *__fmt))
1417:                 ++__fmt;
1417: 
1417:               while (__s != __end &&
1417:                      __ctype.is(ctype_base::space, *__s))
1417:                 ++__s;
1417:             }
1417: 
1417:           else if (__ctype.tolower(*__s) == __ctype.tolower(*__fmt) ||
1417:                    __ctype.toupper(*__s) == __ctype.toupper(*__fmt))
1417:             {
1417:               ++__s;
1417:               ++__fmt;
1417:             }
1417:           else
1417:             {
1417:               __err = ios_base::failbit;
1417:               break;
1417:             }
1417:         }
1417:       if (__use_state)
1417:  __state._M_finalize_state(__tm);
1417:       return __s;
1417:     }
1417: 
1417:   template<typename _CharT, typename _InIter>
1417:     inline
1417:     _InIter
1417:     time_get<_CharT, _InIter>::
1417:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1417:            ios_base::iostate& __err, tm* __tm,
1417:            char __format, char __mod) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1417:       __err = ios_base::goodbit;
1417: 
1417:       char_type __fmt[4];
1417:       __fmt[0] = __ctype.widen('%');
1417:       if (!__mod)
1417:         {
1417:           __fmt[1] = __format;
1417:           __fmt[2] = char_type();
1417:         }
1417:       else
1417:         {
1417:           __fmt[1] = __mod;
1417:           __fmt[2] = __format;
1417:           __fmt[3] = char_type();
1417:         }
1417: 
1417:       __time_get_state __state = __time_get_state();
1417:       __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __fmt,
1417:         __state);
1417:       __state._M_finalize_state(__tm);
1417:       if (__beg == __end)
1417:  __err |= ios_base::eofbit;
1417:       return __beg;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     time_put<_CharT, _OutIter>::
1417:     put(iter_type __s, ios_base& __io, char_type __fill, const tecution_policy<_ExecutionPolicy, _ForwardIterator>
1412: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1412:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1412: count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1412:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1412: count_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1412: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1412:        _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1412: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1412:        _ForwardIterator2 __s_last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
1412:          const _Tp& __value, _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
1412:          const _Tp& __value);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _Size, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: copy_n(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _Size __n, _ForwardIterator2 __result);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 result,
1412:         _Predicate __pred);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: swap_ranges(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:             _ForwardIterator2 __first2);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryOperation>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1r, int __base)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: __extension__
1434: extern unsigned long long int strtouq (const char *__restrict __nptr,
1434:            char **__restrict __endptr, int __base)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: __extension__
1434: extern long long int strtoll (const char *__restrict __nptr,
1434:          char **__restrict __endptr, int __base)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: __extension__
1434: extern unsigned long long int strtoull (const char *__restrict __nptr,
1434:      char **__restrict __endptr, int __base)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern int strfromd (char *__dest, size_t __size, const char *__format,
1434:        double __f)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: 
1434: extern int strfromf (char *__dest, size_t __size, const char *__format,
1434:        float __f)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: 
1434: extern int strfroml (char *__dest, size_t __size, const char *__format,
1434:        long double __f)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: # 233 "/usr/include/stdlib.h" 3 4
1434: extern int strfromf32 (char *__dest, size_t __size, const char * __format,
1434:          _Float32 __f)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: 
1434: 
1434: 
1434: extern int strfromf64 (char *__dest, size_t __size, const char * __format,
1434:          _Float64 __f)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: # 251 "/usr/include/stdlib.h" 3 4
1434: extern int strfromf32x (char *__dest, size_t __size, const char * __format,
1434:    _Float32x __f)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1434: # 275 "/usr/include/stdlib.h" 3 4
1434: extern long int strtol_l (const char *__restrict __nptr,
1434:      char **__restrict __endptr, int __base,
1434:      locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1434: 
1434: extern unsigned long int strtoul_l (const char *__restrict __nptr,
1434:         char **__restrict __endptr,
1434:         int __base, locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1434: 
1434: __extension__
1434: extern long long int strtoll_l (const char *__restrict __nptr,
1434:     char **__restrict __endptr, int __base,
1434:     locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1434: 
1434: __extension__
1434: extern unsigned long long int strtoull_l (const char *__restrict __nptr,
1434:        char **__restrict __endptr,
1434:        int __base, locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1434: 
1434: extern double strtod_l (const char *__restrict __nptr,
1434:    char **__restrict __endptr, locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: 
1434: extern float strtof_l (const char *__restrict __nptr,
1434:          char **__restrict __endptr, locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: 
1434: extern long double strtold_l (const char *__restrict __nptr,
1434:          char **__restrict __endptr,
1434:          locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: # 317 "/usr/include/stdlib.h" 3 4
1434: extern _Float32 strtof32_l (const char *__restrict __nptr,
1434:        char **__restrict __endptr,
1434:        locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: 
1434: 
1434: 
1434: extern _Float64 strtof64_l (const char *__restrict __nptr,
1434:        char **__restrict __endptr,
1434:        locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: # 338 "/usr/include/stdlib.h" 3 4
1434: extern _Float32x strtof32x_l (const char *__restrict __nptr,
1434:          char **__restrict __endptr,
1434:          locale_t __loc)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1434: # 361 "/usr/include/stdlib.h" 3 4
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: __attribute__ ((__leaf__)) atoi (const char *__nptr) noexcept (true)
1434: {
1434:   return (int) strtol (__nptr, (char **) __null, 10);
1434: }
1434: extern __inline __attribute__ ((__gnu_inline__)) long int
1434: __attribute__ ((__leaf__)) atol (const char *__nptr) noexcept (true)
1434: {
1434:   return strtol (__nptr, (char **) __null, 10);
1434: }
1434: 
1434: 
1434: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
1434: __attribute__ ((__leaf__)) atoll (const char *__nptr) noexcept (true)
1434: {
1434:   return strtoll (__nptr, (char **) __null, 10);
1434: }
1434: # 386 "/usr/include/stdlib.h" 3 4
1434: extern char *l64a (long int __n) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: extern long int a64l (const char *__s)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/sys/types.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __u_char u_char;
1434: typedef __u_short u_short;
1434: typedef __u_int u_int;
1434: typedef __u_long u_long;
1434: typedef __quad_t quad_t;
1434: typedef __u_quad_t u_quad_t;
1434: typedef __fsid_t fsid_t;
1434: 
1434: 
1434: typedef __loff_t loff_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __ino64_t ino_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __ino64_t ino64_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __dev_t dev_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __gid_t gid_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __mode_t mode_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __nlink_t nlink_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __uid_t uid_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __off64_t off_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __off64_t off64_t;
1434: # 103 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1434: typedef __id_t id_t;
1434: 
1434: 
1434: 
1434: 
1434: typedef __ssize_t ssize_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __daddr_t daddr_t;
1434: typedef __caddr_t caddr_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __key_t key_t;
1434: # 134 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1434: typedef __useconds_t useconds_t;
1434: 
1434: 
1434: 
1434: typedef __suseconds_t suseconds_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 145 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1434: 
1434: 
1434: 
1434: typedef unsigned long int ulong;
1434: typedef unsigned short int ushort;
1434: typedef unsigned int uint;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __uint8_t u_int8_t;
1434: typedef __uint16_t u_int16_t;
1434: typedef __uint32_t u_int32_t;
1434: typedef __uint64_t u_int64_t;
1434: 
1434: 
1434: typedef int register_t __attribute__ ((__mode__ (__word__)));
1434: # 176 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1434: # 1 "/usr/include/endian.h" 1 3 4
1434: # 35 "/usr/include/endian.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 1 3 4
1434: # 33 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1434: static __inline __uint16_t
1434: __bswap_16 (__uint16_t __bsx)
1434: {
1434: 
1434:   return __builtin_bswap16 (__bsx);
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: static __inline __uint32_t
1434: __bswap_32 (__uint32_t __bsx)
1434: {
1434: 
1434:   return __builtin_bswap32 (__bsx);
1434: 
1434: 
1434: 
1434: }
1434: # 69 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1434: __extension__ static __inline __uint64_t
1434: __bswap_64 (__uint64_t __bsx)
1434: {
1434: 
1434:   return __builtin_bswap64 (__bsx);
1434: 
1434: 
1434: 
1434: }
1434: # 36 "/usr/include/endian.h" 2 3 4
1434: # 1 m* __tm,
1417:  const _CharT* __beg, const _CharT* __end) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1417:       for (; __beg != __end; ++__beg)
1417:  if (__ctype.narrow(*__beg, 0) != '%')
1417:    {
1417:      *__s = *__beg;
1417:      ++__s;
1417:    }
1417:  else if (++__beg != __end)
1417:    {
1417:      char __format;
1417:      char __mod = 0;
1417:      const char __c = __ctype.narrow(*__beg, 0);
1417:      if (__c != 'E' && __c != 'O')
1417:        __format = __c;
1417:      else if (++__beg != __end)
1417:        {
1417:   __mod = __c;
1417:   __format = __ctype.narrow(*__beg, 0);
1417:        }
1417:      else
1417:        break;
1417:      __s = this->do_put(__s, __io, __fill, __tm, __format, __mod);
1417:    }
1417:  else
1417:    break;
1417:       return __s;
1417:     }
1417: 
1417:   template<typename _CharT, typename _OutIter>
1417:     _OutIter
1417:     time_put<_CharT, _OutIter>::
1417:     do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm,
1417:     char __format, char __mod) const
1417:     {
1417:       const locale& __loc = __io._M_getloc();
1417:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1417:       __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
1417: 
1417: 
1417: 
1417:       const size_t __maxlen = 128;
1417:       char_type __res[__maxlen];
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       char_type __fmt[4];
1417:       __fmt[0] = __ctype.widen('%');
1417:       if (!__mod)
1417:  {
1417:    __fmt[1] = __format;
1417:    __fmt[2] = char_type();
1417:  }
1417:       else
1417:  {
1417:    __fmt[1] = __mod;
1417:    __fmt[2] = __format;
1417:    __fmt[3] = char_type();
1417:  }
1417: 
1417:       __tp._M_put(__res, __maxlen, __fmt, __tm);
1417: 
1417: 
1417:       return std::__write(__s, __res, char_traits<char_type>::length(__res));
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   extern template class moneypunct<char, false>;
1417:   extern template class moneypunct<char, true>;
1417:   extern template class moneypunct_byname<char, false>;
1417:   extern template class moneypunct_byname<char, true>;
1417:   extern template class __cxx11:: money_get<char>;
1417:   extern template class __cxx11:: money_put<char>;
1417:   extern template class __timepunct<char>;
1417:   extern template class time_put<char>;
1417:   extern template class time_put_byname<char>;
1417:   extern template class time_get<char>;
1417:   extern template class time_get_byname<char>;
1417:   extern template class messages<char>;
1417:   extern template class messages_byname<char>;
1417: 
1417:   extern template
1417:     const moneypunct<char, true>&
1417:     use_facet<moneypunct<char, true> >(const locale&);
1417: 
1417:   extern template
1417:     const moneypunct<char, false>&
1417:     use_facet<moneypunct<char, false> >(const locale&);
1417: 
1417:   extern template
1417:     const money_put<char>&
1417:     use_facet<money_put<char> >(const locale&);
1417: 
1417:   extern template
1417:     const money_get<char>&
1417:     use_facet<money_get<char> >(const locale&);
1417: 
1417:   extern template
1417:     const __timepunct<char>&
1417:     use_facet<__timepunct<char> >(const locale&);
1417: 
1417:   extern template
1417:     const time_put<char>&
1417:     use_facet<time_put<char> >(const locale&);
1417: 
1417:   extern template
1417:     const time_get<char>&
1417:     use_facet<time_get<char> >(const locale&);
1417: 
1417:   extern template
1417:     const messages<char>&
1417:     use_facet<messages<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<moneypunct<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<money_put<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<money_get<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<__timepunct<char> >(const locale&);
1417: 
14"/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 1 3 4
1434: # 32 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 3 4
1434: static __inline __uint16_t
1434: __uint16_identity (__uint16_t __x)
1434: {
1434:   return __x;
1434: }
1434: 
1434: static __inline __uint32_t
1434: __uint32_identity (__uint32_t __x)
1434: {
1434:   return __x;
1434: }
1434: 
1434: static __inline __uint64_t
1434: __uint64_identity (__uint64_t __x)
1434: {
1434:   return __x;
1434: }
1434: # 37 "/usr/include/endian.h" 2 3 4
1434: # 177 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/sys/select.h" 1 3 4
1434: # 30 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/select.h" 1 3 4
1434: # 31 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __sigset_t sigset_t;
1434: # 34 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1434: # 49 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1434: typedef long int __fd_mask;
1434: # 59 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1434: typedef struct
1434:   {
1434: 
1434: 
1434: 
1434:     __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   } fd_set;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __fd_mask fd_mask;
1434: # 91 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1434: extern "C" {
1434: # 102 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1434: extern int select (int __nfds, fd_set *__restrict __readfds,
1434:      fd_set *__restrict __writefds,
1434:      fd_set *__restrict __exceptfds,
1434:      struct timeval *__restrict __timeout);
1434: # 127 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1434: extern int pselect (int __nfds, fd_set *__restrict __readfds,
1434:       fd_set *__restrict __writefds,
1434:       fd_set *__restrict __exceptfds,
1434:       const struct timespec *__restrict __timeout,
1434:       const __sigset_t *__restrict __sigmask);
1434: # 150 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 3 4
1434: extern long int __fdelt_chk (long int __d);
1434: extern long int __fdelt_warn (long int __d)
1434:   __attribute__((__warning__ ("bit outside of fd_set selected")));
1434: # 151 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1434: 
1434: 
1434: }
1434: # 180 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __blksize_t blksize_t;
1434: # 205 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1434: typedef __blkcnt64_t blkcnt_t;
1434: 
1434: 
1434: 
1434: typedef __fsblkcnt64_t fsblkcnt_t;
1434: 
1434: 
1434: 
1434: typedef __fsfilcnt64_t fsfilcnt_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __blkcnt64_t blkcnt64_t;
1434: typedef __fsblkcnt64_t fsblkcnt64_t;
1434: typedef __fsfilcnt64_t fsfilcnt64_t;
1434: # 230 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1434: }
1434: # 396 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int random (void) noexcept (true);
1434: 
1434: 
1434: extern void srandom (unsigned int __seed) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *initstate (unsigned int __seed, char *__statebuf,
1434:    size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434: extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: struct random_data
1434:   {
1434:     int32_t *fptr;
1434:     int32_t *rptr;
1434:     int32_t *state;
1434:     int rand_type;
1434:     int rand_deg;
1434:     int rand_sep;
1434:     int32_t *end_ptr;
1434:   };
1434: 
1434: extern int random_r (struct random_data *__restrict __buf,
1434:        in __last, _ForwardIterator2 __result,
1412:           _UnaryOperation __op);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1412:           class _BinaryOperation>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:           _ForwardIterator __result, _BinaryOperation __op);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: replace_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred,
1412:            const _Tp& __new_value);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: replace(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value,
1412:         const _Tp& __new_value);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryPredicate, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: replace_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1412:                 _ForwardIterator2 __result, _UnaryPredicate __pred, const _Tp& __new_value);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: replace_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1412:              const _Tp& __old_value, const _Tp& __new_value);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __count, const _Tp& __value);
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Generator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: generate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Generator __g);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Generator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: generate_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size count, _Generator __g);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: remove_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1412:                _ForwardIterator2 __result, _Predicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: remove_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1412:             const _Tp& __value);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _Forwart32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern int srandom_r (unsigned int __seed, struct random_data *__buf)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
1434:    size_t __statelen,
1434:    struct random_data *__restrict __buf)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
1434: 
1434: extern int setstate_r (char *__restrict __statebuf,
1434:          struct random_data *__restrict __buf)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int rand (void) noexcept (true);
1434: 
1434: extern void srand (unsigned int __seed) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int rand_r (unsigned int *__seed) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double drand48 (void) noexcept (true);
1434: extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern long int lrand48 (void) noexcept (true);
1434: extern long int nrand48 (unsigned short int __xsubi[3])
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern long int mrand48 (void) noexcept (true);
1434: extern long int jrand48 (unsigned short int __xsubi[3])
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern void srand48 (long int __seedval) noexcept (true);
1434: extern unsigned short int *seed48 (unsigned short int __seed16v[3])
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: struct drand48_data
1434:   {
1434:     unsigned short int __x[3];
1434:     unsigned short int __old_x[3];
1434:     unsigned short int __c;
1434:     unsigned short int __init;
1434:     __extension__ unsigned long long int __a;
1434: 
1434:   };
1434: 
1434: 
1434: extern int drand48_r (struct drand48_data *__restrict __buffer,
1434:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: extern int erand48_r (unsigned short int __xsubi[3],
1434:         struct drand48_data *__restrict __buffer,
1434:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int lrand48_r (struct drand48_data *__restrict __buffer,
1434:         long int *__restrict __result)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: extern int nrand48_r (unsigned short int __xsubi[3],
1434:         struct drand48_data *__restrict __buffer,
1434:         long int *__restrict __result)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int mrand48_r (struct drand48_data *__restrict __buffer,
1434:         long int *__restrict __result)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: extern int jrand48_r (unsigned short int __xsubi[3],
1434:         struct drand48_data *__restrict __buffer,
1434:         long int *__restrict __result)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: extern int seed48_r (unsigned short int __seed16v[3],
1434:        struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern int lcong48_r (unsigned short int __param[7],
1434:         struct drand48_data *__buffer)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern __uint32_t arc4random (void)
1434:      noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: extern void arc4random_buf (void *__buf, size_t __size)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
14317:   extern template
1417:     bool
1417:     has_facet<time_put<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<time_get<char> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<messages<char> >(const locale&);
1417: 
1417: 
1417:   extern template class moneypunct<wchar_t, false>;
1417:   extern template class moneypunct<wchar_t, true>;
1417:   extern template class moneypunct_byname<wchar_t, false>;
1417:   extern template class moneypunct_byname<wchar_t, true>;
1417:   extern template class __cxx11:: money_get<wchar_t>;
1417:   extern template class __cxx11:: money_put<wchar_t>;
1417:   extern template class __timepunct<wchar_t>;
1417:   extern template class time_put<wchar_t>;
1417:   extern template class time_put_byname<wchar_t>;
1417:   extern template class time_get<wchar_t>;
1417:   extern template class time_get_byname<wchar_t>;
1417:   extern template class messages<wchar_t>;
1417:   extern template class messages_byname<wchar_t>;
1417: 
1417:   extern template
1417:     const moneypunct<wchar_t, true>&
1417:     use_facet<moneypunct<wchar_t, true> >(const locale&);
1417: 
1417:   extern template
1417:     const moneypunct<wchar_t, false>&
1417:     use_facet<moneypunct<wchar_t, false> >(const locale&);
1417: 
1417:   extern template
1417:     const money_put<wchar_t>&
1417:     use_facet<money_put<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const money_get<wchar_t>&
1417:     use_facet<money_get<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const __timepunct<wchar_t>&
1417:     use_facet<__timepunct<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const time_put<wchar_t>&
1417:     use_facet<time_put<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const time_get<wchar_t>&
1417:     use_facet<time_get<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     const messages<wchar_t>&
1417:     use_facet<messages<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<moneypunct<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<money_put<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<money_get<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<__timepunct<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<time_put<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<time_get<wchar_t> >(const locale&);
1417: 
1417:   extern template
1417:     bool
1417:     has_facet<messages<wchar_t> >(const locale&);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 2070 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1417: # 42 "/usr/include/c++/12/locale" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/locale_conv.h" 1 3
1417: # 42 "/usr/include/c++/12/bits/locale_conv.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _OutStr, typename _InChar, typename _Codecvt,
1417:     typename _State, typename _Fn>
1417:     bool
1417:     __do_str_codecvt(const _InChar* __first, const _InChar* __last,
1417:        _OutStr& __outstr, const _Codecvt& __cvt, _State& __state,
1417:        size_t& __count, _Fn __fn)
1417:     {
1417:       if (__first == __last)
1417:  {
1417:    __outstr.clear();
1417:    __count = 0;
1417:    return true;
1417:  }
1417: 
1417:       size_t __outchars = 0;
1417:       auto __next = __first;
1417:       const auto __maxlen = __cvt.max_length() + 1;
1417: 
1417:       codecvt_base::result __result;
1417:       do
1417:  {
1417:    __outstr.resize(__outstr.size() + (__last - __next) * __maxlen);
1417:    auto __outnext = &__outstr.front() + __outchars;
1417:    auto const __outlast = &__outstr.back() + 1;
1417:    __result = (__cvt.*__fn)(__state, __next, __last, __next,
1417:      __outnext, __ou4: extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
1434:      noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1434:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: extern void *calloc (size_t __nmemb, size_t __size)
1434:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void *realloc (void *__ptr, size_t __size)
1434:      noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2)));
1434: 
1434: 
1434: extern void free (void *__ptr) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1434:      noexcept (true) __attribute__ ((__warn_unused_result__))
1434:      __attribute__ ((__alloc_size__ (2, 3)))
1434:     __attribute__ ((__malloc__ (__builtin_free, 1)));
1434: 
1434: 
1434: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1434:      noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1)));
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/alloca.h" 1 3 4
1434: # 24 "/usr/include/alloca.h" 3 4
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 25 "/usr/include/alloca.h" 2 3 4
1434: 
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void *alloca (size_t __size) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 588 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1434:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern void *aligned_alloc (size_t __alignment, size_t __size)
1434:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
1434:      __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: extern void abort (void) noexcept (true) __attribute__ ((__noreturn__));
1434: 
1434: 
1434: 
1434: extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" int at_quick_exit (void (*__func) (void))
1434:      noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
1434: # 630 "/usr/include/stdlib.h" 3 4
1434: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1434: 
1434: 
1434: 
1434: 
1434: extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern char *secure_getenv (const char *__name)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int setenv (const char *__name, const char *__value, int __replace)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: extern int unsetenv (const char *__name) noexceptdIterator>
1412: remove_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: remove(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1412:             _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _BidirectionalIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: reverse(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _BidirectionalIterator, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: reverse_copy(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1412:              _ForwardIterator __d_first);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: rotate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: rotate_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __middle, _ForwardIterator1 __last,
1412:             _ForwardIterator2 __result);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: is_partitioned(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: partition(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _BidirectionalIterator, class _UnaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _BidirectionalIterator>
1412: stable_partition(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1412:                  _UnaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _ForwardIterator1, class _ForwardIterator2,
1412:           class _UnaryPredicat (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int clearenv (void) noexcept (true);
1434: # 695 "/usr/include/stdlib.h" 3 4
1434: extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 711 "/usr/include/stdlib.h" 3 4
1434: extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
1434:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: # 733 "/usr/include/stdlib.h" 3 4
1434: extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64")
1434:                      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int mkstemps64 (char *__template, int __suffixlen)
1434:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: # 751 "/usr/include/stdlib.h" 3 4
1434: extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: # 765 "/usr/include/stdlib.h" 3 4
1434: extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64")
1434:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: # 786 "/usr/include/stdlib.h" 3 4
1434: extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64")
1434: 
1434:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
1434:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: # 804 "/usr/include/stdlib.h" 3 4
1434: extern int system (const char *__command) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *canonicalize_file_name (const char *__name)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
1434:      __attribute__ ((__malloc__ (__builtin_free, 1))) __attribute__ ((__warn_unused_result__));
1434: # 821 "/usr/include/stdlib.h" 3 4
1434: extern char *realpath (const char *__restrict __name,
1434:          char *__restrict __resolved) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef int (*__compar_fn_t) (const void *, const void *);
1434: 
1434: 
1434: typedef __compar_fn_t comparison_fn_t;
1434: 
1434: 
1434: 
1434: typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
1434: 
1434: 
1434: 
1434: 
1434: extern void *bsearch (const void *__key, const void *__base,
1434:         size_t __nmemb, size_t __size, __compar_fn_t __compar)
1434:      __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 1 3 4
1434: # 19 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 3 4
1434: extern __inline __attribute__ ((__gnu_inline__)) void *
1434: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
1434:   __compar_fn_t __compar)
1434: {
1434:   size_t __l, __u, __idx;
1434:   const void *__p;
1434:   int __comparison;
1434: 
1434:   __l = 0;
1434:   __u = __nmemb;
1434:   while (__l < __u)
1434:     {
1434:       __idx = (__l + __u) / 2;
1434:       __p = (const void *) (((const char *) __base) + (__idx * __size));
1434:       __comparison = (*__compar) (__key, __p);
1434:       if (__comparison < 0)
1434:  __u = __idx;
1434:       else if (__comparison > 0)
1434:  __l = __idx + 1;
1434:       else
1434:  {
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wcast-qual"tlast, __outnext);
1417:    __outchars = __outnext - &__outstr.front();
1417:  }
1417:       while (__result == codecvt_base::partial && __next != __last
1417:       && ptrdiff_t(__outstr.size() - __outchars) < __maxlen);
1417: 
1417:       if (__result == codecvt_base::error)
1417:  {
1417:    __count = __next - __first;
1417:    return false;
1417:  }
1417: 
1417: 
1417: 
1417:       if constexpr (is_same<typename _Codecvt::intern_type,
1417:            typename _Codecvt::extern_type>())
1417:  if (__result == codecvt_base::noconv)
1417:    {
1417:      __outstr.assign(__first, __last);
1417:      __count = __last - __first;
1417:      return true;
1417:    }
1417: 
1417:       __outstr.resize(__outchars);
1417:       __count = __next - __first;
1417:       return true;
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1417:     inline bool
1417:     __str_codecvt_in(const char* __first, const char* __last,
1417:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
1417:        const codecvt<_CharT, char, _State>& __cvt,
1417:        _State& __state, size_t& __count)
1417:     {
1417:       using _Codecvt = codecvt<_CharT, char, _State>;
1417:       using _ConvFn
1417:  = codecvt_base::result
1417:    (_Codecvt::*)(_State&, const char*, const char*, const char*&,
1417:    _CharT*, _CharT*, _CharT*&) const;
1417:       _ConvFn __fn = &codecvt<_CharT, char, _State>::in;
1417:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
1417:          __count, __fn);
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1417:     inline bool
1417:     __str_codecvt_in(const char* __first, const char* __last,
1417:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
1417:        const codecvt<_CharT, char, _State>& __cvt)
1417:     {
1417:       _State __state = {};
1417:       size_t __n;
1417:       return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1417:     inline bool
1417:     __str_codecvt_in_all(const char* __first, const char* __last,
1417:     basic_string<_CharT, _Traits, _Alloc>& __outstr,
1417:     const codecvt<_CharT, char, _State>& __cvt)
1417:     {
1417:       _State __state = {};
1417:       size_t __n;
1417:       return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
1417:  && (__n == size_t(__last - __first));
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1417:     inline bool
1417:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
1417:         basic_string<char, _Traits, _Alloc>& __outstr,
1417:         const codecvt<_CharT, char, _State>& __cvt,
1417:         _State& __state, size_t& __count)
1417:     {
1417:       using _Codecvt = codecvt<_CharT, char, _State>;
1417:       using _ConvFn
1417:  = codecvt_base::result
1417:    (_Codecvt::*)(_State&, const _CharT*, const _CharT*, const _CharT*&,
1417:    char*, char*, char*&) const;
1417:       _ConvFn __fn = &codecvt<_CharT, char, _State>::out;
1417:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
1417:          __count, __fn);
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1417:     inline bool
1417:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
1417:         basic_string<char, _Traits, _Alloc>& __outstr,
1417:         const codecvt<_CharT, char, _State>& __cvt)
1417:     {
1417:       _State __state = {};
1417:       size_t __n;
1417:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1417:     inline bool
1417:     __str_codecvt_out_all(const _CharT* __first, const _CharT* __last,
1417:      basic_string<char, _Traits, _Alloc>& __oue>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1412: partition_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1412:                _ForwardIterator1 __out_true, _ForwardIterator2 __out_false, _UnaryPredicate __pred);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1412: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:          _ForwardIterator2 __last2, _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1412: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:          _BinaryPredicate __pred);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1412: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:          _ForwardIterator2 __last2);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1412: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:       _BinaryPredicate __p);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:       _ForwardIterator2 __last2, _BinaryPredicat
1434: 
1434:    return (void *) __p;
1434: 
1434: #pragma GCC diagnostic pop
1434: 
1434:  }
1434:     }
1434: 
1434:   return __null;
1434: }
1434: # 847 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: extern void qsort (void *__base, size_t __nmemb, size_t __size,
1434:      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
1434: 
1434: extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
1434:        __compar_d_fn_t __compar, void *__arg)
1434:   __attribute__ ((__nonnull__ (1, 4)));
1434: 
1434: 
1434: 
1434: 
1434: extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1434: extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: __extension__ extern long long int llabs (long long int __x)
1434:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern div_t div (int __numer, int __denom)
1434:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1434: extern ldiv_t ldiv (long int __numer, long int __denom)
1434:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: __extension__ extern lldiv_t lldiv (long long int __numer,
1434:         long long int __denom)
1434:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1434: # 893 "/usr/include/stdlib.h" 3 4
1434: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
1434:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
1434:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern char *gcvt (double __value, int __ndigit, char *__buf)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern char *qecvt (long double __value, int __ndigit,
1434:       int *__restrict __decpt, int *__restrict __sign)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1434: extern char *qfcvt (long double __value, int __ndigit,
1434:       int *__restrict __decpt, int *__restrict __sign)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1434: extern char *qgcvt (long double __value, int __ndigit, char *__buf)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
1434:      int *__restrict __sign, char *__restrict __buf,
1434:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1434: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
1434:      int *__restrict __sign, char *__restrict __buf,
1434:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1434: 
1434: extern int qecvt_r (long double __value, int __ndigit,
1434:       int *__restrict __decpt, int *__restrict __sign,
1434:       char *__restrict __buf, size_t __len)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1434: extern int qfcvt_r (long double __value, int __ndigit,
1434:       int *__restrict __decpt, int *__restrict __sign,
1434:       char *__restrict __buf, size_t __len)
1434:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int mblen (const char *__s, size_t __n) noexcept (true);
1434: 
1434: 
1434: extern int mbtowc (wchar_t *__restrict __pwc,
1434:      const char *__restrict __s, size_t __n) noexcept (true);
1434: 
1434: 
1434: extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
1434: 
1434: 
1434: 
1434: extern size_t mbstowcs (wchar_t *__restrict __pwcs,
1434:    const char *__restrict __s, size_t __n) noexcept (true)
1434:     __attribute__ ((__access__ (__read_only__, 2)));
1434: 
1434: extern size_t wcstombs (char *__restrict __s,
1434:    const wchar_t *__restrict __pwcs, size_t __n)
1434:      noexcept (true)
1434:   __attribute__ ((__access__ (__write_only__, 1, 3)))
1434:   __attribute__ ((__access__ (__read_only__, 2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1434: # 980 "/usr/include/stdlib.h" 3 4
1434: extern int getsubopt (char **__restrict __optionp,
1434:         char *const *__restrict __tokens,
1434:         char **__restrict __valuep)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int grantpt (int __fd) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int unlockpt (int __fd) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern char *ptsname (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1434: 
1434: 
1434: extern int getpt (void);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int getloadavg (double __loadavg[], int __nelem)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: # 1036 "/usr/include/stdlib.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 3 4
1434: extern __inline __attribute__ ((__gnu_inline__)) double
1434: __attribute__ ((__leaf__)) atof (const char *__nptr) noexcept (true)
1434: {
1434:   return strtod (__nptr, (char **) __null);
1434: }
1434: # 1037 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 1 3 4
1434: # 23 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 3 4
1434: extern char *__realpath_chk (const char *__restrict __name,
1434:         char *__restrict __resolved,
1434:         size_t __resolvedlen) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) noexcept (true) __asm__ ("" "realpath")
1434: 
1434:                                                  __attribute__ ((__warn_unused_result__));
1434: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) noexcept (true) __asm__ ("" "__realpath_chk")
1434: 
1434: 
1434:                                                 __attribute__ ((__warn_unused_result__))
1434:      __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
1434:                                       ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
1434: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) noexcept (true)
1434: {
1434:   size_t sz = __builtin_object_size (__resolved, 2 > 1);
1434: 
1434:   if (sz == (size_t) -1)
1434:     return __realpath_alias (__name, __resolved);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   return __realpath_chk (__name, __resolved, sz);
1434: }
1434: 
1434: 
1434: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
1434:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2))tstr,
1417:      const codecvt<_CharT, char, _State>& __cvt)
1417:     {
1417:       _State __state = {};
1417:       size_t __n;
1417:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
1417:  && (__n == size_t(__last - __first));
1417:     }
1417: # 223 "/usr/include/c++/12/bits/locale_conv.h" 3
1417:   namespace __detail
1417:   {
1417:     template<typename _Tp>
1417:       struct _Scoped_ptr
1417:       {
1417:  __attribute__((__nonnull__(2)))
1417:  explicit
1417:  _Scoped_ptr(_Tp* __ptr) noexcept
1417:  : _M_ptr(__ptr)
1417:  { }
1417: 
1417:  _Scoped_ptr(_Tp* __ptr, const char* __msg)
1417:  : _M_ptr(__ptr)
1417:  {
1417:    if (!__ptr)
1417:      __throw_logic_error(__msg);
1417:  }
1417: 
1417:  ~_Scoped_ptr() { delete _M_ptr; }
1417: 
1417:  _Scoped_ptr(const _Scoped_ptr&) = delete;
1417:  _Scoped_ptr& operator=(const _Scoped_ptr&) = delete;
1417: 
1417:  __attribute__((__returns_nonnull__))
1417:  _Tp* operator->() const noexcept { return _M_ptr; }
1417: 
1417:  _Tp& operator*() const noexcept { return *_M_ptr; }
1417: 
1417:       private:
1417:  _Tp* _M_ptr;
1417:       };
1417:   }
1417: 
1417: namespace __cxx11 {
1417: 
1417: 
1417:   template<typename _Codecvt, typename _Elem = wchar_t,
1417:     typename _Wide_alloc = allocator<_Elem>,
1417:     typename _Byte_alloc = allocator<char>>
1417:     class wstring_convert
1417:     {
1417:     public:
1417:       typedef basic_string<char, char_traits<char>, _Byte_alloc> byte_string;
1417:       typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string;
1417:       typedef typename _Codecvt::state_type state_type;
1417:       typedef typename wide_string::traits_type::int_type int_type;
1417: 
1417: 
1417:       wstring_convert() : _M_cvt(new _Codecvt()) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       wstring_convert(_Codecvt* __pcvt) : _M_cvt(__pcvt, "wstring_convert")
1417:       { }
1417: # 291 "/usr/include/c++/12/bits/locale_conv.h" 3
1417:       wstring_convert(_Codecvt* __pcvt, state_type __state)
1417:       : _M_cvt(__pcvt, "wstring_convert"),
1417:  _M_state(__state), _M_with_cvtstate(true)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       wstring_convert(const byte_string& __byte_err,
1417:         const wide_string& __wide_err = wide_string())
1417:       : _M_cvt(new _Codecvt),
1417:  _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
1417:  _M_with_strings(true)
1417:       { }
1417: 
1417:       ~wstring_convert() = default;
1417: 
1417: 
1417: 
1417:       wstring_convert(const wstring_convert&) = delete;
1417:       wstring_convert& operator=(const wstring_convert&) = delete;
1417: 
1417: 
1417:       wide_string
1417:       from_bytes(char __byte)
1417:       {
1417:  char __bytes[2] = { __byte };
1417:  return from_bytes(__bytes, __bytes+1);
1417:       }
1417: 
1417:       wide_string
1417:       from_bytes(const char* __ptr)
1417:       { return from_bytes(__ptr, __ptr+char_traits<char>::length(__ptr)); }
1417: 
1417:       wide_string
1417:       from_bytes(const byte_string& __str)
1417:       {
1417:  auto __ptr = __str.data();
1417:  return from_bytes(__ptr, __ptr + __str.size());
1417:       }
1417: 
1417:       wide_string
1417:       from_bytes(const char* __first, const char* __last)
1417:       {
1417:  if (!_M_with_cvtstate)
1417:    _M_state = state_type();
1417:  wide_string __out{ _M_wide_err_string.get_allocator() };
1417:  if (__str_codecvt_in(__first, __last, __out, *_M_cvt, _M_state,
1417:         _M_count))
1417:    return __out;
1417:  if (_M_with_strings)
1417:    return _M_wide_err_string;
1417:  __throw_range_error("wstring_convert::from_bytes");
1417:       }
1417: 
1417: 
1417: 
1417:       byte_string
1417:       to_bytes(_Elem __wchar)
1417:       {
1417:  _Elem __wchars[2] = { __wchar };
1417:  return to_bytes(__wchars, __wchars+1);
1417:       }
1417: 
1417:       byte_string
1417:       to_bytes(const _Elem* __ptr)
1417:       {
1417:  return to_bytes(__ptr, __ptr+wide_string::e __p);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:       _ForwardIterator2 __last2);
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1412: move(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __d_first);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1412:              _RandomAccessIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1412:              _RandomAccessIterator __last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1412: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1412:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1412: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1412:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last);
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1412:             _RandomAccessIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1412:             _RandomAccessIterator __last);
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1412:           class _Compare>
1412: __pstl::__inter)
1434:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1434: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ptsname_r")
1434: 
1434:      __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1434: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ptsname_r_chk")
1434: 
1434: 
1434:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
1434:                    ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) noexcept (true)
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1434: 
1434:                            ;
1434: }
1434: 
1434: 
1434: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
1434:   noexcept (true) __attribute__ ((__warn_unused_result__));
1434: extern int __wctomb_alias (char *__s, wchar_t __wchar) noexcept (true) __asm__ ("" "wctomb")
1434:               __attribute__ ((__warn_unused_result__));
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
1434: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) noexcept (true)
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1434:       && 16 > __builtin_object_size (__s, 2 > 1))
1434:     return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
1434:   return __wctomb_alias (__s, __wchar);
1434: }
1434: 
1434: 
1434: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
1434:          const char *__restrict __src,
1434:          size_t __len, size_t __dstlen) noexcept (true)
1434:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1434: extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1434: 
1434: 
1434: 
1434:     __attribute__ ((__access__ (__read_only__, 2)));
1434: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1434: 
1434: 
1434: 
1434:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1434: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__mbstowcs_chk")
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1434:                         ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1434: __attributraits_type::length(__ptr));
1417:       }
1417: 
1417:       byte_string
1417:       to_bytes(const wide_string& __wstr)
1417:       {
1417:  auto __ptr = __wstr.data();
1417:  return to_bytes(__ptr, __ptr + __wstr.size());
1417:       }
1417: 
1417:       byte_string
1417:       to_bytes(const _Elem* __first, const _Elem* __last)
1417:       {
1417:  if (!_M_with_cvtstate)
1417:    _M_state = state_type();
1417:  byte_string __out{ _M_byte_err_string.get_allocator() };
1417:  if (__str_codecvt_out(__first, __last, __out, *_M_cvt, _M_state,
1417:          _M_count))
1417:    return __out;
1417:  if (_M_with_strings)
1417:    return _M_byte_err_string;
1417:  __throw_range_error("wstring_convert::to_bytes");
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       size_t converted() const noexcept { return _M_count; }
1417: 
1417: 
1417:       state_type state() const { return _M_state; }
1417: 
1417:     private:
1417:       __detail::_Scoped_ptr<_Codecvt> _M_cvt;
1417:       byte_string _M_byte_err_string;
1417:       wide_string _M_wide_err_string;
1417:       state_type _M_state = state_type();
1417:       size_t _M_count = 0;
1417:       bool _M_with_cvtstate = false;
1417:       bool _M_with_strings = false;
1417:     };
1417: 
1417: }
1417: 
1417: 
1417:   template<typename _Codecvt, typename _Elem = wchar_t,
1417:     typename _Tr = char_traits<_Elem>>
1417:     class wbuffer_convert : public basic_streambuf<_Elem, _Tr>
1417:     {
1417:       typedef basic_streambuf<_Elem, _Tr> _Wide_streambuf;
1417: 
1417:     public:
1417:       typedef typename _Codecvt::state_type state_type;
1417: 
1417: 
1417:       wbuffer_convert() : wbuffer_convert(nullptr) { }
1417: # 427 "/usr/include/c++/12/bits/locale_conv.h" 3
1417:       explicit
1417:       wbuffer_convert(streambuf* __bytebuf, _Codecvt* __pcvt = new _Codecvt,
1417:         state_type __state = state_type())
1417:       : _M_buf(__bytebuf), _M_cvt(__pcvt, "wbuffer_convert"),
1417:  _M_state(__state), _M_always_noconv(_M_cvt->always_noconv())
1417:       {
1417:  if (_M_buf)
1417:    {
1417:      this->setp(_M_put_area, _M_put_area + _S_buffer_length);
1417:      this->setg(_M_get_area + _S_putback_length,
1417:          _M_get_area + _S_putback_length,
1417:          _M_get_area + _S_putback_length);
1417:    }
1417:       }
1417: 
1417:       ~wbuffer_convert() = default;
1417: 
1417: 
1417: 
1417:       wbuffer_convert(const wbuffer_convert&) = delete;
1417:       wbuffer_convert& operator=(const wbuffer_convert&) = delete;
1417: 
1417:       streambuf* rdbuf() const noexcept { return _M_buf; }
1417: 
1417:       streambuf*
1417:       rdbuf(streambuf *__bytebuf) noexcept
1417:       {
1417:  auto __prev = _M_buf;
1417:  _M_buf = __bytebuf;
1417:  return __prev;
1417:       }
1417: 
1417: 
1417:       state_type state() const noexcept { return _M_state; }
1417: 
1417:     protected:
1417:       int
1417:       sync()
1417:       { return _M_buf && _M_conv_put() && !_M_buf->pubsync() ? 0 : -1; }
1417: 
1417:       typename _Wide_streambuf::int_type
1417:       overflow(typename _Wide_streambuf::int_type __out)
1417:       {
1417:  if (!_M_buf || !_M_conv_put())
1417:    return _Tr::eof();
1417:  else if (!_Tr::eq_int_type(__out, _Tr::eof()))
1417:    return this->sputc(__out);
1417:  return _Tr::not_eof(__out);
1417:       }
1417: 
1417:       typename _Wide_streambuf::int_type
1417:       underflow()
1417:       {
1417:  if (!_M_buf)
1417:    return _Tr::eof();
1417: 
1417:  if (this->gptr() < this->egptr() || (_M_buf && _M_conv_get()))
1417:    return _Tr::to_int_type(*this->gptr());
1417:  else
1417:    return _Tr::eof();
1417:       }
1417: 
1417:       streamsize
1417:       xsputn(const typename _Wide_streambuf::char_type* __s, streamsize __n)
1417:       {
1417:  if (!_M_buf || __n == 0)
1417:    return 0;
1417:  streamsize __done = 0;
1417:  do
1417:  {
1417:    auto __nn = std::min<streamsize>(this->epptr() - this->pptr(),
1417:         __n - __done);
1417:    _Tr::copy(this->pptr(), __s + __done, __nn);
1417:    this->pbump(__nn);
1417:    __done +te__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true)
1434: 
1434: {
1434:   if (__builtin_constant_p (__dst == __null) && __dst == __null)
1434:     return __mbstowcs_nulldst (__dst, __src, __len);
1434:   else
1434:     return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1434:                                                       ;
1434: }
1434: 
1434: extern size_t __wcstombs_chk (char *__restrict __dst,
1434:          const wchar_t *__restrict __src,
1434:          size_t __len, size_t __dstlen) noexcept (true)
1434:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1434: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "wcstombs")
1434: 
1434: 
1434: 
1434:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1434: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__wcstombs_chk")
1434: 
1434: 
1434: 
1434:      __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1434: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true)
1434: 
1434: {
1434:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1))))
1434: 
1434:                          ;
1434: }
1434: # 1041 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1434: # 1044 "/usr/include/stdlib.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 76 "/usr/include/c++/12/cstdlib" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/std_abs.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/std_abs.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/std_abs.h" 3
1434: # 46 "/usr/include/c++/12/bits/std_abs.h" 3
1434: extern "C++"
1434: {
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   using ::abs;
1434: 
1434: 
1434:   inline long
1434:   abs(long __i) { return __builtin_labs(__i); }
1434: 
1434: 
1434: 
1434:   inline long long
1434:   abs(long long __x) { return __builtin_llabs (__x); }
1434: # 70 "/usr/include/c++/12/bits/std_abs.h" 3
1434:   inline constexpr double
1434:   abs(double __x)
1434:   { return __builtin_fabs(__x); }
1434: 
1434:   inline constexpr float
1434:   abs(float __x)
1434:   { return __builtin_fabsf(__x); }
1434: 
1434:   inline constexpr long double
1434:   abs(long double __x)
1434:   { return __builtin_fabsl(__x); }
1434: # 107 "/usr/include/c++/12/bits/std_abs.h" 3
1434: 
1434: }
1434: }
1434: # 78 "/usr/include/c++/12/cstdlib" 2 3
1434: # 121 "/usr/include/c++/12/cstdlib" 3
1434: extern "C++"
1434: {
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   using ::div_t;
1434:   using ::ldiv_t;
1434: 
1434:   using ::abort;
1434: 
1434:   using ::aligned_alloc;
1434: 
1434:   using ::atexit;
1434: 
1434: 
1434:   using ::at_quick_exit;
1434: 
1434: 
1434:   using ::atof;
1434:   using ::atoi;
1434:   using ::atol;
1434:   using ::bsearch;
1434:   using ::calloc;
1434:   using ::div;
1434:   using ::exit;
1434:   using ::free;
1434:   using ::getenv;
1434:   using ::labs;
1434:   using ::ldiv;
1434:   using ::malloc;
1434: 
1434:   using ::mblen;
1434:   using ::mbstowcs;
1434:   using ::mbtowc;
1434: 
1434:   using ::qsort;
1434: 
1434: 
1434:   using ::quick_exit;
1434: 
1434: 
1434:   using ::rand;
1434:   using ::realloc;
1434:   using ::srand;
1434:   using ::strtod;
1434:   using ::strtol;
1434:   using ::strtoul;
1434:   using ::system;
1434: 
1434:   using ::wcstombs;
1434:   using ::wctomb;
1434: 
1434: 
1434: 
1434:   inline ldiv_t
1434:   div(long __i, long __j) { return ldiv(__i, __j); }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 195 "/usr/include/c++/12/cstdlib" 3
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   using ::lldiv_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   using ::_Exit;
1434: 
1434: 
1434: 
1434:   using ::llabs;
1434: 
1434:   inline lldiv_t
1434:   div(long long __n, long long __d)
1434:   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
1434: 
1434:   using ::lldiv;
1434: # 227 "/usr/include/c++/12/cstdlib" 3
1434:   using ::atoll;
1434:   using ::strtoll;
1434:   using ::strtoull;
1434: 
1434:   using ::strtof;
1434:   using ::strtold;
1434: 
1434: 
1434: }
1434: 
1434: namespace std
1434: {
1434: 
1434:   using ::__gnu_cxx::lldiv_t;
1434: 
1434:   using ::__gnu_cxx::_Exit;
1434: 
1434:   using ::__gnu_cxx::llabs;
1434:   using ::__gnu_cxx::div;
1434:   using ::__gnu_cxx::lldiv;
1434: 
1434:   using ::__gnu_cxx::atoll;
1434:   using ::__gnu_cxx::strtof;
1434:   using ::__gnu_cxx::strtoll;
1434:   using ::__gnu_cxx::strtoull;
1434:   using ::__gnu_cxx::strtold;
1434: }
1434: 
1434: 
1434: 
1434: }
1434: # 42 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1434: # 1 "/usr/include/c++/12/cwchar" 1 3
1434: # 39 "/usr/include/c++/12/cwchar" 3
1434:        
1434: # 40 "/usr/include/c++/12/cwchar" 3
1434: # 43 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1434: # 1 "/usr/include/c++/12/cstdio" 1 3
1434: # 39 "/usr/include/c++/12/cstdio" 3
1434:        
1434: # 40 "/usr/include/c++/12/cstdio" 3
1434: 
1434: 
1434: # 1 "/usr/include/stdio.h" 1 3 4
1434: # 27 "/usr/include/stdio.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1434: # 28 "/usr/include/stdio.h" 2 3 4
1434: 
1434: extern "C" {
1434: 
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 34 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1434: # 37 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 1 3 4
1434: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 3 4
1434: typedef struct _G_fpos_t
1434: {
1434:   __off_t __pos;
1434:   __mbstate_t __snal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:       _ForwardIterator2 __last2, _ForwardIterator __d_first, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:       _ForwardIterator2 __last2, _ForwardIterator __d_first);
1412: 
1412: template <class _ExecutionPolicy, class _BidirectionalIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1412:               _BidirectionalIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _BidirectionalIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1412: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1412:               _BidirectionalIterator __last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:          _ForwardIterator2 __last2, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:          _ForwardIterator2 __last2);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1412:           class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:           _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1412:           _ForwardIterator2 __last2, _ForwardIterator __result);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1412:           class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1412:           class _Compare>
1412: __pstl::__internal::__enable_if_execution_politate;
1434: } __fpos_t;
1434: # 40 "/usr/include/stdio.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 1 3 4
1434: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 3 4
1434: typedef struct _G_fpos64_t
1434: {
1434:   __off64_t __pos;
1434:   __mbstate_t __state;
1434: } __fpos64_t;
1434: # 41 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 1 3 4
1434: # 35 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 3 4
1434: struct _IO_FILE;
1434: struct _IO_marker;
1434: struct _IO_codecvt;
1434: struct _IO_wide_data;
1434: 
1434: 
1434: 
1434: 
1434: typedef void _IO_lock_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: struct _IO_FILE
1434: {
1434:   int _flags;
1434: 
1434: 
1434:   char *_IO_read_ptr;
1434:   char *_IO_read_end;
1434:   char *_IO_read_base;
1434:   char *_IO_write_base;
1434:   char *_IO_write_ptr;
1434:   char *_IO_write_end;
1434:   char *_IO_buf_base;
1434:   char *_IO_buf_end;
1434: 
1434: 
1434:   char *_IO_save_base;
1434:   char *_IO_backup_base;
1434:   char *_IO_save_end;
1434: 
1434:   struct _IO_marker *_markers;
1434: 
1434:   struct _IO_FILE *_chain;
1434: 
1434:   int _fileno;
1434:   int _flags2;
1434:   __off_t _old_offset;
1434: 
1434: 
1434:   unsigned short _cur_column;
1434:   signed char _vtable_offset;
1434:   char _shortbuf[1];
1434: 
1434:   _IO_lock_t *_lock;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   __off64_t _offset;
1434: 
1434:   struct _IO_codecvt *_codecvt;
1434:   struct _IO_wide_data *_wide_data;
1434:   struct _IO_FILE *_freeres_list;
1434:   void *_freeres_buf;
1434:   size_t __pad5;
1434:   int _mode;
1434: 
1434:   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
1434: };
1434: # 44 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 3 4
1434: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
1434:                                           size_t __nbytes);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
1434:                                            size_t __nbytes);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
1434: 
1434: 
1434: typedef int cookie_close_function_t (void *__cookie);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef struct _IO_cookie_io_functions_t
1434: {
1434:   cookie_read_function_t *read;
1434:   cookie_write_function_t *write;
1434:   cookie_seek_function_t *seek;
1434:   cookie_close_function_t *close;
1434: } cookie_io_functions_t;
1434: # 47 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef __gnuc_va_list va_list;
1434: # 86 "/usr/include/stdio.h" 3 4
1434: typedef __fpos64_t fpos_t;
1434: 
1434: 
1434: typedef __fpos64_t fpos64_t;
1434: # 133 "/usr/include/stdio.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4
1434: # 134 "/usr/include/stdio.h" 2 3 4
1434: # 143 "/usr/include/stdio.h" 3 4
1434: extern FILE *stdin;
1434: extern FILE *stdout;
1434: extern FILE *stderr;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int remove (const char *__filename) noexcept (true);
1434: 
1434: extern int rename (const char *__old, const char *__new) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int renameat (int __oldfd, const char *__old, int __newfd,
1434:        const char *__new) noexcept (true);
1434: # 170 "/usr/include/stdio.h" 3 4
1434: extern int renameat2 (int __oldfd, const char *__old, int __newfd,
1434:         const char *__new, unsigned int __flags) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fclose (FILE *__stream);
1434: # 192 "/usr/include/stdio.h" 3 4
1434: extern FILE *tmpfile (void) __asm__ ("" "tmpfile64")
1434:   __attribute__ ((__mal= __nn;
1417:  } while (__done < __n && _M_conv_put());
1417:  return __done;
1417:       }
1417: 
1417:     private:
1417: 
1417:       bool
1417:       _M_conv_get()
1417:       {
1417:  const streamsize __pb1 = this->gptr() - this->eback();
1417:  const streamsize __pb2 = _S_putback_length;
1417:  const streamsize __npb = std::min(__pb1, __pb2);
1417: 
1417:  _Tr::move(_M_get_area + _S_putback_length - __npb,
1417:     this->gptr() - __npb, __npb);
1417: 
1417:  streamsize __nbytes = sizeof(_M_get_buf) - _M_unconv;
1417:  __nbytes = std::min(__nbytes, _M_buf->in_avail());
1417:  if (__nbytes < 1)
1417:    __nbytes = 1;
1417:  __nbytes = _M_buf->sgetn(_M_get_buf + _M_unconv, __nbytes);
1417:  if (__nbytes < 1)
1417:    return false;
1417:  __nbytes += _M_unconv;
1417: 
1417: 
1417: 
1417:  _Elem* __outbuf = _M_get_area + _S_putback_length;
1417:  _Elem* __outnext = __outbuf;
1417:  const char* __bnext = _M_get_buf;
1417: 
1417:  codecvt_base::result __result;
1417:  if (_M_always_noconv)
1417:    __result = codecvt_base::noconv;
1417:  else
1417:    {
1417:      _Elem* __outend = _M_get_area + _S_buffer_length;
1417: 
1417:      __result = _M_cvt->in(_M_state,
1417:       __bnext, __bnext + __nbytes, __bnext,
1417:       __outbuf, __outend, __outnext);
1417:    }
1417: 
1417:  if (__result == codecvt_base::noconv)
1417:    {
1417: 
1417:      auto __get_buf = reinterpret_cast<const _Elem*>(_M_get_buf);
1417:      _Tr::copy(__outbuf, __get_buf, __nbytes);
1417:      _M_unconv = 0;
1417:      return true;
1417:    }
1417: 
1417:  if ((_M_unconv = _M_get_buf + __nbytes - __bnext))
1417:    char_traits<char>::move(_M_get_buf, __bnext, _M_unconv);
1417: 
1417:  this->setg(__outbuf, __outbuf, __outnext);
1417: 
1417:  return __result != codecvt_base::error;
1417:       }
1417: 
1417: 
1417:       bool
1417:       _M_put(...)
1417:       { return false; }
1417: 
1417:       bool
1417:       _M_put(const char* __p, streamsize __n)
1417:       {
1417:  if (_M_buf->sputn(__p, __n) < __n)
1417:    return false;
1417:  return true;
1417:       }
1417: 
1417: 
1417:       bool
1417:       _M_conv_put()
1417:       {
1417:  _Elem* const __first = this->pbase();
1417:  const _Elem* const __last = this->pptr();
1417:  const streamsize __pending = __last - __first;
1417: 
1417:  if (_M_always_noconv)
1417:    return _M_put(__first, __pending);
1417: 
1417:  char __outbuf[2 * _S_buffer_length];
1417: 
1417:  const _Elem* __next = __first;
1417:  const _Elem* __start;
1417:  do
1417:    {
1417:      __start = __next;
1417:      char* __outnext = __outbuf;
1417:      char* const __outlast = __outbuf + sizeof(__outbuf);
1417:      auto __result = _M_cvt->out(_M_state, __next, __last, __next,
1417:      __outnext, __outlast, __outnext);
1417:      if (__result == codecvt_base::error)
1417:        return false;
1417:      else if (__result == codecvt_base::noconv)
1417:        return _M_put(__next, __pending);
1417: 
1417:      if (!_M_put(__outbuf, __outnext - __outbuf))
1417:        return false;
1417:    }
1417:  while (__next != __last && __next != __start);
1417: 
1417:  if (__next != __last)
1417:    _Tr::move(__first, __next, __last - __next);
1417: 
1417:  this->pbump(__first - __next);
1417:  return __next != __first;
1417:       }
1417: 
1417:       streambuf* _M_buf;
1417:       __detail::_Scoped_ptr<_Codecvt> _M_cvt;
1417:       state_type _M_state;
1417: 
1417:       static const streamsize _S_buffer_length = 32;
1417:       static const streamsize _S_putback_length = 3;
1417:       _Elem _M_put_area[_S_buffer_length];
1417:       _Elem _M_get_area[_S_buffer_length];
1417:       streamsize _M_unconv = 0;
1417:       char _M_get_buf[_S_buffer_length-_S_putback_length];
1417:       bool _M_always_noconv;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 44 "/usr/include/c++/12/locale" 2 3
1417: # 44 "/usr/include/c++/12/iomanip" 2 3
1417: 
1417: # 1 "/usr/include/c++/12/bits/quoted_string.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/quoted_string.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/quoted_string.h" 3
1417cy<_ExecutionPolicy, _ForwardIterator>
1412: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1412:           class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator result,
1412:                          _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1412: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1412: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _RandomAccessIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1412: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_Forwarloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern FILE *tmpfile64 (void)
1434:    __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: extern char *tmpnam (char[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern char *tmpnam_r (char __s[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: # 222 "/usr/include/stdio.h" 3 4
1434: extern char *tempnam (const char *__dir, const char *__pfx)
1434:    noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fflush (FILE *__stream);
1434: # 239 "/usr/include/stdio.h" 3 4
1434: extern int fflush_unlocked (FILE *__stream);
1434: # 249 "/usr/include/stdio.h" 3 4
1434: extern int fcloseall (void);
1434: # 270 "/usr/include/stdio.h" 3 4
1434: extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64")
1434: 
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64")
1434: 
1434: 
1434:   __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern FILE *fopen64 (const char *__restrict __filename,
1434:         const char *__restrict __modes)
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: extern FILE *freopen64 (const char *__restrict __filename,
1434:    const char *__restrict __modes,
1434:    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern FILE *fopencookie (void *__restrict __magic_cookie,
1434:      const char *__restrict __modes,
1434:      cookie_io_functions_t __io_funcs) noexcept (true)
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
1434:   noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
1434:       int __modes, size_t __n) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
1434:          size_t __size) noexcept (true);
1434: 
1434: 
1434: extern void setlinebuf (FILE *__stream) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fprintf (FILE *__restrict __stream,
1434:       const char *__restrict __format, ...);
1434: 
1434: 
1434: 
1434: 
1434: extern int printf (const char *__restrict __format, ...);
1434: 
1434: extern int sprintf (char *__restrict __s,
1434:       const char *__restrict __format, ...) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
1434:        __gnuc_va_list __arg);
1434: 
1434: 
1434: 
1434: 
1434: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
1434: 
1434: extern int vsprintf (char *__restrict __s, const char *__restrict __format,
1434:        __gnuc_va_list __arg) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int snprintf (char *__restrict __s, size_t __maxlen,
1434:        const char *__restrict __format, ...)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1434: 
1434: extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1434:         const char *__restrict __format, __gnuc_va_list __arg)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
1434:         __gnuc_va_list __arg)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1434: extern int __asprintf (char **__restrict __ptr,
1434:          const char *__restrict __fmt, ...)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1434: extern int asprintf (char **__restrict __ptr,
1434:        const char *__restrict __fmt, ...)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern int vdprintf (int __fd, const char *__restrict __fmt,
1434:        __gnuc_va_list __arg)
1434:      __attribute__ ((__format__ (__printf__, 2, 0)));
1434: extern int dprintf (int __fd, const char *__restrict __fmt, ...)
1434:      __attribute__ ((__format__ (__printf__, 2, 3)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fscanf (FILE *__restrict __stream,
1434:      const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1434: 
1434: extern int sscanf (const char *__restrict __s,
1434:      const char *__restrict __format, ...) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1434: # 431 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: 
1434: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
1434: 
1434:                           __attribute__ ((__warn_unused_result__));
1434: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
1434:                          __attribute__ ((__warn_unused_result__));
1434: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_sscanf")
1434: 
1434:                       ;
1434: # 459 "/usr/include/stdio.h" 3 4
1434: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
1434:       __gnuc_va_list __arg)
1434:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
1434:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: extern int vsscanf (const char *__restrict __s,
1434:       const char *__restrict __format, __gnuc_va_list __arg)
1434:      noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
1434: 
1434: 
1434: 
1434:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1434: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
1434: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/sstream" 1 3
1417: # 36 "/usr/include/c++/12/sstream" 3
1417:        
1417: # 37 "/usr/include/c++/12/sstream" 3
1417: 
1417: # 1 "/usr/include/c++/12/istream" 1 3
1417: # 36 "/usr/include/c++/12/istream" 3
1417:        
1417: # 37 "/usr/include/c++/12/istream" 3
1417: 
1417: # 1 "/usr/include/c++/12/ios" 1 3
1417: # 36 "/usr/include/c++/12/ios" 3
1417:        
1417: # 37 "/usr/include/c++/12/ios" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/basic_ios.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/basic_ios.h" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _Facet>
1417:     inline const _Facet&
1417:     __check_facet(const _Facet* __f)
1417:     {
1417:       if (!__f)
1417:  __throw_bad_cast();
1417:       return *__f;
1417:     }
1417: # 66 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:   template<typename _CharT, typename _Traits>
1417:     class basic_ios : public ios_base
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef typename _Traits::int_type int_type;
1417:       typedef typename _Traits::pos_type pos_type;
1417:       typedef typename _Traits::off_type off_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef ctype<_CharT> __ctype_type;
1417:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1417:            __num_put_type;
1417:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1417:            __num_get_type;
1417: 
1417: 
1417: 
1417:     protected:
1417:       basic_ostream<_CharT, _Traits>* _M_tie;
1417:       mutable char_type _M_fill;
1417:       mutable bool _M_fill_init;
1417:       basic_streambuf<_CharT, _Traits>* _M_streambuf;
1417: 
1417: 
1417:       const __ctype_type* _M_ctype;
1417: 
1417:       const __num_put_type* _M_num_put;
1417: 
1417:       const __num_get_type* _M_num_get;
1417: 
1417:     public:
1417: # 117 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       explicit operator bool() const
1417:       { return !this->fail(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       operator!() const
1417:       { return this->fail(); }
1417: # 136 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       iostate
1417:       rdstate() const
1417:       { return _M_streambuf_state; }
1417: # 147 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       void
1417:       clear(iostate __state = goodbit);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       setstate(iostate __state)
1417:       { this->clear(this->rdstate() | __state); }
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_setstate(iostate __state)
1417:       {
1417: 
1417: 
1417:  _M_streambuf_state |= __state;
1417:  if (this->exceptions() & __state)
1417:    throw;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       good() const
1417:       { return this->rdstate() == 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       eof() const
1417:       { return (this->rdstate() & eofbit) != 0; }
1417: # 200 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       bool
1417:       fail() const
1417:       { return (this->rdstate() & (badbit | failbit)) != 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       bad() const
1417:       { return (this->rdstate() & badbit) != 0; }
1417: # 221 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       iostate
1417:       exceptions() const
1417:       { return _M_exception; }
1417: # 256 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       void
1417:       exceptions(iostate __except)
1417:       {
1417:         _M_exception = __except;
1417:         this->clear(_M_streambuf_state);
1417:       }
1417: 
1417: 
1417: 
1417: 
dIterator, _ForwardIterator>>
1412: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
1412: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1412: 
1412: 
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2, _Compare __comp);
1412: 
1412: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1412: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1412: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1412:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2);
1412: 
1412: }
1412: # 74 "/usr/include/c++/12/algorithm" 2 3
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 2
1412: 
1412: 
1412: 
1412: 
1412: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1412: template <typename T> class CPointGen
1412: {
1412: public:
1412:   typedef CPointGen<T> this_type;
1412: 
1412:   CPointGen() noexcept = default;
1412: 
1412:   constexpr CPointGen(T a, T b)
1412:   : x{a}, y{b}
1412:   {}
1412: 
1412:   template<class U> explicit constexpr CPointGen(const CPointGen<U>& rhs)
1412:   : x{static_cast<T> (rhs.x)}, y{static_cast<T> (rhs.y)}
1412:   {}
1412: 
1412:   constexpr this_type operator+(const this_type &point) const
1412:   {
1412:     return {x + point.x, y + point.y};
1412:   };
1412: 
1412:   this_type& operator+=(const this_type &point)
1412:   {
1412:     x += point.x;
1412:     y += point.y;
1412:     return *this;
1412:   };
1412: 
1412:   constexpr this_type operator-(const this_type &point) const
1412:   {
1412:     return {x - point.x, y - point.y};
1412:   };
1412: 
1412:   this_type& operator-=(const this_type &point)
1412:   {
1412:     x -= point.x;
1412:     y -= point.y;
1412:     return *this;
1412:   };
1412: 
1412:   constexpr this_type operator*(T factor) const
1412:   {
1412:     return {x * factor, y * factor};
1412:   }
1412: 
1412:   this_type& operator*=(T factor)
1412:   {
1412:     x *= factor;
1412:     y *= factor;
1412:     return *this;
1412:   }
1412: 
1412:   constexpr this_type operator/(T factor) const
1412:   {
1412:     return {x / factor, y / factor};
1412:   }
1412: 
1412:   this_type& operator/=(T factor)
1412:   {
1412:     x /= factor;
1412:     y /= factor;
1412:     return *this;
1412:   }
1412: 
1412:   T x{}, y{};
1412: };
1412: 
1412: template<typename T>
1412: constexpr bool operator==(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1412: {
1412:   return (point1.x == point2.x && point1.y == point2.y);
1412: }
1412: 
1412: template<typename T>
1412: constexpr bool operator!=(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1412: {
1412:   return !(point1 == point2);
1412: }
1412: 
1412: using CPoint = CPointGen<float>;
1412: using CPointInt = CPointGen<int>;
1412: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1412: template <typename T> class CSizeGen
1412: {
1412:   T m_w{}, m_h{};
1412: 
1412:   void CheckSet(T width, T height)
1412:   {
1412:     if (width < 0)
1412:     {
1412:       throw std::out_of_range("Size may not have negative width");
1412:     }
1412:     if (height < 0)
1412:     {
1412:       throw std::out_of_range("Size may not have negative height");
1412:     }
1412:     m_w = width;
1412:     m_h = height;
1412:   }
1412: 
1412: public:
1412:   typedef CSizeGen<T> this_type;
1412: 
1412:   CSizeGen() noexcept = default;
141: 
1434:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1434: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vsscanf")
1434: 
1434: 
1434: 
1434:      __attribute__ ((__format__ (__scanf__, 2, 0)));
1434: # 513 "/usr/include/stdio.h" 3 4
1434: extern int fgetc (FILE *__stream);
1434: extern int getc (FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int getchar (void);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int getc_unlocked (FILE *__stream);
1434: extern int getchar_unlocked (void);
1434: # 538 "/usr/include/stdio.h" 3 4
1434: extern int fgetc_unlocked (FILE *__stream);
1434: # 549 "/usr/include/stdio.h" 3 4
1434: extern int fputc (int __c, FILE *__stream);
1434: extern int putc (int __c, FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int putchar (int __c);
1434: # 565 "/usr/include/stdio.h" 3 4
1434: extern int fputc_unlocked (int __c, FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int putc_unlocked (int __c, FILE *__stream);
1434: extern int putchar_unlocked (int __c);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int getw (FILE *__stream);
1434: 
1434: 
1434: extern int putw (int __w, FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1434:      __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: # 615 "/usr/include/stdio.h" 3 4
1434: extern char *fgets_unlocked (char *__restrict __s, int __n,
1434:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__))
1434:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: # 632 "/usr/include/stdio.h" 3 4
1434: extern __ssize_t __getdelim (char **__restrict __lineptr,
1434:                              size_t *__restrict __n, int __delimiter,
1434:                              FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: extern __ssize_t getdelim (char **__restrict __lineptr,
1434:                            size_t *__restrict __n, int __delimiter,
1434:                            FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __ssize_t getline (char **__restrict __lineptr,
1434:                           size_t *__restrict __n,
1434:                           FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int puts (const char *__s);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int ungetc (int __c, FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern size_t fread (void *__restrict __ptr, size_t __size,
1434:        size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern size_t fwrite (const void *__restrict __ptr, size_t __size,
1434:         size_t __n, FILE *__restrict __s);
1434: # 691 "/usr/include/stdio.h" 3 4
1434: extern int fputs_unlocked (const char *__restrict __s,
1434:       FILE *__restrict __stream);
1434: # 702 "/usr/include/stdio.h" 3 4
1434: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
1434:          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
1434:           size_t __n, FILE *__restrict __stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fseek (FILE *__stream, long int __off, int __whence);
1434: 
1434: 
1434: 
1434: 
1434: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern void rewind (FILE *__stream);
1434: # 744 "/usr/incl1417: 
1417: 
1417: 
1417:       explicit
1417:       basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
1417:       : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
1417:  _M_ctype(0), _M_num_put(0), _M_num_get(0)
1417:       { this->init(__sb); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       virtual
1417:       ~basic_ios() { }
1417: # 294 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       basic_ostream<_CharT, _Traits>*
1417:       tie() const
1417:       { return _M_tie; }
1417: # 306 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       basic_ostream<_CharT, _Traits>*
1417:       tie(basic_ostream<_CharT, _Traits>* __tiestr)
1417:       {
1417:         basic_ostream<_CharT, _Traits>* __old = _M_tie;
1417:         _M_tie = __tiestr;
1417:         return __old;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       basic_streambuf<_CharT, _Traits>*
1417:       rdbuf() const
1417:       { return _M_streambuf; }
1417: # 346 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       basic_streambuf<_CharT, _Traits>*
1417:       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
1417: # 360 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       basic_ios&
1417:       copyfmt(const basic_ios& __rhs);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       char_type
1417:       fill() const
1417:       {
1417:  if (!_M_fill_init)
1417:    {
1417:      _M_fill = this->widen(' ');
1417:      _M_fill_init = true;
1417:    }
1417:  return _M_fill;
1417:       }
1417: # 389 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       char_type
1417:       fill(char_type __ch)
1417:       {
1417:  char_type __old = this->fill();
1417:  _M_fill = __ch;
1417:  return __old;
1417:       }
1417: # 409 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       locale
1417:       imbue(const locale& __loc);
1417: # 429 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       char
1417:       narrow(char_type __c, char __dfault) const
1417:       { return __check_facet(_M_ctype).narrow(__c, __dfault); }
1417: # 448 "/usr/include/c++/12/bits/basic_ios.h" 3
1417:       char_type
1417:       widen(char __c) const
1417:       { return __check_facet(_M_ctype).widen(__c); }
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       basic_ios()
1417:       : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
1417:  _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       init(basic_streambuf<_CharT, _Traits>* __sb);
1417: 
1417: 
1417:       basic_ios(const basic_ios&) = delete;
1417:       basic_ios& operator=(const basic_ios&) = delete;
1417: 
1417:       void
1417:       move(basic_ios& __rhs)
1417:       {
1417:  ios_base::_M_move(__rhs);
1417:  _M_cache_locale(_M_ios_locale);
1417:  this->tie(__rhs.tie(nullptr));
1417:  _M_fill = __rhs._M_fill;
1417:  _M_fill_init = __rhs._M_fill_init;
1417:  _M_streambuf = nullptr;
1417:       }
1417: 
1417:       void
1417:       move(basic_ios&& __rhs)
1417:       { this->move(__rhs); }
1417: 
1417:       void
1417:       swap(basic_ios& __rhs) noexcept
1417:       {
1417:  ios_base::_M_swap(__rhs);
1417:  _M_cache_locale(_M_ios_locale);
1417:  __rhs._M_cache_locale(__rhs._M_ios_locale);
1417:  std::swap(_M_tie, __rhs._M_tie);
1417:  std::swap(_M_fill, __rhs._M_fill);
1417:  std::swap(_M_fill_init, __rhs._M_fill_init);
1417:       }
1417: 
1417:       void
1417:       set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1417:       { _M_streambuf = __sb; }
1417: 
1417: 
1417:       void
1417:       _M_cache_locale(const locale& __loc);
1417:     };
1417: 
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/basic_ios.tcc" 1 3
1417: # 33 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     void
1417:     basic_ios<_Chaude/stdio.h" 3 4
1434: extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64")
1434: 
1434:                   ;
1434: extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
1434: # 768 "/usr/include/stdio.h" 3 4
1434: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64")
1434:                                           ;
1434: extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64")
1434:                                                           ;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
1434: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
1434: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
1434: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
1434: 
1434: 
1434: 
1434: extern void clearerr (FILE *__stream) noexcept (true);
1434: 
1434: extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: extern void clearerr_unlocked (FILE *__stream) noexcept (true);
1434: extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void perror (const char *__s);
1434: 
1434: 
1434: 
1434: 
1434: extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: # 823 "/usr/include/stdio.h" 3 4
1434: extern int pclose (FILE *__stream);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern FILE *popen (const char *__command, const char *__modes)
1434:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *ctermid (char *__s) noexcept (true)
1434:   __attribute__ ((__access__ (__write_only__, 1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *cuserid (char *__s)
1434:   __attribute__ ((__access__ (__write_only__, 1)));
1434: 
1434: 
1434: 
1434: 
1434: struct obstack;
1434: 
1434: 
1434: extern int obstack_printf (struct obstack *__restrict __obstack,
1434:       const char *__restrict __format, ...)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
1434: extern int obstack_vprintf (struct obstack *__restrict __obstack,
1434:        const char *__restrict __format,
1434:        __gnuc_va_list __args)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void flockfile (FILE *__stream) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: extern void funlockfile (FILE *__stream) noexcept (true);
1434: # 885 "/usr/include/stdio.h" 3 4
1434: extern int __uflow (FILE *);
1434: extern int __overflow (FILE *, int);
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 1 3 4
1434: # 26 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1434: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1434:      const char *__restrict __format, ...) noexcept (true)
1434:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1434: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1434:       const char *__restrict __format,
1434:       __gnuc_va_list __ap) noexcept (true)
1434:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1434: 
1434: 
1434: 
1434: extern int __snprintf_chk (char *__restrict __s, size_t __n,2: 
1412:   CSizeGen(T width, T height)
1412:   {
1412:     CheckSet(width, height);
1412:   }
1412: 
1412:   T Width() const
1412:   {
1412:     return m_w;
1412:   }
1412: 
1412:   T Height() const
1412:   {
1412:     return m_h;
1412:   }
1412: 
1412:   void SetWidth(T width)
1412:   {
1412:     CheckSet(width, m_h);
1412:   }
1412: 
1412:   void SetHeight(T height)
1412:   {
1412:     CheckSet(m_w, height);
1412:   }
1412: 
1412:   void Set(T width, T height)
1412:   {
1412:     CheckSet(width, height);
1412:   }
1412: 
1412:   bool IsZero() const
1412:   {
1412:     return (m_w == static_cast<T> (0) && m_h == static_cast<T> (0));
1412:   }
1412: 
1412:   T Area() const
1412:   {
1412:     return m_w * m_h;
1412:   }
1412: 
1412:   CPointGen<T> ToPoint() const
1412:   {
1412:     return {m_w, m_h};
1412:   }
1412: 
1412:   template<class U> explicit CSizeGen<T>(const CSizeGen<U>& rhs)
1412:   {
1412:     CheckSet(static_cast<T> (rhs.m_w), static_cast<T> (rhs.m_h));
1412:   }
1412: 
1412:   this_type operator+(const this_type& size) const
1412:   {
1412:     return {m_w + size.m_w, m_h + size.m_h};
1412:   };
1412: 
1412:   this_type& operator+=(const this_type& size)
1412:   {
1412:     CheckSet(m_w + size.m_w, m_h + size.m_h);
1412:     return *this;
1412:   };
1412: 
1412:   this_type operator-(const this_type& size) const
1412:   {
1412:     return {m_w - size.m_w, m_h - size.m_h};
1412:   };
1412: 
1412:   this_type& operator-=(const this_type& size)
1412:   {
1412:     CheckSet(m_w - size.m_w, m_h - size.m_h);
1412:     return *this;
1412:   };
1412: 
1412:   this_type operator*(T factor) const
1412:   {
1412:     return {m_w * factor, m_h * factor};
1412:   }
1412: 
1412:   this_type& operator*=(T factor)
1412:   {
1412:     CheckSet(m_w * factor, m_h * factor);
1412:     return *this;
1412:   }
1412: 
1412:   this_type operator/(T factor) const
1412:   {
1412:     return {m_w / factor, m_h / factor};
1412:   }
1412: 
1412:   this_type& operator/=(T factor)
1412:   {
1412:     CheckSet(m_w / factor, m_h / factor);
1412:     return *this;
1412:   }
1412: };
1412: 
1412: template<typename T>
1412: inline bool operator==(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1412: {
1412:   return (size1.Width() == size2.Width() && size1.Height() == size2.Height());
1412: }
1412: 
1412: template<typename T>
1412: inline bool operator!=(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1412: {
1412:   return !(size1 == size2);
1412: }
1412: 
1412: using CSize = CSizeGen<float>;
1412: using CSizeInt = CSizeGen<int>;
1412: 
1412: 
1412: template <typename T> class CRectGen
1412: {
1412: public:
1412:   typedef CRectGen<T> this_type;
1412:   typedef CPointGen<T> point_type;
1412:   typedef CSizeGen<T> size_type;
1412: 
1412:   CRectGen() noexcept = default;
1412: 
1412:   constexpr CRectGen(T left, T top, T right, T bottom)
1412:   : x1{left}, y1{top}, x2{right}, y2{bottom}
1412:   {}
1412: 
1412:   constexpr CRectGen(const point_type &p1, const point_type &p2)
1412:   : x1{p1.x}, y1{p1.y}, x2{p2.x}, y2{p2.y}
1412:   {}
1412: 
1412:   constexpr CRectGen(const point_type &origin, const size_type &size)
1412:   : x1{origin.x}, y1{origin.y}, x2{x1 + size.Width()}, y2{y1 + size.Height()}
1412:   {}
1412: 
1412:   template<class U> explicit constexpr CRectGen(const CRectGen<U>& rhs)
1412:   : x1{static_cast<T> (rhs.x1)}, y1{static_cast<T> (rhs.y1)}, x2{static_cast<T> (rhs.x2)}, y2{static_cast<T> (rhs.y2)}
1412:   {}
1412: 
1412:   void SetRect(T left, T top, T right, T bottom)
1412:   {
1412:     x1 = left;
1412:     y1 = top;
1412:     x2 = right;
1412:     y2 = bottom;
1412:   }
1412: 
1412:   constexpr bool PtInRect(const point_type &point) const
1412:   {
1412:     return (x1 <= point.x && point.x <= x2 && y1 <= point.y && point.y <= y2);
1412:   };
1412: 
1412:   this_type& operator-=(const point_type &point) __attribute__((always_inline))
1412:   {
1412:     x1 -= point.x;
1412:     y1 -= point.y;
1412:     x2 -= point.x;
1412:     y2 -= point.y;
1412:     return *this;
1412:   };
1412: 
1412:   cons int __flag,
1434:       size_t __slen, const char *__restrict __format,
1434:       ...) noexcept (true)
1434:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
1434:        size_t __slen, const char *__restrict __format,
1434:        __gnuc_va_list __ap) noexcept (true)
1434:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
1434:      const char *__restrict __format, ...);
1434: extern int __printf_chk (int __flag, const char *__restrict __format, ...);
1434: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
1434:       const char *__restrict __format, __gnuc_va_list __ap);
1434: extern int __vprintf_chk (int __flag, const char *__restrict __format,
1434:      __gnuc_va_list __ap);
1434: 
1434: 
1434: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
1434:      ...) __attribute__ ((__format__ (__printf__, 3, 4)));
1434: extern int __vdprintf_chk (int __fd, int __flag,
1434:       const char *__restrict __fmt, __gnuc_va_list __arg)
1434:      __attribute__ ((__format__ (__printf__, 3, 0)));
1434: 
1434: 
1434: 
1434: 
1434: extern int __asprintf_chk (char **__restrict __ptr, int __flag,
1434:       const char *__restrict __fmt, ...)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
1434: extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
1434:        const char *__restrict __fmt, __gnuc_va_list __arg)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
1434: extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
1434:      int __flag, const char *__restrict __format,
1434:      ...)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1434: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
1434:       int __flag,
1434:       const char *__restrict __format,
1434:       __gnuc_va_list __args)
1434:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1434: # 90 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1434: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
1434:      FILE *__restrict __stream)
1434:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1434: 
1434: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
1434:       size_t __size, size_t __n,
1434:       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: 
1434: 
1434: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
1434:        int __n, FILE *__restrict __stream)
1434:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1434: 
1434: 
1434: 
1434: 
1434: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
1434:         size_t __size, size_t __n,
1434:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1434: # 891 "/usr/include/stdio.h" 2 3 4
1434: # 902 "/usr/include/stdio.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 1 3 4
1434: # 46 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 3 4
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: getchar (void)
1434: {
1434:   return getc (stdin);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: fgetc_unlocked (FILE *__fp)
1434: {
1434:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: getc_unlocked (FILE *__fp)
1434: {
1434:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (rT, _Traits>::clear(iostate __state)
1417:     {
1417:       if (this->rdbuf())
1417:  _M_streambuf_state = __state;
1417:       else
1417:  _M_streambuf_state = __state | badbit;
1417:       if (this->exceptions() & this->rdstate())
1417:  __throw_ios_failure(("basic_ios::clear"));
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_streambuf<_CharT, _Traits>*
1417:     basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1417:     {
1417:       basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
1417:       _M_streambuf = __sb;
1417:       this->clear();
1417:       return __old;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ios<_CharT, _Traits>&
1417:     basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
1417:     {
1417: 
1417: 
1417:       if (this != std::__addressof(__rhs))
1417:  {
1417: 
1417: 
1417: 
1417: 
1417:    _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
1417:                       _M_local_word : new _Words[__rhs._M_word_size];
1417: 
1417: 
1417:    _Callback_list* __cb = __rhs._M_callbacks;
1417:    if (__cb)
1417:      __cb->_M_add_reference();
1417:    _M_call_callbacks(erase_event);
1417:    if (_M_word != _M_local_word)
1417:      {
1417:        delete [] _M_word;
1417:        _M_word = 0;
1417:      }
1417:    _M_dispose_callbacks();
1417: 
1417: 
1417:    _M_callbacks = __cb;
1417:    for (int __i = 0; __i < __rhs._M_word_size; ++__i)
1417:      __words[__i] = __rhs._M_word[__i];
1417:    _M_word = __words;
1417:    _M_word_size = __rhs._M_word_size;
1417: 
1417:    this->flags(__rhs.flags());
1417:    this->width(__rhs.width());
1417:    this->precision(__rhs.precision());
1417:    this->tie(__rhs.tie());
1417:    this->fill(__rhs.fill());
1417:    _M_ios_locale = __rhs.getloc();
1417:    _M_cache_locale(_M_ios_locale);
1417: 
1417:    _M_call_callbacks(copyfmt_event);
1417: 
1417: 
1417:    this->exceptions(__rhs.exceptions());
1417:  }
1417:       return *this;
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     locale
1417:     basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
1417:     {
1417:       locale __old(this->getloc());
1417:       ios_base::imbue(__loc);
1417:       _M_cache_locale(__loc);
1417:       if (this->rdbuf() != 0)
1417:  this->rdbuf()->pubimbue(__loc);
1417:       return __old;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     void
1417:     basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
1417:     {
1417: 
1417:       ios_base::_M_init();
1417: 
1417: 
1417:       _M_cache_locale(_M_ios_locale);
1417: # 146 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1417:       _M_fill = _CharT();
1417:       _M_fill_init = false;
1417: 
1417:       _M_tie = 0;
1417:       _M_exception = goodbit;
1417:       _M_streambuf = __sb;
1417:       _M_streambuf_state = __sb ? goodbit : badbit;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     void
1417:     basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
1417:     {
1417:       if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
1417:  _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc));
1417:       else
1417:  _M_ctype = 0;
1417: 
1417:       if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
1417:  _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc));
1417:       else
1417:  _M_num_put = 0;
1417: 
1417:       if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
1417:  _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc));
1417:       else
1417:  _M_num_get = 0;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   extern template class basic_ios<char>;
1417: 
1417: 
1417:   extern template class basic_ios<wchar_t>;
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 517 "/usr/include/c++/12/bits/basic_ios.h" 2 3
1417: # 45 "/usr/include/c++/12/ios" 2 3
1417: # 39 "/usr/include/c++/12/istream" 2 3
1417: # 1 "/usr/include/c++/12/ostr__fp)->_IO_read_ptr++);
1434: }
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: getchar_unlocked (void)
1434: {
1434:   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: putchar (int __c)
1434: {
1434:   return putc (__c, stdout);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: fputc_unlocked (int __c, FILE *__stream)
1434: {
1434:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: putc_unlocked (int __c, FILE *__stream)
1434: {
1434:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1434: }
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: putchar_unlocked (int __c)
1434: {
1434:   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
1434: getline (char **__lineptr, size_t *__n, FILE *__stream)
1434: {
1434:   return __getdelim (__lineptr, __n, '\n', __stream);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) noexcept (true)
1434: {
1434:   return (((__stream)->_flags & 0x0010) != 0);
1434: }
1434: 
1434: 
1434: extern __inline __attribute__ ((__gnu_inline__)) int
1434: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) noexcept (true)
1434: {
1434:   return (((__stream)->_flags & 0x0020) != 0);
1434: }
1434: # 903 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) noexcept (true)
1434: {
1434:   return __builtin___sprintf_chk (__s, 2 - 1,
1434:       __builtin_object_size (__s, 2 > 1), __fmt,
1434:       __builtin_va_arg_pack ());
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1434: 
1434: {
1434:   return __builtin___vsprintf_chk (__s, 2 - 1,
1434:        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1434: }
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) noexcept (true)
1434: 
1434: {
1434:   return __builtin___snprintf_chk (__s, __n, 2 - 1,
1434:        __builtin_object_size (__s, 2 > 1), __fmt,
1434:        __builtin_va_arg_pack ());
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1434: 
1434: {
1434:   return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
1434:         __builtintexpr this_type operator-(const point_type &point) const
1412:   {
1412:     return {x1 - point.x, y1 - point.y, x2 - point.x, y2 - point.y};
1412:   }
1412: 
1412:   this_type& operator+=(const point_type &point) __attribute__((always_inline))
1412:   {
1412:     x1 += point.x;
1412:     y1 += point.y;
1412:     x2 += point.x;
1412:     y2 += point.y;
1412:     return *this;
1412:   };
1412: 
1412:   constexpr this_type operator+(const point_type &point) const
1412:   {
1412:     return {x1 + point.x, y1 + point.y, x2 + point.x, y2 + point.y};
1412:   }
1412: 
1412:   this_type& operator-=(const size_type &size)
1412:   {
1412:     x2 -= size.Width();
1412:     y2 -= size.Height();
1412:     return *this;
1412:   };
1412: 
1412:   constexpr this_type operator-(const size_type &size) const
1412:   {
1412:     return {x1, y1, x2 - size.Width(), y2 - size.Height()};
1412:   }
1412: 
1412:   this_type& operator+=(const size_type &size)
1412:   {
1412:     x2 += size.Width();
1412:     y2 += size.Height();
1412:     return *this;
1412:   };
1412: 
1412:   constexpr this_type operator+(const size_type &size) const
1412:   {
1412:     return {x1, y1, x2 + size.Width(), y2 + size.Height()};
1412:   }
1412: 
1412:   this_type& Intersect(const this_type &rect)
1412:   {
1412:     x1 = clamp_range(x1, rect.x1, rect.x2);
1412:     x2 = clamp_range(x2, rect.x1, rect.x2);
1412:     y1 = clamp_range(y1, rect.y1, rect.y2);
1412:     y2 = clamp_range(y2, rect.y1, rect.y2);
1412:     return *this;
1412:   };
1412: 
1412:   this_type& Union(const this_type &rect)
1412:   {
1412:     if (IsEmpty())
1412:       *this = rect;
1412:     else if (!rect.IsEmpty())
1412:     {
1412:       x1 = std::min(x1,rect.x1);
1412:       y1 = std::min(y1,rect.y1);
1412: 
1412:       x2 = std::max(x2,rect.x2);
1412:       y2 = std::max(y2,rect.y2);
1412:     }
1412: 
1412:     return *this;
1412:   };
1412: 
1412:   constexpr bool IsEmpty() const __attribute__((always_inline))
1412:   {
1412:     return (x2 - x1) * (y2 - y1) == 0;
1412:   };
1412: 
1412:   constexpr point_type P1() const __attribute__((always_inline))
1412:   {
1412:     return {x1, y1};
1412:   }
1412: 
1412:   constexpr point_type P2() const __attribute__((always_inline))
1412:   {
1412:     return {x2, y2};
1412:   }
1412: 
1412:   constexpr T Width() const __attribute__((always_inline))
1412:   {
1412:     return x2 - x1;
1412:   };
1412: 
1412:   constexpr T Height() const __attribute__((always_inline))
1412:   {
1412:     return y2 - y1;
1412:   };
1412: 
1412:   constexpr T Area() const __attribute__((always_inline))
1412:   {
1412:     return Width() * Height();
1412:   };
1412: 
1412:   size_type ToSize() const
1412:   {
1412:     return {Width(), Height()};
1412:   };
1412: 
1412:   std::vector<this_type> SubtractRect(this_type splitterRect)
1412:   {
1412:     std::vector<this_type> newRectanglesList;
1412:     this_type intersection = splitterRect.Intersect(*this);
1412: 
1412:     if (!intersection.IsEmpty())
1412:     {
1412:       this_type add;
1412: 
1412: 
1412:       add = this_type(x1, y1, x2, intersection.y1);
1412:       if (!add.IsEmpty())
1412:         newRectanglesList.push_back(add);
1412: 
1412: 
1412:       add = this_type(x1, intersection.y2, x2, y2);
1412:       if (!add.IsEmpty())
1412:         newRectanglesList.push_back(add);
1412: 
1412: 
1412:       add = this_type(x1, intersection.y1, intersection.x1, intersection.y2);
1412:       if (!add.IsEmpty())
1412:         newRectanglesList.push_back(add);
1412: 
1412: 
1412:       add = this_type(intersection.x2, intersection.y1, x2, intersection.y2);
1412:       if (!add.IsEmpty())
1412:         newRectanglesList.push_back(add);
1412:     }
1412:     else
1412:     {
1412:       newRectanglesList.push_back(*this);
1412:     }
1412: 
1412:     return newRectanglesList;
1412:   }
1412: 
1412:   std::vector<this_type> SubtractRects(std::vector<this_type> intersectionList)
1412:   {
1412:     std::vector<this_type> fragmentsList;
1412:     fragmentsList.push_back(*this);
1412: 
1412:     for (typename std::vector<th_object_size (__s, 2 > 1), __fmt, __ap);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
1434: {
1434:   return __fprintf_chk (__stream, 2 - 1, __fmt,
1434:    __builtin_va_arg_pack ());
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: printf (const char *__restrict __fmt, ...)
1434: {
1434:   return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)
1434: {
1434: 
1434:   return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
1434: 
1434: 
1434: 
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: vfprintf (FILE *__restrict __stream,
1434:    const char *__restrict __fmt, __gnuc_va_list __ap)
1434: {
1434:   return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
1434: }
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: dprintf (int __fd, const char *__restrict __fmt, ...)
1434: {
1434:   return __dprintf_chk (__fd, 2 - 1, __fmt,
1434:    __builtin_va_arg_pack ());
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)
1434: {
1434:   return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1434: {
1434:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1434:     __builtin_va_arg_pack ());
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1434: 
1434: {
1434:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1434:     __builtin_va_arg_pack ());
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) noexcept (true)
1434: 
1434: {
1434:   return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
1434:           __builtin_va_arg_pack ());
1434: }
1434: # 165 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1434: 
1434: {
1434:   return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1434: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1434: 
1434: {
1434:   return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
1434:     __ap);
1434: }
1434: # 198 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1434: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
1434: 
1434eam" 1 3
1417: # 36 "/usr/include/c++/12/ostream" 3
1417:        
1417: # 37 "/usr/include/c++/12/ostream" 3
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 57 "/usr/include/c++/12/ostream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef typename _Traits::int_type int_type;
1417:       typedef typename _Traits::pos_type pos_type;
1417:       typedef typename _Traits::off_type off_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1417:       typedef basic_ios<_CharT, _Traits> __ios_type;
1417:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1417:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1417:              __num_put_type;
1417:       typedef ctype<_CharT> __ctype_type;
1417: # 83 "/usr/include/c++/12/ostream" 3
1417:       explicit
1417:       basic_ostream(__streambuf_type* __sb)
1417:       { this->init(__sb); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       virtual
1417:       ~basic_ostream() { }
1417: 
1417: 
1417:       class sentry;
1417:       friend class sentry;
1417: # 107 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       operator<<(__ostream_type& (*__pf)(__ostream_type&))
1417:       {
1417: 
1417: 
1417: 
1417:  return __pf(*this);
1417:       }
1417: 
1417:       __ostream_type&
1417:       operator<<(__ios_type& (*__pf)(__ios_type&))
1417:       {
1417: 
1417: 
1417: 
1417:  __pf(*this);
1417:  return *this;
1417:       }
1417: 
1417:       __ostream_type&
1417:       operator<<(ios_base& (*__pf) (ios_base&))
1417:       {
1417: 
1417: 
1417: 
1417:  __pf(*this);
1417:  return *this;
1417:       }
1417: # 165 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       operator<<(long __n)
1417:       { return _M_insert(__n); }
1417: 
1417:       __ostream_type&
1417:       operator<<(unsigned long __n)
1417:       { return _M_insert(__n); }
1417: 
1417:       __ostream_type&
1417:       operator<<(bool __n)
1417:       { return _M_insert(__n); }
1417: 
1417:       __ostream_type&
1417:       operator<<(short __n);
1417: 
1417:       __ostream_type&
1417:       operator<<(unsigned short __n)
1417:       {
1417: 
1417: 
1417:  return _M_insert(static_cast<unsigned long>(__n));
1417:       }
1417: 
1417:       __ostream_type&
1417:       operator<<(int __n);
1417: 
1417:       __ostream_type&
1417:       operator<<(unsigned int __n)
1417:       {
1417: 
1417: 
1417:  return _M_insert(static_cast<unsigned long>(__n));
1417:       }
1417: 
1417: 
1417:       __ostream_type&
1417:       operator<<(long long __n)
1417:       { return _M_insert(__n); }
1417: 
1417:       __ostream_type&
1417:       operator<<(unsigned long long __n)
1417:       { return _M_insert(__n); }
1417: # 219 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       operator<<(double __f)
1417:       { return _M_insert(__f); }
1417: 
1417:       __ostream_type&
1417:       operator<<(float __f)
1417:       {
1417: 
1417: 
1417:  return _M_insert(static_cast<double>(__f));
1417:       }
1417: 
1417:       __ostream_type&
1417:       operator<<(long double __f)
1417:       { return _M_insert(__f); }
1417: # 244 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       operator<<(const void* __p)
1417:       { return _M_insert(__p); }
1417: 
1417: 
1417:       __ostream_type&
1417:       operator<<(nullptr_t)
1417:       { return *this << "nullptr"; }
1417: # 282 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       operator<<(__streambuf_type* __sb);
1417: # 315 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       put(char_type __c);
1417: # 334 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       write(const char_type* __s, streamsize __n);
1417: # 347 "/usr/in: 
1434:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
1434: 
1434: 
1434:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
1434:                                  ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1434: fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1434: {
1434:   size_t sz = __builtin_object_size (__s, 2 > 1);
1434:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1434:     return __fgets_alias (__s, __n, __stream);
1434:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1434:     return __fgets_chk_warn (__s, sz, __n, __stream);
1434:   return __fgets_chk (__s, sz, __n, __stream);
1434: }
1434: 
1434: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
1434: 
1434: 
1434:             __attribute__ ((__warn_unused_result__));
1434: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
1434: 
1434: 
1434: 
1434: 
1434:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
1434:                                  ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1434: fread (void *__restrict __ptr, size_t __size, size_t __n,
1434:        FILE *__restrict __stream)
1434: {
1434:   size_t sz = __builtin_object_size (__ptr, 0);
1434:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1434:     return __fread_alias (__ptr, __size, __n, __stream);
1434:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1434:     return __fread_chk_warn (__ptr, sz, __size, __n, __stream);
1434:   return __fread_chk (__ptr, sz, __size, __n, __stream);
1434: }
1434: 
1434: 
1434: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
1434: 
1434: 
1434:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
1434: 
1434: 
1434:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
1434:                                  ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1434: fgets_unlocked (char *__restricis_type>::iterator splitter = intersectionList.begin(); splitter != intersectionList.end(); ++splitter)
1412:     {
1412:       typename std::vector<this_type> toAddList;
1412: 
1412:       for (typename std::vector<this_type>::iterator fragment = fragmentsList.begin(); fragment != fragmentsList.end(); ++fragment)
1412:       {
1412:         std::vector<this_type> newFragmentsList = fragment->SubtractRect(*splitter);
1412:         toAddList.insert(toAddList.end(), newFragmentsList.begin(), newFragmentsList.end());
1412:       }
1412: 
1412:       fragmentsList.clear();
1412:       fragmentsList.insert(fragmentsList.end(), toAddList.begin(), toAddList.end());
1412:     }
1412: 
1412:     return fragmentsList;
1412:   }
1412: 
1412:   void GetQuad(point_type (&points)[4])
1412:   {
1412:     points[0] = { x1, y1 };
1412:     points[1] = { x2, y1 };
1412:     points[2] = { x2, y2 };
1412:     points[3] = { x1, y2 };
1412:   }
1412: 
1412:   T x1{}, y1{}, x2{}, y2{};
1412: private:
1412:   static constexpr T clamp_range(T x, T l, T h) __attribute__((always_inline))
1412:   {
1412:     return (x > h) ? h : ((x < l) ? l : x);
1412:   }
1412: };
1412: 
1412: template<typename T>
1412: constexpr bool operator==(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1412: {
1412:   return (rect1.x1 == rect2.x1 && rect1.y1 == rect2.y1 && rect1.x2 == rect2.x2 && rect1.y2 == rect2.y2);
1412: }
1412: 
1412: template<typename T>
1412: constexpr bool operator!=(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1412: {
1412:   return !(rect1 == rect2);
1412: }
1412: 
1412: using CRect = CRectGen<float>;
1412: using CRectInt = CRectGen<int>;
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 2
1412: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1412: class CGUIImage;
1412: class CGUITextLayout;
1412: 
1412: class CRenderSystemBase
1412: {
1412: public:
1412:   CRenderSystemBase();
1412:   virtual ~CRenderSystemBase();
1412: 
1412:   virtual bool InitRenderSystem() = 0;
1412:   virtual bool DestroyRenderSystem() = 0;
1412:   virtual bool ResetRenderSystem(int width, int height) = 0;
1412: 
1412:   virtual bool BeginRender() = 0;
1412:   virtual bool EndRender() = 0;
1412:   virtual void PresentRender(bool rendered, bool videoLayer) = 0;
1412:   virtual bool ClearBuffers(UTILS::COLOR::Color color) = 0;
1412:   virtual bool IsExtSupported(const char* extension) const = 0;
1412: 
1412:   virtual void SetViewPort(const CRect& viewPort) = 0;
1412:   virtual void GetViewPort(CRect& viewPort) = 0;
1412:   virtual void RestoreViewPort() {}
1412: 
1412:   virtual bool ScissorsCanEffectClipping() { return false; }
1412:   virtual CRect ClipRectToScissorRect(const CRect &rect) { return CRect(); }
1412:   virtual void SetScissors(const CRect &rect) = 0;
1412:   virtual void ResetScissors() = 0;
1412: 
1412:   virtual void CaptureStateBlock() = 0;
1412:   virtual void ApplyStateBlock() = 0;
1412: 
1412:   virtual void SetCameraPosition(const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor = 0.f) = 0;
1412:   virtual void SetStereoMode(RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view)
1412:   {
1412:     m_stereoMode = mode;
1412:     m_stereoView = view;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412:   virtual void Project(float &x, float &y, float &z) { }
1412: 
1412:   virtual std::string GetShaderPath(const std::string &filename) { return ""; }
1412: 
1412:   void GetRenderVersion(unsigned int& major, unsigned int& minor) const;
1412:   const std::string& GetRenderVendor() const { return m_RenderVendor; }
1412:   const std::string& GetRenderRenderer() const { return m_RenderRenderer; }
1412:   const std::string& GetRenderVersionString() const { return m_RenderVersion; }
1412:   virtual bool SupportsNPOT(bool dxt) const;
1412:   virtual bool SupportsStereo(RENDER_STEREO_MODE mode) const;
1412:   unsigned int GetMaxTextureSize() const { return m_maxTextureSize; }
1412:   unsigned int GetMinDXTPitch() const { return m_minDXTPitch; }
1412: 
1412:   virtual void ShowSt __s, int __n, FILE *__restrict __stream)
1434: {
1434:   size_t sz = __builtin_object_size (__s, 2 > 1);
1434:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1434:     return __fgets_unlocked_alias (__s, __n, __stream);
1434:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1434:     return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);
1434:   return __fgets_unlocked_chk (__s, sz, __n, __stream);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
1434: 
1434: 
1434:                      __attribute__ ((__warn_unused_result__));
1434: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
1434: 
1434: 
1434: 
1434: 
1434:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
1434:                                         ;
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1434: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
1434:   FILE *__restrict __stream)
1434: {
1434:   size_t sz = __builtin_object_size (__ptr, 0);
1434:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1434:     {
1434: 
1434:       if (__builtin_constant_p (__size)
1434:    && __builtin_constant_p (__n)
1434:    && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
1434:    && __size * __n <= 8)
1434:  {
1434:    size_t __cnt = __size * __n;
1434:    char *__cptr = (char *) __ptr;
1434:    if (__cnt == 0)
1434:      return 0;
1434: 
1434:    for (; __cnt > 0; --__cnt)
1434:      {
1434:        int __c = getc_unlocked (__stream);
1434:        if (__c == (-1))
1434:   break;
1434:        *__cptr++ = __c;
1434:      }
1434:    return (__cptr - (char *) __ptr) / __size;
1434:  }
1434: 
1434:       return __fread_unlocked_alias (__ptr, __size, __n, __stream);
1434:     }
1434:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1434:     return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);
1434:   return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);
1434: 
1434: }
1434: # 907 "/usr/include/stdio.h" 2 3 4
1434: 
1434: 
1434: }
1434: # 43 "/usr/include/c++/12/cstdio" 2 3
1434: # 96 "/usr/include/c++/12/cstdio" 3
1434: namespace std
1434: {
1434:   using ::FILE;
1434:   using ::fpos_t;
1434: 
1434:   using ::clearerr;
1434:   using ::fclose;
1434:   using ::feof;
1434:   using ::ferror;
1434:   using ::fflush;
1434:   using ::fgetc;
1434:   using ::fgetpos;
1434:   using ::fgets;
1434:   using ::fopen;
1434:   using ::fprintf;
1434:   using ::fputc;
1434:   using ::fputs;
1434:   using ::fread;
1434:   using ::freopen;
1434:   using ::fscanf;
1434:   using ::fseek;
1434:   using ::fsetpos;
1434:   using ::ftell;
1434:   using ::fwrite;
1434:   using ::getc;
1434:   using ::getchar;
1434: 
1434: 
1434: 
1434: 
1434:   using ::perror;
1434:   using ::printf;
1434:   using ::putc;
1434:   using ::putchaclude/c++/12/ostream" 3
1417:       __ostream_type&
1417:       flush();
1417: # 357 "/usr/include/c++/12/ostream" 3
1417:       pos_type
1417:       tellp();
1417: # 368 "/usr/include/c++/12/ostream" 3
1417:       __ostream_type&
1417:       seekp(pos_type);
1417: # 380 "/usr/include/c++/12/ostream" 3
1417:        __ostream_type&
1417:       seekp(off_type, ios_base::seekdir);
1417: 
1417:     protected:
1417:       basic_ostream()
1417:       { this->init(0); }
1417: 
1417: 
1417: 
1417:       basic_ostream(basic_iostream<_CharT, _Traits>&) { }
1417: 
1417:       basic_ostream(const basic_ostream&) = delete;
1417: 
1417:       basic_ostream(basic_ostream&& __rhs)
1417:       : __ios_type()
1417:       { __ios_type::move(__rhs); }
1417: 
1417: 
1417: 
1417:       basic_ostream& operator=(const basic_ostream&) = delete;
1417: 
1417:       basic_ostream&
1417:       operator=(basic_ostream&& __rhs)
1417:       {
1417:  swap(__rhs);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(basic_ostream& __rhs)
1417:       { __ios_type::swap(__rhs); }
1417: 
1417: 
1417:       template<typename _ValueT>
1417:  __ostream_type&
1417:  _M_insert(_ValueT __v);
1417: 
1417:     private:
1417: 
1417:       void
1417:       _M_write(const char_type* __s, streamsize __n)
1417:       { std::__ostream_insert(*this, __s, __n); }
1417: 
1417:     };
1417: # 432 "/usr/include/c++/12/ostream" 3
1417:   template <typename _CharT, typename _Traits>
1417:     class basic_ostream<_CharT, _Traits>::sentry
1417:     {
1417: 
1417:       bool _M_ok;
1417:       basic_ostream<_CharT, _Traits>& _M_os;
1417: 
1417:     public:
1417: # 451 "/usr/include/c++/12/ostream" 3
1417:       explicit
1417:       sentry(basic_ostream<_CharT, _Traits>& __os);
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~sentry()
1417:       {
1417: 
1417:  if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception())
1417:    {
1417: 
1417:      if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
1417:        _M_os.setstate(ios_base::badbit);
1417:    }
1417:       }
1417: #pragma GCC diagnostic pop
1417: # 483 "/usr/include/c++/12/ostream" 3
1417:       explicit
1417: 
1417:       operator bool() const
1417:       { return _M_ok; }
1417:     };
1417: # 505 "/usr/include/c++/12/ostream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
1417:     {
1417:       if (__out.width() != 0)
1417:  return __ostream_insert(__out, &__c, 1);
1417:       __out.put(__c);
1417:       return __out;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
1417:     { return (__out << __out.widen(__c)); }
1417: 
1417: 
1417:   template<typename _Traits>
1417:     inline basic_ostream<char, _Traits>&
1417:     operator<<(basic_ostream<char, _Traits>& __out, char __c)
1417:     {
1417:       if (__out.width() != 0)
1417:  return __ostream_insert(__out, &__c, 1);
1417:       __out.put(__c);
1417:       return __out;
1417:     }
1417: 
1417: 
1417:   template<typename _Traits>
1417:     inline basic_ostream<char, _Traits>&
1417:     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
1417:     { return (__out << static_cast<char>(__c)); }
1417: 
1417:   template<typename _Traits>
1417:     inline basic_ostream<char, _Traits>&
1417:     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
1417:     { return (__out << static_cast<char>(__c)); }
1417: # 596 "/usr/include/c++/12/ostream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
1417:     {
1417:       if (!__s)
1417:  __out.setstate(ios_base::badbit);
1417:       else
1417:  __ostream_r;
1434:   using ::puts;
1434:   using ::remove;
1434:   using ::rename;
1434:   using ::rewind;
1434:   using ::scanf;
1434:   using ::setbuf;
1434:   using ::setvbuf;
1434:   using ::sprintf;
1434:   using ::sscanf;
1434:   using ::tmpfile;
1434: 
1434:   using ::tmpnam;
1434: 
1434:   using ::ungetc;
1434:   using ::vfprintf;
1434:   using ::vprintf;
1434:   using ::vsprintf;
1434: }
1434: # 157 "/usr/include/c++/12/cstdio" 3
1434: namespace __gnu_cxx
1434: {
1434: # 175 "/usr/include/c++/12/cstdio" 3
1434:   using ::snprintf;
1434:   using ::vfscanf;
1434:   using ::vscanf;
1434:   using ::vsnprintf;
1434:   using ::vsscanf;
1434: 
1434: }
1434: 
1434: namespace std
1434: {
1434:   using ::__gnu_cxx::snprintf;
1434:   using ::__gnu_cxx::vfscanf;
1434:   using ::__gnu_cxx::vscanf;
1434:   using ::__gnu_cxx::vsnprintf;
1434:   using ::__gnu_cxx::vsscanf;
1434: }
1434: # 44 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1434: # 1 "/usr/include/c++/12/cerrno" 1 3
1434: # 39 "/usr/include/c++/12/cerrno" 3
1434:        
1434: # 40 "/usr/include/c++/12/cerrno" 3
1434: 
1434: 
1434: # 1 "/usr/include/errno.h" 1 3 4
1434: # 28 "/usr/include/errno.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 1 3 4
1434: # 26 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4
1434: # 1 "/usr/include/linux/errno.h" 1 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 1 3 4
1434: # 1 "/usr/include/asm-generic/errno.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
1434: # 6 "/usr/include/asm-generic/errno.h" 2 3 4
1434: # 2 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 2 3 4
1434: # 2 "/usr/include/linux/errno.h" 2 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 2 3 4
1434: # 29 "/usr/include/errno.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C" {
1434: 
1434: 
1434: extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *program_invocation_name;
1434: extern char *program_invocation_short_name;
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 1 3 4
1434: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 3 4
1434: typedef int error_t;
1434: # 49 "/usr/include/errno.h" 2 3 4
1434: 
1434: 
1434: 
1434: }
1434: # 43 "/usr/include/c++/12/cerrno" 2 3
1434: # 45 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1434: 
1434: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _TRet, typename _Ret = _TRet, typename _CharT,
1434:     typename... _Base>
1434:     _Ret
1434:     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
1434:     const char* __name, const _CharT* __str, std::size_t* __idx,
1434:     _Base... __base)
1434:     {
1434:       _Ret __ret;
1434: 
1434:       _CharT* __endptr;
1434: 
1434:       struct _Save_errno {
1434:  _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
1434:  ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
1434:  int _M_errno;
1434:       } const __save_errno;
1434: 
1434:       struct _Range_chk {
1434:    static bool
1434:    _S_chk(_TRet, std::false_type) { return false; }
1434: 
1434:    static bool
1434:    _S_chk(_TRet __val, std::true_type)
1434:    {
1434:      return __val < _TRet(__numeric_traits<int>::__min)
1434:        || __val > _TRet(__numeric_traits<int>::__max);
1434:    }
1434:       };
1434: 
1434:       const _TRet __tmp = __convf(__str, &__endptr, __base...);
1434: 
1434:       if (__endptr == __str)
1434:  std::__throw_invalid_argument(__name);
1434:       else if ((*__errno_location ()) == 34
1434:    || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
1434:  std::__throw_out_of_range(__name);
1434:       else
1434:  __ret = __tmp;
1434: 
1434:       if (__idx)
1434:  *__idx = __endptr - __str;
1434: 
1434:       return __ret;
1434:     }
1434: 
1434: 
1434:   template<typename _String, typename _CharT = typename _String::value_type>
1434:     _String
1434:     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
1434:      __builtin_va_list), std::size_t __n,
1434:    const _CharT* __fmt, ...)
1434:     {
1434: 
1434: 
1434:       _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:          * __n));
1434: 
1434:       __builtin_va_list __args;
1434:       __builtin_va_start(__args, __fmt);
1434: 
1434:       const int __len = __convf(__s, __n, __fmt, __args);
1434: 
1434:       __builtin_va_end(__args);
1434: 
1434:       return _String(__s, __s + __len);
1434:     }
1434: 
1434: 
1434: }
1434: # 3961 "/usr/include/c++/12/bits/basic_string.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/charconv.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/charconv.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/charconv.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: namespace __detail
1434: {
1434: 
1434:   template<typename _Tp>
1434:     constexpr unsigned
1434:     __to_chars_len(_Tp __value, int __base = 10) noexcept
1434:     {
1434:       static_assert(is_integral<_Tp>::value, "implementation bug");
1434:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1434: 
1434:       unsigned __n = 1;
1434:       const unsigned __b2 = __base * __base;
1434:       const unsigned __b3 = __b2 * __base;
1434:       const unsigned long __b4 = __b3 * __base;
1434:       for (;;)
1434:  {
1434:    if (__value < (unsigned)__base) return __n;
1434:    if (__value < __b2) return __n + 1;
1434:    if (__value < __b3) return __n + 2;
1434:    if (__value < __b4) return __n + 3;
1434:    __value /= __b4;
1434:    __n += 4;
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     void
1434:     __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
1434:     {
1434:       static_assert(is_integral<_Tp>::value, "implementation bug");
1434:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1434: 
1434:       static constexpr char __digits[201] =
1434:  "0001020304050607080910111213141516171819"
1434:  "2021222324252627282930313233343536373839"
1434:  "4041424344454647484950515253545556575859"
1434:  "6061626364656667686970717273747576777879"
1434:  "8081828384858687888990919293949596979899";
1434:       unsigned __pos = __len - 1;
1434:       while (__val >= 100)
1434:  {
1434:    auto const __num = (__val % 100) * 2;
1434:    __val /= 100;
1434:    __first[__pos] = __digits[__num + 1];
1434:    __first[__pos - 1] = __digits[__num];
1434:    __pos -= 2;
1434:  }
1434:       if (__val >= 10)
1434:  {
1434:    auto const __num = __val * 2;
1434:    __first[1] = __digits[__num + 1];
1434:    __first[0] = __digits[__num];
1434:  }
1434:       else
1434:  __first[0] = '0' + __val;
1434:     }
1434: 
1434: }
1434: 
1434: }
1434: # 3962 "/usr/include/c++/12/bits/basic_string.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: namespace __cxx11 {
1434: 
1434: 
1434: 
1434:   inline int
1434:   stoi(const string& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
1434:      __idx, __base); }
1434: 
1434:   inline long
1434:   stol(const string& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434:   inline unsigned long
1434:   stoul(const string& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434:   inline long long
1434:   stoll(const string& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434:   inline unsigned long long
1434:   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa(&std::strtplash(const std::string& message);
1412: 
1412: protected:
1412:   bool m_bRenderCreated;
1412:   bool m_bVSync;
1412:   unsigned int m_maxTextureSize;
1412:   unsigned int m_minDXTPitch;
1412: 
1412:   std::string m_RenderRenderer;
1412:   std::string m_RenderVendor;
1412:   std::string m_RenderVersion;
1412:   int m_RenderVersionMinor;
1412:   int m_RenderVersionMajor;
1412:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1412:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1412:   bool m_limitedColorRange = false;
1412: 
1412:   std::unique_ptr<CGUIImage> m_splashImage;
1412:   std::unique_ptr<CGUITextLayout> m_splashMessageLayout;
1412: };
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1412: 
1412: 
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/math.h" 1 3
1412: # 36 "/usr/include/c++/12/math.h" 3
1412: # 1 "/usr/include/c++/12/cmath" 1 3
1412: # 39 "/usr/include/c++/12/cmath" 3
1412:        
1412: # 40 "/usr/include/c++/12/cmath" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/math.h" 1 3 4
1412: # 27 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1412: # 28 "/usr/include/math.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 34 "/usr/include/math.h" 3 4
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 1 3 4
1412: # 27 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/libm-simd-decl-stubs.h" 1 3 4
1412: # 28 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 2 3 4
1412: # 41 "/usr/include/math.h" 2 3 4
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1412: # 44 "/usr/include/math.h" 2 3 4
1412: # 152 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/flt-eval-method.h" 1 3 4
1412: # 153 "/usr/include/math.h" 2 3 4
1412: # 163 "/usr/include/math.h" 3 4
1412: typedef float float_t;
1412: typedef double double_t;
1412: # 204 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-logb.h" 1 3 4
1412: # 205 "/usr/include/math.h" 2 3 4
1412: # 247 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-fast.h" 1 3 4
1412: # 248 "/usr/include/math.h" 2 3 4
1412: 
1412: 
1412: 
1412: enum
1412:   {
1412:     FP_INT_UPWARD =
1412: 
1412:       0,
1412:     FP_INT_DOWNWARD =
1412: 
1412:       1,
1412:     FP_INT_TOWARDZERO =
1412: 
1412:       2,
1412:     FP_INT_TONEARESTFROMZERO =
1412: 
1412:       3,
1412:     FP_INT_TONEAREST =
1412: 
1412:       4,
1412:   };
1412: # 312 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1412: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1412: extern int __fpclassify (double __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __signbit (double __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern int __isinf (double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __finite (double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __isnan (double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __iseqsig (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: extern int __issignaling (double __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: # 313 "/usr/include/math.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1412: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412:  extern double acos (double __x) noexcept (true); extern double __acos (double __x) noexcept (truoull, "stoull", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434: 
1434:   inline float
1434:   stof(const string& __str, size_t* __idx = 0)
1434:   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
1434: 
1434:   inline double
1434:   stod(const string& __str, size_t* __idx = 0)
1434:   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
1434: 
1434:   inline long double
1434:   stold(const string& __str, size_t* __idx = 0)
1434:   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
1434: 
1434: 
1434: 
1434: 
1434:   inline string
1434:   to_string(int __val)
1434: 
1434:   noexcept
1434: 
1434:   {
1434:     const bool __neg = __val < 0;
1434:     const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
1434:     const auto __len = __detail::__to_chars_len(__uval);
1434:     string __str(__neg + __len, '-');
1434:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1434:     return __str;
1434:   }
1434: 
1434:   inline string
1434:   to_string(unsigned __val)
1434: 
1434:   noexcept
1434: 
1434:   {
1434:     string __str(__detail::__to_chars_len(__val), '\0');
1434:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1434:     return __str;
1434:   }
1434: 
1434:   inline string
1434:   to_string(long __val)
1434: 
1434:   noexcept
1434: 
1434:   {
1434:     const bool __neg = __val < 0;
1434:     const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
1434:     const auto __len = __detail::__to_chars_len(__uval);
1434:     string __str(__neg + __len, '-');
1434:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1434:     return __str;
1434:   }
1434: 
1434:   inline string
1434:   to_string(unsigned long __val)
1434: 
1434:   noexcept
1434: 
1434:   {
1434:     string __str(__detail::__to_chars_len(__val), '\0');
1434:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1434:     return __str;
1434:   }
1434: 
1434:   inline string
1434:   to_string(long long __val)
1434:   {
1434:     const bool __neg = __val < 0;
1434:     const unsigned long long __uval
1434:       = __neg ? (unsigned long long)~__val + 1ull : __val;
1434:     const auto __len = __detail::__to_chars_len(__uval);
1434:     string __str(__neg + __len, '-');
1434:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1434:     return __str;
1434:   }
1434: 
1434:   inline string
1434:   to_string(unsigned long long __val)
1434:   {
1434:     string __str(__detail::__to_chars_len(__val), '\0');
1434:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1434:     return __str;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   inline string
1434:   to_string(float __val)
1434:   {
1434:     const int __n =
1434:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1434:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1434:         "%f", __val);
1434:   }
1434: 
1434:   inline string
1434:   to_string(double __val)
1434:   {
1434:     const int __n =
1434:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1434:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1434:         "%f", __val);
1434:   }
1434: 
1434:   inline string
1434:   to_string(long double __val)
1434:   {
1434:     const int __n =
1434:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1434:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1434:         "%Lf", __val);
1434:   }
1434: 
1434: 
1434: 
1434:   inline int
1434:   stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
1434:      __idx, __base); }
1434: 
1434:   inline long
1434:   stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434:   inline unsigned long
1434:   stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
1434:   { returninsert(__out, __s,
1417:     static_cast<streamsize>(_Traits::length(__s)));
1417:       return __out;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits> &
1417:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
1417: 
1417: 
1417:   template<typename _Traits>
1417:     inline basic_ostream<char, _Traits>&
1417:     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
1417:     {
1417:       if (!__s)
1417:  __out.setstate(ios_base::badbit);
1417:       else
1417:  __ostream_insert(__out, __s,
1417:     static_cast<streamsize>(_Traits::length(__s)));
1417:       return __out;
1417:     }
1417: 
1417: 
1417:   template<typename _Traits>
1417:     inline basic_ostream<char, _Traits>&
1417:     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
1417:     { return (__out << reinterpret_cast<const char*>(__s)); }
1417: 
1417:   template<typename _Traits>
1417:     inline basic_ostream<char, _Traits> &
1417:     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
1417:     { return (__out << reinterpret_cast<const char*>(__s)); }
1417: # 686 "/usr/include/c++/12/ostream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     endl(basic_ostream<_CharT, _Traits>& __os)
1417:     { return flush(__os.put(__os.widen('\n'))); }
1417: # 698 "/usr/include/c++/12/ostream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     ends(basic_ostream<_CharT, _Traits>& __os)
1417:     { return __os.put(_CharT()); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     flush(basic_ostream<_CharT, _Traits>& __os)
1417:     { return __os.flush(); }
1417: # 730 "/usr/include/c++/12/ostream" 3
1417:   template<typename _Tp>
1417:     using _Require_derived_from_ios_base
1417:       = _Require<is_class<_Tp>, __not_<is_same<_Tp, ios_base>>,
1417:    is_convertible<typename add_pointer<_Tp>::type, ios_base*>>;
1417: 
1417:   template<typename _Os, typename _Tp,
1417:     typename = _Require_derived_from_ios_base<_Os>,
1417:     typename
1417:       = decltype(std::declval<_Os&>() << std::declval<const _Tp&>())>
1417:     using __rvalue_stream_insertion_t = _Os&&;
1417: # 752 "/usr/include/c++/12/ostream" 3
1417:   template<typename _Ostream, typename _Tp>
1417:     inline __rvalue_stream_insertion_t<_Ostream, _Tp>
1417:     operator<<(_Ostream&& __os, const _Tp& __x)
1417:     {
1417:       __os << __x;
1417:       return std::move(__os);
1417:     }
1417: # 830 "/usr/include/c++/12/ostream" 3
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/ostream.tcc" 1 3
1417: # 37 "/usr/include/c++/12/bits/ostream.tcc" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/ostream.tcc" 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>::sentry::
1417:     sentry(basic_ostream<_CharT, _Traits>& __os)
1417:     : _M_ok(false), _M_os(__os)
1417:     {
1417: 
1417:       if (__os.tie() && __os.good())
1417:  __os.tie()->flush();
1417: 
1417:       if (__os.good())
1417:  _M_ok = true;
1417:       else if (__os.bad())
1417:  __os.setstate(ios_base::failbit);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     template<typename _ValueT>
1417:       basic_ostream<_CharT, _Traits>&
1417:       basic_ostream<_CharT, _Traits>::
1417:       _M_insert(_ValueT __v)
1417:       {
1417:  sentry __cerb(*this);
1417:  if (__cerb)
1417:    {
1417:      ios_base::iostate __err = ios_base::goodbit;
1417:      try
1417:        {
1417:   const __num_put_type& __np = __check_facet(this->_M_num_put);
1417:   if (__np.put(*this, *this, this->fill(), __v).failed())
1417:     __err |= ios_base::badbit;
1417:        }
1417:      catch(__cxxabiv1::__forced_unwe);
1412: 
1412:  extern double asin (double __x) noexcept (true); extern double __asin (double __x) noexcept (true);
1412: 
1412:  extern double atan (double __x) noexcept (true); extern double __atan (double __x) noexcept (true);
1412: 
1412:  extern double atan2 (double __y, double __x) noexcept (true); extern double __atan2 (double __y, double __x) noexcept (true);
1412: 
1412: 
1412:  extern double cos (double __x) noexcept (true); extern double __cos (double __x) noexcept (true);
1412: 
1412:  extern double sin (double __x) noexcept (true); extern double __sin (double __x) noexcept (true);
1412: 
1412:  extern double tan (double __x) noexcept (true); extern double __tan (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern double cosh (double __x) noexcept (true); extern double __cosh (double __x) noexcept (true);
1412: 
1412:  extern double sinh (double __x) noexcept (true); extern double __sinh (double __x) noexcept (true);
1412: 
1412:  extern double tanh (double __x) noexcept (true); extern double __tanh (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern void sincos (double __x, double *__sinx, double *__cosx) noexcept (true); extern void __sincos (double __x, double *__sinx, double *__cosx) noexcept (true)
1412:                                                         ;
1412: 
1412: 
1412: 
1412: 
1412:  extern double acosh (double __x) noexcept (true); extern double __acosh (double __x) noexcept (true);
1412: 
1412:  extern double asinh (double __x) noexcept (true); extern double __asinh (double __x) noexcept (true);
1412: 
1412:  extern double atanh (double __x) noexcept (true); extern double __atanh (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern double exp (double __x) noexcept (true); extern double __exp (double __x) noexcept (true);
1412: 
1412: 
1412: extern double frexp (double __x, int *__exponent) noexcept (true); extern double __frexp (double __x, int *__exponent) noexcept (true);
1412: 
1412: 
1412: extern double ldexp (double __x, int __exponent) noexcept (true); extern double __ldexp (double __x, int __exponent) noexcept (true);
1412: 
1412: 
1412:  extern double log (double __x) noexcept (true); extern double __log (double __x) noexcept (true);
1412: 
1412: 
1412:  extern double log10 (double __x) noexcept (true); extern double __log10 (double __x) noexcept (true);
1412: 
1412: 
1412: extern double modf (double __x, double *__iptr) noexcept (true); extern double __modf (double __x, double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412:  extern double exp10 (double __x) noexcept (true); extern double __exp10 (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern double expm1 (double __x) noexcept (true); extern double __expm1 (double __x) noexcept (true);
1412: 
1412: 
1412:  extern double log1p (double __x) noexcept (true); extern double __log1p (double __x) noexcept (true);
1412: 
1412: 
1412: extern double logb (double __x) noexcept (true); extern double __logb (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern double exp2 (double __x) noexcept (true); extern double __exp2 (double __x) noexcept (true);
1412: 
1412: 
1412:  extern double log2 (double __x) noexcept (true); extern double __log2 (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern double pow (double __x, double __y) noexcept (true); extern double __pow (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: extern double sqrt (double __x) noexcept (true); extern double __sqrt (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern double hypot (double __x, double __y) noexcept (true); extern double __hypot (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern double cbrt (double __x) noexcept (true); extern double __cbrt (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double ceil (double __x) noexcept (true) __attribute__ ((__const__)); extern double __ceil (double __x) noexcept (t __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434:   inline long long
1434:   stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434:   inline unsigned long long
1434:   stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
1434:   { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
1434:         __idx, __base); }
1434: 
1434: 
1434:   inline float
1434:   stof(const wstring& __str, size_t* __idx = 0)
1434:   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
1434: 
1434:   inline double
1434:   stod(const wstring& __str, size_t* __idx = 0)
1434:   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
1434: 
1434:   inline long double
1434:   stold(const wstring& __str, size_t* __idx = 0)
1434:   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
1434: 
1434: 
1434: 
1434:   inline wstring
1434:   to_wstring(int __val)
1434:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int),
1434:          L"%d", __val); }
1434: 
1434:   inline wstring
1434:   to_wstring(unsigned __val)
1434:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1434:          4 * sizeof(unsigned),
1434:          L"%u", __val); }
1434: 
1434:   inline wstring
1434:   to_wstring(long __val)
1434:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long),
1434:          L"%ld", __val); }
1434: 
1434:   inline wstring
1434:   to_wstring(unsigned long __val)
1434:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1434:          4 * sizeof(unsigned long),
1434:          L"%lu", __val); }
1434: 
1434:   inline wstring
1434:   to_wstring(long long __val)
1434:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1434:          4 * sizeof(long long),
1434:          L"%lld", __val); }
1434: 
1434:   inline wstring
1434:   to_wstring(unsigned long long __val)
1434:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1434:          4 * sizeof(unsigned long long),
1434:          L"%llu", __val); }
1434: 
1434:   inline wstring
1434:   to_wstring(float __val)
1434:   {
1434:     const int __n =
1434:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1434:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1434:          L"%f", __val);
1434:   }
1434: 
1434:   inline wstring
1434:   to_wstring(double __val)
1434:   {
1434:     const int __n =
1434:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1434:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1434:          L"%f", __val);
1434:   }
1434: 
1434:   inline wstring
1434:   to_wstring(long double __val)
1434:   {
1434:     const int __n =
1434:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1434:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1434:          L"%Lf", __val);
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct hash<string>
1434:     : public __hash_base<size_t, string>
1434:     {
1434:       size_t
1434:       operator()(const string& __s) const noexcept
1434:       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<string>> : std::false_type
1434:     { };
1434: 
1434: 
1434:   template<>
1434:     struct hash<wstring>
1434:     : public __hash_base<size_t, wstring>
1434:     {
1434:       size_t
1434:       operator()(const wstring& __s) const noexcept
1434:       { return std::_Hash_impl::hash(__s.data(),
1434:                                      __s.length() * sizeof(wchar_t)); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<wstring>> : std::false_type
1434:     { };
1434: # 4281 "/usr/include/c++/12/bits/basic_string.h" 3
1434:   template<>
1434:     struct hash<u16string>
1434:     : public __hash_base<size_t, u16string>
1434:     {
1434:       size_t
1434:       operator()(const u16string& __s) const noexcept
1434:       { return std::_Hash_impl::hash(__s.data(),
1434:                                      __s.length() * sizeof(char16_t)); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<u16string>> : std::false_type
1434:     { };
1434: 
1434: 
1434:   template<>
1434:     struct hash<u32string>
1434:     : public __hash_base<size_t, u32string>
1434:     {
1434:       size_t
1434:       operator()(const u32string& __s) const noexcept
1434:       { return std::_Hash_impl::hash(__s.data(),
1434:                                      __s.length() * sizeof(char32_t)); }
1434:     };
1434: 
1434:   template<>
1434:     struct __is_fast_hash<hash<u32string>> : std::false_type
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline namespace literals
1434:   {
1434:   inline namespace string_literals
1434:   {
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     inline basic_string<char>
1434:     operator""s(const char* __str, size_t __len)
1434:     { return basic_string<char>{__str, __len}; }
1434: 
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     inline basic_string<wchar_t>
1434:     operator""s(const wchar_t* __str, size_t __len)
1434:     { return basic_string<wchar_t>{__str, __len}; }
1434: # 4344 "/usr/include/c++/12/bits/basic_string.h" 3
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     inline basic_string<char16_t>
1434:     operator""s(const char16_t* __str, size_t __len)
1434:     { return basic_string<char16_t>{__str, __len}; }
1434: 
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     inline basic_string<char32_t>
1434:     operator""s(const char32_t* __str, size_t __len)
1434:     { return basic_string<char32_t>{__str, __len}; }
1434: 
1434: 
1434: #pragma GCC diagnostic pop
1434:   }
1434:   }
1434: 
1434: 
1434:   namespace __detail::__variant
1434:   {
1434:     template<typename> struct _Never_valueless_alt;
1434: 
1434: 
1434: 
1434:     template<typename _Tp, typename _Traits, typename _Alloc>
1434:       struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
1434:       : __and_<
1434:  is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
1434:  is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
1434:  >::type
1434:       { };
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 54 "/usr/include/c++/12/string" 2 3
1434: # 1 "/usr/include/c++/12/bits/basic_string.tcc" 1 3
1434: # 42 "/usr/include/c++/12/bits/basic_string.tcc" 3
1434:        
1434: # 43 "/usr/include/c++/12/bits/basic_string.tcc" 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::npos;
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     swap(basic_string& __s) noexcept
1434:     {
1434:       if (this == std::__addressof(__s))
1434:  return;
1434: 
1434:       _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
1434: 
1434:       if (_M_is_local())
1434:  if (__s._M_is_local())
1434:    {
1434:      if (length() && __s.length())
1434:        {
1434:   _CharT __tmp_data[_S_local_capacity + 1];
1434:   traits_type::copy(__tmp_data, __s._M_local_buf,
1434:       __s.length() + 1);
1434:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1434:       length() + 1);
1434:   traits_type::copy(_M_local_buf, __tmp_data,
1434:       __ind&)
1417:        {
1417:   this->_M_setstate(ios_base::badbit);
1417:   throw;
1417:        }
1417:      catch(...)
1417:        { this->_M_setstate(ios_base::badbit); }
1417:      if (__err)
1417:        this->setstate(__err);
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     operator<<(short __n)
1417:     {
1417: 
1417: 
1417:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1417:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1417:  return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
1417:       else
1417:  return _M_insert(static_cast<long>(__n));
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     operator<<(int __n)
1417:     {
1417: 
1417: 
1417:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1417:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1417:  return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
1417:       else
1417:  return _M_insert(static_cast<long>(__n));
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     operator<<(__streambuf_type* __sbin)
1417:     {
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       sentry __cerb(*this);
1417:       if (__cerb && __sbin)
1417:  {
1417:    try
1417:      {
1417:        if (!__copy_streambufs(__sbin, this->rdbuf()))
1417:   __err |= ios_base::failbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::failbit); }
1417:  }
1417:       else if (!__sbin)
1417:  __err |= ios_base::badbit;
1417:       if (__err)
1417:  this->setstate(__err);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     put(char_type __c)
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       sentry __cerb(*this);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        const int_type __put = this->rdbuf()->sputc(__c);
1417:        if (traits_type::eq_int_type(__put, traits_type::eof()))
1417:   __err |= ios_base::badbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     write(const _CharT* __s, streamsize __n)
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       sentry __cerb(*this);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        if (this->rdbuf()->sputn(__s, __n) != __n)
1417:   __err = ios_base::badbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(ios_base::badbit);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     flush()
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       if (__streambuf_type* __buf = this->rdbufrue) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fabs (double __x) noexcept (true) __attribute__ ((__const__)); extern double __fabs (double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double floor (double __x) noexcept (true) __attribute__ ((__const__)); extern double __floor (double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fmod (double __x, double __y) noexcept (true); extern double __fmod (double __x, double __y) noexcept (true);
1412: # 183 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern int finite (double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern double drem (double __x, double __y) noexcept (true); extern double __drem (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern double significand (double __x) noexcept (true); extern double __significand (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern double nan (const char *__tagb) noexcept (true); extern double __nan (const char *__tagb) noexcept (true);
1412: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern double j0 (double) noexcept (true); extern double __j0 (double) noexcept (true);
1412: extern double j1 (double) noexcept (true); extern double __j1 (double) noexcept (true);
1412: extern double jn (int, double) noexcept (true); extern double __jn (int, double) noexcept (true);
1412: extern double y0 (double) noexcept (true); extern double __y0 (double) noexcept (true);
1412: extern double y1 (double) noexcept (true); extern double __y1 (double) noexcept (true);
1412: extern double yn (int, double) noexcept (true); extern double __yn (int, double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern double erf (double) noexcept (true); extern double __erf (double) noexcept (true);
1412:  extern double erfc (double) noexcept (true); extern double __erfc (double) noexcept (true);
1412: extern double lgamma (double) noexcept (true); extern double __lgamma (double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern double tgamma (double) noexcept (true); extern double __tgamma (double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double gamma (double) noexcept (true); extern double __gamma (double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double lgamma_r (double, int *__signgamp) noexcept (true); extern double __lgamma_r (double, int *__signgamp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double rint (double __x) noexcept (true); extern double __rint (double __x) noexcept (true);
1412: 
1412: 
1412: extern double nextafter (double __x, double __y) noexcept (true); extern double __nextafter (double __x, double __y) noexcept (true);
1412: 
1412: extern double nexttoward (double __x, long double __y) noexcept (true); extern double __nexttoward (double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern double nextdown (double __x) noexcept (true); extern double __nextdown (double __x) noexcept (true);
1412: 
1412: extern double nextup (double __x) noexcept (true); extern double __nextup (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern double remainder (double __x, double __y) noexcept (true); extern double __remainder (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern double scalbn (double __x, int __n) noexcept (true); extern double __scalbn (double __x, int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int ilogb (double __x) noexcept (true); extern int __ilogb (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long int llogb (double __x) noexcept (true); extern long int __llogb (double __x) noexcept (true);
1s.length() + 1);
1434:        }
1434:      else if (__s.length())
1434:        {
1434:   traits_type::copy(_M_local_buf, __s._M_local_buf,
1434:       __s.length() + 1);
1434:   _M_length(__s.length());
1434:   __s._M_set_length(0);
1434:   return;
1434:        }
1434:      else if (length())
1434:        {
1434:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1434:       length() + 1);
1434:   __s._M_length(length());
1434:   _M_set_length(0);
1434:   return;
1434:        }
1434:    }
1434:  else
1434:    {
1434:      const size_type __tmp_capacity = __s._M_allocated_capacity;
1434:      traits_type::copy(__s._M_local_buf, _M_local_buf,
1434:          length() + 1);
1434:      _M_data(__s._M_data());
1434:      __s._M_data(__s._M_local_buf);
1434:      _M_capacity(__tmp_capacity);
1434:    }
1434:       else
1434:  {
1434:    const size_type __tmp_capacity = _M_allocated_capacity;
1434:    if (__s._M_is_local())
1434:      {
1434:        traits_type::copy(_M_local_buf, __s._M_local_buf,
1434:     __s.length() + 1);
1434:        __s._M_data(_M_data());
1434:        _M_data(_M_local_buf);
1434:      }
1434:    else
1434:      {
1434:        pointer __tmp_ptr = _M_data();
1434:        _M_data(__s._M_data());
1434:        __s._M_data(__tmp_ptr);
1434:        _M_capacity(__s._M_allocated_capacity);
1434:      }
1434:    __s._M_capacity(__tmp_capacity);
1434:  }
1434: 
1434:       const size_type __tmp_length = length();
1434:       _M_length(__s.length());
1434:       __s._M_length(__tmp_length);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::pointer
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_create(size_type& __capacity, size_type __old_capacity)
1434:     {
1434: 
1434: 
1434:       if (__capacity > max_size())
1434:  std::__throw_length_error(("basic_string::_M_create"));
1434: 
1434: 
1434: 
1434: 
1434:       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
1434:  {
1434:    __capacity = 2 * __old_capacity;
1434: 
1434:    if (__capacity > max_size())
1434:      __capacity = max_size();
1434:  }
1434: 
1434: 
1434: 
1434:       return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     template<typename _InIterator>
1434:      
1434:       void
1434:       basic_string<_CharT, _Traits, _Alloc>::
1434:       _M_construct(_InIterator __beg, _InIterator __end,
1434:      std::input_iterator_tag)
1434:       {
1434:  size_type __len = 0;
1434:  size_type __capacity = size_type(_S_local_capacity);
1434: 
1434:  pointer __p = _M_use_local_data();
1434: 
1434:  while (__beg != __end && __len < __capacity)
1434:    {
1434:      __p[__len++] = *__beg;
1434:      ++__beg;
1434:    }
1434: 
1434:  struct _Guard
1434:  {
1434:   
1434:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1434: 
1434:   
1434:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1434: 
1434:    basic_string* _M_guarded;
1434:  } __guard(this);
1434: 
1434:  while (__beg != __end)
1434:    {
1434:      if (__len == __capacity)
1434:        {
1434: 
1434:   __capacity = __len + 1;
1434:   pointer __another = _M_create(__capacity, __len);
1434:   this->_S_copy(__another, _M_data(), __len);
1434:   _M_dispose();
1434:   _M_data(__another);
1434:   _M_capacity(__capacity);
1434:        }
1434:      traits_type::assign(_M_data()[__len++], *__beg);
1434:      ++__beg;
1434:    }
1434: 
1434:  __guard._M_guarded = 0;
1434: 
1434:  _M_set_length(__len);
1434:       }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     template<typename _InIterator>
1434:      
1434:       void
1434:       basic_string<_CharT, _Traits, _Alloc>::
1434:       _M_construct(_InIterator __beg, _InIterator __end,
1434:      std::forward_iterator_tag)
1434:       {
1434:  size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
1434: 
1434:  if (__dnew > size_type(_S_local_capacity))
1434:    {
1434:      _M_data(_M_create(__dnew, size_type(0)));
1434:      _M_capacity(__dnew);
1434:    }
1434:  else
1434:    _M_use_local_data();
1434: 
1434: 
1434:  struct _Guard
1434:  {
1434:   
1434:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1434: 
1434:   
1434:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1434: 
1434:    basic_string* _M_guarded;
1434:  } __guard(this);
1434: 
1434:  this->_S_copy_chars(_M_data(), __beg, __end);
1434: 
1434:  __guard._M_guarded = 0;
1434: 
1434:  _M_set_length(__dnew);
1434:       }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_construct(size_type __n, _CharT __c)
1434:     {
1434:       if (__n > size_type(_S_local_capacity))
1434:  {
1434:    _M_data(_M_create(__n, size_type(0)));
1434:    _M_capacity(__n);
1434:  }
1434:       else
1434:  _M_use_local_data();
1434: 
1434:       if (__n)
1434:  this->_S_assign(_M_data(), __n, __c);
1434: 
1434:       _M_set_length(__n);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_assign(const basic_string& __str)
1434:     {
1434:       if (this != std::__addressof(__str))
1434:  {
1434:    const size_type __rsize = __str.length();
1434:    const size_type __capacity = capacity();
1434: 
1434:    if (__rsize > __capacity)
1434:      {
1434:        size_type __new_capacity = __rsize;
1434:        pointer __tmp = _M_create(__new_capacity, __capacity);
1434:        _M_dispose();
1434:        _M_data(__tmp);
1434:        _M_capacity(__new_capacity);
1434:      }
1434: 
1434:    if (__rsize)
1434:      this->_S_copy(_M_data(), __str._M_data(), __rsize);
1434: 
1434:    _M_set_length(__rsize);
1434:  }
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     reserve(size_type __res)
1434:     {
1434:       const size_type __capacity = capacity();
1434: 
1434: 
1434: 
1434: 
1434:       if (__res <= __capacity)
1434:  return;
1434: 
1434:       pointer __tmp = _M_create(__res, __capacity);
1434:       this->_S_copy(__tmp, _M_data(), length() + 1);
1434:       _M_dispose();
1434:       _M_data(__tmp);
1434:       _M_capacity(__res);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1434:        size_type __len2)
1434:     {
1434:       const size_type __how_much = length() - __pos - __len1;
1434: 
1434:       size_type __new_capacity = length() + __len2 - __len1;
1434:       pointer __r = _M_create(__new_capacity, capacity());
1434: 
1434:       if (__pos)
1434:  this->_S_copy(__r, _M_data(), __pos);
1434:       if (__s && __len2)
1434:  this->_S_copy(__r + __pos, __s, __len2);
1434:       if (__how_much)
1434:  this->_S_copy(__r + __pos + __len2,
1434:         _M_data() + __pos + __len1, __how_much);
1434: 
1434:       _M_dispose();
1434:       _M_data(__r);
1434:       _M_capacity(__new_capacity);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_erase(size_type __pos, size_type __n)
1434:     {
1434:       const size_type __how_much = length() - __pos - __n;
1434: 
1434:       if (__how_much && __n)
1434:  this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
1434: 
1434:       _M_set_length(length() - __n);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     reserve()
1434:     {
1434:       if (_M_is_local())
1434:  return;
1434: 
1434:       const size_type __length =())
1417:  {
1417:    sentry __cerb(*this);
1417:    if (__cerb)
1417:      {
1417:        ios_base::iostate __err = ios_base::goodbit;
1417:        try
1417:   {
1417:     if (this->rdbuf()->pubsync() == -1)
1417:       __err |= ios_base::badbit;
1417:   }
1417:        catch(__cxxabiv1::__forced_unwind&)
1417:   {
1417:     this->_M_setstate(ios_base::badbit);
1417:     throw;
1417:   }
1417:        catch(...)
1417:   { this->_M_setstate(ios_base::badbit); }
1417:        if (__err)
1417:   this->setstate(__err);
1417:      }
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     typename basic_ostream<_CharT, _Traits>::pos_type
1417:     basic_ostream<_CharT, _Traits>::
1417:     tellp()
1417:     {
1417:       sentry __cerb(*this);
1417:       pos_type __ret = pos_type(-1);
1417:       if (!this->fail())
1417:  __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     seekp(pos_type __pos)
1417:     {
1417:       sentry __cerb(*this);
1417:       if (!this->fail())
1417:  {
1417: 
1417: 
1417:    const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out);
1417: 
1417: 
1417:    if (__p == pos_type(off_type(-1)))
1417:      this->setstate(ios_base::failbit);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     basic_ostream<_CharT, _Traits>::
1417:     seekp(off_type __off, ios_base::seekdir __dir)
1417:     {
1417:       sentry __cerb(*this);
1417:       if (!this->fail())
1417:  {
1417: 
1417: 
1417:    const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1417:         ios_base::out);
1417: 
1417: 
1417:    if (__p == pos_type(off_type(-1)))
1417:      this->setstate(ios_base::failbit);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
1417:     {
1417:       if (!__s)
1417:  __out.setstate(ios_base::badbit);
1417:       else
1417:  {
1417: 
1417: 
1417:    const size_t __clen = char_traits<char>::length(__s);
1417:    try
1417:      {
1417:        struct __ptr_guard
1417:        {
1417:   _CharT *__p;
1417:   __ptr_guard (_CharT *__ip): __p(__ip) { }
1417:   ~__ptr_guard() { delete[] __p; }
1417:   _CharT* __get() { return __p; }
1417:        } __pg (new _CharT[__clen]);
1417: 
1417:        _CharT *__ws = __pg.__get();
1417:        for (size_t __i = 0; __i < __clen; ++__i)
1417:   __ws[__i] = __out.widen(__s[__i]);
1417:        __ostream_insert(__out, __ws, __clen);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __out._M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __out._M_setstate(ios_base::badbit); }
1417:  }
1417:       return __out;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   extern template class basic_ostream<char>;
1417:   extern template ostream& endl(ostream&);
1417:   extern template ostream& ends(ostream&);
1417:   extern template ostream& flush(ostream&);
1417:   extern template ostream& operator<<(ostream&, char);
1417:   extern template ostream& operator<<(ostream&, unsigned char);
1417:   extern template ostream& operator<<(ostream&, signed char);
1417:   extern template ostream& operator<<(ostream&, const char*);
1417:   extern template ostream& operator<<(ostream&, const unsigned char*);
1417:   extern template ostream& operator<<(ostream&, const signed char*);
1417: 
1417:   extern template ostream& ostream::_M_insert(long);
1417:   extern template ostream& ostream::_M_insert(unsigned long);
1417:   extern template ostream& ostream::_M_insert(bool);
1417: 
1417:   extern template ostream& ostream::_M_insert(long long);
1417:   extern template ostream& ostream:412: 
1412: 
1412: 
1412: 
1412: extern double scalbln (double __x, long int __n) noexcept (true); extern double __scalbln (double __x, long int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern double nearbyint (double __x) noexcept (true); extern double __nearbyint (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern double round (double __x) noexcept (true) __attribute__ ((__const__)); extern double __round (double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern double trunc (double __x) noexcept (true) __attribute__ ((__const__)); extern double __trunc (double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern double remquo (double __x, double __y, int *__quo) noexcept (true); extern double __remquo (double __x, double __y, int *__quo) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int lrint (double __x) noexcept (true); extern long int __lrint (double __x) noexcept (true);
1412: __extension__
1412: extern long long int llrint (double __x) noexcept (true); extern long long int __llrint (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long int lround (double __x) noexcept (true); extern long int __lround (double __x) noexcept (true);
1412: __extension__
1412: extern long long int llround (double __x) noexcept (true); extern long long int __llround (double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern double fdim (double __x, double __y) noexcept (true); extern double __fdim (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern double fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern double fma (double __x, double __y, double __z) noexcept (true); extern double __fma (double __x, double __y, double __z) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern double roundeven (double __x) noexcept (true) __attribute__ ((__const__)); extern double __roundeven (double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) noexcept (true)
1412:                             ;
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) noexcept (true)
1412:                               ;
1412: 
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1412:                              ;
1412: 
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1412:                                ;
1412: 
1412: 
1412: extern int canonicalize (double *__cx, const double *__x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern double fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) noexce length();
1434:       const size_type __capacity = _M_allocated_capacity;
1434: 
1434:       if (__length <= size_type(_S_local_capacity))
1434:  {
1434:    this->_S_copy(_M_use_local_data(), _M_data(), __length + 1);
1434:    _M_destroy(__capacity);
1434:    _M_data(_M_local_data());
1434:  }
1434: 
1434:       else if (__length < __capacity)
1434:  try
1434:    {
1434:      pointer __tmp
1434:        = _Alloc_traits::allocate(_M_get_allocator(), __length + 1);
1434:      this->_S_copy(__tmp, _M_data(), __length + 1);
1434:      _M_dispose();
1434:      _M_data(__tmp);
1434:      _M_capacity(__length);
1434:    }
1434:  catch (const __cxxabiv1::__forced_unwind&)
1434:    { throw; }
1434:  catch (...)
1434:    { }
1434: 
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     void
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     resize(size_type __n, _CharT __c)
1434:     {
1434:       const size_type __size = this->size();
1434:       if (__size < __n)
1434:  this->append(__n - __size, __c);
1434:       else if (__n < __size)
1434:  this->_M_set_length(__n);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT, _Traits, _Alloc>&
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_append(const _CharT* __s, size_type __n)
1434:     {
1434:       const size_type __len = __n + this->size();
1434: 
1434:       if (__len <= this->capacity())
1434:  {
1434:    if (__n)
1434:      this->_S_copy(this->_M_data() + this->size(), __s, __n);
1434:  }
1434:       else
1434:  this->_M_mutate(this->size(), size_type(0), __s, __n);
1434: 
1434:       this->_M_set_length(__len);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     template<typename _InputIterator>
1434:      
1434:       basic_string<_CharT, _Traits, _Alloc>&
1434:       basic_string<_CharT, _Traits, _Alloc>::
1434:       _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1434:      _InputIterator __k1, _InputIterator __k2,
1434:      std::__false_type)
1434:       {
1434: 
1434: 
1434:  const basic_string __s(__k1, __k2, this->get_allocator());
1434:  const size_type __n1 = __i2 - __i1;
1434:  return _M_replace(__i1 - begin(), __n1, __s._M_data(),
1434:      __s.size());
1434:       }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT, _Traits, _Alloc>&
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1434:      _CharT __c)
1434:     {
1434:       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
1434: 
1434:       const size_type __old_size = this->size();
1434:       const size_type __new_size = __old_size + __n2 - __n1;
1434: 
1434:       if (__new_size <= this->capacity())
1434:  {
1434:    pointer __p = this->_M_data() + __pos1;
1434: 
1434:    const size_type __how_much = __old_size - __pos1 - __n1;
1434:    if (__how_much && __n1 != __n2)
1434:      this->_S_move(__p + __n2, __p + __n1, __how_much);
1434:  }
1434:       else
1434:  this->_M_mutate(__pos1, __n1, 0, __n2);
1434: 
1434:       if (__n2)
1434:  this->_S_assign(this->_M_data() + __pos1, __n2, __c);
1434: 
1434:       this->_M_set_length(__new_size);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT, _Traits, _Alloc>&
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1434:         const size_type __len2)
1434:     {
1434:       _M_check_length(__len1, __len2, "basic_string::_M_replace");
1434: 
1434:       const size_type __old_size = this->size();
1434:       const size_type __new_size = __old_size + __len2 - __len1;
1434: 
1434:       if (__new_size <= this->capacity())
1434:  {
1434:    pointer __p = this->_M_data() + __pos;
1434: 
1434:    const size_type __how_much = __old_size - __pos - __len1;
1434: # 503 "/usr/include/c++/12/bits/basic_string.tcc" 3
1434:    if (_M_disjunct(__s))
1434:      {
1434:        if (__how_much && __len1 != __len2)
1434:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1434:        if (__len2)
1434:   this->_S_copy(__p, __s, __len2);
1434:      }
1434:    else
1434:      {
1434: 
1434:        if (__len2 && __len2 <= __len1)
1434:   this->_S_move(__p, __s, __len2);
1434:        if (__how_much && __len1 != __len2)
1434:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1434:        if (__len2 > __len1)
1434:   {
1434:     if (__s + __len2 <= __p + __len1)
1434:       this->_S_move(__p, __s, __len2);
1434:     else if (__s >= __p + __len1)
1434:       {
1434: 
1434: 
1434:         const size_type __poff = (__s - __p) + (__len2 - __len1);
1434:         this->_S_copy(__p, __p + __poff, __len2);
1434:       }
1434:     else
1434:       {
1434:         const size_type __nleft = (__p + __len1) - __s;
1434:         this->_S_move(__p, __s, __nleft);
1434:         this->_S_copy(__p + __nleft, __p + __len2,
1434:         __len2 - __nleft);
1434:       }
1434:   }
1434:      }
1434:  }
1434:       else
1434:  this->_M_mutate(__pos, __len1, __s, __len2);
1434: 
1434:       this->_M_set_length(__new_size);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     copy(_CharT* __s, size_type __n, size_type __pos) const
1434:     {
1434:       _M_check(__pos, "basic_string::copy");
1434:       __n = _M_limit(__pos, __n);
1434:       ;
1434:       if (__n)
1434:  _S_copy(__s, _M_data() + __pos, __n);
1434: 
1434:       return __n;
1434:     }
1434: # 603 "/usr/include/c++/12/bits/basic_string.tcc" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(const _CharT* __lhs,
1434:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     {
1434:       ;
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef typename __string_type::size_type __size_type;
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_CharT>::other _Char_alloc_type;
1434:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1434:       const __size_type __len = _Traits::length(__lhs);
1434:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1434:           __rhs.get_allocator()));
1434:       __str.reserve(__len + __rhs.size());
1434:       __str.append(__lhs, __len);
1434:       __str.append(__rhs);
1434:       return __str;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     basic_string<_CharT, _Traits, _Alloc>
1434:     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1434:     {
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef typename __string_type::size_type __size_type;
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_CharT>::other _Char_alloc_type;
1434:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1434:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1434:           __rhs.get_allocator()));
1434:       const __size_type __len = __rhs.size();
1434:       __str.reserve(__len + 1);
1434:       __str.append(__size_type(1), __lhs);
1434:       __str.append(__rhs);
1434:       return __str;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find(const _CharT* __s, size_type __pos, size_type __n) const
1434:     noexcept
1434:     {
1434:       ;
1434:       const size_type __size = this->size();
14:_M_insert(unsigned long long);
1417: 
1417:   extern template ostream& ostream::_M_insert(double);
1417:   extern template ostream& ostream::_M_insert(long double);
1417:   extern template ostream& ostream::_M_insert(const void*);
1417: 
1417: 
1417:   extern template class basic_ostream<wchar_t>;
1417:   extern template wostream& endl(wostream&);
1417:   extern template wostream& ends(wostream&);
1417:   extern template wostream& flush(wostream&);
1417:   extern template wostream& operator<<(wostream&, wchar_t);
1417:   extern template wostream& operator<<(wostream&, char);
1417:   extern template wostream& operator<<(wostream&, const wchar_t*);
1417:   extern template wostream& operator<<(wostream&, const char*);
1417: 
1417:   extern template wostream& wostream::_M_insert(long);
1417:   extern template wostream& wostream::_M_insert(unsigned long);
1417:   extern template wostream& wostream::_M_insert(bool);
1417: 
1417:   extern template wostream& wostream::_M_insert(long long);
1417:   extern template wostream& wostream::_M_insert(unsigned long long);
1417: 
1417:   extern template wostream& wostream::_M_insert(double);
1417:   extern template wostream& wostream::_M_insert(long double);
1417:   extern template wostream& wostream::_M_insert(const void*);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 834 "/usr/include/c++/12/ostream" 2 3
1417: # 40 "/usr/include/c++/12/istream" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 57 "/usr/include/c++/12/istream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     class basic_istream : virtual public basic_ios<_CharT, _Traits>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef typename _Traits::int_type int_type;
1417:       typedef typename _Traits::pos_type pos_type;
1417:       typedef typename _Traits::off_type off_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1417:       typedef basic_ios<_CharT, _Traits> __ios_type;
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1417:         __num_get_type;
1417:       typedef ctype<_CharT> __ctype_type;
1417: 
1417:     protected:
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       streamsize _M_gcount;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       basic_istream(__streambuf_type* __sb)
1417:       : _M_gcount(streamsize(0))
1417:       { this->init(__sb); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       virtual
1417:       ~basic_istream()
1417:       { _M_gcount = streamsize(0); }
1417: 
1417: 
1417:       class sentry;
1417:       friend class sentry;
1417: # 119 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       operator>>(__istream_type& (*__pf)(__istream_type&))
1417:       { return __pf(*this); }
1417: 
1417:       __istream_type&
1417:       operator>>(__ios_type& (*__pf)(__ios_type&))
1417:       {
1417:  __pf(*this);
1417:  return *this;
1417:       }
1417: 
1417:       __istream_type&
1417:       operator>>(ios_base& (*__pf)(ios_base&))
1417:       {
1417:  __pf(*this);
1417:  return *this;
1417:       }
1417: # 167 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       operator>>(bool& __n)
1417:       { return _M_extract(__n); }
1417: 
1417:       __istream_type&
1417:       operator>>(short& __n);
1417: 
1417:       __istream_type&
1417:       operator>>(unsigned short& __n)
1417:       { return _M_extract(__n); }
1417: 
1417:       __istream_type&
1417:       operator>>(int& __n);
1417: 
1417:       __istream_type&
1417:       operator>>(unsigned int& __n)
1417:       { return _M_extract(__n); }
1417: 
1417:       __istream_type&
1417:       operator>>(long& __n)
1417:       { return _M_extract(__n); }
1417: 
1417:       __istream_type&
1417:       operator>>(unsigned long& __n)
1417:       { return _M_extract(__n); }
1417: 
1417: 
1417:  pt (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern double fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int totalorder (const double *__x, const double *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern int totalordermag (const double *__x, const double *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern double getpayload (const double *__x) noexcept (true); extern double __getpayload (const double *__x) noexcept (true);
1412: 
1412: 
1412: extern int setpayload (double *__x, double __payload) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadsig (double *__x, double __payload) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern double scalb (double __x, double __n) noexcept (true); extern double __scalb (double __x, double __n) noexcept (true);
1412: # 314 "/usr/include/math.h" 2 3 4
1412: # 329 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1412: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1412: extern int __fpclassifyf (float __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __signbitf (float __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern int __isinff (float __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __finitef (float __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __isnanf (float __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __iseqsigf (float __x, float __y) noexcept (true);
1412: 
1412: 
1412: extern int __issignalingf (float __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: # 330 "/usr/include/math.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1412: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412:  extern float acosf (float __x) noexcept (true); extern float __acosf (float __x) noexcept (true);
1412: 
1412:  extern float asinf (float __x) noexcept (true); extern float __asinf (float __x) noexcept (true);
1412: 
1412:  extern float atanf (float __x) noexcept (true); extern float __atanf (float __x) noexcept (true);
1412: 
1412:  extern float atan2f (float __y, float __x) noexcept (true); extern float __atan2f (float __y, float __x) noexcept (true);
1412: 
1412: 
1412:  extern float cosf (float __x) noexcept (true); extern float __34: 
1434:       if (__n == 0)
1434:  return __pos <= __size ? __pos : npos;
1434:       if (__pos >= __size)
1434:  return npos;
1434: 
1434:       const _CharT __elem0 = __s[0];
1434:       const _CharT* const __data = data();
1434:       const _CharT* __first = __data + __pos;
1434:       const _CharT* const __last = __data + __size;
1434:       size_type __len = __size - __pos;
1434: 
1434:       while (__len >= __n)
1434:  {
1434: 
1434:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1434:    if (!__first)
1434:      return npos;
1434: 
1434: 
1434: 
1434:    if (traits_type::compare(__first, __s, __n) == 0)
1434:      return __first - __data;
1434:    __len = __last - ++__first;
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       size_type __ret = npos;
1434:       const size_type __size = this->size();
1434:       if (__pos < __size)
1434:  {
1434:    const _CharT* __data = _M_data();
1434:    const size_type __n = __size - __pos;
1434:    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
1434:    if (__p)
1434:      __ret = __p - __data;
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     rfind(const _CharT* __s, size_type __pos, size_type __n) const
1434:     noexcept
1434:     {
1434:       ;
1434:       const size_type __size = this->size();
1434:       if (__n <= __size)
1434:  {
1434:    __pos = std::min(size_type(__size - __n), __pos);
1434:    const _CharT* __data = _M_data();
1434:    do
1434:      {
1434:        if (traits_type::compare(__data + __pos, __s, __n) == 0)
1434:   return __pos;
1434:      }
1434:    while (__pos-- > 0);
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     rfind(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       size_type __size = this->size();
1434:       if (__size)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    for (++__size; __size-- > 0; )
1434:      if (traits_type::eq(_M_data()[__size], __c))
1434:        return __size;
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1434:     noexcept
1434:     {
1434:       ;
1434:       for (; __n && __pos < this->size(); ++__pos)
1434:  {
1434:    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
1434:    if (__p)
1434:      return __pos;
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1434:     noexcept
1434:     {
1434:       ;
1434:       size_type __size = this->size();
1434:       if (__size && __n)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    do
1434:      {
1434:        if (traits_type::find(__s, __n, _M_data()[__size]))
1434:   return __size;
1434:      }
1434:    while (__size-- != 0);
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1434:     noexcept
1434:     {
1434:       ;
1434:       for (; __pos < this->size(); ++__pos)
1434:  if (!traits_type::find(__s, __n, _M_data()[__pos]))
1434:    return __pos;
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       for (; __pos < this->size(); ++__pos)
1434:  if (!traits_type::eq(_M_data()[__pos], __c))
1434:    return __pos;
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1434:     noexcept
1434:     {
1434:       ;
1434:       size_type __size = this->size();
1434:       if (__size)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    do
1434:      {
1434:        if (!traits_type::find(__s, __n, _M_data()[__size]))
1434:   return __size;
1434:      }
1434:    while (__size--);
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1434:     {
1434:       size_type __size = this->size();
1434:       if (__size)
1434:  {
1434:    if (--__size > __pos)
1434:      __size = __pos;
1434:    do
1434:      {
1434:        if (!traits_type::eq(_M_data()[__size], __c))
1434:   return __size;
1434:      }
1434:    while (__size--);
1434:  }
1434:       return npos;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     int
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     compare(size_type __pos, size_type __n, const basic_string& __str) const
1434:     {
1434:       _M_check(__pos, "basic_string::compare");
1434:       __n = _M_limit(__pos, __n);
1434:       const size_type __osize = __str.size();
1434:       const size_type __len = std::min(__n, __osize);
1434:       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
1434:       if (!__r)
1434:  __r = _S_compare(__n, __osize);
1434:       return __r;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     int
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     compare(size_type __pos1, size_type __n1, const basic_string& __str,
1434:      size_type __pos2, size_type __n2) const
1434:     {
1434:       _M_check(__pos1, "basic_string::compare");
1434:       __str._M_check(__pos2, "basic_string::compare");
1434:       __n1 = _M_limit(__pos1, __n1);
1434:       __n2 = __str._M_limit(__pos2, __n2);
1434:       const size_type __len = std::min(__n1, __n2);
1434:       int __r = traits_type::compare(_M_data() + __pos1,
1434:          __str.data() + __pos2, __len);
1434:       if (!__r)
1434:  __r = _S_compare(__n1, __n2);
1434:       return __r;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     int
1434:     basic_string<_CharT, _Traits, _Alloc>::
1434:     compare(const _CharT* __s) const noexcept
1434:     {
1434:       ;
1434:       const size_type __size = this->size();
1434:       const size_type __osize = traits_type::length(__s);
1434:       const size_type __len = std::min(__size, __osize);
1434:       int __r = traits_type::compare(_M_data(), __s, __len);
1434:       if (!__r)
1434:  __r = _S_compare(__size, __osize);
1434:       return __r;
1434:     }
1434: 
1434:   templat     __istream_type&
1417:       operator>>(long long& __n)
1417:       { return _M_extract(__n); }
1417: 
1417:       __istream_type&
1417:       operator>>(unsigned long long& __n)
1417:       { return _M_extract(__n); }
1417: # 213 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       operator>>(float& __f)
1417:       { return _M_extract(__f); }
1417: 
1417:       __istream_type&
1417:       operator>>(double& __f)
1417:       { return _M_extract(__f); }
1417: 
1417:       __istream_type&
1417:       operator>>(long double& __f)
1417:       { return _M_extract(__f); }
1417: # 234 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       operator>>(void*& __p)
1417:       { return _M_extract(__p); }
1417: # 258 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       operator>>(__streambuf_type* __sb);
1417: # 268 "/usr/include/c++/12/istream" 3
1417:       streamsize
1417:       gcount() const
1417:       { return _M_gcount; }
1417: # 301 "/usr/include/c++/12/istream" 3
1417:       int_type
1417:       get();
1417: # 315 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       get(char_type& __c);
1417: # 342 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       get(char_type* __s, streamsize __n, char_type __delim);
1417: # 353 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       get(char_type* __s, streamsize __n)
1417:       { return this->get(__s, __n, this->widen('\n')); }
1417: # 376 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       get(__streambuf_type& __sb, char_type __delim);
1417: # 386 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       get(__streambuf_type& __sb)
1417:       { return this->get(__sb, this->widen('\n')); }
1417: # 415 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       getline(char_type* __s, streamsize __n, char_type __delim);
1417: # 426 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       getline(char_type* __s, streamsize __n)
1417:       { return this->getline(__s, __n, this->widen('\n')); }
1417: # 450 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       ignore(streamsize __n, int_type __delim);
1417: 
1417:       __istream_type&
1417:       ignore(streamsize __n);
1417: 
1417:       __istream_type&
1417:       ignore();
1417: # 467 "/usr/include/c++/12/istream" 3
1417:       int_type
1417:       peek();
1417: # 485 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       read(char_type* __s, streamsize __n);
1417: # 504 "/usr/include/c++/12/istream" 3
1417:       streamsize
1417:       readsome(char_type* __s, streamsize __n);
1417: # 521 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       putback(char_type __c);
1417: # 537 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       unget();
1417: # 555 "/usr/include/c++/12/istream" 3
1417:       int
1417:       sync();
1417: # 570 "/usr/include/c++/12/istream" 3
1417:       pos_type
1417:       tellg();
1417: # 585 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       seekg(pos_type);
1417: # 601 "/usr/include/c++/12/istream" 3
1417:       __istream_type&
1417:       seekg(off_type, ios_base::seekdir);
1417: 
1417: 
1417:     protected:
1417:       basic_istream()
1417:       : _M_gcount(streamsize(0))
1417:       { this->init(0); }
1417: 
1417: 
1417:       basic_istream(const basic_istream&) = delete;
1417: 
1417:       basic_istream(basic_istream&& __rhs)
1417:       : __ios_type(), _M_gcount(__rhs._M_gcount)
1417:       {
1417:  __ios_type::move(__rhs);
1417:  __rhs._M_gcount = 0;
1417:       }
1417: 
1417: 
1417: 
1417:       basic_istream& operator=(const basic_istream&) = delete;
1417: 
1417:       basic_istream&
1417:       operator=(basic_istream&& __rhs)
1417:       {
1417:  swap(__rhs);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(basic_istream& __rhs)
1417:       {
1417:  __ios_type::swap(__rhs);
1417:  std::swap(_M_gcount, __rhscosf (float __x) noexcept (true);
1412: 
1412:  extern float sinf (float __x) noexcept (true); extern float __sinf (float __x) noexcept (true);
1412: 
1412:  extern float tanf (float __x) noexcept (true); extern float __tanf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern float coshf (float __x) noexcept (true); extern float __coshf (float __x) noexcept (true);
1412: 
1412:  extern float sinhf (float __x) noexcept (true); extern float __sinhf (float __x) noexcept (true);
1412: 
1412:  extern float tanhf (float __x) noexcept (true); extern float __tanhf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern void sincosf (float __x, float *__sinx, float *__cosx) noexcept (true); extern void __sincosf (float __x, float *__sinx, float *__cosx) noexcept (true)
1412:                                                         ;
1412: 
1412: 
1412: 
1412: 
1412:  extern float acoshf (float __x) noexcept (true); extern float __acoshf (float __x) noexcept (true);
1412: 
1412:  extern float asinhf (float __x) noexcept (true); extern float __asinhf (float __x) noexcept (true);
1412: 
1412:  extern float atanhf (float __x) noexcept (true); extern float __atanhf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern float expf (float __x) noexcept (true); extern float __expf (float __x) noexcept (true);
1412: 
1412: 
1412: extern float frexpf (float __x, int *__exponent) noexcept (true); extern float __frexpf (float __x, int *__exponent) noexcept (true);
1412: 
1412: 
1412: extern float ldexpf (float __x, int __exponent) noexcept (true); extern float __ldexpf (float __x, int __exponent) noexcept (true);
1412: 
1412: 
1412:  extern float logf (float __x) noexcept (true); extern float __logf (float __x) noexcept (true);
1412: 
1412: 
1412:  extern float log10f (float __x) noexcept (true); extern float __log10f (float __x) noexcept (true);
1412: 
1412: 
1412: extern float modff (float __x, float *__iptr) noexcept (true); extern float __modff (float __x, float *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412:  extern float exp10f (float __x) noexcept (true); extern float __exp10f (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern float expm1f (float __x) noexcept (true); extern float __expm1f (float __x) noexcept (true);
1412: 
1412: 
1412:  extern float log1pf (float __x) noexcept (true); extern float __log1pf (float __x) noexcept (true);
1412: 
1412: 
1412: extern float logbf (float __x) noexcept (true); extern float __logbf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern float exp2f (float __x) noexcept (true); extern float __exp2f (float __x) noexcept (true);
1412: 
1412: 
1412:  extern float log2f (float __x) noexcept (true); extern float __log2f (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern float powf (float __x, float __y) noexcept (true); extern float __powf (float __x, float __y) noexcept (true);
1412: 
1412: 
1412: extern float sqrtf (float __x) noexcept (true); extern float __sqrtf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern float hypotf (float __x, float __y) noexcept (true); extern float __hypotf (float __x, float __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern float cbrtf (float __x) noexcept (true); extern float __cbrtf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float ceilf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __ceilf (float __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fabsf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __fabsf (float __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float floorf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __floorf (float __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fmodf (float __x, float __y) noexcept (true); extern float __fmodf (float __x, float __y) noexcept (e<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     int
1434:     basic_string <_CharT, _Traits, _Alloc>::
1434:     compare(size_type __pos, size_type __n1, const _CharT* __s) const
1434:     {
1434:       ;
1434:       _M_check(__pos, "basic_string::compare");
1434:       __n1 = _M_limit(__pos, __n1);
1434:       const size_type __osize = traits_type::length(__s);
1434:       const size_type __len = std::min(__n1, __osize);
1434:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1434:       if (!__r)
1434:  __r = _S_compare(__n1, __osize);
1434:       return __r;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:    
1434:     int
1434:     basic_string <_CharT, _Traits, _Alloc>::
1434:     compare(size_type __pos, size_type __n1, const _CharT* __s,
1434:      size_type __n2) const
1434:     {
1434:       ;
1434:       _M_check(__pos, "basic_string::compare");
1434:       __n1 = _M_limit(__pos, __n1);
1434:       const size_type __len = std::min(__n1, __n2);
1434:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1434:       if (!__r)
1434:  __r = _S_compare(__n1, __n2);
1434:       return __r;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     basic_istream<_CharT, _Traits>&
1434:     operator>>(basic_istream<_CharT, _Traits>& __in,
1434:         basic_string<_CharT, _Traits, _Alloc>& __str)
1434:     {
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef typename __istream_type::ios_base __ios_base;
1434:       typedef typename __istream_type::int_type __int_type;
1434:       typedef typename __string_type::size_type __size_type;
1434:       typedef ctype<_CharT> __ctype_type;
1434:       typedef typename __ctype_type::ctype_base __ctype_base;
1434: 
1434:       __size_type __extracted = 0;
1434:       typename __ios_base::iostate __err = __ios_base::goodbit;
1434:       typename __istream_type::sentry __cerb(__in, false);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434: 
1434:        __str.erase();
1434:        _CharT __buf[128];
1434:        __size_type __len = 0;
1434:        const streamsize __w = __in.width();
1434:        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
1434:                                 : __str.max_size();
1434:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1434:        const __int_type __eof = _Traits::eof();
1434:        __int_type __c = __in.rdbuf()->sgetc();
1434: 
1434:        while (__extracted < __n
1434:        && !_Traits::eq_int_type(__c, __eof)
1434:        && !__ct.is(__ctype_base::space,
1434:      _Traits::to_char_type(__c)))
1434:   {
1434:     if (__len == sizeof(__buf) / sizeof(_CharT))
1434:       {
1434:         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
1434:         __len = 0;
1434:       }
1434:     __buf[__len++] = _Traits::to_char_type(__c);
1434:     ++__extracted;
1434:     __c = __in.rdbuf()->snextc();
1434:   }
1434:        __str.append(__buf, __len);
1434: 
1434:        if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
1434:   __err |= __ios_base::eofbit;
1434:        __in.width(0);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        __in._M_setstate(__ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      {
1434: 
1434: 
1434: 
1434:        __in._M_setstate(__ios_base::badbit);
1434:      }
1434:  }
1434: 
1434:       if (!__extracted)
1434:  __err |= __ios_base::failbit;
1434:       if (__err)
1434:  __in.setstate(__err);
1434:       return __in;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     basic_istream<_CharT, _Traits>&
1434:     getline(basic_istream<_CharT, _Traits>& __in,
1434:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1434:     {
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef typename __istream_type::ios_base __ios_base;
1434:       typedef typename __istream_type::int_type __int_type;
1434:       typedef typename __string_type::size_type __size_type;
1434: 
1434:       __size_type __extracted = 0;
1434:       const __size_type __n = __str.max_size();
1434:       typename __ios_base::iostate __err = __ios_base::goodbit;
1434:       typename __istream_type::sentry __cerb(__in, true);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434:        __str.erase();
1434:        const __int_type __idelim = _Traits::to_int_type(__delim);
1434:        const __int_type __eof = _Traits::eof();
1434:        __int_type __c = __in.rdbuf()->sgetc();
1434: 
1434:        while (__extracted < __n
1434:        && !_Traits::eq_int_type(__c, __eof)
1434:        && !_Traits::eq_int_type(__c, __idelim))
1434:   {
1434:     __str += _Traits::to_char_type(__c);
1434:     ++__extracted;
1434:     __c = __in.rdbuf()->snextc();
1434:   }
1434: 
1434:        if (_Traits::eq_int_type(__c, __eof))
1434:   __err |= __ios_base::eofbit;
1434:        else if (_Traits::eq_int_type(__c, __idelim))
1434:   {
1434:     ++__extracted;
1434:     __in.rdbuf()->sbumpc();
1434:   }
1434:        else
1434:   __err |= __ios_base::failbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        __in._M_setstate(__ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      {
1434: 
1434: 
1434: 
1434:        __in._M_setstate(__ios_base::badbit);
1434:      }
1434:  }
1434:       if (!__extracted)
1434:  __err |= __ios_base::failbit;
1434:       if (__err)
1434:  __in.setstate(__err);
1434:       return __in;
1434:     }
1434: # 1082 "/usr/include/c++/12/bits/basic_string.tcc" 3
1434:   extern template class basic_string<char>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   extern template
1434:     basic_istream<char>&
1434:     operator>>(basic_istream<char>&, string&);
1434:   extern template
1434:     basic_ostream<char>&
1434:     operator<<(basic_ostream<char>&, const string&);
1434:   extern template
1434:     basic_istream<char>&
1434:     getline(basic_istream<char>&, string&, char);
1434:   extern template
1434:     basic_istream<char>&
1434:     getline(basic_istream<char>&, string&);
1434: 
1434: 
1434: 
1434:   extern template class basic_string<wchar_t>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   extern template
1434:     basic_istream<wchar_t>&
1434:     operator>>(basic_istream<wchar_t>&, wstring&);
1434:   extern template
1434:     basic_ostream<wchar_t>&
1434:     operator<<(basic_ostream<wchar_t>&, const wstring&);
1434:   extern template
1434:     basic_istream<wchar_t>&
1434:     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
1434:   extern template
1434:     basic_istream<wchar_t>&
1434:     getline(basic_istream<wchar_t>&, wstring&);
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 55 "/usr/include/c++/12/string" 2 3
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:     template<typename _CharT, typename _Traits = char_traits<_CharT>>
1434:       using basic_string = std::basic_string<_CharT, _Traits,
1434:           polymorphic_allocator<_CharT>>;
1434:     using string = basic_string<char>;
1434: 
1434: 
1434: 
1434:     using u16string = basic_string<char16_t>;
1434:     using u32string = basic_string<char32_t>;
1434:     using wstring = basic_string<wchar_t>;
1434:   }
1434: 
1434:   template<typename _Str>
1434:     struct __hash_string_base
1434:     : public __hash_base<size_t, _Str>
1434:     {
1434:       size_t
1434:       operator()(const _Str& __s) const noexcept
1434:       { return hash<basic_string_view<typename _Str::value_type>>{}(__s); }
1434:     };
1434: 
1434:   template<>
1434:     struct hash<pmr::string>
1434:     : public __hash_string_base<pmr::string>
1434:     { };
1434._M_gcount);
1417:       }
1417: 
1417: 
1417:       template<typename _ValueT>
1417:  __istream_type&
1417:  _M_extract(_ValueT& __v);
1417:     };
1417: 
1417: 
1417:   template<>
1417:     basic_istream<char>&
1417:     basic_istream<char>::
1417:     getline(char_type* __s, streamsize __n, char_type __delim);
1417: 
1417:   template<>
1417:     basic_istream<char>&
1417:     basic_istream<char>::
1417:     ignore(streamsize __n);
1417: 
1417:   template<>
1417:     basic_istream<char>&
1417:     basic_istream<char>::
1417:     ignore(streamsize __n, int_type __delim);
1417: 
1417: 
1417:   template<>
1417:     basic_istream<wchar_t>&
1417:     basic_istream<wchar_t>::
1417:     getline(char_type* __s, streamsize __n, char_type __delim);
1417: 
1417:   template<>
1417:     basic_istream<wchar_t>&
1417:     basic_istream<wchar_t>::
1417:     ignore(streamsize __n);
1417: 
1417:   template<>
1417:     basic_istream<wchar_t>&
1417:     basic_istream<wchar_t>::
1417:     ignore(streamsize __n, int_type __delim);
1417: # 685 "/usr/include/c++/12/istream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     class basic_istream<_CharT, _Traits>::sentry
1417:     {
1417: 
1417:       bool _M_ok;
1417: 
1417:     public:
1417: 
1417:       typedef _Traits traits_type;
1417:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef typename __istream_type::__ctype_type __ctype_type;
1417:       typedef typename _Traits::int_type __int_type;
1417: # 721 "/usr/include/c++/12/istream" 3
1417:       explicit
1417:       sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
1417: # 732 "/usr/include/c++/12/istream" 3
1417:       explicit
1417: 
1417:       operator bool() const
1417:       { return _M_ok; }
1417:     };
1417: # 750 "/usr/include/c++/12/istream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
1417: 
1417:   template<class _Traits>
1417:     inline basic_istream<char, _Traits>&
1417:     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
1417:     { return (__in >> reinterpret_cast<char&>(__c)); }
1417: 
1417:   template<class _Traits>
1417:     inline basic_istream<char, _Traits>&
1417:     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
1417:     { return (__in >> reinterpret_cast<char&>(__c)); }
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     void
1417:     __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize);
1417: 
1417:   void __istream_extract(istream&, char*, streamsize);
1417: # 800 "/usr/include/c++/12/istream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1417:     inline basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
1417:     {
1417: 
1417: 
1417: 
1417:       size_t __n = __builtin_object_size(__s, 0);
1417:       if (__n < sizeof(_CharT))
1417:  {
1417: 
1417:    do { if (std::__is_constant_evaluated() && !bool(__n >= sizeof(_CharT))) __builtin_unreachable(); } while (false);
1417: 
1417:    __in.width(0);
1417:    __in.setstate(ios_base::failbit);
1417:  }
1417:       else if (__n != (size_t)-1)
1417:  {
1417:    __n /= sizeof(_CharT);
1417:    streamsize __w = __in.width();
1417:    std::__istream_extract(__in, __s, __n);
1417:    if (__in.good() && (__w <= 0 || __n < __w))
1417:      {
1417: 
1417: 
1417:        const typename _Traits::int_type __c = __in.rdbuf()->sgetc();
1417:        const bool __eof = _Traits::eq_int_type(__c, _Traits::eof());
1417:        if (__builtin_expect(__eof, true))
1417:   __in.setstate(ios_base::eofbit);
1417:      }
1417:  }
1417:       else
1417: 
1417:  {
1417: 
1417:    streamsize __n = __gnu_cxx::__numeric_traits<streamsize>::__max;
1417:    __n /= sizeof(_CharT);
1417:    std::__istream_extract(__in, __s, true);
1412: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern int isinff (float __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int finitef (float __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern float dremf (float __x, float __y) noexcept (true); extern float __dremf (float __x, float __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern float significandf (float __x) noexcept (true); extern float __significandf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern float nanf (const char *__tagb) noexcept (true); extern float __nanf (const char *__tagb) noexcept (true);
1412: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern int isnanf (float __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float j0f (float) noexcept (true); extern float __j0f (float) noexcept (true);
1412: extern float j1f (float) noexcept (true); extern float __j1f (float) noexcept (true);
1412: extern float jnf (int, float) noexcept (true); extern float __jnf (int, float) noexcept (true);
1412: extern float y0f (float) noexcept (true); extern float __y0f (float) noexcept (true);
1412: extern float y1f (float) noexcept (true); extern float __y1f (float) noexcept (true);
1412: extern float ynf (int, float) noexcept (true); extern float __ynf (int, float) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern float erff (float) noexcept (true); extern float __erff (float) noexcept (true);
1412:  extern float erfcf (float) noexcept (true); extern float __erfcf (float) noexcept (true);
1412: extern float lgammaf (float) noexcept (true); extern float __lgammaf (float) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern float tgammaf (float) noexcept (true); extern float __tgammaf (float) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float gammaf (float) noexcept (true); extern float __gammaf (float) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float lgammaf_r (float, int *__signgamp) noexcept (true); extern float __lgammaf_r (float, int *__signgamp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float rintf (float __x) noexcept (true); extern float __rintf (float __x) noexcept (true);
1412: 
1412: 
1412: extern float nextafterf (float __x, float __y) noexcept (true); extern float __nextafterf (float __x, float __y) noexcept (true);
1412: 
1412: extern float nexttowardf (float __x, long double __y) noexcept (true); extern float __nexttowardf (float __x, long double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern float nextdownf (float __x) noexcept (true); extern float __nextdownf (float __x) noexcept (true);
1412: 
1412: extern float nextupf (float __x) noexcept (true); extern float __nextupf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern float remainderf (float __x, float __y) noexcept (true); extern float __remainderf (float __x, float __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern float scalbnf (float __x, int __n) noexcept (true); extern float __scalbnf (float __x, int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int ilogbf (float __x) noexcept (true); extern int __ilogbf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long int llogbf (float __x) noexcept (true); extern long int __llogbf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern float scalblnf (float __x, long int __n) noexcept (true); extern float __scalblnf (float __x, long int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern float nearbyintf (float __x) noexcept (true); extern float __nearbyintf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: e: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct hash<pmr::u16string>
1434:     : public __hash_string_base<pmr::u16string>
1434:     { };
1434:   template<>
1434:     struct hash<pmr::u32string>
1434:     : public __hash_string_base<pmr::u32string>
1434:     { };
1434:   template<>
1434:     struct hash<pmr::wstring>
1434:     : public __hash_string_base<pmr::wstring>
1434:     { };
1434: 
1434: 
1434: }
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h" 2
1434: 
1434: 
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h"
1434: class CInfoLoader : public IJobCallback
1434: {
1434: public:
1434:   explicit CInfoLoader(unsigned int timeToRefresh = 5 * 60 * 1000);
1434:   ~CInfoLoader() override;
1434: 
1434:   std::string GetInfo(int info);
1434:   void Refresh();
1434: 
1434:   void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
1434: protected:
1434:   virtual CJob *GetJob() const=0;
1434:   virtual std::string TranslateInfo(int info) const;
1434:   virtual std::string BusyInfo(int info) const;
1434: private:
1434:   unsigned int m_refreshTime;
1434:   unsigned int m_timeToRefresh;
1434:   bool m_busy;
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h" 2
1434: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h"
1434: static const std::string ICON_ADDON_PATH = "resource://resource.images.weathericons.default";
1434: 
1434: struct ForecastDay
1434: {
1434:   std::string m_icon;
1434:   std::string m_overview;
1434:   std::string m_day;
1434:   std::string m_high;
1434:   std::string m_low;
1434: };
1434: 
1434: 
1434: 
1434: class CWeatherInfo
1434: {
1434: public:
1434:   ForecastDay forecast[7];
1434: 
1434:   void Reset()
1434:   {
1434:     lastUpdateTime.clear();
1434:     currentIcon.clear();
1434:     currentConditions.clear();
1434:     currentTemperature.clear();
1434:     currentFeelsLike.clear();
1434:     currentWind.clear();
1434:     currentHumidity.clear();
1434:     currentUVIndex.clear();
1434:     currentDewPoint.clear();
1434: 
1434:     for (ForecastDay& f : forecast)
1434:     {
1434:       f.m_icon.clear();
1434:       f.m_overview.clear();
1434:       f.m_day.clear();
1434:       f.m_high.clear();
1434:       f.m_low.clear();
1434:     }
1434:   };
1434: 
1434:   std::string lastUpdateTime;
1434:   std::string location;
1434:   std::string currentIcon;
1434:   std::string currentConditions;
1434:   std::string currentTemperature;
1434:   std::string currentFeelsLike;
1434:   std::string currentUVIndex;
1434:   std::string currentWind;
1434:   std::string currentDewPoint;
1434:   std::string currentHumidity;
1434:   std::string busyString;
1434:   std::string naIcon;
1434: };
1434: 
1434: class CWeatherManager
1434: : public CInfoLoader, public ISettingCallback
1434: {
1434: public:
1434:   CWeatherManager(void);
1434:   ~CWeatherManager(void) override;
1434:   static bool GetSearchResults(const std::string &strSearch, std::string &strResult);
1434: 
1434:   std::string GetLocation(int iLocation);
1434:   const std::string& GetLastUpdateTime() const { return m_info.lastUpdateTime; }
1434:   const ForecastDay &GetForecast(int day) const;
1434:   bool IsFetched();
1434:   void Reset();
1434: 
1434:   void SetArea(int iLocation);
1434:   int GetArea() const;
1434: protected:
1434:   CJob *GetJob() const override;
1434:   std::string TranslateInfo(int info) const override;
1434:   std::string BusyInfo(int info) const override;
1434:   void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
1434: 
1434:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1434:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1434: 
1434: private:
1434: 
1434:   CWeatherInfo m_info;
1434: };
1434: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1434:        
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class ISettingsHandler
1434: {
1434: public:
1434:   virtual ~ISettingsHandler() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool OnSettingsLoading() { return true; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void OnSettingsLoaded() { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool OnSettingsSaving() const { return true; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void OnSettingsSaved() const { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void OnSettingsUnloaded() { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void OnSettingsCleared() { }
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1434:        
1434: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1434: namespace xbmcutil
1434: {
1434: # 105 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1434:   template <class T> class GlobalsSingleton
1434:   {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template <class K> class Deleter
1434:     {
1434:     public:
1434:       K* guarded;
1434:       ~Deleter() { if (guarded) delete guarded; }
1434:     };
1434: # 130 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1434:     static Deleter<std::shared_ptr<T> > instance;
1434: 
1434: 
1434: 
1434: 
1434:     static T* quick;
1434:   public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     inline static std::shared_ptr<T> getInstance()
1434:     {
1434:       if (!instance.guarded)
1434:       {
1434:         if (!quick)
1434:           quick = new T;
1434:         instance.guarded = new std::shared_ptr<T>(quick);
1434:       }
1434:       return *(instance.guarded);
1434:     }
1434: # 160 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1434:     inline static T* getQuick()
1434:     {
1434:       if (!quick)
1434:         quick = new T;
1434: 
1434:       return quick;
1434:     }
1434: 
1434:   };
1434: 
1434:   template <class T> typename GlobalsSingleton<T>::template Deleter<std::shared_ptr<T> > GlobalsSingleton<T>::instance;
1434:   template <class T> T* GlobalsSingleton<T>::quick;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class InitFlag { public: explicit InitFlag(bool& flag) { flag = true; } };
1434: }
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:        
1434: 
1434: # 1 "/usr/include/c++/12/set" 1 3
1434: # 58 "/usr/include/c++/12/set" 3
1434:        
1434: # 59 "/usr/include/c++/12/set" 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/stl_tree.h" 1 3
1434: # 61 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:        
1434: # 62 "/usr/include/c++/12/bits/stl_tree.h" 3
1434: # 72 "/usr/include/c++/12/bits/stl_tree.h" 3
1434: # 1 "/usr/include/c++/12/bits/node_handle.h" 1 3
1434: # 34 "/usr/include/c++/12/bits/node_handle.h" 3
1434:        
1434: # 35 "/usr/include/c++/12/bits/node_handle.h" 3
1434: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
1434: 
1434: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 63 "/usr/include/c++/12/bits/node_handle.h" 3
1434:   template<typename _Val, typename _NodeAlloc>
1434:     class _Node_handle_common
1434:     {
1434:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1434: 
1434:     public:
1434:       using allocator_type = __alloc_rebind<_NodeAlloc, _Val>;
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!t__n);
1417:  }
1417:       return __in;
1417:     }
1417: 
1417:   template<class _Traits>
1417:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1417:     inline basic_istream<char, _Traits>&
1417:     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
1417:     { return __in >> reinterpret_cast<char*>(__s); }
1417: 
1417:   template<class _Traits>
1417:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1417:     inline basic_istream<char, _Traits>&
1417:     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
1417:     { return __in >> reinterpret_cast<char*>(__s); }
1417: # 889 "/usr/include/c++/12/istream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     class basic_iostream
1417:     : public basic_istream<_CharT, _Traits>,
1417:       public basic_ostream<_CharT, _Traits>
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef typename _Traits::int_type int_type;
1417:       typedef typename _Traits::pos_type pos_type;
1417:       typedef typename _Traits::off_type off_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
1417:       : __istream_type(__sb), __ostream_type(__sb) { }
1417: 
1417: 
1417: 
1417: 
1417:       virtual
1417:       ~basic_iostream() { }
1417: 
1417:     protected:
1417:       basic_iostream()
1417:       : __istream_type(), __ostream_type() { }
1417: 
1417: 
1417:       basic_iostream(const basic_iostream&) = delete;
1417: 
1417:       basic_iostream(basic_iostream&& __rhs)
1417:       : __istream_type(std::move(__rhs)), __ostream_type(*this)
1417:       { }
1417: 
1417: 
1417: 
1417:       basic_iostream& operator=(const basic_iostream&) = delete;
1417: 
1417:       basic_iostream&
1417:       operator=(basic_iostream&& __rhs)
1417:       {
1417:  swap(__rhs);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(basic_iostream& __rhs)
1417:       { __istream_type::swap(__rhs); }
1417: 
1417:     };
1417: # 972 "/usr/include/c++/12/istream" 3
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     ws(basic_istream<_CharT, _Traits>& __is);
1417: # 988 "/usr/include/c++/12/istream" 3
1417:   template<typename _Is, typename _Tp,
1417:     typename = _Require_derived_from_ios_base<_Is>,
1417:     typename = decltype(std::declval<_Is&>() >> std::declval<_Tp>())>
1417:     using __rvalue_stream_extraction_t = _Is&&;
1417: # 1004 "/usr/include/c++/12/istream" 3
1417:   template<typename _Istream, typename _Tp>
1417:     inline __rvalue_stream_extraction_t<_Istream, _Tp>
1417:     operator>>(_Istream&& __is, _Tp&& __x)
1417:     {
1417:       __is >> std::forward<_Tp>(__x);
1417:       return std::move(__is);
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/istream.tcc" 1 3
1417: # 37 "/usr/include/c++/12/bits/istream.tcc" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/istream.tcc" 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>::sentry::
1417:     sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
1417:     {
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       if (__in.good())
1417:  {
1417:    try
1417:      {
1417:        if (__in.tie())
1417:   __in.tie()->flush();
1417:        if (!__noskip && bool(__in.flags() & ios_base::skipws))
1417:   {
1417:     const __int_type __eof = traits_type::eof();
1417:     __streambuf_type* __sb = __in.rdbuf();
1417:     __int_type __c = __sb->sgetc();
1417: 
1417:     const __ctype_type& __ct = __check_facet(__in._M_ctype);
1417:     while (!traits_type::xtern float roundf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundf (float __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern float truncf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __truncf (float __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern float remquof (float __x, float __y, int *__quo) noexcept (true); extern float __remquof (float __x, float __y, int *__quo) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int lrintf (float __x) noexcept (true); extern long int __lrintf (float __x) noexcept (true);
1412: __extension__
1412: extern long long int llrintf (float __x) noexcept (true); extern long long int __llrintf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long int lroundf (float __x) noexcept (true); extern long int __lroundf (float __x) noexcept (true);
1412: __extension__
1412: extern long long int llroundf (float __x) noexcept (true); extern long long int __llroundf (float __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern float fdimf (float __x, float __y) noexcept (true); extern float __fdimf (float __x, float __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern float fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern float fmaf (float __x, float __y, float __z) noexcept (true); extern float __fmaf (float __x, float __y, float __z) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern float roundevenf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundevenf (float __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1412:                             ;
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1412:                               ;
1412: 
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1412:                              ;
1412: 
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1412:                                ;
1412: 
1412: 
1412: extern int canonicalizef (float *__cx, const float *__x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern float fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __his->empty())) __builtin_unreachable(); } while (false);
1434:  return allocator_type(_M_alloc._M_alloc);
1434:       }
1434: 
1434:       explicit operator bool() const noexcept { return _M_ptr != nullptr; }
1434: 
1434:       [[nodiscard]] bool empty() const noexcept { return _M_ptr == nullptr; }
1434: 
1434: 
1434:     protected:
1434:       constexpr _Node_handle_common() noexcept : _M_ptr() { }
1434: 
1434:       ~_Node_handle_common()
1434:       {
1434:  if (!empty())
1434:    _M_reset();
1434:       }
1434: 
1434:       _Node_handle_common(_Node_handle_common&& __nh) noexcept
1434:       : _M_ptr(__nh._M_ptr)
1434:       {
1434:  if (_M_ptr)
1434:    _M_move(std::move(__nh));
1434:       }
1434: 
1434:       _Node_handle_common&
1434:       operator=(_Node_handle_common&& __nh) noexcept
1434:       {
1434:  if (empty())
1434:    {
1434:      if (!__nh.empty())
1434:        _M_move(std::move(__nh));
1434:    }
1434:  else if (__nh.empty())
1434:    _M_reset();
1434:  else
1434:    {
1434: 
1434:      _AllocTraits::destroy(*_M_alloc, _M_ptr->_M_valptr());
1434:      _AllocTraits::deallocate(*_M_alloc, _M_ptr, 1);
1434: 
1434:      _M_alloc = __nh._M_alloc.release();
1434:      _M_ptr = __nh._M_ptr;
1434:      __nh._M_ptr = nullptr;
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:       _Node_handle_common(typename _AllocTraits::pointer __ptr,
1434:      const _NodeAlloc& __alloc)
1434:       : _M_ptr(__ptr), _M_alloc(__alloc)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__ptr != nullptr)) __builtin_unreachable(); } while (false);
1434:       }
1434: 
1434:       void
1434:       _M_swap(_Node_handle_common& __nh) noexcept
1434:       {
1434:  if (empty())
1434:    {
1434:      if (!__nh.empty())
1434:        _M_move(std::move(__nh));
1434:    }
1434:  else if (__nh.empty())
1434:    __nh._M_move(std::move(*this));
1434:  else
1434:    {
1434:      using std::swap;
1434:      swap(_M_ptr, __nh._M_ptr);
1434:      _M_alloc.swap(__nh._M_alloc);
1434:    }
1434:       }
1434: 
1434:     private:
1434: 
1434: 
1434: 
1434:       void
1434:       _M_move(_Node_handle_common&& __nh) noexcept
1434:       {
1434:  ::new (std::__addressof(_M_alloc)) _NodeAlloc(__nh._M_alloc.release());
1434:  _M_ptr = __nh._M_ptr;
1434:  __nh._M_ptr = nullptr;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_reset() noexcept
1434:       {
1434:  _NodeAlloc __alloc = _M_alloc.release();
1434:  _AllocTraits::destroy(__alloc, _M_ptr->_M_valptr());
1434:  _AllocTraits::deallocate(__alloc, _M_ptr, 1);
1434:  _M_ptr = nullptr;
1434:       }
1434: 
1434:     protected:
1434:       typename _AllocTraits::pointer _M_ptr;
1434: 
1434:     private:
1434: 
1434: 
1434:       union _Optional_alloc
1434:       {
1434:  _Optional_alloc() { }
1434:  ~_Optional_alloc() { }
1434: 
1434:  _Optional_alloc(_Optional_alloc&&) = delete;
1434:  _Optional_alloc& operator=(_Optional_alloc&&) = delete;
1434: 
1434:  _Optional_alloc(const _NodeAlloc& __alloc) noexcept
1434:  : _M_alloc(__alloc)
1434:  { }
1434: 
1434: 
1434:  void
1434:  operator=(_NodeAlloc&& __alloc) noexcept
1434:  {
1434:    using _ATr = _AllocTraits;
1434:    if constexpr (_ATr::propagate_on_container_move_assignment::value)
1434:      _M_alloc = std::move(__alloc);
1434:    else if constexpr (!_AllocTraits::is_always_equal::value)
1434:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __alloc)) __builtin_unreachable(); } while (false);
1434:  }
1434: 
1434: 
1434:  void
1434:  swap(_Optional_alloc& __other) noexcept
1434:  {
1434:    using std::swap;
1434:    if constexpr (_AllocTraits::propagate_on_container_swap::value)
1434:      swap(_M_alloc, __other._M_alloc);
1434:    else if constexpr (!_AllocTraits::is_always_equal::value)
1434:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __other._M_alloc)) __builtin_unreachable(); } while (false);
1434:  }
1434: 
1434: 
1434:  _NodeAlloc& operator*() noexcept { return _M_alloc; }
1434: 
1434: 
1434:  _NodeAlloc release() noexcept
1434:  {
1434:    _NodeAlloc __tmp = std::move(_M_alloc);
1434:    _M_alloc.~_NodeAlloc();
1434:    return __tmp;
1434:  }
1434: 
1434:  struct _Empty { };
1434: 
1434:  [[__no_unique_address__]] _Empty _M_empty;
1434:  [[__no_unique_address__]] _NodeAlloc _M_alloc;
1434:       };
1434: 
1434:       [[__no_unique_address__]] _Optional_alloc _M_alloc;
1434: 
1434:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1434:         typename _Compare, typename _ValueAlloc>
1434:  friend class _Rb_tree;
1434: 
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _NodeAlloc>
1434:     class _Node_handle : public _Node_handle_common<_Value, _NodeAlloc>
1434:     {
1434:     public:
1434:       constexpr _Node_handle() noexcept = default;
1434:       ~_Node_handle() = default;
1434:       _Node_handle(_Node_handle&&) noexcept = default;
1434: 
1434:       _Node_handle&
1434:       operator=(_Node_handle&&) noexcept = default;
1434: 
1434:       using key_type = _Key;
1434:       using mapped_type = typename _Value::second_type;
1434: 
1434:       key_type&
1434:       key() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1434:  return *_M_pkey;
1434:       }
1434: 
1434:       mapped_type&
1434:       mapped() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1434:  return *_M_pmapped;
1434:       }
1434: 
1434:       void
1434:       swap(_Node_handle& __nh) noexcept
1434:       {
1434:  this->_M_swap(__nh);
1434:  using std::swap;
1434:  swap(_M_pkey, __nh._M_pkey);
1434:  swap(_M_pmapped, __nh._M_pmapped);
1434:       }
1434: 
1434:       friend void
1434:       swap(_Node_handle& __x, _Node_handle& __y)
1434:       noexcept(noexcept(__x.swap(__y)))
1434:       { __x.swap(__y); }
1434: 
1434:     private:
1434:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1434: 
1434:       _Node_handle(typename _AllocTraits::pointer __ptr,
1434:      const _NodeAlloc& __alloc)
1434:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc)
1434:       {
1434:  if (__ptr)
1434:    {
1434:      auto& __key = const_cast<_Key&>(__ptr->_M_valptr()->first);
1434:      _M_pkey = _S_pointer_to(__key);
1434:      _M_pmapped = _S_pointer_to(__ptr->_M_valptr()->second);
1434:    }
1434:  else
1434:    {
1434:      _M_pkey = nullptr;
1434:      _M_pmapped = nullptr;
1434:    }
1434:       }
1434: 
1434:       template<typename _Tp>
1434:  using __pointer
1434:    = __ptr_rebind<typename _AllocTraits::pointer,
1434:     remove_reference_t<_Tp>>;
1434: 
1434:       __pointer<_Key> _M_pkey = nullptr;
1434:       __pointer<typename _Value::second_type> _M_pmapped = nullptr;
1434: 
1434:       template<typename _Tp>
1434:  __pointer<_Tp>
1434:  _S_pointer_to(_Tp& __obj)
1434:  { return pointer_traits<__pointer<_Tp>>::pointer_to(__obj); }
1434: 
1434:       const key_type&
1434:       _M_key() const noexcept { return key(); }
1434: 
1434:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1434:         typename _Compare, typename _ValueAlloc>
1434:  friend class _Rb_tree;
1434: 
1434:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1434:         typename _ExtractKey, typename _Equal,
1434:         typename _Hash, typename _RangeHash, typename _Unused,
1434:         typename _RehashPolicy, typename _Traits>
1434:  friend class _Hashtable;
1434:     };
1434: 
1434: 
1434:   template<typename _Value, typename _NodeAlloc>
1434:     class _Node_handle<_Value, _Value, _NodeAlloc>
1434:     : public _Node_handle_common<_Value, _NodeAlloc>
1434:     {
1434:     public:
1434:       constexpr _Node_handle() noexcept = default;
1434:       ~_Node_handle() = default;
1434:       _Node_handle(_Node_handle&&) noexcept = default;
1434: 
1434:       _Node_handle&
1434:       operator=(_Node_handle&&) noexcept = default;
1434: 
1434:       using value_type = _Value;
1434: 
1434:       value_type&
14eq_int_type(__c, __eof)
1417:     && __ct.is(ctype_base::space,
1417:         traits_type::to_char_type(__c)))
1417:       __c = __sb->snextc();
1417: 
1417: 
1417: 
1417: 
1417:     if (traits_type::eq_int_type(__c, __eof))
1417:       __err |= ios_base::eofbit;
1417:   }
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __in._M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __in._M_setstate(ios_base::badbit); }
1417:  }
1417: 
1417:       if (__in.good() && __err == ios_base::goodbit)
1417:  _M_ok = true;
1417:       else
1417:  {
1417:    __err |= ios_base::failbit;
1417:    __in.setstate(__err);
1417:  }
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     template<typename _ValueT>
1417:       basic_istream<_CharT, _Traits>&
1417:       basic_istream<_CharT, _Traits>::
1417:       _M_extract(_ValueT& __v)
1417:       {
1417:  sentry __cerb(*this, false);
1417:  if (__cerb)
1417:    {
1417:      ios_base::iostate __err = ios_base::goodbit;
1417:      try
1417:        {
1417:   const __num_get_type& __ng = __check_facet(this->_M_num_get);
1417:   __ng.get(*this, 0, *this, __err, __v);
1417:        }
1417:      catch(__cxxabiv1::__forced_unwind&)
1417:        {
1417:   this->_M_setstate(ios_base::badbit);
1417:   throw;
1417:        }
1417:      catch(...)
1417:        { this->_M_setstate(ios_base::badbit); }
1417:      if (__err)
1417:        this->setstate(__err);
1417:    }
1417:  return *this;
1417:       }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     operator>>(short& __n)
1417:     {
1417: 
1417: 
1417:       sentry __cerb(*this, false);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        long __l;
1417:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1417:        __ng.get(*this, 0, *this, __err, __l);
1417: 
1417: 
1417: 
1417:        if (__l < __gnu_cxx::__numeric_traits<short>::__min)
1417:   {
1417:     __err |= ios_base::failbit;
1417:     __n = __gnu_cxx::__numeric_traits<short>::__min;
1417:   }
1417:        else if (__l > __gnu_cxx::__numeric_traits<short>::__max)
1417:   {
1417:     __err |= ios_base::failbit;
1417:     __n = __gnu_cxx::__numeric_traits<short>::__max;
1417:   }
1417:        else
1417:   __n = short(__l);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     operator>>(int& __n)
1417:     {
1417: 
1417: 
1417:       sentry __cerb(*this, false);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        long __l;
1417:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1417:        __ng.get(*this, 0, *this, __err, __l);
1417: 
1417: 
1417: 
1417:        if (__l < __gnu_cxx::__numeric_traits<int>::__min)
1417:   {
1417:     __err |= ios_base::failbit;
1417:     __n = __gnu_cxx::__numeric_traits<int>::__min;
1417:   }
1417:        else if (__l > __gnu_cxx::__numeric_traits<int>::__max)
1417:   {
1417:     __err |= ios_base::failbit;
1417:     __n = __gnu_cxx::__numeric_traits<int>::__max;
1417:   }
1417:        else
1417:   __n = int(__l);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   templatfmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern float fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int totalorderf (const float *__x, const float *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern int totalordermagf (const float *__x, const float *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern float getpayloadf (const float *__x) noexcept (true); extern float __getpayloadf (const float *__x) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadf (float *__x, float __payload) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadsigf (float *__x, float __payload) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern float scalbf (float __x, float __n) noexcept (true); extern float __scalbf (float __x, float __n) noexcept (true);
1412: # 331 "/usr/include/math.h" 2 3 4
1412: # 398 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1412: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1412: extern int __fpclassifyl (long double __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __signbitl (long double __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern int __isinfl (long double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __finitel (long double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __isnanl (long double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern int __iseqsigl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern int __issignalingl (long double __value) noexcept (true)
1412:      __attribute__ ((__const__));
1412: # 399 "/usr/include/math.h" 2 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1412: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412:  extern long double acosl (long double __x) noexcept (true); extern long double __acosl (long double __x) noexcept (true);
1412: 
1412:  extern long double asinl (long double __x) noexcept (true); extern long double __asinl (long double __x) noexcept (true);
1412: 
1412:  extern long double atanl (long double __x) noexcept (true); extern long double __atanl (long double __x) noexcept (true);
1412: 
1412:  extern long double atan2l (long double __y, long double __x) noexcept (true); extern long double __atan2l (long double __y, long double __x) noexcept (true);
1412: 
1412: 
1412:  extern long double cosl (long double __x) noexcept (true); extern long double __cosl (long double __x) noexcept (true);
1412: 
1412:  extern long double sinl (long double __x) noexcept (true); extern long double __sinl (long double __x) noexcept (true);
1412: 
1412:  extern long double tanl (long double __x) noexcep34:       value() const noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1434:  return *this->_M_ptr->_M_valptr();
1434:       }
1434: 
1434:       void
1434:       swap(_Node_handle& __nh) noexcept
1434:       { this->_M_swap(__nh); }
1434: 
1434:       friend void
1434:       swap(_Node_handle& __x, _Node_handle& __y)
1434:       noexcept(noexcept(__x.swap(__y)))
1434:       { __x.swap(__y); }
1434: 
1434:     private:
1434:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1434: 
1434:       _Node_handle(typename _AllocTraits::pointer __ptr,
1434:      const _NodeAlloc& __alloc)
1434:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) { }
1434: 
1434:       const value_type&
1434:       _M_key() const noexcept { return value(); }
1434: 
1434:       template<typename _Key, typename _Val, typename _KeyOfValue,
1434:         typename _Compare, typename _Alloc>
1434:  friend class _Rb_tree;
1434: 
1434:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1434:         typename _ExtractKey, typename _Equal,
1434:         typename _Hash, typename _RangeHash, typename _Unused,
1434:         typename _RehashPolicy, typename _Traits>
1434:  friend class _Hashtable;
1434:     };
1434: 
1434: 
1434:   template<typename _Iterator, typename _NodeHandle>
1434:     struct _Node_insert_return
1434:     {
1434:       _Iterator position = _Iterator();
1434:       bool inserted = false;
1434:       _NodeHandle node;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 73 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 99 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:   enum _Rb_tree_color { _S_red = false, _S_black = true };
1434: 
1434:   struct _Rb_tree_node_base
1434:   {
1434:     typedef _Rb_tree_node_base* _Base_ptr;
1434:     typedef const _Rb_tree_node_base* _Const_Base_ptr;
1434: 
1434:     _Rb_tree_color _M_color;
1434:     _Base_ptr _M_parent;
1434:     _Base_ptr _M_left;
1434:     _Base_ptr _M_right;
1434: 
1434:     static _Base_ptr
1434:     _S_minimum(_Base_ptr __x) noexcept
1434:     {
1434:       while (__x->_M_left != 0) __x = __x->_M_left;
1434:       return __x;
1434:     }
1434: 
1434:     static _Const_Base_ptr
1434:     _S_minimum(_Const_Base_ptr __x) noexcept
1434:     {
1434:       while (__x->_M_left != 0) __x = __x->_M_left;
1434:       return __x;
1434:     }
1434: 
1434:     static _Base_ptr
1434:     _S_maximum(_Base_ptr __x) noexcept
1434:     {
1434:       while (__x->_M_right != 0) __x = __x->_M_right;
1434:       return __x;
1434:     }
1434: 
1434:     static _Const_Base_ptr
1434:     _S_maximum(_Const_Base_ptr __x) noexcept
1434:     {
1434:       while (__x->_M_right != 0) __x = __x->_M_right;
1434:       return __x;
1434:     }
1434:   };
1434: 
1434: 
1434:   template<typename _Key_compare>
1434:     struct _Rb_tree_key_compare
1434:     {
1434:       _Key_compare _M_key_compare;
1434: 
1434:       _Rb_tree_key_compare()
1434:       noexcept(is_nothrow_default_constructible<_Key_compare>::value)
1434: 
1434:       : _M_key_compare()
1434:       { }
1434: 
1434:       _Rb_tree_key_compare(const _Key_compare& __comp)
1434:       : _M_key_compare(__comp)
1434:       { }
1434: 
1434: 
1434: 
1434:       _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default;
1434: 
1434:       _Rb_tree_key_compare(_Rb_tree_key_compare&& __x)
1434:  noexcept(is_nothrow_copy_constructible<_Key_compare>::value)
1434:       : _M_key_compare(__x._M_key_compare)
1434:       { }
1434: 
1434:     };
1434: 
1434: 
1434:   struct _Rb_tree_header
1434:   {
1434:     _Rb_tree_node_base _M_header;
1434:     size_t _M_node_count;
1434: 
1434:     _Rb_tree_header() noexcept
1434:     {
1434:       _M_header._M_color = _S_red;
1434:       _M_reset();
1434:     }
1434: 
1434: 
1434:     _Rb_tree_header(_Rb_tree_header&& __x) noexcept
1434:     {
1434:       if (__x._M_header._M_parent != nullptr)
1434:  _M_move_data(__x);
1434:       else
1434:  {
1434:    _M_header._M_color = _S_red;
1434:    _M_reset();
1434:  }
1434:     }
1434: 
1434: 
1434:     void
1434:     _M_move_data(_Rb_tree_header& __from)
1434:     {
1434:       _M_header._M_color = __from._M_header._M_color;
1434:       _M_header._M_parent = __from._M_header._M_parent;
1434:       _M_header._M_left = __from._M_header._M_left;
1434:       _M_header._M_right = __from._M_header._M_right;
1434:       _M_header._M_parent->_M_parent = &_M_header;
1434:       _M_node_count = __from._M_node_count;
1434: 
1434:       __from._M_reset();
1434:     }
1434: 
1434:     void
1434:     _M_reset()
1434:     {
1434:       _M_header._M_parent = 0;
1434:       _M_header._M_left = &_M_header;
1434:       _M_header._M_right = &_M_header;
1434:       _M_node_count = 0;
1434:     }
1434:   };
1434: 
1434:   template<typename _Val>
1434:     struct _Rb_tree_node : public _Rb_tree_node_base
1434:     {
1434:       typedef _Rb_tree_node<_Val>* _Link_type;
1434: # 231 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
1434: 
1434:       _Val*
1434:       _M_valptr()
1434:       { return _M_storage._M_ptr(); }
1434: 
1434:       const _Val*
1434:       _M_valptr() const
1434:       { return _M_storage._M_ptr(); }
1434: 
1434:     };
1434: 
1434:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1434:   _Rb_tree_increment(_Rb_tree_node_base* __x) throw ();
1434: 
1434:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1434:   _Rb_tree_increment(const _Rb_tree_node_base* __x) throw ();
1434: 
1434:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1434:   _Rb_tree_decrement(_Rb_tree_node_base* __x) throw ();
1434: 
1434:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1434:   _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw ();
1434: 
1434:   template<typename _Tp>
1434:     struct _Rb_tree_iterator
1434:     {
1434:       typedef _Tp value_type;
1434:       typedef _Tp& reference;
1434:       typedef _Tp* pointer;
1434: 
1434:       typedef bidirectional_iterator_tag iterator_category;
1434:       typedef ptrdiff_t difference_type;
1434: 
1434:       typedef _Rb_tree_iterator<_Tp> _Self;
1434:       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
1434:       typedef _Rb_tree_node<_Tp>* _Link_type;
1434: 
1434:       _Rb_tree_iterator() noexcept
1434:       : _M_node() { }
1434: 
1434:       explicit
1434:       _Rb_tree_iterator(_Base_ptr __x) noexcept
1434:       : _M_node(__x) { }
1434: 
1434:       reference
1434:       operator*() const noexcept
1434:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1434: 
1434:       pointer
1434:       operator->() const noexcept
1434:       { return static_cast<_Link_type> (_M_node)->_M_valptr(); }
1434: 
1434:       _Self&
1434:       operator++() noexcept
1434:       {
1434:  _M_node = _Rb_tree_increment(_M_node);
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator++(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _Rb_tree_increment(_M_node);
1434:  return __tmp;
1434:       }
1434: 
1434:       _Self&
1434:       operator--() noexcept
1434:       {
1434:  _M_node = _Rb_tree_decrement(_M_node);
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator--(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _Rb_tree_decrement(_M_node);
1434:  return __tmp;
1434:       }
1434: 
1434:       friend bool
1434:       operator==(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node == __y._M_node; }
1434: 
1434: 
1434:       friend bool
1434:       operator!=(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node != __y._M_node; }
1434: 
1434: 
1434:       _Base_ptr _M_node;
1434:     };
1434: 
1434:   template<typename _Tp>
1434:     struct _Rb_tree_const_iterator
1434:     {
1434:       typedef _Tp value_type;
1434:       typedef const _Tp& reference;
1434:       typedef const _Tp* pointer;
1434: 
1434:       typedef _Rb_tree_iterate<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     operator>>(__streambuf_type* __sbout)
1417:     {
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       sentry __cerb(*this, false);
1417:       if (__cerb && __sbout)
1417:  {
1417:    try
1417:      {
1417:        bool __ineof;
1417:        if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
1417:   __err |= ios_base::failbit;
1417:        if (__ineof)
1417:   __err |= ios_base::eofbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::failbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::failbit); }
1417:  }
1417:       else if (!__sbout)
1417:  __err |= ios_base::failbit;
1417:       if (__err)
1417:  this->setstate(__err);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     typename basic_istream<_CharT, _Traits>::int_type
1417:     basic_istream<_CharT, _Traits>::
1417:     get(void)
1417:     {
1417:       const int_type __eof = traits_type::eof();
1417:       int_type __c = __eof;
1417:       _M_gcount = 0;
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417:        __c = this->rdbuf()->sbumpc();
1417: 
1417:        if (!traits_type::eq_int_type(__c, __eof))
1417:   _M_gcount = 1;
1417:        else
1417:   __err |= ios_base::eofbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:  }
1417:       if (!_M_gcount)
1417:  __err |= ios_base::failbit;
1417:       if (__err)
1417:  this->setstate(__err);
1417:       return __c;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     get(char_type& __c)
1417:     {
1417:       _M_gcount = 0;
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417:        const int_type __cb = this->rdbuf()->sbumpc();
1417: 
1417:        if (!traits_type::eq_int_type(__cb, traits_type::eof()))
1417:   {
1417:     _M_gcount = 1;
1417:     __c = traits_type::to_char_type(__cb);
1417:   }
1417:        else
1417:   __err |= ios_base::eofbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:  }
1417:       if (!_M_gcount)
1417:  __err |= ios_base::failbit;
1417:       if (__err)
1417:  this->setstate(__err);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     get(char_type* __s, streamsize __n, char_type __delim)
1417:     {
1417:       _M_gcount = 0;
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417:        const int_type __idelim = traits_type::to_int_type(__delim);
1417:        const int_type __eof = traits_type::eof();
1417:        __streambuf_type* __sb = this->rdbuf();
1417:        int_type __c = __sb->sgetc();
1417: 
1417:        while (_M_gcount + 1 < __n
1417:        && !traits_type::eq_int_type(__c, __eof)
1417:        && !traits_type::eq_int_type(__c, __idelim))
1417:   {
1417:     *__s++ = traits_type::to_char_type(__c);
1417:     ++_M_gcount;
1417:     __c = __sb->snextc();
1417:   }
1417:        if (traits_type::eq_int_type(__c, __eof))
1417:   __err |= ios_base::eofbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
t (true); extern long double __tanl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern long double coshl (long double __x) noexcept (true); extern long double __coshl (long double __x) noexcept (true);
1412: 
1412:  extern long double sinhl (long double __x) noexcept (true); extern long double __sinhl (long double __x) noexcept (true);
1412: 
1412:  extern long double tanhl (long double __x) noexcept (true); extern long double __tanhl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern void sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true)
1412:                                                         ;
1412: 
1412: 
1412: 
1412: 
1412:  extern long double acoshl (long double __x) noexcept (true); extern long double __acoshl (long double __x) noexcept (true);
1412: 
1412:  extern long double asinhl (long double __x) noexcept (true); extern long double __asinhl (long double __x) noexcept (true);
1412: 
1412:  extern long double atanhl (long double __x) noexcept (true); extern long double __atanhl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern long double expl (long double __x) noexcept (true); extern long double __expl (long double __x) noexcept (true);
1412: 
1412: 
1412: extern long double frexpl (long double __x, int *__exponent) noexcept (true); extern long double __frexpl (long double __x, int *__exponent) noexcept (true);
1412: 
1412: 
1412: extern long double ldexpl (long double __x, int __exponent) noexcept (true); extern long double __ldexpl (long double __x, int __exponent) noexcept (true);
1412: 
1412: 
1412:  extern long double logl (long double __x) noexcept (true); extern long double __logl (long double __x) noexcept (true);
1412: 
1412: 
1412:  extern long double log10l (long double __x) noexcept (true); extern long double __log10l (long double __x) noexcept (true);
1412: 
1412: 
1412: extern long double modfl (long double __x, long double *__iptr) noexcept (true); extern long double __modfl (long double __x, long double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412:  extern long double exp10l (long double __x) noexcept (true); extern long double __exp10l (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern long double expm1l (long double __x) noexcept (true); extern long double __expm1l (long double __x) noexcept (true);
1412: 
1412: 
1412:  extern long double log1pl (long double __x) noexcept (true); extern long double __log1pl (long double __x) noexcept (true);
1412: 
1412: 
1412: extern long double logbl (long double __x) noexcept (true); extern long double __logbl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern long double exp2l (long double __x) noexcept (true); extern long double __exp2l (long double __x) noexcept (true);
1412: 
1412: 
1412:  extern long double log2l (long double __x) noexcept (true); extern long double __log2l (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern long double powl (long double __x, long double __y) noexcept (true); extern long double __powl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern long double sqrtl (long double __x) noexcept (true); extern long double __sqrtl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern long double hypotl (long double __x, long double __y) noexcept (true); extern long double __hypotl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern long double cbrtl (long double __x) noexcept (true); extern long double __cbrtl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double ceill (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __ceill (long double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fabor<_Tp> iterator;
1434: 
1434:       typedef bidirectional_iterator_tag iterator_category;
1434:       typedef ptrdiff_t difference_type;
1434: 
1434:       typedef _Rb_tree_const_iterator<_Tp> _Self;
1434:       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
1434:       typedef const _Rb_tree_node<_Tp>* _Link_type;
1434: 
1434:       _Rb_tree_const_iterator() noexcept
1434:       : _M_node() { }
1434: 
1434:       explicit
1434:       _Rb_tree_const_iterator(_Base_ptr __x) noexcept
1434:       : _M_node(__x) { }
1434: 
1434:       _Rb_tree_const_iterator(const iterator& __it) noexcept
1434:       : _M_node(__it._M_node) { }
1434: 
1434:       iterator
1434:       _M_const_cast() const noexcept
1434:       { return iterator(const_cast<typename iterator::_Base_ptr>(_M_node)); }
1434: 
1434:       reference
1434:       operator*() const noexcept
1434:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1434: 
1434:       pointer
1434:       operator->() const noexcept
1434:       { return static_cast<_Link_type>(_M_node)->_M_valptr(); }
1434: 
1434:       _Self&
1434:       operator++() noexcept
1434:       {
1434:  _M_node = _Rb_tree_increment(_M_node);
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator++(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _Rb_tree_increment(_M_node);
1434:  return __tmp;
1434:       }
1434: 
1434:       _Self&
1434:       operator--() noexcept
1434:       {
1434:  _M_node = _Rb_tree_decrement(_M_node);
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator--(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _Rb_tree_decrement(_M_node);
1434:  return __tmp;
1434:       }
1434: 
1434:       friend bool
1434:       operator==(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node == __y._M_node; }
1434: 
1434: 
1434:       friend bool
1434:       operator!=(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node != __y._M_node; }
1434: 
1434: 
1434:       _Base_ptr _M_node;
1434:     };
1434: 
1434:   void
1434:   _Rb_tree_insert_and_rebalance(const bool __insert_left,
1434:     _Rb_tree_node_base* __x,
1434:     _Rb_tree_node_base* __p,
1434:     _Rb_tree_node_base& __header) throw ();
1434: 
1434:   _Rb_tree_node_base*
1434:   _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
1434:           _Rb_tree_node_base& __header) throw ();
1434: 
1434: 
1434:   template<typename _Tree1, typename _Cmp2>
1434:     struct _Rb_tree_merge_helper { };
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc = allocator<_Val> >
1434:     class _Rb_tree
1434:     {
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
1434: 
1434:       typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
1434: 
1434:     protected:
1434:       typedef _Rb_tree_node_base* _Base_ptr;
1434:       typedef const _Rb_tree_node_base* _Const_Base_ptr;
1434:       typedef _Rb_tree_node<_Val>* _Link_type;
1434:       typedef const _Rb_tree_node<_Val>* _Const_Link_type;
1434: 
1434:     private:
1434: 
1434: 
1434:       struct _Reuse_or_alloc_node
1434:       {
1434:  _Reuse_or_alloc_node(_Rb_tree& __t)
1434:  : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t)
1434:  {
1434:    if (_M_root)
1434:      {
1434:        _M_root->_M_parent = 0;
1434: 
1434:        if (_M_nodes->_M_left)
1434:   _M_nodes = _M_nodes->_M_left;
1434:      }
1434:    else
1434:      _M_nodes = 0;
1434:  }
1434: 
1434: 
1434:  _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete;
1434: 
1434: 
1434:  ~_Reuse_or_alloc_node()
1434:  { _M_t._M_erase(static_cast<_Link_type>(_M_root)); }
1434: 
1434:  template<typename _Arg>
1434:    _Link_type
1434:    operator()(_Arg&& __arg)
1434:    {
1434:      _Link_type __node = static_cast<_Link_type>(_M_extract());
1434:      if (__node)
1434:        {
1434:   _M_t._M_destroy_node(__node);
1434:   _M_t._M_construct_node(__node, std::forward<_Arg>(__arg));
1434:   return __node;
1434:        }
1434: 
1434:      return _M_t._M_create_node(std::forward<_Arg>(__arg));
1434:    }
1434: 
1434:       private:
1434:  _Base_ptr
1434:  _M_extract()
1434:  {
1434:    if (!_M_nodes)
1434:      return _M_nodes;
1434: 
1434:    _Base_ptr __node = _M_nodes;
1434:    _M_nodes = _M_nodes->_M_parent;
1434:    if (_M_nodes)
1434:      {
1434:        if (_M_nodes->_M_right == __node)
1434:   {
1434:     _M_nodes->_M_right = 0;
1434: 
1434:     if (_M_nodes->_M_left)
1434:       {
1434:         _M_nodes = _M_nodes->_M_left;
1434: 
1434:         while (_M_nodes->_M_right)
1434:    _M_nodes = _M_nodes->_M_right;
1434: 
1434:         if (_M_nodes->_M_left)
1434:    _M_nodes = _M_nodes->_M_left;
1434:       }
1434:   }
1434:        else
1434:   _M_nodes->_M_left = 0;
1434:      }
1434:    else
1434:      _M_root = 0;
1434: 
1434:    return __node;
1434:  }
1434: 
1434:  _Base_ptr _M_root;
1434:  _Base_ptr _M_nodes;
1434:  _Rb_tree& _M_t;
1434:       };
1434: 
1434: 
1434: 
1434:       struct _Alloc_node
1434:       {
1434:  _Alloc_node(_Rb_tree& __t)
1434:  : _M_t(__t) { }
1434: 
1434:  template<typename _Arg>
1434:    _Link_type
1434:    operator()(_Arg&& __arg) const
1434:    { return _M_t._M_create_node(std::forward<_Arg>(__arg)); }
1434: 
1434:       private:
1434:  _Rb_tree& _M_t;
1434:       };
1434: 
1434:     public:
1434:       typedef _Key key_type;
1434:       typedef _Val value_type;
1434:       typedef value_type* pointer;
1434:       typedef const value_type* const_pointer;
1434:       typedef value_type& reference;
1434:       typedef const value_type& const_reference;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef _Alloc allocator_type;
1434: 
1434:       _Node_allocator&
1434:       _M_get_Node_allocator() noexcept
1434:       { return this->_M_impl; }
1434: 
1434:       const _Node_allocator&
1434:       _M_get_Node_allocator() const noexcept
1434:       { return this->_M_impl; }
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_get_Node_allocator()); }
1434: 
1434:     protected:
1434:       _Link_type
1434:       _M_get_node()
1434:       { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); }
1434: 
1434:       void
1434:       _M_put_node(_Link_type __p) noexcept
1434:       { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); }
1434: # 588 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:       template<typename... _Args>
1434:  void
1434:  _M_construct_node(_Link_type __node, _Args&&... __args)
1434:  {
1434:    try
1434:      {
1434:        ::new(__node) _Rb_tree_node<_Val>;
1434:        _Alloc_traits::construct(_M_get_Node_allocator(),
1434:            __node->_M_valptr(),
1434:            std::forward<_Args>(__args)...);
1434:      }
1434:    catch(...)
1434:      {
1434:        __node->~_Rb_tree_node<_Val>();
1434:        _M_put_node(__node);
1434:        throw;
1434:      }
1434:  }
1434: 
1434:       template<typename... _Args>
1434:  _Link_type
1434:  _M_create_node(_Args&&... __args)
1434:  {
1434:    _Link_type __tmp = _M_get_node();
1434:    _M_construct_node(__tmp, std::forward<_Args>(__args)...);
1434:    return __tmp;
1434:  }
1434: 
1434: 
1434:       void
1434:       _M_destroy_node(_Link_type __p) noexcept
1434:       {
1434: 
1434: 
1434: 
1434:  _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr());
1434:  __p->~_Rb_tree_node<_Val>();
1434: 
1434:       }
1434: 
1434:       void
1434:       _M_drop_node(_Link_type __p) noexcept
1434:       {
1434:  _M_destroy_node(__p);
1434:  _M_put_node(__p);
1434:       }
1434: 
1434:       template<bool _MoveValue, typename _NodeGen>
1434:  _Link_type
1434:  _M_clone_node(_Link_type __x, _NodeGen& __node_gen)
1434:  {
1434: 
1434:    using _Vp = __conditional_t<_MoveValue,
1434:           value_type&&,
1434:           const value_type&>;
1434: 
1434:    _Link_type __tmp
1434:      = 1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:  }
1417: 
1417: 
1417:       if (__n > 0)
1417:  *__s = char_type();
1417:       if (!_M_gcount)
1417:  __err |= ios_base::failbit;
1417:       if (__err)
1417:  this->setstate(__err);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     get(__streambuf_type& __sb, char_type __delim)
1417:     {
1417:       _M_gcount = 0;
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417:        const int_type __idelim = traits_type::to_int_type(__delim);
1417:        const int_type __eof = traits_type::eof();
1417:        __streambuf_type* __this_sb = this->rdbuf();
1417:        int_type __c = __this_sb->sgetc();
1417:        char_type __c2 = traits_type::to_char_type(__c);
1417:        unsigned long long __gcount = 0;
1417: 
1417:        while (!traits_type::eq_int_type(__c, __eof)
1417:        && !traits_type::eq_int_type(__c, __idelim)
1417:        && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
1417:   {
1417:     ++__gcount;
1417:     __c = __this_sb->snextc();
1417:     __c2 = traits_type::to_char_type(__c);
1417:   }
1417:        if (traits_type::eq_int_type(__c, __eof))
1417:   __err |= ios_base::eofbit;
1417: 
1417: 
1417:        if (__gcount <= __gnu_cxx::__numeric_traits<streamsize>::__max)
1417:   _M_gcount = __gcount;
1417:        else
1417:   _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:  }
1417:       if (!_M_gcount)
1417:  __err |= ios_base::failbit;
1417:       if (__err)
1417:  this->setstate(__err);
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     getline(char_type* __s, streamsize __n, char_type __delim)
1417:     {
1417:       _M_gcount = 0;
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:         {
1417:           try
1417:             {
1417:               const int_type __idelim = traits_type::to_int_type(__delim);
1417:               const int_type __eof = traits_type::eof();
1417:               __streambuf_type* __sb = this->rdbuf();
1417:               int_type __c = __sb->sgetc();
1417: 
1417:               while (_M_gcount + 1 < __n
1417:                      && !traits_type::eq_int_type(__c, __eof)
1417:                      && !traits_type::eq_int_type(__c, __idelim))
1417:                 {
1417:                   *__s++ = traits_type::to_char_type(__c);
1417:                   __c = __sb->snextc();
1417:                   ++_M_gcount;
1417:                 }
1417:               if (traits_type::eq_int_type(__c, __eof))
1417:                 __err |= ios_base::eofbit;
1417:               else
1417:                 {
1417:                   if (traits_type::eq_int_type(__c, __idelim))
1417:                     {
1417:                       __sb->sbumpc();
1417:                       ++_M_gcount;
1417:                     }
1417:                   else
1417:                     __err |= ios_base::failbit;
1417:                 }
1417:             }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:           catch(...)
1417:             { this->_M_setstate(ios_base::badbit); }
1417:         }
1417: 
1417: 
1417:       if (__n > 0)
1417:  *__s = char_type();
1417:       if (!_M_gcount)
1417:         __err |= ios_base::failbit;
1417:       if (__e__node_gen(std::forward<_Vp>(*__x->_M_valptr()));
1434:    __tmp->_M_color = __x->_M_color;
1434:    __tmp->_M_left = 0;
1434:    __tmp->_M_right = 0;
1434:    return __tmp;
1434:  }
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Key_compare,
1434:         bool = __is_pod(_Key_compare)>
1434: 
1434:  struct _Rb_tree_impl
1434:  : public _Node_allocator
1434:  , public _Rb_tree_key_compare<_Key_compare>
1434:  , public _Rb_tree_header
1434:  {
1434:    typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare;
1434: 
1434:    _Rb_tree_impl()
1434:      noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value)
1434: 
1434: 
1434:    : _Node_allocator()
1434:    { }
1434: 
1434:    _Rb_tree_impl(const _Rb_tree_impl& __x)
1434:    : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x))
1434:    , _Base_key_compare(__x._M_key_compare)
1434:    , _Rb_tree_header()
1434:    { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    _Rb_tree_impl(_Rb_tree_impl&&)
1434:      noexcept( is_nothrow_move_constructible<_Base_key_compare>::value )
1434:    = default;
1434: 
1434:    explicit
1434:    _Rb_tree_impl(_Node_allocator&& __a)
1434:    : _Node_allocator(std::move(__a))
1434:    { }
1434: 
1434:    _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a)
1434:    : _Node_allocator(std::move(__a)),
1434:      _Base_key_compare(std::move(__x)),
1434:      _Rb_tree_header(std::move(__x))
1434:    { }
1434: 
1434:    _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)
1434:    : _Node_allocator(std::move(__a)), _Base_key_compare(__comp)
1434:    { }
1434: 
1434:  };
1434: 
1434:       _Rb_tree_impl<_Compare> _M_impl;
1434: 
1434:     protected:
1434:       _Base_ptr&
1434:       _M_root() noexcept
1434:       { return this->_M_impl._M_header._M_parent; }
1434: 
1434:       _Const_Base_ptr
1434:       _M_root() const noexcept
1434:       { return this->_M_impl._M_header._M_parent; }
1434: 
1434:       _Base_ptr&
1434:       _M_leftmost() noexcept
1434:       { return this->_M_impl._M_header._M_left; }
1434: 
1434:       _Const_Base_ptr
1434:       _M_leftmost() const noexcept
1434:       { return this->_M_impl._M_header._M_left; }
1434: 
1434:       _Base_ptr&
1434:       _M_rightmost() noexcept
1434:       { return this->_M_impl._M_header._M_right; }
1434: 
1434:       _Const_Base_ptr
1434:       _M_rightmost() const noexcept
1434:       { return this->_M_impl._M_header._M_right; }
1434: 
1434:       _Link_type
1434:       _M_mbegin() const noexcept
1434:       { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
1434: 
1434:       _Link_type
1434:       _M_begin() noexcept
1434:       { return _M_mbegin(); }
1434: 
1434:       _Const_Link_type
1434:       _M_begin() const noexcept
1434:       {
1434:  return static_cast<_Const_Link_type>
1434:    (this->_M_impl._M_header._M_parent);
1434:       }
1434: 
1434:       _Base_ptr
1434:       _M_end() noexcept
1434:       { return &this->_M_impl._M_header; }
1434: 
1434:       _Const_Base_ptr
1434:       _M_end() const noexcept
1434:       { return &this->_M_impl._M_header; }
1434: 
1434:       static const _Key&
1434:       _S_key(_Const_Link_type __x)
1434:       {
1434: 
1434: 
1434: 
1434:  static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
1434:         "comparison object must be invocable "
1434:         "with two arguments of key type");
1434: 
1434: 
1434: 
1434:  if constexpr (__is_invocable<_Compare&, const _Key&, const _Key&>{})
1434:    static_assert(
1434:        is_invocable_v<const _Compare&, const _Key&, const _Key&>,
1434:        "comparison object must be invocable as const");
1434: 
1434: 
1434: 
1434:  return _KeyOfValue()(*__x->_M_valptr());
1434:       }
1434: 
1434:       static _Link_type
1434:       _S_left(_Base_ptr __x) noexcept
1434:       { return static_cast<_Link_type>(__x->_M_left); }
1434: 
1434:       static _Const_Link_type
1434:       _S_left(_Const_Base_ptr __x) noexcept
1434:       { return static_cast<_Const_Link_type>(__x->_M_left); }
1434: 
1434:       static _Link_type
1434:       _S_right(_Base_ptr __x) noexcept
1434:       { return static_cast<_Link_type>(__x->_M_right); }
1434: 
1434:       static _Const_Link_type
1434:       _S_right(_Const_Base_ptr __x) noexcept
1434:       { return static_cast<_Const_Link_type>(__x->_M_right); }
1434: 
1434:       static const _Key&
1434:       _S_key(_Const_Base_ptr __x)
1434:       { return _S_key(static_cast<_Const_Link_type>(__x)); }
1434: 
1434:       static _Base_ptr
1434:       _S_minimum(_Base_ptr __x) noexcept
1434:       { return _Rb_tree_node_base::_S_minimum(__x); }
1434: 
1434:       static _Const_Base_ptr
1434:       _S_minimum(_Const_Base_ptr __x) noexcept
1434:       { return _Rb_tree_node_base::_S_minimum(__x); }
1434: 
1434:       static _Base_ptr
1434:       _S_maximum(_Base_ptr __x) noexcept
1434:       { return _Rb_tree_node_base::_S_maximum(__x); }
1434: 
1434:       static _Const_Base_ptr
1434:       _S_maximum(_Const_Base_ptr __x) noexcept
1434:       { return _Rb_tree_node_base::_S_maximum(__x); }
1434: 
1434:     public:
1434:       typedef _Rb_tree_iterator<value_type> iterator;
1434:       typedef _Rb_tree_const_iterator<value_type> const_iterator;
1434: 
1434:       typedef std::reverse_iterator<iterator> reverse_iterator;
1434:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1434: 
1434: 
1434:       using node_type = _Node_handle<_Key, _Val, _Node_allocator>;
1434:       using insert_return_type = _Node_insert_return<
1434:  __conditional_t<is_same_v<_Key, _Val>, const_iterator, iterator>,
1434:  node_type>;
1434: 
1434: 
1434:       pair<_Base_ptr, _Base_ptr>
1434:       _M_get_insert_unique_pos(const key_type& __k);
1434: 
1434:       pair<_Base_ptr, _Base_ptr>
1434:       _M_get_insert_equal_pos(const key_type& __k);
1434: 
1434:       pair<_Base_ptr, _Base_ptr>
1434:       _M_get_insert_hint_unique_pos(const_iterator __pos,
1434:         const key_type& __k);
1434: 
1434:       pair<_Base_ptr, _Base_ptr>
1434:       _M_get_insert_hint_equal_pos(const_iterator __pos,
1434:        const key_type& __k);
1434: 
1434:     private:
1434: 
1434:       template<typename _Arg, typename _NodeGen>
1434:  iterator
1434:  _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
1434: 
1434:       iterator
1434:       _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z);
1434: 
1434:       template<typename _Arg>
1434:  iterator
1434:  _M_insert_lower(_Base_ptr __y, _Arg&& __v);
1434: 
1434:       template<typename _Arg>
1434:  iterator
1434:  _M_insert_equal_lower(_Arg&& __x);
1434: 
1434:       iterator
1434:       _M_insert_lower_node(_Base_ptr __p, _Link_type __z);
1434: 
1434:       iterator
1434:       _M_insert_equal_lower_node(_Link_type __z);
1434: # 879 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:       enum { __as_lvalue, __as_rvalue };
1434: 
1434:       template<bool _MoveValues, typename _NodeGen>
1434:  _Link_type
1434:  _M_copy(_Link_type, _Base_ptr, _NodeGen&);
1434: 
1434:       template<bool _MoveValues, typename _NodeGen>
1434:  _Link_type
1434:  _M_copy(const _Rb_tree& __x, _NodeGen& __gen)
1434:  {
1434:    _Link_type __root =
1434:      _M_copy<_MoveValues>(__x._M_mbegin(), _M_end(), __gen);
1434:    _M_leftmost() = _S_minimum(__root);
1434:    _M_rightmost() = _S_maximum(__root);
1434:    _M_impl._M_node_count = __x._M_impl._M_node_count;
1434:    return __root;
1434:  }
1434: 
1434:       _Link_type
1434:       _M_copy(const _Rb_tree& __x)
1434:       {
1434:  _Alloc_node __an(*this);
1434:  return _M_copy<__as_lvalue>(__x, __an);
1434:       }
1434: 
1434:       void
1434:       _M_erase(_Link_type __x);
1434: 
1434:       iterator
1434:       _M_lower_bound(_Link_type __x, _Base_ptr __y,
1434:        const _Key& __k);
1434: 
1434:       const_iterator
1434:       _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1434:        const _Key& __k) const;
1434: 
1434:       iterator
1434:       _M_upper_bound(_Link_type __x, _Base_ptr __y,
1434:        const _Key& __k);
rr)
1417:         this->setstate(__err);
1417:       return *this;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     ignore(void)
1417:     {
1417:       _M_gcount = 0;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        const int_type __eof = traits_type::eof();
1417:        __streambuf_type* __sb = this->rdbuf();
1417: 
1417:        if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
1417:   __err |= ios_base::eofbit;
1417:        else
1417:   _M_gcount = 1;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     ignore(streamsize __n)
1417:     {
1417:       _M_gcount = 0;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb && __n > 0)
1417:         {
1417:           ios_base::iostate __err = ios_base::goodbit;
1417:           try
1417:             {
1417:               const int_type __eof = traits_type::eof();
1417:               __streambuf_type* __sb = this->rdbuf();
1417:               int_type __c = __sb->sgetc();
1417: # 530 "/usr/include/c++/12/bits/istream.tcc" 3
1417:        bool __large_ignore = false;
1417:        while (true)
1417:   {
1417:     while (_M_gcount < __n
1417:     && !traits_type::eq_int_type(__c, __eof))
1417:       {
1417:         ++_M_gcount;
1417:         __c = __sb->snextc();
1417:       }
1417:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1417:         && !traits_type::eq_int_type(__c, __eof))
1417:       {
1417:         _M_gcount =
1417:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1417:         __large_ignore = true;
1417:       }
1417:     else
1417:       break;
1417:   }
1417: 
1417:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1417:   {
1417:     if (__large_ignore)
1417:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1417: 
1417:     if (traits_type::eq_int_type(__c, __eof))
1417:       __err |= ios_base::eofbit;
1417:   }
1417:        else if (_M_gcount < __n)
1417:   {
1417:     if (traits_type::eq_int_type(__c, __eof))
1417:       __err |= ios_base::eofbit;
1417:   }
1417:             }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:           catch(...)
1417:             { this->_M_setstate(ios_base::badbit); }
1417:           if (__err)
1417:             this->setstate(__err);
1417:         }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     ignore(streamsize __n, int_type __delim)
1417:     {
1417:       _M_gcount = 0;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb && __n > 0)
1417:         {
1417:           ios_base::iostate __err = ios_base::goodbit;
1417:           try
1417:             {
1417:               const int_type __eof = traits_type::eof();
1417:               __streambuf_type* __sb = this->rdbuf();
1417:               int_type __c = __sb->sgetc();
1417: 
1417: 
1417:        bool __large_ignore = false;
1417:        while (true)
1417:   {
1417:     while (_M_gcount < __n
1417:     && !traits_type::eq_int_type(__c, __eof)
1417:     && !traits_type::eq_int_type(__c, __delim))
1417:       {
1417:         ++_M_gcount;
1417:         __c = __sb->snextc();
1417:       }
1417:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1417:         && !traits_type::eq_int_type1434: 
1434:       const_iterator
1434:       _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1434:        const _Key& __k) const;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434:       _Rb_tree() = default;
1434: 
1434: 
1434:       _Rb_tree(const _Compare& __comp,
1434:         const allocator_type& __a = allocator_type())
1434:       : _M_impl(__comp, _Node_allocator(__a)) { }
1434: 
1434:       _Rb_tree(const _Rb_tree& __x)
1434:       : _M_impl(__x._M_impl)
1434:       {
1434:  if (__x._M_root() != 0)
1434:    _M_root() = _M_copy(__x);
1434:       }
1434: 
1434: 
1434:       _Rb_tree(const allocator_type& __a)
1434:       : _M_impl(_Node_allocator(__a))
1434:       { }
1434: 
1434:       _Rb_tree(const _Rb_tree& __x, const allocator_type& __a)
1434:       : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a))
1434:       {
1434:  if (__x._M_root() != nullptr)
1434:    _M_root() = _M_copy(__x);
1434:       }
1434: 
1434:       _Rb_tree(_Rb_tree&&) = default;
1434: 
1434:       _Rb_tree(_Rb_tree&& __x, const allocator_type& __a)
1434:       : _Rb_tree(std::move(__x), _Node_allocator(__a))
1434:       { }
1434: 
1434:     private:
1434:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type)
1434:       noexcept(is_nothrow_default_constructible<_Compare>::value)
1434:       : _M_impl(std::move(__x._M_impl), std::move(__a))
1434:       { }
1434: 
1434:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type)
1434:       : _M_impl(__x._M_impl._M_key_compare, std::move(__a))
1434:       {
1434:  if (__x._M_root() != nullptr)
1434:    _M_move_data(__x, false_type{});
1434:       }
1434: 
1434:     public:
1434:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)
1434:       noexcept( noexcept(
1434:  _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(),
1434:    std::declval<typename _Alloc_traits::is_always_equal>())) )
1434:       : _Rb_tree(std::move(__x), std::move(__a),
1434:    typename _Alloc_traits::is_always_equal{})
1434:       { }
1434: 
1434: 
1434:       ~_Rb_tree() noexcept
1434:       { _M_erase(_M_begin()); }
1434: 
1434:       _Rb_tree&
1434:       operator=(const _Rb_tree& __x);
1434: 
1434: 
1434:       _Compare
1434:       key_comp() const
1434:       { return _M_impl._M_key_compare; }
1434: 
1434:       iterator
1434:       begin() noexcept
1434:       { return iterator(this->_M_impl._M_header._M_left); }
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return const_iterator(this->_M_impl._M_header._M_left); }
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return iterator(&this->_M_impl._M_header); }
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return const_iterator(&this->_M_impl._M_header); }
1434: 
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return reverse_iterator(end()); }
1434: 
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return reverse_iterator(begin()); }
1434: 
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_impl._M_node_count == 0; }
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_impl._M_node_count; }
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _Alloc_traits::max_size(_M_get_Node_allocator()); }
1434: 
1434:       void
1434:       swap(_Rb_tree& __t)
1434:       noexcept(__is_nothrow_swappable<_Compare>::value);
1434: 
1434: 
1434: 
1434:       template<typename _Arg>
1434:  pair<iterator, bool>
1434:  _M_insert_unique(_Arg&& __x);
1434: 
1434:       template<typename _Arg>
1434:  iterator
1434:  _M_insert_equal(_Arg&& __x);
1434: 
1434:       template<typename _Arg, typename _NodeGen>
1434:  iteratsl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __fabsl (long double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double floorl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __floorl (long double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fmodl (long double __x, long double __y) noexcept (true); extern long double __fmodl (long double __x, long double __y) noexcept (true);
1412: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern int isinfl (long double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int finitel (long double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double dreml (long double __x, long double __y) noexcept (true); extern long double __dreml (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long double significandl (long double __x) noexcept (true); extern long double __significandl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern long double nanl (const char *__tagb) noexcept (true); extern long double __nanl (const char *__tagb) noexcept (true);
1412: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern int isnanl (long double __value) noexcept (true)
1412:   __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double j0l (long double) noexcept (true); extern long double __j0l (long double) noexcept (true);
1412: extern long double j1l (long double) noexcept (true); extern long double __j1l (long double) noexcept (true);
1412: extern long double jnl (int, long double) noexcept (true); extern long double __jnl (int, long double) noexcept (true);
1412: extern long double y0l (long double) noexcept (true); extern long double __y0l (long double) noexcept (true);
1412: extern long double y1l (long double) noexcept (true); extern long double __y1l (long double) noexcept (true);
1412: extern long double ynl (int, long double) noexcept (true); extern long double __ynl (int, long double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern long double erfl (long double) noexcept (true); extern long double __erfl (long double) noexcept (true);
1412:  extern long double erfcl (long double) noexcept (true); extern long double __erfcl (long double) noexcept (true);
1412: extern long double lgammal (long double) noexcept (true); extern long double __lgammal (long double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long double tgammal (long double) noexcept (true); extern long double __tgammal (long double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double gammal (long double) noexcept (true); extern long double __gammal (long double) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double lgammal_r (long double, int *__signgamp) noexcept (true); extern long double __lgammal_r (long double, int *__signgamp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double rintl (long double __x) noexcept (true); extern long double __rintl (long double __x) noexcept (true);
1412: 
1412: 
1412: extern long double nextafterl (long double __x, long double __y) noexcept (true); extern long double __nextafterl (long double __x, long double __y) noexcept (true);
1412: 
1412: extern long double nexttowardl (long double __x, long double __y) noexcept (true); extern long double __nexttowardl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long double nextdownl (long double __x) noexcept (true); extern long double __nextdownlor
1434:  _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1434: 
1434:       template<typename _Arg>
1434:  iterator
1434:  _M_insert_unique_(const_iterator __pos, _Arg&& __x)
1434:  {
1434:    _Alloc_node __an(*this);
1434:    return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
1434:  }
1434: 
1434:       template<typename _Arg, typename _NodeGen>
1434:  iterator
1434:  _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1434: 
1434:       template<typename _Arg>
1434:  iterator
1434:  _M_insert_equal_(const_iterator __pos, _Arg&& __x)
1434:  {
1434:    _Alloc_node __an(*this);
1434:    return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an);
1434:  }
1434: 
1434:       template<typename... _Args>
1434:  pair<iterator, bool>
1434:  _M_emplace_unique(_Args&&... __args);
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  _M_emplace_equal(_Args&&... __args);
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args);
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args);
1434: 
1434:       template<typename _Iter>
1434:  using __same_value_type
1434:    = is_same<value_type, typename iterator_traits<_Iter>::value_type>;
1434: 
1434:       template<typename _InputIterator>
1434:  __enable_if_t<__same_value_type<_InputIterator>::value>
1434:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1434:  {
1434:    _Alloc_node __an(*this);
1434:    for (; __first != __last; ++__first)
1434:      _M_insert_unique_(end(), *__first, __an);
1434:  }
1434: 
1434:       template<typename _InputIterator>
1434:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1434:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1434:  {
1434:    for (; __first != __last; ++__first)
1434:      _M_emplace_unique(*__first);
1434:  }
1434: 
1434:       template<typename _InputIterator>
1434:  __enable_if_t<__same_value_type<_InputIterator>::value>
1434:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1434:  {
1434:    _Alloc_node __an(*this);
1434:    for (; __first != __last; ++__first)
1434:      _M_insert_equal_(end(), *__first, __an);
1434:  }
1434: 
1434:       template<typename _InputIterator>
1434:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1434:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1434:  {
1434:    _Alloc_node __an(*this);
1434:    for (; __first != __last; ++__first)
1434:      _M_emplace_equal(*__first);
1434:  }
1434: # 1179 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:     private:
1434:       void
1434:       _M_erase_aux(const_iterator __position);
1434: 
1434:       void
1434:       _M_erase_aux(const_iterator __first, const_iterator __last);
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(const_iterator __position)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1434:  const_iterator __result = __position;
1434:  ++__result;
1434:  _M_erase_aux(__position);
1434:  return __result._M_const_cast();
1434:       }
1434: 
1434: 
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(iterator __position)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1434:  iterator __result = __position;
1434:  ++__result;
1434:  _M_erase_aux(__position);
1434:  return __result;
1434:       }
1434: # 1228 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:       size_type
1434:       erase(const key_type& __x);
1434: 
1434: 
1434: 
1434: 
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       {
1434:  _M_erase_aux(__first, __last);
1434:  return __last._M_const_cast();
1434:       }
1434: # 1251 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:       void
1434:       clear() noexcept
1434:       {
1434:  _M_erase(_M_begin());
1434:  _M_impl._M_reset();
1434:       }
1434: 
1434: 
1434:       iterator
1434:       find(const key_type& __k);
1434: 
1434:       const_iterator
1434:       find(const key_type& __k) const;
1434: 
1434:       size_type
1434:       count(const key_type& __k) const;
1434: 
1434:       iterator
1434:       lower_bound(const key_type& __k)
1434:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1434: 
1434:       const_iterator
1434:       lower_bound(const key_type& __k) const
1434:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1434: 
1434:       iterator
1434:       upper_bound(const key_type& __k)
1434:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1434: 
1434:       const_iterator
1434:       upper_bound(const key_type& __k) const
1434:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1434: 
1434:       pair<iterator, iterator>
1434:       equal_range(const key_type& __k);
1434: 
1434:       pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __k) const;
1434: 
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  iterator
1434:  _M_find_tr(const _Kt& __k)
1434:  {
1434:    const _Rb_tree* __const_this = this;
1434:    return __const_this->_M_find_tr(__k)._M_const_cast();
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  const_iterator
1434:  _M_find_tr(const _Kt& __k) const
1434:  {
1434:    auto __j = _M_lower_bound_tr(__k);
1434:    if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node)))
1434:      __j = end();
1434:    return __j;
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  size_type
1434:  _M_count_tr(const _Kt& __k) const
1434:  {
1434:    auto __p = _M_equal_range_tr(__k);
1434:    return std::distance(__p.first, __p.second);
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  iterator
1434:  _M_lower_bound_tr(const _Kt& __k)
1434:  {
1434:    const _Rb_tree* __const_this = this;
1434:    return __const_this->_M_lower_bound_tr(__k)._M_const_cast();
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  const_iterator
1434:  _M_lower_bound_tr(const _Kt& __k) const
1434:  {
1434:    auto __x = _M_begin();
1434:    auto __y = _M_end();
1434:    while (__x != 0)
1434:      if (!_M_impl._M_key_compare(_S_key(__x), __k))
1434:        {
1434:   __y = __x;
1434:   __x = _S_left(__x);
1434:        }
1434:      else
1434:        __x = _S_right(__x);
1434:    return const_iterator(__y);
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  iterator
1434:  _M_upper_bound_tr(const _Kt& __k)
1434:  {
1434:    const _Rb_tree* __const_this = this;
1434:    return __const_this->_M_upper_bound_tr(__k)._M_const_cast();
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  const_iterator
1434:  _M_upper_bound_tr(const _Kt& __k) const
1434:  {
1434:    auto __x = _M_begin();
1434:    auto __y = _M_end();
1434:    while (__x != 0)
1434:      if (_M_impl._M_key_compare(__k, _S_key(__x)))
1434:        {
1434:   __y = __x;
1434:   __x = _S_left(__x);
1434:        }
1434:      else
1434:        __x = _S_right(__x);
1434:    return const_iterator(__y);
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  pair<iterator, iterator>
1434:  _M_equal_range_tr(const _Kt& __k)
1434:  {
1434:    const _Rb_tree* __const_this = this;
1434:    auto __ret = __const_this->_M_equal_range_tr(__k);
1434:    return { __re(__c, __eof)
1417:         && !traits_type::eq_int_type(__c, __delim))
1417:       {
1417:         _M_gcount =
1417:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1417:         __large_ignore = true;
1417:       }
1417:     else
1417:       break;
1417:   }
1417: 
1417:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1417:   {
1417:     if (__large_ignore)
1417:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1417: 
1417:     if (traits_type::eq_int_type(__c, __eof))
1417:       __err |= ios_base::eofbit;
1417:     else
1417:       {
1417:         if (_M_gcount != __n)
1417:    ++_M_gcount;
1417:         __sb->sbumpc();
1417:       }
1417:   }
1417:        else if (_M_gcount < __n)
1417:   {
1417:     if (traits_type::eq_int_type(__c, __eof))
1417:       __err |= ios_base::eofbit;
1417:     else
1417:       {
1417:         ++_M_gcount;
1417:         __sb->sbumpc();
1417:       }
1417:   }
1417:             }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:           catch(...)
1417:             { this->_M_setstate(ios_base::badbit); }
1417:           if (__err)
1417:             this->setstate(__err);
1417:         }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     typename basic_istream<_CharT, _Traits>::int_type
1417:     basic_istream<_CharT, _Traits>::
1417:     peek(void)
1417:     {
1417:       int_type __c = traits_type::eof();
1417:       _M_gcount = 0;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        __c = this->rdbuf()->sgetc();
1417:        if (traits_type::eq_int_type(__c, traits_type::eof()))
1417:   __err |= ios_base::eofbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return __c;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     read(char_type* __s, streamsize __n)
1417:     {
1417:       _M_gcount = 0;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        _M_gcount = this->rdbuf()->sgetn(__s, __n);
1417:        if (_M_gcount != __n)
1417:   __err |= (ios_base::eofbit | ios_base::failbit);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     streamsize
1417:     basic_istream<_CharT, _Traits>::
1417:     readsome(char_type* __s, streamsize __n)
1417:     {
1417:       _M_gcount = 0;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417: 
1417:        const streamsize __num = this->rdbuf()->in_avail();
1417:        if (__num > 0)
1417:   _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
1417:        else if (__num == -1)
1417:   __err |= ios_base::eofbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return _M_gcount;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Trai (long double __x) noexcept (true);
1412: 
1412: extern long double nextupl (long double __x) noexcept (true); extern long double __nextupl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long double remainderl (long double __x, long double __y) noexcept (true); extern long double __remainderl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long double scalbnl (long double __x, int __n) noexcept (true); extern long double __scalbnl (long double __x, int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int ilogbl (long double __x) noexcept (true); extern int __ilogbl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long int llogbl (long double __x) noexcept (true); extern long int __llogbl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long double scalblnl (long double __x, long int __n) noexcept (true); extern long double __scalblnl (long double __x, long int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long double nearbyintl (long double __x) noexcept (true); extern long double __nearbyintl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long double roundl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundl (long double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern long double truncl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __truncl (long double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern long double remquol (long double __x, long double __y, int *__quo) noexcept (true); extern long double __remquol (long double __x, long double __y, int *__quo) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int lrintl (long double __x) noexcept (true); extern long int __lrintl (long double __x) noexcept (true);
1412: __extension__
1412: extern long long int llrintl (long double __x) noexcept (true); extern long long int __llrintl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long int lroundl (long double __x) noexcept (true); extern long int __lroundl (long double __x) noexcept (true);
1412: __extension__
1412: extern long long int llroundl (long double __x) noexcept (true); extern long long int __llroundl (long double __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long double fdiml (long double __x, long double __y) noexcept (true); extern long double __fdiml (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long double fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern long double fmal (long double __x, long double __y, long double __z) noexcept (true); extern long double __fmal (long double __x, long double __y, long double __z) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long double roundevenl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
1412:                             ;
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
1412:                               ;
1412: 
1412: 
1412: 
1412: 
1412: extern __intmax_t ft.first._M_const_cast(), __ret.second._M_const_cast() };
1434:  }
1434: 
1434:       template<typename _Kt,
1434:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1434:  pair<const_iterator, const_iterator>
1434:  _M_equal_range_tr(const _Kt& __k) const
1434:  {
1434:    auto __low = _M_lower_bound_tr(__k);
1434:    auto __high = __low;
1434:    auto& __cmp = _M_impl._M_key_compare;
1434:    while (__high != end() && !__cmp(__k, _S_key(__high._M_node)))
1434:      ++__high;
1434:    return { __low, __high };
1434:  }
1434: 
1434: 
1434: 
1434:       bool
1434:       __rb_verify() const;
1434: 
1434: 
1434:       _Rb_tree&
1434:       operator=(_Rb_tree&&)
1434:       noexcept(_Alloc_traits::_S_nothrow_move()
1434:         && is_nothrow_move_assignable<_Compare>::value);
1434: 
1434:       template<typename _Iterator>
1434:  void
1434:  _M_assign_unique(_Iterator, _Iterator);
1434: 
1434:       template<typename _Iterator>
1434:  void
1434:  _M_assign_equal(_Iterator, _Iterator);
1434: 
1434:     private:
1434: 
1434:       void
1434:       _M_move_data(_Rb_tree& __x, true_type)
1434:       { _M_impl._M_move_data(__x._M_impl); }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_move_data(_Rb_tree&, false_type);
1434: 
1434: 
1434:       void
1434:       _M_move_assign(_Rb_tree&, true_type);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_move_assign(_Rb_tree&, false_type);
1434: 
1434: 
1434: 
1434:     public:
1434: 
1434:       insert_return_type
1434:       _M_reinsert_node_unique(node_type&& __nh)
1434:       {
1434:  insert_return_type __ret;
1434:  if (__nh.empty())
1434:    __ret.position = end();
1434:  else
1434:    {
1434:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1434: 
1434:      auto __res = _M_get_insert_unique_pos(__nh._M_key());
1434:      if (__res.second)
1434:        {
1434:   __ret.position
1434:     = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1434:   __nh._M_ptr = nullptr;
1434:   __ret.inserted = true;
1434:        }
1434:      else
1434:        {
1434:   __ret.node = std::move(__nh);
1434:   __ret.position = iterator(__res.first);
1434:   __ret.inserted = false;
1434:        }
1434:    }
1434:  return __ret;
1434:       }
1434: 
1434: 
1434:       iterator
1434:       _M_reinsert_node_equal(node_type&& __nh)
1434:       {
1434:  iterator __ret;
1434:  if (__nh.empty())
1434:    __ret = end();
1434:  else
1434:    {
1434:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1434:      auto __res = _M_get_insert_equal_pos(__nh._M_key());
1434:      if (__res.second)
1434:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1434:      else
1434:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1434:      __nh._M_ptr = nullptr;
1434:    }
1434:  return __ret;
1434:       }
1434: 
1434: 
1434:       iterator
1434:       _M_reinsert_node_hint_unique(const_iterator __hint, node_type&& __nh)
1434:       {
1434:  iterator __ret;
1434:  if (__nh.empty())
1434:    __ret = end();
1434:  else
1434:    {
1434:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1434:      auto __res = _M_get_insert_hint_unique_pos(__hint, __nh._M_key());
1434:      if (__res.second)
1434:        {
1434:   __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1434:   __nh._M_ptr = nullptr;
1434:        }
1434:      else
1434:        __ret = iterator(__res.first);
1434:    }
1434:  return __ret;
1434:       }
1434: 
1434: 
1434:       iterator
1434:       _M_reinsert_node_hint_equal(const_iterator __hint, node_type&& __nh)
1434:       {
1434:  iterator __ret;
1434:  if (__nh.empty())
1434:    __ret = end();
1434:  else
1434:    {
1434:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1434:      auto __res = _M_get_insert_hint_equal_pos(__hint, __nh._M_key());
1434:      if (__res.second)
1434:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1434:      else
1434:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1434:      __nh._M_ptr = nullptr;
1434:    }
1434:  return __ret;
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  auto __ptr = _Rb_tree_rebalance_for_erase(
1434:      __pos._M_const_cast()._M_node, _M_impl._M_header);
1434:  --_M_impl._M_node_count;
1434:  return { static_cast<_Link_type>(__ptr), _M_get_Node_allocator() };
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __k)
1434:       {
1434:  node_type __nh;
1434:  auto __pos = find(__k);
1434:  if (__pos != end())
1434:    __nh = extract(const_iterator(__pos));
1434:  return __nh;
1434:       }
1434: 
1434:       template<typename _Compare2>
1434:  using _Compatible_tree
1434:    = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>;
1434: 
1434:       template<typename, typename>
1434:  friend class _Rb_tree_merge_helper;
1434: 
1434: 
1434:       template<typename _Compare2>
1434:  void
1434:  _M_merge_unique(_Compatible_tree<_Compare2>& __src) noexcept
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1434:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1434:      {
1434:        auto __pos = __i++;
1434:        auto __res = _M_get_insert_unique_pos(_KeyOfValue()(*__pos));
1434:        if (__res.second)
1434:   {
1434:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1434:     auto __ptr = _Rb_tree_rebalance_for_erase(
1434:         __pos._M_node, __src_impl._M_header);
1434:     --__src_impl._M_node_count;
1434:     _M_insert_node(__res.first, __res.second,
1434:      static_cast<_Link_type>(__ptr));
1434:   }
1434:      }
1434:  }
1434: 
1434: 
1434:       template<typename _Compare2>
1434:  void
1434:  _M_merge_equal(_Compatible_tree<_Compare2>& __src) noexcept
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1434:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1434:      {
1434:        auto __pos = __i++;
1434:        auto __res = _M_get_insert_equal_pos(_KeyOfValue()(*__pos));
1434:        if (__res.second)
1434:   {
1434:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1434:     auto __ptr = _Rb_tree_rebalance_for_erase(
1434:         __pos._M_node, __src_impl._M_header);
1434:     --__src_impl._M_node_count;
1434:     _M_insert_node(__res.first, __res.second,
1434:      static_cast<_Link_type>(__ptr));
1434:   }
1434:      }
1434:  }
1434: 
1434: 
1434:       friend bool
1434:       operator==(const _Rb_tree& __x, const _Rb_tree& __y)
1434:       {
1434:  return __x.size() == __y.size()
1434:    && std::equal(__x.begin(), __x.end(), __y.begin());
1434:       }
1434: # 1620 "/usr/include/c++/12/bits/stl_tree.h" 3
1434:       friend bool
1434:       operator<(const _Rb_tree& __x, const _Rb_tree& __y)
1434:       {
1434:  return std::lexicographical_compare(__x.begin(), __x.end(),
1434:          __y.begin(), __y.end());
1434:       }
1434: 
1434: 
1434:     private:
1434: 
1434: 
1434:       struct _Auto_node
1434:       {
1434:  template<typename... _Args>
1434:    _Auto_node(_Rb_tree& __t, _Args&&... __args)
1434:    : _M_t(__t),
1434:      _M_node(__t._M_create_node(std::forward<_Args>(__args)...))
1434:    { }
1434: 
1434:  ~_Auto_node()
1434:  {
1434:    if (_M_node)
1434:      _M_t._M_drop_node(_M_node);
1434:  }
1434: 
1434:  _Auto_node(_Auto_node&& __n)
1434:  : _M_t(__n._M_t), _M_node(__n._M_node)
1434:  { __n._M_node = nullptr; }
1434: 
1434:  const _Key&
1434:  _M_key() const
1434:  { return _S_key(_M_node); }
1434: 
1434:  iterator
1434:  _M_insert(pair<_Base_ptr, _Base_ptr> __p)
1434:  {
1434:    auto __it = _M_t._M_insert_node(__p.first, __p.second, _M_node);
1434:    _M_node = nullptr;
1434:    return __it;
1434:  }
1434: 
1434:  iterator
1434:  _M_insert_equal_lower()
1434: ts>&
1417:     basic_istream<_CharT, _Traits>::
1417:     putback(char_type __c)
1417:     {
1417: 
1417: 
1417:       _M_gcount = 0;
1417: 
1417:       this->clear(this->rdstate() & ~ios_base::eofbit);
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        const int_type __eof = traits_type::eof();
1417:        __streambuf_type* __sb = this->rdbuf();
1417:        if (!__sb
1417:     || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
1417:   __err |= ios_base::badbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     unget(void)
1417:     {
1417: 
1417: 
1417:       _M_gcount = 0;
1417: 
1417:       this->clear(this->rdstate() & ~ios_base::eofbit);
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        const int_type __eof = traits_type::eof();
1417:        __streambuf_type* __sb = this->rdbuf();
1417:        if (!__sb
1417:     || traits_type::eq_int_type(__sb->sungetc(), __eof))
1417:   __err |= ios_base::badbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     int
1417:     basic_istream<_CharT, _Traits>::
1417:     sync(void)
1417:     {
1417: 
1417: 
1417:       int __ret = -1;
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        __streambuf_type* __sb = this->rdbuf();
1417:        if (__sb)
1417:   {
1417:     if (__sb->pubsync() == -1)
1417:       __err |= ios_base::badbit;
1417:     else
1417:       __ret = 0;
1417:   }
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     typename basic_istream<_CharT, _Traits>::pos_type
1417:     basic_istream<_CharT, _Traits>::
1417:     tellg(void)
1417:     {
1417: 
1417: 
1417:       pos_type __ret = pos_type(-1);
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417:        if (!this->fail())
1417:   __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
1417:         ios_base::in);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     seekg(pos_type __pos)
1417:     {
1417: 
1417: 
1417: 
1417:       this->clear(this->rdstate() & ~ios_base::eofbit);
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        if (!this->fail())
1417:   {
1417: 
1417:     const pos_type __p = this->rdbuf()->pubseekpos(__pos,
1417:          iromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1412:                              ;
1412: 
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1412:                                ;
1412: 
1412: 
1412: extern int canonicalizel (long double *__cx, const long double *__x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern long double fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern long double fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int totalorderl (const long double *__x, const long double *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern int totalordermagl (const long double *__x, const long double *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern long double getpayloadl (const long double *__x) noexcept (true); extern long double __getpayloadl (const long double *__x) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadl (long double *__x, long double __payload) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadsigl (long double *__x, long double __payload) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long double scalbl (long double __x, long double __n) noexcept (true); extern long double __scalbl (long double __x, long double __n) noexcept (true);
1412: # 400 "/usr/include/math.h" 2 3 4
1412: # 450 "/usr/include/math.h" 3 4
1412: # 1 "/ {
1434:    auto __it = _M_t._M_insert_equal_lower_node(_M_node);
1434:    _M_node = nullptr;
1434:    return __it;
1434:  }
1434: 
1434:  _Rb_tree& _M_t;
1434:  _Link_type _M_node;
1434:       };
1434: 
1434:     };
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     inline void
1434:     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
1434:   _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     void
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_move_data(_Rb_tree& __x, false_type)
1434:     {
1434:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1434:  _M_move_data(__x, true_type());
1434:       else
1434:  {
1434:    constexpr bool __move = !__move_if_noexcept_cond<value_type>::value;
1434:    _Alloc_node __an(*this);
1434:    _M_root() = _M_copy<__move>(__x, __an);
1434:    if constexpr (__move)
1434:      __x.clear();
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     inline void
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_move_assign(_Rb_tree& __x, true_type)
1434:     {
1434:       clear();
1434:       if (__x._M_root() != nullptr)
1434:  _M_move_data(__x, true_type());
1434:       std::__alloc_on_move(_M_get_Node_allocator(),
1434:       __x._M_get_Node_allocator());
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     void
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_move_assign(_Rb_tree& __x, false_type)
1434:     {
1434:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1434:  return _M_move_assign(__x, true_type{});
1434: 
1434: 
1434: 
1434:       _Reuse_or_alloc_node __roan(*this);
1434:       _M_impl._M_reset();
1434:       if (__x._M_root() != nullptr)
1434:  {
1434:    _M_root() = _M_copy<__as_rvalue>(__x, __roan);
1434:    __x.clear();
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     operator=(_Rb_tree&& __x)
1434:     noexcept(_Alloc_traits::_S_nothrow_move()
1434:       && is_nothrow_move_assignable<_Compare>::value)
1434:     {
1434:       _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare);
1434:       _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>());
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     template<typename _Iterator>
1434:       void
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_assign_unique(_Iterator __first, _Iterator __last)
1434:       {
1434:  _Reuse_or_alloc_node __roan(*this);
1434:  _M_impl._M_reset();
1434:  for (; __first != __last; ++__first)
1434:    _M_insert_unique_(end(), *__first, __roan);
1434:       }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     template<typename _Iterator>
1434:       void
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_assign_equal(_Iterator __first, _Iterator __last)
1434:       {
1434:  _Reuse_or_alloc_node __roan(*this);
1434:  _M_impl._M_reset();
1434:  for (; __first != __last; ++__first)
1434:    _M_insert_equal_(end(), *__first, __roan);
1434:       }
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     operator=(const _Rb_tree& __x)
1434:     {
1434:       if (this != std::__addressof(__x))
1434:  {
1434: 
1434: 
1434:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1434:      {
1434:        auto& __this_alloc = this->_M_get_Node_allocator();
1434:        auto& __that_alloc = __x._M_get_Node_allocator();
1434:        if (!_Alloc_traits::_S_always_equal()
1434:     && __this_alloc != __that_alloc)
1434:   {
1434: 
1434: 
1434:     clear();
1434:     std::__alloc_on_copy(__this_alloc, __that_alloc);
1434:   }
1434:      }
1434: 
1434: 
1434:    _Reuse_or_alloc_node __roan(*this);
1434:    _M_impl._M_reset();
1434:    _M_impl._M_key_compare = __x._M_impl._M_key_compare;
1434:    if (__x._M_root() != 0)
1434:      _M_root() = _M_copy<__as_lvalue>(__x, __roan);
1434:  }
1434: 
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434: 
1434:     template<typename _Arg, typename _NodeGen>
1434: 
1434: 
1434: 
1434:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_insert_(_Base_ptr __x, _Base_ptr __p,
1434: 
1434:    _Arg&& __v,
1434: 
1434: 
1434: 
1434:    _NodeGen& __node_gen)
1434:       {
1434:  bool __insert_left = (__x != 0 || __p == _M_end()
1434:          || _M_impl._M_key_compare(_KeyOfValue()(__v),
1434:        _S_key(__p)));
1434: 
1434:  _Link_type __z = __node_gen(std::forward<_Arg>(__v));
1434: 
1434:  _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1434:           this->_M_impl._M_header);
1434:  ++_M_impl._M_node_count;
1434:  return iterator(__z);
1434:       }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434: 
1434:     template<typename _Arg>
1434: 
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434: 
1434:     _M_insert_lower(_Base_ptr __p, _Arg&& __v)
1434: 
1434: 
1434: 
1434:     {
1434:       bool __insert_left = (__p == _M_end()
1434:        || !_M_impl._M_key_compare(_S_key(__p),
1434:              _KeyOfValue()(__v)));
1434: 
1434:       _Link_type __z = _M_create_node(std::forward<_Arg>(__v));
1434: 
1434:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1434:         this->_M_impl._M_header);
1434:       ++_M_impl._M_node_count;
1434:       return iterator(__z);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434: 
1434:     template<typename _Arg>
1434: 
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434: 
1434:     _M_insert_equal_lower(_Arg&& __v)
1434: 
1434: 
1434: 
1434:     {
1434:       _Link_type __x = _M_begin();
1434:       _Base_ptr __y = _M_end();
1434:       while (__x != 0)
1434:  {
1434:    __y = __x;
1434:    __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
1434:   _S_left(__x) : _S_right(__x);
1434:  }
1434:       return _M_insert_lower(__y, std::forward<_Arg>(__v));
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KoV,
1434:     typename _Compare, typename _Alloc>
1434:     template<bool _MoveValues, typename _NodeGen>
1434:       typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
1434:       _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
1434:       _M_copy(_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen)
1434:       {
1434: 
1434:  _Link_type __top = _M_clone_node<_MoveValues>(__x, __node_gen);
1434:  __top->_M_parent = __p;
1434: 
1434:  try
1434:    {
1434:      if (__x->_M_right)
1434:        __top->_M_right =
1434:   _M_copy<_MoveValues>(_S_right(__x), __top, __node_gen);
1434:      __p = __top;
1434:      __x = _S_left(__x);
1434: 
os_base::in);
1417: 
1417: 
1417:     if (__p == pos_type(off_type(-1)))
1417:       __err |= ios_base::failbit;
1417:   }
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     basic_istream<_CharT, _Traits>::
1417:     seekg(off_type __off, ios_base::seekdir __dir)
1417:     {
1417: 
1417: 
1417: 
1417:       this->clear(this->rdstate() & ~ios_base::eofbit);
1417:       sentry __cerb(*this, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        if (!this->fail())
1417:   {
1417: 
1417:     const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1417:          ios_base::in);
1417: 
1417: 
1417:     if (__p == pos_type(off_type(-1)))
1417:       __err |= ios_base::failbit;
1417:   }
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        this->_M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { this->_M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      this->setstate(__err);
1417:  }
1417:       return *this;
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
1417:     {
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef typename __istream_type::int_type __int_type;
1417: 
1417:       typename __istream_type::sentry __cerb(__in, false);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        const __int_type __cb = __in.rdbuf()->sbumpc();
1417:        if (!_Traits::eq_int_type(__cb, _Traits::eof()))
1417:   __c = _Traits::to_char_type(__cb);
1417:        else
1417:   __err |= (ios_base::eofbit | ios_base::failbit);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __in._M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __in._M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      __in.setstate(__err);
1417:  }
1417:       return __in;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     void
1417:     __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s,
1417:         streamsize __num)
1417:     {
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1417:       typedef typename _Traits::int_type int_type;
1417:       typedef _CharT char_type;
1417:       typedef ctype<_CharT> __ctype_type;
1417: 
1417:       streamsize __extracted = 0;
1417:       ios_base::iostate __err = ios_base::goodbit;
1417:       typename __istream_type::sentry __cerb(__in, false);
1417:       if (__cerb)
1417:  {
1417:    try
1417:      {
1417: 
1417:        streamsize __width = __in.width();
1417:        if (0 < __width && __width < __num)
1417:   __num = __width;
1417: 
1417:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1417: 
1417:        const int_type __eof = _Traits::eof();
1417:        __streambuf_type* __sb = __in.rdbuf();
1417:        int_type __c = __sb->sgetc();
1417: 
1417:        while (__extracted < __num - 1
1417:        && !_Traits::eq_int_type(__c, __eof)
1417:        && !__ct.is(ctype_base::space,
1417:      _Traits::to_char_type(__c)))
1417:   {
1417:     *__s++ = _Traits::to_char_type(__c);
1417:     ++__extracted;
1417:     __c = __sb->snextc();
1417:   }
1417: 
1417:        if (__extracted < __num - 1
1417:     && _Traits::eq_int_type(__c, __eof))
1417:   __err |= ios_base::eofbit;
1417: 
1417: 
1417: 
11434:      while (__x != 0)
1434:        {
1434:   _Link_type __y = _M_clone_node<_MoveValues>(__x, __node_gen);
1434:   __p->_M_left = __y;
1434:   __y->_M_parent = __p;
1434:   if (__x->_M_right)
1434:     __y->_M_right = _M_copy<_MoveValues>(_S_right(__x),
1434:              __y, __node_gen);
1434:   __p = __y;
1434:   __x = _S_left(__x);
1434:        }
1434:    }
1434:  catch(...)
1434:    {
1434:      _M_erase(__top);
1434:      throw;
1434:    }
1434:  return __top;
1434:       }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     void
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_erase(_Link_type __x)
1434:     {
1434: 
1434:       while (__x != 0)
1434:  {
1434:    _M_erase(_S_right(__x));
1434:    _Link_type __y = _S_left(__x);
1434:    _M_drop_node(__x);
1434:    __x = __y;
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:         _Compare, _Alloc>::iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_lower_bound(_Link_type __x, _Base_ptr __y,
1434:      const _Key& __k)
1434:     {
1434:       while (__x != 0)
1434:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1434:    __y = __x, __x = _S_left(__x);
1434:  else
1434:    __x = _S_right(__x);
1434:       return iterator(__y);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:         _Compare, _Alloc>::const_iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1434:      const _Key& __k) const
1434:     {
1434:       while (__x != 0)
1434:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1434:    __y = __x, __x = _S_left(__x);
1434:  else
1434:    __x = _S_right(__x);
1434:       return const_iterator(__y);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:         _Compare, _Alloc>::iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_upper_bound(_Link_type __x, _Base_ptr __y,
1434:      const _Key& __k)
1434:     {
1434:       while (__x != 0)
1434:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1434:    __y = __x, __x = _S_left(__x);
1434:  else
1434:    __x = _S_right(__x);
1434:       return iterator(__y);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:         _Compare, _Alloc>::const_iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1434:      const _Key& __k) const
1434:     {
1434:       while (__x != 0)
1434:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1434:    __y = __x, __x = _S_left(__x);
1434:  else
1434:    __x = _S_right(__x);
1434:       return const_iterator(__y);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::iterator,
1434:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::iterator>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     equal_range(const _Key& __k)
1434:     {
1434:       _Link_type __x = _M_begin();
1434:       _Base_ptr __y = _M_end();
1434:       while (__x != 0)
1434:  {
1434:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1434:      __x = _S_right(__x);
1434:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1434:      __y = __x, __x = _S_left(__x);
1434:    else
1434:      usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1412: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412:  extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 coshf32 (_Float32 __x) noexcept (true); extern _Float32 __coshf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 sinhf32 (_Float32 __x) noexcept (true); extern _Float32 __sinhf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 tanhf32 (_Float32 __x) noexcept (true); extern _Float32 __tanhf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true)
1412:                                                         ;
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 acoshf32 (_Float32 __x) noexcept (true); extern _Float32 __acoshf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 asinhf32 (_Float32 __x) noexcept (true); extern _Float32 __asinhf32 (_Float32 __x) noexcept (true);
1412: 
1412:  extern _Float32 atanhf32 (_Float32 __x) noexcept (true); extern _Float32 __atanhf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 expf32 (_Float32 __x) noexcept (true); extern _Float32 __expf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) noexcept (true); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) noexcept (true);
1412: 
1412: 
1412: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) noexcept (true); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) noexcept (true);
1412: 
1412: 
1412:  extern _Float32 logf32 (_Float32 __x) noexcept (true); extern _Float32 __logf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32 log10f32 (_Float32 __x) noexcept (true); extern _Float32 __log10f32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412:  extern _Float32 exp10f32 (_Float32 __x) noexcept (true); extern _Float32 __exp10f32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 expm1f32 (_Float32 __x) noexcept (true); extern _Float32 __expm1f32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32 log1pf32 (_Float32 __x) noexcept (true); extern _Float32 __log1pf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32 logbf32 (_Float32 __x) noexcept (true); extern _Float32 __logbf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 exp2f32 (_Float32 __x) noexcept (true); extern _Float32 __exp2f32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32 log2f32 (_Float32 __x) noexcept (true); extern _Float32 __log2f32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 powf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __powf32 (_Flo{
1434:        _Link_type __xu(__x);
1434:        _Base_ptr __yu(__y);
1434:        __y = __x, __x = _S_left(__x);
1434:        __xu = _S_right(__xu);
1434:        return pair<iterator,
1434:      iterator>(_M_lower_bound(__x, __y, __k),
1434:         _M_upper_bound(__xu, __yu, __k));
1434:      }
1434:  }
1434:       return pair<iterator, iterator>(iterator(__y),
1434:           iterator(__y));
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::const_iterator,
1434:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::const_iterator>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     equal_range(const _Key& __k) const
1434:     {
1434:       _Const_Link_type __x = _M_begin();
1434:       _Const_Base_ptr __y = _M_end();
1434:       while (__x != 0)
1434:  {
1434:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1434:      __x = _S_right(__x);
1434:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1434:      __y = __x, __x = _S_left(__x);
1434:    else
1434:      {
1434:        _Const_Link_type __xu(__x);
1434:        _Const_Base_ptr __yu(__y);
1434:        __y = __x, __x = _S_left(__x);
1434:        __xu = _S_right(__xu);
1434:        return pair<const_iterator,
1434:      const_iterator>(_M_lower_bound(__x, __y, __k),
1434:        _M_upper_bound(__xu, __yu, __k));
1434:      }
1434:  }
1434:       return pair<const_iterator, const_iterator>(const_iterator(__y),
1434:         const_iterator(__y));
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     void
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     swap(_Rb_tree& __t)
1434:     noexcept(__is_nothrow_swappable<_Compare>::value)
1434:     {
1434:       if (_M_root() == 0)
1434:  {
1434:    if (__t._M_root() != 0)
1434:      _M_impl._M_move_data(__t._M_impl);
1434:  }
1434:       else if (__t._M_root() == 0)
1434:  __t._M_impl._M_move_data(_M_impl);
1434:       else
1434:  {
1434:    std::swap(_M_root(),__t._M_root());
1434:    std::swap(_M_leftmost(),__t._M_leftmost());
1434:    std::swap(_M_rightmost(),__t._M_rightmost());
1434: 
1434:    _M_root()->_M_parent = _M_end();
1434:    __t._M_root()->_M_parent = __t._M_end();
1434:    std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
1434:  }
1434: 
1434:       std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
1434: 
1434:       _Alloc_traits::_S_on_swap(_M_get_Node_allocator(),
1434:     __t._M_get_Node_allocator());
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr,
1434:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_get_insert_unique_pos(const key_type& __k)
1434:     {
1434:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1434:       _Link_type __x = _M_begin();
1434:       _Base_ptr __y = _M_end();
1434:       bool __comp = true;
1434:       while (__x != 0)
1434:  {
1434:    __y = __x;
1434:    __comp = _M_impl._M_key_compare(__k, _S_key(__x));
1434:    __x = __comp ? _S_left(__x) : _S_right(__x);
1434:  }
1434:       iterator __j = iterator(__y);
1434:       if (__comp)
1434:  {
1434:    if (__j == begin())
1434:      return _Res(__x, __y);
1434:    else
1434:      --__j;
1434:  }
1434:       if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
1434:  return _Res(__x, __y);
1434:       return _Res(__j._M_node, 0);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr,
1434:   ty417:        *__s = char_type();
1417:        __in.width(0);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __in._M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __in._M_setstate(ios_base::badbit); }
1417:  }
1417:       if (!__extracted)
1417:  __err |= ios_base::failbit;
1417:       if (__err)
1417:  __in.setstate(__err);
1417:     }
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     ws(basic_istream<_CharT, _Traits>& __in)
1417:     {
1417:       typedef basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1417:       typedef typename __istream_type::int_type __int_type;
1417:       typedef ctype<_CharT> __ctype_type;
1417: 
1417: 
1417: 
1417:       typename __istream_type::sentry __cerb(__in, true);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1417:        const __int_type __eof = _Traits::eof();
1417:        __streambuf_type* __sb = __in.rdbuf();
1417:        __int_type __c = __sb->sgetc();
1417: 
1417:        while (true)
1417:   {
1417:     if (_Traits::eq_int_type(__c, __eof))
1417:       {
1417:         __err = ios_base::eofbit;
1417:         break;
1417:       }
1417:     if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
1417:       break;
1417:     __c = __sb->snextc();
1417:   }
1417:      }
1417:    catch(const __cxxabiv1::__forced_unwind&)
1417:      {
1417:        __in._M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      {
1417:        __in._M_setstate(ios_base::badbit);
1417:      }
1417:    if (__err)
1417:      __in.setstate(__err);
1417:  }
1417:       return __in;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   extern template class basic_istream<char>;
1417:   extern template istream& ws(istream&);
1417:   extern template istream& operator>>(istream&, char&);
1417:   extern template istream& operator>>(istream&, unsigned char&);
1417:   extern template istream& operator>>(istream&, signed char&);
1417: 
1417:   extern template istream& istream::_M_extract(unsigned short&);
1417:   extern template istream& istream::_M_extract(unsigned int&);
1417:   extern template istream& istream::_M_extract(long&);
1417:   extern template istream& istream::_M_extract(unsigned long&);
1417:   extern template istream& istream::_M_extract(bool&);
1417: 
1417:   extern template istream& istream::_M_extract(long long&);
1417:   extern template istream& istream::_M_extract(unsigned long long&);
1417: 
1417:   extern template istream& istream::_M_extract(float&);
1417:   extern template istream& istream::_M_extract(double&);
1417:   extern template istream& istream::_M_extract(long double&);
1417:   extern template istream& istream::_M_extract(void*&);
1417: 
1417:   extern template class basic_iostream<char>;
1417: 
1417: 
1417:   extern template class basic_istream<wchar_t>;
1417:   extern template wistream& ws(wistream&);
1417:   extern template wistream& operator>>(wistream&, wchar_t&);
1417:   extern template void __istream_extract(wistream&, wchar_t*, streamsize);
1417: 
1417:   extern template wistream& wistream::_M_extract(unsigned short&);
1417:   extern template wistream& wistream::_M_extract(unsigned int&);
1417:   extern template wistream& wistream::_M_extract(long&);
1417:   extern template wistream& wistream::_M_extract(unsigned long&);
1417:   extern template wistream& wistream::_M_extract(bool&);
1417: 
1417:   extern template wistream& wistream::_M_extract(long long&);
1417:   extern template wistream& wistream::_M_extract(unsigned long long&);
1417: 
1417:   extern template wistream& wistream::_M_extract(float&);
1417:   extern template wistream& wistream::_M_extract(double&);
1417:   extern template wistream& wistream::_M_extract(long double&);
1417:   extern template wistream& wistream::_M_expename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_get_insert_equal_pos(const key_type& __k)
1434:     {
1434:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1434:       _Link_type __x = _M_begin();
1434:       _Base_ptr __y = _M_end();
1434:       while (__x != 0)
1434:  {
1434:    __y = __x;
1434:    __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
1434:   _S_left(__x) : _S_right(__x);
1434:  }
1434:       return _Res(__x, __y);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434: 
1434:     template<typename _Arg>
1434: 
1434:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::iterator, bool>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434: 
1434:     _M_insert_unique(_Arg&& __v)
1434: 
1434: 
1434: 
1434:     {
1434:       typedef pair<iterator, bool> _Res;
1434:       pair<_Base_ptr, _Base_ptr> __res
1434:  = _M_get_insert_unique_pos(_KeyOfValue()(__v));
1434: 
1434:       if (__res.second)
1434:  {
1434:    _Alloc_node __an(*this);
1434:    return _Res(_M_insert_(__res.first, __res.second,
1434:      std::forward<_Arg>(__v), __an),
1434:         true);
1434:  }
1434: 
1434:       return _Res(iterator(__res.first), false);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434: 
1434:     template<typename _Arg>
1434: 
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434: 
1434:     _M_insert_equal(_Arg&& __v)
1434: 
1434: 
1434: 
1434:     {
1434:       pair<_Base_ptr, _Base_ptr> __res
1434:  = _M_get_insert_equal_pos(_KeyOfValue()(__v));
1434:       _Alloc_node __an(*this);
1434:       return _M_insert_(__res.first, __res.second,
1434:    std::forward<_Arg>(__v), __an);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr,
1434:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_get_insert_hint_unique_pos(const_iterator __position,
1434:       const key_type& __k)
1434:     {
1434:       iterator __pos = __position._M_const_cast();
1434:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1434: 
1434: 
1434:       if (__pos._M_node == _M_end())
1434:  {
1434:    if (size() > 0
1434:        && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k))
1434:      return _Res(0, _M_rightmost());
1434:    else
1434:      return _M_get_insert_unique_pos(__k);
1434:  }
1434:       else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
1434:  {
1434: 
1434:    iterator __before = __pos;
1434:    if (__pos._M_node == _M_leftmost())
1434:      return _Res(_M_leftmost(), _M_leftmost());
1434:    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
1434:      {
1434:        if (_S_right(__before._M_node) == 0)
1434:   return _Res(0, __before._M_node);
1434:        else
1434:   return _Res(__pos._M_node, __pos._M_node);
1434:      }
1434:    else
1434:      return _M_get_insert_unique_pos(__k);
1434:  }
1434:       else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1434:  {
1434: 
1434:    iterator __after = __pos;
1434:    if (__pos._M_node == _M_rightmost())
1434:      return _Res(0, _M_rightmost());
1434:    else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
1434:      {
1434:        if (_S_right(__pos._M_node) == 0)
1434:   return _Res(0, __pos._M_node);
1434:        else
1434:   return _Res(__after._M_node, __after._M_node);
1434:      }
1434:    else
1434:      return _M_get_insert_unique_pos(__k);
1434:  }
1434:       else
1434: 
1434:  return _Res(__pos._M_node, 0);
1434:  at32 __x, _Float32 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32 sqrtf32 (_Float32 __x) noexcept (true); extern _Float32 __sqrtf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 cbrtf32 (_Float32 __x) noexcept (true); extern _Float32 __cbrtf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) noexcept (true);
1412: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 nanf32 (const char *__tagb) noexcept (true); extern _Float32 __nanf32 (const char *__tagb) noexcept (true);
1412: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float32 j0f32 (_Float32) noexcept (true); extern _Float32 __j0f32 (_Float32) noexcept (true);
1412: extern _Float32 j1f32 (_Float32) noexcept (true); extern _Float32 __j1f32 (_Float32) noexcept (true);
1412: extern _Float32 jnf32 (int, _Float32) noexcept (true); extern _Float32 __jnf32 (int, _Float32) noexcept (true);
1412: extern _Float32 y0f32 (_Float32) noexcept (true); extern _Float32 __y0f32 (_Float32) noexcept (true);
1412: extern _Float32 y1f32 (_Float32) noexcept (true); extern _Float32 __y1f32 (_Float32) noexcept (true);
1412: extern _Float32 ynf32 (int, _Float32) noexcept (true); extern _Float32 __ynf32 (int, _Float32) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32 erff32 (_Float32) noexcept (true); extern _Float32 __erff32 (_Float32) noexcept (true);
1412:  extern _Float32 erfcf32 (_Float32) noexcept (true); extern _Float32 __erfcf32 (_Float32) noexcept (true);
1412: extern _Float32 lgammaf32 (_Float32) noexcept (true); extern _Float32 __lgammaf32 (_Float32) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 tgammaf32 (_Float32) noexcept (true); extern _Float32 __tgammaf32 (_Float32) noexcept (true);
1412: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) noexcept (true); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 rintf32 (_Float32 __x) noexcept (true); extern _Float32 __rintf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 nextdownf32 (_Float32 __x) noexcept (true); extern _Float32 __nextdownf32 (_Float32 __x) noexcept (true);
1412: 
1412: extern _Float32 nextupf32 (_Float32 __x) noexcept (true); extern _Float32 __nextupf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32 scalbnf32 (_Float32 __x, int __n) noexcept (true); extern _Float32   }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434: 
1434:     template<typename _Arg, typename _NodeGen>
1434: 
1434: 
1434: 
1434:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_insert_unique_(const_iterator __position,
1434: 
1434:    _Arg&& __v,
1434: 
1434: 
1434: 
1434:    _NodeGen& __node_gen)
1434:     {
1434:       pair<_Base_ptr, _Base_ptr> __res
1434:  = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v));
1434: 
1434:       if (__res.second)
1434:  return _M_insert_(__res.first, __res.second,
1434:      std::forward<_Arg>(__v),
1434:      __node_gen);
1434:       return iterator(__res.first);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr,
1434:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:       _Compare, _Alloc>::_Base_ptr>
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k)
1434:     {
1434:       iterator __pos = __position._M_const_cast();
1434:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1434: 
1434: 
1434:       if (__pos._M_node == _M_end())
1434:  {
1434:    if (size() > 0
1434:        && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost())))
1434:      return _Res(0, _M_rightmost());
1434:    else
1434:      return _M_get_insert_equal_pos(__k);
1434:  }
1434:       else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1434:  {
1434: 
1434:    iterator __before = __pos;
1434:    if (__pos._M_node == _M_leftmost())
1434:      return _Res(_M_leftmost(), _M_leftmost());
1434:    else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node)))
1434:      {
1434:        if (_S_right(__before._M_node) == 0)
1434:   return _Res(0, __before._M_node);
1434:        else
1434:   return _Res(__pos._M_node, __pos._M_node);
1434:      }
1434:    else
1434:      return _M_get_insert_equal_pos(__k);
1434:  }
1434:       else
1434:  {
1434: 
1434:    iterator __after = __pos;
1434:    if (__pos._M_node == _M_rightmost())
1434:      return _Res(0, _M_rightmost());
1434:    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k))
1434:      {
1434:        if (_S_right(__pos._M_node) == 0)
1434:   return _Res(0, __pos._M_node);
1434:        else
1434:   return _Res(__after._M_node, __after._M_node);
1434:      }
1434:    else
1434:      return _Res(0, 0);
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434: 
1434:     template<typename _Arg, typename _NodeGen>
1434: 
1434: 
1434: 
1434:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_insert_equal_(const_iterator __position,
1434: 
1434:          _Arg&& __v,
1434: 
1434: 
1434: 
1434:          _NodeGen& __node_gen)
1434:       {
1434:  pair<_Base_ptr, _Base_ptr> __res
1434:    = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v));
1434: 
1434:  if (__res.second)
1434:    return _M_insert_(__res.first, __res.second,
1434:        std::forward<_Arg>(__v),
1434:        __node_gen);
1434: 
1434:  return _M_insert_equal_lower(std::forward<_Arg>(__v));
1434:       }
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     auto
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z)
1434:     -> iterator
1434:     {
1434:       bool __insert_left = (__x != 0 || __p == _M_end()
1434:        || _M_impl._M_key_compare(_S_key(__z),
1434:             _S_key(__p)));
1434: 
1434:       _Rb_tree_insert_and_rebatract(void*&);
1417: 
1417:   extern template class basic_iostream<wchar_t>;
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 1017 "/usr/include/c++/12/istream" 2 3
1417: # 39 "/usr/include/c++/12/sstream" 2 3
1417: # 48 "/usr/include/c++/12/sstream" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: namespace __cxx11 {
1417: # 71 "/usr/include/c++/12/sstream" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
1417:     {
1417:       struct __xfer_bufptrs;
1417: 
1417: 
1417:       using allocator_traits = std::allocator_traits<_Alloc>;
1417:       using _Noexcept_swap
1417:  = __or_<typename allocator_traits::propagate_on_container_swap,
1417:   typename allocator_traits::is_always_equal>;
1417: 
1417: 
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417:       typedef _Alloc allocator_type;
1417:       typedef typename traits_type::int_type int_type;
1417:       typedef typename traits_type::pos_type pos_type;
1417:       typedef typename traits_type::off_type off_type;
1417: 
1417:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1417:       typedef basic_string<char_type, _Traits, _Alloc> __string_type;
1417:       typedef typename __string_type::size_type __size_type;
1417: 
1417:     protected:
1417: 
1417:       ios_base::openmode _M_mode;
1417: 
1417: 
1417:       __string_type _M_string;
1417: 
1417:     public:
1417: # 114 "/usr/include/c++/12/sstream" 3
1417:       basic_stringbuf()
1417:       : __streambuf_type(), _M_mode(ios_base::in | ios_base::out), _M_string()
1417:       { }
1417: # 125 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_stringbuf(ios_base::openmode __mode)
1417:       : __streambuf_type(), _M_mode(__mode), _M_string()
1417:       { }
1417: # 138 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_stringbuf(const __string_type& __str,
1417:         ios_base::openmode __mode = ios_base::in | ios_base::out)
1417:       : __streambuf_type(), _M_mode(),
1417:  _M_string(__str.data(), __str.size(), __str.get_allocator())
1417:       { _M_stringbuf_init(__mode); }
1417: 
1417: 
1417:       basic_stringbuf(const basic_stringbuf&) = delete;
1417: 
1417:       basic_stringbuf(basic_stringbuf&& __rhs)
1417:       : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this))
1417:       { __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0); }
1417: # 202 "/usr/include/c++/12/sstream" 3
1417:       basic_stringbuf&
1417:       operator=(const basic_stringbuf&) = delete;
1417: 
1417:       basic_stringbuf&
1417:       operator=(basic_stringbuf&& __rhs)
1417:       {
1417:  __xfer_bufptrs __st{__rhs, this};
1417:  const __streambuf_type& __base = __rhs;
1417:  __streambuf_type::operator=(__base);
1417:  this->pubimbue(__rhs.getloc());
1417:  _M_mode = __rhs._M_mode;
1417:  _M_string = std::move(__rhs._M_string);
1417:  __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(basic_stringbuf& __rhs) noexcept(_Noexcept_swap::value)
1417:       {
1417:  __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)};
1417:  __xfer_bufptrs __r_st{__rhs, this};
1417:  __streambuf_type& __base = __rhs;
1417:  __streambuf_type::swap(__base);
1417:  __rhs.pubimbue(this->pubimbue(__rhs.getloc()));
1417:  std::swap(_M_mode, __rhs._M_mode);
1417:  std::swap(_M_string, __rhs._M_string);
1417:       }
1417: # 241 "/usr/include/c++/12/sstream" 3
1417:       __string_type
1417:       str() const
1417:       {
1417:  __string_type __ret(_M_string.get_allocator());
1417:  if (char_type* __hi = _M_high_mark())
1417:    __ret.assign(this->pbase(), __hi);
1417:  else
1417:    __ret = _M_string;
1417:  return __ret;
1417:       }
1417: # 294 "/usr/include/c++/12/sstream" 3
1417:       void
1417:       str(const __string_type& __s)
1417:       {
1417: 
1417: 
1417:  _M_stri __scalbnf32 (_Float32 __x, int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int ilogbf32 (_Float32 __x) noexcept (true); extern int __ilogbf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long int llogbf32 (_Float32 __x) noexcept (true); extern long int __llogbf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 scalblnf32 (_Float32 __x, long int __n) noexcept (true); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32 nearbyintf32 (_Float32 __x) noexcept (true); extern _Float32 __nearbyintf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32 roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern _Float32 truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int lrintf32 (_Float32 __x) noexcept (true); extern long int __lrintf32 (_Float32 __x) noexcept (true);
1412: __extension__
1412: extern long long int llrintf32 (_Float32 __x) noexcept (true); extern long long int __llrintf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long int lroundf32 (_Float32 __x) noexcept (true); extern long int __lroundf32 (_Float32 __x) noexcept (true);
1412: __extension__
1412: extern long long int llroundf32 (_Float32 __x) noexcept (true); extern long long int __llroundf32 (_Float32 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1412:                             ;
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1412:                               ;
1412: 
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1412:                              ;
1412: 
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1412:                                ;
1412: 
1412: 
1412: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: lance(__insert_left, __z, __p,
1434:         this->_M_impl._M_header);
1434:       ++_M_impl._M_node_count;
1434:       return iterator(__z);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     auto
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_insert_lower_node(_Base_ptr __p, _Link_type __z)
1434:     -> iterator
1434:     {
1434:       bool __insert_left = (__p == _M_end()
1434:        || !_M_impl._M_key_compare(_S_key(__p),
1434:              _S_key(__z)));
1434: 
1434:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1434:         this->_M_impl._M_header);
1434:       ++_M_impl._M_node_count;
1434:       return iterator(__z);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     auto
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_insert_equal_lower_node(_Link_type __z)
1434:     -> iterator
1434:     {
1434:       _Link_type __x = _M_begin();
1434:       _Base_ptr __y = _M_end();
1434:       while (__x != 0)
1434:  {
1434:    __y = __x;
1434:    __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ?
1434:   _S_left(__x) : _S_right(__x);
1434:  }
1434:       return _M_insert_lower_node(__y, __z);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     template<typename... _Args>
1434:       auto
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_emplace_unique(_Args&&... __args)
1434:       -> pair<iterator, bool>
1434:       {
1434:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1434:  auto __res = _M_get_insert_unique_pos(__z._M_key());
1434:  if (__res.second)
1434:    return {__z._M_insert(__res), true};
1434:  return {iterator(__res.first), false};
1434:       }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     template<typename... _Args>
1434:       auto
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_emplace_equal(_Args&&... __args)
1434:       -> iterator
1434:       {
1434:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1434:  auto __res = _M_get_insert_equal_pos(__z._M_key());
1434:  return __z._M_insert(__res);
1434:       }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     template<typename... _Args>
1434:       auto
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args)
1434:       -> iterator
1434:       {
1434:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1434:  auto __res = _M_get_insert_hint_unique_pos(__pos, __z._M_key());
1434:  if (__res.second)
1434:    return __z._M_insert(__res);
1434:  return iterator(__res.first);
1434:       }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     template<typename... _Args>
1434:       auto
1434:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:       _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args)
1434:       -> iterator
1434:       {
1434:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1434:  auto __res = _M_get_insert_hint_equal_pos(__pos, __z._M_key());
1434:  if (__res.second)
1434:    return __z._M_insert(__res);
1434:  return __z._M_insert_equal_lower();
1434:       }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     void
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_erase_aux(const_iterator __position)
1434:     {
1434:       _Link_type __y =
1434:  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
1434:     (const_cast<_Base_ptr>(__position._M_node),
1434:      this->_M_impl._M_header));
1434:       _M_drop_node(__y);
1434:       --_M_impl._M_node_count;
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     void
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     _M_erase_aux(const_iterator __first, const_iterator __last)
1434:     {
1434:       if (__first == begin() && __last == end())
1434:  clear();
1434:       else
1434:  while (__first != __last)
1434:    _M_erase_aux(__first++);
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     erase(const _Key& __x)
1434:     {
1434:       pair<iterator, iterator> __p = equal_range(__x);
1434:       const size_type __old_size = size();
1434:       _M_erase_aux(__p.first, __p.second);
1434:       return __old_size - size();
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:         _Compare, _Alloc>::iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     find(const _Key& __k)
1434:     {
1434:       iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1434:       return (__j == end()
1434:        || _M_impl._M_key_compare(__k,
1434:      _S_key(__j._M_node))) ? end() : __j;
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1434:         _Compare, _Alloc>::const_iterator
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     find(const _Key& __k) const
1434:     {
1434:       const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1434:       return (__j == end()
1434:        || _M_impl._M_key_compare(__k,
1434:      _S_key(__j._M_node))) ? end() : __j;
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1434:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1434:     count(const _Key& __k) const
1434:     {
1434:       pair<const_iterator, const_iterator> __p = equal_range(__k);
1434:       const size_type __n = std::distance(__p.first, __p.second);
1434:       return __n;
1434:     }
1434: 
1434:   __attribute__ ((__pure__)) unsigned int
1434:   _Rb_tree_black_count(const _Rb_tree_node_base* __node,
1434:          const _Rb_tree_node_base* __root) throw ();
1434: 
1434:   template<typename _Key, typename _Val, typename _KeyOfValue,
1434:     typename _Compare, typename _Alloc>
1434:     bool
1434:     _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
1434:     {
1434:       if (_M_impl._M_node_count == 0 || begin() == end())
1434:  return _M_impl._M_node_count == 0 && begin() == end()
1434:         && this->_M_impl._M_header._M_left == _M_end()
1434:         && this->_M_impl._M_header._M_right == _M_end();
1434: 
1434:       unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
1434:       for (const_iterator __it = begin(); __it != end(); ++__it)
1434:  {
1434:    _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
1434:    _Const_Link_type __L = _S_left(__x);
1434:    _Const_Link_type __R = _S_right(__x);
1434: 
1434:    if (__x->_M_color == _S_red)
1434:      if ((__L && __L->_M_color == _S_red)
1434:   || (__R && __R->_M_color == _S_red))
1434:        return false;
1434: 
1434:    if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
1434:      return false;
1434:    if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
1434:      return false;
1434: 
1434:    if (!__L && !__R && _Rb_tree_blang.assign(__s.data(), __s.size());
1417:  _M_stringbuf_init(_M_mode);
1417:       }
1417: # 323 "/usr/include/c++/12/sstream" 3
1417:     protected:
1417: 
1417:       void
1417:       _M_stringbuf_init(ios_base::openmode __mode)
1417:       {
1417:  _M_mode = __mode;
1417:  __size_type __len = 0;
1417:  if (_M_mode & (ios_base::ate | ios_base::app))
1417:    __len = _M_string.size();
1417:  _M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
1417:       }
1417: 
1417:       virtual streamsize
1417:       showmanyc()
1417:       {
1417:  streamsize __ret = -1;
1417:  if (_M_mode & ios_base::in)
1417:    {
1417:      _M_update_egptr();
1417:      __ret = this->egptr() - this->gptr();
1417:    }
1417:  return __ret;
1417:       }
1417: 
1417:       virtual int_type
1417:       underflow();
1417: 
1417:       virtual int_type
1417:       pbackfail(int_type __c = traits_type::eof());
1417: 
1417:       virtual int_type
1417:       overflow(int_type __c = traits_type::eof());
1417: # 367 "/usr/include/c++/12/sstream" 3
1417:       virtual __streambuf_type*
1417:       setbuf(char_type* __s, streamsize __n)
1417:       {
1417:  if (__s && __n >= 0)
1417:    {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:      _M_string.clear();
1417: 
1417: 
1417:      _M_sync(__s, __n, 0);
1417:    }
1417:  return this;
1417:       }
1417: 
1417:       virtual pos_type
1417:       seekoff(off_type __off, ios_base::seekdir __way,
1417:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1417: 
1417:       virtual pos_type
1417:       seekpos(pos_type __sp,
1417:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       _M_sync(char_type* __base, __size_type __i, __size_type __o);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_update_egptr()
1417:       {
1417:  if (char_type* __pptr = this->pptr())
1417:    {
1417:      char_type* __egptr = this->egptr();
1417:      if (!__egptr || __pptr > __egptr)
1417:        {
1417:   if (_M_mode & ios_base::in)
1417:     this->setg(this->eback(), this->gptr(), __pptr);
1417:   else
1417:     this->setg(__pptr, __pptr, __pptr);
1417:        }
1417:    }
1417:       }
1417: 
1417: 
1417: 
1417:       void
1417:       _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off);
1417: 
1417:     private:
1417: 
1417: 
1417: 
1417: 
1417:       __attribute__((__always_inline__))
1417:       char_type*
1417:       _M_high_mark() const noexcept
1417:       {
1417:  if (char_type* __pptr = this->pptr())
1417:    {
1417:      char_type* __egptr = this->egptr();
1417:      if (!__egptr || __pptr > __egptr)
1417:        return __pptr;
1417:      else
1417:        return __egptr;
1417:    }
1417:  return 0;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       struct __xfer_bufptrs
1417:       {
1417:  __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to)
1417:  : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1}
1417:  {
1417:    const _CharT* const __str = __from._M_string.data();
1417:    const _CharT* __end = nullptr;
1417:    if (__from.eback())
1417:      {
1417:        _M_goff[0] = __from.eback() - __str;
1417:        _M_goff[1] = __from.gptr() - __str;
1417:        _M_goff[2] = __from.egptr() - __str;
1417:        __end = __from.egptr();
1417:      }
1417:    if (__from.pbase())
1417:      {
1417:        _M_poff[0] = __from.pbase() - __str;
1417:        _M_poff[1] = __from.pptr() - __from.pbase();
1417:        _M_poff[2] = __from.epptr() - __str;
1417:        if (!__end || __from.pptr() > __end)
1417:   __end = __from.pptr();
1417:      }
1417: 
1417: 
1417:    if (__end)
1417:      {
1417: 
1417: 
1417:        auto& __mut_from = const_cast<basic_stringbuf&>(__from);
1417:        __mut_from._M_string._M_length(__end - __str);
1417:      }
1417:  }
1417: 
1417:  ~__xfer_bufptrs()
1417:  {
1417:    char_type* __str = const_cast<char_type*>(_M_to->_M_string.data());
1417:    if (_M_goff[0] != -1)
1417:      _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]);
1417:    if (_M_
1412: 
1412: extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern _Float32 getpayloadf32 (const _Float32 *__x) noexcept (true); extern _Float32 __getpayloadf32 (const _Float32 *__x) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1412: # 451 "/usr/include/math.h" 2 3 4
1412: # 467 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1412: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412:  extern _Float64 acosf64 (_Float64 __x) noexcept (true); extern _Float64 __acosf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 asinf64 (_Float64 __x) noexcept (true); extern _Float64 __asinf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 atanf64 (_Float64 __x) noexcept (true); extern _Float64 __atanf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) noexcept (true); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float64 cosf64 (_Float64 __x) noexcept (true); extern _Float64 __cosf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 sinf64 (_Float64 __x) noexcept (true); extern _Float64 __sinf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 tanf64 (_Float64 __x) noexcept (true); extern _Float64 ck_count(__x, _M_root()) != __len)
1434:      return false;
1434:  }
1434: 
1434:       if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
1434:  return false;
1434:       if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
1434:  return false;
1434:       return true;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Sel, typename _Cmp1,
1434:     typename _Alloc, typename _Cmp2>
1434:     struct _Rb_tree_merge_helper<_Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>,
1434:      _Cmp2>
1434:     {
1434:     private:
1434:       friend class _Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_impl(_Rb_tree<_Key, _Val, _Sel, _Cmp2, _Alloc>& __tree)
1434:       { return __tree._M_impl; }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 61 "/usr/include/c++/12/set" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_set.h" 1 3
1434: # 64 "/usr/include/c++/12/bits/stl_set.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     class multiset;
1434: # 92 "/usr/include/c++/12/bits/stl_set.h" 3
1434:   template<typename _Key, typename _Compare = std::less<_Key>,
1434:     typename _Alloc = std::allocator<_Key> >
1434:     class set
1434:     {
1434: # 108 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1434:    "std::set must have a non-const, non-volatile value_type");
1434: 
1434:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1434:    "std::set must have the same value_type as its allocator");
1434: 
1434: 
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _Key key_type;
1434:       typedef _Key value_type;
1434:       typedef _Compare key_compare;
1434:       typedef _Compare value_compare;
1434:       typedef _Alloc allocator_type;
1434: 
1434: 
1434:     private:
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_Key>::other _Key_alloc_type;
1434: 
1434:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1434:          key_compare, _Key_alloc_type> _Rep_type;
1434:       _Rep_type _M_t;
1434: 
1434:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1434: 
1434:     public:
1434: 
1434: 
1434:       typedef typename _Alloc_traits::pointer pointer;
1434:       typedef typename _Alloc_traits::const_pointer const_pointer;
1434:       typedef typename _Alloc_traits::reference reference;
1434:       typedef typename _Alloc_traits::const_reference const_reference;
1434: 
1434: 
1434: 
1434:       typedef typename _Rep_type::const_iterator iterator;
1434:       typedef typename _Rep_type::const_iterator const_iterator;
1434:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1434:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1434:       typedef typename _Rep_type::size_type size_type;
1434:       typedef typename _Rep_type::difference_type difference_type;
1434: 
1434: 
1434: 
1434:       using node_type = typename _Rep_type::node_type;
1434:       using insert_return_type = typename _Rep_type::insert_return_type;
1434: # 167 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       set() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       set(const _Compare& __comp,
1434:    const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1434: # 190 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       template<typename _InputIterator>
1434:  set(_InputIterator __first, _InputIterator __last)
1434:  : _M_t()
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: # 207 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       template<typename _InputIterator>
1434:  set(_InputIterator __first, _InputIterator __last,
1434:      const _Compare& __comp,
1434:      const allocator_type& __a = allocator_type())
1434:  : _M_t(__comp, _Key_alloc_type(__a))
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: # 223 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       set(const set&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       set(set&&) = default;
1434: # 243 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       set(initializer_list<value_type> __l,
1434:    const _Compare& __comp = _Compare(),
1434:    const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Key_alloc_type(__a))
1434:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       explicit
1434:       set(const allocator_type& __a)
1434:       : _M_t(_Key_alloc_type(__a)) { }
1434: 
1434: 
1434:       set(const set& __x, const __type_identity_t<allocator_type>& __a)
1434:       : _M_t(__x._M_t, _Key_alloc_type(__a)) { }
1434: 
1434: 
1434:       set(set&& __x, const __type_identity_t<allocator_type>& __a)
1434:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1434:         && _Alloc_traits::_S_always_equal())
1434:       : _M_t(std::move(__x._M_t), _Key_alloc_type(__a)) { }
1434: 
1434: 
1434:       set(initializer_list<value_type> __l, const allocator_type& __a)
1434:       : _M_t(_Key_alloc_type(__a))
1434:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434:  set(_InputIterator __first, _InputIterator __last,
1434:      const allocator_type& __a)
1434:  : _M_t(_Key_alloc_type(__a))
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~set() = default;
1434: # 297 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       set&
1434:       operator=(const set&) = default;
1434: 
1434: 
1434:       set&
1434:       operator=(set&&) = default;
1434: # 315 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       set&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_t._M_assign_unique(__l.begin(), __l.end());
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       key_compare
1434:       key_comp() const
1434:       { return _M_t.key_comp(); }
1434: 
1434:       value_compare
1434:       value_comp() const
1434:       { return _M_t.key_comp(); }
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_t.get_allocator()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       begin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       cbegin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       cend() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       crbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       crend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_t.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_t.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_t.max_size(); }
1434: # 440 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       void
1434:       swap(set& __x)
1434:       noexcept(__is_nothrow_swappable<_Compare>::value)
1434:       { _M_t.swap(__x._M_t); }
1434:poff[0] != -1)
1417:      _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]);
1417:  }
1417: 
1417:  basic_stringbuf* _M_to;
1417:  off_type _M_goff[3];
1417:  off_type _M_poff[3];
1417:       };
1417: # 503 "/usr/include/c++/12/sstream" 3
1417:       basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&)
1417:       : __streambuf_type(static_cast<const __streambuf_type&>(__rhs)),
1417:       _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string))
1417:       { }
1417: # 518 "/usr/include/c++/12/sstream" 3
1417:     };
1417: # 536 "/usr/include/c++/12/sstream" 3
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     class basic_istringstream : public basic_istream<_CharT, _Traits>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417:       typedef _Alloc allocator_type;
1417:       typedef typename traits_type::int_type int_type;
1417:       typedef typename traits_type::pos_type pos_type;
1417:       typedef typename traits_type::off_type off_type;
1417: 
1417: 
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1417:       typedef basic_istream<char_type, traits_type> __istream_type;
1417: 
1417:     private:
1417:       __stringbuf_type _M_stringbuf;
1417: 
1417:     public:
1417: # 570 "/usr/include/c++/12/sstream" 3
1417:       basic_istringstream()
1417:       : __istream_type(), _M_stringbuf(ios_base::in)
1417:       { this->init(&_M_stringbuf); }
1417: # 586 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_istringstream(ios_base::openmode __mode)
1417:       : __istream_type(), _M_stringbuf(__mode | ios_base::in)
1417:       { this->init(&_M_stringbuf); }
1417: # 604 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_istringstream(const __string_type& __str,
1417:      ios_base::openmode __mode = ios_base::in)
1417:       : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in)
1417:       { this->init(&_M_stringbuf); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~basic_istringstream()
1417:       { }
1417: 
1417: 
1417:       basic_istringstream(const basic_istringstream&) = delete;
1417: 
1417:       basic_istringstream(basic_istringstream&& __rhs)
1417:       : __istream_type(std::move(__rhs)),
1417:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1417:       { __istream_type::set_rdbuf(&_M_stringbuf); }
1417: # 661 "/usr/include/c++/12/sstream" 3
1417:       basic_istringstream&
1417:       operator=(const basic_istringstream&) = delete;
1417: 
1417:       basic_istringstream&
1417:       operator=(basic_istringstream&& __rhs)
1417:       {
1417:  __istream_type::operator=(std::move(__rhs));
1417:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(basic_istringstream& __rhs)
1417:       {
1417:  __istream_type::swap(__rhs);
1417:  _M_stringbuf.swap(__rhs._M_stringbuf);
1417:       }
1417: # 687 "/usr/include/c++/12/sstream" 3
1417:       __stringbuf_type*
1417:       rdbuf() const
1417:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       __string_type
1417:       str() const
1417:       { return _M_stringbuf.str(); }
1417: # 722 "/usr/include/c++/12/sstream" 3
1417:       void
1417:       str(const __string_type& __s)
1417:       { _M_stringbuf.str(__s); }
1417: # 739 "/usr/include/c++/12/sstream" 3
1417:     };
1417: # 757 "/usr/include/c++/12/sstream" 3
1417:   template <typename _CharT, typename _Traits, typename _Alloc>
1417:     class basic_ostringstream : public basic_ostream<_CharT, _Traits>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417:       typedef _Alloc allocator_type;
1417:       typedef typename traits_type::int_type int_type;
1417:       typedef typename traits_type::pos_type pos_type;
14 # 460 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       template<typename... _Args>
1434:  std::pair<iterator, bool>
1434:  emplace(_Args&&... __args)
1434:  { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
1434: # 486 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  {
1434:    return _M_t._M_emplace_hint_unique(__pos,
1434:           std::forward<_Args>(__args)...);
1434:  }
1434: # 508 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       std::pair<iterator, bool>
1434:       insert(const value_type& __x)
1434:       {
1434:  std::pair<typename _Rep_type::iterator, bool> __p =
1434:    _M_t._M_insert_unique(__x);
1434:  return std::pair<iterator, bool>(__p.first, __p.second);
1434:       }
1434: 
1434: 
1434:       std::pair<iterator, bool>
1434:       insert(value_type&& __x)
1434:       {
1434:  std::pair<typename _Rep_type::iterator, bool> __p =
1434:    _M_t._M_insert_unique(std::move(__x));
1434:  return std::pair<iterator, bool>(__p.first, __p.second);
1434:       }
1434: # 545 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       iterator
1434:       insert(const_iterator __position, const value_type& __x)
1434:       { return _M_t._M_insert_unique_(__position, __x); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __position, value_type&& __x)
1434:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1434: # 564 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: # 577 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { this->insert(__l.begin(), __l.end()); }
1434: 
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_t.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __x)
1434:       { return _M_t.extract(__x); }
1434: 
1434: 
1434:       insert_return_type
1434:       insert(node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1434: 
1434:       template<typename, typename>
1434:  friend struct std::_Rb_tree_merge_helper;
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(set<_Key, _Compare1, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1434:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1434:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1434:  { merge(__source); }
1434: # 652 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_t.erase(__position); }
1434: # 683 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_t.erase(__x); }
1434: # 704 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __tanf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 coshf64 (_Float64 __x) noexcept (true); extern _Float64 __coshf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 sinhf64 (_Float64 __x) noexcept (true); extern _Float64 __sinhf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 tanhf64 (_Float64 __x) noexcept (true); extern _Float64 __tanhf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true)
1412:                                                         ;
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 acoshf64 (_Float64 __x) noexcept (true); extern _Float64 __acoshf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 asinhf64 (_Float64 __x) noexcept (true); extern _Float64 __asinhf64 (_Float64 __x) noexcept (true);
1412: 
1412:  extern _Float64 atanhf64 (_Float64 __x) noexcept (true); extern _Float64 __atanhf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 expf64 (_Float64 __x) noexcept (true); extern _Float64 __expf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) noexcept (true); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) noexcept (true);
1412: 
1412: 
1412: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) noexcept (true); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) noexcept (true);
1412: 
1412: 
1412:  extern _Float64 logf64 (_Float64 __x) noexcept (true); extern _Float64 __logf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float64 log10f64 (_Float64 __x) noexcept (true); extern _Float64 __log10f64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412:  extern _Float64 exp10f64 (_Float64 __x) noexcept (true); extern _Float64 __exp10f64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 expm1f64 (_Float64 __x) noexcept (true); extern _Float64 __expm1f64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float64 log1pf64 (_Float64 __x) noexcept (true); extern _Float64 __log1pf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float64 logbf64 (_Float64 __x) noexcept (true); extern _Float64 __logbf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 exp2f64 (_Float64 __x) noexcept (true); extern _Float64 __exp2f64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float64 log2f64 (_Float64 __x) noexcept (true); extern _Float64 __log2f64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 powf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float64 sqrtf64 (_Float64 __x) noexcept (true); extern _Float64 __sqrtf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 cbrtf64 (_Float64 __x) noexcept (true); extern _Float64 __cbrtf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__cons__last)
1434:       { return _M_t.erase(__first, __last); }
1434: # 732 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       void
1434:       clear() noexcept
1434:       { _M_t.clear(); }
1434: # 747 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  count(const _Kt& __x) const
1434:  -> decltype(_M_t._M_count_tr(__x))
1434:  { return _M_t._M_count_tr(__x); }
1434: # 793 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_t.find(__x); }
1434: 
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_t.find(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x)
1434:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1434:  { return iterator{_M_t._M_find_tr(__x)}; }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x) const
1434:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1434:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1434: # 828 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       iterator
1434:       lower_bound(const key_type& __x)
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434:       const_iterator
1434:       lower_bound(const key_type& __x) const
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bound(const _Kt& __x) const
1434:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1434: # 858 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       iterator
1434:       upper_bound(const key_type& __x)
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434:       const_iterator
1434:       upper_bound(const key_type& __x) const
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x) const
1434:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1434: # 897 "/usr/include/c++/12/bits/stl_set.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_t.equal_range(__x); }
1434: 
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_t.equal_range(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x)
1434:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1434:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x) const
1434:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1434:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1434: 
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Compare =
1434:       less<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename _Allocator =
1434:       allocator<typename17:       typedef typename traits_type::off_type off_type;
1417: 
1417: 
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1417:       typedef basic_ostream<char_type, traits_type> __ostream_type;
1417: 
1417:     private:
1417:       __stringbuf_type _M_stringbuf;
1417: 
1417:     public:
1417: # 791 "/usr/include/c++/12/sstream" 3
1417:       basic_ostringstream()
1417:       : __ostream_type(), _M_stringbuf(ios_base::out)
1417:       { this->init(&_M_stringbuf); }
1417: # 807 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_ostringstream(ios_base::openmode __mode)
1417:       : __ostream_type(), _M_stringbuf(__mode | ios_base::out)
1417:       { this->init(&_M_stringbuf); }
1417: # 825 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_ostringstream(const __string_type& __str,
1417:      ios_base::openmode __mode = ios_base::out)
1417:       : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out)
1417:       { this->init(&_M_stringbuf); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~basic_ostringstream()
1417:       { }
1417: 
1417: 
1417:       basic_ostringstream(const basic_ostringstream&) = delete;
1417: 
1417:       basic_ostringstream(basic_ostringstream&& __rhs)
1417:       : __ostream_type(std::move(__rhs)),
1417:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1417:       { __ostream_type::set_rdbuf(&_M_stringbuf); }
1417: # 882 "/usr/include/c++/12/sstream" 3
1417:       basic_ostringstream&
1417:       operator=(const basic_ostringstream&) = delete;
1417: 
1417:       basic_ostringstream&
1417:       operator=(basic_ostringstream&& __rhs)
1417:       {
1417:  __ostream_type::operator=(std::move(__rhs));
1417:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(basic_ostringstream& __rhs)
1417:       {
1417:  __ostream_type::swap(__rhs);
1417:  _M_stringbuf.swap(__rhs._M_stringbuf);
1417:       }
1417: # 908 "/usr/include/c++/12/sstream" 3
1417:       __stringbuf_type*
1417:       rdbuf() const
1417:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       __string_type
1417:       str() const
1417:       { return _M_stringbuf.str(); }
1417: # 943 "/usr/include/c++/12/sstream" 3
1417:       void
1417:       str(const __string_type& __s)
1417:       { _M_stringbuf.str(__s); }
1417: # 960 "/usr/include/c++/12/sstream" 3
1417:     };
1417: # 978 "/usr/include/c++/12/sstream" 3
1417:   template <typename _CharT, typename _Traits, typename _Alloc>
1417:     class basic_stringstream : public basic_iostream<_CharT, _Traits>
1417:     {
1417:     public:
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417: 
1417: 
1417:       typedef _Alloc allocator_type;
1417:       typedef typename traits_type::int_type int_type;
1417:       typedef typename traits_type::pos_type pos_type;
1417:       typedef typename traits_type::off_type off_type;
1417: 
1417: 
1417:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1417:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1417:       typedef basic_iostream<char_type, traits_type> __iostream_type;
1417: 
1417:     private:
1417:       __stringbuf_type _M_stringbuf;
1417: 
1417:     public:
1417: # 1012 "/usr/include/c++/12/sstream" 3
1417:       basic_stringstream()
1417:       : __iostream_type(), _M_stringbuf(ios_base::out | ios_base::in)
1417:       { this->init(&_M_stringbuf); }
1417: # 1026 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_stringstream(ios_base::openmode __m)
1417:       : __iostream_type(), _M_stringbuf(__m)
1417:       { this->init(&_M_stringbuf); }
1417: # 1042 "/usr/include/c++/12/sstream" 3
1417:       explicit
1417:       basic_stringstream(const __string_type& __str,
1417:     ios_base::openmode __m = ios_base::out | ios_base::in)
1417:       : __iostream_type(), t__)); extern _Float64 __floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 nanf64 (const char *__tagb) noexcept (true); extern _Float64 __nanf64 (const char *__tagb) noexcept (true);
1412: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float64 j0f64 (_Float64) noexcept (true); extern _Float64 __j0f64 (_Float64) noexcept (true);
1412: extern _Float64 j1f64 (_Float64) noexcept (true); extern _Float64 __j1f64 (_Float64) noexcept (true);
1412: extern _Float64 jnf64 (int, _Float64) noexcept (true); extern _Float64 __jnf64 (int, _Float64) noexcept (true);
1412: extern _Float64 y0f64 (_Float64) noexcept (true); extern _Float64 __y0f64 (_Float64) noexcept (true);
1412: extern _Float64 y1f64 (_Float64) noexcept (true); extern _Float64 __y1f64 (_Float64) noexcept (true);
1412: extern _Float64 ynf64 (int, _Float64) noexcept (true); extern _Float64 __ynf64 (int, _Float64) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float64 erff64 (_Float64) noexcept (true); extern _Float64 __erff64 (_Float64) noexcept (true);
1412:  extern _Float64 erfcf64 (_Float64) noexcept (true); extern _Float64 __erfcf64 (_Float64) noexcept (true);
1412: extern _Float64 lgammaf64 (_Float64) noexcept (true); extern _Float64 __lgammaf64 (_Float64) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 tgammaf64 (_Float64) noexcept (true); extern _Float64 __tgammaf64 (_Float64) noexcept (true);
1412: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) noexcept (true); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 rintf64 (_Float64 __x) noexcept (true); extern _Float64 __rintf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 nextdownf64 (_Float64 __x) noexcept (true); extern _Float64 __nextdownf64 (_Float64 __x) noexcept (true);
1412: 
1412: extern _Float64 nextupf64 (_Float64 __x) noexcept (true); extern _Float64 __nextupf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 scalbnf64 (_Float64 __x, int __n) noexcept (true); extern _Float64 __scalbnf64 (_Float64 __x, int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int ilogbf64 (_Float64 __x) noexcept (true); extern int __ilogbf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long int llogbf64 (_Float64 __x) noexcept (true); extern long int __llogbf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 scalblnf64 (_Float64 __x, long int __n) noexcept (true); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 nearbyintf64 (_Float64 __x) noexcept (true); extern _Float64 __nearbyintf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern _Float64 truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __tru iterator_traits<_InputIterator>::value_type>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     set(_InputIterator, _InputIterator,
1434:  _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> set<typename iterator_traits<_InputIterator>::value_type,
1434:    _Compare, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Compare = less<_Key>,
1434:     typename _Allocator = allocator<_Key>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     set(initializer_list<_Key>,
1434:  _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> set<_Key, _Compare, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     set(_InputIterator, _InputIterator, _Allocator)
1434:     -> set<typename iterator_traits<_InputIterator>::value_type,
1434:     less<typename iterator_traits<_InputIterator>::value_type>,
1434:     _Allocator>;
1434: 
1434:   template<typename _Key, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     set(initializer_list<_Key>, _Allocator)
1434:     -> set<_Key, less<_Key>, _Allocator>;
1434: # 983 "/usr/include/c++/12/bits/stl_set.h" 3
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator==(const set<_Key, _Compare, _Alloc>& __x,
1434:         const set<_Key, _Compare, _Alloc>& __y)
1434:     { return __x._M_t == __y._M_t; }
1434: # 1021 "/usr/include/c++/12/bits/stl_set.h" 3
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<(const set<_Key, _Compare, _Alloc>& __x,
1434:        const set<_Key, _Compare, _Alloc>& __y)
1434:     { return __x._M_t < __y._M_t; }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator!=(const set<_Key, _Compare, _Alloc>& __x,
1434:         const set<_Key, _Compare, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>(const set<_Key, _Compare, _Alloc>& __x,
1434:        const set<_Key, _Compare, _Alloc>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<=(const set<_Key, _Compare, _Alloc>& __x,
1434:         const set<_Key, _Compare, _Alloc>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>=(const set<_Key, _Compare, _Alloc>& __x,
1434:         const set<_Key, _Compare, _Alloc>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline void
1434:     swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1434:     struct
1434:     _Rb_tree_merge_helper<std::set<_Val, _Cmp1, _Alloc>, _Cmp2>
1434:     {
1434:     private:
1434:       friend class std::set<_Val, _Cmp1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1434:       { return __set._M_t; }
1434: 
1434:       static auto&
1434:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1434:       { return __set._M_t; }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 62 "/usr/include/c++/12/set" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_multiset.h" 1 3
1434: # 64 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     class set;
1434: # 94 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:   template <typename _Key, typename _Compare = std::less<_Key>,
1434:      typename _Alloc = std::allocator<_Key> >
1434:     class multiset
1434:     {
1434: # 110 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1434:    "std::multiset must have a non-const, non-volatile value_type");
1434: 
1434:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1434:    "std::multiset must have the same value_type as its allocator");
1434: 
1434: 
1434: 
1434:     public:
1434: 
1434:       typedef _Key key_type;
1434:       typedef _Key value_type;
1434:       typedef _Compare key_compare;
1434:       typedef _Compare value_compare;
1434:       typedef _Alloc allocator_type;
1434: 
1434:     private:
1434: 
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_Key>::other _Key_alloc_type;
1434: 
1434:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1434:          key_compare, _Key_alloc_type> _Rep_type;
1434: 
1434:       _Rep_type _M_t;
1434: 
1434:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1434: 
1434:     public:
1434:       typedef typename _Alloc_traits::pointer pointer;
1434:       typedef typename _Alloc_traits::const_pointer const_pointer;
1434:       typedef typename _Alloc_traits::reference reference;
1434:       typedef typename _Alloc_traits::const_reference const_reference;
1434: 
1434: 
1434: 
1434:       typedef typename _Rep_type::const_iterator iterator;
1434:       typedef typename _Rep_type::const_iterator const_iterator;
1434:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1434:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1434:       typedef typename _Rep_type::size_type size_type;
1434:       typedef typename _Rep_type::difference_type difference_type;
1434: 
1434: 
1434:       using node_type = typename _Rep_type::node_type;
1434: # 164 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       multiset() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       multiset(const _Compare& __comp,
1434:         const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1434: # 186 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       template<typename _InputIterator>
1434:  multiset(_InputIterator __first, _InputIterator __last)
1434:  : _M_t()
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: # 202 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       template<typename _InputIterator>
1434:  multiset(_InputIterator __first, _InputIterator __last,
1434:    const _Compare& __comp,
1434:    const allocator_type& __a = allocator_type())
1434:  : _M_t(__comp, _Key_alloc_type(__a))
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: # 218 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       multiset(const multiset&) = default;
1434: # 227 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       multiset(multiset&&) = default;
1434: # 239 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       multiset(initializer_list<value_type> __l,
1434:         const _Compare& __comp = _Compare(),
1434:         const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Key_alloc_type(__a))
1434:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       explicit
1434:       multiset(const allocator_type& __a)
1434:       : _M_t(_Key_alloc_type(__a)) { }
1434: 
1434: 
1434:       multiset(const multiset& __m,
1434:         const __type_identity_t<allocator_type>& __a)
1434:       : _M_t(__m._M_t, _Key_alloc_type(__a)) { }
1434: 
1434: 
1434:       multiset(multiset&& __m, const __type_identity_t<allocator_type>& __a)
1434:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1434:     _M_stringbuf(__str, __m)
1417:       { this->init(&_M_stringbuf); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       ~basic_stringstream()
1417:       { }
1417: 
1417: 
1417:       basic_stringstream(const basic_stringstream&) = delete;
1417: 
1417:       basic_stringstream(basic_stringstream&& __rhs)
1417:       : __iostream_type(std::move(__rhs)),
1417:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1417:       { __iostream_type::set_rdbuf(&_M_stringbuf); }
1417: # 1101 "/usr/include/c++/12/sstream" 3
1417:       basic_stringstream&
1417:       operator=(const basic_stringstream&) = delete;
1417: 
1417:       basic_stringstream&
1417:       operator=(basic_stringstream&& __rhs)
1417:       {
1417:  __iostream_type::operator=(std::move(__rhs));
1417:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1417:  return *this;
1417:       }
1417: 
1417:       void
1417:       swap(basic_stringstream& __rhs)
1417:       {
1417:  __iostream_type::swap(__rhs);
1417:  _M_stringbuf.swap(__rhs._M_stringbuf);
1417:       }
1417: # 1127 "/usr/include/c++/12/sstream" 3
1417:       __stringbuf_type*
1417:       rdbuf() const
1417:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       __string_type
1417:       str() const
1417:       { return _M_stringbuf.str(); }
1417: # 1162 "/usr/include/c++/12/sstream" 3
1417:       void
1417:       str(const __string_type& __s)
1417:       { _M_stringbuf.str(__s); }
1417: # 1179 "/usr/include/c++/12/sstream" 3
1417:     };
1417: 
1417: 
1417: 
1417:   template <class _CharT, class _Traits, class _Allocator>
1417:     inline void
1417:     swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
1417:   basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
1417:     noexcept(noexcept(__x.swap(__y)))
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   template <class _CharT, class _Traits, class _Allocator>
1417:     inline void
1417:     swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
1417:   basic_istringstream<_CharT, _Traits, _Allocator>& __y)
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   template <class _CharT, class _Traits, class _Allocator>
1417:     inline void
1417:     swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
1417:   basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
1417:     { __x.swap(__y); }
1417: 
1417: 
1417:   template <class _CharT, class _Traits, class _Allocator>
1417:     inline void
1417:     swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
1417:   basic_stringstream<_CharT, _Traits, _Allocator>& __y)
1417:     { __x.swap(__y); }
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/sstream.tcc" 1 3
1417: # 37 "/usr/include/c++/12/bits/sstream.tcc" 3
1417:        
1417: # 38 "/usr/include/c++/12/bits/sstream.tcc" 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   template <class _CharT, class _Traits, class _Alloc>
1417:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1417:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1417:     pbackfail(int_type __c)
1417:     {
1417:       int_type __ret = traits_type::eof();
1417:       if (this->eback() < this->gptr())
1417:  {
1417: 
1417: 
1417:    const bool __testeof = traits_type::eq_int_type(__c, __ret);
1417:    if (!__testeof)
1417:      {
1417:        const bool __testeq = traits_type::eq(traits_type::
1417:           to_char_type(__c),
1417:           this->gptr()[-1]);
1417:        const bool __testout = this->_M_mode & ios_base::out;
1417:        if (__testeq || __testout)
1417:   {
1417:     this->gbump(-1);
1417:     if (!__testeq)
1417:       *this->gptr() = traits_type::to_char_type(__c);
1417:     __ret = __c;
1417:   }
1417:      }
1417:    else
1417:      {
1417:        this->gbump(-1);
1417:        __ret = traits_type::not_eof(__c);
1417:      }
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template <class _CharT, class _Traits, class _Alloc>
1417:     typename basic_stringbuf<_CharT, _ncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int lrintf64 (_Float64 __x) noexcept (true); extern long int __lrintf64 (_Float64 __x) noexcept (true);
1412: __extension__
1412: extern long long int llrintf64 (_Float64 __x) noexcept (true); extern long long int __llrintf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern long int lroundf64 (_Float64 __x) noexcept (true); extern long int __lroundf64 (_Float64 __x) noexcept (true);
1412: __extension__
1412: extern long long int llroundf64 (_Float64 __x) noexcept (true); extern long long int __llroundf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1412:                             ;
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1412:                               ;
1412: 
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1412:                              ;
1412: 
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1412:                                ;
1412: 
1412: 
1412: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (tru    && _Alloc_traits::_S_always_equal())
1434:       : _M_t(std::move(__m._M_t), _Key_alloc_type(__a)) { }
1434: 
1434: 
1434:       multiset(initializer_list<value_type> __l, const allocator_type& __a)
1434:       : _M_t(_Key_alloc_type(__a))
1434:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434:  multiset(_InputIterator __first, _InputIterator __last,
1434:    const allocator_type& __a)
1434:  : _M_t(_Key_alloc_type(__a))
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~multiset() = default;
1434: # 294 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       multiset&
1434:       operator=(const multiset&) = default;
1434: 
1434: 
1434:       multiset&
1434:       operator=(multiset&&) = default;
1434: # 312 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       multiset&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_t._M_assign_equal(__l.begin(), __l.end());
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       key_compare
1434:       key_comp() const
1434:       { return _M_t.key_comp(); }
1434: 
1434:       value_compare
1434:       value_comp() const
1434:       { return _M_t.key_comp(); }
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_t.get_allocator()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       begin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       cbegin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       cend() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       crbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       crend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_t.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_t.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_t.max_size(); }
1434: # 437 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       void
1434:       swap(multiset& __x)
1434:       noexcept(__is_nothrow_swappable<_Compare>::value)
1434:       { _M_t.swap(__x._M_t); }
1434: # 456 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace(_Args&&... __args)
1434:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1434: # 482 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  {
1434:    return _M_t._M_emplace_hint_equal(__pos,
1434:          std::forward<_Args>(__args)...);
1434:  }
1434: # 502 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       iterator
1434:       insert(const value_type& __x)
1434:       { return _M_t._M_insert_equal(__x); }
1434: 
1434: 
1434:       iterator
1434:       insert(value_type&& __x)
1434:       { return _M_t._M_insert_equal(std::move(__x)); }
1434: # 532 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       iterator
1434:       insert(const_iterator __position, const value_type& __x)
1434:       { return _M_t._M_insert_equal_(__position, __x); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __position, value_type&& __x)
1434:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1434: # 550 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: # 563 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { this->insert(__l.begin(), __l.end()); }
1434: 
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_t.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __x)
1434:       { return _M_t.extract(__x); }
1434: 
1434: 
1434:       iterator
1434:       insert(node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1434: 
1434:       template<typename, typename>
1434:  friend struct std::_Rb_tree_merge_helper;
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1434:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(set<_Key, _Compare1, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1434:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Compare1>
1434:  void
1434:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1434:  { merge(__source); }
1434: # 638 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_t.erase(__position); }
1434: # 669 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_t.erase(__x); }
1434: # 690 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       { return _M_t.erase(__first, __last); }
1434: # 718 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       void
1434:       clear() noexcept
1434:       { _M_t.clear(); }
1434: # 730 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_t.count(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1434:  { return _M_t._M_count_tr(__x); }
1434: # 775 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_t.find(__x); }
1434: 
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_t.find(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x)
1434:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1434:  { return iterator{_M_t._M_find_tr(__x)}; }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x) const
1434:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1434:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1434: # 810 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       iterTraits, _Alloc>::int_type
1417:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1417:     overflow(int_type __c)
1417:     {
1417:       const bool __testout = this->_M_mode & ios_base::out;
1417:       if (__builtin_expect(!__testout, false))
1417:  return traits_type::eof();
1417: 
1417:       const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
1417:       if (__builtin_expect(__testeof, false))
1417:  return traits_type::not_eof(__c);
1417: 
1417:       const __size_type __capacity = _M_string.capacity();
1417: 
1417: 
1417:       if (size_t(this->epptr() - this->pbase()) < __capacity)
1417:  {
1417: 
1417:    char_type* __base = const_cast<char_type*>(_M_string.data());
1417:    _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase());
1417:    if (_M_mode & ios_base::in)
1417:      {
1417:        const __size_type __nget = this->gptr() - this->eback();
1417:        const __size_type __eget = this->egptr() - this->eback();
1417:        this->setg(__base, __base + __nget, __base + __eget + 1);
1417:      }
1417:    *this->pptr() = traits_type::to_char_type(__c);
1417:    this->pbump(1);
1417:    return __c;
1417:  }
1417: 
1417: 
1417:       const __size_type __max_size = _M_string.max_size();
1417:       const bool __testput = this->pptr() < this->epptr();
1417:       if (__builtin_expect(!__testput && __capacity == __max_size, false))
1417:  return traits_type::eof();
1417: 
1417: 
1417: 
1417:       const char_type __conv = traits_type::to_char_type(__c);
1417:       if (!__testput)
1417:  {
1417: # 129 "/usr/include/c++/12/bits/sstream.tcc" 3
1417:    const __size_type __opt_len = std::max(__size_type(2 * __capacity),
1417:        __size_type(512));
1417:    const __size_type __len = std::min(__opt_len, __max_size);
1417:    __string_type __tmp(_M_string.get_allocator());
1417:    __tmp.reserve(__len);
1417:    if (this->pbase())
1417:      __tmp.assign(this->pbase(), this->epptr() - this->pbase());
1417:    __tmp.push_back(__conv);
1417:    _M_string.swap(__tmp);
1417:    _M_sync(const_cast<char_type*>(_M_string.data()),
1417:     this->gptr() - this->eback(), this->pptr() - this->pbase());
1417:  }
1417:       else
1417:  *this->pptr() = __conv;
1417:       this->pbump(1);
1417:       return __c;
1417:     }
1417: 
1417:   template <class _CharT, class _Traits, class _Alloc>
1417:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1417:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1417:     underflow()
1417:     {
1417:       int_type __ret = traits_type::eof();
1417:       const bool __testin = this->_M_mode & ios_base::in;
1417:       if (__testin)
1417:  {
1417: 
1417:    _M_update_egptr();
1417: 
1417:    if (this->gptr() < this->egptr())
1417:      __ret = traits_type::to_int_type(*this->gptr());
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template <class _CharT, class _Traits, class _Alloc>
1417:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1417:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1417:     seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode)
1417:     {
1417:       pos_type __ret = pos_type(off_type(-1));
1417:       bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1417:       bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1417:       const bool __testboth = __testin && __testout && __way != ios_base::cur;
1417:       __testin &= !(__mode & ios_base::out);
1417:       __testout &= !(__mode & ios_base::in);
1417: 
1417: 
1417: 
1417:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1417:       if ((__beg || !__off) && (__testin || __testout || __testboth))
1417:  {
1417:    _M_update_egptr();
1417: 
1417:    off_type __newoffi = __off;
1417:    off_type __newoffo = __newoffi;
1417:    if (__way == ios_base::cur)
1417:      {
1417:        __newoffi += this->gptr() - __beg;
1417:        __newoffo += this->pptr() - __beg;
1417:      }
1417:    else if (__way == ios_base::end)
1417:      __newoffo = __newoffi += this->egptr() - __beg;
1417:e) __attribute__ ((__const__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern _Float64 getpayloadf64 (const _Float64 *__x) noexcept (true); extern _Float64 __getpayloadf64 (const _Float64 *__x) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1412: # 468 "/usr/include/math.h" 2 3 4
1412: # 501 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1412: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412:  extern _Float32x acosf32x (_Float32x __x) noexcept (true); extern _Float32x __acosf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x asinf32x (_Float32x __x) noexcept (true); extern _Float32x __asinf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x atanf32x (_Float32x __x) noexcept (true); extern _Float32x __atanf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) noexcept (true); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32x cosf32x (_Float32x __x) noexcept (true); extern _Float32x __cosf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x sinf32x (_Float32x __x) noexcept (true); extern _Float32x __sinf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x tanf32x (_Float32x __x) noexcept (true); extern _Float32x __tanf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x coshf32x (_Float32x __x) noexcept (true); extern _Float32x __coshf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x sinhf32x (_Float32x __x) noexcept (true); extern _Float32x __sinhf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x tanhf32x (_Float32x __x) noexcept (true); extern _Float32x __tanhf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true)
1412:                                                         ;
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x acoshf32x (_Float32x __x) noexcept (true); extern _Float32x __acoshf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x asinhf32x (_Float32x __x)ator
1434:       lower_bound(const key_type& __x)
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434:       const_iterator
1434:       lower_bound(const key_type& __x) const
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bound(const _Kt& __x) const
1434:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1434: # 840 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       iterator
1434:       upper_bound(const key_type& __x)
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434:       const_iterator
1434:       upper_bound(const key_type& __x) const
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x) const
1434:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1434: # 879 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_t.equal_range(__x); }
1434: 
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_t.equal_range(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x)
1434:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1434:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x) const
1434:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1434:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator==(const multiset<_K1, _C1, _A1>&,
1434:      const multiset<_K1, _C1, _A1>&);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator< (const multiset<_K1, _C1, _A1>&,
1434:      const multiset<_K1, _C1, _A1>&);
1434: 
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Compare =
1434:       less<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename _Allocator =
1434:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multiset(_InputIterator, _InputIterator,
1434:       _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1434:   _Compare, _Allocator>;
1434: 
1434:   template<typename _Key,
1434:     typename _Compare = less<_Key>,
1434:     typename _Allocator = allocator<_Key>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multiset(initializer_list<_Key>,
1434:       _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> multiset<_Key, _Compare, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multiset(_InputIterator, _InputIterator, _Allocator)
1434:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1434:          less<typename iterator_traits<_InputIterator>::value_type>,
1434:          _Allocator>;
1434: 
1434:   template<typename _Key, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multiset(initializer_list<_Key>, _Allocator)
1434:     -> multiset<_Key, less<_Key>, _Allocator>;
1434: # 970 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator==(const multiset<_Key, _Compare, _Alloc>& __x,
1434:         const multiset<_Key, _Compare, _Alloc>& __y)
1434:     { return __x._M_t == __y._M_t; }
1434: # 1008 "/usr/include/c++/12/bits/stl_multiset.h" 3
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<(const multiset<_Key, _Compare, _Alloc>& __x,
1434:        const multiset<_Key, _Compare, _Alloc>& __y)
1434:     { return __x._M_t < __y._M_t; }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
1434:         const multiset<_Key, _Compare, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>(const multiset<_Key,_Compare,_Alloc>& __x,
1434:        const multiset<_Key,_Compare,_Alloc>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<=(const multiset<_Key, _Compare, _Alloc>& __x,
1434:         const multiset<_Key, _Compare, _Alloc>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>=(const multiset<_Key, _Compare, _Alloc>& __x,
1434:         const multiset<_Key, _Compare, _Alloc>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Compare, typename _Alloc>
1434:     inline void
1434:     swap(multiset<_Key, _Compare, _Alloc>& __x,
1434:   multiset<_Key, _Compare, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1434:     struct
1434:     _Rb_tree_merge_helper<std::multiset<_Val, _Cmp1, _Alloc>,
1434:      _Cmp2>
1434:     {
1434:     private:
1434:       friend class std::multiset<_Val, _Cmp1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1434:       { return __set._M_t; }
1434: 
1434:       static auto&
1434:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1434:       { return __set._M_t; }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 63 "/usr/include/c++/12/set" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/erase_if.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/erase_if.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/erase_if.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   namespace __detail
1434:   {
1434:     template<typename _Container, typename _UnsafeContainer,
1434:       typename _Predicate>
1434:       typename _Container::size_type
1434:       __erase_nodes_if(_Container& __cont, const _UnsafeContainer& __ucont,
1434:          _Predicate __pred)
1434:       {
1434:  typename _Container::size_type __num = 0;
1434:  for (auto __iter = __ucont.begin(), __last = __ucont.end();
1434:       __iter != __last;)
1434:    {
1434:      if (__pred(*__iter))
1434:        {
1434:   __iter = __cont.erase(__iter);
1434:   ++__num;
1434:        }
1434:      else
1434:        ++__iter;
1434:    }
1434:  return __num;
1434:       }
1434:   }
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/set" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr
1434:   {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:    
1417:    if ((__testin || __testboth)
1417:        && __newoffi >= 0
1417:        && this->egptr() - __beg >= __newoffi)
1417:      {
1417:        this->setg(this->eback(), this->eback() + __newoffi,
1417:     this->egptr());
1417:        __ret = pos_type(__newoffi);
1417:      }
1417:    if ((__testout || __testboth)
1417:        && __newoffo >= 0
1417:        && this->egptr() - __beg >= __newoffo)
1417:      {
1417:        _M_pbump(this->pbase(), this->epptr(), __newoffo);
1417:        __ret = pos_type(__newoffo);
1417:      }
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template <class _CharT, class _Traits, class _Alloc>
1417:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1417:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1417:     seekpos(pos_type __sp, ios_base::openmode __mode)
1417:     {
1417:       pos_type __ret = pos_type(off_type(-1));
1417:       const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1417:       const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1417: 
1417:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1417:       if ((__beg || !off_type(__sp)) && (__testin || __testout))
1417:  {
1417:    _M_update_egptr();
1417: 
1417:    const off_type __pos(__sp);
1417:    const bool __testpos = (0 <= __pos
1417:       && __pos <= this->egptr() - __beg);
1417:    if (__testpos)
1417:      {
1417:        if (__testin)
1417:   this->setg(this->eback(), this->eback() + __pos,
1417:       this->egptr());
1417:        if (__testout)
1417:   _M_pbump(this->pbase(), this->epptr(), __pos);
1417:        __ret = __sp;
1417:      }
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417:   template <class _CharT, class _Traits, class _Alloc>
1417:     void
1417:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1417:     _M_sync(char_type* __base, __size_type __i, __size_type __o)
1417:     {
1417:       const bool __testin = _M_mode & ios_base::in;
1417:       const bool __testout = _M_mode & ios_base::out;
1417:       char_type* __endg = __base + _M_string.size();
1417:       char_type* __endp = __base + _M_string.capacity();
1417: 
1417:       if (__base != _M_string.data())
1417:  {
1417: 
1417:    __endg += __i;
1417:    __i = 0;
1417:    __endp = __endg;
1417:  }
1417: 
1417:       if (__testin)
1417:  this->setg(__base, __base + __i, __endg);
1417:       if (__testout)
1417:  {
1417:    _M_pbump(__base, __endp, __o);
1417: 
1417: 
1417: 
1417:    if (!__testin)
1417:      this->setg(__endg, __endg, __endg);
1417:  }
1417:     }
1417: 
1417:   template <class _CharT, class _Traits, class _Alloc>
1417:     void
1417:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1417:     _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off)
1417:     {
1417:       this->setp(__pbeg, __pend);
1417:       while (__off > __gnu_cxx::__numeric_traits<int>::__max)
1417:  {
1417:    this->pbump(__gnu_cxx::__numeric_traits<int>::__max);
1417:    __off -= __gnu_cxx::__numeric_traits<int>::__max;
1417:  }
1417:       this->pbump(__off);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   extern template class basic_stringbuf<char>;
1417:   extern template class basic_istringstream<char>;
1417:   extern template class basic_ostringstream<char>;
1417:   extern template class basic_stringstream<char>;
1417: 
1417: 
1417:   extern template class basic_stringbuf<wchar_t>;
1417:   extern template class basic_istringstream<wchar_t>;
1417:   extern template class basic_ostringstream<wchar_t>;
1417:   extern template class basic_stringstream<wchar_t>;
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 1219 "/usr/include/c++/12/sstream" 2 3
1417: # 39 "/usr/include/c++/12/bits/quoted_string.h" 2 3
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417:   namespace __detail {
1417: 
1417: 
1417: 
1417:     template<typename _String, typename _CharT>
1417:       struct _Quoted_string
1417:       {
1417:  static_assert(is_reference<_String>::value
1417:      || is_pointer<_String>::value,
1417:         "Stri noexcept (true); extern _Float32x __asinhf32x (_Float32x __x) noexcept (true);
1412: 
1412:  extern _Float32x atanhf32x (_Float32x __x) noexcept (true); extern _Float32x __atanhf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x expf32x (_Float32x __x) noexcept (true); extern _Float32x __expf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) noexcept (true); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) noexcept (true);
1412: 
1412: 
1412: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) noexcept (true); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) noexcept (true);
1412: 
1412: 
1412:  extern _Float32x logf32x (_Float32x __x) noexcept (true); extern _Float32x __logf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32x log10f32x (_Float32x __x) noexcept (true); extern _Float32x __log10f32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412:  extern _Float32x exp10f32x (_Float32x __x) noexcept (true); extern _Float32x __exp10f32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x expm1f32x (_Float32x __x) noexcept (true); extern _Float32x __expm1f32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32x log1pf32x (_Float32x __x) noexcept (true); extern _Float32x __log1pf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32x logbf32x (_Float32x __x) noexcept (true); extern _Float32x __logbf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x exp2f32x (_Float32x __x) noexcept (true); extern _Float32x __exp2f32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412:  extern _Float32x log2f32x (_Float32x __x) noexcept (true); extern _Float32x __log2f32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x powf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32x sqrtf32x (_Float32x __x) noexcept (true); extern _Float32x __sqrtf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412:  extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x cbrtf32x (_Float32x __x) noexcept (true); extern _Float32x __cbrtf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x nanf32x (const char *__tagb) noexcept (true); extern _Float32x __nanf32x (const char *__tagb) noexcept (true);
1412: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern  template<typename _Key, typename _Cmp = std::less<_Key>>
1434:       using set = std::set<_Key, _Cmp, polymorphic_allocator<_Key>>;
1434:     template<typename _Key, typename _Cmp = std::less<_Key>>
1434:       using multiset = std::multiset<_Key, _Cmp, polymorphic_allocator<_Key>>;
1434:   }
1434: 
1434: }
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h" 2
1434: 
1434: # 1 "/usr/include/c++/12/unordered_map" 1 3
1434: # 32 "/usr/include/c++/12/unordered_map" 3
1434:        
1434: # 33 "/usr/include/c++/12/unordered_map" 3
1434: # 46 "/usr/include/c++/12/unordered_map" 3
1434: # 1 "/usr/include/c++/12/bits/hashtable.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/hashtable.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/hashtable.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/hashtable_policy.h" 1 3
1434: # 40 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     class _Hashtable;
1434: 
1434: namespace __detail
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Equal, typename _Hash, typename _RangeHash,
1434:     typename _Unused, typename _Traits>
1434:     struct _Hashtable_base;
1434: 
1434: 
1434: 
1434:   template<typename _Iterator>
1434:     inline typename std::iterator_traits<_Iterator>::difference_type
1434:     __distance_fw(_Iterator __first, _Iterator __last,
1434:     std::input_iterator_tag)
1434:     { return __first != __last ? 1 : 0; }
1434: 
1434:   template<typename _Iterator>
1434:     inline typename std::iterator_traits<_Iterator>::difference_type
1434:     __distance_fw(_Iterator __first, _Iterator __last,
1434:     std::forward_iterator_tag)
1434:     { return std::distance(__first, __last); }
1434: 
1434:   template<typename _Iterator>
1434:     inline typename std::iterator_traits<_Iterator>::difference_type
1434:     __distance_fw(_Iterator __first, _Iterator __last)
1434:     { return __distance_fw(__first, __last,
1434:       std::__iterator_category(__first)); }
1434: 
1434:   struct _Identity
1434:   {
1434:     template<typename _Tp>
1434:       _Tp&&
1434:       operator()(_Tp&& __x) const noexcept
1434:       { return std::forward<_Tp>(__x); }
1434:   };
1434: 
1434:   struct _Select1st
1434:   {
1434:     template<typename _Pair>
1434:       struct __1st_type;
1434: 
1434:     template<typename _Tp, typename _Up>
1434:       struct __1st_type<pair<_Tp, _Up>>
1434:       { using type = _Tp; };
1434: 
1434:     template<typename _Tp, typename _Up>
1434:       struct __1st_type<const pair<_Tp, _Up>>
1434:       { using type = const _Tp; };
1434: 
1434:     template<typename _Pair>
1434:       struct __1st_type<_Pair&>
1434:       { using type = typename __1st_type<_Pair>::type&; };
1434: 
1434:     template<typename _Tp>
1434:       typename __1st_type<_Tp>::type&&
1434:       operator()(_Tp&& __x) const noexcept
1434:       { return std::forward<_Tp>(__x).first; }
1434:   };
1434: 
1434:   template<typename _ExKey>
1434:     struct _NodeBuilder;
1434: 
1434:   template<>
1434:     struct _NodeBuilder<_Select1st>
1434:     {
1434:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1434:  static auto
1434:  _S_build(_Kt&& __k, _Arg&& __arg, const _NodeGenerator& __node_gen)
1434:  -> typename _NodeGenerator::__node_type*
1434:  {
1434:    return __node_gen(std::forward<_Kt>(__k),
1434:        std::forward<_Arg>(__arg).second);
1434:  }
1434:     };
1434: 
1434:   template<>
1434:     struct _NodeBuilder<_Identity>
1434:     {
1434:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1434:  static auto
1434:  _S_build(_Kt&& __k, _Arg&&, const _NodeGenerator& __node_gen)
1434:  -> typename _NodeGenerator::__node_type*
1434:  { return __node_gen(std::forward<_Kt>(__k)); }
1434:     };
1434: 
1434:   template<typename _NodeAlloc>
1434:     struct _Hashtable_alloc;
1434: 
1434: 
1434: 
1434:   template<typename _NodeAlloc>
1434:     struct _ReuseOrAllocNode
1434:     {
1434:     private:
1434:       using __node_alloc_type = _NodeAlloc;
1434:       using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>;
1434:       using __node_alloc_traits =
1434:  typename __hashtable_alloc::__node_alloc_traits;
1434: 
1434:     public:
1434:       using __node_type = typename __hashtable_alloc::__node_type;
1434: 
1434:       _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h)
1434:       : _M_nodes(__nodes), _M_h(__h) { }
1434:       _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete;
1434: 
1434:       ~_ReuseOrAllocNode()
1434:       { _M_h._M_deallocate_nodes(_M_nodes); }
1434: 
1434:       template<typename... _Args>
1434:  __node_type*
1434:  operator()(_Args&&... __args) const
1434:  {
1434:    if (_M_nodes)
1434:      {
1434:        __node_type* __node = _M_nodes;
1434:        _M_nodes = _M_nodes->_M_next();
1434:        __node->_M_nxt = nullptr;
1434:        auto& __a = _M_h._M_node_allocator();
1434:        __node_alloc_traits::destroy(__a, __node->_M_valptr());
1434:        try
1434:   {
1434:     __node_alloc_traits::construct(__a, __node->_M_valptr(),
1434:        std::forward<_Args>(__args)...);
1434:   }
1434:        catch(...)
1434:   {
1434:     _M_h._M_deallocate_node_ptr(__node);
1434:     throw;
1434:   }
1434:        return __node;
1434:      }
1434:    return _M_h._M_allocate_node(std::forward<_Args>(__args)...);
1434:  }
1434: 
1434:     private:
1434:       mutable __node_type* _M_nodes;
1434:       __hashtable_alloc& _M_h;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _NodeAlloc>
1434:     struct _AllocNode
1434:     {
1434:     private:
1434:       using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>;
1434: 
1434:     public:
1434:       using __node_type = typename __hashtable_alloc::__node_type;
1434: 
1434:       _AllocNode(__hashtable_alloc& __h)
1434:       : _M_h(__h) { }
1434: 
1434:       template<typename... _Args>
1434:  __node_type*
1434:  operator()(_Args&&... __args) const
1434:  { return _M_h._M_allocate_node(std::forward<_Args>(__args)...); }
1434: 
1434:     private:
1434:       __hashtable_alloc& _M_h;
1434:     };
1434: # 243 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1434:   template<bool _Cache_hash_code, bool _Constant_iterators, bool _Unique_keys>
1434:     struct _Hashtable_traits
1434:     {
1434:       using __hash_cached = __bool_constant<_Cache_hash_code>;
1434:       using __constant_iterators = __bool_constant<_Constant_iterators>;
1434:       using __unique_keys = __bool_constant<_Unique_keys>;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Hash>
1434:     struct _Hashtable_hash_traits
1434:     {
1434:       static constexpr std::size_t
1434:       __small_size_threshold() noexcept
1434:       { return std::__is_fast_hash<_Hash>::value ? 0 : 20; }
1434:     };
1434: # 273 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1434:   struct _Hash_node_base
1434:   {
1434:     _Hash_node_base* _M_nxt;
1434: 
1434:     _Hash_node_base() noexcept : _M_nxt() { }
1434: 
1434:     _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { }
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Value>
1434:     struct _Hash_node_value_base
1434:     {
1434:       typedef _Value value_type;
1434: 
1434:       __gnu_cxx::__aligned_buffer<_Value> _M_storage;
1434: 
1434:       _Value*
1434:       _M_valptr() noexcept
1434:       { return _M_storage._M_ptr(); }
1434: 
1434:       const _Value*
1434:       _M_valptr() const noexcept
1434:       { return _M_storage._M_ptr(); }
1434: 
1434:       _Value&
1434:       _M_v() noexcept
1434:       { return *_M_valptr(); }
1434: 
1434:       const _Value&
1434:       _M_v() const noexcept
1434:       { return *_M_valptr(); }
1434:     };
1434: 
1434: 
1434: 
1ng type must be pointer or reference");
1417: 
1417:  _Quoted_string(_String __str, _CharT __del, _CharT __esc)
1417:  : _M_string(__str), _M_delim{__del}, _M_escape{__esc}
1417:  { }
1417: 
1417:  _Quoted_string&
1417:  operator=(_Quoted_string&) = delete;
1417: 
1417:  _String _M_string;
1417:  _CharT _M_delim;
1417:  _CharT _M_escape;
1417:       };
1417: 
1417: 
1417:     template<typename _CharT, typename _Traits>
1417:       struct _Quoted_string<basic_string_view<_CharT, _Traits>, _CharT>
1417:       {
1417:  _Quoted_string(basic_string_view<_CharT, _Traits> __str,
1417:          _CharT __del, _CharT __esc)
1417:  : _M_string(__str), _M_delim{__del}, _M_escape{__esc}
1417:  { }
1417: 
1417:  _Quoted_string&
1417:  operator=(_Quoted_string&) = delete;
1417: 
1417:  basic_string_view<_CharT, _Traits> _M_string;
1417:  _CharT _M_delim;
1417:  _CharT _M_escape;
1417:       };
1417: # 91 "/usr/include/c++/12/bits/quoted_string.h" 3
1417:     template<typename _CharT, typename _Traits>
1417:       std::basic_ostream<_CharT, _Traits>&
1417:       operator<<(std::basic_ostream<_CharT, _Traits>& __os,
1417:    const _Quoted_string<const _CharT*, _CharT>& __str)
1417:       {
1417:  std::basic_ostringstream<_CharT, _Traits> __ostr;
1417:  __ostr << __str._M_delim;
1417:  for (const _CharT* __c = __str._M_string; *__c; ++__c)
1417:    {
1417:      if (*__c == __str._M_delim || *__c == __str._M_escape)
1417:        __ostr << __str._M_escape;
1417:      __ostr << *__c;
1417:    }
1417:  __ostr << __str._M_delim;
1417: 
1417:  return __os << __ostr.str();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _CharT, typename _Traits, typename _String>
1417:       std::basic_ostream<_CharT, _Traits>&
1417:       operator<<(std::basic_ostream<_CharT, _Traits>& __os,
1417:    const _Quoted_string<_String, _CharT>& __str)
1417:       {
1417:  std::basic_ostringstream<_CharT, _Traits> __ostr;
1417:  __ostr << __str._M_delim;
1417:  for (auto __c : __str._M_string)
1417:    {
1417:      if (__c == __str._M_delim || __c == __str._M_escape)
1417:        __ostr << __str._M_escape;
1417:      __ostr << __c;
1417:    }
1417:  __ostr << __str._M_delim;
1417: 
1417:  return __os << __ostr.str();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     template<typename _CharT, typename _Traits, typename _Alloc>
1417:       std::basic_istream<_CharT, _Traits>&
1417:       operator>>(std::basic_istream<_CharT, _Traits>& __is,
1417:    const _Quoted_string<basic_string<_CharT, _Traits, _Alloc>&,
1417:           _CharT>& __str)
1417:       {
1417:  _CharT __c;
1417:  __is >> __c;
1417:  if (!__is.good())
1417:    return __is;
1417:  if (__c != __str._M_delim)
1417:    {
1417:      __is.unget();
1417:      __is >> __str._M_string;
1417:      return __is;
1417:    }
1417:  __str._M_string.clear();
1417:  std::ios_base::fmtflags __flags
1417:    = __is.flags(__is.flags() & ~std::ios_base::skipws);
1417:  do
1417:    {
1417:      __is >> __c;
1417:      if (!__is.good())
1417:        break;
1417:      if (__c == __str._M_escape)
1417:        {
1417:   __is >> __c;
1417:   if (!__is.good())
1417:     break;
1417:        }
1417:      else if (__c == __str._M_delim)
1417:        break;
1417:      __str._M_string += __c;
1417:    }
1417:  while (true);
1417:  __is.setf(__flags);
1417: 
1417:  return __is;
1417:       }
1417:   }
1417: 
1417: 
1417: }
1417: # 46 "/usr/include/c++/12/iomanip" 2 3
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct _Resetiosflags { ios_base::fmtflags _M_mask; };
1417: # 65 "/usr/include/c++/12/iomanip" 3
1417:   inline _Resetiosflags
1417:   resetiosflags(ios_base::fmtflags __mask)
1417:   { return { __mask }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f)
1417:     {
1417:       __is.setf(ios_base::fmtflags(0), __f._M_mask);
1417:       return __is;
141 _Float32x j0f32x (_Float32x) noexcept (true); extern _Float32x __j0f32x (_Float32x) noexcept (true);
1412: extern _Float32x j1f32x (_Float32x) noexcept (true); extern _Float32x __j1f32x (_Float32x) noexcept (true);
1412: extern _Float32x jnf32x (int, _Float32x) noexcept (true); extern _Float32x __jnf32x (int, _Float32x) noexcept (true);
1412: extern _Float32x y0f32x (_Float32x) noexcept (true); extern _Float32x __y0f32x (_Float32x) noexcept (true);
1412: extern _Float32x y1f32x (_Float32x) noexcept (true); extern _Float32x __y1f32x (_Float32x) noexcept (true);
1412: extern _Float32x ynf32x (int, _Float32x) noexcept (true); extern _Float32x __ynf32x (int, _Float32x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  extern _Float32x erff32x (_Float32x) noexcept (true); extern _Float32x __erff32x (_Float32x) noexcept (true);
1412:  extern _Float32x erfcf32x (_Float32x) noexcept (true); extern _Float32x __erfcf32x (_Float32x) noexcept (true);
1412: extern _Float32x lgammaf32x (_Float32x) noexcept (true); extern _Float32x __lgammaf32x (_Float32x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x tgammaf32x (_Float32x) noexcept (true); extern _Float32x __tgammaf32x (_Float32x) noexcept (true);
1412: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1412: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x rintf32x (_Float32x __x) noexcept (true); extern _Float32x __rintf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x nextdownf32x (_Float32x __x) noexcept (true); extern _Float32x __nextdownf32x (_Float32x __x) noexcept (true);
1412: 
1412: extern _Float32x nextupf32x (_Float32x __x) noexcept (true); extern _Float32x __nextupf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32x scalbnf32x (_Float32x __x, int __n) noexcept (true); extern _Float32x __scalbnf32x (_Float32x __x, int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int ilogbf32x (_Float32x __x) noexcept (true); extern int __ilogbf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern long int llogbf32x (_Float32x __x) noexcept (true); extern long int __llogbf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x scalblnf32x (_Float32x __x, long int __n) noexcept (true); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32x nearbyintf32x (_Float32x __x) noexcept (true); extern _Float32x __nearbyintf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32x roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern _Float32x truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern long int lrintf32x (_Float32x __x) noexcept (true); extern long int __lrintf32x (_Float32x __x) noexcept (true);
1412: __extension__
1412: extern long long int llrintf32x (_Float32x __x) noexcept (true); extern long long int __llrintf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: exter434: 
1434:   template<bool _Cache_hash_code>
1434:     struct _Hash_node_code_cache
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct _Hash_node_code_cache<true>
1434:     { std::size_t _M_hash_code; };
1434: 
1434:   template<typename _Value, bool _Cache_hash_code>
1434:     struct _Hash_node_value
1434:     : _Hash_node_value_base<_Value>
1434:     , _Hash_node_code_cache<_Cache_hash_code>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Value, bool _Cache_hash_code>
1434:     struct _Hash_node
1434:     : _Hash_node_base
1434:     , _Hash_node_value<_Value, _Cache_hash_code>
1434:     {
1434:       _Hash_node*
1434:       _M_next() const noexcept
1434:       { return static_cast<_Hash_node*>(this->_M_nxt); }
1434:     };
1434: 
1434: 
1434:   template<typename _Value, bool _Cache_hash_code>
1434:     struct _Node_iterator_base
1434:     {
1434:       using __node_type = _Hash_node<_Value, _Cache_hash_code>;
1434: 
1434:       __node_type* _M_cur;
1434: 
1434:       _Node_iterator_base() : _M_cur(nullptr) { }
1434:       _Node_iterator_base(__node_type* __p) noexcept
1434:       : _M_cur(__p) { }
1434: 
1434:       void
1434:       _M_incr() noexcept
1434:       { _M_cur = _M_cur->_M_next(); }
1434: 
1434:       friend bool
1434:       operator==(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1434:       noexcept
1434:       { return __x._M_cur == __y._M_cur; }
1434: 
1434: 
1434:       friend bool
1434:       operator!=(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1434:       noexcept
1434:       { return __x._M_cur != __y._M_cur; }
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _Value, bool __constant_iterators, bool __cache>
1434:     struct _Node_iterator
1434:     : public _Node_iterator_base<_Value, __cache>
1434:     {
1434:     private:
1434:       using __base_type = _Node_iterator_base<_Value, __cache>;
1434:       using __node_type = typename __base_type::__node_type;
1434: 
1434:     public:
1434:       using value_type = _Value;
1434:       using difference_type = std::ptrdiff_t;
1434:       using iterator_category = std::forward_iterator_tag;
1434: 
1434:       using pointer = __conditional_t<__constant_iterators,
1434:           const value_type*, value_type*>;
1434: 
1434:       using reference = __conditional_t<__constant_iterators,
1434:      const value_type&, value_type&>;
1434: 
1434:       _Node_iterator() = default;
1434: 
1434:       explicit
1434:       _Node_iterator(__node_type* __p) noexcept
1434:       : __base_type(__p) { }
1434: 
1434:       reference
1434:       operator*() const noexcept
1434:       { return this->_M_cur->_M_v(); }
1434: 
1434:       pointer
1434:       operator->() const noexcept
1434:       { return this->_M_cur->_M_valptr(); }
1434: 
1434:       _Node_iterator&
1434:       operator++() noexcept
1434:       {
1434:  this->_M_incr();
1434:  return *this;
1434:       }
1434: 
1434:       _Node_iterator
1434:       operator++(int) noexcept
1434:       {
1434:  _Node_iterator __tmp(*this);
1434:  this->_M_incr();
1434:  return __tmp;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Value, bool __constant_iterators, bool __cache>
1434:     struct _Node_const_iterator
1434:     : public _Node_iterator_base<_Value, __cache>
1434:     {
1434:     private:
1434:       using __base_type = _Node_iterator_base<_Value, __cache>;
1434:       using __node_type = typename __base_type::__node_type;
1434: 
1434:     public:
1434:       typedef _Value value_type;
1434:       typedef std::ptrdiff_t difference_type;
1434:       typedef std::forward_iterator_tag iterator_category;
1434: 
1434:       typedef const value_type* pointer;
1434:       typedef const value_type& reference;
1434: 
1434:       _Node_const_iterator() = default;
1434: 
1434:       explicit
1434:       _Node_const_iterator(__node_type* __p) noexcept
1434:       : __base_type(__p) { }
1434: 
1434:       _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators,
1434:       __cache>& __x) noexcept
1434:       : __base_type(__x._M_cur) { }
1434: 
1434:       reference
1434:       operator*() const noexcept
1434:       { return this->_M_cur->_M_v(); }
1434: 
1434:       pointer
1434:       operator->() const noexcept
1434:       { return this->_M_cur->_M_valptr(); }
1434: 
1434:       _Node_const_iterator&
1434:       operator++() noexcept
1434:       {
1434:  this->_M_incr();
1434:  return *this;
1434:       }
1434: 
1434:       _Node_const_iterator
1434:       operator++(int) noexcept
1434:       {
1434:  _Node_const_iterator __tmp(*this);
1434:  this->_M_incr();
1434:  return __tmp;
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct _Mod_range_hashing
1434:   {
1434:     typedef std::size_t first_argument_type;
1434:     typedef std::size_t second_argument_type;
1434:     typedef std::size_t result_type;
1434: 
1434:     result_type
1434:     operator()(first_argument_type __num,
1434:         second_argument_type __den) const noexcept
1434:     { return __num % __den; }
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct _Default_ranged_hash { };
1434: 
1434: 
1434: 
1434:   struct _Prime_rehash_policy
1434:   {
1434:     using __has_load_factor = true_type;
1434: 
1434:     _Prime_rehash_policy(float __z = 1.0) noexcept
1434:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1434: 
1434:     float
1434:     max_load_factor() const noexcept
1434:     { return _M_max_load_factor; }
1434: 
1434: 
1434:     std::size_t
1434:     _M_next_bkt(std::size_t __n) const;
1434: 
1434: 
1434:     std::size_t
1434:     _M_bkt_for_elements(std::size_t __n) const
1434:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     std::pair<bool, std::size_t>
1434:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1434:      std::size_t __n_ins) const;
1434: 
1434:     typedef std::size_t _State;
1434: 
1434:     _State
1434:     _M_state() const
1434:     { return _M_next_resize; }
1434: 
1434:     void
1434:     _M_reset() noexcept
1434:     { _M_next_resize = 0; }
1434: 
1434:     void
1434:     _M_reset(_State __state)
1434:     { _M_next_resize = __state; }
1434: 
1434:     static const std::size_t _S_growth_factor = 2;
1434: 
1434:     float _M_max_load_factor;
1434:     mutable std::size_t _M_next_resize;
1434:   };
1434: 
1434: 
1434:   struct _Mask_range_hashing
1434:   {
1434:     typedef std::size_t first_argument_type;
1434:     typedef std::size_t second_argument_type;
1434:     typedef std::size_t result_type;
1434: 
1434:     result_type
1434:     operator()(first_argument_type __num,
1434:         second_argument_type __den) const noexcept
1434:     { return __num & (__den - 1); }
1434:   };
1434: 
1434: 
1434:   inline std::size_t
1434:   __clp2(std::size_t __n) noexcept
1434:   {
1434:     using __gnu_cxx::__int_traits;
1434: 
1434:     if (__n < 2)
1434:       return __n;
1434:     const unsigned __lz = sizeof(size_t) > sizeof(long)
1434:       ? __builtin_clzll(__n - 1ull)
1434:       : __builtin_clzl(__n - 1ul);
1434: 
1434:     return (size_t(1) << (__int_traits<size_t>::__digits - __lz - 1)) << 1;
1434:   }
1434: 
1434: 
1434: 
1434:   struct _Power2_rehash_policy
1434:   {
1434:     using __has_load_factor = true_type;
1434: 
1434:     _Power2_rehash_policy(float __z = 1.0) noexcept
1434:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1434: 
1434:     float
1434:     max_load_factor() const noexcept
1434:     { return _M_max_load_factor; }
1434: 
1434: 
1434: 
1434:     std::size_t
1434:     _M_next_bkt(std::size_t __n) noexcept
1434:     {
1434:       if (__n == 0)
1434: 
1434: 
1434: 
1434:  return 1;
1434: 
1434:       const auto __max_width = std::min<size_t>(sizeof(size_t), 8);
1434:       const auto __max_bkt = size_t(1) << (__max_width * 8 - 1);
1434:       std::size_t __res = __clp2(__n);
1434: 
1434:       if (__res == 0)
1434:  __res = __max_bkt;
1434:       else if (__res == 1)
1434: 
1434: 
1434: 
1434:  __res = 2;
1434: 
1434:       if (__res == __max_bkt)
1434: 
1434: 7:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f)
1417:     {
1417:       __os.setf(ios_base::fmtflags(0), __f._M_mask);
1417:       return __os;
1417:     }
1417: 
1417: 
1417:   struct _Setiosflags { ios_base::fmtflags _M_mask; };
1417: # 95 "/usr/include/c++/12/iomanip" 3
1417:   inline _Setiosflags
1417:   setiosflags(ios_base::fmtflags __mask)
1417:   { return { __mask }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f)
1417:     {
1417:       __is.setf(__f._M_mask);
1417:       return __is;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f)
1417:     {
1417:       __os.setf(__f._M_mask);
1417:       return __os;
1417:     }
1417: 
1417: 
1417:   struct _Setbase { int _M_base; };
1417: # 126 "/usr/include/c++/12/iomanip" 3
1417:   inline _Setbase
1417:   setbase(int __base)
1417:   { return { __base }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f)
1417:     {
1417:       __is.setf(__f._M_base == 8 ? ios_base::oct :
1417:   __f._M_base == 10 ? ios_base::dec :
1417:   __f._M_base == 16 ? ios_base::hex :
1417:   ios_base::fmtflags(0), ios_base::basefield);
1417:       return __is;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f)
1417:     {
1417:       __os.setf(__f._M_base == 8 ? ios_base::oct :
1417:   __f._M_base == 10 ? ios_base::dec :
1417:   __f._M_base == 16 ? ios_base::hex :
1417:   ios_base::fmtflags(0), ios_base::basefield);
1417:       return __os;
1417:     }
1417: 
1417: 
1417:   template<typename _CharT>
1417:     struct _Setfill { _CharT _M_c; };
1417: # 163 "/usr/include/c++/12/iomanip" 3
1417:   template<typename _CharT>
1417:     inline _Setfill<_CharT>
1417:     setfill(_CharT __c)
1417:     { return { __c }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f)
1417:     {
1417:       __is.fill(__f._M_c);
1417:       return __is;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f)
1417:     {
1417:       __os.fill(__f._M_c);
1417:       return __os;
1417:     }
1417: 
1417: 
1417:   struct _Setprecision { int _M_n; };
1417: # 194 "/usr/include/c++/12/iomanip" 3
1417:   inline _Setprecision
1417:   setprecision(int __n)
1417:   { return { __n }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f)
1417:     {
1417:       __is.precision(__f._M_n);
1417:       return __is;
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f)
1417:     {
1417:       __os.precision(__f._M_n);
1417:       return __os;
1417:     }
1417: 
1417: 
1417:   struct _Setw { int _M_n; };
1417: # 224 "/usr/include/c++/12/iomanip" 3
1417:   inline _Setw
1417:   setw(int __n)
1417:   { return { __n }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f)
1417:     {
1417:       __is.width(__f._M_n);
1417:       return __is;
1417:     }
1417: 
1417:   templatn long int lroundf32x (_Float32x __x) noexcept (true); extern long int __lroundf32x (_Float32x __x) noexcept (true);
1412: __extension__
1412: extern long long int llroundf32x (_Float32x __x) noexcept (true); extern long long int __llroundf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: 
1412: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1412:                             ;
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1412:                               ;
1412: 
1412: 
1412: 
1412: 
1412: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1412:                              ;
1412: 
1412: 
1412: 
1412: 
1412: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1412:                                ;
1412: 
1412: 
1412: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); e
1434: 
1434:  _M_next_resize = size_t(-1);
1434:       else
1434:  _M_next_resize
1434:    = __builtin_floor(__res * (double)_M_max_load_factor);
1434: 
1434:       return __res;
1434:     }
1434: 
1434: 
1434:     std::size_t
1434:     _M_bkt_for_elements(std::size_t __n) const noexcept
1434:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     std::pair<bool, std::size_t>
1434:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1434:      std::size_t __n_ins) noexcept
1434:     {
1434:       if (__n_elt + __n_ins > _M_next_resize)
1434:  {
1434: 
1434: 
1434: 
1434:    double __min_bkts
1434:      = std::max<std::size_t>(__n_elt + __n_ins, _M_next_resize ? 0 : 11)
1434:        / (double)_M_max_load_factor;
1434:    if (__min_bkts >= __n_bkt)
1434:      return { true,
1434:        _M_next_bkt(std::max<std::size_t>(__builtin_floor(__min_bkts) + 1,
1434:       __n_bkt * _S_growth_factor)) };
1434: 
1434:    _M_next_resize
1434:      = __builtin_floor(__n_bkt * (double)_M_max_load_factor);
1434:    return { false, 0 };
1434:  }
1434:       else
1434:  return { false, 0 };
1434:     }
1434: 
1434:     typedef std::size_t _State;
1434: 
1434:     _State
1434:     _M_state() const noexcept
1434:     { return _M_next_resize; }
1434: 
1434:     void
1434:     _M_reset() noexcept
1434:     { _M_next_resize = 0; }
1434: 
1434:     void
1434:     _M_reset(_State __state) noexcept
1434:     { _M_next_resize = __state; }
1434: 
1434:     static const std::size_t _S_growth_factor = 2;
1434: 
1434:     float _M_max_load_factor;
1434:     std::size_t _M_next_resize;
1434:   };
1434: # 696 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits,
1434:     bool _Unique_keys = _Traits::__unique_keys::value>
1434:     struct _Map_base { };
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1434:     {
1434:       using mapped_type = _Val;
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1434:     {
1434:     private:
1434:       using __hashtable_base = _Hashtable_base<_Key, pair<const _Key, _Val>,
1434:             _Select1st, _Equal, _Hash,
1434:             _RangeHash, _Unused,
1434:             _Traits>;
1434: 
1434:       using __hashtable = _Hashtable<_Key, pair<const _Key, _Val>, _Alloc,
1434:          _Select1st, _Equal, _Hash, _RangeHash,
1434:          _Unused, _RehashPolicy, _Traits>;
1434: 
1434:       using __hash_code = typename __hashtable_base::__hash_code;
1434: 
1434:     public:
1434:       using key_type = typename __hashtable_base::key_type;
1434:       using mapped_type = _Val;
1434: 
1434:       mapped_type&
1434:       operator[](const key_type& __k);
1434: 
1434:       mapped_type&
1434:       operator[](key_type&& __k);
1434: 
1434: 
1434: 
1434:       mapped_type&
1434:       at(const key_type& __k)
1434:       {
1434:  auto __ite = static_cast<__hashtable*>(this)->find(__k);
1434:  if (!__ite._M_cur)
1434:    __throw_out_of_range(("unordered_map::at"));
1434:  return __ite->second;
1434:       }
1434: 
1434:       const mapped_type&
1434:       at(const key_type& __k) const
1434:       {
1434:  auto __ite = static_cast<const __hashtable*>(this)->find(__k);
1434:  if (!__ite._M_cur)
1434:  e<typename _CharT, typename _Traits>
1417:     inline basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f)
1417:     {
1417:       __os.width(__f._M_n);
1417:       return __os;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _MoneyT>
1417:     struct _Get_money { _MoneyT& _M_mon; bool _M_intl; };
1417: # 257 "/usr/include/c++/12/iomanip" 3
1417:   template<typename _MoneyT>
1417:     inline _Get_money<_MoneyT>
1417:     get_money(_MoneyT& __mon, bool __intl = false)
1417:     { return { __mon, __intl }; }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _MoneyT>
1417:     basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_money<_MoneyT> __f)
1417:     {
1417:       typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        typedef istreambuf_iterator<_CharT, _Traits> _Iter;
1417:        typedef money_get<_CharT, _Iter> _MoneyGet;
1417: 
1417:        const _MoneyGet& __mg = use_facet<_MoneyGet>(__is.getloc());
1417:        __mg.get(_Iter(__is.rdbuf()), _Iter(), __f._M_intl,
1417:          __is, __err, __f._M_mon);
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __is._M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __is._M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      __is.setstate(__err);
1417:  }
1417:       return __is;
1417:     }
1417: 
1417: 
1417:   template<typename _MoneyT>
1417:     struct _Put_money { const _MoneyT& _M_mon; bool _M_intl; };
1417: # 304 "/usr/include/c++/12/iomanip" 3
1417:   template<typename _MoneyT>
1417:     inline _Put_money<_MoneyT>
1417:     put_money(const _MoneyT& __mon, bool __intl = false)
1417:     { return { __mon, __intl }; }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _MoneyT>
1417:     basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f)
1417:     {
1417:       typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os);
1417:       if (__cerb)
1417:  {
1417:    ios_base::iostate __err = ios_base::goodbit;
1417:    try
1417:      {
1417:        typedef ostreambuf_iterator<_CharT, _Traits> _Iter;
1417:        typedef money_put<_CharT, _Iter> _MoneyPut;
1417: 
1417:        const _MoneyPut& __mp = use_facet<_MoneyPut>(__os.getloc());
1417:        if (__mp.put(_Iter(__os.rdbuf()), __f._M_intl, __os,
1417:       __os.fill(), __f._M_mon).failed())
1417:   __err |= ios_base::badbit;
1417:      }
1417:    catch(__cxxabiv1::__forced_unwind&)
1417:      {
1417:        __os._M_setstate(ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __os._M_setstate(ios_base::badbit); }
1417:    if (__err)
1417:      __os.setstate(__err);
1417:  }
1417:       return __os;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     struct _Put_time
1417:     {
1417:       const std::tm* _M_tmb;
1417:       const _CharT* _M_fmt;
1417:     };
1417: # 356 "/usr/include/c++/12/iomanip" 3
1417:   template<typename _CharT>
1417:     inline _Put_time<_CharT>
1417:     put_time(const std::tm* __tmb, const _CharT* __fmt)
1417:     { return { __tmb, __fmt }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_ostream<_CharT, _Traits>&
1417:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_time<_CharT> __f)
1417:     {
1417:       typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os);
1417:       if (__cerb)
1417:         {
1417:           ios_base::iostate __err = ios_base::goodbit;
1417:           try
1417:             {
1417:               typedef ostreambuf_iterator<_CharT, _Traits> _Iter;
1417:               typedef time_put<_CharT, _Iter> _TimePut;
1417: 
1417:               const _CharT* const __fmt_end = __f._M_fmt +
1417:                 _Traits::length(__f._M_fmt);
1417: 
1417:                __throw_out_of_range(("unordered_map::at"));
1434:  return __ite->second;
1434:       }
1434:     };
1434: 
1434:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1434:     operator[](const key_type& __k)
1434:     -> mapped_type&
1434:     {
1434:       __hashtable* __h = static_cast<__hashtable*>(this);
1434:       __hash_code __code = __h->_M_hash_code(__k);
1434:       std::size_t __bkt = __h->_M_bucket_index(__code);
1434:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1434:  return __node->_M_v().second;
1434: 
1434:       typename __hashtable::_Scoped_node __node {
1434:  __h,
1434:  std::piecewise_construct,
1434:  std::tuple<const key_type&>(__k),
1434:  std::tuple<>()
1434:       };
1434:       auto __pos
1434:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1434:       __node._M_node = nullptr;
1434:       return __pos->second;
1434:     }
1434: 
1434:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1434:     operator[](key_type&& __k)
1434:     -> mapped_type&
1434:     {
1434:       __hashtable* __h = static_cast<__hashtable*>(this);
1434:       __hash_code __code = __h->_M_hash_code(__k);
1434:       std::size_t __bkt = __h->_M_bucket_index(__code);
1434:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1434:  return __node->_M_v().second;
1434: 
1434:       typename __hashtable::_Scoped_node __node {
1434:  __h,
1434:  std::piecewise_construct,
1434:  std::forward_as_tuple(std::move(__k)),
1434:  std::tuple<>()
1434:       };
1434:       auto __pos
1434:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1434:       __node._M_node = nullptr;
1434:       return __pos->second;
1434:     }
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits, bool __uniq>
1434:     struct _Map_base<const _Key, pair<const _Key, _Val>,
1434:        _Alloc, _Select1st, _Equal, _Hash,
1434:        _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1434:     : _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal, _Hash,
1434:   _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Insert_base
1434:     {
1434:     protected:
1434:       using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey,
1434:             _Equal, _Hash, _RangeHash,
1434:             _Unused, _Traits>;
1434: 
1434:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:          _Hash, _RangeHash,
1434:          _Unused, _RehashPolicy, _Traits>;
1434: 
1434:       using __hash_cached = typename _Traits::__hash_cached;
1434:       using __constant_iterators = typename _Traits::__constant_iterators;
1434: 
1434:       using __hashtable_alloc = _Hashtable_alloc<
1434:  __alloc_rebind<_Alloc, _Hash_node<_Value,
1434:        __hash_cached::value>>>;
1434: 
1434:       using value_type = typename __hashtable_base::value_type;
1434:       using size_type = typename __hashtable_base::size_type;
1434: 
1434:       using __unique_keys = typename _Traits::__unique_keys;
1434:       using __node_alxtern _Float32x __fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1412: 
1412:      __attribute__ ((__pure__));
1412: 
1412: 
1412: extern _Float32x getpayloadf32x (const _Float32x *__x) noexcept (true); extern _Float32x __getpayloadf32x (const _Float32x *__x) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1412: 
1412: 
1412: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1412: # 502 "/usr/include/math.h" 2 3 4
1412: # 566 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1412: extern float fadd (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: extern float fdiv (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: extern float ffma (double __x, double __y, double __z) noexcept (true);
1412: 
1412: 
1412: extern float fmul (double __x, double __y) noexcept (true);
1412: 
1412: 
1412: extern float fsqrt (double __x) noexcept (true);
1412: 
1412: 
1412: extern float fsub (double __x, double __y) noexcept (true);
1412: # 567 "/usr/include/math.h" 2 3 4
1412: # 587 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1412: extern float faddl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern float fdivl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern float ffmal (long double __x, long double __y, long double __z) noexcept (true);
1412: 
1412: 
1412: extern float fmull (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern float fsqrtl (long double __x) noexcept (true);
1412: 
1412: 
1412: extern float fsubl (long double __x, long double __y) noexcept (true);
1412: # 588 "/usr/include/math.h" 2 3 4
1412: # 616 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1412: extern double daddl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern double ddivl (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern double dfmal (long double __x, long double __y, long double __z) noexcept (true);
1412: 
1412: 
1412: extern double dmull (long double __x, long double __y) noexcept (true);
1412: 
1412: 
1412: extern double dsqrtl (long double __x) noexcept (true);
1412: 
1412: 
1412: extern double dsubl (long double __x, long double __y) noexcept (true);
1412: # 617 "/usr/include/math.h" 2 3 4
1412: # 697 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1412: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: eloc_type = typename __hashtable_alloc::__node_alloc_type;
1434:       using __node_gen_type = _AllocNode<__node_alloc_type>;
1434: 
1434:       __hashtable&
1434:       _M_conjure_hashtable()
1434:       { return *(static_cast<__hashtable*>(this)); }
1434: 
1434:       template<typename _InputIterator, typename _NodeGetter>
1434:  void
1434:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1434:    const _NodeGetter&, true_type __uks);
1434: 
1434:       template<typename _InputIterator, typename _NodeGetter>
1434:  void
1434:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1434:    const _NodeGetter&, false_type __uks);
1434: 
1434:     public:
1434:       using iterator = _Node_iterator<_Value, __constant_iterators::value,
1434:           __hash_cached::value>;
1434: 
1434:       using const_iterator = _Node_const_iterator<_Value,
1434:         __constant_iterators::value,
1434:         __hash_cached::value>;
1434: 
1434:       using __ireturn_type = __conditional_t<__unique_keys::value,
1434:           std::pair<iterator, bool>,
1434:           iterator>;
1434: 
1434:       __ireturn_type
1434:       insert(const value_type& __v)
1434:       {
1434:  __hashtable& __h = _M_conjure_hashtable();
1434:  __node_gen_type __node_gen(__h);
1434:  return __h._M_insert(__v, __node_gen, __unique_keys{});
1434:       }
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, const value_type& __v)
1434:       {
1434:  __hashtable& __h = _M_conjure_hashtable();
1434:  __node_gen_type __node_gen(__h);
1434:  return __h._M_insert(__hint, __v, __node_gen, __unique_keys{});
1434:       }
1434: 
1434:       template<typename _KType, typename... _Args>
1434:  std::pair<iterator, bool>
1434:  try_emplace(const_iterator, _KType&& __k, _Args&&... __args)
1434:  {
1434:    __hashtable& __h = _M_conjure_hashtable();
1434:    auto __code = __h._M_hash_code(__k);
1434:    std::size_t __bkt = __h._M_bucket_index(__code);
1434:    if (auto __node = __h._M_find_node(__bkt, __k, __code))
1434:      return { iterator(__node), false };
1434: 
1434:    typename __hashtable::_Scoped_node __node {
1434:      &__h,
1434:      std::piecewise_construct,
1434:      std::forward_as_tuple(std::forward<_KType>(__k)),
1434:      std::forward_as_tuple(std::forward<_Args>(__args)...)
1434:      };
1434:    auto __it
1434:      = __h._M_insert_unique_node(__bkt, __code, __node._M_node);
1434:    __node._M_node = nullptr;
1434:    return { __it, true };
1434:  }
1434: 
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { this->insert(__l.begin(), __l.end()); }
1434: 
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  {
1434:    __hashtable& __h = _M_conjure_hashtable();
1434:    __node_gen_type __node_gen(__h);
1434:    return _M_insert_range(__first, __last, __node_gen, __unique_keys{});
1434:  }
1434:     };
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _InputIterator, typename _NodeGetter>
1434:       void
1434:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused,
1434:      _RehashPolicy, _Traits>::
1434:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1434:         const _NodeGetter& __node_gen, true_type __uks)
1434:       {
1434:  __hashtable& __h = _M_conjure_hashtable();
1434:  for (; __first != __last; ++__first)
1434:    __h._M_insert(*__first, __node_gen, __uks);
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _InputIterator, typename _NodeGetter>
1434:       void
1434:       _Insert_base<_Ke const _TimePut& __mp = use_facet<_TimePut>(__os.getloc());
1417:               if (__mp.put(_Iter(__os.rdbuf()), __os, __os.fill(),
1417:                            __f._M_tmb, __f._M_fmt, __fmt_end).failed())
1417:                 __err |= ios_base::badbit;
1417:             }
1417:           catch(__cxxabiv1::__forced_unwind&)
1417:             {
1417:               __os._M_setstate(ios_base::badbit);
1417:               throw;
1417:             }
1417:           catch(...)
1417:             { __os._M_setstate(ios_base::badbit); }
1417:           if (__err)
1417:             __os.setstate(__err);
1417:         }
1417:       return __os;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     struct _Get_time
1417:     {
1417:       std::tm* _M_tmb;
1417:       const _CharT* _M_fmt;
1417:     };
1417: # 411 "/usr/include/c++/12/iomanip" 3
1417:   template<typename _CharT>
1417:     inline _Get_time<_CharT>
1417:     get_time(std::tm* __tmb, const _CharT* __fmt)
1417:     { return { __tmb, __fmt }; }
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     basic_istream<_CharT, _Traits>&
1417:     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_time<_CharT> __f)
1417:     {
1417:       typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false);
1417:       if (__cerb)
1417:         {
1417:           ios_base::iostate __err = ios_base::goodbit;
1417:           try
1417:             {
1417:               typedef istreambuf_iterator<_CharT, _Traits> _Iter;
1417:               typedef time_get<_CharT, _Iter> _TimeGet;
1417: 
1417:               const _CharT* const __fmt_end = __f._M_fmt +
1417:                 _Traits::length(__f._M_fmt);
1417: 
1417:               const _TimeGet& __mg = use_facet<_TimeGet>(__is.getloc());
1417:               __mg.get(_Iter(__is.rdbuf()), _Iter(), __is,
1417:                        __err, __f._M_tmb, __f._M_fmt, __fmt_end);
1417:             }
1417:           catch(__cxxabiv1::__forced_unwind&)
1417:             {
1417:               __is._M_setstate(ios_base::badbit);
1417:               throw;
1417:             }
1417:           catch(...)
1417:             { __is._M_setstate(ios_base::badbit); }
1417:           if (__err)
1417:             __is.setstate(__err);
1417:         }
1417:       return __is;
1417:     }
1417: # 459 "/usr/include/c++/12/iomanip" 3
1417:   template<typename _CharT>
1417:     inline auto
1417:     quoted(const _CharT* __string,
1417:     _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\'))
1417:     {
1417:       return __detail::_Quoted_string<const _CharT*, _CharT>(__string, __delim,
1417:             __escape);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline auto
1417:     quoted(const basic_string<_CharT, _Traits, _Alloc>& __string,
1417:     _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\'))
1417:     {
1417:       return __detail::_Quoted_string<
1417:  const basic_string<_CharT, _Traits, _Alloc>&, _CharT>(
1417:      __string, __delim, __escape);
1417:     }
1417: 
1417:   template<typename _CharT, typename _Traits, typename _Alloc>
1417:     inline auto
1417:     quoted(basic_string<_CharT, _Traits, _Alloc>& __string,
1417:     _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\'))
1417:     {
1417:       return __detail::_Quoted_string<
1417:  basic_string<_CharT, _Traits, _Alloc>&, _CharT>(
1417:      __string, __delim, __escape);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT, typename _Traits>
1417:     inline auto
1417:     quoted(basic_string_view<_CharT, _Traits> __sv,
1417:     _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\'))
1417:     {
1417:       return __detail::_Quoted_string<
1417:  basic_string_view<_CharT, _Traits>, _CharT>(__sv, __delim, __escape);
1417:     }
1417: # 508 "/usr/include/c++/12/iomanip" 3
1417:   extern template ostream& operator<<(ostream&, _Setfill<char>);
1417:   extern template ostream& operator<<(ostream&, _Setiosflags);
1417:   extern template ostream& operator<<(oy, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused,
1434:      _RehashPolicy, _Traits>::
1434:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1434:         const _NodeGetter& __node_gen, false_type __uks)
1434:       {
1434:  using __rehash_type = typename __hashtable::__rehash_type;
1434:  using __rehash_state = typename __hashtable::__rehash_state;
1434:  using pair_type = std::pair<bool, std::size_t>;
1434: 
1434:  size_type __n_elt = __detail::__distance_fw(__first, __last);
1434:  if (__n_elt == 0)
1434:    return;
1434: 
1434:  __hashtable& __h = _M_conjure_hashtable();
1434:  __rehash_type& __rehash = __h._M_rehash_policy;
1434:  const __rehash_state& __saved_state = __rehash._M_state();
1434:  pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count,
1434:        __h._M_element_count,
1434:        __n_elt);
1434: 
1434:  if (__do_rehash.first)
1434:    __h._M_rehash(__do_rehash.second, __saved_state);
1434: 
1434:  for (; __first != __last; ++__first)
1434:    __h._M_insert(*__first, __node_gen, __uks);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits,
1434:     bool _Constant_iterators = _Traits::__constant_iterators::value>
1434:     struct _Insert;
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused,
1434:      _RehashPolicy, _Traits, true>
1434:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1434:     {
1434:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1434:            _Equal, _Hash, _RangeHash, _Unused,
1434:            _RehashPolicy, _Traits>;
1434: 
1434:       using value_type = typename __base_type::value_type;
1434:       using iterator = typename __base_type::iterator;
1434:       using const_iterator = typename __base_type::const_iterator;
1434:       using __ireturn_type = typename __base_type::__ireturn_type;
1434: 
1434:       using __unique_keys = typename __base_type::__unique_keys;
1434:       using __hashtable = typename __base_type::__hashtable;
1434:       using __node_gen_type = typename __base_type::__node_gen_type;
1434: 
1434:       using __base_type::insert;
1434: 
1434:       __ireturn_type
1434:       insert(value_type&& __v)
1434:       {
1434:  __hashtable& __h = this->_M_conjure_hashtable();
1434:  __node_gen_type __node_gen(__h);
1434:  return __h._M_insert(std::move(__v), __node_gen, __unique_keys{});
1434:       }
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, value_type&& __v)
1434:       {
1434:  __hashtable& __h = this->_M_conjure_hashtable();
1434:  __node_gen_type __node_gen(__h);
1434:  return __h._M_insert(__hint, std::move(__v), __node_gen,
1434:         __unique_keys{});
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1434:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1434:     {
1434:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1434:            _Equal, _Hash, _RangeHash, _Unused,
1434:            _RehashPolicy, _Traits>;
1434:       using value_type = typename __base_typxtern _Float32 f32divf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32sqrtf32x (_Float32x __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) noexcept (true);
1412: # 698 "/usr/include/math.h" 2 3 4
1412: # 707 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1412: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32sqrtf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: # 708 "/usr/include/math.h" 2 3 4
1412: # 747 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1412: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1412: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32x f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1412: 
1412: 
1412: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: 
1412: 
1412: extern _Float32x f32xsqrtf64 (_Float64 __x) noexcept (true);
1412: 
1412: 
1412: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) noexcept (true);
1412: # 748 "/usr/include/math.h" 2 3 4
1412: # 854 "/usr/include/math.h" 3 4
1412: extern int signgam;
1412: # 934 "/usr/include/math.h" 3 4
1412: enum
1412:   {
1412:     FP_NAN =
1412: 
1412:       0,
1412:     FP_INFINITE =
1412: 
1412:       1,
1412:     FP_ZERO =
1412: 
1412:       2,
1412:     FP_SUBNORMAL =
1412: 
1412:       3,
1412:     FP_NORMAL =
1412: 
1412:       4
1412:   };
1412: # 1054 "/usr/include/math.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/iscanonical.h" 1 3 4
1412: # 1055 "/usr/include/math.h" 2 3 4
1412: # 1066 "/usr/include/math.h" 3 4
1412: extern "C++" {
1412: inline int issignaling (float __val) { return __issignalingf (__val); }
1412: inline int issignaling (double __val) { return __issignaling (__val); }
1412: inline int
1412: issignaling (long double __val)
1412: {
1412: 
1412:   return __issignaling (__val);
1412: 
1412: 
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 1097 "/usr/include/math.h" 3 4
1412: extern "C++" {
1412: # 1128 "/usr/include/math.h" 3 4
1412: template <class __T> inline bool
1412: iszero (__T __val)
1412: {
1412:   return __val == 0;
1412: }
1412: 
1412: }
1412: # 1363 "/usr/include/math.h" 3 4
1412: extern "C++" {
1412: template<typename> struct __iseqsig_type;
1412: 
1412: template<> struct __iseqsig_type<float>
1412: {
1412:   static int __call (float __x, float __y) throw ()
1412:   {
1412:     return __iseqsigf (__x, __y);
1412:   }
1412: };
1412: 
1412: template<> struct __iseqsig_type<double>
1412: {
1412:   static int __call (double __x, double __y) throw ()
1412:   {
1412:     return __iseqsig (__x, __y);
1412:   }
1412: };
1412: 
1412: template<> struct __iseqsig_type<long double>
1412: {
1412:   static int __call (long double __x, long double __y) throw ()
1412:   {
1412: 
1412: 
1412: 
1412:     return __iseqsig (__x, __y);
1412: 
1412:   }
1412: };
1412: # 1406 "/usr/include/math.h" 3 4
1412: template<typename _T1, typename _T2>
1412: inline int
1412: iseqsig (_T1 __x, _T2 __y) throw ()
1412: {
1412: 
1412:   typedef decltype (((__x) + (__y) + 0.0f)) _T3;
1412: 
e::value_type;
1434:       using iterator = typename __base_type::iterator;
1434:       using const_iterator = typename __base_type::const_iterator;
1434: 
1434:       using __unique_keys = typename __base_type::__unique_keys;
1434:       using __hashtable = typename __base_type::__hashtable;
1434:       using __ireturn_type = typename __base_type::__ireturn_type;
1434: 
1434:       using __base_type::insert;
1434: 
1434:       template<typename _Pair>
1434:  using __is_cons = std::is_constructible<value_type, _Pair&&>;
1434: 
1434:       template<typename _Pair>
1434:  using _IFcons = std::enable_if<__is_cons<_Pair>::value>;
1434: 
1434:       template<typename _Pair>
1434:  using _IFconsp = typename _IFcons<_Pair>::type;
1434: 
1434:       template<typename _Pair, typename = _IFconsp<_Pair>>
1434:  __ireturn_type
1434:  insert(_Pair&& __v)
1434:  {
1434:    __hashtable& __h = this->_M_conjure_hashtable();
1434:    return __h._M_emplace(__unique_keys{}, std::forward<_Pair>(__v));
1434:  }
1434: 
1434:       template<typename _Pair, typename = _IFconsp<_Pair>>
1434:  iterator
1434:  insert(const_iterator __hint, _Pair&& __v)
1434:  {
1434:    __hashtable& __h = this->_M_conjure_hashtable();
1434:    return __h._M_emplace(__hint, __unique_keys{},
1434:     std::forward<_Pair>(__v));
1434:  }
1434:    };
1434: 
1434:   template<typename _Policy>
1434:     using __has_load_factor = typename _Policy::__has_load_factor;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits,
1434:     typename =
1434:       __detected_or_t<false_type, __has_load_factor, _RehashPolicy>>
1434:     struct _Rehash_base;
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1434:    false_type >
1434:     {
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1434:    true_type >
1434:     {
1434:     private:
1434:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey,
1434:          _Equal, _Hash, _RangeHash, _Unused,
1434:          _RehashPolicy, _Traits>;
1434: 
1434:     public:
1434:       float
1434:       max_load_factor() const noexcept
1434:       {
1434:  const __hashtable* __this = static_cast<const __hashtable*>(this);
1434:  return __this->__rehash_policy().max_load_factor();
1434:       }
1434: 
1434:       void
1434:       max_load_factor(float __z)
1434:       {
1434:  __hashtable* __this = static_cast<__hashtable*>(this);
1434:  __this->__rehash_policy(_RehashPolicy(__z));
1434:       }
1434: 
1434:       void
1434:       reserve(std::size_t __n)
1434:       {
1434:  __hashtable* __this = static_cast<__hashtable*>(this);
1434:  __this->rehash(__this->__rehash_policy()._M_bkt_for_elements(__n));
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<int _Nm, typename _Tp,
1434:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1434:     struct _Hashtable_ebo_helper;
1434: 
1434: 
1434:   template<int _Nm, typename _Tp>
1434:     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
1434:     : private _Tp
1434:     {
1434:       _Hashtable_ebo_helper() noexcept(noexcept(_Tp())) : _Tp() { }
1434: 
1434:       template<typename _OtherTp>
1434:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1434:  : _Tp(std::forwastream&, _Resetiosflags);
1417:   extern template ostream& operator<<(ostream&, _Setbase);
1417:   extern template ostream& operator<<(ostream&, _Setprecision);
1417:   extern template ostream& operator<<(ostream&, _Setw);
1417:   extern template istream& operator>>(istream&, _Setfill<char>);
1417:   extern template istream& operator>>(istream&, _Setiosflags);
1417:   extern template istream& operator>>(istream&, _Resetiosflags);
1417:   extern template istream& operator>>(istream&, _Setbase);
1417:   extern template istream& operator>>(istream&, _Setprecision);
1417:   extern template istream& operator>>(istream&, _Setw);
1417: 
1417: 
1417:   extern template wostream& operator<<(wostream&, _Setfill<wchar_t>);
1417:   extern template wostream& operator<<(wostream&, _Setiosflags);
1417:   extern template wostream& operator<<(wostream&, _Resetiosflags);
1417:   extern template wostream& operator<<(wostream&, _Setbase);
1417:   extern template wostream& operator<<(wostream&, _Setprecision);
1417:   extern template wostream& operator<<(wostream&, _Setw);
1417:   extern template wistream& operator>>(wistream&, _Setfill<wchar_t>);
1417:   extern template wistream& operator>>(wistream&, _Setiosflags);
1417:   extern template wistream& operator>>(wistream&, _Resetiosflags);
1417:   extern template wistream& operator>>(wistream&, _Setbase);
1417:   extern template wistream& operator>>(wistream&, _Setprecision);
1417:   extern template wistream& operator>>(wistream&, _Setw);
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 2
1417: # 1 "/usr/include/c++/12/regex" 1 3
1417: # 32 "/usr/include/c++/12/regex" 3
1417:        
1417: # 33 "/usr/include/c++/12/regex" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bitset" 1 3
1417: # 45 "/usr/include/c++/12/bitset" 3
1417:        
1417: # 46 "/usr/include/c++/12/bitset" 3
1417: # 64 "/usr/include/c++/12/bitset" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<size_t _Nw>
1417:     struct _Base_bitset
1417:     {
1417:       typedef unsigned long _WordT;
1417: 
1417: 
1417:       _WordT _M_w[_Nw];
1417: 
1417:       constexpr _Base_bitset() noexcept
1417:       : _M_w() { }
1417: 
1417: 
1417:       constexpr _Base_bitset(unsigned long long __val) noexcept
1417:       : _M_w{ _WordT(__val)
1417: 
1417:         , _WordT(__val >> (8 * 4))
1417: 
1417:        } { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr size_t
1417:       _S_whichword(size_t __pos) noexcept
1417:       { return __pos / (8 * 4); }
1417: 
1417:       static constexpr size_t
1417:       _S_whichbyte(size_t __pos) noexcept
1417:       { return (__pos % (8 * 4)) / 8; }
1417: 
1417:       static constexpr size_t
1417:       _S_whichbit(size_t __pos) noexcept
1417:       { return __pos % (8 * 4); }
1417: 
1417:       static constexpr _WordT
1417:       _S_maskbit(size_t __pos) noexcept
1417:       { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); }
1417: 
1417:       _WordT&
1417:       _M_getword(size_t __pos) noexcept
1417:       { return _M_w[_S_whichword(__pos)]; }
1417: 
1417:       constexpr _WordT
1417:       _M_getword(size_t __pos) const noexcept
1417:       { return _M_w[_S_whichword(__pos)]; }
1417: 
1417: 
1417:       const _WordT*
1417:       _M_getdata() const noexcept
1417:       { return _M_w; }
1417: 
1417: 
1417:       _WordT&
1417:       _M_hiword() noexcept
1417:       { return _M_w[_Nw - 1]; }
1417: 
1417:       constexpr _WordT
1417:       _M_hiword() const noexcept
1417:       { return _M_w[_Nw - 1]; }
1417: 
1417:       void
1417:       _M_do_and(const _Base_bitset<_Nw>& __x) noexcept
1417:       {
1417:  for (size_t __i = 0; __i < _Nw; __i++)
1417:    _M_w[__i] &= __x._M_w[__i];
1417:       }
1417: 
1417:       void
1417:       _M_do_or(const _Base_bitset<_Nw>& __x) noexcept
1417:       {
1417:  for (size_t __i = 0; __i < _Nw; __i++)
1417:    _Mrd<_OtherTp>(__tp))
1434:  { }
1434: 
1434:       const _Tp& _M_cget() const { return static_cast<const _Tp&>(*this); }
1434:       _Tp& _M_get() { return static_cast<_Tp&>(*this); }
1434:     };
1434: 
1434: 
1434:   template<int _Nm, typename _Tp>
1434:     struct _Hashtable_ebo_helper<_Nm, _Tp, false>
1434:     {
1434:       _Hashtable_ebo_helper() = default;
1434: 
1434:       template<typename _OtherTp>
1434:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1434:  : _M_tp(std::forward<_OtherTp>(__tp))
1434:  { }
1434: 
1434:       const _Tp& _M_cget() const { return _M_tp; }
1434:       _Tp& _M_get() { return _M_tp; }
1434: 
1434:     private:
1434:       _Tp _M_tp{};
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     bool __cache_hash_code>
1434:     struct _Local_iterator_base;
1434: # 1236 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     bool __cache_hash_code>
1434:     struct _Hash_code_base
1434:     : private _Hashtable_ebo_helper<1, _Hash>
1434:     {
1434:     private:
1434:       using __ebo_hash = _Hashtable_ebo_helper<1, _Hash>;
1434: 
1434: 
1434:       friend struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1434:       _Hash, _RangeHash, _Unused, false>;
1434: 
1434:     public:
1434:       typedef _Hash hasher;
1434: 
1434:       hasher
1434:       hash_function() const
1434:       { return _M_hash(); }
1434: 
1434:     protected:
1434:       typedef std::size_t __hash_code;
1434: 
1434: 
1434: 
1434:       _Hash_code_base() = default;
1434: 
1434:       _Hash_code_base(const _Hash& __hash) : __ebo_hash(__hash) { }
1434: 
1434:       __hash_code
1434:       _M_hash_code(const _Key& __k) const
1434:       {
1434:  static_assert(__is_invocable<const _Hash&, const _Key&>{},
1434:      "hash function must be invocable with an argument of key type");
1434:  return _M_hash()(__k);
1434:       }
1434: 
1434:       template<typename _Kt>
1434:  __hash_code
1434:  _M_hash_code_tr(const _Kt& __k) const
1434:  {
1434:    static_assert(__is_invocable<const _Hash&, const _Kt&>{},
1434:      "hash function must be invocable with an argument of key type");
1434:    return _M_hash()(__k);
1434:  }
1434: 
1434:       __hash_code
1434:       _M_hash_code(const _Hash&,
1434:      const _Hash_node_value<_Value, true>& __n) const
1434:       { return __n._M_hash_code; }
1434: 
1434: 
1434: 
1434:       template<typename _H2>
1434:  __hash_code
1434:  _M_hash_code(const _H2&,
1434:   const _Hash_node_value<_Value, __cache_hash_code>& __n) const
1434:  { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1434: 
1434:       __hash_code
1434:       _M_hash_code(const _Hash_node_value<_Value, false>& __n) const
1434:       { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1434: 
1434:       __hash_code
1434:       _M_hash_code(const _Hash_node_value<_Value, true>& __n) const
1434:       { return __n._M_hash_code; }
1434: 
1434:       std::size_t
1434:       _M_bucket_index(__hash_code __c, std::size_t __bkt_count) const
1434:       { return _RangeHash{}(__c, __bkt_count); }
1434: 
1434:       std::size_t
1434:       _M_bucket_index(const _Hash_node_value<_Value, false>& __n,
1434:         std::size_t __bkt_count) const
1434:  noexcept( noexcept(declval<const _Hash&>()(declval<const _Key&>()))
1434:     && noexcept(declval<const _RangeHash&>()((__hash_code)0,
1434:           (std::size_t)0)) )
1434:       {
1434:  return _RangeHash{}(_M_hash_code(_ExtractKey{}(__n._M_v())),
1434:        __bkt_count);
1434:       }
1434: 
1434:       std::size_t
1434:       _M_bucket_index(const _Hash_node_value<_Value, true>& __n,
1434:         std::size_t __bkt_count) const
1434:  noexcept( noexcept(declval<const _RangeHash&>()((__hash_code)0,
1434:        (std::size_t)0)) )
1434:       { return _RangeHash{}(__n._M_hash_code, __bkt_count); }
1434: 
1412: 
1412: 
1412:   return __iseqsig_type<_T3>::__call (__x, __y);
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 46 "/usr/include/c++/12/cmath" 2 3
1412: # 77 "/usr/include/c++/12/cmath" 3
1412: extern "C++"
1412: {
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   using ::acos;
1412: 
1412: 
1412:   inline constexpr float
1412:   acos(float __x)
1412:   { return __builtin_acosf(__x); }
1412: 
1412:   inline constexpr long double
1412:   acos(long double __x)
1412:   { return __builtin_acosl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     acos(_Tp __x)
1412:     { return __builtin_acos(__x); }
1412: 
1412:   using ::asin;
1412: 
1412: 
1412:   inline constexpr float
1412:   asin(float __x)
1412:   { return __builtin_asinf(__x); }
1412: 
1412:   inline constexpr long double
1412:   asin(long double __x)
1412:   { return __builtin_asinl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     asin(_Tp __x)
1412:     { return __builtin_asin(__x); }
1412: 
1412:   using ::atan;
1412: 
1412: 
1412:   inline constexpr float
1412:   atan(float __x)
1412:   { return __builtin_atanf(__x); }
1412: 
1412:   inline constexpr long double
1412:   atan(long double __x)
1412:   { return __builtin_atanl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     atan(_Tp __x)
1412:     { return __builtin_atan(__x); }
1412: 
1412:   using ::atan2;
1412: 
1412: 
1412:   inline constexpr float
1412:   atan2(float __y, float __x)
1412:   { return __builtin_atan2f(__y, __x); }
1412: 
1412:   inline constexpr long double
1412:   atan2(long double __y, long double __x)
1412:   { return __builtin_atan2l(__y, __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline constexpr
1412:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     atan2(_Tp __y, _Up __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return atan2(__type(__y), __type(__x));
1412:     }
1412: 
1412:   using ::ceil;
1412: 
1412: 
1412:   inline constexpr float
1412:   ceil(float __x)
1412:   { return __builtin_ceilf(__x); }
1412: 
1412:   inline constexpr long double
1412:   ceil(long double __x)
1412:   { return __builtin_ceill(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     ceil(_Tp __x)
1412:     { return __builtin_ceil(__x); }
1412: 
1412:   using ::cos;
1412: 
1412: 
1412:   inline constexpr float
1412:   cos(float __x)
1412:   { return __builtin_cosf(__x); }
1412: 
1412:   inline constexpr long double
1412:   cos(long double __x)
1412:   { return __builtin_cosl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     cos(_Tp __x)
1412:     { return __builtin_cos(__x); }
1412: 
1412:   using ::cosh;
1412: 
1412: 
1412:   inline constexpr float
1412:   cosh(float __x)
1412:   { return __builtin_coshf(__x); }
1412: 
1412:   inline constexpr long double
1412:   cosh(long double __x)
1412:   { return __builtin_coshl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     cosh(_Tp __x)
1412:     { return __builtin_cosh(__x); }
1412: 
1412:   using ::exp;
1412:1434:       void
1434:       _M_store_code(_Hash_node_code_cache<false>&, __hash_code) const
1434:       { }
1434: 
1434:       void
1434:       _M_copy_code(_Hash_node_code_cache<false>&,
1434:      const _Hash_node_code_cache<false>&) const
1434:       { }
1434: 
1434:       void
1434:       _M_store_code(_Hash_node_code_cache<true>& __n, __hash_code __c) const
1434:       { __n._M_hash_code = __c; }
1434: 
1434:       void
1434:       _M_copy_code(_Hash_node_code_cache<true>& __to,
1434:      const _Hash_node_code_cache<true>& __from) const
1434:       { __to._M_hash_code = __from._M_hash_code; }
1434: 
1434:       void
1434:       _M_swap(_Hash_code_base& __x)
1434:       { std::swap(__ebo_hash::_M_get(), __x.__ebo_hash::_M_get()); }
1434: 
1434:       const _Hash&
1434:       _M_hash() const { return __ebo_hash::_M_cget(); }
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Hash, typename _RangeHash, typename _Unused>
1434:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1434:     _Hash, _RangeHash, _Unused, true>
1434:     : public _Node_iterator_base<_Value, true>
1434:     {
1434:     protected:
1434:       using __base_node_iter = _Node_iterator_base<_Value, true>;
1434:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1434:            _Hash, _RangeHash, _Unused, true>;
1434: 
1434:       _Local_iterator_base() = default;
1434:       _Local_iterator_base(const __hash_code_base&,
1434:       _Hash_node<_Value, true>* __p,
1434:       std::size_t __bkt, std::size_t __bkt_count)
1434:       : __base_node_iter(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1434:       { }
1434: 
1434:       void
1434:       _M_incr()
1434:       {
1434:  __base_node_iter::_M_incr();
1434:  if (this->_M_cur)
1434:    {
1434:      std::size_t __bkt
1434:        = _RangeHash{}(this->_M_cur->_M_hash_code, _M_bucket_count);
1434:      if (__bkt != _M_bucket)
1434:        this->_M_cur = nullptr;
1434:    }
1434:       }
1434: 
1434:       std::size_t _M_bucket;
1434:       std::size_t _M_bucket_count;
1434: 
1434:     public:
1434:       std::size_t
1434:       _M_get_bucket() const { return _M_bucket; }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, bool _IsEmpty = std::is_empty<_Tp>::value>
1434:     struct _Hash_code_storage
1434:     {
1434:       __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1434: 
1434:       _Tp*
1434:       _M_h() { return _M_storage._M_ptr(); }
1434: 
1434:       const _Tp*
1434:       _M_h() const { return _M_storage._M_ptr(); }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _Hash_code_storage<_Tp, true>
1434:     {
1434:       static_assert( std::is_empty<_Tp>::value, "Type must be empty" );
1434: 
1434: 
1434: 
1434:       _Tp*
1434:       _M_h() { return reinterpret_cast<_Tp*>(this); }
1434: 
1434:       const _Tp*
1434:       _M_h() const { return reinterpret_cast<const _Tp*>(this); }
1434:     };
1434: 
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Hash, typename _RangeHash, typename _Unused>
1434:     using __hash_code_for_local_iter
1434:       = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey,
1434:         _Hash, _RangeHash, _Unused, false>>;
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Hash, typename _RangeHash, typename _Unused>
1434:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1434:     _Hash, _RangeHash, _Unused, false>
1434:     : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1434:      _Unused>
1434:     , _Node_iterator_base<_Value, false>
1434:     {
1434:     protected:
1434:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1434:           _Hash, _RangeHash, _Unused, false>;
1434:       using __node_iter_base = _Node_iterator_base<_Value, false>;
1434: 
1434:       _Local_iterator_base() : _M_bucket_count(-1) { }
1434: 
1434:       _Local_iterator_w[__i] |= __x._M_w[__i];
1417:       }
1417: 
1417:       void
1417:       _M_do_xor(const _Base_bitset<_Nw>& __x) noexcept
1417:       {
1417:  for (size_t __i = 0; __i < _Nw; __i++)
1417:    _M_w[__i] ^= __x._M_w[__i];
1417:       }
1417: 
1417:       void
1417:       _M_do_left_shift(size_t __shift) noexcept;
1417: 
1417:       void
1417:       _M_do_right_shift(size_t __shift) noexcept;
1417: 
1417:       void
1417:       _M_do_flip() noexcept
1417:       {
1417:  for (size_t __i = 0; __i < _Nw; __i++)
1417:    _M_w[__i] = ~_M_w[__i];
1417:       }
1417: 
1417:       void
1417:       _M_do_set() noexcept
1417:       {
1417:  for (size_t __i = 0; __i < _Nw; __i++)
1417:    _M_w[__i] = ~static_cast<_WordT>(0);
1417:       }
1417: 
1417:       void
1417:       _M_do_reset() noexcept
1417:       { __builtin_memset(_M_w, 0, _Nw * sizeof(_WordT)); }
1417: 
1417:       bool
1417:       _M_is_equal(const _Base_bitset<_Nw>& __x) const noexcept
1417:       {
1417:  for (size_t __i = 0; __i < _Nw; ++__i)
1417:    if (_M_w[__i] != __x._M_w[__i])
1417:      return false;
1417:  return true;
1417:       }
1417: 
1417:       template<size_t _Nb>
1417:         bool
1417:         _M_are_all() const noexcept
1417:         {
1417:    for (size_t __i = 0; __i < _Nw - 1; __i++)
1417:      if (_M_w[__i] != ~static_cast<_WordT>(0))
1417:        return false;
1417:    return _M_hiword() == (~static_cast<_WordT>(0)
1417:      >> (_Nw * (8 * 4)
1417:          - _Nb));
1417:  }
1417: 
1417:       bool
1417:       _M_is_any() const noexcept
1417:       {
1417:  for (size_t __i = 0; __i < _Nw; __i++)
1417:    if (_M_w[__i] != static_cast<_WordT>(0))
1417:      return true;
1417:  return false;
1417:       }
1417: 
1417:       size_t
1417:       _M_do_count() const noexcept
1417:       {
1417:  size_t __result = 0;
1417:  for (size_t __i = 0; __i < _Nw; __i++)
1417:    __result += __builtin_popcountl(_M_w[__i]);
1417:  return __result;
1417:       }
1417: 
1417:       unsigned long
1417:       _M_do_to_ulong() const;
1417: 
1417: 
1417:       unsigned long long
1417:       _M_do_to_ullong() const;
1417: 
1417: 
1417: 
1417:       size_t
1417:       _M_do_find_first(size_t) const noexcept;
1417: 
1417: 
1417:       size_t
1417:       _M_do_find_next(size_t, size_t) const noexcept;
1417:     };
1417: 
1417: 
1417:   template<size_t _Nw>
1417:     void
1417:     _Base_bitset<_Nw>::_M_do_left_shift(size_t __shift) noexcept
1417:     {
1417:       if (__builtin_expect(__shift != 0, 1))
1417:  {
1417:    const size_t __wshift = __shift / (8 * 4);
1417:    const size_t __offset = __shift % (8 * 4);
1417: 
1417:    if (__offset == 0)
1417:      for (size_t __n = _Nw - 1; __n >= __wshift; --__n)
1417:        _M_w[__n] = _M_w[__n - __wshift];
1417:    else
1417:      {
1417:        const size_t __sub_offset = ((8 * 4)
1417:         - __offset);
1417:        for (size_t __n = _Nw - 1; __n > __wshift; --__n)
1417:   _M_w[__n] = ((_M_w[__n - __wshift] << __offset)
1417:         | (_M_w[__n - __wshift - 1] >> __sub_offset));
1417:        _M_w[__wshift] = _M_w[0] << __offset;
1417:      }
1417: 
1417:    std::fill(_M_w + 0, _M_w + __wshift, static_cast<_WordT>(0));
1417:  }
1417:     }
1417: 
1417:   template<size_t _Nw>
1417:     void
1417:     _Base_bitset<_Nw>::_M_do_right_shift(size_t __shift) noexcept
1417:     {
1417:       if (__builtin_expect(__shift != 0, 1))
1417:  {
1417:    const size_t __wshift = __shift / (8 * 4);
1417:    const size_t __offset = __shift % (8 * 4);
1417:    const size_t __limit = _Nw - __wshift - 1;
1417: 
1417:    if (__offset == 0)
1417:      for (size_t __n = 0; __n <= __limit; ++__n)
1417:        _M_w[__n] = _M_w[__n + __wshift];
1417:    else
1417:      {
1417:        const size_t __sub_offset = ((8 * 4)
1417:         - __offset);
1417:        for (size_t __n = 0; __n < __limit; ++__n)
1417:   _M_w[__n] = ((_M_w[__n + __wshift] >> __offset)
1417:         | (_M_w[__n + __wshift + 1] << __sub_offset));
1417:        _M_w[__limit] = _M_w[_Nw-1] >> __offset;
1417:      }
1417: 
1417:    std::fill(_M_w + __limit + 1, _M_w + _Nw, s_base(const __hash_code_base& __base,
1434:       _Hash_node<_Value, false>* __p,
1434:       std::size_t __bkt, std::size_t __bkt_count)
1434:       : __node_iter_base(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1434:       { _M_init(__base); }
1434: 
1434:       ~_Local_iterator_base()
1434:       {
1434:  if (_M_bucket_count != size_t(-1))
1434:    _M_destroy();
1434:       }
1434: 
1434:       _Local_iterator_base(const _Local_iterator_base& __iter)
1434:       : __node_iter_base(__iter._M_cur), _M_bucket(__iter._M_bucket)
1434:       , _M_bucket_count(__iter._M_bucket_count)
1434:       {
1434:  if (_M_bucket_count != size_t(-1))
1434:    _M_init(*__iter._M_h());
1434:       }
1434: 
1434:       _Local_iterator_base&
1434:       operator=(const _Local_iterator_base& __iter)
1434:       {
1434:  if (_M_bucket_count != -1)
1434:    _M_destroy();
1434:  this->_M_cur = __iter._M_cur;
1434:  _M_bucket = __iter._M_bucket;
1434:  _M_bucket_count = __iter._M_bucket_count;
1434:  if (_M_bucket_count != -1)
1434:    _M_init(*__iter._M_h());
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       _M_incr()
1434:       {
1434:  __node_iter_base::_M_incr();
1434:  if (this->_M_cur)
1434:    {
1434:      std::size_t __bkt = this->_M_h()->_M_bucket_index(*this->_M_cur,
1434:              _M_bucket_count);
1434:      if (__bkt != _M_bucket)
1434:        this->_M_cur = nullptr;
1434:    }
1434:       }
1434: 
1434:       std::size_t _M_bucket;
1434:       std::size_t _M_bucket_count;
1434: 
1434:       void
1434:       _M_init(const __hash_code_base& __base)
1434:       { ::new(this->_M_h()) __hash_code_base(__base); }
1434: 
1434:       void
1434:       _M_destroy() { this->_M_h()->~__hash_code_base(); }
1434: 
1434:     public:
1434:       std::size_t
1434:       _M_get_bucket() const { return _M_bucket; }
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     bool __constant_iterators, bool __cache>
1434:     struct _Local_iterator
1434:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1434:       _Hash, _RangeHash, _Unused, __cache>
1434:     {
1434:     private:
1434:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
1434:         _Hash, _RangeHash, _Unused, __cache>;
1434:       using __hash_code_base = typename __base_type::__hash_code_base;
1434: 
1434:     public:
1434:       using value_type = _Value;
1434:       using pointer = __conditional_t<__constant_iterators,
1434:           const value_type*, value_type*>;
1434:       using reference = __conditional_t<__constant_iterators,
1434:      const value_type&, value_type&>;
1434:       using difference_type = ptrdiff_t;
1434:       using iterator_category = forward_iterator_tag;
1434: 
1434:       _Local_iterator() = default;
1434: 
1434:       _Local_iterator(const __hash_code_base& __base,
1434:         _Hash_node<_Value, __cache>* __n,
1434:         std::size_t __bkt, std::size_t __bkt_count)
1434:       : __base_type(__base, __n, __bkt, __bkt_count)
1434:       { }
1434: 
1434:       reference
1434:       operator*() const
1434:       { return this->_M_cur->_M_v(); }
1434: 
1434:       pointer
1434:       operator->() const
1434:       { return this->_M_cur->_M_valptr(); }
1434: 
1434:       _Local_iterator&
1434:       operator++()
1434:       {
1434:  this->_M_incr();
1434:  return *this;
1434:       }
1434: 
1434:       _Local_iterator
1434:       operator++(int)
1434:       {
1434:  _Local_iterator __tmp(*this);
1434:  this->_M_incr();
1434:  return __tmp;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     bool __constant_iterators, bool __cache>
1434:     struct _Local_const_iterator
1434:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1434:       _Hash, _RangeHash, _Unused, __cache>
1434:     {
1434:     private:
1434:       using __base_typ 
1412: 
1412:   inline constexpr float
1412:   exp(float __x)
1412:   { return __builtin_expf(__x); }
1412: 
1412:   inline constexpr long double
1412:   exp(long double __x)
1412:   { return __builtin_expl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     exp(_Tp __x)
1412:     { return __builtin_exp(__x); }
1412: 
1412:   using ::fabs;
1412: 
1412: 
1412:   inline constexpr float
1412:   fabs(float __x)
1412:   { return __builtin_fabsf(__x); }
1412: 
1412:   inline constexpr long double
1412:   fabs(long double __x)
1412:   { return __builtin_fabsl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     fabs(_Tp __x)
1412:     { return __builtin_fabs(__x); }
1412: 
1412:   using ::floor;
1412: 
1412: 
1412:   inline constexpr float
1412:   floor(float __x)
1412:   { return __builtin_floorf(__x); }
1412: 
1412:   inline constexpr long double
1412:   floor(long double __x)
1412:   { return __builtin_floorl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     floor(_Tp __x)
1412:     { return __builtin_floor(__x); }
1412: 
1412:   using ::fmod;
1412: 
1412: 
1412:   inline constexpr float
1412:   fmod(float __x, float __y)
1412:   { return __builtin_fmodf(__x, __y); }
1412: 
1412:   inline constexpr long double
1412:   fmod(long double __x, long double __y)
1412:   { return __builtin_fmodl(__x, __y); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline constexpr
1412:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     fmod(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return fmod(__type(__x), __type(__y));
1412:     }
1412: 
1412:   using ::frexp;
1412: 
1412: 
1412:   inline float
1412:   frexp(float __x, int* __exp)
1412:   { return __builtin_frexpf(__x, __exp); }
1412: 
1412:   inline long double
1412:   frexp(long double __x, int* __exp)
1412:   { return __builtin_frexpl(__x, __exp); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     frexp(_Tp __x, int* __exp)
1412:     { return __builtin_frexp(__x, __exp); }
1412: 
1412:   using ::ldexp;
1412: 
1412: 
1412:   inline constexpr float
1412:   ldexp(float __x, int __exp)
1412:   { return __builtin_ldexpf(__x, __exp); }
1412: 
1412:   inline constexpr long double
1412:   ldexp(long double __x, int __exp)
1412:   { return __builtin_ldexpl(__x, __exp); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     ldexp(_Tp __x, int __exp)
1412:     { return __builtin_ldexp(__x, __exp); }
1412: 
1412:   using ::log;
1412: 
1412: 
1412:   inline constexpr float
1412:   log(float __x)
1412:   { return __builtin_logf(__x); }
1412: 
1412:   inline constexpr long double
1412:   log(long double __x)
1412:   { return __builtin_logl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     log(_Tp __x)
1412:     { return __builtin_log(__x); }
1412: 
1412:   using ::log10;
1412: 
1412: 
1412:   inline constexpr float
1412:   log10(float __x)
1412:   { return __builtin_log10f(__x); }
1412: 
1412:   inline constexpr long double
1412:   log10(long double __x)
1412:   { return __builtin_log10l(__x); }
1412: 
1412: 
1412:   templae = _Local_iterator_base<_Key, _Value, _ExtractKey,
1434:         _Hash, _RangeHash, _Unused, __cache>;
1434:       using __hash_code_base = typename __base_type::__hash_code_base;
1434: 
1434:     public:
1434:       typedef _Value value_type;
1434:       typedef const value_type* pointer;
1434:       typedef const value_type& reference;
1434:       typedef std::ptrdiff_t difference_type;
1434:       typedef std::forward_iterator_tag iterator_category;
1434: 
1434:       _Local_const_iterator() = default;
1434: 
1434:       _Local_const_iterator(const __hash_code_base& __base,
1434:        _Hash_node<_Value, __cache>* __n,
1434:        std::size_t __bkt, std::size_t __bkt_count)
1434:       : __base_type(__base, __n, __bkt, __bkt_count)
1434:       { }
1434: 
1434:       _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey,
1434:         _Hash, _RangeHash, _Unused,
1434:         __constant_iterators,
1434:         __cache>& __x)
1434:       : __base_type(__x)
1434:       { }
1434: 
1434:       reference
1434:       operator*() const
1434:       { return this->_M_cur->_M_v(); }
1434: 
1434:       pointer
1434:       operator->() const
1434:       { return this->_M_cur->_M_valptr(); }
1434: 
1434:       _Local_const_iterator&
1434:       operator++()
1434:       {
1434:  this->_M_incr();
1434:  return *this;
1434:       }
1434: 
1434:       _Local_const_iterator
1434:       operator++(int)
1434:       {
1434:  _Local_const_iterator __tmp(*this);
1434:  this->_M_incr();
1434:  return __tmp;
1434:       }
1434:     };
1434: # 1628 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1434:   template<typename _Key, typename _Value, typename _ExtractKey,
1434:     typename _Equal, typename _Hash, typename _RangeHash,
1434:     typename _Unused, typename _Traits>
1434:     struct _Hashtable_base
1434:     : public _Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1434:         _Unused, _Traits::__hash_cached::value>,
1434:       private _Hashtable_ebo_helper<0, _Equal>
1434:     {
1434:     public:
1434:       typedef _Key key_type;
1434:       typedef _Value value_type;
1434:       typedef _Equal key_equal;
1434:       typedef std::size_t size_type;
1434:       typedef std::ptrdiff_t difference_type;
1434: 
1434:       using __traits_type = _Traits;
1434:       using __hash_cached = typename __traits_type::__hash_cached;
1434: 
1434:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1434:             _Hash, _RangeHash, _Unused,
1434:             __hash_cached::value>;
1434: 
1434:       using __hash_code = typename __hash_code_base::__hash_code;
1434: 
1434:     private:
1434:       using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>;
1434: 
1434:       static bool
1434:       _S_equals(__hash_code, const _Hash_node_code_cache<false>&)
1434:       { return true; }
1434: 
1434:       static bool
1434:       _S_node_equals(const _Hash_node_code_cache<false>&,
1434:        const _Hash_node_code_cache<false>&)
1434:       { return true; }
1434: 
1434:       static bool
1434:       _S_equals(__hash_code __c, const _Hash_node_code_cache<true>& __n)
1434:       { return __c == __n._M_hash_code; }
1434: 
1434:       static bool
1434:       _S_node_equals(const _Hash_node_code_cache<true>& __lhn,
1434:        const _Hash_node_code_cache<true>& __rhn)
1434:       { return __lhn._M_hash_code == __rhn._M_hash_code; }
1434: 
1434:     protected:
1434:       _Hashtable_base() = default;
1434: 
1434:       _Hashtable_base(const _Hash& __hash, const _Equal& __eq)
1434:       : __hash_code_base(__hash), _EqualEBO(__eq)
1434:       { }
1434: 
1434:       bool
1434:       _M_key_equals(const _Key& __k,
1434:       const _Hash_node_value<_Value,
1434:         __hash_cached::value>& __n) const
1434:       {
1434:  static_assert(__is_invocable<const _Equal&, const _Key&, const _Key&>{},
1434:    "key equality predicate must be invocable with two arguments of "
1434:    "key type");
1434:  return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1434:       }
1434: 
1434:       template<typename _Kt>
1434:  bootatic_cast<_WordT>(0));
1417:  }
1417:     }
1417: 
1417:   template<size_t _Nw>
1417:     unsigned long
1417:     _Base_bitset<_Nw>::_M_do_to_ulong() const
1417:     {
1417:       for (size_t __i = 1; __i < _Nw; ++__i)
1417:  if (_M_w[__i])
1417:    __throw_overflow_error(("_Base_bitset::_M_do_to_ulong"));
1417:       return _M_w[0];
1417:     }
1417: 
1417: 
1417:   template<size_t _Nw>
1417:     unsigned long long
1417:     _Base_bitset<_Nw>::_M_do_to_ullong() const
1417:     {
1417:       const bool __dw = sizeof(unsigned long long) > sizeof(unsigned long);
1417:       for (size_t __i = 1 + __dw; __i < _Nw; ++__i)
1417:  if (_M_w[__i])
1417:    __throw_overflow_error(("_Base_bitset::_M_do_to_ullong"));
1417: 
1417:       if (__dw)
1417:  return _M_w[0] + (static_cast<unsigned long long>(_M_w[1])
1417:      << (8 * 4));
1417:       return _M_w[0];
1417:     }
1417: 
1417: 
1417:   template<size_t _Nw>
1417:     size_t
1417:     _Base_bitset<_Nw>::
1417:     _M_do_find_first(size_t __not_found) const noexcept
1417:     {
1417:       for (size_t __i = 0; __i < _Nw; __i++)
1417:  {
1417:    _WordT __thisword = _M_w[__i];
1417:    if (__thisword != static_cast<_WordT>(0))
1417:      return (__i * (8 * 4)
1417:       + __builtin_ctzl(__thisword));
1417:  }
1417: 
1417:       return __not_found;
1417:     }
1417: 
1417:   template<size_t _Nw>
1417:     size_t
1417:     _Base_bitset<_Nw>::
1417:     _M_do_find_next(size_t __prev, size_t __not_found) const noexcept
1417:     {
1417: 
1417:       ++__prev;
1417: 
1417: 
1417:       if (__prev >= _Nw * (8 * 4))
1417:  return __not_found;
1417: 
1417: 
1417:       size_t __i = _S_whichword(__prev);
1417:       _WordT __thisword = _M_w[__i];
1417: 
1417: 
1417:       __thisword &= (~static_cast<_WordT>(0)) << _S_whichbit(__prev);
1417: 
1417:       if (__thisword != static_cast<_WordT>(0))
1417:  return (__i * (8 * 4)
1417:   + __builtin_ctzl(__thisword));
1417: 
1417: 
1417:       __i++;
1417:       for (; __i < _Nw; __i++)
1417:  {
1417:    __thisword = _M_w[__i];
1417:    if (__thisword != static_cast<_WordT>(0))
1417:      return (__i * (8 * 4)
1417:       + __builtin_ctzl(__thisword));
1417:  }
1417: 
1417:       return __not_found;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct _Base_bitset<1>
1417:     {
1417:       typedef unsigned long _WordT;
1417:       _WordT _M_w;
1417: 
1417:       constexpr _Base_bitset() noexcept
1417:       : _M_w(0)
1417:       { }
1417: 
1417: 
1417:       constexpr _Base_bitset(unsigned long long __val) noexcept
1417: 
1417: 
1417: 
1417:       : _M_w(__val)
1417:       { }
1417: 
1417:       static constexpr size_t
1417:       _S_whichword(size_t __pos) noexcept
1417:       { return __pos / (8 * 4); }
1417: 
1417:       static constexpr size_t
1417:       _S_whichbyte(size_t __pos) noexcept
1417:       { return (__pos % (8 * 4)) / 8; }
1417: 
1417:       static constexpr size_t
1417:       _S_whichbit(size_t __pos) noexcept
1417:       { return __pos % (8 * 4); }
1417: 
1417:       static constexpr _WordT
1417:       _S_maskbit(size_t __pos) noexcept
1417:       { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); }
1417: 
1417:       _WordT&
1417:       _M_getword(size_t) noexcept
1417:       { return _M_w; }
1417: 
1417:       constexpr _WordT
1417:       _M_getword(size_t) const noexcept
1417:       { return _M_w; }
1417: 
1417: 
1417:       const _WordT*
1417:       _M_getdata() const noexcept
1417:       { return &_M_w; }
1417: 
1417: 
1417:       _WordT&
1417:       _M_hiword() noexcept
1417:       { return _M_w; }
1417: 
1417:       constexpr _WordT
1417:       _M_hiword() const noexcept
1417:       { return _M_w; }
1417: 
1417:       void
1417:       _M_do_and(const _Base_bitset<1>& __x) noexcept
1417:       { _M_w &= __x._M_w; }
1417: 
1417:       void
1417:       _M_do_or(const _Base_bitset<1>& __x) noexcept
1417:       { _M_w |= __x._M_w; }
1417: 
1417:       void
1417:       _M_do_xor(const _Base_bitset<1>& __x) noexcept
1417:       { _M_w ^= __x._M_w; }
1417: 
1417:       void
1417: l
1434:  _M_key_equals_tr(const _Kt& __k,
1434:     const _Hash_node_value<_Value,
1434:           __hash_cached::value>& __n) const
1434:  {
1434:    static_assert(
1434:      __is_invocable<const _Equal&, const _Kt&, const _Key&>{},
1434:      "key equality predicate must be invocable with two arguments of "
1434:      "key type");
1434:    return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1434:  }
1434: 
1434:       bool
1434:       _M_equals(const _Key& __k, __hash_code __c,
1434:   const _Hash_node_value<_Value, __hash_cached::value>& __n) const
1434:       { return _S_equals(__c, __n) && _M_key_equals(__k, __n); }
1434: 
1434:       template<typename _Kt>
1434:  bool
1434:  _M_equals_tr(const _Kt& __k, __hash_code __c,
1434:        const _Hash_node_value<_Value,
1434:          __hash_cached::value>& __n) const
1434:  { return _S_equals(__c, __n) && _M_key_equals_tr(__k, __n); }
1434: 
1434:       bool
1434:       _M_node_equals(
1434:  const _Hash_node_value<_Value, __hash_cached::value>& __lhn,
1434:  const _Hash_node_value<_Value, __hash_cached::value>& __rhn) const
1434:       {
1434:  return _S_node_equals(__lhn, __rhn)
1434:    && _M_key_equals(_ExtractKey{}(__lhn._M_v()), __rhn);
1434:       }
1434: 
1434:       void
1434:       _M_swap(_Hashtable_base& __x)
1434:       {
1434:  __hash_code_base::_M_swap(__x);
1434:  std::swap(_EqualEBO::_M_get(), __x._EqualEBO::_M_get());
1434:       }
1434: 
1434:       const _Equal&
1434:       _M_eq() const { return _EqualEBO::_M_cget(); }
1434:     };
1434: # 1744 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits,
1434:     bool _Unique_keys = _Traits::__unique_keys::value>
1434:     struct _Equality;
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1434:     {
1434:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:          _Hash, _RangeHash, _Unused,
1434:          _RehashPolicy, _Traits>;
1434: 
1434:       bool
1434:       _M_equal(const __hashtable&) const;
1434:     };
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     bool
1434:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1434:     _M_equal(const __hashtable& __other) const
1434:     {
1434:       using __node_type = typename __hashtable::__node_type;
1434:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1434:       if (__this->size() != __other.size())
1434:  return false;
1434: 
1434:       for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx)
1434:  {
1434:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1434:    auto __prev_n = __other._M_buckets[__ybkt];
1434:    if (!__prev_n)
1434:      return false;
1434: 
1434:    for (__node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt);;
1434:         __n = __n->_M_next())
1434:      {
1434:        if (__n->_M_v() == *__itx)
1434:   break;
1434: 
1434:        if (!__n->_M_nxt
1434:     || __other._M_bucket_index(*__n->_M_next()) != __ybkt)
1434:   return false;
1434:      }
1434:  }
1434: 
1434:       return true;
1434:     }
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1434:     {
1434:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:          _Hash, _RangeHash, _Unused,
1434:          _RehashPolicy, _Traits>;
1434: 
1434:       bool
1434:       _M_equal(const __hashtable&) const;
1434:     };
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     bool
1434:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>::
1434:     _M_equal(const __hashtable& __other) const
1434:     {
1434:       using __node_type = typename __hashtable::__node_type;
1434:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1434:       if (__this->size() != __other.size())
1434:  return false;
1434: 
1434:       for (auto __itx = __this->begin(); __itx != __this->end();)
1434:  {
1434:    std::size_t __x_count = 1;
1434:    auto __itx_end = __itx;
1434:    for (++__itx_end; __itx_end != __this->end()
1434:    && __this->key_eq()(_ExtractKey{}(*__itx),
1434:          _ExtractKey{}(*__itx_end));
1434:         ++__itx_end)
1434:      ++__x_count;
1434: 
1434:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1434:    auto __y_prev_n = __other._M_buckets[__ybkt];
1434:    if (!__y_prev_n)
1434:      return false;
1434: 
1434:    __node_type* __y_n = static_cast<__node_type*>(__y_prev_n->_M_nxt);
1434:    for (;;)
1434:      {
1434:        if (__this->key_eq()(_ExtractKey{}(__y_n->_M_v()),
1434:        _ExtractKey{}(*__itx)))
1434:   break;
1434: 
1434:        auto __y_ref_n = __y_n;
1434:        for (__y_n = __y_n->_M_next(); __y_n; __y_n = __y_n->_M_next())
1434:   if (!__other._M_node_equals(*__y_ref_n, *__y_n))
1434:     break;
1434: 
1434:        if (!__y_n || __other._M_bucket_index(*__y_n) != __ybkt)
1434:   return false;
1434:      }
1434: 
1434:    typename __hashtable::const_iterator __ity(__y_n);
1434:    for (auto __ity_end = __ity; __ity_end != __other.end(); ++__ity_end)
1434:      if (--__x_count == 0)
1434:        break;
1434: 
1434:    if (__x_count != 0)
1434:      return false;
1434: 
1434:    if (!std::is_permutation(__itx, __itx_end, __ity))
1434:      return false;
1434: 
1434:    __itx = __itx_end;
1434:  }
1434:       return true;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _NodeAlloc>
1434:     struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc>
1434:     {
1434:     private:
1434:       using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>;
1434: 
1434:       template<typename>
1434:  struct __get_value_type;
1434:       template<typename _Val, bool _Cache_hash_code>
1434:  struct __get_value_type<_Hash_node<_Val, _Cache_hash_code>>
1434:  { using type = _Val; };
1434: 
1434:     public:
1434:       using __node_type = typename _NodeAlloc::value_type;
1434:       using __node_alloc_type = _NodeAlloc;
1434: 
1434:       using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>;
1434: 
1434:       using __value_alloc_traits = typename __node_alloc_traits::template
1434:  rebind_traits<typename __get_value_type<__node_type>::type>;
1434: 
1434:       using __node_ptr = __node_type*;
1434:       using __node_base = _Hash_node_base;
1434:       using __node_base_ptr = __node_base*;
1434:       using __buckets_alloc_type =
1434:  __alloc_rebind<__node_alloc_type, __node_base_ptr>;
1434:       using __buckets_alloc_traits = std::allocator_traits<__buckets_alloc_type>;
1434:       using __buckets_ptr = __node_base_ptr*;
1434: 
1434:       _Hashtable_alloc() = default;
1434:       _Hashtable_alloc(const _Hashtable_alloc&) = default;
1434:       _Hashtable_alloc(_Hashtable_alloc&&) = default;
1434: 
1434:       template<typenate<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     log10(_Tp __x)
1412:     { return __builtin_log10(__x); }
1412: 
1412:   using ::modf;
1412: 
1412: 
1412:   inline float
1412:   modf(float __x, float* __iptr)
1412:   { return __builtin_modff(__x, __iptr); }
1412: 
1412:   inline long double
1412:   modf(long double __x, long double* __iptr)
1412:   { return __builtin_modfl(__x, __iptr); }
1412: 
1412: 
1412:   using ::pow;
1412: 
1412: 
1412:   inline constexpr float
1412:   pow(float __x, float __y)
1412:   { return __builtin_powf(__x, __y); }
1412: 
1412:   inline constexpr long double
1412:   pow(long double __x, long double __y)
1412:   { return __builtin_powl(__x, __y); }
1412: # 412 "/usr/include/c++/12/cmath" 3
1412:   template<typename _Tp, typename _Up>
1412:     inline constexpr
1412:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     pow(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return pow(__type(__x), __type(__y));
1412:     }
1412: 
1412:   using ::sin;
1412: 
1412: 
1412:   inline constexpr float
1412:   sin(float __x)
1412:   { return __builtin_sinf(__x); }
1412: 
1412:   inline constexpr long double
1412:   sin(long double __x)
1412:   { return __builtin_sinl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     sin(_Tp __x)
1412:     { return __builtin_sin(__x); }
1412: 
1412:   using ::sinh;
1412: 
1412: 
1412:   inline constexpr float
1412:   sinh(float __x)
1412:   { return __builtin_sinhf(__x); }
1412: 
1412:   inline constexpr long double
1412:   sinh(long double __x)
1412:   { return __builtin_sinhl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     sinh(_Tp __x)
1412:     { return __builtin_sinh(__x); }
1412: 
1412:   using ::sqrt;
1412: 
1412: 
1412:   inline constexpr float
1412:   sqrt(float __x)
1412:   { return __builtin_sqrtf(__x); }
1412: 
1412:   inline constexpr long double
1412:   sqrt(long double __x)
1412:   { return __builtin_sqrtl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     sqrt(_Tp __x)
1412:     { return __builtin_sqrt(__x); }
1412: 
1412:   using ::tan;
1412: 
1412: 
1412:   inline constexpr float
1412:   tan(float __x)
1412:   { return __builtin_tanf(__x); }
1412: 
1412:   inline constexpr long double
1412:   tan(long double __x)
1412:   { return __builtin_tanl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     tan(_Tp __x)
1412:     { return __builtin_tan(__x); }
1412: 
1412:   using ::tanh;
1412: 
1412: 
1412:   inline constexpr float
1412:   tanh(float __x)
1412:   { return __builtin_tanhf(__x); }
1412: 
1412:   inline constexpr long double
1412:   tanh(long double __x)
1412:   { return __builtin_tanhl(__x); }
1412: 
1412: 
1412:   template<typename _Tp>
1412:     inline constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     double>::__type
1412:     tanh(_Tp __x)
1412:     { return __builtin_tanh(__x); }
1412: # 536 "/usr/include/c++/12/cmath" 3
1412:   constexpr int
1412:   fpclassify(float __x)
1412:   { return __builtin_fpclassify(0, 1, 4,
1412:     3, 2, __x); }
1412: 
1412:   constexpr int
1412:   fpclassify(double __x)
1412:   { return __builtin_fpclassify(0, 1, 4,
1412:     3, 2, __x); }
1412: 
1412:   constexpr int
1412:        _M_do_left_shift(size_t __shift) noexcept
1417:       { _M_w <<= __shift; }
1417: 
1417:       void
1417:       _M_do_right_shift(size_t __shift) noexcept
1417:       { _M_w >>= __shift; }
1417: 
1417:       void
1417:       _M_do_flip() noexcept
1417:       { _M_w = ~_M_w; }
1417: 
1417:       void
1417:       _M_do_set() noexcept
1417:       { _M_w = ~static_cast<_WordT>(0); }
1417: 
1417:       void
1417:       _M_do_reset() noexcept
1417:       { _M_w = 0; }
1417: 
1417:       bool
1417:       _M_is_equal(const _Base_bitset<1>& __x) const noexcept
1417:       { return _M_w == __x._M_w; }
1417: 
1417:       template<size_t _Nb>
1417:         bool
1417:         _M_are_all() const noexcept
1417:         { return _M_w == (~static_cast<_WordT>(0)
1417:      >> ((8 * 4) - _Nb)); }
1417: 
1417:       bool
1417:       _M_is_any() const noexcept
1417:       { return _M_w != 0; }
1417: 
1417:       size_t
1417:       _M_do_count() const noexcept
1417:       { return __builtin_popcountl(_M_w); }
1417: 
1417:       unsigned long
1417:       _M_do_to_ulong() const noexcept
1417:       { return _M_w; }
1417: 
1417: 
1417:       unsigned long long
1417:       _M_do_to_ullong() const noexcept
1417:       { return _M_w; }
1417: 
1417: 
1417:       size_t
1417:       _M_do_find_first(size_t __not_found) const noexcept
1417:       {
1417:         if (_M_w != 0)
1417:           return __builtin_ctzl(_M_w);
1417:         else
1417:           return __not_found;
1417:       }
1417: 
1417: 
1417:       size_t
1417:       _M_do_find_next(size_t __prev, size_t __not_found) const
1417:  noexcept
1417:       {
1417:  ++__prev;
1417:  if (__prev >= ((size_t) (8 * 4)))
1417:    return __not_found;
1417: 
1417:  _WordT __x = _M_w >> __prev;
1417:  if (__x != 0)
1417:    return __builtin_ctzl(__x) + __prev;
1417:  else
1417:    return __not_found;
1417:       }
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<>
1417:     struct _Base_bitset<0>
1417:     {
1417:       typedef unsigned long _WordT;
1417: 
1417:       constexpr _Base_bitset() noexcept
1417:       { }
1417: 
1417: 
1417:       constexpr _Base_bitset(unsigned long long) noexcept
1417: 
1417: 
1417: 
1417:       { }
1417: 
1417:       static constexpr size_t
1417:       _S_whichword(size_t __pos) noexcept
1417:       { return __pos / (8 * 4); }
1417: 
1417:       static constexpr size_t
1417:       _S_whichbyte(size_t __pos) noexcept
1417:       { return (__pos % (8 * 4)) / 8; }
1417: 
1417:       static constexpr size_t
1417:       _S_whichbit(size_t __pos) noexcept
1417:       { return __pos % (8 * 4); }
1417: 
1417:       static constexpr _WordT
1417:       _S_maskbit(size_t __pos) noexcept
1417:       { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); }
1417: # 560 "/usr/include/c++/12/bitset" 3
1417:       _WordT&
1417:       _M_getword(size_t) noexcept
1417:       {
1417:  __throw_out_of_range(("_Base_bitset::_M_getword"));
1417:  return *new _WordT;
1417:       }
1417: 
1417:       constexpr _WordT
1417:       _M_getword(size_t) const noexcept
1417:       { return 0; }
1417: 
1417:       constexpr _WordT
1417:       _M_hiword() const noexcept
1417:       { return 0; }
1417: 
1417:       void
1417:       _M_do_and(const _Base_bitset<0>&) noexcept
1417:       { }
1417: 
1417:       void
1417:       _M_do_or(const _Base_bitset<0>&) noexcept
1417:       { }
1417: 
1417:       void
1417:       _M_do_xor(const _Base_bitset<0>&) noexcept
1417:       { }
1417: 
1417:       void
1417:       _M_do_left_shift(size_t) noexcept
1417:       { }
1417: 
1417:       void
1417:       _M_do_right_shift(size_t) noexcept
1417:       { }
1417: 
1417:       void
1417:       _M_do_flip() noexcept
1417:       { }
1417: 
1417:       void
1417:       _M_do_set() noexcept
1417:       { }
1417: 
1417:       void
1417:       _M_do_reset() noexcept
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       _M_is_equal(const _Base_bitset<0>&) const noexcept
1417:       { return true; }
1417: 
1417:       template<size_t _Nb>
1417:         bool
1417:         _M_arme _Alloc>
1434:  _Hashtable_alloc(_Alloc&& __a)
1434:  : __ebo_node_alloc(std::forward<_Alloc>(__a))
1434:  { }
1434: 
1434:       __node_alloc_type&
1434:       _M_node_allocator()
1434:       { return __ebo_node_alloc::_M_get(); }
1434: 
1434:       const __node_alloc_type&
1434:       _M_node_allocator() const
1434:       { return __ebo_node_alloc::_M_cget(); }
1434: 
1434: 
1434:       template<typename... _Args>
1434:  __node_ptr
1434:  _M_allocate_node(_Args&&... __args);
1434: 
1434: 
1434:       void
1434:       _M_deallocate_node(__node_ptr __n);
1434: 
1434: 
1434:       void
1434:       _M_deallocate_node_ptr(__node_ptr __n);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_deallocate_nodes(__node_ptr __n);
1434: 
1434:       __buckets_ptr
1434:       _M_allocate_buckets(std::size_t __bkt_count);
1434: 
1434:       void
1434:       _M_deallocate_buckets(__buckets_ptr, std::size_t __bkt_count);
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _NodeAlloc>
1434:     template<typename... _Args>
1434:       auto
1434:       _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args)
1434:       -> __node_ptr
1434:       {
1434:  auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1);
1434:  __node_ptr __n = std::__to_address(__nptr);
1434:  try
1434:    {
1434:      ::new ((void*)__n) __node_type;
1434:      __node_alloc_traits::construct(_M_node_allocator(),
1434:         __n->_M_valptr(),
1434:         std::forward<_Args>(__args)...);
1434:      return __n;
1434:    }
1434:  catch(...)
1434:    {
1434:      __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1);
1434:      throw;
1434:    }
1434:       }
1434: 
1434:   template<typename _NodeAlloc>
1434:     void
1434:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_ptr __n)
1434:     {
1434:       __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr());
1434:       _M_deallocate_node_ptr(__n);
1434:     }
1434: 
1434:   template<typename _NodeAlloc>
1434:     void
1434:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_ptr __n)
1434:     {
1434:       typedef typename __node_alloc_traits::pointer _Ptr;
1434:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n);
1434:       __n->~__node_type();
1434:       __node_alloc_traits::deallocate(_M_node_allocator(), __ptr, 1);
1434:     }
1434: 
1434:   template<typename _NodeAlloc>
1434:     void
1434:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_ptr __n)
1434:     {
1434:       while (__n)
1434:  {
1434:    __node_ptr __tmp = __n;
1434:    __n = __n->_M_next();
1434:    _M_deallocate_node(__tmp);
1434:  }
1434:     }
1434: 
1434:   template<typename _NodeAlloc>
1434:     auto
1434:     _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count)
1434:     -> __buckets_ptr
1434:     {
1434:       __buckets_alloc_type __alloc(_M_node_allocator());
1434: 
1434:       auto __ptr = __buckets_alloc_traits::allocate(__alloc, __bkt_count);
1434:       __buckets_ptr __p = std::__to_address(__ptr);
1434:       __builtin_memset(__p, 0, __bkt_count * sizeof(__node_base_ptr));
1434:       return __p;
1434:     }
1434: 
1434:   template<typename _NodeAlloc>
1434:     void
1434:     _Hashtable_alloc<_NodeAlloc>::
1434:     _M_deallocate_buckets(__buckets_ptr __bkts,
1434:      std::size_t __bkt_count)
1434:     {
1434:       typedef typename __buckets_alloc_traits::pointer _Ptr;
1434:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts);
1434:       __buckets_alloc_type __alloc(_M_node_allocator());
1434:       __buckets_alloc_traits::deallocate(__alloc, __ptr, __bkt_count);
1434:     }
1434: 
1434: 
1434: }
1434: 
1434: 
1434: }
1434: # 36 "/usr/include/c++/12/bits/hashtable.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/enable_special_members.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/enable_special_members.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/enable_special_members.h" 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:  fpclassify(long double __x)
1412:   { return __builtin_fpclassify(0, 1, 4,
1412:     3, 2, __x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               int>::__type
1412:     fpclassify(_Tp __x)
1412:     { return __x != 0 ? 4 : 2; }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isfinite(float __x)
1412:   { return __builtin_isfinite(__x); }
1412: 
1412:   constexpr bool
1412:   isfinite(double __x)
1412:   { return __builtin_isfinite(__x); }
1412: 
1412:   constexpr bool
1412:   isfinite(long double __x)
1412:   { return __builtin_isfinite(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               bool>::__type
1412:     isfinite(_Tp __x)
1412:     { return true; }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isinf(float __x)
1412:   { return __builtin_isinf(__x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isinf(double __x)
1412:   { return __builtin_isinf(__x); }
1412: 
1412: 
1412:   constexpr bool
1412:   isinf(long double __x)
1412:   { return __builtin_isinf(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               bool>::__type
1412:     isinf(_Tp __x)
1412:     { return false; }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isnan(float __x)
1412:   { return __builtin_isnan(__x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isnan(double __x)
1412:   { return __builtin_isnan(__x); }
1412: 
1412: 
1412:   constexpr bool
1412:   isnan(long double __x)
1412:   { return __builtin_isnan(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               bool>::__type
1412:     isnan(_Tp __x)
1412:     { return false; }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isnormal(float __x)
1412:   { return __builtin_isnormal(__x); }
1412: 
1412:   constexpr bool
1412:   isnormal(double __x)
1412:   { return __builtin_isnormal(__x); }
1412: 
1412:   constexpr bool
1412:   isnormal(long double __x)
1412:   { return __builtin_isnormal(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               bool>::__type
1412:     isnormal(_Tp __x)
1412:     { return __x != 0 ? true : false; }
1412: 
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   signbit(float __x)
1412:   { return __builtin_signbit(__x); }
1412: 
1412:   constexpr bool
1412:   signbit(double __x)
1412:   { return __builtin_signbit(__x); }
1412: 
1412:   constexpr bool
1412:   signbit(long double __x)
1412:   { return __builtin_signbit(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               bool>::__type
1412:     signbit(_Tp __x)
1412:     { return __x < 0 ? true : false; }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isgreater(float __x, float __y)
1412:   { return __builtin_isgreater(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isgreater(double __x, double __y)
1412:   { return __builtin_isgreater(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isgreater(long double __x, long double __y)
1412:   { return __builtin_isgreater(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename
1412:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1412:        && __is_arithmetic<_Up>::__value), bool>::__type
1412:     isgreater(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return __built
1434:   struct _Enable_default_constructor_tag
1434:   {
1434:     explicit constexpr _Enable_default_constructor_tag() = default;
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template<bool _Switch, typename _Tag = void>
1434:   struct _Enable_default_constructor
1434:   {
1434:     constexpr _Enable_default_constructor() noexcept = default;
1434:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1434:       noexcept = default;
1434:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1434:       noexcept = default;
1434:     _Enable_default_constructor&
1434:     operator=(_Enable_default_constructor const&) noexcept = default;
1434:     _Enable_default_constructor&
1434:     operator=(_Enable_default_constructor&&) noexcept = default;
1434: 
1434: 
1434:     constexpr explicit
1434:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template<bool _Switch, typename _Tag = void>
1434:   struct _Enable_destructor { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template<bool _Copy, bool _CopyAssignment,
1434:          bool _Move, bool _MoveAssignment,
1434:          typename _Tag = void>
1434:   struct _Enable_copy_move { };
1434: # 96 "/usr/include/c++/12/bits/enable_special_members.h" 3
1434: template<bool _Default, bool _Destructor,
1434:          bool _Copy, bool _CopyAssignment,
1434:          bool _Move, bool _MoveAssignment,
1434:          typename _Tag = void>
1434:   struct _Enable_special_members
1434:   : private _Enable_default_constructor<_Default, _Tag>,
1434:     private _Enable_destructor<_Destructor, _Tag>,
1434:     private _Enable_copy_move<_Copy, _CopyAssignment,
1434:                               _Move, _MoveAssignment,
1434:                               _Tag>
1434:   { };
1434: 
1434: 
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_default_constructor<false, _Tag>
1434:   {
1434:     constexpr _Enable_default_constructor() noexcept = delete;
1434:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1434:       noexcept = default;
1434:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1434:       noexcept = default;
1434:     _Enable_default_constructor&
1434:     operator=(_Enable_default_constructor const&) noexcept = default;
1434:     _Enable_default_constructor&
1434:     operator=(_Enable_default_constructor&&) noexcept = default;
1434: 
1434: 
1434:     constexpr explicit
1434:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_destructor<false, _Tag>
1434:   { ~_Enable_destructor() noexcept = delete; };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, true, true, true, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = default;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<true, false, true, true, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = default;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, false, true, true, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
14e_all() const noexcept
1417:         { return true; }
1417: 
1417:       bool
1417:       _M_is_any() const noexcept
1417:       { return false; }
1417: 
1417:       size_t
1417:       _M_do_count() const noexcept
1417:       { return 0; }
1417: 
1417:       unsigned long
1417:       _M_do_to_ulong() const noexcept
1417:       { return 0; }
1417: 
1417: 
1417:       unsigned long long
1417:       _M_do_to_ullong() const noexcept
1417:       { return 0; }
1417: 
1417: 
1417: 
1417: 
1417:       size_t
1417:       _M_do_find_first(size_t) const noexcept
1417:       { return 0; }
1417: 
1417:       size_t
1417:       _M_do_find_next(size_t, size_t) const noexcept
1417:       { return 0; }
1417:     };
1417: 
1417: 
1417: 
1417:   template<size_t _Extrabits>
1417:     struct _Sanitize
1417:     {
1417:       typedef unsigned long _WordT;
1417: 
1417:       static void
1417:       _S_do_sanitize(_WordT& __val) noexcept
1417:       { __val &= ~((~static_cast<_WordT>(0)) << _Extrabits); }
1417:     };
1417: 
1417:   template<>
1417:     struct _Sanitize<0>
1417:     {
1417:       typedef unsigned long _WordT;
1417: 
1417:       static void
1417:       _S_do_sanitize(_WordT) noexcept { }
1417:     };
1417: 
1417: 
1417:   template<size_t _Nb, bool = (_Nb < (8 * 8))>
1417:     struct _Sanitize_val
1417:     {
1417:       static constexpr unsigned long long
1417:       _S_do_sanitize_val(unsigned long long __val)
1417:       { return __val; }
1417:     };
1417: 
1417:   template<size_t _Nb>
1417:     struct _Sanitize_val<_Nb, true>
1417:     {
1417:       static constexpr unsigned long long
1417:       _S_do_sanitize_val(unsigned long long __val)
1417:       { return __val & ~((~static_cast<unsigned long long>(0)) << _Nb); }
1417:     };
1417: # 750 "/usr/include/c++/12/bitset" 3
1417:   template<size_t _Nb>
1417:     class bitset
1417:     : private _Base_bitset<((_Nb) / (8 * 4) + ((_Nb) % (8 * 4) == 0 ? 0 : 1))>
1417:     {
1417:     private:
1417:       typedef _Base_bitset<((_Nb) / (8 * 4) + ((_Nb) % (8 * 4) == 0 ? 0 : 1))> _Base;
1417:       typedef unsigned long _WordT;
1417: 
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:       void
1417:       _M_check_initial_position(const std::basic_string<_CharT, _Traits, _Alloc>& __s,
1417:     size_t __position) const
1417:       {
1417:  if (__position > __s.size())
1417:    __throw_out_of_range_fmt(("bitset::bitset: __position " "(which is %zu) > __s.size() " "(which is %zu)")
1417: 
1417:                             ,
1417:        __position, __s.size());
1417:       }
1417: 
1417:       void _M_check(size_t __position, const char *__s) const
1417:       {
1417:  if (__position >= _Nb)
1417:    __throw_out_of_range_fmt(("%s: __position (which is %zu) " ">= _Nb (which is %zu)")
1417:                                    ,
1417:        __s, __position, _Nb);
1417:       }
1417: 
1417:       void
1417:       _M_do_sanitize() noexcept
1417:       {
1417:  typedef _Sanitize<_Nb % (8 * 4)> __sanitize_type;
1417:  __sanitize_type::_S_do_sanitize(this->_M_hiword());
1417:       }
1417: 
1417: 
1417:       friend struct std::hash<bitset>;
1417: 
1417: 
1417:     public:
1417: # 802 "/usr/include/c++/12/bitset" 3
1417:       class reference
1417:       {
1417:  friend class bitset;
1417: 
1417:  _WordT* _M_wp;
1417:  size_t _M_bpos;
1417: 
1417: 
1417:  reference();
1417: 
1417:       public:
1417:  reference(bitset& __b, size_t __pos) noexcept
1417:  {
1417:    _M_wp = &__b._M_getword(__pos);
1417:    _M_bpos = _Base::_S_whichbit(__pos);
1417:  }
1417: 
1417: 
1417:  reference(const reference&) = default;
1417: 
1417: 
1417:  ~reference() noexcept
1417:  { }
1417: 
1417: 
1417:  reference&
1417:  operator=(bool __x) noexcept
1417:  {
1417:    if (__x)
1417:      *_M_wp |= _Base::_S_maskbit(_M_bpos);
1417:    else
1417:      *_M_wp &= ~_Base::_S_maskbit(_M_bpos);
1417:    return *this;
1417:  }
1417: 
1417: 
1417:  reference&
1417:  operator=(const reference& __j) noexcept
1417:  {
1417:    if ((*(__j._M_wp) & _Base::_S_maskbit(__j._M_bpos)))
1417:      *_M_wp |= _Base::_S_maskbit(_M_bpos);
1417:    else
1417:      *_M_wp &= ~_Base::_S_maskbit(_M_bpos);
1417:    return *this;
1417:  }
1417: 
1417: 
1417:  bool
1417:  operator~() const noexcept
1417:  { return (*(_M_wp) & _Base::_S_maskbit(_M_bpos)) == 0; }
1417: 
1417: 
1417:  operator bool() const noexcept
1417:  { return (*(_M_wp) & _Base::_S_maskbit(_M_bpos)) != 0; }
1417: 
1417: 
1417:  reference&
1417:  flip() noexcept
1417:  {
1417:    *_M_wp ^= _Base::_S_maskbit(_M_bpos);
1417:    return *this;
1417:  }
1417:       };
1417:       friend class reference;
1417: 
1417: 
1417: 
1417:       constexpr bitset() noexcept
1417:       { }
1417: 
1417: 
1417: 
1417:       constexpr bitset(unsigned long long __val) noexcept
1417:       : _Base(_Sanitize_val<_Nb>::_S_do_sanitize_val(__val)) { }
1417: # 891 "/usr/include/c++/12/bitset" 3
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  explicit
1417:  bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s,
1417:         size_t __position = 0)
1417:  : _Base()
1417:  {
1417:    _M_check_initial_position(__s, __position);
1417:    _M_copy_from_string(__s, __position,
1417:          std::basic_string<_CharT, _Traits, _Alloc>::npos,
1417:          _CharT('0'), _CharT('1'));
1417:  }
1417: # 913 "/usr/include/c++/12/bitset" 3
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s,
1417:         size_t __position, size_t __n)
1417:  : _Base()
1417:  {
1417:    _M_check_initial_position(__s, __position);
1417:    _M_copy_from_string(__s, __position, __n, _CharT('0'), _CharT('1'));
1417:  }
1417: 
1417: 
1417: 
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s,
1417:         size_t __position, size_t __n,
1417:         _CharT __zero, _CharT __one = _CharT('1'))
1417:  : _Base()
1417:  {
1417:    _M_check_initial_position(__s, __position);
1417:    _M_copy_from_string(__s, __position, __n, __zero, __one);
1417:  }
1417: # 944 "/usr/include/c++/12/bitset" 3
1417:       template<typename _CharT>
1417:         explicit
1417:         bitset(const _CharT* __str,
1417:         typename std::basic_string<_CharT>::size_type __n
1417:         = std::basic_string<_CharT>::npos,
1417:         _CharT __zero = _CharT('0'), _CharT __one = _CharT('1'))
1417:         : _Base()
1417:         {
1417:    if (!__str)
1417:      __throw_logic_error(("bitset::bitset(const _CharT*, ...)"));
1417: 
1417:    if (__n == std::basic_string<_CharT>::npos)
1417:      __n = std::char_traits<_CharT>::length(__str);
1417:    _M_copy_from_ptr<_CharT, std::char_traits<_CharT>>(__str, __n, 0,
1417:             __n, __zero,
1417:             __one);
1417:  }
1417: # 971 "/usr/include/c++/12/bitset" 3
1417:       bitset<_Nb>&
1417:       operator&=(const bitset<_Nb>& __rhs) noexcept
1417:       {
1417:  this->_M_do_and(__rhs);
1417:  return *this;
1417:       }
1417: 
1417:       bitset<_Nb>&
1417:       operator|=(const bitset<_Nb>& __rhs) noexcept
1417:       {
1417:  this->_M_do_or(__rhs);
1417:  return *this;
1417:       }
1417: 
1417:       bitset<_Nb>&
1417:       operator^=(const bitset<_Nb>& __rhs) noexcept
1417:       {
1417:  this->_M_do_xor(__rhs);
1417:  return *this;
1417:       }
1417: # 1000 "/usr/include/c++/12/bitset" 3
1417:       bitset<_Nb>&
1417:       operator<<=(size_t __position) noexcept
1417:       {
1417:  if (__builtin_expect(__position < _Nb, 1))
1417:    {
1417:      this->_M_do_left_shift(__position);
1417:      this->_M_do_sanitize();
1417:    }
1417:  else
1417:    this->_M_do_reset();
1417:  return *this;
1417:       }
1417: 
1417:       bitset<_Nb>&
1417:       operator>>=(size_t __position) noexcept
1417:       {
1417:  if (__builtin_expect(__position < _Nb, 1))
1417:    {
1417:      this->_M_do_right_shift(__position);
1417:      this->_M_do_sanitize();
1417:    }
1417:  else
1417:    this->_M_do_reset();
1417:  return *this;
1417:       }
1417: # 1033 "/usr/include/c++/12/bitset" 3
1417:       bitset<_Nb>&
1417:      34:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = default;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<true, true, false, true, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = default;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, true, false, true, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = default;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<true, false, false, true, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = default;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, false, false, true, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = default;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<true, true, true, false, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, true, true, false, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<true, false, true, false, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, false, true, false, _Tag>
1434:   {
1434:   in_isgreater(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isgreaterequal(float __x, float __y)
1412:   { return __builtin_isgreaterequal(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isgreaterequal(double __x, double __y)
1412:   { return __builtin_isgreaterequal(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isgreaterequal(long double __x, long double __y)
1412:   { return __builtin_isgreaterequal(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename
1412:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1412:        && __is_arithmetic<_Up>::__value), bool>::__type
1412:     isgreaterequal(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return __builtin_isgreaterequal(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isless(float __x, float __y)
1412:   { return __builtin_isless(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isless(double __x, double __y)
1412:   { return __builtin_isless(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isless(long double __x, long double __y)
1412:   { return __builtin_isless(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename
1412:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1412:        && __is_arithmetic<_Up>::__value), bool>::__type
1412:     isless(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return __builtin_isless(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   islessequal(float __x, float __y)
1412:   { return __builtin_islessequal(__x, __y); }
1412: 
1412:   constexpr bool
1412:   islessequal(double __x, double __y)
1412:   { return __builtin_islessequal(__x, __y); }
1412: 
1412:   constexpr bool
1412:   islessequal(long double __x, long double __y)
1412:   { return __builtin_islessequal(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename
1412:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1412:        && __is_arithmetic<_Up>::__value), bool>::__type
1412:     islessequal(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return __builtin_islessequal(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   islessgreater(float __x, float __y)
1412:   { return __builtin_islessgreater(__x, __y); }
1412: 
1412:   constexpr bool
1412:   islessgreater(double __x, double __y)
1412:   { return __builtin_islessgreater(__x, __y); }
1412: 
1412:   constexpr bool
1412:   islessgreater(long double __x, long double __y)
1412:   { return __builtin_islessgreater(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename
1412:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1412:        && __is_arithmetic<_Up>::__value), bool>::__type
1412:     islessgreater(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return __builtin_islessgreater(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr bool
1412:   isunordered(float __x, float __y)
1412:   { return __builtin_isunordered(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isunordered(double __x, double __y)
1412:   { return __builtin_isunordered(__x, __y); }
1412: 
1412:   constexpr bool
1412:   isunordered(long double __x, long double __y)
1412:   { return __builtin_isunordered(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename
1412:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1412:        && __is_arithmetic<_Up>::__value), bool>::__type
1412:     isunordered(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promo _Unchecked_set(size_t __pos) noexcept
1417:       {
1417:  this->_M_getword(__pos) |= _Base::_S_maskbit(__pos);
1417:  return *this;
1417:       }
1417: 
1417:       bitset<_Nb>&
1417:       _Unchecked_set(size_t __pos, int __val) noexcept
1417:       {
1417:  if (__val)
1417:    this->_M_getword(__pos) |= _Base::_S_maskbit(__pos);
1417:  else
1417:    this->_M_getword(__pos) &= ~_Base::_S_maskbit(__pos);
1417:  return *this;
1417:       }
1417: 
1417:       bitset<_Nb>&
1417:       _Unchecked_reset(size_t __pos) noexcept
1417:       {
1417:  this->_M_getword(__pos) &= ~_Base::_S_maskbit(__pos);
1417:  return *this;
1417:       }
1417: 
1417:       bitset<_Nb>&
1417:       _Unchecked_flip(size_t __pos) noexcept
1417:       {
1417:  this->_M_getword(__pos) ^= _Base::_S_maskbit(__pos);
1417:  return *this;
1417:       }
1417: 
1417:       constexpr bool
1417:       _Unchecked_test(size_t __pos) const noexcept
1417:       { return ((this->_M_getword(__pos) & _Base::_S_maskbit(__pos))
1417:   != static_cast<_WordT>(0)); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bitset<_Nb>&
1417:       set() noexcept
1417:       {
1417:  this->_M_do_set();
1417:  this->_M_do_sanitize();
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bitset<_Nb>&
1417:       set(size_t __position, bool __val = true)
1417:       {
1417:  this->_M_check(__position, ("bitset::set"));
1417:  return _Unchecked_set(__position, __val);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       bitset<_Nb>&
1417:       reset() noexcept
1417:       {
1417:  this->_M_do_reset();
1417:  return *this;
1417:       }
1417: # 1112 "/usr/include/c++/12/bitset" 3
1417:       bitset<_Nb>&
1417:       reset(size_t __position)
1417:       {
1417:  this->_M_check(__position, ("bitset::reset"));
1417:  return _Unchecked_reset(__position);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       bitset<_Nb>&
1417:       flip() noexcept
1417:       {
1417:  this->_M_do_flip();
1417:  this->_M_do_sanitize();
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bitset<_Nb>&
1417:       flip(size_t __position)
1417:       {
1417:  this->_M_check(__position, ("bitset::flip"));
1417:  return _Unchecked_flip(__position);
1417:       }
1417: 
1417: 
1417:       bitset<_Nb>
1417:       operator~() const noexcept
1417:       { return bitset<_Nb>(*this).flip(); }
1417: # 1162 "/usr/include/c++/12/bitset" 3
1417:       reference
1417:       operator[](size_t __position)
1417:       { return reference(*this, __position); }
1417: 
1417:       constexpr bool
1417:       operator[](size_t __position) const
1417:       { return _Unchecked_test(__position); }
1417: # 1177 "/usr/include/c++/12/bitset" 3
1417:       unsigned long
1417:       to_ulong() const
1417:       { return this->_M_do_to_ulong(); }
1417: 
1417: 
1417:       unsigned long long
1417:       to_ullong() const
1417:       { return this->_M_do_to_ullong(); }
1417: # 1195 "/usr/include/c++/12/bitset" 3
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  std::basic_string<_CharT, _Traits, _Alloc>
1417:  to_string() const
1417:  {
1417:    std::basic_string<_CharT, _Traits, _Alloc> __result;
1417:    _M_copy_to_string(__result, _CharT('0'), _CharT('1'));
1417:    return __result;
1417:  }
1417: 
1417: 
1417: 
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  std::basic_string<_CharT, _Traits, _Alloc>
1417:  to_string(_CharT __zero, _CharT __one = _CharT('1')) const
1417:  {
1417:    std::basic_string<_CharT, _Traits, _Alloc> __result;
1417:    _M_copy_to_string(__result, __zero, __one);
1417:    return __result;
1417:  }
1417: 
1417: 
1417: 
1417:       template<class _CharT, class _Traits>
1417:  std::basic_string<_CharT, _Traits, std::allocator<_CharT> >
1417:  to_string() const
1417:  { return to_string<_CharT, _Traits, std::allocator<_CharT> >(); }
1417: 
1417: 
1417: 
1417:       template<class _CharT, class _Traits>
1417:  std::basic_string<_CharT, _Traits, std::allocator<_CharT> >
1417:  to_string(_Ch  constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<true, true, false, false, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, true, false, false, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = default;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<true, false, false, false, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: template<typename _Tag>
1434:   struct _Enable_copy_move<false, false, false, false, _Tag>
1434:   {
1434:     constexpr _Enable_copy_move() noexcept = default;
1434:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1434:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move const&) noexcept = delete;
1434:     _Enable_copy_move&
1434:     operator=(_Enable_copy_move&&) noexcept = delete;
1434:   };
1434: 
1434: 
1434: 
1434: }
1434: # 37 "/usr/include/c++/12/bits/hashtable.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Hash>
1434:     using __cache_default
1434:       = __not_<__and_<
1434:          __is_fast_hash<_Hash>,
1434: 
1434:          __is_nothrow_invocable<const _Hash&, const _Tp&>>>;
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Equal, typename _Hash, typename _Allocator>
1434:     using _Hashtable_enable_default_ctor
1434:       = _Enable_default_constructor<__and_<is_default_constructible<_Equal>,
1434:            is_default_constructible<_Hash>,
1434:            is_default_constructible<_Allocator>>{},
1434:         __detail::_Hash_node_base>;
1434: # 178 "/usr/include/c++/12/bits/hashtable.h" 3
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     class _Hashtable
1434:     : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal,
1434:            _Hash, _RangeHash, _Unused, _Traits>,
1434:       public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused,
1434:      _RehashPolicy, _Traits>,
1434:       public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:           _Hash, _RangeHash, _Unused,
1434:           _RehashPolte_2<_Tp, _Up>::__type __type;
1412:       return __builtin_isunordered(__type(__x), __type(__y));
1412:     }
1412: # 1065 "/usr/include/c++/12/cmath" 3
1412:   using ::double_t;
1412:   using ::float_t;
1412: 
1412: 
1412:   using ::acosh;
1412:   using ::acoshf;
1412:   using ::acoshl;
1412: 
1412:   using ::asinh;
1412:   using ::asinhf;
1412:   using ::asinhl;
1412: 
1412:   using ::atanh;
1412:   using ::atanhf;
1412:   using ::atanhl;
1412: 
1412:   using ::cbrt;
1412:   using ::cbrtf;
1412:   using ::cbrtl;
1412: 
1412:   using ::copysign;
1412:   using ::copysignf;
1412:   using ::copysignl;
1412: 
1412:   using ::erf;
1412:   using ::erff;
1412:   using ::erfl;
1412: 
1412:   using ::erfc;
1412:   using ::erfcf;
1412:   using ::erfcl;
1412: 
1412:   using ::exp2;
1412:   using ::exp2f;
1412:   using ::exp2l;
1412: 
1412:   using ::expm1;
1412:   using ::expm1f;
1412:   using ::expm1l;
1412: 
1412:   using ::fdim;
1412:   using ::fdimf;
1412:   using ::fdiml;
1412: 
1412:   using ::fma;
1412:   using ::fmaf;
1412:   using ::fmal;
1412: 
1412:   using ::fmax;
1412:   using ::fmaxf;
1412:   using ::fmaxl;
1412: 
1412:   using ::fmin;
1412:   using ::fminf;
1412:   using ::fminl;
1412: 
1412:   using ::hypot;
1412:   using ::hypotf;
1412:   using ::hypotl;
1412: 
1412:   using ::ilogb;
1412:   using ::ilogbf;
1412:   using ::ilogbl;
1412: 
1412:   using ::lgamma;
1412:   using ::lgammaf;
1412:   using ::lgammal;
1412: 
1412: 
1412:   using ::llrint;
1412:   using ::llrintf;
1412:   using ::llrintl;
1412: 
1412:   using ::llround;
1412:   using ::llroundf;
1412:   using ::llroundl;
1412: 
1412: 
1412:   using ::log1p;
1412:   using ::log1pf;
1412:   using ::log1pl;
1412: 
1412:   using ::log2;
1412:   using ::log2f;
1412:   using ::log2l;
1412: 
1412:   using ::logb;
1412:   using ::logbf;
1412:   using ::logbl;
1412: 
1412:   using ::lrint;
1412:   using ::lrintf;
1412:   using ::lrintl;
1412: 
1412:   using ::lround;
1412:   using ::lroundf;
1412:   using ::lroundl;
1412: 
1412:   using ::nan;
1412:   using ::nanf;
1412:   using ::nanl;
1412: 
1412:   using ::nearbyint;
1412:   using ::nearbyintf;
1412:   using ::nearbyintl;
1412: 
1412:   using ::nextafter;
1412:   using ::nextafterf;
1412:   using ::nextafterl;
1412: 
1412:   using ::nexttoward;
1412:   using ::nexttowardf;
1412:   using ::nexttowardl;
1412: 
1412:   using ::remainder;
1412:   using ::remainderf;
1412:   using ::remainderl;
1412: 
1412:   using ::remquo;
1412:   using ::remquof;
1412:   using ::remquol;
1412: 
1412:   using ::rint;
1412:   using ::rintf;
1412:   using ::rintl;
1412: 
1412:   using ::round;
1412:   using ::roundf;
1412:   using ::roundl;
1412: 
1412:   using ::scalbln;
1412:   using ::scalblnf;
1412:   using ::scalblnl;
1412: 
1412:   using ::scalbn;
1412:   using ::scalbnf;
1412:   using ::scalbnl;
1412: 
1412:   using ::tgamma;
1412:   using ::tgammaf;
1412:   using ::tgammal;
1412: 
1412:   using ::trunc;
1412:   using ::truncf;
1412:   using ::truncl;
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   acosh(float __x)
1412:   { return __builtin_acoshf(__x); }
1412: 
1412:   constexpr long double
1412:   acosh(long double __x)
1412:   { return __builtin_acoshl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     acosh(_Tp __x)
1412:     { return __builtin_acosh(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   asinh(float __x)
1412:   { return __builtin_asinhf(__x); }
1412: 
1412:   constexpr long double
1412:   asinh(long double __x)
1412:   { return __builtin_asinhl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     asinh(_Tp __x)
1412:     { return __builtin_asinh(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   atanh(float __x)
1412:   { return __builtin_atanhf(__x); }
141icy, _Traits>,
1434:       public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused,
1434:         _RehashPolicy, _Traits>,
1434:       public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:      _Hash, _RangeHash, _Unused,
1434:      _RehashPolicy, _Traits>,
1434:       private __detail::_Hashtable_alloc<
1434:  __alloc_rebind<_Alloc,
1434:          __detail::_Hash_node<_Value,
1434:          _Traits::__hash_cached::value>>>,
1434:       private _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>
1434:     {
1434:       static_assert(is_same<typename remove_cv<_Value>::type, _Value>::value,
1434:    "unordered container must have a non-const, non-volatile value_type");
1434: 
1434:       static_assert(is_same<typename _Alloc::value_type, _Value>{},
1434:    "unordered container must have the same value_type as its allocator");
1434: 
1434: 
1434:       using __traits_type = _Traits;
1434:       using __hash_cached = typename __traits_type::__hash_cached;
1434:       using __constant_iterators = typename __traits_type::__constant_iterators;
1434:       using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>;
1434:       using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>;
1434: 
1434:       using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>;
1434: 
1434:       using __node_value_type =
1434:  __detail::_Hash_node_value<_Value, __hash_cached::value>;
1434:       using __node_ptr = typename __hashtable_alloc::__node_ptr;
1434:       using __value_alloc_traits =
1434:  typename __hashtable_alloc::__value_alloc_traits;
1434:       using __node_alloc_traits =
1434:  typename __hashtable_alloc::__node_alloc_traits;
1434:       using __node_base = typename __hashtable_alloc::__node_base;
1434:       using __node_base_ptr = typename __hashtable_alloc::__node_base_ptr;
1434:       using __buckets_ptr = typename __hashtable_alloc::__buckets_ptr;
1434: 
1434:       using __insert_base = __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey,
1434:            _Equal, _Hash,
1434:            _RangeHash, _Unused,
1434:            _RehashPolicy, _Traits>;
1434:       using __enable_default_ctor
1434:  = _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>;
1434: 
1434:     public:
1434:       typedef _Key key_type;
1434:       typedef _Value value_type;
1434:       typedef _Alloc allocator_type;
1434:       typedef _Equal key_equal;
1434: 
1434: 
1434: 
1434:       typedef typename __value_alloc_traits::pointer pointer;
1434:       typedef typename __value_alloc_traits::const_pointer const_pointer;
1434:       typedef value_type& reference;
1434:       typedef const value_type& const_reference;
1434: 
1434:       using iterator = typename __insert_base::iterator;
1434: 
1434:       using const_iterator = typename __insert_base::const_iterator;
1434: 
1434:       using local_iterator = __detail::_Local_iterator<key_type, _Value,
1434:    _ExtractKey, _Hash, _RangeHash, _Unused,
1434:           __constant_iterators::value,
1434:           __hash_cached::value>;
1434: 
1434:       using const_local_iterator = __detail::_Local_const_iterator<
1434:    key_type, _Value,
1434:    _ExtractKey, _Hash, _RangeHash, _Unused,
1434:    __constant_iterators::value, __hash_cached::value>;
1434: 
1434:     private:
1434:       using __rehash_type = _RehashPolicy;
1434:       using __rehash_state = typename __rehash_type::_State;
1434: 
1434:       using __unique_keys = typename __traits_type::__unique_keys;
1434: 
1434:       using __hashtable_base = __detail::
1434:  _Hashtable_base<_Key, _Value, _ExtractKey,
1434:    _Equal, _Hash, _RangeHash, _Unused, _Traits>;
1434: 
1434:       using __hash_code_base = typename __hashtable_base::__hash_code_base;
1434:       using __hash_code = typename __hashtable_base::__hash_code;
1434:       using __ireturn_type = typename __insert_base::__ireturn_type;
1434: 
1434:       using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey,
1434:           _Equal, _Hash, _RangeHash, arT __zero, _CharT __one = _CharT('1')) const
1417:  { return to_string<_CharT, _Traits,
1417:                     std::allocator<_CharT> >(__zero, __one); }
1417: 
1417:       template<class _CharT>
1417:  std::basic_string<_CharT, std::char_traits<_CharT>,
1417:                    std::allocator<_CharT> >
1417:  to_string() const
1417:  {
1417:    return to_string<_CharT, std::char_traits<_CharT>,
1417:                     std::allocator<_CharT> >();
1417:  }
1417: 
1417:       template<class _CharT>
1417:  std::basic_string<_CharT, std::char_traits<_CharT>,
1417:                    std::allocator<_CharT> >
1417:  to_string(_CharT __zero, _CharT __one = _CharT('1')) const
1417:  {
1417:    return to_string<_CharT, std::char_traits<_CharT>,
1417:                     std::allocator<_CharT> >(__zero, __one);
1417:  }
1417: 
1417:       std::basic_string<char, std::char_traits<char>, std::allocator<char> >
1417:       to_string() const
1417:       {
1417:  return to_string<char, std::char_traits<char>,
1417:                   std::allocator<char> >();
1417:       }
1417: 
1417:       std::basic_string<char, std::char_traits<char>, std::allocator<char> >
1417:       to_string(char __zero, char __one = '1') const
1417:       {
1417:  return to_string<char, std::char_traits<char>,
1417:                   std::allocator<char> >(__zero, __one);
1417:       }
1417: 
1417: 
1417:       template<class _CharT, class _Traits>
1417:         void
1417:         _M_copy_from_ptr(const _CharT*, size_t, size_t, size_t,
1417:     _CharT, _CharT);
1417: 
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  void
1417:  _M_copy_from_string(const std::basic_string<_CharT,
1417:        _Traits, _Alloc>& __s, size_t __pos, size_t __n,
1417:        _CharT __zero, _CharT __one)
1417:  { _M_copy_from_ptr<_CharT, _Traits>(__s.data(), __s.size(), __pos, __n,
1417:          __zero, __one); }
1417: 
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  void
1417:         _M_copy_to_string(std::basic_string<_CharT, _Traits, _Alloc>&,
1417:      _CharT, _CharT) const;
1417: 
1417: 
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  void
1417:  _M_copy_from_string(const std::basic_string<_CharT,
1417:        _Traits, _Alloc>& __s, size_t __pos, size_t __n)
1417:  { _M_copy_from_string(__s, __pos, __n, _CharT('0'), _CharT('1')); }
1417: 
1417:       template<class _CharT, class _Traits, class _Alloc>
1417:  void
1417:         _M_copy_to_string(std::basic_string<_CharT, _Traits,_Alloc>& __s) const
1417:  { _M_copy_to_string(__s, _CharT('0'), _CharT('1')); }
1417: 
1417: 
1417:       size_t
1417:       count() const noexcept
1417:       { return this->_M_do_count(); }
1417: 
1417: 
1417:       constexpr size_t
1417:       size() const noexcept
1417:       { return _Nb; }
1417: 
1417: 
1417: 
1417:       bool
1417:       operator==(const bitset<_Nb>& __rhs) const noexcept
1417:       { return this->_M_is_equal(__rhs); }
1417: 
1417: 
1417:       bool
1417:       operator!=(const bitset<_Nb>& __rhs) const noexcept
1417:       { return !this->_M_is_equal(__rhs); }
1417: # 1322 "/usr/include/c++/12/bitset" 3
1417:       bool
1417:       test(size_t __position) const
1417:       {
1417:  this->_M_check(__position, ("bitset::test"));
1417:  return _Unchecked_test(__position);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       all() const noexcept
1417:       { return this->template _M_are_all<_Nb>(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       any() const noexcept
1417:       { return this->_M_is_any(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       none() const noexcept
1417:       { return !this->_M_is_any(); }
1417: 
1417: 
1417: 
1417:       bitset<_Nb>
1417:       operator<<(size_t __position) const noexcept
1417:       { return bitset<_Nb>(*this) <<= __position; }
1417: 
1417:       bitset<_Nb>
1417:       operator>>(size_t __position) const noexcept
1417:       { return bitset<_Nb>(*this) >>= __position; }
1417: # 1372 "/u_Unused,
1434:           _RehashPolicy, _Traits>;
1434: 
1434:       using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc,
1434:          _ExtractKey, _Equal,
1434:          _Hash, _RangeHash, _Unused,
1434:          _RehashPolicy, _Traits>;
1434: 
1434:       using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey,
1434:          _Equal, _Hash, _RangeHash, _Unused,
1434:          _RehashPolicy, _Traits>;
1434: 
1434:       using __reuse_or_alloc_node_gen_t =
1434:  __detail::_ReuseOrAllocNode<__node_alloc_type>;
1434:       using __alloc_node_gen_t =
1434:  __detail::_AllocNode<__node_alloc_type>;
1434:       using __node_builder_t =
1434:  __detail::_NodeBuilder<_ExtractKey>;
1434: 
1434: 
1434:       struct _Scoped_node
1434:       {
1434: 
1434:  _Scoped_node(__node_ptr __n, __hashtable_alloc* __h)
1434:  : _M_h(__h), _M_node(__n) { }
1434: 
1434: 
1434:  template<typename... _Args>
1434:    _Scoped_node(__hashtable_alloc* __h, _Args&&... __args)
1434:    : _M_h(__h),
1434:      _M_node(__h->_M_allocate_node(std::forward<_Args>(__args)...))
1434:    { }
1434: 
1434: 
1434:  ~_Scoped_node() { if (_M_node) _M_h->_M_deallocate_node(_M_node); };
1434: 
1434:  _Scoped_node(const _Scoped_node&) = delete;
1434:  _Scoped_node& operator=(const _Scoped_node&) = delete;
1434: 
1434:  __hashtable_alloc* _M_h;
1434:  __node_ptr _M_node;
1434:       };
1434: 
1434:       template<typename _Ht>
1434:  static constexpr
1434:  __conditional_t<std::is_lvalue_reference<_Ht>::value,
1434:    const value_type&, value_type&&>
1434:  __fwd_value_for(value_type& __val) noexcept
1434:  { return std::move(__val); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       struct __hash_code_base_access : __hash_code_base
1434:       { using __hash_code_base::_M_bucket_index; };
1434: 
1434: 
1434:       static_assert(is_nothrow_default_constructible<_RangeHash>::value,
1434:       "Functor used to map hash code to bucket index"
1434:       " must be nothrow default constructible");
1434:       static_assert(noexcept(
1434:  std::declval<const _RangeHash&>()((std::size_t)0, (std::size_t)0)),
1434:       "Functor used to map hash code to bucket index must be"
1434:       " noexcept");
1434: 
1434: 
1434:       static_assert(is_nothrow_default_constructible<_ExtractKey>::value,
1434:       "_ExtractKey must be nothrow default constructible");
1434:       static_assert(noexcept(
1434:  std::declval<const _ExtractKey&>()(std::declval<_Value>())),
1434:       "_ExtractKey functor must be noexcept invocable");
1434: 
1434:       template<typename _Keya, typename _Valuea, typename _Alloca,
1434:         typename _ExtractKeya, typename _Equala,
1434:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1434:         typename _RehashPolicya, typename _Traitsa,
1434:         bool _Unique_keysa>
1434:  friend struct __detail::_Map_base;
1434: 
1434:       template<typename _Keya, typename _Valuea, typename _Alloca,
1434:         typename _ExtractKeya, typename _Equala,
1434:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1434:         typename _RehashPolicya, typename _Traitsa>
1434:  friend struct __detail::_Insert_base;
1434: 
1434:       template<typename _Keya, typename _Valuea, typename _Alloca,
1434:         typename _ExtractKeya, typename _Equala,
1434:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1434:         typename _RehashPolicya, typename _Traitsa,
1434:         bool _Constant_iteratorsa>
1434:  friend struct __detail::_Insert;
1434: 
1434:       template<typename _Keya, typename _Valuea, typename _Alloca,
1434:         typename _ExtractKeya, typename _Equala,
1434:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1434:         typename _RehashPolicya, typename _Traitsa,
1434:         bool _Unique_keysa>
1434:  friend struct __detail::_Equality;
1434: 
1434:     public:
1434:       using size_type = typename __hashtable_base::size_type;
1434:       using difference_type = typename __hashtable_base::difference_type;
1434: 
1434: 
1434:       using node_type = _Node_handle<_Key, _Value, __node_alloc_type>;
1434:       using insert_return_type = _Node_insert_return<iterator, node_type>;
1434: 
1434: 
1434:     private:
1434:       __buckets_ptr _M_buckets = &_M_single_bucket;
1434:       size_type _M_bucket_count = 1;
1434:       __node_base _M_before_begin;
1434:       size_type _M_element_count = 0;
1434:       _RehashPolicy _M_rehash_policy;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       __node_base_ptr _M_single_bucket = nullptr;
1434: 
1434:       void
1434:       _M_update_bbegin()
1434:       {
1434:  if (_M_begin())
1434:    _M_buckets[_M_bucket_index(*_M_begin())] = &_M_before_begin;
1434:       }
1434: 
1434:       void
1434:       _M_update_bbegin(__node_ptr __n)
1434:       {
1434:  _M_before_begin._M_nxt = __n;
1434:  _M_update_bbegin();
1434:       }
1434: 
1434:       bool
1434:       _M_uses_single_bucket(__buckets_ptr __bkts) const
1434:       { return __builtin_expect(__bkts == &_M_single_bucket, false); }
1434: 
1434:       bool
1434:       _M_uses_single_bucket() const
1434:       { return _M_uses_single_bucket(_M_buckets); }
1434: 
1434:       static constexpr size_t
1434:       __small_size_threshold() noexcept
1434:       {
1434:  return
1434:    __detail::_Hashtable_hash_traits<_Hash>::__small_size_threshold();
1434:       }
1434: 
1434:       __hashtable_alloc&
1434:       _M_base_alloc() { return *this; }
1434: 
1434:       __buckets_ptr
1434:       _M_allocate_buckets(size_type __bkt_count)
1434:       {
1434:  if (__builtin_expect(__bkt_count == 1, false))
1434:    {
1434:      _M_single_bucket = nullptr;
1434:      return &_M_single_bucket;
1434:    }
1434: 
1434:  return __hashtable_alloc::_M_allocate_buckets(__bkt_count);
1434:       }
1434: 
1434:       void
1434:       _M_deallocate_buckets(__buckets_ptr __bkts, size_type __bkt_count)
1434:       {
1434:  if (_M_uses_single_bucket(__bkts))
1434:    return;
1434: 
1434:  __hashtable_alloc::_M_deallocate_buckets(__bkts, __bkt_count);
1434:       }
1434: 
1434:       void
1434:       _M_deallocate_buckets()
1434:       { _M_deallocate_buckets(_M_buckets, _M_bucket_count); }
1434: 
1434: 
1434: 
1434:       __node_ptr
1434:       _M_bucket_begin(size_type __bkt) const;
1434: 
1434:       __node_ptr
1434:       _M_begin() const
1434:       { return static_cast<__node_ptr>(_M_before_begin._M_nxt); }
1434: 
1434: 
1434: 
1434:       template<typename _Ht>
1434:  void
1434:  _M_assign_elements(_Ht&&);
1434: 
1434:       template<typename _Ht, typename _NodeGenerator>
1434:  void
1434:  _M_assign(_Ht&&, const _NodeGenerator&);
1434: 
1434:       void
1434:       _M_move_assign(_Hashtable&&, true_type);
1434: 
1434:       void
1434:       _M_move_assign(_Hashtable&&, false_type);
1434: 
1434:       void
1434:       _M_reset() noexcept;
1434: 
1434:       _Hashtable(const _Hash& __h, const _Equal& __eq,
1434:    const allocator_type& __a)
1434:       : __hashtable_base(__h, __eq),
1434:  __hashtable_alloc(__node_alloc_type(__a)),
1434:  __enable_default_ctor(_Enable_default_constructor_tag{})
1434:       { }
1434: 
1434:       template<bool _No_realloc = true>
1434:  static constexpr bool
1434:  _S_nothrow_move()
1434:  {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    if constexpr (_No_realloc)
1434:      if constexpr (is_nothrow_copy_constructible<_Hash>())
1434:        return is_nothrow_copy_constructible<_Equal>();
1434:    return false;
1434: 
1434:  }
1434: 
1434:       _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1434:    true_type )
1434:  noexcept(_S_nothrow_move());
1434: 
1434:       _Hashtable(_Hashtable&&, __node_alloc_type&&,
1434:    false_type );
1434: 
1434:       template<typename _InputIterator>
1434:  _Hashtable(_InputIterator __first, _InputIterator __last,
1434:      size_type __bkt_count_hint,
1434:      const _Hash&, const _Equal&, const allocator_type&,
1434:      true_type __uks);
1434: 
1434:       template<typename _InputIterator>
1434:  _Hashtable(_InputIterator __first, _InputIterator __last,
1434:      size_type __bkt_count_hint,
1434:      const _Hash2: 
1412:   constexpr long double
1412:   atanh(long double __x)
1412:   { return __builtin_atanhl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     atanh(_Tp __x)
1412:     { return __builtin_atanh(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   cbrt(float __x)
1412:   { return __builtin_cbrtf(__x); }
1412: 
1412:   constexpr long double
1412:   cbrt(long double __x)
1412:   { return __builtin_cbrtl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     cbrt(_Tp __x)
1412:     { return __builtin_cbrt(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   copysign(float __x, float __y)
1412:   { return __builtin_copysignf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   copysign(long double __x, long double __y)
1412:   { return __builtin_copysignl(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     copysign(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return copysign(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   erf(float __x)
1412:   { return __builtin_erff(__x); }
1412: 
1412:   constexpr long double
1412:   erf(long double __x)
1412:   { return __builtin_erfl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     erf(_Tp __x)
1412:     { return __builtin_erf(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   erfc(float __x)
1412:   { return __builtin_erfcf(__x); }
1412: 
1412:   constexpr long double
1412:   erfc(long double __x)
1412:   { return __builtin_erfcl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     erfc(_Tp __x)
1412:     { return __builtin_erfc(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   exp2(float __x)
1412:   { return __builtin_exp2f(__x); }
1412: 
1412:   constexpr long double
1412:   exp2(long double __x)
1412:   { return __builtin_exp2l(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     exp2(_Tp __x)
1412:     { return __builtin_exp2(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   expm1(float __x)
1412:   { return __builtin_expm1f(__x); }
1412: 
1412:   constexpr long double
1412:   expm1(long double __x)
1412:   { return __builtin_expm1l(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     expm1(_Tp __x)
1412:     { return __builtin_expm1(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   fdim(float __x, float __y)
1412:   { return __builtin_fdimf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   fdim(long double __x, long double __y)
1412:   { return __builtin_fdiml(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     fdim(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return fdim(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   fma(float __x, float __y, float __z)
1412:   { return __builtin_fmaf&, const _Equal&, const allocator_type&,
1434:      false_type __uks);
1434: 
1434:     public:
1434: 
1434:       _Hashtable() = default;
1434: 
1434:       _Hashtable(const _Hashtable&);
1434: 
1434:       _Hashtable(const _Hashtable&, const allocator_type&);
1434: 
1434:       explicit
1434:       _Hashtable(size_type __bkt_count_hint,
1434:    const _Hash& __hf = _Hash(),
1434:    const key_equal& __eql = key_equal(),
1434:    const allocator_type& __a = allocator_type());
1434: 
1434: 
1434:       _Hashtable(_Hashtable&& __ht)
1434:  noexcept(_S_nothrow_move())
1434:       : _Hashtable(std::move(__ht), std::move(__ht._M_node_allocator()),
1434:      true_type{})
1434:       { }
1434: 
1434:       _Hashtable(_Hashtable&& __ht, const allocator_type& __a)
1434:  noexcept(_S_nothrow_move<__node_alloc_traits::_S_always_equal()>())
1434:       : _Hashtable(std::move(__ht), __node_alloc_type(__a),
1434:      typename __node_alloc_traits::is_always_equal{})
1434:       { }
1434: 
1434:       explicit
1434:       _Hashtable(const allocator_type& __a)
1434:       : __hashtable_alloc(__node_alloc_type(__a)),
1434:  __enable_default_ctor(_Enable_default_constructor_tag{})
1434:       { }
1434: 
1434:       template<typename _InputIterator>
1434:  _Hashtable(_InputIterator __f, _InputIterator __l,
1434:      size_type __bkt_count_hint = 0,
1434:      const _Hash& __hf = _Hash(),
1434:      const key_equal& __eql = key_equal(),
1434:      const allocator_type& __a = allocator_type())
1434:  : _Hashtable(__f, __l, __bkt_count_hint, __hf, __eql, __a,
1434:        __unique_keys{})
1434:  { }
1434: 
1434:       _Hashtable(initializer_list<value_type> __l,
1434:    size_type __bkt_count_hint = 0,
1434:    const _Hash& __hf = _Hash(),
1434:    const key_equal& __eql = key_equal(),
1434:    const allocator_type& __a = allocator_type())
1434:       : _Hashtable(__l.begin(), __l.end(), __bkt_count_hint,
1434:      __hf, __eql, __a, __unique_keys{})
1434:       { }
1434: 
1434:       _Hashtable&
1434:       operator=(const _Hashtable& __ht);
1434: 
1434:       _Hashtable&
1434:       operator=(_Hashtable&& __ht)
1434:       noexcept(__node_alloc_traits::_S_nothrow_move()
1434:         && is_nothrow_move_assignable<_Hash>::value
1434:         && is_nothrow_move_assignable<_Equal>::value)
1434:       {
1434:  constexpr bool __move_storage =
1434:    __node_alloc_traits::_S_propagate_on_move_assign()
1434:    || __node_alloc_traits::_S_always_equal();
1434:  _M_move_assign(std::move(__ht), __bool_constant<__move_storage>());
1434:  return *this;
1434:       }
1434: 
1434:       _Hashtable&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1434:  _M_before_begin._M_nxt = nullptr;
1434:  clear();
1434: 
1434: 
1434:  auto __l_bkt_count = _M_rehash_policy._M_bkt_for_elements(__l.size());
1434: 
1434: 
1434:  if (_M_bucket_count < __l_bkt_count)
1434:    rehash(__l_bkt_count);
1434: 
1434:  this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys{});
1434:  return *this;
1434:       }
1434: 
1434:       ~_Hashtable() noexcept;
1434: 
1434:       void
1434:       swap(_Hashtable&)
1434:       noexcept(__and_<__is_nothrow_swappable<_Hash>,
1434:         __is_nothrow_swappable<_Equal>>::value);
1434: 
1434: 
1434:       iterator
1434:       begin() noexcept
1434:       { return iterator(_M_begin()); }
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return const_iterator(_M_begin()); }
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return iterator(nullptr); }
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return const_iterator(nullptr); }
1434: 
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return const_iterator(_M_begin()); }
1434: 
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return const_iterator(nullptr); }
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_element_countsr/include/c++/12/bitset" 3
1417:       size_t
1417:       _Find_first() const noexcept
1417:       { return this->_M_do_find_first(_Nb); }
1417: # 1383 "/usr/include/c++/12/bitset" 3
1417:       size_t
1417:       _Find_next(size_t __prev) const noexcept
1417:       { return this->_M_do_find_next(__prev, _Nb); }
1417:     };
1417: 
1417: 
1417:   template<size_t _Nb>
1417:     template<class _CharT, class _Traits>
1417:       void
1417:       bitset<_Nb>::
1417:       _M_copy_from_ptr(const _CharT* __s, size_t __len,
1417:          size_t __pos, size_t __n, _CharT __zero, _CharT __one)
1417:       {
1417:  reset();
1417:  const size_t __nbits = std::min(_Nb, std::min(__n, size_t(__len - __pos)));
1417:  for (size_t __i = __nbits; __i > 0; --__i)
1417:    {
1417:      const _CharT __c = __s[__pos + __nbits - __i];
1417:      if (_Traits::eq(__c, __zero))
1417:        ;
1417:      else if (_Traits::eq(__c, __one))
1417:        _Unchecked_set(__i - 1);
1417:      else
1417:        __throw_invalid_argument(("bitset::_M_copy_from_ptr"));
1417:    }
1417:       }
1417: 
1417:   template<size_t _Nb>
1417:     template<class _CharT, class _Traits, class _Alloc>
1417:       void
1417:       bitset<_Nb>::
1417:       _M_copy_to_string(std::basic_string<_CharT, _Traits, _Alloc>& __s,
1417:    _CharT __zero, _CharT __one) const
1417:       {
1417:  __s.assign(_Nb, __zero);
1417:  for (size_t __i = _Nb; __i > 0; --__i)
1417:    if (_Unchecked_test(__i - 1))
1417:      _Traits::assign(__s[_Nb - __i], __one);
1417:       }
1417: # 1433 "/usr/include/c++/12/bitset" 3
1417:   template<size_t _Nb>
1417:     inline bitset<_Nb>
1417:     operator&(const bitset<_Nb>& __x, const bitset<_Nb>& __y) noexcept
1417:     {
1417:       bitset<_Nb> __result(__x);
1417:       __result &= __y;
1417:       return __result;
1417:     }
1417: 
1417:   template<size_t _Nb>
1417:     inline bitset<_Nb>
1417:     operator|(const bitset<_Nb>& __x, const bitset<_Nb>& __y) noexcept
1417:     {
1417:       bitset<_Nb> __result(__x);
1417:       __result |= __y;
1417:       return __result;
1417:     }
1417: 
1417:   template <size_t _Nb>
1417:     inline bitset<_Nb>
1417:     operator^(const bitset<_Nb>& __x, const bitset<_Nb>& __y) noexcept
1417:     {
1417:       bitset<_Nb> __result(__x);
1417:       __result ^= __y;
1417:       return __result;
1417:     }
1417: # 1470 "/usr/include/c++/12/bitset" 3
1417:   template<class _CharT, class _Traits, size_t _Nb>
1417:     std::basic_istream<_CharT, _Traits>&
1417:     operator>>(std::basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x)
1417:     {
1417:       typedef typename _Traits::char_type char_type;
1417:       typedef std::basic_istream<_CharT, _Traits> __istream_type;
1417:       typedef typename __istream_type::ios_base __ios_base;
1417: 
1417:       std::basic_string<_CharT, _Traits> __tmp;
1417:       __tmp.reserve(_Nb);
1417: 
1417: 
1417: 
1417:       const char_type __zero = __is.widen('0');
1417:       const char_type __one = __is.widen('1');
1417: 
1417:       typename __ios_base::iostate __state = __ios_base::goodbit;
1417:       typename __istream_type::sentry __sentry(__is);
1417:       if (__sentry)
1417:  {
1417:    try
1417:      {
1417:        for (size_t __i = _Nb; __i > 0; --__i)
1417:   {
1417:     static typename _Traits::int_type __eof = _Traits::eof();
1417: 
1417:     typename _Traits::int_type __c1 = __is.rdbuf()->sbumpc();
1417:     if (_Traits::eq_int_type(__c1, __eof))
1417:       {
1417:         __state |= __ios_base::eofbit;
1417:         break;
1417:       }
1417:     else
1417:       {
1417:         const char_type __c2 = _Traits::to_char_type(__c1);
1417:         if (_Traits::eq(__c2, __zero))
1417:    __tmp.push_back(__zero);
1417:         else if (_Traits::eq(__c2, __one))
1417:    __tmp.push_back(__one);
1417:         else if (_Traits::
1417:           eq_int_type(__is.rdbuf()->sputbackc(__c2),
1417:         __eof))
1417:    {
1417:      __state |= __ios_base::failbit;
1417:      break;
1417:    }
1417:       }
1417:   }
1417:      }
1417:    catch(__cxxabiv1::__forced(__x, __y, __z); }
1412: 
1412:   constexpr long double
1412:   fma(long double __x, long double __y, long double __z)
1412:   { return __builtin_fmal(__x, __y, __z); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up, typename _Vp>
1412:     constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
1412:     fma(_Tp __x, _Up __y, _Vp __z)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type;
1412:       return fma(__type(__x), __type(__y), __type(__z));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   fmax(float __x, float __y)
1412:   { return __builtin_fmaxf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   fmax(long double __x, long double __y)
1412:   { return __builtin_fmaxl(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     fmax(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return fmax(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   fmin(float __x, float __y)
1412:   { return __builtin_fminf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   fmin(long double __x, long double __y)
1412:   { return __builtin_fminl(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     fmin(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return fmin(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   hypot(float __x, float __y)
1412:   { return __builtin_hypotf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   hypot(long double __x, long double __y)
1412:   { return __builtin_hypotl(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     hypot(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return hypot(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr int
1412:   ilogb(float __x)
1412:   { return __builtin_ilogbf(__x); }
1412: 
1412:   constexpr int
1412:   ilogb(long double __x)
1412:   { return __builtin_ilogbl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr
1412:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                     int>::__type
1412:     ilogb(_Tp __x)
1412:     { return __builtin_ilogb(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   lgamma(float __x)
1412:   { return __builtin_lgammaf(__x); }
1412: 
1412:   constexpr long double
1412:   lgamma(long double __x)
1412:   { return __builtin_lgammal(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     lgamma(_Tp __x)
1412:     { return __builtin_lgamma(__x); }
1412: 
1412: 
1412: 
1412:   constexpr long long
1412:   llrint(float __x)
1412:   { return __builtin_llrintf(__x); }
1412: 
1412:   constexpr long long
1412:   llrint(long double __x)
1412:   { return __builtin_llrintl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               long long>::__type
1412:     llrint(_Tp __x)
1412:     { return __builtin_llrint(__x); }
1412: 
1412: 
1412: 
1412:   constexpr long long
1412:   llround(float __x)
1412:   { return __builtin_llroundf(__x); }
1412: 
1412:   constexpr long long
1412:   llround(long double __x)
1412:   { return __builtin_llroundl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_intege; }
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return size() == 0; }
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(this->_M_node_allocator()); }
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return __node_alloc_traits::max_size(this->_M_node_allocator()); }
1434: 
1434: 
1434:       key_equal
1434:       key_eq() const
1434:       { return this->_M_eq(); }
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket_count() const noexcept
1434:       { return _M_bucket_count; }
1434: 
1434:       size_type
1434:       max_bucket_count() const noexcept
1434:       { return max_size(); }
1434: 
1434:       size_type
1434:       bucket_size(size_type __bkt) const
1434:       { return std::distance(begin(__bkt), end(__bkt)); }
1434: 
1434:       size_type
1434:       bucket(const key_type& __k) const
1434:       { return _M_bucket_index(this->_M_hash_code(__k)); }
1434: 
1434:       local_iterator
1434:       begin(size_type __bkt)
1434:       {
1434:  return local_iterator(*this, _M_bucket_begin(__bkt),
1434:          __bkt, _M_bucket_count);
1434:       }
1434: 
1434:       local_iterator
1434:       end(size_type __bkt)
1434:       { return local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1434: 
1434:       const_local_iterator
1434:       begin(size_type __bkt) const
1434:       {
1434:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1434:         __bkt, _M_bucket_count);
1434:       }
1434: 
1434:       const_local_iterator
1434:       end(size_type __bkt) const
1434:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1434: 
1434: 
1434:       const_local_iterator
1434:       cbegin(size_type __bkt) const
1434:       {
1434:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1434:         __bkt, _M_bucket_count);
1434:       }
1434: 
1434:       const_local_iterator
1434:       cend(size_type __bkt) const
1434:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1434: 
1434:       float
1434:       load_factor() const noexcept
1434:       {
1434:  return static_cast<float>(size()) / static_cast<float>(bucket_count());
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const _RehashPolicy&
1434:       __rehash_policy() const
1434:       { return _M_rehash_policy; }
1434: 
1434:       void
1434:       __rehash_policy(const _RehashPolicy& __pol)
1434:       { _M_rehash_policy = __pol; }
1434: 
1434: 
1434:       iterator
1434:       find(const key_type& __k);
1434: 
1434:       const_iterator
1434:       find(const key_type& __k) const;
1434: 
1434:       size_type
1434:       count(const key_type& __k) const;
1434: 
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __k);
1434: 
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __k) const;
1434: # 790 "/usr/include/c++/12/bits/hashtable.h" 3
1434:     private:
1434: 
1434:       size_type
1434:       _M_bucket_index(const __node_value_type& __n) const noexcept
1434:       { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); }
1434: 
1434:       size_type
1434:       _M_bucket_index(__hash_code __c) const
1434:       { return __hash_code_base::_M_bucket_index(__c, _M_bucket_count); }
1434: 
1434:       __node_base_ptr
1434:       _M_find_before_node(const key_type&);
1434: 
1434: 
1434: 
1434:       __node_base_ptr
1434:       _M_find_before_node(size_type, const key_type&, __hash_code) const;
1434: 
1434:       template<typename _Kt>
1434:  __node_base_ptr
1434:  _M_find_before_node_tr(size_type, const _Kt&, __hash_code) const;
1434: 
1434:       __node_ptr
1434:       _M_find_node(size_type __bkt, const key_type& __key,
1434:      __hash_code __c) const
1434:       {
1434:  __node_base_ptr __before_n = _M_find_before_node(__bkt, __key, __c);
1434:  if (__before_n)
1434:    return static_cast<__node_ptr>(__before_n->_M_nxt);
1434:_unwind&)
1417:      {
1417:        __is._M_setstate(__ios_base::badbit);
1417:        throw;
1417:      }
1417:    catch(...)
1417:      { __is._M_setstate(__ios_base::badbit); }
1417:  }
1417: 
1417:       if (__tmp.empty() && _Nb)
1417:  __state |= __ios_base::failbit;
1417:       else
1417:  __x._M_copy_from_string(__tmp, static_cast<size_t>(0), _Nb,
1417:     __zero, __one);
1417:       if (__state)
1417:  __is.setstate(__state);
1417:       return __is;
1417:     }
1417: 
1417:   template <class _CharT, class _Traits, size_t _Nb>
1417:     std::basic_ostream<_CharT, _Traits>&
1417:     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
1417:         const bitset<_Nb>& __x)
1417:     {
1417:       std::basic_string<_CharT, _Traits> __tmp;
1417: 
1417: 
1417: 
1417:       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__os.getloc());
1417:       __x._M_copy_to_string(__tmp, __ct.widen('0'), __ct.widen('1'));
1417:       return __os << __tmp;
1417:     }
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   template<size_t _Nb>
1417:     struct hash<std::bitset<_Nb>>
1417:     : public __hash_base<size_t, std::bitset<_Nb>>
1417:     {
1417:       size_t
1417:       operator()(const std::bitset<_Nb>& __b) const noexcept
1417:       {
1417:  const size_t __clength = (_Nb + 8 - 1) / 8;
1417:  return std::_Hash_impl::hash(__b._M_getdata(), __clength);
1417:       }
1417:     };
1417: 
1417:   template<>
1417:     struct hash<std::bitset<0>>
1417:     : public __hash_base<size_t, std::bitset<0>>
1417:     {
1417:       size_t
1417:       operator()(const std::bitset<0>&) const noexcept
1417:       { return 0; }
1417:     };
1417: 
1417: 
1417: }
1417: # 39 "/usr/include/c++/12/regex" 2 3
1417: # 61 "/usr/include/c++/12/regex" 3
1417: # 1 "/usr/include/c++/12/bits/regex_constants.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/regex_constants.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 48 "/usr/include/c++/12/bits/regex_constants.h" 3
1417: namespace regex_constants
1417: {
1417: # 66 "/usr/include/c++/12/bits/regex_constants.h" 3
1417:   enum syntax_option_type : unsigned int
1417:   {
1417:     _S_icase = 1 << 0,
1417:     _S_nosubs = 1 << 1,
1417:     _S_optimize = 1 << 2,
1417:     _S_collate = 1 << 3,
1417:     _S_ECMAScript = 1 << 4,
1417:     _S_basic = 1 << 5,
1417:     _S_extended = 1 << 6,
1417:     _S_awk = 1 << 7,
1417:     _S_grep = 1 << 8,
1417:     _S_egrep = 1 << 9,
1417:     _S_polynomial = 1 << 10,
1417:     _S_multiline = 1 << 11
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type icase = _S_icase;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type nosubs = _S_nosubs;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type optimize = _S_optimize;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type collate = _S_collate;
1417: # 117 "/usr/include/c++/12/bits/regex_constants.h" 3
1417:   inline constexpr syntax_option_type ECMAScript = _S_ECMAScript;
1417: # 126 "/usr/include/c++/12/bits/regex_constants.h" 3
1417:   inline constexpr syntax_option_type basic = _S_basic;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type extended = _S_extended;
1417: # 144 "/usr/include/c++/12/bits/regex_constants.h" 3
1417:   inline constexpr syntax_option_type awk = _S_awk;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type grep = _S_grep;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type egrep = _S_egrep;
1417: # 172 "/usr/include/c++/12/bits/regex_constants.h" 3
1417:   inline constexpr syntax_option_type multiline = _S_multiline;
1417: 
1417: 
1417: 
1417:   inline constexpr syntax_option_type __multiline = _S_multiline;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   i  return nullptr;
1434:       }
1434: 
1434:       template<typename _Kt>
1434:  __node_ptr
1434:  _M_find_node_tr(size_type __bkt, const _Kt& __key,
1434:    __hash_code __c) const
1434:  {
1434:    auto __before_n = _M_find_before_node_tr(__bkt, __key, __c);
1434:    if (__before_n)
1434:      return static_cast<__node_ptr>(__before_n->_M_nxt);
1434:    return nullptr;
1434:  }
1434: 
1434: 
1434:       void
1434:       _M_insert_bucket_begin(size_type, __node_ptr);
1434: 
1434: 
1434:       void
1434:       _M_remove_bucket_begin(size_type __bkt, __node_ptr __next_n,
1434:         size_type __next_bkt);
1434: 
1434: 
1434:       __node_base_ptr
1434:       _M_get_previous_node(size_type __bkt, __node_ptr __n);
1434: 
1434:       pair<const_iterator, __hash_code>
1434:       _M_compute_hash_code(const_iterator __hint, const key_type& __k) const;
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       _M_insert_unique_node(size_type __bkt, __hash_code,
1434:        __node_ptr __n, size_type __n_elt = 1);
1434: 
1434: 
1434: 
1434:       iterator
1434:       _M_insert_multi_node(__node_ptr __hint,
1434:       __hash_code __code, __node_ptr __n);
1434: 
1434:       template<typename... _Args>
1434:  std::pair<iterator, bool>
1434:  _M_emplace(true_type __uks, _Args&&... __args);
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  _M_emplace(false_type __uks, _Args&&... __args)
1434:  { return _M_emplace(cend(), __uks, std::forward<_Args>(__args)...); }
1434: 
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  _M_emplace(const_iterator, true_type __uks, _Args&&... __args)
1434:  { return _M_emplace(__uks, std::forward<_Args>(__args)...).first; }
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  _M_emplace(const_iterator, false_type __uks, _Args&&... __args);
1434: 
1434:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1434:  std::pair<iterator, bool>
1434:  _M_insert_unique(_Kt&&, _Arg&&, const _NodeGenerator&);
1434: 
1434:       template<typename _Kt>
1434:  static __conditional_t<
1434:    __and_<__is_nothrow_invocable<_Hash&, const key_type&>,
1434:    __not_<__is_nothrow_invocable<_Hash&, _Kt>>>::value,
1434:    key_type, _Kt&&>
1434:  _S_forward_key(_Kt&& __k)
1434:  { return std::forward<_Kt>(__k); }
1434: 
1434:       static const key_type&
1434:       _S_forward_key(const key_type& __k)
1434:       { return __k; }
1434: 
1434:       static key_type&&
1434:       _S_forward_key(key_type&& __k)
1434:       { return std::move(__k); }
1434: 
1434:       template<typename _Arg, typename _NodeGenerator>
1434:  std::pair<iterator, bool>
1434:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1434:     true_type )
1434:  {
1434:    return _M_insert_unique(
1434:      _S_forward_key(_ExtractKey{}(std::forward<_Arg>(__arg))),
1434:      std::forward<_Arg>(__arg), __node_gen);
1434:  }
1434: 
1434:       template<typename _Arg, typename _NodeGenerator>
1434:  iterator
1434:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1434:     false_type __uks)
1434:  {
1434:    return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen,
1434:       __uks);
1434:  }
1434: 
1434: 
1434:       template<typename _Arg, typename _NodeGenerator>
1434:  iterator
1434:  _M_insert(const_iterator, _Arg&& __arg,
1434:     const _NodeGenerator& __node_gen, true_type __uks)
1434:  {
1434:    return
1434:      _M_insert(std::forward<_Arg>(__arg), __node_gen, __uks).first;
1434:  }
1434: 
1434: 
1434:       template<typename _Arg, typename _NodeGenerator>
1434:  iterator
1434:  _M_insert(const_iterator, _Arg&&,
1434:     const _NodeGenerator&, false_type __uks);
1434: 
1434:       size_type
1434:       _M_erase(true_type __uks, const key_type&);
1434: 
1434:       size_type
1434:       _M_erase(false_type __uks, const key_type&);
1434: 
1434:       iterator
1434:       _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n);
1434: 
1434:     public:
1434: 
1434:       template<typename... _Args>
1434:  __ireturn_type
1434:  emplace(_Arr<_Tp>::__value,
1412:                                               long long>::__type
1412:     llround(_Tp __x)
1412:     { return __builtin_llround(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   log1p(float __x)
1412:   { return __builtin_log1pf(__x); }
1412: 
1412:   constexpr long double
1412:   log1p(long double __x)
1412:   { return __builtin_log1pl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     log1p(_Tp __x)
1412:     { return __builtin_log1p(__x); }
1412: 
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   log2(float __x)
1412:   { return __builtin_log2f(__x); }
1412: 
1412:   constexpr long double
1412:   log2(long double __x)
1412:   { return __builtin_log2l(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     log2(_Tp __x)
1412:     { return __builtin_log2(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   logb(float __x)
1412:   { return __builtin_logbf(__x); }
1412: 
1412:   constexpr long double
1412:   logb(long double __x)
1412:   { return __builtin_logbl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     logb(_Tp __x)
1412:     { return __builtin_logb(__x); }
1412: 
1412: 
1412: 
1412:   constexpr long
1412:   lrint(float __x)
1412:   { return __builtin_lrintf(__x); }
1412: 
1412:   constexpr long
1412:   lrint(long double __x)
1412:   { return __builtin_lrintl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               long>::__type
1412:     lrint(_Tp __x)
1412:     { return __builtin_lrint(__x); }
1412: 
1412: 
1412: 
1412:   constexpr long
1412:   lround(float __x)
1412:   { return __builtin_lroundf(__x); }
1412: 
1412:   constexpr long
1412:   lround(long double __x)
1412:   { return __builtin_lroundl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               long>::__type
1412:     lround(_Tp __x)
1412:     { return __builtin_lround(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   nearbyint(float __x)
1412:   { return __builtin_nearbyintf(__x); }
1412: 
1412:   constexpr long double
1412:   nearbyint(long double __x)
1412:   { return __builtin_nearbyintl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     nearbyint(_Tp __x)
1412:     { return __builtin_nearbyint(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   nextafter(float __x, float __y)
1412:   { return __builtin_nextafterf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   nextafter(long double __x, long double __y)
1412:   { return __builtin_nextafterl(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     nextafter(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return nextafter(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   nexttoward(float __x, long double __y)
1412:   { return __builtin_nexttowardf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   nexttoward(long double __x, long double __y)
1412:   { return __builtin_nexttowardl(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enags&&... __args)
1434:  { return _M_emplace(__unique_keys{}, std::forward<_Args>(__args)...); }
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __hint, _Args&&... __args)
1434:  {
1434:    return _M_emplace(__hint, __unique_keys{},
1434:        std::forward<_Args>(__args)...);
1434:  }
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       erase(const_iterator);
1434: 
1434: 
1434:       iterator
1434:       erase(iterator __it)
1434:       { return erase(const_iterator(__it)); }
1434: 
1434:       size_type
1434:       erase(const key_type& __k)
1434:       { return _M_erase(__unique_keys{}, __k); }
1434: 
1434:       iterator
1434:       erase(const_iterator, const_iterator);
1434: 
1434:       void
1434:       clear() noexcept;
1434: 
1434: 
1434: 
1434:       void rehash(size_type __bkt_count);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       insert_return_type
1434:       _M_reinsert_node(node_type&& __nh)
1434:       {
1434:  insert_return_type __ret;
1434:  if (__nh.empty())
1434:    __ret.position = end();
1434:  else
1434:    {
1434:      do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1434: 
1434:      const key_type& __k = __nh._M_key();
1434:      __hash_code __code = this->_M_hash_code(__k);
1434:      size_type __bkt = _M_bucket_index(__code);
1434:      if (__node_ptr __n = _M_find_node(__bkt, __k, __code))
1434:        {
1434:   __ret.node = std::move(__nh);
1434:   __ret.position = iterator(__n);
1434:   __ret.inserted = false;
1434:        }
1434:      else
1434:        {
1434:   __ret.position
1434:     = _M_insert_unique_node(__bkt, __code, __nh._M_ptr);
1434:   __nh._M_ptr = nullptr;
1434:   __ret.inserted = true;
1434:        }
1434:    }
1434:  return __ret;
1434:       }
1434: 
1434: 
1434:       iterator
1434:       _M_reinsert_node_multi(const_iterator __hint, node_type&& __nh)
1434:       {
1434:  if (__nh.empty())
1434:    return end();
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1434: 
1434:  const key_type& __k = __nh._M_key();
1434:  auto __code = this->_M_hash_code(__k);
1434:  auto __ret
1434:    = _M_insert_multi_node(__hint._M_cur, __code, __nh._M_ptr);
1434:  __nh._M_ptr = nullptr;
1434:  return __ret;
1434:       }
1434: 
1434:     private:
1434:       node_type
1434:       _M_extract_node(size_t __bkt, __node_base_ptr __prev_n)
1434:       {
1434:  __node_ptr __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1434:  if (__prev_n == _M_buckets[__bkt])
1434:    _M_remove_bucket_begin(__bkt, __n->_M_next(),
1434:       __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1434:  else if (__n->_M_nxt)
1434:    {
1434:      size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1434:      if (__next_bkt != __bkt)
1434:        _M_buckets[__next_bkt] = __prev_n;
1434:    }
1434: 
1434:  __prev_n->_M_nxt = __n->_M_nxt;
1434:  __n->_M_nxt = nullptr;
1434:  --_M_element_count;
1434:  return { __n, this->_M_node_allocator() };
1434:       }
1434: 
1434:     public:
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  size_t __bkt = _M_bucket_index(*__pos._M_cur);
1434:  return _M_extract_node(__bkt,
1434:           _M_get_previous_node(__bkt, __pos._M_cur));
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const _Key& __k)
1434:       {
1434:  node_type __nh;
1434:  __hash_code __code = this->_M_hash_code(__k);
1434:  std::size_t __bkt = _M_bucket_index(__code);
1434:  if (__node_base_ptr __prev_node = _M_find_before_node(__bkt, __k, __code))
1434:    __nh = _M_extract_node(__bkt, __prev_node);
1434:  return __nh;
1434:       }
1434: 
1434: 
1434:       template<typename _Compatible_Hashtable>
1434:  void
1434:  _M_merge_unique(_Compatible_Hashtable& __src)
1434:  {
1434:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1434:        node_type>, "Node types are compatible")nline constexpr syntax_option_type __polynomial = _S_polynomial;
1417: 
1417:   constexpr inline syntax_option_type
1417:   operator&(syntax_option_type __a, syntax_option_type __b)
1417:   {
1417:     return (syntax_option_type)(static_cast<unsigned int>(__a)
1417:     & static_cast<unsigned int>(__b));
1417:   }
1417: 
1417:   constexpr inline syntax_option_type
1417:   operator|(syntax_option_type __a, syntax_option_type __b)
1417:   {
1417:     return (syntax_option_type)(static_cast<unsigned int>(__a)
1417:     | static_cast<unsigned int>(__b));
1417:   }
1417: 
1417:   constexpr inline syntax_option_type
1417:   operator^(syntax_option_type __a, syntax_option_type __b)
1417:   {
1417:     return (syntax_option_type)(static_cast<unsigned int>(__a)
1417:     ^ static_cast<unsigned int>(__b));
1417:   }
1417: 
1417:   constexpr inline syntax_option_type
1417:   operator~(syntax_option_type __a)
1417:   { return (syntax_option_type)(~static_cast<unsigned int>(__a)); }
1417: 
1417:   constexpr
1417:   inline syntax_option_type&
1417:   operator&=(syntax_option_type& __a, syntax_option_type __b)
1417:   { return __a = __a & __b; }
1417: 
1417:   constexpr
1417:   inline syntax_option_type&
1417:   operator|=(syntax_option_type& __a, syntax_option_type __b)
1417:   { return __a = __a | __b; }
1417: 
1417:   constexpr
1417:   inline syntax_option_type&
1417:   operator^=(syntax_option_type& __a, syntax_option_type __b)
1417:   { return __a = __a ^ __b; }
1417: # 246 "/usr/include/c++/12/bits/regex_constants.h" 3
1417:   enum match_flag_type : unsigned int
1417:   {
1417:     _S_default,
1417:     _S_not_bol = 1 << 0,
1417:     _S_not_eol = 1 << 1,
1417:     _S_not_bow = 1 << 2,
1417:     _S_not_eow = 1 << 3,
1417:     _S_any = 1 << 4,
1417:     _S_not_null = 1 << 5,
1417:     _S_continuous = 1 << 6,
1417:     _S_prev_avail = 1 << 7,
1417:     _S_sed = 1 << 8,
1417:     _S_no_copy = 1 << 9,
1417:     _S_first_only = 1 << 10,
1417:     _S_match_flag_last = 1 << 11
1417:   };
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_default = _S_default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_not_bol = _S_not_bol;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_not_eol = _S_not_eol;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_not_bow = _S_not_bow;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_not_eow = _S_not_eow;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_any = _S_any;
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_not_null = _S_not_null;
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_continuous = _S_continuous;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type match_prev_avail = _S_prev_avail;
1417: # 344 "/usr/include/c++/12/bits/regex_constants.h" 3
1417:   inline constexpr match_flag_type format_default = _S_default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type format_sed = _S_sed;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type format_no_copy = _S_no_copy;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline constexpr match_flag_type format_first_only = _S_first_only;
1417: 
1417:   constexpr inline match_flag_type
1417:   operator&(match_flag_type __a, match_flag_type __b)
1417:   {
1417:     return (match_flag_type)(static_cast<unsigned int>(__a)
1417:     & static_cast<unsigned int>(__b));
1417:   }
1417: 
1417:   constexpr inline match_flag_type
1417:   operator|(match_flag_type __a, match_flag_type __b)
1417:   {
1417:     return (match_flag_type)(static_cast<unsigned int>(__a)
1417:     | static_cast<unsigned int>(__b));
1417:   }
1417: 
1417:   constexpr inline match_flag_type
1417:   operator^(match_flag_type __a, match_flag_type __b)
1417:   {
1417:     return (match_flag_type)(static_cast<unsigned int>(__a)
1417:     ^ stat;
1434:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1434: 
1434:    auto __n_elt = __src.size();
1434:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1434:      {
1434:        auto __pos = __i++;
1434:        const key_type& __k = _ExtractKey{}(*__pos);
1434:        __hash_code __code
1434:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1434:        size_type __bkt = _M_bucket_index(__code);
1434:        if (_M_find_node(__bkt, __k, __code) == nullptr)
1434:   {
1434:     auto __nh = __src.extract(__pos);
1434:     _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt);
1434:     __nh._M_ptr = nullptr;
1434:     __n_elt = 1;
1434:   }
1434:        else if (__n_elt != 1)
1434:   --__n_elt;
1434:      }
1434:  }
1434: 
1434: 
1434:       template<typename _Compatible_Hashtable>
1434:  void
1434:  _M_merge_multi(_Compatible_Hashtable& __src)
1434:  {
1434:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1434:        node_type>, "Node types are compatible");
1434:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1434: 
1434:    __node_ptr __hint = nullptr;
1434:    this->reserve(size() + __src.size());
1434:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1434:      {
1434:        auto __pos = __i++;
1434:        __hash_code __code
1434:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1434:        auto __nh = __src.extract(__pos);
1434:        __hint = _M_insert_multi_node(__hint, __code, __nh._M_ptr)._M_cur;
1434:        __nh._M_ptr = nullptr;
1434:      }
1434:  }
1434: 
1434: 
1434:     private:
1434: 
1434:       void _M_rehash_aux(size_type __bkt_count, true_type __uks);
1434: 
1434: 
1434:       void _M_rehash_aux(size_type __bkt_count, false_type __uks);
1434: 
1434: 
1434: 
1434:       void _M_rehash(size_type __bkt_count, const __rehash_state& __state);
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_bucket_begin(size_type __bkt) const
1434:     -> __node_ptr
1434:     {
1434:       __node_base_ptr __n = _M_buckets[__bkt];
1434:       return __n ? static_cast<__node_ptr>(__n->_M_nxt) : nullptr;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _Hashtable(size_type __bkt_count_hint,
1434:         const _Hash& __h, const _Equal& __eq, const allocator_type& __a)
1434:     : _Hashtable(__h, __eq, __a)
1434:     {
1434:       auto __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count_hint);
1434:       if (__bkt_count > _M_bucket_count)
1434:  {
1434:    _M_buckets = _M_allocate_buckets(__bkt_count);
1434:    _M_bucket_count = __bkt_count;
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _InputIterator>
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _Hashtable(_InputIterator __f, _InputIterator __l,
1434:    size_type __bkt_count_hint,
1434:    const _Hash& __h, const _Equal& __eq,
1434:    const allocator_type& _ble_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     nexttoward(_Tp __x, long double __y)
1412:     { return __builtin_nexttoward(__x, __y); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   remainder(float __x, float __y)
1412:   { return __builtin_remainderf(__x, __y); }
1412: 
1412:   constexpr long double
1412:   remainder(long double __x, long double __y)
1412:   { return __builtin_remainderl(__x, __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     remainder(_Tp __x, _Up __y)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return remainder(__type(__x), __type(__y));
1412:     }
1412: 
1412: 
1412: 
1412:   inline float
1412:   remquo(float __x, float __y, int* __pquo)
1412:   { return __builtin_remquof(__x, __y, __pquo); }
1412: 
1412:   inline long double
1412:   remquo(long double __x, long double __y, int* __pquo)
1412:   { return __builtin_remquol(__x, __y, __pquo); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Up>
1412:     inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1412:     remquo(_Tp __x, _Up __y, int* __pquo)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1412:       return remquo(__type(__x), __type(__y), __pquo);
1412:     }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   rint(float __x)
1412:   { return __builtin_rintf(__x); }
1412: 
1412:   constexpr long double
1412:   rint(long double __x)
1412:   { return __builtin_rintl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     rint(_Tp __x)
1412:     { return __builtin_rint(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   round(float __x)
1412:   { return __builtin_roundf(__x); }
1412: 
1412:   constexpr long double
1412:   round(long double __x)
1412:   { return __builtin_roundl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     round(_Tp __x)
1412:     { return __builtin_round(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   scalbln(float __x, long __ex)
1412:   { return __builtin_scalblnf(__x, __ex); }
1412: 
1412:   constexpr long double
1412:   scalbln(long double __x, long __ex)
1412:   { return __builtin_scalblnl(__x, __ex); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     scalbln(_Tp __x, long __ex)
1412:     { return __builtin_scalbln(__x, __ex); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   scalbn(float __x, int __ex)
1412:   { return __builtin_scalbnf(__x, __ex); }
1412: 
1412:   constexpr long double
1412:   scalbn(long double __x, int __ex)
1412:   { return __builtin_scalbnl(__x, __ex); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     scalbn(_Tp __x, int __ex)
1412:     { return __builtin_scalbn(__x, __ex); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   tgamma(float __x)
1412:   { return __builtin_tgammaf(__x); }
1412: 
1412:   constexpr long double
1412:   tgamma(long double __x)
1412:   { return __builtin_tgammal(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     tgamma(_Tp __x)
1412:     { return __builtin_tgamma(__x); }
1412: 
1412: 
1412: 
1412:   constexpr float
1412:   trunc(float __x)
1412_a, true_type )
1434:       : _Hashtable(__bkt_count_hint, __h, __eq, __a)
1434:       {
1434:  for (; __f != __l; ++__f)
1434:    this->insert(*__f);
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _InputIterator>
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _Hashtable(_InputIterator __f, _InputIterator __l,
1434:    size_type __bkt_count_hint,
1434:    const _Hash& __h, const _Equal& __eq,
1434:    const allocator_type& __a, false_type )
1434:       : _Hashtable(__h, __eq, __a)
1434:       {
1434:  auto __nb_elems = __detail::__distance_fw(__f, __l);
1434:  auto __bkt_count =
1434:    _M_rehash_policy._M_next_bkt(
1434:      std::max(_M_rehash_policy._M_bkt_for_elements(__nb_elems),
1434:        __bkt_count_hint));
1434: 
1434:  if (__bkt_count > _M_bucket_count)
1434:    {
1434:      _M_buckets = _M_allocate_buckets(__bkt_count);
1434:      _M_bucket_count = __bkt_count;
1434:    }
1434: 
1434:  for (; __f != __l; ++__f)
1434:    this->insert(*__f);
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     operator=(const _Hashtable& __ht)
1434:     -> _Hashtable&
1434:     {
1434:       if (&__ht == this)
1434:  return *this;
1434: 
1434:       if (__node_alloc_traits::_S_propagate_on_copy_assign())
1434:  {
1434:    auto& __this_alloc = this->_M_node_allocator();
1434:    auto& __that_alloc = __ht._M_node_allocator();
1434:    if (!__node_alloc_traits::_S_always_equal()
1434:        && __this_alloc != __that_alloc)
1434:      {
1434: 
1434:        this->_M_deallocate_nodes(_M_begin());
1434:        _M_before_begin._M_nxt = nullptr;
1434:        _M_deallocate_buckets();
1434:        _M_buckets = nullptr;
1434:        std::__alloc_on_copy(__this_alloc, __that_alloc);
1434:        __hashtable_base::operator=(__ht);
1434:        _M_bucket_count = __ht._M_bucket_count;
1434:        _M_element_count = __ht._M_element_count;
1434:        _M_rehash_policy = __ht._M_rehash_policy;
1434:        __alloc_node_gen_t __alloc_node_gen(*this);
1434:        try
1434:   {
1434:     _M_assign(__ht, __alloc_node_gen);
1434:   }
1434:        catch(...)
1434:   {
1434: 
1434: 
1434:     _M_reset();
1434:     throw;
1434:   }
1434:        return *this;
1434:      }
1434:    std::__alloc_on_copy(__this_alloc, __that_alloc);
1434:  }
1434: 
1434: 
1434:       _M_assign_elements(__ht);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _Ht>
1434:       void
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _M_assign_elements(_Ht&& __ht)
1434:       {
1434:  __buckets_ptr __former_buckets = nullptr;
1434:  std::size_t __former_bucket_count = _M_bucket_count;
1434:  const __rehash_state& __former_state = _M_rehash_policy._M_state();
1434: 
1434:  if (_M_bucket_count != __ht._M_bucket_count)
1434:    {
1434:      __former_buckets = _M_buckets;
1434:      _M_buckets = _M_allocate_buckets(__ht._M_bucket_count);
1434:      _M_bucket_count = __ht._M_bucket_count;
1434:    }
1434:  else
1434:    __builtin_memset(_M_buckets, 0,
1434:       _M_bucket_count * sizeof(__node_base_ptr));
1434: 
1434:  try
1434:    {
1434:      __hashtable_base::operic_cast<unsigned int>(__b));
1417:   }
1417: 
1417:   constexpr inline match_flag_type
1417:   operator~(match_flag_type __a)
1417:   { return (match_flag_type)(~static_cast<unsigned int>(__a)); }
1417: 
1417:   constexpr
1417:   inline match_flag_type&
1417:   operator&=(match_flag_type& __a, match_flag_type __b)
1417:   { return __a = __a & __b; }
1417: 
1417:   constexpr
1417:   inline match_flag_type&
1417:   operator|=(match_flag_type& __a, match_flag_type __b)
1417:   { return __a = __a | __b; }
1417: 
1417:   constexpr
1417:   inline match_flag_type&
1417:   operator^=(match_flag_type& __a, match_flag_type __b)
1417:   { return __a = __a ^ __b; }
1417: 
1417: 
1417: }
1417: 
1417: 
1417: 
1417: }
1417: # 62 "/usr/include/c++/12/regex" 2 3
1417: # 1 "/usr/include/c++/12/bits/regex_error.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/regex_error.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace regex_constants
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   enum error_type
1417:     {
1417:       _S_error_collate,
1417:       _S_error_ctype,
1417:       _S_error_escape,
1417:       _S_error_backref,
1417:       _S_error_brack,
1417:       _S_error_paren,
1417:       _S_error_brace,
1417:       _S_error_badbrace,
1417:       _S_error_range,
1417:       _S_error_space,
1417:       _S_error_badrepeat,
1417:       _S_error_complexity,
1417:       _S_error_stack,
1417:       _S_null,
1417:       _S_grammar
1417:     };
1417: 
1417: 
1417:   constexpr error_type error_collate(_S_error_collate);
1417: 
1417: 
1417:   constexpr error_type error_ctype(_S_error_ctype);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr error_type error_escape(_S_error_escape);
1417: 
1417: 
1417:   constexpr error_type error_backref(_S_error_backref);
1417: 
1417: 
1417:   constexpr error_type error_brack(_S_error_brack);
1417: 
1417: 
1417:   constexpr error_type error_paren(_S_error_paren);
1417: 
1417: 
1417:   constexpr error_type error_brace(_S_error_brace);
1417: 
1417: 
1417:   constexpr error_type error_badbrace(_S_error_badbrace);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr error_type error_range(_S_error_range);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr error_type error_space(_S_error_space);
1417: 
1417: 
1417: 
1417: 
1417:   constexpr error_type error_badrepeat(_S_error_badrepeat);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr error_type error_complexity(_S_error_complexity);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr error_type error_stack(_S_error_stack);
1417: 
1417: 
1417: }
1417: # 134 "/usr/include/c++/12/bits/regex_error.h" 3
1417:   class regex_error : public std::runtime_error
1417:   {
1417:     using error_type = regex_constants::error_type;
1417: 
1417:     error_type _M_code;
1417: 
1417:   public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     explicit
1417:     regex_error(error_type __ecode);
1417: 
1417:     virtual ~regex_error() throw();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     regex_constants::error_type
1417:     code() const noexcept
1417:     { return _M_code; }
1417: 
1417:   private:
1417:     regex_error(error_type __ecode, const char* __what)
1417:     : std::runtime_error(__what), _M_code(__ecode)
1417:     { }
1417: 
1417:     [[__noreturn__]]
1417:     friend void
1417:     __throw_regex_error(error_type __ecode __attribute__((__unused__)),
1417:    const char* __what __attribute__((__unused__)))
1417:     { (throw (regex_error(__ecode, __what))); }
1417:   };
1417: 
1417: 
1417: 
1417:   [[__noreturn__]]
1417:   void
1417:   __throw_regex_error(regex_constants::error_type __ecode);
1417: 
1417:   [[__noreturn__]]
1417:   inline void
1417:   __throw_regex_error(regex_constants::error_type __ecode, const char* __what);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 63 "/usr/include/c++/12/regex" 2 3
1417: # 1 "/usr/include/c++/12/bits/regex_automaton.h" 1 3
1417: # 36 "/usr/include/c++/12/bits/regex_automaton.h" 3
1417: namespace std __attribute__ ((__ator=(std::forward<_Ht>(__ht));
1434:      _M_element_count = __ht._M_element_count;
1434:      _M_rehash_policy = __ht._M_rehash_policy;
1434:      __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1434:      _M_before_begin._M_nxt = nullptr;
1434:      _M_assign(std::forward<_Ht>(__ht), __roan);
1434:      if (__former_buckets)
1434:        _M_deallocate_buckets(__former_buckets, __former_bucket_count);
1434:    }
1434:  catch(...)
1434:    {
1434:      if (__former_buckets)
1434:        {
1434: 
1434:   _M_deallocate_buckets();
1434:   _M_rehash_policy._M_reset(__former_state);
1434:   _M_buckets = __former_buckets;
1434:   _M_bucket_count = __former_bucket_count;
1434:        }
1434:      __builtin_memset(_M_buckets, 0,
1434:         _M_bucket_count * sizeof(__node_base_ptr));
1434:      throw;
1434:    }
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _Ht, typename _NodeGenerator>
1434:       void
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _M_assign(_Ht&& __ht, const _NodeGenerator& __node_gen)
1434:       {
1434:  __buckets_ptr __buckets = nullptr;
1434:  if (!_M_buckets)
1434:    _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count);
1434: 
1434:  try
1434:    {
1434:      if (!__ht._M_before_begin._M_nxt)
1434:        return;
1434: 
1434: 
1434: 
1434:      __node_ptr __ht_n = __ht._M_begin();
1434:      __node_ptr __this_n
1434:        = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1434:      this->_M_copy_code(*__this_n, *__ht_n);
1434:      _M_update_bbegin(__this_n);
1434: 
1434: 
1434:      __node_ptr __prev_n = __this_n;
1434:      for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next())
1434:        {
1434:   __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1434:   __prev_n->_M_nxt = __this_n;
1434:   this->_M_copy_code(*__this_n, *__ht_n);
1434:   size_type __bkt = _M_bucket_index(*__this_n);
1434:   if (!_M_buckets[__bkt])
1434:     _M_buckets[__bkt] = __prev_n;
1434:   __prev_n = __this_n;
1434:        }
1434:    }
1434:  catch(...)
1434:    {
1434:      clear();
1434:      if (__buckets)
1434:        _M_deallocate_buckets();
1434:      throw;
1434:    }
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_reset() noexcept
1434:     {
1434:       _M_rehash_policy._M_reset();
1434:       _M_bucket_count = 1;
1434:       _M_single_bucket = nullptr;
1434:       _M_buckets = &_M_single_bucket;
1434:       _M_before_begin._M_nxt = nullptr;
1434:       _M_element_count = 0;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_move_assign(_Hashtable&& __ht, true_type)
1434:     {
1434:       if (__builtin_expect(std::__addressof(__ht) == this, false))
1434:  return;
1434: 
1434:       this->_M_deallocate_nodes(_M_begin());
1434:       _M_deallocate_buckets();
1434:       __hashtable_base::operator=(std::move(__ht));
1434:       _M_rehash_policy = __ht._M_rehash_policy;
1434:       if (!__ht._M_uses_single_bucket())
1434:  _M_buckets = __ht._M_buckets;
1434:       else
1434:  {
1434:    _M_buckets = &_M_single_bucket;
1434:    _M_single_buck:   { return __builtin_truncf(__x); }
1412: 
1412:   constexpr long double
1412:   trunc(long double __x)
1412:   { return __builtin_truncl(__x); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1412:                                               double>::__type
1412:     trunc(_Tp __x)
1412:     { return __builtin_trunc(__x); }
1412: # 1852 "/usr/include/c++/12/cmath" 3
1412:   template<typename _Tp>
1412:     inline _Tp
1412:     __hypot3(_Tp __x, _Tp __y, _Tp __z)
1412:     {
1412:       __x = std::abs(__x);
1412:       __y = std::abs(__y);
1412:       __z = std::abs(__z);
1412:       if (_Tp __a = __x < __y ? __y < __z ? __z : __y : __x < __z ? __z : __x)
1412:  return __a * std::sqrt((__x / __a) * (__x / __a)
1412:           + (__y / __a) * (__y / __a)
1412:           + (__z / __a) * (__z / __a));
1412:       else
1412:  return {};
1412:     }
1412: 
1412:   inline float
1412:   hypot(float __x, float __y, float __z)
1412:   { return std::__hypot3<float>(__x, __y, __z); }
1412: 
1412:   inline double
1412:   hypot(double __x, double __y, double __z)
1412:   { return std::__hypot3<double>(__x, __y, __z); }
1412: 
1412:   inline long double
1412:   hypot(long double __x, long double __y, long double __z)
1412:   { return std::__hypot3<long double>(__x, __y, __z); }
1412: 
1412:   template<typename _Tp, typename _Up, typename _Vp>
1412:     __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>
1412:     hypot(_Tp __x, _Up __y, _Vp __z)
1412:     {
1412:       using __type = __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>;
1412:       return std::__hypot3<__type>(__x, __y, __z);
1412:     }
1412: # 1931 "/usr/include/c++/12/cmath" 3
1412: 
1412: }
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/specfun.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/specfun.h" 3
1412: #pragma GCC visibility push(default)
1412: # 49 "/usr/include/c++/12/bits/specfun.h" 3
1412: # 1 "/usr/include/c++/12/tr1/gamma.tcc" 1 3
1412: # 49 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412: # 1 "/usr/include/c++/12/tr1/special_function_util.h" 1 3
1412: # 39 "/usr/include/c++/12/tr1/special_function_util.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 50 "/usr/include/c++/12/tr1/special_function_util.h" 3
1412:   namespace __detail
1412:   {
1412: 
1412: 
1412: 
1412:     template<typename _Tp>
1412:     struct __floating_point_constant
1412:     {
1412:       static const _Tp __value;
1412:     };
1412: 
1412: 
1412: 
1412:     template<typename _Tp>
1412:       struct __numeric_constants
1412:       {
1412: 
1412:         static _Tp __pi() throw()
1412:         { return static_cast<_Tp>(3.1415926535897932384626433832795029L); }
1412: 
1412:         static _Tp __pi_2() throw()
1412:         { return static_cast<_Tp>(1.5707963267948966192313216916397514L); }
1412: 
1412:         static _Tp __pi_3() throw()
1412:         { return static_cast<_Tp>(1.0471975511965977461542144610931676L); }
1412: 
1412:         static _Tp __pi_4() throw()
1412:         { return static_cast<_Tp>(0.7853981633974483096156608458198757L); }
1412: 
1412:         static _Tp __1_pi() throw()
1412:         { return static_cast<_Tp>(0.3183098861837906715377675267450287L); }
1412: 
1412:         static _Tp __2_sqrtpi() throw()
1412:         { return static_cast<_Tp>(1.1283791670955125738961589031215452L); }
1412: 
1412:         static _Tp __sqrt2() throw()
1412:         { return static_cast<_Tp>(1.4142135623730950488016887242096981L); }
1412: 
1412:         static _Tp __sqrt3() throw()
1412:         { return static_cast<_Tp>(1.7320508075688772935274463415058723L); }
1412: 
1412:         static _Tp __sqrtpio2() throw()
1412:         { return static_cast<_Tp>(1.2533141373155002512078826424055226L); }
1412: 
1412:         static _Tp __sqrt1_2() throw()
1412:         { return static_cast<_Tp>(0.7071067811865475244008443621048490L); }
1412: 
1412:         static _Tp __lnpi() throw()
1412:         { return static_cast<_Tp>(1.1447298858494001741434273513530587L); }
1412: 
1412:         statet = __ht._M_single_bucket;
1434:  }
1434: 
1434:       _M_bucket_count = __ht._M_bucket_count;
1434:       _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt;
1434:       _M_element_count = __ht._M_element_count;
1434:       std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator());
1434: 
1434: 
1434:       _M_update_bbegin();
1434:       __ht._M_reset();
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_move_assign(_Hashtable&& __ht, false_type)
1434:     {
1434:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1434:  _M_move_assign(std::move(__ht), true_type{});
1434:       else
1434:  {
1434: 
1434:    _M_assign_elements(std::move(__ht));
1434:    __ht.clear();
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _Hashtable(const _Hashtable& __ht)
1434:     : __hashtable_base(__ht),
1434:       __map_base(__ht),
1434:       __rehash_base(__ht),
1434:       __hashtable_alloc(
1434:  __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())),
1434:       __enable_default_ctor(__ht),
1434:       _M_buckets(nullptr),
1434:       _M_bucket_count(__ht._M_bucket_count),
1434:       _M_element_count(__ht._M_element_count),
1434:       _M_rehash_policy(__ht._M_rehash_policy)
1434:     {
1434:       __alloc_node_gen_t __alloc_node_gen(*this);
1434:       _M_assign(__ht, __alloc_node_gen);
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1434:         true_type )
1434:     noexcept(_S_nothrow_move())
1434:     : __hashtable_base(__ht),
1434:       __map_base(__ht),
1434:       __rehash_base(__ht),
1434:       __hashtable_alloc(std::move(__a)),
1434:       __enable_default_ctor(__ht),
1434:       _M_buckets(__ht._M_buckets),
1434:       _M_bucket_count(__ht._M_bucket_count),
1434:       _M_before_begin(__ht._M_before_begin._M_nxt),
1434:       _M_element_count(__ht._M_element_count),
1434:       _M_rehash_policy(__ht._M_rehash_policy)
1434:     {
1434: 
1434:       if (__ht._M_uses_single_bucket())
1434:  {
1434:    _M_buckets = &_M_single_bucket;
1434:    _M_single_bucket = __ht._M_single_bucket;
1434:  }
1434: 
1434: 
1434:       _M_update_bbegin();
1434: 
1434:       __ht._M_reset();
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _Hashtable(const _Hashtable& __ht, const allocator_type& __a)
1434:     : __hashtable_base(__ht),
1434:       __map_base(__ht),
1434:       __rehash_base(__ht),
1434:       __hashtable_alloc(__node_alloc_type(__a)),
1434:       __enable_default_ctor(__ht),
1434:       _M_buckets(),
1434:       _M_bucket_count(__ht._M_bucket_count),
1434:       _M_element_count(__ht._M_element_count),
1434:       _M_rehash_policy(__ht._M_rehash_policvisibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   typedef long _StateIdT;
1417:   static const _StateIdT _S_invalid_state_id = -1;
1417: 
1417:   template<typename _CharT>
1417:     using _Matcher = std::function<bool (_CharT)>;
1417: 
1417: 
1417: 
1417:   enum _Opcode : int
1417:   {
1417:       _S_opcode_unknown,
1417:       _S_opcode_alternative,
1417:       _S_opcode_repeat,
1417:       _S_opcode_backref,
1417:       _S_opcode_line_begin_assertion,
1417:       _S_opcode_line_end_assertion,
1417:       _S_opcode_word_boundary,
1417:       _S_opcode_subexpr_lookahead,
1417:       _S_opcode_subexpr_begin,
1417:       _S_opcode_subexpr_end,
1417:       _S_opcode_dummy,
1417:       _S_opcode_match,
1417:       _S_opcode_accept,
1417:   };
1417: 
1417:   struct _State_base
1417:   {
1417:   protected:
1417:     _Opcode _M_opcode;
1417: 
1417:   public:
1417:     _StateIdT _M_next;
1417:     union
1417:     {
1417:       size_t _M_subexpr;
1417:       size_t _M_backref_index;
1417:       struct
1417:       {
1417: 
1417: 
1417:  _StateIdT _M_alt;
1417: 
1417: 
1417:  bool _M_neg;
1417:       };
1417: 
1417:       __gnu_cxx::__aligned_membuf<_Matcher<char>> _M_matcher_storage;
1417:     };
1417: 
1417:   protected:
1417:     explicit _State_base(_Opcode __opcode) noexcept
1417:     : _M_opcode(__opcode), _M_next(_S_invalid_state_id)
1417:     { }
1417: 
1417:   public:
1417:     bool
1417:     _M_has_alt() const noexcept
1417:     {
1417:       return _M_opcode == _S_opcode_alternative
1417:  || _M_opcode == _S_opcode_repeat
1417:  || _M_opcode == _S_opcode_subexpr_lookahead;
1417:     }
1417: # 119 "/usr/include/c++/12/bits/regex_automaton.h" 3
1417:   };
1417: 
1417:   template<typename _Char_type>
1417:     struct _State : _State_base
1417:     {
1417:       typedef _Matcher<_Char_type> _MatcherT;
1417:       static_assert(sizeof(_MatcherT) == sizeof(_Matcher<char>),
1417:       "std::function<bool(T)> has the same size as "
1417:       "std::function<bool(char)>");
1417:       static_assert(alignof(_MatcherT) == alignof(_Matcher<char>),
1417:       "std::function<bool(T)> has the same alignment as "
1417:       "std::function<bool(char)>");
1417: 
1417:       explicit
1417:       _State(_Opcode __opcode) noexcept : _State_base(__opcode)
1417:       {
1417:  if (_M_opcode() == _S_opcode_match)
1417:    new (this->_M_matcher_storage._M_addr()) _MatcherT();
1417:       }
1417: 
1417:       _State(const _State& __rhs) : _State_base(__rhs)
1417:       {
1417:  if (__rhs._M_opcode() == _S_opcode_match)
1417:    new (this->_M_matcher_storage._M_addr())
1417:      _MatcherT(__rhs._M_get_matcher());
1417:       }
1417: 
1417:       _State(_State&& __rhs) noexcept : _State_base(__rhs)
1417:       {
1417:  if (__rhs._M_opcode() == _S_opcode_match)
1417:    new (this->_M_matcher_storage._M_addr())
1417:      _MatcherT(std::move(__rhs._M_get_matcher()));
1417:       }
1417: 
1417:       _State&
1417:       operator=(const _State&) = delete;
1417: 
1417:       ~_State()
1417:       {
1417:  if (_M_opcode() == _S_opcode_match)
1417:    _M_get_matcher().~_MatcherT();
1417:       }
1417: 
1417: 
1417: 
1417:       _Opcode
1417:       _M_opcode() const noexcept
1417:       { return _State_base::_M_opcode; }
1417: 
1417:       bool
1417:       _M_matches(_Char_type __char) const
1417:       { return _M_get_matcher()(__char); }
1417: 
1417:       _MatcherT&
1417:       _M_get_matcher() noexcept
1417:       { return *static_cast<_MatcherT*>(this->_M_matcher_storage._M_addr()); }
1417: 
1417:       const _MatcherT&
1417:       _M_get_matcher() const noexcept
1417:       {
1417:  return *static_cast<const _MatcherT*>(
1417:      this->_M_matcher_storage._M_addr());
1417:       }
1417:     };
1417: 
1417:   struct _NFA_base
1417:   {
1417:     typedef regex_constants::syntax_option_type _FlagT;
1417: 
1417:     explicit
1417:     _NFA_base(_FlagT __f) noexcept
1417:     : _M_flags(__f), _M_start_state(0), _M_subexpr_count(0),
1417:     _M_has_backref(false)
1417:y)
1434:     {
1434:       __alloc_node_gen_t __alloc_node_gen(*this);
1434:       _M_assign(__ht, __alloc_node_gen);
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1434:         false_type )
1434:     : __hashtable_base(__ht),
1434:       __map_base(__ht),
1434:       __rehash_base(__ht),
1434:       __hashtable_alloc(std::move(__a)),
1434:       __enable_default_ctor(__ht),
1434:       _M_buckets(nullptr),
1434:       _M_bucket_count(__ht._M_bucket_count),
1434:       _M_element_count(__ht._M_element_count),
1434:       _M_rehash_policy(__ht._M_rehash_policy)
1434:     {
1434:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1434:  {
1434:    if (__ht._M_uses_single_bucket())
1434:      {
1434:        _M_buckets = &_M_single_bucket;
1434:        _M_single_bucket = __ht._M_single_bucket;
1434:      }
1434:    else
1434:      _M_buckets = __ht._M_buckets;
1434: 
1434: 
1434: 
1434:    _M_update_bbegin(__ht._M_begin());
1434: 
1434:    __ht._M_reset();
1434:  }
1434:       else
1434:  {
1434:    __alloc_node_gen_t __alloc_gen(*this);
1434: 
1434:    using _Fwd_Ht = __conditional_t<
1434:      __move_if_noexcept_cond<value_type>::value,
1434:      const _Hashtable&, _Hashtable&&>;
1434:    _M_assign(std::forward<_Fwd_Ht>(__ht), __alloc_gen);
1434:    __ht.clear();
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     ~_Hashtable() noexcept
1434:     {
1434: 
1434: 
1434: 
1434:       static_assert(noexcept(declval<const __hash_code_base_access&>()
1434:    ._M_bucket_index(declval<const __node_value_type&>(),
1434:       (std::size_t)0)),
1434:       "Cache the hash code or qualify your functors involved"
1434:       " in hash code and bucket index computation with noexcept");
1434: 
1434:       clear();
1434:       _M_deallocate_buckets();
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     swap(_Hashtable& __x)
1434:     noexcept(__and_<__is_nothrow_swappable<_Hash>,
1434:    __is_nothrow_swappable<_Equal>>::value)
1434:     {
1434: 
1434: 
1434: 
1434:       this->_M_swap(__x);
1434: 
1434:       std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator());
1434:       std::swap(_M_rehash_policy, __x._M_rehash_policy);
1434: 
1434: 
1434:       if (this->_M_uses_single_bucket())
1434:  {
1434:    if (!__x._M_uses_single_bucket())
1434:      {
1434:        _M_buckets = __x._M_buckets;
1434:        __x._M_buckets = &__x._M_single_bucket;
1434:      }
1434:  }
1434:       else if (__x._M_uses_single_bucket())
1434:  {
1434:    __x._M_buckets = _M_buckets;
1434:    _M_buckets = &_M_single_bucket;
1434:  }
1434:       else
1434:  std::swap(_M_buckets, __x._M_buckets);
1434: 
1434:       std::swap(_M_bucket_count, __x._M_bucket_count);
1434:       std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_nxt);
1434:       std::swap(_M_element_count, __x._M_element_count);
1434:       std::swap(_M_single_bucket, __x._M_single_bucket);
1434: 
1434: 
1434: 
1434:       _M_update_bbegin();
1434:       __x._M_update_bbegic _Tp __gamma_e() throw()
1412:         { return static_cast<_Tp>(0.5772156649015328606065120900824024L); }
1412: 
1412:         static _Tp __euler() throw()
1412:         { return static_cast<_Tp>(2.7182818284590452353602874713526625L); }
1412:       };
1412: # 114 "/usr/include/c++/12/tr1/special_function_util.h" 3
1412:     template<typename _Tp>
1412:     inline bool __isnan(_Tp __x)
1412:     { return std::isnan(__x); }
1412: # 133 "/usr/include/c++/12/tr1/special_function_util.h" 3
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 50 "/usr/include/c++/12/tr1/gamma.tcc" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 65 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 76 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template <typename _Tp>
1412:     _Tp
1412:     __bernoulli_series(unsigned int __n)
1412:     {
1412: 
1412:       static const _Tp __num[28] = {
1412:         _Tp(1UL), -_Tp(1UL) / _Tp(2UL),
1412:         _Tp(1UL) / _Tp(6UL), _Tp(0UL),
1412:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1412:         _Tp(1UL) / _Tp(42UL), _Tp(0UL),
1412:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1412:         _Tp(5UL) / _Tp(66UL), _Tp(0UL),
1412:         -_Tp(691UL) / _Tp(2730UL), _Tp(0UL),
1412:         _Tp(7UL) / _Tp(6UL), _Tp(0UL),
1412:         -_Tp(3617UL) / _Tp(510UL), _Tp(0UL),
1412:         _Tp(43867UL) / _Tp(798UL), _Tp(0UL),
1412:         -_Tp(174611) / _Tp(330UL), _Tp(0UL),
1412:         _Tp(854513UL) / _Tp(138UL), _Tp(0UL),
1412:         -_Tp(236364091UL) / _Tp(2730UL), _Tp(0UL),
1412:         _Tp(8553103UL) / _Tp(6UL), _Tp(0UL)
1412:       };
1412: 
1412:       if (__n == 0)
1412:         return _Tp(1);
1412: 
1412:       if (__n == 1)
1412:         return -_Tp(1) / _Tp(2);
1412: 
1412: 
1412:       if (__n % 2 == 1)
1412:         return _Tp(0);
1412: 
1412: 
1412:       if (__n < 28)
1412:         return __num[__n];
1412: 
1412: 
1412:       _Tp __fact = _Tp(1);
1412:       if ((__n / 2) % 2 == 0)
1412:         __fact *= _Tp(-1);
1412:       for (unsigned int __k = 1; __k <= __n; ++__k)
1412:         __fact *= __k / (_Tp(2) * __numeric_constants<_Tp>::__pi());
1412:       __fact *= _Tp(2);
1412: 
1412:       _Tp __sum = _Tp(0);
1412:       for (unsigned int __i = 1; __i < 1000; ++__i)
1412:         {
1412:           _Tp __term = std::pow(_Tp(__i), -_Tp(__n));
1412:           if (__term < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:           __sum += __term;
1412:         }
1412: 
1412:       return __fact * __sum;
1412:     }
1412: # 139 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __bernoulli(int __n)
1412:     { return __bernoulli_series<_Tp>(__n); }
1412: # 153 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __log_gamma_bernoulli(_Tp __x)
1412:     {
1412:       _Tp __lg = (__x - _Tp(0.5L)) * std::log(__x) - __x
1412:                + _Tp(0.5L) * std::log(_Tp(2)
1412:                * __numeric_constants<_Tp>::__pi());
1412: 
1412:       const _Tp __xx = __x * __x;
1412:       _Tp __help = _Tp(1) / __x;
1412:       for ( unsigned int __i = 1; __i < 20; ++__i )
1412:         {
1412:           const _Tp __2i = _Tp(2 * __i);
1412:           __help /= __2i * (__2i - _Tp(1)) * __xx;
1412:           __lg += __bernoulli<_Tp>(2 * __i) * __help;
1412:         }
1412: 
1412:       return __lg;
1412:     }
1412: # 181 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __log_gamma_lanczos(_Tp __x)
1412:     {
1412:       const _Tp __xm1 = __x - _Tp(1);
1412: 
1412:       static const _Tp __lanczos_cheb_7[9] = {
1412:        _Tp( 0.99999999999980993227684700473478L),
1412:        _Tp( 676.520368121885098567009190444019L),
1412:        _Tp(-1259.13921672240287047156078755283L),
1412:        _Tp( 771.3234287776530788486528258894L),
1412:        _Tp(-176.61502916214059906584551354L),
1412:        _Tp( 12.507343278686904814458936853L),
1412:        _Tp(-0.138in();
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     find(const key_type& __k)
1434:     -> iterator
1434:     {
1434:       if (size() <= __small_size_threshold())
1434:  {
1434:    for (auto __it = begin(); __it != end(); ++__it)
1434:      if (this->_M_key_equals(__k, *__it._M_cur))
1434:        return __it;
1434:    return end();
1434:  }
1434: 
1434:       __hash_code __code = this->_M_hash_code(__k);
1434:       std::size_t __bkt = _M_bucket_index(__code);
1434:       return iterator(_M_find_node(__bkt, __k, __code));
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     find(const key_type& __k) const
1434:     -> const_iterator
1434:     {
1434:       if (size() <= __small_size_threshold())
1434:  {
1434:    for (auto __it = begin(); __it != end(); ++__it)
1434:      if (this->_M_key_equals(__k, *__it._M_cur))
1434:        return __it;
1434:    return end();
1434:  }
1434: 
1434:       __hash_code __code = this->_M_hash_code(__k);
1434:       std::size_t __bkt = _M_bucket_index(__code);
1434:       return const_iterator(_M_find_node(__bkt, __k, __code));
1434:     }
1434: # 1715 "/usr/include/c++/12/bits/hashtable.h" 3
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     count(const key_type& __k) const
1434:     -> size_type
1434:     {
1434:       auto __it = find(__k);
1434:       if (!__it._M_cur)
1434:  return 0;
1434: 
1434:       if (__unique_keys::value)
1434:  return 1;
1434: 
1434: 
1434: 
1434: 
1434:       size_type __result = 1;
1434:       for (auto __ref = __it++;
1434:     __it._M_cur && this->_M_node_equals(*__ref._M_cur, *__it._M_cur);
1434:     ++__it)
1434:  ++__result;
1434: 
1434:       return __result;
1434:     }
1434: # 1776 "/usr/include/c++/12/bits/hashtable.h" 3
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     equal_range(const key_type& __k)
1434:     -> pair<iterator, iterator>
1434:     {
1434:       auto __ite = find(__k);
1434:       if (!__ite._M_cur)
1434:  return { __ite, __ite };
1434: 
1434:       auto __beg = __ite++;
1434:       if (__unique_keys::value)
1434:  return { __beg, __ite };
1434: 
1434: 
1434: 
1434: 
1434:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1434:  ++__ite;
1434: 
1434:       return { __beg, __ite };
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     equal_range(const key_type& __k) const
1434:     -> p     { }
1417: 
1417:     _NFA_base(_NFA_base&&) = default;
1417: 
1417:   protected:
1417:     ~_NFA_base() = default;
1417: 
1417:   public:
1417:     _FlagT
1417:     _M_options() const noexcept
1417:     { return _M_flags; }
1417: 
1417:     _StateIdT
1417:     _M_start() const noexcept
1417:     { return _M_start_state; }
1417: 
1417:     size_t
1417:     _M_sub_count() const noexcept
1417:     { return _M_subexpr_count; }
1417: 
1417:     std::vector<size_t> _M_paren_stack;
1417:     _FlagT _M_flags;
1417:     _StateIdT _M_start_state;
1417:     size_t _M_subexpr_count;
1417:     bool _M_has_backref;
1417:   };
1417: 
1417:   template<typename _TraitsT>
1417:     struct _NFA
1417:     : _NFA_base, std::vector<_State<typename _TraitsT::char_type>>
1417:     {
1417:       typedef typename _TraitsT::char_type _Char_type;
1417:       typedef _State<_Char_type> _StateT;
1417:       typedef _Matcher<_Char_type> _MatcherT;
1417: 
1417:       _NFA(const typename _TraitsT::locale_type& __loc, _FlagT __flags)
1417:       : _NFA_base(__flags)
1417:       { _M_traits.imbue(__loc); }
1417: 
1417: 
1417:       _NFA(const _NFA&) = delete;
1417:       _NFA(_NFA&&) = default;
1417: 
1417:       _StateIdT
1417:       _M_insert_accept()
1417:       {
1417:  auto __ret = _M_insert_state(_StateT(_S_opcode_accept));
1417:  return __ret;
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_alt(_StateIdT __next, _StateIdT __alt,
1417:       bool __neg __attribute__((__unused__)))
1417:       {
1417:  _StateT __tmp(_S_opcode_alternative);
1417: 
1417: 
1417:  __tmp._M_next = __next;
1417:  __tmp._M_alt = __alt;
1417:  return _M_insert_state(std::move(__tmp));
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_repeat(_StateIdT __next, _StateIdT __alt, bool __neg)
1417:       {
1417:  _StateT __tmp(_S_opcode_repeat);
1417: 
1417: 
1417:  __tmp._M_next = __next;
1417:  __tmp._M_alt = __alt;
1417:  __tmp._M_neg = __neg;
1417:  return _M_insert_state(std::move(__tmp));
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_matcher(_MatcherT __m)
1417:       {
1417:  _StateT __tmp(_S_opcode_match);
1417:  __tmp._M_get_matcher() = std::move(__m);
1417:  return _M_insert_state(std::move(__tmp));
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_subexpr_begin()
1417:       {
1417:  auto __id = this->_M_subexpr_count++;
1417:  this->_M_paren_stack.push_back(__id);
1417:  _StateT __tmp(_S_opcode_subexpr_begin);
1417:  __tmp._M_subexpr = __id;
1417:  return _M_insert_state(std::move(__tmp));
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_subexpr_end()
1417:       {
1417:  _StateT __tmp(_S_opcode_subexpr_end);
1417:  __tmp._M_subexpr = this->_M_paren_stack.back();
1417:  this->_M_paren_stack.pop_back();
1417:  return _M_insert_state(std::move(__tmp));
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_backref(size_t __index);
1417: 
1417:       _StateIdT
1417:       _M_insert_line_begin()
1417:       { return _M_insert_state(_StateT(_S_opcode_line_begin_assertion)); }
1417: 
1417:       _StateIdT
1417:       _M_insert_line_end()
1417:       { return _M_insert_state(_StateT(_S_opcode_line_end_assertion)); }
1417: 
1417:       _StateIdT
1417:       _M_insert_word_bound(bool __neg)
1417:       {
1417:  _StateT __tmp(_S_opcode_word_boundary);
1417:  __tmp._M_neg = __neg;
1417:  return _M_insert_state(std::move(__tmp));
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_lookahead(_StateIdT __alt, bool __neg)
1417:       {
1417:  _StateT __tmp(_S_opcode_subexpr_lookahead);
1417:  __tmp._M_alt = __alt;
1417:  __tmp._M_neg = __neg;
1417:  return _M_insert_state(std::move(__tmp));
1417:       }
1417: 
1417:       _StateIdT
1417:       _M_insert_dummy()
1417:       { return _M_insert_state(_StateT(_S_opcode_dummy)); }
1417: 
1417:       _StateIdT
1417:       _M_insert_state(_StateT __s)
1417:       {
1417:  this->push_back(std::move(__s));
1417:  if (this->size() > 100000)
1417:    __throw_regex_error(
1417:      regex_constants::error_space,
1417:      "Number of NFair<const_iterator, const_iterator>
1434:     {
1434:       auto __ite = find(__k);
1434:       if (!__ite._M_cur)
1434:  return { __ite, __ite };
1434: 
1434:       auto __beg = __ite++;
1434:       if (__unique_keys::value)
1434:  return { __beg, __ite };
1434: 
1434: 
1434: 
1434: 
1434:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1434:  ++__ite;
1434: 
1434:       return { __beg, __ite };
1434:     }
1434: # 1890 "/usr/include/c++/12/bits/hashtable.h" 3
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_find_before_node(const key_type& __k)
1434:     -> __node_base_ptr
1434:     {
1434:       __node_base_ptr __prev_p = &_M_before_begin;
1434:       if (!__prev_p->_M_nxt)
1434:  return nullptr;
1434: 
1434:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);
1434:     __p != nullptr;
1434:     __p = __p->_M_next())
1434:  {
1434:    if (this->_M_key_equals(__k, *__p))
1434:      return __prev_p;
1434: 
1434:    __prev_p = __p;
1434:  }
1434: 
1434:       return nullptr;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_find_before_node(size_type __bkt, const key_type& __k,
1434:    __hash_code __code) const
1434:     -> __node_base_ptr
1434:     {
1434:       __node_base_ptr __prev_p = _M_buckets[__bkt];
1434:       if (!__prev_p)
1434:  return nullptr;
1434: 
1434:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1434:     __p = __p->_M_next())
1434:  {
1434:    if (this->_M_equals(__k, __code, *__p))
1434:      return __prev_p;
1434: 
1434:    if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
1434:      break;
1434:    __prev_p = __p;
1434:  }
1434: 
1434:       return nullptr;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _Kt>
1434:       auto
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _M_find_before_node_tr(size_type __bkt, const _Kt& __k,
1434:         __hash_code __code) const
1434:       -> __node_base_ptr
1434:       {
1434:  __node_base_ptr __prev_p = _M_buckets[__bkt];
1434:  if (!__prev_p)
1434:    return nullptr;
1434: 
1434:  for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1434:       __p = __p->_M_next())
1434:    {
1434:      if (this->_M_equals_tr(__k, __code, *__p))
1434:        return __prev_p;
1434: 
1434:      if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
1434:        break;
1434:      __prev_p = __p;
1434:    }
1434: 
1434:  return nullptr;
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_insert_bucket_begin(size_type __bkt, __node_ptr __node)
1434:     {
1434:       if (_M_buckets[__bkt])
1434:  {
1434: 
1434: 
1434:    __node->_M_nxt = _M_buckets[__bkt]->_M_nxt;
1434:    _M_buckets[__bkt57109526572011689554707L),
1412:        _Tp( 9.984369578019570859563e-6L),
1412:        _Tp( 1.50563273514931155834e-7L)
1412:       };
1412: 
1412:       static const _Tp __LOGROOT2PI
1412:           = _Tp(0.9189385332046727417803297364056176L);
1412: 
1412:       _Tp __sum = __lanczos_cheb_7[0];
1412:       for(unsigned int __k = 1; __k < 9; ++__k)
1412:         __sum += __lanczos_cheb_7[__k] / (__xm1 + __k);
1412: 
1412:       const _Tp __term1 = (__xm1 + _Tp(0.5L))
1412:                         * std::log((__xm1 + _Tp(7.5L))
1412:                        / __numeric_constants<_Tp>::__euler());
1412:       const _Tp __term2 = __LOGROOT2PI + std::log(__sum);
1412:       const _Tp __result = __term1 + (__term2 - _Tp(7));
1412: 
1412:       return __result;
1412:     }
1412: # 225 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __log_gamma(_Tp __x)
1412:     {
1412:       if (__x > _Tp(0.5L))
1412:         return __log_gamma_lanczos(__x);
1412:       else
1412:         {
1412:           const _Tp __sin_fact
1412:                  = std::abs(std::sin(__numeric_constants<_Tp>::__pi() * __x));
1412:           if (__sin_fact == _Tp(0))
1412:             std::__throw_domain_error(("Argument is nonpositive integer " "in __log_gamma")
1412:                                                            );
1412:           return __numeric_constants<_Tp>::__lnpi()
1412:                      - std::log(__sin_fact)
1412:                      - __log_gamma_lanczos(_Tp(1) - __x);
1412:         }
1412:     }
1412: # 252 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __log_gamma_sign(_Tp __x)
1412:     {
1412:       if (__x > _Tp(0))
1412:         return _Tp(1);
1412:       else
1412:         {
1412:           const _Tp __sin_fact
1412:                   = std::sin(__numeric_constants<_Tp>::__pi() * __x);
1412:           if (__sin_fact > _Tp(0))
1412:             return (1);
1412:           else if (__sin_fact < _Tp(0))
1412:             return -_Tp(1);
1412:           else
1412:             return _Tp(0);
1412:         }
1412:     }
1412: # 283 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __log_bincoef(unsigned int __n, unsigned int __k)
1412:     {
1412: 
1412:       static const _Tp __max_bincoeff
1412:                       = std::numeric_limits<_Tp>::max_exponent10
1412:                       * std::log(_Tp(10)) - _Tp(1);
1412: 
1412:       _Tp __coeff = ::std::lgamma(_Tp(1 + __n))
1412:                   - ::std::lgamma(_Tp(1 + __k))
1412:                   - ::std::lgamma(_Tp(1 + __n - __k));
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     }
1412: # 314 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __bincoef(unsigned int __n, unsigned int __k)
1412:     {
1412: 
1412:       static const _Tp __max_bincoeff
1412:                       = std::numeric_limits<_Tp>::max_exponent10
1412:                       * std::log(_Tp(10)) - _Tp(1);
1412: 
1412:       const _Tp __log_coeff = __log_bincoef<_Tp>(__n, __k);
1412:       if (__log_coeff > __max_bincoeff)
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else
1412:         return std::exp(__log_coeff);
1412:     }
1412: # 337 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __gamma(_Tp __x)
1412:     { return std::exp(__log_gamma(__x)); }
1412: # 356 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __psi_series(_Tp __x)
1412:     {
1412:       _Tp __sum = -__numeric_constants<_Tp>::__gamma_e() - _Tp(1) / __x;
1412:       const unsigned int __max_iter = 100000;
1412:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1412:         {
1412:           const _Tp __term = __x / (__k * (__k + __x));
1412:           __sum += __term;
1412:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:         }
1412:       return __sum;
1412]->_M_nxt = __node;
1434:  }
1434:       else
1434:  {
1434: 
1434: 
1434: 
1434:    __node->_M_nxt = _M_before_begin._M_nxt;
1434:    _M_before_begin._M_nxt = __node;
1434: 
1434:    if (__node->_M_nxt)
1434: 
1434: 
1434:      _M_buckets[_M_bucket_index(*__node->_M_next())] = __node;
1434: 
1434:    _M_buckets[__bkt] = &_M_before_begin;
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_remove_bucket_begin(size_type __bkt, __node_ptr __next,
1434:       size_type __next_bkt)
1434:     {
1434:       if (!__next || __next_bkt != __bkt)
1434:  {
1434: 
1434: 
1434:    if (__next)
1434:      _M_buckets[__next_bkt] = _M_buckets[__bkt];
1434: 
1434: 
1434:    if (&_M_before_begin == _M_buckets[__bkt])
1434:      _M_before_begin._M_nxt = __next;
1434:    _M_buckets[__bkt] = nullptr;
1434:  }
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_get_previous_node(size_type __bkt, __node_ptr __n)
1434:     -> __node_base_ptr
1434:     {
1434:       __node_base_ptr __prev_n = _M_buckets[__bkt];
1434:       while (__prev_n->_M_nxt != __n)
1434:  __prev_n = __prev_n->_M_nxt;
1434:       return __prev_n;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename... _Args>
1434:       auto
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _M_emplace(true_type , _Args&&... __args)
1434:       -> pair<iterator, bool>
1434:       {
1434: 
1434:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1434:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1434:  if (size() <= __small_size_threshold())
1434:    {
1434:      for (auto __it = begin(); __it != end(); ++__it)
1434:        if (this->_M_key_equals(__k, *__it._M_cur))
1434: 
1434:   return { __it, false };
1434:    }
1434: 
1434:  __hash_code __code = this->_M_hash_code(__k);
1434:  size_type __bkt = _M_bucket_index(__code);
1434:  if (size() > __small_size_threshold())
1434:    if (__node_ptr __p = _M_find_node(__bkt, __k, __code))
1434: 
1434:      return { iterator(__p), false };
1434: 
1434: 
1434:  auto __pos = _M_insert_unique_node(__bkt, __code, __node._M_node);
1434:  __node._M_node = nullptr;
1434:  return { __pos, true };
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename... _Args>
1434:       auto
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _M_emplace(const_iterator __hint, false_type ,
1434:    _Args&&... __args)
1434:       -> iterator
1434:       {
1434: 
1434:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1434:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1434: 
1434:  auto __res = this->_M_compute_hash_code(__hint, __k);
1434:  auto __pos
1434:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
1434:      __node._M_node);
1434:  __node._M_node = nullptr;
1434:  reA states exceeds limit. Please use shorter regex "
1417:      "string, or use smaller brace expression, or make "
1417:      "_GLIBCXX_REGEX_STATE_LIMIT larger.");
1417:  return this->size() - 1;
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_eliminate_dummy();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     public:
1417:       _TraitsT _M_traits;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _TraitsT>
1417:     class _StateSeq
1417:     {
1417:     public:
1417:       typedef _NFA<_TraitsT> _RegexT;
1417: 
1417:     public:
1417:       _StateSeq(_RegexT& __nfa, _StateIdT __s)
1417:       : _M_nfa(__nfa), _M_start(__s), _M_end(__s)
1417:       { }
1417: 
1417:       _StateSeq(_RegexT& __nfa, _StateIdT __s, _StateIdT __end)
1417:       : _M_nfa(__nfa), _M_start(__s), _M_end(__end)
1417:       { }
1417: 
1417: 
1417:       void
1417:       _M_append(_StateIdT __id)
1417:       {
1417:  _M_nfa[_M_end]._M_next = __id;
1417:  _M_end = __id;
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_append(const _StateSeq& __s)
1417:       {
1417:  _M_nfa[_M_end]._M_next = __s._M_start;
1417:  _M_end = __s._M_end;
1417:       }
1417: 
1417: 
1417:       _StateSeq
1417:       _M_clone();
1417: 
1417:     public:
1417:       _RegexT& _M_nfa;
1417:       _StateIdT _M_start;
1417:       _StateIdT _M_end;
1417:     };
1417: 
1417: 
1417: }
1417: 
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/regex_automaton.tcc" 1 3
1417: # 31 "/usr/include/c++/12/bits/regex_automaton.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417: # 147 "/usr/include/c++/12/bits/regex_automaton.tcc" 3
1417:   template<typename _TraitsT>
1417:     _StateIdT
1417:     _NFA<_TraitsT>::_M_insert_backref(size_t __index)
1417:     {
1417:       if (this->_M_flags & regex_constants::__polynomial)
1417:  __throw_regex_error(regex_constants::error_complexity,
1417:        "Unexpected back-reference in polynomial mode.");
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       if (__index >= _M_subexpr_count)
1417:  __throw_regex_error(
1417:    regex_constants::error_backref,
1417:    "Back-reference index exceeds current sub-expression count.");
1417:       for (auto __it : this->_M_paren_stack)
1417:  if (__index == __it)
1417:    __throw_regex_error(
1417:      regex_constants::error_backref,
1417:      "Back-reference referred to an opened sub-expression.");
1417:       this->_M_has_backref = true;
1417:       _StateT __tmp(_S_opcode_backref);
1417:       __tmp._M_backref_index = __index;
1417:       return _M_insert_state(std::move(__tmp));
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     void
1417:     _NFA<_TraitsT>::_M_eliminate_dummy()
1417:     {
1417:       for (auto& __it : *this)
1417:  {
1417:    while (__it._M_next >= 0 && (*this)[__it._M_next]._M_opcode()
1417:    == _S_opcode_dummy)
1417:      __it._M_next = (*this)[__it._M_next]._M_next;
1417:    if (__it._M_has_alt())
1417:      while (__it._M_alt >= 0 && (*this)[__it._M_alt]._M_opcode()
1417:      == _S_opcode_dummy)
1417:        __it._M_alt = (*this)[__it._M_alt]._M_next;
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _TraitsT>
1417:     _StateSeq<_TraitsT>
1417:     _StateSeq<_TraitsT>::_M_clone()
1417:     {
1417:       std::map<_StateIdT, _StateIdT> __m;
1417:       std::stack<_StateIdT, std::deque<_StateIdT>> __stack;
1417:       __stack.push(_M_start);
1417:       while (!__stack.empty())
1417:  {
1417:    auto __u = __stack.top();
1417:    __stack.pop();
1417:    auto __dup = _M_nfa[__u];
1417: 
1417:    auto __id = _M_nfa._M_insert_state(std::move(__dup));
1417:    __m[__u] = __id;
1417:    if (__dup._M_has_alt())
1417:      if (__dup._M_alt != _S_invalid_state_id
1417:   && __m.count(__dup._M_alt) == 0)
1417:        __stack.push(__dup._M_alt);
1417:    if (__u == _M_end)
1417:      continue;
1417:    if (__dup._M_next != _S_invalid_state_id
1417:        && __m.count(__dup._M_next) == 0)
1417:      __stack.push(__dup._M_next);
1417:  turn __pos;
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_compute_hash_code(const_iterator __hint, const key_type& __k) const
1434:     -> pair<const_iterator, __hash_code>
1434:     {
1434:       if (size() <= __small_size_threshold())
1434:  {
1434:    if (__hint != cend())
1434:      {
1434:        for (auto __it = __hint; __it != cend(); ++__it)
1434:   if (this->_M_key_equals(__k, *__it._M_cur))
1434:     return { __it, this->_M_hash_code(*__it._M_cur) };
1434:      }
1434: 
1434:    for (auto __it = cbegin(); __it != __hint; ++__it)
1434:      if (this->_M_key_equals(__k, *__it._M_cur))
1434:        return { __it, this->_M_hash_code(*__it._M_cur) };
1434:  }
1434: 
1434:       return { __hint, this->_M_hash_code(__k) };
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_insert_unique_node(size_type __bkt, __hash_code __code,
1434:      __node_ptr __node, size_type __n_elt)
1434:     -> iterator
1434:     {
1434:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1434:       std::pair<bool, std::size_t> __do_rehash
1434:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count,
1434:        __n_elt);
1434: 
1434:       if (__do_rehash.first)
1434:  {
1434:    _M_rehash(__do_rehash.second, __saved_state);
1434:    __bkt = _M_bucket_index(__code);
1434:  }
1434: 
1434:       this->_M_store_code(*__node, __code);
1434: 
1434: 
1434:       _M_insert_bucket_begin(__bkt, __node);
1434:       ++_M_element_count;
1434:       return iterator(__node);
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_insert_multi_node(__node_ptr __hint,
1434:     __hash_code __code, __node_ptr __node)
1434:     -> iterator
1434:     {
1434:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1434:       std::pair<bool, std::size_t> __do_rehash
1434:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1);
1434: 
1434:       if (__do_rehash.first)
1434:  _M_rehash(__do_rehash.second, __saved_state);
1434: 
1434:       this->_M_store_code(*__node, __code);
1434:       const key_type& __k = _ExtractKey{}(__node->_M_v());
1434:       size_type __bkt = _M_bucket_index(__code);
1434: 
1434: 
1434: 
1434:       __node_base_ptr __prev
1434:  = __builtin_expect(__hint != nullptr, false)
1434:    && this->_M_equals(__k, __code, *__hint)
1434:      ? __hint
1434:      : _M_find_before_node(__bkt, __k, __code);
1434: 
1434:       if (__prev)
1434:  {
1434: 
1434:    __node->_M_nxt = __prev->_M_nxt;
1434:    __prev->_M_nxt = __node;
1434:    if (__builtin_expect(__prev == __hint, false))
1434: 
1434: 
1434:      if (__node->_M_nxt
1434:   && !this->_M_equals(__k, __code, *__node->_M_next()))
1434:        {
1434:   size_type __next_bkt = _M_bucket_index(*__node->_M_next());
1434:   if (__next_bkt != __bkt)
1434:     _M_buckets[__next_bkt] = __node;
1434:        }
1434:  }
1434:       else
1434: 
1434: 
1434: 
1434:  _M_insert_bucket_begin(__bkt, __node);
1434:       ++_M_element_count;
1434:       return iterator(__nod:     }
1412: # 386 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __psi_asymp(_Tp __x)
1412:     {
1412:       _Tp __sum = std::log(__x) - _Tp(0.5L) / __x;
1412:       const _Tp __xx = __x * __x;
1412:       _Tp __xp = __xx;
1412:       const unsigned int __max_iter = 100;
1412:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1412:         {
1412:           const _Tp __term = __bernoulli<_Tp>(2 * __k) / (2 * __k * __xp);
1412:           __sum -= __term;
1412:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:           __xp *= __xx;
1412:         }
1412:       return __sum;
1412:     }
1412: # 417 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __psi(_Tp __x)
1412:     {
1412:       const int __n = static_cast<int>(__x + 0.5L);
1412:       const _Tp __eps = _Tp(4) * std::numeric_limits<_Tp>::epsilon();
1412:       if (__n <= 0 && std::abs(__x - _Tp(__n)) < __eps)
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__x < _Tp(0))
1412:         {
1412:           const _Tp __pi = __numeric_constants<_Tp>::__pi();
1412:           return __psi(_Tp(1) - __x)
1412:                - __pi * std::cos(__pi * __x) / std::sin(__pi * __x);
1412:         }
1412:       else if (__x > _Tp(100))
1412:         return __psi_asymp(__x);
1412:       else
1412:         return __psi_series(__x);
1412:     }
1412: # 446 "/usr/include/c++/12/tr1/gamma.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __psi(unsigned int __n, _Tp __x)
1412:     {
1412:       if (__x <= _Tp(0))
1412:         std::__throw_domain_error(("Argument out of range " "in __psi")
1412:                                                  );
1412:       else if (__n == 0)
1412:         return __psi(__x);
1412:       else
1412:         {
1412:           const _Tp __hzeta = __hurwitz_zeta(_Tp(__n + 1), __x);
1412: 
1412:           const _Tp __ln_nfact = ::std::lgamma(_Tp(__n + 1));
1412: 
1412: 
1412: 
1412:           _Tp __result = std::exp(__ln_nfact) * __hzeta;
1412:           if (__n % 2 == 1)
1412:             __result = -__result;
1412:           return __result;
1412:         }
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 50 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/bessel_function.tcc" 1 3
1412: # 55 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 71 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 98 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template <typename _Tp>
1412:     void
1412:     __gamma_temme(_Tp __mu,
1412:                   _Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi)
1412:     {
1412: 
1412:       __gampl = _Tp(1) / ::std::tgamma(_Tp(1) + __mu);
1412:       __gammi = _Tp(1) / ::std::tgamma(_Tp(1) - __mu);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       if (std::abs(__mu) < std::numeric_limits<_Tp>::epsilon())
1412:         __gam1 = -_Tp(__numeric_constants<_Tp>::__gamma_e());
1412:       else
1412:         __gam1 = (__gammi - __gampl) / (_Tp(2) * __mu);
1412: 
1412:       __gam2 = (__gammi + __gampl) / (_Tp(2));
1412: 
1412:       return;
1412:     }
1412: # 136 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template <typename _Tp>
1412:     void
1412:     __bessel_jn(_Tp __nu, _Tp __x,
1412:                 _Tp & __Jnu, _Tp & __Nnu, _Tp & __Jpnu, _Tp & __Npnu)
1412:     {
1412:       if (__x == _Tp(0))
1412:         {
1412:           if (__nu == _Tp(0))
1412:             {
1412:               __Jnu = _Tp(1);
1412:               __Jpnu = _Tp(0);
1412:             }
1412:           else if (__nu == _Tp(1))
1412:             {
1412:               __Jnu = _Tp(0);
1412:               __Jpnu = _Tp(0.5L);
1412:             }
1412:           else
1412:             {
1412:               __Jnu = _Tp(0);
1412:               __Jpnu e);
1434:     }
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _Kt, typename _Arg, typename _NodeGenerator>
1434:       auto
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _M_insert_unique(_Kt&& __k, _Arg&& __v,
1434:          const _NodeGenerator& __node_gen)
1434:       -> pair<iterator, bool>
1434:       {
1434:  if (size() <= __small_size_threshold())
1434:    for (auto __it = begin(); __it != end(); ++__it)
1434:      if (this->_M_key_equals_tr(__k, *__it._M_cur))
1434:        return { __it, false };
1434: 
1434:  __hash_code __code = this->_M_hash_code_tr(__k);
1434:  size_type __bkt = _M_bucket_index(__code);
1434: 
1434:  if (size() > __small_size_threshold())
1434:    if (__node_ptr __node = _M_find_node_tr(__bkt, __k, __code))
1434:      return { iterator(__node), false };
1434: 
1434:  _Scoped_node __node {
1434:    __node_builder_t::_S_build(std::forward<_Kt>(__k),
1434:          std::forward<_Arg>(__v),
1434:          __node_gen),
1434:    this
1434:  };
1434:  auto __pos
1434:    = _M_insert_unique_node(__bkt, __code, __node._M_node);
1434:  __node._M_node = nullptr;
1434:  return { __pos, true };
1434:       }
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     template<typename _Arg, typename _NodeGenerator>
1434:       auto
1434:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:       _M_insert(const_iterator __hint, _Arg&& __v,
1434:   const _NodeGenerator& __node_gen,
1434:   false_type )
1434:       -> iterator
1434:       {
1434: 
1434:  _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this };
1434: 
1434: 
1434:  auto __res = this->_M_compute_hash_code(
1434:    __hint, _ExtractKey{}(__node._M_node->_M_v()));
1434: 
1434:  auto __pos
1434:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
1434:      __node._M_node);
1434:  __node._M_node = nullptr;
1434:  return __pos;
1434:       }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     erase(const_iterator __it)
1434:     -> iterator
1434:     {
1434:       __node_ptr __n = __it._M_cur;
1434:       std::size_t __bkt = _M_bucket_index(*__n);
1434: 
1434: 
1434: 
1434: 
1434:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1434:       return _M_erase(__bkt, __prev_n, __n);
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n)
1434:     -> iterator
1434:     {
1434:       if (__prev_n == _M_buckets[__bkt])
1434:  _M_remove_bucket_begin(__bkt, __n->_M_next(),
1434:    __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1434:       else if (__n->_M_nxt)
1434:  {
1434:    size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1434:    if (__next_bkt != __bkt)
1434:      _M_buckets[__next_bkt] = __prev_n;
1434:  }
1434: 
1434:       __prev_n->_M_nxt = __n->_M_nxt;
1434:       iterator __result(__n->_M_next());
1434:       this->_M_deallocate_node(__n);
1434:       --_M_element_count;
1434: 
1434:       return __result;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_erase(true_type , const key_type& __k)
1434:     -> size_type
1434:     {
1434:       __node_base_ptr __prev_n;
1434:       __node_ptr __n;
1434:       std::size_t __bkt;
1434:       if (size() <= __small_size_threshold())
1434:  {
1434:    __prev_n = _M_find_before_node(__k);
1434:    if (!__prev_n)
1434:      return 0;
1434: 
1434: 
1434:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1434:    __bkt = _M_bucket_index(*__n);
1434:  }
1434:       else
1434:  {
1434:    __hash_code __code = this->_M_hash_code(__k);
1434:    __bkt = _M_bucket_index(__code);
1434: 
1434: 
1434:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1434:    if (!__prev_n)
1434:      return 0;
1434: 
1434: 
1434:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1434:  }
1434: 
1434:       _M_erase(__bkt, __prev_n, __n);
1434:       return 1;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_erase(false_type , const key_type& __k)
1434:     -> size_type
1434:     {
1434:       std::size_t __bkt;
1434:       __node_base_ptr __prev_n;
1434:       __node_ptr __n;
1434:       if (size() <= __small_size_threshold())
1434:  {
1434:    __prev_n = _M_find_before_node(__k);
1434:    if (!__prev_n)
1434:      return 0;
1434: 
1434: 
1434:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1434:    __bkt = _M_bucket_index(*__n);
1434:  }
1434:       else
1434:  {
1434:    __hash_code __code = this->_M_hash_code(__k);
1434:    __bkt = _M_bucket_index(__code);
1434: 
1434: 
1434:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1434:    if (!__prev_n)
1434:      return 0;
1434: 
1434:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       __node_ptr __n_last = __n->_M_next();
1434:       while (__n_last && this->_M_node_equals(*__n, *__n_last))
1434:  __n_last = __n_last->_M_next();
1434: 
1434:       std::size_t __n_last_bkt = __n_last ? _M_bucket_index(*__n_last) : __bkt;
1434: 
1434: 
1434:       size_type __result = 0;
1434:       do
1434:  {
1434:    __node_ptr __p = __n->_M_next();
1434:    this->_M_deallocate_node(__n);
1434:    __n = __p;
1434:    ++__result;
1434:  }
1434:       while (__n != __n_last);
1434: 
1434:       _M_element_count -= __result;
1434:       if (__prev_n == _M_buckets[__bkt])
1434:  _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt);
1434:       else if (__n_last_bkt != __bkt)
1434:  _M_buckets[__n_last_bkt] = __prev_n;
1434:       __prev_n->_M_nxt = __n_last;
1434:       return __result;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     auto
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     erase(const_iterator __first, const_iterator __last)
1434:     -> iterator
1434:     {
1434:       __node_ptr __n = __first._M_cur;
1434:       __node_ptr __last_n = __last._M_cur;
1434:       if (__n == __last_n)
1434:  return iterator(__n);
1434: 
1434:}
1417:       for (auto __it : __m)
1417:  {
1417:    auto __v = __it.second;
1417:    auto& __ref = _M_nfa[__v];
1417:    if (__ref._M_next != _S_invalid_state_id)
1417:      __ref._M_next = __m.find(__ref._M_next)->second;
1417:    if (__ref._M_has_alt() && __ref._M_alt != _S_invalid_state_id)
1417:      __ref._M_alt = __m.find(__ref._M_alt)->second;
1417:  }
1417:       return _StateSeq(_M_nfa, __m[_M_start], __m[_M_end]);
1417:     }
1417: }
1417: 
1417: 
1417: }
1417: # 401 "/usr/include/c++/12/bits/regex_automaton.h" 2 3
1417: # 64 "/usr/include/c++/12/regex" 2 3
1417: # 1 "/usr/include/c++/12/bits/regex_scanner.h" 1 3
1417: # 31 "/usr/include/c++/12/bits/regex_scanner.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   struct _ScannerBase
1417:   {
1417:   public:
1417: 
1417:     enum _TokenT : unsigned
1417:     {
1417:       _S_token_anychar,
1417:       _S_token_ord_char,
1417:       _S_token_oct_num,
1417:       _S_token_hex_num,
1417:       _S_token_backref,
1417:       _S_token_subexpr_begin,
1417:       _S_token_subexpr_no_group_begin,
1417:       _S_token_subexpr_lookahead_begin,
1417:       _S_token_subexpr_end,
1417:       _S_token_bracket_begin,
1417:       _S_token_bracket_neg_begin,
1417:       _S_token_bracket_end,
1417:       _S_token_interval_begin,
1417:       _S_token_interval_end,
1417:       _S_token_quoted_class,
1417:       _S_token_char_class_name,
1417:       _S_token_collsymbol,
1417:       _S_token_equiv_class_name,
1417:       _S_token_opt,
1417:       _S_token_or,
1417:       _S_token_closure0,
1417:       _S_token_closure1,
1417:       _S_token_line_begin,
1417:       _S_token_line_end,
1417:       _S_token_word_bound,
1417:       _S_token_comma,
1417:       _S_token_dup_count,
1417:       _S_token_eof,
1417:       _S_token_bracket_dash,
1417:       _S_token_unknown = -1u
1417:     };
1417: 
1417:   protected:
1417:     typedef regex_constants::syntax_option_type _FlagT;
1417: 
1417:     enum _StateT
1417:     {
1417:       _S_state_normal,
1417:       _S_state_in_brace,
1417:       _S_state_in_bracket,
1417:     };
1417: 
1417:   protected:
1417:     _ScannerBase(_FlagT __flags)
1417:     : _M_state(_S_state_normal),
1417:     _M_flags(__flags),
1417:     _M_escape_tbl(_M_is_ecma()
1417:     ? _M_ecma_escape_tbl
1417:     : _M_awk_escape_tbl),
1417:     _M_spec_char(_M_is_ecma()
1417:    ? _M_ecma_spec_char
1417:    : _M_flags & regex_constants::basic
1417:    ? _M_basic_spec_char
1417:    : _M_flags & regex_constants::extended
1417:    ? _M_extended_spec_char
1417:    : _M_flags & regex_constants::grep
1417:    ? ".[\\*^$\n"
1417:    : _M_flags & regex_constants::egrep
1417:    ? ".[\\()*+?{|^$\n"
1417:    : _M_flags & regex_constants::awk
1417:    ? _M_extended_spec_char
1417:    : nullptr),
1417:     _M_at_bracket_start(false)
1417:     { do { if (std::__is_constant_evaluated() && !bool(_M_spec_char)) __builtin_unreachable(); } while (false); }
1417: 
1417:   protected:
1417:     const char*
1417:     _M_find_escape(char __c)
1417:     {
1417:       auto __it = _M_escape_tbl;
1417:       for (; __it->first != '\0'; ++__it)
1417:  if (__it->first == __c)
1417:    return &__it->second;
1417:       return nullptr;
1417:     }
1417: 
1417:     bool
1417:     _M_is_ecma() const
1417:     { return _M_flags & regex_constants::ECMAScript; }
1417: 
1417:     bool
1417:     _M_is_basic() const
1417:     { return _M_flags & (regex_constants::basic | regex_constants::grep); }
1417: 
1417:     bool
1417:     _M_is_extended() const
1417:     {
1417:       return _M_flags & (regex_constants::extended
1417:     | regex_constants::egrep
1417:     | regex_constants::awk);
1417:     }
1417: 
1417:     bool
1417:     _M_is_grep() const
1417:     { return _M_flags & (regex_constants::grep | regex_constants::egrep); }
1417: 
1417:     bool
1417:     _M_is_awk() const
1417:     { return _M_flags & regex_constants::awk; }
1417: 
1417:   protected:
1417: 
1417:     const std::pair<char, _Tok= _Tp(0);
1412:             }
1412:           __Nnu = -std::numeric_limits<_Tp>::infinity();
1412:           __Npnu = std::numeric_limits<_Tp>::infinity();
1412:           return;
1412:         }
1412: 
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412: 
1412: 
1412: 
1412: 
1412:       const _Tp __fp_min = std::sqrt(std::numeric_limits<_Tp>::min());
1412:       const int __max_iter = 15000;
1412:       const _Tp __x_min = _Tp(2);
1412: 
1412:       const int __nl = (__x < __x_min
1412:                     ? static_cast<int>(__nu + _Tp(0.5L))
1412:                     : std::max(0, static_cast<int>(__nu - __x + _Tp(1.5L))));
1412: 
1412:       const _Tp __mu = __nu - __nl;
1412:       const _Tp __mu2 = __mu * __mu;
1412:       const _Tp __xi = _Tp(1) / __x;
1412:       const _Tp __xi2 = _Tp(2) * __xi;
1412:       _Tp __w = __xi2 / __numeric_constants<_Tp>::__pi();
1412:       int __isign = 1;
1412:       _Tp __h = __nu * __xi;
1412:       if (__h < __fp_min)
1412:         __h = __fp_min;
1412:       _Tp __b = __xi2 * __nu;
1412:       _Tp __d = _Tp(0);
1412:       _Tp __c = __h;
1412:       int __i;
1412:       for (__i = 1; __i <= __max_iter; ++__i)
1412:         {
1412:           __b += __xi2;
1412:           __d = __b - __d;
1412:           if (std::abs(__d) < __fp_min)
1412:             __d = __fp_min;
1412:           __c = __b - _Tp(1) / __c;
1412:           if (std::abs(__c) < __fp_min)
1412:             __c = __fp_min;
1412:           __d = _Tp(1) / __d;
1412:           const _Tp __del = __c * __d;
1412:           __h *= __del;
1412:           if (__d < _Tp(0))
1412:             __isign = -__isign;
1412:           if (std::abs(__del - _Tp(1)) < __eps)
1412:             break;
1412:         }
1412:       if (__i > __max_iter)
1412:         std::__throw_runtime_error(("Argument x too large in __bessel_jn; " "try asymptotic expansion.")
1412:                                                                    );
1412:       _Tp __Jnul = __isign * __fp_min;
1412:       _Tp __Jpnul = __h * __Jnul;
1412:       _Tp __Jnul1 = __Jnul;
1412:       _Tp __Jpnu1 = __Jpnul;
1412:       _Tp __fact = __nu * __xi;
1412:       for ( int __l = __nl; __l >= 1; --__l )
1412:         {
1412:           const _Tp __Jnutemp = __fact * __Jnul + __Jpnul;
1412:           __fact -= __xi;
1412:           __Jpnul = __fact * __Jnutemp - __Jnul;
1412:           __Jnul = __Jnutemp;
1412:         }
1412:       if (__Jnul == _Tp(0))
1412:         __Jnul = __eps;
1412:       _Tp __f= __Jpnul / __Jnul;
1412:       _Tp __Nmu, __Nnu1, __Npmu, __Jmu;
1412:       if (__x < __x_min)
1412:         {
1412:           const _Tp __x2 = __x / _Tp(2);
1412:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1412:           _Tp __fact = (std::abs(__pimu) < __eps
1412:                       ? _Tp(1) : __pimu / std::sin(__pimu));
1412:           _Tp __d = -std::log(__x2);
1412:           _Tp __e = __mu * __d;
1412:           _Tp __fact2 = (std::abs(__e) < __eps
1412:                        ? _Tp(1) : std::sinh(__e) / __e);
1412:           _Tp __gam1, __gam2, __gampl, __gammi;
1412:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1412:           _Tp __ff = (_Tp(2) / __numeric_constants<_Tp>::__pi())
1412:                    * __fact * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1412:           __e = std::exp(__e);
1412:           _Tp __p = __e / (__numeric_constants<_Tp>::__pi() * __gampl);
1412:           _Tp __q = _Tp(1) / (__e * __numeric_constants<_Tp>::__pi() * __gammi);
1412:           const _Tp __pimu2 = __pimu / _Tp(2);
1412:           _Tp __fact3 = (std::abs(__pimu2) < __eps
1412:                        ? _Tp(1) : std::sin(__pimu2) / __pimu2 );
1412:           _Tp __r = __numeric_constants<_Tp>::__pi() * __pimu2 * __fact3 * __fact3;
1412:           _Tp __c = _Tp(1);
1412:           __d = -__x2 * __x2;
1412:           _Tp __sum = __ff + __r * __q;
1412:           _Tp __sum1 = __p;
1412:           for (__i = 1; __i <= __max_iter; ++__i)
1412:             {
1412:               __ff = (__i * __ff +       std::size_t __bkt = _M_bucket_index(*__n);
1434: 
1434:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1434:       bool __is_bucket_begin = __n == _M_bucket_begin(__bkt);
1434:       std::size_t __n_bkt = __bkt;
1434:       for (;;)
1434:  {
1434:    do
1434:      {
1434:        __node_ptr __tmp = __n;
1434:        __n = __n->_M_next();
1434:        this->_M_deallocate_node(__tmp);
1434:        --_M_element_count;
1434:        if (!__n)
1434:   break;
1434:        __n_bkt = _M_bucket_index(*__n);
1434:      }
1434:    while (__n != __last_n && __n_bkt == __bkt);
1434:    if (__is_bucket_begin)
1434:      _M_remove_bucket_begin(__bkt, __n, __n_bkt);
1434:    if (__n == __last_n)
1434:      break;
1434:    __is_bucket_begin = true;
1434:    __bkt = __n_bkt;
1434:  }
1434: 
1434:       if (__n && (__n_bkt != __bkt || __is_bucket_begin))
1434:  _M_buckets[__n_bkt] = __prev_n;
1434:       __prev_n->_M_nxt = __n;
1434:       return iterator(__n);
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     clear() noexcept
1434:     {
1434:       this->_M_deallocate_nodes(_M_begin());
1434:       __builtin_memset(_M_buckets, 0,
1434:          _M_bucket_count * sizeof(__node_base_ptr));
1434:       _M_element_count = 0;
1434:       _M_before_begin._M_nxt = nullptr;
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     rehash(size_type __bkt_count)
1434:     {
1434:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1434:       __bkt_count
1434:  = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1),
1434:      __bkt_count);
1434:       __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count);
1434: 
1434:       if (__bkt_count != _M_bucket_count)
1434:  _M_rehash(__bkt_count, __saved_state);
1434:       else
1434: 
1434: 
1434:  _M_rehash_policy._M_reset(__saved_state);
1434:     }
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_rehash(size_type __bkt_count, const __rehash_state& __state)
1434:     {
1434:       try
1434:  {
1434:    _M_rehash_aux(__bkt_count, __unique_keys{});
1434:  }
1434:       catch(...)
1434:  {
1434: 
1434: 
1434:    _M_rehash_policy._M_reset(__state);
1434:    throw;
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_rehash_aux(size_type __bkt_count, true_type )
1434:     {
1434:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1434:       __node_ptr __p = _M_begin();
1434:       _M_before_begin._M_nxt = nullptr;
1434:       std::size_t __bbegin_bkt = 0;
1434:       while (__p)
1434:  {
1434:    __node_ptr __next = __p->_M_next();
1434:    std::size_t __bkt
1434:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1434:    if (!__new_buckets[__bkt])
1434:      {
1434:        __p->_M_nxt = _M_before_begin._M_nxt;
1434:        _M_before_begin._M_nxt = __p;
1434:        __new_buckets[__bkt] = &_M_before_begin;
1434:        if (__p->_M_nxt)
1434:   __new_buckets[__bbegin_bkt] = __p;
1434:        __bbegin_bkt = __bkt;
1434:      }
1434:    else
1434:      {
1434:        __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1434:        __new_buckets[__bkt]->_M_nxt = __p;
1434:      }
1434: 
1434:    __p = __next;
1434:  }
1434: 
1434:       _M_deallocate_buckets();
1434:       _M_bucket_count = __bkt_count;
1434:       _M_buckets = __new_buckets;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Value, typename _Alloc,
1434:     typename _ExtractKey, typename _Equal,
1434:     typename _Hash, typename _RangeHash, typename _Unused,
1434:     typename _RehashPolicy, typename _Traits>
1434:     void
1434:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1434:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1434:     _M_rehash_aux(size_type __bkt_count, false_type )
1434:     {
1434:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1434:       __node_ptr __p = _M_begin();
1434:       _M_before_begin._M_nxt = nullptr;
1434:       std::size_t __bbegin_bkt = 0;
1434:       std::size_t __prev_bkt = 0;
1434:       __node_ptr __prev_p = nullptr;
1434:       bool __check_bucket = false;
1434: 
1434:       while (__p)
1434:  {
1434:    __node_ptr __next = __p->_M_next();
1434:    std::size_t __bkt
1434:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1434: 
1434:    if (__prev_p && __prev_bkt == __bkt)
1434:      {
1434: 
1434: 
1434: 
1434:        __p->_M_nxt = __prev_p->_M_nxt;
1434:        __prev_p->_M_nxt = __p;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:        __check_bucket = true;
1434:      }
1434:    else
1434:      {
1434:        if (__check_bucket)
1434:   {
1434: 
1434: 
1434:     if (__prev_p->_M_nxt)
1434:       {
1434:         std::size_t __next_bkt
1434:    = __hash_code_base::_M_bucket_index(
1434:      *__prev_p->_M_next(), __bkt_count);
1434:         if (__next_bkt != __prev_bkt)
1434:    __new_buckets[__next_bkt] = __prev_p;
1434:       }
1434:     __check_bucket = false;
1434:   }
1434: 
1434:        if (!__new_buckets[__bkt])
1434:   {
1434:     __p->_M_nxt = _M_before_begin._M_nxt;
1434:     _M_before_begin._M_nxt = __p;
1434:     __new_buckets[__bkt] = &_M_before_begin;
1434:     if (__p->_M_nxt)
1434:       __new_buckets[__bbegin_bkt] = __p;
1434:     __bbegin_bkt = __bkt;
1434:   }
1434:        else
1434:   {
1434:     __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1434:     __new_buckets[__bkt]->_M_nxt = __p;
1434:   }
1434:      }
1434:    __prev_p = __p;
1434:    __prev_bkt = __bkt;
1434:    __p = __next;
1434:  }
1434: 
1434:       if (__check_bucket && __prev_p->_M_nxt)
1434:  {
1434:    std::size_t __next_bkt
1434:      = __hash_code_base::_M_bucket_index(*__prev_p->_M_next(),
1434:       __bkt_count);
1434:    if (__next_bkt != __prev_bkt)
1434:      __new_buckets[__next_bkt] = __prev_p;
1434:  }
1434: 
1434:       _M_deallocate_buckets();
1434:       _M_bucket_count = __bkt_count;
1434:       _M_buckets = __new_buckets;
1434:     }
1434: 
1434: 
1434:   template<typename, typename, typename> class _Hash_merge_helper { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Hash>
1434:     using _RequireNotAllocatorOrIntegral
1434:       = __enable_if_t<!__or_<is_integral<_Hash>, __is_allocator<_Hash>>::value>;
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 47 "/usr/include/c++/12/unordered_map" 2 3
1434: # 1 "/usr/include/c++/12/bits/unordered_map.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/unordered_map.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<bool _Cache>
1434:     using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>;
1434: 
1434:   template<typename _Key,
1434:     typename _Tp,
1434:     typename _Hash = hash<_Key>,
1434:     typename _Pred = std::equal_to<_Key>,
1434:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1434:     typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>>
1434:     using __umap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1434:                                         _Alloc, __detail::_Select1st,
1434:             _Pred, _Hash,
1434:             __detail::_Mod_range_hashing,
1434:             __detail::_Default_ranged_hash,
1434:             __detail::_Prime_rehash_policy, _Tr>;
1434: 
1434: 
1434:   template<bool _Cache>
1434:     using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>;
1434: 
1434:   template<typename _Key,
1434:     typename _Tp,
1434:     typename _Hash = hash<_Key>,
1434:     typename _Pred = std::equal_to<_Key>,
1434:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1434:     typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>>
1434:     using __ummap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1434:       _Alloc, __detail::_Select1st,
1434:       _Pred, _Hash,
1434:       __detail::_Mod_range_hashing,
1434:       __detail::_Default_ranged_hash,
1434:       __detail::_Prime_rehash_policy, _Tr>;
1434: 
1434:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1434:     class unordered_multimap;
1434: # 98 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:   template<typename _Key, typename _Tp,
1434:     typename _Hash = hash<_Key>,
1434:     typename _Pred = equal_to<_Key>,
1434:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1434:     class unordered_map
1434:     {
1434:       typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1434:       _Hashtable _M_h;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::key_type key_type;
1434:       typedef typename _Hashtable::value_type value_type;
1434:       typedef typename _Hashtable::mapped_type mapped_type;
1434:       typedef typename _Hashtable::hasher hasher;
1434:       typedef typename _Hashtable::key_equal key_equal;
1434:       typedef typename _Hashtable::allocator_type allocator_type;
1434: 
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::pointer pointer;
1434:       typedef typename _Hashtable::const_pointer const_pointer;
1434:       typedef typename _Hashtable::reference reference;
1434:       typedef typename _Hashtable::const_reference const_reference;
1434:       typedef typename _Hashtable::iterator iterator;
1434:       typedef typename _Hashtable::const_iterator const_iterator;
1434:       typedef typename _Hashtable::local_iterator local_iterator;
1434:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1434:       typedef typename _Hashtable::size_type size_type;
1434:       typedef typename _Hashtable::difference_type difference_type;
1434: 
1434: 
1434: 
1434:       using node_type = typename _Hashtable::node_type;
1434:       using insert_return_type = typename _Hashtable::insert_return_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_map() = default;
1434: # 150 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       explicit
1434:       unordered_map(size_type __n,
1434:       const hasher& __hf = hasher(),
1434:       const key_equal& __eql = key_equal(),
1434:       const allocator_type& __a = allocator_type())
1434:       : _M_h(__n, __hf, __eql, __a)
1434:       { }
1434: # 171 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename _InputIterator>
1434:  unordered_map(_InputIterator __first, _InputIterator __last,
1434:         size_type __n = 0,
1434:         const hasher& __hf = hasher(),
1434:         const key_equal& __eql = key_equal(),
1434:         const allocator_type& __a = allocator_type())
1434:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1434:  { }
1434: 
1434: 
1434:       unordered_map(const unordered_map&) = default;
1434: 
1434: 
1434:       unordered_map(unordered_map&&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434: __p + __q) / (__i * __i - __mu2);
1412:               __c *= __d / _Tp(__i);
1412:               __p /= _Tp(__i) - __mu;
1412:               __q /= _Tp(__i) + __mu;
1412:               const _Tp __del = __c * (__ff + __r * __q);
1412:               __sum += __del;
1412:               const _Tp __del1 = __c * __p - __i * __del;
1412:               __sum1 += __del1;
1412:               if ( std::abs(__del) < __eps * (_Tp(1) + std::abs(__sum)) )
1412:                 break;
1412:             }
1412:           if ( __i > __max_iter )
1412:             std::__throw_runtime_error(("Bessel y series failed to converge " "in __bessel_jn.")
1412:                                                              );
1412:           __Nmu = -__sum;
1412:           __Nnu1 = -__sum1 * __xi2;
1412:           __Npmu = __mu * __xi * __Nmu - __Nnu1;
1412:           __Jmu = __w / (__Npmu - __f * __Nmu);
1412:         }
1412:       else
1412:         {
1412:           _Tp __a = _Tp(0.25L) - __mu2;
1412:           _Tp __q = _Tp(1);
1412:           _Tp __p = -__xi / _Tp(2);
1412:           _Tp __br = _Tp(2) * __x;
1412:           _Tp __bi = _Tp(2);
1412:           _Tp __fact = __a * __xi / (__p * __p + __q * __q);
1412:           _Tp __cr = __br + __q * __fact;
1412:           _Tp __ci = __bi + __p * __fact;
1412:           _Tp __den = __br * __br + __bi * __bi;
1412:           _Tp __dr = __br / __den;
1412:           _Tp __di = -__bi / __den;
1412:           _Tp __dlr = __cr * __dr - __ci * __di;
1412:           _Tp __dli = __cr * __di + __ci * __dr;
1412:           _Tp __temp = __p * __dlr - __q * __dli;
1412:           __q = __p * __dli + __q * __dlr;
1412:           __p = __temp;
1412:           int __i;
1412:           for (__i = 2; __i <= __max_iter; ++__i)
1412:             {
1412:               __a += _Tp(2 * (__i - 1));
1412:               __bi += _Tp(2);
1412:               __dr = __a * __dr + __br;
1412:               __di = __a * __di + __bi;
1412:               if (std::abs(__dr) + std::abs(__di) < __fp_min)
1412:                 __dr = __fp_min;
1412:               __fact = __a / (__cr * __cr + __ci * __ci);
1412:               __cr = __br + __cr * __fact;
1412:               __ci = __bi - __ci * __fact;
1412:               if (std::abs(__cr) + std::abs(__ci) < __fp_min)
1412:                 __cr = __fp_min;
1412:               __den = __dr * __dr + __di * __di;
1412:               __dr /= __den;
1412:               __di /= -__den;
1412:               __dlr = __cr * __dr - __ci * __di;
1412:               __dli = __cr * __di + __ci * __dr;
1412:               __temp = __p * __dlr - __q * __dli;
1412:               __q = __p * __dli + __q * __dlr;
1412:               __p = __temp;
1412:               if (std::abs(__dlr - _Tp(1)) + std::abs(__dli) < __eps)
1412:                 break;
1412:           }
1412:           if (__i > __max_iter)
1412:             std::__throw_runtime_error(("Lentz's method failed " "in __bessel_jn.")
1412:                                                              );
1412:           const _Tp __gam = (__p - __f) / __q;
1412:           __Jmu = std::sqrt(__w / ((__p - __f) * __gam + __q));
1412: 
1412:           __Jmu = ::std::copysign(__Jmu, __Jnul);
1412: 
1412: 
1412: 
1412: 
1412:           __Nmu = __gam * __Jmu;
1412:           __Npmu = (__p + __q / __gam) * __Nmu;
1412:           __Nnu1 = __mu * __xi * __Nmu - __Npmu;
1412:       }
1412:       __fact = __Jmu / __Jnul;
1412:       __Jnu = __fact * __Jnul1;
1412:       __Jpnu = __fact * __Jpnu1;
1412:       for (__i = 1; __i <= __nl; ++__i)
1412:         {
1412:           const _Tp __Nnutemp = (__mu + __i) * __xi2 * __Nnu1 - __Nmu;
1412:           __Nmu = __Nnu1;
1412:           __Nnu1 = __Nnutemp;
1412:         }
1412:       __Nnu = __Nmu;
1412:       __Npnu = __nu * __xi * __Nmu - __Nnu1;
1412: 
1412:       return;
1412:     }
1412: # 361 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template <typename _Tp>
1412:     void
1412:     __cyl_bessel_jn_asymp(_Tp __nu, _Tp __x, _Tp & __Jnu, _Tp & __Nnu)
1412:     {
1412:       const _Tp __mu = _       unordered_map(const allocator_type& __a)
1434:  : _M_h(__a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_map(const unordered_map& __umap,
1434:       const allocator_type& __a)
1434:       : _M_h(__umap._M_h, __a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_map(unordered_map&& __umap,
1434:       const allocator_type& __a)
1434:  noexcept( noexcept(_Hashtable(std::move(__umap._M_h), __a)) )
1434:       : _M_h(std::move(__umap._M_h), __a)
1434:       { }
1434: # 227 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       unordered_map(initializer_list<value_type> __l,
1434:       size_type __n = 0,
1434:       const hasher& __hf = hasher(),
1434:       const key_equal& __eql = key_equal(),
1434:       const allocator_type& __a = allocator_type())
1434:       : _M_h(__l, __n, __hf, __eql, __a)
1434:       { }
1434: 
1434:       unordered_map(size_type __n, const allocator_type& __a)
1434:       : unordered_map(__n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_map(size_type __n, const hasher& __hf,
1434:       const allocator_type& __a)
1434:       : unordered_map(__n, __hf, key_equal(), __a)
1434:       { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_map(_InputIterator __first, _InputIterator __last,
1434:         size_type __n,
1434:         const allocator_type& __a)
1434:  : unordered_map(__first, __last, __n, hasher(), key_equal(), __a)
1434:  { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_map(_InputIterator __first, _InputIterator __last,
1434:         size_type __n, const hasher& __hf,
1434:         const allocator_type& __a)
1434:    : unordered_map(__first, __last, __n, __hf, key_equal(), __a)
1434:  { }
1434: 
1434:       unordered_map(initializer_list<value_type> __l,
1434:       size_type __n,
1434:       const allocator_type& __a)
1434:       : unordered_map(__l, __n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_map(initializer_list<value_type> __l,
1434:       size_type __n, const hasher& __hf,
1434:       const allocator_type& __a)
1434:       : unordered_map(__l, __n, __hf, key_equal(), __a)
1434:       { }
1434: 
1434: 
1434:       unordered_map&
1434:       operator=(const unordered_map&) = default;
1434: 
1434: 
1434:       unordered_map&
1434:       operator=(unordered_map&&) = default;
1434: # 289 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       unordered_map&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_h = __l;
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return _M_h.get_allocator(); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_h.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_h.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_h.max_size(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       begin() noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return _M_h.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return _M_h.end(); }
1434: 
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return _M_h.end(); }
1434: # 386 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename... _Args>
1434:  std::pair<iterator, bool>
1434:  emplace(_Args&&... __args)
1434:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1434: # 417 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_h.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __key)
1434:       { return _M_h.extract(__key); }
1434: 
1434: 
1434:       insert_return_type
1434:       insert(node_type&& __nh)
1434:       { return _M_h._M_reinsert_node(std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator, node_type&& __nh)
1434:       { return _M_h._M_reinsert_node(std::move(__nh)).position; }
1434: # 469 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template <typename... _Args>
1434:  pair<iterator, bool>
1434:  try_emplace(const key_type& __k, _Args&&... __args)
1434:  {
1434:    return _M_h.try_emplace(cend(), __k, std::forward<_Args>(__args)...);
1434:  }
1434: 
1434: 
1434:       template <typename... _Args>
1434:  pair<iterator, bool>
1434:  try_emplace(key_type&& __k, _Args&&... __args)
1434:  {
1434:    return _M_h.try_emplace(cend(), std::move(__k),
1434:       std::forward<_Args>(__args)...);
1434:  }
1434: # 513 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template <typename... _Args>
1434:  iterator
1434:  try_emplace(const_iterator __hint, const key_type& __k,
1434:       _Args&&... __args)
1434:  {
1434:    return _M_h.try_emplace(__hint, __k,
1434:       std::forward<_Args>(__args)...).first;
1434:  }
1434: 
1434: 
1434:       template <typename... _Args>
1434:  iterator
1434:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1434:  {
1434:    return _M_h.try_emplace(__hint, std::move(__k),
1434:       std::forward<_Args>(__args)...).first;
1434:  }
1434: # 550 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       std::pair<iterator, bool>
1434:       insert(const value_type& __x)
1434:       { return _M_h.insert(__x); }
1434: 
1434: 
1434: 
1434:       std::pair<iterator, bool>
1434:       insert(value_type&& __x)
1434:       { return _M_h.insert(std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<value_type, _Pair&&>::value,
1434:         pair<iterator, bool>>
1434:  insert(_Pair&& __x)
1434:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1434: # 589 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       insert(const_iterator __hint, const value_type& __x)
1434:       { return _M_h.insert(__hint, __x); }
1434: 
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, value_type&& __x)
1434:       { return _M_h.insert(__hint, std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1434:  insert(const_iterator __hint, _Pair&& __x)
1434:  { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1434: # 614 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_h.insert(__first, __last); }
1434: # 626 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { _M_h.insert(__l); }
1434: # 652 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template <typename _Obj>
1434:  pair<iterator, bool>
1434:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1434:  {
1434:    auto __ret = _M_h.try_emplace(cend(), __k,
1434:      std::forward<_Obj>(__obj));
1434:    if (!__ret.second)
1434:      __ret.first->second = std::forward<_Obj>(__obj);
1434:    return __ret;
1434:  }
1434: 
1434: 
1434:       template <typename _Obj>
1434:  pair<iterator, boenT> _M_token_tbl[9] =
1417:       {
1417:  {'^', _S_token_line_begin},
1417:  {'$', _S_token_line_end},
1417:  {'.', _S_token_anychar},
1417:  {'*', _S_token_closure0},
1417:  {'+', _S_token_closure1},
1417:  {'?', _S_token_opt},
1417:  {'|', _S_token_or},
1417:  {'\n', _S_token_or},
1417:  {'\0', _S_token_or},
1417:       };
1417:     const std::pair<char, char> _M_ecma_escape_tbl[8] =
1417:       {
1417:  {'0', '\0'},
1417:  {'b', '\b'},
1417:  {'f', '\f'},
1417:  {'n', '\n'},
1417:  {'r', '\r'},
1417:  {'t', '\t'},
1417:  {'v', '\v'},
1417:  {'\0', '\0'},
1417:       };
1417:     const std::pair<char, char> _M_awk_escape_tbl[11] =
1417:       {
1417:  {'"', '"'},
1417:  {'/', '/'},
1417:  {'\\', '\\'},
1417:  {'a', '\a'},
1417:  {'b', '\b'},
1417:  {'f', '\f'},
1417:  {'n', '\n'},
1417:  {'r', '\r'},
1417:  {'t', '\t'},
1417:  {'v', '\v'},
1417:  {'\0', '\0'},
1417:       };
1417:     const char* _M_ecma_spec_char = "^$\\.*+?()[]{}|";
1417:     const char* _M_basic_spec_char = ".[\\*^$";
1417:     const char* _M_extended_spec_char = ".[\\()*+?{|^$";
1417: 
1417:     _StateT _M_state;
1417:     _FlagT _M_flags;
1417:     _TokenT _M_token;
1417:     const std::pair<char, char>* _M_escape_tbl;
1417:     const char* _M_spec_char;
1417:     bool _M_at_bracket_start;
1417:   };
1417: # 209 "/usr/include/c++/12/bits/regex_scanner.h" 3
1417:   template<typename _CharT>
1417:     class _Scanner
1417:     : public _ScannerBase
1417:     {
1417:     public:
1417:       typedef std::basic_string<_CharT> _StringT;
1417:       typedef regex_constants::syntax_option_type _FlagT;
1417:       typedef const std::ctype<_CharT> _CtypeT;
1417: 
1417:       _Scanner(const _CharT* __begin, const _CharT* __end,
1417:         _FlagT __flags, std::locale __loc);
1417: 
1417:       void
1417:       _M_advance();
1417: 
1417:       _TokenT
1417:       _M_get_token() const noexcept
1417:       { return _M_token; }
1417: 
1417:       const _StringT&
1417:       _M_get_value() const noexcept
1417:       { return _M_value; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     private:
1417:       void
1417:       _M_scan_normal();
1417: 
1417:       void
1417:       _M_scan_in_bracket();
1417: 
1417:       void
1417:       _M_scan_in_brace();
1417: 
1417:       void
1417:       _M_eat_escape_ecma();
1417: 
1417:       void
1417:       _M_eat_escape_posix();
1417: 
1417:       void
1417:       _M_eat_escape_awk();
1417: 
1417:       void
1417:       _M_eat_class(char);
1417: 
1417:       const _CharT* _M_current;
1417:       const _CharT* _M_end;
1417:       _CtypeT& _M_ctype;
1417:       _StringT _M_value;
1417:       void (_Scanner::* _M_eat_escape)();
1417:     };
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/regex_scanner.tcc" 1 3
1417: # 49 "/usr/include/c++/12/bits/regex_scanner.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417:   template<typename _CharT>
1417:     _Scanner<_CharT>::
1417:     _Scanner(const _CharT* __begin, const _CharT* __end,
1417:       _FlagT __flags, std::locale __loc)
1417:     : _ScannerBase(__flags),
1417:       _M_current(__begin), _M_end(__end),
1417:       _M_ctype(std::use_facet<_CtypeT>(__loc)),
1417:       _M_eat_escape(_M_is_ecma()
1417:       ? &_Scanner::_M_eat_escape_ecma
1417:       : &_Scanner::_M_eat_escape_posix)
1417:     { _M_advance(); }
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_advance()
1417:     {
1417:       if (_M_current == _M_end)
1417:  {
1417:    _M_token = _S_token_eof;
1417:    return;
1417:  }
1417: 
1417:       if (_M_state == _S_state_normal)
1417:  _M_scan_normal();
1417:       else if (_M_state == _S_state_in_bracket)
1417:  _M_scan_in_bracket();
1417:       else if (_M_state == _S_state_in_brace)
1417:  _M_scan_in_brace();
1417:       else
1417:  {
1417:    do { if (std::__is_constant_evaluated() && !bool(!"unexpected state while processing regex")) __builtin_unreachable(); } while (false);
1417:  }
1417:     }
141Tp(4) * __nu * __nu;
1412:       const _Tp __8x = _Tp(8) * __x;
1412: 
1412:       _Tp __P = _Tp(0);
1412:       _Tp __Q = _Tp(0);
1412: 
1412:       _Tp __k = _Tp(0);
1412:       _Tp __term = _Tp(1);
1412: 
1412:       int __epsP = 0;
1412:       int __epsQ = 0;
1412: 
1412:       _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412: 
1412:       do
1412:         {
1412:           __term *= (__k == 0
1412:                      ? _Tp(1)
1412:                      : -(__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x));
1412: 
1412:           __epsP = std::abs(__term) < __eps * std::abs(__P);
1412:           __P += __term;
1412: 
1412:           __k++;
1412: 
1412:           __term *= (__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x);
1412:           __epsQ = std::abs(__term) < __eps * std::abs(__Q);
1412:           __Q += __term;
1412: 
1412:           if (__epsP && __epsQ && __k > (__nu / 2.))
1412:             break;
1412: 
1412:           __k++;
1412:         }
1412:       while (__k < 1000);
1412: 
1412:       const _Tp __chi = __x - (__nu + _Tp(0.5L))
1412:                              * __numeric_constants<_Tp>::__pi_2();
1412: 
1412:       const _Tp __c = std::cos(__chi);
1412:       const _Tp __s = std::sin(__chi);
1412: 
1412:       const _Tp __coef = std::sqrt(_Tp(2)
1412:                              / (__numeric_constants<_Tp>::__pi() * __x));
1412: 
1412:       __Jnu = __coef * (__c * __P - __s * __Q);
1412:       __Nnu = __coef * (__s * __P + __c * __Q);
1412: 
1412:       return;
1412:     }
1412: # 444 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template <typename _Tp>
1412:     _Tp
1412:     __cyl_bessel_ij_series(_Tp __nu, _Tp __x, _Tp __sgn,
1412:                            unsigned int __max_iter)
1412:     {
1412:       if (__x == _Tp(0))
1412:  return __nu == _Tp(0) ? _Tp(1) : _Tp(0);
1412: 
1412:       const _Tp __x2 = __x / _Tp(2);
1412:       _Tp __fact = __nu * std::log(__x2);
1412: 
1412:       __fact -= ::std::lgamma(__nu + _Tp(1));
1412: 
1412: 
1412: 
1412:       __fact = std::exp(__fact);
1412:       const _Tp __xx4 = __sgn * __x2 * __x2;
1412:       _Tp __Jn = _Tp(1);
1412:       _Tp __term = _Tp(1);
1412: 
1412:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1412:         {
1412:           __term *= __xx4 / (_Tp(__i) * (__nu + _Tp(__i)));
1412:           __Jn += __term;
1412:           if (std::abs(__term / __Jn) < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:         }
1412: 
1412:       return __fact * __Jn;
1412:     }
1412: # 490 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __cyl_bessel_j(_Tp __nu, _Tp __x)
1412:     {
1412:       if (__nu < _Tp(0) || __x < _Tp(0))
1412:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_j.")
1412:                                                            );
1412:       else if (__isnan(__nu) || __isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1412:         return __cyl_bessel_ij_series(__nu, __x, -_Tp(1), 200);
1412:       else if (__x > _Tp(1000))
1412:         {
1412:           _Tp __J_nu, __N_nu;
1412:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1412:           return __J_nu;
1412:         }
1412:       else
1412:         {
1412:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1412:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1412:           return __J_nu;
1412:         }
1412:     }
1412: # 532 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __cyl_neumann_n(_Tp __nu, _Tp __x)
1412:     {
1412:       if (__nu < _Tp(0) || __x < _Tp(0))
1412:         std::__throw_domain_error(("Bad argument " "in __cyl_neumann_n.")
1412:                                                             );
1412:       else if (__isnan(__nu) || __isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__x > _Tp(1000))
1412:      ol>
1434:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1434:  {
1434:    auto __ret = _M_h.try_emplace(cend(), std::move(__k),
1434:      std::forward<_Obj>(__obj));
1434:    if (!__ret.second)
1434:      __ret.first->second = std::forward<_Obj>(__obj);
1434:    return __ret;
1434:  }
1434: # 701 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template <typename _Obj>
1434:  iterator
1434:  insert_or_assign(const_iterator __hint, const key_type& __k,
1434:     _Obj&& __obj)
1434:  {
1434:    auto __ret = _M_h.try_emplace(__hint, __k, std::forward<_Obj>(__obj));
1434:    if (!__ret.second)
1434:      __ret.first->second = std::forward<_Obj>(__obj);
1434:    return __ret.first;
1434:  }
1434: 
1434: 
1434:       template <typename _Obj>
1434:  iterator
1434:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1434:  {
1434:    auto __ret = _M_h.try_emplace(__hint, std::move(__k),
1434:      std::forward<_Obj>(__obj));
1434:    if (!__ret.second)
1434:      __ret.first->second = std::forward<_Obj>(__obj);
1434:    return __ret.first;
1434:  }
1434: # 739 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_h.erase(__position); }
1434: 
1434: 
1434:       iterator
1434:       erase(iterator __position)
1434:       { return _M_h.erase(__position); }
1434: # 761 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_h.erase(__x); }
1434: # 779 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       { return _M_h.erase(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       clear() noexcept
1434:       { _M_h.clear(); }
1434: # 803 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       swap(unordered_map& __x)
1434:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1434:       { _M_h.swap(__x._M_h); }
1434: 
1434: 
1434:       template<typename, typename, typename>
1434:  friend class std::_Hash_merge_helper;
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1434:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1434:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       hasher
1434:       hash_function() const
1434:       { return _M_h.hash_function(); }
1434: 
1434: 
1434: 
1434:       key_equal
1434:       key_eq() const
1434:       { return _M_h.key_eq(); }
1434: # 867 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_h.find(__x); }
1434: # 878 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_h.find(__x); }
1434: # 900 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_h.count(__x); }
1434: # 940 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_h.equal_range(__x); }
1434: # 952 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_h.equal_range(__x); }
1434: # 978 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       mapped_type&
1434:       operator[](const key_type& __k)
1434:       { return _M_h[__k]; }
1434: 
1434:       mapped_type&
1434:       operator[](key_type&& __k)
1434:       { return _M_h[std::move(__k)]; }
1434: # 995 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       mapped_type&
1434:       at(const key_type& __k)
1434:       { return _M_h.at(__k); }
1434: 
1434:       const mapped_type&
1434:       at(const key_type& __k) const
1434:       { return _M_h.at(__k); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket_count() const noexcept
1434:       { return _M_h.bucket_count(); }
1434: 
1434: 
1434:       size_type
1434:       max_bucket_count() const noexcept
1434:       { return _M_h.max_bucket_count(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket_size(size_type __n) const
1434:       { return _M_h.bucket_size(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket(const key_type& __key) const
1434:       { return _M_h.bucket(__key); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       local_iterator
1434:       begin(size_type __n)
1434:       { return _M_h.begin(__n); }
1434: # 1051 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       const_local_iterator
1434:       begin(size_type __n) const
1434:       { return _M_h.begin(__n); }
1434: 
1434:       const_local_iterator
1434:       cbegin(size_type __n) const
1434:       { return _M_h.cbegin(__n); }
1434: # 1066 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       local_iterator
1434:       end(size_type __n)
1434:       { return _M_h.end(__n); }
1434: # 1077 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       const_local_iterator
1434:       end(size_type __n) const
1434:       { return _M_h.end(__n); }
1434: 
1434:       const_local_iterator
1434:       cend(size_type __n) const
1434:       { return _M_h.cend(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       float
1434:       load_factor() const noexcept
1434:       { return _M_h.load_factor(); }
1434: 
1434: 
1434: 
1434:       float
1434:       max_load_factor() const noexcept
1434:       { return _M_h.max_load_factor(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       max_load_factor(float __z)
1434:       { _M_h.max_load_factor(__z); }
1434: # 1114 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       rehash(size_type __n)
1434:       { _M_h.rehash(__n); }
1434: # 1125 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       reserve(size_type __n)
1434:       { _M_h.reserve(__n); }
1434: 
1434:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1434:         typename _Alloc1>
1434:         friend bool
1434:  operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&,
1434:      const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&);
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1434:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1434:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(_InputIterator, _InputIterator,
1434:     typename unordered_map<int, int>::size_type = {},
1434:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1434:     -> unordered_map<__iter_key_t<_InputIterator>,
1434:        __iter_val_t<_InputIterator>,
1434:        _Hash, _Pred, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1434:     typename _Pred = equal_to<_Key>,
1437: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_scan_normal()
1417:     {
1417:       auto __c = *_M_current++;
1417: 
1417:       if (__builtin_strchr(_M_spec_char, _M_ctype.narrow(__c, ' ')) == nullptr)
1417:  {
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, __c);
1417:    return;
1417:  }
1417:       if (__c == '\\')
1417:  {
1417:    if (_M_current == _M_end)
1417:      __throw_regex_error(
1417:        regex_constants::error_escape,
1417:        "Invalid escape at end of regular expression");
1417: 
1417:    if (!_M_is_basic()
1417:        || (*_M_current != '('
1417:     && *_M_current != ')'
1417:     && *_M_current != '{'))
1417:      {
1417:        (this->*_M_eat_escape)();
1417:        return;
1417:      }
1417:    __c = *_M_current++;
1417:  }
1417:       if (__c == '(')
1417:  {
1417:    if (_M_is_ecma() && *_M_current == '?')
1417:      {
1417:        if (++_M_current == _M_end)
1417:   __throw_regex_error(regex_constants::error_paren);
1417: 
1417:        if (*_M_current == ':')
1417:   {
1417:     ++_M_current;
1417:     _M_token = _S_token_subexpr_no_group_begin;
1417:   }
1417:        else if (*_M_current == '=')
1417:   {
1417:     ++_M_current;
1417:     _M_token = _S_token_subexpr_lookahead_begin;
1417:     _M_value.assign(1, 'p');
1417:   }
1417:        else if (*_M_current == '!')
1417:   {
1417:     ++_M_current;
1417:     _M_token = _S_token_subexpr_lookahead_begin;
1417:     _M_value.assign(1, 'n');
1417:   }
1417:        else
1417:   __throw_regex_error(regex_constants::error_paren,
1417:         "Invalid '(?...)' zero-width assertion "
1417:         "in regular expression");
1417:      }
1417:    else if (_M_flags & regex_constants::nosubs)
1417:      _M_token = _S_token_subexpr_no_group_begin;
1417:    else
1417:      _M_token = _S_token_subexpr_begin;
1417:  }
1417:       else if (__c == ')')
1417:  _M_token = _S_token_subexpr_end;
1417:       else if (__c == '[')
1417:  {
1417:    _M_state = _S_state_in_bracket;
1417:    _M_at_bracket_start = true;
1417:    if (_M_current != _M_end && *_M_current == '^')
1417:      {
1417:        _M_token = _S_token_bracket_neg_begin;
1417:        ++_M_current;
1417:      }
1417:    else
1417:      _M_token = _S_token_bracket_begin;
1417:  }
1417:       else if (__c == '{')
1417:  {
1417:    _M_state = _S_state_in_brace;
1417:    _M_token = _S_token_interval_begin;
1417:  }
1417:       else if (__builtin_expect(__c == _CharT(0), false))
1417:  {
1417:    if (!_M_is_ecma())
1417:      __throw_regex_error(regex_constants::_S_null);
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, __c);
1417:  }
1417:       else if (__c != ']' && __c != '}')
1417:  {
1417:    auto __it = _M_token_tbl;
1417:    auto __narrowc = _M_ctype.narrow(__c, '\0');
1417:    for (; __it->first != '\0'; ++__it)
1417:      if (__it->first == __narrowc)
1417:        {
1417:   _M_token = __it->second;
1417:   return;
1417:        }
1417:    do { if (std::__is_constant_evaluated() && !bool(!"unexpected special character in regex")) __builtin_unreachable(); } while (false);
1417:  }
1417:       else
1417:  {
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, __c);
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_scan_in_bracket()
1417:     {
1417:       if (_M_current == _M_end)
1417:  __throw_regex_error(regex_constants::error_brack);
1417: 
1417:       auto __c = *_M_current++;
1417: 
1417:       if (__c == '-')
1417:  _M_token = _S_token_bracket_dash;
1417:       else if (__c == '[')
1417:  {
1417:    if (_M_current == _M_end)
1417:      __throw_regex_error(regex_constants::error_brack,
1417:     "Incomplete '[[' character class in "
1417:     "regular expression");
1417: 
1417:    if (*_M_current == '.')
1417:      {
1417:        _M_token = _S_token_collsymbol;
1417:        _M_eat_class(*_M_current++);
1417:      }
1417:    else if (*_M_current == ':')
1417:      {
1417:        _M_t   {
1412:           _Tp __J_nu, __N_nu;
1412:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1412:           return __N_nu;
1412:         }
1412:       else
1412:         {
1412:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1412:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1412:           return __N_nu;
1412:         }
1412:     }
1412: # 569 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template <typename _Tp>
1412:     void
1412:     __sph_bessel_jn(unsigned int __n, _Tp __x,
1412:                     _Tp & __j_n, _Tp & __n_n, _Tp & __jp_n, _Tp & __np_n)
1412:     {
1412:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1412: 
1412:       _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1412:       __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1412: 
1412:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1412:                          / std::sqrt(__x);
1412: 
1412:       __j_n = __factor * __J_nu;
1412:       __n_n = __factor * __N_nu;
1412:       __jp_n = __factor * __Jp_nu - __j_n / (_Tp(2) * __x);
1412:       __np_n = __factor * __Np_nu - __n_n / (_Tp(2) * __x);
1412: 
1412:       return;
1412:     }
1412: # 604 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template <typename _Tp>
1412:     _Tp
1412:     __sph_bessel(unsigned int __n, _Tp __x)
1412:     {
1412:       if (__x < _Tp(0))
1412:         std::__throw_domain_error(("Bad argument " "in __sph_bessel.")
1412:                                                          );
1412:       else if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__x == _Tp(0))
1412:         {
1412:           if (__n == 0)
1412:             return _Tp(1);
1412:           else
1412:             return _Tp(0);
1412:         }
1412:       else
1412:         {
1412:           _Tp __j_n, __n_n, __jp_n, __np_n;
1412:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1412:           return __j_n;
1412:         }
1412:     }
1412: # 642 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1412:     template <typename _Tp>
1412:     _Tp
1412:     __sph_neumann(unsigned int __n, _Tp __x)
1412:     {
1412:       if (__x < _Tp(0))
1412:         std::__throw_domain_error(("Bad argument " "in __sph_neumann.")
1412:                                                           );
1412:       else if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__x == _Tp(0))
1412:         return -std::numeric_limits<_Tp>::infinity();
1412:       else
1412:         {
1412:           _Tp __j_n, __n_n, __jp_n, __np_n;
1412:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1412:           return __n_n;
1412:         }
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 51 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/beta_function.tcc" 1 3
1412: # 49 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 65 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 79 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __beta_gamma(_Tp __x, _Tp __y)
1412:     {
1412: 
1412:       _Tp __bet;
1412: 
1412:       if (__x > __y)
1412:         {
1412:           __bet = ::std::tgamma(__x)
1412:                 / ::std::tgamma(__x + __y);
1412:           __bet *= ::std::tgamma(__y);
1412:         }
1412:       else
1412:         {
1412:           __bet = ::std::tgamma(__y)
1412:                 / ::std::tgamma(__x + __y);
1412:           __bet *= ::std::tgamma(__x);
1412:         }
1412: # 111 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1412:       return __bet;
1412:     }
1412: # 127 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __beta_lgamma(_Tp __x, _Tp __y)
1412:     {
1412: 
1412:       _Tp __bet = ::std::lgamma(__x)
1412:                 + ::std::lga4:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1434:     typename unordered_map<int, int>::size_type = {},
1434:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1434:     -> unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(_InputIterator, _InputIterator,
1434:     typename unordered_map<int, int>::size_type, _Allocator)
1434:     -> unordered_map<__iter_key_t<_InputIterator>,
1434:        __iter_val_t<_InputIterator>,
1434:        hash<__iter_key_t<_InputIterator>>,
1434:        equal_to<__iter_key_t<_InputIterator>>,
1434:        _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(_InputIterator, _InputIterator, _Allocator)
1434:     -> unordered_map<__iter_key_t<_InputIterator>,
1434:        __iter_val_t<_InputIterator>,
1434:        hash<__iter_key_t<_InputIterator>>,
1434:        equal_to<__iter_key_t<_InputIterator>>,
1434:        _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(_InputIterator, _InputIterator,
1434:     typename unordered_map<int, int>::size_type,
1434:     _Hash, _Allocator)
1434:     -> unordered_map<__iter_key_t<_InputIterator>,
1434:        __iter_val_t<_InputIterator>, _Hash,
1434:        equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1434:     typename unordered_map<int, int>::size_type,
1434:     _Allocator)
1434:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1434:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1434:     typename unordered_map<int, int>::size_type,
1434:     _Hash, _Allocator)
1434:     -> unordered_map<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1434: # 1241 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:   template<typename _Key, typename _Tp,
1434:     typename _Hash = hash<_Key>,
1434:     typename _Pred = equal_to<_Key>,
1434:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1434:     class unordered_multimap
1434:     {
1434:       typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1434:       _Hashtable _M_h;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::key_type key_type;
1434:       typedef typename _Hashtable::value_type value_type;
1434:       typedef typename _Hashtable::mapped_type mapped_type;
1434:       typedef typename _Hashtable::hasher hasher;
1434:       typedef typename _Hashtable::key_equal key_equal;
1434:       typedef typename _Hashtable::allocator_type allocator_type;
1434: 
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::pointer pointer;
1434:       typedef typename _Hashtable::const_pointer const_pointer;
1434:       typedef typename _Hashtable::reference reference;
1434:       typedef typename _Hashtable::const_reference const_reference;
1434:       typedef typename _Hashtable::iterator iterator;
1434:       typedef typename _Hashtable::const_iterator const_iterator;
1434:       typedef typename _Hashtable::local_iterator local_iterator;
1434:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1434:       typedef typename _Hashtable::size_type size_type;
1434:       typedef typename _Hashtable::difference_type difference_type;
1434: 
1434: 
1434: 
1434:       using node_type = typename _Hashtable::node_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_multimap() = default;
1434: # 1292 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       explicit
1434:       unordered_multimap(size_type __n,
1434:     const hasher& __hf = hasher(),
1434:     const key_equal& __eql = key_equal(),
1434:     const allocator_type& __a = allocator_type())
1434:       : _M_h(__n, __hf, __eql, __a)
1434:       { }
1434: # 1313 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename _InputIterator>
1434:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1434:       size_type __n = 0,
1434:       const hasher& __hf = hasher(),
1434:       const key_equal& __eql = key_equal(),
1434:       const allocator_type& __a = allocator_type())
1434:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1434:  { }
1434: 
1434: 
1434:       unordered_multimap(const unordered_multimap&) = default;
1434: 
1434: 
1434:       unordered_multimap(unordered_multimap&&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       unordered_multimap(const allocator_type& __a)
1434:       : _M_h(__a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_multimap(const unordered_multimap& __ummap,
1434:     const allocator_type& __a)
1434:       : _M_h(__ummap._M_h, __a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_multimap(unordered_multimap&& __ummap,
1434:     const allocator_type& __a)
1434:  noexcept( noexcept(_Hashtable(std::move(__ummap._M_h), __a)) )
1434:       : _M_h(std::move(__ummap._M_h), __a)
1434:       { }
1434: # 1369 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       unordered_multimap(initializer_list<value_type> __l,
1434:     size_type __n = 0,
1434:     const hasher& __hf = hasher(),
1434:     const key_equal& __eql = key_equal(),
1434:     const allocator_type& __a = allocator_type())
1434:       : _M_h(__l, __n, __hf, __eql, __a)
1434:       { }
1434: 
1434:       unordered_multimap(size_type __n, const allocator_type& __a)
1434:       : unordered_multimap(__n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_multimap(size_type __n, const hasher& __hf,
1434:     const allocator_type& __a)
1434:       : unordered_multimap(__n, __hf, key_equal(), __a)
1434:       { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1434:       size_type __n,
1434:       const allocator_type& __a)
1434:  : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a)
1434:  { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1434:       size_type __n, const hasher& __hf,
1434:       const allocator_type& __a)
1434:  : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a)
1434:  { }
1434: 
1434:       unordered_multimap(initializer_list<value_type> __l,
1434:     size_type __n,
1434:     const allocator_type& __a)
1434:       : unordered_multimap(__l, __n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_multimap(initializer_list<value_type> __l,
1434:     size_type __n, const hasher& __hf,
1434:     const allocator_type& __a)
1434:       : unordered_multimap(__l, __n, __hf, key_equal(), __a)
1434:       { }
1434: 
1434: 
1434:       unordered_multimap&
1434:       operator=(const unordered_multimap&) = defauloken = _S_token_char_class_name;
1417:        _M_eat_class(*_M_current++);
1417:      }
1417:    else if (*_M_current == '=')
1417:      {
1417:        _M_token = _S_token_equiv_class_name;
1417:        _M_eat_class(*_M_current++);
1417:      }
1417:    else
1417:      {
1417:        _M_token = _S_token_ord_char;
1417:        _M_value.assign(1, __c);
1417:      }
1417:  }
1417: 
1417: 
1417: 
1417:       else if (__c == ']' && (_M_is_ecma() || !_M_at_bracket_start))
1417:  {
1417:    _M_token = _S_token_bracket_end;
1417:    _M_state = _S_state_normal;
1417:  }
1417: 
1417:       else if (__c == '\\' && (_M_is_ecma() || _M_is_awk()))
1417:  (this->*_M_eat_escape)();
1417:       else
1417:  {
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, __c);
1417:  }
1417:       _M_at_bracket_start = false;
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_scan_in_brace()
1417:     {
1417:       if (_M_current == _M_end)
1417:  __throw_regex_error(regex_constants::error_brace);
1417: 
1417:       auto __c = *_M_current++;
1417: 
1417:       if (_M_ctype.is(_CtypeT::digit, __c))
1417:  {
1417:    _M_token = _S_token_dup_count;
1417:    _M_value.assign(1, __c);
1417:    while (_M_current != _M_end
1417:    && _M_ctype.is(_CtypeT::digit, *_M_current))
1417:      _M_value += *_M_current++;
1417:  }
1417:       else if (__c == ',')
1417:  _M_token = _S_token_comma;
1417: 
1417:       else if (_M_is_basic())
1417:  {
1417:    if (__c == '\\' && _M_current != _M_end && *_M_current == '}')
1417:      {
1417:        _M_state = _S_state_normal;
1417:        _M_token = _S_token_interval_end;
1417:        ++_M_current;
1417:      }
1417:    else
1417:      __throw_regex_error(regex_constants::error_badbrace);
1417:  }
1417:       else if (__c == '}')
1417:  {
1417:    _M_state = _S_state_normal;
1417:    _M_token = _S_token_interval_end;
1417:  }
1417:       else
1417:  __throw_regex_error(regex_constants::error_badbrace);
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_eat_escape_ecma()
1417:     {
1417:       if (_M_current == _M_end)
1417:  __throw_regex_error(regex_constants::error_escape);
1417: 
1417:       auto __c = *_M_current++;
1417:       auto __pos = _M_find_escape(_M_ctype.narrow(__c, '\0'));
1417: 
1417:       if (__pos != nullptr && (__c != 'b' || _M_state == _S_state_in_bracket))
1417:  {
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, *__pos);
1417:  }
1417:       else if (__c == 'b')
1417:  {
1417:    _M_token = _S_token_word_bound;
1417:    _M_value.assign(1, 'p');
1417:  }
1417:       else if (__c == 'B')
1417:  {
1417:    _M_token = _S_token_word_bound;
1417:    _M_value.assign(1, 'n');
1417:  }
1417: 
1417:       else if (__c == 'd'
1417:         || __c == 'D'
1417:         || __c == 's'
1417:         || __c == 'S'
1417:         || __c == 'w'
1417:         || __c == 'W')
1417:  {
1417:    _M_token = _S_token_quoted_class;
1417:    _M_value.assign(1, __c);
1417:  }
1417:       else if (__c == 'c')
1417:  {
1417:    if (_M_current == _M_end)
1417:      __throw_regex_error(regex_constants::error_escape,
1417:     "invalid '\\cX' control character in "
1417:     "regular expression");
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, *_M_current++);
1417:  }
1417:       else if (__c == 'x' || __c == 'u')
1417:  {
1417:    _M_value.clear();
1417:    const int __n = __c == 'x' ? 2 : 4;
1417:    for (int __i = 0; __i < __n; __i++)
1417:      {
1417:        if (_M_current == _M_end
1417:     || !_M_ctype.is(_CtypeT::xdigit, *_M_current))
1417:   __throw_regex_error(regex_constants::error_escape,
1417:         __n == 2
1417:         ? "Invalid '\\xNN' control character in "
1417:           "regular expression"
1417:         : "Invalid '\\uNNNN' control character in "
1417:           "regular expression");
1417:        _M_value += *_M_current++;
1417:      }
1417:    _M_token = _S_token_hex_num;
1417:  }
1417: 
1417:       else if (_M_ctype.is(_Cmma(__y)
1412:                 - ::std::lgamma(__x + __y);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       __bet = std::exp(__bet);
1412:       return __bet;
1412:     }
1412: # 158 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __beta_product(_Tp __x, _Tp __y)
1412:     {
1412: 
1412:       _Tp __bet = (__x + __y) / (__x * __y);
1412: 
1412:       unsigned int __max_iter = 1000000;
1412:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1412:         {
1412:           _Tp __term = (_Tp(1) + (__x + __y) / __k)
1412:                      / ((_Tp(1) + __x / __k) * (_Tp(1) + __y / __k));
1412:           __bet *= __term;
1412:         }
1412: 
1412:       return __bet;
1412:     }
1412: # 189 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __beta(_Tp __x, _Tp __y)
1412:     {
1412:       if (__isnan(__x) || __isnan(__y))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else
1412:         return __beta_lgamma(__x, __y);
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 52 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/ell_integral.tcc" 1 3
1412: # 45 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 59 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 76 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __ellint_rf(_Tp __x, _Tp __y, _Tp __z)
1412:     {
1412:       const _Tp __min = std::numeric_limits<_Tp>::min();
1412:       const _Tp __lolim = _Tp(5) * __min;
1412: 
1412:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1412:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rf.")
1412:                                                         );
1412:       else if (__x + __y < __lolim || __x + __z < __lolim
1412:             || __y + __z < __lolim)
1412:         std::__throw_domain_error(("Argument too small in __ellint_rf"));
1412:       else
1412:         {
1412:           const _Tp __c0 = _Tp(1) / _Tp(4);
1412:           const _Tp __c1 = _Tp(1) / _Tp(24);
1412:           const _Tp __c2 = _Tp(1) / _Tp(10);
1412:           const _Tp __c3 = _Tp(3) / _Tp(44);
1412:           const _Tp __c4 = _Tp(1) / _Tp(14);
1412: 
1412:           _Tp __xn = __x;
1412:           _Tp __yn = __y;
1412:           _Tp __zn = __z;
1412: 
1412:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:           const _Tp __errtol = std::pow(__eps, _Tp(1) / _Tp(6));
1412:           _Tp __mu;
1412:           _Tp __xndev, __yndev, __zndev;
1412: 
1412:           const unsigned int __max_iter = 100;
1412:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1412:             {
1412:               __mu = (__xn + __yn + __zn) / _Tp(3);
1412:               __xndev = 2 - (__mu + __xn) / __mu;
1412:               __yndev = 2 - (__mu + __yn) / __mu;
1412:               __zndev = 2 - (__mu + __zn) / __mu;
1412:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1412:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1412:               if (__epsilon < __errtol)
1412:                 break;
1412:               const _Tp __xnroot = std::sqrt(__xn);
1412:               const _Tp __ynroot = std::sqrt(__yn);
1412:               const _Tp __znroot = std::sqrt(__zn);
1412:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1412:                                  + __ynroot * __znroot;
1412:               __xn = __c0 * (__xn + __lambda);
1412:               __yn = __c0 * (__yn + __lambda);
1412:               __zn = __c0 * (__zn + __lambda);
1412:             }
1412: 
1412:           const _Tp __e2 = __xndev * __yndev - __zndev * __zndev;
1412:           const _Tp __e3 = __xndev * __yndev * __zndev;
1412:           const _Tp __s = _Tp(1) + (__c1 * __e2 - __c2 - __c3 * _t;
1434: 
1434: 
1434:       unordered_multimap&
1434:       operator=(unordered_multimap&&) = default;
1434: # 1431 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       unordered_multimap&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_h = __l;
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return _M_h.get_allocator(); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_h.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_h.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_h.max_size(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       begin() noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return _M_h.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return _M_h.end(); }
1434: 
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return _M_h.end(); }
1434: # 1523 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace(_Args&&... __args)
1434:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1434: # 1550 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1434: # 1565 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       insert(const value_type& __x)
1434:       { return _M_h.insert(__x); }
1434: 
1434:       iterator
1434:       insert(value_type&& __x)
1434:       { return _M_h.insert(std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1434:  insert(_Pair&& __x)
1434:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1434: # 1599 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       insert(const_iterator __hint, const value_type& __x)
1434:       { return _M_h.insert(__hint, __x); }
1434: 
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, value_type&& __x)
1434:       { return _M_h.insert(__hint, std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1434:  insert(const_iterator __hint, _Pair&& __x)
1434:         { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1434: # 1624 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_h.insert(__first, __last); }
1434: # 1637 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { _M_h.insert(__l); }
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_h.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __key)
1434:       { return _M_h.extract(__key); }
1434: 
1434: 
1434:       iterator
1434:       insert(node_type&& __nh)
1434:       { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, node_type&& __nh)
1434:       { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); }
1434: # 1680 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_h.erase(__position); }
1434: 
1434: 
1434:       iterator
1434:       erase(iterator __position)
1434:       { return _M_h.erase(__position); }
1434: # 1701 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_h.erase(__x); }
1434: # 1720 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       { return _M_h.erase(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       clear() noexcept
1434:       { _M_h.clear(); }
1434: # 1744 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       swap(unordered_multimap& __x)
1434:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1434:       { _M_h.swap(__x._M_h); }
1434: 
1434: 
1434:       template<typename, typename, typename>
1434:  friend class std::_Hash_merge_helper;
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper
1434:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1434:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper
1434:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1434:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       hasher
1434:       hash_function() const
1434:       { return _M_h.hash_function(); }
1434: 
1434: 
1434: 
1434:       key_equal
1434:       key_eq() const
1434:       { return _M_h.key_eq(); }
1434: # 1810 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_h.find(__x); }
1434: # 1821 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_h.find(__x); }
1434: # 1839 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_h.count(__x); }
1434: # 1877 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_h.equal_range(__x); }
1434: # 1889 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_h.equal_range(__x); }
1434: # 1905 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       size_type
1434:       bucket_count() const noexcept
1434:       { return _M_h.bucket_count(); }
1434: 
1434: 
1434:       size_type
1434:       max_bucket_count() const noexcept
1434:       { return _M_h.max_bucket_count(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket_size(size_type __n) const
1434:       { return _M_h.bucket_size(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket(const key_type& __key) const
1434:       { return _M_h.bucket(__key); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       local_iterator
1434:       begin(size_type __n)
1434:       { return _M_h.begin(__n); }
1434: # 1949 "/usr/include/c++/12/bits/unorderetypeT::digit, __c))
1417:  {
1417:    _M_value.assign(1, __c);
1417:    while (_M_current != _M_end
1417:    && _M_ctype.is(_CtypeT::digit, *_M_current))
1417:      _M_value += *_M_current++;
1417:    _M_token = _S_token_backref;
1417:  }
1417:       else
1417:  {
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, __c);
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_eat_escape_posix()
1417:     {
1417:       if (_M_current == _M_end)
1417:  __throw_regex_error(regex_constants::error_escape);
1417: 
1417:       auto __c = *_M_current;
1417:       auto __pos = __builtin_strchr(_M_spec_char, _M_ctype.narrow(__c, '\0'));
1417: 
1417:       if (__pos != nullptr && *__pos != '\0')
1417:  {
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, __c);
1417:  }
1417: 
1417:       else if (_M_is_awk())
1417:  {
1417:    _M_eat_escape_awk();
1417:    return;
1417:  }
1417:       else if (_M_is_basic() && _M_ctype.is(_CtypeT::digit, __c) && __c != '0')
1417:  {
1417:    _M_token = _S_token_backref;
1417:    _M_value.assign(1, __c);
1417:  }
1417:       else
1417:  {
1417: 
1417: 
1417:    __throw_regex_error(regex_constants::error_escape);
1417: 
1417: 
1417: 
1417: 
1417:  }
1417:       ++_M_current;
1417:     }
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_eat_escape_awk()
1417:     {
1417:       auto __c = *_M_current++;
1417:       auto __pos = _M_find_escape(_M_ctype.narrow(__c, '\0'));
1417: 
1417:       if (__pos != nullptr)
1417:  {
1417:    _M_token = _S_token_ord_char;
1417:    _M_value.assign(1, *__pos);
1417:  }
1417: 
1417:       else if (_M_ctype.is(_CtypeT::digit, __c)
1417:         && __c != '8'
1417:         && __c != '9')
1417:  {
1417:    _M_value.assign(1, __c);
1417:    for (int __i = 0;
1417:         __i < 2
1417:         && _M_current != _M_end
1417:         && _M_ctype.is(_CtypeT::digit, *_M_current)
1417:         && *_M_current != '8'
1417:         && *_M_current != '9';
1417:         __i++)
1417:      _M_value += *_M_current++;
1417:    _M_token = _S_token_oct_num;
1417:    return;
1417:  }
1417:       else
1417:  __throw_regex_error(regex_constants::error_escape);
1417:     }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _CharT>
1417:     void
1417:     _Scanner<_CharT>::
1417:     _M_eat_class(char __ch)
1417:     {
1417:       for (_M_value.clear(); _M_current != _M_end && *_M_current != __ch;)
1417:  _M_value += *_M_current++;
1417:       if (_M_current == _M_end
1417:    || *_M_current++ != __ch
1417:    || _M_current == _M_end
1417:    || *_M_current++ != ']')
1417:  {
1417:    __throw_regex_error(__ch == ':' ? regex_constants::error_ctype
1417:        : regex_constants::error_collate);
1417:  }
1417:     }
1417: # 582 "/usr/include/c++/12/bits/regex_scanner.tcc" 3
1417: }
1417: 
1417: }
1417: # 272 "/usr/include/c++/12/bits/regex_scanner.h" 2 3
1417: # 65 "/usr/include/c++/12/regex" 2 3
1417: # 1 "/usr/include/c++/12/bits/regex_compiler.h" 1 3
1417: # 31 "/usr/include/c++/12/bits/regex_compiler.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: namespace __cxx11 {
1417: 
1417:   template<typename>
1417:     class regex_traits;
1417: 
1417: }
1417: 
1417: namespace __detail
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename, bool, bool>
1417:     struct _BracketMatcher;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _TraitsT>
1417:     class _Compiler
1417:     {
1417:     public:
1417:       typedef typename _TraitsT::char_type _CharT;
1417:       typedef _NFA<_TraitsT> _RegexT;
1417:       typedef regex_constants::syntax_option_type _FlagT;
1417: 
1417:       _Compiler(const _CharT* __b, const _CharT* __e,
1417:   const typename _TraitsT::locale_type& __traits, _FlagT __flags);
1417: 
1417:       shared_ptr<const _RegexT>
1417:       _M_get_nfa() noexcept
1417:       { return std::move(_M_nfa); }
1417: 
1417:     private:
1417:       typedef _Scanner<d_map.h" 3
1434:       const_local_iterator
1434:       begin(size_type __n) const
1434:       { return _M_h.begin(__n); }
1434: 
1434:       const_local_iterator
1434:       cbegin(size_type __n) const
1434:       { return _M_h.cbegin(__n); }
1434: # 1964 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       local_iterator
1434:       end(size_type __n)
1434:       { return _M_h.end(__n); }
1434: # 1975 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       const_local_iterator
1434:       end(size_type __n) const
1434:       { return _M_h.end(__n); }
1434: 
1434:       const_local_iterator
1434:       cend(size_type __n) const
1434:       { return _M_h.cend(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       float
1434:       load_factor() const noexcept
1434:       { return _M_h.load_factor(); }
1434: 
1434: 
1434: 
1434:       float
1434:       max_load_factor() const noexcept
1434:       { return _M_h.max_load_factor(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       max_load_factor(float __z)
1434:       { _M_h.max_load_factor(__z); }
1434: # 2012 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       rehash(size_type __n)
1434:       { _M_h.rehash(__n); }
1434: # 2023 "/usr/include/c++/12/bits/unordered_map.h" 3
1434:       void
1434:       reserve(size_type __n)
1434:       { _M_h.reserve(__n); }
1434: 
1434:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1434:         typename _Alloc1>
1434:         friend bool
1434:  operator==(const unordered_multimap<_Key1, _Tp1,
1434:          _Hash1, _Pred1, _Alloc1>&,
1434:      const unordered_multimap<_Key1, _Tp1,
1434:          _Hash1, _Pred1, _Alloc1>&);
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1434:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1434:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(_InputIterator, _InputIterator,
1434:          unordered_multimap<int, int>::size_type = {},
1434:          _Hash = _Hash(), _Pred = _Pred(),
1434:          _Allocator = _Allocator())
1434:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1434:      __iter_val_t<_InputIterator>, _Hash, _Pred,
1434:      _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1434:     typename _Pred = equal_to<_Key>,
1434:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1434:          unordered_multimap<int, int>::size_type = {},
1434:          _Hash = _Hash(), _Pred = _Pred(),
1434:          _Allocator = _Allocator())
1434:     -> unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(_InputIterator, _InputIterator,
1434:          unordered_multimap<int, int>::size_type, _Allocator)
1434:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1434:      __iter_val_t<_InputIterator>,
1434:      hash<__iter_key_t<_InputIterator>>,
1434:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(_InputIterator, _InputIterator, _Allocator)
1434:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1434:      __iter_val_t<_InputIterator>,
1434:      hash<__iter_key_t<_InputIterator>>,
1434:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(_InputIterator, _InputIterator,
1434:          unordered_multimap<int, int>::size_type, _Hash,
1434:          _Allocator)
1434:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1434:      __iter_val_t<_InputIterator>, _Hash,
1434:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1434:          unordered_multimap<int, int>::size_type,
1434:          _Allocator)
1434:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1434:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1434:          unordered_multimap<int, int>::size_type,
1434:          _Hash, _Allocator)
1434:     -> unordered_multimap<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1434: 
1434: 
1434: 
1434:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1434:     inline void
1434:     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1434:   unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1434:     inline void
1434:     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1434:   unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1434:     { return __x._M_h._M_equal(__y._M_h); }
1434: 
1434: 
1434:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1434:     { return __x._M_h._M_equal(__y._M_h); }
1434: 
1434: 
1434:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1434:     typename _Alloc, typename _Hash2, typename _Eq2>
1434:     struct _Hash_merge_helper<
1434:       std::unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1434:       _Hash2, _Eq2>
1434:     {
1434:     private:
1434:       template<typename... _Tp>
1434:  using unordered_map = std::unordered_map<_Tp...>;
_CharT> _ScannerT;
1417:       typedef typename _TraitsT::string_type _StringT;
1417:       typedef typename _ScannerT::_TokenT _TokenT;
1417:       typedef _StateSeq<_TraitsT> _StateSeqT;
1417:       typedef std::stack<_StateSeqT> _StackT;
1417:       typedef std::ctype<_CharT> _CtypeT;
1417: 
1417: 
1417:       bool
1417:       _M_match_token(_TokenT __token);
1417: 
1417:       void
1417:       _M_disjunction();
1417: 
1417:       void
1417:       _M_alternative();
1417: 
1417:       bool
1417:       _M_term();
1417: 
1417:       bool
1417:       _M_assertion();
1417: 
1417:       bool
1417:       _M_quantifier();
1417: 
1417:       bool
1417:       _M_atom();
1417: 
1417:       bool
1417:       _M_bracket_expression();
1417: 
1417:       template<bool __icase, bool __collate>
1417:  void
1417:  _M_insert_any_matcher_ecma();
1417: 
1417:       template<bool __icase, bool __collate>
1417:  void
1417:  _M_insert_any_matcher_posix();
1417: 
1417:       template<bool __icase, bool __collate>
1417:  void
1417:  _M_insert_char_matcher();
1417: 
1417:       template<bool __icase, bool __collate>
1417:  void
1417:  _M_insert_character_class_matcher();
1417: 
1417:       template<bool __icase, bool __collate>
1417:  void
1417:  _M_insert_bracket_matcher(bool __neg);
1417: 
1417: 
1417:       struct _BracketState
1417:       {
1417:  enum class _Type : char { _None, _Char, _Class } _M_type = _Type::_None;
1417:  _CharT _M_char = _CharT();
1417: 
1417:  void
1417:  set(_CharT __c) noexcept { _M_type = _Type::_Char; _M_char = __c; }
1417: 
1417:  [[__nodiscard__]] _CharT
1417:  get() const noexcept { return _M_char; }
1417: 
1417:  void
1417:  reset(_Type __t = _Type::_None) noexcept { _M_type = __t; }
1417: 
1417:  explicit operator bool() const noexcept
1417:  { return _M_type != _Type::_None; }
1417: 
1417: 
1417:  [[__nodiscard__]] bool
1417:  _M_is_char() const noexcept { return _M_type == _Type::_Char; }
1417: 
1417: 
1417: 
1417:  [[__nodiscard__]] bool
1417:  _M_is_class() const noexcept { return _M_type == _Type::_Class; }
1417:       };
1417: 
1417:       template<bool __icase, bool __collate>
1417:  using _BracketMatcher
1417:    = std::__detail::_BracketMatcher<_TraitsT, __icase, __collate>;
1417: 
1417: 
1417: 
1417: 
1417:       template<bool __icase, bool __collate>
1417:  bool
1417:  _M_expression_term(_BracketState& __last_char,
1417:       _BracketMatcher<__icase, __collate>& __matcher);
1417: 
1417:       int
1417:       _M_cur_int_value(int __radix);
1417: 
1417:       bool
1417:       _M_try_char();
1417: 
1417:       _StateSeqT
1417:       _M_pop()
1417:       {
1417:  auto ret = _M_stack.top();
1417:  _M_stack.pop();
1417:  return ret;
1417:       }
1417: 
1417:       static _FlagT
1417:       _S_validate(_FlagT __f)
1417:       {
1417:  using namespace regex_constants;
1417:  switch (__f & (ECMAScript|basic|extended|awk|grep|egrep))
1417:    {
1417:    case ECMAScript:
1417:    case basic:
1417:    case extended:
1417:    case awk:
1417:    case grep:
1417:    case egrep:
1417:      return __f;
1417:    case _FlagT(0):
1417:      return __f | ECMAScript;
1417:    default:
1417:      std::__throw_regex_error(_S_grammar, "conflicting grammar options");
1417:    }
1417:       }
1417: 
1417:       _FlagT _M_flags;
1417:       _ScannerT _M_scanner;
1417:       shared_ptr<_RegexT> _M_nfa;
1417:       _StringT _M_value;
1417:       _StackT _M_stack;
1417:       const _TraitsT& _M_traits;
1417:       const _CtypeT& _M_ctype;
1417:     };
1417: 
1417: 
1417:   template<typename _TraitsT, bool __icase, bool __collate>
1417:     class _RegexTranslatorBase
1417:     {
1417:     public:
1417:       typedef typename _TraitsT::char_type _CharT;
1417:       typedef typename _TraitsT::string_type _StringT;
1417:       typedef _StringT _StrTransT;
1417: 
1417:       explicit
1417:       _RegexTranslatorBase(const _TraitsT& __traits)
1417:       : _M_traits(__traits)
1417:       { }
1417: 
1417:       _CharT
1417:       _M_translate(_CharT __ch) const
1417:       {
1417:  if constexpr (__icase)
1417:    return _M_traits.tran1434:       template<typename... _Tp>
1434:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1434: 
1434:       friend unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1434:       { return __map._M_h; }
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1434:       { return __map._M_h; }
1434:     };
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1434:     typename _Alloc, typename _Hash2, typename _Eq2>
1434:     struct _Hash_merge_helper<
1434:       std::unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1434:       _Hash2, _Eq2>
1434:     {
1434:     private:
1434:       template<typename... _Tp>
1434:  using unordered_map = std::unordered_map<_Tp...>;
1434:       template<typename... _Tp>
1434:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1434: 
1434:       friend unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1434:       { return __map._M_h; }
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1434:       { return __map._M_h; }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 48 "/usr/include/c++/12/unordered_map" 2 3
1434: # 56 "/usr/include/c++/12/unordered_map" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr
1434:   {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1434:       typename _Pred = std::equal_to<_Key>>
1434:       using unordered_map
1434:  = std::unordered_map<_Key, _Tp, _Hash, _Pred,
1434:         polymorphic_allocator<pair<const _Key, _Tp>>>;
1434:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1434:       typename _Pred = std::equal_to<_Key>>
1434:       using unordered_multimap
1434:  = std::unordered_multimap<_Key, _Tp, _Hash, _Pred,
1434:       polymorphic_allocator<pair<const _Key, _Tp>>>;
1434:   }
1434: 
1434: }
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434: class CLocale
1434: {
1434: public:
1434:   CLocale();
1434:   explicit CLocale(const std::string& language);
1434:   CLocale(const std::string& language, const std::string& territory);
1434:   CLocale(const std::string& language, const std::string& territory, const std::string& codeset);
1434:   CLocale(const std::string& language, const std::string& territory, const std::string& codeset, const std::string& modifier);
1434:   ~CLocale();
1434: 
1434: 
1434: 
1434: 
1434:   static const CLocale Empty;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static CLocale FromString(const std::string& locale);
1434: 
1434:   bool operator==(const CLocale& other) const;
1434:   inline bool operator!=(const CLocale& other) const { return !(*this == other); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsValid() const { return m_valid; }
1434: 
1434: 
1434: 
1434: 
1434:   const std::string& GetLanguageCode() const { return m_language; }
1434: 
1434: 
1434: 
1434:   const std::string& GetTerritoryCode() const { return m_territory; }
1434: 
1434: 
1434: 
1434:   const std::string& GetCodeset() const { return m_codeset; }
1434: 
1434: 
1434: 
1434:   const std::string& GetModifier() const { return m_modifier; }
1434: # 75 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:   std::string ToString() const;
1434: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:   std::string ToStringLC() const;
1434: # 93 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:   std::string ToShortString() const;
1434: # 102 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
14_e3) * __e2
1412:                    + __c4 * __e3;
1412: 
1412:           return __s / std::sqrt(__mu);
1412:         }
1412:     }
1412: # 153 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __comp_ellint_1_series(_Tp __k)
1412:     {
1412: 
1412:       const _Tp __kk = __k * __k;
1412: 
1412:       _Tp __term = __kk / _Tp(4);
1412:       _Tp __sum = _Tp(1) + __term;
1412: 
1412:       const unsigned int __max_iter = 1000;
1412:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1412:         {
1412:           __term *= (2 * __i - 1) * __kk / (2 * __i);
1412:           if (__term < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:           __sum += __term;
1412:         }
1412: 
1412:       return __numeric_constants<_Tp>::__pi_2() * __sum;
1412:     }
1412: # 191 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __comp_ellint_1(_Tp __k)
1412:     {
1412: 
1412:       if (__isnan(__k))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (std::abs(__k) >= _Tp(1))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else
1412:         return __ellint_rf(_Tp(0), _Tp(1) - __k * __k, _Tp(1));
1412:     }
1412: # 219 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __ellint_1(_Tp __k, _Tp __phi)
1412:     {
1412: 
1412:       if (__isnan(__k) || __isnan(__phi))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (std::abs(__k) > _Tp(1))
1412:         std::__throw_domain_error(("Bad argument in __ellint_1."));
1412:       else
1412:         {
1412: 
1412:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1412:                                    + _Tp(0.5L));
1412:           const _Tp __phi_red = __phi
1412:                               - __n * __numeric_constants<_Tp>::__pi();
1412: 
1412:           const _Tp __s = std::sin(__phi_red);
1412:           const _Tp __c = std::cos(__phi_red);
1412: 
1412:           const _Tp __F = __s
1412:                         * __ellint_rf(__c * __c,
1412:                                 _Tp(1) - __k * __k * __s * __s, _Tp(1));
1412: 
1412:           if (__n == 0)
1412:             return __F;
1412:           else
1412:             return __F + _Tp(2) * __n * __comp_ellint_1(__k);
1412:         }
1412:     }
1412: # 266 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __comp_ellint_2_series(_Tp __k)
1412:     {
1412: 
1412:       const _Tp __kk = __k * __k;
1412: 
1412:       _Tp __term = __kk;
1412:       _Tp __sum = __term;
1412: 
1412:       const unsigned int __max_iter = 1000;
1412:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1412:         {
1412:           const _Tp __i2m = 2 * __i - 1;
1412:           const _Tp __i2 = 2 * __i;
1412:           __term *= __i2m * __i2m * __kk / (__i2 * __i2);
1412:           if (__term < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:           __sum += __term / __i2m;
1412:         }
1412: 
1412:       return __numeric_constants<_Tp>::__pi_2() * (_Tp(1) - __sum);
1412:     }
1412: # 314 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __ellint_rd(_Tp __x, _Tp __y, _Tp __z)
1412:     {
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1412:       const _Tp __max = std::numeric_limits<_Tp>::max();
1412:       const _Tp __lolim = _Tp(2) / std::pow(__max, _Tp(2) / _Tp(3));
1412: 
1412:       if (__x < _Tp(0) || __y < _Tp(0))
1412:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rd.")
1412:                                                         );
1412:       else if (__x + __y < __lolim || __z < __lolim)
1412:         std::__throw_domain_error(("Argument too small " "in __ellint_rd.")
1412:                             34:   std::string ToShortStringLC() const;
1434: # 111 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:   bool Equals(const std::string& locale) const;
1434: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:   bool Matches(const std::string& locale) const;
1434: # 132 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:   std::string FindBestMatch(const std::set<std::string>& locales) const;
1434: # 145 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1434:   std::string FindBestMatch(const std::unordered_map<std::string, std::string>& locales) const;
1434: 
1434: private:
1434:   static bool CheckValidity(const std::string& language, const std::string& territory, const std::string& codeset, const std::string& modifier);
1434:   static bool ParseLocale(const std::string &locale, std::string &language, std::string &territory, std::string &codeset, std::string &modifier);
1434: 
1434:   void Initialize();
1434: 
1434:   int GetMatchRank(const std::string& locale) const;
1434: 
1434:   bool m_valid = false;
1434:   std::string m_language;
1434:   std::string m_territory;
1434:   std::string m_codeset;
1434:   std::string m_modifier;
1434: };
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Speed.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Speed.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IArchivable.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IArchivable.h"
1434:        
1434: 
1434: class CArchive;
1434: 
1434: class IArchivable
1434: {
1434: protected:
1434: 
1434:   virtual ~IArchivable() = default;
1434: 
1434: public:
1434:   virtual void Archive(CArchive& ar) = 0;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Speed.h" 2
1434: 
1434: 
1434: 
1434: class CSpeed : public IArchivable
1434: {
1434: public:
1434:   CSpeed();
1434:   CSpeed(const CSpeed& speed);
1434: 
1434:   typedef enum Unit
1434:   {
1434:     UnitKilometresPerHour = 0,
1434:     UnitMetresPerMinute,
1434:     UnitMetresPerSecond,
1434:     UnitFeetPerHour,
1434:     UnitFeetPerMinute,
1434:     UnitFeetPerSecond,
1434:     UnitMilesPerHour,
1434:     UnitKnots,
1434:     UnitBeaufort,
1434:     UnitInchPerSecond,
1434:     UnitYardPerSecond,
1434:     UnitFurlongPerFortnight
1434:   } Unit;
1434: 
1434:   static CSpeed CreateFromKilometresPerHour(double value);
1434:   static CSpeed CreateFromMetresPerMinute(double value);
1434:   static CSpeed CreateFromMetresPerSecond(double value);
1434:   static CSpeed CreateFromFeetPerHour(double value);
1434:   static CSpeed CreateFromFeetPerMinute(double value);
1434:   static CSpeed CreateFromFeetPerSecond(double value);
1434:   static CSpeed CreateFromMilesPerHour(double value);
1434:   static CSpeed CreateFromKnots(double value);
1434:   static CSpeed CreateFromBeaufort(unsigned int value);
1434:   static CSpeed CreateFromInchPerSecond(double value);
1434:   static CSpeed CreateFromYardPerSecond(double value);
1434:   static CSpeed CreateFromFurlongPerFortnight(double value);
1434: 
1434:   bool operator >(const CSpeed& right) const;
1434:   bool operator >=(const CSpeed& right) const;
1434:   bool operator <(const CSpeed& right) const;
1434:   bool operator <=(const CSpeed& right) const;
1434:   bool operator ==(const CSpeed& right) const;
1434:   bool operator !=(const CSpeed& right) const;
1434: 
1434:   CSpeed& operator =(const CSpeed& right);
1434:   const CSpeed& operator +=(const CSpeed& right);
1434:   const CSpeed& operator -=(const CSpeed& right);
1434:   const CSpeed& operator *=(const CSpeed& right);
1434:   const CSpeed& operator /=(const CSpeed& right);
1434:   CSpeed operator +(const CSpeed& right) const;
1434:   CSpeed operator -(const CSpeed& right) const;
1434:   CSpeed operator *(const CSpeed& right) const;
1434:   CSpeed operator /(const CSpeed& right) const;
1434: 
1434:   bool operator >(double right) const;
1434:   bool operator >=(double right) const;
1434:   bool operator <(doubleslate_nocase(__ch);
1417:  else if constexpr (__collate)
1417:    return _M_traits.translate(__ch);
1417:  else
1417:    return __ch;
1417:       }
1417: 
1417:       _StrTransT
1417:       _M_transform(_CharT __ch) const
1417:       {
1417:  _StrTransT __str(1, __ch);
1417:  return _M_traits.transform(__str.begin(), __str.end());
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       _M_match_range(const _StrTransT& __first, const _StrTransT& __last,
1417:        const _StrTransT& __s) const
1417:       { return __first <= __s && __s <= __last; }
1417: 
1417:     protected:
1417:       bool _M_in_range_icase(_CharT __first, _CharT __last, _CharT __ch) const
1417:       {
1417:  typedef std::ctype<_CharT> __ctype_type;
1417:  const auto& __fctyp = use_facet<__ctype_type>(this->_M_traits.getloc());
1417:  auto __lower = __fctyp.tolower(__ch);
1417:  auto __upper = __fctyp.toupper(__ch);
1417:  return (__first <= __lower && __lower <= __last)
1417:    || (__first <= __upper && __upper <= __last);
1417:       }
1417: 
1417:       const _TraitsT& _M_traits;
1417:     };
1417: 
1417:   template<typename _TraitsT, bool __icase, bool __collate>
1417:     class _RegexTranslator
1417:     : public _RegexTranslatorBase<_TraitsT, __icase, __collate>
1417:     {
1417:     public:
1417:       typedef _RegexTranslatorBase<_TraitsT, __icase, __collate> _Base;
1417:       using _Base::_Base;
1417:     };
1417: 
1417:   template<typename _TraitsT, bool __icase>
1417:     class _RegexTranslator<_TraitsT, __icase, false>
1417:     : public _RegexTranslatorBase<_TraitsT, __icase, false>
1417:     {
1417:     public:
1417:       typedef _RegexTranslatorBase<_TraitsT, __icase, false> _Base;
1417:       typedef typename _Base::_CharT _CharT;
1417:       typedef _CharT _StrTransT;
1417: 
1417:       using _Base::_Base;
1417: 
1417:       _StrTransT
1417:       _M_transform(_CharT __ch) const
1417:       { return __ch; }
1417: 
1417:       bool
1417:       _M_match_range(_CharT __first, _CharT __last, _CharT __ch) const
1417:       {
1417:  if constexpr (!__icase)
1417:    return __first <= __ch && __ch <= __last;
1417:  else
1417:    return this->_M_in_range_icase(__first, __last, __ch);
1417:       }
1417:     };
1417: 
1417:   template<typename _CharType>
1417:     class _RegexTranslator<std::regex_traits<_CharType>, true, true>
1417:     : public _RegexTranslatorBase<std::regex_traits<_CharType>, true, true>
1417:     {
1417:     public:
1417:       typedef _RegexTranslatorBase<std::regex_traits<_CharType>, true, true>
1417:  _Base;
1417:       typedef typename _Base::_CharT _CharT;
1417:       typedef typename _Base::_StrTransT _StrTransT;
1417: 
1417:       using _Base::_Base;
1417: 
1417:       bool
1417:       _M_match_range(const _StrTransT& __first, const _StrTransT& __last,
1417:        const _StrTransT& __str) const
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(__first.size() == 1)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__last.size() == 1)) __builtin_unreachable(); } while (false);
1417:  do { if (std::__is_constant_evaluated() && !bool(__str.size() == 1)) __builtin_unreachable(); } while (false);
1417:  return this->_M_in_range_icase(__first[0], __last[0], __str[0]);
1417:       }
1417:     };
1417: 
1417:   template<typename _TraitsT>
1417:     class _RegexTranslator<_TraitsT, false, false>
1417:     {
1417:     public:
1417:       typedef typename _TraitsT::char_type _CharT;
1417:       typedef _CharT _StrTransT;
1417: 
1417:       explicit
1417:       _RegexTranslator(const _TraitsT&)
1417:       { }
1417: 
1417:       _CharT
1417:       _M_translate(_CharT __ch) const
1417:       { return __ch; }
1417: 
1417:       _StrTransT
1417:       _M_transform(_CharT __ch) const
1417:       { return __ch; }
1417: 
1417:       bool
1417:       _M_match_range(_CharT __first, _CharT __last, _CharT __ch) const
1417:       { return __first <= __ch && __ch <= __last; }
1417:     };
1417: 
1417:   template<typename _TraitsT, bool __is_ecma, bool _ right) const;
1434:   bool operator <=(double right) const;
1434:   bool operator ==(double right) const;
1434:   bool operator !=(double right) const;
1434: 
1434:   const CSpeed& operator +=(double right);
1434:   const CSpeed& operator -=(double right);
1434:   const CSpeed& operator *=(double right);
1434:   const CSpeed& operator /=(double right);
1434:   CSpeed operator +(double right) const;
1434:   CSpeed operator -(double right) const;
1434:   CSpeed operator *(double right) const;
1434:   CSpeed operator /(double right) const;
1434: 
1434:   CSpeed& operator ++();
1434:   CSpeed& operator --();
1434:   CSpeed operator ++(int);
1434:   CSpeed operator --(int);
1434: 
1434:   void Archive(CArchive& ar) override;
1434: 
1434:   bool IsValid() const;
1434: 
1434:   double ToKilometresPerHour() const;
1434:   double ToMetresPerMinute() const;
1434:   double ToMetresPerSecond() const;
1434:   double ToFeetPerHour() const;
1434:   double ToFeetPerMinute() const;
1434:   double ToFeetPerSecond() const;
1434:   double ToMilesPerHour() const;
1434:   double ToKnots() const;
1434:   double ToBeaufort() const;
1434:   double ToInchPerSecond() const;
1434:   double ToYardPerSecond() const;
1434:   double ToFurlongPerFortnight() const;
1434: 
1434:   double To(Unit speedUnit) const;
1434:   std::string ToString(Unit speedUnit) const;
1434: 
1434: protected:
1434:   explicit CSpeed(double value);
1434: 
1434:   void SetValid(bool valid) { m_valid = valid; }
1434: 
1434:   double m_value;
1434:   bool m_valid;
1434: };
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Temperature.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Temperature.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CTemperature : public IArchivable
1434: {
1434: public:
1434:   CTemperature();
1434:   CTemperature(const CTemperature& temperature);
1434: 
1434:   typedef enum Unit
1434:   {
1434:     UnitFahrenheit = 0,
1434:     UnitKelvin,
1434:     UnitCelsius,
1434:     UnitReaumur,
1434:     UnitRankine,
1434:     UnitRomer,
1434:     UnitDelisle,
1434:     UnitNewton
1434:   } Unit;
1434: 
1434:   static CTemperature CreateFromFahrenheit(double value);
1434:   static CTemperature CreateFromKelvin(double value);
1434:   static CTemperature CreateFromCelsius(double value);
1434:   static CTemperature CreateFromReaumur(double value);
1434:   static CTemperature CreateFromRankine(double value);
1434:   static CTemperature CreateFromRomer(double value);
1434:   static CTemperature CreateFromDelisle(double value);
1434:   static CTemperature CreateFromNewton(double value);
1434: 
1434:   bool operator >(const CTemperature& right) const;
1434:   bool operator >=(const CTemperature& right) const;
1434:   bool operator <(const CTemperature& right) const;
1434:   bool operator <=(const CTemperature& right) const;
1434:   bool operator ==(const CTemperature& right) const;
1434:   bool operator !=(const CTemperature& right) const;
1434: 
1434:   CTemperature& operator =(const CTemperature& right);
1434:   const CTemperature& operator +=(const CTemperature& right);
1434:   const CTemperature& operator -=(const CTemperature& right);
1434:   const CTemperature& operator *=(const CTemperature& right);
1434:   const CTemperature& operator /=(const CTemperature& right);
1434:   CTemperature operator +(const CTemperature& right) const;
1434:   CTemperature operator -(const CTemperature& right) const;
1434:   CTemperature operator *(const CTemperature& right) const;
1434:   CTemperature operator /(const CTemperature& right) const;
1434: 
1434:   bool operator >(double right) const;
1434:   bool operator >=(double right) const;
1434:   bool operator <(double right) const;
1434:   bool operator <=(double right) const;
1434:   bool operator ==(double right) const;
1434:   bool operator !=(double right) const;
1434: 
1434:   const CTemperature& operator +=(double right);
1434:   const CTemperature& operator -=(double right);
1434:   const CTemperature& operator *=(double righ1115:  if (__n == 1)
1115:    traits_type::assign(*__d, *__s);
1115:  else
1115:    traits_type::copy(__d, __s, __n);
1115:       }
1115: 
1115:      
1115:       static void
1115:       _S_move(_CharT* __d, const _CharT* __s, size_type __n)
1115:       {
1115:  if (__n == 1)
1115:    traits_type::assign(*__d, *__s);
1115:  else
1115:    traits_type::move(__d, __s, __n);
1115:       }
1115: 
1115:      
1115:       static void
1115:       _S_assign(_CharT* __d, size_type __n, _CharT __c)
1115:       {
1115:  if (__n == 1)
1115:    traits_type::assign(*__d, __c);
1115:  else
1115:    traits_type::assign(__d, __n, __c);
1115:       }
1115: 
1115: 
1115: 
1115:       template<class _Iterator>
1115: 
1115:         static void
1115:         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
1115:         {
1115:    for (; __k1 != __k2; ++__k1, (void)++__p)
1115:      traits_type::assign(*__p, *__k1);
1115:  }
1115: 
1115:      
1115:       static void
1115:       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept
1115:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1115: 
1115:      
1115:       static void
1115:       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
1115:       noexcept
1115:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
1115: 
1115:      
1115:       static void
1115:       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept
1115:       { _S_copy(__p, __k1, __k2 - __k1); }
1115: 
1115:      
1115:       static void
1115:       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
1115:       noexcept
1115:       { _S_copy(__p, __k1, __k2 - __k1); }
1115: 
1115:      
1115:       static int
1115:       _S_compare(size_type __n1, size_type __n2) noexcept
1115:       {
1115:  const difference_type __d = difference_type(__n1 - __n2);
1115: 
1115:  if (__d > __gnu_cxx::__numeric_traits<int>::__max)
1115:    return __gnu_cxx::__numeric_traits<int>::__max;
1115:  else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
1115:    return __gnu_cxx::__numeric_traits<int>::__min;
1115:  else
1115:    return int(__d);
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_assign(const basic_string&);
1115: 
1115:      
1115:       void
1115:       _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1115:   size_type __len2);
1115: 
1115:      
1115:       void
1115:       _M_erase(size_type __pos, size_type __n);
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string()
1115:       noexcept(is_nothrow_default_constructible<_Alloc>::value)
1115:       : _M_dataplus(_M_local_data())
1115:       {
1115:  _M_use_local_data();
1115:  _M_set_length(0);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       explicit
1115:       basic_string(const _Alloc& __a) noexcept
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       {
1115:  _M_use_local_data();
1115:  _M_set_length(0);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string(const basic_string& __str)
1115:       : _M_dataplus(_M_local_data(),
1115:       _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
1115:       {
1115:  _M_construct(__str._M_data(), __str._M_data() + __str.length(),
1115:        std::forward_iterator_tag());
1115:       }
1115: # 556 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string(const basic_string& __str, size_type __pos,
1115:      const _Alloc& __a = _Alloc())
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       {
1115:  const _CharT* __start = __str._M_data()
1115:    + __str._M_check(__pos, "basic_string::basic_string");
1115:  _M_construct(__start, __start + __str._M_limit(__pos, npos),
1115:        std::forward_iterator_tag());
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string(const basic_string& __str, size_type __pos,
1115:      size_type __n)
1115:       : _M_dataplus(_M_local_data())
1115:       {
1115:  const _CharT* __start = __str.t);
1434:   const CTemperature& operator /=(double right);
1434:   CTemperature operator +(double right) const;
1434:   CTemperature operator -(double right) const;
1434:   CTemperature operator *(double right) const;
1434:   CTemperature operator /(double right) const;
1434: 
1434:   CTemperature& operator ++();
1434:   CTemperature& operator --();
1434:   CTemperature operator ++(int);
1434:   CTemperature operator --(int);
1434: 
1434:   void Archive(CArchive& ar) override;
1434: 
1434:   bool IsValid() const;
1434:   void SetValid(bool valid) { m_valid = valid; }
1434: 
1434:   double ToFahrenheit() const;
1434:   double ToKelvin() const;
1434:   double ToCelsius() const;
1434:   double ToReaumur() const;
1434:   double ToRankine() const;
1434:   double ToRomer() const;
1434:   double ToDelisle() const;
1434:   double ToNewton() const;
1434: 
1434:   double To(Unit temperatureUnit) const;
1434:   std::string ToString(Unit temperatureUnit) const;
1434: 
1434: protected:
1434:   explicit CTemperature(double value);
1434: 
1434:   double m_value;
1434:   bool m_valid;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: 
1434: # 1 "/usr/include/c++/12/locale" 1 3
1434: # 36 "/usr/include/c++/12/locale" 3
1434:        
1434: # 37 "/usr/include/c++/12/locale" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/locale_classes.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/locale_classes.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 43 "/usr/include/c++/12/bits/locale_classes.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 62 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:   class locale
1434:   {
1434:   public:
1434: 
1434: 
1434:     typedef int category;
1434: 
1434: 
1434:     class facet;
1434:     class id;
1434:     class _Impl;
1434: 
1434:     friend class facet;
1434:     friend class _Impl;
1434: 
1434:     template<typename _Facet>
1434:       friend bool
1434:       has_facet(const locale&) throw();
1434: 
1434:     template<typename _Facet>
1434:       friend const _Facet&
1434:       use_facet(const locale&);
1434: 
1434:     template<typename _Cache>
1434:       friend struct __use_cache;
1434: # 98 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     static const category none = 0;
1434:     static const category ctype = 1L << 0;
1434:     static const category numeric = 1L << 1;
1434:     static const category collate = 1L << 2;
1434:     static const category time = 1L << 3;
1434:     static const category monetary = 1L << 4;
1434:     static const category messages = 1L << 5;
1434:     static const category all = (ctype | numeric | collate |
1434:         time | monetary | messages);
1434: # 117 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     locale() throw();
1434: # 126 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     locale(const locale& __other) throw();
1434: # 136 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     explicit
1434:     locale(const char* __s);
1434: # 151 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     locale(const locale& __base, const char* __s, category __cat);
1434: # 162 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     explicit
1434:     locale(const std::string& __s) : locale(__s.c_str()) { }
1434: # 177 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     locale(const locale& __base, const std::string& __s, category __cat)
1434:     : locale(__base, __s.c_str(), __cat) { }
1434: # 192 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     locale(const locale& __base, const locale& __add, category __cat);
1434: # 205 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     template<typename _Facet>
1434:       locale(const locale& __other, _Facet* __f);
1434: 
1434: 
1434:     ~locale() throw();
1434: # 219 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     const locale&
1434:     operator=(const locale& __other) throw();
1434: # 234 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     template<typename _Facet>
1434:       locale
1434:       combine(const locale& __other) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     string
1434:     name() const;
1434: # 254 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     bool
1434:     operator==(const locale& __other) const throw();
1434: # 264 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     bool
1434:     operator!=(const locale& __other) const throw()
1434:     { return !(this->operator==(__other)); }
1434: # 284 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     template<typename _Char, typename _Traits, typename _Alloc>
1434:       bool
1434:       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
1434:    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
1434: # 300 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     static locale
1434:     global(const locale& __loc);
1434: 
1434: 
1434: 
1434: 
1434:     static const locale&
1434:     classic();
1434: 
1434:   private:
1434: 
1434:     _Impl* _M_impl;
1434: 
1434: 
1434:     static _Impl* _S_classic;
1434: 
1434: 
1434:     static _Impl* _S_global;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     static const char* const* const _S_categories;
1434: # 335 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     enum { _S_categories_size = 6 + 6 };
1434: 
1434: 
1434:     static __gthread_once_t _S_once;
1434: 
1434: 
1434:     explicit
1434:     locale(_Impl*) throw();
1434: 
1434:     static void
1434:     _S_initialize();
1434: 
1434:     static void
1434:     _S_initialize_once() throw();
1434: 
1434:     static category
1434:     _S_normalize_category(category);
1434: 
1434:     void
1434:     _M_coalesce(const locale& __base, const locale& __add, category __cat);
1434: 
1434: 
1434:     static const id* const _S_twinned_facets[];
1434: 
1434:   };
1434: # 373 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:   class locale::facet
1434:   {
1434:   private:
1434:     friend class locale;
1434:     friend class locale::_Impl;
1434: 
1434:     mutable _Atomic_word _M_refcount;
1434: 
1434: 
1434:     static __c_locale _S_c_locale;
1434: 
1434: 
1434:     static const char _S_c_name[2];
1434: 
1434: 
1434:     static __gthread_once_t _S_once;
1434: 
1434: 
1434:     static void
1434:     _S_initialize_once();
1434: 
1434:   protected:
1434: # 404 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     explicit
1434:     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
1434:     { }
1434: 
1434: 
1434:     virtual
1434:     ~facet();
1434: 
1434:     static void
1434:     _S_create_c_locale(__c_locale& __cloc, const char* __s,
1434:          __c_locale __old = 0);
1434: 
1434:     static __c_locale
1434:     _S_clone_c_locale(__c_locale& __cloc) throw();
1434: 
1434:     static void
1434:     _S_destroy_c_locale(__c_locale& __cloc);
1434: 
1434:     static __c_locale
1434:     _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
1434: 
1434: 
1434: 
1434:     static __c_locale
1434:     _S_get_c_locale();
1434: 
1434:     __attribute__ ((__const__)) static const char*
1434:     _S_get_c_name() throw();
1434: # 440 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:     facet(const facet&) = delete;
1434: 
1434:     facet&
1434:     operator=(const facet&) = delete;
1434: 
1434: 
1434:   private:
1434:     void
1434:     _M_add_reference() const throw()
1434:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1434: 
1434:     void
1434:     _M_remove_reference() const throw()
1434:     {
1434: 
1434:       ;
1434:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1434:  {
1434:           ;
1434:    try
1434:      { delete this; }
1434:    catch(...)
1434:      { }
1434:  }
1434:     }
1434: 
1434:     const facet* _M_sso_shim(const id*) const;
1434:     const facet* _M_cow_shim(const id*) const;
1434: 
1434:   protected:
1434:     class __shim;
1434:   };
1434: # 485 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:   class locale::id
1434:   {
1434:   p_icase, bool __collate>
1417:     struct _AnyMatcher;
1417: 
1417:   template<typename _TraitsT, bool __icase, bool __collate>
1417:     struct _AnyMatcher<_TraitsT, false, __icase, __collate>
1417:     {
1417:       typedef _RegexTranslator<_TraitsT, __icase, __collate> _TransT;
1417:       typedef typename _TransT::_CharT _CharT;
1417: 
1417:       explicit
1417:       _AnyMatcher(const _TraitsT& __traits)
1417:       : _M_translator(__traits)
1417:       { }
1417: 
1417:       bool
1417:       operator()(_CharT __ch) const
1417:       {
1417:  static auto __nul = _M_translator._M_translate('\0');
1417:  return _M_translator._M_translate(__ch) != __nul;
1417:       }
1417: 
1417:       _TransT _M_translator;
1417:     };
1417: 
1417:   template<typename _TraitsT, bool __icase, bool __collate>
1417:     struct _AnyMatcher<_TraitsT, true, __icase, __collate>
1417:     {
1417:       typedef _RegexTranslator<_TraitsT, __icase, __collate> _TransT;
1417:       typedef typename _TransT::_CharT _CharT;
1417: 
1417:       explicit
1417:       _AnyMatcher(const _TraitsT& __traits)
1417:       : _M_translator(__traits)
1417:       { }
1417: 
1417:       bool
1417:       operator()(_CharT __ch) const
1417:       { return _M_apply(__ch, typename is_same<_CharT, char>::type()); }
1417: 
1417:       bool
1417:       _M_apply(_CharT __ch, true_type) const
1417:       {
1417:  auto __c = _M_translator._M_translate(__ch);
1417:  auto __n = _M_translator._M_translate('\n');
1417:  auto __r = _M_translator._M_translate('\r');
1417:  return __c != __n && __c != __r;
1417:       }
1417: 
1417:       bool
1417:       _M_apply(_CharT __ch, false_type) const
1417:       {
1417:  auto __c = _M_translator._M_translate(__ch);
1417:  auto __n = _M_translator._M_translate('\n');
1417:  auto __r = _M_translator._M_translate('\r');
1417:  auto __u2028 = _M_translator._M_translate(u'\u2028');
1417:  auto __u2029 = _M_translator._M_translate(u'\u2029');
1417:  return __c != __n && __c != __r && __c != __u2028 && __c != __u2029;
1417:       }
1417: 
1417:       _TransT _M_translator;
1417:     };
1417: 
1417:   template<typename _TraitsT, bool __icase, bool __collate>
1417:     struct _CharMatcher
1417:     {
1417:       typedef _RegexTranslator<_TraitsT, __icase, __collate> _TransT;
1417:       typedef typename _TransT::_CharT _CharT;
1417: 
1417:       _CharMatcher(_CharT __ch, const _TraitsT& __traits)
1417:       : _M_translator(__traits), _M_ch(_M_translator._M_translate(__ch))
1417:       { }
1417: 
1417:       bool
1417:       operator()(_CharT __ch) const
1417:       { return _M_ch == _M_translator._M_translate(__ch); }
1417: 
1417:       _TransT _M_translator;
1417:       _CharT _M_ch;
1417:     };
1417: 
1417: 
1417:   template<typename _TraitsT, bool __icase, bool __collate>
1417:     struct _BracketMatcher
1417:     {
1417:     public:
1417:       typedef _RegexTranslator<_TraitsT, __icase, __collate> _TransT;
1417:       typedef typename _TransT::_CharT _CharT;
1417:       typedef typename _TransT::_StrTransT _StrTransT;
1417:       typedef typename _TraitsT::string_type _StringT;
1417:       typedef typename _TraitsT::char_class_type _CharClassT;
1417: 
1417:     public:
1417:       _BracketMatcher(bool __is_non_matching,
1417:         const _TraitsT& __traits)
1417:       : _M_class_set(0), _M_translator(__traits), _M_traits(__traits),
1417:       _M_is_non_matching(__is_non_matching)
1417:       { }
1417: 
1417:       bool
1417:       operator()(_CharT __ch) const
1417:       {
1417:  ;
1417:  return _M_apply(__ch, _UseCache());
1417:       }
1417: 
1417:       void
1417:       _M_add_char(_CharT __c)
1417:       {
1417:  _M_char_set.push_back(_M_translator._M_translate(__c));
1417:  ;
1417:       }
1417: 
1417:       _StringT
1417:       _M_add_collate_element(const _StringT& __s)
1417:       {
1417:  auto __st = _M_traits.lookup_collatename(__s.data(),
1417:        __s.data() + __s.size());
1417:  if (__st.empty())
1417:    __throw_regex_error(regex_constants::error_collate,
1417:          "Invalid collate element.");
1417:  _M_char_serivate:
1434:     friend class locale;
1434:     friend class locale::_Impl;
1434: 
1434:     template<typename _Facet>
1434:       friend const _Facet&
1434:       use_facet(const locale&);
1434: 
1434:     template<typename _Facet>
1434:       friend bool
1434:       has_facet(const locale&) throw();
1434: 
1434: 
1434: 
1434: 
1434:     mutable size_t _M_index;
1434: 
1434: 
1434:     static _Atomic_word _S_refcount;
1434: 
1434:     void
1434:     operator=(const id&);
1434: 
1434:     id(const id&);
1434: 
1434:   public:
1434: 
1434: 
1434: 
1434:     id() { }
1434: 
1434:     size_t
1434:     _M_id() const throw();
1434:   };
1434: 
1434: 
1434: 
1434:   class locale::_Impl
1434:   {
1434:   public:
1434: 
1434:     friend class locale;
1434:     friend class locale::facet;
1434: 
1434:     template<typename _Facet>
1434:       friend bool
1434:       has_facet(const locale&) throw();
1434: 
1434:     template<typename _Facet>
1434:       friend const _Facet&
1434:       use_facet(const locale&);
1434: 
1434:     template<typename _Cache>
1434:       friend struct __use_cache;
1434: 
1434:   private:
1434: 
1434:     _Atomic_word _M_refcount;
1434:     const facet** _M_facets;
1434:     size_t _M_facets_size;
1434:     const facet** _M_caches;
1434:     char** _M_names;
1434:     static const locale::id* const _S_id_ctype[];
1434:     static const locale::id* const _S_id_numeric[];
1434:     static const locale::id* const _S_id_collate[];
1434:     static const locale::id* const _S_id_time[];
1434:     static const locale::id* const _S_id_monetary[];
1434:     static const locale::id* const _S_id_messages[];
1434:     static const locale::id* const* const _S_facet_categories[];
1434: 
1434:     void
1434:     _M_add_reference() throw()
1434:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1434: 
1434:     void
1434:     _M_remove_reference() throw()
1434:     {
1434: 
1434:       ;
1434:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1434:  {
1434:           ;
1434:    try
1434:      { delete this; }
1434:    catch(...)
1434:      { }
1434:  }
1434:     }
1434: 
1434:     _Impl(const _Impl&, size_t);
1434:     _Impl(const char*, size_t);
1434:     _Impl(size_t) throw();
1434: 
1434:    ~_Impl() throw();
1434: 
1434:     _Impl(const _Impl&);
1434: 
1434:     void
1434:     operator=(const _Impl&);
1434: 
1434:     bool
1434:     _M_check_same_name()
1434:     {
1434:       bool __ret = true;
1434:       if (_M_names[1])
1434: 
1434:  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
1434:    __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
1434:       return __ret;
1434:     }
1434: 
1434:     void
1434:     _M_replace_categories(const _Impl*, category);
1434: 
1434:     void
1434:     _M_replace_category(const _Impl*, const locale::id* const*);
1434: 
1434:     void
1434:     _M_replace_facet(const _Impl*, const locale::id*);
1434: 
1434:     void
1434:     _M_install_facet(const locale::id*, const facet*);
1434: 
1434:     template<typename _Facet>
1434:       void
1434:       _M_init_facet(_Facet* __facet)
1434:       { _M_install_facet(&_Facet::id, __facet); }
1434: 
1434:     template<typename _Facet>
1434:       void
1434:       _M_init_facet_unchecked(_Facet* __facet)
1434:       {
1434:  __facet->_M_add_reference();
1434:  _M_facets[_Facet::id._M_id()] = __facet;
1434:       }
1434: 
1434:     void
1434:     _M_install_cache(const facet*, size_t);
1434: 
1434:     void _M_init_extra(facet**);
1434:     void _M_init_extra(void*, void*, const char*, const char*);
1434: 
1434: 
1434: 
1434: 
1434:   };
1434: # 647 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:   template<typename _CharT>
1434:     class __cxx11:: collate : public locale::facet
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434: 
1434:     protected:
1434: 
1434: 
1434:       __c_locale _M_c_locale_collate;
1434: 
1434:     public:
1434: 
1434:       static locale::id _M_data()
1115:    + __str._M_check(__pos, "basic_string::basic_string");
1115:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1115:        std::forward_iterator_tag());
1115:       }
1115: # 591 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string(const basic_string& __str, size_type __pos,
1115:      size_type __n, const _Alloc& __a)
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       {
1115:  const _CharT* __start
1115:    = __str._M_data() + __str._M_check(__pos, "string::string");
1115:  _M_construct(__start, __start + __str._M_limit(__pos, __n),
1115:        std::forward_iterator_tag());
1115:       }
1115: # 611 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string(const _CharT* __s, size_type __n,
1115:      const _Alloc& __a = _Alloc())
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       {
1115: 
1115:  if (__s == 0 && __n > 0)
1115:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1115:                                                  );
1115:  _M_construct(__s, __s + __n, std::forward_iterator_tag());
1115:       }
1115: # 631 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename = _RequireAllocator<_Alloc>>
1115: 
1115:      
1115:       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       {
1115: 
1115:  if (__s == 0)
1115:    std::__throw_logic_error(("basic_string: " "construction from null is not valid")
1115:                                                  );
1115:  const _CharT* __end = __s + traits_type::length(__s);
1115:  _M_construct(__s, __end, forward_iterator_tag());
1115:       }
1115: # 654 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename = _RequireAllocator<_Alloc>>
1115: 
1115:      
1115:       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       { _M_construct(__n, __c); }
1115: # 669 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string(basic_string&& __str) noexcept
1115:       : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
1115:       {
1115:  if (__str._M_is_local())
1115:    {
1115:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1115:          __str.length() + 1);
1115:    }
1115:  else
1115:    {
1115:      _M_data(__str._M_data());
1115:      _M_capacity(__str._M_allocated_capacity);
1115:    }
1115: 
1115: 
1115: 
1115: 
1115:  _M_length(__str.length());
1115:  __str._M_data(__str._M_local_data());
1115:  __str._M_set_length(0);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
1115: 
1115:      
1115:       basic_string(const basic_string& __str, const _Alloc& __a)
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
1115: 
1115:      
1115:       basic_string(basic_string&& __str, const _Alloc& __a)
1115:       noexcept(_Alloc_traits::_S_always_equal())
1115:       : _M_dataplus(_M_local_data(), __a)
1115:       {
1115:  if (__str._M_is_local())
1115:    {
1115:      traits_type::copy(_M_local_buf, __str._M_local_buf,
1115:          __str.length() + 1);
1115:      _M_length(__str.length());
1115:      __str._M_set_length(0);
1115:    }
1115:  else if (_Alloc_traits::_S_always_equal()
1115:      || __str.get_allocator() == __a)
1115:    {
1115:      _M_data(__str._M_data());
1115:      _M_length(__str.length());
1115:      _M_capacity(__str._M_allocated_capacity);
1115:      __str._M_data(__str._M_local_buf);
1115:      __str._M_set_length(0);
1115:    }
1115:  else
1115:    _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag());
1115:       }
1115: # 745 "/usr/include/c++/12/bits/basic_stringt.push_back(_M_translator._M_translate(__st[0]));
1417:  ;
1417:  return __st;
1417:       }
1417: 
1417:       void
1417:       _M_add_equivalence_class(const _StringT& __s)
1417:       {
1417:  auto __st = _M_traits.lookup_collatename(__s.data(),
1417:        __s.data() + __s.size());
1417:  if (__st.empty())
1417:    __throw_regex_error(regex_constants::error_collate,
1417:          "Invalid equivalence class.");
1417:  __st = _M_traits.transform_primary(__st.data(),
1417:         __st.data() + __st.size());
1417:  _M_equiv_set.push_back(__st);
1417:  ;
1417:       }
1417: 
1417: 
1417:       void
1417:       _M_add_character_class(const _StringT& __s, bool __neg)
1417:       {
1417:  auto __mask = _M_traits.lookup_classname(__s.data(),
1417:        __s.data() + __s.size(),
1417:        __icase);
1417:  if (__mask == 0)
1417:    __throw_regex_error(regex_constants::error_collate,
1417:          "Invalid character class.");
1417:  if (!__neg)
1417:    _M_class_set |= __mask;
1417:  else
1417:    _M_neg_class_set.push_back(__mask);
1417:  ;
1417:       }
1417: 
1417:       void
1417:       _M_make_range(_CharT __l, _CharT __r)
1417:       {
1417:  if (__l > __r)
1417:    __throw_regex_error(regex_constants::error_range,
1417:          "Invalid range in bracket expression.");
1417:  _M_range_set.push_back(make_pair(_M_translator._M_transform(__l),
1417:       _M_translator._M_transform(__r)));
1417:  ;
1417:       }
1417: 
1417:       void
1417:       _M_ready()
1417:       {
1417:  std::sort(_M_char_set.begin(), _M_char_set.end());
1417:  auto __end = std::unique(_M_char_set.begin(), _M_char_set.end());
1417:  _M_char_set.erase(__end, _M_char_set.end());
1417:  _M_make_cache(_UseCache());
1417:  ;
1417:       }
1417: 
1417:     private:
1417: 
1417:       using _UseCache = typename std::is_same<_CharT, char>::type;
1417: 
1417:       static constexpr size_t
1417:       _S_cache_size =
1417:  1ul << (sizeof(_CharT) * 8 * int(_UseCache::value));
1417: 
1417:       struct _Dummy { };
1417:       using _CacheT = std::__conditional_t<_UseCache::value,
1417:         std::bitset<_S_cache_size>,
1417:         _Dummy>;
1417:       using _UnsignedCharT = typename std::make_unsigned<_CharT>::type;
1417: 
1417:       bool
1417:       _M_apply(_CharT __ch, false_type) const;
1417: 
1417:       bool
1417:       _M_apply(_CharT __ch, true_type) const
1417:       { return _M_cache[static_cast<_UnsignedCharT>(__ch)]; }
1417: 
1417:       void
1417:       _M_make_cache(true_type)
1417:       {
1417:  for (unsigned __i = 0; __i < _M_cache.size(); __i++)
1417:    _M_cache[__i] = _M_apply(static_cast<_CharT>(__i), false_type());
1417:       }
1417: 
1417:       void
1417:       _M_make_cache(false_type)
1417:       { }
1417: 
1417:     private:
1417:       std::vector<_CharT> _M_char_set;
1417:       std::vector<_StringT> _M_equiv_set;
1417:       std::vector<pair<_StrTransT, _StrTransT>> _M_range_set;
1417:       std::vector<_CharClassT> _M_neg_class_set;
1417:       _CharClassT _M_class_set;
1417:       _TransT _M_translator;
1417:       const _TraitsT& _M_traits;
1417:       bool _M_is_non_matching;
1417:       _CacheT _M_cache;
1417: 
1417: 
1417: 
1417:     };
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/regex_compiler.tcc" 1 3
1417: # 58 "/usr/include/c++/12/bits/regex_compiler.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417:   template<typename _TraitsT>
1417:     _Compiler<_TraitsT>::
1417:     _Compiler(const _CharT* __b, const _CharT* __e,
1417:        const typename _TraitsT::locale_type& __loc, _FlagT __flags)
1417:     : _M_flags(_S_validate(__flags)),
1417:       _M_scanner(__b, __e, _M_flags, __loc),
1417:       _M_nfa(make_shared<_RegexT>(__loc, _M_flags)),
1417:       _M_traits(_M_nfa->_M_traits),
1417:       _M_ctype(std::use_facet<_CtypeT>(__loc))
1417:     {
1417:       _StateSeqT __r(*_M_nfa, _M_nfa->_M_start());
1417:       __r._M_append(_M_nfa->_M_insert_subexpr_begin());
1417:       this->_M_disjunctid;
1434: # 674 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       explicit
1434:       collate(size_t __refs = 0)
1434:       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
1434:       { }
1434: # 688 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       explicit
1434:       collate(__c_locale __cloc, size_t __refs = 0)
1434:       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
1434:       { }
1434: # 705 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       int
1434:       compare(const _CharT* __lo1, const _CharT* __hi1,
1434:        const _CharT* __lo2, const _CharT* __hi2) const
1434:       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
1434: # 724 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       string_type
1434:       transform(const _CharT* __lo, const _CharT* __hi) const
1434:       { return this->do_transform(__lo, __hi); }
1434: # 738 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       long
1434:       hash(const _CharT* __lo, const _CharT* __hi) const
1434:       { return this->do_hash(__lo, __hi); }
1434: 
1434: 
1434:       int
1434:       _M_compare(const _CharT*, const _CharT*) const throw();
1434: 
1434:       size_t
1434:       _M_transform(_CharT*, const _CharT*, size_t) const throw();
1434: 
1434:   protected:
1434: 
1434:       virtual
1434:       ~collate()
1434:       { _S_destroy_c_locale(_M_c_locale_collate); }
1434: # 767 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       virtual int
1434:       do_compare(const _CharT* __lo1, const _CharT* __hi1,
1434:    const _CharT* __lo2, const _CharT* __hi2) const;
1434: # 781 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       virtual string_type
1434:       do_transform(const _CharT* __lo, const _CharT* __hi) const;
1434: # 794 "/usr/include/c++/12/bits/locale_classes.h" 3
1434:       virtual long
1434:       do_hash(const _CharT* __lo, const _CharT* __hi) const;
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     locale::id collate<_CharT>::id;
1434: 
1434: 
1434:   template<>
1434:     int
1434:     collate<char>::_M_compare(const char*, const char*) const throw();
1434: 
1434:   template<>
1434:     size_t
1434:     collate<char>::_M_transform(char*, const char*, size_t) const throw();
1434: 
1434: 
1434:   template<>
1434:     int
1434:     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
1434: 
1434:   template<>
1434:     size_t
1434:     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     class __cxx11:: collate_byname : public collate<_CharT>
1434:     {
1434:     public:
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434: 
1434:       explicit
1434:       collate_byname(const char* __s, size_t __refs = 0)
1434:       : collate<_CharT>(__refs)
1434:       {
1434:  if (__builtin_strcmp(__s, "C") != 0
1434:      && __builtin_strcmp(__s, "POSIX") != 0)
1434:    {
1434:      this->_S_destroy_c_locale(this->_M_c_locale_collate);
1434:      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
1434:    }
1434:       }
1434: 
1434: 
1434:       explicit
1434:       collate_byname(const string& __s, size_t __refs = 0)
1434:       : collate_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~collate_byname() { }
1434:     };
1434: 
1434: 
1434: }
1434: 
1434: # 1 "/usr/include/c++/12/bits/locale_classes.tcc" 1 3
1434: # 37 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _Facet>
1434:     locale::
1434:     locale(const locale& __other, _Facet* __f)
1434:     {
1434:       _M_impl = new _Impl(*__other._M_impl, 1);
1434: 
1434:       try
1434:  { _M_impl->_M_install_facet(&_Facet::id, __f); }
1434:       catch(...)
1434:  {
1434:    _M_impl->_M.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115: 
1115: 
1115: 
1115:         basic_string(_InputIterator __beg, _InputIterator __end,
1115:        const _Alloc& __a = _Alloc())
1115:  : _M_dataplus(_M_local_data(), __a)
1115:  {
1115: 
1115:    _M_construct(__beg, __end, std::__iterator_category(__beg));
1115: 
1115: 
1115: 
1115: 
1115:  }
1115: # 771 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp,
1115:         typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
1115: 
1115:  basic_string(const _Tp& __t, size_type __pos, size_type __n,
1115:        const _Alloc& __a = _Alloc())
1115:  : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Tp, typename = _If_sv<_Tp, void>>
1115: 
1115:  explicit
1115:  basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
1115:  : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       ~basic_string()
1115:       { _M_dispose(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       operator=(const basic_string& __str)
1115:       {
1115:  return this->assign(__str);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       operator=(const _CharT* __s)
1115:       { return this->assign(__s); }
1115: # 824 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       operator=(_CharT __c)
1115:       {
1115:  this->assign(1, __c);
1115:  return *this;
1115:       }
1115: # 842 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       operator=(basic_string&& __str)
1115:       noexcept(_Alloc_traits::_S_nothrow_move())
1115:       {
1115:  if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
1115:      && !_Alloc_traits::_S_always_equal()
1115:      && _M_get_allocator() != __str._M_get_allocator())
1115:    {
1115: 
1115:      _M_destroy(_M_allocated_capacity);
1115:      _M_data(_M_local_data());
1115:      _M_set_length(0);
1115:    }
1115: 
1115:  std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
1115: 
1115:  if (__str._M_is_local())
1115:    {
1115: 
1115: 
1115: 
1115:      if (__builtin_expect(std::__addressof(__str) != this, true))
1115:        {
1115:   if (__str.size())
1115:     this->_S_copy(_M_data(), __str._M_data(), __str.size());
1115:   _M_set_length(__str.size());
1115:        }
1115:    }
1115:  else if (_Alloc_traits::_S_propagate_on_move_assign()
1115:      || _Alloc_traits::_S_always_equal()
1115:      || _M_get_allocator() == __str._M_get_allocator())
1115:    {
1115: 
1115:      pointer __data = nullptr;
1115:      size_type __capacity;
1115:      if (!_M_is_local())
1115:        {
1115:   if (_Alloc_traits::_S_always_equal())
1115:     {
1115: 
1115:       __data = _M_data();
1115:       __capacity = _M_allocated_capacity;
1115:     }
1115:   else
1115:     _M_destroy(_M_allocated_capacity);
1115:        }
1115: 
1115:      _M_data(__str._M_data());
1115:      _M_length(__str.length());
1115:      _M_capacity(__str._M_allocated_capacity);
1115:      if (__data)
1115:        {
1115:   __str._M_data(__data);
1115:   __str._M_capacity(__capacity);
1115:        }
1115:      else
1115:        __str._M_data(__str._M_local_buf);
1115:    }
1115:  else
1115:    assign(__str);
1115:  __str.clear();
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       operator=(initializer_list<_CharT> __l)
1115:       {
1115:  this->assign(__l.begin(), __l.size());
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      template<typename _Tp>
1115:       
1115:        _If_sv<_Tp, basic_string&>
1115:        operator=(const _Tp& __svt)
1115:        { return this->assign(__svt); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       operator __sv_type() const noexcept
1115:       { return __sv_type(data(), size()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       iterator
1115:       begin() noexcept
1115:       { return iterator(_M_data()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return const_iterator(_M_data()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       iterator
1115:       end() noexcept
1115:       { return iterator(_M_data() + this->size()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_iterator
1115:       end() const noexcept
1115:       { return const_iterator(_M_data() + this->size()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return reverse_iterator(this->end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(this->end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       reverse_iterator
1115:       rend() noexcept
1115:       { return reverse_iterator(this->begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(this->begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return const_iterator(this->_M_data()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return const_iterator(this->_M_data() + this->size()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return const_reverse_iterator(this->end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_reverse_iterator
1115:       crend() const noexcept
1115:       { return const_reverse_iterator(this->begin()); }
1115: 
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115:      
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_string_length; }
1115: 
1115: 
1115: 
1115:      
1115:       size_type
1115:       length() const noexcept
1115:       { return _M_string_length; }
1115: 
1115: 
1115:      
1115:       size_type
1115:       max_size() const noexcept
1115:       { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; }
1115: # 1089 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       void
1115:       resize(size_type __n, _CharT __c);
1115: # 1103 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       void
1115:       resize(size_type __n)
1115:       { this->resize(__n, _CharT()); }
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115:      
1115:       void
1115:       shrink_to_fit() noexcept
1115:       { reserve(); }
1115: #pragma GCC diagnostic pop
1115: # 1130 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       capacity() const noexcept
1115:       {
1115:  return _M_is_local() ? size_type(_S_local_capacity)
1115:                       : _M_allocated_capacity;
1115:       }
1115: # 1155 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       void
1115:       reserve(size_type __res_arg);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       reserve();
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       clear() noexcept
1115:       { _M_set_length(0); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       bool
1115:       empty() const noexcept
1115:       { return this->size() == 0; }
1115: # 1197 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       const_reference
1115:       operator[] (size_type __pos) const noexcept
1115:       {ion();
1417:       if (!_M_match_token(_ScannerT::_S_token_eof))
1417:  __throw_regex_error(regex_constants::error_paren);
1417:       __r._M_append(_M_pop());
1417:       do { if (std::__is_constant_evaluated() && !bool(_M_stack.empty())) __builtin_unreachable(); } while (false);
1417:       __r._M_append(_M_nfa->_M_insert_subexpr_end());
1417:       __r._M_append(_M_nfa->_M_insert_accept());
1417:       _M_nfa->_M_eliminate_dummy();
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     void
1417:     _Compiler<_TraitsT>::
1417:     _M_disjunction()
1417:     {
1417:       this->_M_alternative();
1417:       while (_M_match_token(_ScannerT::_S_token_or))
1417:  {
1417:    _StateSeqT __alt1 = _M_pop();
1417:    this->_M_alternative();
1417:    _StateSeqT __alt2 = _M_pop();
1417:    auto __end = _M_nfa->_M_insert_dummy();
1417:    __alt1._M_append(__end);
1417:    __alt2._M_append(__end);
1417: 
1417: 
1417: 
1417:    _M_stack.push(_StateSeqT(*_M_nfa,
1417:        _M_nfa->_M_insert_alt(
1417:          __alt2._M_start, __alt1._M_start, false),
1417:        __end));
1417:  }
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     void
1417:     _Compiler<_TraitsT>::
1417:     _M_alternative()
1417:     {
1417:       if (this->_M_term())
1417:  {
1417:    _StateSeqT __re = _M_pop();
1417:    this->_M_alternative();
1417:    __re._M_append(_M_pop());
1417:    _M_stack.push(__re);
1417:  }
1417:       else
1417:  _M_stack.push(_StateSeqT(*_M_nfa, _M_nfa->_M_insert_dummy()));
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_term()
1417:     {
1417:       if (this->_M_assertion())
1417:  return true;
1417:       if (this->_M_atom())
1417:  {
1417:    while (this->_M_quantifier())
1417:      ;
1417:    return true;
1417:  }
1417:       return false;
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_assertion()
1417:     {
1417:       if (_M_match_token(_ScannerT::_S_token_line_begin))
1417:  _M_stack.push(_StateSeqT(*_M_nfa, _M_nfa->_M_insert_line_begin()));
1417:       else if (_M_match_token(_ScannerT::_S_token_line_end))
1417:  _M_stack.push(_StateSeqT(*_M_nfa, _M_nfa->_M_insert_line_end()));
1417:       else if (_M_match_token(_ScannerT::_S_token_word_bound))
1417: 
1417:  _M_stack.push(_StateSeqT(*_M_nfa, _M_nfa->
1417:        _M_insert_word_bound(_M_value[0] == 'n')));
1417:       else if (_M_match_token(_ScannerT::_S_token_subexpr_lookahead_begin))
1417:  {
1417:    auto __neg = _M_value[0] == 'n';
1417:    this->_M_disjunction();
1417:    if (!_M_match_token(_ScannerT::_S_token_subexpr_end))
1417:      __throw_regex_error(regex_constants::error_paren);
1417:    auto __tmp = _M_pop();
1417:    __tmp._M_append(_M_nfa->_M_insert_accept());
1417:    _M_stack.push(
1417:        _StateSeqT(
1417:   *_M_nfa,
1417:   _M_nfa->_M_insert_lookahead(__tmp._M_start, __neg)));
1417:  }
1417:       else
1417:  return false;
1417:       return true;
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_quantifier()
1417:     {
1417:       bool __neg = (_M_flags & regex_constants::ECMAScript);
1417:       auto __init = [this, &__neg]()
1417:  {
1417:    if (_M_stack.empty())
1417:      __throw_regex_error(regex_constants::error_badrepeat);
1417:    __neg = __neg && _M_match_token(_ScannerT::_S_token_opt);
1417:  };
1417:       if (_M_match_token(_ScannerT::_S_token_closure0))
1417:  {
1417:    __init();
1417:    auto __e = _M_pop();
1417:    _StateSeqT __r(*_M_nfa,
1417:     _M_nfa->_M_insert_repeat(_S_invalid_state_id,
1417:         __e._M_start, __neg));
1417:    __e._M_append(__r);
1417:    _M_stack.push(__r);
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_closure1))
1417:  {
1417:    __init();
1417:    auto __e = _M_pop();
1417:    __e._M_append(_M_nfa->_M_insert_repeat(_S_invalid_state_id,
1417:        __e._M_start, __neg));
1417:    _M_stack.push(__e);
1417:  }
1417:       else if (_M_match_token(_ScannerT::_remove_reference();
1434:    throw;
1434:  }
1434:       delete [] _M_impl->_M_names[0];
1434:       _M_impl->_M_names[0] = 0;
1434:     }
1434: 
1434:   template<typename _Facet>
1434:     locale
1434:     locale::
1434:     combine(const locale& __other) const
1434:     {
1434:       _Impl* __tmp = new _Impl(*_M_impl, 1);
1434:       try
1434:  {
1434:    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
1434:  }
1434:       catch(...)
1434:  {
1434:    __tmp->_M_remove_reference();
1434:    throw;
1434:  }
1434:       return locale(__tmp);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     bool
1434:     locale::
1434:     operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
1434:         const basic_string<_CharT, _Traits, _Alloc>& __s2) const
1434:     {
1434:       typedef std::collate<_CharT> __collate_type;
1434:       const __collate_type& __collate = use_facet<__collate_type>(*this);
1434:       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
1434:     __s2.data(), __s2.data() + __s2.length()) < 0);
1434:     }
1434: # 102 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1434:   template<typename _Facet>
1434:     bool
1434:     has_facet(const locale& __loc) throw()
1434:     {
1434:       const size_t __i = _Facet::id._M_id();
1434:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1434:       return (__i < __loc._M_impl->_M_facets_size
1434: 
1434:        && dynamic_cast<const _Facet*>(__facets[__i]));
1434: 
1434: 
1434: 
1434:     }
1434: # 130 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1434:   template<typename _Facet>
1434:     const _Facet&
1434:     use_facet(const locale& __loc)
1434:     {
1434:       const size_t __i = _Facet::id._M_id();
1434:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1434:       if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
1434:         __throw_bad_cast();
1434: 
1434:       return dynamic_cast<const _Facet&>(*__facets[__i]);
1434: 
1434: 
1434: 
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     int
1434:     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
1434:     { return 0; }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     size_t
1434:     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
1434:     { return 0; }
1434: 
1434:   template<typename _CharT>
1434:     int
1434:     collate<_CharT>::
1434:     do_compare(const _CharT* __lo1, const _CharT* __hi1,
1434:         const _CharT* __lo2, const _CharT* __hi2) const
1434:     {
1434: 
1434: 
1434:       const string_type __one(__lo1, __hi1);
1434:       const string_type __two(__lo2, __hi2);
1434: 
1434:       const _CharT* __p = __one.c_str();
1434:       const _CharT* __pend = __one.data() + __one.length();
1434:       const _CharT* __q = __two.c_str();
1434:       const _CharT* __qend = __two.data() + __two.length();
1434: 
1434: 
1434: 
1434: 
1434:       for (;;)
1434:  {
1434:    const int __res = _M_compare(__p, __q);
1434:    if (__res)
1434:      return __res;
1434: 
1434:    __p += char_traits<_CharT>::length(__p);
1434:    __q += char_traits<_CharT>::length(__q);
1434:    if (__p == __pend && __q == __qend)
1434:      return 0;
1434:    else if (__p == __pend)
1434:      return -1;
1434:    else if (__q == __qend)
1434:      return 1;
1434: 
1434:    __p++;
1434:    __q++;
1434:  }
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     typename collate<_CharT>::string_type
1434:     collate<_CharT>::
1434:     do_transform(const _CharT* __lo, const _CharT* __hi) const
1434:     {
1434:       string_type __ret;
1434: 
1434: 
1434:       const string_type __str(__lo, __hi);
1434: 
1434:       const _CharT* __p = __str.c_str();
1434:       const _CharT* __pend = __str.data() + __str.length();
1434: 
1434:       size_t __len = (__hi - __lo) * 2;
1434: 
1434:       _CharT* __c = new _CharT[__len];
1434: 
1434:       try
1434:  {
1434: 
1434: 
1434: 
1434:    for (;;)
1434:      {
1434: 
1434:        size_t __res = _M_transform(__c, __p, __len);
1434: 
1434: 
1434:        if (__res >= __len)
1434:   {
1434:     __len = __res + 1;
1434:     delete [] __c, __c = 0;
1434:     __c = new _CharT[__len];
1434:     __res = _M_transform(__c, __p, __len);
1434:   }
1434: 
1434:        __ret.append(__c, __res);
1434:        __p += char_traits<_CharT>::length(__p);
1434:        if (__p == __pend)
1434:   break;
1434: 
1434:        __p++;
1434:        __ret.push_back(_CharT());
1434:      }
1434:  }
1434:       catch(...)
1434:  {
1434:    delete [] __c;
1434:    throw;
1434:  }
1434: 
1434:       delete [] __c;
1434: 
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     long
1434:     collate<_CharT>::
1434:     do_hash(const _CharT* __lo, const _CharT* __hi) const
1434:     {
1434:       unsigned long __val = 0;
1434:       for (; __lo < __hi; ++__lo)
1434:  __val =
1434:    *__lo + ((__val << 7)
1434:      | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
1434:     __digits - 7)));
1434:       return static_cast<long>(__val);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template class collate<char>;
1434:   extern template class collate_byname<char>;
1434: 
1434:   extern template
1434:     const collate<char>&
1434:     use_facet<collate<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<collate<char> >(const locale&);
1434: 
1434: 
1434:   extern template class collate<wchar_t>;
1434:   extern template class collate_byname<wchar_t>;
1434: 
1434:   extern template
1434:     const collate<wchar_t>&
1434:     use_facet<collate<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<collate<wchar_t> >(const locale&);
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 858 "/usr/include/c++/12/bits/locale_classes.h" 2 3
1434: # 40 "/usr/include/c++/12/locale" 2 3
1434: # 1 "/usr/include/c++/12/bits/locale_facets.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/locale_facets.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/cwctype" 1 3
1434: # 39 "/usr/include/c++/12/cwctype" 3
1434:        
1434: # 40 "/usr/include/c++/12/cwctype" 3
1434: # 50 "/usr/include/c++/12/cwctype" 3
1434: # 1 "/usr/include/wctype.h" 1 3 4
1434: # 38 "/usr/include/wctype.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 1 3 4
1434: # 38 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1434: typedef unsigned long int wctype_t;
1434: # 56 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1434: enum
1434: {
1434:   __ISwupper = 0,
1434:   __ISwlower = 1,
1434:   __ISwalpha = 2,
1434:   __ISwdigit = 3,
1434:   __ISwxdigit = 4,
1434:   __ISwspace = 5,
1434:   __ISwprint = 6,
1434:   __ISwgraph = 7,
1434:   __ISwblank = 8,
1434:   __ISwcntrl = 9,
1434:   __ISwpunct = 10,
1434:   __ISwalnum = 11,
1434: 
1434:   _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
1434:   _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
1434:   _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
1434:   _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
1434:   _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << 
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1115:  return _M_data()[__pos];
1115:       }
1115: # 1215 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       reference
1115:       operator[](size_type __pos)
1115:       {
1115: 
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos <= size())) __builtin_unreachable(); } while (false);
1115: 
1115:  ;
1115:  return _M_data()[__pos];
1115:       }
1115: # 1237 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       const_reference
1115:       at(size_type __n) const
1115:       {
1115:  if (__n >= this->size())
1115:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1115: 
1115:                             ,
1115:        __n, this->size());
1115:  return _M_data()[__n];
1115:       }
1115: # 1259 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       reference
1115:       at(size_type __n)
1115:       {
1115:  if (__n >= size())
1115:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1115: 
1115:                             ,
1115:        __n, this->size());
1115:  return _M_data()[__n];
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       reference
1115:       front() noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1115:  return operator[](0);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_reference
1115:       front() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1115:  return operator[](0);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       reference
1115:       back() noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1115:  return operator[](this->size() - 1);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       const_reference
1115:       back() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1115:  return operator[](this->size() - 1);
1115:       }
1115: # 1327 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       operator+=(const basic_string& __str)
1115:       { return this->append(__str); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       operator+=(const _CharT* __s)
1115:       { return this->append(__s); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       operator+=(_CharT __c)
1115:       {
1115:  this->push_back(__c);
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       operator+=(initializer_list<_CharT> __l)
1115:       { return this->append(__l.begin(), __l.size()); }
1115: # 1373 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  operator+=(const _Tp& __svt)
1115:  { return this->append(__svt); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       append(const basic_string& __str)
1115:       { return this->append(__str._M_data(), __str.size()); }
1115: # 1403 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       append(const basic_string& __str, size_type __pos, size_type __n = npos)
1115:       { return this->append(__str._M_data()
1115:        + __str._M_check(__pos, "basic_string::append"),
1115:        __str._M_limit(__pos, __n)); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       append(const _CharT* __s, size_type __n)
1115:       {
1115:  ;
1115:  _M_check_lengt_S_token_opt))
1417:  {
1417:    __init();
1417:    auto __e = _M_pop();
1417:    auto __end = _M_nfa->_M_insert_dummy();
1417:    _StateSeqT __r(*_M_nfa,
1417:     _M_nfa->_M_insert_repeat(_S_invalid_state_id,
1417:         __e._M_start, __neg));
1417:    __e._M_append(__end);
1417:    __r._M_append(__end);
1417:    _M_stack.push(__r);
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_interval_begin))
1417:  {
1417:    if (_M_stack.empty())
1417:      __throw_regex_error(regex_constants::error_badrepeat);
1417:    if (!_M_match_token(_ScannerT::_S_token_dup_count))
1417:      __throw_regex_error(regex_constants::error_badbrace);
1417:    _StateSeqT __r(_M_pop());
1417:    _StateSeqT __e(*_M_nfa, _M_nfa->_M_insert_dummy());
1417:    long __min_rep = _M_cur_int_value(10);
1417:    bool __infi = false;
1417:    long __n = 0;
1417: 
1417: 
1417:    if (_M_match_token(_ScannerT::_S_token_comma))
1417:      {
1417:        if (_M_match_token(_ScannerT::_S_token_dup_count))
1417:   __n = _M_cur_int_value(10) - __min_rep;
1417:        else
1417:   __infi = true;
1417:      }
1417:    if (!_M_match_token(_ScannerT::_S_token_interval_end))
1417:      __throw_regex_error(regex_constants::error_brace);
1417: 
1417:    __neg = __neg && _M_match_token(_ScannerT::_S_token_opt);
1417: 
1417:    for (long __i = 0; __i < __min_rep; ++__i)
1417:      __e._M_append(__r._M_clone());
1417: 
1417:    if (__infi)
1417:      {
1417:        auto __tmp = __r._M_clone();
1417:        _StateSeqT __s(*_M_nfa,
1417:         _M_nfa->_M_insert_repeat(_S_invalid_state_id,
1417:             __tmp._M_start, __neg));
1417:        __tmp._M_append(__s);
1417:        __e._M_append(__s);
1417:      }
1417:    else
1417:      {
1417:        if (__n < 0)
1417:   __throw_regex_error(regex_constants::error_badbrace);
1417:        auto __end = _M_nfa->_M_insert_dummy();
1417: 
1417: 
1417: 
1417:        std::stack<_StateIdT> __stack;
1417:        for (long __i = 0; __i < __n; ++__i)
1417:   {
1417:     auto __tmp = __r._M_clone();
1417:     auto __alt = _M_nfa->_M_insert_repeat(__tmp._M_start,
1417:        __end, __neg);
1417:     __stack.push(__alt);
1417:     __e._M_append(_StateSeqT(*_M_nfa, __alt, __tmp._M_end));
1417:   }
1417:        __e._M_append(__end);
1417:        while (!__stack.empty())
1417:   {
1417:     auto& __tmp = (*_M_nfa)[__stack.top()];
1417:     __stack.pop();
1417:     std::swap(__tmp._M_next, __tmp._M_alt);
1417:   }
1417:      }
1417:    _M_stack.push(__e);
1417:  }
1417:       else
1417:  return false;
1417:       return true;
1417:     }
1417: # 298 "/usr/include/c++/12/bits/regex_compiler.tcc" 3
1417:   template<typename _TraitsT>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_atom()
1417:     {
1417:       if (_M_match_token(_ScannerT::_S_token_anychar))
1417:  {
1417:    if (!(_M_flags & regex_constants::ECMAScript))
1417:      do { if (!(_M_flags & regex_constants::icase)) if (!(_M_flags & regex_constants::collate)) _M_insert_any_matcher_posix<false, false>(); else _M_insert_any_matcher_posix<false, true>(); else if (!(_M_flags & regex_constants::collate)) _M_insert_any_matcher_posix<true, false>(); else _M_insert_any_matcher_posix<true, true>(); } while (false);
1417:    else
1417:      do { if (!(_M_flags & regex_constants::icase)) if (!(_M_flags & regex_constants::collate)) _M_insert_any_matcher_ecma<false, false>(); else _M_insert_any_matcher_ecma<false, true>(); else if (!(_M_flags & regex_constants::collate)) _M_insert_any_matcher_ecma<true, false>(); else _M_insert_any_matcher_ecma<true, true>(); } while (false);
1417:  }
1417:       else if (_M_try_char())
1417:  do { if (!(_M_flags & regex_constants::icase)) if (!(_M_flags & regex_constants::collate)) _M_insert_char_matcher<false, false>(); else _M_insert_char_matcher<false, true>(); else if (!(_M_flags & regex_constants::collate)) _M_insert_char_matcher<true, false>(); else _M_insert_char_matcher<true, true>(); } while (false);
1417:       else if (_M_match_token(_ScannerT::_S_token_backref))
1417:  _M_stack.push(_StateSeqT(*_M_nfa, _M_nfa->
1417:      _M_insert_backref(_M_cur_int_value(10))));
1417:       else if (_M_match_token(_ScannerT::_S_token_quoted_class))
1417:  do { if (!(_M_flags & regex_constants::icase)) if (!(_M_flags & regex_constants::collate)) _M_insert_character_class_matcher<false, false>(); else _M_insert_character_class_matcher<false, true>(); else if (!(_M_flags & regex_constants::collate)) _M_insert_character_class_matcher<true, false>(); else _M_insert_character_class_matcher<true, true>(); } while (false);
1417:       else if (_M_match_token(_ScannerT::_S_token_subexpr_no_group_begin))
1417:  {
1417:    _StateSeqT __r(*_M_nfa, _M_nfa->_M_insert_dummy());
1417:    this->_M_disjunction();
1417:    if (!_M_match_token(_ScannerT::_S_token_subexpr_end))
1417:      __throw_regex_error(regex_constants::error_paren);
1417:    __r._M_append(_M_pop());
1417:    _M_stack.push(__r);
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_subexpr_begin))
1417:  {
1417:    _StateSeqT __r(*_M_nfa, _M_nfa->_M_insert_subexpr_begin());
1417:    this->_M_disjunction();
1417:    if (!_M_match_token(_ScannerT::_S_token_subexpr_end))
1417:      __throw_regex_error(regex_constants::error_paren);
1417:    __r._M_append(_M_pop());
1417:    __r._M_append(_M_nfa->_M_insert_subexpr_end());
1417:    _M_stack.push(__r);
1417:  }
1417:       else if (!_M_bracket_expression())
1417:  return false;
1417:       return true;
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_bracket_expression()
1417:     {
1417:       bool __neg =
1417:  _M_match_token(_ScannerT::_S_token_bracket_neg_begin);
1417:       if (!(__neg || _M_match_token(_ScannerT::_S_token_bracket_begin)))
1417:  return false;
1417:       do { if (!(_M_flags & regex_constants::icase)) if (!(_M_flags & regex_constants::collate)) _M_insert_bracket_matcher<false, false>(__neg); else _M_insert_bracket_matcher<false, true>(__neg); else if (!(_M_flags & regex_constants::collate)) _M_insert_bracket_matcher<true, false>(__neg); else _M_insert_bracket_matcher<true, true>(__neg); } while (false);
1417:       return true;
1417:     }
1417: 
1417: 
1417:   template<typename _TraitsT>
1417:   template<bool __icase, bool __collate>
1417:     void
1417:     _Compiler<_TraitsT>::
1417:     _M_insert_any_matcher_ecma()
1417:     {
1417:       _M_stack.push(_StateSeqT(*_M_nfa,
1417:  _M_nfa->_M_insert_matcher
1417:    (_AnyMatcher<_TraitsT, true, __icase, __collate>
1417:      (_M_traits))));
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:   template<bool __icase, bool __collate>
1417:     void
1417:     _Compiler<_TraitsT>::
1417:     _M_insert_any_matcher_posix()
1417:     {
1417:       _M_stack.push(_StateSeqT(*_M_nfa,
1417:  _M_nfa->_M_insert_matcher
1417:    (_AnyMatcher<_TraitsT, false, __icase, __collate>
1417:      (_M_traits))));
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:   template<bool __icase, bool __collate>
1417:     void
1417:     _Compiler<_TraitsT>::
1417:     _M_insert_char_matcher()
1417:     {
1417:       _M_stack.push(_StateSeqT(*_M_nfa,
1417:  _M_nfa->_M_insert_matcher
1417:    (_CharMatcher<_TraitsT, __icase, __collate>
1417:      (_M_value[0], _M_traits))));
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:   template<bool __icase, bool __collate>
1417:     void
1417:     _Compiler<_TraitsT>::
1417:     _M_insert_character_class_matcher()
1417:     {
1417:       do { if (std::__is_constant_evaluated() && !bool(_M_value.size() == 1)) __builtin_unreachable(); } while (false);
1417:       _BracketMatcher<__icase, __collate> __matcher
1417:  (_M_ctype.is(_CtypeT::upper, _M_value[0]), _M_traits);
1417:       __matcher._M_add_character_class(_M_value, false);
1417:       __matcher._M_ready();
1417:       _M_stack.push(_StateSeqT(*_M_nfa,
1417:  _M_nfa->_M_insert_matcher(std::move(__matcher))));
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:   template<bool __icase, bool __collate>
1417:     void
1417:     _Compiler<_TraitsT>::
1417:     _M_insert_bracket_matcher(bool __neg)
1417:    (__ISwxdigit)) >> 24)))),
1434:   _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
1434:   _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
1434:   _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
1434:   _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
1434:   _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
1434:   _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
1434:   _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
1434: };
1434: 
1434: 
1434: 
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int iswalnum (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int iswalpha (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: extern int iswcntrl (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int iswdigit (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int iswgraph (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswlower (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: extern int iswprint (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswpunct (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswspace (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswupper (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswxdigit (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int iswblank (wint_t __wc) noexcept (true);
1434: # 155 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1434: extern wctype_t wctype (const char *__property) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t towlower (wint_t __wc) noexcept (true);
1434: 
1434: 
1434: extern wint_t towupper (wint_t __wc) noexcept (true);
1434: 
1434: }
1434: # 39 "/usr/include/wctype.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C" {
1434: 
1434: 
1434: 
1434: typedef const __int32_t *wctrans_t;
1434: 
1434: 
1434: 
1434: extern wctrans_t wctrans (const char *__property) noexcept (true);
1434: 
1434: 
1434: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswlower_l (wint_t __wh(size_type(0), __n, "basic_string::append");
1115:  return _M_append(__s, __n);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       append(const _CharT* __s)
1115:       {
1115:  ;
1115:  const size_type __n = traits_type::length(__s);
1115:  _M_check_length(size_type(0), __n, "basic_string::append");
1115:  return _M_append(__s, __n);
1115:       }
1115: # 1448 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       append(size_type __n, _CharT __c)
1115:       { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       append(initializer_list<_CharT> __l)
1115:       { return this->append(__l.begin(), __l.size()); }
1115: # 1474 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<class _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115: 
1115: 
1115: 
1115:         basic_string&
1115:         append(_InputIterator __first, _InputIterator __last)
1115:         { return this->replace(end(), end(), __first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Tp>
1115: 
1115:         _If_sv<_Tp, basic_string&>
1115:         append(const _Tp& __svt)
1115:         {
1115:           __sv_type __sv = __svt;
1115:           return this->append(__sv.data(), __sv.size());
1115:         }
1115: # 1506 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:         _If_sv<_Tp, basic_string&>
1115:  append(const _Tp& __svt, size_type __pos, size_type __n = npos)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return _M_append(__sv.data()
1115:        + std::__sv_check(__sv.size(), __pos, "basic_string::append"),
1115:        std::__sv_limit(__sv.size(), __pos, __n));
1115:  }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       push_back(_CharT __c)
1115:       {
1115:  const size_type __size = this->size();
1115:  if (__size + 1 > this->capacity())
1115:    this->_M_mutate(__size, size_type(0), 0, size_type(1));
1115:  traits_type::assign(this->_M_data()[__size], __c);
1115:  this->_M_set_length(__size + 1);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       assign(const basic_string& __str)
1115:       {
1115: 
1115:  if (_Alloc_traits::_S_propagate_on_copy_assign())
1115:    {
1115:      if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
1115:   && _M_get_allocator() != __str._M_get_allocator())
1115:        {
1115: 
1115: 
1115:   if (__str.size() <= _S_local_capacity)
1115:     {
1115:       _M_destroy(_M_allocated_capacity);
1115:       _M_data(_M_use_local_data());
1115:       _M_set_length(0);
1115:     }
1115:   else
1115:     {
1115:       const auto __len = __str.size();
1115:       auto __alloc = __str._M_get_allocator();
1115: 
1115:       auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1);
1115:       _M_destroy(_M_allocated_capacity);
1115:       _M_data(__ptr);
1115:       _M_capacity(__len);
1115:       _M_set_length(__len);
1115:     }
1115:        }
1115:      std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
1115:    }
1115: 
1115:  this->_M_assign(__str);
1115:  return *this;
1115:       }
1115: # 1584 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       assign(basic_string&& __str)
1115:       noexcept(_Alloc_traits::_S_nothrow_move())
1115:       {
1115: 
1115: 
1115:  return *this = std::move(__str);
1115:       }
1115: # 1608 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       assign(const basic_string& __str, size_type __pos, size_type __n = npos)
1115:       { return _M_replace(size_type(0), this->size(), __str._M_data()
1115:      + __str._M_check(__pos, "basic_string::assign"),
1115:      __str._M_limit(__pos, __n)); }
1115: # 1625 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
c, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: extern wctype_t wctype_l (const char *__property, locale_t __locale)
1434:      noexcept (true);
1434: 
1434: 
1434: 
1434: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
1434:      noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: extern wctrans_t wctrans_l (const char *__property, locale_t __locale)
1434:      noexcept (true);
1434: 
1434: 
1434: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
1434:       locale_t __locale) noexcept (true);
1434: 
1434: 
1434: 
1434: }
1434: # 51 "/usr/include/c++/12/cwctype" 2 3
1434: # 80 "/usr/include/c++/12/cwctype" 3
1434: namespace std
1434: {
1434:   using ::wctrans_t;
1434:   using ::wctype_t;
1434:   using ::wint_t;
1434: 
1434:   using ::iswalnum;
1434:   using ::iswalpha;
1434: 
1434:   using ::iswblank;
1434: 
1434:   using ::iswcntrl;
1434:   using ::iswctype;
1434:   using ::iswdigit;
1434:   using ::iswgraph;
1434:   using ::iswlower;
1434:   using ::iswprint;
1434:   using ::iswpunct;
1434:   using ::iswspace;
1434:   using ::iswupper;
1434:   using ::iswxdigit;
1434:   using ::towctrans;
1434:   using ::towlower;
1434:   using ::towupper;
1434:   using ::wctrans;
1434:   using ::wctype;
1434: }
1434: # 40 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: # 1 "/usr/include/c++/12/cctype" 1 3
1434: # 39 "/usr/include/c++/12/cctype" 3
1434:        
1434: # 40 "/usr/include/c++/12/cctype" 3
1434: # 41 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 1 3
1434: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   struct ctype_base
1434:   {
1434: 
1434:     typedef const int* __to_type;
1434: 
1434: 
1434: 
1434:     typedef unsigned short mask;
1434:     static const mask upper = _ISupper;
1434:     static const mask lower = _ISlower;
1434:     static const mask alpha = _ISalpha;
1434:     static const mask digit = _ISdigit;
1434:     static const mask xdigit = _ISxdigit;
1434:     static const mask space = _ISspace;
1434:     static const mask print = _ISprint;
1434:     static const mask graph = _ISalpha | _ISdigit | _ISpunct;
1434:     static const mask cntrl = _IScntrl;
1434:     static const mask punct = _ISpunct;
1434:     static const mask alnum = _ISalpha | _ISdigit;
1434: 
1434:     static const mask blank = _ISblank;
1434: 
1434:   };
1434: 
1434: 
1434: }
1434: # 42 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/ios_base.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/ios_base.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/ios_base.h" 3
1434: # 46 "/usr/include/c++/12/bits/ios_base.h" 3
1434: # 1 "/usr/include/c++/12/system_error" 1 3
1434: # 32 "/usr/include/c++/12/system_error" 3
1434:        
1434: # 33 "/usr/include/c++/12/system_error" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 1 3
1434: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
1434: # 1 "/usr/include/c++/12/cerrno" 1 3
1434: # 39 "/usr/include/c++/12/cer {
1417:       _BracketMatcher<__icase, __collate> __matcher(__neg, _M_traits);
1417:       _BracketState __last_char;
1417:       if (_M_try_char())
1417:  __last_char.set(_M_value[0]);
1417:       else if (_M_match_token(_ScannerT::_S_token_bracket_dash))
1417: 
1417:  __last_char.set('-');
1417:       while (_M_expression_term(__last_char, __matcher))
1417:  ;
1417:       if (__last_char._M_is_char())
1417:  __matcher._M_add_char(__last_char.get());
1417:       __matcher._M_ready();
1417:       _M_stack.push(_StateSeqT(
1417:         *_M_nfa,
1417:         _M_nfa->_M_insert_matcher(std::move(__matcher))));
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:   template<bool __icase, bool __collate>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_expression_term(_BracketState& __last_char,
1417:          _BracketMatcher<__icase, __collate>& __matcher)
1417:     {
1417:       if (_M_match_token(_ScannerT::_S_token_bracket_end))
1417:  return false;
1417: 
1417: 
1417:       const auto __push_char = [&](_CharT __ch)
1417:       {
1417:  if (__last_char._M_is_char())
1417:    __matcher._M_add_char(__last_char.get());
1417:  __last_char.set(__ch);
1417:       };
1417: 
1417:       const auto __push_class = [&]
1417:       {
1417:         if (__last_char._M_is_char())
1417:    __matcher._M_add_char(__last_char.get());
1417: 
1417: 
1417:  __last_char.reset(_BracketState::_Type::_Class);
1417:       };
1417: 
1417:       if (_M_match_token(_ScannerT::_S_token_collsymbol))
1417:  {
1417:    auto __symbol = __matcher._M_add_collate_element(_M_value);
1417:    if (__symbol.size() == 1)
1417:      __push_char(__symbol[0]);
1417:    else
1417:      __push_class();
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_equiv_class_name))
1417:  {
1417:    __push_class();
1417:    __matcher._M_add_equivalence_class(_M_value);
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_char_class_name))
1417:  {
1417:    __push_class();
1417:    __matcher._M_add_character_class(_M_value, false);
1417:  }
1417:       else if (_M_try_char())
1417:  __push_char(_M_value[0]);
1417: # 486 "/usr/include/c++/12/bits/regex_compiler.tcc" 3
1417:       else if (_M_match_token(_ScannerT::_S_token_bracket_dash))
1417:  {
1417:    if (_M_match_token(_ScannerT::_S_token_bracket_end))
1417:      {
1417: 
1417:        __push_char('-');
1417:        return false;
1417:      }
1417:    else if (__last_char._M_is_class())
1417:      {
1417: 
1417:        __throw_regex_error(regex_constants::error_range,
1417:       "Invalid start of '[x-x]' range in "
1417:       "regular expression");
1417:      }
1417:    else if (__last_char._M_is_char())
1417:      {
1417:        if (_M_try_char())
1417:   {
1417: 
1417:     __matcher._M_make_range(__last_char.get(), _M_value[0]);
1417:     __last_char.reset();
1417:   }
1417:        else if (_M_match_token(_ScannerT::_S_token_bracket_dash))
1417:   {
1417: 
1417:     __matcher._M_make_range(__last_char.get(), '-');
1417:     __last_char.reset();
1417:   }
1417:        else
1417:   __throw_regex_error(regex_constants::error_range,
1417:         "Invalid end of '[x-x]' range in "
1417:         "regular expression");
1417:      }
1417:    else if (_M_flags & regex_constants::ECMAScript)
1417:      {
1417: 
1417: 
1417: 
1417:        __push_char('-');
1417:      }
1417:    else
1417:      __throw_regex_error(regex_constants::error_range,
1417:     "Invalid location of '-' within '[...]' in "
1417:     "POSIX regular expression");
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_quoted_class))
1417:  {
1417:    __push_class();
1417:    __matcher._M_add_character_class(_M_value,
1417:         _M_ctype.is(_CtypeT::upper,
1417:              _M_value[0]));
1417:  }
1417:       else
1417:  __throw_regex_error(regex_constants::error_brack,
1417:        "Unexpected character within '[...]' in "
1417:        "regular expression");
1417:       return true;
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_try_charno" 3
1434:        
1434: # 40 "/usr/include/c++/12/cerrno" 3
1434: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   enum class errc
1434:     {
1434:       address_family_not_supported = 97,
1434:       address_in_use = 98,
1434:       address_not_available = 99,
1434:       already_connected = 106,
1434:       argument_list_too_long = 7,
1434:       argument_out_of_domain = 33,
1434:       bad_address = 14,
1434:       bad_file_descriptor = 9,
1434: 
1434: 
1434:       bad_message = 74,
1434: 
1434: 
1434:       broken_pipe = 32,
1434:       connection_aborted = 103,
1434:       connection_already_in_progress = 114,
1434:       connection_refused = 111,
1434:       connection_reset = 104,
1434:       cross_device_link = 18,
1434:       destination_address_required = 89,
1434:       device_or_resource_busy = 16,
1434:       directory_not_empty = 39,
1434:       executable_format_error = 8,
1434:       file_exists = 17,
1434:       file_too_large = 27,
1434:       filename_too_long = 36,
1434:       function_not_supported = 38,
1434:       host_unreachable = 113,
1434: 
1434: 
1434:       identifier_removed = 43,
1434: 
1434: 
1434:       illegal_byte_sequence = 84,
1434:       inappropriate_io_control_operation = 25,
1434:       interrupted = 4,
1434:       invalid_argument = 22,
1434:       invalid_seek = 29,
1434:       io_error = 5,
1434:       is_a_directory = 21,
1434:       message_size = 90,
1434:       network_down = 100,
1434:       network_reset = 102,
1434:       network_unreachable = 101,
1434:       no_buffer_space = 105,
1434:       no_child_process = 10,
1434: 
1434: 
1434:       no_link = 67,
1434: 
1434: 
1434:       no_lock_available = 37,
1434: 
1434: 
1434:       no_message_available = 61,
1434: 
1434: 
1434:       no_message = 42,
1434:       no_protocol_option = 92,
1434:       no_space_on_device = 28,
1434: 
1434: 
1434:       no_stream_resources = 63,
1434: 
1434: 
1434:       no_such_device_or_address = 6,
1434:       no_such_device = 19,
1434:       no_such_file_or_directory = 2,
1434:       no_such_process = 3,
1434:       not_a_directory = 20,
1434:       not_a_socket = 88,
1434: 
1434: 
1434:       not_a_stream = 60,
1434: 
1434: 
1434:       not_connected = 107,
1434:       not_enough_memory = 12,
1434: 
1434: 
1434:       not_supported = 95,
1434: 
1434: 
1434: 
1434:       operation_canceled = 125,
1434: 
1434: 
1434:       operation_in_progress = 115,
1434:       operation_not_permitted = 1,
1434:       operation_not_supported = 95,
1434:       operation_would_block = 11,
1434: 
1434: 
1434:       owner_dead = 130,
1434: 
1434: 
1434:       permission_denied = 13,
1434: 
1434: 
1434:       protocol_error = 71,
1434: 
1434: 
1434:       protocol_not_supported = 93,
1434:       read_only_file_system = 30,
1434:       resource_deadlock_would_occur = 35,
1434:       resource_unavailable_try_again = 11,
1434:       result_out_of_range = 34,
1434: 
1434: 
1434:       state_not_recoverable = 131,
1434: 
1434: 
1434: 
1434:       stream_timeout = 62,
1434: 
1434: 
1434: 
1434:       text_file_busy = 26,
1434: 
1434: 
1434:       timed_out = 110,
1434:       too_many_files_open_in_system = 23,
1434:       too_many_files_open = 24,
1434:       too_many_links = 31,
1434:       too_many_symbolic_link_levels = 40,
1434: 
1434: 
1434:       value_too_large = 75,
1434: 
1434: 
1434:       wrong_protocol_type = 91
1434:     };
1434: 
1434: 
1434: }
1434: # 40 "/usr/include/c++/12/system_error" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/stdexcept" 1 3
1434: # 36 "/usr/include/c++/12/stdexcept" 3
1434:        
1434: # 37 "/usr/include/c++/12/stdexcept" 3
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct __cow_string
1434:   {
1434:     union {
1434:       const char* _M_p;
1434:       char _M_bytes[sizeof(const char*)];
1434:     };
1434: 
1434:     __cow_string();
1434:     __cow_1115:       basic_string&
1115:       assign(const _CharT* __s, size_type __n)
1115:       {
1115:  ;
1115:  return _M_replace(size_type(0), this->size(), __s, __n);
1115:       }
1115: # 1642 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       assign(const _CharT* __s)
1115:       {
1115:  ;
1115:  return _M_replace(size_type(0), this->size(), __s,
1115:      traits_type::length(__s));
1115:       }
1115: # 1660 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       assign(size_type __n, _CharT __c)
1115:       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
1115: # 1674 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<class _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115: 
1115: 
1115: 
1115:         basic_string&
1115:         assign(_InputIterator __first, _InputIterator __last)
1115:         { return this->replace(begin(), end(), __first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       basic_string&
1115:       assign(initializer_list<_CharT> __l)
1115:       { return this->assign(__l.begin(), __l.size()); }
1115: # 1702 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  assign(const _Tp& __svt)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->assign(__sv.data(), __sv.size());
1115:  }
1115: # 1718 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return _M_replace(size_type(0), this->size(),
1115:        __sv.data()
1115:        + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
1115:        std::__sv_limit(__sv.size(), __pos, __n));
1115:  }
1115: # 1747 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       iterator
1115:       insert(const_iterator __p, size_type __n, _CharT __c)
1115:       {
1115:  ;
1115:  const size_type __pos = __p - begin();
1115:  this->replace(__p, __p, __n, __c);
1115:  return iterator(this->_M_data() + __pos);
1115:       }
1115: # 1790 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<class _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:  iterator
1115:         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
1115:         {
1115:    ;
1115:    const size_type __pos = __p - begin();
1115:    this->replace(__p, __p, __beg, __end);
1115:    return iterator(this->_M_data() + __pos);
1115:  }
1115: # 1827 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       iterator
1115:       insert(const_iterator __p, initializer_list<_CharT> __l)
1115:       { return this->insert(__p, __l.begin(), __l.end()); }
1115: # 1855 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       insert(size_type __pos1, const basic_string& __str)
1115:       { return this->replace(__pos1, size_type(0),
1115:         __str._M_data(), __str.size()); }
1115: # 1879 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       insert(size_type __pos1, const basic_string& __str,
1115:       size_type __pos2, size_type __n = npos)
1115:       { return this->replace(__pos1, size_type(0), __str._M_data()
1115:         + __str._M_check(__pos2, "basic_string::insert"),
1115:         __str._M_limit(__pos2, __n)); }
1115: # 1903 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       insert(size_type __pos, const _CharT* __s, size_type __n)
1115:       { return this->replace(__pos, size_type(0), __s, __n); }
1115: # 1923 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       insert(size_type __pos, const _CharT* __s)
1115:       {
1115:  ;
1115:  return this->replace(__pos, size_type(0), __s,
111string(const std::string&);
1434:     __cow_string(const char*, size_t);
1434:     __cow_string(const __cow_string&) noexcept;
1434:     __cow_string& operator=(const __cow_string&) noexcept;
1434:     ~__cow_string();
1434: 
1434:     __cow_string(__cow_string&&) noexcept;
1434:     __cow_string& operator=(__cow_string&&) noexcept;
1434: 
1434:   };
1434: 
1434:   typedef basic_string<char> __sso_string;
1434: # 113 "/usr/include/c++/12/stdexcept" 3
1434:   class logic_error : public exception
1434:   {
1434:     __cow_string _M_msg;
1434: 
1434:   public:
1434: 
1434:     explicit
1434:     logic_error(const string& __arg) ;
1434: 
1434: 
1434:     explicit
1434:     logic_error(const char*) ;
1434: 
1434:     logic_error(logic_error&&) noexcept;
1434:     logic_error& operator=(logic_error&&) noexcept;
1434: 
1434: 
1434: 
1434:     logic_error(const logic_error&) noexcept;
1434:     logic_error& operator=(const logic_error&) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     virtual ~logic_error() noexcept;
1434: 
1434: 
1434: 
1434:     virtual const char*
1434:     what() const noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   };
1434: 
1434: 
1434: 
1434:   class domain_error : public logic_error
1434:   {
1434:   public:
1434:     explicit domain_error(const string& __arg) ;
1434: 
1434:     explicit domain_error(const char*) ;
1434:     domain_error(const domain_error&) = default;
1434:     domain_error& operator=(const domain_error&) = default;
1434:     domain_error(domain_error&&) = default;
1434:     domain_error& operator=(domain_error&&) = default;
1434: 
1434:     virtual ~domain_error() noexcept;
1434:   };
1434: 
1434: 
1434:   class invalid_argument : public logic_error
1434:   {
1434:   public:
1434:     explicit invalid_argument(const string& __arg) ;
1434: 
1434:     explicit invalid_argument(const char*) ;
1434:     invalid_argument(const invalid_argument&) = default;
1434:     invalid_argument& operator=(const invalid_argument&) = default;
1434:     invalid_argument(invalid_argument&&) = default;
1434:     invalid_argument& operator=(invalid_argument&&) = default;
1434: 
1434:     virtual ~invalid_argument() noexcept;
1434:   };
1434: 
1434: 
1434: 
1434:   class length_error : public logic_error
1434:   {
1434:   public:
1434:     explicit length_error(const string& __arg) ;
1434: 
1434:     explicit length_error(const char*) ;
1434:     length_error(const length_error&) = default;
1434:     length_error& operator=(const length_error&) = default;
1434:     length_error(length_error&&) = default;
1434:     length_error& operator=(length_error&&) = default;
1434: 
1434:     virtual ~length_error() noexcept;
1434:   };
1434: 
1434: 
1434: 
1434:   class out_of_range : public logic_error
1434:   {
1434:   public:
1434:     explicit out_of_range(const string& __arg) ;
1434: 
1434:     explicit out_of_range(const char*) ;
1434:     out_of_range(const out_of_range&) = default;
1434:     out_of_range& operator=(const out_of_range&) = default;
1434:     out_of_range(out_of_range&&) = default;
1434:     out_of_range& operator=(out_of_range&&) = default;
1434: 
1434:     virtual ~out_of_range() noexcept;
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class runtime_error : public exception
1434:   {
1434:     __cow_string _M_msg;
1434: 
1434:   public:
1434: 
1434:     explicit
1434:     runtime_error(const string& __arg) ;
1434: 
1434: 
1434:     explicit
1434:     runtime_error(const char*) ;
1434: 
1434:     runtime_error(runtime_error&&) noexcept;
1434:     runtime_error& operator=(runtime_error&&) noexcept;
1434: 
1434: 
1434: 
1434:     runtime_error(const runtime_error&) noexcept;
1434:     runtime_error& operator=(const runtime_error&) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     virtual ~runtime_error() noexcept;
1434: 
1434: 
1434: 
1434:     virtual const char*
1434:     what() const noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   };
1434: 
1434: 
1434:   class range_error : public runtime_error
1434:   {
1434:   public:
1434:     explicit range_error(const strir()
1417:     {
1417:       bool __is_char = false;
1417:       if (_M_match_token(_ScannerT::_S_token_oct_num))
1417:  {
1417:    __is_char = true;
1417:    _M_value.assign(1, _M_cur_int_value(8));
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_hex_num))
1417:  {
1417:    __is_char = true;
1417:    _M_value.assign(1, _M_cur_int_value(16));
1417:  }
1417:       else if (_M_match_token(_ScannerT::_S_token_ord_char))
1417:  __is_char = true;
1417:       return __is_char;
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     bool
1417:     _Compiler<_TraitsT>::
1417:     _M_match_token(_TokenT __token)
1417:     {
1417:       if (__token == _M_scanner._M_get_token())
1417:  {
1417:    _M_value = _M_scanner._M_get_value();
1417:    _M_scanner._M_advance();
1417:    return true;
1417:  }
1417:       return false;
1417:     }
1417: 
1417:   template<typename _TraitsT>
1417:     int
1417:     _Compiler<_TraitsT>::
1417:     _M_cur_int_value(int __radix)
1417:     {
1417:       long __v = 0;
1417:       for (typename _StringT::size_type __i = 0;
1417:     __i < _M_value.length(); ++__i)
1417:  __v =__v * __radix + _M_traits.value(_M_value[__i], __radix);
1417:       return __v;
1417:     }
1417: 
1417:   template<typename _TraitsT, bool __icase, bool __collate>
1417:     bool
1417:     _BracketMatcher<_TraitsT, __icase, __collate>::
1417:     _M_apply(_CharT __ch, false_type) const
1417:     {
1417:       return [this, __ch]
1417:       {
1417:  if (std::binary_search(_M_char_set.begin(), _M_char_set.end(),
1417:           _M_translator._M_translate(__ch)))
1417:    return true;
1417:  auto __s = _M_translator._M_transform(__ch);
1417:  for (auto& __it : _M_range_set)
1417:    if (_M_translator._M_match_range(__it.first, __it.second, __s))
1417:      return true;
1417:  if (_M_traits.isctype(__ch, _M_class_set))
1417:    return true;
1417:  if (std::find(_M_equiv_set.begin(), _M_equiv_set.end(),
1417:         _M_traits.transform_primary(&__ch, &__ch+1))
1417:      != _M_equiv_set.end())
1417:    return true;
1417:  for (auto& __it : _M_neg_class_set)
1417:    if (!_M_traits.isctype(__ch, __it))
1417:      return true;
1417:  return false;
1417:       }() ^ _M_is_non_matching;
1417:     }
1417: }
1417: 
1417: 
1417: }
1417: # 572 "/usr/include/c++/12/bits/regex_compiler.h" 2 3
1417: # 66 "/usr/include/c++/12/regex" 2 3
1417: # 1 "/usr/include/c++/12/bits/regex.h" 1 3
1417: # 31 "/usr/include/c++/12/bits/regex.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: namespace __cxx11 {
1417:   template<typename, typename>
1417:     class basic_regex;
1417: 
1417:   template<typename _Bi_iter, typename _Alloc>
1417:     class match_results;
1417: 
1417: }
1417: 
1417: namespace __detail
1417: {
1417:   enum class _RegexExecutorPolicy : int { _S_auto, _S_alternate };
1417: 
1417:   template<typename _BiIter, typename _Alloc,
1417:     typename _CharT, typename _TraitsT>
1417:     bool
1417:     __regex_algo_impl(_BiIter __s, _BiIter __e,
1417:         match_results<_BiIter, _Alloc>& __m,
1417:         const basic_regex<_CharT, _TraitsT>& __re,
1417:         regex_constants::match_flag_type __flags,
1417:         _RegexExecutorPolicy __policy,
1417:         bool __match_mode);
1417: 
1417:   template<typename, typename, typename, bool>
1417:     class _Executor;
1417: 
1417:   template<typename _Tp>
1417:     struct __is_contiguous_iter : false_type { };
1417: 
1417:   template<typename _Tp>
1417:     struct __is_contiguous_iter<_Tp*> : true_type { };
1417: 
1417:   template<typename _Tp, typename _Cont>
1417:     struct __is_contiguous_iter<__gnu_cxx::__normal_iterator<_Tp*, _Cont>>
1417:     : true_type { };
1417: }
1417: 
1417: namespace __cxx11 {
1417: # 88 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type>
1417:     class regex_traits
1417:     {
1417:     public:
1417:       typedef _Ch_type char_type;
1417:       typedef std::basic_string<char_type> string_type;
1417:       typedef std::locale locale_type;
1417: 
1417:     private:
1417:      ng& __arg) ;
1434: 
1434:     explicit range_error(const char*) ;
1434:     range_error(const range_error&) = default;
1434:     range_error& operator=(const range_error&) = default;
1434:     range_error(range_error&&) = default;
1434:     range_error& operator=(range_error&&) = default;
1434: 
1434:     virtual ~range_error() noexcept;
1434:   };
1434: 
1434: 
1434:   class overflow_error : public runtime_error
1434:   {
1434:   public:
1434:     explicit overflow_error(const string& __arg) ;
1434: 
1434:     explicit overflow_error(const char*) ;
1434:     overflow_error(const overflow_error&) = default;
1434:     overflow_error& operator=(const overflow_error&) = default;
1434:     overflow_error(overflow_error&&) = default;
1434:     overflow_error& operator=(overflow_error&&) = default;
1434: 
1434:     virtual ~overflow_error() noexcept;
1434:   };
1434: 
1434: 
1434:   class underflow_error : public runtime_error
1434:   {
1434:   public:
1434:     explicit underflow_error(const string& __arg) ;
1434: 
1434:     explicit underflow_error(const char*) ;
1434:     underflow_error(const underflow_error&) = default;
1434:     underflow_error& operator=(const underflow_error&) = default;
1434:     underflow_error(underflow_error&&) = default;
1434:     underflow_error& operator=(underflow_error&&) = default;
1434: 
1434:     virtual ~underflow_error() noexcept;
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 42 "/usr/include/c++/12/system_error" 2 3
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class error_code;
1434:   class error_condition;
1434:   class system_error;
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_error_code_enum : public false_type { };
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct is_error_condition_enum : public false_type { };
1434: 
1434:   template<>
1434:     struct is_error_condition_enum<errc>
1434:     : public true_type { };
1434: 
1434: 
1434:   template <typename _Tp>
1434:     inline constexpr bool is_error_code_enum_v =
1434:       is_error_code_enum<_Tp>::value;
1434:   template <typename _Tp>
1434:     inline constexpr bool is_error_condition_enum_v =
1434:       is_error_condition_enum<_Tp>::value;
1434: 
1434: 
1434: 
1434:   inline namespace _V2 {
1434: # 97 "/usr/include/c++/12/system_error" 3
1434:   class error_category
1434:   {
1434:   public:
1434:     constexpr error_category() noexcept = default;
1434: 
1434:     virtual ~error_category();
1434: 
1434:     error_category(const error_category&) = delete;
1434:     error_category& operator=(const error_category&) = delete;
1434: 
1434:     virtual const char*
1434:     name() const noexcept = 0;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   private:
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     virtual __cow_string
1434:     _M_message(int) const;
1434: 
1434:   public:
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     virtual string
1434:     message(int) const = 0;
1434: # 133 "/usr/include/c++/12/system_error" 3
1434:   public:
1434:     virtual error_condition
1434:     default_error_condition(int __i) const noexcept;
1434: 
1434:     virtual bool
1434:     equivalent(int __i, const error_condition& __cond) const noexcept;
1434: 
1434:     virtual bool
1434:     equivalent(const error_code& __code, int __i) const noexcept;
1434: 
1434:     bool
1434:     operator==(const error_category& __other) const noexcept
1434:     { return this == &__other; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     bool
1434:     operator!=(const error_category& __other) const noexcept
1434:     { return this != &__other; }
1434: 
1434:     bool
1434:     operator<(const error_category& __other) const noexcept
1434:     { return less<const error_category*>()(this, &__other); }
1434: 
1434:   };
1434: 
1434: 
1434: 
1434: 
1434:   __attribute__ ((__const__)) const error_category& generic_category() noexcept;
1434: 
1434: 
1434:   __attribute__ ((__const__)) const error_c5:         traits_type::length(__s));
1115:       }
1115: # 1948 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       insert(size_type __pos, size_type __n, _CharT __c)
1115:       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
1115:          size_type(0), __n, __c); }
1115: # 1967 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       iterator
1115:       insert(__const_iterator __p, _CharT __c)
1115:       {
1115:  ;
1115:  const size_type __pos = __p - begin();
1115:  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
1115:  return iterator(_M_data() + __pos);
1115:       }
1115: # 1984 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  insert(size_type __pos, const _Tp& __svt)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->insert(__pos, __sv.data(), __sv.size());
1115:  }
1115: # 2001 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  insert(size_type __pos1, const _Tp& __svt,
1115:         size_type __pos2, size_type __n = npos)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->replace(__pos1, size_type(0),
1115:        __sv.data()
1115:        + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
1115:        std::__sv_limit(__sv.size(), __pos2, __n));
1115:  }
1115: # 2030 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       erase(size_type __pos = 0, size_type __n = npos)
1115:       {
1115:  _M_check(__pos, "basic_string::erase");
1115:  if (__n == npos)
1115:    this->_M_set_length(__pos);
1115:  else if (__n != 0)
1115:    this->_M_erase(__pos, _M_limit(__pos, __n));
1115:  return *this;
1115:       }
1115: # 2050 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       iterator
1115:       erase(__const_iterator __position)
1115:       {
1115: 
1115:                            ;
1115:  const size_type __pos = __position - begin();
1115:  this->_M_erase(__pos, size_type(1));
1115:  return iterator(_M_data() + __pos);
1115:       }
1115: # 2070 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       iterator
1115:       erase(__const_iterator __first, __const_iterator __last)
1115:       {
1115: 
1115:                         ;
1115:         const size_type __pos = __first - begin();
1115:  if (__last == end())
1115:    this->_M_set_length(__pos);
1115:  else
1115:    this->_M_erase(__pos, __last - __first);
1115:  return iterator(this->_M_data() + __pos);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       pop_back() noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!empty())) __builtin_unreachable(); } while (false);
1115:  _M_erase(size() - 1, 1);
1115:       }
1115: # 2116 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(size_type __pos, size_type __n, const basic_string& __str)
1115:       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
1115: # 2139 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(size_type __pos1, size_type __n1, const basic_string& __str,
1115:        size_type __pos2, size_type __n2 = npos)
1115:       { return this->replace(__pos1, __n1, __str._M_data()
1115:         + __str._M_check(__pos2, "basic_string::replace"),
1115:         __str._M_limit(__pos2, __n2)); }
1115: # 2165 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(size_type __pos, size_type __n1, const _CharT* __s,
1115:        size_type __n2)
1115:       {
1115:  ;
1115:  return _M_replace(_M_check(__pos, "basic_string::replace"),
1115:      _M_limit(__pos, __n1), __s, __n2);
1115:       }
1115: # 2191 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(size_type __pos, size_type __n1, const ategory& system_category() noexcept;
1434: 
1434: 
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   error_code make_error_code(errc) noexcept;
1434: # 196 "/usr/include/c++/12/system_error" 3
1434:   class error_code
1434:   {
1434:   public:
1434:     error_code() noexcept
1434:     : _M_value(0), _M_cat(&system_category()) { }
1434: 
1434:     error_code(int __v, const error_category& __cat) noexcept
1434:     : _M_value(__v), _M_cat(&__cat) { }
1434: 
1434:     template<typename _ErrorCodeEnum, typename = typename
1434:       enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type>
1434:       error_code(_ErrorCodeEnum __e) noexcept
1434:       { *this = make_error_code(__e); }
1434: 
1434:     void
1434:     assign(int __v, const error_category& __cat) noexcept
1434:     {
1434:       _M_value = __v;
1434:       _M_cat = &__cat;
1434:     }
1434: 
1434:     void
1434:     clear() noexcept
1434:     { assign(0, system_category()); }
1434: 
1434: 
1434:     template<typename _ErrorCodeEnum>
1434:       typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value,
1434:     error_code&>::type
1434:       operator=(_ErrorCodeEnum __e) noexcept
1434:       { return *this = make_error_code(__e); }
1434: 
1434:     int
1434:     value() const noexcept { return _M_value; }
1434: 
1434:     const error_category&
1434:     category() const noexcept { return *_M_cat; }
1434: 
1434:     error_condition
1434:     default_error_condition() const noexcept;
1434: 
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     string
1434:     message() const
1434:     { return category().message(value()); }
1434: 
1434:     explicit operator bool() const noexcept
1434:     { return _M_value != 0; }
1434: 
1434: 
1434:   private:
1434:     int _M_value;
1434:     const error_category* _M_cat;
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline error_code
1434:   make_error_code(errc __e) noexcept
1434:   { return error_code(static_cast<int>(__e), generic_category()); }
1434: # 268 "/usr/include/c++/12/system_error" 3
1434:   inline bool
1434:   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
1434:   {
1434:     return (__lhs.category() < __rhs.category()
1434:      || (__lhs.category() == __rhs.category()
1434:   && __lhs.value() < __rhs.value()));
1434:   }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
1434:     { return (__os << __e.category().name() << ':' << __e.value()); }
1434: 
1434: 
1434: 
1434:   error_condition make_error_condition(errc) noexcept;
1434: # 297 "/usr/include/c++/12/system_error" 3
1434:   class error_condition
1434:   {
1434:   public:
1434:     error_condition() noexcept
1434:     : _M_value(0), _M_cat(&generic_category()) { }
1434: 
1434:     error_condition(int __v, const error_category& __cat) noexcept
1434:     : _M_value(__v), _M_cat(&__cat) { }
1434: 
1434:     template<typename _ErrorConditionEnum, typename = typename
1434:   enable_if<is_error_condition_enum<_ErrorConditionEnum>::value>::type>
1434:       error_condition(_ErrorConditionEnum __e) noexcept
1434:       { *this = make_error_condition(__e); }
1434: 
1434:     void
1434:     assign(int __v, const error_category& __cat) noexcept
1434:     {
1434:       _M_value = __v;
1434:       _M_cat = &__cat;
1434:     }
1434: 
1434: 
1434:     template<typename _ErrorConditionEnum>
1434:       typename enable_if<is_error_condition_enum
1434:     <_ErrorConditionEnum>::value, error_condition&>::type
1434:       operator=(_ErrorConditionEnum __e) noexcept
1434:       { return *this = make_error_condition(__e); }
1434: 
1434:     void
1434:     clear() noexcept
1434:     { assign(0, generic_category()); }
1434: 
1434: 
1434:     int
1434:     value() const noexcept { return _M_value; }
1434: 
1434:     const error_category&
1434:     category() const noexcept { return *_M_cat; }
1434: 
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     string
1434:     message() const
1434:  struct _RegexMask
1417:  {
1417:    typedef std::ctype_base::mask _BaseType;
1417:    _BaseType _M_base;
1417:    unsigned char _M_extended;
1417:    static constexpr unsigned char _S_under = 1 << 0;
1417:    static constexpr unsigned char _S_valid_mask = 0x1;
1417: 
1417:    constexpr _RegexMask(_BaseType __base = 0,
1417:           unsigned char __extended = 0)
1417:    : _M_base(__base), _M_extended(__extended)
1417:    { }
1417: 
1417:    constexpr _RegexMask
1417:    operator&(_RegexMask __other) const
1417:    {
1417:      return _RegexMask(_M_base & __other._M_base,
1417:          _M_extended & __other._M_extended);
1417:    }
1417: 
1417:    constexpr _RegexMask
1417:    operator|(_RegexMask __other) const
1417:    {
1417:      return _RegexMask(_M_base | __other._M_base,
1417:          _M_extended | __other._M_extended);
1417:    }
1417: 
1417:    constexpr _RegexMask
1417:    operator^(_RegexMask __other) const
1417:    {
1417:      return _RegexMask(_M_base ^ __other._M_base,
1417:          _M_extended ^ __other._M_extended);
1417:    }
1417: 
1417:    constexpr _RegexMask
1417:    operator~() const
1417:    { return _RegexMask(~_M_base, ~_M_extended); }
1417: 
1417:    _RegexMask&
1417:    operator&=(_RegexMask __other)
1417:    { return *this = (*this) & __other; }
1417: 
1417:    _RegexMask&
1417:    operator|=(_RegexMask __other)
1417:    { return *this = (*this) | __other; }
1417: 
1417:    _RegexMask&
1417:    operator^=(_RegexMask __other)
1417:    { return *this = (*this) ^ __other; }
1417: 
1417:    constexpr bool
1417:    operator==(_RegexMask __other) const
1417:    {
1417:      return (_M_extended & _S_valid_mask)
1417:      == (__other._M_extended & _S_valid_mask)
1417:        && _M_base == __other._M_base;
1417:    }
1417: 
1417: 
1417:    constexpr bool
1417:    operator!=(_RegexMask __other) const
1417:    { return !((*this) == __other); }
1417: 
1417:  };
1417: 
1417:     public:
1417:       typedef _RegexMask char_class_type;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417:       regex_traits() { }
1417: # 181 "/usr/include/c++/12/bits/regex.h" 3
1417:       static std::size_t
1417:       length(const char_type* __p)
1417:       { return string_type::traits_type::length(__p); }
1417: # 192 "/usr/include/c++/12/bits/regex.h" 3
1417:       char_type
1417:       translate(char_type __c) const
1417:       { return __c; }
1417: # 205 "/usr/include/c++/12/bits/regex.h" 3
1417:       char_type
1417:       translate_nocase(char_type __c) const
1417:       {
1417:  typedef std::ctype<char_type> __ctype_type;
1417:  const __ctype_type& __fctyp(use_facet<__ctype_type>(_M_locale));
1417:  return __fctyp.tolower(__c);
1417:       }
1417: # 233 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _Fwd_iter>
1417:  string_type
1417:  transform(_Fwd_iter __first, _Fwd_iter __last) const
1417:  {
1417:    typedef std::collate<char_type> __collate_type;
1417:    const __collate_type& __fclt(use_facet<__collate_type>(_M_locale));
1417:    string_type __s(__first, __last);
1417:    return __fclt.transform(__s.data(), __s.data() + __s.size());
1417:  }
1417: # 257 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _Fwd_iter>
1417:  string_type
1417:  transform_primary(_Fwd_iter __first, _Fwd_iter __last) const
1417:  {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:    typedef std::ctype<char_type> __ctype_type;
1417:    const __ctype_type& __fctyp(use_facet<__ctype_type>(_M_locale));
1417:    std::vector<char_type> __s(__first, __last);
1417:    __fctyp.tolower(__s.data(), __s.data() + __s.size());
1417:    return this->transform(__s.data(), __s.data() + __s.size());
1417:  }
1417: # 285 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _Fwd_iter>
1417:  string_type
1417:  lookup_collatename(_Fwd_iter __first, _Fwd_iter __last) const;
1417: # 326 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _Fwd_iter>
1417:  char_class_type
1417:  lookup_classname(_Fwd_iter __first, _Fwd_iter __last,
1417:     bool __icase = false) const;
1417: # 343 "/usr/_CharT* __s)
1115:       {
1115:  ;
1115:  return this->replace(__pos, __n1, __s, traits_type::length(__s));
1115:       }
1115: # 2216 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
1115:       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
1115:          _M_limit(__pos, __n1), __n2, __c); }
1115: # 2235 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2,
1115:        const basic_string& __str)
1115:       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
1115: # 2256 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2,
1115:        const _CharT* __s, size_type __n)
1115:       {
1115: 
1115:                       ;
1115:  return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
1115:       }
1115: # 2279 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
1115:       {
1115:  ;
1115:  return this->replace(__i1, __i2, __s, traits_type::length(__s));
1115:       }
1115: # 2301 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
1115:        _CharT __c)
1115:       {
1115: 
1115:                       ;
1115:  return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
1115:       }
1115: # 2327 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<class _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:         basic_string&
1115:         replace(const_iterator __i1, const_iterator __i2,
1115:   _InputIterator __k1, _InputIterator __k2)
1115:         {
1115:   
1115:                         ;
1115:    ;
1115:    return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
1115:         std::__false_type());
1115:  }
1115: # 2360 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2,
1115:        _CharT* __k1, _CharT* __k2)
1115:       {
1115: 
1115:                       ;
1115:  ;
1115:  return this->replace(__i1 - begin(), __i2 - __i1,
1115:         __k1, __k2 - __k1);
1115:       }
1115: 
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2,
1115:        const _CharT* __k1, const _CharT* __k2)
1115:       {
1115: 
1115:                       ;
1115:  ;
1115:  return this->replace(__i1 - begin(), __i2 - __i1,
1115:         __k1, __k2 - __k1);
1115:       }
1115: 
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2,
1115:        iterator __k1, iterator __k2)
1115:       {
1115: 
1115:                       ;
1115:  ;
1115:  return this->replace(__i1 - begin(), __i2 - __i1,
1115:         __k1.base(), __k2 - __k1);
1115:       }
1115: 
1115:      
1115:       basic_string&
1115:       replace(__const_iterator __i1, __const_iterator __i2,
1115:        const_iterator __k1, const_iterator __k2)
1115:       {
1115: 
1115:                       ;
1115:  ;
1115:  return this->replace(__i1 - begin(), __i2 - __i1,
1115:         __k1.base(), __k2 - __k1);
1115:       }
1115: # 2423 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string& replace(const_iterator __i1, const_iterator __i2,
1115:        initializer_list<_CharT> __l)
1115:       { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
1115: # 2437 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  replace(size_type __pos, size_type __n, const _Tp& __svt)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->replace(__pos, __n, __sv.data(), __sv.size    { return category().message(value()); }
1434: 
1434:     explicit operator bool() const noexcept
1434:     { return _M_value != 0; }
1434: 
1434: 
1434:   private:
1434:     int _M_value;
1434:     const error_category* _M_cat;
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline error_condition
1434:   make_error_condition(errc __e) noexcept
1434:   { return error_condition(static_cast<int>(__e), generic_category()); }
1434: 
1434: 
1434: 
1434: 
1434:   inline bool
1434:   operator==(const error_code& __lhs, const error_code& __rhs) noexcept
1434:   { return (__lhs.category() == __rhs.category()
1434:      && __lhs.value() == __rhs.value()); }
1434: 
1434: 
1434:   inline bool
1434:   operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
1434:   {
1434:     return (__lhs.category().equivalent(__lhs.value(), __rhs)
1434:      || __rhs.category().equivalent(__lhs, __rhs.value()));
1434:   }
1434: 
1434: 
1434:   inline bool
1434:   operator==(const error_condition& __lhs,
1434:       const error_condition& __rhs) noexcept
1434:   {
1434:     return (__lhs.category() == __rhs.category()
1434:      && __lhs.value() == __rhs.value());
1434:   }
1434: # 397 "/usr/include/c++/12/system_error" 3
1434:   inline bool
1434:   operator<(const error_condition& __lhs,
1434:      const error_condition& __rhs) noexcept
1434:   {
1434:     return (__lhs.category() < __rhs.category()
1434:      || (__lhs.category() == __rhs.category()
1434:   && __lhs.value() < __rhs.value()));
1434:   }
1434: 
1434: 
1434:   inline bool
1434:   operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
1434:   {
1434:     return (__rhs.category().equivalent(__rhs.value(), __lhs)
1434:      || __lhs.category().equivalent(__rhs, __lhs.value()));
1434:   }
1434: 
1434: 
1434:   inline bool
1434:   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
1434:   { return !(__lhs == __rhs); }
1434: 
1434: 
1434:   inline bool
1434:   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
1434:   { return !(__lhs == __rhs); }
1434: 
1434: 
1434:   inline bool
1434:   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
1434:   { return !(__lhs == __rhs); }
1434: 
1434: 
1434:   inline bool
1434:   operator!=(const error_condition& __lhs,
1434:       const error_condition& __rhs) noexcept
1434:   { return !(__lhs == __rhs); }
1434: # 446 "/usr/include/c++/12/system_error" 3
1434:   class system_error : public std::runtime_error
1434:   {
1434:   private:
1434:     error_code _M_code;
1434: 
1434:   public:
1434:     system_error(error_code __ec = error_code())
1434:     : runtime_error(__ec.message()), _M_code(__ec) { }
1434: 
1434:     system_error(error_code __ec, const string& __what)
1434:     : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { }
1434: 
1434:     system_error(error_code __ec, const char* __what)
1434:     : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
1434: 
1434:     system_error(int __v, const error_category& __ecat, const char* __what)
1434:     : system_error(error_code(__v, __ecat), __what) { }
1434: 
1434:     system_error(int __v, const error_category& __ecat)
1434:     : runtime_error(error_code(__v, __ecat).message()),
1434:       _M_code(__v, __ecat) { }
1434: 
1434:     system_error(int __v, const error_category& __ecat, const string& __what)
1434:     : runtime_error(__what + ": " + error_code(__v, __ecat).message()),
1434:       _M_code(__v, __ecat) { }
1434: 
1434: 
1434:     system_error (const system_error &) = default;
1434:     system_error &operator= (const system_error &) = default;
1434: 
1434: 
1434:     virtual ~system_error() noexcept;
1434: 
1434:     const error_code&
1434:     code() const noexcept { return _M_code; }
1434:   };
1434: 
1434: 
1434: }
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct hash<error_code>
1434:     : public __hash_base<size_t, einclude/c++/12/bits/regex.h" 3
1417:       bool
1417:       isctype(_Ch_type __c, char_class_type __f) const;
1417: # 356 "/usr/include/c++/12/bits/regex.h" 3
1417:       int
1417:       value(_Ch_type __ch, int __radix) const;
1417: # 370 "/usr/include/c++/12/bits/regex.h" 3
1417:       locale_type
1417:       imbue(locale_type __loc)
1417:       {
1417:  std::swap(_M_locale, __loc);
1417:  return __loc;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       locale_type
1417:       getloc() const
1417:       { return _M_locale; }
1417: 
1417:     protected:
1417:       locale_type _M_locale;
1417:     };
1417: # 397 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type, typename _Rx_traits = regex_traits<_Ch_type>>
1417:     class basic_regex
1417:     {
1417:     public:
1417:       static_assert(is_same<_Ch_type, typename _Rx_traits::char_type>::value,
1417:       "regex traits class must have the same char_type");
1417: 
1417: 
1417:       typedef _Ch_type value_type;
1417:       typedef _Rx_traits traits_type;
1417:       typedef typename traits_type::string_type string_type;
1417:       typedef regex_constants::syntax_option_type flag_type;
1417:       typedef typename traits_type::locale_type locale_type;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       static constexpr flag_type icase = regex_constants::icase;
1417:       static constexpr flag_type nosubs = regex_constants::nosubs;
1417:       static constexpr flag_type optimize = regex_constants::optimize;
1417:       static constexpr flag_type collate = regex_constants::collate;
1417:       static constexpr flag_type ECMAScript = regex_constants::ECMAScript;
1417:       static constexpr flag_type basic = regex_constants::basic;
1417:       static constexpr flag_type extended = regex_constants::extended;
1417:       static constexpr flag_type awk = regex_constants::awk;
1417:       static constexpr flag_type grep = regex_constants::grep;
1417:       static constexpr flag_type egrep = regex_constants::egrep;
1417: 
1417:       static constexpr flag_type multiline = regex_constants::multiline;
1417: # 436 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex() noexcept
1417:       : _M_flags(ECMAScript), _M_loc(), _M_automaton(nullptr)
1417:       { }
1417: # 451 "/usr/include/c++/12/bits/regex.h" 3
1417:       explicit
1417:       basic_regex(const _Ch_type* __p, flag_type __f = ECMAScript)
1417:       { _M_compile(__p, __p + _Rx_traits::length(__p), __f); }
1417: # 467 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex(const _Ch_type* __p, std::size_t __len,
1417:     flag_type __f = ECMAScript)
1417:       {
1417:  ;
1417:  _M_compile(__p, __p + __len, __f);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       basic_regex(const basic_regex& __rhs) = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       basic_regex(basic_regex&& __rhs) noexcept = default;
1417: # 497 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _Ch_traits, typename _Ch_alloc>
1417:  explicit
1417:  basic_regex(const std::basic_string<_Ch_type, _Ch_traits,
1417:          _Ch_alloc>& __s,
1417:       flag_type __f = ECMAScript)
1417:  { _M_compile(__s.data(), __s.data() + __s.size(), __f); }
1417: # 517 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _FwdIter>
1417:  basic_regex(_FwdIter __first, _FwdIter __last,
1417:       flag_type __f = ECMAScript)
1417:  { this->assign(__first, __last, __f); }
1417: # 530 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex(initializer_list<_Ch_type> __l, flag_type __f = ECMAScript)
1417:       { _M_compile(__l.begin(), __l.end(), __f); }
1417: 
1417: 
1417: 
1417: 
1417:       ~basic_regex()
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417:       basic_regex&
1417:       operator=(const basic_regex&) = default;
1417: 
1417: 
1417: 
1417: 
1417:       basic_regex&
1417:       operator=(basic_regex&&) = default;
1417: # 558 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex&
1417:       operator=(const _Ch_type* __p)
1417:       { rerror_code>
1434:     {
1434:       size_t
1434:       operator()(const error_code& __e) const noexcept
1434:       {
1434:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1434:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct hash<error_condition>
1434:     : public __hash_base<size_t, error_condition>
1434:     {
1434:       size_t
1434:       operator()(const error_condition& __e) const noexcept
1434:       {
1434:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1434:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 47 "/usr/include/c++/12/bits/ios_base.h" 2 3
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   enum _Ios_Fmtflags
1434:     {
1434:       _S_boolalpha = 1L << 0,
1434:       _S_dec = 1L << 1,
1434:       _S_fixed = 1L << 2,
1434:       _S_hex = 1L << 3,
1434:       _S_internal = 1L << 4,
1434:       _S_left = 1L << 5,
1434:       _S_oct = 1L << 6,
1434:       _S_right = 1L << 7,
1434:       _S_scientific = 1L << 8,
1434:       _S_showbase = 1L << 9,
1434:       _S_showpoint = 1L << 10,
1434:       _S_showpos = 1L << 11,
1434:       _S_skipws = 1L << 12,
1434:       _S_unitbuf = 1L << 13,
1434:       _S_uppercase = 1L << 14,
1434:       _S_adjustfield = _S_left | _S_right | _S_internal,
1434:       _S_basefield = _S_dec | _S_oct | _S_hex,
1434:       _S_floatfield = _S_scientific | _S_fixed,
1434:       _S_ios_fmtflags_end = 1L << 16,
1434:       _S_ios_fmtflags_max = 0x7fffffff,
1434:       _S_ios_fmtflags_min = ~0x7fffffff
1434:     };
1434: 
1434:   inline constexpr _Ios_Fmtflags
1434:   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1434:   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Fmtflags
1434:   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1434:   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Fmtflags
1434:   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1434:   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Fmtflags
1434:   operator~(_Ios_Fmtflags __a)
1434:   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
1434: 
1434:   inline const _Ios_Fmtflags&
1434:   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1434:   { return __a = __a | __b; }
1434: 
1434:   inline const _Ios_Fmtflags&
1434:   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1434:   { return __a = __a & __b; }
1434: 
1434:   inline const _Ios_Fmtflags&
1434:   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1434:   { return __a = __a ^ __b; }
1434: 
1434: 
1434:   enum _Ios_Openmode
1434:     {
1434:       _S_app = 1L << 0,
1434:       _S_ate = 1L << 1,
1434:       _S_bin = 1L << 2,
1434:       _S_in = 1L << 3,
1434:       _S_out = 1L << 4,
1434:       _S_trunc = 1L << 5,
1434:       _S_noreplace = 1L << 6,
1434:       _S_ios_openmode_end = 1L << 16,
1434:       _S_ios_openmode_max = 0x7fffffff,
1434:       _S_ios_openmode_min = ~0x7fffffff
1434:     };
1434: 
1434:   inline constexpr _Ios_Openmode
1434:   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
1434:   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Openmode
1434:   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
1434:   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Openmode
1434:   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
1434:   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Openmode
1434:   operator~(_Ios_Openmode __a)
1434:   { return _Ios_Openmode(~static_cast<int>(__a)); }
1434: 
1434:   inline const _Ios_Openmode&
1434:   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
14());
1115:  }
1115: # 2455 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  replace(size_type __pos1, size_type __n1, const _Tp& __svt,
1115:   size_type __pos2, size_type __n2 = npos)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->replace(__pos1, __n1,
1115:        __sv.data()
1115:        + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
1115:        std::__sv_limit(__sv.size(), __pos2, __n2));
1115:  }
1115: # 2477 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, basic_string&>
1115:  replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->replace(__i1 - begin(), __i2 - __i1, __sv);
1115:  }
1115: 
1115: 
1115:     private:
1115:       template<class _Integer>
1115: 
1115:  basic_string&
1115:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1115:        _Integer __n, _Integer __val, __true_type)
1115:         { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
1115: 
1115:       template<class _InputIterator>
1115: 
1115:  basic_string&
1115:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1115:        _InputIterator __k1, _InputIterator __k2,
1115:        __false_type);
1115: 
1115:      
1115:       basic_string&
1115:       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1115:        _CharT __c);
1115: 
1115:      
1115:       basic_string&
1115:       _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1115:    const size_type __len2);
1115: 
1115:      
1115:       basic_string&
1115:       _M_append(const _CharT* __s, size_type __n);
1115: 
1115:     public:
1115: # 2530 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
1115: # 2541 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       void
1115:       swap(basic_string& __s) noexcept;
1115: # 2552 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       const _CharT*
1115:       c_str() const noexcept
1115:       { return _M_data(); }
1115: # 2565 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       const _CharT*
1115:       data() const noexcept
1115:       { return _M_data(); }
1115: # 2577 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       _CharT*
1115:       data() noexcept
1115:       { return _M_data(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return _M_get_allocator(); }
1115: # 2603 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find(const _CharT* __s, size_type __pos, size_type __n) const
1115:       noexcept;
1115: # 2618 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find(const basic_string& __str, size_type __pos = 0) const
1115:       noexcept
1115:       { return this->find(__str.data(), __pos, __str.size()); }
1115: # 2631 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, size_type>
1115:  find(const _Tp& __svt, size_type __pos = 0) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->find(__sv.data(), __pos, __sv.size());
1115:  }
1115: # 2652 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find(const _CharT* __s, size_type __pos = 0) const noexcept
1115:       {
1115:  ;
1115:  return this->find(__s, __pos, traits_type::length(__s));
1115:       }
1115: # 2670 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find(_CharT __c, size_type __pos = 0) const noexcept;
1115: # 2684 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       rfind(const basic_string& __str, size_type34:   { return __a = __a | __b; }
1434: 
1434:   inline const _Ios_Openmode&
1434:   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
1434:   { return __a = __a & __b; }
1434: 
1434:   inline const _Ios_Openmode&
1434:   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
1434:   { return __a = __a ^ __b; }
1434: 
1434: 
1434:   enum _Ios_Iostate
1434:     {
1434:       _S_goodbit = 0,
1434:       _S_badbit = 1L << 0,
1434:       _S_eofbit = 1L << 1,
1434:       _S_failbit = 1L << 2,
1434:       _S_ios_iostate_end = 1L << 16,
1434:       _S_ios_iostate_max = 0x7fffffff,
1434:       _S_ios_iostate_min = ~0x7fffffff
1434:     };
1434: 
1434:   inline constexpr _Ios_Iostate
1434:   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
1434:   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Iostate
1434:   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
1434:   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Iostate
1434:   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
1434:   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1434: 
1434:   inline constexpr _Ios_Iostate
1434:   operator~(_Ios_Iostate __a)
1434:   { return _Ios_Iostate(~static_cast<int>(__a)); }
1434: 
1434:   inline const _Ios_Iostate&
1434:   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
1434:   { return __a = __a | __b; }
1434: 
1434:   inline const _Ios_Iostate&
1434:   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
1434:   { return __a = __a & __b; }
1434: 
1434:   inline const _Ios_Iostate&
1434:   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
1434:   { return __a = __a ^ __b; }
1434: 
1434: 
1434:   enum _Ios_Seekdir
1434:     {
1434:       _S_beg = 0,
1434:       _S_cur = 1,
1434:       _S_end = 2,
1434:       _S_ios_seekdir_end = 1L << 16
1434:     };
1434: 
1434: 
1434: 
1434:   enum class io_errc { stream = 1 };
1434: 
1434:   template <> struct is_error_code_enum<io_errc> : public true_type { };
1434: 
1434:   const error_category& iostream_category() noexcept;
1434: 
1434:   inline error_code
1434:   make_error_code(io_errc __e) noexcept
1434:   { return error_code(static_cast<int>(__e), iostream_category()); }
1434: 
1434:   inline error_condition
1434:   make_error_condition(io_errc __e) noexcept
1434:   { return error_condition(static_cast<int>(__e), iostream_category()); }
1434: # 229 "/usr/include/c++/12/bits/ios_base.h" 3
1434:   class ios_base
1434:   {
1434: # 247 "/usr/include/c++/12/bits/ios_base.h" 3
1434:   public:
1434: # 256 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
1434:     {
1434:     public:
1434:       explicit
1434:       failure(const string& __str);
1434: 
1434: 
1434:       explicit
1434:       failure(const string&, const error_code&);
1434: 
1434:       explicit
1434:       failure(const char*, const error_code& = io_errc::stream);
1434: 
1434: 
1434:       virtual
1434:       ~failure() throw();
1434: 
1434:       virtual const char*
1434:       what() const throw();
1434:     };
1434: # 342 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     typedef _Ios_Fmtflags fmtflags;
1434: 
1434: 
1434:     static const fmtflags boolalpha = _S_boolalpha;
1434: 
1434: 
1434:     static const fmtflags dec = _S_dec;
1434: 
1434: 
1434:     static const fmtflags fixed = _S_fixed;
1434: 
1434: 
1434:     static const fmtflags hex = _S_hex;
1434: 
1434: 
1434: 
1434: 
1434:     static const fmtflags internal = _S_internal;
1434: 
1434: 
1434: 
1434:     static const fmtflags left = _S_left;
1434: 
1434: 
1434:     static const fmtflags oct = _S_oct;
1434: 
1434: 
1434: 
1434:     static const fmtflags right = _S_right;
1434: 
1434: 
1434:     static const fmtflags scientific = _S_scientific;
1434: 
1434: 
1434: 
1434:     static const fmtflags showbase = _S_showbase;
1434: 
1434: 
1434: 
1434:     static const fmtflags showpoint = _S_showpoint;
1434: 
1434: 
1434:     static const fmtflags showpos = _S_showpos;
1434: 
1434: 
1434:     static const fmtflags skipws = _S_skipws;
1434: 
1434: 
1434:     static const fmtflags unitbuf = _S_unitbuf;
1434: 
1434: 
1434: 
1434:     static const fmtflags uppercase = _S_uppercase;
1434: 
1434: 
1434:     static const fmtflags adjustfield = _S_adjustfield;
1434: 
1434: 
1434:     static const fmtflags basefield = _S_basefield;
1434: 
1434: 
1434:     static const fmtflags floatfield = _S_floatfield;
1434: # 417 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     typedef _Ios_Iostate iostate;
1434: 
1434: 
1434: 
1434:     static const iostate badbit = _S_badbit;
1434: 
1434: 
1434:     static const iostate eofbit = _S_eofbit;
1434: 
1434: 
1434: 
1434: 
1434:     static const iostate failbit = _S_failbit;
1434: 
1434: 
1434:     static const iostate goodbit = _S_goodbit;
1434: # 448 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     typedef _Ios_Openmode openmode;
1434: 
1434: 
1434:     static const openmode app = _S_app;
1434: 
1434: 
1434:     static const openmode ate = _S_ate;
1434: 
1434: 
1434: 
1434: 
1434:     static const openmode binary = _S_bin;
1434: 
1434: 
1434:     static const openmode in = _S_in;
1434: 
1434: 
1434:     static const openmode out = _S_out;
1434: 
1434: 
1434:     static const openmode trunc = _S_trunc;
1434: 
1434:     static const openmode __noreplace = _S_noreplace;
1434: # 488 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     typedef _Ios_Seekdir seekdir;
1434: 
1434: 
1434:     static const seekdir beg = _S_beg;
1434: 
1434: 
1434:     static const seekdir cur = _S_cur;
1434: 
1434: 
1434:     static const seekdir end = _S_end;
1434: # 521 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     enum event
1434:     {
1434:       erase_event,
1434:       imbue_event,
1434:       copyfmt_event
1434:     };
1434: # 538 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     typedef void (*event_callback) (event __e, ios_base& __b, int __i);
1434: # 550 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     void
1434:     register_callback(event_callback __fn, int __index);
1434: 
1434:   protected:
1434:     streamsize _M_precision;
1434:     streamsize _M_width;
1434:     fmtflags _M_flags;
1434:     iostate _M_exception;
1434:     iostate _M_streambuf_state;
1434: 
1434: 
1434: 
1434:     struct _Callback_list
1434:     {
1434: 
1434:       _Callback_list* _M_next;
1434:       ios_base::event_callback _M_fn;
1434:       int _M_index;
1434:       _Atomic_word _M_refcount;
1434: 
1434:       _Callback_list(ios_base::event_callback __fn, int __index,
1434:        _Callback_list* __cb)
1434:       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
1434: 
1434:       void
1434:       _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1434: 
1434: 
1434:       int
1434:       _M_remove_reference()
1434:       {
1434: 
1434:         ;
1434:         int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
1434:         if (__res == 0)
1434:           {
1434:             ;
1434:           }
1434:         return __res;
1434:       }
1434:     };
1434: 
1434:      _Callback_list* _M_callbacks;
1434: 
1434:     void
1434:     _M_call_callbacks(event __ev) throw();
1434: 
1434:     void
1434:     _M_dispose_callbacks(void) throw();
1434: 
1434: 
1434:     struct _Words
1434:     {
1434:       void* _M_pword;
1434:       long _M_iword;
1434:       _Words() : _M_pword(0), _M_iword(0) { }
1434:     };
1434: 
1434: 
1434:     _Words _M_word_zero;
1434: 
1434: 
1434: 
1434:     enum { _S_local_word_size = 8 };
1434:     _Words _M_local_word[_S_local_word_size];
1434: 
1434: 
1434:     int _M_word_size;
1434:     _Words* _M_word;
1434: 
1434:     _Words&
1434:     _M_grow_words(int __index, bool __iword);
1434: 
1434: 
1434:     locale _M_ios_locale;
1434: 
1434:     void
1434:     _M_init() throw();
1434: 
1434:   public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     class Init
1434:     {
1434:       friend class ios_base;
1434:     public:
1434:       Init();
1434:       ~Init();
1434: 
1434: 
1434:       Init(const Init&) = default;
1434:       Inturn this->assign(__p); }
1417: # 570 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex&
1417:       operator=(initializer_list<_Ch_type> __l)
1417:       { return this->assign(__l); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Ch_traits, typename _Alloc>
1417:  basic_regex&
1417:  operator=(const basic_string<_Ch_type, _Ch_traits, _Alloc>& __s)
1417:  { return this->assign(__s); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       basic_regex&
1417:       assign(const basic_regex& __rhs) noexcept
1417:       { return *this = __rhs; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       basic_regex&
1417:       assign(basic_regex&& __rhs) noexcept
1417:       { return *this = std::move(__rhs); }
1417: # 617 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex&
1417:       assign(const _Ch_type* __p, flag_type __flags = ECMAScript)
1417:       {
1417:  _M_compile(__p, __p + _Rx_traits::length(__p), __flags);
1417:  return *this;
1417:       }
1417: # 639 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex&
1417:       assign(const _Ch_type* __p, size_t __len, flag_type __flags = ECMAScript)
1417:       {
1417:  _M_compile(__p, __p + __len, __flags);
1417:  return *this;
1417:       }
1417: # 657 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _Ch_traits, typename _Alloc>
1417:  basic_regex&
1417:  assign(const basic_string<_Ch_type, _Ch_traits, _Alloc>& __s,
1417:         flag_type __flags = ECMAScript)
1417:  {
1417:    _M_compile(__s.data(), __s.data() + __s.size(), __flags);
1417:    return *this;
1417:  }
1417: # 679 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _InputIterator>
1417:  basic_regex&
1417:  assign(_InputIterator __first, _InputIterator __last,
1417:         flag_type __flags = ECMAScript)
1417:  {
1417: 
1417:    using _ValT = typename iterator_traits<_InputIterator>::value_type;
1417:    if constexpr (__detail::__is_contiguous_iter<_InputIterator>::value
1417:    && is_same_v<_ValT, value_type>)
1417:      {
1417:        ;
1417:        if constexpr (is_pointer_v<_InputIterator>)
1417:   _M_compile(__first, __last, __flags);
1417:        else
1417:   _M_compile(__first.base(), __last.base(), __flags);
1417:      }
1417:    else
1417: 
1417:    this->assign(string_type(__first, __last), __flags);
1417:    return *this;
1417:  }
1417: # 712 "/usr/include/c++/12/bits/regex.h" 3
1417:       basic_regex&
1417:       assign(initializer_list<_Ch_type> __l, flag_type __flags = ECMAScript)
1417:       {
1417:  _M_compile(__l.begin(), __l.end(), __flags);
1417:  return *this;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       unsigned int
1417:       mark_count() const noexcept
1417:       {
1417:  if (_M_automaton)
1417:    return _M_automaton->_M_sub_count() - 1;
1417:  return 0;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       flag_type
1417:       flags() const noexcept
1417:       { return _M_flags; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       locale_type
1417:       imbue(locale_type __loc)
1417:       {
1417:  std::swap(__loc, _M_loc);
1417:  _M_automaton.reset();
1417:  return __loc;
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       locale_type
1417:       getloc() const noexcept
1417:       { return _M_loc; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       void
1417:       swap(basic_regex& __rhs) noexcept
1417:       {
1417:  std::swap(_M_flags, __rhs._M_flags);
1417:  std::swap(_M_loc, __rhs._M_loc);
1417:  std::swap(_M_automaton, __rhs._M_automaton);
1417:       }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     private:
1417:       typedef std::shared_ptr<const __detail::_NFA<_Rx_traits>> _AutomatonPtr;
1417: 
1417:       void
1417:       _M_compile(const _Ch_type* __first, const _Ch_type* __last,
1417:    flag_type __f)
1417:       {
1417:  __detail::_Compiler<_Rx_traits> __c(__first, __last, _M_loc, __f);
1417:  _M_automaton = __c._M_get_nfa();
1417:  _M_flags = __f;
1417:       }
1417: 
1417:       templait& operator=(const Init&) = default;
1434: 
1434: 
1434:     private:
1434:       static _Atomic_word _S_refcount;
1434:       static bool _S_synced_with_stdio;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     fmtflags
1434:     flags() const
1434:     { return _M_flags; }
1434: # 668 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     fmtflags
1434:     flags(fmtflags __fmtfl)
1434:     {
1434:       fmtflags __old = _M_flags;
1434:       _M_flags = __fmtfl;
1434:       return __old;
1434:     }
1434: # 684 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     fmtflags
1434:     setf(fmtflags __fmtfl)
1434:     {
1434:       fmtflags __old = _M_flags;
1434:       _M_flags |= __fmtfl;
1434:       return __old;
1434:     }
1434: # 701 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     fmtflags
1434:     setf(fmtflags __fmtfl, fmtflags __mask)
1434:     {
1434:       fmtflags __old = _M_flags;
1434:       _M_flags &= ~__mask;
1434:       _M_flags |= (__fmtfl & __mask);
1434:       return __old;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     void
1434:     unsetf(fmtflags __mask)
1434:     { _M_flags &= ~__mask; }
1434: # 727 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     streamsize
1434:     precision() const
1434:     { return _M_precision; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     streamsize
1434:     precision(streamsize __prec)
1434:     {
1434:       streamsize __old = _M_precision;
1434:       _M_precision = __prec;
1434:       return __old;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     streamsize
1434:     width() const
1434:     { return _M_width; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     streamsize
1434:     width(streamsize __wide)
1434:     {
1434:       streamsize __old = _M_width;
1434:       _M_width = __wide;
1434:       return __old;
1434:     }
1434: # 778 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     static bool
1434:     sync_with_stdio(bool __sync = true);
1434: # 790 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     locale
1434:     imbue(const locale& __loc) throw();
1434: # 801 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     locale
1434:     getloc() const
1434:     { return _M_ios_locale; }
1434: # 812 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     const locale&
1434:     _M_getloc() const
1434:     { return _M_ios_locale; }
1434: # 831 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     static int
1434:     xalloc() throw();
1434: # 847 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     long&
1434:     iword(int __ix)
1434:     {
1434:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1434:    ? _M_word[__ix] : _M_grow_words(__ix, true);
1434:       return __word._M_iword;
1434:     }
1434: # 868 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     void*&
1434:     pword(int __ix)
1434:     {
1434:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1434:    ? _M_word[__ix] : _M_grow_words(__ix, false);
1434:       return __word._M_pword;
1434:     }
1434: # 885 "/usr/include/c++/12/bits/ios_base.h" 3
1434:     virtual ~ios_base();
1434: 
1434:   protected:
1434:     ios_base() throw ();
1434: # 899 "/usr/include/c++/12/bits/ios_base.h" 3
1434:   public:
1434:     ios_base(const ios_base&) = delete;
1434: 
1434:     ios_base&
1434:     operator=(const ios_base&) = delete;
1434: 
1434:   protected:
1434:     void
1434:     _M_move(ios_base&) noexcept;
1434: 
1434:     void
1434:     _M_swap(ios_base& __rhs) noexcept;
1434: 
1434:   };
1434: 
1434: 
1434: 
1434:   inline ios_base&
1434:   boolalpha(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::boolalpha);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   noboolalpha(ios_base& __base)
1434:   {
1434:     __base.unsetf(ios_base::boolalpha);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   showbase(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::showbase);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   noshowbase(i __pos = npos) const
1115:       noexcept
1115:       { return this->rfind(__str.data(), __pos, __str.size()); }
1115: # 2697 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, size_type>
1115:  rfind(const _Tp& __svt, size_type __pos = npos) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->rfind(__sv.data(), __pos, __sv.size());
1115:  }
1115: # 2720 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       rfind(const _CharT* __s, size_type __pos, size_type __n) const
1115:       noexcept;
1115: # 2735 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       rfind(const _CharT* __s, size_type __pos = npos) const
1115:       {
1115:  ;
1115:  return this->rfind(__s, __pos, traits_type::length(__s));
1115:       }
1115: # 2753 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
1115: # 2768 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_of(const basic_string& __str, size_type __pos = 0) const
1115:       noexcept
1115:       { return this->find_first_of(__str.data(), __pos, __str.size()); }
1115: # 2782 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, size_type>
1115:  find_first_of(const _Tp& __svt, size_type __pos = 0) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->find_first_of(__sv.data(), __pos, __sv.size());
1115:  }
1115: # 2805 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1115:       noexcept;
1115: # 2820 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_of(const _CharT* __s, size_type __pos = 0) const
1115:       noexcept
1115:       {
1115:  ;
1115:  return this->find_first_of(__s, __pos, traits_type::length(__s));
1115:       }
1115: # 2841 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
1115:       { return this->find(__c, __pos); }
1115: # 2857 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_of(const basic_string& __str, size_type __pos = npos) const
1115:       noexcept
1115:       { return this->find_last_of(__str.data(), __pos, __str.size()); }
1115: # 2871 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, size_type>
1115:  find_last_of(const _Tp& __svt, size_type __pos = npos) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->find_last_of(__sv.data(), __pos, __sv.size());
1115:  }
1115: # 2894 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1115:       noexcept;
1115: # 2909 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_of(const _CharT* __s, size_type __pos = npos) const
1115:       noexcept
1115:       {
1115:  ;
1115:  return this->find_last_of(__s, __pos, traits_type::length(__s));
1115:       }
1115: # 2930 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_of(_CharT __c, size_type __pos = npos) const noexcept
1115:       { return this->rfind(__c, __pos); }
1115: # 2945 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
1115:       noexcept
1115:       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
1115: # 2959 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   os_base& __base)
1434:   {
1434:     __base.unsetf(ios_base::showbase);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   showpoint(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::showpoint);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   noshowpoint(ios_base& __base)
1434:   {
1434:     __base.unsetf(ios_base::showpoint);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   showpos(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::showpos);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   noshowpos(ios_base& __base)
1434:   {
1434:     __base.unsetf(ios_base::showpos);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   skipws(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::skipws);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   noskipws(ios_base& __base)
1434:   {
1434:     __base.unsetf(ios_base::skipws);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   uppercase(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::uppercase);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   nouppercase(ios_base& __base)
1434:   {
1434:     __base.unsetf(ios_base::uppercase);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   unitbuf(ios_base& __base)
1434:   {
1434:      __base.setf(ios_base::unitbuf);
1434:      return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   nounitbuf(ios_base& __base)
1434:   {
1434:      __base.unsetf(ios_base::unitbuf);
1434:      return __base;
1434:   }
1434: 
1434: 
1434: 
1434:   inline ios_base&
1434:   internal(ios_base& __base)
1434:   {
1434:      __base.setf(ios_base::internal, ios_base::adjustfield);
1434:      return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   left(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::left, ios_base::adjustfield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   right(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::right, ios_base::adjustfield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434: 
1434:   inline ios_base&
1434:   dec(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::dec, ios_base::basefield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   hex(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::hex, ios_base::basefield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   oct(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::oct, ios_base::basefield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434: 
1434:   inline ios_base&
1434:   fixed(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::fixed, ios_base::floatfield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   scientific(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::scientific, ios_base::floatfield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline ios_base&
1434:   hexfloat(ios_base& __base)
1434:   {
1434:     __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434:   inline ios_base&
1434:   defaultfloat(ios_base& __base)
1434:   {
1434:     __base.unsetf(ios_base::floatfield);
1434:     return __base;
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: # 44 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: # 1 "/usr/include/c++/12/streambuf" 1 3
1434: # 36 "/usr/include/c++/12/streambuf" 3
1434:        
1434: # 37 "/usr/include/c++/12/streambuf" 3
1434: # 45 "/usr/include/c++/12/streambuf" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     streamsize
1434:     __copy_streambufs_eof(basic_streambute<typename _Bp, typename _Ap, typename _Cp, typename _Rp>
1417:  friend bool
1417:  __detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
1417:         const basic_regex<_Cp, _Rp>&,
1417:         regex_constants::match_flag_type,
1417:         __detail::_RegexExecutorPolicy, bool);
1417: 
1417:       template<typename, typename, typename, bool>
1417:  friend class __detail::_Executor;
1417: 
1417:       flag_type _M_flags;
1417:       locale_type _M_loc;
1417:       _AutomatonPtr _M_automaton;
1417:     };
1417: # 852 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _ForwardIterator>
1417:     basic_regex(_ForwardIterator, _ForwardIterator,
1417:   regex_constants::syntax_option_type = {})
1417:       -> basic_regex<typename iterator_traits<_ForwardIterator>::value_type>;
1417: 
1417: 
1417: 
1417:   typedef basic_regex<char> regex;
1417: 
1417: 
1417: 
1417:   typedef basic_regex<wchar_t> wregex;
1417: # 874 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type, typename _Rx_traits>
1417:     inline void
1417:     swap(basic_regex<_Ch_type, _Rx_traits>& __lhs,
1417:   basic_regex<_Ch_type, _Rx_traits>& __rhs) noexcept
1417:     { __lhs.swap(__rhs); }
1417: # 894 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _BiIter>
1417:     class sub_match : public std::pair<_BiIter, _BiIter>
1417:     {
1417:       typedef iterator_traits<_BiIter> __iter_traits;
1417: 
1417:     public:
1417:       typedef typename __iter_traits::value_type value_type;
1417:       typedef typename __iter_traits::difference_type difference_type;
1417:       typedef _BiIter iterator;
1417:       typedef basic_string<value_type> string_type;
1417: 
1417:       bool matched;
1417: 
1417:       constexpr sub_match() noexcept : matched() { }
1417: 
1417: 
1417:       difference_type
1417:       length() const noexcept
1417:       { return this->matched ? std::distance(this->first, this->second) : 0; }
1417: # 924 "/usr/include/c++/12/bits/regex.h" 3
1417:       operator string_type() const
1417:       { return str(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       string_type
1417:       str() const
1417:       {
1417:  return this->matched
1417:    ? string_type(this->first, this->second)
1417:    : string_type();
1417:       }
1417: # 949 "/usr/include/c++/12/bits/regex.h" 3
1417:       int
1417:       compare(const sub_match& __s) const
1417:       { return this->_M_str().compare(__s._M_str()); }
1417: # 963 "/usr/include/c++/12/bits/regex.h" 3
1417:       int
1417:       compare(const string_type& __s) const
1417:       { return this->_M_str().compare(__s); }
1417: 
1417:       int
1417:       compare(const value_type* __s) const
1417:       { return this->_M_str().compare(__s); }
1417: 
1417: 
1417: 
1417: 
1417:       int
1417:       _M_compare(const value_type* __s, size_t __n) const
1417:       { return this->_M_str().compare({__s, __n}); }
1417: 
1417: 
1417:     private:
1417: 
1417:       struct __string_view
1417:       {
1417:  using traits_type = typename string_type::traits_type;
1417: 
1417:  __string_view() = default;
1417: 
1417:  __string_view(const value_type* __s, size_t __n) noexcept
1417:  : _M_data(__s), _M_len(__n) { }
1417: 
1417:  __string_view(const value_type* __s) noexcept
1417:  : _M_data(__s), _M_len(traits_type::length(__s)) { }
1417: 
1417:  __string_view(const string_type& __s) noexcept
1417:  : _M_data(__s.data()), _M_len(__s.length()) { }
1417: 
1417:  int
1417:  compare(__string_view __s) const noexcept
1417:  {
1417:    if (const size_t __n = std::min(_M_len, __s._M_len))
1417:      if (int __ret = traits_type::compare(_M_data, __s._M_data, __n))
1417:        return __ret;
1417:    using __limits = __gnu_cxx::__int_traits<int>;
1417:    const difference_type __diff = _M_len - __s._M_len;
1417:    if (__diff > __limits::__max)
1417:      return __limits::__max;
1417:    if (__diff < __limits::__min)
1417:      return __limits::__min;
1417:    return static_cast<int>(__diff);
1417:  }
1417: 
1417:       private:
1417:  const value_type* _M_data = nullpt    template<typename _Tp>
1115:  _If_sv<_Tp, size_type>
1115: 
1115:  find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->find_first_not_of(__sv.data(), __pos, __sv.size());
1115:  }
1115: # 2982 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_not_of(const _CharT* __s, size_type __pos,
1115:    size_type __n) const noexcept;
1115: # 2997 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
1115:       noexcept
1115:       {
1115:  ;
1115:  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
1115:       }
1115: # 3016 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_first_not_of(_CharT __c, size_type __pos = 0) const
1115:       noexcept;
1115: # 3032 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
1115:       noexcept
1115:       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
1115: # 3046 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, size_type>
1115:  find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return this->find_last_not_of(__sv.data(), __pos, __sv.size());
1115:  }
1115: # 3069 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_not_of(const _CharT* __s, size_type __pos,
1115:          size_type __n) const noexcept;
1115: # 3084 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
1115:       noexcept
1115:       {
1115:  ;
1115:  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
1115:       }
1115: # 3103 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       size_type
1115:       find_last_not_of(_CharT __c, size_type __pos = npos) const
1115:       noexcept;
1115: # 3120 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       basic_string
1115:       substr(size_type __pos = 0, size_type __n = npos) const
1115:       { return basic_string(*this,
1115:        _M_check(__pos, "basic_string::substr"), __n); }
1115: # 3140 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       int
1115:       compare(const basic_string& __str) const
1115:       {
1115:  const size_type __size = this->size();
1115:  const size_type __osize = __str.size();
1115:  const size_type __len = std::min(__size, __osize);
1115: 
1115:  int __r = traits_type::compare(_M_data(), __str.data(), __len);
1115:  if (!__r)
1115:    __r = _S_compare(__size, __osize);
1115:  return __r;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, int>
1115:  compare(const _Tp& __svt) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    const size_type __size = this->size();
1115:    const size_type __osize = __sv.size();
1115:    const size_type __len = std::min(__size, __osize);
1115: 
1115:    int __r = traits_type::compare(_M_data(), __sv.data(), __len);
1115:    if (!__r)
1115:      __r = _S_compare(__size, __osize);
1115:    return __r;
1115:  }
1115: # 3185 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
1115: 
1115:  _If_sv<_Tp, int>
1115:  compare(size_type __pos, size_type __n, const _Tp& __svt) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return __sv_type(*this).substr(__pos, __n).compare(__sv);
1115:  }
1115: # 3205 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename _Tp>
f<_CharT, _Traits>*,
1434:      basic_streambuf<_CharT, _Traits>*, bool&);
1434: # 121 "/usr/include/c++/12/streambuf" 3
1434:   template<typename _CharT, typename _Traits>
1434:     class basic_streambuf
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434:       typedef typename traits_type::int_type int_type;
1434:       typedef typename traits_type::pos_type pos_type;
1434:       typedef typename traits_type::off_type off_type;
1434: 
1434: 
1434: 
1434: 
1434:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1434: 
1434: 
1434:       friend class basic_ios<char_type, traits_type>;
1434:       friend class basic_istream<char_type, traits_type>;
1434:       friend class basic_ostream<char_type, traits_type>;
1434:       friend class istreambuf_iterator<char_type, traits_type>;
1434:       friend class ostreambuf_iterator<char_type, traits_type>;
1434: 
1434:       friend streamsize
1434:       __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
1434: 
1434:       template<bool _IsMove, typename _CharT2>
1434:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:             _CharT2*>::__type
1434:         __copy_move_a2(istreambuf_iterator<_CharT2>,
1434:          istreambuf_iterator<_CharT2>, _CharT2*);
1434: 
1434:       template<typename _CharT2>
1434:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:       istreambuf_iterator<_CharT2> >::__type
1434:         find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1434:       const _CharT2&);
1434: 
1434:       template<typename _CharT2, typename _Distance>
1434:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:             void>::__type
1434:         advance(istreambuf_iterator<_CharT2>&, _Distance);
1434: 
1434:       friend void __istream_extract(istream&, char*, streamsize);
1434: 
1434:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1434:         friend basic_istream<_CharT2, _Traits2>&
1434:         operator>>(basic_istream<_CharT2, _Traits2>&,
1434:      basic_string<_CharT2, _Traits2, _Alloc>&);
1434: 
1434:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1434:         friend basic_istream<_CharT2, _Traits2>&
1434:         getline(basic_istream<_CharT2, _Traits2>&,
1434:   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       char_type* _M_in_beg;
1434:       char_type* _M_in_cur;
1434:       char_type* _M_in_end;
1434:       char_type* _M_out_beg;
1434:       char_type* _M_out_cur;
1434:       char_type* _M_out_end;
1434: 
1434: 
1434:       locale _M_buf_locale;
1434: 
1434:   public:
1434: 
1434:       virtual
1434:       ~basic_streambuf()
1434:       { }
1434: # 213 "/usr/include/c++/12/streambuf" 3
1434:       locale
1434:       pubimbue(const locale& __loc)
1434:       {
1434:  locale __tmp(this->getloc());
1434:  this->imbue(__loc);
1434:  _M_buf_locale = __loc;
1434:  return __tmp;
1434:       }
1434: # 230 "/usr/include/c++/12/streambuf" 3
1434:       locale
1434:       getloc() const
1434:       { return _M_buf_locale; }
1434: # 243 "/usr/include/c++/12/streambuf" 3
1434:       basic_streambuf*
1434:       pubsetbuf(char_type* __s, streamsize __n)
1434:       { return this->setbuf(__s, __n); }
1434: # 255 "/usr/include/c++/12/streambuf" 3
1434:       pos_type
1434:       pubseekoff(off_type __off, ios_base::seekdir __way,
1434:    ios_base::openmode __mode = ios_base::in | ios_base::out)
1434:       { return this->seekoff(__off, __way, __mode); }
1434: # 267 "/usr/include/c++/12/streambuf" 3
1434:       pos_type
1434:       pubseekpos(pos_type __sp,
1434:    ios_base::openmode __mode = ios_base::in | ios_base::out)
1434:       { return this->seekpos(__sp, __mode); }
1434: 
1434: 
1434: 
1434: 
1434:       int
1434:       pubsync() { return this->sync(); }
1434: # 288 "/usr/include/c++/12/streambuf" 3
1434:       streamsize
1434:       in_avail()
1434:       {
1434:  const streamsize __ret = this->egptr() - this->gptr();
1434:  return __ret ? __ret : this->showmanyc();
1434:       }
1434: # 302 "/usr/include/c++/12/streambuf" 3
1434:       int_type
1434:       snextc()
1434:       {
1434:  int_type __ret = traits_type::eof();
1434:  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
1434:              __ret), true))
1434:    __ret = this->sgetc();
1434:  return __ret;
1434:       }
1434: # 320 "/usr/include/c++/12/streambuf" 3
1434:       int_type
1434:       sbumpc()
1434:       {
1434:  int_type __ret;
1434:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1434:    {
1434:      __ret = traits_type::to_int_type(*this->gptr());
1434:      this->gbump(1);
1434:    }
1434:  else
1434:    __ret = this->uflow();
1434:  return __ret;
1434:       }
1434: # 342 "/usr/include/c++/12/streambuf" 3
1434:       int_type
1434:       sgetc()
1434:       {
1434:  int_type __ret;
1434:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1434:    __ret = traits_type::to_int_type(*this->gptr());
1434:  else
1434:    __ret = this->underflow();
1434:  return __ret;
1434:       }
1434: # 361 "/usr/include/c++/12/streambuf" 3
1434:       streamsize
1434:       sgetn(char_type* __s, streamsize __n)
1434:       { return this->xsgetn(__s, __n); }
1434: # 376 "/usr/include/c++/12/streambuf" 3
1434:       int_type
1434:       sputbackc(char_type __c)
1434:       {
1434:  int_type __ret;
1434:  const bool __testpos = this->eback() < this->gptr();
1434:  if (__builtin_expect(!__testpos ||
1434:         !traits_type::eq(__c, this->gptr()[-1]), false))
1434:    __ret = this->pbackfail(traits_type::to_int_type(__c));
1434:  else
1434:    {
1434:      this->gbump(-1);
1434:      __ret = traits_type::to_int_type(*this->gptr());
1434:    }
1434:  return __ret;
1434:       }
1434: # 401 "/usr/include/c++/12/streambuf" 3
1434:       int_type
1434:       sungetc()
1434:       {
1434:  int_type __ret;
1434:  if (__builtin_expect(this->eback() < this->gptr(), true))
1434:    {
1434:      this->gbump(-1);
1434:      __ret = traits_type::to_int_type(*this->gptr());
1434:    }
1434:  else
1434:    __ret = this->pbackfail();
1434:  return __ret;
1434:       }
1434: # 428 "/usr/include/c++/12/streambuf" 3
1434:       int_type
1434:       sputc(char_type __c)
1434:       {
1434:  int_type __ret;
1434:  if (__builtin_expect(this->pptr() < this->epptr(), true))
1434:    {
1434:      *this->pptr() = __c;
1434:      this->pbump(1);
1434:      __ret = traits_type::to_int_type(__c);
1434:    }
1434:  else
1434:    __ret = this->overflow(traits_type::to_int_type(__c));
1434:  return __ret;
1434:       }
1434: # 454 "/usr/include/c++/12/streambuf" 3
1434:       streamsize
1434:       sputn(const char_type* __s, streamsize __n)
1434:       { return this->xsputn(__s, __n); }
1434: 
1434:     protected:
1434: # 468 "/usr/include/c++/12/streambuf" 3
1434:       basic_streambuf()
1434:       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
1434:       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
1434:       _M_buf_locale(locale())
1434:       { }
1434: # 486 "/usr/include/c++/12/streambuf" 3
1434:       char_type*
1434:       eback() const { return _M_in_beg; }
1434: 
1434:       char_type*
1434:       gptr() const { return _M_in_cur; }
1434: 
1434:       char_type*
1434:       egptr() const { return _M_in_end; }
1434: # 502 "/usr/include/c++/12/streambuf" 3
1434:       void
1434:       gbump(int __n) { _M_in_cur += __n; }
1434: # 513 "/usr/include/c++/12/streambuf" 3
1434:       void
1434:       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
1434:       {
1434:  _M_in_beg = __gbeg;
1434:  _M_in_cur = __gnext;
1434:  _M_in_end = __gend;
1434:       }
1434: # 533 "/usr/include/c++/12/streambuf" 3
1434:       char_type*
1434:       pbase() const { return _M_out_beg; }
1434: 
1434:       char_type*
1434:       pptr() const { return _M_out_cur; }
1434: 
1434:       char_type*
1434:       epptr() const { return _M_out_enr;
1417:  size_t _M_len = 0;
1417:       };
1417: 
1417: 
1417:       template<typename _Iter = _BiIter>
1417:  __enable_if_t<__detail::__is_contiguous_iter<_Iter>::value,
1417:         __string_view>
1417:  _M_str() const noexcept
1417:  {
1417:    if (this->matched)
1417:      if (size_t __len = this->second - this->first)
1417:        return { std::__addressof(*this->first), __len };
1417:    return {};
1417:  }
1417: 
1417: 
1417:       template<typename _Iter = _BiIter>
1417:  __enable_if_t<!__detail::__is_contiguous_iter<_Iter>::value,
1417:         string_type>
1417:  _M_str() const
1417:  { return str(); }
1417:     };
1417: 
1417: 
1417: 
1417:   typedef sub_match<const char*> csub_match;
1417: 
1417: 
1417:   typedef sub_match<string::const_iterator> ssub_match;
1417: 
1417: 
1417: 
1417:   typedef sub_match<const wchar_t*> wcsub_match;
1417: 
1417: 
1417:   typedef sub_match<wstring::const_iterator> wssub_match;
1417: # 1061 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _BiIter>
1417:     inline bool
1417:     operator==(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
1417:     { return __lhs.compare(__rhs) == 0; }
1417: # 1090 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _BiIter>
1417:     inline bool
1417:     operator!=(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
1417:     { return __lhs.compare(__rhs) != 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BiIter>
1417:     inline bool
1417:     operator<(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
1417:     { return __lhs.compare(__rhs) < 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BiIter>
1417:     inline bool
1417:     operator<=(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
1417:     { return __lhs.compare(__rhs) <= 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BiIter>
1417:     inline bool
1417:     operator>=(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
1417:     { return __lhs.compare(__rhs) >= 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BiIter>
1417:     inline bool
1417:     operator>(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
1417:     { return __lhs.compare(__rhs) > 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     using __sub_match_string = basic_string<
1417:          typename iterator_traits<_Bi_iter>::value_type,
1417:          _Ch_traits, _Ch_alloc>;
1417: # 1157 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator==(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs._M_compare(__lhs.data(), __lhs.size()) == 0; }
1417: # 1170 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator!=(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__lhs == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator<(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
1417:        const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs._M_compare(__lhs.data(), __lhs.size()) > 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator>(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
1417:        const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs < __lhs; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_tra1115: 
1115:  _If_sv<_Tp, int>
1115:  compare(size_type __pos1, size_type __n1, const _Tp& __svt,
1115:   size_type __pos2, size_type __n2 = npos) const
1115:  noexcept(is_same<_Tp, __sv_type>::value)
1115:  {
1115:    __sv_type __sv = __svt;
1115:    return __sv_type(*this)
1115:      .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
1115:  }
1115: # 3237 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       int
1115:       compare(size_type __pos, size_type __n, const basic_string& __str) const;
1115: # 3264 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       int
1115:       compare(size_type __pos1, size_type __n1, const basic_string& __str,
1115:        size_type __pos2, size_type __n2 = npos) const;
1115: # 3283 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       int
1115:       compare(const _CharT* __s) const noexcept;
1115: # 3308 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       int
1115:       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
1115: # 3336 "/usr/include/c++/12/bits/basic_string.h" 3
1115:      
1115:       int
1115:       compare(size_type __pos, size_type __n1, const _CharT* __s,
1115:        size_type __n2) const;
1115: # 3382 "/usr/include/c++/12/bits/basic_string.h" 3
1115:       template<typename, typename, typename> friend class basic_stringbuf;
1115:     };
1115: }
1115: 
1115: }
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: namespace __cxx11 {
1115:   template<typename _InputIterator, typename _CharT
1115:       = typename iterator_traits<_InputIterator>::value_type,
1115:     typename _Allocator = allocator<_CharT>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
1115:       -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits,
1115:     typename _Allocator = allocator<_CharT>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
1115:       -> basic_string<_CharT, _Traits, _Allocator>;
1115: 
1115:   template<typename _CharT, typename _Traits,
1115:     typename _Allocator = allocator<_CharT>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     basic_string(basic_string_view<_CharT, _Traits>,
1115:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1115:    typename basic_string<_CharT, _Traits, _Allocator>::size_type,
1115:    const _Allocator& = _Allocator())
1115:       -> basic_string<_CharT, _Traits, _Allocator>;
1115: }
1115: # 3429 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     {
1115:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1115:       __str.append(__rhs);
1115:       return __str;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT,_Traits,_Alloc>
1115:     operator+(const _CharT* __lhs,
1115:        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT,_Traits,_Alloc>
1115:     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:        const _CharT* __rhs)
1115: d; }
1434: # 549 "/usr/include/c++/12/streambuf" 3
1434:       void
1434:       pbump(int __n) { _M_out_cur += __n; }
1434: # 559 "/usr/include/c++/12/streambuf" 3
1434:       void
1434:       setp(char_type* __pbeg, char_type* __pend)
1434:       {
1434:  _M_out_beg = _M_out_cur = __pbeg;
1434:  _M_out_end = __pend;
1434:       }
1434: # 580 "/usr/include/c++/12/streambuf" 3
1434:       virtual void
1434:       imbue(const locale& __loc __attribute__ ((__unused__)))
1434:       { }
1434: # 595 "/usr/include/c++/12/streambuf" 3
1434:       virtual basic_streambuf<char_type,_Traits>*
1434:       setbuf(char_type*, streamsize)
1434:       { return this; }
1434: # 606 "/usr/include/c++/12/streambuf" 3
1434:       virtual pos_type
1434:       seekoff(off_type, ios_base::seekdir,
1434:        ios_base::openmode = ios_base::in | ios_base::out)
1434:       { return pos_type(off_type(-1)); }
1434: # 618 "/usr/include/c++/12/streambuf" 3
1434:       virtual pos_type
1434:       seekpos(pos_type,
1434:        ios_base::openmode = ios_base::in | ios_base::out)
1434:       { return pos_type(off_type(-1)); }
1434: # 631 "/usr/include/c++/12/streambuf" 3
1434:       virtual int
1434:       sync() { return 0; }
1434: # 653 "/usr/include/c++/12/streambuf" 3
1434:       virtual streamsize
1434:       showmanyc() { return 0; }
1434: # 669 "/usr/include/c++/12/streambuf" 3
1434:       virtual streamsize
1434:       xsgetn(char_type* __s, streamsize __n);
1434: # 691 "/usr/include/c++/12/streambuf" 3
1434:       virtual int_type
1434:       underflow()
1434:       { return traits_type::eof(); }
1434: # 704 "/usr/include/c++/12/streambuf" 3
1434:       virtual int_type
1434:       uflow()
1434:       {
1434:  int_type __ret = traits_type::eof();
1434:  const bool __testeof = traits_type::eq_int_type(this->underflow(),
1434:        __ret);
1434:  if (!__testeof)
1434:    {
1434:      __ret = traits_type::to_int_type(*this->gptr());
1434:      this->gbump(1);
1434:    }
1434:  return __ret;
1434:       }
1434: # 728 "/usr/include/c++/12/streambuf" 3
1434:       virtual int_type
1434:       pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
1434:       { return traits_type::eof(); }
1434: # 746 "/usr/include/c++/12/streambuf" 3
1434:       virtual streamsize
1434:       xsputn(const char_type* __s, streamsize __n);
1434: # 772 "/usr/include/c++/12/streambuf" 3
1434:       virtual int_type
1434:       overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
1434:       { return traits_type::eof(); }
1434: # 799 "/usr/include/c++/12/streambuf" 3
1434:       void
1434:       __safe_gbump(streamsize __n) { _M_in_cur += __n; }
1434: 
1434:       void
1434:       __safe_pbump(streamsize __n) { _M_out_cur += __n; }
1434: 
1434: 
1434: 
1434: 
1434:     protected:
1434: 
1434:       basic_streambuf(const basic_streambuf&);
1434: 
1434:       basic_streambuf&
1434:       operator=(const basic_streambuf&);
1434: 
1434: 
1434:       void
1434:       swap(basic_streambuf& __sb)
1434:       {
1434:  std::swap(_M_in_beg, __sb._M_in_beg);
1434:  std::swap(_M_in_cur, __sb._M_in_cur);
1434:  std::swap(_M_in_end, __sb._M_in_end);
1434:  std::swap(_M_out_beg, __sb._M_out_beg);
1434:  std::swap(_M_out_cur, __sb._M_out_cur);
1434:  std::swap(_M_out_end, __sb._M_out_end);
1434:  std::swap(_M_buf_locale, __sb._M_buf_locale);
1434:       }
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     std::basic_streambuf<_CharT, _Traits>::
1434:     basic_streambuf(const basic_streambuf&) = default;
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     std::basic_streambuf<_CharT, _Traits>&
1434:     std::basic_streambuf<_CharT, _Traits>::
1434:     operator=(const basic_streambuf&) = default;
1434: 
1434: 
1434: 
1434:   template<>
1434:     streamsize
1434:     __copy_streambufs_eof(basic_streambuf<char>* __sbin,
1434:      basic_streambuf<char>* __sbout, bool& __ineof);
1434: 
1434:   template<>
1434:     streamsize
1434:     __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
1434:      basic_streambuf<wchar_t>* __sbout, bool& __ineof);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: 
1434: # 1 "/usr/include/c++/12/bits/streambuf.tcc" 1 3
1434: # 37 "/usr/include/c++/12/bits/streambuf.tcc" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/streambuf.tcc" 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     streamsize
1434:     basic_streambuf<_CharT, _Traits>::
1434:     xsgetn(char_type* __s, streamsize __n)
1434:     {
1434:       streamsize __ret = 0;
1434:       while (__ret < __n)
1434:  {
1434:    const streamsize __buf_len = this->egptr() - this->gptr();
1434:    if (__buf_len)
1434:      {
1434:        const streamsize __remaining = __n - __ret;
1434:        const streamsize __len = std::min(__buf_len, __remaining);
1434:        traits_type::copy(__s, this->gptr(), __len);
1434:        __ret += __len;
1434:        __s += __len;
1434:        this->__safe_gbump(__len);
1434:      }
1434: 
1434:    if (__ret < __n)
1434:      {
1434:        const int_type __c = this->uflow();
1434:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1434:   {
1434:     traits_type::assign(*__s++, traits_type::to_char_type(__c));
1434:     ++__ret;
1434:   }
1434:        else
1434:   break;
1434:      }
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     streamsize
1434:     basic_streambuf<_CharT, _Traits>::
1434:     xsputn(const char_type* __s, streamsize __n)
1434:     {
1434:       streamsize __ret = 0;
1434:       while (__ret < __n)
1434:  {
1434:    const streamsize __buf_len = this->epptr() - this->pptr();
1434:    if (__buf_len)
1434:      {
1434:        const streamsize __remaining = __n - __ret;
1434:        const streamsize __len = std::min(__buf_len, __remaining);
1434:        traits_type::copy(this->pptr(), __s, __len);
1434:        __ret += __len;
1434:        __s += __len;
1434:        this->__safe_pbump(__len);
1434:      }
1434: 
1434:    if (__ret < __n)
1434:      {
1434:        int_type __c = this->overflow(traits_type::to_int_type(*__s));
1434:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1434:   {
1434:     ++__ret;
1434:     ++__s;
1434:   }
1434:        else
1434:   break;
1434:      }
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     streamsize
1434:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
1434:      basic_streambuf<_CharT, _Traits>* __sbout,
1434:      bool& __ineof)
1434:     {
1434:       streamsize __ret = 0;
1434:       __ineof = true;
1434:       typename _Traits::int_type __c = __sbin->sgetc();
1434:       while (!_Traits::eq_int_type(__c, _Traits::eof()))
1434:  {
1434:    __c = __sbout->sputc(_Traits::to_char_type(__c));
1434:    if (_Traits::eq_int_type(__c, _Traits::eof()))
1434:      {
1434:        __ineof = false;
1434:        break;
1434:      }
1434:    ++__ret;
1434:    __c = __sbin->snextc();
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     inline streamsize
1434:     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
1434:         basic_streambuf<_CharT, _Traits>* __sbout)
1434:     {
1434:       bool __ineof;
1434:       return __copy_streambufs_eof(__sbin, __sbout, __ineof);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template class basic_streambuf<char>;
1434: 
1434:   extern template
1434:     streamsize
1434:     __copy_streambufs(basic_streambuf<char>*,
1434:         basic_streambuf<char>*);
1434: 
1434: 
1434:   extern template class basic_streambuf<wchar_t>;
1434: 
1434:   extern template
1434:     streamsize
1434:     __copy_streambufs(basic_streambuf<wchar_t>*,
1434:         basic_streambuf<wchar_t>*);
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 859 "/usr/include/c++/12/streambuf" 2 3
1434: # 45 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: 
1434its, typename _Ch_alloc>
1417:     inline bool
1417:     operator>=(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__lhs < __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator<=(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__rhs < __lhs); }
1417: # 1232 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator==(const sub_match<_Bi_iter>& __lhs,
1417:         const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __rhs)
1417:     { return __lhs._M_compare(__rhs.data(), __rhs.size()) == 0; }
1417: # 1263 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator!=(const sub_match<_Bi_iter>& __lhs,
1417:         const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __rhs)
1417:     { return !(__lhs == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator<(const sub_match<_Bi_iter>& __lhs,
1417:        const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __rhs)
1417:     { return __lhs._M_compare(__rhs.data(), __rhs.size()) < 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator>(const sub_match<_Bi_iter>& __lhs,
1417:        const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __rhs)
1417:     { return __rhs < __lhs; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator>=(const sub_match<_Bi_iter>& __lhs,
1417:         const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __rhs)
1417:     { return !(__lhs < __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
1417:     inline bool
1417:     operator<=(const sub_match<_Bi_iter>& __lhs,
1417:         const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __rhs)
1417:     { return !(__rhs < __lhs); }
1417: # 1324 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator==(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs.compare(__lhs) == 0; }
1417: # 1337 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator!=(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__lhs == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
1417:        const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs.compare(__lhs) > 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
1417:        const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs < __lhs; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>=(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__lhs < __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<=(typename iterator_traits<_Bi_iter>::val: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/streambuf_iterator.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     class istreambuf_iterator
1434:     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
1434:         _CharT*, _CharT>
1434:     {
1434:     public:
1434: # 69 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434:       typedef typename _Traits::int_type int_type;
1434:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1434:       typedef basic_istream<_CharT, _Traits> istream_type;
1434: 
1434: 
1434:       template<typename _CharT2>
1434:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:         ostreambuf_iterator<_CharT2> >::__type
1434:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1434:       ostreambuf_iterator<_CharT2>);
1434: 
1434:       template<bool _IsMove, typename _CharT2>
1434:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:             _CharT2*>::__type
1434:  __copy_move_a2(istreambuf_iterator<_CharT2>,
1434:          istreambuf_iterator<_CharT2>, _CharT2*);
1434: 
1434:       template<typename _CharT2, typename _Size>
1434:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:             _CharT2*>::__type
1434:  __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool);
1434: 
1434:       template<typename _CharT2>
1434:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:         istreambuf_iterator<_CharT2> >::__type
1434:  find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1434:       const _CharT2&);
1434: 
1434:       template<typename _CharT2, typename _Distance>
1434:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:             void>::__type
1434:  advance(istreambuf_iterator<_CharT2>&, _Distance);
1434: 
1434:     private:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       mutable streambuf_type* _M_sbuf;
1434:       int_type _M_c;
1434: 
1434:     public:
1434: 
1434:       constexpr istreambuf_iterator() noexcept
1434:       : _M_sbuf(0), _M_c(traits_type::eof()) { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
1434: 
1434:       ~istreambuf_iterator() = default;
1434: 
1434: 
1434: 
1434:       istreambuf_iterator(istream_type& __s) noexcept
1434:       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
1434: 
1434: 
1434:       istreambuf_iterator(streambuf_type* __s) noexcept
1434:       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
1434: 
1434: 
1434:       istreambuf_iterator&
1434:       operator=(const istreambuf_iterator&) noexcept = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       char_type
1434:       operator*() const
1434:       {
1434:  int_type __c = _M_get();
1434: # 160 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1434:  return traits_type::to_char_type(__c);
1434:       }
1434: 
1434: 
1434:       istreambuf_iterator&
1434:       operator++()
1434:       {
1434: 
1434: 
1434: 
1434:                         ;
1434: 
1434:  _M_sbuf->sbumpc();
1434:  _M_c = traits_type::eof();
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       istreambuf_iterator
1434:       operator++(int)
1434:       {
1434: 
1434: 
1434: 
1434:                         ;
1434: 
1434:  istreambuf_iterator __old = *this;
1434:  __old._M_c = _M_sbuf->sbumpc();
1434:  _M_c = traits_type::eof();
1434:  return __old;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434    {
1115:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
1115:       __str.append(__rhs);
1115:       return __str;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
1115:     {
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef typename __string_type::size_type __size_type;
1115:       __string_type __str(__lhs);
1115:       __str.append(__size_type(1), __rhs);
1115:       return __str;
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1115:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     { return std::move(__lhs.append(__rhs)); }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1115:     { return std::move(__rhs.insert(0, __lhs)); }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1115:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1115:     {
1115: 
1115:       using _Alloc_traits = allocator_traits<_Alloc>;
1115:       bool __use_rhs = false;
1115:       if constexpr (typename _Alloc_traits::is_always_equal{})
1115:  __use_rhs = true;
1115:       else if (__lhs.get_allocator() == __rhs.get_allocator())
1115:  __use_rhs = true;
1115:       if (__use_rhs)
1115: 
1115:  {
1115:    const auto __size = __lhs.size() + __rhs.size();
1115:    if (__size > __lhs.capacity() && __size <= __rhs.capacity())
1115:      return std::move(__rhs.insert(0, __lhs));
1115:  }
1115:       return std::move(__lhs.append(__rhs));
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(const _CharT* __lhs,
1115:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1115:     { return std::move(__rhs.insert(0, __lhs)); }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(_CharT __lhs,
1115:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
1115:     { return std::move(__rhs.insert(0, 1, __lhs)); }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1115:        const _CharT* __rhs)
1115:     { return std::move(__lhs.append(__rhs)); }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
1115:        _CharT __rhs)
1115:     { return std::move(__lhs.append(1, __rhs)); }
1115: # 3572 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline bool
1115:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     noexcept
1115:     { return __lhs.compare(__rhs) == 0; }
1115: 
1115:   template<typename _CharT>
1115:    
1115:     inline
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type
1115:     operator==(const basic_string<_CharT>& __lhs,
1115:         const basic_string<_CharT>& __rhs) noexcept
1115:     { return (__lhs.size() == __rhs.size()
1115:        && !std:ue_type const* __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__rhs < __lhs); }
1417: # 1399 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator==(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const* __rhs)
1417:     { return __lhs.compare(__rhs) == 0; }
1417: # 1431 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator!=(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const* __rhs)
1417:     { return !(__lhs == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<(const sub_match<_Bi_iter>& __lhs,
1417:        typename iterator_traits<_Bi_iter>::value_type const* __rhs)
1417:     { return __lhs.compare(__rhs) < 0; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>(const sub_match<_Bi_iter>& __lhs,
1417:        typename iterator_traits<_Bi_iter>::value_type const* __rhs)
1417:     { return __rhs < __lhs; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>=(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const* __rhs)
1417:     { return !(__lhs < __rhs); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<=(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const* __rhs)
1417:     { return !(__rhs < __lhs); }
1417: # 1492 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator==(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs._M_compare(std::__addressof(__lhs), 1) == 0; }
1417: # 1505 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator!=(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__lhs == __rhs); }
1417: # 1518 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
1417:        const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs._M_compare(std::__addressof(__lhs), 1) > 0; }
1417: # 1531 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
1417:        const sub_match<_Bi_iter>& __rhs)
1417:     { return __rhs < __lhs; }
1417: # 1544 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>=(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__lhs < __rhs); }
1417: # 1557 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<=(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
1417:         const sub_match<_Bi_iter>& __rhs)
1417:     { return !(__rhs < __lhs); }
1417: # 1571 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator==(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const& __rhs)
1417:     { return __lhs._M_compare(std::__addressof(__rhs), 1) == 0; }
1417: # 1605 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator!=(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const& __rhs)
1417:     { return !(__lhs == __rhs); }
1417: # 1618 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<(const sub_match<_Bi_iter>& __lhs,
1417:        typename iterator_traits<_Bi_iter>::value_type const& __rhs)
1417:     { return __lhs._M_compare(std::__addressof(__rhs), 1) < 0; }
1417: # 1631 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>(const sub_match<_Bi_iter>& __lhs,
1417:        typename iterator_traits<_Bi_iter>::value_type const& __rhs)
1417:     { return __rhs < __lhs; }
1417: # 1644 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator>=(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const& __rhs)
1417:     { return !(__lhs < __rhs); }
1417: # 1657 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter>
1417:     inline bool
1417:     operator<=(const sub_match<_Bi_iter>& __lhs,
1417:         typename iterator_traits<_Bi_iter>::value_type const& __rhs)
1417:     { return !(__rhs < __lhs); }
1417: # 1672 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type, typename _Ch_traits, typename _Bi_iter>
1417:     inline
1417:     basic_ostream<_Ch_type, _Ch_traits>&
1417:     operator<<(basic_ostream<_Ch_type, _Ch_traits>& __os,
1417:         const sub_match<_Bi_iter>& __m)
1417:     { return __os << __m.str(); }
1417: # 1703 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter,
1417:     typename _Alloc = allocator<sub_match<_Bi_iter> > >
1417:     class match_results
1417:     : private std::vector<sub_match<_Bi_iter>, _Alloc>
1417:     {
1417:     private:
1417: # 1725 "/usr/include/c++/12/bits/regex.h" 3
1417:       typedef std::vector<sub_match<_Bi_iter>, _Alloc> _Base_type;
1417: 
1417:       typedef std::vector<sub_match<_Bi_iter>, _Alloc> _Unchecked;
1417:       typedef std::iterator_traits<_Bi_iter> __iter_traits;
1417:       typedef regex_constants::match_flag_type match_flag_type;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417:       typedef sub_match<_Bi_iter> value_type;
1417:       typedef const value_type& const_reference;
1417:       typedef value_type& reference;
1417:       typedef typename _Base_type::const_iterator const_iterator;
1417:       typedef const_iterator iterator;
1417:       typedef typename __iter_traits::difference_type difference_type;
1417:       typedef typename allocator_traits<_Alloc>::size_type size_type;
1417:       typedef _Alloc allocator_type;
1417:       typedef typename __iter_traits::value_type char_type;
1417:       typedef std::basic_string<char_type> string_type;
1417: 
1417: 
1417:     public:
1417: # 1758 "/usr/include/c++/12/bits/regex.h" 3
1417:       match_results() : match_results(_Alloc()) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       explicit
1417:       match_results(const _Alloc& __a) noexcept
1417:       : _Base_type(__a)
1417:       { }
1417: 
1417: 
1417: 
1417: 
1417:       match_results(const match_results&) = default;
1417: 
1417: 
1417: 
1417: 
1417:       match_results(match_results&&) noexcept = default;
1417: 
1417: 
1417: 
1417: 
1417:       match_results&
1417:       operator=(const match_results&) = default;
1417: 
1417: 
1417: 
1417: 
1417:       match_results&
1417:       operator=(match_results&&) = default;
1417: 
1417: 
1417: 
1417: 
1417:       ~match_results() = default;
1417: # 1804 "/usr/include/c++/12/bits/regex.h" 3
1417:       bool ready() const noexcept { return !_Unchecked::empty(); }
1417: # 1820 "/usr/include/c++/12/bits/regex.h" 3
1417:       size_type
1417:       size() const noexcept
1417:       { return _Unchecked::empty() ? 0 : _Unchecked::size() - 3; }
1417: 
1417:       size_type
1417:       max_size() const noexcept
1417:       { return _Unchecked::max_size() - 3; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]] bool
1417:       empty() const noexcept
1417:       { return _Unchecked::size() <= 3; }
1417: # 1852 "/usr/include/c++/12/bits/reg:       [[__nodiscard__]]
1434:       bool
1434:       equal(const istreambuf_iterator& __b) const
1434:       { return _M_at_eof() == __b._M_at_eof(); }
1434: 
1434:     private:
1434:       int_type
1434:       _M_get() const
1434:       {
1434:  int_type __ret = _M_c;
1434:  if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
1434:    _M_sbuf = 0;
1434:  return __ret;
1434:       }
1434: 
1434:       bool
1434:       _M_at_eof() const
1434:       { return _S_is_eof(_M_get()); }
1434: 
1434:       static bool
1434:       _S_is_eof(int_type __c)
1434:       {
1434:  const int_type __eof = traits_type::eof();
1434:  return traits_type::eq_int_type(__c, __eof);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     };
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
1434:         const istreambuf_iterator<_CharT, _Traits>& __b)
1434:     { return __a.equal(__b); }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
1434:         const istreambuf_iterator<_CharT, _Traits>& __b)
1434:     { return !__a.equal(__b); }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     class ostreambuf_iterator
1434:     : public iterator<output_iterator_tag, void, void, void, void>
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1434:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1434: 
1434: 
1434:       template<typename _CharT2>
1434:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1434:         ostreambuf_iterator<_CharT2> >::__type
1434:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1434:       ostreambuf_iterator<_CharT2>);
1434: 
1434:     private:
1434:       streambuf_type* _M_sbuf;
1434:       bool _M_failed;
1434: 
1434:     public:
1434: # 283 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1434:       ostreambuf_iterator(ostream_type& __s) noexcept
1434:       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
1434: 
1434: 
1434:       ostreambuf_iterator(streambuf_type* __s) noexcept
1434:       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
1434: 
1434: 
1434:       ostreambuf_iterator&
1434:       operator=(_CharT __c)
1434:       {
1434:  if (!_M_failed &&
1434:      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
1434:    _M_failed = true;
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       ostreambuf_iterator&
1434:       operator*()
1434:       { return *this; }
1434: 
1434: 
1434:       ostreambuf_iterator&
1434:       operator++(int)
1434:       { return *this; }
1434: 
1434: 
1434:       ostreambuf_iterator&
1434:       operator++()
1434:       { return *this; }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       bool
1434:       failed() const noexcept
1434:       { return _M_failed; }
1434: 
1434:       ostreambuf_iterator&
1434:       _M_put(const _CharT* __ws, streamsize __len)
1434:       {
1434:  if (__builtin_expect(!_M_failed, true)
1434:      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
1434:     false))
1434:    _M_failed = true;
1434:  return *this;
1434:       }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434:   template<typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:         ostreambuf_iterator<_CharT> >::__type
1434:     copy(istreambuf_iterator<_CharT> __first,
1434:   istreambuf_iterator<_CharT> __last,
1434:   ostreambuf_iterator<_CharT> __result)
1434:     {
1434:       if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
1434:  {
1434:    bool __ineof;
1434:    __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, :char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),
1115:           __lhs.size())); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline bool
1115:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const _CharT* __rhs)
1115:     { return __lhs.compare(__rhs) == 0; }
1115: # 3638 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator==(const _CharT* __lhs,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     { return __rhs.compare(__lhs) == 0; }
1115: # 3651 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     noexcept
1115:     { return !(__lhs == __rhs); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator!=(const _CharT* __lhs,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     { return !(__lhs == __rhs); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const _CharT* __rhs)
1115:     { return !(__lhs == __rhs); }
1115: # 3689 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     noexcept
1115:     { return __lhs.compare(__rhs) < 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:        const _CharT* __rhs)
1115:     { return __lhs.compare(__rhs) < 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator<(const _CharT* __lhs,
1115:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     { return __rhs.compare(__lhs) > 0; }
1115: # 3727 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     noexcept
1115:     { return __lhs.compare(__rhs) > 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:        const _CharT* __rhs)
1115:     { return __lhs.compare(__rhs) > 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator>(const _CharT* __lhs,
1115:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     { return __rhs.compare(__lhs) < 0; }
1115: # 3765 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     noexcept
1115:     { return __lhs.compare(__rhs) <= 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const _CharT* __r__ineof);
1434:    if (!__ineof)
1434:      __result._M_failed = true;
1434:  }
1434:       return __result;
1434:     }
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:         ostreambuf_iterator<_CharT> >::__type
1434:     __copy_move_a2(_CharT* __first, _CharT* __last,
1434:      ostreambuf_iterator<_CharT> __result)
1434:     {
1434:       const streamsize __num = __last - __first;
1434:       if (__num > 0)
1434:  __result._M_put(__first, __num);
1434:       return __result;
1434:     }
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:         ostreambuf_iterator<_CharT> >::__type
1434:     __copy_move_a2(const _CharT* __first, const _CharT* __last,
1434:      ostreambuf_iterator<_CharT> __result)
1434:     {
1434:       const streamsize __num = __last - __first;
1434:       if (__num > 0)
1434:  __result._M_put(__first, __num);
1434:       return __result;
1434:     }
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:         _CharT*>::__type
1434:     __copy_move_a2(istreambuf_iterator<_CharT> __first,
1434:      istreambuf_iterator<_CharT> __last, _CharT* __result)
1434:     {
1434:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1434:       typedef typename __is_iterator_type::traits_type traits_type;
1434:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1434:       typedef typename traits_type::int_type int_type;
1434: 
1434:       if (__first._M_sbuf && !__last._M_sbuf)
1434:  {
1434:    streambuf_type* __sb = __first._M_sbuf;
1434:    int_type __c = __sb->sgetc();
1434:    while (!traits_type::eq_int_type(__c, traits_type::eof()))
1434:      {
1434:        const streamsize __n = __sb->egptr() - __sb->gptr();
1434:        if (__n > 1)
1434:   {
1434:     traits_type::copy(__result, __sb->gptr(), __n);
1434:     __sb->__safe_gbump(__n);
1434:     __result += __n;
1434:     __c = __sb->underflow();
1434:   }
1434:        else
1434:   {
1434:     *__result++ = traits_type::to_char_type(__c);
1434:     __c = __sb->snextc();
1434:   }
1434:      }
1434:  }
1434:       return __result;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Size>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:         _CharT*>::__type
1434:     __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result,
1434:         bool __strict __attribute__((__unused__)))
1434:     {
1434:       if (__n == 0)
1434:  return __result;
1434: 
1434:      
1434: 
1434:                             ;
1434:       _CharT* __beg = __result;
1434:       __result += __it._M_sbuf->sgetn(__beg, __n);
1434:      
1434: 
1434:                             ;
1434:       return __result;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:           istreambuf_iterator<_CharT> >::__type
1434:     find(istreambuf_iterator<_CharT> __first,
1434:   istreambuf_iterator<_CharT> __last, const _CharT& __val)
1434:     {
1434:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1434:       typedef typename __is_iterator_type::traits_type traits_type;
1434:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1434:       typedef typename traits_type::int_type int_type;
1434:       const int_type __eof = traits_type::eof();
1434: 
1434:       if (__first._M_sbuf && !__last._M_sbuf)
1434:  {
1434:    const int_type __ival = traits_type::to_int_type(__val);
1434:    streambuf_type* __sb = __first._M_sbuf;
1434:    int_type __c = __sb->sgetc();
1434:    while (!traits_type::eq_int_type(__c, __eof)
1434:    && !traits_type::eq_int_type(__c, __ival))
1434:      {
1434:        streamsize __n = __sb->egptr() - __sb->gptr();
1434:        if (__n > 1)
1434:   {
1434:     const _CharT* __p = traits_type::find(__sb->gptr(),
1434:        __n, __val);
143ex.h" 3
1417:       difference_type
1417:       length(size_type __sub = 0) const
1417:       { return (*this)[__sub].length(); }
1417: # 1867 "/usr/include/c++/12/bits/regex.h" 3
1417:       difference_type
1417:       position(size_type __sub = 0) const
1417:       { return std::distance(_M_begin, (*this)[__sub].first); }
1417: # 1880 "/usr/include/c++/12/bits/regex.h" 3
1417:       string_type
1417:       str(size_type __sub = 0) const
1417:       { return string_type((*this)[__sub]); }
1417: # 1895 "/usr/include/c++/12/bits/regex.h" 3
1417:       const_reference
1417:       operator[](size_type __sub) const
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(ready())) __builtin_unreachable(); } while (false);
1417:  return __sub < size()
1417:         ? _Unchecked::operator[](__sub)
1417:         : _M_unmatched_sub();
1417:       }
1417: # 1912 "/usr/include/c++/12/bits/regex.h" 3
1417:       const_reference
1417:       prefix() const
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(ready())) __builtin_unreachable(); } while (false);
1417:  return !empty() ? _M_prefix() : _M_unmatched_sub();
1417:       }
1417: # 1927 "/usr/include/c++/12/bits/regex.h" 3
1417:       const_reference
1417:       suffix() const
1417:       {
1417:  do { if (std::__is_constant_evaluated() && !bool(ready())) __builtin_unreachable(); } while (false);
1417:  return !empty() ? _M_suffix() : _M_unmatched_sub();
1417:       }
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       begin() const noexcept
1417:       { return _Base_type::begin(); }
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       cbegin() const noexcept
1417:       { return this->begin(); }
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       end() const noexcept
1417:       { return _Base_type::end() - (_Base_type::empty() ? 0 : 3); }
1417: 
1417: 
1417: 
1417: 
1417:       const_iterator
1417:       cend() const noexcept
1417:       { return this->end(); }
1417: # 1977 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<typename _Out_iter>
1417:  _Out_iter
1417:  format(_Out_iter __out, const char_type* __fmt_first,
1417:         const char_type* __fmt_last,
1417:         match_flag_type __flags = regex_constants::format_default) const;
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _Out_iter, typename _St, typename _Sa>
1417:  _Out_iter
1417:  format(_Out_iter __out, const basic_string<char_type, _St, _Sa>& __fmt,
1417:         match_flag_type __flags = regex_constants::format_default) const
1417:  {
1417:    return format(__out, __fmt.data(), __fmt.data() + __fmt.size(),
1417:    __flags);
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:       template<typename _St, typename _Sa>
1417:  basic_string<char_type, _St, _Sa>
1417:  format(const basic_string<char_type, _St, _Sa>& __fmt,
1417:         match_flag_type __flags = regex_constants::format_default) const
1417:  {
1417:    basic_string<char_type, _St, _Sa> __result;
1417:    format(std::back_inserter(__result), __fmt, __flags);
1417:    return __result;
1417:  }
1417: 
1417: 
1417: 
1417: 
1417:       string_type
1417:       format(const char_type* __fmt,
1417:       match_flag_type __flags = regex_constants::format_default) const
1417:       {
1417:  string_type __result;
1417:  format(std::back_inserter(__result),
1417:         __fmt,
1417:         __fmt + char_traits<char_type>::length(__fmt),
1417:         __flags);
1417:  return __result;
1417:       }
1417: # 2033 "/usr/include/c++/12/bits/regex.h" 3
1417:       allocator_type
1417:       get_allocator() const noexcept
1417:       { return _Base_type::get_allocator(); }
1417: # 2047 "/usr/include/c++/12/bits/regex.h" 3
1417:       void
1417:       swap(match_results& __that) noexcept
1417:       {
1417:  using std::swap;
1417:  _Base_type::swap(__that);
1417:  swap(_M_begin, __that._M_begin);
1417:       }
1417: 
1417: 
1417:     private:
1417:       template<typename, typename, typename>
1417:  friend class regex_iterator;
1417: 
1417: 
1417: 
1417:       template<typename,4:     if (__p)
1434:       __n = __p - __sb->gptr();
1434:     __sb->__safe_gbump(__n);
1434:     __c = __sb->sgetc();
1434:   }
1434:        else
1434:   __c = __sb->snextc();
1434:      }
1434: 
1434:    __first._M_c = __eof;
1434:  }
1434: 
1434:       return __first;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Distance>
1434:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1434:         void>::__type
1434:     advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
1434:     {
1434:       if (__n == 0)
1434:  return;
1434: 
1434:       do { if (std::__is_constant_evaluated() && !bool(__n > 0)) __builtin_unreachable(); } while (false);
1434:      
1434: 
1434:                            ;
1434: 
1434:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1434:       typedef typename __is_iterator_type::traits_type traits_type;
1434:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1434:       typedef typename traits_type::int_type int_type;
1434:       const int_type __eof = traits_type::eof();
1434: 
1434:       streambuf_type* __sb = __i._M_sbuf;
1434:       while (__n > 0)
1434:  {
1434:    streamsize __size = __sb->egptr() - __sb->gptr();
1434:    if (__size > __n)
1434:      {
1434:        __sb->__safe_gbump(__n);
1434:        break;
1434:      }
1434: 
1434:    __sb->__safe_gbump(__size);
1434:    __n -= __size;
1434:    if (traits_type::eq_int_type(__sb->underflow(), __eof))
1434:      {
1434:       
1434: 
1434:                       ;
1434:        break;
1434:      }
1434:  }
1434: 
1434:       __i._M_c = __eof;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 49 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 74 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:   template<typename _Tp>
1434:     void
1434:     __convert_to_v(const char*, _Tp&, ios_base::iostate&,
1434:      const __c_locale&) throw();
1434: 
1434: 
1434:   template<>
1434:     void
1434:     __convert_to_v(const char*, float&, ios_base::iostate&,
1434:      const __c_locale&) throw();
1434: 
1434:   template<>
1434:     void
1434:     __convert_to_v(const char*, double&, ios_base::iostate&,
1434:      const __c_locale&) throw();
1434: 
1434:   template<>
1434:     void
1434:     __convert_to_v(const char*, long double&, ios_base::iostate&,
1434:      const __c_locale&) throw();
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     struct __pad
1434:     {
1434:       static void
1434:       _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
1434:       const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     _CharT*
1434:     __add_grouping(_CharT* __s, _CharT __sep,
1434:      const char* __gbeg, size_t __gsize,
1434:      const _CharT* __first, const _CharT* __last);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline
1434:     ostreambuf_iterator<_CharT>
1434:     __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
1434:     {
1434:       __s._M_put(__ws, __len);
1434:       return __s;
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     inline
1434:     _OutIter
1434:     __write(_OutIter __s, const _CharT* __ws, int __len)
1434:     {
1434:       for (int __j = 0; __j < __len; __j++, ++__s)
1434:  *__s = __ws[__j];
1434:       return __s;
1434:     }
1434: # 152 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:   template<typename _CharT>
1434:     class __ctype_abstract_base : public locale::facet, public ctype_base
1434:     {
1434:     public:
1434: 
1434: 
1434:       typedef _CharT char_type;
1434: # 171 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       bool
1434:       is(mask __m, char_type __c) const
1434:       { return this->do_is(__m, __c); }
1434: # 188 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
143hs)
1115:     { return __lhs.compare(__rhs) <= 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator<=(const _CharT* __lhs,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     { return __rhs.compare(__lhs) >= 0; }
1115: # 3803 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     noexcept
1115:     { return __lhs.compare(__rhs) >= 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:         const _CharT* __rhs)
1115:     { return __lhs.compare(__rhs) >= 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline bool
1115:     operator>=(const _CharT* __lhs,
1115:       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     { return __rhs.compare(__lhs) <= 0; }
1115: # 3842 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     inline void
1115:     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
1115:   basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     noexcept(noexcept(__lhs.swap(__rhs)))
1115:     { __lhs.swap(__rhs); }
1115: # 3863 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     basic_istream<_CharT, _Traits>&
1115:     operator>>(basic_istream<_CharT, _Traits>& __is,
1115:         basic_string<_CharT, _Traits, _Alloc>& __str);
1115: 
1115:   template<>
1115:     basic_istream<char>&
1115:     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
1115: # 3881 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     operator<<(basic_ostream<_CharT, _Traits>& __os,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __str)
1115:     {
1115: 
1115: 
1115:       return __ostream_insert(__os, __str.data(), __str.size());
1115:     }
1115: # 3904 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     basic_istream<_CharT, _Traits>&
1115:     getline(basic_istream<_CharT, _Traits>& __is,
1115:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
1115: # 3921 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline basic_istream<_CharT, _Traits>&
1115:     getline(basic_istream<_CharT, _Traits>& __is,
1115:      basic_string<_CharT, _Traits, _Alloc>& __str)
1115:     { return std::getline(__is, __str, __is.widen('\n')); }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline basic_istream<_CharT, _Traits>&
1115:     getline(basic_istream<_CharT, _Traits>&& __is,
1115:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1115:     { return std::getline(__is, __str, __delim); }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     inline basic_istream<_CharT, _Traits>&
1115:     getline(basic_istream<_CharT, _Traits>&& __is,
1115:      basic_string<_CharT, _Traits, _Alloc>& __str)
1115:     { return std::getline(__is, __str); }
1115: 
1115: 
1115:   template<>
1115:     basic_istream<char>&
1115:     getline(basic_istream<char>& __in, basic_string<char>& __str,
1115:      char __delim);
1115: 
1115: 
1115:   template<>
1115:     basic_istream<wchar_t>&
1115:     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
1115:      wchar_t __delim);
1115: 
1115: typename, typename, bool>
1417:  friend class __detail::_Executor;
1417: 
1417:       template<typename _Bp, typename _Ap, typename _Cp, typename _Rp>
1417:  friend bool
1417:  __detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
1417:         const basic_regex<_Cp, _Rp>&,
1417:         regex_constants::match_flag_type,
1417:         __detail::_RegexExecutorPolicy, bool);
1417: 
1417: 
1417: 
1417:       void
1417:       _M_resize(unsigned int __size)
1417:       { _Unchecked::assign(__size + 3, sub_match<_Bi_iter>{}); }
1417: 
1417: 
1417:       void
1417:       _M_establish_failed_match(_Bi_iter __end)
1417:       {
1417:  sub_match<_Bi_iter> __sm;
1417:  __sm.first = __sm.second = __end;
1417:  _Unchecked::assign(3, __sm);
1417:       }
1417: 
1417:       const_reference
1417:       _M_unmatched_sub() const
1417:       { return _Unchecked::operator[](_Unchecked::size() - 3); }
1417: 
1417:       sub_match<_Bi_iter>&
1417:       _M_unmatched_sub()
1417:       { return _Unchecked::operator[](_Unchecked::size() - 3); }
1417: 
1417:       const_reference
1417:       _M_prefix() const
1417:       { return _Unchecked::operator[](_Unchecked::size() - 2); }
1417: 
1417:       sub_match<_Bi_iter>&
1417:       _M_prefix()
1417:       { return _Unchecked::operator[](_Unchecked::size() - 2); }
1417: 
1417:       const_reference
1417:       _M_suffix() const
1417:       { return _Unchecked::operator[](_Unchecked::size() - 1); }
1417: 
1417:       sub_match<_Bi_iter>&
1417:       _M_suffix()
1417:       { return _Unchecked::operator[](_Unchecked::size() - 1); }
1417: 
1417:       _Bi_iter _M_begin {};
1417: 
1417:     };
1417: 
1417:   typedef match_results<const char*> cmatch;
1417:   typedef match_results<string::const_iterator> smatch;
1417: 
1417:   typedef match_results<const wchar_t*> wcmatch;
1417:   typedef match_results<wstring::const_iterator> wsmatch;
1417: # 2129 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Alloc>
1417:     inline bool
1417:     operator==(const match_results<_Bi_iter, _Alloc>& __m1,
1417:         const match_results<_Bi_iter, _Alloc>& __m2)
1417:     {
1417:       if (__m1.ready() != __m2.ready())
1417:  return false;
1417:       if (!__m1.ready())
1417:  return true;
1417:       if (__m1.empty() != __m2.empty())
1417:  return false;
1417:       if (__m1.empty())
1417:  return true;
1417:       return __m1.prefix() == __m2.prefix()
1417:  && __m1.size() == __m2.size()
1417:  && std::equal(__m1.begin(), __m1.end(), __m2.begin())
1417:  && __m1.suffix() == __m2.suffix();
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter, class _Alloc>
1417:     inline bool
1417:     operator!=(const match_results<_Bi_iter, _Alloc>& __m1,
1417:         const match_results<_Bi_iter, _Alloc>& __m2)
1417:     { return !(__m1 == __m2); }
1417: # 2169 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Alloc>
1417:     inline void
1417:     swap(match_results<_Bi_iter, _Alloc>& __lhs,
1417:   match_results<_Bi_iter, _Alloc>& __rhs) noexcept
1417:     { __lhs.swap(__rhs); }
1417: 
1417: }
1417: # 2198 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Alloc,
1417:     typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_match(_Bi_iter __s,
1417:   _Bi_iter __e,
1417:   match_results<_Bi_iter, _Alloc>& __m,
1417:   const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:   regex_constants::match_flag_type __flags
1417:           = regex_constants::match_default)
1417:     {
1417:       return __detail::__regex_algo_impl(__s, __e, __m, __re, __flags,
1417:  __detail::_RegexExecutorPolicy::_S_auto, true);
1417:     }
1417: # 2226 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_match(_Bi_iter __first, _Bi_iter __last,
1417:   const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:   regex_constants::match_flag_type __flags
1417:   = regex_constants::match_d4:       is(const char_type *__lo, const char_type *__hi, mask *__vec) const
1434:       { return this->do_is(__lo, __hi, __vec); }
1434: # 204 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
1434:       { return this->do_scan_is(__m, __lo, __hi); }
1434: # 220 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
1434:       { return this->do_scan_not(__m, __lo, __hi); }
1434: # 234 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       toupper(char_type __c) const
1434:       { return this->do_toupper(__c); }
1434: # 249 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       toupper(char_type *__lo, const char_type* __hi) const
1434:       { return this->do_toupper(__lo, __hi); }
1434: # 263 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       tolower(char_type __c) const
1434:       { return this->do_tolower(__c); }
1434: # 278 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       tolower(char_type* __lo, const char_type* __hi) const
1434:       { return this->do_tolower(__lo, __hi); }
1434: # 295 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       widen(char __c) const
1434:       { return this->do_widen(__c); }
1434: # 314 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char*
1434:       widen(const char* __lo, const char* __hi, char_type* __to) const
1434:       { return this->do_widen(__lo, __hi, __to); }
1434: # 333 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char
1434:       narrow(char_type __c, char __dfault) const
1434:       { return this->do_narrow(__c, __dfault); }
1434: # 355 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       narrow(const char_type* __lo, const char_type* __hi,
1434:        char __dfault, char* __to) const
1434:       { return this->do_narrow(__lo, __hi, __dfault, __to); }
1434: 
1434:     protected:
1434:       explicit
1434:       __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
1434: 
1434:       virtual
1434:       ~__ctype_abstract_base() { }
1434: # 380 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual bool
1434:       do_is(mask __m, char_type __c) const = 0;
1434: # 399 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_is(const char_type* __lo, const char_type* __hi,
1434:      mask* __vec) const = 0;
1434: # 418 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_scan_is(mask __m, const char_type* __lo,
1434:    const char_type* __hi) const = 0;
1434: # 437 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_scan_not(mask __m, const char_type* __lo,
1434:     const char_type* __hi) const = 0;
1434: # 455 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_toupper(char_type __c) const = 0;
1434: # 472 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_toupper(char_type* __lo, const char_type* __hi) const = 0;
1434: # 488 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_tolower(char_type __c) const = 0;
1434: # 505 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_tolower(char_type* __lo, const char_type* __hi) const = 0;
1434: # 524 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_widen(char __c) const = 0;
1434: # 545 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char*
1434:       do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0;
1434: # 566 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char
1434:       do_narrow(char_type __c, char __dfault) const = 0;
1434: # 591 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_narrow(const char_type* __lo, const char_type* __hi,
1434:   char __dfault, char* __to) const = 0;
1434:     };
1434: # 614 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:   template<typename _CharT>
1434:     class ctype : public __ctype_abstract_base<_CharT>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef typename __ctype_abstract_base<_CharT>::mask mask;
1434: 
1434: 
1434:       static locale::id id;
1434: 
1434:       explicit
1434:       ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
1434: 
1434:    protected:
1434:       virtual
1434:       ~ctype();
1434: 
1434:       virtual bool
1434:       do_is(mask __m, char_type __c) const;
1434: 
1434:       virtual const char_type*
1434:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1434: 
1434:       virtual const char_type*
1434:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1434: 
1434:       virtual const char_type*
1434:       do_scan_not(mask __m, const char_type* __lo,
1434:     const char_type* __hi) const;
1434: 
1434:       virtual char_type
1434:       do_toupper(char_type __c) const;
1434: 
1434:       virtual const char_type*
1434:       do_toupper(char_type* __lo, const char_type* __hi) const;
1434: 
1434:       virtual char_type
1434:       do_tolower(char_type __c) const;
1434: 
1434:       virtual const char_type*
1434:       do_tolower(char_type* __lo, const char_type* __hi) const;
1434: 
1434:       virtual char_type
1434:       do_widen(char __c) const;
1434: 
1434:       virtual const char*
1434:       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
1434: 
1434:       virtual char
1434:       do_narrow(char_type, char __dfault) const;
1434: 
1434:       virtual const char_type*
1434:       do_narrow(const char_type* __lo, const char_type* __hi,
1434:   char __dfault, char* __to) const;
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     locale::id ctype<_CharT>::id;
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     class ctype<basic_string<_CharT, _Traits, _Alloc> >;
1434: # 688 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:   template<>
1434:     class ctype<char> : public locale::facet, public ctype_base
1434:     {
1434:     public:
1434: 
1434: 
1434:       typedef char char_type;
1434: 
1434:     protected:
1434: 
1434:       __c_locale _M_c_locale_ctype;
1434:       bool _M_del;
1434:       __to_type _M_toupper;
1434:       __to_type _M_tolower;
1434:       const mask* _M_table;
1434:       mutable char _M_widen_ok;
1434:       mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
1434:       mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
1434:       mutable char _M_narrow_ok;
1434: 
1434: 
1434:     public:
1434: 
1434:       static locale::id id;
1434: 
1434:       static const size_t table_size = 1 + static_cast<unsigned char>(-1);
1434: # 725 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
1434: # 738 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
1434:      size_t __refs = 0);
1434: # 751 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       inline bool
1434:       is(mask __m, char __c) const;
1434: # 766 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       inline const char*
1434:       is(const char* __lo, const char* __hi, mask* __vec) const;
1434: # 780 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       inline const char*
1434:       scan_is(mask __m, const char* __lo, const char* __hi) const;
1434: # 794 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       inline const char*
1434:       scan_not(mask __m, const char* __lo, const char* __hi) const;
1434: # 80 
1115: 
1115: }
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/ext/string_conversions.h" 1 3
1115: # 32 "/usr/include/c++/12/ext/string_conversions.h" 3
1115:        
1115: # 33 "/usr/include/c++/12/ext/string_conversions.h" 3
1115: # 41 "/usr/include/c++/12/ext/string_conversions.h" 3
1115: # 1 "/usr/include/c++/12/cstdlib" 1 3
1115: # 39 "/usr/include/c++/12/cstdlib" 3
1115:        
1115: # 40 "/usr/include/c++/12/cstdlib" 3
1115: # 75 "/usr/include/c++/12/cstdlib" 3
1115: # 1 "/usr/include/stdlib.h" 1 3 4
1115: # 26 "/usr/include/stdlib.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1115: # 27 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 33 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 1 3 4
1115: # 41 "/usr/include/stdlib.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/waitstatus.h" 1 3 4
1115: # 42 "/usr/include/stdlib.h" 2 3 4
1115: # 56 "/usr/include/stdlib.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1115: # 57 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: typedef struct
1115:   {
1115:     int quot;
1115:     int rem;
1115:   } div_t;
1115: 
1115: 
1115: 
1115: typedef struct
1115:   {
1115:     long int quot;
1115:     long int rem;
1115:   } ldiv_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: __extension__ typedef struct
1115:   {
1115:     long long int quot;
1115:     long long int rem;
1115:   } lldiv_t;
1115: # 98 "/usr/include/stdlib.h" 3 4
1115: extern size_t __ctype_get_mb_cur_max (void) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern double atof (const char *__nptr)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: extern int atoi (const char *__nptr)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: extern long int atol (const char *__nptr)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: __extension__ extern long long int atoll (const char *__nptr)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern double strtod (const char *__restrict __nptr,
1115:         char **__restrict __endptr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern float strtof (const char *__restrict __nptr,
1115:        char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: extern long double strtold (const char *__restrict __nptr,
1115:        char **__restrict __endptr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 141 "/usr/include/stdlib.h" 3 4
1115: extern _Float32 strtof32 (const char *__restrict __nptr,
1115:      char **__restrict __endptr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern _Float64 strtof64 (const char *__restrict __nptr,
1115:      char **__restrict __endptr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 159 "/usr/include/stdlib.h" 3 4
1115: extern _Float32x strtof32x (const char *__restrict __nptr,
1115:        char **__restrict __endptr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 177 "/usr/include/stdlib.h" 3 4
1115: extern long int strtol (const char *__restrict __nptr,
1115:    char **__restrict __endptr, int __base)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: extern unsigned long int strtoul (const char *__restrict __nptr,
1115:       char **__restrict __endptr, int __base)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
11159 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       toupper(char_type __c) const
1434:       { return this->do_toupper(__c); }
1434: # 826 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       toupper(char_type *__lo, const char_type* __hi) const
1434:       { return this->do_toupper(__lo, __hi); }
1434: # 842 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       tolower(char_type __c) const
1434:       { return this->do_tolower(__c); }
1434: # 859 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       tolower(char_type* __lo, const char_type* __hi) const
1434:       { return this->do_tolower(__lo, __hi); }
1434: # 879 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       widen(char __c) const
1434:       {
1434:  if (_M_widen_ok)
1434:    return _M_widen[static_cast<unsigned char>(__c)];
1434:  this->_M_widen_init();
1434:  return this->do_widen(__c);
1434:       }
1434: # 906 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char*
1434:       widen(const char* __lo, const char* __hi, char_type* __to) const
1434:       {
1434:  if (_M_widen_ok == 1)
1434:    {
1434:      if (__builtin_expect(__hi != __lo, true))
1434:        __builtin_memcpy(__to, __lo, __hi - __lo);
1434:      return __hi;
1434:    }
1434:  if (!_M_widen_ok)
1434:    _M_widen_init();
1434:  return this->do_widen(__lo, __hi, __to);
1434:       }
1434: # 938 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char
1434:       narrow(char_type __c, char __dfault) const
1434:       {
1434:  if (_M_narrow[static_cast<unsigned char>(__c)])
1434:    return _M_narrow[static_cast<unsigned char>(__c)];
1434:  const char __t = do_narrow(__c, __dfault);
1434:  if (__t != __dfault)
1434:    _M_narrow[static_cast<unsigned char>(__c)] = __t;
1434:  return __t;
1434:       }
1434: # 971 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       const char_type*
1434:       narrow(const char_type* __lo, const char_type* __hi,
1434:       char __dfault, char* __to) const
1434:       {
1434:  if (__builtin_expect(_M_narrow_ok == 1, true))
1434:    {
1434:      if (__builtin_expect(__hi != __lo, true))
1434:        __builtin_memcpy(__to, __lo, __hi - __lo);
1434:      return __hi;
1434:    }
1434:  if (!_M_narrow_ok)
1434:    _M_narrow_init();
1434:  return this->do_narrow(__lo, __hi, __dfault, __to);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const mask*
1434:       table() const throw()
1434:       { return _M_table; }
1434: 
1434: 
1434:       static const mask*
1434:       classic_table() throw();
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       virtual
1434:       ~ctype();
1434: # 1021 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_toupper(char_type __c) const;
1434: # 1038 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_toupper(char_type* __lo, const char_type* __hi) const;
1434: # 1054 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_tolower(char_type __c) const;
1434: # 1071 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_tolower(char_type* __lo, const char_type* __hi) const;
1434: # 1091 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_widen(char __c) const
1434:       { return __c; }
1434: # 1114 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char*
1434:       do_widen(const char* __lo, const char* __hi, char_type* __to) const
1434:       {
1434:  if (__builtin_expect(__hi != __lo, true))
1434:    __builtin_memcpy(__to, __lo, __hi - __lo);
1434:  return __hi;
1434:       }
1434: # 1141 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char
1434:       do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const
1434:       { return __c; }
1434: # 1167 "/usr/include/c++/12/bits/locale_faefault)
1417:     {
1417:       match_results<_Bi_iter> __what;
1417:       return regex_match(__first, __last, __what, __re, __flags);
1417:     }
1417: # 2251 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type, typename _Alloc, typename _Rx_traits>
1417:     inline bool
1417:     regex_match(const _Ch_type* __s,
1417:   match_results<const _Ch_type*, _Alloc>& __m,
1417:   const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:   regex_constants::match_flag_type __f
1417:   = regex_constants::match_default)
1417:     { return regex_match(__s, __s + _Rx_traits::length(__s), __m, __re, __f); }
1417: # 2274 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_traits, typename _Ch_alloc,
1417:     typename _Alloc, typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_match(const basic_string<_Ch_type, _Ch_traits, _Ch_alloc>& __s,
1417:   match_results<typename basic_string<_Ch_type,
1417:   _Ch_traits, _Ch_alloc>::const_iterator, _Alloc>& __m,
1417:   const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:   regex_constants::match_flag_type __flags
1417:   = regex_constants::match_default)
1417:     { return regex_match(__s.begin(), __s.end(), __m, __re, __flags); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Ch_traits, typename _Ch_alloc,
1417:     typename _Alloc, typename _Ch_type, typename _Rx_traits>
1417:     bool
1417:     regex_match(const basic_string<_Ch_type, _Ch_traits, _Ch_alloc>&&,
1417:   match_results<typename basic_string<_Ch_type,
1417:   _Ch_traits, _Ch_alloc>::const_iterator, _Alloc>&,
1417:   const basic_regex<_Ch_type, _Rx_traits>&,
1417:   regex_constants::match_flag_type
1417:   = regex_constants::match_default) = delete;
1417: # 2311 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type, class _Rx_traits>
1417:     inline bool
1417:     regex_match(const _Ch_type* __s,
1417:   const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:   regex_constants::match_flag_type __f
1417:   = regex_constants::match_default)
1417:     { return regex_match(__s, __s + _Rx_traits::length(__s), __re, __f); }
1417: # 2332 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_traits, typename _Str_allocator,
1417:     typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_match(const basic_string<_Ch_type, _Ch_traits, _Str_allocator>& __s,
1417:   const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:   regex_constants::match_flag_type __flags
1417:   = regex_constants::match_default)
1417:     { return regex_match(__s.begin(), __s.end(), __re, __flags); }
1417: # 2355 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Alloc,
1417:     typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_search(_Bi_iter __s, _Bi_iter __e,
1417:    match_results<_Bi_iter, _Alloc>& __m,
1417:    const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:    regex_constants::match_flag_type __flags
1417:    = regex_constants::match_default)
1417:     {
1417:       return __detail::__regex_algo_impl(__s, __e, __m, __re, __flags,
1417:  __detail::_RegexExecutorPolicy::_S_auto, false);
1417:     }
1417: # 2379 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_search(_Bi_iter __first, _Bi_iter __last,
1417:    const basic_regex<_Ch_type, _Rx_traits>& __re,
1417:    regex_constants::match_flag_type __flags
1417:    = regex_constants::match_default)
1417:     {
1417:       match_results<_Bi_iter> __what;
1417:       return regex_search(__first, __last, __what, __re, __flags);
1417:     }
1417: # 2402 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type, class _Alloc, class _Rx_traits>
1417:     inline bool
1417:     regex_search(const _Ch_type* __s,
1417:    match_results<const _Ch_type*, _Alloc>& __m,
1417:    const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:    regex_constants::match_flag_type __f
1417:    = regex_constants::match_default)
1417:     { return regecets.h" 3
1434:       virtual const char_type*
1434:       do_narrow(const char_type* __lo, const char_type* __hi,
1434:   char __dfault __attribute__((__unused__)), char* __to) const
1434:       {
1434:  if (__builtin_expect(__hi != __lo, true))
1434:    __builtin_memcpy(__to, __lo, __hi - __lo);
1434:  return __hi;
1434:       }
1434: 
1434:     private:
1434:       void _M_narrow_init() const;
1434:       void _M_widen_init() const;
1434:     };
1434: # 1193 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:   template<>
1434:     class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
1434:     {
1434:     public:
1434: 
1434: 
1434:       typedef wchar_t char_type;
1434:       typedef wctype_t __wmask_type;
1434: 
1434:     protected:
1434:       __c_locale _M_c_locale_ctype;
1434: 
1434: 
1434:       bool _M_narrow_ok;
1434:       char _M_narrow[128];
1434:       wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
1434: 
1434: 
1434:       mask _M_bit[16];
1434:       __wmask_type _M_wmask[16];
1434: 
1434:     public:
1434: 
1434: 
1434:       static locale::id id;
1434: # 1226 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       ctype(size_t __refs = 0);
1434: # 1237 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       ctype(__c_locale __cloc, size_t __refs = 0);
1434: 
1434:     protected:
1434:       __wmask_type
1434:       _M_convert_to_wmask(const mask __m) const throw();
1434: 
1434: 
1434:       virtual
1434:       ~ctype();
1434: # 1261 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual bool
1434:       do_is(mask __m, char_type __c) const;
1434: # 1280 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1434: # 1298 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1434: # 1316 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_scan_not(mask __m, const char_type* __lo,
1434:     const char_type* __hi) const;
1434: # 1333 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_toupper(char_type __c) const;
1434: # 1350 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_toupper(char_type* __lo, const char_type* __hi) const;
1434: # 1366 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_tolower(char_type __c) const;
1434: # 1383 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_tolower(char_type* __lo, const char_type* __hi) const;
1434: # 1403 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_widen(char __c) const;
1434: # 1425 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char*
1434:       do_widen(const char* __lo, const char* __hi, char_type* __to) const;
1434: # 1448 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char
1434:       do_narrow(char_type __c, char __dfault) const;
1434: # 1474 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual const char_type*
1434:       do_narrow(const char_type* __lo, const char_type* __hi,
1434:   char __dfault, char* __to) const;
1434: 
1434: 
1434:       void
1434:       _M_initialize_ctype() throw();
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     class ctype_byname : public ctype<_CharT>
1434:     {
1434:     public:
1434:       typedef typename ctype<_CharT>::mask mask;
1434: 
1434:       explicit
1434:       ctype_byname(const char* __s, size_t __refs = 0);
1434: 
1434: 
1434:       explicit
1434:       ctype_byname(const string& __s, size_t __refs = 0)
1434:       : ctype_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~ctype_byname() { }
1434:     };
1434: 
1434: 
1434:   template<>: 
1115: 
1115: __extension__
1115: extern long long int strtoq (const char *__restrict __nptr,
1115:         char **__restrict __endptr, int __base)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: __extension__
1115: extern unsigned long long int strtouq (const char *__restrict __nptr,
1115:            char **__restrict __endptr, int __base)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: __extension__
1115: extern long long int strtoll (const char *__restrict __nptr,
1115:          char **__restrict __endptr, int __base)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: __extension__
1115: extern unsigned long long int strtoull (const char *__restrict __nptr,
1115:      char **__restrict __endptr, int __base)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int strfromd (char *__dest, size_t __size, const char *__format,
1115:        double __f)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: 
1115: extern int strfromf (char *__dest, size_t __size, const char *__format,
1115:        float __f)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: 
1115: extern int strfroml (char *__dest, size_t __size, const char *__format,
1115:        long double __f)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: # 233 "/usr/include/stdlib.h" 3 4
1115: extern int strfromf32 (char *__dest, size_t __size, const char * __format,
1115:          _Float32 __f)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: 
1115: 
1115: 
1115: extern int strfromf64 (char *__dest, size_t __size, const char * __format,
1115:          _Float64 __f)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: # 251 "/usr/include/stdlib.h" 3 4
1115: extern int strfromf32x (char *__dest, size_t __size, const char * __format,
1115:    _Float32x __f)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3)));
1115: # 275 "/usr/include/stdlib.h" 3 4
1115: extern long int strtol_l (const char *__restrict __nptr,
1115:      char **__restrict __endptr, int __base,
1115:      locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1115: 
1115: extern unsigned long int strtoul_l (const char *__restrict __nptr,
1115:         char **__restrict __endptr,
1115:         int __base, locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1115: 
1115: __extension__
1115: extern long long int strtoll_l (const char *__restrict __nptr,
1115:     char **__restrict __endptr, int __base,
1115:     locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1115: 
1115: __extension__
1115: extern unsigned long long int strtoull_l (const char *__restrict __nptr,
1115:        char **__restrict __endptr,
1115:        int __base, locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
1115: 
1115: extern double strtod_l (const char *__restrict __nptr,
1115:    char **__restrict __endptr, locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: 
1115: extern float strtof_l (const char *__restrict __nptr,
1115:          char **__restrict __endptr, locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: 
1115: extern long double strtold_l (const char *__restrict __nptr,
1115:          char **__restrict __endptr,
1115:          locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: # 317 "/usr/include/stdlib.h" 3 4
1115: extern _Float32 strtof32_l (const char *__restrict __nptr,
1115:        char **__restrict __endptr,
1115:        locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: 
1115: 
1115: 
1115: extern _Float64 strtof64_l (const char *__restrict __nptr,
1115:        char **__restrict __endptr,
1115:        locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: # 338 "/usr/include/stdlib.h" 3 4
1115: extern _
1434:     class ctype_byname<char> : public ctype<char>
1434:     {
1434:     public:
1434:       explicit
1434:       ctype_byname(const char* __s, size_t __refs = 0);
1434: 
1434: 
1434:       explicit
1434:       ctype_byname(const string& __s, size_t __refs = 0);
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~ctype_byname();
1434:     };
1434: 
1434: 
1434:   template<>
1434:     class ctype_byname<wchar_t> : public ctype<wchar_t>
1434:     {
1434:     public:
1434:       explicit
1434:       ctype_byname(const char* __s, size_t __refs = 0);
1434: 
1434: 
1434:       explicit
1434:       ctype_byname(const string& __s, size_t __refs = 0);
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~ctype_byname();
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 1 3
1434: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   bool
1434:   ctype<char>::
1434:   is(mask __m, char __c) const
1434:   { return _M_table[static_cast<unsigned char>(__c)] & __m; }
1434: 
1434:   const char*
1434:   ctype<char>::
1434:   is(const char* __low, const char* __high, mask* __vec) const
1434:   {
1434:     while (__low < __high)
1434:       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
1434:     return __high;
1434:   }
1434: 
1434:   const char*
1434:   ctype<char>::
1434:   scan_is(mask __m, const char* __low, const char* __high) const
1434:   {
1434:     while (__low < __high
1434:     && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
1434:       ++__low;
1434:     return __low;
1434:   }
1434: 
1434:   const char*
1434:   ctype<char>::
1434:   scan_not(mask __m, const char* __low, const char* __high) const
1434:   {
1434:     while (__low < __high
1434:     && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
1434:       ++__low;
1434:     return __low;
1434:   }
1434: 
1434: 
1434: }
1434: # 1547 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   class __num_base
1434:   {
1434:   public:
1434: 
1434: 
1434:     enum
1434:       {
1434:  _S_ominus,
1434:  _S_oplus,
1434:  _S_ox,
1434:  _S_oX,
1434:  _S_odigits,
1434:  _S_odigits_end = _S_odigits + 16,
1434:  _S_oudigits = _S_odigits_end,
1434:  _S_oudigits_end = _S_oudigits + 16,
1434:  _S_oe = _S_odigits + 14,
1434:  _S_oE = _S_oudigits + 14,
1434:  _S_oend = _S_oudigits_end
1434:       };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     static const char* _S_atoms_out;
1434: 
1434: 
1434: 
1434:     static const char* _S_atoms_in;
1434: 
1434:     enum
1434:     {
1434:       _S_iminus,
1434:       _S_iplus,
1434:       _S_ix,
1434:       _S_iX,
1434:       _S_izero,
1434:       _S_ie = _S_izero + 14,
1434:       _S_iE = _S_izero + 20,
1434:       _S_iend = 26
1434:     };
1434: 
1434: 
1434: 
1434:     static void
1434:     _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
1434:   };
1434: 
1434:   template<typename _CharT>
1434:     struct __numpunct_cache : public locale::facet
1434:     {
1434:       const char* _M_grouping;
1434:       size_t _M_grouping_size;
1434:       bool _M_use_grouping;
1434:       const _CharT* _M_truename;
1434:       size_t _M_truename_size;
1434:       const _CharT* _M_falsename;
1434:       size_t _M_falsename_size;
1434:       _CharT _M_decimal_point;
1434:       _CharT _M_thousands_sep;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       _CharT _M_atoms_out[__num_base::_S_oend];
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       _CharT _M_atoms_in[__num_base::_S_iend];
1434: 
1434:       bool _M_allocated;
1434: 
1434:       __numpunct_cache(size_t __refs = 0)
1434:       : facet(__refs), _M_grouping(0), _M_grouping_size(0),
1434:  _M_use_grouping(false),
1434:  _M_truename(0), _M_truename_size(0), _M_falsename(0),
1434:  _M_falsename_size(0), _M_decimal_point(_CharT()),
1434:  x_search(__s, __s + _Rx_traits::length(__s), __m, __e, __f); }
1417: # 2421 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_search(const _Ch_type* __s,
1417:    const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:    regex_constants::match_flag_type __f
1417:    = regex_constants::match_default)
1417:     { return regex_search(__s, __s + _Rx_traits::length(__s), __e, __f); }
1417: # 2439 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_traits, typename _String_allocator,
1417:     typename _Ch_type, typename _Rx_traits>
1417:     inline bool
1417:     regex_search(const basic_string<_Ch_type, _Ch_traits,
1417:    _String_allocator>& __s,
1417:    const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:    regex_constants::match_flag_type __flags
1417:    = regex_constants::match_default)
1417:     { return regex_search(__s.begin(), __s.end(), __e, __flags); }
1417: # 2461 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Ch_traits, typename _Ch_alloc,
1417:     typename _Alloc, typename _Ch_type,
1417:     typename _Rx_traits>
1417:     inline bool
1417:     regex_search(const basic_string<_Ch_type, _Ch_traits, _Ch_alloc>& __s,
1417:    match_results<typename basic_string<_Ch_type,
1417:    _Ch_traits, _Ch_alloc>::const_iterator, _Alloc>& __m,
1417:    const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:    regex_constants::match_flag_type __f
1417:    = regex_constants::match_default)
1417:     { return regex_search(__s.begin(), __s.end(), __m, __e, __f); }
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Ch_traits, typename _Ch_alloc,
1417:     typename _Alloc, typename _Ch_type,
1417:     typename _Rx_traits>
1417:     bool
1417:     regex_search(const basic_string<_Ch_type, _Ch_traits, _Ch_alloc>&&,
1417:    match_results<typename basic_string<_Ch_type,
1417:    _Ch_traits, _Ch_alloc>::const_iterator, _Alloc>&,
1417:    const basic_regex<_Ch_type, _Rx_traits>&,
1417:    regex_constants::match_flag_type
1417:    = regex_constants::match_default) = delete;
1417: 
1417: 
1417: 
1417:   template<typename _Out_iter, typename _Bi_iter,
1417:     typename _Rx_traits, typename _Ch_type>
1417:     _Out_iter
1417:     __regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last,
1417:       const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:       const _Ch_type* __fmt, size_t __len,
1417:       regex_constants::match_flag_type __flags);
1417: # 2510 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Out_iter, typename _Bi_iter,
1417:     typename _Rx_traits, typename _Ch_type,
1417:     typename _St, typename _Sa>
1417:     inline _Out_iter
1417:     regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last,
1417:     const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:     const basic_string<_Ch_type, _St, _Sa>& __fmt,
1417:     regex_constants::match_flag_type __flags
1417:     = regex_constants::match_default)
1417:     {
1417:       return std::__regex_replace(__out, __first, __last, __e, __fmt.c_str(),
1417:       __fmt.length(), __flags);
1417:     }
1417: # 2537 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Out_iter, typename _Bi_iter,
1417:     typename _Rx_traits, typename _Ch_type>
1417:     _Out_iter
1417:     regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last,
1417:     const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:     const _Ch_type* __fmt,
1417:     regex_constants::match_flag_type __flags
1417:     = regex_constants::match_default)
1417:     {
1417:       return std::__regex_replace(__out, __first, __last, __e, __fmt,
1417:       char_traits<_Ch_type>::length(__fmt),
1417:       __flags);
1417:     }
1417: # 2563 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Rx_traits, typename _Ch_type,
1417:     typename _St, typename _Sa, typename _Fst, typename _Fsa>
1417:     inline basic_string<_Ch_type, _St, _Sa>
1417:     regex_replace(const basic_string<_Ch_type, _St, _Sa>& __s,
1417:     const basic_regex<_Ch_type, _Rx_traits_M_thousands_sep(_CharT()), _M_allocated(false)
1434:  { }
1434: 
1434:       ~__numpunct_cache();
1434: 
1434:       void
1434:       _M_cache(const locale& __loc);
1434: 
1434:     private:
1434:       __numpunct_cache&
1434:       operator=(const __numpunct_cache&);
1434: 
1434:       explicit
1434:       __numpunct_cache(const __numpunct_cache&);
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     __numpunct_cache<_CharT>::~__numpunct_cache()
1434:     {
1434:       if (_M_allocated)
1434:  {
1434:    delete [] _M_grouping;
1434:    delete [] _M_truename;
1434:    delete [] _M_falsename;
1434:  }
1434:     }
1434: 
1434: namespace __cxx11 {
1434: # 1677 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:   template<typename _CharT>
1434:     class numpunct : public locale::facet
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434:       typedef __numpunct_cache<_CharT> __cache_type;
1434: 
1434:     protected:
1434:       __cache_type* _M_data;
1434: 
1434:     public:
1434: 
1434:       static locale::id id;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       numpunct(size_t __refs = 0)
1434:       : facet(__refs), _M_data(0)
1434:       { _M_initialize_numpunct(); }
1434: # 1715 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       numpunct(__cache_type* __cache, size_t __refs = 0)
1434:       : facet(__refs), _M_data(__cache)
1434:       { _M_initialize_numpunct(); }
1434: # 1729 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       numpunct(__c_locale __cloc, size_t __refs = 0)
1434:       : facet(__refs), _M_data(0)
1434:       { _M_initialize_numpunct(__cloc); }
1434: # 1743 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       decimal_point() const
1434:       { return this->do_decimal_point(); }
1434: # 1756 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       char_type
1434:       thousands_sep() const
1434:       { return this->do_thousands_sep(); }
1434: # 1787 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       string
1434:       grouping() const
1434:       { return this->do_grouping(); }
1434: # 1800 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       string_type
1434:       truename() const
1434:       { return this->do_truename(); }
1434: # 1813 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       string_type
1434:       falsename() const
1434:       { return this->do_falsename(); }
1434: 
1434:     protected:
1434: 
1434:       virtual
1434:       ~numpunct();
1434: # 1830 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_decimal_point() const
1434:       { return _M_data->_M_decimal_point; }
1434: # 1842 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual char_type
1434:       do_thousands_sep() const
1434:       { return _M_data->_M_thousands_sep; }
1434: # 1855 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual string
1434:       do_grouping() const
1434:       { return _M_data->_M_grouping; }
1434: # 1868 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual string_type
1434:       do_truename() const
1434:       { return _M_data->_M_truename; }
1434: # 1881 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual string_type
1434:       do_falsename() const
1434:       { return _M_data->_M_falsename; }
1434: 
1434: 
1434:       void
1434:       _M_initialize_numpunct(__c_locale __cloc = 0);
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     locale::id numpunct<_CharT>::id;
1434: 
1434:   template<>
1434:     numpunct<char>::~numpunct();
1434: 
1434:   template<>
1434:     void
1434:     numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
1434: 
1434: 
1434:   template<>
1434:     numpunct<wchar_t>::~numpunct();
1434: 
1434:   template<>
1434:     void
1434:     numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
1434: 
1434: 
1434: 
1434:   template<typenameFloat32x strtof32x_l (const char *__restrict __nptr,
1115:          char **__restrict __endptr,
1115:          locale_t __loc)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
1115: # 361 "/usr/include/stdlib.h" 3 4
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: __attribute__ ((__leaf__)) atoi (const char *__nptr) noexcept (true)
1115: {
1115:   return (int) strtol (__nptr, (char **) __null, 10);
1115: }
1115: extern __inline __attribute__ ((__gnu_inline__)) long int
1115: __attribute__ ((__leaf__)) atol (const char *__nptr) noexcept (true)
1115: {
1115:   return strtol (__nptr, (char **) __null, 10);
1115: }
1115: 
1115: 
1115: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
1115: __attribute__ ((__leaf__)) atoll (const char *__nptr) noexcept (true)
1115: {
1115:   return strtoll (__nptr, (char **) __null, 10);
1115: }
1115: # 386 "/usr/include/stdlib.h" 3 4
1115: extern char *l64a (long int __n) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: extern long int a64l (const char *__s)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/sys/types.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __u_char u_char;
1115: typedef __u_short u_short;
1115: typedef __u_int u_int;
1115: typedef __u_long u_long;
1115: typedef __quad_t quad_t;
1115: typedef __u_quad_t u_quad_t;
1115: typedef __fsid_t fsid_t;
1115: 
1115: 
1115: typedef __loff_t loff_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __ino64_t ino_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __ino64_t ino64_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __dev_t dev_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __gid_t gid_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __mode_t mode_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __nlink_t nlink_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __uid_t uid_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __off64_t off_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __off64_t off64_t;
1115: # 103 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1115: typedef __id_t id_t;
1115: 
1115: 
1115: 
1115: 
1115: typedef __ssize_t ssize_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __daddr_t daddr_t;
1115: typedef __caddr_t caddr_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __key_t key_t;
1115: # 134 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1115: typedef __useconds_t useconds_t;
1115: 
1115: 
1115: 
1115: typedef __suseconds_t suseconds_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 145 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1115: 
1115: 
1115: 
1115: typedef unsigned long int ulong;
1115: typedef unsigned short int ushort;
1115: typedef unsigned int uint;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __uint8_t u_int8_t;
1115: typedef __uint16_t u_int16_t;
1115: typedef __uint32_t u_int32_t;
1115: typedef __uint64_t u_int64_t;
1115: 
1115: 
1115: typedef int register_t __attribute__ ((__mode__ (__word__)));
1115: # 176 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1115: # 1 "/usr/include/endian.h" 1 3 4
1115: # 35 "/usr/include/endian.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 1 3 4
1115: # 33 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1115: static __inline __uint16_t
1115: __bswap_16 (__uint16_t __bsx)
1115: {
1115: 
1115:   return __builtin_bswap16 (__bsx);
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: static __inline __uint32_t
1115: __bswap_32 (__uint32_t __bsx)
1115: {
1115: 
1115:   return __builtin_bswap32 (__bsx);
1115: 
1115: 
1115: 
1115: }
1115: # 69 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4
1115: __extension__ static __inline __uint64_t
1115: __bswap_64 (__uint64_t __bsx)
11>& __e,
1417:     const basic_string<_Ch_type, _Fst, _Fsa>& __fmt,
1417:     regex_constants::match_flag_type __flags
1417:     = regex_constants::match_default)
1417:     {
1417:       basic_string<_Ch_type, _St, _Sa> __result;
1417:       regex_replace(std::back_inserter(__result),
1417:       __s.begin(), __s.end(), __e, __fmt, __flags);
1417:       return __result;
1417:     }
1417: # 2589 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Rx_traits, typename _Ch_type,
1417:     typename _St, typename _Sa>
1417:     inline basic_string<_Ch_type, _St, _Sa>
1417:     regex_replace(const basic_string<_Ch_type, _St, _Sa>& __s,
1417:     const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:     const _Ch_type* __fmt,
1417:     regex_constants::match_flag_type __flags
1417:     = regex_constants::match_default)
1417:     {
1417:       basic_string<_Ch_type, _St, _Sa> __result;
1417:       regex_replace(std::back_inserter(__result),
1417:       __s.begin(), __s.end(), __e, __fmt, __flags);
1417:       return __result;
1417:     }
1417: # 2615 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Rx_traits, typename _Ch_type,
1417:     typename _St, typename _Sa>
1417:     inline basic_string<_Ch_type>
1417:     regex_replace(const _Ch_type* __s,
1417:     const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:     const basic_string<_Ch_type, _St, _Sa>& __fmt,
1417:     regex_constants::match_flag_type __flags
1417:     = regex_constants::match_default)
1417:     {
1417:       basic_string<_Ch_type> __result;
1417:       regex_replace(std::back_inserter(__result), __s,
1417:       __s + char_traits<_Ch_type>::length(__s),
1417:       __e, __fmt, __flags);
1417:       return __result;
1417:     }
1417: # 2642 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Rx_traits, typename _Ch_type>
1417:     inline basic_string<_Ch_type>
1417:     regex_replace(const _Ch_type* __s,
1417:     const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:     const _Ch_type* __fmt,
1417:     regex_constants::match_flag_type __flags
1417:     = regex_constants::match_default)
1417:     {
1417:       basic_string<_Ch_type> __result;
1417:       regex_replace(std::back_inserter(__result), __s,
1417:       __s + char_traits<_Ch_type>::length(__s),
1417:       __e, __fmt, __flags);
1417:       return __result;
1417:     }
1417: 
1417: 
1417: 
1417: namespace __cxx11 {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type = typename iterator_traits<_Bi_iter>::value_type,
1417:     typename _Rx_traits = regex_traits<_Ch_type> >
1417:     class regex_iterator
1417:     {
1417:     public:
1417:       typedef basic_regex<_Ch_type, _Rx_traits> regex_type;
1417:       typedef match_results<_Bi_iter> value_type;
1417:       typedef std::ptrdiff_t difference_type;
1417:       typedef const value_type* pointer;
1417:       typedef const value_type& reference;
1417:       typedef std::forward_iterator_tag iterator_category;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       regex_iterator() = default;
1417: # 2692 "/usr/include/c++/12/bits/regex.h" 3
1417:       regex_iterator(_Bi_iter __a, _Bi_iter __b, const regex_type& __re,
1417:        regex_constants::match_flag_type __m
1417:        = regex_constants::match_default)
1417:       : _M_begin(__a), _M_end(__b), _M_pregex(&__re), _M_flags(__m), _M_match()
1417:       {
1417:  if (!regex_search(_M_begin, _M_end, _M_match, *_M_pregex, _M_flags))
1417:    *this = regex_iterator();
1417:       }
1417: 
1417: 
1417: 
1417:       regex_iterator(_Bi_iter, _Bi_iter, const regex_type&&,
1417:        regex_constants::match_flag_type
1417:        = regex_constants::match_default) = delete;
1417: 
1417: 
1417:       regex_iterator(const regex_iterator&) = default;
1417: 
1417: 
1417:       regex_iterator&
1417:       operator=(const regex_iterator&) = default;
1417: 
1417:       ~regex_iterator() = default;
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       operator==(const regex_iterator&) const noexcept;
1417: 
1417: 
1417: 
1417: 
1417: _CharT>
1434:     class numpunct_byname : public numpunct<_CharT>
1434:     {
1434:     public:
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434:       explicit
1434:       numpunct_byname(const char* __s, size_t __refs = 0)
1434:       : numpunct<_CharT>(__refs)
1434:       {
1434:  if (__builtin_strcmp(__s, "C") != 0
1434:      && __builtin_strcmp(__s, "POSIX") != 0)
1434:    {
1434:      __c_locale __tmp;
1434:      this->_S_create_c_locale(__tmp, __s);
1434:      this->_M_initialize_numpunct(__tmp);
1434:      this->_S_destroy_c_locale(__tmp);
1434:    }
1434:       }
1434: 
1434: 
1434:       explicit
1434:       numpunct_byname(const string& __s, size_t __refs = 0)
1434:       : numpunct_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~numpunct_byname() { }
1434:     };
1434: 
1434: }
1434: 
1434: 
1434: # 1959 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:   template<typename _CharT, typename _InIter>
1434:     class num_get : public locale::facet
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _InIter iter_type;
1434: 
1434: 
1434: 
1434:       static locale::id id;
1434: # 1980 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       num_get(size_t __refs = 0) : facet(__refs) { }
1434: # 2006 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, bool& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: # 2043 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, long& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, unsigned short& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, unsigned int& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, unsigned long& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434: 
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, long long& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, unsigned long long& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: # 2103 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, float& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, double& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, long double& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: # 2146 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       get(iter_type __in, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, void*& __v) const
1434:       { return this->do_get(__in, __end, __io, __err, __v); }
1434: 
1434:     protected:
1434: 
1434:       virtual ~num_get() { }
14315: {
1115: 
1115:   return __builtin_bswap64 (__bsx);
1115: 
1115: 
1115: 
1115: }
1115: # 36 "/usr/include/endian.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 1 3 4
1115: # 32 "/usr/include/arm-linux-gnueabihf/bits/uintn-identity.h" 3 4
1115: static __inline __uint16_t
1115: __uint16_identity (__uint16_t __x)
1115: {
1115:   return __x;
1115: }
1115: 
1115: static __inline __uint32_t
1115: __uint32_identity (__uint32_t __x)
1115: {
1115:   return __x;
1115: }
1115: 
1115: static __inline __uint64_t
1115: __uint64_identity (__uint64_t __x)
1115: {
1115:   return __x;
1115: }
1115: # 37 "/usr/include/endian.h" 2 3 4
1115: # 177 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/sys/select.h" 1 3 4
1115: # 30 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/select.h" 1 3 4
1115: # 31 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __sigset_t sigset_t;
1115: # 34 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1115: # 49 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1115: typedef long int __fd_mask;
1115: # 59 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1115: typedef struct
1115:   {
1115: 
1115: 
1115: 
1115:     __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   } fd_set;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __fd_mask fd_mask;
1115: # 91 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1115: extern "C" {
1115: # 102 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1115: extern int select (int __nfds, fd_set *__restrict __readfds,
1115:      fd_set *__restrict __writefds,
1115:      fd_set *__restrict __exceptfds,
1115:      struct timeval *__restrict __timeout);
1115: # 127 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1115: extern int pselect (int __nfds, fd_set *__restrict __readfds,
1115:       fd_set *__restrict __writefds,
1115:       fd_set *__restrict __exceptfds,
1115:       const struct timespec *__restrict __timeout,
1115:       const __sigset_t *__restrict __sigmask);
1115: # 150 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/select2.h" 3 4
1115: extern long int __fdelt_chk (long int __d);
1115: extern long int __fdelt_warn (long int __d)
1115:   __attribute__((__warning__ ("bit outside of fd_set selected")));
1115: # 151 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4
1115: 
1115: 
1115: }
1115: # 180 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __blksize_t blksize_t;
1115: # 205 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1115: typedef __blkcnt64_t blkcnt_t;
1115: 
1115: 
1115: 
1115: typedef __fsblkcnt64_t fsblkcnt_t;
1115: 
1115: 
1115: 
1115: typedef __fsfilcnt64_t fsfilcnt_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __blkcnt64_t blkcnt64_t;
1115: typedef __fsblkcnt64_t fsblkcnt64_t;
1115: typedef __fsfilcnt64_t fsfilcnt64_t;
1115: # 230 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4
1115: }
1115: # 396 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int random (void) noexcept (true);
1115: 
1115: 
1115: extern void srandom (unsigned int __seed) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *initstate (unsigned int __seed, char *__statebuf,
1115:    size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: struct random_data
1115:   {
1115:     int32_t *fptr;
1115:     int32_t *rptr;
1115:     int32_t *state;
1115:     int rand_type;
1115:     int rand_deg;
1115:     int r4: 
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iter_type
1434:       _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
1434:          string&) const;
1434: 
1434:       template<typename _ValueT>
1434:  __attribute ((__abi_tag__ ("cxx11")))
1434:  iter_type
1434:  _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
1434:          _ValueT&) const;
1434: 
1434:       template<typename _CharT2>
1434:       typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
1434:  _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
1434:  {
1434:    int __ret = -1;
1434:    if (__len <= 10)
1434:      {
1434:        if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
1434:   __ret = __c - _CharT2('0');
1434:      }
1434:    else
1434:      {
1434:        if (__c >= _CharT2('0') && __c <= _CharT2('9'))
1434:   __ret = __c - _CharT2('0');
1434:        else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
1434:   __ret = 10 + (__c - _CharT2('a'));
1434:        else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
1434:   __ret = 10 + (__c - _CharT2('A'));
1434:      }
1434:    return __ret;
1434:  }
1434: 
1434:       template<typename _CharT2>
1434:       typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
1434:           int>::__type
1434:  _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
1434:  {
1434:    int __ret = -1;
1434:    const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
1434:    if (__q)
1434:      {
1434:        __ret = __q - __zero;
1434:        if (__ret > 15)
1434:   __ret -= 6;
1434:      }
1434:    return __ret;
1434:  }
1434: # 2219 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual iter_type
1434:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:       ios_base::iostate& __err, long& __v) const
1434:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:       ios_base::iostate& __err, unsigned short& __v) const
1434:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:       ios_base::iostate& __err, unsigned int& __v) const
1434:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:       ios_base::iostate& __err, unsigned long& __v) const
1434:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1434: 
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:       ios_base::iostate& __err, long long& __v) const
1434:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:       ios_base::iostate& __err, unsigned long long& __v) const
1434:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1434: 
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const;
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1434:       double&) const;
1434: # 2271 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual iter_type
1434:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1434:       long double&) const;
1434: 
1434: 
1434:       virtual iter_type
1434:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const;
1434: # 2299 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:     };
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     locale::id num_get<_CharT, _InIter>::id;
1434: # 2317 "/usr/inclu       bool
1417:       operator!=(const regex_iterator& __rhs) const noexcept
1417:       { return !(*this == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417:       const value_type&
1417:       operator*() const noexcept
1417:       { return _M_match; }
1417: 
1417: 
1417: 
1417: 
1417:       const value_type*
1417:       operator->() const noexcept
1417:       { return &_M_match; }
1417: 
1417: 
1417: 
1417: 
1417:       regex_iterator&
1417:       operator++();
1417: 
1417: 
1417: 
1417: 
1417:       regex_iterator
1417:       operator++(int)
1417:       {
1417:  auto __tmp = *this;
1417:  ++(*this);
1417:  return __tmp;
1417:       }
1417: 
1417:     private:
1417:       _Bi_iter _M_begin {};
1417:       _Bi_iter _M_end {};
1417:       const regex_type* _M_pregex = nullptr;
1417:       regex_constants::match_flag_type _M_flags {};
1417:       match_results<_Bi_iter> _M_match;
1417:     };
1417: 
1417:   typedef regex_iterator<const char*> cregex_iterator;
1417:   typedef regex_iterator<string::const_iterator> sregex_iterator;
1417: 
1417:   typedef regex_iterator<const wchar_t*> wcregex_iterator;
1417:   typedef regex_iterator<wstring::const_iterator> wsregex_iterator;
1417: # 2783 "/usr/include/c++/12/bits/regex.h" 3
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type = typename iterator_traits<_Bi_iter>::value_type,
1417:     typename _Rx_traits = regex_traits<_Ch_type> >
1417:     class regex_token_iterator
1417:     {
1417:     public:
1417:       typedef basic_regex<_Ch_type, _Rx_traits> regex_type;
1417:       typedef sub_match<_Bi_iter> value_type;
1417:       typedef std::ptrdiff_t difference_type;
1417:       typedef const value_type* pointer;
1417:       typedef const value_type& reference;
1417:       typedef std::forward_iterator_tag iterator_category;
1417: 
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       regex_token_iterator()
1417:       : _M_position(), _M_subs(), _M_suffix(), _M_n(0), _M_result(nullptr),
1417:       _M_has_m1(false)
1417:       { }
1417: # 2826 "/usr/include/c++/12/bits/regex.h" 3
1417:       regex_token_iterator(_Bi_iter __a, _Bi_iter __b, const regex_type& __re,
1417:       int __submatch = 0,
1417:       regex_constants::match_flag_type __m
1417:       = regex_constants::match_default)
1417:       : _M_position(__a, __b, __re, __m), _M_subs(1, __submatch), _M_n(0)
1417:       { _M_init(__a, __b); }
1417: # 2842 "/usr/include/c++/12/bits/regex.h" 3
1417:       regex_token_iterator(_Bi_iter __a, _Bi_iter __b,
1417:       const regex_type& __re,
1417:       const std::vector<int>& __submatches,
1417:       regex_constants::match_flag_type __m
1417:         = regex_constants::match_default)
1417:       : _M_position(__a, __b, __re, __m), _M_subs(__submatches), _M_n(0)
1417:       { _M_init(__a, __b); }
1417: # 2859 "/usr/include/c++/12/bits/regex.h" 3
1417:       regex_token_iterator(_Bi_iter __a, _Bi_iter __b,
1417:       const regex_type& __re,
1417:       initializer_list<int> __submatches,
1417:       regex_constants::match_flag_type __m
1417:         = regex_constants::match_default)
1417:       : _M_position(__a, __b, __re, __m), _M_subs(__submatches), _M_n(0)
1417:       { _M_init(__a, __b); }
1417: # 2876 "/usr/include/c++/12/bits/regex.h" 3
1417:       template<std::size_t _Nm>
1417:  regex_token_iterator(_Bi_iter __a, _Bi_iter __b,
1417:         const regex_type& __re,
1417:         const int (&__submatches)[_Nm],
1417:         regex_constants::match_flag_type __m
1417:         = regex_constants::match_default)
1417:       : _M_position(__a, __b, __re, __m),
1417:       _M_subs(__submatches, __submatches + _Nm), _M_n(0)
1417:       { _M_init(__a, __b); }
1417: 
1417: 
1417: 
1417:       regex_token_iterator(_Bi_iter, _Bi_iter, const regex_type&&, int = 0,
1417:       regex_constants::match_flag_type =
1417:       regex_constants::match_default) = delete;
1417:       regex_token_iterator(_Bi_iter, _Bi_iter, const regex_type&&,
1417:       const std::vector<int>&,
1417:       regex_constants::match_flag_type =
1417:       regex_constants:de/c++/12/bits/locale_facets.h" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     class num_put : public locale::facet
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _OutIter iter_type;
1434: 
1434: 
1434: 
1434:       static locale::id id;
1434: # 2338 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       explicit
1434:       num_put(size_t __refs = 0) : facet(__refs) { }
1434: # 2356 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: # 2398 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: 
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill,
1434:    unsigned long __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: 
1434: 
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: 
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill,
1434:    unsigned long long __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: # 2461 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: 
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill,
1434:    long double __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: # 2486 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill,
1434:    const void* __v) const
1434:       { return this->do_put(__s, __io, __fill, __v); }
1434: 
1434:     protected:
1434:       template<typename _ValueT>
1434:  iter_type
1434:  _M_insert_float(iter_type, ios_base& __io, char_type __fill,
1434:    char __mod, _ValueT __v) const;
1434: 
1434:       void
1434:       _M_group_float(const char* __grouping, size_t __grouping_size,
1434:        char_type __sep, const char_type* __p, char_type* __new,
1434:        char_type* __cs, int& __len) const;
1434: 
1434:       template<typename _ValueT>
1434:  iter_type
1434:  _M_insert_int(iter_type, ios_base& __io, char_type __fill,
1434:         _ValueT __v) const;
1434: 
1434:       void
1434:       _M_group_int(const char* __grouping, size_t __grouping_size,
1434:      char_type __sep, ios_base& __io, char_type* __new,
1434:      char_type* __cs, int& __len) const;
1434: 
1434:       void
1434:       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
1434:       char_type* __new, const char_type* __cs, int& __len) const;
1434: 
1434: 
1434:       virtual
1434:       ~num_put() { }
1434: # 2534 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:       virtual iter_type
1434:       do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const;
1434: 
1434:       virtual iter_type
1434:       do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
1434:       { return _M_insert_int(__s, __io, __fill, __v); }
1434: 
1434:       virtual iter_type
1434:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1434:       unsigned long __v) const
1434:       { return _M_insert_int(__s, __io, __fill, __v); }
1434: 
1434: 
1434:       virtual iter_type
1434:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1434:       long long __v) const
1434:       { return _M_insert_int(__s, __io, __fill, __v); }
1434: 
1434:       virtual iter_type
1434:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1434:       unsigned long long __v) const
1434:       { return _M_insert_int(__s, __io, __fill, __v); }and_sep;
1115:     int32_t *end_ptr;
1115:   };
1115: 
1115: extern int random_r (struct random_data *__restrict __buf,
1115:        int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern int srandom_r (unsigned int __seed, struct random_data *__buf)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
1115:    size_t __statelen,
1115:    struct random_data *__restrict __buf)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
1115: 
1115: extern int setstate_r (char *__restrict __statebuf,
1115:          struct random_data *__restrict __buf)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int rand (void) noexcept (true);
1115: 
1115: extern void srand (unsigned int __seed) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int rand_r (unsigned int *__seed) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double drand48 (void) noexcept (true);
1115: extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern long int lrand48 (void) noexcept (true);
1115: extern long int nrand48 (unsigned short int __xsubi[3])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern long int mrand48 (void) noexcept (true);
1115: extern long int jrand48 (unsigned short int __xsubi[3])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern void srand48 (long int __seedval) noexcept (true);
1115: extern unsigned short int *seed48 (unsigned short int __seed16v[3])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: struct drand48_data
1115:   {
1115:     unsigned short int __x[3];
1115:     unsigned short int __old_x[3];
1115:     unsigned short int __c;
1115:     unsigned short int __init;
1115:     __extension__ unsigned long long int __a;
1115: 
1115:   };
1115: 
1115: 
1115: extern int drand48_r (struct drand48_data *__restrict __buffer,
1115:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: extern int erand48_r (unsigned short int __xsubi[3],
1115:         struct drand48_data *__restrict __buffer,
1115:         double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int lrand48_r (struct drand48_data *__restrict __buffer,
1115:         long int *__restrict __result)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: extern int nrand48_r (unsigned short int __xsubi[3],
1115:         struct drand48_data *__restrict __buffer,
1115:         long int *__restrict __result)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int mrand48_r (struct drand48_data *__restrict __buffer,
1115:         long int *__restrict __result)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: extern int jrand48_r (unsigned short int __xsubi[3],
1115:         struct drand48_data *__restrict __buffer,
1115:         long int *__restrict __result)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: extern int seed48_r (unsigned short int __seed16v[3],
1115:        struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern int lcong48_r (unsigned short int __param[7],
1115:         struct drand48_data *__buffer)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern __uint32_t arc4random (void)
1115:      noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: extern 
1434: 
1434: 
1434:       virtual iter_type
1434:       do_put(iter_type, ios_base&, char_type, double) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       virtual iter_type
1434:       do_put(iter_type, ios_base&, char_type, long double) const;
1434: 
1434: 
1434:       virtual iter_type
1434:       do_put(iter_type, ios_base&, char_type, const void*) const;
1434: # 2586 "/usr/include/c++/12/bits/locale_facets.h" 3
1434:     };
1434: 
1434:   template <typename _CharT, typename _OutIter>
1434:     locale::id num_put<_CharT, _OutIter>::id;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isspace(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isprint(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     iscntrl(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isupper(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     islower(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isalpha(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isdigit(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     ispunct(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isxdigit(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isalnum(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isgraph(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline bool
1434:     isblank(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::blank, __c); }
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline _CharT
1434:     toupper(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     inline _CharT
1434:     tolower(_CharT __c, const locale& __loc)
1434:     { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
1434: 
1434: 
1434: }
1434: 
1434: # 1 "/usr/include/c++/12/bits/locale_facets.tcc" 1 3
1434: # 33 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Facet>
1434:     struct __use_cache
1434:     {
1434:       const _Facet*
1434:       operator() (const locale& __loc) const;
1434:     };
1434: 
1434: 
1434:   template<typename _CharT>
1434:     struct __use_cache<__numpunct_cache<_CharT> >
1434:     {
1434:       const __numpunct_cache<_CharT>*
1434::match_default) = delete;
1417:       regex_token_iterator(_Bi_iter, _Bi_iter, const regex_type&&,
1417:       initializer_list<int>,
1417:       regex_constants::match_flag_type =
1417:       regex_constants::match_default) = delete;
1417:       template <std::size_t _Nm>
1417:  regex_token_iterator(_Bi_iter, _Bi_iter, const regex_type&&,
1417:         const int (&)[_Nm],
1417:         regex_constants::match_flag_type =
1417:         regex_constants::match_default) = delete;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       regex_token_iterator(const regex_token_iterator& __rhs)
1417:       : _M_position(__rhs._M_position), _M_subs(__rhs._M_subs),
1417:       _M_suffix(__rhs._M_suffix), _M_n(__rhs._M_n), _M_has_m1(__rhs._M_has_m1)
1417:       { _M_normalize_result(); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       regex_token_iterator&
1417:       operator=(const regex_token_iterator& __rhs);
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       operator==(const regex_token_iterator& __rhs) const;
1417: 
1417: 
1417: 
1417: 
1417:       bool
1417:       operator!=(const regex_token_iterator& __rhs) const
1417:       { return !(*this == __rhs); }
1417: 
1417: 
1417: 
1417: 
1417:       const value_type&
1417:       operator*() const
1417:       { return *_M_result; }
1417: 
1417: 
1417: 
1417: 
1417:       const value_type*
1417:       operator->() const
1417:       { return _M_result; }
1417: 
1417: 
1417: 
1417: 
1417:       regex_token_iterator&
1417:       operator++();
1417: 
1417: 
1417: 
1417: 
1417:       regex_token_iterator
1417:       operator++(int)
1417:       {
1417:  auto __tmp = *this;
1417:  ++(*this);
1417:  return __tmp;
1417:       }
1417: 
1417:     private:
1417:       typedef regex_iterator<_Bi_iter, _Ch_type, _Rx_traits> _Position;
1417: 
1417:       void
1417:       _M_init(_Bi_iter __a, _Bi_iter __b);
1417: 
1417:       const value_type&
1417:       _M_current_match() const
1417:       {
1417:  if (_M_subs[_M_n] == -1)
1417:    return (*_M_position).prefix();
1417:  else
1417:    return (*_M_position)[_M_subs[_M_n]];
1417:       }
1417: 
1417:       constexpr bool
1417:       _M_end_of_seq() const
1417:       { return _M_result == nullptr; }
1417: 
1417: 
1417:       void
1417:       _M_normalize_result()
1417:       {
1417:  if (_M_position != _Position())
1417:    _M_result = &_M_current_match();
1417:  else if (_M_has_m1)
1417:    _M_result = &_M_suffix;
1417:  else
1417:    _M_result = nullptr;
1417:       }
1417: 
1417:       _Position _M_position;
1417:       std::vector<int> _M_subs;
1417:       value_type _M_suffix;
1417:       std::size_t _M_n;
1417:       const value_type* _M_result;
1417: 
1417: 
1417:       bool _M_has_m1;
1417:     };
1417: 
1417: 
1417:   typedef regex_token_iterator<const char*> cregex_token_iterator;
1417: 
1417: 
1417:   typedef regex_token_iterator<string::const_iterator> sregex_token_iterator;
1417: 
1417: 
1417: 
1417:   typedef regex_token_iterator<const wchar_t*> wcregex_token_iterator;
1417: 
1417: 
1417:   typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
1417: 
1417: 
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/regex.tcc" 1 3
1417: # 31 "/usr/include/c++/12/bits/regex.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417: # 45 "/usr/include/c++/12/bits/regex.tcc" 3
1417:   template<typename _BiIter, typename _Alloc,
1417:     typename _CharT, typename _TraitsT>
1417:     bool
1417:     __regex_algo_impl(_BiIter __s,
1417:         _BiIter __e,
1417:         match_results<_BiIter, _Alloc>& __m,
1417:         const basic_regex<_CharT, _TraitsT>& __re,
1417:         regex_constants::match_flag_type __flags,
1417:         _RegexExecutorPolicy __policy,
1417:         bool __match_mode)
1417:     {
1417:       if (__re._M_automaton == nullptr)
1417:  return false;
1417: 
1417:       typename match_results<_BiIter, _Alloc>::_Unchecked& __res = __m;
1417:       __m._M_begin = __s;
1417:       __m._M_resize(__re._M_automato       operator() (const locale& __loc) const
1434:       {
1434:  const size_t __i = numpunct<_CharT>::id._M_id();
1434:  const locale::facet** __caches = __loc._M_impl->_M_caches;
1434:  if (!__caches[__i])
1434:    {
1434:      __numpunct_cache<_CharT>* __tmp = 0;
1434:      try
1434:        {
1434:   __tmp = new __numpunct_cache<_CharT>;
1434:   __tmp->_M_cache(__loc);
1434:        }
1434:      catch(...)
1434:        {
1434:   delete __tmp;
1434:   throw;
1434:        }
1434:      __loc._M_impl->_M_install_cache(__tmp, __i);
1434:    }
1434:  return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
1434:       }
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     void
1434:     __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
1434:     {
1434:       const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
1434: 
1434:       char* __grouping = 0;
1434:       _CharT* __truename = 0;
1434:       _CharT* __falsename = 0;
1434:       try
1434:  {
1434:    const string& __g = __np.grouping();
1434:    _M_grouping_size = __g.size();
1434:    __grouping = new char[_M_grouping_size];
1434:    __g.copy(__grouping, _M_grouping_size);
1434:    _M_use_grouping = (_M_grouping_size
1434:         && static_cast<signed char>(__grouping[0]) > 0
1434:         && (__grouping[0]
1434:      != __gnu_cxx::__numeric_traits<char>::__max));
1434: 
1434:    const basic_string<_CharT>& __tn = __np.truename();
1434:    _M_truename_size = __tn.size();
1434:    __truename = new _CharT[_M_truename_size];
1434:    __tn.copy(__truename, _M_truename_size);
1434: 
1434:    const basic_string<_CharT>& __fn = __np.falsename();
1434:    _M_falsename_size = __fn.size();
1434:    __falsename = new _CharT[_M_falsename_size];
1434:    __fn.copy(__falsename, _M_falsename_size);
1434: 
1434:    _M_decimal_point = __np.decimal_point();
1434:    _M_thousands_sep = __np.thousands_sep();
1434: 
1434:    const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
1434:    __ct.widen(__num_base::_S_atoms_out,
1434:        __num_base::_S_atoms_out
1434:        + __num_base::_S_oend, _M_atoms_out);
1434:    __ct.widen(__num_base::_S_atoms_in,
1434:        __num_base::_S_atoms_in
1434:        + __num_base::_S_iend, _M_atoms_in);
1434: 
1434:    _M_grouping = __grouping;
1434:    _M_truename = __truename;
1434:    _M_falsename = __falsename;
1434:    _M_allocated = true;
1434:  }
1434:       catch(...)
1434:  {
1434:    delete [] __grouping;
1434:    delete [] __truename;
1434:    delete [] __falsename;
1434:    throw;
1434:  }
1434:     }
1434: # 139 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:   __attribute__ ((__pure__)) bool
1434:   __verify_grouping(const char* __grouping, size_t __grouping_size,
1434:       const string& __grouping_tmp) throw ();
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     __attribute ((__abi_tag__ ("cxx11")))
1434:     _InIter
1434:     num_get<_CharT, _InIter>::
1434:     _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
1434:        ios_base::iostate& __err, string& __xtrc) const
1434:     {
1434:       typedef char_traits<_CharT> __traits_type;
1434:       typedef __numpunct_cache<_CharT> __cache_type;
1434:       __use_cache<__cache_type> __uc;
1434:       const locale& __loc = __io._M_getloc();
1434:       const __cache_type* __lc = __uc(__loc);
1434:       const _CharT* __lit = __lc->_M_atoms_in;
1434:       char_type __c = char_type();
1434: 
1434: 
1434:       bool __testeof = __beg == __end;
1434: 
1434: 
1434:       if (!__testeof)
1434:  {
1434:    __c = *__beg;
1434:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1434:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1434:        && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1434:        && !(__c == __lc->_M_decimal_point))
1434:      {
1434:        __xtrc += __plus ? '+' : '-';
1434:        if (++__beg != __end)
1434:   __c = *__beg;
1434:        else
1434:   __testeof = true;
1434:      }
1434:  }
1434: 
1434: 
1434:       bool __found_mantissa = favoid arc4random_buf (void *__buf, size_t __size)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
1115:      noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1115:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: extern void *calloc (size_t __nmemb, size_t __size)
1115:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void *realloc (void *__ptr, size_t __size)
1115:      noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2)));
1115: 
1115: 
1115: extern void free (void *__ptr) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1115:      noexcept (true) __attribute__ ((__warn_unused_result__))
1115:      __attribute__ ((__alloc_size__ (2, 3)))
1115:     __attribute__ ((__malloc__ (__builtin_free, 1)));
1115: 
1115: 
1115: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
1115:      noexcept (true) __attribute__ ((__malloc__ (reallocarray, 1)));
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/alloca.h" 1 3 4
1115: # 24 "/usr/include/alloca.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 25 "/usr/include/alloca.h" 2 3 4
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void *alloca (size_t __size) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 588 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
1115:      __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern void *aligned_alloc (size_t __alignment, size_t __size)
1115:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
1115:      __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern void abort (void) noexcept (true) __attribute__ ((__noreturn__));
1115: 
1115: 
1115: 
1115: extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" int at_quick_exit (void (*__func) (void))
1115:      noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
1115: # 630 "/usr/include/stdlib.h" 3 4
1115: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
1115: 
1115: 
1115: 
1115: 
1115: extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern char *secure_getenv (const char *__name)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int setenv (const char *__name, const char *__value, int __replalse;
1434:       int __sep_pos = 0;
1434:       while (!__testeof)
1434:  {
1434:    if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1434:        || __c == __lc->_M_decimal_point)
1434:      break;
1434:    else if (__c == __lit[__num_base::_S_izero])
1434:      {
1434:        if (!__found_mantissa)
1434:   {
1434:     __xtrc += '0';
1434:     __found_mantissa = true;
1434:   }
1434:        ++__sep_pos;
1434: 
1434:        if (++__beg != __end)
1434:   __c = *__beg;
1434:        else
1434:   __testeof = true;
1434:      }
1434:    else
1434:      break;
1434:  }
1434: 
1434: 
1434:       bool __found_dec = false;
1434:       bool __found_sci = false;
1434:       string __found_grouping;
1434:       if (__lc->_M_use_grouping)
1434:  __found_grouping.reserve(32);
1434:       const char_type* __lit_zero = __lit + __num_base::_S_izero;
1434: 
1434:       if (!__lc->_M_allocated)
1434: 
1434:  while (!__testeof)
1434:    {
1434:      const int __digit = _M_find(__lit_zero, 10, __c);
1434:      if (__digit != -1)
1434:        {
1434:   __xtrc += '0' + __digit;
1434:   __found_mantissa = true;
1434:        }
1434:      else if (__c == __lc->_M_decimal_point
1434:        && !__found_dec && !__found_sci)
1434:        {
1434:   __xtrc += '.';
1434:   __found_dec = true;
1434:        }
1434:      else if ((__c == __lit[__num_base::_S_ie]
1434:         || __c == __lit[__num_base::_S_iE])
1434:        && !__found_sci && __found_mantissa)
1434:        {
1434: 
1434:   __xtrc += 'e';
1434:   __found_sci = true;
1434: 
1434: 
1434:   if (++__beg != __end)
1434:     {
1434:       __c = *__beg;
1434:       const bool __plus = __c == __lit[__num_base::_S_iplus];
1434:       if (__plus || __c == __lit[__num_base::_S_iminus])
1434:         __xtrc += __plus ? '+' : '-';
1434:       else
1434:         continue;
1434:     }
1434:   else
1434:     {
1434:       __testeof = true;
1434:       break;
1434:     }
1434:        }
1434:      else
1434:        break;
1434: 
1434:      if (++__beg != __end)
1434:        __c = *__beg;
1434:      else
1434:        __testeof = true;
1434:    }
1434:       else
1434:  while (!__testeof)
1434:    {
1434: 
1434: 
1434:      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1434:        {
1434:   if (!__found_dec && !__found_sci)
1434:     {
1434: 
1434: 
1434:       if (__sep_pos)
1434:         {
1434:    __found_grouping += static_cast<char>(__sep_pos);
1434:    __sep_pos = 0;
1434:         }
1434:       else
1434:         {
1434: 
1434: 
1434:    __xtrc.clear();
1434:    break;
1434:         }
1434:     }
1434:   else
1434:     break;
1434:        }
1434:      else if (__c == __lc->_M_decimal_point)
1434:        {
1434:   if (!__found_dec && !__found_sci)
1434:     {
1434: 
1434: 
1434: 
1434:       if (__found_grouping.size())
1434:         __found_grouping += static_cast<char>(__sep_pos);
1434:       __xtrc += '.';
1434:       __found_dec = true;
1434:     }
1434:   else
1434:     break;
1434:        }
1434:      else
1434:        {
1434:   const char_type* __q =
1434:     __traits_type::find(__lit_zero, 10, __c);
1434:   if (__q)
1434:     {
1434:       __xtrc += '0' + (__q - __lit_zero);
1434:       __found_mantissa = true;
1434:       ++__sep_pos;
1434:     }
1434:   else if ((__c == __lit[__num_base::_S_ie]
1434:      || __c == __lit[__num_base::_S_iE])
1434:     && !__found_sci && __found_mantissa)
1434:     {
1434: 
1434:       if (__found_grouping.size() && !__found_dec)
1434:         __found_grouping += static_cast<char>(__sep_pos);
1434:       __xtrc += 'e';
1434:       __found_sci = true;
1434: 
1434: 
1434:       if (++__beg != __end)
1434:         {
1434:    __c = *__beg;
1434:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1434:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1434:        && !(__lc->_M_use_grouping
1434:      && __c == __lc->_M_thousands_sep)
1434:        && !(__c == __lc->_M_decimal_point))
1434:         __xtrc += __plus ? '+' : '-';
1434:    else
1434:      continue;
1434:         }
1434:       else
1434:         {
1434:    __testeof = true;
1434:    break;
1434:         }
1434:     }
1434:   else
1434:     break;
1434:        }
1434: 
1434:      if (++__beg != __end)
1434:        __c = *__beg;
1434:      else
1434:        __testeof = true;
1434:    }
1434: 
1434: 
1434: 
1434:       if (__found_grouping.size())
1434:         {
1434: 
1434:    if (!__found_dec && !__found_sci)
1434:      __found_grouping += static_cast<char>(__sep_pos);
1434: 
1434:           if (!std::__verify_grouping(__lc->_M_grouping,
1434:           __lc->_M_grouping_size,
1434:           __found_grouping))
1434:      __err = ios_base::failbit;
1434:         }
1434: 
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     template<typename _ValueT>
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       _InIter
1434:       num_get<_CharT, _InIter>::
1434:       _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
1434:        ios_base::iostate& __err, _ValueT& __v) const
1434:       {
1434:         typedef char_traits<_CharT> __traits_type;
1434:  using __gnu_cxx::__add_unsigned;
1434:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1434:  typedef __numpunct_cache<_CharT> __cache_type;
1434:  __use_cache<__cache_type> __uc;
1434:  const locale& __loc = __io._M_getloc();
1434:  const __cache_type* __lc = __uc(__loc);
1434:  const _CharT* __lit = __lc->_M_atoms_in;
1434:  char_type __c = char_type();
1434: 
1434: 
1434:  const ios_base::fmtflags __basefield = __io.flags()
1434:                                         & ios_base::basefield;
1434:  const bool __oct = __basefield == ios_base::oct;
1434:  int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
1434: 
1434: 
1434:  bool __testeof = __beg == __end;
1434: 
1434: 
1434:  bool __negative = false;
1434:  if (!__testeof)
1434:    {
1434:      __c = *__beg;
1434:      __negative = __c == __lit[__num_base::_S_iminus];
1434:      if ((__negative || __c == __lit[__num_base::_S_iplus])
1434:   && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1434:   && !(__c == __lc->_M_decimal_point))
1434:        {
1434:   if (++__beg != __end)
1434:     __c = *__beg;
1434:   else
1434:     __testeof = true;
1434:        }
1434:    }
1434: 
1434: 
1434: 
1434:  bool __found_zero = false;
1434:  int __sep_pos = 0;
1434:  while (!__testeof)
1434:    {
1434:      if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1434:   || __c == __lc->_M_decimal_point)
1434:        break;
1434:      else if (__c == __lit[__num_base::_S_izero]
1434:        && (!__found_zero || __base == 10))
1434:        {
1434:   __found_zero = true;
1434:   ++__sep_pos;
1434:   if (__basefield == 0)
1434:     __base = 8;
1434:   if (__base == 8)
1434:     __sep_pos = 0;
1434:        }
1434:      else if (__found_zero
1434:        && (__c == __lit[__num_base::_S_ix]
1434:     || __c == __lit[__num_base::_S_iX]))
1434:        {
1434:   if (__basefield == 0)
1434:     __base = 16;
1434:   if (__base == 16)
1434:     {
1434:       __found_zero = false;
1434:       __sep_pos = 0;
1434:     }
1434:   else
1434:     break;
1434:        }
1434:      else
1434:        break;
1434: 
1434:      if (++__beg != __end)
1434:        {
1434:   __c = *__beg;
1434:   if (!__found_zero)
1434:     break;
1434:        }
1434:      else
1434:        __testeof = true;
1434:    }
1434: 
1434: 
1434: 
1434:  const size_t __len = (__base == 16 ? __num_base::_S_iend
1434:          - __num_base::_S_izero : __base);
1434: 
1434: 
1434:  typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits;
1434:  string __found_grouping;
1434:  if (__lc->_M_use_grouping)
1434:    __found_grouping.reserve(32);
1434:  bool __testfail = false;
1434:  bool __testoverflow = false;
1434:  const __unsigned_type __max =
1434:    (__negative && __num_traits::__is_signed)
1434:    ? -static_cast<__unsigned_type>(__num_traits::__min)
1434:    : __num_traits::__max;
1434:  const __unsigned_type __smax = __max / __base;
1434:  __unsigned_type __result = 0;
1434:  int __digit = 0;
1434:  const char_type* __lit_zero n->_M_sub_count());
1417: 
1417:       bool __ret;
1417:       if ((__re.flags() & regex_constants::__polynomial)
1417:    || (__policy == _RegexExecutorPolicy::_S_alternate
1417:        && !__re._M_automaton->_M_has_backref))
1417:  {
1417:    _Executor<_BiIter, _Alloc, _TraitsT, false>
1417:      __executor(__s, __e, __res, __re, __flags);
1417:    if (__match_mode)
1417:      __ret = __executor._M_match();
1417:    else
1417:      __ret = __executor._M_search();
1417:  }
1417:       else
1417:  {
1417:    _Executor<_BiIter, _Alloc, _TraitsT, true>
1417:      __executor(__s, __e, __res, __re, __flags);
1417:    if (__match_mode)
1417:      __ret = __executor._M_match();
1417:    else
1417:      __ret = __executor._M_search();
1417:  }
1417:       if (__ret)
1417:  {
1417:    for (auto& __it : __res)
1417:      if (!__it.matched)
1417:        __it.first = __it.second = __e;
1417:    auto& __pre = __m._M_prefix();
1417:    auto& __suf = __m._M_suffix();
1417:    if (__match_mode)
1417:      {
1417:        __pre.matched = false;
1417:        __pre.first = __s;
1417:        __pre.second = __s;
1417:        __suf.matched = false;
1417:        __suf.first = __e;
1417:        __suf.second = __e;
1417:      }
1417:    else
1417:      {
1417:        __pre.first = __s;
1417:        __pre.second = __res[0].first;
1417:        __pre.matched = (__pre.first != __pre.second);
1417:        __suf.first = __res[0].second;
1417:        __suf.second = __e;
1417:        __suf.matched = (__suf.first != __suf.second);
1417:      }
1417:  }
1417:       else
1417:  {
1417:    __m._M_establish_failed_match(__e);
1417:  }
1417:       return __ret;
1417:     }
1417: 
1417: }
1417: 
1417: 
1417: 
1417:   template<typename _Ch_type>
1417:   template<typename _Fwd_iter>
1417:     typename regex_traits<_Ch_type>::string_type
1417:     regex_traits<_Ch_type>::
1417:     lookup_collatename(_Fwd_iter __first, _Fwd_iter __last) const
1417:     {
1417:       typedef std::ctype<char_type> __ctype_type;
1417:       const __ctype_type& __fctyp(use_facet<__ctype_type>(_M_locale));
1417: 
1417:       static const char* __collatenames[] =
1417:  {
1417:    "NUL",
1417:    "SOH",
1417:    "STX",
1417:    "ETX",
1417:    "EOT",
1417:    "ENQ",
1417:    "ACK",
1417:    "alert",
1417:    "backspace",
1417:    "tab",
1417:    "newline",
1417:    "vertical-tab",
1417:    "form-feed",
1417:    "carriage-return",
1417:    "SO",
1417:    "SI",
1417:    "DLE",
1417:    "DC1",
1417:    "DC2",
1417:    "DC3",
1417:    "DC4",
1417:    "NAK",
1417:    "SYN",
1417:    "ETB",
1417:    "CAN",
1417:    "EM",
1417:    "SUB",
1417:    "ESC",
1417:    "IS4",
1417:    "IS3",
1417:    "IS2",
1417:    "IS1",
1417:    "space",
1417:    "exclamation-mark",
1417:    "quotation-mark",
1417:    "number-sign",
1417:    "dollar-sign",
1417:    "percent-sign",
1417:    "ampersand",
1417:    "apostrophe",
1417:    "left-parenthesis",
1417:    "right-parenthesis",
1417:    "asterisk",
1417:    "plus-sign",
1417:    "comma",
1417:    "hyphen",
1417:    "period",
1417:    "slash",
1417:    "zero",
1417:    "one",
1417:    "two",
1417:    "three",
1417:    "four",
1417:    "five",
1417:    "six",
1417:    "seven",
1417:    "eight",
1417:    "nine",
1417:    "colon",
1417:    "semicolon",
1417:    "less-than-sign",
1417:    "equals-sign",
1417:    "greater-than-sign",
1417:    "question-mark",
1417:    "commercial-at",
1417:    "A",
1417:    "B",
1417:    "C",
1417:    "D",
1417:    "E",
1417:    "F",
1417:    "G",
1417:    "H",
1417:    "I",
1417:    "J",
1417:    "K",
1417:    "L",
1417:    "M",
1417:    "N",
1417:    "O",
1417:    "P",
1417:    "Q",
1417:    "R",
1417:    "S",
1417:    "T",
1417:    "U",
1417:    "V",
1417:    "W",
1417:    "X",
1417:    "Y",
1417:    "Z",
1417:    "left-square-bracket",
1417:    "backslash",
1417:    "right-square-bracket",
1417:    "circumflex",
1417:    "underscore",
1417:    "grave-accent",
1417:    "a",
1417:    "b",
1417:    "c",
1417:    "d",
1417:    "e",
1417:    "f",
1417:    "g",
1417:    "h",
1417:    "i",
1417:    "j",
1417:    "k",
1417:    "l",
14= __lit + __num_base::_S_izero;
1434: 
1434:  if (!__lc->_M_allocated)
1434: 
1434:    while (!__testeof)
1434:      {
1434:        __digit = _M_find(__lit_zero, __len, __c);
1434:        if (__digit == -1)
1434:   break;
1434: 
1434:        if (__result > __smax)
1434:   __testoverflow = true;
1434:        else
1434:   {
1434:     __result *= __base;
1434:     __testoverflow |= __result > __max - __digit;
1434:     __result += __digit;
1434:     ++__sep_pos;
1434:   }
1434: 
1434:        if (++__beg != __end)
1434:   __c = *__beg;
1434:        else
1434:   __testeof = true;
1434:      }
1434:  else
1434:    while (!__testeof)
1434:      {
1434: 
1434: 
1434:        if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1434:   {
1434: 
1434: 
1434:     if (__sep_pos)
1434:       {
1434:         __found_grouping += static_cast<char>(__sep_pos);
1434:         __sep_pos = 0;
1434:       }
1434:     else
1434:       {
1434:         __testfail = true;
1434:         break;
1434:       }
1434:   }
1434:        else if (__c == __lc->_M_decimal_point)
1434:   break;
1434:        else
1434:   {
1434:     const char_type* __q =
1434:       __traits_type::find(__lit_zero, __len, __c);
1434:     if (!__q)
1434:       break;
1434: 
1434:     __digit = __q - __lit_zero;
1434:     if (__digit > 15)
1434:       __digit -= 6;
1434:     if (__result > __smax)
1434:       __testoverflow = true;
1434:     else
1434:       {
1434:         __result *= __base;
1434:         __testoverflow |= __result > __max - __digit;
1434:         __result += __digit;
1434:         ++__sep_pos;
1434:       }
1434:   }
1434: 
1434:        if (++__beg != __end)
1434:   __c = *__beg;
1434:        else
1434:   __testeof = true;
1434:      }
1434: 
1434: 
1434: 
1434:  if (__found_grouping.size())
1434:    {
1434: 
1434:      __found_grouping += static_cast<char>(__sep_pos);
1434: 
1434:      if (!std::__verify_grouping(__lc->_M_grouping,
1434:      __lc->_M_grouping_size,
1434:      __found_grouping))
1434:        __err = ios_base::failbit;
1434:    }
1434: 
1434: 
1434: 
1434:  if ((!__sep_pos && !__found_zero && !__found_grouping.size())
1434:      || __testfail)
1434:    {
1434:      __v = 0;
1434:      __err = ios_base::failbit;
1434:    }
1434:  else if (__testoverflow)
1434:    {
1434:      if (__negative && __num_traits::__is_signed)
1434:        __v = __num_traits::__min;
1434:      else
1434:        __v = __num_traits::__max;
1434:      __err = ios_base::failbit;
1434:    }
1434:  else
1434:    __v = __negative ? -__result : __result;
1434: 
1434:  if (__testeof)
1434:    __err |= ios_base::eofbit;
1434:  return __beg;
1434:       }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     num_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:            ios_base::iostate& __err, bool& __v) const
1434:     {
1434:       if (!(__io.flags() & ios_base::boolalpha))
1434:         {
1434: 
1434: 
1434: 
1434:    long __l = -1;
1434:           __beg = _M_extract_int(__beg, __end, __io, __err, __l);
1434:    if (__l == 0 || __l == 1)
1434:      __v = bool(__l);
1434:    else
1434:      {
1434: 
1434: 
1434:        __v = true;
1434:        __err = ios_base::failbit;
1434:        if (__beg == __end)
1434:   __err |= ios_base::eofbit;
1434:      }
1434:         }
1434:       else
1434:         {
1434: 
1434:    typedef __numpunct_cache<_CharT> __cache_type;
1434:    __use_cache<__cache_type> __uc;
1434:    const locale& __loc = __io._M_getloc();
1434:    const __cache_type* __lc = __uc(__loc);
1434: 
1434:    bool __testf = true;
1434:    bool __testt = true;
1434:    bool __donef = __lc->_M_falsename_size == 0;
1434:    bool __donet = __lc->_M_truename_size == 0;
1434:    bool __testeof = false;
1434:    size_t __n = 0;
1434:    while (!__donef || !__donet)
1434:      {
1434:        if (__beg == __end)
1434:   {
1434:     __testeof = true;
1434:     break;
1434:   }
1434: 
1434:        const char_type __c = *__beg;
1434: 
1434:        if (!__donef)
1434:   __testf = __c ce)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int clearenv (void) noexcept (true);
1115: # 695 "/usr/include/stdlib.h" 3 4
1115: extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 711 "/usr/include/stdlib.h" 3 4
1115: extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: # 733 "/usr/include/stdlib.h" 3 4
1115: extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64")
1115:                      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mkstemps64 (char *__template, int __suffixlen)
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: # 751 "/usr/include/stdlib.h" 3 4
1115: extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: # 765 "/usr/include/stdlib.h" 3 4
1115: extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64")
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: # 786 "/usr/include/stdlib.h" 3 4
1115: extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64")
1115: 
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: # 804 "/usr/include/stdlib.h" 3 4
1115: extern int system (const char *__command) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *canonicalize_file_name (const char *__name)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
1115:      __attribute__ ((__malloc__ (__builtin_free, 1))) __attribute__ ((__warn_unused_result__));
1115: # 821 "/usr/include/stdlib.h" 3 4
1115: extern char *realpath (const char *__restrict __name,
1115:          char *__restrict __resolved) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef int (*__compar_fn_t) (const void *, const void *);
1115: 
1115: 
1115: typedef __compar_fn_t comparison_fn_t;
1115: 
1115: 
1115: 
1115: typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
1115: 
1115: 
1115: 
1115: 
1115: extern void *bsearch (const void *__key, const void *__base,
1115:         size_t __nmemb, size_t __size, __compar_fn_t __compar)
1115:      __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 1 3 4
1115: # 19 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 3 4
1115: extern __inline __attribute__ ((__gnu_inline__)) void *
1115: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
1115:   __compar_fn_t __compar)
1115: {
1115:   size_t __l, __u, __idx;
1115:   const void *__p;
1115:   int __comparison;
1115: 
1115:   __l = 0;
1115:   __u = __nmemb;
1115:   while (__l < __u)
1115:     {
1115:       __idx = (__l + __u) / 2;
1115:       __p = (const void *) (((const char *) __base) + (__idx * __size));
1115:       __comparison = (*__compar) (__key, __p);
1115:       if (__comparison < 0)
1115:  __u = __idx;
1115:       else if (__comparison > 0)
1115: == __lc->_M_falsename[__n];
1434: 
1434:        if (!__testf && __donet)
1434:   break;
1434: 
1434:        if (!__donet)
1434:   __testt = __c == __lc->_M_truename[__n];
1434: 
1434:        if (!__testt && __donef)
1434:   break;
1434: 
1434:        if (!__testt && !__testf)
1434:   break;
1434: 
1434:        ++__n;
1434:        ++__beg;
1434: 
1434:        __donef = !__testf || __n >= __lc->_M_falsename_size;
1434:        __donet = !__testt || __n >= __lc->_M_truename_size;
1434:      }
1434:    if (__testf && __n == __lc->_M_falsename_size && __n)
1434:      {
1434:        __v = false;
1434:        if (__testt && __n == __lc->_M_truename_size)
1434:   __err = ios_base::failbit;
1434:        else
1434:   __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1434:      }
1434:    else if (__testt && __n == __lc->_M_truename_size && __n)
1434:      {
1434:        __v = true;
1434:        __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1434:      }
1434:    else
1434:      {
1434: 
1434: 
1434:        __v = false;
1434:        __err = ios_base::failbit;
1434:        if (__testeof)
1434:   __err |= ios_base::eofbit;
1434:      }
1434:  }
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     num_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:     ios_base::iostate& __err, float& __v) const
1434:     {
1434:       string __xtrc;
1434:       __xtrc.reserve(32);
1434:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1434:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     num_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:            ios_base::iostate& __err, double& __v) const
1434:     {
1434:       string __xtrc;
1434:       __xtrc.reserve(32);
1434:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1434:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: # 735 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     num_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:            ios_base::iostate& __err, long double& __v) const
1434:     {
1434:       string __xtrc;
1434:       __xtrc.reserve(32);
1434:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1434:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     num_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:            ios_base::iostate& __err, void*& __v) const
1434:     {
1434: 
1434:       typedef ios_base::fmtflags fmtflags;
1434:       const fmtflags __fmt = __io.flags();
1434:       __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex);
1434: 
1434:       typedef __gnu_cxx::__conditional_type<(sizeof(void*)
1434:           <= sizeof(unsigned long)),
1434:  unsigned long, unsigned long long>::__type _UIntPtrType;
1434: 
1434:       _UIntPtrType __ul;
1434:       __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
1434: 
1434: 
1434:       __io.flags(__fmt);
1434: 
1434:       __v = reinterpret_cast<void*>(__ul);
1434:       return __beg;
1434:     }
1434: # 795 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     void
1434:     num_put<_CharT, _OutIter>::
1434:     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
1434:     _CharT* __new, const _CharT* __cs17:    "m",
1417:    "n",
1417:    "o",
1417:    "p",
1417:    "q",
1417:    "r",
1417:    "s",
1417:    "t",
1417:    "u",
1417:    "v",
1417:    "w",
1417:    "x",
1417:    "y",
1417:    "z",
1417:    "left-curly-bracket",
1417:    "vertical-line",
1417:    "right-curly-bracket",
1417:    "tilde",
1417:    "DEL",
1417:  };
1417: 
1417:       string __s;
1417:       for (; __first != __last; ++__first)
1417:  __s += __fctyp.narrow(*__first, 0);
1417: 
1417:       for (const auto& __it : __collatenames)
1417:  if (__s == __it)
1417:    return string_type(1, __fctyp.widen(
1417:      static_cast<char>(&__it - __collatenames)));
1417: 
1417: 
1417: 
1417: 
1417:       return string_type();
1417:     }
1417: 
1417:   template<typename _Ch_type>
1417:   template<typename _Fwd_iter>
1417:     typename regex_traits<_Ch_type>::char_class_type
1417:     regex_traits<_Ch_type>::
1417:     lookup_classname(_Fwd_iter __first, _Fwd_iter __last, bool __icase) const
1417:     {
1417:       typedef std::ctype<char_type> __ctype_type;
1417:       const __ctype_type& __fctyp(use_facet<__ctype_type>(_M_locale));
1417: 
1417: 
1417:       static const pair<const char*, char_class_type> __classnames[] =
1417:       {
1417:  {"d", ctype_base::digit},
1417:  {"w", {ctype_base::alnum, _RegexMask::_S_under}},
1417:  {"s", ctype_base::space},
1417:  {"alnum", ctype_base::alnum},
1417:  {"alpha", ctype_base::alpha},
1417:  {"blank", ctype_base::blank},
1417:  {"cntrl", ctype_base::cntrl},
1417:  {"digit", ctype_base::digit},
1417:  {"graph", ctype_base::graph},
1417:  {"lower", ctype_base::lower},
1417:  {"print", ctype_base::print},
1417:  {"punct", ctype_base::punct},
1417:  {"space", ctype_base::space},
1417:  {"upper", ctype_base::upper},
1417:  {"xdigit", ctype_base::xdigit},
1417:       };
1417: 
1417:       string __s;
1417:       for (; __first != __last; ++__first)
1417:  __s += __fctyp.narrow(__fctyp.tolower(*__first), 0);
1417: 
1417:       for (const auto& __it : __classnames)
1417:  if (__s == __it.first)
1417:    {
1417:      if (__icase
1417:   && ((__it.second
1417:        & (ctype_base::lower | ctype_base::upper)) != 0))
1417:        return ctype_base::alpha;
1417:      return __it.second;
1417:    }
1417:       return 0;
1417:     }
1417: 
1417:   template<typename _Ch_type>
1417:     bool
1417:     regex_traits<_Ch_type>::
1417:     isctype(_Ch_type __c, char_class_type __f) const
1417:     {
1417:       typedef std::ctype<char_type> __ctype_type;
1417:       const __ctype_type& __fctyp(use_facet<__ctype_type>(_M_locale));
1417: 
1417:       return __fctyp.is(__f._M_base, __c)
1417: 
1417:  || ((__f._M_extended & _RegexMask::_S_under)
1417:      && __c == __fctyp.widen('_'));
1417:     }
1417: 
1417:   template<typename _Ch_type>
1417:     int
1417:     regex_traits<_Ch_type>::
1417:     value(_Ch_type __ch, int __radix) const
1417:     {
1417:       std::basic_istringstream<char_type> __is(string_type(1, __ch));
1417:       long __v;
1417:       if (__radix == 8)
1417:  __is >> std::oct;
1417:       else if (__radix == 16)
1417:  __is >> std::hex;
1417:       __is >> __v;
1417:       return __is.fail() ? -1 : __v;
1417:     }
1417: 
1417:   template<typename _Bi_iter, typename _Alloc>
1417:   template<typename _Out_iter>
1417:     _Out_iter
1417:     match_results<_Bi_iter, _Alloc>::
1417:     format(_Out_iter __out,
1417:     const match_results<_Bi_iter, _Alloc>::char_type* __fmt_first,
1417:     const match_results<_Bi_iter, _Alloc>::char_type* __fmt_last,
1417:     match_flag_type __flags) const
1417:     {
1417:       do { if (std::__is_constant_evaluated() && !bool(ready())) __builtin_unreachable(); } while (false);
1417:       regex_traits<char_type> __traits;
1417:       typedef std::ctype<char_type> __ctype_type;
1417:       const __ctype_type&
1417:  __fctyp(use_facet<__ctype_type>(__traits.getloc()));
1417: 
1417:       auto __output = [&](size_t __idx)
1417:  {
1417:    auto& __sub = (*this)[__idx];
1417:    if (__sub.matched)
1417:      __out = std::copy(__sub.first, __sub.second, __out);
1417:  };
1417: 
1417:    __l = __idx + 1;
1115:       else
1115:  {
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wcast-qual"
1115: 
1115:    return (void *) __p;
1115: 
1115: #pragma GCC diagnostic pop
1115: 
1115:  }
1115:     }
1115: 
1115:   return __null;
1115: }
1115: # 847 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: extern void qsort (void *__base, size_t __nmemb, size_t __size,
1115:      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
1115: 
1115: extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
1115:        __compar_d_fn_t __compar, void *__arg)
1115:   __attribute__ ((__nonnull__ (1, 4)));
1115: 
1115: 
1115: 
1115: 
1115: extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1115: extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: __extension__ extern long long int llabs (long long int __x)
1115:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern div_t div (int __numer, int __denom)
1115:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1115: extern ldiv_t ldiv (long int __numer, long int __denom)
1115:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: __extension__ extern lldiv_t lldiv (long long int __numer,
1115:         long long int __denom)
1115:      noexcept (true) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
1115: # 893 "/usr/include/stdlib.h" 3 4
1115: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
1115:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
1115:      int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern char *gcvt (double __value, int __ndigit, char *__buf)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern char *qecvt (long double __value, int __ndigit,
1115:       int *__restrict __decpt, int *__restrict __sign)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1115: extern char *qfcvt (long double __value, int __ndigit,
1115:       int *__restrict __decpt, int *__restrict __sign)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
1115: extern char *qgcvt (long double __value, int __ndigit, char *__buf)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
1115:      int *__restrict __sign, char *__restrict __buf,
1115:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1115: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
1115:      int *__restrict __sign, char *__restrict __buf,
1115:      size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1115: 
1115: extern int qecvt_r (long double __value, int __ndigit,
1115:       int *__restrict __decpt, int *__restrict __sign,
1115:       char *__restrict __buf, size_t __len)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1115: extern int qfcvt_r (long double __value, int __ndigit,
1115:       int *__restrict __decpt, int *__restrict __sign,
1115:       char *__restrict __buf, size_t __len)
1115:      noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mblen (const char *__s, size_t __n) noexcept (true);
1115:, int& __len) const
1434:     {
1434: 
1434: 
1434:       __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new,
1434:         __cs, __w, __len);
1434:       __len = static_cast<int>(__w);
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _ValueT>
1434:     int
1434:     __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
1434:     ios_base::fmtflags __flags, bool __dec)
1434:     {
1434:       _CharT* __buf = __bufend;
1434:       if (__builtin_expect(__dec, true))
1434:  {
1434: 
1434:    do
1434:      {
1434:        *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
1434:        __v /= 10;
1434:      }
1434:    while (__v != 0);
1434:  }
1434:       else if ((__flags & ios_base::basefield) == ios_base::oct)
1434:  {
1434: 
1434:    do
1434:      {
1434:        *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
1434:        __v >>= 3;
1434:      }
1434:    while (__v != 0);
1434:  }
1434:       else
1434:  {
1434: 
1434:    const bool __uppercase = __flags & ios_base::uppercase;
1434:    const int __case_offset = __uppercase ? __num_base::_S_oudigits
1434:                                          : __num_base::_S_odigits;
1434:    do
1434:      {
1434:        *--__buf = __lit[(__v & 0xf) + __case_offset];
1434:        __v >>= 4;
1434:      }
1434:    while (__v != 0);
1434:  }
1434:       return __bufend - __buf;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     void
1434:     num_put<_CharT, _OutIter>::
1434:     _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
1434:    ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
1434:     {
1434:       _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
1434:      __grouping_size, __cs, __cs + __len);
1434:       __len = __p - __new;
1434:     }
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     template<typename _ValueT>
1434:       _OutIter
1434:       num_put<_CharT, _OutIter>::
1434:       _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
1434:       _ValueT __v) const
1434:       {
1434:  using __gnu_cxx::__add_unsigned;
1434:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1434:  typedef __numpunct_cache<_CharT> __cache_type;
1434:  __use_cache<__cache_type> __uc;
1434:  const locale& __loc = __io._M_getloc();
1434:  const __cache_type* __lc = __uc(__loc);
1434:  const _CharT* __lit = __lc->_M_atoms_out;
1434:  const ios_base::fmtflags __flags = __io.flags();
1434: 
1434: 
1434:  const int __ilen = 5 * sizeof(_ValueT);
1434:  _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:             * __ilen));
1434: 
1434: 
1434: 
1434:  const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
1434:  const bool __dec = (__basefield != ios_base::oct
1434:        && __basefield != ios_base::hex);
1434:  const __unsigned_type __u = ((__v > 0 || !__dec)
1434:          ? __unsigned_type(__v)
1434:          : -__unsigned_type(__v));
1434:   int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
1434:  __cs += __ilen - __len;
1434: 
1434: 
1434:  if (__lc->_M_use_grouping)
1434:    {
1434: 
1434: 
1434:      _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:           * (__len + 1)
1434:           * 2));
1434:      _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
1434:     __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
1434:      __cs = __cs2 + 2;
1434:    }
1434: 
1434: 
1434:  if (__builtin_expect(__dec, true))
1434:    {
1434: 
1434:      if (__v >= 0)
1434:        {
1434:   if (bool(__flags & ios_base::showpos)
1434:       && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
1434:     *--__cs = __lit[__num_base::_S_oplus], ++__len;
1434:        }
1434:      else
1434:        *--__cs = __lit[__num_base::_S_ominus], ++__len;
1434:    }
1434:  else if (bool(__flags & ios_base::showbase) && __v)
1434:    {
1434:      if (__basefield == ios_base::oct)
1434:        *--__cs = __lit[__num_base::_S_odigits], ++__len;
1434:      else
1434:        {
1434: 
1434:   const bool __uppercase = __flags & ios_base::uppercase;
1434:   *--__cs = __lit[__num_base::_S_ox + __uppercase];
1434: 
1434:   *--__cs = __lit[__num_base::_S_odigits];
1434:   __len += 2;
1434:        }
1434:    }
1434: 
1434: 
1434:  const streamsize __w = __io.width();
1434:  if (__w > static_cast<streamsize>(__len))
1434:    {
1434:      _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:           * __w));
1434:      _M_pad(__fill, __w, __io, __cs3, __cs, __len);
1434:      __cs = __cs3;
1434:    }
1434:  __io.width(0);
1434: 
1434: 
1434: 
1434:  return std::__write(__s, __cs, __len);
1434:       }
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     void
1434:     num_put<_CharT, _OutIter>::
1434:     _M_group_float(const char* __grouping, size_t __grouping_size,
1434:      _CharT __sep, const _CharT* __p, _CharT* __new,
1434:      _CharT* __cs, int& __len) const
1434:     {
1434: 
1434: 
1434: 
1434:       const int __declen = __p ? __p - __cs : __len;
1434:       _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
1434:       __grouping_size,
1434:       __cs, __cs + __declen);
1434: 
1434: 
1434:       int __newlen = __p2 - __new;
1434:       if (__p)
1434:  {
1434:    char_traits<_CharT>::copy(__p2, __p, __len - __declen);
1434:    __newlen += __len - __declen;
1434:  }
1434:       __len = __newlen;
1434:     }
1434: # 989 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     template<typename _ValueT>
1434:       _OutIter
1434:       num_put<_CharT, _OutIter>::
1434:       _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
1434:          _ValueT __v) const
1434:       {
1434:  typedef __numpunct_cache<_CharT> __cache_type;
1434:  __use_cache<__cache_type> __uc;
1434:  const locale& __loc = __io._M_getloc();
1434:  const __cache_type* __lc = __uc(__loc);
1434: 
1434: 
1434:  const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
1434: 
1434:  const int __max_digits =
1434:    __gnu_cxx::__numeric_traits<_ValueT>::__digits10;
1434: 
1434: 
1434:  int __len;
1434: 
1434:  char __fbuf[16];
1434:  __num_base::_S_format_float(__io, __fbuf, __mod);
1434: 
1434: 
1434: 
1434:  const bool __use_prec =
1434:    (__io.flags() & ios_base::floatfield) != ios_base::floatfield;
1434: 
1434: 
1434: 
1434:  int __cs_size = __max_digits * 3;
1434:  char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1434:  if (__use_prec)
1434:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1434:      __fbuf, __prec, __v);
1434:  else
1434:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1434:      __fbuf, __v);
1434: 
1434: 
1434:  if (__len >= __cs_size)
1434:    {
1434:      __cs_size = __len + 1;
1434:      __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1434:      if (__use_prec)
1434:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1434:          __fbuf, __prec, __v);
1434:      else
1434:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1434:          __fbuf, __v);
1434:    }
1434: # 1062 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:  _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:             * __len));
1434:  __ctype.widen(__cs, __cs + __len, __ws);
1434: 
1434: 
1434:  _CharT* __wp = 0;
1434:  const char* __p = char_traits<char>::find(__cs, __len, '.');
1434:  if (__p)
1434:    {
1434:      __wp = __ws + (__p - __cs);
1434:      *__wp = __lc->_M_decimal_point;
1434:    }
1434: 
1434: 
1434: 
1434: 
1434:  if (__lc->_M_use_grouping
1434:      && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
1434:           && __cs[1] >= '0' && __cs[2] >= '0')))
1434:    {
1434: 
1434: 
1434:      _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:           * __len * 2));
1434: 
1434:      streamsize __off = 0;
    if (__flags & regex_constants::format_sed)
1417:  {
1417:    bool __escaping = false;
1417:    for (; __fmt_first != __fmt_last; __fmt_first++)
1417:      {
1417:        if (__escaping)
1417:   {
1417:     __escaping = false;
1417:     if (__fctyp.is(__ctype_type::digit, *__fmt_first))
1417:       __output(__traits.value(*__fmt_first, 10));
1417:     else
1417:       *__out++ = *__fmt_first;
1417:     continue;
1417:   }
1417:        if (*__fmt_first == '\\')
1417:   {
1417:     __escaping = true;
1417:     continue;
1417:   }
1417:        if (*__fmt_first == '&')
1417:   {
1417:     __output(0);
1417:     continue;
1417:   }
1417:        *__out++ = *__fmt_first;
1417:      }
1417:    if (__escaping)
1417:      *__out++ = '\\';
1417:  }
1417:       else
1417:  {
1417:    while (1)
1417:      {
1417:        auto __next = std::find(__fmt_first, __fmt_last, '$');
1417:        if (__next == __fmt_last)
1417:   break;
1417: 
1417:        __out = std::copy(__fmt_first, __next, __out);
1417: 
1417:        auto __eat = [&](char __ch) -> bool
1417:   {
1417:     if (*__next == __ch)
1417:       {
1417:         ++__next;
1417:         return true;
1417:       }
1417:     return false;
1417:   };
1417: 
1417:        if (++__next == __fmt_last)
1417:   *__out++ = '$';
1417:        else if (__eat('$'))
1417:   *__out++ = '$';
1417:        else if (__eat('&'))
1417:   __output(0);
1417:        else if (__eat('`'))
1417:   {
1417:     auto& __sub = _M_prefix();
1417:     if (__sub.matched)
1417:       __out = std::copy(__sub.first, __sub.second, __out);
1417:   }
1417:        else if (__eat('\''))
1417:   {
1417:     auto& __sub = _M_suffix();
1417:     if (__sub.matched)
1417:       __out = std::copy(__sub.first, __sub.second, __out);
1417:   }
1417:        else if (__fctyp.is(__ctype_type::digit, *__next))
1417:   {
1417:     long __num = __traits.value(*__next, 10);
1417:     if (++__next != __fmt_last
1417:         && __fctyp.is(__ctype_type::digit, *__next))
1417:       {
1417:         __num *= 10;
1417:         __num += __traits.value(*__next++, 10);
1417:       }
1417:     if (0 <= __num && __num < this->size())
1417:       __output(__num);
1417:   }
1417:        else
1417:   *__out++ = '$';
1417:        __fmt_first = __next;
1417:      }
1417:    __out = std::copy(__fmt_first, __fmt_last, __out);
1417:  }
1417:       return __out;
1417:     }
1417: 
1417:   template<typename _Out_iter, typename _Bi_iter,
1417:     typename _Rx_traits, typename _Ch_type>
1417:     _Out_iter
1417:     __regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last,
1417:       const basic_regex<_Ch_type, _Rx_traits>& __e,
1417:       const _Ch_type* __fmt, size_t __len,
1417:       regex_constants::match_flag_type __flags)
1417:     {
1417:       typedef regex_iterator<_Bi_iter, _Ch_type, _Rx_traits> _IterT;
1417:       _IterT __i(__first, __last, __e, __flags);
1417:       _IterT __end;
1417:       if (__i == __end)
1417:  {
1417:    if (!(__flags & regex_constants::format_no_copy))
1417:      __out = std::copy(__first, __last, __out);
1417:  }
1417:       else
1417:  {
1417:    sub_match<_Bi_iter> __last;
1417:    for (; __i != __end; ++__i)
1417:      {
1417:        if (!(__flags & regex_constants::format_no_copy))
1417:   __out = std::copy(__i->prefix().first, __i->prefix().second,
1417:       __out);
1417:        __out = __i->format(__out, __fmt, __fmt + __len, __flags);
1417:        __last = __i->suffix();
1417:        if (__flags & regex_constants::format_first_only)
1417:   break;
1417:      }
1417:    if (!(__flags & regex_constants::format_no_copy))
1417:      __out = std::copy(__last.first, __last.second, __out);
1417:  }
1417:       return __out;
1417:     }
1417: 
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type,
1417:     typename _Rx_traits>
1417:     bool
1417:     regex_iterator<_Bi_iter, _Ch_type, _Rx_traits>::
1417:     operator==(const regex_iterator& __rhs) const noexcept
1417:     {
1417:       if (_M_pregex == nullptr && __rhs._M_pregex == nullptr)
1417:  return true;
1417:       return _M_pregex == __ 
1115: 
1115: extern int mbtowc (wchar_t *__restrict __pwc,
1115:      const char *__restrict __s, size_t __n) noexcept (true);
1115: 
1115: 
1115: extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
1115: 
1115: 
1115: 
1115: extern size_t mbstowcs (wchar_t *__restrict __pwcs,
1115:    const char *__restrict __s, size_t __n) noexcept (true)
1115:     __attribute__ ((__access__ (__read_only__, 2)));
1115: 
1115: extern size_t wcstombs (char *__restrict __s,
1115:    const wchar_t *__restrict __pwcs, size_t __n)
1115:      noexcept (true)
1115:   __attribute__ ((__access__ (__write_only__, 1, 3)))
1115:   __attribute__ ((__access__ (__read_only__, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: # 980 "/usr/include/stdlib.h" 3 4
1115: extern int getsubopt (char **__restrict __optionp,
1115:         char *const *__restrict __tokens,
1115:         char **__restrict __valuep)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int grantpt (int __fd) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int unlockpt (int __fd) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern char *ptsname (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: 
1115: 
1115: extern int getpt (void);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getloadavg (double __loadavg[], int __nelem)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 1036 "/usr/include/stdlib.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 3 4
1115: extern __inline __attribute__ ((__gnu_inline__)) double
1115: __attribute__ ((__leaf__)) atof (const char *__nptr) noexcept (true)
1115: {
1115:   return strtod (__nptr, (char **) __null);
1115: }
1115: # 1037 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/stdlib.h" 3 4
1115: extern char *__realpath_chk (const char *__restrict __name,
1115:         char *__restrict __resolved,
1115:         size_t __resolvedlen) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) noexcept (true) __asm__ ("" "realpath")
1115: 
1115:                                                  __attribute__ ((__warn_unused_result__));
1115: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) noexcept (true) __asm__ ("" "__realpath_chk")
1115: 
1115: 
1115:                                                 __attribute__ ((__warn_unused_result__))
1115:      __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
1115:                                       ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
1115: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) noexcept (true)
1115: {
1115:   size_t sz = __builtin_object_size (__resolved, 2 > 1);
1115: 
1115:   if (sz == (size_t) -1)
1115:     return __realpath_alias (__name, __resolved);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   return __realpath_chk (__name, __resolved, sz);
1115: }
1115: 
1115: 
1115: extern int1434:      if (__cs[0] == '-' || __cs[0] == '+')
1434:        {
1434:   __off = 1;
1434:   __ws2[0] = __ws[0];
1434:   __len -= 1;
1434:        }
1434: 
1434:      _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
1434:       __lc->_M_thousands_sep, __wp, __ws2 + __off,
1434:       __ws + __off, __len);
1434:      __len += __off;
1434: 
1434:      __ws = __ws2;
1434:    }
1434: 
1434: 
1434:  const streamsize __w = __io.width();
1434:  if (__w > static_cast<streamsize>(__len))
1434:    {
1434:      _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:           * __w));
1434:      _M_pad(__fill, __w, __io, __ws3, __ws, __len);
1434:      __ws = __ws3;
1434:    }
1434:  __io.width(0);
1434: 
1434: 
1434: 
1434:  return std::__write(__s, __ws, __len);
1434:       }
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     num_put<_CharT, _OutIter>::
1434:     do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1434:     {
1434:       const ios_base::fmtflags __flags = __io.flags();
1434:       if ((__flags & ios_base::boolalpha) == 0)
1434:         {
1434:           const long __l = __v;
1434:           __s = _M_insert_int(__s, __io, __fill, __l);
1434:         }
1434:       else
1434:         {
1434:    typedef __numpunct_cache<_CharT> __cache_type;
1434:    __use_cache<__cache_type> __uc;
1434:    const locale& __loc = __io._M_getloc();
1434:    const __cache_type* __lc = __uc(__loc);
1434: 
1434:    const _CharT* __name = __v ? __lc->_M_truename
1434:                               : __lc->_M_falsename;
1434:    int __len = __v ? __lc->_M_truename_size
1434:                    : __lc->_M_falsename_size;
1434: 
1434:    const streamsize __w = __io.width();
1434:    if (__w > static_cast<streamsize>(__len))
1434:      {
1434:        const streamsize __plen = __w - __len;
1434:        _CharT* __ps
1434:   = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1434:        * __plen));
1434: 
1434:        char_traits<_CharT>::assign(__ps, __plen, __fill);
1434:        __io.width(0);
1434: 
1434:        if ((__flags & ios_base::adjustfield) == ios_base::left)
1434:   {
1434:     __s = std::__write(__s, __name, __len);
1434:     __s = std::__write(__s, __ps, __plen);
1434:   }
1434:        else
1434:   {
1434:     __s = std::__write(__s, __ps, __plen);
1434:     __s = std::__write(__s, __name, __len);
1434:   }
1434:        return __s;
1434:      }
1434:    __io.width(0);
1434:    __s = std::__write(__s, __name, __len);
1434:  }
1434:       return __s;
1434:     }
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     num_put<_CharT, _OutIter>::
1434:     do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1434:     { return _M_insert_float(__s, __io, __fill, char(), __v); }
1434: # 1187 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     num_put<_CharT, _OutIter>::
1434:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1434:     long double __v) const
1434:     { return _M_insert_float(__s, __io, __fill, 'L', __v); }
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     num_put<_CharT, _OutIter>::
1434:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1434:            const void* __v) const
1434:     {
1434:       const ios_base::fmtflags __flags = __io.flags();
1434:       const ios_base::fmtflags __fmt = ~(ios_base::basefield
1434:       | ios_base::uppercase);
1434:       __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase));
1434: 
1434:       typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
1434:           <= sizeof(unsigned long)),
1434:  unsigned long, unsigned long long>::__type _UIntPtrType;
1434: 
1434:       __s = _M_insert_int(__s, __io, __fill,
1434:      reinterpret_cast<_UIntPtrType>(__v));
1434:       __io.flags(__flags);
1434:       return __s;
1434:     }
1434: # 1224 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434: 
1434: # 1233 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1434:   template<typename _CharT, typename _Traits>
1434:     void
1434:     __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
1434:        _CharT* __news, const _CharT* __olds,
1434:        streamsize __newlen, streamsize __oldlen)
1434:     {
1434:       const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
1434:       const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
1434: 
1434: 
1434:       if (__adjust == ios_base::left)
1434:  {
1434:    _Traits::copy(__news, __olds, __oldlen);
1434:    _Traits::assign(__news + __oldlen, __plen, __fill);
1434:    return;
1434:  }
1434: 
1434:       size_t __mod = 0;
1434:       if (__adjust == ios_base::internal)
1434:  {
1434: 
1434: 
1434: 
1434:           const locale& __loc = __io._M_getloc();
1434:    const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:    if (__ctype.widen('-') == __olds[0]
1434:        || __ctype.widen('+') == __olds[0])
1434:      {
1434:        __news[0] = __olds[0];
1434:        __mod = 1;
1434:        ++__news;
1434:      }
1434:    else if (__ctype.widen('0') == __olds[0]
1434:      && __oldlen > 1
1434:      && (__ctype.widen('x') == __olds[1]
1434:          || __ctype.widen('X') == __olds[1]))
1434:      {
1434:        __news[0] = __olds[0];
1434:        __news[1] = __olds[1];
1434:        __mod = 2;
1434:        __news += 2;
1434:      }
1434: 
1434:  }
1434:       _Traits::assign(__news, __plen, __fill);
1434:       _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     _CharT*
1434:     __add_grouping(_CharT* __s, _CharT __sep,
1434:      const char* __gbeg, size_t __gsize,
1434:      const _CharT* __first, const _CharT* __last)
1434:     {
1434:       size_t __idx = 0;
1434:       size_t __ctr = 0;
1434: 
1434:       while (__last - __first > __gbeg[__idx]
1434:       && static_cast<signed char>(__gbeg[__idx]) > 0
1434:       && __gbeg[__idx] != __gnu_cxx::__numeric_traits<char>::__max)
1434:  {
1434:    __last -= __gbeg[__idx];
1434:    __idx < __gsize - 1 ? ++__idx : ++__ctr;
1434:  }
1434: 
1434:       while (__first != __last)
1434:  *__s++ = *__first++;
1434: 
1434:       while (__ctr--)
1434:  {
1434:    *__s++ = __sep;
1434:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1434:      *__s++ = *__first++;
1434:  }
1434: 
1434:       while (__idx--)
1434:  {
1434:    *__s++ = __sep;
1434:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1434:      *__s++ = *__first++;
1434:  }
1434: 
1434:       return __s;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template class __cxx11:: numpunct<char>;
1434:   extern template class __cxx11:: numpunct_byname<char>;
1434:   extern template class num_get<char>;
1434:   extern template class num_put<char>;
1434:   extern template class ctype_byname<char>;
1434: 
1434:   extern template
1434:     const ctype<char>&
1434:     use_facet<ctype<char> >(const locale&);
1434: 
1434:   extern template
1434:     const numpunct<char>&
1434:     use_facet<numpunct<char> >(const locale&);
1434: 
1434:   extern template
1434:     const num_put<char>&
1434:     use_facet<num_put<char> >(const locale&);
1434: 
1434:   extern template
1434:     const num_get<char>&
1434:     use_facet<num_get<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<ctype<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<numpunct<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<num_put<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<num_get<char> >(const locale&);
1434: 
1434: 
1434:   extern template class __cxx11:: numpunct<wchar_t>;
1434:   extern template class __cxx11:: numpunct_byname<wchar_t>;
1434:   extern template class num_get<wchar_t>;
1434:   extern template class num_put<wchar_t>;
1434:   extern template class ctype_byname<wchar_t>;
1434: 
1434:   extern temrhs._M_pregex
1417:    && _M_begin == __rhs._M_begin
1417:    && _M_end == __rhs._M_end
1417:    && _M_flags == __rhs._M_flags
1417:    && _M_match[0] == __rhs._M_match[0];
1417:     }
1417: 
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type,
1417:     typename _Rx_traits>
1417:     regex_iterator<_Bi_iter, _Ch_type, _Rx_traits>&
1417:     regex_iterator<_Bi_iter, _Ch_type, _Rx_traits>::
1417:     operator++()
1417:     {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       if (_M_match[0].matched)
1417:  {
1417:    auto __start = _M_match[0].second;
1417:    auto __prefix_first = _M_match[0].second;
1417:    if (_M_match[0].first == _M_match[0].second)
1417:      {
1417:        if (__start == _M_end)
1417:   {
1417:     _M_pregex = nullptr;
1417:     return *this;
1417:   }
1417:        else
1417:   {
1417:     if (regex_search(__start, _M_end, _M_match, *_M_pregex,
1417:        _M_flags
1417:        | regex_constants::match_not_null
1417:        | regex_constants::match_continuous))
1417:       {
1417:         do { if (std::__is_constant_evaluated() && !bool(_M_match[0].matched)) __builtin_unreachable(); } while (false);
1417:         auto& __prefix = _M_match._M_prefix();
1417:         __prefix.first = __prefix_first;
1417:         __prefix.matched = __prefix.first != __prefix.second;
1417: 
1417:         _M_match._M_begin = _M_begin;
1417:         return *this;
1417:       }
1417:     else
1417:       ++__start;
1417:   }
1417:      }
1417:    _M_flags |= regex_constants::match_prev_avail;
1417:    if (regex_search(__start, _M_end, _M_match, *_M_pregex, _M_flags))
1417:      {
1417:        do { if (std::__is_constant_evaluated() && !bool(_M_match[0].matched)) __builtin_unreachable(); } while (false);
1417:        auto& __prefix = _M_match._M_prefix();
1417:        __prefix.first = __prefix_first;
1417:        __prefix.matched = __prefix.first != __prefix.second;
1417: 
1417:        _M_match._M_begin = _M_begin;
1417:      }
1417:    else
1417:      _M_pregex = nullptr;
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type,
1417:     typename _Rx_traits>
1417:     regex_token_iterator<_Bi_iter, _Ch_type, _Rx_traits>&
1417:     regex_token_iterator<_Bi_iter, _Ch_type, _Rx_traits>::
1417:     operator=(const regex_token_iterator& __rhs)
1417:     {
1417:       _M_position = __rhs._M_position;
1417:       _M_subs = __rhs._M_subs;
1417:       _M_n = __rhs._M_n;
1417:       _M_suffix = __rhs._M_suffix;
1417:       _M_has_m1 = __rhs._M_has_m1;
1417:       _M_normalize_result();
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type,
1417:     typename _Rx_traits>
1417:     bool
1417:     regex_token_iterator<_Bi_iter, _Ch_type, _Rx_traits>::
1417:     operator==(const regex_token_iterator& __rhs) const
1417:     {
1417:       if (_M_end_of_seq() && __rhs._M_end_of_seq())
1417:  return true;
1417:       if (_M_suffix.matched && __rhs._M_suffix.matched
1417:    && _M_suffix == __rhs._M_suffix)
1417:  return true;
1417:       if (_M_end_of_seq() || _M_suffix.matched
1417:    || __rhs._M_end_of_seq() || __rhs._M_suffix.matched)
1417:  return false;
1417:       return _M_position == __rhs._M_position
1417:  && _M_n == __rhs._M_n
1417:  && _M_subs == __rhs._M_subs;
1417:     }
1417: 
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type,
1417:     typename _Rx_traits>
1417:     regex_token_iterator<_Bi_iter, _Ch_type, _Rx_traits>&
1417:     regex_token_iterator<_Bi_iter, _Ch_type, _Rx_traits>::
1417:     operator++()
1417:     {
1417:       _Position __prev = _M_position;
1417:       if (_M_suffix.matched)
1417:  *this = regex_token_iterator();
1417:       else if (_M_n + 1 < _M_subs.size())
1417:  {
1417:    _M_n++;
1417:    _M_result = &_M_current_match();
1417:  }
1417:       else
1417:  {
1417:    _M_n = 0;
1417:    ++_M_position;
1417:    if (_M_position != _Position())
1417:      _M_result = &_M_current_match();
1417:    else if (_M_has_m1 && __prev->suffix().length() != 0)
1417:     __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
1115:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2)))
1115:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ptsname_r")
1115: 
1115:      __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ptsname_r_chk")
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
1115:                    ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                            ;
1115: }
1115: 
1115: 
1115: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
1115:   noexcept (true) __attribute__ ((__warn_unused_result__));
1115: extern int __wctomb_alias (char *__s, wchar_t __wchar) noexcept (true) __asm__ ("" "wctomb")
1115:               __attribute__ ((__warn_unused_result__));
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
1115: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) noexcept (true)
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1
1115:       && 16 > __builtin_object_size (__s, 2 > 1))
1115:     return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
1115:   return __wctomb_alias (__s, __wchar);
1115: }
1115: 
1115: 
1115: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
1115:          const char *__restrict __src,
1115:          size_t __len, size_t __dstlen) noexcept (true)
1115:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1115: extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1115: 
1115: 
1115: 
1115:     __attribute__ ((__access__ (__read_only__, 2)));
1115: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "mbstowcs")
1115: 
1115: 
1115: 
1115:     __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1115: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__mbstowcs_chk")
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
1115:                         ;
1115: 
1115: exterplate
1434:     const ctype<wchar_t>&
1434:     use_facet<ctype<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const numpunct<wchar_t>&
1434:     use_facet<numpunct<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const num_put<wchar_t>&
1434:     use_facet<num_put<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const num_get<wchar_t>&
1434:     use_facet<num_get<wchar_t> >(const locale&);
1434: 
1434:  extern template
1434:     bool
1434:     has_facet<ctype<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<numpunct<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<num_put<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<num_get<wchar_t> >(const locale&);
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 2688 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1434: # 41 "/usr/include/c++/12/locale" 2 3
1434: # 1 "/usr/include/c++/12/bits/locale_facets_nonio.h" 1 3
1434: # 37 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434: 
1434: # 1 "/usr/include/c++/12/ctime" 1 3
1434: # 39 "/usr/include/c++/12/ctime" 3
1434:        
1434: # 40 "/usr/include/c++/12/ctime" 3
1434: # 58 "/usr/include/c++/12/ctime" 3
1434: namespace std
1434: {
1434:   using ::clock_t;
1434:   using ::time_t;
1434:   using ::tm;
1434: 
1434:   using ::clock;
1434:   using ::difftime;
1434:   using ::mktime;
1434:   using ::time;
1434:   using ::asctime;
1434:   using ::ctime;
1434:   using ::gmtime;
1434:   using ::localtime;
1434:   using ::strftime;
1434: }
1434: 
1434: 
1434: 
1434: namespace std
1434: {
1434:   using ::timespec;
1434:   using ::timespec_get;
1434: }
1434: # 40 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 52 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   class time_base
1434:   {
1434:   public:
1434:     enum dateorder { no_order, dmy, mdy, ymd, ydm };
1434:   };
1434: 
1434:   template<typename _CharT>
1434:     struct __timepunct_cache : public locale::facet
1434:     {
1434: 
1434:       static const _CharT* _S_timezones[14];
1434: 
1434:       const _CharT* _M_date_format;
1434:       const _CharT* _M_date_era_format;
1434:       const _CharT* _M_time_format;
1434:       const _CharT* _M_time_era_format;
1434:       const _CharT* _M_date_time_format;
1434:       const _CharT* _M_date_time_era_format;
1434:       const _CharT* _M_am;
1434:       const _CharT* _M_pm;
1434:       const _CharT* _M_am_pm_format;
1434: 
1434: 
1434:       const _CharT* _M_day1;
1434:       const _CharT* _M_day2;
1434:       const _CharT* _M_day3;
1434:       const _CharT* _M_day4;
1434:       const _CharT* _M_day5;
1434:       const _CharT* _M_day6;
1434:       const _CharT* _M_day7;
1434: 
1434: 
1434:       const _CharT* _M_aday1;
1434:       const _CharT* _M_aday2;
1434:       const _CharT* _M_aday3;
1434:       const _CharT* _M_aday4;
1434:       const _CharT* _M_aday5;
1434:       const _CharT* _M_aday6;
1434:       const _CharT* _M_aday7;
1434: 
1434: 
1434:       const _CharT* _M_month01;
1434:       const _CharT* _M_month02;
1434:       const _CharT* _M_month03;
1434:       const _CharT* _M_month04;
1434:       const _CharT* _M_month05;
1434:       const _CharT* _M_month06;
1434:       const _CharT* _M_month07;
1434:       const _CharT* _M_month08;
1434:       const _CharT* _M_month09;
1434:       const _CharT* _M_month10;
1434:       const _CharT* _M_month11;
1434:       const _CharT* _M_month12;
1434: 
1434: 
1434:       const _CharT* _M_amonth01;
1434:       const _CharT* _M_amonth02;
1434:       const _CharT* _M_amonth03;
1434:       const _CharT* _M_amonth04;
1434:       const _CharT* _M_amonth05;
1434:       const _CharT* _M_amonth06;
1434:       const _CharT* _M_amonth07;
1434:       const _CharT* _M_amonth08;
1434:       const _CharT* _M_amonth09;
1434:       const  {
1417:        _M_suffix.matched = true;
1417:        _M_suffix.first = __prev->suffix().first;
1417:        _M_suffix.second = __prev->suffix().second;
1417:        _M_result = &_M_suffix;
1417:      }
1417:    else
1417:      *this = regex_token_iterator();
1417:  }
1417:       return *this;
1417:     }
1417: 
1417:   template<typename _Bi_iter,
1417:     typename _Ch_type,
1417:     typename _Rx_traits>
1417:     void
1417:     regex_token_iterator<_Bi_iter, _Ch_type, _Rx_traits>::
1417:     _M_init(_Bi_iter __a, _Bi_iter __b)
1417:     {
1417:       _M_has_m1 = false;
1417:       for (auto __it : _M_subs)
1417:  if (__it == -1)
1417:    {
1417:      _M_has_m1 = true;
1417:      break;
1417:    }
1417:       if (_M_position != _Position())
1417:  _M_result = &_M_current_match();
1417:       else if (_M_has_m1)
1417:  {
1417:    _M_suffix.matched = true;
1417:    _M_suffix.first = __a;
1417:    _M_suffix.second = __b;
1417:    _M_result = &_M_suffix;
1417:  }
1417:       else
1417:  _M_result = nullptr;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 3027 "/usr/include/c++/12/bits/regex.h" 2 3
1417: # 67 "/usr/include/c++/12/regex" 2 3
1417: # 1 "/usr/include/c++/12/bits/regex_executor.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/regex_executor.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417: # 50 "/usr/include/c++/12/bits/regex_executor.h" 3
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     class _Executor
1417:     {
1417:       using __search_mode = integral_constant<bool, __dfs_mode>;
1417:       using __dfs = true_type;
1417:       using __bfs = false_type;
1417: 
1417:       enum class _Match_mode : unsigned char { _Exact, _Prefix };
1417: 
1417:     public:
1417:       typedef typename iterator_traits<_BiIter>::value_type _CharT;
1417:       typedef basic_regex<_CharT, _TraitsT> _RegexT;
1417:       typedef std::vector<sub_match<_BiIter>, _Alloc> _ResultsVec;
1417:       typedef regex_constants::match_flag_type _FlagT;
1417:       typedef typename _TraitsT::char_class_type _ClassT;
1417:       typedef _NFA<_TraitsT> _NFAT;
1417: 
1417:     public:
1417:       _Executor(_BiIter __begin,
1417:   _BiIter __end,
1417:   _ResultsVec& __results,
1417:   const _RegexT& __re,
1417:   _FlagT __flags)
1417:       : _M_begin(__begin),
1417:       _M_end(__end),
1417:       _M_re(__re),
1417:       _M_nfa(*__re._M_automaton),
1417:       _M_results(__results),
1417:       _M_rep_count(_M_nfa.size()),
1417:       _M_states(_M_nfa._M_start(), _M_nfa.size()),
1417:       _M_flags(__flags)
1417:       {
1417:  using namespace regex_constants;
1417:  if (__flags & match_prev_avail)
1417:    _M_flags &= ~(match_not_bol | match_not_bow);
1417:       }
1417: 
1417: 
1417:       bool
1417:       _M_match()
1417:       {
1417:  _M_current = _M_begin;
1417:  return _M_main(_Match_mode::_Exact);
1417:       }
1417: 
1417: 
1417:       bool
1417:       _M_search_from_first()
1417:       {
1417:  _M_current = _M_begin;
1417:  return _M_main(_Match_mode::_Prefix);
1417:       }
1417: 
1417:       bool
1417:       _M_search();
1417: 
1417:     private:
1417:       void
1417:       _M_rep_once_more(_Match_mode __match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_repeat(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_subexpr_begin(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_subexpr_end(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_line_begin_assertion(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_line_end_assertion(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_word_boundary(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_subexpr_lookahead(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_match(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_backref(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_accept(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_handle_alternative(_Match_mode, _StateIdT);
1417: 
1417:       void
1417:       _M_dfs(_Match_mode __match_mode, _StateIdT __start);
1417: 
1417:       bool
1417:       _M_main(_Match_mode __match_mode)
1417:       { return _M_main_dispatch(__match_mode, __search_mode{}); }
1417: 
1417:       bool
1417:       _M_main_dispatch(_Match_mode __match_mode, __dfs);
1417: 
1417:       bool
1417:       _M_main_dispatch(_Match_mode __match_mode, __bfs);
1417: 
1417:       bool
1417:       _M_is_word(_CharT __ch) const
1417:       {
1417:  static const _CharT __s[2] = { 'w' };
1417:  return _M_re._M_automaton->_M_traits.isctype
1417:    (__ch, _M_re._M_automaton->_M_traits.lookup_classname(__s, __s+1));
1417:       }
1417: 
1417:       bool
1417:       _M_at_begin() const
1417:       {
1417:  if (_M_current == _M_begin)
1417:    {
1417: 
1417:      if (_M_flags & regex_constants::match_not_bol)
1417:        return false;
1417: 
1417:      if (_M_flags & regex_constants::match_prev_avail)
1417:        {
1417: 
1417: 
1417:   if (_M_match_multiline())
1417:     return _M_is_line_terminator(*std::prev(_M_current));
1417:   else
1417:     return false;
1417:        }
1417:      else
1417:        return true;
1417:    }
1417:  else if (_M_match_multiline())
1417:    return _M_is_line_terminator(*std::prev(_M_current));
1417:  else
1417:    return false;
1417:       }
1417: 
1417:       bool
1417:       _M_at_end() const
1417:       {
1417:  if (_M_current == _M_end)
1417:    return !(_M_flags & regex_constants::match_not_eol);
1417:  else if (_M_match_multiline())
1417:    return _M_is_line_terminator(*_M_current);
1417:  else
1417:    return false;
1417:       }
1417: 
1417:       bool
1417:       _M_word_boundary() const;
1417: 
1417:       bool
1417:       _M_lookahead(_StateIdT __next);
1417: 
1417:       bool
1417:       _M_is_line_terminator(_CharT __c) const
1417:       {
1417:  const auto& __traits = _M_re._M_automaton->_M_traits;
1417:  const auto& __ct = use_facet<ctype<_CharT>>(__traits.getloc());
1417:  const char __n{ __ct.narrow(__c, ' ') };
1417:  if (__n == '\n')
1417:    return true;
1417:  if (_M_re._M_automaton->_M_options() & regex_constants::ECMAScript)
1417:    {
1417:      if (__n == '\r')
1417:        return true;
1417: 
1417:    }
1417:  return false;
1417:       }
1417: 
1417:       bool
1417:       _M_match_multiline() const noexcept
1417:       {
1417:  constexpr auto __m
1417:    = regex_constants::ECMAScript | regex_constants::__multiline;
1417:  return (_M_re._M_automaton->_M_options() & __m) == __m;
1417:       }
1417: 
1417: 
1417:       template<typename _SearchMode, typename _ResultsVec>
1417:  struct _State_info;
1417: 
1417:       template<typename _ResultsVec>
1417:  struct _State_info<__bfs, _ResultsVec>
1417:  {
1417:    explicit
1417:    _State_info(_StateIdT __start, size_t __n)
1417:    : _M_visited_states(new bool[__n]()), _M_start(__start)
1417:    { }
1417: 
1417:    ~_State_info() { delete[] _M_visited_states; }
1417: 
1417:    _State_info(const _State_info&) = delete;
1417:    _State_info& operator=(const _State_info&) = delete;
1417: 
1417:    bool _M_visited(_StateIdT __i)
1417:    {
1417:      if (_M_visited_states[__i])
1417:        return true;
1417:      _M_visited_states[__i] = true;
1417:      return false;
1417:    }
1417: 
1417:    void _M_queue(_StateIdT __i, const _ResultsVec& __res)
1417:    { _M_match_queue.emplace_back(__i, __res); }
1417: 
1417: 
1417:    _BiIter* _M_get_sol_pos() { return nullptr; }
1417: 
1417: 
1417:    std::vector<pair<_StateIdT, _ResultsVec>> _M_match_queue;
1417: 
1417:    bool* _M_visited_states;
1417: 
1417:    _StateIdT _M_start;
1417:  };
1417: 
1417:       template<typename _ResultsVec>
1417:  struct _State_info<__dfs, _ResultsVec>
1417:  {
1417:    explicit
1417:    _State_info(_StateIdT __start, size_t) : _M_start(__start)
1417:    { }
1417: 
1417: 
1417:    bool _M_visited(_StateIdT) const { return false; }
1417:    void _M_queue(_StateIdT, c _CharT* _M_amonth10;
1434:       const _CharT* _M_amonth11;
1434:       const _CharT* _M_amonth12;
1434: 
1434:       bool _M_allocated;
1434: 
1434:       __timepunct_cache(size_t __refs = 0) : facet(__refs),
1434:       _M_date_format(0), _M_date_era_format(0), _M_time_format(0),
1434:       _M_time_era_format(0), _M_date_time_format(0),
1434:       _M_date_time_era_format(0), _M_am(0), _M_pm(0),
1434:       _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0),
1434:       _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0),
1434:       _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0),
1434:       _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0),
1434:       _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0),
1434:       _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0),
1434:       _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0),
1434:       _M_amonth02(0), _M_amonth03(0), _M_amonth04(0),
1434:       _M_amonth05(0), _M_amonth06(0), _M_amonth07(0),
1434:       _M_amonth08(0), _M_amonth09(0), _M_amonth10(0),
1434:       _M_amonth11(0), _M_amonth12(0), _M_allocated(false)
1434:       { }
1434: 
1434:       ~__timepunct_cache();
1434: 
1434:     private:
1434:       __timepunct_cache&
1434:       operator=(const __timepunct_cache&);
1434: 
1434:       explicit
1434:       __timepunct_cache(const __timepunct_cache&);
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     __timepunct_cache<_CharT>::~__timepunct_cache()
1434:     {
1434:       if (_M_allocated)
1434:  {
1434: 
1434:  }
1434:     }
1434: 
1434: 
1434:   template<>
1434:     const char*
1434:     __timepunct_cache<char>::_S_timezones[14];
1434: 
1434: 
1434:   template<>
1434:     const wchar_t*
1434:     __timepunct_cache<wchar_t>::_S_timezones[14];
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
1434: 
1434:   template<typename _CharT>
1434:     class __timepunct : public locale::facet
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT __char_type;
1434:       typedef __timepunct_cache<_CharT> __cache_type;
1434: 
1434:     protected:
1434:       __cache_type* _M_data;
1434:       __c_locale _M_c_locale_timepunct;
1434:       const char* _M_name_timepunct;
1434: 
1434:     public:
1434: 
1434:       static locale::id id;
1434: 
1434:       explicit
1434:       __timepunct(size_t __refs = 0);
1434: 
1434:       explicit
1434:       __timepunct(__cache_type* __cache, size_t __refs = 0);
1434: # 206 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
1434:       const tm* __tm) const throw ();
1434: 
1434:       void
1434:       _M_date_formats(const _CharT** __date) const
1434:       {
1434: 
1434:  __date[0] = _M_data->_M_date_format;
1434:  __date[1] = _M_data->_M_date_era_format;
1434:       }
1434: 
1434:       void
1434:       _M_time_formats(const _CharT** __time) const
1434:       {
1434: 
1434:  __time[0] = _M_data->_M_time_format;
1434:  __time[1] = _M_data->_M_time_era_format;
1434:       }
1434: 
1434:       void
1434:       _M_date_time_formats(const _CharT** __dt) const
1434:       {
1434: 
1434:  __dt[0] = _M_data->_M_date_time_format;
1434:  __dt[1] = _M_data->_M_date_time_era_format;
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_am_pm_format(const _CharT*) const
1434:       { }
1434: 
1434: 
1434:       void
1434:       _M_am_pm_format(const _CharT** __ampm_format) const
1434:       {
1434:  __ampm_format[0] = _M_data->_M_am_pm_format;
1434:       }
1434: 
1434:       void
1434:       _M_am_pm(const _CharT** __ampm) const
1434:       {
1434:  __ampm[0] = _M_data->_M_am;
1434:  __ampm[1] = _M_data->_M_pm;
1434:       }
1434: 
1434:       void
1434:       _M_days(const _CharT** __days) const
1434:       {
1434:  __days[0] = _M_data->_M_day1;
1434:  __days[1] = _M_data->_M_day2;
1434:  __days[2] = n __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1115: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) noexcept (true)
1115: 
1115: {
1115:   if (__builtin_constant_p (__dst == __null) && __dst == __null)
1115:     return __mbstowcs_nulldst (__dst, __src, __len);
1115:   else
1115:     return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_object_size (__dst, 2 > 1)) / (sizeof (wchar_t)))))
1115:                                                       ;
1115: }
1115: 
1115: extern size_t __wcstombs_chk (char *__restrict __dst,
1115:          const wchar_t *__restrict __src,
1115:          size_t __len, size_t __dstlen) noexcept (true)
1115:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1115: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true) __asm__ ("" "wcstombs")
1115: 
1115: 
1115: 
1115:   __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2)));
1115: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) noexcept (true) __asm__ ("" "__wcstombs_chk")
1115: 
1115: 
1115: 
1115:      __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1115: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__dst, 2 > 1)) && (__builtin_object_size (__dst, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__dst, 2 > 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__dst, 2 > 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1))))
1115: 
1115:                          ;
1115: }
1115: # 1041 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1115: # 1044 "/usr/include/stdlib.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 76 "/usr/include/c++/12/cstdlib" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/std_abs.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/std_abs.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/std_abs.h" 3
1115: # 46 "/usr/include/c++/1_M_data->_M_day3;
1434:  __days[3] = _M_data->_M_day4;
1434:  __days[4] = _M_data->_M_day5;
1434:  __days[5] = _M_data->_M_day6;
1434:  __days[6] = _M_data->_M_day7;
1434:       }
1434: 
1434:       void
1434:       _M_days_abbreviated(const _CharT** __days) const
1434:       {
1434:  __days[0] = _M_data->_M_aday1;
1434:  __days[1] = _M_data->_M_aday2;
1434:  __days[2] = _M_data->_M_aday3;
1434:  __days[3] = _M_data->_M_aday4;
1434:  __days[4] = _M_data->_M_aday5;
1434:  __days[5] = _M_data->_M_aday6;
1434:  __days[6] = _M_data->_M_aday7;
1434:       }
1434: 
1434:       void
1434:       _M_months(const _CharT** __months) const
1434:       {
1434:  __months[0] = _M_data->_M_month01;
1434:  __months[1] = _M_data->_M_month02;
1434:  __months[2] = _M_data->_M_month03;
1434:  __months[3] = _M_data->_M_month04;
1434:  __months[4] = _M_data->_M_month05;
1434:  __months[5] = _M_data->_M_month06;
1434:  __months[6] = _M_data->_M_month07;
1434:  __months[7] = _M_data->_M_month08;
1434:  __months[8] = _M_data->_M_month09;
1434:  __months[9] = _M_data->_M_month10;
1434:  __months[10] = _M_data->_M_month11;
1434:  __months[11] = _M_data->_M_month12;
1434:       }
1434: 
1434:       void
1434:       _M_months_abbreviated(const _CharT** __months) const
1434:       {
1434:  __months[0] = _M_data->_M_amonth01;
1434:  __months[1] = _M_data->_M_amonth02;
1434:  __months[2] = _M_data->_M_amonth03;
1434:  __months[3] = _M_data->_M_amonth04;
1434:  __months[4] = _M_data->_M_amonth05;
1434:  __months[5] = _M_data->_M_amonth06;
1434:  __months[6] = _M_data->_M_amonth07;
1434:  __months[7] = _M_data->_M_amonth08;
1434:  __months[8] = _M_data->_M_amonth09;
1434:  __months[9] = _M_data->_M_amonth10;
1434:  __months[10] = _M_data->_M_amonth11;
1434:  __months[11] = _M_data->_M_amonth12;
1434:       }
1434: 
1434:     protected:
1434:       virtual
1434:       ~__timepunct();
1434: 
1434: 
1434:       void
1434:       _M_initialize_timepunct(__c_locale __cloc = 0);
1434:     };
1434: 
1434:   template<typename _CharT>
1434:     locale::id __timepunct<_CharT>::id;
1434: 
1434: 
1434:   template<>
1434:     void
1434:     __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
1434: 
1434:   template<>
1434:     void
1434:     __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const throw ();
1434: 
1434: 
1434:   template<>
1434:     void
1434:     __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
1434: 
1434:   template<>
1434:     void
1434:     __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
1434:      const tm*) const throw ();
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/time_members.h" 1 3
1434: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/time_members.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT>
1434:     __timepunct<_CharT>::__timepunct(size_t __refs)
1434:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
1434:       _M_name_timepunct(_S_get_c_name())
1434:     { _M_initialize_timepunct(); }
1434: 
1434:   template<typename _CharT>
1434:     __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
1434:     : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(0),
1434:       _M_name_timepunct(_S_get_c_name())
1434:     { _M_initialize_timepunct(); }
1434: 
1434:   template<typename _CharT>
1434:     __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
1434:          size_t __refs)
1434:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
1434:       _M_name_timepunct(0)
1434:     {
1434:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
1434:  {
1434:    const size_t __len = __builtin_strlen(__s) + 1;
1434:    char* __tmp = new char[__len];
1434:    __builtin_memcpy(__tmp, __s, __len);
1434:    _M_name_timepunct = __tmp;
1434:  }
1434:       else
1434:  _M_name_timepunct = _S_get_c_name();
1434: 
1434:       try
1434:  { _M_initialize_timepunct(__cloc); }
1434:       catch(...)
1434:  {
1434:    ionst _ResultsVec&) { }
1417: 
1417:    _BiIter* _M_get_sol_pos() { return &_M_sol_pos; }
1417: 
1417: 
1417:    _StateIdT _M_start;
1417:    _BiIter _M_sol_pos;
1417:  };
1417: 
1417:     public:
1417:       _ResultsVec _M_cur_results;
1417:       _BiIter _M_current;
1417:       _BiIter _M_begin;
1417:       const _BiIter _M_end;
1417:       const _RegexT& _M_re;
1417:       const _NFAT& _M_nfa;
1417:       _ResultsVec& _M_results;
1417:       std::vector<pair<_BiIter, int>> _M_rep_count;
1417:       _State_info<__search_mode, _ResultsVec> _M_states;
1417:       _FlagT _M_flags;
1417: 
1417:       bool _M_has_sol;
1417:     };
1417: 
1417: 
1417: }
1417: 
1417: }
1417: 
1417: # 1 "/usr/include/c++/12/bits/regex_executor.tcc" 1 3
1417: # 31 "/usr/include/c++/12/bits/regex_executor.tcc" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: namespace __detail
1417: {
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     bool _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_search()
1417:     {
1417:       if (_M_search_from_first())
1417:  return true;
1417:       if (_M_flags & regex_constants::match_continuous)
1417:  return false;
1417:       _M_flags |= regex_constants::match_prev_avail;
1417:       while (_M_begin != _M_end)
1417:  {
1417:    ++_M_begin;
1417:    if (_M_search_from_first())
1417:      return true;
1417:  }
1417:       return false;
1417:     }
1417: # 79 "/usr/include/c++/12/bits/regex_executor.tcc" 3
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     bool _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_main_dispatch(_Match_mode __match_mode, __dfs)
1417:     {
1417:       _M_has_sol = false;
1417:       *_M_states._M_get_sol_pos() = _BiIter();
1417:       _M_cur_results = _M_results;
1417:       _M_dfs(__match_mode, _M_states._M_start);
1417:       return _M_has_sol;
1417:     }
1417: # 113 "/usr/include/c++/12/bits/regex_executor.tcc" 3
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     bool _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_main_dispatch(_Match_mode __match_mode, __bfs)
1417:     {
1417:       _M_states._M_queue(_M_states._M_start, _M_results);
1417:       bool __ret = false;
1417:       while (1)
1417:  {
1417:    _M_has_sol = false;
1417:    if (_M_states._M_match_queue.empty())
1417:      break;
1417:    std::fill_n(_M_states._M_visited_states, _M_nfa.size(), false);
1417:    auto __old_queue = std::move(_M_states._M_match_queue);
1417:    for (auto& __task : __old_queue)
1417:      {
1417:        _M_cur_results = std::move(__task.second);
1417:        _M_dfs(__match_mode, __task.first);
1417:      }
1417:    if (__match_mode == _Match_mode::_Prefix)
1417:      __ret |= _M_has_sol;
1417:    if (_M_current == _M_end)
1417:      break;
1417:    ++_M_current;
1417:  }
1417:       if (__match_mode == _Match_mode::_Exact)
1417:  __ret = _M_has_sol;
1417:       _M_states._M_match_queue.clear();
1417:       return __ret;
1417:     }
1417: 
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     bool _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_lookahead(_StateIdT __next)
1417:     {
1417: 
1417: 
1417: 
1417:       _ResultsVec __what(_M_cur_results);
1417:       _Executor __sub(_M_current, _M_end, __what, _M_re, _M_flags);
1417:       __sub._M_states._M_start = __next;
1417:       if (__sub._M_search_from_first())
1417:  {
1417:    for (size_t __i = 0; __i < __what.size(); __i++)
1417:      if (__what[__i].matched)
1417:        _M_cur_results[__i] = __what[__i];
1417:    return true;
1417:  }
1417:       return false;
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_rep_once_m2/bits/std_abs.h" 3
1115: extern "C++"
1115: {
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   using ::abs;
1115: 
1115: 
1115:   inline long
1115:   abs(long __i) { return __builtin_labs(__i); }
1115: 
1115: 
1115: 
1115:   inline long long
1115:   abs(long long __x) { return __builtin_llabs (__x); }
1115: # 70 "/usr/include/c++/12/bits/std_abs.h" 3
1115:   inline constexpr double
1115:   abs(double __x)
1115:   { return __builtin_fabs(__x); }
1115: 
1115:   inline constexpr float
1115:   abs(float __x)
1115:   { return __builtin_fabsf(__x); }
1115: 
1115:   inline constexpr long double
1115:   abs(long double __x)
1115:   { return __builtin_fabsl(__x); }
1115: # 107 "/usr/include/c++/12/bits/std_abs.h" 3
1115: 
1115: }
1115: }
1115: # 78 "/usr/include/c++/12/cstdlib" 2 3
1115: # 121 "/usr/include/c++/12/cstdlib" 3
1115: extern "C++"
1115: {
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   using ::div_t;
1115:   using ::ldiv_t;
1115: 
1115:   using ::abort;
1115: 
1115:   using ::aligned_alloc;
1115: 
1115:   using ::atexit;
1115: 
1115: 
1115:   using ::at_quick_exit;
1115: 
1115: 
1115:   using ::atof;
1115:   using ::atoi;
1115:   using ::atol;
1115:   using ::bsearch;
1115:   using ::calloc;
1115:   using ::div;
1115:   using ::exit;
1115:   using ::free;
1115:   using ::getenv;
1115:   using ::labs;
1115:   using ::ldiv;
1115:   using ::malloc;
1115: 
1115:   using ::mblen;
1115:   using ::mbstowcs;
1115:   using ::mbtowc;
1115: 
1115:   using ::qsort;
1115: 
1115: 
1115:   using ::quick_exit;
1115: 
1115: 
1115:   using ::rand;
1115:   using ::realloc;
1115:   using ::srand;
1115:   using ::strtod;
1115:   using ::strtol;
1115:   using ::strtoul;
1115:   using ::system;
1115: 
1115:   using ::wcstombs;
1115:   using ::wctomb;
1115: 
1115: 
1115: 
1115:   inline ldiv_t
1115:   div(long __i, long __j) { return ldiv(__i, __j); }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 195 "/usr/include/c++/12/cstdlib" 3
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   using ::lldiv_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   using ::_Exit;
1115: 
1115: 
1115: 
1115:   using ::llabs;
1115: 
1115:   inline lldiv_t
1115:   div(long long __n, long long __d)
1115:   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
1115: 
1115:   using ::lldiv;
1115: # 227 "/usr/include/c++/12/cstdlib" 3
1115:   using ::atoll;
1115:   using ::strtoll;
1115:   using ::strtoull;
1115: 
1115:   using ::strtof;
1115:   using ::strtold;
1115: 
1115: 
1115: }
1115: 
1115: namespace std
1115: {
1115: 
1115:   using ::__gnu_cxx::lldiv_t;
1115: 
1115:   using ::__gnu_cxx::_Exit;
1115: 
1115:   using ::__gnu_cxx::llabs;
1115:   using ::__gnu_cxx::div;
1115:   using ::__gnu_cxx::lldiv;
1115: 
1115:   using ::__gnu_cxx::atoll;
1115:   using ::__gnu_cxx::strtof;
1115:   using ::__gnu_cxx::strtoll;
1115:   using ::__gnu_cxx::strtoull;
1115:   using ::__gnu_cxx::strtold;
1115: }
1115: 
1115: 
1115: 
1115: }
1115: # 42 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1115: # 1 "/usr/include/c++/12/cwchar" 1 3
1115: # 39 "/usr/include/c++/12/cwchar" 3
1115:        
1115: # 40 "/usr/include/c++/12/cwchar" 3
1115: # 43 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1115: # 1 "/usr/include/c++/12/cstdio" 1 3
1115: # 39 "/usr/include/c++/12/cstdio" 3
1115:        
1115: # 40 "/usr/include/c++/12/cstdio" 3
1115: 
1115: 
1115: # 1 "/usr/include/stdio.h" 1 3 4
1115: # 27 "/usr/include/stdio.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1115: # 28 "/usr/include/stdio.h" 2 3 4
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 34 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1115: # 37 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h" 1 3 4
1115: # 10 "/usr/incluf (_M_name_timepunct != _S_get_c_name())
1434:      delete [] _M_name_timepunct;
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     __timepunct<_CharT>::~__timepunct()
1434:     {
1434:       if (_M_name_timepunct != _S_get_c_name())
1434:  delete [] _M_name_timepunct;
1434:       delete _M_data;
1434:       _S_destroy_c_locale(_M_c_locale_timepunct);
1434:     }
1434: 
1434: 
1434: }
1434: # 353 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   struct __time_get_state
1434:   {
1434: 
1434:     void
1434:     _M_finalize_state(tm* __tm);
1434: 
1434:     unsigned int _M_have_I : 1;
1434:     unsigned int _M_have_wday : 1;
1434:     unsigned int _M_have_yday : 1;
1434:     unsigned int _M_have_mon : 1;
1434:     unsigned int _M_have_mday : 1;
1434:     unsigned int _M_have_uweek : 1;
1434:     unsigned int _M_have_wweek : 1;
1434:     unsigned int _M_have_century : 1;
1434:     unsigned int _M_is_pm : 1;
1434:     unsigned int _M_want_century : 1;
1434:     unsigned int _M_want_xday : 1;
1434:     unsigned int _M_pad1 : 5;
1434:     unsigned int _M_week_no : 6;
1434:     unsigned int _M_pad2 : 10;
1434:     int _M_century;
1434:     int _M_pad3;
1434:   };
1434: 
1434: namespace __cxx11 {
1434: # 397 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   template<typename _CharT, typename _InIter>
1434:     class time_get : public locale::facet, public time_base
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _InIter iter_type;
1434: 
1434: 
1434: 
1434:       static locale::id id;
1434: # 418 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       time_get(size_t __refs = 0)
1434:       : facet (__refs) { }
1434: # 435 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       dateorder
1434:       date_order() const
1434:       { return this->do_date_order(); }
1434: # 459 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       get_time(iter_type __beg, iter_type __end, ios_base& __io,
1434:         ios_base::iostate& __err, tm* __tm) const
1434:       { return this->do_get_time(__beg, __end, __io, __err, __tm); }
1434: # 484 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       get_date(iter_type __beg, iter_type __end, ios_base& __io,
1434:         ios_base::iostate& __err, tm* __tm) const
1434:       { return this->do_get_date(__beg, __end, __io, __err, __tm); }
1434: # 512 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
1434:     ios_base::iostate& __err, tm* __tm) const
1434:       { return this->do_get_weekday(__beg, __end, __io, __err, __tm); }
1434: # 541 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       get_monthname(iter_type __beg, iter_type __end, ios_base& __io,
1434:       ios_base::iostate& __err, tm* __tm) const
1434:       { return this->do_get_monthname(__beg, __end, __io, __err, __tm); }
1434: # 567 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       get_year(iter_type __beg, iter_type __end, ios_base& __io,
1434:         ios_base::iostate& __err, tm* __tm) const
1434:       { return this->do_get_year(__beg, __end, __io, __err, __tm); }
1434: # 588 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       inline
1434:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
1434:                     ios_base::iostate& __err, tm* __tm, char __format,
1434:                     char __modifier = 0) const
1434:       {
1434:         return this->do_get(__s, __end, __io, __err, __tm, __format,
1434:                             __modifier);
1434:       }
1434: # 615 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
1434:                     ios_base::iostate& ore(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417:       auto& __rep_count = _M_rep_count[__i];
1417:       if (__rep_count.second == 0 || __rep_count.first != _M_current)
1417:  {
1417:    auto __back = __rep_count;
1417:    __rep_count.first = _M_current;
1417:    __rep_count.second = 1;
1417:    _M_dfs(__match_mode, __state._M_alt);
1417:    __rep_count = __back;
1417:  }
1417:       else
1417:  {
1417:    if (__rep_count.second < 2)
1417:      {
1417:        __rep_count.second++;
1417:        _M_dfs(__match_mode, __state._M_alt);
1417:        __rep_count.second--;
1417:      }
1417:  }
1417:     }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_repeat(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417: 
1417: 
1417:       if (!__state._M_neg)
1417:  {
1417:    _M_rep_once_more(__match_mode, __i);
1417: 
1417:    if (!__dfs_mode || !_M_has_sol)
1417:      _M_dfs(__match_mode, __state._M_next);
1417:  }
1417:       else
1417:  {
1417:    if (__dfs_mode)
1417:      {
1417: 
1417:        _M_dfs(__match_mode, __state._M_next);
1417:        if (!_M_has_sol)
1417:   _M_rep_once_more(__match_mode, __i);
1417:      }
1417:    else
1417:      {
1417: 
1417: 
1417: 
1417:        if (!_M_has_sol)
1417:   {
1417:     _M_dfs(__match_mode, __state._M_next);
1417: 
1417: 
1417: 
1417:     if (!_M_has_sol)
1417:       _M_rep_once_more(__match_mode, __i);
1417:   }
1417:      }
1417:  }
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_subexpr_begin(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417: 
1417:       auto& __res = _M_cur_results[__state._M_subexpr];
1417:       auto __back = __res.first;
1417:       __res.first = _M_current;
1417:       _M_dfs(__match_mode, __state._M_next);
1417:       __res.first = __back;
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_subexpr_end(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417: 
1417:       auto& __res = _M_cur_results[__state._M_subexpr];
1417:       auto __back = __res;
1417:       __res.second = _M_current;
1417:       __res.matched = true;
1417:       _M_dfs(__match_mode, __state._M_next);
1417:       __res = __back;
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     inline void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_line_begin_assertion(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417:       if (_M_at_begin())
1417:  _M_dfs(__match_mode, __state._M_next);
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     inline void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_line_end_assertion(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417:       if (_M_at_end())
1417:  _M_dfs(__match_mode, __state._M_next);
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     inline void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_word_boundary(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417:       if (_M_word_boundary() == !__state._M_neg)
1417:  _M_dfs(__match_mode, __state._M_next);
1417:     }
1417: 
1417: 
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_subexpr_lookahead(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417:       if (_M_lookahead(__state._M_alt) == !__state._M_neg)
1417:  _M_dfs(__match_mode, __state._M_next);
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_match(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417: 
1417:       if (_M_current == _M_end)
1417:  return;
1417:       if (__dfs_mode)
1417:  {
1417:    if (__state._M_matches(*_M_current))
1417:      {
1417:        ++_M_current;
1417:        _M_dfs(__match_mode, __state._M_next);
1417:        --_M_current;
1417:      }
1417:  }
1417:       else
1417:  if (__state._M_matches(*_M_current))
1417:    _M_states._M_queue(__state._M_next, _M_cur_results);
1417:     }
1417: 
1417:   template<typename _BiIter, typename _TraitsT>
1417:     struct _Backref_matcher
1417:     {
1417:       _Backref_matcher(bool __icase, const _TraitsT& __traits)
1417:       : _M_traits(__traits) { }
1417: 
1417:       bool
1417:       _M_apply(_BiIter __expected_begin,
1417:         _BiIter __expected_end, _BiIter __actual_begin,
1417:         _BiIter __actual_end)
1417:       {
1417:  return _M_traits.transform(__expected_begin, __expected_end)
1417:      == _M_traits.transform(__actual_begin, __actual_end);
1417:       }
1417: 
1417:       const _TraitsT& _M_traits;
1417:     };
1417: 
1417:   template<typename _BiIter, typename _CharT>
1417:     struct _Backref_matcher<_BiIter, std::regex_traits<_CharT>>
1417:     {
1417:       using _TraitsT = std::regex_traits<_CharT>;
1417:       _Backref_matcher(bool __icase, const _TraitsT& __traits)
1417:       : _M_icase(__icase), _M_traits(__traits) { }
1417: 
1417:       bool
1417:       _M_apply(_BiIter __expected_begin,
1417:         _BiIter __expected_end, _BiIter __actual_begin,
1417:         _BiIter __actual_end)
1417:       {
1417:  if (!_M_icase)
1417:    return std::__equal4(__expected_begin, __expected_end,
1417:           __actual_begin, __actual_end);
1417:  typedef std::ctype<_CharT> __ctype_type;
1417:  const auto& __fctyp = use_facet<__ctype_type>(_M_traits.getloc());
1417:  return std::__equal4(__expected_begin, __expected_end,
1417:         __actual_begin, __actual_end,
1417:         [this, &__fctyp](_CharT __lhs, _CharT __rhs)
1417:         {
1417:           return __fctyp.tolower(__lhs)
1417:      == __fctyp.tolower(__rhs);
1417:         });
1417:       }
1417: 
1417:       bool _M_icase;
1417:       const _TraitsT& _M_traits;
1417:     };
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_backref(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       do { if (std::__is_constant_evaluated() && !bool(__dfs_mode)) __builtin_unreachable(); } while (false);
1417: 
1417:       const auto& __state = _M_nfa[__i];
1417:       auto& __submatch = _M_cur_results[__state._M_backref_index];
1417:       if (!__submatch.matched)
1417:  return;
1417:       auto __last = _M_current;
1417:       for (auto __tmp = __submatch.first;
1417:     __last != _M_end && __tmp != __submatch.second;
1417:     ++__tmp)
1417:  ++__last;
1417:       if (_Backref_matcher<_BiIter, _TraitsT>(
1417:        _M_re.flags() & regex_constants::icase,
1417:        _M_re._M_automaton->_M_traits)._M_apply(
1417:     __submatch.first, __submatch.second, _M_current, __last))
1417:  {
1417:    if (__last != _M_current)
1417:      {
1417:        auto __backup = _M_current;
1417:        _M_current = __last;
1417:        _M_dfs(__match_mode, __state._M_next);
1417:        _M_current = __backup;
1417:      }
1417:    else
1417:  __err, tm* __tm, const char_type* __fmt,
1434:                     const char_type* __fmtend) const;
1434: 
1434: 
1434:     protected:
1434: 
1434:       virtual
1434:       ~time_get() { }
1434: # 635 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual dateorder
1434:       do_date_order() const;
1434: # 653 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
1434:     ios_base::iostate& __err, tm* __tm) const;
1434: # 672 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
1434:     ios_base::iostate& __err, tm* __tm) const;
1434: # 691 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_get_weekday(iter_type __beg, iter_type __end, ios_base&,
1434:        ios_base::iostate& __err, tm* __tm) const;
1434: # 710 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_get_monthname(iter_type __beg, iter_type __end, ios_base&,
1434:          ios_base::iostate& __err, tm* __tm) const;
1434: # 729 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
1434:     ios_base::iostate& __err, tm* __tm) const;
1434: # 752 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual
1434: 
1434:       iter_type
1434:       do_get(iter_type __s, iter_type __end, ios_base& __f,
1434:              ios_base::iostate& __err, tm* __tm,
1434:              char __format, char __modifier) const;
1434: 
1434: 
1434: 
1434:       iter_type
1434:       _M_extract_num(iter_type __beg, iter_type __end, int& __member,
1434:        int __min, int __max, size_t __len,
1434:        ios_base& __io, ios_base::iostate& __err) const;
1434: 
1434: 
1434:       iter_type
1434:       _M_extract_name(iter_type __beg, iter_type __end, int& __member,
1434:         const _CharT** __names, size_t __indexlen,
1434:         ios_base& __io, ios_base::iostate& __err) const;
1434: 
1434: 
1434:       iter_type
1434:       _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
1434:           const _CharT** __names, size_t __indexlen,
1434:           ios_base& __io, ios_base::iostate& __err) const;
1434: 
1434: 
1434:       iter_type
1434:       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1434:        ios_base::iostate& __err, tm* __tm,
1434:        const _CharT* __format) const;
1434: 
1434: 
1434: 
1434:       iter_type
1434:       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1434:        ios_base::iostate& __err, tm* __tm,
1434:        const _CharT* __format,
1434:        __time_get_state &__state) const;
1434:     };
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     locale::id time_get<_CharT, _InIter>::id;
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     class time_get_byname : public time_get<_CharT, _InIter>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _InIter iter_type;
1434: 
1434:       explicit
1434:       time_get_byname(const char*, size_t __refs = 0)
1434:       : time_get<_CharT, _InIter>(__refs) { }
1434: 
1434: 
1434:       explicit
1434:       time_get_byname(const string& __s, size_t __refs = 0)
1434:       : time_get_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~time_get_byname() { }
1434:     };
1434: 
1434: }
1434: # 834 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     class time_put : public locale::facet
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _OutIter iter_type;
1434: 
1434: 
1434: 
1434:       static locale::id id;
1434: # 855 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
14de/arm-linux-gnueabihf/bits/types/__fpos_t.h" 3 4
1115: typedef struct _G_fpos_t
1115: {
1115:   __off_t __pos;
1115:   __mbstate_t __state;
1115: } __fpos_t;
1115: # 40 "/usr/include/stdio.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 1 3 4
1115: # 10 "/usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h" 3 4
1115: typedef struct _G_fpos64_t
1115: {
1115:   __off64_t __pos;
1115:   __mbstate_t __state;
1115: } __fpos64_t;
1115: # 41 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 1 3 4
1115: # 35 "/usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h" 3 4
1115: struct _IO_FILE;
1115: struct _IO_marker;
1115: struct _IO_codecvt;
1115: struct _IO_wide_data;
1115: 
1115: 
1115: 
1115: 
1115: typedef void _IO_lock_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: struct _IO_FILE
1115: {
1115:   int _flags;
1115: 
1115: 
1115:   char *_IO_read_ptr;
1115:   char *_IO_read_end;
1115:   char *_IO_read_base;
1115:   char *_IO_write_base;
1115:   char *_IO_write_ptr;
1115:   char *_IO_write_end;
1115:   char *_IO_buf_base;
1115:   char *_IO_buf_end;
1115: 
1115: 
1115:   char *_IO_save_base;
1115:   char *_IO_backup_base;
1115:   char *_IO_save_end;
1115: 
1115:   struct _IO_marker *_markers;
1115: 
1115:   struct _IO_FILE *_chain;
1115: 
1115:   int _fileno;
1115:   int _flags2;
1115:   __off_t _old_offset;
1115: 
1115: 
1115:   unsigned short _cur_column;
1115:   signed char _vtable_offset;
1115:   char _shortbuf[1];
1115: 
1115:   _IO_lock_t *_lock;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   __off64_t _offset;
1115: 
1115:   struct _IO_codecvt *_codecvt;
1115:   struct _IO_wide_data *_wide_data;
1115:   struct _IO_FILE *_freeres_list;
1115:   void *_freeres_buf;
1115:   size_t __pad5;
1115:   int _mode;
1115: 
1115:   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
1115: };
1115: # 44 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/types/cookie_io_functions_t.h" 3 4
1115: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
1115:                                           size_t __nbytes);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
1115:                                            size_t __nbytes);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
1115: 
1115: 
1115: typedef int cookie_close_function_t (void *__cookie);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef struct _IO_cookie_io_functions_t
1115: {
1115:   cookie_read_function_t *read;
1115:   cookie_write_function_t *write;
1115:   cookie_seek_function_t *seek;
1115:   cookie_close_function_t *close;
1115: } cookie_io_functions_t;
1115: # 47 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __gnuc_va_list va_list;
1115: # 86 "/usr/include/stdio.h" 3 4
1115: typedef __fpos64_t fpos_t;
1115: 
1115: 
1115: typedef __fpos64_t fpos64_t;
1115: # 133 "/usr/include/stdio.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4
1115: # 134 "/usr/include/stdio.h" 2 3 4
1115: # 143 "/usr/include/stdio.h" 3 4
1115: extern FILE *stdin;
1115: extern FILE *stdout;
1115: extern FILE *stderr;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int remove (const char *__filename) noexcept (true);
1115: 
1115: extern int rename (const char *__old, const char *__new) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int renameat (int __oldfd, const char *__old, int __newfd,
1115:        const char *__new) noexcept (true);
1115: # 170 "/usr/include/stdio.h" 3 4
1115: extern int renameat2 (int __oldfd, const char *__old, int __newfd,
1115:         const char *__new, unsigned int __flags) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fclose (FILE *__s34:       explicit
1434:       time_put(size_t __refs = 0)
1434:       : facet(__refs) { }
1434: # 874 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1434:    const _CharT* __beg, const _CharT* __end) const;
1434: # 894 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       put(iter_type __s, ios_base& __io, char_type __fill,
1434:    const tm* __tm, char __format, char __mod = 0) const
1434:       { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
1434: 
1434:     protected:
1434: 
1434:       virtual
1434:       ~time_put()
1434:       { }
1434: # 921 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1434:       char __format, char __mod) const;
1434:     };
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     locale::id time_put<_CharT, _OutIter>::id;
1434: 
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     class time_put_byname : public time_put<_CharT, _OutIter>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _OutIter iter_type;
1434: 
1434:       explicit
1434:       time_put_byname(const char*, size_t __refs = 0)
1434:       : time_put<_CharT, _OutIter>(__refs)
1434:       { }
1434: 
1434: 
1434:       explicit
1434:       time_put_byname(const string& __s, size_t __refs = 0)
1434:       : time_put_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~time_put_byname() { }
1434:     };
1434: # 966 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   class money_base
1434:   {
1434:   public:
1434:     enum part { none, space, symbol, sign, value };
1434:     struct pattern { char field[4]; };
1434: 
1434:     static const pattern _S_default_pattern;
1434: 
1434:     enum
1434:     {
1434:       _S_minus,
1434:       _S_zero,
1434:       _S_end = 11
1434:     };
1434: 
1434: 
1434: 
1434:     static const char* _S_atoms;
1434: 
1434: 
1434: 
1434:     __attribute__ ((__const__)) static pattern
1434:     _S_construct_pattern(char __precedes, char __space, char __posn) throw ();
1434:   };
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     struct __moneypunct_cache : public locale::facet
1434:     {
1434:       const char* _M_grouping;
1434:       size_t _M_grouping_size;
1434:       bool _M_use_grouping;
1434:       _CharT _M_decimal_point;
1434:       _CharT _M_thousands_sep;
1434:       const _CharT* _M_curr_symbol;
1434:       size_t _M_curr_symbol_size;
1434:       const _CharT* _M_positive_sign;
1434:       size_t _M_positive_sign_size;
1434:       const _CharT* _M_negative_sign;
1434:       size_t _M_negative_sign_size;
1434:       int _M_frac_digits;
1434:       money_base::pattern _M_pos_format;
1434:       money_base::pattern _M_neg_format;
1434: 
1434: 
1434: 
1434: 
1434:       _CharT _M_atoms[money_base::_S_end];
1434: 
1434:       bool _M_allocated;
1434: 
1434:       __moneypunct_cache(size_t __refs = 0) : facet(__refs),
1434:       _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false),
1434:       _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
1434:       _M_curr_symbol(0), _M_curr_symbol_size(0),
1434:       _M_positive_sign(0), _M_positive_sign_size(0),
1434:       _M_negative_sign(0), _M_negative_sign_size(0),
1434:       _M_frac_digits(0),
1434:       _M_pos_format(money_base::pattern()),
1434:       _M_neg_format(money_base::pattern()), _M_allocated(false)
1434:       { }
1434: 
1434:       ~__moneypunct_cache();
1434: 
1434:       void
1434:       _M_cache(const locale& __loc);
1434: 
1434:     private:
1434:       __moneypunct_cache&
1434:       operator=(const __moneypunct_cache&);
1434: 
1434:       explicit
1434:       __moneypunct_cache(const __moneypunct_cache&);
1434:     };
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     __moneypunct_cache<_CharT, _I    _M_dfs(__match_mode, __state._M_next);
1417:  }
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_accept(_Match_mode __match_mode, _StateIdT)
1417:     {
1417:       if constexpr (__dfs_mode)
1417:  {
1417:    do { if (std::__is_constant_evaluated() && !bool(!_M_has_sol)) __builtin_unreachable(); } while (false);
1417:    if (__match_mode == _Match_mode::_Exact)
1417:      _M_has_sol = _M_current == _M_end;
1417:    else
1417:      _M_has_sol = true;
1417:    if (_M_current == _M_begin
1417:        && (_M_flags & regex_constants::match_not_null))
1417:      _M_has_sol = false;
1417:    if (_M_has_sol)
1417:      {
1417:        if (_M_nfa._M_flags & regex_constants::ECMAScript)
1417:   _M_results = _M_cur_results;
1417:        else
1417:   {
1417:     do { if (std::__is_constant_evaluated() && !bool(_M_states._M_get_sol_pos())) __builtin_unreachable(); } while (false);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     if (*_M_states._M_get_sol_pos() == _BiIter()
1417:         || std::distance(_M_begin,
1417:            *_M_states._M_get_sol_pos())
1417:     < std::distance(_M_begin, _M_current))
1417:       {
1417:         *_M_states._M_get_sol_pos() = _M_current;
1417:         _M_results = _M_cur_results;
1417:       }
1417:   }
1417:      }
1417:  }
1417:       else
1417:  {
1417:    if (_M_current == _M_begin
1417:        && (_M_flags & regex_constants::match_not_null))
1417:      return;
1417:    if (__match_mode == _Match_mode::_Prefix || _M_current == _M_end)
1417:      if (!_M_has_sol)
1417:        {
1417:   _M_has_sol = true;
1417:   _M_results = _M_cur_results;
1417:        }
1417:  }
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_handle_alternative(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       const auto& __state = _M_nfa[__i];
1417: 
1417:       if (_M_nfa._M_flags & regex_constants::ECMAScript)
1417:  {
1417: 
1417:    _M_dfs(__match_mode, __state._M_alt);
1417: 
1417:    if (!_M_has_sol)
1417:      _M_dfs(__match_mode, __state._M_next);
1417:  }
1417:       else
1417:  {
1417: 
1417: 
1417:    _M_dfs(__match_mode, __state._M_alt);
1417:    auto __has_sol = _M_has_sol;
1417:    _M_has_sol = false;
1417:    _M_dfs(__match_mode, __state._M_next);
1417:    _M_has_sol |= __has_sol;
1417:  }
1417:     }
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     void _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_dfs(_Match_mode __match_mode, _StateIdT __i)
1417:     {
1417:       if (_M_states._M_visited(__i))
1417:  return;
1417: 
1417:       switch (_M_nfa[__i]._M_opcode())
1417:  {
1417:  case _S_opcode_repeat:
1417:    _M_handle_repeat(__match_mode, __i); break;
1417:  case _S_opcode_subexpr_begin:
1417:    _M_handle_subexpr_begin(__match_mode, __i); break;
1417:  case _S_opcode_subexpr_end:
1417:    _M_handle_subexpr_end(__match_mode, __i); break;
1417:  case _S_opcode_line_begin_assertion:
1417:    _M_handle_line_begin_assertion(__match_mode, __i); break;
1417:  case _S_opcode_line_end_assertion:
1417:    _M_handle_line_end_assertion(__match_mode, __i); break;
1417:  case _S_opcode_word_boundary:
1417:    _M_handle_word_boundary(__match_mode, __i); break;
1417:  case _S_opcode_subexpr_lookahead:
1417:    _M_handle_subexpr_lookahead(__match_mode, __i); break;
1417:  case _S_opcode_match:
1417:    _M_handle_match(__match_mode, __i); break;
1417:  case _S_opcode_backref:
1417:    _M_handle_backref(__match_mode, __i); break;
1417:  case _S_opcode_accept:
1417:    _M_handle_accept(__match_mode, __i); break;
1417:  case _S_opcode_alternative:
1417:    _M_handle_alternative(__match_mode, __i); break;
1417:  default:
1417:    do { if (std::__is_constant_evaluated() && !bool(false)) __builtin_unreachable(); } while (fantl>::~__moneypunct_cache()
1434:     {
1434:       if (_M_allocated)
1434:  {
1434:    delete [] _M_grouping;
1434:    delete [] _M_curr_symbol;
1434:    delete [] _M_positive_sign;
1434:    delete [] _M_negative_sign;
1434:  }
1434:     }
1434: 
1434: namespace __cxx11 {
1434: # 1061 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   template<typename _CharT, bool _Intl>
1434:     class moneypunct : public locale::facet, public money_base
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434:       typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1434: 
1434:     private:
1434:       __cache_type* _M_data;
1434: 
1434:     public:
1434: 
1434: 
1434:       static const bool intl = _Intl;
1434: 
1434:       static locale::id id;
1434: # 1090 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       moneypunct(size_t __refs = 0)
1434:       : facet(__refs), _M_data(0)
1434:       { _M_initialize_moneypunct(); }
1434: # 1103 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       moneypunct(__cache_type* __cache, size_t __refs = 0)
1434:       : facet(__refs), _M_data(__cache)
1434:       { _M_initialize_moneypunct(); }
1434: # 1118 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
1434:       : facet(__refs), _M_data(0)
1434:       { _M_initialize_moneypunct(__cloc, __s); }
1434: # 1132 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       char_type
1434:       decimal_point() const
1434:       { return this->do_decimal_point(); }
1434: # 1145 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       char_type
1434:       thousands_sep() const
1434:       { return this->do_thousands_sep(); }
1434: # 1175 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       string
1434:       grouping() const
1434:       { return this->do_grouping(); }
1434: # 1188 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       string_type
1434:       curr_symbol() const
1434:       { return this->do_curr_symbol(); }
1434: # 1205 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       string_type
1434:       positive_sign() const
1434:       { return this->do_positive_sign(); }
1434: # 1222 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       string_type
1434:       negative_sign() const
1434:       { return this->do_negative_sign(); }
1434: # 1238 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       int
1434:       frac_digits() const
1434:       { return this->do_frac_digits(); }
1434: # 1274 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       pattern
1434:       pos_format() const
1434:       { return this->do_pos_format(); }
1434: 
1434:       pattern
1434:       neg_format() const
1434:       { return this->do_neg_format(); }
1434: 
1434: 
1434:     protected:
1434: 
1434:       virtual
1434:       ~moneypunct();
1434: # 1296 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual char_type
1434:       do_decimal_point() const
1434:       { return _M_data->_M_decimal_point; }
1434: # 1308 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual char_type
1434:       do_thousands_sep() const
1434:       { return _M_data->_M_thousands_sep; }
1434: # 1321 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual string
1434:       do_grouping() const
1434:       { return _M_data->_M_grouping; }
1434: # 1334 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual string_type
1434:       do_curr_symbol() const
1434:       { return _M_data->_M_curr_symbol; }
1434: # 1347 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual string_type
1434:       do_positive_sign() const
1434:       { return _M_data->_M_positive_sign; }
1434: # 1360 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual string_type
1434:       do_negative_sigtream);
1115: # 192 "/usr/include/stdio.h" 3 4
1115: extern FILE *tmpfile (void) __asm__ ("" "tmpfile64")
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern FILE *tmpfile64 (void)
1115:    __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern char *tmpnam (char[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern char *tmpnam_r (char __s[20]) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: # 222 "/usr/include/stdio.h" 3 4
1115: extern char *tempnam (const char *__dir, const char *__pfx)
1115:    noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fflush (FILE *__stream);
1115: # 239 "/usr/include/stdio.h" 3 4
1115: extern int fflush_unlocked (FILE *__stream);
1115: # 249 "/usr/include/stdio.h" 3 4
1115: extern int fcloseall (void);
1115: # 270 "/usr/include/stdio.h" 3 4
1115: extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64")
1115: 
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64")
1115: 
1115: 
1115:   __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern FILE *fopen64 (const char *__restrict __filename,
1115:         const char *__restrict __modes)
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: extern FILE *freopen64 (const char *__restrict __filename,
1115:    const char *__restrict __modes,
1115:    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern FILE *fopencookie (void *__restrict __magic_cookie,
1115:      const char *__restrict __modes,
1115:      cookie_io_functions_t __io_funcs) noexcept (true)
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
1115:   noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
1115:       int __modes, size_t __n) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
1115:          size_t __size) noexcept (true);
1115: 
1115: 
1115: extern void setlinebuf (FILE *__stream) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fprintf (FILE *__restrict __stream,
1115:       const char *__restrict __format, ...);
1115: 
1115: 
1115: 
1115: 
1115: extern int printf (const char *__restrict __format, .n() const
1434:       { return _M_data->_M_negative_sign; }
1434: # 1374 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual int
1434:       do_frac_digits() const
1434:       { return _M_data->_M_frac_digits; }
1434: # 1388 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual pattern
1434:       do_pos_format() const
1434:       { return _M_data->_M_pos_format; }
1434: # 1402 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual pattern
1434:       do_neg_format() const
1434:       { return _M_data->_M_neg_format; }
1434: 
1434: 
1434:        void
1434:        _M_initialize_moneypunct(__c_locale __cloc = 0,
1434:     const char* __name = 0);
1434:     };
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     locale::id moneypunct<_CharT, _Intl>::id;
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     const bool moneypunct<_CharT, _Intl>::intl;
1434: 
1434:   template<>
1434:     moneypunct<char, true>::~moneypunct();
1434: 
1434:   template<>
1434:     moneypunct<char, false>::~moneypunct();
1434: 
1434:   template<>
1434:     void
1434:     moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
1434: 
1434:   template<>
1434:     void
1434:     moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
1434: 
1434: 
1434:   template<>
1434:     moneypunct<wchar_t, true>::~moneypunct();
1434: 
1434:   template<>
1434:     moneypunct<wchar_t, false>::~moneypunct();
1434: 
1434:   template<>
1434:     void
1434:     moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
1434:        const char*);
1434: 
1434:   template<>
1434:     void
1434:     moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
1434:         const char*);
1434: 
1434: 
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     class moneypunct_byname : public moneypunct<_CharT, _Intl>
1434:     {
1434:     public:
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434:       static const bool intl = _Intl;
1434: 
1434:       explicit
1434:       moneypunct_byname(const char* __s, size_t __refs = 0)
1434:       : moneypunct<_CharT, _Intl>(__refs)
1434:       {
1434:  if (__builtin_strcmp(__s, "C") != 0
1434:      && __builtin_strcmp(__s, "POSIX") != 0)
1434:    {
1434:      __c_locale __tmp;
1434:      this->_S_create_c_locale(__tmp, __s);
1434:      this->_M_initialize_moneypunct(__tmp);
1434:      this->_S_destroy_c_locale(__tmp);
1434:    }
1434:       }
1434: 
1434: 
1434:       explicit
1434:       moneypunct_byname(const string& __s, size_t __refs = 0)
1434:       : moneypunct_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~moneypunct_byname() { }
1434:     };
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     const bool moneypunct_byname<_CharT, _Intl>::intl;
1434: 
1434: }
1434: 
1434: namespace __cxx11 {
1434: # 1505 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   template<typename _CharT, typename _InIter>
1434:     class money_get : public locale::facet
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _InIter iter_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434: 
1434: 
1434:       static locale::id id;
1434: # 1527 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       money_get(size_t __refs = 0) : facet(__refs) { }
1434: # 1557 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1434:    ios_base::iostate& __err, long double& __units) const
1434:       { return this->do_get(__s, __end, __intl, __io, __err, __units); }
1434: # 1588 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1434:    ios_base::iostate& __err, string_type& __digits) const
1434:       { return this->do_get(__slse);
1417:  }
1417:     }
1417: 
1417: 
1417:   template<typename _BiIter, typename _Alloc, typename _TraitsT,
1417:     bool __dfs_mode>
1417:     bool _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>::
1417:     _M_word_boundary() const
1417:     {
1417:       if (_M_current == _M_begin && (_M_flags & regex_constants::match_not_bow))
1417:  return false;
1417:       if (_M_current == _M_end && (_M_flags & regex_constants::match_not_eow))
1417:  return false;
1417: 
1417:       bool __left_is_word = false;
1417:       if (_M_current != _M_begin
1417:    || (_M_flags & regex_constants::match_prev_avail))
1417:  {
1417:    auto __prev = _M_current;
1417:    if (_M_is_word(*std::prev(__prev)))
1417:      __left_is_word = true;
1417:  }
1417:       bool __right_is_word =
1417:         _M_current != _M_end && _M_is_word(*_M_current);
1417: 
1417:       return __left_is_word != __right_is_word;
1417:     }
1417: }
1417: 
1417: 
1417: }
1417: # 312 "/usr/include/c++/12/bits/regex_executor.h" 2 3
1417: # 68 "/usr/include/c++/12/regex" 2 3
1417: 
1417: 
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417:   namespace pmr
1417:   {
1417:     template<typename _Tp> class polymorphic_allocator;
1417:     template<typename _BidirectionalIterator>
1417:       using match_results
1417:  = std::match_results<_BidirectionalIterator, polymorphic_allocator<
1417:     sub_match<_BidirectionalIterator>>>;
1417:     using cmatch = match_results<const char*>;
1417: 
1417: 
1417:     using smatch
1417:       = match_results<__gnu_cxx::__normal_iterator<const char*, string>>;
1417: 
1417:     using wcmatch = match_results<const wchar_t*>;
1417:     using wsmatch
1417:       = match_results<__gnu_cxx::__normal_iterator<const wchar_t*, wstring>>;
1417: 
1417:   }
1417: 
1417: }
1417: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 2
1417: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417: 
1417: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417: static constexpr wchar_t unicode_lowers[] = {
1417:     (wchar_t)0x0061, (wchar_t)0x0062, (wchar_t)0x0063, (wchar_t)0x0064, (wchar_t)0x0065,
1417:     (wchar_t)0x0066, (wchar_t)0x0067, (wchar_t)0x0068, (wchar_t)0x0069, (wchar_t)0x006A,
1417:     (wchar_t)0x006B, (wchar_t)0x006C, (wchar_t)0x006D, (wchar_t)0x006E, (wchar_t)0x006F,
1417:     (wchar_t)0x0070, (wchar_t)0x0071, (wchar_t)0x0072, (wchar_t)0x0073, (wchar_t)0x0074,
1417:     (wchar_t)0x0075, (wchar_t)0x0076, (wchar_t)0x0077, (wchar_t)0x0078, (wchar_t)0x0079,
1417:     (wchar_t)0x007A, (wchar_t)0x00E0, (wchar_t)0x00E1, (wchar_t)0x00E2, (wchar_t)0x00E3,
1417:     (wchar_t)0x00E4, (wchar_t)0x00E5, (wchar_t)0x00E6, (wchar_t)0x00E7, (wchar_t)0x00E8,
1417:     (wchar_t)0x00E9, (wchar_t)0x00EA, (wchar_t)0x00EB, (wchar_t)0x00EC, (wchar_t)0x00ED,
1417:     (wchar_t)0x00EE, (wchar_t)0x00EF, (wchar_t)0x00F0, (wchar_t)0x00F1, (wchar_t)0x00F2,
1417:     (wchar_t)0x00F3, (wchar_t)0x00F4, (wchar_t)0x00F5, (wchar_t)0x00F6, (wchar_t)0x00F8,
1417:     (wchar_t)0x00F9, (wchar_t)0x00FA, (wchar_t)0x00FB, (wchar_t)0x00FC, (wchar_t)0x00FD,
1417:     (wchar_t)0x00FE, (wchar_t)0x00FF, (wchar_t)0x0101, (wchar_t)0x0103, (wchar_t)0x0105,
1417:     (wchar_t)0x0107, (wchar_t)0x0109, (wchar_t)0x010B, (wchar_t)0x010D, (wchar_t)0x010F,
1417:     (wchar_t)0x0111, (wchar_t)0x0113, (wchar_t)0x0115, (wchar_t)0x0117, (wchar_t)0x0119,
1417:     (wchar_t)0x011B, (wchar_t)0x011D, (wchar_t)0x011F, (wchar_t)0x0121, (wchar_t)0x0123,
1417:     (wchar_t)0x0125, (wchar_t)0x0127, (wchar_t)0x0129, (wchar_t)0x012B, (wchar_t)0x012D,
1417:     (wchar_t)0x012F, (wchar_t)0x0131, (wchar_t)0x0133, (wchar_t)0x0135, (wchar_t)0x0137,
1417:     (wchar_t)0x013A, (wchar_t)0x013C, (wchar_t)0x013E, (wchar_t)0x0140, (wchar_t)0x0142,
1417:     (wchar_t)0x0144, (wchar_t)0x0146, (wchar_t)0x0148, (wchar_t)0x014B, (wchar_t)0x014D,
1417:     (wchar_t)0x014F, (wchar_t)0x0151, , __end, __intl, __io, __err, __digits); }
1434: 
1434:     protected:
1434: 
1434:       virtual
1434:       ~money_get() { }
1434: # 1612 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1434:       ios_base::iostate& __err, long double& __units) const;
1434: # 1624 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1434:       ios_base::iostate& __err, string_type& __digits) const;
1434: # 1644 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       template<bool _Intl>
1434:         iter_type
1434:         _M_extract(iter_type __s, iter_type __end, ios_base& __io,
1434:      ios_base::iostate& __err, string& __digits) const;
1434:     };
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     locale::id money_get<_CharT, _InIter>::id;
1434: # 1666 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     class money_put : public locale::facet
1434:     {
1434:     public:
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _OutIter iter_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434: 
1434: 
1434:       static locale::id id;
1434: # 1687 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       money_put(size_t __refs = 0) : facet(__refs) { }
1434: # 1707 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       put(iter_type __s, bool __intl, ios_base& __io,
1434:    char_type __fill, long double __units) const
1434:       { return this->do_put(__s, __intl, __io, __fill, __units); }
1434: # 1730 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       iter_type
1434:       put(iter_type __s, bool __intl, ios_base& __io,
1434:    char_type __fill, const string_type& __digits) const
1434:       { return this->do_put(__s, __intl, __io, __fill, __digits); }
1434: 
1434:     protected:
1434: 
1434:       virtual
1434:       ~money_put() { }
1434: # 1765 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1434:       long double __units) const;
1434: # 1789 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual iter_type
1434:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1434:       const string_type& __digits) const;
1434: # 1809 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       template<bool _Intl>
1434:         iter_type
1434:         _M_insert(iter_type __s, ios_base& __io, char_type __fill,
1434:     const string_type& __digits) const;
1434:     };
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     locale::id money_put<_CharT, _OutIter>::id;
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   struct messages_base
1434:   {
1434:     typedef int catalog;
1434:   };
1434: 
1434: namespace __cxx11 {
1434: # 1852 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:   template<typename _CharT>
1434:     class messages : public locale::facet, public messages_base
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434: 
1434:     protected:
1434: 
1434: 
1434:       __c_locale _M_c_locale_messages;
1434:       const char* _M_name_messages;
1434: 
1434:     public:
1434: 
1434:       static locale::id id;
1434: # 1880 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       messages(size_t __refs = 0);
1434: # 1894 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       explicit
1434:       messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
1434: # 1907 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       catalog
1434:       open(const basic_string<char>& __s, const locale& __loc) ..);
1115: 
1115: extern int sprintf (char *__restrict __s,
1115:       const char *__restrict __format, ...) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
1115:        __gnuc_va_list __arg);
1115: 
1115: 
1115: 
1115: 
1115: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
1115: 
1115: extern int vsprintf (char *__restrict __s, const char *__restrict __format,
1115:        __gnuc_va_list __arg) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int snprintf (char *__restrict __s, size_t __maxlen,
1115:        const char *__restrict __format, ...)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1115: 
1115: extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1115:         const char *__restrict __format, __gnuc_va_list __arg)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
1115:         __gnuc_va_list __arg)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1115: extern int __asprintf (char **__restrict __ptr,
1115:          const char *__restrict __fmt, ...)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1115: extern int asprintf (char **__restrict __ptr,
1115:        const char *__restrict __fmt, ...)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int vdprintf (int __fd, const char *__restrict __fmt,
1115:        __gnuc_va_list __arg)
1115:      __attribute__ ((__format__ (__printf__, 2, 0)));
1115: extern int dprintf (int __fd, const char *__restrict __fmt, ...)
1115:      __attribute__ ((__format__ (__printf__, 2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fscanf (FILE *__restrict __stream,
1115:      const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
1115: 
1115: extern int sscanf (const char *__restrict __s,
1115:      const char *__restrict __format, ...) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1115: # 431 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: 
1115: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
1115: 
1115:                           __attribute__ ((__warn_unused_result__));
1115: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
1115:                          __attribute__ ((__warn_unused_result__));
1115: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_sscanf")
1115: 
1115:                       ;
1115: # 459 "/usr/include/stdio.h" 3 4
1115: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
1115:       __gnuc_va_list __arg)
1115:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
1115:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: extern int vsscanf (const char *__restrict __s,
1115:       const char *__restrict __format, __gnuc_va_list __arg)
1115:      noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
1115: 
1115: 
1115: 
1115:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn(wchar_t)0x0153, (wchar_t)0x0155, (wchar_t)0x0157,
1417:     (wchar_t)0x0159, (wchar_t)0x015B, (wchar_t)0x015D, (wchar_t)0x015F, (wchar_t)0x0161,
1417:     (wchar_t)0x0163, (wchar_t)0x0165, (wchar_t)0x0167, (wchar_t)0x0169, (wchar_t)0x016B,
1417:     (wchar_t)0x016D, (wchar_t)0x016F, (wchar_t)0x0171, (wchar_t)0x0173, (wchar_t)0x0175,
1417:     (wchar_t)0x0177, (wchar_t)0x017A, (wchar_t)0x017C, (wchar_t)0x017E, (wchar_t)0x0183,
1417:     (wchar_t)0x0185, (wchar_t)0x0188, (wchar_t)0x018C, (wchar_t)0x0192, (wchar_t)0x0199,
1417:     (wchar_t)0x01A1, (wchar_t)0x01A3, (wchar_t)0x01A5, (wchar_t)0x01A8, (wchar_t)0x01AD,
1417:     (wchar_t)0x01B0, (wchar_t)0x01B4, (wchar_t)0x01B6, (wchar_t)0x01B9, (wchar_t)0x01BD,
1417:     (wchar_t)0x01C6, (wchar_t)0x01C9, (wchar_t)0x01CC, (wchar_t)0x01CE, (wchar_t)0x01D0,
1417:     (wchar_t)0x01D2, (wchar_t)0x01D4, (wchar_t)0x01D6, (wchar_t)0x01D8, (wchar_t)0x01DA,
1417:     (wchar_t)0x01DC, (wchar_t)0x01DF, (wchar_t)0x01E1, (wchar_t)0x01E3, (wchar_t)0x01E5,
1417:     (wchar_t)0x01E7, (wchar_t)0x01E9, (wchar_t)0x01EB, (wchar_t)0x01ED, (wchar_t)0x01EF,
1417:     (wchar_t)0x01F3, (wchar_t)0x01F5, (wchar_t)0x01FB, (wchar_t)0x01FD, (wchar_t)0x01FF,
1417:     (wchar_t)0x0201, (wchar_t)0x0203, (wchar_t)0x0205, (wchar_t)0x0207, (wchar_t)0x0209,
1417:     (wchar_t)0x020B, (wchar_t)0x020D, (wchar_t)0x020F, (wchar_t)0x0211, (wchar_t)0x0213,
1417:     (wchar_t)0x0215, (wchar_t)0x0217, (wchar_t)0x0253, (wchar_t)0x0254, (wchar_t)0x0257,
1417:     (wchar_t)0x0258, (wchar_t)0x0259, (wchar_t)0x025B, (wchar_t)0x0260, (wchar_t)0x0263,
1417:     (wchar_t)0x0268, (wchar_t)0x0269, (wchar_t)0x026F, (wchar_t)0x0272, (wchar_t)0x0275,
1417:     (wchar_t)0x0283, (wchar_t)0x0288, (wchar_t)0x028A, (wchar_t)0x028B, (wchar_t)0x0292,
1417:     (wchar_t)0x03AC, (wchar_t)0x03AD, (wchar_t)0x03AE, (wchar_t)0x03AF, (wchar_t)0x03B1,
1417:     (wchar_t)0x03B2, (wchar_t)0x03B3, (wchar_t)0x03B4, (wchar_t)0x03B5, (wchar_t)0x03B6,
1417:     (wchar_t)0x03B7, (wchar_t)0x03B8, (wchar_t)0x03B9, (wchar_t)0x03BA, (wchar_t)0x03BB,
1417:     (wchar_t)0x03BC, (wchar_t)0x03BD, (wchar_t)0x03BE, (wchar_t)0x03BF, (wchar_t)0x03C0,
1417:     (wchar_t)0x03C1, (wchar_t)0x03C3, (wchar_t)0x03C4, (wchar_t)0x03C5, (wchar_t)0x03C6,
1417:     (wchar_t)0x03C7, (wchar_t)0x03C8, (wchar_t)0x03C9, (wchar_t)0x03CA, (wchar_t)0x03CB,
1417:     (wchar_t)0x03CC, (wchar_t)0x03CD, (wchar_t)0x03CE, (wchar_t)0x03E3, (wchar_t)0x03E5,
1417:     (wchar_t)0x03E7, (wchar_t)0x03E9, (wchar_t)0x03EB, (wchar_t)0x03ED, (wchar_t)0x03EF,
1417:     (wchar_t)0x0430, (wchar_t)0x0431, (wchar_t)0x0432, (wchar_t)0x0433, (wchar_t)0x0434,
1417:     (wchar_t)0x0435, (wchar_t)0x0436, (wchar_t)0x0437, (wchar_t)0x0438, (wchar_t)0x0439,
1417:     (wchar_t)0x043A, (wchar_t)0x043B, (wchar_t)0x043C, (wchar_t)0x043D, (wchar_t)0x043E,
1417:     (wchar_t)0x043F, (wchar_t)0x0440, (wchar_t)0x0441, (wchar_t)0x0442, (wchar_t)0x0443,
1417:     (wchar_t)0x0444, (wchar_t)0x0445, (wchar_t)0x0446, (wchar_t)0x0447, (wchar_t)0x0448,
1417:     (wchar_t)0x0449, (wchar_t)0x044A, (wchar_t)0x044B, (wchar_t)0x044C, (wchar_t)0x044D,
1417:     (wchar_t)0x044E, (wchar_t)0x044F, (wchar_t)0x0451, (wchar_t)0x0452, (wchar_t)0x0453,
1417:     (wchar_t)0x0454, (wchar_t)0x0455, (wchar_t)0x0456, (wchar_t)0x0457, (wchar_t)0x0458,
1417:     (wchar_t)0x0459, (wchar_t)0x045A, (wchar_t)0x045B, (wchar_t)0x045C, (wchar_t)0x045E,
1417:     (wchar_t)0x045F, (wchar_t)0x0461, (wchar_t)0x0463, (wchar_t)0x0465, (wchar_t)0x0467,
1417:     (wchar_t)0x0469, (wchar_t)0x046B, (wchar_t)0x046D, (wchar_t)0x046F, (wchar_t)0x0471,
1417:     (wchar_t)0x0473, (wchar_t)0x0475, (wchar_t)0x0477, (wchar_t)0x0479, (wchar_t)0x047B,
1417:     (wchar_t)0x047D, (wchar_t)0x047F, (wchar_t)0x0481, (wchar_t)0x0491, (wchar_t)0x0493,
1417:     (wchar_t)0x0495, (wchar_t)0x0497, (wchar_t)0x0499, (wchar_t)0x049B, (wchar_t)0x049D,
1417:     (wchar_t)0x049F, (wchar_t)0x04A1, (wchar_t)0x04A3, (wchar_t)0x04A5, (wchar_t)0x04A7,
1417:     (wchar_t)0x04A9, (wchar_t)0x04AB, (wchar_t)0x04AD, (wchar_t)0x04AF, (wchar_t)0x04B1,
1417:     (wchar_t)0x04B3, (wchar_t)0x04B5, (wchar_t)0xconst
1434:       { return this->do_open(__s, __loc); }
1434: # 1925 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       catalog
1434:       open(const basic_string<char>&, const locale&, const char*) const;
1434: # 1943 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       string_type
1434:       get(catalog __c, int __set, int __msgid, const string_type& __s) const
1434:       { return this->do_get(__c, __set, __msgid, __s); }
1434: # 1954 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       void
1434:       close(catalog __c) const
1434:       { return this->do_close(__c); }
1434: 
1434:     protected:
1434: 
1434:       virtual
1434:       ~messages();
1434: # 1974 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual catalog
1434:       do_open(const basic_string<char>&, const locale&) const;
1434: # 1993 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1434:       virtual string_type
1434:       do_get(catalog, int, int, const string_type& __dfault) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       virtual void
1434:       do_close(catalog) const;
1434: 
1434: 
1434:       char*
1434:       _M_convert_to_char(const string_type& __msg) const
1434:       {
1434: 
1434:  return reinterpret_cast<char*>(const_cast<_CharT*>(__msg.c_str()));
1434:       }
1434: 
1434: 
1434:       string_type
1434:       _M_convert_from_char(char*) const
1434:       {
1434: 
1434:  return string_type();
1434:       }
1434:      };
1434: 
1434:   template<typename _CharT>
1434:     locale::id messages<_CharT>::id;
1434: 
1434: 
1434:   template<>
1434:     string
1434:     messages<char>::do_get(catalog, int, int, const string&) const;
1434: 
1434: 
1434:   template<>
1434:     wstring
1434:     messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
1434: 
1434: 
1434: 
1434:    template<typename _CharT>
1434:     class messages_byname : public messages<_CharT>
1434:     {
1434:     public:
1434:       typedef _CharT char_type;
1434:       typedef basic_string<_CharT> string_type;
1434: 
1434:       explicit
1434:       messages_byname(const char* __s, size_t __refs = 0);
1434: 
1434: 
1434:       explicit
1434:       messages_byname(const string& __s, size_t __refs = 0)
1434:       : messages_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~messages_byname()
1434:       { }
1434:     };
1434: 
1434: }
1434: 
1434: 
1434: }
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 1 3
1434: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 3
1434: # 1 "/usr/include/libintl.h" 1 3 4
1434: # 34 "/usr/include/libintl.h" 3 4
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: extern char *gettext (const char *__msgid)
1434:      noexcept (true) __attribute__ ((__format_arg__ (1)));
1434: 
1434: 
1434: 
1434: extern char *dgettext (const char *__domainname, const char *__msgid)
1434:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1434: extern char *__dgettext (const char *__domainname, const char *__msgid)
1434:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1434: 
1434: 
1434: 
1434: extern char *dcgettext (const char *__domainname,
1434:    const char *__msgid, int __category)
1434:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1434: extern char *__dcgettext (const char *__domainname,
1434:      const char *__msgid, int __category)
1434:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1434: 
1434: 
1434: 
1434: 
1434: extern char *ngettext (const char *__msgid1, const char *__msgid2,
1434:          unsigned long int __n)
1434:      noexcept (true) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
1434: 
1434: 
1434: 
1434: extern char *dngettext (const char *__domainname, const char *__msgid1,
1434:    const char *__msgid2, unsigned long int __n)
1434:      noexcept (true) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
1434: 
1434: 
1434: 
1434: extern char *dcngettext (const char *__domainname, const char *__msgid1,
1434:     const char *__msgid2, unsigned long int __n,
1434:     int __category)
1434:      noexcept (true) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *textdomain (const char *__domainname) noexcept (true);
1434: 
1434: 
1434: 
1434: extern char *bindtextdomain (const char *__domainname,
1434:         const char *__dirname) noexcept (true);
1434: 
1434: 
1434: 
1434: extern char *bind_textdomain_codeset (const char *__domainname,
1434:           const char *__codeset) noexcept (true);
1434: # 121 "/usr/include/libintl.h" 3 4
1434: }
1434: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _CharT>
1434:     messages<_CharT>::messages(size_t __refs)
1434:     : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
1434:       _M_name_messages(_S_get_c_name())
1434:     { }
1434: 
1434:   template<typename _CharT>
1434:     messages<_CharT>::messages(__c_locale __cloc, const char* __s,
1434:           size_t __refs)
1434:     : facet(__refs), _M_c_locale_messages(0), _M_name_messages(0)
1434:     {
1434:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
1434:  {
1434:    const size_t __len = __builtin_strlen(__s) + 1;
1434:    char* __tmp = new char[__len];
1434:    __builtin_memcpy(__tmp, __s, __len);
1434:    _M_name_messages = __tmp;
1434:  }
1434:       else
1434:  _M_name_messages = _S_get_c_name();
1434: 
1434: 
1434:       _M_c_locale_messages = _S_clone_c_locale(__cloc);
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     typename messages<_CharT>::catalog
1434:     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
1434:       const char* __dir) const
1434:     {
1434:       bindtextdomain(__s.c_str(), __dir);
1434:       return this->do_open(__s, __loc);
1434:     }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     messages<_CharT>::~messages()
1434:     {
1434:       if (_M_name_messages != _S_get_c_name())
1434:  delete [] _M_name_messages;
1434:       _S_destroy_c_locale(_M_c_locale_messages);
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     typename messages<_CharT>::catalog
1434:     messages<_CharT>::do_open(const basic_string<char>& __s,
1434:          const locale&) const
1434:     {
1434: 
1434: 
1434:       textdomain(__s.c_str());
1434:       return 0;
1434:     }
1434: 
1434:   template<typename _CharT>
1434:     void
1434:     messages<_CharT>::do_close(catalog) const
1434:     { }
1434: 
1434: 
1434:   template<typename _CharT>
1434:     messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
1434:     : messages<_CharT>(__refs)
1434:     {
1434:       if (this->_M_name_messages != locale::facet::_S_get_c_name())
1434:  {
1434:    delete [] this->_M_name_messages;
1434:    if (__builtin_strcmp(__s, locale::facet::_S_get_c_name()) != 0)
1434:      {
1434:        const size_t __len = __builtin_strlen(__s) + 1;
1434:        char* __tmp = new char[__len];
1434:        __builtin_memcpy(__tmp, __s, __len);
1434:        this->_M_name_messages = __tmp;
1434:      }
1434:    else
1434:      this->_M_name_messages = locale::facet::_S_get_c_name();
1434:  }
1434: 
1434:       if (__builtin_strcmp(__s, "C") != 0
1434:    && __builtin_strcmp(__s, "POSIX") != 0)
1434:  {
1434:    this->_S_destroy_c_locale(this->_M_c_locale_messages);
1434:    this->_S_create_c_locale(this->_M_c_locale_messages, __s);
1434:  }
1434:     }
1434: 
1434: 
1434:   template<>
1434:     typename messages<char>::catalog
1434:     messages<char>::do_open(const basic_string<char>&,
1434:        const locale&) const;
1434: 
1434:   template<>
1434:     void
1434:     messages<char>::do_close(catalog) const;
1434: 
1434: 
1434:   template<>
1434:     typename messages<wchar_t>::catalog
1434:     messages<wchar_t>::do_open(const basic_string<char>&,
1434:           const locale&) con_unused_result__));
1115: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
1115: 
1115:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
1115: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vsscanf")
1115: 
1115: 
1115: 
1115:      __attribute__ ((__format__ (__scanf__, 2, 0)));
1115: # 513 "/usr/include/stdio.h" 3 4
1115: extern int fgetc (FILE *__stream);
1115: extern int getc (FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getchar (void);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getc_unlocked (FILE *__stream);
1115: extern int getchar_unlocked (void);
1115: # 538 "/usr/include/stdio.h" 3 4
1115: extern int fgetc_unlocked (FILE *__stream);
1115: # 549 "/usr/include/stdio.h" 3 4
1115: extern int fputc (int __c, FILE *__stream);
1115: extern int putc (int __c, FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int putchar (int __c);
1115: # 565 "/usr/include/stdio.h" 3 4
1115: extern int fputc_unlocked (int __c, FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int putc_unlocked (int __c, FILE *__stream);
1115: extern int putchar_unlocked (int __c);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getw (FILE *__stream);
1115: 
1115: 
1115: extern int putw (int __w, FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1115:      __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: # 615 "/usr/include/stdio.h" 3 4
1115: extern char *fgets_unlocked (char *__restrict __s, int __n,
1115:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: # 632 "/usr/include/stdio.h" 3 4
1115: extern __ssize_t __getdelim (char **__restrict __lineptr,
1115:                              size_t *__restrict __n, int __delimiter,
1115:                              FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: extern __ssize_t getdelim (char **__restrict __lineptr,
1115:                            size_t *__restrict __n, int __delimiter,
1115:                            FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __ssize_t getline (char **__restrict __lineptr,
1115:                           size_t *__restrict __n,
1115:                           FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int puts (const char *__s);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int ungetc (int __c, FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern size_t fread (void *__restrict __ptr, size_t __size,
1115:        size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern size_t fwrite (const void *__restrict __ptr, size_t __size,
1115:         size_t __n, FILE *__restrict __s);
1115: # 691 "/usr/include/stdio.h" 3 4
1115: extern int fputs_unlocked (const char *__restrict __s,
1115:       FILE *__restrict __stream);
1115: # 702 "/usr/include/stdio.h" 3 4
1115: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
1115:          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
1115:           size_t __n, FILE *__restrict __stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fseek (FILE *__stream, long int __off, int __whence);
1115: 
1115: 
1115: 
1115: 
1115: extern long int ftell (FILE *__stream) st;
1434: 
1434:   template<>
1434:     void
1434:     messages<wchar_t>::do_close(catalog) const;
1434: 
1434: 
1434: 
1434: }
1434: # 2065 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/codecvt.h" 1 3
1434: # 39 "/usr/include/c++/12/bits/codecvt.h" 3
1434:        
1434: # 40 "/usr/include/c++/12/bits/codecvt.h" 3
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   class codecvt_base
1434:   {
1434:   public:
1434:     enum result
1434:     {
1434:       ok,
1434:       partial,
1434:       error,
1434:       noconv
1434:     };
1434:   };
1434: # 70 "/usr/include/c++/12/bits/codecvt.h" 3
1434:   template<typename _InternT, typename _ExternT, typename _StateT>
1434:     class __codecvt_abstract_base
1434:     : public locale::facet, public codecvt_base
1434:     {
1434:     public:
1434: 
1434:       typedef codecvt_base::result result;
1434:       typedef _InternT intern_type;
1434:       typedef _ExternT extern_type;
1434:       typedef _StateT state_type;
1434: # 118 "/usr/include/c++/12/bits/codecvt.h" 3
1434:       result
1434:       out(state_type& __state, const intern_type* __from,
1434:    const intern_type* __from_end, const intern_type*& __from_next,
1434:    extern_type* __to, extern_type* __to_end,
1434:    extern_type*& __to_next) const
1434:       {
1434:  return this->do_out(__state, __from, __from_end, __from_next,
1434:        __to, __to_end, __to_next);
1434:       }
1434: # 157 "/usr/include/c++/12/bits/codecvt.h" 3
1434:       result
1434:       unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
1434:        extern_type*& __to_next) const
1434:       { return this->do_unshift(__state, __to,__to_end,__to_next); }
1434: # 198 "/usr/include/c++/12/bits/codecvt.h" 3
1434:       result
1434:       in(state_type& __state, const extern_type* __from,
1434:   const extern_type* __from_end, const extern_type*& __from_next,
1434:   intern_type* __to, intern_type* __to_end,
1434:   intern_type*& __to_next) const
1434:       {
1434:  return this->do_in(__state, __from, __from_end, __from_next,
1434:       __to, __to_end, __to_next);
1434:       }
1434: 
1434:       int
1434:       encoding() const throw()
1434:       { return this->do_encoding(); }
1434: 
1434:       bool
1434:       always_noconv() const throw()
1434:       { return this->do_always_noconv(); }
1434: 
1434:       int
1434:       length(state_type& __state, const extern_type* __from,
1434:       const extern_type* __end, size_t __max) const
1434:       { return this->do_length(__state, __from, __end, __max); }
1434: 
1434:       int
1434:       max_length() const throw()
1434:       { return this->do_max_length(); }
1434: 
1434:     protected:
1434:       explicit
1434:       __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
1434: 
1434:       virtual
1434:       ~__codecvt_abstract_base() { }
1434: # 239 "/usr/include/c++/12/bits/codecvt.h" 3
1434:       virtual result
1434:       do_out(state_type& __state, const intern_type* __from,
1434:       const intern_type* __from_end, const intern_type*& __from_next,
1434:       extern_type* __to, extern_type* __to_end,
1434:       extern_type*& __to_next) const = 0;
1434: 
1434:       virtual result
1434:       do_unshift(state_type& __state, extern_type* __to,
1434:    extern_type* __to_end, extern_type*& __to_next) const = 0;
1434: 
1434:       virtual result
1434:       do_in(state_type& __state, const extern_type* __from,
1434:      const extern_type* __from_end, const extern_type*& __from_next,
1434:      intern_type* __to, intern_type* __to_end,
1434:      intern_type*& __to_next) const = 0;
1434: 
1434:       virtual int
1434:       do_encoding() const throw() = 0;
1434: 
1434:       virtual bool
1434:       do_always_noconv() const throw() = 0;
1434: 
1434:       virtual int
1434:       do_length(state_type&, const extern_type* __from,
1434:   const extern_type* __end, size_t __max) const = 0;
1434: 
1434:       virtual in04B7, (wchar_t)0x04B9, (wchar_t)0x04BB,
1417:     (wchar_t)0x04BD, (wchar_t)0x04BF, (wchar_t)0x04C2, (wchar_t)0x04C4, (wchar_t)0x04C8,
1417:     (wchar_t)0x04CC, (wchar_t)0x04D1, (wchar_t)0x04D3, (wchar_t)0x04D5, (wchar_t)0x04D7,
1417:     (wchar_t)0x04D9, (wchar_t)0x04DB, (wchar_t)0x04DD, (wchar_t)0x04DF, (wchar_t)0x04E1,
1417:     (wchar_t)0x04E3, (wchar_t)0x04E5, (wchar_t)0x04E7, (wchar_t)0x04E9, (wchar_t)0x04EB,
1417:     (wchar_t)0x04EF, (wchar_t)0x04F1, (wchar_t)0x04F3, (wchar_t)0x04F5, (wchar_t)0x04F9,
1417:     (wchar_t)0x0561, (wchar_t)0x0562, (wchar_t)0x0563, (wchar_t)0x0564, (wchar_t)0x0565,
1417:     (wchar_t)0x0566, (wchar_t)0x0567, (wchar_t)0x0568, (wchar_t)0x0569, (wchar_t)0x056A,
1417:     (wchar_t)0x056B, (wchar_t)0x056C, (wchar_t)0x056D, (wchar_t)0x056E, (wchar_t)0x056F,
1417:     (wchar_t)0x0570, (wchar_t)0x0571, (wchar_t)0x0572, (wchar_t)0x0573, (wchar_t)0x0574,
1417:     (wchar_t)0x0575, (wchar_t)0x0576, (wchar_t)0x0577, (wchar_t)0x0578, (wchar_t)0x0579,
1417:     (wchar_t)0x057A, (wchar_t)0x057B, (wchar_t)0x057C, (wchar_t)0x057D, (wchar_t)0x057E,
1417:     (wchar_t)0x057F, (wchar_t)0x0580, (wchar_t)0x0581, (wchar_t)0x0582, (wchar_t)0x0583,
1417:     (wchar_t)0x0584, (wchar_t)0x0585, (wchar_t)0x0586, (wchar_t)0x10D0, (wchar_t)0x10D1,
1417:     (wchar_t)0x10D2, (wchar_t)0x10D3, (wchar_t)0x10D4, (wchar_t)0x10D5, (wchar_t)0x10D6,
1417:     (wchar_t)0x10D7, (wchar_t)0x10D8, (wchar_t)0x10D9, (wchar_t)0x10DA, (wchar_t)0x10DB,
1417:     (wchar_t)0x10DC, (wchar_t)0x10DD, (wchar_t)0x10DE, (wchar_t)0x10DF, (wchar_t)0x10E0,
1417:     (wchar_t)0x10E1, (wchar_t)0x10E2, (wchar_t)0x10E3, (wchar_t)0x10E4, (wchar_t)0x10E5,
1417:     (wchar_t)0x10E6, (wchar_t)0x10E7, (wchar_t)0x10E8, (wchar_t)0x10E9, (wchar_t)0x10EA,
1417:     (wchar_t)0x10EB, (wchar_t)0x10EC, (wchar_t)0x10ED, (wchar_t)0x10EE, (wchar_t)0x10EF,
1417:     (wchar_t)0x10F0, (wchar_t)0x10F1, (wchar_t)0x10F2, (wchar_t)0x10F3, (wchar_t)0x10F4,
1417:     (wchar_t)0x10F5, (wchar_t)0x1E01, (wchar_t)0x1E03, (wchar_t)0x1E05, (wchar_t)0x1E07,
1417:     (wchar_t)0x1E09, (wchar_t)0x1E0B, (wchar_t)0x1E0D, (wchar_t)0x1E0F, (wchar_t)0x1E11,
1417:     (wchar_t)0x1E13, (wchar_t)0x1E15, (wchar_t)0x1E17, (wchar_t)0x1E19, (wchar_t)0x1E1B,
1417:     (wchar_t)0x1E1D, (wchar_t)0x1E1F, (wchar_t)0x1E21, (wchar_t)0x1E23, (wchar_t)0x1E25,
1417:     (wchar_t)0x1E27, (wchar_t)0x1E29, (wchar_t)0x1E2B, (wchar_t)0x1E2D, (wchar_t)0x1E2F,
1417:     (wchar_t)0x1E31, (wchar_t)0x1E33, (wchar_t)0x1E35, (wchar_t)0x1E37, (wchar_t)0x1E39,
1417:     (wchar_t)0x1E3B, (wchar_t)0x1E3D, (wchar_t)0x1E3F, (wchar_t)0x1E41, (wchar_t)0x1E43,
1417:     (wchar_t)0x1E45, (wchar_t)0x1E47, (wchar_t)0x1E49, (wchar_t)0x1E4B, (wchar_t)0x1E4D,
1417:     (wchar_t)0x1E4F, (wchar_t)0x1E51, (wchar_t)0x1E53, (wchar_t)0x1E55, (wchar_t)0x1E57,
1417:     (wchar_t)0x1E59, (wchar_t)0x1E5B, (wchar_t)0x1E5D, (wchar_t)0x1E5F, (wchar_t)0x1E61,
1417:     (wchar_t)0x1E63, (wchar_t)0x1E65, (wchar_t)0x1E67, (wchar_t)0x1E69, (wchar_t)0x1E6B,
1417:     (wchar_t)0x1E6D, (wchar_t)0x1E6F, (wchar_t)0x1E71, (wchar_t)0x1E73, (wchar_t)0x1E75,
1417:     (wchar_t)0x1E77, (wchar_t)0x1E79, (wchar_t)0x1E7B, (wchar_t)0x1E7D, (wchar_t)0x1E7F,
1417:     (wchar_t)0x1E81, (wchar_t)0x1E83, (wchar_t)0x1E85, (wchar_t)0x1E87, (wchar_t)0x1E89,
1417:     (wchar_t)0x1E8B, (wchar_t)0x1E8D, (wchar_t)0x1E8F, (wchar_t)0x1E91, (wchar_t)0x1E93,
1417:     (wchar_t)0x1E95, (wchar_t)0x1EA1, (wchar_t)0x1EA3, (wchar_t)0x1EA5, (wchar_t)0x1EA7,
1417:     (wchar_t)0x1EA9, (wchar_t)0x1EAB, (wchar_t)0x1EAD, (wchar_t)0x1EAF, (wchar_t)0x1EB1,
1417:     (wchar_t)0x1EB3, (wchar_t)0x1EB5, (wchar_t)0x1EB7, (wchar_t)0x1EB9, (wchar_t)0x1EBB,
1417:     (wchar_t)0x1EBD, (wchar_t)0x1EBF, (wchar_t)0x1EC1, (wchar_t)0x1EC3, (wchar_t)0x1EC5,
1417:     (wchar_t)0x1EC7, (wchar_t)0x1EC9, (wchar_t)0x1ECB, (wchar_t)0x1ECD, (wchar_t)0x1ECF,
1417:     (wchar_t)0x1ED1, (wchar_t)0x1ED3, (wchar_t)0x1ED5, (wchar_t)0x1ED7, (wchar_t)0x1ED9,
1417:     (wchar_t)0x1EDB, (wchar_t)0x1EDD, (wchar_t)0x1EDF, (wchar_t)0x1EE1, (wchar_t)0x1EE3,
1417:     (wchar_t)0x1EE5, (wchar_t)0x1EE7, (wchar_t)0x1EE9, (wchat
1434:       do_max_length() const throw() = 0;
1434:     };
1434: # 276 "/usr/include/c++/12/bits/codecvt.h" 3
1434:    template<typename _InternT, typename _ExternT, typename _StateT>
1434:     class codecvt
1434:     : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
1434:     {
1434:     public:
1434: 
1434:       typedef codecvt_base::result result;
1434:       typedef _InternT intern_type;
1434:       typedef _ExternT extern_type;
1434:       typedef _StateT state_type;
1434: 
1434:     protected:
1434:       __c_locale _M_c_locale_codecvt;
1434: 
1434:     public:
1434:       static locale::id id;
1434: 
1434:       explicit
1434:       codecvt(size_t __refs = 0)
1434:       : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs),
1434:  _M_c_locale_codecvt(0)
1434:       { }
1434: 
1434:       explicit
1434:       codecvt(__c_locale __cloc, size_t __refs = 0);
1434: 
1434:     protected:
1434:       virtual
1434:       ~codecvt() { }
1434: 
1434:       virtual result
1434:       do_out(state_type& __state, const intern_type* __from,
1434:       const intern_type* __from_end, const intern_type*& __from_next,
1434:       extern_type* __to, extern_type* __to_end,
1434:       extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_unshift(state_type& __state, extern_type* __to,
1434:    extern_type* __to_end, extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_in(state_type& __state, const extern_type* __from,
1434:      const extern_type* __from_end, const extern_type*& __from_next,
1434:      intern_type* __to, intern_type* __to_end,
1434:      intern_type*& __to_next) const;
1434: 
1434:       virtual int
1434:       do_encoding() const throw();
1434: 
1434:       virtual bool
1434:       do_always_noconv() const throw();
1434: 
1434:       virtual int
1434:       do_length(state_type&, const extern_type* __from,
1434:   const extern_type* __end, size_t __max) const;
1434: 
1434:       virtual int
1434:       do_max_length() const throw();
1434:     };
1434: 
1434:   template<typename _InternT, typename _ExternT, typename _StateT>
1434:     locale::id codecvt<_InternT, _ExternT, _StateT>::id;
1434: 
1434: 
1434:   template<>
1434:     class codecvt<char, char, mbstate_t>
1434:     : public __codecvt_abstract_base<char, char, mbstate_t>
1434:     {
1434:       friend class messages<char>;
1434: 
1434:     public:
1434: 
1434:       typedef char intern_type;
1434:       typedef char extern_type;
1434:       typedef mbstate_t state_type;
1434: 
1434:     protected:
1434:       __c_locale _M_c_locale_codecvt;
1434: 
1434:     public:
1434:       static locale::id id;
1434: 
1434:       explicit
1434:       codecvt(size_t __refs = 0);
1434: 
1434:       explicit
1434:       codecvt(__c_locale __cloc, size_t __refs = 0);
1434: 
1434:     protected:
1434:       virtual
1434:       ~codecvt();
1434: 
1434:       virtual result
1434:       do_out(state_type& __state, const intern_type* __from,
1434:       const intern_type* __from_end, const intern_type*& __from_next,
1434:       extern_type* __to, extern_type* __to_end,
1434:       extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_unshift(state_type& __state, extern_type* __to,
1434:    extern_type* __to_end, extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_in(state_type& __state, const extern_type* __from,
1434:      const extern_type* __from_end, const extern_type*& __from_next,
1434:      intern_type* __to, intern_type* __to_end,
1434:      intern_type*& __to_next) const;
1434: 
1434:       virtual int
1434:       do_encoding() const throw();
1434: 
1434:       virtual bool
1434:       do_always_noconv() const throw();
1434: 
1434:       virtual int
1434:       do_length(state_type&, const extern_type* __from,
1434:   const extern_type* __end, size_t __max) const;
1434: 
1434:       virtual int
1434:       do_max_length() const throw();
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     class codecvt<wch__attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern void rewind (FILE *__stream);
1115: # 744 "/usr/include/stdio.h" 3 4
1115: extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64")
1115: 
1115:                   ;
1115: extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
1115: # 768 "/usr/include/stdio.h" 3 4
1115: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64")
1115:                                           ;
1115: extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64")
1115:                                                           ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
1115: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
1115: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
1115: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
1115: 
1115: 
1115: 
1115: extern void clearerr (FILE *__stream) noexcept (true);
1115: 
1115: extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern void clearerr_unlocked (FILE *__stream) noexcept (true);
1115: extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void perror (const char *__s);
1115: 
1115: 
1115: 
1115: 
1115: extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: # 823 "/usr/include/stdio.h" 3 4
1115: extern int pclose (FILE *__stream);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern FILE *popen (const char *__command, const char *__modes)
1115:   __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *ctermid (char *__s) noexcept (true)
1115:   __attribute__ ((__access__ (__write_only__, 1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *cuserid (char *__s)
1115:   __attribute__ ((__access__ (__write_only__, 1)));
1115: 
1115: 
1115: 
1115: 
1115: struct obstack;
1115: 
1115: 
1115: extern int obstack_printf (struct obstack *__restrict __obstack,
1115:       const char *__restrict __format, ...)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
1115: extern int obstack_vprintf (struct obstack *__restrict __obstack,
1115:        const char *__restrict __format,
1115:        __gnuc_va_list __args)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void flockfile (FILE *__stream) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: extern void funlockfile (FILE *__stream) noexcept (true);
1115: # 885 "/usr/include/stdio.h" 3 4
1115: extern int __uflow (FILE *);
1115: extern int __overflow (FILE *, int);
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 1 3 4
1115: # 26 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1115: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1115:      const char *__restrict __format, ...) noexcept (true)
1115:     __attribute__ ((__access__ (__write_only__, 1, 3)));
1115: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
1115:       const char *__restrict __format,
1115:       __gnuc_va_list __ap) noexcept (true)
1115:     __attar_t, char, mbstate_t>
1434:     : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
1434:     {
1434:       friend class messages<wchar_t>;
1434: 
1434:     public:
1434: 
1434:       typedef wchar_t intern_type;
1434:       typedef char extern_type;
1434:       typedef mbstate_t state_type;
1434: 
1434:     protected:
1434:       __c_locale _M_c_locale_codecvt;
1434: 
1434:     public:
1434:       static locale::id id;
1434: 
1434:       explicit
1434:       codecvt(size_t __refs = 0);
1434: 
1434:       explicit
1434:       codecvt(__c_locale __cloc, size_t __refs = 0);
1434: 
1434:     protected:
1434:       virtual
1434:       ~codecvt();
1434: 
1434:       virtual result
1434:       do_out(state_type& __state, const intern_type* __from,
1434:       const intern_type* __from_end, const intern_type*& __from_next,
1434:       extern_type* __to, extern_type* __to_end,
1434:       extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_unshift(state_type& __state,
1434:    extern_type* __to, extern_type* __to_end,
1434:    extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_in(state_type& __state,
1434:       const extern_type* __from, const extern_type* __from_end,
1434:       const extern_type*& __from_next,
1434:       intern_type* __to, intern_type* __to_end,
1434:       intern_type*& __to_next) const;
1434: 
1434:       virtual
1434:       int do_encoding() const throw();
1434: 
1434:       virtual
1434:       bool do_always_noconv() const throw();
1434: 
1434:       virtual
1434:       int do_length(state_type&, const extern_type* __from,
1434:       const extern_type* __end, size_t __max) const;
1434: 
1434:       virtual int
1434:       do_max_length() const throw();
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     class codecvt<char16_t, char, mbstate_t>
1434:     : public __codecvt_abstract_base<char16_t, char, mbstate_t>
1434:     {
1434:     public:
1434: 
1434:       typedef char16_t intern_type;
1434:       typedef char extern_type;
1434:       typedef mbstate_t state_type;
1434: 
1434:     public:
1434:       static locale::id id;
1434: 
1434:       explicit
1434:       codecvt(size_t __refs = 0)
1434:       : __codecvt_abstract_base<char16_t, char, mbstate_t>(__refs) { }
1434: 
1434:     protected:
1434:       virtual
1434:       ~codecvt();
1434: 
1434:       virtual result
1434:       do_out(state_type& __state, const intern_type* __from,
1434:       const intern_type* __from_end, const intern_type*& __from_next,
1434:       extern_type* __to, extern_type* __to_end,
1434:       extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_unshift(state_type& __state,
1434:    extern_type* __to, extern_type* __to_end,
1434:    extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_in(state_type& __state,
1434:       const extern_type* __from, const extern_type* __from_end,
1434:       const extern_type*& __from_next,
1434:       intern_type* __to, intern_type* __to_end,
1434:       intern_type*& __to_next) const;
1434: 
1434:       virtual
1434:       int do_encoding() const throw();
1434: 
1434:       virtual
1434:       bool do_always_noconv() const throw();
1434: 
1434:       virtual
1434:       int do_length(state_type&, const extern_type* __from,
1434:       const extern_type* __end, size_t __max) const;
1434: 
1434:       virtual int
1434:       do_max_length() const throw();
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     class codecvt<char32_t, char, mbstate_t>
1434:     : public __codecvt_abstract_base<char32_t, char, mbstate_t>
1434:     {
1434:     public:
1434: 
1434:       typedef char32_t intern_type;
1434:       typedef char extern_type;
1434:       typedef mbstate_t state_type;
1434: 
1434:     public:
1434:       static locale::id id;
1434: 
1434:       explicit
1434:       codecvt(size_t __refs = 0)
1434:       : __codecvt_abstract_base<char32_t, char, mbstate_t>(__refs) { }
1434: 
1434:     protected:
1434:    r_t)0x1EEB, (wchar_t)0x1EED,
1417:     (wchar_t)0x1EEF, (wchar_t)0x1EF1, (wchar_t)0x1EF3, (wchar_t)0x1EF5, (wchar_t)0x1EF7,
1417:     (wchar_t)0x1EF9, (wchar_t)0x1F00, (wchar_t)0x1F01, (wchar_t)0x1F02, (wchar_t)0x1F03,
1417:     (wchar_t)0x1F04, (wchar_t)0x1F05, (wchar_t)0x1F06, (wchar_t)0x1F07, (wchar_t)0x1F10,
1417:     (wchar_t)0x1F11, (wchar_t)0x1F12, (wchar_t)0x1F13, (wchar_t)0x1F14, (wchar_t)0x1F15,
1417:     (wchar_t)0x1F20, (wchar_t)0x1F21, (wchar_t)0x1F22, (wchar_t)0x1F23, (wchar_t)0x1F24,
1417:     (wchar_t)0x1F25, (wchar_t)0x1F26, (wchar_t)0x1F27, (wchar_t)0x1F30, (wchar_t)0x1F31,
1417:     (wchar_t)0x1F32, (wchar_t)0x1F33, (wchar_t)0x1F34, (wchar_t)0x1F35, (wchar_t)0x1F36,
1417:     (wchar_t)0x1F37, (wchar_t)0x1F40, (wchar_t)0x1F41, (wchar_t)0x1F42, (wchar_t)0x1F43,
1417:     (wchar_t)0x1F44, (wchar_t)0x1F45, (wchar_t)0x1F51, (wchar_t)0x1F53, (wchar_t)0x1F55,
1417:     (wchar_t)0x1F57, (wchar_t)0x1F60, (wchar_t)0x1F61, (wchar_t)0x1F62, (wchar_t)0x1F63,
1417:     (wchar_t)0x1F64, (wchar_t)0x1F65, (wchar_t)0x1F66, (wchar_t)0x1F67, (wchar_t)0x1F80,
1417:     (wchar_t)0x1F81, (wchar_t)0x1F82, (wchar_t)0x1F83, (wchar_t)0x1F84, (wchar_t)0x1F85,
1417:     (wchar_t)0x1F86, (wchar_t)0x1F87, (wchar_t)0x1F90, (wchar_t)0x1F91, (wchar_t)0x1F92,
1417:     (wchar_t)0x1F93, (wchar_t)0x1F94, (wchar_t)0x1F95, (wchar_t)0x1F96, (wchar_t)0x1F97,
1417:     (wchar_t)0x1FA0, (wchar_t)0x1FA1, (wchar_t)0x1FA2, (wchar_t)0x1FA3, (wchar_t)0x1FA4,
1417:     (wchar_t)0x1FA5, (wchar_t)0x1FA6, (wchar_t)0x1FA7, (wchar_t)0x1FB0, (wchar_t)0x1FB1,
1417:     (wchar_t)0x1FD0, (wchar_t)0x1FD1, (wchar_t)0x1FE0, (wchar_t)0x1FE1, (wchar_t)0x24D0,
1417:     (wchar_t)0x24D1, (wchar_t)0x24D2, (wchar_t)0x24D3, (wchar_t)0x24D4, (wchar_t)0x24D5,
1417:     (wchar_t)0x24D6, (wchar_t)0x24D7, (wchar_t)0x24D8, (wchar_t)0x24D9, (wchar_t)0x24DA,
1417:     (wchar_t)0x24DB, (wchar_t)0x24DC, (wchar_t)0x24DD, (wchar_t)0x24DE, (wchar_t)0x24DF,
1417:     (wchar_t)0x24E0, (wchar_t)0x24E1, (wchar_t)0x24E2, (wchar_t)0x24E3, (wchar_t)0x24E4,
1417:     (wchar_t)0x24E5, (wchar_t)0x24E6, (wchar_t)0x24E7, (wchar_t)0x24E8, (wchar_t)0x24E9,
1417:     (wchar_t)0xFF41, (wchar_t)0xFF42, (wchar_t)0xFF43, (wchar_t)0xFF44, (wchar_t)0xFF45,
1417:     (wchar_t)0xFF46, (wchar_t)0xFF47, (wchar_t)0xFF48, (wchar_t)0xFF49, (wchar_t)0xFF4A,
1417:     (wchar_t)0xFF4B, (wchar_t)0xFF4C, (wchar_t)0xFF4D, (wchar_t)0xFF4E, (wchar_t)0xFF4F,
1417:     (wchar_t)0xFF50, (wchar_t)0xFF51, (wchar_t)0xFF52, (wchar_t)0xFF53, (wchar_t)0xFF54,
1417:     (wchar_t)0xFF55, (wchar_t)0xFF56, (wchar_t)0xFF57, (wchar_t)0xFF58, (wchar_t)0xFF59,
1417:     (wchar_t)0xFF5A};
1417: 
1417: static const wchar_t unicode_uppers[] = {
1417:     (wchar_t)0x0041, (wchar_t)0x0042, (wchar_t)0x0043, (wchar_t)0x0044, (wchar_t)0x0045,
1417:     (wchar_t)0x0046, (wchar_t)0x0047, (wchar_t)0x0048, (wchar_t)0x0049, (wchar_t)0x004A,
1417:     (wchar_t)0x004B, (wchar_t)0x004C, (wchar_t)0x004D, (wchar_t)0x004E, (wchar_t)0x004F,
1417:     (wchar_t)0x0050, (wchar_t)0x0051, (wchar_t)0x0052, (wchar_t)0x0053, (wchar_t)0x0054,
1417:     (wchar_t)0x0055, (wchar_t)0x0056, (wchar_t)0x0057, (wchar_t)0x0058, (wchar_t)0x0059,
1417:     (wchar_t)0x005A, (wchar_t)0x00C0, (wchar_t)0x00C1, (wchar_t)0x00C2, (wchar_t)0x00C3,
1417:     (wchar_t)0x00C4, (wchar_t)0x00C5, (wchar_t)0x00C6, (wchar_t)0x00C7, (wchar_t)0x00C8,
1417:     (wchar_t)0x00C9, (wchar_t)0x00CA, (wchar_t)0x00CB, (wchar_t)0x00CC, (wchar_t)0x00CD,
1417:     (wchar_t)0x00CE, (wchar_t)0x00CF, (wchar_t)0x00D0, (wchar_t)0x00D1, (wchar_t)0x00D2,
1417:     (wchar_t)0x00D3, (wchar_t)0x00D4, (wchar_t)0x00D5, (wchar_t)0x00D6, (wchar_t)0x00D8,
1417:     (wchar_t)0x00D9, (wchar_t)0x00DA, (wchar_t)0x00DB, (wchar_t)0x00DC, (wchar_t)0x00DD,
1417:     (wchar_t)0x00DE, (wchar_t)0x0178, (wchar_t)0x0100, (wchar_t)0x0102, (wchar_t)0x0104,
1417:     (wchar_t)0x0106, (wchar_t)0x0108, (wchar_t)0x010A, (wchar_t)0x010C, (wchar_t)0x010E,
1417:     (wchar_t)0x0110, (wchar_t)0x0112, (wchar_t)0x0114, (wchar_t)0x0116, (wchar_t)0x0118,
1417:     (wchar_t)0x011A, (wchar_t)0x011C, (wchar_t)0x011E, (wchar_t)0x0120, (wchar_t)0x   virtual
1434:       ~codecvt();
1434: 
1434:       virtual result
1434:       do_out(state_type& __state, const intern_type* __from,
1434:       const intern_type* __from_end, const intern_type*& __from_next,
1434:       extern_type* __to, extern_type* __to_end,
1434:       extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_unshift(state_type& __state,
1434:    extern_type* __to, extern_type* __to_end,
1434:    extern_type*& __to_next) const;
1434: 
1434:       virtual result
1434:       do_in(state_type& __state,
1434:       const extern_type* __from, const extern_type* __from_end,
1434:       const extern_type*& __from_next,
1434:       intern_type* __to, intern_type* __to_end,
1434:       intern_type*& __to_next) const;
1434: 
1434:       virtual
1434:       int do_encoding() const throw();
1434: 
1434:       virtual
1434:       bool do_always_noconv() const throw();
1434: 
1434:       virtual
1434:       int do_length(state_type&, const extern_type* __from,
1434:       const extern_type* __end, size_t __max) const;
1434: 
1434:       virtual int
1434:       do_max_length() const throw();
1434:     };
1434: # 698 "/usr/include/c++/12/bits/codecvt.h" 3
1434:   template<typename _InternT, typename _ExternT, typename _StateT>
1434:     class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
1434:     {
1434:     public:
1434:       explicit
1434:       codecvt_byname(const char* __s, size_t __refs = 0)
1434:       : codecvt<_InternT, _ExternT, _StateT>(__refs)
1434:       {
1434:  if (__builtin_strcmp(__s, "C") != 0
1434:      && __builtin_strcmp(__s, "POSIX") != 0)
1434:    {
1434:      this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
1434:      this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
1434:    }
1434:       }
1434: 
1434: 
1434:       explicit
1434:       codecvt_byname(const string& __s, size_t __refs = 0)
1434:       : codecvt_byname(__s.c_str(), __refs) { }
1434: 
1434: 
1434:     protected:
1434:       virtual
1434:       ~codecvt_byname() { }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     class codecvt_byname<char16_t, char, mbstate_t>
1434:     : public codecvt<char16_t, char, mbstate_t>
1434:     {
1434:     public:
1434:       explicit
1434:       codecvt_byname(const char*, size_t __refs = 0)
1434:       : codecvt<char16_t, char, mbstate_t>(__refs) { }
1434: 
1434:       explicit
1434:       codecvt_byname(const string& __s, size_t __refs = 0)
1434:       : codecvt_byname(__s.c_str(), __refs) { }
1434: 
1434:     protected:
1434:       virtual
1434:       ~codecvt_byname() { }
1434:     };
1434: 
1434:   template<>
1434:     class codecvt_byname<char32_t, char, mbstate_t>
1434:     : public codecvt<char32_t, char, mbstate_t>
1434:     {
1434:     public:
1434:       explicit
1434:       codecvt_byname(const char*, size_t __refs = 0)
1434:       : codecvt<char32_t, char, mbstate_t>(__refs) { }
1434: 
1434:       explicit
1434:       codecvt_byname(const string& __s, size_t __refs = 0)
1434:       : codecvt_byname(__s.c_str(), __refs) { }
1434: 
1434:     protected:
1434:       virtual
1434:       ~codecvt_byname() { }
1434:     };
1434: # 805 "/usr/include/c++/12/bits/codecvt.h" 3
1434:   extern template class codecvt_byname<char, char, mbstate_t>;
1434: 
1434:   extern template
1434:     const codecvt<char, char, mbstate_t>&
1434:     use_facet<codecvt<char, char, mbstate_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<codecvt<char, char, mbstate_t> >(const locale&);
1434: 
1434: 
1434:   extern template class codecvt_byname<wchar_t, char, mbstate_t>;
1434: 
1434:   extern template
1434:     const codecvt<wchar_t, char, mbstate_t>&
1434:     use_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
1434: 
1434: 
1434: 
1434:   extern template class codecvt_byname<char16_t, char, mbstate_t>;
1434:   extern template class codecvt_byname<char32_t, char, mbstate_t>;
1434: # 840 "/usribute__ ((__access__ (__write_only__, 1, 3)));
1115: 
1115: 
1115: 
1115: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
1115:       size_t __slen, const char *__restrict __format,
1115:       ...) noexcept (true)
1115:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
1115:        size_t __slen, const char *__restrict __format,
1115:        __gnuc_va_list __ap) noexcept (true)
1115:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
1115:      const char *__restrict __format, ...);
1115: extern int __printf_chk (int __flag, const char *__restrict __format, ...);
1115: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
1115:       const char *__restrict __format, __gnuc_va_list __ap);
1115: extern int __vprintf_chk (int __flag, const char *__restrict __format,
1115:      __gnuc_va_list __ap);
1115: 
1115: 
1115: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
1115:      ...) __attribute__ ((__format__ (__printf__, 3, 4)));
1115: extern int __vdprintf_chk (int __fd, int __flag,
1115:       const char *__restrict __fmt, __gnuc_va_list __arg)
1115:      __attribute__ ((__format__ (__printf__, 3, 0)));
1115: 
1115: 
1115: 
1115: 
1115: extern int __asprintf_chk (char **__restrict __ptr, int __flag,
1115:       const char *__restrict __fmt, ...)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
1115: extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
1115:        const char *__restrict __fmt, __gnuc_va_list __arg)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
1115: extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
1115:      int __flag, const char *__restrict __format,
1115:      ...)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
1115: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
1115:       int __flag,
1115:       const char *__restrict __format,
1115:       __gnuc_va_list __args)
1115:      noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
1115: # 90 "/usr/include/arm-linux-gnueabihf/bits/stdio2-decl.h" 3 4
1115: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
1115:      FILE *__restrict __stream)
1115:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1115: 
1115: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
1115:       size_t __size, size_t __n,
1115:       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
1115:        int __n, FILE *__restrict __stream)
1115:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3)));
1115: 
1115: 
1115: 
1115: 
1115: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
1115:         size_t __size, size_t __n,
1115:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
1115: # 891 "/usr/include/stdio.h" 2 3 4
1115: # 902 "/usr/include/stdio.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 1 3 4
1115: # 46 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 3 4
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: getchar (void)
1115: {
1115:   return getc (stdin);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: fgetc_unlocked (FILE *__fp)
1115: {
1115:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: getc_unlocked (FILE *__f0122,
1417:     (wchar_t)0x0124, (wchar_t)0x0126, (wchar_t)0x0128, (wchar_t)0x012A, (wchar_t)0x012C,
1417:     (wchar_t)0x012E, (wchar_t)0x0049, (wchar_t)0x0132, (wchar_t)0x0134, (wchar_t)0x0136,
1417:     (wchar_t)0x0139, (wchar_t)0x013B, (wchar_t)0x013D, (wchar_t)0x013F, (wchar_t)0x0141,
1417:     (wchar_t)0x0143, (wchar_t)0x0145, (wchar_t)0x0147, (wchar_t)0x014A, (wchar_t)0x014C,
1417:     (wchar_t)0x014E, (wchar_t)0x0150, (wchar_t)0x0152, (wchar_t)0x0154, (wchar_t)0x0156,
1417:     (wchar_t)0x0158, (wchar_t)0x015A, (wchar_t)0x015C, (wchar_t)0x015E, (wchar_t)0x0160,
1417:     (wchar_t)0x0162, (wchar_t)0x0164, (wchar_t)0x0166, (wchar_t)0x0168, (wchar_t)0x016A,
1417:     (wchar_t)0x016C, (wchar_t)0x016E, (wchar_t)0x0170, (wchar_t)0x0172, (wchar_t)0x0174,
1417:     (wchar_t)0x0176, (wchar_t)0x0179, (wchar_t)0x017B, (wchar_t)0x017D, (wchar_t)0x0182,
1417:     (wchar_t)0x0184, (wchar_t)0x0187, (wchar_t)0x018B, (wchar_t)0x0191, (wchar_t)0x0198,
1417:     (wchar_t)0x01A0, (wchar_t)0x01A2, (wchar_t)0x01A4, (wchar_t)0x01A7, (wchar_t)0x01AC,
1417:     (wchar_t)0x01AF, (wchar_t)0x01B3, (wchar_t)0x01B5, (wchar_t)0x01B8, (wchar_t)0x01BC,
1417:     (wchar_t)0x01C4, (wchar_t)0x01C7, (wchar_t)0x01CA, (wchar_t)0x01CD, (wchar_t)0x01CF,
1417:     (wchar_t)0x01D1, (wchar_t)0x01D3, (wchar_t)0x01D5, (wchar_t)0x01D7, (wchar_t)0x01D9,
1417:     (wchar_t)0x01DB, (wchar_t)0x01DE, (wchar_t)0x01E0, (wchar_t)0x01E2, (wchar_t)0x01E4,
1417:     (wchar_t)0x01E6, (wchar_t)0x01E8, (wchar_t)0x01EA, (wchar_t)0x01EC, (wchar_t)0x01EE,
1417:     (wchar_t)0x01F1, (wchar_t)0x01F4, (wchar_t)0x01FA, (wchar_t)0x01FC, (wchar_t)0x01FE,
1417:     (wchar_t)0x0200, (wchar_t)0x0202, (wchar_t)0x0204, (wchar_t)0x0206, (wchar_t)0x0208,
1417:     (wchar_t)0x020A, (wchar_t)0x020C, (wchar_t)0x020E, (wchar_t)0x0210, (wchar_t)0x0212,
1417:     (wchar_t)0x0214, (wchar_t)0x0216, (wchar_t)0x0181, (wchar_t)0x0186, (wchar_t)0x018A,
1417:     (wchar_t)0x018E, (wchar_t)0x018F, (wchar_t)0x0190, (wchar_t)0x0193, (wchar_t)0x0194,
1417:     (wchar_t)0x0197, (wchar_t)0x0196, (wchar_t)0x019C, (wchar_t)0x019D, (wchar_t)0x019F,
1417:     (wchar_t)0x01A9, (wchar_t)0x01AE, (wchar_t)0x01B1, (wchar_t)0x01B2, (wchar_t)0x01B7,
1417:     (wchar_t)0x0386, (wchar_t)0x0388, (wchar_t)0x0389, (wchar_t)0x038A, (wchar_t)0x0391,
1417:     (wchar_t)0x0392, (wchar_t)0x0393, (wchar_t)0x0394, (wchar_t)0x0395, (wchar_t)0x0396,
1417:     (wchar_t)0x0397, (wchar_t)0x0398, (wchar_t)0x0399, (wchar_t)0x039A, (wchar_t)0x039B,
1417:     (wchar_t)0x039C, (wchar_t)0x039D, (wchar_t)0x039E, (wchar_t)0x039F, (wchar_t)0x03A0,
1417:     (wchar_t)0x03A1, (wchar_t)0x03A3, (wchar_t)0x03A4, (wchar_t)0x03A5, (wchar_t)0x03A6,
1417:     (wchar_t)0x03A7, (wchar_t)0x03A8, (wchar_t)0x03A9, (wchar_t)0x03AA, (wchar_t)0x03AB,
1417:     (wchar_t)0x038C, (wchar_t)0x038E, (wchar_t)0x038F, (wchar_t)0x03E2, (wchar_t)0x03E4,
1417:     (wchar_t)0x03E6, (wchar_t)0x03E8, (wchar_t)0x03EA, (wchar_t)0x03EC, (wchar_t)0x03EE,
1417:     (wchar_t)0x0410, (wchar_t)0x0411, (wchar_t)0x0412, (wchar_t)0x0413, (wchar_t)0x0414,
1417:     (wchar_t)0x0415, (wchar_t)0x0416, (wchar_t)0x0417, (wchar_t)0x0418, (wchar_t)0x0419,
1417:     (wchar_t)0x041A, (wchar_t)0x041B, (wchar_t)0x041C, (wchar_t)0x041D, (wchar_t)0x041E,
1417:     (wchar_t)0x041F, (wchar_t)0x0420, (wchar_t)0x0421, (wchar_t)0x0422, (wchar_t)0x0423,
1417:     (wchar_t)0x0424, (wchar_t)0x0425, (wchar_t)0x0426, (wchar_t)0x0427, (wchar_t)0x0428,
1417:     (wchar_t)0x0429, (wchar_t)0x042A, (wchar_t)0x042B, (wchar_t)0x042C, (wchar_t)0x042D,
1417:     (wchar_t)0x042E, (wchar_t)0x042F, (wchar_t)0x0401, (wchar_t)0x0402, (wchar_t)0x0403,
1417:     (wchar_t)0x0404, (wchar_t)0x0405, (wchar_t)0x0406, (wchar_t)0x0407, (wchar_t)0x0408,
1417:     (wchar_t)0x0409, (wchar_t)0x040A, (wchar_t)0x040B, (wchar_t)0x040C, (wchar_t)0x040E,
1417:     (wchar_t)0x040F, (wchar_t)0x0460, (wchar_t)0x0462, (wchar_t)0x0464, (wchar_t)0x0466,
1417:     (wchar_t)0x0468, (wchar_t)0x046A, (wchar_t)0x046C, (wchar_t)0x046E, (wchar_t)0x0470,
1417:     (wchar_t)0x0472, (wchar_t)0x0474, (wchar_t)0x0476, (wchar_t)0x0478, (wchar_t)0x047A,
1417:r/include/c++/12/bits/codecvt.h" 3
1434: 
1434: }
1434: # 2068 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 1 3
1434: # 33 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
1434:     {
1434:       const __moneypunct_cache<_CharT, _Intl>*
1434:       operator() (const locale& __loc) const
1434:       {
1434:  const size_t __i = moneypunct<_CharT, _Intl>::id._M_id();
1434:  const locale::facet** __caches = __loc._M_impl->_M_caches;
1434:  if (!__caches[__i])
1434:    {
1434:      __moneypunct_cache<_CharT, _Intl>* __tmp = 0;
1434:      try
1434:        {
1434:   __tmp = new __moneypunct_cache<_CharT, _Intl>;
1434:   __tmp->_M_cache(__loc);
1434:        }
1434:      catch(...)
1434:        {
1434:   delete __tmp;
1434:   throw;
1434:        }
1434:      __loc._M_impl->_M_install_cache(__tmp, __i);
1434:    }
1434:  return static_cast<
1434:    const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]);
1434:       }
1434:     };
1434: 
1434:   template<typename _CharT, bool _Intl>
1434:     void
1434:     __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
1434:     {
1434:       const moneypunct<_CharT, _Intl>& __mp =
1434:  use_facet<moneypunct<_CharT, _Intl> >(__loc);
1434: 
1434:       struct _Scoped_str
1434:       {
1434:  size_t _M_len;
1434:  _CharT* _M_str;
1434: 
1434:  explicit
1434:  _Scoped_str(const basic_string<_CharT>& __str)
1434:  : _M_len(__str.size()), _M_str(new _CharT[_M_len])
1434:  { __str.copy(_M_str, _M_len); }
1434: 
1434:  ~_Scoped_str() { delete[] _M_str; }
1434: 
1434:  void
1434:  _M_release(const _CharT*& __p, size_t& __n)
1434:  {
1434:    __p = _M_str;
1434:    __n = _M_len;
1434:    _M_str = 0;
1434:  }
1434:       };
1434: 
1434:       _Scoped_str __curr_symbol(__mp.curr_symbol());
1434:       _Scoped_str __positive_sign(__mp.positive_sign());
1434:       _Scoped_str __negative_sign(__mp.negative_sign());
1434: 
1434:       const string& __g = __mp.grouping();
1434:       const size_t __g_size = __g.size();
1434:       char* const __grouping = new char[__g_size];
1434:       __g.copy(__grouping, __g_size);
1434: 
1434: 
1434: 
1434:       _M_grouping = __grouping;
1434:       _M_grouping_size = __g_size;
1434:       _M_use_grouping = (__g_size
1434:     && static_cast<signed char>(__grouping[0]) > 0
1434:     && (__grouping[0]
1434:         != __gnu_cxx::__numeric_traits<char>::__max));
1434: 
1434:       _M_decimal_point = __mp.decimal_point();
1434:       _M_thousands_sep = __mp.thousands_sep();
1434: 
1434:       __curr_symbol._M_release(_M_curr_symbol, _M_curr_symbol_size);
1434:       __positive_sign._M_release(_M_positive_sign, _M_positive_sign_size);
1434:       __negative_sign._M_release(_M_negative_sign, _M_negative_sign_size);
1434: 
1434:       _M_frac_digits = __mp.frac_digits();
1434:       _M_pos_format = __mp.pos_format();
1434:       _M_neg_format = __mp.neg_format();
1434: 
1434:       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
1434:       __ct.widen(money_base::_S_atoms,
1434:    money_base::_S_atoms + money_base::_S_end, _M_atoms);
1434: 
1434:       _M_allocated = true;
1434:     }
1434: 
1434: namespace __cxx11 {
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     template<bool _Intl>
1434:       _InIter
1434:       money_get<_CharT, _InIter>::
1434:       _M_extract(iter_type __beg, iter_type __end, ios_base& __io,
1434:    ios_base::iostate& __err, string& __units) const
1434:       {
1434:  typedef char_traits<_CharT> __traits_type;
1434:  typedef typename string_type::size_type size_type;
1434:  typedef money_base::part part;
1434:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1434: 
1434:  const locale& __loc = __io._M_getloc();
1434:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:  __use_cache<__cache_type> __uc;
1434:  const __cache_type* __lc = __uc(__loc);
1434:  const char_type* __lit = __lc->_M_atoms;
1434: 
1434: 
1434:  bool __negative = false;
1434: 
1434:  size_type __sign_size = 0;
1434: 
1434:  const bool __mandatory_sign = (__lc->_M_positive_sign_size
1434:            && __lc->_M_negative_sign_size);
1434: 
1434:  string __grouping_tmp;
1434:  if (__lc->_M_use_grouping)
1434:    __grouping_tmp.reserve(32);
1434: 
1434:  int __last_pos = 0;
1434: 
1434:  int __n = 0;
1434: 
1434:  bool __testvalid = true;
1434: 
1434:  bool __testdecfound = false;
1434: 
1434: 
1434:  string __res;
1434:  __res.reserve(32);
1434: 
1434:  const char_type* __lit_zero = __lit + money_base::_S_zero;
1434:  const money_base::pattern __p = __lc->_M_neg_format;
1434:  for (int __i = 0; __i < 4 && __testvalid; ++__i)
1434:    {
1434:      const part __which = static_cast<part>(__p.field[__i]);
1434:      switch (__which)
1434:        {
1434:        case money_base::symbol:
1434: 
1434: 
1434: 
1434: 
1434:   if (__io.flags() & ios_base::showbase || __sign_size > 1
1434:       || __i == 0
1434:       || (__i == 1 && (__mandatory_sign
1434:          || (static_cast<part>(__p.field[0])
1434:       == money_base::sign)
1434:          || (static_cast<part>(__p.field[2])
1434:       == money_base::space)))
1434:       || (__i == 2 && ((static_cast<part>(__p.field[3])
1434:           == money_base::value)
1434:          || (__mandatory_sign
1434:       && (static_cast<part>(__p.field[3])
1434:           == money_base::sign)))))
1434:     {
1434:       const size_type __len = __lc->_M_curr_symbol_size;
1434:       size_type __j = 0;
1434:       for (; __beg != __end && __j < __len
1434:       && *__beg == __lc->_M_curr_symbol[__j];
1434:     ++__beg, (void)++__j);
1434:       if (__j != __len
1434:    && (__j || __io.flags() & ios_base::showbase))
1434:         __testvalid = false;
1434:     }
1434:   break;
1434:        case money_base::sign:
1434: 
1434:   if (__lc->_M_positive_sign_size && __beg != __end
1434:       && *__beg == __lc->_M_positive_sign[0])
1434:     {
1434:       __sign_size = __lc->_M_positive_sign_size;
1434:       ++__beg;
1434:     }
1434:   else if (__lc->_M_negative_sign_size && __beg != __end
1434:     && *__beg == __lc->_M_negative_sign[0])
1434:     {
1434:       __negative = true;
1434:       __sign_size = __lc->_M_negative_sign_size;
1434:       ++__beg;
1434:     }
1434:   else if (__lc->_M_positive_sign_size
1434:     && !__lc->_M_negative_sign_size)
1434: 
1434: 
1434:     __negative = true;
1434:   else if (__mandatory_sign)
1434:     __testvalid = false;
1434:   break;
1434:        case money_base::value:
1434: 
1434: 
1434:   for (; __beg != __end; ++__beg)
1434:     {
1434:       const char_type __c = *__beg;
1434:       const char_type* __q = __traits_type::find(__lit_zero,
1434:               10, __c);
1434:       if (__q != 0)
1434:         {
1434:    __res += money_base::_S_atoms[__q - __lit];
1434:    ++__n;
1434:         }
1434:       else if (__c == __lc->_M_decimal_point
1434:         && !__testdecfound)
1434:         {
1434:    if (__lc->_M_frac_digits <= 0)
1434:      break;
1434: 
1434:    __last_pos = __n;
1434:    __n = 0;
1434:    __testdecfound = true;
1434:         }
1434:       else if (__lc->_M_use_grouping
1434:         && __c == __lc->_M_thousands_sep
1434:         && !__testdecfound)
1434:         {
1434:    if (__n)
1434:      {
1434: 
1434:        __grouping_tmp += static_cast<char>(__n);
1434:        __n = 0;
1434:      }
1434:    else
1434:      {
1434:        __testvalid = false;
1434:        break;
1434:      }
1434:         }
1434:       else
1434:         break;
1434:     }
1434:   if (__res.empty())
1434:     __testvalid = false;
1434:   break;
1434:        case money_base::space:
1434: 
1434:   if (__beg != __end && __ctype.is(ctype_base::space, *__beg))
1434:     ++__beg;
1434:   else
1434:     __testvalid = false;
1434: 
1434:        case money_base::none:
1434: 
1434:   if (__i != 3)
143p)
1115: {
1115:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
1115: }
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: getchar_unlocked (void)
1115: {
1115:   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: putchar (int __c)
1115: {
1115:   return putc (__c, stdout);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: fputc_unlocked (int __c, FILE *__stream)
1115: {
1115:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: putc_unlocked (int __c, FILE *__stream)
1115: {
1115:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
1115: }
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: putchar_unlocked (int __c)
1115: {
1115:   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
1115: getline (char **__lineptr, size_t *__n, FILE *__stream)
1115: {
1115:   return __getdelim (__lineptr, __n, '\n', __stream);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) noexcept (true)
1115: {
1115:   return (((__stream)->_flags & 0x0010) != 0);
1115: }
1115: 
1115: 
1115: extern __inline __attribute__ ((__gnu_inline__)) int
1115: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) noexcept (true)
1115: {
1115:   return (((__stream)->_flags & 0x0020) != 0);
1115: }
1115: # 903 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) noexcept (true)
1115: {
1115:   return __builtin___sprintf_chk (__s, 2 - 1,
1115:       __builtin_object_size (__s, 2 > 1), __fmt,
1115:       __builtin_va_arg_pack ());
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1115: 
1115: {
1115:   return __builtin___vsprintf_chk (__s, 2 - 1,
1115:        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1115: }
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) noexcept (true)
1115: 
1115: {
1115:   return __builtin___snprintf_chk (__s, __n, 2 - 1,
1115:        __builtin_object_size (__s, 2 > 1), __fmt,
1115:        __builtin_va_arg_pack ());
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt,4:     for (; __beg != __end
1434:     && __ctype.is(ctype_base::space, *__beg); ++__beg);
1434:   break;
1434:        }
1434:    }
1434: 
1434: 
1434:  if (__sign_size > 1 && __testvalid)
1434:    {
1434:      const char_type* __sign = __negative ? __lc->_M_negative_sign
1434:                                           : __lc->_M_positive_sign;
1434:      size_type __i = 1;
1434:      for (; __beg != __end && __i < __sign_size
1434:      && *__beg == __sign[__i]; ++__beg, (void)++__i);
1434: 
1434:      if (__i != __sign_size)
1434:        __testvalid = false;
1434:    }
1434: 
1434:  if (__testvalid)
1434:    {
1434: 
1434:      if (__res.size() > 1)
1434:        {
1434:   const size_type __first = __res.find_first_not_of('0');
1434:   const bool __only_zeros = __first == string::npos;
1434:   if (__first)
1434:     __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
1434:        }
1434: 
1434: 
1434:      if (__negative && __res[0] != '0')
1434:        __res.insert(__res.begin(), '-');
1434: 
1434: 
1434:      if (__grouping_tmp.size())
1434:        {
1434: 
1434:   __grouping_tmp += static_cast<char>(__testdecfound ? __last_pos
1434:                          : __n);
1434:   if (!std::__verify_grouping(__lc->_M_grouping,
1434:          __lc->_M_grouping_size,
1434:          __grouping_tmp))
1434:     __err |= ios_base::failbit;
1434:        }
1434: 
1434: 
1434:      if (__testdecfound && __n != __lc->_M_frac_digits)
1434:        __testvalid = false;
1434:    }
1434: 
1434: 
1434:  if (!__testvalid)
1434:    __err |= ios_base::failbit;
1434:  else
1434:    __units.swap(__res);
1434: 
1434: 
1434:  if (__beg == __end)
1434:    __err |= ios_base::eofbit;
1434:  return __beg;
1434:       }
1434: # 368 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     money_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
1434:     ios_base::iostate& __err, long double& __units) const
1434:     {
1434:       string __str;
1434:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
1434:               : _M_extract<false>(__beg, __end, __io, __err, __str);
1434:       std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     money_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
1434:     ios_base::iostate& __err, string_type& __digits) const
1434:     {
1434:       typedef typename string::size_type size_type;
1434: 
1434:       const locale& __loc = __io._M_getloc();
1434:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:       string __str;
1434:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
1434:               : _M_extract<false>(__beg, __end, __io, __err, __str);
1434:       const size_type __len = __str.size();
1434:       if (__len)
1434:  {
1434:    __digits.resize(__len);
1434:    __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]);
1434:  }
1434:       return __beg;
1434:     }
1434: # 420 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     template<bool _Intl>
1434:       _OutIter
1434:       money_put<_CharT, _OutIter>::
1434:       _M_insert(iter_type __s, ios_base& __io, char_type __fill,
1434:   const string_type& __digits) const
1434:       {
1434:  typedef typename string_type::size_type size_type;
1434:  typedef money_base::part part;
1434:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1434: 
1434:  const locale& __loc = __io._M_getloc();
1434:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:  __use_cache<__cache_type> __uc;
1434:  const __cache_type* __lc = __uc(__loc);
1434:  const char_type* __lit = __lc->_M_atoms;
1434: 
1434: 
1434: 
1434:  const char_type* __beg = __digits.data();
1434: 
1434:     (wchar_t)0x047C, (wchar_t)0x047E, (wchar_t)0x0480, (wchar_t)0x0490, (wchar_t)0x0492,
1417:     (wchar_t)0x0494, (wchar_t)0x0496, (wchar_t)0x0498, (wchar_t)0x049A, (wchar_t)0x049C,
1417:     (wchar_t)0x049E, (wchar_t)0x04A0, (wchar_t)0x04A2, (wchar_t)0x04A4, (wchar_t)0x04A6,
1417:     (wchar_t)0x04A8, (wchar_t)0x04AA, (wchar_t)0x04AC, (wchar_t)0x04AE, (wchar_t)0x04B0,
1417:     (wchar_t)0x04B2, (wchar_t)0x04B4, (wchar_t)0x04B6, (wchar_t)0x04B8, (wchar_t)0x04BA,
1417:     (wchar_t)0x04BC, (wchar_t)0x04BE, (wchar_t)0x04C1, (wchar_t)0x04C3, (wchar_t)0x04C7,
1417:     (wchar_t)0x04CB, (wchar_t)0x04D0, (wchar_t)0x04D2, (wchar_t)0x04D4, (wchar_t)0x04D6,
1417:     (wchar_t)0x04D8, (wchar_t)0x04DA, (wchar_t)0x04DC, (wchar_t)0x04DE, (wchar_t)0x04E0,
1417:     (wchar_t)0x04E2, (wchar_t)0x04E4, (wchar_t)0x04E6, (wchar_t)0x04E8, (wchar_t)0x04EA,
1417:     (wchar_t)0x04EE, (wchar_t)0x04F0, (wchar_t)0x04F2, (wchar_t)0x04F4, (wchar_t)0x04F8,
1417:     (wchar_t)0x0531, (wchar_t)0x0532, (wchar_t)0x0533, (wchar_t)0x0534, (wchar_t)0x0535,
1417:     (wchar_t)0x0536, (wchar_t)0x0537, (wchar_t)0x0538, (wchar_t)0x0539, (wchar_t)0x053A,
1417:     (wchar_t)0x053B, (wchar_t)0x053C, (wchar_t)0x053D, (wchar_t)0x053E, (wchar_t)0x053F,
1417:     (wchar_t)0x0540, (wchar_t)0x0541, (wchar_t)0x0542, (wchar_t)0x0543, (wchar_t)0x0544,
1417:     (wchar_t)0x0545, (wchar_t)0x0546, (wchar_t)0x0547, (wchar_t)0x0548, (wchar_t)0x0549,
1417:     (wchar_t)0x054A, (wchar_t)0x054B, (wchar_t)0x054C, (wchar_t)0x054D, (wchar_t)0x054E,
1417:     (wchar_t)0x054F, (wchar_t)0x0550, (wchar_t)0x0551, (wchar_t)0x0552, (wchar_t)0x0553,
1417:     (wchar_t)0x0554, (wchar_t)0x0555, (wchar_t)0x0556, (wchar_t)0x10A0, (wchar_t)0x10A1,
1417:     (wchar_t)0x10A2, (wchar_t)0x10A3, (wchar_t)0x10A4, (wchar_t)0x10A5, (wchar_t)0x10A6,
1417:     (wchar_t)0x10A7, (wchar_t)0x10A8, (wchar_t)0x10A9, (wchar_t)0x10AA, (wchar_t)0x10AB,
1417:     (wchar_t)0x10AC, (wchar_t)0x10AD, (wchar_t)0x10AE, (wchar_t)0x10AF, (wchar_t)0x10B0,
1417:     (wchar_t)0x10B1, (wchar_t)0x10B2, (wchar_t)0x10B3, (wchar_t)0x10B4, (wchar_t)0x10B5,
1417:     (wchar_t)0x10B6, (wchar_t)0x10B7, (wchar_t)0x10B8, (wchar_t)0x10B9, (wchar_t)0x10BA,
1417:     (wchar_t)0x10BB, (wchar_t)0x10BC, (wchar_t)0x10BD, (wchar_t)0x10BE, (wchar_t)0x10BF,
1417:     (wchar_t)0x10C0, (wchar_t)0x10C1, (wchar_t)0x10C2, (wchar_t)0x10C3, (wchar_t)0x10C4,
1417:     (wchar_t)0x10C5, (wchar_t)0x1E00, (wchar_t)0x1E02, (wchar_t)0x1E04, (wchar_t)0x1E06,
1417:     (wchar_t)0x1E08, (wchar_t)0x1E0A, (wchar_t)0x1E0C, (wchar_t)0x1E0E, (wchar_t)0x1E10,
1417:     (wchar_t)0x1E12, (wchar_t)0x1E14, (wchar_t)0x1E16, (wchar_t)0x1E18, (wchar_t)0x1E1A,
1417:     (wchar_t)0x1E1C, (wchar_t)0x1E1E, (wchar_t)0x1E20, (wchar_t)0x1E22, (wchar_t)0x1E24,
1417:     (wchar_t)0x1E26, (wchar_t)0x1E28, (wchar_t)0x1E2A, (wchar_t)0x1E2C, (wchar_t)0x1E2E,
1417:     (wchar_t)0x1E30, (wchar_t)0x1E32, (wchar_t)0x1E34, (wchar_t)0x1E36, (wchar_t)0x1E38,
1417:     (wchar_t)0x1E3A, (wchar_t)0x1E3C, (wchar_t)0x1E3E, (wchar_t)0x1E40, (wchar_t)0x1E42,
1417:     (wchar_t)0x1E44, (wchar_t)0x1E46, (wchar_t)0x1E48, (wchar_t)0x1E4A, (wchar_t)0x1E4C,
1417:     (wchar_t)0x1E4E, (wchar_t)0x1E50, (wchar_t)0x1E52, (wchar_t)0x1E54, (wchar_t)0x1E56,
1417:     (wchar_t)0x1E58, (wchar_t)0x1E5A, (wchar_t)0x1E5C, (wchar_t)0x1E5E, (wchar_t)0x1E60,
1417:     (wchar_t)0x1E62, (wchar_t)0x1E64, (wchar_t)0x1E66, (wchar_t)0x1E68, (wchar_t)0x1E6A,
1417:     (wchar_t)0x1E6C, (wchar_t)0x1E6E, (wchar_t)0x1E70, (wchar_t)0x1E72, (wchar_t)0x1E74,
1417:     (wchar_t)0x1E76, (wchar_t)0x1E78, (wchar_t)0x1E7A, (wchar_t)0x1E7C, (wchar_t)0x1E7E,
1417:     (wchar_t)0x1E80, (wchar_t)0x1E82, (wchar_t)0x1E84, (wchar_t)0x1E86, (wchar_t)0x1E88,
1417:     (wchar_t)0x1E8A, (wchar_t)0x1E8C, (wchar_t)0x1E8E, (wchar_t)0x1E90, (wchar_t)0x1E92,
1417:     (wchar_t)0x1E94, (wchar_t)0x1EA0, (wchar_t)0x1EA2, (wchar_t)0x1EA4, (wchar_t)0x1EA6,
1417:     (wchar_t)0x1EA8, (wchar_t)0x1EAA, (wchar_t)0x1EAC, (wchar_t)0x1EAE, (wchar_t)0x1EB0,
1417:     (wchar_t)0x1EB2, (wchar_t)0x1EB4, (wchar_t)0x1EB6, (wchar_t)0x1EB8, (wchar_t)0x1EBA,
1417:     (wchar  money_base::pattern __p;
1434:  const char_type* __sign;
1434:  size_type __sign_size;
1434:  if (!(*__beg == __lit[money_base::_S_minus]))
1434:    {
1434:      __p = __lc->_M_pos_format;
1434:      __sign = __lc->_M_positive_sign;
1434:      __sign_size = __lc->_M_positive_sign_size;
1434:    }
1434:  else
1434:    {
1434:      __p = __lc->_M_neg_format;
1434:      __sign = __lc->_M_negative_sign;
1434:      __sign_size = __lc->_M_negative_sign_size;
1434:      if (__digits.size())
1434:        ++__beg;
1434:    }
1434: 
1434: 
1434:  size_type __len = __ctype.scan_not(ctype_base::digit, __beg,
1434:         __beg + __digits.size()) - __beg;
1434:  if (__len)
1434:    {
1434: 
1434: 
1434: 
1434:      string_type __value;
1434:      __value.reserve(2 * __len);
1434: 
1434: 
1434: 
1434:      long __paddec = __len - __lc->_M_frac_digits;
1434:      if (__paddec > 0)
1434:        {
1434:   if (__lc->_M_frac_digits < 0)
1434:     __paddec = __len;
1434:   if (__lc->_M_grouping_size)
1434:     {
1434:       __value.assign(2 * __paddec, char_type());
1434:       _CharT* __vend =
1434:         std::__add_grouping(&__value[0], __lc->_M_thousands_sep,
1434:        __lc->_M_grouping,
1434:        __lc->_M_grouping_size,
1434:        __beg, __beg + __paddec);
1434:       __value.erase(__vend - &__value[0]);
1434:     }
1434:   else
1434:     __value.assign(__beg, __paddec);
1434:        }
1434: 
1434: 
1434:      if (__lc->_M_frac_digits > 0)
1434:        {
1434:   __value += __lc->_M_decimal_point;
1434:   if (__paddec >= 0)
1434:     __value.append(__beg + __paddec, __lc->_M_frac_digits);
1434:   else
1434:     {
1434: 
1434:       __value.append(-__paddec, __lit[money_base::_S_zero]);
1434:       __value.append(__beg, __len);
1434:     }
1434:        }
1434: 
1434: 
1434:      const ios_base::fmtflags __f = __io.flags()
1434:                                     & ios_base::adjustfield;
1434:      __len = __value.size() + __sign_size;
1434:      __len += ((__io.flags() & ios_base::showbase)
1434:         ? __lc->_M_curr_symbol_size : 0);
1434: 
1434:      string_type __res;
1434:      __res.reserve(2 * __len);
1434: 
1434:      const size_type __width = static_cast<size_type>(__io.width());
1434:      const bool __testipad = (__f == ios_base::internal
1434:          && __len < __width);
1434: 
1434:      for (int __i = 0; __i < 4; ++__i)
1434:        {
1434:   const part __which = static_cast<part>(__p.field[__i]);
1434:   switch (__which)
1434:     {
1434:     case money_base::symbol:
1434:       if (__io.flags() & ios_base::showbase)
1434:         __res.append(__lc->_M_curr_symbol,
1434:        __lc->_M_curr_symbol_size);
1434:       break;
1434:     case money_base::sign:
1434: 
1434: 
1434: 
1434:       if (__sign_size)
1434:         __res += __sign[0];
1434:       break;
1434:     case money_base::value:
1434:       __res += __value;
1434:       break;
1434:     case money_base::space:
1434: 
1434: 
1434: 
1434:       if (__testipad)
1434:         __res.append(__width - __len, __fill);
1434:       else
1434:         __res += __fill;
1434:       break;
1434:     case money_base::none:
1434:       if (__testipad)
1434:         __res.append(__width - __len, __fill);
1434:       break;
1434:     }
1434:        }
1434: 
1434: 
1434:      if (__sign_size > 1)
1434:        __res.append(__sign + 1, __sign_size - 1);
1434: 
1434: 
1434:      __len = __res.size();
1434:      if (__width > __len)
1434:        {
1434:   if (__f == ios_base::left)
1434: 
1434:     __res.append(__width - __len, __fill);
1434:   else
1434: 
1434:     __res.insert(0, __width - __len, __fill);
1434:   __len = __width;
1434:        }
1434: 
1434: 
1434:      __s = std::__write(__s, __res.data(), __len);
1434:    }
1434:  __io.width(0);
1434:  return __s;
1434:       }
1434: # 590 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     money_put<_CharT, _OutIter>::
1434:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1434:     long double __units) cons __gnuc_va_list __ap) noexcept (true)
1115: 
1115: {
1115:   return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
1115:         __builtin_object_size (__s, 2 > 1), __fmt, __ap);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
1115: {
1115:   return __fprintf_chk (__stream, 2 - 1, __fmt,
1115:    __builtin_va_arg_pack ());
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: printf (const char *__restrict __fmt, ...)
1115: {
1115:   return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)
1115: {
1115: 
1115:   return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
1115: 
1115: 
1115: 
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: vfprintf (FILE *__restrict __stream,
1115:    const char *__restrict __fmt, __gnuc_va_list __ap)
1115: {
1115:   return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
1115: }
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: dprintf (int __fd, const char *__restrict __fmt, ...)
1115: {
1115:   return __dprintf_chk (__fd, 2 - 1, __fmt,
1115:    __builtin_va_arg_pack ());
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)
1115: {
1115:   return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1115: {
1115:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1115:     __builtin_va_arg_pack ());
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) noexcept (true)
1115: 
1115: {
1115:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
1115:     __builtin_va_arg_pack ());
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) noexcept (true)
1115: 
1115: {
1115:   return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
1115:           __builtin_va_arg_pack ());
1115: }
1115: # 165 "/usr/include/arm-linux-gnueabihf/bits/stdio2.h" 3 4
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1115: 
1115: {
1115:   return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) noexcept (true)
1115: 
1115: {
1115:   return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
1115:     __ap);
1115: }
1115: # 198 "/usr/include/arm-linux-gnueabihf/bits/stdt
1434:     {
1434:       const locale __loc = __io.getloc();
1434:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434: 
1434:       int __cs_size = 64;
1434:       char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1434: 
1434: 
1434:       int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1434:      "%.*Lf", 0, __units);
1434: 
1434:       if (__len >= __cs_size)
1434:  {
1434:    __cs_size = __len + 1;
1434:    __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1434:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1434:      "%.*Lf", 0, __units);
1434:  }
1434: # 622 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1434:       string_type __digits(__len, char_type());
1434:       __ctype.widen(__cs, __cs + __len, &__digits[0]);
1434:       return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
1434:              : _M_insert<false>(__s, __io, __fill, __digits);
1434:     }
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     money_put<_CharT, _OutIter>::
1434:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1434:     const string_type& __digits) const
1434:     { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
1434:              : _M_insert<false>(__s, __io, __fill, __digits); }
1434: # 674 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1434: }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     time_base::dateorder
1434:     time_get<_CharT, _InIter>::do_date_order() const
1434:     { return time_base::no_order; }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1434:      ios_base::iostate& __err, tm* __tm,
1434:      const _CharT* __format,
1434:      __time_get_state &__state) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1434:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434:       const size_t __len = char_traits<_CharT>::length(__format);
1434: 
1434:       ios_base::iostate __tmperr = ios_base::goodbit;
1434:       size_t __i = 0;
1434:       for (; __beg != __end && __i < __len && !__tmperr; ++__i)
1434:  {
1434:    if (__ctype.narrow(__format[__i], 0) == '%')
1434:      {
1434: 
1434:        char __c = __ctype.narrow(__format[++__i], 0);
1434:        int __mem = 0;
1434:        if (__c == 'E' || __c == 'O')
1434:   __c = __ctype.narrow(__format[++__i], 0);
1434:        switch (__c)
1434:   {
1434:     const char* __cs;
1434:     _CharT __wcs[10];
1434:   case 'a':
1434:   case 'A':
1434: 
1434:     const char_type* __days[14];
1434:     __tp._M_days(&__days[0]);
1434:     __tp._M_days_abbreviated(&__days[7]);
1434:     __beg = _M_extract_name(__beg, __end, __mem, __days,
1434:        14, __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_wday = __mem % 7;
1434:         __state._M_have_wday = 1;
1434:       }
1434:     break;
1434:   case 'h':
1434:   case 'b':
1434:   case 'B':
1434: 
1434:     const char_type* __months[24];
1434:     __tp._M_months(&__months[0]);
1434:     __tp._M_months_abbreviated(&__months[12]);
1434:     __beg = _M_extract_name(__beg, __end, __mem,
1434:        __months, 24, __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_mon = __mem % 12;
1434:         __state._M_have_mon = 1;
1434:         __state._M_want_xday = 1;
1434:       }
1434:     break;
1434:   case 'c':
1434: 
1434:     const char_type* __dt[2];
1434:     __tp._M_date_time_formats(__dt);
1434:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1434:       __tm, __dt[0], __state);
1434:     if (!__tmperr)
1434:       __state._M_want_xday = 1;
1434:     break;
1434:   case 'C':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 99, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __state._M_century = __mem;
1434:         __state._M_have_century = 1;
1434:         __state._M_want_xday = 1;
1434:       }
1434:     break;
1434:   case 'd':
1434:   case 'e':
1434: 
1434:     if (__ctype.is(ctype_base::space, *__beg))
1434:       ++__beg;
1434:     __beg = _M_extract_num(__beg, __end, __mem, 1, 31, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_mday = __mem;
1434:         __state._M_have_mday = 1;
1434:         __state._M_want_xday = 1;
1434:       }
1434:     break;
1434:   case 'D':
1434: 
1434:     __cs = "%m/%d/%y";
1434:     __ctype.widen(__cs, __cs + 9, __wcs);
1434:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1434:       __tm, __wcs, __state);
1434:     if (!__tmperr)
1434:       __state._M_want_xday = 1;
1434:     break;
1434:   case 'H':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 23, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_hour = __mem;
1434:         __state._M_have_I = 0;
1434:       }
1434:     break;
1434:   case 'I':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_hour = __mem % 12;
1434:         __state._M_have_I = 1;
1434:       }
1434:     break;
1434:   case 'j':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 1, 366, 3,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_yday = __mem - 1;
1434:         __state._M_have_yday = 1;
1434:       }
1434:     break;
1434:   case 'm':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_mon = __mem - 1;
1434:         __state._M_have_mon = 1;
1434:       }
1434:     break;
1434:   case 'M':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 59, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       __tm->tm_min = __mem;
1434:     break;
1434:   case 'n':
1434:   case 't':
1434:     while (__beg != __end
1434:     && __ctype.is(ctype_base::space, *__beg))
1434:       ++__beg;
1434:     break;
1434:   case 'p':
1434: 
1434:     const char_type* __ampm[2];
1434:     __tp._M_am_pm(&__ampm[0]);
1434:     if (!__ampm[0][0] || !__ampm[1][0])
1434:       break;
1434:     __beg = _M_extract_name(__beg, __end, __mem, __ampm,
1434:        2, __io, __tmperr);
1434:     if (!__tmperr && __mem)
1434:       __state._M_is_pm = 1;
1434:     break;
1434:   case 'r':
1434: 
1434:     const char_type* __ampm_format;
1434:     __tp._M_am_pm_format(&__ampm_format);
1434:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1434:       __tm, __ampm_format, __state);
1434:     break;
1434:   case 'R':
1434: 
1434:     __cs = "%H:%M";
1434:     __ctype.widen(__cs, __cs + 6, __wcs);
1434:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1434:       __tm, __wcs, __state);
1434:     break;
1434:   case 'S':
1434: 
1434: 
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 60, 2,
1434: 
1434: 
1434: 
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       __tm->tm_sec = __mem;
1434:     break;
1434:   case 'T':
1434: 
1434:     __cs = "%H:%M:%S";
1434:     __ctype.widen(__cs, __cs + 9, __wcs);
1434:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1434:       __tm, __wcs, __state);
1434:     break;
1434:   case 'U':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 53, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __state._M_week_no = __mem;
1434:         __state._M_have_uweek = 1;
1434:       }
1434:     break;
1434:   case 'w':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 6, 1,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_wday = __mem;
1434:         __state._M_have_wday = 1;
1434io2.h" 3 4
1115: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
1115: 
1115: 
1115:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
1115:                                  ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1115: fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1115: {
1115:   size_t sz = __builtin_object_size (__s, 2 > 1);
1115:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1115:     return __fgets_alias (__s, __n, __stream);
1115:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1115:     return __fgets_chk_warn (__s, sz, __n, __stream);
1115:   return __fgets_chk (__s, sz, __n, __stream);
1115: }
1115: 
1115: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
1115: 
1115: 
1115:             __attribute__ ((__warn_unused_result__));
1115: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
1115: 
1115: 
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
1115:                                  ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1115: fread (void *__restrict __ptr, size_t __size, size_t __n,
1115:        FILE *__restrict __stream)
1115: {
1115:   size_t sz = __builtin_object_size (__ptr, 0);
1115:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1115:     return __fread_alias (__ptr, __size, __n, __stream);
1115:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1115:     return __fread_chk_warn (__ptr, sz, __size, __n, __stream);
1115:   return __fread_chk (__ptr, sz, __size, __n, __stream);
1115: }
1115: 
1115: 
1115: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
1115: 
1115: 
1115:     __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
1115:                                  ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __:       }
1434:     break;
1434:   case 'W':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 53, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __state._M_week_no = __mem;
1434:         __state._M_have_wweek = 1;
1434:       }
1434:     break;
1434:   case 'x':
1434: 
1434:     const char_type* __dates[2];
1434:     __tp._M_date_formats(__dates);
1434:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1434:       __tm, __dates[0], __state);
1434:     break;
1434:   case 'X':
1434: 
1434:     const char_type* __times[2];
1434:     __tp._M_time_formats(__times);
1434:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1434:       __tm, __times[0], __state);
1434:     break;
1434:   case 'y':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 99, 2,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __state._M_want_century = 1;
1434:         __state._M_want_xday = 1;
1434: 
1434: 
1434:         __c = 0;
1434:         if (__beg != __end)
1434:    __c = __ctype.narrow(*__beg, '*');
1434:         if (__c >= '0' && __c <= '9')
1434:    {
1434:      ++__beg;
1434:      __mem = __mem * 10 + (__c - '0');
1434:      if (__beg != __end)
1434:        {
1434:          __c = __ctype.narrow(*__beg, '*');
1434:          if (__c >= '0' && __c <= '9')
1434:     {
1434:       ++__beg;
1434:       __mem = __mem * 10 + (__c - '0');
1434:     }
1434:        }
1434:      __mem -= 1900;
1434:      __state._M_want_century = 0;
1434:    }
1434: 
1434: 
1434:         else if (__mem < 69)
1434:    __mem += 100;
1434:         __tm->tm_year = __mem;
1434:       }
1434:     break;
1434:   case 'Y':
1434: 
1434:     __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
1434:       __io, __tmperr);
1434:     if (!__tmperr)
1434:       {
1434:         __tm->tm_year = __mem - 1900;
1434:         __state._M_want_century = 0;
1434:         __state._M_want_xday = 1;
1434:       }
1434:     break;
1434:   case 'Z':
1434: 
1434:     if (__ctype.is(ctype_base::upper, *__beg))
1434:       {
1434:         int __tmp;
1434:         __beg = _M_extract_name(__beg, __end, __tmp,
1434:            __timepunct_cache<_CharT>::_S_timezones,
1434:            14, __io, __tmperr);
1434: 
1434: 
1434:         if (__beg != __end && !__tmperr && __tmp == 0
1434:      && (*__beg == __ctype.widen('-')
1434:          || *__beg == __ctype.widen('+')))
1434:    {
1434:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2,
1434:        __io, __tmperr);
1434:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2,
1434:        __io, __tmperr);
1434:    }
1434:       }
1434:     else
1434:       __tmperr |= ios_base::failbit;
1434:     break;
1434:   case '%':
1434:     if (*__beg == __ctype.widen('%'))
1434:       ++__beg;
1434:     else
1434:       __tmperr |= ios_base::failbit;
1434:     break;
1434:   default:
1434: 
1434:     __tmperr |= ios_base::failbit;
1434:   }
1434:      }
1434:    else if (__ctype.is(ctype_base::space, __format[__i]))
1434:      {
1434: 
1434:        while (__beg != __end
1434:        && __ctype.is(ctype_base::space, *__beg))
1434:   ++__beg;
1434:      }
1434:    else
1434:      {
1434: 
1434: 
1434:        if (__ctype.tolower(__format[__i]) == __ctype.tolower(*__beg)
1434:     || __ctype.toupper(__format[__i]) == __ctype.toupper(*__beg))
1434:   ++__beg;
1434:        else
1434:   __tmperr |= ios_base::failbit;
1434:      }
1434:  }
1434: 
1434:       if (__tmperr || __i != __len)
1434:  __err |= ios_base::failbit;
1434: 
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1434:      ios_base::iostate& __err, tm* __tm,
1434:      const _CharT* __format) const
1434:     {
1434:       __time_get_state __state = __time_get_state();
1434:       return _M_extract_via_format(__beg, __end, __io, __err, __tm,
1434:        __format, __state);
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     _M_extract_num(iter_type __beg, iter_type __end, int& __member,
1434:      int __min, int __max, size_t __len,
1434:      ios_base& __io, ios_base::iostate& __err) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:       size_t __i = 0;
1434:       int __value = 0;
1434:       for (; __beg != __end && __i < __len; ++__beg, (void)++__i)
1434:  {
1434:    const char __c = __ctype.narrow(*__beg, '*');
1434:    if (__c >= '0' && __c <= '9')
1434:      {
1434:        __value = __value * 10 + (__c - '0');
1434:        if (__value > __max)
1434:   break;
1434:      }
1434:    else
1434:      break;
1434:  }
1434:       if (__i && __value >= __min && __value <= __max)
1434:  __member = __value;
1434:       else
1434:  __err |= ios_base::failbit;
1434: 
1434:       return __beg;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     _M_extract_name(iter_type __beg, iter_type __end, int& __member,
1434:       const _CharT** __names, size_t __indexlen,
1434:       ios_base& __io, ios_base::iostate& __err) const
1434:     {
1434:       typedef char_traits<_CharT> __traits_type;
1434:       const locale& __loc = __io._M_getloc();
1434:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:       size_t* __matches
1434:  = static_cast<size_t*>(__builtin_alloca(2 * sizeof(size_t)
1434:       * __indexlen));
1434:       size_t* __lengths = __matches + __indexlen;
1434:       size_t __nmatches = 0;
1434:       size_t __pos = 0;
1434:       bool __testvalid = true;
1434:       const char_type* __name;
1434:       bool __begupdated = false;
1434: 
1434: 
1434:       if (__beg != __end)
1434:  {
1434:    const char_type __c = *__beg;
1434: 
1434:    const char_type __cl = __ctype.tolower(__c);
1434:    const char_type __cu = __ctype.toupper(__c);
1434:    for (size_t __i1 = 0; __i1 < __indexlen; ++__i1)
1434:      if (__cl == __ctype.tolower(__names[__i1][0])
1434:   || __cu == __ctype.toupper(__names[__i1][0]))
1434:        {
1434:   __lengths[__nmatches]
1434:     = __traits_type::length(__names[__i1]);
1434:   __matches[__nmatches++] = __i1;
1434:        }
1434:  }
1434: 
1434:       while (__nmatches > 1)
1434:  {
1434: 
1434:    size_t __minlen = __lengths[0];
1434:    for (size_t __i2 = 1; __i2 < __nmatches; ++__i2)
1434:      __minlen = std::min(__minlen, __lengths[__i2]);
1434:    ++__pos;
1434:    ++__beg;
1434:    if (__pos == __minlen)
1434:      {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:        bool __match_longer = false;
1434: 
1434:        if (__beg != __end)
1434:   {
1434: 
1434:     const char_type __cl = __ctype.tolower(*__beg);
1434:     const char_type __cu = __ctype.toupper(*__beg);
1434:     for (size_t __i3 = 0; __i3 < __nmatches; ++__i3)
1434:       {
1434:         __name = __names[__matches[__i3]];
1434:         if (__lengths[__i3] > __pos
1434:      && (__ctype.tolower(__name[__pos]) == __cl
1434:          || __ctype.toupper(__name[__pos]) == __cu))
1434:    {
1434:      __match_longer = true;
1434:      break;
1434:    }
1434:       }
1434:   }
1434:        for (size_t __i4 = 0; __i4 < __nmatches;)
1434:   if (__match_longer == (__lengths[__i4] == __pos))
1434:     {
1434:       __matches[__i4] = __matches[--__nmatches];
1434:       __lengths[__i4] = __lengths[__nmatches];
1434:     }
1434:   else
1434:     ++__i4;
1434:        if (__match_longer)
1434:   {
1434:     __minlen = __lengths[0];
1434:     for (size_t __i5 = 1; __i5 < __nmatches; ++__i5)
1434:       __minlen = std::min(__minlen, __lengths[__i5]);
1434:   }
1434:        else
1434:   {
1434: 
1434: 
1434:     if (__nmatches == 2 && (__indexlen & 1) == 0)
1434:       {
1434:         if (__matches[0] < __indexlen / 2)
1434:    {
1434:      if (__matches[1] == __matches[0] + __t)0x1EBC, (wchar_t)0x1EBE, (wchar_t)0x1EC0, (wchar_t)0x1EC2, (wchar_t)0x1EC4,
1417:     (wchar_t)0x1EC6, (wchar_t)0x1EC8, (wchar_t)0x1ECA, (wchar_t)0x1ECC, (wchar_t)0x1ECE,
1417:     (wchar_t)0x1ED0, (wchar_t)0x1ED2, (wchar_t)0x1ED4, (wchar_t)0x1ED6, (wchar_t)0x1ED8,
1417:     (wchar_t)0x1EDA, (wchar_t)0x1EDC, (wchar_t)0x1EDE, (wchar_t)0x1EE0, (wchar_t)0x1EE2,
1417:     (wchar_t)0x1EE4, (wchar_t)0x1EE6, (wchar_t)0x1EE8, (wchar_t)0x1EEA, (wchar_t)0x1EEC,
1417:     (wchar_t)0x1EEE, (wchar_t)0x1EF0, (wchar_t)0x1EF2, (wchar_t)0x1EF4, (wchar_t)0x1EF6,
1417:     (wchar_t)0x1EF8, (wchar_t)0x1F08, (wchar_t)0x1F09, (wchar_t)0x1F0A, (wchar_t)0x1F0B,
1417:     (wchar_t)0x1F0C, (wchar_t)0x1F0D, (wchar_t)0x1F0E, (wchar_t)0x1F0F, (wchar_t)0x1F18,
1417:     (wchar_t)0x1F19, (wchar_t)0x1F1A, (wchar_t)0x1F1B, (wchar_t)0x1F1C, (wchar_t)0x1F1D,
1417:     (wchar_t)0x1F28, (wchar_t)0x1F29, (wchar_t)0x1F2A, (wchar_t)0x1F2B, (wchar_t)0x1F2C,
1417:     (wchar_t)0x1F2D, (wchar_t)0x1F2E, (wchar_t)0x1F2F, (wchar_t)0x1F38, (wchar_t)0x1F39,
1417:     (wchar_t)0x1F3A, (wchar_t)0x1F3B, (wchar_t)0x1F3C, (wchar_t)0x1F3D, (wchar_t)0x1F3E,
1417:     (wchar_t)0x1F3F, (wchar_t)0x1F48, (wchar_t)0x1F49, (wchar_t)0x1F4A, (wchar_t)0x1F4B,
1417:     (wchar_t)0x1F4C, (wchar_t)0x1F4D, (wchar_t)0x1F59, (wchar_t)0x1F5B, (wchar_t)0x1F5D,
1417:     (wchar_t)0x1F5F, (wchar_t)0x1F68, (wchar_t)0x1F69, (wchar_t)0x1F6A, (wchar_t)0x1F6B,
1417:     (wchar_t)0x1F6C, (wchar_t)0x1F6D, (wchar_t)0x1F6E, (wchar_t)0x1F6F, (wchar_t)0x1F88,
1417:     (wchar_t)0x1F89, (wchar_t)0x1F8A, (wchar_t)0x1F8B, (wchar_t)0x1F8C, (wchar_t)0x1F8D,
1417:     (wchar_t)0x1F8E, (wchar_t)0x1F8F, (wchar_t)0x1F98, (wchar_t)0x1F99, (wchar_t)0x1F9A,
1417:     (wchar_t)0x1F9B, (wchar_t)0x1F9C, (wchar_t)0x1F9D, (wchar_t)0x1F9E, (wchar_t)0x1F9F,
1417:     (wchar_t)0x1FA8, (wchar_t)0x1FA9, (wchar_t)0x1FAA, (wchar_t)0x1FAB, (wchar_t)0x1FAC,
1417:     (wchar_t)0x1FAD, (wchar_t)0x1FAE, (wchar_t)0x1FAF, (wchar_t)0x1FB8, (wchar_t)0x1FB9,
1417:     (wchar_t)0x1FD8, (wchar_t)0x1FD9, (wchar_t)0x1FE8, (wchar_t)0x1FE9, (wchar_t)0x24B6,
1417:     (wchar_t)0x24B7, (wchar_t)0x24B8, (wchar_t)0x24B9, (wchar_t)0x24BA, (wchar_t)0x24BB,
1417:     (wchar_t)0x24BC, (wchar_t)0x24BD, (wchar_t)0x24BE, (wchar_t)0x24BF, (wchar_t)0x24C0,
1417:     (wchar_t)0x24C1, (wchar_t)0x24C2, (wchar_t)0x24C3, (wchar_t)0x24C4, (wchar_t)0x24C5,
1417:     (wchar_t)0x24C6, (wchar_t)0x24C7, (wchar_t)0x24C8, (wchar_t)0x24C9, (wchar_t)0x24CA,
1417:     (wchar_t)0x24CB, (wchar_t)0x24CC, (wchar_t)0x24CD, (wchar_t)0x24CE, (wchar_t)0x24CF,
1417:     (wchar_t)0xFF21, (wchar_t)0xFF22, (wchar_t)0xFF23, (wchar_t)0xFF24, (wchar_t)0xFF25,
1417:     (wchar_t)0xFF26, (wchar_t)0xFF27, (wchar_t)0xFF28, (wchar_t)0xFF29, (wchar_t)0xFF2A,
1417:     (wchar_t)0xFF2B, (wchar_t)0xFF2C, (wchar_t)0xFF2D, (wchar_t)0xFF2E, (wchar_t)0xFF2F,
1417:     (wchar_t)0xFF30, (wchar_t)0xFF31, (wchar_t)0xFF32, (wchar_t)0xFF33, (wchar_t)0xFF34,
1417:     (wchar_t)0xFF35, (wchar_t)0xFF36, (wchar_t)0xFF37, (wchar_t)0xFF38, (wchar_t)0xFF39,
1417:     (wchar_t)0xFF3A};
1417: 
1417: namespace kodi
1417: {
1417: namespace tools
1417: {
1417: 
1417: template<typename T, std::enable_if_t<!std::is_enum<T>::value, int> = 0>
1417: constexpr auto&& EnumToInt(T&& arg) noexcept
1417: {
1417:   return arg;
1417: }
1417: template<typename T, std::enable_if_t<std::is_enum<T>::value, int> = 0>
1417: constexpr auto EnumToInt(T&& arg) noexcept
1417: {
1417:   return static_cast<int>(arg);
1417: }
1417: # 400 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417: enum TIME_FORMAT
1417: {
1417: 
1417:   TIME_FORMAT_GUESS = 0,
1417: 
1417: 
1417:   TIME_FORMAT_SS = 1,
1417: 
1417: 
1417:   TIME_FORMAT_MM = 2,
1417: 
1417: 
1417:   TIME_FORMAT_MM_SS = 3,
1417: 
1417: 
1417:   TIME_FORMAT_HH = 4,
1417: 
1417: 
1417:   TIME_FORMAT_HH_SS = 5,
1417: 
1417: 
1417:   TIME_FORMAT_HH_MM = 6,
1417: 
1417: 
1417:   TIME_FORMAT_HH_MM_SS = 7,
1417: 
1417: 
1417:   TIME_FORMAT_XX = 8,
1417: 
1417: 
1417:   TIME_FORMAT_HH_MM_XX = 14,
1417: 
1417: 
1417:   TIME_FORM_indexlen / 2)
1434:        __nmatches = 1;
1434:    }
1434:         else if (__matches[1] == __matches[0] - __indexlen / 2)
1434:    {
1434:      __matches[0] = __matches[1];
1434:      __lengths[0] = __lengths[1];
1434:      __nmatches = 1;
1434:    }
1434:       }
1434:     __begupdated = true;
1434:     break;
1434:   }
1434:      }
1434:    if (__pos < __minlen && __beg != __end)
1434:      {
1434: 
1434:        const char_type __cl = __ctype.tolower(*__beg);
1434:        const char_type __cu = __ctype.toupper(*__beg);
1434:        for (size_t __i6 = 0; __i6 < __nmatches;)
1434:   {
1434:     __name = __names[__matches[__i6]];
1434:     if (__ctype.tolower(__name[__pos]) != __cl
1434:         && __ctype.toupper(__name[__pos]) != __cu)
1434:       {
1434:         __matches[__i6] = __matches[--__nmatches];
1434:         __lengths[__i6] = __lengths[__nmatches];
1434:       }
1434:     else
1434:       ++__i6;
1434:   }
1434:      }
1434:    else
1434:      break;
1434:  }
1434: 
1434:       if (__nmatches == 1)
1434:  {
1434: 
1434:    if (!__begupdated)
1434:      {
1434:        ++__beg;
1434:        ++__pos;
1434:      }
1434:    __name = __names[__matches[0]];
1434:    const size_t __len = __lengths[0];
1434:    while (__pos < __len
1434:    && __beg != __end
1434: 
1434:    && (__ctype.tolower(__name[__pos]) == __ctype.tolower(*__beg)
1434:        || (__ctype.toupper(__name[__pos])
1434:     == __ctype.toupper(*__beg))))
1434:      ++__beg, (void)++__pos;
1434: 
1434:    if (__len == __pos)
1434:      __member = __matches[0];
1434:    else
1434:      __testvalid = false;
1434:  }
1434:       else
1434:  __testvalid = false;
1434:       if (!__testvalid)
1434:  __err |= ios_base::failbit;
1434: 
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
1434:         const _CharT** __names, size_t __indexlen,
1434:         ios_base& __io, ios_base::iostate& __err) const
1434:     {
1434:       typedef char_traits<_CharT> __traits_type;
1434:       const locale& __loc = __io._M_getloc();
1434:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:       int* __matches = static_cast<int*>(__builtin_alloca(2 * sizeof(int)
1434:          * __indexlen));
1434:       size_t __nmatches = 0;
1434:       size_t* __matches_lengths = 0;
1434:       size_t __pos = 0;
1434: 
1434:       if (__beg != __end)
1434:  {
1434:    const char_type __c = *__beg;
1434:    for (size_t __i = 0; __i < 2 * __indexlen; ++__i)
1434:      if (__c == __names[__i][0]
1434:   || __c == __ctype.toupper(__names[__i][0]))
1434:        __matches[__nmatches++] = __i;
1434:  }
1434: 
1434:       if (__nmatches)
1434:  {
1434:    ++__beg;
1434:    ++__pos;
1434: 
1434:    __matches_lengths
1434:      = static_cast<size_t*>(__builtin_alloca(sizeof(size_t)
1434:           * __nmatches));
1434:    for (size_t __i = 0; __i < __nmatches; ++__i)
1434:      __matches_lengths[__i]
1434:        = __traits_type::length(__names[__matches[__i]]);
1434:  }
1434: 
1434:       for (; __beg != __end; ++__beg, (void)++__pos)
1434:  {
1434:    size_t __nskipped = 0;
1434:    const char_type __c = *__beg;
1434:    for (size_t __i = 0; __i < __nmatches;)
1434:      {
1434:        const char_type* __name = __names[__matches[__i]];
1434:        if (__pos >= __matches_lengths[__i])
1434:   ++__nskipped, ++__i;
1434:        else if (!(__name[__pos] == __c))
1434:   {
1434:     --__nmatches;
1434:     __matches[__i] = __matches[__nmatches];
1434:     __matches_lengths[__i] = __matches_lengths[__nmatches];
1434:   }
1434:        else
1434:   ++__i;
1434:      }
1434:    if (__nskipped == __nmatches)
1434:      break;
1434:  }
1434: 
1434:       if ((__nmatches == 1 && __matches_lengths[0] == __pos)
1434:    || (__nmatches == 2 && (__matches_lengths[0] == __pos
1434:       || __matches_lengths[1] == __pos)))
1434:  __member = (__matches[0] >= (int)__indexlen
1434:       ? __matcattribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))) char *
1115: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
1115: {
1115:   size_t sz = __builtin_object_size (__s, 2 > 1);
1115:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((unsigned int) (__n)) <= ((sz)) / ((sizeof (char)))))))
1115:     return __fgets_unlocked_alias (__s, __n, __stream);
1115:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((unsigned int) (__n)) <= (sz) / (sizeof (char)))))
1115:     return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);
1115:   return __fgets_unlocked_chk (__s, sz, __n, __stream);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
1115: 
1115: 
1115:                      __attribute__ ((__warn_unused_result__));
1115: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
1115: 
1115: 
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
1115:                                         ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
1115: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
1115:   FILE *__restrict __stream)
1115: {
1115:   size_t sz = __builtin_object_size (__ptr, 0);
1115:   if (((__builtin_constant_p (sz) && (sz) == (unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((unsigned int) (__n)) <= ((sz)) / ((__size))))))
1115:     {
1115: 
1115:       if (__builtin_constant_p (__size)
1115:    && __builtin_constant_p (__n)
1115:    && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
1115:    && __size * __n <= 8)
1115:  {
1115:    size_t __cnt = __size * __n;
1115:    char *__cptr = (char *) __ptr;
1115:    if (__cnt == 0)
1115:      return 0;
1115: 
1115:    for (; __cnt > 0; --__cnt)
1115:      {
1115:        int __c = getc_unlocked (__stream);
1115:        if (__c == (-1))
1115:   break;
1115:        *__cptr++ = __c;
1115:      }
1115:    return (__cptr - (char *) __ptr) / __size;
1115:  }
1115: 
1115:       return __fread_unlocked_alias (__ptr, __size, __n, __stream);
1115:     }
1115:   if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((unsigned int) (__n)) <= (sz) / (__size))) && !(((unsigned int) (__n)) <= (sz) / (__size))))
1115:     return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);
1115:   return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);
1115: 
1115: }
1115: # 907 "/usr/include/stdio.h" 2 3 4
1115: 
1115: 
1115: }
1115: # 43 "/usr/include/c++/12/cstdio" 2 3
1115: # 96 "/usr/include/c++/12/cstdio" 3
1115: namespace std
1115: {
1115:   using ::FILE;
1115:   using ::fpos_t;
1115: 
1115:   using ::clearerr;
1115:   using ::fclose;
1115:   using ::feof;
1115:   using ::ferror;
1115:   using ::fflush;
1115:   using ::fgetc;
1115:   using ::fgetpos;
1115:   using ::fgets;
1115:   using ::fopen;
1115:   using ::fprintf;
1115:   using ::fputc;
1115:   using ::fputs;
1115:   using ::fread;
1115:   using ::freopen;
1115:   using ::fscanf;
1115:   using ::fseek;
1115:   using ::fsetpos;
1115:   using ::ftell;
1115:   using ::fwrite;
1115:   using ::getc;
1115:   usAT_HH_MM_SS_XX = 15,
1417: 
1417: 
1417:   TIME_FORMAT_H = 16,
1417: 
1417: 
1417:   TIME_FORMAT_H_MM_SS = 19,
1417: 
1417: 
1417:   TIME_FORMAT_H_MM_SS_XX = 27,
1417: 
1417: 
1417:   TIME_FORMAT_SECS = 32,
1417: 
1417: 
1417:   TIME_FORMAT_MINS = 64,
1417: 
1417: 
1417:   TIME_FORMAT_HOURS = 128,
1417: 
1417: 
1417:   TIME_FORMAT_M = 256
1417: };
1417: # 471 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417: class StringUtils
1417: {
1417: public:
1417: 
1417: 
1417: 
1417: 
1417:   static const std::string Empty;
1417: # 558 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string Format(const char* fmt, ...)
1417:   {
1417:     va_list args;
1417:     
1417: # 561 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    __builtin_va_start(
1417: # 561 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:    args
1417: # 561 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    ,
1417: # 561 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:    fmt
1417: # 561 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    )
1417: # 561 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                       ;
1417:     std::string str = FormatV(fmt, args);
1417:     
1417: # 563 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    __builtin_va_end(
1417: # 563 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:    args
1417: # 563 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    )
1417: # 563 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                ;
1417: 
1417:     return str;
1417:   }
1417: # 584 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::wstring Format(const wchar_t* fmt, ...)
1417:   {
1417:     va_list args;
1417:     
1417: # 587 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    __builtin_va_start(
1417: # 587 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:    args
1417: # 587 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    ,
1417: # 587 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:    fmt
1417: # 587 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    )
1417: # 587 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                       ;
1417:     std::wstring str = FormatV(fmt, args);
1417:     
1417: # 589 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    __builtin_va_end(
1417: # 589 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:    args
1417: # 589 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    )
1417: # 589 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:              hes[0] - (int)__indexlen : __matches[0]);
1434:       else
1434:  __err |= ios_base::failbit;
1434: 
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
1434:   ios_base::iostate& __err, tm* __tm) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1434:       const char_type* __times[2];
1434:       __tp._M_time_formats(__times);
1434:       __time_get_state __state = __time_get_state();
1434:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
1434:         __tm, __times[0], __state);
1434:       __state._M_finalize_state(__tm);
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
1434:   ios_base::iostate& __err, tm* __tm) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1434:       const char_type* __dates[2];
1434:       __tp._M_date_formats(__dates);
1434:       __time_get_state __state = __time_get_state();
1434:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
1434:         __tm, __dates[0], __state);
1434:       __state._M_finalize_state(__tm);
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
1434:      ios_base::iostate& __err, tm* __tm) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1434:       const char_type* __days[14];
1434:       __tp._M_days_abbreviated(__days);
1434:       __tp._M_days(__days + 7);
1434:       int __tmpwday;
1434:       ios_base::iostate __tmperr = ios_base::goodbit;
1434: 
1434:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7,
1434:            __io, __tmperr);
1434:       if (!__tmperr)
1434:  __tm->tm_wday = __tmpwday;
1434:       else
1434:  __err |= ios_base::failbit;
1434: 
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:      }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     do_get_monthname(iter_type __beg, iter_type __end,
1434:                      ios_base& __io, ios_base::iostate& __err, tm* __tm) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1434:       const char_type* __months[24];
1434:       __tp._M_months_abbreviated(__months);
1434:       __tp._M_months(__months + 12);
1434:       int __tmpmon;
1434:       ios_base::iostate __tmperr = ios_base::goodbit;
1434: 
1434:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12,
1434:            __io, __tmperr);
1434:       if (!__tmperr)
1434:  __tm->tm_mon = __tmpmon;
1434:       else
1434:  __err |= ios_base::failbit;
1434: 
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
1434:   ios_base::iostate& __err, tm* __tm) const
1434:     {
1434:       int __tmpyear;
1434:       ios_base::iostate __tmperr = ios_base::goodbit;
1434:       const locale& __loc = __io._M_getloc();
1434:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1434: 
1434:       __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 99, 2,
1434:         __io, __tmperr);
1434:       if (!__tmperr)
1434:  {
1434:    char __c = 0;
1434:    if (__beg != __end)
1434:      __c = __ctype.narrow(*__beg, '*');
1434: 
1434: 
1434: 
1434:    if (__c >= '0' && __c <= '9')
1434:      {
1434:        ++__beg;
1434:        __tmpyear = __tmpyear * 10 + (__c - '0');
1434:        if (__beg != __end)
1434:   {
1434:     __c = __ctype.narrow(*__beg, '*');
1434:     if (__c >= '0' && __c <= '9')
1434:       {
1434:         ++__beg;
1434:         __tmpyear = __tmpyear * 10 + (__c - '0');
1434:       }
1434:   }
1434:        __tmpyear -= 1900;
1434:      }
1434:    else if (__tmpyear < 69)
1434:      __tmpyear += 100;
1434:    __tm->tm_year = __tmpyear;
1434:  }
1434:       else
1434:  __err |= ios_base::failbit;
1434: 
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     inline
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     get(iter_type __s, iter_type __end, ios_base& __io,
1434:         ios_base::iostate& __err, tm* __tm, const char_type* __fmt,
1434:         const char_type* __fmtend) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1434:       __err = ios_base::goodbit;
1434:       bool __use_state = false;
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wpmf-conversions"
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       if ((void*)(this->*(&time_get::do_get)) == (void*)(&time_get::do_get))
1434:  __use_state = true;
1434: #pragma GCC diagnostic pop
1434: 
1434:       __time_get_state __state = __time_get_state();
1434:       while (__fmt != __fmtend &&
1434:              __err == ios_base::goodbit)
1434:         {
1434:           if (__s == __end)
1434:             {
1434:               __err = ios_base::eofbit | ios_base::failbit;
1434:               break;
1434:             }
1434:           else if (__ctype.narrow(*__fmt, 0) == '%')
1434:             {
1434:        const char_type* __fmt_start = __fmt;
1434:               char __format;
1434:               char __mod = 0;
1434:               if (++__fmt == __fmtend)
1434:                 {
1434:                   __err = ios_base::failbit;
1434:                   break;
1434:                 }
1434:               const char __c = __ctype.narrow(*__fmt, 0);
1434:               if (__c != 'E' && __c != 'O')
1434:                 __format = __c;
1434:               else if (++__fmt != __fmtend)
1434:                 {
1434:                   __mod = __c;
1434:                   __format = __ctype.narrow(*__fmt, 0);
1434:                 }
1434:               else
1434:                 {
1434:                   __err = ios_base::failbit;
1434:                   break;
1434:                 }
1434:        if (__use_state)
1434:   {
1434:     char_type __new_fmt[4];
1434:     __new_fmt[0] = __fmt_start[0];
1434:     __new_fmt[1] = __fmt_start[1];
1434:     if (__mod)
1434:       {
1434:         __new_fmt[2] = __fmt_start[2];
1434:         __new_fmt[3] = char_type();
1434:       }
1434:     else
1434:       __new_fmt[2] = char_type();
1434:     __s = _M_extract_via_format(__s, __end, __io, __err, __tm,
1434:            __new_fmt, __state);
1434:     if (__s == __end)
1434:       __err |= ios_base::eofbit;
1434:   }
1434:        else
1434:   __s = this->do_get(__s, __end, __io, __err, __tm, __format,
1434:        __mod);
1434:               ++__fmt;
1434:             }
1434:           else if (__ctype.is(ctype_base::space, *__fmt))
1434:             {
1434:               ++__fmt;
1434:               while (__fmt != __fmtend &&
1434:                      __ctype.is(ctype_base::space, *__fmt))
1434:                 ++__fmt;
1434: 
1434:               while (__s != __end &&
1434:                      __ctype.is(ctype_base::space, *__s))
1434:                 ++__ing ::getchar;
1115: 
1115: 
1115: 
1115: 
1115:   using ::perror;
1115:   using ::printf;
1115:   using ::putc;
1115:   using ::putchar;
1115:   using ::puts;
1115:   using ::remove;
1115:   using ::rename;
1115:   using ::rewind;
1115:   using ::scanf;
1115:   using ::setbuf;
1115:   using ::setvbuf;
1115:   using ::sprintf;
1115:   using ::sscanf;
1115:   using ::tmpfile;
1115: 
1115:   using ::tmpnam;
1115: 
1115:   using ::ungetc;
1115:   using ::vfprintf;
1115:   using ::vprintf;
1115:   using ::vsprintf;
1115: }
1115: # 157 "/usr/include/c++/12/cstdio" 3
1115: namespace __gnu_cxx
1115: {
1115: # 175 "/usr/include/c++/12/cstdio" 3
1115:   using ::snprintf;
1115:   using ::vfscanf;
1115:   using ::vscanf;
1115:   using ::vsnprintf;
1115:   using ::vsscanf;
1115: 
1115: }
1115: 
1115: namespace std
1115: {
1115:   using ::__gnu_cxx::snprintf;
1115:   using ::__gnu_cxx::vfscanf;
1115:   using ::__gnu_cxx::vscanf;
1115:   using ::__gnu_cxx::vsnprintf;
1115:   using ::__gnu_cxx::vsscanf;
1115: }
1115: # 44 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1115: # 1 "/usr/include/c++/12/cerrno" 1 3
1115: # 39 "/usr/include/c++/12/cerrno" 3
1115:        
1115: # 40 "/usr/include/c++/12/cerrno" 3
1115: 
1115: 
1115: # 1 "/usr/include/errno.h" 1 3 4
1115: # 28 "/usr/include/errno.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 1 3 4
1115: # 26 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4
1115: # 1 "/usr/include/linux/errno.h" 1 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 1 3 4
1115: # 1 "/usr/include/asm-generic/errno.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
1115: # 6 "/usr/include/asm-generic/errno.h" 2 3 4
1115: # 2 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 2 3 4
1115: # 2 "/usr/include/linux/errno.h" 2 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 2 3 4
1115: # 29 "/usr/include/errno.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C" {
1115: 
1115: 
1115: extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *program_invocation_name;
1115: extern char *program_invocation_short_name;
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 1 3 4
1115: # 22 "/usr/include/arm-linux-gnueabihf/bits/types/error_t.h" 3 4
1115: typedef int error_t;
1115: # 49 "/usr/include/errno.h" 2 3 4
1115: 
1115: 
1115: 
1115: }
1115: # 43 "/usr/include/c++/12/cerrno" 2 3
1115: # 45 "/usr/include/c++/12/ext/string_conversions.h" 2 3
1115: 
1115: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _TRet, typename _Ret = _TRet, typename _CharT,
1115:     typename... _Base>
1115:     _Ret
1115:     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
1115:     const char* __name, const _CharT* __str, std::size_t* __idx,
1115:     _Base... __base)
1115:     {
1115:       _Ret __ret;
1115: 
1115:       _CharT* __endptr;
1115: 
1115:       struct _Save_errno {
1115:  _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
1115:  ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
1115:  int _M_errno;
1115:       } const __save_errno;
1115: 
1115:       struct _Range_chk {
1115:    static bool
1115:    _S_chk(_TRet, std::false_type) { return false; }
1115: 
1115:    static bool
1115:    _S_chk(_TRet __val, std::true_type)
1115:    {
1115:      return __val < _TRet(__numeric_traits<int>::__min)
1115:        || __val > _TRet(__numeric_traits<int>::__max);
1115:    }
1115:       };
1115: 
1115:       const _TRet __tmp = __convf(__str, &__endptr, __base...);
1115: 
1115:       if (__endptr == __str)
1115:  std::__throw_invalid_argument(__name);
1115:       else if ((*__errno_location ()) == 34
1115:    || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
1115:  std::__throw_out_of_range(__name);
1115:       else
1115:  __ret = __tmp;
1115: 
1115:       if (__idx)
1115:  *__idx = __en  ;
1417: 
1417:     return str;
1417:   }
1417: # 604 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string FormatV( const char* fmt, va_list args)
1417:   {
1417:     if (!fmt || !fmt[0])
1417:       return "";
1417: 
1417:     int size = 512;
1417:     va_list argCopy;
1417: 
1417:     while (true)
1417:     {
1417:       char* cstr = reinterpret_cast<char*>(malloc(sizeof(char) * size));
1417:       if (!cstr)
1417:         return "";
1417: 
1417:       
1417: # 618 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      __builtin_va_copy(
1417: # 618 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:      argCopy
1417: # 618 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      ,
1417: # 618 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:      args
1417: # 618 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      )
1417: # 618 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                            ;
1417:       int nActual = vsnprintf(cstr, size, fmt, argCopy);
1417:       
1417: # 620 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      __builtin_va_end(
1417: # 620 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:      argCopy
1417: # 620 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      )
1417: # 620 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                     ;
1417: 
1417:       if (nActual > -1 && nActual < size)
1417:       {
1417:         std::string str(cstr, nActual);
1417:         free(cstr);
1417:         return str;
1417:       }
1417:       free(cstr);
1417: 
1417:       if (nActual > -1)
1417:         size = nActual + 1;
1417:       else
1417:         size *= 2;
1417: # 643 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:     }
1417: 
1417:     return "";
1417:   }
1417: # 658 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::wstring FormatV( const wchar_t* fmt, va_list args)
1417:   {
1417:     if (!fmt || !fmt[0])
1417:       return L"";
1417: 
1417:     int size = 512;
1417:     va_list argCopy;
1417: 
1417:     while (true)
1417:     {
1417:       wchar_t* cstr = reinterpret_cast<wchar_t*>(malloc(sizeof(wchar_t) * size));
1417:       if (!cstr)
1417:         return L"";
1417: 
1417:       
1417: # 672 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      __builtin_va_copy(
1417: # 672 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:      argCopy
1417: # 672 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      ,
1417: # 672 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:      args
1417: # 672 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      )
1417: # 672 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                            ;
1417:       int nActual = vswprintf(cstr, size, fmt, argCopy);
1417:       
1417: # 674 "/bs;
1434:             }
1434: 
1434:           else if (__ctype.tolower(*__s) == __ctype.tolower(*__fmt) ||
1434:                    __ctype.toupper(*__s) == __ctype.toupper(*__fmt))
1434:             {
1434:               ++__s;
1434:               ++__fmt;
1434:             }
1434:           else
1434:             {
1434:               __err = ios_base::failbit;
1434:               break;
1434:             }
1434:         }
1434:       if (__use_state)
1434:  __state._M_finalize_state(__tm);
1434:       return __s;
1434:     }
1434: 
1434:   template<typename _CharT, typename _InIter>
1434:     inline
1434:     _InIter
1434:     time_get<_CharT, _InIter>::
1434:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1434:            ios_base::iostate& __err, tm* __tm,
1434:            char __format, char __mod) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1434:       __err = ios_base::goodbit;
1434: 
1434:       char_type __fmt[4];
1434:       __fmt[0] = __ctype.widen('%');
1434:       if (!__mod)
1434:         {
1434:           __fmt[1] = __format;
1434:           __fmt[2] = char_type();
1434:         }
1434:       else
1434:         {
1434:           __fmt[1] = __mod;
1434:           __fmt[2] = __format;
1434:           __fmt[3] = char_type();
1434:         }
1434: 
1434:       __time_get_state __state = __time_get_state();
1434:       __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __fmt,
1434:         __state);
1434:       __state._M_finalize_state(__tm);
1434:       if (__beg == __end)
1434:  __err |= ios_base::eofbit;
1434:       return __beg;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     time_put<_CharT, _OutIter>::
1434:     put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1434:  const _CharT* __beg, const _CharT* __end) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1434:       for (; __beg != __end; ++__beg)
1434:  if (__ctype.narrow(*__beg, 0) != '%')
1434:    {
1434:      *__s = *__beg;
1434:      ++__s;
1434:    }
1434:  else if (++__beg != __end)
1434:    {
1434:      char __format;
1434:      char __mod = 0;
1434:      const char __c = __ctype.narrow(*__beg, 0);
1434:      if (__c != 'E' && __c != 'O')
1434:        __format = __c;
1434:      else if (++__beg != __end)
1434:        {
1434:   __mod = __c;
1434:   __format = __ctype.narrow(*__beg, 0);
1434:        }
1434:      else
1434:        break;
1434:      __s = this->do_put(__s, __io, __fill, __tm, __format, __mod);
1434:    }
1434:  else
1434:    break;
1434:       return __s;
1434:     }
1434: 
1434:   template<typename _CharT, typename _OutIter>
1434:     _OutIter
1434:     time_put<_CharT, _OutIter>::
1434:     do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm,
1434:     char __format, char __mod) const
1434:     {
1434:       const locale& __loc = __io._M_getloc();
1434:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1434:       __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
1434: 
1434: 
1434: 
1434:       const size_t __maxlen = 128;
1434:       char_type __res[__maxlen];
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       char_type __fmt[4];
1434:       __fmt[0] = __ctype.widen('%');
1434:       if (!__mod)
1434:  {
1434:    __fmt[1] = __format;
1434:    __fmt[2] = char_type();
1434:  }
1434:       else
1434:  {
1434:    __fmt[1] = __mod;
1434:    __fmt[2] = __format;
1434:    __fmt[3] = char_type();
1434:  }
1434: 
1434:       __tp._M_put(__res, __maxlen, __fmt, __tm);
1434: 
1434: 
1434:       return std::__write(__s, __res, char_traits<char_type>::length(__res));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   extern template class moneypunct<char, false>;
1434:   extern template class moneypunct<char, true>;
1434:   extern template class moneypunct_byname<char, false>;
1434:   extern template class moneypunct_byname<char, true>;
1434:   extern template class __cxx11:: money_get<char>;
1434:   extern template class __cxx11:: money_put<char>;
1434:   extern template class __timepunct<char>;
1434:   extern template class time_put<char>;
1434:   extern template class time_put_byname<char>;
1434:   extern template class time_get<char>;
1434:   extern template class time_get_byname<char>;
1434:   extern template class messages<char>;
1434:   extern template class messages_byname<char>;
1434: 
1434:   extern template
1434:     const moneypunct<char, true>&
1434:     use_facet<moneypunct<char, true> >(const locale&);
1434: 
1434:   extern template
1434:     const moneypunct<char, false>&
1434:     use_facet<moneypunct<char, false> >(const locale&);
1434: 
1434:   extern template
1434:     const money_put<char>&
1434:     use_facet<money_put<char> >(const locale&);
1434: 
1434:   extern template
1434:     const money_get<char>&
1434:     use_facet<money_get<char> >(const locale&);
1434: 
1434:   extern template
1434:     const __timepunct<char>&
1434:     use_facet<__timepunct<char> >(const locale&);
1434: 
1434:   extern template
1434:     const time_put<char>&
1434:     use_facet<time_put<char> >(const locale&);
1434: 
1434:   extern template
1434:     const time_get<char>&
1434:     use_facet<time_get<char> >(const locale&);
1434: 
1434:   extern template
1434:     const messages<char>&
1434:     use_facet<messages<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<moneypunct<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<money_put<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<money_get<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<__timepunct<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<time_put<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<time_get<char> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<messages<char> >(const locale&);
1434: 
1434: 
1434:   extern template class moneypunct<wchar_t, false>;
1434:   extern template class moneypunct<wchar_t, true>;
1434:   extern template class moneypunct_byname<wchar_t, false>;
1434:   extern template class moneypunct_byname<wchar_t, true>;
1434:   extern template class __cxx11:: money_get<wchar_t>;
1434:   extern template class __cxx11:: money_put<wchar_t>;
1434:   extern template class __timepunct<wchar_t>;
1434:   extern template class time_put<wchar_t>;
1434:   extern template class time_put_byname<wchar_t>;
1434:   extern template class time_get<wchar_t>;
1434:   extern template class time_get_byname<wchar_t>;
1434:   extern template class messages<wchar_t>;
1434:   extern template class messages_byname<wchar_t>;
1434: 
1434:   extern template
1434:     const moneypunct<wchar_t, true>&
1434:     use_facet<moneypunct<wchar_t, true> >(const locale&);
1434: 
1434:   extern template
1434:     const moneypunct<wchar_t, false>&
1434:     use_facet<moneypunct<wchar_t, false> >(const locale&);
1434: 
1434:   extern template
1434:     const money_put<wchar_t>&
1434:     use_facet<money_put<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const money_get<wchar_t>&
1434:     use_facet<money_get<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const __timepunct<wchar_t>&
1434:     use_facet<__timepunct<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const time_put<wchar_t>&
1434:     use_facet<time_put<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const time_get<wchar_t>&
1434:     use_facet<time_get<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     const messages<wchar_t>&
1434:     use_facet<messages<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<moneypunct<wchar_t> >(const locale&);
1434: 
1434:   extern temdptr - __str;
1115: 
1115:       return __ret;
1115:     }
1115: 
1115: 
1115:   template<typename _String, typename _CharT = typename _String::value_type>
1115:     _String
1115:     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
1115:      __builtin_va_list), std::size_t __n,
1115:    const _CharT* __fmt, ...)
1115:     {
1115: 
1115: 
1115:       _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:          * __n));
1115: 
1115:       __builtin_va_list __args;
1115:       __builtin_va_start(__args, __fmt);
1115: 
1115:       const int __len = __convf(__s, __n, __fmt, __args);
1115: 
1115:       __builtin_va_end(__args);
1115: 
1115:       return _String(__s, __s + __len);
1115:     }
1115: 
1115: 
1115: }
1115: # 3961 "/usr/include/c++/12/bits/basic_string.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/charconv.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/charconv.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/charconv.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: namespace __detail
1115: {
1115: 
1115:   template<typename _Tp>
1115:     constexpr unsigned
1115:     __to_chars_len(_Tp __value, int __base = 10) noexcept
1115:     {
1115:       static_assert(is_integral<_Tp>::value, "implementation bug");
1115:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1115: 
1115:       unsigned __n = 1;
1115:       const unsigned __b2 = __base * __base;
1115:       const unsigned __b3 = __b2 * __base;
1115:       const unsigned long __b4 = __b3 * __base;
1115:       for (;;)
1115:  {
1115:    if (__value < (unsigned)__base) return __n;
1115:    if (__value < __b2) return __n + 1;
1115:    if (__value < __b3) return __n + 2;
1115:    if (__value < __b4) return __n + 3;
1115:    __value /= __b4;
1115:    __n += 4;
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     void
1115:     __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
1115:     {
1115:       static_assert(is_integral<_Tp>::value, "implementation bug");
1115:       static_assert(is_unsigned<_Tp>::value, "implementation bug");
1115: 
1115:       static constexpr char __digits[201] =
1115:  "0001020304050607080910111213141516171819"
1115:  "2021222324252627282930313233343536373839"
1115:  "4041424344454647484950515253545556575859"
1115:  "6061626364656667686970717273747576777879"
1115:  "8081828384858687888990919293949596979899";
1115:       unsigned __pos = __len - 1;
1115:       while (__val >= 100)
1115:  {
1115:    auto const __num = (__val % 100) * 2;
1115:    __val /= 100;
1115:    __first[__pos] = __digits[__num + 1];
1115:    __first[__pos - 1] = __digits[__num];
1115:    __pos -= 2;
1115:  }
1115:       if (__val >= 10)
1115:  {
1115:    auto const __num = __val * 2;
1115:    __first[1] = __digits[__num + 1];
1115:    __first[0] = __digits[__num];
1115:  }
1115:       else
1115:  __first[0] = '0' + __val;
1115:     }
1115: 
1115: }
1115: 
1115: }
1115: # 3962 "/usr/include/c++/12/bits/basic_string.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: namespace __cxx11 {
1115: 
1115: 
1115: 
1115:   inline int
1115:   stoi(const string& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
1115:      __idx, __base); }
1115: 
1115:   inline long
1115:   stol(const string& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
1115:         __idx, __base); }
1115: 
1115:   inline unsigned long
1115:   stoul(const string& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
1115:         __idx, __base); }
1115: 
1115:   inline long long
1115:   stoll(const string& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
1115:         __idx, __base); }
1115: 
1115:   inline uuild/kodi-HAo4KK/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      __builtin_va_end(
1417: # 674 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:      argCopy
1417: # 674 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:      )
1417: # 674 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                     ;
1417: 
1417:       if (nActual > -1 && nActual < size)
1417:       {
1417:         std::wstring str(cstr, nActual);
1417:         free(cstr);
1417:         return str;
1417:       }
1417:       free(cstr);
1417: 
1417: 
1417:       if (nActual > -1)
1417:         size = nActual + 1;
1417:       else
1417:         size *= 2;
1417: # 698 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:     }
1417: 
1417:     return L"";
1417:   }
1417: # 756 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string FormatFileSize(uint64_t bytes)
1417:   {
1417:     const std::array<std::string, 9> units{{"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"}};
1417:     if (bytes < 1000)
1417:       return Format("%" 
1417: # 760 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:                        "ll" "u" 
1417: # 760 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                               "B", bytes);
1417: 
1417:     size_t i = 0;
1417:     double value = static_cast<double>(bytes);
1417:     while (i + 1 < units.size() && value >= 999.5)
1417:     {
1417:       ++i;
1417:       value /= 1024.0;
1417:     }
1417:     unsigned int decimals = value < 9.995 ? 2 : (value < 99.95 ? 1 : 0);
1417:     auto frmt = "%." + Format("%u", decimals) + "f%s";
1417:     return Format(frmt.c_str(), value, units[i].c_str());
1417:   }
1417: # 785 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string BinaryStringToString(const std::string& in)
1417:   {
1417:     std::string out;
1417:     out.reserve(in.size() / 2);
1417:     for (const char *cur = in.c_str(), *end = cur + in.size(); cur != end; ++cur)
1417:     {
1417:       if (*cur == '\\')
1417:       {
1417:         ++cur;
1417:         if (cur == end)
1417:         {
1417:           break;
1417:         }
1417:         if (isdigit(*cur))
1417:         {
1417:           char* end;
1417:           unsigned long num = strtol(cur, &end, 10);
1417:           cur = end - 1;
1417:           out.push_back(static_cast<char>(num));
1417:           continue;
1417:         }
1417:       }
1417:       out.push_back(*cur);
1417:     }
1417:     return out;
1417:   }
1417: # 838 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string ToHexadecimal(const std::string& in)
1417:   {
1417:     std::ostringstream ss;
1417:     ss << std::hex;
1417:     for (unsigned char ch : in)
1417:     {
1417:       ss << std::setw(2) << std::setfill('0') << static_cast<unsigned long>(ch);
1417:     }
1417:     return ss.str();
1417:   }
1417: # 878 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static void ToUpper(std::string& str)
1417:   {
1417:     std::transform(str.begin(), str.end(), str.begin(), ::toupper);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline static void ToUpper(std::wstring& str)
1417:   {
1417:     transform(str.begin(), str.end(), str.begin(), toupperUnicode);
1417:   }
1417: # 913 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addonplate
1434:     bool
1434:     has_facet<money_put<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<money_get<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<__timepunct<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<time_put<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<time_get<wchar_t> >(const locale&);
1434: 
1434:   extern template
1434:     bool
1434:     has_facet<messages<wchar_t> >(const locale&);
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 2070 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1434: # 42 "/usr/include/c++/12/locale" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/bits/locale_conv.h" 1 3
1434: # 42 "/usr/include/c++/12/bits/locale_conv.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _OutStr, typename _InChar, typename _Codecvt,
1434:     typename _State, typename _Fn>
1434:     bool
1434:     __do_str_codecvt(const _InChar* __first, const _InChar* __last,
1434:        _OutStr& __outstr, const _Codecvt& __cvt, _State& __state,
1434:        size_t& __count, _Fn __fn)
1434:     {
1434:       if (__first == __last)
1434:  {
1434:    __outstr.clear();
1434:    __count = 0;
1434:    return true;
1434:  }
1434: 
1434:       size_t __outchars = 0;
1434:       auto __next = __first;
1434:       const auto __maxlen = __cvt.max_length() + 1;
1434: 
1434:       codecvt_base::result __result;
1434:       do
1434:  {
1434:    __outstr.resize(__outstr.size() + (__last - __next) * __maxlen);
1434:    auto __outnext = &__outstr.front() + __outchars;
1434:    auto const __outlast = &__outstr.back() + 1;
1434:    __result = (__cvt.*__fn)(__state, __next, __last, __next,
1434:      __outnext, __outlast, __outnext);
1434:    __outchars = __outnext - &__outstr.front();
1434:  }
1434:       while (__result == codecvt_base::partial && __next != __last
1434:       && ptrdiff_t(__outstr.size() - __outchars) < __maxlen);
1434: 
1434:       if (__result == codecvt_base::error)
1434:  {
1434:    __count = __next - __first;
1434:    return false;
1434:  }
1434: 
1434: 
1434: 
1434:       if constexpr (is_same<typename _Codecvt::intern_type,
1434:            typename _Codecvt::extern_type>())
1434:  if (__result == codecvt_base::noconv)
1434:    {
1434:      __outstr.assign(__first, __last);
1434:      __count = __last - __first;
1434:      return true;
1434:    }
1434: 
1434:       __outstr.resize(__outchars);
1434:       __count = __next - __first;
1434:       return true;
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1434:     inline bool
1434:     __str_codecvt_in(const char* __first, const char* __last,
1434:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
1434:        const codecvt<_CharT, char, _State>& __cvt,
1434:        _State& __state, size_t& __count)
1434:     {
1434:       using _Codecvt = codecvt<_CharT, char, _State>;
1434:       using _ConvFn
1434:  = codecvt_base::result
1434:    (_Codecvt::*)(_State&, const char*, const char*, const char*&,
1434:    _CharT*, _CharT*, _CharT*&) const;
1434:       _ConvFn __fn = &codecvt<_CharT, char, _State>::in;
1434:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
1434:          __count, __fn);
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1434:     inline bool
1434:     __str_codecvt_in(const char* __first, const char* __last,
1434:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
1434:        const codecvt<_CharT, char, _State>& __cvt)
1434:     {
1434:       _State __state = {};
1434:       size_t __n;
1434:       return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1434:     inline bool
1434:     __str_codecvt_in_all(const char* __first, const char* __last,
1434:     basic_string<_CharT, _Traits, _Alloc>& __outstr,
1434:     const codecvt<_CharT, char, _State>& __cvt)
1434:     {
1434:       _State __state = {};
1434:       size_t __n;
1434:       return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
1434:  && (__n == size_t(__last - __first));
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1434:     inline bool
1434:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
1434:         basic_string<char, _Traits, _Alloc>& __outstr,
1434:         const codecvt<_CharT, char, _State>& __cvt,
1434:         _State& __state, size_t& __count)
1434:     {
1434:       using _Codecvt = codecvt<_CharT, char, _State>;
1434:       using _ConvFn
1434:  = codecvt_base::result
1434:    (_Codecvt::*)(_State&, const _CharT*, const _CharT*, const _CharT*&,
1434:    char*, char*, char*&) const;
1434:       _ConvFn __fn = &codecvt<_CharT, char, _State>::out;
1434:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
1434:          __count, __fn);
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1434:     inline bool
1434:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
1434:         basic_string<char, _Traits, _Alloc>& __outstr,
1434:         const codecvt<_CharT, char, _State>& __cvt)
1434:     {
1434:       _State __state = {};
1434:       size_t __n;
1434:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1434:     inline bool
1434:     __str_codecvt_out_all(const _CharT* __first, const _CharT* __last,
1434:      basic_string<char, _Traits, _Alloc>& __outstr,
1434:      const codecvt<_CharT, char, _State>& __cvt)
1434:     {
1434:       _State __state = {};
1434:       size_t __n;
1434:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
1434:  && (__n == size_t(__last - __first));
1434:     }
1434: # 223 "/usr/include/c++/12/bits/locale_conv.h" 3
1434:   namespace __detail
1434:   {
1434:     template<typename _Tp>
1434:       struct _Scoped_ptr
1434:       {
1434:  __attribute__((__nonnull__(2)))
1434:  explicit
1434:  _Scoped_ptr(_Tp* __ptr) noexcept
1434:  : _M_ptr(__ptr)
1434:  { }
1434: 
1434:  _Scoped_ptr(_Tp* __ptr, const char* __msg)
1434:  : _M_ptr(__ptr)
1434:  {
1434:    if (!__ptr)
1434:      __throw_logic_error(__msg);
1434:  }
1434: 
1434:  ~_Scoped_ptr() { delete _M_ptr; }
1434: 
1434:  _Scoped_ptr(const _Scoped_ptr&) = delete;
1434:  _Scoped_ptr& operator=(const _Scoped_ptr&) = delete;
1434: 
1434:  __attribute__((__returns_nonnull__))
1434:  _Tp* operator->() const noexcept { return _M_ptr; }
1434: 
1434:  _Tp& operator*() const noexcept { return *_M_ptr; }
1434: 
1434:       private:
1434:  _Tp* _M_ptr;
1434:       };
1434:   }
1434: 
1434: namespace __cxx11 {
1434: 
1434: 
1434:   template<typename _Codecvt, typename _Elem = wchar_t,
1434:     typename _Wide_alloc = allocator<_Elem>,
1434:     typename _Byte_alloc = allocator<char>>
1434:     class wstring_convert
1434:     {
1434:     public:
1434:       typedef basic_string<char, char_traits<char>, _Byte_alloc> byte_string;
1434:       typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string;
1434:       typedef typename _Codecvt::state_type state_type;
1434:       typedef typename wide_string::traits_type::int_type int_type;
1434: 
1434: 
1434:       wstring_convert() : _M_cvt(new _Codecvt()) { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       wstring_convert(_Codecvt* __pcvt) : _M_cvt(__pcvt, "wstring_convert")
1434:       { }
1434: # 291 "/usr/include/c++/12/bits/locale_conv.h" 3
1434:       wstring_convert(_Codecvt* __pcvt, state_type __state)
1434:       : _M_cvt(__pcvt, "wstring_convert"),
1434:  _M_state(__state), _M_with_cvtstate(true)
14nsigned long long
1115:   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
1115:         __idx, __base); }
1115: 
1115: 
1115:   inline float
1115:   stof(const string& __str, size_t* __idx = 0)
1115:   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
1115: 
1115:   inline double
1115:   stod(const string& __str, size_t* __idx = 0)
1115:   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
1115: 
1115:   inline long double
1115:   stold(const string& __str, size_t* __idx = 0)
1115:   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
1115: 
1115: 
1115: 
1115: 
1115:   inline string
1115:   to_string(int __val)
1115: 
1115:   noexcept
1115: 
1115:   {
1115:     const bool __neg = __val < 0;
1115:     const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
1115:     const auto __len = __detail::__to_chars_len(__uval);
1115:     string __str(__neg + __len, '-');
1115:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1115:     return __str;
1115:   }
1115: 
1115:   inline string
1115:   to_string(unsigned __val)
1115: 
1115:   noexcept
1115: 
1115:   {
1115:     string __str(__detail::__to_chars_len(__val), '\0');
1115:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1115:     return __str;
1115:   }
1115: 
1115:   inline string
1115:   to_string(long __val)
1115: 
1115:   noexcept
1115: 
1115:   {
1115:     const bool __neg = __val < 0;
1115:     const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
1115:     const auto __len = __detail::__to_chars_len(__uval);
1115:     string __str(__neg + __len, '-');
1115:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1115:     return __str;
1115:   }
1115: 
1115:   inline string
1115:   to_string(unsigned long __val)
1115: 
1115:   noexcept
1115: 
1115:   {
1115:     string __str(__detail::__to_chars_len(__val), '\0');
1115:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1115:     return __str;
1115:   }
1115: 
1115:   inline string
1115:   to_string(long long __val)
1115:   {
1115:     const bool __neg = __val < 0;
1115:     const unsigned long long __uval
1115:       = __neg ? (unsigned long long)~__val + 1ull : __val;
1115:     const auto __len = __detail::__to_chars_len(__uval);
1115:     string __str(__neg + __len, '-');
1115:     __detail::__to_chars_10_impl(&__str[__neg], __len, __uval);
1115:     return __str;
1115:   }
1115: 
1115:   inline string
1115:   to_string(unsigned long long __val)
1115:   {
1115:     string __str(__detail::__to_chars_len(__val), '\0');
1115:     __detail::__to_chars_10_impl(&__str[0], __str.size(), __val);
1115:     return __str;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   inline string
1115:   to_string(float __val)
1115:   {
1115:     const int __n =
1115:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1115:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1115:         "%f", __val);
1115:   }
1115: 
1115:   inline string
1115:   to_string(double __val)
1115:   {
1115:     const int __n =
1115:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1115:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1115:         "%f", __val);
1115:   }
1115: 
1115:   inline string
1115:   to_string(long double __val)
1115:   {
1115:     const int __n =
1115:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1115:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
1115:         "%Lf", __val);
1115:   }
1115: 
1115: 
1115: 
1115:   inline int
1115:   stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
1115:      __idx, __base); }
1115: 
1115:   inline long
1115:   stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
1115:         __idx, 34:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       wstring_convert(const byte_string& __byte_err,
1434:         const wide_string& __wide_err = wide_string())
1434:       : _M_cvt(new _Codecvt),
1434:  _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
1434:  _M_with_strings(true)
1434:       { }
1434: 
1434:       ~wstring_convert() = default;
1434: 
1434: 
1434: 
1434:       wstring_convert(const wstring_convert&) = delete;
1434:       wstring_convert& operator=(const wstring_convert&) = delete;
1434: 
1434: 
1434:       wide_string
1434:       from_bytes(char __byte)
1434:       {
1434:  char __bytes[2] = { __byte };
1434:  return from_bytes(__bytes, __bytes+1);
1434:       }
1434: 
1434:       wide_string
1434:       from_bytes(const char* __ptr)
1434:       { return from_bytes(__ptr, __ptr+char_traits<char>::length(__ptr)); }
1434: 
1434:       wide_string
1434:       from_bytes(const byte_string& __str)
1434:       {
1434:  auto __ptr = __str.data();
1434:  return from_bytes(__ptr, __ptr + __str.size());
1434:       }
1434: 
1434:       wide_string
1434:       from_bytes(const char* __first, const char* __last)
1434:       {
1434:  if (!_M_with_cvtstate)
1434:    _M_state = state_type();
1434:  wide_string __out{ _M_wide_err_string.get_allocator() };
1434:  if (__str_codecvt_in(__first, __last, __out, *_M_cvt, _M_state,
1434:         _M_count))
1434:    return __out;
1434:  if (_M_with_strings)
1434:    return _M_wide_err_string;
1434:  __throw_range_error("wstring_convert::from_bytes");
1434:       }
1434: 
1434: 
1434: 
1434:       byte_string
1434:       to_bytes(_Elem __wchar)
1434:       {
1434:  _Elem __wchars[2] = { __wchar };
1434:  return to_bytes(__wchars, __wchars+1);
1434:       }
1434: 
1434:       byte_string
1434:       to_bytes(const _Elem* __ptr)
1434:       {
1434:  return to_bytes(__ptr, __ptr+wide_string::traits_type::length(__ptr));
1434:       }
1434: 
1434:       byte_string
1434:       to_bytes(const wide_string& __wstr)
1434:       {
1434:  auto __ptr = __wstr.data();
1434:  return to_bytes(__ptr, __ptr + __wstr.size());
1434:       }
1434: 
1434:       byte_string
1434:       to_bytes(const _Elem* __first, const _Elem* __last)
1434:       {
1434:  if (!_M_with_cvtstate)
1434:    _M_state = state_type();
1434:  byte_string __out{ _M_byte_err_string.get_allocator() };
1434:  if (__str_codecvt_out(__first, __last, __out, *_M_cvt, _M_state,
1434:          _M_count))
1434:    return __out;
1434:  if (_M_with_strings)
1434:    return _M_byte_err_string;
1434:  __throw_range_error("wstring_convert::to_bytes");
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_t converted() const noexcept { return _M_count; }
1434: 
1434: 
1434:       state_type state() const { return _M_state; }
1434: 
1434:     private:
1434:       __detail::_Scoped_ptr<_Codecvt> _M_cvt;
1434:       byte_string _M_byte_err_string;
1434:       wide_string _M_wide_err_string;
1434:       state_type _M_state = state_type();
1434:       size_t _M_count = 0;
1434:       bool _M_with_cvtstate = false;
1434:       bool _M_with_strings = false;
1434:     };
1434: 
1434: }
1434: 
1434: 
1434:   template<typename _Codecvt, typename _Elem = wchar_t,
1434:     typename _Tr = char_traits<_Elem>>
1434:     class wbuffer_convert : public basic_streambuf<_Elem, _Tr>
1434:     {
1434:       typedef basic_streambuf<_Elem, _Tr> _Wide_streambuf;
1434: 
1434:     public:
1434:       typedef typename _Codecvt::state_type state_type;
1434: 
1434: 
1434:       wbuffer_convert() : wbuffer_convert(nullptr) { }
1434: # 427 "/usr/include/c++/12/bits/locale_conv.h" 3
1434:       explicit
1434:       wbuffer_convert(streambuf* __bytebuf, _Codecvt* __pcvt = new _Codecvt,
1434:         state_type __state = state_type())
1434:       : _M_buf(__bytebuf), _M_cvt(__pcvt, "wbuffer_convert"),
1434:  _M_state(__state), _M_always_noconv(_M_cvt->always_noconv())
1434:       {
1434:  if (_M_buf)
1434:    {
1434:      this->setp(_M_put_area, _M_put_area + _S_buffer_length);
1434:      this->setg(_M_get_ar-instance/../tools/StringUtils.h"
1417:   inline static void ToLower(std::string& str)
1417:   {
1417:     transform(str.begin(), str.end(), str.begin(), ::tolower);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline static void ToLower(std::wstring& str)
1417:   {
1417:     transform(str.begin(), str.end(), str.begin(), tolowerUnicode);
1417:   }
1417: # 936 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int ReturnDigits(const std::string& str)
1417:   {
1417:     std::stringstream ss;
1417:     for (const auto& character : str)
1417:     {
1417:       if (isdigit(character))
1417:         ss << character;
1417:     }
1417:     return atoi(ss.str().c_str());
1417:   }
1417: # 978 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string Left(const std::string& str, size_t count)
1417:   {
1417:     count = std::max((size_t)0, std::min(count, str.size()));
1417:     return str.substr(0, count);
1417:   }
1417: # 1028 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string Mid(const std::string& str,
1417:                                 size_t first,
1417:                                 size_t count = std::string::npos)
1417:   {
1417:     if (first + count > str.size())
1417:       count = str.size() - first;
1417: 
1417:     if (first > str.size())
1417:       return std::string();
1417: 
1417:     
1417: # 1038 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h" 3 4
1417:    (static_cast<void> (0))
1417: # 1038 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:                                       ;
1417: 
1417:     return str.substr(first, count);
1417:   }
1417: # 1074 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string Right(const std::string& str, size_t count)
1417:   {
1417:     count = std::max((size_t)0, std::min(count, str.size()));
1417:     return str.substr(str.size() - count);
1417:   }
1417: # 1102 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string& Trim(std::string& str)
1417:   {
1417:     TrimLeft(str);
1417:     return TrimRight(str);
1417:   }
1417: # 1118 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string& Trim(std::string& str, const char* const chars)
1417:   {
1417:     TrimLeft(str, chars);
1417:     return TrimRight(str, chars);
1417:   }
1417: # 1145 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string& TrimLeft(std::string& str)
1417:   {
1417:     str.erase(str.begin(),
1417:               std::find_if(str.begin(), str.end(), [](char s) { return IsSpace(s) == 0; }));
1417:     return str;
1417:   }
1417: # 1162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string& TrimLeft(std::string& str, const char* const chars)
1417:   {
1417:     size_t nidx = str.find_first_not_of(chars);
1417:     str.erase(0, nidx);
1417:     return str;
1417:   }
1417: # 1190 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string& TrimRight(std::string& str)
1417:   {
1417:     str.erase(std::find_if(str.rbegin(), str.rend(), [](char s) { return IsSpace(s) == 0; }).base(),
1417:               str.end());
1417:     return str;
1417:   }
1417: # 1207 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.ea + _S_putback_length,
1434:          _M_get_area + _S_putback_length,
1434:          _M_get_area + _S_putback_length);
1434:    }
1434:       }
1434: 
1434:       ~wbuffer_convert() = default;
1434: 
1434: 
1434: 
1434:       wbuffer_convert(const wbuffer_convert&) = delete;
1434:       wbuffer_convert& operator=(const wbuffer_convert&) = delete;
1434: 
1434:       streambuf* rdbuf() const noexcept { return _M_buf; }
1434: 
1434:       streambuf*
1434:       rdbuf(streambuf *__bytebuf) noexcept
1434:       {
1434:  auto __prev = _M_buf;
1434:  _M_buf = __bytebuf;
1434:  return __prev;
1434:       }
1434: 
1434: 
1434:       state_type state() const noexcept { return _M_state; }
1434: 
1434:     protected:
1434:       int
1434:       sync()
1434:       { return _M_buf && _M_conv_put() && !_M_buf->pubsync() ? 0 : -1; }
1434: 
1434:       typename _Wide_streambuf::int_type
1434:       overflow(typename _Wide_streambuf::int_type __out)
1434:       {
1434:  if (!_M_buf || !_M_conv_put())
1434:    return _Tr::eof();
1434:  else if (!_Tr::eq_int_type(__out, _Tr::eof()))
1434:    return this->sputc(__out);
1434:  return _Tr::not_eof(__out);
1434:       }
1434: 
1434:       typename _Wide_streambuf::int_type
1434:       underflow()
1434:       {
1434:  if (!_M_buf)
1434:    return _Tr::eof();
1434: 
1434:  if (this->gptr() < this->egptr() || (_M_buf && _M_conv_get()))
1434:    return _Tr::to_int_type(*this->gptr());
1434:  else
1434:    return _Tr::eof();
1434:       }
1434: 
1434:       streamsize
1434:       xsputn(const typename _Wide_streambuf::char_type* __s, streamsize __n)
1434:       {
1434:  if (!_M_buf || __n == 0)
1434:    return 0;
1434:  streamsize __done = 0;
1434:  do
1434:  {
1434:    auto __nn = std::min<streamsize>(this->epptr() - this->pptr(),
1434:         __n - __done);
1434:    _Tr::copy(this->pptr(), __s + __done, __nn);
1434:    this->pbump(__nn);
1434:    __done += __nn;
1434:  } while (__done < __n && _M_conv_put());
1434:  return __done;
1434:       }
1434: 
1434:     private:
1434: 
1434:       bool
1434:       _M_conv_get()
1434:       {
1434:  const streamsize __pb1 = this->gptr() - this->eback();
1434:  const streamsize __pb2 = _S_putback_length;
1434:  const streamsize __npb = std::min(__pb1, __pb2);
1434: 
1434:  _Tr::move(_M_get_area + _S_putback_length - __npb,
1434:     this->gptr() - __npb, __npb);
1434: 
1434:  streamsize __nbytes = sizeof(_M_get_buf) - _M_unconv;
1434:  __nbytes = std::min(__nbytes, _M_buf->in_avail());
1434:  if (__nbytes < 1)
1434:    __nbytes = 1;
1434:  __nbytes = _M_buf->sgetn(_M_get_buf + _M_unconv, __nbytes);
1434:  if (__nbytes < 1)
1434:    return false;
1434:  __nbytes += _M_unconv;
1434: 
1434: 
1434: 
1434:  _Elem* __outbuf = _M_get_area + _S_putback_length;
1434:  _Elem* __outnext = __outbuf;
1434:  const char* __bnext = _M_get_buf;
1434: 
1434:  codecvt_base::result __result;
1434:  if (_M_always_noconv)
1434:    __result = codecvt_base::noconv;
1434:  else
1434:    {
1434:      _Elem* __outend = _M_get_area + _S_buffer_length;
1434: 
1434:      __result = _M_cvt->in(_M_state,
1434:       __bnext, __bnext + __nbytes, __bnext,
1434:       __outbuf, __outend, __outnext);
1434:    }
1434: 
1434:  if (__result == codecvt_base::noconv)
1434:    {
1434: 
1434:      auto __get_buf = reinterpret_cast<const _Elem*>(_M_get_buf);
1434:      _Tr::copy(__outbuf, __get_buf, __nbytes);
1434:      _M_unconv = 0;
1434:      return true;
1434:    }
1434: 
1434:  if ((_M_unconv = _M_get_buf + __nbytes - __bnext))
1434:    char_traits<char>::move(_M_get_buf, __bnext, _M_unconv);
1434: 
1434:  this->setg(__outbuf, __outbuf, __outnext);
1434: 
1434:  return __result != codecvt_base::error;
1434:       }
1434: 
1434: 
1434:       bool
1434:       _M_put(...)
1434:       { return false; }
1434: 
1434:       bool
1434:       _M_put(const char* __p, streamsize __n)
1434:       {
1434:  if (_M_buf->sputn(__p, __n) < __n)
1434:    return false;
1434:  return true;
1434:       }
1434: 
1434: 
1434:       bool
1434:       _M_conv_put()
1434:       {
1434:  _Elem* const __first = this->pba__base); }
1115: 
1115:   inline unsigned long
1115:   stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
1115:         __idx, __base); }
1115: 
1115:   inline long long
1115:   stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
1115:         __idx, __base); }
1115: 
1115:   inline unsigned long long
1115:   stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
1115:   { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
1115:         __idx, __base); }
1115: 
1115: 
1115:   inline float
1115:   stof(const wstring& __str, size_t* __idx = 0)
1115:   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
1115: 
1115:   inline double
1115:   stod(const wstring& __str, size_t* __idx = 0)
1115:   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
1115: 
1115:   inline long double
1115:   stold(const wstring& __str, size_t* __idx = 0)
1115:   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
1115: 
1115: 
1115: 
1115:   inline wstring
1115:   to_wstring(int __val)
1115:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int),
1115:          L"%d", __val); }
1115: 
1115:   inline wstring
1115:   to_wstring(unsigned __val)
1115:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1115:          4 * sizeof(unsigned),
1115:          L"%u", __val); }
1115: 
1115:   inline wstring
1115:   to_wstring(long __val)
1115:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long),
1115:          L"%ld", __val); }
1115: 
1115:   inline wstring
1115:   to_wstring(unsigned long __val)
1115:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1115:          4 * sizeof(unsigned long),
1115:          L"%lu", __val); }
1115: 
1115:   inline wstring
1115:   to_wstring(long long __val)
1115:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1115:          4 * sizeof(long long),
1115:          L"%lld", __val); }
1115: 
1115:   inline wstring
1115:   to_wstring(unsigned long long __val)
1115:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
1115:          4 * sizeof(unsigned long long),
1115:          L"%llu", __val); }
1115: 
1115:   inline wstring
1115:   to_wstring(float __val)
1115:   {
1115:     const int __n =
1115:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
1115:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1115:          L"%f", __val);
1115:   }
1115: 
1115:   inline wstring
1115:   to_wstring(double __val)
1115:   {
1115:     const int __n =
1115:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
1115:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1115:          L"%f", __val);
1115:   }
1115: 
1115:   inline wstring
1115:   to_wstring(long double __val)
1115:   {
1115:     const int __n =
1115:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
1115:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
1115:          L"%Lf", __val);
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct hash<string>
1115:     : public __hash_base<size_t, string>
1115:     {
1115:       size_t
1115:       operator()(const string& __s) const noexcept
1115:       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<string>> : std::false_type
1115:     { };
1115: 
1115: 
1115:   template<>
1115:     struct hash<wstring>
1115:     : public __hash_base<size_t, wstring>
1115:     {
1115:       size_t
1115:       operator()(const wstring& __s) const noexcept
1115:       { return std::_Hash_impl::hash(__s.data(),
1115:                   h"
1417:   inline static std::string& TrimRight(std::string& str, const char* const chars)
1417:   {
1417:     size_t nidx = str.find_last_not_of(chars);
1417:     str.erase(str.npos == nidx ? 0 : ++nidx);
1417:     return str;
1417:   }
1417: # 1222 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string& RemoveDuplicatedSpacesAndTabs(std::string& str)
1417:   {
1417:     std::string::iterator it = str.begin();
1417:     bool onSpace = false;
1417:     while (it != str.end())
1417:     {
1417:       if (*it == '\t')
1417:         *it = ' ';
1417: 
1417:       if (*it == ' ')
1417:       {
1417:         if (onSpace)
1417:         {
1417:           it = str.erase(it);
1417:           continue;
1417:         }
1417:         else
1417:           onSpace = true;
1417:       }
1417:       else
1417:         onSpace = false;
1417: 
1417:       ++it;
1417:     }
1417:     return str;
1417:   }
1417: # 1274 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int Replace(std::string& str, char oldChar, char newChar)
1417:   {
1417:     int replacedChars = 0;
1417:     for (std::string::iterator it = str.begin(); it != str.end(); ++it)
1417:     {
1417:       if (*it == oldChar)
1417:       {
1417:         *it = newChar;
1417:         replacedChars++;
1417:       }
1417:     }
1417: 
1417:     return replacedChars;
1417:   }
1417: # 1314 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int Replace(std::string& str, const std::string& oldStr, const std::string& newStr)
1417:   {
1417:     if (oldStr.empty())
1417:       return 0;
1417: 
1417:     int replacedChars = 0;
1417:     size_t index = 0;
1417: 
1417:     while (index < str.size() && (index = str.find(oldStr, index)) != std::string::npos)
1417:     {
1417:       str.replace(index, oldStr.size(), newStr);
1417:       index += newStr.size();
1417:       replacedChars++;
1417:     }
1417: 
1417:     return replacedChars;
1417:   }
1417: # 1341 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int Replace(std::wstring& str,
1417:                             const std::wstring& oldStr,
1417:                             const std::wstring& newStr)
1417:   {
1417:     if (oldStr.empty())
1417:       return 0;
1417: 
1417:     int replacedChars = 0;
1417:     size_t index = 0;
1417: 
1417:     while (index < str.size() && (index = str.find(oldStr, index)) != std::string::npos)
1417:     {
1417:       str.replace(index, oldStr.size(), newStr);
1417:       index += newStr.size();
1417:       replacedChars++;
1417:     }
1417: 
1417:     return replacedChars;
1417:   }
1417: # 1375 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string MakeSafeUrl(const std::string& str)
1417:   {
1417:     std::string safeUrl;
1417: 
1417:     safeUrl.reserve(str.size());
1417: 
1417:     std::transform(str.begin(), str.end(), std::back_inserter(safeUrl), [](char c) {
1417:       if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '-' ||
1417:           c == '.' || c == '_' || c == '~')
1417:       {
1417:         return c;
1417:       }
1417:       return '_';
1417:     });
1417: 
1417:     return safeUrl;
1417:   }
1417: # 1403 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string MakeSafeString(const std::string& str)
1417:   {
1417:     std::string safeString;
1417: 
1417:     safeString.reserve(str.size());
1417: 
1417:     std::transform(str.begin(), str.end(), std::back_inserter(safeString), [](char c) {
1417:       if (c < 0x20)
1417:         return ' ';
1417: 
1417:       return c;
1417:     });
1417: 
1417:     return safeString;
1417:   }
14se();
1434:  const _Elem* const __last = this->pptr();
1434:  const streamsize __pending = __last - __first;
1434: 
1434:  if (_M_always_noconv)
1434:    return _M_put(__first, __pending);
1434: 
1434:  char __outbuf[2 * _S_buffer_length];
1434: 
1434:  const _Elem* __next = __first;
1434:  const _Elem* __start;
1434:  do
1434:    {
1434:      __start = __next;
1434:      char* __outnext = __outbuf;
1434:      char* const __outlast = __outbuf + sizeof(__outbuf);
1434:      auto __result = _M_cvt->out(_M_state, __next, __last, __next,
1434:      __outnext, __outlast, __outnext);
1434:      if (__result == codecvt_base::error)
1434:        return false;
1434:      else if (__result == codecvt_base::noconv)
1434:        return _M_put(__next, __pending);
1434: 
1434:      if (!_M_put(__outbuf, __outnext - __outbuf))
1434:        return false;
1434:    }
1434:  while (__next != __last && __next != __start);
1434: 
1434:  if (__next != __last)
1434:    _Tr::move(__first, __next, __last - __next);
1434: 
1434:  this->pbump(__first - __next);
1434:  return __next != __first;
1434:       }
1434: 
1434:       streambuf* _M_buf;
1434:       __detail::_Scoped_ptr<_Codecvt> _M_cvt;
1434:       state_type _M_state;
1434: 
1434:       static const streamsize _S_buffer_length = 32;
1434:       static const streamsize _S_putback_length = 3;
1434:       _Elem _M_put_area[_S_buffer_length];
1434:       _Elem _M_get_area[_S_buffer_length];
1434:       streamsize _M_unconv = 0;
1434:       char _M_get_buf[_S_buffer_length-_S_putback_length];
1434:       bool _M_always_noconv;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 44 "/usr/include/c++/12/locale" 2 3
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: # 1 "/usr/include/c++/12/map" 1 3
1434: # 58 "/usr/include/c++/12/map" 3
1434:        
1434: # 59 "/usr/include/c++/12/map" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stl_map.h" 1 3
1434: # 66 "/usr/include/c++/12/bits/stl_map.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     class multimap;
1434: # 98 "/usr/include/c++/12/bits/stl_map.h" 3
1434:   template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
1434:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1434:     class map
1434:     {
1434:     public:
1434:       typedef _Key key_type;
1434:       typedef _Tp mapped_type;
1434:       typedef std::pair<const _Key, _Tp> value_type;
1434:       typedef _Compare key_compare;
1434:       typedef _Alloc allocator_type;
1434: 
1434:     private:
1434: # 123 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1434:    "std::map must have the same value_type as its allocator");
1434: 
1434: 
1434: 
1434:     public:
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:       class value_compare
1434:       : public std::binary_function<value_type, value_type, bool>
1434:       {
1434:  friend class map<_Key, _Tp, _Compare, _Alloc>;
1434:       protected:
1434:  _Compare comp;
1434: 
1434:  value_compare(_Compare __c)
1434:  : comp(__c) { }
1434: 
1434:       public:
1434:  bool operator()(const value_type& __x, const value_type& __y) const
1434:  { return comp(__x.first, __y.first); }
1434:       };
1434: #pragma GCC diagnostic pop
1434: 
1434:     private:
1434: 
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<value_type>::other _Pair_alloc_type;
1434: 
1434:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1434:          key_compare, _Pair_alloc_type> _Rep_type;
1434: 
1434: 
1434:       _Rep_type _M_t;
1434: 
1434:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
1434: 
1434: 
1434:       template<typename _Up, typename _Vp = remove_reference_t<_Up>>
1434:  static constexpr bool __usable_key
1434:    = __or_v<is_same<const _Vp, const _Key>,
1434:      __and_<is_scalar<_Vp>, is_scalar<_Key>>>;
1434: 
1434: 
1434:     public:
1434: 
1434: 
1434:       typedef typename _Alloc_traits::pointer pointer;
1434:       typedef typename _Alloc_traits::const_pointer const_pointer;
1434:       typedef typename _Alloc_traits::reference reference;
1434:       typedef typename _Alloc_traits::const_reference const_reference;
1434:       typedef typename _Rep_type::iterator iterator;
1434:       typedef typename _Rep_type::const_iterator const_iterator;
1434:       typedef typename _Rep_type::size_type size_type;
1434:       typedef typename _Rep_type::difference_type difference_type;
1434:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1434:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1434: 
1434: 
1434:       using node_type = typename _Rep_type::node_type;
1434:       using insert_return_type = typename _Rep_type::insert_return_type;
1434: # 195 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       map() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       map(const _Compare& __comp,
1434:    const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1434: # 217 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       map(const map&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       map(map&&) = default;
1434: # 238 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       map(initializer_list<value_type> __l,
1434:    const _Compare& __comp = _Compare(),
1434:    const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Pair_alloc_type(__a))
1434:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       explicit
1434:       map(const allocator_type& __a)
1434:       : _M_t(_Pair_alloc_type(__a)) { }
1434: 
1434: 
1434:       map(const map& __m, const __type_identity_t<allocator_type>& __a)
1434:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1434: 
1434: 
1434:       map(map&& __m, const __type_identity_t<allocator_type>& __a)
1434:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1434:         && _Alloc_traits::_S_always_equal())
1434:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1434: 
1434: 
1434:       map(initializer_list<value_type> __l, const allocator_type& __a)
1434:       : _M_t(_Pair_alloc_type(__a))
1434:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434:  map(_InputIterator __first, _InputIterator __last,
1434:      const allocator_type& __a)
1434:  : _M_t(_Pair_alloc_type(__a))
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: # 282 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template<typename _InputIterator>
1434:  map(_InputIterator __first, _InputIterator __last)
1434:  : _M_t()
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: # 299 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template<typename _InputIterator>
1434:  map(_InputIterator __first, _InputIterator __last,
1434:      const _Compare& __comp,
1434:      const allocator_type& __a = allocator_type())
1434:  : _M_t(__comp, _Pair_alloc_type(__a))
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~map() = default;
1434: # 328 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       map&
1434:       operator=(const map&) = default;
1434: 
1434: 
1434:       map&
1434:       operator=(map&&) = default;
1434: # 346 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       map&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_t._M_assign_unique(__l.begin(), __l.end());
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_t.get_allocator()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       begin() noexcept
1434:       {                    __s.length() * sizeof(wchar_t)); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<wstring>> : std::false_type
1115:     { };
1115: # 4281 "/usr/include/c++/12/bits/basic_string.h" 3
1115:   template<>
1115:     struct hash<u16string>
1115:     : public __hash_base<size_t, u16string>
1115:     {
1115:       size_t
1115:       operator()(const u16string& __s) const noexcept
1115:       { return std::_Hash_impl::hash(__s.data(),
1115:                                      __s.length() * sizeof(char16_t)); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<u16string>> : std::false_type
1115:     { };
1115: 
1115: 
1115:   template<>
1115:     struct hash<u32string>
1115:     : public __hash_base<size_t, u32string>
1115:     {
1115:       size_t
1115:       operator()(const u32string& __s) const noexcept
1115:       { return std::_Hash_impl::hash(__s.data(),
1115:                                      __s.length() * sizeof(char32_t)); }
1115:     };
1115: 
1115:   template<>
1115:     struct __is_fast_hash<hash<u32string>> : std::false_type
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline namespace literals
1115:   {
1115:   inline namespace string_literals
1115:   {
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     inline basic_string<char>
1115:     operator""s(const char* __str, size_t __len)
1115:     { return basic_string<char>{__str, __len}; }
1115: 
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     inline basic_string<wchar_t>
1115:     operator""s(const wchar_t* __str, size_t __len)
1115:     { return basic_string<wchar_t>{__str, __len}; }
1115: # 4344 "/usr/include/c++/12/bits/basic_string.h" 3
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     inline basic_string<char16_t>
1115:     operator""s(const char16_t* __str, size_t __len)
1115:     { return basic_string<char16_t>{__str, __len}; }
1115: 
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     inline basic_string<char32_t>
1115:     operator""s(const char32_t* __str, size_t __len)
1115:     { return basic_string<char32_t>{__str, __len}; }
1115: 
1115: 
1115: #pragma GCC diagnostic pop
1115:   }
1115:   }
1115: 
1115: 
1115:   namespace __detail::__variant
1115:   {
1115:     template<typename> struct _Never_valueless_alt;
1115: 
1115: 
1115: 
1115:     template<typename _Tp, typename _Traits, typename _Alloc>
1115:       struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
1115:       : __and_<
1115:  is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
1115:  is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
1115:  >::type
1115:       { };
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 54 "/usr/include/c++/12/string" 2 3
1115: # 1 "/usr/include/c++/12/bits/basic_string.tcc" 1 3
1115: # 42 "/usr/include/c++/12/bits/basic_string.tcc" 3
1115:        
1115: # 43 "/usr/include/c++/12/bits/basic_string.tcc" 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::npos;
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     swap(basic_string& __s) noexcept
1115:     {
1115:       if (this == std::__addressof(__s))
1115:  return;
1115: 
1115:       _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
1115: 
1115:       if (_M_is_local())
1115:  if (__s._M_is_local())
1115:    {
1115:      if (length() && __s.length())
1115:        {
1115:   _CharT __tmp_data[_S_local_capacity + 1];
1115:   traits_type::copy(__tmp_data, __s._M_local_buf,
1115:       __s.length() + 1);
1115:   traits_treturn _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       crend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_t.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_t.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_t.max_size(); }
1434: # 501 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       mapped_type&
1434:       operator[](const key_type& __k)
1434:       {
1434: 
1434: 
1434: 
1434:  iterator __i = lower_bound(__k);
1434: 
1434:  if (__i == end() || key_comp()(__k, (*__i).first))
1434: 
1434:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1434:          std::tuple<const key_type&>(__k),
1434:          std::tuple<>());
1434: 
1434: 
1434: 
1434:  return (*__i).second;
1434:       }
1434: 
1434: 
1434:       mapped_type&
1434:       operator[](key_type&& __k)
1434:       {
1434: 
1434: 
1434: 
1434:  iterator __i = lower_bound(__k);
1434: 
1434:  if (__i == end() || key_comp()(__k, (*__i).first))
1434:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1434:      std::forward_as_tuple(std::move(__k)),
1434:      std::tuple<>());
1434:  return (*__i).second;
1434:       }
1434: # 546 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       mapped_type&
1434:       at(const key_type& __k)
1434:       {
1434:  iterator __i = lower_bound(__k);
1434:  if (__i == end() || key_comp()(__k, (*__i).first))
1434:    __throw_out_of_range(("map::at"));
1434:  return (*__i).second;
1434:       }
1434: 
1434:       const mapped_type&
1434:       at(const key_type& __k) const
1434:       {
1434:  const_iterator __i = lower_bound(__k);
1434:  if (__i == end() || key_comp()(__k, (*__i).first))
1434:    __throw_out_of_range(("map::at"));
1434:  return (*__i).second;
1434:       }
1434: # 584 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template<typename... _Args>
1434:  std::pair<iterator, bool>
1434:  emplace(_Args&&... __args)
1434:  {
1434: 
1434:    if constexpr (sizeof...(_Args) == 2)
1434:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1434:        {
1434:   auto&& [__a, __v] = pair<_Args&...>(__args...);
1434:   if constexpr (__usable_key<decltype(__a)>)
1434:     {
1434:       const key_type& __k = __a;
1434:       iterator __i = lower_bound(__k);
1434:       if (__i == end() || key_comp()(__k, (*__i).first))
1434:         {
1434:    __i = emplace_hint(__i, std::forward<_Args>(__17: # 1426 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string RemoveMACAddress(const std::string& str)
1417:   {
1417:     std::regex re(R"mac([\(\[]?([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})[\)\]]?)mac");
1417:     return std::regex_replace(str, re, "", std::regex_constants::format_default);
1417:   }
1417: # 1452 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static void RemoveCRLF(std::string& strLine) { StringUtils::TrimRight(strLine, "\n\r"); }
1417: # 1472 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static void WordToDigits(std::string& word)
1417:   {
1417:     static const char word_to_letter[] = "22233344455566677778889999";
1417:     StringUtils::ToLower(word);
1417:     for (unsigned int i = 0; i < word.size(); ++i)
1417:     {
1417:       char letter = word[i];
1417:       if ((letter >= 'a' && letter <= 'z'))
1417:       {
1417:         word[i] = word_to_letter[letter - 'a'];
1417:       }
1417:       else if (letter < '0' || letter > '9')
1417:       {
1417:         word[i] = ' ';
1417:       }
1417:     }
1417:   }
1417: # 1511 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string Paramify(const std::string& param)
1417:   {
1417:     std::string result = param;
1417: 
1417:     StringUtils::Replace(result, "\\", "\\\\");
1417: 
1417:     StringUtils::Replace(result, "\"", "\\\"");
1417: 
1417: 
1417:     return "\"" + result + "\"";
1417:   }
1417: # 1554 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool EqualsNoCase(const std::string& str1, const std::string& str2)
1417:   {
1417: 
1417: 
1417:     if (str1.size() != str2.size())
1417:       return false;
1417:     return EqualsNoCase(str1.c_str(), str2.c_str());
1417:   }
1417: # 1571 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool EqualsNoCase(const std::string& str1, const char* s2)
1417:   {
1417:     return EqualsNoCase(str1.c_str(), s2);
1417:   }
1417: # 1584 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool EqualsNoCase(const char* s1, const char* s2)
1417:   {
1417:     char c2;
1417:     do
1417:     {
1417:       const char c1 = *s1++;
1417:       c2 = *s2++;
1417: 
1417: 
1417:       if (c1 != c2 && ::tolower(c1) != ::tolower(c2))
1417:         return false;
1417:     } while (c2 != '\0');
1417:     return true;
1417:   }
1417: # 1613 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int CompareNoCase(const std::string& str1, const std::string& str2, size_t n = 0)
1417:   {
1417:     return CompareNoCase(str1.c_str(), str2.c_str(), n);
1417:   }
1417: # 1632 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int CompareNoCase(const char* s1, const char* s2, size_t n = 0)
1417:   {
1417:     char c2;
1417:     size_t index = 0;
1417:     do
1417:     {
1417:       const char c1 = *s1++;
1417:       c2 = *s2++;
1417:       index++;
1417: 
1417: 
1417:       if (c1 != c2 && ::tolower(c1) != ::tolower(c2))
1417:         return ::tolower(c1) - ::tolower(c2);
1417:     } while (c2 != '\0' &&
1417:              index != n);
1417:     return 0;
1417:   }
1417: # 1675 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool StartsWith(const std::string& str1, const std::string& str2)
1417:   {
1417:     return str1.compare(0, str2.size(), str2) == 0;
1417:   }
1417: # 1689 "/<<BUILDDIR>>/kodi-20.0args)...);
1434:    return {__i, true};
1434:         }
1434:       return {__i, false};
1434:     }
1434:        }
1434: 
1434:    return _M_t._M_emplace_unique(std::forward<_Args>(__args)...);
1434:  }
1434: # 634 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  {
1434:    return _M_t._M_emplace_hint_unique(__pos,
1434:           std::forward<_Args>(__args)...);
1434:  }
1434: 
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_t.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __x)
1434:       { return _M_t.extract(__x); }
1434: 
1434: 
1434:       insert_return_type
1434:       insert(node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1434: 
1434:       template<typename, typename>
1434:  friend struct std::_Rb_tree_merge_helper;
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1434:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1434:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: # 719 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template <typename... _Args>
1434:  pair<iterator, bool>
1434:  try_emplace(const key_type& __k, _Args&&... __args)
1434:  {
1434:    iterator __i = lower_bound(__k);
1434:    if (__i == end() || key_comp()(__k, (*__i).first))
1434:      {
1434:        __i = emplace_hint(__i, std::piecewise_construct,
1434:      std::forward_as_tuple(__k),
1434:      std::forward_as_tuple(
1434:        std::forward<_Args>(__args)...));
1434:        return {__i, true};
1434:      }
1434:    return {__i, false};
1434:  }
1434: 
1434: 
1434:       template <typename... _Args>
1434:  pair<iterator, bool>
1434:  try_emplace(key_type&& __k, _Args&&... __args)
1434:  {
1434:    iterator __i = lower_bound(__k);
1434:    if (__i == end() || key_comp()(__k, (*__i).first))
1434:      {
1434:        __i = emplace_hint(__i, std::piecewise_construct,
1434:      std::forward_as_tuple(std::move(__k)),
1434:      std::forward_as_tuple(
1434:        std::forward<_Args>(__args)...));
1434:        return {__i, true};
1434:      }
1434:    return {__i, false};
1434:  }
1434: # 779 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template <typename... _Args>
1434:  iterator
1434:  try_emplace(const_iterator __hint, const key_type& __k,
1434:       _Args&&... __args)
1434:  {
1434:    iterator __i;
1434:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1434:    if (__true_hint.second)
1434:      __i = emplace_hint(iterator(__true_hint.second),
1434:           std::piecewise_construct,
1434:           std::forward_as_tuple(__k),
1434:           std::forward_as_tuple(
1434:      std::forward<_Args>(__args)...));
1434:    else
1434:      __i = iterator(__true_hint.first);
1434:    return __i;
1434:  }
1434: 
1434: 
1434:       template <typename... _Args>
1434:  iterator
1434:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1434:  {
1434:    iterator __i;
1434:    auto __true_ype::copy(__s._M_local_buf, _M_local_buf,
1115:       length() + 1);
1115:   traits_type::copy(_M_local_buf, __tmp_data,
1115:       __s.length() + 1);
1115:        }
1115:      else if (__s.length())
1115:        {
1115:   traits_type::copy(_M_local_buf, __s._M_local_buf,
1115:       __s.length() + 1);
1115:   _M_length(__s.length());
1115:   __s._M_set_length(0);
1115:   return;
1115:        }
1115:      else if (length())
1115:        {
1115:   traits_type::copy(__s._M_local_buf, _M_local_buf,
1115:       length() + 1);
1115:   __s._M_length(length());
1115:   _M_set_length(0);
1115:   return;
1115:        }
1115:    }
1115:  else
1115:    {
1115:      const size_type __tmp_capacity = __s._M_allocated_capacity;
1115:      traits_type::copy(__s._M_local_buf, _M_local_buf,
1115:          length() + 1);
1115:      _M_data(__s._M_data());
1115:      __s._M_data(__s._M_local_buf);
1115:      _M_capacity(__tmp_capacity);
1115:    }
1115:       else
1115:  {
1115:    const size_type __tmp_capacity = _M_allocated_capacity;
1115:    if (__s._M_is_local())
1115:      {
1115:        traits_type::copy(_M_local_buf, __s._M_local_buf,
1115:     __s.length() + 1);
1115:        __s._M_data(_M_data());
1115:        _M_data(_M_local_buf);
1115:      }
1115:    else
1115:      {
1115:        pointer __tmp_ptr = _M_data();
1115:        _M_data(__s._M_data());
1115:        __s._M_data(__tmp_ptr);
1115:        _M_capacity(__s._M_allocated_capacity);
1115:      }
1115:    __s._M_capacity(__tmp_capacity);
1115:  }
1115: 
1115:       const size_type __tmp_length = length();
1115:       _M_length(__s.length());
1115:       __s._M_length(__tmp_length);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::pointer
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_create(size_type& __capacity, size_type __old_capacity)
1115:     {
1115: 
1115: 
1115:       if (__capacity > max_size())
1115:  std::__throw_length_error(("basic_string::_M_create"));
1115: 
1115: 
1115: 
1115: 
1115:       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
1115:  {
1115:    __capacity = 2 * __old_capacity;
1115: 
1115:    if (__capacity > max_size())
1115:      __capacity = max_size();
1115:  }
1115: 
1115: 
1115: 
1115:       return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     template<typename _InIterator>
1115:      
1115:       void
1115:       basic_string<_CharT, _Traits, _Alloc>::
1115:       _M_construct(_InIterator __beg, _InIterator __end,
1115:      std::input_iterator_tag)
1115:       {
1115:  size_type __len = 0;
1115:  size_type __capacity = size_type(_S_local_capacity);
1115: 
1115:  pointer __p = _M_use_local_data();
1115: 
1115:  while (__beg != __end && __len < __capacity)
1115:    {
1115:      __p[__len++] = *__beg;
1115:      ++__beg;
1115:    }
1115: 
1115:  struct _Guard
1115:  {
1115:   
1115:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1115: 
1115:   
1115:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1115: 
1115:    basic_string* _M_guarded;
1115:  } __guard(this);
1115: 
1115:  while (__beg != __end)
1115:    {
1115:      if (__len == __capacity)
1115:        {
1115: 
1115:   __capacity = __len + 1;
1115:   pointer __another = _M_create(__capacity, __len);
1115:   this->_S_copy(__another, _M_data(), __len);
1115:   _M_dispose();
1115:   _M_data(__another);
1115:   _M_capacity(__capacity);
1115:        }
1115:      traits_type::assign(_M_data()[__len++], *__beg);
1115:      ++__beg;
1115:    }
1115: 
1115:  __guard._M_guarded = 0;
1115: 
1115:  _M_set_length(__len);
1115:       }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     template<typename _InIterator>
1115:      
1115:       void
1115:       basic_string<_CharT, _Traits, _Alloc>::
1115:       _M_construct(_InIterator __beg, _InIterator __end,
1115:   +dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool StartsWith(const std::string& str1, const char* s2)
1417:   {
1417:     return StartsWith(str1.c_str(), s2);
1417:   }
1417: # 1703 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool StartsWith(const char* s1, const char* s2)
1417:   {
1417:     while (*s2 != '\0')
1417:     {
1417:       if (*s1 != *s2)
1417:         return false;
1417:       s1++;
1417:       s2++;
1417:     }
1417:     return true;
1417:   }
1417: # 1744 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool StartsWithNoCase(const std::string& str1, const std::string& str2)
1417:   {
1417:     return StartsWithNoCase(str1.c_str(), str2.c_str());
1417:   }
1417: # 1759 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool StartsWithNoCase(const std::string& str1, const char* s2)
1417:   {
1417:     return StartsWithNoCase(str1.c_str(), s2);
1417:   }
1417: # 1774 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool StartsWithNoCase(const char* s1, const char* s2)
1417:   {
1417:     while (*s2 != '\0')
1417:     {
1417:       if (::tolower(*s1) != ::tolower(*s2))
1417:         return false;
1417:       s1++;
1417:       s2++;
1417:     }
1417:     return true;
1417:   }
1417: # 1811 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool EndsWith(const std::string& str1, const std::string& str2)
1417:   {
1417:     if (str1.size() < str2.size())
1417:       return false;
1417:     return str1.compare(str1.size() - str2.size(), str2.size(), str2) == 0;
1417:   }
1417: # 1827 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool EndsWith(const std::string& str1, const char* s2)
1417:   {
1417:     size_t len2 = strlen(s2);
1417:     if (str1.size() < len2)
1417:       return false;
1417:     return str1.compare(str1.size() - len2, len2, s2) == 0;
1417:   }
1417: # 1861 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool EndsWithNoCase(const std::string& str1, const std::string& str2)
1417:   {
1417:     if (str1.size() < str2.size())
1417:       return false;
1417:     const char* s1 = str1.c_str() + str1.size() - str2.size();
1417:     const char* s2 = str2.c_str();
1417:     while (*s2 != '\0')
1417:     {
1417:       if (::tolower(*s1) != ::tolower(*s2))
1417:         return false;
1417:       s1++;
1417:       s2++;
1417:     }
1417:     return true;
1417:   }
1417: # 1887 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool EndsWithNoCase(const std::string& str1, const char* s2)
1417:   {
1417:     size_t len2 = strlen(s2);
1417:     if (str1.size() < len2)
1417:       return false;
1417:     const char* s1 = str1.c_str() + str1.size() - len2;
1417:     while (*s2 != '\0')
1417:     {
1417:       if (::tolower(*s1) != ::tolower(*s2))
1417:         return false;
1417:       s1++;
1417:       s2++;
1417:     }
1417:     return true;
1417:   }
1417: # 1929 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int64_t AlphaNumericCompare(const wchar_t* left, const wchar_t* right)
1417:   {
1417:     const wchar_t* l = left;
1417:     const wchar_t* r = right;
1417:     const wchar_t *ld, *rd;
1417:     wchar_t lc, rc;
1417:     int64_t lnum, rnum;
1417:     const std::collate<wchar_t>& coll = std::use_facet<std::collate<wchar_t>>(std::locale());
1417:     int cmp_res = 0;
1417:     while (*l != 0hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1434:    if (__true_hint.second)
1434:      __i = emplace_hint(iterator(__true_hint.second),
1434:           std::piecewise_construct,
1434:           std::forward_as_tuple(std::move(__k)),
1434:           std::forward_as_tuple(
1434:      std::forward<_Args>(__args)...));
1434:    else
1434:      __i = iterator(__true_hint.first);
1434:    return __i;
1434:  }
1434: # 832 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       std::pair<iterator, bool>
1434:       insert(const value_type& __x)
1434:       { return _M_t._M_insert_unique(__x); }
1434: 
1434: 
1434: 
1434: 
1434:       std::pair<iterator, bool>
1434:       insert(value_type&& __x)
1434:       { return _M_t._M_insert_unique(std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<value_type, _Pair>::value,
1434:         pair<iterator, bool>>
1434:  insert(_Pair&& __x)
1434:  {
1434: 
1434:    using _P2 = remove_reference_t<_Pair>;
1434:    if constexpr (__is_pair<_P2>)
1434:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1434:        if constexpr (__usable_key<typename _P2::first_type>)
1434:   {
1434:     const key_type& __k = __x.first;
1434:     iterator __i = lower_bound(__k);
1434:     if (__i == end() || key_comp()(__k, (*__i).first))
1434:       {
1434:         __i = emplace_hint(__i, std::forward<_Pair>(__x));
1434:         return {__i, true};
1434:       }
1434:     return {__i, false};
1434:   }
1434: 
1434:    return _M_t._M_emplace_unique(std::forward<_Pair>(__x));
1434:  }
1434: # 877 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       void
1434:       insert(std::initializer_list<value_type> __list)
1434:       { insert(__list.begin(), __list.end()); }
1434: # 906 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       iterator
1434: 
1434:       insert(const_iterator __position, const value_type& __x)
1434: 
1434: 
1434: 
1434:       { return _M_t._M_insert_unique_(__position, __x); }
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __position, value_type&& __x)
1434:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1434:  insert(const_iterator __position, _Pair&& __x)
1434:  {
1434:    return _M_t._M_emplace_hint_unique(__position,
1434:           std::forward<_Pair>(__x));
1434:  }
1434: # 939 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_t._M_insert_range_unique(__first, __last); }
1434: # 964 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template <typename _Obj>
1434:  pair<iterator, bool>
1434:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1434:  {
1434:    iterator __i = lower_bound(__k);
1434:    if (__i == end() || key_comp()(__k, (*__i).first))
1434:      {
1434:        __i = emplace_hint(__i, std::piecewise_construct,
1434:      std::forward_as_tuple(__k),
1434:      std::forward_as_tuple(
1434:        std::forward<_Obj>(__obj)));
1434:        return {__i, true};
1434:      }
1434:    (*__i).second = std::forward<_Obj>(__obj);
1434:    return {__i, false};
1434:  }
1434: 
1434: 
1434:       template <typename _Obj>
1434:  pair<iterator, bool>
1434:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1434:  {
1434:    iterator __i = lower_bound(__k);
1434:    if (__i == end() || key_comp()(__k, (*__i).first))
1434:      {
1434:        __i = emplace_hint(__i, std::piecewise_construct,
1434:      std::forward_as_tuple(std::move(__k)),
1434:      std::forward_as_tuple(
1434:        std::forward<_Obj>(__obj)));
1434:        return {__i, true};
1434:      }
1434:    (*__i).second = std::forward<_Obj>(__obj);
1434:    return {__i, false};
1434:  }
1434: # 1019 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       template <typename _Obj>
1434:  iterator
1434:  insert_or_assign(const_iterator __hint,
1434:     const key_type& __k, _Obj   std::forward_iterator_tag)
1115:       {
1115:  size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
1115: 
1115:  if (__dnew > size_type(_S_local_capacity))
1115:    {
1115:      _M_data(_M_create(__dnew, size_type(0)));
1115:      _M_capacity(__dnew);
1115:    }
1115:  else
1115:    _M_use_local_data();
1115: 
1115: 
1115:  struct _Guard
1115:  {
1115:   
1115:    explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
1115: 
1115:   
1115:    ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
1115: 
1115:    basic_string* _M_guarded;
1115:  } __guard(this);
1115: 
1115:  this->_S_copy_chars(_M_data(), __beg, __end);
1115: 
1115:  __guard._M_guarded = 0;
1115: 
1115:  _M_set_length(__dnew);
1115:       }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_construct(size_type __n, _CharT __c)
1115:     {
1115:       if (__n > size_type(_S_local_capacity))
1115:  {
1115:    _M_data(_M_create(__n, size_type(0)));
1115:    _M_capacity(__n);
1115:  }
1115:       else
1115:  _M_use_local_data();
1115: 
1115:       if (__n)
1115:  this->_S_assign(_M_data(), __n, __c);
1115: 
1115:       _M_set_length(__n);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_assign(const basic_string& __str)
1115:     {
1115:       if (this != std::__addressof(__str))
1115:  {
1115:    const size_type __rsize = __str.length();
1115:    const size_type __capacity = capacity();
1115: 
1115:    if (__rsize > __capacity)
1115:      {
1115:        size_type __new_capacity = __rsize;
1115:        pointer __tmp = _M_create(__new_capacity, __capacity);
1115:        _M_dispose();
1115:        _M_data(__tmp);
1115:        _M_capacity(__new_capacity);
1115:      }
1115: 
1115:    if (__rsize)
1115:      this->_S_copy(_M_data(), __str._M_data(), __rsize);
1115: 
1115:    _M_set_length(__rsize);
1115:  }
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     reserve(size_type __res)
1115:     {
1115:       const size_type __capacity = capacity();
1115: 
1115: 
1115: 
1115: 
1115:       if (__res <= __capacity)
1115:  return;
1115: 
1115:       pointer __tmp = _M_create(__res, __capacity);
1115:       this->_S_copy(__tmp, _M_data(), length() + 1);
1115:       _M_dispose();
1115:       _M_data(__tmp);
1115:       _M_capacity(__res);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
1115:        size_type __len2)
1115:     {
1115:       const size_type __how_much = length() - __pos - __len1;
1115: 
1115:       size_type __new_capacity = length() + __len2 - __len1;
1115:       pointer __r = _M_create(__new_capacity, capacity());
1115: 
1115:       if (__pos)
1115:  this->_S_copy(__r, _M_data(), __pos);
1115:       if (__s && __len2)
1115:  this->_S_copy(__r + __pos, __s, __len2);
1115:       if (__how_much)
1115:  this->_S_copy(__r + __pos + __len2,
1115:         _M_data() + __pos + __len1, __how_much);
1115: 
1115:       _M_dispose();
1115:       _M_data(__r);
1115:       _M_capacity(__new_capacity);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_erase(size_type __pos, size_type __n)
1115:     {
1115:       const size_type __how_much = length() - __pos - __n;
1115: 
1115:       if (__how_much && __n)
1115:  this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
1115: 
1115:       _M_set_length(length() - __n);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits&& __obj)
1434:  {
1434:    iterator __i;
1434:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1434:    if (__true_hint.second)
1434:      {
1434:        return emplace_hint(iterator(__true_hint.second),
1434:       std::piecewise_construct,
1434:       std::forward_as_tuple(__k),
1434:       std::forward_as_tuple(
1434:         std::forward<_Obj>(__obj)));
1434:      }
1434:    __i = iterator(__true_hint.first);
1434:    (*__i).second = std::forward<_Obj>(__obj);
1434:    return __i;
1434:  }
1434: 
1434: 
1434:       template <typename _Obj>
1434:  iterator
1434:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1434:  {
1434:    iterator __i;
1434:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1434:    if (__true_hint.second)
1434:      {
1434:        return emplace_hint(iterator(__true_hint.second),
1434:       std::piecewise_construct,
1434:       std::forward_as_tuple(std::move(__k)),
1434:       std::forward_as_tuple(
1434:         std::forward<_Obj>(__obj)));
1434:      }
1434:    __i = iterator(__true_hint.first);
1434:    (*__i).second = std::forward<_Obj>(__obj);
1434:    return __i;
1434:  }
1434: # 1078 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_t.erase(__position); }
1434: 
1434: 
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(iterator __position)
1434:       { return _M_t.erase(__position); }
1434: # 1115 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_t.erase(__x); }
1434: # 1135 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       { return _M_t.erase(__first, __last); }
1434: # 1169 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       void
1434:       swap(map& __x)
1434:       noexcept(__is_nothrow_swappable<_Compare>::value)
1434:       { _M_t.swap(__x._M_t); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       clear() noexcept
1434:       { _M_t.clear(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       key_compare
1434:       key_comp() const
1434:       { return _M_t.key_comp(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       value_compare
1434:       value_comp() const
1434:       { return value_compare(_M_t.key_comp()); }
1434: # 1216 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_t.find(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1434:  { return _M_t._M_find_tr(__x); }
1434: # 1241 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_t.find(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1434:  { return _M_t._M_find_tr(__x); }
1434: # 1262 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1434:  { return _M_t._M_count_tr(__x); }
1434: # 1305 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       iterator
1434:       lower_bound(const key_type& __x)
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1434: # 1330 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       const_iterator
1434:       lower_bound(const key_type& __x) const
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bou && *r != 0)
1417:     {
1417: 
1417:       if (*l >= L'0' && *l <= L'9' && *r >= L'0' && *r <= L'9')
1417:       {
1417:         ld = l;
1417:         lnum = 0;
1417:         while (*ld >= L'0' && *ld <= L'9' && ld < l + 15)
1417:         {
1417:           lnum *= 10;
1417:           lnum += *ld++ - '0';
1417:         }
1417:         rd = r;
1417:         rnum = 0;
1417:         while (*rd >= L'0' && *rd <= L'9' && rd < r + 15)
1417:         {
1417:           rnum *= 10;
1417:           rnum += *rd++ - L'0';
1417:         }
1417: 
1417:         if (lnum != rnum)
1417:         {
1417:           return lnum - rnum;
1417:         }
1417:         l = ld;
1417:         r = rd;
1417:         continue;
1417:       }
1417: 
1417:       lc = *l;
1417:       if (lc >= L'A' && lc <= L'Z')
1417:         lc += L'a' - L'A';
1417:       rc = *r;
1417:       if (rc >= L'A' && rc <= L'Z')
1417:         rc += L'a' - L'A';
1417: 
1417: 
1417:       if ((cmp_res = coll.compare(&lc, &lc + 1, &rc, &rc + 1)) != 0)
1417:       {
1417:         return cmp_res;
1417:       }
1417:       l++;
1417:       r++;
1417:     }
1417:     if (*r)
1417:     {
1417:       return -1;
1417:     }
1417:     else if (*l)
1417:     {
1417:       return 1;
1417:     }
1417:     return 0;
1417:   }
1417: # 2003 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static size_t Utf8StringLength(const char* s)
1417:   {
1417:     size_t length = 0;
1417:     while (*s)
1417:     {
1417:       if ((*s++ & 0xC0) != 0x80)
1417:         length++;
1417:     }
1417:     return length;
1417:   }
1417: # 2024 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int IsSpace(char c) { return (c & 0x80) == 0 && ::isspace(c); }
1417: # 2033 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int IsUTF8Letter(const unsigned char* str)
1417:   {
1417: 
1417: 
1417: 
1417:     unsigned char ch = str[0];
1417:     if (!ch)
1417:       return -1;
1417:     if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
1417:       return 1;
1417:     if (!(ch & 0x80))
1417:       return -1;
1417:     unsigned char ch2 = str[1];
1417:     if (!ch2)
1417:       return -1;
1417: 
1417:     if (ch == 0xC3 && ch2 >= 0x80 && ch2 <= 0xBF && ch2 != 0x97 && ch2 != 0xB7)
1417:       return 2;
1417: 
1417:     if (ch >= 0xC4 && ch <= 0xC7 && ch2 >= 0x80 && ch2 <= 0xBF)
1417:       return 2;
1417: 
1417: 
1417:     if (((ch == 0xC8 || ch == 0xC9) && ch2 >= 0x80 && ch2 <= 0xBF) ||
1417:         (ch == 0xCA && ch2 >= 0x80 && ch2 <= 0xAF))
1417:       return 2;
1417:     return -1;
1417:   }
1417: # 2090 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool IsNaturalNumber(const std::string& str)
1417:   {
1417:     size_t i = 0, n = 0;
1417: 
1417:     while (i < str.size() && isspace((unsigned char)str[i]))
1417:       i++;
1417:     while (i < str.size() && isdigit((unsigned char)str[i]))
1417:     {
1417:       i++;
1417:       n++;
1417:     }
1417:     while (i < str.size() && isspace((unsigned char)str[i]))
1417:       i++;
1417:     return i == str.size() && n > 0;
1417:   }
1417: # 2134 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool IsInteger(const std::string& str)
1417:   {
1417:     size_t i = 0, n = 0;
1417: 
1417:     while (i < str.size() && isspace((unsigned char)str[i]))
1417:       i++;
1417:     if (i < str.size() && str[i] == '-')
1417:       i++;
1417:     while (i < str.size() && isdigit((unsigned char)str[i]))
1417:     {
1417:       i++;
1417:       n++;
1417:     }
1417:     while (i < str.size() && isspace((unsigned char)str[i]))
1417:       i++;
1417:     return i == str.size() && n > 0;
1417:   }
1417: # 2159 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/ind(const _Kt& __x) const
1434:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1434: # 1350 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       iterator
1434:       upper_bound(const key_type& __x)
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1434: # 1370 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       const_iterator
1434:       upper_bound(const key_type& __x) const
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x) const
1434:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1434: # 1399 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_t.equal_range(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x)
1434:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1434:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1434: # 1428 "/usr/include/c++/12/bits/stl_map.h" 3
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_t.equal_range(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x) const
1434:  -> decltype(pair<const_iterator, const_iterator>(
1434:        _M_t._M_equal_range_tr(__x)))
1434:  {
1434:    return pair<const_iterator, const_iterator>(
1434:        _M_t._M_equal_range_tr(__x));
1434:  }
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator==(const map<_K1, _T1, _C1, _A1>&,
1434:      const map<_K1, _T1, _C1, _A1>&);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator<(const map<_K1, _T1, _C1, _A1>&,
1434:     const map<_K1, _T1, _C1, _A1>&);
1434: 
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1434:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     map(_InputIterator, _InputIterator,
1434:  _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1434:     _Compare, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
1434:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     map(initializer_list<pair<_Key, _Tp>>,
1434:  _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> map<_Key, _Tp, _Compare, _Allocator>;
1434: 
1434:   template <typename _InputIterator, typename _Allocator,
1434:      typename = _RequireInputIter<_InputIterator>,
1434:      typename = _RequireAllocator<_Allocator>>
1434:     map(_InputIterator, _InputIterator, _Allocator)
1434:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1434:     less<__iter_key_t<_InputIterator>>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1434:     -> map<_Key, _Tp, less<_Key>, _Allocator>;
1434: # 1509 "/usr/include/c++/12/bits/stl_map.h" 3
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc, _Alloc>::
1115:     reserve()
1115:     {
1115:       if (_M_is_local())
1115:  return;
1115: 
1115:       const size_type __length = length();
1115:       const size_type __capacity = _M_allocated_capacity;
1115: 
1115:       if (__length <= size_type(_S_local_capacity))
1115:  {
1115:    this->_S_copy(_M_use_local_data(), _M_data(), __length + 1);
1115:    _M_destroy(__capacity);
1115:    _M_data(_M_local_data());
1115:  }
1115: 
1115:       else if (__length < __capacity)
1115:  try
1115:    {
1115:      pointer __tmp
1115:        = _Alloc_traits::allocate(_M_get_allocator(), __length + 1);
1115:      this->_S_copy(__tmp, _M_data(), __length + 1);
1115:      _M_dispose();
1115:      _M_data(__tmp);
1115:      _M_capacity(__length);
1115:    }
1115:  catch (const __cxxabiv1::__forced_unwind&)
1115:    { throw; }
1115:  catch (...)
1115:    { }
1115: 
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     void
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     resize(size_type __n, _CharT __c)
1115:     {
1115:       const size_type __size = this->size();
1115:       if (__size < __n)
1115:  this->append(__n - __size, __c);
1115:       else if (__n < __size)
1115:  this->_M_set_length(__n);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT, _Traits, _Alloc>&
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_append(const _CharT* __s, size_type __n)
1115:     {
1115:       const size_type __len = __n + this->size();
1115: 
1115:       if (__len <= this->capacity())
1115:  {
1115:    if (__n)
1115:      this->_S_copy(this->_M_data() + this->size(), __s, __n);
1115:  }
1115:       else
1115:  this->_M_mutate(this->size(), size_type(0), __s, __n);
1115: 
1115:       this->_M_set_length(__len);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     template<typename _InputIterator>
1115:      
1115:       basic_string<_CharT, _Traits, _Alloc>&
1115:       basic_string<_CharT, _Traits, _Alloc>::
1115:       _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
1115:      _InputIterator __k1, _InputIterator __k2,
1115:      std::__false_type)
1115:       {
1115: 
1115: 
1115:  const basic_string __s(__k1, __k2, this->get_allocator());
1115:  const size_type __n1 = __i2 - __i1;
1115:  return _M_replace(__i1 - begin(), __n1, __s._M_data(),
1115:      __s.size());
1115:       }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT, _Traits, _Alloc>&
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1115:      _CharT __c)
1115:     {
1115:       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
1115: 
1115:       const size_type __old_size = this->size();
1115:       const size_type __new_size = __old_size + __n2 - __n1;
1115: 
1115:       if (__new_size <= this->capacity())
1115:  {
1115:    pointer __p = this->_M_data() + __pos1;
1115: 
1115:    const size_type __how_much = __old_size - __pos1 - __n1;
1115:    if (__how_much && __n1 != __n2)
1115:      this->_S_move(__p + __n2, __p + __n1, __how_much);
1115:  }
1115:       else
1115:  this->_M_mutate(__pos1, __n1, 0, __n2);
1115: 
1115:       if (__n2)
1115:  this->_S_assign(this->_M_data() + __pos1, __n2, __c);
1115: 
1115:       this->_M_set_length(__new_size);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT, _Traits, _Alloc>&
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
1115:         const size_type __len2)
1115:     {
1115:       _M_check_length(__len1, __len2, "basic_string::_M_replace");
1115: 
1115:       const size_type __old_size = this->size();
1115:       const size_type __new_size = __old_size + __len2 - __len1;
>
1434:     inline bool
1434:     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return __x._M_t == __y._M_t; }
1434: # 1547 "/usr/include/c++/12/bits/stl_map.h" 3
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1434:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return __x._M_t < __y._M_t; }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1434:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline void
1434:     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
1434:   map<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1434:     typename _Cmp2>
1434:     struct
1434:     _Rb_tree_merge_helper<std::map<_Key, _Val, _Cmp1, _Alloc>,
1434:      _Cmp2>
1434:     {
1434:     private:
1434:       friend class std::map<_Key, _Val, _Cmp1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1434:       { return __map._M_t; }
1434: 
1434:       static auto&
1434:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1434:       { return __map._M_t; }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 62 "/usr/include/c++/12/map" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_multimap.h" 1 3
1434: # 64 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     class map;
1434: # 96 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:   template <typename _Key, typename _Tp,
1434:      typename _Compare = std::less<_Key>,
1434:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1434:     class multimap
1434:     {
1434:     public:
1434:       typedef _Key key_type;
1434:       typedef _Tp mapped_type;
1434:       typedef std::pair<const _Key, _Tp> value_type;
1434:       typedef _Compare key_compare;
1434:       typedef _Alloc allocator_type;
1434: 
1434:     private:
1434: # 122 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1434:    "std::multimap must have the same value_type as its allocator");
1434: 
1434: 
1434: 
1434:     public:
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:       class value_compare
1434:       : public std::binary_function<value_type, value_type, bool>
1434:       {
1434:  friend class multimap<_Key, _Tp, _Compare, _Alloc>;
1434:       protected:
1434:  _Compare comp;
1434: 
1434:  value_compare(_Compare __c)
1434:  : comp(__c) { }
1434: 
1434nclude/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool IsAasciiDigit(char chr)
1417:   {
1417:     return chr >= '0' && chr <= '9';
1417:   }
1417: # 2171 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool IsAsciiXDigit(char chr)
1417:   {
1417:     return (chr >= '0' && chr <= '9') || (chr >= 'a' && chr <= 'f') || (chr >= 'A' && chr <= 'F');
1417:   }
1417: # 2184 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int AsciiDigitValue(char chr)
1417:   {
1417:     if (!IsAasciiDigit(chr))
1417:       return -1;
1417: 
1417:     return chr - '0';
1417:   }
1417: # 2201 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int AsciiXDigitValue(char chr)
1417:   {
1417:     int v = AsciiDigitValue(chr);
1417:     if (v >= 0)
1417:       return v;
1417:     if (chr >= 'a' && chr <= 'f')
1417:       return chr - 'a' + 10;
1417:     if (chr >= 'A' && chr <= 'F')
1417:       return chr - 'A' + 10;
1417: 
1417:     return -1;
1417:   }
1417: # 2221 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool IsAsciiUppercaseLetter(char chr)
1417:   {
1417:     return (chr >= 'A' && chr <= 'Z');
1417:   }
1417: # 2233 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool IsAsciiLowercaseLetter(char chr)
1417:   {
1417:     return (chr >= 'a' && chr <= 'z');
1417:   }
1417: # 2245 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool IsAsciiAlphaNum(char chr)
1417:   {
1417:     return IsAsciiUppercaseLetter(chr) || IsAsciiLowercaseLetter(chr) || IsAasciiDigit(chr);
1417:   }
1417: # 2258 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static bool ContainsKeyword(const std::string& str,
1417:                                      const std::vector<std::string>& keywords)
1417:   {
1417:     for (const auto& it : keywords)
1417:     {
1417:       if (str.find(it) != str.npos)
1417:         return true;
1417:     }
1417:     return false;
1417:   }
1417: # 2308 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static size_t FindWords(const char* str, const char* wordLowerCase)
1417:   {
1417: 
1417:     const unsigned char* s = (const unsigned char*)str;
1417:     do
1417:     {
1417: 
1417:       const unsigned char* c = s;
1417:       const unsigned char* w = (const unsigned char*)wordLowerCase;
1417:       bool same = true;
1417:       while (same && *c && *w)
1417:       {
1417:         unsigned char lc = *c++;
1417:         if (lc >= 'A' && lc <= 'Z')
1417:           lc += 'a' - 'A';
1417: 
1417:         if (lc != *w++)
1417:           same = false;
1417:       }
1417:       if (same && *w == 0)
1417:         return (const char*)s - str;
1417: 
1417: 
1417:       int l;
1417:       if (*s >= '0' && *s <= '9')
1417:       {
1417:         ++s;
1417:         while (*s >= '0' && *s <= '9')
1417:           ++s;
1417:       }
1417:       else if ((l = IsUTF8Letter(s)) > 0)
1417:       {
1417:         s += l;
1417:         while ((l = IsUTF8Letter(s)) > 0)
1417:           s += l;
1417:       }
1417:       else
1417:         ++s;
1417:       while (*s && *s == ' ')
1417:         s++;
1417: 
1417: 
1417:     } while (*s);
1417: 
1417:     return std::string::npos;
1417:   }
1417: # 2379 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static size_t FindEndBracket(const std::string& str,
1417:                                       char opener,
1417:                                       char close:       public:
1434:  bool operator()(const value_type& __x, const value_type& __y) const
1434:  { return comp(__x.first, __y.first); }
1434:       };
1434: #pragma GCC diagnostic pop
1434: 
1434:     private:
1434: 
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<value_type>::other _Pair_alloc_type;
1434: 
1434:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1434:          key_compare, _Pair_alloc_type> _Rep_type;
1434: 
1434:       _Rep_type _M_t;
1434: 
1434:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
1434: 
1434:     public:
1434: 
1434: 
1434:       typedef typename _Alloc_traits::pointer pointer;
1434:       typedef typename _Alloc_traits::const_pointer const_pointer;
1434:       typedef typename _Alloc_traits::reference reference;
1434:       typedef typename _Alloc_traits::const_reference const_reference;
1434:       typedef typename _Rep_type::iterator iterator;
1434:       typedef typename _Rep_type::const_iterator const_iterator;
1434:       typedef typename _Rep_type::size_type size_type;
1434:       typedef typename _Rep_type::difference_type difference_type;
1434:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1434:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1434: 
1434: 
1434:       using node_type = typename _Rep_type::node_type;
1434: # 185 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       multimap() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       multimap(const _Compare& __comp,
1434:         const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1434: # 207 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       multimap(const multimap&) = default;
1434: # 216 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       multimap(multimap&&) = default;
1434: # 228 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       multimap(initializer_list<value_type> __l,
1434:         const _Compare& __comp = _Compare(),
1434:         const allocator_type& __a = allocator_type())
1434:       : _M_t(__comp, _Pair_alloc_type(__a))
1434:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       explicit
1434:       multimap(const allocator_type& __a)
1434:       : _M_t(_Pair_alloc_type(__a)) { }
1434: 
1434: 
1434:       multimap(const multimap& __m,
1434:         const __type_identity_t<allocator_type>& __a)
1434:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1434: 
1434: 
1434:       multimap(multimap&& __m, const __type_identity_t<allocator_type>& __a)
1434:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1434:         && _Alloc_traits::_S_always_equal())
1434:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1434: 
1434: 
1434:       multimap(initializer_list<value_type> __l, const allocator_type& __a)
1434:       : _M_t(_Pair_alloc_type(__a))
1434:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434:  multimap(_InputIterator __first, _InputIterator __last,
1434:    const allocator_type& __a)
1434:  : _M_t(_Pair_alloc_type(__a))
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: # 272 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       template<typename _InputIterator>
1434:  multimap(_InputIterator __first, _InputIterator __last)
1434:  : _M_t()
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: # 288 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       template<typename _InputIterator>
1434:  multimap(_InputIterator __first, _InputIterator __last,
1434:    const _Compare& __comp,
1434:    const allocator_type& __a = allocator_type())
1434:  : _M_t(__comp, _Pair_alloc_type(__a))
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~multimap() = default;
1434: # 317 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       multimap&
1434:       operator=(const multimap&) = default;
1434: 
1434: 
1434:       multimap&
1434:       operator=(multimap&&) = default;
1434: # 335 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       multimap&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_t._M_assign_equal(__l.begin(), __l.end());
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_t.get_allocator()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       begin() noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return _M_t.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return _M_t.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return _M_t.rbegin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_reverse_iterator
1434:       crend() const noexcept
1434:       { return _M_t.rend(); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_t.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_t.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_t.max_size(); }
1434: # 493 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace(_Args&&... __args)
1434:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1434: # 520 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  {
1434:    return _M_t._M_emplace_hint_equal(__pos,
1434:          std::forward<_Args>(__args)...);
1434:  }
1434: # 542 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       iterator
1434:       insert(const value_type& __x)
1434:       { return _M_t._M_insert_equal(__x); }
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       insert(value_type&& __x)
1434:       { return _M_t._M_insert_equal(std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1434:  insert(_Pair&& __x)
1434:  { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); }
1434: # 581 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       iterator
1434: 
1434:       insert(const_iterator __position, const value_type& __x)
1434: 
1434: 
1434: 
1434:       { return _M_t._M_insert_equal_(__position, __x); }
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __position, value_type&& __x)
1434:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1434: 
1434:       template<typename _Pair>
1434:  __enable_if_t<is_constructible<1115: 
1115:       if (__new_size <= this->capacity())
1115:  {
1115:    pointer __p = this->_M_data() + __pos;
1115: 
1115:    const size_type __how_much = __old_size - __pos - __len1;
1115: # 503 "/usr/include/c++/12/bits/basic_string.tcc" 3
1115:    if (_M_disjunct(__s))
1115:      {
1115:        if (__how_much && __len1 != __len2)
1115:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1115:        if (__len2)
1115:   this->_S_copy(__p, __s, __len2);
1115:      }
1115:    else
1115:      {
1115: 
1115:        if (__len2 && __len2 <= __len1)
1115:   this->_S_move(__p, __s, __len2);
1115:        if (__how_much && __len1 != __len2)
1115:   this->_S_move(__p + __len2, __p + __len1, __how_much);
1115:        if (__len2 > __len1)
1115:   {
1115:     if (__s + __len2 <= __p + __len1)
1115:       this->_S_move(__p, __s, __len2);
1115:     else if (__s >= __p + __len1)
1115:       {
1115: 
1115: 
1115:         const size_type __poff = (__s - __p) + (__len2 - __len1);
1115:         this->_S_copy(__p, __p + __poff, __len2);
1115:       }
1115:     else
1115:       {
1115:         const size_type __nleft = (__p + __len1) - __s;
1115:         this->_S_move(__p, __s, __nleft);
1115:         this->_S_copy(__p + __nleft, __p + __len2,
1115:         __len2 - __nleft);
1115:       }
1115:   }
1115:      }
1115:  }
1115:       else
1115:  this->_M_mutate(__pos, __len1, __s, __len2);
1115: 
1115:       this->_M_set_length(__new_size);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     copy(_CharT* __s, size_type __n, size_type __pos) const
1115:     {
1115:       _M_check(__pos, "basic_string::copy");
1115:       __n = _M_limit(__pos, __n);
1115:       ;
1115:       if (__n)
1115:  _S_copy(__s, _M_data() + __pos, __n);
1115: 
1115:       return __n;
1115:     }
1115: # 603 "/usr/include/c++/12/bits/basic_string.tcc" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(const _CharT* __lhs,
1115:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     {
1115:       ;
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef typename __string_type::size_type __size_type;
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_CharT>::other _Char_alloc_type;
1115:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1115:       const __size_type __len = _Traits::length(__lhs);
1115:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1115:           __rhs.get_allocator()));
1115:       __str.reserve(__len + __rhs.size());
1115:       __str.append(__lhs, __len);
1115:       __str.append(__rhs);
1115:       return __str;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     basic_string<_CharT, _Traits, _Alloc>
1115:     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
1115:     {
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef typename __string_type::size_type __size_type;
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_CharT>::other _Char_alloc_type;
1115:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
1115:       __string_type __str(_Alloc_traits::_S_select_on_copy(
1115:           __rhs.get_allocator()));
1115:       const __size_type __len = __rhs.size();
1115:       __str.reserve(__len + 1);
1115:       __str.append(__size_type(1), __lhs);
1115:       __str.append(__rhs);
1115:       return __str;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find(const _CharT* __s, sr,
1417:                                       size_t startPos = 0)
1417:   {
1417:     size_t blocks = 1;
1417:     for (size_t i = startPos; i < str.size(); i++)
1417:     {
1417:       if (str[i] == opener)
1417:         blocks++;
1417:       else if (str[i] == closer)
1417:       {
1417:         blocks--;
1417:         if (!blocks)
1417:           return i;
1417:       }
1417:     }
1417: 
1417:     return std::string::npos;
1417:   }
1417: # 2418 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int FindNumber(const std::string& strInput, const std::string& strFind)
1417:   {
1417:     size_t pos = strInput.find(strFind, 0);
1417:     int numfound = 0;
1417:     while (pos != std::string::npos)
1417:     {
1417:       numfound++;
1417:       pos = strInput.find(strFind, pos + 1);
1417:     }
1417:     return numfound;
1417:   }
1417: # 2474 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   template<typename CONTAINER>
1417:   inline static std::string Join(const CONTAINER& strings, const std::string& delimiter)
1417:   {
1417:     std::string result;
1417:     for (const auto& str : strings)
1417:       result += str + delimiter;
1417: 
1417:     if (!result.empty())
1417:       result.erase(result.size() - delimiter.size());
1417:     return result;
1417:   }
1417: # 2517 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::vector<std::string> Split(const std::string& input,
1417:                                                const std::string& delimiter,
1417:                                                unsigned int iMaxStrings = 0)
1417:   {
1417:     std::vector<std::string> result;
1417:     SplitTo(std::back_inserter(result), input, delimiter, iMaxStrings);
1417:     return result;
1417:   }
1417: # 2539 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::vector<std::string> Split(const std::string& input,
1417:                                                const char delimiter,
1417:                                                int iMaxStrings = 0)
1417:   {
1417:     std::vector<std::string> result;
1417:     SplitTo(std::back_inserter(result), input, delimiter, iMaxStrings);
1417:     return result;
1417:   }
1417: # 2561 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::vector<std::string> Split(const std::string& input,
1417:                                                const std::vector<std::string>& delimiters)
1417:   {
1417:     std::vector<std::string> result;
1417:     SplitTo(std::back_inserter(result), input, delimiters);
1417:     return result;
1417:   }
1417: # 2584 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   template<typename OutputIt>
1417:   inline static OutputIt SplitTo(OutputIt d_first,
1417:                                  const std::string& input,
1417:                                  const std::string& delimiter,
1417:                                  unsigned int iMaxStrings = 0)
1417:   {
1417:     OutputIt dest = d_first;
1417: 
1417:     if (input.empty())
1417:       return dest;
1417:     if (delimiter.empty())
1417:     {
1417:       *d_first++ = input;
1417:       return dest;
1417:     }
1417: 
1417:     const size_t delimLen = delimiter.length();
1417:     size_t nextDelim;
1417:     size_t textPos = 0;
1417:     do
1417:     {
1417:       if (--iMaxStrings == 0)
1417:       {
1417:         *dest++ = input.substr(textPos);
1417:         break;
1417:       }
1417:       nextDelim = input.find(delimiter, textPos);
1417:       *dest++ = input.substr(textPos, nextDelim - textPos);
1417:       textPos = nextDelim + delimLen;
1417:     } while (nextDelim != std::string::npos);
1417: 
1417value_type, _Pair&&>::value, iterator>
1434:  insert(const_iterator __position, _Pair&& __x)
1434:  {
1434:    return _M_t._M_emplace_hint_equal(__position,
1434:          std::forward<_Pair>(__x));
1434:  }
1434: # 615 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_t._M_insert_range_equal(__first, __last); }
1434: # 628 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { this->insert(__l.begin(), __l.end()); }
1434: 
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_t.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __x)
1434:       { return _M_t.extract(__x); }
1434: 
1434: 
1434:       iterator
1434:       insert(node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, node_type&& __nh)
1434:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1434: 
1434:       template<typename, typename>
1434:  friend struct std::_Rb_tree_merge_helper;
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1434:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1434:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1434:  }
1434: 
1434:       template<typename _Cmp2>
1434:  void
1434:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: # 705 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_t.erase(__position); }
1434: 
1434: 
1434:       __attribute ((__abi_tag__ ("cxx11")))
1434:       iterator
1434:       erase(iterator __position)
1434:       { return _M_t.erase(__position); }
1434: # 742 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_t.erase(__x); }
1434: # 763 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       { return _M_t.erase(__first, __last); }
1434: # 800 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       void
1434:       swap(multimap& __x)
1434:       noexcept(__is_nothrow_swappable<_Compare>::value)
1434:       { _M_t.swap(__x._M_t); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       clear() noexcept
1434:       { _M_t.clear(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       key_compare
1434:       key_comp() const
1434:       { return _M_t.key_comp(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       value_compare
1434:       value_comp() const
1434:       { return value_compare(_M_t.key_comp()); }
1434: # 846 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_t.find(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1434:  { return _M_t._M_find_tr(__x); }
1434: # 870 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_t.find(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1434:  { return _M_t._M_find_tr(__x); }
1434: # 888 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_t.count(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1434:  { return _M_t._M_count_tr(__x); }
1434: # 931 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       iterator
1434:       lower_bound(const key_type& __x)
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1434: # 956 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       const_iterator
1434:       lower_bound(const key_type& __x) const
1434:       { return _M_t.lower_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  lower_bound(const _Kt& __x) const
1434:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1434:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1434: # 976 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       iterator
1434:       upper_bound(const key_type& __x)
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x)
1434:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1434: # 996 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       const_iterator
1434:       upper_bound(const key_type& __x) const
1434:       { return _M_t.upper_bound(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  upper_bound(const _Kt& __x) const
1434:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1434:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1434: # 1023 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_t.equal_range(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x)
1434:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1434:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1434: # 1050 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_t.equal_range(__x); }
1434: 
1434: 
1434:       template<typename _Kt>
1434:  auto
1434:  equal_range(const _Kt& __x) const
1434:  -> decltype(pair<const_iterator, const_iterator>(
1434:        _M_t._M_equal_range_tr(__x)))
1434:  {
1434:    return pair<const_iterator, const_iterator>(
1434:        _M_t._M_equal_range_tr(__x));
1434:  }
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator==(const multimap<_K1, _T1, _C1, _A1>&,
1434:      const multimap<_K1, _T1, _C1, _A1>&);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1434:  friend bool
1434:  operator<(const multimap<_K1, _T1, _C1, _A1>&,
1434:     const multimap<_K1, _T1, _C1, _A1>&);
1434: 
1434:   };
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1434:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multimap(_InputIterator, _InputIterator,
1434:       _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1434:   _Compare, _Allocator>;
1434: 
1434:   template<typename _Key, typenize_type __pos, size_type __n) const
1115:     noexcept
1115:     {
1115:       ;
1115:       const size_type __size = this->size();
1115: 
1115:       if (__n == 0)
1115:  return __pos <= __size ? __pos : npos;
1115:       if (__pos >= __size)
1115:  return npos;
1115: 
1115:       const _CharT __elem0 = __s[0];
1115:       const _CharT* const __data = data();
1115:       const _CharT* __first = __data + __pos;
1115:       const _CharT* const __last = __data + __size;
1115:       size_type __len = __size - __pos;
1115: 
1115:       while (__len >= __n)
1115:  {
1115: 
1115:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
1115:    if (!__first)
1115:      return npos;
1115: 
1115: 
1115: 
1115:    if (traits_type::compare(__first, __s, __n) == 0)
1115:      return __first - __data;
1115:    __len = __last - ++__first;
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       size_type __ret = npos;
1115:       const size_type __size = this->size();
1115:       if (__pos < __size)
1115:  {
1115:    const _CharT* __data = _M_data();
1115:    const size_type __n = __size - __pos;
1115:    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
1115:    if (__p)
1115:      __ret = __p - __data;
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     rfind(const _CharT* __s, size_type __pos, size_type __n) const
1115:     noexcept
1115:     {
1115:       ;
1115:       const size_type __size = this->size();
1115:       if (__n <= __size)
1115:  {
1115:    __pos = std::min(size_type(__size - __n), __pos);
1115:    const _CharT* __data = _M_data();
1115:    do
1115:      {
1115:        if (traits_type::compare(__data + __pos, __s, __n) == 0)
1115:   return __pos;
1115:      }
1115:    while (__pos-- > 0);
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     rfind(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       size_type __size = this->size();
1115:       if (__size)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    for (++__size; __size-- > 0; )
1115:      if (traits_type::eq(_M_data()[__size], __c))
1115:        return __size;
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
1115:     noexcept
1115:     {
1115:       ;
1115:       for (; __n && __pos < this->size(); ++__pos)
1115:  {
1115:    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
1115:    if (__p)
1115:      return __pos;
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
1115:     noexcept
1115:     {
1115:       ;
1115:       size_type __size = this->size();
1115:       if (__size && __n)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    do
1115:      {
1115:        if (traits_type::find(__s, __n, _M_data()[__size]))
1115:   return __size;
1115:      }
1115:    while (__size-- != 0);
1115:  }
1115:       return npos;
1115:   :     return dest;
1417:   }
1417: # 2633 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   template<typename OutputIt>
1417:   inline static OutputIt SplitTo(OutputIt d_first,
1417:                                  const std::string& input,
1417:                                  const char delimiter,
1417:                                  int iMaxStrings = 0)
1417:   {
1417:     return SplitTo(d_first, input, std::string(1, delimiter), iMaxStrings);
1417:   }
1417: # 2657 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   template<typename OutputIt>
1417:   inline static OutputIt SplitTo(OutputIt d_first,
1417:                                  const std::string& input,
1417:                                  const std::vector<std::string>& delimiters)
1417:   {
1417:     OutputIt dest = d_first;
1417:     if (input.empty())
1417:       return dest;
1417: 
1417:     if (delimiters.empty())
1417:     {
1417:       *dest++ = input;
1417:       return dest;
1417:     }
1417:     std::string str = input;
1417:     for (size_t di = 1; di < delimiters.size(); di++)
1417:       StringUtils::Replace(str, delimiters[di], delimiters[0]);
1417:     return SplitTo(dest, str, delimiters[0]);
1417:   }
1417: # 2696 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::vector<std::string> SplitMulti(const std::vector<std::string>& input,
1417:                                                     const std::vector<std::string>& delimiters,
1417:                                                     unsigned int iMaxStrings = 0)
1417:   {
1417:     if (input.empty())
1417:       return std::vector<std::string>();
1417: 
1417:     std::vector<std::string> results(input);
1417: 
1417:     if (delimiters.empty() || (iMaxStrings > 0 && iMaxStrings <= input.size()))
1417:       return results;
1417: 
1417:     std::vector<std::string> strings1;
1417:     if (iMaxStrings == 0)
1417:     {
1417:       for (size_t di = 0; di < delimiters.size(); di++)
1417:       {
1417:         for (size_t i = 0; i < results.size(); i++)
1417:         {
1417:           std::vector<std::string> substrings = StringUtils::Split(results[i], delimiters[di]);
1417:           for (size_t j = 0; j < substrings.size(); j++)
1417:             strings1.push_back(substrings[j]);
1417:         }
1417:         results = strings1;
1417:         strings1.clear();
1417:       }
1417:       return results;
1417:     }
1417: 
1417: 
1417: 
1417:     size_t iNew = iMaxStrings - results.size();
1417:     for (size_t di = 0; di < delimiters.size(); di++)
1417:     {
1417:       for (size_t i = 0; i < results.size(); i++)
1417:       {
1417:         if (iNew > 0)
1417:         {
1417:           std::vector<std::string> substrings =
1417:               StringUtils::Split(results[i], delimiters[di], static_cast<int>(iNew + 1));
1417:           iNew = iNew - substrings.size() + 1;
1417:           for (size_t j = 0; j < substrings.size(); j++)
1417:             strings1.push_back(substrings[j]);
1417:         }
1417:         else
1417:           strings1.push_back(results[i]);
1417:       }
1417:       results = strings1;
1417:       iNew = iMaxStrings - results.size();
1417:       strings1.clear();
1417:       if ((iNew <= 0))
1417:         break;
1417:     }
1417:     return results;
1417:   }
1417: # 2768 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::vector<std::string> Tokenize(const std::string& input,
1417:                                                   const std::string& delimiters)
1417:   {
1417:     std::vector<std::string> tokens;
1417:     Tokenize(input, tokens, delimiters);
1417:     return tokens;
1417:   }
1417: # 2785 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static void Tokeniame _Tp, typename _Compare = less<_Key>,
1434:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multimap(initializer_list<pair<_Key, _Tp>>,
1434:       _Compare = _Compare(), _Allocator = _Allocator())
1434:     -> multimap<_Key, _Tp, _Compare, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multimap(_InputIterator, _InputIterator, _Allocator)
1434:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1434:   less<__iter_key_t<_InputIterator>>, _Allocator>;
1434: 
1434:   template<typename _Key, typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1434:     -> multimap<_Key, _Tp, less<_Key>, _Allocator>;
1434: # 1130 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return __x._M_t == __y._M_t; }
1434: # 1168 "/usr/include/c++/12/bits/stl_multimap.h" 3
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1434:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return __x._M_t < __y._M_t; }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1434:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline bool
1434:     operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1434:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1434:     inline void
1434:     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1434:   multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1434:     typename _Cmp2>
1434:     struct
1434:     _Rb_tree_merge_helper<std::multimap<_Key, _Val, _Cmp1, _Alloc>,
1434:      _Cmp2>
1434:     {
1434:     private:
1434:       friend class std::multimap<_Key, _Val, _Cmp1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1434:       { return __map._M_t; }
1434: 
1434:       static auto&
1434:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1434:       { return __map._M_t; }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 63 "/usr/include/c++/12/map" 2 3
1434: # 71 "/usr/include/c++/12/map" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr
1434:   {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1434:       using map
1434:  = std::map<_Key, _Tp, _Cmp,
1434:      polymorphic_allocator<pair<const _Key, _Tp>>>;
1434:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1434:       using multimap
1434:  = std::multimap<_Key, _Tp, _Cmp,
1434:    polymorphic_allocator<pair<const _Key, _Tp>>>;
1434:   }
1434: 
1434: }
1434: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/utility" 1 3
1434: # 58 "/usr/include/c++/12/utility" 3
1434:        
1434: # 59 "/usr/include/c++/12/utility" 3
1434: # 68 "/usr/include/c++/12/utility" 3
1434: # 1 "/usr/include/c++/12/bits/stl_relops.h" 1 3
1434: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   namespace rel_ops
1434:   {
1434: # 86 "/usr/include/c++/12/bits/stl_relops.h" 3
1434:     template <class _Tp>
1434:       inline bool
1434:       operator!=(const _Tp& __x, const _Tp& __y)
1434:       { return !(__x == __y); }
1434: # 99 "/usr/include/c++/12/bits/stl_relops.h" 3
1434:     template <class _Tp>
1434:       inline bool
1434:       operator>(const _Tp& __x, const _Tp& __y)
1434:       { return __y < __x; }
1434: # 112 "/usr/include/c++/12/bits/stl_relops.h" 3
1434:     template <class _Tp>
1434:       inline bool
1434:       operator<=(const _Tp& __x, const _Tp& __y)
1434:       { return !(__y < __x); }
1434: # 125 "/usr/include/c++/12/bits/stl_relops.h" 3
1434:     template <class _Tp>
1434:       inline bool
1434:       operator>=(const _Tp& __x, const _Tp& __y)
1434:       { return !(__x < __y); }
1434:   }
1434: 
1434: 
1434: }
1434: # 69 "/usr/include/c++/12/utility" 2 3
1434: # 82 "/usr/include/c++/12/utility" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename _Up = _Tp>
1434:    
1434:     inline _Tp
1434:     exchange(_Tp& __obj, _Up&& __new_val)
1434:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1434:       is_nothrow_assignable<_Tp&, _Up>>::value)
1434:     { return std::__exchange(__obj, std::forward<_Up>(__new_val)); }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     [[nodiscard]]
1434:     constexpr add_const_t<_Tp>&
1434:     as_const(_Tp& __t) noexcept
1434:     { return __t; }
1434: 
1434:   template<typename _Tp>
1434:     void as_const(const _Tp&&) = delete;
1434: # 220 "/usr/include/c++/12/utility" 3
1434: 
1434: }
1434: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: # 1 "/usr/include/c++/12/vector" 1 3
1434: # 58 "/usr/include/c++/12/vector" 3
1434:        
1434: # 59 "/usr/include/c++/12/vector" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stl_vector.h" 1 3
1434: # 78 "/usr/include/c++/12/bits/stl_vector.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     struct _Vector_base
1434:     {
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_Tp>::other _Tp_alloc_type;
1434:       typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
1434:         pointer;
1434: 
1434:       struct _Vector_impl_data
1434:       {
1434:  pointer _M_start;
1434:  pointer _M_finish;
1434:  pointer _M_end_of_storage;
1434: 
1434: 
1434:  _Vector_impl_data() noexcept
1434:  : _M_start(), _M_finish(), _M_end_of_storage()
1434:  { }
1434: 
1434: 
1434: 
1434:  _Vector_impl_data(_Vector_impl_data&& __x) noexcept
1434:  : _M_start(__x._M_start), _M_finish(__x._M_finish),
1434:    _M_end_of_storage(__x._M_end_of_storage)
1434:  { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); }
1434: 
1434: 
1434: 
1434:  void
1434:  _M_copy_data(_Vector_impl_data const& __x) noexcept
1434:  {
1434:    _M_start = __x._M_start;
1434:    _M_finish = __x._M_finish;
1434:    _M_end_of_storage = __x._M_end_of_storage;
1434:  }
1  }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1115:     noexcept
1115:     {
1115:       ;
1115:       for (; __pos < this->size(); ++__pos)
1115:  if (!traits_type::find(__s, __n, _M_data()[__pos]))
1115:    return __pos;
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       for (; __pos < this->size(); ++__pos)
1115:  if (!traits_type::eq(_M_data()[__pos], __c))
1115:    return __pos;
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
1115:     noexcept
1115:     {
1115:       ;
1115:       size_type __size = this->size();
1115:       if (__size)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    do
1115:      {
1115:        if (!traits_type::find(__s, __n, _M_data()[__size]))
1115:   return __size;
1115:      }
1115:    while (__size--);
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
1115:     {
1115:       size_type __size = this->size();
1115:       if (__size)
1115:  {
1115:    if (--__size > __pos)
1115:      __size = __pos;
1115:    do
1115:      {
1115:        if (!traits_type::eq(_M_data()[__size], __c))
1115:   return __size;
1115:      }
1115:    while (__size--);
1115:  }
1115:       return npos;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     int
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     compare(size_type __pos, size_type __n, const basic_string& __str) const
1115:     {
1115:       _M_check(__pos, "basic_string::compare");
1115:       __n = _M_limit(__pos, __n);
1115:       const size_type __osize = __str.size();
1115:       const size_type __len = std::min(__n, __osize);
1115:       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
1115:       if (!__r)
1115:  __r = _S_compare(__n, __osize);
1115:       return __r;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     int
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     compare(size_type __pos1, size_type __n1, const basic_string& __str,
1115:      size_type __pos2, size_type __n2) const
1115:     {
1115:       _M_check(__pos1, "basic_string::compare");
1115:       __str._M_check(__pos2, "basic_string::compare");
1115:       __n1 = _M_limit(__pos1, __n1);
1115:       __n2 = __str._M_limit(__pos2, __n2);
1115:       const size_type __len = std::min(__n1, __n2);
1115:       int __r = traits_type::compare(_M_data() + __pos1,
1115:          __str.data() + __pos2, __len);
1115:       if (!__r)
1115:  __r = _S_compare(__n1, __n2);
1115:       return __r;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     int
1115:     basic_string<_CharT, _Traits, _Alloc>::
1115:     compare(const _CharT* __s) const noexcept
1115:     {
1115:       ;
1115:       const size_type __size = this->size();
1115:       const size_type __osize = traits_type::length(__s);
1115:       const size_type __len = std::min(__size, __osize);
1115:       int __r = traits_type::compare(_M_data(), 434: 
1434: 
1434:  void
1434:  _M_swap_data(_Vector_impl_data& __x) noexcept
1434:  {
1434: 
1434: 
1434:    _Vector_impl_data __tmp;
1434:    __tmp._M_copy_data(*this);
1434:    _M_copy_data(__x);
1434:    __x._M_copy_data(__tmp);
1434:  }
1434:       };
1434: 
1434:       struct _Vector_impl
1434:  : public _Tp_alloc_type, public _Vector_impl_data
1434:       {
1434: 
1434:  _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1434: 
1434:  : _Tp_alloc_type()
1434:  { }
1434: 
1434: 
1434:  _Vector_impl(_Tp_alloc_type const& __a) noexcept
1434:  : _Tp_alloc_type(__a)
1434:  { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  _Vector_impl(_Vector_impl&& __x) noexcept
1434:  : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x))
1434:  { }
1434: 
1434: 
1434:  _Vector_impl(_Tp_alloc_type&& __a) noexcept
1434:  : _Tp_alloc_type(std::move(__a))
1434:  { }
1434: 
1434: 
1434:  _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept
1434:  : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv))
1434:  { }
1434: # 291 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       };
1434: 
1434:     public:
1434:       typedef _Alloc allocator_type;
1434: 
1434:      
1434:       _Tp_alloc_type&
1434:       _M_get_Tp_allocator() noexcept
1434:       { return this->_M_impl; }
1434: 
1434:      
1434:       const _Tp_alloc_type&
1434:       _M_get_Tp_allocator() const noexcept
1434:       { return this->_M_impl; }
1434: 
1434:      
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_get_Tp_allocator()); }
1434: 
1434: 
1434:       _Vector_base() = default;
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       _Vector_base(const allocator_type& __a) noexcept
1434:       : _M_impl(__a) { }
1434: 
1434: 
1434: 
1434:      
1434:       _Vector_base(size_t __n)
1434:       : _M_impl()
1434:       { _M_create_storage(__n); }
1434: 
1434: 
1434:      
1434:       _Vector_base(size_t __n, const allocator_type& __a)
1434:       : _M_impl(__a)
1434:       { _M_create_storage(__n); }
1434: 
1434: 
1434:       _Vector_base(_Vector_base&&) = default;
1434: 
1434: 
1434: 
1434:      
1434:       _Vector_base(_Tp_alloc_type&& __a) noexcept
1434:       : _M_impl(std::move(__a)) { }
1434: 
1434:      
1434:       _Vector_base(_Vector_base&& __x, const allocator_type& __a)
1434:       : _M_impl(__a)
1434:       {
1434:  if (__x.get_allocator() == __a)
1434:    this->_M_impl._M_swap_data(__x._M_impl);
1434:  else
1434:    {
1434:      size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start;
1434:      _M_create_storage(__n);
1434:    }
1434:       }
1434: 
1434: 
1434:      
1434:       _Vector_base(const allocator_type& __a, _Vector_base&& __x)
1434:       : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl))
1434:       { }
1434: 
1434: 
1434:      
1434:       ~_Vector_base() noexcept
1434:       {
1434:  _M_deallocate(_M_impl._M_start,
1434:         _M_impl._M_end_of_storage - _M_impl._M_start);
1434:       }
1434: 
1434:     public:
1434:       _Vector_impl _M_impl;
1434: 
1434:      
1434:       pointer
1434:       _M_allocate(size_t __n)
1434:       {
1434:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1434:  return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_deallocate(pointer __p, size_t __n)
1434:       {
1434:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1434:  if (__p)
1434:    _Tr::deallocate(_M_impl, __p, __n);
1434:       }
1434: 
1434:     protected:
1434:      
1434:       void
1434:       _M_create_storage(size_t __n)
1434:       {
1434:  this->_M_impl._M_start = this->_M_allocate(__n);
1434:  this->_M_impl._M_finish = this->_M_impl._M_start;
1434:  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1434:       }
1434:     };
1434: # 422 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1434:     class vector : protected _Vector_base<_Tp, _Alloc>
1434:    ze(const std::string& input,
1417:                               std::vector<std::string>& tokens,
1417:                               const std::string& delimiters)
1417:   {
1417:     tokens.clear();
1417: 
1417:     std::string::size_type dataPos = input.find_first_not_of(delimiters);
1417:     while (dataPos != std::string::npos)
1417:     {
1417: 
1417:       const std::string::size_type nextDelimPos = input.find_first_of(delimiters, dataPos);
1417: 
1417:       tokens.push_back(input.substr(dataPos, nextDelimPos - dataPos));
1417: 
1417:       dataPos = input.find_first_not_of(delimiters, nextDelimPos);
1417:     }
1417:   }
1417: # 2812 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::vector<std::string> Tokenize(const std::string& input, const char delimiter)
1417:   {
1417:     std::vector<std::string> tokens;
1417:     Tokenize(input, tokens, delimiter);
1417:     return tokens;
1417:   }
1417: # 2828 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static void Tokenize(const std::string& input,
1417:                               std::vector<std::string>& tokens,
1417:                               const char delimiter)
1417:   {
1417:     tokens.clear();
1417: 
1417:     std::string::size_type dataPos = input.find_first_not_of(delimiter);
1417:     while (dataPos != std::string::npos)
1417:     {
1417: 
1417:       const std::string::size_type nextDelimPos = input.find(delimiter, dataPos);
1417: 
1417:       tokens.push_back(input.substr(dataPos, nextDelimPos - dataPos));
1417: 
1417:       dataPos = input.find_first_not_of(delimiter, nextDelimPos);
1417:     }
1417:   }
1417: # 2885 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static long TimeStringToSeconds(const std::string& timeString)
1417:   {
1417:     std::string strCopy(timeString);
1417:     StringUtils::Trim(strCopy);
1417:     if (StringUtils::EndsWithNoCase(strCopy, " min"))
1417:     {
1417: 
1417:       return 60 * atoi(strCopy.c_str());
1417:     }
1417:     else
1417:     {
1417:       std::vector<std::string> secs = StringUtils::Split(strCopy, ':');
1417:       int timeInSecs = 0;
1417:       for (unsigned int i = 0; i < 3 && i < secs.size(); i++)
1417:       {
1417:         timeInSecs *= 60;
1417:         timeInSecs += atoi(secs[i].c_str());
1417:       }
1417:       return timeInSecs;
1417:     }
1417:   }
1417: # 2931 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static std::string SecondsToTimeString(long seconds,
1417:                                                 TIME_FORMAT format = TIME_FORMAT_GUESS)
1417:   {
1417:     bool isNegative = seconds < 0;
1417:     seconds = std::abs(seconds);
1417: 
1417:     std::string strHMS;
1417:     if (format == TIME_FORMAT_SECS)
1417:       strHMS = std::to_string(seconds);
1417:     else if (format == TIME_FORMAT_MINS)
1417:       strHMS = std::to_string(lrintf(static_cast<float>(seconds) / 60.0f));
1417:     else if (format == TIME_FORMAT_HOURS)
1417:       strHMS = std::to_string(lrintf(static_cast<float>(seconds) / 3600.0f));
1417:     else if (format & TIME_FORMAT_M)
1417:       strHMS += std::to_string(seconds % 3600 / 60);
1417:     else
1417:     {
1417:       int hh = seconds / 3600;
1417:       seconds = seconds % 3600;
1417:       int mm = seconds / 60;
1417:       int ss = seconds % 60;
1417: 
1417:       if (format == TIME_FORMAT_GUESS)
1417:         format = (hh >= 1) ? TIME_FORMAT_HH_MM_SS : TIME_FORMAT_MM_SS;
1417:       if (format & TIME_FORMAT_HH)
1417:         strHMS += StringUtils::Format("{:02}", hh);
1417:       else if (format & TIME_FORMAT_H)
1417:         strHMS += std::to_string(hh);
1417:       if (format & TIME_FORMAT_MM)
1417:         strHMS += StringUtils::Format(strHMS.empty() ? "{:02}" : ":{:02}", mm);
1417:       if (format & TIME_FORMAT__s, __len);
1115:       if (!__r)
1115:  __r = _S_compare(__size, __osize);
1115:       return __r;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     int
1115:     basic_string <_CharT, _Traits, _Alloc>::
1115:     compare(size_type __pos, size_type __n1, const _CharT* __s) const
1115:     {
1115:       ;
1115:       _M_check(__pos, "basic_string::compare");
1115:       __n1 = _M_limit(__pos, __n1);
1115:       const size_type __osize = traits_type::length(__s);
1115:       const size_type __len = std::min(__n1, __osize);
1115:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1115:       if (!__r)
1115:  __r = _S_compare(__n1, __osize);
1115:       return __r;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:    
1115:     int
1115:     basic_string <_CharT, _Traits, _Alloc>::
1115:     compare(size_type __pos, size_type __n1, const _CharT* __s,
1115:      size_type __n2) const
1115:     {
1115:       ;
1115:       _M_check(__pos, "basic_string::compare");
1115:       __n1 = _M_limit(__pos, __n1);
1115:       const size_type __len = std::min(__n1, __n2);
1115:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
1115:       if (!__r)
1115:  __r = _S_compare(__n1, __n2);
1115:       return __r;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     basic_istream<_CharT, _Traits>&
1115:     operator>>(basic_istream<_CharT, _Traits>& __in,
1115:         basic_string<_CharT, _Traits, _Alloc>& __str)
1115:     {
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef typename __istream_type::ios_base __ios_base;
1115:       typedef typename __istream_type::int_type __int_type;
1115:       typedef typename __string_type::size_type __size_type;
1115:       typedef ctype<_CharT> __ctype_type;
1115:       typedef typename __ctype_type::ctype_base __ctype_base;
1115: 
1115:       __size_type __extracted = 0;
1115:       typename __ios_base::iostate __err = __ios_base::goodbit;
1115:       typename __istream_type::sentry __cerb(__in, false);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115: 
1115:        __str.erase();
1115:        _CharT __buf[128];
1115:        __size_type __len = 0;
1115:        const streamsize __w = __in.width();
1115:        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
1115:                                 : __str.max_size();
1115:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1115:        const __int_type __eof = _Traits::eof();
1115:        __int_type __c = __in.rdbuf()->sgetc();
1115: 
1115:        while (__extracted < __n
1115:        && !_Traits::eq_int_type(__c, __eof)
1115:        && !__ct.is(__ctype_base::space,
1115:      _Traits::to_char_type(__c)))
1115:   {
1115:     if (__len == sizeof(__buf) / sizeof(_CharT))
1115:       {
1115:         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
1115:         __len = 0;
1115:       }
1115:     __buf[__len++] = _Traits::to_char_type(__c);
1115:     ++__extracted;
1115:     __c = __in.rdbuf()->snextc();
1115:   }
1115:        __str.append(__buf, __len);
1115: 
1115:        if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
1115:   __err |= __ios_base::eofbit;
1115:        __in.width(0);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        __in._M_setstate(__ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      {
1115: 
1115: 
1115: 
1115:        __in._M_setstate(__ios_base::badbit);
1115:      }
1115:  }
1115: 
1115:       if (!__extracted)
1115:  __err |= __ios_base::failbit;
1115:       if (__err)
1115:  __in.setstate(__err);
1115:       return __in;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     basic_istream<_CharT, _Traits>&
1115:     getline(basic_istream<_CharT, _Trait {
1434: # 435 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1434:    "std::vector must have a non-const, non-volatile value_type");
1434: 
1434:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1434:    "std::vector must have the same value_type as its allocator");
1434: 
1434: 
1434: 
1434:       typedef _Vector_base<_Tp, _Alloc> _Base;
1434:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1434:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
1434: 
1434:     public:
1434:       typedef _Tp value_type;
1434:       typedef typename _Base::pointer pointer;
1434:       typedef typename _Alloc_traits::const_pointer const_pointer;
1434:       typedef typename _Alloc_traits::reference reference;
1434:       typedef typename _Alloc_traits::const_reference const_reference;
1434:       typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
1434:       typedef __gnu_cxx::__normal_iterator<const_pointer, vector>
1434:       const_iterator;
1434:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1434:       typedef std::reverse_iterator<iterator> reverse_iterator;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef _Alloc allocator_type;
1434: 
1434:     private:
1434: 
1434:       static constexpr bool
1434:       _S_nothrow_relocate(true_type)
1434:       {
1434:  return noexcept(std::__relocate_a(std::declval<pointer>(),
1434:        std::declval<pointer>(),
1434:        std::declval<pointer>(),
1434:        std::declval<_Tp_alloc_type&>()));
1434:       }
1434: 
1434:       static constexpr bool
1434:       _S_nothrow_relocate(false_type)
1434:       { return false; }
1434: 
1434:       static constexpr bool
1434:       _S_use_relocate()
1434:       {
1434: 
1434: 
1434: 
1434:  return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{});
1434:       }
1434: 
1434:       static pointer
1434:       _S_do_relocate(pointer __first, pointer __last, pointer __result,
1434:        _Tp_alloc_type& __alloc, true_type) noexcept
1434:       {
1434:  return std::__relocate_a(__first, __last, __result, __alloc);
1434:       }
1434: 
1434:       static pointer
1434:       _S_do_relocate(pointer, pointer, pointer __result,
1434:        _Tp_alloc_type&, false_type) noexcept
1434:       { return __result; }
1434: 
1434:       static pointer
1434:       _S_relocate(pointer __first, pointer __last, pointer __result,
1434:     _Tp_alloc_type& __alloc) noexcept
1434:       {
1434: 
1434: 
1434:  return std::__relocate_a(__first, __last, __result, __alloc);
1434: 
1434: 
1434: 
1434: 
1434:       }
1434: 
1434: 
1434:     protected:
1434:       using _Base::_M_allocate;
1434:       using _Base::_M_deallocate;
1434:       using _Base::_M_impl;
1434:       using _Base::_M_get_Tp_allocator;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       vector() = default;
1434: # 535 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       explicit
1434:      
1434:       vector(const allocator_type& __a) noexcept
1434:       : _Base(__a) { }
1434: # 549 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       explicit
1434:      
1434:       vector(size_type __n, const allocator_type& __a = allocator_type())
1434:       : _Base(_S_check_init_len(__n, __a), __a)
1434:       { _M_default_initialize(__n); }
1434: # 563 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       vector(size_type __n, const value_type& __value,
1434:       const allocator_type& __a = allocator_type())
1434:       : _Base(_S_check_init_len(__n, __a), __a)
1434:       { _M_fill_initialize(__n, __value); }
1434: # 595 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       vector(const vector& __x)
1434:       : _Base(__x.size(),
1434:  _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()))
1434:       {
1434:  this->_M_impl._M_finish =
1434:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1434:           t_SS)
1417:         strHMS += StringUtils::Format(strHMS.empty() ? "{:02}" : ":{:02}", ss);
1417:     }
1417: 
1417:     if (isNegative)
1417:       strHMS = "-" + strHMS;
1417: 
1417:     return strHMS;
1417:   }
1417: # 2997 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../tools/StringUtils.h"
1417:   inline static int DateStringToYYYYMMDD(const std::string& dateString)
1417:   {
1417:     std::vector<std::string> days = StringUtils::Split(dateString, '-');
1417:     if (days.size() == 1)
1417:       return atoi(days[0].c_str());
1417:     else if (days.size() == 2)
1417:       return atoi(days[0].c_str()) * 100 + atoi(days[1].c_str());
1417:     else if (days.size() == 3)
1417:       return atoi(days[0].c_str()) * 10000 + atoi(days[1].c_str()) * 100 + atoi(days[2].c_str());
1417:     else
1417:       return -1;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: private:
1417:   inline static int compareWchar(const void* a, const void* b)
1417:   {
1417:     if (*static_cast<const wchar_t*>(a) < *static_cast<const wchar_t*>(b))
1417:       return -1;
1417:     else if (*static_cast<const wchar_t*>(a) > *static_cast<const wchar_t*>(b))
1417:       return 1;
1417:     return 0;
1417:   }
1417: 
1417:   inline static wchar_t tolowerUnicode(const wchar_t& c)
1417:   {
1417:     wchar_t* p =
1417:         static_cast<wchar_t*>(bsearch(&c, unicode_uppers, sizeof(unicode_uppers) / sizeof(wchar_t),
1417:                                       sizeof(wchar_t), compareWchar));
1417:     if (p)
1417:       return *(unicode_lowers + (p - unicode_uppers));
1417: 
1417:     return c;
1417:   }
1417: 
1417:   inline static wchar_t toupperUnicode(const wchar_t& c)
1417:   {
1417:     wchar_t* p =
1417:         static_cast<wchar_t*>(bsearch(&c, unicode_lowers, sizeof(unicode_lowers) / sizeof(wchar_t),
1417:                                       sizeof(wchar_t), compareWchar));
1417:     if (p)
1417:       return *(unicode_uppers + (p - unicode_lowers));
1417: 
1417:     return c;
1417:   }
1417: 
1417:   static uint32_t UTF8ToUnicode(const unsigned char* z, int nKey, unsigned char& bytes)
1417:   {
1417: 
1417: 
1417:     static const unsigned char utf8Trans1[] = {
1417:       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1417:       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1417:       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1417:       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1417:       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1417:       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1417:       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1417:       0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00,
1417:     };
1417: 
1417: 
1417:     uint32_t c;
1417:     bytes = 0;
1417:     c = z[0];
1417:     if (c >= 0xc0)
1417:     {
1417:       c = utf8Trans1[c - 0xc0];
1417:       int index = 1;
1417:       while (index < nKey && (z[index] & 0xc0) == 0x80)
1417:       {
1417:         c = (c << 6) + (0x3f & z[index]);
1417:         index++;
1417:       }
1417:       if (c < 0x80 || (c & 0xFFFFF800) == 0xD800 || (c & 0xFFFFFFFE) == 0xFFFE)
1417:         c = 0xFFFD;
1417:       bytes = static_cast<unsigned char>(index - 1);
1417:     }
1417:     return c;
1417:   }
1417: };
1417: 
1417: 
1417: 
1417: }
1417: }
1417: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 2
1417: 
1417: namespace kodi
1417: {
1417: 
1417: namespace gui
1417: {
1417: struct IRenderHelper;
1417: }
1417: # 61 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: using HardwareContext = ADDON_HARDWARE_CONTEXT;
1417: 
1417: 
1417: 
1417: namespace addon
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct __attribute__((visibility("hidden"))) CPrivateBase
1417: {
1417: 
1417:   static AddonGlobalInterface* m_interface;
1417: };
1417: # 118 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: template<class CPP_CLASS, typename C_STRUCThis->_M_impl._M_start,
1434:           _M_get_Tp_allocator());
1434:       }
1434: # 615 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       vector(vector&&) noexcept = default;
1434: 
1434: 
1434:      
1434:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1434:       : _Base(__x.size(), __a)
1434:       {
1434:  this->_M_impl._M_finish =
1434:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1434:           this->_M_impl._M_start,
1434:           _M_get_Tp_allocator());
1434:       }
1434: 
1434:     private:
1434:      
1434:       vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
1434:       : _Base(__m, std::move(__rv))
1434:       { }
1434: 
1434:      
1434:       vector(vector&& __rv, const allocator_type& __m, false_type)
1434:       : _Base(__m)
1434:       {
1434:  if (__rv.get_allocator() == __m)
1434:    this->_M_impl._M_swap_data(__rv._M_impl);
1434:  else if (!__rv.empty())
1434:    {
1434:      this->_M_create_storage(__rv.size());
1434:      this->_M_impl._M_finish =
1434:        std::__uninitialized_move_a(__rv.begin(), __rv.end(),
1434:        this->_M_impl._M_start,
1434:        _M_get_Tp_allocator());
1434:      __rv.clear();
1434:    }
1434:       }
1434: 
1434:     public:
1434: 
1434:      
1434:       vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
1434:       noexcept( noexcept(
1434:  vector(std::declval<vector&&>(), std::declval<const allocator_type&>(),
1434:         std::declval<typename _Alloc_traits::is_always_equal>())) )
1434:       : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{})
1434:       { }
1434: # 672 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       vector(initializer_list<value_type> __l,
1434:       const allocator_type& __a = allocator_type())
1434:       : _Base(__a)
1434:       {
1434:  _M_range_initialize(__l.begin(), __l.end(),
1434:        random_access_iterator_tag());
1434:       }
1434: # 699 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:  vector(_InputIterator __first, _InputIterator __last,
1434:         const allocator_type& __a = allocator_type())
1434:  : _Base(__a)
1434:  {
1434:    _M_range_initialize(__first, __last,
1434:          std::__iterator_category(__first));
1434:  }
1434: # 727 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       ~vector() noexcept
1434:       {
1434:  std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:         _M_get_Tp_allocator());
1434:  ;
1434:       }
1434: # 744 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       vector&
1434:       operator=(const vector& __x);
1434: # 759 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       vector&
1434:       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
1434:       {
1434:  constexpr bool __move_storage =
1434:    _Alloc_traits::_S_propagate_on_move_assign()
1434:    || _Alloc_traits::_S_always_equal();
1434:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1434:  return *this;
1434:       }
1434: # 781 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       vector&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  this->_M_assign_aux(__l.begin(), __l.end(),
1434:        random_access_iterator_tag());
1434:  return *this;
1434:       }
1434: # 801 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       assign(size_type __n, const value_type& __val)
1434:       { _M_fill_assign(__n, __val); }
1434: # 819 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:  void
1434:  assign(_InputIterator __first, _InputIterator __last)
1434:  { _M_assign_dispatch(__first, __last, __false_type()); }
1434: # 848 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       assign(initializer_list<value_type> __l)
1434:       {
1434:  this->_M_assign_aux(__l.begin(), __l.end(),
1434:        random_access_iterator_tag());
1434:       }
1434: 
1434: 
1434: 
1434:       using _Base::get_allocator;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       begin() noexcept
1434:       { return iterator(this->_M_impl._M_start); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return const_iterator(this->_M_impl._M_start); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       end() noexcept
1434:       { return iterator(this->_M_impl._M_finish); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       end() const noexcept
1434:       { return const_iterator(this->_M_impl._M_finish); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return reverse_iterator(end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return reverse_iterator(begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return const_iterator(this->_M_impl._M_start); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return const_iterator(this->_M_impl._M_finish); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       size() const noexcept
1434:       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _S_max_size(_M_get_Tp_allocator()); }
1434: # 1006 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       resize(size_type __new_size)
1434:       {
1434:  if (__new_size > size())
1434:    _M_default_append(__new_size - size());
1434:  else if (__new_size < size())
1434:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
1434:       }
1434: # 1027 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       resize(size_type __new_size, const value_type& __x)
1434:       {
1434:  if (__new_size > size())
1434:    _M_fill_insert(end(), __new_size - size(), __x);
1434:  else if (__new_size < size())
1434:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
1434:       }
1434: # 1061 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       shrink_to_fit()
1434:       { _M_shrink_to_fit(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       capacity() const noexcept
1434:       { return size_type(this->_M_impl._M_end_of_storage
1434:     - this->_M_impl._M_start); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       bool
1434:       empty() const noexcept
1434:       { res>& __in,
1115:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
1115:     {
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef typename __istream_type::ios_base __ios_base;
1115:       typedef typename __istream_type::int_type __int_type;
1115:       typedef typename __string_type::size_type __size_type;
1115: 
1115:       __size_type __extracted = 0;
1115:       const __size_type __n = __str.max_size();
1115:       typename __ios_base::iostate __err = __ios_base::goodbit;
1115:       typename __istream_type::sentry __cerb(__in, true);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115:        __str.erase();
1115:        const __int_type __idelim = _Traits::to_int_type(__delim);
1115:        const __int_type __eof = _Traits::eof();
1115:        __int_type __c = __in.rdbuf()->sgetc();
1115: 
1115:        while (__extracted < __n
1115:        && !_Traits::eq_int_type(__c, __eof)
1115:        && !_Traits::eq_int_type(__c, __idelim))
1115:   {
1115:     __str += _Traits::to_char_type(__c);
1115:     ++__extracted;
1115:     __c = __in.rdbuf()->snextc();
1115:   }
1115: 
1115:        if (_Traits::eq_int_type(__c, __eof))
1115:   __err |= __ios_base::eofbit;
1115:        else if (_Traits::eq_int_type(__c, __idelim))
1115:   {
1115:     ++__extracted;
1115:     __in.rdbuf()->sbumpc();
1115:   }
1115:        else
1115:   __err |= __ios_base::failbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        __in._M_setstate(__ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      {
1115: 
1115: 
1115: 
1115:        __in._M_setstate(__ios_base::badbit);
1115:      }
1115:  }
1115:       if (!__extracted)
1115:  __err |= __ios_base::failbit;
1115:       if (__err)
1115:  __in.setstate(__err);
1115:       return __in;
1115:     }
1115: # 1082 "/usr/include/c++/12/bits/basic_string.tcc" 3
1115:   extern template class basic_string<char>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   extern template
1115:     basic_istream<char>&
1115:     operator>>(basic_istream<char>&, string&);
1115:   extern template
1115:     basic_ostream<char>&
1115:     operator<<(basic_ostream<char>&, const string&);
1115:   extern template
1115:     basic_istream<char>&
1115:     getline(basic_istream<char>&, string&, char);
1115:   extern template
1115:     basic_istream<char>&
1115:     getline(basic_istream<char>&, string&);
1115: 
1115: 
1115: 
1115:   extern template class basic_string<wchar_t>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   extern template
1115:     basic_istream<wchar_t>&
1115:     operator>>(basic_istream<wchar_t>&, wstring&);
1115:   extern template
1115:     basic_ostream<wchar_t>&
1115:     operator<<(basic_ostream<wchar_t>&, const wstring&);
1115:   extern template
1115:     basic_istream<wchar_t>&
1115:     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
1115:   extern template
1115:     basic_istream<wchar_t>&
1115:     getline(basic_istream<wchar_t>&, wstring&);
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 55 "/usr/include/c++/12/string" 2 3
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115:   namespace pmr {
1115:     template<typename _Tp> class polymorphic_allocator;
1115:     template<typename _CharT, typename _Traits = char_traits<_CharT>>
1115:       using basic_string = std::basic_string<_CharT, _Traits,
1115:           polymorphic_allocator<_CharT>>;
1115:     using string = basic_string<char>;
1115: 
1115: 
1115: 
1115:     using u16string = basic_string<char16_t>;
1115:     using u32string = basic_string<char32_t>;
1115:     using wstring = basic_string<wchar_t>;
1115:   }
1115: 
1115:   template<typename _Str>
1115:     struct __hash_string_base
1115:     : public __hash_base<size_t, _Str>
1115:     {
1115:       size_t
1115:       operator()(const _Str& __s) const noexcept
1115:       { return hash<basic_string_view<typename _Str::value_type>>{}(__s); }
1115:    turn begin() == end(); }
1434: # 1103 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       reserve(size_type __n);
1434: # 1119 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       [[__nodiscard__]]
1434:       reference
1434:       operator[](size_type __n) noexcept
1434:       {
1434:  ;
1434:  return *(this->_M_impl._M_start + __n);
1434:       }
1434: # 1138 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       operator[](size_type __n) const noexcept
1434:       {
1434:  ;
1434:  return *(this->_M_impl._M_start + __n);
1434:       }
1434: 
1434:     protected:
1434: 
1434:      
1434:       void
1434:       _M_range_check(size_type __n) const
1434:       {
1434:  if (__n >= this->size())
1434:    __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1434: 
1434:                             ,
1434:        __n, this->size());
1434:       }
1434: 
1434:     public:
1434: # 1171 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       reference
1434:       at(size_type __n)
1434:       {
1434:  _M_range_check(__n);
1434:  return (*this)[__n];
1434:       }
1434: # 1190 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       const_reference
1434:       at(size_type __n) const
1434:       {
1434:  _M_range_check(__n);
1434:  return (*this)[__n];
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       front() noexcept
1434:       {
1434:  ;
1434:  return *begin();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       front() const noexcept
1434:       {
1434:  ;
1434:  return *begin();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       back() noexcept
1434:       {
1434:  ;
1434:  return *(end() - 1);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       back() const noexcept
1434:       {
1434:  ;
1434:  return *(end() - 1);
1434:       }
1434: # 1253 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       [[__nodiscard__]]
1434:       _Tp*
1434:       data() noexcept
1434:       { return _M_data_ptr(this->_M_impl._M_start); }
1434: 
1434:       [[__nodiscard__]]
1434:       const _Tp*
1434:       data() const noexcept
1434:       { return _M_data_ptr(this->_M_impl._M_start); }
1434: # 1274 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       push_back(const value_type& __x)
1434:       {
1434:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1434:    {
1434:      ;
1434:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1434:          __x);
1434:      ++this->_M_impl._M_finish;
1434:      ;
1434:    }
1434:  else
1434:    _M_realloc_insert(end(), __x);
1434:       }
1434: 
1434: 
1434:      
1434:       void
1434:       push_back(value_type&& __x)
1434:       { emplace_back(std::move(__x)); }
1434: 
1434:       template<typename... _Args>
1434: 
1434: 
1434:  reference
1434: 
1434: 
1434: 
1434:  emplace_back(_Args&&... __args);
1434: # 1315 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       pop_back() noexcept
1434:       {
1434:  ;
1434:  --this->_M_impl._M_finish;
1434:  _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1434:  ;
1434:       }
1434: # 1338 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       template<typename... _Args>
1434: 
1434:  iterator
1434:  emplace(const_iterator __position, _Args&&... __args)
1434:  { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); }
1434: # 1355 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       iterator
1434:       insert(const_iterator __position, const value_type& __x);
1434: # 1386 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       iterator
1434:       insert(const_iterator __position, value_type&& __x)
1434:  >
1417: class CStructHdl
1417: {
1417: public:
1417:   CStructHdl() : m_cStructure(new C_STRUCT()), m_owner(true) {}
1417: 
1417:   CStructHdl(const CPP_CLASS& cppClass)
1417:     : m_cStructure(new C_STRUCT(*cppClass.m_cStructure)), m_owner(true)
1417:   {
1417:   }
1417: 
1417:   CStructHdl(const C_STRUCT* cStructure) : m_cStructure(new C_STRUCT(*cStructure)), m_owner(true) {}
1417: 
1417:   CStructHdl(C_STRUCT* cStructure) : m_cStructure(cStructure) { 
1417: # 131 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:                                                                (static_cast<void> (0))
1417: # 131 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:                                                                                  ; }
1417: 
1417:   const CStructHdl& operator=(const CStructHdl& right)
1417:   {
1417:     
1417: # 135 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:    (static_cast<void> (0))
1417: # 135 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:                               ;
1417: 
1417:     if (this == &right)
1417:       return *this;
1417: 
1417:     if (m_cStructure && !m_owner)
1417:     {
1417:       memcpy(m_cStructure, right.m_cStructure, sizeof(C_STRUCT));
1417:     }
1417:     else
1417:     {
1417:       if (m_owner)
1417:         delete m_cStructure;
1417:       m_owner = true;
1417:       m_cStructure = new C_STRUCT(*right.m_cStructure);
1417:     }
1417:     return *this;
1417:   }
1417: 
1417:   const CStructHdl& operator=(const C_STRUCT& right)
1417:   {
1417:     
1417: # 156 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:    (static_cast<void> (0))
1417: # 156 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:                  ;
1417: 
1417:     if (m_cStructure == &right)
1417:       return *this;
1417: 
1417:     if (m_cStructure && !m_owner)
1417:     {
1417:       memcpy(m_cStructure, &right, sizeof(C_STRUCT));
1417:     }
1417:     else
1417:     {
1417:       if (m_owner)
1417:         delete m_cStructure;
1417:       m_owner = true;
1417:       m_cStructure = new C_STRUCT(*right);
1417:     }
1417:     return *this;
1417:   }
1417: 
1417:   virtual ~CStructHdl()
1417:   {
1417:     if (m_owner)
1417:       delete m_cStructure;
1417:   }
1417: 
1417:   operator C_STRUCT*() { return m_cStructure; }
1417:   operator const C_STRUCT*() const { return m_cStructure; }
1417: 
1417:   const C_STRUCT* GetCStructure() const { return m_cStructure; }
1417: 
1417: protected:
1417:   C_STRUCT* m_cStructure = nullptr;
1417: 
1417: private:
1417:   bool m_owner = false;
1417: };
1417: # 246 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: class __attribute__((visibility("hidden"))) CSettingValue
1417: {
1417: public:
1417:   explicit CSettingValue(const std::string& settingValue) : str(settingValue) {}
1417: 
1417:   bool empty() const { return str.empty(); }
1417: # 270 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:   std::string GetString() const { return str; }
1417: 
1417: 
1417:   int GetInt() const { return std::atoi(str.c_str()); }
1417: 
1417: 
1417:   unsigned int GetUInt() const { return std::atoi(str.c_str()); }
1417: 
1417: 
1417:   bool GetBoolean() const { return std::atoi(str.c_str()) > 0; }
1417: 
1417: 
1417:   float GetFloat() const { return static_cast<float>(std::atof(str.c_str())); }
1417: 
1417: 
1417: 
1417:   template<typename enumType>
1417:   enumType GetEnum() const
1417:   {
1417:     return static_cast<enumType>(GetInt());
1417:   }
1417: 
1417: 
1417: 
1417: private:
1417:   const std::string str;
1417: };
1417: # 307 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/a     { return _M_insert_rval(__position, std::move(__x)); }
1434: # 1404 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       iterator
1434:       insert(const_iterator __position, initializer_list<value_type> __l)
1434:       {
1434:  auto __offset = __position - cbegin();
1434:  _M_range_insert(begin() + __offset, __l.begin(), __l.end(),
1434:    std::random_access_iterator_tag());
1434:  return begin() + __offset;
1434:       }
1434: # 1430 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       iterator
1434:       insert(const_iterator __position, size_type __n, const value_type& __x)
1434:       {
1434:  difference_type __offset = __position - cbegin();
1434:  _M_fill_insert(begin() + __offset, __n, __x);
1434:  return begin() + __offset;
1434:       }
1434: # 1473 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:  iterator
1434:  insert(const_iterator __position, _InputIterator __first,
1434:         _InputIterator __last)
1434:  {
1434:    difference_type __offset = __position - cbegin();
1434:    _M_insert_dispatch(begin() + __offset,
1434:         __first, __last, __false_type());
1434:    return begin() + __offset;
1434:  }
1434: # 1526 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       iterator
1434: 
1434:       erase(const_iterator __position)
1434:       { return _M_erase(begin() + (__position - cbegin())); }
1434: # 1554 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       iterator
1434: 
1434:       erase(const_iterator __first, const_iterator __last)
1434:       {
1434:  const auto __beg = begin();
1434:  const auto __cbeg = cbegin();
1434:  return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
1434:       }
1434: # 1579 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:      
1434:       void
1434:       swap(vector& __x) noexcept
1434:       {
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1434:                                                           ;
1434: 
1434:  this->_M_impl._M_swap_data(__x._M_impl);
1434:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1434:       __x._M_get_Tp_allocator());
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       clear() noexcept
1434:       { _M_erase_at_end(this->_M_impl._M_start); }
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434: 
1434:  pointer
1434:  _M_allocate_and_copy(size_type __n,
1434:         _ForwardIterator __first, _ForwardIterator __last)
1434:  {
1434:    pointer __result = this->_M_allocate(__n);
1434:    try
1434:      {
1434:        std::__uninitialized_copy_a(__first, __last, __result,
1434:        _M_get_Tp_allocator());
1434:        return __result;
1434:      }
1434:    catch(...)
1434:      {
1434:        _M_deallocate(__result, __n);
1434:        throw;
1434:      }
1434:  }
1434: # 1659 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1434:        std::input_iterator_tag)
1434:  {
1434:    try {
1434:      for (; __first != __last; ++__first)
1434: 
1434:        emplace_back(*__first);
1434: 
1434: 
1434: 
1434:    } catch(...) {
1434:      clear();
1434:      throw;
1434:    }
1434:  }
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434: 
1434:  void
1434:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1434:        std::forward_iterator_tag)
1434:  {
1434:    const size_type __n = std::distance(__first, __last);
1434:    this->_M_impl._M_start
1434:      = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
1434:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1434:    this->_M_impl };
1115: 
1115:   template<>
1115:     struct hash<pmr::string>
1115:     : public __hash_string_base<pmr::string>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct hash<pmr::u16string>
1115:     : public __hash_string_base<pmr::u16string>
1115:     { };
1115:   template<>
1115:     struct hash<pmr::u32string>
1115:     : public __hash_string_base<pmr::u32string>
1115:     { };
1115:   template<>
1115:     struct hash<pmr::wstring>
1115:     : public __hash_string_base<pmr::wstring>
1115:     { };
1115: 
1115: 
1115: }
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h" 2
1115: 
1115: 
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/InfoLoader.h"
1115: class CInfoLoader : public IJobCallback
1115: {
1115: public:
1115:   explicit CInfoLoader(unsigned int timeToRefresh = 5 * 60 * 1000);
1115:   ~CInfoLoader() override;
1115: 
1115:   std::string GetInfo(int info);
1115:   void Refresh();
1115: 
1115:   void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
1115: protected:
1115:   virtual CJob *GetJob() const=0;
1115:   virtual std::string TranslateInfo(int info) const;
1115:   virtual std::string BusyInfo(int info) const;
1115: private:
1115:   unsigned int m_refreshTime;
1115:   unsigned int m_timeToRefresh;
1115:   bool m_busy;
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h" 2
1115: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.h"
1115: static const std::string ICON_ADDON_PATH = "resource://resource.images.weathericons.default";
1115: 
1115: struct ForecastDay
1115: {
1115:   std::string m_icon;
1115:   std::string m_overview;
1115:   std::string m_day;
1115:   std::string m_high;
1115:   std::string m_low;
1115: };
1115: 
1115: 
1115: 
1115: class CWeatherInfo
1115: {
1115: public:
1115:   ForecastDay forecast[7];
1115: 
1115:   void Reset()
1115:   {
1115:     lastUpdateTime.clear();
1115:     currentIcon.clear();
1115:     currentConditions.clear();
1115:     currentTemperature.clear();
1115:     currentFeelsLike.clear();
1115:     currentWind.clear();
1115:     currentHumidity.clear();
1115:     currentUVIndex.clear();
1115:     currentDewPoint.clear();
1115: 
1115:     for (ForecastDay& f : forecast)
1115:     {
1115:       f.m_icon.clear();
1115:       f.m_overview.clear();
1115:       f.m_day.clear();
1115:       f.m_high.clear();
1115:       f.m_low.clear();
1115:     }
1115:   };
1115: 
1115:   std::string lastUpdateTime;
1115:   std::string location;
1115:   std::string currentIcon;
1115:   std::string currentConditions;
1115:   std::string currentTemperature;
1115:   std::string currentFeelsLike;
1115:   std::string currentUVIndex;
1115:   std::string currentWind;
1115:   std::string currentDewPoint;
1115:   std::string currentHumidity;
1115:   std::string busyString;
1115:   std::string naIcon;
1115: };
1115: 
1115: class CWeatherManager
1115: : public CInfoLoader, public ISettingCallback
1115: {
1115: public:
1115:   CWeatherManager(void);
1115:   ~CWeatherManager(void) override;
1115:   static bool GetSearchResults(const std::string &strSearch, std::string &strResult);
1115: 
1115:   std::string GetLocation(int iLocation);
1115:   const std::string& GetLastUpdateTime() const { return m_info.lastUpdateTime; }
1115:   const ForecastDay &GetForecast(int day) const;
1115:   bool IsFetched();
1115:   void Reset();
1115: 
1115:   void SetArea(int iLocation);
1115:   int GetArea() const;
1115: protected:
1115:   CJob *GetJob() const override;
1115:   std::string TranslateInfo(int info) const override;
1115:   std::string BusyInfo(int info) const override;
1115:   void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
1115: 
1115:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1115:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1115: 
1115: private:
1115: 
1115:   CWeatherInfo m_info;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h" 2
1115: 
111ddons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: class __attribute__((visibility("hidden"))) IInstanceInfo
1417: {
1417: public:
1417:   explicit IInstanceInfo(KODI_ADDON_INSTANCE_STRUCT* instance) : m_instance(instance) {}
1417: # 329 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:   KODI_ADDON_INSTANCE_TYPE GetType() const { return m_instance->info->type; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool IsType(KODI_ADDON_INSTANCE_TYPE type) const { return m_instance->info->type == type; }
1417: 
1417: 
1417:   uint32_t GetNumber() const { return m_instance->info->number; }
1417: 
1417: 
1417:   std::string GetID() const { return m_instance->info->id; }
1417: 
1417: 
1417:   std::string GetAPIVersion() const { return m_instance->info->version; }
1417: 
1417: 
1417:   bool FirstInstance() const { return m_instance->info->first_instance; }
1417: 
1417: 
1417: 
1417:   operator KODI_ADDON_INSTANCE_STRUCT*() { return m_instance; }
1417: 
1417:   operator KODI_ADDON_INSTANCE_STRUCT*() const { return m_instance; }
1417: 
1417: private:
1417:   IInstanceInfo() = delete;
1417:   IInstanceInfo(const IInstanceInfo&) = delete;
1417: 
1417:   KODI_ADDON_INSTANCE_STRUCT* m_instance;
1417: };
1417: # 374 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: class __attribute__((visibility("hidden"))) IAddonInstance
1417: {
1417: public:
1417:   explicit IAddonInstance(const kodi::addon::IInstanceInfo& instance) : m_instance(instance)
1417:   {
1417:     m_instance->functions->instance_setting_change_string = INSTANCE_instance_setting_change_string;
1417:     m_instance->functions->instance_setting_change_integer =
1417:         INSTANCE_instance_setting_change_integer;
1417:     m_instance->functions->instance_setting_change_boolean =
1417:         INSTANCE_instance_setting_change_boolean;
1417:     m_instance->functions->instance_setting_change_float = INSTANCE_instance_setting_change_float;
1417:   }
1417:   virtual ~IAddonInstance() = default;
1417: 
1417:   virtual ADDON_STATUS CreateInstance(const kodi::addon::IInstanceInfo& instance,
1417:                                       KODI_ADDON_INSTANCE_HDL& hdl)
1417:   {
1417:     return ADDON_STATUS_NOT_IMPLEMENTED;
1417:   }
1417: 
1417:   std::string GetInstanceAPIVersion() const { return m_instance->info->version; }
1417: 
1417:   virtual ADDON_STATUS SetInstanceSetting(const std::string& settingName,
1417:                                           const kodi::addon::CSettingValue& settingValue)
1417:   {
1417:     return ADDON_STATUS_UNKNOWN;
1417:   }
1417: 
1417:   inline bool IsInstanceSettingUsingDefault(const std::string& settingName)
1417:   {
1417:     return m_instance->info->functions->is_instance_setting_using_default(m_instance->info->kodi,
1417:                                                                           settingName.c_str());
1417:   }
1417: 
1417:   inline std::string GetInstanceUserPath(const std::string& append = "")
1417:   {
1417:     using namespace kodi::addon;
1417: 
1417:     char* str = m_instance->info->functions->get_instance_user_path(
1417:         CPrivateBase::m_interface->toKodi->kodiBase);
1417:     std::string ret = str;
1417:     CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase,
1417:                                                    str);
1417:     if (!append.empty())
1417:     {
1417:       if (append.at(0) != '\\' && append.at(0) != '/')
1417: 
1417: 
1417: 
1417:         ret.append("/");
1417: 
1417:       ret.append(append);
1417:     }
1417:     return ret;
1417:   }
1417: 
1417:   inline bool CheckInstanceSettingString(const std::string& settingName, std::string& settingValue)
1417:   {
1417:     char* buffer = nullptr;
1417:     bool ret = m_instance->info->functions->get_instance_setting_string(
1417:         m_instance->info->kodi, settingName.c_str(), &buffer);
1417:     if (buffer)
1417:     {
1417:       if (ret)
1417:         settingValue = buffer;
1417:       free(buffer);
1417:     }
1417:     return ret;
1417:   }
1417: 
1417:   inline std::string GetInstanceSettingString(const std::string& settingName,
1417:                                               const std::string& defaultValue = "")
1417:   {
1417:     std::string settingValue = defaultValue;
1417:     CheckInstanceSettingString(settingName, settingValue);
1417:     return settingValue;
1417:   }
1417: 
1417:   inline void SetInstanceSettingString(const std::string& settingName,
1417:                                        const std::string& settingValue)
1417:   {
1417:     m_instance->info->functions->set_instance_setting_string(
1417:         m_instance->info->kodi, settingName.c_str(), settingValue.c_str());
1417:   }
1417: 
1417:   inline bool CheckInstanceSettingInt(const std::string& settingName, int& settingValue)
1417:   {
1417:     KODI_ADDON_INSTANCE_FUNC_CB* cb = m_instance->info->functions;
1417:     return cb->get_instance_setting_int(m_instance->info->kodi, settingName.c_str(), &settingValue);
1417:   }
1417: 
1417:   inline int GetInstanceSettingInt(const std::string& settingName, int defaultValue = 0)
1417:   {
1417:     int settingValue = defaultValue;
1417:     CheckInstanceSettingInt(settingName, settingValue);
1417:     return settingValue;
1417:   }
1417: 
1417:   inline void SetInstanceSettingInt(const std::string& settingName, int settingValue)
1417:   {
1417:     m_instance->info->functions->set_instance_setting_int(m_instance->info->kodi,
1417:                                                           settingName.c_str(), settingValue);
1417:   }
1417: 
1417:   inline bool CheckInstanceSettingBoolean(const std::string& settingName, bool& settingValue)
1417:   {
1417:     return m_instance->info->functions->get_instance_setting_bool(
1417:         m_instance->info->kodi, settingName.c_str(), &settingValue);
1417:   }
1417: 
1417:   inline bool GetInstanceSettingBoolean(const std::string& settingName, bool defaultValue = false)
1417:   {
1417:     bool settingValue = defaultValue;
1417:     CheckInstanceSettingBoolean(settingName, settingValue);
1417:     return settingValue;
1417:   }
1417: 
1417:   inline void SetInstanceSettingBoolean(const std::string& settingName, bool settingValue)
1417:   {
1417:     m_instance->info->functions->set_instance_setting_bool(m_instance->info->kodi,
1417:                                                            settingName.c_str(), settingValue);
1417:   }
1417: 
1417:   inline bool CheckInstanceSettingFloat(const std::string& settingName, float& settingValue)
1417:   {
1417:     return m_instance->info->functions->get_instance_setting_float(
1417:         m_instance->info->kodi, settingName.c_str(), &settingValue);
1417:   }
1417: 
1417:   inline float GetInstanceSettingFloat(const std::string& settingName, float defaultValue = 0.0f)
1417:   {
1417:     float settingValue = defaultValue;
1417:     CheckInstanceSettingFloat(settingName, settingValue);
1417:     return settingValue;
1417:   }
1417: 
1417:   inline void SetInstanceSettingFloat(const std::string& settingName, float settingValue)
1417:   {
1417:     m_instance->info->functions->set_instance_setting_float(m_instance->info->kodi,
1417:                                                             settingName.c_str(), settingValue);
1417:   }
1417: 
1417:   template<typename enumType>
1417:   inline bool CheckInstanceSettingEnum(const std::string& settingName, enumType& settingValue)
1417:   {
1417:     using namespace kodi::addon;
1417: 
1417:     int settingValueInt = static_cast<int>(settingValue);
1417:     bool ret = m_instance->info->functions->get_instance_setting_int(
1417:         m_instance->info->kodi, settingName.c_str(), &settingValueInt);
1417:     if (ret)
1417:       settingValue = static_cast<enumType>(settingValueInt);
1417:     return ret;
1417:   }
1417: 
1417:   template<typename enumType>
1417:   inline enumType GetInstanceSettingEnum(const std::string& settingName,
1417:                                          enumType defaultValue = static_cast<enumT._M_finish =
1434:      std::__uninitialized_copy_a(__first, __last,
1434:      this->_M_impl._M_start,
1434:      _M_get_Tp_allocator());
1434:  }
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_fill_initialize(size_type __n, const value_type& __value)
1434:       {
1434:  this->_M_impl._M_finish =
1434:    std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
1434:      _M_get_Tp_allocator());
1434:       }
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_default_initialize(size_type __n)
1434:       {
1434:  this->_M_impl._M_finish =
1434:    std::__uninitialized_default_n_a(this->_M_impl._M_start, __n,
1434:         _M_get_Tp_allocator());
1434:       }
1434: # 1725 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       template<typename _Integer>
1434: 
1434:  void
1434:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1434:  { _M_fill_assign(__n, __val); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1434:       __false_type)
1434:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1434:         std::input_iterator_tag);
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434: 
1434:  void
1434:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1434:         std::forward_iterator_tag);
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_fill_assign(size_type __n, const value_type& __val);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Integer>
1434: 
1434:  void
1434:  _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
1434:       __true_type)
1434:  { _M_fill_insert(__pos, __n, __val); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_insert_dispatch(iterator __pos, _InputIterator __first,
1434:       _InputIterator __last, __false_type)
1434:  {
1434:    _M_range_insert(__pos, __first, __last,
1434:      std::__iterator_category(__first));
1434:  }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_range_insert(iterator __pos, _InputIterator __first,
1434:    _InputIterator __last, std::input_iterator_tag);
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434: 
1434:  void
1434:  _M_range_insert(iterator __pos, _ForwardIterator __first,
1434:    _ForwardIterator __last, std::forward_iterator_tag);
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_default_append(size_type __n);
1434: 
1434:      
1434:       bool
1434:       _M_shrink_to_fit();
1434: # 1824 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:       struct _Temporary_value
1434:       {
1434:  template<typename... _Args>
1434:    explicit
1434:    _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec)
1434:    {
1434:      _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(),
1434:          std::forward<_Args>(__args)...);
1434:    }
1434: 
1434: 
1434:  ~_Temporary_value()
1434:  { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); }
1434: 
1434:  value_type&
1434:  _M_val() noexcept { return _M_storage._M_val; }
1434: 
1434:       private:
1434:  _Tp*
1434:  _M_ptr() noexcept { return std::__addressof(_M_storage._M_val); }
1434: 
1434:  union _Storage
1434:  {
1434:    constexpr _Storage() : _M_byte() { }
1434:    ~_Storage() { }
1434:    _Storage& operator=(const _Storage&) = delete;
1434:    unsigned char _M_byte;
1434:    _Tp _M_val;
1434:  };
1434: 
1434:  vector* _M_this;
1434:  _Storage _M_storage;
1434:       };
1434: 
1434: 
1434: 
1434:       template<typename _Arg>
1434: 
1434:  void
1434:  _M_insert_aux(iterator __position, _Arg&& __arg);
1434: 
1434:       template<typename... 5: # 1 "/usr/include/c++/12/map" 1 3
1115: # 58 "/usr/include/c++/12/map" 3
1115:        
1115: # 59 "/usr/include/c++/12/map" 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/stl_tree.h" 1 3
1115: # 61 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:        
1115: # 62 "/usr/include/c++/12/bits/stl_tree.h" 3
1115: # 72 "/usr/include/c++/12/bits/stl_tree.h" 3
1115: # 1 "/usr/include/c++/12/bits/node_handle.h" 1 3
1115: # 34 "/usr/include/c++/12/bits/node_handle.h" 3
1115:        
1115: # 35 "/usr/include/c++/12/bits/node_handle.h" 3
1115: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
1115: 
1115: # 43 "/usr/include/c++/12/bits/node_handle.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 63 "/usr/include/c++/12/bits/node_handle.h" 3
1115:   template<typename _Val, typename _NodeAlloc>
1115:     class _Node_handle_common
1115:     {
1115:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1115: 
1115:     public:
1115:       using allocator_type = __alloc_rebind<_NodeAlloc, _Val>;
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1115:  return allocator_type(_M_alloc._M_alloc);
1115:       }
1115: 
1115:       explicit operator bool() const noexcept { return _M_ptr != nullptr; }
1115: 
1115:       [[nodiscard]] bool empty() const noexcept { return _M_ptr == nullptr; }
1115: 
1115: 
1115:     protected:
1115:       constexpr _Node_handle_common() noexcept : _M_ptr() { }
1115: 
1115:       ~_Node_handle_common()
1115:       {
1115:  if (!empty())
1115:    _M_reset();
1115:       }
1115: 
1115:       _Node_handle_common(_Node_handle_common&& __nh) noexcept
1115:       : _M_ptr(__nh._M_ptr)
1115:       {
1115:  if (_M_ptr)
1115:    _M_move(std::move(__nh));
1115:       }
1115: 
1115:       _Node_handle_common&
1115:       operator=(_Node_handle_common&& __nh) noexcept
1115:       {
1115:  if (empty())
1115:    {
1115:      if (!__nh.empty())
1115:        _M_move(std::move(__nh));
1115:    }
1115:  else if (__nh.empty())
1115:    _M_reset();
1115:  else
1115:    {
1115: 
1115:      _AllocTraits::destroy(*_M_alloc, _M_ptr->_M_valptr());
1115:      _AllocTraits::deallocate(*_M_alloc, _M_ptr, 1);
1115: 
1115:      _M_alloc = __nh._M_alloc.release();
1115:      _M_ptr = __nh._M_ptr;
1115:      __nh._M_ptr = nullptr;
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:       _Node_handle_common(typename _AllocTraits::pointer __ptr,
1115:      const _NodeAlloc& __alloc)
1115:       : _M_ptr(__ptr), _M_alloc(__alloc)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__ptr != nullptr)) __builtin_unreachable(); } while (false);
1115:       }
1115: 
1115:       void
1115:       _M_swap(_Node_handle_common& __nh) noexcept
1115:       {
1115:  if (empty())
1115:    {
1115:      if (!__nh.empty())
1115:        _M_move(std::move(__nh));
1115:    }
1115:  else if (__nh.empty())
1115:    __nh._M_move(std::move(*this));
1115:  else
1115:    {
1115:      using std::swap;
1115:      swap(_M_ptr, __nh._M_ptr);
1115:      _M_alloc.swap(__nh._M_alloc);
1115:    }
1115:       }
1115: 
1115:     private:
1115: 
1115: 
1115: 
1115:       void
1115:       _M_move(_Node_handle_common&& __nh) noexcept
1115:       {
1115:  ::new (std::__addressof(_M_alloc)) _NodeAlloc(__nh._M_alloc.release());
1115:  _M_ptr = __nh._M_ptr;
1115:  __nh._M_ptr = nullptr;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_reset() noexcept
1115:       {
1115:  _NodeAlloc __alloc = _M_alloc.release();
1115:  _AllocTraits::destroy(__alloc, _M_ptr->_M_valptr());
1115:  _AllocTraits::deallocate(__alloc, _M_ptr, 1);
1115:  _M_ptr = nullptr;
1115:       }
1115: 
1115:     protected:
1115:       typename _AllocTraits::pointer _M_ptr;
1115: 
1115:     private:
1115: 
1115: 
1115:       union _Optional_alloc
1115:       {
1115:  _Optional_alloc() { }
1115:  ~_Optional_alloc() { }
1115: 
1115:  _Optional_alloc(_Optional_alloc&&) = delete;
111_Args>
1434: 
1434:  void
1434:  _M_realloc_insert(iterator __position, _Args&&... __args);
1434: 
1434: 
1434:      
1434:       iterator
1434:       _M_insert_rval(const_iterator __position, value_type&& __v);
1434: 
1434: 
1434:       template<typename... _Args>
1434: 
1434:  iterator
1434:  _M_emplace_aux(const_iterator __position, _Args&&... __args);
1434: 
1434: 
1434:      
1434:       iterator
1434:       _M_emplace_aux(const_iterator __position, value_type&& __v)
1434:       { return _M_insert_rval(__position, std::move(__v)); }
1434: 
1434: 
1434: 
1434:      
1434:       size_type
1434:       _M_check_len(size_type __n, const char* __s) const
1434:       {
1434:  if (max_size() - size() < __n)
1434:    __throw_length_error((__s));
1434: 
1434:  const size_type __len = size() + (std::max)(size(), __n);
1434:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1434:       }
1434: 
1434: 
1434:       static size_type
1434:       _S_check_init_len(size_type __n, const allocator_type& __a)
1434:       {
1434:  if (__n > _S_max_size(_Tp_alloc_type(__a)))
1434:    __throw_length_error(
1434:        ("cannot create std::vector larger than max_size()"));
1434:  return __n;
1434:       }
1434: 
1434:       static size_type
1434:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1434:       {
1434: 
1434: 
1434: 
1434:  const size_t __diffmax
1434:    = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1434:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1434:  return (std::min)(__diffmax, __allocmax);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_erase_at_end(pointer __pos) noexcept
1434:       {
1434:  if (size_type __n = this->_M_impl._M_finish - __pos)
1434:    {
1434:      std::_Destroy(__pos, this->_M_impl._M_finish,
1434:      _M_get_Tp_allocator());
1434:      this->_M_impl._M_finish = __pos;
1434:      ;
1434:    }
1434:       }
1434: 
1434:      
1434:       iterator
1434:       _M_erase(iterator __position);
1434: 
1434:      
1434:       iterator
1434:       _M_erase(iterator __first, iterator __last);
1434: 
1434: 
1434:     private:
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_move_assign(vector&& __x, true_type) noexcept
1434:       {
1434:  vector __tmp(get_allocator());
1434:  this->_M_impl._M_swap_data(__x._M_impl);
1434:  __tmp._M_impl._M_swap_data(__x._M_impl);
1434:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1434:       }
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       _M_move_assign(vector&& __x, false_type)
1434:       {
1434:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1434:    _M_move_assign(std::move(__x), true_type());
1434:  else
1434:    {
1434: 
1434: 
1434:      this->_M_assign_aux(std::make_move_iterator(__x.begin()),
1434:            std::make_move_iterator(__x.end()),
1434:     std::random_access_iterator_tag());
1434:      __x.clear();
1434:    }
1434:       }
1434: 
1434: 
1434:       template<typename _Up>
1434: 
1434:  _Up*
1434:  _M_data_ptr(_Up* __ptr) const noexcept
1434:  { return __ptr; }
1434: 
1434: 
1434:       template<typename _Ptr>
1434: 
1434:  typename std::pointer_traits<_Ptr>::element_type*
1434:  _M_data_ptr(_Ptr __ptr) const
1434:  { return empty() ? nullptr : std::__to_address(__ptr); }
1434: # 2010 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:     };
1434: 
1434: 
1434:   template<typename _InputIterator, typename _ValT
1434:       = typename iterator_traits<_InputIterator>::value_type,
1434:     typename _Allocator = allocator<_ValT>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     vector(_InputIterator, _InputIterator, _Allocator = _Allocator())
1434:       -> vector<_ValT, _Allocator>;
1434: # 2032 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     inline bool
1434:     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1434:     { return (_ype>(0))
1417:   {
1417:     enumType settingValue = defaultValue;
1417:     CheckInstanceSettingEnum(settingName, settingValue);
1417:     return settingValue;
1417:   }
1417: 
1417:   template<typename enumType>
1417:   inline void SetInstanceSettingEnum(const std::string& settingName, enumType settingValue)
1417:   {
1417:     m_instance->info->functions->set_instance_setting_int(
1417:         m_instance->info->kodi, settingName.c_str(), static_cast<int>(settingValue));
1417:   }
1417: 
1417: private:
1417:   static inline ADDON_STATUS INSTANCE_instance_setting_change_string(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, const char* value)
1417:   {
1417:     return static_cast<IAddonInstance*>(hdl)->SetInstanceSetting(name, CSettingValue(value));
1417:   }
1417: 
1417:   static inline ADDON_STATUS INSTANCE_instance_setting_change_boolean(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, bool value)
1417:   {
1417:     return static_cast<IAddonInstance*>(hdl)->SetInstanceSetting(name,
1417:                                                                  CSettingValue(value ? "1" : "0"));
1417:   }
1417: 
1417:   static inline ADDON_STATUS INSTANCE_instance_setting_change_integer(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, int value)
1417:   {
1417:     return static_cast<IAddonInstance*>(hdl)->SetInstanceSetting(
1417:         name, CSettingValue(std::to_string(value)));
1417:   }
1417: 
1417:   static inline ADDON_STATUS INSTANCE_instance_setting_change_float(
1417:       const KODI_ADDON_INSTANCE_HDL hdl, const char* name, float value)
1417:   {
1417:     return static_cast<IAddonInstance*>(hdl)->SetInstanceSetting(
1417:         name, CSettingValue(std::to_string(value)));
1417:   }
1417: 
1417:   friend class CAddonBase;
1417: 
1417:   const KODI_ADDON_INSTANCE_STRUCT* m_instance;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class __attribute__((visibility("hidden"))) CAddonBase
1417: {
1417: public:
1417: 
1417: 
1417: 
1417: 
1417:   CAddonBase()
1417:   {
1417:     CPrivateBase::m_interface->toAddon->create = nullptr;
1417:     CPrivateBase::m_interface->toAddon->destroy = ADDONBASE_Destroy;
1417:     CPrivateBase::m_interface->toAddon->create_instance = ADDONBASE_CreateInstance;
1417:     CPrivateBase::m_interface->toAddon->destroy_instance = ADDONBASE_DestroyInstance;
1417:     CPrivateBase::m_interface->toAddon->setting_change_string = ADDONBASE_setting_change_string;
1417:     CPrivateBase::m_interface->toAddon->setting_change_boolean = ADDONBASE_setting_change_boolean;
1417:     CPrivateBase::m_interface->toAddon->setting_change_integer = ADDONBASE_setting_change_integer;
1417:     CPrivateBase::m_interface->toAddon->setting_change_float = ADDONBASE_setting_change_float;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual ~CAddonBase() = default;
1417: # 627 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:   virtual ADDON_STATUS Create() { return ADDON_STATUS_OK; }
1417: # 680 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:   virtual ADDON_STATUS SetSetting(const std::string& settingName,
1417:                                   const kodi::addon::CSettingValue& settingValue)
1417:   {
1417:     return ADDON_STATUS_UNKNOWN;
1417:   }
1417: # 734 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:   virtual ADDON_STATUS CreateInstance(const kodi::addon::IInstanceInfo& instance,
1417:                                       KODI_ADDON_INSTANCE_HDL& hdl)
1417:   {
1417:     return ADDON_STATUS_NOT_IMPLEMENTED;
1417:   }
1417: # 754 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:   virtual void DestroyInstance(const IInstanceInfo& instance, const KODI_ADDON_INSTANCE_HDL hdl) {}
1417: 
1417: 
1417: 
1417:   std::shared_ptr<kodi::gui::IRenderHelper> m_renderHelper;
1417: 
1417: privat5:  _Optional_alloc& operator=(_Optional_alloc&&) = delete;
1115: 
1115:  _Optional_alloc(const _NodeAlloc& __alloc) noexcept
1115:  : _M_alloc(__alloc)
1115:  { }
1115: 
1115: 
1115:  void
1115:  operator=(_NodeAlloc&& __alloc) noexcept
1115:  {
1115:    using _ATr = _AllocTraits;
1115:    if constexpr (_ATr::propagate_on_container_move_assignment::value)
1115:      _M_alloc = std::move(__alloc);
1115:    else if constexpr (!_AllocTraits::is_always_equal::value)
1115:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __alloc)) __builtin_unreachable(); } while (false);
1115:  }
1115: 
1115: 
1115:  void
1115:  swap(_Optional_alloc& __other) noexcept
1115:  {
1115:    using std::swap;
1115:    if constexpr (_AllocTraits::propagate_on_container_swap::value)
1115:      swap(_M_alloc, __other._M_alloc);
1115:    else if constexpr (!_AllocTraits::is_always_equal::value)
1115:      do { if (std::__is_constant_evaluated() && !bool(_M_alloc == __other._M_alloc)) __builtin_unreachable(); } while (false);
1115:  }
1115: 
1115: 
1115:  _NodeAlloc& operator*() noexcept { return _M_alloc; }
1115: 
1115: 
1115:  _NodeAlloc release() noexcept
1115:  {
1115:    _NodeAlloc __tmp = std::move(_M_alloc);
1115:    _M_alloc.~_NodeAlloc();
1115:    return __tmp;
1115:  }
1115: 
1115:  struct _Empty { };
1115: 
1115:  [[__no_unique_address__]] _Empty _M_empty;
1115:  [[__no_unique_address__]] _NodeAlloc _M_alloc;
1115:       };
1115: 
1115:       [[__no_unique_address__]] _Optional_alloc _M_alloc;
1115: 
1115:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1115:         typename _Compare, typename _ValueAlloc>
1115:  friend class _Rb_tree;
1115: 
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _NodeAlloc>
1115:     class _Node_handle : public _Node_handle_common<_Value, _NodeAlloc>
1115:     {
1115:     public:
1115:       constexpr _Node_handle() noexcept = default;
1115:       ~_Node_handle() = default;
1115:       _Node_handle(_Node_handle&&) noexcept = default;
1115: 
1115:       _Node_handle&
1115:       operator=(_Node_handle&&) noexcept = default;
1115: 
1115:       using key_type = _Key;
1115:       using mapped_type = typename _Value::second_type;
1115: 
1115:       key_type&
1115:       key() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1115:  return *_M_pkey;
1115:       }
1115: 
1115:       mapped_type&
1115:       mapped() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1115:  return *_M_pmapped;
1115:       }
1115: 
1115:       void
1115:       swap(_Node_handle& __nh) noexcept
1115:       {
1115:  this->_M_swap(__nh);
1115:  using std::swap;
1115:  swap(_M_pkey, __nh._M_pkey);
1115:  swap(_M_pmapped, __nh._M_pmapped);
1115:       }
1115: 
1115:       friend void
1115:       swap(_Node_handle& __x, _Node_handle& __y)
1115:       noexcept(noexcept(__x.swap(__y)))
1115:       { __x.swap(__y); }
1115: 
1115:     private:
1115:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1115: 
1115:       _Node_handle(typename _AllocTraits::pointer __ptr,
1115:      const _NodeAlloc& __alloc)
1115:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc)
1115:       {
1115:  if (__ptr)
1115:    {
1115:      auto& __key = const_cast<_Key&>(__ptr->_M_valptr()->first);
1115:      _M_pkey = _S_pointer_to(__key);
1115:      _M_pmapped = _S_pointer_to(__ptr->_M_valptr()->second);
1115:    }
1115:  else
1115:    {
1115:      _M_pkey = nullptr;
1115:      _M_pmapped = nullptr;
1115:    }
1115:       }
1115: 
1115:       template<typename _Tp>
1115:  using __pointer
1115:    = __ptr_rebind<typename _AllocTraits::pointer,
1115:     remove_reference_t<_Tp>>;
1115: 
1115:       __pointer<_Key> _M_pkey = nullptr;
1115:       __pointer<typename _Value::second_type> _M_pmapped = nullptr;
1115: 
1115:       template<typename _Tp>
1115:  __pointer<_Tp>
1115:  _S_pointer_to(_Tp& __obj)
1115:  { return pointer_traits<__pointer<_Tp>>::pointer_to(__obj); }
1115: 
1115:       const key_type&
1115:       _M_key() const noexcept { return key(); }
1115: 
1115:       template<typename _Key2, typename _Value2, typename _KeyOfValue,
1115:         typename _Compare, typename _ValueAlloc>
1115:  friend class _Rb_tree;
1115: 
1115:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1115:         typename _ExtractKey, typename _Equal,
1115:         typename _Hash, typename _RangeHash, typename _Unused,
1115:         typename _RehashPolicy, typename _Traits>
1115:  friend class _Hashtable;
1115:     };
1115: 
1115: 
1115:   template<typename _Value, typename _NodeAlloc>
1115:     class _Node_handle<_Value, _Value, _NodeAlloc>
1115:     : public _Node_handle_common<_Value, _NodeAlloc>
1115:     {
1115:     public:
1115:       constexpr _Node_handle() noexcept = default;
1115:       ~_Node_handle() = default;
1115:       _Node_handle(_Node_handle&&) noexcept = default;
1115: 
1115:       _Node_handle&
1115:       operator=(_Node_handle&&) noexcept = default;
1115: 
1115:       using value_type = _Value;
1115: 
1115:       value_type&
1115:       value() const noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(!this->empty())) __builtin_unreachable(); } while (false);
1115:  return *this->_M_ptr->_M_valptr();
1115:       }
1115: 
1115:       void
1115:       swap(_Node_handle& __nh) noexcept
1115:       { this->_M_swap(__nh); }
1115: 
1115:       friend void
1115:       swap(_Node_handle& __x, _Node_handle& __y)
1115:       noexcept(noexcept(__x.swap(__y)))
1115:       { __x.swap(__y); }
1115: 
1115:     private:
1115:       using _AllocTraits = allocator_traits<_NodeAlloc>;
1115: 
1115:       _Node_handle(typename _AllocTraits::pointer __ptr,
1115:      const _NodeAlloc& __alloc)
1115:       : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) { }
1115: 
1115:       const value_type&
1115:       _M_key() const noexcept { return value(); }
1115: 
1115:       template<typename _Key, typename _Val, typename _KeyOfValue,
1115:         typename _Compare, typename _Alloc>
1115:  friend class _Rb_tree;
1115: 
1115:       template<typename _Key2, typename _Value2, typename _ValueAlloc,
1115:         typename _ExtractKey, typename _Equal,
1115:         typename _Hash, typename _RangeHash, typename _Unused,
1115:         typename _RehashPolicy, typename _Traits>
1115:  friend class _Hashtable;
1115:     };
1115: 
1115: 
1115:   template<typename _Iterator, typename _NodeHandle>
1115:     struct _Node_insert_return
1115:     {
1115:       _Iterator position = _Iterator();
1115:       bool inserted = false;
1115:       _NodeHandle node;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 73 "/usr/include/c++/12/bits/stl_tree.h" 2 3
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 99 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:   enum _Rb_tree_color { _S_red = false, _S_black = true };
1115: 
1115:   struct _Rb_tree_node_base
1115:   {
1115:     typedef _Rb_tree_node_base* _Base_ptr;
1115:     typedef const _Rb_tree_node_base* _Const_Base_ptr;
1115: 
1115:     _Rb_tree_color _M_color;
1115:     _Base_ptr _M_parent;
1115:     _Base_ptr _M_left;
1115:     _Base_ptr _M_right;
1115: 
1115:     static _Base_ptr
1115:     _S_minimum(_Base_ptr __x) noexcept
1115:     {
1115:       while (__x->_M_left != 0) __x = __x->_M_left;
1115:       return __x;
1115:     }
1115: 
1115:     static _Const_Base_ptr
1115:     _S_minimum(_Const_Base_ptr __x) noexcept
1115:     {
1115:       while (__x->_M_left != 0) __x = __x->_M_left;
1115:       return __x;
1115:     }
1115: 
1115:     static _Base_ptr
1115:     _S_maximum(_Base_ptr __x) noexcept
1115:     {
1115:       while (__x->_M_right != 0) __x = __x->_M_right;
1115:       return __x;
1115:     }
1115: 
1115:     static _Const_Base_ptr
1115:     _S_maximum(_Const_Base_ptr __x) noexcept
1115:     {
1115:       while (__x->_M_right != 0) __x = __x->_M_right;
1115:       return _x.size() == __y.size()
1434:        && std::equal(__x.begin(), __x.end(), __y.begin())); }
1434: # 2072 "/usr/include/c++/12/bits/stl_vector.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     inline bool
1434:     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1434:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1434:        __y.begin(), __y.end()); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     inline bool
1434:     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     inline bool
1434:     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     inline bool
1434:     operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     inline bool
1434:     operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     inline void
1434:     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: 
1434:   namespace __detail::__variant
1434:   {
1434:     template<typename> struct _Never_valueless_alt;
1434: 
1434: 
1434: 
1434:     template<typename _Tp, typename _Alloc>
1434:       struct _Never_valueless_alt<std::vector<_Tp, _Alloc>>
1434:       : std::is_nothrow_move_assignable<std::vector<_Tp, _Alloc>>
1434:       { };
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/vector" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_bvector.h" 1 3
1434: # 64 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   typedef unsigned long _Bit_type;
1434:   enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
1434: 
1434:   __attribute__((__nonnull__))
1434:  
1434:   void
1434:   __fill_bvector_n(_Bit_type*, size_t, bool) noexcept;
1434: 
1434: 
1434: 
1434:   struct _Bit_reference
1434:   {
1434:     _Bit_type * _M_p;
1434:     _Bit_type _M_mask;
1434: 
1434:    
1434:     _Bit_reference(_Bit_type * __x, _Bit_type __y)
1434:     : _M_p(__x), _M_mask(__y) { }
1434: 
1434:    
1434:     _Bit_reference() noexcept : _M_p(0), _M_mask(0) { }
1434: 
1434: 
1434:     _Bit_reference(const _Bit_reference&) = default;
1434: 
1434: 
1434:     [[__nodiscard__]]
1434:     operator bool() const noexcept
1434:     { return !!(*_M_p & _M_mask); }
1434: 
1434:    
1434:     _Bit_reference&
1434:     operator=(bool __x) noexcept
1434:     {
1434:       if (__x)
1434:  *_M_p |= _M_mask;
1434:       else
1434:  *_M_p &= ~_M_mask;
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     _Bit_reference&
1434:     operator=(const _Bit_reference& __x) noexcept
1434:     { return *this = bool(__x); }
1434: 
1434:     [[__nodiscard__]]
1434:     bool
1434:     operator==(const _Bit_reference& __x) const
1434:     { return bool(*this) == bool(__x); }
1434: 
1434:     [[__nodiscard__]]
1434:     bool
1434:     operator<(const _Bit_reference& __x) const
1434:     { return !bool(*this) && bool(__x); }
1434: 
1434:    
1434:     void
1434:     flip() noexcept
1434:     { *_M_p ^= _M_mask; }
1434: 
1434: 
1434:    
1434:     friend void
1434:     swap(_Bit_reference __x, _Bit_reference __y) noexcept
1434:     {
1434:       bool __tmp = __x;
1434:       __x = __y;
1434:       __y = __tmp;
1434:     }
1434: 
1434:    
1434:     friend void
1434:     swap(_Bit_reference __x, bool& __y) noexcept
1434:     {
1434:       bool __tmp = __x;
1434:       __x = __y;
1434:       __y = __tmp;
1434:     }
1434: 
1434:    
1434:     friend void
1434:     swap(bool& __x, _Bit_reference __y) noexcept
1e:
1417:   static inline void ADDONBASE_Destroy(const KODI_ADDON_HDL hdl)
1417:   {
1417:     delete static_cast<CAddonBase*>(hdl);
1417:   }
1417: 
1417:   static inline ADDON_STATUS ADDONBASE_CreateInstance(const KODI_ADDON_HDL hdl,
1417:                                                       struct KODI_ADDON_INSTANCE_STRUCT* instance)
1417:   {
1417:     CAddonBase* base = static_cast<CAddonBase*>(hdl);
1417: 
1417:     ADDON_STATUS status = ADDON_STATUS_NOT_IMPLEMENTED;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     if (CPrivateBase::m_interface->firstKodiInstance == instance &&
1417:         CPrivateBase::m_interface->globalSingleInstance &&
1417:         static_cast<IAddonInstance*>(CPrivateBase::m_interface->globalSingleInstance)
1417:                 ->m_instance->info->type == instance->info->type)
1417:     {
1417: 
1417: 
1417: 
1417:       instance->hdl = CPrivateBase::m_interface->globalSingleInstance;
1417:       status = ADDON_STATUS_OK;
1417:     }
1417:     else
1417:     {
1417: 
1417: 
1417: 
1417: 
1417:       IInstanceInfo instanceInfo(instance);
1417: 
1417: 
1417:       if (instance->info->parent != nullptr)
1417:         status = static_cast<IAddonInstance*>(instance->info->parent)
1417:                      ->CreateInstance(instanceInfo, instance->hdl);
1417: 
1417: 
1417:       if (status == ADDON_STATUS_NOT_IMPLEMENTED)
1417:       {
1417:         status = base->CreateInstance(instanceInfo, instance->hdl);
1417:       }
1417:     }
1417: 
1417:     if (instance->hdl == nullptr)
1417:     {
1417:       if (status == ADDON_STATUS_OK)
1417:       {
1417:         CPrivateBase::m_interface->toKodi->addon_log_msg(
1417:             CPrivateBase::m_interface->toKodi->kodiBase, ADDON_LOG_FATAL,
1417:             "kodi::addon::CAddonBase CreateInstance returned an "
1417:             "empty instance pointer, but reported OK!");
1417:         return ADDON_STATUS_PERMANENT_FAILURE;
1417:       }
1417:       else
1417:       {
1417:         return status;
1417:       }
1417:     }
1417: 
1417:     if (static_cast<IAddonInstance*>(instance->hdl)->m_instance->info->type != instance->info->type)
1417:     {
1417:       CPrivateBase::m_interface->toKodi->addon_log_msg(
1417:           CPrivateBase::m_interface->toKodi->kodiBase, ADDON_LOG_FATAL,
1417:           "kodi::addon::CAddonBase CreateInstance difference between given and returned");
1417:       delete static_cast<IAddonInstance*>(instance->hdl);
1417:       instance->hdl = nullptr;
1417:       return ADDON_STATUS_PERMANENT_FAILURE;
1417:     }
1417: 
1417:     return status;
1417:   }
1417: 
1417:   static inline void ADDONBASE_DestroyInstance(const KODI_ADDON_HDL hdl,
1417:                                                struct KODI_ADDON_INSTANCE_STRUCT* instance)
1417:   {
1417:     CAddonBase* base = static_cast<CAddonBase*>(hdl);
1417: 
1417:     if (CPrivateBase::m_interface->globalSingleInstance == nullptr && instance->hdl != base)
1417:     {
1417:       IInstanceInfo instanceInfo(instance);
1417:       base->DestroyInstance(instanceInfo, instance->hdl);
1417:       delete static_cast<IAddonInstance*>(instance->hdl);
1417:     }
1417:   }
1417: 
1417:   static inline ADDON_STATUS ADDONBASE_setting_change_string(const KODI_ADDON_HDL hdl,
1417:                                                              const char* name,
1417:                                                              const char* value)
1417:   {
1417:     return static_cast<CAddonBase*>(hdl)->SetSetting(name, CSettingValue(value));
1417:   }
1417: 
1417:   static inline ADDON_STATUS ADDONBASE_setting_change_boolean(const KODI_ADDON_HDL hdl,
1417:                                                               const char* name,
1417:                                                               bool value)
1417:   {
1417:     return static_cast<CAddonBase*>(hdl)->SetSetting(name, CSettingValue(value ? "1" : "0"));
1417:   }
1417: 
1417:   static inline ADDON_STATUS ADDONBASE_setting_change_integer(const KODI_ADDON_HDL hdl,
1417:                                               __x;
1115:     }
1115:   };
1115: 
1115: 
1115:   template<typename _Key_compare>
1115:     struct _Rb_tree_key_compare
1115:     {
1115:       _Key_compare _M_key_compare;
1115: 
1115:       _Rb_tree_key_compare()
1115:       noexcept(is_nothrow_default_constructible<_Key_compare>::value)
1115: 
1115:       : _M_key_compare()
1115:       { }
1115: 
1115:       _Rb_tree_key_compare(const _Key_compare& __comp)
1115:       : _M_key_compare(__comp)
1115:       { }
1115: 
1115: 
1115: 
1115:       _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default;
1115: 
1115:       _Rb_tree_key_compare(_Rb_tree_key_compare&& __x)
1115:  noexcept(is_nothrow_copy_constructible<_Key_compare>::value)
1115:       : _M_key_compare(__x._M_key_compare)
1115:       { }
1115: 
1115:     };
1115: 
1115: 
1115:   struct _Rb_tree_header
1115:   {
1115:     _Rb_tree_node_base _M_header;
1115:     size_t _M_node_count;
1115: 
1115:     _Rb_tree_header() noexcept
1115:     {
1115:       _M_header._M_color = _S_red;
1115:       _M_reset();
1115:     }
1115: 
1115: 
1115:     _Rb_tree_header(_Rb_tree_header&& __x) noexcept
1115:     {
1115:       if (__x._M_header._M_parent != nullptr)
1115:  _M_move_data(__x);
1115:       else
1115:  {
1115:    _M_header._M_color = _S_red;
1115:    _M_reset();
1115:  }
1115:     }
1115: 
1115: 
1115:     void
1115:     _M_move_data(_Rb_tree_header& __from)
1115:     {
1115:       _M_header._M_color = __from._M_header._M_color;
1115:       _M_header._M_parent = __from._M_header._M_parent;
1115:       _M_header._M_left = __from._M_header._M_left;
1115:       _M_header._M_right = __from._M_header._M_right;
1115:       _M_header._M_parent->_M_parent = &_M_header;
1115:       _M_node_count = __from._M_node_count;
1115: 
1115:       __from._M_reset();
1115:     }
1115: 
1115:     void
1115:     _M_reset()
1115:     {
1115:       _M_header._M_parent = 0;
1115:       _M_header._M_left = &_M_header;
1115:       _M_header._M_right = &_M_header;
1115:       _M_node_count = 0;
1115:     }
1115:   };
1115: 
1115:   template<typename _Val>
1115:     struct _Rb_tree_node : public _Rb_tree_node_base
1115:     {
1115:       typedef _Rb_tree_node<_Val>* _Link_type;
1115: # 231 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
1115: 
1115:       _Val*
1115:       _M_valptr()
1115:       { return _M_storage._M_ptr(); }
1115: 
1115:       const _Val*
1115:       _M_valptr() const
1115:       { return _M_storage._M_ptr(); }
1115: 
1115:     };
1115: 
1115:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1115:   _Rb_tree_increment(_Rb_tree_node_base* __x) throw ();
1115: 
1115:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1115:   _Rb_tree_increment(const _Rb_tree_node_base* __x) throw ();
1115: 
1115:   __attribute__ ((__pure__)) _Rb_tree_node_base*
1115:   _Rb_tree_decrement(_Rb_tree_node_base* __x) throw ();
1115: 
1115:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
1115:   _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw ();
1115: 
1115:   template<typename _Tp>
1115:     struct _Rb_tree_iterator
1115:     {
1115:       typedef _Tp value_type;
1115:       typedef _Tp& reference;
1115:       typedef _Tp* pointer;
1115: 
1115:       typedef bidirectional_iterator_tag iterator_category;
1115:       typedef ptrdiff_t difference_type;
1115: 
1115:       typedef _Rb_tree_iterator<_Tp> _Self;
1115:       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
1115:       typedef _Rb_tree_node<_Tp>* _Link_type;
1115: 
1115:       _Rb_tree_iterator() noexcept
1115:       : _M_node() { }
1115: 
1115:       explicit
1115:       _Rb_tree_iterator(_Base_ptr __x) noexcept
1115:       : _M_node(__x) { }
1115: 
1115:       reference
1115:       operator*() const noexcept
1115:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1115: 
1115:       pointer
1115:       operator->() const noexcept
1115:       { return static_cast<_Link_type> (_M_node)->_M_valptr(); }
1115: 
1115:       _Self&
1115:       operator++() noexcept
1115:       {
1115:  _M_node = _Rb_tree_increment(_M_node);
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator++(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _Rb_tree_increment(_M_node);
1115:  return __tmp;
1115:       }
1115: 
1115:       _Self&
1115:       operator--() noexcept
1115:       {
1115:  _M_node = _Rb_tree_decrement(_M_node);
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator--(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _Rb_tree_decrement(_M_node);
1115:  return __tmp;
1115:       }
1115: 
1115:       friend bool
1115:       operator==(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node == __y._M_node; }
1115: 
1115: 
1115:       friend bool
1115:       operator!=(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node != __y._M_node; }
1115: 
1115: 
1115:       _Base_ptr _M_node;
1115:     };
1115: 
1115:   template<typename _Tp>
1115:     struct _Rb_tree_const_iterator
1115:     {
1115:       typedef _Tp value_type;
1115:       typedef const _Tp& reference;
1115:       typedef const _Tp* pointer;
1115: 
1115:       typedef _Rb_tree_iterator<_Tp> iterator;
1115: 
1115:       typedef bidirectional_iterator_tag iterator_category;
1115:       typedef ptrdiff_t difference_type;
1115: 
1115:       typedef _Rb_tree_const_iterator<_Tp> _Self;
1115:       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
1115:       typedef const _Rb_tree_node<_Tp>* _Link_type;
1115: 
1115:       _Rb_tree_const_iterator() noexcept
1115:       : _M_node() { }
1115: 
1115:       explicit
1115:       _Rb_tree_const_iterator(_Base_ptr __x) noexcept
1115:       : _M_node(__x) { }
1115: 
1115:       _Rb_tree_const_iterator(const iterator& __it) noexcept
1115:       : _M_node(__it._M_node) { }
1115: 
1115:       iterator
1115:       _M_const_cast() const noexcept
1115:       { return iterator(const_cast<typename iterator::_Base_ptr>(_M_node)); }
1115: 
1115:       reference
1115:       operator*() const noexcept
1115:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
1115: 
1115:       pointer
1115:       operator->() const noexcept
1115:       { return static_cast<_Link_type>(_M_node)->_M_valptr(); }
1115: 
1115:       _Self&
1115:       operator++() noexcept
1115:       {
1115:  _M_node = _Rb_tree_increment(_M_node);
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator++(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _Rb_tree_increment(_M_node);
1115:  return __tmp;
1115:       }
1115: 
1115:       _Self&
1115:       operator--() noexcept
1115:       {
1115:  _M_node = _Rb_tree_decrement(_M_node);
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator--(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _Rb_tree_decrement(_M_node);
1115:  return __tmp;
1115:       }
1115: 
1115:       friend bool
1115:       operator==(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node == __y._M_node; }
1115: 
1115: 
1115:       friend bool
1115:       operator!=(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node != __y._M_node; }
1115: 
1115: 
1115:       _Base_ptr _M_node;
1115:     };
1115: 
1115:   void
1115:   _Rb_tree_insert_and_rebalance(const bool __insert_left,
1115:     _Rb_tree_node_base* __x,
1115:     _Rb_tree_node_base* __p,
1115:     _Rb_tree_node_base& __header) throw ();
1115: 
1115:   _Rb_tree_node_base*
1115:   _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
1115:           _Rb_tree_node_base& __header) throw ();
1115: 
1115: 
1115:   template<typename _Tree1, typename _Cmp2>
1115:     struct _Rb_tree_merge_helper { };
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc = allocator<_Val> >
1115:     class _Rb_tree
1115:     {
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
11                const char* name,
1417:                                                               int value)
1417:   {
1417:     return static_cast<CAddonBase*>(hdl)->SetSetting(name, CSettingValue(std::to_string(value)));
1417:   }
1417: 
1417:   static inline ADDON_STATUS ADDONBASE_setting_change_float(const KODI_ADDON_HDL hdl,
1417:                                                             const char* name,
1417:                                                             float value)
1417:   {
1417:     return static_cast<CAddonBase*>(hdl)->SetSetting(name, CSettingValue(std::to_string(value)));
1417:   }
1417: };
1417: # 887 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetAddonPath(const std::string& append = "")
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   char* str = CPrivateBase::m_interface->toKodi->kodi_addon->get_addon_path(
1417:       CPrivateBase::m_interface->toKodi->kodiBase);
1417:   std::string ret = str;
1417:   CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase, str);
1417:   if (!append.empty())
1417:   {
1417:     if (append.at(0) != '\\' && append.at(0) != '/')
1417: 
1417: 
1417: 
1417:       ret.append("/");
1417: 
1417:     ret.append(append);
1417:   }
1417:   return ret;
1417: }
1417: # 924 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetLibPath(const std::string& append = "")
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   char* str = CPrivateBase::m_interface->toKodi->kodi_addon->get_lib_path(
1417:       CPrivateBase::m_interface->toKodi->kodiBase);
1417:   std::string ret = str;
1417:   CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase, str);
1417:   if (!append.empty())
1417:   {
1417:     if (append.at(0) != '\\' && append.at(0) != '/')
1417: 
1417: 
1417: 
1417:       ret.append("/");
1417: 
1417:     ret.append(append);
1417:   }
1417:   return ret;
1417: }
1417: # 956 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetUserPath(const std::string& append = "")
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   char* str = CPrivateBase::m_interface->toKodi->kodi_addon->get_user_path(
1417:       CPrivateBase::m_interface->toKodi->kodiBase);
1417:   std::string ret = str;
1417:   CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase, str);
1417:   if (!append.empty())
1417:   {
1417:     if (append.at(0) != '\\' && append.at(0) != '/')
1417: 
1417: 
1417: 
1417:       ret.append("/");
1417: 
1417:     ret.append(append);
1417:   }
1417:   return ret;
1417: }
1417: # 989 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetTempPath(const std::string& append = "")
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   char* str = CPrivateBase::m_interface->toKodi->kodi_addon->get_temp_path(
1417:       CPrivateBase::m_interface->toKodi->kodiBase);
1417:   std::string ret = str;
1417:   CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase, str);
1417:   if (!append.empty())
1417:   {
1417:     if (append.at(0) != '\\' && append.at(0) != '/')
1417: 
1417: 
1417: 
1417:       ret.append("/");
1417: 
1417:     ret.append(append);
1417:   }
1417:   return ret;
1417: }
1417: # 1038 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetLocalizedString(uint32_t labelId,
1417:                                                      const std::string& defaultStr = "")
1417: {
1417:   using namespace kodi::addon;
1417: 
434:     {
1434:       bool __tmp = __x;
1434:       __x = __y;
1434:       __y = __tmp;
1434:     }
1434: 
1434:   };
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:   struct _Bit_iterator_base
1434:   : public std::iterator<std::random_access_iterator_tag, bool>
1434:   {
1434:     _Bit_type * _M_p;
1434:     unsigned int _M_offset;
1434: 
1434:    
1434:     _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
1434:     : _M_p(__x), _M_offset(__y) { }
1434: 
1434:    
1434:     void
1434:     _M_bump_up()
1434:     {
1434:       if (_M_offset++ == int(_S_word_bit) - 1)
1434:  {
1434:    _M_offset = 0;
1434:    ++_M_p;
1434:  }
1434:     }
1434: 
1434:    
1434:     void
1434:     _M_bump_down()
1434:     {
1434:       if (_M_offset-- == 0)
1434:  {
1434:    _M_offset = int(_S_word_bit) - 1;
1434:    --_M_p;
1434:  }
1434:     }
1434: 
1434:    
1434:     void
1434:     _M_incr(ptrdiff_t __i)
1434:     {
1434:       difference_type __n = __i + _M_offset;
1434:       _M_p += __n / int(_S_word_bit);
1434:       __n = __n % int(_S_word_bit);
1434:       if (__n < 0)
1434:  {
1434:    __n += int(_S_word_bit);
1434:    --_M_p;
1434:  }
1434:       _M_offset = static_cast<unsigned int>(__n);
1434:     }
1434: 
1434:     [[__nodiscard__]]
1434:     friend bool
1434:     operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1434:     { return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; }
1434: # 225 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:     [[__nodiscard__]]
1434:     friend bool
1434:     operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1434:     {
1434:       return __x._M_p < __y._M_p
1434:      || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset);
1434:     }
1434: 
1434:     [[__nodiscard__]]
1434:     friend bool
1434:     operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1434:     { return !(__x == __y); }
1434: 
1434:     [[__nodiscard__]]
1434:     friend bool
1434:     operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1434:     { return __y < __x; }
1434: 
1434:     [[__nodiscard__]]
1434:     friend bool
1434:     operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1434:     { return !(__y < __x); }
1434: 
1434:     [[__nodiscard__]]
1434:     friend bool
1434:     operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434:     friend ptrdiff_t
1434:     operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1434:     {
1434:       return (int(_S_word_bit) * (__x._M_p - __y._M_p)
1434:        + __x._M_offset - __y._M_offset);
1434:     }
1434:   };
1434: #pragma GCC diagnostic pop
1434: 
1434:   struct _Bit_iterator : public _Bit_iterator_base
1434:   {
1434:     typedef _Bit_reference reference;
1434: 
1434: 
1434: 
1434:     typedef _Bit_reference* pointer;
1434: 
1434:     typedef _Bit_iterator iterator;
1434: 
1434:    
1434:     _Bit_iterator() : _Bit_iterator_base(0, 0) { }
1434: 
1434:    
1434:     _Bit_iterator(_Bit_type * __x, unsigned int __y)
1434:     : _Bit_iterator_base(__x, __y) { }
1434: 
1434:    
1434:     iterator
1434:     _M_const_cast() const
1434:     { return *this; }
1434: 
1434:     [[__nodiscard__]]
1434:     reference
1434:     operator*() const
1434:     { return reference(_M_p, 1UL << _M_offset); }
1434: 
1434:    
1434:     iterator&
1434:     operator++()
1434:     {
1434:       _M_bump_up();
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     iterator
1434:     operator++(int)
1434:     {
1434:       iterator __tmp = *this;
1434:       _M_bump_up();
1434:       return __tmp;
1434:     }
1434: 
1434:    
1434:     iterator&
1434:     operator--()
1434:     {
1434:       _M_bump_down();
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     iterator
1434:     operator--(int)
1434:     {
1434:       iterator __tmp = *this;
1434:       _M_bump_down();
1434:       return __tmp;
1434:     }
1434: 
1434:    
1434:     iterator&
1434:     operator+=(difference_type __i)
1434:     {
1434:       _M_incr(__i);
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     iterator&
1434:     operator-=(difference_type __i)
1434:     {
1434:       *this += -__i;
1434:       return *this;
1434:     }
1434: 
1434:     [[__nodiscard__]]
1434:     reference
1434:     operator[](difference_type __i) const
1434:     { return *(*this + __i); }
1434: 
1434:     [[__nodiscard__]]
1434:     friend iterator
1434:     operator+(const iterator& __x, difference_type __n)
1434:     {
1434:       iterator __tmp = __x;
1434:       __tmp += __n;
1434:       return __tmp;
1434:     }
1434: 
1434:     [[__nodiscard__]]
1434:     friend iterator
1434:     operator+(difference_type __n, const iterator& __x)
1434:     { return __x + __n; }
1434: 
1434:     [[__nodiscard__]]
1434:     friend iterator
1434:     operator-(const iterator& __x, difference_type __n)
1434:     {
1434:       iterator __tmp = __x;
1434:       __tmp -= __n;
1434:       return __tmp;
1434:     }
1434:   };
1434: 
1434:   struct _Bit_const_iterator : public _Bit_iterator_base
1434:   {
1434:     typedef bool reference;
1434:     typedef bool const_reference;
1434: 
1434: 
1434: 
1434:     typedef const bool* pointer;
1434: 
1434:     typedef _Bit_const_iterator const_iterator;
1434: 
1434:    
1434:     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
1434: 
1434:    
1434:     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
1434:     : _Bit_iterator_base(__x, __y) { }
1434: 
1434:    
1434:     _Bit_const_iterator(const _Bit_iterator& __x)
1434:     : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
1434: 
1434:    
1434:     _Bit_iterator
1434:     _M_const_cast() const
1434:     { return _Bit_iterator(_M_p, _M_offset); }
1434: 
1434:     [[__nodiscard__]]
1434:     const_reference
1434:     operator*() const
1434:     { return _Bit_reference(_M_p, 1UL << _M_offset); }
1434: 
1434:    
1434:     const_iterator&
1434:     operator++()
1434:     {
1434:       _M_bump_up();
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     const_iterator
1434:     operator++(int)
1434:     {
1434:       const_iterator __tmp = *this;
1434:       _M_bump_up();
1434:       return __tmp;
1434:     }
1434: 
1434:    
1434:     const_iterator&
1434:     operator--()
1434:     {
1434:       _M_bump_down();
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     const_iterator
1434:     operator--(int)
1434:     {
1434:       const_iterator __tmp = *this;
1434:       _M_bump_down();
1434:       return __tmp;
1434:     }
1434: 
1434:    
1434:     const_iterator&
1434:     operator+=(difference_type __i)
1434:     {
1434:       _M_incr(__i);
1434:       return *this;
1434:     }
1434: 
1434:    
1434:     const_iterator&
1434:     operator-=(difference_type __i)
1434:     {
1434:       *this += -__i;
1434:       return *this;
1434:     }
1434: 
1434:     [[__nodiscard__]]
1434:     const_reference
1434:     operator[](difference_type __i) const
1434:     { return *(*this + __i); }
1434: 
1434:     [[__nodiscard__]]
1434:     friend const_iterator
1434:     operator+(const const_iterator& __x, difference_type __n)
1434:     {
1434:       const_iterator __tmp = __x;
1434:       __tmp += __n;
1434:       return __tmp;
1434:     }
1434: 
1434:     [[__nodiscard__]]
1434:     friend const_iterator
1434:     operator-(const const_iterator& __x, difference_type __n)
1434:     {
1434:       const_iterator __tmp = __x;
1434:       __tmp -= __n;
1434:       return __tmp;
1434:     }
1434: 
1434:     [[__nodiscard__]]
1434:     friend const_iterator
1434:     operator+(difference_type __n, const const_iterator& __x)
1434:     { return __x + __n; }
1434:   };
1434: 
1434:   template<typename _Alloc>
1434:     struct _Bvector_base
1434:     {
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:         rebind<_Bit_type>::other _Bit_alloc_type;
1434:       typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type>
1434:  _Bit_al15: 
1115:       typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
1115: 
1115:     protected:
1115:       typedef _Rb_tree_node_base* _Base_ptr;
1115:       typedef const _Rb_tree_node_base* _Const_Base_ptr;
1115:       typedef _Rb_tree_node<_Val>* _Link_type;
1115:       typedef const _Rb_tree_node<_Val>* _Const_Link_type;
1115: 
1115:     private:
1115: 
1115: 
1115:       struct _Reuse_or_alloc_node
1115:       {
1115:  _Reuse_or_alloc_node(_Rb_tree& __t)
1115:  : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t)
1115:  {
1115:    if (_M_root)
1115:      {
1115:        _M_root->_M_parent = 0;
1115: 
1115:        if (_M_nodes->_M_left)
1115:   _M_nodes = _M_nodes->_M_left;
1115:      }
1115:    else
1115:      _M_nodes = 0;
1115:  }
1115: 
1115: 
1115:  _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete;
1115: 
1115: 
1115:  ~_Reuse_or_alloc_node()
1115:  { _M_t._M_erase(static_cast<_Link_type>(_M_root)); }
1115: 
1115:  template<typename _Arg>
1115:    _Link_type
1115:    operator()(_Arg&& __arg)
1115:    {
1115:      _Link_type __node = static_cast<_Link_type>(_M_extract());
1115:      if (__node)
1115:        {
1115:   _M_t._M_destroy_node(__node);
1115:   _M_t._M_construct_node(__node, std::forward<_Arg>(__arg));
1115:   return __node;
1115:        }
1115: 
1115:      return _M_t._M_create_node(std::forward<_Arg>(__arg));
1115:    }
1115: 
1115:       private:
1115:  _Base_ptr
1115:  _M_extract()
1115:  {
1115:    if (!_M_nodes)
1115:      return _M_nodes;
1115: 
1115:    _Base_ptr __node = _M_nodes;
1115:    _M_nodes = _M_nodes->_M_parent;
1115:    if (_M_nodes)
1115:      {
1115:        if (_M_nodes->_M_right == __node)
1115:   {
1115:     _M_nodes->_M_right = 0;
1115: 
1115:     if (_M_nodes->_M_left)
1115:       {
1115:         _M_nodes = _M_nodes->_M_left;
1115: 
1115:         while (_M_nodes->_M_right)
1115:    _M_nodes = _M_nodes->_M_right;
1115: 
1115:         if (_M_nodes->_M_left)
1115:    _M_nodes = _M_nodes->_M_left;
1115:       }
1115:   }
1115:        else
1115:   _M_nodes->_M_left = 0;
1115:      }
1115:    else
1115:      _M_root = 0;
1115: 
1115:    return __node;
1115:  }
1115: 
1115:  _Base_ptr _M_root;
1115:  _Base_ptr _M_nodes;
1115:  _Rb_tree& _M_t;
1115:       };
1115: 
1115: 
1115: 
1115:       struct _Alloc_node
1115:       {
1115:  _Alloc_node(_Rb_tree& __t)
1115:  : _M_t(__t) { }
1115: 
1115:  template<typename _Arg>
1115:    _Link_type
1115:    operator()(_Arg&& __arg) const
1115:    { return _M_t._M_create_node(std::forward<_Arg>(__arg)); }
1115: 
1115:       private:
1115:  _Rb_tree& _M_t;
1115:       };
1115: 
1115:     public:
1115:       typedef _Key key_type;
1115:       typedef _Val value_type;
1115:       typedef value_type* pointer;
1115:       typedef const value_type* const_pointer;
1115:       typedef value_type& reference;
1115:       typedef const value_type& const_reference;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef _Alloc allocator_type;
1115: 
1115:       _Node_allocator&
1115:       _M_get_Node_allocator() noexcept
1115:       { return this->_M_impl; }
1115: 
1115:       const _Node_allocator&
1115:       _M_get_Node_allocator() const noexcept
1115:       { return this->_M_impl; }
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_M_get_Node_allocator()); }
1115: 
1115:     protected:
1115:       _Link_type
1115:       _M_get_node()
1115:       { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); }
1115: 
1115:       void
1115:       _M_put_node(_Link_type __p) noexcept
1115:       { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); }
1115: # 588 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:       template<typename... _Args>
1115:  void
1115:  _M_construct_node(_Link_type __node, _Args&&... __args)
1115:  {
1115:    try
1115:      {
1115:        ::new(__node) _Rb_tree_node<_Val>;
1115:        _Alloc_traits::construct(_M_get_Node_allocator(),
1115:            __node->_M_valptr(),
1115:     1417:   std::string retString = defaultStr;
1417:   char* strMsg = CPrivateBase::m_interface->toKodi->kodi_addon->get_localized_string(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, labelId);
1417:   if (strMsg != nullptr)
1417:   {
1417:     if (std::strlen(strMsg))
1417:       retString = strMsg;
1417:     CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase,
1417:                                                    strMsg);
1417:   }
1417:   return retString;
1417: }
1417: # 1088 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline bool __attribute__((visibility("hidden"))) OpenSettings()
1417: {
1417:   using namespace kodi::addon;
1417:   return CPrivateBase::m_interface->toKodi->kodi_addon->open_settings_dialog(
1417:       CPrivateBase::m_interface->toKodi->kodiBase);
1417: }
1417: # 1104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline bool __attribute__((visibility("hidden"))) IsSettingUsingDefault(const std::string& settingName)
1417: {
1417:   using namespace kodi::addon;
1417:   return CPrivateBase::m_interface->toKodi->kodi_addon->is_setting_using_default(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str());
1417: }
1417: # 1135 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline bool __attribute__((visibility("hidden"))) CheckSettingString(const std::string& settingName,
1417:                                               std::string& settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   char* buffer = nullptr;
1417:   bool ret = CPrivateBase::m_interface->toKodi->kodi_addon->get_setting_string(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), &buffer);
1417:   if (buffer)
1417:   {
1417:     if (ret)
1417:       settingValue = buffer;
1417:     CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase,
1417:                                                    buffer);
1417:   }
1417:   return ret;
1417: }
1417: # 1173 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetSettingString(const std::string& settingName,
1417:                                                    const std::string& defaultValue = "")
1417: {
1417:   std::string settingValue = defaultValue;
1417:   CheckSettingString(settingName, settingValue);
1417:   return settingValue;
1417: }
1417: # 1201 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline void __attribute__((visibility("hidden"))) SetSettingString(const std::string& settingName,
1417:                                             const std::string& settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   CPrivateBase::m_interface->toKodi->kodi_addon->set_setting_string(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue.c_str());
1417: }
1417: # 1234 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline bool __attribute__((visibility("hidden"))) CheckSettingInt(const std::string& settingName, int& settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   return CPrivateBase::m_interface->toKodi->kodi_addon->get_setting_int(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue);
1417: }
1417: # 1262 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline int __attribute__((visibility("hidden"))) GetSettingInt(const std::string& settingName, int defaultValue = 0)
1417: {
1417:   int settingValue = defaultValue;
1417:   CheckSettingInt(settingName, settingValue);
1417:   return settingValue;
1417: }
1417: # 1289 "/build/kodi-Hloc_traits;
1434:       typedef typename _Bit_alloc_traits::pointer _Bit_pointer;
1434: 
1434:       struct _Bvector_impl_data
1434:       {
1434: 
1434:  _Bit_iterator _M_start;
1434: # 502 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:  _Bit_iterator _M_finish;
1434:  _Bit_pointer _M_end_of_storage;
1434: 
1434: 
1434:  _Bvector_impl_data() noexcept
1434:  : _M_start(), _M_finish(), _M_end_of_storage()
1434:  { }
1434: 
1434: 
1434:  _Bvector_impl_data(const _Bvector_impl_data&) = default;
1434: 
1434:  _Bvector_impl_data&
1434:  operator=(const _Bvector_impl_data&) = default;
1434: 
1434: 
1434:  _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept
1434:  : _Bvector_impl_data(__x)
1434:  { __x._M_reset(); }
1434: 
1434: 
1434:  void
1434:  _M_move_data(_Bvector_impl_data&& __x) noexcept
1434:  {
1434:    *this = __x;
1434:    __x._M_reset();
1434:  }
1434: 
1434: 
1434: 
1434:  void
1434:  _M_reset() noexcept
1434:  { *this = _Bvector_impl_data(); }
1434: 
1434: 
1434:  void
1434:  _M_swap_data(_Bvector_impl_data& __x) noexcept
1434:  {
1434: 
1434: 
1434:    std::swap(*this, __x);
1434:  }
1434:       };
1434: 
1434:       struct _Bvector_impl
1434:  : public _Bit_alloc_type, public _Bvector_impl_data
1434:       {
1434: 
1434:  _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value)
1434: 
1434:  : _Bit_alloc_type()
1434:  { }
1434: 
1434: 
1434:  _Bvector_impl(const _Bit_alloc_type& __a) noexcept
1434:  : _Bit_alloc_type(__a)
1434:  { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  _Bvector_impl(_Bvector_impl&& __x) noexcept
1434:  : _Bit_alloc_type(std::move(__x)), _Bvector_impl_data(std::move(__x))
1434:  { }
1434: 
1434: 
1434:  _Bvector_impl(_Bit_alloc_type&& __a, _Bvector_impl&& __x) noexcept
1434:  : _Bit_alloc_type(std::move(__a)), _Bvector_impl_data(std::move(__x))
1434:  { }
1434: 
1434: 
1434: 
1434:  _Bit_type*
1434:  _M_end_addr() const noexcept
1434:  {
1434:    if (this->_M_end_of_storage)
1434:      return std::__addressof(this->_M_end_of_storage[-1]) + 1;
1434:    return 0;
1434:  }
1434:       };
1434: 
1434:     public:
1434:       typedef _Alloc allocator_type;
1434: 
1434:      
1434:       _Bit_alloc_type&
1434:       _M_get_Bit_allocator() noexcept
1434:       { return this->_M_impl; }
1434: 
1434:      
1434:       const _Bit_alloc_type&
1434:       _M_get_Bit_allocator() const noexcept
1434:       { return this->_M_impl; }
1434: 
1434:      
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_get_Bit_allocator()); }
1434: 
1434: 
1434:       _Bvector_base() = default;
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       _Bvector_base(const allocator_type& __a)
1434:       : _M_impl(__a) { }
1434: 
1434: 
1434:       _Bvector_base(_Bvector_base&&) = default;
1434: 
1434:      
1434:       _Bvector_base(_Bvector_base&& __x, const allocator_type& __a) noexcept
1434:       : _M_impl(_Bit_alloc_type(__a), std::move(__x._M_impl))
1434:       { }
1434: 
1434: 
1434:      
1434:       ~_Bvector_base()
1434:       { this->_M_deallocate(); }
1434: 
1434:     protected:
1434:       _Bvector_impl _M_impl;
1434: 
1434:      
1434:       _Bit_pointer
1434:       _M_allocate(size_t __n)
1434:       {
1434:  _Bit_pointer __p = _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n));
1434: # 640 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:  return __p;
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_deallocate()
1434:       {
1434:  if (_M_impl._M_start._M_p)
1434:    {
1434:      const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p;
1434:      _Bit_alloc_traits::deallocate(_M_impl,
1434:        _M_impl._M_end_of_storage - __n,
1434:        __n);
1434:      _M_impl._M_reset();
1434:    }
1434:       }
1434: 
1434: 
1434:      
1434:       void
1434:       _M_move_data(_Bvector_base&& __x) noexcept
1434:       { _M_impl._M_move_data(std::move(__x._M_impl)); }
1434: 
1434: 
1434:       constexpr
1434:       static size_t
1434:       _S_nword(size_t __n)
1434:       { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
1434:     };
1434: # 689 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:   template<typename _Alloc>
1434:     class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
1434:     {
1434:       typedef _Bvector_base<_Alloc> _Base;
1434:       typedef typename _Base::_Bit_pointer _Bit_pointer;
1434:       typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits;
1434: 
1434: 
1434:       friend struct std::hash<vector>;
1434: 
1434: 
1434:     public:
1434:       typedef bool value_type;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef _Bit_reference reference;
1434:       typedef bool const_reference;
1434:       typedef _Bit_reference* pointer;
1434:       typedef const bool* const_pointer;
1434:       typedef _Bit_iterator iterator;
1434:       typedef _Bit_const_iterator const_iterator;
1434:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1434:       typedef std::reverse_iterator<iterator> reverse_iterator;
1434:       typedef _Alloc allocator_type;
1434: 
1434:      
1434:       allocator_type
1434:       get_allocator() const
1434:       { return _Base::get_allocator(); }
1434: 
1434:     protected:
1434:       using _Base::_M_allocate;
1434:       using _Base::_M_deallocate;
1434:       using _Base::_S_nword;
1434:       using _Base::_M_get_Bit_allocator;
1434: 
1434:     public:
1434: 
1434:       vector() = default;
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       explicit
1434:       vector(const allocator_type& __a)
1434:       : _Base(__a) { }
1434: 
1434: 
1434:      
1434:       explicit
1434:       vector(size_type __n, const allocator_type& __a = allocator_type())
1434:       : vector(__n, false, __a)
1434:       { }
1434: 
1434:      
1434:       vector(size_type __n, const bool& __value,
1434:       const allocator_type& __a = allocator_type())
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       : _Base(__a)
1434:       {
1434:  _M_initialize(__n);
1434:  _M_initialize_value(__value);
1434:       }
1434: 
1434:      
1434:       vector(const vector& __x)
1434:       : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator()))
1434:       {
1434:  _M_initialize(__x.size());
1434:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1434:       }
1434: 
1434: 
1434:       vector(vector&&) = default;
1434: 
1434:     private:
1434:      
1434:       vector(vector&& __x, const allocator_type& __a, true_type) noexcept
1434:       : _Base(std::move(__x), __a)
1434:       { }
1434: 
1434:      
1434:       vector(vector&& __x, const allocator_type& __a, false_type)
1434:       : _Base(__a)
1434:       {
1434:  if (__x.get_allocator() == __a)
1434:    this->_M_move_data(std::move(__x));
1434:  else
1434:    {
1434:      _M_initialize(__x.size());
1434:      _M_copy_aligned(__x.begin(), __x.end(), begin());
1434:      __x.clear();
1434:    }
1434:       }
1434: 
1434:     public:
1434:      
1434:       vector(vector&& __x, const __type_identity_t<allocator_type>& __a)
1434:       noexcept(_Bit_alloc_traits::_S_always_equal())
1434:       : vector(std::move(__x), __a,
1434:         typename _Bit_alloc_traits::is_always_equal{})
1434:       { }
1434: 
1434:      
1434:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1434:       : _Base(__a)
1434:       {
1434:  _M_initialize(__x.size());
1434:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1434:       }
1434: 
1434:      
1434:       vector(initializer_list<bool> __l,
1434:       const allocator_type& __a = allocator_type())
1434:       : _Base(__a)
1434:       {
1434:  _M_initialize_range(__l.begin(), __l.end(),
1434:        random_access_iterator_tag());
1434:       }
1434: 
1434: 
1434: 
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:  vector(_InputIterator __first, _InputIterator __last,
1434:         const allocator_type& __a = allocator_type())
1434:  : _Base(__a)
1434:  {
1434:    _M_initialize_range(__first, __last,
1434:            std::forward<_Args>(__args)...);
1115:      }
1115:    catch(...)
1115:      {
1115:        __node->~_Rb_tree_node<_Val>();
1115:        _M_put_node(__node);
1115:        throw;
1115:      }
1115:  }
1115: 
1115:       template<typename... _Args>
1115:  _Link_type
1115:  _M_create_node(_Args&&... __args)
1115:  {
1115:    _Link_type __tmp = _M_get_node();
1115:    _M_construct_node(__tmp, std::forward<_Args>(__args)...);
1115:    return __tmp;
1115:  }
1115: 
1115: 
1115:       void
1115:       _M_destroy_node(_Link_type __p) noexcept
1115:       {
1115: 
1115: 
1115: 
1115:  _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr());
1115:  __p->~_Rb_tree_node<_Val>();
1115: 
1115:       }
1115: 
1115:       void
1115:       _M_drop_node(_Link_type __p) noexcept
1115:       {
1115:  _M_destroy_node(__p);
1115:  _M_put_node(__p);
1115:       }
1115: 
1115:       template<bool _MoveValue, typename _NodeGen>
1115:  _Link_type
1115:  _M_clone_node(_Link_type __x, _NodeGen& __node_gen)
1115:  {
1115: 
1115:    using _Vp = __conditional_t<_MoveValue,
1115:           value_type&&,
1115:           const value_type&>;
1115: 
1115:    _Link_type __tmp
1115:      = __node_gen(std::forward<_Vp>(*__x->_M_valptr()));
1115:    __tmp->_M_color = __x->_M_color;
1115:    __tmp->_M_left = 0;
1115:    __tmp->_M_right = 0;
1115:    return __tmp;
1115:  }
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Key_compare,
1115:         bool = __is_pod(_Key_compare)>
1115: 
1115:  struct _Rb_tree_impl
1115:  : public _Node_allocator
1115:  , public _Rb_tree_key_compare<_Key_compare>
1115:  , public _Rb_tree_header
1115:  {
1115:    typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare;
1115: 
1115:    _Rb_tree_impl()
1115:      noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value)
1115: 
1115: 
1115:    : _Node_allocator()
1115:    { }
1115: 
1115:    _Rb_tree_impl(const _Rb_tree_impl& __x)
1115:    : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x))
1115:    , _Base_key_compare(__x._M_key_compare)
1115:    , _Rb_tree_header()
1115:    { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    _Rb_tree_impl(_Rb_tree_impl&&)
1115:      noexcept( is_nothrow_move_constructible<_Base_key_compare>::value )
1115:    = default;
1115: 
1115:    explicit
1115:    _Rb_tree_impl(_Node_allocator&& __a)
1115:    : _Node_allocator(std::move(__a))
1115:    { }
1115: 
1115:    _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a)
1115:    : _Node_allocator(std::move(__a)),
1115:      _Base_key_compare(std::move(__x)),
1115:      _Rb_tree_header(std::move(__x))
1115:    { }
1115: 
1115:    _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)
1115:    : _Node_allocator(std::move(__a)), _Base_key_compare(__comp)
1115:    { }
1115: 
1115:  };
1115: 
1115:       _Rb_tree_impl<_Compare> _M_impl;
1115: 
1115:     protected:
1115:       _Base_ptr&
1115:       _M_root() noexcept
1115:       { return this->_M_impl._M_header._M_parent; }
1115: 
1115:       _Const_Base_ptr
1115:       _M_root() const noexcept
1115:       { return this->_M_impl._M_header._M_parent; }
1115: 
1115:       _Base_ptr&
1115:       _M_leftmost() noexcept
1115:       { return this->_M_impl._M_header._M_left; }
1115: 
1115:       _Const_Base_ptr
1115:       _M_leftmost() const noexcept
1115:       { return this->_M_impl._M_header._M_left; }
1115: 
1115:       _Base_ptr&
1115:       _M_rightmost() noexcept
1115:       { return this->_M_impl._M_header._M_right; }
1115: 
1115:       _Const_Base_ptr
1115:       _M_rightmost() const noexcept
1115:       { return this->_M_impl._M_header._M_right; }
1115: 
1115:       _Link_type
1115:       _M_mbegin() const noexcept
1115:       { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
1115: 
1115:       _Link_type
1115:       _M_begin() noexcept
1115:       { return _M_mbegin(); }
1115: 
1115:       _Const_Link_type
1115:       _M_begin() const noexcept
1115:       {
1115:  return static_cast<_Con     std::__iterator_category(__first));
1434:  }
1434: # 838 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:      
1434:       ~vector() noexcept { }
1434: 
1434:      
1434:       vector&
1434:       operator=(const vector& __x)
1434:       {
1434:  if (&__x == this)
1434:    return *this;
1434: 
1434:  if (_Bit_alloc_traits::_S_propagate_on_copy_assign())
1434:    {
1434:      if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator())
1434:        {
1434:   this->_M_deallocate();
1434:   std::__alloc_on_copy(_M_get_Bit_allocator(),
1434:          __x._M_get_Bit_allocator());
1434:   _M_initialize(__x.size());
1434:        }
1434:      else
1434:        std::__alloc_on_copy(_M_get_Bit_allocator(),
1434:        __x._M_get_Bit_allocator());
1434:    }
1434: 
1434:  if (__x.size() > capacity())
1434:    {
1434:      this->_M_deallocate();
1434:      _M_initialize(__x.size());
1434:    }
1434:  this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1434:         begin());
1434:  return *this;
1434:       }
1434: 
1434: 
1434:      
1434:       vector&
1434:       operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
1434:       {
1434:  if (_Bit_alloc_traits::_S_propagate_on_move_assign()
1434:      || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator())
1434:    {
1434:      this->_M_deallocate();
1434:      this->_M_move_data(std::move(__x));
1434:      std::__alloc_on_move(_M_get_Bit_allocator(),
1434:      __x._M_get_Bit_allocator());
1434:    }
1434:  else
1434:    {
1434:      if (__x.size() > capacity())
1434:        {
1434:   this->_M_deallocate();
1434:   _M_initialize(__x.size());
1434:        }
1434:      this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1434:             begin());
1434:      __x.clear();
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:      
1434:       vector&
1434:       operator=(initializer_list<bool> __l)
1434:       {
1434:  this->assign(__l.begin(), __l.end());
1434:  return *this;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       void
1434:       assign(size_type __n, const bool& __x)
1434:       { _M_fill_assign(__n, __x); }
1434: 
1434: 
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:  void
1434:  assign(_InputIterator __first, _InputIterator __last)
1434:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1434: # 936 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:      
1434:       void
1434:       assign(initializer_list<bool> __l)
1434:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       begin() noexcept
1434:       { return iterator(this->_M_impl._M_start._M_p, 0); }
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       end() noexcept
1434:       { return this->_M_impl._M_finish; }
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       end() const noexcept
1434:       { return this->_M_impl._M_finish; }
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return reverse_iterator(end()); }
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return reverse_iterator(begin()); }
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1434: Ao4KK/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline void __attribute__((visibility("hidden"))) SetSettingInt(const std::string& settingName, int settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   CPrivateBase::m_interface->toKodi->kodi_addon->set_setting_int(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue);
1417: }
1417: # 1321 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline bool __attribute__((visibility("hidden"))) CheckSettingBoolean(const std::string& settingName, bool& settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   return CPrivateBase::m_interface->toKodi->kodi_addon->get_setting_bool(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue);
1417: }
1417: # 1349 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline bool __attribute__((visibility("hidden"))) GetSettingBoolean(const std::string& settingName,
1417:                                              bool defaultValue = false)
1417: {
1417:   bool settingValue = defaultValue;
1417:   CheckSettingBoolean(settingName, settingValue);
1417:   return settingValue;
1417: }
1417: # 1377 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline void __attribute__((visibility("hidden"))) SetSettingBoolean(const std::string& settingName, bool settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   CPrivateBase::m_interface->toKodi->kodi_addon->set_setting_bool(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue);
1417: }
1417: # 1409 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline bool __attribute__((visibility("hidden"))) CheckSettingFloat(const std::string& settingName, float& settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   return CPrivateBase::m_interface->toKodi->kodi_addon->get_setting_float(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue);
1417: }
1417: # 1437 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline float __attribute__((visibility("hidden"))) GetSettingFloat(const std::string& settingName,
1417:                                             float defaultValue = 0.0f)
1417: {
1417:   float settingValue = defaultValue;
1417:   CheckSettingFloat(settingName, settingValue);
1417:   return settingValue;
1417: }
1417: # 1465 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline void __attribute__((visibility("hidden"))) SetSettingFloat(const std::string& settingName, float settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   CPrivateBase::m_interface->toKodi->kodi_addon->set_setting_float(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue);
1417: }
1417: # 1505 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: template<typename enumType>
1417: inline bool __attribute__((visibility("hidden"))) CheckSettingEnum(const std::string& settingName, enumType& settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   int settingValueInt = static_cast<int>(settingValue);
1417:   bool ret = CPrivateBase::m_interface->toKodi->kodi_addon->get_setting_int(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValueInt);
1417:   if (ret)
1417:     settingValue = static_cast<enumType>(settingValueInt);
1417:   return ret;
1417: }
1417: # 1547 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: template<typename enumType>
1417: inline enumType __attribute__((visibility
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return this->_M_impl._M_finish; }
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       size() const noexcept
1434:       { return size_type(end() - begin()); }
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       max_size() const noexcept
1434:       {
1434:  const size_type __isize =
1434:    __gnu_cxx::__numeric_traits<difference_type>::__max
1434:    - int(_S_word_bit) + 1;
1434:  const size_type __asize
1434:    = _Bit_alloc_traits::max_size(_M_get_Bit_allocator());
1434:  return (__asize <= __isize / int(_S_word_bit)
1434:   ? __asize * int(_S_word_bit) : __isize);
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       capacity() const noexcept
1434:       { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0)
1434:     - begin()); }
1434: 
1434:       [[__nodiscard__]]
1434:       bool
1434:       empty() const noexcept
1434:       { return begin() == end(); }
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       operator[](size_type __n)
1434:       { return begin()[__n]; }
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       operator[](size_type __n) const
1434:       { return begin()[__n]; }
1434: 
1434:     protected:
1434:      
1434:       void
1434:       _M_range_check(size_type __n) const
1434:       {
1434:  if (__n >= this->size())
1434:    __throw_out_of_range_fmt(("vector<bool>::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1434: 
1434:                             ,
1434:        __n, this->size());
1434:       }
1434: 
1434:     public:
1434:      
1434:       reference
1434:       at(size_type __n)
1434:       {
1434:  _M_range_check(__n);
1434:  return (*this)[__n];
1434:       }
1434: 
1434:      
1434:       const_reference
1434:       at(size_type __n) const
1434:       {
1434:  _M_range_check(__n);
1434:  return (*this)[__n];
1434:       }
1434: 
1434:      
1434:       void
1434:       reserve(size_type __n)
1434:       {
1434:  if (__n > max_size())
1434:    __throw_length_error(("vector::reserve"));
1434:  if (capacity() < __n)
1434:    _M_reallocate(__n);
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       front()
1434:       { return *begin(); }
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       front() const
1434:       { return *begin(); }
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       back()
1434:       { return *(end() - 1); }
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       back() const
1434:       { return *(end() - 1); }
1434: 
1434:      
1434:       void
1434:       push_back(bool __x)
1434:       {
1434:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1434:    *this->_M_impl._M_finish++ = __x;
1434:  else
1434:    _M_insert_aux(end(), __x);
1434:       }
1434: 
1434:      
1434:       void
1434:       swap(vector& __x) noexcept
1434:       {
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(_Bit_alloc_traits::propagate_on_container_swap::value || _M_get_Bit_allocator() == __x._M_get_Bit_allocator())) __builtin_unreachable(); } while (false)
1434:                                                             ;
1434: 
1434:  this->_M_impl._M_swap_data(__x._M_impl);
1434:  _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(),
1434:           __x._M_get_Bit_allocator());
1434:       }
1434: 
1434: 
1434:      
1434:       static void
1434:       swap(reference __x, reference __y) noexcept
1434:       {
1434:  bool __tmp = __x;
1434:  __x = __y;
1434:  __y = __tmp;
1434:     st_Link_type>
1115:    (this->_M_impl._M_header._M_parent);
1115:       }
1115: 
1115:       _Base_ptr
1115:       _M_end() noexcept
1115:       { return &this->_M_impl._M_header; }
1115: 
1115:       _Const_Base_ptr
1115:       _M_end() const noexcept
1115:       { return &this->_M_impl._M_header; }
1115: 
1115:       static const _Key&
1115:       _S_key(_Const_Link_type __x)
1115:       {
1115: 
1115: 
1115: 
1115:  static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
1115:         "comparison object must be invocable "
1115:         "with two arguments of key type");
1115: 
1115: 
1115: 
1115:  if constexpr (__is_invocable<_Compare&, const _Key&, const _Key&>{})
1115:    static_assert(
1115:        is_invocable_v<const _Compare&, const _Key&, const _Key&>,
1115:        "comparison object must be invocable as const");
1115: 
1115: 
1115: 
1115:  return _KeyOfValue()(*__x->_M_valptr());
1115:       }
1115: 
1115:       static _Link_type
1115:       _S_left(_Base_ptr __x) noexcept
1115:       { return static_cast<_Link_type>(__x->_M_left); }
1115: 
1115:       static _Const_Link_type
1115:       _S_left(_Const_Base_ptr __x) noexcept
1115:       { return static_cast<_Const_Link_type>(__x->_M_left); }
1115: 
1115:       static _Link_type
1115:       _S_right(_Base_ptr __x) noexcept
1115:       { return static_cast<_Link_type>(__x->_M_right); }
1115: 
1115:       static _Const_Link_type
1115:       _S_right(_Const_Base_ptr __x) noexcept
1115:       { return static_cast<_Const_Link_type>(__x->_M_right); }
1115: 
1115:       static const _Key&
1115:       _S_key(_Const_Base_ptr __x)
1115:       { return _S_key(static_cast<_Const_Link_type>(__x)); }
1115: 
1115:       static _Base_ptr
1115:       _S_minimum(_Base_ptr __x) noexcept
1115:       { return _Rb_tree_node_base::_S_minimum(__x); }
1115: 
1115:       static _Const_Base_ptr
1115:       _S_minimum(_Const_Base_ptr __x) noexcept
1115:       { return _Rb_tree_node_base::_S_minimum(__x); }
1115: 
1115:       static _Base_ptr
1115:       _S_maximum(_Base_ptr __x) noexcept
1115:       { return _Rb_tree_node_base::_S_maximum(__x); }
1115: 
1115:       static _Const_Base_ptr
1115:       _S_maximum(_Const_Base_ptr __x) noexcept
1115:       { return _Rb_tree_node_base::_S_maximum(__x); }
1115: 
1115:     public:
1115:       typedef _Rb_tree_iterator<value_type> iterator;
1115:       typedef _Rb_tree_const_iterator<value_type> const_iterator;
1115: 
1115:       typedef std::reverse_iterator<iterator> reverse_iterator;
1115:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1115: 
1115: 
1115:       using node_type = _Node_handle<_Key, _Val, _Node_allocator>;
1115:       using insert_return_type = _Node_insert_return<
1115:  __conditional_t<is_same_v<_Key, _Val>, const_iterator, iterator>,
1115:  node_type>;
1115: 
1115: 
1115:       pair<_Base_ptr, _Base_ptr>
1115:       _M_get_insert_unique_pos(const key_type& __k);
1115: 
1115:       pair<_Base_ptr, _Base_ptr>
1115:       _M_get_insert_equal_pos(const key_type& __k);
1115: 
1115:       pair<_Base_ptr, _Base_ptr>
1115:       _M_get_insert_hint_unique_pos(const_iterator __pos,
1115:         const key_type& __k);
1115: 
1115:       pair<_Base_ptr, _Base_ptr>
1115:       _M_get_insert_hint_equal_pos(const_iterator __pos,
1115:        const key_type& __k);
1115: 
1115:     private:
1115: 
1115:       template<typename _Arg, typename _NodeGen>
1115:  iterator
1115:  _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
1115: 
1115:       iterator
1115:       _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z);
1115: 
1115:       template<typename _Arg>
1115:  iterator
1115:  _M_insert_lower(_Base_ptr __y, _Arg&& __v);
1115: 
1115:       template<typename _Arg>
1115:  iterator
1115:  _M_insert_equal_lower(_Arg&& __x);
1115: 
1115:       iterator
1115:       _M_insert_lower_node(_Base_ptr __p, _Link_type __z);
1115: 
1115:       iterator
1115:       _M_insert_equal_lower_node(_Link_type __z);
1115: # 879 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:       enum { __as_lvalue,   }
1434: 
1434:      
1434:       iterator
1434: 
1434:       insert(const_iterator __position, const bool& __x)
1434: 
1434: 
1434: 
1434:       {
1434:  const difference_type __n = __position - begin();
1434:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()
1434:      && __position == end())
1434:    *this->_M_impl._M_finish++ = __x;
1434:  else
1434:    _M_insert_aux(__position._M_const_cast(), __x);
1434:  return begin() + __n;
1434:       }
1434: 
1434: 
1434:       __attribute__ ((__deprecated__ ("use '" "insert(position, false)" "' instead")))
1434:       iterator
1434:       insert(const_iterator __position)
1434:       { return this->insert(__position._M_const_cast(), false); }
1434: 
1434: 
1434: 
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434: 
1434:  iterator
1434:  insert(const_iterator __position,
1434:         _InputIterator __first, _InputIterator __last)
1434:  {
1434:    difference_type __offset = __position - cbegin();
1434:    _M_insert_range(__position._M_const_cast(),
1434:      __first, __last,
1434:      std::__iterator_category(__first));
1434:    return begin() + __offset;
1434:  }
1434: # 1186 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:      
1434:       iterator
1434:       insert(const_iterator __position, size_type __n, const bool& __x)
1434:       {
1434:  difference_type __offset = __position - cbegin();
1434:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1434:  return begin() + __offset;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      
1434:       iterator
1434:       insert(const_iterator __p, initializer_list<bool> __l)
1434:       { return this->insert(__p, __l.begin(), __l.end()); }
1434: 
1434: 
1434:      
1434:       void
1434:       pop_back()
1434:       { --this->_M_impl._M_finish; }
1434: 
1434:      
1434:       iterator
1434: 
1434:       erase(const_iterator __position)
1434: 
1434: 
1434: 
1434:       { return _M_erase(__position._M_const_cast()); }
1434: 
1434:      
1434:       iterator
1434: 
1434:       erase(const_iterator __first, const_iterator __last)
1434: 
1434: 
1434: 
1434:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1434: 
1434:      
1434:       void
1434:       resize(size_type __new_size, bool __x = bool())
1434:       {
1434:  if (__new_size < size())
1434:    _M_erase_at_end(begin() + difference_type(__new_size));
1434:  else
1434:    insert(end(), __new_size - size(), __x);
1434:       }
1434: 
1434: 
1434:      
1434:       void
1434:       shrink_to_fit()
1434:       { _M_shrink_to_fit(); }
1434: 
1434: 
1434:      
1434:       void
1434:       flip() noexcept
1434:       {
1434:  _Bit_type * const __end = this->_M_impl._M_end_addr();
1434:  for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p)
1434:    *__p = ~*__p;
1434:       }
1434: 
1434:      
1434:       void
1434:       clear() noexcept
1434:       { _M_erase_at_end(begin()); }
1434: 
1434: 
1434:       template<typename... _Args>
1434: 
1434: 
1434:  reference
1434: 
1434: 
1434: 
1434:  emplace_back(_Args&&... __args)
1434:  {
1434:    push_back(bool(__args...));
1434: 
1434:    return back();
1434: 
1434:  }
1434: 
1434:       template<typename... _Args>
1434: 
1434:  iterator
1434:  emplace(const_iterator __pos, _Args&&... __args)
1434:  { return insert(__pos, bool(__args...)); }
1434: 
1434: 
1434:     protected:
1434: 
1434:      
1434:       iterator
1434:       _M_copy_aligned(const_iterator __first, const_iterator __last,
1434:         iterator __result)
1434:       {
1434:  _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
1434:  return std::copy(const_iterator(__last._M_p, 0), __last,
1434:     iterator(__q, 0));
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_initialize(size_type __n)
1434:       {
1434:  if (__n)
1434:    {
1434:      _Bit_pointer __q = this->_M_allocate(__n);
1434:      this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1434:      iterator __start = i("hidden"))) GetSettingEnum(const std::string& settingName,
1417:                                               enumType defaultValue = static_cast<enumType>(0))
1417: {
1417:   enumType settingValue = defaultValue;
1417:   CheckSettingEnum(settingName, settingValue);
1417:   return settingValue;
1417: }
1417: # 1585 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: template<typename enumType>
1417: inline void __attribute__((visibility("hidden"))) SetSettingEnum(const std::string& settingName, enumType settingValue)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   CPrivateBase::m_interface->toKodi->kodi_addon->set_setting_int(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, settingName.c_str(),
1417:       static_cast<int>(settingValue));
1417: }
1417: # 1624 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetAddonInfo(const std::string& id)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   AddonToKodiFuncTable_Addon* toKodi = CPrivateBase::m_interface->toKodi;
1417: 
1417:   std::string strReturn;
1417:   char* strMsg = toKodi->kodi_addon->get_addon_info(toKodi->kodiBase, id.c_str());
1417:   if (strMsg != nullptr)
1417:   {
1417:     if (std::strlen(strMsg))
1417:       strReturn = strMsg;
1417:     toKodi->free_string(toKodi->kodiBase, strMsg);
1417:   }
1417:   return strReturn;
1417: }
1417: # 1660 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline void* GetInterface(const std::string& name, const std::string& version)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   AddonToKodiFuncTable_Addon* toKodi = CPrivateBase::m_interface->toKodi;
1417: 
1417:   return toKodi->kodi_addon->get_interface(toKodi->kodiBase, name.c_str(), version.c_str());
1417: }
1417: # 1680 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) GetKodiTypeVersion(int type)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   char* str = CPrivateBase::m_interface->toKodi->kodi_addon->get_type_version(
1417:       CPrivateBase::m_interface->toKodi->kodiBase, type);
1417:   std::string ret = str;
1417:   CPrivateBase::m_interface->toKodi->free_string(CPrivateBase::m_interface->toKodi->kodiBase, str);
1417:   return ret;
1417: }
1417: # 1699 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline std::string __attribute__((visibility("hidden"))) TranslateAddonStatus(ADDON_STATUS status)
1417: {
1417:   switch (status)
1417:   {
1417:     case ADDON_STATUS_OK:
1417:       return "OK";
1417:     case ADDON_STATUS_LOST_CONNECTION:
1417:       return "Lost Connection";
1417:     case ADDON_STATUS_NEED_RESTART:
1417:       return "Need Restart";
1417:     case ADDON_STATUS_NEED_SETTINGS:
1417:       return "Need Settings";
1417:     case ADDON_STATUS_UNKNOWN:
1417:       return "Unknown error";
1417:     case ADDON_STATUS_PERMANENT_FAILURE:
1417:       return "Permanent failure";
1417:     case ADDON_STATUS_NOT_IMPLEMENTED:
1417:       return "Not implemented";
1417:     default:
1417:       break;
1417:   }
1417:   return "Unknown";
1417: }
1417: 
1417: 
1417: }
1417: # 1749 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417: inline void __attribute__((visibility("hidden"))) Log(const ADDON_LOG loglevel, const char* format, ...)
1417: {
1417:   using namespace kodi::addon;
1417: 
1417:   va_list args;
1417:   
1417: # 1754 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:  __builtin_va_start(
1417: # 1754 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:  args
1417: # 1754 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addterator(std::__addressof(*__q), 0);
1434:      this->_M_impl._M_start = __start;
1434:      this->_M_impl._M_finish = __start + difference_type(__n);
1434:    }
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_initialize_value(bool __x) noexcept
1434:       {
1434:  if (_Bit_type* __p = this->_M_impl._M_start._M_p)
1434:    __fill_bvector_n(__p, this->_M_impl._M_end_addr() - __p, __x);
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_reallocate(size_type __n);
1434: 
1434: 
1434:      
1434:       bool
1434:       _M_shrink_to_fit();
1434: # 1347 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_initialize_range(_InputIterator __first, _InputIterator __last,
1434:        std::input_iterator_tag)
1434:  {
1434:    for (; __first != __last; ++__first)
1434:      push_back(*__first);
1434:  }
1434: 
1434:       template<typename _ForwardIterator>
1434: 
1434:  void
1434:  _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
1434:        std::forward_iterator_tag)
1434:  {
1434:    const size_type __n = std::distance(__first, __last);
1434:    _M_initialize(__n);
1434:    std::copy(__first, __last, begin());
1434:  }
1434: # 1383 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:      
1434:       void
1434:       _M_fill_assign(size_t __n, bool __x)
1434:       {
1434:  if (__n > size())
1434:    {
1434:      _M_initialize_value(__x);
1434:      insert(end(), __n - size(), __x);
1434:    }
1434:  else
1434:    {
1434:      _M_erase_at_end(begin() + __n);
1434:      _M_initialize_value(__x);
1434:    }
1434:       }
1434: 
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1434:         std::input_iterator_tag)
1434:  {
1434:    iterator __cur = begin();
1434:    for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1434:      *__cur = *__first;
1434:    if (__first == __last)
1434:      _M_erase_at_end(__cur);
1434:    else
1434:      insert(end(), __first, __last);
1434:  }
1434: 
1434:       template<typename _ForwardIterator>
1434: 
1434:  void
1434:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1434:         std::forward_iterator_tag)
1434:  {
1434:    const size_type __len = std::distance(__first, __last);
1434:    if (__len < size())
1434:      _M_erase_at_end(std::copy(__first, __last, begin()));
1434:    else
1434:      {
1434:        _ForwardIterator __mid = __first;
1434:        std::advance(__mid, size());
1434:        std::copy(__first, __mid, begin());
1434:        insert(end(), __mid, __last);
1434:      }
1434:  }
1434: # 1450 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:      
1434:       void
1434:       _M_fill_insert(iterator __position, size_type __n, bool __x);
1434: 
1434:       template<typename _InputIterator>
1434: 
1434:  void
1434:  _M_insert_range(iterator __pos, _InputIterator __first,
1434:    _InputIterator __last, std::input_iterator_tag)
1434:  {
1434:    for (; __first != __last; ++__first)
1434:      {
1434:        __pos = insert(__pos, *__first);
1434:        ++__pos;
1434:      }
1434:  }
1434: 
1434:       template<typename _ForwardIterator>
1434: 
1434:  void
1434:  _M_insert_range(iterator __position, _ForwardIterator __first,
1434:    _ForwardIterator __last, std::forward_iterator_tag);
1434: 
1434:      
1434:       void
1434:       _M_insert_aux(iterator __position, bool __x);
1434: 
1434:      
1434:       size_type
1434:       _M_check_len(size_type __n, const char* __s) const
1434:       {
1434:  if (max_size() - size() < __n)
1434:    __throw_length_error((__s));
1434: 
1434:  const size_type __len = size() + std::max(size(), __n);
1434:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1434:       }
1434: 
1434:      
1434:       void
1434:       _M_erase_at_end(iterator __pos)
1434:       { this->_M_impl._M_finish = __pos; }
1434: 
1434:      
1434:       iterator
1434:       _M_erase(iterator __pos);
1434: 
1434:      
1434__as_rvalue };
1115: 
1115:       template<bool _MoveValues, typename _NodeGen>
1115:  _Link_type
1115:  _M_copy(_Link_type, _Base_ptr, _NodeGen&);
1115: 
1115:       template<bool _MoveValues, typename _NodeGen>
1115:  _Link_type
1115:  _M_copy(const _Rb_tree& __x, _NodeGen& __gen)
1115:  {
1115:    _Link_type __root =
1115:      _M_copy<_MoveValues>(__x._M_mbegin(), _M_end(), __gen);
1115:    _M_leftmost() = _S_minimum(__root);
1115:    _M_rightmost() = _S_maximum(__root);
1115:    _M_impl._M_node_count = __x._M_impl._M_node_count;
1115:    return __root;
1115:  }
1115: 
1115:       _Link_type
1115:       _M_copy(const _Rb_tree& __x)
1115:       {
1115:  _Alloc_node __an(*this);
1115:  return _M_copy<__as_lvalue>(__x, __an);
1115:       }
1115: 
1115:       void
1115:       _M_erase(_Link_type __x);
1115: 
1115:       iterator
1115:       _M_lower_bound(_Link_type __x, _Base_ptr __y,
1115:        const _Key& __k);
1115: 
1115:       const_iterator
1115:       _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1115:        const _Key& __k) const;
1115: 
1115:       iterator
1115:       _M_upper_bound(_Link_type __x, _Base_ptr __y,
1115:        const _Key& __k);
1115: 
1115:       const_iterator
1115:       _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1115:        const _Key& __k) const;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115:       _Rb_tree() = default;
1115: 
1115: 
1115:       _Rb_tree(const _Compare& __comp,
1115:         const allocator_type& __a = allocator_type())
1115:       : _M_impl(__comp, _Node_allocator(__a)) { }
1115: 
1115:       _Rb_tree(const _Rb_tree& __x)
1115:       : _M_impl(__x._M_impl)
1115:       {
1115:  if (__x._M_root() != 0)
1115:    _M_root() = _M_copy(__x);
1115:       }
1115: 
1115: 
1115:       _Rb_tree(const allocator_type& __a)
1115:       : _M_impl(_Node_allocator(__a))
1115:       { }
1115: 
1115:       _Rb_tree(const _Rb_tree& __x, const allocator_type& __a)
1115:       : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a))
1115:       {
1115:  if (__x._M_root() != nullptr)
1115:    _M_root() = _M_copy(__x);
1115:       }
1115: 
1115:       _Rb_tree(_Rb_tree&&) = default;
1115: 
1115:       _Rb_tree(_Rb_tree&& __x, const allocator_type& __a)
1115:       : _Rb_tree(std::move(__x), _Node_allocator(__a))
1115:       { }
1115: 
1115:     private:
1115:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type)
1115:       noexcept(is_nothrow_default_constructible<_Compare>::value)
1115:       : _M_impl(std::move(__x._M_impl), std::move(__a))
1115:       { }
1115: 
1115:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type)
1115:       : _M_impl(__x._M_impl._M_key_compare, std::move(__a))
1115:       {
1115:  if (__x._M_root() != nullptr)
1115:    _M_move_data(__x, false_type{});
1115:       }
1115: 
1115:     public:
1115:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)
1115:       noexcept( noexcept(
1115:  _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(),
1115:    std::declval<typename _Alloc_traits::is_always_equal>())) )
1115:       : _Rb_tree(std::move(__x), std::move(__a),
1115:    typename _Alloc_traits::is_always_equal{})
1115:       { }
1115: 
1115: 
1115:       ~_Rb_tree() noexcept
1115:       { _M_erase(_M_begin()); }
1115: 
1115:       _Rb_tree&
1115:       operator=(const _Rb_tree& __x);
1115: 
1115: 
1115:       _Compare
1115:       key_comp() const
1115:       { return _M_impl._M_key_compare; }
1115: 
1115:       iterator
1115:       begin() noexcept
1115:       { return iterator(this->_M_impl._M_header._M_left); }
1115: 
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return const_iterator(this->_M_impl._M_header._M_left); }
1115: 
1115:       iterator
1115:       end() noexcept
1115:       { return iterator(&this->_M_impl._M_header); }
1115: 
1115:       const_iterator
1115:       end() const noexcept
1115:       { return const_iterator(&this->_M_impl._M_header); }
1115: 
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return rever:       iterator
1434:       _M_erase(iterator __first, iterator __last);
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void data() = delete;
1434: 
1434: 
1434: 
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:  
1434:   inline void
1434:   __fill_bvector(_Bit_type* __v, unsigned int __first, unsigned int __last,
1434:    bool __x) noexcept
1434:   {
1434:     const _Bit_type __fmask = ~0ul << __first;
1434:     const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last);
1434:     const _Bit_type __mask = __fmask & __lmask;
1434: 
1434:     if (__x)
1434:       *__v |= __mask;
1434:     else
1434:       *__v &= ~__mask;
1434:   }
1434: 
1434: 
1434:   __attribute__((__nonnull__))
1434:  
1434:   inline void
1434:   __fill_bvector_n(_Bit_type* __p, size_t __n, bool __x) noexcept
1434:   {
1434: # 1546 "/usr/include/c++/12/bits/stl_bvector.h" 3
1434:     __builtin_memset(__p, __x ? ~0 : 0, __n * sizeof(_Bit_type));
1434:   }
1434: 
1434: 
1434:  
1434:   inline void
1434:   __fill_a1(std::_Bit_iterator __first,
1434:      std::_Bit_iterator __last, const bool& __x)
1434:   {
1434:     if (__first._M_p != __last._M_p)
1434:       {
1434:  _Bit_type* __first_p = __first._M_p;
1434:  if (__first._M_offset != 0)
1434:    __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x);
1434: 
1434:  __fill_bvector_n(__first_p, __last._M_p - __first_p, __x);
1434: 
1434:  if (__last._M_offset != 0)
1434:    __fill_bvector(__last._M_p, 0, __last._M_offset, __x);
1434:       }
1434:     else if (__first._M_offset != __last._M_offset)
1434:       __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x);
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Alloc>
1434:     struct hash<std::vector<bool, _Alloc>>
1434:     : public __hash_base<size_t, std::vector<bool, _Alloc>>
1434:     {
1434:       size_t
1434:       operator()(const std::vector<bool, _Alloc>&) const noexcept;
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 66 "/usr/include/c++/12/vector" 2 3
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/vector.tcc" 1 3
1434: # 59 "/usr/include/c++/12/bits/vector.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     void
1434:     vector<_Tp, _Alloc>::
1434:     reserve(size_type __n)
1434:     {
1434:       if (__n > this->max_size())
1434:  __throw_length_error(("vector::reserve"));
1434:       if (this->capacity() < __n)
1434:  {
1434:    const size_type __old_size = size();
1434:    pointer __tmp;
1434: 
1434:    if constexpr (_S_use_relocate())
1434:      {
1434:        __tmp = this->_M_allocate(__n);
1434:        _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:      __tmp, _M_get_Tp_allocator());
1434:      }
1434:    else
1434: 
1434:      {
1434:        __tmp = _M_allocate_and_copy(__n,
1434:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_start),
1434:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish));
1434:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:        _M_get_Tp_allocator());
1434:      }
1434:    ;
1434:    _M_deallocate(this->_M_impl._M_start,
1434:    this->_M_impl._M_end_of_storage
1434:    - this->_M_impl._M_start);
1434:    this->_M_impl._M_start = __tmp;
1434:    this->_M_impl._M_finish = __tmp + __old_size;
1434:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename... _Args>
1434: 
1434:      
1434:       typename vector<_Tp, _Alloc>::reference
1434: 
1434: 
1434: 
1434:       vector<_Tp, _Alloc>::
1434:       emplace_back(_Args&&... __args)
1434:       {
1434:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1434:    {
1434:      ;
1434:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1434:          std::forward<_Args>(__args)...);
1434:      ++this->_M_impl._M_finish;
1434:      ;
1ons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:  ,
1417: # 1754 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:  format
1417: # 1754 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:  )
1417: # 1754 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:                        ;
1417:   const std::string str = kodi::tools::StringUtils::FormatV(format, args);
1417:   
1417: # 1756 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:  __builtin_va_end(
1417: # 1756 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:  args
1417: # 1756 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h" 3 4
1417:  )
1417: # 1756 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../AddonBase.h"
1417:              ;
1417:   CPrivateBase::m_interface->toKodi->addon_log_msg(CPrivateBase::m_interface->toKodi->kodiBase,
1417:                                                    loglevel, str.c_str());
1417: }
1417: 
1417: 
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../c-api/addon-instance/visualization.h" 1
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../c-api/addon-instance/visualization.h"
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../c-api/addon-instance/../addon_base.h" 1
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../c-api/addon-instance/visualization.h" 2
1417: 
1417: 
1417: extern "C"
1417: {
1417: 
1417: 
1417:   typedef KODI_ADDON_INSTANCE_HDL KODI_ADDON_VISUALIZATION_HDL;
1417: 
1417:   struct KODI_ADDON_VISUALIZATION_TRACK
1417:   {
1417:     const char* title;
1417:     const char* artist;
1417:     const char* album;
1417:     const char* albumArtist;
1417:     const char* genre;
1417:     const char* comment;
1417:     const char* lyrics;
1417: 
1417:     const char* reserved1;
1417:     const char* reserved2;
1417: 
1417:     int trackNumber;
1417:     int discNumber;
1417:     int duration;
1417:     int year;
1417:     int rating;
1417: 
1417:     int reserved3;
1417:     int reserved4;
1417:   };
1417: 
1417:   struct KODI_ADDON_VISUALIZATION_PROPS
1417:   {
1417:     ADDON_HARDWARE_CONTEXT device;
1417:     int x;
1417:     int y;
1417:     int width;
1417:     int height;
1417:     float pixelRatio;
1417:   };
1417: 
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_START_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl,
1417:       int channels,
1417:       int samples_per_sec,
1417:       int bits_per_sample,
1417:       const char* song_name);
1417:   typedef void(* PFN_KODI_ADDON_VISUALIZATION_STOP_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417: 
1417:   typedef int(* PFN_KODI_ADDON_VISUALIZATION_GET_SYNC_DELAY_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417: 
1417:   typedef void(* PFN_KODI_ADDON_VISUALIZATION_AUDIO_DATA_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl, const float* audio_data, size_t audio_data_length);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_IS_DIRTY_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417:   typedef void(* PFN_KODI_ADDON_VISUALIZATION_RENDER_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417: 
1417:   typedef unsigned int(* PFN_KODI_ADDON_VISUALIZATION_GET_PRESETS_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417:   typedef int(* PFN_KODI_ADDON_VISUALIZATION_GET_ACTIVE_PRESET_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417:   typedef bool(* P434:    }
1434:  else
1434:    _M_realloc_insert(end(), std::forward<_Args>(__args)...);
1434: 
1434:  return back();
1434: 
1434:       }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     typename vector<_Tp, _Alloc>::iterator
1434:     vector<_Tp, _Alloc>::
1434: 
1434:     insert(const_iterator __position, const value_type& __x)
1434: 
1434: 
1434: 
1434:     {
1434:       const size_type __n = __position - begin();
1434:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1434:  if (__position == end())
1434:    {
1434:      ;
1434:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1434:          __x);
1434:      ++this->_M_impl._M_finish;
1434:      ;
1434:    }
1434:  else
1434:    {
1434: 
1434:      const auto __pos = begin() + (__position - cbegin());
1434: 
1434: 
1434:      _Temporary_value __x_copy(this, __x);
1434:      _M_insert_aux(__pos, std::move(__x_copy._M_val()));
1434: 
1434: 
1434: 
1434:    }
1434:       else
1434: 
1434:  _M_realloc_insert(begin() + (__position - cbegin()), __x);
1434: 
1434: 
1434: 
1434: 
1434:       return iterator(this->_M_impl._M_start + __n);
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     typename vector<_Tp, _Alloc>::iterator
1434:     vector<_Tp, _Alloc>::
1434:     _M_erase(iterator __position)
1434:     {
1434:       if (__position + 1 != end())
1434:  std::move(__position + 1, end(), __position);
1434:       --this->_M_impl._M_finish;
1434:       _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1434:       ;
1434:       return __position;
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     typename vector<_Tp, _Alloc>::iterator
1434:     vector<_Tp, _Alloc>::
1434:     _M_erase(iterator __first, iterator __last)
1434:     {
1434:       if (__first != __last)
1434:  {
1434:    if (__last != end())
1434:      std::move(__last, end(), __first);
1434:    _M_erase_at_end(__first.base() + (end() - __last));
1434:  }
1434:       return __first;
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     vector<_Tp, _Alloc>&
1434:     vector<_Tp, _Alloc>::
1434:     operator=(const vector<_Tp, _Alloc>& __x)
1434:     {
1434:       if (std::__addressof(__x) != this)
1434:  {
1434:    ;
1434: 
1434:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1434:      {
1434:        if (!_Alloc_traits::_S_always_equal()
1434:            && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1434:          {
1434: 
1434:     this->clear();
1434:     _M_deallocate(this->_M_impl._M_start,
1434:     this->_M_impl._M_end_of_storage
1434:     - this->_M_impl._M_start);
1434:     this->_M_impl._M_start = nullptr;
1434:     this->_M_impl._M_finish = nullptr;
1434:     this->_M_impl._M_end_of_storage = nullptr;
1434:   }
1434:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1434:        __x._M_get_Tp_allocator());
1434:      }
1434: 
1434:    const size_type __xlen = __x.size();
1434:    if (__xlen > capacity())
1434:      {
1434:        pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
1434:          __x.end());
1434:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:        _M_get_Tp_allocator());
1434:        _M_deallocate(this->_M_impl._M_start,
1434:        this->_M_impl._M_end_of_storage
1434:        - this->_M_impl._M_start);
1434:        this->_M_impl._M_start = __tmp;
1434:        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
1434:      }
1434:    else if (size() >= __xlen)
1434:      {
1434:        std::_Destroy(std::copy(__x.begin(), __x.end(), begin()),
1434:        end(), _M_get_Tp_allocator());
1434:      }
1434:    else
1434:      {
1434:        std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
1434:    this->_M_impl._M_start);
1434:        std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
1434:        __x._M_impl._M_finish,
1434:        this->_M_impl._M_finish,
1434:        _M_get_Tp_allocator());
1434:      }
1434:  se_iterator(end()); }
1115: 
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115:       reverse_iterator
1115:       rend() noexcept
1115:       { return reverse_iterator(begin()); }
1115: 
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return _M_impl._M_node_count == 0; }
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_impl._M_node_count; }
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _Alloc_traits::max_size(_M_get_Node_allocator()); }
1115: 
1115:       void
1115:       swap(_Rb_tree& __t)
1115:       noexcept(__is_nothrow_swappable<_Compare>::value);
1115: 
1115: 
1115: 
1115:       template<typename _Arg>
1115:  pair<iterator, bool>
1115:  _M_insert_unique(_Arg&& __x);
1115: 
1115:       template<typename _Arg>
1115:  iterator
1115:  _M_insert_equal(_Arg&& __x);
1115: 
1115:       template<typename _Arg, typename _NodeGen>
1115:  iterator
1115:  _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1115: 
1115:       template<typename _Arg>
1115:  iterator
1115:  _M_insert_unique_(const_iterator __pos, _Arg&& __x)
1115:  {
1115:    _Alloc_node __an(*this);
1115:    return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
1115:  }
1115: 
1115:       template<typename _Arg, typename _NodeGen>
1115:  iterator
1115:  _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1115: 
1115:       template<typename _Arg>
1115:  iterator
1115:  _M_insert_equal_(const_iterator __pos, _Arg&& __x)
1115:  {
1115:    _Alloc_node __an(*this);
1115:    return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an);
1115:  }
1115: 
1115:       template<typename... _Args>
1115:  pair<iterator, bool>
1115:  _M_emplace_unique(_Args&&... __args);
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  _M_emplace_equal(_Args&&... __args);
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args);
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args);
1115: 
1115:       template<typename _Iter>
1115:  using __same_value_type
1115:    = is_same<value_type, typename iterator_traits<_Iter>::value_type>;
1115: 
1115:       template<typename _InputIterator>
1115:  __enable_if_t<__same_value_type<_InputIterator>::value>
1115:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1115:  {
1115:    _Alloc_node __an(*this);
1115:    for (; __first != __last; ++__first)
1115:      _M_insert_unique_(end(), *__first, __an);
1115:  }
1115: 
1115:       template<typename _InputIterator>
1115:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1115:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
1115:  {
1115:    for (; __first != __last; ++__first)
1115:      _M_emplace_unique(*__first);
1115:  }
1115: 
1115:       template<typename _InputIterator>
1115:  __enable_if_t<__same_value_type<_InputIterator>::value>
1115:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1115:  {
1115:    _Alloc_node __an(*this);
1115:    for (; __first != __last; ++__first)
1115:      _M_insert_equal_(end(), *__first, __an);
1115:  }
1115: 
1115:       template<typename _InputIterator>
1115:  __enable_if_t<!__same_value_type<_InputIterator>::value>
1115:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
1115:  {
1115:    _Alloc_node __an(*this);
1115:    for (; __first != __last; ++__first)
1115:      _M_emplace_equal(*__first);
1115:  }
1115: # 1179 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:     private:
1115:       void
1115:       _M_erase_aux(const_iterator __position);
1115: 
1115:       void
1115:       _M_erase_aux(const_iterator __first, const_iterator __last);
1FN_KODI_ADDON_VISUALIZATION_PREV_PRESET_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_NEXT_PRESET_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_LOAD_PRESET_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl, int select);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_RANDOM_PRESET_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_LOCK_PRESET_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_RATE_PRESET_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl, bool plus_minus);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_IS_LOCKED_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl);
1417: 
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_UPDATE_ALBUMART_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl, const char* albumart);
1417:   typedef bool(* PFN_KODI_ADDON_VISUALIZATION_UPDATE_TRACK_V1)(
1417:       const KODI_ADDON_VISUALIZATION_HDL hdl, const struct KODI_ADDON_VISUALIZATION_TRACK* track);
1417: 
1417:   typedef struct KodiToAddonFuncTable_Visualization
1417:   {
1417:     PFN_KODI_ADDON_VISUALIZATION_START_V1 start;
1417:     PFN_KODI_ADDON_VISUALIZATION_STOP_V1 stop;
1417: 
1417:     PFN_KODI_ADDON_VISUALIZATION_GET_SYNC_DELAY_V1 get_sync_delay;
1417: 
1417:     PFN_KODI_ADDON_VISUALIZATION_AUDIO_DATA_V1 audio_data;
1417:     PFN_KODI_ADDON_VISUALIZATION_IS_DIRTY_V1 is_dirty;
1417:     PFN_KODI_ADDON_VISUALIZATION_RENDER_V1 render;
1417: 
1417:     PFN_KODI_ADDON_VISUALIZATION_GET_PRESETS_V1 get_presets;
1417:     PFN_KODI_ADDON_VISUALIZATION_GET_ACTIVE_PRESET_V1 get_active_preset;
1417:     PFN_KODI_ADDON_VISUALIZATION_PREV_PRESET_V1 prev_preset;
1417:     PFN_KODI_ADDON_VISUALIZATION_NEXT_PRESET_V1 next_preset;
1417:     PFN_KODI_ADDON_VISUALIZATION_LOAD_PRESET_V1 load_preset;
1417:     PFN_KODI_ADDON_VISUALIZATION_RANDOM_PRESET_V1 random_preset;
1417:     PFN_KODI_ADDON_VISUALIZATION_LOCK_PRESET_V1 lock_preset;
1417:     PFN_KODI_ADDON_VISUALIZATION_RATE_PRESET_V1 rate_preset;
1417:     PFN_KODI_ADDON_VISUALIZATION_IS_LOCKED_V1 is_locked;
1417: 
1417:     PFN_KODI_ADDON_VISUALIZATION_UPDATE_ALBUMART_V1 update_albumart;
1417:     PFN_KODI_ADDON_VISUALIZATION_UPDATE_TRACK_V1 update_track;
1417:   } KodiToAddonFuncTable_Visualization;
1417: 
1417:   typedef struct AddonToKodiFuncTable_Visualization
1417:   {
1417:     void (*get_properties)(const KODI_HANDLE hdl, struct KODI_ADDON_VISUALIZATION_PROPS* props);
1417:     void (*transfer_preset)(const KODI_HANDLE hdl, const char* preset);
1417:     void (*clear_presets)(const KODI_HANDLE hdl);
1417:   } AddonToKodiFuncTable_Visualization;
1417: 
1417:   typedef struct AddonInstance_Visualization
1417:   {
1417:     struct AddonToKodiFuncTable_Visualization* toKodi;
1417:     struct KodiToAddonFuncTable_Visualization* toAddon;
1417:   } AddonInstance_Visualization;
1417: 
1417: 
1417: }
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../gui/renderHelper.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../gui/renderHelper.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace kodi
1417: {
1417: namespace gui
1417: {
1417: struct __attribute__((visibility("hidden"))) IRenderHelper
1417: {
1417:   virtual ~IRenderHelper() = default;
1417:   virtual bool Init() = 0;
1417:   virtual void Begin() = 0;
1417:   virtual void End() = 0;
1417: };
1417: }
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace kodi
1417: {
1417: namespace gui
1417: {
1417: struct __attribute__((visibility("hidden"))) CRenderHelperStub : public IRenderHelper
1417: {
1417:   bool Init() override { return true; }
1417:   void Begin() override {}
1417:   void End() override {}
  this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     void
1434:     vector<_Tp, _Alloc>::
1434:     _M_fill_assign(size_t __n, const value_type& __val)
1434:     {
1434:       if (__n > capacity())
1434:  {
1434:    vector __tmp(__n, __val, _M_get_Tp_allocator());
1434:    __tmp._M_impl._M_swap_data(this->_M_impl);
1434:  }
1434:       else if (__n > size())
1434:  {
1434:    std::fill(begin(), end(), __val);
1434:    const size_type __add = __n - size();
1434:    ;
1434:    this->_M_impl._M_finish =
1434:      std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1434:        __add, __val, _M_get_Tp_allocator());
1434:    ;
1434:  }
1434:       else
1434:         _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename _InputIterator>
1434:      
1434:       void
1434:       vector<_Tp, _Alloc>::
1434:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1434:       std::input_iterator_tag)
1434:       {
1434:  pointer __cur(this->_M_impl._M_start);
1434:  for (; __first != __last && __cur != this->_M_impl._M_finish;
1434:       ++__cur, (void)++__first)
1434:    *__cur = *__first;
1434:  if (__first == __last)
1434:    _M_erase_at_end(__cur);
1434:  else
1434:    _M_range_insert(end(), __first, __last,
1434:      std::__iterator_category(__first));
1434:       }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename _ForwardIterator>
1434:      
1434:       void
1434:       vector<_Tp, _Alloc>::
1434:       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1434:       std::forward_iterator_tag)
1434:       {
1434:  const size_type __len = std::distance(__first, __last);
1434: 
1434:  if (__len > capacity())
1434:    {
1434:      _S_check_init_len(__len, _M_get_Tp_allocator());
1434:      pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
1434:      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:      _M_get_Tp_allocator());
1434:      ;
1434:      _M_deallocate(this->_M_impl._M_start,
1434:      this->_M_impl._M_end_of_storage
1434:      - this->_M_impl._M_start);
1434:      this->_M_impl._M_start = __tmp;
1434:      this->_M_impl._M_finish = this->_M_impl._M_start + __len;
1434:      this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
1434:    }
1434:  else if (size() >= __len)
1434:    _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
1434:  else
1434:    {
1434:      _ForwardIterator __mid = __first;
1434:      std::advance(__mid, size());
1434:      std::copy(__first, __mid, this->_M_impl._M_start);
1434:      const size_type __attribute__((__unused__)) __n = __len - size();
1434:      ;
1434:      this->_M_impl._M_finish =
1434:        std::__uninitialized_copy_a(__mid, __last,
1434:        this->_M_impl._M_finish,
1434:        _M_get_Tp_allocator());
1434:      ;
1434:    }
1434:       }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     auto
1434:     vector<_Tp, _Alloc>::
1434:     _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator
1434:     {
1434:       const auto __n = __position - cbegin();
1434:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1434:  if (__position == cend())
1434:    {
1434:      ;
1434:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1434:          std::move(__v));
1434:      ++this->_M_impl._M_finish;
1434:      ;
1434:    }
1434:  else
1434:    _M_insert_aux(begin() + __n, std::move(__v));
1434:       else
1434:  _M_realloc_insert(begin() + __n, std::move(__v));
1434: 
1434:       return iterator(this->_M_impl._M_start + __n);
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename... _Args>
1434:      
1434:       auto
1434:       vector<_Tp, _Alloc>::
1434:       _M_emplace_aux(const_iterator __position, _Args&&... __args)
1434:       -> iterator
1434:       {
1434:  const auto __n = __position - cbegin();
1434:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1434:    if (__position == cend())
1434:      {
1434:        ;
1434:        _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1434:            std::forward<_Args>(__args)...);
1434:        ++this->_M_impl._M_finish;
1434:        ;
1434:      }
1434:    else
1434:      {
1434: 
1434: 
1434: 
1434:        _Temporary_value __tmp(this, std::forward<_Args>(__args)...);
1434:        _M_insert_aux(begin() + __n, std::move(__tmp._M_val()));
1434:      }
1434:  else
1434:    _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...);
1434: 
1434:  return iterator(this->_M_impl._M_start + __n);
1434:       }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename _Arg>
1434:      
1434:       void
1434:       vector<_Tp, _Alloc>::
1434:       _M_insert_aux(iterator __position, _Arg&& __arg)
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     {
1434:       ;
1434:       _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1434:           std::move(*(this->_M_impl._M_finish - 1)));
1434:       ++this->_M_impl._M_finish;
1434:       ;
1434: 
1434: 
1434: 
1434:       std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1)
1434: 
1434:                                      ;
1434: 
1434: 
1434: 
1434:       *__position = std::forward<_Arg>(__arg);
1434: 
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename... _Args>
1434:      
1434:       void
1434:       vector<_Tp, _Alloc>::
1434:       _M_realloc_insert(iterator __position, _Args&&... __args)
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     {
1434:       const size_type __len =
1434:  _M_check_len(size_type(1), "vector::_M_realloc_insert");
1434:       pointer __old_start = this->_M_impl._M_start;
1434:       pointer __old_finish = this->_M_impl._M_finish;
1434:       const size_type __elems_before = __position - begin();
1434:       pointer __new_start(this->_M_allocate(__len));
1434:       pointer __new_finish(__new_start);
1434:       try
1434:  {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    _Alloc_traits::construct(this->_M_impl,
1434:        __new_start + __elems_before,
1434: 
1434:        std::forward<_Args>(__args)...);
1434: 
1434: 
1434: 
1434:    __new_finish = pointer();
1434: 
1434: 
1434:    if constexpr (_S_use_relocate())
1434:      {
1434:        __new_finish = _S_relocate(__old_start, __position.base(),
1434:       __new_start, _M_get_Tp_allocator());
1434: 
1434:        ++__new_finish;
1434: 
1434:        __new_finish = _S_relocate(__position.base(), __old_finish,
1434:       __new_finish, _M_get_Tp_allocator());
1434:      }
1434:    else
1434: 
1434:      {
1434:        __new_finish
1434:   = std::__uninitialized_move_if_noexcept_a
1434:   (__old_start, __position.base(),
1434:    __new_start, _M_get_Tp_allocator());
1434: 
1434:        ++__new_finish;
1434: 
1434:        __new_finish
1434:   = std::__uninitialized_move_if_noexcept_a
1434:   (__position.base(), __old_finish,
1434:    __new_finish, _M_get_Tp_allocator());
1434:      }
1434:  }
1434:       catch(...)
1434:  {
1434:    if (!__new_finish)
1434:      _Alloc_traits::destroy(this->_M_impl,
1434:        __new_start + __elems_before);
1434:    else
1434:      std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
1434:    _M_deallocate(__new_start, __len);
1434:    throw;
1434:  }
1434: 
1434:       if constexpr (!_S_use_relocate())
1434: 
1434:  std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator());
1434:       ;
1434:       _M_deallocate(__old_start,
1434:       this->_M_impl._M_end_of_storage - __old_start);
1434:       this->_M_impl._M_start = __new_start;
1434:       this->_M_impl._M_finish = __new_finish;
1434:       this->_M_impl._M_end_of_storage = __new_start + __len;
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     void
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(const_iterator __position)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1115:  const_iterator __result = __position;
1115:  ++__result;
1115:  _M_erase_aux(__position);
1115:  return __result._M_const_cast();
1115:       }
1115: 
1115: 
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(iterator __position)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__position != end())) __builtin_unreachable(); } while (false);
1115:  iterator __result = __position;
1115:  ++__result;
1115:  _M_erase_aux(__position);
1115:  return __result;
1115:       }
1115: # 1228 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:       size_type
1115:       erase(const key_type& __x);
1115: 
1115: 
1115: 
1115: 
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(const_iterator __first, const_iterator __last)
1115:       {
1115:  _M_erase_aux(__first, __last);
1115:  return __last._M_const_cast();
1115:       }
1115: # 1251 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:       void
1115:       clear() noexcept
1115:       {
1115:  _M_erase(_M_begin());
1115:  _M_impl._M_reset();
1115:       }
1115: 
1115: 
1115:       iterator
1115:       find(const key_type& __k);
1115: 
1115:       const_iterator
1115:       find(const key_type& __k) const;
1115: 
1115:       size_type
1115:       count(const key_type& __k) const;
1115: 
1115:       iterator
1115:       lower_bound(const key_type& __k)
1115:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1115: 
1115:       const_iterator
1115:       lower_bound(const key_type& __k) const
1115:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
1115: 
1115:       iterator
1115:       upper_bound(const key_type& __k)
1115:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1115: 
1115:       const_iterator
1115:       upper_bound(const key_type& __k) const
1115:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
1115: 
1115:       pair<iterator, iterator>
1115:       equal_range(const key_type& __k);
1115: 
1115:       pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __k) const;
1115: 
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  iterator
1115:  _M_find_tr(const _Kt& __k)
1115:  {
1115:    const _Rb_tree* __const_this = this;
1115:    return __const_this->_M_find_tr(__k)._M_const_cast();
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  const_iterator
1115:  _M_find_tr(const _Kt& __k) const
1115:  {
1115:    auto __j = _M_lower_bound_tr(__k);
1115:    if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node)))
1115:      __j = end();
1115:    return __j;
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  size_type
1115:  _M_count_tr(const _Kt& __k) const
1115:  {
1115:    auto __p = _M_equal_range_tr(__k);
1115:    return std::distance(__p.first, __p.second);
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  iterator
1115:  _M_lower_bound_tr(const _Kt& __k)
1115:  {
1115:    const _Rb_tree* __const_this = this;
1115:    return __const_this->_M_lower_bound_tr(__k)._M_const_cast();
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  const_iterator
1115:  _M_lower_bound_tr(const _Kt& __k) const
1115:  {
1115:    auto __x = _M_begin();
1115:    auto __y = _M_end();
1115:    while (__x != 0)
1115:      if (!_M_impl._M_key_compare(_S_key(__x), __k))
1115:        {
1115:   __y = __x;
1115:   __x = _S_left(__x);
1115:        }
1115:      else
1115:        __x = _S_1417: };
1417: 
1417: using CRenderHelper = CRenderHelperStub;
1417: }
1417: }
1417: 
1417: 
1417: namespace kodi
1417: {
1417: namespace gui
1417: {
1417: # 64 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/../gui/renderHelper.h"
1417: inline std::shared_ptr<IRenderHelper> __attribute__((visibility("hidden"))) GetRenderHelper()
1417: {
1417:   using namespace ::kodi::addon;
1417:   if (static_cast<CAddonBase*>(CPrivateBase::m_interface->addonBase)->m_renderHelper)
1417:     return static_cast<CAddonBase*>(CPrivateBase::m_interface->addonBase)->m_renderHelper;
1417: 
1417:   std::shared_ptr<kodi::gui::IRenderHelper> renderHelper(new CRenderHelper());
1417:   if (!renderHelper->Init())
1417:     return nullptr;
1417: 
1417:   static_cast<CAddonBase*>(CPrivateBase::m_interface->addonBase)->m_renderHelper =
1417:       renderHelper;
1417:   return renderHelper;
1417: }
1417: 
1417: }
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h" 2
1417: 
1417: 
1417: namespace kodi
1417: {
1417: namespace addon
1417: {
1417: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417: class VisualizationTrack
1417: {
1417: 
1417:   friend class CInstanceVisualization;
1417: 
1417: 
1417: public:
1417: 
1417:   VisualizationTrack() = default;
1417:   VisualizationTrack(const VisualizationTrack& tag) { *this = tag; }
1417: 
1417:   VisualizationTrack& operator=(const VisualizationTrack& right)
1417:   {
1417:     if (&right == this)
1417:       return *this;
1417: 
1417:     m_title = right.m_title;
1417:     m_artist = right.m_artist;
1417:     m_album = right.m_album;
1417:     m_albumArtist = right.m_albumArtist;
1417:     m_genre = right.m_genre;
1417:     m_comment = right.m_comment;
1417:     m_lyrics = right.m_lyrics;
1417: 
1417:     m_trackNumber = right.m_trackNumber;
1417:     m_discNumber = right.m_discNumber;
1417:     m_duration = right.m_duration;
1417:     m_year = right.m_year;
1417:     m_rating = right.m_rating;
1417:     return *this;
1417:   }
1417: # 95 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   void SetTitle(const std::string& title) { m_title = title; }
1417: 
1417: 
1417:   const std::string& GetTitle() const { return m_title; }
1417: 
1417: 
1417:   void SetArtist(const std::string& artist) { m_artist = artist; }
1417: 
1417: 
1417:   const std::string& GetArtist() const { return m_artist; }
1417: 
1417: 
1417:   void SetAlbum(const std::string& album) { m_album = album; }
1417: 
1417: 
1417:   const std::string& GetAlbum() const { return m_album; }
1417: 
1417: 
1417:   void SetAlbumArtist(const std::string& albumArtist) { m_albumArtist = albumArtist; }
1417: 
1417: 
1417:   const std::string& GetAlbumArtist() const { return m_albumArtist; }
1417: 
1417: 
1417:   void SetGenre(const std::string& genre) { m_genre = genre; }
1417: 
1417: 
1417:   const std::string& GetGenre() const { return m_genre; }
1417: 
1417: 
1417:   void SetDuration(int duration) { m_duration = duration; }
1417: 
1417: 
1417:   int GetDuration() const { return m_duration; }
1417: 
1417: 
1417:   void SetTrack(int trackNumber) { m_trackNumber = trackNumber; }
1417: 
1417: 
1417:   int GetTrack() const { return m_trackNumber; }
1417: 
1417: 
1417:   void SetDisc(int discNumber) { m_discNumber = discNumber; }
1417: 
1417: 
1417:   int GetDisc() const { return m_discNumber; }
1417: 
1417: 
1417:   void SetYear(int year) { m_year = year; }
1417: 
1417: 
1417:   int GetYear() const { return m_year; }
1417: 
1417: 
1417:   void SetLyrics(const std::string& lyrics) { m_lyrics = lyrics; }
1417: 
1417: 
1417:   const std::string& GetLyrics() const { return m_lyrics; }
1417: 
1417: 
1417:   void SetRating(int rating) { m_rating = rating; }
1417: 
1417: 
1417:   int GetRating() const { return m_rating; }
1417: 
1417: 
1417:   void SetComment(const std::string& comment) { m_comment = comment; }
1417: 
1417: 
1417:   c434:     vector<_Tp, _Alloc>::
1434:     _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
1434:     {
1434:       if (__n != 0)
1434:  {
1434:    if (size_type(this->_M_impl._M_end_of_storage
1434:    - this->_M_impl._M_finish) >= __n)
1434:      {
1434: 
1434: 
1434: 
1434:        _Temporary_value __tmp(this, __x);
1434:        value_type& __x_copy = __tmp._M_val();
1434: 
1434:        const size_type __elems_after = end() - __position;
1434:        pointer __old_finish(this->_M_impl._M_finish);
1434:        if (__elems_after > __n)
1434:   {
1434:     ;
1434:     std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1434:            this->_M_impl._M_finish,
1434:            this->_M_impl._M_finish,
1434:            _M_get_Tp_allocator());
1434:     this->_M_impl._M_finish += __n;
1434:     ;
1434:     std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1434:                                         ;
1434:     std::fill(__position.base(), __position.base() + __n,
1434:        __x_copy);
1434:   }
1434:        else
1434:   {
1434:     ;
1434:     this->_M_impl._M_finish =
1434:       std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1434:         __n - __elems_after,
1434:         __x_copy,
1434:         _M_get_Tp_allocator());
1434:     ;
1434:     std::__uninitialized_move_a(__position.base(), __old_finish,
1434:            this->_M_impl._M_finish,
1434:            _M_get_Tp_allocator());
1434:     this->_M_impl._M_finish += __elems_after;
1434:     ;
1434:     std::fill(__position.base(), __old_finish, __x_copy);
1434:   }
1434:      }
1434:    else
1434:      {
1434:        const size_type __len =
1434:   _M_check_len(__n, "vector::_M_fill_insert");
1434:        const size_type __elems_before = __position - begin();
1434:        pointer __new_start(this->_M_allocate(__len));
1434:        pointer __new_finish(__new_start);
1434:        try
1434:   {
1434: 
1434:     std::__uninitialized_fill_n_a(__new_start + __elems_before,
1434:       __n, __x,
1434:       _M_get_Tp_allocator());
1434:     __new_finish = pointer();
1434: 
1434:     __new_finish
1434:       = std::__uninitialized_move_if_noexcept_a
1434:       (this->_M_impl._M_start, __position.base(),
1434:        __new_start, _M_get_Tp_allocator());
1434: 
1434:     __new_finish += __n;
1434: 
1434:     __new_finish
1434:       = std::__uninitialized_move_if_noexcept_a
1434:       (__position.base(), this->_M_impl._M_finish,
1434:        __new_finish, _M_get_Tp_allocator());
1434:   }
1434:        catch(...)
1434:   {
1434:     if (!__new_finish)
1434:       std::_Destroy(__new_start + __elems_before,
1434:       __new_start + __elems_before + __n,
1434:       _M_get_Tp_allocator());
1434:     else
1434:       std::_Destroy(__new_start, __new_finish,
1434:       _M_get_Tp_allocator());
1434:     _M_deallocate(__new_start, __len);
1434:     throw;
1434:   }
1434:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:        _M_get_Tp_allocator());
1434:        ;
1434:        _M_deallocate(this->_M_impl._M_start,
1434:        this->_M_impl._M_end_of_storage
1434:        - this->_M_impl._M_start);
1434:        this->_M_impl._M_start = __new_start;
1434:        this->_M_impl._M_finish = __new_finish;
1434:        this->_M_impl._M_end_of_storage = __new_start + __len;
1434:      }
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     void
1434:     vector<_Tp, _Alloc>::
1434:     _M_default_append(size_type __n)
1434:     {
1434:       if (__n != 0)
1434:  {
1434:    const size_type __size = size();
1434:    size_type __navail = size_type(this->_M_impl._M_end_of_storage
1434:       - this->_M_impl._M_finish);
1434: 
1434:    if (__size > max_size() || __navail > max_size() - __size)
1434:      __builtin_unreachable();
1434: 
1434:    if (__navail >= __n)
1434:      {
1434:        ;
1434:        this->_M_impl._M_finish =
1434:   std::__uninitialized_default_n_a(this->_M_impl._M_finish,
1434:        __n, _M_get_Tp_allocator());
1434:        ;
1434:      }
1434:    else
1434:      {
1434:        const size_type __len =
1434:   _M_check_len(__n, "vector::_M_default_append");
1434:        pointer __new_start(this->_M_allocate(__len));
1434:        if constexpr (_S_use_relocate())
1434:   {
1434:     try
1434:       {
1434:         std::__uninitialized_default_n_a(__new_start + __size,
1434:          __n, _M_get_Tp_allocator());
1434:       }
1434:     catch(...)
1434:       {
1434:         _M_deallocate(__new_start, __len);
1434:         throw;
1434:       }
1434:     _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:          __new_start, _M_get_Tp_allocator());
1434:   }
1434:        else
1434:   {
1434:     pointer __destroy_from = pointer();
1434:     try
1434:       {
1434:         std::__uninitialized_default_n_a(__new_start + __size,
1434:          __n, _M_get_Tp_allocator());
1434:         __destroy_from = __new_start + __size;
1434:         std::__uninitialized_move_if_noexcept_a(
1434:          this->_M_impl._M_start, this->_M_impl._M_finish,
1434:          __new_start, _M_get_Tp_allocator());
1434:       }
1434:     catch(...)
1434:       {
1434:         if (__destroy_from)
1434:    std::_Destroy(__destroy_from, __destroy_from + __n,
1434:           _M_get_Tp_allocator());
1434:         _M_deallocate(__new_start, __len);
1434:         throw;
1434:       }
1434:     std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:     _M_get_Tp_allocator());
1434:   }
1434:        ;
1434:        _M_deallocate(this->_M_impl._M_start,
1434:        this->_M_impl._M_end_of_storage
1434:        - this->_M_impl._M_start);
1434:        this->_M_impl._M_start = __new_start;
1434:        this->_M_impl._M_finish = __new_start + __size + __n;
1434:        this->_M_impl._M_end_of_storage = __new_start + __len;
1434:      }
1434:  }
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:    
1434:     bool
1434:     vector<_Tp, _Alloc>::
1434:     _M_shrink_to_fit()
1434:     {
1434:       if (capacity() == size())
1434:  return false;
1434:       ;
1434:       return std::__shrink_to_fit_aux<vector>::_S_do_it(*this);
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename _InputIterator>
1434:      
1434:       void
1434:       vector<_Tp, _Alloc>::
1434:       _M_range_insert(iterator __pos, _InputIterator __first,
1434:         _InputIterator __last, std::input_iterator_tag)
1434:       {
1434:  if (__pos == end())
1434:    {
1434:      for (; __first != __last; ++__first)
1434:        insert(end(), *__first);
1434:    }
1434:  else if (__first != __last)
1434:    {
1434:      vector __tmp(__first, __last, _M_get_Tp_allocator());
1434:      insert(__pos,
1434:      std::make_move_iterator(__tmp.begin()),
1434:      std::make_move_iterator(__tmp.end()));
1434:    }
1434:       }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename _ForwardIterator>
1434:      
1434:       void
1434:       vector<_Tp, _Alloc>::
1434:       _M_range_insert(iterator __position, _ForwardIterator __first,
1434:         _ForwardIterator __last, std::forward_iterator_tag)
1434:       {
1434:  if (__first != __last)
1434:    {
1434:      const size_type __n = std::distance(__first, __last);
1434:      if (size_type(this->_M_impl._M_end_of_storage
1434:      - this->_M_impl._M_finish) >= __n)
1434:        {
1434:   const size_type __elems_after = end() - __position;
1434:   pointer __old_finish(this->_M_impl._M_finish);
1434:   if (__elems_after > __n)
1434:     {
1434:       ;
1434:       std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1434:       this->_M_impl._M_finish,
1434:       this->_M_impl._M_finish,
1434:       _M_get_Tp_allocator());
1434:       this->_M_impl._M_finish += __n;
1434:       ;
1434:       std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1434:                                           ;
1434:       std::copy(__first, __last, __position);
1434:     }
1434:   else
1434:     {
1434:       _ForwardIterator __mid = __first;
1434:  right(__x);
1115:    return const_iterator(__y);
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  iterator
1115:  _M_upper_bound_tr(const _Kt& __k)
1115:  {
1115:    const _Rb_tree* __const_this = this;
1115:    return __const_this->_M_upper_bound_tr(__k)._M_const_cast();
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  const_iterator
1115:  _M_upper_bound_tr(const _Kt& __k) const
1115:  {
1115:    auto __x = _M_begin();
1115:    auto __y = _M_end();
1115:    while (__x != 0)
1115:      if (_M_impl._M_key_compare(__k, _S_key(__x)))
1115:        {
1115:   __y = __x;
1115:   __x = _S_left(__x);
1115:        }
1115:      else
1115:        __x = _S_right(__x);
1115:    return const_iterator(__y);
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  pair<iterator, iterator>
1115:  _M_equal_range_tr(const _Kt& __k)
1115:  {
1115:    const _Rb_tree* __const_this = this;
1115:    auto __ret = __const_this->_M_equal_range_tr(__k);
1115:    return { __ret.first._M_const_cast(), __ret.second._M_const_cast() };
1115:  }
1115: 
1115:       template<typename _Kt,
1115:         typename _Req = __has_is_transparent_t<_Compare, _Kt>>
1115:  pair<const_iterator, const_iterator>
1115:  _M_equal_range_tr(const _Kt& __k) const
1115:  {
1115:    auto __low = _M_lower_bound_tr(__k);
1115:    auto __high = __low;
1115:    auto& __cmp = _M_impl._M_key_compare;
1115:    while (__high != end() && !__cmp(__k, _S_key(__high._M_node)))
1115:      ++__high;
1115:    return { __low, __high };
1115:  }
1115: 
1115: 
1115: 
1115:       bool
1115:       __rb_verify() const;
1115: 
1115: 
1115:       _Rb_tree&
1115:       operator=(_Rb_tree&&)
1115:       noexcept(_Alloc_traits::_S_nothrow_move()
1115:         && is_nothrow_move_assignable<_Compare>::value);
1115: 
1115:       template<typename _Iterator>
1115:  void
1115:  _M_assign_unique(_Iterator, _Iterator);
1115: 
1115:       template<typename _Iterator>
1115:  void
1115:  _M_assign_equal(_Iterator, _Iterator);
1115: 
1115:     private:
1115: 
1115:       void
1115:       _M_move_data(_Rb_tree& __x, true_type)
1115:       { _M_impl._M_move_data(__x._M_impl); }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_move_data(_Rb_tree&, false_type);
1115: 
1115: 
1115:       void
1115:       _M_move_assign(_Rb_tree&, true_type);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_move_assign(_Rb_tree&, false_type);
1115: 
1115: 
1115: 
1115:     public:
1115: 
1115:       insert_return_type
1115:       _M_reinsert_node_unique(node_type&& __nh)
1115:       {
1115:  insert_return_type __ret;
1115:  if (__nh.empty())
1115:    __ret.position = end();
1115:  else
1115:    {
1115:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1115: 
1115:      auto __res = _M_get_insert_unique_pos(__nh._M_key());
1115:      if (__res.second)
1115:        {
1115:   __ret.position
1115:     = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1115:   __nh._M_ptr = nullptr;
1115:   __ret.inserted = true;
1115:        }
1115:      else
1115:        {
1115:   __ret.node = std::move(__nh);
1115:   __ret.position = iterator(__res.first);
1115:   __ret.inserted = false;
1115:        }
1115:    }
1115:  return __ret;
1115:       }
1115: 
1115: 
1115:       iterator
1115:       _M_reinsert_node_equal(node_type&& __nh)
1115:       {
1115:  iterator __ret;
1115:  if (__nh.empty())
1115:    __ret = end();
1115:  else
1115:    {
1115:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1115:      auto __res = _M_get_insert_equal_pos(__nh._M_key());
1115:      if (__res.second)
1115:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1115:      else
1115:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1onst std::string& GetComment() const { return m_comment; }
1417: 
1417: 
1417: 
1417: private:
1417:   VisualizationTrack(const KODI_ADDON_VISUALIZATION_TRACK* tag)
1417:   {
1417:     if (!tag)
1417:       return;
1417: 
1417:     m_title = tag->title ? tag->title : "";
1417:     m_artist = tag->artist ? tag->artist : "";
1417:     m_album = tag->album ? tag->album : "";
1417:     m_albumArtist = tag->albumArtist ? tag->albumArtist : "";
1417:     m_genre = tag->genre ? tag->genre : "";
1417:     m_comment = tag->comment ? tag->comment : "";
1417:     m_lyrics = tag->lyrics ? tag->lyrics : "";
1417: 
1417:     m_trackNumber = tag->trackNumber;
1417:     m_discNumber = tag->discNumber;
1417:     m_duration = tag->duration;
1417:     m_year = tag->year;
1417:     m_rating = tag->rating;
1417:   }
1417: 
1417:   std::string m_title;
1417:   std::string m_artist;
1417:   std::string m_album;
1417:   std::string m_albumArtist;
1417:   std::string m_genre;
1417:   std::string m_comment;
1417:   std::string m_lyrics;
1417: 
1417:   int m_trackNumber = 0;
1417:   int m_discNumber = 0;
1417:   int m_duration = 0;
1417:   int m_year = 0;
1417:   int m_rating = 0;
1417: };
1417: # 385 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417: class __attribute__((visibility("hidden"))) CInstanceVisualization : public IAddonInstance
1417: {
1417: public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CInstanceVisualization()
1417:     : IAddonInstance(IInstanceInfo(CPrivateBase::m_interface->firstKodiInstance))
1417:   {
1417:     if (CPrivateBase::m_interface->globalSingleInstance != nullptr)
1417:       throw std::logic_error(
1417:           "kodi::addon::CInstanceVisualization: Cannot create multiple instances of add-on.");
1417: 
1417:     SetAddonStruct(CPrivateBase::m_interface->firstKodiInstance);
1417:     CPrivateBase::m_interface->globalSingleInstance = this;
1417:   }
1417: # 445 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   explicit CInstanceVisualization(const IInstanceInfo& instance) : IAddonInstance(instance)
1417:   {
1417:     if (CPrivateBase::m_interface->globalSingleInstance != nullptr)
1417:       throw std::logic_error("kodi::addon::CInstanceVisualization: Creation of multiple together "
1417:                              "with single instance way is not allowed!");
1417: 
1417:     SetAddonStruct(instance);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   ~CInstanceVisualization() override = default;
1417: # 472 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool Start(int channels,
1417:                      int samplesPerSec,
1417:                      int bitsPerSample,
1417:                      const std::string& songName)
1417:   {
1417:     return true;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Stop() {}
1417: # 496 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual void AudioData(const float* audioData, size_t audioDataLength) {}
1417: # 506 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool IsDirty() { return true; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Render() {}
1417: # 524 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual int GetSyncDelay() { return 0; }
1417: # 537 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool GetPresets(std::vector<std::string>& presets) { return false; }
1417: # 546 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual int GetActivePreset() { return -1; }
1417: # 555 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-in     std::advance(__mid, __elems_after);
1434:       ;
1434:       std::__uninitialized_copy_a(__mid, __last,
1434:       this->_M_impl._M_finish,
1434:       _M_get_Tp_allocator());
1434:       this->_M_impl._M_finish += __n - __elems_after;
1434:       ;
1434:       std::__uninitialized_move_a(__position.base(),
1434:       __old_finish,
1434:       this->_M_impl._M_finish,
1434:       _M_get_Tp_allocator());
1434:       this->_M_impl._M_finish += __elems_after;
1434:       ;
1434:       std::copy(__first, __mid, __position);
1434:     }
1434:        }
1434:      else
1434:        {
1434:   const size_type __len =
1434:     _M_check_len(__n, "vector::_M_range_insert");
1434:   pointer __new_start(this->_M_allocate(__len));
1434:   pointer __new_finish(__new_start);
1434:   try
1434:     {
1434:       __new_finish
1434:         = std::__uninitialized_move_if_noexcept_a
1434:         (this->_M_impl._M_start, __position.base(),
1434:          __new_start, _M_get_Tp_allocator());
1434:       __new_finish
1434:         = std::__uninitialized_copy_a(__first, __last,
1434:           __new_finish,
1434:           _M_get_Tp_allocator());
1434:       __new_finish
1434:         = std::__uninitialized_move_if_noexcept_a
1434:         (__position.base(), this->_M_impl._M_finish,
1434:          __new_finish, _M_get_Tp_allocator());
1434:     }
1434:   catch(...)
1434:     {
1434:       std::_Destroy(__new_start, __new_finish,
1434:       _M_get_Tp_allocator());
1434:       _M_deallocate(__new_start, __len);
1434:       throw;
1434:     }
1434:   std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1434:          _M_get_Tp_allocator());
1434:   ;
1434:   _M_deallocate(this->_M_impl._M_start,
1434:          this->_M_impl._M_end_of_storage
1434:          - this->_M_impl._M_start);
1434:   this->_M_impl._M_start = __new_start;
1434:   this->_M_impl._M_finish = __new_finish;
1434:   this->_M_impl._M_end_of_storage = __new_start + __len;
1434:        }
1434:    }
1434:       }
1434: 
1434: 
1434: 
1434:   template<typename _Alloc>
1434:    
1434:     void
1434:     vector<bool, _Alloc>::
1434:     _M_reallocate(size_type __n)
1434:     {
1434:       _Bit_pointer __q = this->_M_allocate(__n);
1434:       iterator __start(std::__addressof(*__q), 0);
1434:       iterator __finish(_M_copy_aligned(begin(), end(), __start));
1434:       this->_M_deallocate();
1434:       this->_M_impl._M_start = __start;
1434:       this->_M_impl._M_finish = __finish;
1434:       this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1434:     }
1434: 
1434:   template<typename _Alloc>
1434:    
1434:     void
1434:     vector<bool, _Alloc>::
1434:     _M_fill_insert(iterator __position, size_type __n, bool __x)
1434:     {
1434:       if (__n == 0)
1434:  return;
1434:       if (capacity() - size() >= __n)
1434:  {
1434:    std::copy_backward(__position, end(),
1434:         this->_M_impl._M_finish + difference_type(__n));
1434:    std::fill(__position, __position + difference_type(__n), __x);
1434:    this->_M_impl._M_finish += difference_type(__n);
1434:  }
1434:       else
1434:  {
1434:    const size_type __len =
1434:      _M_check_len(__n, "vector<bool>::_M_fill_insert");
1434:    _Bit_pointer __q = this->_M_allocate(__len);
1434:    iterator __start(std::__addressof(*__q), 0);
1434:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1434:    std::fill(__i, __i + difference_type(__n), __x);
1434:    iterator __finish = std::copy(__position, end(),
1434:      __i + difference_type(__n));
1434:    this->_M_deallocate();
1434:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1434:    this->_M_impl._M_start = __start;
1434:    this->_M_impl._M_finish = __finish;
1434:  }
1434:     }
1434: 
1434:   template<typename _Alloc>
1434:     template<typename _ForwardIterator>
1434:      
1434:       void
1434:       vector<bool, _Alloc>::
1434:       _M_insert_range(iterator __position, _ForwardIterator __first,
1434:         _ForwardIterator __last, std::forward_iterator_tag)
1434:       {
1434:  if (__first != __last)
1434:    {
1434:      size_type __n = std::distance(__first, __last);
1434:      if (capacity() - size() >= __n)
1434:        {
1434:   std::copy_backward(__position, end(),
1434:        this->_M_impl._M_finish
1434:        + difference_type(__n));
1434:   std::copy(__first, __last, __position);
1434:   this->_M_impl._M_finish += difference_type(__n);
1434:        }
1434:      else
1434:        {
1434:   const size_type __len =
1434:     _M_check_len(__n, "vector<bool>::_M_insert_range");
1434:   _Bit_pointer __q = this->_M_allocate(__len);
1434:   iterator __start(std::__addressof(*__q), 0);
1434:   iterator __i = _M_copy_aligned(begin(), __position, __start);
1434:   __i = std::copy(__first, __last, __i);
1434:   iterator __finish = std::copy(__position, end(), __i);
1434:   this->_M_deallocate();
1434:   this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1434:   this->_M_impl._M_start = __start;
1434:   this->_M_impl._M_finish = __finish;
1434:        }
1434:    }
1434:       }
1434: 
1434:   template<typename _Alloc>
1434:    
1434:     void
1434:     vector<bool, _Alloc>::
1434:     _M_insert_aux(iterator __position, bool __x)
1434:     {
1434:       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1434:  {
1434:    std::copy_backward(__position, this->_M_impl._M_finish,
1434:         this->_M_impl._M_finish + 1);
1434:    *__position = __x;
1434:    ++this->_M_impl._M_finish;
1434:  }
1434:       else
1434:  {
1434:    const size_type __len =
1434:      _M_check_len(size_type(1), "vector<bool>::_M_insert_aux");
1434:    _Bit_pointer __q = this->_M_allocate(__len);
1434:    iterator __start(std::__addressof(*__q), 0);
1434:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1434:    *__i++ = __x;
1434:    iterator __finish = std::copy(__position, end(), __i);
1434:    this->_M_deallocate();
1434:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1434:    this->_M_impl._M_start = __start;
1434:    this->_M_impl._M_finish = __finish;
1434:  }
1434:     }
1434: 
1434:   template<typename _Alloc>
1434:    
1434:     typename vector<bool, _Alloc>::iterator
1434:     vector<bool, _Alloc>::
1434:     _M_erase(iterator __position)
1434:     {
1434:       if (__position + 1 != end())
1434:         std::copy(__position + 1, end(), __position);
1434:       --this->_M_impl._M_finish;
1434:       return __position;
1434:     }
1434: 
1434:   template<typename _Alloc>
1434:    
1434:     typename vector<bool, _Alloc>::iterator
1434:     vector<bool, _Alloc>::
1434:     _M_erase(iterator __first, iterator __last)
1434:     {
1434:       if (__first != __last)
1434:  _M_erase_at_end(std::copy(__last, end(), __first));
1434:       return __first;
1434:     }
1434: 
1434: 
1434:   template<typename _Alloc>
1434:    
1434:     bool
1434:     vector<bool, _Alloc>::
1434:     _M_shrink_to_fit()
1434:     {
1434:       if (capacity() - size() < int(_S_word_bit))
1434:  return false;
1434:       try
1434:  {
1434:    if (size_type __n = size())
1434:      _M_reallocate(__n);
1434:    else
1434:      {
1434:        this->_M_deallocate();
1434:        this->_M_impl._M_reset();
1434:      }
1434:    return true;
1434:  }
1434:       catch(...)
1434:  { return false; }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _Alloc>
1434:     size_t
1434:     hash<std::vector<bool, _Alloc>>::
1434:     operator()(const std::vector<bool, _Alloc>& __b) const noexcept
1434:     {
1434:       size_t __hash = 0;
1434:       const size_t __words = __b.size() / _S_word_bit;
1434:       if (__words)
1434:  {
1434:    const size_t __clength = __words * sizeof(_Bit_type);
1434:    __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength);
1434:  }
1434: 
1434:       const size_t __extrabits = __b.size() % _S_word_bit;
1434:       if (__extrabits)
1434:  {
1434:    _Bit_type __hiword = *__b._M_impl._M_finish._M_p;
1434:    __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits);
143115:      __nh._M_ptr = nullptr;
1115:    }
1115:  return __ret;
1115:       }
1115: 
1115: 
1115:       iterator
1115:       _M_reinsert_node_hint_unique(const_iterator __hint, node_type&& __nh)
1115:       {
1115:  iterator __ret;
1115:  if (__nh.empty())
1115:    __ret = end();
1115:  else
1115:    {
1115:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1115:      auto __res = _M_get_insert_hint_unique_pos(__hint, __nh._M_key());
1115:      if (__res.second)
1115:        {
1115:   __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1115:   __nh._M_ptr = nullptr;
1115:        }
1115:      else
1115:        __ret = iterator(__res.first);
1115:    }
1115:  return __ret;
1115:       }
1115: 
1115: 
1115:       iterator
1115:       _M_reinsert_node_hint_equal(const_iterator __hint, node_type&& __nh)
1115:       {
1115:  iterator __ret;
1115:  if (__nh.empty())
1115:    __ret = end();
1115:  else
1115:    {
1115:      do { if (std::__is_constant_evaluated() && !bool(_M_get_Node_allocator() == *__nh._M_alloc)) __builtin_unreachable(); } while (false);
1115:      auto __res = _M_get_insert_hint_equal_pos(__hint, __nh._M_key());
1115:      if (__res.second)
1115:        __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr);
1115:      else
1115:        __ret = _M_insert_equal_lower_node(__nh._M_ptr);
1115:      __nh._M_ptr = nullptr;
1115:    }
1115:  return __ret;
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  auto __ptr = _Rb_tree_rebalance_for_erase(
1115:      __pos._M_const_cast()._M_node, _M_impl._M_header);
1115:  --_M_impl._M_node_count;
1115:  return { static_cast<_Link_type>(__ptr), _M_get_Node_allocator() };
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const key_type& __k)
1115:       {
1115:  node_type __nh;
1115:  auto __pos = find(__k);
1115:  if (__pos != end())
1115:    __nh = extract(const_iterator(__pos));
1115:  return __nh;
1115:       }
1115: 
1115:       template<typename _Compare2>
1115:  using _Compatible_tree
1115:    = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>;
1115: 
1115:       template<typename, typename>
1115:  friend class _Rb_tree_merge_helper;
1115: 
1115: 
1115:       template<typename _Compare2>
1115:  void
1115:  _M_merge_unique(_Compatible_tree<_Compare2>& __src) noexcept
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1115:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1115:      {
1115:        auto __pos = __i++;
1115:        auto __res = _M_get_insert_unique_pos(_KeyOfValue()(*__pos));
1115:        if (__res.second)
1115:   {
1115:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1115:     auto __ptr = _Rb_tree_rebalance_for_erase(
1115:         __pos._M_node, __src_impl._M_header);
1115:     --__src_impl._M_node_count;
1115:     _M_insert_node(__res.first, __res.second,
1115:      static_cast<_Link_type>(__ptr));
1115:   }
1115:      }
1115:  }
1115: 
1115: 
1115:       template<typename _Compare2>
1115:  void
1115:  _M_merge_equal(_Compatible_tree<_Compare2>& __src) noexcept
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>;
1115:    for (auto __i = __src.begin(), __end = __src.end(); __i != __end;)
1115:      {
1115:        auto __pos = __i++;
1115:        auto __res = _M_get_insert_equal_pos(_KeyOfValue()(*__pos));
1115:        if (__res.second)
1115:   {
1115:     auto& __src_impl = _Merge_helper::_S_get_impl(__src);
1115:     auto __ptr = _Rb_tree_rebalance_for_erase(
1115:         __pos._M_node, __src_impl._M_header);
1115:     --__src_impl._M_node_count;
1115:     _M_insert_node(__res.first, __res.second,
1115:      static_cast<_Link_type>(__ptr));
1115:   }
1115:      }
1115:  }
1115: 
1115: 
1115:       friend bool
1115:       operator==(const _Rb_tree& __x, const _Rb_tree& __y)
1115:       {
1115:  return __x.size() == __y.size()
1115:    && std::equal(__x.begin(), 4: 
1434:    const size_t __clength
1434:      = (__extrabits + 8 - 1) / 8;
1434:    if (__words)
1434:      __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash);
1434:    else
1434:      __hash = std::_Hash_impl::hash(&__hiword, __clength);
1434:  }
1434: 
1434:       return __hash;
1434:     }
1434: 
1434: 
1434: }
1434: # 71 "/usr/include/c++/12/vector" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:     template<typename _Tp>
1434:       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1434: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1434: 
1434: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1434: class TiXmlNode;
1434: struct StringSettingOption;
1434: 
1434: namespace ADDON
1434: {
1434:   class CLanguageResource;
1434: }
1434: typedef std::shared_ptr<ADDON::CLanguageResource> LanguageResourcePtr;
1434: 
1434: typedef enum MeridiemSymbol
1434: {
1434:   MeridiemSymbolPM = 0,
1434:   MeridiemSymbolAM
1434: } MeridiemSymbol;
1434: 
1434: class CLangInfo : public ISettingCallback, public ISettingsHandler
1434: {
1434: public:
1434:   CLangInfo();
1434:   ~CLangInfo() override;
1434: 
1434: 
1434:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1434: 
1434: 
1434:   void OnSettingsLoaded() override;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static void GetAddonsLanguageCodes(std::map<std::string, std::string>& languages);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   LanguageResourcePtr GetLanguageAddon(const std::string& locale = "") const;
1434: 
1434:   std::string GetGuiCharSet() const;
1434:   std::string GetSubtitleCharSet() const;
1434: 
1434: 
1434:   const std::string& GetLanguageCode() const { return m_languageCodeGeneral; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static std::string ConvertEnglishNameToAddonLocale(const std::string& langName);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::string GetEnglishLanguageName(const std::string& locale = "") const;
1434: # 104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1434:   bool SetLanguage(std::string strLanguage = "", bool reloadServices = true);
1434: 
1434:   const std::string& GetAudioLanguage() const;
1434: 
1434: 
1434: 
1434:   void SetAudioLanguage(const std::string& language);
1434: 
1434: 
1434:   const std::string& GetSubtitleLanguage() const;
1434: 
1434: 
1434: 
1434:   void SetSubtitleLanguage(const std::string& language);
1434: 
1434:   const std::string GetDVDMenuLanguage() const;
1434:   const std::string GetDVDAudioLanguage() const;
1434:   const std::string GetDVDSubtitleLanguage() const;
1434:   const std::string& GetTimeZone() const;
1434: 
1434:   const std::string& GetRegionLocale() const;
1434: 
1434:   const std::locale& GetOriginalLocale() const;
1434: 
1434: 
1434: 
1434: 
1434:   const CLocale& GetLocale() const;
1434: 
1434: 
1434: 
1434: 
1434:   const std::locale& GetSystemLocale() const { return m_systemLocale; }
1434: 
1434:   bool ForceUnicodeFont() const { return m_forceUnicodeFont; }
1434: 
1434:   const std::string& GetDateFormat(bool bLongDate = false) const;
1434:   void SetDateFormat(const std::string& dateFormat, bool bLongDate = false);
1434:   const std::string& GetShortDateFormat() const;
1434:   void SetShortDateFormat(const std::string& shortDateFormat);
1434:   const std::string& GetLongDateFormat() const;
1434:   void SetLongDateFormat(const std::string& longDateFormat);
1434: 
1434:   const std::string& GetTimeFormat() const;
1434:   void SetTimeFormat(const std::string& timeFormat);
1434:   bool Use24HourClock() const;
1434:   void Set24HourClock(bool use24HourClock);
1434:   void Set24HourClock(const std::string& str24HourClock);
1434:   const std::string& GetMeridiemSymbol(Meridistance/Visualization.h"
1417:   virtual bool IsLocked() { return false; }
1417: # 564 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool PrevPreset() { return false; }
1417: # 573 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool NextPreset() { return false; }
1417: # 585 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool LoadPreset(int select) { return false; }
1417: # 594 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool RandomPreset() { return false; }
1417: # 604 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool LockPreset(bool lockUnlock) { return false; }
1417: # 615 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool RatePreset(bool plusMinus) { return false; }
1417: # 625 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool UpdateAlbumart(const std::string& albumart) { return false; }
1417: # 665 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   virtual bool UpdateTrack(const kodi::addon::VisualizationTrack& track) { return false; }
1417: # 687 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   inline void TransferPresets(const std::vector<std::string>& presets)
1417:   {
1417:     m_instanceData->visualization->toKodi->clear_presets(m_instanceData->info->kodi);
1417:     for (const auto& it : presets)
1417:       m_instanceData->visualization->toKodi->transfer_preset(m_instanceData->info->kodi,
1417:                                                              it.c_str());
1417:   }
1417: # 717 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   inline kodi::HardwareContext Device() { return m_props.device; }
1417: # 726 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   inline int X() { return m_props.x; }
1417: # 735 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   inline int Y() { return m_props.y; }
1417: # 744 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   inline int Width() { return m_props.width; }
1417: # 753 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   inline int Height() { return m_props.height; }
1417: # 763 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/kodi-dev-kit/include/kodi/addon-instance/Visualization.h"
1417:   inline float PixelRatio() { return m_props.pixelRatio; }
1417: 
1417: 
1417: 
1417: 
1417: private:
1417:   void SetAddonStruct(KODI_ADDON_INSTANCE_STRUCT* instance)
1417:   {
1417:     m_instanceData = instance;
1417:     m_instanceData->hdl = this;
1417:     m_instanceData->visualization->toAddon->start = ADDON_start;
1417:     m_instanceData->visualization->toAddon->stop = ADDON_stop;
1417:     m_instanceData->visualization->toAddon->audio_data = ADDON_audio_data;
1417:     m_instanceData->visualization->toAddon->is_dirty = ADDON_is_dirty;
1417:     m_instanceData->visualization->toAddon->render = ADDON_render;
1417:     m_instanceData->visualization->toAddon->get_sync_delay = ADDON_get_sync_delay;
1417:     m_instanceData->visualization->toAddon->prev_preset = ADDON_prev_preset;
1417:     m_instanceData->visualization->toAddon->next_preset = ADDON_next_preset;
1417:     m_instanceData->visualization->toAddon->load_preset = ADDON_load_preset;
1417:     m_instanceData->visualization->toAddon->random_preset = ADDON_random_preset;
141__x.end(), __y.begin());
1115:       }
1115: # 1620 "/usr/include/c++/12/bits/stl_tree.h" 3
1115:       friend bool
1115:       operator<(const _Rb_tree& __x, const _Rb_tree& __y)
1115:       {
1115:  return std::lexicographical_compare(__x.begin(), __x.end(),
1115:          __y.begin(), __y.end());
1115:       }
1115: 
1115: 
1115:     private:
1115: 
1115: 
1115:       struct _Auto_node
1115:       {
1115:  template<typename... _Args>
1115:    _Auto_node(_Rb_tree& __t, _Args&&... __args)
1115:    : _M_t(__t),
1115:      _M_node(__t._M_create_node(std::forward<_Args>(__args)...))
1115:    { }
1115: 
1115:  ~_Auto_node()
1115:  {
1115:    if (_M_node)
1115:      _M_t._M_drop_node(_M_node);
1115:  }
1115: 
1115:  _Auto_node(_Auto_node&& __n)
1115:  : _M_t(__n._M_t), _M_node(__n._M_node)
1115:  { __n._M_node = nullptr; }
1115: 
1115:  const _Key&
1115:  _M_key() const
1115:  { return _S_key(_M_node); }
1115: 
1115:  iterator
1115:  _M_insert(pair<_Base_ptr, _Base_ptr> __p)
1115:  {
1115:    auto __it = _M_t._M_insert_node(__p.first, __p.second, _M_node);
1115:    _M_node = nullptr;
1115:    return __it;
1115:  }
1115: 
1115:  iterator
1115:  _M_insert_equal_lower()
1115:  {
1115:    auto __it = _M_t._M_insert_equal_lower_node(_M_node);
1115:    _M_node = nullptr;
1115:    return __it;
1115:  }
1115: 
1115:  _Rb_tree& _M_t;
1115:  _Link_type _M_node;
1115:       };
1115: 
1115:     };
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     inline void
1115:     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
1115:   _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     void
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_move_data(_Rb_tree& __x, false_type)
1115:     {
1115:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1115:  _M_move_data(__x, true_type());
1115:       else
1115:  {
1115:    constexpr bool __move = !__move_if_noexcept_cond<value_type>::value;
1115:    _Alloc_node __an(*this);
1115:    _M_root() = _M_copy<__move>(__x, __an);
1115:    if constexpr (__move)
1115:      __x.clear();
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     inline void
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_move_assign(_Rb_tree& __x, true_type)
1115:     {
1115:       clear();
1115:       if (__x._M_root() != nullptr)
1115:  _M_move_data(__x, true_type());
1115:       std::__alloc_on_move(_M_get_Node_allocator(),
1115:       __x._M_get_Node_allocator());
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     void
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_move_assign(_Rb_tree& __x, false_type)
1115:     {
1115:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
1115:  return _M_move_assign(__x, true_type{});
1115: 
1115: 
1115: 
1115:       _Reuse_or_alloc_node __roan(*this);
1115:       _M_impl._M_reset();
1115:       if (__x._M_root() != nullptr)
1115:  {
1115:    _M_root() = _M_copy<__as_rvalue>(__x, __roan);
1115:    __x.clear();
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     operator=(_Rb_tree&& __x)
1115:     noexcept(_Alloc_traits::_S_nothrow_move()
1115:       && is_nothrow_move_assignable<_Compare>::value)
1115:     {
1115:       _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare);
1115:       _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>());
1115:       return *this;
1115:     emSymbol symbol) const;
1434:   static const std::string& MeridiemSymbolToString(MeridiemSymbol symbol);
1434: 
1434:   CTemperature::Unit GetTemperatureUnit() const;
1434:   void SetTemperatureUnit(CTemperature::Unit temperatureUnit);
1434:   void SetTemperatureUnit(const std::string& temperatureUnit);
1434:   const std::string& GetTemperatureUnitString() const;
1434:   static const std::string& GetTemperatureUnitString(CTemperature::Unit temperatureUnit);
1434:   std::string GetTemperatureAsString(const CTemperature& temperature) const;
1434: 
1434:   CSpeed::Unit GetSpeedUnit() const;
1434:   void SetSpeedUnit(CSpeed::Unit speedUnit);
1434:   void SetSpeedUnit(const std::string& speedUnit);
1434:   const std::string& GetSpeedUnitString() const;
1434:   static const std::string& GetSpeedUnitString(CSpeed::Unit speedUnit);
1434:   std::string GetSpeedAsString(const CSpeed& speed) const;
1434: 
1434:   void GetRegionNames(std::vector<std::string>& array);
1434:   void SetCurrentRegion(const std::string& strName);
1434:   const std::string& GetCurrentRegion() const;
1434: 
1434:   std::set<std::string> GetSortTokens() const;
1434: 
1434:   static std::string GetLanguagePath() { return "resource://"; }
1434:   static std::string GetLanguagePath(const std::string &language);
1434:   static std::string GetLanguageInfoPath(const std::string &language);
1434:   bool UseLocaleCollation();
1434: 
1434:   static void LoadTokens(const TiXmlNode* pTokens, std::set<std::string>& vecTokens);
1434: 
1434:   static void SettingOptionsLanguageNamesFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                                 std::vector<StringSettingOption>& list,
1434:                                                 std::string& current,
1434:                                                 void* data);
1434:   static void SettingOptionsAudioStreamLanguagesFiller(
1434:       const std::shared_ptr<const CSetting>& setting,
1434:       std::vector<StringSettingOption>& list,
1434:       std::string& current,
1434:       void* data);
1434:   static void SettingOptionsSubtitleStreamLanguagesFiller(
1434:       const std::shared_ptr<const CSetting>& setting,
1434:       std::vector<StringSettingOption>& list,
1434:       std::string& current,
1434:       void* data);
1434:   static void SettingOptionsSubtitleDownloadlanguagesFiller(
1434:       const std::shared_ptr<const CSetting>& setting,
1434:       std::vector<StringSettingOption>& list,
1434:       std::string& current,
1434:       void* data);
1434:   static void SettingOptionsISO6391LanguagesFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                                    std::vector<StringSettingOption>& list,
1434:                                                    std::string& current,
1434:                                                    void* data);
1434:   static void SettingOptionsRegionsFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                           std::vector<StringSettingOption>& list,
1434:                                           std::string& current,
1434:                                           void* data);
1434:   static void SettingOptionsShortDateFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                                    std::vector<StringSettingOption>& list,
1434:                                                    std::string& current,
1434:                                                    void* data);
1434:   static void SettingOptionsLongDateFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                                   std::vector<StringSettingOption>& list,
1434:                                                   std::string& current,
1434:                                                   void* data);
1434:   static void SettingOptionsTimeFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                               std::vector<StringSetti7:     m_instanceData->visualization->toAddon->lock_preset = ADDON_lock_preset;
1417:     m_instanceData->visualization->toAddon->rate_preset = ADDON_rate_preset;
1417:     m_instanceData->visualization->toAddon->update_albumart = ADDON_update_albumart;
1417:     m_instanceData->visualization->toAddon->update_track = ADDON_update_track;
1417:     m_instanceData->visualization->toAddon->get_presets = ADDON_get_presets;
1417:     m_instanceData->visualization->toAddon->get_active_preset = ADDON_get_active_preset;
1417:     m_instanceData->visualization->toAddon->is_locked = ADDON_is_locked;
1417: 
1417:     m_instanceData->visualization->toKodi->get_properties(instance->info->kodi, &m_props);
1417:   }
1417: 
1417:   inline static bool ADDON_start(const KODI_ADDON_VISUALIZATION_HDL hdl,
1417:                                  int channels,
1417:                                  int samplesPerSec,
1417:                                  int bitsPerSample,
1417:                                  const char* songName)
1417:   {
1417:     CInstanceVisualization* thisClass = static_cast<CInstanceVisualization*>(hdl);
1417:     thisClass->m_renderHelper = kodi::gui::GetRenderHelper();
1417:     return thisClass->Start(channels, samplesPerSec, bitsPerSample, songName);
1417:   }
1417: 
1417:   inline static void ADDON_stop(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     CInstanceVisualization* thisClass = static_cast<CInstanceVisualization*>(hdl);
1417:     thisClass->Stop();
1417:     thisClass->m_renderHelper = nullptr;
1417:   }
1417: 
1417:   inline static void ADDON_audio_data(const KODI_ADDON_VISUALIZATION_HDL hdl,
1417:                                       const float* audioData,
1417:                                       size_t audioDataLength)
1417:   {
1417:     static_cast<CInstanceVisualization*>(hdl)->AudioData(audioData, audioDataLength);
1417:   }
1417: 
1417:   inline static bool ADDON_is_dirty(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->IsDirty();
1417:   }
1417: 
1417:   inline static void ADDON_render(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     CInstanceVisualization* thisClass = static_cast<CInstanceVisualization*>(hdl);
1417:     if (!thisClass->m_renderHelper)
1417:       return;
1417:     thisClass->m_renderHelper->Begin();
1417:     thisClass->Render();
1417:     thisClass->m_renderHelper->End();
1417:   }
1417: 
1417:   inline static int ADDON_get_sync_delay(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->GetSyncDelay();
1417:   }
1417: 
1417:   inline static unsigned int ADDON_get_presets(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     CInstanceVisualization* thisClass = static_cast<CInstanceVisualization*>(hdl);
1417:     std::vector<std::string> presets;
1417:     if (thisClass->GetPresets(presets))
1417:     {
1417:       for (const auto& it : presets)
1417:         thisClass->m_instanceData->visualization->toKodi->transfer_preset(
1417:             thisClass->m_instanceData->info->kodi, it.c_str());
1417:     }
1417: 
1417:     return static_cast<unsigned int>(presets.size());
1417:   }
1417: 
1417:   inline static int ADDON_get_active_preset(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->GetActivePreset();
1417:   }
1417: 
1417:   inline static bool ADDON_prev_preset(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->PrevPreset();
1417:   }
1417: 
1417:   inline static bool ADDON_next_preset(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->NextPreset();
1417:   }
1417: 
1417:   inline static bool ADDON_load_preset(const KODI_ADDON_VISUALIZATION_HDL hdl, int select)
1417: 
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->LoadPreset(select);
1417:   }
1417: 
1417:   inline static bool ADDON_random_preset(const KODI_ADDON_VISUALIZATION_HDngOption>& list,
1434:                                               std::string& current,
1434:                                               void* data);
1434:   static void SettingOptions24HourClockFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                                      std::vector<StringSettingOption>& list,
1434:                                                      std::string& current,
1434:                                                      void* data);
1434:   static void SettingOptionsTemperatureUnitsFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                                    std::vector<StringSettingOption>& list,
1434:                                                    std::string& current,
1434:                                                    void* data);
1434:   static void SettingOptionsSpeedUnitsFiller(const std::shared_ptr<const CSetting>& setting,
1434:                                              std::vector<StringSettingOption>& list,
1434:                                              std::string& current,
1434:                                              void* data);
1434: 
1434: protected:
1434:   void SetDefaults();
1434:   bool Load(const std::string& strLanguage);
1434: 
1434:   static bool DetermineUse24HourClockFromTimeFormat(const std::string& timeFormat);
1434:   static bool DetermineUseMeridiemFromTimeFormat(const std::string& timeFormat);
1434:   static std::string PrepareTimeFormat(const std::string& timeFormat, bool use24HourClock);
1434:   static void AddLanguages(std::vector<StringSettingOption> &list);
1434: 
1434:   class CRegion final
1434:   {
1434:   public:
1434:     CRegion();
1434:     void SetDefaults();
1434:     void SetTemperatureUnit(const std::string& strUnit);
1434:     void SetSpeedUnit(const std::string& strUnit);
1434:     void SetTimeZone(const std::string& strTimeZone);
1434: 
1434:     class custom_numpunct : public std::numpunct<char>
1434:     {
1434:     public:
1434:       custom_numpunct(const char decimal_point, const char thousands_sep, const std::string& grouping)
1434:         : cDecimalPoint(decimal_point), cThousandsSep(thousands_sep), sGroup(grouping) {}
1434:     protected:
1434:       char do_decimal_point() const override { return cDecimalPoint; }
1434:       char do_thousands_sep() const override { return cThousandsSep; }
1434:       std::string do_grouping() const override { return sGroup; }
1434:     private:
1434:       const char cDecimalPoint;
1434:       const char cThousandsSep;
1434:       const std::string sGroup;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     void SetGlobalLocale();
1434:     std::string m_strLangLocaleName;
1434:     std::string m_strLangLocaleCodeTwoChar;
1434:     std::string m_strRegionLocaleName;
1434:     std::string m_strName;
1434:     std::string m_strDateFormatLong;
1434:     std::string m_strDateFormatShort;
1434:     std::string m_strTimeFormat;
1434:     std::string m_strMeridiemSymbols[2];
1434:     std::string m_strTimeZone;
1434:     std::string m_strGrouping;
1434:     char m_cDecimalSep;
1434:     char m_cThousandsSep;
1434: 
1434:     CTemperature::Unit m_tempUnit;
1434:     CSpeed::Unit m_speedUnit;
1434:   };
1434: 
1434: 
1434:   typedef std::map<std::string, CRegion> MAPREGIONS;
1434:   typedef std::map<std::string, CRegion>::iterator ITMAPREGIONS;
1434:   typedef std::pair<std::string, CRegion> PAIR_REGIONS;
1434:   MAPREGIONS m_regions;
1434:   CRegion* m_currentRegion;
1434:   CRegion m_defaultRegion;
1434:   std::locale m_systemLocale;
1434:   std::locale m_originalLocale;
1434:   int m_collationtype;
1434:   LanguageResourcePtr m_languageAddon;
1434: 
1434:   std::string m_strGuiCharSet;
1434:   bool m_forceUnicodeFont;
1434:   std::string m_strSubtitleCharSet;
1434:   std::string m_strDVDMenuLanguage;
1434:   std::string m_strDVDAudioLanguage;
1434:   std::string m_strDVDSubtitleLanguage;
1434:   std::set<std::string> m_sortTokens;
1434: 
1434:   std::string m_shortDateFormat;
1434:   std::s}
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     template<typename _Iterator>
1115:       void
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_assign_unique(_Iterator __first, _Iterator __last)
1115:       {
1115:  _Reuse_or_alloc_node __roan(*this);
1115:  _M_impl._M_reset();
1115:  for (; __first != __last; ++__first)
1115:    _M_insert_unique_(end(), *__first, __roan);
1115:       }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     template<typename _Iterator>
1115:       void
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_assign_equal(_Iterator __first, _Iterator __last)
1115:       {
1115:  _Reuse_or_alloc_node __roan(*this);
1115:  _M_impl._M_reset();
1115:  for (; __first != __last; ++__first)
1115:    _M_insert_equal_(end(), *__first, __roan);
1115:       }
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     operator=(const _Rb_tree& __x)
1115:     {
1115:       if (this != std::__addressof(__x))
1115:  {
1115: 
1115: 
1115:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1115:      {
1115:        auto& __this_alloc = this->_M_get_Node_allocator();
1115:        auto& __that_alloc = __x._M_get_Node_allocator();
1115:        if (!_Alloc_traits::_S_always_equal()
1115:     && __this_alloc != __that_alloc)
1115:   {
1115: 
1115: 
1115:     clear();
1115:     std::__alloc_on_copy(__this_alloc, __that_alloc);
1115:   }
1115:      }
1115: 
1115: 
1115:    _Reuse_or_alloc_node __roan(*this);
1115:    _M_impl._M_reset();
1115:    _M_impl._M_key_compare = __x._M_impl._M_key_compare;
1115:    if (__x._M_root() != 0)
1115:      _M_root() = _M_copy<__as_lvalue>(__x, __roan);
1115:  }
1115: 
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115: 
1115:     template<typename _Arg, typename _NodeGen>
1115: 
1115: 
1115: 
1115:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_insert_(_Base_ptr __x, _Base_ptr __p,
1115: 
1115:    _Arg&& __v,
1115: 
1115: 
1115: 
1115:    _NodeGen& __node_gen)
1115:       {
1115:  bool __insert_left = (__x != 0 || __p == _M_end()
1115:          || _M_impl._M_key_compare(_KeyOfValue()(__v),
1115:        _S_key(__p)));
1115: 
1115:  _Link_type __z = __node_gen(std::forward<_Arg>(__v));
1115: 
1115:  _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1115:           this->_M_impl._M_header);
1115:  ++_M_impl._M_node_count;
1115:  return iterator(__z);
1115:       }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115: 
1115:     template<typename _Arg>
1115: 
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115: 
1115:     _M_insert_lower(_Base_ptr __p, _Arg&& __v)
1115: 
1115: 
1115: 
1115:     {
1115:       bool __insert_left = (__p == _M_end()
1115:        || !_M_impl._M_key_compare(_S_key(__p),
1115:              _KeyOfValue()(__v)));
1115: 
1115:       _Link_type __z = _M_create_node(std::forward<_Arg>(__v));
1115: 
1115:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1115:         this->_M_impl._M_header);
1115:       ++_M_impl._M_node_count;
1115:       return iterator(__z);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115: 
1115:     template<typename _Arg>
1115: 
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115: 
1115:     _M_insert_equal_lower(_Arg&& __v)
1115: 
1115: 
1115: 
1115:     {
1115:       _Link_type __x = _M_begin();
1115:       _Base_ptr __y = _M_end();
1115:       while (__x != 0)
1115:  {
1115:    __y = __x;
1115:    __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
1115:   _S_left(__x) : _S_right(__x);
1115:  }
1115:       return _M_insert_lower(__y, std::forward<_Arg>(__v));
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KoV,
1115:     typename _Compare, typename _Alloc>
1115:     template<bool _MoveValues, typename _NodeGen>
1115:       typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
1115:       _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
1115:       _M_copy(_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen)
1115:       {
1115: 
1115:  _Link_type __top = _M_clone_node<_MoveValues>(__x, __node_gen);
1115:  __top->_M_parent = __p;
1115: 
1115:  try
1115:    {
1115:      if (__x->_M_right)
1115:        __top->_M_right =
1115:   _M_copy<_MoveValues>(_S_right(__x), __top, __node_gen);
1115:      __p = __top;
1115:      __x = _S_left(__x);
1115: 
1115:      while (__x != 0)
1115:        {
1115:   _Link_type __y = _M_clone_node<_MoveValues>(__x, __node_gen);
1115:   __p->_M_left = __y;
1115:   __y->_M_parent = __p;
1115:   if (__x->_M_right)
1115:     __y->_M_right = _M_copy<_MoveValues>(_S_right(__x),
1115:              __y, __node_gen);
1115:   __p = __y;
1115:   __x = _S_left(__x);
1115:        }
1115:    }
1115:  catch(...)
1115:    {
1115:      _M_erase(__top);
1115:      throw;
1115:    }
1115:  return __top;
1115:       }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     void
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_erase(_Link_type __x)
1115:     {
1115: 
1115:       while (__x != 0)
1115:  {
1115:    _M_erase(_S_right(__x));
1115:    _Link_type __y = _S_left(__x);
1115:    _M_drop_node(__x);
1115:    __x = __y;
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:         _Compare, _Alloc>::iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_lower_bound(_Link_type __x, _Base_ptr __y,
1115:      const _Key& __k)
1115:     {
1115:       while (__x != 0)
1115:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1115:    __y = __x, __x = _S_left(__x);
1115:  else
1115:    __x = _S_right(__x);
1115:       return iterator(__y);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:         _Compare, _Alloc>::const_iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1115:      const _Key& __k) const
1115:     {
1115:       while (__x != 0)
1115:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
1115:    __y = __x, __x = _S_left(__x);
1115:  else
1115:    __x = _S_right(__x);
1115:       return const_iterator(__y);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:         _Compare, _Alloc>::iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_upper_bound(_Link_type __x, _Base_ptr __y,
1115:      const _Key& __k)
1115:     {
1115:       while (__x != 0)
1115:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1115:    __y = __x, __x = _S_left(__x);
1115:  else
1115:    __x = _S_right(__x);
1115:       return iterator(__y);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:        tring m_longDateFormat;
1434:   std::string m_timeFormat;
1434:   bool m_use24HourClock;
1434:   CTemperature::Unit m_temperatureUnit;
1434:   CSpeed::Unit m_speedUnit;
1434: 
1434:   std::string m_audioLanguage;
1434:   std::string m_subtitleLanguage;
1434: 
1434:   std::string m_languageCodeGeneral;
1434: };
1434: 
1434: 
1434: static std::shared_ptr<CLangInfo> g_langInfoRef(xbmcutil::GlobalsSingleton<CLangInfo>::getInstance());
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace ADDON
1434: {
1434: class CAddonMgr;
1434: class CBinaryAddonManager;
1434: class CBinaryAddonCache;
1434: class CVFSAddonCache;
1434: class CServiceAddonManager;
1434: class CRepositoryUpdater;
1434: }
1434: 
1434: namespace ANNOUNCEMENT
1434: {
1434: class CAnnouncementManager;
1434: }
1434: 
1434: namespace MEDIA_DETECT
1434: {
1434: class CDetectDVDMedia;
1434: }
1434: 
1434: namespace PVR
1434: {
1434: class CPVRManager;
1434: }
1434: 
1434: namespace PLAYLIST
1434: {
1434: class CPlayListPlayer;
1434: }
1434: 
1434: namespace KODI
1434: {
1434: namespace MESSAGING
1434: {
1434: class CApplicationMessenger;
1434: }
1434: }
1434: 
1434: class CAppParams;
1434: template<class T>
1434: class CComponentContainer;
1434: class CContextMenuManager;
1434: class XBPython;
1434: class CDataCacheCore;
1434: class IAE;
1434: class IApplicationComponent;
1434: class CFavouritesService;
1434: class CInputManager;
1434: class CFileExtensionProvider;
1434: class CNetworkBase;
1434: class CWinSystemBase;
1434: class CRenderSystemBase;
1434: class CPowerManager;
1434: class CWeatherManager;
1434: class CPlayerCoreFactory;
1434: class CDatabaseManager;
1434: class CEventLog;
1434: class CGUIComponent;
1434: class CAppInboundProtocol;
1434: class CSettingsComponent;
1434: class CDecoderFilterManager;
1434: class CMediaManager;
1434: class CCPUInfo;
1434: class CLog;
1434: class CPlatform;
1434: class CTextureCache;
1434: class CJobManager;
1434: class CKeyboardLayoutManager;
1434: 
1434: namespace WSDiscovery
1434: {
1434: class IWSDiscovery;
1434: }
1434: 
1434: namespace KODI
1434: {
1434: namespace ADDONS
1434: {
1434: class CExtsMimeSupportList;
1434: }
1434: 
1434: namespace GAME
1434: {
1434: class CControllerManager;
1434: class CGameServices;
1434: }
1434: 
1434: namespace RETRO
1434: {
1434: class CGUIGameRenderManager;
1434: }
1434: }
1434: 
1434: namespace PERIPHERALS
1434: {
1434: class CPeripherals;
1434: }
1434: 
1434: namespace speech
1434: {
1434: class ISpeechRecognition;
1434: }
1434: 
1434: class CServiceBroker
1434: {
1434: public:
1434:   CServiceBroker();
1434:   ~CServiceBroker();
1434: 
1434:   static std::shared_ptr<CAppParams> GetAppParams();
1434:   static void RegisterAppParams(const std::shared_ptr<CAppParams>& appParams);
1434:   static void UnregisterAppParams();
1434: 
1434:   static CLog& GetLogging();
1434:   static void CreateLogging();
1434:   static void DestroyLogging();
1434: 
1434:   static std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> GetAnnouncementManager();
1434:   static void RegisterAnnouncementManager(
1434:       std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> announcementManager);
1434:   static void UnregisterAnnouncementManager();
1434: 
1434:   static ADDON::CAddonMgr& GetAddonMgr();
1434:   static ADDON::CBinaryAddonManager& GetBinaryAddonManager();
1434:   static ADDON::CBinaryAddonCache& GetBinaryAddonCache();
1434:   static KODI::ADDONS::CExtsMimeSupportList& GetExtsMimeSupportList();
1434:   static ADDON::CVFSAddonCache& GetVFSAddonCache();
1434:   static XBPython& GetXBPython();
1434:   static WSDiscovery::IWSDiscovery& GetWSDiscovery();
1434:   static MEDIA_DETECT::CDetectDVDMedia& GetDetectDVDMedia();
1434:   static PVR::CPVRManager& GetPVRManager();
1434:   static CContextMenuManager& GetContextMenuManager();
1434:   static CDataCacheCore& GetDataCacheCore();
143L hdl)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->RandomPreset();
1417:   }
1417: 
1417:   inline static bool ADDON_lock_preset(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     CInstanceVisualization* thisClass = static_cast<CInstanceVisualization*>(hdl);
1417:     thisClass->m_presetLockedByUser = !thisClass->m_presetLockedByUser;
1417:     return thisClass->LockPreset(thisClass->m_presetLockedByUser);
1417:   }
1417: 
1417:   inline static bool ADDON_rate_preset(const KODI_ADDON_VISUALIZATION_HDL hdl, bool plus_minus)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->RatePreset(plus_minus);
1417:   }
1417: 
1417:   inline static bool ADDON_is_locked(const KODI_ADDON_VISUALIZATION_HDL hdl)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->IsLocked();
1417:   }
1417: 
1417:   inline static bool ADDON_update_albumart(const KODI_ADDON_VISUALIZATION_HDL hdl,
1417:                                            const char* albumart)
1417:   {
1417:     return static_cast<CInstanceVisualization*>(hdl)->UpdateAlbumart(albumart);
1417:   }
1417: 
1417:   inline static bool ADDON_update_track(const KODI_ADDON_VISUALIZATION_HDL hdl,
1417:                                         const KODI_ADDON_VISUALIZATION_TRACK* track)
1417:   {
1417:     VisualizationTrack cppTrack(track);
1417:     return static_cast<CInstanceVisualization*>(hdl)->UpdateTrack(cppTrack);
1417:   }
1417: 
1417:   std::shared_ptr<kodi::gui::IRenderHelper> m_renderHelper;
1417:   bool m_presetLockedByUser = false;
1417:   KODI_ADDON_INSTANCE_STRUCT* m_instanceData{nullptr};
1417:   KODI_ADDON_VISUALIZATION_PROPS m_props = {};
1417: };
1417: 
1417: }
1417: }
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/Visualization.h" 2
1417: 
1417: namespace KODI
1417: {
1417: namespace ADDONS
1417: {
1417: 
1417: class CVisualization : public ADDON::IAddonInstanceHandler
1417: {
1417: public:
1417:   CVisualization(const ADDON::AddonInfoPtr& addonInfo, float x, float y, float w, float h);
1417:   ~CVisualization() override;
1417: 
1417:   bool Start(int channels, int samplesPerSec, int bitsPerSample, const std::string& songName);
1417:   void Stop();
1417:   void AudioData(const float* audioData, int audioDataLength);
1417:   bool IsDirty();
1417:   void Render();
1417:   int GetSyncDelay();
1417:   bool NextPreset();
1417:   bool PrevPreset();
1417:   bool LoadPreset(int select);
1417:   bool RandomPreset();
1417:   bool LockPreset();
1417:   bool RatePreset(bool plus_minus);
1417:   bool UpdateAlbumart(const char* albumart);
1417:   bool UpdateTrack(const KODI_ADDON_VISUALIZATION_TRACK* track);
1417:   bool HasPresets();
1417:   bool GetPresetList(std::vector<std::string>& vecpresets);
1417:   int GetActivePreset();
1417:   std::string GetActivePresetName();
1417:   bool IsLocked();
1417: 
1417: 
1417:   void GetProperties(struct KODI_ADDON_VISUALIZATION_PROPS* props);
1417:   void TransferPreset(const std::string& preset);
1417:   void ClearPresets();
1417: 
1417: private:
1417:   const int m_x;
1417:   const int m_y;
1417:   const int m_width;
1417:   const int m_height;
1417:   std::vector<std::string> m_presets;
1417: };
1417: 
1417: }
1417: }
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h"
1417:        
1417: 
1417: # 1 "/usr/include/c++/12/stdlib.h" 1 3
1417: # 36 "/usr/include/c++/12/stdlib.h" 3
1417: # 1 "/usr/include/c++/12/cstdlib" 1 3
1417: # 39 "/usr/include/c++/12/cstdlib" 3
1417:        
1417: # 40 "/usr/include/c++/12/cstdlib" 3
1417: # 37 "/usr/include/c++/12/stdlib.h" 2 3
1417: 
1417: 
1417: # 38 "/usr/include/c++/12/stdlib.h" 3
1417: using std::abort;
1417: using std::atexit;
1417: _Compare, _Alloc>::const_iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
1115:      const _Key& __k) const
1115:     {
1115:       while (__x != 0)
1115:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
1115:    __y = __x, __x = _S_left(__x);
1115:  else
1115:    __x = _S_right(__x);
1115:       return const_iterator(__y);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::iterator,
1115:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::iterator>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     equal_range(const _Key& __k)
1115:     {
1115:       _Link_type __x = _M_begin();
1115:       _Base_ptr __y = _M_end();
1115:       while (__x != 0)
1115:  {
1115:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1115:      __x = _S_right(__x);
1115:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1115:      __y = __x, __x = _S_left(__x);
1115:    else
1115:      {
1115:        _Link_type __xu(__x);
1115:        _Base_ptr __yu(__y);
1115:        __y = __x, __x = _S_left(__x);
1115:        __xu = _S_right(__xu);
1115:        return pair<iterator,
1115:      iterator>(_M_lower_bound(__x, __y, __k),
1115:         _M_upper_bound(__xu, __yu, __k));
1115:      }
1115:  }
1115:       return pair<iterator, iterator>(iterator(__y),
1115:           iterator(__y));
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::const_iterator,
1115:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::const_iterator>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     equal_range(const _Key& __k) const
1115:     {
1115:       _Const_Link_type __x = _M_begin();
1115:       _Const_Base_ptr __y = _M_end();
1115:       while (__x != 0)
1115:  {
1115:    if (_M_impl._M_key_compare(_S_key(__x), __k))
1115:      __x = _S_right(__x);
1115:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
1115:      __y = __x, __x = _S_left(__x);
1115:    else
1115:      {
1115:        _Const_Link_type __xu(__x);
1115:        _Const_Base_ptr __yu(__y);
1115:        __y = __x, __x = _S_left(__x);
1115:        __xu = _S_right(__xu);
1115:        return pair<const_iterator,
1115:      const_iterator>(_M_lower_bound(__x, __y, __k),
1115:        _M_upper_bound(__xu, __yu, __k));
1115:      }
1115:  }
1115:       return pair<const_iterator, const_iterator>(const_iterator(__y),
1115:         const_iterator(__y));
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     void
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     swap(_Rb_tree& __t)
1115:     noexcept(__is_nothrow_swappable<_Compare>::value)
1115:     {
1115:       if (_M_root() == 0)
1115:  {
1115:    if (__t._M_root() != 0)
1115:      _M_impl._M_move_data(__t._M_impl);
1115:  }
1115:       else if (__t._M_root() == 0)
1115:  __t._M_impl._M_move_data(_M_impl);
1115:       else
1115:  {
1115:    std::swap(_M_root(),__t._M_root());
1115:    std::swap(_M_leftmost(),__t._M_leftmost());
1115:    std::swap(_M_rightmost(),__t._M_rightmost());
1115: 
1115:    _M_root()->_M_parent = _M_end();
1115:    __t._M_root()->_M_parent = __t._M_end();
1115:    std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
1115:  }
1115: 
1115:       std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
1115: 
1115:       _Alloc_traits::_S_on_swap(_M_get_Node_allocator(),
1115:     __t._M_get_Node_allocator());
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     pair<typename _Rb_tree<_Key, _Va4:   static CPlatform& GetPlatform();
1434:   static PLAYLIST::CPlayListPlayer& GetPlaylistPlayer();
1434:   static KODI::GAME::CControllerManager& GetGameControllerManager();
1434:   static KODI::GAME::CGameServices& GetGameServices();
1434:   static KODI::RETRO::CGUIGameRenderManager& GetGameRenderManager();
1434:   static PERIPHERALS::CPeripherals& GetPeripherals();
1434:   static CFavouritesService& GetFavouritesService();
1434:   static ADDON::CServiceAddonManager& GetServiceAddons();
1434:   static ADDON::CRepositoryUpdater& GetRepositoryUpdater();
1434:   static CInputManager& GetInputManager();
1434:   static CFileExtensionProvider& GetFileExtensionProvider();
1434:   static bool IsAddonInterfaceUp();
1434:   static bool IsServiceManagerUp();
1434:   static CNetworkBase& GetNetwork();
1434:   static CPowerManager& GetPowerManager();
1434:   static CWeatherManager& GetWeatherManager();
1434:   static CPlayerCoreFactory& GetPlayerCoreFactory();
1434:   static CDatabaseManager& GetDatabaseManager();
1434:   static CEventLog* GetEventLog();
1434:   static CMediaManager& GetMediaManager();
1434:   static CComponentContainer<IApplicationComponent>& GetAppComponents();
1434: 
1434:   static CGUIComponent* GetGUI();
1434:   static void RegisterGUI(CGUIComponent* gui);
1434:   static void UnregisterGUI();
1434: 
1434:   static void RegisterSettingsComponent(const std::shared_ptr<CSettingsComponent>& settings);
1434:   static void UnregisterSettingsComponent();
1434:   static std::shared_ptr<CSettingsComponent> GetSettingsComponent();
1434: 
1434:   static void RegisterWinSystem(CWinSystemBase* winsystem);
1434:   static void UnregisterWinSystem();
1434:   static CWinSystemBase* GetWinSystem();
1434:   static CRenderSystemBase* GetRenderSystem();
1434: 
1434:   static IAE* GetActiveAE();
1434:   static void RegisterAE(IAE* ae);
1434:   static void UnregisterAE();
1434: 
1434:   static std::shared_ptr<CAppInboundProtocol> GetAppPort();
1434:   static void RegisterAppPort(std::shared_ptr<CAppInboundProtocol> port);
1434:   static void UnregisterAppPort();
1434: 
1434:   static void RegisterDecoderFilterManager(CDecoderFilterManager* manager);
1434:   static CDecoderFilterManager* GetDecoderFilterManager();
1434: 
1434:   static std::shared_ptr<CCPUInfo> GetCPUInfo();
1434:   static void RegisterCPUInfo(std::shared_ptr<CCPUInfo> cpuInfo);
1434:   static void UnregisterCPUInfo();
1434: 
1434:   static void RegisterTextureCache(const std::shared_ptr<CTextureCache>& cache);
1434:   static void UnregisterTextureCache();
1434:   static std::shared_ptr<CTextureCache> GetTextureCache();
1434: 
1434:   static void RegisterJobManager(const std::shared_ptr<CJobManager>& jobManager);
1434:   static void UnregisterJobManager();
1434:   static std::shared_ptr<CJobManager> GetJobManager();
1434: 
1434:   static void RegisterAppMessenger(
1434:       const std::shared_ptr<KODI::MESSAGING::CApplicationMessenger>& appMessenger);
1434:   static void UnregisterAppMessenger();
1434:   static std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> GetAppMessenger();
1434: 
1434:   static void RegisterKeyboardLayoutManager(
1434:       const std::shared_ptr<CKeyboardLayoutManager>& keyboardLayoutManager);
1434:   static void UnregisterKeyboardLayoutManager();
1434:   static std::shared_ptr<CKeyboardLayoutManager> GetKeyboardLayoutManager();
1434: 
1434:   static void RegisterSpeechRecognition(
1434:       const std::shared_ptr<speech::ISpeechRecognition>& speechRecognition);
1434:   static void UnregisterSpeechRecognition();
1434:   static std::shared_ptr<speech::ISpeechRecognition> GetSpeechRecognition();
1434: 
1434: private:
1434:   std::shared_ptr<CAppParams> m_appParams;
1434:   std::unique_ptr<CLog> m_logging;
1434:   std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> m_pAnnouncementManager;
1434:   CGUIComponent* m_pGUI;
1434:   CWinSystemBase* m_pWinSystem;
1434:   IAE* m_pActiveAE;
1434:   std::shared_ptr<CAppInboundProtocol> m_pAppPort;
1434:   std::shared_ptr<CSettingsComponent> m_pSettingsComponent;
1434:   CDecoderFilterManager* m_de using std::exit;
1417: 
1417: 
1417:   using std::at_quick_exit;
1417: 
1417: 
1417:   using std::quick_exit;
1417: 
1417: 
1417: 
1417: 
1417: using std::div_t;
1417: using std::ldiv_t;
1417: 
1417: using std::abs;
1417: using std::atof;
1417: using std::atoi;
1417: using std::atol;
1417: using std::bsearch;
1417: using std::calloc;
1417: using std::div;
1417: using std::free;
1417: using std::getenv;
1417: using std::labs;
1417: using std::ldiv;
1417: using std::malloc;
1417: 
1417: using std::mblen;
1417: using std::mbstowcs;
1417: using std::mbtowc;
1417: 
1417: using std::qsort;
1417: using std::rand;
1417: using std::realloc;
1417: using std::srand;
1417: using std::strtod;
1417: using std::strtol;
1417: using std::strtoul;
1417: using std::system;
1417: 
1417: using std::wcstombs;
1417: using std::wctomb;
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h" 2
1417: 
1417: 
1417: 
1417: 
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h"
1417: namespace ADDON
1417: {
1417: 
1417: class CAddonInfoBuilder;
1417: class CAddonDatabaseSerializer;
1417: 
1417: struct SExtValue
1417: {
1417:   explicit SExtValue(const std::string& strValue) : str(strValue) { }
1417:   const std::string& asString() const { return str; }
1417:   bool asBoolean() const;
1417:   int asInteger() const { return std::atoi(str.c_str()); }
1417:   float asFloat() const { return static_cast<float>(std::atof(str.c_str())); }
1417:   bool empty() const { return str.empty(); }
1417:   const std::string str;
1417: };
1417: 
1417: class CExtValues;
1417: class CAddonExtensions;
1417: typedef std::vector<std::pair<std::string, CAddonExtensions>> EXT_ELEMENTS;
1417: typedef std::vector<std::pair<std::string, SExtValue>> EXT_VALUE;
1417: typedef std::vector<std::pair<std::string, CExtValues>> EXT_VALUES;
1417: 
1417: class CExtValues : public EXT_VALUE
1417: {
1417: public:
1417:   CExtValues(const EXT_VALUE& values) : EXT_VALUE(values) { }
1417: 
1417:   const SExtValue GetValue(const std::string& id) const
1417:   {
1417:     for (const auto& value : *this)
1417:     {
1417:       if (value.first == id)
1417:         return value.second;
1417:     }
1417:     return SExtValue("");
1417:   }
1417: };
1417: 
1417: class CAddonExtensions
1417: {
1417: public:
1417:   CAddonExtensions() = default;
1417:   ~CAddonExtensions() = default;
1417: 
1417:   const SExtValue GetValue(const std::string& id) const;
1417:   const EXT_VALUES& GetValues() const;
1417:   const CAddonExtensions* GetElement(const std::string& id) const;
1417:   const EXT_ELEMENTS GetElements(const std::string& id = "") const;
1417: 
1417:   void Insert(const std::string& id, const std::string& value);
1417: 
1417: private:
1417:   friend class CAddonInfoBuilder;
1417:   friend class CAddonDatabaseSerializer;
1417: 
1417:   std::string m_point;
1417:   EXT_VALUES m_values;
1417:   EXT_ELEMENTS m_children;
1417: };
1417: 
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h" 2
1417: 
1417: 
1417: 
1417: 
1417: class TiXmlElement;
1417: 
1417: namespace ADDON
1417: {
1417: 
1417: enum class AddonType
1417: {
1417:   UNKNOWN = 0,
1417:   VISUALIZATION,
1417:   SKIN,
1417:   PVRDLL,
1417:   INPUTSTREAM,
1417:   GAMEDLL,
1417:   PERIPHERALDLL,
1417:   SCRIPT,
1417:   SCRIPT_WEATHER,
1417:   SUBTITLE_MODULE,
1417:   SCRIPT_LYRICS,
1417:   SCRAPER_ALBUMS,
1417:   SCRAPER_ARTISTS,
1417:   SCRAPER_MOVIES,
1417:   SCRAPER_MUSICVIDEOS,
1417:   SCRAPER_TVSHOWS,
1417:   SCREENSAVER,
1417:   PLUGIN,
1417:   REPOSITORY,
1417:   WEB_INTERFACE,
1417:   SERVICE,
1417:   AUDIOENCODER,
1417:   CONTEXTMENU_ITEM,
1417:   AUDIODECODER,
1417:   RESOURCE_IMAGES,
1417:   RESOURCE_LANGUAGE,
1417:   RESOURCE_TIMEZONE,
1417:   RESOURCE_UISOUNDS,
1417:   RESOURCE_GAMES,
1417:   RESOURCE_FONT,
1417:   VFS,
1417:   IMAGEDECODER,
1417:   SCRAPER_LIBRARY,
1417:   SCRIPT_LIBRARY,
1417:   SCRIPT_MODULE,
1417:   GAME_CONTROLLER,
1417:   VIDEOCODEC,
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   VIDEO,
1417:   AUDIO,
1417:   IMAGE,
1417:   EXECUTABLE,
1417:   GAME,
1417: 
1417: 
1417:   MAX_TYPES
1417: };
1417: 
1417: class CAddonInfoBuilder;
1417: class CAddonDatabaseSerializer;
1417: 
1417: class CAddonType : public CAddonExtensions
1417: {
1417: public:
1417:   CAddonType(AddonType type = AddonType::UNKNOWN) : m_type(type) {}
1417: 
1417:   AddonType Type() const { return m_type; }
1417:   std::string LibPath() const;
1417:   const std::string& LibName() const { return m_libname; }
1417: 
1417:   bool ProvidesSubContent(const AddonType& content) const
1417:   {
1417:     return content == AddonType::UNKNOWN
1417:                ? false
1417:                : m_type == content || m_providedSubContent.count(content) > 0;
1417:   }
1417: 
1417:   bool ProvidesSeveralSubContents() const
1417:   {
1417:     return m_providedSubContent.size() > 1;
1417:   }
1417: 
1417:   size_t ProvidedSubContents() const
1417:   {
1417:     return m_providedSubContent.size();
1417:   }
1417: # 111 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h"
1417:   static bool IsDependencyType(AddonType type);
1417: 
1417: private:
1417:   friend class CAddonInfoBuilder;
1417:   friend class CAddonInfoBuilderFromDB;
1417:   friend class CAddonDatabaseSerializer;
1417: 
1417:   void SetProvides(const std::string& content);
1417: 
1417:   AddonType m_type;
1417:   std::string m_path;
1417:   std::string m_libname;
1417:   std::set<AddonType> m_providedSubContent;
1417: };
1417: 
1417: }
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/IApplicationComponent.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/IApplicationComponent.h"
1417:        
1417: 
1417: 
1417: class IApplicationComponent
1417: {
1417: public:
1417:   virtual ~IApplicationComponent() = default;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h"
1417:        
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/cstddef" 1 3
1417: # 42 "/usr/include/c++/12/cstddef" 3
1417:        
1417: # 43 "/usr/include/c++/12/cstddef" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 51 "/usr/include/c++/12/cstddef" 2 3
1417: 
1417: 
1417: # 52 "/usr/include/c++/12/cstddef" 3
1417: extern "C++"
1417: {
1417: 
1417: namespace std
1417: {
1417: 
1417:   using ::max_align_t;
1417: }
1417: 
1417: 
1417: 
1417: namespace std
1417: {
1417: 
1417: 
1417: 
1417: 
1417:   enum class byte : unsigned char {};
1417: 
1417:   template<typename _IntegerType> struct __byte_operand { };
1417:   template<> struct __byte_operand<bool> { using __type = byte; };
1417:   template<> struct __byte_operand<char> { using __type = byte; };
1417:   template<> struct __byte_operand<signed char> { using __type = byte; };
1417:   template<> struct __byte_operand<unsigned char> { using __type = byte; };
1417:   template<> struct __byte_operand<wchar_t> { using __type = byte; };
1417: 
1417: 
1417: 
1417:   template<> struct __byte_operand<char16_t> { using __type = byte; };
1417:   template<> struct __byte_operand<char32_t> { using __type = byte; };
1417:   template<> struct __byte_operand<short> { using __type = byte; };
1417:   template<> struct __byte_operand<unsigned short> { using __type = byte; };
1417:   template<> struct __byte_operand<int> { using __type = byte; };
1417:   template<> struct __byte_operand<unsigned int> { using __type = byte; };
1417:   template<coderFilterManager;
1434:   std::shared_ptr<CCPUInfo> m_cpuInfo;
1434:   std::shared_ptr<CTextureCache> m_textureCache;
1434:   std::shared_ptr<CJobManager> m_jobManager;
1434:   std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> m_appMessenger;
1434:   std::shared_ptr<CKeyboardLayoutManager> m_keyboardLayoutManager;
1434:   std::shared_ptr<speech::ISpeechRecognition> m_speechRecognition;
1434: };
1434: 
1434: static std::shared_ptr<CServiceBroker> g_serviceBrokerRef(xbmcutil::GlobalsSingleton<CServiceBroker>::getInstance());
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CWeatherJob : public CJob
1434: {
1434: public:
1434:   explicit CWeatherJob(int location);
1434: 
1434:   bool DoWork() override;
1434: 
1434:   const CWeatherInfo &GetInfo() const;
1434: private:
1434:   static std::string ConstructPath(std::string in);
1434:   void LocalizeOverview(std::string &str);
1434:   void LocalizeOverviewToken(std::string &str);
1434:   void LoadLocalizedToken();
1434:   static int ConvertSpeed(int speed);
1434: 
1434:   void SetFromProperties();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static void FormatTemperature(std::string &text, double temp);
1434: 
1434:   struct ci_less
1434:   {
1434: 
1434:     struct nocase_compare
1434:     {
1434:       bool operator() (const unsigned char& c1, const unsigned char& c2) const {
1434:         return tolower(c1) < tolower(c2);
1434:       }
1434:     };
1434:     bool operator()(const std::string & s1, const std::string & s2) const {
1434:       return std::lexicographical_compare
1434:       (s1.begin(), s1.end(),
1434:         s2.begin(), s2.end(),
1434:         nocase_compare());
1434:     }
1434:   };
1434: 
1434:   std::map<std::string, int, ci_less> m_localizedTokens;
1434:   typedef std::map<std::string, int, ci_less>::const_iterator ilocalizedTokens;
1434: 
1434:   CWeatherInfo m_info;
1434:   int m_location;
1434: 
1434:   static bool m_imagesOkay;
1434: };
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1434:        
1434: 
1434: namespace XbmcThreads
1434: {
1434: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1434:   template<class L> class CountingLockable
1434:   {
1434:     friend class ConditionVariable;
1434: 
1434:     CountingLockable(const CountingLockable&) = delete;
1434:     CountingLockable& operator=(const CountingLockable&) = delete;
1434:   protected:
1434:     L mutex;
1434:     unsigned int count = 0;
1434: 
1434:   public:
1434:     inline CountingLockable() = default;
1434: 
1434: 
1434:     inline void lock() { mutex.lock(); count++; }
1434:     inline bool try_lock() { return mutex.try_lock() ? count++, true : false; }
1434:     inline void unlock() { count--; mutex.unlock(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     inline bool IsLocked() const { return count > 0; }
1434: 
1434: 
1434: 
1434: 
1434:     inline unsigned int exit(unsigned int leave = 0)
1434:     {
1434: 
1434: 
1434:       unsigned int ret = 0;
1434:       if (try_lock())
1434:       {
1434:         if (leave < (count - 1))
1434:         {
1434:           ret = count - 1 - leave;
1434: 
1434: 
1434: 
1434: 
1434:           for (unsigned int i = 0; i < ret; i++)
1434:             unlock();
1434:         }
1434:         unlock();
1434:       }
1434: 
1434:       return ret;
1434:     }
1434: 
1434: l, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr,
1115:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_get_insert_unique_pos(const key_type& __k)
1115:     {
1115:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1115:       _Link_type __x = _M_begin();
1115:       _Base_ptr __y = _M_end();
1115:       bool __comp = true;
1115:       while (__x != 0)
1115:  {
1115:    __y = __x;
1115:    __comp = _M_impl._M_key_compare(__k, _S_key(__x));
1115:    __x = __comp ? _S_left(__x) : _S_right(__x);
1115:  }
1115:       iterator __j = iterator(__y);
1115:       if (__comp)
1115:  {
1115:    if (__j == begin())
1115:      return _Res(__x, __y);
1115:    else
1115:      --__j;
1115:  }
1115:       if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
1115:  return _Res(__x, __y);
1115:       return _Res(__j._M_node, 0);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr,
1115:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_get_insert_equal_pos(const key_type& __k)
1115:     {
1115:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1115:       _Link_type __x = _M_begin();
1115:       _Base_ptr __y = _M_end();
1115:       while (__x != 0)
1115:  {
1115:    __y = __x;
1115:    __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
1115:   _S_left(__x) : _S_right(__x);
1115:  }
1115:       return _Res(__x, __y);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115: 
1115:     template<typename _Arg>
1115: 
1115:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::iterator, bool>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115: 
1115:     _M_insert_unique(_Arg&& __v)
1115: 
1115: 
1115: 
1115:     {
1115:       typedef pair<iterator, bool> _Res;
1115:       pair<_Base_ptr, _Base_ptr> __res
1115:  = _M_get_insert_unique_pos(_KeyOfValue()(__v));
1115: 
1115:       if (__res.second)
1115:  {
1115:    _Alloc_node __an(*this);
1115:    return _Res(_M_insert_(__res.first, __res.second,
1115:      std::forward<_Arg>(__v), __an),
1115:         true);
1115:  }
1115: 
1115:       return _Res(iterator(__res.first), false);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115: 
1115:     template<typename _Arg>
1115: 
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115: 
1115:     _M_insert_equal(_Arg&& __v)
1115: 
1115: 
1115: 
1115:     {
1115:       pair<_Base_ptr, _Base_ptr> __res
1115:  = _M_get_insert_equal_pos(_KeyOfValue()(__v));
1115:       _Alloc_node __an(*this);
1115:       return _M_insert_(__res.first, __res.second,
1115:    std::forward<_Arg>(__v), __an);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr,
1115:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_get_insert_hint_unique_pos(const_iterator __position,
1115:       const key_type& __k)
1115:     {
1115:       iterator __pos = __position._M_const_cast();
1115:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1115: 
1115: 
1115:       if (__pos._M_node == _M_end())
1115:  {
1115:    if (size() > 0
1115:        && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k))
1115:      return _Res(0, _M_rightmost());
1115:    else
1115:      return _M_get_insert_unique_pos(__> struct __byte_operand<long> { using __type = byte; };
1417:   template<> struct __byte_operand<unsigned long> { using __type = byte; };
1417:   template<> struct __byte_operand<long long> { using __type = byte; };
1417:   template<> struct __byte_operand<unsigned long long> { using __type = byte; };
1417: # 108 "/usr/include/c++/12/cstddef" 3
1417:   template<typename _IntegerType>
1417:     struct __byte_operand<const _IntegerType>
1417:     : __byte_operand<_IntegerType> { };
1417:   template<typename _IntegerType>
1417:     struct __byte_operand<volatile _IntegerType>
1417:     : __byte_operand<_IntegerType> { };
1417:   template<typename _IntegerType>
1417:     struct __byte_operand<const volatile _IntegerType>
1417:     : __byte_operand<_IntegerType> { };
1417: 
1417:   template<typename _IntegerType>
1417:     using __byte_op_t = typename __byte_operand<_IntegerType>::__type;
1417: 
1417:   template<typename _IntegerType>
1417:     constexpr __byte_op_t<_IntegerType>
1417:     operator<<(byte __b, _IntegerType __shift) noexcept
1417:     { return (byte)(unsigned char)((unsigned)__b << __shift); }
1417: 
1417:   template<typename _IntegerType>
1417:     constexpr __byte_op_t<_IntegerType>
1417:     operator>>(byte __b, _IntegerType __shift) noexcept
1417:     { return (byte)(unsigned char)((unsigned)__b >> __shift); }
1417: 
1417:   constexpr byte
1417:   operator|(byte __l, byte __r) noexcept
1417:   { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); }
1417: 
1417:   constexpr byte
1417:   operator&(byte __l, byte __r) noexcept
1417:   { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); }
1417: 
1417:   constexpr byte
1417:   operator^(byte __l, byte __r) noexcept
1417:   { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); }
1417: 
1417:   constexpr byte
1417:   operator~(byte __b) noexcept
1417:   { return (byte)(unsigned char)~(unsigned)__b; }
1417: 
1417:   template<typename _IntegerType>
1417:     constexpr __byte_op_t<_IntegerType>&
1417:     operator<<=(byte& __b, _IntegerType __shift) noexcept
1417:     { return __b = __b << __shift; }
1417: 
1417:   template<typename _IntegerType>
1417:     constexpr __byte_op_t<_IntegerType>&
1417:     operator>>=(byte& __b, _IntegerType __shift) noexcept
1417:     { return __b = __b >> __shift; }
1417: 
1417:   constexpr byte&
1417:   operator|=(byte& __l, byte __r) noexcept
1417:   { return __l = __l | __r; }
1417: 
1417:   constexpr byte&
1417:   operator&=(byte& __l, byte __r) noexcept
1417:   { return __l = __l & __r; }
1417: 
1417:   constexpr byte&
1417:   operator^=(byte& __l, byte __r) noexcept
1417:   { return __l = __l ^ __r; }
1417: 
1417:   template<typename _IntegerType>
1417:     [[nodiscard]]
1417:     constexpr _IntegerType
1417:     to_integer(__byte_op_t<_IntegerType> __b) noexcept
1417:     { return _IntegerType(__b); }
1417: 
1417: 
1417: }
1417: 
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h" 2
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/typeindex" 1 3
1417: # 32 "/usr/include/c++/12/typeindex" 3
1417:        
1417: # 33 "/usr/include/c++/12/typeindex" 3
1417: # 43 "/usr/include/c++/12/typeindex" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: # 55 "/usr/include/c++/12/typeindex" 3
1417:   struct type_index
1417:   {
1417:     type_index(const type_info& __rhs) noexcept
1417:     : _M_target(&__rhs) { }
1417: 
1417:     bool
1417:     operator==(const type_index& __rhs) const noexcept
1417:     { return *_M_target == *__rhs._M_target; }
1417: 
1417: 
1417:     bool
1417:     operator!=(const type_index& __rhs) const noexcept
1417:     { return *_M_target != *__rhs._M_target; }
1417: 
1417: 
1417:     bool
1417:     operator<(const type_index& __rhs) const noexcept
1417:     { return _M_target->before(*__rhs._M_target); }
1417: 
1417:     bool
1417:     operator<=(const type_index& __rhs) const noexcept
1417:     { return !__rhs._M_target->before(*_M_target); }
1417: 
1417:     bool
1417:     operator>(const type_index& __rhs) con
1434: 
1434: 
1434:     inline void restore(unsigned int restoreCount)
1434:     {
1434:       for (unsigned int i = 0; i < restoreCount; i++)
1434:         lock();
1434:     }
1434: # 104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1434:     inline L& get_underlying() { return mutex; }
1434:   };
1434: 
1434: }
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1434:        
1434: 
1434: # 1 "/usr/include/c++/12/mutex" 1 3
1434: # 32 "/usr/include/c++/12/mutex" 3
1434:        
1434: # 33 "/usr/include/c++/12/mutex" 3
1434: # 42 "/usr/include/c++/12/mutex" 3
1434: # 1 "/usr/include/c++/12/bits/chrono.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/chrono.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/chrono.h" 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/ratio" 1 3
1434: # 33 "/usr/include/c++/12/ratio" 3
1434:        
1434: # 34 "/usr/include/c++/12/ratio" 3
1434: # 42 "/usr/include/c++/12/ratio" 3
1434: 
1434: # 42 "/usr/include/c++/12/ratio" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 56 "/usr/include/c++/12/ratio" 3
1434:   template<intmax_t _Pn>
1434:     struct __static_sign
1434:     : integral_constant<intmax_t, (_Pn < 0) ? -1 : 1>
1434:     { };
1434: 
1434:   template<intmax_t _Pn>
1434:     struct __static_abs
1434:     : integral_constant<intmax_t, _Pn * __static_sign<_Pn>::value>
1434:     { };
1434: 
1434:   template<intmax_t _Pn, intmax_t _Qn>
1434:     struct __static_gcd
1434:     : __static_gcd<_Qn, (_Pn % _Qn)>
1434:     { };
1434: 
1434:   template<intmax_t _Pn>
1434:     struct __static_gcd<_Pn, 0>
1434:     : integral_constant<intmax_t, __static_abs<_Pn>::value>
1434:     { };
1434: 
1434:   template<intmax_t _Qn>
1434:     struct __static_gcd<0, _Qn>
1434:     : integral_constant<intmax_t, __static_abs<_Qn>::value>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<intmax_t _Pn, intmax_t _Qn>
1434:     struct __safe_multiply
1434:     {
1434:     private:
1434:       static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1434: 
1434:       static const uintmax_t __a0 = __static_abs<_Pn>::value % __c;
1434:       static const uintmax_t __a1 = __static_abs<_Pn>::value / __c;
1434:       static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
1434:       static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
1434: 
1434:       static_assert(__a1 == 0 || __b1 == 0,
1434:       "overflow in multiplication");
1434:       static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1),
1434:       "overflow in multiplication");
1434:       static_assert(__b0 * __a0 <= 0x7fffffffffffffffLL,
1434:       "overflow in multiplication");
1434:       static_assert((__a0 * __b1 + __b0 * __a1) * __c
1434:       <= 0x7fffffffffffffffLL - __b0 * __a0,
1434:       "overflow in multiplication");
1434: 
1434:     public:
1434:       static const intmax_t value = _Pn * _Qn;
1434:     };
1434: 
1434: 
1434: 
1434:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1434:     struct __big_less
1434:     : integral_constant<bool, (__hi1 < __hi2
1434:           || (__hi1 == __hi2 && __lo1 < __lo2))>
1434:     { };
1434: 
1434:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1434:     struct __big_add
1434:     {
1434:       static constexpr uintmax_t __lo = __lo1 + __lo2;
1434:       static constexpr uintmax_t __hi = (__hi1 + __hi2 +
1434:       (__lo1 + __lo2 < __lo1));
1434:     };
1434: 
1434: 
1434:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1434:     struct __big_sub
1434:     {
1434:       static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value,
1434:       "Internal library error");
1434:       static constexpr uintmax_t __lo = __lo1 - __lo2;
1434:       static constexpr uintk);
1115:  }
1115:       else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
1115:  {
1115: 
1115:    iterator __before = __pos;
1115:    if (__pos._M_node == _M_leftmost())
1115:      return _Res(_M_leftmost(), _M_leftmost());
1115:    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
1115:      {
1115:        if (_S_right(__before._M_node) == 0)
1115:   return _Res(0, __before._M_node);
1115:        else
1115:   return _Res(__pos._M_node, __pos._M_node);
1115:      }
1115:    else
1115:      return _M_get_insert_unique_pos(__k);
1115:  }
1115:       else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1115:  {
1115: 
1115:    iterator __after = __pos;
1115:    if (__pos._M_node == _M_rightmost())
1115:      return _Res(0, _M_rightmost());
1115:    else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
1115:      {
1115:        if (_S_right(__pos._M_node) == 0)
1115:   return _Res(0, __pos._M_node);
1115:        else
1115:   return _Res(__after._M_node, __after._M_node);
1115:      }
1115:    else
1115:      return _M_get_insert_unique_pos(__k);
1115:  }
1115:       else
1115: 
1115:  return _Res(__pos._M_node, 0);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115: 
1115:     template<typename _Arg, typename _NodeGen>
1115: 
1115: 
1115: 
1115:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_insert_unique_(const_iterator __position,
1115: 
1115:    _Arg&& __v,
1115: 
1115: 
1115: 
1115:    _NodeGen& __node_gen)
1115:     {
1115:       pair<_Base_ptr, _Base_ptr> __res
1115:  = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v));
1115: 
1115:       if (__res.second)
1115:  return _M_insert_(__res.first, __res.second,
1115:      std::forward<_Arg>(__v),
1115:      __node_gen);
1115:       return iterator(__res.first);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr,
1115:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:       _Compare, _Alloc>::_Base_ptr>
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k)
1115:     {
1115:       iterator __pos = __position._M_const_cast();
1115:       typedef pair<_Base_ptr, _Base_ptr> _Res;
1115: 
1115: 
1115:       if (__pos._M_node == _M_end())
1115:  {
1115:    if (size() > 0
1115:        && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost())))
1115:      return _Res(0, _M_rightmost());
1115:    else
1115:      return _M_get_insert_equal_pos(__k);
1115:  }
1115:       else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
1115:  {
1115: 
1115:    iterator __before = __pos;
1115:    if (__pos._M_node == _M_leftmost())
1115:      return _Res(_M_leftmost(), _M_leftmost());
1115:    else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node)))
1115:      {
1115:        if (_S_right(__before._M_node) == 0)
1115:   return _Res(0, __before._M_node);
1115:        else
1115:   return _Res(__pos._M_node, __pos._M_node);
1115:      }
1115:    else
1115:      return _M_get_insert_equal_pos(__k);
1115:  }
1115:       else
1115:  {
1115: 
1115:    iterator __after = __pos;
1115:    if (__pos._M_node == _M_rightmost())
1115:      return _Res(0, _M_rightmost());
1115:    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k))
1115:      {
1115:        if (_S_right(__pos._M_node) == 0)
1115:   return _Res(0, __pos._M_node);
1115:        else
1115:   return _Res(__after._M_node, __after._M_node);
1115:      }
1115:    else
1115:      return _Res(0, 0);
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115: 
1115:     template<typename _Arg, typename _Nomax_t __hi = (__hi1 - __hi2 -
1434:       (__lo1 < __lo2));
1434:     };
1434: 
1434: 
1434:   template<uintmax_t __x, uintmax_t __y>
1434:     struct __big_mul
1434:     {
1434:     private:
1434:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1434:       static constexpr uintmax_t __x0 = __x % __c;
1434:       static constexpr uintmax_t __x1 = __x / __c;
1434:       static constexpr uintmax_t __y0 = __y % __c;
1434:       static constexpr uintmax_t __y1 = __y / __c;
1434:       static constexpr uintmax_t __x0y0 = __x0 * __y0;
1434:       static constexpr uintmax_t __x0y1 = __x0 * __y1;
1434:       static constexpr uintmax_t __x1y0 = __x1 * __y0;
1434:       static constexpr uintmax_t __x1y1 = __x1 * __y1;
1434:       static constexpr uintmax_t __mix = __x0y1 + __x1y0;
1434:       static constexpr uintmax_t __mix_lo = __mix * __c;
1434:       static constexpr uintmax_t __mix_hi
1434:       = __mix / __c + ((__mix < __x0y1) ? __c : 0);
1434:       typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res;
1434:     public:
1434:       static constexpr uintmax_t __hi = _Res::__hi;
1434:       static constexpr uintmax_t __lo = _Res::__lo;
1434:     };
1434: 
1434: 
1434: 
1434:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1434:     struct __big_div_impl
1434:     {
1434:     private:
1434:       static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)),
1434:       "Internal library error");
1434:       static_assert(__n1 < __d, "Internal library error");
1434:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1434:       static constexpr uintmax_t __d1 = __d / __c;
1434:       static constexpr uintmax_t __d0 = __d % __c;
1434: 
1434:       static constexpr uintmax_t __q1x = __n1 / __d1;
1434:       static constexpr uintmax_t __r1x = __n1 % __d1;
1434:       static constexpr uintmax_t __m = __q1x * __d0;
1434:       static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c;
1434:       static constexpr uintmax_t __r1z = __r1y + __d;
1434:       static constexpr uintmax_t __r1
1434:       = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m))
1434:   ? (__r1z + __d) : __r1z : __r1y) - __m;
1434:       static constexpr uintmax_t __q1
1434:       = __q1x - ((__r1y < __m)
1434:    ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0);
1434:       static constexpr uintmax_t __q0x = __r1 / __d1;
1434:       static constexpr uintmax_t __r0x = __r1 % __d1;
1434:       static constexpr uintmax_t __n = __q0x * __d0;
1434:       static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c;
1434:       static constexpr uintmax_t __r0z = __r0y + __d;
1434:       static constexpr uintmax_t __r0
1434:       = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n))
1434:   ? (__r0z + __d) : __r0z : __r0y) - __n;
1434:       static constexpr uintmax_t __q0
1434:       = __q0x - ((__r0y < __n) ? ((__r0z >= __d)
1434:       && (__r0z < __n)) ? 2 : 1 : 0);
1434: 
1434:     public:
1434:       static constexpr uintmax_t __quot = __q1 * __c + __q0;
1434:       static constexpr uintmax_t __rem = __r0;
1434: 
1434:     private:
1434:       typedef __big_mul<__quot, __d> _Prod;
1434:       typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum;
1434:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1434:       "Internal library error");
1434:   };
1434: 
1434:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1434:     struct __big_div
1434:     {
1434:     private:
1434:       static_assert(__d != 0, "Internal library error");
1434:       static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
1434:       "This library calls __builtin_clzll on uintmax_t, which "
1434:       "is unsafe on your platform. Please complain to "
1434:       "http://gcc.gnu.org/bugzilla/");
1434:       static constexpr int __shift = __builtin_clzll(__d);
1434:       static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
1434:       static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;
1434:       static constexpr uintmax_t __c1 = uintmax_t(1)st noexcept
1417:     { return __rhs._M_target->before(*_M_target); }
1417: 
1417:     bool
1417:     operator>=(const type_index& __rhs) const noexcept
1417:     { return !_M_target->before(*__rhs._M_target); }
1417: # 98 "/usr/include/c++/12/typeindex" 3
1417:     size_t
1417:     hash_code() const noexcept
1417:     { return _M_target->hash_code(); }
1417: 
1417:     const char*
1417:     name() const noexcept
1417:     { return _M_target->name(); }
1417: 
1417:   private:
1417:     const type_info* _M_target;
1417:   };
1417: 
1417:   template<typename _Tp> struct hash;
1417: 
1417: 
1417:   template<>
1417:     struct hash<type_index>
1417:     {
1417:       typedef size_t result_type;
1417:       typedef type_index argument_type;
1417: 
1417:       size_t
1417:       operator()(const type_index& __ti) const noexcept
1417:       { return __ti.hash_code(); }
1417:     };
1417: 
1417: 
1417: }
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ComponentContainer.h"
1417: template<class BaseType>
1417: class CComponentContainer
1417: {
1417: public:
1417: 
1417:   template<class T>
1417:   std::shared_ptr<T> GetComponent()
1417:   {
1417:     return std::const_pointer_cast<T>(std::as_const(*this).template GetComponent<T>());
1417:   }
1417: 
1417: 
1417:   template<class T>
1417:   std::shared_ptr<const T> GetComponent() const
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(m_critSection);
1417:     const auto it = m_components.find(std::type_index(typeid(T)));
1417:     if (it != m_components.end())
1417:       return std::static_pointer_cast<const T>((*it).second);
1417: 
1417:     throw std::logic_error("ComponentContainer: Attempt to obtain non-existent component");
1417:   }
1417: 
1417: 
1417:   std::size_t size() const { return m_components.size(); }
1417: 
1417: protected:
1417: 
1417:   void RegisterComponent(const std::shared_ptr<BaseType>& component)
1417:   {
1417:     if (!component)
1417:       return;
1417: 
1417: 
1417: 
1417: 
1417:     const auto& componentRef = *component;
1417: 
1417:     std::unique_lock<CCriticalSection> lock(m_critSection);
1417:     m_components.insert({std::type_index(typeid(componentRef)), component});
1417:   }
1417: 
1417: 
1417:   void DeregisterComponent(const std::type_info& typeInfo)
1417:   {
1417:     std::unique_lock<CCriticalSection> lock(m_critSection);
1417:     m_components.erase(typeInfo);
1417:   }
1417: 
1417: private:
1417:   mutable CCriticalSection m_critSection;
1417:   std::unordered_map<std::type_index, std::shared_ptr<BaseType>>
1417:       m_components;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationComponents.h" 2
1417: 
1417: 
1417: using CApplicationComponents = CComponentContainer<IApplicationComponent>;
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationEnums.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationEnums.h"
1417:        
1417: 
1417: enum StartupAction
1417: {
1417:   STARTUP_ACTION_NONE = 0,
1417:   STARTUP_ACTION_PLAY_TV,
1417:   STARTUP_ACTION_PLAY_RADIO
1417: };
1417: 
1417: 
1417: enum
1417: {
1417:   EXITCODE_QUIT = 0,
1417:   EXITCODE_POWERDOWN = 64,
1417:   EXITCODE_RESTARTAPP = 65,
1417:   EXITCODE_REBOOT = 66,
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayerCallback.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayerCallback.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayerCallback.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayerCallback.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h"
 << __shift;
1434:       static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift;
1434:       static constexpr uintmax_t __new_d = __d * __c1;
1434:       static constexpr uintmax_t __new_n0 = __n0 * __c1;
1434:       static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1;
1434:       static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0;
1434:       static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top;
1434:       typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res;
1434: 
1434:     public:
1434:       static constexpr uintmax_t __quot_hi = __n1 / __d;
1434:       static constexpr uintmax_t __quot_lo = _Res::__quot;
1434:       static constexpr uintmax_t __rem = _Res::__rem / __c1;
1434: 
1434:     private:
1434:       typedef __big_mul<__quot_lo, __d> _P0;
1434:       typedef __big_mul<__quot_hi, __d> _P1;
1434:       typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum;
1434: 
1434:       static_assert(_P1::__hi == 0, "Internal library error");
1434:       static_assert(_Sum::__hi >= _P0::__hi, "Internal library error");
1434: 
1434:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1434:       "Internal library error");
1434:       static_assert(__rem < __d, "Internal library error");
1434:     };
1434: # 265 "/usr/include/c++/12/ratio" 3
1434:   template<intmax_t _Num, intmax_t _Den = 1>
1434:     struct ratio
1434:     {
1434:       static_assert(_Den != 0, "denominator cannot be zero");
1434:       static_assert(_Num >= -0x7fffffffffffffffLL && _Den >= -0x7fffffffffffffffLL,
1434:       "out of range");
1434: 
1434: 
1434:       static constexpr intmax_t num =
1434:         _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value;
1434: 
1434:       static constexpr intmax_t den =
1434:         __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value;
1434: 
1434:       typedef ratio<num, den> type;
1434:     };
1434: # 292 "/usr/include/c++/12/ratio" 3
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_multiply
1434:     {
1434:     private:
1434:       static const intmax_t __gcd1 =
1434:         __static_gcd<_R1::num, _R2::den>::value;
1434:       static const intmax_t __gcd2 =
1434:         __static_gcd<_R2::num, _R1::den>::value;
1434: 
1434:     public:
1434:       typedef ratio<
1434:         __safe_multiply<(_R1::num / __gcd1),
1434:                         (_R2::num / __gcd2)>::value,
1434:         __safe_multiply<(_R1::den / __gcd2),
1434:                         (_R2::den / __gcd1)>::value> type;
1434: 
1434:       static constexpr intmax_t num = type::num;
1434:       static constexpr intmax_t den = type::den;
1434:     };
1434: # 323 "/usr/include/c++/12/ratio" 3
1434:   template<typename _R1, typename _R2>
1434:     using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type;
1434: 
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_divide
1434:     {
1434:       static_assert(_R2::num != 0, "division by 0");
1434: 
1434:       typedef typename __ratio_multiply<
1434:         _R1,
1434:         ratio<_R2::den, _R2::num>>::type type;
1434: 
1434:       static constexpr intmax_t num = type::num;
1434:       static constexpr intmax_t den = type::den;
1434:     };
1434: # 352 "/usr/include/c++/12/ratio" 3
1434:   template<typename _R1, typename _R2>
1434:     using ratio_divide = typename __ratio_divide<_R1, _R2>::type;
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct ratio_equal
1434:     : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
1434:     { };
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct ratio_not_equal
1434:     : integral_constant<bool, !ratio_equal<_R1, _R2>::value>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _R1, typename _R2,
1434:            typename _Left = __big_mul<_R1::num,_R2::den>,
1434:            typename _Right = __big_mul<_R2::num,_R1::den> >
1434:     struct __ratio_less_impl_1
1434:     : integral_constant<bool, __big_less<_Left::__hi, _LedeGen>
1115: 
1115: 
1115: 
1115:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_insert_equal_(const_iterator __position,
1115: 
1115:          _Arg&& __v,
1115: 
1115: 
1115: 
1115:          _NodeGen& __node_gen)
1115:       {
1115:  pair<_Base_ptr, _Base_ptr> __res
1115:    = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v));
1115: 
1115:  if (__res.second)
1115:    return _M_insert_(__res.first, __res.second,
1115:        std::forward<_Arg>(__v),
1115:        __node_gen);
1115: 
1115:  return _M_insert_equal_lower(std::forward<_Arg>(__v));
1115:       }
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     auto
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z)
1115:     -> iterator
1115:     {
1115:       bool __insert_left = (__x != 0 || __p == _M_end()
1115:        || _M_impl._M_key_compare(_S_key(__z),
1115:             _S_key(__p)));
1115: 
1115:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1115:         this->_M_impl._M_header);
1115:       ++_M_impl._M_node_count;
1115:       return iterator(__z);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     auto
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_insert_lower_node(_Base_ptr __p, _Link_type __z)
1115:     -> iterator
1115:     {
1115:       bool __insert_left = (__p == _M_end()
1115:        || !_M_impl._M_key_compare(_S_key(__p),
1115:              _S_key(__z)));
1115: 
1115:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
1115:         this->_M_impl._M_header);
1115:       ++_M_impl._M_node_count;
1115:       return iterator(__z);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     auto
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_insert_equal_lower_node(_Link_type __z)
1115:     -> iterator
1115:     {
1115:       _Link_type __x = _M_begin();
1115:       _Base_ptr __y = _M_end();
1115:       while (__x != 0)
1115:  {
1115:    __y = __x;
1115:    __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ?
1115:   _S_left(__x) : _S_right(__x);
1115:  }
1115:       return _M_insert_lower_node(__y, __z);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     template<typename... _Args>
1115:       auto
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_emplace_unique(_Args&&... __args)
1115:       -> pair<iterator, bool>
1115:       {
1115:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1115:  auto __res = _M_get_insert_unique_pos(__z._M_key());
1115:  if (__res.second)
1115:    return {__z._M_insert(__res), true};
1115:  return {iterator(__res.first), false};
1115:       }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     template<typename... _Args>
1115:       auto
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_emplace_equal(_Args&&... __args)
1115:       -> iterator
1115:       {
1115:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1115:  auto __res = _M_get_insert_equal_pos(__z._M_key());
1115:  return __z._M_insert(__res);
1115:       }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     template<typename... _Args>
1115:       auto
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args)
1115:       -> iterator
1115:       {
1115:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1115:  ft::__lo,
1434:            _Right::__hi, _Right::__lo>::value>
1434:     { };
1434: 
1434:   template<typename _R1, typename _R2,
1434:     bool = (_R1::num == 0 || _R2::num == 0
1434:      || (__static_sign<_R1::num>::value
1434:          != __static_sign<_R2::num>::value)),
1434:     bool = (__static_sign<_R1::num>::value == -1
1434:      && __static_sign<_R2::num>::value == -1)>
1434:     struct __ratio_less_impl
1434:     : __ratio_less_impl_1<_R1, _R2>::type
1434:     { };
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_less_impl<_R1, _R2, true, false>
1434:     : integral_constant<bool, _R1::num < _R2::num>
1434:     { };
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_less_impl<_R1, _R2, false, true>
1434:     : __ratio_less_impl_1<ratio<-_R2::num, _R2::den>,
1434:            ratio<-_R1::num, _R1::den> >::type
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct ratio_less
1434:     : __ratio_less_impl<_R1, _R2>::type
1434:     { };
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct ratio_less_equal
1434:     : integral_constant<bool, !ratio_less<_R2, _R1>::value>
1434:     { };
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct ratio_greater
1434:     : integral_constant<bool, ratio_less<_R2, _R1>::value>
1434:     { };
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct ratio_greater_equal
1434:     : integral_constant<bool, !ratio_less<_R1, _R2>::value>
1434:     { };
1434: 
1434: 
1434:   template <typename _R1, typename _R2>
1434:     inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value;
1434:   template <typename _R1, typename _R2>
1434:     inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value;
1434:   template <typename _R1, typename _R2>
1434:     inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value;
1434:   template <typename _R1, typename _R2>
1434:     inline constexpr bool ratio_less_equal_v =
1434:       ratio_less_equal<_R1, _R2>::value;
1434:   template <typename _R1, typename _R2>
1434:     inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value;
1434:   template <typename _R1, typename _R2>
1434:     inline constexpr bool ratio_greater_equal_v
1434:     = ratio_greater_equal<_R1, _R2>::value;
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _R1, typename _R2,
1434:       bool = (_R1::num >= 0),
1434:       bool = (_R2::num >= 0),
1434:       bool = ratio_less<ratio<__static_abs<_R1::num>::value, _R1::den>,
1434:         ratio<__static_abs<_R2::num>::value, _R2::den> >::value>
1434:     struct __ratio_add_impl
1434:     {
1434:     private:
1434:       typedef typename __ratio_add_impl<
1434:         ratio<-_R1::num, _R1::den>,
1434:         ratio<-_R2::num, _R2::den> >::type __t;
1434:     public:
1434:       typedef ratio<-__t::num, __t::den> type;
1434:     };
1434: 
1434: 
1434:   template<typename _R1, typename _R2, bool __b>
1434:     struct __ratio_add_impl<_R1, _R2, true, true, __b>
1434:     {
1434:     private:
1434:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1434:       static constexpr uintmax_t __d2 = _R2::den / __g;
1434:       typedef __big_mul<_R1::den, __d2> __d;
1434:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1434:       typedef __big_mul<_R2::num, _R1::den / __g> __y;
1434:       typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1434:       static_assert(__n::__hi >= __x::__hi, "Internal library error");
1434:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
1434:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1434:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1434:       static_assert(__n_final::__rem == 0, "Internal library error");
1434:       static_assert(__n_final::__quot_hi == 0 &&
1434:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1434:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1434:       static_assert(__d_final::__hi == 0 &&
1434:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1434:     public:
1434:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1434:     };
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_add_impl<_R1, _R2, false, true, true>
1434:     : __ratio_add_impl<_R2, _R1>
1434:     { };
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_add_impl<_R1, _R2, true, false, false>
1434:     {
1434:     private:
1434:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1434:       static constexpr uintmax_t __d2 = _R2::den / __g;
1434:       typedef __big_mul<_R1::den, __d2> __d;
1434:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1434:       typedef __big_mul<-_R2::num, _R1::den / __g> __y;
1434:       typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1434:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
1434:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1434:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1434:       static_assert(__n_final::__rem == 0, "Internal library error");
1434:       static_assert(__n_final::__quot_hi == 0 &&
1434:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1434:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1434:       static_assert(__d_final::__hi == 0 &&
1434:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1434:     public:
1434:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1434:     };
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_add
1434:     {
1434:       typedef typename __ratio_add_impl<_R1, _R2>::type type;
1434:       static constexpr intmax_t num = type::num;
1434:       static constexpr intmax_t den = type::den;
1434:     };
1434: # 532 "/usr/include/c++/12/ratio" 3
1434:   template<typename _R1, typename _R2>
1434:     using ratio_add = typename __ratio_add<_R1, _R2>::type;
1434: 
1434: 
1434: 
1434:   template<typename _R1, typename _R2>
1434:     struct __ratio_subtract
1434:     {
1434:       typedef typename __ratio_add<
1434:         _R1,
1434:         ratio<-_R2::num, _R2::den>>::type type;
1434: 
1434:       static constexpr intmax_t num = type::num;
1434:       static constexpr intmax_t den = type::den;
1434:     };
1434: # 559 "/usr/include/c++/12/ratio" 3
1434:   template<typename _R1, typename _R2>
1434:     using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type;
1434: 
1434: 
1434:   typedef ratio<1, 1000000000000000000> atto;
1434:   typedef ratio<1, 1000000000000000> femto;
1434:   typedef ratio<1, 1000000000000> pico;
1434:   typedef ratio<1, 1000000000> nano;
1434:   typedef ratio<1, 1000000> micro;
1434:   typedef ratio<1, 1000> milli;
1434:   typedef ratio<1, 100> centi;
1434:   typedef ratio<1, 10> deci;
1434:   typedef ratio< 10, 1> deca;
1434:   typedef ratio< 100, 1> hecto;
1434:   typedef ratio< 1000, 1> kilo;
1434:   typedef ratio< 1000000, 1> mega;
1434:   typedef ratio< 1000000000, 1> giga;
1434:   typedef ratio< 1000000000000, 1> tera;
1434:   typedef ratio< 1000000000000000, 1> peta;
1434:   typedef ratio< 1000000000000000000, 1> exa;
1434: 
1434: 
1434: 
1434: }
1434: # 38 "/usr/include/c++/12/bits/chrono.h" 2 3
1434: 
1434: # 1 "/usr/include/c++/12/limits" 1 3
1434: # 40 "/usr/include/c++/12/limits" 3
1434:        
1434: # 41 "/usr/include/c++/12/limits" 3
1434: # 158 "/usr/include/c++/12/limits" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   enum float_round_style
1434:   {
1434:     round_indeterminate = -1,
1434:     round_toward_zero = 0,
1434:     round_to_nearest = 1,
1434:     round_toward_infinity = 2,
1434:     round_toward_neg_infinity = 3
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   enum float_denorm_style
1434:   {
1434: 
1434:1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h" 1
1417: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h"
1417:        
1417: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h"
1417: template<typename Key, typename Value, size_t Size>
1417: class CMap
1417: {
1417: public:
1417:   template<typename Iterable>
1417:   constexpr CMap(Iterable begin, Iterable end)
1417:   {
1417:     size_t index = 0;
1417:     while (begin != end)
1417:     {
1417: 
1417:       auto& first = m_map[index].first;
1417:       auto& second = m_map[index].second;
1417:       ++index;
1417: 
1417:       first = std::move(begin->first);
1417:       second = std::move(begin->second);
1417:       ++begin;
1417: # 57 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Map.h"
1417:     }
1417:   }
1417: 
1417:   ~CMap() = default;
1417: 
1417:   constexpr const Value& at(const Key& key) const
1417:   {
1417:     const auto it = find(key);
1417:     if (it != m_map.cend())
1417:     {
1417:       return it->second;
1417:     }
1417:     else
1417:     {
1417:       throw std::range_error("Not Found");
1417:     }
1417:   }
1417: 
1417:   constexpr auto find(const Key& key) const
1417:   {
1417:     return std::find_if(m_map.cbegin(), m_map.cend(),
1417:                         [&key](const auto& pair) { return pair.first == key; });
1417:   }
1417: 
1417:   constexpr size_t size() const { return Size; }
1417: 
1417:   constexpr auto cbegin() const { return m_map.cbegin(); }
1417:   constexpr auto cend() const { return m_map.cend(); }
1417: 
1417: private:
1417:   CMap() = delete;
1417: 
1417:   std::array<std::pair<Key, Value>, Size> m_map;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template<typename Key, typename Value, std::size_t Size>
1417: constexpr auto make_map(std::pair<Key, Value>(&&m)[Size]) -> CMap<Key, Value, Size>
1417: {
1417:   return CMap<Key, Value, Size>(std::begin(m), std::end(m));
1417: }
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h" 2
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/fmt/format.h" 1 3 4
1417: # 36 "/usr/include/fmt/format.h" 3 4
1417: # 1 "/usr/include/c++/12/cmath" 1 3 4
1417: # 39 "/usr/include/c++/12/cmath" 3 4
1417:        
1417: # 40 "/usr/include/c++/12/cmath" 3
1417: # 37 "/usr/include/fmt/format.h" 2 3 4
1417: 
1417: # 1 "/usr/include/c++/12/cstring" 1 3 4
1417: # 39 "/usr/include/c++/12/cstring" 3 4
1417:        
1417: # 40 "/usr/include/c++/12/cstring" 3
1417: # 39 "/usr/include/fmt/format.h" 2 3 4
1417: # 48 "/usr/include/fmt/format.h" 3 4
1417: # 1 "/usr/include/fmt/core.h" 1 3 4
1417: # 12 "/usr/include/fmt/core.h" 3 4
1417: # 1 "/usr/include/c++/12/cstdio" 1 3 4
1417: # 39 "/usr/include/c++/12/cstdio" 3 4
1417:        
1417: # 40 "/usr/include/c++/12/cstdio" 3
1417: # 13 "/usr/include/fmt/core.h" 2 3 4
1417: # 1 "/usr/include/c++/12/cstring" 1 3 4
1417: # 39 "/usr/include/c++/12/cstring" 3 4
1417:        
1417: # 40 "/usr/include/c++/12/cstring" 3
1417: # 14 "/usr/include/fmt/core.h" 2 3 4
1417: # 1 "/usr/include/c++/12/iterator" 1 3 4
1417: # 58 "/usr/include/c++/12/iterator" 3 4
1417:        
1417: # 59 "/usr/include/c++/12/iterator" 3
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/bits/stream_iterator.h" 1 3
1417: # 33 "/usr/include/c++/12/bits/stream_iterator.h" 3
1417:        
1417: # 34 "/usr/include/c++/12/bits/stream_iterator.h" 3
1417: 
1417: 
1417: 
1417: 
1417: # 37 "/usr/include/c++/12/bits/stream_iterator.h" 3
1417: namespace std __attribute__ ((__visibility__ ("default")))
1417: {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: #pragma GCC diagnostic push
1417: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1417: 
1417: 
1417:   template<typename _Tp, typename _CharT = char,
1417:            typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
1417:     class istream_iterator
1417:     : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&>
1417:     {
1417:     public:
1417:       typedef _CharT char_type;
1417:    auto __res = _M_get_insert_hint_unique_pos(__pos, __z._M_key());
1115:  if (__res.second)
1115:    return __z._M_insert(__res);
1115:  return iterator(__res.first);
1115:       }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     template<typename... _Args>
1115:       auto
1115:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:       _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args)
1115:       -> iterator
1115:       {
1115:  _Auto_node __z(*this, std::forward<_Args>(__args)...);
1115:  auto __res = _M_get_insert_hint_equal_pos(__pos, __z._M_key());
1115:  if (__res.second)
1115:    return __z._M_insert(__res);
1115:  return __z._M_insert_equal_lower();
1115:       }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     void
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_erase_aux(const_iterator __position)
1115:     {
1115:       _Link_type __y =
1115:  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
1115:     (const_cast<_Base_ptr>(__position._M_node),
1115:      this->_M_impl._M_header));
1115:       _M_drop_node(__y);
1115:       --_M_impl._M_node_count;
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     void
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     _M_erase_aux(const_iterator __first, const_iterator __last)
1115:     {
1115:       if (__first == begin() && __last == end())
1115:  clear();
1115:       else
1115:  while (__first != __last)
1115:    _M_erase_aux(__first++);
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     erase(const _Key& __x)
1115:     {
1115:       pair<iterator, iterator> __p = equal_range(__x);
1115:       const size_type __old_size = size();
1115:       _M_erase_aux(__p.first, __p.second);
1115:       return __old_size - size();
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:         _Compare, _Alloc>::iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     find(const _Key& __k)
1115:     {
1115:       iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1115:       return (__j == end()
1115:        || _M_impl._M_key_compare(__k,
1115:      _S_key(__j._M_node))) ? end() : __j;
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
1115:         _Compare, _Alloc>::const_iterator
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     find(const _Key& __k) const
1115:     {
1115:       const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
1115:       return (__j == end()
1115:        || _M_impl._M_key_compare(__k,
1115:      _S_key(__j._M_node))) ? end() : __j;
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
1115:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
1115:     count(const _Key& __k) const
1115:     {
1115:       pair<const_iterator, const_iterator> __p = equal_range(__k);
1115:       const size_type __n = std::distance(__p.first, __p.second);
1115:       return __n;
1115:     }
1115: 
1115:   __attribute__ ((__pure__)) unsigned int
1115:   _Rb_tree_black_count(const _Rb_tree_node_base* __node,
1115:          const _Rb_tree_node_base* __root) throw ();
1115: 
1115:   template<typename _Key     denorm_indeterminate = -1,
1434: 
1434:     denorm_absent = 0,
1434: 
1434:     denorm_present = 1
1434:   };
1434: # 202 "/usr/include/c++/12/limits" 3
1434:   struct __numeric_limits_base
1434:   {
1434: 
1434: 
1434:     static constexpr bool is_specialized = false;
1434: 
1434: 
1434: 
1434: 
1434:     static constexpr int digits = 0;
1434: 
1434: 
1434:     static constexpr int digits10 = 0;
1434: 
1434: 
1434: 
1434: 
1434:     static constexpr int max_digits10 = 0;
1434: 
1434: 
1434: 
1434:     static constexpr bool is_signed = false;
1434: 
1434: 
1434:     static constexpr bool is_integer = false;
1434: 
1434: 
1434: 
1434: 
1434:     static constexpr bool is_exact = false;
1434: 
1434: 
1434: 
1434:     static constexpr int radix = 0;
1434: 
1434: 
1434: 
1434:     static constexpr int min_exponent = 0;
1434: 
1434: 
1434: 
1434:     static constexpr int min_exponent10 = 0;
1434: 
1434: 
1434: 
1434: 
1434:     static constexpr int max_exponent = 0;
1434: 
1434: 
1434: 
1434:     static constexpr int max_exponent10 = 0;
1434: 
1434: 
1434:     static constexpr bool has_infinity = false;
1434: 
1434: 
1434: 
1434:     static constexpr bool has_quiet_NaN = false;
1434: 
1434: 
1434: 
1434:     static constexpr bool has_signaling_NaN = false;
1434: 
1434: 
1434:     static constexpr float_denorm_style has_denorm = denorm_absent;
1434: 
1434: 
1434: 
1434:     static constexpr bool has_denorm_loss = false;
1434: 
1434: 
1434: 
1434:     static constexpr bool is_iec559 = false;
1434: 
1434: 
1434: 
1434: 
1434:     static constexpr bool is_bounded = false;
1434: # 288 "/usr/include/c++/12/limits" 3
1434:     static constexpr bool is_modulo = false;
1434: 
1434: 
1434:     static constexpr bool traps = false;
1434: 
1434: 
1434:     static constexpr bool tinyness_before = false;
1434: 
1434: 
1434: 
1434: 
1434:     static constexpr float_round_style round_style =
1434:           round_toward_zero;
1434:   };
1434: # 311 "/usr/include/c++/12/limits" 3
1434:   template<typename _Tp>
1434:     struct numeric_limits : public __numeric_limits_base
1434:     {
1434: 
1434: 
1434:       static constexpr _Tp
1434:       min() noexcept { return _Tp(); }
1434: 
1434: 
1434:       static constexpr _Tp
1434:       max() noexcept { return _Tp(); }
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr _Tp
1434:       lowest() noexcept { return _Tp(); }
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr _Tp
1434:       epsilon() noexcept { return _Tp(); }
1434: 
1434: 
1434:       static constexpr _Tp
1434:       round_error() noexcept { return _Tp(); }
1434: 
1434: 
1434:       static constexpr _Tp
1434:       infinity() noexcept { return _Tp(); }
1434: 
1434: 
1434: 
1434:       static constexpr _Tp
1434:       quiet_NaN() noexcept { return _Tp(); }
1434: 
1434: 
1434: 
1434:       static constexpr _Tp
1434:       signaling_NaN() noexcept { return _Tp(); }
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr _Tp
1434:       denorm_min() noexcept { return _Tp(); }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct numeric_limits<const _Tp>
1434:     : public numeric_limits<_Tp> { };
1434: 
1434:   template<typename _Tp>
1434:     struct numeric_limits<volatile _Tp>
1434:     : public numeric_limits<_Tp> { };
1434: 
1434:   template<typename _Tp>
1434:     struct numeric_limits<const volatile _Tp>
1434:     : public numeric_limits<_Tp> { };
1434: # 383 "/usr/include/c++/12/limits" 3
1434:   template<>
1434:     struct numeric_limits<bool>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr bool
1434:       min() noexcept { return false; }
1434: 
1434:       static constexpr bool
1434:       max() noexcept { return true; }
1434: 
1434: 
1434:       static constexpr bool
1434:       lowest() noexcept { return min(); }
1434: 
1434:       static constexpr int digits = 1;
1434:       static constexpr int digits10 = 0;
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed =    typedef _Traits traits_type;
1417:       typedef basic_istream<_CharT, _Traits> istream_type;
1417: 
1417:     private:
1417:       istream_type* _M_stream;
1417:       _Tp _M_value;
1417: 
1417: 
1417: 
1417:       bool _M_ok;
1417: 
1417:     public:
1417: 
1417:       constexpr istream_iterator()
1417:       noexcept(is_nothrow_default_constructible<_Tp>::value)
1417:       : _M_stream(0), _M_value(), _M_ok(false) {}
1417: 
1417: 
1417:       istream_iterator(istream_type& __s)
1417:       : _M_stream(std::__addressof(__s)), _M_ok(true)
1417:       { _M_read(); }
1417: 
1417:       istream_iterator(const istream_iterator& __obj)
1417:       noexcept(is_nothrow_copy_constructible<_Tp>::value)
1417:       : _M_stream(__obj._M_stream), _M_value(__obj._M_value),
1417:         _M_ok(__obj._M_ok)
1417:       { }
1417: # 94 "/usr/include/c++/12/bits/stream_iterator.h" 3
1417:       istream_iterator& operator=(const istream_iterator&) = default;
1417:       ~istream_iterator() = default;
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       const _Tp&
1417:       operator*() const noexcept
1417:       {
1417: 
1417: 
1417:                         ;
1417:  return _M_value;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       const _Tp*
1417:       operator->() const noexcept
1417:       { return std::__addressof((operator*())); }
1417: 
1417:       istream_iterator&
1417:       operator++()
1417:       {
1417: 
1417: 
1417:                         ;
1417:  _M_read();
1417:  return *this;
1417:       }
1417: 
1417:       istream_iterator
1417:       operator++(int)
1417:       {
1417: 
1417: 
1417:                         ;
1417:  istream_iterator __tmp = *this;
1417:  _M_read();
1417:  return __tmp;
1417:       }
1417: 
1417:     private:
1417:       bool
1417:       _M_equal(const istream_iterator& __x) const noexcept
1417:       {
1417: 
1417: 
1417:  return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream);
1417:       }
1417: 
1417:       void
1417:       _M_read()
1417:       {
1417:         if (_M_stream && !(*_M_stream >> _M_value))
1417:           {
1417:             _M_stream = 0;
1417:             _M_ok = false;
1417:           }
1417:       }
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator==(const istream_iterator& __x, const istream_iterator& __y)
1417:       noexcept
1417:       { return __x._M_equal(__y); }
1417: 
1417: 
1417: 
1417: 
1417:       [[__nodiscard__]]
1417:       friend bool
1417:       operator!=(const istream_iterator& __x, const istream_iterator& __y)
1417:       noexcept
1417:       { return !__x._M_equal(__y); }
1417: # 177 "/usr/include/c++/12/bits/stream_iterator.h" 3
1417:     };
1417: # 190 "/usr/include/c++/12/bits/stream_iterator.h" 3
1417:   template<typename _Tp, typename _CharT = char,
1417:            typename _Traits = char_traits<_CharT> >
1417:     class ostream_iterator
1417:     : public iterator<output_iterator_tag, void, void, void, void>
1417:     {
1417:     public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417:       typedef _CharT char_type;
1417:       typedef _Traits traits_type;
1417:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1417: 
1417: 
1417:     private:
1417:       ostream_type* _M_stream;
1417:       const _CharT* _M_string;
1417: 
1417:     public:
1417: 
1417:       ostream_iterator(ostream_type& __s) noexcept
1417:       : _M_stream(std::__addressof(__s)), _M_string(0) {}
1417: # 225 "/usr/include/c++/12/bits/stream_iterator.h" 3
1417:       ostream_iterator(ostream_type& __s, const _CharT* __c) noexcept
1417:       : _M_stream(std::__addressof(__s)), _M_string(__c) { }
1417: 
1417: 
1417:       ostream_iterator(const ostream_iterator& __obj) noexcept
1417:       : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { }
1417: 
1417: 
1417:       ostream_iterator& operator=(const ostream_iterator&) = default;
1417: 
1417: 
1417: 
1417: 
1417:       ostream_iterator&
1417:       operator=(const _Tp& __value)
1417:       {
1417: 
1417: 
1417:                         ;
1417:  *_false;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr bool
1434:       epsilon() noexcept { return false; }
1434: 
1434:       static constexpr bool
1434:       round_error() noexcept { return false; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr bool
1434:       infinity() noexcept { return false; }
1434: 
1434:       static constexpr bool
1434:       quiet_NaN() noexcept { return false; }
1434: 
1434:       static constexpr bool
1434:       signaling_NaN() noexcept { return false; }
1434: 
1434:       static constexpr bool
1434:       denorm_min() noexcept { return false; }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<char>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr char
1434:       min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); }
1434: 
1434:       static constexpr char
1434:       max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); }
1434: 
1434: 
1434:       static constexpr char
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
1434:       static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = ((char)(-1) < 0);
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr char
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr char
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr
1434:       char infinity() noexcept { return char(); }
1434: 
1434:       static constexpr char
1434:       quiet_NaN() noexcept { return char(); }
1434: 
1434:       static constexpr char
1434:       signaling_NaN() noexcept { return char(); }
1434: 
1434:       static constexpr char
1434:       denorm_min() noexcept { return static_cast<char>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = !is_signed;
1434: 
1434:       static constexp, typename _Val, typename _KeyOfValue,
1115:     typename _Compare, typename _Alloc>
1115:     bool
1115:     _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
1115:     {
1115:       if (_M_impl._M_node_count == 0 || begin() == end())
1115:  return _M_impl._M_node_count == 0 && begin() == end()
1115:         && this->_M_impl._M_header._M_left == _M_end()
1115:         && this->_M_impl._M_header._M_right == _M_end();
1115: 
1115:       unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
1115:       for (const_iterator __it = begin(); __it != end(); ++__it)
1115:  {
1115:    _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
1115:    _Const_Link_type __L = _S_left(__x);
1115:    _Const_Link_type __R = _S_right(__x);
1115: 
1115:    if (__x->_M_color == _S_red)
1115:      if ((__L && __L->_M_color == _S_red)
1115:   || (__R && __R->_M_color == _S_red))
1115:        return false;
1115: 
1115:    if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
1115:      return false;
1115:    if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
1115:      return false;
1115: 
1115:    if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len)
1115:      return false;
1115:  }
1115: 
1115:       if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
1115:  return false;
1115:       if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
1115:  return false;
1115:       return true;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Sel, typename _Cmp1,
1115:     typename _Alloc, typename _Cmp2>
1115:     struct _Rb_tree_merge_helper<_Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>,
1115:      _Cmp2>
1115:     {
1115:     private:
1115:       friend class _Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>;
1115: 
1115:       static auto&
1115:       _S_get_impl(_Rb_tree<_Key, _Val, _Sel, _Cmp2, _Alloc>& __tree)
1115:       { return __tree._M_impl; }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 61 "/usr/include/c++/12/map" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_map.h" 1 3
1115: # 66 "/usr/include/c++/12/bits/stl_map.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     class multimap;
1115: # 98 "/usr/include/c++/12/bits/stl_map.h" 3
1115:   template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
1115:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1115:     class map
1115:     {
1115:     public:
1115:       typedef _Key key_type;
1115:       typedef _Tp mapped_type;
1115:       typedef std::pair<const _Key, _Tp> value_type;
1115:       typedef _Compare key_compare;
1115:       typedef _Alloc allocator_type;
1115: 
1115:     private:
1115: # 123 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1115:    "std::map must have the same value_type as its allocator");
1115: 
1115: 
1115: 
1115:     public:
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:       class value_compare
1115:       : public std::binary_function<value_type, value_type, bool>
1115:       {
1115:  friend class map<_Key, _Tp, _Compare, _Alloc>;
1115:       protected:
1115:  _Compare comp;
1115: 
1115:  value_compare(_Compare __c)
1115:  : comp(__c) { }
1115: 
1115:       public:
1115:  bool operator()(const value_type& __x, const value_type& __y) const
1115:  { return comp(__x.first, __y.first); }
1115:       };
1115: #pragma GCC diagnostic pop
1115: 
1115:     private:
1115: 
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<value_type>::other _Pair_alloc_type;
1115: 
1115:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1115:          key_compare, _Pair_alloc_type> _Rep_type;
1115: 
1115: 
1115:       _Rep_type _M_t;
1115: 
1115:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_typr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<signed char>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr signed char
1434:       min() noexcept { return -0x7f - 1; }
1434: 
1434:       static constexpr signed char
1434:       max() noexcept { return 0x7f; }
1434: 
1434: 
1434:       static constexpr signed char
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr signed char
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr signed char
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr signed char
1434:       infinity() noexcept { return static_cast<signed char>(0); }
1434: 
1434:       static constexpr signed char
1434:       quiet_NaN() noexcept { return static_cast<signed char>(0); }
1434: 
1434:       static constexpr signed char
1434:       signaling_NaN() noexcept
1434:       { return static_cast<signed char>(0); }
1434: 
1434:       static constexpr signed char
1434:       denorm_min() noexcept
1434:       { return static_cast<signed char>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<unsigned char>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr unsigned char
1434:       min() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned char
1434:       max() noexcept { return 0x7f * 2U + 1; }
1434: 
1434: 
1434:       static constexpr unsigned char
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits
1434:        = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = false;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr unsigned char
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned char
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       sM_stream << __value;
1417:  if (_M_string)
1417:           *_M_stream << _M_string;
1417:  return *this;
1417:       }
1417: 
1417:       [[__nodiscard__]]
1417:       ostream_iterator&
1417:       operator*() noexcept
1417:       { return *this; }
1417: 
1417:       ostream_iterator&
1417:       operator++() noexcept
1417:       { return *this; }
1417: 
1417:       ostream_iterator&
1417:       operator++(int) noexcept
1417:       { return *this; }
1417:     };
1417: #pragma GCC diagnostic pop
1417: 
1417: 
1417: 
1417: 
1417: }
1417: # 66 "/usr/include/c++/12/iterator" 2 3
1417: # 15 "/usr/include/fmt/core.h" 2 3 4
1417: # 288 "/usr/include/fmt/core.h" 3 4
1417: 
1417: # 288 "/usr/include/fmt/core.h" 3 4
1417: #pragma GCC push_options
1417: # 288 "/usr/include/fmt/core.h" 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace fmt { inline namespace v9 {
1417: 
1417: 
1417: 
1417: template <bool B, typename T = void>
1417: using enable_if_t = typename std::enable_if<B, T>::type;
1417: template <bool B, typename T, typename F>
1417: using conditional_t = typename std::conditional<B, T, F>::type;
1417: template <bool B> using bool_constant = std::integral_constant<bool, B>;
1417: template <typename T>
1417: using remove_reference_t = typename std::remove_reference<T>::type;
1417: template <typename T>
1417: using remove_const_t = typename std::remove_const<T>::type;
1417: template <typename T>
1417: using remove_cvref_t = typename std::remove_cv<remove_reference_t<T>>::type;
1417: template <typename T> struct type_identity { using type = T; };
1417: template <typename T> using type_identity_t = typename type_identity<T>::type;
1417: template <typename T>
1417: using underlying_t = typename std::underlying_type<T>::type;
1417: 
1417: template <typename...> struct disjunction : std::false_type {};
1417: template <typename P> struct disjunction<P> : P {};
1417: template <typename P1, typename... Pn>
1417: struct disjunction<P1, Pn...>
1417:     : conditional_t<bool(P1::value), P1, disjunction<Pn...>> {};
1417: 
1417: template <typename...> struct conjunction : std::true_type {};
1417: template <typename P> struct conjunction<P> : P {};
1417: template <typename P1, typename... Pn>
1417: struct conjunction<P1, Pn...>
1417:     : conditional_t<bool(P1::value), conjunction<Pn...>, P1> {};
1417: 
1417: struct monostate {
1417:   constexpr monostate() {}
1417: };
1417: # 338 "/usr/include/fmt/core.h" 3 4
1417: namespace detail {
1417: 
1417: 
1417: 
1417: 
1417: template <typename... T> constexpr void ignore_unused(const T&...) {}
1417: 
1417: constexpr inline __attribute__((always_inline)) auto is_constant_evaluated(
1417:     bool default_value = false) noexcept -> bool {
1417: 
1417: 
1417: 
1417: 
1417:   return default_value;
1417: 
1417: }
1417: 
1417: 
1417: template <typename T> constexpr inline __attribute__((always_inline)) auto const_check(T value) -> T {
1417:   return value;
1417: }
1417: 
1417: [[noreturn]] void assert_fail(const char* file, int line,
1417:                                       const char* message);
1417: # 377 "/usr/include/fmt/core.h" 3 4
1417: template <typename Char> using std_string_view = std::basic_string_view<Char>;
1417: # 399 "/usr/include/fmt/core.h" 3 4
1417: enum class int128_opt {};
1417: enum class uint128_opt {};
1417: 
1417: template <typename T> auto convert_for_visit(T) -> monostate { return {}; }
1417: 
1417: 
1417: 
1417: template <typename Int>
1417: constexpr auto to_unsigned(Int value) ->
1417:     typename std::make_unsigned<Int>::type {
1417:   ::fmt::detail::ignore_unused((std::is_unsigned<Int>::value || value >= 0), ("negative value"));
1417:   return static_cast<typename std::make_unsigned<Int>::type>(value);
1417: }
1417: 
1417:  constexpr unsigned char micro[] = "\u00B5";
1417: 
1417: constexpr auto is_utf8() -> bool {
1417: 
1417:   using uchar = unsigned char;
1417:   return !0 || (sizeof(micro) == 3 && uchar(micro[0]) == 0xC2 &&
1417:                          uchar(micro[1]) == 0xB5);
1417: }
1417: }
1417: # 430 "/usr/include/fmt/core.h" 3 4
1417: template <typename tatic constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr unsigned char
1434:       infinity() noexcept
1434:       { return static_cast<unsigned char>(0); }
1434: 
1434:       static constexpr unsigned char
1434:       quiet_NaN() noexcept
1434:       { return static_cast<unsigned char>(0); }
1434: 
1434:       static constexpr unsigned char
1434:       signaling_NaN() noexcept
1434:       { return static_cast<unsigned char>(0); }
1434: 
1434:       static constexpr unsigned char
1434:       denorm_min() noexcept
1434:       { return static_cast<unsigned char>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = true;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<wchar_t>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr wchar_t
1434:       min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); }
1434: 
1434:       static constexpr wchar_t
1434:       max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); }
1434: 
1434: 
1434:       static constexpr wchar_t
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = ((wchar_t)(-1) < 0);
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr wchar_t
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr wchar_t
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr wchar_t
1434:       infinity() noexcept { return wchar_t(); }
1434: 
1434:       static constexpr wchar_t
1434:       quiet_NaN() noexcept { return wchar_t(); }
1434: 
1434:       static constexpr wchar_t
1434:       signaling_NaN() noexcept { return wchar_t(); }
1434: 
1434:       static constexpr wchar_t
1434:       denorm_min() noexcept { return wchar_t(); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = !is_signed;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: # 796 "/usr/include/c++/12/limits" 3
1434:   template<>
1434:     structe> _Alloc_traits;
1115: 
1115: 
1115:       template<typename _Up, typename _Vp = remove_reference_t<_Up>>
1115:  static constexpr bool __usable_key
1115:    = __or_v<is_same<const _Vp, const _Key>,
1115:      __and_<is_scalar<_Vp>, is_scalar<_Key>>>;
1115: 
1115: 
1115:     public:
1115: 
1115: 
1115:       typedef typename _Alloc_traits::pointer pointer;
1115:       typedef typename _Alloc_traits::const_pointer const_pointer;
1115:       typedef typename _Alloc_traits::reference reference;
1115:       typedef typename _Alloc_traits::const_reference const_reference;
1115:       typedef typename _Rep_type::iterator iterator;
1115:       typedef typename _Rep_type::const_iterator const_iterator;
1115:       typedef typename _Rep_type::size_type size_type;
1115:       typedef typename _Rep_type::difference_type difference_type;
1115:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1115:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1115: 
1115: 
1115:       using node_type = typename _Rep_type::node_type;
1115:       using insert_return_type = typename _Rep_type::insert_return_type;
1115: # 195 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       map() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       map(const _Compare& __comp,
1115:    const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1115: # 217 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       map(const map&) = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       map(map&&) = default;
1115: # 238 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       map(initializer_list<value_type> __l,
1115:    const _Compare& __comp = _Compare(),
1115:    const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Pair_alloc_type(__a))
1115:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       explicit
1115:       map(const allocator_type& __a)
1115:       : _M_t(_Pair_alloc_type(__a)) { }
1115: 
1115: 
1115:       map(const map& __m, const __type_identity_t<allocator_type>& __a)
1115:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1115: 
1115: 
1115:       map(map&& __m, const __type_identity_t<allocator_type>& __a)
1115:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1115:         && _Alloc_traits::_S_always_equal())
1115:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1115: 
1115: 
1115:       map(initializer_list<value_type> __l, const allocator_type& __a)
1115:       : _M_t(_Pair_alloc_type(__a))
1115:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115:  map(_InputIterator __first, _InputIterator __last,
1115:      const allocator_type& __a)
1115:  : _M_t(_Pair_alloc_type(__a))
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: # 282 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template<typename _InputIterator>
1115:  map(_InputIterator __first, _InputIterator __last)
1115:  : _M_t()
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: # 299 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template<typename _InputIterator>
1115:  map(_InputIterator __first, _InputIterator __last,
1115:      const _Compare& __comp,
1115:      const allocator_type& __a = allocator_type())
1115:  : _M_t(__comp, _Pair_alloc_type(__a))
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~map() = default;
1115: # 328 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       map&
1115:       operator=(const map&) = default;
1115: 
1115: 
1115:       map&
1115:       operator=(map&&) = default;
1115: # 346 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       map&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  _M_t._M_assign_unique(__l.begin(), __l.end());
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115:       allocator_type
1115:       get_allocator() const noe numeric_limits<char16_t>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr char16_t
1434:       min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); }
1434: 
1434:       static constexpr char16_t
1434:       max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); }
1434: 
1434:       static constexpr char16_t
1434:       lowest() noexcept { return min(); }
1434: 
1434:       static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0));
1434:       static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136);
1434:       static constexpr int max_digits10 = 0;
1434:       static constexpr bool is_signed = ((char16_t)(-1) < 0);
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr char16_t
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr char16_t
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr char16_t
1434:       infinity() noexcept { return char16_t(); }
1434: 
1434:       static constexpr char16_t
1434:       quiet_NaN() noexcept { return char16_t(); }
1434: 
1434:       static constexpr char16_t
1434:       signaling_NaN() noexcept { return char16_t(); }
1434: 
1434:       static constexpr char16_t
1434:       denorm_min() noexcept { return char16_t(); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = !is_signed;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<char32_t>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr char32_t
1434:       min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); }
1434: 
1434:       static constexpr char32_t
1434:       max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); }
1434: 
1434:       static constexpr char32_t
1434:       lowest() noexcept { return min(); }
1434: 
1434:       static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0));
1434:       static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136);
1434:       static constexpr int max_digits10 = 0;
1434:       static constexpr bool is_signed = ((char32_t)(-1) < 0);
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr char32_t
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr char32_t
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;Char> class basic_string_view {
1417:  private:
1417:   const Char* data_;
1417:   size_t size_;
1417: 
1417:  public:
1417:   using value_type = Char;
1417:   using iterator = const Char*;
1417: 
1417:   constexpr basic_string_view() noexcept : data_(nullptr), size_(0) {}
1417: 
1417: 
1417:   constexpr basic_string_view(const Char* s, size_t count) noexcept
1417:       : data_(s), size_(count) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr
1417:   inline __attribute__((always_inline))
1417:   basic_string_view(const Char* s)
1417:       : data_(s),
1417:         size_(detail::const_check(std::is_same<Char, char>::value &&
1417:                                   !detail::is_constant_evaluated(true))
1417:                   ? std::strlen(reinterpret_cast<const char*>(s))
1417:                   : std::char_traits<Char>::length(s)) {}
1417: 
1417: 
1417:   template <typename Traits, typename Alloc>
1417:   constexpr basic_string_view(
1417:       const std::basic_string<Char, Traits, Alloc>& s) noexcept
1417:       : data_(s.data()), size_(s.size()) {}
1417: 
1417:   template <typename S, enable_if_t<(std::is_same< S, detail::std_string_view<Char>>::value), int> = 0
1417:                                                                                >
1417:   constexpr basic_string_view(S s) noexcept
1417:       : data_(s.data()), size_(s.size()) {}
1417: 
1417: 
1417:   constexpr auto data() const noexcept -> const Char* { return data_; }
1417: 
1417: 
1417:   constexpr auto size() const noexcept -> size_t { return size_; }
1417: 
1417:   constexpr auto begin() const noexcept -> iterator { return data_; }
1417:   constexpr auto end() const noexcept -> iterator { return data_ + size_; }
1417: 
1417:   constexpr auto operator[](size_t pos) const noexcept -> const Char& {
1417:     return data_[pos];
1417:   }
1417: 
1417:   constexpr void remove_prefix(size_t n) noexcept {
1417:     data_ += n;
1417:     size_ -= n;
1417:   }
1417: 
1417: 
1417:   constexpr auto compare(basic_string_view other) const -> int {
1417:     size_t str_size = size_ < other.size_ ? size_ : other.size_;
1417:     int result = std::char_traits<Char>::compare(data_, other.data_, str_size);
1417:     if (result == 0)
1417:       result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
1417:     return result;
1417:   }
1417: 
1417:   constexpr friend auto operator==(basic_string_view lhs,
1417:                                                    basic_string_view rhs)
1417:       -> bool {
1417:     return lhs.compare(rhs) == 0;
1417:   }
1417:   friend auto operator!=(basic_string_view lhs, basic_string_view rhs) -> bool {
1417:     return lhs.compare(rhs) != 0;
1417:   }
1417:   friend auto operator<(basic_string_view lhs, basic_string_view rhs) -> bool {
1417:     return lhs.compare(rhs) < 0;
1417:   }
1417:   friend auto operator<=(basic_string_view lhs, basic_string_view rhs) -> bool {
1417:     return lhs.compare(rhs) <= 0;
1417:   }
1417:   friend auto operator>(basic_string_view lhs, basic_string_view rhs) -> bool {
1417:     return lhs.compare(rhs) > 0;
1417:   }
1417:   friend auto operator>=(basic_string_view lhs, basic_string_view rhs) -> bool {
1417:     return lhs.compare(rhs) >= 0;
1417:   }
1417: };
1417: 
1417: using string_view = basic_string_view<char>;
1417: 
1417: 
1417: template <typename T> struct is_char : std::false_type {};
1417: template <> struct is_char<char> : std::true_type {};
1417: 
1417: namespace detail {
1417: 
1417: 
1417: struct compile_string {};
1417: 
1417: template <typename S>
1417: struct is_compile_string : std::is_base_of<compile_string, S> {};
1417: 
1417: 
1417: template <typename Char, enable_if_t<(is_char<Char>::value), int> = 0>
1417: inline __attribute__((always_inline)) auto to_string_view(const Char* s) -> basic_string_view<Char> {
1417:   return s;
1417: }
1417: template <typename Char, typename Traits, typename Alloc>
1417: inline auto to_string_view(const std::basic_string<Char, Traits, Alloc>& s)
1417:     -> basic_string_view<Char> {
1417:   return s;
1417: }

1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr char32_t
1434:       infinity() noexcept { return char32_t(); }
1434: 
1434:       static constexpr char32_t
1434:       quiet_NaN() noexcept { return char32_t(); }
1434: 
1434:       static constexpr char32_t
1434:       signaling_NaN() noexcept { return char32_t(); }
1434: 
1434:       static constexpr char32_t
1434:       denorm_min() noexcept { return char32_t(); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = !is_signed;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style = round_toward_zero;
1434:     };
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<short>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr short
1434:       min() noexcept { return -0x7fff - 1; }
1434: 
1434:       static constexpr short
1434:       max() noexcept { return 0x7fff; }
1434: 
1434: 
1434:       static constexpr short
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
1434:       static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr short
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr short
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr short
1434:       infinity() noexcept { return short(); }
1434: 
1434:       static constexpr short
1434:       quiet_NaN() noexcept { return short(); }
1434: 
1434:       static constexpr short
1434:       signaling_NaN() noexcept { return short(); }
1434: 
1434:       static constexpr short
1434:       denorm_min() noexcept { return short(); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<unsigned short>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr unsigned short
1434:       min() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned short
1434:       max() noexcept { return 0x7fff * 2U + 1; }
1434: 
1434: 
1434:       static constexpr unsigned short
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits
1434:        = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = false;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr unsigned short
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned short
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr unsigned short
1434:       infinity() noexcept
1434:       { return static_cast<unsigned short>(0); }
1434: 
1434:       static constexpr unsigned short
1434:       quiet_NaN() noexcept
1434:       { return static_cast<unsigned short>(0); }
1434: 
1434:       static constexpr unsigned short
1434:       signaling_NaN() noexcept
1434:       { return static_cast<unsigned short>(0); }
1434: 
1434:       static constexpr unsigned short
1434:       denorm_min() noexcept
1434:       { return static_cast<unsigned short>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = true;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<int>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr int
1434:       min() noexcept { return -0x7fffffff - 1; }
1434: 
1434:       static constexpr int
1434:       max() noexcept { return 0x7fffffff; }
1434: 
1434: 
1434:       static constexpr int
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
1434:       static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr int
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr int
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr int
1434:       infinity() noexcept { return static_cast<int>(0); }
1434: 
1434:       static constexpr int
1434:       quiet_NaN() noexcept { return static_cast<int>(0); }
1434: 
1434:       static constexpr int
1434:       signaling_NaN() noexcept { return static_cast<int>(0); }
1434: 
1434:       static conxcept
1115:       { return allocator_type(_M_t.get_allocator()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       begin() noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       end() noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       end() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rend() noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       crend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return _M_t.empty(); }
1115: 
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_t.size(); }
1115: 
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _M_t.max_size(); }
1115: # 501 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       mapped_type&
1115:       operator[](const key_type& __k)
1115:       {
1115: 
1115: 
1115: 
1115:  iterator __i = lower_bound(__k);
1115: 
1115:  if (__i == end() || key_comp()(__k, (*__i).first))
1115: 
1115:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1115:          std::tuple<const key_type&>(__k),
1115:          std::tuple<>());
1115: 
1115: 
1115: 
1115:  return (*__i).second;
1115:       }
1115: 
1115: 
1115:       mapped_type&
1115:       operator[](key_type&& __k)
1115:       {
1115: 
1115: 
1115: 
1115:  iterator __i = lower_bound(__k);
1115: 
1115:  if (__i == end() || key_comp()(__k, (*__i).first))
1115:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
1115:      std::forward_as_tuple(std::move(__k)),
1115:      std::tuple<>());
1115:  return (*__i).second;
1115:       }
1115: # 546 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       mapped_type&
1115:       at(const key_type& __k)
1115:       {
1115:  iterator __i = lower_bound(__k);
1115:  if (__i == end() || key_comp()(__k, (*__i).first))
1115:    __throw_out_of_range(("map::at"));
1115:  return (*__i).second;
1115:       }
1115: 
1115:       const mapped_type&
1115:       at(const key_type& __k) const
1115:       {
1115:  const_iterator __i = lower_bound(__k);
1115:  if (__i == end() || key_comp()(__k, (*__i).first))
1115:    __throw_out_of_range(("map::at"));
1115:  return (*__i).second;
1115:       }
1115: # 584 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template<typename... _Args>
1115:  std::pair<iterator, bool>
1115:  emplace(_Args&&... __args)
1115:  {
1115: 
1115:    if constexpr (sizeof...(_Args) == 2)
1115:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1115:        {
1115:   auto&& [__a, __v] = pair<_Args&...>(__args...);
1115:   if constexpr (__usable_key<decltype(__a)>)
1115:     {
1115:       const key_type& __k = __a;1417: template <typename Char>
1417: constexpr auto to_string_view(basic_string_view<Char> s)
1417:     -> basic_string_view<Char> {
1417:   return s;
1417: }
1417: template <typename Char,
1417:           enable_if_t<(!std::is_empty<std_string_view<Char>>::value), int> = 0>
1417: inline auto to_string_view(std_string_view<Char> s) -> basic_string_view<Char> {
1417:   return s;
1417: }
1417: template <typename S, enable_if_t<(is_compile_string<S>::value), int> = 0>
1417: constexpr auto to_string_view(const S& s)
1417:     -> basic_string_view<typename S::char_type> {
1417:   return basic_string_view<typename S::char_type>(s);
1417: }
1417: void to_string_view(...);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename S>
1417: struct is_string : std::is_class<decltype(to_string_view(std::declval<S>()))> {
1417: };
1417: 
1417: template <typename S, typename = void> struct char_t_impl {};
1417: template <typename S> struct char_t_impl<S, enable_if_t<is_string<S>::value>> {
1417:   using result = decltype(to_string_view(std::declval<S>()));
1417:   using type = typename result::value_type;
1417: };
1417: 
1417: enum class type {
1417:   none_type,
1417: 
1417:   int_type,
1417:   uint_type,
1417:   long_long_type,
1417:   ulong_long_type,
1417:   int128_type,
1417:   uint128_type,
1417:   bool_type,
1417:   char_type,
1417:   last_integer_type = char_type,
1417: 
1417:   float_type,
1417:   double_type,
1417:   long_double_type,
1417:   last_numeric_type = long_double_type,
1417:   cstring_type,
1417:   string_type,
1417:   pointer_type,
1417:   custom_type
1417: };
1417: 
1417: 
1417: template <typename T, typename Char>
1417: struct type_constant : std::integral_constant<type, type::custom_type> {};
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename Char> struct type_constant<int, Char> : std::integral_constant<type, type::int_type> {};
1417: template <typename Char> struct type_constant<unsigned, Char> : std::integral_constant<type, type::uint_type> {};
1417: template <typename Char> struct type_constant<long long, Char> : std::integral_constant<type, type::long_long_type> {};
1417: template <typename Char> struct type_constant<unsigned long long, Char> : std::integral_constant<type, type::ulong_long_type> {};
1417: template <typename Char> struct type_constant<int128_opt, Char> : std::integral_constant<type, type::int128_type> {};
1417: template <typename Char> struct type_constant<uint128_opt, Char> : std::integral_constant<type, type::uint128_type> {};
1417: template <typename Char> struct type_constant<bool, Char> : std::integral_constant<type, type::bool_type> {};
1417: template <typename Char> struct type_constant<Char, Char> : std::integral_constant<type, type::char_type> {};
1417: template <typename Char> struct type_constant<float, Char> : std::integral_constant<type, type::float_type> {};
1417: template <typename Char> struct type_constant<double, Char> : std::integral_constant<type, type::double_type> {};
1417: template <typename Char> struct type_constant<long double, Char> : std::integral_constant<type, type::long_double_type> {};
1417: template <typename Char> struct type_constant<const Char*, Char> : std::integral_constant<type, type::cstring_type> {};
1417: template <typename Char> struct type_constant<basic_string_view<Char>, Char> : std::integral_constant<type, type::string_type> {};
1417: template <typename Char> struct type_constant<const void*, Char> : std::integral_constant<type, type::pointer_type> {};
1417: 
1417: constexpr bool is_integral_type(type t) {
1417:   return t > type::none_type && t <= type::last_integer_type;
1417: }
1417: 
1417: constexpr bool is_arithmetic_type(type t) {
1417:   return t > type::none_type && t <= type::last_numeric_type;
1417: }
1417: 
1417: [[noreturn]] void throw_format_error(const char* message);
1417: 
1417: struct error_handler {
1417:   constexpr error_handler() = default;
1417:   constexpr error_handler(const error_handler&) = default;
1417: 
1417: 
1417:   [[noreturn]] void on_error(const char* message) {
1417:     throw_format_error(mstexpr int
1434:       denorm_min() noexcept { return static_cast<int>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<unsigned int>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr unsigned int
1434:       min() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned int
1434:       max() noexcept { return 0x7fffffff * 2U + 1; }
1434: 
1434: 
1434:       static constexpr unsigned int
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits
1434:        = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = false;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr unsigned int
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned int
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr unsigned int
1434:       infinity() noexcept { return static_cast<unsigned int>(0); }
1434: 
1434:       static constexpr unsigned int
1434:       quiet_NaN() noexcept
1434:       { return static_cast<unsigned int>(0); }
1434: 
1434:       static constexpr unsigned int
1434:       signaling_NaN() noexcept
1434:       { return static_cast<unsigned int>(0); }
1434: 
1434:       static constexpr unsigned int
1434:       denorm_min() noexcept
1434:       { return static_cast<unsigned int>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = true;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<long>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr long
1434:       min() noexcept { return -0x7fffffffL - 1; }
1434: 
1434:       static constexpr long
1434:       max() noexcept { return 0x7fffffffL; }
1434: 
1434: 
1434:       static constexpr long
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
1434:       static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr long
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr long
1
1115:       iterator __i = lower_bound(__k);
1115:       if (__i == end() || key_comp()(__k, (*__i).first))
1115:         {
1115:    __i = emplace_hint(__i, std::forward<_Args>(__args)...);
1115:    return {__i, true};
1115:         }
1115:       return {__i, false};
1115:     }
1115:        }
1115: 
1115:    return _M_t._M_emplace_unique(std::forward<_Args>(__args)...);
1115:  }
1115: # 634 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace_hint(const_iterator __pos, _Args&&... __args)
1115:  {
1115:    return _M_t._M_emplace_hint_unique(__pos,
1115:           std::forward<_Args>(__args)...);
1115:  }
1115: 
1115: 
1115: 
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1115:  return _M_t.extract(__pos);
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const key_type& __x)
1115:       { return _M_t.extract(__x); }
1115: 
1115: 
1115:       insert_return_type
1115:       insert(node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1115: 
1115:       template<typename, typename>
1115:  friend struct std::_Rb_tree_merge_helper;
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1115:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<map, _Cmp2>;
1115:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: # 719 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template <typename... _Args>
1115:  pair<iterator, bool>
1115:  try_emplace(const key_type& __k, _Args&&... __args)
1115:  {
1115:    iterator __i = lower_bound(__k);
1115:    if (__i == end() || key_comp()(__k, (*__i).first))
1115:      {
1115:        __i = emplace_hint(__i, std::piecewise_construct,
1115:      std::forward_as_tuple(__k),
1115:      std::forward_as_tuple(
1115:        std::forward<_Args>(__args)...));
1115:        return {__i, true};
1115:      }
1115:    return {__i, false};
1115:  }
1115: 
1115: 
1115:       template <typename... _Args>
1115:  pair<iterator, bool>
1115:  try_emplace(key_type&& __k, _Args&&... __args)
1115:  {
1115:    iterator __i = lower_bound(__k);
1115:    if (__i == end() || key_comp()(__k, (*__i).first))
1115:      {
1115:        __i = emplace_hint(__i, std::piecewise_construct,
1115:      std::forward_as_tuple(std::move(__k)),
1115:      std::forward_as_tuple(
1115:        std::forward<_Args>(__args)...));
1115:        return {__i, true};
1115:      }
1115:    return {__i, false};
1115:  }
1115: # 779 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template <typename... _Args>
1115:  iterator
1115:  try_emplace(const_iterator __hint, const key_type& __k,
1115:       _Args&&... __args)
1115:  {
1115:    iterator __i;
1115:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1115:    if (__true_hint.second)
1115:      __i = emplace_hint(iterator(__true_hint.second),
1115:           std::piecewise_construct,
1115:           std::forward_as_tuple(__k),
1115:           std::forward_as_tuple(
1115:      std::forward<_Args>(__args)...));
1115:    else
1115:      __i = iterator(__true_hint.first);
1115:    return __i;
1115:  }
1115: 
1115: 
1115:  434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr long
1434:       infinity() noexcept { return static_cast<long>(0); }
1434: 
1434:       static constexpr long
1434:       quiet_NaN() noexcept { return static_cast<long>(0); }
1434: 
1434:       static constexpr long
1434:       signaling_NaN() noexcept { return static_cast<long>(0); }
1434: 
1434:       static constexpr long
1434:       denorm_min() noexcept { return static_cast<long>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<unsigned long>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr unsigned long
1434:       min() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned long
1434:       max() noexcept { return 0x7fffffffL * 2UL + 1; }
1434: 
1434: 
1434:       static constexpr unsigned long
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits
1434:        = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = false;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr unsigned long
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned long
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr unsigned long
1434:       infinity() noexcept
1434:       { return static_cast<unsigned long>(0); }
1434: 
1434:       static constexpr unsigned long
1434:       quiet_NaN() noexcept
1434:       { return static_cast<unsigned long>(0); }
1434: 
1434:       static constexpr unsigned long
1434:       signaling_NaN() noexcept
1434:       { return static_cast<unsigned long>(0); }
1434: 
1434:       static constexpr unsigned long
1434:       denorm_min() noexcept
1434:       { return static_cast<unsigned long>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = true;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
essage);
1417:   }
1417: };
1417: }
1417: 
1417: 
1417: template <typename S> using char_t = typename detail::char_t_impl<S>::type;
1417: # 653 "/usr/include/fmt/core.h" 3 4
1417: template <typename Char, typename ErrorHandler = detail::error_handler>
1417: class basic_format_parse_context : private ErrorHandler {
1417:  private:
1417:   basic_string_view<Char> format_str_;
1417:   int next_arg_id_;
1417: 
1417:   constexpr void do_check_arg_id(int id);
1417: 
1417:  public:
1417:   using char_type = Char;
1417:   using iterator = typename basic_string_view<Char>::iterator;
1417: 
1417:   explicit constexpr basic_format_parse_context(
1417:       basic_string_view<Char> format_str, ErrorHandler eh = {},
1417:       int next_arg_id = 0)
1417:       : ErrorHandler(eh), format_str_(format_str), next_arg_id_(next_arg_id) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr auto begin() const noexcept -> iterator {
1417:     return format_str_.begin();
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   constexpr auto end() const noexcept -> iterator { return format_str_.end(); }
1417: 
1417: 
1417:   constexpr void advance_to(iterator it) {
1417:     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr auto next_arg_id() -> int {
1417:     if (next_arg_id_ < 0) {
1417:       on_error("cannot switch from manual to automatic argument indexing");
1417:       return 0;
1417:     }
1417:     int id = next_arg_id_++;
1417:     do_check_arg_id(id);
1417:     return id;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr void check_arg_id(int id) {
1417:     if (next_arg_id_ > 0) {
1417:       on_error("cannot switch from automatic to manual argument indexing");
1417:       return;
1417:     }
1417:     next_arg_id_ = -1;
1417:     do_check_arg_id(id);
1417:   }
1417:   constexpr void check_arg_id(basic_string_view<Char>) {}
1417:   constexpr void check_dynamic_spec(int arg_id);
1417: 
1417:   constexpr void on_error(const char* message) {
1417:     ErrorHandler::on_error(message);
1417:   }
1417: 
1417:   constexpr auto error_handler() const -> ErrorHandler { return *this; }
1417: };
1417: 
1417: using format_parse_context = basic_format_parse_context<char>;
1417: 
1417: namespace detail {
1417: 
1417: template <typename Char, typename ErrorHandler = detail::error_handler>
1417: class compile_parse_context
1417:     : public basic_format_parse_context<Char, ErrorHandler> {
1417:  private:
1417:   int num_args_;
1417:   const type* types_;
1417:   using base = basic_format_parse_context<Char, ErrorHandler>;
1417: 
1417:  public:
1417:   explicit constexpr compile_parse_context(
1417:       basic_string_view<Char> format_str, int num_args, const type* types,
1417:       ErrorHandler eh = {}, int next_arg_id = 0)
1417:       : base(format_str, eh, next_arg_id), num_args_(num_args), types_(types) {}
1417: 
1417:   constexpr auto num_args() const -> int { return num_args_; }
1417:   constexpr auto arg_type(int id) const -> type { return types_[id]; }
1417: 
1417:   constexpr auto next_arg_id() -> int {
1417:     int id = base::next_arg_id();
1417:     if (id >= num_args_) this->on_error("argument not found");
1417:     return id;
1417:   }
1417: 
1417:   constexpr void check_arg_id(int id) {
1417:     base::check_arg_id(id);
1417:     if (id >= num_args_) this->on_error("argument not found");
1417:   }
1417:   using base::check_arg_id;
1417: 
1417:   constexpr void check_dynamic_spec(int arg_id) {
1417:     if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id]))
1417:       this->on_error("width/precision is not integer");
1417:   }
1417: };
1417: }
1417: 
1417: template <typename Char, typename ErrorHandler>
1417: constexpr void
1417: basic_format_parse_context<Char, ErrorHandler>::do_check_arg_id(int id) {
1417: 
1417: 
1417:   if (detail::is_constant_evaluated() && (12 * 100 + 2) >= 1200) {
1417:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1417:     if (id >= static_cast<context*>(this)->num_args())
1417:       on1434:     struct numeric_limits<long long>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr long long
1434:       min() noexcept { return -0x7fffffffffffffffLL - 1; }
1434: 
1434:       static constexpr long long
1434:       max() noexcept { return 0x7fffffffffffffffLL; }
1434: 
1434: 
1434:       static constexpr long long
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits
1434:        = (sizeof(long long) * 8 - ((long long)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr long long
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr long long
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = false;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr long long
1434:       infinity() noexcept { return static_cast<long long>(0); }
1434: 
1434:       static constexpr long long
1434:       quiet_NaN() noexcept { return static_cast<long long>(0); }
1434: 
1434:       static constexpr long long
1434:       signaling_NaN() noexcept
1434:       { return static_cast<long long>(0); }
1434: 
1434:       static constexpr long long
1434:       denorm_min() noexcept { return static_cast<long long>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<unsigned long long>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr unsigned long long
1434:       min() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned long long
1434:       max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; }
1434: 
1434: 
1434:       static constexpr unsigned long long
1434:       lowest() noexcept { return min(); }
1434: 
1434: 
1434:       static constexpr int digits
1434:        = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
1434:       static constexpr int digits10
1434:        = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136);
1434: 
1434:       static constexpr int max_digits10 = 0;
1434: 
1434:       static constexpr bool is_signed = false;
1434:       static constexpr bool is_integer = true;
1434:       static constexpr bool is_exact = true;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr unsigned long long
1434:       epsilon() noexcept { return 0; }
1434: 
1434:       static constexpr unsigned long long
1434:       round_error() noexcept { return 0; }
1434: 
1434:       static constexpr int min_exponent = 0;
1434:       static constexpr int min_exponent10 = 0;
1434:       static constexpr int max_exponent = 0;
1434:       static constexpr int max_exponent10 = 0;
1434: 
1434:       static constexpr bool has_infinity = false;
1434:       static constexpr bool has_quiet_NaN = f     template <typename... _Args>
1115:  iterator
1115:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1115:  {
1115:    iterator __i;
1115:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1115:    if (__true_hint.second)
1115:      __i = emplace_hint(iterator(__true_hint.second),
1115:           std::piecewise_construct,
1115:           std::forward_as_tuple(std::move(__k)),
1115:           std::forward_as_tuple(
1115:      std::forward<_Args>(__args)...));
1115:    else
1115:      __i = iterator(__true_hint.first);
1115:    return __i;
1115:  }
1115: # 832 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       std::pair<iterator, bool>
1115:       insert(const value_type& __x)
1115:       { return _M_t._M_insert_unique(__x); }
1115: 
1115: 
1115: 
1115: 
1115:       std::pair<iterator, bool>
1115:       insert(value_type&& __x)
1115:       { return _M_t._M_insert_unique(std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair>::value,
1115:         pair<iterator, bool>>
1115:  insert(_Pair&& __x)
1115:  {
1115: 
1115:    using _P2 = remove_reference_t<_Pair>;
1115:    if constexpr (__is_pair<_P2>)
1115:      if constexpr (is_same_v<allocator_type, allocator<value_type>>)
1115:        if constexpr (__usable_key<typename _P2::first_type>)
1115:   {
1115:     const key_type& __k = __x.first;
1115:     iterator __i = lower_bound(__k);
1115:     if (__i == end() || key_comp()(__k, (*__i).first))
1115:       {
1115:         __i = emplace_hint(__i, std::forward<_Pair>(__x));
1115:         return {__i, true};
1115:       }
1115:     return {__i, false};
1115:   }
1115: 
1115:    return _M_t._M_emplace_unique(std::forward<_Pair>(__x));
1115:  }
1115: # 877 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       void
1115:       insert(std::initializer_list<value_type> __list)
1115:       { insert(__list.begin(), __list.end()); }
1115: # 906 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       iterator
1115: 
1115:       insert(const_iterator __position, const value_type& __x)
1115: 
1115: 
1115: 
1115:       { return _M_t._M_insert_unique_(__position, __x); }
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __position, value_type&& __x)
1115:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1115:  insert(const_iterator __position, _Pair&& __x)
1115:  {
1115:    return _M_t._M_emplace_hint_unique(__position,
1115:           std::forward<_Pair>(__x));
1115:  }
1115: # 939 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  insert(_InputIterator __first, _InputIterator __last)
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: # 964 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template <typename _Obj>
1115:  pair<iterator, bool>
1115:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1115:  {
1115:    iterator __i = lower_bound(__k);
1115:    if (__i == end() || key_comp()(__k, (*__i).first))
1115:      {
1115:        __i = emplace_hint(__i, std::piecewise_construct,
1115:      std::forward_as_tuple(__k),
1115:      std::forward_as_tuple(
1115:        std::forward<_Obj>(__obj)));
1115:        return {__i, true};
1115:      }
1115:    (*__i).second = std::forward<_Obj>(__obj);
1115:    return {__i, false};
1115:  }
1115: 
1115: 
1115:       template <typename _Obj>
1115:  pair<iterator, bool>
1115:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1115:  {
1115:    iterator __i = lower_bound(__k);
1115:    if (__i == end() || key_comp()(__k, (*__i).first))
1115:      {
1115:        __i = emplace_hint(__i, std::piecewise_construct,
1115:      std::forward_as_tuple(std::move(__k)),
1115:      std::forward_as_tuple(
1115:        std::forward<_Obj>(__obj)));
1115:        return {__i, true};
1115:      }
1115:    (*__i).second = std::forward<_Obj>(__obj);
1115:    return {__i, false};
1115:  }
1115: #alse;
1434:       static constexpr bool has_signaling_NaN = false;
1434:       static constexpr float_denorm_style has_denorm
1434:        = denorm_absent;
1434:       static constexpr bool has_denorm_loss = false;
1434: 
1434:       static constexpr unsigned long long
1434:       infinity() noexcept
1434:       { return static_cast<unsigned long long>(0); }
1434: 
1434:       static constexpr unsigned long long
1434:       quiet_NaN() noexcept
1434:       { return static_cast<unsigned long long>(0); }
1434: 
1434:       static constexpr unsigned long long
1434:       signaling_NaN() noexcept
1434:       { return static_cast<unsigned long long>(0); }
1434: 
1434:       static constexpr unsigned long long
1434:       denorm_min() noexcept
1434:       { return static_cast<unsigned long long>(0); }
1434: 
1434:       static constexpr bool is_iec559 = false;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = true;
1434: 
1434:       static constexpr bool traps = true;
1434:       static constexpr bool tinyness_before = false;
1434:       static constexpr float_round_style round_style
1434:        = round_toward_zero;
1434:     };
1434: # 1669 "/usr/include/c++/12/limits" 3
1434:   template<>
1434:     struct numeric_limits<float>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr float
1434:       min() noexcept { return 1.1754943508222875e-38F; }
1434: 
1434:       static constexpr float
1434:       max() noexcept { return 3.4028234663852886e+38F; }
1434: 
1434: 
1434:       static constexpr float
1434:       lowest() noexcept { return -3.4028234663852886e+38F; }
1434: 
1434: 
1434:       static constexpr int digits = 24;
1434:       static constexpr int digits10 = 6;
1434: 
1434:       static constexpr int max_digits10
1434:   = (2 + (24) * 643L / 2136);
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = false;
1434:       static constexpr bool is_exact = false;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr float
1434:       epsilon() noexcept { return 1.1920928955078125e-7F; }
1434: 
1434:       static constexpr float
1434:       round_error() noexcept { return 0.5F; }
1434: 
1434:       static constexpr int min_exponent = (-125);
1434:       static constexpr int min_exponent10 = (-37);
1434:       static constexpr int max_exponent = 128;
1434:       static constexpr int max_exponent10 = 38;
1434: 
1434:       static constexpr bool has_infinity = 1;
1434:       static constexpr bool has_quiet_NaN = 1;
1434:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1434:       static constexpr float_denorm_style has_denorm
1434:  = bool(1) ? denorm_present : denorm_absent;
1434:       static constexpr bool has_denorm_loss
1434:        = false;
1434: 
1434:       static constexpr float
1434:       infinity() noexcept { return __builtin_huge_valf(); }
1434: 
1434:       static constexpr float
1434:       quiet_NaN() noexcept { return __builtin_nanf(""); }
1434: 
1434:       static constexpr float
1434:       signaling_NaN() noexcept { return __builtin_nansf(""); }
1434: 
1434:       static constexpr float
1434:       denorm_min() noexcept { return 1.4012984643248171e-45F; }
1434: 
1434:       static constexpr bool is_iec559
1434:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = false;
1434:       static constexpr bool tinyness_before
1434:        = false;
1434:       static constexpr float_round_style round_style
1434:        = round_to_nearest;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<double>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr double
1434:       min() noexcept { return double(2.2250738585072014e-308L); }
1434: 
1434:       static _error("argument not found");
1417:   }
1417: }
1417: 
1417: template <typename Char, typename ErrorHandler>
1417: constexpr void
1417: basic_format_parse_context<Char, ErrorHandler>::check_dynamic_spec(int arg_id) {
1417:   if (detail::is_constant_evaluated()) {
1417:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1417:     static_cast<context*>(this)->check_dynamic_spec(arg_id);
1417:   }
1417: }
1417: 
1417: template <typename Context> class basic_format_arg;
1417: template <typename Context> class basic_format_args;
1417: template <typename Context> class dynamic_format_arg_store;
1417: 
1417: 
1417: template <typename T, typename Char = char, typename Enable = void>
1417: struct formatter {
1417: 
1417:   formatter() = delete;
1417: };
1417: 
1417: 
1417: 
1417: template <typename T, typename Context>
1417: using has_formatter =
1417:     std::is_constructible<typename Context::template formatter_type<T>>;
1417: 
1417: 
1417: template <typename T> struct is_contiguous : std::false_type {};
1417: template <typename Char>
1417: struct is_contiguous<std::basic_string<Char>> : std::true_type {};
1417: 
1417: class appender;
1417: 
1417: namespace detail {
1417: 
1417: template <typename Context, typename T>
1417: constexpr auto has_const_formatter_impl(T*)
1417:     -> decltype(typename Context::template formatter_type<T>().format(
1417:                     std::declval<const T&>(), std::declval<Context&>()),
1417:                 true) {
1417:   return true;
1417: }
1417: template <typename Context>
1417: constexpr auto has_const_formatter_impl(...) -> bool {
1417:   return false;
1417: }
1417: template <typename T, typename Context>
1417: constexpr auto has_const_formatter() -> bool {
1417:   return has_const_formatter_impl<Context>(static_cast<T*>(nullptr));
1417: }
1417: 
1417: 
1417: template <typename Container>
1417: inline auto get_container(std::back_insert_iterator<Container> it)
1417:     -> Container& {
1417:   using base = std::back_insert_iterator<Container>;
1417:   struct accessor : base {
1417:     accessor(base b) : base(b) {}
1417:     using base::container;
1417:   };
1417:   return *accessor(it).container;
1417: }
1417: 
1417: template <typename Char, typename InputIt, typename OutputIt>
1417: constexpr auto copy_str(InputIt begin, InputIt end, OutputIt out)
1417:     -> OutputIt {
1417:   while (begin != end) *out++ = static_cast<Char>(*begin++);
1417:   return out;
1417: }
1417: 
1417: template <typename Char, typename T, typename U,
1417:           enable_if_t<(std::is_same<remove_const_t<T>, U>::value&& is_char<U>::value), int> = 0
1417:                                                                             >
1417: constexpr auto copy_str(T* begin, T* end, U* out) -> U* {
1417:   if (is_constant_evaluated()) return copy_str<Char, T*, U*>(begin, end, out);
1417:   auto size = to_unsigned(end - begin);
1417:   memcpy(out, begin, size * sizeof(U));
1417:   return out + size;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename T> class buffer {
1417:  private:
1417:   T* ptr_;
1417:   size_t size_;
1417:   size_t capacity_;
1417: 
1417:  protected:
1417: 
1417:  
1417:   buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {}
1417: 
1417:   buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept
1417:       : ptr_(p), size_(sz), capacity_(cap) {}
1417: 
1417:   ~buffer() = default;
1417:   buffer(buffer&&) = default;
1417: 
1417: 
1417:   constexpr void set(T* buf_data, size_t buf_capacity) noexcept {
1417:     ptr_ = buf_data;
1417:     capacity_ = buf_capacity;
1417:   }
1417: 
1417: 
1417:   virtual void grow(size_t capacity) = 0;
1417: 
1417:  public:
1417:   using value_type = T;
1417:   using const_reference = const T&;
1417: 
1417:   buffer(const buffer&) = delete;
1417:   void operator=(const buffer&) = delete;
1417: 
1417:   auto begin() noexcept -> T* { return ptr_; }
1417:   auto end() noexcept -> T* { return ptr_ + size_; }
1417: 
1417:   auto begin() const noexcept -> const T* { return ptr_; }
1417:   auto end() const noconstexpr double
1434:       max() noexcept { return double(1.7976931348623157e+308L); }
1434: 
1434: 
1434:       static constexpr double
1434:       lowest() noexcept { return -double(1.7976931348623157e+308L); }
1434: 
1434: 
1434:       static constexpr int digits = 53;
1434:       static constexpr int digits10 = 15;
1434: 
1434:       static constexpr int max_digits10
1434:   = (2 + (53) * 643L / 2136);
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = false;
1434:       static constexpr bool is_exact = false;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr double
1434:       epsilon() noexcept { return double(2.2204460492503131e-16L); }
1434: 
1434:       static constexpr double
1434:       round_error() noexcept { return 0.5; }
1434: 
1434:       static constexpr int min_exponent = (-1021);
1434:       static constexpr int min_exponent10 = (-307);
1434:       static constexpr int max_exponent = 1024;
1434:       static constexpr int max_exponent10 = 308;
1434: 
1434:       static constexpr bool has_infinity = 1;
1434:       static constexpr bool has_quiet_NaN = 1;
1434:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1434:       static constexpr float_denorm_style has_denorm
1434:  = bool(1) ? denorm_present : denorm_absent;
1434:       static constexpr bool has_denorm_loss
1434:         = false;
1434: 
1434:       static constexpr double
1434:       infinity() noexcept { return __builtin_huge_val(); }
1434: 
1434:       static constexpr double
1434:       quiet_NaN() noexcept { return __builtin_nan(""); }
1434: 
1434:       static constexpr double
1434:       signaling_NaN() noexcept { return __builtin_nans(""); }
1434: 
1434:       static constexpr double
1434:       denorm_min() noexcept { return double(4.9406564584124654e-324L); }
1434: 
1434:       static constexpr bool is_iec559
1434:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = false;
1434:       static constexpr bool tinyness_before
1434:        = false;
1434:       static constexpr float_round_style round_style
1434:        = round_to_nearest;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct numeric_limits<long double>
1434:     {
1434:       static constexpr bool is_specialized = true;
1434: 
1434:       static constexpr long double
1434:       min() noexcept { return 2.2250738585072014e-308L; }
1434: 
1434:       static constexpr long double
1434:       max() noexcept { return 1.7976931348623157e+308L; }
1434: 
1434: 
1434:       static constexpr long double
1434:       lowest() noexcept { return -1.7976931348623157e+308L; }
1434: 
1434: 
1434:       static constexpr int digits = 53;
1434:       static constexpr int digits10 = 15;
1434: 
1434:       static constexpr int max_digits10
1434:   = (2 + (53) * 643L / 2136);
1434: 
1434:       static constexpr bool is_signed = true;
1434:       static constexpr bool is_integer = false;
1434:       static constexpr bool is_exact = false;
1434:       static constexpr int radix = 2;
1434: 
1434:       static constexpr long double
1434:       epsilon() noexcept { return 2.2204460492503131e-16L; }
1434: 
1434:       static constexpr long double
1434:       round_error() noexcept { return 0.5L; }
1434: 
1434:       static constexpr int min_exponent = (-1021);
1434:       static constexpr int min_exponent10 = (-307);
1434:       static constexpr int max_exponent = 1024;
1434:       static constexpr int max_exponent10 = 308;
1434: 
1434:       static constexpr bool has_infinity = 1;
1434:       static constexpr bool has_quiet_NaN = 1;
1434:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1434:       static constexpr float_denorm_style has_denorm
1434:  = bool(1) ? denorm_present : denorm_absent;
1434:       static constexpr bool has_denorm_loss
1434:  = false;
1434: 
1434:       static co 1019 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       template <typename _Obj>
1115:  iterator
1115:  insert_or_assign(const_iterator __hint,
1115:     const key_type& __k, _Obj&& __obj)
1115:  {
1115:    iterator __i;
1115:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1115:    if (__true_hint.second)
1115:      {
1115:        return emplace_hint(iterator(__true_hint.second),
1115:       std::piecewise_construct,
1115:       std::forward_as_tuple(__k),
1115:       std::forward_as_tuple(
1115:         std::forward<_Obj>(__obj)));
1115:      }
1115:    __i = iterator(__true_hint.first);
1115:    (*__i).second = std::forward<_Obj>(__obj);
1115:    return __i;
1115:  }
1115: 
1115: 
1115:       template <typename _Obj>
1115:  iterator
1115:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1115:  {
1115:    iterator __i;
1115:    auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k);
1115:    if (__true_hint.second)
1115:      {
1115:        return emplace_hint(iterator(__true_hint.second),
1115:       std::piecewise_construct,
1115:       std::forward_as_tuple(std::move(__k)),
1115:       std::forward_as_tuple(
1115:         std::forward<_Obj>(__obj)));
1115:      }
1115:    __i = iterator(__true_hint.first);
1115:    (*__i).second = std::forward<_Obj>(__obj);
1115:    return __i;
1115:  }
1115: # 1078 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       iterator
1115:       erase(const_iterator __position)
1115:       { return _M_t.erase(__position); }
1115: 
1115: 
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(iterator __position)
1115:       { return _M_t.erase(__position); }
1115: # 1115 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       size_type
1115:       erase(const key_type& __x)
1115:       { return _M_t.erase(__x); }
1115: # 1135 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       iterator
1115:       erase(const_iterator __first, const_iterator __last)
1115:       { return _M_t.erase(__first, __last); }
1115: # 1169 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       void
1115:       swap(map& __x)
1115:       noexcept(__is_nothrow_swappable<_Compare>::value)
1115:       { _M_t.swap(__x._M_t); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       clear() noexcept
1115:       { _M_t.clear(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       key_compare
1115:       key_comp() const
1115:       { return _M_t.key_comp(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       value_compare
1115:       value_comp() const
1115:       { return value_compare(_M_t.key_comp()); }
1115: # 1216 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       iterator
1115:       find(const key_type& __x)
1115:       { return _M_t.find(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1115:  { return _M_t._M_find_tr(__x); }
1115: # 1241 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       const_iterator
1115:       find(const key_type& __x) const
1115:       { return _M_t.find(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1115:  { return _M_t._M_find_tr(__x); }
1115: # 1262 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       size_type
1115:       count(const key_type& __x) const
1115:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1115:  { return _M_t._M_count_tr(__x); }
1115: # 1305 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       iterator
1115:       lower_bound(const key_type& __x)
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1115: # 1330 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       const_itenstexpr long double
1434:       infinity() noexcept { return __builtin_huge_vall(); }
1434: 
1434:       static constexpr long double
1434:       quiet_NaN() noexcept { return __builtin_nanl(""); }
1434: 
1434:       static constexpr long double
1434:       signaling_NaN() noexcept { return __builtin_nansl(""); }
1434: 
1434:       static constexpr long double
1434:       denorm_min() noexcept { return 4.9406564584124654e-324L; }
1434: 
1434:       static constexpr bool is_iec559
1434:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1434:       static constexpr bool is_bounded = true;
1434:       static constexpr bool is_modulo = false;
1434: 
1434:       static constexpr bool traps = false;
1434:       static constexpr bool tinyness_before =
1434:       false;
1434:       static constexpr float_round_style round_style =
1434:             round_to_nearest;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 40 "/usr/include/c++/12/bits/chrono.h" 2 3
1434: # 1 "/usr/include/c++/12/ctime" 1 3
1434: # 39 "/usr/include/c++/12/ctime" 3
1434:        
1434: # 40 "/usr/include/c++/12/ctime" 3
1434: # 41 "/usr/include/c++/12/bits/chrono.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/parse_numbers.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/parse_numbers.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/parse_numbers.h" 3
1434: # 42 "/usr/include/c++/12/bits/parse_numbers.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: namespace __parse_int
1434: {
1434:   template<unsigned _Base, char _Dig>
1434:     struct _Digit;
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '0'> : integral_constant<unsigned, 0>
1434:     {
1434:       using __valid = true_type;
1434:     };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '1'> : integral_constant<unsigned, 1>
1434:     {
1434:       using __valid = true_type;
1434:     };
1434: 
1434:   template<unsigned _Base, unsigned _Val>
1434:     struct _Digit_impl : integral_constant<unsigned, _Val>
1434:     {
1434:       static_assert(_Base > _Val, "invalid digit");
1434:       using __valid = true_type;
1434:     };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '2'> : _Digit_impl<_Base, 2>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '3'> : _Digit_impl<_Base, 3>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '4'> : _Digit_impl<_Base, 4>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '5'> : _Digit_impl<_Base, 5>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '6'> : _Digit_impl<_Base, 6>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '7'> : _Digit_impl<_Base, 7>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '8'> : _Digit_impl<_Base, 8>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '9'> : _Digit_impl<_Base, 9>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'a'> : _Digit_impl<_Base, 0xa>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'A'> : _Digit_impl<_Base, 0xa>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'b'> : _Digit_impl<_Base, 0xb>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'B'> : _Digit_impl<_Base, 0xb>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'c'> : _Digit_impl<_Base, 0xc>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'C'> : _Digit_impl<_Base, 0xc>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'd'> : _Digit_impl<_Base, 0xd>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'D'> : _Digit_impl<_Base, 0xd>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'e'> : _Digit_impl<_Base, 0xe>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'E'> : _Digit_impl<_Base, 0xe>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'f'> : _Digit_impl<_Base, 0xf>
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, 'F'> : _Digit_impl<_Base, 0xf>
1434:     { };
1434: 
1434: 
1434:   template<unsigned _Base>
1434:     struct _Digit<_Base, '\''> : integral_constant<unsigned, 0>
1434:     {
1434:       using __valid = false_type;
1434:     };
1434: 
1434: 
1434: 
1434:   template<unsigned long long _Val>
1434:     using __ull_constant = integral_constant<unsigned long long, _Val>;
1434: 
1434:   template<unsigned _Base, char _Dig, char... _Digs>
1434:     struct _Power_help
1434:     {
1434:       using __next = typename _Power_help<_Base, _Digs...>::type;
1434:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1434:       using type
1434:  = __ull_constant<__next::value * (__valid_digit{} ? _Base : 1ULL)>;
1434:     };
1434: 
1434:   template<unsigned _Base, char _Dig>
1434:     struct _Power_help<_Base, _Dig>
1434:     {
1434:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1434:       using type = __ull_constant<__valid_digit::value>;
1434:     };
1434: 
1434:   template<unsigned _Base, char... _Digs>
1434:     struct _Power : _Power_help<_Base, _Digs...>::type
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Power<_Base> : __ull_constant<0>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char... _Digs>
1434:     struct _Number_help
1434:     {
1434:       using __digit = _Digit<_Base, _Dig>;
1434:       using __valid_digit = typename __digit::__valid;
1434:       using __next = _Number_help<_Base,
1434:       __valid_digit::value ? _Pow / _Base : _Pow,
1434:       _Digs...>;
1434:       using type = __ull_constant<_Pow * __digit::value + __next::type::value>;
1434:       static_assert((type::value / _Pow) == __digit::value,
1434:       "integer literal does not fit in unsigned long long");
1434:     };
1434: 
1434: 
1434:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char..._Digs>
1434:     struct _Number_help<_Base, _Pow, '\'', _Dig, _Digs...>
1434:     : _Number_help<_Base, _Pow, _Dig, _Digs...>
1434:     { };
1434: 
1434: 
1434:   template<unsigned _Base, char _Dig>
1434:     struct _Number_help<_Base, 1ULL, _Dig>
1434:     {
1434:       using type = __ull_constant<_Digit<_Base, _Dig>::value>;
1434:     };
1434: 
1434:   template<unsigned _Base, char... _Digs>
1434:     struct _Number
1434:     : _Number_help<_Base, _Power<_Base, _Digs...>::value, _Digs...>::type
1434:     { };
1434: 
1434:   template<unsigned _Base>
1434:     struct _Number<_Base>
1434:     : __ull_constant<0>
1434:     { };
1434: 
1434: 
1434: 
1434:   template<char... _Digs>
1434:     struct _Parse_int;
1434: 
1434:   template<char... _Digs>
1434:     struct _Parse_int<'0', 'b', _Digs...>
1434:     : _Number<2U, _Digs...>::type
1434:     { };
1434: 
1434:   template<char... _Digs>
1434:     struct _Parse_int<'0', 'B', _Digs...>
1434:     : _Number<2U, _Digs...>::type
1434:     { };
1434: 
1434:   template<char... _Digs>
1434:     struct _Parse_int<'0', 'x', _Digs...>
1434:     : _Number<16U, _Digs...>::type
1434:     { };
1434: 
1434:   template<char... _Digs>
1434:     struct _Parse_int<'0', 'X', _Digs...>
1434:     : _Number<16U, _Digs...>::type
1434:     { };
1434: 
1434:   template<char... _Digs>
1434:     struct _Parse_int<'0', _Digs...>
1434:     : _Number<8U, _Digs...>::type
1434:     { };
1434: 
1434:   template<char... _Digs>
1434:     struct _Parse_int
1434:     : _Number<10U, _Digs...>::type
1434:     { };
1434: 
1434: }
1434: 
1434: 
1434: namespace __select_int
1434: {
1434:   template<unsigned long long _Val, typename... _Ints>
1434:     struct _Select_int_base;
1434: 
1434:   template<unsigned long long _Val, typename _IntType, texcept -> const T* { return ptr_ + size_; }
1417: 
1417: 
1417:   constexpr auto size() const noexcept -> size_t { return size_; }
1417: 
1417: 
1417:   constexpr auto capacity() const noexcept -> size_t { return capacity_; }
1417: 
1417: 
1417:   constexpr auto data() noexcept -> T* { return ptr_; }
1417: 
1417: 
1417:   constexpr auto data() const noexcept -> const T* { return ptr_; }
1417: 
1417: 
1417:   void clear() { size_ = 0; }
1417: 
1417: 
1417: 
1417:   void try_resize(size_t count) {
1417:     try_reserve(count);
1417:     size_ = count <= capacity_ ? count : capacity_;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void try_reserve(size_t new_capacity) {
1417:     if (new_capacity > capacity_) grow(new_capacity);
1417:   }
1417: 
1417:   void push_back(const T& value) {
1417:     try_reserve(size_ + 1);
1417:     ptr_[size_++] = value;
1417:   }
1417: 
1417: 
1417:   template <typename U> void append(const U* begin, const U* end);
1417: 
1417:   template <typename Idx> constexpr auto operator[](Idx index) -> T& {
1417:     return ptr_[index];
1417:   }
1417:   template <typename Idx>
1417:   constexpr auto operator[](Idx index) const -> const T& {
1417:     return ptr_[index];
1417:   }
1417: };
1417: 
1417: struct buffer_traits {
1417:   explicit buffer_traits(size_t) {}
1417:   auto count() const -> size_t { return 0; }
1417:   auto limit(size_t size) -> size_t { return size; }
1417: };
1417: 
1417: class fixed_buffer_traits {
1417:  private:
1417:   size_t count_ = 0;
1417:   size_t limit_;
1417: 
1417:  public:
1417:   explicit fixed_buffer_traits(size_t limit) : limit_(limit) {}
1417:   auto count() const -> size_t { return count_; }
1417:   auto limit(size_t size) -> size_t {
1417:     size_t n = limit_ > count_ ? limit_ - count_ : 0;
1417:     count_ += size;
1417:     return size < n ? size : n;
1417:   }
1417: };
1417: 
1417: 
1417: template <typename OutputIt, typename T, typename Traits = buffer_traits>
1417: class iterator_buffer final : public Traits, public buffer<T> {
1417:  private:
1417:   OutputIt out_;
1417:   enum { buffer_size = 256 };
1417:   T data_[buffer_size];
1417: 
1417:  protected:
1417:   void grow(size_t) override {
1417:     if (this->size() == buffer_size) flush();
1417:   }
1417: 
1417:   void flush() {
1417:     auto size = this->size();
1417:     this->clear();
1417:     out_ = copy_str<T>(data_, data_ + this->limit(size), out_);
1417:   }
1417: 
1417:  public:
1417:   explicit iterator_buffer(OutputIt out, size_t n = buffer_size)
1417:       : Traits(n), buffer<T>(data_, 0, buffer_size), out_(out) {}
1417:   iterator_buffer(iterator_buffer&& other)
1417:       : Traits(other), buffer<T>(data_, 0, buffer_size), out_(other.out_) {}
1417:   ~iterator_buffer() { flush(); }
1417: 
1417:   auto out() -> OutputIt {
1417:     flush();
1417:     return out_;
1417:   }
1417:   auto count() const -> size_t { return Traits::count() + this->size(); }
1417: };
1417: 
1417: template <typename T>
1417: class iterator_buffer<T*, T, fixed_buffer_traits> final
1417:     : public fixed_buffer_traits,
1417:       public buffer<T> {
1417:  private:
1417:   T* out_;
1417:   enum { buffer_size = 256 };
1417:   T data_[buffer_size];
1417: 
1417:  protected:
1417:   void grow(size_t) override {
1417:     if (this->size() == this->capacity()) flush();
1417:   }
1417: 
1417:   void flush() {
1417:     size_t n = this->limit(this->size());
1417:     if (this->data() == out_) {
1417:       out_ += n;
1417:       this->set(data_, buffer_size);
1417:     }
1417:     this->clear();
1417:   }
1417: 
1417:  public:
1417:   explicit iterator_buffer(T* out, size_t n = buffer_size)
1417:       : fixed_buffer_traits(n), buffer<T>(out, 0, n), out_(out) {}
1417:   iterator_buffer(iterator_buffer&& other)
1417:       : fixed_buffer_traits(other),
1417:         buffer<T>(std::move(other)),
1417:         out_(other.out_) {
1417:     if (this->data() != out_) {
1417:       this->set(data_, buffer_size);
1417:       this->clear();
1417:     }
1417:   }
1417:   ~iterator_buffer() { flush(); }
1417: 
1417:   autorator
1115:       lower_bound(const key_type& __x) const
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x) const
1115:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1115: # 1350 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       iterator
1115:       upper_bound(const key_type& __x)
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1115: # 1370 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       const_iterator
1115:       upper_bound(const key_type& __x) const
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x) const
1115:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1115: # 1399 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       std::pair<iterator, iterator>
1115:       equal_range(const key_type& __x)
1115:       { return _M_t.equal_range(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x)
1115:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1115:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1115: # 1428 "/usr/include/c++/12/bits/stl_map.h" 3
1115:       std::pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __x) const
1115:       { return _M_t.equal_range(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x) const
1115:  -> decltype(pair<const_iterator, const_iterator>(
1115:        _M_t._M_equal_range_tr(__x)))
1115:  {
1115:    return pair<const_iterator, const_iterator>(
1115:        _M_t._M_equal_range_tr(__x));
1115:  }
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator==(const map<_K1, _T1, _C1, _A1>&,
1115:      const map<_K1, _T1, _C1, _A1>&);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator<(const map<_K1, _T1, _C1, _A1>&,
1115:     const map<_K1, _T1, _C1, _A1>&);
1115: 
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator,
1115:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1115:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     map(_InputIterator, _InputIterator,
1115:  _Compare = _Compare(), _Allocator = _Allocator())
1115:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1115:     _Compare, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
1115:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     map(initializer_list<pair<_Key, _Tp>>,
1115:  _Compare = _Compare(), _Allocator = _Allocator())
1115:     -> map<_Key, _Tp, _Compare, _Allocator>;
1115: 
1115:   template <typename _InputIterator, typename _Allocator,
1115:      typename = _RequireInputIter<_InputIterator>,
1115:      typename = _RequireAllocator<_Allocator>>
1115:     map(_InputIterator, _InputIterator, _Allocator)
1115:     -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1115:     less<__iter_key_t<_InputIterator>>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1115:ypename... _Ints>
1434:     struct _Select_int_base<_Val, _IntType, _Ints...>
1434:     : __conditional_t<(_Val <= __gnu_cxx::__int_traits<_IntType>::__max),
1434:         integral_constant<_IntType, (_IntType)_Val>,
1434:         _Select_int_base<_Val, _Ints...>>
1434:     { };
1434: 
1434:   template<unsigned long long _Val>
1434:     struct _Select_int_base<_Val>
1434:     { };
1434: 
1434:   template<char... _Digs>
1434:     using _Select_int = typename _Select_int_base<
1434:  __parse_int::_Parse_int<_Digs...>::value,
1434:  unsigned char,
1434:  unsigned short,
1434:  unsigned int,
1434:  unsigned long,
1434:  unsigned long long
1434:       >::type;
1434: 
1434: }
1434: 
1434: 
1434: }
1434: # 42 "/usr/include/c++/12/bits/chrono.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   namespace filesystem { struct __file_clock; };
1434: 
1434: 
1434:   namespace chrono
1434:   {
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Rep, typename _Period = ratio<1>>
1434:       struct duration;
1434: 
1434: 
1434:     template<typename _Clock, typename _Dur = typename _Clock::duration>
1434:       struct time_point;
1434: 
1434:   }
1434: # 77 "/usr/include/c++/12/bits/chrono.h" 3
1434:   template<typename _CT, typename _Period1, typename _Period2, typename = void>
1434:     struct __duration_common_type
1434:     { };
1434: 
1434:   template<typename _CT, typename _Period1, typename _Period2>
1434:     struct __duration_common_type<_CT, _Period1, _Period2,
1434:       __void_t<typename _CT::type>>
1434:     {
1434:     private:
1434:       using __gcd_num = __static_gcd<_Period1::num, _Period2::num>;
1434:       using __gcd_den = __static_gcd<_Period1::den, _Period2::den>;
1434:       using __cr = typename _CT::type;
1434:       using __r = ratio<__gcd_num::value,
1434:    (_Period1::den / __gcd_den::value) * _Period2::den>;
1434: 
1434:     public:
1434:       using type = chrono::duration<__cr, typename __r::type>;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
1434:     struct common_type<chrono::duration<_Rep1, _Period1>,
1434:          chrono::duration<_Rep2, _Period2>>
1434:     : __duration_common_type<common_type<_Rep1, _Rep2>,
1434:         typename _Period1::type,
1434:         typename _Period2::type>
1434:     { };
1434: 
1434: 
1434:   template<typename _Rep, typename _Period>
1434:     struct common_type<chrono::duration<_Rep, _Period>,
1434:          chrono::duration<_Rep, _Period>>
1434:     {
1434:       using type = chrono::duration<typename common_type<_Rep>::type,
1434:         typename _Period::type>;
1434:     };
1434: 
1434: 
1434:   template<typename _Rep, typename _Period>
1434:     struct common_type<chrono::duration<_Rep, _Period>>
1434:     {
1434:       using type = chrono::duration<typename common_type<_Rep>::type,
1434:         typename _Period::type>;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CT, typename _Clock, typename = void>
1434:     struct __timepoint_common_type
1434:     { };
1434: 
1434:   template<typename _CT, typename _Clock>
1434:     struct __timepoint_common_type<_CT, _Clock, __void_t<typename _CT::type>>
1434:     {
1434:       using type = chrono::time_point<_Clock, typename _CT::type>;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Clock, typename _Duration1, typename _Duration2>
1434:     struct common_type<chrono::time_point<_Clock, _Duration1>,
1434:          chrono::time_point<_Clock, _Duration2>>
1434:     : __timepoint_common_type<common_type<_Duration1, _Duration2>, _Clock>
1434:     { };
1434: 
1434: 
1434:   template<typename _Clock, typename _Duration>
1434:     struct common_type<chrono::time_point<_Clock, _Duration>,
1434:          chrono::time_point<_Clock, _Duration>>
1434:     { using type = chrono::time_point<_Clock, _Duration>; };
1434: 
1434: 
1434:   template<typename _Clock, t out() -> T* {
1417:     flush();
1417:     return out_;
1417:   }
1417:   auto count() const -> size_t {
1417:     return fixed_buffer_traits::count() + this->size();
1417:   }
1417: };
1417: 
1417: template <typename T> class iterator_buffer<T*, T> final : public buffer<T> {
1417:  protected:
1417:   void grow(size_t) override {}
1417: 
1417:  public:
1417:   explicit iterator_buffer(T* out, size_t = 0) : buffer<T>(out, 0, ~size_t()) {}
1417: 
1417:   auto out() -> T* { return &*this->end(); }
1417: };
1417: 
1417: 
1417: template <typename Container>
1417: class iterator_buffer<std::back_insert_iterator<Container>,
1417:                       enable_if_t<is_contiguous<Container>::value,
1417:                                   typename Container::value_type>>
1417:     final : public buffer<typename Container::value_type> {
1417:  private:
1417:   Container& container_;
1417: 
1417:  protected:
1417:   void grow(size_t capacity) override {
1417:     container_.resize(capacity);
1417:     this->set(&container_[0], capacity);
1417:   }
1417: 
1417:  public:
1417:   explicit iterator_buffer(Container& c)
1417:       : buffer<typename Container::value_type>(c.size()), container_(c) {}
1417:   explicit iterator_buffer(std::back_insert_iterator<Container> out, size_t = 0)
1417:       : iterator_buffer(get_container(out)) {}
1417: 
1417:   auto out() -> std::back_insert_iterator<Container> {
1417:     return std::back_inserter(container_);
1417:   }
1417: };
1417: 
1417: 
1417: template <typename T = char> class counting_buffer final : public buffer<T> {
1417:  private:
1417:   enum { buffer_size = 256 };
1417:   T data_[buffer_size];
1417:   size_t count_ = 0;
1417: 
1417:  protected:
1417:   void grow(size_t) override {
1417:     if (this->size() != buffer_size) return;
1417:     count_ += this->size();
1417:     this->clear();
1417:   }
1417: 
1417:  public:
1417:   counting_buffer() : buffer<T>(data_, 0, buffer_size) {}
1417: 
1417:   auto count() -> size_t { return count_ + this->size(); }
1417: };
1417: 
1417: template <typename T>
1417: using buffer_appender = conditional_t<std::is_same<T, char>::value, appender,
1417:                                       std::back_insert_iterator<buffer<T>>>;
1417: 
1417: 
1417: template <typename T, typename OutputIt>
1417: auto get_buffer(OutputIt out) -> iterator_buffer<OutputIt, T> {
1417:   return iterator_buffer<OutputIt, T>(out);
1417: }
1417: 
1417: template <typename Buffer>
1417: auto get_iterator(Buffer& buf) -> decltype(buf.out()) {
1417:   return buf.out();
1417: }
1417: template <typename T> auto get_iterator(buffer<T>& buf) -> buffer_appender<T> {
1417:   return buffer_appender<T>(buf);
1417: }
1417: 
1417: template <typename T, typename Char = char, typename Enable = void>
1417: struct fallback_formatter {
1417:   fallback_formatter() = delete;
1417: };
1417: 
1417: 
1417: template <typename T, typename Char>
1417: using has_fallback_formatter =
1417: 
1417: 
1417: 
1417:     std::false_type;
1417: 
1417: 
1417: struct view {};
1417: 
1417: template <typename Char, typename T> struct named_arg : view {
1417:   const Char* name;
1417:   const T& value;
1417:   named_arg(const Char* n, const T& v) : name(n), value(v) {}
1417: };
1417: 
1417: template <typename Char> struct named_arg_info {
1417:   const Char* name;
1417:   int id;
1417: };
1417: 
1417: template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1417: struct arg_data {
1417: 
1417: 
1417:   T args_[1 + (NUM_ARGS != 0 ? NUM_ARGS : +1)];
1417:   named_arg_info<Char> named_args_[NUM_NAMED_ARGS];
1417: 
1417:   template <typename... U>
1417:   arg_data(const U&... init) : args_{T(named_args_, NUM_NAMED_ARGS), init...} {}
1417:   arg_data(const arg_data& other) = delete;
1417:   auto args() const -> const T* { return args_ + 1; }
1417:   auto named_args() -> named_arg_info<Char>* { return named_args_; }
1417: };
1417: 
1417: template <typename T, typename Char, size_t NUM_ARGS>
1417: struct arg_data<T, Char, NUM_ARGS, 0> {
1417: 
1417:   T args_[NUM_ARGS != 0 ? NUM_ARGS : +1];
1417: 
1417:   ypename _Duration>
1434:     struct common_type<chrono::time_point<_Clock, _Duration>>
1434:     { using type = chrono::time_point<_Clock, _Duration>; };
1434: 
1434: 
1434: 
1434: 
1434:   namespace chrono
1434:   {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _ToDur, typename _CF, typename _CR,
1434:       bool _NumIsOne = false, bool _DenIsOne = false>
1434:       struct __duration_cast_impl
1434:       {
1434:  template<typename _Rep, typename _Period>
1434:    static constexpr _ToDur
1434:    __cast(const duration<_Rep, _Period>& __d)
1434:    {
1434:      typedef typename _ToDur::rep __to_rep;
1434:      return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count())
1434:        * static_cast<_CR>(_CF::num)
1434:        / static_cast<_CR>(_CF::den)));
1434:    }
1434:       };
1434: 
1434:     template<typename _ToDur, typename _CF, typename _CR>
1434:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, true>
1434:       {
1434:  template<typename _Rep, typename _Period>
1434:    static constexpr _ToDur
1434:    __cast(const duration<_Rep, _Period>& __d)
1434:    {
1434:      typedef typename _ToDur::rep __to_rep;
1434:      return _ToDur(static_cast<__to_rep>(__d.count()));
1434:    }
1434:       };
1434: 
1434:     template<typename _ToDur, typename _CF, typename _CR>
1434:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, false>
1434:       {
1434:  template<typename _Rep, typename _Period>
1434:    static constexpr _ToDur
1434:    __cast(const duration<_Rep, _Period>& __d)
1434:    {
1434:      typedef typename _ToDur::rep __to_rep;
1434:      return _ToDur(static_cast<__to_rep>(
1434:        static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den)));
1434:    }
1434:       };
1434: 
1434:     template<typename _ToDur, typename _CF, typename _CR>
1434:       struct __duration_cast_impl<_ToDur, _CF, _CR, false, true>
1434:       {
1434:  template<typename _Rep, typename _Period>
1434:    static constexpr _ToDur
1434:    __cast(const duration<_Rep, _Period>& __d)
1434:    {
1434:      typedef typename _ToDur::rep __to_rep;
1434:      return _ToDur(static_cast<__to_rep>(
1434:        static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num)));
1434:    }
1434:       };
1434: 
1434:     template<typename _Tp>
1434:       struct __is_duration
1434:       : std::false_type
1434:       { };
1434: 
1434:     template<typename _Rep, typename _Period>
1434:       struct __is_duration<duration<_Rep, _Period>>
1434:       : std::true_type
1434:       { };
1434: 
1434:     template<typename _Tp>
1434:       using __enable_if_is_duration
1434:  = typename enable_if<__is_duration<_Tp>::value, _Tp>::type;
1434: 
1434:     template<typename _Tp>
1434:       using __disable_if_is_duration
1434:  = typename enable_if<!__is_duration<_Tp>::value, _Tp>::type;
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _ToDur, typename _Rep, typename _Period>
1434:       constexpr __enable_if_is_duration<_ToDur>
1434:       duration_cast(const duration<_Rep, _Period>& __d)
1434:       {
1434:  typedef typename _ToDur::period __to_period;
1434:  typedef typename _ToDur::rep __to_rep;
1434:  typedef ratio_divide<_Period, __to_period> __cf;
1434:  typedef typename common_type<__to_rep, _Rep, intmax_t>::type __cr;
1434:  typedef __duration_cast_impl<_ToDur, __cf, __cr,
1434:           __cf::num == 1, __cf::den == 1> __dc;
1434:  return __dc::__cast(__d);
1434:       }
1434: 
1434: 
1434:     template<typename _Rep>
1434:       struct treat_as_floating_point
1434:       : is_floating_point<_Rep>
1434:       { };
1434: 
1434: 
1434:     template <typename _Rep>
1434:       inline constexpr bool treat_as_floating_point_v =
1434:  treat_as_floating_point<_Rep>::value;
1434: # 332 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _ToDur, typename _Rep, typename _Period>
1434:       constexpr __enable_if_is_duration<_ToDur>
1434:       floor(const duration<_Rep, _Period>& __d)
1434:       {
1434:  auto __to = chrono::duration_cast<_ToDur>(__d);
1434:  if (__to > __d)
1434:    return __to     -> map<_Key, _Tp, less<_Key>, _Allocator>;
1115: # 1509 "/usr/include/c++/12/bits/stl_map.h" 3
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return __x._M_t == __y._M_t; }
1115: # 1547 "/usr/include/c++/12/bits/stl_map.h" 3
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1115:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return __x._M_t < __y._M_t; }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1115:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline void
1115:     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
1115:   map<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1115:     typename _Cmp2>
1115:     struct
1115:     _Rb_tree_merge_helper<std::map<_Key, _Val, _Cmp1, _Alloc>,
1115:      _Cmp2>
1115:     {
1115:     private:
1115:       friend class std::map<_Key, _Val, _Cmp1, _Alloc>;
1115: 
1115:       static auto&
1115:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1115:       { return __map._M_t; }
1115: 
1115:       static auto&
1115:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1115:       { return __map._M_t; }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 62 "/usr/include/c++/12/map" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_multimap.h" 1 3
1115: # 64 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     class map;
1115: # 96 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:   template <typename _Key, typename _Tp,
1115:      typename _Compare = std::less<_Key>,
1115:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
1115:     class multimap
1115:     {
1115:     public:
1115:       typedef _Key key_type;
1115:       typedef _Tp mapped_type;
1115:       typedef std::pair<const _Key, _Tp> value_type;
1115:       typedef _Compare key_compare;
1115:       typedef _Alloc allocator_type;
1115: 
1115:     private:
1115: # 122 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
1115:    "std::multimap must have the same value_type as its allocator");
1115: 
1115: 
1115: 
1115:     public:
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:       class value_compare
1115:       : public std::binary_function<value_type, value_type, bool>
1115:       {
1115:  friend class multimap<_Key, _Tp, _Compare, _Alloc>;
1115:       protected:
1115:  _Compare comp;
1115: 
1115:  value_compare(_Compare __c)
1115:  : comp(__c) { }
1115: 
1115:       public:
1115:  bool operator()(const value_type& __x, const value_type& __y) const
1115:  { return comp(__x.first, __y.first); }
1115:       };
1115: #pragma GCC diagnostic pop
1115: 
1115:     private:
1115: 
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<value_type>::other _Pair_alloc_type;
1115: 
1115:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
1115:          key_compare, _Pair_alloc_type> _Rep_type;
1115: 
1115:       _Rep_type _M_t;
1115: 
1115:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
1115: 
1115:     public:
1115: 
1115: 
1115:       typedef typename _Alloc_traits::pointer pointer;
1115:       typedef typename _Alloc_traits::const_pointer const_pointer;
1115:       typedef typename _Alloc_traits::reference reference;
1115:       typedef typename _Alloc_traits::const_reference const_reference;
1115:       typedef typename _Rep_type::iterator iterator;
1115:       typedef typename _Rep_type::const_iterator const_iterator;
1115:       typedef typename _Rep_type::size_type size_type;
1115:       typedef typename _Rep_type::difference_type difference_type;
1115:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
1115:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1115: 
1115: 
1115:       using node_type = typename _Rep_type::node_type;
1115: # 185 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       multimap() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       multimap(const _Compare& __comp,
1115:         const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
1115: # 207 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       multimap(const multimap&) = default;
1115: # 216 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       multimap(multimap&&) = default;
1115: # 228 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       multimap(initializer_list<value_type> __l,
1115:         const _Compare& __comp = _Compare(),
1115:         const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Pair_alloc_type(__a))
1115:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       explicit
1115:       multimap(const allocator_type& __a)
1115:       : _M_t(_Pair_alloc_type(__a)) { }
1115: 
1115: 
1115:       multimap(const multimap& __m,
1115:         const __type_identity_t<allocator_type>& __a)
1115:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
1115: 
1115: 
1115:       multimap(multimap&& __m, const __type_identity_t<allocator_type>& __a)
1115:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1115:         && _Alloc_traits::_S_always_equal())
1115:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
1115: 
1115: 
1115:       multimap(initializer_list<value_type> __l, const allocator_type& __a)
1115:       : _M_t(_Pair_alloc_type(__a))
1115:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115:  multimap(_InputIterator __first, _InputIterator __last,
1115:    const allocator_type& __a)
1115:  : _M_t(_Pair_alloc_type(__a))
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1115: # 272 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       template<typename _InputIterator>
1115:  multimap(_InputIterator __first, _InputIterator __last)
1115:  : _M_t()
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1115: # 288 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       template<typename _InputIterator>
1115:  multimap(_InputIterator __first, _InputIterator __last,
1115:    const _Compare& __comp,
1115:    const allocator_type& __a = allocator_type())
1115:  : _M_t(__comp, _Pair_alloc_type(__a))
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1 - _ToDur{1};
1434:  return __to;
1434:       }
1434: 
1434:     template<typename _ToDur, typename _Rep, typename _Period>
1434:       constexpr __enable_if_is_duration<_ToDur>
1434:       ceil(const duration<_Rep, _Period>& __d)
1434:       {
1434:  auto __to = chrono::duration_cast<_ToDur>(__d);
1434:  if (__to < __d)
1434:    return __to + _ToDur{1};
1434:  return __to;
1434:       }
1434: 
1434:     template <typename _ToDur, typename _Rep, typename _Period>
1434:       constexpr enable_if_t<
1434:  __and_<__is_duration<_ToDur>,
1434:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1434:  _ToDur>
1434:       round(const duration<_Rep, _Period>& __d)
1434:       {
1434:  _ToDur __t0 = chrono::floor<_ToDur>(__d);
1434:  _ToDur __t1 = __t0 + _ToDur{1};
1434:  auto __diff0 = __d - __t0;
1434:  auto __diff1 = __t1 - __d;
1434:  if (__diff0 == __diff1)
1434:  {
1434:      if (__t0.count() & 1)
1434:   return __t1;
1434:      return __t0;
1434:  }
1434:  else if (__diff0 < __diff1)
1434:      return __t0;
1434:  return __t1;
1434:       }
1434: 
1434:     template<typename _Rep, typename _Period>
1434:       constexpr
1434:       enable_if_t<numeric_limits<_Rep>::is_signed, duration<_Rep, _Period>>
1434:       abs(duration<_Rep, _Period> __d)
1434:       {
1434:  if (__d >= __d.zero())
1434:    return __d;
1434:  return -__d;
1434:       }
1434: 
1434: 
1434:     namespace __detail { using chrono::ceil; }
1434: # 412 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _Rep>
1434:       struct duration_values
1434:       {
1434:  static constexpr _Rep
1434:  zero() noexcept
1434:  { return _Rep(0); }
1434: 
1434:  static constexpr _Rep
1434:  max() noexcept
1434:  { return numeric_limits<_Rep>::max(); }
1434: 
1434:  static constexpr _Rep
1434:  min() noexcept
1434:  { return numeric_limits<_Rep>::lowest(); }
1434:       };
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:       struct __is_ratio
1434:       : std::false_type
1434:       { };
1434: 
1434:     template<intmax_t _Num, intmax_t _Den>
1434:       struct __is_ratio<ratio<_Num, _Den>>
1434:       : std::true_type
1434:       { };
1434: 
1434: 
1434: 
1434:     template<typename _Rep, typename _Period>
1434:       struct duration
1434:       {
1434:       private:
1434:  template<typename _Rep2>
1434:    using __is_float = treat_as_floating_point<_Rep2>;
1434: 
1434:  static constexpr intmax_t
1434:  _S_gcd(intmax_t __m, intmax_t __n) noexcept
1434:  {
1434: 
1434: 
1434: 
1434:    do
1434:      {
1434:        intmax_t __rem = __m % __n;
1434:        __m = __n;
1434:        __n = __rem;
1434:      }
1434:    while (__n != 0);
1434:    return __m;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  template<typename _R1, typename _R2,
1434:    intmax_t __gcd1 = _S_gcd(_R1::num, _R2::num),
1434:    intmax_t __gcd2 = _S_gcd(_R1::den, _R2::den)>
1434:    using __divide = ratio<(_R1::num / __gcd1) * (_R2::den / __gcd2),
1434:      (_R1::den / __gcd2) * (_R2::num / __gcd1)>;
1434: 
1434: 
1434:  template<typename _Period2>
1434:    using __is_harmonic
1434:      = __bool_constant<__divide<_Period2, _Period>::den == 1>;
1434: 
1434:       public:
1434: 
1434:  using rep = _Rep;
1434:  using period = typename _Period::type;
1434: 
1434:  static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
1434:  static_assert(__is_ratio<_Period>::value,
1434:         "period must be a specialization of ratio");
1434:  static_assert(_Period::num > 0, "period must be positive");
1434: 
1434: 
1434:  constexpr duration() = default;
1434: 
1434:  duration(const duration&) = default;
1434: 
1434: 
1434: 
1434:  template<typename _Rep2, typename = _Require<
1434:    is_convertible<const _Rep2&, rep>,
1434:    __or_<__is_float<rep>, __not_<__is_float<_Rep2>>>>>
1434:    constexpr explicit duration(const _Rep2& __rep)
1434:    : __r(static_cast<rep>(__rep)) { }
1434: 
1434:  template<typename _Rep2, typename _Period2, typename = _Require<
1434:    is_convertible<const _Rep2&, rep>,
1434:    __or_<template <typename... U>
1417:   constexpr inline __attribute__((always_inline)) arg_data(const U&... init) : args_{init...} {}
1417:   constexpr inline __attribute__((always_inline)) auto args() const -> const T* { return args_; }
1417:   constexpr inline __attribute__((always_inline)) auto named_args() -> std::nullptr_t {
1417:     return nullptr;
1417:   }
1417: };
1417: 
1417: template <typename Char>
1417: inline void init_named_args(named_arg_info<Char>*, int, int) {}
1417: 
1417: template <typename T> struct is_named_arg : std::false_type {};
1417: template <typename T> struct is_statically_named_arg : std::false_type {};
1417: 
1417: template <typename T, typename Char>
1417: struct is_named_arg<named_arg<Char, T>> : std::true_type {};
1417: 
1417: template <typename Char, typename T, typename... Tail,
1417:           enable_if_t<(!is_named_arg<T>::value), int> = 0>
1417: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1417:                      int named_arg_count, const T&, const Tail&... args) {
1417:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1417: }
1417: 
1417: template <typename Char, typename T, typename... Tail,
1417:           enable_if_t<(is_named_arg<T>::value), int> = 0>
1417: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1417:                      int named_arg_count, const T& arg, const Tail&... args) {
1417:   named_args[named_arg_count++] = {arg.name, arg_count};
1417:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1417: }
1417: 
1417: template <typename... Args>
1417: constexpr inline __attribute__((always_inline)) void init_named_args(std::nullptr_t, int, int,
1417:                                               const Args&...) {}
1417: 
1417: template <bool B = false> constexpr auto count() -> size_t { return B ? 1 : 0; }
1417: template <bool B1, bool B2, bool... Tail> constexpr auto count() -> size_t {
1417:   return (B1 ? 1 : 0) + count<B2, Tail...>();
1417: }
1417: 
1417: template <typename... Args> constexpr auto count_named_args() -> size_t {
1417:   return count<is_named_arg<Args>::value...>();
1417: }
1417: 
1417: template <typename... Args>
1417: constexpr auto count_statically_named_args() -> size_t {
1417:   return count<is_statically_named_arg<Args>::value...>();
1417: }
1417: 
1417: struct unformattable {};
1417: struct unformattable_char : unformattable {};
1417: struct unformattable_const : unformattable {};
1417: struct unformattable_pointer : unformattable {};
1417: 
1417: template <typename Char> struct string_value {
1417:   const Char* data;
1417:   size_t size;
1417: };
1417: 
1417: template <typename Char> struct named_arg_value {
1417:   const named_arg_info<Char>* data;
1417:   size_t size;
1417: };
1417: 
1417: template <typename Context> struct custom_value {
1417:   using parse_context = typename Context::parse_context_type;
1417:   void* value;
1417:   void (*format)(void* arg, parse_context& parse_ctx, Context& ctx);
1417: };
1417: 
1417: 
1417: template <typename Context> class value {
1417:  public:
1417:   using char_type = typename Context::char_type;
1417: 
1417:   union {
1417:     monostate no_value;
1417:     int int_value;
1417:     unsigned uint_value;
1417:     long long long_long_value;
1417:     unsigned long long ulong_long_value;
1417:     int128_opt int128_value;
1417:     uint128_opt uint128_value;
1417:     bool bool_value;
1417:     char_type char_value;
1417:     float float_value;
1417:     double double_value;
1417:     long double long_double_value;
1417:     const void* pointer;
1417:     string_value<char_type> string;
1417:     custom_value<Context> custom;
1417:     named_arg_value<char_type> named_args;
1417:   };
1417: 
1417:   constexpr inline __attribute__((always_inline)) value() : no_value() {}
1417:   constexpr inline __attribute__((always_inline)) value(int val) : int_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) value(unsigned val) : uint_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) va__is_float<rep>,
1434:          __and_<__is_harmonic<_Period2>,
1434:          __not_<__is_float<_Rep2>>>>>>
1434:    constexpr duration(const duration<_Rep2, _Period2>& __d)
1434:    : __r(duration_cast<duration>(__d).count()) { }
1434: 
1434:  ~duration() = default;
1434:  duration& operator=(const duration&) = default;
1434: 
1434: 
1434:  constexpr rep
1434:  count() const
1434:  { return __r; }
1434: 
1434: 
1434: 
1434:  constexpr duration<typename common_type<rep>::type, period>
1434:  operator+() const
1434:  { return duration<typename common_type<rep>::type, period>(__r); }
1434: 
1434:  constexpr duration<typename common_type<rep>::type, period>
1434:  operator-() const
1434:  { return duration<typename common_type<rep>::type, period>(-__r); }
1434: 
1434:  constexpr duration&
1434:  operator++()
1434:  {
1434:    ++__r;
1434:    return *this;
1434:  }
1434: 
1434:  constexpr duration
1434:  operator++(int)
1434:  { return duration(__r++); }
1434: 
1434:  constexpr duration&
1434:  operator--()
1434:  {
1434:    --__r;
1434:    return *this;
1434:  }
1434: 
1434:  constexpr duration
1434:  operator--(int)
1434:  { return duration(__r--); }
1434: 
1434:  constexpr duration&
1434:  operator+=(const duration& __d)
1434:  {
1434:    __r += __d.count();
1434:    return *this;
1434:  }
1434: 
1434:  constexpr duration&
1434:  operator-=(const duration& __d)
1434:  {
1434:    __r -= __d.count();
1434:    return *this;
1434:  }
1434: 
1434:  constexpr duration&
1434:  operator*=(const rep& __rhs)
1434:  {
1434:    __r *= __rhs;
1434:    return *this;
1434:  }
1434: 
1434:  constexpr duration&
1434:  operator/=(const rep& __rhs)
1434:  {
1434:    __r /= __rhs;
1434:    return *this;
1434:  }
1434: 
1434: 
1434:  template<typename _Rep2 = rep>
1434:    constexpr
1434:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1434:         duration&>::type
1434:    operator%=(const rep& __rhs)
1434:    {
1434:      __r %= __rhs;
1434:      return *this;
1434:    }
1434: 
1434:  template<typename _Rep2 = rep>
1434:    constexpr
1434:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1434:         duration&>::type
1434:    operator%=(const duration& __d)
1434:    {
1434:      __r %= __d.count();
1434:      return *this;
1434:    }
1434: 
1434: 
1434:  static constexpr duration
1434:  zero() noexcept
1434:  { return duration(duration_values<rep>::zero()); }
1434: 
1434:  static constexpr duration
1434:  min() noexcept
1434:  { return duration(duration_values<rep>::min()); }
1434: 
1434:  static constexpr duration
1434:  max() noexcept
1434:  { return duration(duration_values<rep>::max()); }
1434: 
1434:       private:
1434:  rep __r;
1434:       };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr typename common_type<duration<_Rep1, _Period1>,
1434:          duration<_Rep2, _Period2>>::type
1434:       operator+(const duration<_Rep1, _Period1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep1, _Period1> __dur1;
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<__dur1,__dur2>::type __cd;
1434:  return __cd(__cd(__lhs).count() + __cd(__rhs).count());
1434:       }
1434: 
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr typename common_type<duration<_Rep1, _Period1>,
1434:          duration<_Rep2, _Period2>>::type
1434:       operator-(const duration<_Rep1, _Period1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep1, _Period1> __dur1;
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<__dur1,__dur2>::type __cd;
1434:  return __cd(__cd(__lhs).count() - __cd(__rhs).count());
1434:       }
1434: # 661 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _Rep1, typename _Rep2,
1434:       typename _CRep = typename common_type<_Rep1, _Rep2>::type>
1434115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~multimap() = default;
1115: # 317 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       multimap&
1115:       operator=(const multimap&) = default;
1115: 
1115: 
1115:       multimap&
1115:       operator=(multimap&&) = default;
1115: # 335 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       multimap&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  _M_t._M_assign_equal(__l.begin(), __l.end());
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_M_t.get_allocator()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       begin() noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       end() noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       end() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rend() noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_reverse_iterator
1115:       crend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return _M_t.empty(); }
1115: 
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_t.size(); }
1115: 
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _M_t.max_size(); }
1115: # 493 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace(_Args&&... __args)
1115:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1115: # 520 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace_hint(const_iterator __pos, _Args&&... __args)
1115:  {
1115:    return _M_t._M_emplace_hint_equal(__pos,
1115:          std::forward<_Args>(__args)...);
1115:  }
1115: # 542 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       iterator
1115:       insert(const value_type& __x)
1115:       { return _M_t._M_insert_equal(__x); }
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       insert(value_type&& __x)
1115:       { return _M_t._M_insert_equal(std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
1115:  insert(_Pair&& __x)
1115:  { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); }
1115: # 581 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       iterator
1115: 
1115:       insert(const_iterator __position, const value_type& __x)
1115: 
1115: 
1115: 
1115:       { return _M_t._M_insert_equal_(__position, __x); }
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __posilue(long long val) : long_long_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) value(unsigned long long val) : ulong_long_value(val) {}
1417:   inline __attribute__((always_inline)) value(int128_opt val) : int128_value(val) {}
1417:   inline __attribute__((always_inline)) value(uint128_opt val) : uint128_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) value(float val) : float_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) value(double val) : double_value(val) {}
1417:   inline __attribute__((always_inline)) value(long double val) : long_double_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) value(bool val) : bool_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) value(char_type val) : char_value(val) {}
1417:   constexpr inline __attribute__((always_inline)) value(const char_type* val) {
1417:     string.data = val;
1417:     if (is_constant_evaluated()) string.size = {};
1417:   }
1417:   constexpr inline __attribute__((always_inline)) value(basic_string_view<char_type> val) {
1417:     string.data = val.data();
1417:     string.size = val.size();
1417:   }
1417:   inline __attribute__((always_inline)) value(const void* val) : pointer(val) {}
1417:   inline __attribute__((always_inline)) value(const named_arg_info<char_type>* args, size_t size)
1417:       : named_args{args, size} {}
1417: 
1417:   template <typename T> constexpr inline __attribute__((always_inline)) value(T& val) {
1417:     using value_type = remove_cvref_t<T>;
1417:     custom.value = const_cast<value_type*>(&val);
1417: 
1417: 
1417: 
1417:     custom.format = format_custom_arg<
1417:         value_type,
1417:         conditional_t<has_formatter<value_type, Context>::value,
1417:                       typename Context::template formatter_type<value_type>,
1417:                       fallback_formatter<value_type, char_type>>>;
1417:   }
1417:   value(unformattable);
1417:   value(unformattable_char);
1417:   value(unformattable_const);
1417:   value(unformattable_pointer);
1417: 
1417:  private:
1417: 
1417:   template <typename T, typename Formatter>
1417:   static void format_custom_arg(void* arg,
1417:                                 typename Context::parse_context_type& parse_ctx,
1417:                                 Context& ctx) {
1417:     auto f = Formatter();
1417:     parse_ctx.advance_to(f.parse(parse_ctx));
1417:     using qualified_type =
1417:         conditional_t<has_const_formatter<T, Context>(), const T, T>;
1417:     ctx.advance_to(f.format(*static_cast<qualified_type*>(arg), ctx));
1417:   }
1417: };
1417: 
1417: template <typename Context, typename T>
1417: constexpr auto make_arg(T&& value) -> basic_format_arg<Context>;
1417: 
1417: 
1417: 
1417: enum { long_short = sizeof(long) == sizeof(int) };
1417: using long_type = conditional_t<long_short, int, long long>;
1417: using ulong_type = conditional_t<long_short, unsigned, unsigned long long>;
1417: 
1417: 
1417: inline auto format_as(std::byte b) -> unsigned char {
1417:   return static_cast<unsigned char>(b);
1417: }
1417: 
1417: 
1417: template <typename T> struct has_format_as {
1417:   template <typename U, typename V = decltype(format_as(U())),
1417:             enable_if_t<(std::is_enum<U>::value&& std::is_integral<V>::value), int> = 0>
1417:   static auto check(U*) -> std::true_type;
1417:   static auto check(...) -> std::false_type;
1417: 
1417:   enum { value = decltype(check(static_cast<T*>(nullptr)))::value };
1417: };
1417: 
1417: 
1417: 
1417: 
1417: template <typename Context> struct arg_mapper {
1417:   using char_type = typename Context::char_type;
1417: 
1417:   constexpr inline __attribute__((always_inline)) auto map(signed char val) -> int { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(unsigned char val) -> unsigned {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(short val) -> int { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(unsigne:       using __common_rep_t = typename
1434:  enable_if<is_convertible<const _Rep2&, _CRep>::value, _CRep>::type;
1434: # 673 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _Rep1, typename _Period, typename _Rep2>
1434:       constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period>
1434:       operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1434:       {
1434:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1434:    __cd;
1434:  return __cd(__cd(__d).count() * __s);
1434:       }
1434: 
1434:     template<typename _Rep1, typename _Rep2, typename _Period>
1434:       constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period>
1434:       operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d)
1434:       { return __d * __s; }
1434: 
1434:     template<typename _Rep1, typename _Period, typename _Rep2>
1434:       constexpr
1434:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1434:       operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1434:       {
1434:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1434:    __cd;
1434:  return __cd(__cd(__d).count() / __s);
1434:       }
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr typename common_type<_Rep1, _Rep2>::type
1434:       operator/(const duration<_Rep1, _Period1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep1, _Period1> __dur1;
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<__dur1,__dur2>::type __cd;
1434:  return __cd(__lhs).count() / __cd(__rhs).count();
1434:       }
1434: 
1434: 
1434:     template<typename _Rep1, typename _Period, typename _Rep2>
1434:       constexpr
1434:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1434:       operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1434:       {
1434:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1434:    __cd;
1434:  return __cd(__cd(__d).count() % __s);
1434:       }
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr typename common_type<duration<_Rep1, _Period1>,
1434:          duration<_Rep2, _Period2>>::type
1434:       operator%(const duration<_Rep1, _Period1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep1, _Period1> __dur1;
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<__dur1,__dur2>::type __cd;
1434:  return __cd(__cd(__lhs).count() % __cd(__rhs).count());
1434:       }
1434: # 741 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr bool
1434:       operator==(const duration<_Rep1, _Period1>& __lhs,
1434:    const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep1, _Period1> __dur1;
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<__dur1,__dur2>::type __ct;
1434:  return __ct(__lhs).count() == __ct(__rhs).count();
1434:       }
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr bool
1434:       operator<(const duration<_Rep1, _Period1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep1, _Period1> __dur1;
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<__dur1,__dur2>::type __ct;
1434:  return __ct(__lhs).count() < __ct(__rhs).count();
1434:       }
1434: # 778 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr bool
1434:       operator!=(const duration<_Rep1, _Period1>& __lhs,
1434:    const duration<_Rep2, _Period2>& __rhs)
1434:       { return !(__lhs == __rhs); }
1434: 
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr bool
1434:       operator<=(const duration<_Rep1, _Period1>& __lhs,
1434:    const duration<_Rep2, _Period2>& __rhs)
1434:       { return !(__rhs < __lhs); }
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr bool
1434:       operator>(const duration<_Rep1, _Period1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       { return __rhs < __lhs; }
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr bool
1434:       operator>=(const duration<_Rep1, _Period1>& __lhs,
1434:    const duration<_Rep2, _Period2>& __rhs)
1434:       { return !(__lhs < __rhs); }
1434: # 822 "/usr/include/c++/12/bits/chrono.h" 3
1434:     using nanoseconds = duration<int64_t, nano>;
1434: 
1434: 
1434:     using microseconds = duration<int64_t, micro>;
1434: 
1434: 
1434:     using milliseconds = duration<int64_t, milli>;
1434: 
1434: 
1434:     using seconds = duration<int64_t>;
1434: 
1434: 
1434:     using minutes = duration<int64_t, ratio< 60>>;
1434: 
1434: 
1434:     using hours = duration<int64_t, ratio<3600>>;
1434: # 855 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _Clock, typename _Dur>
1434:       struct time_point
1434:       {
1434:  static_assert(__is_duration<_Dur>::value,
1434:      "duration must be a specialization of std::chrono::duration");
1434: 
1434:  typedef _Clock clock;
1434:  typedef _Dur duration;
1434:  typedef typename duration::rep rep;
1434:  typedef typename duration::period period;
1434: 
1434:  constexpr time_point() : __d(duration::zero())
1434:  { }
1434: 
1434:  constexpr explicit time_point(const duration& __dur)
1434:  : __d(__dur)
1434:  { }
1434: 
1434: 
1434:  template<typename _Dur2,
1434:    typename = _Require<is_convertible<_Dur2, _Dur>>>
1434:    constexpr time_point(const time_point<clock, _Dur2>& __t)
1434:    : __d(__t.time_since_epoch())
1434:    { }
1434: 
1434: 
1434:  constexpr duration
1434:  time_since_epoch() const
1434:  { return __d; }
1434: # 910 "/usr/include/c++/12/bits/chrono.h" 3
1434:  constexpr time_point&
1434:  operator+=(const duration& __dur)
1434:  {
1434:    __d += __dur;
1434:    return *this;
1434:  }
1434: 
1434:  constexpr time_point&
1434:  operator-=(const duration& __dur)
1434:  {
1434:    __d -= __dur;
1434:    return *this;
1434:  }
1434: 
1434: 
1434:  static constexpr time_point
1434:  min() noexcept
1434:  { return time_point(duration::min()); }
1434: 
1434:  static constexpr time_point
1434:  max() noexcept
1434:  { return time_point(duration::max()); }
1434: 
1434:       private:
1434:  duration __d;
1434:       };
1434: 
1434: 
1434:     template<typename _ToDur, typename _Clock, typename _Dur>
1434:       constexpr typename enable_if<__is_duration<_ToDur>::value,
1434:        time_point<_Clock, _ToDur>>::type
1434:       time_point_cast(const time_point<_Clock, _Dur>& __t)
1434:       {
1434:  typedef time_point<_Clock, _ToDur> __time_point;
1434:  return __time_point(duration_cast<_ToDur>(__t.time_since_epoch()));
1434:       }
1434: 
1434: 
1434:     template<typename _ToDur, typename _Clock, typename _Dur>
1434:       constexpr
1434:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1434:       floor(const time_point<_Clock, _Dur>& __tp)
1434:       {
1434:  return time_point<_Clock, _ToDur>{
1434:      chrono::floor<_ToDur>(__tp.time_since_epoch())};
1434:       }
1434: 
1434:     template<typename _ToDur, typename _Clock, typename _Dur>
1434:       constexpr
1434:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1434:       ceil(const time_point<_Clock, _Dur>& __tp)
1434:       {
1434:  return time_point<_Clock, _ToDur>{
1434:      chrono::ceil<_ToDur>(__tp.time_since_epoch())};
1434:       }
1434: 
1434:     template<typename _ToDur, typename _Clotion, value_type&& __x)
1115:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1115:  insert(const_iterator __position, _Pair&& __x)
1115:  {
1115:    return _M_t._M_emplace_hint_equal(__position,
1115:          std::forward<_Pair>(__x));
1115:  }
1115: # 615 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  insert(_InputIterator __first, _InputIterator __last)
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1115: # 628 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       void
1115:       insert(initializer_list<value_type> __l)
1115:       { this->insert(__l.begin(), __l.end()); }
1115: 
1115: 
1115: 
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1115:  return _M_t.extract(__pos);
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const key_type& __x)
1115:       { return _M_t.extract(__x); }
1115: 
1115: 
1115:       iterator
1115:       insert(node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1115: 
1115:       template<typename, typename>
1115:  friend struct std::_Rb_tree_merge_helper;
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1115:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(multimap<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(map<_Key, _Tp, _Cmp2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<multimap, _Cmp2>;
1115:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Cmp2>
1115:  void
1115:  merge(map<_Key, _Tp, _Cmp2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: # 705 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       iterator
1115:       erase(const_iterator __position)
1115:       { return _M_t.erase(__position); }
1115: 
1115: 
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(iterator __position)
1115:       { return _M_t.erase(__position); }
1115: # 742 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       size_type
1115:       erase(const key_type& __x)
1115:       { return _M_t.erase(__x); }
1115: # 763 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       iterator
1115:       erase(const_iterator __first, const_iterator __last)
1115:       { return _M_t.erase(__first, __last); }
1115: # 800 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       void
1115:       swap(multimap& __x)
1115:       noexcept(__is_nothrow_swappable<_Compare>::value)
1115:       { _M_t.swap(__x._M_t); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       clear() noexcept
1115:       { _M_t.clear(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       key_compare
1115:       key_comp() const
1115:       { return _M_t.key_comp(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       value_compare
1115:       value_comp() const
1115:       { return value_compare(_M_t.key_comp()); }
1115: # 846 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       iterator
1115:       find(const key_type& __x)
1115:       { return _M_t.find(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x))
1115:  { return _M_t._M_find_tr(__x); }
1115: # 870 "/usr/include/c++/12/bits/stl_multimap.hd short val) -> unsigned {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(int val) -> int { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(unsigned val) -> unsigned { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(long val) -> long_type { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(unsigned long val) -> ulong_type {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(long long val) -> long long { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(unsigned long long val)
1417:       -> unsigned long long {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(int128_opt val) -> int128_opt {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(uint128_opt val) -> uint128_opt {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(bool val) -> bool { return val; }
1417: 
1417:   template <typename T, enable_if_t<(std::is_same<T, char>::value || std::is_same<T, char_type>::value), int> = 0
1417:                                                                         >
1417:   constexpr inline __attribute__((always_inline)) auto map(T val) -> char_type {
1417:     return val;
1417:   }
1417:   template <typename T, enable_if_t<(std::is_same<T, wchar_t>::value ||
1417: 
1417: 
1417: 
1417:                                      std::is_same<T, char16_t>::value ||
1417:                                      std::is_same<T, char32_t>::value) &&
1417:                                         !std::is_same<T, char_type>::value,
1417:                                     int> = 0>
1417:   constexpr inline __attribute__((always_inline)) auto map(T) -> unformattable_char {
1417:     return {};
1417:   }
1417: 
1417:   constexpr inline __attribute__((always_inline)) auto map(float val) -> float { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(double val) -> double { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(long double val) -> long double {
1417:     return val;
1417:   }
1417: 
1417:   constexpr inline __attribute__((always_inline)) auto map(char_type* val) -> const char_type* {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(const char_type* val) -> const char_type* {
1417:     return val;
1417:   }
1417:   template <typename T,
1417:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && std::is_same<char_type, char_t<T>>::value), int> = 0
1417:                                                                     >
1417:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1417:       -> basic_string_view<char_type> {
1417:     return to_string_view(val);
1417:   }
1417:   template <typename T,
1417:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && !std::is_same<char_type, char_t<T>>::value), int> = 0
1417:                                                                      >
1417:   constexpr inline __attribute__((always_inline)) auto map(const T&) -> unformattable_char {
1417:     return {};
1417:   }
1417:   template <typename T,
1417:             enable_if_t<(std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1417: 
1417: 
1417:                                                              >
1417:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1417:       -> basic_string_view<char_type> {
1417:     return basic_string_view<char_type>(val);
1417:   }
1417:   template <typename T,
1417:             enable_if_t<(std::is_convertible<T, std_string_view<char_type>>::value && !std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::valck, typename _Dur>
1434:       constexpr enable_if_t<
1434:  __and_<__is_duration<_ToDur>,
1434:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1434:  time_point<_Clock, _ToDur>>
1434:       round(const time_point<_Clock, _Dur>& __tp)
1434:       {
1434:  return time_point<_Clock, _ToDur>{
1434:      chrono::round<_ToDur>(__tp.time_since_epoch())};
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Clock, typename _Dur1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr time_point<_Clock,
1434:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1434:       operator+(const time_point<_Clock, _Dur1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1434:  typedef time_point<_Clock, __ct> __time_point;
1434:  return __time_point(__lhs.time_since_epoch() + __rhs);
1434:       }
1434: 
1434: 
1434:     template<typename _Rep1, typename _Period1,
1434:       typename _Clock, typename _Dur2>
1434:       constexpr time_point<_Clock,
1434:  typename common_type<duration<_Rep1, _Period1>, _Dur2>::type>
1434:       operator+(const duration<_Rep1, _Period1>& __lhs,
1434:   const time_point<_Clock, _Dur2>& __rhs)
1434:       {
1434:  typedef duration<_Rep1, _Period1> __dur1;
1434:  typedef typename common_type<__dur1,_Dur2>::type __ct;
1434:  typedef time_point<_Clock, __ct> __time_point;
1434:  return __time_point(__rhs.time_since_epoch() + __lhs);
1434:       }
1434: 
1434: 
1434:     template<typename _Clock, typename _Dur1,
1434:       typename _Rep2, typename _Period2>
1434:       constexpr time_point<_Clock,
1434:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1434:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1434:   const duration<_Rep2, _Period2>& __rhs)
1434:       {
1434:  typedef duration<_Rep2, _Period2> __dur2;
1434:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1434:  typedef time_point<_Clock, __ct> __time_point;
1434:  return __time_point(__lhs.time_since_epoch() -__rhs);
1434:       }
1434: 
1434: 
1434:     template<typename _Clock, typename _Dur1, typename _Dur2>
1434:       constexpr typename common_type<_Dur1, _Dur2>::type
1434:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1434:   const time_point<_Clock, _Dur2>& __rhs)
1434:       { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Clock, typename _Dur1, typename _Dur2>
1434:       constexpr bool
1434:       operator==(const time_point<_Clock, _Dur1>& __lhs,
1434:    const time_point<_Clock, _Dur2>& __rhs)
1434:       { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); }
1434: # 1050 "/usr/include/c++/12/bits/chrono.h" 3
1434:     template<typename _Clock, typename _Dur1, typename _Dur2>
1434:       constexpr bool
1434:       operator!=(const time_point<_Clock, _Dur1>& __lhs,
1434:    const time_point<_Clock, _Dur2>& __rhs)
1434:       { return !(__lhs == __rhs); }
1434: 
1434: 
1434:     template<typename _Clock, typename _Dur1, typename _Dur2>
1434:       constexpr bool
1434:       operator<(const time_point<_Clock, _Dur1>& __lhs,
1434:   const time_point<_Clock, _Dur2>& __rhs)
1434:       { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); }
1434: 
1434:     template<typename _Clock, typename _Dur1, typename _Dur2>
1434:       constexpr bool
1434:       operator<=(const time_point<_Clock, _Dur1>& __lhs,
1434:    const time_point<_Clock, _Dur2>& __rhs)
1434:       { return !(__rhs < __lhs); }
1434: 
1434:     template<typename _Clock, typename _Dur1, typename _Dur2>
1434:       constexpr bool
1434:       operator>(const time_point<_Clock, _Dur1>& __lhs,
1434:   const time_point<_Clock, _Dur2>& __rhs)
1434:       { return __rhs < __lhs; }
1434: 
1434:     template<typename _Clock, typename _Dur1, typename _Dur2>
1434:       constexpr bool
1434:       operator>=(const time_point<_Clock, _Dur1>& __lhs,
1434:    const time_point<_Clock, _Dur2>& __rhs)
1434:       { return !(__lhs < __rhs); }
1434: # 1102 "/usr/include/c++/12/bits/chrono.h" 3
1434:     inline namespace _V2 {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     struct system_clock
1434:     {
1434:       typedef chrono::nanoseconds duration;
1434:       typedef duration::rep rep;
1434:       typedef duration::period period;
1434:       typedef chrono::time_point<system_clock, duration> time_point;
1434: 
1434:       static_assert(system_clock::duration::min()
1434:       < system_clock::duration::zero(),
1434:       "a clock's minimum duration cannot be less than its epoch");
1434: 
1434:       static constexpr bool is_steady = false;
1434: 
1434:       static time_point
1434:       now() noexcept;
1434: 
1434: 
1434:       static std::time_t
1434:       to_time_t(const time_point& __t) noexcept
1434:       {
1434:  return std::time_t(duration_cast<chrono::seconds>
1434:       (__t.time_since_epoch()).count());
1434:       }
1434: 
1434:       static time_point
1434:       from_time_t(std::time_t __t) noexcept
1434:       {
1434:  typedef chrono::time_point<system_clock, seconds> __from;
1434:  return time_point_cast<system_clock::duration>
1434:         (__from(chrono::seconds(__t)));
1434:       }
1434:     };
1434: # 1150 "/usr/include/c++/12/bits/chrono.h" 3
1434:     struct steady_clock
1434:     {
1434:       typedef chrono::nanoseconds duration;
1434:       typedef duration::rep rep;
1434:       typedef duration::period period;
1434:       typedef chrono::time_point<steady_clock, duration> time_point;
1434: 
1434:       static constexpr bool is_steady = true;
1434: 
1434:       static time_point
1434:       now() noexcept;
1434:     };
1434: # 1172 "/usr/include/c++/12/bits/chrono.h" 3
1434:     using high_resolution_clock = system_clock;
1434: 
1434:     }
1434: # 1198 "/usr/include/c++/12/bits/chrono.h" 3
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   inline namespace literals
1434:   {
1434: # 1229 "/usr/include/c++/12/bits/chrono.h" 3
1434:   inline namespace chrono_literals
1434:   {
1434: 
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1434: 
1434:     template<typename _Dur, char... _Digits>
1434:       constexpr _Dur __check_overflow()
1434:       {
1434:  using _Val = __parse_int::_Parse_int<_Digits...>;
1434:  constexpr typename _Dur::rep __repval = _Val::value;
1434:  static_assert(__repval >= 0 && __repval == _Val::value,
1434:         "literal value cannot be represented by duration type");
1434:  return _Dur(__repval);
1434:       }
1434: 
1434: 
1434: 
1434:     constexpr chrono::duration<long double, ratio<3600,1>>
1434:     operator""h(long double __hours)
1434:     { return chrono::duration<long double, ratio<3600,1>>{__hours}; }
1434: 
1434: 
1434:     template <char... _Digits>
1434:       constexpr chrono::hours
1434:       operator""h()
1434:       { return __check_overflow<chrono::hours, _Digits...>(); }
1434: 
1434: 
1434:     constexpr chrono::duration<long double, ratio<60,1>>
1434:     operator""min(long double __mins)
1434:     { return chrono::duration<long double, ratio<60,1>>{__mins}; }
1434: 
1434: 
1434:     template <char... _Digits>
1434:       constexpr chrono::minutes
1434:       operator""min()
1434:       { return __check_overflow<chrono::minutes, _Digits...>(); }
1434: 
1434: 
1434:     constexpr chrono::duration<long double>
1434:     operator""s(long double __secs)
1434:     { return chrono::duration<long double>{__secs}; }
1434: 
1434: 
1434:     template <char... _Digits>
1434:       constexpr chrono::seconds
1434:       operator""s()
1434:       { return __check_overflow<chrono::seconds, _Digits...>(); }
1434: 
1434: 
1434:     constexpr chrono::duration<long double, milli>
1434:     operator""ms(long double __msecs)
1434:     { return chrono::duration<long double, milli>{__msecs}; }
1434: 
1434: 
1434:     template <char... _Digits>
1434:       constexpr chrono::milliseconds
1434:       operator""ms()
1434:       { return __check" 3
1115:       const_iterator
1115:       find(const key_type& __x) const
1115:       { return _M_t.find(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x))
1115:  { return _M_t._M_find_tr(__x); }
1115: # 888 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       size_type
1115:       count(const key_type& __x) const
1115:       { return _M_t.count(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1115:  { return _M_t._M_count_tr(__x); }
1115: # 931 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       iterator
1115:       lower_bound(const key_type& __x)
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1115: # 956 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       const_iterator
1115:       lower_bound(const key_type& __x) const
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x) const
1115:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1115: # 976 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       iterator
1115:       upper_bound(const key_type& __x)
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1115: # 996 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       const_iterator
1115:       upper_bound(const key_type& __x) const
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x) const
1115:  -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1115: # 1023 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       std::pair<iterator, iterator>
1115:       equal_range(const key_type& __x)
1115:       { return _M_t.equal_range(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x)
1115:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1115:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1115: # 1050 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:       std::pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __x) const
1115:       { return _M_t.equal_range(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x) const
1115:  -> decltype(pair<const_iterator, const_iterator>(
1115:        _M_t._M_equal_range_tr(__x)))
1115:  {
1115:    return pair<const_iterator, const_iterator>(
1115:        _M_t._M_equal_range_tr(__x));
1115:  }
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator==(const multimap<_K1, _T1, _C1, _A1>&,
1115:      const multimap<_K1, _T1, _C1, _A1>&);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _T1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator<(const multimap<_K1, _T1, _C1, _A1>&,
1115:     const multimap<_K1, _T1, _C1, _A1>&);
1115: 
1115:   };
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator,
1115:     typename _Compare = less<__iter_key_t<_InputIterator>>,
1115:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multimap(_InputIterator, _InputIterator,
1115:       _Compare = _Compare(), _All_overflow<chrono::milliseconds, _Digits...>(); }
1434: 
1434: 
1434:     constexpr chrono::duration<long double, micro>
1434:     operator""us(long double __usecs)
1434:     { return chrono::duration<long double, micro>{__usecs}; }
1434: 
1434: 
1434:     template <char... _Digits>
1434:       constexpr chrono::microseconds
1434:       operator""us()
1434:       { return __check_overflow<chrono::microseconds, _Digits...>(); }
1434: 
1434: 
1434:     constexpr chrono::duration<long double, nano>
1434:     operator""ns(long double __nsecs)
1434:     { return chrono::duration<long double, nano>{__nsecs}; }
1434: 
1434: 
1434:     template <char... _Digits>
1434:       constexpr chrono::nanoseconds
1434:       operator""ns()
1434:       { return __check_overflow<chrono::nanoseconds, _Digits...>(); }
1434: 
1434: #pragma GCC diagnostic pop
1434: 
1434:   }
1434:   }
1434: 
1434:   namespace chrono
1434:   {
1434:     using namespace literals::chrono_literals;
1434:   }
1434: 
1434: 
1434: 
1434:   namespace filesystem
1434:   {
1434:     struct __file_clock
1434:     {
1434:       using duration = chrono::nanoseconds;
1434:       using rep = duration::rep;
1434:       using period = duration::period;
1434:       using time_point = chrono::time_point<__file_clock>;
1434:       static constexpr bool is_steady = false;
1434: 
1434:       static time_point
1434:       now() noexcept
1434:       { return _S_from_sys(chrono::system_clock::now()); }
1434: # 1355 "/usr/include/c++/12/bits/chrono.h" 3
1434:     private:
1434:       using __sys_clock = chrono::system_clock;
1434: 
1434: 
1434: 
1434: 
1434:       static constexpr chrono::seconds _S_epoch_diff{6437664000};
1434: 
1434:     protected:
1434: 
1434:       template<typename _Dur>
1434:  static
1434:  chrono::time_point<__file_clock, _Dur>
1434:  _S_from_sys(const chrono::time_point<__sys_clock, _Dur>& __t) noexcept
1434:  {
1434:    using __file_time = chrono::time_point<__file_clock, _Dur>;
1434:    return __file_time{__t.time_since_epoch()} - _S_epoch_diff;
1434:  }
1434: 
1434: 
1434:       template<typename _Dur>
1434:  static
1434:  chrono::time_point<__sys_clock, _Dur>
1434:  _S_to_sys(const chrono::time_point<__file_clock, _Dur>& __t) noexcept
1434:  {
1434:    using __sys_time = chrono::time_point<__sys_clock, _Dur>;
1434:    return __sys_time{__t.time_since_epoch()} + _S_epoch_diff;
1434:  }
1434:     };
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: # 43 "/usr/include/c++/12/mutex" 2 3
1434: # 1 "/usr/include/c++/12/bits/std_mutex.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/std_mutex.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/std_mutex.h" 3
1434: # 43 "/usr/include/c++/12/bits/std_mutex.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 57 "/usr/include/c++/12/bits/std_mutex.h" 3
1434:   class __mutex_base
1434:   {
1434:   protected:
1434:     typedef __gthread_mutex_t __native_type;
1434: 
1434: 
1434:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1434: 
1434:     constexpr __mutex_base() noexcept = default;
1434: # 78 "/usr/include/c++/12/bits/std_mutex.h" 3
1434:     __mutex_base(const __mutex_base&) = delete;
1434:     __mutex_base& operator=(const __mutex_base&) = delete;
1434:   };
1434: 
1434: 
1434:   class mutex : private __mutex_base
1434:   {
1434:   public:
1434:     typedef __native_type* native_handle_type;
1434: 
1434: 
1434:     constexpr
1434: 
1434:     mutex() noexcept = default;
1434:     ~mutex() = default;
1434: 
1434:     mutex(const mutex&) = delete;
1434:     mutex& operator=(const mutex&) = delete;
1434: 
1434:     void
1434:     lock()
1434:     {
1434:       int __e = __gthread_mutex_lock(&_M_mutex);
1434: 
1434: 
1434:       if (__e)
1434:  __throw_system_error(__e);
1434:     }
1434: 
1434:     bool
1434:     try_lock() noexcept
1434:     {
1434: 
1434:       return !__gthread_mutex_trylock(&_M_mutex);
1434:     }
1434: 
1434:     void
1434:     unlock()
1434:     {
1434: 
1434:       __gthread_mutex_unlock(&_M_mutex);
1434:     }
1434: 
1434:     ue && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1417: 
1417: 
1417: 
1417:                                                              >
1417:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1417:       -> basic_string_view<char_type> {
1417:     return std_string_view<char_type>(val);
1417:   }
1417: 
1417:   constexpr inline __attribute__((always_inline)) auto map(void* val) -> const void* { return val; }
1417:   constexpr inline __attribute__((always_inline)) auto map(const void* val) -> const void* {
1417:     return val;
1417:   }
1417:   constexpr inline __attribute__((always_inline)) auto map(std::nullptr_t val) -> const void* {
1417:     return val;
1417:   }
1417: 
1417: 
1417: 
1417:   template <
1417:       typename T,
1417:       enable_if_t<(std::is_pointer<T>::value || std::is_member_pointer<T>::value || std::is_function<typename std::remove_pointer<T>::type>::value || (std::is_convertible<const T&, const void*>::value && !std::is_convertible<const T&, const char_type*>::value && !has_formatter<T, Context>::value)), int> = 0
1417: 
1417: 
1417: 
1417: 
1417:                                               >
1417:   constexpr auto map(const T&) -> unformattable_pointer {
1417:     return {};
1417:   }
1417: 
1417:   template <typename T, std::size_t N,
1417:             enable_if_t<(!std::is_same<T, wchar_t>::value), int> = 0>
1417:   constexpr inline __attribute__((always_inline)) auto map(const T (&values)[N]) -> const T (&)[N] {
1417:     return values;
1417:   }
1417: 
1417:   template <typename T,
1417:             enable_if_t<(std::is_enum<T>::value&& std::is_convertible<T, int>::value && !has_format_as<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1417: 
1417: 
1417:                                                              >
1417:   [[deprecated]] constexpr inline __attribute__((always_inline)) auto map(const T& val)
1417:       -> decltype(std::declval<arg_mapper>().map(
1417:           static_cast<underlying_t<T>>(val))) {
1417:     return map(static_cast<underlying_t<T>>(val));
1417:   }
1417: 
1417:   template <typename T, enable_if_t<(has_format_as<T>::value && !has_formatter<T, Context>::value), int> = 0
1417:                                                                         >
1417:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1417:       -> decltype(std::declval<arg_mapper>().map(format_as(T()))) {
1417:     return map(format_as(val));
1417:   }
1417: 
1417:   template <typename T, typename U = remove_cvref_t<T>>
1417:   struct formattable
1417:       : bool_constant<has_const_formatter<U, Context>() ||
1417:                       !std::is_const<remove_reference_t<T>>::value ||
1417:                       has_fallback_formatter<U, char_type>::value> {};
1417: # 1496 "/usr/include/fmt/core.h" 3 4
1417:   template <typename T, enable_if_t<(formattable<T>::value), int> = 0>
1417:   constexpr inline __attribute__((always_inline)) auto do_map(T&& val) -> T& {
1417:     return val;
1417:   }
1417:   template <typename T, enable_if_t<(!formattable<T>::value), int> = 0>
1417:   constexpr inline __attribute__((always_inline)) auto do_map(T&&) -> unformattable_const {
1417:     return {};
1417:   }
1417: 
1417: 
1417:   template <typename T, typename U = remove_cvref_t<T>,
1417:             enable_if_t<(!is_string<U>::value && !is_char<U>::value && !std::is_array<U>::value && !std::is_pointer<U>::value && !has_format_as<U>::value && (has_formatter<U, Context>::value || has_fallback_formatter<U, char_type>::value)), int> = 0
1417: 
1417: 
1417: 
1417: 
1417:                                                                         >
1417:   constexpr inline __attribute__((always_inline)) auto map(T&& val)
1417:       -> decltype(this->do_map(std::forward<T>(val))) {
1417:     return do_map(std::forward<T>(val));
1417:   }
1417: 
1417:   template <typename T, enable_if_t<(is_named_arg<T>::value), int> = 0>
1417:   constexpr inline __attrinative_handle_type
1434:     native_handle() noexcept
1434:     { return &_M_mutex; }
1434:   };
1434: 
1434: 
1434:   class __condvar
1434:   {
1434:     using timespec = __gthread_time_t;
1434: 
1434:   public:
1434:     __condvar() noexcept
1434:     {
1434: 
1434: 
1434: 
1434:     }
1434: 
1434:     ~__condvar()
1434:     {
1434:       int __e __attribute__((__unused__)) = __gthread_cond_destroy(&_M_cond);
1434:       do { if (std::__is_constant_evaluated() && !bool(__e != 16)) __builtin_unreachable(); } while (false);
1434:     }
1434: 
1434:     __condvar(const __condvar&) = delete;
1434:     __condvar& operator=(const __condvar&) = delete;
1434: 
1434:     __gthread_cond_t* native_handle() noexcept { return &_M_cond; }
1434: 
1434: 
1434:     void
1434:     wait(mutex& __m)
1434:     {
1434:       int __e __attribute__((__unused__))
1434:  = __gthread_cond_wait(&_M_cond, __m.native_handle());
1434:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1434:     }
1434: 
1434:     void
1434:     wait_until(mutex& __m, timespec& __abs_time)
1434:     {
1434:       __gthread_cond_timedwait(&_M_cond, __m.native_handle(), &__abs_time);
1434:     }
1434: 
1434: 
1434:     void
1434:     wait_until(mutex& __m, clockid_t __clock, timespec& __abs_time)
1434:     {
1434:       pthread_cond_clockwait(&_M_cond, __m.native_handle(), __clock,
1434:         &__abs_time);
1434:     }
1434: 
1434: 
1434:     void
1434:     notify_one() noexcept
1434:     {
1434:       int __e __attribute__((__unused__)) = __gthread_cond_signal(&_M_cond);
1434:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1434:     }
1434: 
1434:     void
1434:     notify_all() noexcept
1434:     {
1434:       int __e __attribute__((__unused__)) = __gthread_cond_broadcast(&_M_cond);
1434:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1434:     }
1434: 
1434:   protected:
1434: 
1434:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1434: 
1434: 
1434: 
1434:   };
1434: 
1434: 
1434: 
1434: 
1434:   struct defer_lock_t { explicit defer_lock_t() = default; };
1434: 
1434: 
1434:   struct try_to_lock_t { explicit try_to_lock_t() = default; };
1434: 
1434: 
1434: 
1434:   struct adopt_lock_t { explicit adopt_lock_t() = default; };
1434: 
1434: 
1434:   inline constexpr defer_lock_t defer_lock { };
1434: 
1434: 
1434:   inline constexpr try_to_lock_t try_to_lock { };
1434: 
1434: 
1434:   inline constexpr adopt_lock_t adopt_lock { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Mutex>
1434:     class lock_guard
1434:     {
1434:     public:
1434:       typedef _Mutex mutex_type;
1434: 
1434:       explicit lock_guard(mutex_type& __m) : _M_device(__m)
1434:       { _M_device.lock(); }
1434: 
1434:       lock_guard(mutex_type& __m, adopt_lock_t) noexcept : _M_device(__m)
1434:       { }
1434: 
1434:       ~lock_guard()
1434:       { _M_device.unlock(); }
1434: 
1434:       lock_guard(const lock_guard&) = delete;
1434:       lock_guard& operator=(const lock_guard&) = delete;
1434: 
1434:     private:
1434:       mutex_type& _M_device;
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 44 "/usr/include/c++/12/mutex" 2 3
1434: # 1 "/usr/include/c++/12/bits/unique_lock.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/unique_lock.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/unique_lock.h" 3
1434: # 43 "/usr/include/c++/12/bits/unique_lock.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 56 "/usr/include/c++/12/bits/unique_lock.h" 3
1434:   template<typename _Mutex>
1434:     class unique_lock
1434:     {
1434:     public:
1434:       typedef _Mutex mutex_type;
1434: 
1434:       unique_lock() noexcept
1434:       : _M_device(0), _M_owns(false)
1434:       { }
1434: 
1434:       explicit unique_lock(mutex_type& __m)
1434:       : _M_device(std::__addressof(__m)), _M_owns(false)
1434:       {
1434:  locator = _Allocator())
1115:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1115:   _Compare, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare = less<_Key>,
1115:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multimap(initializer_list<pair<_Key, _Tp>>,
1115:       _Compare = _Compare(), _Allocator = _Allocator())
1115:     -> multimap<_Key, _Tp, _Compare, _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multimap(_InputIterator, _InputIterator, _Allocator)
1115:     -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>,
1115:   less<__iter_key_t<_InputIterator>>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1115:     -> multimap<_Key, _Tp, less<_Key>, _Allocator>;
1115: # 1130 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return __x._M_t == __y._M_t; }
1115: # 1168 "/usr/include/c++/12/bits/stl_multimap.h" 3
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1115:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return __x._M_t < __y._M_t; }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1115:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1115:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
1115:     inline void
1115:     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
1115:   multimap<_Key, _Tp, _Compare, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Cmp1, typename _Alloc,
1115:     typename _Cmp2>
1115:     struct
1115:     _Rb_tree_merge_helper<std::multimap<_Key, _Val, _Cmp1, _Alloc>,
1115:      _Cmp2>
1115:     {
1115:     private:
1115:       friend class std::multimap<_Key, _Val, _Cmp1, _Alloc>;
1115: 
1115:       static auto&
1115:       _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map)
1115:       { return __map._M_t; }
1115: 
1115:       static auto&
1115:       _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map)
1115:       { return __map._M_t; }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 63 "/usr/include/c++/12/map" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/erase_if.h" 1 3
1115:bute__((always_inline)) auto map(const T& named_arg)
1417:       -> decltype(std::declval<arg_mapper>().map(named_arg.value)) {
1417:     return map(named_arg.value);
1417:   }
1417: 
1417:   auto map(...) -> unformattable { return {}; }
1417: };
1417: 
1417: 
1417: template <typename T, typename Context>
1417: using mapped_type_constant =
1417:     type_constant<decltype(arg_mapper<Context>().map(std::declval<const T&>())),
1417:                   typename Context::char_type>;
1417: 
1417: enum { packed_arg_bits = 4 };
1417: 
1417: enum { max_packed_args = 62 / packed_arg_bits };
1417: enum : unsigned long long { is_unpacked_bit = 1ULL << 63 };
1417: enum : unsigned long long { has_named_args_bit = 1ULL << 62 };
1417: 
1417: }
1417: 
1417: 
1417: 
1417: class appender : public std::back_insert_iterator<detail::buffer<char>> {
1417:   using base = std::back_insert_iterator<detail::buffer<char>>;
1417: 
1417:   template <typename T>
1417:   friend auto get_buffer(appender out) -> detail::buffer<char>& {
1417:     return detail::get_container(out);
1417:   }
1417: 
1417:  public:
1417:   using std::back_insert_iterator<detail::buffer<char>>::back_insert_iterator;
1417:   appender(base it) noexcept : base(it) {}
1417:   using unchecked_type = appender;
1417: 
1417:   auto operator++() noexcept -> appender& { return *this; }
1417:   auto operator++(int) noexcept -> appender { return *this; }
1417: };
1417: 
1417: 
1417: 
1417: template <typename Context> class basic_format_arg {
1417:  private:
1417:   detail::value<Context> value_;
1417:   detail::type type_;
1417: 
1417:   template <typename ContextType, typename T>
1417:   friend constexpr auto detail::make_arg(T&& value)
1417:       -> basic_format_arg<ContextType>;
1417: 
1417:   template <typename Visitor, typename Ctx>
1417:   friend constexpr auto visit_format_arg(Visitor&& vis,
1417:                                              const basic_format_arg<Ctx>& arg)
1417:       -> decltype(vis(0));
1417: 
1417:   friend class basic_format_args<Context>;
1417:   friend class dynamic_format_arg_store<Context>;
1417: 
1417:   using char_type = typename Context::char_type;
1417: 
1417:   template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1417:   friend struct detail::arg_data;
1417: 
1417:   basic_format_arg(const detail::named_arg_info<char_type>* args, size_t size)
1417:       : value_(args, size) {}
1417: 
1417:  public:
1417:   class handle {
1417:    public:
1417:     explicit handle(detail::custom_value<Context> custom) : custom_(custom) {}
1417: 
1417:     void format(typename Context::parse_context_type& parse_ctx,
1417:                 Context& ctx) const {
1417:       custom_.format(custom_.value, parse_ctx, ctx);
1417:     }
1417: 
1417:    private:
1417:     detail::custom_value<Context> custom_;
1417:   };
1417: 
1417:   constexpr basic_format_arg() : type_(detail::type::none_type) {}
1417: 
1417:   constexpr explicit operator bool() const noexcept {
1417:     return type_ != detail::type::none_type;
1417:   }
1417: 
1417:   auto type() const -> detail::type { return type_; }
1417: 
1417:   auto is_integral() const -> bool { return detail::is_integral_type(type_); }
1417:   auto is_arithmetic() const -> bool {
1417:     return detail::is_arithmetic_type(type_);
1417:   }
1417: };
1417: # 1622 "/usr/include/fmt/core.h" 3 4
1417: template <typename Visitor, typename Context>
1417: constexpr inline __attribute__((always_inline)) auto visit_format_arg(
1417:     Visitor&& vis, const basic_format_arg<Context>& arg) -> decltype(vis(0)) {
1417:   switch (arg.type_) {
1417:   case detail::type::none_type:
1417:     break;
1417:   case detail::type::int_type:
1417:     return vis(arg.value_.int_value);
1417:   case detail::type::uint_type:
1417:     return vis(arg.value_.uint_value);
1417:   case detail::type::long_long_type:
1417:     return vis(arg.value_.long_long_value);
1417:   case detail::type::ulong_long_type:
1417:     return vis(arg.value_.ulong_long_value);
1417:   case detail::type::int128_type:
1417:     return vis(detail::convert_fock();
1434:  _M_owns = true;
1434:       }
1434: 
1434:       unique_lock(mutex_type& __m, defer_lock_t) noexcept
1434:       : _M_device(std::__addressof(__m)), _M_owns(false)
1434:       { }
1434: 
1434:       unique_lock(mutex_type& __m, try_to_lock_t)
1434:       : _M_device(std::__addressof(__m)), _M_owns(_M_device->try_lock())
1434:       { }
1434: 
1434:       unique_lock(mutex_type& __m, adopt_lock_t) noexcept
1434:       : _M_device(std::__addressof(__m)), _M_owns(true)
1434:       {
1434: 
1434:       }
1434: 
1434:       template<typename _Clock, typename _Duration>
1434:  unique_lock(mutex_type& __m,
1434:       const chrono::time_point<_Clock, _Duration>& __atime)
1434:  : _M_device(std::__addressof(__m)),
1434:    _M_owns(_M_device->try_lock_until(__atime))
1434:  { }
1434: 
1434:       template<typename _Rep, typename _Period>
1434:  unique_lock(mutex_type& __m,
1434:       const chrono::duration<_Rep, _Period>& __rtime)
1434:  : _M_device(std::__addressof(__m)),
1434:    _M_owns(_M_device->try_lock_for(__rtime))
1434:  { }
1434: 
1434:       ~unique_lock()
1434:       {
1434:  if (_M_owns)
1434:    unlock();
1434:       }
1434: 
1434:       unique_lock(const unique_lock&) = delete;
1434:       unique_lock& operator=(const unique_lock&) = delete;
1434: 
1434:       unique_lock(unique_lock&& __u) noexcept
1434:       : _M_device(__u._M_device), _M_owns(__u._M_owns)
1434:       {
1434:  __u._M_device = 0;
1434:  __u._M_owns = false;
1434:       }
1434: 
1434:       unique_lock& operator=(unique_lock&& __u) noexcept
1434:       {
1434:  if(_M_owns)
1434:    unlock();
1434: 
1434:  unique_lock(std::move(__u)).swap(*this);
1434: 
1434:  __u._M_device = 0;
1434:  __u._M_owns = false;
1434: 
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       lock()
1434:       {
1434:  if (!_M_device)
1434:    __throw_system_error(int(errc::operation_not_permitted));
1434:  else if (_M_owns)
1434:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1434:  else
1434:    {
1434:      _M_device->lock();
1434:      _M_owns = true;
1434:    }
1434:       }
1434: 
1434:       bool
1434:       try_lock()
1434:       {
1434:  if (!_M_device)
1434:    __throw_system_error(int(errc::operation_not_permitted));
1434:  else if (_M_owns)
1434:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1434:  else
1434:    {
1434:      _M_owns = _M_device->try_lock();
1434:      return _M_owns;
1434:    }
1434:       }
1434: 
1434:       template<typename _Clock, typename _Duration>
1434:  bool
1434:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1434:  {
1434:    if (!_M_device)
1434:      __throw_system_error(int(errc::operation_not_permitted));
1434:    else if (_M_owns)
1434:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1434:    else
1434:      {
1434:        _M_owns = _M_device->try_lock_until(__atime);
1434:        return _M_owns;
1434:      }
1434:  }
1434: 
1434:       template<typename _Rep, typename _Period>
1434:  bool
1434:  try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1434:  {
1434:    if (!_M_device)
1434:      __throw_system_error(int(errc::operation_not_permitted));
1434:    else if (_M_owns)
1434:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1434:    else
1434:      {
1434:        _M_owns = _M_device->try_lock_for(__rtime);
1434:        return _M_owns;
1434:      }
1434:   }
1434: 
1434:       void
1434:       unlock()
1434:       {
1434:  if (!_M_owns)
1434:    __throw_system_error(int(errc::operation_not_permitted));
1434:  else if (_M_device)
1434:    {
1434:      _M_device->unlock();
1434:      _M_owns = false;
1434:    }
1434:       }
1434: 
1434:       void
1434:       swap(unique_lock& __u) noexcept
1434:       {
1434:  std::swap(_M_device, __u._M_device);
1434:  std::swap(_M_owns, __u._M_owns);
1434:       }
1434: 
1434:       mutex_type*
1434:       release() noexcept
1434:       {
1434:  mutex_type* __ret = _M_device;
1434:  _M_device = 0;
1434:  _M_owns = false;
1434:  return __ret;
1434:       }
1434: 
1434:       bool
1434:       owns_lock() const noexcept
1434:       { return _M_owns; }
1434: 
1434:       explicit operator bool() const noexcept
1434:       { return owns_lock(); }
1434: 
1434:       mutex_type*
1434:       mutex() const noexcept
1434:       { return _M_device; }
1434: 
1434:     private:
1434:       mutex_type* _M_device;
1434:       bool _M_owns;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Mutex>
1434:     inline void
1434:     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: }
1434: # 45 "/usr/include/c++/12/mutex" 2 3
1434: # 55 "/usr/include/c++/12/mutex" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 67 "/usr/include/c++/12/mutex" 3
1434:   class __recursive_mutex_base
1434:   {
1434:   protected:
1434:     typedef __gthread_recursive_mutex_t __native_type;
1434: 
1434:     __recursive_mutex_base(const __recursive_mutex_base&) = delete;
1434:     __recursive_mutex_base& operator=(const __recursive_mutex_base&) = delete;
1434: 
1434: 
1434:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1434: 
1434:     __recursive_mutex_base() = default;
1434: # 91 "/usr/include/c++/12/mutex" 3
1434:   };
1434: 
1434: 
1434:   class recursive_mutex : private __recursive_mutex_base
1434:   {
1434:   public:
1434:     typedef __native_type* native_handle_type;
1434: 
1434:     recursive_mutex() = default;
1434:     ~recursive_mutex() = default;
1434: 
1434:     recursive_mutex(const recursive_mutex&) = delete;
1434:     recursive_mutex& operator=(const recursive_mutex&) = delete;
1434: 
1434:     void
1434:     lock()
1434:     {
1434:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1434: 
1434: 
1434:       if (__e)
1434:  __throw_system_error(__e);
1434:     }
1434: 
1434:     bool
1434:     try_lock() noexcept
1434:     {
1434: 
1434:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1434:     }
1434: 
1434:     void
1434:     unlock()
1434:     {
1434: 
1434:       __gthread_recursive_mutex_unlock(&_M_mutex);
1434:     }
1434: 
1434:     native_handle_type
1434:     native_handle() noexcept
1434:     { return &_M_mutex; }
1434:   };
1434: 
1434: 
1434:   template<typename _Derived>
1434:     class __timed_mutex_impl
1434:     {
1434:     protected:
1434:       template<typename _Rep, typename _Period>
1434:  bool
1434:  _M_try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1434:  {
1434: 
1434:    using __clock = chrono::steady_clock;
1434: 
1434: 
1434: 
1434: 
1434:    auto __rt = chrono::duration_cast<__clock::duration>(__rtime);
1434:    if (ratio_greater<__clock::period, _Period>())
1434:      ++__rt;
1434:    return _M_try_lock_until(__clock::now() + __rt);
1434:  }
1434: 
1434:       template<typename _Duration>
1434:  bool
1434:  _M_try_lock_until(const chrono::time_point<chrono::system_clock,
1434:          _Duration>& __atime)
1434:  {
1434:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:    __gthread_time_t __ts = {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:    return static_cast<_Derived*>(this)->_M_timedlock(__ts);
1434:  }
1434: 
1434: 
1434:       template<typename _Duration>
1434:  bool
1434:  _M_try_lock_until(const chrono::time_point<chrono::steady_clock,
1434:          _Duration>& __atime)
1434:  {
1434:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:    __gthread_time_t __ts = {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:    return static_cast<_Derived*>(this)->_M_clocklock(1,
1434:            __ts);
1434:  }
1434: 
1434: 
1434:       template<typename _Clock, typename _Duration>
1434:  # 33 "/usr/include/c++/12/bits/erase_if.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/erase_if.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   namespace __detail
1115:   {
1115:     template<typename _Container, typename _UnsafeContainer,
1115:       typename _Predicate>
1115:       typename _Container::size_type
1115:       __erase_nodes_if(_Container& __cont, const _UnsafeContainer& __ucont,
1115:          _Predicate __pred)
1115:       {
1115:  typename _Container::size_type __num = 0;
1115:  for (auto __iter = __ucont.begin(), __last = __ucont.end();
1115:       __iter != __last;)
1115:    {
1115:      if (__pred(*__iter))
1115:        {
1115:   __iter = __cont.erase(__iter);
1115:   ++__num;
1115:        }
1115:      else
1115:        ++__iter;
1115:    }
1115:  return __num;
1115:       }
1115:   }
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/map" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115:   namespace pmr
1115:   {
1115:     template<typename _Tp> class polymorphic_allocator;
1115:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1115:       using map
1115:  = std::map<_Key, _Tp, _Cmp,
1115:      polymorphic_allocator<pair<const _Key, _Tp>>>;
1115:     template<typename _Key, typename _Tp, typename _Cmp = std::less<_Key>>
1115:       using multimap
1115:  = std::multimap<_Key, _Tp, _Cmp,
1115:    polymorphic_allocator<pair<const _Key, _Tp>>>;
1115:   }
1115: 
1115: }
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h" 2
1115: 
1115: 
1115: 
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.h"
1115: class CWeatherJob : public CJob
1115: {
1115: public:
1115:   explicit CWeatherJob(int location);
1115: 
1115:   bool DoWork() override;
1115: 
1115:   const CWeatherInfo &GetInfo() const;
1115: private:
1115:   static std::string ConstructPath(std::string in);
1115:   void LocalizeOverview(std::string &str);
1115:   void LocalizeOverviewToken(std::string &str);
1115:   void LoadLocalizedToken();
1115:   static int ConvertSpeed(int speed);
1115: 
1115:   void SetFromProperties();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static void FormatTemperature(std::string &text, double temp);
1115: 
1115:   struct ci_less
1115:   {
1115: 
1115:     struct nocase_compare
1115:     {
1115:       bool operator() (const unsigned char& c1, const unsigned char& c2) const {
1115:         return tolower(c1) < tolower(c2);
1115:       }
1115:     };
1115:     bool operator()(const std::string & s1, const std::string & s2) const {
1115:       return std::lexicographical_compare
1115:       (s1.begin(), s1.end(),
1115:         s2.begin(), s2.end(),
1115:         nocase_compare());
1115:     }
1115:   };
1115: 
1115:   std::map<std::string, int, ci_less> m_localizedTokens;
1115:   typedef std::map<std::string, int, ci_less>::const_iterator ilocalizedTokens;
1115: 
1115:   CWeatherInfo m_info;
1115:   int m_location;
1115: 
1115:   static bool m_imagesOkay;
1115: };
1115: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIUserMessages.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIUserMessages.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_WINDOW_INIT = 1;
1115: constexpr const int GUI_MSG_WINDOW_DEINIT = 2;
1115: constexpr const int GUI_MSG_WINDOW_RESET = 27;
1115: 
1115: constexpr const int GUI_MSG_SETFOCUS = 3;
1115: constexpr const int GUI_MSG_LOSTFOCUS = 4;
1115: 
1115: constexpr const int GUI_MSG_CLICKED = 5;
1115: 
1115: constexpr const int GUI_MSG_VISIBLE = 6;
1115: constexpr const int GUI_MSG_HIDDEN = 7;
1115: 
1115: constexpr const int GUI_MSG_ENABLED = 8;
1115: constexpr coor_visit(arg.value_.int128_value));
1417:   case detail::type::uint128_type:
1417:     return vis(detail::convert_for_visit(arg.value_.uint128_value));
1417:   case detail::type::bool_type:
1417:     return vis(arg.value_.bool_value);
1417:   case detail::type::char_type:
1417:     return vis(arg.value_.char_value);
1417:   case detail::type::float_type:
1417:     return vis(arg.value_.float_value);
1417:   case detail::type::double_type:
1417:     return vis(arg.value_.double_value);
1417:   case detail::type::long_double_type:
1417:     return vis(arg.value_.long_double_value);
1417:   case detail::type::cstring_type:
1417:     return vis(arg.value_.string.data);
1417:   case detail::type::string_type:
1417:     using sv = basic_string_view<typename Context::char_type>;
1417:     return vis(sv(arg.value_.string.data, arg.value_.string.size));
1417:   case detail::type::pointer_type:
1417:     return vis(arg.value_.pointer);
1417:   case detail::type::custom_type:
1417:     return vis(typename basic_format_arg<Context>::handle(arg.value_.custom));
1417:   }
1417:   return vis(monostate());
1417: }
1417: 
1417: namespace detail {
1417: 
1417: template <typename Char, typename InputIt>
1417: auto copy_str(InputIt begin, InputIt end, appender out) -> appender {
1417:   get_container(out).append(begin, end);
1417:   return out;
1417: }
1417: 
1417: template <typename Char, typename R, typename OutputIt>
1417: constexpr auto copy_str(R&& rng, OutputIt out) -> OutputIt {
1417:   return detail::copy_str<Char>(rng.begin(), rng.end(), out);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename...> using void_t = void;
1417: 
1417: 
1417: template <typename It, typename T, typename Enable = void>
1417: struct is_output_iterator : std::false_type {};
1417: 
1417: template <typename It, typename T>
1417: struct is_output_iterator<
1417:     It, T,
1417:     void_t<typename std::iterator_traits<It>::iterator_category,
1417:            decltype(*std::declval<It>() = std::declval<T>())>>
1417:     : std::true_type {};
1417: 
1417: template <typename OutputIt>
1417: struct is_back_insert_iterator : std::false_type {};
1417: template <typename Container>
1417: struct is_back_insert_iterator<std::back_insert_iterator<Container>>
1417:     : std::true_type {};
1417: 
1417: template <typename OutputIt>
1417: struct is_contiguous_back_insert_iterator : std::false_type {};
1417: template <typename Container>
1417: struct is_contiguous_back_insert_iterator<std::back_insert_iterator<Container>>
1417:     : is_contiguous<Container> {};
1417: template <>
1417: struct is_contiguous_back_insert_iterator<appender> : std::true_type {};
1417: 
1417: 
1417: class locale_ref {
1417:  private:
1417:   const void* locale_;
1417: 
1417:  public:
1417:   constexpr locale_ref() : locale_(nullptr) {}
1417:   template <typename Locale> explicit locale_ref(const Locale& loc);
1417: 
1417:   explicit operator bool() const noexcept { return locale_ != nullptr; }
1417: 
1417:   template <typename Locale> auto get() const -> Locale;
1417: };
1417: 
1417: template <typename> constexpr auto encode_types() -> unsigned long long {
1417:   return 0;
1417: }
1417: 
1417: template <typename Context, typename Arg, typename... Args>
1417: constexpr auto encode_types() -> unsigned long long {
1417:   return static_cast<unsigned>(mapped_type_constant<Arg, Context>::value) |
1417:          (encode_types<Context, Args...>() << packed_arg_bits);
1417: }
1417: 
1417: template <typename Context, typename T>
1417: constexpr inline __attribute__((always_inline)) auto make_value(T&& val) -> value<Context> {
1417:   const auto& arg = arg_mapper<Context>().map(static_cast<decltype(val)&&>(val));
1417: 
1417:   constexpr bool formattable_char =
1417:       !std::is_same<decltype(arg), const unformattable_char&>::value;
1417:   static_assert(formattable_char, "Mixing character types is disallowed.");
1417: 
1417:   constexpr bool formattable_const =
1417:       !std::is_same<decltype(arg), const unformattable_const&>::value;
1417:   static_assert(formattable_ bool
1434:  _M_try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1434:  {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    auto __now = _Clock::now();
1434:    do {
1434:      auto __rtime = __atime - __now;
1434:      if (_M_try_lock_for(__rtime))
1434:        return true;
1434:      __now = _Clock::now();
1434:    } while (__atime > __now);
1434:    return false;
1434:  }
1434:     };
1434: 
1434: 
1434:   class timed_mutex
1434:   : private __mutex_base, public __timed_mutex_impl<timed_mutex>
1434:   {
1434:   public:
1434:     typedef __native_type* native_handle_type;
1434: 
1434:     timed_mutex() = default;
1434:     ~timed_mutex() = default;
1434: 
1434:     timed_mutex(const timed_mutex&) = delete;
1434:     timed_mutex& operator=(const timed_mutex&) = delete;
1434: 
1434:     void
1434:     lock()
1434:     {
1434:       int __e = __gthread_mutex_lock(&_M_mutex);
1434: 
1434: 
1434:       if (__e)
1434:  __throw_system_error(__e);
1434:     }
1434: 
1434:     bool
1434:     try_lock() noexcept
1434:     {
1434: 
1434:       return !__gthread_mutex_trylock(&_M_mutex);
1434:     }
1434: 
1434:     template <class _Rep, class _Period>
1434:       bool
1434:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1434:       { return _M_try_lock_for(__rtime); }
1434: 
1434:     template <class _Clock, class _Duration>
1434:       bool
1434:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1434:       { return _M_try_lock_until(__atime); }
1434: 
1434:     void
1434:     unlock()
1434:     {
1434: 
1434:       __gthread_mutex_unlock(&_M_mutex);
1434:     }
1434: 
1434:     native_handle_type
1434:     native_handle() noexcept
1434:     { return &_M_mutex; }
1434: 
1434:     private:
1434:       friend class __timed_mutex_impl<timed_mutex>;
1434: 
1434:       bool
1434:       _M_timedlock(const __gthread_time_t& __ts)
1434:       { return !__gthread_mutex_timedlock(&_M_mutex, &__ts); }
1434: 
1434: 
1434:       bool
1434:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1434:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1434: 
1434:   };
1434: 
1434: 
1434:   class recursive_timed_mutex
1434:   : private __recursive_mutex_base,
1434:     public __timed_mutex_impl<recursive_timed_mutex>
1434:   {
1434:   public:
1434:     typedef __native_type* native_handle_type;
1434: 
1434:     recursive_timed_mutex() = default;
1434:     ~recursive_timed_mutex() = default;
1434: 
1434:     recursive_timed_mutex(const recursive_timed_mutex&) = delete;
1434:     recursive_timed_mutex& operator=(const recursive_timed_mutex&) = delete;
1434: 
1434:     void
1434:     lock()
1434:     {
1434:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1434: 
1434: 
1434:       if (__e)
1434:  __throw_system_error(__e);
1434:     }
1434: 
1434:     bool
1434:     try_lock() noexcept
1434:     {
1434: 
1434:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1434:     }
1434: 
1434:     template <class _Rep, class _Period>
1434:       bool
1434:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1434:       { return _M_try_lock_for(__rtime); }
1434: 
1434:     template <class _Clock, class _Duration>
1434:       bool
1434:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1434:       { return _M_try_lock_until(__atime); }
1434: 
1434:     void
1434:     unlock()
1434:     {
1434: 
1434:       __gthread_recursive_mutex_unlock(&_M_mutex);
1434:     }
1434: 
1434:     native_handle_type
1434:     native_handle() noexcept
1434:     { return &_M_mutex; }
1434: 
1434:     private:
1434:       friend class __timed_mutex_impl<recursive_timed_mutex>;
1434: 
1434:       bool
1434:       _M_timedlock(const __gthread_time_t& __ts)
1434:       { return !__gthread_recursive_mutex_timedlock(&_M_mutex, &__ts); }
1434: 
1434: 
1434:       bool
1434:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1434:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1434: 
1434:   };
1434: # 515 "/usr/include/c++/12/mutex" 3
1434:   namespace __detail
1434:   {
1434: 
1434:     template<typename _Lockable>
1434:       inline int
1434:       __try_lock_impl(_Lockable& __l)
1434:       {
1434:  if (unique_lock<_Lockable> __lock{__l, try_to_lock})
1434:    {
1434:      __lock.release();
1434:      return -1;
1434:    }
1434:  else
1434:    return 0;
1434:       }
1434: 
1434: 
1434: 
1434:     template<typename _L0, typename... _Lockables>
1434:       inline int
1434:       __try_lock_impl(_L0& __l0, _Lockables&... __lockables)
1434:       {
1434: 
1434:  if constexpr ((is_same_v<_L0, _Lockables> && ...))
1434:    {
1434:      constexpr int _Np = 1 + sizeof...(_Lockables);
1434:      unique_lock<_L0> __locks[_Np] = {
1434:   {__l0, defer_lock}, {__lockables, defer_lock}...
1434:      };
1434:      for (int __i = 0; __i < _Np; ++__i)
1434:        {
1434:   if (!__locks[__i].try_lock())
1434:     {
1434:       const int __failed = __i;
1434:       while (__i--)
1434:         __locks[__i].unlock();
1434:       return __failed;
1434:     }
1434:        }
1434:      for (auto& __l : __locks)
1434:        __l.release();
1434:      return -1;
1434:    }
1434:  else
1434: 
1434:  if (unique_lock<_L0> __lock{__l0, try_to_lock})
1434:    {
1434:      int __idx = __detail::__try_lock_impl(__lockables...);
1434:      if (__idx == -1)
1434:        {
1434:   __lock.release();
1434:   return -1;
1434:        }
1434:      return __idx + 1;
1434:    }
1434:  else
1434:    return 0;
1434:       }
1434: 
1434:   }
1434: # 587 "/usr/include/c++/12/mutex" 3
1434:   template<typename _L1, typename _L2, typename... _L3>
1434:     inline int
1434:     try_lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1434:     {
1434:       return __detail::__try_lock_impl(__l1, __l2, __l3...);
1434:     }
1434: 
1434: 
1434:   namespace __detail
1434:   {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _L0, typename... _L1>
1434:       void
1434:       __lock_impl(int& __i, int __depth, _L0& __l0, _L1&... __l1)
1434:       {
1434:  while (__i >= __depth)
1434:    {
1434:      if (__i == __depth)
1434:        {
1434:   int __failed = 1;
1434:   {
1434:     unique_lock<_L0> __first(__l0);
1434:     __failed += __detail::__try_lock_impl(__l1...);
1434:     if (!__failed)
1434:       {
1434:         __i = -1;
1434:         __first.release();
1434:         return;
1434:       }
1434:   }
1434: 
1434:   __gthread_yield();
1434: 
1434:   constexpr auto __n = 1 + sizeof...(_L1);
1434:   __i = (__depth + __failed) % __n;
1434:        }
1434:      else
1434:        __detail::__lock_impl(__i, __depth + 1, __l1..., __l0);
1434:    }
1434:       }
1434: 
1434:   }
1434: # 646 "/usr/include/c++/12/mutex" 3
1434:   template<typename _L1, typename _L2, typename... _L3>
1434:     void
1434:     lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1434:     {
1434: 
1434:       if constexpr (is_same_v<_L1, _L2> && (is_same_v<_L1, _L3> && ...))
1434:  {
1434:    constexpr int _Np = 2 + sizeof...(_L3);
1434:    unique_lock<_L1> __locks[] = {
1434:        {__l1, defer_lock}, {__l2, defer_lock}, {__l3, defer_lock}...
1434:    };
1434:    int __first = 0;
1434:    do {
1434:      __locks[__first].lock();
1434:      for (int __j = 1; __j < _Np; ++__j)
1434:        {
1434:   const int __idx = (__first + __j) % _Np;
1434:   if (!__locks[__idx].try_lock())
1434:     {
1434:       for (int __k = __j; __k != 0; --__k)
1434:         __locks[(__first + __k - 1) % _Np].unlock();
1434:       __first = __idx;
1434:       break;
1434:     }
1434:        }
1434:    } while (!__locks[__first].owns_lock());
1434: 
1434:    for (auto& __l : __locks)
1434:      __l.release();
1434:  }
1434:       else
1434: 
1434:  {
1434:    int __i = 0;
1434:    __detail::__lock_impl(__i, 0, __l1, __l2, __l3...);
1434:  }
1434:     }
1434: # 691 "/usr/include/c++/12/mutex" 3
1434:   template<typename... _MutexTypes>
1434:     class scoped_lock
1434:     {
1434:     public:
1434:       explicit scoped_lock(_MutexTypes&... __m) : _M_devices(std::tie(__m...))
1434:       { std::lock(__m...); }
143nst int GUI_MSG_DISABLED = 9;
1115: 
1115: constexpr const int GUI_MSG_SET_SELECTED = 10;
1115: constexpr const int GUI_MSG_SET_DESELECTED = 11;
1115: 
1115: constexpr const int GUI_MSG_LABEL_ADD = 12;
1115: 
1115: constexpr const int GUI_MSG_LABEL_SET = 13;
1115: 
1115: constexpr const int GUI_MSG_LABEL_RESET = 14;
1115: 
1115: constexpr const int GUI_MSG_ITEM_SELECTED = 15;
1115: constexpr const int GUI_MSG_ITEM_SELECT = 16;
1115: constexpr const int GUI_MSG_LABEL2_SET = 17;
1115: constexpr const int GUI_MSG_SHOWRANGE = 18;
1115: 
1115: constexpr const int GUI_MSG_FULLSCREEN = 19;
1115: constexpr const int GUI_MSG_EXECUTE = 20;
1115: 
1115: constexpr const int GUI_MSG_NOTIFY_ALL = 21;
1115: 
1115: 
1115: constexpr const int GUI_MSG_REFRESH_THUMBS = 22;
1115: 
1115: constexpr const int GUI_MSG_MOVE = 23;
1115: 
1115: 
1115: constexpr const int GUI_MSG_LABEL_BIND = 24;
1115: 
1115: constexpr const int GUI_MSG_FOCUSED = 26;
1115: 
1115: constexpr const int GUI_MSG_PAGE_CHANGE = 28;
1115: 
1115: constexpr const int GUI_MSG_REFRESH_LIST = 29;
1115: 
1115: constexpr const int GUI_MSG_PAGE_UP = 30;
1115: constexpr const int GUI_MSG_PAGE_DOWN = 31;
1115: constexpr const int GUI_MSG_MOVE_OFFSET = 32;
1115: 
1115: constexpr const int GUI_MSG_SET_TYPE = 33;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_WINDOW_RESIZE = 34;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_RENDERER_LOST = 35;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_RENDERER_RESET = 36;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_EXCLUSIVE_MOUSE = 37;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_GESTURE_NOTIFY = 38;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_ADD_CONTROL = 39;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_REMOVE_CONTROL = 40;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_UNFOCUS_ALL = 41;
1115: 
1115: constexpr const int GUI_MSG_SET_TEXT = 42;
1115: 
1115: constexpr const int GUI_MSG_WINDOW_LOAD = 43;
1115: 
1115: constexpr const int GUI_MSG_VALIDITY_CHANGED = 44;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_IS_SELECTED = 45;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_SET_LABELS = 46;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_SET_FILENAME = 47;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_GET_FILENAME = 48;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_UI_READY = 49;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_REFRESH_TIMER = 50;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_STATE_CHANGED = 51;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_SUBTITLE_DOWNLOADED = 52;
1115: 
1115: 
1115: constexpr const int GUI_MSG_USER = 1000;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_CODINGTABLE_LOOKUP_COMPLETED = 65000;
1115: # 354 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
1115: # 1 "/usr/include/c++/12/vector" 1 3
1115: # 58 "/usr/include/c++/12/vector" 3
1115:        
1115: # 59 "/usr/include/c++/12/vector" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stl_vector.h" 1 3
1115: # 78 "/usr/include/c++/12/bits/stl_vector.h" 3
1115: 
1115: # 78 "/usr/include/c++/12/bits/stl_vector.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     struct _Vector_base
1115:     {
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_Tp>::other _Tp_alloc_type;
1115:       typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
1115:         pointer;
1115: 
1115:       struct _Vector_impl_data
1115:       {
1115:  pointer _M_start;
1115:  pointer _M_finish;
1115:  pointer _M_end_of_storage;
1115: 
1115: 
1115:  _Vector_impl_data() noexcept
1115:  : _M_start(), _M_finish(), _M_end_of_storage()
1115:  { }
1115: 
1115: 
1115: 
1115:  _Vector_impl_data(_Vector_iconst, "Cannot format a const argument.");
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr bool formattable_pointer =
1417:       !std::is_same<decltype(arg), const unformattable_pointer&>::value;
1417:   static_assert(formattable_pointer,
1417:                 "Formatting of non-void pointers is disallowed.");
1417: 
1417:   constexpr bool formattable =
1417:       !std::is_same<decltype(arg), const unformattable&>::value;
1417:   static_assert(
1417:       formattable,
1417:       "Cannot format an argument. To make type T formattable provide a "
1417:       "formatter<T> specialization: https://fmt.dev/latest/api.html#udt");
1417:   return {arg};
1417: }
1417: 
1417: template <typename Context, typename T>
1417: constexpr auto make_arg(T&& value) -> basic_format_arg<Context> {
1417:   basic_format_arg<Context> arg;
1417:   arg.type_ = mapped_type_constant<T, Context>::value;
1417:   arg.value_ = make_value<Context>(value);
1417:   return arg;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: template <bool IS_PACKED, typename Context, type, typename T,
1417:           enable_if_t<(IS_PACKED), int> = 0>
1417: constexpr inline __attribute__((always_inline)) auto make_arg(T&& val) -> value<Context> {
1417:   return make_value<Context>(val);
1417: }
1417: 
1417: template <bool IS_PACKED, typename Context, type, typename T,
1417:           enable_if_t<(!IS_PACKED), int> = 0>
1417: constexpr inline auto make_arg(T&& value) -> basic_format_arg<Context> {
1417:   return make_arg<Context>(value);
1417: }
1417: }
1417: 
1417: 
1417: template <typename OutputIt, typename Char> class basic_format_context {
1417:  public:
1417: 
1417:   using char_type = Char;
1417: 
1417:  private:
1417:   OutputIt out_;
1417:   basic_format_args<basic_format_context> args_;
1417:   detail::locale_ref loc_;
1417: 
1417:  public:
1417:   using iterator = OutputIt;
1417:   using format_arg = basic_format_arg<basic_format_context>;
1417:   using parse_context_type = basic_format_parse_context<Char>;
1417:   template <typename T> using formatter_type = formatter<T, char_type>;
1417: 
1417:   basic_format_context(basic_format_context&&) = default;
1417:   basic_format_context(const basic_format_context&) = delete;
1417:   void operator=(const basic_format_context&) = delete;
1417: 
1417: 
1417: 
1417: 
1417:   constexpr basic_format_context(
1417:       OutputIt out, basic_format_args<basic_format_context> ctx_args,
1417:       detail::locale_ref loc = detail::locale_ref())
1417:       : out_(out), args_(ctx_args), loc_(loc) {}
1417: 
1417:   constexpr auto arg(int id) const -> format_arg { return args_.get(id); }
1417:   constexpr auto arg(basic_string_view<char_type> name) -> format_arg {
1417:     return args_.get(name);
1417:   }
1417:   constexpr auto arg_id(basic_string_view<char_type> name) -> int {
1417:     return args_.get_id(name);
1417:   }
1417:   auto args() const -> const basic_format_args<basic_format_context>& {
1417:     return args_;
1417:   }
1417: 
1417:   constexpr auto error_handler() -> detail::error_handler { return {}; }
1417:   void on_error(const char* message) { error_handler().on_error(message); }
1417: 
1417: 
1417:   constexpr auto out() -> iterator { return out_; }
1417: 
1417: 
1417:   void advance_to(iterator it) {
1417:     if (!detail::is_back_insert_iterator<iterator>()) out_ = it;
1417:   }
1417: 
1417:   constexpr auto locale() -> detail::locale_ref { return loc_; }
1417: };
1417: 
1417: template <typename Char>
1417: using buffer_context =
1417:     basic_format_context<detail::buffer_appender<Char>, Char>;
1417: using format_context = buffer_context<char>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename T, typename Char = char>
1417: using is_formattable = bool_constant<
1417:     !std::is_base_of<detail::unformattable,
1417:                      decltype(detail::arg_mapper<buffer_context<Char>>().map(
1417:                          std::declval<T>()))>::value &&
1417:     !detail::has_fallback_formatter<T, Char>::value>;
1417: # 1864 "/usr/include/fmt/core.h" 3 4
1417: template <typename Context, typ4: 
1434:       explicit scoped_lock(adopt_lock_t, _MutexTypes&... __m) noexcept
1434:       : _M_devices(std::tie(__m...))
1434:       { }
1434: 
1434:       ~scoped_lock()
1434:       { std::apply([](auto&... __m) { (__m.unlock(), ...); }, _M_devices); }
1434: 
1434:       scoped_lock(const scoped_lock&) = delete;
1434:       scoped_lock& operator=(const scoped_lock&) = delete;
1434: 
1434:     private:
1434:       tuple<_MutexTypes&...> _M_devices;
1434:     };
1434: 
1434:   template<>
1434:     class scoped_lock<>
1434:     {
1434:     public:
1434:       explicit scoped_lock() = default;
1434:       explicit scoped_lock(adopt_lock_t) noexcept { }
1434:       ~scoped_lock() = default;
1434: 
1434:       scoped_lock(const scoped_lock&) = delete;
1434:       scoped_lock& operator=(const scoped_lock&) = delete;
1434:     };
1434: 
1434:   template<typename _Mutex>
1434:     class scoped_lock<_Mutex>
1434:     {
1434:     public:
1434:       using mutex_type = _Mutex;
1434: 
1434:       explicit scoped_lock(mutex_type& __m) : _M_device(__m)
1434:       { _M_device.lock(); }
1434: 
1434:       explicit scoped_lock(adopt_lock_t, mutex_type& __m) noexcept
1434:       : _M_device(__m)
1434:       { }
1434: 
1434:       ~scoped_lock()
1434:       { _M_device.unlock(); }
1434: 
1434:       scoped_lock(const scoped_lock&) = delete;
1434:       scoped_lock& operator=(const scoped_lock&) = delete;
1434: 
1434:     private:
1434:       mutex_type& _M_device;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   struct once_flag
1434:   {
1434:     constexpr once_flag() noexcept = default;
1434: 
1434: 
1434:     once_flag(const once_flag&) = delete;
1434: 
1434:     once_flag& operator=(const once_flag&) = delete;
1434: 
1434:   private:
1434: 
1434: 
1434:     __gthread_once_t _M_once = 0;
1434: 
1434:     struct _Prepare_execution;
1434: 
1434:     template<typename _Callable, typename... _Args>
1434:       friend void
1434:       call_once(once_flag& __once, _Callable&& __f, _Args&&... __args);
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   extern __thread void* __once_callable;
1434:   extern __thread void (*__once_call)();
1434: 
1434: 
1434:   struct once_flag::_Prepare_execution
1434:   {
1434:     template<typename _Callable>
1434:       explicit
1434:       _Prepare_execution(_Callable& __c)
1434:       {
1434: 
1434:  __once_callable = std::__addressof(__c);
1434: 
1434:  __once_call = [] { (*static_cast<_Callable*>(__once_callable))(); };
1434:       }
1434: 
1434:     ~_Prepare_execution()
1434:     {
1434: 
1434:       __once_callable = nullptr;
1434:       __once_call = nullptr;
1434:     }
1434: 
1434:     _Prepare_execution(const _Prepare_execution&) = delete;
1434:     _Prepare_execution& operator=(const _Prepare_execution&) = delete;
1434:   };
1434: # 843 "/usr/include/c++/12/mutex" 3
1434:   extern "C" void __once_proxy(void);
1434: 
1434: 
1434:   template<typename _Callable, typename... _Args>
1434:     void
1434:     call_once(once_flag& __once, _Callable&& __f, _Args&&... __args)
1434:     {
1434: 
1434:       auto __callable = [&] {
1434:    std::__invoke(std::forward<_Callable>(__f),
1434:    std::forward<_Args>(__args)...);
1434:       };
1434: 
1434:       once_flag::_Prepare_execution __exec(__callable);
1434: 
1434: 
1434:       if (int __e = __gthread_once(&__once._M_once, &__once_proxy))
1434:  __throw_system_error(__e);
1434:     }
1434: # 964 "/usr/include/c++/12/mutex" 3
1434: 
1434: }
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 2
1434: 
1434: 
1434: 
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1434: namespace XbmcThreads
1434: {
1434: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1434: class CRecursiveMutex
1434: {
1434: private:
1434:   pthread_mutex_t m_mutex;
1434: 
1434:   static pthread_mutexattr_t& getRecursiveAttr();
1434: 
1434: public:
1434:   CRecursiveMutex(const CRecursiveMutex&) = delete;
1434:   CRecursiveMutex& operator=(const CRecursiveMutex&)mpl_data&& __x) noexcept
1115:  : _M_start(__x._M_start), _M_finish(__x._M_finish),
1115:    _M_end_of_storage(__x._M_end_of_storage)
1115:  { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); }
1115: 
1115: 
1115: 
1115:  void
1115:  _M_copy_data(_Vector_impl_data const& __x) noexcept
1115:  {
1115:    _M_start = __x._M_start;
1115:    _M_finish = __x._M_finish;
1115:    _M_end_of_storage = __x._M_end_of_storage;
1115:  }
1115: 
1115: 
1115:  void
1115:  _M_swap_data(_Vector_impl_data& __x) noexcept
1115:  {
1115: 
1115: 
1115:    _Vector_impl_data __tmp;
1115:    __tmp._M_copy_data(*this);
1115:    _M_copy_data(__x);
1115:    __x._M_copy_data(__tmp);
1115:  }
1115:       };
1115: 
1115:       struct _Vector_impl
1115:  : public _Tp_alloc_type, public _Vector_impl_data
1115:       {
1115: 
1115:  _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1115: 
1115:  : _Tp_alloc_type()
1115:  { }
1115: 
1115: 
1115:  _Vector_impl(_Tp_alloc_type const& __a) noexcept
1115:  : _Tp_alloc_type(__a)
1115:  { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  _Vector_impl(_Vector_impl&& __x) noexcept
1115:  : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x))
1115:  { }
1115: 
1115: 
1115:  _Vector_impl(_Tp_alloc_type&& __a) noexcept
1115:  : _Tp_alloc_type(std::move(__a))
1115:  { }
1115: 
1115: 
1115:  _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept
1115:  : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv))
1115:  { }
1115: # 291 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       };
1115: 
1115:     public:
1115:       typedef _Alloc allocator_type;
1115: 
1115:      
1115:       _Tp_alloc_type&
1115:       _M_get_Tp_allocator() noexcept
1115:       { return this->_M_impl; }
1115: 
1115:      
1115:       const _Tp_alloc_type&
1115:       _M_get_Tp_allocator() const noexcept
1115:       { return this->_M_impl; }
1115: 
1115:      
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_M_get_Tp_allocator()); }
1115: 
1115: 
1115:       _Vector_base() = default;
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       _Vector_base(const allocator_type& __a) noexcept
1115:       : _M_impl(__a) { }
1115: 
1115: 
1115: 
1115:      
1115:       _Vector_base(size_t __n)
1115:       : _M_impl()
1115:       { _M_create_storage(__n); }
1115: 
1115: 
1115:      
1115:       _Vector_base(size_t __n, const allocator_type& __a)
1115:       : _M_impl(__a)
1115:       { _M_create_storage(__n); }
1115: 
1115: 
1115:       _Vector_base(_Vector_base&&) = default;
1115: 
1115: 
1115: 
1115:      
1115:       _Vector_base(_Tp_alloc_type&& __a) noexcept
1115:       : _M_impl(std::move(__a)) { }
1115: 
1115:      
1115:       _Vector_base(_Vector_base&& __x, const allocator_type& __a)
1115:       : _M_impl(__a)
1115:       {
1115:  if (__x.get_allocator() == __a)
1115:    this->_M_impl._M_swap_data(__x._M_impl);
1115:  else
1115:    {
1115:      size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start;
1115:      _M_create_storage(__n);
1115:    }
1115:       }
1115: 
1115: 
1115:      
1115:       _Vector_base(const allocator_type& __a, _Vector_base&& __x)
1115:       : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl))
1115:       { }
1115: 
1115: 
1115:      
1115:       ~_Vector_base() noexcept
1115:       {
1115:  _M_deallocate(_M_impl._M_start,
1115:         _M_impl._M_end_of_storage - _M_impl._M_start);
1115:       }
1115: 
1115:     public:
1115:       _Vector_impl _M_impl;
1115: 
1115:      
1115:       pointer
1115:       _M_allocate(size_t __n)
1115:       {
1115:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1115:  return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_deallocate(pointer __p, size_t __n)
1115:       {
1115:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
1115:  if (__p)
1115:    _Tr::deallocate(_M_impl, __p, __n);
1115:       }
1115: 
1115:     protected:
1115:      
1115:       void
1115:       _M_cre = delete;
1434: 
1434:   inline CRecursiveMutex() { pthread_mutex_init(&m_mutex, &getRecursiveAttr()); }
1434: 
1434:   inline ~CRecursiveMutex() { pthread_mutex_destroy(&m_mutex); }
1434: 
1434:   inline void lock() { pthread_mutex_lock(&m_mutex); }
1434: 
1434:   inline void unlock() { pthread_mutex_unlock(&m_mutex); }
1434: 
1434:   inline bool try_lock() { return (pthread_mutex_trylock(&m_mutex) == 0); }
1434: 
1434:   inline std::recursive_mutex::native_handle_type native_handle() { return &m_mutex; }
1434: };
1434: 
1434: }
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1434: 
1434: class CCriticalSection : public XbmcThreads::CountingLockable<XbmcThreads::CRecursiveMutex>
1434: {
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStreamDetail.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStreamDetail.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace detail
1434: {
1434: 
1434: template<typename Event>
1434: class ISubscription
1434: {
1434: public:
1434:   virtual void HandleEvent(const Event& event) = 0;
1434:   virtual void Cancel() = 0;
1434:   virtual bool IsOwnedBy(void* obj) = 0;
1434:   virtual ~ISubscription() = default;
1434: };
1434: 
1434: template<typename Event, typename Owner>
1434: class CSubscription : public ISubscription<Event>
1434: {
1434: public:
1434:   typedef void (Owner::*Fn)(const Event&);
1434:   CSubscription(Owner* owner, Fn fn);
1434:   void HandleEvent(const Event& event) override;
1434:   void Cancel() override;
1434:   bool IsOwnedBy(void *obj) override;
1434: 
1434: private:
1434:   Owner* m_owner;
1434:   Fn m_eventHandler;
1434:   CCriticalSection m_criticalSection;
1434: };
1434: 
1434: template<typename Event, typename Owner>
1434: CSubscription<Event, Owner>::CSubscription(Owner* owner, Fn fn)
1434:     : m_owner(owner), m_eventHandler(fn)
1434: {}
1434: 
1434: template<typename Event, typename Owner>
1434: bool CSubscription<Event, Owner>::IsOwnedBy(void* obj)
1434: {
1434:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1434:   return obj != nullptr && obj == m_owner;
1434: }
1434: 
1434: template<typename Event, typename Owner>
1434: void CSubscription<Event, Owner>::Cancel()
1434: {
1434:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1434:   m_owner = nullptr;
1434: }
1434: 
1434: template<typename Event, typename Owner>
1434: void CSubscription<Event, Owner>::HandleEvent(const Event& event)
1434: {
1434:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1434:   if (m_owner)
1434:     (m_owner->*m_eventHandler)(event);
1434: }
1434: }
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:        
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
1434:        
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/chrono" 1 3
1434: # 33 "/usr/include/c++/12/chrono" 3
1434:        
1434: # 34 "/usr/include/c++/12/chrono" 3
1434: # 45 "/usr/include/c++/12/chrono" 3
1434: 
1434: # 45 "/usr/include/c++/12/chrono" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 62 "/usr/include/c++/12/chrono" 3
1434:   namespace chrono
1434:   {
1434: # 2058 "/usr/include/c++/12/chrono" 3
1434:   }
1434: # 2181 "/usr/include/c++/12/chrono" 3
1434: 
1434: }
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1434: # 1 "/usr/include/c++/12/condition_variable" 1 3
1434: # 32 "/usr/include/c++/12/condition_variable" 3
1434:        
1434: # 33 "/usr/include/c++/12/condition_variable" 3
1434: # 51 "/usr/include/c++/12/condition_variable" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 64 "/usr/include/c++/12/condition_variable" 3
1434:   enum class cv_status { no_timeout, timeout };
1434: 
1434: 
1434:   class condition_variable
1434:   {
1434:     using steady_clock = chrono::steady_clock;
1434:     using system_clock = chrono::system_clock;
1434: 
1434:     using __clock_t = steady_clock;
1434: 
1434: 
1434: 
1434: 
1434:     __condvar _M_cond;
1434: 
1434:   public:
1434:     typedef __gthread_cond_t* native_handle_type;
1434: 
1434:     condition_variable() noexcept;
1434:     ~condition_variable() noexcept;
1434: 
1434:     condition_variable(const condition_variable&) = delete;
1434:     condition_variable& operator=(const condition_variable&) = delete;
1434: 
1434:     void
1434:     notify_one() noexcept;
1434: 
1434:     void
1434:     notify_all() noexcept;
1434: 
1434:     void
1434:     wait(unique_lock<mutex>& __lock);
1434: 
1434:     template<typename _Predicate>
1434:       void
1434:       wait(unique_lock<mutex>& __lock, _Predicate __p)
1434:       {
1434:  while (!__p())
1434:    wait(__lock);
1434:       }
1434: 
1434: 
1434:     template<typename _Duration>
1434:       cv_status
1434:       wait_until(unique_lock<mutex>& __lock,
1434:    const chrono::time_point<steady_clock, _Duration>& __atime)
1434:       { return __wait_until_impl(__lock, __atime); }
1434: 
1434: 
1434:     template<typename _Duration>
1434:       cv_status
1434:       wait_until(unique_lock<mutex>& __lock,
1434:    const chrono::time_point<system_clock, _Duration>& __atime)
1434:       { return __wait_until_impl(__lock, __atime); }
1434: 
1434:     template<typename _Clock, typename _Duration>
1434:       cv_status
1434:       wait_until(unique_lock<mutex>& __lock,
1434:    const chrono::time_point<_Clock, _Duration>& __atime)
1434:       {
1434: 
1434: 
1434: 
1434:  using __s_dur = typename __clock_t::duration;
1434:  const typename _Clock::time_point __c_entry = _Clock::now();
1434:  const __clock_t::time_point __s_entry = __clock_t::now();
1434:  const auto __delta = __atime - __c_entry;
1434:  const auto __s_atime = __s_entry +
1434:    chrono::__detail::ceil<__s_dur>(__delta);
1434: 
1434:  if (__wait_until_impl(__lock, __s_atime) == cv_status::no_timeout)
1434:    return cv_status::no_timeout;
1434: 
1434: 
1434: 
1434:  if (_Clock::now() < __atime)
1434:    return cv_status::no_timeout;
1434:  return cv_status::timeout;
1434:       }
1434: 
1434:     template<typename _Clock, typename _Duration, typename _Predicate>
1434:       bool
1434:       wait_until(unique_lock<mutex>& __lock,
1434:    const chrono::time_point<_Clock, _Duration>& __atime,
1434:    _Predicate __p)
1434:       {
1434:  while (!__p())
1434:    if (wait_until(__lock, __atime) == cv_status::timeout)
1434:      return __p();
1434:  return true;
1434:       }
1434: 
1434:     template<typename _Rep, typename _Period>
1434:       cv_status
1434:       wait_for(unique_lock<mutex>& __lock,
1434:         const chrono::duration<_Rep, _Period>& __rtime)
1434:       {
1434:  using __dur = typename steady_clock::duration;
1434:  return wait_until(__lock,
1434:      steady_clock::now() +
1434:      chrono::__detail::ceil<__dur>(__rtime));
1434:       }
1434: 
1434:     template<typename _Rep, typename _Period, typename _Predicate>
1434:       bool
1434:       wait_for(unique_lock<mutex>& __lock,
1434:         const chrono::duration<_Rep, _Period>& __rtime,
1434:         _Predicate __p)
1434:       {
1434:  using __dur = typename steady_clock::duration;
1434:  return wait_until(__lock,
1434:      steady_clock::now() +
1434:      chrono::__detail::ceil<__dur>(__rtime),
1434:     ename... Args>
1417: class format_arg_store
1417: 
1417: 
1417: 
1417: 
1417: {
1417:  private:
1417:   static const size_t num_args = sizeof...(Args);
1417:   static const size_t num_named_args = detail::count_named_args<Args...>();
1417:   static const bool is_packed = num_args <= detail::max_packed_args;
1417: 
1417:   using value_type = conditional_t<is_packed, detail::value<Context>,
1417:                                    basic_format_arg<Context>>;
1417: 
1417:   detail::arg_data<value_type, typename Context::char_type, num_args,
1417:                    num_named_args>
1417:       data_;
1417: 
1417:   friend class basic_format_args<Context>;
1417: 
1417:   static constexpr unsigned long long desc =
1417:       (is_packed ? detail::encode_types<Context, Args...>()
1417:                  : detail::is_unpacked_bit | num_args) |
1417:       (num_named_args != 0
1417:            ? static_cast<unsigned long long>(detail::has_named_args_bit)
1417:            : 0);
1417: 
1417:  public:
1417:   template <typename... T>
1417:   constexpr inline __attribute__((always_inline)) format_arg_store(T&&... args)
1417:       :
1417: 
1417: 
1417: 
1417:         data_{detail::make_arg<
1417:             is_packed, Context,
1417:             detail::mapped_type_constant<remove_cvref_t<T>, Context>::value>(
1417:             static_cast<decltype(args)&&>(args))...} {
1417:     detail::init_named_args(data_.named_args(), 0, 0, args...);
1417:   }
1417: };
1417: # 1915 "/usr/include/fmt/core.h" 3 4
1417: template <typename Context = format_context, typename... Args>
1417: constexpr auto make_format_args(Args&&... args)
1417:     -> format_arg_store<Context, remove_cvref_t<Args>...> {
1417:   return {static_cast<decltype(args)&&>(args)...};
1417: }
1417: # 1932 "/usr/include/fmt/core.h" 3 4
1417: template <typename Char, typename T>
1417: inline auto arg(const Char* name, const T& arg) -> detail::named_arg<Char, T> {
1417:   static_assert(!detail::is_named_arg<T>(), "nested named arguments");
1417:   return {name, arg};
1417: }
1417: # 1948 "/usr/include/fmt/core.h" 3 4
1417: template <typename Context> class basic_format_args {
1417:  public:
1417:   using size_type = int;
1417:   using format_arg = basic_format_arg<Context>;
1417: 
1417:  private:
1417: 
1417: 
1417: 
1417: 
1417:   unsigned long long desc_;
1417:   union {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     const detail::value<Context>* values_;
1417:     const format_arg* args_;
1417:   };
1417: 
1417:   constexpr auto is_packed() const -> bool {
1417:     return (desc_ & detail::is_unpacked_bit) == 0;
1417:   }
1417:   auto has_named_args() const -> bool {
1417:     return (desc_ & detail::has_named_args_bit) != 0;
1417:   }
1417: 
1417:   constexpr auto type(int index) const -> detail::type {
1417:     int shift = index * detail::packed_arg_bits;
1417:     unsigned int mask = (1 << detail::packed_arg_bits) - 1;
1417:     return static_cast<detail::type>((desc_ >> shift) & mask);
1417:   }
1417: 
1417:   constexpr inline __attribute__((always_inline)) basic_format_args(unsigned long long desc,
1417:                                          const detail::value<Context>* values)
1417:       : desc_(desc), values_(values) {}
1417:   constexpr basic_format_args(unsigned long long desc, const format_arg* args)
1417:       : desc_(desc), args_(args) {}
1417: 
1417:  public:
1417:   constexpr basic_format_args() : desc_(0), args_(nullptr) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template <typename... Args>
1417:   constexpr inline __attribute__((always_inline)) basic_format_args(
1417:       const format_arg_store<Context, Args...>& store)
1417:       : basic_format_args(format_arg_store<Context, Args...>::desc,
1417:                           store.data_.args()) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   constexpr inline __attribute__((always_inline)) basic_format_args(
1417:       const dynamic_format_arg_store<Context>& store)
1417:       : basic_format_args(store.get_types(), store.data()) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   co std::move(__p));
1434:       }
1434: 
1434:     native_handle_type
1434:     native_handle()
1434:     { return _M_cond.native_handle(); }
1434: 
1434:   private:
1434: 
1434:     template<typename _Dur>
1434:       cv_status
1434:       __wait_until_impl(unique_lock<mutex>& __lock,
1434:    const chrono::time_point<steady_clock, _Dur>& __atime)
1434:       {
1434:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:  __gthread_time_t __ts =
1434:    {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:  _M_cond.wait_until(*__lock.mutex(), 1, __ts);
1434: 
1434:  return (steady_clock::now() < __atime
1434:   ? cv_status::no_timeout : cv_status::timeout);
1434:       }
1434: 
1434: 
1434:     template<typename _Dur>
1434:       cv_status
1434:       __wait_until_impl(unique_lock<mutex>& __lock,
1434:    const chrono::time_point<system_clock, _Dur>& __atime)
1434:       {
1434:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:  __gthread_time_t __ts =
1434:    {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:  _M_cond.wait_until(*__lock.mutex(), __ts);
1434: 
1434:  return (system_clock::now() < __atime
1434:   ? cv_status::no_timeout : cv_status::timeout);
1434:       }
1434:   };
1434: 
1434:   void
1434:   notify_all_at_thread_exit(condition_variable&, unique_lock<mutex>);
1434: 
1434:   struct __at_thread_exit_elt
1434:   {
1434:     __at_thread_exit_elt* _M_next;
1434:     void (*_M_cb)(void*);
1434:   };
1434: 
1434:   inline namespace _V2 {
1434: 
1434: 
1434: 
1434:   class condition_variable_any
1434:   {
1434: 
1434:     using __clock_t = chrono::steady_clock;
1434: 
1434: 
1434: 
1434:     condition_variable _M_cond;
1434:     shared_ptr<mutex> _M_mutex;
1434: 
1434: 
1434:     template<typename _Lock>
1434:       struct _Unlock
1434:       {
1434:  explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); }
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434:  ~_Unlock() noexcept(false)
1434:  {
1434:    if (uncaught_exception())
1434:      {
1434:        try
1434:        { _M_lock.lock(); }
1434:        catch(const __cxxabiv1::__forced_unwind&)
1434:        { throw; }
1434:        catch(...)
1434:        { }
1434:      }
1434:    else
1434:      _M_lock.lock();
1434:  }
1434: #pragma GCC diagnostic pop
1434: 
1434:  _Unlock(const _Unlock&) = delete;
1434:  _Unlock& operator=(const _Unlock&) = delete;
1434: 
1434:  _Lock& _M_lock;
1434:       };
1434: 
1434:   public:
1434:     condition_variable_any() : _M_mutex(std::make_shared<mutex>()) { }
1434:     ~condition_variable_any() = default;
1434: 
1434:     condition_variable_any(const condition_variable_any&) = delete;
1434:     condition_variable_any& operator=(const condition_variable_any&) = delete;
1434: 
1434:     void
1434:     notify_one() noexcept
1434:     {
1434:       lock_guard<mutex> __lock(*_M_mutex);
1434:       _M_cond.notify_one();
1434:     }
1434: 
1434:     void
1434:     notify_all() noexcept
1434:     {
1434:       lock_guard<mutex> __lock(*_M_mutex);
1434:       _M_cond.notify_all();
1434:     }
1434: 
1434:     template<typename _Lock>
1434:       void
1434:       wait(_Lock& __lock)
1434:       {
1434:  shared_ptr<mutex> __mutex = _M_mutex;
1434:  unique_lock<mutex> __my_lock(*__mutex);
1434:  _Unlock<_Lock> __unlock(__lock);
1434: 
1434: 
1434:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1434:  _M_cond.wait(__my_lock2);
1434:       }
1434: 
1434: 
1434:     template<typename _Lock, typename _Predicate>
1434:       void
1434:       wait(_Lock& __lock, _Predicate __p)
1434:       {
1434:  while (!__p())
1434:    wait(__lock);
1434:       }
1434: 
1434:     template<typename _Lock, typename _Cate_storage(size_t __n)
1115:       {
1115:  this->_M_impl._M_start = this->_M_allocate(__n);
1115:  this->_M_impl._M_finish = this->_M_impl._M_start;
1115:  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1115:       }
1115:     };
1115: # 422 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1115:     class vector : protected _Vector_base<_Tp, _Alloc>
1115:     {
1115: # 435 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1115:    "std::vector must have a non-const, non-volatile value_type");
1115: 
1115:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1115:    "std::vector must have the same value_type as its allocator");
1115: 
1115: 
1115: 
1115:       typedef _Vector_base<_Tp, _Alloc> _Base;
1115:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1115:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
1115: 
1115:     public:
1115:       typedef _Tp value_type;
1115:       typedef typename _Base::pointer pointer;
1115:       typedef typename _Alloc_traits::const_pointer const_pointer;
1115:       typedef typename _Alloc_traits::reference reference;
1115:       typedef typename _Alloc_traits::const_reference const_reference;
1115:       typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
1115:       typedef __gnu_cxx::__normal_iterator<const_pointer, vector>
1115:       const_iterator;
1115:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1115:       typedef std::reverse_iterator<iterator> reverse_iterator;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef _Alloc allocator_type;
1115: 
1115:     private:
1115: 
1115:       static constexpr bool
1115:       _S_nothrow_relocate(true_type)
1115:       {
1115:  return noexcept(std::__relocate_a(std::declval<pointer>(),
1115:        std::declval<pointer>(),
1115:        std::declval<pointer>(),
1115:        std::declval<_Tp_alloc_type&>()));
1115:       }
1115: 
1115:       static constexpr bool
1115:       _S_nothrow_relocate(false_type)
1115:       { return false; }
1115: 
1115:       static constexpr bool
1115:       _S_use_relocate()
1115:       {
1115: 
1115: 
1115: 
1115:  return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{});
1115:       }
1115: 
1115:       static pointer
1115:       _S_do_relocate(pointer __first, pointer __last, pointer __result,
1115:        _Tp_alloc_type& __alloc, true_type) noexcept
1115:       {
1115:  return std::__relocate_a(__first, __last, __result, __alloc);
1115:       }
1115: 
1115:       static pointer
1115:       _S_do_relocate(pointer, pointer, pointer __result,
1115:        _Tp_alloc_type&, false_type) noexcept
1115:       { return __result; }
1115: 
1115:       static pointer
1115:       _S_relocate(pointer __first, pointer __last, pointer __result,
1115:     _Tp_alloc_type& __alloc) noexcept
1115:       {
1115: 
1115: 
1115:  return std::__relocate_a(__first, __last, __result, __alloc);
1115: 
1115: 
1115: 
1115: 
1115:       }
1115: 
1115: 
1115:     protected:
1115:       using _Base::_M_allocate;
1115:       using _Base::_M_deallocate;
1115:       using _Base::_M_impl;
1115:       using _Base::_M_get_Tp_allocator;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       vector() = default;
1115: # 535 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       explicit
1115:      
1115:       vector(const allocator_type& __a) noexcept
1115:       : _Base(__a) { }
1115: # 549 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       explicit
1115:      
1115:       vector(size_type __n, const allocator_type& __a = allocator_type())
1115:       : _Base(_S_check_init_len(__n, __a), __a)
1115:       { _M_default_initialize(__n); }
1115: # 563 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       vector(size_type __n, const value_type& __value,
1115:       const allocator_type& __a = allocatnstexpr basic_format_args(const format_arg* args, int count)
1417:       : basic_format_args(detail::is_unpacked_bit | detail::to_unsigned(count),
1417:                           args) {}
1417: 
1417: 
1417:   constexpr auto get(int id) const -> format_arg {
1417:     format_arg arg;
1417:     if (!is_packed()) {
1417:       if (id < max_size()) arg = args_[id];
1417:       return arg;
1417:     }
1417:     if (id >= detail::max_packed_args) return arg;
1417:     arg.type_ = type(id);
1417:     if (arg.type_ == detail::type::none_type) return arg;
1417:     arg.value_ = values_[id];
1417:     return arg;
1417:   }
1417: 
1417:   template <typename Char>
1417:   auto get(basic_string_view<Char> name) const -> format_arg {
1417:     int id = get_id(name);
1417:     return id >= 0 ? get(id) : format_arg();
1417:   }
1417: 
1417:   template <typename Char>
1417:   auto get_id(basic_string_view<Char> name) const -> int {
1417:     if (!has_named_args()) return -1;
1417:     const auto& named_args =
1417:         (is_packed() ? values_[-1] : args_[-1].value_).named_args;
1417:     for (size_t i = 0; i < named_args.size; ++i) {
1417:       if (named_args.data[i].name == name) return named_args.data[i].id;
1417:     }
1417:     return -1;
1417:   }
1417: 
1417:   auto max_size() const -> int {
1417:     unsigned long long max_packed = detail::max_packed_args;
1417:     return static_cast<int>(is_packed() ? max_packed
1417:                                         : desc_ & ~detail::is_unpacked_bit);
1417:   }
1417: };
1417: 
1417: 
1417: 
1417: 
1417: using format_args = basic_format_args<format_context>;
1417: # 2073 "/usr/include/fmt/core.h" 3 4
1417: namespace align {
1417: enum type : unsigned char{none, left, right, center,
1417:                                                   numeric};
1417: }
1417: using align_t = align::type;
1417: namespace sign {
1417: enum type : unsigned char{none, minus, plus, space};
1417: }
1417: using sign_t = sign::type;
1417: 
1417: namespace detail {
1417: 
1417: 
1417: template <typename Char> struct fill_t {
1417:  private:
1417:   enum { max_size = 4 };
1417:   Char data_[max_size] = {Char(' '), Char(0), Char(0), Char(0)};
1417:   unsigned char size_ = 1;
1417: 
1417:  public:
1417:   constexpr void operator=(basic_string_view<Char> s) {
1417:     auto size = s.size();
1417:     if (size > max_size) return throw_format_error("invalid fill");
1417:     for (size_t i = 0; i < size; ++i) data_[i] = s[i];
1417:     size_ = static_cast<unsigned char>(size);
1417:   }
1417: 
1417:   constexpr auto size() const -> size_t { return size_; }
1417:   constexpr auto data() const -> const Char* { return data_; }
1417: 
1417:   constexpr auto operator[](size_t index) -> Char& { return data_[index]; }
1417:   constexpr auto operator[](size_t index) const -> const Char& {
1417:     return data_[index];
1417:   }
1417: };
1417: }
1417: 
1417: enum class presentation_type : unsigned char {
1417:   none,
1417: 
1417:   dec,
1417:   oct,
1417:   hex_lower,
1417:   hex_upper,
1417:   bin_lower,
1417:   bin_upper,
1417:   hexfloat_lower,
1417:   hexfloat_upper,
1417:   exp_lower,
1417:   exp_upper,
1417:   fixed_lower,
1417:   fixed_upper,
1417:   general_lower,
1417:   general_upper,
1417:   chr,
1417:   string,
1417:   pointer,
1417:   debug
1417: };
1417: 
1417: 
1417: template <typename Char> struct basic_format_specs {
1417:   int width;
1417:   int precision;
1417:   presentation_type type;
1417:   align_t align : 4;
1417:   sign_t sign : 3;
1417:   bool alt : 1;
1417:   bool localized : 1;
1417:   detail::fill_t<Char> fill;
1417: 
1417:   constexpr basic_format_specs()
1417:       : width(0),
1417:         precision(-1),
1417:         type(presentation_type::none),
1417:         align(align::none),
1417:         sign(sign::none),
1417:         alt(false),
1417:         localized(false) {}
1417: };
1417: 
1417: using format_specs = basic_format_specs<char>;
1417: 
1417: namespace detail {
1417: 
1417: enum class arg_id_kind { none, index, name };
1417: 
1417: 
1417: template <typename Char> struct arg_reflock, typename _Duration>
1434:       cv_status
1434:       wait_until(_Lock& __lock,
1434:    const chrono::time_point<_Clock, _Duration>& __atime)
1434:       {
1434:  shared_ptr<mutex> __mutex = _M_mutex;
1434:  unique_lock<mutex> __my_lock(*__mutex);
1434:  _Unlock<_Lock> __unlock(__lock);
1434: 
1434: 
1434:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1434:  return _M_cond.wait_until(__my_lock2, __atime);
1434:       }
1434: 
1434:     template<typename _Lock, typename _Clock,
1434:       typename _Duration, typename _Predicate>
1434:       bool
1434:       wait_until(_Lock& __lock,
1434:    const chrono::time_point<_Clock, _Duration>& __atime,
1434:    _Predicate __p)
1434:       {
1434:  while (!__p())
1434:    if (wait_until(__lock, __atime) == cv_status::timeout)
1434:      return __p();
1434:  return true;
1434:       }
1434: 
1434:     template<typename _Lock, typename _Rep, typename _Period>
1434:       cv_status
1434:       wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __rtime)
1434:       { return wait_until(__lock, __clock_t::now() + __rtime); }
1434: 
1434:     template<typename _Lock, typename _Rep,
1434:       typename _Period, typename _Predicate>
1434:       bool
1434:       wait_for(_Lock& __lock,
1434:         const chrono::duration<_Rep, _Period>& __rtime, _Predicate __p)
1434:       { return wait_until(__lock, __clock_t::now() + __rtime, std::move(__p)); }
1434: # 440 "/usr/include/c++/12/condition_variable" 3
1434:   };
1434: 
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1434: # 1 "/usr/include/c++/12/functional" 1 3
1434: # 46 "/usr/include/c++/12/functional" 3
1434:        
1434: # 47 "/usr/include/c++/12/functional" 3
1434: # 59 "/usr/include/c++/12/functional" 3
1434: # 1 "/usr/include/c++/12/bits/std_function.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/std_function.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/std_function.h" 3
1434: # 45 "/usr/include/c++/12/bits/std_function.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class bad_function_call : public std::exception
1434:   {
1434:   public:
1434:     virtual ~bad_function_call() noexcept;
1434: 
1434:     const char* what() const noexcept;
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct __is_location_invariant
1434:     : is_trivially_copyable<_Tp>::type
1434:     { };
1434: 
1434:   class _Undefined_class;
1434: 
1434:   union _Nocopy_types
1434:   {
1434:     void* _M_object;
1434:     const void* _M_const_object;
1434:     void (*_M_function_pointer)();
1434:     void (_Undefined_class::*_M_member_pointer)();
1434:   };
1434: 
1434:   union [[gnu::may_alias]] _Any_data
1434:   {
1434:     void* _M_access() noexcept { return &_M_pod_data[0]; }
1434:     const void* _M_access() const noexcept { return &_M_pod_data[0]; }
1434: 
1434:     template<typename _Tp>
1434:       _Tp&
1434:       _M_access() noexcept
1434:       { return *static_cast<_Tp*>(_M_access()); }
1434: 
1434:     template<typename _Tp>
1434:       const _Tp&
1434:       _M_access() const noexcept
1434:       { return *static_cast<const _Tp*>(_M_access()); }
1434: 
1434:     _Nocopy_types _M_unused;
1434:     char _M_pod_data[sizeof(_Nocopy_types)];
1434:   };
1434: 
1434:   enum _Manager_operation
1434:   {
1434:     __get_type_info,
1434:     __get_functor_ptr,
1434:     __clone_functor,
1434:     __destroy_functor
1434:   };
1434: 
1434:   template<typename _Signature>
1434:     class function;
1434: 
1434: 
1434:   class _Function_base
1434:   {
1434:   public:
1434:     static const size_t _M_max_size = sizeof(_Nocopy_types);
1434:     static const size_t _M_max_align = __alignof__(_Nocopy_types);
1434: 
1434:     template<typename _Functor>
1434:       class _Base_manager
1434:       {
1434:       protected:
1434:  static const bool __stored_locally =
1434:  (__is_location_invariant<_Functor>::value
1434:   && sizeof(_Functor) <= _M_max_size
1434:   && __alignof__(_Functor) <= _M_max_align
1434:   && (_M_max_align % __alignof__(_Functor) == 0));
1434: 
1434:  using _Local_storage = integral_constant<bool, __stored_locally>;
1434: 
1434: 
1434:  static _Functor*
1434:  _M_get_pointer(const _Any_data& __source) noexcept
1434:  {
1434:    if constexpr (__stored_locally)
1434:      {
1434:        const _Functor& __f = __source._M_access<_Functor>();
1434:        return const_cast<_Functor*>(std::__addressof(__f));
1434:      }
1434:    else
1434:      return __source._M_access<_Functor*>();
1434:  }
1434: 
1434:       private:
1434: 
1434: 
1434:  template<typename _Fn>
1434:    static void
1434:    _M_create(_Any_data& __dest, _Fn&& __f, true_type)
1434:    {
1434:      ::new (__dest._M_access()) _Functor(std::forward<_Fn>(__f));
1434:    }
1434: 
1434: 
1434:  template<typename _Fn>
1434:    static void
1434:    _M_create(_Any_data& __dest, _Fn&& __f, false_type)
1434:    {
1434:      __dest._M_access<_Functor*>()
1434:        = new _Functor(std::forward<_Fn>(__f));
1434:    }
1434: 
1434: 
1434:  static void
1434:  _M_destroy(_Any_data& __victim, true_type)
1434:  {
1434:    __victim._M_access<_Functor>().~_Functor();
1434:  }
1434: 
1434: 
1434:  static void
1434:  _M_destroy(_Any_data& __victim, false_type)
1434:  {
1434:    delete __victim._M_access<_Functor*>();
1434:  }
1434: 
1434:       public:
1434:  static bool
1434:  _M_manager(_Any_data& __dest, const _Any_data& __source,
1434:      _Manager_operation __op)
1434:  {
1434:    switch (__op)
1434:      {
1434:      case __get_type_info:
1434: 
1434:        __dest._M_access<const type_info*>() = &typeid(_Functor);
1434: 
1434: 
1434: 
1434:        break;
1434: 
1434:      case __get_functor_ptr:
1434:        __dest._M_access<_Functor*>() = _M_get_pointer(__source);
1434:        break;
1434: 
1434:      case __clone_functor:
1434:        _M_init_functor(__dest,
1434:     *const_cast<const _Functor*>(_M_get_pointer(__source)));
1434:        break;
1434: 
1434:      case __destroy_functor:
1434:        _M_destroy(__dest, _Local_storage());
1434:        break;
1434:      }
1434:    return false;
1434:  }
1434: 
1434:  template<typename _Fn>
1434:    static void
1434:    _M_init_functor(_Any_data& __functor, _Fn&& __f)
1434:    noexcept(__and_<_Local_storage,
1434:      is_nothrow_constructible<_Functor, _Fn>>::value)
1434:    {
1434:      _M_create(__functor, std::forward<_Fn>(__f), _Local_storage());
1434:    }
1434: 
1434:  template<typename _Signature>
1434:    static bool
1434:    _M_not_empty_function(const function<_Signature>& __f) noexcept
1434:    { return static_cast<bool>(__f); }
1434: 
1434:  template<typename _Tp>
1434:    static bool
1434:    _M_not_empty_function(_Tp* __fp) noexcept
1434:    { return __fp != nullptr; }
1434: 
1434:  template<typename _Class, typename _Tp>
1434:    static bool
1434:    _M_not_empty_function(_Tp _Class::* __mp) noexcept
1434:    { return __mp != nullptr; }
1434: 
1434:  template<typename _Tp>
1434:    static bool
1434:    _M_not_empty_function(const _Tp&) noexcept
1434:    { return true; }
1434:       };
1434: 
1434:     _Function_base() = default;
1434: 
1434:     ~_Function_base()
1434:     {
1434:       if (_M_manager)
1434:  _M_manager(_M_functor, _M_functor, __destroy_functor);
1434:     }
1434: 
1434:     bool _M_empty() const { return !_M_manager; }
1434: 
1434:     using _Manager_type
1434:       = bool (*)(_Any_data&, const _Any_data&, _Manager_operation);
1434: 
1434:     _Any_data _M_functor{};
1434:     _Manager_type _M_manager{};
1434:   };
1434: 
1434:   template<typename _Signature, typename _Functor>
1434:     class _Function_handler;
1434: 
1434:   template<typename _Res, typename _Functor, typename... _ArgTypes>
1434:     class _Function_handler<_Res(_ArgTypes...), _Functor>
1434:     : public _Function_base::_Base_manager<_Functor>
1434:     {
1434:       using _Base = _Function_base::_Base_manager<_Functor>;
1434: 
1434:     public:
1434:       static bool
1434:       _M_manager(_Any_data& __dest, const _Any_data&or_type())
1115:       : _Base(_S_check_init_len(__n, __a), __a)
1115:       { _M_fill_initialize(__n, __value); }
1115: # 595 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       vector(const vector& __x)
1115:       : _Base(__x.size(),
1115:  _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()))
1115:       {
1115:  this->_M_impl._M_finish =
1115:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1115:           this->_M_impl._M_start,
1115:           _M_get_Tp_allocator());
1115:       }
1115: # 615 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       vector(vector&&) noexcept = default;
1115: 
1115: 
1115:      
1115:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1115:       : _Base(__x.size(), __a)
1115:       {
1115:  this->_M_impl._M_finish =
1115:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
1115:           this->_M_impl._M_start,
1115:           _M_get_Tp_allocator());
1115:       }
1115: 
1115:     private:
1115:      
1115:       vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
1115:       : _Base(__m, std::move(__rv))
1115:       { }
1115: 
1115:      
1115:       vector(vector&& __rv, const allocator_type& __m, false_type)
1115:       : _Base(__m)
1115:       {
1115:  if (__rv.get_allocator() == __m)
1115:    this->_M_impl._M_swap_data(__rv._M_impl);
1115:  else if (!__rv.empty())
1115:    {
1115:      this->_M_create_storage(__rv.size());
1115:      this->_M_impl._M_finish =
1115:        std::__uninitialized_move_a(__rv.begin(), __rv.end(),
1115:        this->_M_impl._M_start,
1115:        _M_get_Tp_allocator());
1115:      __rv.clear();
1115:    }
1115:       }
1115: 
1115:     public:
1115: 
1115:      
1115:       vector(vector&& __rv, const __type_identity_t<allocator_type>& __m)
1115:       noexcept( noexcept(
1115:  vector(std::declval<vector&&>(), std::declval<const allocator_type&>(),
1115:         std::declval<typename _Alloc_traits::is_always_equal>())) )
1115:       : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{})
1115:       { }
1115: # 672 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       vector(initializer_list<value_type> __l,
1115:       const allocator_type& __a = allocator_type())
1115:       : _Base(__a)
1115:       {
1115:  _M_range_initialize(__l.begin(), __l.end(),
1115:        random_access_iterator_tag());
1115:       }
1115: # 699 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:  vector(_InputIterator __first, _InputIterator __last,
1115:         const allocator_type& __a = allocator_type())
1115:  : _Base(__a)
1115:  {
1115:    _M_range_initialize(__first, __last,
1115:          std::__iterator_category(__first));
1115:  }
1115: # 727 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       ~vector() noexcept
1115:       {
1115:  std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:         _M_get_Tp_allocator());
1115:  ;
1115:       }
1115: # 744 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       vector&
1115:       operator=(const vector& __x);
1115: # 759 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       vector&
1115:       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
1115:       {
1115:  constexpr bool __move_storage =
1115:    _Alloc_traits::_S_propagate_on_move_assign()
1115:    || _Alloc_traits::_S_always_equal();
1115:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1115:  return *this;
1115:       }
1115: # 781 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       vector&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  this->_M_assign_aux(__l.begin(), __l.end(),
1115:        random_access_iterator_tag());
1115:  return *this;
1115:       }
1115: # 801 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       assign(size_type __n, const value_type& __val)
1115:       { _M {
1417:   constexpr arg_ref() : kind(arg_id_kind::none), val() {}
1417: 
1417:   constexpr explicit arg_ref(int index)
1417:       : kind(arg_id_kind::index), val(index) {}
1417:   constexpr explicit arg_ref(basic_string_view<Char> name)
1417:       : kind(arg_id_kind::name), val(name) {}
1417: 
1417:   constexpr auto operator=(int idx) -> arg_ref& {
1417:     kind = arg_id_kind::index;
1417:     val.index = idx;
1417:     return *this;
1417:   }
1417: 
1417:   arg_id_kind kind;
1417:   union value {
1417:     constexpr value(int id = 0) : index{id} {}
1417:     constexpr value(basic_string_view<Char> n) : name(n) {}
1417: 
1417:     int index;
1417:     basic_string_view<Char> name;
1417:   } val;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: template <typename Char>
1417: struct dynamic_format_specs : basic_format_specs<Char> {
1417:   arg_ref<Char> width_ref;
1417:   arg_ref<Char> precision_ref;
1417: };
1417: 
1417: struct auto_id {};
1417: 
1417: 
1417: template <typename Char> class specs_setter {
1417:  protected:
1417:   basic_format_specs<Char>& specs_;
1417: 
1417:  public:
1417:   explicit constexpr specs_setter(basic_format_specs<Char>& specs)
1417:       : specs_(specs) {}
1417: 
1417:   constexpr specs_setter(const specs_setter& other)
1417:       : specs_(other.specs_) {}
1417: 
1417:   constexpr void on_align(align_t align) { specs_.align = align; }
1417:   constexpr void on_fill(basic_string_view<Char> fill) {
1417:     specs_.fill = fill;
1417:   }
1417:   constexpr void on_sign(sign_t s) { specs_.sign = s; }
1417:   constexpr void on_hash() { specs_.alt = true; }
1417:   constexpr void on_localized() { specs_.localized = true; }
1417: 
1417:   constexpr void on_zero() {
1417:     if (specs_.align == align::none) specs_.align = align::numeric;
1417:     specs_.fill[0] = Char('0');
1417:   }
1417: 
1417:   constexpr void on_width(int width) { specs_.width = width; }
1417:   constexpr void on_precision(int precision) {
1417:     specs_.precision = precision;
1417:   }
1417:   constexpr void end_precision() {}
1417: 
1417:   constexpr void on_type(presentation_type type) { specs_.type = type; }
1417: };
1417: 
1417: 
1417: 
1417: template <typename ParseContext>
1417: class dynamic_specs_handler
1417:     : public specs_setter<typename ParseContext::char_type> {
1417:  public:
1417:   using char_type = typename ParseContext::char_type;
1417: 
1417:   constexpr dynamic_specs_handler(dynamic_format_specs<char_type>& specs,
1417:                                       ParseContext& ctx)
1417:       : specs_setter<char_type>(specs), specs_(specs), context_(ctx) {}
1417: 
1417:   constexpr dynamic_specs_handler(const dynamic_specs_handler& other)
1417:       : specs_setter<char_type>(other),
1417:         specs_(other.specs_),
1417:         context_(other.context_) {}
1417: 
1417:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1417:     specs_.width_ref = make_arg_ref(arg_id);
1417:   }
1417: 
1417:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1417:     specs_.precision_ref = make_arg_ref(arg_id);
1417:   }
1417: 
1417:   constexpr void on_error(const char* message) {
1417:     context_.on_error(message);
1417:   }
1417: 
1417:  private:
1417:   dynamic_format_specs<char_type>& specs_;
1417:   ParseContext& context_;
1417: 
1417:   using arg_ref_type = arg_ref<char_type>;
1417: 
1417:   constexpr auto make_arg_ref(int arg_id) -> arg_ref_type {
1417:     context_.check_arg_id(arg_id);
1417:     context_.check_dynamic_spec(arg_id);
1417:     return arg_ref_type(arg_id);
1417:   }
1417: 
1417:   constexpr auto make_arg_ref(auto_id) -> arg_ref_type {
1417:     int arg_id = context_.next_arg_id();
1417:     context_.check_dynamic_spec(arg_id);
1417:     return arg_ref_type(arg_id);
1417:   }
1417: 
1417:   constexpr auto make_arg_ref(basic_string_view<char_type> arg_id)
1417:       -> arg_ref_type {
1417:     context_.check_arg_id(arg_id);
1417:     basic_string_view<char_type> format_str(
1417:         context_.begin(), to_unsigned(context_.end() - context_.begin())) __source,
1434:    _Manager_operation __op)
1434:       {
1434:  switch (__op)
1434:    {
1434: 
1434:    case __get_type_info:
1434:      __dest._M_access<const type_info*>() = &typeid(_Functor);
1434:      break;
1434: 
1434:    case __get_functor_ptr:
1434:      __dest._M_access<_Functor*>() = _Base::_M_get_pointer(__source);
1434:      break;
1434: 
1434:    default:
1434:      _Base::_M_manager(__dest, __source, __op);
1434:    }
1434:  return false;
1434:       }
1434: 
1434:       static _Res
1434:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
1434:       {
1434:  return std::__invoke_r<_Res>(*_Base::_M_get_pointer(__functor),
1434:          std::forward<_ArgTypes>(__args)...);
1434:       }
1434: 
1434:       template<typename _Fn>
1434:  static constexpr bool
1434:  _S_nothrow_init() noexcept
1434:  {
1434:    return __and_<typename _Base::_Local_storage,
1434:    is_nothrow_constructible<_Functor, _Fn>>::value;
1434:  }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     class _Function_handler<void, void>
1434:     {
1434:     public:
1434:       static bool
1434:       _M_manager(_Any_data&, const _Any_data&, _Manager_operation)
1434:       { return false; }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Signature, typename _Functor,
1434:     bool __valid = is_object<_Functor>::value>
1434:     struct _Target_handler
1434:     : _Function_handler<_Signature, typename remove_cv<_Functor>::type>
1434:     { };
1434: 
1434:   template<typename _Signature, typename _Functor>
1434:     struct _Target_handler<_Signature, _Functor, false>
1434:     : _Function_handler<void, void>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes>
1434:     class function<_Res(_ArgTypes...)>
1434:     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
1434:       private _Function_base
1434:     {
1434: 
1434: 
1434:       template<typename _Func,
1434:         bool _Self = is_same<__remove_cvref_t<_Func>, function>::value>
1434:  using _Decay_t
1434:    = typename __enable_if_t<!_Self, decay<_Func>>::type;
1434: 
1434:       template<typename _Func,
1434:         typename _DFunc = _Decay_t<_Func>,
1434:         typename _Res2 = __invoke_result<_DFunc&, _ArgTypes...>>
1434:  struct _Callable
1434:  : __is_invocable_impl<_Res2, _Res>::type
1434:  { };
1434: 
1434:       template<typename _Cond, typename _Tp = void>
1434:  using _Requires = __enable_if_t<_Cond::value, _Tp>;
1434: 
1434:       template<typename _Functor>
1434:  using _Handler
1434:    = _Function_handler<_Res(_ArgTypes...), __decay_t<_Functor>>;
1434: 
1434:     public:
1434:       typedef _Res result_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       function() noexcept
1434:       : _Function_base() { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       function(nullptr_t) noexcept
1434:       : _Function_base() { }
1434: # 386 "/usr/include/c++/12/bits/std_function.h" 3
1434:       function(const function& __x)
1434:       : _Function_base()
1434:       {
1434:  if (static_cast<bool>(__x))
1434:    {
1434:      __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
1434:      _M_invoker = __x._M_invoker;
1434:      _M_manager = __x._M_manager;
1434:    }
1434:       }
1434: # 404 "/usr/include/c++/12/bits/std_function.h" 3
1434:       function(function&& __x) noexcept
1434:       : _Function_base(), _M_invoker(__x._M_invoker)
1434:       {
1434:  if (static_cast<bool>(__x))
1434:    {
1434:      _M_functor = __x._M_functor;
1434:      _M_manager = __x._M_manager;
1434:      __x._M_manager = nullptr;
1434:      __x._M_invoker = nullptr;
1434:    }
1434:       }
1434: # 433 "/usr/include/c++/12/bits/std_function.h" 3
1434:       template<typename _Functor,
1434:         typename _Constraints = _Requires<_Callable<_Functor>>>
1434:  function(_Functor&& __f)
1434:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1434:  : _Function_base()
1434:  {
1434:    static_assert(is_copy_constructible<__decay_t<_Functor>>::value,
1434:        "std::function target must be copy-constructible");
1434:    static_assert(is_constructible<__decay_t<_Functor>, _Functor>::value,
1434:        "std::function target must be constructible from the "
1434:        "constructor argument");
1434: 
1434:    using _My_handler = _Handler<_Functor>;
1434: 
1434:    if (_My_handler::_M_not_empty_function(__f))
1434:      {
1434:        _My_handler::_M_init_functor(_M_functor,
1434:         std::forward<_Functor>(__f));
1434:        _M_invoker = &_My_handler::_M_invoke;
1434:        _M_manager = &_My_handler::_M_manager;
1434:      }
1434:  }
1434: # 468 "/usr/include/c++/12/bits/std_function.h" 3
1434:       function&
1434:       operator=(const function& __x)
1434:       {
1434:  function(__x).swap(*this);
1434:  return *this;
1434:       }
1434: # 486 "/usr/include/c++/12/bits/std_function.h" 3
1434:       function&
1434:       operator=(function&& __x) noexcept
1434:       {
1434:  function(std::move(__x)).swap(*this);
1434:  return *this;
1434:       }
1434: # 500 "/usr/include/c++/12/bits/std_function.h" 3
1434:       function&
1434:       operator=(nullptr_t) noexcept
1434:       {
1434:  if (_M_manager)
1434:    {
1434:      _M_manager(_M_functor, _M_functor, __destroy_functor);
1434:      _M_manager = nullptr;
1434:      _M_invoker = nullptr;
1434:    }
1434:  return *this;
1434:       }
1434: # 529 "/usr/include/c++/12/bits/std_function.h" 3
1434:       template<typename _Functor>
1434:  _Requires<_Callable<_Functor>, function&>
1434:  operator=(_Functor&& __f)
1434:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1434:  {
1434:    function(std::forward<_Functor>(__f)).swap(*this);
1434:    return *this;
1434:  }
1434: 
1434: 
1434:       template<typename _Functor>
1434:  function&
1434:  operator=(reference_wrapper<_Functor> __f) noexcept
1434:  {
1434:    function(__f).swap(*this);
1434:    return *this;
1434:  }
1434: # 556 "/usr/include/c++/12/bits/std_function.h" 3
1434:       void swap(function& __x) noexcept
1434:       {
1434:  std::swap(_M_functor, __x._M_functor);
1434:  std::swap(_M_manager, __x._M_manager);
1434:  std::swap(_M_invoker, __x._M_invoker);
1434:       }
1434: # 573 "/usr/include/c++/12/bits/std_function.h" 3
1434:       explicit operator bool() const noexcept
1434:       { return !_M_empty(); }
1434: # 586 "/usr/include/c++/12/bits/std_function.h" 3
1434:       _Res
1434:       operator()(_ArgTypes... __args) const
1434:       {
1434:  if (_M_empty())
1434:    __throw_bad_function_call();
1434:  return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
1434:       }
1434: # 605 "/usr/include/c++/12/bits/std_function.h" 3
1434:       const type_info&
1434:       target_type() const noexcept
1434:       {
1434:  if (_M_manager)
1434:    {
1434:      _Any_data __typeinfo_result;
1434:      _M_manager(__typeinfo_result, _M_functor, __get_type_info);
1434:      if (auto __ti = __typeinfo_result._M_access<const type_info*>())
1434:        return *__ti;
1434:    }
1434:  return typeid(void);
1434:       }
1434: # 630 "/usr/include/c++/12/bits/std_function.h" 3
1434:       template<typename _Functor>
1434:  _Functor*
1434:  target() noexcept
1434:  {
1434:    const function* __const_this = this;
1434:    const _Functor* __func = __const_this->template target<_Functor>();
1434: 
1434: 
1434:    return *const_cast<_Functor**>(&__func);
1434:  }
1434: 
1434:       template<typename _Functor>
1434:  const _Functor*
1434:  target() const noexcept
1434:  {
1434:    if constexpr (is_object<_Functor>::value)
1434:      {
1434: 
1434: 
1434:        using _Handler = _Target_handler<_Res(_ArgTypes...), _Functor>;
1434: 
1434:        if (_M_manager == &_Handler::_M_manager
1434: 
1434:     || (_M_manager && typeid(_Functor) == target_type())
1434: 
1434:    )
1434:   {
1434:     _Any_data __ptr;
1434:     _M_manager(__ptr, _M_functor, __get_functor_ptr);
1434:     return __ptr._M_access<const _Functor*>();
1434:   }
1434:      }
1434:    return nullptr;
1434:  }
1434: 
1434: 
1434:     private:
1434:       using __fill_assign(__n, __val); }
1115: # 819 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:  void
1115:  assign(_InputIterator __first, _InputIterator __last)
1115:  { _M_assign_dispatch(__first, __last, __false_type()); }
1115: # 848 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       assign(initializer_list<value_type> __l)
1115:       {
1115:  this->_M_assign_aux(__l.begin(), __l.end(),
1115:        random_access_iterator_tag());
1115:       }
1115: 
1115: 
1115: 
1115:       using _Base::get_allocator;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       begin() noexcept
1115:       { return iterator(this->_M_impl._M_start); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return const_iterator(this->_M_impl._M_start); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       end() noexcept
1115:       { return iterator(this->_M_impl._M_finish); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       end() const noexcept
1115:       { return const_iterator(this->_M_impl._M_finish); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return reverse_iterator(end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reverse_iterator
1115:       rend() noexcept
1115:       { return reverse_iterator(begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return const_iterator(this->_M_impl._M_start); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return const_iterator(this->_M_impl._M_finish); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       size() const noexcept
1115:       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _S_max_size(_M_get_Tp_allocator()); }
1115: # 1006 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       resize(size_type __new_size)
1115:       {
1115:  if (__new_size > size())
1115:    _M_default_append(__new_size - size());
1115:  else if (__new_size < size())
1115:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
1115:       }
1115: # 1027 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       resize(size_type __new_size, const value_type& __x)
1115:       {
1115:  if (__new_size > size())
1115:    _M_fill_insert(end(), __new_size - size(), __x);
1115:  else if (__new_size < size())
1115:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
1115:       }
1115: # 1061 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115;
1417:     return arg_ref_type(arg_id);
1417:   }
1417: };
1417: 
1417: template <typename Char> constexpr bool is_ascii_letter(Char c) {
1417:   return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
1417: }
1417: 
1417: 
1417: template <typename Char, enable_if_t<(std::is_integral<Char>::value), int> = 0>
1417: constexpr auto to_ascii(Char c) -> Char {
1417:   return c;
1417: }
1417: template <typename Char, enable_if_t<(std::is_enum<Char>::value), int> = 0>
1417: constexpr auto to_ascii(Char c) -> underlying_t<Char> {
1417:   return c;
1417: }
1417: 
1417: constexpr inline auto code_point_length_impl(char c) -> int {
1417:   return "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4"
1417:       [static_cast<unsigned char>(c) >> 3];
1417: }
1417: 
1417: template <typename Char>
1417: constexpr auto code_point_length(const Char* begin) -> int {
1417:   if (const_check(sizeof(Char) != 1)) return 1;
1417:   int len = code_point_length_impl(static_cast<char>(*begin));
1417: 
1417: 
1417: 
1417: 
1417:   return len + !len;
1417: }
1417: 
1417: 
1417: template <bool IS_CONSTEXPR, typename T, typename Ptr = const T*>
1417: constexpr auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool {
1417:   for (out = first; out != last; ++out) {
1417:     if (*out == value) return true;
1417:   }
1417:   return false;
1417: }
1417: 
1417: template <>
1417: inline auto find<false, char>(const char* first, const char* last, char value,
1417:                               const char*& out) -> bool {
1417:   out = static_cast<const char*>(
1417:       std::memchr(first, value, to_unsigned(last - first)));
1417:   return out != nullptr;
1417: }
1417: 
1417: 
1417: 
1417: template <typename Char>
1417: constexpr auto parse_nonnegative_int(const Char*& begin, const Char* end,
1417:                                          int error_value) noexcept -> int {
1417:   ::fmt::detail::ignore_unused((begin != end && '0' <= *begin && *begin <= '9'), (""));
1417:   unsigned value = 0, prev = 0;
1417:   auto p = begin;
1417:   do {
1417:     prev = value;
1417:     value = value * 10 + unsigned(*p - '0');
1417:     ++p;
1417:   } while (p != end && '0' <= *p && *p <= '9');
1417:   auto num_digits = p - begin;
1417:   begin = p;
1417:   if (num_digits <= std::numeric_limits<int>::digits10)
1417:     return static_cast<int>(value);
1417: 
1417:   const unsigned max = to_unsigned((std::numeric_limits<int>::max)());
1417:   return num_digits == std::numeric_limits<int>::digits10 + 1 &&
1417:                  prev * 10ull + unsigned(p[-1] - '0') <= max
1417:              ? static_cast<int>(value)
1417:              : error_value;
1417: }
1417: 
1417: 
1417: template <typename Char, typename Handler>
1417: constexpr auto parse_align(const Char* begin, const Char* end,
1417:                                Handler&& handler) -> const Char* {
1417:   ::fmt::detail::ignore_unused((begin != end), (""));
1417:   auto align = align::none;
1417:   auto p = begin + code_point_length(begin);
1417:   if (end - p <= 0) p = begin;
1417:   for (;;) {
1417:     switch (to_ascii(*p)) {
1417:     case '<':
1417:       align = align::left;
1417:       break;
1417:     case '>':
1417:       align = align::right;
1417:       break;
1417:     case '^':
1417:       align = align::center;
1417:       break;
1417:     default:
1417:       break;
1417:     }
1417:     if (align != align::none) {
1417:       if (p != begin) {
1417:         auto c = *begin;
1417:         if (c == '{')
1417:           return handler.on_error("invalid fill character '{'"), begin;
1417:         handler.on_fill(basic_string_view<Char>(begin, to_unsigned(p - begin)));
1417:         begin = p + 1;
1417:       } else
1417:         ++begin;
1417:       handler.on_align(align);
1417:       break;
1417:     } else if (p == begin) {
1417:       break;
1417:     }
1417:     p = begin;
1417:   }
1417:   return begin;
1417: }
1417: 
1417: template <typename Char> constexpr bool is_name_start(Char c) {
1417:   return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || '_' == c;
1417: }
1417: 
1417Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
1434:       _Invoker_type _M_invoker = nullptr;
1434:     };
1434: 
1434: 
1434:   template<typename>
1434:     struct __function_guide_helper
1434:     { };
1434: 
1434:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1434:     struct __function_guide_helper<
1434:       _Res (_Tp::*) (_Args...) noexcept(_Nx)
1434:     >
1434:     { using type = _Res(_Args...); };
1434: 
1434:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1434:     struct __function_guide_helper<
1434:       _Res (_Tp::*) (_Args...) & noexcept(_Nx)
1434:     >
1434:     { using type = _Res(_Args...); };
1434: 
1434:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1434:     struct __function_guide_helper<
1434:       _Res (_Tp::*) (_Args...) const noexcept(_Nx)
1434:     >
1434:     { using type = _Res(_Args...); };
1434: 
1434:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1434:     struct __function_guide_helper<
1434:       _Res (_Tp::*) (_Args...) const & noexcept(_Nx)
1434:     >
1434:     { using type = _Res(_Args...); };
1434: 
1434:   template<typename _Res, typename... _ArgTypes>
1434:     function(_Res(*)(_ArgTypes...)) -> function<_Res(_ArgTypes...)>;
1434: 
1434:   template<typename _Functor, typename _Signature = typename
1434:     __function_guide_helper<decltype(&_Functor::operator())>::type>
1434:     function(_Functor) -> function<_Signature>;
1434: # 716 "/usr/include/c++/12/bits/std_function.h" 3
1434:   template<typename _Res, typename... _Args>
1434:     inline bool
1434:     operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1434:     { return !static_cast<bool>(__f); }
1434: 
1434: 
1434: 
1434:   template<typename _Res, typename... _Args>
1434:     inline bool
1434:     operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1434:     { return !static_cast<bool>(__f); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Res, typename... _Args>
1434:     inline bool
1434:     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1434:     { return static_cast<bool>(__f); }
1434: 
1434: 
1434:   template<typename _Res, typename... _Args>
1434:     inline bool
1434:     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1434:     { return static_cast<bool>(__f); }
1434: # 755 "/usr/include/c++/12/bits/std_function.h" 3
1434:   template<typename _Res, typename... _Args>
1434:     inline void
1434:     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   namespace __detail::__variant
1434:   {
1434:     template<typename> struct _Never_valueless_alt;
1434: 
1434: 
1434: 
1434:     template<typename _Signature>
1434:       struct _Never_valueless_alt<std::function<_Signature>>
1434:       : std::true_type
1434:       { };
1434:   }
1434: 
1434: 
1434: 
1434: }
1434: # 60 "/usr/include/c++/12/functional" 2 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/array" 1 3
1434: # 32 "/usr/include/c++/12/array" 3
1434:        
1434: # 33 "/usr/include/c++/12/array" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/compare" 1 3
1434: # 33 "/usr/include/c++/12/compare" 3
1434:        
1434: # 34 "/usr/include/c++/12/compare" 3
1434: # 39 "/usr/include/c++/12/array" 2 3
1434: # 48 "/usr/include/c++/12/array" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _Tp, std::size_t _Nm>
1434:     struct __array_traits
1434:     {
1434:       typedef _Tp _Type[_Nm];
1434:       typedef __is_swappable<_Tp> _Is_swappable;
1434:       typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable;
1434: 
1434:       static constexpr _Tp&
1434:       _S_ref(const _Type& __t, std::size_t __n) noexcept
1434:       { return const_cast<_Tp&>(__t[__n]); }
1434: 
1434:       static constexpr _Tp*
1434:       _S_ptr(const _Type& __t) noexcept
1434:       { return const_cast<_Tp*>(__t); }
1434:     };
1434: 
1434:  template<typename _Tp>
1434:    struct __array_traits<_Tp, 0>
1434:    {
1434:      struct _Type { };
1434:      typedef true_type _Is_swappable;
1434:      typedef true_type _Is_nothrow_swappable;
1434: 
1434:      static constexpr _Tp&
1434:      _S_ref(const _Type&, std::size_t) noexcept
1434:      { return *static_cast<_Tp*>(nullptr); }
1434: 
1434:      static constexpr _Tp*
1434:      _S_ptr(const _Type&) noexcept
1434:      { return nullptr; }
1434:    };
1434: # 98 "/usr/include/c++/12/array" 3
1434:   template<typename _Tp, std::size_t _Nm>
1434:     struct array
1434:     {
1434:       typedef _Tp value_type;
1434:       typedef value_type* pointer;
1434:       typedef const value_type* const_pointer;
1434:       typedef value_type& reference;
1434:       typedef const value_type& const_reference;
1434:       typedef value_type* iterator;
1434:       typedef const value_type* const_iterator;
1434:       typedef std::size_t size_type;
1434:       typedef std::ptrdiff_t difference_type;
1434:       typedef std::reverse_iterator<iterator> reverse_iterator;
1434:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1434: 
1434: 
1434:       typedef __array_traits<_Tp, _Nm> _AT_Type;
1434:       typename _AT_Type::_Type _M_elems;
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       fill(const value_type& __u)
1434:       { std::fill_n(begin(), size(), __u); }
1434: 
1434:       void
1434:       swap(array& __other)
1434:       noexcept(_AT_Type::_Is_nothrow_swappable::value)
1434:       { std::swap_ranges(begin(), end(), __other.begin()); }
1434: 
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr iterator
1434:       begin() noexcept
1434:       { return iterator(data()); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_iterator
1434:       begin() const noexcept
1434:       { return const_iterator(data()); }
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr iterator
1434:       end() noexcept
1434:       { return iterator(data() + _Nm); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_iterator
1434:       end() const noexcept
1434:       { return const_iterator(data() + _Nm); }
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr reverse_iterator
1434:       rbegin() noexcept
1434:       { return reverse_iterator(end()); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr reverse_iterator
1434:       rend() noexcept
1434:       { return reverse_iterator(begin()); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_reverse_iterator
1434:       rend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_iterator
1434:       cbegin() const noexcept
1434:       { return const_iterator(data()); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_iterator
1434:       cend() const noexcept
1434:       { return const_iterator(data() + _Nm); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_reverse_iterator
1434:       crend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr size_type
1434:       size() const noexcept { return _Nm; }
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr size_type
1434:       max_size() const noexcept { return _Nm; }
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr bool
1434:       empty() const noexcept { return size() == 0; }
1434: 
1434: 
1434:       [[__nodisca:       void
1115:       shrink_to_fit()
1115:       { _M_shrink_to_fit(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       capacity() const noexcept
1115:       { return size_type(this->_M_impl._M_end_of_storage
1115:     - this->_M_impl._M_start); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       bool
1115:       empty() const noexcept
1115:       { return begin() == end(); }
1115: # 1103 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       reserve(size_type __n);
1115: # 1119 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       [[__nodiscard__]]
1115:       reference
1115:       operator[](size_type __n) noexcept
1115:       {
1115:  ;
1115:  return *(this->_M_impl._M_start + __n);
1115:       }
1115: # 1138 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       operator[](size_type __n) const noexcept
1115:       {
1115:  ;
1115:  return *(this->_M_impl._M_start + __n);
1115:       }
1115: 
1115:     protected:
1115: 
1115:      
1115:       void
1115:       _M_range_check(size_type __n) const
1115:       {
1115:  if (__n >= this->size())
1115:    __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1115: 
1115:                             ,
1115:        __n, this->size());
1115:       }
1115: 
1115:     public:
1115: # 1171 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       reference
1115:       at(size_type __n)
1115:       {
1115:  _M_range_check(__n);
1115:  return (*this)[__n];
1115:       }
1115: # 1190 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       const_reference
1115:       at(size_type __n) const
1115:       {
1115:  _M_range_check(__n);
1115:  return (*this)[__n];
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       front() noexcept
1115:       {
1115:  ;
1115:  return *begin();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       front() const noexcept
1115:       {
1115:  ;
1115:  return *begin();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       back() noexcept
1115:       {
1115:  ;
1115:  return *(end() - 1);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       back() const noexcept
1115:       {
1115:  ;
1115:  return *(end() - 1);
1115:       }
1115: # 1253 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       [[__nodiscard__]]
1115:       _Tp*
1115:       data() noexcept
1115:       { return _M_data_ptr(this->_M_impl._M_start); }
1115: 
1115:       [[__nodiscard__]]
1115:       const _Tp*
1115:       data() const noexcept
1115:       { return _M_data_ptr(this->_M_impl._M_start); }
1115: # 1274 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       push_back(const value_type& __x)
1115:       {
1115:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1115:    {
1115:      ;
1115:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1115:          __x);
1115:      ++this->_M_impl._M_finish;
1115:      ;
1115:    }
1115:  else
1115:    _M_realloc_insert(end(), __x);
1115:       }
1115: 
1115: 
1115:      
1115:       void
1115:       push_back(value_type&& __x)
1115:       { emplace_back(std::move(__x)); }
1115: 
1115:       template<typename... _Args>
1115: 
1115: 
1115:  reference
1115: 
1115: 
1115: 
1115:  emplace_back(_Args&&... __args);
1115: # 1315 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       pop_back() noexcept
1115:       {
1115:  ;
1115:  --this->_M_impl._M_finish;
1115:  _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1115:  ;
1115:       }
1115: # 1338 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       template<typename... _Args>
1115: 
1115:  iterator
1115:  emplard__]]
1434:       constexpr reference
1434:       operator[](size_type __n) noexcept
1434:       {
1434:  ;
1434:  return _AT_Type::_S_ref(_M_elems, __n);
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_reference
1434:       operator[](size_type __n) const noexcept
1434:       {
1434: 
1434:  ;
1434: 
1434:  return _AT_Type::_S_ref(_M_elems, __n);
1434:       }
1434: 
1434:       constexpr reference
1434:       at(size_type __n)
1434:       {
1434:  if (__n >= _Nm)
1434:    std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1434:                                  ,
1434:      __n, _Nm);
1434:  return _AT_Type::_S_ref(_M_elems, __n);
1434:       }
1434: 
1434:       constexpr const_reference
1434:       at(size_type __n) const
1434:       {
1434: 
1434: 
1434:  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
1434:    : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1434:                                     ,
1434:         __n, _Nm),
1434:       _AT_Type::_S_ref(_M_elems, 0));
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr reference
1434:       front() noexcept
1434:       {
1434:  ;
1434:  return *begin();
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_reference
1434:       front() const noexcept
1434:       {
1434: 
1434:  ;
1434: 
1434:  return _AT_Type::_S_ref(_M_elems, 0);
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr reference
1434:       back() noexcept
1434:       {
1434:  ;
1434:  return _Nm ? *(end() - 1) : *end();
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_reference
1434:       back() const noexcept
1434:       {
1434: 
1434:  ;
1434: 
1434:  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
1434:              : _AT_Type::_S_ref(_M_elems, 0);
1434:       }
1434: 
1434:       [[__gnu__::__const__, __nodiscard__]]
1434:       constexpr pointer
1434:       data() noexcept
1434:       { return _AT_Type::_S_ptr(_M_elems); }
1434: 
1434:       [[__nodiscard__]]
1434:       constexpr const_pointer
1434:       data() const noexcept
1434:       { return _AT_Type::_S_ptr(_M_elems); }
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, typename... _Up>
1434:     array(_Tp, _Up...)
1434:       -> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>,
1434:         1 + sizeof...(_Up)>;
1434: 
1434: 
1434: 
1434:   template<typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:    
1434:     inline bool
1434:     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1434:     { return std::equal(__one.begin(), __one.end(), __two.begin()); }
1434: # 329 "/usr/include/c++/12/array" 3
1434:   template<typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:    
1434:     inline bool
1434:     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1434:     { return !(__one == __two); }
1434: 
1434:   template<typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:    
1434:     inline bool
1434:     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
1434:     {
1434:       return std::lexicographical_compare(__a.begin(), __a.end(),
1434:        __b.begin(), __b.end());
1434:     }
1434: 
1434:   template<typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:    
1434:     inline bool
1434:     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1434:     { return __two < __one; }
1434: 
1434:   template<typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:    
1434:     inline bool
1434:     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1434:     { return !(__one > __two); }
1434: 
1434:   template<typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:    
1434:     inline bool
1434:     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1434:     { return !(__one < __two); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, : template <typename Char, typename IDHandler>
1417: constexpr auto do_parse_arg_id(const Char* begin, const Char* end,
1417:                                    IDHandler&& handler) -> const Char* {
1417:   ::fmt::detail::ignore_unused((begin != end), (""));
1417:   Char c = *begin;
1417:   if (c >= '0' && c <= '9') {
1417:     int index = 0;
1417:     if (c != '0')
1417:       index =
1417:           parse_nonnegative_int(begin, end, (std::numeric_limits<int>::max)());
1417:     else
1417:       ++begin;
1417:     if (begin == end || (*begin != '}' && *begin != ':'))
1417:       handler.on_error("invalid format string");
1417:     else
1417:       handler(index);
1417:     return begin;
1417:   }
1417:   if (!is_name_start(c)) {
1417:     handler.on_error("invalid format string");
1417:     return begin;
1417:   }
1417:   auto it = begin;
1417:   do {
1417:     ++it;
1417:   } while (it != end && (is_name_start(c = *it) || ('0' <= c && c <= '9')));
1417:   handler(basic_string_view<Char>(begin, to_unsigned(it - begin)));
1417:   return it;
1417: }
1417: 
1417: template <typename Char, typename IDHandler>
1417: constexpr inline __attribute__((always_inline)) auto parse_arg_id(const Char* begin, const Char* end,
1417:                                            IDHandler&& handler) -> const Char* {
1417:   Char c = *begin;
1417:   if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler);
1417:   handler();
1417:   return begin;
1417: }
1417: 
1417: template <typename Char, typename Handler>
1417: constexpr auto parse_width(const Char* begin, const Char* end,
1417:                                Handler&& handler) -> const Char* {
1417:   using detail::auto_id;
1417:   struct width_adapter {
1417:     Handler& handler;
1417: 
1417:     constexpr void operator()() { handler.on_dynamic_width(auto_id()); }
1417:     constexpr void operator()(int id) { handler.on_dynamic_width(id); }
1417:     constexpr void operator()(basic_string_view<Char> id) {
1417:       handler.on_dynamic_width(id);
1417:     }
1417:     constexpr void on_error(const char* message) {
1417:       if (message) handler.on_error(message);
1417:     }
1417:   };
1417: 
1417:   ::fmt::detail::ignore_unused((begin != end), (""));
1417:   if ('0' <= *begin && *begin <= '9') {
1417:     int width = parse_nonnegative_int(begin, end, -1);
1417:     if (width != -1)
1417:       handler.on_width(width);
1417:     else
1417:       handler.on_error("number is too big");
1417:   } else if (*begin == '{') {
1417:     ++begin;
1417:     if (begin != end) begin = parse_arg_id(begin, end, width_adapter{handler});
1417:     if (begin == end || *begin != '}')
1417:       return handler.on_error("invalid format string"), begin;
1417:     ++begin;
1417:   }
1417:   return begin;
1417: }
1417: 
1417: template <typename Char, typename Handler>
1417: constexpr auto parse_precision(const Char* begin, const Char* end,
1417:                                    Handler&& handler) -> const Char* {
1417:   using detail::auto_id;
1417:   struct precision_adapter {
1417:     Handler& handler;
1417: 
1417:     constexpr void operator()() { handler.on_dynamic_precision(auto_id()); }
1417:     constexpr void operator()(int id) { handler.on_dynamic_precision(id); }
1417:     constexpr void operator()(basic_string_view<Char> id) {
1417:       handler.on_dynamic_precision(id);
1417:     }
1417:     constexpr void on_error(const char* message) {
1417:       if (message) handler.on_error(message);
1417:     }
1417:   };
1417: 
1417:   ++begin;
1417:   auto c = begin != end ? *begin : Char();
1417:   if ('0' <= c && c <= '9') {
1417:     auto precision = parse_nonnegative_int(begin, end, -1);
1417:     if (precision != -1)
1417:       handler.on_precision(precision);
1417:     else
1417:       handler.on_error("number is too big");
1417:   } else if (c == '{') {
1417:     ++begin;
1417:     if (begin != end)
1417:       begin = parse_arg_id(begin, end, precision_adapter{handler});
1417:     if (begin == end || *begin++ != '}')
1417:       return handler.on_error("invalid format string"ce(const_iterator __position, _Args&&... __args)
1115:  { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); }
1115: # 1355 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       iterator
1115:       insert(const_iterator __position, const value_type& __x);
1115: # 1386 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       iterator
1115:       insert(const_iterator __position, value_type&& __x)
1115:       { return _M_insert_rval(__position, std::move(__x)); }
1115: # 1404 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       iterator
1115:       insert(const_iterator __position, initializer_list<value_type> __l)
1115:       {
1115:  auto __offset = __position - cbegin();
1115:  _M_range_insert(begin() + __offset, __l.begin(), __l.end(),
1115:    std::random_access_iterator_tag());
1115:  return begin() + __offset;
1115:       }
1115: # 1430 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       iterator
1115:       insert(const_iterator __position, size_type __n, const value_type& __x)
1115:       {
1115:  difference_type __offset = __position - cbegin();
1115:  _M_fill_insert(begin() + __offset, __n, __x);
1115:  return begin() + __offset;
1115:       }
1115: # 1473 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:  iterator
1115:  insert(const_iterator __position, _InputIterator __first,
1115:         _InputIterator __last)
1115:  {
1115:    difference_type __offset = __position - cbegin();
1115:    _M_insert_dispatch(begin() + __offset,
1115:         __first, __last, __false_type());
1115:    return begin() + __offset;
1115:  }
1115: # 1526 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       iterator
1115: 
1115:       erase(const_iterator __position)
1115:       { return _M_erase(begin() + (__position - cbegin())); }
1115: # 1554 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       iterator
1115: 
1115:       erase(const_iterator __first, const_iterator __last)
1115:       {
1115:  const auto __beg = begin();
1115:  const auto __cbeg = cbegin();
1115:  return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
1115:       }
1115: # 1579 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:      
1115:       void
1115:       swap(vector& __x) noexcept
1115:       {
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1115:                                                           ;
1115: 
1115:  this->_M_impl._M_swap_data(__x._M_impl);
1115:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1115:       __x._M_get_Tp_allocator());
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       clear() noexcept
1115:       { _M_erase_at_end(this->_M_impl._M_start); }
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _ForwardIterator>
1115: 
1115:  pointer
1115:  _M_allocate_and_copy(size_type __n,
1115:         _ForwardIterator __first, _ForwardIterator __last)
1115:  {
1115:    pointer __result = this->_M_allocate(__n);
1115:    try
1115:      {
1115:        std::__uninitialized_copy_a(__first, __last, __result,
1115:        _M_get_Tp_allocator());
1115:        return __result;
1115:      }
1115:    catch(...)
1115:      {
1115:        _M_deallocate(__result, __n);
1115:        throw;
1115:      }
1115:  }
1115: # 1659 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1115:        std::input_iterator_tag)
1115:  {
1115:    try {
1115:      for (; __first != __last; ++__first)
1115: 
1115:        emplace_back(*__first);
1115: 
1115: 
1115: 
1115:    } catch(...) {
1115:      clear();
1115:      throw;
1115:    }
1115:  }
1115: 
1115: 
1115:       templatstd::size_t _Nm>
1434:    
1434:     inline
1434: 
1434: 
1434:     typename enable_if<
1434:       __array_traits<_Tp, _Nm>::_Is_swappable::value
1434:     >::type
1434: 
1434: 
1434: 
1434:     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
1434:     noexcept(noexcept(__one.swap(__two)))
1434:     { __one.swap(__two); }
1434: 
1434: 
1434:   template<typename _Tp, std::size_t _Nm>
1434:     typename enable_if<
1434:       !__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
1434:     swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
1434: 
1434: 
1434:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:     constexpr _Tp&
1434:     get(array<_Tp, _Nm>& __arr) noexcept
1434:     {
1434:       static_assert(_Int < _Nm, "array index is within bounds");
1434:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1434:     }
1434: 
1434:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:     constexpr _Tp&&
1434:     get(array<_Tp, _Nm>&& __arr) noexcept
1434:     {
1434:       static_assert(_Int < _Nm, "array index is within bounds");
1434:       return std::move(std::get<_Int>(__arr));
1434:     }
1434: 
1434:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:     constexpr const _Tp&
1434:     get(const array<_Tp, _Nm>& __arr) noexcept
1434:     {
1434:       static_assert(_Int < _Nm, "array index is within bounds");
1434:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1434:     }
1434: 
1434:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1434:     [[__nodiscard__]]
1434:     constexpr const _Tp&&
1434:     get(const array<_Tp, _Nm>&& __arr) noexcept
1434:     {
1434:       static_assert(_Int < _Nm, "array index is within bounds");
1434:       return std::move(std::get<_Int>(__arr));
1434:     }
1434: # 470 "/usr/include/c++/12/array" 3
1434:   template<typename _Tp, size_t _Nm>
1434:     struct tuple_size<array<_Tp, _Nm>>
1434:     : public integral_constant<size_t, _Nm> { };
1434: 
1434: 
1434:   template<size_t _Ind, typename _Tp, size_t _Nm>
1434:     struct tuple_element<_Ind, array<_Tp, _Nm>>
1434:     {
1434:       static_assert(_Ind < _Nm, "array index is in range");
1434:       using type = _Tp;
1434:     };
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:     inline constexpr size_t tuple_size_v<array<_Tp, _Nm>> = _Nm;
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:     inline constexpr size_t tuple_size_v<const array<_Tp, _Nm>> = _Nm;
1434: 
1434: 
1434:   template<typename _Tp, size_t _Nm>
1434:     struct __is_tuple_like_impl<array<_Tp, _Nm>> : true_type
1434:     { };
1434: 
1434: 
1434: }
1434: # 64 "/usr/include/c++/12/functional" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_algo.h" 1 3
1434: # 59 "/usr/include/c++/12/bits/stl_algo.h" 3
1434: # 1 "/usr/include/c++/12/bits/algorithmfwd.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1434: # 42 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 199 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1434:   template<typename _IIter, typename _Predicate>
1434:    
1434:     bool
1434:     all_of(_IIter, _IIter, _Predicate);
1434: 
1434:   template<typename _IIter, typename _Predicate>
1434:    
1434:     bool
1434:     any_of(_IIter, _IIter, _Predicate);
1434: 
1434: 
1434:   template<typename _FIter, typename _Tp>
1434:    
1434:     bool
1434:     binary_search(_FIter, _FIter, const _Tp&);
1434: 
1434:   template<typename _FIter, typename _Tp, typename _Compare>
1434:    
1434:     bool
1434:     binary_search(_FIter, _FIter, const _Tp&, _Compare);
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     const _Tp&
1434:     clamp(const _Tp&, const _Tp&, const _Tp&);
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     const _Tp&
1434:     clamp(c), begin;
1417:   } else {
1417:     return handler.on_error("missing precision specifier"), begin;
1417:   }
1417:   handler.end_precision();
1417:   return begin;
1417: }
1417: 
1417: template <typename Char>
1417: constexpr auto parse_presentation_type(Char type) -> presentation_type {
1417:   switch (to_ascii(type)) {
1417:   case 'd':
1417:     return presentation_type::dec;
1417:   case 'o':
1417:     return presentation_type::oct;
1417:   case 'x':
1417:     return presentation_type::hex_lower;
1417:   case 'X':
1417:     return presentation_type::hex_upper;
1417:   case 'b':
1417:     return presentation_type::bin_lower;
1417:   case 'B':
1417:     return presentation_type::bin_upper;
1417:   case 'a':
1417:     return presentation_type::hexfloat_lower;
1417:   case 'A':
1417:     return presentation_type::hexfloat_upper;
1417:   case 'e':
1417:     return presentation_type::exp_lower;
1417:   case 'E':
1417:     return presentation_type::exp_upper;
1417:   case 'f':
1417:     return presentation_type::fixed_lower;
1417:   case 'F':
1417:     return presentation_type::fixed_upper;
1417:   case 'g':
1417:     return presentation_type::general_lower;
1417:   case 'G':
1417:     return presentation_type::general_upper;
1417:   case 'c':
1417:     return presentation_type::chr;
1417:   case 's':
1417:     return presentation_type::string;
1417:   case 'p':
1417:     return presentation_type::pointer;
1417:   case '?':
1417:     return presentation_type::debug;
1417:   default:
1417:     return presentation_type::none;
1417:   }
1417: }
1417: 
1417: 
1417: 
1417: template <typename Char, typename SpecHandler>
1417: constexpr inline __attribute__((always_inline)) auto parse_format_specs(const Char* begin,
1417:                                                  const Char* end,
1417:                                                  SpecHandler&& handler)
1417:     -> const Char* {
1417:   if (1 < end - begin && begin[1] == '}' && is_ascii_letter(*begin) &&
1417:       *begin != 'L') {
1417:     presentation_type type = parse_presentation_type(*begin++);
1417:     if (type == presentation_type::none)
1417:       handler.on_error("invalid type specifier");
1417:     handler.on_type(type);
1417:     return begin;
1417:   }
1417: 
1417:   if (begin == end) return begin;
1417: 
1417:   begin = parse_align(begin, end, handler);
1417:   if (begin == end) return begin;
1417: 
1417: 
1417:   switch (to_ascii(*begin)) {
1417:   case '+':
1417:     handler.on_sign(sign::plus);
1417:     ++begin;
1417:     break;
1417:   case '-':
1417:     handler.on_sign(sign::minus);
1417:     ++begin;
1417:     break;
1417:   case ' ':
1417:     handler.on_sign(sign::space);
1417:     ++begin;
1417:     break;
1417:   default:
1417:     break;
1417:   }
1417:   if (begin == end) return begin;
1417: 
1417:   if (*begin == '#') {
1417:     handler.on_hash();
1417:     if (++begin == end) return begin;
1417:   }
1417: 
1417: 
1417:   if (*begin == '0') {
1417:     handler.on_zero();
1417:     if (++begin == end) return begin;
1417:   }
1417: 
1417:   begin = parse_width(begin, end, handler);
1417:   if (begin == end) return begin;
1417: 
1417: 
1417:   if (*begin == '.') {
1417:     begin = parse_precision(begin, end, handler);
1417:     if (begin == end) return begin;
1417:   }
1417: 
1417:   if (*begin == 'L') {
1417:     handler.on_localized();
1417:     ++begin;
1417:   }
1417: 
1417: 
1417:   if (begin != end && *begin != '}') {
1417:     presentation_type type = parse_presentation_type(*begin++);
1417:     if (type == presentation_type::none)
1417:       handler.on_error("invalid type specifier");
1417:     handler.on_type(type);
1417:   }
1417:   return begin;
1417: }
1417: 
1417: template <typename Char, typename Handler>
1417: constexpr auto parse_replacement_field(const Char* begin, const Char* end,
1417:                                            Handler&& handler) -> const Char* {
1417:   struct id_adapter {
1417:     Handler& handler;
1417:     int arg_id;
1417: 
1417:     constexpr void operator()() { arg_id = handler.on_arg_id(); }
1onst _Tp&, const _Tp&, const _Tp&, _Compare);
1434: 
1434: 
1434:   template<typename _IIter, typename _OIter>
1434:    
1434:     _OIter
1434:     copy(_IIter, _IIter, _OIter);
1434: 
1434:   template<typename _BIter1, typename _BIter2>
1434:    
1434:     _BIter2
1434:     copy_backward(_BIter1, _BIter1, _BIter2);
1434: 
1434: 
1434:   template<typename _IIter, typename _OIter, typename _Predicate>
1434:    
1434:     _OIter
1434:     copy_if(_IIter, _IIter, _OIter, _Predicate);
1434: 
1434:   template<typename _IIter, typename _Size, typename _OIter>
1434:    
1434:     _OIter
1434:     copy_n(_IIter, _Size, _OIter);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _FIter, typename _Tp>
1434:    
1434:     pair<_FIter, _FIter>
1434:     equal_range(_FIter, _FIter, const _Tp&);
1434: 
1434:   template<typename _FIter, typename _Tp, typename _Compare>
1434:    
1434:     pair<_FIter, _FIter>
1434:     equal_range(_FIter, _FIter, const _Tp&, _Compare);
1434: 
1434:   template<typename _FIter, typename _Tp>
1434:    
1434:     void
1434:     fill(_FIter, _FIter, const _Tp&);
1434: 
1434:   template<typename _OIter, typename _Size, typename _Tp>
1434:    
1434:     _OIter
1434:     fill_n(_OIter, _Size, const _Tp&);
1434: 
1434: 
1434: 
1434:   template<typename _FIter1, typename _FIter2>
1434:    
1434:     _FIter1
1434:     find_end(_FIter1, _FIter1, _FIter2, _FIter2);
1434: 
1434:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1434:    
1434:     _FIter1
1434:     find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _IIter, typename _Predicate>
1434:    
1434:     _IIter
1434:     find_if_not(_IIter, _IIter, _Predicate);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _IIter1, typename _IIter2>
1434:    
1434:     bool
1434:     includes(_IIter1, _IIter1, _IIter2, _IIter2);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _Compare>
1434:    
1434:     bool
1434:     includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1434: 
1434:   template<typename _BIter>
1434:     void
1434:     inplace_merge(_BIter, _BIter, _BIter);
1434: 
1434:   template<typename _BIter, typename _Compare>
1434:     void
1434:     inplace_merge(_BIter, _BIter, _BIter, _Compare);
1434: 
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     bool
1434:     is_heap(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     bool
1434:     is_heap(_RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     _RAIter
1434:     is_heap_until(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     _RAIter
1434:     is_heap_until(_RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _IIter, typename _Predicate>
1434:    
1434:     bool
1434:     is_partitioned(_IIter, _IIter, _Predicate);
1434: 
1434:   template<typename _FIter1, typename _FIter2>
1434:    
1434:     bool
1434:     is_permutation(_FIter1, _FIter1, _FIter2);
1434: 
1434:   template<typename _FIter1, typename _FIter2,
1434:     typename _BinaryPredicate>
1434:    
1434:     bool
1434:     is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate);
1434: 
1434:   template<typename _FIter>
1434:    
1434:     bool
1434:     is_sorted(_FIter, _FIter);
1434: 
1434:   template<typename _FIter, typename _Compare>
1434:    
1434:     bool
1434:     is_sorted(_FIter, _FIter, _Compare);
1434: 
1434:   template<typename _FIter>
1434:    
1434:     _FIter
1434:     is_sorted_until(_FIter, _FIter);
1434: 
1434:   template<typename _FIter, typename _Compare>
1434:    
1434:     _FIter
1434:     is_sorted_until(_FIter, _FIter, _Compare);
1434: 
1434: 
1434:   template<typename _FIter1, typename _FIter2>
1434:    
1434:     void
1434:     iter_swap(_FIter1, _FIter2);
1434: 
1434:   template<typename _FIter, typename _Tp>
1434:    
1434:     _FIter
1434:     lower_bound(_FIter, _FIter, const _Tp&);
1434: 
1434:   template<typene<typename _ForwardIterator>
1115: 
1115:  void
1115:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1115:        std::forward_iterator_tag)
1115:  {
1115:    const size_type __n = std::distance(__first, __last);
1115:    this->_M_impl._M_start
1115:      = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
1115:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1115:    this->_M_impl._M_finish =
1115:      std::__uninitialized_copy_a(__first, __last,
1115:      this->_M_impl._M_start,
1115:      _M_get_Tp_allocator());
1115:  }
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_fill_initialize(size_type __n, const value_type& __value)
1115:       {
1115:  this->_M_impl._M_finish =
1115:    std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
1115:      _M_get_Tp_allocator());
1115:       }
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_default_initialize(size_type __n)
1115:       {
1115:  this->_M_impl._M_finish =
1115:    std::__uninitialized_default_n_a(this->_M_impl._M_start, __n,
1115:         _M_get_Tp_allocator());
1115:       }
1115: # 1725 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       template<typename _Integer>
1115: 
1115:  void
1115:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1115:  { _M_fill_assign(__n, __val); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1115:       __false_type)
1115:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1115:         std::input_iterator_tag);
1115: 
1115: 
1115:       template<typename _ForwardIterator>
1115: 
1115:  void
1115:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1115:         std::forward_iterator_tag);
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_fill_assign(size_type __n, const value_type& __val);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Integer>
1115: 
1115:  void
1115:  _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
1115:       __true_type)
1115:  { _M_fill_insert(__pos, __n, __val); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_insert_dispatch(iterator __pos, _InputIterator __first,
1115:       _InputIterator __last, __false_type)
1115:  {
1115:    _M_range_insert(__pos, __first, __last,
1115:      std::__iterator_category(__first));
1115:  }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_range_insert(iterator __pos, _InputIterator __first,
1115:    _InputIterator __last, std::input_iterator_tag);
1115: 
1115: 
1115:       template<typename _ForwardIterator>
1115: 
1115:  void
1115:  _M_range_insert(iterator __pos, _ForwardIterator __first,
1115:    _ForwardIterator __last, std::forward_iterator_tag);
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_default_append(size_type __n);
1115: 
1115:      
1115:       bool
1115:       _M_shrink_to_fit();
1115: # 1824 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:       struct _Temporary_value
1115:       {
1115:  template<typename... _Args>
1115:    explicit
1115:    _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec)
1115:    {
1115:      _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(),
1115:          std::forward<_Args>(__args)...);
1115:    }
1115: 
1115: 
1115:  ~_Temporary_value()
1115:  { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); }
1115: 
1115:  value_type&
1115:  _M_val() noexcept { return _M_storage._M_val; }
1115: 
1115:       private:
1115:  _Tp*
1115:  _M_ptr() noexcept { return std::__addressof(_M_storage._M_val); }
1115: 
1115:  union _Storage
1115:  {
1115:    constexpr _Storage() : _M_byte() { }
1115:    ~_Storage() { }
1115:    _Storage& operator=(const _Storage&) = delete;
1115:    unsigned char _M_byte;
1115:    _Tp _M_val;
1115:  };
1115: 
1115:  vector* _M_this;
1115:  _Storage _M_storage;
1115:       };
1115: 
1115: 
1115: 
1115:       template<typename _Arg>
1115: 
1115:  void
1115:  _M_insert_aux(iterator __position, _Arg&& __arg);
1115: 
1115:       template<typename... _Args>
1115: 
1115:  void
1115:  _M_realloc_insert(iterator __position, _Args&&... __args);
1115: 
1115: 
1115:      
1115:       iterator
1115:       _M_insert_rval(const_iterator __position, value_type&& __v);
1115: 
1115: 
1115:       template<typename... _Args>
1115: 
1115:  iterator
1115:  _M_emplace_aux(const_iterator __position, _Args&&... __args);
1115: 
1115: 
1115:      
1115:       iterator
1115:       _M_emplace_aux(const_iterator __position, value_type&& __v)
1115:       { return _M_insert_rval(__position, std::move(__v)); }
1115: 
1115: 
1115: 
1115:      
1115:       size_type
1115:       _M_check_len(size_type __n, const char* __s) const
1115:       {
1115:  if (max_size() - size() < __n)
1115:    __throw_length_error((__s));
1115: 
1115:  const size_type __len = size() + (std::max)(size(), __n);
1115:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1115:       }
1115: 
1115: 
1115:       static size_type
1115:       _S_check_init_len(size_type __n, const allocator_type& __a)
1115:       {
1115:  if (__n > _S_max_size(_Tp_alloc_type(__a)))
1115:    __throw_length_error(
1115:        ("cannot create std::vector larger than max_size()"));
1115:  return __n;
1115:       }
1115: 
1115:       static size_type
1115:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1115:       {
1115: 
1115: 
1115: 
1115:  const size_t __diffmax
1115:    = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
1115:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1115:  return (std::min)(__diffmax, __allocmax);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_erase_at_end(pointer __pos) noexcept
1115:       {
1115:  if (size_type __n = this->_M_impl._M_finish - __pos)
1115:    {
1115:      std::_Destroy(__pos, this->_M_impl._M_finish,
1115:      _M_get_Tp_allocator());
1115:      this->_M_impl._M_finish = __pos;
1115:      ;
1115:    }
1115:       }
1115: 
1115:      
1115:       iterator
1115:       _M_erase(iterator __position);
1115: 
1115:      
1115:       iterator
1115:       _M_erase(iterator __first, iterator __last);
1115: 
1115: 
1115:     private:
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_move_assign(vector&& __x, true_type) noexcept
1115:       {
1115:  vector __tmp(get_allocator());
1115:  this->_M_impl._M_swap_data(__x._M_impl);
1115:  __tmp._M_impl._M_swap_data(__x._M_impl);
1115:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1115:       }
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       _M_move_assign(vector&& __x, false_type)
1115:       {
1115:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1115:    _M_move_assign(std::move(__x), true_type());
1115:  else
1115:    {
1115: 
1115: 
1115:      this->_M_assign_aux(std::make_move_iterator(__x.begin()),
1115:            std::make_move_iterator(__x.end()),
1115:     std::random_access_iterator_tag());
1115:      __x.clear();
1115:    }
1115:       }
1115: 
1115: 
1115:       template<typename _Up>
1115: 
1115:  _Up*
1115:  _M_data_ptr(_Up* __ptr) const noexcept
1115:  { return __ptr; }
1115: 
1115: 
1115:       template<typename _Ptr>
1115: 
1115:  typename std::pointer_traits<_Ptr>::element_type*
1115:  _M_data_ptr(_Ptr __ptr) const
1115:  { return empty() ? nullptr : std::__to_address(__ptr); }
1115: # 2010 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:     };
1115: 
1115: 
1115:   template<typename _InputIterator, typename _ValT
1115:       = typename iterator_traits<_InputIterator>::value_type,
1115:     typename _Allocator = allocator<_ValT>,
1115:     typename = _R417:     constexpr void operator()(int id) { arg_id = handler.on_arg_id(id); }
1417:     constexpr void operator()(basic_string_view<Char> id) {
1417:       arg_id = handler.on_arg_id(id);
1417:     }
1417:     constexpr void on_error(const char* message) {
1417:       if (message) handler.on_error(message);
1417:     }
1417:   };
1417: 
1417:   ++begin;
1417:   if (begin == end) return handler.on_error("invalid format string"), end;
1417:   if (*begin == '}') {
1417:     handler.on_replacement_field(handler.on_arg_id(), begin);
1417:   } else if (*begin == '{') {
1417:     handler.on_text(begin, begin + 1);
1417:   } else {
1417:     auto adapter = id_adapter{handler, 0};
1417:     begin = parse_arg_id(begin, end, adapter);
1417:     Char c = begin != end ? *begin : Char();
1417:     if (c == '}') {
1417:       handler.on_replacement_field(adapter.arg_id, begin);
1417:     } else if (c == ':') {
1417:       begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
1417:       if (begin == end || *begin != '}')
1417:         return handler.on_error("unknown format specifier"), end;
1417:     } else {
1417:       return handler.on_error("missing '}' in format string"), end;
1417:     }
1417:   }
1417:   return begin + 1;
1417: }
1417: 
1417: template <bool IS_CONSTEXPR, typename Char, typename Handler>
1417: constexpr inline __attribute__((always_inline)) void parse_format_string(
1417:     basic_string_view<Char> format_str, Handler&& handler) {
1417: 
1417:   using detail::find;
1417: 
1417:   auto begin = format_str.data();
1417:   auto end = begin + format_str.size();
1417:   if (end - begin < 32) {
1417: 
1417:     const Char* p = begin;
1417:     while (p != end) {
1417:       auto c = *p++;
1417:       if (c == '{') {
1417:         handler.on_text(begin, p - 1);
1417:         begin = p = parse_replacement_field(p - 1, end, handler);
1417:       } else if (c == '}') {
1417:         if (p == end || *p != '}')
1417:           return handler.on_error("unmatched '}' in format string");
1417:         handler.on_text(begin, p);
1417:         begin = ++p;
1417:       }
1417:     }
1417:     handler.on_text(begin, end);
1417:     return;
1417:   }
1417:   struct writer {
1417:     constexpr void operator()(const Char* from, const Char* to) {
1417:       if (from == to) return;
1417:       for (;;) {
1417:         const Char* p = nullptr;
1417:         if (!find<IS_CONSTEXPR>(from, to, Char('}'), p))
1417:           return handler_.on_text(from, to);
1417:         ++p;
1417:         if (p == to || *p != '}')
1417:           return handler_.on_error("unmatched '}' in format string");
1417:         handler_.on_text(from, p);
1417:         from = p + 1;
1417:       }
1417:     }
1417:     Handler& handler_;
1417:   } write = {handler};
1417:   while (begin != end) {
1417: 
1417: 
1417:     const Char* p = begin;
1417:     if (*begin != '{' && !find<IS_CONSTEXPR>(begin + 1, end, Char('{'), p))
1417:       return write(begin, end);
1417:     write(begin, p);
1417:     begin = parse_replacement_field(p, end, handler);
1417:   }
1417: }
1417: 
1417: template <typename T, bool = is_named_arg<T>::value> struct strip_named_arg {
1417:   using type = T;
1417: };
1417: template <typename T> struct strip_named_arg<T, true> {
1417:   using type = remove_cvref_t<decltype(T::value)>;
1417: };
1417: 
1417: template <typename T, typename ParseContext>
1417: constexpr auto parse_format_specs(ParseContext& ctx)
1417:     -> decltype(ctx.begin()) {
1417:   using char_type = typename ParseContext::char_type;
1417:   using context = buffer_context<char_type>;
1417:   using stripped_type = typename strip_named_arg<T>::type;
1417:   using mapped_type = conditional_t<
1417:       mapped_type_constant<T, context>::value != type::custom_type,
1417:       decltype(arg_mapper<context>().map(std::declval<const T&>())),
1417:       stripped_type>;
1417:   auto f = conditional_t<has_formatter<mapped_type, context>::value,
1417:                          formatter<mapped_type, char_type>,
1417:                          fallback_formatter<stripped_type,ame _FIter, typename _Tp, typename _Compare>
1434:    
1434:     _FIter
1434:     lower_bound(_FIter, _FIter, const _Tp&, _Compare);
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     void
1434:     make_heap(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     void
1434:     make_heap(_RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     const _Tp&
1434:     max(const _Tp&, const _Tp&);
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     const _Tp&
1434:     max(const _Tp&, const _Tp&, _Compare);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     const _Tp&
1434:     min(const _Tp&, const _Tp&);
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     const _Tp&
1434:     min(const _Tp&, const _Tp&, _Compare);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     pair<const _Tp&, const _Tp&>
1434:     minmax(const _Tp&, const _Tp&);
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     pair<const _Tp&, const _Tp&>
1434:     minmax(const _Tp&, const _Tp&, _Compare);
1434: 
1434:   template<typename _FIter>
1434:     constexpr
1434:     pair<_FIter, _FIter>
1434:     minmax_element(_FIter, _FIter);
1434: 
1434:   template<typename _FIter, typename _Compare>
1434:     constexpr
1434:     pair<_FIter, _FIter>
1434:     minmax_element(_FIter, _FIter, _Compare);
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     _Tp
1434:     min(initializer_list<_Tp>);
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     _Tp
1434:     min(initializer_list<_Tp>, _Compare);
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     _Tp
1434:     max(initializer_list<_Tp>);
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     _Tp
1434:     max(initializer_list<_Tp>, _Compare);
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     pair<_Tp, _Tp>
1434:     minmax(initializer_list<_Tp>);
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     pair<_Tp, _Tp>
1434:     minmax(initializer_list<_Tp>, _Compare);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _BIter>
1434:    
1434:     bool
1434:     next_permutation(_BIter, _BIter);
1434: 
1434:   template<typename _BIter, typename _Compare>
1434:    
1434:     bool
1434:     next_permutation(_BIter, _BIter, _Compare);
1434: 
1434: 
1434:   template<typename _IIter, typename _Predicate>
1434:    
1434:     bool
1434:     none_of(_IIter, _IIter, _Predicate);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _IIter, typename _RAIter>
1434:    
1434:     _RAIter
1434:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter);
1434: 
1434:   template<typename _IIter, typename _RAIter, typename _Compare>
1434:    
1434:     _RAIter
1434:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _IIter, typename _OIter1,
1434:     typename _OIter2, typename _Predicate>
1434:    
1434:     pair<_OIter1, _OIter2>
1434:     partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate);
1434: 
1434:   template<typename _FIter, typename _Predicate>
1434:    
1434:     _FIter
1434:     partition_point(_FIter, _FIter, _Predicate);
1434: 
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     void
1434:     pop_heap(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     void
1434:     pop_heap(_RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _BIter>
1434:    
1434:     bool
1434:     prev_permutation(_BIter, _BIter);
1434: 
1434:   template<typename _BIter, typename _Compare>
1434:    
1434:     bool
1434:     prev_permutation(_BIter, _BIter, _Compare);
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     void
1434:     push_heap(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     void
1434:     push_heap(_RAIter, _RAIter, _Compare);
1434: 
1434: 
1434: 
1434:   template<typename _FIter, typename _Tp>
1434:    
1434:     _FIter
1434:     remove(_FIter, _FIter, const _Tp&);
1434: 
1434:   template<typename _FIter, typename _Predicate>
1434:    
1434:     _FIter
1434:     remove_if(_FIter, _FIter, _Predicate);
1434: 
1434:   template<typename _IIter, typename _OIter, typename _Tp>
1434:    
1434:     _OIter
1434:     remove_copy(_IIter, _IIter, _OIter, const _Tp&);
1434: 
1434:   template<typename _IIter, typename _OIter, typename _Predicate>
1434:    
1434:     _OIter
1434:     remove_copy_if(_IIter, _IIter, _OIter, _Predicate);
1434: 
1434: 
1434: 
1434:   template<typename _IIter, typename _OIter, typename _Tp>
1434:    
1434:     _OIter
1434:     replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&);
1434: 
1434:   template<typename _Iter, typename _OIter, typename _Predicate, typename _Tp>
1434:    
1434:     _OIter
1434:     replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&);
1434: 
1434: 
1434: 
1434:   template<typename _BIter>
1434:    
1434:     void
1434:     reverse(_BIter, _BIter);
1434: 
1434:   template<typename _BIter, typename _OIter>
1434:    
1434:     _OIter
1434:     reverse_copy(_BIter, _BIter, _OIter);
1434: 
1434:   inline namespace _V2
1434:   {
1434:     template<typename _FIter>
1434:      
1434:       _FIter
1434:       rotate(_FIter, _FIter, _FIter);
1434:   }
1434: 
1434:   template<typename _FIter, typename _OIter>
1434:    
1434:     _OIter
1434:     rotate_copy(_FIter, _FIter, _FIter, _OIter);
1434: # 625 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1434:   template<typename _RAIter, typename _UGenerator>
1434:     void
1434:     shuffle(_RAIter, _RAIter, _UGenerator&&);
1434: 
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     void
1434:     sort_heap(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     void
1434:     sort_heap(_RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _BIter, typename _Predicate>
1434:     _BIter
1434:     stable_partition(_BIter, _BIter, _Predicate);
1434: # 658 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1434:   template<typename _FIter1, typename _FIter2>
1434:    
1434:     _FIter2
1434:     swap_ranges(_FIter1, _FIter1, _FIter2);
1434: 
1434: 
1434: 
1434:   template<typename _FIter>
1434:    
1434:     _FIter
1434:     unique(_FIter, _FIter);
1434: 
1434:   template<typename _FIter, typename _BinaryPredicate>
1434:    
1434:     _FIter
1434:     unique(_FIter, _FIter, _BinaryPredicate);
1434: 
1434: 
1434: 
1434:   template<typename _FIter, typename _Tp>
1434:    
1434:     _FIter
1434:     upper_bound(_FIter, _FIter, const _Tp&);
1434: 
1434:   template<typename _FIter, typename _Tp, typename _Compare>
1434:    
1434:     _FIter
1434:     upper_bound(_FIter, _FIter, const _Tp&, _Compare);
1434: 
1434: 
1434: 
1434:   template<typename _FIter>
1434:    
1434:     _FIter
1434:     adjacent_find(_FIter, _FIter);
1434: 
1434:   template<typename _FIter, typename _BinaryPredicate>
1434:    
1434:     _FIter
1434:     adjacent_find(_FIter, _FIter, _BinaryPredicate);
1434: 
1434:   template<typename _IIter, typename _Tp>
1434:    
1434:     typename iterator_traits<_IIter>::difference_type
1434:     count(_IIter, _IIter, const _Tp&);
1434: 
1434:   template<typename _IIter, typename _Predicate>
1434:    
1434:     typename iterator_traits<_IIter>::difference_type
1434:     count_if(_IIter, _IIter, _Predicate);
1434: 
1434:   template<typename _IIter1, typename _IIter2>
1434:    
1434:     bool
1434:     equal(_IIter1, _IIter1, _IIter2);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1434:    
1434:     bool
1434:     equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1434: 
1434:   template<typename _IIter, typename _Tp>
1434:    
1434:     _IIter
1434:     find(_IIter, _IIter, const _Tp&);
1434: 
1434:   template<typename _FIter1, typename _FIter2>equireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     vector(_InputIterator, _InputIterator, _Allocator = _Allocator())
1115:       -> vector<_ValT, _Allocator>;
1115: # 2032 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     inline bool
1115:     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1115:     { return (__x.size() == __y.size()
1115:        && std::equal(__x.begin(), __x.end(), __y.begin())); }
1115: # 2072 "/usr/include/c++/12/bits/stl_vector.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     inline bool
1115:     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1115:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1115:        __y.begin(), __y.end()); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     inline bool
1115:     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     inline bool
1115:     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     inline bool
1115:     operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     inline bool
1115:     operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     inline void
1115:     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: 
1115:   namespace __detail::__variant
1115:   {
1115:     template<typename> struct _Never_valueless_alt;
1115: 
1115: 
1115: 
1115:     template<typename _Tp, typename _Alloc>
1115:       struct _Never_valueless_alt<std::vector<_Tp, _Alloc>>
1115:       : std::is_nothrow_move_assignable<std::vector<_Tp, _Alloc>>
1115:       { };
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/vector" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_bvector.h" 1 3
1115: # 64 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   typedef unsigned long _Bit_type;
1115:   enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
1115: 
1115:   __attribute__((__nonnull__))
1115:  
1115:   void
1115:   __fill_bvector_n(_Bit_type*, size_t, bool) noexcept;
1115: 
1115: 
1115: 
1115:   struct _Bit_reference
1115:   {
1115:     _Bit_type * _M_p;
1115:     _Bit_type _M_mask;
1115: 
1115:    
1115:     _Bit_reference(_Bit_type * __x, _Bit_type __y)
1115:     : _M_p(__x), _M_mask(__y) { }
1115: 
1115:    
1115:     _Bit_reference() noexcept : _M_p(0), _M_mask(0) { }
1115: 
1115: 
1115:     _Bit_reference(const _Bit_reference&) = default;
1115: 
1115: 
1115:     [[__nodiscard__]]
1115:     operator bool() const noexcept
1115:     { return !!(*_M_p & _M_mask); }
1115: 
1115:    
1115:     _Bit_reference&
1115:     operator=(bool __x) noexcept
1115:     {
1115:       if (__x)
1115:  *_M_p |= _M_mask;
1115:       else
1115:  *_M_p &= ~_M_mask;
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     _Bit_reference&
1115:     operator=(const _Bit_reference& __x) noexcept
1115:     { return *this = bool(__x); }
1115: 
1115:     [[__nodiscard__]]
1115:     bool
1115:     operator==(const _Bit_reference& __x) const
1115:     { return bool(*this) == bool(__x); }
1115: 
1115:     [[__nodiscard__]]
1115:     bool
1115:     operator<(const _Bit_reference& __x) const
1115:     { return !bool(*this) && bool(__x); }
1115: 
1115:    
1115:     void
1115:     flip() noexcept
1115:     { *_M_p ^= _M_mask; }
1115: 
1115: 
1115:    
1115:     friend void
1115:     swa char_type>>();
1417:   return f.parse(ctx);
1417: }
1417: 
1417: template <typename ErrorHandler>
1417: constexpr void check_int_type_spec(presentation_type type,
1417:                                        ErrorHandler&& eh) {
1417:   if (type > presentation_type::bin_upper && type != presentation_type::chr)
1417:     eh.on_error("invalid type specifier");
1417: }
1417: 
1417: 
1417: template <typename Char, typename ErrorHandler = error_handler>
1417: constexpr auto check_char_specs(const basic_format_specs<Char>& specs,
1417:                                     ErrorHandler&& eh = {}) -> bool {
1417:   if (specs.type != presentation_type::none &&
1417:       specs.type != presentation_type::chr &&
1417:       specs.type != presentation_type::debug) {
1417:     check_int_type_spec(specs.type, eh);
1417:     return false;
1417:   }
1417:   if (specs.align == align::numeric || specs.sign != sign::none || specs.alt)
1417:     eh.on_error("invalid format specifier for char");
1417:   return true;
1417: }
1417: 
1417: 
1417: enum class float_format : unsigned char {
1417:   general,
1417:   exp,
1417:   fixed,
1417:   hex
1417: };
1417: 
1417: struct float_specs {
1417:   int precision;
1417:   float_format format : 8;
1417:   sign_t sign : 8;
1417:   bool upper : 1;
1417:   bool locale : 1;
1417:   bool binary32 : 1;
1417:   bool showpoint : 1;
1417: };
1417: 
1417: template <typename ErrorHandler = error_handler, typename Char>
1417: constexpr auto parse_float_type_spec(const basic_format_specs<Char>& specs,
1417:                                          ErrorHandler&& eh = {})
1417:     -> float_specs {
1417:   auto result = float_specs();
1417:   result.showpoint = specs.alt;
1417:   result.locale = specs.localized;
1417:   switch (specs.type) {
1417:   case presentation_type::none:
1417:     result.format = float_format::general;
1417:     break;
1417:   case presentation_type::general_upper:
1417:     result.upper = true;
1417:     [[fallthrough]];
1417:   case presentation_type::general_lower:
1417:     result.format = float_format::general;
1417:     break;
1417:   case presentation_type::exp_upper:
1417:     result.upper = true;
1417:     [[fallthrough]];
1417:   case presentation_type::exp_lower:
1417:     result.format = float_format::exp;
1417:     result.showpoint |= specs.precision != 0;
1417:     break;
1417:   case presentation_type::fixed_upper:
1417:     result.upper = true;
1417:     [[fallthrough]];
1417:   case presentation_type::fixed_lower:
1417:     result.format = float_format::fixed;
1417:     result.showpoint |= specs.precision != 0;
1417:     break;
1417:   case presentation_type::hexfloat_upper:
1417:     result.upper = true;
1417:     [[fallthrough]];
1417:   case presentation_type::hexfloat_lower:
1417:     result.format = float_format::hex;
1417:     break;
1417:   default:
1417:     eh.on_error("invalid type specifier");
1417:     break;
1417:   }
1417:   return result;
1417: }
1417: 
1417: template <typename ErrorHandler = error_handler>
1417: constexpr auto check_cstring_type_spec(presentation_type type,
1417:                                            ErrorHandler&& eh = {}) -> bool {
1417:   if (type == presentation_type::none || type == presentation_type::string ||
1417:       type == presentation_type::debug)
1417:     return true;
1417:   if (type != presentation_type::pointer) eh.on_error("invalid type specifier");
1417:   return false;
1417: }
1417: 
1417: template <typename ErrorHandler = error_handler>
1417: constexpr void check_string_type_spec(presentation_type type,
1417:                                           ErrorHandler&& eh = {}) {
1417:   if (type != presentation_type::none && type != presentation_type::string &&
1417:       type != presentation_type::debug)
1417:     eh.on_error("invalid type specifier");
1417: }
1417: 
1417: template <typename ErrorHandler>
1417: constexpr void check_pointer_type_spec(presentation_type type,
1417:                                            ErrorHandler&& eh) {
1417:   if (type != presentation_type::none && type != presentation_type:
1434:    
1434:     _FIter1
1434:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2);
1434: 
1434:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1434:    
1434:     _FIter1
1434:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1434: 
1434:   template<typename _IIter, typename _Predicate>
1434:    
1434:     _IIter
1434:     find_if(_IIter, _IIter, _Predicate);
1434: 
1434:   template<typename _IIter, typename _Funct>
1434:    
1434:     _Funct
1434:     for_each(_IIter, _IIter, _Funct);
1434: 
1434:   template<typename _FIter, typename _Generator>
1434:    
1434:     void
1434:     generate(_FIter, _FIter, _Generator);
1434: 
1434:   template<typename _OIter, typename _Size, typename _Generator>
1434:    
1434:     _OIter
1434:     generate_n(_OIter, _Size, _Generator);
1434: 
1434:   template<typename _IIter1, typename _IIter2>
1434:    
1434:     bool
1434:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _Compare>
1434:    
1434:     bool
1434:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1434: 
1434:   template<typename _FIter>
1434:     constexpr
1434:     _FIter
1434:     max_element(_FIter, _FIter);
1434: 
1434:   template<typename _FIter, typename _Compare>
1434:     constexpr
1434:     _FIter
1434:     max_element(_FIter, _FIter, _Compare);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter>
1434:    
1434:     _OIter
1434:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter,
1434:     typename _Compare>
1434:    
1434:     _OIter
1434:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1434: 
1434:   template<typename _FIter>
1434:     constexpr
1434:     _FIter
1434:     min_element(_FIter, _FIter);
1434: 
1434:   template<typename _FIter, typename _Compare>
1434:     constexpr
1434:     _FIter
1434:     min_element(_FIter, _FIter, _Compare);
1434: 
1434:   template<typename _IIter1, typename _IIter2>
1434:    
1434:     pair<_IIter1, _IIter2>
1434:     mismatch(_IIter1, _IIter1, _IIter2);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1434:    
1434:     pair<_IIter1, _IIter2>
1434:     mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     void
1434:     nth_element(_RAIter, _RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     void
1434:     nth_element(_RAIter, _RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     void
1434:     partial_sort(_RAIter, _RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     void
1434:     partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _BIter, typename _Predicate>
1434:    
1434:     _BIter
1434:     partition(_BIter, _BIter, _Predicate);
1434: 
1434:   template<typename _RAIter>
1434:     void
1434:     random_shuffle(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Generator>
1434:     void
1434:     random_shuffle(_RAIter, _RAIter,
1434: 
1434:      _Generator&&);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _FIter, typename _Tp>
1434:    
1434:     void
1434:     replace(_FIter, _FIter, const _Tp&, const _Tp&);
1434: 
1434:   template<typename _FIter, typename _Predicate, typename _Tp>
1434:    
1434:     void
1434:     replace_if(_FIter, _FIter, _Predicate, const _Tp&);
1434: 
1434:   template<typename _FIter1, typename _FIter2>
1434:    
1434:     _FIter1
1434:     search(_FIter1, _FIter1, _FIter2, _FIter2);
1434: 
1434:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1434:    
1434:     _FIter1
1434:     search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1434: 
1434:   template<typename _FIter, typename _Size, typename _Tp>
1434:    
1434:     _FIter
1434:     search_n(_FIter, _FIter, _Size, const _Tp&);
1434: 
1434:   template<typename _FIter, typename _Size, typename _Tp,
1434:     typename _BinaryPredicate>
1434:    
1434:     _FIter
1434:     search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter>
1434:    
1434:     _OIter
1434:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter,
1434:     typename _Compare>
1434:    
1434:     _OIter
1434:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter>
1434:    
1434:     _OIter
1434:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter,
1434:     typename _Compare>
1434:    
1434:     _OIter
1434:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter>
1434:    
1434:     _OIter
1434:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter,
1434:     typename _Compare>
1434:    
1434:     _OIter
1434:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2,
1434:         _OIter, _Compare);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter>
1434:    
1434:     _OIter
1434:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter,
1434:     typename _Compare>
1434:    
1434:     _OIter
1434:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1434: 
1434:   template<typename _RAIter>
1434:    
1434:     void
1434:     sort(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:    
1434:     void
1434:     sort(_RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _RAIter>
1434:     void
1434:     stable_sort(_RAIter, _RAIter);
1434: 
1434:   template<typename _RAIter, typename _Compare>
1434:     void
1434:     stable_sort(_RAIter, _RAIter, _Compare);
1434: 
1434:   template<typename _IIter, typename _OIter, typename _UnaryOperation>
1434:    
1434:     _OIter
1434:     transform(_IIter, _IIter, _OIter, _UnaryOperation);
1434: 
1434:   template<typename _IIter1, typename _IIter2, typename _OIter,
1434:     typename _BinaryOperation>
1434:    
1434:     _OIter
1434:     transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation);
1434: 
1434:   template<typename _IIter, typename _OIter>
1434:    
1434:     _OIter
1434:     unique_copy(_IIter, _IIter, _OIter);
1434: 
1434:   template<typename _IIter, typename _OIter, typename _BinaryPredicate>
1434:    
1434:     _OIter
1434:     unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
1434: 
1434: 
1434: 
1434: }
1434: # 60 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1434: # 1 "/usr/include/c++/12/bits/stl_heap.h" 1 3
1434: # 63 "/usr/include/c++/12/bits/stl_heap.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Distance,
1434:     typename _Compare>
1434:    
1434:     _Distance
1434:     __is_heap_until(_RandomAccessIterator __first, _Distance __n,
1434:       _Compare& __comp)
1434:     {
1434:       _Distance __parent = 0;
1434:       for (_Distance __child = 1; __child < __n; ++__child)
1434:  {
1434:    if (__comp(__first + __parent, __first + __child))
1434:      return __child;
1434:    if ((__child & 1) == 0)
1434:      ++__parent;
1434:  }
1434:       return __n;
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Distance>
1434:    
1434:     inline bool
1434:     __is_heap(_RandomAccessIterator __first, _Distance __n)
1434:     {
1434:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1434:   p(_Bit_reference __x, _Bit_reference __y) noexcept
1115:     {
1115:       bool __tmp = __x;
1115:       __x = __y;
1115:       __y = __tmp;
1115:     }
1115: 
1115:    
1115:     friend void
1115:     swap(_Bit_reference __x, bool& __y) noexcept
1115:     {
1115:       bool __tmp = __x;
1115:       __x = __y;
1115:       __y = __tmp;
1115:     }
1115: 
1115:    
1115:     friend void
1115:     swap(bool& __x, _Bit_reference __y) noexcept
1115:     {
1115:       bool __tmp = __x;
1115:       __x = __y;
1115:       __y = __tmp;
1115:     }
1115: 
1115:   };
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:   struct _Bit_iterator_base
1115:   : public std::iterator<std::random_access_iterator_tag, bool>
1115:   {
1115:     _Bit_type * _M_p;
1115:     unsigned int _M_offset;
1115: 
1115:    
1115:     _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
1115:     : _M_p(__x), _M_offset(__y) { }
1115: 
1115:    
1115:     void
1115:     _M_bump_up()
1115:     {
1115:       if (_M_offset++ == int(_S_word_bit) - 1)
1115:  {
1115:    _M_offset = 0;
1115:    ++_M_p;
1115:  }
1115:     }
1115: 
1115:    
1115:     void
1115:     _M_bump_down()
1115:     {
1115:       if (_M_offset-- == 0)
1115:  {
1115:    _M_offset = int(_S_word_bit) - 1;
1115:    --_M_p;
1115:  }
1115:     }
1115: 
1115:    
1115:     void
1115:     _M_incr(ptrdiff_t __i)
1115:     {
1115:       difference_type __n = __i + _M_offset;
1115:       _M_p += __n / int(_S_word_bit);
1115:       __n = __n % int(_S_word_bit);
1115:       if (__n < 0)
1115:  {
1115:    __n += int(_S_word_bit);
1115:    --_M_p;
1115:  }
1115:       _M_offset = static_cast<unsigned int>(__n);
1115:     }
1115: 
1115:     [[__nodiscard__]]
1115:     friend bool
1115:     operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1115:     { return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; }
1115: # 225 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:     [[__nodiscard__]]
1115:     friend bool
1115:     operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1115:     {
1115:       return __x._M_p < __y._M_p
1115:      || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset);
1115:     }
1115: 
1115:     [[__nodiscard__]]
1115:     friend bool
1115:     operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1115:     { return !(__x == __y); }
1115: 
1115:     [[__nodiscard__]]
1115:     friend bool
1115:     operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1115:     { return __y < __x; }
1115: 
1115:     [[__nodiscard__]]
1115:     friend bool
1115:     operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1115:     { return !(__y < __x); }
1115: 
1115:     [[__nodiscard__]]
1115:     friend bool
1115:     operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115:     friend ptrdiff_t
1115:     operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
1115:     {
1115:       return (int(_S_word_bit) * (__x._M_p - __y._M_p)
1115:        + __x._M_offset - __y._M_offset);
1115:     }
1115:   };
1115: #pragma GCC diagnostic pop
1115: 
1115:   struct _Bit_iterator : public _Bit_iterator_base
1115:   {
1115:     typedef _Bit_reference reference;
1115: 
1115: 
1115: 
1115:     typedef _Bit_reference* pointer;
1115: 
1115:     typedef _Bit_iterator iterator;
1115: 
1115:    
1115:     _Bit_iterator() : _Bit_iterator_base(0, 0) { }
1115: 
1115:    
1115:     _Bit_iterator(_Bit_type * __x, unsigned int __y)
1115:     : _Bit_iterator_base(__x, __y) { }
1115: 
1115:    
1115:     iterator
1115:     _M_const_cast() const
1115:     { return *this; }
1115: 
1115:     [[__nodiscard__]]
1115:     reference
1115:     operator*() const
1115:     { return reference(_M_p, 1UL << _M_offset); }
1115: 
1115:    
1115:     iterator&
1115:     operator++()
1115:     {
1115:       _M_bump_up();
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     ite:pointer)
1417:     eh.on_error("invalid type specifier");
1417: }
1417: 
1417: 
1417: 
1417: template <typename Handler> class specs_checker : public Handler {
1417:  private:
1417:   detail::type arg_type_;
1417: 
1417:   constexpr void require_numeric_argument() {
1417:     if (!is_arithmetic_type(arg_type_))
1417:       this->on_error("format specifier requires numeric argument");
1417:   }
1417: 
1417:  public:
1417:   constexpr specs_checker(const Handler& handler, detail::type arg_type)
1417:       : Handler(handler), arg_type_(arg_type) {}
1417: 
1417:   constexpr void on_align(align_t align) {
1417:     if (align == align::numeric) require_numeric_argument();
1417:     Handler::on_align(align);
1417:   }
1417: 
1417:   constexpr void on_sign(sign_t s) {
1417:     require_numeric_argument();
1417:     if (is_integral_type(arg_type_) && arg_type_ != type::int_type &&
1417:         arg_type_ != type::long_long_type && arg_type_ != type::int128_type &&
1417:         arg_type_ != type::char_type) {
1417:       this->on_error("format specifier requires signed argument");
1417:     }
1417:     Handler::on_sign(s);
1417:   }
1417: 
1417:   constexpr void on_hash() {
1417:     require_numeric_argument();
1417:     Handler::on_hash();
1417:   }
1417: 
1417:   constexpr void on_localized() {
1417:     require_numeric_argument();
1417:     Handler::on_localized();
1417:   }
1417: 
1417:   constexpr void on_zero() {
1417:     require_numeric_argument();
1417:     Handler::on_zero();
1417:   }
1417: 
1417:   constexpr void end_precision() {
1417:     if (is_integral_type(arg_type_) || arg_type_ == type::pointer_type)
1417:       this->on_error("precision not allowed for this argument type");
1417:   }
1417: };
1417: 
1417: constexpr int invalid_arg_index = -1;
1417: # 2924 "/usr/include/fmt/core.h" 3 4
1417: template <typename... Args, typename Char>
1417: constexpr auto get_arg_index_by_name(basic_string_view<Char> name) -> int {
1417: 
1417: 
1417: 
1417: 
1417:   (void)name;
1417:   return invalid_arg_index;
1417: }
1417: 
1417: template <typename Char, typename ErrorHandler, typename... Args>
1417: class format_string_checker {
1417:  private:
1417: 
1417: 
1417: 
1417:   using parse_context_type = compile_parse_context<Char, ErrorHandler>;
1417:   static constexpr int num_args = sizeof...(Args);
1417: 
1417: 
1417:   using parse_func = const Char* (*)(parse_context_type&);
1417: 
1417:   parse_context_type context_;
1417:   parse_func parse_funcs_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1417:   type types_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1417: 
1417:  public:
1417:   explicit constexpr format_string_checker(
1417:       basic_string_view<Char> format_str, ErrorHandler eh)
1417:       : context_(format_str, num_args, types_, eh),
1417:         parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
1417:         types_{
1417:             mapped_type_constant<Args,
1417:                                  basic_format_context<Char*, Char>>::value...} {
1417:   }
1417: 
1417:   constexpr void on_text(const Char*, const Char*) {}
1417: 
1417:   constexpr auto on_arg_id() -> int { return context_.next_arg_id(); }
1417:   constexpr auto on_arg_id(int id) -> int {
1417:     return context_.check_arg_id(id), id;
1417:   }
1417:   constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     (void)id;
1417:     on_error("compile-time checks for named arguments require C++20 support");
1417:     return 0;
1417: 
1417:   }
1417: 
1417:   constexpr void on_replacement_field(int, const Char*) {}
1417: 
1417:   constexpr auto on_format_specs(int id, const Char* begin, const Char*)
1417:       -> const Char* {
1417:     context_.advance_to(context_.begin() + (begin - &*context_.begin()));
1417: 
1417:     return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin;
1417:   }
1417: 
1417:   constexpr void on_error(const char* message) {
1417:     context_.on_error(message);
1417:   }
1417: };
1417: 
1417: 
1417: template <typename..., typename S, e    return std::__is_heap_until(__first, __n, __comp) == __n;
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare,
1434:     typename _Distance>
1434:    
1434:     inline bool
1434:     __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n)
1434:     {
1434:       typedef __decltype(__comp) _Cmp;
1434:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1434:       return std::__is_heap_until(__first, __n, __cmp) == __n;
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline bool
1434:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     { return std::__is_heap(__first, std::distance(__first, __last)); }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline bool
1434:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:        _Compare __comp)
1434:     {
1434:       return std::__is_heap(__first, std::move(__comp),
1434:        std::distance(__first, __last));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
1434:     typename _Compare>
1434:    
1434:     void
1434:     __push_heap(_RandomAccessIterator __first,
1434:   _Distance __holeIndex, _Distance __topIndex, _Tp __value,
1434:   _Compare& __comp)
1434:     {
1434:       _Distance __parent = (__holeIndex - 1) / 2;
1434:       while (__holeIndex > __topIndex && __comp(__first + __parent, __value))
1434:  {
1434:    *(__first + __holeIndex) = std::move(*(__first + __parent));
1434:    __holeIndex = __parent;
1434:    __parent = (__holeIndex - 1) / 2;
1434:  }
1434:       *(__first + __holeIndex) = std::move(__value);
1434:     }
1434: # 159 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline void
1434:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1434:    _ValueType;
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:    _DistanceType;
1434: 
1434: 
1434:      
1434: 
1434:      
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       __gnu_cxx::__ops::_Iter_less_val __comp;
1434:       _ValueType __value = std::move(*(__last - 1));
1434:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1434:          _DistanceType(0), std::move(__value), __comp);
1434:     }
1434: # 195 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:        _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1434:    _ValueType;
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:    _DistanceType;
1434: 
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
1434:  __cmp(std::move(__comp));
1434:       _ValueType __value = std::move(*(__last - 1));
1434:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1434:          _DistanceType(0), std::move(__value), __cmp);
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Distance,
1434:     typename _Tp, typename _Compare>
1434:    
1434:     void
1434:     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
1434:     _Distance __len, _Tp __value, _Compare __comp)
1434:     {
1434:       const _Distance __topIndex = __holeIndex;
1434:       _Distance __secondChild = __holeIndex;
1434:       while (__secondChild < (__len - 1) / 2)
1434:  {
1434:    __secondChild = 2 * (__secondChild + 1);
1434:    if (__comp(__first + __secondChild,
1434:        __first + (__secondChild - 1)))
1434:      __secondChild--;
1434:    *(__first + __holeIndex) = std::move(*(__first + __secondChild));
1434:    __holeIndex = __secondChild;
1434:  }
1434:       if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2)
1434:  {
1434:    __secondChild = 2 * (__secondChild + 1);
1434:    *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1)))
1434:                                   ;
1434:    __holeIndex = __secondChild - 1;
1434:  }
1434:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
1434:  __cmp(std::move(__comp));
1434:       std::__push_heap(__first, __holeIndex, __topIndex,
1434:          std::move(__value), __cmp);
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:         _RandomAccessIterator __result, _Compare& __comp)
1434:     {
1434:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1434:  _ValueType;
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:  _DistanceType;
1434: 
1434:       _ValueType __value = std::move(*__result);
1434:       *__result = std::move(*__first);
1434:       std::__adjust_heap(__first, _DistanceType(0),
1434:     _DistanceType(__last - __first),
1434:     std::move(__value), __comp);
1434:     }
1434: # 280 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline void
1434:     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       if (__last - __first > 1)
1434:  {
1434:    --__last;
1434:    __gnu_cxx::__ops::_Iter_less_iter __comp;
1434:    std::__pop_heap(__first, __last, __last, __comp);
1434:  }
1434:     }
1434: # 314 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     pop_heap(_RandomAccessIterator __first,
1434:       _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       if (__last - __first > 1)
1434:  {
1434:    typedef __decltype(__comp) _Cmp;
1434:    __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1434:    --__last;
1434:    std::__pop_heap(__first, __last, __last, __cmp);
1434:  }
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     void
1434:     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:   _Compare& __comp)
1434:     {
1434:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1434:    _ValueType;
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:    _DistanceType;
1434: 
1434:       if (__last - __first < 2)
1434:  return;
1434: 
1434:       const _DistanceType __len = __last - __first;
1434:       _DistanceType __parent = (__len - 2) / 2;
1434:       while (true)
1434:  {
1434:    _ValueType __value = std::move(*(__first + __parent));
1434:    std::__adjust_heap(__first, __parent, __len, std::move(__value),
1434:         __comp);
1434:    if (__parent == 0)
1434:      return;
1434:    __parent--;
1434:  }
1434:     }
1434: # 372 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline void
1434:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1434:       std::__make_heap(__first, __last, __comp);
1434:     }
1434: # 399 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __rator
1115:     operator++(int)
1115:     {
1115:       iterator __tmp = *this;
1115:       _M_bump_up();
1115:       return __tmp;
1115:     }
1115: 
1115:    
1115:     iterator&
1115:     operator--()
1115:     {
1115:       _M_bump_down();
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     iterator
1115:     operator--(int)
1115:     {
1115:       iterator __tmp = *this;
1115:       _M_bump_down();
1115:       return __tmp;
1115:     }
1115: 
1115:    
1115:     iterator&
1115:     operator+=(difference_type __i)
1115:     {
1115:       _M_incr(__i);
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     iterator&
1115:     operator-=(difference_type __i)
1115:     {
1115:       *this += -__i;
1115:       return *this;
1115:     }
1115: 
1115:     [[__nodiscard__]]
1115:     reference
1115:     operator[](difference_type __i) const
1115:     { return *(*this + __i); }
1115: 
1115:     [[__nodiscard__]]
1115:     friend iterator
1115:     operator+(const iterator& __x, difference_type __n)
1115:     {
1115:       iterator __tmp = __x;
1115:       __tmp += __n;
1115:       return __tmp;
1115:     }
1115: 
1115:     [[__nodiscard__]]
1115:     friend iterator
1115:     operator+(difference_type __n, const iterator& __x)
1115:     { return __x + __n; }
1115: 
1115:     [[__nodiscard__]]
1115:     friend iterator
1115:     operator-(const iterator& __x, difference_type __n)
1115:     {
1115:       iterator __tmp = __x;
1115:       __tmp -= __n;
1115:       return __tmp;
1115:     }
1115:   };
1115: 
1115:   struct _Bit_const_iterator : public _Bit_iterator_base
1115:   {
1115:     typedef bool reference;
1115:     typedef bool const_reference;
1115: 
1115: 
1115: 
1115:     typedef const bool* pointer;
1115: 
1115:     typedef _Bit_const_iterator const_iterator;
1115: 
1115:    
1115:     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
1115: 
1115:    
1115:     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
1115:     : _Bit_iterator_base(__x, __y) { }
1115: 
1115:    
1115:     _Bit_const_iterator(const _Bit_iterator& __x)
1115:     : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
1115: 
1115:    
1115:     _Bit_iterator
1115:     _M_const_cast() const
1115:     { return _Bit_iterator(_M_p, _M_offset); }
1115: 
1115:     [[__nodiscard__]]
1115:     const_reference
1115:     operator*() const
1115:     { return _Bit_reference(_M_p, 1UL << _M_offset); }
1115: 
1115:    
1115:     const_iterator&
1115:     operator++()
1115:     {
1115:       _M_bump_up();
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     const_iterator
1115:     operator++(int)
1115:     {
1115:       const_iterator __tmp = *this;
1115:       _M_bump_up();
1115:       return __tmp;
1115:     }
1115: 
1115:    
1115:     const_iterator&
1115:     operator--()
1115:     {
1115:       _M_bump_down();
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     const_iterator
1115:     operator--(int)
1115:     {
1115:       const_iterator __tmp = *this;
1115:       _M_bump_down();
1115:       return __tmp;
1115:     }
1115: 
1115:    
1115:     const_iterator&
1115:     operator+=(difference_type __i)
1115:     {
1115:       _M_incr(__i);
1115:       return *this;
1115:     }
1115: 
1115:    
1115:     const_iterator&
1115:     operator-=(difference_type __i)
1115:     {
1115:       *this += -__i;
1115:       return *this;
1115:     }
1115: 
1115:     [[__nodiscard__]]
1115:     const_reference
1115:     operator[](difference_type __i) const
1115:     { return *(*this + __i); }
1115: 
1115:     [[__nodiscard__]]
1115:     friend const_iterator
1115:     operator+(const const_iterator& __x, difference_type __n)
1115:     {
1115:       const_iterator __tmp = __x;
1115:       __tmp += __n;
1115:       return __tmp;
1115:     }
1115: 
1115:     [[__nodiscard__]]
1115:     friend const_iterator
1115:     operator-(const const_iterator& __x, difference_type __n)
1115:     {
1115:       const_iterator __tmp = __x;
1115:       __tmp -= __n;
1115:       return __tmp;
1115:     }
1115: 
1115:     [[__nodiscard__]nable_if_t<(!is_compile_string<S>::value), int> = 0>
1417: inline __attribute__((always_inline)) void check_format_string(const S&) {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: template <typename... Args, typename S,
1417:           enable_if_t<(is_compile_string<S>::value), int> = 0>
1417: void check_format_string(S format_str) {
1417:   constexpr auto s = basic_string_view<typename S::char_type>(format_str);
1417:   using checker = format_string_checker<typename S::char_type, error_handler,
1417:                                         remove_cvref_t<Args>...>;
1417:   constexpr bool invalid_format =
1417:       (parse_format_string<true>(s, checker(s, {})), true);
1417:   ignore_unused(invalid_format);
1417: }
1417: 
1417: template <typename Char>
1417: void vformat_to(
1417:     buffer<Char>& buf, basic_string_view<Char> fmt,
1417:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1417:     locale_ref loc = {});
1417: 
1417:  void vprint_mojibake(std::FILE*, string_view, format_args);
1417: 
1417: inline void vprint_mojibake(std::FILE*, string_view, format_args) {}
1417: 
1417: }
1417: 
1417: 
1417: 
1417: template <typename T, typename Char>
1417: struct formatter<T, Char,
1417:                  enable_if_t<detail::type_constant<T, Char>::value !=
1417:                              detail::type::custom_type>> {
1417:  private:
1417:   detail::dynamic_format_specs<Char> specs_;
1417: 
1417:  public:
1417: 
1417: 
1417:   template <typename ParseContext>
1417:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1417:     auto begin = ctx.begin(), end = ctx.end();
1417:     if (begin == end) return begin;
1417:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1417:     auto type = detail::type_constant<T, Char>::value;
1417:     auto checker =
1417:         detail::specs_checker<handler_type>(handler_type(specs_, ctx), type);
1417:     auto it = detail::parse_format_specs(begin, end, checker);
1417:     auto eh = ctx.error_handler();
1417:     switch (type) {
1417:     case detail::type::none_type:
1417:       ::fmt::detail::ignore_unused((false), ("invalid argument type"));
1417:       break;
1417:     case detail::type::bool_type:
1417:       if (specs_.type == presentation_type::none ||
1417:           specs_.type == presentation_type::string) {
1417:         break;
1417:       }
1417:       [[fallthrough]];
1417:     case detail::type::int_type:
1417:     case detail::type::uint_type:
1417:     case detail::type::long_long_type:
1417:     case detail::type::ulong_long_type:
1417:     case detail::type::int128_type:
1417:     case detail::type::uint128_type:
1417:       detail::check_int_type_spec(specs_.type, eh);
1417:       break;
1417:     case detail::type::char_type:
1417:       detail::check_char_specs(specs_, eh);
1417:       break;
1417:     case detail::type::float_type:
1417:       if (detail::const_check(1))
1417:         detail::parse_float_type_spec(specs_, eh);
1417:       else
1417:         ::fmt::detail::ignore_unused((false), ("float support disabled"));
1417:       break;
1417:     case detail::type::double_type:
1417:       if (detail::const_check(1))
1417:         detail::parse_float_type_spec(specs_, eh);
1417:       else
1417:         ::fmt::detail::ignore_unused((false), ("double support disabled"));
1417:       break;
1417:     case detail::type::long_double_type:
1417:       if (detail::const_check(1))
1417:         detail::parse_float_type_spec(specs_, eh);
1417:       else
1417:         ::fmt::detail::ignore_unused((false), ("long double support disabled"));
1417:       break;
1417:     case detail::type::cstring_type:
1417:       detail::check_cstring_type_spec(specs_.type, eh);
1417:       break;
1417:     case detail::type::string_type:
1417:       detail::check_string_type_spec(specs_.type, eh);
1417:       break;
1417:     case detail::type::pointer_type:
1417:       detail::check_pointer_type_spec(specs_.type, eh);
1417:       break;
1417:     case detail::type::custlast,
1434:        _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       typedef __decltype(__comp) _Cmp;
1434:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1434:       std::__make_heap(__first, __last, __cmp);
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     void
1434:     __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:   _Compare& __comp)
1434:     {
1434:       while (__last - __first > 1)
1434:  {
1434:    --__last;
1434:    std::__pop_heap(__first, __last, __last, __comp);
1434:  }
1434:     }
1434: # 437 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline void
1434:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1434:       std::__sort_heap(__first, __last, __comp);
1434:     }
1434: # 465 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:        _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       typedef __decltype(__comp) _Cmp;
1434:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1434:       std::__sort_heap(__first, __last, __cmp);
1434:     }
1434: # 494 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline _RandomAccessIterator
1434:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1434:       return __first +
1434:  std::__is_heap_until(__first, std::distance(__first, __last), __comp);
1434:     }
1434: # 523 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline _RandomAccessIterator
1434:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:     _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       typedef __decltype(__comp) _Cmp;
1434:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1434:       return __first
1434:  + std::__is_heap_until(__first, std::distance(__first, __last), __cmp);
1434:     }
1434: # 548 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline bool
1434:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     { return std::is_heap_until(__first, __last) == __last; }
1434: # 562 "/usr/include/c++/12/bits/stl_heap.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline bool
1434:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:      _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       const auto __dist = std::distance(__first, __last);
1434:       typedef __decltype(__comp) _Cmp;
1434:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1434:       return std::__is_heap_until(__first, __dist, __cmp) == __dist;
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: # 61 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/uniform_int_dist.h" 1 3
1434: # 41 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 58 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1434:   namespace __detail
1434:   {
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:       constexpr bool
1434:       _Power_of_2(_Tp __x)
1434:       {
1434:  return ((__x - 1) & __x) == 0;
1434:       }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _IntType = int>
1434:     class uniform_int_distribution
1434:     {
1434:       static_assert(std::is_integral<_IntType>::value,
1434:       "template argument must be an integral type");
1434: 
1434:     public:
1434: 
1434:       typedef _IntType result_type;
1434: 
1434:       struct param_type
1434:       {
1434:  typedef uniform_int_distribution<_IntType> distribution_type;
1434: 
1434:  param_type() : param_type(0) { }
1434: 
1434:  explicit
1434:  param_type(_IntType __a,
1434:      _IntType __b = __gnu_cxx::__int_traits<_IntType>::__max)
1434:  : _M_a(__a), _M_b(__b)
1434:  {
1434:    do { if (std::__is_constant_evaluated() && !bool(_M_a <= _M_b)) __builtin_unreachable(); } while (false);
1434:  }
1434: 
1434:  result_type
1434:  a() const
1434:  { return _M_a; }
1434: 
1434:  result_type
1434:  b() const
1434:  { return _M_b; }
1434: 
1434:  friend bool
1434:  operator==(const param_type& __p1, const param_type& __p2)
1434:  { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; }
1434: 
1434:  friend bool
1434:  operator!=(const param_type& __p1, const param_type& __p2)
1434:  { return !(__p1 == __p2); }
1434: 
1434:       private:
1434:  _IntType _M_a;
1434:  _IntType _M_b;
1434:       };
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       uniform_int_distribution() : uniform_int_distribution(0) { }
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       uniform_int_distribution(_IntType __a,
1434:           _IntType __b
1434:      = __gnu_cxx::__int_traits<_IntType>::__max)
1434:       : _M_param(__a, __b)
1434:       { }
1434: 
1434:       explicit
1434:       uniform_int_distribution(const param_type& __p)
1434:       : _M_param(__p)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       reset() { }
1434: 
1434:       result_type
1434:       a() const
1434:       { return _M_param.a(); }
1434: 
1434:       result_type
1434:       b() const
1434:       { return _M_param.b(); }
1434: 
1434: 
1434: 
1434: 
1434:       param_type
1434:       param() const
1434:       { return _M_param; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       param(const param_type& __param)
1434:       { _M_param = __param; }
1434: 
1434: 
1434: 
1434: 
1434:       result_type
1434:       min() const
1434:       { return this->a(); }
1434: 
1434: 
1434: 
1434: 
1434:       result_type
1434:       max() const
1434:       { return this->b(); }
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _UniformRandomBitGenerator>
1434:  result_type
1434:  operator()(_UniformRandomBitGenerator& __urng)
1434:         { return this->operator()(__urng, _M_param); }
1434: 
1434:       template<typename _UniformRandomBitGenerator>
1434:  result_type
1434:  operator()(_UniformRandomBitGenerator& __urng,
1434:      const param_type& __p);
1434: 
1434:       template<typename _ForwardIterator,
1434:         typename _UniformRandomBitGenerator>
1434:  void
1434:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1434:      _UniformRandomBitGenerator& __urng)
1434:  { this->__generate(__f, __t, __urng, _M_param); }
1434: 
1434:       template<typename _ForwardIterator,
1434:         typename _UniformRandomBitGenerator>
1434:  void
1434:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1434:      _UniformRandomBitGenerator& __urng,
1434:      const param_type& __p)
1434:  { this->__generate_impl(__f, __t, __urng, __p); }
1434: 
1434:       template<typename _UniformRandomBitGenerator>
1434:  void
1434:  __generate(result_type* __f, result_type* __t,
1434:      _UniformRandomBitGenerator& __urng,
1434:      const param_type& __p)
1434:  { this->__generate_impl(__f, __t, __urng, __p); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       friend bool
1434:       operator==(const uniform_int_distribution& __d1,
1434:    const uniform_int_distribution& __d2)
1434:       { return __d1._M_param ]
1115:     friend const_iterator
1115:     operator+(difference_type __n, const const_iterator& __x)
1115:     { return __x + __n; }
1115:   };
1115: 
1115:   template<typename _Alloc>
1115:     struct _Bvector_base
1115:     {
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:         rebind<_Bit_type>::other _Bit_alloc_type;
1115:       typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type>
1115:  _Bit_alloc_traits;
1115:       typedef typename _Bit_alloc_traits::pointer _Bit_pointer;
1115: 
1115:       struct _Bvector_impl_data
1115:       {
1115: 
1115:  _Bit_iterator _M_start;
1115: # 502 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:  _Bit_iterator _M_finish;
1115:  _Bit_pointer _M_end_of_storage;
1115: 
1115: 
1115:  _Bvector_impl_data() noexcept
1115:  : _M_start(), _M_finish(), _M_end_of_storage()
1115:  { }
1115: 
1115: 
1115:  _Bvector_impl_data(const _Bvector_impl_data&) = default;
1115: 
1115:  _Bvector_impl_data&
1115:  operator=(const _Bvector_impl_data&) = default;
1115: 
1115: 
1115:  _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept
1115:  : _Bvector_impl_data(__x)
1115:  { __x._M_reset(); }
1115: 
1115: 
1115:  void
1115:  _M_move_data(_Bvector_impl_data&& __x) noexcept
1115:  {
1115:    *this = __x;
1115:    __x._M_reset();
1115:  }
1115: 
1115: 
1115: 
1115:  void
1115:  _M_reset() noexcept
1115:  { *this = _Bvector_impl_data(); }
1115: 
1115: 
1115:  void
1115:  _M_swap_data(_Bvector_impl_data& __x) noexcept
1115:  {
1115: 
1115: 
1115:    std::swap(*this, __x);
1115:  }
1115:       };
1115: 
1115:       struct _Bvector_impl
1115:  : public _Bit_alloc_type, public _Bvector_impl_data
1115:       {
1115: 
1115:  _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value)
1115: 
1115:  : _Bit_alloc_type()
1115:  { }
1115: 
1115: 
1115:  _Bvector_impl(const _Bit_alloc_type& __a) noexcept
1115:  : _Bit_alloc_type(__a)
1115:  { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  _Bvector_impl(_Bvector_impl&& __x) noexcept
1115:  : _Bit_alloc_type(std::move(__x)), _Bvector_impl_data(std::move(__x))
1115:  { }
1115: 
1115: 
1115:  _Bvector_impl(_Bit_alloc_type&& __a, _Bvector_impl&& __x) noexcept
1115:  : _Bit_alloc_type(std::move(__a)), _Bvector_impl_data(std::move(__x))
1115:  { }
1115: 
1115: 
1115: 
1115:  _Bit_type*
1115:  _M_end_addr() const noexcept
1115:  {
1115:    if (this->_M_end_of_storage)
1115:      return std::__addressof(this->_M_end_of_storage[-1]) + 1;
1115:    return 0;
1115:  }
1115:       };
1115: 
1115:     public:
1115:       typedef _Alloc allocator_type;
1115: 
1115:      
1115:       _Bit_alloc_type&
1115:       _M_get_Bit_allocator() noexcept
1115:       { return this->_M_impl; }
1115: 
1115:      
1115:       const _Bit_alloc_type&
1115:       _M_get_Bit_allocator() const noexcept
1115:       { return this->_M_impl; }
1115: 
1115:      
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_M_get_Bit_allocator()); }
1115: 
1115: 
1115:       _Bvector_base() = default;
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       _Bvector_base(const allocator_type& __a)
1115:       : _M_impl(__a) { }
1115: 
1115: 
1115:       _Bvector_base(_Bvector_base&&) = default;
1115: 
1115:      
1115:       _Bvector_base(_Bvector_base&& __x, const allocator_type& __a) noexcept
1115:       : _M_impl(_Bit_alloc_type(__a), std::move(__x._M_impl))
1115:       { }
1115: 
1115: 
1115:      
1115:       ~_Bvector_base()
1115:       { this->_M_deallocate(); }
1115: 
1115:     protected:
1115:       _Bvector_impl _M_impl;
1115: 
1115:      
1115:       _Bit_pointer
1115:       _M_allocate(size_t __n)
1115:       {
1115:  _Bit_pointer __p = _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n));
1115: # 640 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:  return __p;
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_deallocate()
1115:       {
1115:  if (_M_impl._M_start._M_p)
1115:    {
1115:      const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p;
1115:      _Bit_alloc_traits::om_type:
1417: 
1417: 
1417:       break;
1417:     }
1417:     return it;
1417:   }
1417: 
1417:   template <detail::type U = detail::type_constant<T, Char>::value,
1417:             enable_if_t<(U == detail::type::string_type ||
1417:                          U == detail::type::cstring_type ||
1417:                          U == detail::type::char_type),
1417:                         int> = 0>
1417:   constexpr void set_debug_format() {
1417:     specs_.type = presentation_type::debug;
1417:   }
1417: 
1417:   template <typename FormatContext>
1417:   constexpr auto format(const T& val, FormatContext& ctx) const
1417:       -> decltype(ctx.out());
1417: };
1417: # 3126 "/usr/include/fmt/core.h" 3 4
1417: template <typename Char> struct formatter<signed char, Char> : formatter<int, Char> { template <typename FormatContext> auto format(signed char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1417: template <typename Char> struct formatter<unsigned char, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1417: template <typename Char> struct formatter<short, Char> : formatter<int, Char> { template <typename FormatContext> auto format(short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1417: template <typename Char> struct formatter<unsigned short, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1417: template <typename Char> struct formatter<long, Char> : formatter<long long, Char> { template <typename FormatContext> auto format(long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<long long, Char>::format(static_cast<long long>(val), ctx); } };
1417: template <typename Char> struct formatter<unsigned long, Char> : formatter<unsigned long long, Char> { template <typename FormatContext> auto format(unsigned long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned long long, Char>::format(static_cast<unsigned long long>(val), ctx); } };
1417: template <typename Char> struct formatter<Char*, Char> : formatter<const Char*, Char> { template <typename FormatContext> auto format(Char* const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const Char*, Char>::format(static_cast<const Char*>(val), ctx); } };
1417: template <typename Char> struct formatter<std::basic_string<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(std::basic_string<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1417: template <typename Char> struct formatter<std::nullptr_t, Char> : formatter<const void*, Char> { template <typename FormatContext> auto format(std::nullptr_t const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const void*, Char>::format(static_cast<const void*>(val), ctx); } };
1417: template <typename Char> struct formatter<detail::std_string_view<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(detail::std_string_view<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1417: 
1417: template <typename Char> struct basic_runtime { basic_string_view<Char> str; };
1417: 
1417: 
1417: template <typename Char, typename... Args> class basic_format_string {
1417:  private:
1417:   basic_string_view<Char> str_;
1417: 
1417: == __d2._M_param; }
1434: 
1434:     private:
1434:       template<typename _ForwardIterator,
1434:         typename _UniformRandomBitGenerator>
1434:  void
1434:  __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1434:    _UniformRandomBitGenerator& __urng,
1434:    const param_type& __p);
1434: 
1434:       param_type _M_param;
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Wp, typename _Urbg, typename _Up>
1434:  static _Up
1434:  _S_nd(_Urbg& __g, _Up __range)
1434:  {
1434:    using _Up_traits = __gnu_cxx::__int_traits<_Up>;
1434:    using _Wp_traits = __gnu_cxx::__int_traits<_Wp>;
1434:    static_assert(!_Up_traits::__is_signed, "U must be unsigned");
1434:    static_assert(!_Wp_traits::__is_signed, "W must be unsigned");
1434:    static_assert(_Wp_traits::__digits == (2 * _Up_traits::__digits),
1434:    "W must be twice as wide as U");
1434: 
1434: 
1434: 
1434: 
1434:    _Wp __product = _Wp(__g()) * _Wp(__range);
1434:    _Up __low = _Up(__product);
1434:    if (__low < __range)
1434:      {
1434:        _Up __threshold = -__range % __range;
1434:        while (__low < __threshold)
1434:   {
1434:     __product = _Wp(__g()) * _Wp(__range);
1434:     __low = _Up(__product);
1434:   }
1434:      }
1434:    return __product >> _Up_traits::__digits;
1434:  }
1434:     };
1434: 
1434:   template<typename _IntType>
1434:     template<typename _UniformRandomBitGenerator>
1434:       typename uniform_int_distribution<_IntType>::result_type
1434:       uniform_int_distribution<_IntType>::
1434:       operator()(_UniformRandomBitGenerator& __urng,
1434:    const param_type& __param)
1434:       {
1434:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1434:  typedef typename make_unsigned<result_type>::type __utype;
1434:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1434: 
1434:  constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
1434:  constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
1434:  static_assert( __urngmin < __urngmax,
1434:      "Uniform random bit generator must define min() < max()");
1434:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1434: 
1434:  const __uctype __urange
1434:    = __uctype(__param.b()) - __uctype(__param.a());
1434: 
1434:  __uctype __ret;
1434:  if (__urngrange > __urange)
1434:    {
1434: 
1434: 
1434:      const __uctype __uerange = __urange + 1;
1434: # 312 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1434:      if constexpr (__urngrange == 0xffffffffU)
1434:        {
1434: 
1434: 
1434:   unsigned int __u32erange = __uerange;
1434:   __ret = _S_nd<long long unsigned int>(__urng, __u32erange);
1434:        }
1434:      else
1434: 
1434:        {
1434: 
1434:   const __uctype __scaling = __urngrange / __uerange;
1434:   const __uctype __past = __uerange * __scaling;
1434:   do
1434:     __ret = __uctype(__urng()) - __urngmin;
1434:   while (__ret >= __past);
1434:   __ret /= __scaling;
1434:        }
1434:    }
1434:  else if (__urngrange < __urange)
1434:    {
1434: # 348 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1434:      __uctype __tmp;
1434:      do
1434:        {
1434:   const __uctype __uerngrange = __urngrange + 1;
1434:   __tmp = (__uerngrange * operator()
1434:     (__urng, param_type(0, __urange / __uerngrange)));
1434:   __ret = __tmp + (__uctype(__urng()) - __urngmin);
1434:        }
1434:      while (__ret > __urange || __ret < __tmp);
1434:    }
1434:  else
1434:    __ret = __uctype(__urng()) - __urngmin;
1434: 
1434:  return __ret + __param.a();
1434:       }
1434: 
1434: 
1434:   template<typename _IntType>
1434:     template<typename _ForwardIterator,
1434:       typename _UniformRandomBitGenerator>
1434:       void
1434:       uniform_int_distribution<_IntType>::
1434:       __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1434:         _UniformRandomBitGenerator& __urng,
1434:         const param_type& __param)
1434:       {
1434: 
1434:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1434:  typedef typename make_unsigned<result_type>::type __utype;
1434:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1434: 
1434:  static_assert( __urng.min() < __urng.max(),
1434:      "Uniform random bit generator must define min() < max()");
1434: 
1434:  constexpr __uctype __urngmin = __urng.min();
1434:  constexpr __uctype __urngmax = __urng.max();
1434:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1434:  const __uctype __urange
1434:    = __uctype(__param.b()) - __uctype(__param.a());
1434: 
1434:  __uctype __ret;
1434: 
1434:  if (__urngrange > __urange)
1434:    {
1434:      if (__detail::_Power_of_2(__urngrange + 1)
1434:   && __detail::_Power_of_2(__urange + 1))
1434:        {
1434:   while (__f != __t)
1434:     {
1434:       __ret = __uctype(__urng()) - __urngmin;
1434:       *__f++ = (__ret & __urange) + __param.a();
1434:     }
1434:        }
1434:      else
1434:        {
1434: 
1434:   const __uctype __uerange = __urange + 1;
1434:   const __uctype __scaling = __urngrange / __uerange;
1434:   const __uctype __past = __uerange * __scaling;
1434:   while (__f != __t)
1434:     {
1434:       do
1434:         __ret = __uctype(__urng()) - __urngmin;
1434:       while (__ret >= __past);
1434:       *__f++ = __ret / __scaling + __param.a();
1434:     }
1434:        }
1434:    }
1434:  else if (__urngrange < __urange)
1434:    {
1434: # 433 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1434:      __uctype __tmp;
1434:      while (__f != __t)
1434:        {
1434:   do
1434:     {
1434:       constexpr __uctype __uerngrange = __urngrange + 1;
1434:       __tmp = (__uerngrange * operator()
1434:         (__urng, param_type(0, __urange / __uerngrange)));
1434:       __ret = __tmp + (__uctype(__urng()) - __urngmin);
1434:     }
1434:   while (__ret > __urange || __ret < __tmp);
1434:   *__f++ = __ret;
1434:        }
1434:    }
1434:  else
1434:    while (__f != __t)
1434:      *__f++ = __uctype(__urng()) - __urngmin + __param.a();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 66 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/cstdlib" 1 3
1434: # 39 "/usr/include/c++/12/cstdlib" 3
1434:        
1434: # 40 "/usr/include/c++/12/cstdlib" 3
1434: # 70 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Iterator, typename _Compare>
1434:    
1434:     void
1434:     __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b,
1434:       _Iterator __c, _Compare __comp)
1434:     {
1434:       if (__comp(__a, __b))
1434:  {
1434:    if (__comp(__b, __c))
1434:      std::iter_swap(__result, __b);
1434:    else if (__comp(__a, __c))
1434:      std::iter_swap(__result, __c);
1434:    else
1434:      std::iter_swap(__result, __a);
1434:  }
1434:       else if (__comp(__a, __c))
1434:  std::iter_swap(__result, __a);
1434:       else if (__comp(__b, __c))
1434:  std::iter_swap(__result, __c);
1434:       else
1434:  std::iter_swap(__result, __b);
1434:     }
1434: 
1434: 
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline _InputIterator
1434:     __find_if_not(_InputIterator __first, _InputIterator __last,
1434:     _Predicate __pred)
1434:     {
1434:       return std::__find_if(__first, __last,
1434:        __gnu_cxx::__ops::__negate(__pred),
1434:        std::__iterator_category(__first));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _Predicate, typename _Distance>
1434:    
1434:     _InputIterator
1434:     __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred)
1434:     {
1434:       for (; __len; --__len, (void) ++__first)
1434:  if (!__pred(__first))
1434:    break;
1434:       return __first;
1434:     }
1434: # 141 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     _ForwardIterator1
deallocate(_M_impl,
1115:        _M_impl._M_end_of_storage - __n,
1115:        __n);
1115:      _M_impl._M_reset();
1115:    }
1115:       }
1115: 
1115: 
1115:      
1115:       void
1115:       _M_move_data(_Bvector_base&& __x) noexcept
1115:       { _M_impl._M_move_data(std::move(__x._M_impl)); }
1115: 
1115: 
1115:       constexpr
1115:       static size_t
1115:       _S_nword(size_t __n)
1115:       { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
1115:     };
1115: # 689 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:   template<typename _Alloc>
1115:     class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
1115:     {
1115:       typedef _Bvector_base<_Alloc> _Base;
1115:       typedef typename _Base::_Bit_pointer _Bit_pointer;
1115:       typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits;
1115: 
1115: 
1115:       friend struct std::hash<vector>;
1115: 
1115: 
1115:     public:
1115:       typedef bool value_type;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef _Bit_reference reference;
1115:       typedef bool const_reference;
1115:       typedef _Bit_reference* pointer;
1115:       typedef const bool* const_pointer;
1115:       typedef _Bit_iterator iterator;
1115:       typedef _Bit_const_iterator const_iterator;
1115:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1115:       typedef std::reverse_iterator<iterator> reverse_iterator;
1115:       typedef _Alloc allocator_type;
1115: 
1115:      
1115:       allocator_type
1115:       get_allocator() const
1115:       { return _Base::get_allocator(); }
1115: 
1115:     protected:
1115:       using _Base::_M_allocate;
1115:       using _Base::_M_deallocate;
1115:       using _Base::_S_nword;
1115:       using _Base::_M_get_Bit_allocator;
1115: 
1115:     public:
1115: 
1115:       vector() = default;
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       explicit
1115:       vector(const allocator_type& __a)
1115:       : _Base(__a) { }
1115: 
1115: 
1115:      
1115:       explicit
1115:       vector(size_type __n, const allocator_type& __a = allocator_type())
1115:       : vector(__n, false, __a)
1115:       { }
1115: 
1115:      
1115:       vector(size_type __n, const bool& __value,
1115:       const allocator_type& __a = allocator_type())
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       : _Base(__a)
1115:       {
1115:  _M_initialize(__n);
1115:  _M_initialize_value(__value);
1115:       }
1115: 
1115:      
1115:       vector(const vector& __x)
1115:       : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator()))
1115:       {
1115:  _M_initialize(__x.size());
1115:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1115:       }
1115: 
1115: 
1115:       vector(vector&&) = default;
1115: 
1115:     private:
1115:      
1115:       vector(vector&& __x, const allocator_type& __a, true_type) noexcept
1115:       : _Base(std::move(__x), __a)
1115:       { }
1115: 
1115:      
1115:       vector(vector&& __x, const allocator_type& __a, false_type)
1115:       : _Base(__a)
1115:       {
1115:  if (__x.get_allocator() == __a)
1115:    this->_M_move_data(std::move(__x));
1115:  else
1115:    {
1115:      _M_initialize(__x.size());
1115:      _M_copy_aligned(__x.begin(), __x.end(), begin());
1115:      __x.clear();
1115:    }
1115:       }
1115: 
1115:     public:
1115:      
1115:       vector(vector&& __x, const __type_identity_t<allocator_type>& __a)
1115:       noexcept(_Bit_alloc_traits::_S_always_equal())
1115:       : vector(std::move(__x), __a,
1115:         typename _Bit_alloc_traits::is_always_equal{})
1115:       { }
1115: 
1115:      
1115:       vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
1115:       : _Base(__a)
1115:       {
1115:  _M_initialize(__x.size());
1115:  _M_copy_aligned(__x.begin(), __x.end(), begin());
1115:       }
1115: 
1115:      
1115:       vector(initializer_list<bool> __l,
1115:       const allocator_type& __a = allocator_type())
1115:       : _Base(__a)
1115:       {
1115:  _M_1434:     __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1434:       _BinaryPredicate __predicate)
1434:     {
1434: 
1434:       if (__first1 == __last1 || __first2 == __last2)
1434:  return __first1;
1434: 
1434: 
1434:       _ForwardIterator2 __p1(__first2);
1434:       if (++__p1 == __last2)
1434:  return std::__find_if(__first1, __last1,
1434:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1434: 
1434: 
1434:       _ForwardIterator1 __current = __first1;
1434: 
1434:       for (;;)
1434:  {
1434:    __first1 =
1434:      std::__find_if(__first1, __last1,
1434:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1434: 
1434:    if (__first1 == __last1)
1434:      return __last1;
1434: 
1434:    _ForwardIterator2 __p = __p1;
1434:    __current = __first1;
1434:    if (++__current == __last1)
1434:      return __last1;
1434: 
1434:    while (__predicate(__current, __p))
1434:      {
1434:        if (++__p == __last2)
1434:   return __first1;
1434:        if (++__current == __last1)
1434:   return __last1;
1434:      }
1434:    ++__first1;
1434:  }
1434:       return __first1;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Integer,
1434:     typename _UnaryPredicate>
1434:    
1434:     _ForwardIterator
1434:     __search_n_aux(_ForwardIterator __first, _ForwardIterator __last,
1434:      _Integer __count, _UnaryPredicate __unary_pred,
1434:      std::forward_iterator_tag)
1434:     {
1434:       __first = std::__find_if(__first, __last, __unary_pred);
1434:       while (__first != __last)
1434:  {
1434:    typename iterator_traits<_ForwardIterator>::difference_type
1434:      __n = __count;
1434:    _ForwardIterator __i = __first;
1434:    ++__i;
1434:    while (__i != __last && __n != 1 && __unary_pred(__i))
1434:      {
1434:        ++__i;
1434:        --__n;
1434:      }
1434:    if (__n == 1)
1434:      return __first;
1434:    if (__i == __last)
1434:      return __last;
1434:    __first = std::__find_if(++__i, __last, __unary_pred);
1434:  }
1434:       return __last;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _RandomAccessIter, typename _Integer,
1434:     typename _UnaryPredicate>
1434:    
1434:     _RandomAccessIter
1434:     __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last,
1434:      _Integer __count, _UnaryPredicate __unary_pred,
1434:      std::random_access_iterator_tag)
1434:     {
1434:       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
1434:  _DistanceType;
1434: 
1434:       _DistanceType __tailSize = __last - __first;
1434:       _DistanceType __remainder = __count;
1434: 
1434:       while (__remainder <= __tailSize)
1434:  {
1434:    __first += __remainder;
1434:    __tailSize -= __remainder;
1434: 
1434: 
1434:    _RandomAccessIter __backTrack = __first;
1434:    while (__unary_pred(--__backTrack))
1434:      {
1434:        if (--__remainder == 0)
1434:   return (__first - __count);
1434:      }
1434:    __remainder = __count + 1 - (__first - __backTrack);
1434:  }
1434:       return __last;
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Integer,
1434:     typename _UnaryPredicate>
1434:    
1434:     _ForwardIterator
1434:     __search_n(_ForwardIterator __first, _ForwardIterator __last,
1434:         _Integer __count,
1434:         _UnaryPredicate __unary_pred)
1434:     {
1434:       if (__count <= 0)
1434:  return __first;
1434: 
1434:       if (__count == 1)
1434:  return std::__find_if(__first, __last, __unary_pred);
1434: 
1434:       return std::__search_n_aux(__first, __last, __count, __unary_pred,
1434:      std::__iterator_category(__first));
1434:     }
1434: 
1434: 
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     _ForwardIterator1
1434:     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:         _ForwardIterator public:
1417:   template <typename S,
1417:             enable_if_t<(std::is_convertible<const S&, basic_string_view<Char>>::value), int> = 0
1417:                                                                               >
1417:   inline __attribute__((always_inline)) basic_format_string(const S& s) : str_(s) {
1417:     static_assert(
1417:         detail::count<
1417:             (std::is_base_of<detail::view, remove_reference_t<Args>>::value &&
1417:              std::is_reference<Args>::value)...>() == 0,
1417:         "passing views as lvalues is disallowed");
1417: # 3162 "/usr/include/fmt/core.h" 3 4
1417:     detail::check_format_string<Args...>(s);
1417: 
1417:   }
1417:   basic_format_string(basic_runtime<Char> r) : str_(r.str) {}
1417: 
1417:   inline __attribute__((always_inline)) operator basic_string_view<Char>() const { return str_; }
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename... Args>
1417: using format_string = basic_format_string<char, type_identity_t<Args>...>;
1417: # 3187 "/usr/include/fmt/core.h" 3 4
1417: inline auto runtime(string_view s) -> basic_runtime<char> { return {{s}}; }
1417: 
1417: 
1417:  auto vformat(string_view fmt, format_args args) -> std::string;
1417: # 3203 "/usr/include/fmt/core.h" 3 4
1417: template <typename... T>
1417: [[nodiscard]] inline __attribute__((always_inline)) auto format(format_string<T...> fmt, T&&... args)
1417:     -> std::string {
1417:   return vformat(fmt, fmt::make_format_args(args...));
1417: }
1417: 
1417: 
1417: template <typename OutputIt,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1417: auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt {
1417:   using detail::get_buffer;
1417:   auto&& buf = get_buffer<char>(out);
1417:   detail::vformat_to(buf, fmt, args, {});
1417:   return detail::get_iterator(buf);
1417: }
1417: # 3231 "/usr/include/fmt/core.h" 3 4
1417: template <typename OutputIt, typename... T,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1417: inline __attribute__((always_inline)) auto format_to(OutputIt out, format_string<T...> fmt, T&&... args)
1417:     -> OutputIt {
1417:   return vformat_to(out, fmt, fmt::make_format_args(args...));
1417: }
1417: 
1417: template <typename OutputIt> struct format_to_n_result {
1417: 
1417:   OutputIt out;
1417: 
1417:   size_t size;
1417: };
1417: 
1417: template <typename OutputIt, typename... T,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1417: auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args)
1417:     -> format_to_n_result<OutputIt> {
1417:   using traits = detail::fixed_buffer_traits;
1417:   auto buf = detail::iterator_buffer<OutputIt, char, traits>(out, n);
1417:   detail::vformat_to(buf, fmt, args, {});
1417:   return {buf.out(), buf.count()};
1417: }
1417: # 3263 "/usr/include/fmt/core.h" 3 4
1417: template <typename OutputIt, typename... T,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1417: inline __attribute__((always_inline)) auto format_to_n(OutputIt out, size_t n, format_string<T...> fmt,
1417:                             T&&... args) -> format_to_n_result<OutputIt> {
1417:   return vformat_to_n(out, n, fmt, fmt::make_format_args(args...));
1417: }
1417: 
1417: 
1417: template <typename... T>
1417: [[nodiscard]] inline __attribute__((always_inline)) auto formatted_size(format_string<T...> fmt,
1417:                                              T&&... args) -> size_t {
1417:   auto buf = detail::counting_buffer<>();
1417:   detail::vformat_to(buf, string_view(fmt), fmt::make_format_args(args...), {});
1417:   return buf.count();
1417: }
1417: 
1417:  void vprint(string_view fmt, format_args args);
1417:  void vprint(std::FILE* f, string_view fmt, format_args args);
1417: # 3292 "/usr/include/fmt/core.h" 3 4
1417: template <typename... T>
1417: inline __attribute__((always_inline)) void print(format_string<T...> fmt, T&&.initialize_range(__l.begin(), __l.end(),
1115:        random_access_iterator_tag());
1115:       }
1115: 
1115: 
1115: 
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:  vector(_InputIterator __first, _InputIterator __last,
1115:         const allocator_type& __a = allocator_type())
1115:  : _Base(__a)
1115:  {
1115:    _M_initialize_range(__first, __last,
1115:          std::__iterator_category(__first));
1115:  }
1115: # 838 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:      
1115:       ~vector() noexcept { }
1115: 
1115:      
1115:       vector&
1115:       operator=(const vector& __x)
1115:       {
1115:  if (&__x == this)
1115:    return *this;
1115: 
1115:  if (_Bit_alloc_traits::_S_propagate_on_copy_assign())
1115:    {
1115:      if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator())
1115:        {
1115:   this->_M_deallocate();
1115:   std::__alloc_on_copy(_M_get_Bit_allocator(),
1115:          __x._M_get_Bit_allocator());
1115:   _M_initialize(__x.size());
1115:        }
1115:      else
1115:        std::__alloc_on_copy(_M_get_Bit_allocator(),
1115:        __x._M_get_Bit_allocator());
1115:    }
1115: 
1115:  if (__x.size() > capacity())
1115:    {
1115:      this->_M_deallocate();
1115:      _M_initialize(__x.size());
1115:    }
1115:  this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1115:         begin());
1115:  return *this;
1115:       }
1115: 
1115: 
1115:      
1115:       vector&
1115:       operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
1115:       {
1115:  if (_Bit_alloc_traits::_S_propagate_on_move_assign()
1115:      || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator())
1115:    {
1115:      this->_M_deallocate();
1115:      this->_M_move_data(std::move(__x));
1115:      std::__alloc_on_move(_M_get_Bit_allocator(),
1115:      __x._M_get_Bit_allocator());
1115:    }
1115:  else
1115:    {
1115:      if (__x.size() > capacity())
1115:        {
1115:   this->_M_deallocate();
1115:   _M_initialize(__x.size());
1115:        }
1115:      this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
1115:             begin());
1115:      __x.clear();
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:      
1115:       vector&
1115:       operator=(initializer_list<bool> __l)
1115:       {
1115:  this->assign(__l.begin(), __l.end());
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       void
1115:       assign(size_type __n, const bool& __x)
1115:       { _M_fill_assign(__n, __x); }
1115: 
1115: 
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:  void
1115:  assign(_InputIterator __first, _InputIterator __last)
1115:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1115: # 936 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:      
1115:       void
1115:       assign(initializer_list<bool> __l)
1115:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       begin() noexcept
1115:       { return iterator(this->_M_impl._M_start._M_p, 0); }
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       end() noexcept
1115:       { return this->_M_impl._M_finish; }
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       end() const noexcept
1115:       { return this->_M_impl._M_finish; }
1115: 
1115:       [[__nodiscard__]]
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return reverse_iterator(end()); }
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115:       [[__nodiscard__]]
1115:    2 __first2, _ForwardIterator2 __last2,
1434:         forward_iterator_tag, forward_iterator_tag,
1434:         _BinaryPredicate __comp)
1434:     {
1434:       if (__first2 == __last2)
1434:  return __last1;
1434: 
1434:       _ForwardIterator1 __result = __last1;
1434:       while (1)
1434:  {
1434:    _ForwardIterator1 __new_result
1434:      = std::__search(__first1, __last1, __first2, __last2, __comp);
1434:    if (__new_result == __last1)
1434:      return __result;
1434:    else
1434:      {
1434:        __result = __new_result;
1434:        __first1 = __new_result;
1434:        ++__first1;
1434:      }
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     _BidirectionalIterator1
1434:     __find_end(_BidirectionalIterator1 __first1,
1434:         _BidirectionalIterator1 __last1,
1434:         _BidirectionalIterator2 __first2,
1434:         _BidirectionalIterator2 __last2,
1434:         bidirectional_iterator_tag, bidirectional_iterator_tag,
1434:         _BinaryPredicate __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
1434:       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
1434: 
1434:       _RevIterator1 __rlast1(__first1);
1434:       _RevIterator2 __rlast2(__first2);
1434:       _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1,
1434:            _RevIterator2(__last2), __rlast2,
1434:            __comp);
1434: 
1434:       if (__rresult == __rlast1)
1434:  return __last1;
1434:       else
1434:  {
1434:    _BidirectionalIterator1 __result = __rresult.base();
1434:    std::advance(__result, -std::distance(__first2, __last2));
1434:    return __result;
1434:  }
1434:     }
1434: # 367 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1434:    
1434:     inline _ForwardIterator1
1434:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__find_end(__first1, __last1, __first2, __last2,
1434:         std::__iterator_category(__first1),
1434:         std::__iterator_category(__first2),
1434:         __gnu_cxx::__ops::__iter_equal_to_iter());
1434:     }
1434: # 416 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline _ForwardIterator1
1434:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1434:       _BinaryPredicate __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__find_end(__first1, __last1, __first2, __last2,
1434:         std::__iterator_category(__first1),
1434:         std::__iterator_category(__first2),
1434:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: # 452 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline bool
1434:     all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1434:     { return __last == std::find_if_not(__first, __last, __pred); }
1434: # 470 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline bool
1434:     none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1434:     { return __last == std::find_if(__first, __last, __pred); }
1434: # 489 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline bool
1434:     any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1434:     { return !std::none_of(__first, __last, __pred); }
1434: # 505 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline _InputIterator
1434:     find_if_not(_InputIterator __first, _InputIterator __last,
1434:   _Predicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       return std::__find_if_not(__first, __last,
1434:     __gnu_cxx::__ops::__pred_iter(__pred));
1434:     }
1434: # 530 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline bool
1434:     is_partitioned(_InputIterator __first, _InputIterator __last,
1434:      _Predicate __pred)
1434:     {
1434:       __first = std::find_if_not(__first, __last, __pred);
1434:       if (__first == __last)
1434:  return true;
1434:       ++__first;
1434:       return std::none_of(__first, __last, __pred);
1434:     }
1434: # 552 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Predicate>
1434:    
1434:     _ForwardIterator
1434:     partition_point(_ForwardIterator __first, _ForwardIterator __last,
1434:       _Predicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434: 
1434:       ;
1434: 
1434:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1434:  _DistanceType;
1434: 
1434:       _DistanceType __len = std::distance(__first, __last);
1434: 
1434:       while (__len > 0)
1434:  {
1434:    _DistanceType __half = __len >> 1;
1434:    _ForwardIterator __middle = __first;
1434:    std::advance(__middle, __half);
1434:    if (__pred(*__middle))
1434:      {
1434:        __first = __middle;
1434:        ++__first;
1434:        __len = __len - __half - 1;
1434:      }
1434:    else
1434:      __len = __half;
1434:  }
1434:       return __first;
1434:     }
1434: 
1434: 
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _Predicate>
1434:    
1434:     _OutputIterator
1434:     __remove_copy_if(_InputIterator __first, _InputIterator __last,
1434:        _OutputIterator __result, _Predicate __pred)
1434:     {
1434:       for (; __first != __last; ++__first)
1434:  if (!__pred(__first))
1434:    {
1434:      *__result = *__first;
1434:      ++__result;
1434:    }
1434:       return __result;
1434:     }
1434: # 619 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1434:    
1434:     inline _OutputIterator
1434:     remove_copy(_InputIterator __first, _InputIterator __last,
1434:   _OutputIterator __result, const _Tp& __value)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__remove_copy_if(__first, __last, __result,
1434:  __gnu_cxx::__ops::__iter_equals_val(__value));
1434:     }
1434: # 652 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _Predicate>
1434:    
1434:     inline _OutputIterator
1434:     remove_copy_if(_InputIterator __first, _InputIterator __last,
1434:      _OutputIterator __result, _Predicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__remove_copy_if(__first, __last, __result,
1434:        __gnu_cxx::__ops::__pred_iter(__pred));
1434:     }
1434: # 687 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _Predicate>
1434:    
1434:     _OutputIterator
1434:     copy_if(_InputIterator __first, _InputIterator __last,
1434:      _OutputIterator __result, _Predicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       for (; __first != __last; ++__first)
1434:  if (__pred(*__first))
1434:    {
1434:      *__result = *__first;
1434:      ++__result;
1434:    }
1434:       return __result;
1434:     }
1434: 
1434:   template.. args) {
1417:   const auto& vargs = fmt::make_format_args(args...);
1417:   return detail::is_utf8() ? vprint(fmt, vargs)
1417:                            : detail::vprint_mojibake(stdout, fmt, vargs);
1417: }
1417: # 3309 "/usr/include/fmt/core.h" 3 4
1417: template <typename... T>
1417: inline __attribute__((always_inline)) void print(std::FILE* f, format_string<T...> fmt, T&&... args) {
1417:   const auto& vargs = fmt::make_format_args(args...);
1417:   return detail::is_utf8() ? vprint(f, fmt, vargs)
1417:                            : detail::vprint_mojibake(f, fmt, vargs);
1417: }
1417: 
1417: 
1417: 
1417: # 3317 "/usr/include/fmt/core.h" 3 4
1417: #pragma GCC pop_options
1417: # 3317 "/usr/include/fmt/core.h" 3 4
1417: 
1417: } }
1417: # 49 "/usr/include/fmt/format.h" 2 3 4
1417: # 242 "/usr/include/fmt/format.h" 3 4
1417: namespace fmt { inline namespace v9 {
1417: namespace detail {
1417: 
1417: constexpr inline void abort_fuzzing_if(bool condition) {
1417:   ignore_unused(condition);
1417: 
1417: 
1417: 
1417: }
1417: 
1417: template <typename CharT, CharT... C> struct string_literal {
1417:   static constexpr CharT value[sizeof...(C)] = {C...};
1417:   constexpr operator basic_string_view<CharT>() const {
1417:     return {value, sizeof...(C)};
1417:   }
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename Streambuf> class formatbuf : public Streambuf {
1417:  private:
1417:   using char_type = typename Streambuf::char_type;
1417:   using streamsize = decltype(std::declval<Streambuf>().sputn(nullptr, 0));
1417:   using int_type = typename Streambuf::int_type;
1417:   using traits_type = typename Streambuf::traits_type;
1417: 
1417:   buffer<char_type>& buffer_;
1417: 
1417:  public:
1417:   explicit formatbuf(buffer<char_type>& buf) : buffer_(buf) {}
1417: 
1417:  protected:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   auto overflow(int_type ch) -> int_type override {
1417:     if (!traits_type::eq_int_type(ch, traits_type::eof()))
1417:       buffer_.push_back(static_cast<char_type>(ch));
1417:     return ch;
1417:   }
1417: 
1417:   auto xsputn(const char_type* s, streamsize count) -> streamsize override {
1417:     buffer_.append(s, s + count);
1417:     return count;
1417:   }
1417: };
1417: 
1417: 
1417: template <typename To, typename From, enable_if_t<(sizeof(To) == sizeof(From)), int> = 0>
1417:  auto bit_cast(const From& from) -> To {
1417: 
1417: 
1417: 
1417:   auto to = To();
1417: 
1417:   std::memcpy(static_cast<void*>(&to), &from, sizeof(to));
1417:   return to;
1417: }
1417: 
1417: inline auto is_big_endian() -> bool {
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   return 1234 == 4321;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: }
1417: 
1417: class uint128_fallback {
1417:  private:
1417:   uint64_t lo_, hi_;
1417: 
1417:   friend uint128_fallback umul128(uint64_t x, uint64_t y) noexcept;
1417: 
1417:  public:
1417:   constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {}
1417:   constexpr uint128_fallback(uint64_t value = 0) : lo_(value), hi_(0) {}
1417: 
1417:   constexpr uint64_t high() const noexcept { return hi_; }
1417:   constexpr uint64_t low() const noexcept { return lo_; }
1417: 
1417:   template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1417:   constexpr explicit operator T() const {
1417:     return static_cast<T>(lo_);
1417:   }
1417: 
1417:   friend constexpr auto operator==(const uint128_fallback& lhs,
1417:                                    const uint128_fallback& rhs) -> bool {
1417:     return lhs.hi_ == rhs.hi_ && lhs.lo_ == rhs.lo_;
1417:   }
1417:   friend constexpr auto operator!=(const uint128_fallback& lhs,
1417:                                    const uint128_fallback& rhs) -> bool {
1417:     return !(lhs == rhs);
1417:   }
1417:   friend constexpr auto operator>(const uint128_fallback& lhs,
1417:                                   const uint128_fallback& rhs) -> bool {
1417:     return lhs.hi_ != rhs.hi_ ? lhs.hi_ > rhs.hi_ : lhs.lo_ > rhs.lo_;
1417:   }
1417:   friend constexpr auto operator|<typename _InputIterator, typename _Size, typename _OutputIterator>
1434:    
1434:     _OutputIterator
1434:     __copy_n(_InputIterator __first, _Size __n,
1434:       _OutputIterator __result, input_iterator_tag)
1434:     {
1434:       return std::__niter_wrap(__result,
1434:           __copy_n_a(__first, __n,
1434:        std::__niter_base(__result), true));
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Size,
1434:     typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     __copy_n(_RandomAccessIterator __first, _Size __n,
1434:       _OutputIterator __result, random_access_iterator_tag)
1434:     { return std::copy(__first, __first + __n, __result); }
1434: # 743 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     copy_n(_InputIterator __first, _Size __n, _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434:       const auto __n2 = std::__size_to_integer(__n);
1434:       if (__n2 <= 0)
1434:  return __result;
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__copy_n(__first, __n2, __result,
1434:       std::__iterator_category(__first));
1434:     }
1434: # 779 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator1,
1434:     typename _OutputIterator2, typename _Predicate>
1434:    
1434:     pair<_OutputIterator1, _OutputIterator2>
1434:     partition_copy(_InputIterator __first, _InputIterator __last,
1434:      _OutputIterator1 __out_true, _OutputIterator2 __out_false,
1434:      _Predicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       for (; __first != __last; ++__first)
1434:  if (__pred(*__first))
1434:    {
1434:      *__out_true = *__first;
1434:      ++__out_true;
1434:    }
1434:  else
1434:    {
1434:      *__out_false = *__first;
1434:      ++__out_false;
1434:    }
1434: 
1434:       return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false);
1434:     }
1434: # 830 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline _ForwardIterator
1434:     remove(_ForwardIterator __first, _ForwardIterator __last,
1434:     const _Tp& __value)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__remove_if(__first, __last,
1434:   __gnu_cxx::__ops::__iter_equals_val(__value));
1434:     }
1434: # 864 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Predicate>
1434:    
1434:     inline _ForwardIterator
1434:     remove_if(_ForwardIterator __first, _ForwardIterator __last,
1434:        _Predicate __pred)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__remove_if(__first, __last,
1434:          __gnu_cxx::__ops::__pred_iter(__pred));
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _BinaryPredicate>
1434:    
1434:     _ForwardIterator
1434:     __adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
1434:       _BinaryPredicate __binary_pred)
1434:     {
1434:       if (__first == __last)
1434:  return __last;
1434:       _ForwardIterator __next = __first;
1434:       while (++__next != __last)
1434:  {
1434:    if (__binary_pred(__first, __next))
1434:      return __first;
1434:    __first = __next;
1434:  }
1434:       return __last;
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _BinaryPredicate>
1434:    
1434:     _ForwardIterator
1434:     __unique(_ForwardIterator __first, _ForwardIterator __last,
1434:       _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:       __first = std::__adjacent_find(__first, __last, __binary_pred);
1434:       if (__first == __last)
1434:  return __last;
1434: 
1434: 
1434:       _ForwardIterator __dest = __first;
1434:     reverse_iterator
1115:       rend() noexcept
1115:       { return reverse_iterator(begin()); }
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return this->_M_impl._M_finish; }
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       size() const noexcept
1115:       { return size_type(end() - begin()); }
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       max_size() const noexcept
1115:       {
1115:  const size_type __isize =
1115:    __gnu_cxx::__numeric_traits<difference_type>::__max
1115:    - int(_S_word_bit) + 1;
1115:  const size_type __asize
1115:    = _Bit_alloc_traits::max_size(_M_get_Bit_allocator());
1115:  return (__asize <= __isize / int(_S_word_bit)
1115:   ? __asize * int(_S_word_bit) : __isize);
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       capacity() const noexcept
1115:       { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0)
1115:     - begin()); }
1115: 
1115:       [[__nodiscard__]]
1115:       bool
1115:       empty() const noexcept
1115:       { return begin() == end(); }
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       operator[](size_type __n)
1115:       { return begin()[__n]; }
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       operator[](size_type __n) const
1115:       { return begin()[__n]; }
1115: 
1115:     protected:
1115:      
1115:       void
1115:       _M_range_check(size_type __n) const
1115:       {
1115:  if (__n >= this->size())
1115:    __throw_out_of_range_fmt(("vector<bool>::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
1115: 
1115:                             ,
1115:        __n, this->size());
1115:       }
1115: 
1115:     public:
1115:      
1115:       reference
1115:       at(size_type __n)
1115:       {
1115:  _M_range_check(__n);
1115:  return (*this)[__n];
1115:       }
1115: 
1115:      
1115:       const_reference
1115:       at(size_type __n) const
1115:       {
1115:  _M_range_check(__n);
1115:  return (*this)[__n];
1115:       }
1115: 
1115:      
1115:       void
1115:       reserve(size_type __n)
1115:       {
1115:  if (__n > max_size())
1115:    __throw_length_error(("vector::reserve"));
1115:  if (capacity() < __n)
1115:    _M_reallocate(__n);
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       front()
1115:       { return *begin(); }
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       front() const
1115:       { return *begin(); }
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       back()
1115:       { return *(end() - 1); }
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       back() const
1115:       { return *(end() - 1); }
1115: 
1115:      
1115:       void
1115:       push_back(bool __x)
1115:       {
1115:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1115:    *this->_M_impl._M_finish++ = __x;
1115:  else
1115:    _M_insert_aux(end(), __x);
1115:       }
1115: 
1115:      
1115:       void
1115:       swap(vector& __x) noexcept
1115:       {
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(_Bit_alloc_traits::propagate_on_container_swap::value || _M_get_Bit_allocator() == __x._M_get_Bit_allocator())) __builtin_unreachable(); } while (const uint128_fallback& lhs,
1417:                                   const uint128_fallback& rhs)
1417:       -> uint128_fallback {
1417:     return {lhs.hi_ | rhs.hi_, lhs.lo_ | rhs.lo_};
1417:   }
1417:   friend constexpr auto operator&(const uint128_fallback& lhs,
1417:                                   const uint128_fallback& rhs)
1417:       -> uint128_fallback {
1417:     return {lhs.hi_ & rhs.hi_, lhs.lo_ & rhs.lo_};
1417:   }
1417:   friend auto operator+(const uint128_fallback& lhs,
1417:                         const uint128_fallback& rhs) -> uint128_fallback {
1417:     auto result = uint128_fallback(lhs);
1417:     result += rhs;
1417:     return result;
1417:   }
1417:   friend auto operator*(const uint128_fallback& lhs, uint32_t rhs)
1417:       -> uint128_fallback {
1417:     ::fmt::detail::ignore_unused((lhs.hi_ == 0), (""));
1417:     uint64_t hi = (lhs.lo_ >> 32) * rhs;
1417:     uint64_t lo = (lhs.lo_ & ~uint32_t()) * rhs;
1417:     uint64_t new_lo = (hi << 32) + lo;
1417:     return {(hi >> 32) + (new_lo < lo ? 1 : 0), new_lo};
1417:   }
1417:   friend auto operator-(const uint128_fallback& lhs, uint64_t rhs)
1417:       -> uint128_fallback {
1417:     return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs};
1417:   }
1417:   constexpr auto operator>>(int shift) const -> uint128_fallback {
1417:     if (shift == 64) return {0, hi_};
1417:     if (shift > 64) return uint128_fallback(0, hi_) >> (shift - 64);
1417:     return {hi_ >> shift, (hi_ << (64 - shift)) | (lo_ >> shift)};
1417:   }
1417:   constexpr auto operator<<(int shift) const -> uint128_fallback {
1417:     if (shift == 64) return {lo_, 0};
1417:     if (shift > 64) return uint128_fallback(lo_, 0) << (shift - 64);
1417:     return {hi_ << shift | (lo_ >> (64 - shift)), (lo_ << shift)};
1417:   }
1417:   constexpr auto operator>>=(int shift) -> uint128_fallback& {
1417:     return *this = *this >> shift;
1417:   }
1417:   constexpr void operator+=(uint128_fallback n) {
1417:     uint64_t new_lo = lo_ + n.lo_;
1417:     uint64_t new_hi = hi_ + n.hi_ + (new_lo < lo_ ? 1 : 0);
1417:     ::fmt::detail::ignore_unused((new_hi >= hi_), (""));
1417:     lo_ = new_lo;
1417:     hi_ = new_hi;
1417:   }
1417: 
1417:   uint128_fallback& operator+=(uint64_t n) noexcept {
1417:     if (is_constant_evaluated()) {
1417:       lo_ += n;
1417:       hi_ += (lo_ < n ? 1 : 0);
1417:       return *this;
1417:     }
1417: # 420 "/usr/include/fmt/format.h" 3 4
1417:     lo_ += n;
1417:     hi_ += (lo_ < n ? 1 : 0);
1417: 
1417:     return *this;
1417:   }
1417: };
1417: 
1417: using uint128_t = conditional_t<0, uint128_opt, uint128_fallback>;
1417: 
1417: 
1417: using uintptr_t = ::uintptr_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename T> constexpr auto max_value() -> T {
1417:   return (std::numeric_limits<T>::max)();
1417: }
1417: template <typename T> constexpr auto num_bits() -> int {
1417:   return std::numeric_limits<T>::digits;
1417: }
1417: 
1417: template <> constexpr auto num_bits<int128_opt>() -> int { return 128; }
1417: template <> constexpr auto num_bits<uint128_t>() -> int { return 128; }
1417: 
1417: 
1417: 
1417: template <typename To, typename From, enable_if_t<(sizeof(To) > sizeof(From)), int> = 0>
1417: inline auto bit_cast(const From& from) -> To {
1417:   constexpr auto size = static_cast<int>(sizeof(From) / sizeof(unsigned));
1417:   struct data_t {
1417:     unsigned value[static_cast<unsigned>(size)];
1417:   } data = bit_cast<data_t>(from);
1417:   auto result = To();
1417:   if (const_check(is_big_endian())) {
1417:     for (int i = 0; i < size; ++i)
1417:       result = (result << num_bits<unsigned>()) | data.value[i];
1417:   } else {
1417:     for (int i = size - 1; i >= 0; --i)
1417:       result = (result << num_bits<unsigned>()) | data.value[i];
1417:   }
1417:   return result;
1417: }
1417: 
1417: inline __attribute__((always_inline)) void assume(bool condition) {
1417:   (void)condition;
1417: 
1417: 
1417: 
1417: }
1417: 
1417: 
1417: template <typename T>
1417: using iterator_t = decltype(std::begin(s     ++__first;
1434:       while (++__first != __last)
1434:  if (!__binary_pred(__dest, __first))
1434:    *++__dest = std::move(*__first);
1434:       return ++__dest;
1434:     }
1434: # 933 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:    
1434:     inline _ForwardIterator
1434:     unique(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__unique(__first, __last,
1434:       __gnu_cxx::__ops::__iter_equal_to_iter());
1434:     }
1434: # 964 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _BinaryPredicate>
1434:    
1434:     inline _ForwardIterator
1434:     unique(_ForwardIterator __first, _ForwardIterator __last,
1434:     _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       return std::__unique(__first, __last,
1434:       __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _OutputIterator,
1434:     typename _BinaryPredicate>
1434:    
1434:     _OutputIterator
1434:     __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
1434:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1434:     forward_iterator_tag, output_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434: 
1434: 
1434:       _ForwardIterator __next = __first;
1434:       *__result = *__first;
1434:       while (++__next != __last)
1434:  if (!__binary_pred(__first, __next))
1434:    {
1434:      __first = __next;
1434:      *++__result = *__first;
1434:    }
1434:       return ++__result;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _BinaryPredicate>
1434:    
1434:     _OutputIterator
1434:     __unique_copy(_InputIterator __first, _InputIterator __last,
1434:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1434:     input_iterator_tag, output_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434: 
1434: 
1434:       typename iterator_traits<_InputIterator>::value_type __value = *__first;
1434:       __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred))
1434:  __rebound_pred
1434:  = __gnu_cxx::__ops::__iter_comp_val(__binary_pred);
1434:       *__result = __value;
1434:       while (++__first != __last)
1434:  if (!__rebound_pred(__first, __value))
1434:    {
1434:      __value = *__first;
1434:      *++__result = __value;
1434:    }
1434:       return ++__result;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _ForwardIterator,
1434:     typename _BinaryPredicate>
1434:    
1434:     _ForwardIterator
1434:     __unique_copy(_InputIterator __first, _InputIterator __last,
1434:     _ForwardIterator __result, _BinaryPredicate __binary_pred,
1434:     input_iterator_tag, forward_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434: 
1434:       *__result = *__first;
1434:       while (++__first != __last)
1434:  if (!__binary_pred(__result, __first))
1434:    *++__result = *__first;
1434:       return ++__result;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _BidirectionalIterator>
1434:    
1434:     void
1434:     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
1434:        bidirectional_iterator_tag)
1434:     {
1434:       while (true)
1434:  if (__first == __last || __first == --__last)
1434:    return;
1434:  else
1434:    {
1434:      std::iter_swap(__first, __last);
1434:      ++__first;
1434:    }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     void
1434:     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:        random_access_iterator_tag)
1434:     {
1434:       if (__first == __last)
1434:  return;
1434:       --__last;
1434:       while (__first < __last)
1434:  {
1434:    std::iter_swap(__first, __last);
1434:    ++__first;
1434:    --__last;
1434:  }
1434:     }
1434: # 1125 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator>
1434:    
1434:     inline void
1434:     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434:       std::__reverse(__first, __last, std::__iterator_category(__first));
1434:     }
1434: # 1153 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator, typename _OutputIterator>
1434:    
1434:     _OutputIterator
1434:     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
1434:    _OutputIterator __result)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       while (__first != __last)
1434:  {
1434:    --__last;
1434:    *__result = *__last;
1434:    ++__result;
1434:  }
1434:       return __result;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _EuclideanRingElement>
1434:    
1434:     _EuclideanRingElement
1434:     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
1434:     {
1434:       while (__n != 0)
1434:  {
1434:    _EuclideanRingElement __t = __m % __n;
1434:    __m = __n;
1434:    __n = __t;
1434:  }
1434:       return __m;
1434:     }
1434: 
1434:   inline namespace _V2
1434:   {
1434: 
1434: 
1434:   template<typename _ForwardIterator>
1434:    
1434:     _ForwardIterator
1434:     __rotate(_ForwardIterator __first,
1434:       _ForwardIterator __middle,
1434:       _ForwardIterator __last,
1434:       forward_iterator_tag)
1434:     {
1434:       if (__first == __middle)
1434:  return __last;
1434:       else if (__last == __middle)
1434:  return __first;
1434: 
1434:       _ForwardIterator __first2 = __middle;
1434:       do
1434:  {
1434:    std::iter_swap(__first, __first2);
1434:    ++__first;
1434:    ++__first2;
1434:    if (__first == __middle)
1434:      __middle = __first2;
1434:  }
1434:       while (__first2 != __last);
1434: 
1434:       _ForwardIterator __ret = __first;
1434: 
1434:       __first2 = __middle;
1434: 
1434:       while (__first2 != __last)
1434:  {
1434:    std::iter_swap(__first, __first2);
1434:    ++__first;
1434:    ++__first2;
1434:    if (__first == __middle)
1434:      __middle = __first2;
1434:    else if (__first2 == __last)
1434:      __first2 = __middle;
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434: 
1434:   template<typename _BidirectionalIterator>
1434:    
1434:     _BidirectionalIterator
1434:     __rotate(_BidirectionalIterator __first,
1434:       _BidirectionalIterator __middle,
1434:       _BidirectionalIterator __last,
1434:        bidirectional_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434: 
1434:       if (__first == __middle)
1434:  return __last;
1434:       else if (__last == __middle)
1434:  return __first;
1434: 
1434:       std::__reverse(__first, __middle, bidirectional_iterator_tag());
1434:       std::__reverse(__middle, __last, bidirectional_iterator_tag());
1434: 
1434:       while (__first != __middle && __middle != __last)
1434:  {
1434:    std::iter_swap(__first, --__last);
1434:    ++__first;
1434:  }
1434: 
1434:       if (__first == __middle)
1434:  {
1434:    std::__reverse(__middle, __last, bidirectional_iterator_tag());
1434:    return __last;
1434:  }
1434:       else
1434:  {
1434:    std::__reverse(__first, __middle, bidirectional_iterator_tag());
1434:    return __first;
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     _RandomAccessIterator
1434:     __rotate(_RandomAccessIterator __first,
1434:       _RandomAccessIterator __middle,
1434:       _RandomAccessIterator __last,
1434:       random_access_iterator_tag)
1434:     {
1434: 
1434:      
1434: 
1434: 
1434:       if (__first == __middle)
1434:  return __last;
1434:       else if (__last == __middle)
1434:  return _(false)
1115:                                                             ;
1115: 
1115:  this->_M_impl._M_swap_data(__x._M_impl);
1115:  _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(),
1115:           __x._M_get_Bit_allocator());
1115:       }
1115: 
1115: 
1115:      
1115:       static void
1115:       swap(reference __x, reference __y) noexcept
1115:       {
1115:  bool __tmp = __x;
1115:  __x = __y;
1115:  __y = __tmp;
1115:       }
1115: 
1115:      
1115:       iterator
1115: 
1115:       insert(const_iterator __position, const bool& __x)
1115: 
1115: 
1115: 
1115:       {
1115:  const difference_type __n = __position - begin();
1115:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()
1115:      && __position == end())
1115:    *this->_M_impl._M_finish++ = __x;
1115:  else
1115:    _M_insert_aux(__position._M_const_cast(), __x);
1115:  return begin() + __n;
1115:       }
1115: 
1115: 
1115:       __attribute__ ((__deprecated__ ("use '" "insert(position, false)" "' instead")))
1115:       iterator
1115:       insert(const_iterator __position)
1115:       { return this->insert(__position._M_const_cast(), false); }
1115: 
1115: 
1115: 
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115: 
1115:  iterator
1115:  insert(const_iterator __position,
1115:         _InputIterator __first, _InputIterator __last)
1115:  {
1115:    difference_type __offset = __position - cbegin();
1115:    _M_insert_range(__position._M_const_cast(),
1115:      __first, __last,
1115:      std::__iterator_category(__first));
1115:    return begin() + __offset;
1115:  }
1115: # 1186 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:      
1115:       iterator
1115:       insert(const_iterator __position, size_type __n, const bool& __x)
1115:       {
1115:  difference_type __offset = __position - cbegin();
1115:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1115:  return begin() + __offset;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      
1115:       iterator
1115:       insert(const_iterator __p, initializer_list<bool> __l)
1115:       { return this->insert(__p, __l.begin(), __l.end()); }
1115: 
1115: 
1115:      
1115:       void
1115:       pop_back()
1115:       { --this->_M_impl._M_finish; }
1115: 
1115:      
1115:       iterator
1115: 
1115:       erase(const_iterator __position)
1115: 
1115: 
1115: 
1115:       { return _M_erase(__position._M_const_cast()); }
1115: 
1115:      
1115:       iterator
1115: 
1115:       erase(const_iterator __first, const_iterator __last)
1115: 
1115: 
1115: 
1115:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1115: 
1115:      
1115:       void
1115:       resize(size_type __new_size, bool __x = bool())
1115:       {
1115:  if (__new_size < size())
1115:    _M_erase_at_end(begin() + difference_type(__new_size));
1115:  else
1115:    insert(end(), __new_size - size(), __x);
1115:       }
1115: 
1115: 
1115:      
1115:       void
1115:       shrink_to_fit()
1115:       { _M_shrink_to_fit(); }
1115: 
1115: 
1115:      
1115:       void
1115:       flip() noexcept
1115:       {
1115:  _Bit_type * const __end = this->_M_impl._M_end_addr();
1115:  for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p)
1115:    *__p = ~*__p;
1115:       }
1115: 
1115:      
1115:       void
1115:       clear() noexcept
1115:       { _M_erase_at_end(begin()); }
1115: 
1115: 
1115:       template<typename... _Args>
1115: 
1115: 
1115:  reference
1115: 
1115: 
1115: 
1115:  emplace_back(_Args&&... __args)
1115:  {
1115:    push_back(bool(__args...));
1115: 
1115:    return back();
1115: 
1115:  }
1115: 
1115:       template<typename... _Args>
1115: 
1115:  iterator
1115:  emplace(const_iterator __pos, _Args&&... __args)
1115:  { return insert(__pos, bool(__args...)); }
1115: 
1115: 
1115:     protected:
1115: 
1115:      
1115:       iterator
1115:       _M_copy_aligned(const_iterator __first, const_iterator __last,
1115:         iterator __result)
1115:       {
1115:  _Btd::declval<T&>()));
1417: template <typename T> using sentinel_t = decltype(std::end(std::declval<T&>()));
1417: 
1417: 
1417: template <typename Char>
1417: inline auto get_data(std::basic_string<Char>& s) -> Char* {
1417:   return &s[0];
1417: }
1417: template <typename Container>
1417: inline auto get_data(Container& c) -> typename Container::value_type* {
1417:   return c.data();
1417: }
1417: # 496 "/usr/include/fmt/format.h" 3 4
1417: template <typename T> using checked_ptr = T*;
1417: template <typename T> constexpr auto make_checked(T* p, size_t) -> T* {
1417:   return p;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1417: 
1417: 
1417: 
1417: inline auto
1417: reserve(std::back_insert_iterator<Container> it, size_t n)
1417:     -> checked_ptr<typename Container::value_type> {
1417:   Container& c = get_container(it);
1417:   size_t size = c.size();
1417:   c.resize(size + n);
1417:   return make_checked(get_data(c) + size, n);
1417: }
1417: 
1417: template <typename T>
1417: inline auto reserve(buffer_appender<T> it, size_t n) -> buffer_appender<T> {
1417:   buffer<T>& buf = get_container(it);
1417:   buf.try_reserve(buf.size() + n);
1417:   return it;
1417: }
1417: 
1417: template <typename Iterator>
1417: constexpr auto reserve(Iterator& it, size_t) -> Iterator& {
1417:   return it;
1417: }
1417: 
1417: template <typename OutputIt>
1417: using reserve_iterator =
1417:     remove_reference_t<decltype(reserve(std::declval<OutputIt&>(), 0))>;
1417: 
1417: template <typename T, typename OutputIt>
1417: constexpr auto to_pointer(OutputIt, size_t) -> T* {
1417:   return nullptr;
1417: }
1417: template <typename T> auto to_pointer(buffer_appender<T> it, size_t n) -> T* {
1417:   buffer<T>& buf = get_container(it);
1417:   auto size = buf.size();
1417:   if (buf.capacity() < size + n) return nullptr;
1417:   buf.try_resize(size + n);
1417:   return buf.data() + size;
1417: }
1417: 
1417: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1417: inline auto base_iterator(std::back_insert_iterator<Container>& it,
1417:                           checked_ptr<typename Container::value_type>)
1417:     -> std::back_insert_iterator<Container> {
1417:   return it;
1417: }
1417: 
1417: template <typename Iterator>
1417: constexpr auto base_iterator(Iterator, Iterator it) -> Iterator {
1417:   return it;
1417: }
1417: 
1417: 
1417: 
1417: template <typename OutputIt, typename Size, typename T>
1417: constexpr auto fill_n(OutputIt out, Size count, const T& value)
1417:     -> OutputIt {
1417:   for (Size i = 0; i < count; ++i) *out++ = value;
1417:   return out;
1417: }
1417: template <typename T, typename Size>
1417:  auto fill_n(T* out, Size count, char value) -> T* {
1417:   if (is_constant_evaluated()) {
1417:     return fill_n<T*, Size, T>(out, count, value);
1417:   }
1417:   std::memset(out, value, to_unsigned(count));
1417:   return out + count;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: enum char8_type : unsigned char {};
1417: 
1417: 
1417: template <typename OutChar, typename InputIt, typename OutputIt>
1417: constexpr __attribute__((noinline)) auto copy_str_noinline(InputIt begin, InputIt end,
1417:                                                   OutputIt out) -> OutputIt {
1417:   return copy_str<OutChar>(begin, end, out);
1417: }
1417: # 603 "/usr/include/fmt/format.h" 3 4
1417: constexpr inline auto utf8_decode(const char* s, uint32_t* c, int* e)
1417:     -> const char* {
1417:   constexpr const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07};
1417:   constexpr const uint32_t mins[] = {4194304, 0, 128, 2048, 65536};
1417:   constexpr const int shiftc[] = {0, 18, 12, 6, 0};
1417:   constexpr const int shifte[] = {0, 6, 4, 2, 0};
1417: 
1417:   int len = code_point_length_impl(*s);
1417: 
1417: 
1417: 
1417:   const char* next = s + len + !len;
1417: 
1417:   using uchar = unsigned char;
1417: 
1417: 
1417: 
1417:   *c = uint32_t(uchar(s[0]) & masks[len]) << 18;
1417:   *c |= uint32_t(uchar(s[1]) & 0_first;
1434: 
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:  _Distance;
1434:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1434:  _ValueType;
1434: 
1434:       _Distance __n = __last - __first;
1434:       _Distance __k = __middle - __first;
1434: 
1434:       if (__k == __n - __k)
1434:  {
1434:    std::swap_ranges(__first, __middle, __middle);
1434:    return __middle;
1434:  }
1434: 
1434:       _RandomAccessIterator __p = __first;
1434:       _RandomAccessIterator __ret = __first + (__last - __middle);
1434: 
1434:       for (;;)
1434:  {
1434:    if (__k < __n - __k)
1434:      {
1434:        if (__is_pod(_ValueType) && __k == 1)
1434:   {
1434:     _ValueType __t = std::move(*__p);
1434:     std::move(__p + 1, __p + __n, __p);
1434:     *(__p + __n - 1) = std::move(__t);
1434:     return __ret;
1434:   }
1434:        _RandomAccessIterator __q = __p + __k;
1434:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1434:   {
1434:     std::iter_swap(__p, __q);
1434:     ++__p;
1434:     ++__q;
1434:   }
1434:        __n %= __k;
1434:        if (__n == 0)
1434:   return __ret;
1434:        std::swap(__n, __k);
1434:        __k = __n - __k;
1434:      }
1434:    else
1434:      {
1434:        __k = __n - __k;
1434:        if (__is_pod(_ValueType) && __k == 1)
1434:   {
1434:     _ValueType __t = std::move(*(__p + __n - 1));
1434:     std::move_backward(__p, __p + __n - 1, __p + __n);
1434:     *__p = std::move(__t);
1434:     return __ret;
1434:   }
1434:        _RandomAccessIterator __q = __p + __n;
1434:        __p = __q - __k;
1434:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1434:   {
1434:     --__p;
1434:     --__q;
1434:     std::iter_swap(__p, __q);
1434:   }
1434:        __n %= __k;
1434:        if (__n == 0)
1434:   return __ret;
1434:        std::swap(__n, __k);
1434:      }
1434:  }
1434:     }
1434: # 1385 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:    
1434:     inline _ForwardIterator
1434:     rotate(_ForwardIterator __first, _ForwardIterator __middle,
1434:     _ForwardIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__rotate(__first, __middle, __last,
1434:       std::__iterator_category(__first));
1434:     }
1434: 
1434:   }
1434: # 1423 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
1434:   _ForwardIterator __last, _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::copy(__first, __middle,
1434:          std::copy(__middle, __last, __result));
1434:     }
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _Predicate>
1434:    
1434:     _ForwardIterator
1434:     __partition(_ForwardIterator __first, _ForwardIterator __last,
1434:   _Predicate __pred, forward_iterator_tag)
1434:     {
1434:       if (__first == __last)
1434:  return __first;
1434: 
1434:       while (__pred(*__first))
1434:  if (++__first == __last)
1434:    return __first;
1434: 
1434:       _ForwardIterator __next = __first;
1434: 
1434:       while (++__next != __last)
1434:  if (__pred(*__next))
1434:    {
1434:      std::iter_swap(__first, __next);
1434:      ++__first;
1434:    }
1434: 
1434:       return __first;
1434:     }
1434: 
1434: 
1434:   template<typename _BidirectionalIterator, typename _Predicate>
1434:    
1434:     _BidirectionalIterator
1434:     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
1434:   _Predicate __pred, bidirectional_iterator_tag)
1434:     {
1434:       while (true)
1434:  {
1434:    while (true)
1434:      if (__first == __last)
1434:        return __first;
1434:      else if (__pred(*__first))
1434:        ++__first;
1434:      else
1434:        break;
1434:    --__last;
1434:    while (true)it_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
1115:  return std::copy(const_iterator(__last._M_p, 0), __last,
1115:     iterator(__q, 0));
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_initialize(size_type __n)
1115:       {
1115:  if (__n)
1115:    {
1115:      _Bit_pointer __q = this->_M_allocate(__n);
1115:      this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1115:      iterator __start = iterator(std::__addressof(*__q), 0);
1115:      this->_M_impl._M_start = __start;
1115:      this->_M_impl._M_finish = __start + difference_type(__n);
1115:    }
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_initialize_value(bool __x) noexcept
1115:       {
1115:  if (_Bit_type* __p = this->_M_impl._M_start._M_p)
1115:    __fill_bvector_n(__p, this->_M_impl._M_end_addr() - __p, __x);
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_reallocate(size_type __n);
1115: 
1115: 
1115:      
1115:       bool
1115:       _M_shrink_to_fit();
1115: # 1347 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_initialize_range(_InputIterator __first, _InputIterator __last,
1115:        std::input_iterator_tag)
1115:  {
1115:    for (; __first != __last; ++__first)
1115:      push_back(*__first);
1115:  }
1115: 
1115:       template<typename _ForwardIterator>
1115: 
1115:  void
1115:  _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
1115:        std::forward_iterator_tag)
1115:  {
1115:    const size_type __n = std::distance(__first, __last);
1115:    _M_initialize(__n);
1115:    std::copy(__first, __last, begin());
1115:  }
1115: # 1383 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:      
1115:       void
1115:       _M_fill_assign(size_t __n, bool __x)
1115:       {
1115:  if (__n > size())
1115:    {
1115:      _M_initialize_value(__x);
1115:      insert(end(), __n - size(), __x);
1115:    }
1115:  else
1115:    {
1115:      _M_erase_at_end(begin() + __n);
1115:      _M_initialize_value(__x);
1115:    }
1115:       }
1115: 
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1115:         std::input_iterator_tag)
1115:  {
1115:    iterator __cur = begin();
1115:    for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1115:      *__cur = *__first;
1115:    if (__first == __last)
1115:      _M_erase_at_end(__cur);
1115:    else
1115:      insert(end(), __first, __last);
1115:  }
1115: 
1115:       template<typename _ForwardIterator>
1115: 
1115:  void
1115:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1115:         std::forward_iterator_tag)
1115:  {
1115:    const size_type __len = std::distance(__first, __last);
1115:    if (__len < size())
1115:      _M_erase_at_end(std::copy(__first, __last, begin()));
1115:    else
1115:      {
1115:        _ForwardIterator __mid = __first;
1115:        std::advance(__mid, size());
1115:        std::copy(__first, __mid, begin());
1115:        insert(end(), __mid, __last);
1115:      }
1115:  }
1115: # 1450 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:      
1115:       void
1115:       _M_fill_insert(iterator __position, size_type __n, bool __x);
1115: 
1115:       template<typename _InputIterator>
1115: 
1115:  void
1115:  _M_insert_range(iterator __pos, _InputIterator __first,
1115:    _InputIterator __last, std::input_iterator_tag)
1115:  {
1115:    for (; __first != __last; ++__first)
1115:      {
1115:        __pos = insert(__pos, *__first);
1115:        ++__pos;
1115:      }
1115:  }
1115: 
1115:       template<typename _ForwardIterator>
1115: 
1115:  void
1115:  _M_insert_range(iterator __position, _ForwardIterator __first,
1115:    _ForwardIterator __last, std::forward_iterator_tag);
1115: 
1115:      
1115:       void
1115:       _M_insert_aux(iterator __position, bool __x);
1115: 
1115:      
1115:       size_type
1115:       _M_check_len(size_type __n, const char* __s) const
1115:       {
1115:  if (max_size()
1434:      if (__first == __last)
1434:        return __first;
1434:      else if (!bool(__pred(*__last)))
1434:        --__last;
1434:      else
1434:        break;
1434:    std::iter_swap(__first, __last);
1434:    ++__first;
1434:  }
1434:     }
1434: # 1503 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
1434:     typename _Distance>
1434:     _ForwardIterator
1434:     __stable_partition_adaptive(_ForwardIterator __first,
1434:     _ForwardIterator __last,
1434:     _Predicate __pred, _Distance __len,
1434:     _Pointer __buffer,
1434:     _Distance __buffer_size)
1434:     {
1434:       if (__len == 1)
1434:  return __first;
1434: 
1434:       if (__len <= __buffer_size)
1434:  {
1434:    _ForwardIterator __result1 = __first;
1434:    _Pointer __result2 = __buffer;
1434: 
1434: 
1434: 
1434: 
1434:    *__result2 = std::move(*__first);
1434:    ++__result2;
1434:    ++__first;
1434:    for (; __first != __last; ++__first)
1434:      if (__pred(__first))
1434:        {
1434:   *__result1 = std::move(*__first);
1434:   ++__result1;
1434:        }
1434:      else
1434:        {
1434:   *__result2 = std::move(*__first);
1434:   ++__result2;
1434:        }
1434: 
1434:    std::move(__buffer, __result2, __result1);
1434:    return __result1;
1434:  }
1434: 
1434:       _ForwardIterator __middle = __first;
1434:       std::advance(__middle, __len / 2);
1434:       _ForwardIterator __left_split =
1434:  std::__stable_partition_adaptive(__first, __middle, __pred,
1434:       __len / 2, __buffer,
1434:       __buffer_size);
1434: 
1434: 
1434: 
1434:       _Distance __right_len = __len - __len / 2;
1434:       _ForwardIterator __right_split =
1434:  std::__find_if_not_n(__middle, __right_len, __pred);
1434: 
1434:       if (__right_len)
1434:  __right_split =
1434:    std::__stable_partition_adaptive(__right_split, __last, __pred,
1434:         __right_len,
1434:         __buffer, __buffer_size);
1434: 
1434:       return std::rotate(__left_split, __middle, __right_split);
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Predicate>
1434:     _ForwardIterator
1434:     __stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1434:          _Predicate __pred)
1434:     {
1434:       __first = std::__find_if_not(__first, __last, __pred);
1434: 
1434:       if (__first == __last)
1434:  return __first;
1434: 
1434:       typedef typename iterator_traits<_ForwardIterator>::value_type
1434:  _ValueType;
1434:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1434:  _DistanceType;
1434: 
1434:       _Temporary_buffer<_ForwardIterator, _ValueType>
1434:  __buf(__first, std::distance(__first, __last));
1434:       return
1434:  std::__stable_partition_adaptive(__first, __last, __pred,
1434:       _DistanceType(__buf.requested_size()),
1434:       __buf.begin(),
1434:       _DistanceType(__buf.size()));
1434:     }
1434: # 1605 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Predicate>
1434:     inline _ForwardIterator
1434:     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1434:        _Predicate __pred)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__stable_partition(__first, __last,
1434:          __gnu_cxx::__ops::__pred_iter(__pred));
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     void
1434:     __heap_select(_RandomAccessIterator __first,
1434:     _RandomAccessIterator __middle,
1434:     _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434:       std::__make_heap(__first, __middle, __comp);
1434:       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
1434:  if (__comp(__i, __first))
1434:    std::__pop_heap(__first, __middle, __i, __comp);
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _RandomAccessIterator,
1434:     typename _Compare>
1434: x3f) << 12;
1417:   *c |= uint32_t(uchar(s[2]) & 0x3f) << 6;
1417:   *c |= uint32_t(uchar(s[3]) & 0x3f) << 0;
1417:   *c >>= shiftc[len];
1417: 
1417: 
1417:   *e = (*c < mins[len]) << 6;
1417:   *e |= ((*c >> 11) == 0x1b) << 7;
1417:   *e |= (*c > 0x10FFFF) << 8;
1417:   *e |= (uchar(s[1]) & 0xc0) >> 2;
1417:   *e |= (uchar(s[2]) & 0xc0) >> 4;
1417:   *e |= uchar(s[3]) >> 6;
1417:   *e ^= 0x2a;
1417:   *e >>= shifte[len];
1417: 
1417:   return next;
1417: }
1417: 
1417: constexpr uint32_t invalid_code_point = ~uint32_t();
1417: 
1417: 
1417: 
1417: template <typename F>
1417: constexpr void for_each_codepoint(string_view s, F f) {
1417:   auto decode = [f](const char* buf_ptr, const char* ptr) {
1417:     auto cp = uint32_t();
1417:     auto error = 0;
1417:     auto end = utf8_decode(buf_ptr, &cp, &error);
1417:     bool result = f(error ? invalid_code_point : cp,
1417:                     string_view(ptr, error ? 1 : to_unsigned(end - buf_ptr)));
1417:     return result ? (error ? buf_ptr + 1 : end) : nullptr;
1417:   };
1417:   auto p = s.data();
1417:   const size_t block_size = 4;
1417:   if (s.size() >= block_size) {
1417:     for (auto end = p + s.size() - block_size + 1; p < end;) {
1417:       p = decode(p, p);
1417:       if (!p) return;
1417:     }
1417:   }
1417:   if (auto num_chars_left = s.data() + s.size() - p) {
1417:     char buf[2 * block_size - 1] = {};
1417:     copy_str<char>(p, p + num_chars_left, buf);
1417:     const char* buf_ptr = buf;
1417:     do {
1417:       auto end = decode(buf_ptr, p);
1417:       if (!end) return;
1417:       p += end - buf_ptr;
1417:       buf_ptr = end;
1417:     } while (buf_ptr - buf < num_chars_left);
1417:   }
1417: }
1417: 
1417: template <typename Char>
1417: inline auto compute_width(basic_string_view<Char> s) -> size_t {
1417:   return s.size();
1417: }
1417: 
1417: 
1417: constexpr inline size_t compute_width(string_view s) {
1417:   size_t num_code_points = 0;
1417: 
1417:   struct count_code_points {
1417:     size_t* count;
1417:     constexpr auto operator()(uint32_t cp, string_view) const -> bool {
1417:       *count += detail::to_unsigned(
1417:           1 +
1417:           (cp >= 0x1100 &&
1417:            (cp <= 0x115f ||
1417:             cp == 0x2329 ||
1417:             cp == 0x232a ||
1417: 
1417:             (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
1417:             (cp >= 0xac00 && cp <= 0xd7a3) ||
1417:             (cp >= 0xf900 && cp <= 0xfaff) ||
1417:             (cp >= 0xfe10 && cp <= 0xfe19) ||
1417:             (cp >= 0xfe30 && cp <= 0xfe6f) ||
1417:             (cp >= 0xff00 && cp <= 0xff60) ||
1417:             (cp >= 0xffe0 && cp <= 0xffe6) ||
1417:             (cp >= 0x20000 && cp <= 0x2fffd) ||
1417:             (cp >= 0x30000 && cp <= 0x3fffd) ||
1417: 
1417:             (cp >= 0x1f300 && cp <= 0x1f64f) ||
1417: 
1417:             (cp >= 0x1f900 && cp <= 0x1f9ff))));
1417:       return true;
1417:     }
1417:   };
1417:   for_each_codepoint(s, count_code_points{&num_code_points});
1417:   return num_code_points;
1417: }
1417: 
1417: inline auto compute_width(basic_string_view<char8_type> s) -> size_t {
1417:   return compute_width(
1417:       string_view(reinterpret_cast<const char*>(s.data()), s.size()));
1417: }
1417: 
1417: template <typename Char>
1417: inline auto code_point_index(basic_string_view<Char> s, size_t n) -> size_t {
1417:   size_t size = s.size();
1417:   return n < size ? n : size;
1417: }
1417: 
1417: 
1417: inline auto code_point_index(string_view s, size_t n) -> size_t {
1417:   const char* data = s.data();
1417:   size_t num_code_points = 0;
1417:   for (size_t i = 0, size = s.size(); i != size; ++i) {
1417:     if ((data[i] & 0xc0) != 0x80 && ++num_code_points > n) return i;
1417:   }
1417:   return s.size();
1417: }
1417: 
1417: inline auto code_point_index(basic_string_view<char8_type> s, size_t n)
1417:     -> size_t {
1417:   return code_point_index(
1417:       string_view(reinterpret_cast<const char*>(s.data()), s.size()), n);
1417: }
1417: # 750 "/usr/include/fmt/format.h" 3 4
1417: using f   
1434:     _RandomAccessIterator
1434:     __partial_sort_copy(_InputIterator __first, _InputIterator __last,
1434:    _RandomAccessIterator __result_first,
1434:    _RandomAccessIterator __result_last,
1434:    _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_InputIterator>::value_type
1434:  _InputValueType;
1434:       typedef iterator_traits<_RandomAccessIterator> _RItTraits;
1434:       typedef typename _RItTraits::difference_type _DistanceType;
1434: 
1434:       if (__result_first == __result_last)
1434:  return __result_last;
1434:       _RandomAccessIterator __result_real_last = __result_first;
1434:       while (__first != __last && __result_real_last != __result_last)
1434:  {
1434:    *__result_real_last = *__first;
1434:    ++__result_real_last;
1434:    ++__first;
1434:  }
1434: 
1434:       std::__make_heap(__result_first, __result_real_last, __comp);
1434:       while (__first != __last)
1434:  {
1434:    if (__comp(__first, __result_first))
1434:      std::__adjust_heap(__result_first, _DistanceType(0),
1434:           _DistanceType(__result_real_last
1434:           - __result_first),
1434:           _InputValueType(*__first), __comp);
1434:    ++__first;
1434:  }
1434:       std::__sort_heap(__result_first, __result_real_last, __comp);
1434:       return __result_real_last;
1434:     }
1434: # 1693 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _RandomAccessIterator>
1434:    
1434:     inline _RandomAccessIterator
1434:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1434:         _RandomAccessIterator __result_first,
1434:         _RandomAccessIterator __result_last)
1434:     {
1434: # 1708 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__partial_sort_copy(__first, __last,
1434:           __result_first, __result_last,
1434:           __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 1743 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _RandomAccessIterator,
1434:     typename _Compare>
1434:    
1434:     inline _RandomAccessIterator
1434:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1434:         _RandomAccessIterator __result_first,
1434:         _RandomAccessIterator __result_last,
1434:         _Compare __comp)
1434:     {
1434: # 1760 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__partial_sort_copy(__first, __last,
1434:           __result_first, __result_last,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     void
1434:     __unguarded_linear_insert(_RandomAccessIterator __last,
1434:          _Compare __comp)
1434:     {
1434:       typename iterator_traits<_RandomAccessIterator>::value_type
1434:  __val = std::move(*__last);
1434:       _RandomAccessIterator __next = __last;
1434:       --__next;
1434:       while (__comp(__val, __next))
1434:  {
1434:    *__last = std::move(*__next);
1434:    __last = __next;
1434:    --__next;
1434:  }
1434:       *__last = std::move(__val);
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     void
1434:     __insertion_sort(_RandomAccessIterator __first,
1434:        _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434:       if (__first == __last) return;
1434: 
1434:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1434:  {
1434:    if (__comp(__i, __first))
1434:      {
1434:        typename iterator_traits<_RandomAccessIterator>::value_type
1434:   __val = std::move(*__i);
1434:        std::move_backward(__first, __i, __i + 1);
1434:        *__first = std::move(__val);
1434:      }
1434:    el - size() < __n)
1115:    __throw_length_error((__s));
1115: 
1115:  const size_type __len = size() + std::max(size(), __n);
1115:  return (__len < size() || __len > max_size()) ? max_size() : __len;
1115:       }
1115: 
1115:      
1115:       void
1115:       _M_erase_at_end(iterator __pos)
1115:       { this->_M_impl._M_finish = __pos; }
1115: 
1115:      
1115:       iterator
1115:       _M_erase(iterator __pos);
1115: 
1115:      
1115:       iterator
1115:       _M_erase(iterator __first, iterator __last);
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void data() = delete;
1115: 
1115: 
1115: 
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:  
1115:   inline void
1115:   __fill_bvector(_Bit_type* __v, unsigned int __first, unsigned int __last,
1115:    bool __x) noexcept
1115:   {
1115:     const _Bit_type __fmask = ~0ul << __first;
1115:     const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last);
1115:     const _Bit_type __mask = __fmask & __lmask;
1115: 
1115:     if (__x)
1115:       *__v |= __mask;
1115:     else
1115:       *__v &= ~__mask;
1115:   }
1115: 
1115: 
1115:   __attribute__((__nonnull__))
1115:  
1115:   inline void
1115:   __fill_bvector_n(_Bit_type* __p, size_t __n, bool __x) noexcept
1115:   {
1115: # 1546 "/usr/include/c++/12/bits/stl_bvector.h" 3
1115:     __builtin_memset(__p, __x ? ~0 : 0, __n * sizeof(_Bit_type));
1115:   }
1115: 
1115: 
1115:  
1115:   inline void
1115:   __fill_a1(std::_Bit_iterator __first,
1115:      std::_Bit_iterator __last, const bool& __x)
1115:   {
1115:     if (__first._M_p != __last._M_p)
1115:       {
1115:  _Bit_type* __first_p = __first._M_p;
1115:  if (__first._M_offset != 0)
1115:    __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x);
1115: 
1115:  __fill_bvector_n(__first_p, __last._M_p - __first_p, __x);
1115: 
1115:  if (__last._M_offset != 0)
1115:    __fill_bvector(__last._M_p, 0, __last._M_offset, __x);
1115:       }
1115:     else if (__first._M_offset != __last._M_offset)
1115:       __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x);
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Alloc>
1115:     struct hash<std::vector<bool, _Alloc>>
1115:     : public __hash_base<size_t, std::vector<bool, _Alloc>>
1115:     {
1115:       size_t
1115:       operator()(const std::vector<bool, _Alloc>&) const noexcept;
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 66 "/usr/include/c++/12/vector" 2 3
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/vector.tcc" 1 3
1115: # 59 "/usr/include/c++/12/bits/vector.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     void
1115:     vector<_Tp, _Alloc>::
1115:     reserve(size_type __n)
1115:     {
1115:       if (__n > this->max_size())
1115:  __throw_length_error(("vector::reserve"));
1115:       if (this->capacity() < __n)
1115:  {
1115:    const size_type __old_size = size();
1115:    pointer __tmp;
1115: 
1115:    if constexpr (_S_use_relocate())
1115:      {
1115:        __tmp = this->_M_allocate(__n);
1115:        _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:      __tmp, _M_get_Tp_allocator());
1115:      }
1115:    else
1115: 
1115:      {
1115:        __tmp = _M_allocate_and_copy(__n,
1115:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_start),
1115:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish));
1115:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:        _M_get_Tp_allocator());
1115:      }
1115:    ;
1115:    _M_deallocate(this->_M_impl._M_start,
1115:    this->_M_impl._M_end_of_storage
1115:    - this->_M_impl._M_start);
1115:    this->_M_impl._M_start = __tmp;
1115:    this->_M_impl._M_finish = __tmp + __old_size;
1115:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename... _Args>
1115: 
1115se
1434:      std::__unguarded_linear_insert(__i,
1434:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     __unguarded_insertion_sort(_RandomAccessIterator __first,
1434:           _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434:       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
1434:  std::__unguarded_linear_insert(__i,
1434:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   enum { _S_threshold = 16 };
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     void
1434:     __final_insertion_sort(_RandomAccessIterator __first,
1434:       _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434:       if (__last - __first > int(_S_threshold))
1434:  {
1434:    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
1434:    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
1434:        __comp);
1434:  }
1434:       else
1434:  std::__insertion_sort(__first, __last, __comp);
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     _RandomAccessIterator
1434:     __unguarded_partition(_RandomAccessIterator __first,
1434:      _RandomAccessIterator __last,
1434:      _RandomAccessIterator __pivot, _Compare __comp)
1434:     {
1434:       while (true)
1434:  {
1434:    while (__comp(__first, __pivot))
1434:      ++__first;
1434:    --__last;
1434:    while (__comp(__pivot, __last))
1434:      --__last;
1434:    if (!(__first < __last))
1434:      return __first;
1434:    std::iter_swap(__first, __last);
1434:    ++__first;
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline _RandomAccessIterator
1434:     __unguarded_partition_pivot(_RandomAccessIterator __first,
1434:     _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434:       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
1434:       std::__move_median_to_first(__first, __first + 1, __mid, __last - 1,
1434:       __comp);
1434:       return std::__unguarded_partition(__first + 1, __last, __first, __comp);
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     __partial_sort(_RandomAccessIterator __first,
1434:      _RandomAccessIterator __middle,
1434:      _RandomAccessIterator __last,
1434:      _Compare __comp)
1434:     {
1434:       std::__heap_select(__first, __middle, __last, __comp);
1434:       std::__sort_heap(__first, __middle, __comp);
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
1434:    
1434:     void
1434:     __introsort_loop(_RandomAccessIterator __first,
1434:        _RandomAccessIterator __last,
1434:        _Size __depth_limit, _Compare __comp)
1434:     {
1434:       while (__last - __first > int(_S_threshold))
1434:  {
1434:    if (__depth_limit == 0)
1434:      {
1434:        std::__partial_sort(__first, __last, __last, __comp);
1434:        return;
1434:      }
1434:    --__depth_limit;
1434:    _RandomAccessIterator __cut =
1434:      std::__unguarded_partition_pivot(__first, __last, __comp);
1434:    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
1434:    __last = __cut;
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     __sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:     _Compare __comp)
1434:     {
1434:       if (__first != __last)
1434:  {
1434:    std::__introsort_loop(__first, __last,
1434:     std::__lg(__last - __first) * 2,
1434:     __comp);
1434:    std::__final_insertion_sort(__first, __last, __comp);
1434:  }
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _loat128 = void;
1417: 
1417: template <typename T> using is_float128 = std::is_same<T, float128>;
1417: 
1417: template <typename T>
1417: using is_floating_point =
1417:     bool_constant<std::is_floating_point<T>::value || is_float128<T>::value>;
1417: 
1417: template <typename T, bool = std::is_floating_point<T>::value>
1417: struct is_fast_float : bool_constant<std::numeric_limits<T>::is_iec559 &&
1417:                                      sizeof(T) <= sizeof(double)> {};
1417: template <typename T> struct is_fast_float<T, false> : std::false_type {};
1417: 
1417: template <typename T>
1417: using is_double_double = bool_constant<std::numeric_limits<T>::digits == 106>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename T>
1417: template <typename U>
1417: void buffer<T>::append(const U* begin, const U* end) {
1417:   while (begin != end) {
1417:     auto count = to_unsigned(end - begin);
1417:     try_reserve(size_ + count);
1417:     auto free_cap = capacity_ - size_;
1417:     if (free_cap < count) count = free_cap;
1417:     std::uninitialized_copy_n(begin, count, make_checked(ptr_ + size_, count));
1417:     size_ += count;
1417:     begin += count;
1417:   }
1417: }
1417: 
1417: template <typename T, typename Enable = void>
1417: struct is_locale : std::false_type {};
1417: template <typename T>
1417: struct is_locale<T, void_t<decltype(T::classic())>> : std::true_type {};
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum { inline_buffer_size = 500 };
1417: # 817 "/usr/include/fmt/format.h" 3 4
1417: template <typename T, size_t SIZE = inline_buffer_size,
1417:           typename Allocator = std::allocator<T>>
1417: class basic_memory_buffer final : public detail::buffer<T> {
1417:  private:
1417:   T store_[SIZE];
1417: 
1417: 
1417:   Allocator alloc_;
1417: 
1417: 
1417:   void deallocate() {
1417:     T* data = this->data();
1417:     if (data != store_) alloc_.deallocate(data, this->capacity());
1417:   }
1417: 
1417:  protected:
1417:   void grow(size_t size) override;
1417: 
1417:  public:
1417:   using value_type = T;
1417:   using const_reference = const T&;
1417: 
1417:   explicit basic_memory_buffer(
1417:       const Allocator& alloc = Allocator())
1417:       : alloc_(alloc) {
1417:     this->set(store_, SIZE);
1417:     if (detail::is_constant_evaluated()) detail::fill_n(store_, SIZE, T());
1417:   }
1417:   ~basic_memory_buffer() { deallocate(); }
1417: 
1417:  private:
1417: 
1417:   void move(basic_memory_buffer& other) {
1417:     alloc_ = std::move(other.alloc_);
1417:     T* data = other.data();
1417:     size_t size = other.size(), capacity = other.capacity();
1417:     if (data == other.store_) {
1417:       this->set(store_, capacity);
1417:       detail::copy_str<T>(other.store_, other.store_ + size,
1417:                           detail::make_checked(store_, capacity));
1417:     } else {
1417:       this->set(data, capacity);
1417: 
1417: 
1417:       other.set(other.store_, 0);
1417:       other.clear();
1417:     }
1417:     this->resize(size);
1417:   }
1417: 
1417:  public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   basic_memory_buffer(basic_memory_buffer&& other) noexcept {
1417:     move(other);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   auto operator=(basic_memory_buffer&& other) noexcept -> basic_memory_buffer& {
1417:     ::fmt::detail::ignore_unused((this != &other), (""));
1417:     deallocate();
1417:     move(other);
1417:     return *this;
1417:   }
1417: 
1417: 
1417:   auto get_allocator() const -> Allocator { return alloc_; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void resize(size_t count) { this->try_resize(count); }
1417: 
1417: 
1417:   void reserve(size_t new_capacity) { this->try_reserve(new_capacity); }
1417: 
1417: 
1417:   using detail::buffer<T>::append;
1417:   template <typename ContiguousRange>
1417:   void append(const ContiguousRange& range) {
1417:     append(range.data(), range.data() + range.size());
1417:   }
1417: };
1417: 
1417: template <typename T, size_t SIZE, typename Allocator>
1417:  void basic_memory_bSize, typename _Compare>
1434:    
1434:     void
1434:     __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1434:     _RandomAccessIterator __last, _Size __depth_limit,
1434:     _Compare __comp)
1434:     {
1434:       while (__last - __first > 3)
1434:  {
1434:    if (__depth_limit == 0)
1434:      {
1434:        std::__heap_select(__first, __nth + 1, __last, __comp);
1434: 
1434:        std::iter_swap(__first, __nth);
1434:        return;
1434:      }
1434:    --__depth_limit;
1434:    _RandomAccessIterator __cut =
1434:      std::__unguarded_partition_pivot(__first, __last, __comp);
1434:    if (__cut <= __nth)
1434:      __first = __cut;
1434:    else
1434:      __last = __cut;
1434:  }
1434:       std::__insertion_sort(__first, __last, __comp);
1434:     }
1434: # 1991 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1434:    
1434:     inline _ForwardIterator
1434:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1434:   const _Tp& __val, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434:                     ;
1434: 
1434:       return std::__lower_bound(__first, __last, __val,
1434:     __gnu_cxx::__ops::__iter_comp_val(__comp));
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1434:    
1434:     _ForwardIterator
1434:     __upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1434:     const _Tp& __val, _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1434:  _DistanceType;
1434: 
1434:       _DistanceType __len = std::distance(__first, __last);
1434: 
1434:       while (__len > 0)
1434:  {
1434:    _DistanceType __half = __len >> 1;
1434:    _ForwardIterator __middle = __first;
1434:    std::advance(__middle, __half);
1434:    if (__comp(__val, __middle))
1434:      __len = __half;
1434:    else
1434:      {
1434:        __first = __middle;
1434:        ++__first;
1434:        __len = __len - __half - 1;
1434:      }
1434:  }
1434:       return __first;
1434:     }
1434: # 2047 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline _ForwardIterator
1434:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1434:   const _Tp& __val)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__upper_bound(__first, __last, __val,
1434:     __gnu_cxx::__ops::__val_less_iter());
1434:     }
1434: # 2078 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1434:    
1434:     inline _ForwardIterator
1434:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1434:   const _Tp& __val, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434:                     ;
1434: 
1434:       return std::__upper_bound(__first, __last, __val,
1434:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Tp,
1434:     typename _CompareItTp, typename _CompareTpIt>
1434:    
1434:     pair<_ForwardIterator, _ForwardIterator>
1434:     __equal_range(_ForwardIterator __first, _ForwardIterator __last,
1434:     const _Tp& __val,
1434:     _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it)
1434:     {
1434:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1434:  _DistanceType;
1434: 
1434:       _DistanceType __len = std::distance(__first, __last);
1434: 
1434:       while (__len > 0)
1434:  {
1434:    _DistanceType __half = __len >> 1;
1434:    _ForwardIterator __middle = __first;
1434:    std::advance(__middle, __half);
1434:    if (__comp_it_val(__middle, __val))
1434:      {
1434:        __first = __middle;
1434:        ++__first;
1434:        __len = __len - __half - 1;
1434:      }
1434:    else if (__comp_val_it(__val, __middle))
1434:      __len = __half;
14:      
1115:       typename vector<_Tp, _Alloc>::reference
1115: 
1115: 
1115: 
1115:       vector<_Tp, _Alloc>::
1115:       emplace_back(_Args&&... __args)
1115:       {
1115:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1115:    {
1115:      ;
1115:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1115:          std::forward<_Args>(__args)...);
1115:      ++this->_M_impl._M_finish;
1115:      ;
1115:    }
1115:  else
1115:    _M_realloc_insert(end(), std::forward<_Args>(__args)...);
1115: 
1115:  return back();
1115: 
1115:       }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     typename vector<_Tp, _Alloc>::iterator
1115:     vector<_Tp, _Alloc>::
1115: 
1115:     insert(const_iterator __position, const value_type& __x)
1115: 
1115: 
1115: 
1115:     {
1115:       const size_type __n = __position - begin();
1115:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1115:  if (__position == end())
1115:    {
1115:      ;
1115:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1115:          __x);
1115:      ++this->_M_impl._M_finish;
1115:      ;
1115:    }
1115:  else
1115:    {
1115: 
1115:      const auto __pos = begin() + (__position - cbegin());
1115: 
1115: 
1115:      _Temporary_value __x_copy(this, __x);
1115:      _M_insert_aux(__pos, std::move(__x_copy._M_val()));
1115: 
1115: 
1115: 
1115:    }
1115:       else
1115: 
1115:  _M_realloc_insert(begin() + (__position - cbegin()), __x);
1115: 
1115: 
1115: 
1115: 
1115:       return iterator(this->_M_impl._M_start + __n);
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     typename vector<_Tp, _Alloc>::iterator
1115:     vector<_Tp, _Alloc>::
1115:     _M_erase(iterator __position)
1115:     {
1115:       if (__position + 1 != end())
1115:  std::move(__position + 1, end(), __position);
1115:       --this->_M_impl._M_finish;
1115:       _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
1115:       ;
1115:       return __position;
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     typename vector<_Tp, _Alloc>::iterator
1115:     vector<_Tp, _Alloc>::
1115:     _M_erase(iterator __first, iterator __last)
1115:     {
1115:       if (__first != __last)
1115:  {
1115:    if (__last != end())
1115:      std::move(__last, end(), __first);
1115:    _M_erase_at_end(__first.base() + (end() - __last));
1115:  }
1115:       return __first;
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     vector<_Tp, _Alloc>&
1115:     vector<_Tp, _Alloc>::
1115:     operator=(const vector<_Tp, _Alloc>& __x)
1115:     {
1115:       if (std::__addressof(__x) != this)
1115:  {
1115:    ;
1115: 
1115:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1115:      {
1115:        if (!_Alloc_traits::_S_always_equal()
1115:            && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1115:          {
1115: 
1115:     this->clear();
1115:     _M_deallocate(this->_M_impl._M_start,
1115:     this->_M_impl._M_end_of_storage
1115:     - this->_M_impl._M_start);
1115:     this->_M_impl._M_start = nullptr;
1115:     this->_M_impl._M_finish = nullptr;
1115:     this->_M_impl._M_end_of_storage = nullptr;
1115:   }
1115:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1115:        __x._M_get_Tp_allocator());
1115:      }
1115: 
1115:    const size_type __xlen = __x.size();
1115:    if (__xlen > capacity())
1115:      {
1115:        pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
1115:          __x.end());
1115:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:        _M_get_Tp_allocator());
1115:        _M_deallocate(this->_M_impl._M_start,
1115:        this->_M_impl._M_end_of_storage
1115:        - this->_M_impl._M_start);
1115:        this->_M_impl._M_start = __tmp;
1115:        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
1115:      }
1115:    else if (size() >= __xlen)
1115:      {
1115:        std::_Destr34:    else
1434:      {
1434:        _ForwardIterator __left
1434:   = std::__lower_bound(__first, __middle, __val, __comp_it_val);
1434:        std::advance(__first, __len);
1434:        _ForwardIterator __right
1434:   = std::__upper_bound(++__middle, __first, __val, __comp_val_it);
1434:        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
1434:      }
1434:  }
1434:       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
1434:     }
1434: # 2151 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     inline pair<_ForwardIterator, _ForwardIterator>
1434:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1434:   const _Tp& __val)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__equal_range(__first, __last, __val,
1434:     __gnu_cxx::__ops::__iter_less_val(),
1434:     __gnu_cxx::__ops::__val_less_iter());
1434:     }
1434: # 2188 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1434:    
1434:     inline pair<_ForwardIterator, _ForwardIterator>
1434:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1434:   const _Tp& __val, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434:                     ;
1434:      
1434:                     ;
1434: 
1434:       return std::__equal_range(__first, __last, __val,
1434:     __gnu_cxx::__ops::__iter_comp_val(__comp),
1434:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1434:     }
1434: # 2222 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     bool
1434:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1434:     const _Tp& __val)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       _ForwardIterator __i
1434:  = std::__lower_bound(__first, __last, __val,
1434:         __gnu_cxx::__ops::__iter_less_val());
1434:       return __i != __last && !(__val < *__i);
1434:     }
1434: # 2256 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1434:    
1434:     bool
1434:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1434:     const _Tp& __val, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434:                     ;
1434:      
1434:                     ;
1434: 
1434:       _ForwardIterator __i
1434:  = std::__lower_bound(__first, __last, __val,
1434:         __gnu_cxx::__ops::__iter_comp_val(__comp));
1434:       return __i != __last && !bool(__comp(__val, *__i));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _Compare>
1434:     void
1434:     __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1,
1434:      _InputIterator2 __first2, _InputIterator2 __last2,
1434:      _OutputIterator __result, _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  {
1434:    if (__comp(__first2, __first1))
1434:      {
1434:        *__result = std::move(*__first2);
1434:        ++__first2;
1434:      }
1434:    else
1434:      {
1434:        *__result = std::move(*__first1);
1434:        ++__first1;
1434:      }
1434:    ++__result;
1434:  }
1434:       if (__first1 != __last1)
1434:  std::move(__first1, __last1, __result);
1434:     }
1434: 
1434: 
1434:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1434:     typename _BidirectionalIterator3, typename _Compare>
1434:     void
1434:     __move_merge_adaptive_backward(_BidirectionalIterator1 __first1,
1434:        _BidirectionalIterator1 __last1,
1434:        _BidirectionalIterator2 __first2,
1434:        _BidirectionalIterator2 __last2,
1434:        _BidirectionalIterator3 __ruffer<T, SIZE, Allocator>::grow(
1417:     size_t size) {
1417:   detail::abort_fuzzing_if(size > 5000);
1417:   const size_t max_size = std::allocator_traits<Allocator>::max_size(alloc_);
1417:   size_t old_capacity = this->capacity();
1417:   size_t new_capacity = old_capacity + old_capacity / 2;
1417:   if (size > new_capacity)
1417:     new_capacity = size;
1417:   else if (new_capacity > max_size)
1417:     new_capacity = size > max_size ? size : max_size;
1417:   T* old_data = this->data();
1417:   T* new_data =
1417:       std::allocator_traits<Allocator>::allocate(alloc_, new_capacity);
1417: 
1417:   std::uninitialized_copy(old_data, old_data + this->size(),
1417:                           detail::make_checked(new_data, new_capacity));
1417:   this->set(new_data, new_capacity);
1417: 
1417: 
1417: 
1417:   if (old_data != store_) alloc_.deallocate(old_data, old_capacity);
1417: }
1417: 
1417: using memory_buffer = basic_memory_buffer<char>;
1417: 
1417: template <typename T, size_t SIZE, typename Allocator>
1417: struct is_contiguous<basic_memory_buffer<T, SIZE, Allocator>> : std::true_type {
1417: };
1417: 
1417: namespace detail {
1417: 
1417: 
1417: 
1417:  void print(std::FILE*, string_view);
1417: }
1417: 
1417: 
1417: 
1417: class format_error : public std::runtime_error {
1417:  public:
1417:   explicit format_error(const char* message) : std::runtime_error(message) {}
1417:   explicit format_error(const std::string& message)
1417:       : std::runtime_error(message) {}
1417:   format_error(const format_error&) = default;
1417:   format_error& operator=(const format_error&) = default;
1417:   format_error(format_error&&) = default;
1417:   format_error& operator=(format_error&&) = default;
1417:   ~format_error() noexcept override ;
1417: };
1417: 
1417: namespace detail_exported {
1417: # 973 "/usr/include/fmt/format.h" 3 4
1417: template <typename Char, size_t N>
1417: constexpr auto compile_string_to_view(const Char (&s)[N])
1417:     -> basic_string_view<Char> {
1417: 
1417: 
1417:   return {s, N - (std::char_traits<Char>::to_int_type(s[N - 1]) == 0 ? 1 : 0)};
1417: }
1417: template <typename Char>
1417: constexpr auto compile_string_to_view(detail::std_string_view<Char> s)
1417:     -> basic_string_view<Char> {
1417:   return {s.data(), s.size()};
1417: }
1417: }
1417: 
1417: namespace detail {
1417: 
1417: template <typename T> struct is_integral : std::is_integral<T> {};
1417: template <> struct is_integral<int128_opt> : std::true_type {};
1417: template <> struct is_integral<uint128_t> : std::true_type {};
1417: 
1417: template <typename T>
1417: using is_signed =
1417:     std::integral_constant<bool, std::numeric_limits<T>::is_signed ||
1417:                                      std::is_same<T, int128_opt>::value>;
1417: 
1417: 
1417: 
1417: template <typename T, enable_if_t<(is_signed<T>::value), int> = 0>
1417: constexpr auto is_negative(T value) -> bool {
1417:   return value < 0;
1417: }
1417: template <typename T, enable_if_t<(!is_signed<T>::value), int> = 0>
1417: constexpr auto is_negative(T) -> bool {
1417:   return false;
1417: }
1417: 
1417: template <typename T>
1417: constexpr auto is_supported_floating_point(T) -> bool {
1417:   if (std::is_same<T, float>()) return 1;
1417:   if (std::is_same<T, double>()) return 1;
1417:   if (std::is_same<T, long double>()) return 1;
1417:   return true;
1417: }
1417: 
1417: 
1417: 
1417: template <typename T>
1417: using uint32_or_64_or_128_t =
1417:     conditional_t<num_bits<T>() <= 32 && !0,
1417:                   uint32_t,
1417:                   conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>>;
1417: template <typename T>
1417: using uint64_or_128_t = conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const char* digits2(size_t value) {
1417: 
1417:   return &"0001020304050607080910111213141516171819"
1417:          "2021222324252627282930313233343536373839"
1417:          "4041424344454647484950515253545556575859"
1417:          "6061626364656667686970717273747576777879"
1417:          "8081828384858687888990919293949596979899"[value * 2];
1417: }
1417: 
1417: 
1417: template <typename Char, typename Sign> constexpr Char sign(Sign s) {
1417: 
1417:   static_assert(std::is_same<Sign, sign_t>::value, "");
1417: 
1417:   return static_cast<Char>("\0-+ "[s]);
1417: }
1417: 
1417: template <typename T> constexpr auto count_digits_fallback(T n) -> int {
1417:   int count = 1;
1417:   for (;;) {
1417: 
1417: 
1417: 
1417:     if (n < 10) return count;
1417:     if (n < 100) return count + 1;
1417:     if (n < 1000) return count + 2;
1417:     if (n < 10000) return count + 3;
1417:     n /= 10000u;
1417:     count += 4;
1417:   }
1417: }
1417: # 1073 "/usr/include/fmt/format.h" 3 4
1417: inline auto do_count_digits(uint64_t n) -> int {
1417: 
1417: 
1417: 
1417: 
1417:   static constexpr uint8_t bsr2log10[] = {
1417:       1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,
1417:       6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10,
1417:       10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15,
1417:       15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20};
1417:   auto t = bsr2log10[__builtin_clzll(n | 1) ^ 63];
1417:   static constexpr const uint64_t zero_or_powers_of_10[] = {
1417:       0, 0, 1U * 10, (1U)*100, (1U)*1000, (1U)*10000, (1U)*100000, (1U)*1000000, (1U)*10000000, (1U)*100000000, (1U)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1417:       10000000000000000000ULL};
1417:   return t - (n < zero_or_powers_of_10[t]);
1417: }
1417: 
1417: 
1417: 
1417: 
1417:  inline auto count_digits(uint64_t n) -> int {
1417: 
1417:   if (!is_constant_evaluated()) {
1417:     return do_count_digits(n);
1417:   }
1417: 
1417:   return count_digits_fallback(n);
1417: }
1417: 
1417: 
1417: template <int BITS, typename UInt>
1417: constexpr auto count_digits(UInt n) -> int {
1417: 
1417:   if (!is_constant_evaluated() && num_bits<UInt>() == 32)
1417:     return (__builtin_clz(static_cast<uint32_t>(n) | 1) ^ 31) / BITS + 1;
1417: 
1417: 
1417:   return [](UInt m) {
1417:     int num_digits = 0;
1417:     do {
1417:       ++num_digits;
1417:     } while ((m >>= BITS) != 0);
1417:     return num_digits;
1417:   }(n);
1417: }
1417: 
1417: 
1417: 
1417: 
1417: inline __attribute__((always_inline)) auto do_count_digits(uint32_t n) -> int {
1417: 
1417: 
1417: 
1417:   static constexpr uint64_t table[] = {
1417:       (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0),
1417:       (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10),
1417:       (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100),
1417:       (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000),
1417:       (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000),
1417:       (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000),
1417:       (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000),
1417:       (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000),
1417:       (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000),
1417:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000),
1417:       (((sizeof("1000000000") - 1ull) << 3esult,
1434:        _Compare __comp)
1434:     {
1434:       if (__first1 == __last1)
1434:  {
1434:    std::move_backward(__first2, __last2, __result);
1434:    return;
1434:  }
1434:       else if (__first2 == __last2)
1434:  return;
1434: 
1434:       --__last1;
1434:       --__last2;
1434:       while (true)
1434:  {
1434:    if (__comp(__last2, __last1))
1434:      {
1434:        *--__result = std::move(*__last1);
1434:        if (__first1 == __last1)
1434:   {
1434:     std::move_backward(__first2, ++__last2, __result);
1434:     return;
1434:   }
1434:        --__last1;
1434:      }
1434:    else
1434:      {
1434:        *--__result = std::move(*__last2);
1434:        if (__first2 == __last2)
1434:   return;
1434:        --__last2;
1434:      }
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1434:     typename _Distance>
1434:     _BidirectionalIterator1
1434:     __rotate_adaptive(_BidirectionalIterator1 __first,
1434:         _BidirectionalIterator1 __middle,
1434:         _BidirectionalIterator1 __last,
1434:         _Distance __len1, _Distance __len2,
1434:         _BidirectionalIterator2 __buffer,
1434:         _Distance __buffer_size)
1434:     {
1434:       _BidirectionalIterator2 __buffer_end;
1434:       if (__len1 > __len2 && __len2 <= __buffer_size)
1434:  {
1434:    if (__len2)
1434:      {
1434:        __buffer_end = std::move(__middle, __last, __buffer);
1434:        std::move_backward(__first, __middle, __last);
1434:        return std::move(__buffer, __buffer_end, __first);
1434:      }
1434:    else
1434:      return __first;
1434:  }
1434:       else if (__len1 <= __buffer_size)
1434:  {
1434:    if (__len1)
1434:      {
1434:        __buffer_end = std::move(__first, __middle, __buffer);
1434:        std::move(__middle, __last, __first);
1434:        return std::move_backward(__buffer, __buffer_end, __last);
1434:      }
1434:    else
1434:      return __last;
1434:  }
1434:       else
1434:  return std::rotate(__first, __middle, __last);
1434:     }
1434: 
1434: 
1434:   template<typename _BidirectionalIterator, typename _Distance,
1434:     typename _Pointer, typename _Compare>
1434:     void
1434:     __merge_adaptive(_BidirectionalIterator __first,
1434:        _BidirectionalIterator __middle,
1434:        _BidirectionalIterator __last,
1434:        _Distance __len1, _Distance __len2,
1434:        _Pointer __buffer, _Distance __buffer_size,
1434:        _Compare __comp)
1434:     {
1434:       if (__len1 <= __len2 && __len1 <= __buffer_size)
1434:  {
1434:    _Pointer __buffer_end = std::move(__first, __middle, __buffer);
1434:    std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
1434:          __first, __comp);
1434:  }
1434:       else if (__len2 <= __buffer_size)
1434:  {
1434:    _Pointer __buffer_end = std::move(__middle, __last, __buffer);
1434:    std::__move_merge_adaptive_backward(__first, __middle, __buffer,
1434:            __buffer_end, __last, __comp);
1434:  }
1434:       else
1434:  {
1434:    _BidirectionalIterator __first_cut = __first;
1434:    _BidirectionalIterator __second_cut = __middle;
1434:    _Distance __len11 = 0;
1434:    _Distance __len22 = 0;
1434:    if (__len1 > __len2)
1434:      {
1434:        __len11 = __len1 / 2;
1434:        std::advance(__first_cut, __len11);
1434:        __second_cut
1434:   = std::__lower_bound(__middle, __last, *__first_cut,
1434:          __gnu_cxx::__ops::__iter_comp_val(__comp));
1434:        __len22 = std::distance(__middle, __second_cut);
1434:      }
1434:    else
1434:      {
1434:        __len22 = __len2 / 2;
1434:        std::advance(__second_cut, __len22);
1434:        __first_cut
1434:   = std::__upper_bound(__first, __middle, *__second_cut,
1434:          __gnu_cxx::__ops::__val_comp_iter(__comp));
1434:        __len11 = std::distance(__first, __first_cut);
1434:      }
1434: 
1434:    _BidirectionalIterator __new_middle
1434:      = std::__rotate_adaptive(__first_cut, __middle, __second_cut,
1434:          __len1 - __len11, __len22,oy(std::copy(__x.begin(), __x.end(), begin()),
1115:        end(), _M_get_Tp_allocator());
1115:      }
1115:    else
1115:      {
1115:        std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
1115:    this->_M_impl._M_start);
1115:        std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
1115:        __x._M_impl._M_finish,
1115:        this->_M_impl._M_finish,
1115:        _M_get_Tp_allocator());
1115:      }
1115:    this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     void
1115:     vector<_Tp, _Alloc>::
1115:     _M_fill_assign(size_t __n, const value_type& __val)
1115:     {
1115:       if (__n > capacity())
1115:  {
1115:    vector __tmp(__n, __val, _M_get_Tp_allocator());
1115:    __tmp._M_impl._M_swap_data(this->_M_impl);
1115:  }
1115:       else if (__n > size())
1115:  {
1115:    std::fill(begin(), end(), __val);
1115:    const size_type __add = __n - size();
1115:    ;
1115:    this->_M_impl._M_finish =
1115:      std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1115:        __add, __val, _M_get_Tp_allocator());
1115:    ;
1115:  }
1115:       else
1115:         _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename _InputIterator>
1115:      
1115:       void
1115:       vector<_Tp, _Alloc>::
1115:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1115:       std::input_iterator_tag)
1115:       {
1115:  pointer __cur(this->_M_impl._M_start);
1115:  for (; __first != __last && __cur != this->_M_impl._M_finish;
1115:       ++__cur, (void)++__first)
1115:    *__cur = *__first;
1115:  if (__first == __last)
1115:    _M_erase_at_end(__cur);
1115:  else
1115:    _M_range_insert(end(), __first, __last,
1115:      std::__iterator_category(__first));
1115:       }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename _ForwardIterator>
1115:      
1115:       void
1115:       vector<_Tp, _Alloc>::
1115:       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1115:       std::forward_iterator_tag)
1115:       {
1115:  const size_type __len = std::distance(__first, __last);
1115: 
1115:  if (__len > capacity())
1115:    {
1115:      _S_check_init_len(__len, _M_get_Tp_allocator());
1115:      pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
1115:      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:      _M_get_Tp_allocator());
1115:      ;
1115:      _M_deallocate(this->_M_impl._M_start,
1115:      this->_M_impl._M_end_of_storage
1115:      - this->_M_impl._M_start);
1115:      this->_M_impl._M_start = __tmp;
1115:      this->_M_impl._M_finish = this->_M_impl._M_start + __len;
1115:      this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
1115:    }
1115:  else if (size() >= __len)
1115:    _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
1115:  else
1115:    {
1115:      _ForwardIterator __mid = __first;
1115:      std::advance(__mid, size());
1115:      std::copy(__first, __mid, this->_M_impl._M_start);
1115:      const size_type __attribute__((__unused__)) __n = __len - size();
1115:      ;
1115:      this->_M_impl._M_finish =
1115:        std::__uninitialized_copy_a(__mid, __last,
1115:        this->_M_impl._M_finish,
1115:        _M_get_Tp_allocator());
1115:      ;
1115:    }
1115:       }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     auto
1115:     vector<_Tp, _Alloc>::
1115:     _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator
1115:     {
1115:       const auto __n = __position - cbegin();
1115:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1115:  if (__position == cend())
1115:    {
1115:      ;
1115:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1115:          std::move(__v));
1115:      ++this->_M_impl._M_finish;
1115:      ;
12) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000)
1417:   };
1417:   auto inc = table[__builtin_clz(n | 1) ^ 31];
1417:   return static_cast<int>((n + inc) >> 32);
1417: }
1417: 
1417: 
1417: 
1417:  inline auto count_digits(uint32_t n) -> int {
1417: 
1417:   if (!is_constant_evaluated()) {
1417:     return do_count_digits(n);
1417:   }
1417: 
1417:   return count_digits_fallback(n);
1417: }
1417: 
1417: template <typename Int> constexpr auto digits10() noexcept -> int {
1417:   return std::numeric_limits<Int>::digits10;
1417: }
1417: template <> constexpr auto digits10<int128_opt>() noexcept -> int { return 38; }
1417: template <> constexpr auto digits10<uint128_t>() noexcept -> int { return 38; }
1417: 
1417: template <typename Char> struct thousands_sep_result {
1417:   std::string grouping;
1417:   Char thousands_sep;
1417: };
1417: 
1417: template <typename Char>
1417:  auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result<Char>;
1417: template <typename Char>
1417: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<Char> {
1417:   auto result = thousands_sep_impl<char>(loc);
1417:   return {result.grouping, Char(result.thousands_sep)};
1417: }
1417: template <>
1417: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<wchar_t> {
1417:   return thousands_sep_impl<wchar_t>(loc);
1417: }
1417: 
1417: template <typename Char>
1417:  auto decimal_point_impl(locale_ref loc) -> Char;
1417: template <typename Char> inline auto decimal_point(locale_ref loc) -> Char {
1417:   return Char(decimal_point_impl<char>(loc));
1417: }
1417: template <> inline auto decimal_point(locale_ref loc) -> wchar_t {
1417:   return decimal_point_impl<wchar_t>(loc);
1417: }
1417: 
1417: 
1417: template <typename Char> auto equal2(const Char* lhs, const char* rhs) -> bool {
1417:   return lhs[0] == Char(rhs[0]) && lhs[1] == Char(rhs[1]);
1417: }
1417: inline auto equal2(const char* lhs, const char* rhs) -> bool {
1417:   return memcmp(lhs, rhs, 2) == 0;
1417: }
1417: 
1417: 
1417: template <typename Char>
1417:  inline __attribute__((always_inline)) void copy2(Char* dst, const char* src) {
1417:   if (!is_constant_evaluated() && sizeof(Char) == sizeof(char)) {
1417:     memcpy(dst, src, 2);
1417:     return;
1417:   }
1417:   *dst++ = static_cast<Char>(*src++);
1417:   *dst = static_cast<Char>(*src);
1417: }
1417: 
1417: template <typename Iterator> struct format_decimal_result {
1417:   Iterator begin;
1417:   Iterator end;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: template <typename Char, typename UInt>
1417:  auto format_decimal(Char* out, UInt value, int size)
1417:     -> format_decimal_result<Char*> {
1417:   ::fmt::detail::ignore_unused((size >= count_digits(value)), ("invalid digit count"));
1417:   out += size;
1417:   Char* end = out;
1417:   while (value >= 100) {
1417: 
1417: 
1417: 
1417:     out -= 2;
1417:     copy2(out, digits2(static_cast<size_t>(value % 100)));
1417:     value /= 100;
1417:   }
1417:   if (value < 10) {
1417:     *--out = static_cast<Char>('0' + value);
1417:     return {out, end};
1417:   }
1417:   out -= 2;
1417:   copy2(out, digits2(static_cast<size_t>(value)));
1417:   return {out, end};
1417: }
1417: 
1417: template <typename Char, typename UInt, typename Iterator,
1417:           enable_if_t<(!std::is_pointer<remove_cvref_t<Iterator>>::value), int> = 0>
1417: constexpr inline auto format_decimal(Iterator out, UInt value, int size)
1417:     -> format_decimal_result<Iterator> {
1417: 
1417:   Char buffer[digits10<UInt>() + 1];
1417:   auto end = format_decimal(buffer, value, size).end;
1417:   return {out, detail::copy_str_noinline<Char>(buffer, end, out)};
1417: }
1417: 
1417: template <unsigned BASE_BITS, typename Char, typename UInt>
1417: constexpr auto format_uint(Char* buffer, UInt value, int num_digits,
1417:                                bool upper = false) -> Char* {
1417:   buffer += num_digits;
1417:   Char* end = buffer;
1417:   do {
1417:     const char* digits = upper ? "0123456789ABCDEF" : "0123456789abcdef";
1417:     unsigned d __buffer,
1434:          __buffer_size);
1434:    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
1434:     __len22, __buffer, __buffer_size, __comp);
1434:    std::__merge_adaptive(__new_middle, __second_cut, __last,
1434:     __len1 - __len11,
1434:     __len2 - __len22, __buffer,
1434:     __buffer_size, __comp);
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _BidirectionalIterator, typename _Distance,
1434:     typename _Compare>
1434:     void
1434:     __merge_without_buffer(_BidirectionalIterator __first,
1434:       _BidirectionalIterator __middle,
1434:       _BidirectionalIterator __last,
1434:       _Distance __len1, _Distance __len2,
1434:       _Compare __comp)
1434:     {
1434:       if (__len1 == 0 || __len2 == 0)
1434:  return;
1434: 
1434:       if (__len1 + __len2 == 2)
1434:  {
1434:    if (__comp(__middle, __first))
1434:      std::iter_swap(__first, __middle);
1434:    return;
1434:  }
1434: 
1434:       _BidirectionalIterator __first_cut = __first;
1434:       _BidirectionalIterator __second_cut = __middle;
1434:       _Distance __len11 = 0;
1434:       _Distance __len22 = 0;
1434:       if (__len1 > __len2)
1434:  {
1434:    __len11 = __len1 / 2;
1434:    std::advance(__first_cut, __len11);
1434:    __second_cut
1434:      = std::__lower_bound(__middle, __last, *__first_cut,
1434:      __gnu_cxx::__ops::__iter_comp_val(__comp));
1434:    __len22 = std::distance(__middle, __second_cut);
1434:  }
1434:       else
1434:  {
1434:    __len22 = __len2 / 2;
1434:    std::advance(__second_cut, __len22);
1434:    __first_cut
1434:      = std::__upper_bound(__first, __middle, *__second_cut,
1434:      __gnu_cxx::__ops::__val_comp_iter(__comp));
1434:    __len11 = std::distance(__first, __first_cut);
1434:  }
1434: 
1434:       _BidirectionalIterator __new_middle
1434:  = std::rotate(__first_cut, __middle, __second_cut);
1434:       std::__merge_without_buffer(__first, __first_cut, __new_middle,
1434:       __len11, __len22, __comp);
1434:       std::__merge_without_buffer(__new_middle, __second_cut, __last,
1434:       __len1 - __len11, __len2 - __len22, __comp);
1434:     }
1434: 
1434:   template<typename _BidirectionalIterator, typename _Compare>
1434:     void
1434:     __inplace_merge(_BidirectionalIterator __first,
1434:       _BidirectionalIterator __middle,
1434:       _BidirectionalIterator __last,
1434:       _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_BidirectionalIterator>::value_type
1434:    _ValueType;
1434:       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
1434:    _DistanceType;
1434:       typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf;
1434: 
1434:       if (__first == __middle || __middle == __last)
1434:  return;
1434: 
1434:       const _DistanceType __len1 = std::distance(__first, __middle);
1434:       const _DistanceType __len2 = std::distance(__middle, __last);
1434: 
1434: 
1434: 
1434:       _TmpBuf __buf(__first, std::min(__len1, __len2));
1434: 
1434:       if (__buf.begin() == 0)
1434:  std::__merge_without_buffer
1434:    (__first, __middle, __last, __len1, __len2, __comp);
1434:       else
1434:  std::__merge_adaptive
1434:    (__first, __middle, __last, __len1, __len2, __buf.begin(),
1434:     _DistanceType(__buf.size()), __comp);
1434:     }
1434: # 2548 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator>
1434:     inline void
1434:     inplace_merge(_BidirectionalIterator __first,
1434:     _BidirectionalIterator __middle,
1434:     _BidirectionalIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       std::__inplace_merge(__first, __middle, __last,
1434:       __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 2589 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator, typename _Compare>
1434:     inline void
1434:     inplace_merge(_BidirectionalIterator __first,
1434:     _BidirectionalIterator __m115:    }
1115:  else
1115:    _M_insert_aux(begin() + __n, std::move(__v));
1115:       else
1115:  _M_realloc_insert(begin() + __n, std::move(__v));
1115: 
1115:       return iterator(this->_M_impl._M_start + __n);
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename... _Args>
1115:      
1115:       auto
1115:       vector<_Tp, _Alloc>::
1115:       _M_emplace_aux(const_iterator __position, _Args&&... __args)
1115:       -> iterator
1115:       {
1115:  const auto __n = __position - cbegin();
1115:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
1115:    if (__position == cend())
1115:      {
1115:        ;
1115:        _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1115:            std::forward<_Args>(__args)...);
1115:        ++this->_M_impl._M_finish;
1115:        ;
1115:      }
1115:    else
1115:      {
1115: 
1115: 
1115: 
1115:        _Temporary_value __tmp(this, std::forward<_Args>(__args)...);
1115:        _M_insert_aux(begin() + __n, std::move(__tmp._M_val()));
1115:      }
1115:  else
1115:    _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...);
1115: 
1115:  return iterator(this->_M_impl._M_start + __n);
1115:       }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename _Arg>
1115:      
1115:       void
1115:       vector<_Tp, _Alloc>::
1115:       _M_insert_aux(iterator __position, _Arg&& __arg)
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     {
1115:       ;
1115:       _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
1115:           std::move(*(this->_M_impl._M_finish - 1)));
1115:       ++this->_M_impl._M_finish;
1115:       ;
1115: 
1115: 
1115: 
1115:       std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1)
1115: 
1115:                                      ;
1115: 
1115: 
1115: 
1115:       *__position = std::forward<_Arg>(__arg);
1115: 
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename... _Args>
1115:      
1115:       void
1115:       vector<_Tp, _Alloc>::
1115:       _M_realloc_insert(iterator __position, _Args&&... __args)
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     {
1115:       const size_type __len =
1115:  _M_check_len(size_type(1), "vector::_M_realloc_insert");
1115:       pointer __old_start = this->_M_impl._M_start;
1115:       pointer __old_finish = this->_M_impl._M_finish;
1115:       const size_type __elems_before = __position - begin();
1115:       pointer __new_start(this->_M_allocate(__len));
1115:       pointer __new_finish(__new_start);
1115:       try
1115:  {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    _Alloc_traits::construct(this->_M_impl,
1115:        __new_start + __elems_before,
1115: 
1115:        std::forward<_Args>(__args)...);
1115: 
1115: 
1115: 
1115:    __new_finish = pointer();
1115: 
1115: 
1115:    if constexpr (_S_use_relocate())
1115:      {
1115:        __new_finish = _S_relocate(__old_start, __position.base(),
1115:       __new_start, _M_get_Tp_allocator());
1115: 
1115:        ++__new_finish;
1115: 
1115:        __new_finish = _S_relocate(__position.base(), __old_finish,
1115:       __new_finish, _M_get_Tp_allocator());
1115:      }
1115:    else
1115: 
1115:      {
1115:        __new_finish
1115:   = std::__uninitialized_move_if_noexcept_a
1115:   (__old_start, __position.base(),
1115:    __new_start, _M_get_Tp_allocator());
1115: 
1115:        ++__new_finish;
1115: 
1115:        __new_finish
1115:   = std::__uninitialized_move_if_noexcept_a
1115:   (__position.base(), __old_finish,
1115:    __new_finish, _M_get_Tp_allocator());
1115:      }
1115:  }
1115:       catch(...)
1115:  {
1115:    if (!__new_finish)
1115:      _Alloc_traits::destroy(this->_M_impl,
1115:        __new_start + __elems_before);
1115:    else
1115:      std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
1115:    _M_deallocate(__new_start, __len);
1115:    throw;
1115:  }
1115: 
1115:       if constexpr (!_S_use_relocate())
1115: 
1115:  std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator());
1115:       ;
1115:       _M_deallocate(__old_start,
1115:       this->_M_impl._M_end_of_storage - __old_start);
1115:       this->_M_impl._M_start = __new_start;
1115:       this->_M_impl._M_finish = __new_finish;
1115:       this->_M_impl._M_end_of_storage = __new_start + __len;
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     void
1115:     vector<_Tp, _Alloc>::
1115:     _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
1115:     {
1115:       if (__n != 0)
1115:  {
1115:    if (size_type(this->_M_impl._M_end_of_storage
1115:    - this->_M_impl._M_finish) >= __n)
1115:      {
1115: 
1115: 
1115: 
1115:        _Temporary_value __tmp(this, __x);
1115:        value_type& __x_copy = __tmp._M_val();
1115: 
1115:        const size_type __elems_after = end() - __position;
1115:        pointer __old_finish(this->_M_impl._M_finish);
1115:        if (__elems_after > __n)
1115:   {
1115:     ;
1115:     std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1115:            this->_M_impl._M_finish,
1115:            this->_M_impl._M_finish,
1115:            _M_get_Tp_allocator());
1115:     this->_M_impl._M_finish += __n;
1115:     ;
1115:     std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1115:                                         ;
1115:     std::fill(__position.base(), __position.base() + __n,
1115:        __x_copy);
1115:   }
1115:        else
1115:   {
1115:     ;
1115:     this->_M_impl._M_finish =
1115:       std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
1115:         __n - __elems_after,
1115:         __x_copy,
1115:         _M_get_Tp_allocator());
1115:     ;
1115:     std::__uninitialized_move_a(__position.base(), __old_finish,
1115:            this->_M_impl._M_finish,
1115:            _M_get_Tp_allocator());
1115:     this->_M_impl._M_finish += __elems_after;
1115:     ;
1115:     std::fill(__position.base(), __old_finish, __x_copy);
1115:   }
1115:      }
1115:    else
1115:      {
1115:        const size_type __len =
1115:   _M_check_len(__n, "vector::_M_fill_insert");
1115:        const size_type __elems_before = __position - begin();
1115:        pointer __new_start(this->_M_allocate(__len));
1115:        pointer __new_finish(__new_start);
1115:        try
1115:   {
1115: 
1115:     std::__uninitialized_fill_n_a(__new_start + __elems_before,
1115:       __n, __x,
1115:       _M_get_Tp_allocator());
1115:     __new_finish = pointer();
1115: 
1115:     __new_finish
1115:       = std::__uninitialized_move_if_noexcept_a
1115:       (this->_M_impl._M_start, __position.base(),
1115:        __new_start, _M_get_Tp_allocator());
1115: 
1115:     __new_finish += __n;
1115: 
1115:     __new_finish
1115:       = std::__uninitialized_move_if_noexcept_a
1115:       (__position.base(), this->_M_impl._M_finish,
1115:        __new_finish, _M_get_Tp_allocator());
1115:   }
1115:        catch(...)
1115:   {
1115:     if (!__new_finish)
1115:       std::_Destroy(__new_start + __elems_before,
1115:       __new_start + __elems_before + __n,
1115:       _M_get_Tp_allocator());
1115:     else
1115:       std::_Destroy(__new_start, __new_finish,
1115:       _M_get_Tp_allocator());
1115:     _M_deallocate(__new_start, __len);
1115:     throw;
1115:   }
1115:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:        _M_get_Tp_allocator());
1115:        ;
1115:        _M_deallocate(this->_M_impl._M_start,
1115:        this->_M_impl._M_end_of_storage
1115:        - this->_M_impl._M_start);
1115:        this->_M_impl._M_start = __new_start;
1115:        this->_M_impl._M_finish = __new_finish;
1115:        this->_M_impl._M_end_of_storage = __new_start + __len;
1115:      }
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     void
1115:     vector<_Tp, _Alloc>::
1115:     _M_default_append(size_type __n)
1115:     {
1115:       if (__n != 0)
1115:  {
1115:    const size_type __size = size();
1115:    siiddle,
1434:     _BidirectionalIterator __last,
1434:     _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       std::__inplace_merge(__first, __middle, __last,
1434:       __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _Compare>
1434:     _OutputIterator
1434:     __move_merge(_InputIterator __first1, _InputIterator __last1,
1434:    _InputIterator __first2, _InputIterator __last2,
1434:    _OutputIterator __result, _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  {
1434:    if (__comp(__first2, __first1))
1434:      {
1434:        *__result = std::move(*__first2);
1434:        ++__first2;
1434:      }
1434:    else
1434:      {
1434:        *__result = std::move(*__first1);
1434:        ++__first1;
1434:      }
1434:    ++__result;
1434:  }
1434:       return std::move(__first2, __last2, std::move(__first1, __last1, __result))
1434: 
1434:                   ;
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
1434:     typename _Distance, typename _Compare>
1434:     void
1434:     __merge_sort_loop(_RandomAccessIterator1 __first,
1434:         _RandomAccessIterator1 __last,
1434:         _RandomAccessIterator2 __result, _Distance __step_size,
1434:         _Compare __comp)
1434:     {
1434:       const _Distance __two_step = 2 * __step_size;
1434: 
1434:       while (__last - __first >= __two_step)
1434:  {
1434:    __result = std::__move_merge(__first, __first + __step_size,
1434:            __first + __step_size,
1434:            __first + __two_step,
1434:            __result, __comp);
1434:    __first += __two_step;
1434:  }
1434:       __step_size = std::min(_Distance(__last - __first), __step_size);
1434: 
1434:       std::__move_merge(__first, __first + __step_size,
1434:    __first + __step_size, __last, __result, __comp);
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Distance,
1434:     typename _Compare>
1434:    
1434:     void
1434:     __chunk_insertion_sort(_RandomAccessIterator __first,
1434:       _RandomAccessIterator __last,
1434:       _Distance __chunk_size, _Compare __comp)
1434:     {
1434:       while (__last - __first >= __chunk_size)
1434:  {
1434:    std::__insertion_sort(__first, __first + __chunk_size, __comp);
1434:    __first += __chunk_size;
1434:  }
1434:       std::__insertion_sort(__first, __last, __comp);
1434:     }
1434: 
1434:   enum { _S_chunk_size = 7 };
1434: 
1434:   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
1434:     void
1434:     __merge_sort_with_buffer(_RandomAccessIterator __first,
1434:         _RandomAccessIterator __last,
1434:         _Pointer __buffer, _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:  _Distance;
1434: 
1434:       const _Distance __len = __last - __first;
1434:       const _Pointer __buffer_last = __buffer + __len;
1434: 
1434:       _Distance __step_size = _S_chunk_size;
1434:       std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
1434: 
1434:       while (__step_size < __len)
1434:  {
1434:    std::__merge_sort_loop(__first, __last, __buffer,
1434:      __step_size, __comp);
1434:    __step_size *= 2;
1434:    std::__merge_sort_loop(__buffer, __buffer_last, __first,
1434:      __step_size, __comp);
1434:    __step_size *= 2;
1434:  }
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Pointer,
1434:     typename _Distance, typename _Compare>
1434:     void
1434:     __stable_sort_adaptive(_RandomAccessIterator __first,
1434:       _RandomAccessIterator __last,
1434:       _Pointer __buffer, _Distance __buffer_size,
1434:       _Compare __comp)
1434:     {
1434:       const _Distance __len = (__last - __first + 1) / 2;
1434:       const _RandomAccessIterator __middle igit = static_cast<unsigned>(value & ((1 << BASE_BITS) - 1));
1417:     *--buffer = static_cast<Char>(BASE_BITS < 4 ? static_cast<char>('0' + digit)
1417:                                                 : digits[digit]);
1417:   } while ((value >>= BASE_BITS) != 0);
1417:   return end;
1417: }
1417: 
1417: template <unsigned BASE_BITS, typename Char, typename It, typename UInt>
1417: inline auto format_uint(It out, UInt value, int num_digits, bool upper = false)
1417:     -> It {
1417:   if (auto ptr = to_pointer<Char>(out, to_unsigned(num_digits))) {
1417:     format_uint<BASE_BITS>(ptr, value, num_digits, upper);
1417:     return out;
1417:   }
1417: 
1417:   char buffer[num_bits<UInt>() / BASE_BITS + 1];
1417:   format_uint<BASE_BITS>(buffer, value, num_digits, upper);
1417:   return detail::copy_str_noinline<Char>(buffer, buffer + num_digits, out);
1417: }
1417: 
1417: 
1417: class utf8_to_utf16 {
1417:  private:
1417:   basic_memory_buffer<wchar_t> buffer_;
1417: 
1417:  public:
1417:   explicit utf8_to_utf16(string_view s);
1417:   operator basic_string_view<wchar_t>() const { return {&buffer_[0], size()}; }
1417:   auto size() const -> size_t { return buffer_.size() - 1; }
1417:   auto c_str() const -> const wchar_t* { return &buffer_[0]; }
1417:   auto str() const -> std::wstring { return {&buffer_[0], size()}; }
1417: };
1417: 
1417: namespace dragonbox {
1417: 
1417: 
1417: template <typename T, typename Enable = void> struct float_info;
1417: 
1417: template <> struct float_info<float> {
1417:   using carrier_uint = uint32_t;
1417:   static const int exponent_bits = 8;
1417:   static const int kappa = 1;
1417:   static const int big_divisor = 100;
1417:   static const int small_divisor = 10;
1417:   static const int min_k = -31;
1417:   static const int max_k = 46;
1417:   static const int shorter_interval_tie_lower_threshold = -35;
1417:   static const int shorter_interval_tie_upper_threshold = -35;
1417: };
1417: 
1417: template <> struct float_info<double> {
1417:   using carrier_uint = uint64_t;
1417:   static const int exponent_bits = 11;
1417:   static const int kappa = 2;
1417:   static const int big_divisor = 1000;
1417:   static const int small_divisor = 100;
1417:   static const int min_k = -292;
1417:   static const int max_k = 326;
1417:   static const int shorter_interval_tie_lower_threshold = -77;
1417:   static const int shorter_interval_tie_upper_threshold = -77;
1417: };
1417: 
1417: 
1417: template <typename T>
1417: struct float_info<T, enable_if_t<std::numeric_limits<T>::digits == 64 ||
1417:                                  std::numeric_limits<T>::digits == 113 ||
1417:                                  is_float128<T>::value>> {
1417:   using carrier_uint = detail::uint128_t;
1417:   static const int exponent_bits = 15;
1417: };
1417: 
1417: 
1417: template <typename T>
1417: struct float_info<T, enable_if_t<is_double_double<T>::value>> {
1417:   using carrier_uint = detail::uint128_t;
1417: };
1417: 
1417: template <typename T> struct decimal_fp {
1417:   using significand_type = typename float_info<T>::carrier_uint;
1417:   significand_type significand;
1417:   int exponent;
1417: };
1417: 
1417: template <typename T> auto to_decimal(T x) noexcept -> decimal_fp<T>;
1417: }
1417: 
1417: 
1417: template <typename Float> constexpr bool has_implicit_bit() {
1417: 
1417:   return std::numeric_limits<Float>::digits != 64;
1417: }
1417: 
1417: 
1417: 
1417: template <typename Float> constexpr int num_significand_bits() {
1417: 
1417:   return is_float128<Float>() ? 112
1417:                               : (std::numeric_limits<Float>::digits -
1417:                                  (has_implicit_bit<Float>() ? 1 : 0));
1417: }
1417: 
1417: template <typename Float>
1417: constexpr auto exponent_mask() ->
1417:     typename dragonbox::float_info<Float>::carrier_uint {
1417:   using uint = typename dragonbox::float_info<Float>::carrier_uint;
1417:   return ((uint(1) << dragonbox::float_info<Float>::exponent_bits) - 1)
1417:          << num_significand_bits<Float>();
1417: }
1417: template <typenamze_type __navail = size_type(this->_M_impl._M_end_of_storage
1115:       - this->_M_impl._M_finish);
1115: 
1115:    if (__size > max_size() || __navail > max_size() - __size)
1115:      __builtin_unreachable();
1115: 
1115:    if (__navail >= __n)
1115:      {
1115:        ;
1115:        this->_M_impl._M_finish =
1115:   std::__uninitialized_default_n_a(this->_M_impl._M_finish,
1115:        __n, _M_get_Tp_allocator());
1115:        ;
1115:      }
1115:    else
1115:      {
1115:        const size_type __len =
1115:   _M_check_len(__n, "vector::_M_default_append");
1115:        pointer __new_start(this->_M_allocate(__len));
1115:        if constexpr (_S_use_relocate())
1115:   {
1115:     try
1115:       {
1115:         std::__uninitialized_default_n_a(__new_start + __size,
1115:          __n, _M_get_Tp_allocator());
1115:       }
1115:     catch(...)
1115:       {
1115:         _M_deallocate(__new_start, __len);
1115:         throw;
1115:       }
1115:     _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:          __new_start, _M_get_Tp_allocator());
1115:   }
1115:        else
1115:   {
1115:     pointer __destroy_from = pointer();
1115:     try
1115:       {
1115:         std::__uninitialized_default_n_a(__new_start + __size,
1115:          __n, _M_get_Tp_allocator());
1115:         __destroy_from = __new_start + __size;
1115:         std::__uninitialized_move_if_noexcept_a(
1115:          this->_M_impl._M_start, this->_M_impl._M_finish,
1115:          __new_start, _M_get_Tp_allocator());
1115:       }
1115:     catch(...)
1115:       {
1115:         if (__destroy_from)
1115:    std::_Destroy(__destroy_from, __destroy_from + __n,
1115:           _M_get_Tp_allocator());
1115:         _M_deallocate(__new_start, __len);
1115:         throw;
1115:       }
1115:     std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:     _M_get_Tp_allocator());
1115:   }
1115:        ;
1115:        _M_deallocate(this->_M_impl._M_start,
1115:        this->_M_impl._M_end_of_storage
1115:        - this->_M_impl._M_start);
1115:        this->_M_impl._M_start = __new_start;
1115:        this->_M_impl._M_finish = __new_start + __size + __n;
1115:        this->_M_impl._M_end_of_storage = __new_start + __len;
1115:      }
1115:  }
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:    
1115:     bool
1115:     vector<_Tp, _Alloc>::
1115:     _M_shrink_to_fit()
1115:     {
1115:       if (capacity() == size())
1115:  return false;
1115:       ;
1115:       return std::__shrink_to_fit_aux<vector>::_S_do_it(*this);
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename _InputIterator>
1115:      
1115:       void
1115:       vector<_Tp, _Alloc>::
1115:       _M_range_insert(iterator __pos, _InputIterator __first,
1115:         _InputIterator __last, std::input_iterator_tag)
1115:       {
1115:  if (__pos == end())
1115:    {
1115:      for (; __first != __last; ++__first)
1115:        insert(end(), *__first);
1115:    }
1115:  else if (__first != __last)
1115:    {
1115:      vector __tmp(__first, __last, _M_get_Tp_allocator());
1115:      insert(__pos,
1115:      std::make_move_iterator(__tmp.begin()),
1115:      std::make_move_iterator(__tmp.end()));
1115:    }
1115:       }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename _ForwardIterator>
1115:      
1115:       void
1115:       vector<_Tp, _Alloc>::
1115:       _M_range_insert(iterator __position, _ForwardIterator __first,
1115:         _ForwardIterator __last, std::forward_iterator_tag)
1115:       {
1115:  if (__first != __last)
1115:    {
1115:      const size_type __n = std::distance(__first, __last);
1115:      if (size_type(this->_M_impl._M_end_of_storage
1115:      - this->_M_impl._M_finish) >= __n)
1115:        {
1115:   const size_type __elems_after = end() - __position;
1115:   pointer __old_finish(this->_M_impl._M_finish);
1115:   if (__elems_after > __n)
1115:     {
1115:       ;
1115:       std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
1115:       this->_M_impl._M_finish,
1115:       this->_M_impl._M_finish,
1115:       _M_get_Tp_allocator());
1115:       this->_M_impl._M_finish += __n;
1115:       ;
1115:       std::move_backward(__position.base(), __old_finish - __n, __old_finish)
1115:                                           ;
1115:       std::copy(__first, __last, __position);
1115:     }
1115:   else
1115:     {
1115:       _ForwardIterator __mid = __first;
1115:       std::advance(__mid, __elems_after);
1115:       ;
1115:       std::__uninitialized_copy_a(__mid, __last,
1115:       this->_M_impl._M_finish,
1115:       _M_get_Tp_allocator());
1115:       this->_M_impl._M_finish += __n - __elems_after;
1115:       ;
1115:       std::__uninitialized_move_a(__position.base(),
1115:       __old_finish,
1115:       this->_M_impl._M_finish,
1115:       _M_get_Tp_allocator());
1115:       this->_M_impl._M_finish += __elems_after;
1115:       ;
1115:       std::copy(__first, __mid, __position);
1115:     }
1115:        }
1115:      else
1115:        {
1115:   const size_type __len =
1115:     _M_check_len(__n, "vector::_M_range_insert");
1115:   pointer __new_start(this->_M_allocate(__len));
1115:   pointer __new_finish(__new_start);
1115:   try
1115:     {
1115:       __new_finish
1115:         = std::__uninitialized_move_if_noexcept_a
1115:         (this->_M_impl._M_start, __position.base(),
1115:          __new_start, _M_get_Tp_allocator());
1115:       __new_finish
1115:         = std::__uninitialized_copy_a(__first, __last,
1115:           __new_finish,
1115:           _M_get_Tp_allocator());
1115:       __new_finish
1115:         = std::__uninitialized_move_if_noexcept_a
1115:         (__position.base(), this->_M_impl._M_finish,
1115:          __new_finish, _M_get_Tp_allocator());
1115:     }
1115:   catch(...)
1115:     {
1115:       std::_Destroy(__new_start, __new_finish,
1115:       _M_get_Tp_allocator());
1115:       _M_deallocate(__new_start, __len);
1115:       throw;
1115:     }
1115:   std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
1115:          _M_get_Tp_allocator());
1115:   ;
1115:   _M_deallocate(this->_M_impl._M_start,
1115:          this->_M_impl._M_end_of_storage
1115:          - this->_M_impl._M_start);
1115:   this->_M_impl._M_start = __new_start;
1115:   this->_M_impl._M_finish = __new_finish;
1115:   this->_M_impl._M_end_of_storage = __new_start + __len;
1115:        }
1115:    }
1115:       }
1115: 
1115: 
1115: 
1115:   template<typename _Alloc>
1115:    
1115:     void
1115:     vector<bool, _Alloc>::
1115:     _M_reallocate(size_type __n)
1115:     {
1115:       _Bit_pointer __q = this->_M_allocate(__n);
1115:       iterator __start(std::__addressof(*__q), 0);
1115:       iterator __finish(_M_copy_aligned(begin(), end(), __start));
1115:       this->_M_deallocate();
1115:       this->_M_impl._M_start = __start;
1115:       this->_M_impl._M_finish = __finish;
1115:       this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
1115:     }
1115: 
1115:   template<typename _Alloc>
1115:    
1115:     void
1115:     vector<bool, _Alloc>::
1115:     _M_fill_insert(iterator __position, size_type __n, bool __x)
1115:     {
1115:       if (__n == 0)
1115:  return;
1115:       if (capacity() - size() >= __n)
1115:  {
1115:    std::copy_backward(__position, end(),
1115:         this->_M_impl._M_finish + difference_type(__n));
1115:    std::fill(__position, __position + difference_type(__n), __x);
1115:    this->_M_impl._M_finish += difference_type(__n);
1115:  }
1115:       else
1115:  {
1115:    const size_type __len =
1115:      _M_check_len(__n, "vector<bool>::_M_fill_insert");
1115:    _Bit_pointer __q = this->_M_allocate(__len);
1115:    iterator __start(std::__addressof(*__q), 0);
1115:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1115:    std::fill(__i, __i + difference_type(__n), __x);
1115:    iterator __finish = std::copy(__position, end(),
1115:      __i + difference_type(__n));
1115:    this->_M_deallocate();
1115:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1115:    thi= __first + __len;
1434:       if (__len > __buffer_size)
1434:  {
1434:    std::__stable_sort_adaptive(__first, __middle, __buffer,
1434:           __buffer_size, __comp);
1434:    std::__stable_sort_adaptive(__middle, __last, __buffer,
1434:           __buffer_size, __comp);
1434:  }
1434:       else
1434:  {
1434:    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
1434:    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
1434:  }
1434: 
1434:       std::__merge_adaptive(__first, __middle, __last,
1434:        _Distance(__middle - __first),
1434:        _Distance(__last - __middle),
1434:        __buffer, __buffer_size,
1434:        __comp);
1434:     }
1434: 
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:     void
1434:     __inplace_stable_sort(_RandomAccessIterator __first,
1434:      _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434:       if (__last - __first < 15)
1434:  {
1434:    std::__insertion_sort(__first, __last, __comp);
1434:    return;
1434:  }
1434:       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
1434:       std::__inplace_stable_sort(__first, __middle, __comp);
1434:       std::__inplace_stable_sort(__middle, __last, __comp);
1434:       std::__merge_without_buffer(__first, __middle, __last,
1434:       __middle - __first,
1434:       __last - __middle,
1434:       __comp);
1434:     }
1434: # 2763 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _Compare>
1434:    
1434:     bool
1434:     __includes(_InputIterator1 __first1, _InputIterator1 __last1,
1434:         _InputIterator2 __first2, _InputIterator2 __last2,
1434:         _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  {
1434:    if (__comp(__first2, __first1))
1434:      return false;
1434:    if (!__comp(__first1, __first2))
1434:      ++__first2;
1434:    ++__first1;
1434:  }
1434: 
1434:       return __first2 == __last2;
1434:     }
1434: # 2801 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2>
1434:    
1434:     inline bool
1434:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1434:       _InputIterator2 __first2, _InputIterator2 __last2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__includes(__first1, __last1, __first2, __last2,
1434:         __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 2846 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _Compare>
1434:    
1434:     inline bool
1434:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1434:       _InputIterator2 __first2, _InputIterator2 __last2,
1434:       _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__includes(__first1, __last1, __first2, __last2,
1434:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: # 2882 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator, typename _Compare>
1434:    
1434:     bool
1434:     __next_permutation(_BidirectionalIterator __first,
1434:          _BidirectionalIterator __last, _Compare __comp)
1434:     {
1434:       if (__first == __last)
1434:  return false;
1434:       _BidirectionalIterator __i = __first;
1434:       ++__i;
1434:       if (__i == __last)
1434:  return false;
1434:       __i = __last;
1434:       --__i;
1434: 
1434:       for(;;)
1434:  {
1434:    _BidirectionalIterator __ii = __i;
1434:    --__i;
1434:    if (__comp(__i, __ii))
1434:      {
1434:        _BidirectionalIterator __j = __last;
1434:        while (!__comp(__i, --__j))
1434:   {}
1434:        std::iter_swap(__i,e Float> constexpr auto exponent_bias() -> int {
1417: 
1417:   return is_float128<Float>() ? 16383
1417:                               : std::numeric_limits<Float>::max_exponent - 1;
1417: }
1417: 
1417: 
1417: template <typename Char, typename It>
1417: constexpr auto write_exponent(int exp, It it) -> It {
1417:   ::fmt::detail::ignore_unused((-10000 < exp && exp < 10000), ("exponent out of range"));
1417:   if (exp < 0) {
1417:     *it++ = static_cast<Char>('-');
1417:     exp = -exp;
1417:   } else {
1417:     *it++ = static_cast<Char>('+');
1417:   }
1417:   if (exp >= 100) {
1417:     const char* top = digits2(to_unsigned(exp / 100));
1417:     if (exp >= 1000) *it++ = static_cast<Char>(top[0]);
1417:     *it++ = static_cast<Char>(top[1]);
1417:     exp %= 100;
1417:   }
1417:   const char* d = digits2(to_unsigned(exp));
1417:   *it++ = static_cast<Char>(d[0]);
1417:   *it++ = static_cast<Char>(d[1]);
1417:   return it;
1417: }
1417: 
1417: 
1417: template <typename F> struct basic_fp {
1417:   F f;
1417:   int e;
1417: 
1417:   static constexpr const int num_significand_bits =
1417:       static_cast<int>(sizeof(F) * num_bits<unsigned char>());
1417: 
1417:   constexpr basic_fp() : f(0), e(0) {}
1417:   constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {}
1417: 
1417: 
1417:   template <typename Float> constexpr basic_fp(Float n) { assign(n); }
1417: 
1417: 
1417:   template <typename Float, enable_if_t<(!is_double_double<Float>::value), int> = 0>
1417:   constexpr auto assign(Float n) -> bool {
1417:     static_assert(std::numeric_limits<Float>::digits <= 113, "unsupported FP");
1417: 
1417:     using carrier_uint = typename dragonbox::float_info<Float>::carrier_uint;
1417:     const auto num_float_significand_bits =
1417:         detail::num_significand_bits<Float>();
1417:     const auto implicit_bit = carrier_uint(1) << num_float_significand_bits;
1417:     const auto significand_mask = implicit_bit - 1;
1417:     auto u = bit_cast<carrier_uint>(n);
1417:     f = static_cast<F>(u & significand_mask);
1417:     auto biased_e = static_cast<int>((u & exponent_mask<Float>()) >>
1417:                                      num_float_significand_bits);
1417: 
1417: 
1417:     auto is_predecessor_closer = f == 0 && biased_e > 1;
1417:     if (biased_e == 0)
1417:       biased_e = 1;
1417:     else if (has_implicit_bit<Float>())
1417:       f += static_cast<F>(implicit_bit);
1417:     e = biased_e - exponent_bias<Float>() - num_float_significand_bits;
1417:     if (!has_implicit_bit<Float>()) ++e;
1417:     return is_predecessor_closer;
1417:   }
1417: 
1417:   template <typename Float, enable_if_t<(is_double_double<Float>::value), int> = 0>
1417:   constexpr auto assign(Float n) -> bool {
1417:     static_assert(std::numeric_limits<double>::is_iec559, "unsupported FP");
1417:     return assign(static_cast<double>(n));
1417:   }
1417: };
1417: 
1417: using fp = basic_fp<unsigned long long>;
1417: 
1417: 
1417: template <int SHIFT = 0, typename F>
1417: constexpr basic_fp<F> normalize(basic_fp<F> value) {
1417: 
1417:   const auto implicit_bit = F(1) << num_significand_bits<double>();
1417:   const auto shifted_implicit_bit = implicit_bit << SHIFT;
1417:   while ((value.f & shifted_implicit_bit) == 0) {
1417:     value.f <<= 1;
1417:     --value.e;
1417:   }
1417: 
1417:   const auto offset = basic_fp<F>::num_significand_bits -
1417:                       num_significand_bits<double>() - SHIFT - 1;
1417:   value.f <<= offset;
1417:   value.e -= offset;
1417:   return value;
1417: }
1417: 
1417: 
1417: constexpr inline uint64_t multiply(uint64_t lhs, uint64_t rhs) {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   uint64_t mask = (1ULL << 32) - 1;
1417:   uint64_t a = lhs >> 32, b = lhs & mask;
1417:   uint64_t c = rhs >> 32, d = rhs & mask;
1417:   uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d;
1417: 
1417:   uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31);
1417:   return ac + (ad >> 32) + (bc >> 32) + (mid >> 32);
1417: 
1417: }
1417: 
1417: constexpr inline fp operator*(fp __j);
1434:        std::__reverse(__ii, __last,
1434:         std::__iterator_category(__first));
1434:        return true;
1434:      }
1434:    if (__i == __first)
1434:      {
1434:        std::__reverse(__first, __last,
1434:         std::__iterator_category(__first));
1434:        return false;
1434:      }
1434:  }
1434:     }
1434: # 2932 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator>
1434:    
1434:     inline bool
1434:     next_permutation(_BidirectionalIterator __first,
1434:        _BidirectionalIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__next_permutation
1434:  (__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 2965 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator, typename _Compare>
1434:    
1434:     inline bool
1434:     next_permutation(_BidirectionalIterator __first,
1434:        _BidirectionalIterator __last, _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__next_permutation
1434:  (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _BidirectionalIterator, typename _Compare>
1434:    
1434:     bool
1434:     __prev_permutation(_BidirectionalIterator __first,
1434:          _BidirectionalIterator __last, _Compare __comp)
1434:     {
1434:       if (__first == __last)
1434:  return false;
1434:       _BidirectionalIterator __i = __first;
1434:       ++__i;
1434:       if (__i == __last)
1434:  return false;
1434:       __i = __last;
1434:       --__i;
1434: 
1434:       for(;;)
1434:  {
1434:    _BidirectionalIterator __ii = __i;
1434:    --__i;
1434:    if (__comp(__ii, __i))
1434:      {
1434:        _BidirectionalIterator __j = __last;
1434:        while (!__comp(--__j, __i))
1434:   {}
1434:        std::iter_swap(__i, __j);
1434:        std::__reverse(__ii, __last,
1434:         std::__iterator_category(__first));
1434:        return true;
1434:      }
1434:    if (__i == __first)
1434:      {
1434:        std::__reverse(__first, __last,
1434:         std::__iterator_category(__first));
1434:        return false;
1434:      }
1434:  }
1434:     }
1434: # 3035 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator>
1434:    
1434:     inline bool
1434:     prev_permutation(_BidirectionalIterator __first,
1434:        _BidirectionalIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__prev_permutation(__first, __last,
1434:          __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 3068 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _BidirectionalIterator, typename _Compare>
1434:    
1434:     inline bool
1434:     prev_permutation(_BidirectionalIterator __first,
1434:        _BidirectionalIterator __last, _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__prev_permutation(__first, __last,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _Predicate, typename _Tp>
1434:    
1434:     _OutputIterator
1434:     __replace_copy_if(_InputIterator __first, _InputIterator __last,
1434:         _OutputIterator __result,
1434:         _Predicate __pred, const _Tp& __new_value)
1434:     {
1434:       for (; __first != __last; ++__first, (void)++__result)
1434:  if (__pred(__first))
1434:    *__result = __new_value;
1434:  else
1434:    *__result = *__first;
1434:       return __result;
1434:     }
1434: # 3120 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1434:    
1434:     inline _OutputIterator
1434:     replace_copy(_InputIterats->_M_impl._M_start = __start;
1115:    this->_M_impl._M_finish = __finish;
1115:  }
1115:     }
1115: 
1115:   template<typename _Alloc>
1115:     template<typename _ForwardIterator>
1115:      
1115:       void
1115:       vector<bool, _Alloc>::
1115:       _M_insert_range(iterator __position, _ForwardIterator __first,
1115:         _ForwardIterator __last, std::forward_iterator_tag)
1115:       {
1115:  if (__first != __last)
1115:    {
1115:      size_type __n = std::distance(__first, __last);
1115:      if (capacity() - size() >= __n)
1115:        {
1115:   std::copy_backward(__position, end(),
1115:        this->_M_impl._M_finish
1115:        + difference_type(__n));
1115:   std::copy(__first, __last, __position);
1115:   this->_M_impl._M_finish += difference_type(__n);
1115:        }
1115:      else
1115:        {
1115:   const size_type __len =
1115:     _M_check_len(__n, "vector<bool>::_M_insert_range");
1115:   _Bit_pointer __q = this->_M_allocate(__len);
1115:   iterator __start(std::__addressof(*__q), 0);
1115:   iterator __i = _M_copy_aligned(begin(), __position, __start);
1115:   __i = std::copy(__first, __last, __i);
1115:   iterator __finish = std::copy(__position, end(), __i);
1115:   this->_M_deallocate();
1115:   this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1115:   this->_M_impl._M_start = __start;
1115:   this->_M_impl._M_finish = __finish;
1115:        }
1115:    }
1115:       }
1115: 
1115:   template<typename _Alloc>
1115:    
1115:     void
1115:     vector<bool, _Alloc>::
1115:     _M_insert_aux(iterator __position, bool __x)
1115:     {
1115:       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
1115:  {
1115:    std::copy_backward(__position, this->_M_impl._M_finish,
1115:         this->_M_impl._M_finish + 1);
1115:    *__position = __x;
1115:    ++this->_M_impl._M_finish;
1115:  }
1115:       else
1115:  {
1115:    const size_type __len =
1115:      _M_check_len(size_type(1), "vector<bool>::_M_insert_aux");
1115:    _Bit_pointer __q = this->_M_allocate(__len);
1115:    iterator __start(std::__addressof(*__q), 0);
1115:    iterator __i = _M_copy_aligned(begin(), __position, __start);
1115:    *__i++ = __x;
1115:    iterator __finish = std::copy(__position, end(), __i);
1115:    this->_M_deallocate();
1115:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
1115:    this->_M_impl._M_start = __start;
1115:    this->_M_impl._M_finish = __finish;
1115:  }
1115:     }
1115: 
1115:   template<typename _Alloc>
1115:    
1115:     typename vector<bool, _Alloc>::iterator
1115:     vector<bool, _Alloc>::
1115:     _M_erase(iterator __position)
1115:     {
1115:       if (__position + 1 != end())
1115:         std::copy(__position + 1, end(), __position);
1115:       --this->_M_impl._M_finish;
1115:       return __position;
1115:     }
1115: 
1115:   template<typename _Alloc>
1115:    
1115:     typename vector<bool, _Alloc>::iterator
1115:     vector<bool, _Alloc>::
1115:     _M_erase(iterator __first, iterator __last)
1115:     {
1115:       if (__first != __last)
1115:  _M_erase_at_end(std::copy(__last, end(), __first));
1115:       return __first;
1115:     }
1115: 
1115: 
1115:   template<typename _Alloc>
1115:    
1115:     bool
1115:     vector<bool, _Alloc>::
1115:     _M_shrink_to_fit()
1115:     {
1115:       if (capacity() - size() < int(_S_word_bit))
1115:  return false;
1115:       try
1115:  {
1115:    if (size_type __n = size())
1115:      _M_reallocate(__n);
1115:    else
1115:      {
1115:        this->_M_deallocate();
1115:        this->_M_impl._M_reset();
1115:      }
1115:    return true;
1115:  }
1115:       catch(...)
1115:  { return false; }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _Alloc>
1115:     size_t
1115:     hash<std::vector<bool, _Alloc>>::
1115:     operator()(const std::vector<bool, _Alloc>& __b) const noexcept
1115:     {
1115:       size_t __hash = 0;
1115:       const size_t __words = __b.size x, fp y) {
1417:   return {multiply(x.f, y.f), x.e + y.e + 64};
1417: }
1417: 
1417: template <typename T = void> struct basic_data {
1417: 
1417: 
1417:   static constexpr uint64_t pow10_significands[87] = {
1417:       0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76,
1417:       0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df,
1417:       0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c,
1417:       0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5,
1417:       0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57,
1417:       0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7,
1417:       0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e,
1417:       0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996,
1417:       0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126,
1417:       0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053,
1417:       0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f,
1417:       0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b,
1417:       0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06,
1417:       0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb,
1417:       0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000,
1417:       0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984,
1417:       0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068,
1417:       0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8,
1417:       0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758,
1417:       0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85,
1417:       0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d,
1417:       0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25,
1417:       0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2,
1417:       0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a,
1417:       0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410,
1417:       0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129,
1417:       0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85,
1417:       0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841,
1417:       0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b,
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static constexpr int16_t pow10_exponents[87] = {
1417:       -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954,
1417:       -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661,
1417:       -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369,
1417:       -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77,
1417:       -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216,
1417:       242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508,
1417:       534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800,
1417:       827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066};
1417: 
1417: 
1417: 
1417: 
1417:   static constexpr uint64_t power_of_10_64[20] = {
1417:       1, 1ULL * 10, (1ULL)*100, (1ULL)*1000, (1ULL)*10000, (1ULL)*100000, (1ULL)*1000000, (1ULL)*10000000, (1ULL)*100000000, (1ULL)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1417:       10000000000000000000ULL};
1417: };
1417: # 1544 "/usr/include/fmt/format.h" 3 4
1417: struct data : basic_data<> {};
1417: 
1417: 
1417: 
1417: constexpr inline fp get_cached_power(int min_exponent,
1417:                                          int& pow10_exponent) {
1417:   const int shift = 32;
1417: 
1417:   const int64_t significand = 0x4d104d427de7fbcc;
1417:   int index = static_cast<int>(
1417:       ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) +
1417:        ((int64_t(1) << shift) - 1))
1417:       >> 32
1417:   );
1417: 
1417:   const int first_dec_exp = -348;
1417: 
1417:   const int dec_expor __first, _InputIterator __last,
1434:    _OutputIterator __result,
1434:    const _Tp& __old_value, const _Tp& __new_value)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__replace_copy_if(__first, __last, __result,
1434:    __gnu_cxx::__ops::__iter_equals_val(__old_value),
1434:            __new_value);
1434:     }
1434: # 3155 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _Predicate, typename _Tp>
1434:    
1434:     inline _OutputIterator
1434:     replace_copy_if(_InputIterator __first, _InputIterator __last,
1434:       _OutputIterator __result,
1434:       _Predicate __pred, const _Tp& __new_value)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__replace_copy_if(__first, __last, __result,
1434:     __gnu_cxx::__ops::__pred_iter(__pred),
1434:            __new_value);
1434:     }
1434: # 3184 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:    
1434:     inline bool
1434:     is_sorted(_ForwardIterator __first, _ForwardIterator __last)
1434:     { return std::is_sorted_until(__first, __last) == __last; }
1434: # 3199 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Compare>
1434:    
1434:     inline bool
1434:     is_sorted(_ForwardIterator __first, _ForwardIterator __last,
1434:        _Compare __comp)
1434:     { return std::is_sorted_until(__first, __last, __comp) == __last; }
1434: 
1434:   template<typename _ForwardIterator, typename _Compare>
1434:    
1434:     _ForwardIterator
1434:     __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1434:         _Compare __comp)
1434:     {
1434:       if (__first == __last)
1434:  return __last;
1434: 
1434:       _ForwardIterator __next = __first;
1434:       for (++__next; __next != __last; __first = __next, (void)++__next)
1434:  if (__comp(__next, __first))
1434:    return __next;
1434:       return __next;
1434:     }
1434: # 3230 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:    
1434:     inline _ForwardIterator
1434:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__is_sorted_until(__first, __last,
1434:         __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 3255 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Compare>
1434:    
1434:     inline _ForwardIterator
1434:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1434:       _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__is_sorted_until(__first, __last,
1434:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: # 3281 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _Tp>
1434:     constexpr
1434:     inline pair<const _Tp&, const _Tp&>
1434:     minmax(const _Tp& __a, const _Tp& __b)
1434:     {
1434: 
1434:      
1434: 
1434:       return __b < __a ? pair<const _Tp&, const _Tp&>(__b, __a)
1434:          : pair<const _Tp&, const _Tp&>(__a, __b);
1434:     }
1434: # 3302 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     inline pair<const _Tp&, const _Tp&>
1434:     minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
1434:     {
1434:       return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a)
1434:          : pair<const _Tp&, const _Tp&>(__a, __b);
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Compare>
1434:     constexpr
1434:     pair<_ForwardIterator, _ForwardIterator>
1434:     __minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1434:        _Compare __comp)
1434:     {
1434:       _ForwardIterator __next = __first;
1434:       if (__first == __last
1434:    || ++__next == __last)
1434:  return std::make_pair(__first, __first);
1434: 
1434:       _ForwardIterator __min{}, __max{};
1434:       if (__comp(__next, __first))
1434:  {
1434:    __min = __next;
1434:    __max = __first;
1434:  }
1434:       else
1434:  {
1434:    __min = __first;
1434:    __max = __next;
1434:  }
1434: 
1434:       __first = __next;
1434:       ++__first;
1434: 
1434:       while (__first != __last)
1434:  {
1434:    __next = __first;
1434:    if (++__next == __last)
1434:      {
1434:        if (__comp(__first, __min))
1434:   __min = __first;
1434:        else if (!__comp(__first, __max))
1434:   __max = __first;
1434:        break;
1434:      }
1434: 
1434:    if (__comp(__next, __first))
1434:      {
1434:        if (__comp(__next, __min))
1434:   __min = __next;
1434:        if (!__comp(__first, __max))
1434:   __max = __first;
1434:      }
1434:    else
1434:      {
1434:        if (__comp(__first, __min))
1434:   __min = __first;
1434:        if (!__comp(__next, __max))
1434:   __max = __next;
1434:      }
1434: 
1434:    __first = __next;
1434:    ++__first;
1434:  }
1434: 
1434:       return std::make_pair(__min, __max);
1434:     }
1434: # 3382 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:     constexpr
1434:     inline pair<_ForwardIterator, _ForwardIterator>
1434:     minmax_element(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__minmax_element(__first, __last,
1434:        __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 3410 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Compare>
1434:     constexpr
1434:     inline pair<_ForwardIterator, _ForwardIterator>
1434:     minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1434:      _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__minmax_element(__first, __last,
1434:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     inline pair<_Tp, _Tp>
1434:     minmax(initializer_list<_Tp> __l)
1434:     {
1434:       ;
1434:       pair<const _Tp*, const _Tp*> __p =
1434:  std::__minmax_element(__l.begin(), __l.end(),
1434:          __gnu_cxx::__ops::__iter_less_iter());
1434:       return std::make_pair(*__p.first, *__p.second);
1434:     }
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     inline pair<_Tp, _Tp>
1434:     minmax(initializer_list<_Tp> __l, _Compare __comp)
1434:     {
1434:       ;
1434:       pair<const _Tp*, const _Tp*> __p =
1434:  std::__minmax_element(__l.begin(), __l.end(),
1434:          __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:       return std::make_pair(*__p.first, *__p.second);
1434:     }
1434: # 3466 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline bool
1434:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:      _ForwardIterator2 __first2, _BinaryPredicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       return std::__is_permutation(__first1, __last1, __first2,
1434:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1434:     }
1434: 
1434: 
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     bool
1434:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1434:        _BinaryPredicate __pred)
1434:     {
1434:       using _Cat1
1434:  = typename iterator_traits<_ForwardIterator1>::iterator_category;
1434:       using _Cat2
1434:  = typenam() / _S_word_bit;
1115:       if (__words)
1115:  {
1115:    const size_t __clength = __words * sizeof(_Bit_type);
1115:    __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength);
1115:  }
1115: 
1115:       const size_t __extrabits = __b.size() % _S_word_bit;
1115:       if (__extrabits)
1115:  {
1115:    _Bit_type __hiword = *__b._M_impl._M_finish._M_p;
1115:    __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits);
1115: 
1115:    const size_t __clength
1115:      = (__extrabits + 8 - 1) / 8;
1115:    if (__words)
1115:      __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash);
1115:    else
1115:      __hash = std::_Hash_impl::hash(&__hiword, __clength);
1115:  }
1115: 
1115:       return __hash;
1115:     }
1115: 
1115: 
1115: }
1115: # 71 "/usr/include/c++/12/vector" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115:   namespace pmr {
1115:     template<typename _Tp> class polymorphic_allocator;
1115:     template<typename _Tp>
1115:       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 355 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h" 2
1115: 
1115: 
1115: 
1115: 
1115: # 358 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
1115: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
1115: class CFileItemList;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CGUIMessage final
1115: {
1115: public:
1115:   CGUIMessage(int dwMsg, int senderID, int controlID, int param1 = 0, int param2 = 0);
1115:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, CFileItemList* item);
1115:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, const CGUIListItemPtr &item);
1115:   CGUIMessage(const CGUIMessage& msg);
1115:   ~CGUIMessage(void);
1115:   CGUIMessage& operator = (const CGUIMessage& msg);
1115: 
1115:   int GetControlId() const ;
1115:   int GetMessage() const;
1115:   void* GetPointer() const;
1115:   CGUIListItemPtr GetItem() const;
1115:   int GetParam1() const;
1115:   int GetParam2() const;
1115:   int GetSenderId() const;
1115:   void SetParam1(int param1);
1115:   void SetParam2(int param2);
1115:   void SetPointer(void* pointer);
1115:   void SetLabel(const std::string& strLabel);
1115:   void SetLabel(int iString);
1115:   const std::string& GetLabel() const;
1115:   void SetStringParam(const std::string &strParam);
1115:   void SetStringParams(const std::vector<std::string> &params);
1115:   const std::string& GetStringParam(size_t param = 0) const;
1115:   size_t GetNumStringParams() const;
1115: 
1115: private:
1115:   std::string m_strLabel;
1115:   std::vector<std::string> m_params;
1115:   int m_senderID;
1115:   int m_controlID;
1115:   int m_message;
1115:   void* m_pointer;
1115:   int m_param1;
1115:   int m_param2;
1115:   CGUIListItemPtr m_item;
1115: 
1115:   static std::string empty_string;
1115: };
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/GUIUserMessages.h" 2
1115: 
1115: 
1115: constexpr const int GUI_MSG_REMOVED_MEDIA = GUI_MSG_USER + 1;
1115: constexpr const int GUI_MSG_UPDATE_SOURCES = GUI_MSG_USER + 2;
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAYLIST_CHANGED = GUI_MSG_USER + 3;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_START_SLIDESHOW = GUI_MSG_USER + 4;
1115: 
1115: constexpr const int GUI_MSG_PLAYBACK_STARTED = GUI_MSG_USER + 5;
1115: constexpr const int GUI_MSG_PLAYBACK_ENDED = GUI_MSG_USER + 6;
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAYBACK_STOPPED = GUI_MSG_USER + 7;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAYLISTPLAYER_STARTED = GUI_MSG_USER + 8;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAYLISTPLAYER_CHANGED = GUI_MSG_USER + 9;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAYLISTPLAYER_STOPPED = GUI_MSG_USER + 10;
1115: 
1115: constexpr co_step = 8;
1417:   index = (index - first_dec_exp - 1) / dec_exp_step + 1;
1417:   pow10_exponent = first_dec_exp + index * dec_exp_step;
1417: 
1417: 
1417:   return {*(data::pow10_significands + index),
1417:           *(data::pow10_exponents + index)};
1417: }
1417: # 1578 "/usr/include/fmt/format.h" 3 4
1417: template <typename T>
1417: auto snprintf_float(T value, int precision, float_specs specs,
1417:                     buffer<char>& buf) -> int {
1417: 
1417:   ::fmt::detail::ignore_unused((buf.capacity() > buf.size()), ("empty buffer"));
1417:   ::fmt::detail::ignore_unused((specs.format == float_format::hex), (""));
1417:   static_assert(!std::is_same<T, float>::value, "");
1417: 
1417: 
1417:   char format[7];
1417:   char* format_ptr = format;
1417:   *format_ptr++ = '%';
1417:   if (specs.showpoint) *format_ptr++ = '#';
1417:   if (precision >= 0) {
1417:     *format_ptr++ = '.';
1417:     *format_ptr++ = '*';
1417:   }
1417:   if (std::is_same<T, long double>()) *format_ptr++ = 'L';
1417:   *format_ptr++ = specs.upper ? 'A' : 'a';
1417:   *format_ptr = '\0';
1417: 
1417: 
1417:   auto offset = buf.size();
1417:   for (;;) {
1417:     auto begin = buf.data() + offset;
1417:     auto capacity = buf.capacity() - offset;
1417:     abort_fuzzing_if(precision > 100000);
1417: 
1417: 
1417:     int (*snprintf_ptr)(char*, size_t, const char*, ...) = snprintf;
1417:     int result = precision >= 0
1417:                      ? snprintf_ptr(begin, capacity, format, precision, value)
1417:                      : snprintf_ptr(begin, capacity, format, value);
1417:     if (result < 0) {
1417: 
1417:       buf.try_reserve(buf.capacity() + 1);
1417:       continue;
1417:     }
1417:     auto size = to_unsigned(result);
1417: 
1417:     if (size < capacity) {
1417:       buf.try_resize(size + offset);
1417:       return 0;
1417:     }
1417:     buf.try_reserve(size + offset + 1);
1417:   }
1417: }
1417: 
1417: template <typename T>
1417: using convert_float_result =
1417:     conditional_t<std::is_same<T, float>::value || sizeof(T) == sizeof(double),
1417:                   double, T>;
1417: 
1417: template <typename T>
1417: constexpr auto convert_float(T value) -> convert_float_result<T> {
1417:   return static_cast<convert_float_result<T>>(value);
1417: }
1417: 
1417: template <typename OutputIt, typename Char>
1417: __attribute__((noinline)) constexpr auto fill(OutputIt it, size_t n,
1417:                                      const fill_t<Char>& fill) -> OutputIt {
1417:   auto fill_size = fill.size();
1417:   if (fill_size == 1) return detail::fill_n(it, n, fill[0]);
1417:   auto data = fill.data();
1417:   for (size_t i = 0; i < n; ++i)
1417:     it = copy_str<Char>(data, data + fill_size, it);
1417:   return it;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: template <align::type align = align::left, typename OutputIt, typename Char,
1417:           typename F>
1417: constexpr auto write_padded(OutputIt out,
1417:                                 const basic_format_specs<Char>& specs,
1417:                                 size_t size, size_t width, F&& f) -> OutputIt {
1417:   static_assert(align == align::left || align == align::right, "");
1417:   unsigned spec_width = to_unsigned(specs.width);
1417:   size_t padding = spec_width > width ? spec_width - width : 0;
1417: 
1417: 
1417:   auto* shifts = align == align::left ? "\x1f\x1f\x00\x01" : "\x00\x1f\x00\x01";
1417:   size_t left_padding = padding >> shifts[specs.align];
1417:   size_t right_padding = padding - left_padding;
1417:   auto it = reserve(out, size + padding * specs.fill.size());
1417:   if (left_padding != 0) it = fill(it, left_padding, specs.fill);
1417:   it = f(it);
1417:   if (right_padding != 0) it = fill(it, right_padding, specs.fill);
1417:   return base_iterator(out, it);
1417: }
1417: 
1417: template <align::type align = align::left, typename OutputIt, typename Char,
1417:           typename F>
1417: constexpr auto write_padded(OutputIt out, const basic_format_specs<Char>& specs,
1417:                             size_t size, F&& f) -> OutputIt {e iterator_traits<_ForwardIterator2>::iterator_category;
1434:       using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>;
1434:       using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>;
1434:       constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA();
1434:       if (__ra_iters)
1434:  {
1434:    auto __d1 = std::distance(__first1, __last1);
1434:    auto __d2 = std::distance(__first2, __last2);
1434:    if (__d1 != __d2)
1434:      return false;
1434:  }
1434: 
1434: 
1434: 
1434:       for (; __first1 != __last1 && __first2 != __last2;
1434:    ++__first1, (void)++__first2)
1434:  if (!__pred(__first1, __first2))
1434:    break;
1434: 
1434:       if (__ra_iters)
1434:  {
1434:    if (__first1 == __last1)
1434:      return true;
1434:  }
1434:       else
1434:  {
1434:    auto __d1 = std::distance(__first1, __last1);
1434:    auto __d2 = std::distance(__first2, __last2);
1434:    if (__d1 == 0 && __d2 == 0)
1434:      return true;
1434:    if (__d1 != __d2)
1434:      return false;
1434:  }
1434: 
1434:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1434:  {
1434:    if (__scan != std::__find_if(__first1, __scan,
1434:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1434:      continue;
1434: 
1434:    auto __matches = std::__count_if(__first2, __last2,
1434:   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1434:    if (0 == __matches
1434:        || std::__count_if(__scan, __last1,
1434:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1434:        != __matches)
1434:      return false;
1434:  }
1434:       return true;
1434:     }
1434: # 3561 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1434:    
1434:     inline bool
1434:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:      _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1434:     {
1434:       ;
1434:       ;
1434: 
1434:       return
1434:  std::__is_permutation(__first1, __last1, __first2, __last2,
1434:          __gnu_cxx::__ops::__iter_equal_to_iter());
1434:     }
1434: # 3589 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline bool
1434:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:      _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1434:      _BinaryPredicate __pred)
1434:     {
1434:       ;
1434:       ;
1434: 
1434:       return std::__is_permutation(__first1, __last1, __first2, __last2,
1434:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1434:     }
1434: # 3619 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _Tp>
1434:     constexpr const _Tp&
1434:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi)
1434:     {
1434:       do { if (std::__is_constant_evaluated() && !bool(!(__hi < __lo))) __builtin_unreachable(); } while (false);
1434:       return std::min(std::max(__val, __lo), __hi);
1434:     }
1434: # 3639 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr const _Tp&
1434:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
1434:     {
1434:       do { if (std::__is_constant_evaluated() && !bool(!__comp(__hi, __lo))) __builtin_unreachable(); } while (false);
1434:       return std::min(std::max(__val, __lo, __comp), __hi, __comp);
1434:     }
1434: # 3671 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _IntType, typename _UniformRandomBitGenerator>
1434:     pair<_IntType, _IntType>
1434:     __gen_two_uniform_ints(_IntType __b0, _IntType __b1,
1434:       _UniformRandomBitGenerator&& __g)
1434:     {
1434:       _IntType __x
1434:  = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g);
1434:       return std::make_pair(__x / __b1, __x % __b1);
1434:     }
1434: # 3693 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator,
1434:     typename _UniformRandomNumberGenerator>
1434:     void
1434:     shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:      _UniformRandomNumberGenerator&& __g)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       if (__first == __last)
1434:  return;
1434: 
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:  _DistanceType;
1434: 
1434:       typedef typename std::make_unsigned<_DistanceType>::type __ud_type;
1434:       typedef typename std::uniform_int_distribution<__ud_type> __distr_type;
1434:       typedef typename __distr_type::param_type __p_type;
1434: 
1434:       typedef typename remove_reference<_UniformRandomNumberGenerator>::type
1434:  _Gen;
1434:       typedef typename common_type<typename _Gen::result_type, __ud_type>::type
1434:  __uc_type;
1434: 
1434:       const __uc_type __urngrange = __g.max() - __g.min();
1434:       const __uc_type __urange = __uc_type(__last - __first);
1434: 
1434:       if (__urngrange / __urange >= __urange)
1434: 
1434:       {
1434:  _RandomAccessIterator __i = __first + 1;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  if ((__urange % 2) == 0)
1434:  {
1434:    __distr_type __d{0, 1};
1434:    std::iter_swap(__i++, __first + __d(__g));
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  while (__i != __last)
1434:  {
1434:    const __uc_type __swap_range = __uc_type(__i - __first) + 1;
1434: 
1434:    const pair<__uc_type, __uc_type> __pospos =
1434:      __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g);
1434: 
1434:    std::iter_swap(__i++, __first + __pospos.first);
1434:    std::iter_swap(__i++, __first + __pospos.second);
1434:  }
1434: 
1434:  return;
1434:       }
1434: 
1434:       __distr_type __d;
1434: 
1434:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1434:  std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first)));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 3778 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Function>
1434:    
1434:     _Function
1434:     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
1434:     {
1434: 
1434:      
1434:       ;
1434:       for (; __first != __last; ++__first)
1434:  __f(*__first);
1434:       return __f;
1434:     }
1434: # 3804 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Size, typename _Function>
1434:    
1434:     _InputIterator
1434:     for_each_n(_InputIterator __first, _Size __n, _Function __f)
1434:     {
1434:       auto __n2 = std::__size_to_integer(__n);
1434:       using _Cat = typename iterator_traits<_InputIterator>::iterator_category;
1434:       if constexpr (is_base_of_v<random_access_iterator_tag, _Cat>)
1434:  {
1434:    if (__n2 <= 0)
1434:      return __first;
1434:    auto __last = __first + __n2;
1434:    std::for_each(__first, __last, std::move(__f));
1434:    return __last;
1434:  }
1434:       else
1434:  {
1434:    while (__n2-->0)
1434:      {
1434:        __f(*__first);
1434:        ++__first;
1434:      }
1434:    return __first;
1434:  }
1434:     }
1434: # 3840 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Tp>
1434:    
1434:     inline _InputIterator
1434:     find(_InputIterator __first, _InputIterator __last,
1434:   const _Tp& __val)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       return std::__find_if(__first, __last,
1434:        __gnu_cxx::__ops::__iter_equals_val(__val));
1434:     }
1434: # 3865 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline _InputIterator
1434:     find_if(_InputIterator __first, _InputIterator __last,
1434:      _Predicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__find_if(__first, __last,
1434:        __gnu_cxx::__ops::__pred_iter(__pred));
1434:     }
1434: # 3897 "/usr/include/c++/12/bits/stlnst int GUI_MSG_LOAD_SKIN = GUI_MSG_USER + 11;
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_DIRECTORY_SCANNED = GUI_MSG_USER + 12;
1115: 
1115: constexpr const int GUI_MSG_SCAN_FINISHED = GUI_MSG_USER + 13;
1115: 
1115: 
1115: constexpr const int GUI_MSG_QUEUE_NEXT_ITEM = GUI_MSG_USER + 16;
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAY_TRAILER = GUI_MSG_USER + 17;
1115: 
1115: 
1115: constexpr const int GUI_MSG_VISUALISATION_UNLOADING = GUI_MSG_USER + 117;
1115: constexpr const int GUI_MSG_VISUALISATION_LOADED = GUI_MSG_USER + 118;
1115: constexpr const int GUI_MSG_GET_VISUALISATION = GUI_MSG_USER + 119;
1115: constexpr const int GUI_MSG_VISUALISATION_ACTION = GUI_MSG_USER + 120;
1115: constexpr const int GUI_MSG_VISUALISATION_RELOAD = GUI_MSG_USER + 121;
1115: 
1115: constexpr const int GUI_MSG_VIDEO_MENU_STARTED = GUI_MSG_USER + 21;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAYLISTPLAYER_RANDOM = GUI_MSG_USER + 22;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const int GUI_MSG_PLAYLISTPLAYER_REPEAT = GUI_MSG_USER + 23;
1115: 
1115: 
1115: constexpr const int GUI_MSG_WEATHER_FETCHED = GUI_MSG_USER + 24;
1115: 
1115: 
1115: constexpr const int GUI_MSG_CHECK_LOCK = GUI_MSG_USER + 25;
1115: 
1115: 
1115: constexpr const int GUI_MSG_UPDATE = GUI_MSG_USER + 26;
1115: 
1115: 
1115: constexpr const int GUI_MSG_FILTER_ITEMS = GUI_MSG_USER + 27;
1115: 
1115: 
1115: constexpr const int GUI_MSG_SEARCH_UPDATE = GUI_MSG_USER + 28;
1115: 
1115: 
1115: constexpr const int GUI_MSG_UPDATE_ITEM = GUI_MSG_USER + 29;
1115: 
1115: 
1115: constexpr int GUI_MSG_FLAG_UPDATE_LIST = 0x00000001;
1115: constexpr int GUI_MSG_FLAG_FORCE_UPDATE = 0x00000002;
1115: 
1115: 
1115: constexpr const int GUI_MSG_CHANGE_VIEW_MODE = GUI_MSG_USER + 30;
1115: 
1115: 
1115: constexpr const int GUI_MSG_CHANGE_SORT_METHOD = GUI_MSG_USER + 31;
1115: constexpr const int GUI_MSG_CHANGE_SORT_DIRECTION = GUI_MSG_USER + 32;
1115: 
1115: 
1115: constexpr const int GUI_MSG_UPDATE_PATH = GUI_MSG_USER + 33;
1115: 
1115: 
1115: constexpr const int GUI_MSG_SEARCH = GUI_MSG_USER + 34;
1115: 
1115: 
1115: constexpr const int GUI_MSG_SETTING_UPDATED = GUI_MSG_USER + 35;
1115: 
1115: 
1115: constexpr const int GUI_MSG_SHOW_PICTURE = GUI_MSG_USER + 36;
1115: 
1115: 
1115: constexpr const int GUI_MSG_EVENT_ADDED = GUI_MSG_USER + 39;
1115: constexpr const int GUI_MSG_EVENT_REMOVED = GUI_MSG_USER + 40;
1115: 
1115: 
1115: constexpr const int GUI_MSG_UPDATE_RADIOTEXT = GUI_MSG_USER + 41;
1115: 
1115: constexpr const int GUI_MSG_PLAYBACK_ERROR = GUI_MSG_USER + 42;
1115: constexpr const int GUI_MSG_PLAYBACK_AVCHANGE = GUI_MSG_USER + 43;
1115: constexpr const int GUI_MSG_PLAYBACK_AVSTARTED = GUI_MSG_USER + 44;
1115: 
1115: 
1115: constexpr const int GUI_MSG_SYSTEM_SLEEP = GUI_MSG_USER + 45;
1115: constexpr const int GUI_MSG_SYSTEM_WAKE = GUI_MSG_USER + 46;
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1115:        
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class ISettingsHandler
1115: {
1115: public:
1115:   virtual ~ISettingsHandler() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool OnSettingsLoading() { return true; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void OnSettingsLoaded() { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool OnSettingsSaving() const { return true; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void OnSettingsSaved() const { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void OnSettingsUnloaded() { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void OnSettingsCleared() { }
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+d
1417:   return write_padded<align>(out, specs, size, size, f);
1417: }
1417: 
1417: template <align::type align = align::left, typename Char, typename OutputIt>
1417: constexpr auto write_bytes(OutputIt out, string_view bytes,
1417:                                const basic_format_specs<Char>& specs)
1417:     -> OutputIt {
1417:   return write_padded<align>(
1417:       out, specs, bytes.size(), [bytes](reserve_iterator<OutputIt> it) {
1417:         const char* data = bytes.data();
1417:         return copy_str<Char>(data, data + bytes.size(), it);
1417:       });
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename UIntPtr>
1417: auto write_ptr(OutputIt out, UIntPtr value,
1417:                const basic_format_specs<Char>* specs) -> OutputIt {
1417:   int num_digits = count_digits<4>(value);
1417:   auto size = to_unsigned(num_digits) + size_t(2);
1417:   auto write = [=](reserve_iterator<OutputIt> it) {
1417:     *it++ = static_cast<Char>('0');
1417:     *it++ = static_cast<Char>('x');
1417:     return format_uint<4, Char>(it, value, num_digits);
1417:   };
1417:   return specs ? write_padded<align::right>(out, *specs, size, write)
1417:                : base_iterator(out, write(reserve(out, size)));
1417: }
1417: 
1417: 
1417:  auto is_printable(uint32_t cp) -> bool;
1417: 
1417: inline auto needs_escape(uint32_t cp) -> bool {
1417:   return cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\' ||
1417:          !is_printable(cp);
1417: }
1417: 
1417: template <typename Char> struct find_escape_result {
1417:   const Char* begin;
1417:   const Char* end;
1417:   uint32_t cp;
1417: };
1417: 
1417: template <typename Char>
1417: using make_unsigned_char =
1417:     typename conditional_t<std::is_integral<Char>::value,
1417:                            std::make_unsigned<Char>,
1417:                            type_identity<uint32_t>>::type;
1417: 
1417: template <typename Char>
1417: auto find_escape(const Char* begin, const Char* end)
1417:     -> find_escape_result<Char> {
1417:   for (; begin != end; ++begin) {
1417:     uint32_t cp = static_cast<make_unsigned_char<Char>>(*begin);
1417:     if (const_check(sizeof(Char) == 1) && cp >= 0x80) continue;
1417:     if (needs_escape(cp)) return {begin, begin + 1, cp};
1417:   }
1417:   return {begin, nullptr, 0};
1417: }
1417: 
1417: inline auto find_escape(const char* begin, const char* end)
1417:     -> find_escape_result<char> {
1417:   if (!is_utf8()) return find_escape<char>(begin, end);
1417:   auto result = find_escape_result<char>{end, nullptr, 0};
1417:   for_each_codepoint(string_view(begin, to_unsigned(end - begin)),
1417:                      [&](uint32_t cp, string_view sv) {
1417:                        if (needs_escape(cp)) {
1417:                          result = {sv.begin(), sv.end(), cp};
1417:                          return false;
1417:                        }
1417:                        return true;
1417:                      });
1417:   return result;
1417: }
1417: # 1774 "/usr/include/fmt/format.h" 3 4
1417: template <size_t width, typename Char, typename OutputIt>
1417: auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt {
1417:   *out++ = static_cast<Char>('\\');
1417:   *out++ = static_cast<Char>(prefix);
1417:   Char buf[width];
1417:   fill_n(buf, width, static_cast<Char>('0'));
1417:   format_uint<4>(buf, cp, width);
1417:   return copy_str<Char>(buf, buf + width, out);
1417: }
1417: 
1417: template <typename OutputIt, typename Char>
1417: auto write_escaped_cp(OutputIt out, const find_escape_result<Char>& escape)
1417:     -> OutputIt {
1417:   auto c = static_cast<Char>(escape.cp);
1417:   switch (escape.cp) {
1417:   case '\n':
1417:     *out++ = static_cast<Char>('\\');
1417:     c = static_cast<Char>('n');
1417:     break;
1417:   case '\r':
1417:     *out++ = static_cast<Char>('\\');
1417:     c = static_cast<Char>('r');
1417:     break;
1417:   case '\t':
1417:     *out++ = static_cast<Char>('\\');
1417:     c = static_cast<Char>('t');
1417:     break;
1417:   case '"':
1417:     [[fallthrough_algo.h" 3
1434:   template<typename _InputIterator, typename _ForwardIterator>
1434:    
1434:     _InputIterator
1434:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1434:     _ForwardIterator __first2, _ForwardIterator __last2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       for (; __first1 != __last1; ++__first1)
1434:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1434:    if (*__first1 == *__iter)
1434:      return __first1;
1434:       return __last1;
1434:     }
1434: # 3938 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _ForwardIterator,
1434:     typename _BinaryPredicate>
1434:    
1434:     _InputIterator
1434:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1434:     _ForwardIterator __first2, _ForwardIterator __last2,
1434:     _BinaryPredicate __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       for (; __first1 != __last1; ++__first1)
1434:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1434:    if (__comp(*__first1, *__iter))
1434:      return __first1;
1434:       return __last1;
1434:     }
1434: # 3971 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:    
1434:     inline _ForwardIterator
1434:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__adjacent_find(__first, __last,
1434:       __gnu_cxx::__ops::__iter_equal_to_iter());
1434:     }
1434: # 3997 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _BinaryPredicate>
1434:    
1434:     inline _ForwardIterator
1434:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
1434:     _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       return std::__adjacent_find(__first, __last,
1434:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1434:     }
1434: # 4023 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Tp>
1434:    
1434:     inline typename iterator_traits<_InputIterator>::difference_type
1434:     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__count_if(__first, __last,
1434:         __gnu_cxx::__ops::__iter_equals_val(__value));
1434:     }
1434: # 4047 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _Predicate>
1434:    
1434:     inline typename iterator_traits<_InputIterator>::difference_type
1434:     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__count_if(__first, __last,
1434:         __gnu_cxx::__ops::__pred_iter(__pred));
1434:     }
1434: # 4088 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1434:    
1434:     inline _ForwardIterator1
1434:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__search(__first1, __last1, __first2, __last2,
1434:       __gnu_cxx::__ops::__iter_equal_to_iter());
1434:     }
1434: # 4128 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline _ForwardIterator1
1434:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1434:     _BinaryPredicate __predicate)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__search(__first1, __last1, __first2, __last2,
1434:       __gnu_cxx::__ops::__iter_comp_iter(__predicate));
1434:     }
1434: # 4164 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Integer, typename _Tp>
1434:    
1434:     inline _ForwardIterator
1434:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1434:       _Integer __count, const _Tp& __val)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__search_n(__first, __last, __count,
1434:         __gnu_cxx::__ops::__iter_equals_val(__val));
1434:     }
1434: # 4198 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Integer, typename _Tp,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline _ForwardIterator
1434:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1434:       _Integer __count, const _Tp& __val,
1434:       _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__search_n(__first, __last, __count,
1434:   __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val));
1434:     }
1434: # 4224 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Searcher>
1434:    
1434:     inline _ForwardIterator
1434:     search(_ForwardIterator __first, _ForwardIterator __last,
1434:     const _Searcher& __searcher)
1434:     { return __searcher(__first, __last).first; }
1434: # 4248 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _UnaryOperation>
1434:    
1434:     _OutputIterator
1434:     transform(_InputIterator __first, _InputIterator __last,
1434:        _OutputIterator __result, _UnaryOperation __unary_op)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       for (; __first != __last; ++__first, (void)++__result)
1434:  *__result = __unary_op(*__first);
1434:       return __result;
1434:     }
1434: # 4286 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _BinaryOperation>
1434:    
1434:     _OutputIterator
1434:     transform(_InputIterator1 __first1, _InputIterator1 __last1,
1434:        _InputIterator2 __first2, _OutputIterator __result,
1434:        _BinaryOperation __binary_op)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434: 
1434:       for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result)
1434:  *__result = __binary_op(*__first1, *__first2);
1434:       return __result;
1434:     }
1434: # 4320 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Tp>
1434:    
1434:     void
1434:     replace(_ForwardIterator __first, _ForwardIterator __last,
1434:      const _Tp& __old_value, const _Tp& __new_value)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       for (; __first != __last; ++__first)
1434:  if (*__first == __old_value)
1434:    *__first = __new_value;
1434:     }
1434: # 4353 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
1434:    
1434:     void
1434:     replace_if(_ForwardIterator __first, _ForwardIterator __last,
1434:         _Predicate __pred, const _Tp& __new_value)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       for (; __first != __last; ++__first)
1434:  if (__pred(*__first))
1434:    *__first = __new_value;
1434:     }
1434: # 4386 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Generator>
1434:    
1434:     void
1434:     generate(_ForwardIterator __first, _ForwardIterator __last,
1434:       _Generator __gen)fsg/xbmc/utils/GlobalsHandling.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1115:        
1115: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1115: namespace xbmcutil
1115: {
1115: # 105 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1115:   template <class T> class GlobalsSingleton
1115:   {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template <class K> class Deleter
1115:     {
1115:     public:
1115:       K* guarded;
1115:       ~Deleter() { if (guarded) delete guarded; }
1115:     };
1115: # 130 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1115:     static Deleter<std::shared_ptr<T> > instance;
1115: 
1115: 
1115: 
1115: 
1115:     static T* quick;
1115:   public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     inline static std::shared_ptr<T> getInstance()
1115:     {
1115:       if (!instance.guarded)
1115:       {
1115:         if (!quick)
1115:           quick = new T;
1115:         instance.guarded = new std::shared_ptr<T>(quick);
1115:       }
1115:       return *(instance.guarded);
1115:     }
1115: # 160 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1115:     inline static T* getQuick()
1115:     {
1115:       if (!quick)
1115:         quick = new T;
1115: 
1115:       return quick;
1115:     }
1115: 
1115:   };
1115: 
1115:   template <class T> typename GlobalsSingleton<T>::template Deleter<std::shared_ptr<T> > GlobalsSingleton<T>::instance;
1115:   template <class T> T* GlobalsSingleton<T>::quick;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class InitFlag { public: explicit InitFlag(bool& flag) { flag = true; } };
1115: }
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:        
1115: 
1115: # 1 "/usr/include/c++/12/set" 1 3
1115: # 58 "/usr/include/c++/12/set" 3
1115:        
1115: # 59 "/usr/include/c++/12/set" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stl_set.h" 1 3
1115: # 64 "/usr/include/c++/12/bits/stl_set.h" 3
1115: 
1115: # 64 "/usr/include/c++/12/bits/stl_set.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     class multiset;
1115: # 92 "/usr/include/c++/12/bits/stl_set.h" 3
1115:   template<typename _Key, typename _Compare = std::less<_Key>,
1115:     typename _Alloc = std::allocator<_Key> >
1115:     class set
1115:     {
1115: # 108 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1115:    "std::set must have a non-const, non-volatile value_type");
1115: 
1115:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1115:    "std::set must have the same value_type as its allocator");
1115: 
1115: 
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _Key key_type;
1115:       typedef _Key value_type;
1115:       typedef _Compare key_compare;
1115:       typedef _Compare value_compare;
1115:       typedef _Alloc allocator_type;
1115: 
1115: 
1115:     private:
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_Key>::other _Key_alloc_type;
1115: 
1115:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1115:          key_compare, _Key_alloc_type> _Rep_type;
1115:       _Rep_type _M_t;
1115: 
1115:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1115: 
1115:     public:
1115: 
1115: 
1115:       typedef typename _Alloc_traits::pointer pointer;
1115:       typedef typename _Alloc_traits::const_pointer const_pointer;
1115:       typedef typename _Alloc_traits::reference reference;
1115:       typedef typename _Alloc_traits::const_reference const_reference;
1115: 
1115: 
1115: 
1115:       typedef typename _Rep_type::const_iterator iterator;
1115:       typedef typename _Rep_type::const_iterator const_iterator;]];
1417:   case '\'':
1417:     [[fallthrough]];
1417:   case '\\':
1417:     *out++ = static_cast<Char>('\\');
1417:     break;
1417:   default:
1417:     if (is_utf8()) {
1417:       if (escape.cp < 0x100) {
1417:         return write_codepoint<2, Char>(out, 'x', escape.cp);
1417:       }
1417:       if (escape.cp < 0x10000) {
1417:         return write_codepoint<4, Char>(out, 'u', escape.cp);
1417:       }
1417:       if (escape.cp < 0x110000) {
1417:         return write_codepoint<8, Char>(out, 'U', escape.cp);
1417:       }
1417:     }
1417:     for (Char escape_char : basic_string_view<Char>(
1417:              escape.begin, to_unsigned(escape.end - escape.begin))) {
1417:       out = write_codepoint<2, Char>(out, 'x',
1417:                                      static_cast<uint32_t>(escape_char) & 0xFF);
1417:     }
1417:     return out;
1417:   }
1417:   *out++ = c;
1417:   return out;
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: auto write_escaped_string(OutputIt out, basic_string_view<Char> str)
1417:     -> OutputIt {
1417:   *out++ = static_cast<Char>('"');
1417:   auto begin = str.begin(), end = str.end();
1417:   do {
1417:     auto escape = find_escape(begin, end);
1417:     out = copy_str<Char>(begin, escape.begin, out);
1417:     begin = escape.end;
1417:     if (!begin) break;
1417:     out = write_escaped_cp<OutputIt, Char>(out, escape);
1417:   } while (begin != end);
1417:   *out++ = static_cast<Char>('"');
1417:   return out;
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: auto write_escaped_char(OutputIt out, Char v) -> OutputIt {
1417:   *out++ = static_cast<Char>('\'');
1417:   if ((needs_escape(static_cast<uint32_t>(v)) && v != static_cast<Char>('"')) ||
1417:       v == static_cast<Char>('\'')) {
1417:     out = write_escaped_cp(
1417:         out, find_escape_result<Char>{&v, &v + 1, static_cast<uint32_t>(v)});
1417:   } else {
1417:     *out++ = v;
1417:   }
1417:   *out++ = static_cast<Char>('\'');
1417:   return out;
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write_char(OutputIt out, Char value,
1417:                               const basic_format_specs<Char>& specs)
1417:     -> OutputIt {
1417:   bool is_debug = specs.type == presentation_type::debug;
1417:   return write_padded(out, specs, 1, [=](reserve_iterator<OutputIt> it) {
1417:     if (is_debug) return write_escaped_char(it, value);
1417:     *it++ = value;
1417:     return it;
1417:   });
1417: }
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write(OutputIt out, Char value,
1417:                          const basic_format_specs<Char>& specs,
1417:                          locale_ref loc = {}) -> OutputIt {
1417:   return check_char_specs(specs)
1417:              ? write_char(out, value, specs)
1417:              : write(out, static_cast<int>(value), specs, loc);
1417: }
1417: 
1417: 
1417: 
1417: template <typename Char> struct write_int_data {
1417:   size_t size;
1417:   size_t padding;
1417: 
1417:   constexpr write_int_data(int num_digits, unsigned prefix,
1417:                                const basic_format_specs<Char>& specs)
1417:       : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) {
1417:     if (specs.align == align::numeric) {
1417:       auto width = to_unsigned(specs.width);
1417:       if (width > size) {
1417:         padding = width - size;
1417:         size = width;
1417:       }
1417:     } else if (specs.precision > num_digits) {
1417:       size = (prefix >> 24) + to_unsigned(specs.precision);
1417:       padding = to_unsigned(specs.precision - num_digits);
1417:     }
1417:   }
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename OutputIt, typename Char, typename W>
1417: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, int num_digits,
1417:                                         unsigned prefix,
1417:                                         const basic_format_specs<Char>& specs,
1417:                                         W wr
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       for (; __first != __last; ++__first)
1434:  *__first = __gen();
1434:     }
1434: # 4420 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _OutputIterator, typename _Size, typename _Generator>
1434:    
1434:     _OutputIterator
1434:     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
1434:     {
1434: 
1434:      
1434: 
1434: 
1434: 
1434:       typedef __decltype(std::__size_to_integer(__n)) _IntSize;
1434:       for (_IntSize __niter = std::__size_to_integer(__n);
1434:     __niter > 0; --__niter, (void) ++__first)
1434:  *__first = __gen();
1434:       return __first;
1434:     }
1434: # 4458 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     unique_copy(_InputIterator __first, _InputIterator __last,
1434:   _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       if (__first == __last)
1434:  return __result;
1434:       return std::__unique_copy(__first, __last, __result,
1434:     __gnu_cxx::__ops::__iter_equal_to_iter(),
1434:     std::__iterator_category(__first),
1434:     std::__iterator_category(__result));
1434:     }
1434: # 4499 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator, typename _OutputIterator,
1434:     typename _BinaryPredicate>
1434:    
1434:     inline _OutputIterator
1434:     unique_copy(_InputIterator __first, _InputIterator __last,
1434:   _OutputIterator __result,
1434:   _BinaryPredicate __binary_pred)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434: 
1434:       if (__first == __last)
1434:  return __result;
1434:       return std::__unique_copy(__first, __last, __result,
1434:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred),
1434:     std::__iterator_category(__first),
1434:     std::__iterator_category(__result));
1434:     }
1434: # 4538 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator>
1434:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1434:     inline void
1434:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       if (__first != __last)
1434:  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1434:    {
1434: 
1434:      _RandomAccessIterator __j = __first
1434:      + std::rand() % ((__i - __first) + 1);
1434:      if (__i != __j)
1434:        std::iter_swap(__i, __j);
1434:    }
1434:     }
1434: # 4578 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
1434:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1434:     void
1434:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434: 
1434:      _RandomNumberGenerator&& __rand)
1434: 
1434: 
1434: 
1434:     {
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       if (__first == __last)
1434:  return;
1434:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1434:  {
1434:    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
1434:    if (__i != __j)
1434:      std::iter_swap(__i, __j);
1434:  }
1434:     }
1434: # 4619 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Predicate>
1434:    
1434:     inline _ForwardIterator
1434:     partition(_ForwardIterator __first, _ForwardIterator __last,
1434:        _Predicate __pred)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434: 
1434:       return std::__partition(__first, __last, __pred,
1434:          std::__iterator_category(__first));
1434:     }
1434: # 4653 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline void
1434:     partial_sort(_RandomAccessIterator __first,
1434:    _RandomAccessIterator __middle,
1434:    _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       std::__partial_sort(__first, __middle, __last,
1434:      __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 4692 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     partial_sort(_RandomAccessIterator __first,
1434:    _RandomAccessIterator __middle,
1434:    _RandomAccessIterator __last,
1434:    _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       std::__partial_sort(__first, __middle, __last,
1434:      __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: # 4729 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline void
1434:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1434:   _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       if (__first == __last || __nth == __last)
1434:  return;
1434: 
1434:       std::__introselect(__first, __nth, __last,
1434:     std::__lg(__last - __first) * 2,
1434:     __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 4769 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1434:   _RandomAccessIterator __last, _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       if (__first == __last || __nth == __last)
1434:  return;
1434: 
1434:       std::__introselect(__first, __nth, __last,
1434:     std::__lg(__last - __first) * 2,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: # 4807 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator>
1434:    
1434:     inline void
1434:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 4838 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:    
1434:     inline void
1434:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:   _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _Compare>
1434:    
1434:     _OutputIterator
1434:     __merge(_InputIterator1 __first1, _InputIterator1 __last1,
1434:      _InputIterator2 __first2, _InputIterator2 __last2,
1434:      _OutputIterator __result, _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  {
1434:    if (__comp(__first2, __first1))
1434:      {
1434:        *__result = *__first2;
1434:        ++__first2;
1434:      }
1434:    else
1434:      {
1434:        *__result = *__first1;
1434:        ++__first1;
1434:      }
1434:    ++__result;
1434:  }
1434:       return std::copy(__first2, __last2,
1434:          std::copy(__first1, __last1, __result));
1434:     }
1434: # 4901 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1434:    _InputIterator2 __first2, _InputIterator2 __las
1115:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1115:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1115:       typedef typename _Rep_type::size_type size_type;
1115:       typedef typename _Rep_type::difference_type difference_type;
1115: 
1115: 
1115: 
1115:       using node_type = typename _Rep_type::node_type;
1115:       using insert_return_type = typename _Rep_type::insert_return_type;
1115: # 167 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       set() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       set(const _Compare& __comp,
1115:    const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1115: # 190 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       template<typename _InputIterator>
1115:  set(_InputIterator __first, _InputIterator __last)
1115:  : _M_t()
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: # 207 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       template<typename _InputIterator>
1115:  set(_InputIterator __first, _InputIterator __last,
1115:      const _Compare& __comp,
1115:      const allocator_type& __a = allocator_type())
1115:  : _M_t(__comp, _Key_alloc_type(__a))
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: # 223 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       set(const set&) = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       set(set&&) = default;
1115: # 243 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       set(initializer_list<value_type> __l,
1115:    const _Compare& __comp = _Compare(),
1115:    const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Key_alloc_type(__a))
1115:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       explicit
1115:       set(const allocator_type& __a)
1115:       : _M_t(_Key_alloc_type(__a)) { }
1115: 
1115: 
1115:       set(const set& __x, const __type_identity_t<allocator_type>& __a)
1115:       : _M_t(__x._M_t, _Key_alloc_type(__a)) { }
1115: 
1115: 
1115:       set(set&& __x, const __type_identity_t<allocator_type>& __a)
1115:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1115:         && _Alloc_traits::_S_always_equal())
1115:       : _M_t(std::move(__x._M_t), _Key_alloc_type(__a)) { }
1115: 
1115: 
1115:       set(initializer_list<value_type> __l, const allocator_type& __a)
1115:       : _M_t(_Key_alloc_type(__a))
1115:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115:  set(_InputIterator __first, _InputIterator __last,
1115:      const allocator_type& __a)
1115:  : _M_t(_Key_alloc_type(__a))
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~set() = default;
1115: # 297 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       set&
1115:       operator=(const set&) = default;
1115: 
1115: 
1115:       set&
1115:       operator=(set&&) = default;
1115: # 315 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       set&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  _M_t._M_assign_unique(__l.begin(), __l.end());
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       key_compare
1115:       key_comp() const
1115:       { return _M_t.key_comp(); }
1115: 
1115:       value_compare
1115:       value_comp() const
1115:       { return _M_t.key_comp(); }
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_M_t.get_allocator()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       begin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       end() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
11ite_digits) -> OutputIt {
1417: 
1417:   if ((specs.width | (specs.precision + 1)) == 0) {
1417:     auto it = reserve(out, to_unsigned(num_digits) + (prefix >> 24));
1417:     if (prefix != 0) {
1417:       for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1417:         *it++ = static_cast<Char>(p & 0xff);
1417:     }
1417:     return base_iterator(out, write_digits(it));
1417:   }
1417:   auto data = write_int_data<Char>(num_digits, prefix, specs);
1417:   return write_padded<align::right>(
1417:       out, specs, data.size, [=](reserve_iterator<OutputIt> it) {
1417:         for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1417:           *it++ = static_cast<Char>(p & 0xff);
1417:         it = detail::fill_n(it, data.padding, static_cast<Char>('0'));
1417:         return write_digits(it);
1417:       });
1417: }
1417: 
1417: template <typename Char> class digit_grouping {
1417:  private:
1417:   thousands_sep_result<Char> sep_;
1417: 
1417:   struct next_state {
1417:     std::string::const_iterator group;
1417:     int pos;
1417:   };
1417:   next_state initial_state() const { return {sep_.grouping.begin(), 0}; }
1417: 
1417: 
1417:   int next(next_state& state) const {
1417:     if (!sep_.thousands_sep) return max_value<int>();
1417:     if (state.group == sep_.grouping.end())
1417:       return state.pos += sep_.grouping.back();
1417:     if (*state.group <= 0 || *state.group == max_value<char>())
1417:       return max_value<int>();
1417:     state.pos += *state.group++;
1417:     return state.pos;
1417:   }
1417: 
1417:  public:
1417:   explicit digit_grouping(locale_ref loc, bool localized = true) {
1417:     if (localized)
1417:       sep_ = thousands_sep<Char>(loc);
1417:     else
1417:       sep_.thousands_sep = Char();
1417:   }
1417:   explicit digit_grouping(thousands_sep_result<Char> sep) : sep_(sep) {}
1417: 
1417:   Char separator() const { return sep_.thousands_sep; }
1417: 
1417:   int count_separators(int num_digits) const {
1417:     int count = 0;
1417:     auto state = initial_state();
1417:     while (num_digits > next(state)) ++count;
1417:     return count;
1417:   }
1417: 
1417: 
1417:   template <typename Out, typename C>
1417:   Out apply(Out out, basic_string_view<C> digits) const {
1417:     auto num_digits = static_cast<int>(digits.size());
1417:     auto separators = basic_memory_buffer<int>();
1417:     separators.push_back(0);
1417:     auto state = initial_state();
1417:     while (int i = next(state)) {
1417:       if (i >= num_digits) break;
1417:       separators.push_back(i);
1417:     }
1417:     for (int i = 0, sep_index = static_cast<int>(separators.size() - 1);
1417:          i < num_digits; ++i) {
1417:       if (num_digits - i == separators[sep_index]) {
1417:         *out++ = separator();
1417:         --sep_index;
1417:       }
1417:       *out++ = static_cast<Char>(digits[to_unsigned(i)]);
1417:     }
1417:     return out;
1417:   }
1417: };
1417: 
1417: template <typename OutputIt, typename UInt, typename Char>
1417: auto write_int_localized(OutputIt out, UInt value, unsigned prefix,
1417:                          const basic_format_specs<Char>& specs,
1417:                          const digit_grouping<Char>& grouping) -> OutputIt {
1417:   static_assert(std::is_same<uint64_or_128_t<UInt>, UInt>::value, "");
1417:   int num_digits = count_digits(value);
1417:   char digits[40];
1417:   format_decimal(digits, value, num_digits);
1417:   unsigned size = to_unsigned((prefix != 0 ? 1 : 0) + num_digits +
1417:                               grouping.count_separators(num_digits));
1417:   return write_padded<align::right>(
1417:       out, specs, size, size, [&](reserve_iterator<OutputIt> it) {
1417:         if (prefix != 0) {
1417:           char sign = static_cast<char>(prefix);
1417:           *it++ = static_cast<Char>(sign);
1417:         }
1417:         return grouping.apply(it, string_view(digits, to_unsigned(num_digits)));
1417:       });
1417: }
1417: 
1417: template <typename OutputIt, typename UInt, typename Char>
1417: auto write_int_localized(OutputIt& out,t2,
1434:    _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__merge(__first1, __last1,
1434:          __first2, __last2, __result,
1434:          __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 4952 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _Compare>
1434:    
1434:     inline _OutputIterator
1434:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1434:    _InputIterator2 __first2, _InputIterator2 __last2,
1434:    _OutputIterator __result, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__merge(__first1, __last1,
1434:     __first2, __last2, __result,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:     inline void
1434:     __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:     _Compare __comp)
1434:     {
1434:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1434:  _ValueType;
1434:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1434:  _DistanceType;
1434:       typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf;
1434: 
1434:       if (__first == __last)
1434:  return;
1434: 
1434: 
1434: 
1434:       _TmpBuf __buf(__first, (__last - __first + 1) / 2);
1434: 
1434:       if (__buf.begin() == 0)
1434:  std::__inplace_stable_sort(__first, __last, __comp);
1434:       else
1434:  std::__stable_sort_adaptive(__first, __last, __buf.begin(),
1434:         _DistanceType(__buf.size()), __comp);
1434:     }
1434: # 5022 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator>
1434:     inline void
1434:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       std::__stable_sort(__first, __last,
1434:         __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 5056 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _RandomAccessIterator, typename _Compare>
1434:     inline void
1434:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1434:   _Compare __comp)
1434:     {
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       std::__stable_sort(__first, __last,
1434:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator,
1434:     typename _Compare>
1434:    
1434:     _OutputIterator
1434:     __set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1434:   _InputIterator2 __first2, _InputIterator2 __last2,
1434:   _OutputIterator __result, _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  {
1434:    if (__comp(__first1, __first2))
1434:      {
1434:        *__result = *__first1;
1434:        ++__first1;
1434:      }
1434:    else if (__comp(__first2, __first1))
1434:      {
1434:        *__result = *__first2;
1434:        ++__first2;
1434:      }
1434:    else
1434:      {
1434:        *__result = *__first1;
1434:        ++__first1;
1434:        ++__first2;
1434:      }
1434:    ++__result;
1434:  }
1434:       return std::copy(__first2, __last2,
1434:          std::copy(__first1, __last1, __result));
1434:     }
1434: # 5126 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1434:        _InputIterator2 __first2, _InputIterator2 __last2,
1434:        _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__set_union(__first1, __last1,
1434:     __first2, __last2, __result,
1434:     __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 5177 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _Compare>
1434:    
1434:     inline _OutputIterator
1434:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1434:        _InputIterator2 __first2, _InputIterator2 __last2,
1434:        _OutputIterator __result, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__set_union(__first1, __last1,
1434:     __first2, __last2, __result,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator,
1434:     typename _Compare>
1434:    
1434:     _OutputIterator
1434:     __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1434:          _InputIterator2 __first2, _InputIterator2 __last2,
1434:          _OutputIterator __result, _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  if (__comp(__first1, __first2))
1434:    ++__first1;
1434:  else if (__comp(__first2, __first1))
1434:    ++__first2;
1434:  else
1434:    {
1434:      *__result = *__first1;
1434:      ++__first1;
1434:      ++__first2;
1434:      ++__result;
1434:    }
1434:       return __result;
1434:     }
1434: # 5250 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1434:        _InputIterator2 __first2, _InputIterator2 __last2,
1434:        _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__set_intersection(__first1, __last1,
1434:          __first2, __last2, __result,
1434:          __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 5300 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _Compare>
1434:    
1434:     inline _OutputIterator
1434:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1434:        _InputIterator2 __first2, _InputIterator2 __last2,
1434:        _OutputIterator __result, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__set_intersection(__first1, __last1,
1434:     __first2, __last2, __result,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator,
1434:     typename _Compare>
1434:    
1434:     _OutputIterator
1434:     __set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1434:        _InputIterator2 __first2, _InputIterator2 __last2,
1434:        _OutputIterator __result, _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  if (__comp(__first1, __first2))
1434:    {
1434:      *__result = *__first1;
1434:      ++__first1;
1434:      ++__result;
1434:    15: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       cbegin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       cend() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       crbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       crend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return _M_t.empty(); }
1115: 
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_t.size(); }
1115: 
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _M_t.max_size(); }
1115: # 440 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       void
1115:       swap(set& __x)
1115:       noexcept(__is_nothrow_swappable<_Compare>::value)
1115:       { _M_t.swap(__x._M_t); }
1115: # 460 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       template<typename... _Args>
1115:  std::pair<iterator, bool>
1115:  emplace(_Args&&... __args)
1115:  { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
1115: # 486 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace_hint(const_iterator __pos, _Args&&... __args)
1115:  {
1115:    return _M_t._M_emplace_hint_unique(__pos,
1115:           std::forward<_Args>(__args)...);
1115:  }
1115: # 508 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       std::pair<iterator, bool>
1115:       insert(const value_type& __x)
1115:       {
1115:  std::pair<typename _Rep_type::iterator, bool> __p =
1115:    _M_t._M_insert_unique(__x);
1115:  return std::pair<iterator, bool>(__p.first, __p.second);
1115:       }
1115: 
1115: 
1115:       std::pair<iterator, bool>
1115:       insert(value_type&& __x)
1115:       {
1115:  std::pair<typename _Rep_type::iterator, bool> __p =
1115:    _M_t._M_insert_unique(std::move(__x));
1115:  return std::pair<iterator, bool>(__p.first, __p.second);
1115:       }
1115: # 545 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       iterator
1115:       insert(const_iterator __position, const value_type& __x)
1115:       { return _M_t._M_insert_unique_(__position, __x); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __position, value_type&& __x)
1115:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
1115: # 564 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  insert(_InputIterator __first, _InputIterator __last)
1115:  { _M_t._M_insert_range_unique(__first, __last); }
1115: # 577 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       void
1115:       insert(initializer_list<value_type> __l)
1115:       { this->insert(__l.begin(), __l.end()); }
1115: 
1115: 
1115: 
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1115:  return _M_t.extract(__pos);
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const key_type& __x)
1115:       { return _M_t.extract(__x); }
1115: 
1115: 
1115:       insert_return_type
1115:       insert(node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_unique(std::move(__nh)); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); }
1115: 
1115:       template<typename, typename>
1115:  friend struct std::_Rb_tree_merge_helper;
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(set<_Key, _Compare1, _Alloc>& __source)
1115:  {
1115:    using }
1434:  else if (__comp(__first2, __first1))
1434:    ++__first2;
1434:  else
1434:    {
1434:      ++__first1;
1434:      ++__first2;
1434:    }
1434:       return std::copy(__first1, __last1, __result);
1434:     }
1434: # 5375 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1434:      _InputIterator2 __first2, _InputIterator2 __last2,
1434:      _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__set_difference(__first1, __last1,
1434:        __first2, __last2, __result,
1434:        __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 5427 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _Compare>
1434:    
1434:     inline _OutputIterator
1434:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1434:      _InputIterator2 __first2, _InputIterator2 __last2,
1434:      _OutputIterator __result, _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__set_difference(__first1, __last1,
1434:        __first2, __last2, __result,
1434:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator,
1434:     typename _Compare>
1434:    
1434:     _OutputIterator
1434:     __set_symmetric_difference(_InputIterator1 __first1,
1434:           _InputIterator1 __last1,
1434:           _InputIterator2 __first2,
1434:           _InputIterator2 __last2,
1434:           _OutputIterator __result,
1434:           _Compare __comp)
1434:     {
1434:       while (__first1 != __last1 && __first2 != __last2)
1434:  if (__comp(__first1, __first2))
1434:    {
1434:      *__result = *__first1;
1434:      ++__first1;
1434:      ++__result;
1434:    }
1434:  else if (__comp(__first2, __first1))
1434:    {
1434:      *__result = *__first2;
1434:      ++__first2;
1434:      ++__result;
1434:    }
1434:  else
1434:    {
1434:      ++__first1;
1434:      ++__first2;
1434:    }
1434:       return std::copy(__first2, __last2,
1434:          std::copy(__first1, __last1, __result));
1434:     }
1434: # 5508 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator>
1434:    
1434:     inline _OutputIterator
1434:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1434:         _InputIterator2 __first2, _InputIterator2 __last2,
1434:         _OutputIterator __result)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
1434:       return std::__set_symmetric_difference(__first1, __last1,
1434:      __first2, __last2, __result,
1434:      __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 5560 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _InputIterator1, typename _InputIterator2,
1434:     typename _OutputIterator, typename _Compare>
1434:    
1434:     inline _OutputIterator
1434:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1434:         _InputIterator2 __first2, _InputIterator2 __last2,
1434:         _OutputIterator __result,
1434:         _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434:      
1434: 
1434:      
1434: 
1434:      
1434: 
1434: 
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434:       ;
1434:       ;
1434: 
143 UInt value, unsigned prefix,
1417:                          const basic_format_specs<Char>& specs, locale_ref loc)
1417:     -> bool {
1417:   auto grouping = digit_grouping<Char>(loc);
1417:   out = write_int_localized(out, value, prefix, specs, grouping);
1417:   return true;
1417: }
1417: 
1417: constexpr inline void prefix_append(unsigned& prefix, unsigned value) {
1417:   prefix |= prefix != 0 ? value << 8 : value;
1417:   prefix += (1u + (value > 0xff ? 1 : 0)) << 24;
1417: }
1417: 
1417: template <typename UInt> struct write_int_arg {
1417:   UInt abs_value;
1417:   unsigned prefix;
1417: };
1417: 
1417: template <typename T>
1417: constexpr auto make_write_int_arg(T value, sign_t sign)
1417:     -> write_int_arg<uint32_or_64_or_128_t<T>> {
1417:   auto prefix = 0u;
1417:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1417:   if (is_negative(value)) {
1417:     prefix = 0x01000000 | '-';
1417:     abs_value = 0 - abs_value;
1417:   } else {
1417:     constexpr const unsigned prefixes[4] = {0, 0, 0x1000000u | '+',
1417:                                             0x1000000u | ' '};
1417:     prefix = prefixes[sign];
1417:   }
1417:   return {abs_value, prefix};
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T>
1417: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, write_int_arg<T> arg,
1417:                                         const basic_format_specs<Char>& specs,
1417:                                         locale_ref loc) -> OutputIt {
1417:   static_assert(std::is_same<T, uint32_or_64_or_128_t<T>>::value, "");
1417:   auto abs_value = arg.abs_value;
1417:   auto prefix = arg.prefix;
1417:   switch (specs.type) {
1417:   case presentation_type::none:
1417:   case presentation_type::dec: {
1417:     if (specs.localized &&
1417:         write_int_localized(out, static_cast<uint64_or_128_t<T>>(abs_value),
1417:                             prefix, specs, loc)) {
1417:       return out;
1417:     }
1417:     auto num_digits = count_digits(abs_value);
1417:     return write_int(
1417:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1417:           return format_decimal<Char>(it, abs_value, num_digits).end;
1417:         });
1417:   }
1417:   case presentation_type::hex_lower:
1417:   case presentation_type::hex_upper: {
1417:     bool upper = specs.type == presentation_type::hex_upper;
1417:     if (specs.alt)
1417:       prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0');
1417:     int num_digits = count_digits<4>(abs_value);
1417:     return write_int(
1417:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1417:           return format_uint<4, Char>(it, abs_value, num_digits, upper);
1417:         });
1417:   }
1417:   case presentation_type::bin_lower:
1417:   case presentation_type::bin_upper: {
1417:     bool upper = specs.type == presentation_type::bin_upper;
1417:     if (specs.alt)
1417:       prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0');
1417:     int num_digits = count_digits<1>(abs_value);
1417:     return write_int(out, num_digits, prefix, specs,
1417:                      [=](reserve_iterator<OutputIt> it) {
1417:                        return format_uint<1, Char>(it, abs_value, num_digits);
1417:                      });
1417:   }
1417:   case presentation_type::oct: {
1417:     int num_digits = count_digits<3>(abs_value);
1417: 
1417: 
1417:     if (specs.alt && specs.precision <= num_digits && abs_value != 0)
1417:       prefix_append(prefix, '0');
1417:     return write_int(out, num_digits, prefix, specs,
1417:                      [=](reserve_iterator<OutputIt> it) {
1417:                        return format_uint<3, Char>(it, abs_value, num_digits);
1417:                      });
1417:   }
1417:   case presentation_type::chr:
1417:     return write_char(out, static_cast<Char>(abs_value), specs);
1417:   default:
1417:     throw_format_error("invalid type specifier");
1417:   }
1417:   return out;
1417: }
1417: template <typename Char, typ4:       return std::__set_symmetric_difference(__first1, __last1,
1434:     __first2, __last2, __result,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Compare>
1434:     constexpr
1434:     _ForwardIterator
1434:     __min_element(_ForwardIterator __first, _ForwardIterator __last,
1434:     _Compare __comp)
1434:     {
1434:       if (__first == __last)
1434:  return __first;
1434:       _ForwardIterator __result = __first;
1434:       while (++__first != __last)
1434:  if (__comp(__first, __result))
1434:    __result = __first;
1434:       return __result;
1434:     }
1434: # 5614 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:     constexpr
1434:     _ForwardIterator
1434:     inline min_element(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__min_element(__first, __last,
1434:     __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 5639 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Compare>
1434:     constexpr
1434:     inline _ForwardIterator
1434:     min_element(_ForwardIterator __first, _ForwardIterator __last,
1434:   _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__min_element(__first, __last,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _ForwardIterator, typename _Compare>
1434:     constexpr
1434:     _ForwardIterator
1434:     __max_element(_ForwardIterator __first, _ForwardIterator __last,
1434:     _Compare __comp)
1434:     {
1434:       if (__first == __last) return __first;
1434:       _ForwardIterator __result = __first;
1434:       while (++__first != __last)
1434:  if (__comp(__result, __first))
1434:    __result = __first;
1434:       return __result;
1434:     }
1434: # 5678 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator>
1434:     constexpr
1434:     inline _ForwardIterator
1434:     max_element(_ForwardIterator __first, _ForwardIterator __last)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__max_element(__first, __last,
1434:     __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: # 5703 "/usr/include/c++/12/bits/stl_algo.h" 3
1434:   template<typename _ForwardIterator, typename _Compare>
1434:     constexpr
1434:     inline _ForwardIterator
1434:     max_element(_ForwardIterator __first, _ForwardIterator __last,
1434:   _Compare __comp)
1434:     {
1434: 
1434:      
1434:      
1434: 
1434: 
1434:       ;
1434:       ;
1434: 
1434:       return std::__max_element(__first, __last,
1434:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     inline _Tp
1434:     min(initializer_list<_Tp> __l)
1434:     {
1434:       ;
1434:       return *std::__min_element(__l.begin(), __l.end(),
1434:    __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     inline _Tp
1434:     min(initializer_list<_Tp> __l, _Compare __comp)
1434:     {
1434:       ;
1434:       return *std::__min_element(__l.begin(), __l.end(),
1434:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     inline _Tp
1434:     max(initializer_list<_Tp> __l)
1434:     {
1434:       ;
1434:       return *std::__max_element(__l.begin(), __l.end(),
1434:    __gnu_cxx::__ops::__iter_less_iter());
1434:     }
1434: 
1434:   template<typename _Tp, typename _Compare>
1434:     constexpr
1434:     inline _Tp
1434:     max(initializer_list<_Tp> __l, _Compare __comp)
1434:     {
1434:       ;
1434:       return *std::__max_element(__l.begin(), __l.end(),
1434:    __gnu_cxx::__ops::__iter_co_Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1115:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<set, _Compare1>;
1115:    _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1115:  { merge(__source); }
1115: # 652 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(const_iterator __position)
1115:       { return _M_t.erase(__position); }
1115: # 683 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       size_type
1115:       erase(const key_type& __x)
1115:       { return _M_t.erase(__x); }
1115: # 704 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(const_iterator __first, const_iterator __last)
1115:       { return _M_t.erase(__first, __last); }
1115: # 732 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       void
1115:       clear() noexcept
1115:       { _M_t.clear(); }
1115: # 747 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       size_type
1115:       count(const key_type& __x) const
1115:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  count(const _Kt& __x) const
1115:  -> decltype(_M_t._M_count_tr(__x))
1115:  { return _M_t._M_count_tr(__x); }
1115: # 793 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       iterator
1115:       find(const key_type& __x)
1115:       { return _M_t.find(__x); }
1115: 
1115:       const_iterator
1115:       find(const key_type& __x) const
1115:       { return _M_t.find(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x)
1115:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1115:  { return iterator{_M_t._M_find_tr(__x)}; }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x) const
1115:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1115:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1115: # 828 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       iterator
1115:       lower_bound(const key_type& __x)
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115:       const_iterator
1115:       lower_bound(const key_type& __x) const
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x) const
1115:  -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return const_iterator(_M_t._M_lower_bound_tr(__x)); }
1115: # 858 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       iterator
1115:       upper_bound(const key_type& __x)
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115:       const_iterator
1115:       upper_bound(const key_type& __x) const
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x) const
1115:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
1115: # 897 "/usr/include/c++/12/bits/stl_set.h" 3
1115:       std::pair<iterator, iterator>
1115:       equal_range(const key_type& __x)
1115:       { return _M_t.equal_range(__x); }
1115: 
1115:       sename OutputIt, typename T>
1417: constexpr __attribute__((noinline)) auto write_int_noinline(
1417:     OutputIt out, write_int_arg<T> arg, const basic_format_specs<Char>& specs,
1417:     locale_ref loc) -> OutputIt {
1417:   return write_int(out, arg, specs, loc);
1417: }
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
1417: 
1417:                                                                              >
1417: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1417:                                     const basic_format_specs<Char>& specs,
1417:                                     locale_ref loc) -> OutputIt {
1417:   return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs,
1417:                             loc);
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
1417: 
1417:                                                                               >
1417: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1417:                                     const basic_format_specs<Char>& specs,
1417:                                     locale_ref loc) -> OutputIt {
1417:   return write_int(out, make_write_int_arg(value, specs.sign), specs, loc);
1417: }
1417: 
1417: 
1417: 
1417: class counting_iterator {
1417:  private:
1417:   size_t count_;
1417: 
1417:  public:
1417:   using iterator_category = std::output_iterator_tag;
1417:   using difference_type = std::ptrdiff_t;
1417:   using pointer = void;
1417:   using reference = void;
1417:   using unchecked_type = counting_iterator;
1417: 
1417:   struct value_type {
1417:     template <typename T> constexpr void operator=(const T&) {}
1417:   };
1417: 
1417:   constexpr counting_iterator() : count_(0) {}
1417: 
1417:   constexpr size_t count() const { return count_; }
1417: 
1417:   constexpr counting_iterator& operator++() {
1417:     ++count_;
1417:     return *this;
1417:   }
1417:   constexpr counting_iterator operator++(int) {
1417:     auto it = *this;
1417:     ++*this;
1417:     return it;
1417:   }
1417: 
1417:   constexpr friend counting_iterator operator+(counting_iterator it,
1417:                                                    difference_type n) {
1417:     it.count_ += static_cast<size_t>(n);
1417:     return it;
1417:   }
1417: 
1417:   constexpr value_type operator*() const { return {}; }
1417: };
1417: 
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write(OutputIt out, basic_string_view<Char> s,
1417:                          const basic_format_specs<Char>& specs) -> OutputIt {
1417:   auto data = s.data();
1417:   auto size = s.size();
1417:   if (specs.precision >= 0 && to_unsigned(specs.precision) < size)
1417:     size = code_point_index(s, to_unsigned(specs.precision));
1417:   bool is_debug = specs.type == presentation_type::debug;
1417:   size_t width = 0;
1417:   if (specs.width != 0) {
1417:     if (is_debug)
1417:       width = write_escaped_string(counting_iterator{}, s).count();
1417:     else
1417:       width = compute_width(basic_string_view<Char>(data, size));
1417:   }
1417:   return write_padded(out, specs, size, width,
1417:                       [=](reserve_iterator<OutputIt> it) {
1417:                         if (is_debug) return write_escaped_string(it, s);
1417:                         return copy_str<Char>(data, data + size, it);
1417:                       });
1417: }
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write(OutputIt out,
1417:                          basic_string_view<type_identity_t<Char>> s,
1417:                          const basic_format_specs<Char>& specs, locale_ref)
1417:     -> OutputIt {
1417:   check_string_type_spec(specs.type);
1417mp_iter(__comp));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator, typename _RandomAccessIterator,
1434:            typename _Size, typename _UniformRandomBitGenerator>
1434:     _RandomAccessIterator
1434:     __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag,
1434:       _RandomAccessIterator __out, random_access_iterator_tag,
1434:       _Size __n, _UniformRandomBitGenerator&& __g)
1434:     {
1434:       using __distrib_type = uniform_int_distribution<_Size>;
1434:       using __param_type = typename __distrib_type::param_type;
1434:       __distrib_type __d{};
1434:       _Size __sample_sz = 0;
1434:       while (__first != __last && __sample_sz != __n)
1434:  {
1434:    __out[__sample_sz++] = *__first;
1434:    ++__first;
1434:  }
1434:       for (auto __pop_sz = __sample_sz; __first != __last;
1434:    ++__first, (void) ++__pop_sz)
1434:  {
1434:    const auto __k = __d(__g, __param_type{0, __pop_sz});
1434:    if (__k < __n)
1434:      __out[__k] = *__first;
1434:  }
1434:       return __out + __sample_sz;
1434:     }
1434: 
1434: 
1434:   template<typename _ForwardIterator, typename _OutputIterator, typename _Cat,
1434:            typename _Size, typename _UniformRandomBitGenerator>
1434:     _OutputIterator
1434:     __sample(_ForwardIterator __first, _ForwardIterator __last,
1434:       forward_iterator_tag,
1434:       _OutputIterator __out, _Cat,
1434:       _Size __n, _UniformRandomBitGenerator&& __g)
1434:     {
1434:       using __distrib_type = uniform_int_distribution<_Size>;
1434:       using __param_type = typename __distrib_type::param_type;
1434:       using _USize = make_unsigned_t<_Size>;
1434:       using _Gen = remove_reference_t<_UniformRandomBitGenerator>;
1434:       using __uc_type = common_type_t<typename _Gen::result_type, _USize>;
1434: 
1434:       if (__first == __last)
1434:  return __out;
1434: 
1434:       __distrib_type __d{};
1434:       _Size __unsampled_sz = std::distance(__first, __last);
1434:       __n = std::min(__n, __unsampled_sz);
1434: 
1434: 
1434: 
1434: 
1434:       const __uc_type __urngrange = __g.max() - __g.min();
1434:       if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz))
1434: 
1434: 
1434:         {
1434:    while (__n != 0 && __unsampled_sz >= 2)
1434:      {
1434:        const pair<_Size, _Size> __p =
1434:   __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g);
1434: 
1434:        --__unsampled_sz;
1434:        if (__p.first < __n)
1434:   {
1434:     *__out++ = *__first;
1434:     --__n;
1434:   }
1434: 
1434:        ++__first;
1434: 
1434:        if (__n == 0) break;
1434: 
1434:        --__unsampled_sz;
1434:        if (__p.second < __n)
1434:   {
1434:     *__out++ = *__first;
1434:     --__n;
1434:   }
1434: 
1434:        ++__first;
1434:      }
1434:         }
1434: 
1434: 
1434: 
1434:       for (; __n != 0; ++__first)
1434:  if (__d(__g, __param_type{0, --__unsampled_sz}) < __n)
1434:    {
1434:      *__out++ = *__first;
1434:      --__n;
1434:    }
1434:       return __out;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _PopulationIterator, typename _SampleIterator,
1434:            typename _Distance, typename _UniformRandomBitGenerator>
1434:     _SampleIterator
1434:     sample(_PopulationIterator __first, _PopulationIterator __last,
1434:     _SampleIterator __out, _Distance __n,
1434:     _UniformRandomBitGenerator&& __g)
1434:     {
1434:       using __pop_cat = typename
1434:  std::iterator_traits<_PopulationIterator>::iterator_category;
1434:       using __samp_cat = typename
1434:  std::iterator_traits<_SampleIterator>::iterator_category;
1434: 
1434:       static_assert(
1434:    __or_<is_convertible<__pop_cat, forward_iterator_tag>,
1434:   is_convertible<__samp_cat, random_access_iterator_tag>>::value,
1434:    "output range must use a RandomAccessIterator when input range"
1434:    " does not meet the ForwardIterator requirements");
1434: 
1434:       static_assert(is_integral<_Distance>::value,
1434:       "sample size must be an integer type");
1434: 
1434:       typename iterator_traits<_PopulationIterator>::difference_type __d = __n;
1434:       return std::
1434:  __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d,
1434:    std::forward<_UniformRandomBitGenerator>(__g));
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/functional" 2 3
1434: # 76 "/usr/include/c++/12/functional" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<int _Num> struct _Placeholder { };
1434: # 105 "/usr/include/c++/12/functional" 3
1434:   template<typename _Callable, typename... _Args>
1434:     inline invoke_result_t<_Callable, _Args...>
1434:     invoke(_Callable&& __fn, _Args&&... __args)
1434:     noexcept(is_nothrow_invocable_v<_Callable, _Args...>)
1434:     {
1434:       return std::__invoke(std::forward<_Callable>(__fn),
1434:       std::forward<_Args>(__args)...);
1434:     }
1434: # 138 "/usr/include/c++/12/functional" 3
1434:   template<typename _MemFunPtr,
1434:     bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value>
1434:     class _Mem_fn_base
1434:     : public _Mem_fn_traits<_MemFunPtr>::__maybe_type
1434:     {
1434:       using _Traits = _Mem_fn_traits<_MemFunPtr>;
1434: 
1434:       using _Arity = typename _Traits::__arity;
1434:       using _Varargs = typename _Traits::__vararg;
1434: 
1434:       template<typename _Func, typename... _BoundArgs>
1434:  friend struct _Bind_check_arity;
1434: 
1434:       _MemFunPtr _M_pmf;
1434: 
1434:     public:
1434: 
1434:       using result_type = typename _Traits::__result_type;
1434: 
1434:       explicit constexpr
1434:       _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { }
1434: 
1434:       template<typename... _Args>
1434: 
1434:  auto
1434:  operator()(_Args&&... __args) const
1434:  noexcept(noexcept(
1434:        std::__invoke(_M_pmf, std::forward<_Args>(__args)...)))
1434:  -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...))
1434:  { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); }
1434:     };
1434: 
1434: 
1434:   template<typename _MemObjPtr>
1434:     class _Mem_fn_base<_MemObjPtr, false>
1434:     {
1434:       using _Arity = integral_constant<size_t, 0>;
1434:       using _Varargs = false_type;
1434: 
1434:       template<typename _Func, typename... _BoundArgs>
1434:  friend struct _Bind_check_arity;
1434: 
1434:       _MemObjPtr _M_pm;
1434: 
1434:     public:
1434:       explicit constexpr
1434:       _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { }
1434: 
1434:       template<typename _Tp>
1434: 
1434:  auto
1434:  operator()(_Tp&& __obj) const
1434:  noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj))))
1434:  -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))
1434:  { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); }
1434:     };
1434: 
1434:   template<typename _MemberPointer>
1434:     struct _Mem_fn;
1434: 
1434:   template<typename _Res, typename _Class>
1434:     struct _Mem_fn<_Res _Class::*>
1434:     : _Mem_fn_base<_Res _Class::*>
1434:     {
1434:       using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base;
1434:     };
1434: # 231 "/usr/include/c++/12/functional" 3
1434:   template<typename _Tp, typename _Class>
1434:    
1434:     inline _Mem_fn<_Tp _Class::*>
1434:     mem_fn(_Tp _Class::* __pm) noexcept
1434:     {
1434:       return _Mem_fn<_Tp _Class::*>(__pm);
1434:     }
1434: # 250 "/usr/include/c++/12/functional" 3
1434:   template<typename _Tp>
1434:     struct is_bind_expression
1434:     : public false_type { };
1434: # 262 "/usr/include/c++/12/functional" 3
1434:   template<typename _Tp>
1434:     struct is_placeholder
1434:     : public integral_constant<int, 0>
1434:     { };
1434: 
1434: 
1434:   template <typename _Tp> inline constexpr bool is_bind_expression_v
1434:     = is_bind_expression<_Tp>::value;
1434:   template <typename _Tp> inline constexpr int is_placeholder_v
1434:     = is_placeholder<_Tp>::value;
1434: 
1434: 
1434: 
1434:td::pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __x) const
1115:       { return _M_t.equal_range(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x)
1115:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1115:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x) const
1115:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1115:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
1115: 
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator,
1115:     typename _Compare =
1115:       less<typename iterator_traits<_InputIterator>::value_type>,
1115:     typename _Allocator =
1115:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     set(_InputIterator, _InputIterator,
1115:  _Compare = _Compare(), _Allocator = _Allocator())
1115:     -> set<typename iterator_traits<_InputIterator>::value_type,
1115:    _Compare, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Compare = less<_Key>,
1115:     typename _Allocator = allocator<_Key>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     set(initializer_list<_Key>,
1115:  _Compare = _Compare(), _Allocator = _Allocator())
1115:     -> set<_Key, _Compare, _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     set(_InputIterator, _InputIterator, _Allocator)
1115:     -> set<typename iterator_traits<_InputIterator>::value_type,
1115:     less<typename iterator_traits<_InputIterator>::value_type>,
1115:     _Allocator>;
1115: 
1115:   template<typename _Key, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     set(initializer_list<_Key>, _Allocator)
1115:     -> set<_Key, less<_Key>, _Allocator>;
1115: # 983 "/usr/include/c++/12/bits/stl_set.h" 3
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator==(const set<_Key, _Compare, _Alloc>& __x,
1115:         const set<_Key, _Compare, _Alloc>& __y)
1115:     { return __x._M_t == __y._M_t; }
1115: # 1021 "/usr/include/c++/12/bits/stl_set.h" 3
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<(const set<_Key, _Compare, _Alloc>& __x,
1115:        const set<_Key, _Compare, _Alloc>& __y)
1115:     { return __x._M_t < __y._M_t; }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator!=(const set<_Key, _Compare, _Alloc>& __x,
1115:         const set<_Key, _Compare, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator>(const set<_Key, _Compare, _Alloc>& __x,
1115:        const set<_Key, _Compare, _Alloc>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<=(const set<_Key, _Compare, _Alloc>& __x,
1115:         const set<_Key, _Compare, _Alloc>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:  
1434: 
1434: 
1434: 
1434:   namespace placeholders
1434:   {
1434: 
1434: 
1434: 
1434: 
1434:     extern const _Placeholder<1> _1;
1434:     extern const _Placeholder<2> _2;
1434:     extern const _Placeholder<3> _3;
1434:     extern const _Placeholder<4> _4;
1434:     extern const _Placeholder<5> _5;
1434:     extern const _Placeholder<6> _6;
1434:     extern const _Placeholder<7> _7;
1434:     extern const _Placeholder<8> _8;
1434:     extern const _Placeholder<9> _9;
1434:     extern const _Placeholder<10> _10;
1434:     extern const _Placeholder<11> _11;
1434:     extern const _Placeholder<12> _12;
1434:     extern const _Placeholder<13> _13;
1434:     extern const _Placeholder<14> _14;
1434:     extern const _Placeholder<15> _15;
1434:     extern const _Placeholder<16> _16;
1434:     extern const _Placeholder<17> _17;
1434:     extern const _Placeholder<18> _18;
1434:     extern const _Placeholder<19> _19;
1434:     extern const _Placeholder<20> _20;
1434:     extern const _Placeholder<21> _21;
1434:     extern const _Placeholder<22> _22;
1434:     extern const _Placeholder<23> _23;
1434:     extern const _Placeholder<24> _24;
1434:     extern const _Placeholder<25> _25;
1434:     extern const _Placeholder<26> _26;
1434:     extern const _Placeholder<27> _27;
1434:     extern const _Placeholder<28> _28;
1434:     extern const _Placeholder<29> _29;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<int _Num>
1434:     struct is_placeholder<_Placeholder<_Num> >
1434:     : public integral_constant<int, _Num>
1434:     { };
1434: 
1434:   template<int _Num>
1434:     struct is_placeholder<const _Placeholder<_Num> >
1434:     : public integral_constant<int, _Num>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434:   template<std::size_t __i, typename _Tuple>
1434:     using _Safe_tuple_element_t
1434:       = typename enable_if<(__i < tuple_size<_Tuple>::value),
1434:       tuple_element<__i, _Tuple>>::type::type;
1434: # 351 "/usr/include/c++/12/functional" 3
1434:   template<typename _Arg,
1434:     bool _IsBindExp = is_bind_expression<_Arg>::value,
1434:     bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)>
1434:     class _Mu;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     class _Mu<reference_wrapper<_Tp>, false, false>
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _CVRef, typename _Tuple>
1434: 
1434:  _Tp&
1434:  operator()(_CVRef& __arg, _Tuple&) const volatile
1434:  { return __arg.get(); }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Arg>
1434:     class _Mu<_Arg, true, false>
1434:     {
1434:     public:
1434:       template<typename _CVArg, typename... _Args>
1434: 
1434:  auto
1434:  operator()(_CVArg& __arg,
1434:      tuple<_Args...>& __tuple) const volatile
1434:  -> decltype(__arg(declval<_Args>()...))
1434:  {
1434: 
1434:    typedef typename _Build_index_tuple<sizeof...(_Args)>::__type
1434:      _Indexes;
1434:    return this->__call(__arg, __tuple, _Indexes());
1434:  }
1434: 
1434:     private:
1434: 
1434: 
1434:       template<typename _CVArg, typename... _Args, std::size_t... _Indexes>
1434: 
1434:  auto
1434:  __call(_CVArg& __arg, tuple<_Args...>& __tuple,
1434:         const _Index_tuple<_Indexes...>&) const volatile
1434:  -> decltype(__arg(declval<_Args>()...))
1434:  {
1434:    return __arg(std::get<_Indexes>(std::move(__tuple))...);
1434:  }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Arg>
1434:     class _Mu<_Arg, false, true>
1434:     {
1434:     public:
1434:       template<typename _Tuple>
1434: 
1434:  _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
1434:  operator()(const volatile _Arg&, _Tuple& __tuple) const volatile
1434:  {
1434:    return
1434:      ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple));
1434:  }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Arg>
1434:     class _Mu<_Arg, false, false>
1434:     {
1434:   :   return write(out, s, specs);
1417: }
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write(OutputIt out, const Char* s,
1417:                          const basic_format_specs<Char>& specs, locale_ref)
1417:     -> OutputIt {
1417:   return check_cstring_type_spec(specs.type)
1417:              ? write(out, basic_string_view<Char>(s), specs, {})
1417:              : write_ptr<Char>(out, bit_cast<uintptr_t>(s), &specs);
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<T, Char>::value), int> = 0
1417: 
1417:                                                       >
1417: constexpr auto write(OutputIt out, T value) -> OutputIt {
1417:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1417:   bool negative = is_negative(value);
1417: 
1417:   if (negative) abs_value = ~abs_value + 1;
1417:   int num_digits = count_digits(abs_value);
1417:   auto size = (negative ? 1 : 0) + static_cast<size_t>(num_digits);
1417:   auto it = reserve(out, size);
1417:   if (auto ptr = to_pointer<Char>(it, size)) {
1417:     if (negative) *ptr++ = static_cast<Char>('-');
1417:     format_decimal<Char>(ptr, abs_value, num_digits);
1417:     return out;
1417:   }
1417:   if (negative) *it++ = static_cast<Char>('-');
1417:   it = format_decimal<Char>(it, abs_value, num_digits).end;
1417:   return base_iterator(out, it);
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417:  auto write_nonfinite(OutputIt out, bool isnan,
1417:                                      basic_format_specs<Char> specs,
1417:                                      const float_specs& fspecs) -> OutputIt {
1417:   auto str =
1417:       isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf");
1417:   constexpr size_t str_size = 3;
1417:   auto sign = fspecs.sign;
1417:   auto size = str_size + (sign ? 1 : 0);
1417: 
1417:   const bool is_zero_fill =
1417:       specs.fill.size() == 1 && *specs.fill.data() == static_cast<Char>('0');
1417:   if (is_zero_fill) specs.fill[0] = static_cast<Char>(' ');
1417:   return write_padded(out, specs, size, [=](reserve_iterator<OutputIt> it) {
1417:     if (sign) *it++ = detail::sign<Char>(sign);
1417:     return copy_str<Char>(str, str + str_size, it);
1417:   });
1417: }
1417: 
1417: 
1417: struct big_decimal_fp {
1417:   const char* significand;
1417:   int significand_size;
1417:   int exponent;
1417: };
1417: 
1417: constexpr auto get_significand_size(const big_decimal_fp& f) -> int {
1417:   return f.significand_size;
1417: }
1417: template <typename T>
1417: inline auto get_significand_size(const dragonbox::decimal_fp<T>& f) -> int {
1417:   return count_digits(f.significand);
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write_significand(OutputIt out, const char* significand,
1417:                                  int significand_size) -> OutputIt {
1417:   return copy_str<Char>(significand, significand + significand_size, out);
1417: }
1417: template <typename Char, typename OutputIt, typename UInt>
1417: inline auto write_significand(OutputIt out, UInt significand,
1417:                               int significand_size) -> OutputIt {
1417:   return format_decimal<Char>(out, significand, significand_size).end;
1417: }
1417: template <typename Char, typename OutputIt, typename T, typename Grouping>
1417:  auto write_significand(OutputIt out, T significand,
1417:                                        int significand_size, int exponent,
1417:                                        const Grouping& grouping) -> OutputIt {
1417:   if (!grouping.separator()) {
1417:     out = write_significand<Char>(out, significand, significand_size);
1417:     return detail::fill_n(out, exponent, static_cast<Char>('0'));
1417:   }
1417:   auto buffer = memory_buffer();
1417:   write_significand<char>(appender(buffer), significand, significand_size);
1417:   detail::fill_n(appender(buffer), exponent, '0');
1417:   re  public:
1434:       template<typename _CVArg, typename _Tuple>
1434: 
1434:  _CVArg&&
1434:  operator()(_CVArg&& __arg, _Tuple&) const volatile
1434:  { return std::forward<_CVArg>(__arg); }
1434:     };
1434: 
1434: 
1434:   template<std::size_t _Ind, typename... _Tp>
1434:     inline auto
1434:     __volget(volatile tuple<_Tp...>& __tuple)
1434:     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
1434:     { return std::get<_Ind>(const_cast<tuple<_Tp...>&>(__tuple)); }
1434: 
1434: 
1434:   template<std::size_t _Ind, typename... _Tp>
1434:     inline auto
1434:     __volget(const volatile tuple<_Tp...>& __tuple)
1434:     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
1434:     { return std::get<_Ind>(const_cast<const tuple<_Tp...>&>(__tuple)); }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Signature>
1434:     class _Bind;
1434: 
1434:    template<typename _Functor, typename... _Bound_args>
1434:     class _Bind<_Functor(_Bound_args...)>
1434:     : public _Weak_result_type<_Functor>
1434:     {
1434:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1434:  _Bound_indexes;
1434: 
1434:       _Functor _M_f;
1434:       tuple<_Bound_args...> _M_bound_args;
1434: 
1434: 
1434:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1434: 
1434:  _Result
1434:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1434:  {
1434:    return std::__invoke(_M_f,
1434:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1434:        );
1434:  }
1434: 
1434: 
1434:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1434: 
1434:  _Result
1434:  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1434:  {
1434:    return std::__invoke(_M_f,
1434:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1434:        );
1434:  }
1434: 
1434: 
1434:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1434:  _Result
1434:  __call_v(tuple<_Args...>&& __args,
1434:    _Index_tuple<_Indexes...>) volatile
1434:  {
1434:    return std::__invoke(_M_f,
1434:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1434:        );
1434:  }
1434: 
1434: 
1434:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1434:  _Result
1434:  __call_c_v(tuple<_Args...>&& __args,
1434:      _Index_tuple<_Indexes...>) const volatile
1434:  {
1434:    return std::__invoke(_M_f,
1434:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1434:        );
1434:  }
1434: 
1434:       template<typename _BoundArg, typename _CallArgs>
1434:  using _Mu_type = decltype(
1434:      _Mu<typename remove_cv<_BoundArg>::type>()(
1434:        std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) );
1434: 
1434:       template<typename _Fn, typename _CallArgs, typename... _BArgs>
1434:  using _Res_type_impl
1434:    = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type;
1434: 
1434:       template<typename _CallArgs>
1434:  using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>;
1434: 
1434:       template<typename _CallArgs>
1434:  using __dependent = typename
1434:    enable_if<bool(tuple_size<_CallArgs>::value+1), _Functor>::type;
1434: 
1434:       template<typename _CallArgs, template<class> class __cv_quals>
1434:  using _Res_type_cv = _Res_type_impl<
1434:    typename __cv_quals<__dependent<_CallArgs>>::type,
1434:    _CallArgs,
1434:    typename __cv_quals<_Bound_args>::type...>;
1434: 
1434:      public:
1434:       template<typename... _Args>
1434:  explicit
1434:  _Bind(const _Functor& __f, _Args&&... __args)
1434:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1434:  { }
1434: 
1434:       template<typename... _Args>
1434:  explicit
1434:  _Bind(_Functor&& __f, _Args&&... __args)
1434:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1434:  { }
1434: 
1434:       _Bind(const _Bind&) = default;
1434:       _Bind(_Bind&&) = default;
1434: 
1434: 
1434:       tem    operator>=(const set<_Key, _Compare, _Alloc>& __x,
1115:         const set<_Key, _Compare, _Alloc>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline void
1115:     swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1115:     struct
1115:     _Rb_tree_merge_helper<std::set<_Val, _Cmp1, _Alloc>, _Cmp2>
1115:     {
1115:     private:
1115:       friend class std::set<_Val, _Cmp1, _Alloc>;
1115: 
1115:       static auto&
1115:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1115:       { return __set._M_t; }
1115: 
1115:       static auto&
1115:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1115:       { return __set._M_t; }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 62 "/usr/include/c++/12/set" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_multiset.h" 1 3
1115: # 64 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     class set;
1115: # 94 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:   template <typename _Key, typename _Compare = std::less<_Key>,
1115:      typename _Alloc = std::allocator<_Key> >
1115:     class multiset
1115:     {
1115: # 110 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       static_assert(is_same<typename remove_cv<_Key>::type, _Key>::value,
1115:    "std::multiset must have a non-const, non-volatile value_type");
1115: 
1115:       static_assert(is_same<typename _Alloc::value_type, _Key>::value,
1115:    "std::multiset must have the same value_type as its allocator");
1115: 
1115: 
1115: 
1115:     public:
1115: 
1115:       typedef _Key key_type;
1115:       typedef _Key value_type;
1115:       typedef _Compare key_compare;
1115:       typedef _Compare value_compare;
1115:       typedef _Alloc allocator_type;
1115: 
1115:     private:
1115: 
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_Key>::other _Key_alloc_type;
1115: 
1115:       typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
1115:          key_compare, _Key_alloc_type> _Rep_type;
1115: 
1115:       _Rep_type _M_t;
1115: 
1115:       typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits;
1115: 
1115:     public:
1115:       typedef typename _Alloc_traits::pointer pointer;
1115:       typedef typename _Alloc_traits::const_pointer const_pointer;
1115:       typedef typename _Alloc_traits::reference reference;
1115:       typedef typename _Alloc_traits::const_reference const_reference;
1115: 
1115: 
1115: 
1115:       typedef typename _Rep_type::const_iterator iterator;
1115:       typedef typename _Rep_type::const_iterator const_iterator;
1115:       typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
1115:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
1115:       typedef typename _Rep_type::size_type size_type;
1115:       typedef typename _Rep_type::difference_type difference_type;
1115: 
1115: 
1115:       using node_type = typename _Rep_type::node_type;
1115: # 164 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       multiset() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       multiset(const _Compare& __comp,
1115:         const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Key_alloc_type(__a)) { }
1115: # 186 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       template<typename _InputIterator>
1115:  multiset(_InputIterator __first, _InputIterator __last)
1115:  : _M_t()
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1115: # 202 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       template<typename _InputIterator>
1115:  multiset(_InputIteraplate<typename... _Args,
1434:         typename _Result = _Res_type<tuple<_Args...>>>
1434: 
1434:  _Result
1434:  operator()(_Args&&... __args)
1434:  {
1434:    return this->__call<_Result>(
1434:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434: 
1434: 
1434:       template<typename... _Args,
1434:         typename _Result = _Res_type_cv<tuple<_Args...>, add_const>>
1434: 
1434:  _Result
1434:  operator()(_Args&&... __args) const
1434:  {
1434:    return this->__call_c<_Result>(
1434:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434: # 591 "/usr/include/c++/12/functional" 3
1434:       template<typename... _Args,
1434:         typename _Result = _Res_type_cv<tuple<_Args...>, add_volatile>>
1434:  [[deprecated("std::bind does not support volatile in C++17")]]
1434:  _Result
1434:  operator()(_Args&&... __args) volatile
1434:  {
1434:    return this->__call_v<_Result>(
1434:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434: 
1434: 
1434:       template<typename... _Args,
1434:         typename _Result = _Res_type_cv<tuple<_Args...>, add_cv>>
1434:  [[deprecated("std::bind does not support volatile in C++17")]]
1434:  _Result
1434:  operator()(_Args&&... __args) const volatile
1434:  {
1434:    return this->__call_c_v<_Result>(
1434:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434:     };
1434: 
1434: 
1434:   template<typename _Result, typename _Signature>
1434:     class _Bind_result;
1434: 
1434:   template<typename _Result, typename _Functor, typename... _Bound_args>
1434:     class _Bind_result<_Result, _Functor(_Bound_args...)>
1434:     {
1434:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1434:  _Bound_indexes;
1434: 
1434:       _Functor _M_f;
1434:       tuple<_Bound_args...> _M_bound_args;
1434: 
1434: 
1434:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1434: 
1434:  _Res
1434:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1434:  {
1434:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1434:         (std::get<_Indexes>(_M_bound_args), __args)...);
1434:  }
1434: 
1434: 
1434:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1434: 
1434:  _Res
1434:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1434:  {
1434:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1434:         (std::get<_Indexes>(_M_bound_args), __args)...);
1434:  }
1434: 
1434: 
1434:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1434: 
1434:  _Res
1434:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
1434:  {
1434:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1434:         (__volget<_Indexes>(_M_bound_args), __args)...);
1434:  }
1434: 
1434: 
1434:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1434: 
1434:  _Res
1434:  __call(tuple<_Args...>&& __args,
1434:         _Index_tuple<_Indexes...>) const volatile
1434:  {
1434:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1434:         (__volget<_Indexes>(_M_bound_args), __args)...);
1434:  }
1434: 
1434:     public:
1434:       typedef _Result result_type;
1434: 
1434:       template<typename... _Args>
1434:  explicit
1434:  _Bind_result(const _Functor& __f, _Args&&... __args)
1434:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1434:  { }
1434: 
1434:       template<typename... _Args>
1434:  explicit
1434:  _Bind_result(_Functor&& __f, _Args&&... __args)
1434:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1434:  { }
1434: 
1434:       _Bind_result(const _Bind_result&) = default;
1434:       _Bind_result(_Bind_result&&) = default;
1434: 
1434: 
1434:       template<typename... _Args>
1434: 
1434:  result_type
1434:  operator()(_Args&&... __args)
1434:  {
1434:    return this->__call<_Result>(
1434:   turn grouping.apply(out, string_view(buffer.data(), buffer.size()));
1417: }
1417: 
1417: template <typename Char, typename UInt,
1417:           enable_if_t<(std::is_integral<UInt>::value), int> = 0>
1417: inline auto write_significand(Char* out, UInt significand, int significand_size,
1417:                               int integral_size, Char decimal_point) -> Char* {
1417:   if (!decimal_point)
1417:     return format_decimal(out, significand, significand_size).end;
1417:   out += significand_size + 1;
1417:   Char* end = out;
1417:   int floating_size = significand_size - integral_size;
1417:   for (int i = floating_size / 2; i > 0; --i) {
1417:     out -= 2;
1417:     copy2(out, digits2(static_cast<std::size_t>(significand % 100)));
1417:     significand /= 100;
1417:   }
1417:   if (floating_size % 2 != 0) {
1417:     *--out = static_cast<Char>('0' + significand % 10);
1417:     significand /= 10;
1417:   }
1417:   *--out = decimal_point;
1417:   format_decimal(out - integral_size, significand, integral_size);
1417:   return end;
1417: }
1417: 
1417: template <typename OutputIt, typename UInt, typename Char,
1417:           enable_if_t<(!std::is_pointer<remove_cvref_t<OutputIt>>::value), int> = 0>
1417: inline auto write_significand(OutputIt out, UInt significand,
1417:                               int significand_size, int integral_size,
1417:                               Char decimal_point) -> OutputIt {
1417: 
1417:   Char buffer[digits10<UInt>() + 2];
1417:   auto end = write_significand(buffer, significand, significand_size,
1417:                                integral_size, decimal_point);
1417:   return detail::copy_str_noinline<Char>(buffer, end, out);
1417: }
1417: 
1417: template <typename OutputIt, typename Char>
1417: constexpr auto write_significand(OutputIt out, const char* significand,
1417:                                      int significand_size, int integral_size,
1417:                                      Char decimal_point) -> OutputIt {
1417:   out = detail::copy_str_noinline<Char>(significand,
1417:                                         significand + integral_size, out);
1417:   if (!decimal_point) return out;
1417:   *out++ = decimal_point;
1417:   return detail::copy_str_noinline<Char>(significand + integral_size,
1417:                                          significand + significand_size, out);
1417: }
1417: 
1417: template <typename OutputIt, typename Char, typename T, typename Grouping>
1417:  auto write_significand(OutputIt out, T significand,
1417:                                        int significand_size, int integral_size,
1417:                                        Char decimal_point,
1417:                                        const Grouping& grouping) -> OutputIt {
1417:   if (!grouping.separator()) {
1417:     return write_significand(out, significand, significand_size, integral_size,
1417:                              decimal_point);
1417:   }
1417:   auto buffer = basic_memory_buffer<Char>();
1417:   write_significand(buffer_appender<Char>(buffer), significand,
1417:                     significand_size, integral_size, decimal_point);
1417:   grouping.apply(
1417:       out, basic_string_view<Char>(buffer.data(), to_unsigned(integral_size)));
1417:   return detail::copy_str_noinline<Char>(buffer.data() + integral_size,
1417:                                          buffer.end(), out);
1417: }
1417: 
1417: template <typename OutputIt, typename DecimalFP, typename Char,
1417:           typename Grouping = digit_grouping<Char>>
1417:  auto do_write_float(OutputIt out, const DecimalFP& f,
1417:                                     const basic_format_specs<Char>& specs,
1417:                                     float_specs fspecs, locale_ref loc)
1417:     -> OutputIt {
1417:   auto significand = f.significand;
1417:   int significand_size = get_significand_size(f);
1417:   const Char zero = static_cast<Char>('0');
1417:   auto sign = fspecs.sign;
1417:   size_t size = to_unsigned(significand_size) + (sign ? 1 : 0);
1417:   using iterator = reserve_iterator<OutputIt>;
141     std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434: 
1434: 
1434:       template<typename... _Args>
1434: 
1434:  result_type
1434:  operator()(_Args&&... __args) const
1434:  {
1434:    return this->__call<_Result>(
1434:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434: 
1434: 
1434:       template<typename... _Args>
1434:  [[deprecated("std::bind does not support volatile in C++17")]]
1434:  result_type
1434:  operator()(_Args&&... __args) volatile
1434:  {
1434:    return this->__call<_Result>(
1434:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434: 
1434: 
1434:       template<typename... _Args>
1434:  [[deprecated("std::bind does not support volatile in C++17")]]
1434:  result_type
1434:  operator()(_Args&&... __args) const volatile
1434:  {
1434:    return this->__call<_Result>(
1434:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1434:        _Bound_indexes());
1434:  }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Signature>
1434:     struct is_bind_expression<_Bind<_Signature> >
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Signature>
1434:     struct is_bind_expression<const _Bind<_Signature> >
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Signature>
1434:     struct is_bind_expression<volatile _Bind<_Signature> >
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Signature>
1434:     struct is_bind_expression<const volatile _Bind<_Signature>>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Result, typename _Signature>
1434:     struct is_bind_expression<_Bind_result<_Result, _Signature>>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Result, typename _Signature>
1434:     struct is_bind_expression<const _Bind_result<_Result, _Signature>>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Result, typename _Signature>
1434:     struct is_bind_expression<volatile _Bind_result<_Result, _Signature>>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Result, typename _Signature>
1434:     struct is_bind_expression<const volatile _Bind_result<_Result, _Signature>>
1434:     : public true_type { };
1434: 
1434:   template<typename _Func, typename... _BoundArgs>
1434:     struct _Bind_check_arity { };
1434: 
1434:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
1434:     struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...>
1434:     {
1434:       static_assert(sizeof...(_BoundArgs) == sizeof...(_Args),
1434:                    "Wrong number of arguments for function");
1434:     };
1434: 
1434:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
1434:     struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...>
1434:     {
1434:       static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args),
1434:                    "Wrong number of arguments for function");
1434:     };
1434: 
1434:   template<typename _Tp, typename _Class, typename... _BoundArgs>
1434:     struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...>
1434:     {
1434:       using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity;
1434:       using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs;
1434:       static_assert(_Varargs::value
1434:       ? sizeof...(_BoundArgs) >= _Arity::value + 1
1434:       : sizeof...(_BoundArgs) == _Arity::value + 1,
1434:       "Wrong number of arguments for pointer-to-member");
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
1434:     using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
1434: 
1434:   template<bool _SocketLike, typename _Func, tytor __first, _InputIterator __last,
1115:    const _Compare& __comp,
1115:    const allocator_type& __a = allocator_type())
1115:  : _M_t(__comp, _Key_alloc_type(__a))
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1115: # 218 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       multiset(const multiset&) = default;
1115: # 227 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       multiset(multiset&&) = default;
1115: # 239 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       multiset(initializer_list<value_type> __l,
1115:         const _Compare& __comp = _Compare(),
1115:         const allocator_type& __a = allocator_type())
1115:       : _M_t(__comp, _Key_alloc_type(__a))
1115:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       explicit
1115:       multiset(const allocator_type& __a)
1115:       : _M_t(_Key_alloc_type(__a)) { }
1115: 
1115: 
1115:       multiset(const multiset& __m,
1115:         const __type_identity_t<allocator_type>& __a)
1115:       : _M_t(__m._M_t, _Key_alloc_type(__a)) { }
1115: 
1115: 
1115:       multiset(multiset&& __m, const __type_identity_t<allocator_type>& __a)
1115:       noexcept(is_nothrow_copy_constructible<_Compare>::value
1115:         && _Alloc_traits::_S_always_equal())
1115:       : _M_t(std::move(__m._M_t), _Key_alloc_type(__a)) { }
1115: 
1115: 
1115:       multiset(initializer_list<value_type> __l, const allocator_type& __a)
1115:       : _M_t(_Key_alloc_type(__a))
1115:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115:  multiset(_InputIterator __first, _InputIterator __last,
1115:    const allocator_type& __a)
1115:  : _M_t(_Key_alloc_type(__a))
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~multiset() = default;
1115: # 294 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       multiset&
1115:       operator=(const multiset&) = default;
1115: 
1115: 
1115:       multiset&
1115:       operator=(multiset&&) = default;
1115: # 312 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       multiset&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  _M_t._M_assign_equal(__l.begin(), __l.end());
1115:  return *this;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       key_compare
1115:       key_comp() const
1115:       { return _M_t.key_comp(); }
1115: 
1115:       value_compare
1115:       value_comp() const
1115:       { return _M_t.key_comp(); }
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_M_t.get_allocator()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       begin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       end() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       rend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       cbegin() const noexcept
1115:       { return _M_t.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       cend() const noexcept
1115:       { return _M_t.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       crbegin() const noexcept
1115:       { return _M_t.rbegin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       reverse_iterator
1115:       crend() const noexcept
1115:       { return _M_t.rend(); }
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return _M_t.empty(); }
1115: 
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_t.size(); }
1115: 
1115: 
1115:       size_type
1115:       ma7: 
1417:   Char decimal_point =
1417:       fspecs.locale ? detail::decimal_point<Char>(loc) : static_cast<Char>('.');
1417: 
1417:   int output_exp = f.exponent + significand_size - 1;
1417:   auto use_exp_format = [=]() {
1417:     if (fspecs.format == float_format::exp) return true;
1417:     if (fspecs.format != float_format::general) return false;
1417: 
1417: 
1417:     const int exp_lower = -4, exp_upper = 16;
1417:     return output_exp < exp_lower ||
1417:            output_exp >= (fspecs.precision > 0 ? fspecs.precision : exp_upper);
1417:   };
1417:   if (use_exp_format()) {
1417:     int num_zeros = 0;
1417:     if (fspecs.showpoint) {
1417:       num_zeros = fspecs.precision - significand_size;
1417:       if (num_zeros < 0) num_zeros = 0;
1417:       size += to_unsigned(num_zeros);
1417:     } else if (significand_size == 1) {
1417:       decimal_point = Char();
1417:     }
1417:     auto abs_output_exp = output_exp >= 0 ? output_exp : -output_exp;
1417:     int exp_digits = 2;
1417:     if (abs_output_exp >= 100) exp_digits = abs_output_exp >= 1000 ? 4 : 3;
1417: 
1417:     size += to_unsigned((decimal_point ? 1 : 0) + 2 + exp_digits);
1417:     char exp_char = fspecs.upper ? 'E' : 'e';
1417:     auto write = [=](iterator it) {
1417:       if (sign) *it++ = detail::sign<Char>(sign);
1417: 
1417:       it = write_significand(it, significand, significand_size, 1,
1417:                              decimal_point);
1417:       if (num_zeros > 0) it = detail::fill_n(it, num_zeros, zero);
1417:       *it++ = static_cast<Char>(exp_char);
1417:       return write_exponent<Char>(output_exp, it);
1417:     };
1417:     return specs.width > 0 ? write_padded<align::right>(out, specs, size, write)
1417:                            : base_iterator(out, write(reserve(out, size)));
1417:   }
1417: 
1417:   int exp = f.exponent + significand_size;
1417:   if (f.exponent >= 0) {
1417: 
1417:     size += to_unsigned(f.exponent);
1417:     int num_zeros = fspecs.precision - exp;
1417:     abort_fuzzing_if(num_zeros > 5000);
1417:     if (fspecs.showpoint) {
1417:       ++size;
1417:       if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1;
1417:       if (num_zeros > 0) size += to_unsigned(num_zeros);
1417:     }
1417:     auto grouping = Grouping(loc, fspecs.locale);
1417:     size += to_unsigned(grouping.count_separators(exp));
1417:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1417:       if (sign) *it++ = detail::sign<Char>(sign);
1417:       it = write_significand<Char>(it, significand, significand_size,
1417:                                    f.exponent, grouping);
1417:       if (!fspecs.showpoint) return it;
1417:       *it++ = decimal_point;
1417:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1417:     });
1417:   } else if (exp > 0) {
1417: 
1417:     int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0;
1417:     size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0);
1417:     auto grouping = Grouping(loc, fspecs.locale);
1417:     size += to_unsigned(grouping.count_separators(significand_size));
1417:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1417:       if (sign) *it++ = detail::sign<Char>(sign);
1417:       it = write_significand(it, significand, significand_size, exp,
1417:                              decimal_point, grouping);
1417:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1417:     });
1417:   }
1417: 
1417:   int num_zeros = -exp;
1417:   if (significand_size == 0 && fspecs.precision >= 0 &&
1417:       fspecs.precision < num_zeros) {
1417:     num_zeros = fspecs.precision;
1417:   }
1417:   bool pointy = num_zeros != 0 || significand_size != 0 || fspecs.showpoint;
1417:   size += 1 + (pointy ? 1 : 0) + to_unsigned(num_zeros);
1417:   return write_padded<align::right>(out, specs, size, [&](iterator it) {
1417:     if (sign) *it++ = detail::sign<Char>(sign);
1417:     *it++ = zero;
1417:     if (!pointy) return it;
1417:     *it++ = decimal_point;
1417:     it = detail::fill_n(it, num_zeros, zero);
1417:     return write_significand<Char>(it, significand, significand_size);
1417:   });
1417: }
1417: 
1417: template <typename Char> class fallback_digit_grouping {
1417:  public:
1417:   constexpr fallback_digit_grouping(locale_ref, bool) {}
1417: 
1417:   constexpr Char separator() const { return Char(); }
1417: 
1417:   constexpr int count_separators(int) const { return 0; }
1417: 
1417:   template <typename Out, typename C>
1417:   constexpr Out apply(Out out, basic_string_view<C>) const {
1417:     return out;
1417:   }
1417: };
1417: 
1417: template <typename OutputIt, typename DecimalFP, typename Char>
1417:  auto write_float(OutputIt out, const DecimalFP& f,
1417:                                  const basic_format_specs<Char>& specs,
1417:                                  float_specs fspecs, locale_ref loc)
1417:     -> OutputIt {
1417:   if (is_constant_evaluated()) {
1417:     return do_write_float<OutputIt, DecimalFP, Char,
1417:                           fallback_digit_grouping<Char>>(out, f, specs, fspecs,
1417:                                                          loc);
1417:   } else {
1417:     return do_write_float(out, f, specs, fspecs, loc);
1417:   }
1417: }
1417: 
1417: template <typename T> constexpr bool isnan(T value) {
1417:   return !(value >= value);
1417: }
1417: 
1417: template <typename T, typename Enable = void>
1417: struct has_isfinite : std::false_type {};
1417: 
1417: template <typename T>
1417: struct has_isfinite<T, enable_if_t<sizeof(std::isfinite(T())) != 0>>
1417:     : std::true_type {};
1417: 
1417: template <typename T, enable_if_t<(std::is_floating_point<T>::value&& has_isfinite<T>::value), int> = 0
1417:                                                                >
1417:  bool isfinite(T value) {
1417:   constexpr T inf = T(std::numeric_limits<double>::infinity());
1417:   if (is_constant_evaluated())
1417:     return !detail::isnan(value) && value != inf && value != -inf;
1417:   return std::isfinite(value);
1417: }
1417: template <typename T, enable_if_t<(!has_isfinite<T>::value), int> = 0>
1417: constexpr bool isfinite(T value) {
1417:   T inf = T(std::numeric_limits<double>::infinity());
1417: 
1417:   return !detail::isnan(value) && value != inf && value != -inf;
1417: }
1417: 
1417: template <typename T, enable_if_t<(is_floating_point<T>::value), int> = 0>
1417: inline __attribute__((always_inline)) constexpr bool signbit(T value) {
1417:   if (is_constant_evaluated()) {
1417: 
1417:     if constexpr (std::numeric_limits<double>::is_iec559) {
1417:       auto bits = detail::bit_cast<uint64_t>(static_cast<double>(value));
1417:       return (bits >> (num_bits<uint64_t>() - 1)) != 0;
1417:     }
1417: 
1417:   }
1417:   return std::signbit(static_cast<double>(value));
1417: }
1417: 
1417: enum class round_direction { unknown, up, down };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr inline round_direction get_round_direction(uint64_t divisor,
1417:                                                          uint64_t remainder,
1417:                                                          uint64_t error) {
1417:   ::fmt::detail::ignore_unused((remainder < divisor), (""));
1417:   ::fmt::detail::ignore_unused((error < divisor), (""));
1417:   ::fmt::detail::ignore_unused((error < divisor - error), (""));
1417: 
1417:   if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2)
1417:     return round_direction::down;
1417: 
1417:   if (remainder >= error &&
1417:       remainder - error >= divisor - (remainder - error)) {
1417:     return round_direction::up;
1417:   }
1417:   return round_direction::unknown;
1417: }
1417: 
1417: namespace digits {
1417: enum result {
1417:   more,
1417:   done,
1417:   error
1417: };
1417: }
1417: 
1417: struct gen_digits_handler {
1417:   char* buf;
1417:   int size;
1417:   int precision;
1417:   int exp10;
1417:   bool fixed;
1417: 
1417:   constexpr digits::result on_digit(char digit, uint64_t divisor,
1417:                                         uint64_pename... _BoundArgs>
1434:     struct _Bind_helper
1434:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1434:     {
1434:       typedef typename decay<_Func>::type __func_type;
1434:       typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Func, typename... _BoundArgs>
1434:     struct _Bind_helper<true, _Func, _BoundArgs...>
1434:     { };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Func, typename... _BoundArgs>
1434:     inline typename
1434:     _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type
1434:     bind(_Func&& __f, _BoundArgs&&... __args)
1434:     {
1434:       typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type;
1434:       return typename __helper_type::type(std::forward<_Func>(__f),
1434:        std::forward<_BoundArgs>(__args)...);
1434:     }
1434: 
1434:   template<typename _Result, typename _Func, typename... _BoundArgs>
1434:     struct _Bindres_helper
1434:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1434:     {
1434:       typedef typename decay<_Func>::type __functor_type;
1434:       typedef _Bind_result<_Result,
1434:       __functor_type(typename decay<_BoundArgs>::type...)>
1434:  type;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Result, typename _Func, typename... _BoundArgs>
1434:     inline
1434:     typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type
1434:     bind(_Func&& __f, _BoundArgs&&... __args)
1434:     {
1434:       typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type;
1434:       return typename __helper_type::type(std::forward<_Func>(__f),
1434:        std::forward<_BoundArgs>(__args)...);
1434:     }
1434: # 997 "/usr/include/c++/12/functional" 3
1434:   template<typename _Fn>
1434:     class _Not_fn
1434:     {
1434:       template<typename _Fn2, typename... _Args>
1434:  using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type;
1434: 
1434:       template<typename _Tp>
1434:  static decltype(!std::declval<_Tp>())
1434:  _S_not() noexcept(noexcept(!std::declval<_Tp>()));
1434: 
1434:     public:
1434:       template<typename _Fn2>
1434:  constexpr
1434:  _Not_fn(_Fn2&& __fn, int)
1434:  : _M_fn(std::forward<_Fn2>(__fn)) { }
1434: 
1434:       _Not_fn(const _Not_fn& __fn) = default;
1434:       _Not_fn(_Not_fn&& __fn) = default;
1434:       ~_Not_fn() = default;
1434: # 1031 "/usr/include/c++/12/functional" 3
1434:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(__is_nothrow_invocable<_Fn &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); }
1434:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(__is_nothrow_invocable<_Fn const &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); }
1434:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && noexcept(__is_nothrow_invocable<_Fn &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); }
1434:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(__is_nothrow_invocable<_Fn const &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); }
1434: 
1434: 
1434:     private:
1434:       _Fn _M_fn;
1434:     };
1434: 
1434:   template<typename _Tp, typename _Pred>
1434:     struct __is_byte_like : false_type { };
1434: 
1434:   templx_size() const noexcept
1115:       { return _M_t.max_size(); }
1115: # 437 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       void
1115:       swap(multiset& __x)
1115:       noexcept(__is_nothrow_swappable<_Compare>::value)
1115:       { _M_t.swap(__x._M_t); }
1115: # 456 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace(_Args&&... __args)
1115:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
1115: # 482 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace_hint(const_iterator __pos, _Args&&... __args)
1115:  {
1115:    return _M_t._M_emplace_hint_equal(__pos,
1115:          std::forward<_Args>(__args)...);
1115:  }
1115: # 502 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       iterator
1115:       insert(const value_type& __x)
1115:       { return _M_t._M_insert_equal(__x); }
1115: 
1115: 
1115:       iterator
1115:       insert(value_type&& __x)
1115:       { return _M_t._M_insert_equal(std::move(__x)); }
1115: # 532 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       iterator
1115:       insert(const_iterator __position, const value_type& __x)
1115:       { return _M_t._M_insert_equal_(__position, __x); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __position, value_type&& __x)
1115:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
1115: # 550 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  insert(_InputIterator __first, _InputIterator __last)
1115:  { _M_t._M_insert_range_equal(__first, __last); }
1115: # 563 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       void
1115:       insert(initializer_list<value_type> __l)
1115:       { this->insert(__l.begin(), __l.end()); }
1115: 
1115: 
1115: 
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1115:  return _M_t.extract(__pos);
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const key_type& __x)
1115:       { return _M_t.extract(__x); }
1115: 
1115: 
1115:       iterator
1115:       insert(node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_equal(std::move(__nh)); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, node_type&& __nh)
1115:       { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); }
1115: 
1115:       template<typename, typename>
1115:  friend struct std::_Rb_tree_merge_helper;
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(multiset<_Key, _Compare1, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1115:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(multiset<_Key, _Compare1, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(set<_Key, _Compare1, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Rb_tree_merge_helper<multiset, _Compare1>;
1115:    _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source));
1115:  }
1115: 
1115:       template<typename _Compare1>
1115:  void
1115:  merge(set<_Key, _Compare1, _Alloc>&& __source)
1115:  { merge(__source); }
1115: # 638 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(const_iterator __position)
1115:       { return _M_t.erase(__position); }
1115: # 669 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       size_type
1115:       erase(const key_type& __x)
1115:       { return _M_t.erase(__x); }
1115: # 690 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iterator
1115:       erase(const_iterator __first, const_iterator __last)
1115:      t remainder, uint64_t error,
1417:                                         bool integral) {
1417:     ::fmt::detail::ignore_unused((remainder < divisor), (""));
1417:     buf[size++] = digit;
1417:     if (!integral && error >= remainder) return digits::error;
1417:     if (size < precision) return digits::more;
1417:     if (!integral) {
1417: 
1417: 
1417: 
1417:       if (error >= divisor || error >= divisor - error) return digits::error;
1417:     } else {
1417:       ::fmt::detail::ignore_unused((error == 1 && divisor > 2), (""));
1417:     }
1417:     auto dir = get_round_direction(divisor, remainder, error);
1417:     if (dir != round_direction::up)
1417:       return dir == round_direction::down ? digits::done : digits::error;
1417:     ++buf[size - 1];
1417:     for (int i = size - 1; i > 0 && buf[i] > '9'; --i) {
1417:       buf[i] = '0';
1417:       ++buf[i - 1];
1417:     }
1417:     if (buf[0] > '9') {
1417:       buf[0] = '1';
1417:       if (fixed)
1417:         buf[size++] = '0';
1417:       else
1417:         ++exp10;
1417:     }
1417:     return digits::done;
1417:   }
1417: };
1417: 
1417: inline void adjust_precision(int& precision, int exp10) {
1417: 
1417: 
1417:   if (exp10 > 0 && precision > max_value<int>() - exp10)
1417:     throw format_error("number is too big");
1417:   precision += exp10;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: inline __attribute__((always_inline)) auto grisu_gen_digits(fp value, uint64_t error,
1417:                                                  int& exp,
1417:                                                  gen_digits_handler& handler)
1417:     -> digits::result {
1417:   const fp one(1ULL << -value.e, value.e);
1417: 
1417: 
1417: 
1417:   auto integral = static_cast<uint32_t>(value.f >> -one.e);
1417:   ::fmt::detail::ignore_unused((integral != 0), (""));
1417:   ::fmt::detail::ignore_unused((integral == value.f >> -one.e), (""));
1417: 
1417:   uint64_t fractional = value.f & (one.f - 1);
1417:   exp = count_digits(integral);
1417: 
1417:   if (handler.fixed) {
1417:     adjust_precision(handler.precision, exp + handler.exp10);
1417: 
1417: 
1417:     if (handler.precision <= 0) {
1417:       if (handler.precision < 0) return digits::done;
1417: 
1417:       uint64_t divisor = data::power_of_10_64[exp - 1] << -one.e;
1417:       auto dir = get_round_direction(divisor, value.f / 10, error * 10);
1417:       if (dir == round_direction::unknown) return digits::error;
1417:       handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0';
1417:       return digits::done;
1417:     }
1417:   }
1417: 
1417:   do {
1417:     uint32_t digit = 0;
1417:     auto divmod_integral = [&](uint32_t divisor) {
1417:       digit = integral / divisor;
1417:       integral %= divisor;
1417:     };
1417: 
1417: 
1417:     switch (exp) {
1417:     case 10:
1417:       divmod_integral(1000000000);
1417:       break;
1417:     case 9:
1417:       divmod_integral(100000000);
1417:       break;
1417:     case 8:
1417:       divmod_integral(10000000);
1417:       break;
1417:     case 7:
1417:       divmod_integral(1000000);
1417:       break;
1417:     case 6:
1417:       divmod_integral(100000);
1417:       break;
1417:     case 5:
1417:       divmod_integral(10000);
1417:       break;
1417:     case 4:
1417:       divmod_integral(1000);
1417:       break;
1417:     case 3:
1417:       divmod_integral(100);
1417:       break;
1417:     case 2:
1417:       divmod_integral(10);
1417:       break;
1417:     case 1:
1417:       digit = integral;
1417:       integral = 0;
1417:       break;
1417:     default:
1417:       ::fmt::detail::ignore_unused((false), ("invalid number of digits"));
1417:     }
1417:     --exp;
1417:     auto remainder = (static_cast<uint64_t>(integral) << -one.e) + fractional;
1417:     auto result = handler.on_digit(static_cast<char>('0' + digit),
1417:                                    data::power_of_10_64[exp] << -one.e,
1417:                                    remainder, error, true);
1417:     if (result != digits::more) return result;
1417:   } while (ate<typename _Tp>
1434:     struct __is_byte_like<_Tp, equal_to<_Tp>>
1434:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1434: 
1434:   template<typename _Tp>
1434:     struct __is_byte_like<_Tp, equal_to<void>>
1434:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1434: 
1434: 
1434: 
1434:   enum class byte : unsigned char;
1434: 
1434:   template<>
1434:     struct __is_byte_like<byte, equal_to<byte>>
1434:     : true_type { };
1434: 
1434:   template<>
1434:     struct __is_byte_like<byte, equal_to<void>>
1434:     : true_type { };
1434: # 1078 "/usr/include/c++/12/functional" 3
1434:   template<typename _Fn>
1434:    
1434:     inline auto
1434:     not_fn(_Fn&& __fn)
1434:     noexcept(std::is_nothrow_constructible<std::decay_t<_Fn>, _Fn&&>::value)
1434:     {
1434:       return _Not_fn<std::decay_t<_Fn>>{std::forward<_Fn>(__fn), 0};
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _ForwardIterator1, typename _BinaryPredicate = equal_to<>>
1434:     class default_searcher
1434:     {
1434:     public:
1434:      
1434:       default_searcher(_ForwardIterator1 __pat_first,
1434:          _ForwardIterator1 __pat_last,
1434:          _BinaryPredicate __pred = _BinaryPredicate())
1434:       : _M_m(__pat_first, __pat_last, std::move(__pred))
1434:       { }
1434: 
1434:       template<typename _ForwardIterator2>
1434: 
1434:  pair<_ForwardIterator2, _ForwardIterator2>
1434:  operator()(_ForwardIterator2 __first, _ForwardIterator2 __last) const
1434:  {
1434:    _ForwardIterator2 __first_ret =
1434:      std::search(__first, __last, std::get<0>(_M_m), std::get<1>(_M_m),
1434:    std::get<2>(_M_m));
1434:    auto __ret = std::make_pair(__first_ret, __first_ret);
1434:    if (__ret.first != __last)
1434:      std::advance(__ret.second, std::distance(std::get<0>(_M_m),
1434:            std::get<1>(_M_m)));
1434:    return __ret;
1434:  }
1434: 
1434:     private:
1434:       tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m;
1434:     };
1434: 
1434:   template<typename _Key, typename _Tp, typename _Hash, typename _Pred>
1434:     struct __boyer_moore_map_base
1434:     {
1434:       template<typename _RAIter>
1434:  __boyer_moore_map_base(_RAIter __pat, size_t __patlen,
1434:           _Hash&& __hf, _Pred&& __pred)
1434:  : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) }
1434:  {
1434:    if (__patlen > 0)
1434:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1434:        _M_bad_char[__pat[__i]] = __patlen - 1 - __i;
1434:  }
1434: 
1434:       using __diff_type = _Tp;
1434: 
1434:       __diff_type
1434:       _M_lookup(_Key __key, __diff_type __not_found) const
1434:       {
1434:  auto __iter = _M_bad_char.find(__key);
1434:  if (__iter == _M_bad_char.end())
1434:    return __not_found;
1434:  return __iter->second;
1434:       }
1434: 
1434:       _Pred
1434:       _M_pred() const { return _M_bad_char.key_eq(); }
1434: 
1434:       std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
1434:     };
1434: 
1434:   template<typename _Tp, size_t _Len, typename _Pred>
1434:     struct __boyer_moore_array_base
1434:     {
1434:       template<typename _RAIter, typename _Unused>
1434:  __boyer_moore_array_base(_RAIter __pat, size_t __patlen,
1434:      _Unused&&, _Pred&& __pred)
1434:  : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
1434:  {
1434:    std::get<0>(_M_bad_char).fill(__patlen);
1434:    if (__patlen > 0)
1434:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1434:        {
1434:   auto __ch = __pat[__i];
1434:   using _UCh = make_unsigned_t<decltype(__ch)>;
1434:   auto __uch = static_cast<_UCh>(__ch);
1434:   std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i;
1434:        }
1434:  }
1434: 
1434:       using __diff_type = _Tp;
1434: 
1434:       template<typename _Key>
1434:  __diff_type
1434:  _M_lookup(_Key __key, __diff_type __not_found) const
1434:  {
1434:    auto __ukey = static_cast<make_unsigned_t<_Key>>(__key);
1434:    if (__ukey >= _Len)
1434:      return __not_found;
1434:    return std::get<0>(_M_bad_char)[__ukey];
1434:  }
1434: 
1434:       const _Pred&
1434:       _M_pred() const { return std::get<1>(_M_bad_char); }
1434: 
1434:       tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _RAIter, typename _Hash, typename _Pred,
1434:            typename _Val = typename iterator_traits<_RAIter>::value_type,
1434:     typename _Diff = typename iterator_traits<_RAIter>::difference_type>
1434:     using __boyer_moore_base_t
1434:       = __conditional_t<__is_byte_like<_Val, _Pred>::value,
1434:    __boyer_moore_array_base<_Diff, 256, _Pred>,
1434:    __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>;
1434: 
1434:   template<typename _RAIter, typename _Hash
1434:       = hash<typename iterator_traits<_RAIter>::value_type>,
1434:     typename _BinaryPredicate = equal_to<>>
1434:     class boyer_moore_searcher
1434:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1434:     {
1434:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1434:       using typename _Base::__diff_type;
1434: 
1434:     public:
1434:       boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last,
1434:       _Hash __hf = _Hash(),
1434:       _BinaryPredicate __pred = _BinaryPredicate());
1434: 
1434:       template<typename _RandomAccessIterator2>
1434:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1434:  operator()(_RandomAccessIterator2 __first,
1434:      _RandomAccessIterator2 __last) const;
1434: 
1434:     private:
1434:       bool
1434:       _M_is_prefix(_RAIter __word, __diff_type __len,
1434:      __diff_type __pos)
1434:       {
1434:  const auto& __pred = this->_M_pred();
1434:  __diff_type __suffixlen = __len - __pos;
1434:  for (__diff_type __i = 0; __i < __suffixlen; ++__i)
1434:    if (!__pred(__word[__i], __word[__pos + __i]))
1434:      return false;
1434:  return true;
1434:       }
1434: 
1434:       __diff_type
1434:       _M_suffix_length(_RAIter __word, __diff_type __len,
1434:          __diff_type __pos)
1434:       {
1434:  const auto& __pred = this->_M_pred();
1434:  __diff_type __i = 0;
1434:  while (__pred(__word[__pos - __i], __word[__len - 1 - __i])
1434:         && __i < __pos)
1434:    {
1434:      ++__i;
1434:    }
1434:  return __i;
1434:       }
1434: 
1434:       template<typename _Tp>
1434:  __diff_type
1434:  _M_bad_char_shift(_Tp __c) const
1434:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1434: 
1434:       _RAIter _M_pat;
1434:       _RAIter _M_pat_end;
1434:       std::vector<__diff_type> _M_good_suffix;
1434:     };
1434: 
1434:   template<typename _RAIter, typename _Hash
1434:       = hash<typename iterator_traits<_RAIter>::value_type>,
1434:     typename _BinaryPredicate = equal_to<>>
1434:     class boyer_moore_horspool_searcher
1434:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1434:     {
1434:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1434:       using typename _Base::__diff_type;
1434: 
1434:     public:
1434:       boyer_moore_horspool_searcher(_RAIter __pat,
1434:         _RAIter __pat_end,
1434:         _Hash __hf = _Hash(),
1434:         _BinaryPredicate __pred
1434:         = _BinaryPredicate())
1434:       : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
1434:  _M_pat(__pat), _M_pat_end(__pat_end)
1434:       { }
1434: 
1434:       template<typename _RandomAccessIterator2>
1434:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1434:  operator()(_RandomAccessIterator2 __first,
1434:      _RandomAccessIterator2 __last) const
1434:  {
1434:    const auto& __pred = this->_M_pred();
1434:    auto __patlen = _M_pat_end - _M_pat;
1434:    if (__patlen == 0)
1434:      return std::make_pair(__first, __first);
1434:    auto __len = __last - __first;
1434:    while (__len >= __patlen)
1434:      {
1434:        for (auto __scan = __patlen - 1;
1434:      __pred(__first[__scan], _M_pat[__scan]); --__scan)
1434:   if (__scan == 0)
1434:     return std::make_pair(__first, __firs { return _M_t.erase(__first, __last); }
1115: # 718 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       void
1115:       clear() noexcept
1115:       { _M_t.clear(); }
1115: # 730 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       size_type
1115:       count(const key_type& __x) const
1115:       { return _M_t.count(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
1115:  { return _M_t._M_count_tr(__x); }
1115: # 775 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       iterator
1115:       find(const key_type& __x)
1115:       { return _M_t.find(__x); }
1115: 
1115:       const_iterator
1115:       find(const key_type& __x) const
1115:       { return _M_t.find(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x)
1115:  -> decltype(iterator{_M_t._M_find_tr(__x)})
1115:  { return iterator{_M_t._M_find_tr(__x)}; }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  find(const _Kt& __x) const
1115:  -> decltype(const_iterator{_M_t._M_find_tr(__x)})
1115:  { return const_iterator{_M_t._M_find_tr(__x)}; }
1115: # 810 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       iterator
1115:       lower_bound(const key_type& __x)
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115:       const_iterator
1115:       lower_bound(const key_type& __x) const
1115:       { return _M_t.lower_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  lower_bound(const _Kt& __x) const
1115:  -> decltype(iterator(_M_t._M_lower_bound_tr(__x)))
1115:  { return iterator(_M_t._M_lower_bound_tr(__x)); }
1115: # 840 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       iterator
1115:       upper_bound(const key_type& __x)
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115:       const_iterator
1115:       upper_bound(const key_type& __x) const
1115:       { return _M_t.upper_bound(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x)
1115:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  upper_bound(const _Kt& __x) const
1115:  -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
1115:  { return iterator(_M_t._M_upper_bound_tr(__x)); }
1115: # 879 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:       std::pair<iterator, iterator>
1115:       equal_range(const key_type& __x)
1115:       { return _M_t.equal_range(__x); }
1115: 
1115:       std::pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __x) const
1115:       { return _M_t.equal_range(__x); }
1115: 
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x)
1115:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1115:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1115: 
1115:       template<typename _Kt>
1115:  auto
1115:  equal_range(const _Kt& __x) const
1115:  -> decltype(pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)))
1115:  { return pair<iterator, iterator>(_M_t._M_equal_range_tr(__x)); }
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator==(const multiset<_K1, _C1, _A1>&,
1115:      const multiset<_K1, _C1, _A1>&);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _K1, typename _C1, typename _A1>
1115:  friend bool
1115:  operator< (const multiset<_K1, _C1, _A1>&,
1115:      const multiset<_K1, _C1, _A1>&);
1115: 
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator,
1115:     typename _Compare =
1115:       less<typename iterator_traits<_InputIterator>::value_type>,
1115:     typename _Allocator =
1115:       allt + __patlen);
1434:        auto __shift = _M_bad_char_shift(__first[__patlen - 1]);
1434:        __len -= __shift;
1434:        __first += __shift;
1434:      }
1434:    return std::make_pair(__last, __last);
1434:  }
1434: 
1434:     private:
1434:       template<typename _Tp>
1434:  __diff_type
1434:  _M_bad_char_shift(_Tp __c) const
1434:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1434: 
1434:       _RAIter _M_pat;
1434:       _RAIter _M_pat_end;
1434:     };
1434: 
1434:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1434:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1434:     boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end,
1434:     _Hash __hf, _BinaryPredicate __pred)
1434:     : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
1434:       _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat)
1434:     {
1434:       auto __patlen = __pat_end - __pat;
1434:       if (__patlen == 0)
1434:  return;
1434:       __diff_type __last_prefix = __patlen - 1;
1434:       for (__diff_type __p = __patlen - 1; __p >= 0; --__p)
1434:  {
1434:    if (_M_is_prefix(__pat, __patlen, __p + 1))
1434:      __last_prefix = __p + 1;
1434:    _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p);
1434:  }
1434:       for (__diff_type __p = 0; __p < __patlen - 1; ++__p)
1434:  {
1434:    auto __slen = _M_suffix_length(__pat, __patlen, __p);
1434:    auto __pos = __patlen - 1 - __slen;
1434:    if (!__pred(__pat[__p - __slen], __pat[__pos]))
1434:      _M_good_suffix[__pos] = __patlen - 1 - __p + __slen;
1434:  }
1434:     }
1434: 
1434:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1434:   template<typename _RandomAccessIterator2>
1434:     pair<_RandomAccessIterator2, _RandomAccessIterator2>
1434:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1434:     operator()(_RandomAccessIterator2 __first,
1434:         _RandomAccessIterator2 __last) const
1434:     {
1434:       auto __patlen = _M_pat_end - _M_pat;
1434:       if (__patlen == 0)
1434:  return std::make_pair(__first, __first);
1434:       const auto& __pred = this->_M_pred();
1434:       __diff_type __i = __patlen - 1;
1434:       auto __stringlen = __last - __first;
1434:       while (__i < __stringlen)
1434:  {
1434:    __diff_type __j = __patlen - 1;
1434:    while (__j >= 0 && __pred(__first[__i], _M_pat[__j]))
1434:      {
1434:        --__i;
1434:        --__j;
1434:      }
1434:    if (__j < 0)
1434:      {
1434:        const auto __match = __first + __i + 1;
1434:        return std::make_pair(__match, __match + __patlen);
1434:      }
1434:    __i += std::max(_M_bad_char_shift(__first[__i]),
1434:      _M_good_suffix[__j]);
1434:  }
1434:       return std::make_pair(__last, __last);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1434: 
1434: 
1434: 
1434: 
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
1434: namespace XbmcThreads
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class ConditionVariable
1434:   {
1434:   private:
1434:     std::condition_variable_any cond;
1434:     ConditionVariable(const ConditionVariable&) = delete;
1434:     ConditionVariable& operator=(const ConditionVariable&) = delete;
1434: 
1434:   public:
1434:     ConditionVariable() = default;
1434: 
1434:     inline void wait(CCriticalSection& lock, std::function<bool()> predicate)
1434:     {
1434:       int count = lock.count;
1434:       lock.count = 0;
1434:       cond.wait(lock.get_underlying(), std::move(predicate));
1434:       lock.count = count;
1434:     }
1434: 
1434:     inline void wait(CCriticalSection& lock)
1434:     {
1434:       int count = lock.count;
1434:       lock.count = 0;
1434:       cond.wait(lock.get_underlying());
1434:       lock.count = count;
1434:     }
1434: 
1434:     template<typename Rep, typename Period>
1434:     inline bool wait(CCriticalSection& lock,
1434:                      std::chrono::duration<Repexp > 0);
1417: 
1417:   for (;;) {
1417:     fractional *= 10;
1417:     error *= 10;
1417:     char digit = static_cast<char>('0' + (fractional >> -one.e));
1417:     fractional &= one.f - 1;
1417:     --exp;
1417:     auto result = handler.on_digit(digit, one.f, fractional, error, false);
1417:     if (result != digits::more) return result;
1417:   }
1417: }
1417: 
1417: class bigint {
1417:  private:
1417: 
1417: 
1417:   using bigit = uint32_t;
1417:   using double_bigit = uint64_t;
1417:   enum { bigits_capacity = 32 };
1417:   basic_memory_buffer<bigit, bigits_capacity> bigits_;
1417:   int exp_;
1417: 
1417:   bigit operator[](int index) const {
1417:     return bigits_[to_unsigned(index)];
1417:   }
1417:   bigit& operator[](int index) {
1417:     return bigits_[to_unsigned(index)];
1417:   }
1417: 
1417:   static constexpr const int bigit_bits = num_bits<bigit>();
1417: 
1417:   friend struct formatter<bigint>;
1417: 
1417:   void subtract_bigits(int index, bigit other, bigit& borrow) {
1417:     auto result = static_cast<double_bigit>((*this)[index]) - other - borrow;
1417:     (*this)[index] = static_cast<bigit>(result);
1417:     borrow = static_cast<bigit>(result >> (bigit_bits * 2 - 1));
1417:   }
1417: 
1417:   void remove_leading_zeros() {
1417:     int num_bigits = static_cast<int>(bigits_.size()) - 1;
1417:     while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits;
1417:     bigits_.resize(to_unsigned(num_bigits + 1));
1417:   }
1417: 
1417: 
1417:   void subtract_aligned(const bigint& other) {
1417:     ::fmt::detail::ignore_unused((other.exp_ >= exp_), ("unaligned bigints"));
1417:     ::fmt::detail::ignore_unused((compare(*this, other) >= 0), (""));
1417:     bigit borrow = 0;
1417:     int i = other.exp_ - exp_;
1417:     for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j)
1417:       subtract_bigits(i, other.bigits_[j], borrow);
1417:     while (borrow > 0) subtract_bigits(i, 0, borrow);
1417:     remove_leading_zeros();
1417:   }
1417: 
1417:   void multiply(uint32_t value) {
1417:     const double_bigit wide_value = value;
1417:     bigit carry = 0;
1417:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1417:       double_bigit result = bigits_[i] * wide_value + carry;
1417:       bigits_[i] = static_cast<bigit>(result);
1417:       carry = static_cast<bigit>(result >> bigit_bits);
1417:     }
1417:     if (carry != 0) bigits_.push_back(carry);
1417:   }
1417: 
1417:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1417:                                                                               >
1417:   void multiply(UInt value) {
1417:     using half_uint =
1417:         conditional_t<std::is_same<UInt, uint128_t>::value, uint64_t, uint32_t>;
1417:     const int shift = num_bits<half_uint>() - bigit_bits;
1417:     const UInt lower = static_cast<half_uint>(value);
1417:     const UInt upper = value >> num_bits<half_uint>();
1417:     UInt carry = 0;
1417:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1417:       UInt result = lower * bigits_[i] + static_cast<bigit>(carry);
1417:       carry = (upper * bigits_[i] << shift) + (result >> bigit_bits) +
1417:               (carry >> bigit_bits);
1417:       bigits_[i] = static_cast<bigit>(result);
1417:     }
1417:     while (carry != 0) {
1417:       bigits_.push_back(static_cast<bigit>(carry));
1417:       carry >>= bigit_bits;
1417:     }
1417:   }
1417: 
1417:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1417:                                                                               >
1417:   void assign(UInt n) {
1417:     size_t num_bigits = 0;
1417:     do {
1417:       bigits_[num_bigits++] = static_cast<bigit>(n);
1417:       n >>= bigit_bits;
1417:     } while (n != 0);
1417:     bigits_.resize(num_bigits);
1417:     exp_ = 0;
1417:   }
1417: 
1417:  public:
1417:   bigint() : exp_(0) {}
1417:   explicit bigint(uint64_t n) { assign(n);, Period> duration,
1434:                      std::function<bool()> predicate)
1434:     {
1434:       int count = lock.count;
1434:       lock.count = 0;
1434:       bool ret = cond.wait_for(lock.get_underlying(), duration, predicate);
1434:       lock.count = count;
1434:       return ret;
1434:     }
1434: 
1434:     template<typename Rep, typename Period>
1434:     inline bool wait(CCriticalSection& lock, std::chrono::duration<Rep, Period> duration)
1434:     {
1434:       int count = lock.count;
1434:       lock.count = 0;
1434:       std::cv_status res = cond.wait_for(lock.get_underlying(), duration);
1434:       lock.count = count;
1434:       return res == std::cv_status::no_timeout;
1434:     }
1434: 
1434:     inline void wait(std::unique_lock<CCriticalSection>& lock, std::function<bool()> predicate)
1434:     {
1434:       cond.wait(*lock.mutex(), std::move(predicate));
1434:     }
1434: 
1434:     inline void wait(std::unique_lock<CCriticalSection>& lock) { wait(*lock.mutex()); }
1434: 
1434:     template<typename Rep, typename Period>
1434:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1434:                      std::chrono::duration<Rep, Period> duration,
1434:                      std::function<bool()> predicate)
1434:     {
1434:       return wait(*lock.mutex(), duration, predicate);
1434:     }
1434: 
1434:     template<typename Rep, typename Period>
1434:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1434:                      std::chrono::duration<Rep, Period> duration)
1434:     {
1434:       return wait(*lock.mutex(), duration);
1434:     }
1434: 
1434:     inline void notifyAll()
1434:     {
1434:       cond.notify_all();
1434:     }
1434: 
1434:     inline void notify()
1434:     {
1434:       cond.notify_one();
1434:     }
1434:   };
1434: 
1434: }
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace XbmcThreads
1434: {
1434: class CEventGroup;
1434: }
1434: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1434: class CEvent
1434: {
1434:   bool manualReset;
1434:   volatile bool signaled;
1434:   unsigned int numWaits = 0;
1434: 
1434:   CCriticalSection groupListMutex;
1434:   std::unique_ptr<std::vector<XbmcThreads::CEventGroup*>> groups;
1434: 
1434:   XbmcThreads::ConditionVariable actualCv;
1434:   CCriticalSection mutex;
1434: 
1434:   friend class XbmcThreads::CEventGroup;
1434: 
1434:   void addGroup(XbmcThreads::CEventGroup* group);
1434:   void removeGroup(XbmcThreads::CEventGroup* group);
1434: 
1434: 
1434:   inline bool prepReturn()
1434:   {
1434:     bool ret = signaled;
1434:     if (!manualReset && numWaits == 0)
1434:       signaled = false;
1434:     return ret;
1434:   }
1434: 
1434:   CEvent(const CEvent&) = delete;
1434:   CEvent& operator=(const CEvent&) = delete;
1434: 
1434: public:
1434:   inline CEvent(bool manual = false, bool signaled_ = false)
1434:     : manualReset(manual), signaled(signaled_)
1434:   {
1434:   }
1434: 
1434:   inline void Reset()
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(mutex);
1434:     signaled = false;
1434:   }
1434:   void Set();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline bool Signaled()
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(mutex);
1434:     return signaled;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename Rep, typename Period>
1434:   inline bool Wait(std::chrono::duration<Rep, Period> duration)
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(mutex);
1434:     numWaits++;
1434:     actualCv.wait(mutex, duration, std::bind(&CEvent::Signaled, this));
1434:     numWaits--;
1434:     return prepReturn();
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline bool Wait()
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(mutex);
1434:     numWaits++;
1434:     actualCv.wait(mutex, std::bind(&CEvent::Signaled, this));
1434:     numWaits--;
1434:     return prepReturn();
1434:   }
1434: 
1434: 
143ocator<typename iterator_traits<_InputIterator>::value_type>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multiset(_InputIterator, _InputIterator,
1115:       _Compare = _Compare(), _Allocator = _Allocator())
1115:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1115:   _Compare, _Allocator>;
1115: 
1115:   template<typename _Key,
1115:     typename _Compare = less<_Key>,
1115:     typename _Allocator = allocator<_Key>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multiset(initializer_list<_Key>,
1115:       _Compare = _Compare(), _Allocator = _Allocator())
1115:     -> multiset<_Key, _Compare, _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multiset(_InputIterator, _InputIterator, _Allocator)
1115:     -> multiset<typename iterator_traits<_InputIterator>::value_type,
1115:          less<typename iterator_traits<_InputIterator>::value_type>,
1115:          _Allocator>;
1115: 
1115:   template<typename _Key, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     multiset(initializer_list<_Key>, _Allocator)
1115:     -> multiset<_Key, less<_Key>, _Allocator>;
1115: # 970 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator==(const multiset<_Key, _Compare, _Alloc>& __x,
1115:         const multiset<_Key, _Compare, _Alloc>& __y)
1115:     { return __x._M_t == __y._M_t; }
1115: # 1008 "/usr/include/c++/12/bits/stl_multiset.h" 3
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<(const multiset<_Key, _Compare, _Alloc>& __x,
1115:        const multiset<_Key, _Compare, _Alloc>& __y)
1115:     { return __x._M_t < __y._M_t; }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
1115:         const multiset<_Key, _Compare, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator>(const multiset<_Key,_Compare,_Alloc>& __x,
1115:        const multiset<_Key,_Compare,_Alloc>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator<=(const multiset<_Key, _Compare, _Alloc>& __x,
1115:         const multiset<_Key, _Compare, _Alloc>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline bool
1115:     operator>=(const multiset<_Key, _Compare, _Alloc>& __x,
1115:         const multiset<_Key, _Compare, _Alloc>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Compare, typename _Alloc>
1115:     inline void
1115:     swap(multiset<_Key, _Compare, _Alloc>& __x,
1115:   multiset<_Key, _Compare, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Val, typename _Cmp1, typename _Alloc, typename _Cmp2>
1115:     struct
1115:     _Rb_tree_merge_helper<std::multiset<_Val, _Cmp1, _Alloc>,
1115:      _Cmp2>
1115:     {
1115:     private:
1115:       friend class std::multiset<_Val, _Cmp1, _Alloc>;
1115: 
1115:       static auto&
1115:       _S_get_tree(std::set<_Val, _Cmp2, _Alloc>& __set)
1115:       { return __set._M_t; }
1115: 
1115:       static auto&
1115:       _S_get_tree(std::multiset<_Val, _Cmp2, _Alloc>& __set)
1115:       { return __set._M_t; }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 63 "/usr/include/c++/12/set" 2 3
1115: 4: 
1434: 
1434: 
1434: 
1434:   inline int getNumWaits()
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(mutex);
1434:     return numWaits;
1434:   }
1434: };
1434: 
1434: namespace XbmcThreads
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CEventGroup
1434: {
1434:   std::vector<CEvent*> events;
1434:   CEvent* signaled{};
1434:   XbmcThreads::ConditionVariable actualCv;
1434:   CCriticalSection mutex;
1434: 
1434:   unsigned int numWaits{0};
1434: 
1434: 
1434:   inline void Set(CEvent* child)
1434:   {
1434:     std::unique_lock<CCriticalSection> l(mutex);
1434:     signaled = child;
1434:     actualCv.notifyAll();
1434:   }
1434: 
1434:   friend class ::CEvent;
1434: 
1434:   CEventGroup(const CEventGroup&) = delete;
1434:   CEventGroup& operator=(const CEventGroup&) = delete;
1434: 
1434: public:
1434: 
1434: 
1434: 
1434: 
1434:   CEventGroup(std::initializer_list<CEvent*> events);
1434: 
1434:   ~CEventGroup();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CEvent* wait();
1434: # 185 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1434:   template<typename Rep, typename Period>
1434:   CEvent* wait(std::chrono::duration<Rep, Period> duration)
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(mutex);
1434:     numWaits++;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     signaled = nullptr;
1434:     for (auto* cur : events)
1434:     {
1434:       std::unique_lock<CCriticalSection> lock2(cur->mutex);
1434:       if (cur->signaled)
1434:         signaled = cur;
1434:     }
1434: 
1434: 
1434:     if (!signaled)
1434:     {
1434: 
1434:       if (duration == std::chrono::duration<Rep, Period>::max())
1434:         actualCv.wait(mutex, [this]() { return signaled != nullptr; });
1434:       else
1434:         actualCv.wait(mutex, duration, [this]() { return signaled != nullptr; });
1434:     }
1434:     numWaits--;
1434: 
1434: 
1434:     CEvent* ret = signaled;
1434:     if (numWaits == 0)
1434:     {
1434:       if (signaled)
1434: 
1434: 
1434:         signaled->Wait(std::chrono::duration<Rep, Period>::zero());
1434:       signaled = nullptr;
1434:     }
1434:     return ret;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline int getNumWaits()
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(mutex);
1434:     return numWaits;
1434:   }
1434: };
1434: }
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1434: 
1434: # 1 "/usr/include/c++/12/atomic" 1 3
1434: # 35 "/usr/include/c++/12/atomic" 3
1434:        
1434: # 36 "/usr/include/c++/12/atomic" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 43 "/usr/include/c++/12/atomic" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 56 "/usr/include/c++/12/atomic" 3
1434:   template<typename _Tp>
1434:     struct atomic;
1434: 
1434: 
1434: 
1434:   template<>
1434:   struct atomic<bool>
1434:   {
1434:     using value_type = bool;
1434: 
1434:   private:
1434:     __atomic_base<bool> _M_base;
1434: 
1434:   public:
1434:     atomic() noexcept = default;
1434:     ~atomic() noexcept = default;
1434:     atomic(const atomic&) = delete;
1434:     atomic& operator=(const atomic&) = delete;
1434:     atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:     constexpr atomic(bool __i) noexcept : _M_base(__i) { }
1434: 
1434:     bool
1434:     operator=(bool __i) noexcept
1434:     { return _M_base.operator=(__i); }
1434: 
1434:     bool
1434:     operator=(bool __i) volatile noexcept
1434:     { return _M_base.operator=(__i); }
1434: 
1434:     operator bool() const noexcept
1434:     { return _M_base.load(); }
1434: 
1434:     operator bool() const volatile noexcept
1434:     { return _M_base.load(); }
1434: 
1434:     bool
1434:     is_lock_free() const noexcept { return _M_base.is_lock_free(); }
1434: 
1434:     bool
1434:     is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); }
1434: 
1434: 
1434:     static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434: 
1434:     void
 }
1417: 
1417:   bigint(const bigint&) = delete;
1417:   void operator=(const bigint&) = delete;
1417: 
1417:   void assign(const bigint& other) {
1417:     auto size = other.bigits_.size();
1417:     bigits_.resize(size);
1417:     auto data = other.bigits_.data();
1417:     std::copy(data, data + size, make_checked(bigits_.data(), size));
1417:     exp_ = other.exp_;
1417:   }
1417: 
1417:   template <typename Int> void operator=(Int n) {
1417:     ::fmt::detail::ignore_unused((n > 0), (""));
1417:     assign(uint64_or_128_t<Int>(n));
1417:   }
1417: 
1417:   int num_bigits() const {
1417:     return static_cast<int>(bigits_.size()) + exp_;
1417:   }
1417: 
1417:   __attribute__((noinline)) bigint& operator<<=(int shift) {
1417:     ::fmt::detail::ignore_unused((shift >= 0), (""));
1417:     exp_ += shift / bigit_bits;
1417:     shift %= bigit_bits;
1417:     if (shift == 0) return *this;
1417:     bigit carry = 0;
1417:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1417:       bigit c = bigits_[i] >> (bigit_bits - shift);
1417:       bigits_[i] = (bigits_[i] << shift) + carry;
1417:       carry = c;
1417:     }
1417:     if (carry != 0) bigits_.push_back(carry);
1417:     return *this;
1417:   }
1417: 
1417:   template <typename Int> bigint& operator*=(Int value) {
1417:     ::fmt::detail::ignore_unused((value > 0), (""));
1417:     multiply(uint32_or_64_or_128_t<Int>(value));
1417:     return *this;
1417:   }
1417: 
1417:   friend int compare(const bigint& lhs, const bigint& rhs) {
1417:     int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits();
1417:     if (num_lhs_bigits != num_rhs_bigits)
1417:       return num_lhs_bigits > num_rhs_bigits ? 1 : -1;
1417:     int i = static_cast<int>(lhs.bigits_.size()) - 1;
1417:     int j = static_cast<int>(rhs.bigits_.size()) - 1;
1417:     int end = i - j;
1417:     if (end < 0) end = 0;
1417:     for (; i >= end; --i, --j) {
1417:       bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j];
1417:       if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1;
1417:     }
1417:     if (i != j) return i > j ? 1 : -1;
1417:     return 0;
1417:   }
1417: 
1417: 
1417:   friend int add_compare(const bigint& lhs1, const bigint& lhs2,
1417:                                          const bigint& rhs) {
1417:     auto minimum = [](int a, int b) { return a < b ? a : b; };
1417:     auto maximum = [](int a, int b) { return a > b ? a : b; };
1417:     int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits());
1417:     int num_rhs_bigits = rhs.num_bigits();
1417:     if (max_lhs_bigits + 1 < num_rhs_bigits) return -1;
1417:     if (max_lhs_bigits > num_rhs_bigits) return 1;
1417:     auto get_bigit = [](const bigint& n, int i) -> bigit {
1417:       return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0;
1417:     };
1417:     double_bigit borrow = 0;
1417:     int min_exp = minimum(minimum(lhs1.exp_, lhs2.exp_), rhs.exp_);
1417:     for (int i = num_rhs_bigits - 1; i >= min_exp; --i) {
1417:       double_bigit sum =
1417:           static_cast<double_bigit>(get_bigit(lhs1, i)) + get_bigit(lhs2, i);
1417:       bigit rhs_bigit = get_bigit(rhs, i);
1417:       if (sum > rhs_bigit + borrow) return 1;
1417:       borrow = rhs_bigit + borrow - sum;
1417:       if (borrow > 1) return -1;
1417:       borrow <<= bigit_bits;
1417:     }
1417:     return borrow != 0 ? -1 : 0;
1417:   }
1417: 
1417: 
1417:   void assign_pow10(int exp) {
1417:     ::fmt::detail::ignore_unused((exp >= 0), (""));
1417:     if (exp == 0) return *this = 1;
1417: 
1417:     int bitmask = 1;
1417:     while (exp >= bitmask) bitmask <<= 1;
1417:     bitmask >>= 1;
1417: 
1417: 
1417:     *this = 5;
1417:     bitmask >>= 1;
1417:     while (bitmask != 0) {
1417:       square();
1417:       if ((exp & bitmask) != 0) *this *= 5;
1417:       bitmask >>= 1;
1417:     }
1417:     *this <<= exp;
1417:   }
1417: 
1417:   void square() {
1417:     int num_bigits = static_cast<int>(bigits_.size());
1417:     int num_result_bigits = 2 * num_bigits;
1417:     basic_memory_buffer<bigit, bi# 71 "/usr/include/c++/12/set" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115:   namespace pmr
1115:   {
1115:     template<typename _Tp> class polymorphic_allocator;
1115:     template<typename _Key, typename _Cmp = std::less<_Key>>
1115:       using set = std::set<_Key, _Cmp, polymorphic_allocator<_Key>>;
1115:     template<typename _Key, typename _Cmp = std::less<_Key>>
1115:       using multiset = std::multiset<_Key, _Cmp, polymorphic_allocator<_Key>>;
1115:   }
1115: 
1115: }
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h" 2
1115: 
1115: # 1 "/usr/include/c++/12/unordered_map" 1 3
1115: # 32 "/usr/include/c++/12/unordered_map" 3
1115:        
1115: # 33 "/usr/include/c++/12/unordered_map" 3
1115: # 46 "/usr/include/c++/12/unordered_map" 3
1115: # 1 "/usr/include/c++/12/bits/hashtable.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/hashtable.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/hashtable.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/hashtable_policy.h" 1 3
1115: # 40 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     class _Hashtable;
1115: 
1115: namespace __detail
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Equal, typename _Hash, typename _RangeHash,
1115:     typename _Unused, typename _Traits>
1115:     struct _Hashtable_base;
1115: 
1115: 
1115: 
1115:   template<typename _Iterator>
1115:     inline typename std::iterator_traits<_Iterator>::difference_type
1115:     __distance_fw(_Iterator __first, _Iterator __last,
1115:     std::input_iterator_tag)
1115:     { return __first != __last ? 1 : 0; }
1115: 
1115:   template<typename _Iterator>
1115:     inline typename std::iterator_traits<_Iterator>::difference_type
1115:     __distance_fw(_Iterator __first, _Iterator __last,
1115:     std::forward_iterator_tag)
1115:     { return std::distance(__first, __last); }
1115: 
1115:   template<typename _Iterator>
1115:     inline typename std::iterator_traits<_Iterator>::difference_type
1115:     __distance_fw(_Iterator __first, _Iterator __last)
1115:     { return __distance_fw(__first, __last,
1115:       std::__iterator_category(__first)); }
1115: 
1115:   struct _Identity
1115:   {
1115:     template<typename _Tp>
1115:       _Tp&&
1115:       operator()(_Tp&& __x) const noexcept
1115:       { return std::forward<_Tp>(__x); }
1115:   };
1115: 
1115:   struct _Select1st
1115:   {
1115:     template<typename _Pair>
1115:       struct __1st_type;
1115: 
1115:     template<typename _Tp, typename _Up>
1115:       struct __1st_type<pair<_Tp, _Up>>
1115:       { using type = _Tp; };
1115: 
1115:     template<typename _Tp, typename _Up>
1115:       struct __1st_type<const pair<_Tp, _Up>>
1115:       { using type = const _Tp; };
1115: 
1115:     template<typename _Pair>
1115:       struct __1st_type<_Pair&>
1115:       { using type = typename __1st_type<_Pair>::type&; };
1115: 
1115:     template<typename _Tp>
1115:       typename __1st_type<_Tp>::type&&
1115:       operator()(_Tp&& __x) const noexcept
1115:       { return std::forward<_Tp>(__x).first; }
1115:   };
1115: 
1115:   template<typename _ExKey>
1115:     struct _NodeBuilder;
1115: 
1115:   template<>
1115:     struct _NodeBuilder<_Select1st>
1115:     {
1115:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1115:  static auto
1115:  _S_build(_Kt&& __k, _Arg&& __arg, const _NodeGenerator& __node_gen)
1115:  -> typename _NodeGenerator::__node_type*
1115:  {
1115:    return __node_gen(std::forward<_Kt>(__k),
1115:        std::forward<_Arg>(__arg).second);
1115:  }
1115:     };
1115: 
1115:   template<>
1115:     struct _NodeBuilder<_Identity>
1115:     {
1111434:     store(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1434:     { _M_base.store(__i, __m); }
1434: 
1434:     void
1434:     store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1434:     { _M_base.store(__i, __m); }
1434: 
1434:     bool
1434:     load(memory_order __m = memory_order_seq_cst) const noexcept
1434:     { return _M_base.load(__m); }
1434: 
1434:     bool
1434:     load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1434:     { return _M_base.load(__m); }
1434: 
1434:     bool
1434:     exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1434:     { return _M_base.exchange(__i, __m); }
1434: 
1434:     bool
1434:     exchange(bool __i,
1434:       memory_order __m = memory_order_seq_cst) volatile noexcept
1434:     { return _M_base.exchange(__i, __m); }
1434: 
1434:     bool
1434:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1434:      memory_order __m2) noexcept
1434:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1434: 
1434:     bool
1434:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1434:      memory_order __m2) volatile noexcept
1434:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1434: 
1434:     bool
1434:     compare_exchange_weak(bool& __i1, bool __i2,
1434:      memory_order __m = memory_order_seq_cst) noexcept
1434:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1434: 
1434:     bool
1434:     compare_exchange_weak(bool& __i1, bool __i2,
1434:        memory_order __m = memory_order_seq_cst) volatile noexcept
1434:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1434: 
1434:     bool
1434:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1434:        memory_order __m2) noexcept
1434:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1434: 
1434:     bool
1434:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1434:        memory_order __m2) volatile noexcept
1434:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1434: 
1434:     bool
1434:     compare_exchange_strong(bool& __i1, bool __i2,
1434:        memory_order __m = memory_order_seq_cst) noexcept
1434:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1434: 
1434:     bool
1434:     compare_exchange_strong(bool& __i1, bool __i2,
1434:       memory_order __m = memory_order_seq_cst) volatile noexcept
1434:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1434: # 182 "/usr/include/c++/12/atomic" 3
1434:   };
1434: # 195 "/usr/include/c++/12/atomic" 3
1434:   template<typename _Tp>
1434:     struct atomic
1434:     {
1434:       using value_type = _Tp;
1434: 
1434:     private:
1434: 
1434:       static constexpr int _S_min_alignment
1434:  = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16
1434:  ? 0 : sizeof(_Tp);
1434: 
1434:       static constexpr int _S_alignment
1434:         = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp);
1434: 
1434:       alignas(_S_alignment) _Tp _M_i ;
1434: 
1434:       static_assert(__is_trivially_copyable(_Tp),
1434:       "std::atomic requires a trivially copyable type");
1434: 
1434:       static_assert(sizeof(_Tp) > 0,
1434:       "Incomplete or zero-sized types are not supported");
1434: # 224 "/usr/include/c++/12/atomic" 3
1434:     public:
1434:       atomic() = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(_Tp __i) noexcept : _M_i(__i) { }
1434: 
1434:       operator _Tp() const noexcept
1434:       { return load(); }
1434: 
1434:       operator _Tp() const volatile noexcept
1434:       { return load(); }
1434: 
1434:       _Tp
1434:       operator=(_Tp __i) noexcept
1434:       { store(__i); return __i; }
1434: 
1434:       _Tp
1434:       operator=(_Tp __i) volatile nogits_capacity> n(std::move(bigits_));
1417:     bigits_.resize(to_unsigned(num_result_bigits));
1417:     auto sum = uint128_t();
1417:     for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) {
1417: 
1417: 
1417:       for (int i = 0, j = bigit_index; j >= 0; ++i, --j) {
1417: 
1417:         sum += static_cast<double_bigit>(n[i]) * n[j];
1417:       }
1417:       (*this)[bigit_index] = static_cast<bigit>(sum);
1417:       sum >>= num_bits<bigit>();
1417:     }
1417: 
1417:     for (int bigit_index = num_bigits; bigit_index < num_result_bigits;
1417:          ++bigit_index) {
1417:       for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;)
1417:         sum += static_cast<double_bigit>(n[i++]) * n[j--];
1417:       (*this)[bigit_index] = static_cast<bigit>(sum);
1417:       sum >>= num_bits<bigit>();
1417:     }
1417:     remove_leading_zeros();
1417:     exp_ *= 2;
1417:   }
1417: 
1417: 
1417: 
1417:   void align(const bigint& other) {
1417:     int exp_difference = exp_ - other.exp_;
1417:     if (exp_difference <= 0) return;
1417:     int num_bigits = static_cast<int>(bigits_.size());
1417:     bigits_.resize(to_unsigned(num_bigits + exp_difference));
1417:     for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j)
1417:       bigits_[j] = bigits_[i];
1417:     std::uninitialized_fill_n(bigits_.data(), exp_difference, 0);
1417:     exp_ -= exp_difference;
1417:   }
1417: 
1417: 
1417: 
1417:   int divmod_assign(const bigint& divisor) {
1417:     ::fmt::detail::ignore_unused((this != &divisor), (""));
1417:     if (compare(*this, divisor) < 0) return 0;
1417:     ::fmt::detail::ignore_unused((divisor.bigits_[divisor.bigits_.size() - 1u] != 0), (""));
1417:     align(divisor);
1417:     int quotient = 0;
1417:     do {
1417:       subtract_aligned(divisor);
1417:       ++quotient;
1417:     } while (compare(*this, divisor) >= 0);
1417:     return quotient;
1417:   }
1417: };
1417: 
1417: 
1417: enum dragon {
1417:   predecessor_closer = 1,
1417:   fixup = 2,
1417:   fixed = 4,
1417: };
1417: 
1417: 
1417: 
1417: 
1417:  inline void format_dragon(basic_fp<uint128_t> value,
1417:                                           unsigned flags, int num_digits,
1417:                                           buffer<char>& buf, int& exp10) {
1417:   bigint numerator;
1417:   bigint denominator;
1417: 
1417:   bigint lower;
1417:   bigint upper_store;
1417:   bigint* upper = nullptr;
1417: 
1417: 
1417: 
1417:   bool is_predecessor_closer = (flags & dragon::predecessor_closer) != 0;
1417:   int shift = is_predecessor_closer ? 2 : 1;
1417:   if (value.e >= 0) {
1417:     numerator = value.f;
1417:     numerator <<= value.e + shift;
1417:     lower = 1;
1417:     lower <<= value.e;
1417:     if (is_predecessor_closer) {
1417:       upper_store = 1;
1417:       upper_store <<= value.e + 1;
1417:       upper = &upper_store;
1417:     }
1417:     denominator.assign_pow10(exp10);
1417:     denominator <<= shift;
1417:   } else if (exp10 < 0) {
1417:     numerator.assign_pow10(-exp10);
1417:     lower.assign(numerator);
1417:     if (is_predecessor_closer) {
1417:       upper_store.assign(numerator);
1417:       upper_store <<= 1;
1417:       upper = &upper_store;
1417:     }
1417:     numerator *= value.f;
1417:     numerator <<= shift;
1417:     denominator = 1;
1417:     denominator <<= shift - value.e;
1417:   } else {
1417:     numerator = value.f;
1417:     numerator <<= shift;
1417:     denominator.assign_pow10(exp10);
1417:     denominator <<= shift - value.e;
1417:     lower = 1;
1417:     if (is_predecessor_closer) {
1417:       upper_store = 1ULL << 1;
1417:       upper = &upper_store;
1417:     }
1417:   }
1417:   int even = static_cast<int>((value.f & 1) == 0);
1417:   if (!upper) upper = &lower;
1417:   if ((flags & dragon::fixup) != 0) {
1417:     if (add_compare(numerator, *upper, denominator) + even <= 0) {
1417:       --exp10;
1417:       numerator *= 10;
1417:       if (num_digits < 0) {
1417:         lower *= 10;
1417:         if (upper != &lower) *upper *= 10;
1417:       }except
1434:       { store(__i); return __i; }
1434: 
1434:       bool
1434:       is_lock_free() const noexcept
1434:       {
1434: 
1434:  return __atomic_is_lock_free(sizeof(_M_i),
1434:      reinterpret_cast<void *>(-_S_alignment));
1434:       }
1434: 
1434:       bool
1434:       is_lock_free() const volatile noexcept
1434:       {
1434: 
1434:  return __atomic_is_lock_free(sizeof(_M_i),
1434:      reinterpret_cast<void *>(-_S_alignment));
1434:       }
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free
1434:  = __atomic_always_lock_free(sizeof(_M_i), 0);
1434: 
1434: 
1434:       void
1434:       store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1434:       }
1434: 
1434:       void
1434:       store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1434:       }
1434: 
1434:       _Tp
1434:       load(memory_order __m = memory_order_seq_cst) const noexcept
1434:       {
1434:  alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1434:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1434:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1434:  return *__ptr;
1434:       }
1434: 
1434:       _Tp
1434:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1434:       {
1434:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1434:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1434:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1434:  return *__ptr;
1434:       }
1434: 
1434:       _Tp
1434:       exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1434:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1434:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1434:      __ptr, int(__m));
1434:  return *__ptr;
1434:       }
1434: 
1434:       _Tp
1434:       exchange(_Tp __i,
1434:         memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1434:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1434:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1434:      __ptr, int(__m));
1434:  return *__ptr;
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1434:        memory_order __f) noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange(std::__addressof(_M_i),
1434:       std::__addressof(__e),
1434:       std::__addressof(__i),
1434:       true, int(__s), int(__f));
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1434:        memory_order __f) volatile noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange(std::__addressof(_M_i),
1434:       std::__addressof(__e),
1434:       std::__addressof(__i),
1434:       true, int(__s), int(__f));
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_weak(_Tp& __e, _Tp __i,
1434:        memory_order __m = memory_order_seq_cst) noexcept
1434:       { return compare_exchange_weak(__e, __i, __m,
1434:                                      __cmpexch_failure_order(__m)); }
1434: 
1434:       bool
1434:       compare_exchange_weak(_Tp& __e, _Tp __i,
1434:        memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return compare_exchange_weak(__e, __i, __m,
1434:                                      __cmpexch_failure_order(__m)); }
1434: 
1434:       bool
1434:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1434:          memory_order __f) noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange(std::__addressof(_M_i),
1434:       std::__addressof(__e),
1434:       std::__addressof(__i),
1434:       false, int(__s), int(__f));
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1434:          memory_order __f) volatile noexcept
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1434: 
1434:  return __atomic_compare_exchange(std::__addressof(_M_i),
1434:       std::__addressof(__e),
1434:       std::__addressof(__i),
1434:       false, int(__s), int(__f));
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_strong(_Tp& __e, _Tp __i,
1434:           memory_order __m = memory_order_seq_cst) noexcept
1434:       { return compare_exchange_strong(__e, __i, __m,
1434:                                        __cmpexch_failure_order(__m)); }
1434: 
1434:       bool
1434:       compare_exchange_strong(_Tp& __e, _Tp __i,
1434:        memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return compare_exchange_strong(__e, __i, __m,
1434:                                        __cmpexch_failure_order(__m)); }
1434: # 410 "/usr/include/c++/12/atomic" 3
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct atomic<_Tp*>
1434:     {
1434:       using value_type = _Tp*;
1434:       using difference_type = ptrdiff_t;
1434: 
1434:       typedef _Tp* __pointer_type;
1434:       typedef __atomic_base<_Tp*> __base_type;
1434:       __base_type _M_b;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { }
1434: 
1434:       operator __pointer_type() const noexcept
1434:       { return __pointer_type(_M_b); }
1434: 
1434:       operator __pointer_type() const volatile noexcept
1434:       { return __pointer_type(_M_b); }
1434: 
1434:       __pointer_type
1434:       operator=(__pointer_type __p) noexcept
1434:       { return _M_b.operator=(__p); }
1434: 
1434:       __pointer_type
1434:       operator=(__pointer_type __p) volatile noexcept
1434:       { return _M_b.operator=(__p); }
1434: 
1434:       __pointer_type
1434:       operator++(int) noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b++;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator++(int) volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b++;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator--(int) noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b--;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator--(int) volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b--;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator++() noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return ++_M_b;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator++() volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return ++_M_b;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator--() noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return --_M_b;
1434:       }
1434: 
1434:       __pointer_type
5:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1115:  static auto
1115:  _S_build(_Kt&& __k, _Arg&&, const _NodeGenerator& __node_gen)
1115:  -> typename _NodeGenerator::__node_type*
1115:  { return __node_gen(std::forward<_Kt>(__k)); }
1115:     };
1115: 
1115:   template<typename _NodeAlloc>
1115:     struct _Hashtable_alloc;
1115: 
1115: 
1115: 
1115:   template<typename _NodeAlloc>
1115:     struct _ReuseOrAllocNode
1115:     {
1115:     private:
1115:       using __node_alloc_type = _NodeAlloc;
1115:       using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>;
1115:       using __node_alloc_traits =
1115:  typename __hashtable_alloc::__node_alloc_traits;
1115: 
1115:     public:
1115:       using __node_type = typename __hashtable_alloc::__node_type;
1115: 
1115:       _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h)
1115:       : _M_nodes(__nodes), _M_h(__h) { }
1115:       _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete;
1115: 
1115:       ~_ReuseOrAllocNode()
1115:       { _M_h._M_deallocate_nodes(_M_nodes); }
1115: 
1115:       template<typename... _Args>
1115:  __node_type*
1115:  operator()(_Args&&... __args) const
1115:  {
1115:    if (_M_nodes)
1115:      {
1115:        __node_type* __node = _M_nodes;
1115:        _M_nodes = _M_nodes->_M_next();
1115:        __node->_M_nxt = nullptr;
1115:        auto& __a = _M_h._M_node_allocator();
1115:        __node_alloc_traits::destroy(__a, __node->_M_valptr());
1115:        try
1115:   {
1115:     __node_alloc_traits::construct(__a, __node->_M_valptr(),
1115:        std::forward<_Args>(__args)...);
1115:   }
1115:        catch(...)
1115:   {
1115:     _M_h._M_deallocate_node_ptr(__node);
1115:     throw;
1115:   }
1115:        return __node;
1115:      }
1115:    return _M_h._M_allocate_node(std::forward<_Args>(__args)...);
1115:  }
1115: 
1115:     private:
1115:       mutable __node_type* _M_nodes;
1115:       __hashtable_alloc& _M_h;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _NodeAlloc>
1115:     struct _AllocNode
1115:     {
1115:     private:
1115:       using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>;
1115: 
1115:     public:
1115:       using __node_type = typename __hashtable_alloc::__node_type;
1115: 
1115:       _AllocNode(__hashtable_alloc& __h)
1115:       : _M_h(__h) { }
1115: 
1115:       template<typename... _Args>
1115:  __node_type*
1115:  operator()(_Args&&... __args) const
1115:  { return _M_h._M_allocate_node(std::forward<_Args>(__args)...); }
1115: 
1115:     private:
1115:       __hashtable_alloc& _M_h;
1115:     };
1115: # 243 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1115:   template<bool _Cache_hash_code, bool _Constant_iterators, bool _Unique_keys>
1115:     struct _Hashtable_traits
1115:     {
1115:       using __hash_cached = __bool_constant<_Cache_hash_code>;
1115:       using __constant_iterators = __bool_constant<_Constant_iterators>;
1115:       using __unique_keys = __bool_constant<_Unique_keys>;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Hash>
1115:     struct _Hashtable_hash_traits
1115:     {
1115:       static constexpr std::size_t
1115:       __small_size_threshold() noexcept
1115:       { return std::__is_fast_hash<_Hash>::value ? 0 : 20; }
1115:     };
1115: # 273 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1115:   struct _Hash_node_base
1115:   {
1115:     _Hash_node_base* _M_nxt;
1115: 
1115:     _Hash_node_base() noexcept : _M_nxt() { }
1115: 
1115:     _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { }
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Value>
1115:     struct _Hash_node_value_base
1115:     {
1115:       typedef _Value value_type;
1115: 
1115:       __gnu_cxx::__aligned_buffer<_Value> _M_storage;
1115: 
1115:       _Value*
1115:       _M_valptr() noexcept
1115:       { return _M_storage._M_ptr(); }
1115: 
1115:       const _Value*
1115:       _M_valptr() const noexcept
1115:       { return _M_storage._M_ptr(); }
1115: 
1115:    
1417:     }
1417:     if ((flags & dragon::fixed) != 0) adjust_precision(num_digits, exp10 + 1);
1417:   }
1417: 
1417:   if (num_digits < 0) {
1417: 
1417:     num_digits = 0;
1417:     char* data = buf.data();
1417:     for (;;) {
1417:       int digit = numerator.divmod_assign(denominator);
1417:       bool low = compare(numerator, lower) - even < 0;
1417: 
1417:       bool high = add_compare(numerator, *upper, denominator) + even > 0;
1417:       data[num_digits++] = static_cast<char>('0' + digit);
1417:       if (low || high) {
1417:         if (!low) {
1417:           ++data[num_digits - 1];
1417:         } else if (high) {
1417:           int result = add_compare(numerator, numerator, denominator);
1417: 
1417:           if (result > 0 || (result == 0 && (digit % 2) != 0))
1417:             ++data[num_digits - 1];
1417:         }
1417:         buf.try_resize(to_unsigned(num_digits));
1417:         exp10 -= num_digits - 1;
1417:         return;
1417:       }
1417:       numerator *= 10;
1417:       lower *= 10;
1417:       if (upper != &lower) *upper *= 10;
1417:     }
1417:   }
1417: 
1417:   exp10 -= num_digits - 1;
1417:   if (num_digits == 0) {
1417:     denominator *= 10;
1417:     auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
1417:     buf.push_back(digit);
1417:     return;
1417:   }
1417:   buf.try_resize(to_unsigned(num_digits));
1417:   for (int i = 0; i < num_digits - 1; ++i) {
1417:     int digit = numerator.divmod_assign(denominator);
1417:     buf[i] = static_cast<char>('0' + digit);
1417:     numerator *= 10;
1417:   }
1417:   int digit = numerator.divmod_assign(denominator);
1417:   auto result = add_compare(numerator, numerator, denominator);
1417:   if (result > 0 || (result == 0 && (digit % 2) != 0)) {
1417:     if (digit == 9) {
1417:       const auto overflow = '0' + 10;
1417:       buf[num_digits - 1] = overflow;
1417: 
1417:       for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) {
1417:         buf[i] = '0';
1417:         ++buf[i - 1];
1417:       }
1417:       if (buf[0] == overflow) {
1417:         buf[0] = '1';
1417:         ++exp10;
1417:       }
1417:       return;
1417:     }
1417:     ++digit;
1417:   }
1417:   buf[num_digits - 1] = static_cast<char>('0' + digit);
1417: }
1417: 
1417: template <typename Float>
1417:  auto format_float(Float value, int precision, float_specs specs,
1417:                                   buffer<char>& buf) -> int {
1417: 
1417:   static_assert(!std::is_same<Float, float>::value, "");
1417:   ::fmt::detail::ignore_unused((value >= 0), ("value is negative"));
1417:   auto converted_value = convert_float(value);
1417: 
1417:   const bool fixed = specs.format == float_format::fixed;
1417:   if (value <= 0) {
1417:     if (precision <= 0 || !fixed) {
1417:       buf.push_back('0');
1417:       return 0;
1417:     }
1417:     buf.try_resize(to_unsigned(precision));
1417:     fill_n(buf.data(), precision, '0');
1417:     return -precision;
1417:   }
1417: 
1417:   int exp = 0;
1417:   bool use_dragon = true;
1417:   unsigned dragon_flags = 0;
1417:   if (!is_fast_float<Float>()) {
1417:     const auto inv_log2_10 = 0.3010299956639812;
1417:     using info = dragonbox::float_info<decltype(converted_value)>;
1417:     const auto f = basic_fp<typename info::carrier_uint>(converted_value);
1417: 
1417: 
1417: 
1417: 
1417:     exp = static_cast<int>(
1417:         std::ceil((f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10));
1417:     dragon_flags = dragon::fixup;
1417:   } else if (!is_constant_evaluated() && precision < 0) {
1417: 
1417:     if (specs.binary32) {
1417:       auto dec = dragonbox::to_decimal(static_cast<float>(value));
1417:       write<char>(buffer_appender<char>(buf), dec.significand);
1417:       return dec.exponent;
1417:     }
1417:     auto dec = dragonbox::to_decimal(static_cast<double>(value));
1417:     write<char>(buffer_appender<char>(buf), dec.significand);
1417:     return dec.exponent;
1417:   } else {
1417: 
1417: 
1417:     const int min_exp = -60;
1417:     int cached_exp10 = 0;1434:       operator--() volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return --_M_b;
1434:       }
1434: 
1434:       __pointer_type
1434:       operator+=(ptrdiff_t __d) noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.operator+=(__d);
1434:       }
1434: 
1434:       __pointer_type
1434:       operator+=(ptrdiff_t __d) volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.operator+=(__d);
1434:       }
1434: 
1434:       __pointer_type
1434:       operator-=(ptrdiff_t __d) noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.operator-=(__d);
1434:       }
1434: 
1434:       __pointer_type
1434:       operator-=(ptrdiff_t __d) volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.operator-=(__d);
1434:       }
1434: 
1434:       bool
1434:       is_lock_free() const noexcept
1434:       { return _M_b.is_lock_free(); }
1434: 
1434:       bool
1434:       is_lock_free() const volatile noexcept
1434:       { return _M_b.is_lock_free(); }
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free
1434:  = 2 == 2;
1434: 
1434: 
1434:       void
1434:       store(__pointer_type __p,
1434:      memory_order __m = memory_order_seq_cst) noexcept
1434:       { return _M_b.store(__p, __m); }
1434: 
1434:       void
1434:       store(__pointer_type __p,
1434:      memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return _M_b.store(__p, __m); }
1434: 
1434:       __pointer_type
1434:       load(memory_order __m = memory_order_seq_cst) const noexcept
1434:       { return _M_b.load(__m); }
1434: 
1434:       __pointer_type
1434:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1434:       { return _M_b.load(__m); }
1434: 
1434:       __pointer_type
1434:       exchange(__pointer_type __p,
1434:         memory_order __m = memory_order_seq_cst) noexcept
1434:       { return _M_b.exchange(__p, __m); }
1434: 
1434:       __pointer_type
1434:       exchange(__pointer_type __p,
1434:         memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       { return _M_b.exchange(__p, __m); }
1434: 
1434:       bool
1434:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1434:        memory_order __m1, memory_order __m2) noexcept
1434:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1434: 
1434:       bool
1434:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1434:        memory_order __m1,
1434:        memory_order __m2) volatile noexcept
1434:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1434: 
1434:       bool
1434:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1434:        memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  return compare_exchange_weak(__p1, __p2, __m,
1434:          __cmpexch_failure_order(__m));
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1434:       memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  return compare_exchange_weak(__p1, __p2, __m,
1434:          __cmpexch_failure_order(__m));
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1434:          memory_order __m1, memory_order __m2) noexcept
1434:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1434: 
1434:       bool
1434:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1434:          memory_order __m1,
1434:          memory_order __m2) volatile noexcept
1434:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1434: 
1434:       bool
1434:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1434:          memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1434:          __cmpexch_failure_order(__m));
1434:       }
1434: 
1434:       bool
1434:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1434:       memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1434:          __cmpexch_failure_order(__m));
1434:       }
1434: # 665 "/usr/include/c++/12/atomic" 3
1434:       __pointer_type
1434:       fetch_add(ptrdiff_t __d,
1434:   memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.fetch_add(__d, __m);
1434:       }
1434: 
1434:       __pointer_type
1434:       fetch_add(ptrdiff_t __d,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.fetch_add(__d, __m);
1434:       }
1434: 
1434:       __pointer_type
1434:       fetch_sub(ptrdiff_t __d,
1434:   memory_order __m = memory_order_seq_cst) noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.fetch_sub(__d, __m);
1434:       }
1434: 
1434:       __pointer_type
1434:       fetch_sub(ptrdiff_t __d,
1434:   memory_order __m = memory_order_seq_cst) volatile noexcept
1434:       {
1434: 
1434:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1434: 
1434:  return _M_b.fetch_sub(__d, __m);
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct atomic<char> : __atomic_base<char>
1434:     {
1434:       typedef char __integral_type;
1434:       typedef __atomic_base<char> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<signed char> : __atomic_base<signed char>
1434:     {
1434:       typedef signed char __integral_type;
1434:       typedef __atomic_base<signed char> __base_type;
1434: 
1434:       atomic() noexcept= default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<unsigned char> : __atomic_base<unsigned char>
1434:     {
1434:       typedef unsigned char __integral_type;
1434:       typedef __atomic_base<unsigned char> __base_type;
1434: 
1434:       atomic() noexcept= default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   templa   _Value&
1115:       _M_v() noexcept
1115:       { return *_M_valptr(); }
1115: 
1115:       const _Value&
1115:       _M_v() const noexcept
1115:       { return *_M_valptr(); }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<bool _Cache_hash_code>
1115:     struct _Hash_node_code_cache
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct _Hash_node_code_cache<true>
1115:     { std::size_t _M_hash_code; };
1115: 
1115:   template<typename _Value, bool _Cache_hash_code>
1115:     struct _Hash_node_value
1115:     : _Hash_node_value_base<_Value>
1115:     , _Hash_node_code_cache<_Cache_hash_code>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Value, bool _Cache_hash_code>
1115:     struct _Hash_node
1115:     : _Hash_node_base
1115:     , _Hash_node_value<_Value, _Cache_hash_code>
1115:     {
1115:       _Hash_node*
1115:       _M_next() const noexcept
1115:       { return static_cast<_Hash_node*>(this->_M_nxt); }
1115:     };
1115: 
1115: 
1115:   template<typename _Value, bool _Cache_hash_code>
1115:     struct _Node_iterator_base
1115:     {
1115:       using __node_type = _Hash_node<_Value, _Cache_hash_code>;
1115: 
1115:       __node_type* _M_cur;
1115: 
1115:       _Node_iterator_base() : _M_cur(nullptr) { }
1115:       _Node_iterator_base(__node_type* __p) noexcept
1115:       : _M_cur(__p) { }
1115: 
1115:       void
1115:       _M_incr() noexcept
1115:       { _M_cur = _M_cur->_M_next(); }
1115: 
1115:       friend bool
1115:       operator==(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1115:       noexcept
1115:       { return __x._M_cur == __y._M_cur; }
1115: 
1115: 
1115:       friend bool
1115:       operator!=(const _Node_iterator_base& __x, const _Node_iterator_base& __y)
1115:       noexcept
1115:       { return __x._M_cur != __y._M_cur; }
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _Value, bool __constant_iterators, bool __cache>
1115:     struct _Node_iterator
1115:     : public _Node_iterator_base<_Value, __cache>
1115:     {
1115:     private:
1115:       using __base_type = _Node_iterator_base<_Value, __cache>;
1115:       using __node_type = typename __base_type::__node_type;
1115: 
1115:     public:
1115:       using value_type = _Value;
1115:       using difference_type = std::ptrdiff_t;
1115:       using iterator_category = std::forward_iterator_tag;
1115: 
1115:       using pointer = __conditional_t<__constant_iterators,
1115:           const value_type*, value_type*>;
1115: 
1115:       using reference = __conditional_t<__constant_iterators,
1115:      const value_type&, value_type&>;
1115: 
1115:       _Node_iterator() = default;
1115: 
1115:       explicit
1115:       _Node_iterator(__node_type* __p) noexcept
1115:       : __base_type(__p) { }
1115: 
1115:       reference
1115:       operator*() const noexcept
1115:       { return this->_M_cur->_M_v(); }
1115: 
1115:       pointer
1115:       operator->() const noexcept
1115:       { return this->_M_cur->_M_valptr(); }
1115: 
1115:       _Node_iterator&
1115:       operator++() noexcept
1115:       {
1115:  this->_M_incr();
1115:  return *this;
1115:       }
1115: 
1115:       _Node_iterator
1115:       operator++(int) noexcept
1115:       {
1115:  _Node_iterator __tmp(*this);
1115:  this->_M_incr();
1115:  return __tmp;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Value, bool __constant_iterators, bool __cache>
1115:     struct _Node_const_iterator
1115:     : public _Node_iterator_base<_Value, __cache>
1115:     {
1115:     private:
1115:       using __base_type = _Node_iterator_base<_Value, __cache>;
1115:       using __node_type = typename __base_type::__node_type;
1115: 
1115:     public:
1115:       typedef _Value value_type;
1115:       typedef std::ptrdiff_t difference_type;
1115:       typedef std::forward_iterator_tag iterator_category;
1115: 
1115:       typedef const value_type* pointer;
1115:       typedef const value_type& reference;
1115: 
1115:       _Node_const_iterator() = default;
1115: 
1115:       explicit

1417:     fp normalized = normalize(fp(converted_value));
1417:     const auto cached_pow = get_cached_power(
1417:         min_exp - (normalized.e + fp::num_significand_bits), cached_exp10);
1417:     normalized = normalized * cached_pow;
1417:     gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed};
1417:     if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error &&
1417:         !is_constant_evaluated()) {
1417:       exp += handler.exp10;
1417:       buf.try_resize(to_unsigned(handler.size));
1417:       use_dragon = false;
1417:     } else {
1417:       exp += handler.size - cached_exp10 - 1;
1417:       precision = handler.precision;
1417:     }
1417:   }
1417:   if (use_dragon) {
1417:     auto f = basic_fp<uint128_t>();
1417:     bool is_predecessor_closer = specs.binary32
1417:                                      ? f.assign(static_cast<float>(value))
1417:                                      : f.assign(converted_value);
1417:     if (is_predecessor_closer) dragon_flags |= dragon::predecessor_closer;
1417:     if (fixed) dragon_flags |= dragon::fixed;
1417: 
1417: 
1417:     const int max_double_digits = 767;
1417:     if (precision > max_double_digits) precision = max_double_digits;
1417:     format_dragon(f, dragon_flags, precision, buf, exp);
1417:   }
1417:   if (!fixed && !specs.showpoint) {
1417: 
1417:     auto num_digits = buf.size();
1417:     while (num_digits > 0 && buf[num_digits - 1] == '0') {
1417:       --num_digits;
1417:       ++exp;
1417:     }
1417:     buf.try_resize(num_digits);
1417:   }
1417:   return exp;
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(is_floating_point<T>::value), int> = 0>
1417:  auto write(OutputIt out, T value,
1417:                            basic_format_specs<Char> specs, locale_ref loc = {})
1417:     -> OutputIt {
1417:   if (const_check(!is_supported_floating_point(value))) return out;
1417:   float_specs fspecs = parse_float_type_spec(specs);
1417:   fspecs.sign = specs.sign;
1417:   if (detail::signbit(value)) {
1417:     fspecs.sign = sign::minus;
1417:     value = -value;
1417:   } else if (fspecs.sign == sign::minus) {
1417:     fspecs.sign = sign::none;
1417:   }
1417: 
1417:   if (!detail::isfinite(value))
1417:     return write_nonfinite(out, detail::isnan(value), specs, fspecs);
1417: 
1417:   if (specs.align == align::numeric && fspecs.sign) {
1417:     auto it = reserve(out, 1);
1417:     *it++ = detail::sign<Char>(fspecs.sign);
1417:     out = base_iterator(out, it);
1417:     fspecs.sign = sign::none;
1417:     if (specs.width != 0) --specs.width;
1417:   }
1417: 
1417:   memory_buffer buffer;
1417:   if (fspecs.format == float_format::hex) {
1417:     if (fspecs.sign) buffer.push_back(detail::sign<char>(fspecs.sign));
1417:     snprintf_float(convert_float(value), specs.precision, fspecs, buffer);
1417:     return write_bytes<align::right>(out, {buffer.data(), buffer.size()},
1417:                                      specs);
1417:   }
1417:   int precision = specs.precision >= 0 || specs.type == presentation_type::none
1417:                       ? specs.precision
1417:                       : 6;
1417:   if (fspecs.format == float_format::exp) {
1417:     if (precision == max_value<int>())
1417:       throw_format_error("number is too big");
1417:     else
1417:       ++precision;
1417:   } else if (fspecs.format != float_format::fixed && precision == 0) {
1417:     precision = 1;
1417:   }
1417:   if (const_check(std::is_same<T, float>())) fspecs.binary32 = true;
1417:   int exp = format_float(convert_float(value), precision, fspecs, buffer);
1417:   fspecs.precision = precision;
1417:   auto f = big_decimal_fp{buffer.data(), static_cast<int>(buffer.size()), exp};
1417:   return write_float(out, f, specs, fspecs, loc);
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(is_fast_float<T>::value), int> = 0>
1417:  auto write(OutputIt out, T value) -> OutputIt {
1417:   if (is_constant_evaluated())
1417te<>
1434:     struct atomic<short> : __atomic_base<short>
1434:     {
1434:       typedef short __integral_type;
1434:       typedef __atomic_base<short> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<unsigned short> : __atomic_base<unsigned short>
1434:     {
1434:       typedef unsigned short __integral_type;
1434:       typedef __atomic_base<unsigned short> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<int> : __atomic_base<int>
1434:     {
1434:       typedef int __integral_type;
1434:       typedef __atomic_base<int> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 2 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<unsigned int> : __atomic_base<unsigned int>
1434:     {
1434:       typedef unsigned int __integral_type;
1434:       typedef __atomic_base<unsigned int> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 2 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<long> : __atomic_base<long>
1434:     {
1434:       typedef long __integral_type;
1434:       typedef __atomic_base<long> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 2 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<unsigned long> : __atomic_base<unsigned long>
1434:     {
1434:       typedef unsigned long __integral_type;
1434:       typedef __atomic_base<unsigned long> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 2 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<long long> : __atomic_base<long long>
1434:     {
1434:       typedef long long __integral_type;
1434:       typedef __atomic_base<long long> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<unsigned long long> : __atomic_base<unsigned long long>
1434:     {
1434:       typedef unsigned long long __integral_type;
1434:       typedef __atomic_base<unsigned long long> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<wchar_t> : __atomic_base<wchar_t>
1434:     {
1434:       typedef wchar_t __integral_type;
1434:       typedef __atomic_base<wchar_t> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free = 2 == 2;
1434: 
1434:     };
1434: # 1010 "/usr/include/c++/12/atomic" 3
1434:   template<>
1434:     struct atomic<char16_t> : __atomic_base<char16_t>
1434:     {
1434:       typedef char16_t __integral_type;
1434:       typedef __atomic_base<char16_t> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::operator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free
1434:  = 1 == 2;
1434: 
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct atomic<char32_t> : __atomic_base<char32_t>
1434:     {
1434:       typedef char32_t __integral_type;
1434:       typedef __atomic_base<char32_t> __base_type;
1434: 
1434:       atomic() noexcept = default;
1434:       ~atomic() noexcept = default;
1434:       atomic(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) = delete;
1434:       atomic& operator=(const atomic&) volatile = delete;
1434: 
1434:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1434: 
1434:       using __base_type::ope1115:       _Node_const_iterator(__node_type* __p) noexcept
1115:       : __base_type(__p) { }
1115: 
1115:       _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators,
1115:       __cache>& __x) noexcept
1115:       : __base_type(__x._M_cur) { }
1115: 
1115:       reference
1115:       operator*() const noexcept
1115:       { return this->_M_cur->_M_v(); }
1115: 
1115:       pointer
1115:       operator->() const noexcept
1115:       { return this->_M_cur->_M_valptr(); }
1115: 
1115:       _Node_const_iterator&
1115:       operator++() noexcept
1115:       {
1115:  this->_M_incr();
1115:  return *this;
1115:       }
1115: 
1115:       _Node_const_iterator
1115:       operator++(int) noexcept
1115:       {
1115:  _Node_const_iterator __tmp(*this);
1115:  this->_M_incr();
1115:  return __tmp;
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   struct _Mod_range_hashing
1115:   {
1115:     typedef std::size_t first_argument_type;
1115:     typedef std::size_t second_argument_type;
1115:     typedef std::size_t result_type;
1115: 
1115:     result_type
1115:     operator()(first_argument_type __num,
1115:         second_argument_type __den) const noexcept
1115:     { return __num % __den; }
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   struct _Default_ranged_hash { };
1115: 
1115: 
1115: 
1115:   struct _Prime_rehash_policy
1115:   {
1115:     using __has_load_factor = true_type;
1115: 
1115:     _Prime_rehash_policy(float __z = 1.0) noexcept
1115:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1115: 
1115:     float
1115:     max_load_factor() const noexcept
1115:     { return _M_max_load_factor; }
1115: 
1115: 
1115:     std::size_t
1115:     _M_next_bkt(std::size_t __n) const;
1115: 
1115: 
1115:     std::size_t
1115:     _M_bkt_for_elements(std::size_t __n) const
1115:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     std::pair<bool, std::size_t>
1115:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1115:      std::size_t __n_ins) const;
1115: 
1115:     typedef std::size_t _State;
1115: 
1115:     _State
1115:     _M_state() const
1115:     { return _M_next_resize; }
1115: 
1115:     void
1115:     _M_reset() noexcept
1115:     { _M_next_resize = 0; }
1115: 
1115:     void
1115:     _M_reset(_State __state)
1115:     { _M_next_resize = __state; }
1115: 
1115:     static const std::size_t _S_growth_factor = 2;
1115: 
1115:     float _M_max_load_factor;
1115:     mutable std::size_t _M_next_resize;
1115:   };
1115: 
1115: 
1115:   struct _Mask_range_hashing
1115:   {
1115:     typedef std::size_t first_argument_type;
1115:     typedef std::size_t second_argument_type;
1115:     typedef std::size_t result_type;
1115: 
1115:     result_type
1115:     operator()(first_argument_type __num,
1115:         second_argument_type __den) const noexcept
1115:     { return __num & (__den - 1); }
1115:   };
1115: 
1115: 
1115:   inline std::size_t
1115:   __clp2(std::size_t __n) noexcept
1115:   {
1115:     using __gnu_cxx::__int_traits;
1115: 
1115:     if (__n < 2)
1115:       return __n;
1115:     const unsigned __lz = sizeof(size_t) > sizeof(long)
1115:       ? __builtin_clzll(__n - 1ull)
1115:       : __builtin_clzl(__n - 1ul);
1115: 
1115:     return (size_t(1) << (__int_traits<size_t>::__digits - __lz - 1)) << 1;
1115:   }
1115: 
1115: 
1115: 
1115:   struct _Power2_rehash_policy
1115:   {
1115:     using __has_load_factor = true_type;
1115: 
1115:     _Power2_rehash_policy(float __z = 1.0) noexcept
1115:     : _M_max_load_factor(__z), _M_next_resize(0) { }
1115: 
1115:     float
1115:     max_load_factor() const noexcept
1115:     { return _M_max_load_factor; }
1115: 
1115: 
1115: 
1115:     std::size_t
1115:     _M_next_bkt(std::size_t __n) noexcept
1115:     {
1115:       if (__n == 0)
1115: 
1115: 
1115: 
1115:  return 1;
1115: 
1115:       const auto __max_width = std::min<size_t>(sizeof(size_t), 8);
1115:       const auto __max_bkt = size_t(1) << (__max_width * 8 - 1);
1115:       std::sirator __integral_type;
1434:       using __base_type::operator=;
1434: 
1434: 
1434:       static constexpr bool is_always_lock_free
1434:  = 2 == 2;
1434: 
1434:     };
1434: 
1434: 
1434: 
1434:   typedef atomic<bool> atomic_bool;
1434: 
1434: 
1434:   typedef atomic<char> atomic_char;
1434: 
1434: 
1434:   typedef atomic<signed char> atomic_schar;
1434: 
1434: 
1434:   typedef atomic<unsigned char> atomic_uchar;
1434: 
1434: 
1434:   typedef atomic<short> atomic_short;
1434: 
1434: 
1434:   typedef atomic<unsigned short> atomic_ushort;
1434: 
1434: 
1434:   typedef atomic<int> atomic_int;
1434: 
1434: 
1434:   typedef atomic<unsigned int> atomic_uint;
1434: 
1434: 
1434:   typedef atomic<long> atomic_long;
1434: 
1434: 
1434:   typedef atomic<unsigned long> atomic_ulong;
1434: 
1434: 
1434:   typedef atomic<long long> atomic_llong;
1434: 
1434: 
1434:   typedef atomic<unsigned long long> atomic_ullong;
1434: 
1434: 
1434:   typedef atomic<wchar_t> atomic_wchar_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   typedef atomic<char16_t> atomic_char16_t;
1434: 
1434: 
1434:   typedef atomic<char32_t> atomic_char32_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   typedef atomic<int8_t> atomic_int8_t;
1434: 
1434: 
1434:   typedef atomic<uint8_t> atomic_uint8_t;
1434: 
1434: 
1434:   typedef atomic<int16_t> atomic_int16_t;
1434: 
1434: 
1434:   typedef atomic<uint16_t> atomic_uint16_t;
1434: 
1434: 
1434:   typedef atomic<int32_t> atomic_int32_t;
1434: 
1434: 
1434:   typedef atomic<uint32_t> atomic_uint32_t;
1434: 
1434: 
1434:   typedef atomic<int64_t> atomic_int64_t;
1434: 
1434: 
1434:   typedef atomic<uint64_t> atomic_uint64_t;
1434: 
1434: 
1434: 
1434:   typedef atomic<int_least8_t> atomic_int_least8_t;
1434: 
1434: 
1434:   typedef atomic<uint_least8_t> atomic_uint_least8_t;
1434: 
1434: 
1434:   typedef atomic<int_least16_t> atomic_int_least16_t;
1434: 
1434: 
1434:   typedef atomic<uint_least16_t> atomic_uint_least16_t;
1434: 
1434: 
1434:   typedef atomic<int_least32_t> atomic_int_least32_t;
1434: 
1434: 
1434:   typedef atomic<uint_least32_t> atomic_uint_least32_t;
1434: 
1434: 
1434:   typedef atomic<int_least64_t> atomic_int_least64_t;
1434: 
1434: 
1434:   typedef atomic<uint_least64_t> atomic_uint_least64_t;
1434: 
1434: 
1434: 
1434:   typedef atomic<int_fast8_t> atomic_int_fast8_t;
1434: 
1434: 
1434:   typedef atomic<uint_fast8_t> atomic_uint_fast8_t;
1434: 
1434: 
1434:   typedef atomic<int_fast16_t> atomic_int_fast16_t;
1434: 
1434: 
1434:   typedef atomic<uint_fast16_t> atomic_uint_fast16_t;
1434: 
1434: 
1434:   typedef atomic<int_fast32_t> atomic_int_fast32_t;
1434: 
1434: 
1434:   typedef atomic<uint_fast32_t> atomic_uint_fast32_t;
1434: 
1434: 
1434:   typedef atomic<int_fast64_t> atomic_int_fast64_t;
1434: 
1434: 
1434:   typedef atomic<uint_fast64_t> atomic_uint_fast64_t;
1434: 
1434: 
1434: 
1434: 
1434:   typedef atomic<intptr_t> atomic_intptr_t;
1434: 
1434: 
1434:   typedef atomic<uintptr_t> atomic_uintptr_t;
1434: 
1434: 
1434:   typedef atomic<size_t> atomic_size_t;
1434: 
1434: 
1434:   typedef atomic<ptrdiff_t> atomic_ptrdiff_t;
1434: 
1434: 
1434: 
1434:   typedef atomic<intmax_t> atomic_intmax_t;
1434: 
1434: 
1434:   typedef atomic<uintmax_t> atomic_uintmax_t;
1434: 
1434: 
1434: 
1434:   inline bool
1434:   atomic_flag_test_and_set_explicit(atomic_flag* __a,
1434:         memory_order __m) noexcept
1434:   { return __a->test_and_set(__m); }
1434: 
1434:   inline bool
1434:   atomic_flag_test_and_set_explicit(volatile atomic_flag* __a,
1434:         memory_order __m) noexcept
1434:   { return __a->test_and_set(__m); }
1434: 
1434:   inline void
1434:   atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept
1434:   { __a->clear(__m); }
1434: 
1434:   inline void
1434:   atomic_flag_clear_explicit(volatile atomic_flag* __a,
1434:         memory_order __m) noexcept
1434:   { __a->clear(__m); }
1434: 
1434:   inline bool
1434:   atomic_flag_test_and_set(atomic_flag* __a) noexcept
1434:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }:     return write(out, value, basic_format_specs<Char>());
1417:   if (const_check(!is_supported_floating_point(value))) return out;
1417: 
1417:   auto fspecs = float_specs();
1417:   if (detail::signbit(value)) {
1417:     fspecs.sign = sign::minus;
1417:     value = -value;
1417:   }
1417: 
1417:   constexpr auto specs = basic_format_specs<Char>();
1417:   using floaty = conditional_t<std::is_same<T, long double>::value, double, T>;
1417:   using uint = typename dragonbox::float_info<floaty>::carrier_uint;
1417:   uint mask = exponent_mask<floaty>();
1417:   if ((bit_cast<uint>(value) & mask) == mask)
1417:     return write_nonfinite(out, std::isnan(value), specs, fspecs);
1417: 
1417:   auto dec = dragonbox::to_decimal(static_cast<floaty>(value));
1417:   return write_float(out, dec, specs, fspecs, {});
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(is_floating_point<T>::value && !is_fast_float<T>::value), int> = 0
1417:                                                  >
1417: inline auto write(OutputIt out, T value) -> OutputIt {
1417:   return write(out, value, basic_format_specs<Char>());
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: auto write(OutputIt out, monostate, basic_format_specs<Char> = {},
1417:            locale_ref = {}) -> OutputIt {
1417:   ::fmt::detail::ignore_unused((false), (""));
1417:   return out;
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write(OutputIt out, basic_string_view<Char> value)
1417:     -> OutputIt {
1417:   auto it = reserve(out, value.size());
1417:   it = copy_str_noinline<Char>(value.begin(), value.end(), it);
1417:   return base_iterator(out, it);
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(is_string<T>::value), int> = 0>
1417: constexpr auto write(OutputIt out, const T& value) -> OutputIt {
1417:   return write<Char>(out, to_string_view(value));
1417: }
1417: 
1417: 
1417: template <
1417:     typename Char, typename OutputIt, typename T,
1417:     bool check =
1417:         std::is_enum<T>::value && !std::is_same<T, Char>::value &&
1417:         mapped_type_constant<T, basic_format_context<OutputIt, Char>>::value !=
1417:             type::custom_type,
1417:     enable_if_t<(check), int> = 0>
1417: constexpr auto write(OutputIt out, T value) -> OutputIt {
1417:   return write<Char>(out, static_cast<underlying_t<T>>(value));
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(std::is_same<T, bool>::value), int> = 0>
1417: constexpr auto write(OutputIt out, T value,
1417:                          const basic_format_specs<Char>& specs = {},
1417:                          locale_ref = {}) -> OutputIt {
1417:   return specs.type != presentation_type::none &&
1417:                  specs.type != presentation_type::string
1417:              ? write(out, value ? 1 : 0, specs, {})
1417:              : write_bytes(out, value ? "true" : "false", specs);
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write(OutputIt out, Char value) -> OutputIt {
1417:   auto it = reserve(out, 1);
1417:   *it++ = value;
1417:   return base_iterator(out, it);
1417: }
1417: 
1417: template <typename Char, typename OutputIt>
1417: constexpr auto write(OutputIt out, const Char* value)
1417:     -> OutputIt {
1417:   if (!value) {
1417:     throw_format_error("string pointer is null");
1417:   } else {
1417:     out = write(out, basic_string_view<Char>(value));
1417:   }
1417:   return out;
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           enable_if_t<(std::is_same<T, void>::value), int> = 0>
1417: auto write(OutputIt out, const T* value,
1417:            const basic_format_specs<Char>& specs = {}, locale_ref = {})
1417:     -> OutputIt {
1417:   check_pointer_type_spec(specs.type, error_handler());
1417:   return write_ptr<Char>(out, bit_cast<uintptr_t>(value), &specs);
1417: }
1417: 
14ze_t __res = __clp2(__n);
1115: 
1115:       if (__res == 0)
1115:  __res = __max_bkt;
1115:       else if (__res == 1)
1115: 
1115: 
1115: 
1115:  __res = 2;
1115: 
1115:       if (__res == __max_bkt)
1115: 
1115: 
1115: 
1115:  _M_next_resize = size_t(-1);
1115:       else
1115:  _M_next_resize
1115:    = __builtin_floor(__res * (double)_M_max_load_factor);
1115: 
1115:       return __res;
1115:     }
1115: 
1115: 
1115:     std::size_t
1115:     _M_bkt_for_elements(std::size_t __n) const noexcept
1115:     { return __builtin_ceil(__n / (double)_M_max_load_factor); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     std::pair<bool, std::size_t>
1115:     _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
1115:      std::size_t __n_ins) noexcept
1115:     {
1115:       if (__n_elt + __n_ins > _M_next_resize)
1115:  {
1115: 
1115: 
1115: 
1115:    double __min_bkts
1115:      = std::max<std::size_t>(__n_elt + __n_ins, _M_next_resize ? 0 : 11)
1115:        / (double)_M_max_load_factor;
1115:    if (__min_bkts >= __n_bkt)
1115:      return { true,
1115:        _M_next_bkt(std::max<std::size_t>(__builtin_floor(__min_bkts) + 1,
1115:       __n_bkt * _S_growth_factor)) };
1115: 
1115:    _M_next_resize
1115:      = __builtin_floor(__n_bkt * (double)_M_max_load_factor);
1115:    return { false, 0 };
1115:  }
1115:       else
1115:  return { false, 0 };
1115:     }
1115: 
1115:     typedef std::size_t _State;
1115: 
1115:     _State
1115:     _M_state() const noexcept
1115:     { return _M_next_resize; }
1115: 
1115:     void
1115:     _M_reset() noexcept
1115:     { _M_next_resize = 0; }
1115: 
1115:     void
1115:     _M_reset(_State __state) noexcept
1115:     { _M_next_resize = __state; }
1115: 
1115:     static const std::size_t _S_growth_factor = 2;
1115: 
1115:     float _M_max_load_factor;
1115:     std::size_t _M_next_resize;
1115:   };
1115: # 696 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits,
1115:     bool _Unique_keys = _Traits::__unique_keys::value>
1115:     struct _Map_base { };
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1115:     {
1115:       using mapped_type = _Val;
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1115:     {
1115:     private:
1115:       using __hashtable_base = _Hashtable_base<_Key, pair<const _Key, _Val>,
1115:             _Select1st, _Equal, _Hash,
1115:             _RangeHash, _Unused,
1115:             _Traits>;
1115: 
1115:       using __hashtable = _Hashtable<_Key, pair<const _Key, _Val>, _Alloc,
1115:          _Select1st, _Equal, _Hash, _RangeHash,
1115:          _Unused, _RehashPolicy, _Traits>;
1115: 
1115:       using __hash_code = typename __hashtable_base::__hash_code;
1115: 
1115:     public:
1115:       using key_type = typename __hashtable_base::key_type;
1115:       using mapped_type = _Val;
1115: 
1115:       mapped_type&
1115:       operator[](const key_type& __k);
1115: 
1115:       mapped_type&
1115:       operator[](key_type&& __k);
1115: 
1115: 
1115: 
1115:       mapped_type&
1115:       at(const key_type& __k)
1115:       {
1115:  auto __ite = static_cast<__hashtable*>(this)->find(__k);
1115:  if (!__ite._M_cur)
1115:    __throw_out_of_range(("unordered_map::at"));
1115:  return __ite->seco
1434: 
1434:   inline bool
1434:   atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept
1434:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
1434: 
1434:   inline void
1434:   atomic_flag_clear(atomic_flag* __a) noexcept
1434:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1434: 
1434:   inline void
1434:   atomic_flag_clear(volatile atomic_flag* __a) noexcept
1434:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     using __atomic_val_t = __type_identity_t<_Tp>;
1434:   template<typename _Tp>
1434:     using __atomic_diff_t = typename atomic<_Tp>::difference_type;
1434: 
1434: 
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_is_lock_free(const atomic<_ITp>* __a) noexcept
1434:     { return __a->is_lock_free(); }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept
1434:     { return __a->is_lock_free(); }
1434: 
1434:   template<typename _ITp>
1434:     inline void
1434:     atomic_init(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1434:     { __a->store(__i, memory_order_relaxed); }
1434: 
1434:   template<typename _ITp>
1434:     inline void
1434:     atomic_init(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1434:     { __a->store(__i, memory_order_relaxed); }
1434: 
1434:   template<typename _ITp>
1434:     inline void
1434:     atomic_store_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1434:      memory_order __m) noexcept
1434:     { __a->store(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline void
1434:     atomic_store_explicit(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1434:      memory_order __m) noexcept
1434:     { __a->store(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept
1434:     { return __a->load(__m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_load_explicit(const volatile atomic<_ITp>* __a,
1434:     memory_order __m) noexcept
1434:     { return __a->load(__m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_exchange_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1434:         memory_order __m) noexcept
1434:     { return __a->exchange(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_exchange_explicit(volatile atomic<_ITp>* __a,
1434:         __atomic_val_t<_ITp> __i,
1434:         memory_order __m) noexcept
1434:     { return __a->exchange(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a,
1434:        __atomic_val_t<_ITp>* __i1,
1434:        __atomic_val_t<_ITp> __i2,
1434:        memory_order __m1,
1434:        memory_order __m2) noexcept
1434:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a,
1434:        __atomic_val_t<_ITp>* __i1,
1434:        __atomic_val_t<_ITp> __i2,
1434:        memory_order __m1,
1434:        memory_order __m2) noexcept
1434:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a,
1434:          __atomic_val_t<_ITp>* __i1,
1434:          __atomic_val_t<_ITp> __i2,
1434:          memory_order __m1,
1434:          memory_order __m2) noexcept
1434:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a,
1434:          __atomic_val_t<_ITp>* __i1,
1434:          __atomic_val_t<_ITp> __i2,
1434:          memory_order __m1,
1434:          m17: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           typename Context = basic_format_context<OutputIt, Char>>
1417: constexpr auto write(OutputIt out, const T& value) -> enable_if_t<
1417:     std::is_class<T>::value && !is_string<T>::value &&
1417:         !is_floating_point<T>::value && !std::is_same<T, Char>::value &&
1417:         !std::is_same<const T&,
1417:                       decltype(arg_mapper<Context>().map(value))>::value,
1417:     OutputIt> {
1417:   return write<Char>(out, arg_mapper<Context>().map(value));
1417: }
1417: 
1417: template <typename Char, typename OutputIt, typename T,
1417:           typename Context = basic_format_context<OutputIt, Char>>
1417: constexpr auto write(OutputIt out, const T& value)
1417:     -> enable_if_t<mapped_type_constant<T, Context>::value == type::custom_type,
1417:                    OutputIt> {
1417:   using formatter_type =
1417:       conditional_t<has_formatter<T, Context>::value,
1417:                     typename Context::template formatter_type<T>,
1417:                     fallback_formatter<T, Char>>;
1417:   auto ctx = Context(out, {}, {});
1417:   return formatter_type().format(value, ctx);
1417: }
1417: 
1417: 
1417: 
1417: template <typename Char> struct default_arg_formatter {
1417:   using iterator = buffer_appender<Char>;
1417:   using context = buffer_context<Char>;
1417: 
1417:   iterator out;
1417:   basic_format_args<context> args;
1417:   locale_ref loc;
1417: 
1417:   template <typename T> auto operator()(T value) -> iterator {
1417:     return write<Char>(out, value);
1417:   }
1417:   auto operator()(typename basic_format_arg<context>::handle h) -> iterator {
1417:     basic_format_parse_context<Char> parse_ctx({});
1417:     context format_ctx(out, args, loc);
1417:     h.format(parse_ctx, format_ctx);
1417:     return format_ctx.out();
1417:   }
1417: };
1417: 
1417: template <typename Char> struct arg_formatter {
1417:   using iterator = buffer_appender<Char>;
1417:   using context = buffer_context<Char>;
1417: 
1417:   iterator out;
1417:   const basic_format_specs<Char>& specs;
1417:   locale_ref locale;
1417: 
1417:   template <typename T>
1417:   constexpr inline __attribute__((always_inline)) auto operator()(T value) -> iterator {
1417:     return detail::write(out, value, specs, locale);
1417:   }
1417:   auto operator()(typename basic_format_arg<context>::handle) -> iterator {
1417: 
1417: 
1417:     return out;
1417:   }
1417: };
1417: 
1417: template <typename Char> struct custom_formatter {
1417:   basic_format_parse_context<Char>& parse_ctx;
1417:   buffer_context<Char>& ctx;
1417: 
1417:   void operator()(
1417:       typename basic_format_arg<buffer_context<Char>>::handle h) const {
1417:     h.format(parse_ctx, ctx);
1417:   }
1417:   template <typename T> void operator()(T) const {}
1417: };
1417: 
1417: template <typename T>
1417: using is_integer =
1417:     bool_constant<is_integral<T>::value && !std::is_same<T, bool>::value &&
1417:                   !std::is_same<T, char>::value &&
1417:                   !std::is_same<T, wchar_t>::value>;
1417: 
1417: template <typename ErrorHandler> class width_checker {
1417:  public:
1417:   explicit constexpr width_checker(ErrorHandler& eh) : handler_(eh) {}
1417: 
1417:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
1417:   constexpr auto operator()(T value) -> unsigned long long {
1417:     if (is_negative(value)) handler_.on_error("negative width");
1417:     return static_cast<unsigned long long>(value);
1417:   }
1417: 
1417:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1417:   constexpr auto operator()(T) -> unsigned long long {
1417:     handler_.on_error("width is not integer");
1417:     return 0;
1417:   }
1417: 
1417:  private:
1417:   ErrorHandler& handler_;
1417: };
1417: 
1417: template <typename ErrorHandler> class precision_checker {
1417:  public:
1417:   explicit constexpr precision_checker(ErrorHandler& eh) : handler_(eh) {}
1417: 
1417:   template <typename T, enable_if_t<(is_integer<T>emory_order __m2) noexcept
1434:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1434: 
1434: 
1434:   template<typename _ITp>
1434:     inline void
1434:     atomic_store(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1434:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline void
1434:     atomic_store(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1434:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_load(const atomic<_ITp>* __a) noexcept
1434:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_load(const volatile atomic<_ITp>* __a) noexcept
1434:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_exchange(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_exchange(volatile atomic<_ITp>* __a,
1434:       __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_weak(atomic<_ITp>* __a,
1434:      __atomic_val_t<_ITp>* __i1,
1434:      __atomic_val_t<_ITp> __i2) noexcept
1434:     {
1434:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1434:          memory_order_seq_cst,
1434:          memory_order_seq_cst);
1434:     }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_weak(volatile atomic<_ITp>* __a,
1434:      __atomic_val_t<_ITp>* __i1,
1434:      __atomic_val_t<_ITp> __i2) noexcept
1434:     {
1434:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1434:          memory_order_seq_cst,
1434:          memory_order_seq_cst);
1434:     }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_strong(atomic<_ITp>* __a,
1434:        __atomic_val_t<_ITp>* __i1,
1434:        __atomic_val_t<_ITp> __i2) noexcept
1434:     {
1434:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1434:            memory_order_seq_cst,
1434:            memory_order_seq_cst);
1434:     }
1434: 
1434:   template<typename _ITp>
1434:     inline bool
1434:     atomic_compare_exchange_strong(volatile atomic<_ITp>* __a,
1434:        __atomic_val_t<_ITp>* __i1,
1434:        __atomic_val_t<_ITp> __i2) noexcept
1434:     {
1434:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1434:            memory_order_seq_cst,
1434:            memory_order_seq_cst);
1434:     }
1434: # 1451 "/usr/include/c++/12/atomic" 3
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_add_explicit(atomic<_ITp>* __a,
1434:          __atomic_diff_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_add(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_add_explicit(volatile atomic<_ITp>* __a,
1434:          __atomic_diff_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_add(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_sub_explicit(atomic<_ITp>* __a,
1434:          __atomic_diff_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_sub(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_sub_explicit(volatile atomic<_ITp>* __a,
1434:          __atomic_diff_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_sub(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_and_explicit(__atomic_base<_ITp>* __a,nd;
1115:       }
1115: 
1115:       const mapped_type&
1115:       at(const key_type& __k) const
1115:       {
1115:  auto __ite = static_cast<const __hashtable*>(this)->find(__k);
1115:  if (!__ite._M_cur)
1115:    __throw_out_of_range(("unordered_map::at"));
1115:  return __ite->second;
1115:       }
1115:     };
1115: 
1115:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1115:     operator[](const key_type& __k)
1115:     -> mapped_type&
1115:     {
1115:       __hashtable* __h = static_cast<__hashtable*>(this);
1115:       __hash_code __code = __h->_M_hash_code(__k);
1115:       std::size_t __bkt = __h->_M_bucket_index(__code);
1115:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1115:  return __node->_M_v().second;
1115: 
1115:       typename __hashtable::_Scoped_node __node {
1115:  __h,
1115:  std::piecewise_construct,
1115:  std::tuple<const key_type&>(__k),
1115:  std::tuple<>()
1115:       };
1115:       auto __pos
1115:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1115:       __node._M_node = nullptr;
1115:       return __pos->second;
1115:     }
1115: 
1115:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1115:     operator[](key_type&& __k)
1115:     -> mapped_type&
1115:     {
1115:       __hashtable* __h = static_cast<__hashtable*>(this);
1115:       __hash_code __code = __h->_M_hash_code(__k);
1115:       std::size_t __bkt = __h->_M_bucket_index(__code);
1115:       if (auto __node = __h->_M_find_node(__bkt, __k, __code))
1115:  return __node->_M_v().second;
1115: 
1115:       typename __hashtable::_Scoped_node __node {
1115:  __h,
1115:  std::piecewise_construct,
1115:  std::forward_as_tuple(std::move(__k)),
1115:  std::tuple<>()
1115:       };
1115:       auto __pos
1115:  = __h->_M_insert_unique_node(__bkt, __code, __node._M_node);
1115:       __node._M_node = nullptr;
1115:       return __pos->second;
1115:     }
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Alloc, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits, bool __uniq>
1115:     struct _Map_base<const _Key, pair<const _Key, _Val>,
1115:        _Alloc, _Select1st, _Equal, _Hash,
1115:        _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1115:     : _Map_base<_Key, pair<const _Key, _Val>, _Alloc, _Select1st, _Equal, _Hash,
1115:   _RangeHash, _Unused, _RehashPolicy, _Traits, __uniq>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Insert_base
1115:     {
1115:     protected:
1115:       using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey,
1115:             _Equal, _Hash, _RangeHash,
1115:             _Unused, _Traits>;
1115: 
1115:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:          _Hash, _RangeHash,
1115:          _Unused, _RehashPolicy, _Traits>;
1115: 
1115:       using __hash_cached = typename _Traits::__hash_cached;
1115:       using __constant_iterators = typename _Traits::__constant_iterators;
1115: 
1115:       using __hashtable_alloc = _Hashtable_alloc<
1115:  __alloc_rebind<_Alloc, _Hash_node<_Value,
1115:        __hash_cached::value>>>;
1115: 
1115:       using value_
1434:          __atomic_val_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_and(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a,
1434:          __atomic_val_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_and(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_or_explicit(__atomic_base<_ITp>* __a,
1434:         __atomic_val_t<_ITp> __i,
1434:         memory_order __m) noexcept
1434:     { return __a->fetch_or(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a,
1434:         __atomic_val_t<_ITp> __i,
1434:         memory_order __m) noexcept
1434:     { return __a->fetch_or(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a,
1434:          __atomic_val_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_xor(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a,
1434:          __atomic_val_t<_ITp> __i,
1434:          memory_order __m) noexcept
1434:     { return __a->fetch_xor(__i, __m); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_add(atomic<_ITp>* __a,
1434:        __atomic_diff_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_add(volatile atomic<_ITp>* __a,
1434:        __atomic_diff_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_sub(atomic<_ITp>* __a,
1434:        __atomic_diff_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_sub(volatile atomic<_ITp>* __a,
1434:        __atomic_diff_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_and(__atomic_base<_ITp>* __a,
1434:        __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_and(volatile __atomic_base<_ITp>* __a,
1434:        __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_or(__atomic_base<_ITp>* __a,
1434:       __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_or(volatile __atomic_base<_ITp>* __a,
1434:       __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_xor(__atomic_base<_ITp>* __a,
1434:        __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1434: 
1434:   template<typename _ITp>
1434:     inline _ITp
1434:     atomic_fetch_xor(volatile __atomic_base<_ITp>* __a,
1434:        __atomic_val_t<_ITp> __i) noexcept
1434:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1434: # 1649 "/usr/include/c++/12/atomic" 3
1434: 
1434: }
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1434: # 1 "/usr/include/c++/12/future" 1 3
1434: # 32 "/usr/include/c++/12/future" 3
1434:        
1434: # 33 "/usr/include/c++/12/future" 3
1434: # 43 "/usr/include/c++/12/future" 3
1434: # 1 "/usr/include/c++/12/bits/atomic_futex.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/atomic_futex.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/atomic_futex.h" 3
1434: # 46 "/usr/include/c++/12/bits/atomic_futex.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   struct __atomic_futex_unsigned_base
1434:   {
1434: 
1434: 
1434:     bool
1434:     _M_futex_wait_until(unsigned *__addr, unsigned __val, bool __has_timeout,
1434:  chrono::seconds __s, chrono::nanoseconds __ns);
1434: 
1434: 
1434: 
1434:     bool
1434:     _M_futex_wait_until_steady(unsigned *__addr, unsigned __val,
1434:  bool __has_timeout, chrono::seconds __s, chrono::nanoseconds __ns);
1434: 
1434: 
1434:     static void _M_futex_notify_all(unsigned* __addr);
1434:   };
1434: 
1434:   template <unsigned _Waiter_bit = 0x80000000>
1434:   class __atomic_futex_unsigned : __atomic_futex_unsigned_base
1434:   {
1434:     typedef chrono::steady_clock __clock_t;
1434: 
1434: 
1434:     atomic<unsigned> _M_data;
1434: 
1434:   public:
1434:     explicit
1434:     __atomic_futex_unsigned(unsigned __data) : _M_data(__data)
1434:     { }
1434: 
1434:     inline __attribute__((__always_inline__)) unsigned
1434:     _M_load(memory_order __mo)
1434:     {
1434:       return _M_data.load(__mo) & ~_Waiter_bit;
1434:     }
1434: 
1434:   private:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     unsigned
1434:     _M_load_and_test_until(unsigned __assumed, unsigned __operand,
1434:  bool __equal, memory_order __mo, bool __has_timeout,
1434:  chrono::seconds __s, chrono::nanoseconds __ns)
1434:     {
1434:       for (;;)
1434:  {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    _M_data.fetch_or(_Waiter_bit, memory_order_relaxed);
1434:    bool __ret = _M_futex_wait_until((unsigned*)(void*)&_M_data,
1434:         __assumed | _Waiter_bit,
1434:         __has_timeout, __s, __ns);
1434: 
1434:    __assumed = _M_load(__mo);
1434:    if (!__ret || ((__operand == __assumed) == __equal))
1434:      return __assumed;
1434: 
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     unsigned
1434:     _M_load_and_test_until_steady(unsigned __assumed, unsigned __operand,
1434:  bool __equal, memory_order __mo, bool __has_timeout,
1434:  chrono::seconds __s, chrono::nanoseconds __ns)
1434:     {
1434:       for (;;)
1434:  {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    _M_data.fetch_or(_Waiter_bit, memory_order_relaxed);
1434:    bool __ret = _M_futex_wait_until_steady((unsigned*)(void*)&_M_data,
1434:         __assumed | _Waiter_bit,
1434:         __has_timeout, __s, __ns);
1434: 
1434:    __assumed = _M_load(__mo);
1434:    if (!__ret || ((__operand == __assumed) == __equal))
1434:      return __assumed;
1434: 
1434:  }
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     unsigned
1434:     _M_load_and_test(unsigned __assumed, unsigned __operand,
1434:  bool __equal, memory_order __mo)
1434:     {
1434:       return _M_load_and_test_until(__assumed, __operand, __equal, __mo,
1434:         false, {}, {});
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Dur>
1434:     unsigned
1434:     _M_load_and_test_until_impl(unsigned __assumed, unsigned __operand,
1434:  bool __equal, memory_order __mo,
1434:  const chrono::time_point<std::chrono::system_clock, _Dur>& __atime)
1434:     {
1434:       auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:       auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:       return _M_load_and_test_until(__assumed, __operand, __equal, __mo,
1434:    true, __s.time_since_epoch(), __ns);
1434:     }
1434: 
1434:     template<typename _Dur>
1434:     unsigned
1434:     _M_load_and_test_until_impl(unsigned __assumed, unsigned __operand,
1434:  bool __equal, memory_order __mo,
1434:  const chrono::time_point<std::chrono::steady_clock, _Dur>& __atime)
1434:     {
1434:       auto __s = chrono::time_point_cast<chrono::value), int> = 0>
1417:   constexpr auto operator()(T value) -> unsigned long long {
1417:     if (is_negative(value)) handler_.on_error("negative precision");
1417:     return static_cast<unsigned long long>(value);
1417:   }
1417: 
1417:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1417:   constexpr auto operator()(T) -> unsigned long long {
1417:     handler_.on_error("precision is not integer");
1417:     return 0;
1417:   }
1417: 
1417:  private:
1417:   ErrorHandler& handler_;
1417: };
1417: 
1417: template <template <typename> class Handler, typename FormatArg,
1417:           typename ErrorHandler>
1417: constexpr auto get_dynamic_spec(FormatArg arg, ErrorHandler eh) -> int {
1417:   unsigned long long value = visit_format_arg(Handler<ErrorHandler>(eh), arg);
1417:   if (value > to_unsigned(max_value<int>())) eh.on_error("number is too big");
1417:   return static_cast<int>(value);
1417: }
1417: 
1417: template <typename Context, typename ID>
1417: constexpr auto get_arg(Context& ctx, ID id) ->
1417:     typename Context::format_arg {
1417:   auto arg = ctx.arg(id);
1417:   if (!arg) ctx.on_error("argument not found");
1417:   return arg;
1417: }
1417: 
1417: 
1417: template <typename Char> class specs_handler : public specs_setter<Char> {
1417:  private:
1417:   basic_format_parse_context<Char>& parse_context_;
1417:   buffer_context<Char>& context_;
1417: 
1417: 
1417:   using format_arg = basic_format_arg<buffer_context<Char>>;
1417: 
1417:   constexpr auto get_arg(auto_id) -> format_arg {
1417:     return detail::get_arg(context_, parse_context_.next_arg_id());
1417:   }
1417: 
1417:   constexpr auto get_arg(int arg_id) -> format_arg {
1417:     parse_context_.check_arg_id(arg_id);
1417:     return detail::get_arg(context_, arg_id);
1417:   }
1417: 
1417:   constexpr auto get_arg(basic_string_view<Char> arg_id) -> format_arg {
1417:     parse_context_.check_arg_id(arg_id);
1417:     return detail::get_arg(context_, arg_id);
1417:   }
1417: 
1417:  public:
1417:   constexpr specs_handler(basic_format_specs<Char>& specs,
1417:                               basic_format_parse_context<Char>& parse_ctx,
1417:                               buffer_context<Char>& ctx)
1417:       : specs_setter<Char>(specs), parse_context_(parse_ctx), context_(ctx) {}
1417: 
1417:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1417:     this->specs_.width = get_dynamic_spec<width_checker>(
1417:         get_arg(arg_id), context_.error_handler());
1417:   }
1417: 
1417:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1417:     this->specs_.precision = get_dynamic_spec<precision_checker>(
1417:         get_arg(arg_id), context_.error_handler());
1417:   }
1417: 
1417:   void on_error(const char* message) { context_.on_error(message); }
1417: };
1417: 
1417: template <template <typename> class Handler, typename Context>
1417: constexpr void handle_dynamic_spec(int& value,
1417:                                        arg_ref<typename Context::char_type> ref,
1417:                                        Context& ctx) {
1417:   switch (ref.kind) {
1417:   case arg_id_kind::none:
1417:     break;
1417:   case arg_id_kind::index:
1417:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.index),
1417:                                               ctx.error_handler());
1417:     break;
1417:   case arg_id_kind::name:
1417:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.name),
1417:                                               ctx.error_handler());
1417:     break;
1417:   }
1417: }
1417: 
1417: 
1417: template <typename Char> struct udl_formatter {
1417:   basic_string_view<Char> str;
1417: 
1417:   template <typename... T>
1417:   auto operator()(T&&... args) const -> std::basic_string<Char> {
1417:     return vformat(str, fmt::make_format_args<buffer_context<Char>>(args...));
1417:   }
1417: };
1417: # 3573 "/usr/include/fmt/format.h" 3 4
1417: template <typename Char> struct udl_arg {
1417:   const Char* str;
1417: 
1417:   template <typentype = typename __hashtable_base::value_type;
1115:       using size_type = typename __hashtable_base::size_type;
1115: 
1115:       using __unique_keys = typename _Traits::__unique_keys;
1115:       using __node_alloc_type = typename __hashtable_alloc::__node_alloc_type;
1115:       using __node_gen_type = _AllocNode<__node_alloc_type>;
1115: 
1115:       __hashtable&
1115:       _M_conjure_hashtable()
1115:       { return *(static_cast<__hashtable*>(this)); }
1115: 
1115:       template<typename _InputIterator, typename _NodeGetter>
1115:  void
1115:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1115:    const _NodeGetter&, true_type __uks);
1115: 
1115:       template<typename _InputIterator, typename _NodeGetter>
1115:  void
1115:  _M_insert_range(_InputIterator __first, _InputIterator __last,
1115:    const _NodeGetter&, false_type __uks);
1115: 
1115:     public:
1115:       using iterator = _Node_iterator<_Value, __constant_iterators::value,
1115:           __hash_cached::value>;
1115: 
1115:       using const_iterator = _Node_const_iterator<_Value,
1115:         __constant_iterators::value,
1115:         __hash_cached::value>;
1115: 
1115:       using __ireturn_type = __conditional_t<__unique_keys::value,
1115:           std::pair<iterator, bool>,
1115:           iterator>;
1115: 
1115:       __ireturn_type
1115:       insert(const value_type& __v)
1115:       {
1115:  __hashtable& __h = _M_conjure_hashtable();
1115:  __node_gen_type __node_gen(__h);
1115:  return __h._M_insert(__v, __node_gen, __unique_keys{});
1115:       }
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, const value_type& __v)
1115:       {
1115:  __hashtable& __h = _M_conjure_hashtable();
1115:  __node_gen_type __node_gen(__h);
1115:  return __h._M_insert(__hint, __v, __node_gen, __unique_keys{});
1115:       }
1115: 
1115:       template<typename _KType, typename... _Args>
1115:  std::pair<iterator, bool>
1115:  try_emplace(const_iterator, _KType&& __k, _Args&&... __args)
1115:  {
1115:    __hashtable& __h = _M_conjure_hashtable();
1115:    auto __code = __h._M_hash_code(__k);
1115:    std::size_t __bkt = __h._M_bucket_index(__code);
1115:    if (auto __node = __h._M_find_node(__bkt, __k, __code))
1115:      return { iterator(__node), false };
1115: 
1115:    typename __hashtable::_Scoped_node __node {
1115:      &__h,
1115:      std::piecewise_construct,
1115:      std::forward_as_tuple(std::forward<_KType>(__k)),
1115:      std::forward_as_tuple(std::forward<_Args>(__args)...)
1115:      };
1115:    auto __it
1115:      = __h._M_insert_unique_node(__bkt, __code, __node._M_node);
1115:    __node._M_node = nullptr;
1115:    return { __it, true };
1115:  }
1115: 
1115:       void
1115:       insert(initializer_list<value_type> __l)
1115:       { this->insert(__l.begin(), __l.end()); }
1115: 
1115:       template<typename _InputIterator>
1115:  void
1115:  insert(_InputIterator __first, _InputIterator __last)
1115:  {
1115:    __hashtable& __h = _M_conjure_hashtable();
1115:    __node_gen_type __node_gen(__h);
1115:    return _M_insert_range(__first, __last, __node_gen, __unique_keys{});
1115:  }
1115:     };
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _InputIterator, typename _NodeGetter>
1115:       void
1115:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:      _Hash, _RangeHash, _Unused,
1115:      _RehashPolicy, _Traits>::
1115:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1115:         const _NodeGetter& __node_gen, true_type __uks)
1115:       {
1115:  __hashtable& __h = _M_conjure_hashtable();
1115:  for (; __first != __last; ++__first)
1115:    __h._M_insert(*__first, __node_gen, __uks);
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typ::seconds>(__atime);
1434:       auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:       return _M_load_and_test_until_steady(__assumed, __operand, __equal, __mo,
1434:    true, __s.time_since_epoch(), __ns);
1434:     }
1434: 
1434:   public:
1434: 
1434:     inline __attribute__((__always_inline__)) unsigned
1434:     _M_load_when_not_equal(unsigned __val, memory_order __mo)
1434:     {
1434:       unsigned __i = _M_load(__mo);
1434:       if ((__i & ~_Waiter_bit) != __val)
1434:  return (__i & ~_Waiter_bit);
1434: 
1434:       return _M_load_and_test(__i, __val, false, __mo);
1434:     }
1434: 
1434:     inline __attribute__((__always_inline__)) void
1434:     _M_load_when_equal(unsigned __val, memory_order __mo)
1434:     {
1434:       unsigned __i = _M_load(__mo);
1434:       if ((__i & ~_Waiter_bit) == __val)
1434:  return;
1434: 
1434:       _M_load_and_test(__i, __val, true, __mo);
1434:     }
1434: 
1434: 
1434:     template<typename _Rep, typename _Period>
1434:       inline __attribute__((__always_inline__)) bool
1434:       _M_load_when_equal_for(unsigned __val, memory_order __mo,
1434:    const chrono::duration<_Rep, _Period>& __rtime)
1434:       {
1434:  using __dur = typename __clock_t::duration;
1434:  return _M_load_when_equal_until(__val, __mo,
1434:       __clock_t::now() + chrono::__detail::ceil<__dur>(__rtime));
1434:       }
1434: 
1434: 
1434:     template<typename _Clock, typename _Duration>
1434:       inline __attribute__((__always_inline__)) bool
1434:       _M_load_when_equal_until(unsigned __val, memory_order __mo,
1434:    const chrono::time_point<_Clock, _Duration>& __atime)
1434:       {
1434:  typename _Clock::time_point __c_entry = _Clock::now();
1434:  do {
1434:    const __clock_t::time_point __s_entry = __clock_t::now();
1434:    const auto __delta = __atime - __c_entry;
1434:    const auto __s_atime = __s_entry +
1434:        chrono::__detail::ceil<__clock_t::duration>(__delta);
1434:    if (_M_load_when_equal_until(__val, __mo, __s_atime))
1434:      return true;
1434:    __c_entry = _Clock::now();
1434:  } while (__c_entry < __atime);
1434:  return false;
1434:       }
1434: 
1434: 
1434:     template<typename _Duration>
1434:     inline __attribute__((__always_inline__)) bool
1434:     _M_load_when_equal_until(unsigned __val, memory_order __mo,
1434:  const chrono::time_point<std::chrono::system_clock, _Duration>& __atime)
1434:     {
1434:       unsigned __i = _M_load(__mo);
1434:       if ((__i & ~_Waiter_bit) == __val)
1434:  return true;
1434: 
1434:       __i = _M_load_and_test_until_impl(__i, __val, true, __mo, __atime);
1434:       return (__i & ~_Waiter_bit) == __val;
1434:     }
1434: 
1434: 
1434:     template<typename _Duration>
1434:     inline __attribute__((__always_inline__)) bool
1434:     _M_load_when_equal_until(unsigned __val, memory_order __mo,
1434:  const chrono::time_point<std::chrono::steady_clock, _Duration>& __atime)
1434:     {
1434:       unsigned __i = _M_load(__mo);
1434:       if ((__i & ~_Waiter_bit) == __val)
1434:  return true;
1434: 
1434:       __i = _M_load_and_test_until_impl(__i, __val, true, __mo, __atime);
1434:       return (__i & ~_Waiter_bit) == __val;
1434:     }
1434: 
1434:     inline __attribute__((__always_inline__)) void
1434:     _M_store_notify_all(unsigned __val, memory_order __mo)
1434:     {
1434:       unsigned* __futex = (unsigned *)(void *)&_M_data;
1434:       if (_M_data.exchange(__val, __mo) & _Waiter_bit)
1434:  _M_futex_notify_all(__futex);
1434:     }
1434:   };
1434: # 357 "/usr/include/c++/12/bits/atomic_futex.h" 3
1434: 
1434: }
1434: # 44 "/usr/include/c++/12/future" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/std_thread.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/std_thread.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/std_thread.h" 3
1434: # 52 "/usr/include/c++/12/bits/std_thread.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class thread
1434:   {
1434:   public:
1434: 
1434: 
1434: 
1434:     struct _State
1434:     {
1434:       virtual ~_State();
1434:       virtual void _M_run() = 0;
1434:     };
1434:     using _State_ptr = unique_ptr<_State>;
1434: 
1434:     using native_handle_type = __gthread_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     class id
1434:     {
1434:       native_handle_type _M_thread;
1434: 
1434:     public:
1434:       id() noexcept : _M_thread() { }
1434: 
1434:       explicit
1434:       id(native_handle_type __id) : _M_thread(__id) { }
1434: 
1434:     private:
1434:       friend class thread;
1434:       friend struct hash<id>;
1434: 
1434:       friend bool
1434:       operator==(id __x, id __y) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       friend bool
1434:       operator<(id __x, id __y) noexcept;
1434: 
1434: 
1434:       template<class _CharT, class _Traits>
1434:  friend basic_ostream<_CharT, _Traits>&
1434:  operator<<(basic_ostream<_CharT, _Traits>& __out, id __id);
1434:     };
1434: 
1434:   private:
1434:     id _M_id;
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:       using __not_same = __not_<is_same<__remove_cvref_t<_Tp>, thread>>;
1434: 
1434:   public:
1434:     thread() noexcept = default;
1434: 
1434: 
1434:     template<typename _Callable, typename... _Args,
1434:       typename = _Require<__not_same<_Callable>>>
1434:       explicit
1434:       thread(_Callable&& __f, _Args&&... __args)
1434:       {
1434:  static_assert( __is_invocable<typename decay<_Callable>::type,
1434:           typename decay<_Args>::type...>::value,
1434:    "std::thread arguments must be invocable after conversion to rvalues"
1434:    );
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  auto __depend = nullptr;
1434: 
1434:  using _Wrapper = _Call_wrapper<_Callable, _Args...>;
1434: 
1434: 
1434:  _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
1434:        std::forward<_Callable>(__f), std::forward<_Args>(__args)...)),
1434:      __depend);
1434:       }
1434: 
1434: 
1434:     ~thread()
1434:     {
1434:       if (joinable())
1434:  std::__terminate();
1434:     }
1434: 
1434:     thread(const thread&) = delete;
1434: 
1434:     thread(thread&& __t) noexcept
1434:     { swap(__t); }
1434: 
1434:     thread& operator=(const thread&) = delete;
1434: 
1434:     thread& operator=(thread&& __t) noexcept
1434:     {
1434:       if (joinable())
1434:  std::__terminate();
1434:       swap(__t);
1434:       return *this;
1434:     }
1434: 
1434:     void
1434:     swap(thread& __t) noexcept
1434:     { std::swap(_M_id, __t._M_id); }
1434: 
1434:     bool
1434:     joinable() const noexcept
1434:     { return !(_M_id == id()); }
1434: 
1434:     void
1434:     join();
1434: 
1434:     void
1434:     detach();
1434: 
1434:     id
1434:     get_id() const noexcept
1434:     { return _M_id; }
1434: 
1434: 
1434: 
1434:     native_handle_type
1434:     native_handle()
1434:     { return _M_id._M_thread; }
1434: 
1434: 
1434:     static unsigned int
1434:     hardware_concurrency() noexcept;
1434: 
1434: 
1434:   private:
1434:     template<typename _Callable>
1434:       struct _State_impl : public _State
1434:       {
1434:  _Callable _M_func;
1434: 
1434:  template<typename... _Args>
1434:    _State_impl(_Args&&... __args)
1434:    : _M_func{{std::forward<_Args>(__args)...}}
1434:    { }
1434: 
1434:  void
1434:  _M_run() { _M_func(); }
1434:       };
1434: 
1434:     void
1434:     _M_start_thread(_State_ptr, void (*)());
1434: # 235 "/usr/include/c++/12/bits/std_thread.h" 3
1434:   private:
1434: 
1434:     template<typename _Tuple>
1434:       struct _Invoker
1434:       {
1434:  _Tuple _M_t;
1434: 
1434:  template<typename>
1434:    struct __result;
1434:  template<typename _Fn, typename... _Args>
1434:    struct __result<tuple<_Fn, _Args...>>
1434:    : __invoke_result<_Fn, _Args...>
1434:    { };
1434: 
1434:  template<size_t... _Ind>
1434:    typename __result<_Tuple>::type
1434:    _M_invoke(_Index_tuple<_Ind...>)
1434:    { return std::__invoke(std::get<_Ind>(std::move(_M_t))...); }
1434: 
1434:  typename __rame T> auto operator=(T&& value) const -> named_arg<Char, T> {
1417:     return {str, std::forward<T>(value)};
1417:   }
1417: };
1417: 
1417: 
1417: 
1417: template <typename Locale, typename Char>
1417: auto vformat(const Locale& loc, basic_string_view<Char> format_str,
1417:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
1417:     -> std::basic_string<Char> {
1417:   basic_memory_buffer<Char> buffer;
1417:   detail::vformat_to(buffer, format_str, args, detail::locale_ref(loc));
1417:   return {buffer.data(), buffer.size()};
1417: }
1417: 
1417: using format_func = void (*)(detail::buffer<char>&, int, const char*);
1417: 
1417:  void format_error_code(buffer<char>& out, int error_code,
1417:                                string_view message) noexcept;
1417: 
1417:  void report_error(format_func func, int error_code,
1417:                           const char* message) noexcept;
1417: }
1417: 
1417:  auto vsystem_error(int error_code, string_view format_str,
1417:                            format_args args) -> std::system_error;
1417: # 3621 "/usr/include/fmt/format.h" 3 4
1417: template <typename... T>
1417: auto system_error(int error_code, format_string<T...> fmt, T&&... args)
1417:     -> std::system_error {
1417:   return vsystem_error(error_code, fmt, fmt::make_format_args(args...));
1417: }
1417: # 3643 "/usr/include/fmt/format.h" 3 4
1417:  void format_system_error(detail::buffer<char>& out, int error_code,
1417:                                  const char* message) noexcept;
1417: 
1417: 
1417: 
1417:  void report_system_error(int error_code, const char* message) noexcept;
1417: 
1417: 
1417: class format_int {
1417:  private:
1417: 
1417: 
1417:   enum { buffer_size = std::numeric_limits<unsigned long long>::digits10 + 3 };
1417:   mutable char buffer_[buffer_size];
1417:   char* str_;
1417: 
1417:   template <typename UInt> auto format_unsigned(UInt value) -> char* {
1417:     auto n = static_cast<detail::uint32_or_64_or_128_t<UInt>>(value);
1417:     return detail::format_decimal(buffer_, n, buffer_size - 1).begin;
1417:   }
1417: 
1417:   template <typename Int> auto format_signed(Int value) -> char* {
1417:     auto abs_value = static_cast<detail::uint32_or_64_or_128_t<Int>>(value);
1417:     bool negative = value < 0;
1417:     if (negative) abs_value = 0 - abs_value;
1417:     auto begin = format_unsigned(abs_value);
1417:     if (negative) *--begin = '-';
1417:     return begin;
1417:   }
1417: 
1417:  public:
1417:   explicit format_int(int value) : str_(format_signed(value)) {}
1417:   explicit format_int(long value) : str_(format_signed(value)) {}
1417:   explicit format_int(long long value) : str_(format_signed(value)) {}
1417:   explicit format_int(unsigned value) : str_(format_unsigned(value)) {}
1417:   explicit format_int(unsigned long value) : str_(format_unsigned(value)) {}
1417:   explicit format_int(unsigned long long value)
1417:       : str_(format_unsigned(value)) {}
1417: 
1417: 
1417:   auto size() const -> size_t {
1417:     return detail::to_unsigned(buffer_ - str_ + buffer_size - 1);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   auto data() const -> const char* { return str_; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   auto c_str() const -> const char* {
1417:     buffer_[buffer_size - 1] = '\0';
1417:     return str_;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   auto str() const -> std::string { return std::string(str_, size()); }
1417: };
1417: 
1417: template <typename T, typename Char>
1417: template <typename FormatContext>
1417: constexpr inline __attribute__((always_inline)) auto
1417: formatter<T, Char,
1417:           enable_if_t<detail::type_constant<T, Char>::value !=
1417:                       detail::type::custom_type>>::format(const T& val,
1417:                                                           FormatContext& ctx)
1417:     const -> decltype(ctx.out()) {
1417:   if (specs_.width_ref.kind != detail::arg_id_kind::none ||
1417:       specs_.precision_ref.kind != detail::arg_id_kind::none) {
1417:     auto specesult<_Tuple>::type
1434:  operator()()
1434:  {
1434:    using _Indices
1434:      = typename _Build_index_tuple<tuple_size<_Tuple>::value>::__type;
1434:    return _M_invoke(_Indices());
1434:  }
1434:       };
1434: 
1434:   public:
1434:     template<typename... _Tp>
1434:       using _Call_wrapper = _Invoker<tuple<typename decay<_Tp>::type...>>;
1434: 
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline void
1434:   swap(thread& __x, thread& __y) noexcept
1434:   { __x.swap(__y); }
1434: 
1434:   inline bool
1434:   operator==(thread::id __x, thread::id __y) noexcept
1434:   {
1434: 
1434: 
1434: 
1434: 
1434:     return __x._M_thread == __y._M_thread;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<>
1434:     struct hash<thread::id>
1434:     : public __hash_base<size_t, thread::id>
1434:     {
1434:       size_t
1434:       operator()(const thread::id& __id) const noexcept
1434:       { return std::_Hash_impl::hash(__id._M_thread); }
1434:     };
1434: 
1434:   namespace this_thread
1434:   {
1434: 
1434:     inline thread::id
1434:     get_id() noexcept
1434:     {
1434: 
1434: 
1434: 
1434:       return thread::id(pthread_self());
1434: 
1434: 
1434: 
1434:     }
1434: 
1434: 
1434:     inline void
1434:     yield() noexcept
1434:     {
1434: 
1434:       __gthread_yield();
1434: 
1434:     }
1434: 
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 50 "/usr/include/c++/12/future" 2 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 66 "/usr/include/c++/12/future" 3
1434:   enum class future_errc
1434:   {
1434:     future_already_retrieved = 1,
1434:     promise_already_satisfied,
1434:     no_state,
1434:     broken_promise
1434:   };
1434: 
1434: 
1434:   template<>
1434:     struct is_error_code_enum<future_errc> : public true_type { };
1434: 
1434: 
1434:   const error_category&
1434:   future_category() noexcept;
1434: 
1434: 
1434:   inline error_code
1434:   make_error_code(future_errc __errc) noexcept
1434:   { return error_code(static_cast<int>(__errc), future_category()); }
1434: 
1434: 
1434:   inline error_condition
1434:   make_error_condition(future_errc __errc) noexcept
1434:   { return error_condition(static_cast<int>(__errc), future_category()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class future_error : public logic_error
1434:   {
1434:   public:
1434:     explicit
1434:     future_error(future_errc __errc)
1434:     : future_error(std::make_error_code(__errc))
1434:     { }
1434: 
1434:     virtual ~future_error() noexcept;
1434: 
1434:     virtual const char*
1434:     what() const noexcept;
1434: 
1434:     const error_code&
1434:     code() const noexcept { return _M_code; }
1434: 
1434:   private:
1434:     explicit
1434:     future_error(error_code __ec)
1434:     : logic_error("std::future_error: " + __ec.message()), _M_code(__ec)
1434:     { }
1434: 
1434:     friend void __throw_future_error(int);
1434: 
1434:     error_code _M_code;
1434:   };
1434: 
1434: 
1434:   template<typename _Res>
1434:     class future;
1434: 
1434:   template<typename _Res>
1434:     class shared_future;
1434: 
1434:   template<typename _Signature>
1434:     class packaged_task;
1434: 
1434:   template<typename _Res>
1434:     class promise;
1434: 
1434: 
1434:   enum class launch
1434:   {
1434:     async = 1,
1434:     deferred = 2
1434:   };
1434: 
1434:   constexpr launch operator&(launch __x, launch __y) noexcept
1434:   {
1434:     return static_cast<launch>(
1434:  static_cast<int>(__x) & static_cast<int>(__y));
1434:   }
1434: 
1434:   constexpr launch operator|(launch __x, launch __y) noexcept
1434:   {
1434:     return static_cast<launch>(
1434:  static_cast<int>(__x) | static_cast<int>(__y));
1434:   }
1434: 
1434:   constexpr launch operator^(launch __x, launch __y) noexcept
1434:   {
1434:     return static_cast<launch>(
1434:  static_cast<int>(__x) ^ static_cast<int>(__y));
1434:   }
1434: 
1434:   constexpr launch operator~(launch __x) noexcept
1434:   { return static_cast<launch>(~statename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _InputIterator, typename _NodeGetter>
1115:       void
1115:       _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:      _Hash, _RangeHash, _Unused,
1115:      _RehashPolicy, _Traits>::
1115:       _M_insert_range(_InputIterator __first, _InputIterator __last,
1115:         const _NodeGetter& __node_gen, false_type __uks)
1115:       {
1115:  using __rehash_type = typename __hashtable::__rehash_type;
1115:  using __rehash_state = typename __hashtable::__rehash_state;
1115:  using pair_type = std::pair<bool, std::size_t>;
1115: 
1115:  size_type __n_elt = __detail::__distance_fw(__first, __last);
1115:  if (__n_elt == 0)
1115:    return;
1115: 
1115:  __hashtable& __h = _M_conjure_hashtable();
1115:  __rehash_type& __rehash = __h._M_rehash_policy;
1115:  const __rehash_state& __saved_state = __rehash._M_state();
1115:  pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count,
1115:        __h._M_element_count,
1115:        __n_elt);
1115: 
1115:  if (__do_rehash.first)
1115:    __h._M_rehash(__do_rehash.second, __saved_state);
1115: 
1115:  for (; __first != __last; ++__first)
1115:    __h._M_insert(*__first, __node_gen, __uks);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits,
1115:     bool _Constant_iterators = _Traits::__constant_iterators::value>
1115:     struct _Insert;
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:      _Hash, _RangeHash, _Unused,
1115:      _RehashPolicy, _Traits, true>
1115:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1115:     {
1115:       using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1115:            _Equal, _Hash, _RangeHash, _Unused,
1115:            _RehashPolicy, _Traits>;
1115: 
1115:       using value_type = typename __base_type::value_type;
1115:       using iterator = typename __base_type::iterator;
1115:       using const_iterator = typename __base_type::const_iterator;
1115:       using __ireturn_type = typename __base_type::__ireturn_type;
1115: 
1115:       using __unique_keys = typename __base_type::__unique_keys;
1115:       using __hashtable = typename __base_type::__hashtable;
1115:       using __node_gen_type = typename __base_type::__node_gen_type;
1115: 
1115:       using __base_type::insert;
1115: 
1115:       __ireturn_type
1115:       insert(value_type&& __v)
1115:       {
1115:  __hashtable& __h = this->_M_conjure_hashtable();
1115:  __node_gen_type __node_gen(__h);
1115:  return __h._M_insert(std::move(__v), __node_gen, __unique_keys{});
1115:       }
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, value_type&& __v)
1115:       {
1115:  __hashtable& __h = this->_M_conjure_hashtable();
1115:  __node_gen_type __node_gen(__h);
1115:  return __h._M_insert(__hint, std::move(__v), __node_gen,
1115:         __unique_keys{});
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1115:     : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:      _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>
1115:     {
1115:     ic_cast<int>(__x)); }
1434: 
1434:   inline launch& operator&=(launch& __x, launch __y) noexcept
1434:   { return __x = __x & __y; }
1434: 
1434:   inline launch& operator|=(launch& __x, launch __y) noexcept
1434:   { return __x = __x | __y; }
1434: 
1434:   inline launch& operator^=(launch& __x, launch __y) noexcept
1434:   { return __x = __x ^ __y; }
1434: 
1434: 
1434:   enum class future_status
1434:   {
1434:     ready,
1434:     timeout,
1434:     deferred
1434:   };
1434: 
1434: 
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     using __async_result_of = typename __invoke_result<
1434:       typename decay<_Fn>::type, typename decay<_Args>::type...>::type;
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     future<__async_result_of<_Fn, _Args...>>
1434:     async(launch __policy, _Fn&& __fn, _Args&&... __args);
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     future<__async_result_of<_Fn, _Args...>>
1434:     async(_Fn&& __fn, _Args&&... __args);
1434: 
1434: 
1434: 
1434: 
1434:   struct __future_base
1434:   {
1434: 
1434:     struct _Result_base
1434:     {
1434:       exception_ptr _M_error;
1434: 
1434:       _Result_base(const _Result_base&) = delete;
1434:       _Result_base& operator=(const _Result_base&) = delete;
1434: 
1434: 
1434:       virtual void _M_destroy() = 0;
1434: 
1434:       struct _Deleter
1434:       {
1434:  void operator()(_Result_base* __fr) const { __fr->_M_destroy(); }
1434:       };
1434: 
1434:     protected:
1434:       _Result_base();
1434:       virtual ~_Result_base();
1434:     };
1434: 
1434: 
1434:     template<typename _Res>
1434:       using _Ptr = unique_ptr<_Res, _Result_base::_Deleter>;
1434: 
1434: 
1434:     template<typename _Res>
1434:       struct _Result : _Result_base
1434:       {
1434:       private:
1434:  __gnu_cxx::__aligned_buffer<_Res> _M_storage;
1434:  bool _M_initialized;
1434: 
1434:       public:
1434:  typedef _Res result_type;
1434: 
1434:  _Result() noexcept : _M_initialized() { }
1434: 
1434:  ~_Result()
1434:  {
1434:    if (_M_initialized)
1434:      _M_value().~_Res();
1434:  }
1434: 
1434: 
1434:  _Res&
1434:  _M_value() noexcept { return *_M_storage._M_ptr(); }
1434: 
1434:  void
1434:  _M_set(const _Res& __res)
1434:  {
1434:    ::new (_M_storage._M_addr()) _Res(__res);
1434:    _M_initialized = true;
1434:  }
1434: 
1434:  void
1434:  _M_set(_Res&& __res)
1434:  {
1434:    ::new (_M_storage._M_addr()) _Res(std::move(__res));
1434:    _M_initialized = true;
1434:  }
1434: 
1434:       private:
1434:  void _M_destroy() { delete this; }
1434:     };
1434: 
1434: 
1434:     template<typename _Res, typename _Alloc>
1434:       struct _Result_alloc final : _Result<_Res>, _Alloc
1434:       {
1434:  using __allocator_type = __alloc_rebind<_Alloc, _Result_alloc>;
1434: 
1434:         explicit
1434:  _Result_alloc(const _Alloc& __a) : _Result<_Res>(), _Alloc(__a)
1434:  { }
1434: 
1434:       private:
1434:  void _M_destroy()
1434:  {
1434:    __allocator_type __a(*this);
1434:    __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1434:    this->~_Result_alloc();
1434:  }
1434:       };
1434: 
1434: 
1434:     template<typename _Res, typename _Allocator>
1434:       static _Ptr<_Result_alloc<_Res, _Allocator>>
1434:       _S_allocate_result(const _Allocator& __a)
1434:       {
1434:  using __result_type = _Result_alloc<_Res, _Allocator>;
1434:  typename __result_type::__allocator_type __a2(__a);
1434:  auto __guard = std::__allocate_guarded(__a2);
1434:  __result_type* __p = ::new((void*)__guard.get()) __result_type{__a};
1434:  __guard = nullptr;
1434:  return _Ptr<__result_type>(__p);
1434:       }
1434: 
1434: 
1434:     template<typename _Res, typename _Tp>
1434:       static _Ptr<_Result<_Res>>
1434:       _S_allocate_result(const std::allocator<_Tp>& __a)
1434:       {
1434:  return _Ptr<_Result<_Res>>(new _Result<_Res>);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:     class _State_baseV2
1434:     {
1434:       typedef _Ptr<_Result_base> _Ptr_type;
1434: 
1434:       enum _Status :s = specs_;
1417:     detail::handle_dynamic_spec<detail::width_checker>(specs.width,
1417:                                                        specs.width_ref, ctx);
1417:     detail::handle_dynamic_spec<detail::precision_checker>(
1417:         specs.precision, specs.precision_ref, ctx);
1417:     return detail::write<Char>(ctx.out(), val, specs, ctx.locale());
1417:   }
1417:   return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1417: }
1417: 
1417: template <typename Char>
1417: struct formatter<void*, Char> : formatter<const void*, Char> {
1417:   template <typename FormatContext>
1417:   auto format(void* val, FormatContext& ctx) const -> decltype(ctx.out()) {
1417:     return formatter<const void*, Char>::format(val, ctx);
1417:   }
1417: };
1417: 
1417: template <typename Char, size_t N>
1417: struct formatter<Char[N], Char> : formatter<basic_string_view<Char>, Char> {
1417:   template <typename FormatContext>
1417:   constexpr auto format(const Char* val, FormatContext& ctx) const
1417:       -> decltype(ctx.out()) {
1417:     return formatter<basic_string_view<Char>, Char>::format(val, ctx);
1417:   }
1417: };
1417: # 3759 "/usr/include/fmt/format.h" 3 4
1417: template <typename Char = char> class dynamic_formatter {
1417:  private:
1417:   detail::dynamic_format_specs<Char> specs_;
1417:   const Char* format_str_;
1417: 
1417:   struct null_handler : detail::error_handler {
1417:     void on_align(align_t) {}
1417:     void on_sign(sign_t) {}
1417:     void on_hash() {}
1417:   };
1417: 
1417:   template <typename Context> void handle_specs(Context& ctx) {
1417:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1417:                                                        specs_.width_ref, ctx);
1417:     detail::handle_dynamic_spec<detail::precision_checker>(
1417:         specs_.precision, specs_.precision_ref, ctx);
1417:   }
1417: 
1417:  public:
1417:   template <typename ParseContext>
1417:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1417:     format_str_ = ctx.begin();
1417: 
1417:     detail::dynamic_specs_handler<ParseContext> handler(specs_, ctx);
1417:     return detail::parse_format_specs(ctx.begin(), ctx.end(), handler);
1417:   }
1417: 
1417:   template <typename T, typename FormatContext>
1417:   auto format(const T& val, FormatContext& ctx) -> decltype(ctx.out()) {
1417:     handle_specs(ctx);
1417:     detail::specs_checker<null_handler> checker(
1417:         null_handler(), detail::mapped_type_constant<T, FormatContext>::value);
1417:     checker.on_align(specs_.align);
1417:     if (specs_.sign != sign::none) checker.on_sign(specs_.sign);
1417:     if (specs_.alt) checker.on_hash();
1417:     if (specs_.precision >= 0) checker.end_precision();
1417:     return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1417:   }
1417: };
1417: # 3808 "/usr/include/fmt/format.h" 3 4
1417: template <typename T> auto ptr(T p) -> const void* {
1417:   static_assert(std::is_pointer<T>::value, "");
1417:   return detail::bit_cast<const void*>(p);
1417: }
1417: template <typename T> auto ptr(const std::unique_ptr<T>& p) -> const void* {
1417:   return p.get();
1417: }
1417: template <typename T> auto ptr(const std::shared_ptr<T>& p) -> const void* {
1417:   return p.get();
1417: }
1417: # 3829 "/usr/include/fmt/format.h" 3 4
1417: template <typename Enum>
1417: constexpr auto underlying(Enum e) noexcept -> underlying_t<Enum> {
1417:   return static_cast<underlying_t<Enum>>(e);
1417: }
1417: 
1417: namespace enums {
1417: template <typename Enum, enable_if_t<(std::is_enum<Enum>::value), int> = 0>
1417: constexpr auto format_as(Enum e) noexcept -> underlying_t<Enum> {
1417:   return static_cast<underlying_t<Enum>>(e);
1417: }
1417: }
1417: 
1417: class bytes {
1417:  private:
1417:   string_view data_;
1417:   friend struct formatter<bytes>;
1417: 
1417:  public:
1417:   explicit bytes(string_view data) : data_(data) {}
1417: };
1417: 
1417: template <> struct formatter<bytes> {
1417:  private:
1417:   detail::dynamic_format_specs<char> spec unsigned {
1434:  __not_ready,
1434:  __ready
1434:       };
1434: 
1434:       _Ptr_type _M_result;
1434:       __atomic_futex_unsigned<> _M_status;
1434:       atomic_flag _M_retrieved = { 0 };
1434:       once_flag _M_once;
1434: 
1434:     public:
1434:       _State_baseV2() noexcept : _M_result(), _M_status(_Status::__not_ready)
1434:  { }
1434:       _State_baseV2(const _State_baseV2&) = delete;
1434:       _State_baseV2& operator=(const _State_baseV2&) = delete;
1434:       virtual ~_State_baseV2() = default;
1434: 
1434:       _Result_base&
1434:       wait()
1434:       {
1434: 
1434:  _M_complete_async();
1434: 
1434: 
1434:  _M_status._M_load_when_equal(_Status::__ready, memory_order_acquire);
1434:  return *_M_result;
1434:       }
1434: 
1434:       template<typename _Rep, typename _Period>
1434:         future_status
1434:         wait_for(const chrono::duration<_Rep, _Period>& __rel)
1434:         {
1434: 
1434: 
1434:    if (_M_status._M_load(memory_order_acquire) == _Status::__ready)
1434:      return future_status::ready;
1434: 
1434:    if (_M_is_deferred_future())
1434:      return future_status::deferred;
1434: 
1434: 
1434:    if (__rel > __rel.zero()
1434:        && _M_status._M_load_when_equal_for(_Status::__ready,
1434:         memory_order_acquire,
1434:         __rel))
1434:      {
1434: # 368 "/usr/include/c++/12/future" 3
1434:        _M_complete_async();
1434: 
1434:        return future_status::ready;
1434:      }
1434:    return future_status::timeout;
1434:  }
1434: 
1434:       template<typename _Clock, typename _Duration>
1434:         future_status
1434:         wait_until(const chrono::time_point<_Clock, _Duration>& __abs)
1434:         {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:    if (_M_status._M_load(memory_order_acquire) == _Status::__ready)
1434:      return future_status::ready;
1434: 
1434:    if (_M_is_deferred_future())
1434:      return future_status::deferred;
1434: 
1434:    if (_M_status._M_load_when_equal_until(_Status::__ready,
1434:        memory_order_acquire,
1434:        __abs))
1434:      {
1434: 
1434: 
1434: 
1434:        _M_complete_async();
1434: 
1434:        return future_status::ready;
1434:      }
1434:    return future_status::timeout;
1434:  }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_set_result(function<_Ptr_type()> __res, bool __ignore_failure = false)
1434:       {
1434:  bool __did_set = false;
1434: 
1434: 
1434:  call_once(_M_once, &_State_baseV2::_M_do_set, this,
1434:     std::__addressof(__res), std::__addressof(__did_set));
1434:  if (__did_set)
1434: 
1434:    _M_status._M_store_notify_all(_Status::__ready,
1434:      memory_order_release);
1434:  else if (!__ignore_failure)
1434:           __throw_future_error(int(future_errc::promise_already_satisfied));
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_set_delayed_result(function<_Ptr_type()> __res,
1434:        weak_ptr<_State_baseV2> __self)
1434:       {
1434:  bool __did_set = false;
1434:  unique_ptr<_Make_ready> __mr{new _Make_ready};
1434: 
1434: 
1434:  call_once(_M_once, &_State_baseV2::_M_do_set, this,
1434:     std::__addressof(__res), std::__addressof(__did_set));
1434:  if (!__did_set)
1434:           __throw_future_error(int(future_errc::promise_already_satisfied));
1434:  __mr->_M_shared_state = std::move(__self);
1434:  __mr->_M_set();
1434:  __mr.release();
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_break_promise(_Ptr_type __res)
1434:       {
1434:  if (static_cast<bool>(__res))
1434:    {
1434:      __res->_M_error =
1434:        make_exception_ptr(future_error(future_errc::broken_promise));
1434: 
1434: 
1434: 
1434: 
1434:      _M_result.swap(__res);
1434: 
1434:      _M_status._M_store_notify_all(_Status::__ready,
1434:        memory_order_release);
1434:    }
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_set_retrieved_flag()
1434:       {
1434:  if (_M_retrieved.test_and_set())
1434:    __throw_future_error(int(future_errc::future_already_retrieved));
1434:       }
1434: 
1434:       template<typename _  using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey,
1115:            _Equal, _Hash, _RangeHash, _Unused,
1115:            _RehashPolicy, _Traits>;
1115:       using value_type = typename __base_type::value_type;
1115:       using iterator = typename __base_type::iterator;
1115:       using const_iterator = typename __base_type::const_iterator;
1115: 
1115:       using __unique_keys = typename __base_type::__unique_keys;
1115:       using __hashtable = typename __base_type::__hashtable;
1115:       using __ireturn_type = typename __base_type::__ireturn_type;
1115: 
1115:       using __base_type::insert;
1115: 
1115:       template<typename _Pair>
1115:  using __is_cons = std::is_constructible<value_type, _Pair&&>;
1115: 
1115:       template<typename _Pair>
1115:  using _IFcons = std::enable_if<__is_cons<_Pair>::value>;
1115: 
1115:       template<typename _Pair>
1115:  using _IFconsp = typename _IFcons<_Pair>::type;
1115: 
1115:       template<typename _Pair, typename = _IFconsp<_Pair>>
1115:  __ireturn_type
1115:  insert(_Pair&& __v)
1115:  {
1115:    __hashtable& __h = this->_M_conjure_hashtable();
1115:    return __h._M_emplace(__unique_keys{}, std::forward<_Pair>(__v));
1115:  }
1115: 
1115:       template<typename _Pair, typename = _IFconsp<_Pair>>
1115:  iterator
1115:  insert(const_iterator __hint, _Pair&& __v)
1115:  {
1115:    __hashtable& __h = this->_M_conjure_hashtable();
1115:    return __h._M_emplace(__hint, __unique_keys{},
1115:     std::forward<_Pair>(__v));
1115:  }
1115:    };
1115: 
1115:   template<typename _Policy>
1115:     using __has_load_factor = typename _Policy::__has_load_factor;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits,
1115:     typename =
1115:       __detected_or_t<false_type, __has_load_factor, _RehashPolicy>>
1115:     struct _Rehash_base;
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1115:    false_type >
1115:     {
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits,
1115:    true_type >
1115:     {
1115:     private:
1115:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey,
1115:          _Equal, _Hash, _RangeHash, _Unused,
1115:          _RehashPolicy, _Traits>;
1115: 
1115:     public:
1115:       float
1115:       max_load_factor() const noexcept
1115:       {
1115:  const __hashtable* __this = static_cast<const __hashtable*>(this);
1115:  return __this->__rehash_policy().max_load_factor();
1115:       }
1115: 
1115:       void
1115:       max_load_factor(float __z)
1115:       {
1115:  __hashtable* __this = static_cast<__hashtable*>(this);
1115:  __this->__rehash_policy(_RehashPolicy(__z));
1115:       }
1115: 
1115:       void
1115:       reserve(std::size_t __n)
1115:       {
1115:  __hashtable* __this = static_cast<__hashtable*>(this);
1115:  __this->rehash(__this->__rehash_policy()._M_bkt_for_elements(__n));
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<int _Nm, typename _Tp,
1115:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
1115:     struct _Hashtable_ebo_helper;
1115: 
1115: 
1115:   template<int _Nm, typename _Tp>
1115:     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
1115:     :s_;
1417: 
1417:  public:
1417:   template <typename ParseContext>
1417:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1417:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1417:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1417:                                                 detail::type::string_type);
1417:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1417:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1417:     return it;
1417:   }
1417: 
1417:   template <typename FormatContext>
1417:   auto format(bytes b, FormatContext& ctx) -> decltype(ctx.out()) {
1417:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1417:                                                        specs_.width_ref, ctx);
1417:     detail::handle_dynamic_spec<detail::precision_checker>(
1417:         specs_.precision, specs_.precision_ref, ctx);
1417:     return detail::write_bytes(ctx.out(), b.data_, specs_);
1417:   }
1417: };
1417: 
1417: 
1417: template <typename T> struct group_digits_view { T value; };
1417: # 3889 "/usr/include/fmt/format.h" 3 4
1417: template <typename T> auto group_digits(T value) -> group_digits_view<T> {
1417:   return {value};
1417: }
1417: 
1417: template <typename T> struct formatter<group_digits_view<T>> : formatter<T> {
1417:  private:
1417:   detail::dynamic_format_specs<char> specs_;
1417: 
1417:  public:
1417:   template <typename ParseContext>
1417:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1417:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1417:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1417:                                                 detail::type::int_type);
1417:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1417:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1417:     return it;
1417:   }
1417: 
1417:   template <typename FormatContext>
1417:   auto format(group_digits_view<T> t, FormatContext& ctx)
1417:       -> decltype(ctx.out()) {
1417:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1417:                                                        specs_.width_ref, ctx);
1417:     detail::handle_dynamic_spec<detail::precision_checker>(
1417:         specs_.precision, specs_.precision_ref, ctx);
1417:     return detail::write_int_localized(
1417:         ctx.out(), static_cast<detail::uint64_or_128_t<T>>(t.value), 0, specs_,
1417:         detail::digit_grouping<char>({"\3", ','}));
1417:   }
1417: };
1417: 
1417: template <typename It, typename Sentinel, typename Char = char>
1417: struct join_view : detail::view {
1417:   It begin;
1417:   Sentinel end;
1417:   basic_string_view<Char> sep;
1417: 
1417:   join_view(It b, Sentinel e, basic_string_view<Char> s)
1417:       : begin(b), end(e), sep(s) {}
1417: };
1417: 
1417: template <typename It, typename Sentinel, typename Char>
1417: struct formatter<join_view<It, Sentinel, Char>, Char> {
1417:  private:
1417:   using value_type =
1417: 
1417: 
1417: 
1417:       typename std::iterator_traits<It>::value_type;
1417: 
1417:   using context = buffer_context<Char>;
1417:   using mapper = detail::arg_mapper<context>;
1417: 
1417:   template <typename T, enable_if_t<(has_formatter<T, context>::value), int> = 0>
1417:   static auto map(const T& value) -> const T& {
1417:     return value;
1417:   }
1417:   template <typename T, enable_if_t<(!has_formatter<T, context>::value), int> = 0>
1417:   static auto map(const T& value) -> decltype(mapper().map(value)) {
1417:     return mapper().map(value);
1417:   }
1417: 
1417:   using formatter_type =
1417:       conditional_t<is_formattable<value_type, Char>::value,
1417:                     formatter<remove_cvref_t<decltype(map(
1417:                                   std::declval<const value_type&>()))>,
1417:                               Char>,
1417:                     detail::fallback_formatter<value_type, Char>>;
1417: 
1417:   formatter_type value_formatter_;
1417: 
1417:  public:
1417:   template <typename ParseContext>
1417:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1417:     return value_formatter_.parse(ctx);
1417:   }
1417: 
1417:   template <typename FormatContext>
1417:   auto format(const join_view<It, Sentinel, Char>& value,
1417:               FormatContext& ctx) const -> decltype(ctx.out()) {
1417:     auto it = value.begin;
1417:     auto out = ctx.out();
1417:     if (it != value.end) {
1417:       out = value_formatter_.format(map(*it), ctx);
1417:       ++it;
1417:       while (it != value.end) {
1417:         out = detail::copy_str<Char>(value.sep.begin(), value.sep.end(), out);
1417:         ctx.advance_to(out);
1417:         out = value_formatter_.format(map(*it), ctx);
1417:         ++it;
1417:       }
1417:     }
1417:     return out;
1417:   }
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename It, typename Sentinel>
1417: auto join(It begin, Sentinel end, string_view sep) -> join_view<It, Sentinel> {
1417:   return {begin, end, sep};
1417: }
1417: # 4011 "/usr/include/fmt/format.h" 3 4
1417: template <typename Range>
1417: auto join(Range&& range, string_view sep)
1417:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>> {
1417:   return join(std::begin(range), std::end(range), sep);
1417: }
1417: # 4028 "/usr/include/fmt/format.h" 3 4
1417: template <typename T, enable_if_t<(!std::is_integral<T>::value), int> = 0>
1417: inline auto to_string(const T& value) -> std::string {
1417:   auto result = std::string();
1417:   detail::write<char>(std::back_inserter(result), value);
1417:   return result;
1417: }
1417: 
1417: template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1417: [[nodiscard]] inline auto to_string(T value) -> std::string {
1417: 
1417: 
1417:   constexpr int max_size = detail::digits10<T>() + 2;
1417:   char buffer[max_size > 5 ? static_cast<unsigned>(max_size) : 5];
1417:   char* begin = buffer;
1417:   return std::string(begin, detail::write<char>(begin, value));
1417: }
1417: 
1417: template <typename Char, size_t SIZE>
1417: [[nodiscard]] auto to_string(const basic_memory_buffer<Char, SIZE>& buf)
1417:     -> std::basic_string<Char> {
1417:   auto size = buf.size();
1417:   detail::assume(size < std::basic_string<Char>().max_size());
1417:   return std::basic_string<Char>(buf.data(), size);
1417: }
1417: 
1417: namespace detail {
1417: 
1417: template <typename Char>
1417: void vformat_to(
1417:     buffer<Char>& buf, basic_string_view<Char> fmt,
1417:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1417:     locale_ref loc) {
1417: 
1417: 
1417:   using detail::arg_formatter;
1417:   using detail::buffer_appender;
1417:   using detail::custom_formatter;
1417:   using detail::default_arg_formatter;
1417:   using detail::get_arg;
1417:   using detail::locale_ref;
1417:   using detail::parse_format_specs;
1417:   using detail::specs_checker;
1417:   using detail::specs_handler;
1417:   using detail::to_unsigned;
1417:   using detail::type;
1417:   using detail::write;
1417:   auto out = buffer_appender<Char>(buf);
1417:   if (fmt.size() == 2 && equal2(fmt.data(), "{}")) {
1417:     auto arg = args.get(0);
1417:     if (!arg) error_handler().on_error("argument not found");
1417:     visit_format_arg(default_arg_formatter<Char>{out, args, loc}, arg);
1417:     return;
1417:   }
1417: 
1417:   struct format_handler : error_handler {
1417:     basic_format_parse_context<Char> parse_context;
1417:     buffer_context<Char> context;
1417: 
1417:     format_handler(buffer_appender<Char> p_out, basic_string_view<Char> str,
1417:                    basic_format_args<buffer_context<Char>> p_args,
1417:                    locale_ref p_loc)
1417:         : parse_context(str), context(p_out, p_args, p_loc) {}
1417: 
1417:     void on_text(const Char* begin, const Char* end) {
1417:       auto text = basic_string_view<Char>(begin, to_unsigned(end - begin));
141Res, typename _Arg>
1434:         struct _Setter;
1434: 
1434: 
1434:       template<typename _Res, typename _Arg>
1434:         struct _Setter<_Res, _Arg&>
1434:         {
1434: 
1434: 
1434:           static_assert(is_same<_Res, _Arg&>::value
1434:               || is_same<const _Res, _Arg>::value,
1434:               "Invalid specialisation");
1434: 
1434: 
1434:           typename promise<_Res>::_Ptr_type operator()() const
1434:           {
1434:             _M_promise->_M_storage->_M_set(*_M_arg);
1434:             return std::move(_M_promise->_M_storage);
1434:           }
1434:           promise<_Res>* _M_promise;
1434:           _Arg* _M_arg;
1434:         };
1434: 
1434: 
1434:       template<typename _Res>
1434:         struct _Setter<_Res, _Res&&>
1434:         {
1434: 
1434:           typename promise<_Res>::_Ptr_type operator()() const
1434:           {
1434:             _M_promise->_M_storage->_M_set(std::move(*_M_arg));
1434:             return std::move(_M_promise->_M_storage);
1434:           }
1434:           promise<_Res>* _M_promise;
1434:           _Res* _M_arg;
1434:         };
1434: 
1434: 
1434:       template<typename _Res>
1434:  struct _Setter<_Res, void>
1434:  {
1434:    static_assert(is_void<_Res>::value, "Only used for promise<void>");
1434: 
1434:    typename promise<_Res>::_Ptr_type operator()() const
1434:    { return std::move(_M_promise->_M_storage); }
1434: 
1434:    promise<_Res>* _M_promise;
1434:  };
1434: 
1434:       struct __exception_ptr_tag { };
1434: 
1434: 
1434:       template<typename _Res>
1434:         struct _Setter<_Res, __exception_ptr_tag>
1434:         {
1434: 
1434:           typename promise<_Res>::_Ptr_type operator()() const
1434:           {
1434:             _M_promise->_M_storage->_M_error = *_M_ex;
1434:             return std::move(_M_promise->_M_storage);
1434:           }
1434: 
1434:           promise<_Res>* _M_promise;
1434:           exception_ptr* _M_ex;
1434:         };
1434: 
1434:       template<typename _Res, typename _Arg>
1434:  __attribute__((__always_inline__))
1434:         static _Setter<_Res, _Arg&&>
1434:         __setter(promise<_Res>* __prom, _Arg&& __arg) noexcept
1434:         {
1434:           return _Setter<_Res, _Arg&&>{ __prom, std::__addressof(__arg) };
1434:         }
1434: 
1434:       template<typename _Res>
1434:  __attribute__((__always_inline__))
1434:         static _Setter<_Res, __exception_ptr_tag>
1434:         __setter(exception_ptr& __ex, promise<_Res>* __prom) noexcept
1434:         {
1434:           return _Setter<_Res, __exception_ptr_tag>{ __prom, &__ex };
1434:         }
1434: 
1434:       template<typename _Res>
1434:  __attribute__((__always_inline__))
1434:  static _Setter<_Res, void>
1434:  __setter(promise<_Res>* __prom) noexcept
1434:  {
1434:    return _Setter<_Res, void>{ __prom };
1434:  }
1434: 
1434:       template<typename _Tp>
1434:         static void
1434:         _S_check(const shared_ptr<_Tp>& __p)
1434:         {
1434:           if (!static_cast<bool>(__p))
1434:             __throw_future_error((int)future_errc::no_state);
1434:         }
1434: 
1434:     private:
1434: 
1434:       void
1434:       _M_do_set(function<_Ptr_type()>* __f, bool* __did_set)
1434:       {
1434:         _Ptr_type __res = (*__f)();
1434: 
1434: 
1434: 
1434:  *__did_set = true;
1434:         _M_result.swap(__res);
1434:       }
1434: 
1434: 
1434:       virtual void _M_complete_async() { }
1434: 
1434: 
1434:       virtual bool _M_is_deferred_future() const { return false; }
1434: 
1434:       struct _Make_ready final : __at_thread_exit_elt
1434:       {
1434:  weak_ptr<_State_baseV2> _M_shared_state;
1434:  static void _S_run(void*);
1434:  void _M_set();
1434:       };
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     using _State_base = _State_baseV2;
1434:     class _Async_state_commonV2;
1434: 
1434: 
1434:     template<typename _BoundFn,
1434:       typename _Res = decltype(std::declval<_BoundFn&>()())>
1434:       class _Deferred_state;
1434: 
1434:     template<typename _BoundFn,
1434:       typename _ private _Tp
1115:     {
1115:       _Hashtable_ebo_helper() noexcept(noexcept(_Tp())) : _Tp() { }
1115: 
1115:       template<typename _OtherTp>
1115:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1115:  : _Tp(std::forward<_OtherTp>(__tp))
1115:  { }
1115: 
1115:       const _Tp& _M_cget() const { return static_cast<const _Tp&>(*this); }
1115:       _Tp& _M_get() { return static_cast<_Tp&>(*this); }
1115:     };
1115: 
1115: 
1115:   template<int _Nm, typename _Tp>
1115:     struct _Hashtable_ebo_helper<_Nm, _Tp, false>
1115:     {
1115:       _Hashtable_ebo_helper() = default;
1115: 
1115:       template<typename _OtherTp>
1115:  _Hashtable_ebo_helper(_OtherTp&& __tp)
1115:  : _M_tp(std::forward<_OtherTp>(__tp))
1115:  { }
1115: 
1115:       const _Tp& _M_cget() const { return _M_tp; }
1115:       _Tp& _M_get() { return _M_tp; }
1115: 
1115:     private:
1115:       _Tp _M_tp{};
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     bool __cache_hash_code>
1115:     struct _Local_iterator_base;
1115: # 1236 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     bool __cache_hash_code>
1115:     struct _Hash_code_base
1115:     : private _Hashtable_ebo_helper<1, _Hash>
1115:     {
1115:     private:
1115:       using __ebo_hash = _Hashtable_ebo_helper<1, _Hash>;
1115: 
1115: 
1115:       friend struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1115:       _Hash, _RangeHash, _Unused, false>;
1115: 
1115:     public:
1115:       typedef _Hash hasher;
1115: 
1115:       hasher
1115:       hash_function() const
1115:       { return _M_hash(); }
1115: 
1115:     protected:
1115:       typedef std::size_t __hash_code;
1115: 
1115: 
1115: 
1115:       _Hash_code_base() = default;
1115: 
1115:       _Hash_code_base(const _Hash& __hash) : __ebo_hash(__hash) { }
1115: 
1115:       __hash_code
1115:       _M_hash_code(const _Key& __k) const
1115:       {
1115:  static_assert(__is_invocable<const _Hash&, const _Key&>{},
1115:      "hash function must be invocable with an argument of key type");
1115:  return _M_hash()(__k);
1115:       }
1115: 
1115:       template<typename _Kt>
1115:  __hash_code
1115:  _M_hash_code_tr(const _Kt& __k) const
1115:  {
1115:    static_assert(__is_invocable<const _Hash&, const _Kt&>{},
1115:      "hash function must be invocable with an argument of key type");
1115:    return _M_hash()(__k);
1115:  }
1115: 
1115:       __hash_code
1115:       _M_hash_code(const _Hash&,
1115:      const _Hash_node_value<_Value, true>& __n) const
1115:       { return __n._M_hash_code; }
1115: 
1115: 
1115: 
1115:       template<typename _H2>
1115:  __hash_code
1115:  _M_hash_code(const _H2&,
1115:   const _Hash_node_value<_Value, __cache_hash_code>& __n) const
1115:  { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1115: 
1115:       __hash_code
1115:       _M_hash_code(const _Hash_node_value<_Value, false>& __n) const
1115:       { return _M_hash_code(_ExtractKey{}(__n._M_v())); }
1115: 
1115:       __hash_code
1115:       _M_hash_code(const _Hash_node_value<_Value, true>& __n) const
1115:       { return __n._M_hash_code; }
1115: 
1115:       std::size_t
1115:       _M_bucket_index(__hash_code __c, std::size_t __bkt_count) const
1115:       { return _RangeHash{}(__c, __bkt_count); }
1115: 
1115:       std::size_t
1115:       _M_bucket_index(const _Hash_node_value<_Value, false>& __n,
1115:         std::size_t __bkt_count) const
1115:  noexcept( noexcept(declval<const _Hash&>()(declval<const _Key&>()))
1115:     && noexcept(declval<const _RangeHash&>()((__hash_code)0,
1115:           (std::size_t)0)) )
1115:       {
1115:  return _RangeHash{}(_M_hash_code(_ExtractKey{}(__n._M_v())),
1115:        __bkt_count);
1115:       }
1115: 
1115:       std::size_t
1115:       _M_bucket_index(const _Hash_node_value<_Value, true>& __n,
1115:   Res = decltype(std::declval<_BoundFn&>()())>
1434:       class _Async_state_impl;
1434: 
1434:     template<typename _Signature>
1434:       class _Task_state_base;
1434: 
1434:     template<typename _Fn, typename _Alloc, typename _Signature>
1434:       class _Task_state;
1434: 
1434:     template<typename _Res_ptr, typename _Fn,
1434:       typename _Res = typename _Res_ptr::element_type::result_type>
1434:       struct _Task_setter;
1434: 
1434:     template<typename _Res_ptr, typename _BoundFn>
1434:       static _Task_setter<_Res_ptr, _BoundFn>
1434:       _S_task_setter(_Res_ptr& __ptr, _BoundFn& __call)
1434:       {
1434:  return { std::__addressof(__ptr), std::__addressof(__call) };
1434:       }
1434:   };
1434: 
1434: 
1434:   template<typename _Res>
1434:     struct __future_base::_Result<_Res&> : __future_base::_Result_base
1434:     {
1434:       typedef _Res& result_type;
1434: 
1434:       _Result() noexcept : _M_value_ptr() { }
1434: 
1434:       void
1434:       _M_set(_Res& __res) noexcept
1434:       { _M_value_ptr = std::addressof(__res); }
1434: 
1434:       _Res& _M_get() noexcept { return *_M_value_ptr; }
1434: 
1434:     private:
1434:       _Res* _M_value_ptr;
1434: 
1434:       void _M_destroy() { delete this; }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     struct __future_base::_Result<void> : __future_base::_Result_base
1434:     {
1434:       typedef void result_type;
1434: 
1434:     private:
1434:       void _M_destroy() { delete this; }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Res, typename _Arg>
1434:     struct __is_location_invariant
1434:     <__future_base::_State_base::_Setter<_Res, _Arg>>
1434:     : true_type { };
1434: 
1434: 
1434:   template<typename _Res_ptr, typename _Fn, typename _Res>
1434:     struct __is_location_invariant
1434:     <__future_base::_Task_setter<_Res_ptr, _Fn, _Res>>
1434:     : true_type { };
1434: 
1434: 
1434:   template<typename _Res>
1434:     class __basic_future : public __future_base
1434:     {
1434:     protected:
1434:       typedef shared_ptr<_State_base> __state_type;
1434:       typedef __future_base::_Result<_Res>& __result_type;
1434: 
1434:     private:
1434:       __state_type _M_state;
1434: 
1434:     public:
1434: 
1434:       __basic_future(const __basic_future&) = delete;
1434:       __basic_future& operator=(const __basic_future&) = delete;
1434: 
1434:       bool
1434:       valid() const noexcept { return static_cast<bool>(_M_state); }
1434: 
1434:       void
1434:       wait() const
1434:       {
1434:         _State_base::_S_check(_M_state);
1434:         _M_state->wait();
1434:       }
1434: 
1434:       template<typename _Rep, typename _Period>
1434:         future_status
1434:         wait_for(const chrono::duration<_Rep, _Period>& __rel) const
1434:         {
1434:           _State_base::_S_check(_M_state);
1434:           return _M_state->wait_for(__rel);
1434:         }
1434: 
1434:       template<typename _Clock, typename _Duration>
1434:         future_status
1434:         wait_until(const chrono::time_point<_Clock, _Duration>& __abs) const
1434:         {
1434:           _State_base::_S_check(_M_state);
1434:           return _M_state->wait_until(__abs);
1434:         }
1434: 
1434:     protected:
1434: 
1434:       __result_type
1434:       _M_get_result() const
1434:       {
1434:         _State_base::_S_check(_M_state);
1434:         _Result_base& __res = _M_state->wait();
1434:         if (!(__res._M_error == nullptr))
1434:           rethrow_exception(__res._M_error);
1434:         return static_cast<__result_type>(__res);
1434:       }
1434: 
1434:       void _M_swap(__basic_future& __that) noexcept
1434:       {
1434:         _M_state.swap(__that._M_state);
1434:       }
1434: 
1434: 
1434:       explicit
1434:       __basic_future(const __state_type& __state) : _M_state(__state)
1434:       {
1434:         _State_base::_S_check(_M_state);
1434:         _M_state->_M_set_retrieved_flag();
1434:       }
1434: 
1434: 
1434:       explicit
1434:       __basic_future(const shared_f7:       context.advance_to(write<Char>(context.out(), text));
1417:     }
1417: 
1417:     constexpr auto on_arg_id() -> int {
1417:       return parse_context.next_arg_id();
1417:     }
1417:     constexpr auto on_arg_id(int id) -> int {
1417:       return parse_context.check_arg_id(id), id;
1417:     }
1417:     constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1417:       int arg_id = context.arg_id(id);
1417:       if (arg_id < 0) on_error("argument not found");
1417:       return arg_id;
1417:     }
1417: 
1417:     inline __attribute__((always_inline)) void on_replacement_field(int id, const Char*) {
1417:       auto arg = get_arg(context, id);
1417:       context.advance_to(visit_format_arg(
1417:           default_arg_formatter<Char>{context.out(), context.args(),
1417:                                       context.locale()},
1417:           arg));
1417:     }
1417: 
1417:     auto on_format_specs(int id, const Char* begin, const Char* end)
1417:         -> const Char* {
1417:       auto arg = get_arg(context, id);
1417:       if (arg.type() == type::custom_type) {
1417:         parse_context.advance_to(parse_context.begin() +
1417:                                  (begin - &*parse_context.begin()));
1417:         visit_format_arg(custom_formatter<Char>{parse_context, context}, arg);
1417:         return parse_context.begin();
1417:       }
1417:       auto specs = basic_format_specs<Char>();
1417:       specs_checker<specs_handler<Char>> handler(
1417:           specs_handler<Char>(specs, parse_context, context), arg.type());
1417:       begin = parse_format_specs(begin, end, handler);
1417:       if (begin == end || *begin != '}')
1417:         on_error("missing '}' in format string");
1417:       auto f = arg_formatter<Char>{context.out(), specs, context.locale()};
1417:       context.advance_to(visit_format_arg(f, arg));
1417:       return begin;
1417:     }
1417:   };
1417:   detail::parse_format_string<false>(fmt, format_handler(out, fmt, args, loc));
1417: }
1417: 
1417: 
1417: extern template auto thousands_sep_impl<char>(locale_ref)
1417:     -> thousands_sep_result<char>;
1417: extern template auto thousands_sep_impl<wchar_t>(locale_ref)
1417:     -> thousands_sep_result<wchar_t>;
1417: extern template auto decimal_point_impl(locale_ref) -> char;
1417: extern template auto decimal_point_impl(locale_ref) -> wchar_t;
1417: 
1417: 
1417: }
1417: 
1417: 
1417: inline namespace literals {
1417: # 4168 "/usr/include/fmt/format.h" 3 4
1417: constexpr auto operator"" _a(const char* s, size_t) -> detail::udl_arg<char> {
1417:   return {s};
1417: }
1417: 
1417: }
1417: 
1417: 
1417: template <typename Locale, enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1417: inline auto vformat(const Locale& loc, string_view fmt, format_args args)
1417:     -> std::string {
1417:   return detail::vformat(loc, fmt, args);
1417: }
1417: 
1417: template <typename Locale, typename... T,
1417:           enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1417: inline auto format(const Locale& loc, format_string<T...> fmt, T&&... args)
1417:     -> std::string {
1417:   return vformat(loc, string_view(fmt), fmt::make_format_args(args...));
1417: }
1417: 
1417: template <typename OutputIt, typename Locale,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1417:                                                              >
1417: auto vformat_to(OutputIt out, const Locale& loc, string_view fmt,
1417:                 format_args args) -> OutputIt {
1417:   using detail::get_buffer;
1417:   auto&& buf = get_buffer<char>(out);
1417:   detail::vformat_to(buf, fmt, args, detail::locale_ref(loc));
1417:   return detail::get_iterator(buf);
1417: }
1417: 
1417: template <typename OutputIt, typename Locale, typename... T,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1417:                                                              >
1417: inline __attribute__((uture<_Res>&) noexcept;
1434: 
1434: 
1434:       explicit
1434:       __basic_future(shared_future<_Res>&&) noexcept;
1434: 
1434: 
1434:       explicit
1434:       __basic_future(future<_Res>&&) noexcept;
1434: 
1434:       constexpr __basic_future() noexcept : _M_state() { }
1434: 
1434:       struct _Reset
1434:       {
1434:         explicit _Reset(__basic_future& __fut) noexcept : _M_fut(__fut) { }
1434:         ~_Reset() { _M_fut._M_state.reset(); }
1434:         __basic_future& _M_fut;
1434:       };
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Res>
1434:     class future : public __basic_future<_Res>
1434:     {
1434: 
1434: 
1434:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1434:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1434:       static_assert(is_destructible<_Res>{},
1434:       "result type must be destructible");
1434: 
1434:       friend class promise<_Res>;
1434:       template<typename> friend class packaged_task;
1434:       template<typename _Fn, typename... _Args>
1434:         friend future<__async_result_of<_Fn, _Args...>>
1434:         async(launch, _Fn&&, _Args&&...);
1434: 
1434:       typedef __basic_future<_Res> _Base_type;
1434:       typedef typename _Base_type::__state_type __state_type;
1434: 
1434:       explicit
1434:       future(const __state_type& __state) : _Base_type(__state) { }
1434: 
1434:     public:
1434:       constexpr future() noexcept : _Base_type() { }
1434: 
1434: 
1434:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1434: 
1434: 
1434:       future(const future&) = delete;
1434:       future& operator=(const future&) = delete;
1434: 
1434:       future& operator=(future&& __fut) noexcept
1434:       {
1434:         future(std::move(__fut))._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434: 
1434:       _Res
1434:       get()
1434:       {
1434:         typename _Base_type::_Reset __reset(*this);
1434:         return std::move(this->_M_get_result()._M_value());
1434:       }
1434: 
1434:       shared_future<_Res> share() noexcept;
1434:     };
1434: 
1434: 
1434:   template<typename _Res>
1434:     class future<_Res&> : public __basic_future<_Res&>
1434:     {
1434:       friend class promise<_Res&>;
1434:       template<typename> friend class packaged_task;
1434:       template<typename _Fn, typename... _Args>
1434:         friend future<__async_result_of<_Fn, _Args...>>
1434:         async(launch, _Fn&&, _Args&&...);
1434: 
1434:       typedef __basic_future<_Res&> _Base_type;
1434:       typedef typename _Base_type::__state_type __state_type;
1434: 
1434:       explicit
1434:       future(const __state_type& __state) : _Base_type(__state) { }
1434: 
1434:     public:
1434:       constexpr future() noexcept : _Base_type() { }
1434: 
1434: 
1434:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1434: 
1434: 
1434:       future(const future&) = delete;
1434:       future& operator=(const future&) = delete;
1434: 
1434:       future& operator=(future&& __fut) noexcept
1434:       {
1434:         future(std::move(__fut))._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434: 
1434:       _Res&
1434:       get()
1434:       {
1434:         typename _Base_type::_Reset __reset(*this);
1434:         return this->_M_get_result()._M_get();
1434:       }
1434: 
1434:       shared_future<_Res&> share() noexcept;
1434:     };
1434: 
1434: 
1434:   template<>
1434:     class future<void> : public __basic_future<void>
1434:     {
1434:       friend class promise<void>;
1434:       template<typename> friend class packaged_task;
1434:       template<typename _Fn, typename... _Args>
1434:         friend future<__async_result_of<_Fn, _Args...>>
1434:         async(launch, _Fn&&, _Args&&...);
1434: 
1434:       typedef __basic_future<void> _Base_type;
1434:       typedef typename _Base_type::__state_type __state_type;
1434: 
1434:       explicit
1434:       future(const __state_type& __state) : _Base_type(__state) { }
1434      std::size_t __bkt_count) const
1115:  noexcept( noexcept(declval<const _RangeHash&>()((__hash_code)0,
1115:        (std::size_t)0)) )
1115:       { return _RangeHash{}(__n._M_hash_code, __bkt_count); }
1115: 
1115:       void
1115:       _M_store_code(_Hash_node_code_cache<false>&, __hash_code) const
1115:       { }
1115: 
1115:       void
1115:       _M_copy_code(_Hash_node_code_cache<false>&,
1115:      const _Hash_node_code_cache<false>&) const
1115:       { }
1115: 
1115:       void
1115:       _M_store_code(_Hash_node_code_cache<true>& __n, __hash_code __c) const
1115:       { __n._M_hash_code = __c; }
1115: 
1115:       void
1115:       _M_copy_code(_Hash_node_code_cache<true>& __to,
1115:      const _Hash_node_code_cache<true>& __from) const
1115:       { __to._M_hash_code = __from._M_hash_code; }
1115: 
1115:       void
1115:       _M_swap(_Hash_code_base& __x)
1115:       { std::swap(__ebo_hash::_M_get(), __x.__ebo_hash::_M_get()); }
1115: 
1115:       const _Hash&
1115:       _M_hash() const { return __ebo_hash::_M_cget(); }
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Hash, typename _RangeHash, typename _Unused>
1115:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1115:     _Hash, _RangeHash, _Unused, true>
1115:     : public _Node_iterator_base<_Value, true>
1115:     {
1115:     protected:
1115:       using __base_node_iter = _Node_iterator_base<_Value, true>;
1115:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1115:            _Hash, _RangeHash, _Unused, true>;
1115: 
1115:       _Local_iterator_base() = default;
1115:       _Local_iterator_base(const __hash_code_base&,
1115:       _Hash_node<_Value, true>* __p,
1115:       std::size_t __bkt, std::size_t __bkt_count)
1115:       : __base_node_iter(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1115:       { }
1115: 
1115:       void
1115:       _M_incr()
1115:       {
1115:  __base_node_iter::_M_incr();
1115:  if (this->_M_cur)
1115:    {
1115:      std::size_t __bkt
1115:        = _RangeHash{}(this->_M_cur->_M_hash_code, _M_bucket_count);
1115:      if (__bkt != _M_bucket)
1115:        this->_M_cur = nullptr;
1115:    }
1115:       }
1115: 
1115:       std::size_t _M_bucket;
1115:       std::size_t _M_bucket_count;
1115: 
1115:     public:
1115:       std::size_t
1115:       _M_get_bucket() const { return _M_bucket; }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, bool _IsEmpty = std::is_empty<_Tp>::value>
1115:     struct _Hash_code_storage
1115:     {
1115:       __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
1115: 
1115:       _Tp*
1115:       _M_h() { return _M_storage._M_ptr(); }
1115: 
1115:       const _Tp*
1115:       _M_h() const { return _M_storage._M_ptr(); }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _Hash_code_storage<_Tp, true>
1115:     {
1115:       static_assert( std::is_empty<_Tp>::value, "Type must be empty" );
1115: 
1115: 
1115: 
1115:       _Tp*
1115:       _M_h() { return reinterpret_cast<_Tp*>(this); }
1115: 
1115:       const _Tp*
1115:       _M_h() const { return reinterpret_cast<const _Tp*>(this); }
1115:     };
1115: 
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Hash, typename _RangeHash, typename _Unused>
1115:     using __hash_code_for_local_iter
1115:       = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey,
1115:         _Hash, _RangeHash, _Unused, false>>;
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Hash, typename _RangeHash, typename _Unused>
1115:     struct _Local_iterator_base<_Key, _Value, _ExtractKey,
1115:     _Hash, _RangeHash, _Unused, false>
1115:     : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1115:      _Unused>
1115:     , _Node_iterator_base<_Value, false>
1115:     {
1115:     protected:
1115:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1115:       : 
1434:     public:
1434:       constexpr future() noexcept : _Base_type() { }
1434: 
1434: 
1434:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1434: 
1434: 
1434:       future(const future&) = delete;
1434:       future& operator=(const future&) = delete;
1434: 
1434:       future& operator=(future&& __fut) noexcept
1434:       {
1434:         future(std::move(__fut))._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434: 
1434:       void
1434:       get()
1434:       {
1434:         typename _Base_type::_Reset __reset(*this);
1434:         this->_M_get_result();
1434:       }
1434: 
1434:       shared_future<void> share() noexcept;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Res>
1434:     class shared_future : public __basic_future<_Res>
1434:     {
1434: 
1434: 
1434:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1434:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1434:       static_assert(is_destructible<_Res>{},
1434:       "result type must be destructible");
1434: 
1434:       typedef __basic_future<_Res> _Base_type;
1434: 
1434:     public:
1434:       constexpr shared_future() noexcept : _Base_type() { }
1434: 
1434: 
1434:       shared_future(const shared_future& __sf) noexcept : _Base_type(__sf) { }
1434: 
1434: 
1434:       shared_future(future<_Res>&& __uf) noexcept
1434:       : _Base_type(std::move(__uf))
1434:       { }
1434: 
1434: 
1434:       shared_future(shared_future&& __sf) noexcept
1434:       : _Base_type(std::move(__sf))
1434:       { }
1434: 
1434:       shared_future& operator=(const shared_future& __sf) noexcept
1434:       {
1434:         shared_future(__sf)._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434:       shared_future& operator=(shared_future&& __sf) noexcept
1434:       {
1434:         shared_future(std::move(__sf))._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434: 
1434:       const _Res&
1434:       get() const { return this->_M_get_result()._M_value(); }
1434:     };
1434: 
1434: 
1434:   template<typename _Res>
1434:     class shared_future<_Res&> : public __basic_future<_Res&>
1434:     {
1434:       typedef __basic_future<_Res&> _Base_type;
1434: 
1434:     public:
1434:       constexpr shared_future() noexcept : _Base_type() { }
1434: 
1434: 
1434:       shared_future(const shared_future& __sf) : _Base_type(__sf) { }
1434: 
1434: 
1434:       shared_future(future<_Res&>&& __uf) noexcept
1434:       : _Base_type(std::move(__uf))
1434:       { }
1434: 
1434: 
1434:       shared_future(shared_future&& __sf) noexcept
1434:       : _Base_type(std::move(__sf))
1434:       { }
1434: 
1434:       shared_future& operator=(const shared_future& __sf)
1434:       {
1434:         shared_future(__sf)._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434:       shared_future& operator=(shared_future&& __sf) noexcept
1434:       {
1434:         shared_future(std::move(__sf))._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434: 
1434:       _Res&
1434:       get() const { return this->_M_get_result()._M_get(); }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     class shared_future<void> : public __basic_future<void>
1434:     {
1434:       typedef __basic_future<void> _Base_type;
1434: 
1434:     public:
1434:       constexpr shared_future() noexcept : _Base_type() { }
1434: 
1434: 
1434:       shared_future(const shared_future& __sf) : _Base_type(__sf) { }
1434: 
1434: 
1434:       shared_future(future<void>&& __uf) noexcept
1434:       : _Base_type(std::move(__uf))
1434:       { }
1434: 
1434: 
1434:       shared_future(shared_future&& __sf) noexcept
1434:       : _Base_type(std::move(__sf))
1434:       { }
1434: 
1434:       shared_future& operator=(const shared_future& __sf)
1434:       {
1434:         shared_future(__sf)._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434:       shared_future& operator=(shared_future&& __sf) noexcept
1434:       {
1434:         shalways_inline)) auto format_to(OutputIt out, const Locale& loc,
1417:                           format_string<T...> fmt, T&&... args) -> OutputIt {
1417:   return vformat_to(out, loc, fmt, fmt::make_format_args(args...));
1417: }
1417: 
1417: 
1417: } }
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoSettings.h"
1417: enum EINTERLACEMETHOD
1417: {
1417:   VS_INTERLACEMETHOD_NONE=0,
1417:   VS_INTERLACEMETHOD_AUTO=1,
1417:   VS_INTERLACEMETHOD_RENDER_BLEND=2,
1417:   VS_INTERLACEMETHOD_RENDER_WEAVE=4,
1417:   VS_INTERLACEMETHOD_RENDER_BOB=6,
1417:   VS_INTERLACEMETHOD_DEINTERLACE=7,
1417:   VS_INTERLACEMETHOD_VDPAU_BOB=8,
1417:   VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE=11,
1417:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL=12,
1417:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF=13,
1417:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL=14,
1417:   VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF=15,
1417:   VS_INTERLACEMETHOD_DEINTERLACE_HALF=16,
1417:   VS_INTERLACEMETHOD_VAAPI_BOB = 22,
1417:   VS_INTERLACEMETHOD_VAAPI_MADI = 23,
1417:   VS_INTERLACEMETHOD_VAAPI_MACI = 24,
1417:   VS_INTERLACEMETHOD_DXVA_AUTO = 32,
1417:   VS_INTERLACEMETHOD_MAX
1417: };
1417: 
1417: template<>
1417: struct fmt::formatter<EINTERLACEMETHOD> : fmt::formatter<std::string_view>
1417: {
1417:   template<typename FormatContext>
1417:   constexpr auto format(const EINTERLACEMETHOD& interlaceMethod, FormatContext& ctx)
1417:   {
1417:     const auto it = interlaceMethodMap.find(interlaceMethod);
1417:     if (it == interlaceMethodMap.cend())
1417:       throw std::range_error("no interlace method string found");
1417: 
1417:     return fmt::formatter<string_view>::format(it->second, ctx);
1417:   }
1417: 
1417: private:
1417:   static constexpr auto interlaceMethodMap = make_map<EINTERLACEMETHOD, std::string_view>({
1417:       {VS_INTERLACEMETHOD_NONE, "none"},
1417:       {VS_INTERLACEMETHOD_AUTO, "auto"},
1417:       {VS_INTERLACEMETHOD_RENDER_BLEND, "render blend"},
1417:       {VS_INTERLACEMETHOD_RENDER_WEAVE, "render weave"},
1417:       {VS_INTERLACEMETHOD_RENDER_BOB, "render bob"},
1417:       {VS_INTERLACEMETHOD_DEINTERLACE, "deinterlace"},
1417:       {VS_INTERLACEMETHOD_VDPAU_BOB, "vdpau bob"},
1417:       {VS_INTERLACEMETHOD_VDPAU_INVERSE_TELECINE, "vdpau inverse telecine"},
1417:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL, "vdpau temporal"},
1417:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL_HALF, "vdpau temporal half"},
1417:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL, "vdpau temporal spatial"},
1417:       {VS_INTERLACEMETHOD_VDPAU_TEMPORAL_SPATIAL_HALF, "vdpau temporal spatial half"},
1417:       {VS_INTERLACEMETHOD_DEINTERLACE_HALF, "deinterlace half"},
1417:       {VS_INTERLACEMETHOD_VAAPI_BOB, "vaapi bob"},
1417:       {VS_INTERLACEMETHOD_VAAPI_MADI, "vaapi madi"},
1417:       {VS_INTERLACEMETHOD_VAAPI_MACI, "vaapi maci"},
1417:       {VS_INTERLACEMETHOD_DXVA_AUTO, "dxva auto"},
1417:   });
1417: };
1417: 
1417: enum ESCALINGMETHOD
1417: {
1417:   VS_SCALINGMETHOD_NEAREST=0,
1417:   VS_SCALINGMETHOD_LINEAR,
1417:   VS_SCALINGMETHOD_CUBIC_B_SPLINE,
1417:   VS_SCALINGMETHOD_CUBIC_MITCHELL,
1417:   VS_SCALINGMETHOD_CUBIC_CATMULL,
1417:   VS_SCALINGMETHOD_CUBIC_0_075,
1417:   VS_SCALINGMETHOD_CUBIC_0_1,
1417:   VS_SCALINGMETHOD_LANCZOS2,
1417:   VS_SCALINGMETHOD_LANCZOS3_FAST,
1417:   VS_SCALINGMETHOD_LANCZOS3,
1417:   VS_SCALINGMETHOD_SINC8,
1417:   VS_SCALINGMETHOD_BICUBIC_SOFTWARE,
1417:   VS_SCALINGMETHOD_LANCZOS_SOFTWARE,
1417:   VS_SCALINGMETHOD_SINC_SOFTWARE,
1417:   VS_SCALINGMETHOD_VDPAU_HARDWARE,
1417:   VS_SCALINGMETHOD_DXVA_HARDWARE,
1417:   VS_SCALINGMETHOD_AUTO,
1417:   VS_SCALINGMETHOD_SPLINE36_FAST,
1417:   VS_SCALINGMETHOD_SPLINE36,
1417:   VS_SCALINGMETHOD_MAX
1417: };
1417: 
1417: template<>
1417: struct fmt::formatter<ESCALINGMETHOD> : fmt::formatter<std::string_view>
1417: {
1417: public:
1417:   template<typename FormatContext>
1417:   constexpr auto format(const ESCALINGMETHOD& scalingMethod, For    _Hash, _RangeHash, _Unused, false>;
1115:       using __node_iter_base = _Node_iterator_base<_Value, false>;
1115: 
1115:       _Local_iterator_base() : _M_bucket_count(-1) { }
1115: 
1115:       _Local_iterator_base(const __hash_code_base& __base,
1115:       _Hash_node<_Value, false>* __p,
1115:       std::size_t __bkt, std::size_t __bkt_count)
1115:       : __node_iter_base(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count)
1115:       { _M_init(__base); }
1115: 
1115:       ~_Local_iterator_base()
1115:       {
1115:  if (_M_bucket_count != size_t(-1))
1115:    _M_destroy();
1115:       }
1115: 
1115:       _Local_iterator_base(const _Local_iterator_base& __iter)
1115:       : __node_iter_base(__iter._M_cur), _M_bucket(__iter._M_bucket)
1115:       , _M_bucket_count(__iter._M_bucket_count)
1115:       {
1115:  if (_M_bucket_count != size_t(-1))
1115:    _M_init(*__iter._M_h());
1115:       }
1115: 
1115:       _Local_iterator_base&
1115:       operator=(const _Local_iterator_base& __iter)
1115:       {
1115:  if (_M_bucket_count != -1)
1115:    _M_destroy();
1115:  this->_M_cur = __iter._M_cur;
1115:  _M_bucket = __iter._M_bucket;
1115:  _M_bucket_count = __iter._M_bucket_count;
1115:  if (_M_bucket_count != -1)
1115:    _M_init(*__iter._M_h());
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       _M_incr()
1115:       {
1115:  __node_iter_base::_M_incr();
1115:  if (this->_M_cur)
1115:    {
1115:      std::size_t __bkt = this->_M_h()->_M_bucket_index(*this->_M_cur,
1115:              _M_bucket_count);
1115:      if (__bkt != _M_bucket)
1115:        this->_M_cur = nullptr;
1115:    }
1115:       }
1115: 
1115:       std::size_t _M_bucket;
1115:       std::size_t _M_bucket_count;
1115: 
1115:       void
1115:       _M_init(const __hash_code_base& __base)
1115:       { ::new(this->_M_h()) __hash_code_base(__base); }
1115: 
1115:       void
1115:       _M_destroy() { this->_M_h()->~__hash_code_base(); }
1115: 
1115:     public:
1115:       std::size_t
1115:       _M_get_bucket() const { return _M_bucket; }
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     bool __constant_iterators, bool __cache>
1115:     struct _Local_iterator
1115:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1115:       _Hash, _RangeHash, _Unused, __cache>
1115:     {
1115:     private:
1115:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
1115:         _Hash, _RangeHash, _Unused, __cache>;
1115:       using __hash_code_base = typename __base_type::__hash_code_base;
1115: 
1115:     public:
1115:       using value_type = _Value;
1115:       using pointer = __conditional_t<__constant_iterators,
1115:           const value_type*, value_type*>;
1115:       using reference = __conditional_t<__constant_iterators,
1115:      const value_type&, value_type&>;
1115:       using difference_type = ptrdiff_t;
1115:       using iterator_category = forward_iterator_tag;
1115: 
1115:       _Local_iterator() = default;
1115: 
1115:       _Local_iterator(const __hash_code_base& __base,
1115:         _Hash_node<_Value, __cache>* __n,
1115:         std::size_t __bkt, std::size_t __bkt_count)
1115:       : __base_type(__base, __n, __bkt, __bkt_count)
1115:       { }
1115: 
1115:       reference
1115:       operator*() const
1115:       { return this->_M_cur->_M_v(); }
1115: 
1115:       pointer
1115:       operator->() const
1115:       { return this->_M_cur->_M_valptr(); }
1115: 
1115:       _Local_iterator&
1115:       operator++()
1115:       {
1115:  this->_M_incr();
1115:  return *this;
1115:       }
1115: 
1115:       _Local_iterator
1115:       operator++(int)
1115:       {
1115:  _Local_iterator __tmp(*this);
1115:  this->_M_incr();
1115:  return __tmp;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     bool __constant_iterators, bool __cache>
1115:     struct _Local_const_iterator
1115:     : public _Local_iterator_base<_Key, _Value, _ExtractKey,
1115:       _Hash, _RangeHash, _Unused, __cache>
1115:     {
1115:     private:
1115:       using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey,
1115:         _Hash, _RangeHash, _Unused, __cache>;
1115:       using __hash_code_base = typename __base_type::__hash_code_base;
1115: 
1115:     public:
1115:       typedef _Value value_type;
1115:       typedef const value_type* pointer;
1115:       typedef const value_type& reference;
1115:       typedef std::ptrdiff_t difference_type;
1115:       typedef std::forward_iterator_tag iterator_category;
1115: 
1115:       _Local_const_iterator() = default;
1115: 
1115:       _Local_const_iterator(const __hash_code_base& __base,
1115:        _Hash_node<_Value, __cache>* __n,
1115:        std::size_t __bkt, std::size_t __bkt_count)
1115:       : __base_type(__base, __n, __bkt, __bkt_count)
1115:       { }
1115: 
1115:       _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey,
1115:         _Hash, _RangeHash, _Unused,
1115:         __constant_iterators,
1115:         __cache>& __x)
1115:       : __base_type(__x)
1115:       { }
1115: 
1115:       reference
1115:       operator*() const
1115:       { return this->_M_cur->_M_v(); }
1115: 
1115:       pointer
1115:       operator->() const
1115:       { return this->_M_cur->_M_valptr(); }
1115: 
1115:       _Local_const_iterator&
1115:       operator++()
1115:       {
1115:  this->_M_incr();
1115:  return *this;
1115:       }
1115: 
1115:       _Local_const_iterator
1115:       operator++(int)
1115:       {
1115:  _Local_const_iterator __tmp(*this);
1115:  this->_M_incr();
1115:  return __tmp;
1115:       }
1115:     };
1115: # 1628 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1115:   template<typename _Key, typename _Value, typename _ExtractKey,
1115:     typename _Equal, typename _Hash, typename _RangeHash,
1115:     typename _Unused, typename _Traits>
1115:     struct _Hashtable_base
1115:     : public _Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash,
1115:         _Unused, _Traits::__hash_cached::value>,
1115:       private _Hashtable_ebo_helper<0, _Equal>
1115:     {
1115:     public:
1115:       typedef _Key key_type;
1115:       typedef _Value value_type;
1115:       typedef _Equal key_equal;
1115:       typedef std::size_t size_type;
1115:       typedef std::ptrdiff_t difference_type;
1115: 
1115:       using __traits_type = _Traits;
1115:       using __hash_cached = typename __traits_type::__hash_cached;
1115: 
1115:       using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey,
1115:             _Hash, _RangeHash, _Unused,
1115:             __hash_cached::value>;
1115: 
1115:       using __hash_code = typename __hash_code_base::__hash_code;
1115: 
1115:     private:
1115:       using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>;
1115: 
1115:       static bool
1115:       _S_equals(__hash_code, const _Hash_node_code_cache<false>&)
1115:       { return true; }
1115: 
1115:       static bool
1115:       _S_node_equals(const _Hash_node_code_cache<false>&,
1115:        const _Hash_node_code_cache<false>&)
1115:       { return true; }
1115: 
1115:       static bool
1115:       _S_equals(__hash_code __c, const _Hash_node_code_cache<true>& __n)
1115:       { return __c == __n._M_hash_code; }
1115: 
1115:       static bool
1115:       _S_node_equals(const _Hash_node_code_cache<true>& __lhn,
1115:        const _Hash_node_code_cache<true>& __rhn)
1115:       { return __lhn._M_hash_code == __rhn._M_hash_code; }
1115: 
1115:     protected:
1115:       _Hashtable_base() = default;
1115: 
1115:       _Hashtable_base(const _Hash& __hash, const _Equal& __eq)
1115:       : __hash_code_base(__hash), _EqualEBO(__eq)
1115:       { }
1115: 
1115:       bool
1115:       _M_key_equals(const _Key& __k,
1115:       const _Hash_node_value<_Value,
1115:         __hash_cached::value>& __n) const
1115:       {
1115:  static_assert(__is_invocable<const _Equal&, const _Key&, const _Key&>{},
111ared_future(std::move(__sf))._M_swap(*this);
1434:         return *this;
1434:       }
1434: 
1434: 
1434:       void
1434:       get() const { this->_M_get_result(); }
1434:     };
1434: 
1434: 
1434:   template<typename _Res>
1434:     inline __basic_future<_Res>::
1434:     __basic_future(const shared_future<_Res>& __sf) noexcept
1434:     : _M_state(__sf._M_state)
1434:     { }
1434: 
1434:   template<typename _Res>
1434:     inline __basic_future<_Res>::
1434:     __basic_future(shared_future<_Res>&& __sf) noexcept
1434:     : _M_state(std::move(__sf._M_state))
1434:     { }
1434: 
1434:   template<typename _Res>
1434:     inline __basic_future<_Res>::
1434:     __basic_future(future<_Res>&& __uf) noexcept
1434:     : _M_state(std::move(__uf._M_state))
1434:     { }
1434: 
1434: 
1434: 
1434:   template<typename _Res>
1434:     inline shared_future<_Res>
1434:     future<_Res>::share() noexcept
1434:     { return shared_future<_Res>(std::move(*this)); }
1434: 
1434:   template<typename _Res>
1434:     inline shared_future<_Res&>
1434:     future<_Res&>::share() noexcept
1434:     { return shared_future<_Res&>(std::move(*this)); }
1434: 
1434:   inline shared_future<void>
1434:   future<void>::share() noexcept
1434:   { return shared_future<void>(std::move(*this)); }
1434: 
1434: 
1434:   template<typename _Res>
1434:     class promise
1434:     {
1434: 
1434: 
1434:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1434:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1434:       static_assert(is_destructible<_Res>{},
1434:       "result type must be destructible");
1434: 
1434:       typedef __future_base::_State_base _State;
1434:       typedef __future_base::_Result<_Res> _Res_type;
1434:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1434:       template<typename, typename> friend struct _State::_Setter;
1434:       friend _State;
1434: 
1434:       shared_ptr<_State> _M_future;
1434:       _Ptr_type _M_storage;
1434: 
1434:     public:
1434:       promise()
1434:       : _M_future(std::make_shared<_State>()),
1434:  _M_storage(new _Res_type())
1434:       { }
1434: 
1434:       promise(promise&& __rhs) noexcept
1434:       : _M_future(std::move(__rhs._M_future)),
1434:  _M_storage(std::move(__rhs._M_storage))
1434:       { }
1434: 
1434:       template<typename _Allocator>
1434:         promise(allocator_arg_t, const _Allocator& __a)
1434:         : _M_future(std::allocate_shared<_State>(__a)),
1434:    _M_storage(__future_base::_S_allocate_result<_Res>(__a))
1434:         { }
1434: 
1434:       template<typename _Allocator>
1434:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1434:         : _M_future(std::move(__rhs._M_future)),
1434:    _M_storage(std::move(__rhs._M_storage))
1434:         { }
1434: 
1434:       promise(const promise&) = delete;
1434: 
1434:       ~promise()
1434:       {
1434:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1434:           _M_future->_M_break_promise(std::move(_M_storage));
1434:       }
1434: 
1434: 
1434:       promise&
1434:       operator=(promise&& __rhs) noexcept
1434:       {
1434:         promise(std::move(__rhs)).swap(*this);
1434:         return *this;
1434:       }
1434: 
1434:       promise& operator=(const promise&) = delete;
1434: 
1434:       void
1434:       swap(promise& __rhs) noexcept
1434:       {
1434:         _M_future.swap(__rhs._M_future);
1434:         _M_storage.swap(__rhs._M_storage);
1434:       }
1434: 
1434: 
1434:       future<_Res>
1434:       get_future()
1434:       { return future<_Res>(_M_future); }
1434: 
1434: 
1434:       void
1434:       set_value(const _Res& __r)
1434:       { _M_state()._M_set_result(_State::__setter(this, __r)); }
1434: 
1434:       void
1434:       set_value(_Res&& __r)
1434:       { _M_state()._M_set_result(_State::__setter(this, std::move(__r))); }
1434: 
1434:       void
1434:       set_exception(exception_ptr __p)
1434:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1434: 
1434:       vomatContext& ctx)
1417:   {
1417:     const auto it = scalingMethodMap.find(scalingMethod);
1417:     if (it == scalingMethodMap.cend())
1417:       throw std::range_error("no scaling method string found");
1417: 
1417:     return fmt::formatter<string_view>::format(it->second, ctx);
1417:   }
1417: 
1417: private:
1417:   static constexpr auto scalingMethodMap = make_map<ESCALINGMETHOD, std::string_view>({
1417:       {VS_SCALINGMETHOD_NEAREST, "nearest neighbour"},
1417:       {VS_SCALINGMETHOD_LINEAR, "linear"},
1417:       {VS_SCALINGMETHOD_CUBIC_B_SPLINE, "cubic b spline"},
1417:       {VS_SCALINGMETHOD_CUBIC_MITCHELL, "cubic mitchell"},
1417:       {VS_SCALINGMETHOD_CUBIC_CATMULL, "cubic catmull"},
1417:       {VS_SCALINGMETHOD_CUBIC_0_075, "cubic 0/075"},
1417:       {VS_SCALINGMETHOD_CUBIC_0_1, "cubic 0/1"},
1417:       {VS_SCALINGMETHOD_LANCZOS2, "lanczos2"},
1417:       {VS_SCALINGMETHOD_LANCZOS3_FAST, "lanczos3 fast"},
1417:       {VS_SCALINGMETHOD_LANCZOS3, "lanczos3"},
1417:       {VS_SCALINGMETHOD_SINC8, "sinc8"},
1417:       {VS_SCALINGMETHOD_BICUBIC_SOFTWARE, "bicubic software"},
1417:       {VS_SCALINGMETHOD_LANCZOS_SOFTWARE, "lanczos software"},
1417:       {VS_SCALINGMETHOD_SINC_SOFTWARE, "sinc software"},
1417:       {VS_SCALINGMETHOD_VDPAU_HARDWARE, "vdpau"},
1417:       {VS_SCALINGMETHOD_DXVA_HARDWARE, "dxva"},
1417:       {VS_SCALINGMETHOD_AUTO, "auto"},
1417:       {VS_SCALINGMETHOD_SPLINE36_FAST, "spline32 fast"},
1417:       {VS_SCALINGMETHOD_SPLINE36, "spline32"},
1417:   });
1417: 
1417:   static_assert(VS_SCALINGMETHOD_MAX == scalingMethodMap.size(),
1417:                 "scalingMethodMap doesn't match the size of ESCALINGMETHOD, did you forget to "
1417:                 "add/remove a mapping?");
1417: };
1417: 
1417: enum ETONEMAPMETHOD
1417: {
1417:   VS_TONEMAPMETHOD_OFF = 0,
1417:   VS_TONEMAPMETHOD_REINHARD = 1,
1417:   VS_TONEMAPMETHOD_ACES = 2,
1417:   VS_TONEMAPMETHOD_HABLE = 3,
1417:   VS_TONEMAPMETHOD_MAX
1417: };
1417: 
1417: template<>
1417: struct fmt::formatter<ETONEMAPMETHOD> : fmt::formatter<std::string_view>
1417: {
1417: public:
1417:   template<typename FormatContext>
1417:   constexpr auto format(const ETONEMAPMETHOD& tonemapMethod, FormatContext& ctx)
1417:   {
1417:     const auto it = tonemapMethodMap.find(tonemapMethod);
1417:     if (it == tonemapMethodMap.cend())
1417:       throw std::range_error("no tonemap method string found");
1417: 
1417:     return fmt::formatter<string_view>::format(it->second, ctx);
1417:   }
1417: 
1417: private:
1417:   static constexpr auto tonemapMethodMap = make_map<ETONEMAPMETHOD, std::string_view>({
1417:       {VS_TONEMAPMETHOD_OFF, "off"},
1417:       {VS_TONEMAPMETHOD_REINHARD, "reinhard"},
1417:       {VS_TONEMAPMETHOD_ACES, "aces"},
1417:       {VS_TONEMAPMETHOD_HABLE, "hable"},
1417:   });
1417: 
1417:   static_assert(VS_TONEMAPMETHOD_MAX == tonemapMethodMap.size(),
1417:                 "tonemapMethodMap doesn't match the size of ETONEMAPMETHOD, did you forget to "
1417:                 "add/remove a mapping?");
1417: };
1417: 
1417: enum ViewMode
1417: {
1417:   ViewModeNormal = 0,
1417:   ViewModeZoom,
1417:   ViewModeStretch4x3,
1417:   ViewModeWideZoom,
1417:   ViewModeStretch16x9,
1417:   ViewModeOriginal,
1417:   ViewModeCustom,
1417:   ViewModeStretch16x9Nonlin,
1417:   ViewModeZoom120Width,
1417:   ViewModeZoom110Width
1417: };
1417: 
1417: class CVideoSettings
1417: {
1417: public:
1417:   CVideoSettings();
1417:   ~CVideoSettings() = default;
1417: 
1417:   bool operator!=(const CVideoSettings &right) const;
1417: 
1417:   EINTERLACEMETHOD m_InterlaceMethod;
1417:   ESCALINGMETHOD m_ScalingMethod;
1417:   int m_ViewMode;
1417:   float m_CustomZoomAmount;
1417:   float m_CustomPixelRatio;
1417:   float m_CustomVerticalShift;
1417:   bool m_CustomNonLinStretch;
1417:   int m_AudioStream;
1417:   float m_VolumeAmplification;
1417:   int m_SubtitleStream;
1417:   float m_SubtitleDelay;
1417:   int m_subtitleVerticalPosition{0};
1417:   bool m_subtitleVerticalPositionSave{false};
1417:   bool m_SubtitleOn;
1417:   float m_id
1434:       set_value_at_thread_exit(const _Res& __r)
1434:       {
1434:  _M_state()._M_set_delayed_result(_State::__setter(this, __r),
1434:       _M_future);
1434:       }
1434: 
1434:       void
1434:       set_value_at_thread_exit(_Res&& __r)
1434:       {
1434:  _M_state()._M_set_delayed_result(
1434:      _State::__setter(this, std::move(__r)), _M_future);
1434:       }
1434: 
1434:       void
1434:       set_exception_at_thread_exit(exception_ptr __p)
1434:       {
1434:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1434:       _M_future);
1434:       }
1434: 
1434:     private:
1434:       _State&
1434:       _M_state()
1434:       {
1434:  __future_base::_State_base::_S_check(_M_future);
1434:  return *_M_future;
1434:       }
1434:     };
1434: 
1434:   template<typename _Res>
1434:     inline void
1434:     swap(promise<_Res>& __x, promise<_Res>& __y) noexcept
1434:     { __x.swap(__y); }
1434: 
1434:   template<typename _Res, typename _Alloc>
1434:     struct uses_allocator<promise<_Res>, _Alloc>
1434:     : public true_type { };
1434: 
1434: 
1434: 
1434:   template<typename _Res>
1434:     class promise<_Res&>
1434:     {
1434:       typedef __future_base::_State_base _State;
1434:       typedef __future_base::_Result<_Res&> _Res_type;
1434:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1434:       template<typename, typename> friend struct _State::_Setter;
1434:       friend _State;
1434: 
1434:       shared_ptr<_State> _M_future;
1434:       _Ptr_type _M_storage;
1434: 
1434:     public:
1434:       promise()
1434:       : _M_future(std::make_shared<_State>()),
1434:  _M_storage(new _Res_type())
1434:       { }
1434: 
1434:       promise(promise&& __rhs) noexcept
1434:       : _M_future(std::move(__rhs._M_future)),
1434:  _M_storage(std::move(__rhs._M_storage))
1434:       { }
1434: 
1434:       template<typename _Allocator>
1434:         promise(allocator_arg_t, const _Allocator& __a)
1434:         : _M_future(std::allocate_shared<_State>(__a)),
1434:    _M_storage(__future_base::_S_allocate_result<_Res&>(__a))
1434:         { }
1434: 
1434:       template<typename _Allocator>
1434:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1434:         : _M_future(std::move(__rhs._M_future)),
1434:    _M_storage(std::move(__rhs._M_storage))
1434:         { }
1434: 
1434:       promise(const promise&) = delete;
1434: 
1434:       ~promise()
1434:       {
1434:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1434:           _M_future->_M_break_promise(std::move(_M_storage));
1434:       }
1434: 
1434: 
1434:       promise&
1434:       operator=(promise&& __rhs) noexcept
1434:       {
1434:         promise(std::move(__rhs)).swap(*this);
1434:         return *this;
1434:       }
1434: 
1434:       promise& operator=(const promise&) = delete;
1434: 
1434:       void
1434:       swap(promise& __rhs) noexcept
1434:       {
1434:         _M_future.swap(__rhs._M_future);
1434:         _M_storage.swap(__rhs._M_storage);
1434:       }
1434: 
1434: 
1434:       future<_Res&>
1434:       get_future()
1434:       { return future<_Res&>(_M_future); }
1434: 
1434: 
1434:       void
1434:       set_value(_Res& __r)
1434:       { _M_state()._M_set_result(_State::__setter(this, __r)); }
1434: 
1434:       void
1434:       set_exception(exception_ptr __p)
1434:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1434: 
1434:       void
1434:       set_value_at_thread_exit(_Res& __r)
1434:       {
1434:  _M_state()._M_set_delayed_result(_State::__setter(this, __r),
1434:       _M_future);
1434:       }
1434: 
1434:       void
1434:       set_exception_at_thread_exit(exception_ptr __p)
1434:       {
1434:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1434:       _M_future);
1434:       }
1434: 
1434:     private:
1434:       _State&
1434:       _M_state()
1434:       {
1434:  __future_base::_State_base::_S_check(_M_future);
1434:  return *_M_future;
1434:       }
1434:     };
1434: 
1434: 
1434:   template<>
1434:     class promise<void>5:    "key equality predicate must be invocable with two arguments of "
1115:    "key type");
1115:  return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1115:       }
1115: 
1115:       template<typename _Kt>
1115:  bool
1115:  _M_key_equals_tr(const _Kt& __k,
1115:     const _Hash_node_value<_Value,
1115:           __hash_cached::value>& __n) const
1115:  {
1115:    static_assert(
1115:      __is_invocable<const _Equal&, const _Kt&, const _Key&>{},
1115:      "key equality predicate must be invocable with two arguments of "
1115:      "key type");
1115:    return _M_eq()(__k, _ExtractKey{}(__n._M_v()));
1115:  }
1115: 
1115:       bool
1115:       _M_equals(const _Key& __k, __hash_code __c,
1115:   const _Hash_node_value<_Value, __hash_cached::value>& __n) const
1115:       { return _S_equals(__c, __n) && _M_key_equals(__k, __n); }
1115: 
1115:       template<typename _Kt>
1115:  bool
1115:  _M_equals_tr(const _Kt& __k, __hash_code __c,
1115:        const _Hash_node_value<_Value,
1115:          __hash_cached::value>& __n) const
1115:  { return _S_equals(__c, __n) && _M_key_equals_tr(__k, __n); }
1115: 
1115:       bool
1115:       _M_node_equals(
1115:  const _Hash_node_value<_Value, __hash_cached::value>& __lhn,
1115:  const _Hash_node_value<_Value, __hash_cached::value>& __rhn) const
1115:       {
1115:  return _S_node_equals(__lhn, __rhn)
1115:    && _M_key_equals(_ExtractKey{}(__lhn._M_v()), __rhn);
1115:       }
1115: 
1115:       void
1115:       _M_swap(_Hashtable_base& __x)
1115:       {
1115:  __hash_code_base::_M_swap(__x);
1115:  std::swap(_EqualEBO::_M_get(), __x._EqualEBO::_M_get());
1115:       }
1115: 
1115:       const _Equal&
1115:       _M_eq() const { return _EqualEBO::_M_cget(); }
1115:     };
1115: # 1744 "/usr/include/c++/12/bits/hashtable_policy.h" 3
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits,
1115:     bool _Unique_keys = _Traits::__unique_keys::value>
1115:     struct _Equality;
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>
1115:     {
1115:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:          _Hash, _RangeHash, _Unused,
1115:          _RehashPolicy, _Traits>;
1115: 
1115:       bool
1115:       _M_equal(const __hashtable&) const;
1115:     };
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     bool
1115:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true>::
1115:     _M_equal(const __hashtable& __other) const
1115:     {
1115:       using __node_type = typename __hashtable::__node_type;
1115:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1115:       if (__this->size() != __other.size())
1115:  return false;
1115: 
1115:       for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx)
1115:  {
1115:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1115:    auto __prev_n = __other._M_buckets[__ybkt];
1115:    if (!__prev_n)
1115:      return false;
1115: 
1115:    for (__node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt);;
1115:         __n = __n->_M_next())
1115:      {
1115:        if (__n->_M_v() == *__itx)
1115:   break;
1115: 
1115:        if (!__n->_M_nxt
1115:     || __other._M_bucket_index(*__n->_M_next()) != __ybkt)
1115:   return false;
1115:      }
1115:  }
1115: 
1115:       return true;
1115:     }
1
1434:     {
1434:       typedef __future_base::_State_base _State;
1434:       typedef __future_base::_Result<void> _Res_type;
1434:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1434:       template<typename, typename> friend struct _State::_Setter;
1434:       friend _State;
1434: 
1434:       shared_ptr<_State> _M_future;
1434:       _Ptr_type _M_storage;
1434: 
1434:     public:
1434:       promise()
1434:       : _M_future(std::make_shared<_State>()),
1434:  _M_storage(new _Res_type())
1434:       { }
1434: 
1434:       promise(promise&& __rhs) noexcept
1434:       : _M_future(std::move(__rhs._M_future)),
1434:  _M_storage(std::move(__rhs._M_storage))
1434:       { }
1434: 
1434:       template<typename _Allocator>
1434:         promise(allocator_arg_t, const _Allocator& __a)
1434:         : _M_future(std::allocate_shared<_State>(__a)),
1434:    _M_storage(__future_base::_S_allocate_result<void>(__a))
1434:         { }
1434: 
1434: 
1434: 
1434:       template<typename _Allocator>
1434:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1434:         : _M_future(std::move(__rhs._M_future)),
1434:    _M_storage(std::move(__rhs._M_storage))
1434:         { }
1434: 
1434:       promise(const promise&) = delete;
1434: 
1434:       ~promise()
1434:       {
1434:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1434:           _M_future->_M_break_promise(std::move(_M_storage));
1434:       }
1434: 
1434: 
1434:       promise&
1434:       operator=(promise&& __rhs) noexcept
1434:       {
1434:         promise(std::move(__rhs)).swap(*this);
1434:         return *this;
1434:       }
1434: 
1434:       promise& operator=(const promise&) = delete;
1434: 
1434:       void
1434:       swap(promise& __rhs) noexcept
1434:       {
1434:         _M_future.swap(__rhs._M_future);
1434:         _M_storage.swap(__rhs._M_storage);
1434:       }
1434: 
1434: 
1434:       future<void>
1434:       get_future()
1434:       { return future<void>(_M_future); }
1434: 
1434: 
1434:       void
1434:       set_value()
1434:       { _M_state()._M_set_result(_State::__setter(this)); }
1434: 
1434:       void
1434:       set_exception(exception_ptr __p)
1434:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1434: 
1434:       void
1434:       set_value_at_thread_exit()
1434:       { _M_state()._M_set_delayed_result(_State::__setter(this), _M_future); }
1434: 
1434:       void
1434:       set_exception_at_thread_exit(exception_ptr __p)
1434:       {
1434:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1434:       _M_future);
1434:       }
1434: 
1434:     private:
1434:       _State&
1434:       _M_state()
1434:       {
1434:  __future_base::_State_base::_S_check(_M_future);
1434:  return *_M_future;
1434:       }
1434:     };
1434: 
1434:   template<typename _Ptr_type, typename _Fn, typename _Res>
1434:     struct __future_base::_Task_setter
1434:     {
1434: 
1434:       _Ptr_type operator()() const
1434:       {
1434:  try
1434:    {
1434:      (*_M_result)->_M_set((*_M_fn)());
1434:    }
1434:  catch(const __cxxabiv1::__forced_unwind&)
1434:    {
1434:      throw;
1434:    }
1434:  catch(...)
1434:    {
1434:      (*_M_result)->_M_error = current_exception();
1434:    }
1434:  return std::move(*_M_result);
1434:       }
1434:       _Ptr_type* _M_result;
1434:       _Fn* _M_fn;
1434:     };
1434: 
1434:   template<typename _Ptr_type, typename _Fn>
1434:     struct __future_base::_Task_setter<_Ptr_type, _Fn, void>
1434:     {
1434:       _Ptr_type operator()() const
1434:       {
1434:  try
1434:    {
1434:      (*_M_fn)();
1434:    }
1434:  catch(const __cxxabiv1::__forced_unwind&)
1434:    {
1434:      throw;
1434:    }
1434:  catch(...)
1434:    {
1434:      (*_M_result)->_M_error = current_exception();
1434:    }
1434:  return std::move(*_M_result);
1434:       }
1434:       _Ptr_type* _M_result;
1434:       _Fn* _M_fn;
1434:     };
1434: 
1434: 
1434:   template<typename _Res, typename... _Args>
1434:     struct __future_base::_Task_state_base<_Res(_Args...)>
1434:    Brightness;
1417:   float m_Contrast;
1417:   float m_Gamma;
1417:   float m_NoiseReduction;
1417:   bool m_PostProcess;
1417:   float m_Sharpness;
1417:   float m_AudioDelay;
1417:   int m_ResumeTime;
1417:   int m_StereoMode;
1417:   bool m_StereoInvert;
1417:   int m_VideoStream;
1417:   ETONEMAPMETHOD m_ToneMapMethod;
1417:   float m_ToneMapParam;
1417:   int m_Orientation;
1417:   int m_CenterMixLevel;
1417: };
1417: 
1417: class CCriticalSection;
1417: class CVideoSettingsLocked
1417: {
1417: public:
1417:   CVideoSettingsLocked(CVideoSettings &vs, CCriticalSection &critSection);
1417:   virtual ~CVideoSettingsLocked() = default;
1417: 
1417:   CVideoSettingsLocked(CVideoSettingsLocked const &) = delete;
1417:   void operator=(CVideoSettingsLocked const &x) = delete;
1417: 
1417:   void SetSubtitleStream(int stream);
1417:   void SetSubtitleVisible(bool visible);
1417:   void SetAudioStream(int stream);
1417:   void SetVideoStream(int stream);
1417:   void SetAudioDelay(float delay);
1417:   void SetSubtitleDelay(float delay);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetSubtitleVerticalPosition(int value, bool save);
1417: 
1417:   void SetViewMode(int mode, float zoom, float par, float shift, bool stretch);
1417:   void SetVolumeAmplification(float amp);
1417: 
1417: protected:
1417:   CVideoSettings &m_videoSettings;
1417:   CCriticalSection &m_critSection;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayerCallback.h" 2
1417: 
1417: 
1417: 
1417: class CFileItem;
1417: class CBookmark;
1417: 
1417: class IPlayerCallback
1417: {
1417: public:
1417:   virtual ~IPlayerCallback() = default;
1417:   virtual void OnPlayBackEnded() = 0;
1417:   virtual void OnPlayBackStarted(const CFileItem &file) = 0;
1417:   virtual void OnPlayerCloseFile(const CFileItem& file, const CBookmark& bookmark) {}
1417:   virtual void OnPlayBackPaused() {}
1417:   virtual void OnPlayBackResumed() {}
1417:   virtual void OnPlayBackStopped() = 0;
1417:   virtual void OnPlayBackError() = 0;
1417:   virtual void OnQueueNextItem() = 0;
1417:   virtual void OnPlayBackSeek(int64_t iTime, int64_t seekOffset) {}
1417:   virtual void OnPlayBackSeekChapter(int iChapter) {}
1417:   virtual void OnPlayBackSpeedChanged(int iSpeed) {}
1417:   virtual void OnAVChange() {}
1417:   virtual void OnAVStarted(const CFileItem& file) {}
1417:   virtual void RequestVideoSettings(const CFileItem& fileItem) {}
1417:   virtual void StoreVideoSettings(const CFileItem& fileItem, const CVideoSettings& vs) {}
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayerCallback.h" 2
1417: 
1417: 
1417: 
1417: 
1417: class CApplicationStackHelper;
1417: class CFileItem;
1417: 
1417: class CApplicationPlayerCallback : public IPlayerCallback
1417: {
1417: public:
1417:   CApplicationPlayerCallback();
1417: 
1417:   void OnPlayBackEnded() override;
1417:   void OnPlayBackStarted(const CFileItem& file) override;
1417:   void OnPlayerCloseFile(const CFileItem& file, const CBookmark& bookmark) override;
1417:   void OnPlayBackPaused() override;
1417:   void OnPlayBackResumed() override;
1417:   void OnPlayBackStopped() override;
1417:   void OnPlayBackError() override;
1417:   void OnQueueNextItem() override;
1417:   void OnPlayBackSeek(int64_t iTime, int64_t seekOffset) override;
1417:   void OnPlayBackSeekChapter(int iChapter) override;
1417:   void OnPlayBackSpeedChanged(int iSpeed) override;
1417:   void OnAVChange() override;
1417:   void OnAVStarted(const CFileItem& file) override;
1417:   void RequestVideoSettings(const CFileItem& fileItem) override;
1417:   void StoreVideoSettings(const CFileItem& fileItem, const CVideoSettings& vs) override;
1417: 
1417: protected:
1417:   std::shared_ptr<CFileItem> m_itemCurrentFile;
1417:   CEvent m_playerEvent;
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationSettingsHandling.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Applicatio115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>
1115:     {
1115:       using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:          _Hash, _RangeHash, _Unused,
1115:          _RehashPolicy, _Traits>;
1115: 
1115:       bool
1115:       _M_equal(const __hashtable&) const;
1115:     };
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     bool
1115:     _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:        _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false>::
1115:     _M_equal(const __hashtable& __other) const
1115:     {
1115:       using __node_type = typename __hashtable::__node_type;
1115:       const __hashtable* __this = static_cast<const __hashtable*>(this);
1115:       if (__this->size() != __other.size())
1115:  return false;
1115: 
1115:       for (auto __itx = __this->begin(); __itx != __this->end();)
1115:  {
1115:    std::size_t __x_count = 1;
1115:    auto __itx_end = __itx;
1115:    for (++__itx_end; __itx_end != __this->end()
1115:    && __this->key_eq()(_ExtractKey{}(*__itx),
1115:          _ExtractKey{}(*__itx_end));
1115:         ++__itx_end)
1115:      ++__x_count;
1115: 
1115:    std::size_t __ybkt = __other._M_bucket_index(*__itx._M_cur);
1115:    auto __y_prev_n = __other._M_buckets[__ybkt];
1115:    if (!__y_prev_n)
1115:      return false;
1115: 
1115:    __node_type* __y_n = static_cast<__node_type*>(__y_prev_n->_M_nxt);
1115:    for (;;)
1115:      {
1115:        if (__this->key_eq()(_ExtractKey{}(__y_n->_M_v()),
1115:        _ExtractKey{}(*__itx)))
1115:   break;
1115: 
1115:        auto __y_ref_n = __y_n;
1115:        for (__y_n = __y_n->_M_next(); __y_n; __y_n = __y_n->_M_next())
1115:   if (!__other._M_node_equals(*__y_ref_n, *__y_n))
1115:     break;
1115: 
1115:        if (!__y_n || __other._M_bucket_index(*__y_n) != __ybkt)
1115:   return false;
1115:      }
1115: 
1115:    typename __hashtable::const_iterator __ity(__y_n);
1115:    for (auto __ity_end = __ity; __ity_end != __other.end(); ++__ity_end)
1115:      if (--__x_count == 0)
1115:        break;
1115: 
1115:    if (__x_count != 0)
1115:      return false;
1115: 
1115:    if (!std::is_permutation(__itx, __itx_end, __ity))
1115:      return false;
1115: 
1115:    __itx = __itx_end;
1115:  }
1115:       return true;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _NodeAlloc>
1115:     struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc>
1115:     {
1115:     private:
1115:       using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>;
1115: 
1115:       template<typename>
1115:  struct __get_value_type;
1115:       template<typename _Val, bool _Cache_hash_code>
1115:  struct __get_value_type<_Hash_node<_Val, _Cache_hash_code>>
1115:  { using type = _Val; };
1115: 
1115:     public:
1115:       using __node_type = typename _NodeAlloc::value_type;
1115:       using __node_alloc_type = _NodeAlloc;
1115: 
1115:       using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>;
1115: 
1115:       using __value_alloc_traits = typename __node_alloc_traits::template
1115:  rebind_traits<typename __get_value_type<__node_type>::type>;
1115: 
1115:       using __node_ptr = __node_type*;
1115:       using __node_base = _Hash_node_base;
1115:       using __node_base_ptr = __node_base*;
1115:       using __buckets_alloc_type =
1115:  __alloc_rebind<__node_alloc_type, __node_base_ptr>;
1115:       using __buckets_alloc_traits = std::allocator_traits<__buckets_alloc_type>;
1115:       using __buckets_ptr = __node_base : __future_base::_State_base
1434:     {
1434:       typedef _Res _Res_type;
1434: 
1434:       template<typename _Alloc>
1434:  _Task_state_base(const _Alloc& __a)
1434:  : _M_result(_S_allocate_result<_Res>(__a))
1434:  { }
1434: 
1434: 
1434:       virtual void
1434:       _M_run(_Args&&... __args) = 0;
1434: 
1434: 
1434:       virtual void
1434:       _M_run_delayed(_Args&&... __args, weak_ptr<_State_base>) = 0;
1434: 
1434:       virtual shared_ptr<_Task_state_base>
1434:       _M_reset() = 0;
1434: 
1434:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1434:       _Ptr_type _M_result;
1434:     };
1434: 
1434: 
1434:   template<typename _Fn, typename _Alloc, typename _Res, typename... _Args>
1434:     struct __future_base::_Task_state<_Fn, _Alloc, _Res(_Args...)> final
1434:     : __future_base::_Task_state_base<_Res(_Args...)>
1434:     {
1434:       template<typename _Fn2>
1434:  _Task_state(_Fn2&& __fn, const _Alloc& __a)
1434:  : _Task_state_base<_Res(_Args...)>(__a),
1434:    _M_impl(std::forward<_Fn2>(__fn), __a)
1434:  { }
1434: 
1434:     private:
1434:       virtual void
1434:       _M_run(_Args&&... __args)
1434:       {
1434:  auto __boundfn = [&] () -> _Res {
1434:      return std::__invoke_r<_Res>(_M_impl._M_fn,
1434:       std::forward<_Args>(__args)...);
1434:  };
1434:  this->_M_set_result(_S_task_setter(this->_M_result, __boundfn));
1434:       }
1434: 
1434:       virtual void
1434:       _M_run_delayed(_Args&&... __args, weak_ptr<_State_base> __self)
1434:       {
1434:  auto __boundfn = [&] () -> _Res {
1434:      return std::__invoke_r<_Res>(_M_impl._M_fn,
1434:       std::forward<_Args>(__args)...);
1434:  };
1434:  this->_M_set_delayed_result(_S_task_setter(this->_M_result, __boundfn),
1434:         std::move(__self));
1434:       }
1434: 
1434:       virtual shared_ptr<_Task_state_base<_Res(_Args...)>>
1434:       _M_reset();
1434: 
1434:       struct _Impl : _Alloc
1434:       {
1434:  template<typename _Fn2>
1434:    _Impl(_Fn2&& __fn, const _Alloc& __a)
1434:    : _Alloc(__a), _M_fn(std::forward<_Fn2>(__fn)) { }
1434:  _Fn _M_fn;
1434:       } _M_impl;
1434:     };
1434: 
1434:   template<typename _Signature, typename _Fn,
1434:     typename _Alloc = std::allocator<int>>
1434:     static shared_ptr<__future_base::_Task_state_base<_Signature>>
1434:     __create_task_state(_Fn&& __fn, const _Alloc& __a = _Alloc())
1434:     {
1434:       typedef typename decay<_Fn>::type _Fn2;
1434:       typedef __future_base::_Task_state<_Fn2, _Alloc, _Signature> _State;
1434:       return std::allocate_shared<_State>(__a, std::forward<_Fn>(__fn), __a);
1434:     }
1434: 
1434:   template<typename _Fn, typename _Alloc, typename _Res, typename... _Args>
1434:     shared_ptr<__future_base::_Task_state_base<_Res(_Args...)>>
1434:     __future_base::_Task_state<_Fn, _Alloc, _Res(_Args...)>::_M_reset()
1434:     {
1434:       return __create_task_state<_Res(_Args...)>(std::move(_M_impl._M_fn),
1434:        static_cast<_Alloc&>(_M_impl));
1434:     }
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes>
1434:     class packaged_task<_Res(_ArgTypes...)>
1434:     {
1434:       typedef __future_base::_Task_state_base<_Res(_ArgTypes...)> _State_type;
1434:       shared_ptr<_State_type> _M_state;
1434: 
1434: 
1434: 
1434:       template<typename _Fn, typename _Fn2 = __remove_cvref_t<_Fn>>
1434:  using __not_same
1434:    = typename enable_if<!is_same<packaged_task, _Fn2>::value>::type;
1434: 
1434:     public:
1434: 
1434:       packaged_task() noexcept { }
1434: 
1434:       template<typename _Fn, typename = __not_same<_Fn>>
1434:  explicit
1434:  packaged_task(_Fn&& __fn)
1434:  : _M_state(
1434:      __create_task_state<_Res(_ArgTypes...)>(std::forward<_Fn>(__fn)))
1434:  { }
1434: # 1567 "/usr/include/c++/12/future" 3
1434:       ~packaged_task()
1434:       {
1434:         if (static_cast<bool>(_M_state) && !_M_state.unique())
1434:    _M_state->_M_break_promise(std::move(_M_state->_M_result));
1434:       }
1434: 
1434: 
1434:       packaged_task(const packaged_task&) = delete;
nSettingsHandling.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h"
1417:        
1417: 
1417: class TiXmlNode;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class ISubSettings
1417: {
1417: public:
1417:   virtual ~ISubSettings() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool Load(const TiXmlNode *settings) { return true; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool Save(TiXmlNode *settings) const { return true; }
1417: 
1417: 
1417: 
1417:   virtual void Clear() { }
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationSettingsHandling.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1417:        
1417: 
1417: 
1417: 
1417: class CSetting;
1417: class TiXmlNode;
1417: 
1417: class ISettingCallback
1417: {
1417: public:
1417:   virtual ~ISettingCallback() = default;
1417: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1417:   virtual bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) { return true; }
1417: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1417:   virtual void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) {}
1417: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1417:   virtual void OnSettingAction(const std::shared_ptr<const CSetting>& setting) {}
1417: # 68 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1417:   virtual bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1417:                                const char* oldSettingId,
1417:                                const TiXmlNode* oldSettingNode)
1417:   {
1417:     return false;
1417:   }
1417: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCallback.h"
1417:   virtual void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1417:                                         const char* propertyName)
1417:   {
1417:   }
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationSettingsHandling.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class ISettingsHandler
1417: {
1417: public:
1417:   virtual ~ISettingsHandler() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool OnSettingsLoading() { return true; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void OnSettingsLoaded() { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool OnSettingsSaving() const { return true; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void OnSettingsSaved() const { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void OnSettingsUnloaded() { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void OnSettingsCleared() { }
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationSettingsHandling.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CApplicationSettingsHandling : public ISettingCallback,
1417:                                      public ISettingsHandler,
1417:                                      public ISubSettings
1417: {
1417: protected:
1417:   void RegisterSettings();
1417:   void UnregisterSettings();
1417: 
1417:   bool Load(const TiXmlNode* settings) override;
1417:   bool Save(TiXmlNode* settings) const override;
1417:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1417:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1417:   bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1417:                        const char* oldSettingId,
1417:                        const1434:       packaged_task& operator=(const packaged_task&) = delete;
1434: 
1434: 
1434:       packaged_task(packaged_task&& __other) noexcept
1434:       { this->swap(__other); }
1434: 
1434:       packaged_task& operator=(packaged_task&& __other) noexcept
1434:       {
1434:  packaged_task(std::move(__other)).swap(*this);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(packaged_task& __other) noexcept
1434:       { _M_state.swap(__other._M_state); }
1434: 
1434:       bool
1434:       valid() const noexcept
1434:       { return static_cast<bool>(_M_state); }
1434: 
1434: 
1434:       future<_Res>
1434:       get_future()
1434:       { return future<_Res>(_M_state); }
1434: 
1434: 
1434:       void
1434:       operator()(_ArgTypes... __args)
1434:       {
1434:  __future_base::_State_base::_S_check(_M_state);
1434:  _M_state->_M_run(std::forward<_ArgTypes>(__args)...);
1434:       }
1434: 
1434:       void
1434:       make_ready_at_thread_exit(_ArgTypes... __args)
1434:       {
1434:  __future_base::_State_base::_S_check(_M_state);
1434:  _M_state->_M_run_delayed(std::forward<_ArgTypes>(__args)..., _M_state);
1434:       }
1434: 
1434:       void
1434:       reset()
1434:       {
1434:  __future_base::_State_base::_S_check(_M_state);
1434:  packaged_task __tmp;
1434:  __tmp._M_state = _M_state;
1434:  _M_state = _M_state->_M_reset();
1434:       }
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes>
1434:     packaged_task(_Res(*)(_ArgTypes...)) -> packaged_task<_Res(_ArgTypes...)>;
1434: 
1434:   template<typename _Fun, typename _Signature = typename
1434:     __function_guide_helper<decltype(&_Fun::operator())>::type>
1434:     packaged_task(_Fun) -> packaged_task<_Signature>;
1434: 
1434: 
1434: 
1434:   template<typename _Res, typename... _ArgTypes>
1434:     inline void
1434:     swap(packaged_task<_Res(_ArgTypes...)>& __x,
1434:   packaged_task<_Res(_ArgTypes...)>& __y) noexcept
1434:     { __x.swap(__y); }
1434: # 1653 "/usr/include/c++/12/future" 3
1434:   template<typename _BoundFn, typename _Res>
1434:     class __future_base::_Deferred_state final
1434:     : public __future_base::_State_base
1434:     {
1434:     public:
1434:       template<typename... _Args>
1434:  explicit
1434:  _Deferred_state(_Args&&... __args)
1434:  : _M_result(new _Result<_Res>()),
1434:    _M_fn{{std::forward<_Args>(__args)...}}
1434:  { }
1434: 
1434:     private:
1434:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1434:       _Ptr_type _M_result;
1434:       _BoundFn _M_fn;
1434: 
1434: 
1434:       virtual void
1434:       _M_complete_async()
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:         _M_set_result(_S_task_setter(_M_result, _M_fn), true);
1434:       }
1434: 
1434: 
1434: 
1434:       virtual bool _M_is_deferred_future() const { return true; }
1434:     };
1434: 
1434: 
1434:   class __future_base::_Async_state_commonV2
1434:     : public __future_base::_State_base
1434:   {
1434:   protected:
1434:     ~_Async_state_commonV2() = default;
1434: # 1710 "/usr/include/c++/12/future" 3
1434:     virtual void _M_complete_async() { _M_join(); }
1434: 
1434:     void _M_join() { std::call_once(_M_once, &thread::join, &_M_thread); }
1434: 
1434:     thread _M_thread;
1434:     once_flag _M_once;
1434:   };
1434: 
1434: 
1434: 
1434:   template<typename _BoundFn, typename _Res>
1434:     class __future_base::_Async_state_impl final
1434:     : public __future_base::_Async_state_commonV2
1434:     {
1434:     public:
1434:       template<typename... _Args>
1434:  explicit
1434:  _Async_state_impl(_Args&&... __args)
1434:  : _M_result(new _Result<_Res>()),
1434:    _M_fn{{std::forward<_Args>(__args)...}}
1434:  {
1434:    _M_thread = std::thread{&_Async_state_impl::_M_run, this};
1434:  }
1434: 
1434: 
1434: 
1434: 
1434:       ~_Async_state_impl()
1434:       {
1434:  if (_M_thread.joinable())
1434:    _M_thread.join();
1434:       }
1434: 
1434:     private:
1434:       void
1434:       _M_run()
1434:       {
1434:  try
1434:  _ptr*;
1115: 
1115:       _Hashtable_alloc() = default;
1115:       _Hashtable_alloc(const _Hashtable_alloc&) = default;
1115:       _Hashtable_alloc(_Hashtable_alloc&&) = default;
1115: 
1115:       template<typename _Alloc>
1115:  _Hashtable_alloc(_Alloc&& __a)
1115:  : __ebo_node_alloc(std::forward<_Alloc>(__a))
1115:  { }
1115: 
1115:       __node_alloc_type&
1115:       _M_node_allocator()
1115:       { return __ebo_node_alloc::_M_get(); }
1115: 
1115:       const __node_alloc_type&
1115:       _M_node_allocator() const
1115:       { return __ebo_node_alloc::_M_cget(); }
1115: 
1115: 
1115:       template<typename... _Args>
1115:  __node_ptr
1115:  _M_allocate_node(_Args&&... __args);
1115: 
1115: 
1115:       void
1115:       _M_deallocate_node(__node_ptr __n);
1115: 
1115: 
1115:       void
1115:       _M_deallocate_node_ptr(__node_ptr __n);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_deallocate_nodes(__node_ptr __n);
1115: 
1115:       __buckets_ptr
1115:       _M_allocate_buckets(std::size_t __bkt_count);
1115: 
1115:       void
1115:       _M_deallocate_buckets(__buckets_ptr, std::size_t __bkt_count);
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _NodeAlloc>
1115:     template<typename... _Args>
1115:       auto
1115:       _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args)
1115:       -> __node_ptr
1115:       {
1115:  auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1);
1115:  __node_ptr __n = std::__to_address(__nptr);
1115:  try
1115:    {
1115:      ::new ((void*)__n) __node_type;
1115:      __node_alloc_traits::construct(_M_node_allocator(),
1115:         __n->_M_valptr(),
1115:         std::forward<_Args>(__args)...);
1115:      return __n;
1115:    }
1115:  catch(...)
1115:    {
1115:      __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1);
1115:      throw;
1115:    }
1115:       }
1115: 
1115:   template<typename _NodeAlloc>
1115:     void
1115:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_ptr __n)
1115:     {
1115:       __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr());
1115:       _M_deallocate_node_ptr(__n);
1115:     }
1115: 
1115:   template<typename _NodeAlloc>
1115:     void
1115:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_ptr __n)
1115:     {
1115:       typedef typename __node_alloc_traits::pointer _Ptr;
1115:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n);
1115:       __n->~__node_type();
1115:       __node_alloc_traits::deallocate(_M_node_allocator(), __ptr, 1);
1115:     }
1115: 
1115:   template<typename _NodeAlloc>
1115:     void
1115:     _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_ptr __n)
1115:     {
1115:       while (__n)
1115:  {
1115:    __node_ptr __tmp = __n;
1115:    __n = __n->_M_next();
1115:    _M_deallocate_node(__tmp);
1115:  }
1115:     }
1115: 
1115:   template<typename _NodeAlloc>
1115:     auto
1115:     _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count)
1115:     -> __buckets_ptr
1115:     {
1115:       __buckets_alloc_type __alloc(_M_node_allocator());
1115: 
1115:       auto __ptr = __buckets_alloc_traits::allocate(__alloc, __bkt_count);
1115:       __buckets_ptr __p = std::__to_address(__ptr);
1115:       __builtin_memset(__p, 0, __bkt_count * sizeof(__node_base_ptr));
1115:       return __p;
1115:     }
1115: 
1115:   template<typename _NodeAlloc>
1115:     void
1115:     _Hashtable_alloc<_NodeAlloc>::
1115:     _M_deallocate_buckets(__buckets_ptr __bkts,
1115:      std::size_t __bkt_count)
1115:     {
1115:       typedef typename __buckets_alloc_traits::pointer _Ptr;
1115:       auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts);
1115:       __buckets_alloc_type __alloc(_M_node_allocator());
1115:       __buckets_alloc_traits::deallocate(__alloc, __ptr, __bkt_count);
1115:     }
1115: 
1115: 
1115: }
1115: 
1115: 
1115: }
1115: # 36 "/usr/include/c++/12/bits/hashtable.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/enable_special_members.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/enable  {
1434:      _M_set_result(_S_task_setter(_M_result, _M_fn));
1434:    }
1434:  catch(const __cxxabiv1::__forced_unwind&)
1434:    {
1434: 
1434:      if (static_cast<bool>(_M_result))
1434:        this->_M_break_promise(std::move(_M_result));
1434:      throw;
1434:    }
1434:       }
1434: 
1434:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1434:       _Ptr_type _M_result;
1434:       _BoundFn _M_fn;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     [[__nodiscard__]] future<__async_result_of<_Fn, _Args...>>
1434:     async(launch __policy, _Fn&& __fn, _Args&&... __args)
1434:     {
1434:       using _Wr = std::thread::_Call_wrapper<_Fn, _Args...>;
1434:       using _As = __future_base::_Async_state_impl<_Wr>;
1434:       using _Ds = __future_base::_Deferred_state<_Wr>;
1434: 
1434:       std::shared_ptr<__future_base::_State_base> __state;
1434:       if ((__policy & launch::async) == launch::async)
1434:  {
1434:    try
1434:      {
1434:        __state = std::make_shared<_As>(std::forward<_Fn>(__fn),
1434:            std::forward<_Args>(__args)...);
1434:      }
1434: 
1434:    catch(const system_error& __e)
1434:      {
1434:        if (__e.code() != errc::resource_unavailable_try_again
1434:     || (__policy & launch::deferred) != launch::deferred)
1434:   throw;
1434:      }
1434: 
1434:  }
1434:       if (!__state)
1434:  {
1434:    __state = std::make_shared<_Ds>(std::forward<_Fn>(__fn),
1434:        std::forward<_Args>(__args)...);
1434:  }
1434:       return future<__async_result_of<_Fn, _Args...>>(std::move(__state));
1434:     }
1434: 
1434: 
1434:   template<typename _Fn, typename... _Args>
1434:     [[__nodiscard__]] inline future<__async_result_of<_Fn, _Args...>>
1434:     async(_Fn&& __fn, _Args&&... __args)
1434:     {
1434:       return std::async(launch::async|launch::deferred,
1434:    std::forward<_Fn>(__fn),
1434:    std::forward<_Args>(__args)...);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/thread" 1 3
1434: # 32 "/usr/include/c++/12/thread" 3
1434:        
1434: # 33 "/usr/include/c++/12/thread" 3
1434: # 44 "/usr/include/c++/12/thread" 3
1434: # 1 "/usr/include/c++/12/bits/this_thread_sleep.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/cerrno" 1 3
1434: # 39 "/usr/include/c++/12/cerrno" 3
1434:        
1434: # 40 "/usr/include/c++/12/cerrno" 3
1434: # 40 "/usr/include/c++/12/bits/this_thread_sleep.h" 2 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 56 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1434:   namespace this_thread
1434:   {
1434: # 66 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1434:     template<typename _Rep, typename _Period>
1434:       inline void
1434:       sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
1434:       {
1434:  if (__rtime <= __rtime.zero())
1434:    return;
1434:  auto __s = chrono::duration_cast<chrono::seconds>(__rtime);
1434:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__rtime - __s);
1434: 
1434:  struct ::timespec __ts =
1434:    {
1434:      static_cast<std::time_t>(__s.count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434:  while (::nanosleep(&__ts, &__ts) == -1 && (*__errno_location ()) == 4)
1434:    { }
1434: 
1434: 
1434: 
1434:       }
1434: 
1434: 
1434:     template<typename _Clock, typename _Duration>
1434:       inline void
1434:       sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
1434:       {
1434: 
1434: 
1434: 
1434:  auto __now = _Clock::now();
1434:  if (_Clock::is_steady)
1434:    {
1434:      if (__now < __atime)
1434:        sleep_for(__atime - __now);
1434:      return;
1434:    }
1434:  while (__now < __atime)
1434:    {
1434:      sleep_for(__atime - __now);
1434:      __now = _Clock::now();
1434:    }
1434:       }
1434: 
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 45 "/usr/include/c++/12/thread" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 65 "/usr/include/c++/12/thread" 3
1434:   inline bool
1434:   operator!=(thread::id __x, thread::id __y) noexcept
1434:   { return !(__x == __y); }
1434: 
1434:   inline bool
1434:   operator<(thread::id __x, thread::id __y) noexcept
1434:   {
1434: 
1434: 
1434:     return __x._M_thread < __y._M_thread;
1434:   }
1434: 
1434:   inline bool
1434:   operator<=(thread::id __x, thread::id __y) noexcept
1434:   { return !(__y < __x); }
1434: 
1434:   inline bool
1434:   operator>(thread::id __x, thread::id __y) noexcept
1434:   { return __y < __x; }
1434: 
1434:   inline bool
1434:   operator>=(thread::id __x, thread::id __y) noexcept
1434:   { return !(__x < __y); }
1434: 
1434: 
1434:   template<class _CharT, class _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __out, thread::id __id)
1434:     {
1434:       if (__id == thread::id())
1434:  return __out << "thread::id of a non-executing thread";
1434:       else
1434:  return __out << __id._M_thread;
1434:     }
1434: # 262 "/usr/include/c++/12/thread" 3
1434: 
1434: }
1434: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1434: 
1434: 
1434: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1434: enum class ThreadPriority
1434: {
1434:   LOWEST,
1434:   BELOW_NORMAL,
1434:   NORMAL,
1434:   ABOVE_NORMAL,
1434:   HIGHEST,
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   PRIORITY_COUNT,
1434: };
1434: 
1434: class IRunnable;
1434: class IThreadImpl;
1434: class CThread
1434: {
1434: protected:
1434:   explicit CThread(const char* ThreadName);
1434: 
1434: public:
1434:   CThread(IRunnable* pRunnable, const char* ThreadName);
1434:   virtual ~CThread();
1434:   void Create(bool bAutoDelete = false);
1434: 
1434:   template<typename Rep, typename Period>
1434:   void Sleep(std::chrono::duration<Rep, Period> duration)
1434:   {
1434:     if (duration > std::chrono::milliseconds(10) && IsCurrentThread())
1434:       m_StopEvent.Wait(duration);
1434:     else
1434:       std::this_thread::sleep_for(duration);
1434:   }
1434: 
1434:   bool IsAutoDelete() const;
1434:   virtual void StopThread(bool bWait = true);
1434:   bool IsRunning() const;
1434: 
1434:   bool IsCurrentThread() const;
1434:   bool Join(std::chrono::milliseconds duration);
1434: 
1434:   inline static const std::thread::id GetCurrentThreadId()
1434:   {
1434:     return std::this_thread::get_id();
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetPriority(const ThreadPriority& priority);
1434: 
1434:   static CThread* GetCurrentThread();
1434: 
1434:   virtual void OnException(){}
1434: 
1434: protected:
1434:   virtual void OnStartup() {}
1434:   virtual void OnExit() {}
1434:   virtual void Process();
1434: 
1434:   std::atomic<bool> m_bStop;
1434: 
1434:   enum WaitResponse { WAIT_INTERRUPTED = -1, WAIT_SIGNALED = 0, WAIT_TIMEDOUT = 1 };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline WaitResponse AbortableWait(CEvent& event,
1434:                                     std::chrono::milliseconds duration =
1434:                                         std::chrono::milliseconds(-1) )
1434:   {
1434:     XbmcThreads::CEventGroup group{&event, &m_StopEvent};
1434:     const CEvent* result =
1434:         duration < std::chrono::milliseconds::zero() ? group.wait() : group.wait(duration);
1434:     return result == &event ? WAIT_SIGNALED :
1434:       (result == 
1434: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 3 4
1434:                 __null 
1434: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1434:                      ? WAIT_TIMEDOUT : WAIT_INTERRUPTED);
1434:   }
1434: 
1434: private:
1434:   void Action();
1434: 
1434:   bool m_bAutoDelete = false;
1434:   CEvent m_StopEvent;
1434:    TiXmlNode* oldSettingNode) override;
1417: };
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 2
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListTypes.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/playlists/PlayListTypes.h"
1417:        
1417: 
1417: namespace PLAYLIST
1417: {
1417: 
1417: using Id = int;
1417: 
1417: constexpr Id TYPE_NONE = -1;
1417: constexpr Id TYPE_MUSIC = 0;
1417: constexpr Id TYPE_VIDEO = 1;
1417: constexpr Id TYPE_PICTURE = 2;
1417: 
1417: 
1417: 
1417: 
1417: enum class RepeatState
1417: {
1417:   NONE,
1417:   ONE,
1417:   ALL
1417: };
1417: 
1417: }
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SystemClock.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SystemClock.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace XbmcThreads
1417: {
1417: 
1417: template<typename>
1417: struct is_chrono_duration : std::false_type
1417: {
1417: };
1417: 
1417: template<typename Rep, typename Period>
1417: struct is_chrono_duration<std::chrono::duration<Rep, Period>> : std::true_type
1417: {
1417: };
1417: 
1417: template<typename T = std::chrono::milliseconds, bool = is_chrono_duration<T>::value>
1417: class EndTime;
1417: 
1417: template<typename T>
1417: class EndTime<T, true>
1417: {
1417: public:
1417:   explicit EndTime(const T duration)
1417:     : m_startTime(std::chrono::steady_clock::now()), m_totalWaitTime(duration)
1417:   {
1417:   }
1417: 
1417:   EndTime() = default;
1417:   EndTime(const EndTime& right) = delete;
1417:   ~EndTime() = default;
1417: 
1417:   void Set(const T duration)
1417:   {
1417:     m_startTime = std::chrono::steady_clock::now();
1417:     m_totalWaitTime = duration;
1417:   }
1417: 
1417:   bool IsTimePast() const
1417:   {
1417:     if (m_totalWaitTime == m_infinity)
1417:       return false;
1417: 
1417:     const auto now = std::chrono::steady_clock::now();
1417: 
1417:     return ((now - m_startTime) >= m_totalWaitTime);
1417:   }
1417: 
1417:   T GetTimeLeft() const
1417:   {
1417:     if (m_totalWaitTime == m_infinity)
1417:       return m_infinity;
1417: 
1417:     const auto now = std::chrono::steady_clock::now();
1417: 
1417:     const auto left = ((m_startTime + m_totalWaitTime) - now);
1417: 
1417:     if (left < T::zero())
1417:       return T::zero();
1417: 
1417:     return std::chrono::duration_cast<T>(left);
1417:   }
1417: 
1417:   void SetExpired() { m_totalWaitTime = T::zero(); }
1417: 
1417:   void SetInfinite() { m_totalWaitTime = m_infinity; }
1417: 
1417:   bool IsInfinite() const { return (m_totalWaitTime == m_infinity); }
1417: 
1417:   T GetInitialTimeoutValue() const { return m_totalWaitTime; }
1417: 
1417:   std::chrono::steady_clock::time_point GetStartTime() const { return m_startTime; }
1417: 
1417: private:
1417:   std::chrono::steady_clock::time_point m_startTime;
1417:   T m_totalWaitTime = T::zero();
1417: 
1417:   const T m_infinity = T::max();
1417: };
1417: 
1417: }
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Stopwatch.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Stopwatch.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class CStopWatch
1417: {
1417: public:
1417:   CStopWatch() = default;
1417:   ~CStopWatch() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   inline bool IsRunning() const
1417:   {
1417:     return m_isRunning;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   inline void StartZero()
1417:   {
1417:     m_startTick = std::chrono::steady_clock::now();
1417:     m_isRunning = true;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   inline void Start()
1417:   {
1417:     if (!m_isRunning)
1417:       StartZero();
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   inline void Stop()
1417:   {
1417:     if(m_isRunning)
1417:     {
1417:       m_stopTick = std::chrono::steady_clock::now();
1417:       m_isRunn_special_members.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/enable_special_members.h" 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   struct _Enable_default_constructor_tag
1115:   {
1115:     explicit constexpr _Enable_default_constructor_tag() = default;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template<bool _Switch, typename _Tag = void>
1115:   struct _Enable_default_constructor
1115:   {
1115:     constexpr _Enable_default_constructor() noexcept = default;
1115:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1115:       noexcept = default;
1115:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1115:       noexcept = default;
1115:     _Enable_default_constructor&
1115:     operator=(_Enable_default_constructor const&) noexcept = default;
1115:     _Enable_default_constructor&
1115:     operator=(_Enable_default_constructor&&) noexcept = default;
1115: 
1115: 
1115:     constexpr explicit
1115:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template<bool _Switch, typename _Tag = void>
1115:   struct _Enable_destructor { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template<bool _Copy, bool _CopyAssignment,
1115:          bool _Move, bool _MoveAssignment,
1115:          typename _Tag = void>
1115:   struct _Enable_copy_move { };
1115: # 96 "/usr/include/c++/12/bits/enable_special_members.h" 3
1115: template<bool _Default, bool _Destructor,
1115:          bool _Copy, bool _CopyAssignment,
1115:          bool _Move, bool _MoveAssignment,
1115:          typename _Tag = void>
1115:   struct _Enable_special_members
1115:   : private _Enable_default_constructor<_Default, _Tag>,
1115:     private _Enable_destructor<_Destructor, _Tag>,
1115:     private _Enable_copy_move<_Copy, _CopyAssignment,
1115:                               _Move, _MoveAssignment,
1115:                               _Tag>
1115:   { };
1115: 
1115: 
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_default_constructor<false, _Tag>
1115:   {
1115:     constexpr _Enable_default_constructor() noexcept = delete;
1115:     constexpr _Enable_default_constructor(_Enable_default_constructor const&)
1115:       noexcept = default;
1115:     constexpr _Enable_default_constructor(_Enable_default_constructor&&)
1115:       noexcept = default;
1115:     _Enable_default_constructor&
1115:     operator=(_Enable_default_constructor const&) noexcept = default;
1115:     _Enable_default_constructor&
1115:     operator=(_Enable_default_constructor&&) noexcept = default;
1115: 
1115: 
1115:     constexpr explicit
1115:     _Enable_default_constructor(_Enable_default_constructor_tag) { }
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_destructor<false, _Tag>
1115:   { ~_Enable_destructor() noexcept = delete; };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<false, true, true, true, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = default;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<true, false, true, true, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = default;
1115:   };
1115: 
1115: template<typename _Tag>
1115:CEvent m_StartEvent;
1434:   CCriticalSection m_CriticalSection;
1434:   IRunnable* m_pRunnable;
1434: 
1434:   std::string m_ThreadName;
1434:   std::thread* m_thread = nullptr;
1434:   std::future<bool> m_future;
1434: 
1434:   std::unique_ptr<IThreadImpl> m_impl;
1434: };
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 2
1434: 
1434: # 1 "/usr/include/c++/12/queue" 1 3
1434: # 58 "/usr/include/c++/12/queue" 3
1434:        
1434: # 59 "/usr/include/c++/12/queue" 3
1434: 
1434: # 1 "/usr/include/c++/12/deque" 1 3
1434: # 58 "/usr/include/c++/12/deque" 3
1434:        
1434: # 59 "/usr/include/c++/12/deque" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stl_deque.h" 1 3
1434: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1434: 
1434: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: # 95 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:   constexpr inline size_t
1434:   __deque_buf_size(size_t __size)
1434:   { return (__size < 512
1434:      ? size_t(512 / __size) : size_t(1)); }
1434: # 112 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:   template<typename _Tp, typename _Ref, typename _Ptr>
1434:     struct _Deque_iterator
1434:     {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     private:
1434:       template<typename _CvTp>
1434:  using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_rebind<_Ptr, _CvTp>>;
1434:     public:
1434:       typedef __iter<_Tp> iterator;
1434:       typedef __iter<const _Tp> const_iterator;
1434:       typedef __ptr_rebind<_Ptr, _Tp> _Elt_pointer;
1434:       typedef __ptr_rebind<_Ptr, _Elt_pointer> _Map_pointer;
1434: 
1434: 
1434:       static size_t _S_buffer_size() noexcept
1434:       { return __deque_buf_size(sizeof(_Tp)); }
1434: 
1434:       typedef std::random_access_iterator_tag iterator_category;
1434:       typedef _Tp value_type;
1434:       typedef _Ptr pointer;
1434:       typedef _Ref reference;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef _Deque_iterator _Self;
1434: 
1434:       _Elt_pointer _M_cur;
1434:       _Elt_pointer _M_first;
1434:       _Elt_pointer _M_last;
1434:       _Map_pointer _M_node;
1434: 
1434:       _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept
1434:       : _M_cur(__x), _M_first(*__y),
1434:  _M_last(*__y + _S_buffer_size()), _M_node(__y) { }
1434: 
1434:       _Deque_iterator() noexcept
1434:       : _M_cur(), _M_first(), _M_last(), _M_node() { }
1434: # 161 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename _Iter,
1434:         typename = _Require<is_same<_Self, const_iterator>,
1434:        is_same<_Iter, iterator>>>
1434:        _Deque_iterator(const _Iter& __x) noexcept
1434:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
1434:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1434: 
1434:       _Deque_iterator(const _Deque_iterator& __x) noexcept
1434:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
1434:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1434: 
1434:       _Deque_iterator& operator=(const _Deque_iterator&) = default;
1434: 
1434: 
1434:       iterator
1434:       _M_const_cast() const noexcept
1434:       { return iterator(_M_cur, _M_node); }
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       operator*() const noexcept
1434:       { return *_M_cur; }
1434: 
1434:       [[__nodiscard__]]
1434:       pointer
1434:       operator->() const noexcept
1434:       { return _M_cur; }
1434: 
1434:       _Self&
1434:       operator++() noexcept
1434:       {
1434:  ++_M_cur;
1434:  if (_M_cur == _M_last)
1434:    {
1434:      _M_set_node(_M_node + 1);
1434:      _M_cur = _M_first;
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator++(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  ++*this;
1434:  return __tmp;
1434:       }
1434: 
1434:       _Self&
1434:       operator--() noexcept
1434:       {
1434:  if (_M_cur == _M_first)
1434:    {
1434:      _M_set_node(_M_node - 1);
1434:      _M_cur = _M_last;
1434:    }
1434:  --_M_cur;
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator--(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  --*this;
1434:  return __tmp;
1434:       }
1434: 
1434:       _Self&
1434:       operator+=(difference_type __n) noexcept
1434:       {
1434:  const difference_type __offset = __n + (_M_cur - _M_first);
1434:  if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
1434:    _M_cur += __n;
1434:  else
1434:    {
1434:      const difference_type __node_offset =
1434:        __offset > 0 ? __offset / difference_type(_S_buffer_size())
1434:       : -difference_type((-__offset - 1)
1434:            / _S_buffer_size()) - 1;
1434:      _M_set_node(_M_node + __node_offset);
1434:      _M_cur = _M_first + (__offset - __node_offset
1434:      * difference_type(_S_buffer_size()));
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:       _Self&
1434:       operator-=(difference_type __n) noexcept
1434:       { return *this += -__n; }
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       operator[](difference_type __n) const noexcept
1434:       { return *(*this + __n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_set_node(_Map_pointer __new_node) noexcept
1434:       {
1434:  _M_node = __new_node;
1434:  _M_first = *__new_node;
1434:  _M_last = _M_first + difference_type(_S_buffer_size());
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator==(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_cur == __y._M_cur; }
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _RefR, typename _PtrR>
1434:  [[__nodiscard__]]
1434:  friend bool
1434:  operator==(const _Self& __x,
1434:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1434:  noexcept
1434:  { return __x._M_cur == __y._M_cur; }
1434: # 296 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator!=(const _Self& __x, const _Self& __y) noexcept
1434:       { return !(__x == __y); }
1434: 
1434:       template<typename _RefR, typename _PtrR>
1434:  [[__nodiscard__]]
1434:  friend bool
1434:  operator!=(const _Self& __x,
1434:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1434:  noexcept
1434:  { return !(__x == __y); }
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator<(const _Self& __x, const _Self& __y) noexcept
1434:       {
1434:  return (__x._M_node == __y._M_node)
1434:    ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1434:       }
1434: 
1434:       template<typename _RefR, typename _PtrR>
1434:  [[__nodiscard__]]
1434:  friend bool
1434:  operator<(const _Self& __x,
1434:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1434:  noexcept
1434:  {
1434:    return (__x._M_node == __y._M_node)
1434:      ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1434:  }
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator>(const _Self& __x, const _Self& __y) noexcept
1434:       { return __y < __x; }
1434: 
1434:       template<typename _RefR, typename _PtrR>
1434:  [[__nodiscard__]]
1434:  friend bool
1434:  operator>(const _Self& __x,
1434:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1434:  noexcept
1434:  { return __y < __x; }
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator<=(const _Self& __x, const _Self& __y) noexcept
1434:       { return !(__y < __x); }
1434: 
1434:       template<typename _RefR, typename _PtrR>
1434:  [[__nodiscard__]]
1434:  friend bool
1434:  operator<=(const _Self& __x,
1434:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1434:  noexcept
1434:  { return !(__y < __x); }
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator>=(const _Self& __x, const _Self& __y) noexcept
1434:       { return !(__x < __y); }
1434: 
1434:       template<typename _RefR, typename _PtrR>
ing = false;
1417:     }
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   void Reset()
1417:   {
1417:     if (m_isRunning)
1417:       m_startTick = std::chrono::steady_clock::now();
1417:     else
1417:       m_startTick = m_stopTick;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   float GetElapsedSeconds() const
1417:   {
1417:     std::chrono::duration<float> elapsed;
1417: 
1417:     if (m_isRunning)
1417:       elapsed = std::chrono::steady_clock::now() - m_startTick;
1417:     else
1417:       elapsed = m_stopTick - m_startTick;
1417: 
1417:     return elapsed.count();
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   float GetElapsedMilliseconds() const
1417:   {
1417:     std::chrono::duration<float, std::milli> elapsed;
1417: 
1417:     if (m_isRunning)
1417:       elapsed = std::chrono::steady_clock::now() - m_startTick;
1417:     else
1417:       elapsed = m_stopTick - m_startTick;
1417: 
1417:     return elapsed.count();
1417:   }
1417: 
1417: private:
1417:   std::chrono::time_point<std::chrono::steady_clock> m_startTick;
1417:   std::chrono::time_point<std::chrono::steady_clock> m_stopTick;
1417:   bool m_isRunning = false;
1417: };
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 2
1417: # 32 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h"
1417: class CAction;
1417: class CAppInboundProtocol;
1417: class CBookmark;
1417: class CFileItem;
1417: class CFileItemList;
1417: class CGUIComponent;
1417: class CInertialScrollingHandler;
1417: class CKey;
1417: class CSeekHandler;
1417: class CServiceManager;
1417: class CSettingsComponent;
1417: class CSplash;
1417: class CWinSystemBase;
1417: 
1417: namespace ADDON
1417: {
1417:   class CSkinInfo;
1417:   class IAddon;
1417:   typedef std::shared_ptr<IAddon> AddonPtr;
1417:   class CAddonInfo;
1417: }
1417: 
1417: namespace ANNOUNCEMENT
1417: {
1417:   class CAnnouncementManager;
1417: }
1417: 
1417: namespace MEDIA_DETECT
1417: {
1417:   class CAutorun;
1417: }
1417: 
1417: namespace PLAYLIST
1417: {
1417:   class CPlayList;
1417: }
1417: 
1417: namespace ActiveAE
1417: {
1417:   class CActiveAE;
1417: }
1417: 
1417: namespace VIDEO
1417: {
1417:   class CVideoInfoScanner;
1417: }
1417: 
1417: namespace MUSIC_INFO
1417: {
1417:   class CMusicInfoScanner;
1417: }
1417: 
1417: class CApplication : public IWindowManagerCallback,
1417:                      public IMsgTargetCallback,
1417:                      public KODI::MESSAGING::IMessageTarget,
1417:                      public CApplicationComponents,
1417:                      public CApplicationPlayerCallback,
1417:                      public CApplicationSettingsHandling
1417: {
1417: friend class CAppInboundProtocol;
1417: 
1417: public:
1417: 
1417: 
1417: 
1417:   static const unsigned int ACTION_PREV_ITEM_THRESHOLD = 3;
1417: 
1417:   CApplication(void);
1417:   ~CApplication(void) override;
1417: 
1417:   bool Create();
1417:   bool Initialize();
1417:   int Run();
1417:   bool Cleanup();
1417: 
1417:   void FrameMove(bool processEvents, bool processGUI = true) override;
1417:   void Render() override;
1417: 
1417:   bool IsInitialized() const { return !m_bInitializing; }
1417:   bool IsStopping() const { return m_bStop; }
1417: 
1417:   bool CreateGUI();
1417:   bool InitWindow(RESOLUTION res = RES_INVALID);
1417: 
1417:   bool Stop(int exitCode);
1417:   const std::string& CurrentFile();
1417:   CFileItem& CurrentFileItem();
1417:   std::shared_ptr<CFileItem> CurrentFileItemPtr();
1417:   const CFileItem& CurrentUnstackedItem();
1417:   bool OnMessage(CGUIMessage& message) override;
1417:   std::string GetCurrentPlayer();
1417: 
1417:   int GetMessageMask() override;
1417:   void OnApplicationMessage(KODI::MESSAGING::ThreadMessage* pMsg) override;
1417: 
1417:   bool PlayMedia(CFileItem& item, const std::string& player, PLAYLIST::Id playlistId);
1417:   bool ProcessAndStartPlaylist(const std::string& strPlayList,
1417:                                PLAYLIST::CPlayList& playlist,
1417:                                PLAYL   struct _Enable_copy_move<false, false, true, true, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = default;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<true, true, false, true, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = default;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<false, true, false, true, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = default;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<true, false, false, true, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = default;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<false, false, false, true, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = default;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<true, true, true, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<false, true, true, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<true, false, true, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115: 1434:  [[__nodiscard__]]
1434:  friend bool
1434:  operator>=(const _Self& __x,
1434:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1434:  noexcept
1434:  { return !(__x < __y); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       friend difference_type
1434:       operator-(const _Self& __x, const _Self& __y) noexcept
1434:       {
1434:  return difference_type(_S_buffer_size())
1434:    * (__x._M_node - __y._M_node - bool(__x._M_node))
1434:    + (__x._M_cur - __x._M_first)
1434:    + (__y._M_last - __y._M_cur);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _RefR, typename _PtrR>
1434:  [[__nodiscard__]]
1434:  friend difference_type
1434:  operator-(const _Self& __x,
1434:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1434:  noexcept
1434:  {
1434:    return difference_type(_S_buffer_size())
1434:      * (__x._M_node - __y._M_node - bool(__x._M_node))
1434:      + (__x._M_cur - __x._M_first)
1434:      + (__y._M_last - __y._M_cur);
1434:  }
1434: 
1434:       [[__nodiscard__]]
1434:       friend _Self
1434:       operator+(const _Self& __x, difference_type __n) noexcept
1434:       {
1434:  _Self __tmp = __x;
1434:  __tmp += __n;
1434:  return __tmp;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       friend _Self
1434:       operator-(const _Self& __x, difference_type __n) noexcept
1434:       {
1434:  _Self __tmp = __x;
1434:  __tmp -= __n;
1434:  return __tmp;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       friend _Self
1434:       operator+(difference_type __n, const _Self& __x) noexcept
1434:       { return __x + __n; }
1434:     };
1434: # 429 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     class _Deque_base
1434:     {
1434:     protected:
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_Tp>::other _Tp_alloc_type;
1434:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef typename _Alloc_traits::pointer _Ptr;
1434:       typedef typename _Alloc_traits::const_pointer _Ptr_const;
1434: 
1434: 
1434:       typedef typename _Alloc_traits::template rebind<_Ptr>::other
1434:  _Map_alloc_type;
1434:       typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits;
1434: 
1434:       typedef _Alloc allocator_type;
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_M_get_Tp_allocator()); }
1434: 
1434:       typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator;
1434:       typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator;
1434: 
1434:       _Deque_base()
1434:       : _M_impl()
1434:       { _M_initialize_map(0); }
1434: 
1434:       _Deque_base(size_t __num_elements)
1434:       : _M_impl()
1434:       { _M_initialize_map(__num_elements); }
1434: 
1434:       _Deque_base(const allocator_type& __a, size_t __num_elements)
1434:       : _M_impl(__a)
1434:       { _M_initialize_map(__num_elements); }
1434: 
1434:       _Deque_base(const allocator_type& __a)
1434:       : _M_impl(__a)
1434:       { }
1434: 
1434: 
1434:       _Deque_base(_Deque_base&& __x)
1434:       : _M_impl(std::move(__x._M_get_Tp_allocator()))
1434:       {
1434:  _M_initialize_map(0);
1434:  if (__x._M_impl._M_map)
1434:    this->_M_impl._M_swap_data(__x._M_impl);
1434:       }
1434: 
1434:       _Deque_base(_Deque_base&& __x, const allocator_type& __a)
1434:       : _M_impl(std::move(__x._M_impl), _Tp_alloc_type(__a))
1434:       { __x._M_initialize_map(0); }
1434: 
1434:       _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_t __n)
1434:       : _M_impl(__a)
1434:       {
1434:  if (__x.get_allocator() == __a)
1434:    {
1434:      if (__x._M_impl._M_map)
1434:        {
1434:   _M_initialize_map(0);
1434:   this->_M_impl._M_swap_data(__x._M_impl);
1434:        }
1434:    }
1434:  else
1434:    {
1434:      _M_initialize_map(__n);
1434:    }
1434:       }
1434: 
1434: 
1434:       ~_Deque_base() noexcept;
1434: 
1434:       typedef typename iterator::_Map_pointer _Map_pointer;
1434: 
1434:       struct _Deque_impl_data
1434:       {
1434:  _Map_pointer _M_map;
1434:  size_t _M_map_size;
1434:  iterator _M_start;
1434:  iterator _M_finish;
1434: 
1434:  _Deque_impl_data() noexcept
1434:  : _M_map(), _M_map_size(), _M_start(), _M_finish()
1434:  { }
1434: 
1434: 
1434:  _Deque_impl_data(const _Deque_impl_data&) = default;
1434:  _Deque_impl_data&
1434:  operator=(const _Deque_impl_data&) = default;
1434: 
1434:  _Deque_impl_data(_Deque_impl_data&& __x) noexcept
1434:  : _Deque_impl_data(__x)
1434:  { __x = _Deque_impl_data(); }
1434: 
1434: 
1434:  void
1434:  _M_swap_data(_Deque_impl_data& __x) noexcept
1434:  {
1434: 
1434: 
1434:    std::swap(*this, __x);
1434:  }
1434:       };
1434: 
1434: 
1434: 
1434: 
1434:       struct _Deque_impl
1434:       : public _Tp_alloc_type, public _Deque_impl_data
1434:       {
1434:  _Deque_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1434: 
1434:  : _Tp_alloc_type()
1434:  { }
1434: 
1434:  _Deque_impl(const _Tp_alloc_type& __a) noexcept
1434:  : _Tp_alloc_type(__a)
1434:  { }
1434: 
1434: 
1434:  _Deque_impl(_Deque_impl&&) = default;
1434: 
1434:  _Deque_impl(_Tp_alloc_type&& __a) noexcept
1434:  : _Tp_alloc_type(std::move(__a))
1434:  { }
1434: 
1434:  _Deque_impl(_Deque_impl&& __d, _Tp_alloc_type&& __a)
1434:  : _Tp_alloc_type(std::move(__a)), _Deque_impl_data(std::move(__d))
1434:  { }
1434: 
1434:       };
1434: 
1434:       _Tp_alloc_type&
1434:       _M_get_Tp_allocator() noexcept
1434:       { return this->_M_impl; }
1434: 
1434:       const _Tp_alloc_type&
1434:       _M_get_Tp_allocator() const noexcept
1434:       { return this->_M_impl; }
1434: 
1434:       _Map_alloc_type
1434:       _M_get_map_allocator() const noexcept
1434:       { return _Map_alloc_type(_M_get_Tp_allocator()); }
1434: 
1434:       _Ptr
1434:       _M_allocate_node()
1434:       {
1434:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1434:  return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp)));
1434:       }
1434: 
1434:       void
1434:       _M_deallocate_node(_Ptr __p) noexcept
1434:       {
1434:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1434:  _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
1434:       }
1434: 
1434:       _Map_pointer
1434:       _M_allocate_map(size_t __n)
1434:       {
1434:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1434:  return _Map_alloc_traits::allocate(__map_alloc, __n);
1434:       }
1434: 
1434:       void
1434:       _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept
1434:       {
1434:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1434:  _Map_alloc_traits::deallocate(__map_alloc, __p, __n);
1434:       }
1434: 
1434:       void _M_initialize_map(size_t);
1434:       void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish);
1434:       void _M_destroy_nodes(_Map_pointer __nstart,
1434:        _Map_pointer __nfinish) noexcept;
1434:       enum { _S_initial_map_size = 8 };
1434: 
1434:       _Deque_impl _M_impl;
1434:     };
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     _Deque_base<_Tp, _Alloc>::
1434:     ~_Deque_base() noexcept
1434:     {
1434:       if (this->_M_impl._M_map)
1434:  {
1434:    _M_destroy_nodes(this->_M_impl._M_start._M_node,
1434:       this->_M_impl._M_finish._M_node + 1);
1434:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1434:  }
1434:     }
1434: # 636 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     _Deque_base<_Tp, _Alloc>::
1434:     _M_initialize_map(size_t __num_elements)
1434:     {
1434:       const size_t __num_nodes = (__num_elements / __deque_buf_size(sizeof(_Tp))
1434:       + 1);
1434: 
1434:       this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
1434:         size_t(__num_nodes + 2));
1434:       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
1434: 
1434: 
1434: 
1434: 
1434: 
1IST::Id playlistId,
1417:                                int track = 0);
1417:   bool PlayFile(CFileItem item, const std::string& player, bool bRestart = false);
1417:   void StopPlaying();
1417:   void Restart(bool bSamePosition = true);
1417:   void DelayedPlayerRestart();
1417:   void CheckDelayedPlayerRestart();
1417:   bool IsPlayingFullScreenVideo() const;
1417:   bool IsFullScreen();
1417:   bool OnAction(const CAction &action);
1417:   void CloseNetworkShares();
1417: 
1417:   void ConfigureAndEnableAddons();
1417:   void ShowAppMigrationMessage();
1417:   void Process() override;
1417:   void ProcessSlow();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   double GetTotalTime() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   double GetTime() const;
1417:   float GetPercentage() const;
1417: 
1417: 
1417:   float GetCachePercentage() const;
1417: 
1417:   void SeekPercentage(float percent);
1417:   void SeekTime( double dTime = 0.0 );
1417: 
1417:   void UpdateLibraries();
1417: 
1417:   void UpdateCurrentPlayArt();
1417: 
1417:   bool ExecuteXBMCAction(std::string action, const CGUIListItemPtr &item = 
1417: # 170 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h" 3 4
1417:                                                                           __null
1417: # 170 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/Application.h"
1417:                                                                               );
1417: 
1417: 
1417:   std::unique_ptr<MEDIA_DETECT::CAutorun> m_Autorun;
1417: 
1417: 
1417:   std::string m_strPlayListFile;
1417: 
1417:   bool IsAppFocused() const { return m_AppFocused; }
1417: 
1417:   bool GetRenderGUI() const override;
1417: 
1417:   bool SetLanguage(const std::string &strLanguage);
1417:   bool LoadLanguage(bool reload);
1417: 
1417:   void SetLoggingIn(bool switchingProfiles);
1417: 
1417:   std::unique_ptr<CServiceManager> m_ServiceManager;
1417: 
1417: 
1417: 
1417: 
1417:   void LockFrameMoveGuard();
1417: 
1417: 
1417: 
1417: 
1417:   void UnlockFrameMoveGuard();
1417: 
1417: protected:
1417:   bool OnSettingsSaving() const override;
1417:   void PlaybackCleanup();
1417: 
1417: 
1417:   bool OnEvent(XBMC_Event& newEvent);
1417: 
1417:   std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> m_pAnnouncementManager;
1417:   std::unique_ptr<CGUIComponent> m_pGUI;
1417:   std::unique_ptr<CWinSystemBase> m_pWinSystem;
1417:   std::unique_ptr<ActiveAE::CActiveAE> m_pActiveAE;
1417:   std::shared_ptr<CAppInboundProtocol> m_pAppPort;
1417:   std::deque<XBMC_Event> m_portEvents;
1417:   CCriticalSection m_portSection;
1417: 
1417: 
1417:   CStopWatch m_restartPlayerTimer;
1417:   CStopWatch m_frameTime;
1417:   CStopWatch m_slowTimer;
1417:   XbmcThreads::EndTime<> m_guiRefreshTimer;
1417: 
1417:   std::string m_prevMedia;
1417:   bool m_bInitializing = true;
1417: 
1417:   int m_nextPlaylistItem = -1;
1417: 
1417:   std::chrono::time_point<std::chrono::steady_clock> m_lastRenderTime;
1417:   bool m_skipGuiRender = false;
1417: 
1417:   std::unique_ptr<MUSIC_INFO::CMusicInfoScanner> m_musicInfoScanner;
1417: 
1417:   bool PlayStack(CFileItem& item, bool bRestart);
1417: 
1417:   void HandlePortEvents();
1417: 
1417:   std::unique_ptr<CInertialScrollingHandler> m_pInertialScrollingHandler;
1417: 
1417:   std::vector<std::shared_ptr<ADDON::CAddonInfo>>
1417:       m_incompatibleAddons;
1417: 
1417: public:
1417:   bool m_bStop{false};
1417:   bool m_AppFocused{true};
1417: 
1417: private:
1417:   void PrintStartupLog();
1417:   void ResetCurrentItem();
1417: 
1417:   mutable CCriticalSection m_critSection;
1417: 
1417:   CCriticalSection m_frameMoveGuard;
1417:   std::atomic_uint m_WaitingExternalCalls;
1417:   unsigned int m_ProcessedExternalCalls = 0;
1417:   unsigned int m_ProcessedExternalDecay = 0;
1417:   int m_ExitCode{EXITCODE_QUIT};
1417: };
1417: 
1417: static std::shared_ptr<CApplication> g_applicationRef(xbmcutil::GlobalsSingleton<CApplication>::getInstance());
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: 
1417:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<false, false, true, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<true, true, false, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<false, true, false, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = default;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<true, false, false, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: template<typename _Tag>
1115:   struct _Enable_copy_move<false, false, false, false, _Tag>
1115:   {
1115:     constexpr _Enable_copy_move() noexcept = default;
1115:     constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete;
1115:     constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move const&) noexcept = delete;
1115:     _Enable_copy_move&
1115:     operator=(_Enable_copy_move&&) noexcept = delete;
1115:   };
1115: 
1115: 
1115: 
1115: }
1115: # 37 "/usr/include/c++/12/bits/hashtable.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Hash>
1115:     using __cache_default
1115:       = __not_<__and_<
1115:          __is_fast_hash<_Hash>,
1115: 
1115:          __is_nothrow_invocable<const _Hash&, const _Tp&>>>;
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Equal, typename _Hash, typename _Allocator>
1115:     using _Hashtable_enable_default_ctor
1115:       = _Enable_default_constructor<__and_<is_default_constructible<_Equal>,
1115:            is_default_constructible<_Hash>,
1115:            is_default_constructible<_Allocator>>{},
1115:         __detail::_Hash_node_base>;
1115: # 178 "/usr/include/c++/12/bits/hashtable.h" 3
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     class _Hashtable
1115:     : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal,
1115:            _Hash, _RangeHash, _Unused, _Traits>,
1115:       public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:     434: 
1434:       _Map_pointer __nstart = (this->_M_impl._M_map
1434:           + (this->_M_impl._M_map_size - __num_nodes) / 2);
1434:       _Map_pointer __nfinish = __nstart + __num_nodes;
1434: 
1434:       try
1434:  { _M_create_nodes(__nstart, __nfinish); }
1434:       catch(...)
1434:  {
1434:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1434:    this->_M_impl._M_map = _Map_pointer();
1434:    this->_M_impl._M_map_size = 0;
1434:    throw;
1434:  }
1434: 
1434:       this->_M_impl._M_start._M_set_node(__nstart);
1434:       this->_M_impl._M_finish._M_set_node(__nfinish - 1);
1434:       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
1434:       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
1434:      + __num_elements
1434:      % __deque_buf_size(sizeof(_Tp)));
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     _Deque_base<_Tp, _Alloc>::
1434:     _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish)
1434:     {
1434:       _Map_pointer __cur;
1434:       try
1434:  {
1434:    for (__cur = __nstart; __cur < __nfinish; ++__cur)
1434:      *__cur = this->_M_allocate_node();
1434:  }
1434:       catch(...)
1434:  {
1434:    _M_destroy_nodes(__nstart, __cur);
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     _Deque_base<_Tp, _Alloc>::
1434:     _M_destroy_nodes(_Map_pointer __nstart,
1434:        _Map_pointer __nfinish) noexcept
1434:     {
1434:       for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n)
1434:  _M_deallocate_node(*__n);
1434:     }
1434: # 787 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1434:     class deque : protected _Deque_base<_Tp, _Alloc>
1434:     {
1434: # 800 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1434:    "std::deque must have a non-const, non-volatile value_type");
1434: 
1434:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1434:    "std::deque must have the same value_type as its allocator");
1434: 
1434: 
1434: 
1434:       typedef _Deque_base<_Tp, _Alloc> _Base;
1434:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1434:       typedef typename _Base::_Alloc_traits _Alloc_traits;
1434:       typedef typename _Base::_Map_pointer _Map_pointer;
1434: 
1434:     public:
1434:       typedef _Tp value_type;
1434:       typedef typename _Alloc_traits::pointer pointer;
1434:       typedef typename _Alloc_traits::const_pointer const_pointer;
1434:       typedef typename _Alloc_traits::reference reference;
1434:       typedef typename _Alloc_traits::const_reference const_reference;
1434:       typedef typename _Base::iterator iterator;
1434:       typedef typename _Base::const_iterator const_iterator;
1434:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1434:       typedef std::reverse_iterator<iterator> reverse_iterator;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef _Alloc allocator_type;
1434: 
1434:     private:
1434:       static size_t _S_buffer_size() noexcept
1434:       { return __deque_buf_size(sizeof(_Tp)); }
1434: 
1434: 
1434:       using _Base::_M_initialize_map;
1434:       using _Base::_M_create_nodes;
1434:       using _Base::_M_destroy_nodes;
1434:       using _Base::_M_allocate_node;
1434:       using _Base::_M_deallocate_node;
1434:       using _Base::_M_allocate_map;
1434:       using _Base::_M_deallocate_map;
1434:       using _Base::_M_get_Tp_allocator;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       using _Base::_M_impl;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       deque() = default;
1434: # 864 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       explicit
1434:       deque(const allocator_type& __a)
1434:       : _Base(__a, 0) { }
1434: # 877 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       explicit
1434:       deque(size_type __n, const allocator_type& __a = allocator_type())
1434:       : _Base(__a, _S_check_init_len(__n, __a))
1434:       { _M_default_initialize(); }
1434: # 890 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       deque(size_type __n, const value_type& __value,
1434:      const allocator_type& __a = allocator_type())
1434:       : _Base(__a, _S_check_init_len(__n, __a))
1434:       { _M_fill_initialize(__value); }
1434: # 917 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       deque(const deque& __x)
1434:       : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()),
1434:        __x.size())
1434:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1434:         this->_M_impl._M_start,
1434:         _M_get_Tp_allocator()); }
1434: # 933 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       deque(deque&&) = default;
1434: 
1434: 
1434:       deque(const deque& __x, const __type_identity_t<allocator_type>& __a)
1434:       : _Base(__a, __x.size())
1434:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1434:         this->_M_impl._M_start,
1434:         _M_get_Tp_allocator()); }
1434: 
1434: 
1434:       deque(deque&& __x, const __type_identity_t<allocator_type>& __a)
1434:       : deque(std::move(__x), __a, typename _Alloc_traits::is_always_equal{})
1434:       { }
1434: 
1434:     private:
1434:       deque(deque&& __x, const allocator_type& __a, true_type)
1434:       : _Base(std::move(__x), __a)
1434:       { }
1434: 
1434:       deque(deque&& __x, const allocator_type& __a, false_type)
1434:       : _Base(std::move(__x), __a, __x.size())
1434:       {
1434:  if (__x.get_allocator() != __a && !__x.empty())
1434:    {
1434:      std::__uninitialized_move_a(__x.begin(), __x.end(),
1434:      this->_M_impl._M_start,
1434:      _M_get_Tp_allocator());
1434:      __x.clear();
1434:    }
1434:       }
1434: 
1434:     public:
1434: # 976 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       deque(initializer_list<value_type> __l,
1434:      const allocator_type& __a = allocator_type())
1434:       : _Base(__a)
1434:       {
1434:  _M_range_initialize(__l.begin(), __l.end(),
1434:        random_access_iterator_tag());
1434:       }
1434: # 1001 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  deque(_InputIterator __first, _InputIterator __last,
1434:        const allocator_type& __a = allocator_type())
1434:  : _Base(__a)
1434:  {
1434:    _M_range_initialize(__first, __last,
1434:          std::__iterator_category(__first));
1434:  }
1434: # 1027 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       ~deque()
1434:       { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); }
1434: # 1039 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       deque&
1434:       operator=(const deque& __x);
1434: # 1051 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       deque&
1434:       operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal())
1434:       {
1434:  using __always_equal = typename _Alloc_traits::is_always_equal;
1434:  _M_move_assign1(std::move(__x), __always_equal{});
1434:  return *this;
1434:       }
1434: # 1070 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       deque&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_assign_aux(__l.begin(), __l.end(),
1434:         random_access_iterator_tag());
1434:  return *this;
1434:       }
1434: # 1089 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       assign(size_type __n, const value_type& __val)
1434:       { _M_fill_assign(__n, __val); }
1434: # 1106 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  void
1434:  assign(_InputIterator __first, _InputIterator __last)
1434:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1434: # 1133 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       assign(initial# 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/IActionListener.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/IActionListener.h"
1417:        
1417: 
1417: class CAction;
1417: 
1417: class IActionListener
1417: {
1417: public:
1417:   virtual ~IActionListener() = default;
1417: 
1417:   virtual bool OnAction(const CAction &action) = 0;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h" 2
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SeekHandler.h"
1417: struct IntegerSettingOption;
1417: 
1417: enum SeekType
1417: {
1417:   SEEK_TYPE_VIDEO = 0,
1417:   SEEK_TYPE_MUSIC = 1
1417: };
1417: 
1417: class CSeekHandler : public ISettingCallback, public IActionListener
1417: {
1417: public:
1417:   CSeekHandler() = default;
1417:   ~CSeekHandler() override;
1417: 
1417:   static void SettingOptionsSeekStepsFiller(const std::shared_ptr<const CSetting>& setting,
1417:                                             std::vector<IntegerSettingOption>& list,
1417:                                             int& current,
1417:                                             void* data);
1417: 
1417:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1417:   bool OnAction(const CAction &action) override;
1417: 
1417:   void Seek(bool forward, float amount, float duration = 0, bool analogSeek = false, SeekType type = SEEK_TYPE_VIDEO);
1417:   void SeekSeconds(int seconds);
1417:   void FrameMove();
1417:   void Reset();
1417:   void Configure();
1417: 
1417:   int GetSeekSize() const;
1417:   bool InProgress() const;
1417: 
1417:   bool HasTimeCode() const { return m_timeCodePosition > 0; }
1417:   int GetTimeCodeSeconds() const;
1417: 
1417: protected:
1417:   CSeekHandler(const CSeekHandler&) = delete;
1417:   CSeekHandler& operator=(CSeekHandler const&) = delete;
1417:   bool SeekTimeCode(const CAction &action);
1417:   void ChangeTimeCode(int remote);
1417: 
1417: private:
1417:   static const int analogSeekDelay = 500;
1417: 
1417:   void SetSeekSize(double seekSize);
1417:   int GetSeekStepSize(SeekType type, int step);
1417: 
1417:   int m_seekDelay = 500;
1417:   std::map<SeekType, int > m_seekDelays;
1417:   bool m_requireSeek = false;
1417:   bool m_seekChanged = false;
1417:   bool m_analogSeek = false;
1417:   double m_seekSize = 0;
1417:   int m_seekStep = 0;
1417:   std::map<SeekType, std::vector<int> > m_forwardSeekSteps;
1417:   std::map<SeekType, std::vector<int> > m_backwardSeekSteps;
1417:   CStopWatch m_timer;
1417:   CStopWatch m_timerTimeCode;
1417:   int m_timeCodeStamp[6];
1417:   int m_timeCodePosition;
1417: 
1417:   CCriticalSection m_critSection;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 2
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h"
1417:        
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/MenuType.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/MenuType.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: enum class MenuType
1417: {
1417: 
1417:   NONE,
1417: 
1417:   NATIVE,
1417: 
1417:   SIMPLIFIED
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h" 2
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h"
1417: struct TextCacheStruct_t;
1417: class TiXmlElement;
1417: class CStreamDetails;
1417: class CAction;
1417: class IPlayerCallback;
1417: 
1417: class CPlayerOptions
1417: {
1417: public:
1417:   CPlayerOptions()
1417:   {
1417:     starttime = 0LL;
1417:     startpercent = 0LL;
1417:     fullscreen = false;
1417:     videoOnly = false;
1417:     preferStereizer_list<value_type> __l)
1434:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return _Base::get_allocator(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       begin() noexcept
1434:       { return this->_M_impl._M_start; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return this->_M_impl._M_start; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       end() noexcept
1434:       { return this->_M_impl._M_finish; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       end() const noexcept
1434:       { return this->_M_impl._M_finish; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return reverse_iterator(this->_M_impl._M_finish); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return reverse_iterator(this->_M_impl._M_start); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return const_reverse_iterator(this->_M_impl._M_start); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return this->_M_impl._M_start; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return this->_M_impl._M_finish; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crend() const noexcept
1434:       { return const_reverse_iterator(this->_M_impl._M_start); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       size() const noexcept
1434:       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _S_max_size(_M_get_Tp_allocator()); }
1434: # 1287 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       resize(size_type __new_size)
1434:       {
1434:  const size_type __len = size();
1434:  if (__new_size > __len)
1434:    _M_default_append(__new_size - __len);
1434:  else if (__new_size < __len)
1434:    _M_erase_at_end(this->_M_impl._M_start
1434:      + difference_type(__new_size));
1434:       }
1434: # 1309 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       resize(size_type __new_size, const value_type& __x)
1434: # 1326 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       {
1434:  const size_type __len = size();
1434:  if (__new_size > __len)
1434:    _M_fill_insert(this->_M_impl._M_finish, __new_size - __len, __x);
1434:  else if (__new_size < __len)
1434:    _M_erase_at_end(this->_M_impl._M_start
1434:      + difference_type(__new_size));
1434:       }
1434: 
1434: 
1434: 
1434:       void
1434:       shrink_to_fit() noexcept
1434:       { _M_shrink_to_fit(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return this->_M_impl._M_finish == this->_M_impl._M_sta _Hash, _RangeHash, _Unused,
1115:      _RehashPolicy, _Traits>,
1115:       public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:           _Hash, _RangeHash, _Unused,
1115:           _RehashPolicy, _Traits>,
1115:       public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused,
1115:         _RehashPolicy, _Traits>,
1115:       public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:      _Hash, _RangeHash, _Unused,
1115:      _RehashPolicy, _Traits>,
1115:       private __detail::_Hashtable_alloc<
1115:  __alloc_rebind<_Alloc,
1115:          __detail::_Hash_node<_Value,
1115:          _Traits::__hash_cached::value>>>,
1115:       private _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>
1115:     {
1115:       static_assert(is_same<typename remove_cv<_Value>::type, _Value>::value,
1115:    "unordered container must have a non-const, non-volatile value_type");
1115: 
1115:       static_assert(is_same<typename _Alloc::value_type, _Value>{},
1115:    "unordered container must have the same value_type as its allocator");
1115: 
1115: 
1115:       using __traits_type = _Traits;
1115:       using __hash_cached = typename __traits_type::__hash_cached;
1115:       using __constant_iterators = typename __traits_type::__constant_iterators;
1115:       using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>;
1115:       using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>;
1115: 
1115:       using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>;
1115: 
1115:       using __node_value_type =
1115:  __detail::_Hash_node_value<_Value, __hash_cached::value>;
1115:       using __node_ptr = typename __hashtable_alloc::__node_ptr;
1115:       using __value_alloc_traits =
1115:  typename __hashtable_alloc::__value_alloc_traits;
1115:       using __node_alloc_traits =
1115:  typename __hashtable_alloc::__node_alloc_traits;
1115:       using __node_base = typename __hashtable_alloc::__node_base;
1115:       using __node_base_ptr = typename __hashtable_alloc::__node_base_ptr;
1115:       using __buckets_ptr = typename __hashtable_alloc::__buckets_ptr;
1115: 
1115:       using __insert_base = __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey,
1115:            _Equal, _Hash,
1115:            _RangeHash, _Unused,
1115:            _RehashPolicy, _Traits>;
1115:       using __enable_default_ctor
1115:  = _Hashtable_enable_default_ctor<_Equal, _Hash, _Alloc>;
1115: 
1115:     public:
1115:       typedef _Key key_type;
1115:       typedef _Value value_type;
1115:       typedef _Alloc allocator_type;
1115:       typedef _Equal key_equal;
1115: 
1115: 
1115: 
1115:       typedef typename __value_alloc_traits::pointer pointer;
1115:       typedef typename __value_alloc_traits::const_pointer const_pointer;
1115:       typedef value_type& reference;
1115:       typedef const value_type& const_reference;
1115: 
1115:       using iterator = typename __insert_base::iterator;
1115: 
1115:       using const_iterator = typename __insert_base::const_iterator;
1115: 
1115:       using local_iterator = __detail::_Local_iterator<key_type, _Value,
1115:    _ExtractKey, _Hash, _RangeHash, _Unused,
1115:           __constant_iterators::value,
1115:           __hash_cached::value>;
1115: 
1115:       using const_local_iterator = __detail::_Local_const_iterator<
1115:    key_type, _Value,
1115:    _ExtractKey, _Hash, _RangeHash, _Unused,
1115:    __constant_iterators::value, __hash_cached::value>;
1115: 
1115:     private:
1115:       using __rehash_type = _RehashPolicy;
1115:       using __rehash_state = typename __rehash_type::_State;
1115: 
1115:       using __unique_keys = typename __traits_type::__unique_keys;
1115: 
1115:       using __hashtable_base = __detail::
1115:  _Hashtable_base<_Key, _Value, _ExtractKey,
1115:    _Equal, _Hash, _RangeHash, _Unused, _Traits>;
1115: 
1115:       using __hash_code_base = typename __hashtable_base::__hash_code_base;
1115:       using __hash_code = typename __hashtable_base::__hash_cort; }
1434: # 1362 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       [[__nodiscard__]]
1434:       reference
1434:       operator[](size_type __n) noexcept
1434:       {
1434:  ;
1434:  return this->_M_impl._M_start[difference_type(__n)];
1434:       }
1434: # 1381 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       operator[](size_type __n) const noexcept
1434:       {
1434:  ;
1434:  return this->_M_impl._M_start[difference_type(__n)];
1434:       }
1434: 
1434:     protected:
1434: 
1434:       void
1434:       _M_range_check(size_type __n) const
1434:       {
1434:  if (__n >= this->size())
1434:    __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)")
1434: 
1434:                             ,
1434:        __n, this->size());
1434:       }
1434: 
1434:     public:
1434: # 1413 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       reference
1434:       at(size_type __n)
1434:       {
1434:  _M_range_check(__n);
1434:  return (*this)[__n];
1434:       }
1434: # 1431 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       const_reference
1434:       at(size_type __n) const
1434:       {
1434:  _M_range_check(__n);
1434:  return (*this)[__n];
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       front() noexcept
1434:       {
1434:  ;
1434:  return *begin();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       front() const noexcept
1434:       {
1434:  ;
1434:  return *begin();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       back() noexcept
1434:       {
1434:  ;
1434:  iterator __tmp = end();
1434:  --__tmp;
1434:  return *__tmp;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       back() const noexcept
1434:       {
1434:  ;
1434:  const_iterator __tmp = end();
1434:  --__tmp;
1434:  return *__tmp;
1434:       }
1434: # 1500 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       push_front(const value_type& __x)
1434:       {
1434:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1434:    {
1434:      _Alloc_traits::construct(this->_M_impl,
1434:          this->_M_impl._M_start._M_cur - 1,
1434:          __x);
1434:      --this->_M_impl._M_start._M_cur;
1434:    }
1434:  else
1434:    _M_push_front_aux(__x);
1434:       }
1434: 
1434: 
1434:       void
1434:       push_front(value_type&& __x)
1434:       { emplace_front(std::move(__x)); }
1434: 
1434:       template<typename... _Args>
1434: 
1434:  reference
1434: 
1434: 
1434: 
1434:  emplace_front(_Args&&... __args);
1434: # 1537 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       push_back(const value_type& __x)
1434:       {
1434:  if (this->_M_impl._M_finish._M_cur
1434:      != this->_M_impl._M_finish._M_last - 1)
1434:    {
1434:      _Alloc_traits::construct(this->_M_impl,
1434:          this->_M_impl._M_finish._M_cur, __x);
1434:      ++this->_M_impl._M_finish._M_cur;
1434:    }
1434:  else
1434:    _M_push_back_aux(__x);
1434:       }
1434: 
1434: 
1434:       void
1434:       push_back(value_type&& __x)
1434:       { emplace_back(std::move(__x)); }
1434: 
1434:       template<typename... _Args>
1434: 
1434:  reference
1434: 
1434: 
1434: 
1434:  emplace_back(_Args&&... __args);
1434: # 1573 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       pop_front() noexcept
1434:       {
1434:  ;
1434:  if (this->_M_impl._M_start._M_cur
1434:      != this->_M_impl._M_start._M_last - 1)
1434:    {
1434:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1434:        this->_M_impl._M_start._M_cur);
1434:      ++this->_M_impl._M_start._M_cur;
1434:    }
1434:  else
1434:    _M_pop_front_aux();
1434:       }
1434: # 1596 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       pop_back() noexcept
1434:       {
1434:  ;
1434:  io = false;
1417:   }
1417:   double starttime;
1417:   double startpercent;
1417:   std::string state;
1417:   bool fullscreen;
1417:   bool videoOnly;
1417:   bool preferStereo;
1417: };
1417: 
1417: class CFileItem;
1417: 
1417: enum IPlayerAudioCapabilities
1417: {
1417:   IPC_AUD_ALL,
1417:   IPC_AUD_OFFSET,
1417:   IPC_AUD_AMP,
1417:   IPC_AUD_SELECT_STREAM,
1417:   IPC_AUD_OUTPUT_STEREO,
1417:   IPC_AUD_SELECT_OUTPUT
1417: };
1417: 
1417: enum IPlayerSubtitleCapabilities
1417: {
1417:   IPC_SUBS_ALL,
1417:   IPC_SUBS_SELECT,
1417:   IPC_SUBS_EXTERNAL,
1417:   IPC_SUBS_OFFSET
1417: };
1417: 
1417: enum ERENDERFEATURE
1417: {
1417:   RENDERFEATURE_GAMMA,
1417:   RENDERFEATURE_BRIGHTNESS,
1417:   RENDERFEATURE_CONTRAST,
1417:   RENDERFEATURE_NOISE,
1417:   RENDERFEATURE_SHARPNESS,
1417:   RENDERFEATURE_NONLINSTRETCH,
1417:   RENDERFEATURE_ROTATION,
1417:   RENDERFEATURE_STRETCH,
1417:   RENDERFEATURE_ZOOM,
1417:   RENDERFEATURE_VERTICAL_SHIFT,
1417:   RENDERFEATURE_PIXEL_RATIO,
1417:   RENDERFEATURE_POSTPROCESS,
1417:   RENDERFEATURE_TONEMAP
1417: };
1417: 
1417: class IPlayer
1417: {
1417: public:
1417:   explicit IPlayer(IPlayerCallback& callback) : m_callback(callback) {}
1417:   virtual ~IPlayer() = default;
1417:   virtual bool Initialize(TiXmlElement* pConfig) { return true; }
1417:   virtual bool OpenFile(const CFileItem& file, const CPlayerOptions& options){ return false;}
1417:   virtual bool QueueNextFile(const CFileItem &file) { return false; }
1417:   virtual void OnNothingToQueueNotify() {}
1417:   virtual bool CloseFile(bool reopen = false) = 0;
1417:   virtual bool IsPlaying() const { return false;}
1417:   virtual bool CanPause() const { return true; }
1417:   virtual void Pause() = 0;
1417:   virtual bool HasVideo() const = 0;
1417:   virtual bool HasAudio() const = 0;
1417:   virtual bool HasGame() const { return false; }
1417:   virtual bool HasRDS() const { return false; }
1417:   virtual bool HasID3() const { return false; }
1417:   virtual bool IsPassthrough() const { return false;}
1417:   virtual bool CanSeek() const { return true; }
1417:   virtual void Seek(bool bPlus = true, bool bLargeStep = false, bool bChapterOverride = false) = 0;
1417:   virtual bool SeekScene(bool bPlus = true) {return false;}
1417:   virtual void SeekPercentage(float fPercent = 0){}
1417:   virtual float GetCachePercentage() const { return 0; }
1417:   virtual void SetMute(bool bOnOff){}
1417:   virtual void SetVolume(float volume){}
1417:   virtual void SetDynamicRangeCompression(long drc){}
1417: 
1417:   virtual void SetAVDelay(float fValue = 0.0f) {}
1417:   virtual float GetAVDelay() { return 0.0f; }
1417: 
1417:   virtual void SetSubTitleDelay(float fValue = 0.0f) {}
1417:   virtual float GetSubTitleDelay() { return 0.0f; }
1417:   virtual int GetSubtitleCount() const { return 0; }
1417:   virtual int GetSubtitle() { return -1; }
1417:   virtual void GetSubtitleStreamInfo(int index, SubtitleStreamInfo& info) const {}
1417:   virtual void SetSubtitle(int iStream) {}
1417:   virtual bool GetSubtitleVisible() const { return false; }
1417:   virtual void SetSubtitleVisible(bool bVisible) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void SetSubtitleVerticalPosition(int value, bool save) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void AddSubtitle(const std::string& strSubPath) {}
1417: 
1417:   virtual int GetAudioStreamCount() const { return 0; }
1417:   virtual int GetAudioStream() { return -1; }
1417:   virtual void SetAudioStream(int iStream) {}
1417:   virtual void GetAudioStreamInfo(int index, AudioStreamInfo& info) const {}
1417: 
1417:   virtual int GetVideoStream() const { return -1; }
1417:   virtual int GetVideoStreamCount() const { return 0; }
1417:   virtual void GetVideoStreamInfo(int streamId, VideoStreamInfo& info) const {}
1417:   virtual void SetVideoStream(int iStream) {}
1417: 
1417:   virtual int GetPrograms(std::vector<ProgramInfo>& programs) { return 0; }
1417:   virtual void SetProgram(int progId) {}
1417:   virtual int GetProgramsCount() const { return 0; }
14de;
1115:       using __ireturn_type = typename __insert_base::__ireturn_type;
1115: 
1115:       using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey,
1115:           _Equal, _Hash, _RangeHash, _Unused,
1115:           _RehashPolicy, _Traits>;
1115: 
1115:       using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc,
1115:          _ExtractKey, _Equal,
1115:          _Hash, _RangeHash, _Unused,
1115:          _RehashPolicy, _Traits>;
1115: 
1115:       using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey,
1115:          _Equal, _Hash, _RangeHash, _Unused,
1115:          _RehashPolicy, _Traits>;
1115: 
1115:       using __reuse_or_alloc_node_gen_t =
1115:  __detail::_ReuseOrAllocNode<__node_alloc_type>;
1115:       using __alloc_node_gen_t =
1115:  __detail::_AllocNode<__node_alloc_type>;
1115:       using __node_builder_t =
1115:  __detail::_NodeBuilder<_ExtractKey>;
1115: 
1115: 
1115:       struct _Scoped_node
1115:       {
1115: 
1115:  _Scoped_node(__node_ptr __n, __hashtable_alloc* __h)
1115:  : _M_h(__h), _M_node(__n) { }
1115: 
1115: 
1115:  template<typename... _Args>
1115:    _Scoped_node(__hashtable_alloc* __h, _Args&&... __args)
1115:    : _M_h(__h),
1115:      _M_node(__h->_M_allocate_node(std::forward<_Args>(__args)...))
1115:    { }
1115: 
1115: 
1115:  ~_Scoped_node() { if (_M_node) _M_h->_M_deallocate_node(_M_node); };
1115: 
1115:  _Scoped_node(const _Scoped_node&) = delete;
1115:  _Scoped_node& operator=(const _Scoped_node&) = delete;
1115: 
1115:  __hashtable_alloc* _M_h;
1115:  __node_ptr _M_node;
1115:       };
1115: 
1115:       template<typename _Ht>
1115:  static constexpr
1115:  __conditional_t<std::is_lvalue_reference<_Ht>::value,
1115:    const value_type&, value_type&&>
1115:  __fwd_value_for(value_type& __val) noexcept
1115:  { return std::move(__val); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       struct __hash_code_base_access : __hash_code_base
1115:       { using __hash_code_base::_M_bucket_index; };
1115: 
1115: 
1115:       static_assert(is_nothrow_default_constructible<_RangeHash>::value,
1115:       "Functor used to map hash code to bucket index"
1115:       " must be nothrow default constructible");
1115:       static_assert(noexcept(
1115:  std::declval<const _RangeHash&>()((std::size_t)0, (std::size_t)0)),
1115:       "Functor used to map hash code to bucket index must be"
1115:       " noexcept");
1115: 
1115: 
1115:       static_assert(is_nothrow_default_constructible<_ExtractKey>::value,
1115:       "_ExtractKey must be nothrow default constructible");
1115:       static_assert(noexcept(
1115:  std::declval<const _ExtractKey&>()(std::declval<_Value>())),
1115:       "_ExtractKey functor must be noexcept invocable");
1115: 
1115:       template<typename _Keya, typename _Valuea, typename _Alloca,
1115:         typename _ExtractKeya, typename _Equala,
1115:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1115:         typename _RehashPolicya, typename _Traitsa,
1115:         bool _Unique_keysa>
1115:  friend struct __detail::_Map_base;
1115: 
1115:       template<typename _Keya, typename _Valuea, typename _Alloca,
1115:         typename _ExtractKeya, typename _Equala,
1115:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1115:         typename _RehashPolicya, typename _Traitsa>
1115:  friend struct __detail::_Insert_base;
1115: 
1115:       template<typename _Keya, typename _Valuea, typename _Alloca,
1115:         typename _ExtractKeya, typename _Equala,
1115:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1115:         typename _RehashPolicya, typename _Traitsa,
1115:         bool _Constant_iteratorsa>
1115:  friend struct __detail::_Insert;
1115: 
1115:       template<typename _Keya, typename _Valuea, typename _Alloca,
1115:         typename _ExtractKeya, typename _Equala,
1115:         typename _Hasha, typename _RangeHasha, typename _Unuseda,
1115:         typename _RehashPolicya, typename _Traitsa,
1115:         bool _Unique_keysa>
1115:  friend struct __detail::_Equalityf (this->_M_impl._M_finish._M_cur
1434:      != this->_M_impl._M_finish._M_first)
1434:    {
1434:      --this->_M_impl._M_finish._M_cur;
1434:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1434:        this->_M_impl._M_finish._M_cur);
1434:    }
1434:  else
1434:    _M_pop_back_aux();
1434:       }
1434: # 1621 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace(const_iterator __position, _Args&&... __args);
1434: # 1634 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       iterator
1434:       insert(const_iterator __position, const value_type& __x);
1434: # 1660 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       iterator
1434:       insert(const_iterator __position, value_type&& __x)
1434:       { return emplace(__position, std::move(__x)); }
1434: # 1674 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       iterator
1434:       insert(const_iterator __p, initializer_list<value_type> __l)
1434:       {
1434:  auto __offset = __p - cbegin();
1434:  _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(),
1434:        std::random_access_iterator_tag());
1434:  return begin() + __offset;
1434:       }
1434: # 1693 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       iterator
1434:       insert(const_iterator __position, size_type __n, const value_type& __x)
1434:       {
1434:  difference_type __offset = __position - cbegin();
1434:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1434:  return begin() + __offset;
1434:       }
1434: # 1727 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  iterator
1434:  insert(const_iterator __position, _InputIterator __first,
1434:         _InputIterator __last)
1434:  {
1434:    difference_type __offset = __position - cbegin();
1434:    _M_range_insert_aux(__position._M_const_cast(), __first, __last,
1434:          std::__iterator_category(__first));
1434:    return begin() + __offset;
1434:  }
1434: # 1773 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       iterator
1434: 
1434:       erase(const_iterator __position)
1434: 
1434: 
1434: 
1434:       { return _M_erase(__position._M_const_cast()); }
1434: # 1797 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       iterator
1434: 
1434:       erase(const_iterator __first, const_iterator __last)
1434: 
1434: 
1434: 
1434:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1434: # 1816 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       swap(deque& __x) noexcept
1434:       {
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1434:                                                           ;
1434: 
1434:  _M_impl._M_swap_data(__x._M_impl);
1434:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1434:       __x._M_get_Tp_allocator());
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       clear() noexcept
1434:       { _M_erase_at_end(begin()); }
1434: 
1434:     protected:
1434: # 1866 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       static size_t
1434:       _S_check_init_len(size_t __n, const allocator_type& __a)
1434:       {
1434:  if (__n > _S_max_size(__a))
1434:    __throw_length_error(
1434:        ("cannot create std::deque larger than max_size()"));
1434:  return __n;
1434:       }
1434: 
1434:       static size_type
1434:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1434:       {
1434:  const size_t __diffmax = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max;
1434:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1434:  return (std::min)(__diffmax, __allocmax);
1434:       }
1434: # 1895 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1434:        std::input_iterator17: 
1417:   virtual bool HasTeletextCache() const { return false; }
1417:   virtual std::shared_ptr<TextCacheStruct_t> GetTeletextCache() { return nullptr; }
1417:   virtual void LoadPage(int p, int sp, unsigned char* buffer) {}
1417: 
1417:   virtual int GetChapterCount() const { return 0; }
1417:   virtual int GetChapter() const { return -1; }
1417:   virtual void GetChapterName(std::string& strChapterName, int chapterIdx = -1) const {}
1417:   virtual int64_t GetChapterPos(int chapterIdx = -1) const { return 0; }
1417:   virtual int SeekChapter(int iChapter) { return -1; }
1417: 
1417: 
1417:   virtual void SeekTime(int64_t iTime = 0) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool SeekTimeRelative(int64_t iTime) { return false; }
1417: # 181 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/IPlayer.h"
1417:   virtual void SetTime(int64_t time) { }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void SetTotalTime(int64_t time) { }
1417:   virtual void SetSpeed(float speed) = 0;
1417:   virtual void SetTempo(float tempo) {}
1417:   virtual bool SupportsTempo() const { return false; }
1417:   virtual void FrameAdvance(int frames) {}
1417: 
1417: 
1417:   virtual bool IsCaching() const { return false; }
1417: 
1417:   virtual int GetCacheLevel() const { return -1; }
1417: 
1417:   virtual bool IsInMenu() const { return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual MenuType GetSupportedMenuType() const { return MenuType::NONE; }
1417: 
1417:   virtual void DoAudioWork() {}
1417:   virtual bool OnAction(const CAction& action) { return false; }
1417: 
1417: 
1417:   virtual std::string GetPlayerState() { return ""; }
1417:   virtual bool SetPlayerState(const std::string& state) { return false; }
1417: 
1417:   virtual void GetAudioCapabilities(std::vector<int>& audioCaps) const
1417:   {
1417:     audioCaps.assign(1, IPC_AUD_ALL);
1417:   }
1417: 
1417: 
1417: 
1417:   virtual void GetSubtitleCapabilities(std::vector<int>& subCaps) const
1417:   {
1417:     subCaps.assign(1, IPC_SUBS_ALL);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Render(bool clear, uint32_t alpha = 255, bool gui = true) {}
1417:   virtual void FlushRenderer() {}
1417:   virtual void SetRenderViewMode(int mode, float zoom, float par, float shift, bool stretch) {}
1417:   virtual float GetRenderAspectRatio() const { return 1.0; }
1417:   virtual void TriggerUpdateResolution() {}
1417:   virtual bool IsRenderingVideo() const { return false; }
1417: 
1417:   virtual bool Supports(EINTERLACEMETHOD method) const { return false; }
1417:   virtual EINTERLACEMETHOD GetDeinterlacingMethodDefault() const
1417:   {
1417:     return EINTERLACEMETHOD::VS_INTERLACEMETHOD_NONE;
1417:   }
1417:   virtual bool Supports(ESCALINGMETHOD method) const { return false; }
1417:   virtual bool Supports(ERENDERFEATURE feature) const { return false; }
1417: 
1417:   virtual unsigned int RenderCaptureAlloc() { return 0; }
1417:   virtual void RenderCaptureRelease(unsigned int captureId) {}
1417:   virtual void RenderCapture(unsigned int captureId,
1417:                              unsigned int width,
1417:                              unsigned int height,
1417:                              int flags)
1417:   {
1417:   }
1417:   virtual bool RenderCaptureGetPixels(unsigned int captureId,
1417:                                       unsigned int millis,
1417:                                       uint8_t* buffer,
1417:                                       unsigned int size)
1417:   {
1417:     return false;
1417:   }
1417: 
1417: 
1417:   virtual CVideoSettings GetVideoSettings() const { return CVideoSettings(); }
1417:   virtual void SetVideoSettings(CVideoSettings& settings) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool HasGameAgent() const { return false; }
1417: 
1417:   std::string m_name;
1417:   std::string m_type;
1417: 
1417: protected:
1417:   IPlayerCallback& m_callback;
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/application/ApplicationPlayer.h" 2
1417: # 23 "/<<BUILDDIR>>/kodi-_tag);
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434:  void
1434:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1434:        std::forward_iterator_tag);
1434: # 1917 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       _M_fill_initialize(const value_type& __value);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_default_initialize();
1434: # 1948 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1434:         std::input_iterator_tag);
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434:  void
1434:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1434:         std::forward_iterator_tag)
1434:  {
1434:    const size_type __len = std::distance(__first, __last);
1434:    if (__len > size())
1434:      {
1434:        _ForwardIterator __mid = __first;
1434:        std::advance(__mid, size());
1434:        std::copy(__first, __mid, begin());
1434:        _M_range_insert_aux(end(), __mid, __last,
1434:       std::__iterator_category(__first));
1434:      }
1434:    else
1434:      _M_erase_at_end(std::copy(__first, __last, begin()));
1434:  }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_fill_assign(size_type __n, const value_type& __val)
1434:       {
1434:  if (__n > size())
1434:    {
1434:      std::fill(begin(), end(), __val);
1434:      _M_fill_insert(end(), __n - size(), __val);
1434:    }
1434:  else
1434:    {
1434:      _M_erase_at_end(begin() + difference_type(__n));
1434:      std::fill(begin(), end(), __val);
1434:    }
1434:       }
1434: # 1996 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename... _Args>
1434:  void _M_push_back_aux(_Args&&... __args);
1434: 
1434:       template<typename... _Args>
1434:  void _M_push_front_aux(_Args&&... __args);
1434: 
1434: 
1434:       void _M_pop_back_aux();
1434: 
1434:       void _M_pop_front_aux();
1434: # 2035 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  _M_range_insert_aux(iterator __pos, _InputIterator __first,
1434:        _InputIterator __last, std::input_iterator_tag);
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434:  void
1434:  _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
1434:        _ForwardIterator __last, std::forward_iterator_tag);
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename... _Args>
1434:  iterator
1434:  _M_insert_aux(iterator __pos, _Args&&... __args);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);
1434: 
1434: 
1434:       template<typename _ForwardIterator>
1434:  void
1434:  _M_insert_aux(iterator __pos,
1434:         _ForwardIterator __first, _ForwardIterator __last,
1434:         size_type __n);
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_destroy_data_aux(iterator __first, iterator __last);
1434: 
1434: 
1434: 
1434:       template<typename _Alloc1>
1434:  void
1434:  _M_destroy_data(iterator __first, iterator __last, const _Alloc1&)
1434:  { _M_destroy_data_aux(__first, __last); }
1434: 
1434:       void
1434:       _M_destroy_data(iterator __first, iterator __last,
1434:         const std::allocator<_Tp>&)
1434:       {
1434:  if (!__has_trivial_destructor(value_type))
1434:    _M_destroy_data_aux(__first, __last);
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_erase_at_begin(iterator __pos)
1434:       {
1434:  _M_destroy_data(begin(), __pos, _M_get_Tp_allocator());
1434:  _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node);
1434:  this->_M_impl._M_start = __pos;
1434:       }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_erase_at_end(iterator __pos)
1434:       {
1434:  _M_destroy_data(__pos, end(), _M_get_Tp_allocator());
1434:  _M_destroy_nodes(__pos._M_node + 1,
1434:     this->_M_impl._M_finish._M_node + 1);
1434:  this->_M_impl._M_finish = __pos;
1434:       }
1434: 
1434:       iterator
1434:       _M_erase(iterator __pos);
1434: 
1434:       iterator
1434:       _M_erase(iterator __first, iterator __last);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_default_append(size_type __n);
1434: 
1434:       bool
1434:       _M_shrink_to_fit();
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       _M_reserve_elements_at_front(size_type __n)
1434:       {
1434:  const size_type __vacancies = this->_M_impl._M_start._M_cur
1434:           - this->_M_impl._M_start._M_first;
1434:  if (__n > __vacancies)
1434:    _M_new_elements_at_front(__n - __vacancies);
1434:  return this->_M_impl._M_start - difference_type(__n);
1434:       }
1434: 
1434:       iterator
1434:       _M_reserve_elements_at_back(size_type __n)
1434:       {
1434:  const size_type __vacancies = (this->_M_impl._M_finish._M_last
1434:            - this->_M_impl._M_finish._M_cur) - 1;
1434:  if (__n > __vacancies)
1434:    _M_new_elements_at_back(__n - __vacancies);
1434:  return this->_M_impl._M_finish + difference_type(__n);
1434:       }
1434: 
1434:       void
1434:       _M_new_elements_at_front(size_type __new_elements);
1434: 
1434:       void
1434:       _M_new_elements_at_back(size_type __new_elements);
1434: # 2167 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:       void
1434:       _M_reserve_map_at_back(size_type __nodes_to_add = 1)
1434:       {
1434:  if (__nodes_to_add + 1 > this->_M_impl._M_map_size
1434:      - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
1434:    _M_reallocate_map(__nodes_to_add, false);
1434:       }
1434: 
1434:       void
1434:       _M_reserve_map_at_front(size_type __nodes_to_add = 1)
1434:       {
1434:  if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
1434:            - this->_M_impl._M_map))
1434:    _M_reallocate_map(__nodes_to_add, true);
1434:       }
1434: 
1434:       void
1434:       _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_move_assign1(deque&& __x, true_type) noexcept
1434:       {
1434:  this->_M_impl._M_swap_data(__x._M_impl);
1434:  __x.clear();
1434:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_move_assign1(deque&& __x, false_type)
1434:       {
1434:  if (_M_get_Tp_allocator() == __x._M_get_Tp_allocator())
1434:    return _M_move_assign1(std::move(__x), true_type());
1434: 
1434:  constexpr bool __move_storage =
1434:    _Alloc_traits::_S_propagate_on_move_assign();
1434:  _M_move_assign2(std::move(__x), __bool_constant<__move_storage>());
1434:       }
1434: 
1434: 
1434: 
1434:       template<typename... _Args>
1434:       void
1434:       _M_replace_map(_Args&&... __args)
1434:       {
1434: 
1434:  deque __newobj(std::forward<_Args>(__args)...);
1434: 
1434:  clear();
1434:  _M_deallocate_node(*begin()._M_node);
1434:  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1434:  this->_M_impl._M_map = nullptr;
1434:  this->_M_impl._M_map_size = 0;
1434: 
1434:  this->_M_impl._M_swap_data(__newobj._M_impl);
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_move_assign2(deque&& __x, true_type)
1434:       {
1434: 
1434:  auto __alloc = __x._M_get_Tp_allocator();
1434: 
1434: 
1434:  _M_replace_map(std::move(__x));
1434: 
1434:  _M_get_Tp_allocator() = std::move(__alloc);
1434:       }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_move_assign2(deque&& __x, false_type)
1434:       {
1434:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1434:    {
1434: 
1434: 
1434:      _M_replace_map(std::move(__x), __x.get_allocator());
1434:    }
1434:  else
1434:    {
1434: 
1434: 
1434:      _M_assign_aux(std::make_move_iterator(__x.begin()),
1434:      std::make_move_iterator(__x.end()),
1434:      std::random_access_iterator_tag());
1434:      __x.clear();
1434:    }
1434:     ;
1115: 
1115:     public:
1115:       using size_type = typename __hashtable_base::size_type;
1115:       using difference_type = typename __hashtable_base::difference_type;
1115: 
1115: 
1115:       using node_type = _Node_handle<_Key, _Value, __node_alloc_type>;
1115:       using insert_return_type = _Node_insert_return<iterator, node_type>;
1115: 
1115: 
1115:     private:
1115:       __buckets_ptr _M_buckets = &_M_single_bucket;
1115:       size_type _M_bucket_count = 1;
1115:       __node_base _M_before_begin;
1115:       size_type _M_element_count = 0;
1115:       _RehashPolicy _M_rehash_policy;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       __node_base_ptr _M_single_bucket = nullptr;
1115: 
1115:       void
1115:       _M_update_bbegin()
1115:       {
1115:  if (_M_begin())
1115:    _M_buckets[_M_bucket_index(*_M_begin())] = &_M_before_begin;
1115:       }
1115: 
1115:       void
1115:       _M_update_bbegin(__node_ptr __n)
1115:       {
1115:  _M_before_begin._M_nxt = __n;
1115:  _M_update_bbegin();
1115:       }
1115: 
1115:       bool
1115:       _M_uses_single_bucket(__buckets_ptr __bkts) const
1115:       { return __builtin_expect(__bkts == &_M_single_bucket, false); }
1115: 
1115:       bool
1115:       _M_uses_single_bucket() const
1115:       { return _M_uses_single_bucket(_M_buckets); }
1115: 
1115:       static constexpr size_t
1115:       __small_size_threshold() noexcept
1115:       {
1115:  return
1115:    __detail::_Hashtable_hash_traits<_Hash>::__small_size_threshold();
1115:       }
1115: 
1115:       __hashtable_alloc&
1115:       _M_base_alloc() { return *this; }
1115: 
1115:       __buckets_ptr
1115:       _M_allocate_buckets(size_type __bkt_count)
1115:       {
1115:  if (__builtin_expect(__bkt_count == 1, false))
1115:    {
1115:      _M_single_bucket = nullptr;
1115:      return &_M_single_bucket;
1115:    }
1115: 
1115:  return __hashtable_alloc::_M_allocate_buckets(__bkt_count);
1115:       }
1115: 
1115:       void
1115:       _M_deallocate_buckets(__buckets_ptr __bkts, size_type __bkt_count)
1115:       {
1115:  if (_M_uses_single_bucket(__bkts))
1115:    return;
1115: 
1115:  __hashtable_alloc::_M_deallocate_buckets(__bkts, __bkt_count);
1115:       }
1115: 
1115:       void
1115:       _M_deallocate_buckets()
1115:       { _M_deallocate_buckets(_M_buckets, _M_bucket_count); }
1115: 
1115: 
1115: 
1115:       __node_ptr
1115:       _M_bucket_begin(size_type __bkt) const;
1115: 
1115:       __node_ptr
1115:       _M_begin() const
1115:       { return static_cast<__node_ptr>(_M_before_begin._M_nxt); }
1115: 
1115: 
1115: 
1115:       template<typename _Ht>
1115:  void
1115:  _M_assign_elements(_Ht&&);
1115: 
1115:       template<typename _Ht, typename _NodeGenerator>
1115:  void
1115:  _M_assign(_Ht&&, const _NodeGenerator&);
1115: 
1115:       void
1115:       _M_move_assign(_Hashtable&&, true_type);
1115: 
1115:       void
1115:       _M_move_assign(_Hashtable&&, false_type);
1115: 
1115:       void
1115:       _M_reset() noexcept;
1115: 
1115:       _Hashtable(const _Hash& __h, const _Equal& __eq,
1115:    const allocator_type& __a)
1115:       : __hashtable_base(__h, __eq),
1115:  __hashtable_alloc(__node_alloc_type(__a)),
1115:  __enable_default_ctor(_Enable_default_constructor_tag{})
1115:       { }
1115: 
1115:       template<bool _No_realloc = true>
1115:  static constexpr bool
1115:  _S_nothrow_move()
1115:  {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    if constexpr (_No_realloc)
1115:      if constexpr (is_nothrow_copy_constructible<_Hash>())
1115:        return is_nothrow_copy_constructible<_Equal>();
1115:    return false;
1115: 
1115:  }
1115: 
1115:       _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1115:    true_type )
1115:  noexcept(_S_nothrow_move());
1115: 
1115:       _Hashtable(_Hashtable&&, __node_alloc_type&&,
1115:    false_type );
1115: 
1115:       template<typename _InputIterator>
1115:  _Hashtable(_InputIterator __first, _InputIterator __last,
1115:      size_type __bkt_count_hint,
1115:      const _Hash&, const _Equal&, const allocator_20.0+dfsg/xbmc/application/ApplicationPlayer.h"
1417: class CAction;
1417: class CPlayerCoreFactory;
1417: class CPlayerOptions;
1417: class CStreamDetails;
1417: 
1417: struct AudioStreamInfo;
1417: struct VideoStreamInfo;
1417: struct SubtitleStreamInfo;
1417: struct TextCacheStruct_t;
1417: 
1417: class CApplicationPlayer : public IApplicationComponent
1417: {
1417: public:
1417:   CApplicationPlayer() = default;
1417: 
1417: 
1417:   void ClosePlayer();
1417:   void ResetPlayer();
1417:   std::string GetCurrentPlayer() const;
1417:   float GetPlaySpeed() const;
1417:   float GetPlayTempo() const;
1417:   bool HasPlayer() const;
1417:   bool OpenFile(const CFileItem& item, const CPlayerOptions& options,
1417:                 const CPlayerCoreFactory &factory,
1417:                 const std::string &playerName, IPlayerCallback& callback);
1417:   void OpenNext(const CPlayerCoreFactory &factory);
1417:   void SetPlaySpeed(float speed);
1417:   void SetTempo(float tempo);
1417:   void FrameAdvance(int frames);
1417: 
1417:   void FrameMove();
1417:   void Render(bool clear, uint32_t alpha = 255, bool gui = true);
1417:   void FlushRenderer();
1417:   void SetRenderViewMode(int mode, float zoom, float par, float shift, bool stretch);
1417:   float GetRenderAspectRatio() const;
1417:   void TriggerUpdateResolution();
1417:   bool IsRenderingVideo() const;
1417:   bool IsRenderingGuiLayer() const;
1417:   bool IsRenderingVideoLayer() const;
1417:   bool Supports(EINTERLACEMETHOD method) const;
1417:   EINTERLACEMETHOD GetDeinterlacingMethodDefault() const;
1417:   bool Supports(ESCALINGMETHOD method) const;
1417:   bool Supports(ERENDERFEATURE feature) const;
1417:   unsigned int RenderCaptureAlloc();
1417:   void RenderCapture(unsigned int captureId, unsigned int width, unsigned int height, int flags = 0);
1417:   void RenderCaptureRelease(unsigned int captureId);
1417:   bool RenderCaptureGetPixels(unsigned int captureId, unsigned int millis, uint8_t *buffer, unsigned int size);
1417:   bool IsExternalPlaying() const;
1417:   bool IsRemotePlaying() const;
1417: 
1417: 
1417:   void AddSubtitle(const std::string& strSubPath);
1417:   bool CanPause() const;
1417:   bool CanSeek() const;
1417:   void DoAudioWork();
1417:   int GetAudioDelay() const;
1417:   void GetAudioCapabilities(std::vector<int>& audioCaps) const;
1417:   int GetAudioStream();
1417:   int GetAudioStreamCount() const;
1417:   void GetAudioStreamInfo(int index, AudioStreamInfo& info) const;
1417:   int GetCacheLevel() const;
1417:   float GetCachePercentage() const;
1417:   int GetChapterCount() const;
1417:   int GetChapter() const;
1417:   void GetChapterName(std::string& strChapterName, int chapterIdx = -1) const;
1417:   int64_t GetChapterPos(int chapterIdx = -1) const;
1417:   float GetPercentage() const;
1417:   std::string GetPlayerState();
1417:   PLAYLIST::Id GetPreferredPlaylist() const;
1417:   int GetSubtitleDelay() const;
1417:   int GetSubtitle();
1417:   void GetSubtitleCapabilities(std::vector<int>& subCaps) const;
1417:   int GetSubtitleCount() const;
1417:   void GetSubtitleStreamInfo(int index, SubtitleStreamInfo& info) const;
1417:   bool GetSubtitleVisible() const;
1417:   bool HasTeletextCache() const;
1417:   std::shared_ptr<TextCacheStruct_t> GetTeletextCache();
1417:   int64_t GetTime() const;
1417:   int64_t GetMinTime() const;
1417:   int64_t GetMaxTime() const;
1417:   time_t GetStartTime() const;
1417:   int64_t GetTotalTime() const;
1417:   int GetVideoStream();
1417:   int GetVideoStreamCount() const;
1417:   void GetVideoStreamInfo(int streamId, VideoStreamInfo& info) const;
1417:   int GetPrograms(std::vector<ProgramInfo>& programs);
1417:   void SetProgram(int progId);
1417:   int GetProgramsCount() const;
1417:   bool HasAudio() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   MenuType GetSupportedMenuType() const;
1417: 
1417:   bool HasVideo() const;
1417:   bool HasGame() const;
1417:   bool HasRDS() const;
1417:   bool IsCaching() const;
1417:   bool IsInMenu() const;
1417:   bool IsPaused() const;
1417:   bool IsPa  }
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _InputIterator, typename _ValT
1434:       = typename iterator_traits<_InputIterator>::value_type,
1434:     typename _Allocator = allocator<_ValT>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     deque(_InputIterator, _InputIterator, _Allocator = _Allocator())
1434:       -> deque<_ValT, _Allocator>;
1434: # 2287 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1434:     { return __x.size() == __y.size()
1434:       && std::equal(__x.begin(), __x.end(), __y.begin()); }
1434: # 2327 "/usr/include/c++/12/bits/stl_deque.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1434:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1434:        __y.begin(), __y.end()); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     inline void
1434:     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<class _Tp>
1434:     struct __is_bitwise_relocatable<std::deque<_Tp>>
1434:     : true_type { };
1434: 
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/deque" 2 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/deque.tcc" 1 3
1434: # 61 "/usr/include/c++/12/bits/deque.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_default_initialize()
1434:     {
1434:       _Map_pointer __cur;
1434:       try
1434:  {
1434:    for (__cur = this->_M_impl._M_start._M_node;
1434:         __cur < this->_M_impl._M_finish._M_node;
1434:         ++__cur)
1434:      std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(),
1434:         _M_get_Tp_allocator());
1434:    std::__uninitialized_default_a(this->_M_impl._M_finish._M_first,
1434:       this->_M_impl._M_finish._M_cur,
1434:       _M_get_Tp_allocator());
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1434:    _M_get_Tp_allocator());
1434:    throw;
1434:  }
1434:     }
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     deque<_Tp, _Alloc>&
1434:     deque<_Tp, _Alloc>::
1434:     operator=(const deque& __x)
1434:     {
1434:       if (std::__addressof(__x) != this)
1434:  {
1434: 
1434:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1434:      {
1434:        if (!_Alloc_traits::_S_always_equal()
1434:     && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1434:   {
1434: 
1434: 
1434:     _M_replace_map(__x, __x.get_allocator());
1434:     std::__alloc_on_copy(_M_get_Tp_allocator(),
1434:            __x._M_get_Tp_allocator());
1434:     return *this;
1434:   }
1434:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1434:        __x._M_get_Tp_allocator());
1434:      }
1434: 
1434:    const size_type __len = size();
1434:    if (__len >= __x.size())
1434:      _M_erase_at_end(std::copy(__x.begin(), __x.end(),
1434:           this->_M_impl._M_start));
1434:    else
1434:      {
1434:        const_iterator __mid = __x.begin() + difference_type(__len);
1434:        std::copy(__x.begin(), __mid, this->_M_impl._M_start);
1434:        _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(),
1434:       std::random_access_iterator_tag());
1434:      }
1434:  }
1434:       return *this;
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename... _Args>
1434: 
1434:       typename deque<_Tp, _Alloc>::reference
1434: 
1434: 
1434: 
1434:       deque<_Tp, _Alloc>::
1434:       emplace_front(_Args&&... __args)
1434:       {
1434:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1434:    {
1434:      _Alloc_traits::construct(this->_M_impl,
1434:          this->_M_impl._M_start._M_cur - 1,
1434:          std::forward<_Args>(__args)...);
1434:      --this->_M_impl._M_start._M_cur;
1434:    }
1434:  else
1434:    _M_push_front_aux(std::forward<_Args>(__args)...);
1434: 
1434:  return front();
1434: 
1434:       }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename... _Args>
1434: 
1434:       typename deque<_Tp, _Alloc>::reference
1434: 
1434: 
1434: 
1434:       deque<_Tp, _Alloc>::
1434:       emplace_back(_Args&&... __args)
1434:       {
1434:  if (this->_M_impl._M_finish._M_cur
1434:      != this->_M_impl._M_finish._M_last - 1)
1434:    {
1434:      _Alloc_traits::construct(this->_M_impl,
1434:          this->_M_impl._M_finish._M_cur,
1434:          std::forward<_Args>(__args)...);
1434:      ++this->_M_impl._M_finish._M_cur;
1434:    }
1434:  else
1434:    _M_push_back_aux(std::forward<_Args>(__args)...);
1434: 
1434:  return back();
1434: 
1434:       }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename... _Args>
1434:       typename deque<_Tp, _Alloc>::iterator
1434:       deque<_Tp, _Alloc>::
1434:       emplace(const_iterator __position, _Args&&... __args)
1434:       {
1434:  if (__position._M_cur == this->_M_impl._M_start._M_cur)
1434:    {
1434:      emplace_front(std::forward<_Args>(__args)...);
1434:      return this->_M_impl._M_start;
1434:    }
1434:  else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1434:    {
1434:      emplace_back(std::forward<_Args>(__args)...);
1434:      iterator __tmp = this->_M_impl._M_finish;
1434:      --__tmp;
1434:      return __tmp;
1434:    }
1434:  else
1434:    return _M_insert_aux(__position._M_const_cast(),
1434:           std::forward<_Args>(__args)...);
1434:       }
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     typename deque<_Tp, _Alloc>::iterator
1434:     deque<_Tp, _Alloc>::
1434: 
1434:     insert(const_iterator __position, const value_type& __x)
1434: 
1434: 
1434: 
1434:     {
1434:       if (__position._M_cur == this->_M_impl._M_start._M_cur)
1434:  {
1434:    push_front(__x);
1434:    return this->_M_impl._M_start;
1434:  }
1434:       else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1434:  {
1434:    push_back(__x);
1434:    iterator __tmp = this->_M_impl._M_finish;
1434:    --__tmp;
1434:    return __tmp;
1434:  }
1434:       else
1434:  return _M_insert_aux(__position._M_const_cast(), __x);
1434:    }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     typename deque<_Tp, _Alloc>::iterator
1434:     deque<_Tp, _Alloc>::
1434:     _M_erase(iterator __position)
1434:     {
1434:       iterator __next = __position;
1434:       ++__next;
1434:       const difference_type __index = __position - begin();
1434:       if (static_cast<size_type>(__index) < (size() >> 1))
1434:  {
1434:    if (__position != begin())
1434:      std::move_backward(begin(), __position, __next);
type&,
1115:      true_type __uks);
1115: 
1115:       template<typename _InputIterator>
1115:  _Hashtable(_InputIterator __first, _InputIterator __last,
1115:      size_type __bkt_count_hint,
1115:      const _Hash&, const _Equal&, const allocator_type&,
1115:      false_type __uks);
1115: 
1115:     public:
1115: 
1115:       _Hashtable() = default;
1115: 
1115:       _Hashtable(const _Hashtable&);
1115: 
1115:       _Hashtable(const _Hashtable&, const allocator_type&);
1115: 
1115:       explicit
1115:       _Hashtable(size_type __bkt_count_hint,
1115:    const _Hash& __hf = _Hash(),
1115:    const key_equal& __eql = key_equal(),
1115:    const allocator_type& __a = allocator_type());
1115: 
1115: 
1115:       _Hashtable(_Hashtable&& __ht)
1115:  noexcept(_S_nothrow_move())
1115:       : _Hashtable(std::move(__ht), std::move(__ht._M_node_allocator()),
1115:      true_type{})
1115:       { }
1115: 
1115:       _Hashtable(_Hashtable&& __ht, const allocator_type& __a)
1115:  noexcept(_S_nothrow_move<__node_alloc_traits::_S_always_equal()>())
1115:       : _Hashtable(std::move(__ht), __node_alloc_type(__a),
1115:      typename __node_alloc_traits::is_always_equal{})
1115:       { }
1115: 
1115:       explicit
1115:       _Hashtable(const allocator_type& __a)
1115:       : __hashtable_alloc(__node_alloc_type(__a)),
1115:  __enable_default_ctor(_Enable_default_constructor_tag{})
1115:       { }
1115: 
1115:       template<typename _InputIterator>
1115:  _Hashtable(_InputIterator __f, _InputIterator __l,
1115:      size_type __bkt_count_hint = 0,
1115:      const _Hash& __hf = _Hash(),
1115:      const key_equal& __eql = key_equal(),
1115:      const allocator_type& __a = allocator_type())
1115:  : _Hashtable(__f, __l, __bkt_count_hint, __hf, __eql, __a,
1115:        __unique_keys{})
1115:  { }
1115: 
1115:       _Hashtable(initializer_list<value_type> __l,
1115:    size_type __bkt_count_hint = 0,
1115:    const _Hash& __hf = _Hash(),
1115:    const key_equal& __eql = key_equal(),
1115:    const allocator_type& __a = allocator_type())
1115:       : _Hashtable(__l.begin(), __l.end(), __bkt_count_hint,
1115:      __hf, __eql, __a, __unique_keys{})
1115:       { }
1115: 
1115:       _Hashtable&
1115:       operator=(const _Hashtable& __ht);
1115: 
1115:       _Hashtable&
1115:       operator=(_Hashtable&& __ht)
1115:       noexcept(__node_alloc_traits::_S_nothrow_move()
1115:         && is_nothrow_move_assignable<_Hash>::value
1115:         && is_nothrow_move_assignable<_Equal>::value)
1115:       {
1115:  constexpr bool __move_storage =
1115:    __node_alloc_traits::_S_propagate_on_move_assign()
1115:    || __node_alloc_traits::_S_always_equal();
1115:  _M_move_assign(std::move(__ht), __bool_constant<__move_storage>());
1115:  return *this;
1115:       }
1115: 
1115:       _Hashtable&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1115:  _M_before_begin._M_nxt = nullptr;
1115:  clear();
1115: 
1115: 
1115:  auto __l_bkt_count = _M_rehash_policy._M_bkt_for_elements(__l.size());
1115: 
1115: 
1115:  if (_M_bucket_count < __l_bkt_count)
1115:    rehash(__l_bkt_count);
1115: 
1115:  this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys{});
1115:  return *this;
1115:       }
1115: 
1115:       ~_Hashtable() noexcept;
1115: 
1115:       void
1115:       swap(_Hashtable&)
1115:       noexcept(__and_<__is_nothrow_swappable<_Hash>,
1115:         __is_nothrow_swappable<_Equal>>::value);
1115: 
1115: 
1115:       iterator
1115:       begin() noexcept
1115:       { return iterator(_M_begin()); }
1115: 
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return const_iterator(_M_begin()); }
1115: 
1115:       iterator
1115:       end() noexcept
1115:       { return iterator(nullptr); }
1115: 
1115:       const_iterator
1115:       end() const noexcept
1115:       { return const_iterator(nullptr); }
1115: 
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return const_iterator(_M_begin()); }
1usedPlayback() const;
1417:   bool IsPassthrough() const;
1417:   bool IsPlaying() const;
1417:   bool IsPlayingAudio() const;
1417:   bool IsPlayingVideo() const;
1417:   bool IsPlayingGame() const;
1417:   bool IsPlayingRDS() const;
1417:   void LoadPage(int p, int sp, unsigned char* buffer);
1417:   bool OnAction(const CAction &action);
1417:   void OnNothingToQueueNotify();
1417:   void Pause();
1417:   bool QueueNextFile(const CFileItem &file);
1417:   void Seek(bool bPlus = true, bool bLargeStep = false, bool bChapterOverride = false);
1417:   int SeekChapter(int iChapter);
1417:   void SeekPercentage(float fPercent = 0);
1417:   bool SeekScene(bool bPlus = true);
1417:   void SeekTime(int64_t iTime = 0);
1417:   void SeekTimeRelative(int64_t iTime = 0);
1417:   void SetAudioStream(int iStream);
1417:   void SetAVDelay(float fValue = 0.0f);
1417:   void SetDynamicRangeCompression(long drc);
1417:   void SetMute(bool bOnOff);
1417:   bool SetPlayerState(const std::string& state);
1417:   void SetSubtitle(int iStream);
1417:   void SetSubTitleDelay(float fValue = 0.0f);
1417:   void SetSubtitleVisible(bool bVisible);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetSubtitleVerticalPosition(const int value, bool save);
1417: 
1417:   void SetTime(int64_t time);
1417:   void SetTotalTime(int64_t time);
1417:   void SetVideoStream(int iStream);
1417:   void SetVolume(float volume);
1417:   void SetSpeed(float speed);
1417:   bool SupportsTempo() const;
1417: 
1417:   CVideoSettings GetVideoSettings() const;
1417:   void SetVideoSettings(CVideoSettings& settings);
1417: 
1417:   CSeekHandler& GetSeekHandler();
1417:   const CSeekHandler& GetSeekHandler() const;
1417: 
1417:   void SetUpdateStreamDetails();
1417: 
1417: 
1417: 
1417: 
1417:   bool HasGameAgent() const;
1417: 
1417: private:
1417:   std::shared_ptr<const IPlayer> GetInternal() const;
1417:   std::shared_ptr<IPlayer> GetInternal();
1417:   void CreatePlayer(const CPlayerCoreFactory &factory, const std::string &player, IPlayerCallback& callback);
1417:   void CloseFile(bool reopen = false);
1417: 
1417:   std::shared_ptr<IPlayer> m_pPlayer;
1417:   mutable CCriticalSection m_playerLock;
1417:   CSeekHandler m_seekHandler;
1417: 
1417: 
1417:   XbmcThreads::EndTime<> m_audioStreamUpdate;
1417:   int m_iAudioStream;
1417:   XbmcThreads::EndTime<> m_videoStreamUpdate;
1417:   int m_iVideoStream;
1417:   XbmcThreads::EndTime<> m_subtitleStreamUpdate;
1417:   int m_iSubtitleStream;
1417: 
1417:   struct SNextItem
1417:   {
1417:     std::shared_ptr<CFileItem> pItem;
1417:     CPlayerOptions options = {};
1417:     std::string playerName;
1417:     IPlayerCallback *callback = nullptr;
1417:   } m_nextItem;
1417: };
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEAudioFormat.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEAudioFormat.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelData.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelData.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: enum AEChannel
1417: {
1417:   AE_CH_NULL = -1,
1417:   AE_CH_RAW ,
1417: 
1417:   AE_CH_FL , AE_CH_FR , AE_CH_FC , AE_CH_LFE, AE_CH_BL , AE_CH_BR , AE_CH_FLOC,
1417:   AE_CH_FROC, AE_CH_BC , AE_CH_SL , AE_CH_SR , AE_CH_TFL , AE_CH_TFR , AE_CH_TFC ,
1417:   AE_CH_TC , AE_CH_TBL, AE_CH_TBR, AE_CH_TBC, AE_CH_BLOC, AE_CH_BROC,
1417: 
1417: 
1417:   AE_CH_UNKNOWN1 , AE_CH_UNKNOWN2 , AE_CH_UNKNOWN3 , AE_CH_UNKNOWN4 ,
1417:   AE_CH_UNKNO1434:    pop_front();
1434:  }
1434:       else
1434:  {
1434:    if (__next != end())
1434:      std::move(__next, end(), __position);
1434:    pop_back();
1434:  }
1434:       return begin() + __index;
1434:     }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     typename deque<_Tp, _Alloc>::iterator
1434:     deque<_Tp, _Alloc>::
1434:     _M_erase(iterator __first, iterator __last)
1434:     {
1434:       if (__first == __last)
1434:  return __first;
1434:       else if (__first == begin() && __last == end())
1434:  {
1434:    clear();
1434:    return end();
1434:  }
1434:       else
1434:  {
1434:    const difference_type __n = __last - __first;
1434:    const difference_type __elems_before = __first - begin();
1434:    if (static_cast<size_type>(__elems_before) <= (size() - __n) / 2)
1434:      {
1434:        if (__first != begin())
1434:   std::move_backward(begin(), __first, __last);
1434:        _M_erase_at_begin(begin() + __n);
1434:      }
1434:    else
1434:      {
1434:        if (__last != end())
1434:   std::move(__last, end(), __first);
1434:        _M_erase_at_end(end() - __n);
1434:      }
1434:    return begin() + __elems_before;
1434:  }
1434:     }
1434: 
1434:   template <typename _Tp, class _Alloc>
1434:     template <typename _InputIterator>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1434:       std::input_iterator_tag)
1434:       {
1434:  iterator __cur = begin();
1434:  for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1434:    *__cur = *__first;
1434:  if (__first == __last)
1434:    _M_erase_at_end(__cur);
1434:  else
1434:    _M_range_insert_aux(end(), __first, __last,
1434:          std::__iterator_category(__first));
1434:       }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
1434:     {
1434:       if (__pos._M_cur == this->_M_impl._M_start._M_cur)
1434:  {
1434:    iterator __new_start = _M_reserve_elements_at_front(__n);
1434:    try
1434:      {
1434:        std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
1434:        __x, _M_get_Tp_allocator());
1434:        this->_M_impl._M_start = __new_start;
1434:      }
1434:    catch(...)
1434:      {
1434:        _M_destroy_nodes(__new_start._M_node,
1434:           this->_M_impl._M_start._M_node);
1434:        throw;
1434:      }
1434:  }
1434:       else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1434:  {
1434:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1434:    try
1434:      {
1434:        std::__uninitialized_fill_a(this->_M_impl._M_finish,
1434:        __new_finish, __x,
1434:        _M_get_Tp_allocator());
1434:        this->_M_impl._M_finish = __new_finish;
1434:      }
1434:    catch(...)
1434:      {
1434:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1434:           __new_finish._M_node + 1);
1434:        throw;
1434:      }
1434:  }
1434:       else
1434:  _M_insert_aux(__pos, __n, __x);
1434:     }
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_default_append(size_type __n)
1434:     {
1434:       if (__n)
1434:  {
1434:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1434:    try
1434:      {
1434:        std::__uninitialized_default_a(this->_M_impl._M_finish,
1434:           __new_finish,
1434:           _M_get_Tp_allocator());
1434:        this->_M_impl._M_finish = __new_finish;
1434:      }
1434:    catch(...)
1434:      {
1434:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1434:           __new_finish._M_node + 1);
1434:        throw;
1434:      }
1434:  }
1434:     }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     bool
1434:     deque<_Tp, _Alloc>::
1434:     _M_shrink_to_fit()
1434:     {
1434:       const difference_type __front_capacity
1434:  = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start115: 
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return const_iterator(nullptr); }
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_element_count; }
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return size() == 0; }
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(this->_M_node_allocator()); }
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return __node_alloc_traits::max_size(this->_M_node_allocator()); }
1115: 
1115: 
1115:       key_equal
1115:       key_eq() const
1115:       { return this->_M_eq(); }
1115: 
1115: 
1115: 
1115: 
1115:       size_type
1115:       bucket_count() const noexcept
1115:       { return _M_bucket_count; }
1115: 
1115:       size_type
1115:       max_bucket_count() const noexcept
1115:       { return max_size(); }
1115: 
1115:       size_type
1115:       bucket_size(size_type __bkt) const
1115:       { return std::distance(begin(__bkt), end(__bkt)); }
1115: 
1115:       size_type
1115:       bucket(const key_type& __k) const
1115:       { return _M_bucket_index(this->_M_hash_code(__k)); }
1115: 
1115:       local_iterator
1115:       begin(size_type __bkt)
1115:       {
1115:  return local_iterator(*this, _M_bucket_begin(__bkt),
1115:          __bkt, _M_bucket_count);
1115:       }
1115: 
1115:       local_iterator
1115:       end(size_type __bkt)
1115:       { return local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1115: 
1115:       const_local_iterator
1115:       begin(size_type __bkt) const
1115:       {
1115:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1115:         __bkt, _M_bucket_count);
1115:       }
1115: 
1115:       const_local_iterator
1115:       end(size_type __bkt) const
1115:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1115: 
1115: 
1115:       const_local_iterator
1115:       cbegin(size_type __bkt) const
1115:       {
1115:  return const_local_iterator(*this, _M_bucket_begin(__bkt),
1115:         __bkt, _M_bucket_count);
1115:       }
1115: 
1115:       const_local_iterator
1115:       cend(size_type __bkt) const
1115:       { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); }
1115: 
1115:       float
1115:       load_factor() const noexcept
1115:       {
1115:  return static_cast<float>(size()) / static_cast<float>(bucket_count());
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const _RehashPolicy&
1115:       __rehash_policy() const
1115:       { return _M_rehash_policy; }
1115: 
1115:       void
1115:       __rehash_policy(const _RehashPolicy& __pol)
1115:       { _M_rehash_policy = __pol; }
1115: 
1115: 
1115:       iterator
1115:       find(const key_type& __k);
1115: 
1115:       const_iterator
1115:       find(const key_type& __k) const;
1115: 
1115:       size_type
1115:       count(const key_type& __k) const;
1115: 
1115:       std::pair<iterator, iterator>
1115:       equal_range(const key_type& __k);
1115: 
1115:       std::pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __k) const;
1115: # 790 "/usr/include/c++/12/bits/hashtable.h" 3
1115:     private:
1115: 
1115:       size_type
1115:       _M_bucket_index(const __node_value_type& __n) const noexcept
1115:       { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); }
1115: 
1115:       size_type
1115:       _M_bucket_index(__hash_code __c) const
1115:       { return __hash_code_base::_M_bucket_index(__c, _M_bucket_count); }
1115: 
1115:       __node_base_ptr
1115:       _M_find_before_node(const key_type&);
1115: 
1115: 
1115: 
1115:       __node_base_ptr
1115:       _M_find_before_node(size_type, const key_type&, __hash_code) const;
1115: 
1115:       template<typename _Kt>
1115:  __node_base_ptr
1115:  _M_find_before_node_tr(size_type, const _Kt&, __hash_code) const;
1115: 
1115:       __node_ptr
1115:       _M_find_node(size_type __bkt, const key_type& __key,
1115:      __hash_code __c) const
1115:       {
1115:  __node_base_ptr __before_n = _M_find_before_node(__bkt, __key, __c);
1115:  if (__before_n)
1115:    return static_cast<__node_ptr>(__before_n->_M_nxt);
1115:  return nullptr;
1115:       }
1115: 
1115:       template<typename _Kt>
1115:  __node_ptr
1115:  _M_find_node_tr(size_type __bkt, const _Kt& __key,
1115:    __hash_code __c) const
1115:  {
1115:    auto __before_n = _M_find_before_node_tr(__bkt, __key, __c);
1115:    if (__before_n)
1115:      return static_cast<__node_ptr>(__before_n->_M_nxt);
1115:    return nullptr;
1115:  }
1115: 
1115: 
1115:       void
1115:       _M_insert_bucket_begin(size_type, __node_ptr);
1115: 
1115: 
1115:       void
1115:       _M_remove_bucket_begin(size_type __bkt, __node_ptr __next_n,
1115:         size_type __next_bkt);
1115: 
1115: 
1115:       __node_base_ptr
1115:       _M_get_previous_node(size_type __bkt, __node_ptr __n);
1115: 
1115:       pair<const_iterator, __hash_code>
1115:       _M_compute_hash_code(const_iterator __hint, const key_type& __k) const;
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       _M_insert_unique_node(size_type __bkt, __hash_code,
1115:        __node_ptr __n, size_type __n_elt = 1);
1115: 
1115: 
1115: 
1115:       iterator
1115:       _M_insert_multi_node(__node_ptr __hint,
1115:       __hash_code __code, __node_ptr __n);
1115: 
1115:       template<typename... _Args>
1115:  std::pair<iterator, bool>
1115:  _M_emplace(true_type __uks, _Args&&... __args);
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  _M_emplace(false_type __uks, _Args&&... __args)
1115:  { return _M_emplace(cend(), __uks, std::forward<_Args>(__args)...); }
1115: 
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  _M_emplace(const_iterator, true_type __uks, _Args&&... __args)
1115:  { return _M_emplace(__uks, std::forward<_Args>(__args)...).first; }
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  _M_emplace(const_iterator, false_type __uks, _Args&&... __args);
1115: 
1115:       template<typename _Kt, typename _Arg, typename _NodeGenerator>
1115:  std::pair<iterator, bool>
1115:  _M_insert_unique(_Kt&&, _Arg&&, const _NodeGenerator&);
1115: 
1115:       template<typename _Kt>
1115:  static __conditional_t<
1115:    __and_<__is_nothrow_invocable<_Hash&, const key_type&>,
1115:    __not_<__is_nothrow_invocable<_Hash&, _Kt>>>::value,
1115:    key_type, _Kt&&>
1115:  _S_forward_key(_Kt&& __k)
1115:  { return std::forward<_Kt>(__k); }
1115: 
1115:       static const key_type&
1115:       _S_forward_key(const key_type& __k)
1115:       { return __k; }
1115: 
1115:       static key_type&&
1115:       _S_forward_key(key_type&& __k)
1115:       { return std::move(__k); }
1115: 
1115:       template<typename _Arg, typename _NodeGenerator>
1115:  std::pair<iterator, bool>
1115:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1115:     true_type )
1115:  {
1115:    return _M_insert_unique(
1115:      _S_forward_key(_ExtractKey{}(std::forward<_Arg>(__arg))),
1115:      std::forward<_Arg>(__arg), __node_gen);
1115:  }
1115: 
1115:       template<typename _Arg, typename _NodeGenerator>
1115:  iterator
1115:  _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen,
1115:     false_type __uks)
1115:  {
1115:    return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen,
1115:       __uks);
1115:  }
1115: 
1115: 
1115:       template<typename _Arg, typename _NodeGenerator>
1115:  iterator
1115:  _M_insert(const_iterator, _Arg&& __arg,
1115:     const _NodeGenerator& __node_gen, true_type __uks)
1115:  {
1115:    return
1115:      _M_insert(std::forward<_Arg>(__arg), __node_gen, __uks).first;
1115:  }
1115: 
1115: 
1115:       template<typename _Arg, typename _NodeGenerator>
1115:  iterator
1115:  _M_insert(const_iterator, _Arg&&,
1115:     const _NodeGenerator&, false_type __uks);
1115: 
1115:       size_type
1115:       _M_erase(true_type __uks, const key_type&);
1115: 
1115:       size_type
1115:       _M_erase(false_type __uks, const key_type&);
1115: WN5 , AE_CH_UNKNOWN6 , AE_CH_UNKNOWN7 , AE_CH_UNKNOWN8 ,
1417:   AE_CH_UNKNOWN9 , AE_CH_UNKNOWN10, AE_CH_UNKNOWN11, AE_CH_UNKNOWN12,
1417:   AE_CH_UNKNOWN13, AE_CH_UNKNOWN14, AE_CH_UNKNOWN15, AE_CH_UNKNOWN16,
1417:   AE_CH_UNKNOWN17, AE_CH_UNKNOWN18, AE_CH_UNKNOWN19, AE_CH_UNKNOWN20,
1417:   AE_CH_UNKNOWN21, AE_CH_UNKNOWN22, AE_CH_UNKNOWN23, AE_CH_UNKNOWN24,
1417:   AE_CH_UNKNOWN25, AE_CH_UNKNOWN26, AE_CH_UNKNOWN27, AE_CH_UNKNOWN28,
1417:   AE_CH_UNKNOWN29, AE_CH_UNKNOWN30, AE_CH_UNKNOWN31, AE_CH_UNKNOWN32,
1417:   AE_CH_UNKNOWN33, AE_CH_UNKNOWN34, AE_CH_UNKNOWN35, AE_CH_UNKNOWN36,
1417:   AE_CH_UNKNOWN37, AE_CH_UNKNOWN38, AE_CH_UNKNOWN39, AE_CH_UNKNOWN40,
1417:   AE_CH_UNKNOWN41, AE_CH_UNKNOWN42, AE_CH_UNKNOWN43, AE_CH_UNKNOWN44,
1417:   AE_CH_UNKNOWN45, AE_CH_UNKNOWN46, AE_CH_UNKNOWN47, AE_CH_UNKNOWN48,
1417:   AE_CH_UNKNOWN49, AE_CH_UNKNOWN50, AE_CH_UNKNOWN51, AE_CH_UNKNOWN52,
1417:   AE_CH_UNKNOWN53, AE_CH_UNKNOWN54, AE_CH_UNKNOWN55, AE_CH_UNKNOWN56,
1417:   AE_CH_UNKNOWN57, AE_CH_UNKNOWN58, AE_CH_UNKNOWN59, AE_CH_UNKNOWN60,
1417:   AE_CH_UNKNOWN61, AE_CH_UNKNOWN62, AE_CH_UNKNOWN63, AE_CH_UNKNOWN64,
1417: 
1417:   AE_CH_MAX
1417: };
1417: 
1417: 
1417: 
1417: 
1417: enum AEStdChLayout
1417: {
1417:   AE_CH_LAYOUT_INVALID = -1,
1417: 
1417:   AE_CH_LAYOUT_1_0 = 0,
1417:   AE_CH_LAYOUT_2_0,
1417:   AE_CH_LAYOUT_2_1,
1417:   AE_CH_LAYOUT_3_0,
1417:   AE_CH_LAYOUT_3_1,
1417:   AE_CH_LAYOUT_4_0,
1417:   AE_CH_LAYOUT_4_1,
1417:   AE_CH_LAYOUT_5_0,
1417:   AE_CH_LAYOUT_5_1,
1417:   AE_CH_LAYOUT_7_0,
1417:   AE_CH_LAYOUT_7_1,
1417: 
1417:   AE_CH_LAYOUT_MAX
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum AEDataFormat
1417: {
1417:   AE_FMT_INVALID = -1,
1417: 
1417:   AE_FMT_U8,
1417: 
1417:   AE_FMT_S16BE,
1417:   AE_FMT_S16LE,
1417:   AE_FMT_S16NE,
1417: 
1417:   AE_FMT_S32BE,
1417:   AE_FMT_S32LE,
1417:   AE_FMT_S32NE,
1417: 
1417:   AE_FMT_S24BE4,
1417:   AE_FMT_S24LE4,
1417:   AE_FMT_S24NE4,
1417:   AE_FMT_S24NE4MSB,
1417: 
1417:   AE_FMT_S24BE3,
1417:   AE_FMT_S24LE3,
1417:   AE_FMT_S24NE3,
1417: 
1417:   AE_FMT_DOUBLE,
1417:   AE_FMT_FLOAT,
1417: 
1417: 
1417:   AE_FMT_RAW,
1417: 
1417: 
1417:   AE_FMT_U8P,
1417:   AE_FMT_S16NEP,
1417:   AE_FMT_S32NEP,
1417:   AE_FMT_S24NE4P,
1417:   AE_FMT_S24NE4MSBP,
1417:   AE_FMT_S24NE3P,
1417:   AE_FMT_DOUBLEP,
1417:   AE_FMT_FLOATP,
1417: 
1417:   AE_FMT_MAX
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CHelper_libKODI_audioengine;
1417: 
1417: class CAEChannelInfo {
1417:   friend class CHelper_libKODI_audioengine;
1417: 
1417: public:
1417:   CAEChannelInfo();
1417:   explicit CAEChannelInfo(const enum AEChannel* rhs);
1417:   CAEChannelInfo(const enum AEStdChLayout rhs);
1417:   ~CAEChannelInfo() = default;
1417:   CAEChannelInfo(const CAEChannelInfo&) = default;
1417:   CAEChannelInfo& operator=(const CAEChannelInfo& rhs);
1417:   CAEChannelInfo& operator=(const enum AEChannel* rhs);
1417:   CAEChannelInfo& operator=(const enum AEStdChLayout rhs);
1417:   bool operator==(const CAEChannelInfo& rhs) const;
1417:   bool operator!=(const CAEChannelInfo& rhs) const;
1417:   CAEChannelInfo& operator+=(const enum AEChannel& rhs);
1417:   CAEChannelInfo& operator-=(const enum AEChannel& rhs);
1417:   enum AEChannel operator[](unsigned int i) const;
1417:   operator std::string() const;
1417: 
1417: 
1417:   void ResolveChannels(const CAEChannelInfo& rhs);
1417:   void Reset();
1417:   inline unsigned int Count() const { return m_channelCount; }
1417:   static const char* GetChName(const enum AEChannel ch);
1417:   bool HasChannel(const enum AEChannel ch) const;
1417:   bool IsChannelValid(const unsigned int pos);
1417:   bool IsLayoutValid();
1417:   bool ContainsChannels(const CAEChannelInfo& rhs) const;
1417:   void ReplaceChannel(const enum AEChannel from, const enum AEChannel to);
1417:   int BestMatch(const std::vector<CAEChannelInfo>& dsts, int* score = 
1417: # 48 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.h" 3 4
1417:       ._M_first);
1434:       if (__front_capacity == 0)
1434:  return false;
1434: 
1434:       const difference_type __back_capacity
1434:  = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur);
1434:       if (__front_capacity + __back_capacity < _S_buffer_size())
1434:  return false;
1434: 
1434:       return std::__shrink_to_fit_aux<deque>::_S_do_it(*this);
1434:     }
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_fill_initialize(const value_type& __value)
1434:     {
1434:       _Map_pointer __cur;
1434:       try
1434:  {
1434:    for (__cur = this->_M_impl._M_start._M_node;
1434:         __cur < this->_M_impl._M_finish._M_node;
1434:         ++__cur)
1434:      std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(),
1434:      __value, _M_get_Tp_allocator());
1434:    std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
1434:           this->_M_impl._M_finish._M_cur,
1434:           __value, _M_get_Tp_allocator());
1434:  }
1434:       catch(...)
1434:  {
1434:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1434:    _M_get_Tp_allocator());
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     template <typename _InputIterator>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_range_initialize(_InputIterator __first, _InputIterator __last,
1434:      std::input_iterator_tag)
1434:       {
1434:  this->_M_initialize_map(0);
1434:  try
1434:    {
1434:      for (; __first != __last; ++__first)
1434: 
1434:        emplace_back(*__first);
1434: 
1434: 
1434: 
1434:    }
1434:  catch(...)
1434:    {
1434:      clear();
1434:      throw;
1434:    }
1434:       }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     template <typename _ForwardIterator>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1434:      std::forward_iterator_tag)
1434:       {
1434:  const size_type __n = std::distance(__first, __last);
1434:  this->_M_initialize_map(_S_check_init_len(__n, _M_get_Tp_allocator()));
1434: 
1434:  _Map_pointer __cur_node;
1434:  try
1434:    {
1434:      for (__cur_node = this->_M_impl._M_start._M_node;
1434:    __cur_node < this->_M_impl._M_finish._M_node;
1434:    ++__cur_node)
1434:        {
1434:   if (__n < _S_buffer_size())
1434:     __builtin_unreachable();
1434: 
1434:   _ForwardIterator __mid = __first;
1434:   std::advance(__mid, _S_buffer_size());
1434:   std::__uninitialized_copy_a(__first, __mid, *__cur_node,
1434:          _M_get_Tp_allocator());
1434:   __first = __mid;
1434:        }
1434:      std::__uninitialized_copy_a(__first, __last,
1434:      this->_M_impl._M_finish._M_first,
1434:      _M_get_Tp_allocator());
1434:    }
1434:  catch(...)
1434:    {
1434:      std::_Destroy(this->_M_impl._M_start,
1434:      iterator(*__cur_node, __cur_node),
1434:      _M_get_Tp_allocator());
1434:      throw;
1434:    }
1434:       }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434: 
1434:     template<typename... _Args>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_push_back_aux(_Args&&... __args)
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       {
1434:  if (size() == max_size())
1434:    __throw_length_error(
1434:        ("cannot create std::deque larger than max_size()"));
1434: 
1434:  _M_reserve_map_at_back();
1434:  *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
1434:  try
1434:    {
1434: 
1434:      _Alloc_traits::construct(this->_M_impl,
1434:          this->_M_impl._M_finish._M_cur,
1434:          std::forward<_Args>(__args)...);
1434: 
1434: 
1434: 
1434:      this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
1434:       + 1);
1434:      this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
1434:    }
1434:  catch(...)
1434:    {
1434:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
1434:      throw;
1434:    }
1434:       }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434: 
1434:     template<typename... _Args>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_push_front_aux(_Args&&... __args)
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       {
1434:  if (size() == max_size())
1434:    __throw_length_error(
1434:        ("cannot create std::deque larger than max_size()"));
1434: 
1434:  _M_reserve_map_at_front();
1434:  *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
1434:  try
1434:    {
1434:      this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
1434:             - 1);
1434:      this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
1434: 
1434:      _Alloc_traits::construct(this->_M_impl,
1434:          this->_M_impl._M_start._M_cur,
1434:          std::forward<_Args>(__args)...);
1434: 
1434: 
1434: 
1434:    }
1434:  catch(...)
1434:    {
1434:      ++this->_M_impl._M_start;
1434:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
1434:      throw;
1434:    }
1434:       }
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void deque<_Tp, _Alloc>::
1434:     _M_pop_back_aux()
1434:     {
1434:       _M_deallocate_node(this->_M_impl._M_finish._M_first);
1434:       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
1434:       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
1434:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1434:         this->_M_impl._M_finish._M_cur);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void deque<_Tp, _Alloc>::
1434:     _M_pop_front_aux()
1434:     {
1434:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1434:         this->_M_impl._M_start._M_cur);
1434:       _M_deallocate_node(this->_M_impl._M_start._M_first);
1434:       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
1434:       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
1434:     }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     template <typename _InputIterator>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_range_insert_aux(iterator __pos,
1434:      _InputIterator __first, _InputIterator __last,
1434:      std::input_iterator_tag)
1434:       { std::copy(__first, __last, std::inserter(*this, __pos)); }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     template <typename _ForwardIterator>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_range_insert_aux(iterator __pos,
1434:      _ForwardIterator __first, _ForwardIterator __last,
1434:      std::forward_iterator_tag)
1434:       {
1434:  const size_type __n = std::distance(__first, __last);
1434:  if (__pos._M_cur == this->_M_impl._M_start._M_cur)
1434:    {
1434:      iterator __new_start = _M_reserve_elements_at_front(__n);
1434:      try
1434:        {
1434:   std::__uninitialized_copy_a(__first, __last, __new_start,
1434:          _M_get_Tp_allocator());
1434:   this->_M_impl._M_start = __new_start;
1434:        }
1434:      catch(...)
1434:        {
1434:   _M_destroy_nodes(__new_start._M_node,
1434:      this->_M_impl._M_start._M_node);
1434:   throw;
1434:        }
1434:    }
1434:  else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1434:    {
1434:      iterator __new_finish = _M_reserve_elements_at_back(__n);
1434:      try
1434:        {
1434:   std::__uninitialized_copy_a(__first, __last,
1434:          this->_M_impl._M_finish,
1434:          _M_get_Tp_allocator());
1434:   this->_M_impl._M_finish = __new_finish;
1434:        }
1434:      catch(...)
1434:        {
1434:   _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1434:      __new_finish._M_node + 1);
1434:   throw;
1434:        }
1434:    }
1434:  else
1434:    _M_insert_aux(__pos, __first, __last, __n);
1434:       }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434: 
1434:     template<typename... _Args>
1434:       typename deque<_Tp, _Alloc>::iterator
1434: 
1115:       iterator
1115:       _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n);
1115: 
1115:     public:
1115: 
1115:       template<typename... _Args>
1115:  __ireturn_type
1115:  emplace(_Args&&... __args)
1115:  { return _M_emplace(__unique_keys{}, std::forward<_Args>(__args)...); }
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace_hint(const_iterator __hint, _Args&&... __args)
1115:  {
1115:    return _M_emplace(__hint, __unique_keys{},
1115:        std::forward<_Args>(__args)...);
1115:  }
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       erase(const_iterator);
1115: 
1115: 
1115:       iterator
1115:       erase(iterator __it)
1115:       { return erase(const_iterator(__it)); }
1115: 
1115:       size_type
1115:       erase(const key_type& __k)
1115:       { return _M_erase(__unique_keys{}, __k); }
1115: 
1115:       iterator
1115:       erase(const_iterator, const_iterator);
1115: 
1115:       void
1115:       clear() noexcept;
1115: 
1115: 
1115: 
1115:       void rehash(size_type __bkt_count);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       insert_return_type
1115:       _M_reinsert_node(node_type&& __nh)
1115:       {
1115:  insert_return_type __ret;
1115:  if (__nh.empty())
1115:    __ret.position = end();
1115:  else
1115:    {
1115:      do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1115: 
1115:      const key_type& __k = __nh._M_key();
1115:      __hash_code __code = this->_M_hash_code(__k);
1115:      size_type __bkt = _M_bucket_index(__code);
1115:      if (__node_ptr __n = _M_find_node(__bkt, __k, __code))
1115:        {
1115:   __ret.node = std::move(__nh);
1115:   __ret.position = iterator(__n);
1115:   __ret.inserted = false;
1115:        }
1115:      else
1115:        {
1115:   __ret.position
1115:     = _M_insert_unique_node(__bkt, __code, __nh._M_ptr);
1115:   __nh._M_ptr = nullptr;
1115:   __ret.inserted = true;
1115:        }
1115:    }
1115:  return __ret;
1115:       }
1115: 
1115: 
1115:       iterator
1115:       _M_reinsert_node_multi(const_iterator __hint, node_type&& __nh)
1115:       {
1115:  if (__nh.empty())
1115:    return end();
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __nh.get_allocator())) __builtin_unreachable(); } while (false);
1115: 
1115:  const key_type& __k = __nh._M_key();
1115:  auto __code = this->_M_hash_code(__k);
1115:  auto __ret
1115:    = _M_insert_multi_node(__hint._M_cur, __code, __nh._M_ptr);
1115:  __nh._M_ptr = nullptr;
1115:  return __ret;
1115:       }
1115: 
1115:     private:
1115:       node_type
1115:       _M_extract_node(size_t __bkt, __node_base_ptr __prev_n)
1115:       {
1115:  __node_ptr __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1115:  if (__prev_n == _M_buckets[__bkt])
1115:    _M_remove_bucket_begin(__bkt, __n->_M_next(),
1115:       __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1115:  else if (__n->_M_nxt)
1115:    {
1115:      size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1115:      if (__next_bkt != __bkt)
1115:        _M_buckets[__next_bkt] = __prev_n;
1115:    }
1115: 
1115:  __prev_n->_M_nxt = __n->_M_nxt;
1115:  __n->_M_nxt = nullptr;
1115:  --_M_element_count;
1115:  return { __n, this->_M_node_allocator() };
1115:       }
1115: 
1115:     public:
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  size_t __bkt = _M_bucket_index(*__pos._M_cur);
1115:  return _M_extract_node(__bkt,
1115:           _M_get_previous_node(__bkt, __pos._M_cur));
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const _Key& __k)
1115:       {
1115:  node_type __nh;
1115:  __hash_code __code = this->_M_hash_code(__k);
1115:  std::size_t __bkt = _M_bucket_index(__code);
1115:  if (__node_base_ptr __prev_node = _M_find_before_node(__bkt, __k, __code))
1115:    __nh = _M_extract_node(__bkt, __prev_node);
1115:  return __nh;
1115:       }
1115: 
1115: 
1115:       template<typename _Compatible      deque<_Tp, _Alloc>::
1434:       _M_insert_aux(iterator __pos, _Args&&... __args)
1434:       {
1434:  value_type __x_copy(std::forward<_Args>(__args)...);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  difference_type __index = __pos - this->_M_impl._M_start;
1434:  if (static_cast<size_type>(__index) < size() / 2)
1434:    {
1434:      push_front(std::move(front()));
1434:      iterator __front1 = this->_M_impl._M_start;
1434:      ++__front1;
1434:      iterator __front2 = __front1;
1434:      ++__front2;
1434:      __pos = this->_M_impl._M_start + __index;
1434:      iterator __pos1 = __pos;
1434:      ++__pos1;
1434:      std::move(__front2, __pos1, __front1);
1434:    }
1434:  else
1434:    {
1434:      push_back(std::move(back()));
1434:      iterator __back1 = this->_M_impl._M_finish;
1434:      --__back1;
1434:      iterator __back2 = __back1;
1434:      --__back2;
1434:      __pos = this->_M_impl._M_start + __index;
1434:      std::move_backward(__pos, __back2, __back1);
1434:    }
1434:  *__pos = std::move(__x_copy);
1434:  return __pos;
1434:       }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
1434:     {
1434:       const difference_type __elems_before = __pos - this->_M_impl._M_start;
1434:       const size_type __length = this->size();
1434:       value_type __x_copy = __x;
1434:       if (__elems_before < difference_type(__length / 2))
1434:  {
1434:    iterator __new_start = _M_reserve_elements_at_front(__n);
1434:    iterator __old_start = this->_M_impl._M_start;
1434:    __pos = this->_M_impl._M_start + __elems_before;
1434:    try
1434:      {
1434:        if (__elems_before >= difference_type(__n))
1434:   {
1434:     iterator __start_n = (this->_M_impl._M_start
1434:      + difference_type(__n));
1434:     std::__uninitialized_move_a(this->_M_impl._M_start,
1434:            __start_n, __new_start,
1434:            _M_get_Tp_allocator());
1434:     this->_M_impl._M_start = __new_start;
1434:     std::move(__start_n, __pos, __old_start);
1434:     std::fill(__pos - difference_type(__n), __pos, __x_copy);
1434:   }
1434:        else
1434:   {
1434:     std::__uninitialized_move_fill(this->_M_impl._M_start,
1434:        __pos, __new_start,
1434:        this->_M_impl._M_start,
1434:        __x_copy,
1434:        _M_get_Tp_allocator());
1434:     this->_M_impl._M_start = __new_start;
1434:     std::fill(__old_start, __pos, __x_copy);
1434:   }
1434:      }
1434:    catch(...)
1434:      {
1434:        _M_destroy_nodes(__new_start._M_node,
1434:           this->_M_impl._M_start._M_node);
1434:        throw;
1434:      }
1434:  }
1434:       else
1434:  {
1434:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1434:    iterator __old_finish = this->_M_impl._M_finish;
1434:    const difference_type __elems_after =
1434:      difference_type(__length) - __elems_before;
1434:    __pos = this->_M_impl._M_finish - __elems_after;
1434:    try
1434:      {
1434:        if (__elems_after > difference_type(__n))
1434:   {
1434:     iterator __finish_n = (this->_M_impl._M_finish
1434:       - difference_type(__n));
1434:     std::__uninitialized_move_a(__finish_n,
1434:            this->_M_impl._M_finish,
1434:            this->_M_impl._M_finish,
1434:            _M_get_Tp_allocator());
1434:     this->_M_impl._M_finish = __new_finish;
1434:     std::move_backward(__pos, __finish_n, __old_finish);
1434:     std::fill(__pos, __pos + difference_type(__n), __x_copy);
1434:   }
1434:        else
1434:   {
1434:     std::__uninitialized_fill_move(this->_M_impl._M_finish,
1434:        __pos + difference_type(__n),
1434:        __x_copy, __pos,
1434:        this->_M_impl._M_finish,
1434:        _M_get_Tp_allocator());
1434:     this->_M_impl._M_finish = __new_finish;
1434:     std::fill(__pos, __old_finish, __x_copy);
1434:   }
1434:      }
1434:    catch(...)
1434:      {
1434:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1434:           __new_fini                                                               __null
1417: # 48 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEChannelInfo.h"
1417:                                                                          ) const;
1417:   void AddMissingChannels(const CAEChannelInfo& rhs);
1417: 
1417: private:
1417:   unsigned int m_channelCount;
1417:   enum AEChannel m_channels[AE_CH_MAX];
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEAudioFormat.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEPackIEC61937.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEPackIEC61937.h"
1417:        
1417: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEPackIEC61937.h"
1417: class CAEPackIEC61937
1417: {
1417: public:
1417:   CAEPackIEC61937() = default;
1417:   typedef int (*PackFunc)(uint8_t *data, unsigned int size, uint8_t *dest);
1417: 
1417:   static int PackAC3 (uint8_t *data, unsigned int size, uint8_t *dest);
1417:   static int PackEAC3 (uint8_t *data, unsigned int size, uint8_t *dest);
1417:   static int PackDTS_512 (uint8_t *data, unsigned int size, uint8_t *dest, bool littleEndian);
1417:   static int PackDTS_1024(uint8_t *data, unsigned int size, uint8_t *dest, bool littleEndian);
1417:   static int PackDTS_2048(uint8_t *data, unsigned int size, uint8_t *dest, bool littleEndian);
1417:   static int PackTrueHD (uint8_t *data, unsigned int size, uint8_t *dest);
1417:   static int PackDTSHD (uint8_t *data, unsigned int size, uint8_t *dest, unsigned int period);
1417:   static int PackPause(uint8_t *dest, unsigned int millis, unsigned int framesize, unsigned int samplerate, unsigned int rep_period, unsigned int encodedRate);
1417: private:
1417: 
1417:   static int PackDTS(uint8_t *data, unsigned int size, uint8_t *dest, bool littleEndian,
1417:                      unsigned int frameSize, uint16_t type);
1417: 
1417:   enum IEC61937DataType
1417:   {
1417:     IEC61937_TYPE_NULL = 0x00,
1417:     IEC61937_TYPE_AC3 = 0x01,
1417:     IEC61937_TYPE_DTS1 = 0x0B,
1417:     IEC61937_TYPE_DTS2 = 0x0C,
1417:     IEC61937_TYPE_DTS3 = 0x0D,
1417:     IEC61937_TYPE_DTSHD = 0x11,
1417:     IEC61937_TYPE_EAC3 = 0x15,
1417:     IEC61937_TYPE_TRUEHD = 0x16
1417:   };
1417: 
1417: 
1417:   struct __attribute__((__packed__)) IEC61937Packet
1417: 
1417: 
1417: 
1417: 
1417:   {
1417:     uint16_t m_preamble1;
1417:     uint16_t m_preamble2;
1417:     uint16_t m_type;
1417:     uint16_t m_length;
1417:     uint8_t m_data[61440 - 8];
1417:   };
1417: 
1417: 
1417: 
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C" {
1417: # 1 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 1 3 4
1417: # 31 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 32 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/libavutil/attributes.h" 1 3 4
1417: # 33 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 2 3 4
1417: # 46 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 3 4
1417: 
1417: # 46 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 3 4
1417: typedef uint32_t AVCRC;
1417: 
1417: typedef enum {
1417:     AV_CRC_8_ATM,
1417:     AV_CRC_16_ANSI,
1417:     AV_CRC_16_CCITT,
1417:     AV_CRC_32_IEEE,
1417:     AV_CRC_32_IEEE_LE,
1417:     AV_CRC_16_ANSI_LE,
1417:     AV_CRC_24_IEEE,
1417:     AV_CRC_8_EBU,
1417:     AV_CRC_MAX,
1417: }AVCRCId;
1417: # 76 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 3 4
1417: int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: const AVCRC *av_crc_get_table(AVCRCId crc_Hashtable>
1115:  void
1115:  _M_merge_unique(_Compatible_Hashtable& __src)
1115:  {
1115:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1115:        node_type>, "Node types are compatible");
1115:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1115: 
1115:    auto __n_elt = __src.size();
1115:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1115:      {
1115:        auto __pos = __i++;
1115:        const key_type& __k = _ExtractKey{}(*__pos);
1115:        __hash_code __code
1115:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1115:        size_type __bkt = _M_bucket_index(__code);
1115:        if (_M_find_node(__bkt, __k, __code) == nullptr)
1115:   {
1115:     auto __nh = __src.extract(__pos);
1115:     _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt);
1115:     __nh._M_ptr = nullptr;
1115:     __n_elt = 1;
1115:   }
1115:        else if (__n_elt != 1)
1115:   --__n_elt;
1115:      }
1115:  }
1115: 
1115: 
1115:       template<typename _Compatible_Hashtable>
1115:  void
1115:  _M_merge_multi(_Compatible_Hashtable& __src)
1115:  {
1115:    static_assert(is_same_v<typename _Compatible_Hashtable::node_type,
1115:        node_type>, "Node types are compatible");
1115:    do { if (std::__is_constant_evaluated() && !bool(get_allocator() == __src.get_allocator())) __builtin_unreachable(); } while (false);
1115: 
1115:    __node_ptr __hint = nullptr;
1115:    this->reserve(size() + __src.size());
1115:    for (auto __i = __src.cbegin(), __end = __src.cend(); __i != __end;)
1115:      {
1115:        auto __pos = __i++;
1115:        __hash_code __code
1115:   = this->_M_hash_code(__src.hash_function(), *__pos._M_cur);
1115:        auto __nh = __src.extract(__pos);
1115:        __hint = _M_insert_multi_node(__hint, __code, __nh._M_ptr)._M_cur;
1115:        __nh._M_ptr = nullptr;
1115:      }
1115:  }
1115: 
1115: 
1115:     private:
1115: 
1115:       void _M_rehash_aux(size_type __bkt_count, true_type __uks);
1115: 
1115: 
1115:       void _M_rehash_aux(size_type __bkt_count, false_type __uks);
1115: 
1115: 
1115: 
1115:       void _M_rehash(size_type __bkt_count, const __rehash_state& __state);
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_bucket_begin(size_type __bkt) const
1115:     -> __node_ptr
1115:     {
1115:       __node_base_ptr __n = _M_buckets[__bkt];
1115:       return __n ? static_cast<__node_ptr>(__n->_M_nxt) : nullptr;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _Hashtable(size_type __bkt_count_hint,
1115:         const _Hash& __h, const _Equal& __eq, const allocator_type& __a)
1115:     : _Hashtable(__h, __eq, __a)
1115:     {
1115:       auto __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count_hint);
1115:       if (__bkt_count > _M_bucket_count)
1115:  {
1115:    _M_buckets = _M_allocate_buckets(__bkt_count);
1115:    _M_bucket_count = __bkt_count;
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _InputIterator>
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash,sh._M_node + 1);
1434:        throw;
1434:      }
1434:  }
1434:     }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     template <typename _ForwardIterator>
1434:       void
1434:       deque<_Tp, _Alloc>::
1434:       _M_insert_aux(iterator __pos,
1434:       _ForwardIterator __first, _ForwardIterator __last,
1434:       size_type __n)
1434:       {
1434:  const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
1434:  const size_type __length = size();
1434:  if (static_cast<size_type>(__elemsbefore) < __length / 2)
1434:    {
1434:      iterator __new_start = _M_reserve_elements_at_front(__n);
1434:      iterator __old_start = this->_M_impl._M_start;
1434:      __pos = this->_M_impl._M_start + __elemsbefore;
1434:      try
1434:        {
1434:   if (__elemsbefore >= difference_type(__n))
1434:     {
1434:       iterator __start_n = (this->_M_impl._M_start
1434:        + difference_type(__n));
1434:       std::__uninitialized_move_a(this->_M_impl._M_start,
1434:       __start_n, __new_start,
1434:       _M_get_Tp_allocator());
1434:       this->_M_impl._M_start = __new_start;
1434:       std::move(__start_n, __pos, __old_start);
1434:       std::copy(__first, __last, __pos - difference_type(__n));
1434:     }
1434:   else
1434:     {
1434:       _ForwardIterator __mid = __first;
1434:       std::advance(__mid, difference_type(__n) - __elemsbefore);
1434:       std::__uninitialized_move_copy(this->_M_impl._M_start,
1434:          __pos, __first, __mid,
1434:          __new_start,
1434:          _M_get_Tp_allocator());
1434:       this->_M_impl._M_start = __new_start;
1434:       std::copy(__mid, __last, __old_start);
1434:     }
1434:        }
1434:      catch(...)
1434:        {
1434:   _M_destroy_nodes(__new_start._M_node,
1434:      this->_M_impl._M_start._M_node);
1434:   throw;
1434:        }
1434:    }
1434:  else
1434:  {
1434:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1434:    iterator __old_finish = this->_M_impl._M_finish;
1434:    const difference_type __elemsafter =
1434:      difference_type(__length) - __elemsbefore;
1434:    __pos = this->_M_impl._M_finish - __elemsafter;
1434:    try
1434:      {
1434:        if (__elemsafter > difference_type(__n))
1434:   {
1434:     iterator __finish_n = (this->_M_impl._M_finish
1434:       - difference_type(__n));
1434:     std::__uninitialized_move_a(__finish_n,
1434:            this->_M_impl._M_finish,
1434:            this->_M_impl._M_finish,
1434:            _M_get_Tp_allocator());
1434:     this->_M_impl._M_finish = __new_finish;
1434:     std::move_backward(__pos, __finish_n, __old_finish);
1434:     std::copy(__first, __last, __pos);
1434:   }
1434:        else
1434:   {
1434:     _ForwardIterator __mid = __first;
1434:     std::advance(__mid, __elemsafter);
1434:     std::__uninitialized_copy_move(__mid, __last, __pos,
1434:        this->_M_impl._M_finish,
1434:        this->_M_impl._M_finish,
1434:        _M_get_Tp_allocator());
1434:     this->_M_impl._M_finish = __new_finish;
1434:     std::copy(__first, __mid, __pos);
1434:   }
1434:      }
1434:    catch(...)
1434:      {
1434:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1434:           __new_finish._M_node + 1);
1434:        throw;
1434:      }
1434:  }
1434:       }
1434: 
1434:    template<typename _Tp, typename _Alloc>
1434:      void
1434:      deque<_Tp, _Alloc>::
1434:      _M_destroy_data_aux(iterator __first, iterator __last)
1434:      {
1434:        for (_Map_pointer __node = __first._M_node + 1;
1434:      __node < __last._M_node; ++__node)
1434:   std::_Destroy(*__node, *__node + _S_buffer_size(),
1434:          _M_get_Tp_allocator());
1434: 
1434:        if (__first._M_node != __last._M_node)
1434:   {
1434:     std::_Destroy(__first._M_cur, __first._M_last,
1434:     _M_get_Tp_allocator());
1434:     std::_Destroy(__last._M_first, __last._M_cur,
1434:     _M_get_Tp_allocator());
1434:   }
1434:        else
1434:   std::_Destroy(__first._M_cur, __last._M_cur,
1434:          _M_get_Tp_allocator());
1434:      }
1434: 
1434:   _id);
1417: # 92 "/usr/include/arm-linux-gnueabihf/libavutil/crc.h" 3 4
1417: uint32_t av_crc(const AVCRC *ctx, uint32_t crc,
1417:                 const uint8_t *buffer, size_t length) __attribute__((pure));
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.h" 2
1417: 
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.h"
1417: }
1417: 
1417: class CAEStreamInfo
1417: {
1417: public:
1417:   double GetDuration(bool paPlayer = false) const;
1417:   bool operator==(const CAEStreamInfo& info) const;
1417: 
1417:   enum DataType
1417:   {
1417:     STREAM_TYPE_NULL,
1417:     STREAM_TYPE_AC3,
1417:     STREAM_TYPE_DTS_512,
1417:     STREAM_TYPE_DTS_1024,
1417:     STREAM_TYPE_DTS_2048,
1417:     STREAM_TYPE_DTSHD,
1417:     STREAM_TYPE_DTSHD_CORE,
1417:     STREAM_TYPE_EAC3,
1417:     STREAM_TYPE_MLP,
1417:     STREAM_TYPE_TRUEHD,
1417:     STREAM_TYPE_DTSHD_MA
1417:   };
1417:   DataType m_type = STREAM_TYPE_NULL;
1417:   unsigned int m_sampleRate;
1417:   unsigned int m_channels;
1417:   bool m_dataIsLE = true;
1417:   unsigned int m_dtsPeriod = 0;
1417:   unsigned int m_repeat = 0;
1417:   unsigned int m_ac3FrameSize = 0;
1417: };
1417: 
1417: class CAEStreamParser
1417: {
1417: public:
1417: 
1417:   CAEStreamParser();
1417:   ~CAEStreamParser() = default;
1417: 
1417:   int AddData(uint8_t *data, unsigned int size, uint8_t **buffer = 
1417: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.h" 3 4
1417:                                                                   __null
1417: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEStreamInfo.h"
1417:                                                                       , unsigned int *bufferSize = 0);
1417: 
1417:   void SetCoreOnly(bool value) { m_coreOnly = value; }
1417:   unsigned int IsValid() const { return m_hasSync; }
1417:   unsigned int GetSampleRate() const { return m_info.m_sampleRate; }
1417:   unsigned int GetChannels() const { return m_info.m_channels; }
1417:   unsigned int GetFrameSize() const { return m_fsize; }
1417: 
1417:   unsigned int GetDTSPeriod() const { return m_info.m_dtsPeriod; }
1417:   unsigned int GetEAC3BlocksDiv() const { return m_info.m_repeat; }
1417:   enum CAEStreamInfo::DataType GetDataType() const { return m_info.m_type; }
1417:   bool IsLittleEndian() const { return m_info.m_dataIsLE; }
1417:   unsigned int GetBufferSize() const { return m_bufferSize; }
1417:   CAEStreamInfo& GetStreamInfo() { return m_info; }
1417:   void Reset();
1417: 
1417: private:
1417:   uint8_t m_buffer[61440];
1417:   unsigned int m_bufferSize = 0;
1417:   unsigned int m_skipBytes = 0;
1417: 
1417:   typedef unsigned int (CAEStreamParser::*ParseFunc)(uint8_t *data, unsigned int size);
1417: 
1417:   CAEStreamInfo m_info;
1417:   bool m_coreOnly = false;
1417:   unsigned int m_needBytes = 0;
1417:   ParseFunc m_syncFunc;
1417:   bool m_hasSync = false;
1417: 
1417:   unsigned int m_coreSize = 0;
1417:   unsigned int m_dtsBlocks = 0;
1417:   unsigned int m_fsize = 0;
1417:   int m_substreams = 0;
1417:   AVCRC m_crcTrueHD[1024];
1417: 
1417:   void GetPacket(uint8_t **buffer, unsigned int *bufferSize);
1417:   unsigned int DetectType(uint8_t *data, unsigned int size);
1417:   bool TrySyncAC3(uint8_t *data, unsigned int size, bool resyncing, bool wantEAC3dependent);
1417:   unsigned int SyncAC3(uint8_t *data, unsigned int size);
1417:   unsigned int SyncDTS(uint8_t *data, unsigned int size);
1417:   unsigned int SyncTrueHD(uint8_t *data, unsigned int size);
1417: 
1417:   static unsigned int GetTrueHDChannels(const uint16_t chanmap);
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Utils/AEAudioFormat.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct AEAudioFormat
1417: {
1417: 
1417: 
1417: 
1417:   enum AEDataFormat m_dataFormat;
1417: 
1417: 
1417: 
1417: 
1417:   unsigned int m_sampleRate;
1417: 
1417: 
1417: 
1417: 
1417:   CAEChannelInfo m_channelLayout;
1417: 
1417: 
1417: 
1417: 
1417: template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_new_elements_at_front(size_type __new_elems)
1434:     {
1434:       if (this->max_size() - this->size() < __new_elems)
1434:  __throw_length_error(("deque::_M_new_elements_at_front"));
1434: 
1434:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1434:          / _S_buffer_size());
1434:       _M_reserve_map_at_front(__new_nodes);
1434:       size_type __i;
1434:       try
1434:  {
1434:    for (__i = 1; __i <= __new_nodes; ++__i)
1434:      *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
1434:  }
1434:       catch(...)
1434:  {
1434:    for (size_type __j = 1; __j < __i; ++__j)
1434:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_new_elements_at_back(size_type __new_elems)
1434:     {
1434:       if (this->max_size() - this->size() < __new_elems)
1434:  __throw_length_error(("deque::_M_new_elements_at_back"));
1434: 
1434:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1434:          / _S_buffer_size());
1434:       _M_reserve_map_at_back(__new_nodes);
1434:       size_type __i;
1434:       try
1434:  {
1434:    for (__i = 1; __i <= __new_nodes; ++__i)
1434:      *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
1434:  }
1434:       catch(...)
1434:  {
1434:    for (size_type __j = 1; __j < __i; ++__j)
1434:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template <typename _Tp, typename _Alloc>
1434:     void
1434:     deque<_Tp, _Alloc>::
1434:     _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
1434:     {
1434:       const size_type __old_num_nodes
1434:  = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
1434:       const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;
1434: 
1434:       _Map_pointer __new_nstart;
1434:       if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
1434:  {
1434:    __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
1434:       - __new_num_nodes) / 2
1434:     + (__add_at_front ? __nodes_to_add : 0);
1434:    if (__new_nstart < this->_M_impl._M_start._M_node)
1434:      std::copy(this->_M_impl._M_start._M_node,
1434:         this->_M_impl._M_finish._M_node + 1,
1434:         __new_nstart);
1434:    else
1434:      std::copy_backward(this->_M_impl._M_start._M_node,
1434:           this->_M_impl._M_finish._M_node + 1,
1434:           __new_nstart + __old_num_nodes);
1434:  }
1434:       else
1434:  {
1434:    size_type __new_map_size = this->_M_impl._M_map_size
1434:          + std::max(this->_M_impl._M_map_size,
1434:       __nodes_to_add) + 2;
1434: 
1434:    _Map_pointer __new_map = this->_M_allocate_map(__new_map_size);
1434:    __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
1434:     + (__add_at_front ? __nodes_to_add : 0);
1434:    std::copy(this->_M_impl._M_start._M_node,
1434:       this->_M_impl._M_finish._M_node + 1,
1434:       __new_nstart);
1434:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1434: 
1434:    this->_M_impl._M_map = __new_map;
1434:    this->_M_impl._M_map_size = __new_map_size;
1434:  }
1434: 
1434:       this->_M_impl._M_start._M_set_node(__new_nstart);
1434:       this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _VTp>
1434:     void
1434:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
1434:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __last,
1434:        const _VTp& __value)
1434:     {
1434:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1434:       if (__first._M_node != __last._M_node)
1434:  {
1434:    std::__fill_a1(__first._M_cur, __first._M_last, __value);
1434: 
1434: _Unused, _RehashPolicy, _Traits>::
1115:       _Hashtable(_InputIterator __f, _InputIterator __l,
1115:    size_type __bkt_count_hint,
1115:    const _Hash& __h, const _Equal& __eq,
1115:    const allocator_type& __a, true_type )
1115:       : _Hashtable(__bkt_count_hint, __h, __eq, __a)
1115:       {
1115:  for (; __f != __l; ++__f)
1115:    this->insert(*__f);
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _InputIterator>
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _Hashtable(_InputIterator __f, _InputIterator __l,
1115:    size_type __bkt_count_hint,
1115:    const _Hash& __h, const _Equal& __eq,
1115:    const allocator_type& __a, false_type )
1115:       : _Hashtable(__h, __eq, __a)
1115:       {
1115:  auto __nb_elems = __detail::__distance_fw(__f, __l);
1115:  auto __bkt_count =
1115:    _M_rehash_policy._M_next_bkt(
1115:      std::max(_M_rehash_policy._M_bkt_for_elements(__nb_elems),
1115:        __bkt_count_hint));
1115: 
1115:  if (__bkt_count > _M_bucket_count)
1115:    {
1115:      _M_buckets = _M_allocate_buckets(__bkt_count);
1115:      _M_bucket_count = __bkt_count;
1115:    }
1115: 
1115:  for (; __f != __l; ++__f)
1115:    this->insert(*__f);
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     operator=(const _Hashtable& __ht)
1115:     -> _Hashtable&
1115:     {
1115:       if (&__ht == this)
1115:  return *this;
1115: 
1115:       if (__node_alloc_traits::_S_propagate_on_copy_assign())
1115:  {
1115:    auto& __this_alloc = this->_M_node_allocator();
1115:    auto& __that_alloc = __ht._M_node_allocator();
1115:    if (!__node_alloc_traits::_S_always_equal()
1115:        && __this_alloc != __that_alloc)
1115:      {
1115: 
1115:        this->_M_deallocate_nodes(_M_begin());
1115:        _M_before_begin._M_nxt = nullptr;
1115:        _M_deallocate_buckets();
1115:        _M_buckets = nullptr;
1115:        std::__alloc_on_copy(__this_alloc, __that_alloc);
1115:        __hashtable_base::operator=(__ht);
1115:        _M_bucket_count = __ht._M_bucket_count;
1115:        _M_element_count = __ht._M_element_count;
1115:        _M_rehash_policy = __ht._M_rehash_policy;
1115:        __alloc_node_gen_t __alloc_node_gen(*this);
1115:        try
1115:   {
1115:     _M_assign(__ht, __alloc_node_gen);
1115:   }
1115:        catch(...)
1115:   {
1115: 
1115: 
1115:     _M_reset();
1115:     throw;
1115:   }
1115:        return *this;
1115:      }
1115:    std::__alloc_on_copy(__this_alloc, __that_alloc);
1115:  }
1115: 
1115: 
1115:       _M_assign_elements(__ht);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _Ht>
1115:       void
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _M_assign_elements(_Ht&& __ht)
1115:       {
1115:  __buckets_ptr __former_buckets = nullptr;
1115:  std::size_t __former_bucket_count = _M_bucket_count;
1115:  const __rehash_state& __former_state = _M_rehash_policy._M_state();
1115: 
1115:  if (_M_bucket_count != __ht._M_bucket_count)
1115:    {
1115:      __former_buckets = _M_buckets;
1115:      _M_buckets = _M_allocate_buckets(__ht._M_bucket_count);
1115:      _M_buck    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1434:         __node < __last._M_node; ++__node)
1434:      std::__fill_a1(*__node, *__node + _Iter::_S_buffer_size(), __value);
1434: 
1434:    std::__fill_a1(__last._M_first, __last._M_cur, __value);
1434:  }
1434:       else
1434:  std::__fill_a1(__first._M_cur, __last._M_cur, __value);
1434:     }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1434:     _OI
1434:     __copy_move_dit(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1434:       std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1434:       _OI __result)
1434:     {
1434:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1434:       if (__first._M_node != __last._M_node)
1434:  {
1434:    __result
1434:      = std::__copy_move_a1<_IsMove>(__first._M_cur, __first._M_last,
1434:         __result);
1434: 
1434:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1434:         __node != __last._M_node; ++__node)
1434:      __result
1434:        = std::__copy_move_a1<_IsMove>(*__node,
1434:           *__node + _Iter::_S_buffer_size(),
1434:           __result);
1434: 
1434:    return std::__copy_move_a1<_IsMove>(__last._M_first, __last._M_cur,
1434:            __result);
1434:  }
1434: 
1434:       return std::__copy_move_a1<_IsMove>(__first._M_cur, __last._M_cur,
1434:        __result);
1434:     }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1434:     _OI
1434:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1434:      std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1434:      _OI __result)
1434:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1434: 
1434:   template<bool _IsMove,
1434:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1434:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1434:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1434:      std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1434:      std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1434:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1434: 
1434:   template<bool _IsMove, typename _II, typename _Tp>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value,
1434:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1434:     __copy_move_a1(_II __first, _II __last,
1434:      std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1434:     {
1434:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1434:       typedef typename _Iter::difference_type difference_type;
1434: 
1434:       difference_type __len = __last - __first;
1434:       while (__len > 0)
1434:  {
1434:    const difference_type __clen
1434:      = std::min(__len, __result._M_last - __result._M_cur);
1434:    std::__copy_move_a1<_IsMove>(__first, __first + __clen,
1434:            __result._M_cur);
1434: 
1434:    __first += __clen;
1434:    __result += __clen;
1434:    __len -= __clen;
1434:  }
1434: 
1434:       return __result;
1434:     }
1434: 
1434:   template<bool _IsMove, typename _CharT>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_char<_CharT>::__value,
1434:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1434:     __copy_move_a2(
1434:  istreambuf_iterator<_CharT, char_traits<_CharT> > __first,
1434:  istreambuf_iterator<_CharT, char_traits<_CharT> > __last,
1434:  std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result)
1434:     {
1434:       if (__first == __last)
1434:  return __result;
1434: 
1434:       for (;;)
1434:  {
1434:    const std::ptrdiff_t __len = __result._M_last - __result._M_cur;
1434:    const std::ptrdiff_t __nb
1434:      = std::__copy_n_a(__first, __len, __result._M_cur, false)
1434:      - __result._M_cur;
1434:    __result += __nb;
1434: 
1434:    if (__nb != __len)
1434:      break;
1434:  }
1434: 
1434:       return __result;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Size>
1434:     typename __gnu_  unsigned int m_frames;
1417: 
1417: 
1417: 
1417: 
1417:   unsigned int m_frameSize;
1417: 
1417: 
1417: 
1417: 
1417:   CAEStreamInfo m_streamInfo;
1417: 
1417:   AEAudioFormat()
1417:   {
1417:     m_dataFormat = AE_FMT_INVALID;
1417:     m_sampleRate = 0;
1417:     m_frames = 0;
1417:     m_frameSize = 0;
1417:   }
1417: 
1417:   bool operator==(const AEAudioFormat& fmt) const
1417:   {
1417:     return m_dataFormat == fmt.m_dataFormat &&
1417:             m_sampleRate == fmt.m_sampleRate &&
1417:             m_channelLayout == fmt.m_channelLayout &&
1417:             m_frames == fmt.m_frames &&
1417:             m_frameSize == fmt.m_frameSize &&
1417:             m_streamInfo == fmt.m_streamInfo;
1417:   }
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h" 2
1417: 
1417: # 1 "/usr/include/c++/12/cassert" 1 3
1417: # 41 "/usr/include/c++/12/cassert" 3
1417:        
1417: # 42 "/usr/include/c++/12/cassert" 3
1417: 
1417: 
1417: # 1 "/usr/include/assert.h" 1 3 4
1417: # 45 "/usr/include/c++/12/cassert" 2 3
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern "C" {
1417: # 1 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 1 3 4
1417: # 55 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: 
1417: # 55 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: enum AVSampleFormat {
1417:     AV_SAMPLE_FMT_NONE = -1,
1417:     AV_SAMPLE_FMT_U8,
1417:     AV_SAMPLE_FMT_S16,
1417:     AV_SAMPLE_FMT_S32,
1417:     AV_SAMPLE_FMT_FLT,
1417:     AV_SAMPLE_FMT_DBL,
1417: 
1417:     AV_SAMPLE_FMT_U8P,
1417:     AV_SAMPLE_FMT_S16P,
1417:     AV_SAMPLE_FMT_S32P,
1417:     AV_SAMPLE_FMT_FLTP,
1417:     AV_SAMPLE_FMT_DBLP,
1417:     AV_SAMPLE_FMT_S64,
1417:     AV_SAMPLE_FMT_S64P,
1417: 
1417:     AV_SAMPLE_FMT_NB
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum AVSampleFormat av_get_sample_fmt(const char *name);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar);
1417: # 103 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: enum AVSampleFormat av_get_packed_sample_fmt(enum AVSampleFormat sample_fmt);
1417: # 114 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: enum AVSampleFormat av_get_planar_sample_fmt(enum AVSampleFormat sample_fmt);
1417: # 128 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt);
1417: # 137 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt);
1417: # 157 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples,
1417:                                enum AVSampleFormat sample_fmt, int align);
1417: # 198 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: int av_samples_fill_arrays(uint8_t **audio_data, int *linesize,
1417:                            const uint8_t *buf,
1417:                            int nb_channels, int nb_samples,
1417:                            enum AVSampleFormat sample_fmt, int align);
1417: # 222 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
1417:                      int nb_samples, enum AVSampleFormat sample_fmt, int align);
1417: # 234 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: int av_samples_alloc_array_and_samples(uint8_t ***audio_data, int *linesize, int nb_channels,
1417:                                        int nb_samples, enum AVSampleFormat sample_fmt, int align);
1417:cxx::__enable_if<
1434:       __is_char<_CharT>::__value,
1434:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1434:     __copy_n_a(
1434:       istreambuf_iterator<_CharT, char_traits<_CharT> > __it, _Size __size,
1434:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result,
1434:       bool __strict)
1434:     {
1434:       if (__size == 0)
1434:  return __result;
1434: 
1434:       do
1434:  {
1434:    const _Size __len
1434:      = std::min<_Size>(__result._M_last - __result._M_cur, __size);
1434:    std::__copy_n_a(__it, __len, __result._M_cur, __strict);
1434:    __result += __len;
1434:    __size -= __len;
1434:  }
1434:       while (__size != 0);
1434:       return __result;
1434:     }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1434:     _OI
1434:     __copy_move_backward_dit(
1434:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1434:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1434:   _OI __result)
1434:     {
1434:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1434:       if (__first._M_node != __last._M_node)
1434:  {
1434:    __result = std::__copy_move_backward_a1<_IsMove>(
1434:   __last._M_first, __last._M_cur, __result);
1434: 
1434:    for (typename _Iter::_Map_pointer __node = __last._M_node - 1;
1434:         __node != __first._M_node; --__node)
1434:      __result = std::__copy_move_backward_a1<_IsMove>(
1434:   *__node, *__node + _Iter::_S_buffer_size(), __result);
1434: 
1434:    return std::__copy_move_backward_a1<_IsMove>(
1434:    __first._M_cur, __first._M_last, __result);
1434:  }
1434: 
1434:       return std::__copy_move_backward_a1<_IsMove>(
1434:   __first._M_cur, __last._M_cur, __result);
1434:     }
1434: 
1434:   template<bool _IsMove,
1434:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1434:     _OI
1434:     __copy_move_backward_a1(
1434:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1434:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1434:   _OI __result)
1434:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1434: 
1434:   template<bool _IsMove,
1434:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1434:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1434:     __copy_move_backward_a1(
1434:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1434:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1434:   std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1434:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1434: 
1434:   template<bool _IsMove, typename _II, typename _Tp>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value,
1434:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1434:     __copy_move_backward_a1(_II __first, _II __last,
1434:   std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1434:     {
1434:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1434:       typedef typename _Iter::difference_type difference_type;
1434: 
1434:       difference_type __len = __last - __first;
1434:       while (__len > 0)
1434:  {
1434:    difference_type __rlen = __result._M_cur - __result._M_first;
1434:    _Tp* __rend = __result._M_cur;
1434:    if (!__rlen)
1434:      {
1434:        __rlen = _Iter::_S_buffer_size();
1434:        __rend = *(__result._M_node - 1) + __rlen;
1434:      }
1434: 
1434:    const difference_type __clen = std::min(__len, __rlen);
1434:    std::__copy_move_backward_a1<_IsMove>(__last - __clen, __last, __rend);
1434: 
1434:    __last -= __clen;
1434:    __result -= __clen;
1434:    __len -= __clen;
1434:  }
1434: 
1434:       return __result;
1434:     }
1434: 
1434:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1434:     bool
1434:     __equal_dit(
1434:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __first1,
1434:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __last1,
1434:  _II __first2)
1434:     {
1434:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1434:       if (__first1.et_count = __ht._M_bucket_count;
1115:    }
1115:  else
1115:    __builtin_memset(_M_buckets, 0,
1115:       _M_bucket_count * sizeof(__node_base_ptr));
1115: 
1115:  try
1115:    {
1115:      __hashtable_base::operator=(std::forward<_Ht>(__ht));
1115:      _M_element_count = __ht._M_element_count;
1115:      _M_rehash_policy = __ht._M_rehash_policy;
1115:      __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this);
1115:      _M_before_begin._M_nxt = nullptr;
1115:      _M_assign(std::forward<_Ht>(__ht), __roan);
1115:      if (__former_buckets)
1115:        _M_deallocate_buckets(__former_buckets, __former_bucket_count);
1115:    }
1115:  catch(...)
1115:    {
1115:      if (__former_buckets)
1115:        {
1115: 
1115:   _M_deallocate_buckets();
1115:   _M_rehash_policy._M_reset(__former_state);
1115:   _M_buckets = __former_buckets;
1115:   _M_bucket_count = __former_bucket_count;
1115:        }
1115:      __builtin_memset(_M_buckets, 0,
1115:         _M_bucket_count * sizeof(__node_base_ptr));
1115:      throw;
1115:    }
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _Ht, typename _NodeGenerator>
1115:       void
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _M_assign(_Ht&& __ht, const _NodeGenerator& __node_gen)
1115:       {
1115:  __buckets_ptr __buckets = nullptr;
1115:  if (!_M_buckets)
1115:    _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count);
1115: 
1115:  try
1115:    {
1115:      if (!__ht._M_before_begin._M_nxt)
1115:        return;
1115: 
1115: 
1115: 
1115:      __node_ptr __ht_n = __ht._M_begin();
1115:      __node_ptr __this_n
1115:        = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1115:      this->_M_copy_code(*__this_n, *__ht_n);
1115:      _M_update_bbegin(__this_n);
1115: 
1115: 
1115:      __node_ptr __prev_n = __this_n;
1115:      for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next())
1115:        {
1115:   __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v()));
1115:   __prev_n->_M_nxt = __this_n;
1115:   this->_M_copy_code(*__this_n, *__ht_n);
1115:   size_type __bkt = _M_bucket_index(*__this_n);
1115:   if (!_M_buckets[__bkt])
1115:     _M_buckets[__bkt] = __prev_n;
1115:   __prev_n = __this_n;
1115:        }
1115:    }
1115:  catch(...)
1115:    {
1115:      clear();
1115:      if (__buckets)
1115:        _M_deallocate_buckets();
1115:      throw;
1115:    }
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_reset() noexcept
1115:     {
1115:       _M_rehash_policy._M_reset();
1115:       _M_bucket_count = 1;
1115:       _M_single_bucket = nullptr;
1115:       _M_buckets = &_M_single_bucket;
1115:       _M_before_begin._M_nxt = nullptr;
1115:       _M_element_count = 0;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_move_assign(_Hashtable&& __ht, true_type)
1115:     {
1115:       if (__builtin_expect(std::__addressof(__ht) == this, false))
1115:  return;
1115: 
1115:       this->_M_deallocate_nodes(_M_begin());
1115:       _M_deallocate_buckets();
1115:       __hashtable_base::operator=(std::move(__ht));
1115:       __M_node != __last1._M_node)
1434:  {
1434:    if (!std::__equal_aux1(__first1._M_cur, __first1._M_last, __first2))
1434:      return false;
1434: 
1434:    __first2 += __first1._M_last - __first1._M_cur;
1434:    for (typename _Iter::_Map_pointer __node = __first1._M_node + 1;
1434:         __node != __last1._M_node;
1434:         __first2 += _Iter::_S_buffer_size(), ++__node)
1434:      if (!std::__equal_aux1(*__node, *__node + _Iter::_S_buffer_size(),
1434:       __first2))
1434:        return false;
1434: 
1434:    return std::__equal_aux1(__last1._M_first, __last1._M_cur, __first2);
1434:  }
1434: 
1434:       return std::__equal_aux1(__first1._M_cur, __last1._M_cur, __first2);
1434:     }
1434: 
1434:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value, bool>::__type
1434:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first1,
1434:    std::_Deque_iterator<_Tp, _Ref, _Ptr> __last1,
1434:    _II __first2)
1434:     { return std::__equal_dit(__first1, __last1, __first2); }
1434: 
1434:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1434:     typename _Tp2, typename _Ref2, typename _Ptr2>
1434:     bool
1434:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1434:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1434:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2)
1434:     { return std::__equal_dit(__first1, __last1, __first2); }
1434: 
1434:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1434:     typename __gnu_cxx::__enable_if<
1434:       __is_random_access_iter<_II>::__value, bool>::__type
1434:     __equal_aux1(_II __first1, _II __last1,
1434:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first2)
1434:     {
1434:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1434:       typedef typename _Iter::difference_type difference_type;
1434: 
1434:       difference_type __len = __last1 - __first1;
1434:       while (__len > 0)
1434:  {
1434:    const difference_type __clen
1434:      = std::min(__len, __first2._M_last - __first2._M_cur);
1434:    if (!std::__equal_aux1(__first1, __first1 + __clen, __first2._M_cur))
1434:      return false;
1434: 
1434:    __first1 += __clen;
1434:    __len -= __clen;
1434:    __first2 += __clen;
1434:  }
1434: 
1434:       return true;
1434:     }
1434: 
1434:   template<typename _Tp1, typename _Ref, typename _Ptr, typename _Tp2>
1434:     int
1434:     __lex_cmp_dit(
1434:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __first1,
1434:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __last1,
1434:  const _Tp2* __first2, const _Tp2* __last2)
1434:     {
1434:       const bool __simple =
1434:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1434:   && __is_pointer<_Ptr>::__value
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   );
1434:       typedef std::__lexicographical_compare<__simple> _Lc;
1434: 
1434:       while (__first1._M_node != __last1._M_node)
1434:  {
1434:    const ptrdiff_t __len1 = __first1._M_last - __first1._M_cur;
1434:    const ptrdiff_t __len2 = __last2 - __first2;
1434:    const ptrdiff_t __len = std::min(__len1, __len2);
1434: 
1434:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_last,
1434:           __first2, __first2 + __len))
1434:      return __ret;
1434: 
1434:    __first1 += __len;
1434:    __first2 += __len;
1434:  }
1434:       return _Lc::__3way(__first1._M_cur, __last1._M_cur,
1434:     __first2, __last2);
1434:     }
1434: 
1434:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1434:     typename _Tp2>
1434:     inline bool
1434:     __lexicographical_compare_aux1(
1434:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1434:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1434:  _Tp2* __first2, _Tp2* __last2)
1434:     { return std::__lex_cmp_dit(__first1, __last1, __first2, __last2) < 0; }
1434: 
1434:   template<typename _Tp1,
1434:     typename _Tp2, typename _Ref2, typename _Ptr2>
1434:     inline bool
1434:     __lexicographical_compare_aux1(_Tp1* __first1, _Tp1* __last1,
1434:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1434:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1434:     { return std::__lex_cmp_dit(__first2, __last2, __first1, __last1) > 0; }
1434: 
1434:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1434:     typename _Tp2, typename _Ref2, typename _Ptr2>
1434:     inline bool
1434:     __lexicographical_compare_aux1(
1434:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1434:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1434:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1434:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1434:     {
1434:       const bool __simple =
1434:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1434:   && __is_pointer<_Ptr1>::__value
1434:   && __is_pointer<_Ptr2>::__value
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   );
1434:       typedef std::__lexicographical_compare<__simple> _Lc;
1434: 
1434:       while (__first1 != __last1)
1434:  {
1434:    const ptrdiff_t __len2 = __first2._M_node == __last2._M_node
1434:      ? __last2._M_cur - __first2._M_cur
1434:      : __first2._M_last - __first2._M_cur;
1434:    if (__len2 == 0)
1434:      return false;
1434:    const ptrdiff_t __len1 = __first1._M_node == __last1._M_node
1434:      ? __last1._M_cur - __first1._M_cur
1434:      : __first1._M_last - __first1._M_cur;
1434:    const ptrdiff_t __len = std::min(__len1, __len2);
1434:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_cur + __len,
1434:           __first2._M_cur, __first2._M_cur + __len))
1434:      return __ret < 0;
1434: 
1434:    __first1 += __len;
1434:    __first2 += __len;
1434:  }
1434: 
1434:       return __last2 != __first2;
1434:     }
1434: 
1434: 
1434: }
1434: # 68 "/usr/include/c++/12/deque" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr
1434:   {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:     template<typename _Tp>
1434:       using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>;
1434:   }
1434: 
1434: }
1434: # 61 "/usr/include/c++/12/queue" 2 3
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stl_queue.h" 1 3
1434: # 65 "/usr/include/c++/12/bits/stl_queue.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 95 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:   template<typename _Tp, typename _Sequence = deque<_Tp> >
1434:     class queue
1434:     {
1434: # 109 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       template<typename _Tp1, typename _Seq1>
1434:  friend bool
1434:  operator==(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
1434: 
1434:       template<typename _Tp1, typename _Seq1>
1434:  friend bool
1434:  operator<(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
1434: # 124 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       template<typename _Alloc>
1434:  using _Uses = typename
1434:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1434:    "value_type must be the same as the underlying container");
1434: 
1434: 
1434: 
1434:     public:
1434:       typedef typename _Sequence::value_type value_type;
1434:       typedef typename _Sequence::reference reference;
1434:       typedef typename _Sequence::const_reference const_reference;
1434:       typedef typename _Sequence::size_type size_type;
1434:       typedef _Sequence container_type;
1434: 
1434:     protected:
1434: # 153 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       _Sequence c;
1434: 
1434:     public:
1434: # 164 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       template<typename _Seq = _Sequence, typename _Requires = typename
1434:         enable_if<is_default_constructible<_Seq>::value>::type>
1434:  queue()
1434:  : c() { }
1434: 
1434:       explicit
1434:       queue(const _Sequence& __c)
1434:       : c(__c) { }
1434: 
1434 # 248 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset,
1417:                     int src_offset, int nb_samples, int nb_channels,
1417:                     enum AVSampleFormat sample_fmt);
1417: # 261 "/usr/include/arm-linux-gnueabihf/libavutil/samplefmt.h" 3 4
1417: int av_samples_set_silence(uint8_t **audio_data, int offset, int nb_samples,
1417:                            int nb_channels, enum AVSampleFormat sample_fmt);
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h" 2
1417: 
1417: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417: }
1417: 
1417: typedef std::pair<std::string, std::string> AEDevice;
1417: typedef std::vector<AEDevice> AEDeviceList;
1417: 
1417: 
1417: class IAEStream;
1417: class IAEStreamDeleter;
1417: class IAESound;
1417: class IAESoundDeleter;
1417: class IAEPacketizer;
1417: class IAudioCallback;
1417: class IAEClockCallback;
1417: class CAEStreamInfo;
1417: 
1417: namespace ADDON
1417: {
1417: struct Interface_AudioEngine;
1417: }
1417: # 52 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417: enum AEQuality
1417: {
1417:   AE_QUALITY_UNKNOWN = -1,
1417:   AE_QUALITY_DEFAULT = 0,
1417: 
1417: 
1417:   AE_QUALITY_LOW = 20,
1417:   AE_QUALITY_MID = 30,
1417:   AE_QUALITY_HIGH = 50,
1417: 
1417: 
1417:   AE_QUALITY_REALLYHIGH = 100,
1417: 
1417:   AE_QUALITY_GPU = 101,
1417: };
1417: 
1417: struct SampleConfig
1417: {
1417:   AVSampleFormat fmt;
1417:   uint64_t channel_layout;
1417:   int channels;
1417:   int sample_rate;
1417:   int bits_per_sample;
1417:   int dither_bits;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: class IAE
1417: {
1417: protected:
1417: 
1417:   IAE() = default;
1417:   virtual ~IAE() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Start() = 0;
1417: public:
1417:   using StreamPtr = std::unique_ptr<IAEStream, IAEStreamDeleter>;
1417:   using SoundPtr = std::unique_ptr<IAESound, IAESoundDeleter>;
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Shutdown() { }
1417: # 110 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:   virtual bool Suspend() = 0;
1417: # 119 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:   virtual bool Resume() = 0;
1417: # 129 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:   virtual bool IsSuspended() {return true;}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual float GetVolume() = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void SetVolume(const float volume) = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void SetMute(const bool enabled) = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool IsMuted() = 0;
1417: # 169 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:   virtual StreamPtr MakeStream(AEAudioFormat& audioFormat,
1417:                                unsigned int options = 0,
1417:                                IAEClockCallback* clock = 
1417: # 171 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h" 3 4
1417:                                                         __null
1417: # 171 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:                                                             ) = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual SoundPtr MakeSound(const std::string& file) = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void EnumerateOutputDevices(AEDeviceList &devices, bool passthrough) = 0;
1417: # 196 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:   virtual bool SupportsRaw(AEAudioFormat &format) { return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool SupportsSilenceTimeout() { return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool UsesDtsCoreFallback()M_rehash_policy = __ht._M_rehash_policy;
1115:       if (!__ht._M_uses_single_bucket())
1115:  _M_buckets = __ht._M_buckets;
1115:       else
1115:  {
1115:    _M_buckets = &_M_single_bucket;
1115:    _M_single_bucket = __ht._M_single_bucket;
1115:  }
1115: 
1115:       _M_bucket_count = __ht._M_bucket_count;
1115:       _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt;
1115:       _M_element_count = __ht._M_element_count;
1115:       std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator());
1115: 
1115: 
1115:       _M_update_bbegin();
1115:       __ht._M_reset();
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_move_assign(_Hashtable&& __ht, false_type)
1115:     {
1115:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1115:  _M_move_assign(std::move(__ht), true_type{});
1115:       else
1115:  {
1115: 
1115:    _M_assign_elements(std::move(__ht));
1115:    __ht.clear();
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _Hashtable(const _Hashtable& __ht)
1115:     : __hashtable_base(__ht),
1115:       __map_base(__ht),
1115:       __rehash_base(__ht),
1115:       __hashtable_alloc(
1115:  __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())),
1115:       __enable_default_ctor(__ht),
1115:       _M_buckets(nullptr),
1115:       _M_bucket_count(__ht._M_bucket_count),
1115:       _M_element_count(__ht._M_element_count),
1115:       _M_rehash_policy(__ht._M_rehash_policy)
1115:     {
1115:       __alloc_node_gen_t __alloc_node_gen(*this);
1115:       _M_assign(__ht, __alloc_node_gen);
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1115:         true_type )
1115:     noexcept(_S_nothrow_move())
1115:     : __hashtable_base(__ht),
1115:       __map_base(__ht),
1115:       __rehash_base(__ht),
1115:       __hashtable_alloc(std::move(__a)),
1115:       __enable_default_ctor(__ht),
1115:       _M_buckets(__ht._M_buckets),
1115:       _M_bucket_count(__ht._M_bucket_count),
1115:       _M_before_begin(__ht._M_before_begin._M_nxt),
1115:       _M_element_count(__ht._M_element_count),
1115:       _M_rehash_policy(__ht._M_rehash_policy)
1115:     {
1115: 
1115:       if (__ht._M_uses_single_bucket())
1115:  {
1115:    _M_buckets = &_M_single_bucket;
1115:    _M_single_bucket = __ht._M_single_bucket;
1115:  }
1115: 
1115: 
1115:       _M_update_bbegin();
1115: 
1115:       __ht._M_reset();
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _Hashtable(const _Hashtable& __ht, const allocator_type& __a)
1115:     : __hashtable_base(__ht),
1115:       __map_base(__ht),
1115:       __rehash_base(__ht),
1115:       __hashtable_alloc(__node_alloc_type(__a)),
1115::       explicit
1434:       queue(_Sequence&& __c)
1434:       : c(std::move(__c)) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  explicit
1434:  queue(const _Alloc& __a)
1434:  : c(__a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  queue(const _Sequence& __c, const _Alloc& __a)
1434:  : c(__c, __a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  queue(_Sequence&& __c, const _Alloc& __a)
1434:  : c(std::move(__c), __a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  queue(const queue& __q, const _Alloc& __a)
1434:  : c(__q.c, __a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  queue(queue&& __q, const _Alloc& __a)
1434:  : c(std::move(__q.c), __a) { }
1434: # 217 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       [[__nodiscard__]] bool
1434:       empty() const
1434:       { return c.empty(); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       size() const
1434:       { return c.size(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       front()
1434:       {
1434:  ;
1434:  return c.front();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       front() const
1434:       {
1434:  ;
1434:  return c.front();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       back()
1434:       {
1434:  ;
1434:  return c.back();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       back() const
1434:       {
1434:  ;
1434:  return c.back();
1434:       }
1434: # 284 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       void
1434:       push(const value_type& __x)
1434:       { c.push_back(__x); }
1434: 
1434: 
1434:       void
1434:       push(value_type&& __x)
1434:       { c.push_back(std::move(__x)); }
1434: 
1434: 
1434:       template<typename... _Args>
1434:  decltype(auto)
1434:  emplace(_Args&&... __args)
1434:  { return c.emplace_back(std::forward<_Args>(__args)...); }
1434: # 317 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       void
1434:       pop()
1434:       {
1434:  ;
1434:  c.pop_front();
1434:       }
1434: 
1434: 
1434:       void
1434:       swap(queue& __q)
1434: 
1434:       noexcept(__is_nothrow_swappable<_Sequence>::value)
1434: 
1434: 
1434: 
1434:       {
1434:  using std::swap;
1434:  swap(c, __q.c);
1434:       }
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _Container,
1434:     typename = _RequireNotAllocator<_Container>>
1434:     queue(_Container) -> queue<typename _Container::value_type, _Container>;
1434: 
1434:   template<typename _Container, typename _Allocator,
1434:     typename = _RequireNotAllocator<_Container>>
1434:     queue(_Container, _Allocator)
1434:     -> queue<typename _Container::value_type, _Container>;
1434: # 377 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1434:     { return __x.c == __y.c; }
1434: # 396 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1434:     { return __x.c < __y.c; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template { return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool HasStereoAudioChannelCount() { return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool HasHDAudioChannelCount() { return true; }
1417: 
1417:   virtual void RegisterAudioCallback(IAudioCallback* pCallback) {}
1417: 
1417:   virtual void UnregisterAudioCallback(IAudioCallback* pCallback) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool SupportsQualityLevel(enum AEQuality level) { return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool IsSettingVisible(const std::string &settingId) {return false; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void KeepConfiguration(unsigned int millis) {}
1417: 
1417: 
1417: 
1417: 
1417:   virtual void DeviceChange() {}
1417: 
1417: 
1417: 
1417: 
1417:   virtual void DeviceCountChange(const std::string& driver) {}
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool GetCurrentSinkFormat(AEAudioFormat &SinkFormat) { return false; }
1417: 
1417: private:
1417:   friend class IAEStreamDeleter;
1417:   friend class IAESoundDeleter;
1417:   friend struct ADDON::Interface_AudioEngine;
1417: # 283 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:   virtual bool FreeStream(IAEStream* stream, bool finish) = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void FreeSound(IAESound* sound) = 0;
1417: };
1417: 
1417: class IAEStreamDeleter
1417: {
1417: private:
1417:   IAE* m_iae;
1417:   bool m_finish;
1417: 
1417: public:
1417:   IAEStreamDeleter() : m_iae(nullptr), m_finish(true) {}
1417:   explicit IAEStreamDeleter(IAE& iae) : m_iae(&iae), m_finish{true} {}
1417:   void setFinish(bool finish) { m_finish = finish; }
1417:   void operator()(IAEStream* stream)
1417:   {
1417:     
1417: # 305 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h" 3 4
1417:    (static_cast<void> (0))
1417: # 305 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:                 ;
1417:     m_iae->FreeStream(stream, m_finish);
1417:   }
1417: };
1417: 
1417: class IAESoundDeleter
1417: {
1417: private:
1417:   IAE* m_iae;
1417: 
1417: public:
1417:   IAESoundDeleter() : m_iae(nullptr) {}
1417:   explicit IAESoundDeleter(IAE& iae) : m_iae(&iae) {}
1417:   void operator()(IAESound* sound)
1417:   {
1417:     
1417: # 320 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h" 3 4
1417:    (static_cast<void> (0))
1417: # 320 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/AudioEngine/Interfaces/AE.h"
1417:                 ;
1417:     m_iae->FreeSound(sound);
1417:   }
1417: };
1417: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SpecialProtocol.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SpecialProtocol.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class CProfileManager;
1417: # 43 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/filesystem/SpecialProtocol.h"
1417: class CURL;
1417: class CSpecialProtocol
1417: {
1417: public:
1417:   static void RegisterProfileManager(const CProfileManager &profileManager);
1417:   static void UnregisterProfileManager();
1417: 
1417:   static void SetProfilePath(const std::string &path);
1417:   static void SetXBMCPath(const std::string &path);
1417:   static void SetXBMCBinPath(const std::string &path);
1417:   static void SetXBMCBinAddonPath(const std::string &path);
1417:   static void SetXBMCAltBinAddonPath(const std::string &path);
1417:   static void SetXBMCFrameworksPath(const std::string &path);
1417:   static void SetHomePath(const std::string &path);
1417:   static void SetUserHomePath(const std::string &path);
1417:   static void SetEnvHomePath(const std::string &path);
1417:   static void SetMasterProfilePath(const std::string &path);
1417:   static void SetTempPath(const std::string &path);
1417:   static void SetLogPath(const std::string &dir);
1417: 
1417:   static bool CompareP<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1434:     { return !(__x < __y); }
1434: # 439 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:   template<typename _Tp, typename _Seq>
1434:     inline
1434: 
1434: 
1434:     typename enable_if<__is_swappable<_Seq>::value>::type
1434: 
1434: 
1434: 
1434:     swap(queue<_Tp, _Seq>& __x, queue<_Tp, _Seq>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434:   template<typename _Tp, typename _Seq, typename _Alloc>
1434:     struct uses_allocator<queue<_Tp, _Seq>, _Alloc>
1434:     : public uses_allocator<_Seq, _Alloc>::type { };
1434: # 496 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:   template<typename _Tp, typename _Sequence = vector<_Tp>,
1434:     typename _Compare = less<typename _Sequence::value_type> >
1434:     class priority_queue
1434:     {
1434: # 514 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       template<typename _Alloc>
1434:  using _Uses = typename
1434:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1434:    "value_type must be the same as the underlying container");
1434: 
1434: 
1434: 
1434:     public:
1434:       typedef typename _Sequence::value_type value_type;
1434:       typedef typename _Sequence::reference reference;
1434:       typedef typename _Sequence::const_reference const_reference;
1434:       typedef typename _Sequence::size_type size_type;
1434:       typedef _Sequence container_type;
1434: 
1434: 
1434:       typedef _Compare value_compare;
1434: 
1434:     protected:
1434: 
1434:       _Sequence c;
1434:       _Compare comp;
1434: 
1434:     public:
1434: # 553 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       template<typename _Seq = _Sequence, typename _Requires = typename
1434:         enable_if<__and_<is_default_constructible<_Compare>,
1434:     is_default_constructible<_Seq>>::value>::type>
1434:  priority_queue()
1434:  : c(), comp() { }
1434: 
1434:       explicit
1434:       priority_queue(const _Compare& __x, const _Sequence& __s)
1434:       : c(__s), comp(__x)
1434:       { std::make_heap(c.begin(), c.end(), comp); }
1434: 
1434:       explicit
1434:       priority_queue(const _Compare& __x, _Sequence&& __s = _Sequence())
1434:       : c(std::move(__s)), comp(__x)
1434:       { std::make_heap(c.begin(), c.end(), comp); }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  explicit
1434:  priority_queue(const _Alloc& __a)
1434:  : c(__a), comp() { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(const _Compare& __x, const _Alloc& __a)
1434:  : c(__a), comp(__x) { }
1434: 
1434: 
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(const _Compare& __x, const _Sequence& __c,
1434:          const _Alloc& __a)
1434:  : c(__c, __a), comp(__x)
1434:  { std::make_heap(c.begin(), c.end(), comp); }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(const _Compare& __x, _Sequence&& __c, const _Alloc& __a)
1434:  : c(std::move(__c), __a), comp(__x)
1434:  { std::make_heap(c.begin(), c.end(), comp); }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(const priority_queue& __q, const _Alloc& __a)
1434:  : c(__q.c, __a), comp(__q.comp) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(priority_queue&& __q, const _Alloc& __a)
1434:  : c(std::move(__q.c), __a), comp(std::move(__q.comp)) { }
1434: # 629 "/usr/include/c++/12/bits/stl_queue.h"        __enable_default_ctor(__ht),
1115:       _M_buckets(),
1115:       _M_bucket_count(__ht._M_bucket_count),
1115:       _M_element_count(__ht._M_element_count),
1115:       _M_rehash_policy(__ht._M_rehash_policy)
1115:     {
1115:       __alloc_node_gen_t __alloc_node_gen(*this);
1115:       _M_assign(__ht, __alloc_node_gen);
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
1115:         false_type )
1115:     : __hashtable_base(__ht),
1115:       __map_base(__ht),
1115:       __rehash_base(__ht),
1115:       __hashtable_alloc(std::move(__a)),
1115:       __enable_default_ctor(__ht),
1115:       _M_buckets(nullptr),
1115:       _M_bucket_count(__ht._M_bucket_count),
1115:       _M_element_count(__ht._M_element_count),
1115:       _M_rehash_policy(__ht._M_rehash_policy)
1115:     {
1115:       if (__ht._M_node_allocator() == this->_M_node_allocator())
1115:  {
1115:    if (__ht._M_uses_single_bucket())
1115:      {
1115:        _M_buckets = &_M_single_bucket;
1115:        _M_single_bucket = __ht._M_single_bucket;
1115:      }
1115:    else
1115:      _M_buckets = __ht._M_buckets;
1115: 
1115: 
1115: 
1115:    _M_update_bbegin(__ht._M_begin());
1115: 
1115:    __ht._M_reset();
1115:  }
1115:       else
1115:  {
1115:    __alloc_node_gen_t __alloc_gen(*this);
1115: 
1115:    using _Fwd_Ht = __conditional_t<
1115:      __move_if_noexcept_cond<value_type>::value,
1115:      const _Hashtable&, _Hashtable&&>;
1115:    _M_assign(std::forward<_Fwd_Ht>(__ht), __alloc_gen);
1115:    __ht.clear();
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     ~_Hashtable() noexcept
1115:     {
1115: 
1115: 
1115: 
1115:       static_assert(noexcept(declval<const __hash_code_base_access&>()
1115:    ._M_bucket_index(declval<const __node_value_type&>(),
1115:       (std::size_t)0)),
1115:       "Cache the hash code or qualify your functors involved"
1115:       " in hash code and bucket index computation with noexcept");
1115: 
1115:       clear();
1115:       _M_deallocate_buckets();
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     swap(_Hashtable& __x)
1115:     noexcept(__and_<__is_nothrow_swappable<_Hash>,
1115:    __is_nothrow_swappable<_Equal>>::value)
1115:     {
1115: 
1115: 
1115: 
1115:       this->_M_swap(__x);
1115: 
1115:       std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator());
1115:       std::swap(_M_rehash_policy, __x._M_rehash_policy);
1115: 
1115: 
1115:       if (this->_M_uses_single_bucket())
1115:  {
1115:    if (!__x._M_uses_single_bucket())
1115:      {
1115:        _M_buckets = __x._M_buckets;
1115:        __x._M_buckets = &__x._M_single_bucket;
1115:      }
1115:  }
1115:       else if (__x._M_uses_single_bucket())
1115:  {
1115:    __x._M_buckets = _M_buckets;
1115:    _M_buckets = &_M_single_bucket;
1115:  }
1115:       else
1115:  std::swap(_M_buckets, __x._M_buckets);
1115: 
1115:       std::swap(_M_bucket_count, __x._M_bucket_count);
1115:       std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  priority_queue(_InputIterator __first, _InputIterator __last,
1434:          const _Compare& __x = _Compare())
1434:  : c(__first, __last), comp(__x)
1434:  { std::make_heap(c.begin(), c.end(), comp); }
1434: 
1434: 
1434: 
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  priority_queue(_InputIterator __first, _InputIterator __last,
1434:          const _Compare& __x, const _Sequence& __s)
1434:  : c(__s), comp(__x)
1434:  {
1434:    ;
1434:    c.insert(c.end(), __first, __last);
1434:    std::make_heap(c.begin(), c.end(), comp);
1434:  }
1434: 
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  priority_queue(_InputIterator __first, _InputIterator __last,
1434:          const _Compare& __x, _Sequence&& __s)
1434:  : c(std::move(__s)), comp(__x)
1434:  {
1434:    ;
1434:    c.insert(c.end(), __first, __last);
1434:    std::make_heap(c.begin(), c.end(), comp);
1434:  }
1434: 
1434: 
1434: 
1434:       template<typename _InputIterator, typename _Alloc,
1434:         typename = std::_RequireInputIter<_InputIterator>,
1434:         typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(_InputIterator __first, _InputIterator __last,
1434:          const _Alloc& __alloc)
1434:  : c(__first, __last, __alloc), comp()
1434:  { std::make_heap(c.begin(), c.end(), comp); }
1434: 
1434:       template<typename _InputIterator, typename _Alloc,
1434:         typename = std::_RequireInputIter<_InputIterator>,
1434:         typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(_InputIterator __first, _InputIterator __last,
1434:          const _Compare& __x, const _Alloc& __alloc)
1434:  : c(__first, __last, __alloc), comp(__x)
1434:  { std::make_heap(c.begin(), c.end(), comp); }
1434: 
1434:       template<typename _InputIterator, typename _Alloc,
1434:         typename = std::_RequireInputIter<_InputIterator>,
1434:         typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(_InputIterator __first, _InputIterator __last,
1434:          const _Compare& __x, const _Sequence& __s,
1434:          const _Alloc& __alloc)
1434:  : c(__s, __alloc), comp(__x)
1434:  {
1434:    ;
1434:    c.insert(c.end(), __first, __last);
1434:    std::make_heap(c.begin(), c.end(), comp);
1434:  }
1434: 
1434:       template<typename _InputIterator, typename _Alloc,
1434:         typename _Requires = _Uses<_Alloc>>
1434:  priority_queue(_InputIterator __first, _InputIterator __last,
1434:          const _Compare& __x, _Sequence&& __s,
1434:          const _Alloc& __alloc)
1434:  : c(std::move(__s), __alloc), comp(__x)
1434:  {
1434:    ;
1434:    c.insert(c.end(), __first, __last);
1434:    std::make_heap(c.begin(), c.end(), comp);
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const
1434:       { return c.empty(); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       size() const
1434:       { return c.size(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       top() const
1434:       {
1434:  ;
1434:  return c.front();
1434:       }
1434: # 737 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       void
1434:       push(const value_type& __x)
1434:       {
1434:  c.push_back(__x);
1434:  std::push_heap(c.begin(), c.end(), comp);
1434:       }
1434: 
1434: 
1434:       void
1434:       push(value_type&& __x)
1434:       {
1434:  c.push_back(std::move(__x));
1434:  std::push_heap(c.begin(), c.end(), comp);
1434:       }
1434: 
1434:       template<typename... _Args>
1434:  void
1434:  emplace(_Args&&... __args)
1434:  {
1434:    c.emplace_back(std::forward<_Args>(__args)...);
1434:    std::push_heap(c.begin(), c.end(), comp);
1434:  }
1434: # 772 "/usr/include/c++/12/bits/stl_queue.h" 3
1434:       void
1434:       pop()
1434:       {
1434:  ;
1434:  std::pop_heap(c.begin(), c.end(), comp);
1434:  c.pop_back();
1434:       }
1434: 
1434: 
1434:       void
1434:       swap(priority_queue& __pq)
1434:       noexcept(__and_<
1434: 
1434:    __is_nothrow_swappable<_Sequence>,
1434: 
1434: 
1434: 
1434:    __is_nothrow_swappable<_Compare>
1434:         >::value)
1434:       {
1434:  using std::swap;
1434:  swap(c, __pq.c);
1434:  swap(comp, __pq.comp);
1434:       }
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _Compare, typename _Container,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireNotAllocator<_Container>>
1434:     priority_queue(_Compare, _Container)
1434:     -> priority_queue<typename _Container::value_type, _Container, _Compare>;
1434: 
1434:   template<typename _InputIterator, typename _ValT
1434:     = typename iterator_traits<_InputIterator>::value_type,
1434:     typename _Compare = less<_ValT>,
1434:     typename _Container = vector<_ValT>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireNotAllocator<_Container>>
1434:     priority_queue(_InputIterator, _InputIterator, _Compare = _Compare(),
1434:      _Container = _Container())
1434:     -> priority_queue<_ValT, _Container, _Compare>;
1434: 
1434:   template<typename _Compare, typename _Container, typename _Allocator,
1434:     typename = _RequireNotAllocator<_Compare>,
1434:     typename = _RequireNotAllocator<_Container>>
1434:     priority_queue(_Compare, _Container, _Allocator)
1434:     -> priority_queue<typename _Container::value_type, _Container, _Compare>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Sequence, typename _Compare>
1434:     inline
1434: 
1434: 
1434:     typename enable_if<__and_<__is_swappable<_Sequence>,
1434:          __is_swappable<_Compare>>::value>::type
1434: 
1434: 
1434: 
1434:     swap(priority_queue<_Tp, _Sequence, _Compare>& __x,
1434:   priority_queue<_Tp, _Sequence, _Compare>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434:   template<typename _Tp, typename _Sequence, typename _Compare,
1434:     typename _Alloc>
1434:     struct uses_allocator<priority_queue<_Tp, _Sequence, _Compare>, _Alloc>
1434:     : public uses_allocator<_Sequence, _Alloc>::type { };
1434: 
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/queue" 2 3
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 2
1434: 
1434: 
1434: 
1434: 
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434: class CJobManager;
1434: 
1434: class CJobWorker : public CThread
1434: {
1434: public:
1434:   explicit CJobWorker(CJobManager *manager);
1434:   ~CJobWorker() override;
1434: 
1434:   void Process() override;
1434: private:
1434:   CJobManager *m_jobManager;
1434: };
1434: 
1434: template<typename F>
1434: class CLambdaJob : public CJob
1434: {
1434: public:
1434:   CLambdaJob(F&& f) : m_f(std::forward<F>(f)) {}
1434:   bool DoWork() override
1434:   {
1434:     m_f();
1434:     return true;
1434:   }
1434:   bool operator==(const CJob *job) const override
1434:   {
1434:     return this == job;
1434:   };
1434: private:
1434:   F m_f;
1434: };
1434: # 63 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434: class CJobQueue: public IJobCallback
1434: {
1434:   class CJobPointer
1434:   {
1434:   public:
1434:     explicit CJobPointer(CJob *job)
1434:     {
1434:       m_job = job;
1434:       m_id = 0;
1434:     };
1434:     void CancelJob();
1434:     void FreeJob()
1434:     {
1434:       delete m_job;
1434:       m_job = 
1434: # 77 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1434:              __null
1434: # 77 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:                  ;
1434:     };
1434:     bool operator==(const CJob *job) const
1434:     {
1434:       if (m_job)
1434:         return *m_job == job;
1434:       return false;
1434:     };
1434:     CJob *m_job;
1434:     unsigned int m_id;
1434:   };
1434: public:
14ath(const std::string &path1, const std::string &path2);
1417:   static void LogPaths();
1417: 
1417:   static std::string TranslatePath(const std::string &path);
1417:   static std::string TranslatePath(const CURL &url);
1417:   static std::string TranslatePathConvertCase(const std::string& path);
1417: 
1417: private:
1417:   static const CProfileManager *m_profileManager;
1417: 
1417:   static void SetPath(const std::string &key, const std::string &path);
1417:   static std::string GetPath(const std::string &key);
1417: 
1417:   static std::map<std::string, std::string> m_pathMap;
1417: };
1417: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabels.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoLabels.h"
1417:        
1417: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/Action.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/Action.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CKey;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CAction
1417: {
1417: public:
1417:   CAction();
1417:   CAction(int actionID,
1417:           float amount1 = 1.0f,
1417:           float amount2 = 0.0f,
1417:           const std::string& name = "",
1417:           unsigned int holdTime = 0);
1417:   CAction(int actionID, wchar_t unicode);
1417:   CAction(int actionID,
1417:           unsigned int state,
1417:           float posX,
1417:           float posY,
1417:           float offsetX,
1417:           float offsetY,
1417:           float velocityX = 0.0f,
1417:           float velocityY = 0.0f,
1417:           const std::string& name = "");
1417:   CAction(int actionID, const std::string& name, const CKey& key);
1417:   CAction(int actionID, const std::string& name);
1417: 
1417:   CAction(const CAction& other) { *this = other; }
1417:   CAction& operator=(const CAction& rhs);
1417: 
1417: 
1417: 
1417: 
1417:   int GetID() const { return m_id; }
1417: 
1417: 
1417: 
1417: 
1417:   bool IsMouse() const;
1417: 
1417:   bool IsGesture() const;
1417: 
1417: 
1417: 
1417: 
1417:   const std::string& GetName() const { return m_name; }
1417: 
1417: 
1417: 
1417: 
1417:   const std::string& GetText() const { return m_text; }
1417: 
1417: 
1417: 
1417: 
1417:   void SetText(const std::string& text) { m_text = text; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   float GetAmount(unsigned int index = 0) const
1417:   {
1417:     return (index < max_amounts) ? m_amount[index] : 0;
1417:   };
1417: 
1417: 
1417: 
1417:   void ClearAmount();
1417: 
1417: 
1417: 
1417: 
1417:   wchar_t GetUnicode() const { return m_unicode; }
1417: 
1417: 
1417: 
1417: 
1417:   unsigned int GetHoldTime() const { return m_holdTime; }
1417: 
1417: 
1417: 
1417: 
1417:   float GetRepeat() const { return m_repeat; }
1417: 
1417: 
1417: 
1417: 
1417:   unsigned int GetButtonCode() const { return m_buttonCode; }
1417: 
1417:   bool IsAnalog() const;
1417: 
1417: private:
1417:   int m_id;
1417:   std::string m_name;
1417: 
1417:   static const unsigned int max_amounts = 6;
1417:   float m_amount[max_amounts] = {};
1417: 
1417:   float m_repeat = 0.0f;
1417:   unsigned int m_holdTime = 0;
1417:   unsigned int m_buttonCode = 0;
1417:   wchar_t m_unicode = 0;
1417:   std::string m_text;
1417: };
1417: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h"
1417:        
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h"
1417: constexpr const int ACTION_NONE = 0;
1417: constexpr const int ACTION_MOVE_LEFT = 1;
1417: constexpr const int ACTION_MOVE_RIGHT = 2;
1417: constexpr const int ACTION_MOVE_UP = 3;
1417: constexpr const int ACTION_MOVE_DOWN = 4;
1417: constexpr const int ACTION_PAGE_UP = 5;
1nxt);
1115:       std::swap(_M_element_count, __x._M_element_count);
1115:       std::swap(_M_single_bucket, __x._M_single_bucket);
1115: 
1115: 
1115: 
1115:       _M_update_bbegin();
1115:       __x._M_update_bbegin();
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     find(const key_type& __k)
1115:     -> iterator
1115:     {
1115:       if (size() <= __small_size_threshold())
1115:  {
1115:    for (auto __it = begin(); __it != end(); ++__it)
1115:      if (this->_M_key_equals(__k, *__it._M_cur))
1115:        return __it;
1115:    return end();
1115:  }
1115: 
1115:       __hash_code __code = this->_M_hash_code(__k);
1115:       std::size_t __bkt = _M_bucket_index(__code);
1115:       return iterator(_M_find_node(__bkt, __k, __code));
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     find(const key_type& __k) const
1115:     -> const_iterator
1115:     {
1115:       if (size() <= __small_size_threshold())
1115:  {
1115:    for (auto __it = begin(); __it != end(); ++__it)
1115:      if (this->_M_key_equals(__k, *__it._M_cur))
1115:        return __it;
1115:    return end();
1115:  }
1115: 
1115:       __hash_code __code = this->_M_hash_code(__k);
1115:       std::size_t __bkt = _M_bucket_index(__code);
1115:       return const_iterator(_M_find_node(__bkt, __k, __code));
1115:     }
1115: # 1715 "/usr/include/c++/12/bits/hashtable.h" 3
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     count(const key_type& __k) const
1115:     -> size_type
1115:     {
1115:       auto __it = find(__k);
1115:       if (!__it._M_cur)
1115:  return 0;
1115: 
1115:       if (__unique_keys::value)
1115:  return 1;
1115: 
1115: 
1115: 
1115: 
1115:       size_type __result = 1;
1115:       for (auto __ref = __it++;
1115:     __it._M_cur && this->_M_node_equals(*__ref._M_cur, *__it._M_cur);
1115:     ++__it)
1115:  ++__result;
1115: 
1115:       return __result;
1115:     }
1115: # 1776 "/usr/include/c++/12/bits/hashtable.h" 3
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     equal_range(const key_type& __k)
1115:     -> pair<iterator, iterator>
1115:     {
1115:       auto __ite = find(__k);
1115:       if (!__ite._M_cur)
1115:  return { __ite, __ite };
1115: 
1115:       auto __beg = __ite++;
1115:       if (__unique_keys::value)
1115:  return { __beg, __ite };
1115: 
1115: 
1115: 
1115: 
1115:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1115:  ++__ite;
1115: 
1115:       return { __beg, __ite };
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Tra34: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CJobQueue(bool lifo = false, unsigned int jobsAtOnce = 1, CJob::PRIORITY priority = CJob::PRIORITY_LOW);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   ~CJobQueue() override;
1434: # 113 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:   bool AddJob(CJob *job);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename F>
1434:   void Submit(F&& f)
1434:   {
1434:     AddJob(new CLambdaJob<F>(std::forward<F>(f)));
1434:   }
1434: # 132 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:   void CancelJob(const CJob *job);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void CancelJobs();
1434: 
1434: 
1434: 
1434: 
1434:   bool IsProcessing() const;
1434: # 158 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:   void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
1434: # 170 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:   void OnJobAbort(unsigned int jobID, CJob* job) override;
1434: 
1434: protected:
1434: 
1434: 
1434: 
1434: 
1434:   bool QueueEmpty() const;
1434: 
1434: private:
1434:   void OnJobNotify(CJob* job);
1434:   void QueueNextJob();
1434: 
1434:   typedef std::deque<CJobPointer> Queue;
1434:   typedef std::vector<CJobPointer> Processing;
1434:   Queue m_jobQueue;
1434:   Processing m_processing;
1434: 
1434:   unsigned int m_jobsAtOnce;
1434:   CJob::PRIORITY m_priority;
1434:   mutable CCriticalSection m_section;
1434:   bool m_lifo;
1434: };
1434: # 205 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434: class CJobManager final
1434: {
1434:   class CWorkItem
1434:   {
1434:   public:
1434:     CWorkItem(CJob *job, unsigned int id, CJob::PRIORITY priority, IJobCallback *callback)
1434:     {
1434:       m_job = job;
1434:       m_id = id;
1434:       m_callback = callback;
1434:       m_priority = priority;
1434:     }
1434:     bool operator==(unsigned int jobID) const
1434:     {
1434:       return m_id == jobID;
1434:     };
1434:     bool operator==(const CJob *job) const
1434:     {
1434:       return m_job == job;
1434:     };
1434:     void FreeJob()
1434:     {
1434:       delete m_job;
1434:       m_job = 
1434: # 228 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1434:              __null
1434: # 228 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:                  ;
1434:     };
1434:     void Cancel()
1434:     {
1434:       m_callback = 
1434: # 232 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1434:                   __null
1434: # 232 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:                       ;
1434:     };
1434:     CJob *m_job;
1434:     unsigned int m_id;
1434:     IJobCallback *m_callback;
1434:     CJob::PRIORITY m_priority;
1434:   };
1434: 
1434: public:
1434:   CJobManager();
1434: # 253 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:   unsigned int AddJob(CJob *job, IJobCallback *callback, CJob::PRIORITY priority = CJob::PRIORITY_LOW);
1434: 
1434: 
1434: 
1434: 
1434:   template<typename F>
1434:   void Submit(F&& f, CJob::PRIORITY priority = CJob::PRIORITY_LOW)
1434:   {
1434:     AddJob(new CLambdaJob<F>(std::forward<F>(f)), nullptr, priority);
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename F>
1434:   void Submit(F&& f, IJobCallback *callback, CJob::PRIORITY priority = CJob::PRIORITY_LOW)
1434:   {
1434:     AddJob(new CLambdaJob<F>(std::forward<F>(f)), callback, priority);
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void CancelJob(unsigned int jobID);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void CancelJobs();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void Restart();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int IsProcessing(const std::string &type) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void PauseJobs();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void UnPauseJobs();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsProcess417: constexpr const int ACTION_PAGE_DOWN = 6;
1417: constexpr const int ACTION_SELECT_ITEM = 7;
1417: constexpr const int ACTION_HIGHLIGHT_ITEM = 8;
1417: constexpr const int ACTION_PARENT_DIR = 9;
1417: constexpr const int ACTION_PREVIOUS_MENU = 10;
1417: constexpr const int ACTION_SHOW_INFO = 11;
1417: 
1417: constexpr const int ACTION_PAUSE = 12;
1417: constexpr const int ACTION_STOP = 13;
1417: constexpr const int ACTION_NEXT_ITEM = 14;
1417: constexpr const int ACTION_PREV_ITEM = 15;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_FORWARD = 16;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_REWIND = 17;
1417: 
1417: 
1417: constexpr const int ACTION_SHOW_GUI = 18;
1417: 
1417: 
1417: constexpr const int ACTION_ASPECT_RATIO = 19;
1417: 
1417: 
1417: constexpr const int ACTION_STEP_FORWARD = 20;
1417: 
1417: 
1417: constexpr const int ACTION_STEP_BACK = 21;
1417: 
1417: 
1417: constexpr const int ACTION_BIG_STEP_FORWARD = 22;
1417: 
1417: 
1417: constexpr const int ACTION_BIG_STEP_BACK = 23;
1417: 
1417: 
1417: constexpr const int ACTION_SHOW_OSD = 24;
1417: 
1417: 
1417: constexpr const int ACTION_SHOW_SUBTITLES = 25;
1417: 
1417: 
1417: constexpr const int ACTION_NEXT_SUBTITLE = 26;
1417: 
1417: 
1417: constexpr const int ACTION_PLAYER_DEBUG = 27;
1417: 
1417: 
1417: constexpr const int ACTION_NEXT_PICTURE = 28;
1417: 
1417: 
1417: constexpr const int ACTION_PREV_PICTURE = 29;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_OUT = 30;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_IN = 31;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_TOGGLE_SOURCE_DEST = 32;
1417: 
1417: 
1417: constexpr const int ACTION_SHOW_PLAYLIST = 33;
1417: 
1417: 
1417: constexpr const int ACTION_QUEUE_ITEM = 34;
1417: 
1417: 
1417: constexpr const int ACTION_REMOVE_ITEM = 35;
1417: 
1417: 
1417: constexpr const int ACTION_SHOW_FULLSCREEN = 36;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_NORMAL = 37;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_1 = 38;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_2 = 39;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_3 = 40;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_4 = 41;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_5 = 42;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_6 = 43;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_7 = 44;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_8 = 45;
1417: 
1417: 
1417: constexpr const int ACTION_ZOOM_LEVEL_9 = 46;
1417: 
1417: 
1417: constexpr const int ACTION_CALIBRATE_SWAP_ARROWS = 47;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_CALIBRATE_RESET = 48;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_ANALOG_MOVE = 49;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_ROTATE_PICTURE_CW = 50;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_ROTATE_PICTURE_CCW = 51;
1417: 
1417: 
1417: constexpr const int ACTION_SUBTITLE_DELAY_MIN = 52;
1417: 
1417: 
1417: constexpr const int ACTION_SUBTITLE_DELAY_PLUS = 53;
1417: 
1417: 
1417: constexpr const int ACTION_AUDIO_DELAY_MIN = 54;
1417: 
1417: 
1417: constexpr const int ACTION_AUDIO_DELAY_PLUS = 55;
1417: 
1417: 
1417: constexpr const int ACTION_AUDIO_NEXT_LANGUAGE = 56;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_CHANGE_RESOLUTION = 57;
1417: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/actions/ActionIDs.h"
1417: constexpr const int REMOTE_0 = 58;
1417: 
1417: 
1417: constexpr const int REMOTE_1 = 59;
1417: 
1417: 
1417: constexpr const int REMOTE_2 = 60;
1417: 
1417: 
1417: constexpr const int REMOTE_3 = 61;
1417: 
1417: 
1417: constexpr const int REMOTE_4 = 62;
1417: 
1417: 
1417: constexpr const int REMOTE_5 = 63;
1417: 
1417: 
1417: constexpr const int REMOTE_6 = 64;
1417: 
1417: 
1417: constexpr const int REMOTE_7 = 65;
1417: 
1417: 
1417: constexpr const int REMOTE_8 = 66;
1417: 
1417: 
1417: constexpr const int REMOTE_9 = 67;
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_PLAYER_PROCESS_INFO = 69;
1417: 
ing(const CJob::PRIORITY &priority) const;
1434: 
1434: protected:
1434:   friend class CJobWorker;
1434:   friend class CJob;
1434:   friend class CJobQueue;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CJob* GetNextJob();
1434: # 341 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:   void OnJobComplete(bool success, CJob *job);
1434: # 352 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1434:   bool OnJobProgress(unsigned int progress, unsigned int total, const CJob *job) const;
1434: 
1434: private:
1434:   CJobManager(const CJobManager&) = delete;
1434:   CJobManager const& operator=(CJobManager const&) = delete;
1434: 
1434: 
1434: 
1434: 
1434:   CJob *PopJob();
1434: 
1434:   void StartWorkers(CJob::PRIORITY priority);
1434:   void RemoveWorker(const CJobWorker *worker);
1434:   static unsigned int GetMaxWorkers(CJob::PRIORITY priority);
1434: 
1434:   unsigned int m_jobCounter;
1434: 
1434:   typedef std::deque<CWorkItem> JobQueue;
1434:   typedef std::vector<CWorkItem> Processing;
1434:   typedef std::vector<CJobWorker*> Workers;
1434: 
1434:   JobQueue m_jobQueue[CJob::PRIORITY_DEDICATED + 1];
1434:   bool m_pauseJobs;
1434:   Processing m_processing;
1434:   Workers m_workers;
1434: 
1434:   mutable CCriticalSection m_section;
1434:   CEvent m_jobEvent;
1434:   bool m_running;
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/algorithm" 1 3
1434: # 58 "/usr/include/c++/12/algorithm" 3
1434:        
1434: # 59 "/usr/include/c++/12/algorithm" 3
1434: # 73 "/usr/include/c++/12/algorithm" 3
1434: # 1 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 1 3
1434: # 17 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
1434: 
1434: # 17 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: any_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: all_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: none_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Function>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: for_each(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Function __f);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Function>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: for_each_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, _Function __f);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: find_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: find_if_not(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: find(_its>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     equal_range(const key_type& __k) const
1115:     -> pair<const_iterator, const_iterator>
1115:     {
1115:       auto __ite = find(__k);
1115:       if (!__ite._M_cur)
1115:  return { __ite, __ite };
1115: 
1115:       auto __beg = __ite++;
1115:       if (__unique_keys::value)
1115:  return { __beg, __ite };
1115: 
1115: 
1115: 
1115: 
1115:       while (__ite._M_cur && this->_M_node_equals(*__beg._M_cur, *__ite._M_cur))
1115:  ++__ite;
1115: 
1115:       return { __beg, __ite };
1115:     }
1115: # 1890 "/usr/include/c++/12/bits/hashtable.h" 3
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_find_before_node(const key_type& __k)
1115:     -> __node_base_ptr
1115:     {
1115:       __node_base_ptr __prev_p = &_M_before_begin;
1115:       if (!__prev_p->_M_nxt)
1115:  return nullptr;
1115: 
1115:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);
1115:     __p != nullptr;
1115:     __p = __p->_M_next())
1115:  {
1115:    if (this->_M_key_equals(__k, *__p))
1115:      return __prev_p;
1115: 
1115:    __prev_p = __p;
1115:  }
1115: 
1115:       return nullptr;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_find_before_node(size_type __bkt, const key_type& __k,
1115:    __hash_code __code) const
1115:     -> __node_base_ptr
1115:     {
1115:       __node_base_ptr __prev_p = _M_buckets[__bkt];
1115:       if (!__prev_p)
1115:  return nullptr;
1115: 
1115:       for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1115:     __p = __p->_M_next())
1115:  {
1115:    if (this->_M_equals(__k, __code, *__p))
1115:      return __prev_p;
1115: 
1115:    if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
1115:      break;
1115:    __prev_p = __p;
1115:  }
1115: 
1115:       return nullptr;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _Kt>
1115:       auto
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _M_find_before_node_tr(size_type __bkt, const _Kt& __k,
1115:         __hash_code __code) const
1115:       -> __node_base_ptr
1115:       {
1115:  __node_base_ptr __prev_p = _M_buckets[__bkt];
1115:  if (!__prev_p)
1115:    return nullptr;
1115: 
1115:  for (__node_ptr __p = static_cast<__node_ptr>(__prev_p->_M_nxt);;
1115:       __p = __p->_M_next())
1115:    {
1115:      if (this->_M_equals_tr(__k, __code, *__p))
1115:        return __prev_p;
1115: 
1115:      if (!__p->_M_nxt || _M_bucket_index(*__p->_M_next()) != __bkt)
1115:        break;
1115:      __prev_p = __p;
1115:    }
1115: 
1115:  return nullptr;
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
11ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1434: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1434:          _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1434: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1434:          _ForwardIterator2 __s_last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1434: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1434:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1434: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1434:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1434:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1434: count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1434:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1434: count_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1434: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1434:        _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1434: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1434:        _ForwardIterator2 __s_last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Forw1417: constexpr const int ACTION_PLAYER_PROGRAM_SELECT = 70;
1417: 
1417: constexpr const int ACTION_PLAYER_RESOLUTION_SELECT = 71;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_SMALL_STEP_BACK = 76;
1417: 
1417: 
1417: constexpr const int ACTION_PLAYER_FORWARD = 77;
1417: 
1417: 
1417: constexpr const int ACTION_PLAYER_REWIND = 78;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_PLAYER_PLAY = 79;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_DELETE_ITEM = 80;
1417: 
1417: 
1417: constexpr const int ACTION_COPY_ITEM = 81;
1417: 
1417: 
1417: constexpr const int ACTION_MOVE_ITEM = 82;
1417: 
1417: 
1417: constexpr const int ACTION_TAKE_SCREENSHOT = 85;
1417: 
1417: 
1417: constexpr const int ACTION_RENAME_ITEM = 87;
1417: 
1417: constexpr const int ACTION_VOLUME_UP = 88;
1417: constexpr const int ACTION_VOLUME_DOWN = 89;
1417: constexpr const int ACTION_VOLAMP = 90;
1417: constexpr const int ACTION_MUTE = 91;
1417: constexpr const int ACTION_NAV_BACK = 92;
1417: constexpr const int ACTION_VOLAMP_UP = 93;
1417: constexpr const int ACTION_VOLAMP_DOWN = 94;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_CREATE_EPISODE_BOOKMARK = 95;
1417: 
1417: 
1417: constexpr const int ACTION_CREATE_BOOKMARK = 96;
1417: 
1417: 
1417: constexpr const int ACTION_CHAPTER_OR_BIG_STEP_FORWARD = 97;
1417: 
1417: 
1417: constexpr const int ACTION_CHAPTER_OR_BIG_STEP_BACK = 98;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_CYCLE_SUBTITLE = 99;
1417: 
1417: constexpr const int ACTION_MOUSE_START = 100;
1417: constexpr const int ACTION_MOUSE_LEFT_CLICK = 100;
1417: constexpr const int ACTION_MOUSE_RIGHT_CLICK = 101;
1417: constexpr const int ACTION_MOUSE_MIDDLE_CLICK = 102;
1417: constexpr const int ACTION_MOUSE_DOUBLE_CLICK = 103;
1417: constexpr const int ACTION_MOUSE_WHEEL_UP = 104;
1417: constexpr const int ACTION_MOUSE_WHEEL_DOWN = 105;
1417: constexpr const int ACTION_MOUSE_DRAG = 106;
1417: constexpr const int ACTION_MOUSE_MOVE = 107;
1417: constexpr const int ACTION_MOUSE_LONG_CLICK = 108;
1417: constexpr const int ACTION_MOUSE_DRAG_END = 109;
1417: constexpr const int ACTION_MOUSE_END = 109;
1417: 
1417: constexpr const int ACTION_BACKSPACE = 110;
1417: constexpr const int ACTION_SCROLL_UP = 111;
1417: constexpr const int ACTION_SCROLL_DOWN = 112;
1417: constexpr const int ACTION_ANALOG_FORWARD = 113;
1417: constexpr const int ACTION_ANALOG_REWIND = 114;
1417: 
1417: constexpr const int ACTION_MOVE_ITEM_UP = 115;
1417: constexpr const int ACTION_MOVE_ITEM_DOWN = 116;
1417: constexpr const int ACTION_CONTEXT_MENU = 117;
1417: 
1417: 
1417: constexpr const int ACTION_SHIFT = 118;
1417: constexpr const int ACTION_SYMBOLS = 119;
1417: constexpr const int ACTION_CURSOR_LEFT = 120;
1417: constexpr const int ACTION_CURSOR_RIGHT = 121;
1417: 
1417: constexpr const int ACTION_BUILT_IN_FUNCTION = 122;
1417: 
1417: 
1417: constexpr const int ACTION_SHOW_OSD_TIME = 123;
1417: 
1417: constexpr const int ACTION_ANALOG_SEEK_FORWARD = 124;
1417: constexpr const int ACTION_ANALOG_SEEK_BACK = 125;
1417: 
1417: constexpr const int ACTION_VIS_PRESET_SHOW = 126;
1417: constexpr const int ACTION_VIS_PRESET_NEXT = 128;
1417: constexpr const int ACTION_VIS_PRESET_PREV = 129;
1417: constexpr const int ACTION_VIS_PRESET_LOCK = 130;
1417: constexpr const int ACTION_VIS_PRESET_RANDOM = 131;
1417: constexpr const int ACTION_VIS_RATE_PRESET_PLUS = 132;
1417: constexpr const int ACTION_VIS_RATE_PRESET_MINUS = 133;
1417: 
1417: constexpr const int ACTION_SHOW_VIDEOMENU = 134;
1417: constexpr const int ACTION_ENTER = 135;
1417: 
1417: constexpr const int ACTION_INCREASE_RATING = 136;
1417: constexpr const int ACTION_DECREASE_RATING = 137;
1417: 
1417: constexpr const int ACTION_NEXT_SCENE = 138;
1417: constexpr const int ACTION_PREV_SCENE = 139;
1417: 
1417: constexpr const int ACTION_NEXT_LETTER = 140;
1417: constexpr const int ACTION_PREV_LETTER = 141;
1417: 
1417: constexpr const int ACTION_JUMP_SMS2 = 142;
1417: constexpr const int ACTION_JUMP_SMS3 = 143;
1417: constexpr const int ACTION_JUMP_SMS4 = 144;
1417: constexpr const int AardIterator __last, _Size __count,
1434:          const _Tp& __value, _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
1434:          const _Tp& __value);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _Size, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: copy_n(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _Size __n, _ForwardIterator2 __result);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 result,
1434:         _Predicate __pred);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: swap_ranges(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:             _ForwardIterator2 __first2);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryOperation>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1434:           _UnaryOperation __op);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1434:           class _BinaryOperation>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:           _ForwardIterator __result, _BinaryOperation __op);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: replace_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred,
1434:            const _Tp& __new_value);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: replace(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value,
1434:         const _Tp& __new_value);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryPredicate, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: replace_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1434:                 _ForwardIterator2 __result, _UnaryPredicate __pred, const _Tp& __new_value);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: replace_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1434:              const _Tp& __old_value, const _Tp& __new_value);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __count, const _Tp& __value);
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Generator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: generate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Generator __g);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Generator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: generate_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size count, _Generator __g);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: remove_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1434:                _ForwardIterator2 __result, _Predicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: remove_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1434:             const _Tp& __value);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: remove_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: remove(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1434:             _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _BidirectionalIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: reverse(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _15:     _M_insert_bucket_begin(size_type __bkt, __node_ptr __node)
1115:     {
1115:       if (_M_buckets[__bkt])
1115:  {
1115: 
1115: 
1115:    __node->_M_nxt = _M_buckets[__bkt]->_M_nxt;
1115:    _M_buckets[__bkt]->_M_nxt = __node;
1115:  }
1115:       else
1115:  {
1115: 
1115: 
1115: 
1115:    __node->_M_nxt = _M_before_begin._M_nxt;
1115:    _M_before_begin._M_nxt = __node;
1115: 
1115:    if (__node->_M_nxt)
1115: 
1115: 
1115:      _M_buckets[_M_bucket_index(*__node->_M_next())] = __node;
1115: 
1115:    _M_buckets[__bkt] = &_M_before_begin;
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_remove_bucket_begin(size_type __bkt, __node_ptr __next,
1115:       size_type __next_bkt)
1115:     {
1115:       if (!__next || __next_bkt != __bkt)
1115:  {
1115: 
1115: 
1115:    if (__next)
1115:      _M_buckets[__next_bkt] = _M_buckets[__bkt];
1115: 
1115: 
1115:    if (&_M_before_begin == _M_buckets[__bkt])
1115:      _M_before_begin._M_nxt = __next;
1115:    _M_buckets[__bkt] = nullptr;
1115:  }
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_get_previous_node(size_type __bkt, __node_ptr __n)
1115:     -> __node_base_ptr
1115:     {
1115:       __node_base_ptr __prev_n = _M_buckets[__bkt];
1115:       while (__prev_n->_M_nxt != __n)
1115:  __prev_n = __prev_n->_M_nxt;
1115:       return __prev_n;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename... _Args>
1115:       auto
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _M_emplace(true_type , _Args&&... __args)
1115:       -> pair<iterator, bool>
1115:       {
1115: 
1115:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1115:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1115:  if (size() <= __small_size_threshold())
1115:    {
1115:      for (auto __it = begin(); __it != end(); ++__it)
1115:        if (this->_M_key_equals(__k, *__it._M_cur))
1115: 
1115:   return { __it, false };
1115:    }
1115: 
1115:  __hash_code __code = this->_M_hash_code(__k);
1115:  size_type __bkt = _M_bucket_index(__code);
1115:  if (size() > __small_size_threshold())
1115:    if (__node_ptr __p = _M_find_node(__bkt, __k, __code))
1115: 
1115:      return { iterator(__p), false };
1115: 
1115: 
1115:  auto __pos = _M_insert_unique_node(__bkt, __code, __node._M_node);
1115:  __node._M_node = nullptr;
1115:  return { __pos, true };
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename... _Args>
1115:       auto
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _M_emplace(const_iterator __hint, false_type ,
1115:    _Args&&... __args)
1115:       -> iterator
1115:       {
1115: 
1115:  _Scoped_node __node { this, std::forward<_Args>(__args)... };
1115:  const key_type& __k = _ExtractKey{}(__node._M_node->_M_v());
1115: 
CTION_JUMP_SMS5 = 145;
1417: constexpr const int ACTION_JUMP_SMS6 = 146;
1417: constexpr const int ACTION_JUMP_SMS7 = 147;
1417: constexpr const int ACTION_JUMP_SMS8 = 148;
1417: constexpr const int ACTION_JUMP_SMS9 = 149;
1417: 
1417: constexpr const int ACTION_FILTER_CLEAR = 150;
1417: constexpr const int ACTION_FILTER_SMS2 = 151;
1417: constexpr const int ACTION_FILTER_SMS3 = 152;
1417: constexpr const int ACTION_FILTER_SMS4 = 153;
1417: constexpr const int ACTION_FILTER_SMS5 = 154;
1417: constexpr const int ACTION_FILTER_SMS6 = 155;
1417: constexpr const int ACTION_FILTER_SMS7 = 156;
1417: constexpr const int ACTION_FILTER_SMS8 = 157;
1417: constexpr const int ACTION_FILTER_SMS9 = 158;
1417: 
1417: constexpr const int ACTION_FIRST_PAGE = 159;
1417: constexpr const int ACTION_LAST_PAGE = 160;
1417: 
1417: constexpr const int ACTION_AUDIO_DELAY = 161;
1417: constexpr const int ACTION_SUBTITLE_DELAY = 162;
1417: constexpr const int ACTION_MENU = 163;
1417: 
1417: constexpr const int ACTION_SET_RATING = 164;
1417: 
1417: constexpr const int ACTION_RECORD = 170;
1417: 
1417: constexpr const int ACTION_PASTE = 180;
1417: constexpr const int ACTION_NEXT_CONTROL = 181;
1417: constexpr const int ACTION_PREV_CONTROL = 182;
1417: constexpr const int ACTION_CHANNEL_SWITCH = 183;
1417: constexpr const int ACTION_CHANNEL_UP = 184;
1417: constexpr const int ACTION_CHANNEL_DOWN = 185;
1417: constexpr const int ACTION_NEXT_CHANNELGROUP = 186;
1417: constexpr const int ACTION_PREVIOUS_CHANNELGROUP = 187;
1417: constexpr const int ACTION_PVR_PLAY = 188;
1417: constexpr const int ACTION_PVR_PLAY_TV = 189;
1417: constexpr const int ACTION_PVR_PLAY_RADIO = 190;
1417: constexpr const int ACTION_PVR_SHOW_TIMER_RULE = 191;
1417: constexpr const int ACTION_CHANNEL_NUMBER_SEP = 192;
1417: constexpr const int ACTION_PVR_ANNOUNCE_REMINDERS = 193;
1417: 
1417: constexpr const int ACTION_TOGGLE_FULLSCREEN = 199;
1417: constexpr const int ACTION_TOGGLE_WATCHED = 200;
1417: constexpr const int ACTION_SCAN_ITEM = 201;
1417: constexpr const int ACTION_TOGGLE_DIGITAL_ANALOG = 202;
1417: constexpr const int ACTION_RELOAD_KEYMAPS = 203;
1417: constexpr const int ACTION_GUIPROFILE_BEGIN = 204;
1417: 
1417: constexpr const int ACTION_TELETEXT_RED = 215;
1417: constexpr const int ACTION_TELETEXT_GREEN = 216;
1417: constexpr const int ACTION_TELETEXT_YELLOW = 217;
1417: constexpr const int ACTION_TELETEXT_BLUE = 218;
1417: 
1417: constexpr const int ACTION_INCREASE_PAR = 219;
1417: constexpr const int ACTION_DECREASE_PAR = 220;
1417: 
1417: constexpr const int ACTION_VSHIFT_UP = 227;
1417: constexpr const int ACTION_VSHIFT_DOWN = 228;
1417: 
1417: constexpr const int ACTION_PLAYER_PLAYPAUSE = 229;
1417: 
1417: constexpr const int ACTION_SUBTITLE_VSHIFT_UP = 230;
1417: constexpr const int ACTION_SUBTITLE_VSHIFT_DOWN = 231;
1417: constexpr const int ACTION_SUBTITLE_ALIGN = 232;
1417: 
1417: constexpr const int ACTION_FILTER = 233;
1417: 
1417: constexpr const int ACTION_SWITCH_PLAYER = 234;
1417: 
1417: constexpr const int ACTION_STEREOMODE_NEXT = 235;
1417: constexpr const int ACTION_STEREOMODE_PREVIOUS = 236;
1417: constexpr const int ACTION_STEREOMODE_TOGGLE = 237;
1417: constexpr const int ACTION_STEREOMODE_SELECT = 238;
1417: constexpr const int ACTION_STEREOMODE_TOMONO = 239;
1417: constexpr const int ACTION_STEREOMODE_SET = 240;
1417: 
1417: constexpr const int ACTION_SETTINGS_RESET = 241;
1417: constexpr const int ACTION_SETTINGS_LEVEL_CHANGE = 242;
1417: 
1417: 
1417: constexpr const int ACTION_TRIGGER_OSD = 243;
1417: constexpr const int ACTION_INPUT_TEXT = 244;
1417: constexpr const int ACTION_VOLUME_SET = 245;
1417: constexpr const int ACTION_TOGGLE_COMMSKIP = 246;
1417: 
1417: constexpr const int ACTION_BROWSE_SUBTITLE = 247;
1417: 
1417: constexpr const int ACTION_PLAYER_RESET = 248;
1417: 
1417: constexpr const int ACTION_TOGGLE_FONT = 249;
1417: 
1417: constexpr const int ACTION_VIDEO_NEXT_STREAM = 250;
1417: 
1417: 
1417: constexpr const int ACTION_QUEUE_ITEM_NEXT = 251;
1417: 
1417: constexpr const int ACTION_HDR_TOGGLE = 260;
1417: 
1417: coBidirectionalIterator, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: reverse_copy(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1434:              _ForwardIterator __d_first);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: rotate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: rotate_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __middle, _ForwardIterator1 __last,
1434:             _ForwardIterator2 __result);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: is_partitioned(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: partition(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _BidirectionalIterator, class _UnaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _BidirectionalIterator>
1434: stable_partition(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1434:                  _UnaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _ForwardIterator1, class _ForwardIterator2,
1434:           class _UnaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1434: partition_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1434:                _ForwardIterator1 __out_true, _ForwardIterator2 __out_false, _UnaryPredicate __pred);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1434: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:          _ForwardIterator2 __last2, _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _B1115:  auto __res = this->_M_compute_hash_code(__hint, __k);
1115:  auto __pos
1115:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
1115:      __node._M_node);
1115:  __node._M_node = nullptr;
1115:  return __pos;
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_compute_hash_code(const_iterator __hint, const key_type& __k) const
1115:     -> pair<const_iterator, __hash_code>
1115:     {
1115:       if (size() <= __small_size_threshold())
1115:  {
1115:    if (__hint != cend())
1115:      {
1115:        for (auto __it = __hint; __it != cend(); ++__it)
1115:   if (this->_M_key_equals(__k, *__it._M_cur))
1115:     return { __it, this->_M_hash_code(*__it._M_cur) };
1115:      }
1115: 
1115:    for (auto __it = cbegin(); __it != __hint; ++__it)
1115:      if (this->_M_key_equals(__k, *__it._M_cur))
1115:        return { __it, this->_M_hash_code(*__it._M_cur) };
1115:  }
1115: 
1115:       return { __hint, this->_M_hash_code(__k) };
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_insert_unique_node(size_type __bkt, __hash_code __code,
1115:      __node_ptr __node, size_type __n_elt)
1115:     -> iterator
1115:     {
1115:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1115:       std::pair<bool, std::size_t> __do_rehash
1115:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count,
1115:        __n_elt);
1115: 
1115:       if (__do_rehash.first)
1115:  {
1115:    _M_rehash(__do_rehash.second, __saved_state);
1115:    __bkt = _M_bucket_index(__code);
1115:  }
1115: 
1115:       this->_M_store_code(*__node, __code);
1115: 
1115: 
1115:       _M_insert_bucket_begin(__bkt, __node);
1115:       ++_M_element_count;
1115:       return iterator(__node);
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_insert_multi_node(__node_ptr __hint,
1115:     __hash_code __code, __node_ptr __node)
1115:     -> iterator
1115:     {
1115:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1115:       std::pair<bool, std::size_t> __do_rehash
1115:  = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1);
1115: 
1115:       if (__do_rehash.first)
1115:  _M_rehash(__do_rehash.second, __saved_state);
1115: 
1115:       this->_M_store_code(*__node, __code);
1115:       const key_type& __k = _ExtractKey{}(__node->_M_v());
1115:       size_type __bkt = _M_bucket_index(__code);
1115: 
1115: 
1115: 
1115:       __node_base_ptr __prev
1115:  = __builtin_expect(__hint != nullptr, false)
1115:    && this->_M_equals(__k, __code, *__hint)
1115:      ? __hint
1115:      : _M_find_before_node(__bkt, __k, __code);
1115: 
1115:       if (__prev)
1115:  {
1115: 
1115:    __node->_M_nxt = __prev->_M_nxt;
1115:    __prev->_M_nxt = __node;
1115:    if (__builtin_expect(__prev == __hint, false))
1115: 
1115: 
1115:      if (__node->_M_nxt
1115:   && !this->_M_equals(__k, __code, *__node->_M_next()))
1115:        {
1115:   size_type __next_bkt = _M_bucket_index(*__node->_M_next());
1115:   if (__next_bkt != __bkt)
1inaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1434: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:          _BinaryPredicate __pred);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1434: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:          _ForwardIterator2 __last2);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1434: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:       _BinaryPredicate __p);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:       _ForwardIterator2 __last2, _BinaryPredicate __p);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:       _ForwardIterator2 __last2);
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1434: move(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __d_first);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1434:              _RandomAccessIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1434:              _RandomAccessIterator __last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1434: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1434:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1434: partial_sort_copy(_ExecutionPolicy&& __nstexpr const int ACTION_CYCLE_TONEMAP_METHOD = 261;
1417: 
1417: 
1417: constexpr const int ACTION_PLAYER_DEBUG_VIDEO = 262;
1417: 
1417: 
1417: constexpr const int ACTION_VOICE_RECOGNIZE = 300;
1417: 
1417: 
1417: constexpr const int ACTION_TOUCH_TAP = 401;
1417: constexpr const int ACTION_TOUCH_TAP_TEN = 410;
1417: constexpr const int ACTION_TOUCH_LONGPRESS = 411;
1417: constexpr const int ACTION_TOUCH_LONGPRESS_TEN = 420;
1417: 
1417: constexpr const int ACTION_GESTURE_NOTIFY = 500;
1417: constexpr const int ACTION_GESTURE_BEGIN = 501;
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_GESTURE_ZOOM = 502;
1417: constexpr const int ACTION_GESTURE_ROTATE = 503;
1417: constexpr const int ACTION_GESTURE_PAN = 504;
1417: constexpr const int ACTION_GESTURE_ABORT = 505;
1417: 
1417: constexpr const int ACTION_GESTURE_SWIPE_LEFT = 511;
1417: constexpr const int ACTION_GESTURE_SWIPE_LEFT_TEN = 520;
1417: constexpr const int ACTION_GESTURE_SWIPE_RIGHT = 521;
1417: constexpr const int ACTION_GESTURE_SWIPE_RIGHT_TEN = 530;
1417: constexpr const int ACTION_GESTURE_SWIPE_UP = 531;
1417: constexpr const int ACTION_GESTURE_SWIPE_UP_TEN = 540;
1417: constexpr const int ACTION_GESTURE_SWIPE_DOWN = 541;
1417: constexpr const int ACTION_GESTURE_SWIPE_DOWN_TEN = 550;
1417: 
1417: 
1417: constexpr const int ACTION_GESTURE_END = 599;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_ANALOG_MOVE_X_LEFT = 601;
1417: 
1417: 
1417: constexpr const int ACTION_ANALOG_MOVE_X_RIGHT = 602;
1417: 
1417: 
1417: constexpr const int ACTION_ANALOG_MOVE_Y_UP = 603;
1417: 
1417: 
1417: constexpr const int ACTION_ANALOG_MOVE_Y_DOWN = 604;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: constexpr const int ACTION_ERROR = 998;
1417: constexpr const int ACTION_NOOP = 999;
1417: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTag.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTag.h"
1417:        
1417: 
1417: class CSong;
1417: class CArtist;
1417: class CVariant;
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/ReplayGain.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/ReplayGain.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class ReplayGain
1417: {
1417: public:
1417:   enum Type {
1417:     NONE = 0,
1417:     ALBUM,
1417:     TRACK
1417:   };
1417: public:
1417:   class Info
1417:   {
1417:   public:
1417:     void SetGain(float aGain);
1417:     void SetGain(const std::string& aStrGain);
1417:     float Gain() const;
1417:     void SetPeak(const std::string& aStrPeak);
1417:     void SetPeak(float aPeak);
1417:     float Peak() const;
1417:     bool HasGain() const;
1417:     bool HasPeak() const;
1417:     bool Valid() const;
1417:   private:
1417:     float m_gain = -1000.0f;
1417:     float m_peak = -1.0f;
1417:   };
1417:   const Info& Get(Type aType) const;
1417:   void Set(Type aType, const Info& aInfo);
1417:   void ParseGain(Type aType, const std::string& aStrGain);
1417:   void SetGain(Type aType, float aGain);
1417:   void ParsePeak(Type aType, const std::string& aStrPeak);
1417:   void SetPeak(Type aType, float aPeak);
1417:   std::string Get() const;
1417:   void Set(const std::string& strReplayGain);
1417: private:
1417:   Info m_data[TRACK];
1417: };
1417: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTag.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h"
1417:        
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1417:        
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/sys/sexec, _ForwardIterator __first, _ForwardIterator __last,
1434:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last);
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1434:             _RandomAccessIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1434:             _RandomAccessIterator __last);
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1434:           class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:       _ForwardIterator2 __last2, _ForwardIterator __d_first, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:       _ForwardIterator2 __last2, _ForwardIterator __d_first);
1434: 
1434: template <class _ExecutionPolicy, class _BidirectionalIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1434:               _BidirectionalIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _BidirectionalIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1434: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1434:               _BidirectionalIterator __last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:          _ForwardIterator2 __last2, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1115:     _M_buckets[__next_bkt] = __node;
1115:        }
1115:  }
1115:       else
1115: 
1115: 
1115: 
1115:  _M_insert_bucket_begin(__bkt, __node);
1115:       ++_M_element_count;
1115:       return iterator(__node);
1115:     }
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _Kt, typename _Arg, typename _NodeGenerator>
1115:       auto
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _M_insert_unique(_Kt&& __k, _Arg&& __v,
1115:          const _NodeGenerator& __node_gen)
1115:       -> pair<iterator, bool>
1115:       {
1115:  if (size() <= __small_size_threshold())
1115:    for (auto __it = begin(); __it != end(); ++__it)
1115:      if (this->_M_key_equals_tr(__k, *__it._M_cur))
1115:        return { __it, false };
1115: 
1115:  __hash_code __code = this->_M_hash_code_tr(__k);
1115:  size_type __bkt = _M_bucket_index(__code);
1115: 
1115:  if (size() > __small_size_threshold())
1115:    if (__node_ptr __node = _M_find_node_tr(__bkt, __k, __code))
1115:      return { iterator(__node), false };
1115: 
1115:  _Scoped_node __node {
1115:    __node_builder_t::_S_build(std::forward<_Kt>(__k),
1115:          std::forward<_Arg>(__v),
1115:          __node_gen),
1115:    this
1115:  };
1115:  auto __pos
1115:    = _M_insert_unique_node(__bkt, __code, __node._M_node);
1115:  __node._M_node = nullptr;
1115:  return { __pos, true };
1115:       }
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     template<typename _Arg, typename _NodeGenerator>
1115:       auto
1115:       _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:    _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:       _M_insert(const_iterator __hint, _Arg&& __v,
1115:   const _NodeGenerator& __node_gen,
1115:   false_type )
1115:       -> iterator
1115:       {
1115: 
1115:  _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this };
1115: 
1115: 
1115:  auto __res = this->_M_compute_hash_code(
1115:    __hint, _ExtractKey{}(__node._M_node->_M_v()));
1115: 
1115:  auto __pos
1115:    = _M_insert_multi_node(__res.first._M_cur, __res.second,
1115:      __node._M_node);
1115:  __node._M_node = nullptr;
1115:  return __pos;
1115:       }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     erase(const_iterator __it)
1115:     -> iterator
1115:     {
1115:       __node_ptr __n = __it._M_cur;
1115:       std::size_t __bkt = _M_bucket_index(*__n);
1115: 
1115: 
1115: 
1115: 
1115:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1115:       return _M_erase(__bkt, __prev_n, __n);
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_erase(size_type __bkt, __node_base_ptr __prev_n, __node_ptr __n)
1115:     -> iterator
1115:     {
1115:       if (__prev_n == _M_buckets[__bkt])
1115:  _M_remove_bucket_begin(__bkt, __n->_M_next(),
1115:    __n->_M_nxt ? _M_bucket_index(*__n->_M_next()) : 0);
1115:       else if (__n->_M_nxt)
1115:  {
1, _ForwardIterator2 __first2,
1434:          _ForwardIterator2 __last2);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1434:           class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:           _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1434:           _ForwardIterator2 __last2, _ForwardIterator __result);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1434:           class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1434:           class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1434:           class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator result,
1434:                          _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1434: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPotat.h" 1 3 4
1417: # 99 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: 
1417: # 99 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern "C" {
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 1 3 4
1417: # 25 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 28 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 2 3 4
1417: 
1417: struct stat
1417:   {
1417: 
1417: 
1417: 
1417:     __dev_t st_dev;
1417:     unsigned short int __pad1;
1417: 
1417: 
1417: 
1417:     __ino_t __st_ino;
1417: 
1417:     __mode_t st_mode;
1417:     __nlink_t st_nlink;
1417:     __uid_t st_uid;
1417:     __gid_t st_gid;
1417:     __dev_t st_rdev;
1417:     unsigned short int __pad2;
1417: 
1417: 
1417: 
1417:     __off64_t st_size;
1417: 
1417:     __blksize_t st_blksize;
1417: 
1417: 
1417: 
1417: 
1417:     __blkcnt64_t st_blocks;
1417: # 66 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1417:     struct timespec st_atim;
1417:     struct timespec st_mtim;
1417:     struct timespec st_ctim;
1417: # 84 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1417:     __ino64_t st_ino;
1417: 
1417: 
1417:   };
1417: 
1417: 
1417: struct stat64
1417:   {
1417: 
1417: 
1417: 
1417:     __dev_t st_dev;
1417:     unsigned int __pad1;
1417: 
1417:     __ino_t __st_ino;
1417:     __mode_t st_mode;
1417:     __nlink_t st_nlink;
1417:     __uid_t st_uid;
1417:     __gid_t st_gid;
1417:     __dev_t st_rdev;
1417:     unsigned int __pad2;
1417:     __off64_t st_size;
1417:     __blksize_t st_blksize;
1417: 
1417:     __blkcnt64_t st_blocks;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     struct timespec st_atim;
1417:     struct timespec st_mtim;
1417:     struct timespec st_ctim;
1417: # 127 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1417:     __ino64_t st_ino;
1417: 
1417:   };
1417: # 26 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 2 3 4
1417: # 102 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 2 3 4
1417: # 227 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern int stat (const char *__restrict __file, struct stat *__restrict __buf) noexcept (true) __asm__ ("" "stat64")
1417: 
1417:      __attribute__ ((__nonnull__ (1, 2)));
1417: extern int fstat (int __fd, struct stat *__buf) noexcept (true) __asm__ ("" "fstat64")
1417:      __attribute__ ((__nonnull__ (2)));
1417: # 240 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern int stat64 (const char *__restrict __file,
1417:      struct stat64 *__restrict __buf) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: extern int fstat64 (int __fd, struct stat64 *__buf) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: # 279 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern int fstatat (int __fd, const char *__restrict __file, struct stat *__restrict __buf, int __flag) noexcept (true) __asm__ ("" "fstatat64")
1417: 
1417: 
1417:                  __attribute__ ((__nonnull__ (2, 3)));
1417: # 291 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern int fstatat64 (int __fd, const char *__restrict __file,
1417:         struct stat64 *__restrict __buf, int __flag)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1417: # 327 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern int lstat (const char *__restrict __file, struct stat *__restrict __buf) noexcept (true) __asm__ ("" "lstat64")
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int lstat64 (const char *__restrict __file,
1417:       struct stat64 *__restrict __buf)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: # 352 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern int chmod (const char *__file, __mode_t __mode)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
14licy, class _RandomAccessIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1434: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _RandomAccessIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1434: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
1434: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
1434: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1434: 
1434: 
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2, _Compare __comp);
1434: 
1434: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1434: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1434: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1434:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2);
1434: 
1434: }
1434: # 74 "/usr/include/c++/12/algorithm" 2 3
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h"
1434: template<typename Event>
1434: class CEventStream
1434: {
1434: public:
1434: 
1434:   template<typename A>
1434:   void Subscribe(A* owner, void (A::*fn)(const Event&))
1434:   {
1434:     auto subscription = std::make_shared<detail::CSubscription<Event, A>>(owner, fn);
1434:     std::unique_lock<CCriticalSection> lock(m_criticalSection);
1434:     m_subscriptions.emplace_back(std::move(subscription));
1434:   }
1434: 
1434:   template<typename A>
1434:   void Unsubscribe(A* obj)
1434:   {
1434:     std::vector<std::sh115:    size_type __next_bkt = _M_bucket_index(*__n->_M_next());
1115:    if (__next_bkt != __bkt)
1115:      _M_buckets[__next_bkt] = __prev_n;
1115:  }
1115: 
1115:       __prev_n->_M_nxt = __n->_M_nxt;
1115:       iterator __result(__n->_M_next());
1115:       this->_M_deallocate_node(__n);
1115:       --_M_element_count;
1115: 
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_erase(true_type , const key_type& __k)
1115:     -> size_type
1115:     {
1115:       __node_base_ptr __prev_n;
1115:       __node_ptr __n;
1115:       std::size_t __bkt;
1115:       if (size() <= __small_size_threshold())
1115:  {
1115:    __prev_n = _M_find_before_node(__k);
1115:    if (!__prev_n)
1115:      return 0;
1115: 
1115: 
1115:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1115:    __bkt = _M_bucket_index(*__n);
1115:  }
1115:       else
1115:  {
1115:    __hash_code __code = this->_M_hash_code(__k);
1115:    __bkt = _M_bucket_index(__code);
1115: 
1115: 
1115:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1115:    if (!__prev_n)
1115:      return 0;
1115: 
1115: 
1115:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1115:  }
1115: 
1115:       _M_erase(__bkt, __prev_n, __n);
1115:       return 1;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_erase(false_type , const key_type& __k)
1115:     -> size_type
1115:     {
1115:       std::size_t __bkt;
1115:       __node_base_ptr __prev_n;
1115:       __node_ptr __n;
1115:       if (size() <= __small_size_threshold())
1115:  {
1115:    __prev_n = _M_find_before_node(__k);
1115:    if (!__prev_n)
1115:      return 0;
1115: 
1115: 
1115:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1115:    __bkt = _M_bucket_index(*__n);
1115:  }
1115:       else
1115:  {
1115:    __hash_code __code = this->_M_hash_code(__k);
1115:    __bkt = _M_bucket_index(__code);
1115: 
1115: 
1115:    __prev_n = _M_find_before_node(__bkt, __k, __code);
1115:    if (!__prev_n)
1115:      return 0;
1115: 
1115:    __n = static_cast<__node_ptr>(__prev_n->_M_nxt);
1115:  }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       __node_ptr __n_last = __n->_M_next();
1115:       while (__n_last && this->_M_node_equals(*__n, *__n_last))
1115:  __n_last = __n_last->_M_next();
1115: 
1115:       std::size_t __n_last_bkt = __n_last ? _M_bucket_index(*__n_last) : __bkt;
1115: 
1115: 
1115:       size_type __result = 0;
1115:       do
1115:  {
1115:    __node_ptr __p = __n->_M_next();
1115:    this->_M_deallocate_node(__n);
1115:    __n = __p;
1115:    ++__result;
1115:  }
1115:       while (__n != __n_last);
1115: 
1115:       _M_element_count -= __result;
1115:       if (__prev_n == _M_buckets[__bkt])
1115:  _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt);
1115:       else if (__n_last_bkt != __bkt)
1115:  _M_buckets[__n_last_bkt] = __prev_n;
1115:       __prev_n->_M_nxt = __n_last;
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     auto
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     erase(const_iterator __first, const_iterared_ptr<detail::ISubscription<Event>>> toCancel;
1434:     {
1434:       std::unique_lock<CCriticalSection> lock(m_criticalSection);
1434:       auto it = m_subscriptions.begin();
1434:       while (it != m_subscriptions.end())
1434:       {
1434:         if ((*it)->IsOwnedBy(obj))
1434:         {
1434:           toCancel.push_back(*it);
1434:           it = m_subscriptions.erase(it);
1434:         }
1434:         else
1434:         {
1434:           ++it;
1434:         }
1434:       }
1434:     }
1434:     for (auto& subscription : toCancel)
1434:       subscription->Cancel();
1434:   }
1434: 
1434: protected:
1434:   std::vector<std::shared_ptr<detail::ISubscription<Event>>> m_subscriptions;
1434:   CCriticalSection m_criticalSection;
1434: };
1434: 
1434: 
1434: template<typename Event>
1434: class CEventSource : public CEventStream<Event>
1434: {
1434: public:
1434:   explicit CEventSource() : m_queue(false, 1, CJob::PRIORITY_HIGH) {}
1434: 
1434:   template<typename A>
1434:   void Publish(A event)
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(this->m_criticalSection);
1434:     auto& subscriptions = this->m_subscriptions;
1434:     auto task = [subscriptions, event](){
1434:       for (auto& s: subscriptions)
1434:         s->HandleEvent(event);
1434:     };
1434:     lock.unlock();
1434:     m_queue.Submit(std::move(task));
1434:   }
1434: 
1434: private:
1434:   CJobQueue m_queue;
1434: };
1434: 
1434: template<typename Event>
1434: class CBlockingEventSource : public CEventStream<Event>
1434: {
1434: public:
1434:   template<typename A>
1434:   void HandleEvent(A event)
1434:   {
1434:     std::unique_lock<CCriticalSection> lock(this->m_criticalSection);
1434:     for (const auto& subscription : this->m_subscriptions)
1434:     {
1434:       subscription->HandleEvent(event);
1434:     }
1434:   }
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h" 2
1434: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434: namespace ADDON
1434: {
1434: enum class AddonDisabledReason;
1434: enum class AddonOriginType;
1434: enum class AddonType;
1434: enum class AddonUpdateRule;
1434: enum class AllowCheckForUpdates : bool;
1434: 
1434: class CAddonDatabase;
1434: class CAddonUpdateRules;
1434: class CAddonVersion;
1434: class IAddonMgrCallback;
1434: 
1434: class CAddonInfo;
1434: using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
1434: using ADDON_INFO_LIST = std::map<std::string, AddonInfoPtr>;
1434: 
1434: class IAddon;
1434: using AddonPtr = std::shared_ptr<IAddon>;
1434: using VECADDONS = std::vector<AddonPtr>;
1434: 
1434: struct AddonEvent;
1434: struct AddonWithUpdate;
1434: struct DependencyInfo;
1434: struct RepositoryDirInfo;
1434: 
1434: using AddonInstanceId = uint32_t;
1434: 
1434: enum class AddonCheckType : bool
1434: {
1434:   OUTDATED_ADDONS,
1434:   AVAILABLE_UPDATES,
1434: };
1434: 
1434: enum class OnlyEnabled : bool
1434: {
1434:   CHOICE_YES = true,
1434:   CHOICE_NO = false,
1434: };
1434: 
1434: enum class OnlyEnabledRootAddon : bool
1434: {
1434:   CHOICE_YES = true,
1434:   CHOICE_NO = false,
1434: };
1434: 
1434: enum class CheckIncompatible : bool
1434: {
1434:   CHOICE_YES = true,
1434:   CHOICE_NO = false,
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CAddonMgr
1434: {
1434: public:
1434:   bool ReInit()
1434:   {
1434:     DeInit();
1434:     return Init();
1434:   }
1434:   bool Init();
1434:   void DeInit();
1434: 
1434:   CAddonMgr();
1434:   CAddonMgr(const CAddonMgr&) = delete;
1434:   virtual ~CAddonMgr();
1434: 
1434:   CEventStream<AddonEvent>& Events() { return m_events; }
1434:   CEventStream<AddonEvent>& UnloadEvents() { return m_unloadEvents; }
1434: 
1434:   IAddonMgrCallback* GetCallbackForType(AddonType type);
1434:   bool RegisterAddonMgrCallback(AddonType type, IAddonMgrCallback* cb);
1434:   void UnregisterAddonMgrCallback(AddonType type);
1434: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool GetAddon(const std::string& id,
1434:                 AddonPtr& a17: 
1417: 
1417: 
1417: 
1417: 
1417: extern int lchmod (const char *__file, __mode_t __mode)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int fchmod (int __fd, __mode_t __mode) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fchmodat (int __fd, const char *__file, __mode_t __mode,
1417:        int __flag)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __mode_t umask (__mode_t __mask) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern __mode_t getumask (void) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int mkdir (const char *__path, __mode_t __mode)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mkdirat (int __fd, const char *__path, __mode_t __mode)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mknodat (int __fd, const char *__path, __mode_t __mode,
1417:       __dev_t __dev) noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mkfifo (const char *__path, __mode_t __mode)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int utimensat (int __fd, const char *__path,
1417:         const struct timespec __times[2],
1417:         int __flags)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: # 452 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: extern int futimens (int __fd, const struct timespec __times[2]) noexcept (true);
1417: # 465 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 1 3 4
1417: # 31 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 3 4
1417: # 1 "/usr/include/linux/stat.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/linux/types.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/asm/types.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4
1417: # 12 "/usr/include/asm-generic/int-ll64.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 1 3 4
1417: # 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4
1417: # 2 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 2 3 4
1417: # 13 "/usr/include/asm-generic/int-ll64.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __signed__ char __s8;
1417: typedef unsigned char __u8;
1417: 
1417: typedef __signed__ short __s16;
1417: typedef unsigned short __u16;
1417: 
1417: typedef __signed__ int __s32;
1417: typedef unsigned int __u32;
1417: 
1417: 
1417: __extension__ typedef __signed__ long long __s64;
1417: __extension__ typedef unsigned long long __u64;
1417: # 6 "/usr/include/arm-linux-gnueabihf/asm/types.h" 2 3 4
1417: # 6 "/usr/include/linux/types.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/linux/posix_types.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/linux/stddef.h" 1 3 4
1417: # 6 "/usr/include/linux/posix_types.h" 2 3 4
1417: # 25 "/usr/include/linux/posix_types.h" 3 4
1417: typedef struct {
1417:  unsigned long fds_bits[1024 / (8 * sizeof(long))];
1417: } __kernel_fd_set;
1417: 
1417: 
1417: typedef void (*__kernel_sighandler_t)(int);
1417: 
1417: 
1417: typedef int __kernel_key_t;
1417: typedef int __kernel_mqd_t;
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 3 4
1417: typedef unsigned short __kernel_mode_t;
1417: 
1417: 
1417: typedef unsigned short __kernel_ipc_pid_t;
1417: 
1417: 
1417: typedef unsigned short __kernel_uid_t;
1417: typedef unsigned short __kernel_gid_t;
1417: 
1417: 
1417: typedef unsigned short __kernel_old_dev_t;
1417: 
1417: 
1417: # 1 "/usr/include/asm-generic/posix_types.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 1 3 4
1417: # 6 "/usr/include/asm-generic/posix_types.h" 2 3 4
1417: # 15 "/usr/include/asm-generic/posix_types.h" 3 4
1417: typedef long __kernel_long_t;
1417: typedef unsigned long __kernel_ulong_t;
1417: 
1417: 
1417: 
1417: typedef __kernel_ulong_t __kernel_ino_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef int __kernel_pid_t;
1417: # 41 "/usr/include/asm-generic/posix_types.h" 3 4
1417: typedef __kernel_long_t __kernel_suseconds_t;
1417: 
1417: 
1417: 
1417: typedef int __kernel_daddr_t;
1417: 
1417: 
1417: 
1417: typedef unsigned int __kernel_uid32_t;
1417: typedef unsigned int __kernel_gid32_t;
1417: 
1417: 
1417: 
1417: typedef __kernel_uid_t __kernel_old_uid_t;
1417: typedef __kernel_gid_t __kernel_old_gid_t;
1417: # 68 "/usr/include/asm-generic/posix_types.h" 3 4
1417: typedef unsigned int __kernel_size_t;
1417: typedef int __kernel_ssize_t;
1417: typedef int __kernel_ptrdiff_t;
1417: # 79 "/usr/include/asm-generic/posix_types.h" 3 4
1417: typedef struct {
1417:  int val[2];
1417: } __kernel_fsid_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef __kernel_long_t __kernel_off_t;
1417: typedef long long __kernel_loff_t;
1417: typedef __kernel_long_t __kernel_old_time_t;
1417: typedef __kernel_long_t __kernel_time_t;
1417: typedef long long __kernel_time64_t;
1417: typedef __kernel_long_t __kernel_clock_t;
1417: typedef int __kernel_timer_t;
1417: typedef int __kernel_clockid_t;
1417: typedef char * __kernel_caddr_t;
1417: typedef unsigned short __kernel_uid16_t;
1417: typedef unsigned short __kernel_gid16_t;
1417: # 37 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 2 3 4
1417: # 37 "/usr/include/linux/posix_types.h" 2 3 4
1417: # 10 "/usr/include/linux/types.h" 2 3 4
1417: # 27 "/usr/include/linux/types.h" 3 4
1417: typedef __u16 __le16;
1417: typedef __u16 __be16;
1417: typedef __u32 __le32;
1417: typedef __u32 __be32;
1417: typedef __u64 __le64;
1417: typedef __u64 __be64;
1417: 
1417: typedef __u16 __sum16;
1417: typedef __u32 __wsum;
1417: # 50 "/usr/include/linux/types.h" 3 4
1417: typedef unsigned __poll_t;
1417: # 6 "/usr/include/linux/stat.h" 2 3 4
1417: # 56 "/usr/include/linux/stat.h" 3 4
1417: struct statx_timestamp {
1417:  __s64 tv_sec;
1417:  __u32 tv_nsec;
1417:  __s32 __reserved;
1417: };
1417: # 99 "/usr/include/linux/stat.h" 3 4
1417: struct statx {
1417: 
1417:  __u32 stx_mask;
1417:  __u32 stx_blksize;
1417:  __u64 stx_attributes;
1417: 
1417:  __u32 stx_nlink;
1417:  __u32 stx_uid;
1417:  __u32 stx_gid;
1417:  __u16 stx_mode;
1417:  __u16 __spare0[1];
1417: 
1417:  __u64 stx_ino;
1417:  __u64 stx_size;
1417:  __u64 stx_blocks;
1417:  __u64 stx_attributes_mask;
1417: 
1417:  struct statx_timestamp stx_atime;
1417:  struct statx_timestamp stx_btime;
1417:  struct statx_timestamp stx_ctime;
1417:  struct statx_timestamp stx_mtime;
1417: 
1417:  __u32 stx_rdev_major;
1417:  __u32 stx_rdev_minor;
1417:  __u32 stx_dev_major;
1417:  __u32 stx_dev_minor;
1417: 
1417:  __u64 stx_mnt_id;
1417:  __u64 __spare2;
1417: 
1417:  __u64 __spare3[12];
1417: 
1417: };
1417: # 32 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 1 3 4
1417: # 25 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_statx_timestamp.h" 1 3 4
1417: # 26 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 2 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_statx.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 2 3 4
1417: # 57 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: int statddon,
1434:                 AddonType type,
1434:                 OnlyEnabled onlyEnabled) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool GetAddon(const std::string& id, AddonPtr& addon, OnlyEnabled onlyEnabled) const;
1434: 
1434:   bool HasType(const std::string& id, AddonType type);
1434: 
1434:   bool HasAddons(AddonType type);
1434: 
1434:   bool HasInstalledAddons(AddonType type);
1434: 
1434: 
1434:   bool GetAddonsForUpdate(VECADDONS& addons) const;
1434: 
1434: 
1434:   bool GetAddons(VECADDONS& addons) const;
1434: 
1434: 
1434:   bool GetAddons(VECADDONS& addons, AddonType type);
1434: 
1434: 
1434:   bool GetInstalledAddons(VECADDONS& addons);
1434: 
1434: 
1434:   bool GetInstalledAddons(VECADDONS& addons, AddonType type);
1434: 
1434:   bool GetDisabledAddons(VECADDONS& addons);
1434: 
1434:   bool GetDisabledAddons(VECADDONS& addons, AddonType type);
1434: 
1434: 
1434:   bool GetInstallableAddons(VECADDONS& addons);
1434: 
1434:   bool GetInstallableAddons(VECADDONS& addons, AddonType type);
1434: # 163 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool FindInstallableById(const std::string& addonId, AddonPtr& addon);
1434: 
1434:   void AddToUpdateableAddons(AddonPtr& pAddon);
1434:   void RemoveFromUpdateableAddons(AddonPtr& pAddon);
1434:   bool ReloadSettings(const std::string& addonId, AddonInstanceId instanceId);
1434: 
1434: 
1434:   std::vector<std::shared_ptr<IAddon>> GetAvailableUpdates() const;
1434: 
1434: 
1434:   std::vector<std::shared_ptr<IAddon>> GetOutdatedAddons() const;
1434: 
1434: 
1434:   bool HasAvailableUpdates();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsOrphaned(const std::shared_ptr<IAddon>& addon,
1434:                   const std::vector<std::shared_ptr<IAddon>>& allAddons) const;
1434: 
1434: 
1434: 
1434: 
1434:   bool FindAddons();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool FindAddon(const std::string& addonId,
1434:                  const std::string& origin,
1434:                  const CAddonVersion& addonVersion);
1434: # 209 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool GetIncompatibleEnabledAddonInfos(std::vector<AddonInfoPtr>& incompatible) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<AddonInfoPtr> MigrateAddons();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<AddonInfoPtr> DisableIncompatibleAddons(
1434:       const std::vector<AddonInfoPtr>& incompatible);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void CheckAndInstallAddonUpdates(bool wait) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool UnloadAddon(const std::string& addonId);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool LoadAddon(const std::string& addonId,
1434:                  const std::string& origin,
1434:                  const CAddonVersion& addonVersion);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void OnPostUnInstall(const std::string& id);
1434: 
1434: 
1434:   bool DisableAddon(const std::string& ID, AddonDisabledReason disabledReason);
1434: 
1434: 
1434:   bool UpdateDisabledReason(const std::string& id, AddonDisabledReason newDisabledReason);
1434: 
1434: 
1434:   bool EnableAddon(const std::string& ID);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsAddonDisabled(const std::string& ID) const;
1434: # 281 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool IsAddonDisabledExcept(const std::string& ID, AddonDisabledReason disabledReason) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool CanAddonBeDisabled(const std::string& ID);
1434: 
1434:   bool CanAddonBeEnabled(const std::string& id);
1434: 
1434: 
1434: 
1434: 
1434:   bool IsAddonInstalled(const std::string& ID);
1434: # 303 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool IsAddonInstalled(const std::string& ID, const std::string& origin) const;
1434: # 313 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool IsAddonInstalled(const std::string& ID,
1434:       ator __last)
1115:     -> iterator
1115:     {
1115:       __node_ptr __n = __first._M_cur;
1115:       __node_ptr __last_n = __last._M_cur;
1115:       if (__n == __last_n)
1115:  return iterator(__n);
1115: 
1115:       std::size_t __bkt = _M_bucket_index(*__n);
1115: 
1115:       __node_base_ptr __prev_n = _M_get_previous_node(__bkt, __n);
1115:       bool __is_bucket_begin = __n == _M_bucket_begin(__bkt);
1115:       std::size_t __n_bkt = __bkt;
1115:       for (;;)
1115:  {
1115:    do
1115:      {
1115:        __node_ptr __tmp = __n;
1115:        __n = __n->_M_next();
1115:        this->_M_deallocate_node(__tmp);
1115:        --_M_element_count;
1115:        if (!__n)
1115:   break;
1115:        __n_bkt = _M_bucket_index(*__n);
1115:      }
1115:    while (__n != __last_n && __n_bkt == __bkt);
1115:    if (__is_bucket_begin)
1115:      _M_remove_bucket_begin(__bkt, __n, __n_bkt);
1115:    if (__n == __last_n)
1115:      break;
1115:    __is_bucket_begin = true;
1115:    __bkt = __n_bkt;
1115:  }
1115: 
1115:       if (__n && (__n_bkt != __bkt || __is_bucket_begin))
1115:  _M_buckets[__n_bkt] = __prev_n;
1115:       __prev_n->_M_nxt = __n;
1115:       return iterator(__n);
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     clear() noexcept
1115:     {
1115:       this->_M_deallocate_nodes(_M_begin());
1115:       __builtin_memset(_M_buckets, 0,
1115:          _M_bucket_count * sizeof(__node_base_ptr));
1115:       _M_element_count = 0;
1115:       _M_before_begin._M_nxt = nullptr;
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     rehash(size_type __bkt_count)
1115:     {
1115:       const __rehash_state& __saved_state = _M_rehash_policy._M_state();
1115:       __bkt_count
1115:  = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1),
1115:      __bkt_count);
1115:       __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count);
1115: 
1115:       if (__bkt_count != _M_bucket_count)
1115:  _M_rehash(__bkt_count, __saved_state);
1115:       else
1115: 
1115: 
1115:  _M_rehash_policy._M_reset(__saved_state);
1115:     }
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_rehash(size_type __bkt_count, const __rehash_state& __state)
1115:     {
1115:       try
1115:  {
1115:    _M_rehash_aux(__bkt_count, __unique_keys{});
1115:  }
1115:       catch(...)
1115:  {
1115: 
1115: 
1115:    _M_rehash_policy._M_reset(__state);
1115:    throw;
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_rehash_aux(size_type __bkt_count, true_type )
1115:     {
1115:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1115:       __node_ptr __p = _M_begin();
1115:       _M_before_begin._M_nxt = nullx (int __dirfd, const char *__restrict __path, int __flags,
1417:            unsigned int __mask, struct statx *__restrict __buf)
1417:   noexcept (true) __attribute__ ((__nonnull__ (2, 5)));
1417: 
1417: }
1417: # 40 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 2 3 4
1417: # 466 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 2 3 4
1417: 
1417: 
1417: }
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1417: # 1 "/usr/include/fcntl.h" 1 3 4
1417: # 28 "/usr/include/fcntl.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/fcntl.h" 1 3 4
1417: # 28 "/usr/include/arm-linux-gnueabihf/bits/fcntl.h" 3 4
1417: struct flock
1417:   {
1417:     short int l_type;
1417:     short int l_whence;
1417: 
1417: 
1417: 
1417: 
1417:     __off64_t l_start;
1417:     __off64_t l_len;
1417: 
1417:     __pid_t l_pid;
1417:   };
1417: 
1417: 
1417: struct flock64
1417:   {
1417:     short int l_type;
1417:     short int l_whence;
1417:     __off64_t l_start;
1417:     __off64_t l_len;
1417:     __pid_t l_pid;
1417:   };
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 1 3 4
1417: # 38 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_iovec.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/struct_iovec.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/types/struct_iovec.h" 2 3 4
1417: 
1417: 
1417: struct iovec
1417:   {
1417:     void *iov_base;
1417:     size_t iov_len;
1417:   };
1417: # 39 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 2 3 4
1417: # 265 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1417: enum __pid_type
1417:   {
1417:     F_OWNER_TID = 0,
1417:     F_OWNER_PID,
1417:     F_OWNER_PGRP,
1417:     F_OWNER_GID = F_OWNER_PGRP
1417:   };
1417: 
1417: 
1417: struct f_owner_ex
1417:   {
1417:     enum __pid_type type;
1417:     __pid_t pid;
1417:   };
1417: # 354 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1417: # 1 "/usr/include/linux/falloc.h" 1 3 4
1417: # 355 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 2 3 4
1417: 
1417: 
1417: 
1417: struct file_handle
1417: {
1417:   unsigned int handle_bytes;
1417:   int handle_type;
1417: 
1417:   unsigned char f_handle[0];
1417: };
1417: # 393 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
1417:     noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
1417:        unsigned int __flags);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov,
1417:       size_t __count, unsigned int __flags);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
1417:     __off64_t *__offout, size_t __len,
1417:     unsigned int __flags);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __ssize_t tee (int __fdin, int __fdout, size_t __len,
1417:         unsigned int __flags);
1417: # 440 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1417: extern int fallocate (int __fd, int __mode, __off64_t __offset, __off64_t __len) __asm__ ("" "fallocate64")
1417: 
1417:                      ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
1417:    __off64_t __len);
1417: 
1417: 
1417: 
1417: 
1417: extern int name_to_handle_at (int __dfd, const char *__name,
1417:          struct file_handle *__handle, int *__mnt_id,
1417:          int __flags) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
1417:          int __flags);
1417: 
1417: 
1417: 
1417: }
1417: # 55 "/usr/include/arm-linux-gnuea                  const std::string& origin,
1434:                         const CAddonVersion& version);
1434: 
1434: 
1434: 
1434: 
1434:   bool CanAddonBeInstalled(const AddonPtr& addon);
1434: 
1434:   bool CanUninstall(const AddonPtr& addon);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsBundledAddon(const std::string& id);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsSystemAddon(const std::string& id);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsRequiredSystemAddon(const std::string& id);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsOptionalSystemAddon(const std::string& id);
1434: # 370 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool AddUpdateRuleToList(const std::string& id, AddonUpdateRule updateRule);
1434: 
1434: 
1434: 
1434: 
1434:   bool RemoveAllUpdateRulesFromList(const std::string& id);
1434: 
1434: 
1434: 
1434: 
1434:   bool RemoveUpdateRuleFromList(const std::string& id, AddonUpdateRule updateRule);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsAutoUpdateable(const std::string& id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void PublishEventAutoUpdateStateChanged(const std::string& id);
1434:   void UpdateLastUsed(const std::string& id);
1434: # 406 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   void PublishInstanceAdded(const std::string& addonId, AddonInstanceId instanceId);
1434: # 416 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   void PublishInstanceRemoved(const std::string& addonId, AddonInstanceId instanceId);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool LoadAddonDescription(const std::string& path, AddonPtr& addon);
1434: 
1434:   bool ServicesHasStarted() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsCompatible(const IAddon& addon) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsCompatible(const AddonInfoPtr& addonInfo) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<DependencyInfo> GetDepsRecursive(const std::string& id,
1434:                                                OnlyEnabledRootAddon onlyEnabledRootAddon);
1434: # 462 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool GetAddonInfos(std::vector<AddonInfoPtr>& addonInfos, bool onlyEnabled, AddonType type) const;
1434: # 475 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   std::vector<AddonInfoPtr> GetAddonInfos(bool onlyEnabled,
1434:                                           const std::vector<AddonType>& types) const;
1434: # 489 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool GetDisabledAddonInfos(std::vector<AddonInfoPtr>& addonInfos, AddonType type) const;
1434: # 507 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool GetDisabledAddonInfos(std::vector<AddonInfoPtr>& addonInfos,
1434:                              AddonType type,
1434:                              AddonDisabledReason disabledReason) const;
1434: 
1434:   const AddonInfoPtr GetAddonInfo(const std::string& id, AddonType type) const;
1434: # 520 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   const std::string& GetTempAddonBasePath() { return m_tempAddonBasePath; }
1434: 
1434:   AddonOriginType GetAddonOriginType(const AddonPtr& addon) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsAddonDisabledWithReason(const std::string& ID, AddonDisabledReason disabledReason) const;
1434: # 560 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool SetAddonOrigin(const std::string& addonId, const std::string& repoAddonId, bool isUpdate);
1434: # 575 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool AddonsFromRepoXML(const RepositoryDirInfo& repo,
1434:                          const std::string& xml,
1434:                          std::vector<AddonInfoPtr>& addons);
1434: # 586 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   std::map<std::string, AddonWithUpdate> GetAddonsWithAvailableUpdate() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<std::shared_ptr<IAddon>> GetCompatibleVersions(const std::string& addonId) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   const std::string& GetLastAvailableUpdatesCountAsString() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<std::shared_ptr<IAddon>> GetOrphanedDependencies() const;
1434: 
1434: private:
1434:   CAddonMgr& operator=(CAddonMgr const&) = delete;
1434: 
1434:   VECADDONS m_updateableAddons;
1434: # 621 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   std::vector<std::shared_ptr<IAddon>> GetAvailableUpdatesOrOutdatedAddons(
1434:       AddonCheckType addonCheckType) const;
1434: 
1434:   bool GetAddonsInternal(AddonType type,
1434:                          VECADDONS& addons,
1434:                          OnlyEnabled onlyEnabled,
1434:                          CheckIncompatible checkIncompatible) const;
1434: 
1434:   bool EnableSingle(const std::string& id);
1434: 
1434:   void FindAddons(ADDON_INFO_LIST& addonmap, const std::string& path);
1434: # 641 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   bool GetIncompatibleAddonInfos(std::vector<AddonInfoPtr>& incompatible,
1434:                                  bool includeDisabled) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool GetAddonUpdateCandidates(VECADDONS& updates) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SortByDependencies(VECADDONS& updates) const;
1434: # 664 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1434:   void InstallAddonUpdates(VECADDONS& updates,
1434:                            bool wait,
1434:                            AllowCheckForUpdates allowCheckForUpdates) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   mutable std::mutex m_installAddonsMutex;
1434: 
1434:   std::map<std::string, AddonDisabledReason> m_disabled;
1434:   static std::map<AddonType, IAddonMgrCallback*> m_managers;
1434:   mutable CCriticalSection m_critSection;
1434:   std::unique_ptr<CAddonDatabase> m_database;
1434:   std::unique_ptr<CAddonUpdateRules> m_updateRules;
1434:   CEventSource<AddonEvent> m_events;
1434:   CBlockingEventSource<AddonEvent> m_unloadEvents;
1434:   std::set<std::string> m_systemAddons;
1434:   std::set<std::string> m_optionalSystemAddons;
1434:   ADDON_INFO_LIST m_installedAddons;
1434: 
1434: 
1434:   const std::string m_tempAddonBasePath = "special://temp/addons";
1434: 
1434: 
1434: 
1434: 
1434:   mutable std::string m_lastAvailableUpdatesCountAsString;
1434:   mutable std::mutex m_lastAvailableUpdatesCountMutex;
1434: };
1434: 
1434: };
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h"
1434:        
1434: 
1434: # 1 "/usr/include/c++/12/stdlib.h" 1 3
1434: # 36 "/usr/include/c++/12/stdlib.h" 3
1434: # 1 "/usr/include/c++/12/cstdlib" 1 3
1434: # 39 "/usr/include/c++/12/cstdlib" 3
1434:        
1434: # 40 "/usr/include/c++/12/cstdlib" 3
1434: # 37 "/usr/include/c++/12/stdlib.h" 2 3
1434: 
1434: 
1434: # 38 "/usr/include/c++/12/stdlib.h" 3
1434: using std::abort;
1434: using std::atexit;
1434: using std::exit;
1434: 
1434: 
1434:   using std::at_quick_exit;
1434: 
1434: 
1434:   using std::quick_exit;
1434: 
1434: 
1434: 
1434: 
1434: using std::div_t;
1434: using std::ldiv_t;
1434: 
1434: using std::abs;
1434: using std::atof;
1434: using std::atoi;
1434: using std::atol;
1434: using std::bsearch;
1434: using std::calloc;
1434: using std::div;
1434: using std::free;
1434: using std::getenv;
1434: using std::labs;
1434: using std::ldiv;
1434: using std::malloc;
1434: 
1434: using std::mblptr;
1115:       std::size_t __bbegin_bkt = 0;
1115:       while (__p)
1115:  {
1115:    __node_ptr __next = __p->_M_next();
1115:    std::size_t __bkt
1115:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1115:    if (!__new_buckets[__bkt])
1115:      {
1115:        __p->_M_nxt = _M_before_begin._M_nxt;
1115:        _M_before_begin._M_nxt = __p;
1115:        __new_buckets[__bkt] = &_M_before_begin;
1115:        if (__p->_M_nxt)
1115:   __new_buckets[__bbegin_bkt] = __p;
1115:        __bbegin_bkt = __bkt;
1115:      }
1115:    else
1115:      {
1115:        __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1115:        __new_buckets[__bkt]->_M_nxt = __p;
1115:      }
1115: 
1115:    __p = __next;
1115:  }
1115: 
1115:       _M_deallocate_buckets();
1115:       _M_bucket_count = __bkt_count;
1115:       _M_buckets = __new_buckets;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Value, typename _Alloc,
1115:     typename _ExtractKey, typename _Equal,
1115:     typename _Hash, typename _RangeHash, typename _Unused,
1115:     typename _RehashPolicy, typename _Traits>
1115:     void
1115:     _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
1115:         _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::
1115:     _M_rehash_aux(size_type __bkt_count, false_type )
1115:     {
1115:       __buckets_ptr __new_buckets = _M_allocate_buckets(__bkt_count);
1115:       __node_ptr __p = _M_begin();
1115:       _M_before_begin._M_nxt = nullptr;
1115:       std::size_t __bbegin_bkt = 0;
1115:       std::size_t __prev_bkt = 0;
1115:       __node_ptr __prev_p = nullptr;
1115:       bool __check_bucket = false;
1115: 
1115:       while (__p)
1115:  {
1115:    __node_ptr __next = __p->_M_next();
1115:    std::size_t __bkt
1115:      = __hash_code_base::_M_bucket_index(*__p, __bkt_count);
1115: 
1115:    if (__prev_p && __prev_bkt == __bkt)
1115:      {
1115: 
1115: 
1115: 
1115:        __p->_M_nxt = __prev_p->_M_nxt;
1115:        __prev_p->_M_nxt = __p;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:        __check_bucket = true;
1115:      }
1115:    else
1115:      {
1115:        if (__check_bucket)
1115:   {
1115: 
1115: 
1115:     if (__prev_p->_M_nxt)
1115:       {
1115:         std::size_t __next_bkt
1115:    = __hash_code_base::_M_bucket_index(
1115:      *__prev_p->_M_next(), __bkt_count);
1115:         if (__next_bkt != __prev_bkt)
1115:    __new_buckets[__next_bkt] = __prev_p;
1115:       }
1115:     __check_bucket = false;
1115:   }
1115: 
1115:        if (!__new_buckets[__bkt])
1115:   {
1115:     __p->_M_nxt = _M_before_begin._M_nxt;
1115:     _M_before_begin._M_nxt = __p;
1115:     __new_buckets[__bkt] = &_M_before_begin;
1115:     if (__p->_M_nxt)
1115:       __new_buckets[__bbegin_bkt] = __p;
1115:     __bbegin_bkt = __bkt;
1115:   }
1115:        else
1115:   {
1115:     __p->_M_nxt = __new_buckets[__bkt]->_M_nxt;
1115:     __new_buckets[__bkt]->_M_nxt = __p;
1115:   }
1115:      }
1115:    __prev_p = __p;
1115:    __prev_bkt = __bkt;
1115:    __p = __next;
1115:  }
1115: 
1115:       if (__check_bucket && __prev_p->_M_nxt)
1115:  {
1115:    std::size_t __next_bkt
1115:      = __hash_code_base::_M_bucket_index(*__prev_p->_M_next(),
1115:       __bkt_count);
1115:    if (__next_bkt != __prev_bkt)
1115:      __new_buckets[__next_bkt] = __prev_p;
1115:  }
1115: 
1115:       _M_deallocate_buckets();
1115:       _M_bucket_count = __bkt_count;
1115:       _M_buckets = __new_buckets;
1115:     }
1115: 
1115: 
1115:   template<typename, typename, typename> class _Hash_merge_helper { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Hash>
1115:     using _RequireNotAllocatorOrIntegral
1115:       = __enable_if_t<!__or_<is_integral<_Hash>, __is_allocator<_Hash>>::value>;
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 47 "/usr/include/c++/12/unordered_map" 2 3
1115: # 1 "/usr/include/c++/12/bits/unordered_map.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/unordered_map.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template<boen;
1434: using std::mbstowcs;
1434: using std::mbtowc;
1434: 
1434: using std::qsort;
1434: using std::rand;
1434: using std::realloc;
1434: using std::srand;
1434: using std::strtod;
1434: using std::strtol;
1434: using std::strtoul;
1434: using std::system;
1434: 
1434: using std::wcstombs;
1434: using std::wctomb;
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h" 2
1434: 
1434: 
1434: 
1434: 
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h"
1434: namespace ADDON
1434: {
1434: 
1434: class CAddonInfoBuilder;
1434: class CAddonDatabaseSerializer;
1434: 
1434: struct SExtValue
1434: {
1434:   explicit SExtValue(const std::string& strValue) : str(strValue) { }
1434:   const std::string& asString() const { return str; }
1434:   bool asBoolean() const;
1434:   int asInteger() const { return std::atoi(str.c_str()); }
1434:   float asFloat() const { return static_cast<float>(std::atof(str.c_str())); }
1434:   bool empty() const { return str.empty(); }
1434:   const std::string str;
1434: };
1434: 
1434: class CExtValues;
1434: class CAddonExtensions;
1434: typedef std::vector<std::pair<std::string, CAddonExtensions>> EXT_ELEMENTS;
1434: typedef std::vector<std::pair<std::string, SExtValue>> EXT_VALUE;
1434: typedef std::vector<std::pair<std::string, CExtValues>> EXT_VALUES;
1434: 
1434: class CExtValues : public EXT_VALUE
1434: {
1434: public:
1434:   CExtValues(const EXT_VALUE& values) : EXT_VALUE(values) { }
1434: 
1434:   const SExtValue GetValue(const std::string& id) const
1434:   {
1434:     for (const auto& value : *this)
1434:     {
1434:       if (value.first == id)
1434:         return value.second;
1434:     }
1434:     return SExtValue("");
1434:   }
1434: };
1434: 
1434: class CAddonExtensions
1434: {
1434: public:
1434:   CAddonExtensions() = default;
1434:   ~CAddonExtensions() = default;
1434: 
1434:   const SExtValue GetValue(const std::string& id) const;
1434:   const EXT_VALUES& GetValues() const;
1434:   const CAddonExtensions* GetElement(const std::string& id) const;
1434:   const EXT_ELEMENTS GetElements(const std::string& id = "") const;
1434: 
1434:   void Insert(const std::string& id, const std::string& value);
1434: 
1434: private:
1434:   friend class CAddonInfoBuilder;
1434:   friend class CAddonDatabaseSerializer;
1434: 
1434:   std::string m_point;
1434:   EXT_VALUES m_values;
1434:   EXT_ELEMENTS m_children;
1434: };
1434: 
1434: }
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h" 2
1434: 
1434: 
1434: 
1434: 
1434: class TiXmlElement;
1434: 
1434: namespace ADDON
1434: {
1434: 
1434: enum class AddonType
1434: {
1434:   UNKNOWN = 0,
1434:   VISUALIZATION,
1434:   SKIN,
1434:   PVRDLL,
1434:   INPUTSTREAM,
1434:   GAMEDLL,
1434:   PERIPHERALDLL,
1434:   SCRIPT,
1434:   SCRIPT_WEATHER,
1434:   SUBTITLE_MODULE,
1434:   SCRIPT_LYRICS,
1434:   SCRAPER_ALBUMS,
1434:   SCRAPER_ARTISTS,
1434:   SCRAPER_MOVIES,
1434:   SCRAPER_MUSICVIDEOS,
1434:   SCRAPER_TVSHOWS,
1434:   SCREENSAVER,
1434:   PLUGIN,
1434:   REPOSITORY,
1434:   WEB_INTERFACE,
1434:   SERVICE,
1434:   AUDIOENCODER,
1434:   CONTEXTMENU_ITEM,
1434:   AUDIODECODER,
1434:   RESOURCE_IMAGES,
1434:   RESOURCE_LANGUAGE,
1434:   RESOURCE_TIMEZONE,
1434:   RESOURCE_UISOUNDS,
1434:   RESOURCE_GAMES,
1434:   RESOURCE_FONT,
1434:   VFS,
1434:   IMAGEDECODER,
1434:   SCRAPER_LIBRARY,
1434:   SCRIPT_LIBRARY,
1434:   SCRIPT_MODULE,
1434:   GAME_CONTROLLER,
1434:   VIDEOCODEC,
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   VIDEO,
1434:   AUDIO,
1434:   IMAGE,
1434:   EXECUTABLE,
1434:   GAME,
1434: 
1434: 
1434:   MAX_TYPES
1434: };
1434: 
1434: class CAddonInfoBuilder;
1434: class CAddonDatabaseSerializer;
1434: 
1434: class CAddonType : public CAddonExtensions
1434: {
1434: public:
1434:   CAddonType(AddonType type = AddonType::UNKNOWN) : m_type(type) {}
1434: 
1434:   AddonType Type() const { return m_type; }
1434:   std::string LibPath() const;
1434:   const std::string& LibName() const { return m_libname; }
1434: 
1434:   bool ProvidesSubContent(cbihf/bits/fcntl.h" 2 3 4
1417: # 36 "/usr/include/fcntl.h" 2 3 4
1417: # 78 "/usr/include/fcntl.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 1 3 4
1417: # 79 "/usr/include/fcntl.h" 2 3 4
1417: # 152 "/usr/include/fcntl.h" 3 4
1417: extern int fcntl (int __fd, int __cmd, ...) __asm__ ("" "fcntl64");
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fcntl64 (int __fd, int __cmd, ...);
1417: # 184 "/usr/include/fcntl.h" 3 4
1417: extern int open (const char *__file, int __oflag, ...) __asm__ ("" "open64")
1417:      __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int open64 (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
1417: # 209 "/usr/include/fcntl.h" 3 4
1417: extern int openat (int __fd, const char *__file, int __oflag, ...) __asm__ ("" "openat64")
1417:                     __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int openat64 (int __fd, const char *__file, int __oflag, ...)
1417:      __attribute__ ((__nonnull__ (2)));
1417: # 230 "/usr/include/fcntl.h" 3 4
1417: extern int creat (const char *__file, mode_t __mode) __asm__ ("" "creat64")
1417:                   __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int creat64 (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1)));
1417: # 259 "/usr/include/fcntl.h" 3 4
1417: extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64");
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int lockf64 (int __fd, int __cmd, off64_t __len);
1417: # 277 "/usr/include/fcntl.h" 3 4
1417: extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) noexcept (true) __asm__ ("" "posix_fadvise64")
1417: 
1417:                       ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len,
1417:        int __advise) noexcept (true);
1417: # 298 "/usr/include/fcntl.h" 3 4
1417: extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64")
1417: 
1417:                            ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/fcntl2.h" 1 3 4
1417: # 30 "/usr/include/arm-linux-gnueabihf/bits/fcntl2.h" 3 4
1417: extern int __open_2 (const char *__path, int __oflag) __asm__ ("" "__open64_2")
1417:                      __attribute__ ((__nonnull__ (1)));
1417: extern int __open_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64")
1417:                  __attribute__ ((__nonnull__ (1)));
1417: 
1417: extern void __open_too_many_args (void) __attribute__((__error__ ("open can be called either with 2 or 3 arguments, not more")))
1417:                                                                   ;
1417: extern void __open_missing_mode (void) __attribute__((__error__ ("open with O_CREAT or O_TMPFILE in second argument needs 3 arguments")))
1417:                                                                             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: open (const char *__path, int __oflag, ...)
1417: {
1417:   if (__builtin_va_arg_pack_len () > 1)
1417:     __open_too_many_args ();
1417: 
1417:   if (__builtin_constant_p (__oflag))
1417:     {
1417:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1417:  {
1417:    __open_missing_mode ();
1417:    return __open_2 (__path, __oflag);
1417:  }
1417:       return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
1417:     }
1417: 
1417:   if (__builtin_va_arg_pack_len () < 1)
1417:     return __open_2 (__path, __oflag);
1417: 
1417:   return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
1417: }
1417: 
1417: 
1417: 
1417: extern int __open64_2 (coonst AddonType& content) const
1434:   {
1434:     return content == AddonType::UNKNOWN
1434:                ? false
1434:                : m_type == content || m_providedSubContent.count(content) > 0;
1434:   }
1434: 
1434:   bool ProvidesSeveralSubContents() const
1434:   {
1434:     return m_providedSubContent.size() > 1;
1434:   }
1434: 
1434:   size_t ProvidedSubContents() const
1434:   {
1434:     return m_providedSubContent.size();
1434:   }
1434: # 111 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h"
1434:   static bool IsDependencyType(AddonType type);
1434: 
1434: private:
1434:   friend class CAddonInfoBuilder;
1434:   friend class CAddonInfoBuilderFromDB;
1434:   friend class CAddonDatabaseSerializer;
1434: 
1434:   void SetProvides(const std::string& content);
1434: 
1434:   AddonType m_type;
1434:   std::string m_path;
1434:   std::string m_libname;
1434:   std::set<AddonType> m_providedSubContent;
1434: };
1434: 
1434: }
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIDialogAddonSettings.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIDialogAddonSettings.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CDateTime;
1434: class TiXmlElement;
1434: 
1434: namespace ADDON
1434: {
1434: enum class AddonInstanceSupport;
1434: enum class AddonLifecycleState;
1434: enum class AddonType;
1434: 
1434: class CAddonMgr;
1434: class CAddonSettings;
1434: class CAddonVersion;
1434: 
1434: struct DependencyInfo;
1434: 
1434: using AddonInstanceId = uint32_t;
1434: 
1434: constexpr const char* ADDON_SETTING_INSTANCE_GROUP = "kodi_addon_instance";
1434: constexpr const char* ADDON_SETTING_INSTANCE_NAME_VALUE = "kodi_addon_instance_name";
1434: constexpr const char* ADDON_SETTING_INSTANCE_ENABLED_VALUE = "kodi_addon_instance_enabled";
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr AddonInstanceId ADDON_SINGLETON_INSTANCE_ID = 0;
1434: 
1434: 
1434: 
1434: 
1434: constexpr AddonInstanceId ADDON_FIRST_INSTANCE_ID = 1;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr AddonInstanceId ADDON_INSTANCE_ID_UNUSED = ADDON_SINGLETON_INSTANCE_ID;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr AddonInstanceId ADDON_SETTINGS_ID = ADDON_SINGLETON_INSTANCE_ID;
1434: 
1434: constexpr char const* ORIGIN_SYSTEM = "b6a50484-93a0-4afb-a01c-8d17e059feda";
1434: 
1434: class IAddon;
1434: typedef std::shared_ptr<IAddon> AddonPtr;
1434: typedef std::vector<AddonPtr> VECADDONS;
1434: 
1434: using InfoMap = std::map<std::string, std::string>;
1434: using ArtMap = std::map<std::string, std::string>;
1434: 
1434: class IAddon : public std::enable_shared_from_this<IAddon>
1434: {
1434: public:
1434:   virtual ~IAddon() = default;
1434:   virtual AddonType MainType() const = 0;
1434:   virtual AddonType Type() const = 0;
1434:   virtual bool HasType(AddonType type) const = 0;
1434:   virtual bool HasMainType(AddonType type) const = 0;
1434:   virtual std::string ID() const = 0;
1434:   virtual std::string Name() const = 0;
1434:   virtual bool IsInUse() const = 0;
1434:   virtual bool IsBinary() const = 0;
1434:   virtual CAddonVersion Version() const = 0;
1434:   virtual CAddonVersion MinVersion() const = 0;
1434:   virtual std::string Summary() const = 0;
1434:   virtual std::string Description() const = 0;
1434:   virtual std::string Path() const = 0;
1434:   virtual std::string Profile() const = 0;
1434:   virtual std::string LibPath() const = 0;
1434:   virtual std::string ChangeLog() const = 0;
1434:   virtual std::string FanArt() const = 0;
1434:   virtual ArtMap Art() const = 0;
1434:   virtual std::vector<std::string> Screenshots() const = 0;
1434:   virtual std::string Author() const = 0;
1434:   virtual std::string Icon() const = 0;
1434:   virtual std::string Disclaimer() const = 0;
1434:   virtual Aol _Cache>
1115:     using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>;
1115: 
1115:   template<typename _Key,
1115:     typename _Tp,
1115:     typename _Hash = hash<_Key>,
1115:     typename _Pred = std::equal_to<_Key>,
1115:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1115:     typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>>
1115:     using __umap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1115:                                         _Alloc, __detail::_Select1st,
1115:             _Pred, _Hash,
1115:             __detail::_Mod_range_hashing,
1115:             __detail::_Default_ranged_hash,
1115:             __detail::_Prime_rehash_policy, _Tr>;
1115: 
1115: 
1115:   template<bool _Cache>
1115:     using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>;
1115: 
1115:   template<typename _Key,
1115:     typename _Tp,
1115:     typename _Hash = hash<_Key>,
1115:     typename _Pred = std::equal_to<_Key>,
1115:     typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
1115:     typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>>
1115:     using __ummap_hashtable = _Hashtable<_Key, std::pair<const _Key, _Tp>,
1115:       _Alloc, __detail::_Select1st,
1115:       _Pred, _Hash,
1115:       __detail::_Mod_range_hashing,
1115:       __detail::_Default_ranged_hash,
1115:       __detail::_Prime_rehash_policy, _Tr>;
1115: 
1115:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1115:     class unordered_multimap;
1115: # 98 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:   template<typename _Key, typename _Tp,
1115:     typename _Hash = hash<_Key>,
1115:     typename _Pred = equal_to<_Key>,
1115:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1115:     class unordered_map
1115:     {
1115:       typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1115:       _Hashtable _M_h;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef typename _Hashtable::key_type key_type;
1115:       typedef typename _Hashtable::value_type value_type;
1115:       typedef typename _Hashtable::mapped_type mapped_type;
1115:       typedef typename _Hashtable::hasher hasher;
1115:       typedef typename _Hashtable::key_equal key_equal;
1115:       typedef typename _Hashtable::allocator_type allocator_type;
1115: 
1115: 
1115: 
1115: 
1115:       typedef typename _Hashtable::pointer pointer;
1115:       typedef typename _Hashtable::const_pointer const_pointer;
1115:       typedef typename _Hashtable::reference reference;
1115:       typedef typename _Hashtable::const_reference const_reference;
1115:       typedef typename _Hashtable::iterator iterator;
1115:       typedef typename _Hashtable::const_iterator const_iterator;
1115:       typedef typename _Hashtable::local_iterator local_iterator;
1115:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1115:       typedef typename _Hashtable::size_type size_type;
1115:       typedef typename _Hashtable::difference_type difference_type;
1115: 
1115: 
1115: 
1115:       using node_type = typename _Hashtable::node_type;
1115:       using insert_return_type = typename _Hashtable::insert_return_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unordered_map() = default;
1115: # 150 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       explicit
1115:       unordered_map(size_type __n,
1115:       const hasher& __hf = hasher(),
1115:       const key_equal& __eql = key_equal(),
1115:       const allocator_type& __a = allocator_type())
1115:       : _M_h(__n, __hf, __eql, __a)
1115:       { }
1115: # 171 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename _InputIterator>
1115:  unordered_map(_InputIterator __first, _InputIterator __last,
1115:         size_type __n = 0,
1115:         const hasher& __hf = hasher(),
1115:         const key_equal& __eql = key_equal(),
1115:         const allocator_type& __a = allocator_type())
1115:  : _M_h(__first, __last, __n, __hf, __eql, __anst char *__path, int __oflag) __attribute__ ((__nonnull__ (1)));
1417: extern int __open64_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64")
1417:                    __attribute__ ((__nonnull__ (1)));
1417: extern void __open64_too_many_args (void) __attribute__((__error__ ("open64 can be called either with 2 or 3 arguments, not more")))
1417:                                                                     ;
1417: extern void __open64_missing_mode (void) __attribute__((__error__ ("open64 with O_CREAT or O_TMPFILE in second argument needs 3 arguments")))
1417:                                                                               ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: open64 (const char *__path, int __oflag, ...)
1417: {
1417:   if (__builtin_va_arg_pack_len () > 1)
1417:     __open64_too_many_args ();
1417: 
1417:   if (__builtin_constant_p (__oflag))
1417:     {
1417:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1417:  {
1417:    __open64_missing_mode ();
1417:    return __open64_2 (__path, __oflag);
1417:  }
1417:       return __open64_alias (__path, __oflag, __builtin_va_arg_pack ());
1417:     }
1417: 
1417:   if (__builtin_va_arg_pack_len () < 1)
1417:     return __open64_2 (__path, __oflag);
1417: 
1417:   return __open64_alias (__path, __oflag, __builtin_va_arg_pack ());
1417: }
1417: # 104 "/usr/include/arm-linux-gnueabihf/bits/fcntl2.h" 3 4
1417: extern int __openat_2 (int __fd, const char *__path, int __oflag) __asm__ ("" "__openat64_2")
1417: 
1417:      __attribute__ ((__nonnull__ (2)));
1417: extern int __openat_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64")
1417: 
1417:      __attribute__ ((__nonnull__ (2)));
1417: 
1417: extern void __openat_too_many_args (void) __attribute__((__error__ ("openat can be called either with 3 or 4 arguments, not more")))
1417:                                                                     ;
1417: extern void __openat_missing_mode (void) __attribute__((__error__ ("openat with O_CREAT or O_TMPFILE in third argument needs 4 arguments")))
1417:                                                                              ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: openat (int __fd, const char *__path, int __oflag, ...)
1417: {
1417:   if (__builtin_va_arg_pack_len () > 1)
1417:     __openat_too_many_args ();
1417: 
1417:   if (__builtin_constant_p (__oflag))
1417:     {
1417:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1417:  {
1417:    __openat_missing_mode ();
1417:    return __openat_2 (__fd, __path, __oflag);
1417:  }
1417:       return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1417:     }
1417: 
1417:   if (__builtin_va_arg_pack_len () < 1)
1417:     return __openat_2 (__fd, __path, __oflag);
1417: 
1417:   return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1417: }
1417: 
1417: 
1417: 
1417: extern int __openat64_2 (int __fd, const char *__path, int __oflag)
1417:      __attribute__ ((__nonnull__ (2)));
1417: extern int __openat64_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64")
1417: 
1417:      __attribute__ ((__nonnull__ (2)));
1417: extern void __openat64_too_many_args (void) __attribute__((__error__ ("openat64 can be called either with 3 or 4 arguments, not more")))
1417:                                                                       ;
1417: extern void __openat64_missing_mode (void) __attribute__((__error__ ("openat64 with O_CREAT or O_TMPFILE in third argument needs 4 arguments")))
1417:                                                                                ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ (ddonLifecycleState LifecycleState() const = 0;
1434:   virtual std::string LifecycleStateDescription() const = 0;
1434:   virtual CDateTime InstallDate() const = 0;
1434:   virtual CDateTime LastUpdated() const = 0;
1434:   virtual CDateTime LastUsed() const = 0;
1434:   virtual std::string Origin() const = 0;
1434:   virtual std::string OriginName() const = 0;
1434:   virtual uint64_t PackageSize() const = 0;
1434:   virtual const InfoMap& ExtraInfo() const = 0;
1434:   virtual bool SupportsMultipleInstances() const = 0;
1434:   virtual AddonInstanceSupport InstanceUseType() const = 0;
1434:   virtual std::vector<AddonInstanceId> GetKnownInstanceIds() const = 0;
1434:   virtual bool SupportsInstanceSettings() const = 0;
1434:   virtual bool DeleteInstanceSettings(AddonInstanceId instance) = 0;
1434:   virtual bool CanHaveAddonOrInstanceSettings() = 0;
1434:   virtual bool HasSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool HasUserSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual void SaveSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual void UpdateSetting(const std::string& key,
1434:                              const std::string& value,
1434:                              AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool UpdateSettingBool(const std::string& key,
1434:                                  bool value,
1434:                                  AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool UpdateSettingInt(const std::string& key,
1434:                                 int value,
1434:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool UpdateSettingNumber(const std::string& key,
1434:                                    double value,
1434:                                    AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool UpdateSettingString(const std::string& key,
1434:                                    const std::string& value,
1434:                                    AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual std::string GetSetting(const std::string& key,
1434:                                  AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool GetSettingBool(const std::string& key,
1434:                               bool& value,
1434:                               AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool GetSettingInt(const std::string& key,
1434:                              int& value,
1434:                              AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool GetSettingNumber(const std::string& key,
1434:                                 double& value,
1434:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual bool GetSettingString(const std::string& key,
1434:                                 std::string& value,
1434:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual std::shared_ptr<CAddonSettings> GetSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual const std::vector<DependencyInfo>& GetDependencies() const = 0;
1434:   virtual CAddonVersion GetDependencyVersion(const std::string& dependencyID) const = 0;
1434:   virtual bool MeetsVersion(const CAddonVersion& versionMin,
1434:                             const CAddonVersion& version) const = 0;
1434:   virtual bool ReloadSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual void ResetSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1434:   virtual AddonPtr GetRunningInstance() const = 0;
1434:   virtual void OnPreInstall() = 0;
1434:   virtual void OnPostInstall(bool update, bool modal) = 0;
1434:   virtual void OnPreUnInstall() = 0;
1434:   virtual void OnPostUnInstall() = 0;
1434: };
1434: 
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIDialogAddonSettings.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManagerBase.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManagerBase.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIDialog.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIDialog.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CGUIControl;
1434: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
1434: 
1434: 
1434: 
1434: 
1434: class CGUIAction
1434: {
1434: public:
1434: 
1434: 
1434: 
1434:   class CExecutableAction
1434:   {
1434:   public:
1434: 
1434: 
1434: 
1434: 
1434:     explicit CExecutableAction(const std::string& action);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     CExecutableAction(const std::string& condition, const std::string& action);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     std::string GetCondition() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     bool HasCondition() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     std::string GetAction() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     void SetAction(const std::string& action);
1434: 
1434:   private:
1434: 
1434: 
1434: 
1434:     CExecutableAction() = delete;
1434: 
1434:     std::string m_condition;
1434: 
1434:     std::string m_action;
1434:   };
1434: 
1434:   CGUIAction() = default;
1434:   explicit CGUIAction(int controlID);
1434: 
1434: 
1434: 
1434:   bool ExecuteActions() const;
1434: 
1434: 
1434: 
1434:   bool ExecuteActions(int controlID, int parentID, const CGUIListItemPtr& item = nullptr) const;
1434: 
1434: 
1434: 
1434:   bool HasActionsMeetingCondition() const;
1434: 
1434: 
1434: 
1434:   bool HasAnyActions() const;
1434: 
1434: 
1434: 
1434:   int GetNavigation() const;
1434: 
1434: 
1434: 
1434:   void SetNavigation(int id);
1434: 
1434: 
1434: 
1434:   void EnableSendThreadMessageMode();
1434: 
1434: 
1434: 
1434:   void Append(const CExecutableAction& action);
1434: 
1434: 
1434: 
1434:   void Reset();
1434: 
1434: private:
1434:   std::vector<CExecutableAction> m_actions;
1434:   bool m_sendThreadMessages = false;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1434:        
1434: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1434: template <typename T> class CPointGen
1434: {
1434: public:
1434:   typedef CPointGen<T> this_type;
1434: 
1434:   CPointGen() noexcept = default;
1434: 
1434:   constexpr CPointGen(T a, T b)
1434:   : x{a}, y{b}
1434:   {}
1434: 
1434:   template<class U> explicit constexpr CPointGen(const CPointGen<U>& rhs)
1434:   : x{static_cast<T> (rhs.x)}, y{stati)
1115:  { }
1115: 
1115: 
1115:       unordered_map(const unordered_map&) = default;
1115: 
1115: 
1115:       unordered_map(unordered_map&&) = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       unordered_map(const allocator_type& __a)
1115:  : _M_h(__a)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unordered_map(const unordered_map& __umap,
1115:       const allocator_type& __a)
1115:       : _M_h(__umap._M_h, __a)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unordered_map(unordered_map&& __umap,
1115:       const allocator_type& __a)
1115:  noexcept( noexcept(_Hashtable(std::move(__umap._M_h), __a)) )
1115:       : _M_h(std::move(__umap._M_h), __a)
1115:       { }
1115: # 227 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       unordered_map(initializer_list<value_type> __l,
1115:       size_type __n = 0,
1115:       const hasher& __hf = hasher(),
1115:       const key_equal& __eql = key_equal(),
1115:       const allocator_type& __a = allocator_type())
1115:       : _M_h(__l, __n, __hf, __eql, __a)
1115:       { }
1115: 
1115:       unordered_map(size_type __n, const allocator_type& __a)
1115:       : unordered_map(__n, hasher(), key_equal(), __a)
1115:       { }
1115: 
1115:       unordered_map(size_type __n, const hasher& __hf,
1115:       const allocator_type& __a)
1115:       : unordered_map(__n, __hf, key_equal(), __a)
1115:       { }
1115: 
1115:       template<typename _InputIterator>
1115:  unordered_map(_InputIterator __first, _InputIterator __last,
1115:         size_type __n,
1115:         const allocator_type& __a)
1115:  : unordered_map(__first, __last, __n, hasher(), key_equal(), __a)
1115:  { }
1115: 
1115:       template<typename _InputIterator>
1115:  unordered_map(_InputIterator __first, _InputIterator __last,
1115:         size_type __n, const hasher& __hf,
1115:         const allocator_type& __a)
1115:    : unordered_map(__first, __last, __n, __hf, key_equal(), __a)
1115:  { }
1115: 
1115:       unordered_map(initializer_list<value_type> __l,
1115:       size_type __n,
1115:       const allocator_type& __a)
1115:       : unordered_map(__l, __n, hasher(), key_equal(), __a)
1115:       { }
1115: 
1115:       unordered_map(initializer_list<value_type> __l,
1115:       size_type __n, const hasher& __hf,
1115:       const allocator_type& __a)
1115:       : unordered_map(__l, __n, __hf, key_equal(), __a)
1115:       { }
1115: 
1115: 
1115:       unordered_map&
1115:       operator=(const unordered_map&) = default;
1115: 
1115: 
1115:       unordered_map&
1115:       operator=(unordered_map&&) = default;
1115: # 289 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       unordered_map&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  _M_h = __l;
1115:  return *this;
1115:       }
1115: 
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return _M_h.get_allocator(); }
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return _M_h.empty(); }
1115: 
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_h.size(); }
1115: 
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _M_h.max_size(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       begin() noexcept
1115:       { return _M_h.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return _M_h.begin(); }
1115: 
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return _M_h.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       end() noexcept
1115:       { return _M_h.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       end() const noexcept
1115:       { return _M_h.end(); }
1115: 
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return _M_h.end(); }
1115: # 3c_cast<T> (rhs.y)}
1434:   {}
1434: 
1434:   constexpr this_type operator+(const this_type &point) const
1434:   {
1434:     return {x + point.x, y + point.y};
1434:   };
1434: 
1434:   this_type& operator+=(const this_type &point)
1434:   {
1434:     x += point.x;
1434:     y += point.y;
1434:     return *this;
1434:   };
1434: 
1434:   constexpr this_type operator-(const this_type &point) const
1434:   {
1434:     return {x - point.x, y - point.y};
1434:   };
1434: 
1434:   this_type& operator-=(const this_type &point)
1434:   {
1434:     x -= point.x;
1434:     y -= point.y;
1434:     return *this;
1434:   };
1434: 
1434:   constexpr this_type operator*(T factor) const
1434:   {
1434:     return {x * factor, y * factor};
1434:   }
1434: 
1434:   this_type& operator*=(T factor)
1434:   {
1434:     x *= factor;
1434:     y *= factor;
1434:     return *this;
1434:   }
1434: 
1434:   constexpr this_type operator/(T factor) const
1434:   {
1434:     return {x / factor, y / factor};
1434:   }
1434: 
1434:   this_type& operator/=(T factor)
1434:   {
1434:     x /= factor;
1434:     y /= factor;
1434:     return *this;
1434:   }
1434: 
1434:   T x{}, y{};
1434: };
1434: 
1434: template<typename T>
1434: constexpr bool operator==(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1434: {
1434:   return (point1.x == point2.x && point1.y == point2.y);
1434: }
1434: 
1434: template<typename T>
1434: constexpr bool operator!=(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1434: {
1434:   return !(point1 == point2);
1434: }
1434: 
1434: using CPoint = CPointGen<float>;
1434: using CPointInt = CPointGen<int>;
1434: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1434: template <typename T> class CSizeGen
1434: {
1434:   T m_w{}, m_h{};
1434: 
1434:   void CheckSet(T width, T height)
1434:   {
1434:     if (width < 0)
1434:     {
1434:       throw std::out_of_range("Size may not have negative width");
1434:     }
1434:     if (height < 0)
1434:     {
1434:       throw std::out_of_range("Size may not have negative height");
1434:     }
1434:     m_w = width;
1434:     m_h = height;
1434:   }
1434: 
1434: public:
1434:   typedef CSizeGen<T> this_type;
1434: 
1434:   CSizeGen() noexcept = default;
1434: 
1434:   CSizeGen(T width, T height)
1434:   {
1434:     CheckSet(width, height);
1434:   }
1434: 
1434:   T Width() const
1434:   {
1434:     return m_w;
1434:   }
1434: 
1434:   T Height() const
1434:   {
1434:     return m_h;
1434:   }
1434: 
1434:   void SetWidth(T width)
1434:   {
1434:     CheckSet(width, m_h);
1434:   }
1434: 
1434:   void SetHeight(T height)
1434:   {
1434:     CheckSet(m_w, height);
1434:   }
1434: 
1434:   void Set(T width, T height)
1434:   {
1434:     CheckSet(width, height);
1434:   }
1434: 
1434:   bool IsZero() const
1434:   {
1434:     return (m_w == static_cast<T> (0) && m_h == static_cast<T> (0));
1434:   }
1434: 
1434:   T Area() const
1434:   {
1434:     return m_w * m_h;
1434:   }
1434: 
1434:   CPointGen<T> ToPoint() const
1434:   {
1434:     return {m_w, m_h};
1434:   }
1434: 
1434:   template<class U> explicit CSizeGen<T>(const CSizeGen<U>& rhs)
1434:   {
1434:     CheckSet(static_cast<T> (rhs.m_w), static_cast<T> (rhs.m_h));
1434:   }
1434: 
1434:   this_type operator+(const this_type& size) const
1434:   {
1434:     return {m_w + size.m_w, m_h + size.m_h};
1434:   };
1434: 
1434:   this_type& operator+=(const this_type& size)
1434:   {
1434:     CheckSet(m_w + size.m_w, m_h + size.m_h);
1434:     return *this;
1434:   };
1434: 
1434:   this_type operator-(const this_type& size) const
1434:   {
1434:     return {m_w - size.m_w, m_h - size.m_h};
1434:   };
1434: 
1434:   this_type& operator-=(const this_type& size)
1434:   {
1434:     CheckSet(m_w - size.m_w, m_h - size.m_h);
1434:     return *this;
1434:   };
1434: 
1434:   this_type operator*(T factor) const
1434:   {
1434:     return {m_w * factor, m_h * factor};
1434:   }
1434: 
1434:   this_type& operator*=(T factor)
1434:   {
1434:     CheckSet(m_w * factor, m_h * factor);
1434:     return *thi(__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: openat64 (int __fd, const char *__path, int __oflag, ...)
1417: {
1417:   if (__builtin_va_arg_pack_len () > 1)
1417:     __openat64_too_many_args ();
1417: 
1417:   if (__builtin_constant_p (__oflag))
1417:     {
1417:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1417:  {
1417:    __openat64_missing_mode ();
1417:    return __openat64_2 (__fd, __path, __oflag);
1417:  }
1417:       return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1417:     }
1417: 
1417:   if (__builtin_va_arg_pack_len () < 1)
1417:     return __openat64_2 (__fd, __path, __oflag);
1417: 
1417:   return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1417: }
1417: # 315 "/usr/include/fcntl.h" 2 3 4
1417: 
1417: 
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1417: # 1 "/usr/include/unistd.h" 1 3 4
1417: # 27 "/usr/include/unistd.h" 3 4
1417: extern "C" {
1417: # 202 "/usr/include/unistd.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix_opt.h" 1 3 4
1417: # 203 "/usr/include/unistd.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 1 3 4
1417: # 22 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 2 3 4
1417: # 207 "/usr/include/unistd.h" 2 3 4
1417: # 226 "/usr/include/unistd.h" 3 4
1417: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1417: # 227 "/usr/include/unistd.h" 2 3 4
1417: # 274 "/usr/include/unistd.h" 3 4
1417: typedef __socklen_t socklen_t;
1417: # 287 "/usr/include/unistd.h" 3 4
1417: extern int access (const char *__name, int __type) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int euidaccess (const char *__name, int __type)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int eaccess (const char *__name, int __type)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int execveat (int __fd, const char *__path, char *const __argv[],
1417:                      char *const __envp[], int __flags)
1417:     noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int faccessat (int __fd, const char *__file, int __type, int __flag)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
1417: # 342 "/usr/include/unistd.h" 3 4
1417: extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) noexcept (true) __asm__ ("" "lseek64")
1417: 
1417:              ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int close (int __fd);
1417: 
1417: 
1417: 
1417: 
1417: extern void closefrom (int __lowfd) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern ssize_t write (int __fd, const void *__buf, size_t __n) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__read_only__, 2, 3)));
1417: # 404 "/usr/include/unistd.h" 3 4
1417: extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64")
1417: 
1417:                __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t pwrite (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64")
1417: 
1417:                 __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__86 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename... _Args>
1115:  std::pair<iterator, bool>
1115:  emplace(_Args&&... __args)
1115:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1115: # 417 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace_hint(const_iterator __pos, _Args&&... __args)
1115:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1115: 
1115: 
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1115:  return _M_h.extract(__pos);
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const key_type& __key)
1115:       { return _M_h.extract(__key); }
1115: 
1115: 
1115:       insert_return_type
1115:       insert(node_type&& __nh)
1115:       { return _M_h._M_reinsert_node(std::move(__nh)); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator, node_type&& __nh)
1115:       { return _M_h._M_reinsert_node(std::move(__nh)).position; }
1115: # 469 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template <typename... _Args>
1115:  pair<iterator, bool>
1115:  try_emplace(const key_type& __k, _Args&&... __args)
1115:  {
1115:    return _M_h.try_emplace(cend(), __k, std::forward<_Args>(__args)...);
1115:  }
1115: 
1115: 
1115:       template <typename... _Args>
1115:  pair<iterator, bool>
1115:  try_emplace(key_type&& __k, _Args&&... __args)
1115:  {
1115:    return _M_h.try_emplace(cend(), std::move(__k),
1115:       std::forward<_Args>(__args)...);
1115:  }
1115: # 513 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template <typename... _Args>
1115:  iterator
1115:  try_emplace(const_iterator __hint, const key_type& __k,
1115:       _Args&&... __args)
1115:  {
1115:    return _M_h.try_emplace(__hint, __k,
1115:       std::forward<_Args>(__args)...).first;
1115:  }
1115: 
1115: 
1115:       template <typename... _Args>
1115:  iterator
1115:  try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args)
1115:  {
1115:    return _M_h.try_emplace(__hint, std::move(__k),
1115:       std::forward<_Args>(__args)...).first;
1115:  }
1115: # 550 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       std::pair<iterator, bool>
1115:       insert(const value_type& __x)
1115:       { return _M_h.insert(__x); }
1115: 
1115: 
1115: 
1115:       std::pair<iterator, bool>
1115:       insert(value_type&& __x)
1115:       { return _M_h.insert(std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair&&>::value,
1115:         pair<iterator, bool>>
1115:  insert(_Pair&& __x)
1115:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1115: # 589 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       insert(const_iterator __hint, const value_type& __x)
1115:       { return _M_h.insert(__hint, __x); }
1115: 
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, value_type&& __x)
1115:       { return _M_h.insert(__hint, std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1115:  insert(const_iterator __hint, _Pair&& __x)
1115:  { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1115: # 614 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  insert(_InputIterator __first, _InputIterator __last)
1115:  { _M_h.insert(__first, __last); }
1115: # 626 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       insert(initializer_list<value_type> __l)
1115:       { _M_h.insert(__l); }
1115: # 652 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template <typename _Obj>
1115:  pair<iterator, bool>
1115:  insert_or_assign(const key_type& __k, _Obj&& __obj)
1115:  {
1115:    auto __ret = _M_h.try_emplace(cend(), __k,
1115:      std::fors;
1434:   }
1434: 
1434:   this_type operator/(T factor) const
1434:   {
1434:     return {m_w / factor, m_h / factor};
1434:   }
1434: 
1434:   this_type& operator/=(T factor)
1434:   {
1434:     CheckSet(m_w / factor, m_h / factor);
1434:     return *this;
1434:   }
1434: };
1434: 
1434: template<typename T>
1434: inline bool operator==(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1434: {
1434:   return (size1.Width() == size2.Width() && size1.Height() == size2.Height());
1434: }
1434: 
1434: template<typename T>
1434: inline bool operator!=(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1434: {
1434:   return !(size1 == size2);
1434: }
1434: 
1434: using CSize = CSizeGen<float>;
1434: using CSizeInt = CSizeGen<int>;
1434: 
1434: 
1434: template <typename T> class CRectGen
1434: {
1434: public:
1434:   typedef CRectGen<T> this_type;
1434:   typedef CPointGen<T> point_type;
1434:   typedef CSizeGen<T> size_type;
1434: 
1434:   CRectGen() noexcept = default;
1434: 
1434:   constexpr CRectGen(T left, T top, T right, T bottom)
1434:   : x1{left}, y1{top}, x2{right}, y2{bottom}
1434:   {}
1434: 
1434:   constexpr CRectGen(const point_type &p1, const point_type &p2)
1434:   : x1{p1.x}, y1{p1.y}, x2{p2.x}, y2{p2.y}
1434:   {}
1434: 
1434:   constexpr CRectGen(const point_type &origin, const size_type &size)
1434:   : x1{origin.x}, y1{origin.y}, x2{x1 + size.Width()}, y2{y1 + size.Height()}
1434:   {}
1434: 
1434:   template<class U> explicit constexpr CRectGen(const CRectGen<U>& rhs)
1434:   : x1{static_cast<T> (rhs.x1)}, y1{static_cast<T> (rhs.y1)}, x2{static_cast<T> (rhs.x2)}, y2{static_cast<T> (rhs.y2)}
1434:   {}
1434: 
1434:   void SetRect(T left, T top, T right, T bottom)
1434:   {
1434:     x1 = left;
1434:     y1 = top;
1434:     x2 = right;
1434:     y2 = bottom;
1434:   }
1434: 
1434:   constexpr bool PtInRect(const point_type &point) const
1434:   {
1434:     return (x1 <= point.x && point.x <= x2 && y1 <= point.y && point.y <= y2);
1434:   };
1434: 
1434:   this_type& operator-=(const point_type &point) __attribute__((always_inline))
1434:   {
1434:     x1 -= point.x;
1434:     y1 -= point.y;
1434:     x2 -= point.x;
1434:     y2 -= point.y;
1434:     return *this;
1434:   };
1434: 
1434:   constexpr this_type operator-(const point_type &point) const
1434:   {
1434:     return {x1 - point.x, y1 - point.y, x2 - point.x, y2 - point.y};
1434:   }
1434: 
1434:   this_type& operator+=(const point_type &point) __attribute__((always_inline))
1434:   {
1434:     x1 += point.x;
1434:     y1 += point.y;
1434:     x2 += point.x;
1434:     y2 += point.y;
1434:     return *this;
1434:   };
1434: 
1434:   constexpr this_type operator+(const point_type &point) const
1434:   {
1434:     return {x1 + point.x, y1 + point.y, x2 + point.x, y2 + point.y};
1434:   }
1434: 
1434:   this_type& operator-=(const size_type &size)
1434:   {
1434:     x2 -= size.Width();
1434:     y2 -= size.Height();
1434:     return *this;
1434:   };
1434: 
1434:   constexpr this_type operator-(const size_type &size) const
1434:   {
1434:     return {x1, y1, x2 - size.Width(), y2 - size.Height()};
1434:   }
1434: 
1434:   this_type& operator+=(const size_type &size)
1434:   {
1434:     x2 += size.Width();
1434:     y2 += size.Height();
1434:     return *this;
1434:   };
1434: 
1434:   constexpr this_type operator+(const size_type &size) const
1434:   {
1434:     return {x1, y1, x2 + size.Width(), y2 + size.Height()};
1434:   }
1434: 
1434:   this_type& Intersect(const this_type &rect)
1434:   {
1434:     x1 = clamp_range(x1, rect.x1, rect.x2);
1434:     x2 = clamp_range(x2, rect.x1, rect.x2);
1434:     y1 = clamp_range(y1, rect.y1, rect.y2);
1434:     y2 = clamp_range(y2, rect.y1, rect.y2);
1434:     return *this;
1434:   };
1434: 
1434:   this_type& Union(const this_type &rect)
1434:   {
1434:     if (IsEmpty())
1434:       *this = rect;
1434:     else if (!rect.IsEmpty())
1434:     {
1434:       x1 = std::min(x1,rect.x1);
1434:       y1 = std::min(y1,rect.y1);
1434: 
1434:       x2 = std::max(x2,rect.x2);
1434:       y2 = st (__read_only__, 2, 3)));
1417: # 422 "/usr/include/unistd.h" 3 4
1417: extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
1417:    __off64_t __offset) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: 
1417: 
1417: extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n,
1417:     __off64_t __offset) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__read_only__, 2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int pipe (int __pipedes[2]) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int pipe2 (int __pipedes[2], int __flags) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: # 452 "/usr/include/unistd.h" 3 4
1417: extern unsigned int alarm (unsigned int __seconds) noexcept (true);
1417: # 464 "/usr/include/unistd.h" 3 4
1417: extern unsigned int sleep (unsigned int __seconds);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int usleep (__useconds_t __useconds);
1417: # 489 "/usr/include/unistd.h" 3 4
1417: extern int pause (void);
1417: 
1417: 
1417: 
1417: extern int chown (const char *__file, __uid_t __owner, __gid_t __group)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern int fchown (int __fd, __uid_t __owner, __gid_t __group) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int lchown (const char *__file, __uid_t __owner, __gid_t __group)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fchownat (int __fd, const char *__file, __uid_t __owner,
1417:        __gid_t __group, int __flag)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern int chdir (const char *__path) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern int fchdir (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: # 531 "/usr/include/unistd.h" 3 4
1417: extern char *getcwd (char *__buf, size_t __size) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *get_current_dir_name (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *getwd (char *__buf)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__write_only__, 1)));
1417: 
1417: 
1417: 
1417: 
1417: extern int dup (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: extern int dup2 (int __fd, int __fd2) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int dup3 (int __fd, int __fd2, int __flags) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char **__environ;
1417: 
1417: extern char **environ;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int execve (const char *__path, char *const __argv[],
1417:      char *const __envp[]) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int fexecve (int __fd, char *const __argv[], char *const __envp[])
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int execv (const char *__path, char *const __argv[])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern int execle (const char *__path, const char *__arg, ...)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern int execl (const char *__path, const char *__arg, ...)
1417:      nod::max(y2,rect.y2);
1434:     }
1434: 
1434:     return *this;
1434:   };
1434: 
1434:   constexpr bool IsEmpty() const __attribute__((always_inline))
1434:   {
1434:     return (x2 - x1) * (y2 - y1) == 0;
1434:   };
1434: 
1434:   constexpr point_type P1() const __attribute__((always_inline))
1434:   {
1434:     return {x1, y1};
1434:   }
1434: 
1434:   constexpr point_type P2() const __attribute__((always_inline))
1434:   {
1434:     return {x2, y2};
1434:   }
1434: 
1434:   constexpr T Width() const __attribute__((always_inline))
1434:   {
1434:     return x2 - x1;
1434:   };
1434: 
1434:   constexpr T Height() const __attribute__((always_inline))
1434:   {
1434:     return y2 - y1;
1434:   };
1434: 
1434:   constexpr T Area() const __attribute__((always_inline))
1434:   {
1434:     return Width() * Height();
1434:   };
1434: 
1434:   size_type ToSize() const
1434:   {
1434:     return {Width(), Height()};
1434:   };
1434: 
1434:   std::vector<this_type> SubtractRect(this_type splitterRect)
1434:   {
1434:     std::vector<this_type> newRectanglesList;
1434:     this_type intersection = splitterRect.Intersect(*this);
1434: 
1434:     if (!intersection.IsEmpty())
1434:     {
1434:       this_type add;
1434: 
1434: 
1434:       add = this_type(x1, y1, x2, intersection.y1);
1434:       if (!add.IsEmpty())
1434:         newRectanglesList.push_back(add);
1434: 
1434: 
1434:       add = this_type(x1, intersection.y2, x2, y2);
1434:       if (!add.IsEmpty())
1434:         newRectanglesList.push_back(add);
1434: 
1434: 
1434:       add = this_type(x1, intersection.y1, intersection.x1, intersection.y2);
1434:       if (!add.IsEmpty())
1434:         newRectanglesList.push_back(add);
1434: 
1434: 
1434:       add = this_type(intersection.x2, intersection.y1, x2, intersection.y2);
1434:       if (!add.IsEmpty())
1434:         newRectanglesList.push_back(add);
1434:     }
1434:     else
1434:     {
1434:       newRectanglesList.push_back(*this);
1434:     }
1434: 
1434:     return newRectanglesList;
1434:   }
1434: 
1434:   std::vector<this_type> SubtractRects(std::vector<this_type> intersectionList)
1434:   {
1434:     std::vector<this_type> fragmentsList;
1434:     fragmentsList.push_back(*this);
1434: 
1434:     for (typename std::vector<this_type>::iterator splitter = intersectionList.begin(); splitter != intersectionList.end(); ++splitter)
1434:     {
1434:       typename std::vector<this_type> toAddList;
1434: 
1434:       for (typename std::vector<this_type>::iterator fragment = fragmentsList.begin(); fragment != fragmentsList.end(); ++fragment)
1434:       {
1434:         std::vector<this_type> newFragmentsList = fragment->SubtractRect(*splitter);
1434:         toAddList.insert(toAddList.end(), newFragmentsList.begin(), newFragmentsList.end());
1434:       }
1434: 
1434:       fragmentsList.clear();
1434:       fragmentsList.insert(fragmentsList.end(), toAddList.begin(), toAddList.end());
1434:     }
1434: 
1434:     return fragmentsList;
1434:   }
1434: 
1434:   void GetQuad(point_type (&points)[4])
1434:   {
1434:     points[0] = { x1, y1 };
1434:     points[1] = { x2, y1 };
1434:     points[2] = { x2, y2 };
1434:     points[3] = { x1, y2 };
1434:   }
1434: 
1434:   T x1{}, y1{}, x2{}, y2{};
1434: private:
1434:   static constexpr T clamp_range(T x, T l, T h) __attribute__((always_inline))
1434:   {
1434:     return (x > h) ? h : ((x < l) ? l : x);
1434:   }
1434: };
1434: 
1434: template<typename T>
1434: constexpr bool operator==(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1434: {
1434:   return (rect1.x1 == rect2.x1 && rect1.y1 == rect2.y1 && rect1.x2 == rect2.x2 && rect1.y2 == rect2.y2);
1434: }
1434: 
1434: template<typename T>
1434: constexpr bool operator!=(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1434: {
1434:   return !(rect1 == rect2);
1434: }
1434: 
1434: using CRect = CRectGen<float>;
1434: using CRectInt = CRectGen<int>;
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 2
1434: 
1434: 
1434: 
1434: class CDirtyRegion : public CRect
1434: {
1434: publward<_Obj>(__obj));
1115:    if (!__ret.second)
1115:      __ret.first->second = std::forward<_Obj>(__obj);
1115:    return __ret;
1115:  }
1115: 
1115: 
1115:       template <typename _Obj>
1115:  pair<iterator, bool>
1115:  insert_or_assign(key_type&& __k, _Obj&& __obj)
1115:  {
1115:    auto __ret = _M_h.try_emplace(cend(), std::move(__k),
1115:      std::forward<_Obj>(__obj));
1115:    if (!__ret.second)
1115:      __ret.first->second = std::forward<_Obj>(__obj);
1115:    return __ret;
1115:  }
1115: # 701 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template <typename _Obj>
1115:  iterator
1115:  insert_or_assign(const_iterator __hint, const key_type& __k,
1115:     _Obj&& __obj)
1115:  {
1115:    auto __ret = _M_h.try_emplace(__hint, __k, std::forward<_Obj>(__obj));
1115:    if (!__ret.second)
1115:      __ret.first->second = std::forward<_Obj>(__obj);
1115:    return __ret.first;
1115:  }
1115: 
1115: 
1115:       template <typename _Obj>
1115:  iterator
1115:  insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj)
1115:  {
1115:    auto __ret = _M_h.try_emplace(__hint, std::move(__k),
1115:      std::forward<_Obj>(__obj));
1115:    if (!__ret.second)
1115:      __ret.first->second = std::forward<_Obj>(__obj);
1115:    return __ret.first;
1115:  }
1115: # 739 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       erase(const_iterator __position)
1115:       { return _M_h.erase(__position); }
1115: 
1115: 
1115:       iterator
1115:       erase(iterator __position)
1115:       { return _M_h.erase(__position); }
1115: # 761 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       size_type
1115:       erase(const key_type& __x)
1115:       { return _M_h.erase(__x); }
1115: # 779 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       erase(const_iterator __first, const_iterator __last)
1115:       { return _M_h.erase(__first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       clear() noexcept
1115:       { _M_h.clear(); }
1115: # 803 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       swap(unordered_map& __x)
1115:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1115:       { _M_h.swap(__x._M_h); }
1115: 
1115: 
1115:       template<typename, typename, typename>
1115:  friend class std::_Hash_merge_helper;
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1115:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1115:  }
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper = _Hash_merge_helper<unordered_map, _H2, _P2>;
1115:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1115:  }
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       hasher
1115:       hash_function() const
1115:       { return _M_h.hash_function(); }
1115: 
1115: 
1115: 
1115:       key_equal
1115:       key_eq() const
1115:       { return _M_h.key_eq(); }
1115: # 867 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       find(const key_type& __x)
1115:       { return _M_h.find(__x); }
1115: # 878 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       const_iterator
1115:       find(const key_type& __x) const
1115:       { return _M_h.find(__x); }
1115: # 900 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       size_type
1115:       count(const key_type& __x) const
1115:       { return _M_h.count(__x); }
1115: # 940 "/usr/include/c++/12/bits/unordic:
1434:   explicit CDirtyRegion(const CRect &rect) : CRect(rect) { m_age = 0; }
1434:   CDirtyRegion(float left, float top, float right, float bottom) : CRect(left, top, right, bottom) { m_age = 0; }
1434:   CDirtyRegion() : CRect() { m_age = 0; }
1434: 
1434:   int UpdateAge() { return ++m_age; }
1434: private:
1434:   int m_age;
1434: };
1434: 
1434: typedef std::vector<CDirtyRegion> CDirtyRegionList;
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1434:        
1434: 
1434: enum ANIMATION_PROCESS { ANIM_PROCESS_NONE = 0, ANIM_PROCESS_NORMAL, ANIM_PROCESS_REVERSE };
1434: enum ANIMATION_STATE { ANIM_STATE_NONE = 0, ANIM_STATE_DELAYED, ANIM_STATE_IN_PROCESS, ANIM_STATE_APPLIED };
1434: 
1434: 
1434: 
1434: class TiXmlElement;
1434: class Tweener;
1434: class CGUIListItem;
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: class CGUIListItem;
1434: 
1434: namespace INFO
1434: {
1434: 
1434: 
1434: 
1434: 
1434: class InfoBool
1434: {
1434: public:
1434:   InfoBool(const std::string &expression, int context, unsigned int &refreshCounter);
1434:   virtual ~InfoBool() = default;
1434: 
1434:   virtual void Initialize() {}
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline bool Get(int contextWindow, const CGUIListItem* item = nullptr)
1434:   {
1434:     if (item && m_listItemDependent)
1434:       Update(contextWindow, item);
1434:     else if (m_refreshCounter != m_parentRefreshCounter || m_refreshCounter == 0)
1434:     {
1434:       Update(contextWindow, nullptr);
1434:       m_refreshCounter = m_parentRefreshCounter;
1434:     }
1434:     return m_value;
1434:   }
1434: 
1434:   bool operator==(const InfoBool &right) const
1434:   {
1434:     return (m_context == right.m_context &&
1434:             m_expression == right.m_expression);
1434:   }
1434: 
1434:   bool operator<(const InfoBool &right) const
1434:   {
1434:     if (m_context < right.m_context)
1434:       return true;
1434:     else if (m_context == right.m_context)
1434:       return m_expression < right.m_expression;
1434:     else
1434:       return false;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   virtual void Update(int contextWindow, const CGUIListItem* item) {}
1434: 
1434:   const std::string &GetExpression() const { return m_expression; }
1434:   bool ListItemDependent() const { return m_listItemDependent; }
1434: protected:
1434: 
1434:   bool m_value;
1434:   int m_context;
1434:   bool m_listItemDependent;
1434:   std::string m_expression;
1434: 
1434: private:
1434:   unsigned int m_refreshCounter;
1434:   unsigned int &m_parentRefreshCounter;
1434: };
1434: 
1434: typedef std::shared_ptr<InfoBool> InfoPtr;
1434: };
1434: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace UTILS
1434: {
1434: namespace COLOR
1434: {
1434: 
1434: typedef uint32_t Color;
1434: 
1434: constexpr Color BLACK = 0xFF000000;
1434: constexpr Color LIMITED_BLACK = 0xFF101010;
1434: constexpr Color BLUE = 0xFF0099FF;
1434: constexpr Color BRIGHTGREEN = 0xFF00FF00;
1434: constexpr Color CYAN = 0xFF00FFFF;
1434: constexpr Color DARKGREY = 0xFF808080;
1434: constexpr Color GREY = 0xFFC0C0C0;
1434: constexpr Color LIGHTGREY = 0xFFE5E5E5;
1434: constexpr Color NONE = 0x00000000;
1434: constexpr Color WHITE = 0xFFFFFFFF;
1434: constexpr Color YELLOW = 0xFFFFFF00;
1434: constexpr Color YELLOWGREEN = 0xFFCCFF00;
1434: 
1434: struct ColorInfo
1434: {
1434:   Color colorARGB;
1434:   double hue;
1434:   double saturation;
1434:   double lightness;
1434: };
1434: 
1434: struct ColorFloats
1434: {
1434:   float red;
1434:   float green;
1434:   float blue;
1434:   float alpha;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: Color ChangeOpacity(const Color argb, const float opacity);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: Color ConvertToRGBA(const Color argb);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: Color ConvertToARGB(const Color rgba);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: Color ConvertToBGR(const Color argb);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: Color ConvertHexToColor(const std::string& hexColor);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: Color ConvertIntToRGB(int r, int g, int b);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: ColorInfo MakeColorInfo(const Color& argb);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: ColorInfo MakeColorInfo(const std::string& hexColor);
1434: 
1434: 
1434: 
1434: bool comparePairColorInfo(const std::pair<std::string, ColorInfo>& a,
1434:                           const std::pair<std::string, ColorInfo>& b);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: ColorFloats ConvertToFloats(const Color argb);
1434: }
1434: }
1434: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/math.h" 1 3
1434: # 36 "/usr/include/c++/12/math.h" 3
1434: # 1 "/usr/include/c++/12/cmath" 1 3
1434: # 39 "/usr/include/c++/12/cmath" 3
1434:        
1434: # 40 "/usr/include/c++/12/cmath" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/math.h" 1 3 4
1434: # 27 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1434: # 28 "/usr/include/math.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 34 "/usr/include/math.h" 3 4
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libm-simd-decl-stubs.h" 1 3 4
1434: # 28 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 2 3 4
1434: # 41 "/usr/include/math.h" 2 3 4
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1434: # 44 "/usr/include/math.h" 2 3 4
1434: # 152 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/flt-eval-method.h" 1 3 4
1434: # 153 "/usr/include/math.h" 2 3 4
1434: # 163 "/usr/include/math.h" 3 4
1434: typedef float float_t;
1434: typedef double double_t;
1434: # 204 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-logb.h" 1 3 4
1434: # 205 "/usr/include/math.h" 2 3 4
1434: # 247 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-fast.h" 1 3 4
1434: # 248 "/usr/include/math.h" 2 3 4
1434: 
1434: 
1434: 
1434: enum
1434:   {
1434:     FP_INT_UPWARD =
1434: 
1434:       0,
1434:     FP_INT_DOWNWARD =
1434: 
1434:       1,
1434:     FP_INT_TOWARDZERO =
1434: 
1434:       2,
1434:     FP_INT_TONEARESTFROMZERO =
1434: 
1434:       3,
1434:     FP_INT_TONEAREST =
1434: 
1434:       4,
1434:   };
1434: # 312 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1434: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1434: extern int __fpclassify (double __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __signbit (double __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern int __isinf (double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __finite (double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __isnan (double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __iseqsig (double __x, double __y) noexceexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: extern int execvp (const char *__file, char *const __argv[])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int execlp (const char *__file, const char *__arg, ...)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int execvpe (const char *__file, char *const __argv[],
1417:       char *const __envp[])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int nice (int __inc) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern void _exit (int __status) __attribute__ ((__noreturn__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/confname.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/bits/confname.h" 3 4
1417: enum
1417:   {
1417:     _PC_LINK_MAX,
1417: 
1417:     _PC_MAX_CANON,
1417: 
1417:     _PC_MAX_INPUT,
1417: 
1417:     _PC_NAME_MAX,
1417: 
1417:     _PC_PATH_MAX,
1417: 
1417:     _PC_PIPE_BUF,
1417: 
1417:     _PC_CHOWN_RESTRICTED,
1417: 
1417:     _PC_NO_TRUNC,
1417: 
1417:     _PC_VDISABLE,
1417: 
1417:     _PC_SYNC_IO,
1417: 
1417:     _PC_ASYNC_IO,
1417: 
1417:     _PC_PRIO_IO,
1417: 
1417:     _PC_SOCK_MAXBUF,
1417: 
1417:     _PC_FILESIZEBITS,
1417: 
1417:     _PC_REC_INCR_XFER_SIZE,
1417: 
1417:     _PC_REC_MAX_XFER_SIZE,
1417: 
1417:     _PC_REC_MIN_XFER_SIZE,
1417: 
1417:     _PC_REC_XFER_ALIGN,
1417: 
1417:     _PC_ALLOC_SIZE_MIN,
1417: 
1417:     _PC_SYMLINK_MAX,
1417: 
1417:     _PC_2_SYMLINKS
1417: 
1417:   };
1417: 
1417: 
1417: enum
1417:   {
1417:     _SC_ARG_MAX,
1417: 
1417:     _SC_CHILD_MAX,
1417: 
1417:     _SC_CLK_TCK,
1417: 
1417:     _SC_NGROUPS_MAX,
1417: 
1417:     _SC_OPEN_MAX,
1417: 
1417:     _SC_STREAM_MAX,
1417: 
1417:     _SC_TZNAME_MAX,
1417: 
1417:     _SC_JOB_CONTROL,
1417: 
1417:     _SC_SAVED_IDS,
1417: 
1417:     _SC_REALTIME_SIGNALS,
1417: 
1417:     _SC_PRIORITY_SCHEDULING,
1417: 
1417:     _SC_TIMERS,
1417: 
1417:     _SC_ASYNCHRONOUS_IO,
1417: 
1417:     _SC_PRIORITIZED_IO,
1417: 
1417:     _SC_SYNCHRONIZED_IO,
1417: 
1417:     _SC_FSYNC,
1417: 
1417:     _SC_MAPPED_FILES,
1417: 
1417:     _SC_MEMLOCK,
1417: 
1417:     _SC_MEMLOCK_RANGE,
1417: 
1417:     _SC_MEMORY_PROTECTION,
1417: 
1417:     _SC_MESSAGE_PASSING,
1417: 
1417:     _SC_SEMAPHORES,
1417: 
1417:     _SC_SHARED_MEMORY_OBJECTS,
1417: 
1417:     _SC_AIO_LISTIO_MAX,
1417: 
1417:     _SC_AIO_MAX,
1417: 
1417:     _SC_AIO_PRIO_DELTA_MAX,
1417: 
1417:     _SC_DELAYTIMER_MAX,
1417: 
1417:     _SC_MQ_OPEN_MAX,
1417: 
1417:     _SC_MQ_PRIO_MAX,
1417: 
1417:     _SC_VERSION,
1417: 
1417:     _SC_PAGESIZE,
1417: 
1417: 
1417:     _SC_RTSIG_MAX,
1417: 
1417:     _SC_SEM_NSEMS_MAX,
1417: 
1417:     _SC_SEM_VALUE_MAX,
1417: 
1417:     _SC_SIGQUEUE_MAX,
1417: 
1417:     _SC_TIMER_MAX,
1417: 
1417: 
1417: 
1417: 
1417:     _SC_BC_BASE_MAX,
1417: 
1417:     _SC_BC_DIM_MAX,
1417: 
1417:     _SC_BC_SCALE_MAX,
1417: 
1417:     _SC_BC_STRING_MAX,
1417: 
1417:     _SC_COLL_WEIGHTS_MAX,
1417: 
1417:     _SC_EQUIV_CLASS_MAX,
1417: 
1417:     _SC_EXPR_NEST_MAX,
1417: 
1417:     _SC_LINE_MAX,
1417: 
1417:     _SC_RE_DUP_MAX,
1417: 
1417:     _SC_CHARCLASS_NAME_MAX,
1417: 
1417: 
1417:     _SC_2_VERSION,
1417: 
1417:     _SC_2_C_BIND,
1417: 
1417:     _SC_2_C_DEV,
1417: 
1417:     _SC_2_FORT_DEV,
1417: 
1417:     _SC_2_FORT_RUN,
1417: 
1417:     _SC_2_SW_DEV,
1417: 
1417:     _SC_2_LOCALEDEF,
1417: 
1417: 
1417:     _SC_PII,
1417: 
1417:     _SC_PII_XTI,
1417: 
1417:     _SC_PII_SOCKET,
1417: 
1417:     _SC_PII_INTERNET,
1417: 
1417:     _SC_PII_OSI,
1417: 
1417:     _SC_POLL,
1417: 
1417:     _SC_SELECT,
1417: 
1417:     _SC_UIO_MAXIOV,
1417: 
1417:     _SC_IOV_MAX = _SC_UIO_MAXIOV,
1417: 
1417:     _SC_PII_INTERNET_STREAM,
1417: 
1417:     _SC_PII_INTERNET_DGRAM,
1417: 
1417:     _SC_PII_OSI_COTS,
1417: 
1417:     _SC_PII_OSI_CLTS,
1417: 
1417:     _SC_PII_OSI_M,
1417: 
1417:     _SC_T_IOV_MAX,
ered_map.h" 3
1115:       std::pair<iterator, iterator>
1115:       equal_range(const key_type& __x)
1115:       { return _M_h.equal_range(__x); }
1115: # 952 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       std::pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __x) const
1115:       { return _M_h.equal_range(__x); }
1115: # 978 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       mapped_type&
1115:       operator[](const key_type& __k)
1115:       { return _M_h[__k]; }
1115: 
1115:       mapped_type&
1115:       operator[](key_type&& __k)
1115:       { return _M_h[std::move(__k)]; }
1115: # 995 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       mapped_type&
1115:       at(const key_type& __k)
1115:       { return _M_h.at(__k); }
1115: 
1115:       const mapped_type&
1115:       at(const key_type& __k) const
1115:       { return _M_h.at(__k); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       size_type
1115:       bucket_count() const noexcept
1115:       { return _M_h.bucket_count(); }
1115: 
1115: 
1115:       size_type
1115:       max_bucket_count() const noexcept
1115:       { return _M_h.max_bucket_count(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       size_type
1115:       bucket_size(size_type __n) const
1115:       { return _M_h.bucket_size(__n); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       size_type
1115:       bucket(const key_type& __key) const
1115:       { return _M_h.bucket(__key); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       local_iterator
1115:       begin(size_type __n)
1115:       { return _M_h.begin(__n); }
1115: # 1051 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       const_local_iterator
1115:       begin(size_type __n) const
1115:       { return _M_h.begin(__n); }
1115: 
1115:       const_local_iterator
1115:       cbegin(size_type __n) const
1115:       { return _M_h.cbegin(__n); }
1115: # 1066 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       local_iterator
1115:       end(size_type __n)
1115:       { return _M_h.end(__n); }
1115: # 1077 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       const_local_iterator
1115:       end(size_type __n) const
1115:       { return _M_h.end(__n); }
1115: 
1115:       const_local_iterator
1115:       cend(size_type __n) const
1115:       { return _M_h.cend(__n); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       float
1115:       load_factor() const noexcept
1115:       { return _M_h.load_factor(); }
1115: 
1115: 
1115: 
1115:       float
1115:       max_load_factor() const noexcept
1115:       { return _M_h.max_load_factor(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       max_load_factor(float __z)
1115:       { _M_h.max_load_factor(__z); }
1115: # 1114 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       rehash(size_type __n)
1115:       { _M_h.rehash(__n); }
1115: # 1125 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       reserve(size_type __n)
1115:       { _M_h.reserve(__n); }
1115: 
1115:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1115:         typename _Alloc1>
1115:         friend bool
1115:  operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&,
1115:      const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&);
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator,
1115:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1115:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1115:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireNotAllocator<_Pred>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(_InputIterator, _InputIterator,
1115:     typename unordered_map<int, int>::size_type = {},
1115:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1115:     -> unordered_map<__iter_key_t<_InputIteratopt (true);
1434: 
1434: 
1434: extern int __issignaling (double __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: # 313 "/usr/include/math.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1434: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434:  extern double acos (double __x) noexcept (true); extern double __acos (double __x) noexcept (true);
1434: 
1434:  extern double asin (double __x) noexcept (true); extern double __asin (double __x) noexcept (true);
1434: 
1434:  extern double atan (double __x) noexcept (true); extern double __atan (double __x) noexcept (true);
1434: 
1434:  extern double atan2 (double __y, double __x) noexcept (true); extern double __atan2 (double __y, double __x) noexcept (true);
1434: 
1434: 
1434:  extern double cos (double __x) noexcept (true); extern double __cos (double __x) noexcept (true);
1434: 
1434:  extern double sin (double __x) noexcept (true); extern double __sin (double __x) noexcept (true);
1434: 
1434:  extern double tan (double __x) noexcept (true); extern double __tan (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern double cosh (double __x) noexcept (true); extern double __cosh (double __x) noexcept (true);
1434: 
1434:  extern double sinh (double __x) noexcept (true); extern double __sinh (double __x) noexcept (true);
1434: 
1434:  extern double tanh (double __x) noexcept (true); extern double __tanh (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern void sincos (double __x, double *__sinx, double *__cosx) noexcept (true); extern void __sincos (double __x, double *__sinx, double *__cosx) noexcept (true)
1434:                                                         ;
1434: 
1434: 
1434: 
1434: 
1434:  extern double acosh (double __x) noexcept (true); extern double __acosh (double __x) noexcept (true);
1434: 
1434:  extern double asinh (double __x) noexcept (true); extern double __asinh (double __x) noexcept (true);
1434: 
1434:  extern double atanh (double __x) noexcept (true); extern double __atanh (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern double exp (double __x) noexcept (true); extern double __exp (double __x) noexcept (true);
1434: 
1434: 
1434: extern double frexp (double __x, int *__exponent) noexcept (true); extern double __frexp (double __x, int *__exponent) noexcept (true);
1434: 
1434: 
1434: extern double ldexp (double __x, int __exponent) noexcept (true); extern double __ldexp (double __x, int __exponent) noexcept (true);
1434: 
1434: 
1434:  extern double log (double __x) noexcept (true); extern double __log (double __x) noexcept (true);
1434: 
1434: 
1434:  extern double log10 (double __x) noexcept (true); extern double __log10 (double __x) noexcept (true);
1434: 
1434: 
1434: extern double modf (double __x, double *__iptr) noexcept (true); extern double __modf (double __x, double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434:  extern double exp10 (double __x) noexcept (true); extern double __exp10 (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern double expm1 (double __x) noexcept (true); extern double __expm1 (double __x) noexcept (true);
1434: 
1434: 
1434:  extern double log1p (double __x) noexcept (true); extern double __log1p (double __x) noexcept (true);
1434: 
1434: 
1434: extern double logb (double __x) noexcept (true); extern double __logb (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern double exp2 (double __x) noexcept (true); extern double __exp2 (double __x) noexcept (true);
1434: 
1434: 
1434:  extern double log2 (double __x) noexcept (true); extern double __log2 (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern double pow (double __x, double __y) noexcept (true); extern double __pow (double __x, double __y) noexcept (true);
1434: 
1434: 
1434: extern double sqrt (double __x) noexcept (true); extern double __sqrt (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern double hypot (dou1417: 
1417: 
1417: 
1417:     _SC_THREADS,
1417: 
1417:     _SC_THREAD_SAFE_FUNCTIONS,
1417: 
1417:     _SC_GETGR_R_SIZE_MAX,
1417: 
1417:     _SC_GETPW_R_SIZE_MAX,
1417: 
1417:     _SC_LOGIN_NAME_MAX,
1417: 
1417:     _SC_TTY_NAME_MAX,
1417: 
1417:     _SC_THREAD_DESTRUCTOR_ITERATIONS,
1417: 
1417:     _SC_THREAD_KEYS_MAX,
1417: 
1417:     _SC_THREAD_STACK_MIN,
1417: 
1417:     _SC_THREAD_THREADS_MAX,
1417: 
1417:     _SC_THREAD_ATTR_STACKADDR,
1417: 
1417:     _SC_THREAD_ATTR_STACKSIZE,
1417: 
1417:     _SC_THREAD_PRIORITY_SCHEDULING,
1417: 
1417:     _SC_THREAD_PRIO_INHERIT,
1417: 
1417:     _SC_THREAD_PRIO_PROTECT,
1417: 
1417:     _SC_THREAD_PROCESS_SHARED,
1417: 
1417: 
1417:     _SC_NPROCESSORS_CONF,
1417: 
1417:     _SC_NPROCESSORS_ONLN,
1417: 
1417:     _SC_PHYS_PAGES,
1417: 
1417:     _SC_AVPHYS_PAGES,
1417: 
1417:     _SC_ATEXIT_MAX,
1417: 
1417:     _SC_PASS_MAX,
1417: 
1417: 
1417:     _SC_XOPEN_VERSION,
1417: 
1417:     _SC_XOPEN_XCU_VERSION,
1417: 
1417:     _SC_XOPEN_UNIX,
1417: 
1417:     _SC_XOPEN_CRYPT,
1417: 
1417:     _SC_XOPEN_ENH_I18N,
1417: 
1417:     _SC_XOPEN_SHM,
1417: 
1417: 
1417:     _SC_2_CHAR_TERM,
1417: 
1417:     _SC_2_C_VERSION,
1417: 
1417:     _SC_2_UPE,
1417: 
1417: 
1417:     _SC_XOPEN_XPG2,
1417: 
1417:     _SC_XOPEN_XPG3,
1417: 
1417:     _SC_XOPEN_XPG4,
1417: 
1417: 
1417:     _SC_CHAR_BIT,
1417: 
1417:     _SC_CHAR_MAX,
1417: 
1417:     _SC_CHAR_MIN,
1417: 
1417:     _SC_INT_MAX,
1417: 
1417:     _SC_INT_MIN,
1417: 
1417:     _SC_LONG_BIT,
1417: 
1417:     _SC_WORD_BIT,
1417: 
1417:     _SC_MB_LEN_MAX,
1417: 
1417:     _SC_NZERO,
1417: 
1417:     _SC_SSIZE_MAX,
1417: 
1417:     _SC_SCHAR_MAX,
1417: 
1417:     _SC_SCHAR_MIN,
1417: 
1417:     _SC_SHRT_MAX,
1417: 
1417:     _SC_SHRT_MIN,
1417: 
1417:     _SC_UCHAR_MAX,
1417: 
1417:     _SC_UINT_MAX,
1417: 
1417:     _SC_ULONG_MAX,
1417: 
1417:     _SC_USHRT_MAX,
1417: 
1417: 
1417:     _SC_NL_ARGMAX,
1417: 
1417:     _SC_NL_LANGMAX,
1417: 
1417:     _SC_NL_MSGMAX,
1417: 
1417:     _SC_NL_NMAX,
1417: 
1417:     _SC_NL_SETMAX,
1417: 
1417:     _SC_NL_TEXTMAX,
1417: 
1417: 
1417:     _SC_XBS5_ILP32_OFF32,
1417: 
1417:     _SC_XBS5_ILP32_OFFBIG,
1417: 
1417:     _SC_XBS5_LP64_OFF64,
1417: 
1417:     _SC_XBS5_LPBIG_OFFBIG,
1417: 
1417: 
1417:     _SC_XOPEN_LEGACY,
1417: 
1417:     _SC_XOPEN_REALTIME,
1417: 
1417:     _SC_XOPEN_REALTIME_THREADS,
1417: 
1417: 
1417:     _SC_ADVISORY_INFO,
1417: 
1417:     _SC_BARRIERS,
1417: 
1417:     _SC_BASE,
1417: 
1417:     _SC_C_LANG_SUPPORT,
1417: 
1417:     _SC_C_LANG_SUPPORT_R,
1417: 
1417:     _SC_CLOCK_SELECTION,
1417: 
1417:     _SC_CPUTIME,
1417: 
1417:     _SC_THREAD_CPUTIME,
1417: 
1417:     _SC_DEVICE_IO,
1417: 
1417:     _SC_DEVICE_SPECIFIC,
1417: 
1417:     _SC_DEVICE_SPECIFIC_R,
1417: 
1417:     _SC_FD_MGMT,
1417: 
1417:     _SC_FIFO,
1417: 
1417:     _SC_PIPE,
1417: 
1417:     _SC_FILE_ATTRIBUTES,
1417: 
1417:     _SC_FILE_LOCKING,
1417: 
1417:     _SC_FILE_SYSTEM,
1417: 
1417:     _SC_MONOTONIC_CLOCK,
1417: 
1417:     _SC_MULTI_PROCESS,
1417: 
1417:     _SC_SINGLE_PROCESS,
1417: 
1417:     _SC_NETWORKING,
1417: 
1417:     _SC_READER_WRITER_LOCKS,
1417: 
1417:     _SC_SPIN_LOCKS,
1417: 
1417:     _SC_REGEXP,
1417: 
1417:     _SC_REGEX_VERSION,
1417: 
1417:     _SC_SHELL,
1417: 
1417:     _SC_SIGNALS,
1417: 
1417:     _SC_SPAWN,
1417: 
1417:     _SC_SPORADIC_SERVER,
1417: 
1417:     _SC_THREAD_SPORADIC_SERVER,
1417: 
1417:     _SC_SYSTEM_DATABASE,
1417: 
1417:     _SC_SYSTEM_DATABASE_R,
1417: 
1417:     _SC_TIMEOUTS,
1417: 
1417:     _SC_TYPED_MEMORY_OBJECTS,
1417: 
1417:     _SC_USER_GROUPS,
1417: 
1417:     _SC_USER_GROUPS_R,
1417: 
1417:     _SC_2_PBS,
1417: 
1417:     _SC_2_PBS_ACCOUNTING,
1417: 
1417:     _SC_2_PBS_LOCATE,
1417: 
1417:     _SC_2_PBS_MESSAGE,
1417: 
1417:     _SC_2_PBS_TRACK,
1417: 
1417:     _SC_SYMLOOP_MAX,
1417: 
1417:     _SC_STREAMS,
1417: 
1417:     _SC_2_PBS_CHECKPOINT,
1417: 
1417: 
1417:     _SC_V6_ILP32_OFF32,
1417: 
1417:     _SC_V6_ILP32_OFFBIG,
1417: 
1417:     _SC_V6_LP64_OFF64,
1417: 
1417:     _SC_V6_LPBIG_OFFBIG,
1417: 
1417: 
1417:     _SC_HOST_NAble __x, double __y) noexcept (true); extern double __hypot (double __x, double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern double cbrt (double __x) noexcept (true); extern double __cbrt (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double ceil (double __x) noexcept (true) __attribute__ ((__const__)); extern double __ceil (double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fabs (double __x) noexcept (true) __attribute__ ((__const__)); extern double __fabs (double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double floor (double __x) noexcept (true) __attribute__ ((__const__)); extern double __floor (double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fmod (double __x, double __y) noexcept (true); extern double __fmod (double __x, double __y) noexcept (true);
1434: # 183 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern int finite (double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern double drem (double __x, double __y) noexcept (true); extern double __drem (double __x, double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern double significand (double __x) noexcept (true); extern double __significand (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern double nan (const char *__tagb) noexcept (true); extern double __nan (const char *__tagb) noexcept (true);
1434: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern double j0 (double) noexcept (true); extern double __j0 (double) noexcept (true);
1434: extern double j1 (double) noexcept (true); extern double __j1 (double) noexcept (true);
1434: extern double jn (int, double) noexcept (true); extern double __jn (int, double) noexcept (true);
1434: extern double y0 (double) noexcept (true); extern double __y0 (double) noexcept (true);
1434: extern double y1 (double) noexcept (true); extern double __y1 (double) noexcept (true);
1434: extern double yn (int, double) noexcept (true); extern double __yn (int, double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern double erf (double) noexcept (true); extern double __erf (double) noexcept (true);
1434:  extern double erfc (double) noexcept (true); extern double __erfc (double) noexcept (true);
1434: extern double lgamma (double) noexcept (true); extern double __lgamma (double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern double tgamma (double) noexcept (true); extern double __tgamma (double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double gamma (double) noexcept (true); extern double __gamma (double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double lgamma_r (double, int *__signgamp) noexcept (true); extern double __lgamma_r (double, int *__signgamp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double rint (double __x) noexcept (true); extern double __rint (double __x) noexcept (true);
1434: 
1434: 
1434: extern double nextafter (double __x, double __y) noexcept (true); extern double __nextafter (double __x, double __y) noexcept (true);
1434: 
1434: extern double nexttoward (double __x, long double __y) noexcept (true); extern double __nexttoward (double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern double nextdown (double __x) noexcept (true); extern double __nextdown (double __x) noexcept (true);
1434: 
1434: extern double nextup (double __x) noexcept (true); extern double __nextup (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern double remainder (double __x, double __y) noexcept (true); extern double __remainder (double __x, double __y) noexcept (true);
1434: r>,
1115:        __iter_val_t<_InputIterator>,
1115:        _Hash, _Pred, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1115:     typename _Pred = equal_to<_Key>,
1115:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireNotAllocator<_Pred>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1115:     typename unordered_map<int, int>::size_type = {},
1115:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1115:     -> unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(_InputIterator, _InputIterator,
1115:     typename unordered_map<int, int>::size_type, _Allocator)
1115:     -> unordered_map<__iter_key_t<_InputIterator>,
1115:        __iter_val_t<_InputIterator>,
1115:        hash<__iter_key_t<_InputIterator>>,
1115:        equal_to<__iter_key_t<_InputIterator>>,
1115:        _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(_InputIterator, _InputIterator, _Allocator)
1115:     -> unordered_map<__iter_key_t<_InputIterator>,
1115:        __iter_val_t<_InputIterator>,
1115:        hash<__iter_key_t<_InputIterator>>,
1115:        equal_to<__iter_key_t<_InputIterator>>,
1115:        _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(_InputIterator, _InputIterator,
1115:     typename unordered_map<int, int>::size_type,
1115:     _Hash, _Allocator)
1115:     -> unordered_map<__iter_key_t<_InputIterator>,
1115:        __iter_val_t<_InputIterator>, _Hash,
1115:        equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1115:     typename unordered_map<int, int>::size_type,
1115:     _Allocator)
1115:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(initializer_list<pair<_Key, _Tp>>, _Allocator)
1115:     -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_map(initializer_list<pair<_Key, _Tp>>,
1115:     typename unordered_map<int, int>::size_type,
1115:     _Hash, _Allocator)
1115:     -> unordered_map<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1115: # 1241 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:   template<typename _Key, typename _Tp,
1115:     typename _Hash = hash<_Key>,
1115:     typename _Pred = equal_to<_Key>,
1115:     typename _Alloc = allocator<std::pair<const _Key, _Tp>>>
1115:     class unordered_multimap
1115:     {
1115:       typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
1115:       _Hashtable _M_h;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef typename _Hashtable::key_type key_type;
1115:       typedef typename _Hashtable::value_type value_type;
1115:       typedef typename _Hashtable::mapped_type mapped_type;
1115:       typedef typename _Hashtable::hasher hasher;
1115:       typedef typename _Hashtable::key_equal key_equal;
1115:       typedef typename 
1434: 
1434: 
1434: extern double scalbn (double __x, int __n) noexcept (true); extern double __scalbn (double __x, int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int ilogb (double __x) noexcept (true); extern int __ilogb (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long int llogb (double __x) noexcept (true); extern long int __llogb (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern double scalbln (double __x, long int __n) noexcept (true); extern double __scalbln (double __x, long int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern double nearbyint (double __x) noexcept (true); extern double __nearbyint (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern double round (double __x) noexcept (true) __attribute__ ((__const__)); extern double __round (double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern double trunc (double __x) noexcept (true) __attribute__ ((__const__)); extern double __trunc (double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern double remquo (double __x, double __y, int *__quo) noexcept (true); extern double __remquo (double __x, double __y, int *__quo) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int lrint (double __x) noexcept (true); extern long int __lrint (double __x) noexcept (true);
1434: __extension__
1434: extern long long int llrint (double __x) noexcept (true); extern long long int __llrint (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long int lround (double __x) noexcept (true); extern long int __lround (double __x) noexcept (true);
1434: __extension__
1434: extern long long int llround (double __x) noexcept (true); extern long long int __llround (double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern double fdim (double __x, double __y) noexcept (true); extern double __fdim (double __x, double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern double fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern double fma (double __x, double __y, double __z) noexcept (true); extern double __fma (double __x, double __y, double __z) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern double roundeven (double __x) noexcept (true) __attribute__ ((__const__)); extern double __roundeven (double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) noexcept (true)
1434:                             ;
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) noexcept (true)
1434:                               ;
1434: 
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1434:                              ;
1434: 
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1434:                                ;
1434: 
1434: 
1434: extern int canonicalize (double *__cx, const double *__x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) noexcept (true) __attributeME_MAX,
1417: 
1417:     _SC_TRACE,
1417: 
1417:     _SC_TRACE_EVENT_FILTER,
1417: 
1417:     _SC_TRACE_INHERIT,
1417: 
1417:     _SC_TRACE_LOG,
1417: 
1417: 
1417:     _SC_LEVEL1_ICACHE_SIZE,
1417: 
1417:     _SC_LEVEL1_ICACHE_ASSOC,
1417: 
1417:     _SC_LEVEL1_ICACHE_LINESIZE,
1417: 
1417:     _SC_LEVEL1_DCACHE_SIZE,
1417: 
1417:     _SC_LEVEL1_DCACHE_ASSOC,
1417: 
1417:     _SC_LEVEL1_DCACHE_LINESIZE,
1417: 
1417:     _SC_LEVEL2_CACHE_SIZE,
1417: 
1417:     _SC_LEVEL2_CACHE_ASSOC,
1417: 
1417:     _SC_LEVEL2_CACHE_LINESIZE,
1417: 
1417:     _SC_LEVEL3_CACHE_SIZE,
1417: 
1417:     _SC_LEVEL3_CACHE_ASSOC,
1417: 
1417:     _SC_LEVEL3_CACHE_LINESIZE,
1417: 
1417:     _SC_LEVEL4_CACHE_SIZE,
1417: 
1417:     _SC_LEVEL4_CACHE_ASSOC,
1417: 
1417:     _SC_LEVEL4_CACHE_LINESIZE,
1417: 
1417: 
1417: 
1417:     _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
1417: 
1417:     _SC_RAW_SOCKETS,
1417: 
1417: 
1417:     _SC_V7_ILP32_OFF32,
1417: 
1417:     _SC_V7_ILP32_OFFBIG,
1417: 
1417:     _SC_V7_LP64_OFF64,
1417: 
1417:     _SC_V7_LPBIG_OFFBIG,
1417: 
1417: 
1417:     _SC_SS_REPL_MAX,
1417: 
1417: 
1417:     _SC_TRACE_EVENT_NAME_MAX,
1417: 
1417:     _SC_TRACE_NAME_MAX,
1417: 
1417:     _SC_TRACE_SYS_MAX,
1417: 
1417:     _SC_TRACE_USER_EVENT_MAX,
1417: 
1417: 
1417:     _SC_XOPEN_STREAMS,
1417: 
1417: 
1417:     _SC_THREAD_ROBUST_PRIO_INHERIT,
1417: 
1417:     _SC_THREAD_ROBUST_PRIO_PROTECT,
1417: 
1417: 
1417:     _SC_MINSIGSTKSZ,
1417: 
1417: 
1417:     _SC_SIGSTKSZ
1417: 
1417:   };
1417: 
1417: 
1417: enum
1417:   {
1417:     _CS_PATH,
1417: 
1417: 
1417:     _CS_V6_WIDTH_RESTRICTED_ENVS,
1417: 
1417: 
1417: 
1417:     _CS_GNU_LIBC_VERSION,
1417: 
1417:     _CS_GNU_LIBPTHREAD_VERSION,
1417: 
1417: 
1417:     _CS_V5_WIDTH_RESTRICTED_ENVS,
1417: 
1417: 
1417: 
1417:     _CS_V7_WIDTH_RESTRICTED_ENVS,
1417: 
1417: 
1417: 
1417:     _CS_LFS_CFLAGS = 1000,
1417: 
1417:     _CS_LFS_LDFLAGS,
1417: 
1417:     _CS_LFS_LIBS,
1417: 
1417:     _CS_LFS_LINTFLAGS,
1417: 
1417:     _CS_LFS64_CFLAGS,
1417: 
1417:     _CS_LFS64_LDFLAGS,
1417: 
1417:     _CS_LFS64_LIBS,
1417: 
1417:     _CS_LFS64_LINTFLAGS,
1417: 
1417: 
1417:     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
1417: 
1417:     _CS_XBS5_ILP32_OFF32_LDFLAGS,
1417: 
1417:     _CS_XBS5_ILP32_OFF32_LIBS,
1417: 
1417:     _CS_XBS5_ILP32_OFF32_LINTFLAGS,
1417: 
1417:     _CS_XBS5_ILP32_OFFBIG_CFLAGS,
1417: 
1417:     _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
1417: 
1417:     _CS_XBS5_ILP32_OFFBIG_LIBS,
1417: 
1417:     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
1417: 
1417:     _CS_XBS5_LP64_OFF64_CFLAGS,
1417: 
1417:     _CS_XBS5_LP64_OFF64_LDFLAGS,
1417: 
1417:     _CS_XBS5_LP64_OFF64_LIBS,
1417: 
1417:     _CS_XBS5_LP64_OFF64_LINTFLAGS,
1417: 
1417:     _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
1417: 
1417:     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
1417: 
1417:     _CS_XBS5_LPBIG_OFFBIG_LIBS,
1417: 
1417:     _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
1417: 
1417: 
1417:     _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
1417: 
1417:     _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
1417: 
1417:     _CS_POSIX_V6_ILP32_OFF32_LIBS,
1417: 
1417:     _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
1417: 
1417:     _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
1417: 
1417:     _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
1417: 
1417:     _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
1417: 
1417:     _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
1417: 
1417:     _CS_POSIX_V6_LP64_OFF64_CFLAGS,
1417: 
1417:     _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
1417: 
1417:     _CS_POSIX_V6_LP64_OFF64_LIBS,
1417: 
1417:     _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
1417: 
1417:     _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
1417: 
1417:     _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
1417: 
1417:     _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
1417: 
1417:     _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
1417: 
1417: 
1417:     _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
1417: 
1417:     _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
1417: 
1417:     _CS_POSIX_V7_ILP32_OFF32_LIBS,
1417: 
1417:     _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
1417: 
1417:     _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
1417: 
1417:     _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
1417: 
1417:     _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
1417: 
1417:     _CS_POSIX_V7_ILP32_OFFB__ ((__const__));
1434: 
1434: 
1434: extern double fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern double fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern double fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int totalorder (const double *__x, const double *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern int totalordermag (const double *__x, const double *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern double getpayload (const double *__x) noexcept (true); extern double __getpayload (const double *__x) noexcept (true);
1434: 
1434: 
1434: extern int setpayload (double *__x, double __payload) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadsig (double *__x, double __payload) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern double scalb (double __x, double __n) noexcept (true); extern double __scalb (double __x, double __n) noexcept (true);
1434: # 314 "/usr/include/math.h" 2 3 4
1434: # 329 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1434: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1434: extern int __fpclassifyf (float __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __signbitf (float __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern int __isinff (float __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __finitef (float __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __isnanf (float __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __iseqsigf (float __x, float __y) noexcept (true);
1434: 
1434: 
1434: extern int __issignalingf (float __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: # 330 "/usr/include/math.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1434: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434:  extern float acosf (float __x) noexcept (true); extern float __acosf (float __x) noexcept (true);
1434: 
1434:  extern float asinf (fl_Hashtable::allocator_type allocator_type;
1115: 
1115: 
1115: 
1115: 
1115:       typedef typename _Hashtable::pointer pointer;
1115:       typedef typename _Hashtable::const_pointer const_pointer;
1115:       typedef typename _Hashtable::reference reference;
1115:       typedef typename _Hashtable::const_reference const_reference;
1115:       typedef typename _Hashtable::iterator iterator;
1115:       typedef typename _Hashtable::const_iterator const_iterator;
1115:       typedef typename _Hashtable::local_iterator local_iterator;
1115:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1115:       typedef typename _Hashtable::size_type size_type;
1115:       typedef typename _Hashtable::difference_type difference_type;
1115: 
1115: 
1115: 
1115:       using node_type = typename _Hashtable::node_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unordered_multimap() = default;
1115: # 1292 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       explicit
1115:       unordered_multimap(size_type __n,
1115:     const hasher& __hf = hasher(),
1115:     const key_equal& __eql = key_equal(),
1115:     const allocator_type& __a = allocator_type())
1115:       : _M_h(__n, __hf, __eql, __a)
1115:       { }
1115: # 1313 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename _InputIterator>
1115:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1115:       size_type __n = 0,
1115:       const hasher& __hf = hasher(),
1115:       const key_equal& __eql = key_equal(),
1115:       const allocator_type& __a = allocator_type())
1115:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1115:  { }
1115: 
1115: 
1115:       unordered_multimap(const unordered_multimap&) = default;
1115: 
1115: 
1115:       unordered_multimap(unordered_multimap&&) = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       unordered_multimap(const allocator_type& __a)
1115:       : _M_h(__a)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unordered_multimap(const unordered_multimap& __ummap,
1115:     const allocator_type& __a)
1115:       : _M_h(__ummap._M_h, __a)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       unordered_multimap(unordered_multimap&& __ummap,
1115:     const allocator_type& __a)
1115:  noexcept( noexcept(_Hashtable(std::move(__ummap._M_h), __a)) )
1115:       : _M_h(std::move(__ummap._M_h), __a)
1115:       { }
1115: # 1369 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       unordered_multimap(initializer_list<value_type> __l,
1115:     size_type __n = 0,
1115:     const hasher& __hf = hasher(),
1115:     const key_equal& __eql = key_equal(),
1115:     const allocator_type& __a = allocator_type())
1115:       : _M_h(__l, __n, __hf, __eql, __a)
1115:       { }
1115: 
1115:       unordered_multimap(size_type __n, const allocator_type& __a)
1115:       : unordered_multimap(__n, hasher(), key_equal(), __a)
1115:       { }
1115: 
1115:       unordered_multimap(size_type __n, const hasher& __hf,
1115:     const allocator_type& __a)
1115:       : unordered_multimap(__n, __hf, key_equal(), __a)
1115:       { }
1115: 
1115:       template<typename _InputIterator>
1115:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1115:       size_type __n,
1115:       const allocator_type& __a)
1115:  : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a)
1115:  { }
1115: 
1115:       template<typename _InputIterator>
1115:  unordered_multimap(_InputIterator __first, _InputIterator __last,
1115:       size_type __n, const hasher& __hf,
1115:       const allocator_type& __a)
1115:  : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a)
1115:  { }
1115: 
1115:       unordered_multimap(initializer_list<value_type> __l,
1115:     size_type __n,
1115:     const allocator_type& __a)
1115:       : unordered_multimap(__l, __n, hasher(), key_equal(), __a)
1115:       { }
1115: 
1115:       unordered_multimap(initializer_list<value_type> __l,
1115:     size_type __n, const hasher& __hf,
1115:   oat __x) noexcept (true); extern float __asinf (float __x) noexcept (true);
1434: 
1434:  extern float atanf (float __x) noexcept (true); extern float __atanf (float __x) noexcept (true);
1434: 
1434:  extern float atan2f (float __y, float __x) noexcept (true); extern float __atan2f (float __y, float __x) noexcept (true);
1434: 
1434: 
1434:  extern float cosf (float __x) noexcept (true); extern float __cosf (float __x) noexcept (true);
1434: 
1434:  extern float sinf (float __x) noexcept (true); extern float __sinf (float __x) noexcept (true);
1434: 
1434:  extern float tanf (float __x) noexcept (true); extern float __tanf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern float coshf (float __x) noexcept (true); extern float __coshf (float __x) noexcept (true);
1434: 
1434:  extern float sinhf (float __x) noexcept (true); extern float __sinhf (float __x) noexcept (true);
1434: 
1434:  extern float tanhf (float __x) noexcept (true); extern float __tanhf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern void sincosf (float __x, float *__sinx, float *__cosx) noexcept (true); extern void __sincosf (float __x, float *__sinx, float *__cosx) noexcept (true)
1434:                                                         ;
1434: 
1434: 
1434: 
1434: 
1434:  extern float acoshf (float __x) noexcept (true); extern float __acoshf (float __x) noexcept (true);
1434: 
1434:  extern float asinhf (float __x) noexcept (true); extern float __asinhf (float __x) noexcept (true);
1434: 
1434:  extern float atanhf (float __x) noexcept (true); extern float __atanhf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern float expf (float __x) noexcept (true); extern float __expf (float __x) noexcept (true);
1434: 
1434: 
1434: extern float frexpf (float __x, int *__exponent) noexcept (true); extern float __frexpf (float __x, int *__exponent) noexcept (true);
1434: 
1434: 
1434: extern float ldexpf (float __x, int __exponent) noexcept (true); extern float __ldexpf (float __x, int __exponent) noexcept (true);
1434: 
1434: 
1434:  extern float logf (float __x) noexcept (true); extern float __logf (float __x) noexcept (true);
1434: 
1434: 
1434:  extern float log10f (float __x) noexcept (true); extern float __log10f (float __x) noexcept (true);
1434: 
1434: 
1434: extern float modff (float __x, float *__iptr) noexcept (true); extern float __modff (float __x, float *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434:  extern float exp10f (float __x) noexcept (true); extern float __exp10f (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern float expm1f (float __x) noexcept (true); extern float __expm1f (float __x) noexcept (true);
1434: 
1434: 
1434:  extern float log1pf (float __x) noexcept (true); extern float __log1pf (float __x) noexcept (true);
1434: 
1434: 
1434: extern float logbf (float __x) noexcept (true); extern float __logbf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern float exp2f (float __x) noexcept (true); extern float __exp2f (float __x) noexcept (true);
1434: 
1434: 
1434:  extern float log2f (float __x) noexcept (true); extern float __log2f (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern float powf (float __x, float __y) noexcept (true); extern float __powf (float __x, float __y) noexcept (true);
1434: 
1434: 
1434: extern float sqrtf (float __x) noexcept (true); extern float __sqrtf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern float hypotf (float __x, float __y) noexcept (true); extern float __hypotf (float __x, float __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern float cbrtf (float __x) noexcept (true); extern float __cbrtf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float ceilf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __ceilf (float __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fabsf (float __x) noexcept (true) __attribuIG_LINTFLAGS,
1417: 
1417:     _CS_POSIX_V7_LP64_OFF64_CFLAGS,
1417: 
1417:     _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
1417: 
1417:     _CS_POSIX_V7_LP64_OFF64_LIBS,
1417: 
1417:     _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
1417: 
1417:     _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
1417: 
1417:     _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
1417: 
1417:     _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
1417: 
1417:     _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
1417: 
1417: 
1417:     _CS_V6_ENV,
1417: 
1417:     _CS_V7_ENV
1417: 
1417:   };
1417: # 631 "/usr/include/unistd.h" 2 3 4
1417: 
1417: 
1417: extern long int pathconf (const char *__path, int __name)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern long int fpathconf (int __fd, int __name) noexcept (true);
1417: 
1417: 
1417: extern long int sysconf (int __name) noexcept (true);
1417: 
1417: 
1417: 
1417: extern size_t confstr (int __name, char *__buf, size_t __len) noexcept (true)
1417:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: extern __pid_t getpid (void) noexcept (true);
1417: 
1417: 
1417: extern __pid_t getppid (void) noexcept (true);
1417: 
1417: 
1417: extern __pid_t getpgrp (void) noexcept (true);
1417: 
1417: 
1417: extern __pid_t __getpgid (__pid_t __pid) noexcept (true);
1417: 
1417: extern __pid_t getpgid (__pid_t __pid) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int setpgid (__pid_t __pid, __pid_t __pgid) noexcept (true);
1417: # 682 "/usr/include/unistd.h" 3 4
1417: extern int setpgrp (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __pid_t setsid (void) noexcept (true);
1417: 
1417: 
1417: 
1417: extern __pid_t getsid (__pid_t __pid) noexcept (true);
1417: 
1417: 
1417: 
1417: extern __uid_t getuid (void) noexcept (true);
1417: 
1417: 
1417: extern __uid_t geteuid (void) noexcept (true);
1417: 
1417: 
1417: extern __gid_t getgid (void) noexcept (true);
1417: 
1417: 
1417: extern __gid_t getegid (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int getgroups (int __size, __gid_t __list[]) noexcept (true) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__write_only__, 2, 1)));
1417: 
1417: 
1417: extern int group_member (__gid_t __gid) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int setuid (__uid_t __uid) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int setreuid (__uid_t __ruid, __uid_t __euid) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int seteuid (__uid_t __uid) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int setgid (__gid_t __gid) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int setregid (__gid_t __rgid, __gid_t __egid) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int setegid (__gid_t __gid) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
1417:      noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
1417:      noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __pid_t fork (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __pid_t vfork (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern __pid_t _Fork (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *ttyname (int __fd) noexte__ ((__const__)); extern float __fabsf (float __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float floorf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __floorf (float __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fmodf (float __x, float __y) noexcept (true); extern float __fmodf (float __x, float __y) noexcept (true);
1434: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern int isinff (float __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int finitef (float __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern float dremf (float __x, float __y) noexcept (true); extern float __dremf (float __x, float __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float significandf (float __x) noexcept (true); extern float __significandf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern float nanf (const char *__tagb) noexcept (true); extern float __nanf (const char *__tagb) noexcept (true);
1434: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern int isnanf (float __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float j0f (float) noexcept (true); extern float __j0f (float) noexcept (true);
1434: extern float j1f (float) noexcept (true); extern float __j1f (float) noexcept (true);
1434: extern float jnf (int, float) noexcept (true); extern float __jnf (int, float) noexcept (true);
1434: extern float y0f (float) noexcept (true); extern float __y0f (float) noexcept (true);
1434: extern float y1f (float) noexcept (true); extern float __y1f (float) noexcept (true);
1434: extern float ynf (int, float) noexcept (true); extern float __ynf (int, float) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern float erff (float) noexcept (true); extern float __erff (float) noexcept (true);
1434:  extern float erfcf (float) noexcept (true); extern float __erfcf (float) noexcept (true);
1434: extern float lgammaf (float) noexcept (true); extern float __lgammaf (float) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern float tgammaf (float) noexcept (true); extern float __tgammaf (float) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float gammaf (float) noexcept (true); extern float __gammaf (float) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float lgammaf_r (float, int *__signgamp) noexcept (true); extern float __lgammaf_r (float, int *__signgamp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float rintf (float __x) noexcept (true); extern float __rintf (float __x) noexcept (true);
1434: 
1434: 
1434: extern float nextafterf (float __x, float __y) noexcept (true); extern float __nextafterf (float __x, float __y) noexcept (true);
1434: 
1434: extern float nexttowardf (float __x, long double __y) noexcept (true); extern float __nexttowardf (float __x, long double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern float nextdownf (float __x) noexcept (true); extern float __nextdownf (float __x) noexcept (true);
1434: 
1434: extern float nextupf (float __x) noexcept (true); extern float __nextupf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float remainderf (float __x, float __y) noexcept (true); extern float __remainderf (float __x, float __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float scalbnf (float __x, int __n) noexcept (true); extern float __scalbnf (float __x, int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int ilogbf (float __x) noexcept (true); extern int __ilogbf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long int llogbf (floa  const allocator_type& __a)
1115:       : unordered_multimap(__l, __n, __hf, key_equal(), __a)
1115:       { }
1115: 
1115: 
1115:       unordered_multimap&
1115:       operator=(const unordered_multimap&) = default;
1115: 
1115: 
1115:       unordered_multimap&
1115:       operator=(unordered_multimap&&) = default;
1115: # 1431 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       unordered_multimap&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  _M_h = __l;
1115:  return *this;
1115:       }
1115: 
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return _M_h.get_allocator(); }
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return _M_h.empty(); }
1115: 
1115: 
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_h.size(); }
1115: 
1115: 
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _M_h.max_size(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       begin() noexcept
1115:       { return _M_h.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return _M_h.begin(); }
1115: 
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return _M_h.begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       end() noexcept
1115:       { return _M_h.end(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const_iterator
1115:       end() const noexcept
1115:       { return _M_h.end(); }
1115: 
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return _M_h.end(); }
1115: # 1523 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace(_Args&&... __args)
1115:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1115: # 1550 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace_hint(const_iterator __pos, _Args&&... __args)
1115:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1115: # 1565 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       insert(const value_type& __x)
1115:       { return _M_h.insert(__x); }
1115: 
1115:       iterator
1115:       insert(value_type&& __x)
1115:       { return _M_h.insert(std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1115:  insert(_Pair&& __x)
1115:         { return _M_h.emplace(std::forward<_Pair>(__x)); }
1115: # 1599 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       insert(const_iterator __hint, const value_type& __x)
1115:       { return _M_h.insert(__hint, __x); }
1115: 
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, value_type&& __x)
1115:       { return _M_h.insert(__hint, std::move(__x)); }
1115: 
1115:       template<typename _Pair>
1115:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
1115:  insert(const_iterator __hint, _Pair&& __x)
1115:         { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); }
1115: # 1624 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  insert(_InputIterator __first, _InputIterator __last)
1115:  { _M_h.insert(__first, __last); }
1115: # 1637 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       insert(initializer_list<value_type> __l)
1115:       { _M_h.insert(__l); }
1115: 
1115: 
1115: 
1115:       node_type
1115:       extract(const_iterator __pos)
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1115:  return _M_h.extract(__pos);
1115:       }
1115: 
1115: 
1115:       node_type
1115:       extract(const key_type& __key)
1115:       { return _M_h.extract(__key); }
1115:t __x) noexcept (true); extern long int __llogbf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern float scalblnf (float __x, long int __n) noexcept (true); extern float __scalblnf (float __x, long int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float nearbyintf (float __x) noexcept (true); extern float __nearbyintf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float roundf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundf (float __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern float truncf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __truncf (float __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern float remquof (float __x, float __y, int *__quo) noexcept (true); extern float __remquof (float __x, float __y, int *__quo) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int lrintf (float __x) noexcept (true); extern long int __lrintf (float __x) noexcept (true);
1434: __extension__
1434: extern long long int llrintf (float __x) noexcept (true); extern long long int __llrintf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long int lroundf (float __x) noexcept (true); extern long int __lroundf (float __x) noexcept (true);
1434: __extension__
1434: extern long long int llroundf (float __x) noexcept (true); extern long long int __llroundf (float __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float fdimf (float __x, float __y) noexcept (true); extern float __fdimf (float __x, float __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern float fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern float fmaf (float __x, float __y, float __z) noexcept (true); extern float __fmaf (float __x, float __y, float __z) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern float roundevenf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundevenf (float __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1434:                             ;
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1434:                               ;
1434: 
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1434:                              ;
1434: 
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1434:                                ;
1434: 
1434: 
1434: extern int canonicalizef (float *__cx, const float *__x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern float fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxicept (true);
1417: 
1417: 
1417: 
1417: extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__))
1417:      __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: 
1417: 
1417: 
1417: extern int isatty (int __fd) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int ttyslot (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int link (const char *__from, const char *__to)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int linkat (int __fromfd, const char *__from, int __tofd,
1417:      const char *__to, int __flags)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern int symlink (const char *__from, const char *__to)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: extern ssize_t readlink (const char *__restrict __path,
1417:     char *__restrict __buf, size_t __len)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__))
1417:      __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int symlinkat (const char *__from, int __tofd,
1417:         const char *__to) noexcept (true) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: extern ssize_t readlinkat (int __fd, const char *__restrict __path,
1417:       char *__restrict __buf, size_t __len)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__))
1417:      __attribute__ ((__access__ (__write_only__, 3, 4)));
1417: 
1417: 
1417: 
1417: extern int unlink (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern int unlinkat (int __fd, const char *__name, int __flag)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1417: 
1417: 
1417: 
1417: extern int rmdir (const char *__path) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: extern __pid_t tcgetpgrp (int __fd) noexcept (true);
1417: 
1417: 
1417: extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *getlogin (void);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)))
1417:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int setlogin (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 1 3 4
1417: # 27 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 3 4
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/getopt_core.h" 1 3 4
1417: # 28 "/usr/include/arm-linux-gnueabihf/bits/getopt_core.h" 3 4
1417: extern "C" {
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern char *optarg;
1417: # 50 "/usr/include/arm-linux-gnueabihf/bits/getopt_core.h" 3 4
1417: extern int optind;
1417: 
1417: 
1417: 
1417: 
1417: extern int opterr;
1417: 
1417: 
1417: 
1417: extern int optopt;
1417: # 91 "/usr/include/arm-linux-gnueabihf/bits/getopt_core.h" 3 4
1417: extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
1417:        noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1417: 
1417: }
1417: # 28 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 2 3 4
1417: 
1417: extern "C" {
1417: # 49 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 3 4
1417: }
1417: # 904 "/usr/include/unistd.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int gethostname (char *__name, size_t __len) noexcept (true) __attribute__ ((__nonnull__ (1)))
1417:    mumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern float fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int totalorderf (const float *__x, const float *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern int totalordermagf (const float *__x, const float *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern float getpayloadf (const float *__x) noexcept (true); extern float __getpayloadf (const float *__x) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadf (float *__x, float __payload) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadsigf (float *__x, float __payload) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern float scalbf (float __x, float __n) noexcept (true); extern float __scalbf (float __x, float __n) noexcept (true);
1434: # 331 "/usr/include/math.h" 2 3 4
1434: # 398 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1434: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1434: extern int __fpclassifyl (long double __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __signbitl (long double __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern int __isinfl (long double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __finitel (long double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __isnanl (long double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern int __iseqsigl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern int __issignalingl (long double __value) noexcept (true)
1434:      __attribute__ ((__const__));
1434: # 399 "/usr/include/math.h" 2 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1434: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434:  extern long double acosl (long double __x) noexcept (true); extern long double __acosl (long double __x) noexcept (true);
1434: 
1434:  extern long double asinl (long double __x) noexcept (true); extern long double __asinl (long double __x) noexcept (true);
1434: 
1434:  extern long double atanl (long double __x) noexcept (true); extern long double __atanl (long double __x) noexcept (true);
1434: 
1434:  extern long double atan2l (long double __y, long double __x) noexcept (true); extern long 
1115: 
1115:       iterator
1115:       insert(node_type&& __nh)
1115:       { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); }
1115: 
1115: 
1115:       iterator
1115:       insert(const_iterator __hint, node_type&& __nh)
1115:       { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); }
1115: # 1680 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       erase(const_iterator __position)
1115:       { return _M_h.erase(__position); }
1115: 
1115: 
1115:       iterator
1115:       erase(iterator __position)
1115:       { return _M_h.erase(__position); }
1115: # 1701 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       size_type
1115:       erase(const key_type& __x)
1115:       { return _M_h.erase(__x); }
1115: # 1720 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       erase(const_iterator __first, const_iterator __last)
1115:       { return _M_h.erase(__first, __last); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       clear() noexcept
1115:       { _M_h.clear(); }
1115: # 1744 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       swap(unordered_multimap& __x)
1115:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1115:       { _M_h.swap(__x._M_h); }
1115: 
1115: 
1115:       template<typename, typename, typename>
1115:  friend class std::_Hash_merge_helper;
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper
1115:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1115:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1115:  }
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source)
1115:  {
1115:    using _Merge_helper
1115:      = _Hash_merge_helper<unordered_multimap, _H2, _P2>;
1115:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1115:  }
1115: 
1115:       template<typename _H2, typename _P2>
1115:  void
1115:  merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source)
1115:  { merge(__source); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       hasher
1115:       hash_function() const
1115:       { return _M_h.hash_function(); }
1115: 
1115: 
1115: 
1115:       key_equal
1115:       key_eq() const
1115:       { return _M_h.key_eq(); }
1115: # 1810 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       iterator
1115:       find(const key_type& __x)
1115:       { return _M_h.find(__x); }
1115: # 1821 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       const_iterator
1115:       find(const key_type& __x) const
1115:       { return _M_h.find(__x); }
1115: # 1839 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       size_type
1115:       count(const key_type& __x) const
1115:       { return _M_h.count(__x); }
1115: # 1877 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       std::pair<iterator, iterator>
1115:       equal_range(const key_type& __x)
1115:       { return _M_h.equal_range(__x); }
1115: # 1889 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       std::pair<const_iterator, const_iterator>
1115:       equal_range(const key_type& __x) const
1115:       { return _M_h.equal_range(__x); }
1115: # 1905 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       size_type
1115:       bucket_count() const noexcept
1115:       { return _M_h.bucket_count(); }
1115: 
1115: 
1115:       size_type
1115:       max_bucket_count() const noexcept
1115:       { return _M_h.max_bucket_count(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       size_type
1115:       bucket_size(size_type __n) const
1115:       { return _M_h.bucket_size(__n); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       size_type
1115:       bucket(const key_type& __key) const
1115:       { return _M_ double __atan2l (long double __y, long double __x) noexcept (true);
1434: 
1434: 
1434:  extern long double cosl (long double __x) noexcept (true); extern long double __cosl (long double __x) noexcept (true);
1434: 
1434:  extern long double sinl (long double __x) noexcept (true); extern long double __sinl (long double __x) noexcept (true);
1434: 
1434:  extern long double tanl (long double __x) noexcept (true); extern long double __tanl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern long double coshl (long double __x) noexcept (true); extern long double __coshl (long double __x) noexcept (true);
1434: 
1434:  extern long double sinhl (long double __x) noexcept (true); extern long double __sinhl (long double __x) noexcept (true);
1434: 
1434:  extern long double tanhl (long double __x) noexcept (true); extern long double __tanhl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern void sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true)
1434:                                                         ;
1434: 
1434: 
1434: 
1434: 
1434:  extern long double acoshl (long double __x) noexcept (true); extern long double __acoshl (long double __x) noexcept (true);
1434: 
1434:  extern long double asinhl (long double __x) noexcept (true); extern long double __asinhl (long double __x) noexcept (true);
1434: 
1434:  extern long double atanhl (long double __x) noexcept (true); extern long double __atanhl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern long double expl (long double __x) noexcept (true); extern long double __expl (long double __x) noexcept (true);
1434: 
1434: 
1434: extern long double frexpl (long double __x, int *__exponent) noexcept (true); extern long double __frexpl (long double __x, int *__exponent) noexcept (true);
1434: 
1434: 
1434: extern long double ldexpl (long double __x, int __exponent) noexcept (true); extern long double __ldexpl (long double __x, int __exponent) noexcept (true);
1434: 
1434: 
1434:  extern long double logl (long double __x) noexcept (true); extern long double __logl (long double __x) noexcept (true);
1434: 
1434: 
1434:  extern long double log10l (long double __x) noexcept (true); extern long double __log10l (long double __x) noexcept (true);
1434: 
1434: 
1434: extern long double modfl (long double __x, long double *__iptr) noexcept (true); extern long double __modfl (long double __x, long double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434:  extern long double exp10l (long double __x) noexcept (true); extern long double __exp10l (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern long double expm1l (long double __x) noexcept (true); extern long double __expm1l (long double __x) noexcept (true);
1434: 
1434: 
1434:  extern long double log1pl (long double __x) noexcept (true); extern long double __log1pl (long double __x) noexcept (true);
1434: 
1434: 
1434: extern long double logbl (long double __x) noexcept (true); extern long double __logbl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern long double exp2l (long double __x) noexcept (true); extern long double __exp2l (long double __x) noexcept (true);
1434: 
1434: 
1434:  extern long double log2l (long double __x) noexcept (true); extern long double __log2l (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern long double powl (long double __x, long double __y) noexcept (true); extern long double __powl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern long double sqrtl (long double __x) noexcept (true); extern long double __sqrtl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern long double hypotl (long double __x, long double __y) noexcept (true); extern long double __hypotl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434 __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int sethostname (const char *__name, size_t __len)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__read_only__, 1, 2)));
1417: 
1417: 
1417: 
1417: extern int sethostid (long int __id) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getdomainname (char *__name, size_t __len)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__))
1417:      __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern int setdomainname (const char *__name, size_t __len)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__read_only__, 1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: extern int vhangup (void) noexcept (true);
1417: 
1417: 
1417: extern int revoke (const char *__file) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int profil (unsigned short int *__sample_buffer, size_t __size,
1417:      size_t __offset, unsigned int __scale)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int acct (const char *__name) noexcept (true);
1417: 
1417: 
1417: 
1417: extern char *getusershell (void) noexcept (true);
1417: extern void endusershell (void) noexcept (true);
1417: extern void setusershell (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int daemon (int __nochdir, int __noclose) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int chroot (const char *__path) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fsync (int __fd);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int syncfs (int __fd) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern long int gethostid (void);
1417: 
1417: 
1417: extern void sync (void) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getpagesize (void) noexcept (true) __attribute__ ((__const__));
1417: 
1417: 
1417: 
1417: 
1417: extern int getdtablesize (void) noexcept (true);
1417: # 1030 "/usr/include/unistd.h" 3 4
1417: extern int truncate (const char *__file, __off64_t __length) noexcept (true) __asm__ ("" "truncate64")
1417: 
1417:                   __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int truncate64 (const char *__file, __off64_t __length)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1417: # 1052 "/usr/include/unistd.h" 3 4
1417: extern int ftruncate (int __fd, __off64_t __length) noexcept (true) __asm__ ("" "ftruncate64")
1417:                    __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int ftruncate64 (int __fd, __off64_t __length) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: # 1070 "/usr/include/unistd.h" 3 4
1417: extern int brk (void *__addr) noexcept (true) __attribute__ ((__warn_unused_result__));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void *sbrk (intptr_t __delta) noexcept (true);
1417: # 1091 "/usr/include/unistd.h" 3 4
1417: extern long int syscall (long int __sysno, ...) noexcept (true);
1417: # 1142 "/usr/include/unistd.h" 3 4
1417: ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
1417:     int __outfd, __off64_t *__poutoff,
1417:     size_t __length, unsigned int __flags);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int fdatasync (int __fildes);
1417: # 1159 "/usr/include/unistd.h" 3 : 
1434: 
1434:  extern long double cbrtl (long double __x) noexcept (true); extern long double __cbrtl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double ceill (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __ceill (long double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fabsl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __fabsl (long double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double floorl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __floorl (long double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fmodl (long double __x, long double __y) noexcept (true); extern long double __fmodl (long double __x, long double __y) noexcept (true);
1434: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern int isinfl (long double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int finitel (long double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double dreml (long double __x, long double __y) noexcept (true); extern long double __dreml (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long double significandl (long double __x) noexcept (true); extern long double __significandl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern long double nanl (const char *__tagb) noexcept (true); extern long double __nanl (const char *__tagb) noexcept (true);
1434: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern int isnanl (long double __value) noexcept (true)
1434:   __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double j0l (long double) noexcept (true); extern long double __j0l (long double) noexcept (true);
1434: extern long double j1l (long double) noexcept (true); extern long double __j1l (long double) noexcept (true);
1434: extern long double jnl (int, long double) noexcept (true); extern long double __jnl (int, long double) noexcept (true);
1434: extern long double y0l (long double) noexcept (true); extern long double __y0l (long double) noexcept (true);
1434: extern long double y1l (long double) noexcept (true); extern long double __y1l (long double) noexcept (true);
1434: extern long double ynl (int, long double) noexcept (true); extern long double __ynl (int, long double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern long double erfl (long double) noexcept (true); extern long double __erfl (long double) noexcept (true);
1434:  extern long double erfcl (long double) noexcept (true); extern long double __erfcl (long double) noexcept (true);
1434: extern long double lgammal (long double) noexcept (true); extern long double __lgammal (long double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long double tgammal (long double) noexcept (true); extern long double __tgammal (long double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double gammal (long double) noexcept (true); extern long double __gammal (long double) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double lgammal_r (long double, int *__signgamp) noexcept (true); extern long double __lgammal_r (long double, int *__signgamp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double rintl (long double __x) noexcept (true); extern long double __rintl (long double __x) noexcept (true);
1434: 
1434: 
1434: extern long double nextafterl (long double __x, long double __y) noeh.bucket(__key); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       local_iterator
1115:       begin(size_type __n)
1115:       { return _M_h.begin(__n); }
1115: # 1949 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       const_local_iterator
1115:       begin(size_type __n) const
1115:       { return _M_h.begin(__n); }
1115: 
1115:       const_local_iterator
1115:       cbegin(size_type __n) const
1115:       { return _M_h.cbegin(__n); }
1115: # 1964 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       local_iterator
1115:       end(size_type __n)
1115:       { return _M_h.end(__n); }
1115: # 1975 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       const_local_iterator
1115:       end(size_type __n) const
1115:       { return _M_h.end(__n); }
1115: 
1115:       const_local_iterator
1115:       cend(size_type __n) const
1115:       { return _M_h.cend(__n); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       float
1115:       load_factor() const noexcept
1115:       { return _M_h.load_factor(); }
1115: 
1115: 
1115: 
1115:       float
1115:       max_load_factor() const noexcept
1115:       { return _M_h.max_load_factor(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       max_load_factor(float __z)
1115:       { _M_h.max_load_factor(__z); }
1115: # 2012 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       rehash(size_type __n)
1115:       { _M_h.rehash(__n); }
1115: # 2023 "/usr/include/c++/12/bits/unordered_map.h" 3
1115:       void
1115:       reserve(size_type __n)
1115:       { _M_h.reserve(__n); }
1115: 
1115:       template<typename _Key1, typename _Tp1, typename _Hash1, typename _Pred1,
1115:         typename _Alloc1>
1115:         friend bool
1115:  operator==(const unordered_multimap<_Key1, _Tp1,
1115:          _Hash1, _Pred1, _Alloc1>&,
1115:      const unordered_multimap<_Key1, _Tp1,
1115:          _Hash1, _Pred1, _Alloc1>&);
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator,
1115:     typename _Hash = hash<__iter_key_t<_InputIterator>>,
1115:     typename _Pred = equal_to<__iter_key_t<_InputIterator>>,
1115:     typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireNotAllocator<_Pred>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_multimap(_InputIterator, _InputIterator,
1115:          unordered_multimap<int, int>::size_type = {},
1115:          _Hash = _Hash(), _Pred = _Pred(),
1115:          _Allocator = _Allocator())
1115:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1115:      __iter_val_t<_InputIterator>, _Hash, _Pred,
1115:      _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
1115:     typename _Pred = equal_to<_Key>,
1115:     typename _Allocator = allocator<pair<const _Key, _Tp>>,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireNotAllocator<_Pred>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1115:          unordered_multimap<int, int>::size_type = {},
1115:          _Hash = _Hash(), _Pred = _Pred(),
1115:          _Allocator = _Allocator())
1115:     -> unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_multimap(_InputIterator, _InputIterator,
1115:          unordered_multimap<int, int>::size_type, _Allocator)
1115:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1115:      __iter_val_t<_InputIterator>,
1115:      hash<__iter_key_t<_InputIterator>>,
1115:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _Requixcept (true); extern long double __nextafterl (long double __x, long double __y) noexcept (true);
1434: 
1434: extern long double nexttowardl (long double __x, long double __y) noexcept (true); extern long double __nexttowardl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long double nextdownl (long double __x) noexcept (true); extern long double __nextdownl (long double __x) noexcept (true);
1434: 
1434: extern long double nextupl (long double __x) noexcept (true); extern long double __nextupl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long double remainderl (long double __x, long double __y) noexcept (true); extern long double __remainderl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long double scalbnl (long double __x, int __n) noexcept (true); extern long double __scalbnl (long double __x, int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int ilogbl (long double __x) noexcept (true); extern int __ilogbl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long int llogbl (long double __x) noexcept (true); extern long int __llogbl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long double scalblnl (long double __x, long int __n) noexcept (true); extern long double __scalblnl (long double __x, long int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long double nearbyintl (long double __x) noexcept (true); extern long double __nearbyintl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long double roundl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundl (long double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern long double truncl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __truncl (long double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern long double remquol (long double __x, long double __y, int *__quo) noexcept (true); extern long double __remquol (long double __x, long double __y, int *__quo) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int lrintl (long double __x) noexcept (true); extern long int __lrintl (long double __x) noexcept (true);
1434: __extension__
1434: extern long long int llrintl (long double __x) noexcept (true); extern long long int __llrintl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long int lroundl (long double __x) noexcept (true); extern long int __lroundl (long double __x) noexcept (true);
1434: __extension__
1434: extern long long int llroundl (long double __x) noexcept (true); extern long long int __llroundl (long double __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long double fdiml (long double __x, long double __y) noexcept (true); extern long double __fdiml (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long double fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern long double fmal (long double __x, long double __y, long double __z) noexcept (true); extern long double __fmal (long double __x, long double __y, long double __z) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long double roundevenl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpl (long double 4
1417: extern char *crypt (const char *__key, const char *__salt)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern void swab (const void *__restrict __from, void *__restrict __to,
1417:     ssize_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)))
1417:     __attribute__ ((__access__ (__read_only__, 1, 3)))
1417:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: # 1198 "/usr/include/unistd.h" 3 4
1417: int getentropy (void *__buffer, size_t __length) __attribute__ ((__warn_unused_result__))
1417:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: # 1208 "/usr/include/unistd.h" 3 4
1417: extern int close_range (unsigned int __fd, unsigned int __max_fd,
1417:    int __flags) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/unistd.h" 1 3 4
1417: # 23 "/usr/include/arm-linux-gnueabihf/bits/unistd.h" 3 4
1417: extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,
1417:       size_t __buflen)
1417:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __read_alias (int __fd, void *__buf, size_t __nbytes) __asm__ ("" "read")
1417: 
1417:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __read_chk_warn (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __asm__ ("" "__read_chk")
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("read called with bigger length than size of " "the destination buffer")))
1417:                                   ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
1417: read (int __fd, void *__buf, size_t __nbytes)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 0)) && (__builtin_object_size (__buf, 0)) == (unsigned int) -1) || (((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char))))) && (((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char)))))) ? __read_alias (__fd, __buf, __nbytes) : ((((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) && !(((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) ? __read_chk_warn (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)) : __read_chk (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0))))
1417: 
1417:                            ;
1417: }
1417: 
1417: 
1417: extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,
1417:        __off_t __offset, size_t __bufsize)
1417:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,
1417:          __off64_t __offset, size_t __bufsize)
1417:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __pread_alias (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __asm__ ("" "pread")
1417: 
1417: 
1417:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __pread64_alias (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64")
1417: 
1417: 
1417:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __pread_chk_warn (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __asm__ ("" "__pread_chk")
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_res__x, int __round, unsigned int __width) noexcept (true)
1434:                             ;
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
1434:                               ;
1434: 
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1434:                              ;
1434: 
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1434:                                ;
1434: 
1434: 
1434: extern int canonicalizel (long double *__cx, const long double *__x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern long double fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern long double fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int totalorderl (const long double *__x, const long double *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern int totalordermagl (const long double *__x, const long double *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern long double getpayloadl (const long double *__x) noexcept (true); extern long double __getpayloadl (const long double *__x) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadl (long double *__x, long double __payload) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadsigl (long double *__x, long double __payload) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long double scalbl (long double __x, long double __n) noexcept (true); extern long double __scalbl (long double __x, long double __n) noexcept (true);
1434: # 400 "/usr/include/math.h" 2 3 4
1434: # 450 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1434: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434:  extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32 coshf32 (_Float32 __x) noexcept (true); extern _Float32 __coshf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 sinhf32 (_Float32 __x) noexcept (true); extern _Float32 __sinhf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 tanhf32 (_Float32 __x) noexcept (true); extern _Float32 __tanhf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true)
1434:                                                         ;
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32 acoshf32 (_Float32 __x) noexcept (true); extern _Float32 __acoshf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 asinhf32 (_Float32 __x) noexcept (true); extern _Float32 __asinhf32 (_Float32 __x) noexcept (true);
1434: 
1434:  extern _Float32 atanhf32 (_Float32 __x) noexcept (true); extern _Float32 __atanhf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32 expf32 (_Float32 __x) noexcept (true); extern _Float32 __expf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) noexcept (true); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) noexcept (true);
1434: 
1434: 
1434: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) noexcept (true); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) noexcept (true);
1434: 
1434: 
1434:  extern _Float32 logf32 (_Float32 __x) noexcept (true); extern _Float32 __logf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32 log10f32 (_Float32 __x) noexcept (true); extern _Float32 __log10f32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434:  extern _Float32 exp10f32 (_Float32 __x) noexcept (true); extern _Float32 __exp10f32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32 expm1f32 (_Float32 __x) noexcept (true); extern _Float32 __expm1f32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32 log1pf32 (_Float32 __x) noexcept (true); extern _Float32 __log1pf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32 logbf32 (_Float32 __x) noexcept (true); extern _Float32 __logbf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434reAllocator<_Allocator>>
1115:     unordered_multimap(_InputIterator, _InputIterator, _Allocator)
1115:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1115:      __iter_val_t<_InputIterator>,
1115:      hash<__iter_key_t<_InputIterator>>,
1115:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1115: 
1115:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_multimap(_InputIterator, _InputIterator,
1115:          unordered_multimap<int, int>::size_type, _Hash,
1115:          _Allocator)
1115:     -> unordered_multimap<__iter_key_t<_InputIterator>,
1115:      __iter_val_t<_InputIterator>, _Hash,
1115:      equal_to<__iter_key_t<_InputIterator>>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1115:          unordered_multimap<int, int>::size_type,
1115:          _Allocator)
1115:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Allocator,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
1115:     -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>;
1115: 
1115:   template<typename _Key, typename _Tp, typename _Hash, typename _Allocator,
1115:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     unordered_multimap(initializer_list<pair<_Key, _Tp>>,
1115:          unordered_multimap<int, int>::size_type,
1115:          _Hash, _Allocator)
1115:     -> unordered_multimap<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>;
1115: 
1115: 
1115: 
1115:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1115:     inline void
1115:     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1115:   unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1115:     inline void
1115:     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1115:   unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1115:     inline bool
1115:     operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1115:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1115:     { return __x._M_h._M_equal(__y._M_h); }
1115: 
1115: 
1115:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1115:     inline bool
1115:     operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1115:         const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1115:     inline bool
1115:     operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1115:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1115:     { return __x._M_h._M_equal(__y._M_h); }
1115: 
1115: 
1115:   template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
1115:     inline bool
1115:     operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
1115:         const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1115:     typename _Alloc, typename _Hash2, typename _Eq2>
1115:     struct _Hash_merge_helper<
111ult__)) __attribute__((__warning__ ("pread called with bigger length than size of " "the destination buffer")))
1417:                                   ;
1417: extern ssize_t __pread64_chk_warn (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __asm__ ("" "__pread64_chk")
1417: 
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread64 called with bigger length than size of " "the destination buffer")))
1417:                                   ;
1417: # 79 "/usr/include/arm-linux-gnueabihf/bits/unistd.h" 3 4
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
1417: pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 0)) && (__builtin_object_size (__buf, 0)) == (unsigned int) -1) || (((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char))))) && (((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char)))))) ? __pread64_alias (__fd, __buf, __nbytes, __offset) : ((((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) && !(((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) ? __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)) : __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0))))
1417: 
1417:                                      ;
1417: }
1417: 
1417: 
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
1417: pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 0)) && (__builtin_object_size (__buf, 0)) == (unsigned int) -1) || (((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char))))) && (((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char)))))) ? __pread64_alias (__fd, __buf, __nbytes, __offset) : ((((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) && !(((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) ? __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)) : __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0))))
1417: 
1417:                                      ;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern ssize_t __readlink_chk (const char *__restrict __path,
1417:           char *__restrict __buf, size_t __len,
1417:           size_t __buflen)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __readlink_alias (const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true) __asm__ ("" "readlink")
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern ssize_t __readlink_chk_warn (const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) noexcept (true) __asm__ ("" "__readlink_chk")
1417: 
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlink called with bigger length " "than size of destination buffer")))
1417:                                          ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) ssize_t
1417: __attribute__ ((__leaf__)) readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __readlink_alias (__path, __buf, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __readlink_chk_warn (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)) : __readlink_chk (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                           ;
1417: }
1417: 
1417: 
1417: 
1417: extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
1417:      char *__restrict __buf, size_t __len,
1417:      size_t __buflen)
1417:      noexcept (true) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 3, 4)));
1417: extern ssize_t __readlinkat_alias (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true) __asm__ ("" "readlinkat")
1417: 
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 3, 4)));
1417: extern ssize_t __readlinkat_chk_warn (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) noexcept (true) __asm__ ("" "__readlinkat_chk")
1417: 
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlinkat called with bigger " "length than size of destination " "buffer")))
1417: 
1417:                 ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) ssize_t
1417: __attribute__ ((__leaf__)) readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true)
1417: 
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __readlinkat_alias (__fd, __path, __buf, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __readlinkat_chk_warn (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1)) : __readlinkat_chk (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                              : 
1434:  extern _Float32 exp2f32 (_Float32 __x) noexcept (true); extern _Float32 __exp2f32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32 log2f32 (_Float32 __x) noexcept (true); extern _Float32 __log2f32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32 powf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32 sqrtf32 (_Float32 __x) noexcept (true); extern _Float32 __sqrtf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32 cbrtf32 (_Float32 __x) noexcept (true); extern _Float32 __cbrtf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) noexcept (true);
1434: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 nanf32 (const char *__tagb) noexcept (true); extern _Float32 __nanf32 (const char *__tagb) noexcept (true);
1434: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float32 j0f32 (_Float32) noexcept (true); extern _Float32 __j0f32 (_Float32) noexcept (true);
1434: extern _Float32 j1f32 (_Float32) noexcept (true); extern _Float32 __j1f32 (_Float32) noexcept (true);
1434: extern _Float32 jnf32 (int, _Float32) noexcept (true); extern _Float32 __jnf32 (int, _Float32) noexcept (true);
1434: extern _Float32 y0f32 (_Float32) noexcept (true); extern _Float32 __y0f32 (_Float32) noexcept (true);
1434: extern _Float32 y1f32 (_Float32) noexcept (true); extern _Float32 __y1f32 (_Float32) noexcept (true);
1434: extern _Float32 ynf32 (int, _Float32) noexcept (true); extern _Float32 __ynf32 (int, _Float32) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32 erff32 (_Float32) noexcept (true); extern _Float32 __erff32 (_Float32) noexcept (true);
1434:  extern _Float32 erfcf32 (_Float32) noexcept (true); extern _Float32 __erfcf32 (_Float32) noexcept (true);
1434: extern _Float32 lgammaf32 (_Float32) noexcept (true); extern _Float32 __lgammaf32 (_Float32) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 tgammaf32 (_Float32) noexcept (true); extern _Float32 __tgammaf32 (_Float32) noexcept (true);
1434: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) noexcept (true); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 rintf32 (_Float32 __x) noexcept (true); extern _Float32 __rintf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 nextdownf32 (_Float32 __x) noexcept (true); extern _Float32 __nextdownf32 (_Float32 __x) noexcept (true);
1434: 
1434:5:       std::unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1115:       _Hash2, _Eq2>
1115:     {
1115:     private:
1115:       template<typename... _Tp>
1115:  using unordered_map = std::unordered_map<_Tp...>;
1115:       template<typename... _Tp>
1115:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1115: 
1115:       friend unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1115: 
1115:       static auto&
1115:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1115:       { return __map._M_h; }
1115: 
1115:       static auto&
1115:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1115:       { return __map._M_h; }
1115:     };
1115: 
1115: 
1115:   template<typename _Key, typename _Val, typename _Hash1, typename _Eq1,
1115:     typename _Alloc, typename _Hash2, typename _Eq2>
1115:     struct _Hash_merge_helper<
1115:       std::unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>,
1115:       _Hash2, _Eq2>
1115:     {
1115:     private:
1115:       template<typename... _Tp>
1115:  using unordered_map = std::unordered_map<_Tp...>;
1115:       template<typename... _Tp>
1115:  using unordered_multimap = std::unordered_multimap<_Tp...>;
1115: 
1115:       friend unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>;
1115: 
1115:       static auto&
1115:       _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1115:       { return __map._M_h; }
1115: 
1115:       static auto&
1115:       _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map)
1115:       { return __map._M_h; }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 48 "/usr/include/c++/12/unordered_map" 2 3
1115: # 56 "/usr/include/c++/12/unordered_map" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115:   namespace pmr
1115:   {
1115:     template<typename _Tp> class polymorphic_allocator;
1115:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1115:       typename _Pred = std::equal_to<_Key>>
1115:       using unordered_map
1115:  = std::unordered_map<_Key, _Tp, _Hash, _Pred,
1115:         polymorphic_allocator<pair<const _Key, _Tp>>>;
1115:     template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
1115:       typename _Pred = std::equal_to<_Key>>
1115:       using unordered_multimap
1115:  = std::unordered_multimap<_Key, _Tp, _Hash, _Pred,
1115:       polymorphic_allocator<pair<const _Key, _Tp>>>;
1115:   }
1115: 
1115: }
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115: class CLocale
1115: {
1115: public:
1115:   CLocale();
1115:   explicit CLocale(const std::string& language);
1115:   CLocale(const std::string& language, const std::string& territory);
1115:   CLocale(const std::string& language, const std::string& territory, const std::string& codeset);
1115:   CLocale(const std::string& language, const std::string& territory, const std::string& codeset, const std::string& modifier);
1115:   ~CLocale();
1115: 
1115: 
1115: 
1115: 
1115:   static const CLocale Empty;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static CLocale FromString(const std::string& locale);
1115: 
1115:   bool operator==(const CLocale& other) const;
1115:   inline bool operator!=(const CLocale& other) const { return !(*this == other); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsValid() const { return m_valid; }
1115: 
1115: 
1115: 
1115: 
1115:   const std::string& GetLanguageCode() const { return m_language; }
1115: 
1115: 
1115: 
1115:   const std::string& GetTerritoryCode() const { return m_territory; }
1115: 
1115: 
1115: 
1115:   const std::string& GetCodeset() const { return m_codeset; }
1115: 
1115: 
1115: 
1115:   const std::string& GetModifier() const { return m_modifier; }
1115: # 75 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   std::string ToString() const;
1115: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   ;
1417: }
1417: 
1417: 
1417: extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
1417:      noexcept (true) __attribute__ ((__warn_unused_result__));
1417: extern char *__getcwd_alias (char *__buf, size_t __size) noexcept (true) __asm__ ("" "getcwd")
1417:                                               __attribute__ ((__warn_unused_result__));
1417: extern char *__getcwd_chk_warn (char *__buf, size_t __size, size_t __buflen) noexcept (true) __asm__ ("" "__getcwd_chk")
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getcwd caller with bigger length than size of " "destination buffer")))
1417:                               ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
1417: __attribute__ ((__leaf__)) getcwd (char *__buf, size_t __size) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__size)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __getcwd_alias (__buf, __size) : ((((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__size)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __getcwd_chk_warn (__buf, __size, __builtin_object_size (__buf, 2 > 1)) : __getcwd_chk (__buf, __size, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                    ;
1417: }
1417: 
1417: 
1417: extern char *__getwd_chk (char *__buf, size_t buflen)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern char *__getwd_warn (char *__buf) noexcept (true) __asm__ ("" "getwd")
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use getcwd instead, as getwd " "doesn't specify buffer size")))
1417:                                          ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)) char *
1417: __attribute__ ((__leaf__)) getwd (char *__buf) noexcept (true)
1417: {
1417:   if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
1417:     return __getwd_chk (__buf, __builtin_object_size (__buf, 2 > 1));
1417:   return __getwd_warn (__buf);
1417: }
1417: 
1417: 
1417: extern size_t __confstr_chk (int __name, char *__buf, size_t __len,
1417:         size_t __buflen) noexcept (true)
1417:   __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern size_t __confstr_alias (int __name, char *__buf, size_t __len) noexcept (true) __asm__ ("" "confstr")
1417: 
1417:    __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern size_t __confstr_chk_warn (int __name, char *__buf, size_t __len, size_t __buflen) noexcept (true) __asm__ ("" "__confstr_chk")
1417: 
1417: 
1417:      __attribute__((__warning__ ("confstr called with bigger length than size of destination " "buffer")))
1417:             ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1417: __attribute__ ((__leaf__)) confstr (int __name, char *__buf, size_t __len) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len) extern _Float32 nextupf32 (_Float32 __x) noexcept (true); extern _Float32 __nextupf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32 scalbnf32 (_Float32 __x, int __n) noexcept (true); extern _Float32 __scalbnf32 (_Float32 __x, int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int ilogbf32 (_Float32 __x) noexcept (true); extern int __ilogbf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long int llogbf32 (_Float32 __x) noexcept (true); extern long int __llogbf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 scalblnf32 (_Float32 __x, long int __n) noexcept (true); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32 nearbyintf32 (_Float32 __x) noexcept (true); extern _Float32 __nearbyintf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32 roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern _Float32 truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int lrintf32 (_Float32 __x) noexcept (true); extern long int __lrintf32 (_Float32 __x) noexcept (true);
1434: __extension__
1434: extern long long int llrintf32 (_Float32 __x) noexcept (true); extern long long int __llrintf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long int lroundf32 (_Float32 __x) noexcept (true); extern long int __lroundf32 (_Float32 __x) noexcept (true);
1434: __extension__
1434: extern long long int llroundf32 (_Float32 __x) noexcept (true); extern long long int __llroundf32 (_Float32 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1434:                             ;
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1434:                               ;
1434: 
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1434:                              ;   std::string ToStringLC() const;
1115: # 93 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   std::string ToShortString() const;
1115: # 102 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   std::string ToShortStringLC() const;
1115: # 111 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   bool Equals(const std::string& locale) const;
1115: # 123 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   bool Matches(const std::string& locale) const;
1115: # 132 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   std::string FindBestMatch(const std::set<std::string>& locales) const;
1115: # 145 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Locale.h"
1115:   std::string FindBestMatch(const std::unordered_map<std::string, std::string>& locales) const;
1115: 
1115: private:
1115:   static bool CheckValidity(const std::string& language, const std::string& territory, const std::string& codeset, const std::string& modifier);
1115:   static bool ParseLocale(const std::string &locale, std::string &language, std::string &territory, std::string &codeset, std::string &modifier);
1115: 
1115:   void Initialize();
1115: 
1115:   int GetMatchRank(const std::string& locale) const;
1115: 
1115:   bool m_valid = false;
1115:   std::string m_language;
1115:   std::string m_territory;
1115:   std::string m_codeset;
1115:   std::string m_modifier;
1115: };
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Speed.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Speed.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IArchivable.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IArchivable.h"
1115:        
1115: 
1115: class CArchive;
1115: 
1115: class IArchivable
1115: {
1115: protected:
1115: 
1115:   virtual ~IArchivable() = default;
1115: 
1115: public:
1115:   virtual void Archive(CArchive& ar) = 0;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Speed.h" 2
1115: 
1115: 
1115: 
1115: class CSpeed : public IArchivable
1115: {
1115: public:
1115:   CSpeed();
1115:   CSpeed(const CSpeed& speed);
1115: 
1115:   typedef enum Unit
1115:   {
1115:     UnitKilometresPerHour = 0,
1115:     UnitMetresPerMinute,
1115:     UnitMetresPerSecond,
1115:     UnitFeetPerHour,
1115:     UnitFeetPerMinute,
1115:     UnitFeetPerSecond,
1115:     UnitMilesPerHour,
1115:     UnitKnots,
1115:     UnitBeaufort,
1115:     UnitInchPerSecond,
1115:     UnitYardPerSecond,
1115:     UnitFurlongPerFortnight
1115:   } Unit;
1115: 
1115:   static CSpeed CreateFromKilometresPerHour(double value);
1115:   static CSpeed CreateFromMetresPerMinute(double value);
1115:   static CSpeed CreateFromMetresPerSecond(double value);
1115:   static CSpeed CreateFromFeetPerHour(double value);
1115:   static CSpeed CreateFromFeetPerMinute(double value);
1115:   static CSpeed CreateFromFeetPerSecond(double value);
1115:   static CSpeed CreateFromMilesPerHour(double value);
1115:   static CSpeed CreateFromKnots(double value);
1115:   static CSpeed CreateFromBeaufort(unsigned int value);
1115:   static CSpeed CreateFromInchPerSecond(double value);
1115:   static CSpeed CreateFromYardPerSecond(double value);
1115:   static CSpeed CreateFromFurlongPerFortnight(double value);
1115: 
1115:   bool operator >(const CSpeed& right) const;
1115:   bool operator >=(const CSpeed& right) const;
1115:   bool operator <(const CSpeed& right) const;
1115:   bool operator <=(const CSpeed& right) const;
1115:   bool operator ==(const CSpeed& right) const;
1115:   bool operator !=(const CSpeed& right) const;
1115: 
1115:   CSpeed& operator =(const CSpeed& right);
1115:   const CSpeed& operator +=(const CSpeed& right);
1115:   const CSpeed& operator -=(const CSpeed& right);
1115:   const CSpeed& operator *=(const CSpeed& right);
1115:   const CSpeed& operator /=(const CSpeed& right);
1115:   CSpeed operator +(const CSpeed& right) const;
1115:   CSpeed operator -(const CSpeed& right) const;
1115:   CSpeed operat
1434: 
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1434:                                ;
1434: 
1434: 
1434: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern _Float32 getpayloadf32 (const _Float32 *__x) noexcept (true); extern _Float32 __getpayloadf32 (const _Float32 *__x) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1434: # 451 "/usr/include/math.h" 2 3 4
1434: # 467 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1434: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434:  extern _Float64 acosf64 (_Float64 __x) noexcept (true); extern _Float64 __acosf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 asinf64 (_Float64 __x) noexcept (true); extern _Float64 __asinf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 atanf64 (_Float64 __x) noexcept (true); extern _Float64 __atanf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) noexcept (true); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float64 cosf64 (_Float64 __x) noexcept (true); extern _Float64 __cosf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 sinf64 (_Float64 __x) noexcept (true); extern _Float64 __sinf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 tanf64 (_Float64 __x) noexcept (true); extern _Float64 __tanf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 coshf64 (_Float64 __x) noexcept (true); extern _Float64 __coshf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 sinhf64 (_Float64 __x) noexcept (true); extern _Float64 __sinhf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 tanhf64 (_Float64 __x) noexcept (true); extern _Float64 __tanhf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true)
1434:                                                         ;
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 acoshf64 (_Float64 __x) noexcept (true); extern _Float64 __acoshf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 asinhf64 (_Float64 __x) noexcept (true); extern _Float64 __asinhf64 (_Float64 __x) noexcept (true);
1434: 
1434:  extern _Float64 atanhf64 (_Float64 __x) noexcept (true); extern _Float64 __atanhf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 expf64 (_Float64 __x) noexcept (true); extern _Float64 __expf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) noexcept (true); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) noexcept (true);
1434: 
1434: 
1434: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) noexcept (true); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) noexcept (true);
1434: 
1434: 
1434:  extern _Float64 logf64 (_Float64 __x) noexcept (true); extern _Float64 __logf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float64 log10f64 (_Float64 __x) noexcept (true); extern _Float64 __log10f64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434:  extern _Float64 exp10f64 (_Float64 __x) noexcept (true); extern _Float64 __exp10f64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 expm1f64 (_Float64 __x) noexcept (true); extern _Float64 __expm1f64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float64 log1pf64 (_Float64 __x) noexcept (true); extern _Float64 __log1pf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float64 logbf64 (_Float64 __x) noexcept (true); extern _Float64 __logbf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 exp2f64 (_Float64 __x) noexcept (true); extern _Float64 __exp2f64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float64 log2f64 (_Float64 __x) noexcept (true); extern _Float64 __log2f64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 powf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float64 sqrtf64 (_Float64 __x) noexcept (true); extern _Float64 __sqrtf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 cbrtf64 (_Float64 __x) noexcept (true); extern _Float64 __cbrtf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 ceilf64 (_Float64 __x) noexcept (tr) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __confstr_alias (__name, __buf, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __confstr_chk_warn (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)) : __confstr_chk (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                           ;
1417: }
1417: 
1417: 
1417: extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
1417:   noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 1)));
1417: extern int __getgroups_alias (int __size, __gid_t __list[]) noexcept (true) __asm__ ("" "getgroups")
1417:                  __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 1)));
1417: extern int __getgroups_chk_warn (int __size, __gid_t __list[], size_t __listlen) noexcept (true) __asm__ ("" "__getgroups_chk")
1417: 
1417: 
1417:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getgroups called with bigger group count than what " "can fit into destination buffer")))
1417:                                            ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) getgroups (int __size, __gid_t __list[]) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__list, 2 > 1)) && (__builtin_object_size (__list, 2 > 1)) == (unsigned int) -1) || (((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= ((__builtin_object_size (__list, 2 > 1))) / ((sizeof (__gid_t))))) && (((unsigned int) (__size)) <= ((__builtin_object_size (__list, 2 > 1))) / ((sizeof (__gid_t)))))) ? __getgroups_alias (__size, __list) : ((((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= (__builtin_object_size (__list, 2 > 1)) / (sizeof (__gid_t)))) && !(((unsigned int) (__size)) <= (__builtin_object_size (__list, 2 > 1)) / (sizeof (__gid_t)))) ? __getgroups_chk_warn (__size, __list, __builtin_object_size (__list, 2 > 1)) : __getgroups_chk (__size, __list, __builtin_object_size (__list, 2 > 1))))
1417: 
1417:                     ;
1417: }
1417: 
1417: 
1417: extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,
1417:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2)))
1417:    __attribute__ ((__access__ (__write_only__, 2, 3)));
1417: extern int __ttyname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ttyname_r")
1417: 
1417:      __attribute__ ((__nonnull__ (2)));
1417: extern int __ttyname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ttyname_r_chk")
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ttyname_r called with bigger buflen than " "size of destination buffer")))
1417:                                   ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) ttyname_r (int __fd, char *__buf, size_t __buflen) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen))ue) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 nanf64 (const char *__tagb) noexcept (true); extern _Float64 __nanf64 (const char *__tagb) noexcept (true);
1434: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float64 j0f64 (_Float64) noexcept (true); extern _Float64 __j0f64 (_Float64) noexcept (true);
1434: extern _Float64 j1f64 (_Float64) noexcept (true); extern _Float64 __j1f64 (_Float64) noexcept (true);
1434: extern _Float64 jnf64 (int, _Float64) noexcept (true); extern _Float64 __jnf64 (int, _Float64) noexcept (true);
1434: extern _Float64 y0f64 (_Float64) noexcept (true); extern _Float64 __y0f64 (_Float64) noexcept (true);
1434: extern _Float64 y1f64 (_Float64) noexcept (true); extern _Float64 __y1f64 (_Float64) noexcept (true);
1434: extern _Float64 ynf64 (int, _Float64) noexcept (true); extern _Float64 __ynf64 (int, _Float64) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float64 erff64 (_Float64) noexcept (true); extern _Float64 __erff64 (_Float64) noexcept (true);
1434:  extern _Float64 erfcf64 (_Float64) noexcept (true); extern _Float64 __erfcf64 (_Float64) noexcept (true);
1434: extern _Float64 lgammaf64 (_Float64) noexcept (true); extern _Float64 __lgammaf64 (_Float64) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 tgammaf64 (_Float64) noexcept (true); extern _Float64 __tgammaf64 (_Float64) noexcept (true);
1434: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) noexcept (true); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 rintf64 (_Float64 __x) noexcept (true); extern _Float64 __rintf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 nextdownf64 (_Float64 __x) noexcept (true); extern _Float64 __nextdownf64 (_Float64 __x) noexcept (true);
1434: 
1434: extern _Float64 nextupf64 (_Float64 __x) noexcept (true); extern _Float64 __nextupf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 scalbnf64 (_Float64 __x, int __n) noexcept (true); extern _Float64 __scalbnf64 (_Float64 __x, int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int ilogbf64 (_Float64 __x) noexcept (true); extern int __ilogbf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long int llogbf64 (_Float64 __x) noexcept (true); extern long int __llogbf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 scalblnf64 (_Float64 __x, long int __n) noexcept (true); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 nearbyintf64 (_Float64 __x) noexcor *(const CSpeed& right) const;
1115:   CSpeed operator /(const CSpeed& right) const;
1115: 
1115:   bool operator >(double right) const;
1115:   bool operator >=(double right) const;
1115:   bool operator <(double right) const;
1115:   bool operator <=(double right) const;
1115:   bool operator ==(double right) const;
1115:   bool operator !=(double right) const;
1115: 
1115:   const CSpeed& operator +=(double right);
1115:   const CSpeed& operator -=(double right);
1115:   const CSpeed& operator *=(double right);
1115:   const CSpeed& operator /=(double right);
1115:   CSpeed operator +(double right) const;
1115:   CSpeed operator -(double right) const;
1115:   CSpeed operator *(double right) const;
1115:   CSpeed operator /(double right) const;
1115: 
1115:   CSpeed& operator ++();
1115:   CSpeed& operator --();
1115:   CSpeed operator ++(int);
1115:   CSpeed operator --(int);
1115: 
1115:   void Archive(CArchive& ar) override;
1115: 
1115:   bool IsValid() const;
1115: 
1115:   double ToKilometresPerHour() const;
1115:   double ToMetresPerMinute() const;
1115:   double ToMetresPerSecond() const;
1115:   double ToFeetPerHour() const;
1115:   double ToFeetPerMinute() const;
1115:   double ToFeetPerSecond() const;
1115:   double ToMilesPerHour() const;
1115:   double ToKnots() const;
1115:   double ToBeaufort() const;
1115:   double ToInchPerSecond() const;
1115:   double ToYardPerSecond() const;
1115:   double ToFurlongPerFortnight() const;
1115: 
1115:   double To(Unit speedUnit) const;
1115:   std::string ToString(Unit speedUnit) const;
1115: 
1115: protected:
1115:   explicit CSpeed(double value);
1115: 
1115:   void SetValid(bool valid) { m_valid = valid; }
1115: 
1115:   double m_value;
1115:   bool m_valid;
1115: };
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Temperature.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Temperature.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CTemperature : public IArchivable
1115: {
1115: public:
1115:   CTemperature();
1115:   CTemperature(const CTemperature& temperature);
1115: 
1115:   typedef enum Unit
1115:   {
1115:     UnitFahrenheit = 0,
1115:     UnitKelvin,
1115:     UnitCelsius,
1115:     UnitReaumur,
1115:     UnitRankine,
1115:     UnitRomer,
1115:     UnitDelisle,
1115:     UnitNewton
1115:   } Unit;
1115: 
1115:   static CTemperature CreateFromFahrenheit(double value);
1115:   static CTemperature CreateFromKelvin(double value);
1115:   static CTemperature CreateFromCelsius(double value);
1115:   static CTemperature CreateFromReaumur(double value);
1115:   static CTemperature CreateFromRankine(double value);
1115:   static CTemperature CreateFromRomer(double value);
1115:   static CTemperature CreateFromDelisle(double value);
1115:   static CTemperature CreateFromNewton(double value);
1115: 
1115:   bool operator >(const CTemperature& right) const;
1115:   bool operator >=(const CTemperature& right) const;
1115:   bool operator <(const CTemperature& right) const;
1115:   bool operator <=(const CTemperature& right) const;
1115:   bool operator ==(const CTemperature& right) const;
1115:   bool operator !=(const CTemperature& right) const;
1115: 
1115:   CTemperature& operator =(const CTemperature& right);
1115:   const CTemperature& operator +=(const CTemperature& right);
1115:   const CTemperature& operator -=(const CTemperature& right);
1115:   const CTemperature& operator *=(const CTemperature& right);
1115:   const CTemperature& operator /=(const CTemperature& right);
1115:   CTemperature operator +(const CTemperature& right) const;
1115:   CTemperature operator -(const CTemperature& right) const;
1115:   CTemperature operator *(const CTemperature& right) const;
1115:   CTemperature operator /(const CTemperature& right) const;
1115: 
1115:   bool operator >(double right) const;
1115:   bool operator >=(double right) const;
1115:   bool operator <(double right) const;
1115:   bool operator <=(double right) const;
1115:   bool operator ==(double right) const; -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ttyname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ttyname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ttyname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                            ;
1417: }
1417: 
1417: 
1417: 
1417: extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern int __getlogin_r_alias (char *__buf, size_t __buflen) __asm__ ("" "getlogin_r")
1417:                      __attribute__ ((__nonnull__ (1)));
1417: extern int __getlogin_r_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getlogin_r_chk")
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("getlogin_r called with bigger buflen than " "size of destination buffer")))
1417:                                   ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: getlogin_r (char *__buf, size_t __buflen)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __getlogin_r_alias (__buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __getlogin_r_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __getlogin_r_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                      ;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern int __gethostname_alias (char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "gethostname")
1417: 
1417:   __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern int __gethostname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__gethostname_chk")
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("gethostname called with bigger buflen than " "size of destination buffer")))
1417:                                   ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) gethostname (char *__buf, size_t __buflen) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (ept (true); extern _Float64 __nearbyintf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern _Float64 truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int lrintf64 (_Float64 __x) noexcept (true); extern long int __lrintf64 (_Float64 __x) noexcept (true);
1434: __extension__
1434: extern long long int llrintf64 (_Float64 __x) noexcept (true); extern long long int __llrintf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long int lroundf64 (_Float64 __x) noexcept (true); extern long int __lroundf64 (_Float64 __x) noexcept (true);
1434: __extension__
1434: extern long long int llroundf64 (_Float64 __x) noexcept (true); extern long long int __llroundf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1434:                             ;
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1434:                               ;
1434: 
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1434:                              ;
1434: 
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1434:                                ;
1434: 
1434: 
1434: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern _Float64 getpayloadf64 (const _Float64 *__x) noexcept (true); extern _Float64 __getpayloadf64 (const _Float64 *__x) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1434: # 468 "/usr/include/math.h" 2 3 4
1434: # 501 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1434: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434:  extern _Float32x acosf32x (_Float32x __x) noexcept (true); extern _Float32x __acosf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x asinf32x (_Float32x __x) noexcept (true); extern _Float32x __asinf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x atanf32x (_Float32x __x) noexcept (true); extern _Float32x __atanf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) noexcept (true); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32x cosf32x (_Float32x __x) noexcept (true); extern _Float32x __cosf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x sinf32x (_Float32x __x) noexcept (true); extern _Float32x __sinf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x tanf32x (_Float32x __x) noexcept (true); extern _Float32x __tanf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x coshf32x (_Float32x __x) noexcept (true); extern _Float32x __coshf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x sinhf32x (_Float32x __x) noexcept (true); extern _Float32x __sinhf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x tanhf32x (_Float32x __x) noexcept (true); extern _Float32x __tanhf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _
1115:   bool operator !=(double right) const;
1115: 
1115:   const CTemperature& operator +=(double right);
1115:   const CTemperature& operator -=(double right);
1115:   const CTemperature& operator *=(double right);
1115:   const CTemperature& operator /=(double right);
1115:   CTemperature operator +(double right) const;
1115:   CTemperature operator -(double right) const;
1115:   CTemperature operator *(double right) const;
1115:   CTemperature operator /(double right) const;
1115: 
1115:   CTemperature& operator ++();
1115:   CTemperature& operator --();
1115:   CTemperature operator ++(int);
1115:   CTemperature operator --(int);
1115: 
1115:   void Archive(CArchive& ar) override;
1115: 
1115:   bool IsValid() const;
1115:   void SetValid(bool valid) { m_valid = valid; }
1115: 
1115:   double ToFahrenheit() const;
1115:   double ToKelvin() const;
1115:   double ToCelsius() const;
1115:   double ToReaumur() const;
1115:   double ToRankine() const;
1115:   double ToRomer() const;
1115:   double ToDelisle() const;
1115:   double ToNewton() const;
1115: 
1115:   double To(Unit temperatureUnit) const;
1115:   std::string ToString(Unit temperatureUnit) const;
1115: 
1115: protected:
1115:   explicit CTemperature(double value);
1115: 
1115:   double m_value;
1115:   bool m_valid;
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1115: 
1115: # 1 "/usr/include/c++/12/locale" 1 3
1115: # 36 "/usr/include/c++/12/locale" 3
1115:        
1115: # 37 "/usr/include/c++/12/locale" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/locale_classes.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/locale_classes.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 43 "/usr/include/c++/12/bits/locale_classes.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 62 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:   class locale
1115:   {
1115:   public:
1115: 
1115: 
1115:     typedef int category;
1115: 
1115: 
1115:     class facet;
1115:     class id;
1115:     class _Impl;
1115: 
1115:     friend class facet;
1115:     friend class _Impl;
1115: 
1115:     template<typename _Facet>
1115:       friend bool
1115:       has_facet(const locale&) throw();
1115: 
1115:     template<typename _Facet>
1115:       friend const _Facet&
1115:       use_facet(const locale&);
1115: 
1115:     template<typename _Cache>
1115:       friend struct __use_cache;
1115: # 98 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     static const category none = 0;
1115:     static const category ctype = 1L << 0;
1115:     static const category numeric = 1L << 1;
1115:     static const category collate = 1L << 2;
1115:     static const category time = 1L << 3;
1115:     static const category monetary = 1L << 4;
1115:     static const category messages = 1L << 5;
1115:     static const category all = (ctype | numeric | collate |
1115:         time | monetary | messages);
1115: # 117 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     locale() throw();
1115: # 126 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     locale(const locale& __other) throw();
1115: # 136 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     explicit
1115:     locale(const char* __s);
1115: # 151 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     locale(const locale& __base, const char* __s, category __cat);
1115: # 162 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     explicit
1115:     locale(const std::string& __s) : locale(__s.c_str()) { }
1115: # 177 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     locale(const locale& __base, const std::string& __s, category __cat)
1115:     : locale(__base, __s.c_str(), __cat) { }
1115: # 192 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     locale(const locale& __base, const locale& __add, category __cat);
1115: # 205 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     template<typename _Facet>
1115:       locale(const locale& __other, _Facet* __f);
1115: 
1115: 
1115:    (__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __gethostname_alias (__buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __gethostname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __gethostname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                      ;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)
1417:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern int __getdomainname_alias (char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "getdomainname")
1417: 
1417:                      __attribute__ ((__nonnull__ (1)))
1417:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1417: extern int __getdomainname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__getdomainname_chk")
1417: 
1417: 
1417:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getdomainname called with bigger " "buflen than size of destination " "buffer")))
1417: 
1417:                     ;
1417: 
1417: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1417: __attribute__ ((__leaf__)) getdomainname (char *__buf, size_t __buflen) noexcept (true)
1417: {
1417:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __getdomainname_alias (__buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __getdomainname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __getdomainname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1417: 
1417:                      ;
1417: }
1417: # 1215 "/usr/include/unistd.h" 2 3 4
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/bits/unistd_ext.h" 1 3 4
1417: # 34 "/usr/include/arm-linux-gnueabihf/bits/unistd_ext.h" 3 4
1417: extern __pid_t gettid (void) noexcept (true);
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/linux/close_range.h" 1 3 4
1417: # 39 "/usr/include/arm-linux-gnueabihf/bits/unistd_ext.h" 2 3 4
1417: # 1219 "/usr/include/unistd.h" 2 3 4
1417: 
1417: }
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1417: # 34 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1417: # 1 "/usr/include/arm-linux-gnueabihf/sys/sysinfo.h" 1 3 4
1417: # 24 "/usr/include/arm-linux-gnueabihf/sys/sysinfo.h" 3 4
1417: # 1 "/usr/include/linux/kernel.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/linux/sysinfo.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: struct sysinfo {
1417:  __kernel_long_t uptime;
1417:  __kernel_ulong_t loads[3];
1417:  __kernel_ulong_t totalram;
1417:  __kernel_ulong_t freeram;
1417:  __kernel_ulong_t sharedram;
1417:  __kernel_ulong_t bufferram;
1417: Float32x *__cosx) noexcept (true); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true)
1434:                                                         ;
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x acoshf32x (_Float32x __x) noexcept (true); extern _Float32x __acoshf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x asinhf32x (_Float32x __x) noexcept (true); extern _Float32x __asinhf32x (_Float32x __x) noexcept (true);
1434: 
1434:  extern _Float32x atanhf32x (_Float32x __x) noexcept (true); extern _Float32x __atanhf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x expf32x (_Float32x __x) noexcept (true); extern _Float32x __expf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) noexcept (true); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) noexcept (true);
1434: 
1434: 
1434: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) noexcept (true); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) noexcept (true);
1434: 
1434: 
1434:  extern _Float32x logf32x (_Float32x __x) noexcept (true); extern _Float32x __logf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32x log10f32x (_Float32x __x) noexcept (true); extern _Float32x __log10f32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434:  extern _Float32x exp10f32x (_Float32x __x) noexcept (true); extern _Float32x __exp10f32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x expm1f32x (_Float32x __x) noexcept (true); extern _Float32x __expm1f32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32x log1pf32x (_Float32x __x) noexcept (true); extern _Float32x __log1pf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32x logbf32x (_Float32x __x) noexcept (true); extern _Float32x __logbf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x exp2f32x (_Float32x __x) noexcept (true); extern _Float32x __exp2f32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434:  extern _Float32x log2f32x (_Float32x __x) noexcept (true); extern _Float32x __log2f32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x powf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32x sqrtf32x (_Float32x __x) noexcept (true); extern _Float32x __sqrtf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434:  extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x cbrtf32x (_Float32x __x) noexcept (true); extern _Float32x __cbrtf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float32x copysignf32x (_Float32x __x, _Fl ~locale() throw();
1115: # 219 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     const locale&
1115:     operator=(const locale& __other) throw();
1115: # 234 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     template<typename _Facet>
1115:       locale
1115:       combine(const locale& __other) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     string
1115:     name() const;
1115: # 254 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     bool
1115:     operator==(const locale& __other) const throw();
1115: # 264 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     bool
1115:     operator!=(const locale& __other) const throw()
1115:     { return !(this->operator==(__other)); }
1115: # 284 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     template<typename _Char, typename _Traits, typename _Alloc>
1115:       bool
1115:       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
1115:    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
1115: # 300 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     static locale
1115:     global(const locale& __loc);
1115: 
1115: 
1115: 
1115: 
1115:     static const locale&
1115:     classic();
1115: 
1115:   private:
1115: 
1115:     _Impl* _M_impl;
1115: 
1115: 
1115:     static _Impl* _S_classic;
1115: 
1115: 
1115:     static _Impl* _S_global;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     static const char* const* const _S_categories;
1115: # 335 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     enum { _S_categories_size = 6 + 6 };
1115: 
1115: 
1115:     static __gthread_once_t _S_once;
1115: 
1115: 
1115:     explicit
1115:     locale(_Impl*) throw();
1115: 
1115:     static void
1115:     _S_initialize();
1115: 
1115:     static void
1115:     _S_initialize_once() throw();
1115: 
1115:     static category
1115:     _S_normalize_category(category);
1115: 
1115:     void
1115:     _M_coalesce(const locale& __base, const locale& __add, category __cat);
1115: 
1115: 
1115:     static const id* const _S_twinned_facets[];
1115: 
1115:   };
1115: # 373 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:   class locale::facet
1115:   {
1115:   private:
1115:     friend class locale;
1115:     friend class locale::_Impl;
1115: 
1115:     mutable _Atomic_word _M_refcount;
1115: 
1115: 
1115:     static __c_locale _S_c_locale;
1115: 
1115: 
1115:     static const char _S_c_name[2];
1115: 
1115: 
1115:     static __gthread_once_t _S_once;
1115: 
1115: 
1115:     static void
1115:     _S_initialize_once();
1115: 
1115:   protected:
1115: # 404 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     explicit
1115:     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
1115:     { }
1115: 
1115: 
1115:     virtual
1115:     ~facet();
1115: 
1115:     static void
1115:     _S_create_c_locale(__c_locale& __cloc, const char* __s,
1115:          __c_locale __old = 0);
1115: 
1115:     static __c_locale
1115:     _S_clone_c_locale(__c_locale& __cloc) throw();
1115: 
1115:     static void
1115:     _S_destroy_c_locale(__c_locale& __cloc);
1115: 
1115:     static __c_locale
1115:     _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
1115: 
1115: 
1115: 
1115:     static __c_locale
1115:     _S_get_c_locale();
1115: 
1115:     __attribute__ ((__const__)) static const char*
1115:     _S_get_c_name() throw();
1115: # 440 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:     facet(const facet&) = delete;
1115: 
1115:     facet&
1115:     operator=(const facet&) = delete;
1115: 
1115: 
1115:   private:
1115:     void
1115:     _M_add_reference() const throw()
1115:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1115: 
1115:     void
1115:     _M_remove_reference() const throw()
1115:     {
1115: 
1115:       ;
1115:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1115:  {
1115:           ;
1115:    try
1115:      { delete this; }
1115:    catch(...)
1115:      { }
1115:  }
1115:     }
1115: 
1115:     const facet* _M_sso_shim(const id*) const;
1oat32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x nanf32x (const char *__tagb) noexcept (true); extern _Float32x __nanf32x (const char *__tagb) noexcept (true);
1434: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float32x j0f32x (_Float32x) noexcept (true); extern _Float32x __j0f32x (_Float32x) noexcept (true);
1434: extern _Float32x j1f32x (_Float32x) noexcept (true); extern _Float32x __j1f32x (_Float32x) noexcept (true);
1434: extern _Float32x jnf32x (int, _Float32x) noexcept (true); extern _Float32x __jnf32x (int, _Float32x) noexcept (true);
1434: extern _Float32x y0f32x (_Float32x) noexcept (true); extern _Float32x __y0f32x (_Float32x) noexcept (true);
1434: extern _Float32x y1f32x (_Float32x) noexcept (true); extern _Float32x __y1f32x (_Float32x) noexcept (true);
1434: extern _Float32x ynf32x (int, _Float32x) noexcept (true); extern _Float32x __ynf32x (int, _Float32x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  extern _Float32x erff32x (_Float32x) noexcept (true); extern _Float32x __erff32x (_Float32x) noexcept (true);
1434:  extern _Float32x erfcf32x (_Float32x) noexcept (true); extern _Float32x __erfcf32x (_Float32x) noexcept (true);
1434: extern _Float32x lgammaf32x (_Float32x) noexcept (true); extern _Float32x __lgammaf32x (_Float32x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x tgammaf32x (_Float32x) noexcept (true); extern _Float32x __tgammaf32x (_Float32x) noexcept (true);
1434: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1434: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x rintf32x (_Float32x __x) noexcept (true); extern _Float32x __rintf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x nextdownf32x (_Float32x __x) noexcept (true); extern _Float32x __nextdownf32x (_Float32x __x) noexcept (true);
1434: 
1434: extern _Float32x nextupf32x (_Float32x __x) noexcept (true); extern _Float32x __nextupf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32x scalbnf32x (_Float32x __x, int __n) noexcept (true); extern _Float32x __scalbnf32x (_Float32x __x, int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern int ilogbf32x (_Float32x __x) noexcept (true); extern int __ilogbf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern long int llogbf32x (_Float32x __x) noexcept (true); extern long int __llogbf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x scalblnf32x (_Float32x __x, long int __n) noexcept (true); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32x nearbyintf32x (_Float32x __x) noexcept (true); extern _Float32x __nearbyintf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32x roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern _Float32x truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true); extern _Float32x __remquof32x (_Float32x  __kernel_ulong_t totalswap;
1417:  __kernel_ulong_t freeswap;
1417:  __u16 procs;
1417:  __u16 pad;
1417:  __kernel_ulong_t totalhigh;
1417:  __kernel_ulong_t freehigh;
1417:  __u32 mem_unit;
1417:  char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)];
1417: };
1417: # 6 "/usr/include/linux/kernel.h" 2 3 4
1417: # 1 "/usr/include/linux/const.h" 1 3 4
1417: # 7 "/usr/include/linux/kernel.h" 2 3 4
1417: # 25 "/usr/include/arm-linux-gnueabihf/sys/sysinfo.h" 2 3 4
1417: 
1417: extern "C" {
1417: 
1417: 
1417: extern int sysinfo (struct sysinfo *__info) noexcept (true);
1417: 
1417: 
1417: 
1417: extern int get_nprocs_conf (void) noexcept (true);
1417: 
1417: 
1417: extern int get_nprocs (void) noexcept (true);
1417: 
1417: 
1417: 
1417: extern long int get_phys_pages (void) noexcept (true);
1417: 
1417: 
1417: extern long int get_avphys_pages (void) noexcept (true);
1417: 
1417: }
1417: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1417: 
1417: 
1417: # 1 "/usr/include/arm-linux-gnueabihf/sys/time.h" 1 3 4
1417: # 34 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: extern "C" {
1417: # 52 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: struct timezone
1417:   {
1417:     int tz_minuteswest;
1417:     int tz_dsttime;
1417:   };
1417: # 67 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: extern int gettimeofday (struct timeval *__restrict __tv,
1417:     void *__restrict __tz) noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 86 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: extern int settimeofday (const struct timeval *__tv,
1417:     const struct timezone *__tz)
1417:      noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int adjtime (const struct timeval *__delta,
1417:       struct timeval *__olddelta) noexcept (true);
1417: # 114 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: enum __itimer_which
1417:   {
1417: 
1417:     ITIMER_REAL = 0,
1417: 
1417: 
1417:     ITIMER_VIRTUAL = 1,
1417: 
1417: 
1417: 
1417:     ITIMER_PROF = 2
1417: 
1417:   };
1417: 
1417: 
1417: 
1417: struct itimerval
1417:   {
1417: 
1417:     struct timeval it_interval;
1417: 
1417:     struct timeval it_value;
1417:   };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef int __itimer_which_t;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: extern int getitimer (__itimer_which_t __which,
1417:         struct itimerval *__value) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int setitimer (__itimer_which_t __which,
1417:         const struct itimerval *__restrict __new,
1417:         struct itimerval *__restrict __old) noexcept (true);
1417: 
1417: 
1417: 
1417: 
1417: extern int utimes (const char *__file, const struct timeval __tvp[2])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: # 189 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: extern int lutimes (const char *__file, const struct timeval __tvp[2])
1417:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1417: 
1417: 
1417: extern int futimes (int __fd, const struct timeval __tvp[2]) noexcept (true);
1417: # 214 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: extern int futimesat (int __fd, const char *__file,
1417:         const struct timeval __tvp[2]) noexcept (true);
1417: # 258 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1417: }
1417: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1417: # 61 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1417: 
1417: # 61 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1417: struct CXHandle;
1417: typedef CXHandle* HANDLE;
1417: 
1417: typedef void* HINSTANCE;
1417: typedef void* HMODULE;
1417: 
1417: typedef unsigned int DWORD;
1417: 
1417: 
1417: 
1417: 
1417: typedef union _LARGE_INTEGER
1417: {
1417:   struct {
1417:     DWORD LowPart;
1417:     int32_t HighPart;
1417:   } u;
1417:   long long QuadPart;
1417: } LARGE_INTEGER, *PLARGE_INTEGER;
1417: 
1417:  typedef union _ULARGE_INTEGER {
1417:   struct {
1417:       DWORD__x, _Float32x __y, int *__quo) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern long int lrintf32x (_Float32x __x) noexcept (true); extern long int __lrintf32x (_Float32x __x) noexcept (true);
1434: __extension__
1434: extern long long int llrintf32x (_Float32x __x) noexcept (true); extern long long int __llrintf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern long int lroundf32x (_Float32x __x) noexcept (true); extern long int __lroundf32x (_Float32x __x) noexcept (true);
1434: __extension__
1434: extern long long int llroundf32x (_Float32x __x) noexcept (true); extern long long int __llroundf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: 
1434: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1434:                             ;
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1434:                               ;
1434: 
1434: 
1434: 
1434: 
1434: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1434:                              ;
1434: 
1434: 
1434: 
1434: 
1434: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1434:                                ;
1434: 
1434: 
1434: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (t115:     const facet* _M_cow_shim(const id*) const;
1115: 
1115:   protected:
1115:     class __shim;
1115:   };
1115: # 485 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:   class locale::id
1115:   {
1115:   private:
1115:     friend class locale;
1115:     friend class locale::_Impl;
1115: 
1115:     template<typename _Facet>
1115:       friend const _Facet&
1115:       use_facet(const locale&);
1115: 
1115:     template<typename _Facet>
1115:       friend bool
1115:       has_facet(const locale&) throw();
1115: 
1115: 
1115: 
1115: 
1115:     mutable size_t _M_index;
1115: 
1115: 
1115:     static _Atomic_word _S_refcount;
1115: 
1115:     void
1115:     operator=(const id&);
1115: 
1115:     id(const id&);
1115: 
1115:   public:
1115: 
1115: 
1115: 
1115:     id() { }
1115: 
1115:     size_t
1115:     _M_id() const throw();
1115:   };
1115: 
1115: 
1115: 
1115:   class locale::_Impl
1115:   {
1115:   public:
1115: 
1115:     friend class locale;
1115:     friend class locale::facet;
1115: 
1115:     template<typename _Facet>
1115:       friend bool
1115:       has_facet(const locale&) throw();
1115: 
1115:     template<typename _Facet>
1115:       friend const _Facet&
1115:       use_facet(const locale&);
1115: 
1115:     template<typename _Cache>
1115:       friend struct __use_cache;
1115: 
1115:   private:
1115: 
1115:     _Atomic_word _M_refcount;
1115:     const facet** _M_facets;
1115:     size_t _M_facets_size;
1115:     const facet** _M_caches;
1115:     char** _M_names;
1115:     static const locale::id* const _S_id_ctype[];
1115:     static const locale::id* const _S_id_numeric[];
1115:     static const locale::id* const _S_id_collate[];
1115:     static const locale::id* const _S_id_time[];
1115:     static const locale::id* const _S_id_monetary[];
1115:     static const locale::id* const _S_id_messages[];
1115:     static const locale::id* const* const _S_facet_categories[];
1115: 
1115:     void
1115:     _M_add_reference() throw()
1115:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1115: 
1115:     void
1115:     _M_remove_reference() throw()
1115:     {
1115: 
1115:       ;
1115:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1115:  {
1115:           ;
1115:    try
1115:      { delete this; }
1115:    catch(...)
1115:      { }
1115:  }
1115:     }
1115: 
1115:     _Impl(const _Impl&, size_t);
1115:     _Impl(const char*, size_t);
1115:     _Impl(size_t) throw();
1115: 
1115:    ~_Impl() throw();
1115: 
1115:     _Impl(const _Impl&);
1115: 
1115:     void
1115:     operator=(const _Impl&);
1115: 
1115:     bool
1115:     _M_check_same_name()
1115:     {
1115:       bool __ret = true;
1115:       if (_M_names[1])
1115: 
1115:  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
1115:    __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
1115:       return __ret;
1115:     }
1115: 
1115:     void
1115:     _M_replace_categories(const _Impl*, category);
1115: 
1115:     void
1115:     _M_replace_category(const _Impl*, const locale::id* const*);
1115: 
1115:     void
1115:     _M_replace_facet(const _Impl*, const locale::id*);
1115: 
1115:     void
1115:     _M_install_facet(const locale::id*, const facet*);
1115: 
1115:     template<typename _Facet>
1115:       void
1115:       _M_init_facet(_Facet* __facet)
1115:       { _M_install_facet(&_Facet::id, __facet); }
1115: 
1115:     template<typename _Facet>
1115:       void
1115:       _M_init_facet_unchecked(_Facet* __facet)
1115:       {
1115:  __facet->_M_add_reference();
1115:  _M_facets[_Facet::id._M_id()] = __facet;
1115:       }
1115: 
1115:     void
1115:     _M_install_cache(const facet*, size_t);
1115: 
1115:     void _M_init_extra(facet**);
1115:     void _M_init_extra(void*, void*, const char*, const char*);
1115: 
1115: 
1115: 
1115: 
1115:   };
1115: # 647 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:   template<typename _CharT>
1115:     class __cxx11:: collate : public locale::facet
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_rue) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1434: 
1434:      __attribute__ ((__pure__));
1434: 
1434: 
1434: extern _Float32x getpayloadf32x (const _Float32x *__x) noexcept (true); extern _Float32x __getpayloadf32x (const _Float32x *__x) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1434: 
1434: 
1434: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1434: # 502 "/usr/include/math.h" 2 3 4
1434: # 566 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1434: extern float fadd (double __x, double __y) noexcept (true);
1434: 
1434: 
1434: extern float fdiv (double __x, double __y) noexcept (true);
1434: 
1434: 
1434: extern float ffma (double __x, double __y, double __z) noexcept (true);
1434: 
1434: 
1434: extern float fmul (double __x, double __y) noexcept (true);
1434: 
1434: 
1434: extern float fsqrt (double __x) noexcept (true);
1434: 
1434: 
1434: extern float fsub (double __x, double __y) noexcept (true);
1434: # 567 "/usr/include/math.h" 2 3 4
1434: # 587 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1434: extern float faddl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern float fdivl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern float ffmal (long double __x, long double __y, long double __z) noexcept (true);
1434: 
1434: 
1434: extern float fmull (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern float fsqrtl (long double __x) noexcept (true);
1434: 
1434: 
1434: extern float fsubl (long double __x, long double __y) noexcept (true);
1434: # 588 "/usr/include/math.h" 2 3 4
1434: # 616 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1434: extern double daddl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern double ddivl (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern double dfmal (long double __x, long double __y, long double __z) noexcept (true);
1434: 
1434: 
1434: extern double dmull (long double __x, long double __y) noexcept (true);
1434: 
1434: 
1434: extern double dsqrtl (long double __x) noexcept (true);
1434: 
1434: 
 LowPart;
1417:       DWORD HighPart;
1417:   } u;
1417:   unsigned long long QuadPart;
1417: } ULARGE_INTEGER;
1417: # 97 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1417: typedef int SOCKET;
1417: 
1417: 
1417: typedef int (*LPTHREAD_START_ROUTINE)(void *);
1417: # 120 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1417: struct _stati64 {
1417:   dev_t st_dev;
1417:   ino_t st_ino;
1417:   unsigned short st_mode;
1417:   short st_nlink;
1417:   short st_uid;
1417:   short st_gid;
1417:   dev_t st_rdev;
1417:   long long st_size;
1417:   time_t _st_atime;
1417:   time_t _st_mtime;
1417:   time_t _st_ctime;
1417: };
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h" 2
1417: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h"
1417: namespace KODI
1417: {
1417: namespace TIME
1417: {
1417: 
1417: using time_point = std::chrono::time_point<std::chrono::system_clock,
1417:                                            std::chrono::duration<long double, std::nano>>;
1417: 
1417: template<typename Rep, typename Period>
1417: void Sleep(std::chrono::duration<Rep, Period> duration)
1417: {
1417:   if (duration == std::chrono::duration<Rep, Period>::zero())
1417:   {
1417:     std::this_thread::yield();
1417:     return;
1417:   }
1417: 
1417:   std::this_thread::sleep_for(duration);
1417: }
1417: 
1417: }
1417: }
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CDateTime;
1417: 
1417: class CDateTimeSpan
1417: {
1417: public:
1417:   CDateTimeSpan() = default;
1417:   CDateTimeSpan(const CDateTimeSpan& span);
1417:   CDateTimeSpan& operator=(const CDateTimeSpan&) = default;
1417:   CDateTimeSpan(int day, int hour, int minute, int second);
1417: 
1417:   bool operator >(const CDateTimeSpan& right) const;
1417:   bool operator >=(const CDateTimeSpan& right) const;
1417:   bool operator <(const CDateTimeSpan& right) const;
1417:   bool operator <=(const CDateTimeSpan& right) const;
1417:   bool operator ==(const CDateTimeSpan& right) const;
1417:   bool operator !=(const CDateTimeSpan& right) const;
1417: 
1417:   CDateTimeSpan operator +(const CDateTimeSpan& right) const;
1417:   CDateTimeSpan operator -(const CDateTimeSpan& right) const;
1417: 
1417:   const CDateTimeSpan& operator +=(const CDateTimeSpan& right);
1417:   const CDateTimeSpan& operator -=(const CDateTimeSpan& right);
1417: 
1417:   void SetDateTimeSpan(int day, int hour, int minute, int second);
1417:   void SetFromPeriod(const std::string &period);
1417:   void SetFromTimeString(const std::string& time);
1417: 
1417:   int GetDays() const;
1417:   int GetHours() const;
1417:   int GetMinutes() const;
1417:   int GetSeconds() const;
1417:   int GetSecondsTotal() const;
1417: 
1417: private:
1417:   std::chrono::duration<int64_t> m_timeSpan{0};
1417: 
1417:   friend class CDateTime;
1417: };
1417: 
1417: 
1417: class CDateTime final : public IArchivable
1417: {
1417: public:
1417:   CDateTime();
1417:   CDateTime(const CDateTime& time);
1417:   CDateTime& operator=(const CDateTime&) = default;
1417:   explicit CDateTime(const time_t& time);
1417:   explicit CDateTime(const tm& time);
1417:   explicit CDateTime(const KODI::TIME::time_point& time);
1417:   CDateTime(int year, int month, int day, int hour, int minute, int second);
1417: 
1417:   static CDateTime GetCurrentDateTime();
1417:   static CDateTime GetUTCDateTime();
1417:   static int MonthStringToMonthNum(const std::string& month);
1417: 
1417:   static CDateTime FromDBDateTime(const std::string &dateTime);
1417:   static CDateTime FromDateString(const std::string &date);
1417:   static CDateTime FromDBDate(const std::string &date);
1417:   static CDateTime FromDBTime(const std::string &time);
1417:   static CDateTime FromW3CDate(const std::string &date);
1417:   static CDateTime FromW3CDateTime(const std::string &date, bool ignoreTimezone = false);
1417:   static CDateTime FromRFC1123DateTime(const std::string &dateTime);
1417: 
1417:   const CDateTime& ope1434: extern double dsubl (long double __x, long double __y) noexcept (true);
1434: # 617 "/usr/include/math.h" 2 3 4
1434: # 697 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1434: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32sqrtf32x (_Float32x __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) noexcept (true);
1434: # 698 "/usr/include/math.h" 2 3 4
1434: # 707 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1434: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32sqrtf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: # 708 "/usr/include/math.h" 2 3 4
1434: # 747 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1434: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1434: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32x f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1434: 
1434: 
1434: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: 
1434: 
1434: extern _Float32x f32xsqrtf64 (_Float64 __x) noexcept (true);
1434: 
1434: 
1434: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) noexcept (true);
1434: # 748 "/usr/include/math.h" 2 3 4
1434: # 854 "/usr/include/math.h" 3 4
1434: extern int signgam;
1434: # 934 "/usr/include/math.h" 3 4
1434: enum
1434:   {
1434:     FP_NAN =
1434: 
1434:       0,
1434:     FP_INFINITE =
1434: 
1434:       1,
1434:     FP_ZERO =
1434: 
1434:       2,
1434:     FP_SUBNORMAL =
1434: 
1434:       3,
1434:     FP_NORMAL =
1434: 
1434:       4
1434:   };
1434: # 1054 "/usr/include/math.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/iscanonical.h" 1 3 4
1434: # 1055 "/usr/include/math.h" 2 3 4
1434: # 1066 "/usr/include/math.h" 3 4
1434: extern "C++" {
1434: inline int issignaling (float __val) { return __issignalingf (__val); }
1434: inline int issignaling (double __val) { return __issignaling (__val); }
1434: inline int
1434: issignaling (long double __val)
1434: {
1434: 
1434:   return __issignaling (__val);
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 1097 "/usr/include/math.h" 3 4
1434: extern "C++" {
1434: # 1128 "/usr/include/math.h" 3 4
1434: template <class __T> inline bool
1434: iszero (__T __val)
1434: {
1434:   return __val == 0;
1434: }
1434: 
1434: }
1434: # 1363 "/usr/include/math.h" 3 4
1434: extern "C++" {
1434: template<typename> struct __iseqsig_type;
1434: 
1434: template<> struct __iseqsig_type<float>
1434: {
1434:   static int __call (float __x, float __y) throw ()
1434:   {
1434:     return __iseqsigf (__x, __y);
1434:   }
1434: };
1434: 
1434: template<> struct __iseqsig_type<double>
1434: {
1434:   static int __call (double __x, double __y) throw ()
1434:   {
1434:     return __iseqsig (__x, __y);
1434:   }
1434: };
1434: 
1434: template<> struct __iseqsig_type<long double>
1434: {
1434:   static int __call (long double __x, long double __y) throw ()
1434:   {
1434: 
1434: 
1434: 
1434:     return __iseqsig (__x, __y);
1434: 
1434:   }
1434: };
1434: # 1406 "/usr/include/math.h" 3 4
1434: template<typename _T1, typename _T2>
1434: inline int
1434: iseqsig (_T1 __x, _T2 __y) throw ()
1434: {
1434: 
1434:   typedef decltype (((__x) + (__y) + 0.0f)) _T3;
1434: 
1434: 
1434: 
1434:   return __iseqsig_type<_T3>::__call (__x, __y);
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 46 "/usr/include/c++/12/cmath" 2 3
1434: # 77 "/usr/include/c++/12/cmath" 3
1434: extern "C++"
1434: {
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   using ::acos;
1434: 
1434: 
1434:   inline constexpr float
1434:   acos(float __x)
1434:   { return __builtin_acosf(__x); }
1434: 
1434:   inline constexpr long double
1434:   acos(long double __x)
1434:   { return __builtin_acosl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     acos(_Tp __x)
1434:     { return __builtin_acos(__x); }
1434: 
1434:   using ::asin;
1434: 
1434: 
1434:   inline constexpr float
1434:   asin(float __x)
1434:   { return __builtin_asinf(__x); }
1434: 
1434:   inline constexpr long double
1434:   asin(long double __x)
1434:   { return __builtin_asinl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     asin(_Tp __x)
1434:     { return __builtin_asin(__x); }
1434: 
1434:   using ::atan;
1434: 
1434: 
1434:   inline constexpr float
1434:   atan(float __x)
1434:   { return __builtin_atanf(__x); }
1434: 
1434:   inline constexpr long double
1434:   atan(long double __x)
1434:   { return __builtin_atanl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     atan(_Tp __x)
1434:     { return __builtin_atan(__x); }
1434: 
1434:   using ::atan2;
1434: 
1434: 
1434:   inline constexpr float
1434:   atan2(float __y, float __x)
1434:   { return __builtin_atan2f(__y, __x); }
1434: 
1434:   inline constexpr long double
1434:   atan2(long double __y, long double __x)
1434:   { return __builtin_atan2l(__y, __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline constexpr
1434:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     atan2(_Tp __y, _Up __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return atan2(__type(__y), __type(__x));
1434:     }
1434: 
1434:   using ::ceil;
1434: 
1434: 
1434:   inline constexpr float
1434:   ceil(float __x)
1434:   { return __builtin_ceilf(__x); }
1434: 
1434:   inline constexpr long double
1434:   ceil(long double __x)
1434:   { return __builtin_ceill(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     ceil(_Tp __x)
1434:     { return __builtin_ceil(__x); }
1434: 
1434:   using ::cos;
1434: 
1434: 
1434:   inline constexpr float
1434:   cos(float __x)
1434:   { return __builtin_cosf(__x); }
1434: 
1434:   inline constexpr long double
1434:   cos(long double __x)
1434:   { return __builtin_cosl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     cos(_Tp __x)
1434:     { return __builtin_cos(__x); }
1434: 
1434:   using ::cosh;
1434: 
1434: 
1434:   inline constexpr float
1434:   cosh(float __x)
1434:   { return __builtin_coshf(__x); }
1434: 
type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115: 
1115:     protected:
1115: 
1115: 
1115:       __c_locale _M_c_locale_collate;
1115: 
1115:     public:
1115: 
1115:       static locale::id id;
1115: # 674 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       explicit
1115:       collate(size_t __refs = 0)
1115:       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
1115:       { }
1115: # 688 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       explicit
1115:       collate(__c_locale __cloc, size_t __refs = 0)
1115:       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
1115:       { }
1115: # 705 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       int
1115:       compare(const _CharT* __lo1, const _CharT* __hi1,
1115:        const _CharT* __lo2, const _CharT* __hi2) const
1115:       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
1115: # 724 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       string_type
1115:       transform(const _CharT* __lo, const _CharT* __hi) const
1115:       { return this->do_transform(__lo, __hi); }
1115: # 738 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       long
1115:       hash(const _CharT* __lo, const _CharT* __hi) const
1115:       { return this->do_hash(__lo, __hi); }
1115: 
1115: 
1115:       int
1115:       _M_compare(const _CharT*, const _CharT*) const throw();
1115: 
1115:       size_t
1115:       _M_transform(_CharT*, const _CharT*, size_t) const throw();
1115: 
1115:   protected:
1115: 
1115:       virtual
1115:       ~collate()
1115:       { _S_destroy_c_locale(_M_c_locale_collate); }
1115: # 767 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       virtual int
1115:       do_compare(const _CharT* __lo1, const _CharT* __hi1,
1115:    const _CharT* __lo2, const _CharT* __hi2) const;
1115: # 781 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       virtual string_type
1115:       do_transform(const _CharT* __lo, const _CharT* __hi) const;
1115: # 794 "/usr/include/c++/12/bits/locale_classes.h" 3
1115:       virtual long
1115:       do_hash(const _CharT* __lo, const _CharT* __hi) const;
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     locale::id collate<_CharT>::id;
1115: 
1115: 
1115:   template<>
1115:     int
1115:     collate<char>::_M_compare(const char*, const char*) const throw();
1115: 
1115:   template<>
1115:     size_t
1115:     collate<char>::_M_transform(char*, const char*, size_t) const throw();
1115: 
1115: 
1115:   template<>
1115:     int
1115:     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
1115: 
1115:   template<>
1115:     size_t
1115:     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     class __cxx11:: collate_byname : public collate<_CharT>
1115:     {
1115:     public:
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115: 
1115:       explicit
1115:       collate_byname(const char* __s, size_t __refs = 0)
1115:       : collate<_CharT>(__refs)
1115:       {
1115:  if (__builtin_strcmp(__s, "C") != 0
1115:      && __builtin_strcmp(__s, "POSIX") != 0)
1115:    {
1115:      this->_S_destroy_c_locale(this->_M_c_locale_collate);
1115:      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
1115:    }
1115:       }
1115: 
1115: 
1115:       explicit
1115:       collate_byname(const string& __s, size_t __refs = 0)
1115:       : collate_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~collate_byname() { }
1115:     };
1115: 
1115: 
1115: }
1115: 
1115: # 1 "/usr/include/c++/12/bits/locale_classes.tcc" 1 3
1115: # 37 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _Facet>
1115:     locale::
1115:     locale(const locale& __otrator =(const time_t& right);
1417:   const CDateTime& operator =(const tm& right);
1417:   const CDateTime& operator=(const KODI::TIME::time_point& right);
1417: 
1417:   bool operator >(const CDateTime& right) const;
1417:   bool operator >=(const CDateTime& right) const;
1417:   bool operator <(const CDateTime& right) const;
1417:   bool operator <=(const CDateTime& right) const;
1417:   bool operator ==(const CDateTime& right) const;
1417:   bool operator !=(const CDateTime& right) const;
1417: 
1417:   bool operator >(const time_t& right) const;
1417:   bool operator >=(const time_t& right) const;
1417:   bool operator <(const time_t& right) const;
1417:   bool operator <=(const time_t& right) const;
1417:   bool operator ==(const time_t& right) const;
1417:   bool operator !=(const time_t& right) const;
1417: 
1417:   bool operator >(const tm& right) const;
1417:   bool operator >=(const tm& right) const;
1417:   bool operator <(const tm& right) const;
1417:   bool operator <=(const tm& right) const;
1417:   bool operator ==(const tm& right) const;
1417:   bool operator !=(const tm& right) const;
1417: 
1417:   bool operator>(const KODI::TIME::time_point& right) const;
1417:   bool operator>=(const KODI::TIME::time_point& right) const;
1417:   bool operator<(const KODI::TIME::time_point& right) const;
1417:   bool operator<=(const KODI::TIME::time_point& right) const;
1417:   bool operator==(const KODI::TIME::time_point& right) const;
1417:   bool operator!=(const KODI::TIME::time_point& right) const;
1417: 
1417:   CDateTime operator +(const CDateTimeSpan& right) const;
1417:   CDateTime operator -(const CDateTimeSpan& right) const;
1417: 
1417:   const CDateTime& operator +=(const CDateTimeSpan& right);
1417:   const CDateTime& operator -=(const CDateTimeSpan& right);
1417: 
1417:   CDateTimeSpan operator -(const CDateTime& right) const;
1417: 
1417:   void Archive(CArchive& ar) override;
1417: 
1417:   void Reset();
1417: 
1417:   int GetDay() const;
1417:   int GetMonth() const;
1417:   int GetYear() const;
1417:   int GetHour() const;
1417:   int GetMinute() const;
1417:   int GetSecond() const;
1417:   int GetDayOfWeek() const;
1417:   int GetMinuteOfDay() const;
1417: 
1417:   bool SetDateTime(int year, int month, int day, int hour, int minute, int second);
1417:   bool SetDate(int year, int month, int day);
1417:   bool SetTime(int hour, int minute, int second);
1417: 
1417:   bool SetFromDateString(const std::string &date);
1417:   bool SetFromDBDate(const std::string &date);
1417:   bool SetFromDBTime(const std::string &time);
1417:   bool SetFromW3CDate(const std::string &date);
1417:   bool SetFromW3CDateTime(const std::string &date, bool ignoreTimezone = false);
1417:   bool SetFromRFC1123DateTime(const std::string &dateTime);
1417: 
1417: 
1417: 
1417: 
1417:   bool SetFromDBDateTime(const std::string &dateTime);
1417: 
1417:   void GetAsTime(time_t& time) const;
1417:   void GetAsTm(tm& time) const;
1417:   KODI::TIME::time_point GetAsTimePoint() const;
1417: 
1417: 
1417: 
1417:   CDateTime GetAsLocalDateTime() const;
1417:   std::string GetAsSaveString() const;
1417:   std::string GetAsDBDateTime() const;
1417:   std::string GetAsDBDate() const;
1417:   std::string GetAsDBTime() const;
1417:   std::string GetAsLocalizedDate(bool longDate=false) const;
1417:   std::string GetAsLocalizedDate(const std::string &strFormat) const;
1417:   std::string GetAsLocalizedTime(const std::string &format, bool withSeconds=true) const;
1417:   std::string GetAsLocalizedDateTime(bool longDate=false, bool withSeconds=true) const;
1417:   std::string GetAsLocalizedTime(TIME_FORMAT format, bool withSeconds = false) const;
1417:   std::string GetAsRFC1123DateTime() const;
1417:   std::string GetAsW3CDate() const;
1417:   std::string GetAsW3CDateTime(bool asUtc = false) const;
1417: 
1417:   void SetValid(bool yesNo);
1417:   bool IsValid() const;
1417: 
1417: private:
1417:   KODI::TIME::time_point m_time;
1417: 
1417:   typedef enum _STATE
1417:   {
1417:     invalid=0,
1417:     valid
1417:   } STATE;
1417: 
1417:   1434:   inline constexpr long double
1434:   cosh(long double __x)
1434:   { return __builtin_coshl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     cosh(_Tp __x)
1434:     { return __builtin_cosh(__x); }
1434: 
1434:   using ::exp;
1434: 
1434: 
1434:   inline constexpr float
1434:   exp(float __x)
1434:   { return __builtin_expf(__x); }
1434: 
1434:   inline constexpr long double
1434:   exp(long double __x)
1434:   { return __builtin_expl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     exp(_Tp __x)
1434:     { return __builtin_exp(__x); }
1434: 
1434:   using ::fabs;
1434: 
1434: 
1434:   inline constexpr float
1434:   fabs(float __x)
1434:   { return __builtin_fabsf(__x); }
1434: 
1434:   inline constexpr long double
1434:   fabs(long double __x)
1434:   { return __builtin_fabsl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     fabs(_Tp __x)
1434:     { return __builtin_fabs(__x); }
1434: 
1434:   using ::floor;
1434: 
1434: 
1434:   inline constexpr float
1434:   floor(float __x)
1434:   { return __builtin_floorf(__x); }
1434: 
1434:   inline constexpr long double
1434:   floor(long double __x)
1434:   { return __builtin_floorl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     floor(_Tp __x)
1434:     { return __builtin_floor(__x); }
1434: 
1434:   using ::fmod;
1434: 
1434: 
1434:   inline constexpr float
1434:   fmod(float __x, float __y)
1434:   { return __builtin_fmodf(__x, __y); }
1434: 
1434:   inline constexpr long double
1434:   fmod(long double __x, long double __y)
1434:   { return __builtin_fmodl(__x, __y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline constexpr
1434:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     fmod(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return fmod(__type(__x), __type(__y));
1434:     }
1434: 
1434:   using ::frexp;
1434: 
1434: 
1434:   inline float
1434:   frexp(float __x, int* __exp)
1434:   { return __builtin_frexpf(__x, __exp); }
1434: 
1434:   inline long double
1434:   frexp(long double __x, int* __exp)
1434:   { return __builtin_frexpl(__x, __exp); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     frexp(_Tp __x, int* __exp)
1434:     { return __builtin_frexp(__x, __exp); }
1434: 
1434:   using ::ldexp;
1434: 
1434: 
1434:   inline constexpr float
1434:   ldexp(float __x, int __exp)
1434:   { return __builtin_ldexpf(__x, __exp); }
1434: 
1434:   inline constexpr long double
1434:   ldexp(long double __x, int __exp)
1434:   { return __builtin_ldexpl(__x, __exp); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     ldexp(_Tp __x, int __exp)
1434:     { return __builtin_ldexp(__x, __exp); }
1434: 
1434:   using ::log;
1434: 
1434: 
1434:   inline constexpr float
1434:   log(float __x)
1434:   { return __builtin_logf(__x); }
1434: 
1434:   inline constexpr long double
1434:   log(long double __x)
1434:   { return __builtin_logl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     log(_Tp __x)
1434:     { return __builtin_log(__x); }
1434: 
1434:   using ::log10;
1434: 
1434: 
1434:   inline constexpr float
1434:   log10(float __x)
1434:   { return __builtin_log10f(__x); }
1434: 
1434:   inline constexpr long double
1434:   log10(long double __x)
1434:   { return __builtin_log10l(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     log10(_Tp __x)
1434:     { return __builtin_log10(__x); }
1434: 
1434:   using ::modf;
1434: 
1434: 
1434:   inline float
1434:   modf(float __x, float* __iptr)
1434:   { return __builtin_modff(__x, __iptr); }
1434: 
1434:   inline long double
1434:   modf(long double __x, long double* __iptr)
1434:   { return __builtin_modfl(__x, __iptr); }
1434: 
1434: 
1434:   using ::pow;
1434: 
1434: 
1434:   inline constexpr float
1434:   pow(float __x, float __y)
1434:   { return __builtin_powf(__x, __y); }
1434: 
1434:   inline constexpr long double
1434:   pow(long double __x, long double __y)
1434:   { return __builtin_powl(__x, __y); }
1434: # 412 "/usr/include/c++/12/cmath" 3
1434:   template<typename _Tp, typename _Up>
1434:     inline constexpr
1434:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     pow(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return pow(__type(__x), __type(__y));
1434:     }
1434: 
1434:   using ::sin;
1434: 
1434: 
1434:   inline constexpr float
1434:   sin(float __x)
1434:   { return __builtin_sinf(__x); }
1434: 
1434:   inline constexpr long double
1434:   sin(long double __x)
1434:   { return __builtin_sinl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     sin(_Tp __x)
1434:     { return __builtin_sin(__x); }
1434: 
1434:   using ::sinh;
1434: 
1434: 
1434:   inline constexpr float
1434:   sinh(float __x)
1434:   { return __builtin_sinhf(__x); }
1434: 
1434:   inline constexpr long double
1434:   sinh(long double __x)
1434:   { return __builtin_sinhl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     sinh(_Tp __x)
1434:     { return __builtin_sinh(__x); }
1434: 
1434:   using ::sqrt;
1434: 
1434: 
1434:   inline constexpr float
1434:   sqrt(float __x)
1434:   { return __builtin_sqrtf(__x); }
1434: 
1434:   inline constexpr long double
1434:   sqrt(long double __x)
1434:   { return __builtin_sqrtl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     sqrt(_Tp __x)
1434:     { return __builtin_sqrt(__x); }
1434: 
1434:   using ::tan;
1434: 
1434: 
1434:   inline constexpr float
1434:   tan(float __x)
1434:   { return __builtin_tanf(__x); }
1434: 
1434:   inline constexpr long double
1434:   tan(long double __x)
1434:   { return __builtin_tanl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>::__type
1434:     tan(_Tp __x)
1434:     { return __builtin_tan(__x); }
1434: 
1434:   using ::tanh;
1434: 
1434: 
1434:   inline constexpr float
1434:   tanh(float __x)
1434:   { return __builtin_tanhf(__x); }
1434: 
1434:   inline constexpr long double
1434:   tanh(long double __x)
1434:   { return __builtin_tanhl(__x); }
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     double>her, _Facet* __f)
1115:     {
1115:       _M_impl = new _Impl(*__other._M_impl, 1);
1115: 
1115:       try
1115:  { _M_impl->_M_install_facet(&_Facet::id, __f); }
1115:       catch(...)
1115:  {
1115:    _M_impl->_M_remove_reference();
1115:    throw;
1115:  }
1115:       delete [] _M_impl->_M_names[0];
1115:       _M_impl->_M_names[0] = 0;
1115:     }
1115: 
1115:   template<typename _Facet>
1115:     locale
1115:     locale::
1115:     combine(const locale& __other) const
1115:     {
1115:       _Impl* __tmp = new _Impl(*_M_impl, 1);
1115:       try
1115:  {
1115:    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
1115:  }
1115:       catch(...)
1115:  {
1115:    __tmp->_M_remove_reference();
1115:    throw;
1115:  }
1115:       return locale(__tmp);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     bool
1115:     locale::
1115:     operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
1115:         const basic_string<_CharT, _Traits, _Alloc>& __s2) const
1115:     {
1115:       typedef std::collate<_CharT> __collate_type;
1115:       const __collate_type& __collate = use_facet<__collate_type>(*this);
1115:       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
1115:     __s2.data(), __s2.data() + __s2.length()) < 0);
1115:     }
1115: # 102 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1115:   template<typename _Facet>
1115:     bool
1115:     has_facet(const locale& __loc) throw()
1115:     {
1115:       const size_t __i = _Facet::id._M_id();
1115:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1115:       return (__i < __loc._M_impl->_M_facets_size
1115: 
1115:        && dynamic_cast<const _Facet*>(__facets[__i]));
1115: 
1115: 
1115: 
1115:     }
1115: # 130 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1115:   template<typename _Facet>
1115:     const _Facet&
1115:     use_facet(const locale& __loc)
1115:     {
1115:       const size_t __i = _Facet::id._M_id();
1115:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1115:       if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
1115:         __throw_bad_cast();
1115: 
1115:       return dynamic_cast<const _Facet&>(*__facets[__i]);
1115: 
1115: 
1115: 
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     int
1115:     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
1115:     { return 0; }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     size_t
1115:     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
1115:     { return 0; }
1115: 
1115:   template<typename _CharT>
1115:     int
1115:     collate<_CharT>::
1115:     do_compare(const _CharT* __lo1, const _CharT* __hi1,
1115:         const _CharT* __lo2, const _CharT* __hi2) const
1115:     {
1115: 
1115: 
1115:       const string_type __one(__lo1, __hi1);
1115:       const string_type __two(__lo2, __hi2);
1115: 
1115:       const _CharT* __p = __one.c_str();
1115:       const _CharT* __pend = __one.data() + __one.length();
1115:       const _CharT* __q = __two.c_str();
1115:       const _CharT* __qend = __two.data() + __two.length();
1115: 
1115: 
1115: 
1115: 
1115:       for (;;)
1115:  {
1115:    const int __res = _M_compare(__p, __q);
1115:    if (__res)
1115:      return __res;
1115: 
1115:    __p += char_traits<_CharT>::length(__p);
1115:    __q += char_traits<_CharT>::length(__q);
1115:    if (__p == __pend && __q == __qend)
1115:      return 0;
1115:    else if (__p == __pend)
1115:      return -1;
1115:    else if (__q == __qend)
1115:      return 1;
1115: 
1115:    __p++;
1115:    __q++;
1115:  }
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     typename collate<_CharT>::string_type
1115:     collate<_CharT>::
1115:     do_transform(const _CharT* __lo, const _CharT* __hi) const
1115:     {
1115:       string_type __ret;
1115: 
1115: 
1115:       const string_type __str(__lo, __hi);
1115: 
1115:       const _CharT* __p = __str.c_str();
1115:       const _CharT* __pend = __str.data() +::__type
1434:     tanh(_Tp __x)
1434:     { return __builtin_tanh(__x); }
1434: # 536 "/usr/include/c++/12/cmath" 3
1434:   constexpr int
1434:   fpclassify(float __x)
1434:   { return __builtin_fpclassify(0, 1, 4,
1434:     3, 2, __x); }
1434: 
1434:   constexpr int
1434:   fpclassify(double __x)
1434:   { return __builtin_fpclassify(0, 1, 4,
1434:     3, 2, __x); }
1434: 
1434:   constexpr int
1434:   fpclassify(long double __x)
1434:   { return __builtin_fpclassify(0, 1, 4,
1434:     3, 2, __x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               int>::__type
1434:     fpclassify(_Tp __x)
1434:     { return __x != 0 ? 4 : 2; }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isfinite(float __x)
1434:   { return __builtin_isfinite(__x); }
1434: 
1434:   constexpr bool
1434:   isfinite(double __x)
1434:   { return __builtin_isfinite(__x); }
1434: 
1434:   constexpr bool
1434:   isfinite(long double __x)
1434:   { return __builtin_isfinite(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               bool>::__type
1434:     isfinite(_Tp __x)
1434:     { return true; }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isinf(float __x)
1434:   { return __builtin_isinf(__x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isinf(double __x)
1434:   { return __builtin_isinf(__x); }
1434: 
1434: 
1434:   constexpr bool
1434:   isinf(long double __x)
1434:   { return __builtin_isinf(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               bool>::__type
1434:     isinf(_Tp __x)
1434:     { return false; }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isnan(float __x)
1434:   { return __builtin_isnan(__x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isnan(double __x)
1434:   { return __builtin_isnan(__x); }
1434: 
1434: 
1434:   constexpr bool
1434:   isnan(long double __x)
1434:   { return __builtin_isnan(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               bool>::__type
1434:     isnan(_Tp __x)
1434:     { return false; }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isnormal(float __x)
1434:   { return __builtin_isnormal(__x); }
1434: 
1434:   constexpr bool
1434:   isnormal(double __x)
1434:   { return __builtin_isnormal(__x); }
1434: 
1434:   constexpr bool
1434:   isnormal(long double __x)
1434:   { return __builtin_isnormal(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               bool>::__type
1434:     isnormal(_Tp __x)
1434:     { return __x != 0 ? true : false; }
1434: 
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   signbit(float __x)
1434:   { return __builtin_signbit(__x); }
1434: 
1434:   constexpr bool
1434:   signbit(double __x)
1434:   { return __builtin_signbit(__x); }
1434: 
1434:   constexpr bool
1434:   signbit(long double __x)
1434:   { return __builtin_signbit(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               bool>::__type
1434:     signbit(_Tp __x)
1434:     { return __x < 0 ? true : false; }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isgreater(float __x, float __y)
1434:   { return __builtin_isgreater(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isgreater(double __x, double __y)
1434:   { return __builtin_isgreater(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isgreater(long double __x, long double __y)
1434:   { return _STATE m_state;
1417: };
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTag.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.h"
1417:        
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ScraperUrl.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ScraperUrl.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class TiXmlElement;
1417: namespace XFILE
1417: {
1417: class CCurlFile;
1417: }
1417: 
1417: class CScraperUrl
1417: {
1417: public:
1417:   enum class UrlType
1417:   {
1417:     General = 1,
1417:     Season = 2
1417:   };
1417: 
1417:   struct SUrlEntry
1417:   {
1417:     explicit SUrlEntry(std::string url = "")
1417:       : m_url(std::move(url)), m_type(UrlType::General), m_post(false), m_isgz(false), m_season(-1)
1417:     {
1417:     }
1417: 
1417:     std::string m_spoof;
1417:     std::string m_url;
1417:     std::string m_cache;
1417:     std::string m_aspect;
1417:     std::string m_preview;
1417:     UrlType m_type;
1417:     bool m_post;
1417:     bool m_isgz;
1417:     int m_season;
1417:   };
1417: 
1417:   CScraperUrl();
1417:   explicit CScraperUrl(const std::string& strUrl);
1417:   explicit CScraperUrl(const TiXmlElement* element);
1417:   ~CScraperUrl();
1417: 
1417:   void Clear();
1417: 
1417:   bool HasData() const { return !m_data.empty(); }
1417:   const std::string& GetData() const { return m_data; }
1417:   void SetData(std::string data);
1417: 
1417:   const std::string& GetTitle() const { return m_title; }
1417:   void SetTitle(std::string title) { m_title = std::move(title); }
1417: 
1417:   const std::string& GetId() const { return m_id; }
1417:   void SetId(std::string id) { m_id = std::move(id); }
1417: 
1417:   double GetRelevance() const { return m_relevance; }
1417:   void SetRelevance(double relevance) { m_relevance = relevance; }
1417: 
1417:   bool HasUrls() const { return !m_urls.empty(); }
1417:   const std::vector<SUrlEntry>& GetUrls() const { return m_urls; }
1417:   void SetUrls(std::vector<SUrlEntry> urls) { m_urls = std::move(urls); }
1417:   void AppendUrl(SUrlEntry url) { m_urls.push_back(std::move(url)); }
1417: 
1417:   const SUrlEntry GetFirstUrlByType(const std::string& type = "") const;
1417:   const SUrlEntry GetSeasonUrl(int season, const std::string& type = "") const;
1417:   unsigned int GetMaxSeasonUrl() const;
1417: 
1417:   std::string GetFirstThumbUrl() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void GetThumbUrls(std::vector<std::string>& thumbs,
1417:                     const std::string& type = "",
1417:                     int season = -1,
1417:                     bool unique = false) const;
1417: 
1417:   bool Parse();
1417:   bool ParseFromData(const std::string& data);
1417:   bool ParseAndAppendUrl(const TiXmlElement* element);
1417:   bool ParseAndAppendUrlsFromEpisodeGuide(const std::string& episodeGuide);
1417:   void AddParsedUrl(const std::string& url,
1417:                     const std::string& aspect = "",
1417:                     const std::string& preview = "",
1417:                     const std::string& referrer = "",
1417:                     const std::string& cache = "",
1417:                     bool post = false,
1417:                     bool isgz = false,
1417:                     int season = -1);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static std::string GetThumbUrl(const CScraperUrl::SUrlEntry& entry);
1417: 
1417:   static bool Get(const SUrlEntry& scrURL,
1417:                   std::string& strHTML,
1417:                   XFILE::CCurlFile& http,
1417:                   const std::string& cacheContext);
1417: 
1417: 
1417:   std::string m_data;
1417: 
1417: private:
1417:   std::string m_title;
1417:   std::string m_id;
1417:   double m_relevance;
1417:   std::ve_builtin_isgreater(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename
1434:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1434:        && __is_arithmetic<_Up>::__value), bool>::__type
1434:     isgreater(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return __builtin_isgreater(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isgreaterequal(float __x, float __y)
1434:   { return __builtin_isgreaterequal(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isgreaterequal(double __x, double __y)
1434:   { return __builtin_isgreaterequal(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isgreaterequal(long double __x, long double __y)
1434:   { return __builtin_isgreaterequal(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename
1434:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1434:        && __is_arithmetic<_Up>::__value), bool>::__type
1434:     isgreaterequal(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return __builtin_isgreaterequal(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isless(float __x, float __y)
1434:   { return __builtin_isless(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isless(double __x, double __y)
1434:   { return __builtin_isless(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isless(long double __x, long double __y)
1434:   { return __builtin_isless(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename
1434:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1434:        && __is_arithmetic<_Up>::__value), bool>::__type
1434:     isless(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return __builtin_isless(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   islessequal(float __x, float __y)
1434:   { return __builtin_islessequal(__x, __y); }
1434: 
1434:   constexpr bool
1434:   islessequal(double __x, double __y)
1434:   { return __builtin_islessequal(__x, __y); }
1434: 
1434:   constexpr bool
1434:   islessequal(long double __x, long double __y)
1434:   { return __builtin_islessequal(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename
1434:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1434:        && __is_arithmetic<_Up>::__value), bool>::__type
1434:     islessequal(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return __builtin_islessequal(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   islessgreater(float __x, float __y)
1434:   { return __builtin_islessgreater(__x, __y); }
1434: 
1434:   constexpr bool
1434:   islessgreater(double __x, double __y)
1434:   { return __builtin_islessgreater(__x, __y); }
1434: 
1434:   constexpr bool
1434:   islessgreater(long double __x, long double __y)
1434:   { return __builtin_islessgreater(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename
1434:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1434:        && __is_arithmetic<_Up>::__value), bool>::__type
1434:     islessgreater(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return __builtin_islessgreater(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr bool
1434:   isunordered(float __x, float __y)
1434:   { return __builtin_isunordered(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isunordered(double __x, double __y)
1434:   { return __builtin_isunordered(__x, __y); }
1434: 
1434:   constexpr bool
1434:   isunordered __str.length();
1115: 
1115:       size_t __len = (__hi - __lo) * 2;
1115: 
1115:       _CharT* __c = new _CharT[__len];
1115: 
1115:       try
1115:  {
1115: 
1115: 
1115: 
1115:    for (;;)
1115:      {
1115: 
1115:        size_t __res = _M_transform(__c, __p, __len);
1115: 
1115: 
1115:        if (__res >= __len)
1115:   {
1115:     __len = __res + 1;
1115:     delete [] __c, __c = 0;
1115:     __c = new _CharT[__len];
1115:     __res = _M_transform(__c, __p, __len);
1115:   }
1115: 
1115:        __ret.append(__c, __res);
1115:        __p += char_traits<_CharT>::length(__p);
1115:        if (__p == __pend)
1115:   break;
1115: 
1115:        __p++;
1115:        __ret.push_back(_CharT());
1115:      }
1115:  }
1115:       catch(...)
1115:  {
1115:    delete [] __c;
1115:    throw;
1115:  }
1115: 
1115:       delete [] __c;
1115: 
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     long
1115:     collate<_CharT>::
1115:     do_hash(const _CharT* __lo, const _CharT* __hi) const
1115:     {
1115:       unsigned long __val = 0;
1115:       for (; __lo < __hi; ++__lo)
1115:  __val =
1115:    *__lo + ((__val << 7)
1115:      | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
1115:     __digits - 7)));
1115:       return static_cast<long>(__val);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template class collate<char>;
1115:   extern template class collate_byname<char>;
1115: 
1115:   extern template
1115:     const collate<char>&
1115:     use_facet<collate<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<collate<char> >(const locale&);
1115: 
1115: 
1115:   extern template class collate<wchar_t>;
1115:   extern template class collate_byname<wchar_t>;
1115: 
1115:   extern template
1115:     const collate<wchar_t>&
1115:     use_facet<collate<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<collate<wchar_t> >(const locale&);
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 858 "/usr/include/c++/12/bits/locale_classes.h" 2 3
1115: # 40 "/usr/include/c++/12/locale" 2 3
1115: # 1 "/usr/include/c++/12/bits/locale_facets.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/locale_facets.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/cwctype" 1 3
1115: # 39 "/usr/include/c++/12/cwctype" 3
1115:        
1115: # 40 "/usr/include/c++/12/cwctype" 3
1115: # 50 "/usr/include/c++/12/cwctype" 3
1115: # 1 "/usr/include/wctype.h" 1 3 4
1115: # 38 "/usr/include/wctype.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 1 3 4
1115: # 38 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1115: typedef unsigned long int wctype_t;
1115: # 56 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1115: enum
1115: {
1115:   __ISwupper = 0,
1115:   __ISwlower = 1,
1115:   __ISwalpha = 2,
1115:   __ISwdigit = 3,
1115:   __ISwxdigit = 4,
1115:   __ISwspace = 5,
1115:   __ISwprint = 6,
1115:   __ISwgraph = 7,
1115:   __ISwblank = 8,
1115:   __ISwcntrl = 9,
1115:   __ISwpunct = 10,
1115:   __ISwalnum = 11,
1115: 
1115:   _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
1115:   _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
1115:   _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
1115:   _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
1(long double __x, long double __y)
1434:   { return __builtin_isunordered(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename
1434:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1434:        && __is_arithmetic<_Up>::__value), bool>::__type
1434:     isunordered(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return __builtin_isunordered(__type(__x), __type(__y));
1434:     }
1434: # 1065 "/usr/include/c++/12/cmath" 3
1434:   using ::double_t;
1434:   using ::float_t;
1434: 
1434: 
1434:   using ::acosh;
1434:   using ::acoshf;
1434:   using ::acoshl;
1434: 
1434:   using ::asinh;
1434:   using ::asinhf;
1434:   using ::asinhl;
1434: 
1434:   using ::atanh;
1434:   using ::atanhf;
1434:   using ::atanhl;
1434: 
1434:   using ::cbrt;
1434:   using ::cbrtf;
1434:   using ::cbrtl;
1434: 
1434:   using ::copysign;
1434:   using ::copysignf;
1434:   using ::copysignl;
1434: 
1434:   using ::erf;
1434:   using ::erff;
1434:   using ::erfl;
1434: 
1434:   using ::erfc;
1434:   using ::erfcf;
1434:   using ::erfcl;
1434: 
1434:   using ::exp2;
1434:   using ::exp2f;
1434:   using ::exp2l;
1434: 
1434:   using ::expm1;
1434:   using ::expm1f;
1434:   using ::expm1l;
1434: 
1434:   using ::fdim;
1434:   using ::fdimf;
1434:   using ::fdiml;
1434: 
1434:   using ::fma;
1434:   using ::fmaf;
1434:   using ::fmal;
1434: 
1434:   using ::fmax;
1434:   using ::fmaxf;
1434:   using ::fmaxl;
1434: 
1434:   using ::fmin;
1434:   using ::fminf;
1434:   using ::fminl;
1434: 
1434:   using ::hypot;
1434:   using ::hypotf;
1434:   using ::hypotl;
1434: 
1434:   using ::ilogb;
1434:   using ::ilogbf;
1434:   using ::ilogbl;
1434: 
1434:   using ::lgamma;
1434:   using ::lgammaf;
1434:   using ::lgammal;
1434: 
1434: 
1434:   using ::llrint;
1434:   using ::llrintf;
1434:   using ::llrintl;
1434: 
1434:   using ::llround;
1434:   using ::llroundf;
1434:   using ::llroundl;
1434: 
1434: 
1434:   using ::log1p;
1434:   using ::log1pf;
1434:   using ::log1pl;
1434: 
1434:   using ::log2;
1434:   using ::log2f;
1434:   using ::log2l;
1434: 
1434:   using ::logb;
1434:   using ::logbf;
1434:   using ::logbl;
1434: 
1434:   using ::lrint;
1434:   using ::lrintf;
1434:   using ::lrintl;
1434: 
1434:   using ::lround;
1434:   using ::lroundf;
1434:   using ::lroundl;
1434: 
1434:   using ::nan;
1434:   using ::nanf;
1434:   using ::nanl;
1434: 
1434:   using ::nearbyint;
1434:   using ::nearbyintf;
1434:   using ::nearbyintl;
1434: 
1434:   using ::nextafter;
1434:   using ::nextafterf;
1434:   using ::nextafterl;
1434: 
1434:   using ::nexttoward;
1434:   using ::nexttowardf;
1434:   using ::nexttowardl;
1434: 
1434:   using ::remainder;
1434:   using ::remainderf;
1434:   using ::remainderl;
1434: 
1434:   using ::remquo;
1434:   using ::remquof;
1434:   using ::remquol;
1434: 
1434:   using ::rint;
1434:   using ::rintf;
1434:   using ::rintl;
1434: 
1434:   using ::round;
1434:   using ::roundf;
1434:   using ::roundl;
1434: 
1434:   using ::scalbln;
1434:   using ::scalblnf;
1434:   using ::scalblnl;
1434: 
1434:   using ::scalbn;
1434:   using ::scalbnf;
1434:   using ::scalbnl;
1434: 
1434:   using ::tgamma;
1434:   using ::tgammaf;
1434:   using ::tgammal;
1434: 
1434:   using ::trunc;
1434:   using ::truncf;
1434:   using ::truncl;
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   acosh(float __x)
1434:   { return __builtin_acoshf(__x); }
1434: 
1434:   constexpr long double
1434:   acosh(long double __x)
1434:   { return __builtin_acoshl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     acosh(_Tp __x)
1434:     { return __builtin_acosh(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   asinh(float __x)
1434:   { return __builtin_asinhf(__x); }
1434: 
1434:   constexpr long double
1434:   asinh(long double __x)
1434:   { return _ctor<SUrlEntry> m_urls;
1417:   bool m_parsed;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:        
1417: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/params_check_macros.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/params_check_macros.h"
1417:        
1417: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1417: 
1417: 
1417: 
1417: # 1 "/usr/include/fmt/xchar.h" 1 3 4
1417: # 11 "/usr/include/fmt/xchar.h" 3 4
1417: # 1 "/usr/include/c++/12/cwchar" 1 3 4
1417: # 39 "/usr/include/c++/12/cwchar" 3 4
1417:        
1417: # 40 "/usr/include/c++/12/cwchar" 3
1417: # 12 "/usr/include/fmt/xchar.h" 2 3 4
1417: 
1417: # 1 "/usr/include/fmt/format.h" 1 3 4
1417: # 14 "/usr/include/fmt/xchar.h" 2 3 4
1417: 
1417: 
1417: # 15 "/usr/include/fmt/xchar.h" 3 4
1417: namespace fmt { inline namespace v9 {
1417: namespace detail {
1417: template <typename T>
1417: using is_exotic_char = bool_constant<!std::is_same<T, char>::value>;
1417: }
1417: 
1417: 
1417: 
1417: using wstring_view = basic_string_view<wchar_t>;
1417: using wformat_parse_context = basic_format_parse_context<wchar_t>;
1417: using wformat_context = buffer_context<wchar_t>;
1417: using wformat_args = basic_format_args<wformat_context>;
1417: using wmemory_buffer = basic_memory_buffer<wchar_t>;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template <typename... Args>
1417: using wformat_string = basic_format_string<wchar_t, type_identity_t<Args>...>;
1417: inline auto runtime(wstring_view s) -> basic_runtime<wchar_t> { return {{s}}; }
1417: 
1417: 
1417: template <> struct is_char<wchar_t> : std::true_type {};
1417: template <> struct is_char<detail::char8_type> : std::true_type {};
1417: template <> struct is_char<char16_t> : std::true_type {};
1417: template <> struct is_char<char32_t> : std::true_type {};
1417: 
1417: template <typename... Args>
1417: constexpr format_arg_store<wformat_context, Args...> make_wformat_args(
1417:     const Args&... args) {
1417:   return {args...};
1417: }
1417: 
1417: inline namespace literals {
1417: 
1417: constexpr detail::udl_arg<wchar_t> operator"" _a(const wchar_t* s, size_t) {
1417:   return {s};
1417: }
1417: 
1417: }
1417: 
1417: template <typename It, typename Sentinel>
1417: auto join(It begin, Sentinel end, wstring_view sep)
1417:     -> join_view<It, Sentinel, wchar_t> {
1417:   return {begin, end, sep};
1417: }
1417: 
1417: template <typename Range>
1417: auto join(Range&& range, wstring_view sep)
1417:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>,
1417:                  wchar_t> {
1417:   return join(std::begin(range), std::end(range), sep);
1417: }
1417: 
1417: template <typename T>
1417: auto join(std::initializer_list<T> list, wstring_view sep)
1417:     -> join_view<const T*, const T*, wchar_t> {
1417:   return join(std::begin(list), std::end(list), sep);
1417: }
1417: 
1417: template <typename Char, enable_if_t<(!std::is_same<Char, char>::value), int> = 0>
1417: auto vformat(basic_string_view<Char> format_str,
1417:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
1417:     -> std::basic_string<Char> {
1417:   basic_memory_buffer<Char> buffer;
1417:   detail::vformat_to(buffer, format_str, args);
1417:   return to_string(buffer);
1417: }
1417: 
1417: template <typename... T>
1417: auto format(wformat_string<T...> fmt, T&&... args) -> std::wstring {
1417:   return vformat(fmt::wstring_view(fmt), fmt::make_wformat_args(args...));
1417: }
1417: 
1417: 
1417: 
1417: template <typename S, typename... Args, typename Char = char_t<S>,
1417:           enable_if_t<(!std::is_same<Char, char>::value && !std::is_same<Char, wchar_t>::value), int> = 0
1417:                                                             >
1417: auto format(const S& format_str, Args&&... args) -> std::basic_string_builtin_asinhl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     asinh(_Tp __x)
1434:     { return __builtin_asinh(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   atanh(float __x)
1434:   { return __builtin_atanhf(__x); }
1434: 
1434:   constexpr long double
1434:   atanh(long double __x)
1434:   { return __builtin_atanhl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     atanh(_Tp __x)
1434:     { return __builtin_atanh(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   cbrt(float __x)
1434:   { return __builtin_cbrtf(__x); }
1434: 
1434:   constexpr long double
1434:   cbrt(long double __x)
1434:   { return __builtin_cbrtl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     cbrt(_Tp __x)
1434:     { return __builtin_cbrt(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   copysign(float __x, float __y)
1434:   { return __builtin_copysignf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   copysign(long double __x, long double __y)
1434:   { return __builtin_copysignl(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     copysign(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return copysign(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   erf(float __x)
1434:   { return __builtin_erff(__x); }
1434: 
1434:   constexpr long double
1434:   erf(long double __x)
1434:   { return __builtin_erfl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     erf(_Tp __x)
1434:     { return __builtin_erf(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   erfc(float __x)
1434:   { return __builtin_erfcf(__x); }
1434: 
1434:   constexpr long double
1434:   erfc(long double __x)
1434:   { return __builtin_erfcl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     erfc(_Tp __x)
1434:     { return __builtin_erfc(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   exp2(float __x)
1434:   { return __builtin_exp2f(__x); }
1434: 
1434:   constexpr long double
1434:   exp2(long double __x)
1434:   { return __builtin_exp2l(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     exp2(_Tp __x)
1434:     { return __builtin_exp2(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   expm1(float __x)
1434:   { return __builtin_expm1f(__x); }
1434: 
1434:   constexpr long double
1434:   expm1(long double __x)
1434:   { return __builtin_expm1l(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     expm1(_Tp __x)
1434:     { return __builtin_expm1(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   fdim(float __x, float __y)
1434:   { return __builtin_fdimf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   fdim(long double __x, long double __y)
1434:   { return __builtin_fdiml(__x, __y); }
1434: 
1434: 
1434: 
1434:   templat115:   _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
1115:   _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
1115:   _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
1115:   _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
1115:   _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
1115:   _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
1115:   _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
1115:   _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
1115: };
1115: 
1115: 
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int iswalnum (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int iswalpha (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: extern int iswcntrl (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int iswdigit (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int iswgraph (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswlower (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: extern int iswprint (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswpunct (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswspace (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswupper (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswxdigit (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int iswblank (wint_t __wc) noexcept (true);
1115: # 155 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1115: extern wctype_t wctype (const char *__property) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t towlower (wint_t __wc) noexcept (true);
1115: 
1115: 
1115: extern wint_t towupper (wint_t __wc) noexcept (true);
1115: 
1115: }
1115: # 39 "/usr/include/wctype.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: typedef const __int32_t *wctrans_t;
1115: 
1115: 
1115: 
1115: extern wctrans_t wctrans (const char *__property) noexcept (true);
1115: 
1115: 
1115: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int iswdigit_l (<Char> {
1417:   return vformat(detail::to_string_view(format_str),
1417:                  fmt::make_format_args<buffer_context<Char>>(args...));
1417: }
1417: 
1417: template <typename Locale, typename S, typename Char = char_t<S>,
1417:           enable_if_t<(detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1417:                                                                 >
1417: inline auto vformat(
1417:     const Locale& loc, const S& format_str,
1417:     basic_format_args<buffer_context<type_identity_t<Char>>> args)
1417:     -> std::basic_string<Char> {
1417:   return detail::vformat(loc, detail::to_string_view(format_str), args);
1417: }
1417: 
1417: template <typename Locale, typename S, typename... Args,
1417:           typename Char = char_t<S>,
1417:           enable_if_t<(detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1417:                                                                 >
1417: inline auto format(const Locale& loc, const S& format_str, Args&&... args)
1417:     -> std::basic_string<Char> {
1417:   return detail::vformat(loc, detail::to_string_view(format_str),
1417:                          fmt::make_format_args<buffer_context<Char>>(args...));
1417: }
1417: 
1417: template <typename OutputIt, typename S, typename Char = char_t<S>,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1417:                                                                 >
1417: auto vformat_to(OutputIt out, const S& format_str,
1417:                 basic_format_args<buffer_context<type_identity_t<Char>>> args)
1417:     -> OutputIt {
1417:   auto&& buf = detail::get_buffer<Char>(out);
1417:   detail::vformat_to(buf, detail::to_string_view(format_str), args);
1417:   return detail::get_iterator(buf);
1417: }
1417: 
1417: template <typename OutputIt, typename S, typename... Args,
1417:           typename Char = char_t<S>,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1417:                                                                 >
1417: inline auto format_to(OutputIt out, const S& fmt, Args&&... args) -> OutputIt {
1417:   return vformat_to(out, detail::to_string_view(fmt),
1417:                     fmt::make_format_args<buffer_context<Char>>(args...));
1417: }
1417: 
1417: template <typename Locale, typename S, typename OutputIt, typename... Args,
1417:           typename Char = char_t<S>,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1417: 
1417:                                                                     >
1417: inline auto vformat_to(
1417:     OutputIt out, const Locale& loc, const S& format_str,
1417:     basic_format_args<buffer_context<type_identity_t<Char>>> args) -> OutputIt {
1417:   auto&& buf = detail::get_buffer<Char>(out);
1417:   vformat_to(buf, detail::to_string_view(format_str), args,
1417:              detail::locale_ref(loc));
1417:   return detail::get_iterator(buf);
1417: }
1417: 
1417: template <
1417:     typename OutputIt, typename Locale, typename S, typename... Args,
1417:     typename Char = char_t<S>,
1417:     bool enable = detail::is_output_iterator<OutputIt, Char>::value&&
1417:         detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value>
1417: inline auto format_to(OutputIt out, const Locale& loc, const S& format_str,
1417:                       Args&&... args) ->
1417:     typename std::enable_if<enable, OutputIt>::type {
1417:   return vformat_to(out, loc, to_string_view(format_str),
1417:                     fmt::make_format_args<buffer_context<Char>>(args...));
1417: }
1417: 
1417: template <typename OutputIt, typename Char, typename... Args,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1417:                           e<typename _Tp, typename _Up>
1434:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     fdim(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return fdim(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   fma(float __x, float __y, float __z)
1434:   { return __builtin_fmaf(__x, __y, __z); }
1434: 
1434:   constexpr long double
1434:   fma(long double __x, long double __y, long double __z)
1434:   { return __builtin_fmal(__x, __y, __z); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up, typename _Vp>
1434:     constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
1434:     fma(_Tp __x, _Up __y, _Vp __z)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type;
1434:       return fma(__type(__x), __type(__y), __type(__z));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   fmax(float __x, float __y)
1434:   { return __builtin_fmaxf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   fmax(long double __x, long double __y)
1434:   { return __builtin_fmaxl(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     fmax(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return fmax(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   fmin(float __x, float __y)
1434:   { return __builtin_fminf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   fmin(long double __x, long double __y)
1434:   { return __builtin_fminl(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     fmin(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return fmin(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   hypot(float __x, float __y)
1434:   { return __builtin_hypotf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   hypot(long double __x, long double __y)
1434:   { return __builtin_hypotl(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     hypot(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return hypot(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr int
1434:   ilogb(float __x)
1434:   { return __builtin_ilogbf(__x); }
1434: 
1434:   constexpr int
1434:   ilogb(long double __x)
1434:   { return __builtin_ilogbl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr
1434:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                     int>::__type
1434:     ilogb(_Tp __x)
1434:     { return __builtin_ilogb(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   lgamma(float __x)
1434:   { return __builtin_lgammaf(__x); }
1434: 
1434:   constexpr long double
1434:   lgamma(long double __x)
1434:   { return __builtin_lgammal(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     lgamma(_Tp __x)
1434:     { return __builtin_lgamma(__x); }
1434: 
1434: 
1434: 
1434:   constexpr long long
1434:   llrint(float __x)
1434:   { return __builtin_llrintf(__x); }
1434: 
1434:   constexpr long long
1434:   llrint(long double __x)
1434:   { return __builtin_llrintl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               long long>::__type
1434:     llrint(_Tp __x)
1434:     { return __builtin_llrint(__x); }
1434: 
1434: 
1434: 
1434:   constexpr long long
1434:   llround(float __x)
1434:   { return __builtin_llroundf(__x); }
1434: 
1434:   constexpr long long
1434:   llround(long double __x)
1434:   { return __builtin_llroundl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               long long>::__type
1434:     llround(_Tp __x)
1434:     { return __builtin_llround(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   log1p(float __x)
1434:   { return __builtin_log1pf(__x); }
1434: 
1434:   constexpr long double
1434:   log1p(long double __x)
1434:   { return __builtin_log1pl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     log1p(_Tp __x)
1434:     { return __builtin_log1p(__x); }
1434: 
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   log2(float __x)
1434:   { return __builtin_log2f(__x); }
1434: 
1434:   constexpr long double
1434:   log2(long double __x)
1434:   { return __builtin_log2l(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     log2(_Tp __x)
1434:     { return __builtin_log2(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   logb(float __x)
1434:   { return __builtin_logbf(__x); }
1434: 
1434:   constexpr long double
1434:   logb(long double __x)
1434:   { return __builtin_logbl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     logb(_Tp __x)
1434:     { return __builtin_logb(__x); }
1434: 
1434: 
1434: 
1434:   constexpr long
1434:   lrint(float __x)
1434:   { return __builtin_lrintf(__x); }
1434: 
1434:   constexpr long
1434:   lrint(long double __x)
1434:   { return __builtin_lrintl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               long>::__type
1434:     lrint(_Tp __x)
1434:     { return __builtin_lrint(__x); }
1434: 
1434: 
1434: 
1434:   constexpr long
1434:   lround(float __x)
1434:   { return __builtin_lroundf(__x); }
1434: 
1434:   constexpr long
1434:   lround(long double __x)
1434:   { return __builtin_lroundl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               long>::__type
1434:     lround(_Tp __x)
1434:     { return __builtin_lround(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   nearbyint(float __x)
1434:   { return __builtin_nearbyintf(__x); }
1434: 
1434:   constexpr long double
1434:   nearbyint(long double __x)
1434:   { return __builtin_nearbyintl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     nearbyint(_Tp __x)
1434:     { return __builtin_nearbyint(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   nextafter(float __x, float __y)
1434:   { return __builtin_nextafterf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   nextafter(long double __x, long double __y)
1434:   { return __builtin_nextafterl(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     nextafter(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return nextafter(__type(__x), __wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: extern wctype_t wctype_l (const char *__property, locale_t __locale)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: extern wctrans_t wctrans_l (const char *__property, locale_t __locale)
1115:      noexcept (true);
1115: 
1115: 
1115: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
1115:       locale_t __locale) noexcept (true);
1115: 
1115: 
1115: 
1115: }
1115: # 51 "/usr/include/c++/12/cwctype" 2 3
1115: # 80 "/usr/include/c++/12/cwctype" 3
1115: namespace std
1115: {
1115:   using ::wctrans_t;
1115:   using ::wctype_t;
1115:   using ::wint_t;
1115: 
1115:   using ::iswalnum;
1115:   using ::iswalpha;
1115: 
1115:   using ::iswblank;
1115: 
1115:   using ::iswcntrl;
1115:   using ::iswctype;
1115:   using ::iswdigit;
1115:   using ::iswgraph;
1115:   using ::iswlower;
1115:   using ::iswprint;
1115:   using ::iswpunct;
1115:   using ::iswspace;
1115:   using ::iswupper;
1115:   using ::iswxdigit;
1115:   using ::towctrans;
1115:   using ::towlower;
1115:   using ::towupper;
1115:   using ::wctrans;
1115:   using ::wctype;
1115: }
1115: # 40 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: # 1 "/usr/include/c++/12/cctype" 1 3
1115: # 39 "/usr/include/c++/12/cctype" 3
1115:        
1115: # 40 "/usr/include/c++/12/cctype" 3
1115: # 41 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 1 3
1115: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   struct ctype_base
1115:   {
1115: 
1115:     typedef const int* __to_type;
1115: 
1115: 
1115: 
1115:     typedef unsigned short mask;
1115:     static const mask upper = _ISupper;
1115:     static const mask lower = _ISlower;
1115:     static const mask alpha = _ISalpha;
1115:     static const mask digit = _ISdigit;
1115:     static const mask xdigit = _ISxdigit;
1115:     static const mask space = _ISspace;
1115:     static const mask print = _ISprint;
1115:     static const mask graph = _ISalpha | _ISdigit | _ISpunct;
1115:     static const mask cntrl = _IScntrl;
1115:     static const mask punct = _ISpunct;
1115:     static const mask alnum = _ISalpha | _ISdigit;
1115: 
1115:     static const mask blank = _ISblank;
1115: 
1115:   };
1115: 
1115: 
1115: }
1115: # 42 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/ios_base.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/ios_base.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/ios_base.h" 3
1115: # 46 "/usr/include/c++/12/bits/ios_base.h" 3
1115: # 1 "/usr/include/c++/12/system_error" 1 3
1115: # 32 "/usr/include/c++/12/system_error" 3
1115:        
1115: # 33 "/usr/include/c++/12/system_error" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/incl                                      >
1417: inline auto vformat_to_n(
1417:     OutputIt out, size_t n, basic_string_view<Char> format_str,
1417:     basic_format_args<buffer_context<type_identity_t<Char>>> args)
1417:     -> format_to_n_result<OutputIt> {
1417:   detail::iterator_buffer<OutputIt, Char, detail::fixed_buffer_traits> buf(out,
1417:                                                                            n);
1417:   detail::vformat_to(buf, format_str, args);
1417:   return {buf.out(), buf.count()};
1417: }
1417: 
1417: template <typename OutputIt, typename S, typename... Args,
1417:           typename Char = char_t<S>,
1417:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1417:                                                                 >
1417: inline auto format_to_n(OutputIt out, size_t n, const S& fmt,
1417:                         const Args&... args) -> format_to_n_result<OutputIt> {
1417:   return vformat_to_n(out, n, detail::to_string_view(fmt),
1417:                       fmt::make_format_args<buffer_context<Char>>(args...));
1417: }
1417: 
1417: template <typename S, typename... Args, typename Char = char_t<S>,
1417:           enable_if_t<(detail::is_exotic_char<Char>::value), int> = 0>
1417: inline auto formatted_size(const S& fmt, Args&&... args) -> size_t {
1417:   detail::counting_buffer<Char> buf;
1417:   detail::vformat_to(buf, detail::to_string_view(fmt),
1417:                      fmt::make_format_args<buffer_context<Char>>(args...));
1417:   return buf.count();
1417: }
1417: 
1417: inline void vprint(std::FILE* f, wstring_view fmt, wformat_args args) {
1417:   wmemory_buffer buffer;
1417:   detail::vformat_to(buffer, fmt, args);
1417:   buffer.push_back(L'\0');
1417:   if (std::fputws(buffer.data(), f) == -1)
1417:     throw system_error((*__errno_location ()), [] { struct __attribute__((visibility("hidden"))) FMT_COMPILE_STRING : fmt::detail::compile_string { using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("cannot write to file"[0])>; [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const { return fmt::detail_exported::compile_string_to_view<char_type>("cannot write to file"); } }; return FMT_COMPILE_STRING(); }());
1417: }
1417: 
1417: inline void vprint(wstring_view fmt, wformat_args args) {
1417:   vprint(stdout, fmt, args);
1417: }
1417: 
1417: template <typename... T>
1417: void print(std::FILE* f, wformat_string<T...> fmt, T&&... args) {
1417:   return vprint(f, wstring_view(fmt), fmt::make_wformat_args(args...));
1417: }
1417: 
1417: template <typename... T> void print(wformat_string<T...> fmt, T&&... args) {
1417:   return vprint(wstring_view(fmt), fmt::make_wformat_args(args...));
1417: }
1417: 
1417: 
1417: 
1417: 
1417: template <typename T> inline auto to_wstring(const T& value) -> std::wstring {
1417:   return format([] { struct __attribute__((visibility("hidden"))) FMT_COMPILE_STRING : fmt::detail::compile_string { using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype(L"{}"[0])>; [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const { return fmt::detail_exported::compile_string_to_view<char_type>(L"{}"); } }; return FMT_COMPILE_STRING(); }(), value);
1417: }
1417: 
1417: } }
1417: # 40 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1417: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417: 
1417: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417: template<typename T, std::enable_if_t<!std::is_enum<T>::value, int> = 0>
1417: constexpr auto&& EnumToInt(T&& arg) noexcept
1417: {
1417:   return arg;
1417: }
1417: template<typename T, std::enable_if_t<std::is_enum<T>::value, int> = 0>
1417: constexpr auto EnumToInt(T&& arg) noexcept
1417: {
1417:   return static_cast<int>(arg);
1417: }
1417: 
1417: class StringUtils
1417: {
1417: public:
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   template<typename... Args>
1417:   static std::string Format(const std::string& fmt, Artype(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   nexttoward(float __x, long double __y)
1434:   { return __builtin_nexttowardf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   nexttoward(long double __x, long double __y)
1434:   { return __builtin_nexttowardl(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     nexttoward(_Tp __x, long double __y)
1434:     { return __builtin_nexttoward(__x, __y); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   remainder(float __x, float __y)
1434:   { return __builtin_remainderf(__x, __y); }
1434: 
1434:   constexpr long double
1434:   remainder(long double __x, long double __y)
1434:   { return __builtin_remainderl(__x, __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     remainder(_Tp __x, _Up __y)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return remainder(__type(__x), __type(__y));
1434:     }
1434: 
1434: 
1434: 
1434:   inline float
1434:   remquo(float __x, float __y, int* __pquo)
1434:   { return __builtin_remquof(__x, __y, __pquo); }
1434: 
1434:   inline long double
1434:   remquo(long double __x, long double __y, int* __pquo)
1434:   { return __builtin_remquol(__x, __y, __pquo); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Up>
1434:     inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1434:     remquo(_Tp __x, _Up __y, int* __pquo)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1434:       return remquo(__type(__x), __type(__y), __pquo);
1434:     }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   rint(float __x)
1434:   { return __builtin_rintf(__x); }
1434: 
1434:   constexpr long double
1434:   rint(long double __x)
1434:   { return __builtin_rintl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     rint(_Tp __x)
1434:     { return __builtin_rint(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   round(float __x)
1434:   { return __builtin_roundf(__x); }
1434: 
1434:   constexpr long double
1434:   round(long double __x)
1434:   { return __builtin_roundl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     round(_Tp __x)
1434:     { return __builtin_round(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   scalbln(float __x, long __ex)
1434:   { return __builtin_scalblnf(__x, __ex); }
1434: 
1434:   constexpr long double
1434:   scalbln(long double __x, long __ex)
1434:   { return __builtin_scalblnl(__x, __ex); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     scalbln(_Tp __x, long __ex)
1434:     { return __builtin_scalbln(__x, __ex); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   scalbn(float __x, int __ex)
1434:   { return __builtin_scalbnf(__x, __ex); }
1434: 
1434:   constexpr long double
1434:   scalbn(long double __x, int __ex)
1434:   { return __builtin_scalbnl(__x, __ex); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     scalbn(_Tp __x, int __ex)
1434:     { return __builtin_scalbn(__x, __ex); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   tgamma(float __x)
1434:   { return __builtin_tgammaf(__x); }
1434: 
1434:   constexpr long double
1434:   tgamma(long double __x)
1434:   { return __builtin_tgammal(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     tgamma(_Tp __x)
1434:     { return __builtin_tgamma(__x); }
1434: 
1434: 
1434: 
1434:   constexpr float
1434:   trunc(float __x)
1434:   { return __builtin_truncf(__x); }
1434: 
1434:   constexpr long double
1434:   trunc(long double __x)
1434:   { return __builtin_truncl(__x); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1434:                                               double>::__type
1434:     trunc(_Tp __x)
1434:     { return __builtin_trunc(__x); }
1434: # 1852 "/usr/include/c++/12/cmath" 3
1434:   template<typename _Tp>
1434:     inline _Tp
1434:     __hypot3(_Tp __x, _Tp __y, _Tp __z)
1434:     {
1434:       __x = std::abs(__x);
1434:       __y = std::abs(__y);
1434:       __z = std::abs(__z);
1434:       if (_Tp __a = __x < __y ? __y < __z ? __z : __y : __x < __z ? __z : __x)
1434:  return __a * std::sqrt((__x / __a) * (__x / __a)
1434:           + (__y / __a) * (__y / __a)
1434:           + (__z / __a) * (__z / __a));
1434:       else
1434:  return {};
1434:     }
1434: 
1434:   inline float
1434:   hypot(float __x, float __y, float __z)
1434:   { return std::__hypot3<float>(__x, __y, __z); }
1434: 
1434:   inline double
1434:   hypot(double __x, double __y, double __z)
1434:   { return std::__hypot3<double>(__x, __y, __z); }
1434: 
1434:   inline long double
1434:   hypot(long double __x, long double __y, long double __z)
1434:   { return std::__hypot3<long double>(__x, __y, __z); }
1434: 
1434:   template<typename _Tp, typename _Up, typename _Vp>
1434:     __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>
1434:     hypot(_Tp __x, _Up __y, _Vp __z)
1434:     {
1434:       using __type = __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>;
1434:       return std::__hypot3<__type>(__x, __y, __z);
1434:     }
1434: # 1931 "/usr/include/c++/12/cmath" 3
1434: 
1434: }
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/specfun.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/specfun.h" 3
1434: #pragma GCC visibility push(default)
1434: # 49 "/usr/include/c++/12/bits/specfun.h" 3
1434: # 1 "/usr/include/c++/12/tr1/gamma.tcc" 1 3
1434: # 49 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434: # 1 "/usr/include/c++/12/tr1/special_function_util.h" 1 3
1434: # 39 "/usr/include/c++/12/tr1/special_function_util.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 50 "/usr/include/c++/12/tr1/special_function_util.h" 3
1434:   namespace __detail
1434:   {
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:     struct __floating_point_constant
1434:     {
1434:       static const _Tp __value;
1434:     };
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:       struct __numeric_constants
1434:       {
1434: 
1434:         static _Tp __pi() throw()
1434:         { return static_cast<_Tp>(3.1415926535897932384626433832795029L); }
1434: 
1434:         static _Tp __pi_2() throw()
1434:         { return static_cast<_Tp>(1.5707963267948966192313216916397514L); }
1434: 
1434:         static _Tp __pi_3() throw()
1434:         { return static_cast<_Tp>(1.0471975511965977461542144610931676L); }
1434: 
1434:         static _Tp __pi_4() throw()
1434:         { return static_cast<_Tp>(0.7853981633974483096156608458198757L); }
1434: 
1434:         static _Tp __1_pi() throw()
1434:         { return static_cast<_Tp>(0.3183098861837906715377675267450287L); }
1434: 
1434:         static _Tp __2_sqrtpi() throw()
1434:         { return static_cast<_Tp>(1.1283791670955125738961589031215452L); }
1434: 
1434:         static _Tp __sqrt2() throw()
1434:         { return static_cast<_Tp>(1.4142135623730950488016887242096981L); }
1434: 
1434:         static _Tp __sqrt3() throw()
1434:         { return static_cast<_Tp>(1.7320508075688772935274463415058723L); }
1434: 
1434:      ude/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 1 3
1115: # 34 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 3
1115: # 1 "/usr/include/c++/12/cerrno" 1 3
1115: # 39 "/usr/include/c++/12/cerrno" 3
1115:        
1115: # 40 "/usr/include/c++/12/cerrno" 3
1115: # 35 "/usr/include/arm-linux-gnueabihf/c++/12/bits/error_constants.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   enum class errc
1115:     {
1115:       address_family_not_supported = 97,
1115:       address_in_use = 98,
1115:       address_not_available = 99,
1115:       already_connected = 106,
1115:       argument_list_too_long = 7,
1115:       argument_out_of_domain = 33,
1115:       bad_address = 14,
1115:       bad_file_descriptor = 9,
1115: 
1115: 
1115:       bad_message = 74,
1115: 
1115: 
1115:       broken_pipe = 32,
1115:       connection_aborted = 103,
1115:       connection_already_in_progress = 114,
1115:       connection_refused = 111,
1115:       connection_reset = 104,
1115:       cross_device_link = 18,
1115:       destination_address_required = 89,
1115:       device_or_resource_busy = 16,
1115:       directory_not_empty = 39,
1115:       executable_format_error = 8,
1115:       file_exists = 17,
1115:       file_too_large = 27,
1115:       filename_too_long = 36,
1115:       function_not_supported = 38,
1115:       host_unreachable = 113,
1115: 
1115: 
1115:       identifier_removed = 43,
1115: 
1115: 
1115:       illegal_byte_sequence = 84,
1115:       inappropriate_io_control_operation = 25,
1115:       interrupted = 4,
1115:       invalid_argument = 22,
1115:       invalid_seek = 29,
1115:       io_error = 5,
1115:       is_a_directory = 21,
1115:       message_size = 90,
1115:       network_down = 100,
1115:       network_reset = 102,
1115:       network_unreachable = 101,
1115:       no_buffer_space = 105,
1115:       no_child_process = 10,
1115: 
1115: 
1115:       no_link = 67,
1115: 
1115: 
1115:       no_lock_available = 37,
1115: 
1115: 
1115:       no_message_available = 61,
1115: 
1115: 
1115:       no_message = 42,
1115:       no_protocol_option = 92,
1115:       no_space_on_device = 28,
1115: 
1115: 
1115:       no_stream_resources = 63,
1115: 
1115: 
1115:       no_such_device_or_address = 6,
1115:       no_such_device = 19,
1115:       no_such_file_or_directory = 2,
1115:       no_such_process = 3,
1115:       not_a_directory = 20,
1115:       not_a_socket = 88,
1115: 
1115: 
1115:       not_a_stream = 60,
1115: 
1115: 
1115:       not_connected = 107,
1115:       not_enough_memory = 12,
1115: 
1115: 
1115:       not_supported = 95,
1115: 
1115: 
1115: 
1115:       operation_canceled = 125,
1115: 
1115: 
1115:       operation_in_progress = 115,
1115:       operation_not_permitted = 1,
1115:       operation_not_supported = 95,
1115:       operation_would_block = 11,
1115: 
1115: 
1115:       owner_dead = 130,
1115: 
1115: 
1115:       permission_denied = 13,
1115: 
1115: 
1115:       protocol_error = 71,
1115: 
1115: 
1115:       protocol_not_supported = 93,
1115:       read_only_file_system = 30,
1115:       resource_deadlock_would_occur = 35,
1115:       resource_unavailable_try_again = 11,
1115:       result_out_of_range = 34,
1115: 
1115: 
1115:       state_not_recoverable = 131,
1115: 
1115: 
1115: 
1115:       stream_timeout = 62,
1115: 
1115: 
1115: 
1115:       text_file_busy = 26,
1115: 
1115: 
1115:       timed_out = 110,
1115:       too_many_files_open_in_system = 23,
1115:       too_many_files_open = 24,
1115:       too_many_links = 31,
1115:       too_many_symbolic_link_levels = 40,
1115: 
1115: 
1115:       value_too_large = 75,
1115: 
1115: 
1115:       wrong_protocol_type = 91
1115:     };
1115: 
1115: 
1115: }
1115: # 40 "/usr/include/c++/12/system_error" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/stdexcept" 1 3
1115: # 36 "/usr/include/c++/12/stdexcept" 3
1115:        
1115: # 37 "/usr/include/c++/12/stdexcept" 3
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
11gs&&... args)
1417:   {
1417: 
1417:     return ::fmt::format(fmt, EnumToInt(std::forward<Args>(args))...);
1417:   }
1417:   template<typename... Args>
1417:   static std::wstring Format(const std::wstring& fmt, Args&&... args)
1417:   {
1417: 
1417:     return ::fmt::format(fmt, EnumToInt(std::forward<Args>(args))...);
1417:   }
1417: 
1417:   static std::string FormatV( const char *fmt, va_list args);
1417:   static std::wstring FormatV( const wchar_t *fmt, va_list args);
1417:   static std::string ToUpper(const std::string& str);
1417:   static std::wstring ToUpper(const std::wstring& str);
1417:   static void ToUpper(std::string &str);
1417:   static void ToUpper(std::wstring &str);
1417:   static std::string ToLower(const std::string& str);
1417:   static std::wstring ToLower(const std::wstring& str);
1417:   static void ToLower(std::string &str);
1417:   static void ToLower(std::wstring &str);
1417:   static void ToCapitalize(std::string &str);
1417:   static void ToCapitalize(std::wstring &str);
1417:   static bool EqualsNoCase(const std::string &str1, const std::string &str2);
1417:   static bool EqualsNoCase(const std::string &str1, const char *s2);
1417:   static bool EqualsNoCase(const char *s1, const char *s2);
1417:   static int CompareNoCase(const std::string& str1, const std::string& str2, size_t n = 0);
1417:   static int CompareNoCase(const char* s1, const char* s2, size_t n = 0);
1417:   static int ReturnDigits(const std::string &str);
1417:   static std::string Left(const std::string &str, size_t count);
1417:   static std::string Mid(const std::string &str, size_t first, size_t count = std::string::npos);
1417:   static std::string Right(const std::string &str, size_t count);
1417:   static std::string& Trim(std::string &str);
1417:   static std::string& Trim(std::string &str, const char* const chars);
1417:   static std::string& TrimLeft(std::string &str);
1417:   static std::string& TrimLeft(std::string &str, const char* const chars);
1417:   static std::string& TrimRight(std::string &str);
1417:   static std::string& TrimRight(std::string &str, const char* const chars);
1417:   static std::string& RemoveDuplicatedSpacesAndTabs(std::string& str);
1417:   static int Replace(std::string &str, char oldChar, char newChar);
1417:   static int Replace(std::string &str, const std::string &oldStr, const std::string &newStr);
1417:   static int Replace(std::wstring &str, const std::wstring &oldStr, const std::wstring &newStr);
1417:   static bool StartsWith(const std::string &str1, const std::string &str2);
1417:   static bool StartsWith(const std::string &str1, const char *s2);
1417:   static bool StartsWith(const char *s1, const char *s2);
1417:   static bool StartsWithNoCase(const std::string &str1, const std::string &str2);
1417:   static bool StartsWithNoCase(const std::string &str1, const char *s2);
1417:   static bool StartsWithNoCase(const char *s1, const char *s2);
1417:   static bool EndsWith(const std::string &str1, const std::string &str2);
1417:   static bool EndsWith(const std::string &str1, const char *s2);
1417:   static bool EndsWithNoCase(const std::string &str1, const std::string &str2);
1417:   static bool EndsWithNoCase(const std::string &str1, const char *s2);
1417: 
1417:   template<typename CONTAINER>
1417:   static std::string Join(const CONTAINER &strings, const std::string& delimiter)
1417:   {
1417:     std::string result;
1417:     for (const auto& str : strings)
1417:       result += str + delimiter;
1417: 
1417:     if (!result.empty())
1417:       result.erase(result.size() - delimiter.size());
1417:     return result;
1417:   }
1417: # 154 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   static std::vector<std::string> Split(const std::string& input, const std::string& delimiter, unsigned int iMaxStrings = 0);
1417:   static std::vector<std::string> Split(const std::string& input, const char delimiter, size_t iMaxStrings = 0);
1417:   static std::vector<std::string> Split(const std::string& input, const std::vector<std::string> &delimiters);
1417: # 168 "   static _Tp __sqrtpio2() throw()
1434:         { return static_cast<_Tp>(1.2533141373155002512078826424055226L); }
1434: 
1434:         static _Tp __sqrt1_2() throw()
1434:         { return static_cast<_Tp>(0.7071067811865475244008443621048490L); }
1434: 
1434:         static _Tp __lnpi() throw()
1434:         { return static_cast<_Tp>(1.1447298858494001741434273513530587L); }
1434: 
1434:         static _Tp __gamma_e() throw()
1434:         { return static_cast<_Tp>(0.5772156649015328606065120900824024L); }
1434: 
1434:         static _Tp __euler() throw()
1434:         { return static_cast<_Tp>(2.7182818284590452353602874713526625L); }
1434:       };
1434: # 114 "/usr/include/c++/12/tr1/special_function_util.h" 3
1434:     template<typename _Tp>
1434:     inline bool __isnan(_Tp __x)
1434:     { return std::isnan(__x); }
1434: # 133 "/usr/include/c++/12/tr1/special_function_util.h" 3
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 50 "/usr/include/c++/12/tr1/gamma.tcc" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 65 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 76 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template <typename _Tp>
1434:     _Tp
1434:     __bernoulli_series(unsigned int __n)
1434:     {
1434: 
1434:       static const _Tp __num[28] = {
1434:         _Tp(1UL), -_Tp(1UL) / _Tp(2UL),
1434:         _Tp(1UL) / _Tp(6UL), _Tp(0UL),
1434:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1434:         _Tp(1UL) / _Tp(42UL), _Tp(0UL),
1434:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1434:         _Tp(5UL) / _Tp(66UL), _Tp(0UL),
1434:         -_Tp(691UL) / _Tp(2730UL), _Tp(0UL),
1434:         _Tp(7UL) / _Tp(6UL), _Tp(0UL),
1434:         -_Tp(3617UL) / _Tp(510UL), _Tp(0UL),
1434:         _Tp(43867UL) / _Tp(798UL), _Tp(0UL),
1434:         -_Tp(174611) / _Tp(330UL), _Tp(0UL),
1434:         _Tp(854513UL) / _Tp(138UL), _Tp(0UL),
1434:         -_Tp(236364091UL) / _Tp(2730UL), _Tp(0UL),
1434:         _Tp(8553103UL) / _Tp(6UL), _Tp(0UL)
1434:       };
1434: 
1434:       if (__n == 0)
1434:         return _Tp(1);
1434: 
1434:       if (__n == 1)
1434:         return -_Tp(1) / _Tp(2);
1434: 
1434: 
1434:       if (__n % 2 == 1)
1434:         return _Tp(0);
1434: 
1434: 
1434:       if (__n < 28)
1434:         return __num[__n];
1434: 
1434: 
1434:       _Tp __fact = _Tp(1);
1434:       if ((__n / 2) % 2 == 0)
1434:         __fact *= _Tp(-1);
1434:       for (unsigned int __k = 1; __k <= __n; ++__k)
1434:         __fact *= __k / (_Tp(2) * __numeric_constants<_Tp>::__pi());
1434:       __fact *= _Tp(2);
1434: 
1434:       _Tp __sum = _Tp(0);
1434:       for (unsigned int __i = 1; __i < 1000; ++__i)
1434:         {
1434:           _Tp __term = std::pow(_Tp(__i), -_Tp(__n));
1434:           if (__term < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:           __sum += __term;
1434:         }
1434: 
1434:       return __fact * __sum;
1434:     }
1434: # 139 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __bernoulli(int __n)
1434:     { return __bernoulli_series<_Tp>(__n); }
1434: # 153 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __log_gamma_bernoulli(_Tp __x)
1434:     {
1434:       _Tp __lg = (__x - _Tp(0.5L)) * std::log(__x) - __x
1434:                + _Tp(0.5L) * std::log(_Tp(2)
1434:                * __numeric_constants<_Tp>::__pi());
1434: 
1434:       const _Tp __xx = __x * __x;
1434:       _Tp __help = _Tp(1) / __x;
1434:       for ( unsigned int __i = 1; __i < 20; ++__i )
1434:         {
1434:           const _Tp __2i = _Tp(2 * __i);
1434:           __help /= __2i * (__2i - _Tp(1)) * __xx;
1434:           __lg += __bernoulli<_Tp>(2 * __i) * __help;
1434:         }
1434: 
1434:       return __lg;
1434:     }
1434: # 181 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __log_gamma_lanczos(_Tp __x)
1434:     {
1434:       const _Tp __xm1 = __x - _Tp(1);
1415: 
1115: 
1115: 
1115:   struct __cow_string
1115:   {
1115:     union {
1115:       const char* _M_p;
1115:       char _M_bytes[sizeof(const char*)];
1115:     };
1115: 
1115:     __cow_string();
1115:     __cow_string(const std::string&);
1115:     __cow_string(const char*, size_t);
1115:     __cow_string(const __cow_string&) noexcept;
1115:     __cow_string& operator=(const __cow_string&) noexcept;
1115:     ~__cow_string();
1115: 
1115:     __cow_string(__cow_string&&) noexcept;
1115:     __cow_string& operator=(__cow_string&&) noexcept;
1115: 
1115:   };
1115: 
1115:   typedef basic_string<char> __sso_string;
1115: # 113 "/usr/include/c++/12/stdexcept" 3
1115:   class logic_error : public exception
1115:   {
1115:     __cow_string _M_msg;
1115: 
1115:   public:
1115: 
1115:     explicit
1115:     logic_error(const string& __arg) ;
1115: 
1115: 
1115:     explicit
1115:     logic_error(const char*) ;
1115: 
1115:     logic_error(logic_error&&) noexcept;
1115:     logic_error& operator=(logic_error&&) noexcept;
1115: 
1115: 
1115: 
1115:     logic_error(const logic_error&) noexcept;
1115:     logic_error& operator=(const logic_error&) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     virtual ~logic_error() noexcept;
1115: 
1115: 
1115: 
1115:     virtual const char*
1115:     what() const noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   };
1115: 
1115: 
1115: 
1115:   class domain_error : public logic_error
1115:   {
1115:   public:
1115:     explicit domain_error(const string& __arg) ;
1115: 
1115:     explicit domain_error(const char*) ;
1115:     domain_error(const domain_error&) = default;
1115:     domain_error& operator=(const domain_error&) = default;
1115:     domain_error(domain_error&&) = default;
1115:     domain_error& operator=(domain_error&&) = default;
1115: 
1115:     virtual ~domain_error() noexcept;
1115:   };
1115: 
1115: 
1115:   class invalid_argument : public logic_error
1115:   {
1115:   public:
1115:     explicit invalid_argument(const string& __arg) ;
1115: 
1115:     explicit invalid_argument(const char*) ;
1115:     invalid_argument(const invalid_argument&) = default;
1115:     invalid_argument& operator=(const invalid_argument&) = default;
1115:     invalid_argument(invalid_argument&&) = default;
1115:     invalid_argument& operator=(invalid_argument&&) = default;
1115: 
1115:     virtual ~invalid_argument() noexcept;
1115:   };
1115: 
1115: 
1115: 
1115:   class length_error : public logic_error
1115:   {
1115:   public:
1115:     explicit length_error(const string& __arg) ;
1115: 
1115:     explicit length_error(const char*) ;
1115:     length_error(const length_error&) = default;
1115:     length_error& operator=(const length_error&) = default;
1115:     length_error(length_error&&) = default;
1115:     length_error& operator=(length_error&&) = default;
1115: 
1115:     virtual ~length_error() noexcept;
1115:   };
1115: 
1115: 
1115: 
1115:   class out_of_range : public logic_error
1115:   {
1115:   public:
1115:     explicit out_of_range(const string& __arg) ;
1115: 
1115:     explicit out_of_range(const char*) ;
1115:     out_of_range(const out_of_range&) = default;
1115:     out_of_range& operator=(const out_of_range&) = default;
1115:     out_of_range(out_of_range&&) = default;
1115:     out_of_range& operator=(out_of_range&&) = default;
1115: 
1115:     virtual ~out_of_range() noexcept;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class runtime_error : public exception
1115:   {
1115:     __cow_string _M_msg;
1115: 
1115:   public:
1115: 
1115:     explicit
1115:     runtime_error(const string& __arg) ;
1115: 
1115: 
1115:     explicit
1115:     runtime_error(const char*) ;
1115: 
1115:     runtime_error(runtime_error&&) noexcept;
1115:     runtime_error& operator=(runtime_error&&) noexcept;
1115: 
1115: 
1115: 
1115:     runtime_error(const runtime_error&) noexcept;
1115:     runtime_error& operator=(const runtime_error&) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     virtual ~runtime_error() noexcept;
1115: 
1115: 
1115: 
1115:     virtual const 34: 
1434:       static const _Tp __lanczos_cheb_7[9] = {
1434:        _Tp( 0.99999999999980993227684700473478L),
1434:        _Tp( 676.520368121885098567009190444019L),
1434:        _Tp(-1259.13921672240287047156078755283L),
1434:        _Tp( 771.3234287776530788486528258894L),
1434:        _Tp(-176.61502916214059906584551354L),
1434:        _Tp( 12.507343278686904814458936853L),
1434:        _Tp(-0.13857109526572011689554707L),
1434:        _Tp( 9.984369578019570859563e-6L),
1434:        _Tp( 1.50563273514931155834e-7L)
1434:       };
1434: 
1434:       static const _Tp __LOGROOT2PI
1434:           = _Tp(0.9189385332046727417803297364056176L);
1434: 
1434:       _Tp __sum = __lanczos_cheb_7[0];
1434:       for(unsigned int __k = 1; __k < 9; ++__k)
1434:         __sum += __lanczos_cheb_7[__k] / (__xm1 + __k);
1434: 
1434:       const _Tp __term1 = (__xm1 + _Tp(0.5L))
1434:                         * std::log((__xm1 + _Tp(7.5L))
1434:                        / __numeric_constants<_Tp>::__euler());
1434:       const _Tp __term2 = __LOGROOT2PI + std::log(__sum);
1434:       const _Tp __result = __term1 + (__term2 - _Tp(7));
1434: 
1434:       return __result;
1434:     }
1434: # 225 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __log_gamma(_Tp __x)
1434:     {
1434:       if (__x > _Tp(0.5L))
1434:         return __log_gamma_lanczos(__x);
1434:       else
1434:         {
1434:           const _Tp __sin_fact
1434:                  = std::abs(std::sin(__numeric_constants<_Tp>::__pi() * __x));
1434:           if (__sin_fact == _Tp(0))
1434:             std::__throw_domain_error(("Argument is nonpositive integer " "in __log_gamma")
1434:                                                            );
1434:           return __numeric_constants<_Tp>::__lnpi()
1434:                      - std::log(__sin_fact)
1434:                      - __log_gamma_lanczos(_Tp(1) - __x);
1434:         }
1434:     }
1434: # 252 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __log_gamma_sign(_Tp __x)
1434:     {
1434:       if (__x > _Tp(0))
1434:         return _Tp(1);
1434:       else
1434:         {
1434:           const _Tp __sin_fact
1434:                   = std::sin(__numeric_constants<_Tp>::__pi() * __x);
1434:           if (__sin_fact > _Tp(0))
1434:             return (1);
1434:           else if (__sin_fact < _Tp(0))
1434:             return -_Tp(1);
1434:           else
1434:             return _Tp(0);
1434:         }
1434:     }
1434: # 283 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __log_bincoef(unsigned int __n, unsigned int __k)
1434:     {
1434: 
1434:       static const _Tp __max_bincoeff
1434:                       = std::numeric_limits<_Tp>::max_exponent10
1434:                       * std::log(_Tp(10)) - _Tp(1);
1434: 
1434:       _Tp __coeff = ::std::lgamma(_Tp(1 + __n))
1434:                   - ::std::lgamma(_Tp(1 + __k))
1434:                   - ::std::lgamma(_Tp(1 + __n - __k));
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     }
1434: # 314 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __bincoef(unsigned int __n, unsigned int __k)
1434:     {
1434: 
1434:       static const _Tp __max_bincoeff
1434:                       = std::numeric_limits<_Tp>::max_exponent10
1434:                       * std::log(_Tp(10)) - _Tp(1);
1434: 
1434:       const _Tp __log_coeff = __log_bincoef<_Tp>(__n, __k);
1434:       if (__log_coeff > __max_bincoeff)
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else
1434:         return std::exp(__log_coeff);
1434:     }
1434: # 337 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __gamma(_Tp __x)
1434:     { return std::exp(__log_gamma(__x)); }
1434: # 356 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __psi_series(_Tp __x)
1434:     {
1434:       _Tp __sum = -__numeric_constants<_Tp>::__g/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   template<typename OutputIt>
1417:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const std::string& delimiter, unsigned int iMaxStrings = 0)
1417:   {
1417:     OutputIt dest = d_first;
1417: 
1417:     if (input.empty())
1417:       return dest;
1417:     if (delimiter.empty())
1417:     {
1417:       *d_first++ = input;
1417:       return dest;
1417:     }
1417: 
1417:     const size_t delimLen = delimiter.length();
1417:     size_t nextDelim;
1417:     size_t textPos = 0;
1417:     do
1417:     {
1417:       if (--iMaxStrings == 0)
1417:       {
1417:         *dest++ = input.substr(textPos);
1417:         break;
1417:       }
1417:       nextDelim = input.find(delimiter, textPos);
1417:       *dest++ = input.substr(textPos, nextDelim - textPos);
1417:       textPos = nextDelim + delimLen;
1417:     } while (nextDelim != std::string::npos);
1417: 
1417:     return dest;
1417:   }
1417:   template<typename OutputIt>
1417:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const char delimiter, size_t iMaxStrings = 0)
1417:   {
1417:     return SplitTo(d_first, input, std::string(1, delimiter), iMaxStrings);
1417:   }
1417:   template<typename OutputIt>
1417:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const std::vector<std::string> &delimiters)
1417:   {
1417:     OutputIt dest = d_first;
1417:     if (input.empty())
1417:       return dest;
1417: 
1417:     if (delimiters.empty())
1417:     {
1417:       *dest++ = input;
1417:       return dest;
1417:     }
1417:     std::string str = input;
1417:     for (size_t di = 1; di < delimiters.size(); di++)
1417:       StringUtils::Replace(str, delimiters[di], delimiters[0]);
1417:     return SplitTo(dest, str, delimiters[0]);
1417:   }
1417: # 235 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   static std::vector<std::string> SplitMulti(const std::vector<std::string>& input,
1417:                                              const std::vector<std::string>& delimiters,
1417:                                              size_t iMaxStrings = 0);
1417:   static int FindNumber(const std::string& strInput, const std::string &strFind);
1417:   static int64_t AlphaNumericCompare(const wchar_t *left, const wchar_t *right);
1417:   static int AlphaNumericCollation(int nKey1, const void* pKey1, int nKey2, const void* pKey2);
1417:   static long TimeStringToSeconds(const std::string &timeString);
1417:   static void RemoveCRLF(std::string& strLine);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static size_t utf8_strlen(const char *s);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static std::string SecondsToTimeString(long seconds, TIME_FORMAT format = TIME_FORMAT_GUESS);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static bool IsNaturalNumber(const std::string& str);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static bool IsInteger(const std::string& str);
1417: 
1417: 
1417: 
1417: 
1417:   inline static bool isasciidigit(char chr)
1417:   {
1417:     return chr >= '0' && chr <= '9';
1417:   }
1417:   inline static bool isasciixdigit(char chr)
1417:   {
1417:     return (chr >= '0' && chr <= '9') || (chr >= 'a' && chr <= 'f') || (chr >= 'A' && chr <= 'F');
1417:   }
1417:   static int asciidigitvalue(char chr);
1417:   static int asciixdigitvalue(char chr);
1417:   inline static bool isasciiuppercaseletter(char chr)
1417:   {
1417:     return (chr >= 'A' && chr <= 'Z');
1417:   }
1417:   inline static bool isasciilowercaseletter(char chr)
1417:   {
1417:     return (chr >= 'a' && chr <= 'z');
1417:   }
1417:   inline static bool isasciialphanum(char chr)
1417:   {
1417:     return isasciiuppercaseletter(chr) || isasciilowercaseletter(chr) || isasciidigit(chr);
1417:   }
1417:   static std::string SizeToString(int64_t size);
1417:   static const std::string Empty;
1417:   static size_t FindWords(const char *str, const char *wordLowerCase);
1417:   static int FindEndBracket(const std::string &str, char opener, chamma_e() - _Tp(1) / __x;
1434:       const unsigned int __max_iter = 100000;
1434:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1434:         {
1434:           const _Tp __term = __x / (__k * (__k + __x));
1434:           __sum += __term;
1434:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:         }
1434:       return __sum;
1434:     }
1434: # 386 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __psi_asymp(_Tp __x)
1434:     {
1434:       _Tp __sum = std::log(__x) - _Tp(0.5L) / __x;
1434:       const _Tp __xx = __x * __x;
1434:       _Tp __xp = __xx;
1434:       const unsigned int __max_iter = 100;
1434:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1434:         {
1434:           const _Tp __term = __bernoulli<_Tp>(2 * __k) / (2 * __k * __xp);
1434:           __sum -= __term;
1434:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:           __xp *= __xx;
1434:         }
1434:       return __sum;
1434:     }
1434: # 417 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __psi(_Tp __x)
1434:     {
1434:       const int __n = static_cast<int>(__x + 0.5L);
1434:       const _Tp __eps = _Tp(4) * std::numeric_limits<_Tp>::epsilon();
1434:       if (__n <= 0 && std::abs(__x - _Tp(__n)) < __eps)
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__x < _Tp(0))
1434:         {
1434:           const _Tp __pi = __numeric_constants<_Tp>::__pi();
1434:           return __psi(_Tp(1) - __x)
1434:                - __pi * std::cos(__pi * __x) / std::sin(__pi * __x);
1434:         }
1434:       else if (__x > _Tp(100))
1434:         return __psi_asymp(__x);
1434:       else
1434:         return __psi_series(__x);
1434:     }
1434: # 446 "/usr/include/c++/12/tr1/gamma.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __psi(unsigned int __n, _Tp __x)
1434:     {
1434:       if (__x <= _Tp(0))
1434:         std::__throw_domain_error(("Argument out of range " "in __psi")
1434:                                                  );
1434:       else if (__n == 0)
1434:         return __psi(__x);
1434:       else
1434:         {
1434:           const _Tp __hzeta = __hurwitz_zeta(_Tp(__n + 1), __x);
1434: 
1434:           const _Tp __ln_nfact = ::std::lgamma(_Tp(__n + 1));
1434: 
1434: 
1434: 
1434:           _Tp __result = std::exp(__ln_nfact) * __hzeta;
1434:           if (__n % 2 == 1)
1434:             __result = -__result;
1434:           return __result;
1434:         }
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 50 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/bessel_function.tcc" 1 3
1434: # 55 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 71 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 98 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template <typename _Tp>
1434:     void
1434:     __gamma_temme(_Tp __mu,
1434:                   _Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi)
1434:     {
1434: 
1434:       __gampl = _Tp(1) / ::std::tgamma(_Tp(1) + __mu);
1434:       __gammi = _Tp(1) / ::std::tgamma(_Tp(1) - __mu);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       if (std::abs(__mu) < std::numeric_limits<_Tp>::epsilon())
1434:         __gam1 = -_Tp(__numeric_constants<_Tp>::__gamma_e());
1434:       else
1434:         __gam1 = (__gammi - __gampl) / (_Tp(2) * __mu);
1434: 
1434:       __gam2 = (__gammi + __gampl) / (_Tp(2));
1434: 
1434:       return;
1434:     }
1434: # 136 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template <typename _Tp>
1434:     void
1434:     __bessel_jn(_Tp __nu, _Tp __x,
1434:                 _Tp & __Jnu, _Tp & __Nnu, _Tp & __Jpnu, _Tp & __Npnu)
1434:     {
1434:       if (__x == _Tp(0))
1434:         {
143char*
1115:     what() const noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   };
1115: 
1115: 
1115:   class range_error : public runtime_error
1115:   {
1115:   public:
1115:     explicit range_error(const string& __arg) ;
1115: 
1115:     explicit range_error(const char*) ;
1115:     range_error(const range_error&) = default;
1115:     range_error& operator=(const range_error&) = default;
1115:     range_error(range_error&&) = default;
1115:     range_error& operator=(range_error&&) = default;
1115: 
1115:     virtual ~range_error() noexcept;
1115:   };
1115: 
1115: 
1115:   class overflow_error : public runtime_error
1115:   {
1115:   public:
1115:     explicit overflow_error(const string& __arg) ;
1115: 
1115:     explicit overflow_error(const char*) ;
1115:     overflow_error(const overflow_error&) = default;
1115:     overflow_error& operator=(const overflow_error&) = default;
1115:     overflow_error(overflow_error&&) = default;
1115:     overflow_error& operator=(overflow_error&&) = default;
1115: 
1115:     virtual ~overflow_error() noexcept;
1115:   };
1115: 
1115: 
1115:   class underflow_error : public runtime_error
1115:   {
1115:   public:
1115:     explicit underflow_error(const string& __arg) ;
1115: 
1115:     explicit underflow_error(const char*) ;
1115:     underflow_error(const underflow_error&) = default;
1115:     underflow_error& operator=(const underflow_error&) = default;
1115:     underflow_error(underflow_error&&) = default;
1115:     underflow_error& operator=(underflow_error&&) = default;
1115: 
1115:     virtual ~underflow_error() noexcept;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 42 "/usr/include/c++/12/system_error" 2 3
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class error_code;
1115:   class error_condition;
1115:   class system_error;
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_error_code_enum : public false_type { };
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct is_error_condition_enum : public false_type { };
1115: 
1115:   template<>
1115:     struct is_error_condition_enum<errc>
1115:     : public true_type { };
1115: 
1115: 
1115:   template <typename _Tp>
1115:     inline constexpr bool is_error_code_enum_v =
1115:       is_error_code_enum<_Tp>::value;
1115:   template <typename _Tp>
1115:     inline constexpr bool is_error_condition_enum_v =
1115:       is_error_condition_enum<_Tp>::value;
1115: 
1115: 
1115: 
1115:   inline namespace _V2 {
1115: # 97 "/usr/include/c++/12/system_error" 3
1115:   class error_category
1115:   {
1115:   public:
1115:     constexpr error_category() noexcept = default;
1115: 
1115:     virtual ~error_category();
1115: 
1115:     error_category(const error_category&) = delete;
1115:     error_category& operator=(const error_category&) = delete;
1115: 
1115:     virtual const char*
1115:     name() const noexcept = 0;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   private:
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     virtual __cow_string
1115:     _M_message(int) const;
1115: 
1115:   public:
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     virtual string
1115:     message(int) const = 0;
1115: # 133 "/usr/include/c++/12/system_error" 3
1115:   public:
1115:     virtual error_condition
1115:     default_error_condition(int __i) const noexcept;
1115: 
1115:     virtual bool
1115:     equivalent(int __i, const error_condition& __cond) const noexcept;
1115: 
1115:     virtual bool
1115:     equivalent(const error_code& __code, int __i) const noexcept;
1115: 
1115:     bool
1115:     operator==(const error_category& __other) const noexcept
1115:     { return this == &__other; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     bool
1115:     operator!=(const error_category& __other) const noexcept
1115:     { return this != &__other; }
1115: 
1115:     bool
1115:     operator<(const error_category& __other) const noexcept
1115:     { return less<const error_category*>()(4:           if (__nu == _Tp(0))
1434:             {
1434:               __Jnu = _Tp(1);
1434:               __Jpnu = _Tp(0);
1434:             }
1434:           else if (__nu == _Tp(1))
1434:             {
1434:               __Jnu = _Tp(0);
1434:               __Jpnu = _Tp(0.5L);
1434:             }
1434:           else
1434:             {
1434:               __Jnu = _Tp(0);
1434:               __Jpnu = _Tp(0);
1434:             }
1434:           __Nnu = -std::numeric_limits<_Tp>::infinity();
1434:           __Npnu = std::numeric_limits<_Tp>::infinity();
1434:           return;
1434:         }
1434: 
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434: 
1434: 
1434: 
1434: 
1434:       const _Tp __fp_min = std::sqrt(std::numeric_limits<_Tp>::min());
1434:       const int __max_iter = 15000;
1434:       const _Tp __x_min = _Tp(2);
1434: 
1434:       const int __nl = (__x < __x_min
1434:                     ? static_cast<int>(__nu + _Tp(0.5L))
1434:                     : std::max(0, static_cast<int>(__nu - __x + _Tp(1.5L))));
1434: 
1434:       const _Tp __mu = __nu - __nl;
1434:       const _Tp __mu2 = __mu * __mu;
1434:       const _Tp __xi = _Tp(1) / __x;
1434:       const _Tp __xi2 = _Tp(2) * __xi;
1434:       _Tp __w = __xi2 / __numeric_constants<_Tp>::__pi();
1434:       int __isign = 1;
1434:       _Tp __h = __nu * __xi;
1434:       if (__h < __fp_min)
1434:         __h = __fp_min;
1434:       _Tp __b = __xi2 * __nu;
1434:       _Tp __d = _Tp(0);
1434:       _Tp __c = __h;
1434:       int __i;
1434:       for (__i = 1; __i <= __max_iter; ++__i)
1434:         {
1434:           __b += __xi2;
1434:           __d = __b - __d;
1434:           if (std::abs(__d) < __fp_min)
1434:             __d = __fp_min;
1434:           __c = __b - _Tp(1) / __c;
1434:           if (std::abs(__c) < __fp_min)
1434:             __c = __fp_min;
1434:           __d = _Tp(1) / __d;
1434:           const _Tp __del = __c * __d;
1434:           __h *= __del;
1434:           if (__d < _Tp(0))
1434:             __isign = -__isign;
1434:           if (std::abs(__del - _Tp(1)) < __eps)
1434:             break;
1434:         }
1434:       if (__i > __max_iter)
1434:         std::__throw_runtime_error(("Argument x too large in __bessel_jn; " "try asymptotic expansion.")
1434:                                                                    );
1434:       _Tp __Jnul = __isign * __fp_min;
1434:       _Tp __Jpnul = __h * __Jnul;
1434:       _Tp __Jnul1 = __Jnul;
1434:       _Tp __Jpnu1 = __Jpnul;
1434:       _Tp __fact = __nu * __xi;
1434:       for ( int __l = __nl; __l >= 1; --__l )
1434:         {
1434:           const _Tp __Jnutemp = __fact * __Jnul + __Jpnul;
1434:           __fact -= __xi;
1434:           __Jpnul = __fact * __Jnutemp - __Jnul;
1434:           __Jnul = __Jnutemp;
1434:         }
1434:       if (__Jnul == _Tp(0))
1434:         __Jnul = __eps;
1434:       _Tp __f= __Jpnul / __Jnul;
1434:       _Tp __Nmu, __Nnu1, __Npmu, __Jmu;
1434:       if (__x < __x_min)
1434:         {
1434:           const _Tp __x2 = __x / _Tp(2);
1434:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1434:           _Tp __fact = (std::abs(__pimu) < __eps
1434:                       ? _Tp(1) : __pimu / std::sin(__pimu));
1434:           _Tp __d = -std::log(__x2);
1434:           _Tp __e = __mu * __d;
1434:           _Tp __fact2 = (std::abs(__e) < __eps
1434:                        ? _Tp(1) : std::sinh(__e) / __e);
1434:           _Tp __gam1, __gam2, __gampl, __gammi;
1434:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1434:           _Tp __ff = (_Tp(2) / __numeric_constants<_Tp>::__pi())
1434:                    * __fact * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1434:           __e = std::exp(__e);
1434:           _Tp __p = __e / (__numeric_constants<_Tp>::__pi() * __gampl);
1434:           _Tp __q = _Tp(1) / (__e * __numeric_constants<_Tp>::__pi() * __gammi);
1434:           const _Tp __pimu2 = __pimu / _Tp(2);
1434:           _Tp __fact3 = (std::abs(__pimu2) < __eps
1434:               ar closer, int startPos = 0);
1417:   static int DateStringToYYYYMMDD(const std::string &dateString);
1417:   static std::string ISODateToLocalizedDate (const std::string& strIsoDate);
1417:   static void WordToDigits(std::string &word);
1417:   static std::string CreateUUID();
1417:   static bool ValidateUUID(const std::string &uuid);
1417:   static double CompareFuzzy(const std::string &left, const std::string &right);
1417:   static int FindBestMatch(const std::string &str, const std::vector<std::string> &strings, double &matchscore);
1417:   static bool ContainsKeyword(const std::string &str, const std::vector<std::string> &keywords);
1417: # 318 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   static std::string BinaryStringToString(const std::string& in);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static std::string ToHexadecimal(const std::string& in);
1417: # 334 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   template<typename T>
1417:   static std::string FormatNumber(T num)
1417:   {
1417:     std::stringstream ss;
1417: 
1417: 
1417: 
1417:     ss.imbue(GetOriginalLocale());
1417: 
1417:     ss.precision(1);
1417:     ss << std::fixed << num;
1417:     return ss.str();
1417:   }
1417: # 356 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   static std::string Paramify(const std::string &param);
1417: # 365 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   static std::string DeParamify(const std::string& param);
1417: # 374 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   static std::vector<std::string> Tokenize(const std::string& input, const std::string& delimiters);
1417:   static void Tokenize(const std::string& input, std::vector<std::string>& tokens, const std::string& delimiters);
1417:   static std::vector<std::string> Tokenize(const std::string& input, const char delimiter);
1417:   static void Tokenize(const std::string& input, std::vector<std::string>& tokens, const char delimiter);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static uint32_t ToUint32(std::string_view str, uint32_t fallback = 0) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static uint64_t ToUint64(std::string_view str, uint64_t fallback = 0) noexcept;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static float ToFloat(std::string_view str, float fallback = 0.0f) noexcept;
1417: # 411 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1417:   static std::string FormatFileSize(uint64_t bytes);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static std::string CreateFromCString(const char* cstr);
1417: 
1417: private:
1417: 
1417: 
1417: 
1417: 
1417:   static const std::locale& GetOriginalLocale() noexcept;
1417: };
1417: 
1417: struct sortstringbyname
1417: {
1417:   bool operator()(const std::string& strItem1, const std::string& strItem2) const
1417:   {
1417:     return StringUtils::CompareNoCase(strItem1, strItem2) < 0;
1417:   }
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class TiXmlNode;
1417: class CAlbum;
1417: class CMusicDatabase;
1417: 
1417: class CDiscoAlbum
1417: {
1417: public:
1417:   std::string strAlbum;
1417:   std::string strYear;
1417:   std::string strReleaseGroupMBID;
1417: };
1417: 
1417: class CArtist
1417: {
1417: public:
1417:   int idArtist = -1;
1417:   bool operator<(const CArtist& a) const
1417:   {
1417:     if (strMusicBrainzArtistID.empty() && a.strMusicBrainzArtistID.empty())
1417:     {
1417:       if (strArtist < a.strArtist) return true;
1417:       if (strArtist > a.strArtist) return false;
1417:       return false;
1417:     }
1417: 
1417:     if (strMusicBrainzArtistID < a.strMusicBrainzArtistID) return true;
1417:     if (strMusicBrainzArtistID > a.strMusicBrainzArtistID) return false;
1417:     return false;
1417:   }
1417: 
1417:   void MergeScrapedArtist(const CArtist& source, bool override = true);
1417: 
1417:   void Reset()
1417:   {
1417:     strAr         ? _Tp(1) : std::sin(__pimu2) / __pimu2 );
1434:           _Tp __r = __numeric_constants<_Tp>::__pi() * __pimu2 * __fact3 * __fact3;
1434:           _Tp __c = _Tp(1);
1434:           __d = -__x2 * __x2;
1434:           _Tp __sum = __ff + __r * __q;
1434:           _Tp __sum1 = __p;
1434:           for (__i = 1; __i <= __max_iter; ++__i)
1434:             {
1434:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
1434:               __c *= __d / _Tp(__i);
1434:               __p /= _Tp(__i) - __mu;
1434:               __q /= _Tp(__i) + __mu;
1434:               const _Tp __del = __c * (__ff + __r * __q);
1434:               __sum += __del;
1434:               const _Tp __del1 = __c * __p - __i * __del;
1434:               __sum1 += __del1;
1434:               if ( std::abs(__del) < __eps * (_Tp(1) + std::abs(__sum)) )
1434:                 break;
1434:             }
1434:           if ( __i > __max_iter )
1434:             std::__throw_runtime_error(("Bessel y series failed to converge " "in __bessel_jn.")
1434:                                                              );
1434:           __Nmu = -__sum;
1434:           __Nnu1 = -__sum1 * __xi2;
1434:           __Npmu = __mu * __xi * __Nmu - __Nnu1;
1434:           __Jmu = __w / (__Npmu - __f * __Nmu);
1434:         }
1434:       else
1434:         {
1434:           _Tp __a = _Tp(0.25L) - __mu2;
1434:           _Tp __q = _Tp(1);
1434:           _Tp __p = -__xi / _Tp(2);
1434:           _Tp __br = _Tp(2) * __x;
1434:           _Tp __bi = _Tp(2);
1434:           _Tp __fact = __a * __xi / (__p * __p + __q * __q);
1434:           _Tp __cr = __br + __q * __fact;
1434:           _Tp __ci = __bi + __p * __fact;
1434:           _Tp __den = __br * __br + __bi * __bi;
1434:           _Tp __dr = __br / __den;
1434:           _Tp __di = -__bi / __den;
1434:           _Tp __dlr = __cr * __dr - __ci * __di;
1434:           _Tp __dli = __cr * __di + __ci * __dr;
1434:           _Tp __temp = __p * __dlr - __q * __dli;
1434:           __q = __p * __dli + __q * __dlr;
1434:           __p = __temp;
1434:           int __i;
1434:           for (__i = 2; __i <= __max_iter; ++__i)
1434:             {
1434:               __a += _Tp(2 * (__i - 1));
1434:               __bi += _Tp(2);
1434:               __dr = __a * __dr + __br;
1434:               __di = __a * __di + __bi;
1434:               if (std::abs(__dr) + std::abs(__di) < __fp_min)
1434:                 __dr = __fp_min;
1434:               __fact = __a / (__cr * __cr + __ci * __ci);
1434:               __cr = __br + __cr * __fact;
1434:               __ci = __bi - __ci * __fact;
1434:               if (std::abs(__cr) + std::abs(__ci) < __fp_min)
1434:                 __cr = __fp_min;
1434:               __den = __dr * __dr + __di * __di;
1434:               __dr /= __den;
1434:               __di /= -__den;
1434:               __dlr = __cr * __dr - __ci * __di;
1434:               __dli = __cr * __di + __ci * __dr;
1434:               __temp = __p * __dlr - __q * __dli;
1434:               __q = __p * __dli + __q * __dlr;
1434:               __p = __temp;
1434:               if (std::abs(__dlr - _Tp(1)) + std::abs(__dli) < __eps)
1434:                 break;
1434:           }
1434:           if (__i > __max_iter)
1434:             std::__throw_runtime_error(("Lentz's method failed " "in __bessel_jn.")
1434:                                                              );
1434:           const _Tp __gam = (__p - __f) / __q;
1434:           __Jmu = std::sqrt(__w / ((__p - __f) * __gam + __q));
1434: 
1434:           __Jmu = ::std::copysign(__Jmu, __Jnul);
1434: 
1434: 
1434: 
1434: 
1434:           __Nmu = __gam * __Jmu;
1434:           __Npmu = (__p + __q / __gam) * __Nmu;
1434:           __Nnu1 = __mu * __xi * __Nmu - __Npmu;
1434:       }
1434:       __fact = __Jmu / __Jnul;
1434:       __Jnu = __fact * __Jnul1;
1434:       __Jpnu = __fact * __Jpnu1;
1434:       for (__i = 1; __i <= __nl; ++__i)
1434:         {
1434:           const _Tp __Nnutemp = (__mu + __i) * __xi2 * __Nnu1 - __Nmu;
1434:           __Nmu = __Nnu1;
1434:           __Nnu1 = __Nnutemp;
1434:         }
1434:       __Nnu = __Nmu;
1434:       __Npnu = __nu * __xi * __Nmu - __Nnu1;
1434: 
1434:       return;
1434:     }
1434: # 361 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template <typename _Tp>
1434:     void
1434:     __cyl_bessel_jn_asymp(_Tp __nu, _Tp __x, _Tp & __Jnu, _Tp & __Nnu)
1434:     {
1434:       const _Tp __mu = _Tp(4) * __nu * __nu;
1434:       const _Tp __8x = _Tp(8) * __x;
1434: 
1434:       _Tp __P = _Tp(0);
1434:       _Tp __Q = _Tp(0);
1434: 
1434:       _Tp __k = _Tp(0);
1434:       _Tp __term = _Tp(1);
1434: 
1434:       int __epsP = 0;
1434:       int __epsQ = 0;
1434: 
1434:       _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434: 
1434:       do
1434:         {
1434:           __term *= (__k == 0
1434:                      ? _Tp(1)
1434:                      : -(__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x));
1434: 
1434:           __epsP = std::abs(__term) < __eps * std::abs(__P);
1434:           __P += __term;
1434: 
1434:           __k++;
1434: 
1434:           __term *= (__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x);
1434:           __epsQ = std::abs(__term) < __eps * std::abs(__Q);
1434:           __Q += __term;
1434: 
1434:           if (__epsP && __epsQ && __k > (__nu / 2.))
1434:             break;
1434: 
1434:           __k++;
1434:         }
1434:       while (__k < 1000);
1434: 
1434:       const _Tp __chi = __x - (__nu + _Tp(0.5L))
1434:                              * __numeric_constants<_Tp>::__pi_2();
1434: 
1434:       const _Tp __c = std::cos(__chi);
1434:       const _Tp __s = std::sin(__chi);
1434: 
1434:       const _Tp __coef = std::sqrt(_Tp(2)
1434:                              / (__numeric_constants<_Tp>::__pi() * __x));
1434: 
1434:       __Jnu = __coef * (__c * __P - __s * __Q);
1434:       __Nnu = __coef * (__s * __P + __c * __Q);
1434: 
1434:       return;
1434:     }
1434: # 444 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template <typename _Tp>
1434:     _Tp
1434:     __cyl_bessel_ij_series(_Tp __nu, _Tp __x, _Tp __sgn,
1434:                            unsigned int __max_iter)
1434:     {
1434:       if (__x == _Tp(0))
1434:  return __nu == _Tp(0) ? _Tp(1) : _Tp(0);
1434: 
1434:       const _Tp __x2 = __x / _Tp(2);
1434:       _Tp __fact = __nu * std::log(__x2);
1434: 
1434:       __fact -= ::std::lgamma(__nu + _Tp(1));
1434: 
1434: 
1434: 
1434:       __fact = std::exp(__fact);
1434:       const _Tp __xx4 = __sgn * __x2 * __x2;
1434:       _Tp __Jn = _Tp(1);
1434:       _Tp __term = _Tp(1);
1434: 
1434:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1434:         {
1434:           __term *= __xx4 / (_Tp(__i) * (__nu + _Tp(__i)));
1434:           __Jn += __term;
1434:           if (std::abs(__term / __Jn) < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:         }
1434: 
1434:       return __fact * __Jn;
1434:     }
1434: # 490 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __cyl_bessel_j(_Tp __nu, _Tp __x)
1434:     {
1434:       if (__nu < _Tp(0) || __x < _Tp(0))
1434:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_j.")
1434:                                                            );
1434:       else if (__isnan(__nu) || __isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1434:         return __cyl_bessel_ij_series(__nu, __x, -_Tp(1), 200);
1434:       else if (__x > _Tp(1000))
1434:         {
1434:           _Tp __J_nu, __N_nu;
1434:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1434:           return __J_nu;
1434:         }
1434:       else
1434:         {
1434:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1434:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1434:           return __J_nu;
1434:         }
1434:     }
1434: # 532 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:  this, &__other); }
1115: 
1115:   };
1115: 
1115: 
1115: 
1115: 
1115:   __attribute__ ((__const__)) const error_category& generic_category() noexcept;
1115: 
1115: 
1115:   __attribute__ ((__const__)) const error_category& system_category() noexcept;
1115: 
1115: 
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   error_code make_error_code(errc) noexcept;
1115: # 196 "/usr/include/c++/12/system_error" 3
1115:   class error_code
1115:   {
1115:   public:
1115:     error_code() noexcept
1115:     : _M_value(0), _M_cat(&system_category()) { }
1115: 
1115:     error_code(int __v, const error_category& __cat) noexcept
1115:     : _M_value(__v), _M_cat(&__cat) { }
1115: 
1115:     template<typename _ErrorCodeEnum, typename = typename
1115:       enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type>
1115:       error_code(_ErrorCodeEnum __e) noexcept
1115:       { *this = make_error_code(__e); }
1115: 
1115:     void
1115:     assign(int __v, const error_category& __cat) noexcept
1115:     {
1115:       _M_value = __v;
1115:       _M_cat = &__cat;
1115:     }
1115: 
1115:     void
1115:     clear() noexcept
1115:     { assign(0, system_category()); }
1115: 
1115: 
1115:     template<typename _ErrorCodeEnum>
1115:       typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value,
1115:     error_code&>::type
1115:       operator=(_ErrorCodeEnum __e) noexcept
1115:       { return *this = make_error_code(__e); }
1115: 
1115:     int
1115:     value() const noexcept { return _M_value; }
1115: 
1115:     const error_category&
1115:     category() const noexcept { return *_M_cat; }
1115: 
1115:     error_condition
1115:     default_error_condition() const noexcept;
1115: 
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     string
1115:     message() const
1115:     { return category().message(value()); }
1115: 
1115:     explicit operator bool() const noexcept
1115:     { return _M_value != 0; }
1115: 
1115: 
1115:   private:
1115:     int _M_value;
1115:     const error_category* _M_cat;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline error_code
1115:   make_error_code(errc __e) noexcept
1115:   { return error_code(static_cast<int>(__e), generic_category()); }
1115: # 268 "/usr/include/c++/12/system_error" 3
1115:   inline bool
1115:   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
1115:   {
1115:     return (__lhs.category() < __rhs.category()
1115:      || (__lhs.category() == __rhs.category()
1115:   && __lhs.value() < __rhs.value()));
1115:   }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
1115:     { return (__os << __e.category().name() << ':' << __e.value()); }
1115: 
1115: 
1115: 
1115:   error_condition make_error_condition(errc) noexcept;
1115: # 297 "/usr/include/c++/12/system_error" 3
1115:   class error_condition
1115:   {
1115:   public:
1115:     error_condition() noexcept
1115:     : _M_value(0), _M_cat(&generic_category()) { }
1115: 
1115:     error_condition(int __v, const error_category& __cat) noexcept
1115:     : _M_value(__v), _M_cat(&__cat) { }
1115: 
1115:     template<typename _ErrorConditionEnum, typename = typename
1115:   enable_if<is_error_condition_enum<_ErrorConditionEnum>::value>::type>
1115:       error_condition(_ErrorConditionEnum __e) noexcept
1115:       { *this = make_error_condition(__e); }
1115: 
1115:     void
1115:     assign(int __v, const error_category& __cat) noexcept
1115:     {
1115:       _M_value = __v;
1115:       _M_cat = &__cat;
1115:     }
1115: 
1115: 
1115:     template<typename _ErrorConditionEnum>
1115:       typename enable_if<is_error_condition_enum
1115:     <_ErrorConditionEnum>::value, error_condition&>::type
1115:       operator=(_ErrorConditionEnum __e) noexcept
1115:       { return *this = make_error_condition(__e); }
1115: 
1115:     void
1115:     clear() noexcept
1115:     { assign(0, generic_category()); }
1115: 
1115: 
1115:     int
1115:     value() const noexcept { rettist.clear();
1417:     strSortName.clear();
1417:     strType.clear();
1417:     strGender.clear();
1417:     strDisambiguation.clear();
1417:     genre.clear();
1417:     strBiography.clear();
1417:     styles.clear();
1417:     moods.clear();
1417:     instruments.clear();
1417:     strBorn.clear();
1417:     strFormed.clear();
1417:     strDied.clear();
1417:     strDisbanded.clear();
1417:     yearsActive.clear();
1417:     thumbURL.Clear();
1417:     art.clear();
1417:     discography.clear();
1417:     idArtist = -1;
1417:     strPath.clear();
1417:     dateAdded.Reset();
1417:     dateUpdated.Reset();
1417:     dateNew.Reset();
1417:     bScrapedMBID = false;
1417:     strLastScraped.clear();
1417:   }
1417: # 88 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Artist.h"
1417:   bool Load(const TiXmlElement *element, bool append = false, bool prioritise = false);
1417:   bool Save(TiXmlNode *node, const std::string &tag, const std::string& strPath);
1417: 
1417:   void SetDateAdded(const std::string& strDateAdded);
1417:   void SetDateUpdated(const std::string& strDateUpdated);
1417:   void SetDateNew(const std::string& strDateNew);
1417: 
1417:   std::string strArtist;
1417:   std::string strSortName;
1417:   std::string strMusicBrainzArtistID;
1417:   std::string strType;
1417:   std::string strGender;
1417:   std::string strDisambiguation;
1417:   std::vector<std::string> genre;
1417:   std::string strBiography;
1417:   std::vector<std::string> styles;
1417:   std::vector<std::string> moods;
1417:   std::vector<std::string> instruments;
1417:   std::string strBorn;
1417:   std::string strFormed;
1417:   std::string strDied;
1417:   std::string strDisbanded;
1417:   std::vector<std::string> yearsActive;
1417:   std::string strPath;
1417:   CScraperUrl thumbURL;
1417:   std::map<std::string, std::string> art;
1417:   std::vector<CDiscoAlbum> discography;
1417:   CDateTime dateAdded;
1417:   CDateTime dateUpdated;
1417:   CDateTime dateNew;
1417:   bool bScrapedMBID = false;
1417:   std::string strLastScraped;
1417: };
1417: 
1417: class CArtistCredit
1417: {
1417:   friend class CAlbum;
1417:   friend class CMusicDatabase;
1417: 
1417: public:
1417:   CArtistCredit() = default;
1417:   explicit CArtistCredit(std::string strArtist) : m_strArtist(std::move(strArtist)) {}
1417:   CArtistCredit(std::string strArtist, std::string strMusicBrainzArtistID)
1417:     : m_strArtist(std::move(strArtist)), m_strMusicBrainzArtistID(std::move(strMusicBrainzArtistID))
1417:   {
1417:   }
1417:   CArtistCredit(std::string strArtist, std::string strSortName, std::string strMusicBrainzArtistID)
1417:     : m_strArtist(std::move(strArtist)),
1417:       m_strSortName(std::move(strSortName)),
1417:       m_strMusicBrainzArtistID(std::move(strMusicBrainzArtistID))
1417:   {
1417:   }
1417: 
1417:   bool operator<(const CArtistCredit& a) const
1417:   {
1417:     if (m_strMusicBrainzArtistID.empty() && a.m_strMusicBrainzArtistID.empty())
1417:     {
1417:       if (m_strArtist < a.m_strArtist) return true;
1417:       if (m_strArtist > a.m_strArtist) return false;
1417:       return false;
1417:     }
1417: 
1417:     if (m_strMusicBrainzArtistID < a.m_strMusicBrainzArtistID) return true;
1417:     if (m_strMusicBrainzArtistID > a.m_strMusicBrainzArtistID) return false;
1417:     return false;
1417:   }
1417: 
1417:   std::string GetArtist() const { return m_strArtist; }
1417:   std::string GetSortName() const { return m_strSortName; }
1417:   std::string GetMusicBrainzArtistID() const { return m_strMusicBrainzArtistID; }
1417:   int GetArtistId() const { return idArtist; }
1417:   bool HasScrapedMBID() const { return m_bScrapedMBID; }
1417:   void SetArtist(const std::string &strArtist) { m_strArtist = strArtist; }
1417:   void SetSortName(const std::string &strSortName) { m_strSortName = strSortName; }
1417:   void SetMusicBrainzArtistID(const std::string &strMusicBrainzArtistID) { m_strMusicBrainzArtistID = strMusicBrainzArtistID; }
1417:   void SetArtistId(int idArtist) { this->idArtist = idArtist; }
1417:   void SetScrapedMBID(bool scrapedMBID) { this->m_bScrapedMBID = scrapedMBID; }
1417: 
1417: private:
1417:   int idArtist = -1;
1417:   std::string m_strArtist;
1417:   std::string m_strSortName;
1417:   std::string m_strMusicBrainzArtistID;
1417:   bool m_bScrapedMBID = false;
1417: };
1417: 
1417: typedef std::vector<CArtist> VECARTISTS;
1417: typedef std::vector<CArtistCredit> VECARTISTCREDITS;
1417: 
1417: const std::string BLANKARTIST_FAKEMUSICBRAINZID = "Artist Tag Missing";
1417: const std::string BLANKARTIST_NAME = "[Missing Tag]";
1417: const int BLANKARTIST_ID = 1;
1417: const std::string VARIOUSARTISTS_MBID = "89ad4ac3-39f7-470e-963a-56509c546377";
1417: 
1417: 
1417: 
1417: class CMusicRole
1417: {
1417: public:
1417:   CMusicRole() = default;
1417:   CMusicRole(std::string strRole, std::string strArtist)
1417:     : idRole(-1), m_strRole(std::move(strRole)), m_strArtist(std::move(strArtist)), idArtist(-1)
1417:   {
1417:   }
1417:   CMusicRole(int role, std::string strRole, std::string strArtist, int ArtistId)
1417:     : idRole(role),
1417:       m_strRole(std::move(strRole)),
1417:       m_strArtist(std::move(strArtist)),
1417:       idArtist(ArtistId)
1417:   {
1417:   }
1417:   std::string GetArtist() const { return m_strArtist; }
1417:   std::string GetRoleDesc() const { return m_strRole; }
1417:   int GetRoleId() const { return idRole; }
1417:   int GetArtistId() const { return idArtist; }
1417:   void SetArtistId(int iArtistId) { idArtist = iArtistId; }
1417: 
1417:   bool operator==(const CMusicRole& a) const
1417:   {
1417:     if (StringUtils::EqualsNoCase(m_strRole, a.m_strRole))
1417:       return StringUtils::EqualsNoCase(m_strArtist, a.m_strArtist);
1417:     else
1417:       return false;
1417:   }
1417: private:
1417:   int idRole;
1417:   std::string m_strRole;
1417:   std::string m_strArtist;
1417:   int idArtist;
1417: };
1417: 
1417: typedef std::vector<CMusicRole> VECMUSICROLES;
1417: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.h"
1417:        
1417: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.h"
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EmbeddedArt.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EmbeddedArt.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class EmbeddedArtInfo : public IArchivable
1417: {
1417: public:
1417:   EmbeddedArtInfo() = default;
1417:   EmbeddedArtInfo(size_t size, const std::string &mime, const std::string& type = "");
1417:   virtual ~EmbeddedArtInfo() = default;
1417: 
1417: 
1417:   void Archive(CArchive& ar) override;
1417: 
1417:   void Set(size_t size, const std::string &mime, const std::string& type = "");
1417:   void Clear();
1417:   bool Empty() const;
1417:   bool Matches(const EmbeddedArtInfo &right) const;
1417:   void SetType(const std::string& type) { m_type = type; }
1417: 
1417:   size_t m_size = 0;
1417:   std::string m_mime;
1417:   std::string m_type;
1417: };
1417: 
1417: class EmbeddedArt : public EmbeddedArtInfo
1417: {
1417: public:
1417:   EmbeddedArt() = default;
1417:   EmbeddedArt(const uint8_t *data, size_t size,
1417:               const std::string &mime, const std::string& type = "");
1417: 
1417:   void Set(const uint8_t *data, size_t size,
1417:            const std::string &mime, const std::string& type = "");
1417: 
1417:   std::vector<uint8_t> m_data;
1417: };
1417: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISerializable.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISerializable.h"
1417:        
1417: 
1417: class CVariant;
1417: 
1417: class ISerializable
1417: {
1417: protected:
1417: 
1417:   ~ISerializable() = default;
1417: 
1417:  public:
1417:   virtual void Serialize(CVariant& value) const = 0;
1417: };
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CVariant;
1417: 
1417: 
1417: 
1urn _M_value; }
1115: 
1115:     const error_category&
1115:     category() const noexcept { return *_M_cat; }
1115: 
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     string
1115:     message() const
1115:     { return category().message(value()); }
1115: 
1115:     explicit operator bool() const noexcept
1115:     { return _M_value != 0; }
1115: 
1115: 
1115:   private:
1115:     int _M_value;
1115:     const error_category* _M_cat;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline error_condition
1115:   make_error_condition(errc __e) noexcept
1115:   { return error_condition(static_cast<int>(__e), generic_category()); }
1115: 
1115: 
1115: 
1115: 
1115:   inline bool
1115:   operator==(const error_code& __lhs, const error_code& __rhs) noexcept
1115:   { return (__lhs.category() == __rhs.category()
1115:      && __lhs.value() == __rhs.value()); }
1115: 
1115: 
1115:   inline bool
1115:   operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
1115:   {
1115:     return (__lhs.category().equivalent(__lhs.value(), __rhs)
1115:      || __rhs.category().equivalent(__lhs, __rhs.value()));
1115:   }
1115: 
1115: 
1115:   inline bool
1115:   operator==(const error_condition& __lhs,
1115:       const error_condition& __rhs) noexcept
1115:   {
1115:     return (__lhs.category() == __rhs.category()
1115:      && __lhs.value() == __rhs.value());
1115:   }
1115: # 397 "/usr/include/c++/12/system_error" 3
1115:   inline bool
1115:   operator<(const error_condition& __lhs,
1115:      const error_condition& __rhs) noexcept
1115:   {
1115:     return (__lhs.category() < __rhs.category()
1115:      || (__lhs.category() == __rhs.category()
1115:   && __lhs.value() < __rhs.value()));
1115:   }
1115: 
1115: 
1115:   inline bool
1115:   operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
1115:   {
1115:     return (__rhs.category().equivalent(__rhs.value(), __lhs)
1115:      || __lhs.category().equivalent(__rhs, __lhs.value()));
1115:   }
1115: 
1115: 
1115:   inline bool
1115:   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
1115:   { return !(__lhs == __rhs); }
1115: 
1115: 
1115:   inline bool
1115:   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
1115:   { return !(__lhs == __rhs); }
1115: 
1115: 
1115:   inline bool
1115:   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
1115:   { return !(__lhs == __rhs); }
1115: 
1115: 
1115:   inline bool
1115:   operator!=(const error_condition& __lhs,
1115:       const error_condition& __rhs) noexcept
1115:   { return !(__lhs == __rhs); }
1115: # 446 "/usr/include/c++/12/system_error" 3
1115:   class system_error : public std::runtime_error
1115:   {
1115:   private:
1115:     error_code _M_code;
1115: 
1115:   public:
1115:     system_error(error_code __ec = error_code())
1115:     : runtime_error(__ec.message()), _M_code(__ec) { }
1115: 
1115:     system_error(error_code __ec, const string& __what)
1115:     : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { }
1115: 
1115:     system_error(error_code __ec, const char* __what)
1115:     : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
1115: 
1115:     system_error(int __v, const error_category& __ecat, const char* __what)
1115:     : system_error(error_code(__v, __ecat), __what) { }
1115: 
1115:     system_error(int __v, const error_category& __ecat)
1115:     : runtime_error(error_code(__v, __ecat).message()),
1115:       _M_code(__v, __ecat) { }
1115: 
1115:     system_error(int __v, const error_category& __ecat, const string& __what)
1115:     : runtime_error(__what + ": " + error_code(__v, __ecat).message()),
1115:       _M_code(__v, __ecat) { }
1115: 
1115: 
1115:     system_error (const system_error &) = default;
1115:     system_error &operator= (const system_error &) = default;
1115: 
1115: 
1115:     virtual ~system_error() noexcept;
1115: 
1115:     const error_code&
1115:     code() const noexcept { return _M_code; }
1115:   };
1115: 
1115: 
1115: }
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct hash<error_code>
1115:     : public __hash_base<size_t, error_code>
1115:     {
1115:       size_t
1115:       operator()(const error_code& __e) const noexcept
1115:       {
1115:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1115:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct hash<error_condition>
1115:     : public __hash_base<size_t, error_condition>
1115:     {
1115:       size_t
1115:       operator()(const error_condition& __e) const noexcept
1115:       {
1115:  const size_t __tmp = std::_Hash_impl::hash(__e.value());
1115:  return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 47 "/usr/include/c++/12/bits/ios_base.h" 2 3
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   enum _Ios_Fmtflags
1115:     {
1115:       _S_boolalpha = 1L << 0,
1115:       _S_dec = 1L << 1,
1115:       _S_fixed = 1L << 2,
1115:       _S_hex = 1L << 3,
1115:       _S_internal = 1L << 4,
1115:       _S_left = 1L << 5,
1115:       _S_oct = 1L << 6,
1115:       _S_right = 1L << 7,
1115:       _S_scientific = 1L << 8,
1115:       _S_showbase = 1L << 9,
1115:       _S_showpoint = 1L << 10,
1115:       _S_showpos = 1L << 11,
1115:       _S_skipws = 1L << 12,
1115:       _S_unitbuf = 1L << 13,
1115:       _S_uppercase = 1L << 14,
1115:       _S_adjustfield = _S_left | _S_right | _S_internal,
1115:       _S_basefield = _S_dec | _S_oct | _S_hex,
1115:       _S_floatfield = _S_scientific | _S_fixed,
1115:       _S_ios_fmtflags_end = 1L << 16,
1115:       _S_ios_fmtflags_max = 0x7fffffff,
1115:       _S_ios_fmtflags_min = ~0x7fffffff
1115:     };
1115: 
1115:   inline constexpr _Ios_Fmtflags
1115:   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1115:   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Fmtflags
1115:   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1115:   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Fmtflags
1115:   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1115:   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Fmtflags
1115:   operator~(_Ios_Fmtflags __a)
1115:   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
1115: 
1115:   inline const _Ios_Fmtflags&
1115:   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1115:   { return __a = __a | __b; }
1115: 
1115:   inline const _Ios_Fmtflags&
1115:   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1115:   { return __a = __a & __b; }
1115: 
1115:   inline const _Ios_Fmtflags&
1115:   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1115:   { return __a = __a ^ __b; }
1115: 
1115: 
1115:   enum _Ios_Openmode
1115:     {
1115:       _S_app = 1L << 0,
1115:       _S_ate = 1L << 1,
1115:       _S_bin = 1L << 2,
1115:       _S_in = 1L << 3,
1115:       _S_out = 1L << 4,
1115:       _S_trunc = 1L << 5,
1115:       _S_noreplace = 1L << 6,
1115:       _S_ios_openmode_end = 1L << 16,
1115:       _S_ios_openmode_max = 0x7fffffff,
1115:       _S_ios_openmode_min = ~0x7fffffff
1115:     };
1115: 
1115:   inline constexpr _Ios_Openmode
1115:   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
1115:   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Openmode
1115:   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
1115:   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Openmode
1115:   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
1115:   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1115: 
1115:   inline constex   __cyl_neumann_n(_Tp __nu, _Tp __x)
1434:     {
1434:       if (__nu < _Tp(0) || __x < _Tp(0))
1434:         std::__throw_domain_error(("Bad argument " "in __cyl_neumann_n.")
1434:                                                             );
1434:       else if (__isnan(__nu) || __isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__x > _Tp(1000))
1434:         {
1434:           _Tp __J_nu, __N_nu;
1434:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1434:           return __N_nu;
1434:         }
1434:       else
1434:         {
1434:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1434:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1434:           return __N_nu;
1434:         }
1434:     }
1434: # 569 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template <typename _Tp>
1434:     void
1434:     __sph_bessel_jn(unsigned int __n, _Tp __x,
1434:                     _Tp & __j_n, _Tp & __n_n, _Tp & __jp_n, _Tp & __np_n)
1434:     {
1434:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1434: 
1434:       _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1434:       __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1434: 
1434:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1434:                          / std::sqrt(__x);
1434: 
1434:       __j_n = __factor * __J_nu;
1434:       __n_n = __factor * __N_nu;
1434:       __jp_n = __factor * __Jp_nu - __j_n / (_Tp(2) * __x);
1434:       __np_n = __factor * __Np_nu - __n_n / (_Tp(2) * __x);
1434: 
1434:       return;
1434:     }
1434: # 604 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template <typename _Tp>
1434:     _Tp
1434:     __sph_bessel(unsigned int __n, _Tp __x)
1434:     {
1434:       if (__x < _Tp(0))
1434:         std::__throw_domain_error(("Bad argument " "in __sph_bessel.")
1434:                                                          );
1434:       else if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__x == _Tp(0))
1434:         {
1434:           if (__n == 0)
1434:             return _Tp(1);
1434:           else
1434:             return _Tp(0);
1434:         }
1434:       else
1434:         {
1434:           _Tp __j_n, __n_n, __jp_n, __np_n;
1434:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1434:           return __j_n;
1434:         }
1434:     }
1434: # 642 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1434:     template <typename _Tp>
1434:     _Tp
1434:     __sph_neumann(unsigned int __n, _Tp __x)
1434:     {
1434:       if (__x < _Tp(0))
1434:         std::__throw_domain_error(("Bad argument " "in __sph_neumann.")
1434:                                                           );
1434:       else if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__x == _Tp(0))
1434:         return -std::numeric_limits<_Tp>::infinity();
1434:       else
1434:         {
1434:           _Tp __j_n, __n_n, __jp_n, __np_n;
1434:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1434:           return __n_n;
1434:         }
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 51 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/beta_function.tcc" 1 3
1434: # 49 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 65 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 79 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __beta_gamma(_Tp __x, _Tp __y)
1434:     {
1434: 
1434:       _Tp __bet;
1434: 
1434:       if (__x > __y)
1434:         {
1434:           __bet = ::std::tgamma(__x)
1434:                 / ::std::tgamma(__x + __y);
1434:           __bet *= ::std::tgamma(__y);
1434:         }
1434:       else
1434:         {
1434:           __bet = ::std::tgamma(__y)
1434:                 / ::std::tgamma(__x +417: 
1417: 
1417: 
1417: 
1417: class CGenre
1417: {
1417: public:
1417:   int idGenre;
1417:   std::string strGenre;
1417: };
1417: 
1417: class CFileItem;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CSong final : public ISerializable
1417: {
1417: public:
1417:   CSong() ;
1417:   explicit CSong(CFileItem& item);
1417:   void Clear() ;
1417:   void MergeScrapedSong(const CSong& source, bool override);
1417:   void Serialize(CVariant& value) const override;
1417: 
1417:   bool operator<(const CSong &song) const
1417:   {
1417:     if (strFileName < song.strFileName) return true;
1417:     if (strFileName > song.strFileName) return false;
1417:     if (iTrack < song.iTrack) return true;
1417:     return false;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   const std::vector<std::string> GetArtist() const;
1417: 
1417: 
1417: 
1417: 
1417:   const std::string GetArtistSort() const;
1417: 
1417: 
1417: 
1417: 
1417:   const std::vector<std::string> GetMusicBrainzArtistID() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const std::string GetArtistString() const;
1417: 
1417: 
1417: 
1417: 
1417:   const std::vector<int> GetArtistIDArray() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const std::vector<std::string> GetAlbumArtist() const { return m_albumArtist; }
1417: 
1417: 
1417: 
1417: 
1417:   const std::string GetAlbumArtistSort() const { return m_strAlbumArtistSort; }
1417: 
1417: 
1417: 
1417: 
1417:   const std::string GetDiscSubtitle() const;
1417: 
1417: 
1417: 
1417: 
1417:   const std::string GetComposerSort() const { return m_strComposerSort; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const VECMUSICROLES& GetContributors() const { return m_musicRoles; }
1417: 
1417:   void AppendArtistRole(const CMusicRole& musicRole);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void SetAlbumArtist(const std::vector<std::string>& albumartists) { m_albumArtist = albumartists; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool HasArtistCredits() const { return !artistCredits.empty(); }
1417: 
1417: 
1417: 
1417: 
1417:   bool HasContributors() const { return !m_musicRoles.empty(); }
1417: 
1417: 
1417: 
1417: 
1417:   bool HasArt() const;
1417: 
1417: 
1417: 
1417: 
1417:   bool ArtMatches(const CSong &right) const;
1417: # 157 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Song.h"
1417:   void SetArtistCredits(const std::vector<std::string>& names, const std::vector<std::string>& hints,
1417:     const std::vector<std::string>& mbids);
1417: 
1417:   int idSong;
1417:   int idAlbum;
1417:   std::string strFileName;
1417:   std::string strTitle;
1417:   std::string strArtistSort;
1417:   std::string strArtistDesc;
1417:   VECARTISTCREDITS artistCredits;
1417:   std::string strAlbum;
1417:   std::vector<std::string> genre;
1417:   std::string strThumb;
1417:   EmbeddedArtInfo embeddedArt;
1417:   std::string strMusicBrainzTrackID;
1417:   std::string strComment;
1417:   std::string strMood;
1417:   std::string strCueSheet;
1417:   float rating;
1417:   int userrating;
1417:   int votes;
1417:   int iTrack;
1417:   int iDuration;
1417:   std::string strOrigReleaseDate;
1417:   std::string strReleaseDate;
1417:   std::string strDiscSubtitle;
1417:   int iTimesPlayed;
1417:   CDateTime lastPlayed;
1417:   CDateTime dateAdded;
1417:   CDateTime dateUpdated;
1417:   CDateTime dateNew;
1417:   int iStartOffset;
1417:   int iEndOffset;
1417:   bool bCompilation;
1417:   int iBPM;
1417:   int iSampleRate;
1417:   int iBitRate;
1417:   int iChannels;
1417:   std::string strRecordLabel;
1417:   std::string strAlbumType;
1417: 
1417:   ReplayGain replayGain;
1417: private:
1417:   std::vector<std::string> m_albumArtist;
1417:   std::string m_strAlbumArtistSort;
1417:   std::string m_strComposerSort;
1417:   VECMUSICROLES m_musicRoles;
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef std::vector<CSong> VECSONGS;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef std::map<std::string, VECSONGS> MAPSONGS;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef std::vector<CGenre> VECGENRES;
141pr _Ios_Openmode
1115:   operator~(_Ios_Openmode __a)
1115:   { return _Ios_Openmode(~static_cast<int>(__a)); }
1115: 
1115:   inline const _Ios_Openmode&
1115:   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
1115:   { return __a = __a | __b; }
1115: 
1115:   inline const _Ios_Openmode&
1115:   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
1115:   { return __a = __a & __b; }
1115: 
1115:   inline const _Ios_Openmode&
1115:   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
1115:   { return __a = __a ^ __b; }
1115: 
1115: 
1115:   enum _Ios_Iostate
1115:     {
1115:       _S_goodbit = 0,
1115:       _S_badbit = 1L << 0,
1115:       _S_eofbit = 1L << 1,
1115:       _S_failbit = 1L << 2,
1115:       _S_ios_iostate_end = 1L << 16,
1115:       _S_ios_iostate_max = 0x7fffffff,
1115:       _S_ios_iostate_min = ~0x7fffffff
1115:     };
1115: 
1115:   inline constexpr _Ios_Iostate
1115:   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
1115:   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Iostate
1115:   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
1115:   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Iostate
1115:   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
1115:   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1115: 
1115:   inline constexpr _Ios_Iostate
1115:   operator~(_Ios_Iostate __a)
1115:   { return _Ios_Iostate(~static_cast<int>(__a)); }
1115: 
1115:   inline const _Ios_Iostate&
1115:   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
1115:   { return __a = __a | __b; }
1115: 
1115:   inline const _Ios_Iostate&
1115:   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
1115:   { return __a = __a & __b; }
1115: 
1115:   inline const _Ios_Iostate&
1115:   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
1115:   { return __a = __a ^ __b; }
1115: 
1115: 
1115:   enum _Ios_Seekdir
1115:     {
1115:       _S_beg = 0,
1115:       _S_cur = 1,
1115:       _S_end = 2,
1115:       _S_ios_seekdir_end = 1L << 16
1115:     };
1115: 
1115: 
1115: 
1115:   enum class io_errc { stream = 1 };
1115: 
1115:   template <> struct is_error_code_enum<io_errc> : public true_type { };
1115: 
1115:   const error_category& iostream_category() noexcept;
1115: 
1115:   inline error_code
1115:   make_error_code(io_errc __e) noexcept
1115:   { return error_code(static_cast<int>(__e), iostream_category()); }
1115: 
1115:   inline error_condition
1115:   make_error_condition(io_errc __e) noexcept
1115:   { return error_condition(static_cast<int>(__e), iostream_category()); }
1115: # 229 "/usr/include/c++/12/bits/ios_base.h" 3
1115:   class ios_base
1115:   {
1115: # 247 "/usr/include/c++/12/bits/ios_base.h" 3
1115:   public:
1115: # 256 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
1115:     {
1115:     public:
1115:       explicit
1115:       failure(const string& __str);
1115: 
1115: 
1115:       explicit
1115:       failure(const string&, const error_code&);
1115: 
1115:       explicit
1115:       failure(const char*, const error_code& = io_errc::stream);
1115: 
1115: 
1115:       virtual
1115:       ~failure() throw();
1115: 
1115:       virtual const char*
1115:       what() const throw();
1115:     };
1115: # 342 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     typedef _Ios_Fmtflags fmtflags;
1115: 
1115: 
1115:     static const fmtflags boolalpha = _S_boolalpha;
1115: 
1115: 
1115:     static const fmtflags dec = _S_dec;
1115: 
1115: 
1115:     static const fmtflags fixed = _S_fixed;
1115: 
1115: 
1115:     static const fmtflags hex = _S_hex;
1115: 
1115: 
1115: 
1115: 
1115:     static const fmtflags internal = _S_internal;
1115: 
1115: 
1115: 
1115:     static const fmtflags left = _S_left;
1115: 
1115: 
1115:     static const fmtflags oct = _S_oct;
1115: 
1115: 
1115: 
1115:     static const fmtflags right = _S_right;
1115: 
1115: 
1115:     static const fmtflags scientific = _S_scientific;
1115: 
1115: 
1115:  __y);
1434:           __bet *= ::std::tgamma(__x);
1434:         }
1434: # 111 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1434:       return __bet;
1434:     }
1434: # 127 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __beta_lgamma(_Tp __x, _Tp __y)
1434:     {
1434: 
1434:       _Tp __bet = ::std::lgamma(__x)
1434:                 + ::std::lgamma(__y)
1434:                 - ::std::lgamma(__x + __y);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       __bet = std::exp(__bet);
1434:       return __bet;
1434:     }
1434: # 158 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __beta_product(_Tp __x, _Tp __y)
1434:     {
1434: 
1434:       _Tp __bet = (__x + __y) / (__x * __y);
1434: 
1434:       unsigned int __max_iter = 1000000;
1434:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1434:         {
1434:           _Tp __term = (_Tp(1) + (__x + __y) / __k)
1434:                      / ((_Tp(1) + __x / __k) * (_Tp(1) + __y / __k));
1434:           __bet *= __term;
1434:         }
1434: 
1434:       return __bet;
1434:     }
1434: # 189 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __beta(_Tp __x, _Tp __y)
1434:     {
1434:       if (__isnan(__x) || __isnan(__y))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else
1434:         return __beta_lgamma(__x, __y);
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 52 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/ell_integral.tcc" 1 3
1434: # 45 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 59 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 76 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __ellint_rf(_Tp __x, _Tp __y, _Tp __z)
1434:     {
1434:       const _Tp __min = std::numeric_limits<_Tp>::min();
1434:       const _Tp __lolim = _Tp(5) * __min;
1434: 
1434:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1434:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rf.")
1434:                                                         );
1434:       else if (__x + __y < __lolim || __x + __z < __lolim
1434:             || __y + __z < __lolim)
1434:         std::__throw_domain_error(("Argument too small in __ellint_rf"));
1434:       else
1434:         {
1434:           const _Tp __c0 = _Tp(1) / _Tp(4);
1434:           const _Tp __c1 = _Tp(1) / _Tp(24);
1434:           const _Tp __c2 = _Tp(1) / _Tp(10);
1434:           const _Tp __c3 = _Tp(3) / _Tp(44);
1434:           const _Tp __c4 = _Tp(1) / _Tp(14);
1434: 
1434:           _Tp __xn = __x;
1434:           _Tp __yn = __y;
1434:           _Tp __zn = __z;
1434: 
1434:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:           const _Tp __errtol = std::pow(__eps, _Tp(1) / _Tp(6));
1434:           _Tp __mu;
1434:           _Tp __xndev, __yndev, __zndev;
1434: 
1434:           const unsigned int __max_iter = 100;
1434:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1434:             {
1434:               __mu = (__xn + __yn + __zn) / _Tp(3);
1434:               __xndev = 2 - (__mu + __xn) / __mu;
1434:               __yndev = 2 - (__mu + __yn) / __mu;
1434:               __zndev = 2 - (__mu + __zn) / __mu;
1434:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1434:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1434:               if (__epsilon < __errtol)
1434:                 break;
1434:               const _Tp __xnroot = std::sqrt(__xn);
1434:               const _Tp __ynroot = std::sqrt(__yn);
1434:               const _Tp __znroot = std::sqrt(__zn);
1434:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1434:                                  + __ynr7: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class TiXmlNode;
1417: class CFileItem;
1417: class CAlbum
1417: {
1417: public:
1417:   explicit CAlbum(const CFileItem& item);
1417:   CAlbum() = default;
1417:   bool operator<(const CAlbum &a) const;
1417:   void MergeScrapedAlbum(const CAlbum& album, bool override = true);
1417: 
1417:   void Reset()
1417:   {
1417:     idAlbum = -1;
1417:     strAlbum.clear();
1417:     strMusicBrainzAlbumID.clear();
1417:     strReleaseGroupMBID.clear();
1417:     artistCredits.clear();
1417:     strArtistDesc.clear();
1417:     strArtistSort.clear();
1417:     genre.clear();
1417:     thumbURL.Clear();
1417:     moods.clear();
1417:     styles.clear();
1417:     themes.clear();
1417:     art.clear();
1417:     strReview.clear();
1417:     strLabel.clear();
1417:     strType.clear();
1417:     strReleaseStatus.clear();
1417:     strPath.clear();
1417:     fRating = -1;
1417:     iUserrating = -1;
1417:     iVotes = -1;
1417:     strOrigReleaseDate.clear();
1417:     strReleaseDate.clear();
1417:     bCompilation = false;
1417:     bBoxedSet = false;
1417:     iTimesPlayed = 0;
1417:     dateAdded.Reset();
1417:     dateUpdated.Reset();
1417:     dateNew.Reset();
1417:     lastPlayed.Reset();
1417:     iTotalDiscs = -1;
1417:     songs.clear();
1417:     releaseType = Album;
1417:     strLastScraped.clear();
1417:     bScrapedMBID = false;
1417:     bArtistSongMerge = false;
1417:     iAlbumDuration = 0;
1417:   }
1417: 
1417: 
1417: 
1417: 
1417:   const std::vector<std::string> GetAlbumArtist() const;
1417: 
1417: 
1417: 
1417: 
1417:   const std::vector<std::string> GetMusicBrainzAlbumArtistID() const;
1417:   std::string GetGenreString() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const std::string GetAlbumArtistString() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   const std::string GetAlbumArtistSort() const;
1417: 
1417: 
1417: 
1417: 
1417:   const std::vector<int> GetArtistIDArray() const;
1417: 
1417:   typedef enum ReleaseType {
1417:     Album = 0,
1417:     Single
1417:   } ReleaseType;
1417: 
1417:   std::string GetReleaseType() const;
1417:   void SetReleaseType(const std::string& strReleaseType);
1417:   void SetDateAdded(const std::string& strDateAdded);
1417:   void SetDateUpdated(const std::string& strDateUpdated);
1417:   void SetDateNew(const std::string& strDateNew);
1417:   void SetLastPlayed(const std::string& strLastPlayed);
1417: 
1417:   static std::string ReleaseTypeToString(ReleaseType releaseType);
1417:   static ReleaseType ReleaseTypeFromString(const std::string& strReleaseType);
1417: # 128 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h"
1417:   void SetArtistCredits(const std::vector<std::string>& names, const std::vector<std::string>& hints,
1417:                         const std::vector<std::string>& mbids,
1417:                         const std::vector<std::string>& artistnames = std::vector<std::string>(),
1417:                         const std::vector<std::string>& artisthints = std::vector<std::string>(),
1417:                         const std::vector<std::string>& artistmbids = std::vector<std::string>());
1417: # 141 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/Album.h"
1417:   bool Load(const TiXmlElement *element, bool append = false, bool prioritise = false);
1417:   bool Save(TiXmlNode *node, const std::string &tag, const std::string& strPath);
1417: 
1417:   int idAlbum = -1;
1417:   std::string strAlbum;
1417:   std::string strMusicBrainzAlbumID;
1417:   std::string strReleaseGroupMBID;
1417:   std::string strArtistDesc;
1417:   std::string strArtistSort;
1417:   VECARTISTCREDITS artistCredits;
1417:   std::vector<std::string> genre;
1417:   CScraperUrl thumbURL;
1417:   std::vector<std::string> moods;
1417:   std::vector<std::string> styles;
1417:   std::vector<std::string> themes;
1417:   std::map<std::string, std::string> art;
1417:   std::string strReview;
1417:   std::string strLabel;
1417:   std::string strType;
1417:   std::string strReleaseStatoot * __znroot;
1434:               __xn = __c0 * (__xn + __lambda);
1434:               __yn = __c0 * (__yn + __lambda);
1434:               __zn = __c0 * (__zn + __lambda);
1434:             }
1434: 
1434:           const _Tp __e2 = __xndev * __yndev - __zndev * __zndev;
1434:           const _Tp __e3 = __xndev * __yndev * __zndev;
1434:           const _Tp __s = _Tp(1) + (__c1 * __e2 - __c2 - __c3 * __e3) * __e2
1434:                    + __c4 * __e3;
1434: 
1434:           return __s / std::sqrt(__mu);
1434:         }
1434:     }
1434: # 153 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __comp_ellint_1_series(_Tp __k)
1434:     {
1434: 
1434:       const _Tp __kk = __k * __k;
1434: 
1434:       _Tp __term = __kk / _Tp(4);
1434:       _Tp __sum = _Tp(1) + __term;
1434: 
1434:       const unsigned int __max_iter = 1000;
1434:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1434:         {
1434:           __term *= (2 * __i - 1) * __kk / (2 * __i);
1434:           if (__term < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:           __sum += __term;
1434:         }
1434: 
1434:       return __numeric_constants<_Tp>::__pi_2() * __sum;
1434:     }
1434: # 191 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __comp_ellint_1(_Tp __k)
1434:     {
1434: 
1434:       if (__isnan(__k))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (std::abs(__k) >= _Tp(1))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else
1434:         return __ellint_rf(_Tp(0), _Tp(1) - __k * __k, _Tp(1));
1434:     }
1434: # 219 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __ellint_1(_Tp __k, _Tp __phi)
1434:     {
1434: 
1434:       if (__isnan(__k) || __isnan(__phi))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (std::abs(__k) > _Tp(1))
1434:         std::__throw_domain_error(("Bad argument in __ellint_1."));
1434:       else
1434:         {
1434: 
1434:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1434:                                    + _Tp(0.5L));
1434:           const _Tp __phi_red = __phi
1434:                               - __n * __numeric_constants<_Tp>::__pi();
1434: 
1434:           const _Tp __s = std::sin(__phi_red);
1434:           const _Tp __c = std::cos(__phi_red);
1434: 
1434:           const _Tp __F = __s
1434:                         * __ellint_rf(__c * __c,
1434:                                 _Tp(1) - __k * __k * __s * __s, _Tp(1));
1434: 
1434:           if (__n == 0)
1434:             return __F;
1434:           else
1434:             return __F + _Tp(2) * __n * __comp_ellint_1(__k);
1434:         }
1434:     }
1434: # 266 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __comp_ellint_2_series(_Tp __k)
1434:     {
1434: 
1434:       const _Tp __kk = __k * __k;
1434: 
1434:       _Tp __term = __kk;
1434:       _Tp __sum = __term;
1434: 
1434:       const unsigned int __max_iter = 1000;
1434:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1434:         {
1434:           const _Tp __i2m = 2 * __i - 1;
1434:           const _Tp __i2 = 2 * __i;
1434:           __term *= __i2m * __i2m * __kk / (__i2 * __i2);
1434:           if (__term < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:           __sum += __term / __i2m;
1434:         }
1434: 
1434:       return __numeric_constants<_Tp>::__pi_2() * (_Tp(1) - __sum);
1434:     }
1434: # 314 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __ellint_rd(_Tp __x, _Tp __y, _Tp __z)
1434:     {
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1434:       const _Tp __max = std::numeric_limits<_Tp>::max();
1434:       const _Tp __lolim = _Tp(2) / std::po
1115:     static const fmtflags showbase = _S_showbase;
1115: 
1115: 
1115: 
1115:     static const fmtflags showpoint = _S_showpoint;
1115: 
1115: 
1115:     static const fmtflags showpos = _S_showpos;
1115: 
1115: 
1115:     static const fmtflags skipws = _S_skipws;
1115: 
1115: 
1115:     static const fmtflags unitbuf = _S_unitbuf;
1115: 
1115: 
1115: 
1115:     static const fmtflags uppercase = _S_uppercase;
1115: 
1115: 
1115:     static const fmtflags adjustfield = _S_adjustfield;
1115: 
1115: 
1115:     static const fmtflags basefield = _S_basefield;
1115: 
1115: 
1115:     static const fmtflags floatfield = _S_floatfield;
1115: # 417 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     typedef _Ios_Iostate iostate;
1115: 
1115: 
1115: 
1115:     static const iostate badbit = _S_badbit;
1115: 
1115: 
1115:     static const iostate eofbit = _S_eofbit;
1115: 
1115: 
1115: 
1115: 
1115:     static const iostate failbit = _S_failbit;
1115: 
1115: 
1115:     static const iostate goodbit = _S_goodbit;
1115: # 448 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     typedef _Ios_Openmode openmode;
1115: 
1115: 
1115:     static const openmode app = _S_app;
1115: 
1115: 
1115:     static const openmode ate = _S_ate;
1115: 
1115: 
1115: 
1115: 
1115:     static const openmode binary = _S_bin;
1115: 
1115: 
1115:     static const openmode in = _S_in;
1115: 
1115: 
1115:     static const openmode out = _S_out;
1115: 
1115: 
1115:     static const openmode trunc = _S_trunc;
1115: 
1115:     static const openmode __noreplace = _S_noreplace;
1115: # 488 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     typedef _Ios_Seekdir seekdir;
1115: 
1115: 
1115:     static const seekdir beg = _S_beg;
1115: 
1115: 
1115:     static const seekdir cur = _S_cur;
1115: 
1115: 
1115:     static const seekdir end = _S_end;
1115: # 521 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     enum event
1115:     {
1115:       erase_event,
1115:       imbue_event,
1115:       copyfmt_event
1115:     };
1115: # 538 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     typedef void (*event_callback) (event __e, ios_base& __b, int __i);
1115: # 550 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     void
1115:     register_callback(event_callback __fn, int __index);
1115: 
1115:   protected:
1115:     streamsize _M_precision;
1115:     streamsize _M_width;
1115:     fmtflags _M_flags;
1115:     iostate _M_exception;
1115:     iostate _M_streambuf_state;
1115: 
1115: 
1115: 
1115:     struct _Callback_list
1115:     {
1115: 
1115:       _Callback_list* _M_next;
1115:       ios_base::event_callback _M_fn;
1115:       int _M_index;
1115:       _Atomic_word _M_refcount;
1115: 
1115:       _Callback_list(ios_base::event_callback __fn, int __index,
1115:        _Callback_list* __cb)
1115:       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
1115: 
1115:       void
1115:       _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1115: 
1115: 
1115:       int
1115:       _M_remove_reference()
1115:       {
1115: 
1115:         ;
1115:         int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
1115:         if (__res == 0)
1115:           {
1115:             ;
1115:           }
1115:         return __res;
1115:       }
1115:     };
1115: 
1115:      _Callback_list* _M_callbacks;
1115: 
1115:     void
1115:     _M_call_callbacks(event __ev) throw();
1115: 
1115:     void
1115:     _M_dispose_callbacks(void) throw();
1115: 
1115: 
1115:     struct _Words
1115:     {
1115:       void* _M_pword;
1115:       long _M_iword;
1115:       _Words() : _M_pword(0), _M_iword(0) { }
1115:     };
1115: 
1115: 
1115:     _Words _M_word_zero;
1115: 
1115: 
1115: 
1115:     enum { _S_local_word_size = 8 };
1115:     _Words _M_local_word[_S_local_word_size];
1115: 
1115: 
1115:     int _M_word_size;
1115:     _Words* _M_word;
1115: 
1115:     _Words&
1115:     _M_grow_words(int __index, bool __iword);
1115: 
1115: 
1115:     locale _M_ios_locale;
1115: 
1115:     void
1115:     _M_init() throw();
1115: 
1115:   public:
1115: 
1115: 
11w(__max, _Tp(2) / _Tp(3));
1434: 
1434:       if (__x < _Tp(0) || __y < _Tp(0))
1434:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rd.")
1434:                                                         );
1434:       else if (__x + __y < __lolim || __z < __lolim)
1434:         std::__throw_domain_error(("Argument too small " "in __ellint_rd.")
1434:                                                         );
1434:       else
1434:         {
1434:           const _Tp __c0 = _Tp(1) / _Tp(4);
1434:           const _Tp __c1 = _Tp(3) / _Tp(14);
1434:           const _Tp __c2 = _Tp(1) / _Tp(6);
1434:           const _Tp __c3 = _Tp(9) / _Tp(22);
1434:           const _Tp __c4 = _Tp(3) / _Tp(26);
1434: 
1434:           _Tp __xn = __x;
1434:           _Tp __yn = __y;
1434:           _Tp __zn = __z;
1434:           _Tp __sigma = _Tp(0);
1434:           _Tp __power4 = _Tp(1);
1434: 
1434:           _Tp __mu;
1434:           _Tp __xndev, __yndev, __zndev;
1434: 
1434:           const unsigned int __max_iter = 100;
1434:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1434:             {
1434:               __mu = (__xn + __yn + _Tp(3) * __zn) / _Tp(5);
1434:               __xndev = (__mu - __xn) / __mu;
1434:               __yndev = (__mu - __yn) / __mu;
1434:               __zndev = (__mu - __zn) / __mu;
1434:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1434:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1434:               if (__epsilon < __errtol)
1434:                 break;
1434:               _Tp __xnroot = std::sqrt(__xn);
1434:               _Tp __ynroot = std::sqrt(__yn);
1434:               _Tp __znroot = std::sqrt(__zn);
1434:               _Tp __lambda = __xnroot * (__ynroot + __znroot)
1434:                            + __ynroot * __znroot;
1434:               __sigma += __power4 / (__znroot * (__zn + __lambda));
1434:               __power4 *= __c0;
1434:               __xn = __c0 * (__xn + __lambda);
1434:               __yn = __c0 * (__yn + __lambda);
1434:               __zn = __c0 * (__zn + __lambda);
1434:             }
1434: 
1434:           _Tp __ea = __xndev * __yndev;
1434:           _Tp __eb = __zndev * __zndev;
1434:           _Tp __ec = __ea - __eb;
1434:           _Tp __ed = __ea - _Tp(6) * __eb;
1434:           _Tp __ef = __ed + __ec + __ec;
1434:           _Tp __s1 = __ed * (-__c1 + __c3 * __ed
1434:                                    / _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
1434:                                    / _Tp(2));
1434:           _Tp __s2 = __zndev
1434:                    * (__c2 * __ef
1434:                     + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea));
1434: 
1434:           return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
1434:                                         / (__mu * std::sqrt(__mu));
1434:         }
1434:     }
1434: # 399 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __comp_ellint_2(_Tp __k)
1434:     {
1434: 
1434:       if (__isnan(__k))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (std::abs(__k) == 1)
1434:         return _Tp(1);
1434:       else if (std::abs(__k) > _Tp(1))
1434:         std::__throw_domain_error(("Bad argument in __comp_ellint_2."));
1434:       else
1434:         {
1434:           const _Tp __kk = __k * __k;
1434: 
1434:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1434:                - __kk * __ellint_rd(_Tp(0), _Tp(1) - __kk, _Tp(1)) / _Tp(3);
1434:         }
1434:     }
1434: # 433 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __ellint_2(_Tp __k, _Tp __phi)
1434:     {
1434: 
1434:       if (__isnan(__k) || __isnan(__phi))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (std::abs(__k) > _Tp(1))
1434:         std::__throw_domain_error(("Bad argument in __ellint_2."));
1434:       else
1434:         {
1434: 
1434:           const int __n = us;
1417:   std::string strPath;
1417:   float fRating = -1;
1417:   int iUserrating = -1;
1417:   int iVotes = -1;
1417:   std::string strReleaseDate;
1417:   std::string strOrigReleaseDate;
1417:   bool bBoxedSet = false;
1417:   bool bCompilation = false;
1417:   int iTimesPlayed = 0;
1417:   CDateTime dateAdded;
1417:   CDateTime dateUpdated;
1417:   CDateTime dateNew;
1417:   CDateTime lastPlayed;
1417:   int iTotalDiscs = -1;
1417:   VECSONGS songs;
1417:   ReleaseType releaseType = Album;
1417:   std::string strLastScraped;
1417:   bool bScrapedMBID = false;
1417:   bool bArtistSongMerge = false;
1417:   int iAlbumDuration = 0;
1417: };
1417: 
1417: typedef std::vector<CAlbum> VECALBUMS;
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTag.h" 2
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: using MediaType = std::string;
1417: # 29 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/media/MediaType.h"
1417: class CMediaTypes
1417: {
1417: public:
1417:   static bool IsValidMediaType(const MediaType &mediaType);
1417:   static bool IsMediaType(const std::string &strMediaType, const MediaType &mediaType);
1417:   static MediaType FromString(const std::string &strMediaType);
1417:   static MediaType ToPlural(const MediaType &mediaType);
1417: 
1417:   static bool IsContainer(const MediaType &mediaType);
1417: 
1417:   static std::string GetLocalization(const MediaType &mediaType);
1417:   static std::string GetPluralLocalization(const MediaType &mediaType);
1417:   static std::string GetCapitalLocalization(const MediaType &mediaType);
1417:   static std::string GetCapitalPluralLocalization(const MediaType &mediaType);
1417: 
1417:   struct MediaTypeInfo
1417:   {
1417:     MediaTypeInfo(const MediaType &mediaType, const std::string &plural, bool container,
1417:                   int localizationSingular, int localizationPlural,
1417:                   int localizationSingularCapital, int localizationPluralCapital)
1417:       : mediaType(mediaType),
1417:         plural(plural),
1417:         container(container),
1417:         localizationSingular(localizationSingular),
1417:         localizationPlural(localizationPlural),
1417:         localizationSingularCapital(localizationSingularCapital),
1417:         localizationPluralCapital(localizationPluralCapital)
1417:     { }
1417: 
1417:     MediaType mediaType;
1417:     std::string plural;
1417:     bool container;
1417:     int localizationSingular;
1417:     int localizationPlural;
1417:     int localizationSingularCapital;
1417:     int localizationPluralCapital;
1417:   };
1417: 
1417: private:
1417:   static std::map<std::string, MediaTypeInfo>::const_iterator findMediaType(const std::string &mediaType);
1417: 
1417:   static std::map<std::string, MediaTypeInfo> m_mediaTypes;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/DatabaseUtils.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CVariant;
1417: enum class VideoDbContentType;
1417: 
1417: namespace dbiplus
1417: {
1417:   class Dataset;
1417:   class field_value;
1417: }
1417: 
1417: typedef enum
1417: {
1417: 
1417:   FieldUnknown = -1,
1417:   FieldNone = 0,
1417:   FieldSort,
1417:   FieldSortSpecial,
1417:   FieldLabel,
1417:   FieldFolder,
1417:   FieldMediaType,
1417:   FieldRow,
1417: 
1417: 
1417:   FieldSize,
1417:   FieldDate,
1417:   FieldDriveType,
1417:   FieldStartOffset,
1417:   FieldEndOffset,
1417:   FieldProgrstd::floor(__phi / __numeric_constants<_Tp>::__pi()
1434:                                    + _Tp(0.5L));
1434:           const _Tp __phi_red = __phi
1434:                               - __n * __numeric_constants<_Tp>::__pi();
1434: 
1434:           const _Tp __kk = __k * __k;
1434:           const _Tp __s = std::sin(__phi_red);
1434:           const _Tp __ss = __s * __s;
1434:           const _Tp __sss = __ss * __s;
1434:           const _Tp __c = std::cos(__phi_red);
1434:           const _Tp __cc = __c * __c;
1434: 
1434:           const _Tp __E = __s
1434:                         * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1434:                         - __kk * __sss
1434:                         * __ellint_rd(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1434:                         / _Tp(3);
1434: 
1434:           if (__n == 0)
1434:             return __E;
1434:           else
1434:             return __E + _Tp(2) * __n * __comp_ellint_2(__k);
1434:         }
1434:     }
1434: # 492 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __ellint_rc(_Tp __x, _Tp __y)
1434:     {
1434:       const _Tp __min = std::numeric_limits<_Tp>::min();
1434:       const _Tp __lolim = _Tp(5) * __min;
1434: 
1434:       if (__x < _Tp(0) || __y < _Tp(0) || __x + __y < __lolim)
1434:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rc.")
1434:                                                         );
1434:       else
1434:         {
1434:           const _Tp __c0 = _Tp(1) / _Tp(4);
1434:           const _Tp __c1 = _Tp(1) / _Tp(7);
1434:           const _Tp __c2 = _Tp(9) / _Tp(22);
1434:           const _Tp __c3 = _Tp(3) / _Tp(10);
1434:           const _Tp __c4 = _Tp(3) / _Tp(8);
1434: 
1434:           _Tp __xn = __x;
1434:           _Tp __yn = __y;
1434: 
1434:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:           const _Tp __errtol = std::pow(__eps / _Tp(30), _Tp(1) / _Tp(6));
1434:           _Tp __mu;
1434:           _Tp __sn;
1434: 
1434:           const unsigned int __max_iter = 100;
1434:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1434:             {
1434:               __mu = (__xn + _Tp(2) * __yn) / _Tp(3);
1434:               __sn = (__yn + __mu) / __mu - _Tp(2);
1434:               if (std::abs(__sn) < __errtol)
1434:                 break;
1434:               const _Tp __lambda = _Tp(2) * std::sqrt(__xn) * std::sqrt(__yn)
1434:                              + __yn;
1434:               __xn = __c0 * (__xn + __lambda);
1434:               __yn = __c0 * (__yn + __lambda);
1434:             }
1434: 
1434:           _Tp __s = __sn * __sn
1434:                   * (__c3 + __sn*(__c1 + __sn * (__c4 + __sn * __c2)));
1434: 
1434:           return (_Tp(1) + __s) / std::sqrt(__mu);
1434:         }
1434:     }
1434: # 561 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __ellint_rj(_Tp __x, _Tp __y, _Tp __z, _Tp __p)
1434:     {
1434:       const _Tp __min = std::numeric_limits<_Tp>::min();
1434:       const _Tp __lolim = std::pow(_Tp(5) * __min, _Tp(1)/_Tp(3));
1434: 
1434:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1434:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rj.")
1434:                                                         );
1434:       else if (__x + __y < __lolim || __x + __z < __lolim
1434:             || __y + __z < __lolim || __p < __lolim)
1434:         std::__throw_domain_error(("Argument too small " "in __ellint_rj")
1434:                                                        );
1434:       else
1434:         {
1434:           const _Tp __c0 = _Tp(1) / _Tp(4);
1434:           const _Tp __c1 = _Tp(3) / _Tp(14);
1434:           const _Tp __c2 = _Tp(1) / _Tp(3);
1434:           const _Tp __c3 = _Tp(3) / _Tp(22);
1434:           const _Tp __c4 = _Tp(3) / _Tp(26);
1434: 
1434:           _Tp __xn = __x;
1434:           _Tp __yn = __y;
1434:           _Tp __zn = __z;
1434:           _Tp __pn = __p;15: 
1115: 
1115: 
1115:     class Init
1115:     {
1115:       friend class ios_base;
1115:     public:
1115:       Init();
1115:       ~Init();
1115: 
1115: 
1115:       Init(const Init&) = default;
1115:       Init& operator=(const Init&) = default;
1115: 
1115: 
1115:     private:
1115:       static _Atomic_word _S_refcount;
1115:       static bool _S_synced_with_stdio;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     fmtflags
1115:     flags() const
1115:     { return _M_flags; }
1115: # 668 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     fmtflags
1115:     flags(fmtflags __fmtfl)
1115:     {
1115:       fmtflags __old = _M_flags;
1115:       _M_flags = __fmtfl;
1115:       return __old;
1115:     }
1115: # 684 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     fmtflags
1115:     setf(fmtflags __fmtfl)
1115:     {
1115:       fmtflags __old = _M_flags;
1115:       _M_flags |= __fmtfl;
1115:       return __old;
1115:     }
1115: # 701 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     fmtflags
1115:     setf(fmtflags __fmtfl, fmtflags __mask)
1115:     {
1115:       fmtflags __old = _M_flags;
1115:       _M_flags &= ~__mask;
1115:       _M_flags |= (__fmtfl & __mask);
1115:       return __old;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     void
1115:     unsetf(fmtflags __mask)
1115:     { _M_flags &= ~__mask; }
1115: # 727 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     streamsize
1115:     precision() const
1115:     { return _M_precision; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     streamsize
1115:     precision(streamsize __prec)
1115:     {
1115:       streamsize __old = _M_precision;
1115:       _M_precision = __prec;
1115:       return __old;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     streamsize
1115:     width() const
1115:     { return _M_width; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     streamsize
1115:     width(streamsize __wide)
1115:     {
1115:       streamsize __old = _M_width;
1115:       _M_width = __wide;
1115:       return __old;
1115:     }
1115: # 778 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     static bool
1115:     sync_with_stdio(bool __sync = true);
1115: # 790 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     locale
1115:     imbue(const locale& __loc) throw();
1115: # 801 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     locale
1115:     getloc() const
1115:     { return _M_ios_locale; }
1115: # 812 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     const locale&
1115:     _M_getloc() const
1115:     { return _M_ios_locale; }
1115: # 831 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     static int
1115:     xalloc() throw();
1115: # 847 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     long&
1115:     iword(int __ix)
1115:     {
1115:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1115:    ? _M_word[__ix] : _M_grow_words(__ix, true);
1115:       return __word._M_iword;
1115:     }
1115: # 868 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     void*&
1115:     pword(int __ix)
1115:     {
1115:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1115:    ? _M_word[__ix] : _M_grow_words(__ix, false);
1115:       return __word._M_pword;
1115:     }
1115: # 885 "/usr/include/c++/12/bits/ios_base.h" 3
1115:     virtual ~ios_base();
1115: 
1115:   protected:
1115:     ios_base() throw ();
1115: # 899 "/usr/include/c++/12/bits/ios_base.h" 3
1115:   public:
1115:     ios_base(const ios_base&) = delete;
1115: 
1115:     ios_base&
1115:     operator=(const ios_base&) = delete;
1115: 
1115:   protected:
1115:     void
1115:     _M_move(ios_base&) noexcept;
1115: 
1115:     void
1115:     _M_swap(ios_base& __rhs) noexcept;
1115: 
1115:   };
1115: 
1115: 
1115: 
1115:   inline ios_base&
1115:   boolalpha(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::boolalpha);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   noboolalpha(ios_base& __base)
1115:   {
1115:     __base.unsetf(ios_base::boolalpha);
1115:     return __base;
1115:   }
1115: 
1434:           _Tp __sigma = _Tp(0);
1434:           _Tp __power4 = _Tp(1);
1434: 
1434:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:           const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1434: 
1434:           _Tp __mu;
1434:           _Tp __xndev, __yndev, __zndev, __pndev;
1434: 
1434:           const unsigned int __max_iter = 100;
1434:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1434:             {
1434:               __mu = (__xn + __yn + __zn + _Tp(2) * __pn) / _Tp(5);
1434:               __xndev = (__mu - __xn) / __mu;
1434:               __yndev = (__mu - __yn) / __mu;
1434:               __zndev = (__mu - __zn) / __mu;
1434:               __pndev = (__mu - __pn) / __mu;
1434:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1434:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1434:               __epsilon = std::max(__epsilon, std::abs(__pndev));
1434:               if (__epsilon < __errtol)
1434:                 break;
1434:               const _Tp __xnroot = std::sqrt(__xn);
1434:               const _Tp __ynroot = std::sqrt(__yn);
1434:               const _Tp __znroot = std::sqrt(__zn);
1434:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1434:                                  + __ynroot * __znroot;
1434:               const _Tp __alpha1 = __pn * (__xnroot + __ynroot + __znroot)
1434:                                 + __xnroot * __ynroot * __znroot;
1434:               const _Tp __alpha2 = __alpha1 * __alpha1;
1434:               const _Tp __beta = __pn * (__pn + __lambda)
1434:                                       * (__pn + __lambda);
1434:               __sigma += __power4 * __ellint_rc(__alpha2, __beta);
1434:               __power4 *= __c0;
1434:               __xn = __c0 * (__xn + __lambda);
1434:               __yn = __c0 * (__yn + __lambda);
1434:               __zn = __c0 * (__zn + __lambda);
1434:               __pn = __c0 * (__pn + __lambda);
1434:             }
1434: 
1434:           _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev;
1434:           _Tp __eb = __xndev * __yndev * __zndev;
1434:           _Tp __ec = __pndev * __pndev;
1434:           _Tp __e2 = __ea - _Tp(3) * __ec;
1434:           _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec);
1434:           _Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
1434:                             - _Tp(3) * __c4 * __e3 / _Tp(2));
1434:           _Tp __s2 = __eb * (__c2 / _Tp(2)
1434:                    + __pndev * (-__c3 - __c3 + __pndev * __c4));
1434:           _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3)
1434:                    - __c2 * __pndev * __ec;
1434: 
1434:           return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)
1434:                                              / (__mu * std::sqrt(__mu));
1434:         }
1434:     }
1434: # 661 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __comp_ellint_3(_Tp __k, _Tp __nu)
1434:     {
1434: 
1434:       if (__isnan(__k) || __isnan(__nu))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__nu == _Tp(1))
1434:         return std::numeric_limits<_Tp>::infinity();
1434:       else if (std::abs(__k) > _Tp(1))
1434:         std::__throw_domain_error(("Bad argument in __comp_ellint_3."));
1434:       else
1434:         {
1434:           const _Tp __kk = __k * __k;
1434: 
1434:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1434:                + __nu
1434:                * __ellint_rj(_Tp(0), _Tp(1) - __kk, _Tp(1), _Tp(1) - __nu)
1434:                / _Tp(3);
1434:         }
1434:     }
1434: # 701 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __ellint_3(_Tp __k, _Tp __nu, _Tp __phi)
1434:     {
1434: 
1434:       if (__isnan(__k) || __isnan(__nu) || __isnan(__phi))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (std::abs(__k) > _TpamCount,
1417:   FieldBitrate,
1417:   FieldListeners,
1417:   FieldPlaylist,
1417:   FieldVirtualFolder,
1417:   FieldRandom,
1417:   FieldDateTaken,
1417:   FieldAudioCount,
1417:   FieldSubtitleCount,
1417: 
1417:   FieldInstallDate,
1417:   FieldLastUpdated,
1417:   FieldLastUsed,
1417: 
1417: 
1417:   FieldId,
1417:   FieldGenre,
1417:   FieldAlbum,
1417:   FieldDiscTitle,
1417:   FieldIsBoxset,
1417:   FieldTotalDiscs,
1417:   FieldOrigYear,
1417:   FieldOrigDate,
1417:   FieldArtist,
1417:   FieldArtistSort,
1417:   FieldAlbumArtist,
1417:   FieldTitle,
1417:   FieldSortTitle,
1417:   FieldOriginalTitle,
1417:   FieldYear,
1417:   FieldTime,
1417:   FieldTrackNumber,
1417:   FieldFilename,
1417:   FieldPath,
1417:   FieldPlaycount,
1417:   FieldLastPlayed,
1417:   FieldInProgress,
1417:   FieldRating,
1417:   FieldComment,
1417:   FieldRole,
1417:   FieldDateAdded,
1417:   FieldDateModified,
1417:   FieldDateNew,
1417:   FieldTvShowTitle,
1417:   FieldPlot,
1417:   FieldPlotOutline,
1417:   FieldTagline,
1417:   FieldTvShowStatus,
1417:   FieldVotes,
1417:   FieldDirector,
1417:   FieldActor,
1417:   FieldStudio,
1417:   FieldCountry,
1417:   FieldMPAA,
1417:   FieldTop250,
1417:   FieldSet,
1417:   FieldNumberOfEpisodes,
1417:   FieldNumberOfWatchedEpisodes,
1417:   FieldWriter,
1417:   FieldAirDate,
1417:   FieldEpisodeNumber,
1417:   FieldUniqueId,
1417:   FieldSeason,
1417:   FieldEpisodeNumberSpecialSort,
1417:   FieldSeasonSpecialSort,
1417:   FieldReview,
1417:   FieldThemes,
1417:   FieldMoods,
1417:   FieldStyles,
1417:   FieldAlbumType,
1417:   FieldMusicLabel,
1417:   FieldCompilation,
1417:   FieldSource,
1417:   FieldTrailer,
1417:   FieldVideoResolution,
1417:   FieldVideoAspectRatio,
1417:   FieldVideoCodec,
1417:   FieldAudioChannels,
1417:   FieldAudioCodec,
1417:   FieldAudioLanguage,
1417:   FieldSubtitleLanguage,
1417:   FieldProductionCode,
1417:   FieldTag,
1417:   FieldChannelName,
1417:   FieldChannelNumber,
1417:   FieldInstruments,
1417:   FieldBiography,
1417:   FieldArtistType,
1417:   FieldGender,
1417:   FieldDisambiguation,
1417:   FieldBorn,
1417:   FieldBandFormed,
1417:   FieldDisbanded,
1417:   FieldDied,
1417:   FieldStereoMode,
1417:   FieldUserRating,
1417:   FieldRelevance,
1417:   FieldClientChannelOrder,
1417:   FieldBPM,
1417:   FieldMusicBitRate,
1417:   FieldSampleRate,
1417:   FieldNoOfChannels,
1417:   FieldAlbumStatus,
1417:   FieldAlbumDuration,
1417:   FieldHdrType,
1417:   FieldProvider,
1417:   FieldUserPreference,
1417:   FieldMax
1417: } Field;
1417: 
1417: typedef std::set<Field> Fields;
1417: typedef std::vector<Field> FieldList;
1417: 
1417: typedef enum {
1417:   DatabaseQueryPartSelect,
1417:   DatabaseQueryPartWhere,
1417:   DatabaseQueryPartOrderBy,
1417: } DatabaseQueryPart;
1417: 
1417: typedef std::map<Field, CVariant> DatabaseResult;
1417: typedef std::vector<DatabaseResult> DatabaseResults;
1417: 
1417: class DatabaseUtils
1417: {
1417: public:
1417:   static MediaType MediaTypeFromVideoContentType(VideoDbContentType videoContentType);
1417: 
1417:   static std::string GetField(Field field, const MediaType &mediaType, DatabaseQueryPart queryPart);
1417:   static int GetField(Field field, const MediaType &mediaType);
1417:   static int GetFieldIndex(Field field, const MediaType &mediaType);
1417:   static bool GetSelectFields(const Fields &fields, const MediaType &mediaType, FieldList &selectFields);
1417: 
1417:   static bool GetFieldValue(const dbiplus::field_value &fieldValue, CVariant &variantValue);
1417:   static bool GetDatabaseResults(const MediaType &mediaType, const FieldList &fields, const std::unique_ptr<dbiplus::Dataset> &dataset, DatabaseResults &results);
1417: 
1417:   static std::string BuildLimitClause(int end, int start = 0);
1417:   static std::string BuildLimitClauseOnly(int end, int start = 0);
1417:   static size_t GetLimitCount(int end, int start);
1417: 
1417: private:
1417:   static int GetField(Field field, const MediaType &mediaType, bool asIndex);
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.(1))
1434:         std::__throw_domain_error(("Bad argument in __ellint_3."));
1434:       else
1434:         {
1434: 
1434:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1434:                                    + _Tp(0.5L));
1434:           const _Tp __phi_red = __phi
1434:                               - __n * __numeric_constants<_Tp>::__pi();
1434: 
1434:           const _Tp __kk = __k * __k;
1434:           const _Tp __s = std::sin(__phi_red);
1434:           const _Tp __ss = __s * __s;
1434:           const _Tp __sss = __ss * __s;
1434:           const _Tp __c = std::cos(__phi_red);
1434:           const _Tp __cc = __c * __c;
1434: 
1434:           const _Tp __Pi = __s
1434:                          * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1434:                          + __nu * __sss
1434:                          * __ellint_rj(__cc, _Tp(1) - __kk * __ss, _Tp(1),
1434:                                        _Tp(1) - __nu * __ss) / _Tp(3);
1434: 
1434:           if (__n == 0)
1434:             return __Pi;
1434:           else
1434:             return __Pi + _Tp(2) * __n * __comp_ellint_3(__k, __nu);
1434:         }
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 53 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/exp_integral.tcc" 1 3
1434: # 50 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 64 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:   namespace __detail
1434:   {
1434:     template<typename _Tp> _Tp __expint_E1(_Tp);
1434: # 81 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_E1_series(_Tp __x)
1434:     {
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       _Tp __term = _Tp(1);
1434:       _Tp __esum = _Tp(0);
1434:       _Tp __osum = _Tp(0);
1434:       const unsigned int __max_iter = 1000;
1434:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1434:         {
1434:           __term *= - __x / __i;
1434:           if (std::abs(__term) < __eps)
1434:             break;
1434:           if (__term >= _Tp(0))
1434:             __esum += __term / __i;
1434:           else
1434:             __osum += __term / __i;
1434:         }
1434: 
1434:       return - __esum - __osum
1434:              - __numeric_constants<_Tp>::__gamma_e() - std::log(__x);
1434:     }
1434: # 118 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_E1_asymp(_Tp __x)
1434:     {
1434:       _Tp __term = _Tp(1);
1434:       _Tp __esum = _Tp(1);
1434:       _Tp __osum = _Tp(0);
1434:       const unsigned int __max_iter = 1000;
1434:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1434:         {
1434:           _Tp __prev = __term;
1434:           __term *= - __i / __x;
1434:           if (std::abs(__term) > std::abs(__prev))
1434:             break;
1434:           if (__term >= _Tp(0))
1434:             __esum += __term;
1434:           else
1434:             __osum += __term;
1434:         }
1434: 
1434:       return std::exp(- __x) * (__esum + __osum) / __x;
1434:     }
1434: # 155 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_En_series(unsigned int __n, _Tp __x)
1434:     {
1434:       const unsigned int __max_iter = 1000;
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       const int __nm1 = __n - 1;
1434:       _Tp __ans = (__nm1 != 0
1434:                 ? _Tp(1) / __nm1 : -std::log(__x)
1434:                                    - __numeric_constants<_Tp>::__gamma_e());
1434:       _Tp __fact = _Tp(1);
1434:       for (int __i = 1; __i <= __max_iter; ++__i)
1434:         {
1434:           __fact *= -__x / _Tp(__i);
1434:           _Tp __del;
1434:           if ( __i != __nm1 )
1434:             __del = -__fact / _Tp(__i - __nm1);
1434:           else
1434:             {
1434:               _Tp __psi =
1115: 
1115:   inline ios_base&
1115:   showbase(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::showbase);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   noshowbase(ios_base& __base)
1115:   {
1115:     __base.unsetf(ios_base::showbase);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   showpoint(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::showpoint);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   noshowpoint(ios_base& __base)
1115:   {
1115:     __base.unsetf(ios_base::showpoint);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   showpos(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::showpos);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   noshowpos(ios_base& __base)
1115:   {
1115:     __base.unsetf(ios_base::showpos);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   skipws(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::skipws);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   noskipws(ios_base& __base)
1115:   {
1115:     __base.unsetf(ios_base::skipws);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   uppercase(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::uppercase);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   nouppercase(ios_base& __base)
1115:   {
1115:     __base.unsetf(ios_base::uppercase);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   unitbuf(ios_base& __base)
1115:   {
1115:      __base.setf(ios_base::unitbuf);
1115:      return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   nounitbuf(ios_base& __base)
1115:   {
1115:      __base.unsetf(ios_base::unitbuf);
1115:      return __base;
1115:   }
1115: 
1115: 
1115: 
1115:   inline ios_base&
1115:   internal(ios_base& __base)
1115:   {
1115:      __base.setf(ios_base::internal, ios_base::adjustfield);
1115:      return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   left(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::left, ios_base::adjustfield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   right(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::right, ios_base::adjustfield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115: 
1115:   inline ios_base&
1115:   dec(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::dec, ios_base::basefield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   hex(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::hex, ios_base::basefield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   oct(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::oct, ios_base::basefield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115: 
1115:   inline ios_base&
1115:   fixed(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::fixed, ios_base::floatfield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   scientific(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::scientific, ios_base::floatfield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline ios_base&
1115:   hexfloat(ios_base& __base)
1115:   {
1115:     __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115:   inline ios_base&
1115:   defaultfloat(ios_base& __base)
1115:   {
1115:     __base.unsetf(ios_base::floatfield);
1115:     return __base;
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: # 44 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: # 1 "/usr/include/c++/12/streambuf" 1 3
1115: # 36 "/usr/include/c++/12/streambuf" 3
1115:        
1115: # 37 "/usr/include/c++/12/streambuf" 3
1115: # 45 "/usr/include/c++/12/streambuf" 3
1115: -__numeric_constants<_Tp>::gamma_e();
1434:               for (int __ii = 1; __ii <= __nm1; ++__ii)
1434:                 __psi += _Tp(1) / _Tp(__ii);
1434:               __del = __fact * (__psi - std::log(__x));
1434:             }
1434:           __ans += __del;
1434:           if (std::abs(__del) < __eps * std::abs(__ans))
1434:             return __ans;
1434:         }
1434:       std::__throw_runtime_error(("Series summation failed " "in __expint_En_series.")
1434:                                                               );
1434:     }
1434: # 201 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_En_cont_frac(unsigned int __n, _Tp __x)
1434:     {
1434:       const unsigned int __max_iter = 1000;
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       const _Tp __fp_min = std::numeric_limits<_Tp>::min();
1434:       const int __nm1 = __n - 1;
1434:       _Tp __b = __x + _Tp(__n);
1434:       _Tp __c = _Tp(1) / __fp_min;
1434:       _Tp __d = _Tp(1) / __b;
1434:       _Tp __h = __d;
1434:       for ( unsigned int __i = 1; __i <= __max_iter; ++__i )
1434:         {
1434:           _Tp __a = -_Tp(__i * (__nm1 + __i));
1434:           __b += _Tp(2);
1434:           __d = _Tp(1) / (__a * __d + __b);
1434:           __c = __b + __a / __c;
1434:           const _Tp __del = __c * __d;
1434:           __h *= __del;
1434:           if (std::abs(__del - _Tp(1)) < __eps)
1434:             {
1434:               const _Tp __ans = __h * std::exp(-__x);
1434:               return __ans;
1434:             }
1434:         }
1434:       std::__throw_runtime_error(("Continued fraction failed " "in __expint_En_cont_frac.")
1434:                                                                  );
1434:     }
1434: # 246 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_En_recursion(unsigned int __n, _Tp __x)
1434:     {
1434:       _Tp __En;
1434:       _Tp __E1 = __expint_E1(__x);
1434:       if (__x < _Tp(__n))
1434:         {
1434: 
1434:           __En = __E1;
1434:           for (unsigned int __j = 2; __j < __n; ++__j)
1434:             __En = (std::exp(-__x) - __x * __En) / _Tp(__j - 1);
1434:         }
1434:       else
1434:         {
1434: 
1434:           __En = _Tp(1);
1434:           const int __N = __n + 20;
1434:           _Tp __save = _Tp(0);
1434:           for (int __j = __N; __j > 0; --__j)
1434:             {
1434:               __En = (std::exp(-__x) - __j * __En) / __x;
1434:               if (__j == __n)
1434:                 __save = __En;
1434:             }
1434:             _Tp __norm = __En / __E1;
1434:             __En /= __norm;
1434:         }
1434: 
1434:       return __En;
1434:     }
1434: # 290 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_Ei_series(_Tp __x)
1434:     {
1434:       _Tp __term = _Tp(1);
1434:       _Tp __sum = _Tp(0);
1434:       const unsigned int __max_iter = 1000;
1434:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1434:         {
1434:           __term *= __x / __i;
1434:           __sum += __term / __i;
1434:           if (__term < std::numeric_limits<_Tp>::epsilon() * __sum)
1434:             break;
1434:         }
1434: 
1434:       return __numeric_constants<_Tp>::__gamma_e() + __sum + std::log(__x);
1434:     }
1434: # 321 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_Ei_asymp(_Tp __x)
1434:     {
1434:       _Tp __term = _Tp(1);
1434:       _Tp __sum = _Tp(1);
1434:       const unsigned int __max_iter = 1000;
1434:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1434:         {
1434:           _Tp __prev = __term;
1434:           __term *= __i / __x;
1434:           if (__term < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:           if (__term >= __prev)
1434:             break;
1434:           __sum += __term;
1434:         }
1434: 
1434:       return std::exp(__x) * __sum / __x;
1434:     }
1434: # 354 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_Ei(_Tp __x)
1434:     {
1434:       if (__x < _Tp(0))
1434:         return -__expint_E1(-__x);
1434:       else if (__x < -std::log(std::numeric_limits<_Tp>::epsilon()))
1434:         return __expint_Ei_series(__x);
1434:       else
1434:         return __expint_Ei_asymp(__x);
1434:     }
1434: # 378 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_E1(_Tp __x)
1434:     {
1434:       if (__x < _Tp(0))
1434:         return -__expint_Ei(-__x);
1434:       else if (__x < _Tp(1))
1434:         return __expint_E1_series(__x);
1434:       else if (__x < _Tp(100))
1434:         return __expint_En_cont_frac(1, __x);
1434:       else
1434:         return __expint_E1_asymp(__x);
1434:     }
1434: # 408 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_asymp(unsigned int __n, _Tp __x)
1434:     {
1434:       _Tp __term = _Tp(1);
1434:       _Tp __sum = _Tp(1);
1434:       for (unsigned int __i = 1; __i <= __n; ++__i)
1434:         {
1434:           _Tp __prev = __term;
1434:           __term *= -(__n - __i + 1) / __x;
1434:           if (std::abs(__term) > std::abs(__prev))
1434:             break;
1434:           __sum += __term;
1434:         }
1434: 
1434:       return std::exp(-__x) * __sum / __x;
1434:     }
1434: # 442 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint_large_n(unsigned int __n, _Tp __x)
1434:     {
1434:       const _Tp __xpn = __x + __n;
1434:       const _Tp __xpn2 = __xpn * __xpn;
1434:       _Tp __term = _Tp(1);
1434:       _Tp __sum = _Tp(1);
1434:       for (unsigned int __i = 1; __i <= __n; ++__i)
1434:         {
1434:           _Tp __prev = __term;
1434:           __term *= (__n - 2 * (__i - 1) * __x) / __xpn2;
1434:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:           __sum += __term;
1434:         }
1434: 
1434:       return std::exp(-__x) * __sum / __xpn;
1434:     }
1434: # 476 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __expint(unsigned int __n, _Tp __x)
1434:     {
1434: 
1434:       if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__n <= 1 && __x == _Tp(0))
1434:         return std::numeric_limits<_Tp>::infinity();
1434:       else
1434:         {
1434:           _Tp __E0 = std::exp(__x) / __x;
1434:           if (__n == 0)
1434:             return __E0;
1434: 
1434:           _Tp __E1 = __expint_E1(__x);
1434:           if (__n == 1)
1434:             return __E1;
1434: 
1434:           if (__x == _Tp(0))
1434:             return _Tp(1) / static_cast<_Tp>(__n - 1);
1434: 
1434:           _Tp __En = __expint_En_recursion(__n, __x);
1434: 
1434:           return __En;
1434:         }
1434:     }
1434: # 516 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __expint(_Tp __x)
1434:     {
1434:       if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else
1434:         return __expint_Ei(__x);
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 54 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/hypergeometric.tcc" 1 3
1434: # 44 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 60 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 83 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __conf_hyperg_series(_Tp __a, _Tp __c, _Tp __x)
1434:     {
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434: 
1434:       _Tp __term = _Tp(1);
1434:       _Tp __Fac = _Tp(1);
1h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/LabelFormatter.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/LabelFormatter.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: namespace MUSIC_INFO
1417: {
1417:   class CMusicInfoTag;
1417: }
1417: 
1417: class CFileItem;
1417: 
1417: struct LABEL_MASKS
1417: {
1417:   LABEL_MASKS(const std::string& strLabelFile="", const std::string& strLabel2File="", const std::string& strLabelFolder="", const std::string& strLabel2Folder="") :
1417:     m_strLabelFile(strLabelFile),
1417:     m_strLabel2File(strLabel2File),
1417:     m_strLabelFolder(strLabelFolder),
1417:     m_strLabel2Folder(strLabel2Folder)
1417:   {}
1417:   std::string m_strLabelFile;
1417:   std::string m_strLabel2File;
1417:   std::string m_strLabelFolder;
1417:   std::string m_strLabel2Folder;
1417: };
1417: 
1417: class CLabelFormatter
1417: {
1417: public:
1417:   CLabelFormatter(const std::string &mask, const std::string &mask2);
1417: 
1417:   void FormatLabel(CFileItem *item) const;
1417:   void FormatLabel2(CFileItem *item) const;
1417:   void FormatLabels(CFileItem *item) const
1417:   {
1417:     FormatLabel(item);
1417:     FormatLabel2(item);
1417:   }
1417: 
1417:   bool FillMusicTag(const std::string &fileName, MUSIC_INFO::CMusicInfoTag *tag) const;
1417: 
1417: private:
1417:   class CMaskString
1417:   {
1417:   public:
1417:     CMaskString(const std::string &prefix, char content, const std::string &postfix) :
1417:       m_prefix(prefix),
1417:       m_postfix(postfix),
1417:       m_content(content)
1417:     {};
1417:     std::string m_prefix;
1417:     std::string m_postfix;
1417:     char m_content;
1417:   };
1417: 
1417: 
1417:   void AssembleMask(unsigned int label, const std::string &mask);
1417:   void SplitMask(unsigned int label, const std::string &mask);
1417: 
1417: 
1417:   std::string GetContent(unsigned int label, const CFileItem *item) const;
1417:   std::string GetMaskContent(const CMaskString &mask, const CFileItem *item) const;
1417:   void FillMusicMaskContent(const char mask, const std::string &value, MUSIC_INFO::CMusicInfoTag *tag) const;
1417: 
1417:   std::vector<std::string> m_staticContent[2];
1417:   std::vector<CMaskString> m_dynamicContent[2];
1417:   bool m_hideFileExtensions;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SortFileItem.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/SortFileItem.h"
1417:        
1417: 
1417: typedef enum
1417: {
1417:   SORT_METHOD_NONE = 0,
1417:   SORT_METHOD_LABEL,
1417:   SORT_METHOD_LABEL_IGNORE_THE,
1417:   SORT_METHOD_DATE,
1417:   SORT_METHOD_SIZE,
1417:   SORT_METHOD_FILE,
1417:   SORT_METHOD_DRIVE_TYPE,
1417:   SORT_METHOD_TRACKNUM,
1417:   SORT_METHOD_DURATION,
1417:   SORT_METHOD_TITLE,
1417:   SORT_METHOD_TITLE_IGNORE_THE,
1417:   SORT_METHOD_ARTIST,
1417:   SORT_METHOD_ARTIST_AND_YEAR,
1417:   SORT_METHOD_ARTIST_IGNORE_THE,
1417:   SORT_METHOD_ALBUM,
1417:   SORT_METHOD_ALBUM_IGNORE_THE,
1417:   SORT_METHOD_GENRE,
1417:   SORT_METHOD_COUNTRY,
1417:   SORT_METHOD_YEAR,
1417:   SORT_METHOD_VIDEO_RATING,
1417:   SORT_METHOD_VIDEO_USER_RATING,
1417:   SORT_METHOD_DATEADDED,
1417:   SORT_METHOD_PROGRAM_COUNT,
1417:   SORT_METHOD_PLAYLIST_ORDER,
1417:   SORT_METHOD_EPISODE,
1417:   SORT_METHOD_VIDEO_TITLE,
1417:   SORT_METHOD_VIDEO_SORT_TITLE,
1417:   SORT_METHOD_VIDEO_SORT_TITLE_IGNORE_THE,
1417:   SORT_METHOD_PRODUCTIONCODE,
1417:   SORT_METHOD_SONG_RATING,
1417:   SORT_METHOD_SONG_USER_RATING,
1417:   SORT_METHOD_MPAA_RATING,
1417:   SORT_METHOD_VIDEO_RUNTIME,
1417:   SORT_METHOD_STUDIO,
1417:   SORT_METHOD_STUDIO_IGNORE_THE,
1417:   SORT_METHOD_FULLPATH,
1417:   SORT_METHOD_LABEL_IGNORE_FOLDERS,
1417:   SORT_METHOD_LASTPLAYED,
1417:   SORT_METHOD_PLAYCOUNT,
1417:   SORT_METHOD_LISTENERS,
1417:   SORT_METHOD_UNSORTED,
1417:   SORT_METHOD_CHANNEL,
1417:   SORT_METHOD_CHANNEL_NUMBER,
1417:   SORT_METHOD_BITRATE,
1417:   SORT_METHOD_DATE_TAKEN,
1417:   SORT_METHOD_CLIENT_CHANNEL_ORDER,
1417:   SORT_METHOD_T namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     streamsize
1115:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
1115:      basic_streambuf<_CharT, _Traits>*, bool&);
1115: # 121 "/usr/include/c++/12/streambuf" 3
1115:   template<typename _CharT, typename _Traits>
1115:     class basic_streambuf
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115:       typedef typename traits_type::int_type int_type;
1115:       typedef typename traits_type::pos_type pos_type;
1115:       typedef typename traits_type::off_type off_type;
1115: 
1115: 
1115: 
1115: 
1115:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1115: 
1115: 
1115:       friend class basic_ios<char_type, traits_type>;
1115:       friend class basic_istream<char_type, traits_type>;
1115:       friend class basic_ostream<char_type, traits_type>;
1115:       friend class istreambuf_iterator<char_type, traits_type>;
1115:       friend class ostreambuf_iterator<char_type, traits_type>;
1115: 
1115:       friend streamsize
1115:       __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
1115: 
1115:       template<bool _IsMove, typename _CharT2>
1115:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:             _CharT2*>::__type
1115:         __copy_move_a2(istreambuf_iterator<_CharT2>,
1115:          istreambuf_iterator<_CharT2>, _CharT2*);
1115: 
1115:       template<typename _CharT2>
1115:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:       istreambuf_iterator<_CharT2> >::__type
1115:         find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1115:       const _CharT2&);
1115: 
1115:       template<typename _CharT2, typename _Distance>
1115:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:             void>::__type
1115:         advance(istreambuf_iterator<_CharT2>&, _Distance);
1115: 
1115:       friend void __istream_extract(istream&, char*, streamsize);
1115: 
1115:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1115:         friend basic_istream<_CharT2, _Traits2>&
1115:         operator>>(basic_istream<_CharT2, _Traits2>&,
1115:      basic_string<_CharT2, _Traits2, _Alloc>&);
1115: 
1115:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1115:         friend basic_istream<_CharT2, _Traits2>&
1115:         getline(basic_istream<_CharT2, _Traits2>&,
1115:   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       char_type* _M_in_beg;
1115:       char_type* _M_in_cur;
1115:       char_type* _M_in_end;
1115:       char_type* _M_out_beg;
1115:       char_type* _M_out_cur;
1115:       char_type* _M_out_end;
1115: 
1115: 
1115:       locale _M_buf_locale;
1115: 
1115:   public:
1115: 
1115:       virtual
1115:       ~basic_streambuf()
1115:       { }
1115: # 213 "/usr/include/c++/12/streambuf" 3
1115:       locale
1115:       pubimbue(const locale& __loc)
1115:       {
1115:  locale __tmp(this->getloc());
1115:  this->imbue(__loc);
1115:  _M_buf_locale = __loc;
1115:  return __tmp;
1115:       }
1115: # 230 "/usr/include/c++/12/streambuf" 3
1115:       locale
1115:       getloc() const
1115:       { return _M_buf_locale; }
1115: # 243 "/usr/include/c++/12/streambuf" 3
1115:       basic_streambuf*
1115:       pubsetbuf(char_type* __s, streamsize __n)
1115:       { return this->setbuf(__s, __n); }
1115: # 255 "/usr/include/c++/12/streambuf" 3
1115:       pos_type
1115:       pubseekoff(off_type __off, ios_base::seekdir __way,
1115:    ios_base::openmode __mode = ios_base::in | ios_base::out)
1115:       { return this->seekoff(__off, __way, __mode); }
1115: # 267 "/usr/include/c++/12/streambuf" 3
1115:       pos_type
1115:       pubseekpos(pos_type __sp,
1115:    ios_base::o434:       const unsigned int __max_iter = 100000;
1434:       unsigned int __i;
1434:       for (__i = 0; __i < __max_iter; ++__i)
1434:         {
1434:           __term *= (__a + _Tp(__i)) * __x
1434:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1434:           if (std::abs(__term) < __eps)
1434:             {
1434:               break;
1434:             }
1434:           __Fac += __term;
1434:         }
1434:       if (__i == __max_iter)
1434:         std::__throw_runtime_error(("Series failed to converge " "in __conf_hyperg_series.")
1434:                                                                   );
1434: 
1434:       return __Fac;
1434:     }
1434: # 120 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __conf_hyperg_luke(_Tp __a, _Tp __c, _Tp __xin)
1434:     {
1434:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1434:       const int __nmax = 20000;
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       const _Tp __x = -__xin;
1434:       const _Tp __x3 = __x * __x * __x;
1434:       const _Tp __t0 = __a / __c;
1434:       const _Tp __t1 = (__a + _Tp(1)) / (_Tp(2) * __c);
1434:       const _Tp __t2 = (__a + _Tp(2)) / (_Tp(2) * (__c + _Tp(1)));
1434:       _Tp __F = _Tp(1);
1434:       _Tp __prec;
1434: 
1434:       _Tp __Bnm3 = _Tp(1);
1434:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1434:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1434: 
1434:       _Tp __Anm3 = _Tp(1);
1434:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1434:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1434:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1434: 
1434:       int __n = 3;
1434:       while(1)
1434:         {
1434:           _Tp __npam1 = _Tp(__n - 1) + __a;
1434:           _Tp __npcm1 = _Tp(__n - 1) + __c;
1434:           _Tp __npam2 = _Tp(__n - 2) + __a;
1434:           _Tp __npcm2 = _Tp(__n - 2) + __c;
1434:           _Tp __tnm1 = _Tp(2 * __n - 1);
1434:           _Tp __tnm3 = _Tp(2 * __n - 3);
1434:           _Tp __tnm5 = _Tp(2 * __n - 5);
1434:           _Tp __F1 = (_Tp(__n - 2) - __a) / (_Tp(2) * __tnm3 * __npcm1);
1434:           _Tp __F2 = (_Tp(__n) + __a) * __npam1
1434:                    / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1434:           _Tp __F3 = -__npam2 * __npam1 * (_Tp(__n - 2) - __a)
1434:                    / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1434:                    * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1434:           _Tp __E = -__npam1 * (_Tp(__n - 1) - __c)
1434:                    / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1434: 
1434:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1434:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1434:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1434:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1434:           _Tp __r = __An / __Bn;
1434: 
1434:           __prec = std::abs((__F - __r) / __F);
1434:           __F = __r;
1434: 
1434:           if (__prec < __eps || __n > __nmax)
1434:             break;
1434: 
1434:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1434:             {
1434:               __An /= __big;
1434:               __Bn /= __big;
1434:               __Anm1 /= __big;
1434:               __Bnm1 /= __big;
1434:               __Anm2 /= __big;
1434:               __Bnm2 /= __big;
1434:               __Anm3 /= __big;
1434:               __Bnm3 /= __big;
1434:             }
1434:           else if (std::abs(__An) < _Tp(1) / __big
1434:                 || std::abs(__Bn) < _Tp(1) / __big)
1434:             {
1434:               __An *= __big;
1434:               __Bn *= __big;
1434:               __Anm1 *= __big;
1434:               __Bnm1 *= __big;
1434:               __Anm2 *= __big;
1434:               __Bnm2 *= __big;
1434:               __Anm3 *= __big;
1434:               __Bnm3 *= __big;
1434:             }
1434: 
1434:           ++__n;
1434:           _OTAL_DISCS,
1417:   SORT_METHOD_ORIG_DATE,
1417:   SORT_METHOD_BPM,
1417:   SORT_METHOD_VIDEO_ORIGINAL_TITLE,
1417:   SORT_METHOD_VIDEO_ORIGINAL_TITLE_IGNORE_THE,
1417:   SORT_METHOD_PROVIDER,
1417:   SORT_METHOD_USER_PREFERENCE,
1417:   SORT_METHOD_MAX
1417: } SORT_METHOD;
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: typedef enum {
1417:   SortOrderNone = 0,
1417:   SortOrderAscending,
1417:   SortOrderDescending
1417: } SortOrder;
1417: 
1417: typedef enum {
1417:   SortAttributeNone = 0x0,
1417:   SortAttributeIgnoreArticle = 0x1,
1417:   SortAttributeIgnoreFolders = 0x2,
1417:   SortAttributeUseArtistSortName = 0x4,
1417:   SortAttributeIgnoreLabel = 0x8
1417: } SortAttribute;
1417: 
1417: typedef enum {
1417:   SortSpecialNone = 0,
1417:   SortSpecialOnTop = 1,
1417:   SortSpecialOnBottom = 2
1417: } SortSpecial;
1417: # 49 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/SortUtils.h"
1417: typedef enum
1417: {
1417: 
1417:   SortByNone = 0,
1417: 
1417:   SortByLabel,
1417: 
1417:   SortByDate,
1417: 
1417:   SortBySize,
1417: 
1417:   SortByFile,
1417: 
1417:   SortByPath,
1417: 
1417:   SortByDriveType,
1417: 
1417:   SortByTitle,
1417: 
1417:   SortByTrackNumber,
1417: 
1417:   SortByTime,
1417: 
1417:   SortByArtist,
1417: 
1417:   SortByArtistThenYear,
1417: 
1417:   SortByAlbum,
1417: 
1417:   SortByAlbumType,
1417: 
1417:   SortByGenre,
1417: 
1417:   SortByCountry,
1417: 
1417:   SortByYear,
1417: 
1417:   SortByRating,
1417: 
1417:   SortByUserRating,
1417: 
1417:   SortByVotes,
1417: 
1417:   SortByTop250,
1417: 
1417:   SortByProgramCount,
1417: 
1417:   SortByPlaylistOrder,
1417: 
1417:   SortByEpisodeNumber,
1417: 
1417:   SortBySeason,
1417: 
1417:   SortByNumberOfEpisodes,
1417: 
1417:   SortByNumberOfWatchedEpisodes,
1417: 
1417:   SortByTvShowStatus,
1417: 
1417:   SortByTvShowTitle,
1417: 
1417:   SortBySortTitle,
1417: 
1417:   SortByProductionCode,
1417: 
1417:   SortByMPAA,
1417: 
1417:   SortByVideoResolution,
1417: 
1417:   SortByVideoCodec,
1417: 
1417:   SortByVideoAspectRatio,
1417: 
1417:   SortByAudioChannels,
1417: 
1417:   SortByAudioCodec,
1417: 
1417:   SortByAudioLanguage,
1417: 
1417:   SortBySubtitleLanguage,
1417: 
1417:   SortByStudio,
1417: 
1417:   SortByDateAdded,
1417: 
1417:   SortByLastPlayed,
1417: 
1417:   SortByPlaycount,
1417: 
1417:   SortByListeners,
1417: 
1417:   SortByBitrate,
1417: 
1417:   SortByRandom,
1417: 
1417:   SortByChannel,
1417: 
1417:   SortByChannelNumber,
1417: 
1417:   SortByDateTaken,
1417: 
1417:   SortByRelevance,
1417: 
1417:   SortByInstallDate,
1417: 
1417:   SortByLastUpdated,
1417: 
1417:   SortByLastUsed,
1417: 
1417:   SortByClientChannelOrder,
1417: 
1417:   SortByTotalDiscs,
1417: 
1417:   SortByOrigDate,
1417: 
1417:   SortByBPM,
1417: 
1417:   SortByOriginalTitle,
1417: 
1417: 
1417:   SortByProvider,
1417: 
1417: 
1417:   SortByUserPreference,
1417: } SortBy;
1417: 
1417: 
1417: typedef struct SortDescription {
1417:   SortBy sortBy = SortByNone;
1417:   SortOrder sortOrder = SortOrderAscending;
1417:   SortAttribute sortAttributes = SortAttributeNone;
1417:   int limitStart = 0;
1417:   int limitEnd = -1;
1417: } SortDescription;
1417: 
1417: typedef struct GUIViewSortDetails
1417: {
1417:   SortDescription m_sortDescription;
1417:   int m_buttonLabel;
1417:   LABEL_MASKS m_labelMasks;
1417: } GUIViewSortDetails;
1417: 
1417: typedef DatabaseResult SortItem;
1417: typedef std::shared_ptr<SortItem> SortItemPtr;
1417: typedef std::vector<SortItemPtr> SortItems;
1417: 
1417: class SortUtils
1417: {
1417: public:
1417:   static SORT_METHOD TranslateOldSortMethod(SortBy sortBy, bool ignoreArticle);
1417:   static SortDescription TranslateOldSortMethod(SORT_METHOD sortBy);
1417: 
1417:   static SortBy SortMethodFromString(const std::string& sortMethod);
1417:   static const std::string& SortMethodToString(SortBy sortMethod);
1417:   static SortOrder SortOrderFromString(const std::string& sortOrder);
1417:   static const std::string& SortOrderToString(SortOrder sortOrd_Bnm3 = __Bnm2;
1434:           __Bnm2 = __Bnm1;
1434:           __Bnm1 = __Bn;
1434:           __Anm3 = __Anm2;
1434:           __Anm2 = __Anm1;
1434:           __Anm1 = __An;
1434:         }
1434: 
1434:       if (__n >= __nmax)
1434:         std::__throw_runtime_error(("Iteration failed to converge " "in __conf_hyperg_luke.")
1434:                                                                 );
1434: 
1434:       return __F;
1434:     }
1434: # 227 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __conf_hyperg(_Tp __a, _Tp __c, _Tp __x)
1434:     {
1434: 
1434:       const _Tp __c_nint = ::std::nearbyint(__c);
1434: 
1434: 
1434: 
1434:       if (__isnan(__a) || __isnan(__c) || __isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__c_nint == __c && __c_nint <= 0)
1434:         return std::numeric_limits<_Tp>::infinity();
1434:       else if (__a == _Tp(0))
1434:         return _Tp(1);
1434:       else if (__c == __a)
1434:         return std::exp(__x);
1434:       else if (__x < _Tp(0))
1434:         return __conf_hyperg_luke(__a, __c, __x);
1434:       else
1434:         return __conf_hyperg_series(__a, __c, __x);
1434:     }
1434: # 271 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __hyperg_series(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1434:     {
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434: 
1434:       _Tp __term = _Tp(1);
1434:       _Tp __Fabc = _Tp(1);
1434:       const unsigned int __max_iter = 100000;
1434:       unsigned int __i;
1434:       for (__i = 0; __i < __max_iter; ++__i)
1434:         {
1434:           __term *= (__a + _Tp(__i)) * (__b + _Tp(__i)) * __x
1434:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1434:           if (std::abs(__term) < __eps)
1434:             {
1434:               break;
1434:             }
1434:           __Fabc += __term;
1434:         }
1434:       if (__i == __max_iter)
1434:         std::__throw_runtime_error(("Series failed to converge " "in __hyperg_series.")
1434:                                                              );
1434: 
1434:       return __Fabc;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Tp>
1434:     _Tp
1434:     __hyperg_luke(_Tp __a, _Tp __b, _Tp __c, _Tp __xin)
1434:     {
1434:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1434:       const int __nmax = 20000;
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       const _Tp __x = -__xin;
1434:       const _Tp __x3 = __x * __x * __x;
1434:       const _Tp __t0 = __a * __b / __c;
1434:       const _Tp __t1 = (__a + _Tp(1)) * (__b + _Tp(1)) / (_Tp(2) * __c);
1434:       const _Tp __t2 = (__a + _Tp(2)) * (__b + _Tp(2))
1434:                      / (_Tp(2) * (__c + _Tp(1)));
1434: 
1434:       _Tp __F = _Tp(1);
1434: 
1434:       _Tp __Bnm3 = _Tp(1);
1434:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1434:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1434: 
1434:       _Tp __Anm3 = _Tp(1);
1434:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1434:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1434:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1434: 
1434:       int __n = 3;
1434:       while (1)
1434:         {
1434:           const _Tp __npam1 = _Tp(__n - 1) + __a;
1434:           const _Tp __npbm1 = _Tp(__n - 1) + __b;
1434:           const _Tp __npcm1 = _Tp(__n - 1) + __c;
1434:           const _Tp __npam2 = _Tp(__n - 2) + __a;
1434:           const _Tp __npbm2 = _Tp(__n - 2) + __b;
1434:           const _Tp __npcm2 = _Tp(__n - 2) + __c;
1434:           const _Tp __tnm1 = _Tp(2 * __n - 1);
1434:           const _Tp __tnm3 = _Tp(2 * __n - 3);
1434:           const _Tp __tnm5 = _Tp(2 * __n - 5);
1434:           const _Tp __n2 = __n * __n;
1434:           const _Tp __F1 = (_Tp(3) * __n2 + (__a + __b - _Tp(6)) * __n
1434:                          + _Tp(2) - __a * __b - _Tp(2) * (__a + __b))
1434:                          / (_Tp(2) * __tnm3 * __npcm1);
1434:           const _Tp __F2 = -(_Tp(3) * __n2 - (__a + __b + _Tp(6)) * __n
1434:                          + _Tp(2) - __a * __b) * __npam1 * __npbm1
1434:                          / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1434:           const _Tp __F3 = (__npam2 * __npam1 * __npbm2 * __npbm1
1434:                          * (_Tp(__n - 2) - __a) * (_Tp(__n - 2) - __b))
1434:                          / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1434:                          * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1434:           const _Tp __E = -__npam1 * __npbm1 * (_Tp(__n - 1) - __c)
1434:                          / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1434: 
1434:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1434:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1434:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1434:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1434:           const _Tp __r = __An / __Bn;
1434: 
1434:           const _Tp __prec = std::abs((__F - __r) / __F);
1434:           __F = __r;
1434: 
1434:           if (__prec < __eps || __n > __nmax)
1434:             break;
1434: 
1434:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1434:             {
1434:               __An /= __big;
1434:               __Bn /= __big;
1434:               __Anm1 /= __big;
1434:               __Bnm1 /= __big;
1434:               __Anm2 /= __big;
1434:               __Bnm2 /= __big;
1434:               __Anm3 /= __big;
1434:               __Bnm3 /= __big;
1434:             }
1434:           else if (std::abs(__An) < _Tp(1) / __big
1434:                 || std::abs(__Bn) < _Tp(1) / __big)
1434:             {
1434:               __An *= __big;
1434:               __Bn *= __big;
1434:               __Anm1 *= __big;
1434:               __Bnm1 *= __big;
1434:               __Anm2 *= __big;
1434:               __Bnm2 *= __big;
1434:               __Anm3 *= __big;
1434:               __Bnm3 *= __big;
1434:             }
1434: 
1434:           ++__n;
1434:           __Bnm3 = __Bnm2;
1434:           __Bnm2 = __Bnm1;
1434:           __Bnm1 = __Bn;
1434:           __Anm3 = __Anm2;
1434:           __Anm2 = __Anm1;
1434:           __Anm1 = __An;
1434:         }
1434: 
1434:       if (__n >= __nmax)
1434:         std::__throw_runtime_error(("Iteration failed to converge " "in __hyperg_luke.")
1434:                                                            );
1434: 
1434:       return __F;
1434:     }
1434: # 438 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __hyperg_reflect(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1434:     {
1434:       const _Tp __d = __c - __a - __b;
1434:       const int __intd = std::floor(__d + _Tp(0.5L));
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       const _Tp __toler = _Tp(1000) * __eps;
1434:       const _Tp __log_max = std::log(std::numeric_limits<_Tp>::max());
1434:       const bool __d_integer = (std::abs(__d - __intd) < __toler);
1434: 
1434:       if (__d_integer)
1434:         {
1434:           const _Tp __ln_omx = std::log(_Tp(1) - __x);
1434:           const _Tp __ad = std::abs(__d);
1434:           _Tp __F1, __F2;
1434: 
1434:           _Tp __d1, __d2;
1434:           if (__d >= _Tp(0))
1434:             {
1434:               __d1 = __d;
1434:               __d2 = _Tp(0);
1434:             }
1434:           else
1434:             {
1434:               __d1 = _Tp(0);
1434:               __d2 = __d;
1434:             }
1434: 
1434:           const _Tp __lng_c = __log_gamma(__c);
1434: 
1434: 
1434:           if (__ad < __eps)
1434:             {
1434: 
1434:               __F1 = _Tp(0);
1434:             }
1434:           else
1434:             {
1434: 
1434:               bool __ok_d1 = true;
1434:               _Tp __lng_ad, __lng_ad1, __lng_bd1;
1434:               try
1434:                 {
1434:                   __penmode __mode = ios_base::in | ios_base::out)
1115:       { return this->seekpos(__sp, __mode); }
1115: 
1115: 
1115: 
1115: 
1115:       int
1115:       pubsync() { return this->sync(); }
1115: # 288 "/usr/include/c++/12/streambuf" 3
1115:       streamsize
1115:       in_avail()
1115:       {
1115:  const streamsize __ret = this->egptr() - this->gptr();
1115:  return __ret ? __ret : this->showmanyc();
1115:       }
1115: # 302 "/usr/include/c++/12/streambuf" 3
1115:       int_type
1115:       snextc()
1115:       {
1115:  int_type __ret = traits_type::eof();
1115:  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
1115:              __ret), true))
1115:    __ret = this->sgetc();
1115:  return __ret;
1115:       }
1115: # 320 "/usr/include/c++/12/streambuf" 3
1115:       int_type
1115:       sbumpc()
1115:       {
1115:  int_type __ret;
1115:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1115:    {
1115:      __ret = traits_type::to_int_type(*this->gptr());
1115:      this->gbump(1);
1115:    }
1115:  else
1115:    __ret = this->uflow();
1115:  return __ret;
1115:       }
1115: # 342 "/usr/include/c++/12/streambuf" 3
1115:       int_type
1115:       sgetc()
1115:       {
1115:  int_type __ret;
1115:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1115:    __ret = traits_type::to_int_type(*this->gptr());
1115:  else
1115:    __ret = this->underflow();
1115:  return __ret;
1115:       }
1115: # 361 "/usr/include/c++/12/streambuf" 3
1115:       streamsize
1115:       sgetn(char_type* __s, streamsize __n)
1115:       { return this->xsgetn(__s, __n); }
1115: # 376 "/usr/include/c++/12/streambuf" 3
1115:       int_type
1115:       sputbackc(char_type __c)
1115:       {
1115:  int_type __ret;
1115:  const bool __testpos = this->eback() < this->gptr();
1115:  if (__builtin_expect(!__testpos ||
1115:         !traits_type::eq(__c, this->gptr()[-1]), false))
1115:    __ret = this->pbackfail(traits_type::to_int_type(__c));
1115:  else
1115:    {
1115:      this->gbump(-1);
1115:      __ret = traits_type::to_int_type(*this->gptr());
1115:    }
1115:  return __ret;
1115:       }
1115: # 401 "/usr/include/c++/12/streambuf" 3
1115:       int_type
1115:       sungetc()
1115:       {
1115:  int_type __ret;
1115:  if (__builtin_expect(this->eback() < this->gptr(), true))
1115:    {
1115:      this->gbump(-1);
1115:      __ret = traits_type::to_int_type(*this->gptr());
1115:    }
1115:  else
1115:    __ret = this->pbackfail();
1115:  return __ret;
1115:       }
1115: # 428 "/usr/include/c++/12/streambuf" 3
1115:       int_type
1115:       sputc(char_type __c)
1115:       {
1115:  int_type __ret;
1115:  if (__builtin_expect(this->pptr() < this->epptr(), true))
1115:    {
1115:      *this->pptr() = __c;
1115:      this->pbump(1);
1115:      __ret = traits_type::to_int_type(__c);
1115:    }
1115:  else
1115:    __ret = this->overflow(traits_type::to_int_type(__c));
1115:  return __ret;
1115:       }
1115: # 454 "/usr/include/c++/12/streambuf" 3
1115:       streamsize
1115:       sputn(const char_type* __s, streamsize __n)
1115:       { return this->xsputn(__s, __n); }
1115: 
1115:     protected:
1115: # 468 "/usr/include/c++/12/streambuf" 3
1115:       basic_streambuf()
1115:       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
1115:       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
1115:       _M_buf_locale(locale())
1115:       { }
1115: # 486 "/usr/include/c++/12/streambuf" 3
1115:       char_type*
1115:       eback() const { return _M_in_beg; }
1115: 
1115:       char_type*
1115:       gptr() const { return _M_in_cur; }
1115: 
1115:       char_type*
1115:       egptr() const { return _M_in_end; }
1115: # 502 "/usr/include/c++/12/streambuf" 3
1115:       void
1115:       gbump(int __n) { _M_in_cur += __n; }
1115: # 513 "/usr/include/c++/12/streambuf" 3
1115:       void
1115:       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
1115:       {
1115:  _M_in_beg = __gbeg;
1115:  _M_in_cur = __gnext;
1115:  _M_in_end = __gend;
1115:       }
1115: # 533 "/usr/include/c++/12/streambuf" 3
1115:    er);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static int GetSortLabel(SortBy sortBy);
1417: 
1417:   static void Sort(SortBy sortBy, SortOrder sortOrder, SortAttribute attributes, DatabaseResults& items, int limitEnd = -1, int limitStart = 0);
1417:   static void Sort(SortBy sortBy, SortOrder sortOrder, SortAttribute attributes, SortItems& items, int limitEnd = -1, int limitStart = 0);
1417:   static void Sort(const SortDescription &sortDescription, DatabaseResults& items);
1417:   static void Sort(const SortDescription &sortDescription, SortItems& items);
1417:   static bool SortFromDataset(const SortDescription &sortDescription, const MediaType &mediaType, const std::unique_ptr<dbiplus::Dataset> &dataset, DatabaseResults &results);
1417: 
1417:   static void GetFieldsForSQLSort(const MediaType& mediaType, SortBy sortMethod, FieldList& fields);
1417:   static const Fields& GetFieldsForSorting(SortBy sortBy);
1417:   static std::string RemoveArticles(const std::string &label);
1417: 
1417:   typedef std::string (*SortPreparator) (SortAttribute, const SortItem&);
1417:   typedef bool (*Sorter) (const DatabaseResult &, const DatabaseResult &);
1417:   typedef bool (*SorterIndirect) (const SortItemPtr &, const SortItemPtr &);
1417: 
1417: private:
1417:   static const SortPreparator& getPreparator(SortBy sortBy);
1417:   static Sorter getSorter(SortOrder sortOrder, SortAttribute attributes);
1417:   static SorterIndirect getSorterIndirect(SortOrder sortOrder, SortAttribute attributes);
1417: 
1417:   static std::map<SortBy, SortPreparator> m_preparators;
1417:   static std::map<SortBy, Fields> m_sortingFields;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ISortable.h" 2
1417: 
1417: 
1417: 
1417: class ISortable
1417: {
1417: protected:
1417: 
1417:   ~ISortable() = default;
1417: 
1417: public:
1417:   virtual void ToSortable(SortItem& sortable, Field field) const = 0;
1417: };
1417: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/music/tags/MusicInfoTag.h" 2
1417: 
1417: 
1417: 
1417: 
1417: namespace MUSIC_INFO
1417: {
1417: class CMusicInfoTag final : public IArchivable, public ISerializable, public ISortable
1417: {
1417: public:
1417:   CMusicInfoTag(void);
1417:   bool operator !=(const CMusicInfoTag& tag) const;
1417:   bool Loaded() const;
1417:   const std::string& GetTitle() const;
1417:   const std::string& GetURL() const;
1417:   const std::vector<std::string>& GetArtist() const;
1417:   const std::string& GetArtistSort() const;
1417:   const std::string GetArtistString() const;
1417:   const std::string& GetComposerSort() const;
1417:   const std::string& GetAlbum() const;
1417:   int GetAlbumId() const;
1417:   const std::vector<std::string>& GetAlbumArtist() const;
1417:   const std::string GetAlbumArtistString() const;
1417:   const std::string& GetAlbumArtistSort() const;
1417:   const std::vector<std::string>& GetGenre() const;
1417:   int GetTrackNumber() const;
1417:   int GetDiscNumber() const;
1417:   int GetTrackAndDiscNumber() const;
1417:   int GetTotalDiscs() const;
1417:   int GetDuration() const;
1417:   int GetYear() const;
1417:   const std::string& GetReleaseDate() const;
1417:   const std::string GetReleaseYear() const;
1417:   const std::string& GetOriginalDate() const;
1417:   const std::string GetOriginalYear() const;
1417:   int GetDatabaseId() const;
1417:   const std::string &GetType() const;
1417:   const std::string& GetDiscSubtitle() const;
1417:   int GetBPM() const;
1417:   std::string GetYearString() const;
1417:   const std::string& GetMusicBrainzTrackID() const;
1417:   const std::vector<std::string>& GetMusicBrainzArtistID() const;
1417:   const std::vector<std::string>& GetMusicBrainzArtistHints() const;
1417:   const std::string& GetMusicBrainzAlbumID() const;
1417:   const std::string& GetMusicBrainzReleaseGroupID() const;
1417:   const std::vector<std::string>& GetMusicBrainzAlbumArtistID() const;
1417:   const std::vector<std::string>& GetMusicBrainzAlbumArtistHints() const;
1417:   const std::string& GetMusicBrainzReleaseType() const;
1417:   const stdlng_ad = __log_gamma(__ad);
1434:                   __lng_ad1 = __log_gamma(__a + __d1);
1434:                   __lng_bd1 = __log_gamma(__b + __d1);
1434:                 }
1434:               catch(...)
1434:                 {
1434:                   __ok_d1 = false;
1434:                 }
1434: 
1434:               if (__ok_d1)
1434:                 {
1434: 
1434: 
1434: 
1434:                   _Tp __sum1 = _Tp(1);
1434:                   _Tp __term = _Tp(1);
1434:                   _Tp __ln_pre1 = __lng_ad + __lng_c + __d2 * __ln_omx
1434:                                 - __lng_ad1 - __lng_bd1;
1434: 
1434: 
1434: 
1434:                   for (int __i = 1; __i < __ad; ++__i)
1434:                     {
1434:                       const int __j = __i - 1;
1434:                       __term *= (__a + __d2 + __j) * (__b + __d2 + __j)
1434:                               / (_Tp(1) + __d2 + __j) / __i * (_Tp(1) - __x);
1434:                       __sum1 += __term;
1434:                     }
1434: 
1434:                   if (__ln_pre1 > __log_max)
1434:                     std::__throw_runtime_error(("Overflow of gamma functions" " in __hyperg_luke.")
1434:                                                                         );
1434:                   else
1434:                     __F1 = std::exp(__ln_pre1) * __sum1;
1434:                 }
1434:               else
1434:                 {
1434: 
1434: 
1434:                   __F1 = _Tp(0);
1434:                 }
1434:             }
1434: 
1434: 
1434:           bool __ok_d2 = true;
1434:           _Tp __lng_ad2, __lng_bd2;
1434:           try
1434:             {
1434:               __lng_ad2 = __log_gamma(__a + __d2);
1434:               __lng_bd2 = __log_gamma(__b + __d2);
1434:             }
1434:           catch(...)
1434:             {
1434:               __ok_d2 = false;
1434:             }
1434: 
1434:           if (__ok_d2)
1434:             {
1434: 
1434: 
1434:               const int __maxiter = 2000;
1434:               const _Tp __psi_1 = -__numeric_constants<_Tp>::__gamma_e();
1434:               const _Tp __psi_1pd = __psi(_Tp(1) + __ad);
1434:               const _Tp __psi_apd1 = __psi(__a + __d1);
1434:               const _Tp __psi_bpd1 = __psi(__b + __d1);
1434: 
1434:               _Tp __psi_term = __psi_1 + __psi_1pd - __psi_apd1
1434:                              - __psi_bpd1 - __ln_omx;
1434:               _Tp __fact = _Tp(1);
1434:               _Tp __sum2 = __psi_term;
1434:               _Tp __ln_pre2 = __lng_c + __d1 * __ln_omx
1434:                             - __lng_ad2 - __lng_bd2;
1434: 
1434: 
1434:               int __j;
1434:               for (__j = 1; __j < __maxiter; ++__j)
1434:                 {
1434: 
1434: 
1434:                   const _Tp __term1 = _Tp(1) / _Tp(__j)
1434:                                     + _Tp(1) / (__ad + __j);
1434:                   const _Tp __term2 = _Tp(1) / (__a + __d1 + _Tp(__j - 1))
1434:                                     + _Tp(1) / (__b + __d1 + _Tp(__j - 1));
1434:                   __psi_term += __term1 - __term2;
1434:                   __fact *= (__a + __d1 + _Tp(__j - 1))
1434:                           * (__b + __d1 + _Tp(__j - 1))
1434:                           / ((__ad + __j) * __j) * (_Tp(1) - __x);
1434:                   const _Tp __delta = __fact * __psi_term;
1434:                   __sum2 += __delta;
1434:                   if (std::abs(__delta) < __eps * std::abs(__sum2))
1434:                     break;
1434:                 }
1434:               if (__j == __maxiter)
1434:                 std::__throw_runtime_error(("Sum F2 failed to converge " "in __hyperg_reflect")
1434:                                                                      );
1434: 
1434:               if (__sum2 == _Tp(0))
1434:                 __F2 = _Tp(0);
1434:               else
1434:                 __F2 = std::exp(__ln_pre2) * __sum2;
1434:             }
1434:           else
1434:             {
1434: 
1434: 
1434:               __F2 = _Tp(0);
1434:             }
1434: 
1434:           const _Tp __sgn_2 = (__intd % 2 == 1 ? -_Tp(1) : _Tp(1));
1434:           const _Tp __F = __F1 + __sgn_2 * __F2;
1434: 
1434:           return __F;
1434:         }
1434:       else
1434:         {
1434: 
1434: 
1434: 
1434: 
1434:           bool __ok1 = true;
1434:           _Tp __sgn_g1ca = _Tp(0), __ln_g1ca = _Tp(0);
1434:           _Tp __sgn_g1cb = _Tp(0), __ln_g1cb = _Tp(0);
1434:           try
1434:             {
1434:               __sgn_g1ca = __log_gamma_sign(__c - __a);
1434:               __ln_g1ca = __log_gamma(__c - __a);
1434:               __sgn_g1cb = __log_gamma_sign(__c - __b);
1434:               __ln_g1cb = __log_gamma(__c - __b);
1434:             }
1434:           catch(...)
1434:             {
1434:               __ok1 = false;
1434:             }
1434: 
1434:           bool __ok2 = true;
1434:           _Tp __sgn_g2a = _Tp(0), __ln_g2a = _Tp(0);
1434:           _Tp __sgn_g2b = _Tp(0), __ln_g2b = _Tp(0);
1434:           try
1434:             {
1434:               __sgn_g2a = __log_gamma_sign(__a);
1434:               __ln_g2a = __log_gamma(__a);
1434:               __sgn_g2b = __log_gamma_sign(__b);
1434:               __ln_g2b = __log_gamma(__b);
1434:             }
1434:           catch(...)
1434:             {
1434:               __ok2 = false;
1434:             }
1434: 
1434:           const _Tp __sgn_gc = __log_gamma_sign(__c);
1434:           const _Tp __ln_gc = __log_gamma(__c);
1434:           const _Tp __sgn_gd = __log_gamma_sign(__d);
1434:           const _Tp __ln_gd = __log_gamma(__d);
1434:           const _Tp __sgn_gmd = __log_gamma_sign(-__d);
1434:           const _Tp __ln_gmd = __log_gamma(-__d);
1434: 
1434:           const _Tp __sgn1 = __sgn_gc * __sgn_gd * __sgn_g1ca * __sgn_g1cb;
1434:           const _Tp __sgn2 = __sgn_gc * __sgn_gmd * __sgn_g2a * __sgn_g2b;
1434: 
1434:           _Tp __pre1, __pre2;
1434:           if (__ok1 && __ok2)
1434:             {
1434:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1434:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1434:                             + __d * std::log(_Tp(1) - __x);
1434:               if (__ln_pre1 < __log_max && __ln_pre2 < __log_max)
1434:                 {
1434:                   __pre1 = std::exp(__ln_pre1);
1434:                   __pre2 = std::exp(__ln_pre2);
1434:                   __pre1 *= __sgn1;
1434:                   __pre2 *= __sgn2;
1434:                 }
1434:               else
1434:                 {
1434:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1434:                                                                        );
1434:                 }
1434:             }
1434:           else if (__ok1 && !__ok2)
1434:             {
1434:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1434:               if (__ln_pre1 < __log_max)
1434:                 {
1434:                   __pre1 = std::exp(__ln_pre1);
1434:                   __pre1 *= __sgn1;
1434:                   __pre2 = _Tp(0);
1434:                 }
1434:               else
1434:                 {
1434:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1434:                                                                        );
1434:                 }
1434:             }
1434:           else if (!__ok1 && __ok2)
1434:             {
1434:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1434:                             + __d * std::log(_Tp(1) - __x);
1434:               if (__ln_pre2 < __log_max)
1434:                 {
1434:                   __pre1 = _Tp(0);
1434:                   __pre2 = std::exp(__ln_pre2);
1434:                   __pre2 *= __sgn2;
1434:                 }
1434:               else
1434:                 {
1434:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1434:                                                                        );
1434:                 }
1434:            char_type*
1115:       pbase() const { return _M_out_beg; }
1115: 
1115:       char_type*
1115:       pptr() const { return _M_out_cur; }
1115: 
1115:       char_type*
1115:       epptr() const { return _M_out_end; }
1115: # 549 "/usr/include/c++/12/streambuf" 3
1115:       void
1115:       pbump(int __n) { _M_out_cur += __n; }
1115: # 559 "/usr/include/c++/12/streambuf" 3
1115:       void
1115:       setp(char_type* __pbeg, char_type* __pend)
1115:       {
1115:  _M_out_beg = _M_out_cur = __pbeg;
1115:  _M_out_end = __pend;
1115:       }
1115: # 580 "/usr/include/c++/12/streambuf" 3
1115:       virtual void
1115:       imbue(const locale& __loc __attribute__ ((__unused__)))
1115:       { }
1115: # 595 "/usr/include/c++/12/streambuf" 3
1115:       virtual basic_streambuf<char_type,_Traits>*
1115:       setbuf(char_type*, streamsize)
1115:       { return this; }
1115: # 606 "/usr/include/c++/12/streambuf" 3
1115:       virtual pos_type
1115:       seekoff(off_type, ios_base::seekdir,
1115:        ios_base::openmode = ios_base::in | ios_base::out)
1115:       { return pos_type(off_type(-1)); }
1115: # 618 "/usr/include/c++/12/streambuf" 3
1115:       virtual pos_type
1115:       seekpos(pos_type,
1115:        ios_base::openmode = ios_base::in | ios_base::out)
1115:       { return pos_type(off_type(-1)); }
1115: # 631 "/usr/include/c++/12/streambuf" 3
1115:       virtual int
1115:       sync() { return 0; }
1115: # 653 "/usr/include/c++/12/streambuf" 3
1115:       virtual streamsize
1115:       showmanyc() { return 0; }
1115: # 669 "/usr/include/c++/12/streambuf" 3
1115:       virtual streamsize
1115:       xsgetn(char_type* __s, streamsize __n);
1115: # 691 "/usr/include/c++/12/streambuf" 3
1115:       virtual int_type
1115:       underflow()
1115:       { return traits_type::eof(); }
1115: # 704 "/usr/include/c++/12/streambuf" 3
1115:       virtual int_type
1115:       uflow()
1115:       {
1115:  int_type __ret = traits_type::eof();
1115:  const bool __testeof = traits_type::eq_int_type(this->underflow(),
1115:        __ret);
1115:  if (!__testeof)
1115:    {
1115:      __ret = traits_type::to_int_type(*this->gptr());
1115:      this->gbump(1);
1115:    }
1115:  return __ret;
1115:       }
1115: # 728 "/usr/include/c++/12/streambuf" 3
1115:       virtual int_type
1115:       pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
1115:       { return traits_type::eof(); }
1115: # 746 "/usr/include/c++/12/streambuf" 3
1115:       virtual streamsize
1115:       xsputn(const char_type* __s, streamsize __n);
1115: # 772 "/usr/include/c++/12/streambuf" 3
1115:       virtual int_type
1115:       overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
1115:       { return traits_type::eof(); }
1115: # 799 "/usr/include/c++/12/streambuf" 3
1115:       void
1115:       __safe_gbump(streamsize __n) { _M_in_cur += __n; }
1115: 
1115:       void
1115:       __safe_pbump(streamsize __n) { _M_out_cur += __n; }
1115: 
1115: 
1115: 
1115: 
1115:     protected:
1115: 
1115:       basic_streambuf(const basic_streambuf&);
1115: 
1115:       basic_streambuf&
1115:       operator=(const basic_streambuf&);
1115: 
1115: 
1115:       void
1115:       swap(basic_streambuf& __sb)
1115:       {
1115:  std::swap(_M_in_beg, __sb._M_in_beg);
1115:  std::swap(_M_in_cur, __sb._M_in_cur);
1115:  std::swap(_M_in_end, __sb._M_in_end);
1115:  std::swap(_M_out_beg, __sb._M_out_beg);
1115:  std::swap(_M_out_cur, __sb._M_out_cur);
1115:  std::swap(_M_out_end, __sb._M_out_end);
1115:  std::swap(_M_buf_locale, __sb._M_buf_locale);
1115:       }
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     std::basic_streambuf<_CharT, _Traits>::
1115:     basic_streambuf(const basic_streambuf&) = default;
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     std::basic_streambuf<_CharT, _Traits>&
1115:     std::basic_streambuf<_CharT, _Traits>::
1115:     operator=(const basic_streambuf&) = default;
1115: 
1115: 
1115: 
1115:   template<>
1115:     streamsize
1115:     __copy_::string& GetComment() const;
1417:   const std::string& GetMood() const;
1417:   const std::string& GetRecordLabel() const;
1417:   const std::string& GetLyrics() const;
1417:   const std::string& GetCueSheet() const;
1417:   const CDateTime& GetLastPlayed() const;
1417:   const CDateTime& GetDateAdded() const;
1417:   bool GetCompilation() const;
1417:   bool GetBoxset() const;
1417:   float GetRating() const;
1417:   int GetUserrating() const;
1417:   int GetVotes() const;
1417:   int GetListeners() const;
1417:   int GetPlayCount() const;
1417:   int GetBitRate() const;
1417:   int GetNoOfChannels() const;
1417:   int GetSampleRate() const;
1417:   const std::string& GetAlbumReleaseStatus() const;
1417:   const std::string& GetStationName() const;
1417:   const std::string& GetStationArt() const;
1417:   const EmbeddedArtInfo &GetCoverArtInfo() const;
1417:   const ReplayGain& GetReplayGain() const;
1417:   CAlbum::ReleaseType GetAlbumReleaseType() const;
1417: 
1417:   void SetURL(const std::string& strURL);
1417:   void SetTitle(const std::string& strTitle);
1417:   void SetArtist(const std::string& strArtist);
1417:   void SetArtist(const std::vector<std::string>& artists, bool FillDesc = false);
1417:   void SetArtistDesc(const std::string& strArtistDesc);
1417:   void SetArtistSort(const std::string& strArtistsort);
1417:   void SetComposerSort(const std::string& strComposerSort);
1417:   void SetAlbum(const std::string& strAlbum);
1417:   void SetAlbumId(const int iAlbumId);
1417:   void SetAlbumArtist(const std::string& strAlbumArtist);
1417:   void SetAlbumArtist(const std::vector<std::string>& albumArtists, bool FillDesc = false);
1417:   void SetAlbumArtistDesc(const std::string& strAlbumArtistDesc);
1417:   void SetAlbumArtistSort(const std::string& strAlbumArtistSort);
1417:   void SetGenre(const std::string& strGenre, bool bTrim = false);
1417:   void SetGenre(const std::vector<std::string>& genres, bool bTrim = false);
1417:   void SetYear(int year);
1417:   void SetOriginalDate(const std::string& strOriginalDate);
1417:   void SetReleaseDate(const std::string& strReleaseDate);
1417:   void SetDatabaseId(int id, const std::string &type);
1417:   void SetTrackNumber(int iTrack);
1417:   void SetDiscNumber(int iDiscNumber);
1417:   void SetTrackAndDiscNumber(int iTrackAndDisc);
1417:   void SetDuration(int iSec);
1417:   void SetLoaded(bool bOnOff = true);
1417:   void SetArtist(const CArtist& artist);
1417:   void SetAlbum(const CAlbum& album);
1417:   void SetSong(const CSong& song);
1417:   void SetMusicBrainzTrackID(const std::string& strTrackID);
1417:   void SetMusicBrainzArtistID(const std::vector<std::string>& musicBrainzArtistId);
1417:   void SetMusicBrainzArtistHints(const std::vector<std::string>& musicBrainzArtistHints);
1417:   void SetMusicBrainzAlbumID(const std::string& strAlbumID);
1417:   void SetMusicBrainzAlbumArtistID(const std::vector<std::string>& musicBrainzAlbumArtistId);
1417:   void SetMusicBrainzAlbumArtistHints(const std::vector<std::string>& musicBrainzAlbumArtistHints);
1417:   void SetMusicBrainzReleaseGroupID(const std::string& strReleaseGroupID);
1417:   void SetMusicBrainzReleaseType(const std::string& ReleaseType);
1417:   void SetComment(const std::string& comment);
1417:   void SetMood(const std::string& mood);
1417:   void SetRecordLabel(const std::string& publisher);
1417:   void SetLyrics(const std::string& lyrics);
1417:   void SetCueSheet(const std::string& cueSheet);
1417:   void SetRating(float rating);
1417:   void SetUserrating(int rating);
1417:   void SetVotes(int votes);
1417:   void SetListeners(int listeners);
1417:   void SetPlayCount(int playcount);
1417:   void SetLastPlayed(const std::string& strLastPlayed);
1417:   void SetLastPlayed(const CDateTime& strLastPlayed);
1417:   void SetDateAdded(const std::string& strDateAdded);
1417:   void SetDateAdded(const CDateTime& dateAdded);
1417:   void SetDateUpdated(const std::string& strDateUpdated);
1417:   void SetDateUpdated(const CDateTime& dateUpdated);
1417:   void SetDateNew(const std::string& strDat    }
1434:           else
1434:             {
1434:               __pre1 = _Tp(0);
1434:               __pre2 = _Tp(0);
1434:               std::__throw_runtime_error(("Underflow of gamma functions " "in __hyperg_reflect")
1434:                                                                    );
1434:             }
1434: 
1434:           const _Tp __F1 = __hyperg_series(__a, __b, _Tp(1) - __d,
1434:                                            _Tp(1) - __x);
1434:           const _Tp __F2 = __hyperg_series(__c - __a, __c - __b, _Tp(1) + __d,
1434:                                            _Tp(1) - __x);
1434: 
1434:           const _Tp __F = __pre1 * __F1 + __pre2 * __F2;
1434: 
1434:           return __F;
1434:         }
1434:     }
1434: # 728 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1434:     {
1434: 
1434:       const _Tp __a_nint = ::std::nearbyint(__a);
1434:       const _Tp __b_nint = ::std::nearbyint(__b);
1434:       const _Tp __c_nint = ::std::nearbyint(__c);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const _Tp __toler = _Tp(1000) * std::numeric_limits<_Tp>::epsilon();
1434:       if (std::abs(__x) >= _Tp(1))
1434:         std::__throw_domain_error(("Argument outside unit circle " "in __hyperg.")
1434:                                                      );
1434:       else if (__isnan(__a) || __isnan(__b)
1434:             || __isnan(__c) || __isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__c_nint == __c && __c_nint <= _Tp(0))
1434:         return std::numeric_limits<_Tp>::infinity();
1434:       else if (std::abs(__c - __b) < __toler || std::abs(__c - __a) < __toler)
1434:         return std::pow(_Tp(1) - __x, __c - __a - __b);
1434:       else if (__a >= _Tp(0) && __b >= _Tp(0) && __c >= _Tp(0)
1434:             && __x >= _Tp(0) && __x < _Tp(0.995L))
1434:         return __hyperg_series(__a, __b, __c, __x);
1434:       else if (std::abs(__a) < _Tp(10) && std::abs(__b) < _Tp(10))
1434:         {
1434: 
1434: 
1434:           if (__a < _Tp(0) && std::abs(__a - __a_nint) < __toler)
1434:             return __hyperg_series(__a_nint, __b, __c, __x);
1434:           else if (__b < _Tp(0) && std::abs(__b - __b_nint) < __toler)
1434:             return __hyperg_series(__a, __b_nint, __c, __x);
1434:           else if (__x < -_Tp(0.25L))
1434:             return __hyperg_luke(__a, __b, __c, __x);
1434:           else if (__x < _Tp(0.5L))
1434:             return __hyperg_series(__a, __b, __c, __x);
1434:           else
1434:             if (std::abs(__c) > _Tp(10))
1434:               return __hyperg_series(__a, __b, __c, __x);
1434:             else
1434:               return __hyperg_reflect(__a, __b, __c, __x);
1434:         }
1434:       else
1434:         return __hyperg_luke(__a, __b, __c, __x);
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 55 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/legendre_function.tcc" 1 3
1434: # 49 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 65 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 80 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __poly_legendre_p(unsigned int __l, _Tp __x)
1434:     {
1434: 
1434:       if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__x == +_Tp(1))
1434:         return +_Tp(1);
1434:       else if (__x == -_Tp(1))
1434:         return (__l % 2 == 1 ? -_Tp(1) : +_Tp(1));
1434:       else
1434:         {
1434:           _Tp __p_lm2 = _Tp(1);
1434:           if (__l == 0)
1434:             return __p_lm2;
1434: 
1434:           _Tp __p_lm1 = __x;
1434:           if (__l == 1)
1434:             return __p_lm1;
1434: 
1434:           _Tp __p_l = 0;
1434:           for (unsigned int __ll = 2; __ll <= __l; ++__ll)
1434:             {
1434: 
1434: 
1434:               __p_l = _Tp(2) * __x * __p_lm1 - __p_lm2
1434:                     - (__x * __p_lm1 - __p_lm2) / _Tp(__ll);
1434:               __p_lm2 = __p_lm1;
1434:               __p_lm1 = __p_l;
1434:             }
1434: 
1434:           return __p_l;
1434:         }
1434:     }
1434: # 136 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __assoc_legendre_p(unsigned int __l, unsigned int __m, _Tp __x,
1434:          _Tp __phase = _Tp(+1))
1434:     {
1434: 
1434:       if (__m > __l)
1434:         return _Tp(0);
1434:       else if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__m == 0)
1434:         return __poly_legendre_p(__l, __x);
1434:       else
1434:         {
1434:           _Tp __p_mm = _Tp(1);
1434:           if (__m > 0)
1434:             {
1434: 
1434: 
1434:               _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x);
1434:               _Tp __fact = _Tp(1);
1434:               for (unsigned int __i = 1; __i <= __m; ++__i)
1434:                 {
1434:                   __p_mm *= __phase * __fact * __root;
1434:                   __fact += _Tp(2);
1434:                 }
1434:             }
1434:           if (__l == __m)
1434:             return __p_mm;
1434: 
1434:           _Tp __p_mp1m = _Tp(2 * __m + 1) * __x * __p_mm;
1434:           if (__l == __m + 1)
1434:             return __p_mp1m;
1434: 
1434:           _Tp __p_lm2m = __p_mm;
1434:           _Tp __P_lm1m = __p_mp1m;
1434:           _Tp __p_lm = _Tp(0);
1434:           for (unsigned int __j = __m + 2; __j <= __l; ++__j)
1434:             {
1434:               __p_lm = (_Tp(2 * __j - 1) * __x * __P_lm1m
1434:                       - _Tp(__j + __m - 1) * __p_lm2m) / _Tp(__j - __m);
1434:               __p_lm2m = __P_lm1m;
1434:               __P_lm1m = __p_lm;
1434:             }
1434: 
1434:           return __p_lm;
1434:         }
1434:     }
1434: # 214 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1434:     template <typename _Tp>
1434:     _Tp
1434:     __sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1434:     {
1434:       if (__isnan(__theta))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434: 
1434:       const _Tp __x = std::cos(__theta);
1434: 
1434:       if (__m > __l)
1434:         return _Tp(0);
1434:       else if (__m == 0)
1434:         {
1434:           _Tp __P = __poly_legendre_p(__l, __x);
1434:           _Tp __fact = std::sqrt(_Tp(2 * __l + 1)
1434:                      / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1434:           __P *= __fact;
1434:           return __P;
1434:         }
1434:       else if (__x == _Tp(1) || __x == -_Tp(1))
1434:         {
1434: 
1434:           return _Tp(0);
1434:         }
1434:       else
1434:         {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:           const _Tp __sgn = ( __m % 2 == 1 ? -_Tp(1) : _Tp(1));
1434:           const _Tp __y_mp1m_factor = __x * std::sqrt(_Tp(2 * __m + 3));
1434: 
1434:           const _Tp __lncirc = ::std::log1p(-__x * __x);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:           const _Tp __lnpoch = ::std::lgamma(_Tp(__m + _Tp(0.5L)))
1434:                              - ::std::lgamma(_Tp(__m));
1434: 
1434: 
1434: 
1434: 
1434:           const _Tp __lnpre_val =
1434:                     -_Tp(0.25L) * __numeric_constants<_Tp>::__lnpi()
1434:                     + _Tp(0.5L) * (__lnpoch + __m * __lncirc);
1434:           const _Tp __sr = std::sqrt((_Tp(2) + _Tp(1) / __m)
1434:                          / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1434:           _Tp __y_mm = __sgn * __sr * std::exp(__lnpre_val);
1434:           _Tp __y_mp1m = __y_mp1m_factor * __y_mm;
1434: 
1434:           if (__l == __m)
1434:             return __y_mm;
1434:           else if (__l == __m + 1)
1434:             return __y_mp1m;
1434:           else
1434:             {
1434:               _Tp __y_lm = _Tp(0);
1434: 
1434: 
1434:               for (unsigned streambufs_eof(basic_streambuf<char>* __sbin,
1115:      basic_streambuf<char>* __sbout, bool& __ineof);
1115: 
1115:   template<>
1115:     streamsize
1115:     __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
1115:      basic_streambuf<wchar_t>* __sbout, bool& __ineof);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: 
1115: # 1 "/usr/include/c++/12/bits/streambuf.tcc" 1 3
1115: # 37 "/usr/include/c++/12/bits/streambuf.tcc" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/streambuf.tcc" 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     streamsize
1115:     basic_streambuf<_CharT, _Traits>::
1115:     xsgetn(char_type* __s, streamsize __n)
1115:     {
1115:       streamsize __ret = 0;
1115:       while (__ret < __n)
1115:  {
1115:    const streamsize __buf_len = this->egptr() - this->gptr();
1115:    if (__buf_len)
1115:      {
1115:        const streamsize __remaining = __n - __ret;
1115:        const streamsize __len = std::min(__buf_len, __remaining);
1115:        traits_type::copy(__s, this->gptr(), __len);
1115:        __ret += __len;
1115:        __s += __len;
1115:        this->__safe_gbump(__len);
1115:      }
1115: 
1115:    if (__ret < __n)
1115:      {
1115:        const int_type __c = this->uflow();
1115:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1115:   {
1115:     traits_type::assign(*__s++, traits_type::to_char_type(__c));
1115:     ++__ret;
1115:   }
1115:        else
1115:   break;
1115:      }
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     streamsize
1115:     basic_streambuf<_CharT, _Traits>::
1115:     xsputn(const char_type* __s, streamsize __n)
1115:     {
1115:       streamsize __ret = 0;
1115:       while (__ret < __n)
1115:  {
1115:    const streamsize __buf_len = this->epptr() - this->pptr();
1115:    if (__buf_len)
1115:      {
1115:        const streamsize __remaining = __n - __ret;
1115:        const streamsize __len = std::min(__buf_len, __remaining);
1115:        traits_type::copy(this->pptr(), __s, __len);
1115:        __ret += __len;
1115:        __s += __len;
1115:        this->__safe_pbump(__len);
1115:      }
1115: 
1115:    if (__ret < __n)
1115:      {
1115:        int_type __c = this->overflow(traits_type::to_int_type(*__s));
1115:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1115:   {
1115:     ++__ret;
1115:     ++__s;
1115:   }
1115:        else
1115:   break;
1115:      }
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     streamsize
1115:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
1115:      basic_streambuf<_CharT, _Traits>* __sbout,
1115:      bool& __ineof)
1115:     {
1115:       streamsize __ret = 0;
1115:       __ineof = true;
1115:       typename _Traits::int_type __c = __sbin->sgetc();
1115:       while (!_Traits::eq_int_type(__c, _Traits::eof()))
1115:  {
1115:    __c = __sbout->sputc(_Traits::to_char_type(__c));
1115:    if (_Traits::eq_int_type(__c, _Traits::eof()))
1115:      {
1115:        __ineof = false;
1115:        break;
1115:      }
1115:    ++__ret;
1115:    __c = __sbin->snextc();
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     inline streamsize
1115:     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
1115:         basic_streambuf<_CharT, _Traits>* __sbout)
1115:     {
1115:       bool __ineof;
1115:       return __copy_streambufs_eof(__sbin, __sbout, __ineof);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template class basic_streambuf<char>;
1115: 
1115:   extern template
1115:     streamsize
1115:     __copy_streambufs(basic_streambuf<char>*,
1115:         basic_streambuf<char>*);
1115: 
1115: 
1115:   extern template class basic_streambuf<wchar_t>;
1115: 
1115:   extern template
1115:     streamsize
1115:     __copy_streambufs(basic_seNew);
1417:   void SetDateNew(const CDateTime& dateNew);
1417:   void SetCompilation(bool compilation);
1417:   void SetBoxset(bool boxset);
1417:   void SetCoverArtInfo(size_t size, const std::string &mimeType);
1417:   void SetReplayGain(const ReplayGain& aGain);
1417:   void SetAlbumReleaseType(CAlbum::ReleaseType releaseType);
1417:   void SetType(const MediaType& mediaType);
1417:   void SetDiscSubtitle(const std::string& strDiscSubtitle);
1417:   void SetTotalDiscs(int iDiscTotal);
1417:   void SetBPM(int iBPM);
1417:   void SetBitRate(int bitrate);
1417:   void SetNoOfChannels(int channels);
1417:   void SetSampleRate(int samplerate);
1417:   void SetAlbumReleaseStatus(const std::string& strReleaseStatus);
1417:   void SetStationName(const std::string& strStationName);
1417:   void SetStationArt(const std::string& strStationArt);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void AppendArtist(const std::string &artist);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void AppendAlbumArtist(const std::string &albumArtist);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void AppendGenre(const std::string &genre);
1417:   void AddOriginalDate(const std::string& strDateYear);
1417:   void AddReleaseDate(const std::string& strDateYear, bool isMonth = false);
1417: 
1417:   void AddArtistRole(const std::string& Role, const std::string& strArtist);
1417:   void AddArtistRole(const std::string& Role, const std::vector<std::string>& artists);
1417:   void AppendArtistRole(const CMusicRole& ArtistRole);
1417:   const std::string GetArtistStringForRole(const std::string& strRole) const;
1417:   const std::string GetContributorsText() const;
1417:   const std::string GetContributorsAndRolesText() const;
1417:   const VECMUSICROLES &GetContributors() const;
1417:   void SetContributors(const VECMUSICROLES& contributors);
1417:   bool HasContributors() const { return !m_musicRoles.empty(); }
1417: 
1417:   void Archive(CArchive& ar) override;
1417:   void Serialize(CVariant& ar) const override;
1417:   void ToSortable(SortItem& sortable, Field field) const override;
1417: 
1417:   void Clear();
1417: 
1417: protected:
1417: 
1417: 
1417: 
1417: 
1417:   std::string Trim(const std::string &value) const;
1417: 
1417:   std::string m_strURL;
1417:   std::string m_strTitle;
1417:   std::vector<std::string> m_artist;
1417:   std::string m_strArtistSort;
1417:   std::string m_strArtistDesc;
1417:   std::string m_strComposerSort;
1417:   std::string m_strAlbum;
1417:   std::vector<std::string> m_albumArtist;
1417:   std::string m_strAlbumArtistDesc;
1417:   std::string m_strAlbumArtistSort;
1417:   std::vector<std::string> m_genre;
1417:   std::string m_strMusicBrainzTrackID;
1417:   std::vector<std::string> m_musicBrainzArtistID;
1417:   std::vector<std::string> m_musicBrainzArtistHints;
1417:   std::string m_strMusicBrainzAlbumID;
1417:   std::vector<std::string> m_musicBrainzAlbumArtistID;
1417:   std::vector<std::string> m_musicBrainzAlbumArtistHints;
1417:   std::string m_strMusicBrainzReleaseGroupID;
1417:   std::string m_strMusicBrainzReleaseType;
1417:   VECMUSICROLES m_musicRoles;
1417:   std::string m_strComment;
1417:   std::string m_strMood;
1417:   std::string m_strRecordLabel;
1417:   std::string m_strLyrics;
1417:   std::string m_cuesheet;
1417:   std::string m_strDiscSubtitle;
1417:   std::string m_strReleaseDate;
1417:   std::string m_strOriginalDate;
1417:   CDateTime m_lastPlayed;
1417:   CDateTime m_dateNew;
1417:   CDateTime m_dateAdded;
1417:   CDateTime m_dateUpdated;
1417:   bool m_bCompilation;
1417:   int m_iDuration;
1417:   int m_iTrack;
1417:   int m_iDbId;
1417:   MediaType m_type;
1417:   bool m_bLoaded;
1417:   float m_Rating;
1417:   int m_Userrating;
1417:   int m_Votes;
1417:   int m_listeners;
1417:   int m_iTimesPlayed;
1417:   int m_iAlbumId;
1417:   int m_iDiscTotal;
1417:   bool m_bBoxset;
1417:   int m_iBPM;
1417:   CAlbum::ReleaseType m_albumReleaseType;
1417:   std::string m_strReleaseStatus;
1417:   int m_samplerate;
1417:   int m_channels;
1417:   int m_bitrate;
1417:   std::string m_stationName;
1417int __ll = __m + 2; __ll <= __l; ++__ll)
1434:                 {
1434:                   const _Tp __rat1 = _Tp(__ll - __m) / _Tp(__ll + __m);
1434:                   const _Tp __rat2 = _Tp(__ll - __m - 1) / _Tp(__ll + __m - 1);
1434:                   const _Tp __fact1 = std::sqrt(__rat1 * _Tp(2 * __ll + 1)
1434:                                                        * _Tp(2 * __ll - 1));
1434:                   const _Tp __fact2 = std::sqrt(__rat1 * __rat2 * _Tp(2 * __ll + 1)
1434:                                                                 / _Tp(2 * __ll - 3));
1434:                   __y_lm = (__x * __y_mp1m * __fact1
1434:                          - (__ll + __m - 1) * __y_mm * __fact2) / _Tp(__ll - __m);
1434:                   __y_mm = __y_mp1m;
1434:                   __y_mp1m = __y_lm;
1434:                 }
1434: 
1434:               return __y_lm;
1434:             }
1434:         }
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 56 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 1 3
1434: # 51 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 65 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 83 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1434:     template <typename _Tp>
1434:     void
1434:     __bessel_ik(_Tp __nu, _Tp __x,
1434:                 _Tp & __Inu, _Tp & __Knu, _Tp & __Ipnu, _Tp & __Kpnu)
1434:     {
1434:       if (__x == _Tp(0))
1434:         {
1434:           if (__nu == _Tp(0))
1434:             {
1434:               __Inu = _Tp(1);
1434:               __Ipnu = _Tp(0);
1434:             }
1434:           else if (__nu == _Tp(1))
1434:             {
1434:               __Inu = _Tp(0);
1434:               __Ipnu = _Tp(0.5L);
1434:             }
1434:           else
1434:             {
1434:               __Inu = _Tp(0);
1434:               __Ipnu = _Tp(0);
1434:             }
1434:           __Knu = std::numeric_limits<_Tp>::infinity();
1434:           __Kpnu = -std::numeric_limits<_Tp>::infinity();
1434:           return;
1434:         }
1434: 
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434:       const _Tp __fp_min = _Tp(10) * std::numeric_limits<_Tp>::epsilon();
1434:       const int __max_iter = 15000;
1434:       const _Tp __x_min = _Tp(2);
1434: 
1434:       const int __nl = static_cast<int>(__nu + _Tp(0.5L));
1434: 
1434:       const _Tp __mu = __nu - __nl;
1434:       const _Tp __mu2 = __mu * __mu;
1434:       const _Tp __xi = _Tp(1) / __x;
1434:       const _Tp __xi2 = _Tp(2) * __xi;
1434:       _Tp __h = __nu * __xi;
1434:       if ( __h < __fp_min )
1434:         __h = __fp_min;
1434:       _Tp __b = __xi2 * __nu;
1434:       _Tp __d = _Tp(0);
1434:       _Tp __c = __h;
1434:       int __i;
1434:       for ( __i = 1; __i <= __max_iter; ++__i )
1434:         {
1434:           __b += __xi2;
1434:           __d = _Tp(1) / (__b + __d);
1434:           __c = __b + _Tp(1) / __c;
1434:           const _Tp __del = __c * __d;
1434:           __h *= __del;
1434:           if (std::abs(__del - _Tp(1)) < __eps)
1434:             break;
1434:         }
1434:       if (__i > __max_iter)
1434:         std::__throw_runtime_error(("Argument x too large " "in __bessel_ik; " "try asymptotic expansion.")
1434: 
1434:                                                                    );
1434:       _Tp __Inul = __fp_min;
1434:       _Tp __Ipnul = __h * __Inul;
1434:       _Tp __Inul1 = __Inul;
1434:       _Tp __Ipnu1 = __Ipnul;
1434:       _Tp __fact = __nu * __xi;
1434:       for (int __l = __nl; __l >= 1; --__l)
1434:         {
1434:           const _Tp __Inutemp = __fact * __Inul + __Ipnul;
1434:           __fact -= __xi;
1434:           __Ipnul = __fact * __Inutemp + __Inul;
1434:           __Inul = __Inutemp;
1434:         }
1434:       _Tp __f = __Ipnul / __Inul;
1434:       _Tp __Kmu, __Knu1;
1434:       if (__x < __x_min)
1434:         treambuf<wchar_t>*,
1115:         basic_streambuf<wchar_t>*);
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 859 "/usr/include/c++/12/streambuf" 2 3
1115: # 45 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/streambuf_iterator.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     class istreambuf_iterator
1115:     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
1115:         _CharT*, _CharT>
1115:     {
1115:     public:
1115: # 69 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115:       typedef typename _Traits::int_type int_type;
1115:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1115:       typedef basic_istream<_CharT, _Traits> istream_type;
1115: 
1115: 
1115:       template<typename _CharT2>
1115:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:         ostreambuf_iterator<_CharT2> >::__type
1115:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1115:       ostreambuf_iterator<_CharT2>);
1115: 
1115:       template<bool _IsMove, typename _CharT2>
1115:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:             _CharT2*>::__type
1115:  __copy_move_a2(istreambuf_iterator<_CharT2>,
1115:          istreambuf_iterator<_CharT2>, _CharT2*);
1115: 
1115:       template<typename _CharT2, typename _Size>
1115:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:             _CharT2*>::__type
1115:  __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool);
1115: 
1115:       template<typename _CharT2>
1115:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:         istreambuf_iterator<_CharT2> >::__type
1115:  find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1115:       const _CharT2&);
1115: 
1115:       template<typename _CharT2, typename _Distance>
1115:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:             void>::__type
1115:  advance(istreambuf_iterator<_CharT2>&, _Distance);
1115: 
1115:     private:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       mutable streambuf_type* _M_sbuf;
1115:       int_type _M_c;
1115: 
1115:     public:
1115: 
1115:       constexpr istreambuf_iterator() noexcept
1115:       : _M_sbuf(0), _M_c(traits_type::eof()) { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
1115: 
1115:       ~istreambuf_iterator() = default;
1115: 
1115: 
1115: 
1115:       istreambuf_iterator(istream_type& __s) noexcept
1115:       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
1115: 
1115: 
1115:       istreambuf_iterator(streambuf_type* __s) noexcept
1115:       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
1115: 
1115: 
1115:       istreambuf_iterator&
1115:       operator=(const istreambuf_iterator&) noexcept = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       char_type
1115:       operator*() const
1115:       {
1115:  int_type __c = _M_get();
1115: # 160 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1115:  return traits_type::to_char_type(__c);
1115:       }
1115: 
1115: 
1115:       istreambuf_iterator&
1115:       operator++()
1115:       {
1115: 
1115: 
1115: 
1115:                         ;
1115: 
1115:  _M_sbuf->sbumpc();
1115:  _M_c = traits_type::eof();
1115:  return *this;
1115:       }
1115: 
1115: 
1115:       istreambuf_iterator
1115:       operator++(int)
1115:       {
1115: 
1115: 
1115: 
1115:        {
1434:           const _Tp __x2 = __x / _Tp(2);
1434:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1434:           const _Tp __fact = (std::abs(__pimu) < __eps
1434:                             ? _Tp(1) : __pimu / std::sin(__pimu));
1434:           _Tp __d = -std::log(__x2);
1434:           _Tp __e = __mu * __d;
1434:           const _Tp __fact2 = (std::abs(__e) < __eps
1434:                             ? _Tp(1) : std::sinh(__e) / __e);
1434:           _Tp __gam1, __gam2, __gampl, __gammi;
1434:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1434:           _Tp __ff = __fact
1434:                    * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1434:           _Tp __sum = __ff;
1434:           __e = std::exp(__e);
1434:           _Tp __p = __e / (_Tp(2) * __gampl);
1434:           _Tp __q = _Tp(1) / (_Tp(2) * __e * __gammi);
1434:           _Tp __c = _Tp(1);
1434:           __d = __x2 * __x2;
1434:           _Tp __sum1 = __p;
1434:           int __i;
1434:           for (__i = 1; __i <= __max_iter; ++__i)
1434:             {
1434:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
1434:               __c *= __d / __i;
1434:               __p /= __i - __mu;
1434:               __q /= __i + __mu;
1434:               const _Tp __del = __c * __ff;
1434:               __sum += __del;
1434:               const _Tp __del1 = __c * (__p - __i * __ff);
1434:               __sum1 += __del1;
1434:               if (std::abs(__del) < __eps * std::abs(__sum))
1434:                 break;
1434:             }
1434:           if (__i > __max_iter)
1434:             std::__throw_runtime_error(("Bessel k series failed to converge " "in __bessel_ik.")
1434:                                                              );
1434:           __Kmu = __sum;
1434:           __Knu1 = __sum1 * __xi2;
1434:         }
1434:       else
1434:         {
1434:           _Tp __b = _Tp(2) * (_Tp(1) + __x);
1434:           _Tp __d = _Tp(1) / __b;
1434:           _Tp __delh = __d;
1434:           _Tp __h = __delh;
1434:           _Tp __q1 = _Tp(0);
1434:           _Tp __q2 = _Tp(1);
1434:           _Tp __a1 = _Tp(0.25L) - __mu2;
1434:           _Tp __q = __c = __a1;
1434:           _Tp __a = -__a1;
1434:           _Tp __s = _Tp(1) + __q * __delh;
1434:           int __i;
1434:           for (__i = 2; __i <= __max_iter; ++__i)
1434:             {
1434:               __a -= 2 * (__i - 1);
1434:               __c = -__a * __c / __i;
1434:               const _Tp __qnew = (__q1 - __b * __q2) / __a;
1434:               __q1 = __q2;
1434:               __q2 = __qnew;
1434:               __q += __c * __qnew;
1434:               __b += _Tp(2);
1434:               __d = _Tp(1) / (__b + __a * __d);
1434:               __delh = (__b * __d - _Tp(1)) * __delh;
1434:               __h += __delh;
1434:               const _Tp __dels = __q * __delh;
1434:               __s += __dels;
1434:               if ( std::abs(__dels / __s) < __eps )
1434:                 break;
1434:             }
1434:           if (__i > __max_iter)
1434:             std::__throw_runtime_error(("Steed's method failed " "in __bessel_ik.")
1434:                                                              );
1434:           __h = __a1 * __h;
1434:           __Kmu = std::sqrt(__numeric_constants<_Tp>::__pi() / (_Tp(2) * __x))
1434:                 * std::exp(-__x) / __s;
1434:           __Knu1 = __Kmu * (__mu + __x + _Tp(0.5L) - __h) * __xi;
1434:         }
1434: 
1434:       _Tp __Kpmu = __mu * __xi * __Kmu - __Knu1;
1434:       _Tp __Inumu = __xi / (__f * __Kmu - __Kpmu);
1434:       __Inu = __Inumu * __Inul1 / __Inul;
1434:       __Ipnu = __Inumu * __Ipnu1 / __Inul;
1434:       for ( __i = 1; __i <= __nl; ++__i )
1434:         {
1434:           const _Tp __Knutemp = (__mu + __i) * __xi2 * __Knu1 + __Kmu;
1434:           __Kmu = __Knu1;
1434:           __Knu1 = __Knutemp;
1434:         }
1434:       __Knu = __Kmu;
1434:       __Kpnu = __nu * __xi * __Kmu - __Knu1;
1434: 
1434:       return;
1434:     }
1434: # 267 "/usr/include/c++:   std::string m_stationArt;
1417: 
1417:   EmbeddedArtInfo m_coverArt;
1417: 
1417:   ReplayGain m_replayGain;
1417: };
1417: }
1417: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/PictureScalingAlgorithm.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/pictures/PictureScalingAlgorithm.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class CPictureScalingAlgorithm
1417: {
1417: public:
1417:   typedef enum Algorithm
1417:   {
1417:     NoAlgorithm,
1417:     FastBilinear,
1417:     Bilinear,
1417:     Bicubic,
1417:     Experimental,
1417:     NearestNeighbor,
1417:     AveragingArea,
1417:     Bicublin,
1417:     Gaussian,
1417:     Sinc,
1417:     Lanczos,
1417:     BicubicSpline
1417:   } Algorithm;
1417: 
1417:   static Algorithm Default;
1417: 
1417:   static Algorithm FromString(const std::string& scalingAlgorithm);
1417:   static std::string ToString(Algorithm scalingAlgorithm);
1417:   static int ToSwscale(const std::string& scalingAlgorithm);
1417:   static int ToSwscale(Algorithm scalingAlgorithm);
1417: 
1417: private:
1417:   CPictureScalingAlgorithm();
1417: 
1417:   typedef struct ScalingAlgorithm
1417:   {
1417:     std::string name;
1417:     int swscale;
1417:   } ScalingAlgorithm;
1417: 
1417:   typedef std::map<CPictureScalingAlgorithm::Algorithm, CPictureScalingAlgorithm::ScalingAlgorithm> AlgorithmMap;
1417:   static AlgorithmMap m_algorithms;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.h" 2
1417: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/AdvancedSettings.h"
1417: class CProfileManager;
1417: class CSettingsManager;
1417: class CVariant;
1417: struct IntegerSettingOption;
1417: 
1417: class TiXmlElement;
1417: namespace ADDON
1417: {
1417:   class IAddon;
1417: }
1417: 
1417: class DatabaseSettings
1417: {
1417: public:
1417:   DatabaseSettings() { Reset(); }
1417:   void Reset()
1417:   {
1417:     type.clear();
1417:     host.clear();
1417:     port.clear();
1417:     user.clear();
1417:     pass.clear();
1417:     name.clear();
1417:     key.clear();
1417:     cert.clear();
1417:     ca.clear();
1417:     capath.clear();
1417:     ciphers.clear();
1417:     compression = false;
1417:   };
1417:   std::string type;
1417:   std::string host;
1417:   std::string port;
1417:   std::string user;
1417:   std::string pass;
1417:   std::string name;
1417:   std::string key;
1417:   std::string cert;
1417:   std::string ca;
1417:   std::string capath;
1417:   std::string ciphers;
1417:   bool compression;
1417: };
1417: 
1417: struct TVShowRegexp
1417: {
1417:   bool byDate;
1417:   bool byTitle;
1417:   std::string regexp;
1417:   int defaultSeason;
1417:   TVShowRegexp(bool d, const std::string& r, int s = 1, bool t = false) : regexp(r)
1417:   {
1417:     byDate = d;
1417:     defaultSeason = s;
1417:     byTitle = t;
1417:   }
1417: };
1417: 
1417: struct RefreshOverride
1417: {
1417:   float fpsmin;
1417:   float fpsmax;
1417: 
1417:   float refreshmin;
1417:   float refreshmax;
1417: 
1417:   bool fallback;
1417: };
1417: 
1417: 
1417: struct RefreshVideoLatency
1417: {
1417:   float refreshmin;
1417:   float refreshmax;
1417: 
1417:   float delay;
1417: };
1417: 
1417: typedef std::vector<TVShowRegexp> SETTINGS_TVSHOWLIST;
1417: 
1417: class CAdvancedSettings : public ISettingCallback, public ISettingsHandler
1417: {
1417:   public:
1417:     CAdvancedSettings();
1417: 
1417:     void OnSettingsLoaded() override;
1417:     void OnSettingsUnloaded() override;
1417: 
1417:     void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1417: 
1417:     void Initialize(CSettingsManager& settingsMgr);
1417:     void Uninitialize(CSettingsManager& settingsMgr);
1417:     bool Initialized() const { return m_initialized; }
1417:     void AddSettingsFile/12/tr1/modified_bessel_func.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __cyl_bessel_i(_Tp __nu, _Tp __x)
1434:     {
1434:       if (__nu < _Tp(0) || __x < _Tp(0))
1434:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_i.")
1434:                                                            );
1434:       else if (__isnan(__nu) || __isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1434:         return __cyl_bessel_ij_series(__nu, __x, +_Tp(1), 200);
1434:       else
1434:         {
1434:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1434:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1434:           return __I_nu;
1434:         }
1434:     }
1434: # 303 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __cyl_bessel_k(_Tp __nu, _Tp __x)
1434:     {
1434:       if (__nu < _Tp(0) || __x < _Tp(0))
1434:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_k.")
1434:                                                            );
1434:       else if (__isnan(__nu) || __isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else
1434:         {
1434:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1434:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1434:           return __K_nu;
1434:         }
1434:     }
1434: # 337 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1434:     template <typename _Tp>
1434:     void
1434:     __sph_bessel_ik(unsigned int __n, _Tp __x,
1434:                     _Tp & __i_n, _Tp & __k_n, _Tp & __ip_n, _Tp & __kp_n)
1434:     {
1434:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1434: 
1434:       _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1434:       __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1434: 
1434:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1434:                          / std::sqrt(__x);
1434: 
1434:       __i_n = __factor * __I_nu;
1434:       __k_n = __factor * __K_nu;
1434:       __ip_n = __factor * __Ip_nu - __i_n / (_Tp(2) * __x);
1434:       __kp_n = __factor * __Kp_nu - __k_n / (_Tp(2) * __x);
1434: 
1434:       return;
1434:     }
1434: # 373 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1434:     template <typename _Tp>
1434:     void
1434:     __airy(_Tp __x, _Tp & __Ai, _Tp & __Bi, _Tp & __Aip, _Tp & __Bip)
1434:     {
1434:       const _Tp __absx = std::abs(__x);
1434:       const _Tp __rootx = std::sqrt(__absx);
1434:       const _Tp __z = _Tp(2) * __absx * __rootx / _Tp(3);
1434:       const _Tp _S_inf = std::numeric_limits<_Tp>::infinity();
1434: 
1434:       if (__isnan(__x))
1434:         __Bip = __Aip = __Bi = __Ai = std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__z == _S_inf)
1434:         {
1434:    __Aip = __Ai = _Tp(0);
1434:    __Bip = __Bi = _S_inf;
1434:  }
1434:       else if (__z == -_S_inf)
1434:  __Bip = __Aip = __Bi = __Ai = _Tp(0);
1434:       else if (__x > _Tp(0))
1434:         {
1434:           _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1434: 
1434:           __bessel_ik(_Tp(1) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1434:           __Ai = __rootx * __K_nu
1434:                / (__numeric_constants<_Tp>::__sqrt3()
1434:                 * __numeric_constants<_Tp>::__pi());
1434:           __Bi = __rootx * (__K_nu / __numeric_constants<_Tp>::__pi()
1434:                  + _Tp(2) * __I_nu / __numeric_constants<_Tp>::__sqrt3());
1434: 
1434:           __bessel_ik(_Tp(2) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1434:           __Aip = -__x * __K_nu
1434:                 / (__numeric_constants<_Tp>::__sqrt3()
1434:                  * __numeric_constants<_Tp>::__pi());
1434:           __Bip = __x * (__K_nu / __numeric_constants<_Tp>::__pi()
1434:                       + _Tp(2) * __I_nu
1434:                       / __numeric_constants<_Tp>::__sqrt3());
1434:         }
1434:       else if (__x < _Tp(0))
1434:         {
1434:           _Tp __J_nu, __Jp_nu, __N_nu, __Np_nu;
1434: 
1434:           __bessel_jn(_Tp(1) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1434:           __Ai = __rootx * (__J_nu
1434:                     - __N_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1434:           __Bi = -__rootx * (__N_nu
1434:                     + __J_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1434: 
1434:           __bessel_jn(_Tp(2) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1434:           __Aip = __absx * (__N_nu / __numeric_constants<_Tp>::__sqrt3()
1434:                           + __J_nu) / _Tp(2);
1434:           __Bip = __absx * (__J_nu / __numeric_constants<_Tp>::__sqrt3()
1434:                           - __N_nu) / _Tp(2);
1434:         }
1434:       else
1434:         {
1434: 
1434: 
1434: 
1434:           __Ai = _Tp(0.35502805388781723926L);
1434:           __Bi = __Ai * __numeric_constants<_Tp>::__sqrt3();
1434: 
1434: 
1434: 
1434: 
1434:           __Aip = -_Tp(0.25881940379280679840L);
1434:           __Bip = -__Aip * __numeric_constants<_Tp>::__sqrt3();
1434:         }
1434: 
1434:       return;
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 57 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/poly_hermite.tcc" 1 3
1434: # 42 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 56 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 72 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __poly_hermite_recursion(unsigned int __n, _Tp __x)
1434:     {
1434: 
1434:       _Tp __H_0 = 1;
1434:       if (__n == 0)
1434:         return __H_0;
1434: 
1434: 
1434:       _Tp __H_1 = 2 * __x;
1434:       if (__n == 1)
1434:         return __H_1;
1434: 
1434: 
1434:       _Tp __H_n, __H_nm1, __H_nm2;
1434:       unsigned int __i;
1434:       for (__H_nm2 = __H_0, __H_nm1 = __H_1, __i = 2; __i <= __n; ++__i)
1434:         {
1434:           __H_n = 2 * (__x * __H_nm1 - (__i - 1) * __H_nm2);
1434:           __H_nm2 = __H_nm1;
1434:           __H_nm1 = __H_n;
1434:         }
1434: 
1434:       return __H_n;
1434:     }
1434: # 114 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __poly_hermite(unsigned int __n, _Tp __x)
1434:     {
1434:       if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else
1434:         return __poly_hermite_recursion(__n, __x);
1434:     }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 58 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 1 3
1434: # 44 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 60 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 75 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434:     template<typename _Tpa, typename _Tp>
1434:     _Tp
1434:     __poly_laguerre_large_n(unsigned __n, _Tpa __alpha1, _Tp __x)
1434:     {
1434:       const _Tp __a = -_Tp(__n);
1434:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1434:       const _Tp __eta = _Tp(2) * __b - _Tp(4) * __a;
1434:       const _Tp __cos2th = __x / __eta;
1434:       const _Tp __sin2th = _Tp(1) - __cos2th;
1434:       const _Tp __th = std::acos(std::sqrt(__cos2th));
1434:       const _Tp __pre_h = __numeric_constants<_Tp>::__pi_2()
1434:                         * __numeric_constants<_Tp>::__pi_2()
1434:                         * __eta * __eta * __cos2th * __sin2th;
1434: 
1434: 
1434:       const _Tp __lg_b = ::std::lgamma(_Tp(__n) + __b);
1434:       const _Tp __lnfact = ::std::lgamma(_Tp(__n + 1));
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       _Tp __pre_term1 = _Tp(0.5L) * (_Tp(1) - __b)
1434:                       * std::log(_Tp(0.25L) * __x * __eta);
1434:       _Tp __pre_term2 = _Tp(0.25L) * std::log(__pre_h);
1434:                 ;
1115: 
1115:  istreambuf_iterator __old = *this;
1115:  __old._M_c = _M_sbuf->sbumpc();
1115:  _M_c = traits_type::eof();
1115:  return __old;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       bool
1115:       equal(const istreambuf_iterator& __b) const
1115:       { return _M_at_eof() == __b._M_at_eof(); }
1115: 
1115:     private:
1115:       int_type
1115:       _M_get() const
1115:       {
1115:  int_type __ret = _M_c;
1115:  if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
1115:    _M_sbuf = 0;
1115:  return __ret;
1115:       }
1115: 
1115:       bool
1115:       _M_at_eof() const
1115:       { return _S_is_eof(_M_get()); }
1115: 
1115:       static bool
1115:       _S_is_eof(int_type __c)
1115:       {
1115:  const int_type __eof = traits_type::eof();
1115:  return traits_type::eq_int_type(__c, __eof);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     };
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
1115:         const istreambuf_iterator<_CharT, _Traits>& __b)
1115:     { return __a.equal(__b); }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
1115:         const istreambuf_iterator<_CharT, _Traits>& __b)
1115:     { return !__a.equal(__b); }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     class ostreambuf_iterator
1115:     : public iterator<output_iterator_tag, void, void, void, void>
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1115:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1115: 
1115: 
1115:       template<typename _CharT2>
1115:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1115:         ostreambuf_iterator<_CharT2> >::__type
1115:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1115:       ostreambuf_iterator<_CharT2>);
1115: 
1115:     private:
1115:       streambuf_type* _M_sbuf;
1115:       bool _M_failed;
1115: 
1115:     public:
1115: # 283 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1115:       ostreambuf_iterator(ostream_type& __s) noexcept
1115:       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
1115: 
1115: 
1115:       ostreambuf_iterator(streambuf_type* __s) noexcept
1115:       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
1115: 
1115: 
1115:       ostreambuf_iterator&
1115:       operator=(_CharT __c)
1115:       {
1115:  if (!_M_failed &&
1115:      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
1115:    _M_failed = true;
1115:  return *this;
1115:       }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       ostreambuf_iterator&
1115:       operator*()
1115:       { return *this; }
1115: 
1115: 
1115:       ostreambuf_iterator&
1115:       operator++(int)
1115:       { return *this; }
1115: 
1115: 
1115:       ostreambuf_iterator&
1115:       operator++()
1115:       { return *this; }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       bool
1115:       failed() const noexcept
1115:       { return _M_failed; }
1115: 
1115:       ostreambuf_iterator&
1115:       _M_put(const _CharT* __ws, streamsize __len)
1115:       {
1115:  if (__builtin_expect(!_M_failed, true)
1115:      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
1115:     false))
1115:    _M_failed = true;
1115:  return *this;
1115:       }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115:   template<typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:         ostreambuf_iterator<_CharT> >::__type
1115:     copy(istreambuf_iterator<_CharT> __first,
1115:   istreambuf_iterator<_CharT> __last,
1115:   ostreamb(const std::string &filename);
1417:     bool Load(const CProfileManager &profileManager);
1417: 
1417:     static void GetCustomTVRegexps(TiXmlElement *pRootElement, SETTINGS_TVSHOWLIST& settings);
1417:     static void GetCustomRegexps(TiXmlElement *pRootElement, std::vector<std::string> &settings);
1417:     static void GetCustomExtensions(TiXmlElement *pRootElement, std::string& extensions);
1417: 
1417:     std::string m_audioDefaultPlayer;
1417:     float m_audioPlayCountMinimumPercent;
1417:     bool m_VideoPlayerIgnoreDTSinWAV;
1417:     float m_limiterHold;
1417:     float m_limiterRelease;
1417: 
1417:     bool m_omlSync = true;
1417: 
1417:     float m_videoSubsDelayRange;
1417:     float m_videoAudioDelayRange;
1417:     bool m_videoUseTimeSeeking;
1417:     int m_videoTimeSeekForward;
1417:     int m_videoTimeSeekBackward;
1417:     int m_videoTimeSeekForwardBig;
1417:     int m_videoTimeSeekBackwardBig;
1417:     int m_videoPercentSeekForward;
1417:     int m_videoPercentSeekBackward;
1417:     int m_videoPercentSeekForwardBig;
1417:     int m_videoPercentSeekBackwardBig;
1417:     std::vector<int> m_seekSteps;
1417:     std::string m_videoPPFFmpegPostProc;
1417:     bool m_videoVDPAUtelecine;
1417:     bool m_videoVDPAUdeintSkipChromaHD;
1417:     bool m_musicUseTimeSeeking;
1417:     int m_musicTimeSeekForward;
1417:     int m_musicTimeSeekBackward;
1417:     int m_musicTimeSeekForwardBig;
1417:     int m_musicTimeSeekBackwardBig;
1417:     int m_musicPercentSeekForward;
1417:     int m_musicPercentSeekBackward;
1417:     int m_musicPercentSeekForwardBig;
1417:     int m_musicPercentSeekBackwardBig;
1417:     int m_videoIgnoreSecondsAtStart;
1417:     float m_videoIgnorePercentAtEnd;
1417:     float m_audioApplyDrc;
1417: 
1417:     int m_videoVDPAUScaling;
1417:     float m_videoNonLinStretchRatio;
1417:     float m_videoAutoScaleMaxFps;
1417:     std::vector<RefreshOverride> m_videoAdjustRefreshOverrides;
1417:     std::vector<RefreshVideoLatency> m_videoRefreshLatency;
1417:     float m_videoDefaultLatency;
1417:     int m_videoCaptureUseOcclusionQuery;
1417:     bool m_DXVACheckCompatibility;
1417:     bool m_DXVACheckCompatibilityPresent;
1417:     int m_videoFpsDetect;
1417:     float m_maxTempo;
1417:     bool m_videoPreferStereoStream = false;
1417: 
1417:     std::string m_videoDefaultPlayer;
1417:     float m_videoPlayCountMinimumPercent;
1417: 
1417:     float m_slideshowBlackBarCompensation;
1417:     float m_slideshowZoomAmount;
1417:     float m_slideshowPanAmount;
1417: 
1417:     int m_songInfoDuration;
1417:     int m_logLevel;
1417:     int m_logLevelHint;
1417:     std::string m_cddbAddress;
1417:     bool m_addSourceOnTop;
1417: 
1417: 
1417:     int m_airTunesPort;
1417:     int m_airPlayPort;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     bool m_handleMounting;
1417: 
1417: 
1417: 
1417:     bool m_autoMountOpticalMedia{true};
1417: 
1417:     bool m_fullScreenOnMovieStart;
1417:     std::string m_cachePath;
1417:     std::string m_videoCleanDateTimeRegExp;
1417:     std::vector<std::string> m_videoCleanStringRegExps;
1417:     std::vector<std::string> m_videoExcludeFromListingRegExps;
1417:     std::vector<std::string> m_allExcludeFromScanRegExps;
1417:     std::vector<std::string> m_moviesExcludeFromScanRegExps;
1417:     std::vector<std::string> m_tvshowExcludeFromScanRegExps;
1417:     std::vector<std::string> m_audioExcludeFromListingRegExps;
1417:     std::vector<std::string> m_audioExcludeFromScanRegExps;
1417:     std::vector<std::string> m_pictureExcludeFromListingRegExps;
1417:     std::vector<std::string> m_videoStackRegExps;
1417:     std::vector<std::string> m_folderStackRegExps;
1417:     std::vector<std::string> m_trailerMatchRegExps;
1417:     SETTINGS_TVSHOWLIST m_tvshowEnumRegExps;
1417:     std::string m_tvshowMultiPartEnumRegExp;
1417:     typedef std::vector< std::pair<std::string, std::string> > StringMapping;
1417:     StringMapping m_pathSubstitutions;
1417:     int m_remoteDelay;
1417:     bool m_bScanIRServer;
1417: 
1417:     bool m_playlistAsFolders;
       _Tp __lnpre = __lg_b - __lnfact + _Tp(0.5L) * __x
1434:                       + __pre_term1 - __pre_term2;
1434:       _Tp __ser_term1 = std::sin(__a * __numeric_constants<_Tp>::__pi());
1434:       _Tp __ser_term2 = std::sin(_Tp(0.25L) * __eta
1434:                               * (_Tp(2) * __th
1434:                                - std::sin(_Tp(2) * __th))
1434:                                + __numeric_constants<_Tp>::__pi_4());
1434:       _Tp __ser = __ser_term1 + __ser_term2;
1434: 
1434:       return std::exp(__lnpre) * __ser;
1434:     }
1434: # 129 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434:     template<typename _Tpa, typename _Tp>
1434:     _Tp
1434:     __poly_laguerre_hyperg(unsigned int __n, _Tpa __alpha1, _Tp __x)
1434:     {
1434:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1434:       const _Tp __mx = -__x;
1434:       const _Tp __tc_sgn = (__x < _Tp(0) ? _Tp(1)
1434:                          : ((__n % 2 == 1) ? -_Tp(1) : _Tp(1)));
1434: 
1434:       _Tp __tc = _Tp(1);
1434:       const _Tp __ax = std::abs(__x);
1434:       for (unsigned int __k = 1; __k <= __n; ++__k)
1434:         __tc *= (__ax / __k);
1434: 
1434:       _Tp __term = __tc * __tc_sgn;
1434:       _Tp __sum = __term;
1434:       for (int __k = int(__n) - 1; __k >= 0; --__k)
1434:         {
1434:           __term *= ((__b + _Tp(__k)) / _Tp(int(__n) - __k))
1434:                   * _Tp(__k + 1) / __mx;
1434:           __sum += __term;
1434:         }
1434: 
1434:       return __sum;
1434:     }
1434: # 185 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434:     template<typename _Tpa, typename _Tp>
1434:     _Tp
1434:     __poly_laguerre_recursion(unsigned int __n, _Tpa __alpha1, _Tp __x)
1434:     {
1434: 
1434:       _Tp __l_0 = _Tp(1);
1434:       if (__n == 0)
1434:         return __l_0;
1434: 
1434: 
1434:       _Tp __l_1 = -__x + _Tp(1) + _Tp(__alpha1);
1434:       if (__n == 1)
1434:         return __l_1;
1434: 
1434: 
1434:       _Tp __l_n2 = __l_0;
1434:       _Tp __l_n1 = __l_1;
1434:       _Tp __l_n = _Tp(0);
1434:       for (unsigned int __nn = 2; __nn <= __n; ++__nn)
1434:         {
1434:             __l_n = (_Tp(2 * __nn - 1) + _Tp(__alpha1) - __x)
1434:                   * __l_n1 / _Tp(__nn)
1434:                   - (_Tp(__nn - 1) + _Tp(__alpha1)) * __l_n2 / _Tp(__nn);
1434:             __l_n2 = __l_n1;
1434:             __l_n1 = __l_n;
1434:         }
1434: 
1434:       return __l_n;
1434:     }
1434: # 244 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434:     template<typename _Tpa, typename _Tp>
1434:     _Tp
1434:     __poly_laguerre(unsigned int __n, _Tpa __alpha1, _Tp __x)
1434:     {
1434:       if (__x < _Tp(0))
1434:         std::__throw_domain_error(("Negative argument " "in __poly_laguerre.")
1434:                                                             );
1434: 
1434:       else if (__isnan(__x))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__n == 0)
1434:         return _Tp(1);
1434:       else if (__n == 1)
1434:         return _Tp(1) + _Tp(__alpha1) - __x;
1434:       else if (__x == _Tp(0))
1434:         {
1434:           _Tp __prod = _Tp(__alpha1) + _Tp(1);
1434:           for (unsigned int __k = 2; __k <= __n; ++__k)
1434:             __prod *= (_Tp(__alpha1) + _Tp(__k)) / _Tp(__k);
1434:           return __prod;
1434:         }
1434:       else if (__n > 10000000 && _Tp(__alpha1) > -_Tp(1)
1434:             && __x < _Tp(2) * (_Tp(__alpha1) + _Tp(1)) + _Tp(4 * __n))
1434:         return __poly_laguerre_large_n(__n, __alpha1, __x);
1434:       else if (_Tp(__alpha1) >= _Tp(0)
1434:            || (__x > _Tp(0) && _Tp(__alpha1) < -_Tp(__n + 1)))
1434:         return __poly_laguerre_recursion(__n, __alpha1, __x);
1434:       else
1434:         return __poly_laguerre_hyperg(__n, __alpha1, __x);
1434:     }
1434: # 296 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1434:     { return __poly_laguerre<unsigned int, _Tp>(__n, __m, __x); }
1434: # 316 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __laguerre(unsigned int __n, _Tp __x)
1434:     { return __poly_laguerre<unsigned int, _Tp>(__n, 0, __x); }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 59 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: # 1 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 1 3
1434: # 47 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 63 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:   namespace __detail
1434:   {
1434: # 78 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __riemann_zeta_sum(_Tp __s)
1434:     {
1434: 
1434:       if (__s < _Tp(1))
1434:         std::__throw_domain_error(("Bad argument in zeta sum."));
1434: 
1434:       const unsigned int max_iter = 10000;
1434:       _Tp __zeta = _Tp(0);
1434:       for (unsigned int __k = 1; __k < max_iter; ++__k)
1434:         {
1434:           _Tp __term = std::pow(static_cast<_Tp>(__k), -__s);
1434:           if (__term < std::numeric_limits<_Tp>::epsilon())
1434:             {
1434:               break;
1434:             }
1434:           __zeta += __term;
1434:         }
1434: 
1434:       return __zeta;
1434:     }
1434: # 115 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __riemann_zeta_alt(_Tp __s)
1434:     {
1434:       _Tp __sgn = _Tp(1);
1434:       _Tp __zeta = _Tp(0);
1434:       for (unsigned int __i = 1; __i < 10000000; ++__i)
1434:         {
1434:           _Tp __term = __sgn / std::pow(__i, __s);
1434:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:           __zeta += __term;
1434:           __sgn *= _Tp(-1);
1434:         }
1434:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1434: 
1434:       return __zeta;
1434:     }
1434: # 157 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __riemann_zeta_glob(_Tp __s)
1434:     {
1434:       _Tp __zeta = _Tp(0);
1434: 
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434: 
1434:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1434:                                * std::log(_Tp(10)) - _Tp(1);
1434: 
1434: 
1434: 
1434:       if (__s < _Tp(0))
1434:         {
1434: 
1434:           if (::std::fmod(__s,_Tp(2)) == _Tp(0))
1434:             return _Tp(0);
1434:           else
1434: 
1434:             {
1434:               _Tp __zeta = __riemann_zeta_glob(_Tp(1) - __s);
1434:               __zeta *= std::pow(_Tp(2)
1434:                      * __numeric_constants<_Tp>::__pi(), __s)
1434:                      * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1434: 
1434:                      * std::exp(::std::lgamma(_Tp(1) - __s))
1434: 
1434: 
1434: 
1434:                      / __numeric_constants<_Tp>::__pi();
1434:               return __zeta;
1434:             }
1434:         }
1434: 
1434:       _Tp __num = _Tp(0.5L);
1434:       const unsigned int __maxit = 10000;
1434:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1434:         {
1434:           bool __punt = false;
1434:           _Tp __sgn = _Tp(1);
1434:           _Tp __term = _Tp(0);
1434:           for (unsigned int __j = 0; __j <= __i; ++__j)
1434:             {
1434: 
1434:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1434:                               - ::std::lgamma(_Tp(1 + __j))
1434:                               - ::std::lgamma(_Tp(1 + __i - __j));
1434: 
1434: 
1434: 
1434: 
1434: 
1434:               if (__bincoeff > __max_bincoeff)
1434:                 {
1434: 
1434:                   __punt = true;
1434:                   break;
1434:                 }
1434:               __bincoeff = std::exp(__bincoeff);
1434:               __term += __sgn * __bincoeff * std::pow(_Tp(1 + __j), -__s);
1434:               __sgn *= _Tp(-1);
1434:       uf_iterator<_CharT> __result)
1115:     {
1115:       if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
1115:  {
1115:    bool __ineof;
1115:    __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
1115:    if (!__ineof)
1115:      __result._M_failed = true;
1115:  }
1115:       return __result;
1115:     }
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:         ostreambuf_iterator<_CharT> >::__type
1115:     __copy_move_a2(_CharT* __first, _CharT* __last,
1115:      ostreambuf_iterator<_CharT> __result)
1115:     {
1115:       const streamsize __num = __last - __first;
1115:       if (__num > 0)
1115:  __result._M_put(__first, __num);
1115:       return __result;
1115:     }
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:         ostreambuf_iterator<_CharT> >::__type
1115:     __copy_move_a2(const _CharT* __first, const _CharT* __last,
1115:      ostreambuf_iterator<_CharT> __result)
1115:     {
1115:       const streamsize __num = __last - __first;
1115:       if (__num > 0)
1115:  __result._M_put(__first, __num);
1115:       return __result;
1115:     }
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:         _CharT*>::__type
1115:     __copy_move_a2(istreambuf_iterator<_CharT> __first,
1115:      istreambuf_iterator<_CharT> __last, _CharT* __result)
1115:     {
1115:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1115:       typedef typename __is_iterator_type::traits_type traits_type;
1115:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1115:       typedef typename traits_type::int_type int_type;
1115: 
1115:       if (__first._M_sbuf && !__last._M_sbuf)
1115:  {
1115:    streambuf_type* __sb = __first._M_sbuf;
1115:    int_type __c = __sb->sgetc();
1115:    while (!traits_type::eq_int_type(__c, traits_type::eof()))
1115:      {
1115:        const streamsize __n = __sb->egptr() - __sb->gptr();
1115:        if (__n > 1)
1115:   {
1115:     traits_type::copy(__result, __sb->gptr(), __n);
1115:     __sb->__safe_gbump(__n);
1115:     __result += __n;
1115:     __c = __sb->underflow();
1115:   }
1115:        else
1115:   {
1115:     *__result++ = traits_type::to_char_type(__c);
1115:     __c = __sb->snextc();
1115:   }
1115:      }
1115:  }
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Size>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:         _CharT*>::__type
1115:     __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result,
1115:         bool __strict __attribute__((__unused__)))
1115:     {
1115:       if (__n == 0)
1115:  return __result;
1115: 
1115:      
1115: 
1115:                             ;
1115:       _CharT* __beg = __result;
1115:       __result += __it._M_sbuf->sgetn(__beg, __n);
1115:      
1115: 
1115:                             ;
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:           istreambuf_iterator<_CharT> >::__type
1115:     find(istreambuf_iterator<_CharT> __first,
1115:   istreambuf_iterator<_CharT> __last, const _CharT& __val)
1115:     {
1115:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1115:       typedef typename __is_iterator_type::traits_type traits_type;
1115:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1115:       typedef typename traits_type::int_type int_type;
1115:       const int_type __eof = traits_type::eof();
1115: 
1115:       if (__first._M_sbuf && !__last._M_sbuf)
1115:  {
1115:    const int_type __ival = traits_type::to_int_type(__val);
1115:    streambuf_type* __sb = __first._M_sbuf;
1115:    int_type __c = __sb->sgetc();
1115:    while (!traits_type::eq_int_type(__c, __eof)
1115:    && !traits_type::eq_int_type1417:     bool m_detectAsUdf;
1417: 
1417:     unsigned int m_fanartRes;
1417:     unsigned int m_imageRes;
1417:     CPictureScalingAlgorithm::Algorithm m_imageScalingAlgorithm;
1417:     unsigned int
1417:         m_imageQualityJpeg;
1417: 
1417:     int m_sambaclienttimeout;
1417:     std::string m_sambadoscodepage;
1417:     bool m_sambastatfiles;
1417: 
1417:     bool m_bHTTPDirectoryStatFilesize;
1417: 
1417:     bool m_bFTPThumbs;
1417:     bool m_bShoutcastArt;
1417: 
1417:     std::string m_musicThumbs;
1417:     std::vector<std::string> m_musicArtistExtraArt;
1417:     std::vector<std::string> m_musicAlbumExtraArt;
1417: 
1417:     int m_iMusicLibraryRecentlyAddedItems;
1417:     int m_iMusicLibraryDateAdded;
1417:     bool m_bMusicLibraryAllItemsOnBottom;
1417:     bool m_bMusicLibraryCleanOnUpdate;
1417:     bool m_bMusicLibraryArtistSortOnUpdate;
1417:     bool m_bMusicLibraryUseISODates;
1417:     std::string m_strMusicLibraryAlbumFormat;
1417:     bool m_prioritiseAPEv2tags;
1417:     std::string m_musicItemSeparator;
1417:     std::vector<std::string> m_musicArtistSeparators;
1417:     std::string m_videoItemSeparator;
1417:     std::vector<std::string> m_musicTagsFromFileFilters;
1417: 
1417:     bool m_bVideoLibraryAllItemsOnBottom;
1417:     int m_iVideoLibraryRecentlyAddedItems;
1417:     bool m_bVideoLibraryCleanOnUpdate;
1417:     bool m_bVideoLibraryUseFastHash;
1417:     bool m_bVideoLibraryImportWatchedState{true};
1417:     bool m_bVideoLibraryImportResumePoint{true};
1417:     std::vector<std::string> m_videoEpisodeExtraArt;
1417:     std::vector<std::string> m_videoTvShowExtraArt;
1417:     std::vector<std::string> m_videoTvSeasonExtraArt;
1417:     std::vector<std::string> m_videoMovieExtraArt;
1417:     std::vector<std::string> m_videoMovieSetExtraArt;
1417:     std::vector<std::string> m_videoMusicVideoExtraArt;
1417: 
1417:     bool m_bVideoScannerIgnoreErrors;
1417:     int m_iVideoLibraryDateAdded;
1417: 
1417:     std::set<std::string> m_vecTokens;
1417: 
1417:     int m_iEpgUpdateCheckInterval;
1417:     int m_iEpgCleanupInterval;
1417:     int m_iEpgActiveTagCheckInterval;
1417:     int m_iEpgRetryInterruptedUpdateInterval;
1417:     int m_iEpgUpdateEmptyTagsInterval;
1417:     bool m_bEpgDisplayUpdatePopup;
1417:     bool m_bEpgDisplayIncrementalUpdatePopup;
1417: 
1417: 
1417:     bool m_bEdlMergeShortCommBreaks;
1417: 
1417:     bool m_EdlDisplayCommbreakNotifications;
1417:     int m_iEdlMaxCommBreakLength;
1417:     int m_iEdlMinCommBreakLength;
1417:     int m_iEdlMaxCommBreakGap;
1417:     int m_iEdlMaxStartGap;
1417:     int m_iEdlCommBreakAutowait;
1417:     int m_iEdlCommBreakAutowind;
1417: 
1417:     int m_curlconnecttimeout;
1417:     int m_curllowspeedtime;
1417:     int m_curlretries;
1417:     int m_curlKeepAliveInterval;
1417:     bool m_curlDisableIPV6;
1417:     bool m_curlDisableHTTP2;
1417: 
1417:     std::string m_caTrustFile;
1417: 
1417:     bool m_minimizeToTray;
1417:     bool m_fullScreen;
1417:     bool m_startFullScreen;
1417:     bool m_showExitButton;
1417:     bool m_canWindowed;
1417:     bool m_splashImage;
1417:     bool m_alwaysOnTop;
1417:     int m_playlistRetries;
1417:     int m_playlistTimeout;
1417:     bool m_GLRectangleHack;
1417:     int m_iSkipLoopFilter;
1417: 
1417:     bool m_bVirtualShares;
1417: 
1417:     std::string m_cpuTempCmd;
1417:     std::string m_gpuTempCmd;
1417: 
1417: 
1417:     int m_iPVRTimeCorrection;
1417:     int m_iPVRInfoToggleInterval;
1417:     bool m_bPVRChannelIconsAutoScan;
1417:     bool m_bPVRAutoScanIconsUserSet;
1417:     int m_iPVRNumericChannelSwitchTimeout;
1417:     int m_iPVRTimeshiftThreshold;
1417:     bool m_bPVRTimeshiftSimpleOSD;
1417:     SortDescription m_PVRDefaultSortOrder;
1417: 
1417:     DatabaseSettings m_databaseMusic;
1417:     DatabaseSettings m_databaseVideo;
1417:     DatabaseSettings m_databaseTV;
1417:     DatabaseSettings m_databaseEpg;
1417: 
1417:     bool m_useLocaleCollation;
1417: 
1417:     bool m_guiVisualizeDirtyRegions;
1417:     int m_guiAlgorithmDirtyRegions;
1417:     b      }
1434:           if (__punt)
1434:             break;
1434:           __term *= __num;
1434:           __zeta += __term;
1434:           if (std::abs(__term/__zeta) < __eps)
1434:             break;
1434:           __num *= _Tp(0.5L);
1434:         }
1434: 
1434:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1434: 
1434:       return __zeta;
1434:     }
1434: # 252 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __riemann_zeta_product(_Tp __s)
1434:     {
1434:       static const _Tp __prime[] = {
1434:         _Tp(2), _Tp(3), _Tp(5), _Tp(7), _Tp(11), _Tp(13), _Tp(17), _Tp(19),
1434:         _Tp(23), _Tp(29), _Tp(31), _Tp(37), _Tp(41), _Tp(43), _Tp(47),
1434:         _Tp(53), _Tp(59), _Tp(61), _Tp(67), _Tp(71), _Tp(73), _Tp(79),
1434:         _Tp(83), _Tp(89), _Tp(97), _Tp(101), _Tp(103), _Tp(107), _Tp(109)
1434:       };
1434:       static const unsigned int __num_primes = sizeof(__prime) / sizeof(_Tp);
1434: 
1434:       _Tp __zeta = _Tp(1);
1434:       for (unsigned int __i = 0; __i < __num_primes; ++__i)
1434:         {
1434:           const _Tp __fact = _Tp(1) - std::pow(__prime[__i], -__s);
1434:           __zeta *= __fact;
1434:           if (_Tp(1) - __fact < std::numeric_limits<_Tp>::epsilon())
1434:             break;
1434:         }
1434: 
1434:       __zeta = _Tp(1) / __zeta;
1434: 
1434:       return __zeta;
1434:     }
1434: # 293 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __riemann_zeta(_Tp __s)
1434:     {
1434:       if (__isnan(__s))
1434:         return std::numeric_limits<_Tp>::quiet_NaN();
1434:       else if (__s == _Tp(1))
1434:         return std::numeric_limits<_Tp>::infinity();
1434:       else if (__s < -_Tp(19))
1434:         {
1434:           _Tp __zeta = __riemann_zeta_product(_Tp(1) - __s);
1434:           __zeta *= std::pow(_Tp(2) * __numeric_constants<_Tp>::__pi(), __s)
1434:                  * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1434: 
1434:                  * std::exp(::std::lgamma(_Tp(1) - __s))
1434: 
1434: 
1434: 
1434:                  / __numeric_constants<_Tp>::__pi();
1434:           return __zeta;
1434:         }
1434:       else if (__s < _Tp(20))
1434:         {
1434: 
1434:           bool __glob = true;
1434:           if (__glob)
1434:             return __riemann_zeta_glob(__s);
1434:           else
1434:             {
1434:               if (__s > _Tp(1))
1434:                 return __riemann_zeta_sum(__s);
1434:               else
1434:                 {
1434:                   _Tp __zeta = std::pow(_Tp(2)
1434:                                 * __numeric_constants<_Tp>::__pi(), __s)
1434:                          * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1434: 
1434:                              * ::std::tgamma(_Tp(1) - __s)
1434: 
1434: 
1434: 
1434:                              * __riemann_zeta_sum(_Tp(1) - __s);
1434:                   return __zeta;
1434:                 }
1434:             }
1434:         }
1434:       else
1434:         return __riemann_zeta_product(__s);
1434:     }
1434: # 365 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:     template<typename _Tp>
1434:     _Tp
1434:     __hurwitz_zeta_glob(_Tp __a, _Tp __s)
1434:     {
1434:       _Tp __zeta = _Tp(0);
1434: 
1434:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1434: 
1434:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1434:                                * std::log(_Tp(10)) - _Tp(1);
1434: 
1434:       const unsigned int __maxit = 10000;
1434:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1434:         {
1434:           bool __punt = false;
1434:           _Tp __sgn = _Tp(1);
1434:           _Tp __term = _Tp(0);
1434:           for (unsigned int __j = 0; __j <= __i; ++__j)
1434:             {
1434: 
1434:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1434:                               - ::std::lgamma(_Tp(1 + __j))
1434:                               - ::std::lgamma(_Tp(1(__c, __ival))
1115:      {
1115:        streamsize __n = __sb->egptr() - __sb->gptr();
1115:        if (__n > 1)
1115:   {
1115:     const _CharT* __p = traits_type::find(__sb->gptr(),
1115:        __n, __val);
1115:     if (__p)
1115:       __n = __p - __sb->gptr();
1115:     __sb->__safe_gbump(__n);
1115:     __c = __sb->sgetc();
1115:   }
1115:        else
1115:   __c = __sb->snextc();
1115:      }
1115: 
1115:    __first._M_c = __eof;
1115:  }
1115: 
1115:       return __first;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Distance>
1115:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1115:         void>::__type
1115:     advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
1115:     {
1115:       if (__n == 0)
1115:  return;
1115: 
1115:       do { if (std::__is_constant_evaluated() && !bool(__n > 0)) __builtin_unreachable(); } while (false);
1115:      
1115: 
1115:                            ;
1115: 
1115:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1115:       typedef typename __is_iterator_type::traits_type traits_type;
1115:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1115:       typedef typename traits_type::int_type int_type;
1115:       const int_type __eof = traits_type::eof();
1115: 
1115:       streambuf_type* __sb = __i._M_sbuf;
1115:       while (__n > 0)
1115:  {
1115:    streamsize __size = __sb->egptr() - __sb->gptr();
1115:    if (__size > __n)
1115:      {
1115:        __sb->__safe_gbump(__n);
1115:        break;
1115:      }
1115: 
1115:    __sb->__safe_gbump(__size);
1115:    __n -= __size;
1115:    if (traits_type::eq_int_type(__sb->underflow(), __eof))
1115:      {
1115:       
1115: 
1115:                       ;
1115:        break;
1115:      }
1115:  }
1115: 
1115:       __i._M_c = __eof;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 49 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 74 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<typename _Tp>
1115:     void
1115:     __convert_to_v(const char*, _Tp&, ios_base::iostate&,
1115:      const __c_locale&) throw();
1115: 
1115: 
1115:   template<>
1115:     void
1115:     __convert_to_v(const char*, float&, ios_base::iostate&,
1115:      const __c_locale&) throw();
1115: 
1115:   template<>
1115:     void
1115:     __convert_to_v(const char*, double&, ios_base::iostate&,
1115:      const __c_locale&) throw();
1115: 
1115:   template<>
1115:     void
1115:     __convert_to_v(const char*, long double&, ios_base::iostate&,
1115:      const __c_locale&) throw();
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     struct __pad
1115:     {
1115:       static void
1115:       _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
1115:       const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     _CharT*
1115:     __add_grouping(_CharT* __s, _CharT __sep,
1115:      const char* __gbeg, size_t __gsize,
1115:      const _CharT* __first, const _CharT* __last);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline
1115:     ostreambuf_iterator<_CharT>
1115:     __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
1115:     {
1115:       __s._M_put(__ws, __len);
1115:       return __s;
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     inline
1115:     _OutIter
1115:     __write(_OutIter __s, const _CharT* __ws, int __len)
1115:     {
1115:       for (int __j = 0; __j < __len; __j++, ++__s)
1115:  *__s = __ws[__j];
1115:       return __s;
1115:     }
1115: # 152 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<typename _CharT>
1115:     class __ctype_abstract_base : public locale::facet, public ctype_base
1115:     {
1115:     public:
1115: 
1115: 
1115:       typedef _CharT char_type;
1115: # 171 "/usr/include/c++/12/bits/lo + __i - __j));
1434: 
1434: 
1434: 
1434: 
1434: 
1434:               if (__bincoeff > __max_bincoeff)
1434:                 {
1434: 
1434:                   __punt = true;
1434:                   break;
1434:                 }
1434:               __bincoeff = std::exp(__bincoeff);
1434:               __term += __sgn * __bincoeff * std::pow(_Tp(__a + __j), -__s);
1434:               __sgn *= _Tp(-1);
1434:             }
1434:           if (__punt)
1434:             break;
1434:           __term /= _Tp(__i + 1);
1434:           if (std::abs(__term / __zeta) < __eps)
1434:             break;
1434:           __zeta += __term;
1434:         }
1434: 
1434:       __zeta /= __s - _Tp(1);
1434: 
1434:       return __zeta;
1434:     }
1434: # 430 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1434:     template<typename _Tp>
1434:     inline _Tp
1434:     __hurwitz_zeta(_Tp __a, _Tp __s)
1434:     { return __hurwitz_zeta_glob(__a, __s); }
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 60 "/usr/include/c++/12/bits/specfun.h" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 205 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
1434:   { return __detail::__assoc_laguerre<float>(__n, __m, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   assoc_laguerrel(unsigned int __n, unsigned int __m, long double __x)
1434:   { return __detail::__assoc_laguerre<long double>(__n, __m, __x); }
1434: # 250 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__assoc_laguerre<__type>(__n, __m, __x);
1434:     }
1434: # 266 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   assoc_legendref(unsigned int __l, unsigned int __m, float __x)
1434:   { return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
1434:   { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
1434: # 296 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
1434:     }
1434: # 311 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   betaf(float __a, float __b)
1434:   { return __detail::__beta<float>(__a, __b); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   betal(long double __a, long double __b)
1434:   { return __detail::__beta<long double>(__a, __b); }
1434: # 341 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tpa, typename _Tpb>
1434:     inline typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type
1434:     beta(_Tpa __a, _Tpb __b)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type __type;
1434:       return __detail::__beta<__type>(__a, __b);
1434:     }
1434: # 357 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   comp_ellint_1f(float __k)
1434:   { return __detail::__comp_ellint_1<float>(__k); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   comp_ellint_1l(long double __k)
1434:   { return __detail::__comp_ellint_1<long double>(__k); }
1434: # 389 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     comp_ellint_1(_Tp __k)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__comp_ellint_1<__type>(__k);
1434:     }
1434: # 405 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   comp_ellint_2f(float __k)
1434:   { return __detail::__comp_ellint_2<float>(__k); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   comp_ellint_2l(long double __k)
1434:   { return __detail::__comp_ellint_2<long double>(__k); }
1434: # 436 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     comp_ellint_2(_Tp __k)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__comp_ellint_2<__type>(__k);
1434:     }
1434: # 452 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   comp_ellint_3f(float __k, float __nu)
1434:   { return __detail::__comp_ellint_3<float>(__k, __nu); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   comp_ellint_3l(long double __k, long double __nu)
1434:   { return __detail::__comp_ellint_3<long double>(__k, __nu); }
1434: # 487 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp, typename _Tpn>
1434:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
1434:     comp_ellint_3(_Tp __k, _Tpn __nu)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type __type;
1434:       return __detail::__comp_ellint_3<__type>(__k, __nu);
1434:     }
1434: # 503 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   cyl_bessel_if(float __nu, float __x)
1434:   { return __detail::__cyl_bessel_i<float>(__nu, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   cyl_bessel_il(long double __nu, long double __x)
1434:   { return __detail::__cyl_bessel_i<long double>(__nu, __x); }
1434: # 533 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tpnu, typename _Tp>
1434:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1434:     cyl_bessel_i(_Tpnu __nu, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1434:       return __detail::__cyl_bessel_i<__type>(__nu, __x);
1434:     }
1434: # 549 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   cyl_bessel_jf(float __nu, float __x)
1434:   { return __detail::__cyl_bessel_j<float>(__nu, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   cyl_bessel_jl(long double __nu, long double __x)
1434:   { return __detail::__cyl_bessel_j<long double>(__nu, __x); }
1434: # 579 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tpnu, typename _Tp>
1434:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1434:     cyl_bessel_j(_Tpnu __nu, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1434:       return __detail::__cyl_bessel_j<__type>(__nu, __x);
1434:     }
1434: # 595 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   cyl_bessel_kf(float __nu, float __x)
1434:   { return __detail::__cyl_bessel_k<float>(__nu, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   cyl_bessel_kl(long double __nu, long double __x)
1434:   { return __detail::__cyl_bessel_k<long double>(__nu, __x); }
1434: # 631 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tpnu, typename _Tp>
1434:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1434:     cyl_bessel_k(_Tpnu __nu, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1434:       return __detail::__cyl_bessel_k<__type>(__nu, __x);
1434:     }
1434: # 647 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   cyl_neumannf(float __nu, float __x)
1434:   { return __detail::__cyl_neumann_n<float>(__nu, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   cyl_neumannl(long double __nu, long double __x)
1434: ool m_guiSmartRedraw;
1417:     unsigned int m_addonPackageFolderSize;
1417: 
1417:     unsigned int m_cacheMemSize;
1417:     unsigned int m_cacheBufferMode;
1417:     unsigned int m_cacheChunkSize;
1417:     float m_cacheReadFactor;
1417: 
1417:     bool m_jsonOutputCompact;
1417:     unsigned int m_jsonTcpPort;
1417: 
1417:     bool m_enableMultimediaKeys;
1417:     std::vector<std::string> m_settingsFiles;
1417:     void ParseSettingsFile(const std::string &file);
1417: 
1417:     float GetLatencyTweak(float refreshrate);
1417:     bool m_initialized;
1417: 
1417:     void SetDebugMode(bool debug);
1417: 
1417: 
1417:     void ToggleDirtyRegionVisualization()
1417:     {
1417:       m_guiVisualizeDirtyRegions = !m_guiVisualizeDirtyRegions;
1417:     }
1417: 
1417: 
1417:     std::string m_videoExtensions;
1417:     std::string m_discStubExtensions;
1417:     std::string m_subtitlesExtensions;
1417:     std::string m_musicExtensions;
1417:     std::string m_pictureExtensions;
1417: 
1417:     std::string m_stereoscopicregex_3d;
1417:     std::string m_stereoscopicregex_sbs;
1417:     std::string m_stereoscopicregex_tab;
1417: 
1417:     bool m_openGlDebugging;
1417: 
1417:     std::string m_userAgent;
1417:     uint32_t m_nfsTimeout;
1417:     int m_nfsRetries;
1417: 
1417:   private:
1417:     void Initialize();
1417:     void Clear();
1417:     void SetExtraArtwork(const TiXmlElement* arttypes, std::vector<std::string>& artworkMap);
1417:     void MigrateOldArtSettings();
1417: };
1417: # 29 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1417:        
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h"
1417:        
1417: 
1417: 
1417: 
1417: namespace spdlog
1417: {
1417: class logger;
1417: }
1417: 
1417: using Logger = std::shared_ptr<spdlog::logger>;
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 2
1417: 
1417: 
1417: 
1417: class TiXmlNode;
1417: 
1417: class ISettingControl
1417: {
1417: public:
1417:   ISettingControl();
1417:   virtual ~ISettingControl() = default;
1417: 
1417:   virtual std::string GetType() const = 0;
1417:   const std::string& GetFormat() const { return m_format; }
1417:   bool GetDelayed() const { return m_delayed; }
1417:   void SetDelayed(bool delayed) { m_delayed = delayed; }
1417: 
1417:   virtual bool Deserialize(const TiXmlNode *node, bool update = false);
1417:   virtual bool SetFormat(const std::string &format) { return true; }
1417: 
1417: protected:
1417:   bool m_delayed = false;
1417:   std::string m_format;
1417: 
1417:   static Logger s_logger;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControlCreator.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControlCreator.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class ISettingControl;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class ISettingControlCreator
1417: {
1417: public:
1417:   virtual ~ISettingControlCreator() = default;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const = 0;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 2
1417: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h"
1417: class CVariant;
1417: 
1417: class CSettingControlCreator : public ISetcale_facets.h" 3
1115:       bool
1115:       is(mask __m, char_type __c) const
1115:       { return this->do_is(__m, __c); }
1115: # 188 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       is(const char_type *__lo, const char_type *__hi, mask *__vec) const
1115:       { return this->do_is(__lo, __hi, __vec); }
1115: # 204 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
1115:       { return this->do_scan_is(__m, __lo, __hi); }
1115: # 220 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
1115:       { return this->do_scan_not(__m, __lo, __hi); }
1115: # 234 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       toupper(char_type __c) const
1115:       { return this->do_toupper(__c); }
1115: # 249 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       toupper(char_type *__lo, const char_type* __hi) const
1115:       { return this->do_toupper(__lo, __hi); }
1115: # 263 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       tolower(char_type __c) const
1115:       { return this->do_tolower(__c); }
1115: # 278 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       tolower(char_type* __lo, const char_type* __hi) const
1115:       { return this->do_tolower(__lo, __hi); }
1115: # 295 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       widen(char __c) const
1115:       { return this->do_widen(__c); }
1115: # 314 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char*
1115:       widen(const char* __lo, const char* __hi, char_type* __to) const
1115:       { return this->do_widen(__lo, __hi, __to); }
1115: # 333 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char
1115:       narrow(char_type __c, char __dfault) const
1115:       { return this->do_narrow(__c, __dfault); }
1115: # 355 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       narrow(const char_type* __lo, const char_type* __hi,
1115:        char __dfault, char* __to) const
1115:       { return this->do_narrow(__lo, __hi, __dfault, __to); }
1115: 
1115:     protected:
1115:       explicit
1115:       __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
1115: 
1115:       virtual
1115:       ~__ctype_abstract_base() { }
1115: # 380 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual bool
1115:       do_is(mask __m, char_type __c) const = 0;
1115: # 399 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_is(const char_type* __lo, const char_type* __hi,
1115:      mask* __vec) const = 0;
1115: # 418 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_scan_is(mask __m, const char_type* __lo,
1115:    const char_type* __hi) const = 0;
1115: # 437 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_scan_not(mask __m, const char_type* __lo,
1115:     const char_type* __hi) const = 0;
1115: # 455 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_toupper(char_type __c) const = 0;
1115: # 472 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_toupper(char_type* __lo, const char_type* __hi) const = 0;
1115: # 488 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_tolower(char_type __c) const = 0;
1115: # 505 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_tolower(char_type* __lo, const char_type* __hi) const = 0;
1115: # 524 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_widen(char __c) const = 0;
1115: # 545 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char*
  { return __detail::__cyl_neumann_n<long double>(__nu, __x); }
1434: # 679 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tpnu, typename _Tp>
1434:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1434:     cyl_neumann(_Tpnu __nu, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1434:       return __detail::__cyl_neumann_n<__type>(__nu, __x);
1434:     }
1434: # 695 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   ellint_1f(float __k, float __phi)
1434:   { return __detail::__ellint_1<float>(__k, __phi); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   ellint_1l(long double __k, long double __phi)
1434:   { return __detail::__ellint_1<long double>(__k, __phi); }
1434: # 727 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp, typename _Tpp>
1434:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1434:     ellint_1(_Tp __k, _Tpp __phi)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1434:       return __detail::__ellint_1<__type>(__k, __phi);
1434:     }
1434: # 743 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   ellint_2f(float __k, float __phi)
1434:   { return __detail::__ellint_2<float>(__k, __phi); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   ellint_2l(long double __k, long double __phi)
1434:   { return __detail::__ellint_2<long double>(__k, __phi); }
1434: # 775 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp, typename _Tpp>
1434:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1434:     ellint_2(_Tp __k, _Tpp __phi)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1434:       return __detail::__ellint_2<__type>(__k, __phi);
1434:     }
1434: # 791 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   ellint_3f(float __k, float __nu, float __phi)
1434:   { return __detail::__ellint_3<float>(__k, __nu, __phi); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   ellint_3l(long double __k, long double __nu, long double __phi)
1434:   { return __detail::__ellint_3<long double>(__k, __nu, __phi); }
1434: # 828 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp, typename _Tpn, typename _Tpp>
1434:     inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
1434:     ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
1434:     {
1434:       typedef typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type __type;
1434:       return __detail::__ellint_3<__type>(__k, __nu, __phi);
1434:     }
1434: # 843 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   expintf(float __x)
1434:   { return __detail::__expint<float>(__x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   expintl(long double __x)
1434:   { return __detail::__expint<long double>(__x); }
1434: # 868 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     expint(_Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__expint<__type>(__x);
1434:     }
1434: # 884 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   hermitef(unsigned int __n, float __x)
1434:   { return __detail::__poly_hermite<float>(__n, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   hermitel(unsigned int __n, long double __x)
1434:   { return __detail::__poly_hermite<long double>(__n, __x); }
1434: # 916 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     hermite(unsigned int __n, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__poly_hermite<__type>(__n, __x);
1434:     }
1434: # 932 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   laguerref(unsigned int __n, float __x)
1434:   { return __detail::__laguerre<float>(__n, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   laguerrel(unsigned int __n, long double __x)
1434:   { return __detail::__laguerre<long double>(__n, __x); }
1434: # 960 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     laguerre(unsigned int __n, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__laguerre<__type>(__n, __x);
1434:     }
1434: # 976 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   legendref(unsigned int __l, float __x)
1434:   { return __detail::__poly_legendre_p<float>(__l, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   legendrel(unsigned int __l, long double __x)
1434:   { return __detail::__poly_legendre_p<long double>(__l, __x); }
1434: # 1005 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     legendre(unsigned int __l, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__poly_legendre_p<__type>(__l, __x);
1434:     }
1434: # 1021 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   riemann_zetaf(float __s)
1434:   { return __detail::__riemann_zeta<float>(__s); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   riemann_zetal(long double __s)
1434:   { return __detail::__riemann_zeta<long double>(__s); }
1434: # 1056 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     riemann_zeta(_Tp __s)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__riemann_zeta<__type>(__s);
1434:     }
1434: # 1072 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   sph_besself(unsigned int __n, float __x)
1434:   { return __detail::__sph_bessel<float>(__n, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   sph_bessell(unsigned int __n, long double __x)
1434:   { return __detail::__sph_bessel<long double>(__n, __x); }
1434: # 1100 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     sph_bessel(unsigned int __n, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__sph_bessel<__type>(__n, __x);
1434:     }
1434: # 1116 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   sph_legendref(unsigned int __l, unsigned int __m, float __theta)
1434:   { return __detail::__sph_legendre<float>(__l, __m, __theta); }
1434: # 1127 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline long double
1434:   sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
1434:   { return __detail::__sph_legendre<long double>(__l, __m, __theta); }
1434: # 1147 "/usr/include/c++/12/bits/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__sph_legendre<__type>(__l, __m, __theta);
1434:     }
1434: # 1163 "/usr/include/c++/12/bits/specfun.h" 3
1434:   inline float
1434:   sph_neumannf(unsigned int __n, float __x)
1434:   { return __detail::__sph_neumann<float>(__n, __x); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   inline long double
1434:   sph_neumannl(unsigned int __n, long double __x)
1434:   { return __detail::__sph_neumann<long double>(__n, __x); }
1434: # 1191 "/usr/include/c++/12/bitingControlCreator
1417: {
1417: public:
1417: 
1417:   std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const override;
1417: 
1417: protected:
1417:   CSettingControlCreator() = default;
1417:   ~CSettingControlCreator() override = default;
1417: };
1417: 
1417: class CSettingControlCheckmark : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlCheckmark()
1417:   {
1417:     m_format = "boolean";
1417:   }
1417:   ~CSettingControlCheckmark() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "toggle"; }
1417:   bool SetFormat(const std::string &format) override;
1417: };
1417: 
1417: class CSettingControlFormattedRange : public ISettingControl
1417: {
1417: public:
1417:   ~CSettingControlFormattedRange() override = default;
1417: 
1417:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1417: 
1417:   int GetFormatLabel() const { return m_formatLabel; }
1417:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1417:   const std::string& GetFormatString() const { return m_formatString; }
1417:   void SetFormatString(const std::string &formatString) { m_formatString = formatString; }
1417:   int GetMinimumLabel() const { return m_minimumLabel; }
1417:   void SetMinimumLabel(int minimumLabel) { m_minimumLabel = minimumLabel; }
1417: 
1417: protected:
1417:   CSettingControlFormattedRange() = default;
1417: 
1417:   int m_formatLabel = -1;
1417:   std::string m_formatString = "{}";
1417:   int m_minimumLabel = -1;
1417: };
1417: 
1417: class CSettingControlSpinner : public CSettingControlFormattedRange
1417: {
1417: public:
1417:   CSettingControlSpinner() = default;
1417:   ~CSettingControlSpinner() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "spinner"; }
1417: 
1417: 
1417:   bool SetFormat(const std::string &format) override;
1417: };
1417: 
1417: class CSettingControlEdit : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlEdit()
1417:   {
1417:     m_delayed = true;
1417:   }
1417:   ~CSettingControlEdit() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "edit"; }
1417:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1417:   bool SetFormat(const std::string &format) override;
1417: 
1417:   bool IsHidden() const { return m_hidden; }
1417:   void SetHidden(bool hidden) { m_hidden = hidden; }
1417:   bool VerifyNewValue() const { return m_verifyNewValue; }
1417:   void SetVerifyNewValue(bool verifyNewValue) { m_verifyNewValue = verifyNewValue; }
1417:   int GetHeading() const { return m_heading; }
1417:   void SetHeading(int heading) { m_heading = heading; }
1417: 
1417: protected:
1417:   bool m_hidden = false;
1417:   bool m_verifyNewValue = false;
1417:   int m_heading = -1;
1417: };
1417: 
1417: class CSettingControlButton : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlButton() = default;
1417:   ~CSettingControlButton() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "button"; }
1417:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1417:   bool SetFormat(const std::string &format) override;
1417: 
1417:   int GetHeading() const { return m_heading; }
1417:   void SetHeading(int heading) { m_heading = heading; }
1417:   bool HideValue() const { return m_hideValue; }
1417:   void SetHideValue(bool hideValue) { m_hideValue = hideValue; }
1417: 
1417:   bool ShowAddonDetails() const { return m_showAddonDetails; }
1417:   void SetShowAddonDetails(bool showAddonDetails) { m_showAddonDetails = showAddonDetails; }
1417:   bool ShowInstalledAddons() const { return m_showInstalledAddons; }
1417:   void SetShowInstalledAddons(bool showInstalledAddons) { m_showInstalledAddons = showInstalledAddons; }
1417:   bool ShowInstallableAddons() const { return m_showInstallableAddons; }
1417:   void SetShowInstallableAddons(bool showInstallableAddons) { m_showInstallableAddons = showInstallableAddons;ts/specfun.h" 3
1434:   template<typename _Tp>
1434:     inline typename __gnu_cxx::__promote<_Tp>::__type
1434:     sph_neumann(unsigned int __n, _Tp __x)
1434:     {
1434:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1434:       return __detail::__sph_neumann<__type>(__n, __x);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 1388 "/usr/include/c++/12/bits/specfun.h" 3
1434: #pragma GCC visibility pop
1434: # 1936 "/usr/include/c++/12/cmath" 2 3
1434: 
1434: 
1434: }
1434: # 37 "/usr/include/c++/12/math.h" 2 3
1434: 
1434: using std::abs;
1434: using std::acos;
1434: using std::asin;
1434: using std::atan;
1434: using std::atan2;
1434: using std::cos;
1434: using std::sin;
1434: using std::tan;
1434: using std::cosh;
1434: using std::sinh;
1434: using std::tanh;
1434: using std::exp;
1434: using std::frexp;
1434: using std::ldexp;
1434: using std::log;
1434: using std::log10;
1434: using std::modf;
1434: using std::pow;
1434: using std::sqrt;
1434: using std::ceil;
1434: using std::fabs;
1434: using std::floor;
1434: using std::fmod;
1434: 
1434: 
1434: using std::fpclassify;
1434: using std::isfinite;
1434: using std::isinf;
1434: using std::isnan;
1434: using std::isnormal;
1434: using std::signbit;
1434: using std::isgreater;
1434: using std::isgreaterequal;
1434: using std::isless;
1434: using std::islessequal;
1434: using std::islessgreater;
1434: using std::isunordered;
1434: 
1434: 
1434: 
1434: using std::acosh;
1434: using std::asinh;
1434: using std::atanh;
1434: using std::cbrt;
1434: using std::copysign;
1434: using std::erf;
1434: using std::erfc;
1434: using std::exp2;
1434: using std::expm1;
1434: using std::fdim;
1434: using std::fma;
1434: using std::fmax;
1434: using std::fmin;
1434: using std::hypot;
1434: using std::ilogb;
1434: using std::lgamma;
1434: using std::llrint;
1434: using std::llround;
1434: using std::log1p;
1434: using std::log2;
1434: using std::logb;
1434: using std::lrint;
1434: using std::lround;
1434: using std::nearbyint;
1434: using std::nextafter;
1434: using std::nexttoward;
1434: using std::remainder;
1434: using std::remquo;
1434: using std::rint;
1434: using std::round;
1434: using std::scalbln;
1434: using std::scalbn;
1434: using std::tgamma;
1434: using std::trunc;
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
1434: 
1434: # 1 "/usr/include/string.h" 1 3 4
1434: # 26 "/usr/include/string.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1434: # 27 "/usr/include/string.h" 2 3 4
1434: 
1434: extern "C" {
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 34 "/usr/include/string.h" 2 3 4
1434: # 43 "/usr/include/string.h" 3 4
1434: extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
1434:        size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern void *memmove (void *__dest, const void *__src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
1434:         int __c, size_t __n)
1434:     noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4)));
1434: 
1434: 
1434: 
1434: 
1434: extern void *memset (void *__s, int __c, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern int memcmp (const void *__s1, const void *__s2, size_t __n)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: # 80 "/usr/include/string.h" 3 4
1434: extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: extern "C++"
1434: {
1434: extern void *memchr (void *__s, int __c, size_t __n)
1434:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: e1115:       do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0;
1115: # 566 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char
1115:       do_narrow(char_type __c, char __dfault) const = 0;
1115: # 591 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_narrow(const char_type* __lo, const char_type* __hi,
1115:   char __dfault, char* __to) const = 0;
1115:     };
1115: # 614 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<typename _CharT>
1115:     class ctype : public __ctype_abstract_base<_CharT>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef typename __ctype_abstract_base<_CharT>::mask mask;
1115: 
1115: 
1115:       static locale::id id;
1115: 
1115:       explicit
1115:       ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
1115: 
1115:    protected:
1115:       virtual
1115:       ~ctype();
1115: 
1115:       virtual bool
1115:       do_is(mask __m, char_type __c) const;
1115: 
1115:       virtual const char_type*
1115:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1115: 
1115:       virtual const char_type*
1115:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1115: 
1115:       virtual const char_type*
1115:       do_scan_not(mask __m, const char_type* __lo,
1115:     const char_type* __hi) const;
1115: 
1115:       virtual char_type
1115:       do_toupper(char_type __c) const;
1115: 
1115:       virtual const char_type*
1115:       do_toupper(char_type* __lo, const char_type* __hi) const;
1115: 
1115:       virtual char_type
1115:       do_tolower(char_type __c) const;
1115: 
1115:       virtual const char_type*
1115:       do_tolower(char_type* __lo, const char_type* __hi) const;
1115: 
1115:       virtual char_type
1115:       do_widen(char __c) const;
1115: 
1115:       virtual const char*
1115:       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
1115: 
1115:       virtual char
1115:       do_narrow(char_type, char __dfault) const;
1115: 
1115:       virtual const char_type*
1115:       do_narrow(const char_type* __lo, const char_type* __hi,
1115:   char __dfault, char* __to) const;
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     locale::id ctype<_CharT>::id;
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     class ctype<basic_string<_CharT, _Traits, _Alloc> >;
1115: # 688 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<>
1115:     class ctype<char> : public locale::facet, public ctype_base
1115:     {
1115:     public:
1115: 
1115: 
1115:       typedef char char_type;
1115: 
1115:     protected:
1115: 
1115:       __c_locale _M_c_locale_ctype;
1115:       bool _M_del;
1115:       __to_type _M_toupper;
1115:       __to_type _M_tolower;
1115:       const mask* _M_table;
1115:       mutable char _M_widen_ok;
1115:       mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
1115:       mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
1115:       mutable char _M_narrow_ok;
1115: 
1115: 
1115:     public:
1115: 
1115:       static locale::id id;
1115: 
1115:       static const size_t table_size = 1 + static_cast<unsigned char>(-1);
1115: # 725 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
1115: # 738 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
1115:      size_t __refs = 0);
1115: # 751 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       inline bool
1115:       is(mask __m, char __c) const;
1115: # 766 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       inline const char*
1115:       is(const char* __lo, const char* __hi, mask* __vec) const;
1115: # 780 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       inline const char*
1115:       scan_is(mask __m,  }
1417:   bool ShowMoreAddons() const { return !m_showInstallableAddons && m_showMoreAddons; }
1417:   void SetShowMoreAddons(bool showMoreAddons) { m_showMoreAddons = showMoreAddons; }
1417: 
1417:   bool UseImageThumbs() const { return m_useImageThumbs; }
1417:   void SetUseImageThumbs(bool useImageThumbs) { m_useImageThumbs = useImageThumbs; }
1417:   bool UseFileDirectories() const { return m_useFileDirectories; }
1417:   void SetUseFileDirectories(bool useFileDirectories) { m_useFileDirectories = useFileDirectories; }
1417: 
1417:   bool HasActionData() const { return !m_actionData.empty(); }
1417:   const std::string& GetActionData() const { return m_actionData; }
1417:   void SetActionData(const std::string& actionData) { m_actionData = actionData; }
1417: 
1417:   bool CloseDialog() const { return m_closeDialog; }
1417:   void SetCloseDialog(bool closeDialog) { m_closeDialog = closeDialog; }
1417: 
1417: protected:
1417:   int m_heading = -1;
1417:   bool m_hideValue = false;
1417: 
1417:   bool m_showAddonDetails = true;
1417:   bool m_showInstalledAddons = true;
1417:   bool m_showInstallableAddons = false;
1417:   bool m_showMoreAddons = true;
1417: 
1417:   bool m_useImageThumbs = false;
1417:   bool m_useFileDirectories = false;
1417: 
1417:   std::string m_actionData;
1417:   bool m_closeDialog = false;
1417: };
1417: 
1417: class CSetting;
1417: using SettingControlListValueFormatter =
1417:     std::string (*)(const std::shared_ptr<const CSetting>& setting);
1417: 
1417: class CSettingControlList : public CSettingControlFormattedRange
1417: {
1417: public:
1417:   CSettingControlList() = default;
1417:   ~CSettingControlList() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "list"; }
1417: 
1417: 
1417:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1417:   bool SetFormat(const std::string &format) override;
1417: 
1417:   int GetHeading() const { return m_heading; }
1417:   void SetHeading(int heading) { m_heading = heading; }
1417:   bool CanMultiSelect() const { return m_multiselect; }
1417:   void SetMultiSelect(bool multiselect) { m_multiselect = multiselect; }
1417:   bool HideValue() const { return m_hideValue; }
1417:   void SetHideValue(bool hideValue) { m_hideValue = hideValue; }
1417:   int GetAddButtonLabel() const { return m_addButtonLabel; }
1417:   void SetAddButtonLabel(int label) { m_addButtonLabel = label; }
1417: 
1417:   SettingControlListValueFormatter GetFormatter() const { return m_formatter; }
1417:   void SetFormatter(SettingControlListValueFormatter formatter) { m_formatter = formatter; }
1417: 
1417:   bool UseDetails() const { return m_useDetails; }
1417:   void SetUseDetails(bool useDetails) { m_useDetails = useDetails; }
1417: 
1417: protected:
1417:   int m_heading = -1;
1417:   bool m_multiselect = false;
1417:   bool m_hideValue = false;
1417:   int m_addButtonLabel = -1;
1417:   SettingControlListValueFormatter m_formatter = nullptr;
1417:   bool m_useDetails{false};
1417: };
1417: 
1417: class CSettingControlSlider;
1417: using SettingControlSliderFormatter =
1417:     std::string (*)(const std::shared_ptr<const CSettingControlSlider>& control,
1417:                     const CVariant& value,
1417:                     const CVariant& minimum,
1417:                     const CVariant& step,
1417:                     const CVariant& maximum);
1417: 
1417: class CSettingControlSlider : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlSlider() = default;
1417:   ~CSettingControlSlider() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "slider"; }
1417:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1417:   bool SetFormat(const std::string &format) override;
1417: 
1417:   int GetHeading() const { return m_heading; }
1417:   void SetHeading(int heading) { m_heading = heading; }
1417:   bool UsePopup() const { return m_popup; }
1417:   void SetPopup(bool popup) { m_popup = popup; }
1417:   int GetFormatLabel() const { return m_fxtern const void *memchr (const void *__s, int __c, size_t __n)
1434:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void *
1434: memchr (void *__s, int __c, size_t __n) noexcept (true)
1434: {
1434:   return __builtin_memchr (__s, __c, __n);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void *
1434: memchr (const void *__s, int __c, size_t __n) noexcept (true)
1434: {
1434:   return __builtin_memchr (__s, __c, __n);
1434: }
1434: 
1434: }
1434: # 115 "/usr/include/string.h" 3 4
1434: extern "C++" void *rawmemchr (void *__s, int __c)
1434:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: extern "C++" const void *rawmemchr (const void *__s, int __c)
1434:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" void *memrchr (void *__s, int __c, size_t __n)
1434:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1434:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1434: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
1434:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1434:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1434: # 141 "/usr/include/string.h" 3 4
1434: extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern char *strncpy (char *__restrict __dest,
1434:         const char *__restrict __src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern char *strcat (char *__restrict __dest, const char *__restrict __src)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern char *strncat (char *__restrict __dest, const char *__restrict __src,
1434:         size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int strcmp (const char *__s1, const char *__s2)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern int strncmp (const char *__s1, const char *__s2, size_t __n)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int strcoll (const char *__s1, const char *__s2)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: extern size_t strxfrm (char *__restrict __dest,
1434:          const char *__restrict __src, size_t __n)
1434:     noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1434: 
1434: 
1434: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
1434:     locale_t __l) noexcept (true) __attribute__ ((__nonnull__ (2, 4)))
1434:      __attribute__ ((__access__ (__write_only__, 1, 3)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *strdup (const char *__s)
1434:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *strndup (const char *__string, size_t __n)
1434:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1434: # 224 "/usr/include/string.h" 3 4
1434: extern "C++"
1434: {
1434: extern char *strchr (char *__s, int __c)
1434:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: extern const char *strchr (const char *__s, int __c)
1434:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1434: strchr (char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_strchr (__s, __c);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1434: strchr (const char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_strchr (__s, __c);
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++"
1434: {
1434: extern char *strrchr (char *__s, int __c)
1434:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: extern const char *strrchr (const char *__s, int __c)
1434:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1434: strrchr (char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_strrchr (__s, __c);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1434: strrchr (const char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_strrchr (__s, __c);
1434: }
1434: 
1434: }
1434: # 281 "/usr/include/string.h" 3 4
1434: extern "C++" char *strchrnul (char *__s, int __c)
1434:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: extern "C++" const char *strchrnul (const char *__s, int __c)
1434:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: # 293 "/usr/include/string.h" 3 4
1434: extern size_t strcspn (const char *__s, const char *__reject)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern size_t strspn (const char *__s, const char *__accept)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern "C++"
1434: {
1434: extern char *strpbrk (char *__s, const char *__accept)
1434:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: extern const char *strpbrk (const char *__s, const char *__accept)
1434:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1434: strpbrk (char *__s, const char *__accept) noexcept (true)
1434: {
1434:   return __builtin_strpbrk (__s, __accept);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1434: strpbrk (const char *__s, const char *__accept) noexcept (true)
1434: {
1434:   return __builtin_strpbrk (__s, __accept);
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++"
1434: {
1434: extern char *strstr (char *__haystack, const char *__needle)
1434:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: extern const char *strstr (const char *__haystack, const char *__needle)
1434:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1434: strstr (char *__haystack, const char *__needle) noexcept (true)
1434: {
1434:   return __builtin_strstr (__haystack, __needle);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1434: strstr (const char *__haystack, const char *__needle) noexcept (true)
1434: {
1434:   return __builtin_strstr (__haystack, __needle);
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: const char* __lo, const char* __hi) const;
1115: # 794 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       inline const char*
1115:       scan_not(mask __m, const char* __lo, const char* __hi) const;
1115: # 809 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       toupper(char_type __c) const
1115:       { return this->do_toupper(__c); }
1115: # 826 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       toupper(char_type *__lo, const char_type* __hi) const
1115:       { return this->do_toupper(__lo, __hi); }
1115: # 842 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       tolower(char_type __c) const
1115:       { return this->do_tolower(__c); }
1115: # 859 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       tolower(char_type* __lo, const char_type* __hi) const
1115:       { return this->do_tolower(__lo, __hi); }
1115: # 879 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       widen(char __c) const
1115:       {
1115:  if (_M_widen_ok)
1115:    return _M_widen[static_cast<unsigned char>(__c)];
1115:  this->_M_widen_init();
1115:  return this->do_widen(__c);
1115:       }
1115: # 906 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char*
1115:       widen(const char* __lo, const char* __hi, char_type* __to) const
1115:       {
1115:  if (_M_widen_ok == 1)
1115:    {
1115:      if (__builtin_expect(__hi != __lo, true))
1115:        __builtin_memcpy(__to, __lo, __hi - __lo);
1115:      return __hi;
1115:    }
1115:  if (!_M_widen_ok)
1115:    _M_widen_init();
1115:  return this->do_widen(__lo, __hi, __to);
1115:       }
1115: # 938 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char
1115:       narrow(char_type __c, char __dfault) const
1115:       {
1115:  if (_M_narrow[static_cast<unsigned char>(__c)])
1115:    return _M_narrow[static_cast<unsigned char>(__c)];
1115:  const char __t = do_narrow(__c, __dfault);
1115:  if (__t != __dfault)
1115:    _M_narrow[static_cast<unsigned char>(__c)] = __t;
1115:  return __t;
1115:       }
1115: # 971 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       const char_type*
1115:       narrow(const char_type* __lo, const char_type* __hi,
1115:       char __dfault, char* __to) const
1115:       {
1115:  if (__builtin_expect(_M_narrow_ok == 1, true))
1115:    {
1115:      if (__builtin_expect(__hi != __lo, true))
1115:        __builtin_memcpy(__to, __lo, __hi - __lo);
1115:      return __hi;
1115:    }
1115:  if (!_M_narrow_ok)
1115:    _M_narrow_init();
1115:  return this->do_narrow(__lo, __hi, __dfault, __to);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const mask*
1115:       table() const throw()
1115:       { return _M_table; }
1115: 
1115: 
1115:       static const mask*
1115:       classic_table() throw();
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       virtual
1115:       ~ctype();
1115: # 1021 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_toupper(char_type __c) const;
1115: # 1038 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_toupper(char_type* __lo, const char_type* __hi) const;
1115: # 1054 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_tolower(char_type __c) const;
1115: # 1071 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_tolower(char_type* __lo, const char_type* __hi) const;
1115: # 1091 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_widen(char __c) const
1115:       { return __c; }
1115: # 1114 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char*
1115:       do_widen(const char* __lo, const char* __hi, char_type* __to) const
1115:       {
1115:  if (__builtin_expect(__hi != __lo, true))
1115:    __builtin_memcpy(__to, __lo, __hi - __lo);
1115:  return __hi;
1115:       }
1115: # 1141 "/usr/include/c++ormatLabel; }
1417:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1417:   const std::string& GetFormatString() const { return m_formatString; }
1417:   void SetFormatString(const std::string &formatString) { m_formatString = formatString; }
1417:   std::string GetDefaultFormatString() const;
1417: 
1417:   SettingControlSliderFormatter GetFormatter() const { return m_formatter; }
1417:   void SetFormatter(SettingControlSliderFormatter formatter) { m_formatter = formatter; }
1417: 
1417: protected:
1417:   int m_heading = -1;
1417:   bool m_popup = false;
1417:   int m_formatLabel = -1;
1417:   std::string m_formatString;
1417:   SettingControlSliderFormatter m_formatter = nullptr;
1417: };
1417: 
1417: class CSettingControlRange : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlRange() = default;
1417:   ~CSettingControlRange() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "range"; }
1417:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1417:   bool SetFormat(const std::string &format) override;
1417: 
1417:   int GetFormatLabel() const { return m_formatLabel; }
1417:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1417:   int GetValueFormatLabel() const { return m_valueFormatLabel; }
1417:   void SetValueFormatLabel(int valueFormatLabel) { m_valueFormatLabel = valueFormatLabel; }
1417:   const std::string& GetValueFormat() const { return m_valueFormat; }
1417:   void SetValueFormat(const std::string &valueFormat) { m_valueFormat = valueFormat; }
1417: 
1417: protected:
1417:   int m_formatLabel = 21469;
1417:   int m_valueFormatLabel = -1;
1417:   std::string m_valueFormat = "{}";
1417: };
1417: 
1417: class CSettingControlTitle : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlTitle() = default;
1417:   ~CSettingControlTitle() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "title"; }
1417:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1417: 
1417:   bool IsSeparatorHidden() const { return m_separatorHidden; }
1417:   void SetSeparatorHidden(bool hidden) { m_separatorHidden = hidden; }
1417:   bool IsSeparatorBelowLabel() const { return m_separatorBelowLabel; }
1417:   void SetSeparatorBelowLabel(bool below) { m_separatorBelowLabel = below; }
1417: 
1417: protected:
1417:   bool m_separatorHidden = false;
1417:   bool m_separatorBelowLabel = true;
1417: };
1417: 
1417: class CSettingControlLabel : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlLabel();
1417:   ~CSettingControlLabel() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "label"; }
1417: };
1417: 
1417: class CSettingControlColorButton : public ISettingControl
1417: {
1417: public:
1417:   CSettingControlColorButton() { m_format = "string"; }
1417:   ~CSettingControlColorButton() override = default;
1417: 
1417: 
1417:   std::string GetType() const override { return "colorbutton"; }
1417:   bool SetFormat(const std::string& format) override;
1417: };
1417: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class CSetting;
1417: class CSettingsManager;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class ISettingCreator
1417: {
1417: public:
1417:   virtual ~ISettingCreator() = default;
1417: # 34 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h"
1417:   virtual std::shared_ptr<CSetting> CreateSetting(const std::string &settingType, const std::string &settingId, CSettingsManager *settingsManager = nullptr) const = 0;
1417: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.
1434: 
1434: 
1434: extern char *strtok (char *__restrict __s, const char *__restrict __delim)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1434: 
1434: 
1434: 
1434: extern char *__strtok_r (char *__restrict __s,
1434:     const char *__restrict __delim,
1434:     char **__restrict __save_ptr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1434: 
1434: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
1434:          char **__restrict __save_ptr)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" char *strcasestr (char *__haystack, const char *__needle)
1434:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: extern "C++" const char *strcasestr (const char *__haystack,
1434:          const char *__needle)
1434:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: # 389 "/usr/include/string.h" 3 4
1434: extern void *memmem (const void *__haystack, size_t __haystacklen,
1434:        const void *__needle, size_t __needlelen)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)))
1434:     __attribute__ ((__access__ (__read_only__, 1, 2)))
1434:     __attribute__ ((__access__ (__read_only__, 3, 4)));
1434: 
1434: 
1434: 
1434: extern void *__mempcpy (void *__restrict __dest,
1434:    const void *__restrict __src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: extern void *mempcpy (void *__restrict __dest,
1434:         const void *__restrict __src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: extern size_t strlen (const char *__s)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern size_t strnlen (const char *__string, size_t __maxlen)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: 
1434: extern char *strerror (int __errnum) noexcept (true);
1434: # 444 "/usr/include/string.h" 3 4
1434: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
1434:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1434: 
1434: 
1434: 
1434: 
1434: extern const char *strerrordesc_np (int __err) noexcept (true);
1434: 
1434: extern const char *strerrorname_np (int __err) noexcept (true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern char *strerror_l (int __errnum, locale_t __l) noexcept (true);
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/strings.h" 1 3 4
1434: # 23 "/usr/include/strings.h" 3 4
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 24 "/usr/include/strings.h" 2 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C" {
1434: 
1434: 
1434: 
1434: extern int bcmp (const void *__s1, const void *__s2, size_t __n)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern void bcopy (const void *__src, void *__dest, size_t __n)
1434:   noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern void bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: 
1434: extern "C++"
1434: {
1434: extern char *index (char *__s, int __c)
1434:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: extern const char *index (const char *__s, int __c)
1434:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1434: index (char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_index (__s, __c);
1434: }
1434: 
1434: extern __inline __attr/12/bits/locale_facets.h" 3
1115:       virtual char
1115:       do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const
1115:       { return __c; }
1115: # 1167 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_narrow(const char_type* __lo, const char_type* __hi,
1115:   char __dfault __attribute__((__unused__)), char* __to) const
1115:       {
1115:  if (__builtin_expect(__hi != __lo, true))
1115:    __builtin_memcpy(__to, __lo, __hi - __lo);
1115:  return __hi;
1115:       }
1115: 
1115:     private:
1115:       void _M_narrow_init() const;
1115:       void _M_widen_init() const;
1115:     };
1115: # 1193 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<>
1115:     class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
1115:     {
1115:     public:
1115: 
1115: 
1115:       typedef wchar_t char_type;
1115:       typedef wctype_t __wmask_type;
1115: 
1115:     protected:
1115:       __c_locale _M_c_locale_ctype;
1115: 
1115: 
1115:       bool _M_narrow_ok;
1115:       char _M_narrow[128];
1115:       wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
1115: 
1115: 
1115:       mask _M_bit[16];
1115:       __wmask_type _M_wmask[16];
1115: 
1115:     public:
1115: 
1115: 
1115:       static locale::id id;
1115: # 1226 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       ctype(size_t __refs = 0);
1115: # 1237 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       ctype(__c_locale __cloc, size_t __refs = 0);
1115: 
1115:     protected:
1115:       __wmask_type
1115:       _M_convert_to_wmask(const mask __m) const throw();
1115: 
1115: 
1115:       virtual
1115:       ~ctype();
1115: # 1261 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual bool
1115:       do_is(mask __m, char_type __c) const;
1115: # 1280 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1115: # 1298 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1115: # 1316 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_scan_not(mask __m, const char_type* __lo,
1115:     const char_type* __hi) const;
1115: # 1333 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_toupper(char_type __c) const;
1115: # 1350 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_toupper(char_type* __lo, const char_type* __hi) const;
1115: # 1366 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_tolower(char_type __c) const;
1115: # 1383 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_tolower(char_type* __lo, const char_type* __hi) const;
1115: # 1403 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_widen(char __c) const;
1115: # 1425 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char*
1115:       do_widen(const char* __lo, const char* __hi, char_type* __to) const;
1115: # 1448 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char
1115:       do_narrow(char_type __c, char __dfault) const;
1115: # 1474 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual const char_type*
1115:       do_narrow(const char_type* __lo, const char_type* __hi,
1115:   char __dfault, char* __to) const;
1115: 
1115: 
1115:       void
1115:       _M_initialize_ctype() throw();
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     class ctype_byname : public ctype<_CharT>
1115:     {
1115:     public:
1115:       typedef typename ctype<_CharT>::mask mask;
1115: 
1115:       explicit
1115:       ctype_byname(const char* __s, size_t __refs = 0);
1115: 
1115: 
1115:       explicit
1115:       ctype_byname(const sibute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1434: index (const char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_index (__s, __c);
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++"
1434: {
1434: extern char *rindex (char *__s, int __c)
1434:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: extern const char *rindex (const char *__s, int __c)
1434:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1434: rindex (char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_rindex (__s, __c);
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1434: rindex (const char *__s, int __c) noexcept (true)
1434: {
1434:   return __builtin_rindex (__s, __c);
1434: }
1434: 
1434: }
1434: # 104 "/usr/include/strings.h" 3 4
1434: extern int ffs (int __i) noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int ffsl (long int __l) noexcept (true) __attribute__ ((__const__));
1434: __extension__ extern int ffsll (long long int __ll)
1434:      noexcept (true) __attribute__ ((__const__));
1434: 
1434: 
1434: 
1434: extern int strcasecmp (const char *__s1, const char *__s2)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1434: 
1434: 
1434: 
1434: extern int strncasecmp_l (const char *__s1, const char *__s2,
1434:      size_t __n, locale_t __loc)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
1434: 
1434: 
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 1 3 4
1434: # 22 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 3 4
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1434: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) noexcept (true)
1434: {
1434:   (void) __builtin___memmove_chk (__dest, __src, __len,
1434:       __builtin_object_size (__dest, 0));
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1434: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) noexcept (true)
1434: {
1434:   (void) __builtin___memset_chk (__dest, '\0', __len,
1434:      __builtin_object_size (__dest, 0));
1434: }
1434: # 145 "/usr/include/strings.h" 2 3 4
1434: # 463 "/usr/include/string.h" 2 3 4
1434: 
1434: 
1434: 
1434: extern void explicit_bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1434:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: 
1434: 
1434: 
1434: extern char *strsep (char **__restrict __stringp,
1434:        const char *__restrict __delim)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: extern char *strsignal (int __sig) noexcept (true);
1434: 
1434: 
1434: 
1434: extern const char *sigabbrev_np (int __sig) noexcept (true);
1434: 
1434: 
1434: extern const char *sigdescr_np (int __sig) noexcept (true);
1434: 
1434: 
1434: 
1434: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
140+dfsg/xbmc/settings/SettingCreator.h" 2
1417: 
1417: class CSettingCreator : public ISettingCreator
1417: {
1417: public:
1417: 
1417:   std::shared_ptr<CSetting> CreateSetting(const std::string &settingType, const std::string &settingId, CSettingsManager *settingsManager = nullptr) const override;
1417: 
1417: protected:
1417:   CSettingCreator() = default;
1417:   ~CSettingCreator() override = default;
1417: };
1417: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1417:        
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1417: class CSetting;
1417: class CSettingSection;
1417: class CSettingsManager;
1417: class CVariant;
1417: class CXBMCTinyXML;
1417: class TiXmlElement;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CSettingsBase
1417: {
1417: public:
1417:   virtual ~CSettingsBase();
1417: 
1417:   CSettingsManager* GetSettingsManager() const { return m_settingsManager; }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool Initialize();
1417: 
1417: 
1417: 
1417:   virtual bool IsInitialized() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool Load() = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void SetLoaded();
1417: 
1417: 
1417: 
1417:   virtual bool IsLoaded() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual bool Save() = 0;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Unload();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   virtual void Uninitialize();
1417: # 94 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1417:   void RegisterCallback(ISettingCallback* callback, const std::set<std::string>& settingList);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void UnregisterCallback(ISettingCallback* callback);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::shared_ptr<CSetting> GetSetting(const std::string& id) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::vector<std::shared_ptr<CSettingSection>> GetSections() const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::shared_ptr<CSettingSection> GetSection(const std::string& section) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool GetBool(const std::string& id) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   int GetInt(const std::string& id) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   double GetNumber(const std::string& id) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::string GetString(const std::string& id) const;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::vector<CVariant> GetList(const std::string& id) const;
1417: # 166 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1417:   bool SetBool(const std::string& id, bool value);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool ToggleBool(const std::string& id);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SetInt(const std::string& id, int value);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SetNumber(const std::string& id, double value);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SetString(const std::string& id, const std::string& value);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SetList(const std::string& id, const std::vector<CVariant>& value);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SetDefault(const std::string &id);
1417: 
1417: 
1417: 
1417:   void SetDefaults();
1417: 
1417: protected:
1417:   CSettingsBase();
1417: 
1417:   virtual void InitializeSettingTypes() { }
1417:   virtual void InitializeControls() { }
1417:   virtual void InitializeOptionFillers() { }
1417:   virtual void UninitializeOptionFillers() { }
1417:   virtual void InitializeConditions() { }
1417:   virtual void UninitializeConditions() { }
1417:   virtual bool InitializeDefinitions() = 0;
1417:   virtual void InitializeVisibi34:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: extern char *__stpncpy (char *__restrict __dest,
1434:    const char *__restrict __src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: extern char *stpncpy (char *__restrict __dest,
1434:         const char *__restrict __src, size_t __n)
1434:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: extern int strverscmp (const char *__s1, const char *__s2)
1434:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1434: 
1434: 
1434: extern char *strfry (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1434: 
1434: 
1434: extern void *memfrob (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1434:     __attribute__ ((__access__ (__read_write__, 1, 2)));
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: extern "C++" char *basename (char *__filename)
1434:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1434: extern "C++" const char *basename (const char *__filename)
1434:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1434: # 535 "/usr/include/string.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 1 3 4
1434: # 25 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1434: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1434: 
1434: {
1434:   return __builtin___memcpy_chk (__dest, __src, __len,
1434:      __builtin_object_size (__dest, 0));
1434: }
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1434: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) noexcept (true)
1434: {
1434:   return __builtin___memmove_chk (__dest, __src, __len,
1434:       __builtin_object_size (__dest, 0));
1434: }
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1434: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1434: 
1434: {
1434:   return __builtin___mempcpy_chk (__dest, __src, __len,
1434:       __builtin_object_size (__dest, 0));
1434: }
1434: # 56 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1434: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) noexcept (true)
1434: {
1434:   return __builtin___memset_chk (__dest, __ch, __len,
1434:      __builtin_object_size (__dest, 0));
1434: }
1434: 
1434: 
1434: 
1434: 
1434: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
1434:   noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1434: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) noexcept (true)
1434: {
1434:   __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0));
1434: }
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1434: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1434: {
1434:   return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1434: }
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1434: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1434: {
1434:   return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1434: }
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1434: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
1434: 
1434: {
1434:   return __builtin___strncpy_chk (__dest, __src, __len,
1434:       __builtin_object_size (__dest, 2 > 1));
1434: }
1434: 
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1434: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) noexcept (true)
1434: {
1434:   return __builtin___stpncpy_chk (__dest, __src, __n,
1434:       __builtin_object_size (__dest, 2 > 1));
1434: }
1434: # 127 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1434: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1434: {
1434:   return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1434: }
1434: 
1434: 
1434: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1434: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
1434: 
1434: {
1434:   return __builtin___strncat_chk (__dest, __src, __len,
1434:       __builtin_object_size (__dest, 2 > 1));
1434: }
1434: # 536 "/usr/include/string.h" 2 3 4
1434: 
1434: 
1434: 
1434: }
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
1434: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1434: 
1434: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1434: class TransformMatrix
1434: {
1434: public:
1434:   TransformMatrix()
1434:   {
1434:     Reset();
1434:   };
1434:   void Reset()
1434:   {
1434:     m[0][0] = 1.0f; m[0][1] = m[0][2] = m[0][3] = 0.0f;
1434:     m[1][0] = m[1][2] = m[1][3] = 0.0f; m[1][1] = 1.0f;
1434:     m[2][0] = m[2][1] = m[2][3] = 0.0f; m[2][2] = 1.0f;
1434:     alpha = red = green = blue = 1.0f;
1434:     identity = true;
1434:   };
1434:   static TransformMatrix CreateTranslation(float transX, float transY, float transZ = 0)
1434:   {
1434:     TransformMatrix translation;
1434:     translation.SetTranslation(transX, transY, transZ);
1434:     return translation;
1434:   }
1434:   void SetTranslation(float transX, float transY, float transZ)
1434:   {
1434:     m[0][1] = m[0][2] = 0.0f; m[0][0] = 1.0f; m[0][3] = transX;
1434:     m[1][0] = m[1][2] = 0.0f; m[1][1] = 1.0f; m[1][3] = transY;
1434:     m[2][0] = m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = transZ;
1434:     alpha = red = green = blue = 1.0f;
1434:     identity = (transX == 0 && transY == 0 && transZ == 0);
1434:   }
1434:   static TransformMatrix CreateScaler(float scaleX, float scaleY, float scaleZ = 1.0f)
1434:   {
1434:     TransformMatrix scaler;
1434:     scaler.m[0][0] = scaleX;
1434:     scaler.m[1][1] = scaleY;
1434:     scaler.m[2][2] = scaleZ;
1434:     scaler.identity = (scaleX == 1 && scaleY == 1 && scaleZ == 1);
1434:     return scaler;
1434:   };
1434:   void SetScaler(float scaleX, float scaleY, float centerX, float centerY)
1434:   {
1434: 
1434:     float centerZ = 0.0f, scaleZ = 1.0f;
1434:     m[0][0] = scaleX; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = centerX*(1-scaleX);
1434:     m[1][0] = 0.0f; m[1][1] = scaleY; m[1][2] = 0.0f; m[1][3] = centerY*(1-scaleY);
1434:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = scaleZ; m[2][3] = centerZ*(1-scaleZ);
1434:     alpha = red = green = blue = 1.0f;
1434:     identity = (scaleX == 1 && scaleY == 1);
1434:   };
1434:   void SetXRotatring& __s, size_t __refs = 0)
1115:       : ctype_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~ctype_byname() { }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     class ctype_byname<char> : public ctype<char>
1115:     {
1115:     public:
1115:       explicit
1115:       ctype_byname(const char* __s, size_t __refs = 0);
1115: 
1115: 
1115:       explicit
1115:       ctype_byname(const string& __s, size_t __refs = 0);
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~ctype_byname();
1115:     };
1115: 
1115: 
1115:   template<>
1115:     class ctype_byname<wchar_t> : public ctype<wchar_t>
1115:     {
1115:     public:
1115:       explicit
1115:       ctype_byname(const char* __s, size_t __refs = 0);
1115: 
1115: 
1115:       explicit
1115:       ctype_byname(const string& __s, size_t __refs = 0);
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~ctype_byname();
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 1 3
1115: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   bool
1115:   ctype<char>::
1115:   is(mask __m, char __c) const
1115:   { return _M_table[static_cast<unsigned char>(__c)] & __m; }
1115: 
1115:   const char*
1115:   ctype<char>::
1115:   is(const char* __low, const char* __high, mask* __vec) const
1115:   {
1115:     while (__low < __high)
1115:       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
1115:     return __high;
1115:   }
1115: 
1115:   const char*
1115:   ctype<char>::
1115:   scan_is(mask __m, const char* __low, const char* __high) const
1115:   {
1115:     while (__low < __high
1115:     && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
1115:       ++__low;
1115:     return __low;
1115:   }
1115: 
1115:   const char*
1115:   ctype<char>::
1115:   scan_not(mask __m, const char* __low, const char* __high) const
1115:   {
1115:     while (__low < __high
1115:     && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
1115:       ++__low;
1115:     return __low;
1115:   }
1115: 
1115: 
1115: }
1115: # 1547 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   class __num_base
1115:   {
1115:   public:
1115: 
1115: 
1115:     enum
1115:       {
1115:  _S_ominus,
1115:  _S_oplus,
1115:  _S_ox,
1115:  _S_oX,
1115:  _S_odigits,
1115:  _S_odigits_end = _S_odigits + 16,
1115:  _S_oudigits = _S_odigits_end,
1115:  _S_oudigits_end = _S_oudigits + 16,
1115:  _S_oe = _S_odigits + 14,
1115:  _S_oE = _S_oudigits + 14,
1115:  _S_oend = _S_oudigits_end
1115:       };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     static const char* _S_atoms_out;
1115: 
1115: 
1115: 
1115:     static const char* _S_atoms_in;
1115: 
1115:     enum
1115:     {
1115:       _S_iminus,
1115:       _S_iplus,
1115:       _S_ix,
1115:       _S_iX,
1115:       _S_izero,
1115:       _S_ie = _S_izero + 14,
1115:       _S_iE = _S_izero + 20,
1115:       _S_iend = 26
1115:     };
1115: 
1115: 
1115: 
1115:     static void
1115:     _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
1115:   };
1115: 
1115:   template<typename _CharT>
1115:     struct __numpunct_cache : public locale::facet
1115:     {
1115:       const char* _M_grouping;
1115:       size_t _M_grouping_size;
1115:       bool _M_use_grouping;
1115:       const _CharT* _M_truename;
1115:       size_t _M_truename_size;
1115:       const _CharT* _M_falsename;
1115:       size_t _M_falsename_size;
1115:       _CharT _M_decimal_point;
1115:       _CharT _M_thousands_sep;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       _CharT _M_atoms_out[__num_base::_S_oend];
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       _CharT _M_atoms_in[__num_base::_S_iend];
1115: 
1115:       bool _M_allocated;
1115: 
1115:       __numpunct_cache(size_t __refs = 0)
1115:  lity() { }
1417:   virtual void InitializeDefaults() { }
1417:   virtual void InitializeISettingsHandlers() { }
1417:   virtual void UninitializeISettingsHandlers() { }
1417:   virtual void InitializeISubSettings() { }
1417:   virtual void UninitializeISubSettings() { }
1417:   virtual void InitializeISettingCallbacks() { }
1417:   virtual void UninitializeISettingCallbacks() { }
1417: 
1417:   bool InitializeDefinitionsFromXml(const CXBMCTinyXML& xml);
1417: # 247 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1417:   bool LoadValuesFromXml(const CXBMCTinyXML& xml, bool& updated);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool SaveValuesToXml(CXBMCTinyXML& xml) const;
1417: # 263 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1417:   bool LoadValuesFromXml(const TiXmlElement* root, bool& updated);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool LoadHiddenValuesFromXml(const TiXmlElement* root);
1417: 
1417:   bool m_initialized = false;
1417:   CSettingsManager* m_settingsManager;
1417:   mutable CCriticalSection m_critical;
1417: private:
1417:   CSettingsBase(const CSettingsBase&) = delete;
1417:   CSettingsBase& operator=(const CSettingsBase&) = delete;
1417: };
1417: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1417: 
1417: 
1417: 
1417: class CSettingList;
1417: class TiXmlNode;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CSettings : public CSettingsBase, public CSettingCreator, public CSettingControlCreator
1417:                 , private ISubSettings
1417: {
1417: public:
1417:   static constexpr auto SETTING_LOOKANDFEEL_SKIN = "lookandfeel.skin";
1417:   static constexpr auto SETTING_LOOKANDFEEL_SKINSETTINGS = "lookandfeel.skinsettings";
1417:   static constexpr auto SETTING_LOOKANDFEEL_SKINTHEME = "lookandfeel.skintheme";
1417:   static constexpr auto SETTING_LOOKANDFEEL_SKINCOLORS = "lookandfeel.skincolors";
1417:   static constexpr auto SETTING_LOOKANDFEEL_FONT = "lookandfeel.font";
1417:   static constexpr auto SETTING_LOOKANDFEEL_SKINZOOM = "lookandfeel.skinzoom";
1417:   static constexpr auto SETTING_LOOKANDFEEL_STARTUPACTION = "lookandfeel.startupaction";
1417:   static constexpr auto SETTING_LOOKANDFEEL_STARTUPWINDOW = "lookandfeel.startupwindow";
1417:   static constexpr auto SETTING_LOOKANDFEEL_SOUNDSKIN = "lookandfeel.soundskin";
1417:   static constexpr auto SETTING_LOOKANDFEEL_ENABLERSSFEEDS = "lookandfeel.enablerssfeeds";
1417:   static constexpr auto SETTING_LOOKANDFEEL_RSSEDIT = "lookandfeel.rssedit";
1417:   static constexpr auto SETTING_LOOKANDFEEL_STEREOSTRENGTH = "lookandfeel.stereostrength";
1417:   static constexpr auto SETTING_LOCALE_LANGUAGE = "locale.language";
1417:   static constexpr auto SETTING_LOCALE_COUNTRY = "locale.country";
1417:   static constexpr auto SETTING_LOCALE_CHARSET = "locale.charset";
1417:   static constexpr auto SETTING_LOCALE_KEYBOARDLAYOUTS = "locale.keyboardlayouts";
1417:   static constexpr auto SETTING_LOCALE_ACTIVEKEYBOARDLAYOUT = "locale.activekeyboardlayout";
1417:   static constexpr auto SETTING_LOCALE_TIMEZONECOUNTRY = "locale.timezonecountry";
1417:   static constexpr auto SETTING_LOCALE_TIMEZONE = "locale.timezone";
1417:   static constexpr auto SETTING_LOCALE_SHORTDATEFORMAT = "locale.shortdateformat";
1417:   static constexpr auto SETTING_LOCALE_LONGDATEFORMAT = "locale.longdateformat";
1417:   static constexpr auto SETTING_LOCALE_TIMEFORMAT = "locale.timeformat";
1417:   static constexpr auto SETTING_LOCALE_USE24HOURCLOCK = "locale.use24hourclock";
1417:   static constexpr auto SETTING_LOCALE_TEMPERATUREUNIT = "locale.temperatureunit";
1417:   static constexpr auto SETTING_LOCALE_SPEEDUNIT = "locale.speedunit";
1417:   static constexpr auto SETTING_FILELISTS_SHOWPARENTDIRITEMS = "filelists.showparentdiritems";
1417:   static constexpr auto SETTING_FILELISTS_SHOWEXTENSIONS = "filelists.showextensions";
1417:   static constexpr auto SETTING_FILELISTS_IGNORETHEWHENSORTING = "filelists.ignorethewhensorting";
1417:   static constexpr auto SETTING_FILELISTS_ALLtion(float angle, float y, float z, float ar = 1.0f)
1434:   {
1434: 
1434:     float c = cos(angle); float s = sin(angle);
1434:     m[0][0] = ar; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1434:     m[1][0] = 0.0f; m[1][1] = c/ar; m[1][2] = -s/ar; m[1][3] = (-y*c+s*z)/ar + y;
1434:     m[2][0] = 0.0f; m[2][1] = s; m[2][2] = c; m[2][3] = (-y*s-c*z) + z;
1434:     alpha = red = green = blue = 1.0f;
1434:     identity = (angle == 0);
1434:   }
1434:   void SetYRotation(float angle, float x, float z, float ar = 1.0f)
1434:   {
1434: 
1434:     float c = cos(angle); float s = sin(angle);
1434:     m[0][0] = c; m[0][1] = 0.0f; m[0][2] = -s/ar; m[0][3] = -x*c + s*z/ar + x;
1434:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1434:     m[2][0] = ar*s; m[2][1] = 0.0f; m[2][2] = c; m[2][3] = -ar*x*s - c*z + z;
1434:     alpha = red = green = blue = 1.0f;
1434:     identity = (angle == 0);
1434:   }
1434:   static TransformMatrix CreateZRotation(float angle, float x, float y, float ar = 1.0f)
1434:   {
1434: 
1434:     TransformMatrix rot;
1434:     rot.SetZRotation(angle, x, y, ar);
1434:     return rot;
1434:   }
1434:   void SetZRotation(float angle, float x, float y, float ar = 1.0f)
1434:   {
1434: 
1434:     float c = cos(angle); float s = sin(angle);
1434:     m[0][0] = c; m[0][1] = -s/ar; m[0][2] = 0.0f; m[0][3] = -x*c + s*y/ar + x;
1434:     m[1][0] = s*ar; m[1][1] = c; m[1][2] = 0.0f; m[1][3] = -ar*x*s - c*y + y;
1434:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1434:     alpha = red = green = blue = 1.0f;
1434:     identity = (angle == 0);
1434:   }
1434:   static TransformMatrix CreateFader(float a)
1434:   {
1434:     TransformMatrix fader;
1434:     fader.SetFader(a);
1434:     return fader;
1434:   }
1434:   static TransformMatrix CreateFader(float a, float r, float g, float b)
1434:   {
1434:     TransformMatrix fader;
1434:     fader.SetFader(a, r, g, b);
1434:     return fader;
1434:   }
1434:   void SetFader(float a)
1434:   {
1434:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1434:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1434:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1434:     alpha = a;
1434:     red = green = blue = 1.0f;
1434:     identity = (a == 1.0f);
1434:   }
1434: 
1434:   void SetFader(float a, float r, float g, float b)
1434:   {
1434:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1434:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1434:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1434:     alpha = a;
1434:     red = r;
1434:     green = g;
1434:     blue = b;
1434:     identity = ((a == 1.0f) && (r == 1.0f) && (g == 1.0f) && (b == 1.0f));
1434:   }
1434: 
1434: 
1434:   const TransformMatrix &operator *=(const TransformMatrix &right)
1434:   {
1434:     if (right.identity)
1434:       return *this;
1434:     if (identity)
1434:     {
1434:       *this = right;
1434:       return *this;
1434:     }
1434:     float t00 = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1434:     float t01 = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1434:     float t02 = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1434:     m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1434:     m[0][0] = t00; m[0][1] = t01; m[0][2] = t02;
1434:     t00 = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1434:     t01 = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1434:     t02 = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1434:     m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1434:     m[1][0] = t00; m[1][1] = t01; m[1][2] = t02;
1434:     t00 = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1434:     t01 = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1434:     t02 = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1434:     m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1434:     m[2][0] = t00; m[2][1] = t01; m[2][2] = t02;
1434:     alpha *= right.alpha;
1434:     red *= right.red;
1434:     green *= right.green;
1434:     blue *= right.blue;
1434:     identity = false;
1434:     return *this;
1434:   }
1434: 
1434:   TransformMatrix operator *(const TransformMatrix &right) const
1434:   {
1434:     if (right.identity)
1434:       return *this;
1434:     if (identity)
1434:       return right;
1434:     TransformMatrix result;
1434:     result.m[0][0] = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1434:     result.m[0][1] = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1434:     result.m[0][2] = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1434:     result.m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1434:     result.m[1][0] = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1434:     result.m[1][1] = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1434:     result.m[1][2] = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1434:     result.m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1434:     result.m[2][0] = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1434:     result.m[2][1] = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1434:     result.m[2][2] = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1434:     result.m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1434:     result.alpha = alpha * right.alpha;
1434:     result.red = red * right.red;
1434:     result.green = green * right.green;
1434:     result.blue = blue * right.blue;
1434:     result.identity = false;
1434:     return result;
1434:   }
1434: 
1434:   inline void TransformPosition(float &x, float &y, float &z) const __attribute__((always_inline))
1434:   {
1434:     float newX = m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1434:     float newY = m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1434:     z = m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1434:     y = newY;
1434:     x = newX;
1434:   }
1434: 
1434:   inline void TransformPositionUnscaled(float &x, float &y, float &z) const __attribute__((always_inline))
1434:   {
1434:     float n;
1434: 
1434:     n = sqrt(m[0][0]*m[0][0] + m[0][1]*m[0][1] + m[0][2]*m[0][2]);
1434:     float newX = (m[0][0] * x + m[0][1] * y + m[0][2] * z)/n + m[0][3];
1434:     n = sqrt(m[1][0]*m[1][0] + m[1][1]*m[1][1] + m[1][2]*m[1][2]);
1434:     float newY = (m[1][0] * x + m[1][1] * y + m[1][2] * z)/n + m[1][3];
1434:     n = sqrt(m[2][0]*m[2][0] + m[2][1]*m[2][1] + m[2][2]*m[2][2]);
1434:     float newZ = (m[2][0] * x + m[2][1] * y + m[2][2] * z)/n + m[2][3];
1434:     z = newZ;
1434:     y = newY;
1434:     x = newX;
1434:   }
1434: 
1434:   inline void InverseTransformPosition(float &x, float &y) const __attribute__((always_inline))
1434:   {
1434:     x -= m[0][3]; y -= m[1][3];
1434:     float detM = m[0][0]*m[1][1] - m[0][1]*m[1][0];
1434:     float newX = (m[1][1] * x - m[0][1] * y)/detM;
1434:     y = (-m[1][0] * x + m[0][0] * y)/detM;
1434:     x = newX;
1434:   }
1434: 
1434:   inline float TransformXCoord(float x, float y, float z) const __attribute__((always_inline))
1434:   {
1434:     return m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1434:   }
1434: 
1434:   inline float TransformYCoord(float x, float y, float z) const __attribute__((always_inline))
1434:   {
1434:     return m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1434:   }
1434: 
1434:   inline float TransformZCoo     : facet(__refs), _M_grouping(0), _M_grouping_size(0),
1115:  _M_use_grouping(false),
1115:  _M_truename(0), _M_truename_size(0), _M_falsename(0),
1115:  _M_falsename_size(0), _M_decimal_point(_CharT()),
1115:  _M_thousands_sep(_CharT()), _M_allocated(false)
1115:  { }
1115: 
1115:       ~__numpunct_cache();
1115: 
1115:       void
1115:       _M_cache(const locale& __loc);
1115: 
1115:     private:
1115:       __numpunct_cache&
1115:       operator=(const __numpunct_cache&);
1115: 
1115:       explicit
1115:       __numpunct_cache(const __numpunct_cache&);
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     __numpunct_cache<_CharT>::~__numpunct_cache()
1115:     {
1115:       if (_M_allocated)
1115:  {
1115:    delete [] _M_grouping;
1115:    delete [] _M_truename;
1115:    delete [] _M_falsename;
1115:  }
1115:     }
1115: 
1115: namespace __cxx11 {
1115: # 1677 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<typename _CharT>
1115:     class numpunct : public locale::facet
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115:       typedef __numpunct_cache<_CharT> __cache_type;
1115: 
1115:     protected:
1115:       __cache_type* _M_data;
1115: 
1115:     public:
1115: 
1115:       static locale::id id;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       numpunct(size_t __refs = 0)
1115:       : facet(__refs), _M_data(0)
1115:       { _M_initialize_numpunct(); }
1115: # 1715 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       numpunct(__cache_type* __cache, size_t __refs = 0)
1115:       : facet(__refs), _M_data(__cache)
1115:       { _M_initialize_numpunct(); }
1115: # 1729 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       numpunct(__c_locale __cloc, size_t __refs = 0)
1115:       : facet(__refs), _M_data(0)
1115:       { _M_initialize_numpunct(__cloc); }
1115: # 1743 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       decimal_point() const
1115:       { return this->do_decimal_point(); }
1115: # 1756 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       char_type
1115:       thousands_sep() const
1115:       { return this->do_thousands_sep(); }
1115: # 1787 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       string
1115:       grouping() const
1115:       { return this->do_grouping(); }
1115: # 1800 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       string_type
1115:       truename() const
1115:       { return this->do_truename(); }
1115: # 1813 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       string_type
1115:       falsename() const
1115:       { return this->do_falsename(); }
1115: 
1115:     protected:
1115: 
1115:       virtual
1115:       ~numpunct();
1115: # 1830 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_decimal_point() const
1115:       { return _M_data->_M_decimal_point; }
1115: # 1842 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual char_type
1115:       do_thousands_sep() const
1115:       { return _M_data->_M_thousands_sep; }
1115: # 1855 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual string
1115:       do_grouping() const
1115:       { return _M_data->_M_grouping; }
1115: # 1868 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual string_type
1115:       do_truename() const
1115:       { return _M_data->_M_truename; }
1115: # 1881 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual string_type
1115:       do_falsename() const
1115:       { return _M_data->_M_falsename; }
1115: 
1115: 
1115:       void
1115:       _M_initialize_numpunct(__c_locale __cloc = 0);
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     locale::id numpunct<_CharT>::id;
1115: 
1115:   template<>
1115:     numpunct<char>::~numpunct();
1115: 
1115:   template<>
1115:     void
1115:     numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
1115: 
1115: 
1115:rd(float x, float y, float z) const __attribute__((always_inline))
1434:   {
1434:     return m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1434:   }
1434: 
1434:   inline UTILS::COLOR::Color TransformAlpha(UTILS::COLOR::Color color) const __attribute__((always_inline))
1434:   {
1434:     return static_cast<UTILS::COLOR::Color>(color * alpha);
1434:   }
1434: 
1434:   inline UTILS::COLOR::Color TransformColor(UTILS::COLOR::Color color) const __attribute__((always_inline))
1434:   {
1434:     UTILS::COLOR::Color a = static_cast<UTILS::COLOR::Color>(((color >> 24) & 0xff) * alpha);
1434:     UTILS::COLOR::Color r = static_cast<UTILS::COLOR::Color>(((color >> 16) & 0xff) * red);
1434:     UTILS::COLOR::Color g = static_cast<UTILS::COLOR::Color>(((color >> 8) & 0xff) * green);
1434:     UTILS::COLOR::Color b = static_cast<UTILS::COLOR::Color>(((color)&0xff) * blue);
1434:     if (a > 255)
1434:       a = 255;
1434:     if (r > 255)
1434:       r = 255;
1434:     if (g > 255)
1434:       g = 255;
1434:     if (b > 255)
1434:       b = 255;
1434: 
1434:     return ((a << 24) & 0xff000000) | ((r << 16) & 0xff0000) | ((g << 8) & 0xff00) | (b & 0xff);
1434:   }
1434: 
1434:   float m[3][4];
1434:   float alpha;
1434:   float red;
1434:   float green;
1434:   float blue;
1434:   bool identity;
1434: };
1434: 
1434: inline bool operator==(const TransformMatrix &a, const TransformMatrix &b)
1434: {
1434:   bool comparison =
1434:       a.alpha == b.alpha && a.red == b.red && a.green == b.green && a.blue == b.blue &&
1434:       ((a.identity && b.identity) ||
1434:        (!a.identity && !b.identity &&
1434:         std::equal(&a.m[0][0], &a.m[0][0] + sizeof(a.m) / sizeof(a.m[0][0]), &b.m[0][0])));
1434:   return comparison;
1434: }
1434: 
1434: inline bool operator!=(const TransformMatrix &a, const TransformMatrix &b)
1434: {
1434:   return !operator==(a, b);
1434: }
1434: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: enum ANIMATION_TYPE
1434: {
1434:   ANIM_TYPE_UNFOCUS = -3,
1434:   ANIM_TYPE_HIDDEN,
1434:   ANIM_TYPE_WINDOW_CLOSE,
1434:   ANIM_TYPE_NONE,
1434:   ANIM_TYPE_WINDOW_OPEN,
1434:   ANIM_TYPE_VISIBLE,
1434:   ANIM_TYPE_FOCUS,
1434:   ANIM_TYPE_CONDITIONAL
1434: };
1434: 
1434: class CAnimEffect
1434: {
1434: public:
1434:   enum EFFECT_TYPE
1434:   {
1434:     EFFECT_TYPE_NONE = 0,
1434:     EFFECT_TYPE_FADE,
1434:     EFFECT_TYPE_FADE_DIFFUSE,
1434:     EFFECT_TYPE_SLIDE,
1434:     EFFECT_TYPE_ROTATE_X,
1434:     EFFECT_TYPE_ROTATE_Y,
1434:     EFFECT_TYPE_ROTATE_Z,
1434:     EFFECT_TYPE_ZOOM
1434:   };
1434: 
1434:   CAnimEffect(const TiXmlElement *node, EFFECT_TYPE effect);
1434:   CAnimEffect(unsigned int delay, unsigned int length, EFFECT_TYPE effect);
1434:   CAnimEffect(const CAnimEffect &src);
1434: 
1434:   virtual ~CAnimEffect();
1434:   CAnimEffect& operator=(const CAnimEffect &src);
1434: 
1434:   void Calculate(unsigned int time, const CPoint &center);
1434:   void ApplyState(ANIMATION_STATE state, const CPoint &center);
1434: 
1434:   unsigned int GetDelay() const { return m_delay; }
1434:   unsigned int GetLength() const { return m_delay + m_length; }
1434:   const TransformMatrix& GetTransform() const { return m_matrix; }
1434:   EFFECT_TYPE GetType() const { return m_effect; }
1434: 
1434:   static std::shared_ptr<Tweener> GetTweener(const TiXmlElement *pAnimationNode);
1434: protected:
1434:   TransformMatrix m_matrix;
1434:   EFFECT_TYPE m_effect;
1434: 
1434: private:
1434:   virtual void ApplyEffect(float offset, const CPoint &center)=0;
1434: 
1434: 
1434:   unsigned int m_length;
1434:   unsigned int m_delay;
1434: 
1434:   std::shared_ptr<Tweener> m_pTweener;
1434: };
1434: 
1434: class CFadeEffect : public CAnimEffect
1434: {
1434: public:
1434:   CFadeEffect(const TiXmlElement* node, bool reverseDefaults, EFFECT_TYPE effect);
1434:   CFadeEffect(float start, float end, unsigned int delay, unsigned int length);
1434:   CFadeEffect(UTILS::COLOR::Color start,
1434:               UTILS::COLOR::Color end,
1434:               unsOWFILEDELETION = "filelists.allowfiledeletion";
1417:   static constexpr auto SETTING_FILELISTS_SHOWADDSOURCEBUTTONS = "filelists.showaddsourcebuttons";
1417:   static constexpr auto SETTING_FILELISTS_SHOWHIDDEN = "filelists.showhidden";
1417:   static constexpr auto SETTING_SCREENSAVER_MODE = "screensaver.mode";
1417:   static constexpr auto SETTING_SCREENSAVER_SETTINGS = "screensaver.settings";
1417:   static constexpr auto SETTING_SCREENSAVER_PREVIEW = "screensaver.preview";
1417:   static constexpr auto SETTING_SCREENSAVER_TIME = "screensaver.time";
1417:   static constexpr auto SETTING_SCREENSAVER_USEMUSICVISINSTEAD = "screensaver.usemusicvisinstead";
1417:   static constexpr auto SETTING_SCREENSAVER_USEDIMONPAUSE = "screensaver.usedimonpause";
1417:   static constexpr auto SETTING_WINDOW_WIDTH = "window.width";
1417:   static constexpr auto SETTING_WINDOW_HEIGHT = "window.height";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWUNWATCHEDPLOTS = "videolibrary.showunwatchedplots";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_ACTORTHUMBS = "videolibrary.actorthumbs";
1417:   static constexpr auto SETTING_MYVIDEOS_FLATTEN = "myvideos.flatten";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_FLATTENTVSHOWS = "videolibrary.flattentvshows";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWSSELECTFIRSTUNWATCHEDITEM =
1417:       "videolibrary.tvshowsselectfirstunwatcheditem";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWSINCLUDEALLSEASONSANDSPECIALS =
1417:       "videolibrary.tvshowsincludeallseasonsandspecials";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWALLITEMS = "videolibrary.showallitems";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_GROUPMOVIESETS = "videolibrary.groupmoviesets";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_GROUPSINGLEITEMSETS =
1417:       "videolibrary.groupsingleitemsets";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_UPDATEONSTARTUP = "videolibrary.updateonstartup";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_BACKGROUNDUPDATE = "videolibrary.backgroundupdate";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_CLEANUP = "videolibrary.cleanup";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_EXPORT = "videolibrary.export";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_IMPORT = "videolibrary.import";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWEMPTYTVSHOWS = "videolibrary.showemptytvshows";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_MOVIESETSFOLDER = "videolibrary.moviesetsfolder";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_ARTWORK_LEVEL = "videolibrary.artworklevel";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_MOVIEART_WHITELIST = "videolibrary.movieartwhitelist";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWART_WHITELIST =
1417:       "videolibrary.tvshowartwhitelist";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_EPISODEART_WHITELIST =
1417:       "videolibrary.episodeartwhitelist";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_MUSICVIDEOART_WHITELIST =
1417:       "videolibrary.musicvideoartwhitelist";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_ARTSETTINGS_UPDATED =
1417:       "videolibrary.artsettingsupdated";
1417:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWPERFORMERS =
1417:       "videolibrary.musicvideosallperformers";
1417:   static constexpr auto SETTING_LOCALE_AUDIOLANGUAGE = "locale.audiolanguage";
1417:   static constexpr auto SETTING_VIDEOPLAYER_PREFERDEFAULTFLAG = "videoplayer.preferdefaultflag";
1417:   static constexpr auto SETTING_VIDEOPLAYER_AUTOPLAYNEXTITEM = "videoplayer.autoplaynextitem";
1417:   static constexpr auto SETTING_VIDEOPLAYER_SEEKSTEPS = "videoplayer.seeksteps";
1417:   static constexpr auto SETTING_VIDEOPLAYER_SEEKDELAY = "videoplayer.seekdelay";
1417:   static constexpr auto SETTING_VIDEOPLAYER_ADJUSTREFRESHRATE = "videoplayer.adjustrefreshrate";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEDISPLAYASCLOCK = "videoplayer.usedisplayasclock";
1417:   static constexpr auto SETTING_VIDEOPLAYER_ERRORINASPECT = igned int delay,
1434:               unsigned int length);
1434:   ~CFadeEffect() override = default;
1434: private:
1434:   void ApplyEffect(float offset, const CPoint &center) override;
1434: 
1434:   float m_startAlpha;
1434:   float m_endAlpha;
1434:   UTILS::COLOR::ColorFloats m_startColor;
1434:   UTILS::COLOR::ColorFloats m_endColor;
1434: };
1434: 
1434: class CSlideEffect : public CAnimEffect
1434: {
1434: public:
1434:   explicit CSlideEffect(const TiXmlElement *node);
1434:   ~CSlideEffect() override = default;
1434: private:
1434:   void ApplyEffect(float offset, const CPoint &center) override;
1434: 
1434:   float m_startX;
1434:   float m_startY;
1434:   float m_endX;
1434:   float m_endY;
1434: };
1434: 
1434: class CRotateEffect : public CAnimEffect
1434: {
1434: public:
1434:   CRotateEffect(const TiXmlElement *node, EFFECT_TYPE effect);
1434:   ~CRotateEffect() override = default;
1434: private:
1434:   void ApplyEffect(float offset, const CPoint &center) override;
1434: 
1434:   float m_startAngle;
1434:   float m_endAngle;
1434: 
1434:   bool m_autoCenter;
1434:   CPoint m_center;
1434: };
1434: 
1434: class CZoomEffect : public CAnimEffect
1434: {
1434: public:
1434:   CZoomEffect(const TiXmlElement *node, const CRect &rect);
1434:   ~CZoomEffect() override = default;
1434: private:
1434:   void ApplyEffect(float offset, const CPoint &center) override;
1434: 
1434:   float m_startX;
1434:   float m_startY;
1434:   float m_endX;
1434:   float m_endY;
1434: 
1434:   bool m_autoCenter;
1434:   CPoint m_center;
1434: };
1434: 
1434: class CAnimation
1434: {
1434: public:
1434:   CAnimation();
1434:   CAnimation(const CAnimation &src);
1434: 
1434:   virtual ~CAnimation();
1434: 
1434:   CAnimation& operator=(const CAnimation &src);
1434: 
1434:   static CAnimation CreateFader(float start, float end, unsigned int delay, unsigned int length, ANIMATION_TYPE type = ANIM_TYPE_NONE);
1434: 
1434:   void Create(const TiXmlElement *node, const CRect &rect, int context);
1434: 
1434:   void Animate(unsigned int time, bool startAnim);
1434:   void ResetAnimation();
1434:   void ApplyAnimation();
1434:   inline void RenderAnimation(TransformMatrix &matrix)
1434:   {
1434:     RenderAnimation(matrix, CPoint());
1434:   }
1434:   void RenderAnimation(TransformMatrix &matrix, const CPoint &center);
1434:   void QueueAnimation(ANIMATION_PROCESS process);
1434: 
1434:   inline bool IsReversible() const { return m_reversible; }
1434:   inline ANIMATION_TYPE GetType() const { return m_type; }
1434:   inline ANIMATION_STATE GetState() const { return m_currentState; }
1434:   inline ANIMATION_PROCESS GetProcess() const { return m_currentProcess; }
1434:   inline ANIMATION_PROCESS GetQueuedProcess() const { return m_queuedProcess; }
1434: 
1434:   bool CheckCondition();
1434:   void UpdateCondition(const CGUIListItem *item = 
1434: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 3 4
1434:                                                  __null
1434: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1434:                                                      );
1434:   void SetInitialCondition();
1434: 
1434: private:
1434:   void Calculate(const CPoint &point);
1434:   void AddEffect(const std::string &type, const TiXmlElement *node, const CRect &rect);
1434: 
1434:   enum ANIM_REPEAT { ANIM_REPEAT_NONE = 0, ANIM_REPEAT_PULSE, ANIM_REPEAT_LOOP };
1434: 
1434: 
1434:   ANIMATION_TYPE m_type;
1434:   bool m_reversible;
1434:   INFO::InfoPtr m_condition;
1434: 
1434: 
1434:   ANIM_REPEAT m_repeatAnim;
1434:   bool m_lastCondition;
1434: 
1434: 
1434:   ANIMATION_PROCESS m_queuedProcess;
1434:   ANIMATION_PROCESS m_currentProcess;
1434:   ANIMATION_STATE m_currentState;
1434: 
1434: 
1434:   unsigned int m_start;
1434:   unsigned int m_length;
1434:   unsigned int m_delay;
1434:   unsigned int m_amount;
1434: 
1434:   std::vector<CAnimEffect *> m_effects;
1434: };
1434: # 221 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1434: class CScroller
1434: {
1434: public:
1434:    template<>
1115:     numpunct<wchar_t>::~numpunct();
1115: 
1115:   template<>
1115:     void
1115:     numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     class numpunct_byname : public numpunct<_CharT>
1115:     {
1115:     public:
1115:       typedef _CharT char_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115:       explicit
1115:       numpunct_byname(const char* __s, size_t __refs = 0)
1115:       : numpunct<_CharT>(__refs)
1115:       {
1115:  if (__builtin_strcmp(__s, "C") != 0
1115:      && __builtin_strcmp(__s, "POSIX") != 0)
1115:    {
1115:      __c_locale __tmp;
1115:      this->_S_create_c_locale(__tmp, __s);
1115:      this->_M_initialize_numpunct(__tmp);
1115:      this->_S_destroy_c_locale(__tmp);
1115:    }
1115:       }
1115: 
1115: 
1115:       explicit
1115:       numpunct_byname(const string& __s, size_t __refs = 0)
1115:       : numpunct_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~numpunct_byname() { }
1115:     };
1115: 
1115: }
1115: 
1115: 
1115: # 1959 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<typename _CharT, typename _InIter>
1115:     class num_get : public locale::facet
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _InIter iter_type;
1115: 
1115: 
1115: 
1115:       static locale::id id;
1115: # 1980 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       num_get(size_t __refs = 0) : facet(__refs) { }
1115: # 2006 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, bool& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: # 2043 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, long& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, unsigned short& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, unsigned int& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, unsigned long& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115: 
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, long long& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, unsigned long long& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: # 2103 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, float& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, double& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115:       iter_type
1115:       get(iter_type __in, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, long double& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: # 2146 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       get(iter_type __in, iter_type __  CScroller(unsigned int duration = 200, std::shared_ptr<Tweener> tweener = std::shared_ptr<Tweener>());
1434:   CScroller(const CScroller& right);
1434:   CScroller& operator=(const CScroller &src);
1434:   ~CScroller();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void ScrollTo(float endPos);
1434: 
1434: 
1434: 
1434: 
1434:   void Stop() { m_delta = 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Update(unsigned int time);
1434: 
1434: 
1434: 
1434: 
1434:   float GetValue() const { return m_scrollValue; }
1434:   void SetValue(float scrollValue) { m_scrollValue = scrollValue; }
1434: 
1434:   bool IsScrolling() const { return m_delta != 0; }
1434:   bool IsScrollingUp() const { return m_delta < 0; }
1434:   bool IsScrollingDown() const { return m_delta > 0; }
1434: 
1434:   unsigned int GetDuration() const { return m_duration; }
1434: 
1434: private:
1434:   float Tween(float progress);
1434: 
1434:   float m_scrollValue;
1434:   float m_delta;
1434:   float m_startPosition;
1434:   bool m_hasResumePoint;
1434:   unsigned int m_startTime;
1434: 
1434:   unsigned int m_duration;
1434:   std::shared_ptr<Tweener> m_pTweener;
1434: };
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h"
1434:        
1434: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h"
1434: class CGUIListItem;
1434: 
1434: namespace KODI
1434: {
1434: namespace GUILIB
1434: {
1434: namespace GUIINFO
1434: {
1434: 
1434: class CGUIInfoBool
1434: {
1434: public:
1434:   explicit CGUIInfoBool(bool value = false);
1434:   ~CGUIInfoBool();
1434: 
1434:   operator bool() const { return m_value; }
1434: 
1434:   void Update(int contextWindow, const CGUIListItem* item = nullptr);
1434:   void Parse(const std::string &expression, int context);
1434: private:
1434:   INFO::InfoPtr m_info;
1434:   bool m_value;
1434: };
1434: 
1434: }
1434: }
1434: }
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
1434:        
1434: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
1434: class CGUIListItemLayout;
1434: using CGUIListItemLayoutPtr = std::unique_ptr<CGUIListItemLayout>;
1434: class CArchive;
1434: class CVariant;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CGUIListItem
1434: {
1434: public:
1434:   typedef std::map<std::string, std::string> ArtMap;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   enum GUIIconOverlay { ICON_OVERLAY_NONE = 0,
1434:                         ICON_OVERLAY_RAR,
1434:                         ICON_OVERLAY_ZIP,
1434:                         ICON_OVERLAY_LOCKED,
1434:                         ICON_OVERLAY_UNWATCHED,
1434:                         ICON_OVERLAY_WATCHED,
1434:                         ICON_OVERLAY_HD
1434:                       };
1434: 
1434: 
1434:   CGUIListItem(void);
1434:   explicit CGUIListItem(const CGUIListItem& item);
1434:   explicit CGUIListItem(const std::string& strLabel);
1434:   virtual ~CGUIListItem(void);
1434:   virtual CGUIListItem* Clone() const { return new CGUIListItem(*this); }
1434: 
1434:   CGUIListItem& operator =(const CGUIListItem& item);
1434: 
1434:   virtual void SetLabel(const std::string& strLabel);
1434:   const std::string& GetLabel() const;
1434: 
1434:   void SetLabel2(const std::string& strLabel);
1434:   const std::string& GetLabel2() const;
1434: 
1434:   void SetOverlayImage(GUIIconOverlay icon, bool bOnOff=false);
1434:   std::string GetOverlayImage() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetArt(const std::string &type, const std::string &url);
1434: 
1434:"videoplayer.errorinaspect";
1417:   static constexpr auto SETTING_VIDEOPLAYER_STRETCH43 = "videoplayer.stretch43";
1417:   static constexpr auto SETTING_VIDEOPLAYER_TELETEXTENABLED = "videoplayer.teletextenabled";
1417:   static constexpr auto SETTING_VIDEOPLAYER_TELETEXTSCALE = "videoplayer.teletextscale";
1417:   static constexpr auto SETTING_VIDEOPLAYER_STEREOSCOPICPLAYBACKMODE =
1417:       "videoplayer.stereoscopicplaybackmode";
1417:   static constexpr auto SETTING_VIDEOPLAYER_QUITSTEREOMODEONSTOP =
1417:       "videoplayer.quitstereomodeonstop";
1417:   static constexpr auto SETTING_VIDEOPLAYER_RENDERMETHOD = "videoplayer.rendermethod";
1417:   static constexpr auto SETTING_VIDEOPLAYER_HQSCALERS = "videoplayer.hqscalers";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEMEDIACODEC = "videoplayer.usemediacodec";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEMEDIACODECSURFACE =
1417:       "videoplayer.usemediacodecsurface";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAU = "videoplayer.usevdpau";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMIXER = "videoplayer.usevdpaumixer";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMPEG2 = "videoplayer.usevdpaumpeg2";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMPEG4 = "videoplayer.usevdpaumpeg4";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUVC1 = "videoplayer.usevdpauvc1";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEDXVA2 = "videoplayer.usedxva2";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEVTB = "videoplayer.usevtb";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USEPRIMEDECODER = "videoplayer.useprimedecoder";
1417:   static constexpr auto SETTING_VIDEOPLAYER_USESTAGEFRIGHT = "videoplayer.usestagefright";
1417:   static constexpr auto SETTING_VIDEOPLAYER_LIMITGUIUPDATE = "videoplayer.limitguiupdate";
1417:   static constexpr auto SETTING_VIDEOPLAYER_SUPPORTMVC = "videoplayer.supportmvc";
1417:   static constexpr auto SETTING_MYVIDEOS_SELECTACTION = "myvideos.selectaction";
1417:   static constexpr auto SETTING_MYVIDEOS_USETAGS = "myvideos.usetags";
1417:   static constexpr auto SETTING_MYVIDEOS_EXTRACTFLAGS = "myvideos.extractflags";
1417:   static constexpr auto SETTING_MYVIDEOS_EXTRACTCHAPTERTHUMBS = "myvideos.extractchapterthumbs";
1417:   static constexpr auto SETTING_MYVIDEOS_REPLACELABELS = "myvideos.replacelabels";
1417:   static constexpr auto SETTING_MYVIDEOS_EXTRACTTHUMB = "myvideos.extractthumb";
1417:   static constexpr auto SETTING_MYVIDEOS_STACKVIDEOS = "myvideos.stackvideos";
1417:   static constexpr auto SETTING_LOCALE_SUBTITLELANGUAGE = "locale.subtitlelanguage";
1417:   static constexpr auto SETTING_SUBTITLES_PARSECAPTIONS = "subtitles.parsecaptions";
1417:   static constexpr auto SETTING_SUBTITLES_CAPTIONSALIGN = "subtitles.captionsalign";
1417:   static constexpr auto SETTING_SUBTITLES_ALIGN = "subtitles.align";
1417:   static constexpr auto SETTING_SUBTITLES_STEREOSCOPICDEPTH = "subtitles.stereoscopicdepth";
1417:   static constexpr auto SETTING_SUBTITLES_FONTNAME = "subtitles.fontname";
1417:   static constexpr auto SETTING_SUBTITLES_FONTSIZE = "subtitles.fontsize";
1417:   static constexpr auto SETTING_SUBTITLES_STYLE = "subtitles.style";
1417:   static constexpr auto SETTING_SUBTITLES_COLOR = "subtitles.colorpick";
1417:   static constexpr auto SETTING_SUBTITLES_BORDERSIZE = "subtitles.bordersize";
1417:   static constexpr auto SETTING_SUBTITLES_BORDERCOLOR = "subtitles.bordercolorpick";
1417:   static constexpr auto SETTING_SUBTITLES_OPACITY = "subtitles.opacity";
1417:   static constexpr auto SETTING_SUBTITLES_BLUR = "subtitles.blur";
1417:   static constexpr auto SETTING_SUBTITLES_BACKGROUNDTYPE = "subtitles.backgroundtype";
1417:   static constexpr auto SETTING_SUBTITLES_SHADOWCOLOR = "subtitles.shadowcolor";
1417:   static constexpr auto SETTING_SUBTITLES_SHADOWOPACITY = "subtitles.shadowopacity";
1417:   static constexpr auto SETTING_SUBTITLES_SHADOWSIZE = "subtitles.shadowsize";
1417:   static constexpr auto SETTING_SUBTITLES_BGCOLOR = "subtitles. 
1434: 
1434: 
1434: 
1434:   void SetArt(const ArtMap &art);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void AppendArt(const ArtMap &art, const std::string &prefix = "");
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetArtFallback(const std::string &from, const std::string &to);
1434: 
1434: 
1434: 
1434: 
1434:   void ClearArt();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::string GetArt(const std::string &type) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   const ArtMap &GetArt() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool HasArt(const std::string &type) const;
1434: 
1434:   void SetSortLabel(const std::string &label);
1434:   void SetSortLabel(const std::wstring &label);
1434:   const std::wstring &GetSortLabel() const;
1434: 
1434:   void Select(bool bOnOff);
1434:   bool IsSelected() const;
1434: 
1434:   bool HasOverlay() const;
1434:   virtual bool IsFileItem() const { return false; }
1434: 
1434:   void SetLayout(CGUIListItemLayoutPtr layout);
1434:   CGUIListItemLayout *GetLayout();
1434: 
1434:   void SetFocusedLayout(CGUIListItemLayoutPtr layout);
1434:   CGUIListItemLayout *GetFocusedLayout();
1434: 
1434:   void FreeIcons();
1434:   void FreeMemory(bool immediately = false);
1434:   void SetInvalid();
1434: 
1434:   bool m_bIsFolder;
1434: 
1434:   void SetProperty(const std::string &strKey, const CVariant &value);
1434: 
1434:   void IncrementProperty(const std::string &strKey, int nVal);
1434:   void IncrementProperty(const std::string& strKey, int64_t nVal);
1434:   void IncrementProperty(const std::string &strKey, double dVal);
1434: 
1434:   void ClearProperties();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void AppendProperties(const CGUIListItem &item);
1434: 
1434:   void Archive(CArchive& ar);
1434:   void Serialize(CVariant& value);
1434: 
1434:   bool HasProperty(const std::string &strKey) const;
1434:   bool HasProperties() const { return !m_mapProperties.empty(); }
1434:   void ClearProperty(const std::string &strKey);
1434: 
1434:   const CVariant &GetProperty(const std::string &strKey) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetCurrentItem(unsigned int position);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   unsigned int GetCurrentItem() const;
1434: 
1434: protected:
1434:   std::string m_strLabel2;
1434:   GUIIconOverlay m_overlayIcon;
1434: 
1434:   CGUIListItemLayoutPtr m_layout;
1434:   CGUIListItemLayoutPtr m_focusedLayout;
1434:   bool m_bSelected;
1434:   unsigned int m_currentItem;
1434: 
1434:   struct icompare
1434:   {
1434:     bool operator()(const std::string &s1, const std::string &s2) const;
1434:   };
1434: 
1434:   typedef std::map<std::string, CVariant, icompare> PropertyMap;
1434:   PropertyMap m_mapProperties;
1434: private:
1434:   std::wstring m_sortLabel;
1434:   std::string m_strLabel;
1434: 
1434:   ArtMap m_art;
1434:   ArtMap m_artFallbacks;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 2
1434: 
1434: 
1434: 
1434: 
1434: class CGUIListItem;
1434: 
1434: namespace KODI
1434: {
1434: namespace GUILIB
1434: {
1434: namespace GUIINFO
1434: {
1434: 
1434: class CGUIInfoColor
1434: {
1434: public:
1434:   constexpr CGUIInfoColor(UTILS::COLOR::Color color = 0) : m_color(color) {}
1434: 
1434:   constexpr operator UTILS::COLOR::Color() const { return m_color; }
1434: 
1434:   bool Update(const CGUIListItem* item = nullptr);
1434:   void Parse(const std::string &label, int context);
1434: 
1434: private:
1434:   int m_info = 0;
1434:   UTILS::COLOR::Color m_color;
1434: };
1434: 
1434: }
1434: }
1434: }
1434: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h"
1434:        
1434: 
1434: 
1434: 
1434: end, ios_base& __io,
1115:    ios_base::iostate& __err, void*& __v) const
1115:       { return this->do_get(__in, __end, __io, __err, __v); }
1115: 
1115:     protected:
1115: 
1115:       virtual ~num_get() { }
1115: 
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       iter_type
1115:       _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
1115:          string&) const;
1115: 
1115:       template<typename _ValueT>
1115:  __attribute ((__abi_tag__ ("cxx11")))
1115:  iter_type
1115:  _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
1115:          _ValueT&) const;
1115: 
1115:       template<typename _CharT2>
1115:       typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
1115:  _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
1115:  {
1115:    int __ret = -1;
1115:    if (__len <= 10)
1115:      {
1115:        if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
1115:   __ret = __c - _CharT2('0');
1115:      }
1115:    else
1115:      {
1115:        if (__c >= _CharT2('0') && __c <= _CharT2('9'))
1115:   __ret = __c - _CharT2('0');
1115:        else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
1115:   __ret = 10 + (__c - _CharT2('a'));
1115:        else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
1115:   __ret = 10 + (__c - _CharT2('A'));
1115:      }
1115:    return __ret;
1115:  }
1115: 
1115:       template<typename _CharT2>
1115:       typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
1115:           int>::__type
1115:  _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
1115:  {
1115:    int __ret = -1;
1115:    const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
1115:    if (__q)
1115:      {
1115:        __ret = __q - __zero;
1115:        if (__ret > 15)
1115:   __ret -= 6;
1115:      }
1115:    return __ret;
1115:  }
1115: # 2219 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual iter_type
1115:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:       ios_base::iostate& __err, long& __v) const
1115:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:       ios_base::iostate& __err, unsigned short& __v) const
1115:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:       ios_base::iostate& __err, unsigned int& __v) const
1115:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:       ios_base::iostate& __err, unsigned long& __v) const
1115:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1115: 
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:       ios_base::iostate& __err, long long& __v) const
1115:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:       ios_base::iostate& __err, unsigned long long& __v) const
1115:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1115: 
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const;
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1115:       double&) const;
1115: # 2271 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual iter_type
1115:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1115:       long double&) const;
1115: 
1115: 
1115:       virtual iter_type
1115:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*
1434: typedef int DisplayMode;
1434: 
1434: 
1434: 
1434: enum RESOLUTION
1434: {
1434:   RES_INVALID = -1,
1434:   RES_WINDOW = 15,
1434:   RES_DESKTOP = 16,
1434:   RES_CUSTOM = 16 + 1,
1434: };
1434: 
1434: struct OVERSCAN
1434: {
1434:   int left;
1434:   int top;
1434:   int right;
1434:   int bottom;
1434: public:
1434:   OVERSCAN()
1434:   {
1434:     left = top = right = bottom = 0;
1434:   }
1434:   OVERSCAN(const OVERSCAN& os)
1434:   {
1434:     left = os.left; top = os.top;
1434:     right = os.right; bottom = os.bottom;
1434:   }
1434:   OVERSCAN& operator=(const OVERSCAN&) = default;
1434: 
1434:   bool operator==(const OVERSCAN& other)
1434:   {
1434:     return left == other.left && right == other.right && top == other.top && bottom == other.bottom;
1434:   }
1434:   bool operator!=(const OVERSCAN& other)
1434:   {
1434:     return left != other.left || right != other.right || top != other.top || bottom != other.bottom;
1434:   }
1434: };
1434: 
1434: struct EdgeInsets
1434: {
1434:   float left = 0.0f;
1434:   float top = 0.0f;
1434:   float right = 0.0f;
1434:   float bottom = 0.0f;
1434: 
1434:   EdgeInsets() = default;
1434:   EdgeInsets(float l, float t, float r, float b);
1434: };
1434: 
1434: struct RESOLUTION_INFO
1434: {
1434:   OVERSCAN Overscan;
1434:   EdgeInsets guiInsets;
1434:   bool bFullScreen;
1434:   int iWidth;
1434:   int iHeight;
1434:   int iBlanking;
1434:   int iScreenWidth;
1434:   int iScreenHeight;
1434:   int iSubtitles;
1434:   uint32_t dwFlags;
1434:   float fPixelRatio;
1434:   float fRefreshRate;
1434:   std::string strMode;
1434:   std::string strOutput;
1434:   std::string strId;
1434: public:
1434:   RESOLUTION_INFO(int width = 1280, int height = 720, float aspect = 0, const std::string &mode = "");
1434:   float DisplayRatio() const;
1434:   RESOLUTION_INFO(const RESOLUTION_INFO& res);
1434:   RESOLUTION_INFO& operator=(const RESOLUTION_INFO&) = default;
1434: };
1434: 
1434: class CResolutionUtils
1434: {
1434: public:
1434:   static RESOLUTION ChooseBestResolution(float fps, int width, int height, bool is3D);
1434:   static bool HasWhitelist();
1434:   static void PrintWhitelist();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static void GetMaxAllowedResolution(unsigned int& width, unsigned int& height);
1434: 
1434: protected:
1434:   static void FindResolutionFromWhitelist(float fps, int width, int height, bool is3D, RESOLUTION &resolution);
1434:   static bool FindResolutionFromOverride(float fps, int width, bool is3D, RESOLUTION &resolution, float& weight, bool fallback);
1434:   static float RefreshWeight(float refresh, float fps);
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h"
1434:        
1434: 
1434: enum RENDER_STEREO_VIEW
1434: {
1434:   RENDER_STEREO_VIEW_OFF,
1434:   RENDER_STEREO_VIEW_LEFT,
1434:   RENDER_STEREO_VIEW_RIGHT,
1434: };
1434: 
1434: enum RENDER_STEREO_MODE
1434: {
1434:   RENDER_STEREO_MODE_OFF,
1434:   RENDER_STEREO_MODE_SPLIT_HORIZONTAL,
1434:   RENDER_STEREO_MODE_SPLIT_VERTICAL,
1434:   RENDER_STEREO_MODE_ANAGLYPH_RED_CYAN,
1434:   RENDER_STEREO_MODE_ANAGLYPH_GREEN_MAGENTA,
1434:   RENDER_STEREO_MODE_ANAGLYPH_YELLOW_BLUE,
1434:   RENDER_STEREO_MODE_INTERLACED,
1434:   RENDER_STEREO_MODE_CHECKERBOARD,
1434:   RENDER_STEREO_MODE_HARDWAREBASED,
1434:   RENDER_STEREO_MODE_MONO,
1434:   RENDER_STEREO_MODE_COUNT,
1434: 
1434: 
1434:   RENDER_STEREO_MODE_AUTO = 100,
1434:   RENDER_STEREO_MODE_UNDEFINED = 999,
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 2
1434: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1434: class CGUIImage;
1434: class CGUITextLayout;
1434: 
1434: class CRenderSystemBase
1434: bgcolorpick";
1417:   static constexpr auto SETTING_SUBTITLES_BGOPACITY = "subtitles.bgopacity";
1417:   static constexpr auto SETTING_SUBTITLES_MARGINVERTICAL = "subtitles.marginvertical";
1417:   static constexpr auto SETTING_SUBTITLES_CHARSET = "subtitles.charset";
1417:   static constexpr auto SETTING_SUBTITLES_OVERRIDEFONTS = "subtitles.overridefonts";
1417:   static constexpr auto SETTING_SUBTITLES_OVERRIDESTYLES = "subtitles.overridestyles";
1417:   static constexpr auto SETTING_SUBTITLES_LANGUAGES = "subtitles.languages";
1417:   static constexpr auto SETTING_SUBTITLES_STORAGEMODE = "subtitles.storagemode";
1417:   static constexpr auto SETTING_SUBTITLES_CUSTOMPATH = "subtitles.custompath";
1417:   static constexpr auto SETTING_SUBTITLES_PAUSEONSEARCH = "subtitles.pauseonsearch";
1417:   static constexpr auto SETTING_SUBTITLES_DOWNLOADFIRST = "subtitles.downloadfirst";
1417:   static constexpr auto SETTING_SUBTITLES_TV = "subtitles.tv";
1417:   static constexpr auto SETTING_SUBTITLES_MOVIE = "subtitles.movie";
1417:   static constexpr auto SETTING_DVDS_AUTORUN = "dvds.autorun";
1417:   static constexpr auto SETTING_DVDS_PLAYERREGION = "dvds.playerregion";
1417:   static constexpr auto SETTING_DVDS_AUTOMENU = "dvds.automenu";
1417:   static constexpr auto SETTING_DISC_PLAYBACK = "disc.playback";
1417:   static constexpr auto SETTING_BLURAY_PLAYERREGION = "bluray.playerregion";
1417:   static constexpr auto SETTING_ACCESSIBILITY_AUDIOVISUAL = "accessibility.audiovisual";
1417:   static constexpr auto SETTING_ACCESSIBILITY_AUDIOHEARING = "accessibility.audiohearing";
1417:   static constexpr auto SETTING_ACCESSIBILITY_SUBHEARING = "accessibility.subhearing";
1417:   static constexpr auto SETTING_SCRAPERS_MOVIESDEFAULT = "scrapers.moviesdefault";
1417:   static constexpr auto SETTING_SCRAPERS_TVSHOWSDEFAULT = "scrapers.tvshowsdefault";
1417:   static constexpr auto SETTING_SCRAPERS_MUSICVIDEOSDEFAULT = "scrapers.musicvideosdefault";
1417:   static constexpr auto SETTING_PVRMANAGER_PRESELECTPLAYINGCHANNEL =
1417:       "pvrmanager.preselectplayingchannel";
1417:   static constexpr auto SETTING_PVRMANAGER_SYNCCHANNELGROUPS = "pvrmanager.syncchannelgroups";
1417:   static constexpr auto SETTING_PVRMANAGER_BACKENDCHANNELORDER = "pvrmanager.backendchannelorder";
1417:   static constexpr auto SETTING_PVRMANAGER_USEBACKENDCHANNELNUMBERS =
1417:       "pvrmanager.usebackendchannelnumbers";
1417:   static constexpr auto SETTING_PVRMANAGER_USEBACKENDCHANNELNUMBERSALWAYS =
1417:       "pvrmanager.usebackendchannelnumbersalways";
1417:   static constexpr auto SETTING_PVRMANAGER_STARTGROUPCHANNELNUMBERSFROMONE =
1417:       "pvrmanager.startgroupchannelnumbersfromone";
1417:   static constexpr auto SETTING_PVRMANAGER_CLIENTPRIORITIES = "pvrmanager.clientpriorities";
1417:   static constexpr auto SETTING_PVRMANAGER_CHANNELMANAGER = "pvrmanager.channelmanager";
1417:   static constexpr auto SETTING_PVRMANAGER_GROUPMANAGER = "pvrmanager.groupmanager";
1417:   static constexpr auto SETTING_PVRMANAGER_CHANNELSCAN = "pvrmanager.channelscan";
1417:   static constexpr auto SETTING_PVRMANAGER_RESETDB = "pvrmanager.resetdb";
1417:   static constexpr auto SETTING_PVRMANAGER_ADDONS = "pvrmanager.addons";
1417:   static constexpr auto SETTING_PVRMENU_DISPLAYCHANNELINFO = "pvrmenu.displaychannelinfo";
1417:   static constexpr auto SETTING_PVRMENU_CLOSECHANNELOSDONSWITCH = "pvrmenu.closechannelosdonswitch";
1417:   static constexpr auto SETTING_PVRMENU_ICONPATH = "pvrmenu.iconpath";
1417:   static constexpr auto SETTING_PVRMENU_SEARCHICONS = "pvrmenu.searchicons";
1417:   static constexpr auto SETTING_EPG_PAST_DAYSTODISPLAY = "epg.pastdaystodisplay";
1417:   static constexpr auto SETTING_EPG_FUTURE_DAYSTODISPLAY = "epg.futuredaystodisplay";
1417:   static constexpr auto SETTING_EPG_SELECTACTION = "epg.selectaction";
1417:   static constexpr auto SETTING_EPG_HIDENOINFOAVAILABLE = "epg.hidenoinfoavailable";
1417:   static constexpr auto SETTING_EPG_EPGUPDATE = "epg.epgupdate";
1417:   static constexpr auto SETTING_EPG_PREVENTUPDATESWHILEPLAYINGTV{
1434: public:
1434:   CRenderSystemBase();
1434:   virtual ~CRenderSystemBase();
1434: 
1434:   virtual bool InitRenderSystem() = 0;
1434:   virtual bool DestroyRenderSystem() = 0;
1434:   virtual bool ResetRenderSystem(int width, int height) = 0;
1434: 
1434:   virtual bool BeginRender() = 0;
1434:   virtual bool EndRender() = 0;
1434:   virtual void PresentRender(bool rendered, bool videoLayer) = 0;
1434:   virtual bool ClearBuffers(UTILS::COLOR::Color color) = 0;
1434:   virtual bool IsExtSupported(const char* extension) const = 0;
1434: 
1434:   virtual void SetViewPort(const CRect& viewPort) = 0;
1434:   virtual void GetViewPort(CRect& viewPort) = 0;
1434:   virtual void RestoreViewPort() {}
1434: 
1434:   virtual bool ScissorsCanEffectClipping() { return false; }
1434:   virtual CRect ClipRectToScissorRect(const CRect &rect) { return CRect(); }
1434:   virtual void SetScissors(const CRect &rect) = 0;
1434:   virtual void ResetScissors() = 0;
1434: 
1434:   virtual void CaptureStateBlock() = 0;
1434:   virtual void ApplyStateBlock() = 0;
1434: 
1434:   virtual void SetCameraPosition(const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor = 0.f) = 0;
1434:   virtual void SetStereoMode(RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view)
1434:   {
1434:     m_stereoMode = mode;
1434:     m_stereoView = view;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   virtual void Project(float &x, float &y, float &z) { }
1434: 
1434:   virtual std::string GetShaderPath(const std::string &filename) { return ""; }
1434: 
1434:   void GetRenderVersion(unsigned int& major, unsigned int& minor) const;
1434:   const std::string& GetRenderVendor() const { return m_RenderVendor; }
1434:   const std::string& GetRenderRenderer() const { return m_RenderRenderer; }
1434:   const std::string& GetRenderVersionString() const { return m_RenderVersion; }
1434:   virtual bool SupportsNPOT(bool dxt) const;
1434:   virtual bool SupportsStereo(RENDER_STEREO_MODE mode) const;
1434:   unsigned int GetMaxTextureSize() const { return m_maxTextureSize; }
1434:   unsigned int GetMinDXTPitch() const { return m_minDXTPitch; }
1434: 
1434:   virtual void ShowSplash(const std::string& message);
1434: 
1434: protected:
1434:   bool m_bRenderCreated;
1434:   bool m_bVSync;
1434:   unsigned int m_maxTextureSize;
1434:   unsigned int m_minDXTPitch;
1434: 
1434:   std::string m_RenderRenderer;
1434:   std::string m_RenderVendor;
1434:   std::string m_RenderVersion;
1434:   int m_RenderVersionMinor;
1434:   int m_RenderVersionMajor;
1434:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1434:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1434:   bool m_limitedColorRange = false;
1434: 
1434:   std::unique_ptr<CGUIImage> m_splashImage;
1434:   std::unique_ptr<CGUITextLayout> m_splashMessageLayout;
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/stack" 1 3
1434: # 58 "/usr/include/c++/12/stack" 3
1434:        
1434: # 59 "/usr/include/c++/12/stack" 3
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stl_stack.h" 1 3
1434: # 65 "/usr/include/c++/12/bits/stl_stack.h" 3
1434: 
1434: # 65 "/usr/include/c++/12/bits/stl_stack.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 98 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:   template<typename _Tp, typename _Sequence = deque<_Tp> >
1434:     class stack
1434:     {
1434: # 111 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:       template<typename _Tp1, typename _Seq1>
1434:  friend bool
1434:  operator==(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
1434: 
1434:       template<typename _Tp1, typename _Seq1>
1434:  friend bool
1434:  operator<(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
1434: # 126 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:       template<typename _Alloc>
1434:  using _Uses = typename
1434:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1434: 
1434: 
1434: 
1434: 
1434: 
14&) const;
1115: # 2299 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:     };
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     locale::id num_get<_CharT, _InIter>::id;
1115: # 2317 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:   template<typename _CharT, typename _OutIter>
1115:     class num_put : public locale::facet
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _OutIter iter_type;
1115: 
1115: 
1115: 
1115:       static locale::id id;
1115: # 2338 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       explicit
1115:       num_put(size_t __refs = 0) : facet(__refs) { }
1115: # 2356 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: # 2398 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: 
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill,
1115:    unsigned long __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: 
1115: 
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: 
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill,
1115:    unsigned long long __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: # 2461 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: 
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill,
1115:    long double __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: # 2486 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill,
1115:    const void* __v) const
1115:       { return this->do_put(__s, __io, __fill, __v); }
1115: 
1115:     protected:
1115:       template<typename _ValueT>
1115:  iter_type
1115:  _M_insert_float(iter_type, ios_base& __io, char_type __fill,
1115:    char __mod, _ValueT __v) const;
1115: 
1115:       void
1115:       _M_group_float(const char* __grouping, size_t __grouping_size,
1115:        char_type __sep, const char_type* __p, char_type* __new,
1115:        char_type* __cs, int& __len) const;
1115: 
1115:       template<typename _ValueT>
1115:  iter_type
1115:  _M_insert_int(iter_type, ios_base& __io, char_type __fill,
1115:         _ValueT __v) const;
1115: 
1115:       void
1115:       _M_group_int(const char* __grouping, size_t __grouping_size,
1115:      char_type __sep, ios_base& __io, char_type* __new,
1115:      char_type* __cs, int& __len) const;
1115: 
1115:       void
1115:       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
1115:       char_type* __new, const char_type* __cs, int& __len) const;
1115: 
1115: 
1115:       virtual
1115:       ~num_put() { }
1115: # 2534 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:       virtual iter_type
1115:       do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const;
1115: 
1115:       virtual iter_type
1115:       do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
1115:       { return _M_insert_int(__s, __io, __fill, __v); }
1115: 
1115:       virtual iter_type
1115:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1115:       unsigned long __v) const
1115:       { return _M_insert_int(__s, __io, __fill, __v); }
1115: 
1115: 
1115:       virtual iter_type
1115:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1115:       long long __v) const
1115:       { return _M_insert_int(__s, __io, __fill, _ =
1417:       "epg.preventupdateswhileplayingtv";
1417:   static constexpr auto SETTING_EPG_RESETEPG = "epg.resetepg";
1417:   static constexpr auto SETTING_PVRPLAYBACK_SWITCHTOFULLSCREENCHANNELTYPES =
1417:       "pvrplayback.switchtofullscreenchanneltypes";
1417:   static constexpr auto SETTING_PVRPLAYBACK_SIGNALQUALITY = "pvrplayback.signalquality";
1417:   static constexpr auto SETTING_PVRPLAYBACK_CONFIRMCHANNELSWITCH =
1417:       "pvrplayback.confirmchannelswitch";
1417:   static constexpr auto SETTING_PVRPLAYBACK_CHANNELENTRYTIMEOUT = "pvrplayback.channelentrytimeout";
1417:   static constexpr auto SETTING_PVRPLAYBACK_DELAYMARKLASTWATCHED =
1417:       "pvrplayback.delaymarklastwatched";
1417:   static constexpr auto SETTING_PVRPLAYBACK_FPS = "pvrplayback.fps";
1417:   static constexpr auto SETTING_PVRRECORD_INSTANTRECORDACTION = "pvrrecord.instantrecordaction";
1417:   static constexpr auto SETTING_PVRRECORD_INSTANTRECORDTIME = "pvrrecord.instantrecordtime";
1417:   static constexpr auto SETTING_PVRRECORD_MARGINSTART = "pvrrecord.marginstart";
1417:   static constexpr auto SETTING_PVRRECORD_MARGINEND = "pvrrecord.marginend";
1417:   static constexpr auto SETTING_PVRRECORD_TIMERNOTIFICATIONS = "pvrrecord.timernotifications";
1417:   static constexpr auto SETTING_PVRRECORD_GROUPRECORDINGS = "pvrrecord.grouprecordings";
1417:   static constexpr auto SETTING_PVRREMINDERS_AUTOCLOSEDELAY = "pvrreminders.autoclosedelay";
1417:   static constexpr auto SETTING_PVRREMINDERS_AUTORECORD = "pvrreminders.autorecord";
1417:   static constexpr auto SETTING_PVRREMINDERS_AUTOSWITCH = "pvrreminders.autoswitch";
1417:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_ENABLED = "pvrpowermanagement.enabled";
1417:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_BACKENDIDLETIME =
1417:       "pvrpowermanagement.backendidletime";
1417:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_SETWAKEUPCMD = "pvrpowermanagement.setwakeupcmd";
1417:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_PREWAKEUP = "pvrpowermanagement.prewakeup";
1417:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_DAILYWAKEUP = "pvrpowermanagement.dailywakeup";
1417:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_DAILYWAKEUPTIME =
1417:       "pvrpowermanagement.dailywakeuptime";
1417:   static constexpr auto SETTING_PVRPARENTAL_ENABLED = "pvrparental.enabled";
1417:   static constexpr auto SETTING_PVRPARENTAL_PIN = "pvrparental.pin";
1417:   static constexpr auto SETTING_PVRPARENTAL_DURATION = "pvrparental.duration";
1417:   static constexpr auto SETTING_PVRCLIENT_MENUHOOK = "pvrclient.menuhook";
1417:   static constexpr auto SETTING_PVRTIMERS_HIDEDISABLEDTIMERS = "pvrtimers.hidedisabledtimers";
1417:   static constexpr auto SETTING_MUSICLIBRARY_SHOWCOMPILATIONARTISTS =
1417:       "musiclibrary.showcompilationartists";
1417:   static constexpr auto SETTING_MUSICLIBRARY_SHOWDISCS = "musiclibrary.showdiscs";
1417:   static constexpr auto SETTING_MUSICLIBRARY_USEORIGINALDATE = "musiclibrary.useoriginaldate";
1417:   static constexpr auto SETTING_MUSICLIBRARY_USEARTISTSORTNAME = "musiclibrary.useartistsortname";
1417:   static constexpr auto SETTING_MUSICLIBRARY_DOWNLOADINFO = "musiclibrary.downloadinfo";
1417:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTSFOLDER = "musiclibrary.artistsfolder";
1417:   static constexpr auto SETTING_MUSICLIBRARY_PREFERONLINEALBUMART =
1417:       "musiclibrary.preferonlinealbumart";
1417:   static constexpr auto SETTING_MUSICLIBRARY_ARTWORKLEVEL = "musiclibrary.artworklevel";
1417:   static constexpr auto SETTING_MUSICLIBRARY_USEALLLOCALART = "musiclibrary.usealllocalart";
1417:   static constexpr auto SETTING_MUSICLIBRARY_USEALLREMOTEART = "musiclibrary.useallremoteart";
1417:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTART_WHITELIST =
1417:       "musiclibrary.artistartwhitelist";
1417:   static constexpr auto SETTING_MUSICLIBRARY_ALBUMART_WHITELIST = "musiclibrary.albumartwhitelist";
1417:   static constexpr auto SETTING_MUSICLIBRARY_MUSICTHUMBS = "musiclibrary.musicthumbs";
1417:   static constexpr auto S34:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1434:    "value_type must be the same as the underlying container");
1434: 
1434: 
1434: 
1434:     public:
1434:       typedef typename _Sequence::value_type value_type;
1434:       typedef typename _Sequence::reference reference;
1434:       typedef typename _Sequence::const_reference const_reference;
1434:       typedef typename _Sequence::size_type size_type;
1434:       typedef _Sequence container_type;
1434: 
1434:     protected:
1434: 
1434:       _Sequence c;
1434: 
1434:     public:
1434: # 160 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:       template<typename _Seq = _Sequence, typename _Requires = typename
1434:         enable_if<is_default_constructible<_Seq>::value>::type>
1434:  stack()
1434:  : c() { }
1434: 
1434:       explicit
1434:       stack(const _Sequence& __c)
1434:       : c(__c) { }
1434: 
1434:       explicit
1434:       stack(_Sequence&& __c)
1434:       : c(std::move(__c)) { }
1434: # 183 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  explicit
1434:  stack(const _Alloc& __a)
1434:  : c(__a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  stack(const _Sequence& __c, const _Alloc& __a)
1434:  : c(__c, __a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  stack(_Sequence&& __c, const _Alloc& __a)
1434:  : c(std::move(__c), __a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  stack(const stack& __q, const _Alloc& __a)
1434:  : c(__q.c, __a) { }
1434: 
1434:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1434:  stack(stack&& __q, const _Alloc& __a)
1434:  : c(std::move(__q.c), __a) { }
1434: # 216 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:       [[__nodiscard__]] bool
1434:       empty() const
1434:       { return c.empty(); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       size() const
1434:       { return c.size(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       top()
1434:       {
1434:  ;
1434:  return c.back();
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       top() const
1434:       {
1434:  ;
1434:  return c.back();
1434:       }
1434: # 259 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:       void
1434:       push(const value_type& __x)
1434:       { c.push_back(__x); }
1434: 
1434: 
1434:       void
1434:       push(value_type&& __x)
1434:       { c.push_back(std::move(__x)); }
1434: 
1434: 
1434:       template<typename... _Args>
1434:  decltype(auto)
1434:  emplace(_Args&&... __args)
1434:  { return c.emplace_back(std::forward<_Args>(__args)...); }
1434: # 292 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:       void
1434:       pop()
1434:       {
1434:  ;
1434:  c.pop_back();
1434:       }
1434: 
1434: 
1434:       void
1434:       swap(stack& __s)
1434: 
1434:       noexcept(__is_nothrow_swappable<_Sequence>::value)
1434: 
1434: 
1434: 
1434:       {
1434:  using std::swap;
1434:  swap(c, __s.c);
1434:       }
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _Container,
1434:     typename = _RequireNotAllocator<_Container>>
1434:     stack(_Container) -> stack<typename _Container::value_type, _Container>;
1434: 
1434:   template<typename _Container, typename _Allocator,
1434:     typename = _RequireNotAllocator<_Container>>
1434:     stack(_Container, _Allocator)
1434:     -> stack<typename _Container::value_type, _Container>;
1434: # 353 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1434:     { return __x.c == __y.c; }
1434: # 372 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1434:     { return __x.c < __y.c; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Seq>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1434:     { return !(__x < __y); }
1434: # 415 "/usr/include/c++/12/bits/stl_stack.h" 3
1434:   template<typename _Tp, typename _Seq>
1434:     inline
1434: 
1434: 
1434:     typename enable_if<__is_swappable<_Seq>::value>::type
1434: 
1434: 
1434: 
1434:     swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434:   template<typename _Tp, typename _Seq, typename _Alloc>
1434:     struct uses_allocator<stack<_Tp, _Seq>, _Alloc>
1434:     : public uses_allocator<_Seq, _Alloc>::type { };
1434: 
1434: 
1434: 
1434: }
1434: # 62 "/usr/include/c++/12/stack" 2 3
1434: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h"
1434:        
1434: 
1434: 
1434: # 11 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h"
1434: enum class HDR_STATUS
1434: {
1434:   HDR_TOGGLE_FAILED = -1,
1434:   HDR_UNSUPPORTED = 0,
1434:   HDR_OFF = 1,
1434:   HDR_ON = 2
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: namespace KODI
1434: {
1434: namespace WINDOWING
1434: {
1434: 
1434: class COSScreenSaverManager;
1434: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1434: class COSScreenSaverInhibitor
1434: {
1434: public:
1434:   COSScreenSaverInhibitor() noexcept;
1434:   COSScreenSaverInhibitor(COSScreenSaverInhibitor&& other) noexcept;
1434:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor&& other) noexcept;
1434:   ~COSScreenSaverInhibitor() noexcept;
1434:   void Release();
1434:   bool IsActive() const;
1434:   operator bool() const;
1434: 
1434: private:
1434:   friend class COSScreenSaverManager;
1434:   explicit COSScreenSaverInhibitor(COSScreenSaverManager* manager);
1434:   bool m_active;
1434:   COSScreenSaverManager* m_manager;
1434: 
1434:   COSScreenSaverInhibitor(COSScreenSaverInhibitor const& other) = delete;
1434:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor const& other) = delete;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: class IOSScreenSaver
1434: {
1434: public:
1434:   virtual ~IOSScreenSaver() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void Inhibit() = 0;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void Uninhibit() = 0;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: class CDummyOSScreenSaver : public IOSScreenSaver
1434: {
1434: public:
1434:   void Inhibit() override {}
1434:   void Uninhibit() override {}
1434: };
1434: # 92 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1434: class COSScr_v); }
1115: 
1115:       virtual iter_type
1115:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1115:       unsigned long long __v) const
1115:       { return _M_insert_int(__s, __io, __fill, __v); }
1115: 
1115: 
1115:       virtual iter_type
1115:       do_put(iter_type, ios_base&, char_type, double) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       virtual iter_type
1115:       do_put(iter_type, ios_base&, char_type, long double) const;
1115: 
1115: 
1115:       virtual iter_type
1115:       do_put(iter_type, ios_base&, char_type, const void*) const;
1115: # 2586 "/usr/include/c++/12/bits/locale_facets.h" 3
1115:     };
1115: 
1115:   template <typename _CharT, typename _OutIter>
1115:     locale::id num_put<_CharT, _OutIter>::id;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isspace(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isprint(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     iscntrl(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isupper(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     islower(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isalpha(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isdigit(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     ispunct(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isxdigit(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isalnum(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isgraph(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline bool
1115:     isblank(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::blank, __c); }
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline _CharT
1115:     toupper(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     inline _CharT
1115:     tolower(_CharT __c, const locale& __loc)
1115:     { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
1115: 
1115: 
1115: }
1115: 
1115: # 1 "/usr/include/c++/12/bits/locale_facets.tcc" 1 3
1115: # 33 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Facet>
1115:     struct __use_cache
1115:     {
1115:       const _Facet*
1115:       opeeenSaverManager
1434: {
1434: public:
1434: 
1434: 
1434: 
1434:   explicit COSScreenSaverManager(std::unique_ptr<IOSScreenSaver> impl);
1434: 
1434: 
1434: 
1434: 
1434:   COSScreenSaverInhibitor CreateInhibitor();
1434: 
1434: 
1434: 
1434:   bool IsInhibited();
1434: 
1434: private:
1434:   friend class COSScreenSaverInhibitor;
1434:   void RemoveInhibitor();
1434: 
1434:   unsigned int m_inhibitionCount{0u};
1434:   std::unique_ptr<IOSScreenSaver> m_impl;
1434: };
1434: 
1434: }
1434: }
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h"
1434:        
1434: 
1434: 
1434: 
1434: class CVideoReferenceClock;
1434: typedef void (*PUPDATECLOCK)(int NrVBlanks, uint64_t time, void *clock);
1434: 
1434: class CVideoSync
1434: {
1434: public:
1434:   explicit CVideoSync(void* clock) { m_refClock = clock; }
1434:   virtual ~CVideoSync() = default;
1434:   virtual bool Setup(PUPDATECLOCK func) = 0;
1434:   virtual void Run(CEvent& stop) = 0;
1434:   virtual void Cleanup() = 0;
1434:   virtual float GetFps() = 0;
1434:   virtual void RefreshChanged() {}
1434: 
1434: protected:
1434:   PUPDATECLOCK UpdateClock;
1434:   float m_fps;
1434:   void *m_refClock;
1434: };
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 1
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 1
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1434:        
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h" 1
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1434:        
1434: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1434: typedef enum
1434: {
1434: 
1434:   XBMCK_UNKNOWN = 0x00,
1434:   XBMCK_FIRST = 0x00,
1434:   XBMCK_CTRLF = 0x06,
1434:   XBMCK_BACKSPACE = 0x08,
1434:   XBMCK_TAB = 0x09,
1434:   XBMCK_CLEAR = 0x0C,
1434:   XBMCK_RETURN = 0x0D,
1434:   XBMCK_PAUSE = 0x13,
1434:   XBMCK_ESCAPE = 0x1B,
1434:   XBMCK_SPACE = 0x20,
1434:   XBMCK_EXCLAIM = 0x21,
1434:   XBMCK_QUOTEDBL = 0x22,
1434:   XBMCK_HASH = 0x23,
1434:   XBMCK_DOLLAR = 0x24,
1434:   XBMCK_PERCENT = 0x25,
1434:   XBMCK_AMPERSAND = 0x26,
1434:   XBMCK_QUOTE = 0x27,
1434:   XBMCK_LEFTPAREN = 0x28,
1434:   XBMCK_RIGHTPAREN = 0x29,
1434:   XBMCK_ASTERISK = 0x2A,
1434:   XBMCK_PLUS = 0x2B,
1434:   XBMCK_COMMA = 0x2C,
1434:   XBMCK_MINUS = 0x2D,
1434:   XBMCK_PERIOD = 0x2E,
1434:   XBMCK_SLASH = 0x2F,
1434:   XBMCK_0 = 0x30,
1434:   XBMCK_1 = 0x31,
1434:   XBMCK_2 = 0x32,
1434:   XBMCK_3 = 0x33,
1434:   XBMCK_4 = 0x34,
1434:   XBMCK_5 = 0x35,
1434:   XBMCK_6 = 0x36,
1434:   XBMCK_7 = 0x37,
1434:   XBMCK_8 = 0x38,
1434:   XBMCK_9 = 0x39,
1434:   XBMCK_COLON = 0x3A,
1434:   XBMCK_SEMICOLON = 0x3B,
1434:   XBMCK_LESS = 0x3C,
1434:   XBMCK_EQUALS = 0x3D,
1434:   XBMCK_GREATER = 0x3E,
1434:   XBMCK_QUESTION = 0x3F,
1434:   XBMCK_AT = 0x40,
1434: 
1434:   XBMCK_LEFTBRACKET = 0x5B,
1434:   XBMCK_BACKSLASH = 0x5C,
1434:   XBMCK_RIGHTBRACKET = 0x5D,
1434:   XBMCK_CARET = 0x5E,
1434:   XBMCK_UNDERSCORE = 0x5F,
1434:   XBMCK_BACKQUOTE = 0x60,
1434:   XBMCK_a = 0x61,
1434:   XBMCK_b = 0x62,
1434:   XBMCK_c = 0x63,
1434:   XBMCK_d = 0x64,
1434:   XBMCK_e = 0x65,
1434:   XBMCK_f = 0x66,
1434:   XBMCK_g = 0x67,
1434:   XBMCK_h = 0x68,
1434:   XBMCK_i = 0x69,
1434:   XBMCK_j = 0x6A,
1434:   XBMCK_k = 0x6B,
1434:   XBMCK_l = 0x6C,
1434:   XBMCK_m = 0x6D,
1434:   XBMCK_n = 0x6E,
1434:   XBMCK_o = 0x6F,
1434:   XBMCK_p = 0x70,
1434:   XBMCK_q = 0x71,
1434:   XBMCK_r = 0x72,
1434:   XBMCK_s = 0x73,
1434:   XBMCK_t = 0x74,
ETTING_MUSICLIBRARY_ARTSETTINGS_UPDATED = "musiclibrary.artsettings";
1417:   static constexpr auto SETTING_MUSICLIBRARY_ALBUMSSCRAPER = "musiclibrary.albumsscraper";
1417:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTSSCRAPER = "musiclibrary.artistsscraper";
1417:   static constexpr auto SETTING_MUSICLIBRARY_OVERRIDETAGS = "musiclibrary.overridetags";
1417:   static constexpr auto SETTING_MUSICLIBRARY_SHOWALLITEMS = "musiclibrary.showallitems";
1417:   static constexpr auto SETTING_MUSICLIBRARY_UPDATEONSTARTUP = "musiclibrary.updateonstartup";
1417:   static constexpr auto SETTING_MUSICLIBRARY_BACKGROUNDUPDATE = "musiclibrary.backgroundupdate";
1417:   static constexpr auto SETTING_MUSICLIBRARY_CLEANUP = "musiclibrary.cleanup";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT = "musiclibrary.export";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_FILETYPE = "musiclibrary.exportfiletype";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_FOLDER = "musiclibrary.exportfolder";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_ITEMS = "musiclibrary.exportitems";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_UNSCRAPED = "musiclibrary.exportunscraped";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_OVERWRITE = "musiclibrary.exportoverwrite";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_ARTWORK = "musiclibrary.exportartwork";
1417:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_SKIPNFO = "musiclibrary.exportskipnfo";
1417:   static constexpr auto SETTING_MUSICLIBRARY_IMPORT = "musiclibrary.import";
1417:   static constexpr auto SETTING_MUSICPLAYER_AUTOPLAYNEXTITEM = "musicplayer.autoplaynextitem";
1417:   static constexpr auto SETTING_MUSICPLAYER_QUEUEBYDEFAULT = "musicplayer.queuebydefault";
1417:   static constexpr auto SETTING_MUSICPLAYER_SEEKSTEPS = "musicplayer.seeksteps";
1417:   static constexpr auto SETTING_MUSICPLAYER_SEEKDELAY = "musicplayer.seekdelay";
1417:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINTYPE = "musicplayer.replaygaintype";
1417:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINPREAMP = "musicplayer.replaygainpreamp";
1417:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINNOGAINPREAMP =
1417:       "musicplayer.replaygainnogainpreamp";
1417:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINAVOIDCLIPPING =
1417:       "musicplayer.replaygainavoidclipping";
1417:   static constexpr auto SETTING_MUSICPLAYER_CROSSFADE = "musicplayer.crossfade";
1417:   static constexpr auto SETTING_MUSICPLAYER_CROSSFADEALBUMTRACKS =
1417:       "musicplayer.crossfadealbumtracks";
1417:   static constexpr auto SETTING_MUSICPLAYER_VISUALISATION = "musicplayer.visualisation";
1417:   static constexpr auto SETTING_MUSICFILES_SELECTACTION = "musicfiles.selectaction";
1417:   static constexpr auto SETTING_MUSICFILES_USETAGS = "musicfiles.usetags";
1417:   static constexpr auto SETTING_MUSICFILES_TRACKFORMAT = "musicfiles.trackformat";
1417:   static constexpr auto SETTING_MUSICFILES_NOWPLAYINGTRACKFORMAT =
1417:       "musicfiles.nowplayingtrackformat";
1417:   static constexpr auto SETTING_MUSICFILES_LIBRARYTRACKFORMAT = "musicfiles.librarytrackformat";
1417:   static constexpr auto SETTING_MUSICFILES_FINDREMOTETHUMBS = "musicfiles.findremotethumbs";
1417:   static constexpr auto SETTING_AUDIOCDS_AUTOACTION = "audiocds.autoaction";
1417:   static constexpr auto SETTING_AUDIOCDS_USECDDB = "audiocds.usecddb";
1417:   static constexpr auto SETTING_AUDIOCDS_RECORDINGPATH = "audiocds.recordingpath";
1417:   static constexpr auto SETTING_AUDIOCDS_TRACKPATHFORMAT = "audiocds.trackpathformat";
1417:   static constexpr auto SETTING_AUDIOCDS_ENCODER = "audiocds.encoder";
1417:   static constexpr auto SETTING_AUDIOCDS_SETTINGS = "audiocds.settings";
1417:   static constexpr auto SETTING_AUDIOCDS_EJECTONRIP = "audiocds.ejectonrip";
1417:   static constexpr auto SETTING_MYMUSIC_SONGTHUMBINVIS = "mymusic.songthumbinvis";
1417:   static constexpr auto SETTING_MYMUSIC_DEFAULTLIBVIEW = "mymusic.defaultlibview";
1417:   static constexpr au1434:   XBMCK_u = 0x75,
1434:   XBMCK_v = 0x76,
1434:   XBMCK_w = 0x77,
1434:   XBMCK_x = 0x78,
1434:   XBMCK_y = 0x79,
1434:   XBMCK_z = 0x7A,
1434:   XBMCK_LEFTBRACE = 0x7b,
1434:   XBMCK_PIPE = 0x7C,
1434:   XBMCK_RIGHTBRACE = 0x7D,
1434:   XBMCK_TILDE = 0x7E,
1434:   XBMCK_DELETE = 0x7F,
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   XBMCK_BROWSER_BACK = 0xA6,
1434:   XBMCK_BROWSER_FORWARD = 0xA7,
1434:   XBMCK_BROWSER_REFRESH = 0xA8,
1434:   XBMCK_BROWSER_STOP = 0xA9,
1434:   XBMCK_BROWSER_SEARCH = 0xAA,
1434:   XBMCK_BROWSER_FAVORITES = 0xAB,
1434:   XBMCK_BROWSER_HOME = 0xAC,
1434:   XBMCK_VOLUME_MUTE = 0xAD,
1434:   XBMCK_VOLUME_DOWN = 0xAE,
1434:   XBMCK_VOLUME_UP = 0xAF,
1434:   XBMCK_MEDIA_NEXT_TRACK = 0xB0,
1434:   XBMCK_MEDIA_PREV_TRACK = 0xB1,
1434:   XBMCK_MEDIA_STOP = 0xB2,
1434:   XBMCK_MEDIA_PLAY_PAUSE = 0xB3,
1434:   XBMCK_LAUNCH_MAIL = 0xB4,
1434:   XBMCK_LAUNCH_MEDIA_SELECT = 0xB5,
1434:   XBMCK_LAUNCH_APP1 = 0xB6,
1434:   XBMCK_LAUNCH_APP2 = 0xB7,
1434:   XBMCK_LAUNCH_FILE_BROWSER = 0xB8,
1434:   XBMCK_LAUNCH_MEDIA_CENTER = 0xB9,
1434:   XBMCK_MEDIA_REWIND = 0xBA,
1434:   XBMCK_MEDIA_FASTFORWARD = 0xBB,
1434: 
1434: 
1434:   XBMCK_KP0 = 0x100,
1434:   XBMCK_KP1 = 0x101,
1434:   XBMCK_KP2 = 0x102,
1434:   XBMCK_KP3 = 0x103,
1434:   XBMCK_KP4 = 0x104,
1434:   XBMCK_KP5 = 0x105,
1434:   XBMCK_KP6 = 0x106,
1434:   XBMCK_KP7 = 0x107,
1434:   XBMCK_KP8 = 0x108,
1434:   XBMCK_KP9 = 0x109,
1434:   XBMCK_KP_PERIOD = 0x10A,
1434:   XBMCK_KP_DIVIDE = 0x10B,
1434:   XBMCK_KP_MULTIPLY = 0x10C,
1434:   XBMCK_KP_MINUS = 0x10D,
1434:   XBMCK_KP_PLUS = 0x10E,
1434:   XBMCK_KP_ENTER = 0x10F,
1434:   XBMCK_KP_EQUALS = 0x110,
1434: 
1434: 
1434:   XBMCK_UP = 0x111,
1434:   XBMCK_DOWN = 0x112,
1434:   XBMCK_RIGHT = 0x113,
1434:   XBMCK_LEFT = 0x114,
1434:   XBMCK_INSERT = 0x115,
1434:   XBMCK_HOME = 0x116,
1434:   XBMCK_END = 0x117,
1434:   XBMCK_PAGEUP = 0x118,
1434:   XBMCK_PAGEDOWN = 0x119,
1434: 
1434: 
1434:   XBMCK_F1 = 0x11A,
1434:   XBMCK_F2 = 0x11B,
1434:   XBMCK_F3 = 0x11C,
1434:   XBMCK_F4 = 0x11D,
1434:   XBMCK_F5 = 0x11E,
1434:   XBMCK_F6 = 0x11F,
1434:   XBMCK_F7 = 0x120,
1434:   XBMCK_F8 = 0x121,
1434:   XBMCK_F9 = 0x122,
1434:   XBMCK_F10 = 0x123,
1434:   XBMCK_F11 = 0x124,
1434:   XBMCK_F12 = 0x125,
1434:   XBMCK_F13 = 0x126,
1434:   XBMCK_F14 = 0x127,
1434:   XBMCK_F15 = 0x128,
1434: 
1434: 
1434:   XBMCK_NUMLOCK = 0x12C,
1434:   XBMCK_CAPSLOCK = 0x12D,
1434:   XBMCK_SCROLLOCK = 0x12E,
1434:   XBMCK_RSHIFT = 0x12F,
1434:   XBMCK_LSHIFT = 0x130,
1434:   XBMCK_RCTRL = 0x131,
1434:   XBMCK_LCTRL = 0x132,
1434:   XBMCK_RALT = 0x133,
1434:   XBMCK_LALT = 0x134,
1434:   XBMCK_RMETA = 0x135,
1434:   XBMCK_LMETA = 0x136,
1434:   XBMCK_LSUPER = 0x137,
1434:   XBMCK_RSUPER = 0x138,
1434:   XBMCK_MODE = 0x139,
1434:   XBMCK_COMPOSE = 0x13A,
1434: 
1434: 
1434:   XBMCK_HELP = 0x13B,
1434:   XBMCK_PRINT = 0x13C,
1434:   XBMCK_SYSREQ = 0x13D,
1434:   XBMCK_BREAK = 0x13E,
1434:   XBMCK_MENU = 0x13F,
1434:   XBMCK_POWER = 0x140,
1434:   XBMCK_EURO = 0x141,
1434:   XBMCK_UNDO = 0x142,
1434:   XBMCK_SLEEP = 0x143,
1434:   XBMCK_GUIDE = 0x144,
1434:   XBMCK_SETTINGS = 0x145,
1434:   XBMCK_INFO = 0x146,
1434:   XBMCK_RED = 0x147,
1434:   XBMCK_GREEN = 0x148,
1434:   XBMCK_YELLOW = 0x149,
1434:   XBMCK_BLUE = 0x14a,
1434:   XBMCK_ZOOM = 0x14b,
1434:   XBMCK_TEXT = 0x14c,
1434:   XBMCK_FAVORITES = 0x14d,
1434:   XBMCK_HOMEPAGE = 0x14e,
1434:   XBMCK_CONFIG = 0x14f,
1434:   XBMCK_EPG = 0x150,
1434: 
1434: 
1434: 
1434: 
1434:   XBMCK_STOP = 337,
1434:   XBMCK_RECORD = 338,
1434:   XBMCK_REWIND = 339,
1434:   XBMCK_PHONE = 340,
1434:   XBMCK_PLAY = 341,
1434:   XBMCK_SHUFFLE = 342,
1434:   XBMCK_FASTFORWARD = 343,
1434:   XBMCK_EJECT = 344,
1434: 
1434:   XBMCK_LAST
1434: } XBMCKey;
1434: 
1434: 
1434: typedef enum
1434: {
1434:   XBMCKMOD_NONE = 0x0000,
1434:   XBMCKMOD_LSHIFT = 0x0001,
1434:   XBMCKMOD_RSHIFT = 0x0002,
1434:   XBMCKMOD_LSUPER = 0x0010,
1434:   XBMCKMOD_RSUPER = 0x0020,
1434:   XBMCKMOD_LCTRL = 0x0040,
1434:   XBMCKMOD_RCTRL = 0x0080,
1434:   XBMCKMOD_LALT = 0x0100,
1434:   XBMCKMOD_RALT = 0x0200,
1434:   XBMCKMrator() (const locale& __loc) const;
1115:     };
1115: 
1115: 
1115:   template<typename _CharT>
1115:     struct __use_cache<__numpunct_cache<_CharT> >
1115:     {
1115:       const __numpunct_cache<_CharT>*
1115:       operator() (const locale& __loc) const
1115:       {
1115:  const size_t __i = numpunct<_CharT>::id._M_id();
1115:  const locale::facet** __caches = __loc._M_impl->_M_caches;
1115:  if (!__caches[__i])
1115:    {
1115:      __numpunct_cache<_CharT>* __tmp = 0;
1115:      try
1115:        {
1115:   __tmp = new __numpunct_cache<_CharT>;
1115:   __tmp->_M_cache(__loc);
1115:        }
1115:      catch(...)
1115:        {
1115:   delete __tmp;
1115:   throw;
1115:        }
1115:      __loc._M_impl->_M_install_cache(__tmp, __i);
1115:    }
1115:  return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
1115:       }
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     void
1115:     __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
1115:     {
1115:       const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
1115: 
1115:       char* __grouping = 0;
1115:       _CharT* __truename = 0;
1115:       _CharT* __falsename = 0;
1115:       try
1115:  {
1115:    const string& __g = __np.grouping();
1115:    _M_grouping_size = __g.size();
1115:    __grouping = new char[_M_grouping_size];
1115:    __g.copy(__grouping, _M_grouping_size);
1115:    _M_use_grouping = (_M_grouping_size
1115:         && static_cast<signed char>(__grouping[0]) > 0
1115:         && (__grouping[0]
1115:      != __gnu_cxx::__numeric_traits<char>::__max));
1115: 
1115:    const basic_string<_CharT>& __tn = __np.truename();
1115:    _M_truename_size = __tn.size();
1115:    __truename = new _CharT[_M_truename_size];
1115:    __tn.copy(__truename, _M_truename_size);
1115: 
1115:    const basic_string<_CharT>& __fn = __np.falsename();
1115:    _M_falsename_size = __fn.size();
1115:    __falsename = new _CharT[_M_falsename_size];
1115:    __fn.copy(__falsename, _M_falsename_size);
1115: 
1115:    _M_decimal_point = __np.decimal_point();
1115:    _M_thousands_sep = __np.thousands_sep();
1115: 
1115:    const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
1115:    __ct.widen(__num_base::_S_atoms_out,
1115:        __num_base::_S_atoms_out
1115:        + __num_base::_S_oend, _M_atoms_out);
1115:    __ct.widen(__num_base::_S_atoms_in,
1115:        __num_base::_S_atoms_in
1115:        + __num_base::_S_iend, _M_atoms_in);
1115: 
1115:    _M_grouping = __grouping;
1115:    _M_truename = __truename;
1115:    _M_falsename = __falsename;
1115:    _M_allocated = true;
1115:  }
1115:       catch(...)
1115:  {
1115:    delete [] __grouping;
1115:    delete [] __truename;
1115:    delete [] __falsename;
1115:    throw;
1115:  }
1115:     }
1115: # 139 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115:   __attribute__ ((__pure__)) bool
1115:   __verify_grouping(const char* __grouping, size_t __grouping_size,
1115:       const string& __grouping_tmp) throw ();
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     __attribute ((__abi_tag__ ("cxx11")))
1115:     _InIter
1115:     num_get<_CharT, _InIter>::
1115:     _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
1115:        ios_base::iostate& __err, string& __xtrc) const
1115:     {
1115:       typedef char_traits<_CharT> __traits_type;
1115:       typedef __numpunct_cache<_CharT> __cache_type;
1115:       __use_cache<__cache_type> __uc;
1115:       const locale& __loc = __io._M_getloc();
1115:       const __cache_type* __lc = __uc(__loc);
1115:       const _CharT* __lit = __lc->_M_atoms_in;
1115:       char_type __c = char_type();
1115: 
1115: 
1115:       bool __testeof = __beg == __end;
1115: 
1115: 
1115:       if (!__testeof)
1115:  {
1115:    __c = *__beg;
1115:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1115:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1115:        && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1115:        && !(__c == __lc->_M_decimal_point))
1115:      {
111OD_LMETA = 0x0400,
1434:   XBMCKMOD_RMETA = 0x0800,
1434:   XBMCKMOD_NUM = 0x1000,
1434:   XBMCKMOD_CAPS = 0x2000,
1434:   XBMCKMOD_MODE = 0x4000,
1434:   XBMCKMOD_RESERVED = 0x8000
1434: } XBMCMod;
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 2
1434: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1434: typedef struct XBMC_keysym
1434: {
1434:   unsigned char scancode;
1434:   XBMCKey sym;
1434:   XBMCMod mod;
1434:   uint16_t unicode;
1434: } XBMC_keysym;
1434: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 2
1434: 
1434: 
1434: typedef enum
1434: {
1434:   XBMC_NOEVENT = 0,
1434:   XBMC_KEYDOWN,
1434:   XBMC_KEYUP,
1434:   XBMC_MOUSEMOTION,
1434:   XBMC_MOUSEBUTTONDOWN,
1434:   XBMC_MOUSEBUTTONUP,
1434:   XBMC_QUIT,
1434:   XBMC_VIDEORESIZE,
1434:   XBMC_FULLSCREEN_UPDATE,
1434:   XBMC_VIDEOMOVE,
1434:   XBMC_MODECHANGE,
1434:   XBMC_TOUCH,
1434:   XBMC_BUTTON,
1434:   XBMC_SETFOCUS,
1434:   XBMC_USEREVENT,
1434: 
1434:   XBMC_MAXEVENT = 256
1434: } XBMC_EventType;
1434: 
1434: 
1434: typedef struct XBMC_KeyboardEvent {
1434:  XBMC_keysym keysym;
1434: } XBMC_KeyboardEvent;
1434: 
1434: 
1434: typedef struct XBMC_MouseMotionEvent {
1434:  uint16_t x, y;
1434: } XBMC_MouseMotionEvent;
1434: 
1434: 
1434: typedef struct XBMC_MouseButtonEvent {
1434:  unsigned char button;
1434:  uint16_t x, y;
1434: } XBMC_MouseButtonEvent;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef struct XBMC_ResizeEvent {
1434:  int w;
1434:  int h;
1434: } XBMC_ResizeEvent;
1434: 
1434: typedef struct XBMC_MoveEvent {
1434:  int x;
1434:  int y;
1434: } XBMC_MoveEvent;
1434: 
1434: struct XBMC_ModeChangeEvent
1434: {
1434:   RESOLUTION res;
1434: };
1434: 
1434: 
1434: typedef struct XBMC_QuitEvent {
1434: } XBMC_QuitEvent;
1434: 
1434: 
1434: typedef struct XBMC_UserEvent {
1434:  int code;
1434:  void *data1;
1434:  void *data2;
1434: } XBMC_UserEvent;
1434: 
1434: 
1434: typedef struct XBMC_AppCommandEvent {
1434:   unsigned int action;
1434: } XBMC_AppCommandEvent;
1434: 
1434: 
1434: typedef struct XBMC_TouchEvent {
1434:   int action;
1434:   float x, y;
1434:   float x2, y2;
1434:   float x3, y3;
1434:   int pointers;
1434: } XBMC_TouchEvent;
1434: 
1434: typedef struct XBMC_SetFocusEvent {
1434:  int x;
1434:  int y;
1434: } XBMC_SetFocusEvent;
1434: 
1434: 
1434: typedef struct XBMC_ButtonEvent
1434: {
1434:   uint32_t button;
1434:   uint32_t holdtime;
1434: } XBMC_ButtonEvent;
1434: 
1434: 
1434: typedef struct XBMC_Event {
1434:   uint8_t type;
1434:   union
1434:   {
1434:     XBMC_KeyboardEvent key;
1434:     XBMC_MouseMotionEvent motion;
1434:     XBMC_MouseButtonEvent button;
1434:     XBMC_ResizeEvent resize;
1434:     XBMC_MoveEvent move;
1434:     XBMC_ModeChangeEvent mode;
1434:     XBMC_QuitEvent quit;
1434:     XBMC_UserEvent user;
1434:     XBMC_AppCommandEvent appcommand;
1434:     XBMC_TouchEvent touch;
1434:     XBMC_ButtonEvent keybutton;
1434:     XBMC_SetFocusEvent focus;
1434:   };
1434: } XBMC_Event;
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 2
1434: 
1434: class IWinEvents
1434: {
1434: public:
1434:   virtual ~IWinEvents() = default;
1434:   virtual bool MessagePump() = 0;
1434: };
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h"
1434:        
1434: 
1434: 
1434: 
1434: struct DEBUG_INFO_PLAYER
1434: {
1434:   std::string audio;
1434:   std::string video;
1434:   std::string player;
1434:   std::string vsync;
1434: };
1434: 
1434: struct DEBUG_INFO_VIDEO
1434: {
1434:   std::string videoSource;
1434:   std::string metaPrim;
1434:   std::string metaLight;
1434:   std::string shader;
1434: };
1434: 
1434: struct DEBUG_INFO_RENDER
1434: {
1434:   std::string renderFlags;
1434:   std::string videoOutput;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1434: # 1to SETTING_PICTURES_USETAGS = "pictures.usetags";
1417:   static constexpr auto SETTING_PICTURES_GENERATETHUMBS = "pictures.generatethumbs";
1417:   static constexpr auto SETTING_PICTURES_SHOWVIDEOS = "pictures.showvideos";
1417:   static constexpr auto SETTING_PICTURES_DISPLAYRESOLUTION = "pictures.displayresolution";
1417:   static constexpr auto SETTING_SLIDESHOW_STAYTIME = "slideshow.staytime";
1417:   static constexpr auto SETTING_SLIDESHOW_DISPLAYEFFECTS = "slideshow.displayeffects";
1417:   static constexpr auto SETTING_SLIDESHOW_SHUFFLE = "slideshow.shuffle";
1417:   static constexpr auto SETTING_SLIDESHOW_HIGHQUALITYDOWNSCALING =
1417:       "slideshow.highqualitydownscaling";
1417:   static constexpr auto SETTING_WEATHER_CURRENTLOCATION = "weather.currentlocation";
1417:   static constexpr auto SETTING_WEATHER_ADDON = "weather.addon";
1417:   static constexpr auto SETTING_WEATHER_ADDONSETTINGS = "weather.addonsettings";
1417:   static constexpr auto SETTING_SERVICES_DEVICENAME = "services.devicename";
1417:   static constexpr auto SETTING_SERVICES_DEVICEUUID = "services.deviceuuid";
1417:   static constexpr auto SETTING_SERVICES_UPNP = "services.upnp";
1417:   static constexpr auto SETTING_SERVICES_UPNPSERVER = "services.upnpserver";
1417:   static constexpr auto SETTING_SERVICES_UPNPANNOUNCE = "services.upnpannounce";
1417:   static constexpr auto SETTING_SERVICES_UPNPLOOKFOREXTERNALSUBTITLES =
1417:       "services.upnplookforexternalsubtitles";
1417:   static constexpr auto SETTING_SERVICES_UPNPCONTROLLER = "services.upnpcontroller";
1417:   static constexpr auto SETTING_SERVICES_UPNPRENDERER = "services.upnprenderer";
1417:   static constexpr auto SETTING_SERVICES_WEBSERVER = "services.webserver";
1417:   static constexpr auto SETTING_SERVICES_WEBSERVERPORT = "services.webserverport";
1417:   static constexpr auto SETTING_SERVICES_WEBSERVERAUTHENTICATION =
1417:       "services.webserverauthentication";
1417:   static constexpr auto SETTING_SERVICES_WEBSERVERUSERNAME = "services.webserverusername";
1417:   static constexpr auto SETTING_SERVICES_WEBSERVERPASSWORD = "services.webserverpassword";
1417:   static constexpr auto SETTING_SERVICES_WEBSERVERSSL = "services.webserverssl";
1417:   static constexpr auto SETTING_SERVICES_WEBSKIN = "services.webskin";
1417:   static constexpr auto SETTING_SERVICES_ESENABLED = "services.esenabled";
1417:   static constexpr auto SETTING_SERVICES_ESPORT = "services.esport";
1417:   static constexpr auto SETTING_SERVICES_ESPORTRANGE = "services.esportrange";
1417:   static constexpr auto SETTING_SERVICES_ESMAXCLIENTS = "services.esmaxclients";
1417:   static constexpr auto SETTING_SERVICES_ESALLINTERFACES = "services.esallinterfaces";
1417:   static constexpr auto SETTING_SERVICES_ESINITIALDELAY = "services.esinitialdelay";
1417:   static constexpr auto SETTING_SERVICES_ESCONTINUOUSDELAY = "services.escontinuousdelay";
1417:   static constexpr auto SETTING_SERVICES_ZEROCONF = "services.zeroconf";
1417:   static constexpr auto SETTING_SERVICES_AIRPLAY = "services.airplay";
1417:   static constexpr auto SETTING_SERVICES_AIRPLAYVOLUMECONTROL = "services.airplayvolumecontrol";
1417:   static constexpr auto SETTING_SERVICES_USEAIRPLAYPASSWORD = "services.useairplaypassword";
1417:   static constexpr auto SETTING_SERVICES_AIRPLAYPASSWORD = "services.airplaypassword";
1417:   static constexpr auto SETTING_SERVICES_AIRPLAYVIDEOSUPPORT = "services.airplayvideosupport";
1417:   static constexpr auto SETTING_SMB_WINSSERVER = "smb.winsserver";
1417:   static constexpr auto SETTING_SMB_WORKGROUP = "smb.workgroup";
1417:   static constexpr auto SETTING_SMB_MINPROTOCOL = "smb.minprotocol";
1417:   static constexpr auto SETTING_SMB_MAXPROTOCOL = "smb.maxprotocol";
1417:   static constexpr auto SETTING_SMB_LEGACYSECURITY = "smb.legacysecurity";
1417:   static constexpr auto SETTING_SERVICES_WSDISCOVERY = "services.wsdiscovery";
1417:   static constexpr auto SETTING_VIDEOSCREEN_MONITOR = "videoscreen.monitor";
1417:   static constexpr auto SETTING_VIDEOSCREEN_SCREEN = "videoscreen.screen";
14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: class IDispResource
1434: {
1434: public:
1434:   virtual ~IDispResource() = default;
1434: 
1434:   virtual void OnLostDisplay() {}
1434:   virtual void OnResetDisplay() {}
1434:   virtual void OnAppFocusChange(bool focus) {}
1434: };
1434: 
1434: 
1434: 
1434: class IRenderLoop
1434: {
1434: public:
1434:   virtual ~IRenderLoop() = default;
1434: 
1434:   virtual void FrameMove() = 0;
1434: };
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h"
1434:        
1434: 
1434: class CHDRCapabilities
1434: {
1434: public:
1434:   CHDRCapabilities() = default;
1434:   ~CHDRCapabilities() = default;
1434: 
1434:   bool SupportsHDR10() const { return m_hdr10; }
1434:   bool SupportsHLG() const { return m_hlg; }
1434:   bool SupportsHDR10Plus() const { return m_hdr10_plus; }
1434:   bool SupportsDolbyVision() const { return m_dolby_vision; }
1434: 
1434:   void SetHDR10() { m_hdr10 = true; }
1434:   void SetHLG() { m_hlg = true; }
1434:   void SetHDR10Plus() { m_hdr10_plus = true; }
1434:   void SetDolbyVision() { m_dolby_vision = true; }
1434: 
1434: private:
1434:   bool m_hdr10 = false;
1434:   bool m_hlg = false;
1434:   bool m_hdr10_plus = false;
1434:   bool m_dolby_vision = false;
1434: };
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1434: 
1434: 
1434: 
1434: 
1434: struct RESOLUTION_WHR
1434: {
1434:   int width;
1434:   int height;
1434:   int flags;
1434:   int ResInfo_Index;
1434: };
1434: 
1434: struct REFRESHRATE
1434: {
1434:   float RefreshRate;
1434:   int ResInfo_Index;
1434: };
1434: 
1434: class CDPMSSupport;
1434: class CGraphicContext;
1434: class CRenderSystemBase;
1434: class IRenderLoop;
1434: 
1434: struct VideoPicture;
1434: 
1434: class CWinSystemBase
1434: {
1434: public:
1434:   CWinSystemBase();
1434:   virtual ~CWinSystemBase();
1434: 
1434:   static std::unique_ptr<CWinSystemBase> CreateWinSystem();
1434: 
1434: 
1434:   virtual CRenderSystemBase *GetRenderSystem() { return nullptr; }
1434: 
1434:   virtual const std::string GetName() { return "platform default"; }
1434: 
1434: 
1434:   virtual bool InitWindowSystem();
1434:   virtual bool DestroyWindowSystem();
1434:   virtual bool CreateNewWindow(const std::string& name, bool fullScreen, RESOLUTION_INFO& res) = 0;
1434:   virtual bool DestroyWindow(){ return false; }
1434:   virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop) = 0;
1434:   virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays) = 0;
1434:   virtual bool DisplayHardwareScalingEnabled() { return false; }
1434:   virtual void UpdateDisplayHardwareScaling(const RESOLUTION_INFO& resInfo) { }
1434:   virtual bool MoveWindow(int topLeft, int topRight){return false;}
1434:   virtual void FinishModeChange(RESOLUTION res){}
1434:   virtual void FinishWindowResize(int newWidth, int newHeight) {ResizeWindow(newWidth, newHeight, -1, -1);}
1434:   virtual bool CenterWindow(){return false;}
1434:   virtual bool IsCreated(){ return m_bWindowCreated; }
1434:   virtual void NotifyAppFocusChange(bool bGaining) {}
1434:   virtual void NotifyAppActiveChange(bool bActivated) {}
1434:   virtual void ShowOSMouse(bool show) {}
1434:   virtual bool HasCursor(){ return true; }
1434: 
1434:   virtual bool HasInertialGestures(){ return false; }
1434: 
1434:   virtual bool UseLimitedColor();
1434: 
1434:   virtual int NoOfBuffers();
1434: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1434:   virtual float GetDisplayLatency() { return -1.0f; }
1434: # 99 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1434:   virtual float GetFrameLatencyAdjustment() { return 0.0; }
1434: 
1434:   virtual bool Minimize() { return false; }
1435:        __xtrc += __plus ? '+' : '-';
1115:        if (++__beg != __end)
1115:   __c = *__beg;
1115:        else
1115:   __testeof = true;
1115:      }
1115:  }
1115: 
1115: 
1115:       bool __found_mantissa = false;
1115:       int __sep_pos = 0;
1115:       while (!__testeof)
1115:  {
1115:    if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1115:        || __c == __lc->_M_decimal_point)
1115:      break;
1115:    else if (__c == __lit[__num_base::_S_izero])
1115:      {
1115:        if (!__found_mantissa)
1115:   {
1115:     __xtrc += '0';
1115:     __found_mantissa = true;
1115:   }
1115:        ++__sep_pos;
1115: 
1115:        if (++__beg != __end)
1115:   __c = *__beg;
1115:        else
1115:   __testeof = true;
1115:      }
1115:    else
1115:      break;
1115:  }
1115: 
1115: 
1115:       bool __found_dec = false;
1115:       bool __found_sci = false;
1115:       string __found_grouping;
1115:       if (__lc->_M_use_grouping)
1115:  __found_grouping.reserve(32);
1115:       const char_type* __lit_zero = __lit + __num_base::_S_izero;
1115: 
1115:       if (!__lc->_M_allocated)
1115: 
1115:  while (!__testeof)
1115:    {
1115:      const int __digit = _M_find(__lit_zero, 10, __c);
1115:      if (__digit != -1)
1115:        {
1115:   __xtrc += '0' + __digit;
1115:   __found_mantissa = true;
1115:        }
1115:      else if (__c == __lc->_M_decimal_point
1115:        && !__found_dec && !__found_sci)
1115:        {
1115:   __xtrc += '.';
1115:   __found_dec = true;
1115:        }
1115:      else if ((__c == __lit[__num_base::_S_ie]
1115:         || __c == __lit[__num_base::_S_iE])
1115:        && !__found_sci && __found_mantissa)
1115:        {
1115: 
1115:   __xtrc += 'e';
1115:   __found_sci = true;
1115: 
1115: 
1115:   if (++__beg != __end)
1115:     {
1115:       __c = *__beg;
1115:       const bool __plus = __c == __lit[__num_base::_S_iplus];
1115:       if (__plus || __c == __lit[__num_base::_S_iminus])
1115:         __xtrc += __plus ? '+' : '-';
1115:       else
1115:         continue;
1115:     }
1115:   else
1115:     {
1115:       __testeof = true;
1115:       break;
1115:     }
1115:        }
1115:      else
1115:        break;
1115: 
1115:      if (++__beg != __end)
1115:        __c = *__beg;
1115:      else
1115:        __testeof = true;
1115:    }
1115:       else
1115:  while (!__testeof)
1115:    {
1115: 
1115: 
1115:      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1115:        {
1115:   if (!__found_dec && !__found_sci)
1115:     {
1115: 
1115: 
1115:       if (__sep_pos)
1115:         {
1115:    __found_grouping += static_cast<char>(__sep_pos);
1115:    __sep_pos = 0;
1115:         }
1115:       else
1115:         {
1115: 
1115: 
1115:    __xtrc.clear();
1115:    break;
1115:         }
1115:     }
1115:   else
1115:     break;
1115:        }
1115:      else if (__c == __lc->_M_decimal_point)
1115:        {
1115:   if (!__found_dec && !__found_sci)
1115:     {
1115: 
1115: 
1115: 
1115:       if (__found_grouping.size())
1115:         __found_grouping += static_cast<char>(__sep_pos);
1115:       __xtrc += '.';
1115:       __found_dec = true;
1115:     }
1115:   else
1115:     break;
1115:        }
1115:      else
1115:        {
1115:   const char_type* __q =
1115:     __traits_type::find(__lit_zero, 10, __c);
1115:   if (__q)
1115:     {
1115:       __xtrc += '0' + (__q - __lit_zero);
1115:       __found_mantissa = true;
1115:       ++__sep_pos;
1115:     }
1115:   else if ((__c == __lit[__num_base::_S_ie]
1115:      || __c == __lit[__num_base::_S_iE])
1115:     && !__found_sci && __found_mantissa)
1115:     {
1115: 
1115:       if (__found_grouping.size() && !__found_dec)
1115:         __found_grouping += static_cast<char>(__sep_pos);
1115:       __xtrc += 'e';
1115:       __found_sci = true;
1115: 
1115: 
1115:       if (++__beg != __end)
1115:         {
1115:    __c = *__beg;
1115:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1115:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1115:        && !(__lc->_M_use_grouping
1115:      && __c == __lc-17:   static constexpr auto SETTING_VIDEOSCREEN_WHITELIST = "videoscreen.whitelist";
1417:   static constexpr auto SETTING_VIDEOSCREEN_RESOLUTION = "videoscreen.resolution";
1417:   static constexpr auto SETTING_VIDEOSCREEN_SCREENMODE = "videoscreen.screenmode";
1417:   static constexpr auto SETTING_VIDEOSCREEN_FAKEFULLSCREEN = "videoscreen.fakefullscreen";
1417:   static constexpr auto SETTING_VIDEOSCREEN_BLANKDISPLAYS = "videoscreen.blankdisplays";
1417:   static constexpr auto SETTING_VIDEOSCREEN_STEREOSCOPICMODE = "videoscreen.stereoscopicmode";
1417:   static constexpr auto SETTING_VIDEOSCREEN_PREFEREDSTEREOSCOPICMODE =
1417:       "videoscreen.preferedstereoscopicmode";
1417:   static constexpr auto SETTING_VIDEOSCREEN_NOOFBUFFERS = "videoscreen.noofbuffers";
1417:   static constexpr auto SETTING_VIDEOSCREEN_3DLUT = "videoscreen.cms3dlut";
1417:   static constexpr auto SETTING_VIDEOSCREEN_DISPLAYPROFILE = "videoscreen.displayprofile";
1417:   static constexpr auto SETTING_VIDEOSCREEN_GUICALIBRATION = "videoscreen.guicalibration";
1417:   static constexpr auto SETTING_VIDEOSCREEN_TESTPATTERN = "videoscreen.testpattern";
1417:   static constexpr auto SETTING_VIDEOSCREEN_LIMITEDRANGE = "videoscreen.limitedrange";
1417:   static constexpr auto SETTING_VIDEOSCREEN_FRAMEPACKING = "videoscreen.framepacking";
1417:   static constexpr auto SETTING_VIDEOSCREEN_10BITSURFACES = "videoscreen.10bitsurfaces";
1417:   static constexpr auto SETTING_VIDEOSCREEN_GUISDRPEAKLUMINANCE = "videoscreen.guisdrpeakluminance";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_AUDIODEVICE = "audiooutput.audiodevice";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_CHANNELS = "audiooutput.channels";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_CONFIG = "audiooutput.config";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_SAMPLERATE = "audiooutput.samplerate";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_STEREOUPMIX = "audiooutput.stereoupmix";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_MAINTAINORIGINALVOLUME =
1417:       "audiooutput.maintainoriginalvolume";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_PROCESSQUALITY = "audiooutput.processquality";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_ATEMPOTHRESHOLD = "audiooutput.atempothreshold";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_STREAMSILENCE = "audiooutput.streamsilence";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_STREAMNOISE = "audiooutput.streamnoise";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_GUISOUNDMODE = "audiooutput.guisoundmode";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_GUISOUNDVOLUME = "audiooutput.guisoundvolume";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_PASSTHROUGH = "audiooutput.passthrough";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_PASSTHROUGHDEVICE = "audiooutput.passthroughdevice";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_AC3PASSTHROUGH = "audiooutput.ac3passthrough";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_AC3TRANSCODE = "audiooutput.ac3transcode";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_EAC3PASSTHROUGH = "audiooutput.eac3passthrough";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_DTSPASSTHROUGH = "audiooutput.dtspassthrough";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_TRUEHDPASSTHROUGH = "audiooutput.truehdpassthrough";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_DTSHDPASSTHROUGH = "audiooutput.dtshdpassthrough";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_DTSHDCOREFALLBACK = "audiooutput.dtshdcorefallback";
1417:   static constexpr auto SETTING_AUDIOOUTPUT_VOLUMESTEPS = "audiooutput.volumesteps";
1417:   static constexpr auto SETTING_INPUT_PERIPHERALS = "input.peripherals";
1417:   static constexpr auto SETTING_INPUT_PERIPHERALLIBRARIES = "input.peripherallibraries";
1417:   static constexpr auto SETTING_INPUT_ENABLEMOUSE = "input.enablemouse";
1417:   static constexpr auto SETTING_INPUT_ASKNEWCONTROLLERS = "input.asknewcontrollers";
1417:   static constexpr auto SETTING_INPUT_CONTROLLERCONFIG = "input.controllerconfig";
1417:   static const4:   virtual bool Restore() { return false; }
1434:   virtual bool Hide() { return false; }
1434:   virtual bool Show(bool raise = true) { return false; }
1434: 
1434: 
1434:   virtual std::unique_ptr<CVideoSync> GetVideoSync(void *clock) { return nullptr; }
1434: 
1434: 
1434:   virtual void OnMove(int x, int y) {}
1434: # 121 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1434:   KODI::WINDOWING::COSScreenSaverManager* GetOSScreenSaver();
1434: 
1434: 
1434:   unsigned int GetWidth() { return m_nWidth; }
1434:   unsigned int GetHeight() { return m_nHeight; }
1434:   virtual bool CanDoWindowed() { return true; }
1434:   bool IsFullScreen() { return m_bFullScreen; }
1434:   virtual void UpdateResolutions();
1434:   void SetWindowResolution(int width, int height);
1434:   std::vector<RESOLUTION_WHR> ScreenResolutions(float refreshrate);
1434:   std::vector<REFRESHRATE> RefreshRates(int width, int height, uint32_t dwFlags);
1434:   REFRESHRATE DefaultRefreshRate(std::vector<REFRESHRATE> rates);
1434:   virtual bool HasCalibration(const RESOLUTION_INFO& resInfo) { return true; }
1434: 
1434: 
1434:   virtual std::string GetClipboardText(void);
1434: 
1434: 
1434:   virtual void Register(IDispResource *resource) = 0;
1434:   virtual void Unregister(IDispResource *resource) = 0;
1434: 
1434: 
1434:   void RegisterRenderLoop(IRenderLoop *client);
1434:   void UnregisterRenderLoop(IRenderLoop *client);
1434:   void DriveRenderLoop();
1434: 
1434: 
1434:   virtual bool MessagePump() { return false; }
1434: 
1434: 
1434:   CGraphicContext& GetGfxContext();
1434: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1434:   virtual void* GetHWContext() { return nullptr; }
1434: 
1434:   std::shared_ptr<CDPMSSupport> GetDPMSManager();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool SetHDR(const VideoPicture* videoPicture) { return false; }
1434:   virtual bool IsHDRDisplay() { return false; }
1434:   virtual HDR_STATUS ToggleHDR() { return HDR_STATUS::HDR_UNSUPPORTED; }
1434:   virtual HDR_STATUS GetOSHDRStatus() { return HDR_STATUS::HDR_UNSUPPORTED; }
1434:   virtual CHDRCapabilities GetDisplayHDRCapabilities() const { return {}; }
1434: 
1434:   static const char* SETTING_WINSYSTEM_IS_HDR_DISPLAY;
1434: 
1434: 
1434:   virtual DEBUG_INFO_RENDER GetDebugInfo() { return {}; }
1434: 
1434:   virtual std::vector<std::string> GetConnectedOutputs() { return {}; }
1434: 
1434: protected:
1434:   void UpdateDesktopResolution(RESOLUTION_INFO& newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags);
1434:   virtual std::unique_ptr<KODI::WINDOWING::IOSScreenSaver> GetOSScreenSaverImpl() { return nullptr; }
1434: 
1434:   int m_nWidth = 0;
1434:   int m_nHeight = 0;
1434:   int m_nTop = 0;
1434:   int m_nLeft = 0;
1434:   bool m_bWindowCreated = false;
1434:   bool m_bFullScreen = false;
1434:   bool m_bBlankOtherDisplay = false;
1434:   float m_fRefreshRate = 0.0f;
1434:   std::unique_ptr<KODI::WINDOWING::COSScreenSaverManager> m_screenSaverManager;
1434:   CCriticalSection m_renderLoopSection;
1434:   std::vector<IRenderLoop*> m_renderLoopClients;
1434: 
1434:   std::unique_ptr<IWinEvents> m_winEvents;
1434:   std::unique_ptr<CGraphicContext> m_gfxContext;
1434:   std::shared_ptr<CDPMSSupport> m_dpms;
1434: };
1434: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1434: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1434: enum VIEW_TYPE { VIEW_TYPE_NONE = 0,
1434:                  VIEW_TYPE_LIST,
1434:                  VIEW_TYPE_ICON,
1434:                  VIEW_TYPE_BIG_LIST,
1434:                  VIEW_TYPE_BIG_ICON,
1434:                  VIEW_TYPE_WIDE,
1434:                  VIEW_TYPE_BIG_WIDE,
1434:                  VIEW_TYPE_WRAP,
1434:                  VIEW_TYPE_BIG_WRAP,
1434:                  VIEW_TYPE_INFO,
1434:                  VIEW_TYPE_BIG_INFO,
1434:                  VIEW_TYPE_AUTO,
1434:                  VIEW_TYPE_MAX };
1434: 
1434: enum AdjustRefreshRate
1434: {
1434:   ADJUST_REFRESHRATE_OFF = 0,
1434:   ADJUST_REFRESHRATE_ALWAYS,
1434:   ADJUST_REFRESHRATE_ON_STARTSTOP,
1434:   ADJUST_REFRESHRATE_ON_START,
1434: };
1434: 
1434: class CGraphicContext : public CCriticalSection
1434: {
1434: public:
1434:   CGraphicContext(void);
1434:   virtual ~CGraphicContext();
1434: 
1434: 
1434:   float GetFPS() const;
1434:   void SetFPS(float fps);
1434:   float GetDisplayLatency() const;
1434:   bool IsFullScreenRoot() const;
1434:   void ToggleFullScreen();
1434:   void SetFullScreenVideo(bool bOnOff);
1434:   bool IsFullScreenVideo() const;
1434:   bool IsValidResolution(RESOLUTION res);
1434:   void SetVideoResolution(RESOLUTION res, bool forceUpdate);
1434:   void ApplyModeChange(RESOLUTION res);
1434:   void ApplyWindowResize(int newWidth, int newHeight);
1434:   RESOLUTION GetVideoResolution() const;
1434:   const RESOLUTION_INFO GetResInfo() const;
1434:   const RESOLUTION_INFO GetResInfo(RESOLUTION res) const;
1434:   void SetResInfo(RESOLUTION res, const RESOLUTION_INFO& info);
1434: 
1434:   void Flip(bool rendered, bool videoLayer);
1434: 
1434: 
1434:   int GetWidth() const;
1434:   int GetHeight() const;
1434:   bool SetViewPort(float fx, float fy , float fwidth, float fheight, bool intersectPrevious = false);
1434:   void RestoreViewPort();
1434:   void SetScissors(const CRect &rect);
1434:   void ResetScissors();
1434:   const CRect &GetScissors() const;
1434:   const CRect GetViewWindow() const;
1434:   void SetViewWindow(float left, float top, float right, float bottom);
1434:   bool IsCalibrating() const;
1434:   void SetCalibrating(bool bOnOff);
1434:   void ResetOverscan(RESOLUTION res, OVERSCAN &overscan);
1434:   void ResetOverscan(RESOLUTION_INFO &resinfo);
1434:   void ResetScreenParameters(RESOLUTION res);
1434:   void CaptureStateBlock();
1434:   void ApplyStateBlock();
1434:   void Clear(UTILS::COLOR::Color color = 0);
1434:   void GetAllowedResolutions(std::vector<RESOLUTION> &res);
1434: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1434:   void GetGUIScaling(const RESOLUTION_INFO &res, float &scaleX, float &scaleY, TransformMatrix *matrix = 
1434: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1434:                                                                                                         __null
1434: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1434:                                                                                                             );
1434:   void SetRenderingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1434:   void SetScalingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1434:   float GetScalingPixelRatio() const;
1434:   void InvertFinalCoords(float &x, float &y) const;
1434:   float ScaleFinalXCoord(float x, float y) const;
1434:   float ScaleFinalYCoord(float x, float y) const;
1434:   float ScaleFinalZCoord(float x, float y) const;
1434:   void ScaleFinalCoords(float &x, float &y, float &z) const;
1434:   bool RectIsAngled(float x1, float y1, float x2, float y2) const;
1434:   const TransformMatrix &GetGUIMatrix() const;
1434:   float GetGUIScaleX() const;
1434:   float GetGUIScaleY() const;
1434:   UTILS::COLOR::Color MergeAlpha(UTILS::COLOR::Color color) const;
1434:   UTILS::COLOR::Color MergeColor(UTILS::COLOR::Color color) const;
1434:   void SetOrigin(float x, float y);
1434:   void RestoreOrigin();
1434:   void SetCameraPosition(const CPoint &camera);
1434:   void SetStereoView(RENDER_STEREO_VIEW view);
1434:   RENDER_STEREO_VIEW GetStereoView() { return m_stereoView; }
1434:   void SetStereoMode(RENDER_STEREO_MODE mode) { m_nextStereoMode = mode; }
1434:   RENDER_STEREO_MODE GetStereoMode() { return m_stereoMode; }
1434:   void RestoreCameraPosition();
1434:   void SetStereoFactor(float factor);
1434:   void RestoreStereoFactor();
1434: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1434:   bool SetClipRegion(float x, float y, float w, float h);
1434:   void RestoreClipRegion();
1434:   void >_M_thousands_sep)
1115:        && !(__c == __lc->_M_decimal_point))
1115:         __xtrc += __plus ? '+' : '-';
1115:    else
1115:      continue;
1115:         }
1115:       else
1115:         {
1115:    __testeof = true;
1115:    break;
1115:         }
1115:     }
1115:   else
1115:     break;
1115:        }
1115: 
1115:      if (++__beg != __end)
1115:        __c = *__beg;
1115:      else
1115:        __testeof = true;
1115:    }
1115: 
1115: 
1115: 
1115:       if (__found_grouping.size())
1115:         {
1115: 
1115:    if (!__found_dec && !__found_sci)
1115:      __found_grouping += static_cast<char>(__sep_pos);
1115: 
1115:           if (!std::__verify_grouping(__lc->_M_grouping,
1115:           __lc->_M_grouping_size,
1115:           __found_grouping))
1115:      __err = ios_base::failbit;
1115:         }
1115: 
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     template<typename _ValueT>
1115:       __attribute ((__abi_tag__ ("cxx11")))
1115:       _InIter
1115:       num_get<_CharT, _InIter>::
1115:       _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
1115:        ios_base::iostate& __err, _ValueT& __v) const
1115:       {
1115:         typedef char_traits<_CharT> __traits_type;
1115:  using __gnu_cxx::__add_unsigned;
1115:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1115:  typedef __numpunct_cache<_CharT> __cache_type;
1115:  __use_cache<__cache_type> __uc;
1115:  const locale& __loc = __io._M_getloc();
1115:  const __cache_type* __lc = __uc(__loc);
1115:  const _CharT* __lit = __lc->_M_atoms_in;
1115:  char_type __c = char_type();
1115: 
1115: 
1115:  const ios_base::fmtflags __basefield = __io.flags()
1115:                                         & ios_base::basefield;
1115:  const bool __oct = __basefield == ios_base::oct;
1115:  int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
1115: 
1115: 
1115:  bool __testeof = __beg == __end;
1115: 
1115: 
1115:  bool __negative = false;
1115:  if (!__testeof)
1115:    {
1115:      __c = *__beg;
1115:      __negative = __c == __lit[__num_base::_S_iminus];
1115:      if ((__negative || __c == __lit[__num_base::_S_iplus])
1115:   && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1115:   && !(__c == __lc->_M_decimal_point))
1115:        {
1115:   if (++__beg != __end)
1115:     __c = *__beg;
1115:   else
1115:     __testeof = true;
1115:        }
1115:    }
1115: 
1115: 
1115: 
1115:  bool __found_zero = false;
1115:  int __sep_pos = 0;
1115:  while (!__testeof)
1115:    {
1115:      if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1115:   || __c == __lc->_M_decimal_point)
1115:        break;
1115:      else if (__c == __lit[__num_base::_S_izero]
1115:        && (!__found_zero || __base == 10))
1115:        {
1115:   __found_zero = true;
1115:   ++__sep_pos;
1115:   if (__basefield == 0)
1115:     __base = 8;
1115:   if (__base == 8)
1115:     __sep_pos = 0;
1115:        }
1115:      else if (__found_zero
1115:        && (__c == __lit[__num_base::_S_ix]
1115:     || __c == __lit[__num_base::_S_iX]))
1115:        {
1115:   if (__basefield == 0)
1115:     __base = 16;
1115:   if (__base == 16)
1115:     {
1115:       __found_zero = false;
1115:       __sep_pos = 0;
1115:     }
1115:   else
1115:     break;
1115:        }
1115:      else
1115:        break;
1115: 
1115:      if (++__beg != __end)
1115:        {
1115:   __c = *__beg;
1115:   if (!__found_zero)
1115:     break;
1115:        }
1115:      else
1115:        __testeof = true;
1115:    }
1115: 
1115: 
1115: 
1115:  const size_t __len = (__base == 16 ? __num_base::_S_iend
1115:          - __num_base::_S_izero : __base);
1115: 
1115: 
1115:  typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits;
1115:  string __found_grouping;
1115:  if (__lc->_M_use_grouping)
1115:    __found_grouping.reserve(32);
1115:  bool __testfail = false;
1115:  bool __testoverflow = false;
1115:  const __unsigned_type __max =
1115:    (__negative && __num_traits::__is_signed)
1115:    ? -static_cast<__unsexpr auto SETTING_INPUT_RUMBLENOTIFY = "input.rumblenotify";
1417:   static constexpr auto SETTING_INPUT_TESTRUMBLE = "input.testrumble";
1417:   static constexpr auto SETTING_INPUT_CONTROLLERPOWEROFF = "input.controllerpoweroff";
1417:   static constexpr auto SETTING_INPUT_APPLEREMOTEMODE = "input.appleremotemode";
1417:   static constexpr auto SETTING_INPUT_APPLEREMOTEALWAYSON = "input.appleremotealwayson";
1417:   static constexpr auto SETTING_INPUT_APPLEREMOTESEQUENCETIME = "input.appleremotesequencetime";
1417:   static constexpr auto SETTING_INPUT_SIRIREMOTEIDLETIMERENABLED = "input.siriremoteidletimerenabled";
1417:   static constexpr auto SETTING_INPUT_SIRIREMOTEIDLETIME = "input.siriremoteidletime";
1417:   static constexpr auto SETTING_INPUT_SIRIREMOTEHORIZONTALSENSITIVITY =
1417:       "input.siriremotehorizontalsensitivity";
1417:   static constexpr auto SETTING_INPUT_SIRIREMOTEVERTICALSENSITIVITY =
1417:       "input.siriremoteverticalsensitivity";
1417:   static constexpr auto SETTING_INPUT_TVOSUSEKODIKEYBOARD = "input.tvosusekodikeyboard";
1417:   static constexpr auto SETTING_NETWORK_USEHTTPPROXY = "network.usehttpproxy";
1417:   static constexpr auto SETTING_NETWORK_HTTPPROXYTYPE = "network.httpproxytype";
1417:   static constexpr auto SETTING_NETWORK_HTTPPROXYSERVER = "network.httpproxyserver";
1417:   static constexpr auto SETTING_NETWORK_HTTPPROXYPORT = "network.httpproxyport";
1417:   static constexpr auto SETTING_NETWORK_HTTPPROXYUSERNAME = "network.httpproxyusername";
1417:   static constexpr auto SETTING_NETWORK_HTTPPROXYPASSWORD = "network.httpproxypassword";
1417:   static constexpr auto SETTING_NETWORK_BANDWIDTH = "network.bandwidth";
1417:   static constexpr auto SETTING_POWERMANAGEMENT_DISPLAYSOFF = "powermanagement.displaysoff";
1417:   static constexpr auto SETTING_POWERMANAGEMENT_SHUTDOWNTIME = "powermanagement.shutdowntime";
1417:   static constexpr auto SETTING_POWERMANAGEMENT_SHUTDOWNSTATE = "powermanagement.shutdownstate";
1417:   static constexpr auto SETTING_POWERMANAGEMENT_WAKEONACCESS = "powermanagement.wakeonaccess";
1417:   static constexpr auto SETTING_POWERMANAGEMENT_WAITFORNETWORK = "powermanagement.waitfornetwork";
1417:   static constexpr auto SETTING_DEBUG_SHOWLOGINFO = "debug.showloginfo";
1417:   static constexpr auto SETTING_DEBUG_EXTRALOGGING = "debug.extralogging";
1417:   static constexpr auto SETTING_DEBUG_SETEXTRALOGLEVEL = "debug.setextraloglevel";
1417:   static constexpr auto SETTING_DEBUG_SCREENSHOTPATH = "debug.screenshotpath";
1417:   static constexpr auto SETTING_DEBUG_SHARE_LOG = "debug.sharelog";
1417:   static constexpr auto SETTING_EVENTLOG_ENABLED = "eventlog.enabled";
1417:   static constexpr auto SETTING_EVENTLOG_ENABLED_NOTIFICATIONS = "eventlog.enablednotifications";
1417:   static constexpr auto SETTING_EVENTLOG_SHOW = "eventlog.show";
1417:   static constexpr auto SETTING_MASTERLOCK_LOCKCODE = "masterlock.lockcode";
1417:   static constexpr auto SETTING_MASTERLOCK_STARTUPLOCK = "masterlock.startuplock";
1417:   static constexpr auto SETTING_MASTERLOCK_MAXRETRIES = "masterlock.maxretries";
1417:   static constexpr auto SETTING_CACHE_HARDDISK = "cache.harddisk";
1417:   static constexpr auto SETTING_CACHEVIDEO_DVDROM = "cachevideo.dvdrom";
1417:   static constexpr auto SETTING_CACHEVIDEO_LAN = "cachevideo.lan";
1417:   static constexpr auto SETTING_CACHEVIDEO_INTERNET = "cachevideo.internet";
1417:   static constexpr auto SETTING_CACHEAUDIO_DVDROM = "cacheaudio.dvdrom";
1417:   static constexpr auto SETTING_CACHEAUDIO_LAN = "cacheaudio.lan";
1417:   static constexpr auto SETTING_CACHEAUDIO_INTERNET = "cacheaudio.internet";
1417:   static constexpr auto SETTING_CACHEDVD_DVDROM = "cachedvd.dvdrom";
1417:   static constexpr auto SETTING_CACHEDVD_LAN = "cachedvd.lan";
1417:   static constexpr auto SETTING_CACHEUNKNOWN_INTERNET = "cacheunknown.internet";
1417:   static constexpr auto SETTING_SYSTEM_PLAYLISTSPATH = "system.playlistspath";
1417:   static constexpr auto SETTING_ADDONS_AUTOUPDATES = "general.addonupdates";
1417:   static constexpr auto SETTINClipRect(CRect &vertex, CRect &texture, CRect *diffuse = 
1434: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1434:                                                                __null
1434: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1434:                                                                    );
1434:   CRect GetClipRegion();
1434:   void AddGUITransform();
1434:   TransformMatrix AddTransform(const TransformMatrix &matrix);
1434:   void SetTransform(const TransformMatrix &matrix);
1434:   void SetTransform(const TransformMatrix &matrix, float scaleX, float scaleY);
1434:   void RemoveTransform();
1434: 
1434: 
1434:   CRect StereoCorrection(const CRect &rect) const;
1434:   CPoint StereoCorrection(const CPoint &point) const;
1434: 
1434:   CRect GenerateAABB(const CRect &rect) const;
1434: 
1434: 
1434:   const std::string& GetMediaDir() const;
1434:   void SetMediaDir(const std::string& strMediaDir);
1434: 
1434: protected:
1434: 
1434:   void UpdateCameraPosition(const CPoint &camera, const float &factor);
1434:   void SetVideoResolutionInternal(RESOLUTION res, bool forceUpdate);
1434:   void ApplyVideoResolution(RESOLUTION res);
1434:   void UpdateInternalStateWithResolution(RESOLUTION res);
1434: 
1434:   int m_iScreenHeight = 576;
1434:   int m_iScreenWidth = 720;
1434:   std::string m_strMediaDir;
1434:   CRect m_videoRect;
1434:   bool m_bFullScreenRoot = true;
1434:   bool m_bFullScreenVideo = false;
1434:   bool m_bCalibrating = false;
1434:   RESOLUTION m_Resolution = RES_INVALID;
1434:   float m_fFPSOverride = 0.0f;
1434: 
1434:   RESOLUTION_INFO m_windowResolution;
1434:   std::stack<CPoint> m_cameras;
1434:   std::stack<CPoint> m_origins;
1434:   std::stack<CRect> m_clipRegions;
1434:   std::stack<float> m_stereoFactors;
1434:   std::stack<CRect> m_viewStack;
1434:   CRect m_scissors;
1434: 
1434:   class UITransform
1434:   {
1434:   public:
1434:     UITransform() : matrix() {}
1434:     UITransform(const TransformMatrix& m, const float sX = 1.0f, const float sY = 1.0f)
1434:       : matrix(m), scaleX(sX), scaleY(sY)
1434:     {
1434:     }
1434:     void Reset()
1434:     {
1434:       matrix.Reset();
1434:       scaleX = scaleY = 1.0f;
1434:     }
1434: 
1434:     TransformMatrix matrix;
1434:     float scaleX = 1.0f;
1434:     float scaleY = 1.0f;
1434:   };
1434: 
1434:   UITransform m_guiTransform;
1434:   UITransform m_finalTransform;
1434:   std::stack<UITransform> m_transforms;
1434:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1434:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1434:   RENDER_STEREO_MODE m_nextStereoMode = RENDER_STEREO_MODE_OFF;
1434: };
1434: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1434: 
1434: 
1434: 
1434: class CGUIListItem;
1434: class CAction;
1434: class CMouseEvent;
1434: class CGUIMessage;
1434: class CGUIAction;
1434: 
1434: enum ORIENTATION { HORIZONTAL = 0, VERTICAL };
1434: 
1434: class CControlState
1434: {
1434: public:
1434:   CControlState(int id, int data)
1434:   {
1434:     m_id = id;
1434:     m_data = data;
1434:   }
1434:   int m_id;
1434:   int m_data;
1434: };
1434: 
1434: struct GUICONTROLSTATS
1434: {
1434:   unsigned int nCountTotal;
1434:   unsigned int nCountVisible;
1434: 
1434:   void Reset()
1434:   {
1434:     nCountTotal = nCountVisible = 0;
1434:   };
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: enum EVENT_RESULT { EVENT_RESULT_UNHANDLED = 0x00,
1434:                     EVENT_RESULT_HANDLED = 0x01,
1434:                     EVENT_RESULT_PAN_HORIZONTAL = 0x02,
1434:                     EVENT_RESULT_PAN_VERTICAL = 0x04,
1434:                     EVENT_RESULT_PAN_VERTICAL_WITHOUT_INERTIA = 0x08,
1434:                     EVENT_RESULT_PAN_HORIZONTAL_WITHOUT_INERTIA = 0x10,
1434:                     EVENT_RESULT_ROTATE = 0x20,
1434:                     EVENT_RESULT_ZOOM = 0x40,
1434:                     EVENT_RESULT_SWIPE = 0x80
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CGUIControl
1434: {
1434: pigned_type>(__num_traits::__min)
1115:    : __num_traits::__max;
1115:  const __unsigned_type __smax = __max / __base;
1115:  __unsigned_type __result = 0;
1115:  int __digit = 0;
1115:  const char_type* __lit_zero = __lit + __num_base::_S_izero;
1115: 
1115:  if (!__lc->_M_allocated)
1115: 
1115:    while (!__testeof)
1115:      {
1115:        __digit = _M_find(__lit_zero, __len, __c);
1115:        if (__digit == -1)
1115:   break;
1115: 
1115:        if (__result > __smax)
1115:   __testoverflow = true;
1115:        else
1115:   {
1115:     __result *= __base;
1115:     __testoverflow |= __result > __max - __digit;
1115:     __result += __digit;
1115:     ++__sep_pos;
1115:   }
1115: 
1115:        if (++__beg != __end)
1115:   __c = *__beg;
1115:        else
1115:   __testeof = true;
1115:      }
1115:  else
1115:    while (!__testeof)
1115:      {
1115: 
1115: 
1115:        if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1115:   {
1115: 
1115: 
1115:     if (__sep_pos)
1115:       {
1115:         __found_grouping += static_cast<char>(__sep_pos);
1115:         __sep_pos = 0;
1115:       }
1115:     else
1115:       {
1115:         __testfail = true;
1115:         break;
1115:       }
1115:   }
1115:        else if (__c == __lc->_M_decimal_point)
1115:   break;
1115:        else
1115:   {
1115:     const char_type* __q =
1115:       __traits_type::find(__lit_zero, __len, __c);
1115:     if (!__q)
1115:       break;
1115: 
1115:     __digit = __q - __lit_zero;
1115:     if (__digit > 15)
1115:       __digit -= 6;
1115:     if (__result > __smax)
1115:       __testoverflow = true;
1115:     else
1115:       {
1115:         __result *= __base;
1115:         __testoverflow |= __result > __max - __digit;
1115:         __result += __digit;
1115:         ++__sep_pos;
1115:       }
1115:   }
1115: 
1115:        if (++__beg != __end)
1115:   __c = *__beg;
1115:        else
1115:   __testeof = true;
1115:      }
1115: 
1115: 
1115: 
1115:  if (__found_grouping.size())
1115:    {
1115: 
1115:      __found_grouping += static_cast<char>(__sep_pos);
1115: 
1115:      if (!std::__verify_grouping(__lc->_M_grouping,
1115:      __lc->_M_grouping_size,
1115:      __found_grouping))
1115:        __err = ios_base::failbit;
1115:    }
1115: 
1115: 
1115: 
1115:  if ((!__sep_pos && !__found_zero && !__found_grouping.size())
1115:      || __testfail)
1115:    {
1115:      __v = 0;
1115:      __err = ios_base::failbit;
1115:    }
1115:  else if (__testoverflow)
1115:    {
1115:      if (__negative && __num_traits::__is_signed)
1115:        __v = __num_traits::__min;
1115:      else
1115:        __v = __num_traits::__max;
1115:      __err = ios_base::failbit;
1115:    }
1115:  else
1115:    __v = __negative ? -__result : __result;
1115: 
1115:  if (__testeof)
1115:    __err |= ios_base::eofbit;
1115:  return __beg;
1115:       }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     num_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:            ios_base::iostate& __err, bool& __v) const
1115:     {
1115:       if (!(__io.flags() & ios_base::boolalpha))
1115:         {
1115: 
1115: 
1115: 
1115:    long __l = -1;
1115:           __beg = _M_extract_int(__beg, __end, __io, __err, __l);
1115:    if (__l == 0 || __l == 1)
1115:      __v = bool(__l);
1115:    else
1115:      {
1115: 
1115: 
1115:        __v = true;
1115:        __err = ios_base::failbit;
1115:        if (__beg == __end)
1115:   __err |= ios_base::eofbit;
1115:      }
1115:         }
1115:       else
1115:         {
1115: 
1115:    typedef __numpunct_cache<_CharT> __cache_type;
1115:    __use_cache<__cache_type> __uc;
1115:    const locale& __loc = __io._M_getloc();
1115:    const __cache_type* __lc = __uc(__loc);
1115: 
1115:    bool __testf = true;
1115:    bool __testt = true;
1115:    bool __donef = __lc->_M_falsename_size == 0;
1115:    bool __donet = __lc->_M_truename_size == 0;
1115:    bool __testeof = false;
1115:    size_t __n = 0;
1115:    while (!__donef || !__donet)
11ublic:
1434:   CGUIControl();
1434:   CGUIControl(int parentID, int controlID, float posX, float posY, float width, float height);
1434:   CGUIControl(const CGUIControl &);
1434:   virtual ~CGUIControl(void);
1434:   virtual CGUIControl *Clone() const=0;
1434: 
1434:   virtual void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions);
1434:   virtual void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions);
1434:   virtual void DoRender();
1434:   virtual void Render() {}
1434: 
1434: 
1434:   virtual void RenderEx() {}
1434: 
1434: 
1434:   bool HasProcessed() const { return m_hasProcessed; }
1434: # 102 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1434:   virtual bool OnAction(const CAction &action);
1434: 
1434: 
1434:   virtual void OnUp();
1434:   virtual void OnDown();
1434:   virtual void OnLeft();
1434:   virtual void OnRight();
1434:   virtual bool OnBack();
1434:   virtual bool OnInfo();
1434:   virtual void OnNextControl();
1434:   virtual void OnPrevControl();
1434:   virtual void OnFocus() {}
1434:   virtual void OnUnFocus() {}
1434: # 126 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1434:   virtual EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event);
1434: # 138 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1434:   virtual EVENT_RESULT OnMouseEvent(const CPoint& point, const CMouseEvent& event)
1434:   {
1434:     return EVENT_RESULT_UNHANDLED;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void UnfocusFromPoint(const CPoint &point);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool HitTest(const CPoint &point) const;
1434: 
1434:   virtual bool OnMessage(CGUIMessage& message);
1434:   virtual int GetID(void) const;
1434:   virtual void SetID(int id) { m_controlID = id; }
1434:   int GetParentID() const;
1434:   virtual bool HasFocus() const;
1434:   virtual void AllocResources();
1434:   virtual void FreeResources(bool immediately = false);
1434:   virtual void DynamicResourceAlloc(bool bOnOff);
1434:   virtual bool IsDynamicallyAllocated() { return false; }
1434:   virtual bool CanFocus() const;
1434:   virtual bool IsVisible() const;
1434:   bool IsVisibleFromSkin() const { return m_visibleFromSkinCondition; }
1434:   virtual bool IsDisabled() const;
1434:   virtual void SetPosition(float posX, float posY);
1434:   virtual void SetHitRect(const CRect& rect, const UTILS::COLOR::Color& color);
1434:   virtual void SetCamera(const CPoint &camera);
1434:   virtual void SetStereoFactor(const float &factor);
1434:   bool SetColorDiffuse(const KODI::GUILIB::GUIINFO::CGUIInfoColor &color);
1434:   CPoint GetRenderPosition() const;
1434:   virtual float GetXPosition() const;
1434:   virtual float GetYPosition() const;
1434:   virtual float GetWidth() const;
1434:   virtual float GetHeight() const;
1434: 
1434:   void MarkDirtyRegion(const unsigned int dirtyState = DIRTY_STATE_CONTROL);
1434:   bool IsControlDirty() const { return m_controlDirtyState != 0; }
1434: 
1434: 
1434: 
1434:   const CRect& GetRenderRegion() const { return m_renderRegion; }
1434: 
1434: 
1434: 
1434:   virtual CRect CalcRenderRegion() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   typedef std::map<int, CGUIAction> ActionMap;
1434:   void SetActions(const ActionMap &actions);
1434: # 205 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1434:   void SetAction(int actionID, const CGUIAction &action, bool replace = true);
1434: 
1434: 
1434: 
1434: 
1434:   CGUIAction GetAction(int actionID) const;
1434: 
1434: 
1434: 
1434:   bool Navigate(int direction) const;
1434:   virtual void SetFocus(bool focus);
1434:   virtual void SetWidth(float width);
1434:   virtual void SetHeight(float height);
1434:   virtual void SetVisible(bool bVisible, bool setVisState = false);
1434:   void SetVisibleCondition(const std::string &expression, const std::string &allowHiddenFocus = "");
1434:   bool HasVisibleCondition() const { return m_visibleCondition != 
1434: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUICG_ADDONS_NOTIFICATIONS = "general.addonnotifications";
1417:   static constexpr auto SETTING_ADDONS_SHOW_RUNNING = "addons.showrunning";
1417:   static constexpr auto SETTING_ADDONS_ALLOW_UNKNOWN_SOURCES = "addons.unknownsources";
1417:   static constexpr auto SETTING_ADDONS_UPDATEMODE = "addons.updatemode";
1417:   static constexpr auto SETTING_ADDONS_MANAGE_DEPENDENCIES = "addons.managedependencies";
1417:   static constexpr auto SETTING_ADDONS_REMOVE_ORPHANED_DEPENDENCIES =
1417:       "addons.removeorphaneddependencies";
1417:   static constexpr auto SETTING_GENERAL_ADDONFOREIGNFILTER = "general.addonforeignfilter";
1417:   static constexpr auto SETTING_GENERAL_ADDONBROKENFILTER = "general.addonbrokenfilter";
1417:   static constexpr auto SETTING_SOURCE_VIDEOS = "source.videos";
1417:   static constexpr auto SETTING_SOURCE_MUSIC = "source.music";
1417:   static constexpr auto SETTING_SOURCE_PICTURES = "source.pictures";
1417: 
1417: 
1417:   static const int VIDEOLIBRARY_PLOTS_SHOW_UNWATCHED_MOVIES = 0;
1417:   static const int VIDEOLIBRARY_PLOTS_SHOW_UNWATCHED_TVSHOWEPISODES = 1;
1417:   static const int VIDEOLIBRARY_THUMB_SHOW_UNWATCHED_EPISODE = 2;
1417: 
1417:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_ALL = 0;
1417:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_BASIC = 1;
1417:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_CUSTOM = 2;
1417:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_NONE = 3;
1417: 
1417: 
1417:   static const int MUSICLIBRARY_ARTWORK_LEVEL_ALL = 0;
1417:   static const int MUSICLIBRARY_ARTWORK_LEVEL_BASIC = 1;
1417:   static const int MUSICLIBRARY_ARTWORK_LEVEL_CUSTOM = 2;
1417:   static const int MUSICLIBRARY_ARTWORK_LEVEL_NONE = 3;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   CSettings() = default;
1417:   ~CSettings() override = default;
1417: 
1417:   CSettingsManager* GetSettingsManager() const { return m_settingsManager; }
1417: 
1417: 
1417:   bool Initialize() override;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void RegisterSubSettings(ISubSettings* subSettings);
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   void UnregisterSubSettings(ISubSettings* subSettings);
1417: 
1417: 
1417:   bool Load() override;
1417:   bool Save() override;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Load(const std::string &file);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Load(const TiXmlElement* root);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool LoadHidden(const TiXmlElement *root) { return CSettingsBase::LoadHiddenValuesFromXml(root); }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Save(const std::string &file);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Save(TiXmlNode* root) const override;
1417: # 551 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1417:   bool LoadSetting(const TiXmlNode *node, const std::string &settingId);
1417: 
1417: 
1417:   bool GetBool(const std::string& id) const;
1417: # 563 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1417:   void Clear() override;
1417: 
1417: protected:
1417: 
1417:   void InitializeSettingTypes() override;
1417:   void InitializeControls() override;
1417:   void InitializeOptionFillers() override;
1417:   void UninitializeOptionFillers() override;
1417:   void InitializeConditions() override;
1417:   void UninitializeConditions() override;
1417:   void InitializeVisibility() override;
1417:   void InitializeDefaults() override;
1417:   void InitializeISettingsHandlers() override;
1417:   void UninitializeISettingsHandlers() override;
1417:   void InitializeISubSettings() override;
1417:   void UninitializeISubSettings() override;
1417:   void InitializeISettingCallbacks() override;
1417:   void UninitializeISettingCallbacks() override;
1417: 
1417: 
1417:   bool InitializeDefinitions() override;
1417: 
1417: private:
1417:   CSettings(const CSettings&) = delete;
1417:   CSettings const& operator=(CSettings const&) = delete;
1417: 
1417:   bool Load(const TiXmlElement* root, bool& updated);
1417: 
1417: 
1417:   bool Load(const TiXmontrol.h" 3 4
1434:                                                                  __null
1434: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1434:                                                                      ; }
1434:   void SetEnableCondition(const std::string &expression);
1434:   virtual void UpdateVisibility(const CGUIListItem *item);
1434:   virtual void SetInitialVisibility();
1434:   virtual void SetEnabled(bool bEnable);
1434:   virtual void SetInvalid() { m_bInvalidated = true; }
1434:   virtual void SetPulseOnSelect(bool pulse) { m_pulseOnSelect = pulse; }
1434:   virtual std::string GetDescription() const { return ""; }
1434:   virtual std::string GetDescriptionByIndex(int index) const { return ""; }
1434: 
1434:   void SetAnimations(const std::vector<CAnimation> &animations);
1434:   const std::vector<CAnimation>& GetAnimations() const { return m_animations; }
1434: 
1434:   virtual void QueueAnimation(ANIMATION_TYPE anim);
1434:   virtual bool IsAnimating(ANIMATION_TYPE anim);
1434:   virtual bool HasAnimation(ANIMATION_TYPE anim);
1434:   CAnimation *GetAnimation(ANIMATION_TYPE type, bool checkConditions = true);
1434:   virtual void ResetAnimation(ANIMATION_TYPE type);
1434:   virtual void ResetAnimations();
1434: 
1434: 
1434:   virtual void UpdateInfo(const CGUIListItem* item = 
1434: # 241 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 3 4
1434:                                                     __null
1434: # 241 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1434:                                                         ) {}
1434:   virtual void SetPushUpdates(bool pushUpdates) { m_pushedUpdates = pushUpdates; }
1434: 
1434:   virtual bool IsGroup() const { return false; }
1434:   virtual bool IsContainer() const { return false; }
1434:   virtual bool GetCondition(int condition, int data) const { return false; }
1434: 
1434:   void SetParentControl(CGUIControl* control) { m_parentControl = control; }
1434:   CGUIControl* GetParentControl(void) const { return m_parentControl; }
1434:   virtual void SaveStates(std::vector<CControlState> &states);
1434:   virtual CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr);
1434: 
1434: 
1434:   void SetControlStats(GUICONTROLSTATS* controlStats) { m_controlStats = controlStats; }
1434:   virtual void UpdateControlStats();
1434: 
1434:   enum GUICONTROLTYPES
1434:   {
1434:     GUICONTROL_UNKNOWN,
1434:     GUICONTROL_BUTTON,
1434:     GUICONTROL_FADELABEL,
1434:     GUICONTROL_IMAGE,
1434:     GUICONTROL_BORDEREDIMAGE,
1434:     GUICONTROL_LABEL,
1434:     GUICONTROL_LISTGROUP,
1434:     GUICONTROL_PROGRESS,
1434:     GUICONTROL_RADIO,
1434:     GUICONTROL_RSS,
1434:     GUICONTROL_SLIDER,
1434:     GUICONTROL_SETTINGS_SLIDER,
1434:     GUICONTROL_SPIN,
1434:     GUICONTROL_SPINEX,
1434:     GUICONTROL_TEXTBOX,
1434:     GUICONTROL_TOGGLEBUTTON,
1434:     GUICONTROL_VIDEO,
1434:     GUICONTROL_GAME,
1434:     GUICONTROL_MOVER,
1434:     GUICONTROL_RESIZE,
1434:     GUICONTROL_EDIT,
1434:     GUICONTROL_VISUALISATION,
1434:     GUICONTROL_RENDERADDON,
1434:     GUICONTROL_MULTI_IMAGE,
1434:     GUICONTROL_GROUP,
1434:     GUICONTROL_GROUPLIST,
1434:     GUICONTROL_SCROLLBAR,
1434:     GUICONTROL_LISTLABEL,
1434:     GUICONTROL_GAMECONTROLLER,
1434:     GUICONTAINER_LIST,
1434:     GUICONTAINER_WRAPLIST,
1434:     GUICONTAINER_FIXEDLIST,
1434:     GUICONTAINER_EPGGRID,
1434:     GUICONTAINER_PANEL,
1434:     GUICONTROL_RANGES,
1434:     GUICONTROL_COLORBUTTON
1434:   };
1434:   GUICONTROLTYPES GetControlType() const { return ControlType; }
1434: 
1434:   enum GUIVISIBLE { HIDDEN = 0, DELAYED, VISIBLE };
1434: 
1434:   enum GUISCROLLVALUE { FOCUS = 0, NEVER, ALWAYS };
1434: 
1434: 
1434: 
1434: 
1434: protected:
1434: 
1434: 
1434: 
1434: 
1434:   virtual CPoint GetPosition() const { return CPoint(GetXPosition(), GetYPosition()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool OnMouseOver(const CPoint &point);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   15:      {
1115:        if (__beg == __end)
1115:   {
1115:     __testeof = true;
1115:     break;
1115:   }
1115: 
1115:        const char_type __c = *__beg;
1115: 
1115:        if (!__donef)
1115:   __testf = __c == __lc->_M_falsename[__n];
1115: 
1115:        if (!__testf && __donet)
1115:   break;
1115: 
1115:        if (!__donet)
1115:   __testt = __c == __lc->_M_truename[__n];
1115: 
1115:        if (!__testt && __donef)
1115:   break;
1115: 
1115:        if (!__testt && !__testf)
1115:   break;
1115: 
1115:        ++__n;
1115:        ++__beg;
1115: 
1115:        __donef = !__testf || __n >= __lc->_M_falsename_size;
1115:        __donet = !__testt || __n >= __lc->_M_truename_size;
1115:      }
1115:    if (__testf && __n == __lc->_M_falsename_size && __n)
1115:      {
1115:        __v = false;
1115:        if (__testt && __n == __lc->_M_truename_size)
1115:   __err = ios_base::failbit;
1115:        else
1115:   __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1115:      }
1115:    else if (__testt && __n == __lc->_M_truename_size && __n)
1115:      {
1115:        __v = true;
1115:        __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1115:      }
1115:    else
1115:      {
1115: 
1115: 
1115:        __v = false;
1115:        __err = ios_base::failbit;
1115:        if (__testeof)
1115:   __err |= ios_base::eofbit;
1115:      }
1115:  }
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     num_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:     ios_base::iostate& __err, float& __v) const
1115:     {
1115:       string __xtrc;
1115:       __xtrc.reserve(32);
1115:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1115:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     num_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:            ios_base::iostate& __err, double& __v) const
1115:     {
1115:       string __xtrc;
1115:       __xtrc.reserve(32);
1115:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1115:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: # 735 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     num_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:            ios_base::iostate& __err, long double& __v) const
1115:     {
1115:       string __xtrc;
1115:       __xtrc.reserve(32);
1115:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1115:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     num_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:            ios_base::iostate& __err, void*& __v) const
1115:     {
1115: 
1115:       typedef ios_base::fmtflags fmtflags;
1115:       const fmtflags __fmt = __io.flags();
1115:       __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex);
1115: 
1115:       typedef __gnu_cxx::__conditional_type<(sizeof(void*)
1115:           <= sizeof(unsigned long)),
1115:  unsigned long, unsigned long long>::__type _UIntPtrType;
1115: 
1115:       _UIntPtrType __ul;
1115:       __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
1115: 
1115: 
1115:       __io.flags(__fmt);
1115: 
1115:       __v = reinterpret_cast<void*>(__ul);
1115:       return __beg;
1115:     }
1115: # 795 "/usr/include/c++/12/bits/locale_facets.tcc" virtual bool CanFocusFromPoint(const CPoint &point) const;
1434: 
1434:   virtual bool UpdateColors(const CGUIListItem* item);
1434:   virtual bool Animate(unsigned int currentTime);
1434:   virtual bool CheckAnimation(ANIMATION_TYPE animType);
1434:   void UpdateStates(ANIMATION_TYPE type, ANIMATION_PROCESS currentProcess, ANIMATION_STATE currentState);
1434:   bool SendWindowMessage(CGUIMessage &message) const;
1434: 
1434: 
1434:   ActionMap m_actions;
1434: 
1434:   float m_posX;
1434:   float m_posY;
1434:   float m_height;
1434:   float m_width;
1434:   CRect m_hitRect;
1434:   UTILS::COLOR::Color m_hitColor = 0xffffffff;
1434:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_diffuseColor;
1434:   int m_controlID;
1434:   int m_parentID;
1434:   bool m_bHasFocus;
1434:   bool m_bInvalidated;
1434:   bool m_bAllocated;
1434:   bool m_pulseOnSelect;
1434:   GUICONTROLTYPES ControlType;
1434:   GUICONTROLSTATS *m_controlStats;
1434: 
1434:   CGUIControl *m_parentControl;
1434: 
1434: 
1434:   INFO::InfoPtr m_visibleCondition;
1434:   GUIVISIBLE m_visible;
1434:   bool m_visibleFromSkinCondition;
1434:   bool m_forceHidden;
1434:   KODI::GUILIB::GUIINFO::CGUIInfoBool m_allowHiddenFocus;
1434:   bool m_hasProcessed;
1434: 
1434:   INFO::InfoPtr m_enableCondition;
1434:   bool m_enabled;
1434: 
1434:   bool m_pushedUpdates;
1434: 
1434: 
1434:   std::vector<CAnimation> m_animations;
1434:   CPoint m_camera;
1434:   bool m_hasCamera;
1434:   float m_stereo;
1434:   TransformMatrix m_transform;
1434:   TransformMatrix m_cachedTransform;
1434:   bool m_isCulled{true};
1434: 
1434:   static const unsigned int DIRTY_STATE_CONTROL = 1;
1434:   static const unsigned int DIRTY_STATE_CHILD = 2;
1434: 
1434:   unsigned int m_controlDirtyState;
1434:   CRect m_renderRegion;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h" 2
1434: 
1434: class CGUIControlLookup : public CGUIControl
1434: {
1434: public:
1434:   CGUIControlLookup() = default;
1434:   CGUIControlLookup(int parentID, int controlID, float posX, float posY, float width, float height)
1434:     : CGUIControl(parentID, controlID, posX, posY, width, height) {}
1434:   explicit CGUIControlLookup(const CGUIControlLookup& from);
1434:   ~CGUIControlLookup(void) override = default;
1434: 
1434:   CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr) override;
1434: protected:
1434:   typedef std::multimap<int, CGUIControl *> LookupMap;
1434: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
1434:   bool IsValidControl(const CGUIControl *control) const;
1434:   std::pair<LookupMap::const_iterator, LookupMap::const_iterator> GetLookupControls(int controlId) const
1434:   {
1434:     return m_lookup.equal_range(controlId);
1434:   };
1434: 
1434: 
1434:   void AddLookup(CGUIControl *control);
1434:   void RemoveLookup(CGUIControl *control);
1434:   void RemoveLookup();
1434:   const LookupMap &GetLookup() const { return m_lookup; }
1434:   void ClearLookup() { m_lookup.clear(); }
1434: private:
1434:   LookupMap m_lookup;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CGUIControlGroup : public CGUIControlLookup
1434: {
1434: public:
1434:   CGUIControlGroup();
1434:   CGUIControlGroup(int parentID, int controlID, float posX, float posY, float width, float height);
1434:   explicit CGUIControlGroup(const CGUIControlGroup& from);
1434:   ~CGUIControlGroup(void) override;
1434:   CGUIControlGroup* Clone() const override { return new CGUIControlGroup(*this); }
1434: 
1434:   void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
1434:   void Render() override;
1434:   void RenderEx() override;
1434:   bool OnAction(const CAction &action) override;
1434:   bool OnMessage(CGUIMessage& message) override;
1434:   virtual bool SendControlMessage(CGUIMessage& message);
1434:   bool HasFocus() const override;
1434:   void AllocResources() override;
1434:   void FreeResources(bool immedialNode* settings) override;
1417: 
1417:   bool Initialize(const std::string &file);
1417:   bool Reset();
1417: 
1417:   std::set<ISubSettings*> m_subSettings;
1417: };
1417: # 30 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsComponent.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsComponent.h"
1417:        
1417: 
1417: 
1417: 
1417: class CAdvancedSettings;
1417: class CProfileManager;
1417: class CSettings;
1417: 
1417: namespace KODI
1417: {
1417: namespace SUBTITLES
1417: {
1417: class CSubtitlesSettings;
1417: }
1417: }
1417: 
1417: class CSettingsComponent
1417: {
1417: public:
1417:   CSettingsComponent();
1417:   virtual ~CSettingsComponent();
1417: 
1417: 
1417: 
1417: 
1417:   void Initialize();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   bool Load();
1417: 
1417: 
1417: 
1417: 
1417:   void Deinitialize();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::shared_ptr<CSettings> GetSettings();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::shared_ptr<CAdvancedSettings> GetAdvancedSettings();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::shared_ptr<KODI::SUBTITLES::CSubtitlesSettings> GetSubtitlesSettings();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   std::shared_ptr<CProfileManager> GetProfileManager();
1417: 
1417: private:
1417:   bool InitDirectoriesLinux(bool bPlatformDirectories);
1417:   bool InitDirectoriesOSX(bool bPlatformDirectories);
1417:   bool InitDirectoriesWin32(bool bPlatformDirectories);
1417:   void CreateUserDirs() const;
1417: 
1417:   enum class State
1417:   {
1417:     DEINITED,
1417:     INITED,
1417:     LOADED
1417:   };
1417:   State m_state = State::DEINITED;
1417: 
1417:   std::shared_ptr<CSettings> m_settings;
1417:   std::shared_ptr<CAdvancedSettings> m_advancedSettings;
1417:   std::shared_ptr<KODI::SUBTITLES::CSubtitlesSettings> m_subtitlesSettings;
1417:   std::shared_ptr<CProfileManager> m_profileManager;
1417: };
1417: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: class CURL;
1417: class CAdvancedSettings;
1417: class CFileItem;
1417: 
1417: class URIUtils
1417: {
1417: public:
1417:   static void RegisterAdvancedSettings(const CAdvancedSettings& advancedSettings);
1417:   static void UnregisterAdvancedSettings();
1417: 
1417:   static std::string GetDirectory(const std::string &strFilePath);
1417: 
1417:   static std::string GetFileName(const CURL& url);
1417:   static std::string GetFileName(const std::string& strFileNameAndPath);
1417: 
1417:   static std::string GetExtension(const CURL& url);
1417:   static std::string GetExtension(const std::string& strFileName);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:   static bool HasPluginPath(const CFileItem& item);
1417: # 46 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static bool HasExtension(const std::string& strFileName);
1417: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static bool HasExtension(const std::string& strFileName, const std::string& strExtensions);
1417:   static bool HasExtension(const CURL& url, const std::string& strExtensions);
1417: 
1417:   static void RemoveExtension(std::string& strFileName);
1417:   static std::string ReplaceExtension(const std::string& strFile,
1417:                                      const std::string& strNewExtension);
1417:   static void Split(const std::string& strFileNameAndPath,
1417:                     std::string& strPath, std::string& strFileName);
1417:   static std::vector<std::string> SplitPath(const std::string& strPath);
1417: 
1417:   static void GetCommonPath(std::string& strParent, const std::string& strPath);
1417:   static std::string GetParentPath(const std::string& strPath);
1417:   static bool GetParentPath(const std::string& strPath, std::string& strParent);
1417: 
14tely = false) override;
1434:   void DynamicResourceAlloc(bool bOnOff) override;
1434:   bool CanFocus() const override;
1434: 
1434:   EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event) override;
1434:   void UnfocusFromPoint(const CPoint &point) override;
1434: 
1434:   void SetInitialVisibility() override;
1434: 
1434:   bool IsAnimating(ANIMATION_TYPE anim) override;
1434:   bool HasAnimation(ANIMATION_TYPE anim) override;
1434:   void QueueAnimation(ANIMATION_TYPE anim) override;
1434:   void ResetAnimation(ANIMATION_TYPE anim) override;
1434:   void ResetAnimations() override;
1434: 
1434:   int GetFocusedControlID() const;
1434:   CGUIControl *GetFocusedControl() const;
1434:   virtual CGUIControl *GetFirstFocusableControl(int id);
1434: 
1434:   virtual void AddControl(CGUIControl *control, int position = -1);
1434:   bool InsertControl(CGUIControl *control, const CGUIControl *insertPoint);
1434:   virtual bool RemoveControl(const CGUIControl *control);
1434:   virtual void ClearAll();
1434:   void SetDefaultControl(int id, bool always)
1434:   {
1434:     m_defaultControl = id;
1434:     m_defaultAlways = always;
1434:   }
1434:   void SetRenderFocusedLast(bool renderLast) { m_renderFocusedLast = renderLast; }
1434: 
1434:   void SaveStates(std::vector<CControlState> &states) override;
1434: 
1434:   bool IsGroup() const override { return true; }
1434: 
1434: 
1434: 
1434: 
1434: protected:
1434: 
1434:   std::vector<CGUIControl *> m_children;
1434: 
1434:   typedef std::vector<CGUIControl *>::iterator iControls;
1434:   typedef std::vector<CGUIControl *>::const_iterator ciControls;
1434:   typedef std::vector<CGUIControl *>::reverse_iterator rControls;
1434:   typedef std::vector<CGUIControl *>::const_reverse_iterator crControls;
1434: 
1434:   int m_defaultControl;
1434:   bool m_defaultAlways;
1434:   int m_focusedControl;
1434:   bool m_renderFocusedLast;
1434: private:
1434:   typedef std::vector< std::vector<CGUIControl *> * > COLLECTORTYPE;
1434: 
1434:   struct IDCollectorList
1434:   {
1434:     ~IDCollectorList()
1434:     {
1434:       for (auto item : m_items)
1434:         delete item;
1434:     }
1434: 
1434:     std::vector<CGUIControl *> *Get() {
1434:       if (++m_stackDepth > m_items.size())
1434:         m_items.push_back(new std::vector<CGUIControl *>());
1434:       return m_items[m_stackDepth - 1];
1434:     }
1434: 
1434:     void Release() { --m_stackDepth; }
1434: 
1434:     COLLECTORTYPE m_items;
1434:     size_t m_stackDepth = 0;
1434:   }m_idCollector;
1434: 
1434:   struct IDCollector
1434:   {
1434:     explicit IDCollector(IDCollectorList& list) : m_list(list), m_collector(list.Get()) {}
1434: 
1434:     ~IDCollector() { m_list.Release(); }
1434: 
1434:     IDCollectorList &m_list;
1434:     std::vector<CGUIControl *> *m_collector;
1434:   };
1434: };
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1434: 
1434: 
1434: 
1434: class CFileItem; typedef std::shared_ptr<CFileItem> CFileItemPtr;
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
1434: # 34 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 1 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
1434: # 203 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
1434: # 1 "/usr/include/limits.h" 1 3 4
1434: # 26 "/usr/include/limits.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1434: # 27 "/usr/include/limits.h" 2 3 4
1434: # 195 "/usr/include/limits.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 1 3 4
1434: # 27 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1434: # 28 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
1434: # 161 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 1 3 4
1434: # 38 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 3 4
1434: # 1 "/usr/include/linux/limits.h" 1 3 4
1434: # 39 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 2 3 4
1434: # 162 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
1434: # 196 "/usr/include/limits.h" 2 3 4
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h" 1 3 4
1434: # 200 "/usr/include/limits.h" 2 3 4
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 1 3 4
1434: # 64 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 3 4
1434: # 1 "/usr/include/arm-linux-gnueabihf/bits/uio_lim.h" 1 3 4
1434: # 65 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 2 3 4
1434: # 204 "/usr/include/limits.h" 2 3 4
1434: # 204 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
1434: # 8 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 2 3 4
1434: # 35 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
1434: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1434: 
1434: 
1434: 
1434: enum RenderOrder {
1434:   RENDER_ORDER_WINDOW = 0,
1434:   RENDER_ORDER_DIALOG = 1,
1434:   RENDER_ORDER_WINDOW_SCREENSAVER = 0x7fffffff,
1434:   RENDER_ORDER_WINDOW_POINTER = 0x7fffffff - 1,
1434:   RENDER_ORDER_WINDOW_DEBUG = 0x7fffffff - 2,
1434:   RENDER_ORDER_DIALOG_TELETEXT = 0x7fffffff - 3
1434: };
1434: 
1434: 
1434: class TiXmlNode;
1434: class TiXmlElement;
1434: class CXBMCTinyXML;
1434: class CVariant;
1434: 
1434: class COrigin
1434: {
1434: public:
1434:   COrigin()
1434:   {
1434:     x = y = 0;
1434:   };
1434:   float x;
1434:   float y;
1434:   INFO::InfoPtr condition;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CGUIWindow : public CGUIControlGroup, protected CCriticalSection
1434: {
1434: public:
1434:   enum LOAD_TYPE { LOAD_EVERY_TIME, LOAD_ON_GUI_INIT, KEEP_IN_MEMORY };
1434: 
1434:   CGUIWindow(int id, const std::string &xmlFile);
1434:   ~CGUIWindow(void) override;
1434: 
1434:   bool Initialize();
1434:   bool Load(const std::string& strFileName, bool bContainsPath = false);
1434: 
1434:   void CenterWindow();
1434: 
1434:   void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void DoRender() override;
1434: 
1434: 
1434: 
1434: 
1434:   void AfterRender();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void FrameMove() {}
1434: 
1434:   void Close(bool forceClose = false, int nextWindowID = 0, bool enableSound = true, bool bWait = true);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool OnAction(const CAction &action) override;
1434: 
1434:   using CGUIControlGroup::OnBack;
1434:   virtual bool OnBack(int actionID);
1434:   using CGUIControlGroup::OnInfo;
1434:   virtual bool OnInfo(int actionID) { return false; }
1434: 
1434: 
1434: 
1434:   virtual void ClearBackground();
1434: 
1434:   bool OnMove(int fromControl, int moveAction);
1434:   bool OnMessage(CGUIMessage& message) override;
1434: 
1434:   bool ControlGroupHasFocus(int groupID, int controlID);
1434:   void SetID(int id) override;
1434:   virtual bool HasID(int controlID) const;
1434:   const std::vector<int>& GetIDRange() const { return m_idRange; }
1434:   int GetPreviousWindow() { return m_previousWindow; }
1434:   CRect GetScaledBounds() const;
1434:   void ClearAll() override;
1434:   using CGUIControlGroup::AllocResources;
1434:   virtual void AllocResources(bool forceLoad = false);
1434:   void FreeResources(bool forceUnLoad = false) override;
1434:   void DynamicResourceAlloc(bool bOnOff) override;
1434:   virtual bool IsDialog() const { return false; }
1434:   virtual bool IsDialogRunning() const { return false; }
1434:   virtual bool IsModalDialog() const { return false; }
1434:   virtual bool IsMediaWindow() const { return false; }
1434:   virtual bool HasListItems() const { return false; }
1434:   virtual bool IsSoundEnabled() const { return true; }
1434:   virtual CFileItemPtr GetCurrentListItem(int offset = 0) { return CFileItemPtr(); }
1434:   virtual int GetViewC3
1115:   template<typename _CharT, typename _OutIter>
1115:     void
1115:     num_put<_CharT, _OutIter>::
1115:     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
1115:     _CharT* __new, const _CharT* __cs, int& __len) const
1115:     {
1115: 
1115: 
1115:       __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new,
1115:         __cs, __w, __len);
1115:       __len = static_cast<int>(__w);
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _ValueT>
1115:     int
1115:     __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
1115:     ios_base::fmtflags __flags, bool __dec)
1115:     {
1115:       _CharT* __buf = __bufend;
1115:       if (__builtin_expect(__dec, true))
1115:  {
1115: 
1115:    do
1115:      {
1115:        *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
1115:        __v /= 10;
1115:      }
1115:    while (__v != 0);
1115:  }
1115:       else if ((__flags & ios_base::basefield) == ios_base::oct)
1115:  {
1115: 
1115:    do
1115:      {
1115:        *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
1115:        __v >>= 3;
1115:      }
1115:    while (__v != 0);
1115:  }
1115:       else
1115:  {
1115: 
1115:    const bool __uppercase = __flags & ios_base::uppercase;
1115:    const int __case_offset = __uppercase ? __num_base::_S_oudigits
1115:                                          : __num_base::_S_odigits;
1115:    do
1115:      {
1115:        *--__buf = __lit[(__v & 0xf) + __case_offset];
1115:        __v >>= 4;
1115:      }
1115:    while (__v != 0);
1115:  }
1115:       return __bufend - __buf;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     void
1115:     num_put<_CharT, _OutIter>::
1115:     _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
1115:    ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
1115:     {
1115:       _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
1115:      __grouping_size, __cs, __cs + __len);
1115:       __len = __p - __new;
1115:     }
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     template<typename _ValueT>
1115:       _OutIter
1115:       num_put<_CharT, _OutIter>::
1115:       _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
1115:       _ValueT __v) const
1115:       {
1115:  using __gnu_cxx::__add_unsigned;
1115:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1115:  typedef __numpunct_cache<_CharT> __cache_type;
1115:  __use_cache<__cache_type> __uc;
1115:  const locale& __loc = __io._M_getloc();
1115:  const __cache_type* __lc = __uc(__loc);
1115:  const _CharT* __lit = __lc->_M_atoms_out;
1115:  const ios_base::fmtflags __flags = __io.flags();
1115: 
1115: 
1115:  const int __ilen = 5 * sizeof(_ValueT);
1115:  _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:             * __ilen));
1115: 
1115: 
1115: 
1115:  const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
1115:  const bool __dec = (__basefield != ios_base::oct
1115:        && __basefield != ios_base::hex);
1115:  const __unsigned_type __u = ((__v > 0 || !__dec)
1115:          ? __unsigned_type(__v)
1115:          : -__unsigned_type(__v));
1115:   int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
1115:  __cs += __ilen - __len;
1115: 
1115: 
1115:  if (__lc->_M_use_grouping)
1115:    {
1115: 
1115: 
1115:      _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:           * (__len + 1)
1115:           * 2));
1115:      _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
1115:     __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
1115:      __cs = __cs2 + 2;
1115:    }
1115: 
1115: 
1115:  if (__builtin_expect(__dec, true))
1115:    {
1115: 
1115:      if (__v >= 0)
1115:        {
1115:   if (bool(__flags & ios_base::showpos)
1115:       && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
1115:     *--__cs = __lit[__num_base::_S_oplus], ++__len;
1115:        }
1115:      else
1115:        *--__cs = __lit[__nuontainerID() const { return 0; }
1434:   virtual int GetViewCount() const { return 0; }
1434:   virtual bool CanBeActivated() const { return true; }
1434:   virtual bool IsActive() const;
1434:   void SetCoordsRes(const RESOLUTION_INFO& res) { m_coordsRes = res; }
1434:   const RESOLUTION_INFO& GetCoordsRes() const { return m_coordsRes; }
1434:   void SetLoadType(LOAD_TYPE loadType) { m_loadType = loadType; }
1434:   LOAD_TYPE GetLoadType() { return m_loadType; }
1434:   int GetRenderOrder() { return m_renderOrder; }
1434:   void SetInitialVisibility() override;
1434:   bool IsVisible() const override { return true; };
1434: 
1434: 
1434:   virtual bool HasVisibleControls() { return true; };
1434: 
1434:   bool IsAnimating(ANIMATION_TYPE animType) override;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool IsCustom() const { return m_custom; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetCustom(bool custom) { m_custom = custom; }
1434: 
1434:   void DisableAnimations();
1434: 
1434:   virtual void ResetControlStates();
1434:   void UpdateControlStats() override {};
1434: 
1434:   void SetRunActionsManually();
1434:   void RunLoadActions() const;
1434:   void RunUnloadActions() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetProperty(const std::string &key, const CVariant &value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CVariant GetProperty(const std::string &key) const;
1434: 
1434: 
1434: 
1434: 
1434:   void ClearProperties();
1434: 
1434: 
1434: 
1434: 
1434:   bool HasSaveLastControl() const { return !m_defaultAlways; }
1434: 
1434:   virtual void OnDeinitWindow(int nextWindowID);
1434: protected:
1434:   EVENT_RESULT OnMouseEvent(const CPoint &point, const CMouseEvent &event) override;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool LoadXML(const std::string& strPath, const std::string &strLowerPath);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool Load(TiXmlElement *pRootElement);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual std::unique_ptr<TiXmlElement> Prepare(const std::unique_ptr<TiXmlElement>& rootElement);
1434: 
1434: 
1434: 
1434: 
1434:   bool NeedLoad() const;
1434: 
1434:   virtual void SetDefaults();
1434:   virtual void OnWindowUnload() {}
1434:   virtual void OnWindowLoaded();
1434:   virtual void OnInitWindow();
1434:   void Close_Internal(bool forceClose = false, int nextWindowID = 0, bool enableSound = true);
1434:   EVENT_RESULT OnMouseAction(const CAction &action);
1434:   bool Animate(unsigned int currentTime) override;
1434:   bool CheckAnimation(ANIMATION_TYPE animType) override;
1434: 
1434: 
1434:   virtual void SaveControlStates();
1434:   virtual void RestoreControlStates();
1434: 
1434: 
1434:   void OnEditChanged(int id, std::string &text);
1434:   bool SendMessage(int message, int id, int param1 = 0, int param2 = 0);
1434: 
1434:   void LoadControl(TiXmlElement* pControl, CGUIControlGroup *pGroup, const CRect &rect);
1434: 
1434:   std::vector<int> m_idRange;
1434:   RESOLUTION_INFO m_coordsRes;
1434:   bool m_needsScaling;
1434:   bool m_windowLoaded;
1434:   LOAD_TYPE m_loadType;
1434:   bool m_dynamicResourceAlloc;
1434:   bool m_closing;
1434:   bool m_active;
1434:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_clearBackground;
1434: 
1434:   int m_renderOrder;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CPoint GetPosition() const override;
1434:   std::vector<COrigin> m_origins;
1434: 
1434: 
1434:   int m_lastControlID;
1434:   std::vector<CControlState> m_controlStates;
1434:   int m_previousWindow;
1434: 
1434:   bool m_animationsEnabled;
1434:   struct icompare
1434:   {
1434:     bool operator()(const std::string &s1, const std::string &s2) const;
1434:   };
1434: 
1434:   CGUIAction m_loadActions;
1434:   CGUIAction m_unloadActions;
1434: 
1434: 
1434: 
1434: 
1434:   std::unique_ptr<TiXmlElement> m_windowXMLRootElement;
1434: 
1434:   bool m_manualRunActions;
1434: 
1434:   int m_exclusiveMouseControl;
1434: 
1434:   int m_menuControlID;
1434:   int m_menuLastFocusedControlID;
1434:   bool m_custom;
117: 
1417: 
1417: 
1417: 
1417:   static std::string GetBasePath(const std::string& strPath);
1417: # 85 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static std::string ChangeBasePath(const std::string &fromPath, const std::string &fromFile, const std::string &toPath, const bool &bAddPath = true);
1417: 
1417:   static CURL SubstitutePath(const CURL& url, bool reverse = false);
1417:   static std::string SubstitutePath(const std::string& strPath, bool reverse = false);
1417: # 97 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static bool IsProtocol(const std::string& url, const std::string& type);
1417: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static bool PathHasParent(std::string path, std::string parent, bool translate = false);
1417: # 118 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static bool PathEquals(std::string path1, std::string path2, bool ignoreTrailingSlash = false, bool ignoreURLOptions = false);
1417: 
1417:   static bool IsAddonsPath(const std::string& strFile);
1417:   static bool IsSourcesPath(const std::string& strFile);
1417:   static bool IsCDDA(const std::string& strFile);
1417:   static bool IsDAV(const std::string& strFile);
1417:   static bool IsDOSPath(const std::string &path);
1417:   static bool IsDVD(const std::string& strFile);
1417:   static bool IsFTP(const std::string& strFile);
1417:   static bool IsHTTP(const std::string& strFile, bool bTranslate = false);
1417:   static bool IsUDP(const std::string& strFile);
1417:   static bool IsTCP(const std::string& strFile);
1417:   static bool IsHD(const std::string& strFileName);
1417:   static bool IsInArchive(const std::string& strFile);
1417:   static bool IsInRAR(const std::string& strFile);
1417:   static bool IsInternetStream(const std::string& path, bool bStrictCheck = false);
1417:   static bool IsInternetStream(const CURL& url, bool bStrictCheck = false);
1417:   static bool IsStreamedFilesystem(const std::string& strPath);
1417:   static bool IsNetworkFilesystem(const std::string& strPath);
1417:   static bool IsInAPK(const std::string& strFile);
1417:   static bool IsInZIP(const std::string& strFile);
1417:   static bool IsISO9660(const std::string& strFile);
1417:   static bool IsLiveTV(const std::string& strFile);
1417:   static bool IsPVRRecording(const std::string& strFile);
1417:   static bool IsPVRRecordingFileOrFolder(const std::string& strFile);
1417:   static bool IsPVRTVRecordingFileOrFolder(const std::string& strFile);
1417:   static bool IsPVRRadioRecordingFileOrFolder(const std::string& strFile);
1417:   static bool IsMultiPath(const std::string& strPath);
1417:   static bool IsMusicDb(const std::string& strFile);
1417:   static bool IsNfs(const std::string& strFile);
1417:   static bool IsOnDVD(const std::string& strFile);
1417:   static bool IsOnLAN(const std::string& strFile);
1417:   static bool IsHostOnLAN(const std::string& hostName, bool offLineCheck = false);
1417:   static bool IsPlugin(const std::string& strFile);
1417:   static bool IsScript(const std::string& strFile);
1417:   static bool IsRAR(const std::string& strFile);
1417:   static bool IsRemote(const std::string& strFile);
1417:   static bool IsSmb(const std::string& strFile);
1417:   static bool IsSpecial(const std::string& strFile);
1417:   static bool IsStack(const std::string& strFile);
1417:   static bool IsFavourite(const std::string& strFile);
1417:   static bool IsUPnP(const std::string& strFile);
1417:   static bool IsURL(const std::string& strFile);
1417:   static bool IsVideoDb(const std::string& strFile);
1417:   static bool IsAPK(const std::string& strFile);
1417:   static bool IsZIP(const std::string& strFile);
1417:   static bool IsArchive(const std::string& strFile);
1417:   static bool IsBluray(const std::string& strFile);
1417:   static bool IsAndroidApp(const std::string& strFile);
1417:   static bool IsLibraryFolder(const std::string& strFile);
1417:   static bool IsLibraryContent(const std::string& strFile);
1417:   static bool IsPVR(const s434: 
1434: private:
1434:   std::map<std::string, CVariant, icompare> m_mapProperties;
1434:   std::map<INFO::InfoPtr, bool> m_xmlIncludeConditions;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIDialog.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h"
1434:        
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIDialog.h" 2
1434: 
1434: 
1434: 
1434: 
1434: enum class DialogModalityType
1434: {
1434:   MODELESS,
1434:   MODAL
1434: };
1434: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIDialog.h"
1434: class CGUIDialog :
1434:       public CGUIWindow
1434: {
1434: public:
1434:   CGUIDialog(int id, const std::string &xmlFile, DialogModalityType modalityType = DialogModalityType::MODAL);
1434:   ~CGUIDialog(void) override;
1434: 
1434:   bool OnAction(const CAction &action) override;
1434:   bool OnMessage(CGUIMessage& message) override;
1434:   void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
1434:   void Render() override;
1434: 
1434:   void Open(const std::string &param = "");
1434:   void Open(bool bProcessRenderLoop, const std::string& param = "");
1434: 
1434:   bool OnBack(int actionID) override;
1434: 
1434:   bool IsDialogRunning() const override { return m_active; }
1434:   bool IsDialog() const override { return true; }
1434:   bool IsModalDialog() const override { return m_modalityType == DialogModalityType::MODAL; }
1434:   virtual DialogModalityType GetModalityType() const { return m_modalityType; }
1434: 
1434:   void SetAutoClose(unsigned int timeoutMs);
1434:   void ResetAutoClose(void);
1434:   void CancelAutoClose(void);
1434:   bool IsAutoClosed(void) const { return m_bAutoClosed; }
1434:   void SetSound(bool OnOff) { m_enableSound = OnOff; }
1434:   bool IsSoundEnabled() const override { return m_enableSound; }
1434: 
1434: protected:
1434:   bool Load(TiXmlElement *pRootElement) override;
1434:   void SetDefaults() override;
1434:   void OnWindowLoaded() override;
1434:   using CGUIWindow::UpdateVisibility;
1434:   virtual void UpdateVisibility();
1434: 
1434:   virtual void Open_Internal(bool bProcessRenderLoop, const std::string &param = "");
1434:   void OnDeinitWindow(int nextWindowID) override;
1434: 
1434:   void ProcessRenderLoop(bool renderOnly = false);
1434: 
1434:   bool m_wasRunning;
1434:   bool m_autoClosing;
1434:   bool m_enableSound;
1434:   unsigned int m_showStartTime;
1434:   unsigned int m_showDuration;
1434:   bool m_bAutoClosed;
1434:   DialogModalityType m_modalityType;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h"
1434:        
1434: 
1434: 
1434: 
1434: namespace spdlog
1434: {
1434: class logger;
1434: }
1434: 
1434: using Logger = std::shared_ptr<spdlog::logger>;
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 2
1434: 
1434: 
1434: 
1434: class TiXmlNode;
1434: 
1434: class ISettingControl
1434: {
1434: public:
1434:   ISettingControl();
1434:   virtual ~ISettingControl() = default;
1434: 
1434:   virtual std::string GetType() const = 0;
1434:   const std::string& GetFormat() const { return m_format; }
1434:   bool GetDelayed() const { return m_delayed; }
1434:   void SetDelayed(bool delayed) { m_delayed = delayed; }
1434: 
1434:   virtual bool Deserialize(const TiXmlNode *node, bool update = false);
1434:   virtual bool SetFormat(const std::string &format) { return true; }
1434: 
1434: protected:
1434:   bool m_dem_base::_S_ominus], ++__len;
1115:    }
1115:  else if (bool(__flags & ios_base::showbase) && __v)
1115:    {
1115:      if (__basefield == ios_base::oct)
1115:        *--__cs = __lit[__num_base::_S_odigits], ++__len;
1115:      else
1115:        {
1115: 
1115:   const bool __uppercase = __flags & ios_base::uppercase;
1115:   *--__cs = __lit[__num_base::_S_ox + __uppercase];
1115: 
1115:   *--__cs = __lit[__num_base::_S_odigits];
1115:   __len += 2;
1115:        }
1115:    }
1115: 
1115: 
1115:  const streamsize __w = __io.width();
1115:  if (__w > static_cast<streamsize>(__len))
1115:    {
1115:      _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:           * __w));
1115:      _M_pad(__fill, __w, __io, __cs3, __cs, __len);
1115:      __cs = __cs3;
1115:    }
1115:  __io.width(0);
1115: 
1115: 
1115: 
1115:  return std::__write(__s, __cs, __len);
1115:       }
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     void
1115:     num_put<_CharT, _OutIter>::
1115:     _M_group_float(const char* __grouping, size_t __grouping_size,
1115:      _CharT __sep, const _CharT* __p, _CharT* __new,
1115:      _CharT* __cs, int& __len) const
1115:     {
1115: 
1115: 
1115: 
1115:       const int __declen = __p ? __p - __cs : __len;
1115:       _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
1115:       __grouping_size,
1115:       __cs, __cs + __declen);
1115: 
1115: 
1115:       int __newlen = __p2 - __new;
1115:       if (__p)
1115:  {
1115:    char_traits<_CharT>::copy(__p2, __p, __len - __declen);
1115:    __newlen += __len - __declen;
1115:  }
1115:       __len = __newlen;
1115:     }
1115: # 989 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115:   template<typename _CharT, typename _OutIter>
1115:     template<typename _ValueT>
1115:       _OutIter
1115:       num_put<_CharT, _OutIter>::
1115:       _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
1115:          _ValueT __v) const
1115:       {
1115:  typedef __numpunct_cache<_CharT> __cache_type;
1115:  __use_cache<__cache_type> __uc;
1115:  const locale& __loc = __io._M_getloc();
1115:  const __cache_type* __lc = __uc(__loc);
1115: 
1115: 
1115:  const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
1115: 
1115:  const int __max_digits =
1115:    __gnu_cxx::__numeric_traits<_ValueT>::__digits10;
1115: 
1115: 
1115:  int __len;
1115: 
1115:  char __fbuf[16];
1115:  __num_base::_S_format_float(__io, __fbuf, __mod);
1115: 
1115: 
1115: 
1115:  const bool __use_prec =
1115:    (__io.flags() & ios_base::floatfield) != ios_base::floatfield;
1115: 
1115: 
1115: 
1115:  int __cs_size = __max_digits * 3;
1115:  char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1115:  if (__use_prec)
1115:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1115:      __fbuf, __prec, __v);
1115:  else
1115:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1115:      __fbuf, __v);
1115: 
1115: 
1115:  if (__len >= __cs_size)
1115:    {
1115:      __cs_size = __len + 1;
1115:      __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1115:      if (__use_prec)
1115:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1115:          __fbuf, __prec, __v);
1115:      else
1115:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1115:          __fbuf, __v);
1115:    }
1115: # 1062 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:  _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:             * __len));
1115:  __ctype.widen(__cs, __cs + __len, __ws);
1115: 
1115: 
1115:  _CharT* __wp = 0;
1115:  const char* __p = char_traits<char>::find(__cs, __len, '.');
1115:  if (__p)
1115:    {
1115:      __wp = __ws + (__p - __cs);
1115:      *__wp = __lc->_M_decimal_point;
1115:    }
1115: 
1115: 
1115: 
1115: 
1115:  if (__lc->_M_use_grouping
1115:      && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
1115:           td::string& strFile);
1417:   static bool IsPVRChannel(const std::string& strFile);
1417:   static bool IsPVRChannelGroup(const std::string& strFile);
1417:   static bool IsPVRGuideItem(const std::string& strFile);
1417: 
1417:   static std::string AppendSlash(std::string strFolder);
1417:   static void AddSlashAtEnd(std::string& strFolder);
1417:   static bool HasSlashAtEnd(const std::string& strFile, bool checkURL = false);
1417:   static void RemoveSlashAtEnd(std::string& strFolder);
1417:   static bool CompareWithoutSlashAtEnd(const std::string& strPath1, const std::string& strPath2);
1417:   static std::string FixSlashesAndDups(const std::string& path, const char slashCharacter = '/', const size_t startFrom = 0);
1417: # 191 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static std::string CanonicalizePath(const std::string& path, const char slashCharacter = '\\');
1417: 
1417:   static CURL CreateArchivePath(const std::string& type,
1417:                                 const CURL& archiveUrl,
1417:                                 const std::string& pathInArchive = "",
1417:                                 const std::string& password = "");
1417: 
1417:   static std::string AddFileToFolder(const std::string& strFolder, const std::string& strFile);
1417:   template <typename... T>
1417:   static std::string AddFileToFolder(const std::string& strFolder, const std::string& strFile, T... args)
1417:   {
1417:     auto newPath = AddFileToFolder(strFolder, strFile);
1417:     return AddFileToFolder(newPath, args...);
1417:   }
1417: 
1417:   static bool HasParentInHostname(const CURL& url);
1417:   static bool HasEncodedHostname(const CURL& url);
1417:   static bool HasEncodedFilename(const CURL& url);
1417: # 222 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static std::string GetRealPath(const std::string &path);
1417: # 234 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1417:   static bool UpdateUrlEncoding(std::string &strFilename);
1417: 
1417: private:
1417:   static std::string resolvePath(const std::string &path);
1417: 
1417:   static const CAdvancedSettings* m_advancedSettings;
1417: };
1417: # 32 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1417:        
1417: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons/ilog.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons/ilog.h"
1417:        
1417: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1417: 
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1417:        
1417: 
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h"
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: int64_t str2int64(const std::string &str, int64_t fallback = 0);
1417: int64_t str2int64(const std::wstring &str, int64_t fallback = 0);
1417: uint64_t str2uint64(const std::string &str, uint64_t fallback = 0);
1417: uint64_t str2uint64(const std::wstring &str, uint64_t fallback = 0);
1417: double str2double(const std::string &str, double fallback = 0.0);
1417: double str2double(const std::wstring &str, double fallback = 0.0);
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: class CVariant
1417: {
1417: public:
1417:   enum VariantType
1417:   {
1417:     VariantTypeInteger,
1417:     VariantTypeUnsignedInteger,
1417:     VariantTypeBoolean,
1417:     VariantTypeString,
1417:     VariantTypeWideString,
1417:     VariantTypeDouble,
1417:     VariantTypeArray,
1417:     VariantTypeObject,
1417:     VariantTypeNull,
1417:     VariantTypeConstNull
1417:   };
1417: 
1417:   CVariant();
1417:   CVariant(VariantType type);
1417:   CVariant(int integer);
1417:   CVariant(int64_t integelayed = false;
1434:   std::string m_format;
1434: 
1434:   static Logger s_logger;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControlCreator.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControlCreator.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: class ISettingControl;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class ISettingControlCreator
1434: {
1434: public:
1434:   virtual ~ISettingControlCreator() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const = 0;
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 2
1434: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h"
1434: class CVariant;
1434: 
1434: class CSettingControlCreator : public ISettingControlCreator
1434: {
1434: public:
1434: 
1434:   std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const override;
1434: 
1434: protected:
1434:   CSettingControlCreator() = default;
1434:   ~CSettingControlCreator() override = default;
1434: };
1434: 
1434: class CSettingControlCheckmark : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlCheckmark()
1434:   {
1434:     m_format = "boolean";
1434:   }
1434:   ~CSettingControlCheckmark() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "toggle"; }
1434:   bool SetFormat(const std::string &format) override;
1434: };
1434: 
1434: class CSettingControlFormattedRange : public ISettingControl
1434: {
1434: public:
1434:   ~CSettingControlFormattedRange() override = default;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   int GetFormatLabel() const { return m_formatLabel; }
1434:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1434:   const std::string& GetFormatString() const { return m_formatString; }
1434:   void SetFormatString(const std::string &formatString) { m_formatString = formatString; }
1434:   int GetMinimumLabel() const { return m_minimumLabel; }
1434:   void SetMinimumLabel(int minimumLabel) { m_minimumLabel = minimumLabel; }
1434: 
1434: protected:
1434:   CSettingControlFormattedRange() = default;
1434: 
1434:   int m_formatLabel = -1;
1434:   std::string m_formatString = "{}";
1434:   int m_minimumLabel = -1;
1434: };
1434: 
1434: class CSettingControlSpinner : public CSettingControlFormattedRange
1434: {
1434: public:
1434:   CSettingControlSpinner() = default;
1434:   ~CSettingControlSpinner() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "spinner"; }
1434: 
1434: 
1434:   bool SetFormat(const std::string &format) override;
1434: };
1434: 
1434: class CSettingControlEdit : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlEdit()
1434:   {
1434:     m_delayed = true;
1434:   }
1434:   ~CSettingControlEdit() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "edit"; }
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434:   bool SetFormat(const std::string &format) override;
1434: 
1434:   bool IsHidden() const { return m_hidden; }
1434:   void SetHidden(bool hidden) { m_hidden = hidden; }
1434:   bool VerifyNewValue() const { return m_verifyNewValue; }
1434:   void SetVerifyNewValue(bool verifyNewValue) { m_verifyNewValue = verifyNewValue; }
1434:   int GetHeading() const { return m_heading; }
1434:   void SetHeading(int heading) { m_heading = heading; }
1434: 
1434: protected:
1434:   bool m_hidden = false;
1434:   bool m_verifyNewValue = false;
1434:   int m_heading = -1;
1434: };
1434: 
1434: class CSettingControlButton : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlButton() = default;
1434:   ~CSettingControlButton() override = default;
1434: 
1434: 
1434:   std::string GetType() const overr&& __cs[1] >= '0' && __cs[2] >= '0')))
1115:    {
1115: 
1115: 
1115:      _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:           * __len * 2));
1115: 
1115:      streamsize __off = 0;
1115:      if (__cs[0] == '-' || __cs[0] == '+')
1115:        {
1115:   __off = 1;
1115:   __ws2[0] = __ws[0];
1115:   __len -= 1;
1115:        }
1115: 
1115:      _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
1115:       __lc->_M_thousands_sep, __wp, __ws2 + __off,
1115:       __ws + __off, __len);
1115:      __len += __off;
1115: 
1115:      __ws = __ws2;
1115:    }
1115: 
1115: 
1115:  const streamsize __w = __io.width();
1115:  if (__w > static_cast<streamsize>(__len))
1115:    {
1115:      _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:           * __w));
1115:      _M_pad(__fill, __w, __io, __ws3, __ws, __len);
1115:      __ws = __ws3;
1115:    }
1115:  __io.width(0);
1115: 
1115: 
1115: 
1115:  return std::__write(__s, __ws, __len);
1115:       }
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     num_put<_CharT, _OutIter>::
1115:     do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1115:     {
1115:       const ios_base::fmtflags __flags = __io.flags();
1115:       if ((__flags & ios_base::boolalpha) == 0)
1115:         {
1115:           const long __l = __v;
1115:           __s = _M_insert_int(__s, __io, __fill, __l);
1115:         }
1115:       else
1115:         {
1115:    typedef __numpunct_cache<_CharT> __cache_type;
1115:    __use_cache<__cache_type> __uc;
1115:    const locale& __loc = __io._M_getloc();
1115:    const __cache_type* __lc = __uc(__loc);
1115: 
1115:    const _CharT* __name = __v ? __lc->_M_truename
1115:                               : __lc->_M_falsename;
1115:    int __len = __v ? __lc->_M_truename_size
1115:                    : __lc->_M_falsename_size;
1115: 
1115:    const streamsize __w = __io.width();
1115:    if (__w > static_cast<streamsize>(__len))
1115:      {
1115:        const streamsize __plen = __w - __len;
1115:        _CharT* __ps
1115:   = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1115:        * __plen));
1115: 
1115:        char_traits<_CharT>::assign(__ps, __plen, __fill);
1115:        __io.width(0);
1115: 
1115:        if ((__flags & ios_base::adjustfield) == ios_base::left)
1115:   {
1115:     __s = std::__write(__s, __name, __len);
1115:     __s = std::__write(__s, __ps, __plen);
1115:   }
1115:        else
1115:   {
1115:     __s = std::__write(__s, __ps, __plen);
1115:     __s = std::__write(__s, __name, __len);
1115:   }
1115:        return __s;
1115:      }
1115:    __io.width(0);
1115:    __s = std::__write(__s, __name, __len);
1115:  }
1115:       return __s;
1115:     }
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     num_put<_CharT, _OutIter>::
1115:     do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1115:     { return _M_insert_float(__s, __io, __fill, char(), __v); }
1115: # 1187 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115:   template<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     num_put<_CharT, _OutIter>::
1115:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1115:     long double __v) const
1115:     { return _M_insert_float(__s, __io, __fill, 'L', __v); }
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     num_put<_CharT, _OutIter>::
1115:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1115:            const void* __v) const
1115:     {
1115:       const ios_base::fmtflags __flags = __io.flags();
1115:       const ios_base::fmtflags __fmt = ~(ios_base::basefield
1115:       | ios_base::uppercase);
1115:       __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase));
1115: 
1115:       typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
1115:           <= sizeof(unsigned long)),
1115:  unsigned long, unsigned long long>::__type _UIntPtrType;
1115: 
1115:       __s = _ide { return "button"; }
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434:   bool SetFormat(const std::string &format) override;
1434: 
1434:   int GetHeading() const { return m_heading; }
1434:   void SetHeading(int heading) { m_heading = heading; }
1434:   bool HideValue() const { return m_hideValue; }
1434:   void SetHideValue(bool hideValue) { m_hideValue = hideValue; }
1434: 
1434:   bool ShowAddonDetails() const { return m_showAddonDetails; }
1434:   void SetShowAddonDetails(bool showAddonDetails) { m_showAddonDetails = showAddonDetails; }
1434:   bool ShowInstalledAddons() const { return m_showInstalledAddons; }
1434:   void SetShowInstalledAddons(bool showInstalledAddons) { m_showInstalledAddons = showInstalledAddons; }
1434:   bool ShowInstallableAddons() const { return m_showInstallableAddons; }
1434:   void SetShowInstallableAddons(bool showInstallableAddons) { m_showInstallableAddons = showInstallableAddons; }
1434:   bool ShowMoreAddons() const { return !m_showInstallableAddons && m_showMoreAddons; }
1434:   void SetShowMoreAddons(bool showMoreAddons) { m_showMoreAddons = showMoreAddons; }
1434: 
1434:   bool UseImageThumbs() const { return m_useImageThumbs; }
1434:   void SetUseImageThumbs(bool useImageThumbs) { m_useImageThumbs = useImageThumbs; }
1434:   bool UseFileDirectories() const { return m_useFileDirectories; }
1434:   void SetUseFileDirectories(bool useFileDirectories) { m_useFileDirectories = useFileDirectories; }
1434: 
1434:   bool HasActionData() const { return !m_actionData.empty(); }
1434:   const std::string& GetActionData() const { return m_actionData; }
1434:   void SetActionData(const std::string& actionData) { m_actionData = actionData; }
1434: 
1434:   bool CloseDialog() const { return m_closeDialog; }
1434:   void SetCloseDialog(bool closeDialog) { m_closeDialog = closeDialog; }
1434: 
1434: protected:
1434:   int m_heading = -1;
1434:   bool m_hideValue = false;
1434: 
1434:   bool m_showAddonDetails = true;
1434:   bool m_showInstalledAddons = true;
1434:   bool m_showInstallableAddons = false;
1434:   bool m_showMoreAddons = true;
1434: 
1434:   bool m_useImageThumbs = false;
1434:   bool m_useFileDirectories = false;
1434: 
1434:   std::string m_actionData;
1434:   bool m_closeDialog = false;
1434: };
1434: 
1434: class CSetting;
1434: using SettingControlListValueFormatter =
1434:     std::string (*)(const std::shared_ptr<const CSetting>& setting);
1434: 
1434: class CSettingControlList : public CSettingControlFormattedRange
1434: {
1434: public:
1434:   CSettingControlList() = default;
1434:   ~CSettingControlList() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "list"; }
1434: 
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434:   bool SetFormat(const std::string &format) override;
1434: 
1434:   int GetHeading() const { return m_heading; }
1434:   void SetHeading(int heading) { m_heading = heading; }
1434:   bool CanMultiSelect() const { return m_multiselect; }
1434:   void SetMultiSelect(bool multiselect) { m_multiselect = multiselect; }
1434:   bool HideValue() const { return m_hideValue; }
1434:   void SetHideValue(bool hideValue) { m_hideValue = hideValue; }
1434:   int GetAddButtonLabel() const { return m_addButtonLabel; }
1434:   void SetAddButtonLabel(int label) { m_addButtonLabel = label; }
1434: 
1434:   SettingControlListValueFormatter GetFormatter() const { return m_formatter; }
1434:   void SetFormatter(SettingControlListValueFormatter formatter) { m_formatter = formatter; }
1434: 
1434:   bool UseDetails() const { return m_useDetails; }
1434:   void SetUseDetails(bool useDetails) { m_useDetails = useDetails; }
1434: 
1434: protected:
1434:   int m_heading = -1;
1434:   bool m_multiselect = false;
1434:   bool m_hideValue = false;
1434:   int m_addButtonLabel = -1;
1434:   SettingControlListValueFormatter m_formatter = nullptr;
1434:   bool m_useDetails{false};
1434: };
1434: 
1434: class CSettingControlSlider;
1434: using SettingControlSliderFormatter =
1434:     std::string (*)(const std::shared_ptr<const CSettingControlSlider>& control,
1434:                     const CVariant& value,
1434:                     const CVariant& minimum,
1434:                     const CVariant& step,
1434:                     const CVariant& maximum);
1434: 
1434: class CSettingControlSlider : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlSlider() = default;
1434:   ~CSettingControlSlider() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "slider"; }
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434:   bool SetFormat(const std::string &format) override;
1434: 
1434:   int GetHeading() const { return m_heading; }
1434:   void SetHeading(int heading) { m_heading = heading; }
1434:   bool UsePopup() const { return m_popup; }
1434:   void SetPopup(bool popup) { m_popup = popup; }
1434:   int GetFormatLabel() const { return m_formatLabel; }
1434:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1434:   const std::string& GetFormatString() const { return m_formatString; }
1434:   void SetFormatString(const std::string &formatString) { m_formatString = formatString; }
1434:   std::string GetDefaultFormatString() const;
1434: 
1434:   SettingControlSliderFormatter GetFormatter() const { return m_formatter; }
1434:   void SetFormatter(SettingControlSliderFormatter formatter) { m_formatter = formatter; }
1434: 
1434: protected:
1434:   int m_heading = -1;
1434:   bool m_popup = false;
1434:   int m_formatLabel = -1;
1434:   std::string m_formatString;
1434:   SettingControlSliderFormatter m_formatter = nullptr;
1434: };
1434: 
1434: class CSettingControlRange : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlRange() = default;
1434:   ~CSettingControlRange() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "range"; }
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434:   bool SetFormat(const std::string &format) override;
1434: 
1434:   int GetFormatLabel() const { return m_formatLabel; }
1434:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1434:   int GetValueFormatLabel() const { return m_valueFormatLabel; }
1434:   void SetValueFormatLabel(int valueFormatLabel) { m_valueFormatLabel = valueFormatLabel; }
1434:   const std::string& GetValueFormat() const { return m_valueFormat; }
1434:   void SetValueFormat(const std::string &valueFormat) { m_valueFormat = valueFormat; }
1434: 
1434: protected:
1434:   int m_formatLabel = 21469;
1434:   int m_valueFormatLabel = -1;
1434:   std::string m_valueFormat = "{}";
1434: };
1434: 
1434: class CSettingControlTitle : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlTitle() = default;
1434:   ~CSettingControlTitle() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "title"; }
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   bool IsSeparatorHidden() const { return m_separatorHidden; }
1434:   void SetSeparatorHidden(bool hidden) { m_separatorHidden = hidden; }
1434:   bool IsSeparatorBelowLabel() const { return m_separatorBelowLabel; }
1434:   void SetSeparatorBelowLabel(bool below) { m_separatorBelowLabel = below; }
1434: 
1434: protected:
1434:   bool m_separatorHidden = false;
1434:   bool m_separatorBelowLabel = true;
1434: };
1434: 
1434: class CSettingControlLabel : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlLabel();
1434:   ~CSettingControlLabel() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "label"; }
1434: };
1434: 
1434: class CSettingControlColorButton : public ISettingControl
1434: {
1434: public:
1434:   CSettingControlColorButton() { m_format = "string"; }
1434:   ~CSettingControlColorButton() override = default;
1434: 
1434: 
1434:   std::string GetType() const override { return "colorbutton"; }
1434:   bool SetFormat(const std::string& formatr);
1417:   CVariant(unsigned int unsignedinteger);
1417:   CVariant(uint64_t unsignedinteger);
1417:   CVariant(double value);
1417:   CVariant(float value);
1417:   CVariant(bool boolean);
1417:   CVariant(const char *str);
1417:   CVariant(const char *str, unsigned int length);
1417:   CVariant(const std::string &str);
1417:   CVariant(std::string &&str);
1417:   CVariant(const wchar_t *str);
1417:   CVariant(const wchar_t *str, unsigned int length);
1417:   CVariant(const std::wstring &str);
1417:   CVariant(std::wstring &&str);
1417:   CVariant(const std::vector<std::string> &strArray);
1417:   CVariant(const std::map<std::string, std::string> &strMap);
1417:   CVariant(const std::map<std::string, CVariant> &variantMap);
1417:   CVariant(const CVariant &variant);
1417:   CVariant(CVariant&& rhs) noexcept;
1417:   ~CVariant();
1417: 
1417: 
1417: 
1417:   bool isInteger() const;
1417:   bool isSignedInteger() const;
1417:   bool isUnsignedInteger() const;
1417:   bool isBoolean() const;
1417:   bool isString() const;
1417:   bool isWideString() const;
1417:   bool isDouble() const;
1417:   bool isArray() const;
1417:   bool isObject() const;
1417:   bool isNull() const;
1417: 
1417:   VariantType type() const;
1417: 
1417:   int64_t asInteger(int64_t fallback = 0) const;
1417:   int32_t asInteger32(int32_t fallback = 0) const;
1417:   uint64_t asUnsignedInteger(uint64_t fallback = 0u) const;
1417:   uint32_t asUnsignedInteger32(uint32_t fallback = 0u) const;
1417:   bool asBoolean(bool fallback = false) const;
1417:   std::string asString(const std::string &fallback = "") const;
1417:   std::wstring asWideString(const std::wstring &fallback = L"") const;
1417:   double asDouble(double fallback = 0.0) const;
1417:   float asFloat(float fallback = 0.0f) const;
1417: 
1417:   CVariant &operator[](const std::string &key);
1417:   const CVariant &operator[](const std::string &key) const;
1417:   CVariant &operator[](unsigned int position);
1417:   const CVariant &operator[](unsigned int position) const;
1417: 
1417:   CVariant &operator=(const CVariant &rhs);
1417:   CVariant& operator=(CVariant&& rhs) noexcept;
1417:   bool operator==(const CVariant &rhs) const;
1417:   bool operator!=(const CVariant &rhs) const { return !(*this == rhs); }
1417: 
1417:   void reserve(size_t length);
1417:   void push_back(const CVariant &variant);
1417:   void push_back(CVariant &&variant);
1417:   void append(const CVariant &variant);
1417:   void append(CVariant &&variant);
1417: 
1417:   const char *c_str() const;
1417: 
1417:   void swap(CVariant &rhs);
1417: 
1417: private:
1417:   typedef std::vector<CVariant> VariantArray;
1417:   typedef std::map<std::string, CVariant> VariantMap;
1417: 
1417: public:
1417:   typedef VariantArray::iterator iterator_array;
1417:   typedef VariantArray::const_iterator const_iterator_array;
1417: 
1417:   typedef VariantMap::iterator iterator_map;
1417:   typedef VariantMap::const_iterator const_iterator_map;
1417: 
1417:   iterator_array begin_array();
1417:   const_iterator_array begin_array() const;
1417:   iterator_array end_array();
1417:   const_iterator_array end_array() const;
1417: 
1417:   iterator_map begin_map();
1417:   const_iterator_map begin_map() const;
1417:   iterator_map end_map();
1417:   const_iterator_map end_map() const;
1417: 
1417:   unsigned int size() const;
1417:   bool empty() const;
1417:   void clear();
1417:   void erase(const std::string &key);
1417:   void erase(unsigned int position);
1417: 
1417:   bool isMember(const std::string &key) const;
1417: 
1417:   static CVariant ConstNullVariant;
1417: 
1417: private:
1417:   void cleanup();
1417:   union VariantUnion
1417:   {
1417:     int64_t integer;
1417:     uint64_t unsignedinteger;
1417:     bool boolean;
1417:     double dvalue;
1417:     std::string *string;
1417:     std::wstring *wstring;
1417:     VariantArray *array;
1417:     VariantMap *map;
1417:   };
1417: 
1417:   VariantType m_type;
1417:   VariantUnion m_data;
1417: 
1417:   static VariantArray EMPTY_ARRAY;
1417:   static VariantMap EMPTY_MAP;
1417M_insert_int(__s, __io, __fill,
1115:      reinterpret_cast<_UIntPtrType>(__v));
1115:       __io.flags(__flags);
1115:       return __s;
1115:     }
1115: # 1224 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115: 
1115: # 1233 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1115:   template<typename _CharT, typename _Traits>
1115:     void
1115:     __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
1115:        _CharT* __news, const _CharT* __olds,
1115:        streamsize __newlen, streamsize __oldlen)
1115:     {
1115:       const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
1115:       const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
1115: 
1115: 
1115:       if (__adjust == ios_base::left)
1115:  {
1115:    _Traits::copy(__news, __olds, __oldlen);
1115:    _Traits::assign(__news + __oldlen, __plen, __fill);
1115:    return;
1115:  }
1115: 
1115:       size_t __mod = 0;
1115:       if (__adjust == ios_base::internal)
1115:  {
1115: 
1115: 
1115: 
1115:           const locale& __loc = __io._M_getloc();
1115:    const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:    if (__ctype.widen('-') == __olds[0]
1115:        || __ctype.widen('+') == __olds[0])
1115:      {
1115:        __news[0] = __olds[0];
1115:        __mod = 1;
1115:        ++__news;
1115:      }
1115:    else if (__ctype.widen('0') == __olds[0]
1115:      && __oldlen > 1
1115:      && (__ctype.widen('x') == __olds[1]
1115:          || __ctype.widen('X') == __olds[1]))
1115:      {
1115:        __news[0] = __olds[0];
1115:        __news[1] = __olds[1];
1115:        __mod = 2;
1115:        __news += 2;
1115:      }
1115: 
1115:  }
1115:       _Traits::assign(__news, __plen, __fill);
1115:       _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     _CharT*
1115:     __add_grouping(_CharT* __s, _CharT __sep,
1115:      const char* __gbeg, size_t __gsize,
1115:      const _CharT* __first, const _CharT* __last)
1115:     {
1115:       size_t __idx = 0;
1115:       size_t __ctr = 0;
1115: 
1115:       while (__last - __first > __gbeg[__idx]
1115:       && static_cast<signed char>(__gbeg[__idx]) > 0
1115:       && __gbeg[__idx] != __gnu_cxx::__numeric_traits<char>::__max)
1115:  {
1115:    __last -= __gbeg[__idx];
1115:    __idx < __gsize - 1 ? ++__idx : ++__ctr;
1115:  }
1115: 
1115:       while (__first != __last)
1115:  *__s++ = *__first++;
1115: 
1115:       while (__ctr--)
1115:  {
1115:    *__s++ = __sep;
1115:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1115:      *__s++ = *__first++;
1115:  }
1115: 
1115:       while (__idx--)
1115:  {
1115:    *__s++ = __sep;
1115:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1115:      *__s++ = *__first++;
1115:  }
1115: 
1115:       return __s;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template class __cxx11:: numpunct<char>;
1115:   extern template class __cxx11:: numpunct_byname<char>;
1115:   extern template class num_get<char>;
1115:   extern template class num_put<char>;
1115:   extern template class ctype_byname<char>;
1115: 
1115:   extern template
1115:     const ctype<char>&
1115:     use_facet<ctype<char> >(const locale&);
1115: 
1115:   extern template
1115:     const numpunct<char>&
1115:     use_facet<numpunct<char> >(const locale&);
1115: 
1115:   extern template
1115:     const num_put<char>&
1115:     use_facet<num_put<char> >(const locale&);
1115: 
1115:   extern template
1115:     const num_get<char>&
1115:     use_facet<num_get<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<ctype<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<numpunct<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<num_put<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<num_get<char> >(const locale&);
1115: 
1115: 
1115:   extern template class __cxx11:: numpunct<wchar_t>;
1115:   extern template c) override;
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Timer.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Timer.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class ITimerCallback
1434: {
1434: public:
1434:   virtual ~ITimerCallback() = default;
1434: 
1434:   virtual void OnTimeout() = 0;
1434: };
1434: 
1434: class CTimer : protected CThread
1434: {
1434: public:
1434:   explicit CTimer(ITimerCallback *callback);
1434:   explicit CTimer(std::function<void()> const& callback);
1434:   ~CTimer() override;
1434: 
1434:   bool Start(std::chrono::milliseconds timeout, bool interval = false);
1434:   bool Stop(bool wait = false);
1434:   bool Restart();
1434:   void RestartAsync(std::chrono::milliseconds timeout);
1434: 
1434:   bool IsRunning() const { return CThread::IsRunning(); }
1434: 
1434:   float GetElapsedSeconds() const;
1434:   float GetElapsedMilliseconds() const;
1434: 
1434: protected:
1434:   void Process() override;
1434: 
1434: private:
1434:   std::function<void()> m_callback;
1434:   std::chrono::milliseconds m_timeout;
1434:   bool m_interval;
1434:   std::chrono::time_point<std::chrono::steady_clock> m_endTime;
1434:   CEvent m_eventTimeout;
1434: };
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ILocalizer.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ILocalizer.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: class ILocalizer
1434: {
1434: public:
1434:   virtual ~ILocalizer() = default;
1434: 
1434:   virtual std::string Localize(std::uint32_t code) const = 0;
1434: 
1434: protected:
1434:   ILocalizer() = default;
1434: };
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h" 2
1434: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h"
1434: class CGUIControl;
1434: class CGUIControlBaseSetting;
1434: class CGUIImage;
1434: class CGUISpinControlEx;
1434: class CGUIEditControl;
1434: class CGUIButtonControl;
1434: class CGUIRadioButtonControl;
1434: class CGUISettingsSliderControl;
1434: class CGUILabelControl;
1434: class CGUIColorButtonControl;
1434: 
1434: class CSetting;
1434: class CSettingAction;
1434: class CSettingCategory;
1434: class CSettingGroup;
1434: class CSettingSection;
1434: 
1434: class CVariant;
1434: 
1434: class ISetting;
1434: 
1434: typedef std::shared_ptr<CGUIControlBaseSetting> BaseSettingControlPtr;
1434: 
1434: class CGUIDialogSettingsBase : public CGUIDialog,
1434:                                public CSettingControlCreator,
1434:                                public ILocalizer,
1434:                                protected ITimerCallback,
1434:                                protected ISettingCallback
1434: {
1434: public:
1434:   CGUIDialogSettingsBase(int windowId, const std::string& xmlFile);
1434:   ~CGUIDialogSettingsBase() override;
1434: 
1434: 
1434:   bool OnMessage(CGUIMessage& message) override;
1434:   bool OnAction(const CAction& action) override;
1434:   bool OnBack(int actionID) override;
1434:   void DoProcess(unsigned int currentTime, CDirtyRegionList& dirtyregions) override;
1434: 
1434:   virtual bool IsConfirmed() const { return m_confirmed; }
1434: 
1434: 
1434:   std::string Localize(std::uint32_t code) const override { return GetLocalizedString(code); }
1434: 
1434: protected:
1434: 
1434:   void OnInitWindow() override;
1434: 
1434: 
1434:   void OnTimeout() override;
1434: 
1434: 
1434:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1434:   void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1434:                                 const char* propertyName) override;
1434: 
1434: 
1434:   virtual bool AllowResettingSettings() const { return true; }
1434:   virtual int GetSettingLevel() const { return 0; }
1434:   virtual std::shar: };
1417: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 2
1417: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1417: struct IntegerSettingOption
1417: {
1417:   IntegerSettingOption(const std::string& _label, int _value)
1417:   : label(_label), value(_value) {}
1417: 
1417:   IntegerSettingOption(const std::string& _label,
1417:                        const std::string& _label2,
1417:                        int _value,
1417:                        const std::vector<std::pair<std::string, CVariant>>& props)
1417:     : label(_label), label2(_label2), value(_value), properties(props)
1417:   {
1417:   }
1417: 
1417:   std::string label;
1417:   std::string label2;
1417:   int value = 0;
1417:   std::vector<std::pair<std::string, CVariant>> properties;
1417: };
1417: 
1417: struct StringSettingOption
1417: {
1417:   StringSettingOption(const std::string& _label, const std::string& _value)
1417:   : label(_label), value(_value) {}
1417: 
1417:   StringSettingOption(const std::string& _label,
1417:                       const std::string& _label2,
1417:                       const std::string& _value,
1417:                       const std::vector<std::pair<std::string, CVariant>>& props)
1417:     : label(_label), label2(_label2), value(_value), properties(props)
1417:   {
1417:   }
1417: 
1417:   std::string label;
1417:   std::string label2;
1417:   std::string value;
1417:   std::vector<std::pair<std::string, CVariant>> properties;
1417: };
1417: 
1417: struct TranslatableIntegerSettingOption
1417: {
1417:   TranslatableIntegerSettingOption() = default;
1417:   TranslatableIntegerSettingOption(int _label, int _value, const std::string& _addonId = "")
1417:     : label(_label), value(_value), addonId(_addonId)
1417:   {
1417:   }
1417: 
1417:   int label = 0;
1417:   int value = 0;
1417:   std::string addonId;
1417: };
1417: 
1417: using TranslatableIntegerSettingOptions = std::vector<TranslatableIntegerSettingOption>;
1417: using IntegerSettingOptions = std::vector<IntegerSettingOption>;
1417: using TranslatableStringSettingOption = std::pair<int, std::string>;
1417: using TranslatableStringSettingOptions = std::vector<TranslatableStringSettingOption>;
1417: using StringSettingOptions = std::vector<StringSettingOption>;
1417: 
1417: class CSetting;
1417: using IntegerSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1417:                                              IntegerSettingOptions& list,
1417:                                              int& current,
1417:                                              void* data);
1417: using StringSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1417:                                             StringSettingOptions& list,
1417:                                             std::string& current,
1417:                                             void* data);
1417: 
1417: enum class SettingOptionsSort
1417: {
1417:   NoSorting,
1417:   Ascending,
1417:   Descending
1417: };
1417: # 30 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1417: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h" 1
1417: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h"
1417:        
1417: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h"
1417: using spdlog_filename_t = std::string;
1417: 
1417: 
1417: namespace spdlog
1417: {
1417: namespace sinks
1417: {
1417: template<typename Mutex>
1417: class dist_sink;
1417: }
1417: }
1417: 
1417: class IPlatformLog
1417: {
1417: public:
1417:   virtual ~IPlatformLog() = default;
1417: 
1417:   static std::unique_ptr<IPlatformLog> CreatePlatformLog();
1417: 
1417:   virtual spdlog_filename_t GetLogFilename(const std::string& filename) const = 0;
1417:   virtual void AddSinks(
1417:       std::shared_ptr<spdlog::sinks::dist_sink<std::mutex>> distributionSink) const = 0;
1417: };
1417: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 1 "/ued_ptr<CSettingSection> GetSection() = 0;
1434:   virtual std::shared_ptr<CSetting> GetSetting(const std::string& settingId) = 0;
1434:   virtual std::chrono::milliseconds GetDelayMs() const { return std::chrono::milliseconds(1500); }
1434:   virtual std::string GetLocalizedString(uint32_t labelId) const;
1434: 
1434:   virtual bool OnOkay()
1434:   {
1434:     m_confirmed = true;
1434:     return true;
1434:   }
1434:   virtual void OnCancel() {}
1434: 
1434:   virtual void SetupView();
1434:   virtual std::set<std::string> CreateSettings();
1434:   virtual void UpdateSettings();
1434: # 118 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h"
1434:   virtual std::string GetSettingsLabel(const std::shared_ptr<ISetting>& pSetting);
1434: 
1434:   virtual CGUIControl* AddSetting(const std::shared_ptr<CSetting>& pSetting,
1434:                                   float width,
1434:                                   int& iControlID);
1434:   virtual CGUIControl* AddSettingControl(CGUIControl* pControl,
1434:                                          BaseSettingControlPtr pSettingControl,
1434:                                          float width,
1434:                                          int& iControlID);
1434: 
1434:   virtual void SetupControls(bool createSettings = true);
1434:   virtual void FreeControls();
1434:   virtual void DeleteControls();
1434:   virtual void FreeSettingsControls();
1434: 
1434:   virtual void SetHeading(const CVariant& label);
1434:   virtual void SetDescription(const CVariant& label);
1434: 
1434:   virtual void OnResetSettings();
1434: # 149 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsBase.h"
1434:   virtual void OnClick(const BaseSettingControlPtr& pSettingControl);
1434: 
1434:   void UpdateSettingControl(const std::string& settingId, bool updateDisplayOnly = false);
1434:   void UpdateSettingControl(const BaseSettingControlPtr& pSettingControl,
1434:                             bool updateDisplayOnly = false);
1434:   void SetControlLabel(int controlId, const CVariant& label);
1434: 
1434:   BaseSettingControlPtr GetSettingControl(const std::string& setting);
1434:   BaseSettingControlPtr GetSettingControl(int controlId);
1434: 
1434:   CGUIControl* AddSeparator(float width, int& iControlID);
1434:   CGUIControl* AddGroupLabel(const std::shared_ptr<CSettingGroup>& group,
1434:                              float width,
1434:                              int& iControlID);
1434: 
1434:   std::vector<std::shared_ptr<CSettingCategory>> m_categories;
1434:   std::vector<BaseSettingControlPtr> m_settingControls;
1434: 
1434:   int m_iSetting;
1434:   int m_iCategory;
1434:   std::shared_ptr<CSettingAction> m_resetSetting;
1434:   std::shared_ptr<CSettingCategory> m_dummyCategory;
1434: 
1434:   CGUISpinControlEx* m_pOriginalSpin;
1434:   CGUISettingsSliderControl* m_pOriginalSlider;
1434:   CGUIRadioButtonControl* m_pOriginalRadioButton;
1434:   CGUIColorButtonControl* m_pOriginalColorButton;
1434:   CGUIButtonControl* m_pOriginalCategoryButton;
1434:   CGUIButtonControl* m_pOriginalButton;
1434:   CGUIEditControl* m_pOriginalEdit;
1434:   CGUIImage* m_pOriginalImage;
1434:   CGUILabelControl* m_pOriginalGroupTitle;
1434:   bool m_newOriginalEdit;
1434: 
1434:   BaseSettingControlPtr
1434:       m_delayedSetting;
1434:   CTimer m_delayedTimer;
1434: 
1434:   bool m_confirmed;
1434:   int m_focusedControl, m_fadedControl;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/dialogs/GUIDialogSettingsManagerBase.h" 2
1434: 
1434: class CSettingsManager;
1434: 
1434: class CGUIDialogSettingsManagerBase : public CGUIDialogSettingsBase
1434: {
1434: public:
1434:   CGUIDialogSettingsManagerBase(int windowId, const std::string &xmlFile);
1434:   ~CGUIDialogSettingsManagerBase() override;
1434: 
1434: protected:
1434:   virtual bool Save() = 0;
1434:   virtual CSettingsManager* GetSettingsManager() const = 0;
1434: 
1434: 
1434:   std::shared_ptr<CSetting> GetSetting(const std::string &settingId) override;
1434:   bool OnOkay() olass __cxx11:: numpunct_byname<wchar_t>;
1115:   extern template class num_get<wchar_t>;
1115:   extern template class num_put<wchar_t>;
1115:   extern template class ctype_byname<wchar_t>;
1115: 
1115:   extern template
1115:     const ctype<wchar_t>&
1115:     use_facet<ctype<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     const numpunct<wchar_t>&
1115:     use_facet<numpunct<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     const num_put<wchar_t>&
1115:     use_facet<num_put<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     const num_get<wchar_t>&
1115:     use_facet<num_get<wchar_t> >(const locale&);
1115: 
1115:  extern template
1115:     bool
1115:     has_facet<ctype<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<numpunct<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<num_put<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<num_get<wchar_t> >(const locale&);
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 2688 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1115: # 41 "/usr/include/c++/12/locale" 2 3
1115: # 1 "/usr/include/c++/12/bits/locale_facets_nonio.h" 1 3
1115: # 37 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115: 
1115: # 1 "/usr/include/c++/12/ctime" 1 3
1115: # 39 "/usr/include/c++/12/ctime" 3
1115:        
1115: # 40 "/usr/include/c++/12/ctime" 3
1115: # 58 "/usr/include/c++/12/ctime" 3
1115: namespace std
1115: {
1115:   using ::clock_t;
1115:   using ::time_t;
1115:   using ::tm;
1115: 
1115:   using ::clock;
1115:   using ::difftime;
1115:   using ::mktime;
1115:   using ::time;
1115:   using ::asctime;
1115:   using ::ctime;
1115:   using ::gmtime;
1115:   using ::localtime;
1115:   using ::strftime;
1115: }
1115: 
1115: 
1115: 
1115: namespace std
1115: {
1115:   using ::timespec;
1115:   using ::timespec_get;
1115: }
1115: # 40 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 52 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   class time_base
1115:   {
1115:   public:
1115:     enum dateorder { no_order, dmy, mdy, ymd, ydm };
1115:   };
1115: 
1115:   template<typename _CharT>
1115:     struct __timepunct_cache : public locale::facet
1115:     {
1115: 
1115:       static const _CharT* _S_timezones[14];
1115: 
1115:       const _CharT* _M_date_format;
1115:       const _CharT* _M_date_era_format;
1115:       const _CharT* _M_time_format;
1115:       const _CharT* _M_time_era_format;
1115:       const _CharT* _M_date_time_format;
1115:       const _CharT* _M_date_time_era_format;
1115:       const _CharT* _M_am;
1115:       const _CharT* _M_pm;
1115:       const _CharT* _M_am_pm_format;
1115: 
1115: 
1115:       const _CharT* _M_day1;
1115:       const _CharT* _M_day2;
1115:       const _CharT* _M_day3;
1115:       const _CharT* _M_day4;
1115:       const _CharT* _M_day5;
1115:       const _CharT* _M_day6;
1115:       const _CharT* _M_day7;
1115: 
1115: 
1115:       const _CharT* _M_aday1;
1115:       const _CharT* _M_aday2;
1115:       const _CharT* _M_aday3;
1115:       const _CharT* _M_aday4;
1115:       const _CharT* _M_aday5;
1115:       const _CharT* _M_aday6;
1115:       const _CharT* _M_aday7;
1115: 
1115: 
1115:       const _CharT* _M_month01;
1115:       const _CharT* _M_month02;
1115:       const _CharT* _M_month03;
1115:       const _CharT* _M_month04;
1115:       const _CharT* _M_month05;
1115:       const _CharT* _M_month06;
1115:       const _CharT* _M_month07;
1115:       const _CharT* _M_month08;
1115:       const _CharT* _M_month09;
1115:       const _CharT* _M_month10;
1115:       const _CharT* _M_month11;
1115:       const _CharT* _M_month12;
1115: 
1115: 
1115:       const _CharT* _M_amonth01;
1115:       const _CharT* _M_amonth02;
1115:       const _CharT* _M_amonth03;
1115:       const _CharT* _M_amonth0verride;
1434: 
1434:   std::set<std::string> CreateSettings() override;
1434:   void FreeSettingsControls() override;
1434: 
1434: 
1434:   std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const override;
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/gui/GUIDialogAddonSettings.h" 2
1434: 
1434: class CGUIDialogAddonSettings : public CGUIDialogSettingsManagerBase
1434: {
1434: public:
1434:   CGUIDialogAddonSettings();
1434:   ~CGUIDialogAddonSettings() override = default;
1434: 
1434: 
1434:   bool OnMessage(CGUIMessage& message) override;
1434:   bool OnAction(const CAction& action) override;
1434: 
1434:   static bool ShowForAddon(const ADDON::AddonPtr& addon, bool saveToDisk = true);
1434:   static void SaveAndClose();
1434: 
1434:   std::string GetCurrentAddonID() const;
1434: 
1434: protected:
1434: 
1434:   void SetupView() override;
1434:   std::string GetLocalizedString(uint32_t labelId) const override;
1434:   std::string GetSettingsLabel(const std::shared_ptr<ISetting>& setting) override;
1434:   int GetSettingLevel() const override;
1434:   std::shared_ptr<CSettingSection> GetSection() override;
1434: 
1434: 
1434:   bool AllowResettingSettings() const override { return false; }
1434:   bool Save() override { return true; }
1434:   CSettingsManager* GetSettingsManager() const override;
1434: 
1434: 
1434:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1434: 
1434: private:
1434:   static bool ShowForSingleInstance(const ADDON::AddonPtr& addon,
1434:                                     bool saveToDisk,
1434:                                     ADDON::AddonInstanceId instanceId = ADDON::ADDON_SETTINGS_ID);
1434:   static bool ShowForMultipleInstances(const ADDON::AddonPtr& addon, bool saveToDisk);
1434: 
1434:   ADDON::AddonPtr m_addon;
1434:   ADDON::AddonInstanceId m_instanceId{ADDON::ADDON_SETTINGS_ID};
1434:   bool m_saveToDisk = false;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: class CGUIWindowManager;
1434: class CGUITextureManager;
1434: class CGUILargeTextureManager;
1434: class CStereoscopicsManager;
1434: class CGUIInfoManager;
1434: class CGUIColorManager;
1434: class CGUIAudioManager;
1434: 
1434: class CGUIComponent
1434: {
1434: public:
1434:   CGUIComponent();
1434:   virtual ~CGUIComponent();
1434:   void Init();
1434:   void Deinit();
1434: 
1434:   CGUIWindowManager& GetWindowManager();
1434:   CGUITextureManager& GetTextureManager();
1434:   CGUILargeTextureManager& GetLargeTextureManager();
1434:   CStereoscopicsManager &GetStereoscopicsManager();
1434:   CGUIInfoManager &GetInfoManager();
1434:   CGUIColorManager &GetColorManager();
1434:   CGUIAudioManager &GetAudioManager();
1434: 
1434:   bool ConfirmDelete(const std::string& path);
1434: 
1434: protected:
1434: 
1434:   std::unique_ptr<CGUIWindowManager> m_pWindowManager;
1434:   std::unique_ptr<CGUITextureManager> m_pTextureManager;
1434:   std::unique_ptr<CGUILargeTextureManager> m_pLargeTextureManager;
1434:   std::unique_ptr<CStereoscopicsManager> m_stereoscopicsManager;
1434:   std::unique_ptr<CGUIInfoManager> m_guiInfoManager;
1434:   std::unique_ptr<CGUIColorManager> m_guiColorManager;
1434:   std::unique_ptr<CGUIAudioManager> m_guiAudioManager;
1434: };
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h"
1434:        
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h"
1434: class IDirtyRegionSolver
1434: {
1434: public:
1434:   virtual ~IDirtyRegionSolver() = default;
1434: 
1434: 
1434:   virtual void Solve(const CDirtyRegionList &input, CDirtyRegionList &output) = 0;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CDirtyRegionTracker
1434: {
1434: public:
1434:   explicit CDirtyRegionTracker(int buffering = 3);
1434:   ~CDirtyRegionTracker();
1434:   void SelectAlgorithm();
1434:   void MarkDirtyRegion(const CDirtyRegion &region);
1434: 
1434:   const CDirtyRegionList &GetMarkedRegions() const;
1434:   CDirtyRegionList GetDirtyRegions();
1434:   void CleanMarkedRegions();
1434: 
1434: private:
1434:   CDirtyRegionList m_markedRegions;
1434:   int m_buffering;
1434:   IDirtyRegionSolver *m_solver;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_WINDOW_INIT = 1;
1434: constexpr const int GUI_MSG_WINDOW_DEINIT = 2;
1434: constexpr const int GUI_MSG_WINDOW_RESET = 27;
1434: 
1434: constexpr const int GUI_MSG_SETFOCUS = 3;
1434: constexpr const int GUI_MSG_LOSTFOCUS = 4;
1434: 
1434: constexpr const int GUI_MSG_CLICKED = 5;
1434: 
1434: constexpr const int GUI_MSG_VISIBLE = 6;
1434: constexpr const int GUI_MSG_HIDDEN = 7;
1434: 
1434: constexpr const int GUI_MSG_ENABLED = 8;
1434: constexpr const int GUI_MSG_DISABLED = 9;
1434: 
1434: constexpr const int GUI_MSG_SET_SELECTED = 10;
1434: constexpr const int GUI_MSG_SET_DESELECTED = 11;
1434: 
1434: constexpr const int GUI_MSG_LABEL_ADD = 12;
1434: 
1434: constexpr const int GUI_MSG_LABEL_SET = 13;
1434: 
1434: constexpr const int GUI_MSG_LABEL_RESET = 14;
1434: 
1434: constexpr const int GUI_MSG_ITEM_SELECTED = 15;
1434: constexpr const int GUI_MSG_ITEM_SELECT = 16;
1434: constexpr const int GUI_MSG_LABEL2_SET = 17;
1434: constexpr const int GUI_MSG_SHOWRANGE = 18;
1434: 
1434: constexpr const int GUI_MSG_FULLSCREEN = 19;
1434: constexpr const int GUI_MSG_EXECUTE = 20;
1434: 
1434: constexpr const int GUI_MSG_NOTIFY_ALL = 21;
1434: 
1434: 
1434: constexpr const int GUI_MSG_REFRESH_THUMBS = 22;
1434: 
1434: constexpr const int GUI_MSG_MOVE = 23;
1434: 
1434: 
1434: constexpr const int GUI_MSG_LABEL_BIND = 24;
1434: 
1434: constexpr const int GUI_MSG_FOCUSED = 26;
1434: 
1434: constexpr const int GUI_MSG_PAGE_CHANGE = 28;
1434: 
1434: constexpr const int GUI_MSG_REFRESH_LIST = 29;
1434: 
1434: constexpr const int GUI_MSG_PAGE_UP = 30;
1434: constexpr const int GUI_MSG_PAGE_DOWN = 31;
1434: constexpr const int GUI_MSG_MOVE_OFFSET = 32;
1434: 
1434: constexpr const int GUI_MSG_SET_TYPE = 33;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_WINDOW_RESIZE = 34;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_RENDERER_LOST = 35;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_RENDERER_RESET = 36;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_EXCLUSIVE_MOUSE = 37;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_GESTURE_NOTIFY = 38;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_ADD_CONTROL = 39;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_REMOVE_CONTROL = 40;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_UNFOCUS_ALL = 41;
1434: 
1434: constexpr const int GUI_MSG_SET_TEXT = 42;
1434: 
1434: constexpr const int GUI_MSG_WINDOW_LOAD = 43;
1434: 
1434: constexpr const int GUI_MSG_VAsr/include/spdlog/spdlog.h" 1 3 4
1417: # 10 "/usr/include/spdlog/spdlog.h" 3 4
1417:        
1417: 
1417: # 1 "/usr/include/spdlog/common.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: 
1417: # 1 "/usr/include/spdlog/tweakme.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: # 7 "/usr/include/spdlog/common.h" 2 3 4
1417: # 1 "/usr/include/spdlog/details/null_mutex.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: # 10 "/usr/include/spdlog/details/null_mutex.h" 3 4
1417: namespace spdlog {
1417: namespace details {
1417: struct null_mutex
1417: {
1417:     void lock() const {}
1417:     void unlock() const {}
1417:     bool try_lock() const
1417:     {
1417:         return true;
1417:     }
1417: };
1417: 
1417: struct null_atomic_int
1417: {
1417:     int value;
1417:     null_atomic_int() = default;
1417: 
1417:     explicit null_atomic_int(int new_value)
1417:         : value(new_value)
1417:     {}
1417: 
1417:     int load(std::memory_order = std::memory_order_relaxed) const
1417:     {
1417:         return value;
1417:     }
1417: 
1417:     void store(int new_value, std::memory_order = std::memory_order_relaxed)
1417:     {
1417:         value = new_value;
1417:     }
1417: 
1417:     int exchange(int new_value, std::memory_order = std::memory_order_relaxed)
1417:     {
1417:         std::swap(new_value, value);
1417:         return new_value;
1417:     }
1417: };
1417: 
1417: }
1417: }
1417: # 8 "/usr/include/spdlog/common.h" 2 3 4
1417: # 17 "/usr/include/spdlog/common.h" 3 4
1417: # 1 "/usr/include/c++/12/cstdio" 1 3 4
1417: # 39 "/usr/include/c++/12/cstdio" 3 4
1417:        
1417: # 40 "/usr/include/c++/12/cstdio" 3
1417: # 18 "/usr/include/spdlog/common.h" 2 3 4
1417: # 45 "/usr/include/spdlog/common.h" 3 4
1417: # 1 "/usr/include/spdlog/fmt/fmt.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417:        
1417: # 27 "/usr/include/spdlog/fmt/fmt.h" 3 4
1417: # 1 "/usr/include/fmt/core.h" 1 3 4
1417: # 28 "/usr/include/spdlog/fmt/fmt.h" 2 3 4
1417: # 46 "/usr/include/spdlog/common.h" 2 3 4
1417: # 108 "/usr/include/spdlog/common.h" 3 4
1417: namespace spdlog {
1417: 
1417: class formatter;
1417: 
1417: namespace sinks {
1417: class sink;
1417: }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: using filename_t = std::string;
1417: 
1417: 
1417: 
1417: using log_clock = std::chrono::system_clock;
1417: using sink_ptr = std::shared_ptr<sinks::sink>;
1417: using sinks_init_list = std::initializer_list<sink_ptr>;
1417: using err_handler = std::function<void(const std::string &err_msg)>;
1417: # 152 "/usr/include/spdlog/common.h" 3 4
1417: namespace fmt_lib = fmt;
1417: 
1417: using string_view_t = fmt::basic_string_view<char>;
1417: using memory_buf_t = fmt::basic_memory_buffer<char, 250>;
1417: 
1417: template<typename... Args>
1417: using format_string_t = fmt::format_string<Args...>;
1417: 
1417: template<class T>
1417: using remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
1417: 
1417: 
1417: 
1417: template<class T, class Char = char>
1417: struct is_convertible_to_basic_format_string
1417:     : std::integral_constant<bool,
1417:           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
1417: {};
1417: # 186 "/usr/include/spdlog/common.h" 3 4
1417: template<class T>
1417: struct is_convertible_to_any_format_string : std::integral_constant<bool, is_convertible_to_basic_format_string<T, char>::value ||
1417:                                                                               is_convertible_to_basic_format_string<T, wchar_t>::value>
1417: {};
1417: 
1417: 
1417: using level_t = details::null_atomic_int;
1417: # 210 "/usr/include/spdlog/common.h" 3 4
1417: namespace level {
1417: enum level_enum : int
1417: {
1417:     trace = 0,
1417:     debug = 1,
1417:     info = 2,
1417:     warn = 3,
1417:     err = 4,
1417:     critical = 5,
1417:     off = 6,
1417:     n_levels
1417: };
1417: # 247 "/usr/include/spdlog/common.h" 3 4
1417: __attrib4;
1115:       const _CharT* _M_amonth05;
1115:       const _CharT* _M_amonth06;
1115:       const _CharT* _M_amonth07;
1115:       const _CharT* _M_amonth08;
1115:       const _CharT* _M_amonth09;
1115:       const _CharT* _M_amonth10;
1115:       const _CharT* _M_amonth11;
1115:       const _CharT* _M_amonth12;
1115: 
1115:       bool _M_allocated;
1115: 
1115:       __timepunct_cache(size_t __refs = 0) : facet(__refs),
1115:       _M_date_format(0), _M_date_era_format(0), _M_time_format(0),
1115:       _M_time_era_format(0), _M_date_time_format(0),
1115:       _M_date_time_era_format(0), _M_am(0), _M_pm(0),
1115:       _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0),
1115:       _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0),
1115:       _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0),
1115:       _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0),
1115:       _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0),
1115:       _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0),
1115:       _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0),
1115:       _M_amonth02(0), _M_amonth03(0), _M_amonth04(0),
1115:       _M_amonth05(0), _M_amonth06(0), _M_amonth07(0),
1115:       _M_amonth08(0), _M_amonth09(0), _M_amonth10(0),
1115:       _M_amonth11(0), _M_amonth12(0), _M_allocated(false)
1115:       { }
1115: 
1115:       ~__timepunct_cache();
1115: 
1115:     private:
1115:       __timepunct_cache&
1115:       operator=(const __timepunct_cache&);
1115: 
1115:       explicit
1115:       __timepunct_cache(const __timepunct_cache&);
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     __timepunct_cache<_CharT>::~__timepunct_cache()
1115:     {
1115:       if (_M_allocated)
1115:  {
1115: 
1115:  }
1115:     }
1115: 
1115: 
1115:   template<>
1115:     const char*
1115:     __timepunct_cache<char>::_S_timezones[14];
1115: 
1115: 
1115:   template<>
1115:     const wchar_t*
1115:     __timepunct_cache<wchar_t>::_S_timezones[14];
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
1115: 
1115:   template<typename _CharT>
1115:     class __timepunct : public locale::facet
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT __char_type;
1115:       typedef __timepunct_cache<_CharT> __cache_type;
1115: 
1115:     protected:
1115:       __cache_type* _M_data;
1115:       __c_locale _M_c_locale_timepunct;
1115:       const char* _M_name_timepunct;
1115: 
1115:     public:
1115: 
1115:       static locale::id id;
1115: 
1115:       explicit
1115:       __timepunct(size_t __refs = 0);
1115: 
1115:       explicit
1115:       __timepunct(__cache_type* __cache, size_t __refs = 0);
1115: # 206 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
1115:       const tm* __tm) const throw ();
1115: 
1115:       void
1115:       _M_date_formats(const _CharT** __date) const
1115:       {
1115: 
1115:  __date[0] = _M_data->_M_date_format;
1115:  __date[1] = _M_data->_M_date_era_format;
1115:       }
1115: 
1115:       void
1115:       _M_time_formats(const _CharT** __time) const
1115:       {
1115: 
1115:  __time[0] = _M_data->_M_time_format;
1115:  __time[1] = _M_data->_M_time_era_format;
1115:       }
1115: 
1115:       void
1115:       _M_date_time_formats(const _CharT** __dt) const
1115:       {
1115: 
1115:  __dt[0] = _M_data->_M_date_time_format;
1115:  __dt[1] = _M_data->_M_date_time_era_format;
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_am_pm_format(const _CharT*) const
1115:       { }
1115: 
1115: 
1115:       void
1115:       _M_am_pm_format(const _CharT** __ampm_format) const
1115:       {
1115:  __ampm_format[0] = _M_data->_M_am_pm_format;
1115:       }
1115: 
1115:       void
1115:       _M_am_pm(const _CharT** __ampm) const
1115:       {
1115:  __ampm[0] = _M_data->_M_am;
1115:  __ampm[LIDITY_CHANGED = 44;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_IS_SELECTED = 45;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_SET_LABELS = 46;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_SET_FILENAME = 47;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_GET_FILENAME = 48;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_UI_READY = 49;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_REFRESH_TIMER = 50;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_STATE_CHANGED = 51;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_SUBTITLE_DOWNLOADED = 52;
1434: 
1434: 
1434: constexpr const int GUI_MSG_USER = 1000;
1434: 
1434: 
1434: 
1434: 
1434: constexpr const int GUI_MSG_CODINGTABLE_LOOKUP_COMPLETED = 65000;
1434: # 358 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIMessage.h"
1434: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
1434: class CFileItemList;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CGUIMessage final
1434: {
1434: public:
1434:   CGUIMessage(int dwMsg, int senderID, int controlID, int param1 = 0, int param2 = 0);
1434:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, CFileItemList* item);
1434:   CGUIMessage(int msg, int senderID, int controlID, int param1, int param2, const CGUIListItemPtr &item);
1434:   CGUIMessage(const CGUIMessage& msg);
1434:   ~CGUIMessage(void);
1434:   CGUIMessage& operator = (const CGUIMessage& msg);
1434: 
1434:   int GetControlId() const ;
1434:   int GetMessage() const;
1434:   void* GetPointer() const;
1434:   CGUIListItemPtr GetItem() const;
1434:   int GetParam1() const;
1434:   int GetParam2() const;
1434:   int GetSenderId() const;
1434:   void SetParam1(int param1);
1434:   void SetParam2(int param2);
1434:   void SetPointer(void* pointer);
1434:   void SetLabel(const std::string& strLabel);
1434:   void SetLabel(int iString);
1434:   const std::string& GetLabel() const;
1434:   void SetStringParam(const std::string &strParam);
1434:   void SetStringParams(const std::vector<std::string> &params);
1434:   const std::string& GetStringParam(size_t param = 0) const;
1434:   size_t GetNumStringParams() const;
1434: 
1434: private:
1434:   std::string m_strLabel;
1434:   std::vector<std::string> m_params;
1434:   int m_senderID;
1434:   int m_controlID;
1434:   int m_message;
1434:   void* m_pointer;
1434:   int m_param1;
1434:   int m_param2;
1434:   CGUIListItemPtr m_item;
1434: 
1434:   static std::string empty_string;
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class IMsgTargetCallback
1434: {
1434: public:
1434:   virtual bool OnMessage(CGUIMessage& message) = 0;
1434:   virtual ~IMsgTargetCallback() = default;
1434: };
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
1434:        
1434: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
1434: class IWindowManagerCallback
1434: {
1434: public:
1434:   IWindowManagerCallback(void);
1434:   virtual ~IWindowManagerCallback(void);
1434: 
1434:   virtual void FrameMove(bool processEvents, bool processGUI = true) = 0;
1434:   virtual void Render() = 0;
1434:   virtual void Process() = 0;
1434:   virtual bool GetRenderGUI() const { return false; }
1434: };
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
1434:        
1434: 
1434: namespace KODI
1434: {
1434: namespace MESSAGING
1434: {
1434: class ThreadMessage;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class IMessageTarget
1434: {
1434: public:
1434:   virtual ~IMessageTarget() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual int GetMessageMask() = 0;
1434: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
1434:   virtual void OnApplicationMessage(ThreadMessage* msg) = 0;
1434: };
1434: }
1434: }
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1434: 
1434: # 1 "/usr/include/c++/12/list" 1 3
1434: # 58 "/usr/include/c++/12/list" 3
1434:        
1434: # 59 "/usr/include/c++/12/list" 3
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stl_list.h" 1 3
1434: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1434: 
1434: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   namespace __detail
1434:   {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     struct _List_node_base
1434:     {
1434:       _List_node_base* _M_next;
1434:       _List_node_base* _M_prev;
1434: 
1434:       static void
1434:       swap(_List_node_base& __x, _List_node_base& __y) noexcept;
1434: 
1434:       void
1434:       _M_transfer(_List_node_base* const __first,
1434:     _List_node_base* const __last) noexcept;
1434: 
1434:       void
1434:       _M_reverse() noexcept;
1434: 
1434:       void
1434:       _M_hook(_List_node_base* const __position) noexcept;
1434: 
1434:       void
1434:       _M_unhook() noexcept;
1434:     };
1434: 
1434: 
1434:     struct _List_node_header : public _List_node_base
1434:     {
1434: 
1434:       std::size_t _M_size;
1434: 
1434: 
1434:       _List_node_header() noexcept
1434:       { _M_init(); }
1434: 
1434: 
1434:       _List_node_header(_List_node_header&& __x) noexcept
1434:       : _List_node_base{ __x._M_next, __x._M_prev }
1434: 
1434:       , _M_size(__x._M_size)
1434: 
1434:       {
1434:  if (__x._M_base()->_M_next == __x._M_base())
1434:    this->_M_next = this->_M_prev = this;
1434:  else
1434:    {
1434:      this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base();
1434:      __x._M_init();
1434:    }
1434:       }
1434: 
1434:       void
1434:       _M_move_nodes(_List_node_header&& __x)
1434:       {
1434:  _List_node_base* const __xnode = __x._M_base();
1434:  if (__xnode->_M_next == __xnode)
1434:    _M_init();
1434:  else
1434:    {
1434:      _List_node_base* const __node = this->_M_base();
1434:      __node->_M_next = __xnode->_M_next;
1434:      __node->_M_prev = __xnode->_M_prev;
1434:      __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node;
1434: 
1434:      _M_size = __x._M_size;
1434: 
1434:      __x._M_init();
1434:    }
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_init() noexcept
1434:       {
1434:  this->_M_next = this->_M_prev = this;
1434: 
1434:  this->_M_size = 0;
1434: 
1434:       }
1434: 
1434:     private:
1434:       _List_node_base* _M_base() { return this; }
1434:     };
1434: 
1434: 
1434:     struct _Scratch_list : _List_node_base
1434:     {
1434:       _Scratch_list() { _M_next = _M_prev = this; }
1434: 
1434:       bool empty() const { return _M_next == this; }
1434: 
1434:       void swap(_List_node_base& __l) { _List_node_base::swap(*this, __l); }
1434: 
1434:       template<typename _Iter, typename _Cmp>
1434:  struct _Ptr_cmp
1434:  {
1434:    _Cmp _M_cmp;
1434: 
1434:    bool
1434:    operator()(__detail::_List_node_base* __lhs,
1434:        __detail::_List_node_base* __rhs)
1434:    { return _M_cmp(*_Iter(__lhs), *_Iter(__rhs)); }
1434:  };
1434: 
1434:       template<typename _Iter>
1434:  struct _Ptr_cmp<_Iter, void>
1434:  {
1434:    bool
1434:    operator()(__detail::_List_node_base* __lhs,
1434:        __detail::_List_node_base* __rhs) const
1434:    { return *_Iter(__lhs) < *_Iter(__rhs); }
1434:  };
1434: 
1434: 
1434:       template<typename _Cmp>
1434:  void
1434:  merge(_List_node_base& __x, _Cmp __comp)
1434:  {
1434:    _List_node_base* __first1 = _M_next;
1434:    _List_node_base* const __last1 = this;
1434:    _List_node_base* __first2 = __x._M_next;
1434:    _List_node_base* const __last2 = std::__addressof(__x);
ute__((visibility("default"))) const string_view_t &to_string_view(spdlog::level::level_enum l) noexcept;
1417: __attribute__((visibility("default"))) const char *to_short_c_str(spdlog::level::level_enum l) noexcept;
1417: __attribute__((visibility("default"))) spdlog::level::level_enum from_str(const std::string &name) noexcept;
1417: 
1417: }
1417: 
1417: 
1417: 
1417: 
1417: enum class color_mode
1417: {
1417:     always,
1417:     automatic,
1417:     never
1417: };
1417: 
1417: 
1417: 
1417: 
1417: 
1417: enum class pattern_time_type
1417: {
1417:     local,
1417:     utc
1417: };
1417: 
1417: 
1417: 
1417: 
1417: class __attribute__((visibility("default"))) spdlog_ex : public std::exception
1417: {
1417: public:
1417:     explicit spdlog_ex(std::string msg);
1417:     spdlog_ex(const std::string &msg, int last_errno);
1417:     const char *what() const noexcept override;
1417: 
1417: private:
1417:     std::string msg_;
1417: };
1417: 
1417: [[noreturn]] __attribute__((visibility("default"))) void throw_spdlog_ex(const std::string &msg, int last_errno);
1417: [[noreturn]] __attribute__((visibility("default"))) void throw_spdlog_ex(std::string msg);
1417: 
1417: struct source_loc
1417: {
1417:     constexpr source_loc() = default;
1417:     constexpr source_loc(const char *filename_in, int line_in, const char *funcname_in)
1417:         : filename{filename_in}
1417:         , line{line_in}
1417:         , funcname{funcname_in}
1417:     {}
1417: 
1417:     constexpr bool empty() const noexcept
1417:     {
1417:         return line == 0;
1417:     }
1417:     const char *filename{nullptr};
1417:     int line{0};
1417:     const char *funcname{nullptr};
1417: };
1417: 
1417: struct file_event_handlers
1417: {
1417:     std::function<void(const filename_t &filename)> before_open;
1417:     std::function<void(const filename_t &filename, std::FILE *file_stream)> after_open;
1417:     std::function<void(const filename_t &filename, std::FILE *file_stream)> before_close;
1417:     std::function<void(const filename_t &filename)> after_close;
1417:     file_event_handlers()
1417:         : before_open{nullptr}
1417:         , after_open{nullptr}
1417:         , before_close{nullptr}
1417:         , after_close{nullptr}
1417:     {}
1417: };
1417: 
1417: namespace details {
1417: 
1417: 
1417: 
1417: 
1417: using std::enable_if_t;
1417: using std::make_unique;
1417: # 342 "/usr/include/spdlog/common.h" 3 4
1417: template<typename T, typename U, enable_if_t<!std::is_same<T, U>::value, int> = 0>
1417: constexpr T conditional_static_cast(U value)
1417: {
1417:     return static_cast<T>(value);
1417: }
1417: 
1417: template<typename T, typename U, enable_if_t<std::is_same<T, U>::value, int> = 0>
1417: constexpr T conditional_static_cast(U value)
1417: {
1417:     return value;
1417: }
1417: 
1417: }
1417: }
1417: # 13 "/usr/include/spdlog/spdlog.h" 2 3 4
1417: # 1 "/usr/include/spdlog/details/registry.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: # 20 "/usr/include/spdlog/details/registry.h" 3 4
1417: namespace spdlog {
1417: class logger;
1417: 
1417: namespace details {
1417: class thread_pool;
1417: class periodic_worker;
1417: 
1417: class __attribute__((visibility("default"))) registry
1417: {
1417: public:
1417:     using log_levels = std::unordered_map<std::string, level::level_enum>;
1417:     registry(const registry &) = delete;
1417:     registry &operator=(const registry &) = delete;
1417: 
1417:     void register_logger(std::shared_ptr<logger> new_logger);
1417:     void initialize_logger(std::shared_ptr<logger> new_logger);
1417:     std::shared_ptr<logger> get(const std::string &logger_name);
1417:     std::shared_ptr<logger> default_logger();
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     logger *get_default_raw();
1417: 
1417: 
1417: 
1417:     void set_default_logger(std::shared_ptr<logger> new_default_logger);
1417: 
1417:     void set_tp(std::shared_ptr<thread_pool> tp);
1417: 
1417:     std::shared_ptr<thread_pool> get_tp();
1417: 
1417: 
1417:     void set_formatter(std::unique_ptr<formatter> formatter);
1411434: 
1434:    while (__first1 != __last1 && __first2 != __last2)
1434:      {
1434:        if (__comp(__first2, __first1))
1434:   {
1434:     _List_node_base* __next = __first2->_M_next;
1434:     __first1->_M_transfer(__first2, __next);
1434:     __first2 = __next;
1434:   }
1434:        else
1434:   __first1 = __first1->_M_next;
1434:      }
1434:    if (__first2 != __last2)
1434:      this->_M_transfer(__first2, __last2);
1434:  }
1434: 
1434: 
1434:       void _M_take_one(_List_node_base* __i)
1434:       { this->_M_transfer(__i, __i->_M_next); }
1434: 
1434: 
1434:       void _M_put_all(_List_node_base* __i)
1434:       {
1434:  if (!empty())
1434:    __i->_M_transfer(_M_next, this);
1434:       }
1434:     };
1434: 
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _List_node : public __detail::_List_node_base
1434:     {
1434: 
1434:       __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
1434:       _Tp* _M_valptr() { return _M_storage._M_ptr(); }
1434:       _Tp const* _M_valptr() const { return _M_storage._M_ptr(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _List_iterator
1434:     {
1434:       typedef _List_iterator<_Tp> _Self;
1434:       typedef _List_node<_Tp> _Node;
1434: 
1434:       typedef ptrdiff_t difference_type;
1434:       typedef std::bidirectional_iterator_tag iterator_category;
1434:       typedef _Tp value_type;
1434:       typedef _Tp* pointer;
1434:       typedef _Tp& reference;
1434: 
1434:       _List_iterator() noexcept
1434:       : _M_node() { }
1434: 
1434:       explicit
1434:       _List_iterator(__detail::_List_node_base* __x) noexcept
1434:       : _M_node(__x) { }
1434: 
1434:       _Self
1434:       _M_const_cast() const noexcept
1434:       { return *this; }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       operator*() const noexcept
1434:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1434: 
1434:       [[__nodiscard__]]
1434:       pointer
1434:       operator->() const noexcept
1434:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1434: 
1434:       _Self&
1434:       operator++() noexcept
1434:       {
1434:  _M_node = _M_node->_M_next;
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator++(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _M_node->_M_next;
1434:  return __tmp;
1434:       }
1434: 
1434:       _Self&
1434:       operator--() noexcept
1434:       {
1434:  _M_node = _M_node->_M_prev;
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator--(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _M_node->_M_prev;
1434:  return __tmp;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator==(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node == __y._M_node; }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator!=(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node != __y._M_node; }
1434: 
1434: 
1434: 
1434:       __detail::_List_node_base* _M_node;
1434:     };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     struct _List_const_iterator
1434:     {
1434:       typedef _List_const_iterator<_Tp> _Self;
1434:       typedef const _List_node<_Tp> _Node;
1434:       typedef _List_iterator<_Tp> iterator;
1434: 
1434:       typedef ptrdiff_t difference_type;
1434:       typedef std::bidirectional_iterator_tag iterator_category;
1434:       typedef _Tp value_type;
1434:       typedef const _Tp* pointer;
1434:       typedef const _Tp& reference;
1434: 
1434:       _List_const_iterator() noexcept
1434:       : _M_node() { }
1434: 
1434:       explicit
1434:       _List_const_iterator(const __detail::_List_node_base* __x)
1434:       noexcept
1434:       : _M_node(__x) { }
1434: 
1434:       _List_const_iterator(const iterator& __x) noexce1] = _M_data->_M_pm;
1115:       }
1115: 
1115:       void
1115:       _M_days(const _CharT** __days) const
1115:       {
1115:  __days[0] = _M_data->_M_day1;
1115:  __days[1] = _M_data->_M_day2;
1115:  __days[2] = _M_data->_M_day3;
1115:  __days[3] = _M_data->_M_day4;
1115:  __days[4] = _M_data->_M_day5;
1115:  __days[5] = _M_data->_M_day6;
1115:  __days[6] = _M_data->_M_day7;
1115:       }
1115: 
1115:       void
1115:       _M_days_abbreviated(const _CharT** __days) const
1115:       {
1115:  __days[0] = _M_data->_M_aday1;
1115:  __days[1] = _M_data->_M_aday2;
1115:  __days[2] = _M_data->_M_aday3;
1115:  __days[3] = _M_data->_M_aday4;
1115:  __days[4] = _M_data->_M_aday5;
1115:  __days[5] = _M_data->_M_aday6;
1115:  __days[6] = _M_data->_M_aday7;
1115:       }
1115: 
1115:       void
1115:       _M_months(const _CharT** __months) const
1115:       {
1115:  __months[0] = _M_data->_M_month01;
1115:  __months[1] = _M_data->_M_month02;
1115:  __months[2] = _M_data->_M_month03;
1115:  __months[3] = _M_data->_M_month04;
1115:  __months[4] = _M_data->_M_month05;
1115:  __months[5] = _M_data->_M_month06;
1115:  __months[6] = _M_data->_M_month07;
1115:  __months[7] = _M_data->_M_month08;
1115:  __months[8] = _M_data->_M_month09;
1115:  __months[9] = _M_data->_M_month10;
1115:  __months[10] = _M_data->_M_month11;
1115:  __months[11] = _M_data->_M_month12;
1115:       }
1115: 
1115:       void
1115:       _M_months_abbreviated(const _CharT** __months) const
1115:       {
1115:  __months[0] = _M_data->_M_amonth01;
1115:  __months[1] = _M_data->_M_amonth02;
1115:  __months[2] = _M_data->_M_amonth03;
1115:  __months[3] = _M_data->_M_amonth04;
1115:  __months[4] = _M_data->_M_amonth05;
1115:  __months[5] = _M_data->_M_amonth06;
1115:  __months[6] = _M_data->_M_amonth07;
1115:  __months[7] = _M_data->_M_amonth08;
1115:  __months[8] = _M_data->_M_amonth09;
1115:  __months[9] = _M_data->_M_amonth10;
1115:  __months[10] = _M_data->_M_amonth11;
1115:  __months[11] = _M_data->_M_amonth12;
1115:       }
1115: 
1115:     protected:
1115:       virtual
1115:       ~__timepunct();
1115: 
1115: 
1115:       void
1115:       _M_initialize_timepunct(__c_locale __cloc = 0);
1115:     };
1115: 
1115:   template<typename _CharT>
1115:     locale::id __timepunct<_CharT>::id;
1115: 
1115: 
1115:   template<>
1115:     void
1115:     __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
1115: 
1115:   template<>
1115:     void
1115:     __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const throw ();
1115: 
1115: 
1115:   template<>
1115:     void
1115:     __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
1115: 
1115:   template<>
1115:     void
1115:     __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
1115:      const tm*) const throw ();
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/time_members.h" 1 3
1115: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/time_members.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT>
1115:     __timepunct<_CharT>::__timepunct(size_t __refs)
1115:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
1115:       _M_name_timepunct(_S_get_c_name())
1115:     { _M_initialize_timepunct(); }
1115: 
1115:   template<typename _CharT>
1115:     __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
1115:     : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(0),
1115:       _M_name_timepunct(_S_get_c_name())
1115:     { _M_initialize_timepunct(); }
1115: 
1115:   template<typename _CharT>
1115:     __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
1115:          size_t __refs)
1115:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
1115:       _M_name_timepunct(0)
1115:     {
1115:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
1115:  {
1115:    const size_t __len = __builtin_strlen(__s) + 1;
1115:    char* __tmp = new char[__len];
1115:    __builtin_memcpy(__tmp, __s, __len);
pt
1434:       : _M_node(__x._M_node) { }
1434: 
1434:       iterator
1434:       _M_const_cast() const noexcept
1434:       { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       operator*() const noexcept
1434:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1434: 
1434:       [[__nodiscard__]]
1434:       pointer
1434:       operator->() const noexcept
1434:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1434: 
1434:       _Self&
1434:       operator++() noexcept
1434:       {
1434:  _M_node = _M_node->_M_next;
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator++(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _M_node->_M_next;
1434:  return __tmp;
1434:       }
1434: 
1434:       _Self&
1434:       operator--() noexcept
1434:       {
1434:  _M_node = _M_node->_M_prev;
1434:  return *this;
1434:       }
1434: 
1434:       _Self
1434:       operator--(int) noexcept
1434:       {
1434:  _Self __tmp = *this;
1434:  _M_node = _M_node->_M_prev;
1434:  return __tmp;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator==(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node == __y._M_node; }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator!=(const _Self& __x, const _Self& __y) noexcept
1434:       { return __x._M_node != __y._M_node; }
1434: 
1434: 
1434: 
1434:       const __detail::_List_node_base* _M_node;
1434:     };
1434: 
1434: namespace __cxx11 {
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     class _List_base
1434:     {
1434:     protected:
1434:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1434:  rebind<_Tp>::other _Tp_alloc_type;
1434:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits;
1434:       typedef typename _Tp_alloc_traits::template
1434:  rebind<_List_node<_Tp> >::other _Node_alloc_type;
1434:       typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits;
1434: 
1434: 
1434:       static size_t
1434:       _S_distance(const __detail::_List_node_base* __first,
1434:     const __detail::_List_node_base* __last)
1434:       {
1434:  size_t __n = 0;
1434:  while (__first != __last)
1434:    {
1434:      __first = __first->_M_next;
1434:      ++__n;
1434:    }
1434:  return __n;
1434:       }
1434: 
1434: 
1434:       struct _List_impl
1434:       : public _Node_alloc_type
1434:       {
1434:  __detail::_List_node_header _M_node;
1434: 
1434:  _List_impl() noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value)
1434: 
1434:  : _Node_alloc_type()
1434:  { }
1434: 
1434:  _List_impl(const _Node_alloc_type& __a) noexcept
1434:  : _Node_alloc_type(__a)
1434:  { }
1434: 
1434: 
1434:  _List_impl(_List_impl&&) = default;
1434: 
1434:  _List_impl(_Node_alloc_type&& __a, _List_impl&& __x)
1434:  : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node))
1434:  { }
1434: 
1434:  _List_impl(_Node_alloc_type&& __a) noexcept
1434:  : _Node_alloc_type(std::move(__a))
1434:  { }
1434: 
1434:       };
1434: 
1434:       _List_impl _M_impl;
1434: 
1434: 
1434:       size_t _M_get_size() const { return _M_impl._M_node._M_size; }
1434: 
1434:       void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; }
1434: 
1434:       void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; }
1434: 
1434:       void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; }
1434: 
1434: 
1434:       size_t
1434:       _M_distance(const __detail::_List_node_base* __first,
1434:     const __detail::_List_node_base* __last) const
1434:       { return _S_distance(__first, __last); }
1434: 
1434: 
1434:       size_t _M_node_count() const { return _M_get_size(); }
1434: # 516 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       typename _Node_alloc_traits::pointer
1434:       _M_get_node()
1434:       { return _Node_alloc_traits::allocate(_M_impl, 1); }
1434: 7: 
1417:     void enable_backtrace(size_t n_messages);
1417: 
1417:     void disable_backtrace();
1417: 
1417:     void set_level(level::level_enum log_level);
1417: 
1417:     void flush_on(level::level_enum log_level);
1417: 
1417:     void flush_every(std::chrono::seconds interval);
1417: 
1417:     void set_error_handler(err_handler handler);
1417: 
1417:     void apply_all(const std::function<void(const std::shared_ptr<logger>)> &fun);
1417: 
1417:     void flush_all();
1417: 
1417:     void drop(const std::string &logger_name);
1417: 
1417:     void drop_all();
1417: 
1417: 
1417:     void shutdown();
1417: 
1417:     std::recursive_mutex &tp_mutex();
1417: 
1417:     void set_automatic_registration(bool automatic_registration);
1417: 
1417: 
1417:     void set_levels(log_levels levels, level::level_enum *global_level);
1417: 
1417:     static registry &instance();
1417: 
1417: private:
1417:     registry();
1417:     ~registry();
1417: 
1417:     void throw_if_exists_(const std::string &logger_name);
1417:     void register_logger_(std::shared_ptr<logger> new_logger);
1417:     bool set_level_from_cfg_(logger *logger);
1417:     std::mutex logger_map_mutex_, flusher_mutex_;
1417:     std::recursive_mutex tp_mutex_;
1417:     std::unordered_map<std::string, std::shared_ptr<logger>> loggers_;
1417:     log_levels log_levels_;
1417:     std::unique_ptr<formatter> formatter_;
1417:     spdlog::level::level_enum global_log_level_ = level::info;
1417:     level::level_enum flush_level_ = level::off;
1417:     err_handler err_handler_;
1417:     std::shared_ptr<thread_pool> tp_;
1417:     std::unique_ptr<periodic_worker> periodic_flusher_;
1417:     std::shared_ptr<logger> default_logger_;
1417:     bool automatic_registration_ = true;
1417:     size_t backtrace_n_messages_ = 0;
1417: };
1417: 
1417: }
1417: }
1417: # 14 "/usr/include/spdlog/spdlog.h" 2 3 4
1417: # 1 "/usr/include/spdlog/logger.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: # 18 "/usr/include/spdlog/logger.h" 3 4
1417: # 1 "/usr/include/spdlog/details/log_msg.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: 
1417: 
1417: 
1417: 
1417: namespace spdlog {
1417: namespace details {
1417: struct __attribute__((visibility("default"))) log_msg
1417: {
1417:     log_msg() = default;
1417:     log_msg(log_clock::time_point log_time, source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1417:     log_msg(source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1417:     log_msg(string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1417:     log_msg(const log_msg &other) = default;
1417:     log_msg &operator=(const log_msg &other) = default;
1417: 
1417:     string_view_t logger_name;
1417:     level::level_enum level{level::off};
1417:     log_clock::time_point time;
1417:     size_t thread_id{0};
1417: 
1417: 
1417:     mutable size_t color_range_start{0};
1417:     mutable size_t color_range_end{0};
1417: 
1417:     source_loc source;
1417:     string_view_t payload;
1417: };
1417: }
1417: }
1417: # 19 "/usr/include/spdlog/logger.h" 2 3 4
1417: # 1 "/usr/include/spdlog/details/backtracer.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: 
1417: # 1 "/usr/include/spdlog/details/log_msg_buffer.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: 
1417: 
1417: 
1417: namespace spdlog {
1417: namespace details {
1417: 
1417: 
1417: 
1417: 
1417: class __attribute__((visibility("default"))) log_msg_buffer : public log_msg
1417: {
1417:     memory_buf_t buffer;
1417:     void update_string_views();
1417: 
1417: public:
1417:     log_msg_buffer() = default;
1417:     explicit log_msg_buffer(const log_msg &orig_msg);
1417:     log_msg_buffer(const log_msg_buffer &other);
1417:     log_msg_buffer(log_msg_buffer &&other) noexcept;
1417:     log_msg_buffer &operator=(const log_msg_buffer &other);
1417:     log_msg_buffer &operator=(log_msg_buffer &&other) noexcept;
1417: };
1417: 
1417: }
1417: }
1417: # 7 "/usr/include/spdlog/details/backtracer.h" 2 3 4
1417: # 1 "/usr/include/spdlog/details/c1115:    _M_name_timepunct = __tmp;
1115:  }
1115:       else
1115:  _M_name_timepunct = _S_get_c_name();
1115: 
1115:       try
1115:  { _M_initialize_timepunct(__cloc); }
1115:       catch(...)
1115:  {
1115:    if (_M_name_timepunct != _S_get_c_name())
1115:      delete [] _M_name_timepunct;
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     __timepunct<_CharT>::~__timepunct()
1115:     {
1115:       if (_M_name_timepunct != _S_get_c_name())
1115:  delete [] _M_name_timepunct;
1115:       delete _M_data;
1115:       _S_destroy_c_locale(_M_c_locale_timepunct);
1115:     }
1115: 
1115: 
1115: }
1115: # 353 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   struct __time_get_state
1115:   {
1115: 
1115:     void
1115:     _M_finalize_state(tm* __tm);
1115: 
1115:     unsigned int _M_have_I : 1;
1115:     unsigned int _M_have_wday : 1;
1115:     unsigned int _M_have_yday : 1;
1115:     unsigned int _M_have_mon : 1;
1115:     unsigned int _M_have_mday : 1;
1115:     unsigned int _M_have_uweek : 1;
1115:     unsigned int _M_have_wweek : 1;
1115:     unsigned int _M_have_century : 1;
1115:     unsigned int _M_is_pm : 1;
1115:     unsigned int _M_want_century : 1;
1115:     unsigned int _M_want_xday : 1;
1115:     unsigned int _M_pad1 : 5;
1115:     unsigned int _M_week_no : 6;
1115:     unsigned int _M_pad2 : 10;
1115:     int _M_century;
1115:     int _M_pad3;
1115:   };
1115: 
1115: namespace __cxx11 {
1115: # 397 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   template<typename _CharT, typename _InIter>
1115:     class time_get : public locale::facet, public time_base
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _InIter iter_type;
1115: 
1115: 
1115: 
1115:       static locale::id id;
1115: # 418 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       time_get(size_t __refs = 0)
1115:       : facet (__refs) { }
1115: # 435 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       dateorder
1115:       date_order() const
1115:       { return this->do_date_order(); }
1115: # 459 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       get_time(iter_type __beg, iter_type __end, ios_base& __io,
1115:         ios_base::iostate& __err, tm* __tm) const
1115:       { return this->do_get_time(__beg, __end, __io, __err, __tm); }
1115: # 484 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       get_date(iter_type __beg, iter_type __end, ios_base& __io,
1115:         ios_base::iostate& __err, tm* __tm) const
1115:       { return this->do_get_date(__beg, __end, __io, __err, __tm); }
1115: # 512 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
1115:     ios_base::iostate& __err, tm* __tm) const
1115:       { return this->do_get_weekday(__beg, __end, __io, __err, __tm); }
1115: # 541 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       get_monthname(iter_type __beg, iter_type __end, ios_base& __io,
1115:       ios_base::iostate& __err, tm* __tm) const
1115:       { return this->do_get_monthname(__beg, __end, __io, __err, __tm); }
1115: # 567 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       get_year(iter_type __beg, iter_type __end, ios_base& __io,
1115:         ios_base::iostate& __err, tm* __tm) const
1115:       { return this->do_get_year(__beg, __end, __io, __err, __tm); }
1115: # 588 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       inline
1115:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
1115:                     ios_base::iostate& __err, tm* __tm, char __format,
1115:                     char __modifier = 0) const
1115:       {
1115:         return this->do_get(__s, __end, __io, __err, __tm, __format,
1115:                       
1434:       void
1434:       _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept
1434:       { _Node_alloc_traits::deallocate(_M_impl, __p, 1); }
1434: 
1434:   public:
1434:       typedef _Alloc allocator_type;
1434: 
1434:       _Node_alloc_type&
1434:       _M_get_Node_allocator() noexcept
1434:       { return _M_impl; }
1434: 
1434:       const _Node_alloc_type&
1434:       _M_get_Node_allocator() const noexcept
1434:       { return _M_impl; }
1434: 
1434: 
1434:       _List_base() = default;
1434: 
1434: 
1434: 
1434: 
1434:       _List_base(const _Node_alloc_type& __a) noexcept
1434:       : _M_impl(__a)
1434:       { }
1434: 
1434: 
1434:       _List_base(_List_base&&) = default;
1434: 
1434: 
1434:       _List_base(_List_base&& __x, _Node_alloc_type&& __a)
1434:       : _M_impl(std::move(__a))
1434:       {
1434:  if (__x._M_get_Node_allocator() == _M_get_Node_allocator())
1434:    _M_move_nodes(std::move(__x));
1434: 
1434:       }
1434: 
1434: 
1434: 
1434:       _List_base(_Node_alloc_type&& __a, _List_base&& __x)
1434:       : _M_impl(std::move(__a), std::move(__x._M_impl))
1434:       { }
1434: 
1434: 
1434:       _List_base(_Node_alloc_type&& __a)
1434:       : _M_impl(std::move(__a))
1434:       { }
1434: 
1434:       void
1434:       _M_move_nodes(_List_base&& __x)
1434:       { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); }
1434: 
1434: 
1434: 
1434:       ~_List_base() noexcept
1434:       { _M_clear(); }
1434: 
1434:       void
1434:       _M_clear() noexcept;
1434: 
1434:       void
1434:       _M_init() noexcept
1434:       { this->_M_impl._M_node._M_init(); }
1434:     };
1434: # 631 "/usr/include/c++/12/bits/stl_list.h" 3
1434:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1434:     class list : protected _List_base<_Tp, _Alloc>
1434:     {
1434: # 644 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1434:    "std::list must have a non-const, non-volatile value_type");
1434: 
1434:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1434:    "std::list must have the same value_type as its allocator");
1434: 
1434: 
1434: 
1434:       typedef _List_base<_Tp, _Alloc> _Base;
1434:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1434:       typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits;
1434:       typedef typename _Base::_Node_alloc_type _Node_alloc_type;
1434:       typedef typename _Base::_Node_alloc_traits _Node_alloc_traits;
1434: 
1434:     public:
1434:       typedef _Tp value_type;
1434:       typedef typename _Tp_alloc_traits::pointer pointer;
1434:       typedef typename _Tp_alloc_traits::const_pointer const_pointer;
1434:       typedef typename _Tp_alloc_traits::reference reference;
1434:       typedef typename _Tp_alloc_traits::const_reference const_reference;
1434:       typedef _List_iterator<_Tp> iterator;
1434:       typedef _List_const_iterator<_Tp> const_iterator;
1434:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1434:       typedef std::reverse_iterator<iterator> reverse_iterator;
1434:       typedef size_t size_type;
1434:       typedef ptrdiff_t difference_type;
1434:       typedef _Alloc allocator_type;
1434: 
1434:     protected:
1434: 
1434: 
1434:       typedef _List_node<_Tp> _Node;
1434: 
1434:       using _Base::_M_impl;
1434:       using _Base::_M_put_node;
1434:       using _Base::_M_get_node;
1434:       using _Base::_M_get_Node_allocator;
1434: # 706 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename... _Args>
1434:  _Node*
1434:  _M_create_node(_Args&&... __args)
1434:  {
1434:    auto __p = this->_M_get_node();
1434:    auto& __alloc = _M_get_Node_allocator();
1434:    __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p};
1434:    _Node_alloc_traits::construct(__alloc, __p->_M_valptr(),
1434:      std::forward<_Args>(__args)...);
1434:    __guard = nullptr;
1434:    return __p;
1434:  }
1434: 
1434: 
1434: 
1434:       static size_t
1434:       _S_distance(circular_q.h" 1 3 4
1417: 
1417: 
1417: 
1417: 
1417:        
1417: 
1417: 
1417: # 1 "/usr/include/c++/12/cassert" 1 3 4
1417: # 41 "/usr/include/c++/12/cassert" 3 4
1417:        
1417: # 42 "/usr/include/c++/12/cassert" 3
1417: 
1417: 
1417: # 1 "/usr/include/assert.h" 1 3 4
1417: # 45 "/usr/include/c++/12/cassert" 2 3
1417: # 9 "/usr/include/spdlog/details/circular_q.h" 2 3 4
1417: 
1417: namespace spdlog {
1417: namespace details {
1417: template<typename T>
1417: class circular_q
1417: {
1417:     size_t max_items_ = 0;
1417:     typename std::vector<T>::size_type head_ = 0;
1417:     typename std::vector<T>::size_type tail_ = 0;
1417:     size_t overrun_counter_ = 0;
1417:     std::vector<T> v_;
1417: 
1417: public:
1417:     using value_type = T;
1417: 
1417: 
1417:     circular_q() = default;
1417: 
1417:     explicit circular_q(size_t max_items)
1417:         : max_items_(max_items + 1)
1417:         , v_(max_items_)
1417:     {}
1417: 
1417:     circular_q(const circular_q &) = default;
1417:     circular_q &operator=(const circular_q &) = default;
1417: 
1417: 
1417: 
1417:     circular_q(circular_q &&other) noexcept
1417:     {
1417:         copy_moveable(std::move(other));
1417:     }
1417: 
1417:     circular_q &operator=(circular_q &&other) noexcept
1417:     {
1417:         copy_moveable(std::move(other));
1417:         return *this;
1417:     }
1417: 
1417: 
1417:     void push_back(T &&item)
1417:     {
1417:         if (max_items_ > 0)
1417:         {
1417:             v_[tail_] = std::move(item);
1417:             tail_ = (tail_ + 1) % max_items_;
1417: 
1417:             if (tail_ == head_)
1417:             {
1417:                 head_ = (head_ + 1) % max_items_;
1417:                 ++overrun_counter_;
1417:             }
1417:         }
1417:     }
1417: 
1417: 
1417: 
1417:     const T &front() const
1417:     {
1417:         return v_[head_];
1417:     }
1417: 
1417:     T &front()
1417:     {
1417:         return v_[head_];
1417:     }
1417: 
1417: 
1417:     size_t size() const
1417:     {
1417:         if (tail_ >= head_)
1417:         {
1417:             return tail_ - head_;
1417:         }
1417:         else
1417:         {
1417:             return max_items_ - (head_ - tail_);
1417:         }
1417:     }
1417: 
1417: 
1417: 
1417:     const T &at(size_t i) const
1417:     {
1417:         (static_cast<void> (0));
1417:         return v_[(head_ + i) % max_items_];
1417:     }
1417: 
1417: 
1417: 
1417:     void pop_front()
1417:     {
1417:         head_ = (head_ + 1) % max_items_;
1417:     }
1417: 
1417:     bool empty() const
1417:     {
1417:         return tail_ == head_;
1417:     }
1417: 
1417:     bool full() const
1417:     {
1417: 
1417:         if (max_items_ > 0)
1417:         {
1417:             return ((tail_ + 1) % max_items_) == head_;
1417:         }
1417:         return false;
1417:     }
1417: 
1417:     size_t overrun_counter() const
1417:     {
1417:         return overrun_counter_;
1417:     }
1417: 
1417: private:
1417: 
1417:     void copy_moveable(circular_q &&other) noexcept
1417:     {
1417:         max_items_ = other.max_items_;
1417:         head_ = other.head_;
1417:         tail_ = other.tail_;
1417:         overrun_counter_ = other.overrun_counter_;
1417:         v_ = std::move(other.v_);
1417: 
1417: 
1417:         other.max_items_ = 0;
1417:         other.head_ = other.tail_ = 0;
1417:         other.overrun_counter_ = 0;
1417:     }
1417: };
1417: }
1417: }
1417: # 8 "/usr/include/spdlog/details/backtracer.h" 2 3 4
1417: # 16 "/usr/include/spdlog/details/backtracer.h" 3 4
1417: namespace spdlog {
1417: namespace details {
1417: class __attribute__((visibility("default"))) backtracer
1417: {
1417:     mutable std::mutex mutex_;
1417:     std::atomic<bool> enabled_{false};
1417:     circular_q<log_msg_buffer> messages_;
1417: 
1417: public:
1417:     backtracer() = default;
1417:     backtracer(const backtracer &other);
1417: 
1417:     backtracer(backtracer &&other) noexcept;
1417:     backtracer &operator=(backtracer other);
1417: 
1417:     void enable(sionst_iterator __first, const_iterator __last)
1434:       { return std::distance(__first, __last); }
1434: 
1434: 
1434:       size_t
1434:       _M_node_count() const
1434:       { return this->_M_get_size(); }
1434: # 741 "/usr/include/c++/12/bits/stl_list.h" 3
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       list() = default;
1434: # 758 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       explicit
1434:       list(const allocator_type& __a) noexcept
1434:       : _Base(_Node_alloc_type(__a)) { }
1434: # 771 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       explicit
1434:       list(size_type __n, const allocator_type& __a = allocator_type())
1434:       : _Base(_Node_alloc_type(__a))
1434:       { _M_default_initialize(__n); }
1434: # 784 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       list(size_type __n, const value_type& __value,
1434:     const allocator_type& __a = allocator_type())
1434:       : _Base(_Node_alloc_type(__a))
1434:       { _M_fill_initialize(__n, __value); }
1434: # 811 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       list(const list& __x)
1434:       : _Base(_Node_alloc_traits::
1434:        _S_select_on_copy(__x._M_get_Node_allocator()))
1434:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1434: # 824 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       list(list&&) = default;
1434: # 834 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       list(initializer_list<value_type> __l,
1434:     const allocator_type& __a = allocator_type())
1434:       : _Base(_Node_alloc_type(__a))
1434:       { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); }
1434: 
1434:       list(const list& __x, const __type_identity_t<allocator_type>& __a)
1434:       : _Base(_Node_alloc_type(__a))
1434:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1434: 
1434:     private:
1434:       list(list&& __x, const allocator_type& __a, true_type) noexcept
1434:       : _Base(_Node_alloc_type(__a), std::move(__x))
1434:       { }
1434: 
1434:       list(list&& __x, const allocator_type& __a, false_type)
1434:       : _Base(_Node_alloc_type(__a))
1434:       {
1434:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1434:    this->_M_move_nodes(std::move(__x));
1434:  else
1434:    insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()),
1434:      std::__make_move_if_noexcept_iterator(__x.end()));
1434:       }
1434: 
1434:     public:
1434:       list(list&& __x, const __type_identity_t<allocator_type>& __a)
1434:       noexcept(_Node_alloc_traits::_S_always_equal())
1434:       : list(std::move(__x), __a,
1434:       typename _Node_alloc_traits::is_always_equal{})
1434:       { }
1434: # 877 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  list(_InputIterator __first, _InputIterator __last,
1434:       const allocator_type& __a = allocator_type())
1434:  : _Base(_Node_alloc_type(__a))
1434:  { _M_initialize_dispatch(__first, __last, __false_type()); }
1434: # 903 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       ~list() = default;
1434: # 914 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       list&
1434:       operator=(const list& __x);
1434: # 928 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       list&
1434:       operator=(list&& __x)
1434:       noexcept(_Node_alloc_traits::_S_nothrow_move())
1434:       {
1434:  constexpr bool __move_storage =
1434:    _Node_alloc_traits::_S_propagate_on_move_assign()
1434:    || _Node_alloc_traits::_S_always_equal();
1434:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1434:  return *this;
1434:       }
1434: # 946 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       list&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  this->assign(__l.begin(), __l.end());
1434:  return *this;
1434:       }
1434: # 964 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       assign(size_type __n, const value_type& __val)
1434:       { _M_fill_assign(__n, __val); }
1434: # 981 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  void
1434:  assign(_InputIterator __first, _InputIterator __last)
1434:  { _M_assign_dispatch(__first, __last, __false_type()); }
1434: # 1005 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       assign(initializer_list<value_type> __l)
1434:       { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); }
1434: 
1434: 
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return allocator_type(_Base::_M_get_Node_allocator()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       begin() noexcept
1434:       { return iterator(this->_M_impl._M_node._M_next); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return const_iterator(this->_M_impl._M_node._M_next); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       iterator
1434:       end() noexcept
1434:       { return iterator(&this->_M_impl._M_node); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       end() const noexcept
1434:       { return const_iterator(&this->_M_impl._M_node); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rbegin() noexcept
1434:       { return reverse_iterator(end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reverse_iterator
1434:       rend() noexcept
1434:       { return reverse_iterator(begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       rend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return const_iterator(this->_M_impl._M_node._M_next); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return const_iterator(&this->_M_impl._M_node); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crbegin() const noexcept
1434:       { return const_reverse_iterator(end()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reverse_iterator
1434:       crend() const noexcept
1434:       { return const_reverse_iterator(begin()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_node_count(); }
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); }
1434: # 1168 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       resize(size_type __new_size);
1434: # 1181 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       resize(size_type __new_size, const value_type& __x);
1434: # 1203 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       [[__nodiscard__]]
1434:       reference
1434:       front() noexcept
1434:       { return *begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       front() con      __modifier);
1115:       }
1115: # 615 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
1115:                     ios_base::iostate& __err, tm* __tm, const char_type* __fmt,
1115:                     const char_type* __fmtend) const;
1115: 
1115: 
1115:     protected:
1115: 
1115:       virtual
1115:       ~time_get() { }
1115: # 635 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual dateorder
1115:       do_date_order() const;
1115: # 653 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
1115:     ios_base::iostate& __err, tm* __tm) const;
1115: # 672 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
1115:     ios_base::iostate& __err, tm* __tm) const;
1115: # 691 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_get_weekday(iter_type __beg, iter_type __end, ios_base&,
1115:        ios_base::iostate& __err, tm* __tm) const;
1115: # 710 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_get_monthname(iter_type __beg, iter_type __end, ios_base&,
1115:          ios_base::iostate& __err, tm* __tm) const;
1115: # 729 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
1115:     ios_base::iostate& __err, tm* __tm) const;
1115: # 752 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual
1115: 
1115:       iter_type
1115:       do_get(iter_type __s, iter_type __end, ios_base& __f,
1115:              ios_base::iostate& __err, tm* __tm,
1115:              char __format, char __modifier) const;
1115: 
1115: 
1115: 
1115:       iter_type
1115:       _M_extract_num(iter_type __beg, iter_type __end, int& __member,
1115:        int __min, int __max, size_t __len,
1115:        ios_base& __io, ios_base::iostate& __err) const;
1115: 
1115: 
1115:       iter_type
1115:       _M_extract_name(iter_type __beg, iter_type __end, int& __member,
1115:         const _CharT** __names, size_t __indexlen,
1115:         ios_base& __io, ios_base::iostate& __err) const;
1115: 
1115: 
1115:       iter_type
1115:       _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
1115:           const _CharT** __names, size_t __indexlen,
1115:           ios_base& __io, ios_base::iostate& __err) const;
1115: 
1115: 
1115:       iter_type
1115:       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1115:        ios_base::iostate& __err, tm* __tm,
1115:        const _CharT* __format) const;
1115: 
1115: 
1115: 
1115:       iter_type
1115:       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1115:        ios_base::iostate& __err, tm* __tm,
1115:        const _CharT* __format,
1115:        __time_get_state &__state) const;
1115:     };
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     locale::id time_get<_CharT, _InIter>::id;
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     class time_get_byname : public time_get<_CharT, _InIter>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _InIter iter_type;
1115: 
1115:       explicit
1115:       time_get_byname(const char*, size_t __refs = 0)
1115:       : time_get<_CharT, _InIter>(__refs) { }
1115: 
1115: 
1115:       explicit
1115:       time_get_byname(const string& __s, size_t __refs = 0)
1115:       : time_get_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~time_get_byname() { }
1115:     };
1115: 
1115: }
1115: # 834 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   template<typename _CharT, typename _OutIter>
1115:     class time_put : public locale::facet
1115:     {
1115:     public:
1115ze_t size);
1417:     void disable();
1417:     bool enabled() const;
1417:     void push_back(const log_msg &msg);
1417: 
1417: 
1417:     void foreach_pop(std::function<void(const details::log_msg &)> fun);
1417: };
1417: 
1417: }
1417: }
1417: # 20 "/usr/include/spdlog/logger.h" 2 3 4
1417: # 52 "/usr/include/spdlog/logger.h" 3 4
1417: namespace spdlog {
1417: 
1417: class __attribute__((visibility("default"))) logger
1417: {
1417: public:
1417: 
1417:     explicit logger(std::string name)
1417:         : name_(std::move(name))
1417:         , sinks_()
1417:     {}
1417: 
1417: 
1417:     template<typename It>
1417:     logger(std::string name, It begin, It end)
1417:         : name_(std::move(name))
1417:         , sinks_(begin, end)
1417:     {}
1417: 
1417: 
1417:     logger(std::string name, sink_ptr single_sink)
1417:         : logger(std::move(name), {std::move(single_sink)})
1417:     {}
1417: 
1417: 
1417:     logger(std::string name, sinks_init_list sinks)
1417:         : logger(std::move(name), sinks.begin(), sinks.end())
1417:     {}
1417: 
1417:     virtual ~logger() = default;
1417: 
1417:     logger(const logger &other);
1417:     logger(logger &&other) noexcept;
1417:     logger &operator=(logger other) noexcept;
1417:     void swap(spdlog::logger &other) noexcept;
1417: 
1417:     template<typename... Args>
1417:     void log(source_loc loc, level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log_(loc, lvl, fmt, std::forward<Args>(args)...);
1417:     }
1417: 
1417:     template<typename... Args>
1417:     void log(level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
1417:     }
1417: 
1417:     template<typename T>
1417:     void log(level::level_enum lvl, const T &msg)
1417:     {
1417:         log(source_loc{}, lvl, msg);
1417:     }
1417: 
1417: 
1417:     template<class T, typename std::enable_if<!is_convertible_to_any_format_string<const T &>::value, int>::type = 0>
1417:     void log(source_loc loc, level::level_enum lvl, const T &msg)
1417:     {
1417:         log(loc, lvl, "{}", msg);
1417:     }
1417: 
1417:     void log(log_clock::time_point log_time, source_loc loc, level::level_enum lvl, string_view_t msg)
1417:     {
1417:         bool log_enabled = should_log(lvl);
1417:         bool traceback_enabled = tracer_.enabled();
1417:         if (!log_enabled && !traceback_enabled)
1417:         {
1417:             return;
1417:         }
1417: 
1417:         details::log_msg log_msg(log_time, loc, name_, lvl, msg);
1417:         log_it_(log_msg, log_enabled, traceback_enabled);
1417:     }
1417: 
1417:     void log(source_loc loc, level::level_enum lvl, string_view_t msg)
1417:     {
1417:         bool log_enabled = should_log(lvl);
1417:         bool traceback_enabled = tracer_.enabled();
1417:         if (!log_enabled && !traceback_enabled)
1417:         {
1417:             return;
1417:         }
1417: 
1417:         details::log_msg log_msg(loc, name_, lvl, msg);
1417:         log_it_(log_msg, log_enabled, traceback_enabled);
1417:     }
1417: 
1417:     void log(level::level_enum lvl, string_view_t msg)
1417:     {
1417:         log(source_loc{}, lvl, msg);
1417:     }
1417: 
1417:     template<typename... Args>
1417:     void trace(format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log(level::trace, fmt, std::forward<Args>(args)...);
1417:     }
1417: 
1417:     template<typename... Args>
1417:     void debug(format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log(level::debug, fmt, std::forward<Args>(args)...);
1417:     }
1417: 
1417:     template<typename... Args>
1417:     void info(format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log(level::info, fmt, std::forward<Args>(args)...);
1417:     }
1417: 
1417:     template<typename... Args>
1417:     void warn(format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log(level::warn, fmt, std::forward<Args>(args)..st noexcept
1434:       { return *begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       reference
1434:       back() noexcept
1434:       {
1434:  iterator __tmp = end();
1434:  --__tmp;
1434:  return *__tmp;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const_reference
1434:       back() const noexcept
1434:       {
1434:  const_iterator __tmp = end();
1434:  --__tmp;
1434:  return *__tmp;
1434:       }
1434: # 1254 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       push_front(const value_type& __x)
1434:       { this->_M_insert(begin(), __x); }
1434: 
1434: 
1434:       void
1434:       push_front(value_type&& __x)
1434:       { this->_M_insert(begin(), std::move(__x)); }
1434: 
1434:       template<typename... _Args>
1434: 
1434:  reference
1434: 
1434: 
1434: 
1434:  emplace_front(_Args&&... __args)
1434:  {
1434:    this->_M_insert(begin(), std::forward<_Args>(__args)...);
1434: 
1434:    return front();
1434: 
1434:  }
1434: # 1290 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       pop_front() noexcept
1434:       { this->_M_erase(begin()); }
1434: # 1304 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       push_back(const value_type& __x)
1434:       { this->_M_insert(end(), __x); }
1434: 
1434: 
1434:       void
1434:       push_back(value_type&& __x)
1434:       { this->_M_insert(end(), std::move(__x)); }
1434: 
1434:       template<typename... _Args>
1434: 
1434:  reference
1434: 
1434: 
1434: 
1434:  emplace_back(_Args&&... __args)
1434:  {
1434:    this->_M_insert(end(), std::forward<_Args>(__args)...);
1434: 
1434:  return back();
1434: 
1434:  }
1434: # 1339 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       pop_back() noexcept
1434:       { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
1434: # 1356 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace(const_iterator __position, _Args&&... __args);
1434: # 1371 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       iterator
1434:       insert(const_iterator __position, const value_type& __x);
1434: # 1401 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       iterator
1434:       insert(const_iterator __position, value_type&& __x)
1434:       { return emplace(__position, std::move(__x)); }
1434: # 1420 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       iterator
1434:       insert(const_iterator __p, initializer_list<value_type> __l)
1434:       { return this->insert(__p, __l.begin(), __l.end()); }
1434: # 1440 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       iterator
1434:       insert(const_iterator __position, size_type __n, const value_type& __x);
1434: # 1479 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename _InputIterator,
1434:         typename = std::_RequireInputIter<_InputIterator>>
1434:  iterator
1434:  insert(const_iterator __position, _InputIterator __first,
1434:         _InputIterator __last);
1434: # 1523 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       iterator
1434: 
1434:       erase(const_iterator __position) noexcept;
1434: # 1548 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       iterator
1434: 
1434:       erase(const_iterator __first, const_iterator __last) noexcept
1434: 
1434: 
1434: 
1434:       {
1434:  while (__first != __last)
1434:    __first = erase(__first);
1434:  return __last._M_const_cast();
1434:       }
1434: # 1571 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       swap(list& __x) noexcept
1434:       {
1434:  __detail::_List_node_base::swap(this->_M_impl._M_node,
1434:      __x._M_impl._M_node);
1434: 
1434:  size_t __xsize = __x._M_get_size();
1434:  __x._M_set_size(this->_M_get_size());
1434:  this->_M_set_size(__xsize);
1434: 
1434:  _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(),
1434:            __x._M_get_Node_allocator());
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       clear() noexcept
1434:       {
1434:  _Base::_M_clear();
1434:  _Base::_M_init();
1434:       }
1434: # 1610 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434: 
1434:       splice(const_iterator __position, list&& __x) noexcept
1434: 
1434: 
1434: 
1434:       {
1434:  if (!__x.empty())
1434:    {
1434:      _M_check_equal_allocators(__x);
1434: 
1434:      this->_M_transfer(__position._M_const_cast(),
1434:          __x.begin(), __x.end());
1434: 
1434:      this->_M_inc_size(__x._M_get_size());
1434:      __x._M_set_size(0);
1434:    }
1434:       }
1434: 
1434: 
1434:       void
1434:       splice(const_iterator __position, list& __x) noexcept
1434:       { splice(__position, std::move(__x)); }
1434: # 1646 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       splice(const_iterator __position, list&& __x, const_iterator __i) noexcept
1434: # 1661 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       {
1434:  iterator __j = __i._M_const_cast();
1434:  ++__j;
1434:  if (__position == __i || __position == __j)
1434:    return;
1434: 
1434:  if (this != std::__addressof(__x))
1434:    _M_check_equal_allocators(__x);
1434: 
1434:  this->_M_transfer(__position._M_const_cast(),
1434:      __i._M_const_cast(), __j);
1434: 
1434:  this->_M_inc_size(1);
1434:  __x._M_dec_size(1);
1434:       }
1434: # 1688 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       splice(const_iterator __position, list& __x, const_iterator __i) noexcept
1434:       { splice(__position, std::move(__x), __i); }
1434: # 1707 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       splice(const_iterator __position, list&& __x, const_iterator __first,
1434:       const_iterator __last) noexcept
1434: # 1727 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       {
1434:  if (__first != __last)
1434:    {
1434:      if (this != std::__addressof(__x))
1434:        _M_check_equal_allocators(__x);
1434: 
1434:      size_t __n = _S_distance(__first, __last);
1434:      this->_M_inc_size(__n);
1434:      __x._M_dec_size(__n);
1434: 
1434:      this->_M_transfer(__position._M_const_cast(),
1434:          __first._M_const_cast(),
1434:          __last._M_const_cast());
1434:    }
1434:       }
1434: # 1757 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       splice(const_iterator __position, list& __x, const_iterator __first,
1434:       const_iterator __last) noexcept
1434:       { splice(__position, std::move(__x), __first, __last); }
1434: 
1434: 
1434:     private:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef void __remove_return_type;
1434: 
1434: 
1434:     public:
1434: # 1786 "/usr/include/c++/12/bits/stl_list.h" 3
1434:      
1434:       __remove_return_type
1434:       remove(const _Tp& __value);
1434: # 1801 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename _Predicate>
1434:  __remove_return_type
1434:  remove_if(_Predicate);
1434: # 1815 "/usr/include/c++/12/bits/stl_list.h" 3
1434:      
1434:       __remove_return_type
1434:       unique();
1434: # 1831 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename _BinaryPredicate>
1434:  __remove_return_type
1434:  unique(_BinaryPredicate);
1434: # 1847 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       merge(list&& __x);
1434: 
1434:       void
1434:       merge(list& __x)
1434:       { merge(std::move(__x)); }
1434: # 1872 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename _StrictWeakOrdering>
1434:  void
1434:  merge(list&& __x, _StrictWeakOrdering __comp);
1434: 
1434:       template<typename _StrictWeakOrdering>
1434:  void
1434:  merge(list& __x, _StrictWeakOrdering __comp)
1434:  { merge(std::move(__x), __comp); }
1434: # 1891 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       void
1434:       reverse() noexcept
1434:       { this->_M_impl._M_node._M_reverse(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       sort();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _StrictWeakOrdering>
1434:  void
1434:  sort(_Stri: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _OutIter iter_type;
1115: 
1115: 
1115: 
1115:       static locale::id id;
1115: # 855 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       time_put(size_t __refs = 0)
1115:       : facet(__refs) { }
1115: # 874 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1115:    const _CharT* __beg, const _CharT* __end) const;
1115: # 894 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       put(iter_type __s, ios_base& __io, char_type __fill,
1115:    const tm* __tm, char __format, char __mod = 0) const
1115:       { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
1115: 
1115:     protected:
1115: 
1115:       virtual
1115:       ~time_put()
1115:       { }
1115: # 921 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1115:       char __format, char __mod) const;
1115:     };
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     locale::id time_put<_CharT, _OutIter>::id;
1115: 
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     class time_put_byname : public time_put<_CharT, _OutIter>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _OutIter iter_type;
1115: 
1115:       explicit
1115:       time_put_byname(const char*, size_t __refs = 0)
1115:       : time_put<_CharT, _OutIter>(__refs)
1115:       { }
1115: 
1115: 
1115:       explicit
1115:       time_put_byname(const string& __s, size_t __refs = 0)
1115:       : time_put_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~time_put_byname() { }
1115:     };
1115: # 966 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   class money_base
1115:   {
1115:   public:
1115:     enum part { none, space, symbol, sign, value };
1115:     struct pattern { char field[4]; };
1115: 
1115:     static const pattern _S_default_pattern;
1115: 
1115:     enum
1115:     {
1115:       _S_minus,
1115:       _S_zero,
1115:       _S_end = 11
1115:     };
1115: 
1115: 
1115: 
1115:     static const char* _S_atoms;
1115: 
1115: 
1115: 
1115:     __attribute__ ((__const__)) static pattern
1115:     _S_construct_pattern(char __precedes, char __space, char __posn) throw ();
1115:   };
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     struct __moneypunct_cache : public locale::facet
1115:     {
1115:       const char* _M_grouping;
1115:       size_t _M_grouping_size;
1115:       bool _M_use_grouping;
1115:       _CharT _M_decimal_point;
1115:       _CharT _M_thousands_sep;
1115:       const _CharT* _M_curr_symbol;
1115:       size_t _M_curr_symbol_size;
1115:       const _CharT* _M_positive_sign;
1115:       size_t _M_positive_sign_size;
1115:       const _CharT* _M_negative_sign;
1115:       size_t _M_negative_sign_size;
1115:       int _M_frac_digits;
1115:       money_base::pattern _M_pos_format;
1115:       money_base::pattern _M_neg_format;
1115: 
1115: 
1115: 
1115: 
1115:       _CharT _M_atoms[money_base::_S_end];
1115: 
1115:       bool _M_allocated;
1115: 
1115:       __moneypunct_cache(size_t __refs = 0) : facet(__refs),
1115:       _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false),
1115:       _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
1115:       _M_curr_symbol(0), _M_curr_symbol_size(0),
1115:       _M_positive_sign(0), _M_positive_sign_size(0),
1115:       _M_negative_sign(0), _M_negative_sign_size(0),
1115:       _M_frac_digits(0),
1115:       _M_pos_format(money_base::pattern()),
1115:       _M_neg_format(money_base::pattern()), _M_allocated(false)
1115:       { }
1115: 
1115:       ~__moneypunct_cache();
1115: 
1115:       void
1115:       _M_cache(const locale& __loc);
1115: 
1115:     private:
1115:       __moneypunct_cache&
1115:       operator=(constctWeakOrdering);
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       template<typename _Integer>
1434:  void
1434:  _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
1434:  { _M_fill_initialize(static_cast<size_type>(__n), __x); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434:  void
1434:  _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
1434:           __false_type)
1434:  {
1434:    for (; __first != __last; ++__first)
1434: 
1434:      emplace_back(*__first);
1434: 
1434: 
1434: 
1434:  }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_fill_initialize(size_type __n, const value_type& __x)
1434:       {
1434:  for (; __n; --__n)
1434:    push_back(__x);
1434:       }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_default_initialize(size_type __n)
1434:       {
1434:  for (; __n; --__n)
1434:    emplace_back();
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_default_append(size_type __n);
1434: # 1969 "/usr/include/c++/12/bits/stl_list.h" 3
1434:       template<typename _Integer>
1434:  void
1434:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1434:  { _M_fill_assign(__n, __val); }
1434: 
1434: 
1434:       template<typename _InputIterator>
1434:  void
1434:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1434:       __false_type);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_fill_assign(size_type __n, const value_type& __val);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_transfer(iterator __position, iterator __first, iterator __last)
1434:       { __position._M_node->_M_transfer(__first._M_node, __last._M_node); }
1434: # 2001 "/usr/include/c++/12/bits/stl_list.h" 3
1434:      template<typename... _Args>
1434:        void
1434:        _M_insert(iterator __position, _Args&&... __args)
1434:        {
1434:   _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1434:   __tmp->_M_hook(__position._M_node);
1434:   this->_M_inc_size(1);
1434:        }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_erase(iterator __position) noexcept
1434:       {
1434:  this->_M_dec_size(1);
1434:  __position._M_node->_M_unhook();
1434:  _Node* __n = static_cast<_Node*>(__position._M_node);
1434: 
1434:  _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr());
1434: 
1434: 
1434: 
1434: 
1434:  _M_put_node(__n);
1434:       }
1434: 
1434: 
1434:       void
1434:       _M_check_equal_allocators(list& __x) noexcept
1434:       {
1434:  if (std::__alloc_neq<typename _Base::_Node_alloc_type>::
1434:      _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()))
1434:    __builtin_abort();
1434:       }
1434: 
1434: 
1434:       const_iterator
1434:       _M_resize_pos(size_type& __new_size) const;
1434: 
1434: 
1434:       void
1434:       _M_move_assign(list&& __x, true_type) noexcept
1434:       {
1434:  this->clear();
1434:  this->_M_move_nodes(std::move(__x));
1434:  std::__alloc_on_move(this->_M_get_Node_allocator(),
1434:         __x._M_get_Node_allocator());
1434:       }
1434: 
1434:       void
1434:       _M_move_assign(list&& __x, false_type)
1434:       {
1434:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1434:    _M_move_assign(std::move(__x), true_type{});
1434:  else
1434: 
1434: 
1434:    _M_assign_dispatch(std::make_move_iterator(__x.begin()),
1434:         std::make_move_iterator(__x.end()),
1434:         __false_type{});
1434:       }
1434: 
1434: 
1434: 
1434: 
1434:       struct _Finalize_merge
1434:       {
1434:  explicit
1434:  _Finalize_merge(list& __dest, list& __src, const iterator& __src_next)
1434:  : _M_dest(__dest), _M_src(__src), _M_next(__src_next)
1434:  { }
1434: 
1434:  ~_Finalize_merge()
1434:  {
1434: 
1434: 
1434: 
1434:    const size_t __num_unmerged = std::distance(_M_next, _M_src.end());
1434:    const size_t __orig_size = _M_src._M_get_size();
1434:    _M_dest._M_inc_size(__orig_size - __num_unmerged);
1434:    _M_src._M_set_size(__num_unmerged);
1434:  }
1434: 
1434:  list& _M_dest;
1434: .);
1417:     }
1417: 
1417:     template<typename... Args>
1417:     void error(format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log(level::err, fmt, std::forward<Args>(args)...);
1417:     }
1417: 
1417:     template<typename... Args>
1417:     void critical(format_string_t<Args...> fmt, Args &&... args)
1417:     {
1417:         log(level::critical, fmt, std::forward<Args>(args)...);
1417:     }
1417: # 264 "/usr/include/spdlog/logger.h" 3 4
1417:     template<typename T>
1417:     void trace(const T &msg)
1417:     {
1417:         log(level::trace, msg);
1417:     }
1417: 
1417:     template<typename T>
1417:     void debug(const T &msg)
1417:     {
1417:         log(level::debug, msg);
1417:     }
1417: 
1417:     template<typename T>
1417:     void info(const T &msg)
1417:     {
1417:         log(level::info, msg);
1417:     }
1417: 
1417:     template<typename T>
1417:     void warn(const T &msg)
1417:     {
1417:         log(level::warn, msg);
1417:     }
1417: 
1417:     template<typename T>
1417:     void error(const T &msg)
1417:     {
1417:         log(level::err, msg);
1417:     }
1417: 
1417:     template<typename T>
1417:     void critical(const T &msg)
1417:     {
1417:         log(level::critical, msg);
1417:     }
1417: 
1417: 
1417:     bool should_log(level::level_enum msg_level) const
1417:     {
1417:         return msg_level >= level_.load(std::memory_order_relaxed);
1417:     }
1417: 
1417: 
1417:     bool should_backtrace() const
1417:     {
1417:         return tracer_.enabled();
1417:     }
1417: 
1417:     void set_level(level::level_enum log_level);
1417: 
1417:     level::level_enum level() const;
1417: 
1417:     const std::string &name() const;
1417: 
1417: 
1417: 
1417:     void set_formatter(std::unique_ptr<formatter> f);
1417: 
1417:     void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
1417: 
1417: 
1417: 
1417:     void enable_backtrace(size_t n_messages);
1417:     void disable_backtrace();
1417:     void dump_backtrace();
1417: 
1417: 
1417:     void flush();
1417:     void flush_on(level::level_enum log_level);
1417:     level::level_enum flush_level() const;
1417: 
1417: 
1417:     const std::vector<sink_ptr> &sinks() const;
1417: 
1417:     std::vector<sink_ptr> &sinks();
1417: 
1417: 
1417:     void set_error_handler(err_handler);
1417: 
1417: 
1417:     virtual std::shared_ptr<logger> clone(std::string logger_name);
1417: 
1417: protected:
1417:     std::string name_;
1417:     std::vector<sink_ptr> sinks_;
1417:     spdlog::level_t level_{level::info};
1417:     spdlog::level_t flush_level_{level::off};
1417:     err_handler custom_err_handler_{nullptr};
1417:     details::backtracer tracer_;
1417: 
1417: 
1417:     template<typename... Args>
1417:     void log_(source_loc loc, level::level_enum lvl, string_view_t fmt, Args &&... args)
1417:     {
1417:         bool log_enabled = should_log(lvl);
1417:         bool traceback_enabled = tracer_.enabled();
1417:         if (!log_enabled && !traceback_enabled)
1417:         {
1417:             return;
1417:         }
1417:         try
1417:         {
1417: 
1417: 
1417: 
1417:             memory_buf_t buf;
1417:             fmt::detail::vformat_to(buf, fmt, fmt::make_format_args(std::forward<Args>(args)...));
1417: 
1417:             details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size()));
1417:             log_it_(log_msg, log_enabled, traceback_enabled);
1417:         }
1417:         catch (const std::exception &ex) { if (loc.filename) { err_handler_(fmt_lib::format("{} [{}({})]", ex.what(), loc.filename, loc.line)); } else { err_handler_(ex.what()); } } catch (...) { err_handler_("Rethrowing unknown exception in logger"); throw; }
1417:     }
1417: # 430 "/usr/include/spdlog/logger.h" 3 4
1417:     void log_it_(const details::log_msg &log_msg, bool log_enabled, bool traceback_enabled);
1417:     virtual void sink_it_(const details::log_msg &msg);
1417:     virtual void flush_();
1417:     void dump_backtrace_();
1417:     bool should_f __moneypunct_cache&);
1115: 
1115:       explicit
1115:       __moneypunct_cache(const __moneypunct_cache&);
1115:     };
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
1115:     {
1115:       if (_M_allocated)
1115:  {
1115:    delete [] _M_grouping;
1115:    delete [] _M_curr_symbol;
1115:    delete [] _M_positive_sign;
1115:    delete [] _M_negative_sign;
1115:  }
1115:     }
1115: 
1115: namespace __cxx11 {
1115: # 1061 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   template<typename _CharT, bool _Intl>
1115:     class moneypunct : public locale::facet, public money_base
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115:       typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1115: 
1115:     private:
1115:       __cache_type* _M_data;
1115: 
1115:     public:
1115: 
1115: 
1115:       static const bool intl = _Intl;
1115: 
1115:       static locale::id id;
1115: # 1090 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       moneypunct(size_t __refs = 0)
1115:       : facet(__refs), _M_data(0)
1115:       { _M_initialize_moneypunct(); }
1115: # 1103 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       moneypunct(__cache_type* __cache, size_t __refs = 0)
1115:       : facet(__refs), _M_data(__cache)
1115:       { _M_initialize_moneypunct(); }
1115: # 1118 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
1115:       : facet(__refs), _M_data(0)
1115:       { _M_initialize_moneypunct(__cloc, __s); }
1115: # 1132 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       char_type
1115:       decimal_point() const
1115:       { return this->do_decimal_point(); }
1115: # 1145 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       char_type
1115:       thousands_sep() const
1115:       { return this->do_thousands_sep(); }
1115: # 1175 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       string
1115:       grouping() const
1115:       { return this->do_grouping(); }
1115: # 1188 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       string_type
1115:       curr_symbol() const
1115:       { return this->do_curr_symbol(); }
1115: # 1205 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       string_type
1115:       positive_sign() const
1115:       { return this->do_positive_sign(); }
1115: # 1222 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       string_type
1115:       negative_sign() const
1115:       { return this->do_negative_sign(); }
1115: # 1238 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       int
1115:       frac_digits() const
1115:       { return this->do_frac_digits(); }
1115: # 1274 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       pattern
1115:       pos_format() const
1115:       { return this->do_pos_format(); }
1115: 
1115:       pattern
1115:       neg_format() const
1115:       { return this->do_neg_format(); }
1115: 
1115: 
1115:     protected:
1115: 
1115:       virtual
1115:       ~moneypunct();
1115: # 1296 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual char_type
1115:       do_decimal_point() const
1115:       { return _M_data->_M_decimal_point; }
1115: # 1308 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual char_type
1115:       do_thousands_sep() const
1115:       { return _M_data->_M_thousands_sep; }
1115: # 1321 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual string
1115:       do_grouping() const
1115:       { return _M_data->_M_grouping; }
1115: # 1334 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual string_type
1115:       do_curr_symbol() const
1115:       { return _M_data->_M_curr_symbol; }
1115: # 1347 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual string_ list& _M_src;
1434:  const iterator& _M_next;
1434: 
1434: 
1434:  _Finalize_merge(const _Finalize_merge&) = delete;
1434: 
1434:       };
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     };
1434: 
1434: 
1434:   template<typename _InputIterator, typename _ValT
1434:       = typename iterator_traits<_InputIterator>::value_type,
1434:     typename _Allocator = allocator<_ValT>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     list(_InputIterator, _InputIterator, _Allocator = _Allocator())
1434:       -> list<_ValT, _Allocator>;
1434: 
1434: 
1434: }
1434: # 2121 "/usr/include/c++/12/bits/stl_list.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1434:     {
1434: 
1434:       if (__x.size() != __y.size())
1434:  return false;
1434: 
1434: 
1434:       typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
1434:       const_iterator __end1 = __x.end();
1434:       const_iterator __end2 = __y.end();
1434: 
1434:       const_iterator __i1 = __x.begin();
1434:       const_iterator __i2 = __y.begin();
1434:       while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
1434:  {
1434:    ++__i1;
1434:    ++__i2;
1434:  }
1434:       return __i1 == __end1 && __i2 == __end2;
1434:     }
1434: # 2178 "/usr/include/c++/12/bits/stl_list.h" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1434:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1434:        __y.begin(), __y.end()); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1434:     { return __y < __x; }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1434:     { return !(__y < __x); }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     [[__nodiscard__]]
1434:     inline bool
1434:     operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1434:     { return !(__x < __y); }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     inline void
1434:     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp>
1434:     inline ptrdiff_t
1434:     __distance(std::_List_iterator<_Tp> __first,
1434:         std::_List_iterator<_Tp> __last,
1434:         input_iterator_tag __tag)
1434:     {
1434:       typedef std::_List_const_iterator<_Tp> _CIter;
1434:       return std::__distance(_CIter(__first), _CIter(__last), __tag);
1434:     }
1434: 
1434:   template<typename _Tp>
1434:     inline ptrdiff_t
1434:     __distance(std::_List_const_iterator<_Tp> __first,
1434:         std::_List_const_iterator<_Tp> __last,
1434:         input_iterator_tag)
1434:     {
1434:       typedef __detail::_List_node_header _Sentinel;
1434:       std::_List_const_iterator<_Tp> __beyond = __last;
1434:       ++__beyond;
1434:       const bool __whole = __first == __beyond;
1434:       if (__builtin_constant_p (__whole) && __whole)
1434:  return static_cast<const _Sentinel*>(__last._M_node)->_M_size;
1434: 
1434:       ptrdiff_t __n = 0;
1434:       while (__first != __last)
1434:  {
1434:    ++__first;
1434:    ++__n;
1434:  }
1434:       return __n;
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: # 64 "/usr/include/c++/12/list" 2 3
1434: # 1 "/usr/include/c++/12/bits/list.tcc" 1 3
1434: # 59 "/usr/include/c++/12/bits/list.tcc" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     _List_base<_Tp, _Alloc>::
1434:     _M_clear() noexcept
1434:     {
1434:       typedef _List_node<_Tp> _Node;
1434:       __detail::_List_node_base* __cur = _M_impl._M_node._M_next;
1434:       while (__cur != &_M_impl._M_node)
1434:  {
1434:    _Node* __tmp = static_cast<_Node*>(__cur);
1434:    __cur = __tmp->_M_next;
1434:    _Tp* __val = __tmp->_M_valptr();
1434: 
1434:    _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val);
1434: 
1434: 
1434: 
1434:    _M_put_node(__tmp);
1434:  }
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename... _Args>
1434:       typename list<_Tp, _Alloc>::iterator
1434:       list<_Tp, _Alloc>::
1434:       emplace(const_iterator __position, _Args&&... __args)
1434:       {
1434:  _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1434:  __tmp->_M_hook(__position._M_const_cast()._M_node);
1434:  this->_M_inc_size(1);
1434:  return iterator(__tmp);
1434:       }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     typename list<_Tp, _Alloc>::iterator
1434:     list<_Tp, _Alloc>::
1434: 
1434:     insert(const_iterator __position, const value_type& __x)
1434: 
1434: 
1434: 
1434:     {
1434:       _Node* __tmp = _M_create_node(__x);
1434:       __tmp->_M_hook(__position._M_const_cast()._M_node);
1434:       this->_M_inc_size(1);
1434:       return iterator(__tmp);
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     typename list<_Tp, _Alloc>::iterator
1434:     list<_Tp, _Alloc>::
1434:     insert(const_iterator __position, size_type __n, const value_type& __x)
1434:     {
1434:       if (__n)
1434:  {
1434:    list __tmp(__n, __x, get_allocator());
1434:    iterator __it = __tmp.begin();
1434:    splice(__position, __tmp);
1434:    return __it;
1434:  }
1434:       return __position._M_const_cast();
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template<typename _InputIterator, typename>
1434:       typename list<_Tp, _Alloc>::iterator
1434:       list<_Tp, _Alloc>::
1434:       insert(const_iterator __position, _InputIterator __first,
1434:       _InputIterator __last)
1434:       {
1434:  list __tmp(__first, __last, get_allocator());
1434:  if (!__tmp.empty())
1434:    {
1434:      iterator __it = __tmp.begin();
1434:      splice(__position, __tmp);
1434:      return __it;
1434:    }
1434:  return __position._M_const_cast();
1434:       }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     typename list<_Tp, _Alloc>::iterator
1434:     list<_Tp, _Alloc>::
1434: 
1434:     erase(const_iterator __position) noexcept
1434: 
1434: 
1434: 
1434:     {
1434:       iterator __ret = iterator(__position._M_node->_M_next);
1434:       _M_erase(__position._M_const_cast());
1434:       return __ret;
1434:     }
1434: # 173 "/usr/include/c++/12/bits/list.tcc" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     typename list<_Tp, _Alloc>::const_iterator
1434:     list<_Tp, _Alloc>::
1434:     _M_resize_pos(size_type& __new_size) const
1434:     {
1434:       const_iterator __i;
1434: 
1434:       const size_type __len = size();
1434:       if (__new_size < __len)
1434:  {
1434:    if (__new_size <= __len / 2)
1434:      {
1434:        __i = begin();
1434:        std::advance(__i, __new_size);
1434:      }
1434:    else
1434:      {
1434:        __i = end();
1434:        ptrdiff_t __num_erase = __len - __new_size;
1434:        std::advance(__i, -__num_erase);
1434:      }
1434:    __new_size = 0;
1434:    return __i;
1434:  }
1434:       else
1434:  __i = end();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       __new_size -= __len;
1434:       return __i;
1434:     }
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     list<_Tp, _Alloc>::
1434:     _lush_(const details::log_msg &msg);
1417: 
1417: 
1417: 
1417:     void err_handler_(const std::string &msg);
1417: };
1417: 
1417: void swap(logger &a, logger &b);
1417: 
1417: }
1417: # 15 "/usr/include/spdlog/spdlog.h" 2 3 4
1417: # 1 "/usr/include/spdlog/version.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: # 16 "/usr/include/spdlog/spdlog.h" 2 3 4
1417: # 1 "/usr/include/spdlog/details/synchronous_factory.h" 1 3 4
1417: 
1417: 
1417: 
1417:        
1417: 
1417: 
1417: 
1417: namespace spdlog {
1417: 
1417: 
1417: class logger;
1417: 
1417: struct synchronous_factory
1417: {
1417:     template<typename Sink, typename... SinkArgs>
1417:     static std::shared_ptr<spdlog::logger> create(std::string logger_name, SinkArgs &&... args)
1417:     {
1417:         auto sink = std::make_shared<Sink>(std::forward<SinkArgs>(args)...);
1417:         auto new_logger = std::make_shared<spdlog::logger>(std::move(logger_name), std::move(sink));
1417:         details::registry::instance().initialize_logger(new_logger);
1417:         return new_logger;
1417:     }
1417: };
1417: }
1417: # 17 "/usr/include/spdlog/spdlog.h" 2 3 4
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: namespace spdlog {
1417: 
1417: using default_factory = synchronous_factory;
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417: template<typename Sink, typename... SinkArgs>
1417: inline std::shared_ptr<spdlog::logger> create(std::string logger_name, SinkArgs &&... sink_args)
1417: {
1417:     return default_factory::create<Sink>(std::move(logger_name), std::forward<SinkArgs>(sink_args)...);
1417: }
1417: # 47 "/usr/include/spdlog/spdlog.h" 3 4
1417: __attribute__((visibility("default"))) void initialize_logger(std::shared_ptr<logger> logger);
1417: 
1417: 
1417: 
1417: 
1417: __attribute__((visibility("default"))) std::shared_ptr<logger> get(const std::string &name);
1417: 
1417: 
1417: __attribute__((visibility("default"))) void set_formatter(std::unique_ptr<spdlog::formatter> formatter);
1417: 
1417: 
1417: 
1417: __attribute__((visibility("default"))) void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
1417: 
1417: 
1417: __attribute__((visibility("default"))) void enable_backtrace(size_t n_messages);
1417: 
1417: 
1417: __attribute__((visibility("default"))) void disable_backtrace();
1417: 
1417: 
1417: __attribute__((visibility("default"))) void dump_backtrace();
1417: 
1417: 
1417: __attribute__((visibility("default"))) level::level_enum get_level();
1417: 
1417: 
1417: __attribute__((visibility("default"))) void set_level(level::level_enum log_level);
1417: 
1417: 
1417: __attribute__((visibility("default"))) bool should_log(level::level_enum lvl);
1417: 
1417: 
1417: __attribute__((visibility("default"))) void flush_on(level::level_enum log_level);
1417: 
1417: 
1417: 
1417: __attribute__((visibility("default"))) void flush_every(std::chrono::seconds interval);
1417: 
1417: 
1417: __attribute__((visibility("default"))) void set_error_handler(void (*handler)(const std::string &msg));
1417: 
1417: 
1417: __attribute__((visibility("default"))) void register_logger(std::shared_ptr<logger> logger);
1417: 
1417: 
1417: 
1417: 
1417: __attribute__((visibility("default"))) void apply_all(const std::function<void(std::shared_ptr<logger>)> &fun);
1417: 
1417: 
1417: __attribute__((visibility("default"))) void drop(const std::string &name);
1417: 
1417: 
1417: __attribute__((visibility("default"))) void drop_all();
1417: 
1417: 
1417: __attribute__((visibility("default"))) void shutdown();
1417: 
1417: 
1417: __attribute__((visibility("default"))) void set_automatic_registration(bool automatic_registration);
1417: # 124 "/usr/include/spdlog/spdlog.h" 3 4
1417: __attribute__((visibility("default"))) std::shared_ptr<spdlog::logger> default_logger();
1417: 
1417: __attribute__((visibility("default"))) spdlog::logger *default_logger_raw();
1417: 
1417: __attribute__((visibility("default"))) void set_default_logger(std::shared_ptr<spdlog::logger> default_logger);
1417: 
1417: template<typename... Args>
1417: inline void ltype
1115:       do_positive_sign() const
1115:       { return _M_data->_M_positive_sign; }
1115: # 1360 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual string_type
1115:       do_negative_sign() const
1115:       { return _M_data->_M_negative_sign; }
1115: # 1374 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual int
1115:       do_frac_digits() const
1115:       { return _M_data->_M_frac_digits; }
1115: # 1388 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual pattern
1115:       do_pos_format() const
1115:       { return _M_data->_M_pos_format; }
1115: # 1402 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual pattern
1115:       do_neg_format() const
1115:       { return _M_data->_M_neg_format; }
1115: 
1115: 
1115:        void
1115:        _M_initialize_moneypunct(__c_locale __cloc = 0,
1115:     const char* __name = 0);
1115:     };
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     locale::id moneypunct<_CharT, _Intl>::id;
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     const bool moneypunct<_CharT, _Intl>::intl;
1115: 
1115:   template<>
1115:     moneypunct<char, true>::~moneypunct();
1115: 
1115:   template<>
1115:     moneypunct<char, false>::~moneypunct();
1115: 
1115:   template<>
1115:     void
1115:     moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
1115: 
1115:   template<>
1115:     void
1115:     moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
1115: 
1115: 
1115:   template<>
1115:     moneypunct<wchar_t, true>::~moneypunct();
1115: 
1115:   template<>
1115:     moneypunct<wchar_t, false>::~moneypunct();
1115: 
1115:   template<>
1115:     void
1115:     moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
1115:        const char*);
1115: 
1115:   template<>
1115:     void
1115:     moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
1115:         const char*);
1115: 
1115: 
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     class moneypunct_byname : public moneypunct<_CharT, _Intl>
1115:     {
1115:     public:
1115:       typedef _CharT char_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115:       static const bool intl = _Intl;
1115: 
1115:       explicit
1115:       moneypunct_byname(const char* __s, size_t __refs = 0)
1115:       : moneypunct<_CharT, _Intl>(__refs)
1115:       {
1115:  if (__builtin_strcmp(__s, "C") != 0
1115:      && __builtin_strcmp(__s, "POSIX") != 0)
1115:    {
1115:      __c_locale __tmp;
1115:      this->_S_create_c_locale(__tmp, __s);
1115:      this->_M_initialize_moneypunct(__tmp);
1115:      this->_S_destroy_c_locale(__tmp);
1115:    }
1115:       }
1115: 
1115: 
1115:       explicit
1115:       moneypunct_byname(const string& __s, size_t __refs = 0)
1115:       : moneypunct_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~moneypunct_byname() { }
1115:     };
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     const bool moneypunct_byname<_CharT, _Intl>::intl;
1115: 
1115: }
1115: 
1115: namespace __cxx11 {
1115: # 1505 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   template<typename _CharT, typename _InIter>
1115:     class money_get : public locale::facet
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _InIter iter_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115: 
1115: 
1115:       static locale::id id;
1115: # 1527 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       money_get(size_t __refs = 0) : facet(__refs) { }
1115: # 1557 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1115:    ios_base::iostate& __err, long double& __units) const
1115:       { return this->do_get(__s, __end, __intl, __io, __err, __units); }
1115: # 1588 "/usr/include/c++/12/bits/locale_facM_default_append(size_type __n)
1434:     {
1434:       size_type __i = 0;
1434:       try
1434:  {
1434:    for (; __i < __n; ++__i)
1434:      emplace_back();
1434:  }
1434:       catch(...)
1434:  {
1434:    for (; __i; --__i)
1434:      pop_back();
1434:    throw;
1434:  }
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     list<_Tp, _Alloc>::
1434:     resize(size_type __new_size)
1434:     {
1434:       const_iterator __i = _M_resize_pos(__new_size);
1434:       if (__new_size)
1434:  _M_default_append(__new_size);
1434:       else
1434:         erase(__i, end());
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     list<_Tp, _Alloc>::
1434:     resize(size_type __new_size, const value_type& __x)
1434:     {
1434:       const_iterator __i = _M_resize_pos(__new_size);
1434:       if (__new_size)
1434:         insert(end(), __new_size, __x);
1434:       else
1434:         erase(__i, end());
1434:     }
1434: # 265 "/usr/include/c++/12/bits/list.tcc" 3
1434:   template<typename _Tp, typename _Alloc>
1434:     list<_Tp, _Alloc>&
1434:     list<_Tp, _Alloc>::
1434:     operator=(const list& __x)
1434:     {
1434:       if (this != std::__addressof(__x))
1434:  {
1434: 
1434:    if (_Node_alloc_traits::_S_propagate_on_copy_assign())
1434:      {
1434:               auto& __this_alloc = this->_M_get_Node_allocator();
1434:               auto& __that_alloc = __x._M_get_Node_allocator();
1434:               if (!_Node_alloc_traits::_S_always_equal()
1434:            && __this_alloc != __that_alloc)
1434:          {
1434: 
1434:     clear();
1434:   }
1434:        std::__alloc_on_copy(__this_alloc, __that_alloc);
1434:             }
1434: 
1434:    _M_assign_dispatch(__x.begin(), __x.end(), __false_type());
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     list<_Tp, _Alloc>::
1434:     _M_fill_assign(size_type __n, const value_type& __val)
1434:     {
1434:       iterator __i = begin();
1434:       for (; __i != end() && __n > 0; ++__i, --__n)
1434:         *__i = __val;
1434:       if (__n > 0)
1434:         insert(end(), __n, __val);
1434:       else
1434:         erase(__i, end());
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template <typename _InputIterator>
1434:       void
1434:       list<_Tp, _Alloc>::
1434:       _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2,
1434:     __false_type)
1434:       {
1434:         iterator __first1 = begin();
1434:         iterator __last1 = end();
1434:         for (; __first1 != __last1 && __first2 != __last2;
1434:       ++__first1, (void)++__first2)
1434:           *__first1 = *__first2;
1434:         if (__first2 == __last2)
1434:           erase(__first1, __last1);
1434:         else
1434:           insert(__last1, __first2, __last2);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     typename list<_Tp, _Alloc>::__remove_return_type
1434:     list<_Tp, _Alloc>::
1434:     remove(const value_type& __value)
1434:     {
1434: 
1434: 
1434: 
1434:       list __to_destroy(get_allocator());
1434:       iterator __first = begin();
1434:       iterator __last = end();
1434:       while (__first != __last)
1434:  {
1434:    iterator __next = __first;
1434:    ++__next;
1434:    if (*__first == __value)
1434:      {
1434: 
1434: 
1434: 
1434:        __to_destroy.splice(__to_destroy.begin(), *this, __first);
1434: 
1434: 
1434: 
1434:      }
1434: 
1434:    __first = __next;
1434:  }
1434: 
1434: 
1434: 
1434: 
1434:  return ;
1434: 
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     typename list<_Tp, _Alloc>::__remove_return_type
1434:     list<_Tp, _Alloc>::
1434:     unique()
1434:     {
1434:       iterator __first = begin();
1434:       iterator __last = end();
1434:       if (__first == __last)
1434:  return ;
1434: 
1434: 
1434: 
1434:       list __to_destroy(get_allocator());
1434:       iterator __next = __first;
1434:       while (++__next != __last)
1434:  {
1434:    if (*__first == *__next)
1434:      {
1434:        __to_destroy.splice(__to_destroy.begin(), *this, __next);
1434: 
1434: 
1434: 
1434:      }
1434:    else
1434:      __first = __next;
1434:    __next = __first;
1434:  }
1434: 
1434: 
1434: 
1434: 
1434:       return ;
1434: 
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     list<_Tp, _Alloc>::
1434: 
1434:     merge(list&& __x)
1434: 
1434: 
1434: 
1434:     {
1434: 
1434: 
1434:       if (this != std::__addressof(__x))
1434:  {
1434:    _M_check_equal_allocators(__x);
1434: 
1434:    iterator __first1 = begin();
1434:    iterator __last1 = end();
1434:    iterator __first2 = __x.begin();
1434:    iterator __last2 = __x.end();
1434: 
1434:    const _Finalize_merge __fin(*this, __x, __first2);
1434: 
1434:    while (__first1 != __last1 && __first2 != __last2)
1434:      if (*__first2 < *__first1)
1434:        {
1434:   iterator __next = __first2;
1434:   _M_transfer(__first1, __first2, ++__next);
1434:   __first2 = __next;
1434:        }
1434:      else
1434:        ++__first1;
1434:    if (__first2 != __last2)
1434:      {
1434:        _M_transfer(__last1, __first2, __last2);
1434:        __first2 = __last2;
1434:      }
1434:  }
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template <typename _StrictWeakOrdering>
1434:       void
1434:       list<_Tp, _Alloc>::
1434: 
1434:       merge(list&& __x, _StrictWeakOrdering __comp)
1434: 
1434: 
1434: 
1434:       {
1434: 
1434: 
1434:  if (this != std::__addressof(__x))
1434:    {
1434:      _M_check_equal_allocators(__x);
1434: 
1434:      iterator __first1 = begin();
1434:      iterator __last1 = end();
1434:      iterator __first2 = __x.begin();
1434:      iterator __last2 = __x.end();
1434: 
1434:      const _Finalize_merge __fin(*this, __x, __first2);
1434: 
1434:      while (__first1 != __last1 && __first2 != __last2)
1434:        if (__comp(*__first2, *__first1))
1434:   {
1434:     iterator __next = __first2;
1434:     _M_transfer(__first1, __first2, ++__next);
1434:     __first2 = __next;
1434:   }
1434:        else
1434:   ++__first1;
1434:      if (__first2 != __last2)
1434:        {
1434:   _M_transfer(__last1, __first2, __last2);
1434:   __first2 = __last2;
1434:        }
1434:    }
1434:       }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     void
1434:     list<_Tp, _Alloc>::
1434:     sort()
1434:     {
1434: 
1434:       if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1434:    && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1434:       {
1434:  using __detail::_Scratch_list;
1434: # 497 "/usr/include/c++/12/bits/list.tcc" 3
1434:  _Scratch_list __carry;
1434:  _Scratch_list __tmp[64];
1434:  _Scratch_list* __fill = __tmp;
1434:  _Scratch_list* __counter;
1434: 
1434:  _Scratch_list::_Ptr_cmp<iterator, void> __ptr_comp;
1434: 
1434:  try
1434:    {
1434:      do
1434:        {
1434:   __carry._M_take_one(begin()._M_node);
1434: 
1434:   for(__counter = __tmp;
1434:       __counter != __fill && !__counter->empty();
1434:       ++__counter)
1434:     {
1434: 
1434:       __counter->merge(__carry, __ptr_comp);
1434:       __carry.swap(*__counter);
1434:     }
1434:   __carry.swap(*__counter);
1434:   if (__counter == __fill)
1434:     ++__fill;
1434:        }
1434:      while ( !empty() );
1434: 
1434:      for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1434:        __counter->merge(__counter[-1], __ptr_comp);
1434:      __fill[-1].swap(this->_M_impl._M_node);
1434:    }
1434:  catch(...)
1434:    {
1434: 
1434:      __carry._M_put_all(end()._M_node);
1434:      for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1434:        __tmp[__i]._M_put_all(end()._M_node);
1434:      throw;
1434:    }
1434:       }
1434:     }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template <typename _Predicate>
1434:       typename list<_Tp, _Alloc>::__remove_return_type
1434:og(source_loc source, level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->log(source, lvl, fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename... Args>
1417: inline void log(level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename... Args>
1417: inline void trace(format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->trace(fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename... Args>
1417: inline void debug(format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->debug(fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename... Args>
1417: inline void info(format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->info(fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename... Args>
1417: inline void warn(format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->warn(fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename... Args>
1417: inline void error(format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->error(fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename... Args>
1417: inline void critical(format_string_t<Args...> fmt, Args &&... args)
1417: {
1417:     default_logger_raw()->critical(fmt, std::forward<Args>(args)...);
1417: }
1417: 
1417: template<typename T>
1417: inline void log(source_loc source, level::level_enum lvl, const T &msg)
1417: {
1417:     default_logger_raw()->log(source, lvl, msg);
1417: }
1417: 
1417: template<typename T>
1417: inline void log(level::level_enum lvl, const T &msg)
1417: {
1417:     default_logger_raw()->log(lvl, msg);
1417: }
1417: # 240 "/usr/include/spdlog/spdlog.h" 3 4
1417: template<typename T>
1417: inline void trace(const T &msg)
1417: {
1417:     default_logger_raw()->trace(msg);
1417: }
1417: 
1417: template<typename T>
1417: inline void debug(const T &msg)
1417: {
1417:     default_logger_raw()->debug(msg);
1417: }
1417: 
1417: template<typename T>
1417: inline void info(const T &msg)
1417: {
1417:     default_logger_raw()->info(msg);
1417: }
1417: 
1417: template<typename T>
1417: inline void warn(const T &msg)
1417: {
1417:     default_logger_raw()->warn(msg);
1417: }
1417: 
1417: template<typename T>
1417: inline void error(const T &msg)
1417: {
1417:     default_logger_raw()->error(msg);
1417: }
1417: 
1417: template<typename T>
1417: inline void critical(const T &msg)
1417: {
1417:     default_logger_raw()->critical(msg);
1417: }
1417: 
1417: }
1417: # 37 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1417: 
1417: 
1417: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1417: namespace spdlog
1417: {
1417: namespace sinks
1417: {
1417: class sink;
1417: 
1417: template<typename Mutex>
1417: class dist_sink;
1417: }
1417: }
1417: 
1417: class CLog : public ISettingsHandler, public ISettingCallback
1417: {
1417: public:
1417:   CLog();
1417:   ~CLog();
1417: 
1417: 
1417:   void OnSettingsLoaded() override;
1417: 
1417: 
1417:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1417: 
1417:   void Initialize(const std::string& path);
1417:   void UnregisterFromSettings();
1417:   void Deinitialize();
1417: 
1417:   void SetLogLevel(int level);
1417:   int GetLogLevel() { return m_logLevel; }
1417:   bool IsLogLevelLogged(int loglevel);
1417: 
1417:   bool CanLogComponent(uint32_t component) const;
1417:   static void SettingOptionsLoggingComponentsFiller(const std::shared_ptr<const CSetting>& setting,
1417:                                                     std::vector<IntegerSettingOption>& list,
1417:                                                     int& current,
1417:                                                     void* data);
1417: 
1417:         list<_Tp, _Alloc>::
1434:       remove_if(_Predicate __pred)
1434:       {
1434: 
1434: 
1434: 
1434:  list __to_destroy(get_allocator());
1434:  iterator __first = begin();
1434:  iterator __last = end();
1434:  while (__first != __last)
1434:    {
1434:      iterator __next = __first;
1434:      ++__next;
1434:      if (__pred(*__first))
1434:        {
1434:   __to_destroy.splice(__to_destroy.begin(), *this, __first);
1434: 
1434: 
1434: 
1434:        }
1434:      __first = __next;
1434:    }
1434: 
1434: 
1434: 
1434: 
1434:  return ;
1434: 
1434:       }
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template <typename _BinaryPredicate>
1434:       typename list<_Tp, _Alloc>::__remove_return_type
1434:       list<_Tp, _Alloc>::
1434:       unique(_BinaryPredicate __binary_pred)
1434:       {
1434:         iterator __first = begin();
1434:         iterator __last = end();
1434:         if (__first == __last)
1434:    return ;
1434: 
1434: 
1434: 
1434:  list __to_destroy(get_allocator());
1434:         iterator __next = __first;
1434:         while (++__next != __last)
1434:    {
1434:      if (__binary_pred(*__first, *__next))
1434:        {
1434:   __to_destroy.splice(__to_destroy.begin(), *this, __next);
1434: 
1434: 
1434: 
1434:        }
1434:      else
1434:        __first = __next;
1434:      __next = __first;
1434:    }
1434: 
1434: 
1434: 
1434: 
1434:  return ;
1434: 
1434:       }
1434: 
1434: 
1434: 
1434:   template<typename _Tp, typename _Alloc>
1434:     template <typename _StrictWeakOrdering>
1434:       void
1434:       list<_Tp, _Alloc>::
1434:       sort(_StrictWeakOrdering __comp)
1434:       {
1434: 
1434:  if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1434:      && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1434:  {
1434:    using __detail::_Scratch_list;
1434:    _Scratch_list __carry;
1434:    _Scratch_list __tmp[64];
1434:    _Scratch_list* __fill = __tmp;
1434:    _Scratch_list* __counter;
1434: 
1434:  _Scratch_list::_Ptr_cmp<iterator, _StrictWeakOrdering> __ptr_comp
1434:    = { __comp };
1434: 
1434:    try
1434:      {
1434:        do
1434:   {
1434:     __carry._M_take_one(begin()._M_node);
1434: 
1434:     for(__counter = __tmp;
1434:         __counter != __fill && !__counter->empty();
1434:         ++__counter)
1434:       {
1434: 
1434:         __counter->merge(__carry, __ptr_comp);
1434:         __carry.swap(*__counter);
1434:       }
1434:     __carry.swap(*__counter);
1434:     if (__counter == __fill)
1434:       ++__fill;
1434:   }
1434:        while ( !empty() );
1434: 
1434:        for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1434:   __counter->merge(__counter[-1], __ptr_comp);
1434:        __fill[-1].swap(this->_M_impl._M_node);
1434:      }
1434:    catch(...)
1434:      {
1434: 
1434:        __carry._M_put_all(end()._M_node);
1434:        for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1434:   __tmp[__i]._M_put_all(end()._M_node);
1434:        throw;
1434:      }
1434:  }
1434:       }
1434: 
1434: 
1434: 
1434: }
1434: # 65 "/usr/include/c++/12/list" 2 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr
1434:   {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:     template<typename _Tp>
1434:       using list = std::list<_Tp, polymorphic_allocator<_Tp>>;
1434:   }
1434: 
1434: }
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1434: class CGUIDialog;
1434: class CGUIMediaWindow;
1434: 
1434: 
1434: 
1434: 
1434: enum class DialogModalityType;
1434: 
1434: 
1434: 
1434: 
1434: namespace KODI
1434: {
1434:   namespace MESSAGING
1434:   {
1434:     class CApplicationMessenger;
1434:   }
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CGUIWindowManager : public KODI::MESSAGING::IMessageTarget
1434: {
1434:   friets_nonio.h" 3
1115:       iter_type
1115:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1115:    ios_base::iostate& __err, string_type& __digits) const
1115:       { return this->do_get(__s, __end, __intl, __io, __err, __digits); }
1115: 
1115:     protected:
1115: 
1115:       virtual
1115:       ~money_get() { }
1115: # 1612 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1115:       ios_base::iostate& __err, long double& __units) const;
1115: # 1624 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
1115:       ios_base::iostate& __err, string_type& __digits) const;
1115: # 1644 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       template<bool _Intl>
1115:         iter_type
1115:         _M_extract(iter_type __s, iter_type __end, ios_base& __io,
1115:      ios_base::iostate& __err, string& __digits) const;
1115:     };
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     locale::id money_get<_CharT, _InIter>::id;
1115: # 1666 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   template<typename _CharT, typename _OutIter>
1115:     class money_put : public locale::facet
1115:     {
1115:     public:
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _OutIter iter_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115: 
1115: 
1115:       static locale::id id;
1115: # 1687 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       money_put(size_t __refs = 0) : facet(__refs) { }
1115: # 1707 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       put(iter_type __s, bool __intl, ios_base& __io,
1115:    char_type __fill, long double __units) const
1115:       { return this->do_put(__s, __intl, __io, __fill, __units); }
1115: # 1730 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       iter_type
1115:       put(iter_type __s, bool __intl, ios_base& __io,
1115:    char_type __fill, const string_type& __digits) const
1115:       { return this->do_put(__s, __intl, __io, __fill, __digits); }
1115: 
1115:     protected:
1115: 
1115:       virtual
1115:       ~money_put() { }
1115: # 1765 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1115:       long double __units) const;
1115: # 1789 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual iter_type
1115:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1115:       const string_type& __digits) const;
1115: # 1809 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       template<bool _Intl>
1115:         iter_type
1115:         _M_insert(iter_type __s, ios_base& __io, char_type __fill,
1115:     const string_type& __digits) const;
1115:     };
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     locale::id money_put<_CharT, _OutIter>::id;
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   struct messages_base
1115:   {
1115:     typedef int catalog;
1115:   };
1115: 
1115: namespace __cxx11 {
1115: # 1852 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:   template<typename _CharT>
1115:     class messages : public locale::facet, public messages_base
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115: 
1115:     protected:
1115: 
1115: 
1115:       __c_locale _M_c_locale_messages;
1115:       const char* _M_name_messages;
1115: 
1115:     public:
1115: 
1115:       static locale::id id;
1115: # 1880 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       messages(size_t __refs = 0);
1115: # 1894 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       explicit
1115:       mesend CGUIDialog;
1434:   friend CGUIMediaWindow;
1434: public:
1434:   CGUIWindowManager();
1434:   ~CGUIWindowManager() override;
1434:   bool SendMessage(CGUIMessage& message);
1434:   bool SendMessage(int message, int senderID, int destID, int param1 = 0, int param2 = 0);
1434:   bool SendMessage(CGUIMessage& message, int window);
1434:   void Initialize();
1434:   void Add(CGUIWindow* pWindow);
1434:   void AddUniqueInstance(CGUIWindow *window);
1434:   void AddCustomWindow(CGUIWindow* pWindow);
1434:   void Remove(int id);
1434:   void Delete(int id);
1434:   void ActivateWindow(int iWindowID, const std::string &strPath = "");
1434:   void ForceActivateWindow(int iWindowID, const std::string &strPath = "");
1434:   void ChangeActiveWindow(int iNewID, const std::string &strPath = "");
1434:   void ActivateWindow(int iWindowID, const std::vector<std::string>& params, bool swappingWindows = false, bool force = false);
1434:   void PreviousWindow();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SwitchToFullScreen(bool force = false);
1434: 
1434:   void CloseDialogs(bool forceClose = false) const;
1434:   void CloseInternalModalDialogs(bool forceClose = false) const;
1434: 
1434:   void OnApplicationMessage(KODI::MESSAGING::ThreadMessage* pMsg) override;
1434:   int GetMessageMask() override;
1434: 
1434: 
1434: 
1434: 
1434:   bool OnAction(const CAction &action) const;
1434: 
1434: 
1434: 
1434:   void Process(unsigned int currentTime);
1434: 
1434: 
1434: 
1434:   void MarkDirty();
1434: 
1434: 
1434: 
1434:   void MarkDirty(const CRect& rect);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Render();
1434: 
1434:   void RenderEx() const;
1434: 
1434: 
1434: 
1434:   void AfterRender();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void FrameMove();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Initialized() const { return m_initialized; }
1434: 
1434: 
1434: 
1434:   void CreateWindows();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool DestroyWindows();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void DestroyWindow(int id);
1434: # 150 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1434:   template<typename T,
1434:            typename std::enable_if<std::is_base_of<CGUIWindow, T>::value>::type* = nullptr>
1434:   T* GetWindow(int id) const
1434:   {
1434:     return dynamic_cast<T*>(GetWindow(id));
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CGUIWindow* GetWindow(int id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CGUIDialog* GetDialog(int id) const;
1434: 
1434:   void SetCallback(IWindowManagerCallback& callback);
1434:   void DeInitialize();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void RegisterDialog(CGUIWindow* dialog);
1434:   void RemoveDialog(int id);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int GetTopmostDialog(bool ignoreClosing = false) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int GetTopmostModalDialog(bool ignoreClosing = false) const;
1434: 
1434:   void SendThreadMessage(CGUIMessage& message, int window = 0);
1434:   void DispatchThreadMessages();
1434: 
1434: 
1434:   int RemoveThreadMessageByMessageIds(int *pMessageIDList);
1434:   void AddMsgTarget( IMsgTargetCallback* pMsgTarget );
1434:   int GetActiveWindow() const;
1434:   int GetActiveWindowOrDialog() const;
1434:   bool HasModalDialog(bool ignoreClosing) const;
1434:   bool HasVisibleModalDialog() const;
1434:   bool IsDialogTopmost(int id, bool modal = false) const;
1434:   bool IsDialogTopmost(const std::string &xmlFile, bool modal = false) const;
1434:   bool IsModalDialogTopmost(int id) const;
1434:   bool IsModalDialogTopmost(const std::string &xmlFile) const;
1434:   bool IsWindowActive(int id, bool ignoreClosing = true) const;
1434:   bool IsWindowVisible(int id) const;
1434:   bool IsWindowActive(const std::string &xmlFile, bool ignoreClosing = true) const;
1434:   bool IsWindowVisible(const std::string &xmlFile) const;
1434: 
1434: 
1434: 
1434: 
1434:   bool IsAddonWindow(int id) const { return (id >= 14000 && id <= 14099); }
1434: Logger GetLogger(const std::string& loggerName);
1417: 
1417:   template<typename... Args>
1417:   static inline void Log(int level, const std::string_view& format, Args&&... args)
1417:   {
1417:     Log(MapLogLevel(level), format, std::forward<Args>(args)...);
1417:   }
1417: 
1417:   template<typename... Args>
1417:   static inline void Log(int level,
1417:                          uint32_t component,
1417:                          const std::string_view& format,
1417:                          Args&&... args)
1417:   {
1417:     if (!GetInstance().CanLogComponent(component))
1417:       return;
1417: 
1417:     Log(level, format, std::forward<Args>(args)...);
1417:   }
1417: 
1417:   template<typename... Args>
1417:   static inline void Log(spdlog::level::level_enum level,
1417:                          const std::string_view& format,
1417:                          Args&&... args)
1417:   {
1417:     GetInstance().FormatAndLogInternal(level, format, std::forward<Args>(args)...);
1417:   }
1417: 
1417:   template<typename... Args>
1417:   static inline void Log(spdlog::level::level_enum level,
1417:                          uint32_t component,
1417:                          const std::string_view& format,
1417:                          Args&&... args)
1417:   {
1417:     if (!GetInstance().CanLogComponent(component))
1417:       return;
1417: 
1417:     Log(level, format, std::forward<Args>(args)...);
1417:   }
1417: 
1417: 
1417: 
1417: 
1417: 
1417: private:
1417:   static CLog& GetInstance();
1417: 
1417:   static spdlog::level::level_enum MapLogLevel(int level);
1417: 
1417:   template<typename... Args>
1417:   inline void FormatAndLogInternal(spdlog::level::level_enum level,
1417:                                    const std::string_view& format,
1417:                                    Args&&... args)
1417:   {
1417:     auto message = fmt::format(format, std::forward<Args>(args)...);
1417: 
1417: 
1417:     FormatLineBreaks(message);
1417: 
1417:     m_defaultLogger->log(level, message);
1417:   }
1417: 
1417:   Logger CreateLogger(const std::string& loggerName);
1417: 
1417:   void SetComponentLogLevel(const std::vector<CVariant>& components);
1417: 
1417:   void FormatLineBreaks(std::string& message);
1417: 
1417:   std::unique_ptr<IPlatformLog> m_platform;
1417:   std::shared_ptr<spdlog::sinks::dist_sink<std::mutex>> m_sinks;
1417:   Logger m_defaultLogger;
1417: 
1417:   std::shared_ptr<spdlog::sinks::sink> m_fileSink;
1417: 
1417:   int m_logLevel;
1417: 
1417:   bool m_componentLogEnabled;
1417:   uint32_t m_componentLogLevels;
1417: };
1417: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIVisualisationControl.cpp" 2
1417: 
1417: namespace
1417: {
1417: constexpr unsigned int MAX_AUDIO_BUFFERS = 16;
1417: }
1417: 
1417: CAudioBuffer::CAudioBuffer(int iSize)
1417: {
1417:   m_iLen = iSize;
1417:   m_pBuffer = new float[iSize];
1417: }
1417: 
1417: CAudioBuffer::~CAudioBuffer()
1417: {
1417:   delete[] m_pBuffer;
1417: }
1417: 
1417: const float* CAudioBuffer::Get() const
1417: {
1417:   return m_pBuffer;
1417: }
1417: 
1417: int CAudioBuffer::Size() const
1417: {
1417:   return m_iLen;
1417: }
1417: 
1417: void CAudioBuffer::Set(const float* psBuffer, int iSize)
1417: {
1417:   if (iSize < 0)
1417:     return;
1417: 
1417:   memcpy(m_pBuffer, psBuffer, iSize * sizeof(float));
1417:   for (int i = iSize; i < m_iLen; ++i)
1417:     m_pBuffer[i] = 0;
1417: }
1417: 
1417: CGUIVisualisationControl::CGUIVisualisationControl(
1417:     int parentID, int controlID, float posX, float posY, float width, float height)
1417:   : CGUIControl(parentID, controlID, posX, posY, width, height)
1417: {
1417:   ControlType = GUICONTROL_VISUALISATION;
1417: }
1417: 
1417: CGUIVisualisationControl::CGUIVisualisationControl(const CGUIVisualisationControl& from)
1417:   : CGUIControl(from)
1417: {
1417:   ControlType = GUICONTROL_VISUALISATION;
1417: }
1417: 
1417: std::string CGUIVisualisationControl::Name()
1417: {
1417:   if (m_instance == nullptr)
1417:     return "";
1417:   return m_instance->Name();
1417: }
1417: 
1sages(__c_locale __cloc, const char* __s, size_t __refs = 0);
1115: # 1907 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       catalog
1115:       open(const basic_string<char>& __s, const locale& __loc) const
1115:       { return this->do_open(__s, __loc); }
1115: # 1925 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       catalog
1115:       open(const basic_string<char>&, const locale&, const char*) const;
1115: # 1943 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       string_type
1115:       get(catalog __c, int __set, int __msgid, const string_type& __s) const
1115:       { return this->do_get(__c, __set, __msgid, __s); }
1115: # 1954 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       void
1115:       close(catalog __c) const
1115:       { return this->do_close(__c); }
1115: 
1115:     protected:
1115: 
1115:       virtual
1115:       ~messages();
1115: # 1974 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual catalog
1115:       do_open(const basic_string<char>&, const locale&) const;
1115: # 1993 "/usr/include/c++/12/bits/locale_facets_nonio.h" 3
1115:       virtual string_type
1115:       do_get(catalog, int, int, const string_type& __dfault) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       virtual void
1115:       do_close(catalog) const;
1115: 
1115: 
1115:       char*
1115:       _M_convert_to_char(const string_type& __msg) const
1115:       {
1115: 
1115:  return reinterpret_cast<char*>(const_cast<_CharT*>(__msg.c_str()));
1115:       }
1115: 
1115: 
1115:       string_type
1115:       _M_convert_from_char(char*) const
1115:       {
1115: 
1115:  return string_type();
1115:       }
1115:      };
1115: 
1115:   template<typename _CharT>
1115:     locale::id messages<_CharT>::id;
1115: 
1115: 
1115:   template<>
1115:     string
1115:     messages<char>::do_get(catalog, int, int, const string&) const;
1115: 
1115: 
1115:   template<>
1115:     wstring
1115:     messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
1115: 
1115: 
1115: 
1115:    template<typename _CharT>
1115:     class messages_byname : public messages<_CharT>
1115:     {
1115:     public:
1115:       typedef _CharT char_type;
1115:       typedef basic_string<_CharT> string_type;
1115: 
1115:       explicit
1115:       messages_byname(const char* __s, size_t __refs = 0);
1115: 
1115: 
1115:       explicit
1115:       messages_byname(const string& __s, size_t __refs = 0)
1115:       : messages_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~messages_byname()
1115:       { }
1115:     };
1115: 
1115: }
1115: 
1115: 
1115: }
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 1 3
1115: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 3
1115: # 1 "/usr/include/libintl.h" 1 3 4
1115: # 34 "/usr/include/libintl.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: extern char *gettext (const char *__msgid)
1115:      noexcept (true) __attribute__ ((__format_arg__ (1)));
1115: 
1115: 
1115: 
1115: extern char *dgettext (const char *__domainname, const char *__msgid)
1115:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1115: extern char *__dgettext (const char *__domainname, const char *__msgid)
1115:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1115: 
1115: 
1115: 
1115: extern char *dcgettext (const char *__domainname,
1115:    const char *__msgid, int __category)
1115:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1115: extern char *__dcgettext (const char *__domainname,
1115:      const char *__msgid, int __category)
1115:      noexcept (true) __attribute__ ((__format_arg__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: extern char *ngettext (const char *__msgid1, const char *__msgid2,
1115:          unsigned long int __n)
1115:      noexcept (true) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
1115: 
1115: 
1115: 
1115: extern char *dngettext (const char *__domainname, const char *_ 
1434: 
1434: 
1434: 
1434:   bool IsPythonWindow(int id) const
1434:   {
1434:     return (id >= 13000 && id <= 13099);
1434:   }
1434: 
1434:   bool HasVisibleControls();
1434: 
1434: 
1434: 
1434: 
1434: private:
1434:   void RenderPass() const;
1434: 
1434:   void LoadNotOnDemandWindows();
1434:   void UnloadNotOnDemandWindows();
1434:   void AddToWindowHistory(int newWindowID);
1434: # 246 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1434:   void RemoveFromWindowHistory(int windowID);
1434:   void ClearWindowHistory();
1434:   void CloseWindowSync(CGUIWindow *window, int nextWindowID = 0);
1434:   int GetTopmostDialog(bool modal, bool ignoreClosing) const;
1434: 
1434:   friend class KODI::MESSAGING::CApplicationMessenger;
1434: # 260 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1434:   void ActivateWindow_Internal(int windowID, const std::vector<std::string> &params, bool swappingWindows, bool force = false);
1434: 
1434:   bool ProcessRenderLoop(bool renderOnly);
1434: 
1434:   bool HandleAction(const CAction &action) const;
1434: 
1434:   std::unordered_map<int, CGUIWindow*> m_mapWindows;
1434:   std::vector<CGUIWindow*> m_vecCustomWindows;
1434:   std::vector<CGUIWindow*> m_activeDialogs;
1434:   std::vector<CGUIWindow*> m_deleteWindows;
1434: 
1434:   std::deque<int> m_windowHistory;
1434: 
1434:   IWindowManagerCallback* m_pCallback;
1434:   std::list< std::pair<CGUIMessage*,int> > m_vecThreadMessages;
1434:   CCriticalSection m_critSection;
1434:   std::vector<IMsgTargetCallback*> m_vecMsgTargets;
1434: 
1434:   int m_iNested;
1434:   bool m_initialized;
1434:   mutable bool m_touchGestureActive{false};
1434:   mutable bool m_inhibitTouchGestureEvents{false};
1434: 
1434:   CDirtyRegionList m_dirtyregions;
1434:   CDirtyRegionTracker m_tracker;
1434: };
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h"
1434:        
1434: 
1434: class TiXmlNode;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class ISubSettings
1434: {
1434: public:
1434:   virtual ~ISubSettings() = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool Load(const TiXmlNode *settings) { return true; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool Save(TiXmlNode *settings) const { return true; }
1434: 
1434: 
1434: 
1434:   virtual void Clear() { }
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: class CSetting;
1434: class CSettingsManager;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class ISettingCreator
1434: {
1434: public:
1434:   virtual ~ISettingCreator() = default;
1434: # 34 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h"
1434:   virtual std::shared_ptr<CSetting> CreateSetting(const std::string &settingType, const std::string &settingId, CSettingsManager *settingsManager = nullptr) const = 0;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h" 2
1434: 
1434: class CSettingCreator : public ISettingCreator
1434: {
1434: public:
1434: 
1434:   std::shared_ptr<CSetting> CreateSetting(const std::string &settingType, const std::string &settingId, CSettingsManager *settingsManager = nullptr) const override;
1434: 
1434: protected:
1434:   CSettingCreator() = default;
1434:   ~CSettingCreator() override = default;
1434: };
1434: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1434:        
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1434: class CSetting;
1434: class CSettingSection;
1434: class CSettingsManager;
1434: class CVariant;
1434: class CXBMCTinyXML;
1434: class TiXmlElement;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingsBase
1434: {
1434: public:
1434:   virtual ~CSettingsBase();
1434: 
1434:   CSettingsManager* GetSettingsManager() const { return m_settingsManager; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool Initialize();
1434: 
1434: 
1434: 
1434:   virtual bool IsInitialized() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool Load() = 0;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void SetLoaded();
1434: 
1434: 
1434: 
1434:   virtual bool IsLoaded() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool Save() = 0;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void Unload();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void Uninitialize();
1434: # 94 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1434:   void RegisterCallback(ISettingCallback* callback, const std::set<std::string>& settingList);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void UnregisterCallback(ISettingCallback* callback);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<CSetting> GetSetting(const std::string& id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<std::shared_ptr<CSettingSection>> GetSections() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<CSettingSection> GetSection(const std::string& section) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool GetBool(const std::string& id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int GetInt(const std::string& id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   double GetNumber(const std::string& id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::string GetString(const std::string& id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<CVariant> GetList(const std::string& id) const;
1434: # 166 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1434:   bool SetBool(const std::string& id, bool value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool ToggleBool(const std::string& id);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetInt(const std::string& id, int value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetNumber(const std::string& id, double value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetString(const std::string& id, const std::string& value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetList(const std::string& id, const std::vector<CVariant>& value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetDefault(const std::string &id);
1434: 
1434: 
1434: 
1434:   void SetDefaults();
1434: 
1434: protected:
1434:   CSettingsBase();
1434: 
1434:   virtual void InitializeSettingTypes() { }
1434:   virtual void InitializeControls() { }
1434:   virtual void InitializeOptionFillers() { }
1434:   virtual void UninitializeOptionFillers() { }
1434:   virtual void InitializeConditions() { }
1434:   virtual void UninitializeConditions() { }
1434:   virtual bool InitializeDefinitions() = 0;
1434:   virtual void InitializeVisibility() { }
1434:   virtual void InitializeDefaults() { }
1434:   virtual void InitializeISettingsHandlers() { }
1434:   virtual void UninitializeISettingsHandlers() { }
1434:   virtual void InitializeISubSettings() { }
1434:   virtual void UninitializeISubSettings() { }
1434:   virtual void InitializeISettingCallbacks() { }
1434:   virtual void UninitializeISettingCallbacks() { }
1434: 
1434:   bool InitializeDefinitionsFr417: bool CGUIVisualisationControl::OnMessage(CGUIMessage& message)
1417: {
1417:   if (m_alreadyStarted)
1417:   {
1417:     switch (message.GetMessage())
1417:     {
1417:       case GUI_MSG_GET_VISUALISATION:
1417:         message.SetPointer(this);
1417:         return true;
1417:       case GUI_MSG_VISUALISATION_RELOAD:
1417:         FreeResources(true);
1417:         return true;
1417:       case GUI_MSG_PLAYBACK_STARTED:
1417:         m_updateTrack = true;
1417:         return true;
1417:       default:
1417:         break;
1417:     }
1417:   }
1417:   return CGUIControl::OnMessage(message);
1417: }
1417: 
1417: bool CGUIVisualisationControl::OnAction(const CAction& action)
1417: {
1417:   if (m_alreadyStarted)
1417:   {
1417:     switch (action.GetID())
1417:     {
1417:       case ACTION_VIS_PRESET_NEXT:
1417:         m_instance->NextPreset();
1417:         break;
1417:       case ACTION_VIS_PRESET_PREV:
1417:         m_instance->PrevPreset();
1417:         break;
1417:       case ACTION_VIS_PRESET_RANDOM:
1417:         m_instance->RandomPreset();
1417:         break;
1417:       case ACTION_VIS_RATE_PRESET_PLUS:
1417:         m_instance->RatePreset(true);
1417:         break;
1417:       case ACTION_VIS_RATE_PRESET_MINUS:
1417:         m_instance->RatePreset(false);
1417:         break;
1417:       case ACTION_VIS_PRESET_LOCK:
1417:         m_instance->LockPreset();
1417:         break;
1417:       default:
1417:         break;
1417:     }
1417:     return true;
1417:   }
1417: 
1417:   return CGUIControl::OnAction(action);
1417: }
1417: 
1417: void CGUIVisualisationControl::Process(unsigned int currentTime, CDirtyRegionList& dirtyregions)
1417: {
1417:   const auto& components = CServiceBroker::GetAppComponents();
1417:   const auto appPlayer = components.GetComponent<CApplicationPlayer>();
1417:   if (appPlayer->IsPlayingAudio())
1417:   {
1417:     if (m_bInvalidated)
1417:       FreeResources(true);
1417: 
1417:     if (!m_instance && !m_attemptedLoad)
1417:     {
1417:       InitVisualization();
1417: 
1417:       m_attemptedLoad = true;
1417:     }
1417:     else if (m_callStart && m_instance)
1417:     {
1417:       auto& context = CServiceBroker::GetWinSystem()->GetGfxContext();
1417: 
1417:       context.CaptureStateBlock();
1417:       if (m_alreadyStarted)
1417:       {
1417:         m_instance->Stop();
1417:         m_alreadyStarted = false;
1417:       }
1417: 
1417:       std::string songTitle = URIUtils::GetFileName((*(xbmcutil::GlobalsSingleton<CApplication>::getQuick())).CurrentFile());
1417:       const MUSIC_INFO::CMusicInfoTag* tag =
1417:           CServiceBroker::GetGUI()->GetInfoManager().GetCurrentSongTag();
1417:       if (tag && !tag->GetTitle().empty())
1417:         songTitle = tag->GetTitle();
1417:       m_alreadyStarted = m_instance->Start(m_channels, m_samplesPerSec, m_bitsPerSample, songTitle);
1417:       context.ApplyStateBlock();
1417:       m_callStart = false;
1417:       m_updateTrack = true;
1417:     }
1417:     else if (m_updateTrack)
1417:     {
1417: 
1417:       UpdateTrack();
1417:       m_updateTrack = false;
1417:     }
1417: 
1417:     if (m_instance && m_instance->IsDirty())
1417:       MarkDirtyRegion();
1417:   }
1417: 
1417:   CGUIControl::Process(currentTime, dirtyregions);
1417: }
1417: 
1417: void CGUIVisualisationControl::Render()
1417: {
1417:   if (m_instance && m_alreadyStarted)
1417:   {
1417:     auto& context = CServiceBroker::GetWinSystem()->GetGfxContext();
1417: 
1417: 
1417: 
1417: 
1417: 
1417: 
1417:     context.SetViewPort(m_posX, m_posY, m_width, m_height);
1417:     context.CaptureStateBlock();
1417:     m_instance->Render();
1417:     context.ApplyStateBlock();
1417:     context.RestoreViewPort();
1417:   }
1417: 
1417:   CGUIControl::Render();
1417: }
1417: 
1417: void CGUIVisualisationControl::UpdateVisibility(const CGUIListItem* item )
1417: {
1417: 
1417: 
1417:   CGUIControl::UpdateVisibility(item);
1417:   if (!IsVisible() && m_attemptedLoad)
1417:     FreeResources();
1417: }
1417: 
1417: bool CGUIVisualisationControl::CanFocusFromP_msgid1,
1115:    const char *__msgid2, unsigned long int __n)
1115:      noexcept (true) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
1115: 
1115: 
1115: 
1115: extern char *dcngettext (const char *__domainname, const char *__msgid1,
1115:     const char *__msgid2, unsigned long int __n,
1115:     int __category)
1115:      noexcept (true) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *textdomain (const char *__domainname) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char *bindtextdomain (const char *__domainname,
1115:         const char *__dirname) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char *bind_textdomain_codeset (const char *__domainname,
1115:           const char *__codeset) noexcept (true);
1115: # 121 "/usr/include/libintl.h" 3 4
1115: }
1115: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/messages_members.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _CharT>
1115:     messages<_CharT>::messages(size_t __refs)
1115:     : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
1115:       _M_name_messages(_S_get_c_name())
1115:     { }
1115: 
1115:   template<typename _CharT>
1115:     messages<_CharT>::messages(__c_locale __cloc, const char* __s,
1115:           size_t __refs)
1115:     : facet(__refs), _M_c_locale_messages(0), _M_name_messages(0)
1115:     {
1115:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
1115:  {
1115:    const size_t __len = __builtin_strlen(__s) + 1;
1115:    char* __tmp = new char[__len];
1115:    __builtin_memcpy(__tmp, __s, __len);
1115:    _M_name_messages = __tmp;
1115:  }
1115:       else
1115:  _M_name_messages = _S_get_c_name();
1115: 
1115: 
1115:       _M_c_locale_messages = _S_clone_c_locale(__cloc);
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     typename messages<_CharT>::catalog
1115:     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
1115:       const char* __dir) const
1115:     {
1115:       bindtextdomain(__s.c_str(), __dir);
1115:       return this->do_open(__s, __loc);
1115:     }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     messages<_CharT>::~messages()
1115:     {
1115:       if (_M_name_messages != _S_get_c_name())
1115:  delete [] _M_name_messages;
1115:       _S_destroy_c_locale(_M_c_locale_messages);
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     typename messages<_CharT>::catalog
1115:     messages<_CharT>::do_open(const basic_string<char>& __s,
1115:          const locale&) const
1115:     {
1115: 
1115: 
1115:       textdomain(__s.c_str());
1115:       return 0;
1115:     }
1115: 
1115:   template<typename _CharT>
1115:     void
1115:     messages<_CharT>::do_close(catalog) const
1115:     { }
1115: 
1115: 
1115:   template<typename _CharT>
1115:     messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
1115:     : messages<_CharT>(__refs)
1115:     {
1115:       if (this->_M_name_messages != locale::facet::_S_get_c_name())
1115:  {
1115:    delete [] this->_M_name_messages;
1115:    if (__builtin_strcmp(__s, locale::facet::_S_get_c_name()) != 0)
1115:      {
1115:        const size_t __len = __builtin_strlen(__s) + 1;
1115:        char* __tmp = new char[__len];
1115:        __builtin_memcpy(__tmp, __s, __len);
1115:        this->_M_name_messages = __tmp;
1115:      }
1115:    else
1115:      this->_M_name_messages = locale::facet::_S_get_c_name();
1115:  }
1115: 
1115:       if (__builtin_strcmp(__s, "C") != 0
1115:    && __builtin_strcmp(__s, "POSIX") != 0)
1115:  {
1115:    this->_S_destroy_c_locale(this->_M_c_locale_messages);
1115:    this->_S_create_c_locale(this->_M_c_locale_messages, __s);
1115:  }
1115:     }
1115: 
1115: 
1115:   template<>
1115:     typename messages<char>::catalog
1115:     messages<char>::do_open(const basic_string<char>&,
1115:        const locale&) const;
1115: 
1115:   template<>
1115:     void
1115:     mesomXml(const CXBMCTinyXML& xml);
1434: # 247 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1434:   bool LoadValuesFromXml(const CXBMCTinyXML& xml, bool& updated);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SaveValuesToXml(CXBMCTinyXML& xml) const;
1434: # 263 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1434:   bool LoadValuesFromXml(const TiXmlElement* root, bool& updated);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool LoadHiddenValuesFromXml(const TiXmlElement* root);
1434: 
1434:   bool m_initialized = false;
1434:   CSettingsManager* m_settingsManager;
1434:   mutable CCriticalSection m_critical;
1434: private:
1434:   CSettingsBase(const CSettingsBase&) = delete;
1434:   CSettingsBase& operator=(const CSettingsBase&) = delete;
1434: };
1434: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1434: 
1434: 
1434: 
1434: class CSettingList;
1434: class TiXmlNode;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettings : public CSettingsBase, public CSettingCreator, public CSettingControlCreator
1434:                 , private ISubSettings
1434: {
1434: public:
1434:   static constexpr auto SETTING_LOOKANDFEEL_SKIN = "lookandfeel.skin";
1434:   static constexpr auto SETTING_LOOKANDFEEL_SKINSETTINGS = "lookandfeel.skinsettings";
1434:   static constexpr auto SETTING_LOOKANDFEEL_SKINTHEME = "lookandfeel.skintheme";
1434:   static constexpr auto SETTING_LOOKANDFEEL_SKINCOLORS = "lookandfeel.skincolors";
1434:   static constexpr auto SETTING_LOOKANDFEEL_FONT = "lookandfeel.font";
1434:   static constexpr auto SETTING_LOOKANDFEEL_SKINZOOM = "lookandfeel.skinzoom";
1434:   static constexpr auto SETTING_LOOKANDFEEL_STARTUPACTION = "lookandfeel.startupaction";
1434:   static constexpr auto SETTING_LOOKANDFEEL_STARTUPWINDOW = "lookandfeel.startupwindow";
1434:   static constexpr auto SETTING_LOOKANDFEEL_SOUNDSKIN = "lookandfeel.soundskin";
1434:   static constexpr auto SETTING_LOOKANDFEEL_ENABLERSSFEEDS = "lookandfeel.enablerssfeeds";
1434:   static constexpr auto SETTING_LOOKANDFEEL_RSSEDIT = "lookandfeel.rssedit";
1434:   static constexpr auto SETTING_LOOKANDFEEL_STEREOSTRENGTH = "lookandfeel.stereostrength";
1434:   static constexpr auto SETTING_LOCALE_LANGUAGE = "locale.language";
1434:   static constexpr auto SETTING_LOCALE_COUNTRY = "locale.country";
1434:   static constexpr auto SETTING_LOCALE_CHARSET = "locale.charset";
1434:   static constexpr auto SETTING_LOCALE_KEYBOARDLAYOUTS = "locale.keyboardlayouts";
1434:   static constexpr auto SETTING_LOCALE_ACTIVEKEYBOARDLAYOUT = "locale.activekeyboardlayout";
1434:   static constexpr auto SETTING_LOCALE_TIMEZONECOUNTRY = "locale.timezonecountry";
1434:   static constexpr auto SETTING_LOCALE_TIMEZONE = "locale.timezone";
1434:   static constexpr auto SETTING_LOCALE_SHORTDATEFORMAT = "locale.shortdateformat";
1434:   static constexpr auto SETTING_LOCALE_LONGDATEFORMAT = "locale.longdateformat";
1434:   static constexpr auto SETTING_LOCALE_TIMEFORMAT = "locale.timeformat";
1434:   static constexpr auto SETTING_LOCALE_USE24HOURCLOCK = "locale.use24hourclock";
1434:   static constexpr auto SETTING_LOCALE_TEMPERATUREUNIT = "locale.temperatureunit";
1434:   static constexpr auto SETTING_LOCALE_SPEEDUNIT = "locale.speedunit";
1434:   static constexpr auto SETTING_FILELISTS_SHOWPARENTDIRITEMS = "filelists.showparentdiritems";
1434:   static constexpr auto SETTING_FILELISTS_SHOWEXTENSIONS = "filelists.showextensions";
1434:   static constexpr auto SETTING_FILELISTS_IGNORETHEWHENSORTING = "filelists.ignorethewhensorting";
1434:   static constexpr auto SETTING_FILELISTS_ALLOWFILEDELETION = "filelists.allowfiledeletion";
1434:   static constexpr auto SETTING_FILELISTS_SHOWADDSOURCEBUTTONS = "filelists.showaddsourcebuttons";
1434:   static constexpr auto SETTING_FILELISTS_SHOWHIDDEN = "filelists.showhidden";
1434:   static constexpr auto SETTING_SCREENSAVER_MODE = "screensaver.mode";
1434:   static constexpr auto SETTING_SCREENSAVER_SETTINGS = "screensaver.settings";
1434:   static constexpr aoint(const CPoint& point) const
1417: {
1417:   return IsVisible() && HitTest(point);
1417: }
1417: 
1417: void CGUIVisualisationControl::FreeResources(bool immediately)
1417: {
1417:   DeInitVisualization();
1417: 
1417:   CGUIControl::FreeResources(immediately);
1417: 
1417:   CLog::Log(0, "FreeVisualisation() done");
1417: }
1417: 
1417: void CGUIVisualisationControl::OnInitialize(int channels, int samplesPerSec, int bitsPerSample)
1417: {
1417:   m_channels = channels;
1417:   m_samplesPerSec = samplesPerSec;
1417:   m_bitsPerSample = bitsPerSample;
1417:   m_callStart = true;
1417: }
1417: 
1417: void CGUIVisualisationControl::OnAudioData(const float* audioData, unsigned int audioDataLength)
1417: {
1417:   if (!m_instance || !m_alreadyStarted || !audioData || audioDataLength == 0)
1417:     return;
1417: 
1417: 
1417:   std::unique_ptr<CAudioBuffer> pBuffer(new CAudioBuffer(audioDataLength));
1417:   pBuffer->Set(audioData, audioDataLength);
1417:   m_vecBuffers.emplace_back(std::move(pBuffer));
1417: 
1417:   if (m_vecBuffers.size() < m_numBuffers)
1417:     return;
1417: 
1417:   std::unique_ptr<CAudioBuffer> ptrAudioBuffer = std::move(m_vecBuffers.front());
1417:   m_vecBuffers.pop_front();
1417: 
1417: 
1417:   m_instance->AudioData(ptrAudioBuffer->Get(), ptrAudioBuffer->Size());
1417: }
1417: 
1417: void CGUIVisualisationControl::UpdateTrack()
1417: {
1417:   if (!m_instance || !m_alreadyStarted)
1417:     return;
1417: 
1417: 
1417:   m_albumThumb = CSpecialProtocol::TranslatePath(
1417:       CServiceBroker::GetGUI()->GetInfoManager().GetImage(210, 9999));
1417:   if (m_albumThumb == "DefaultAlbumCover.png")
1417:     m_albumThumb = "";
1417:   else
1417:     CLog::Log(0, "Updating visualization albumart: {}", m_albumThumb);
1417: 
1417:   m_instance->UpdateAlbumart(m_albumThumb.c_str());
1417: 
1417:   const MUSIC_INFO::CMusicInfoTag* tag =
1417:       CServiceBroker::GetGUI()->GetInfoManager().GetCurrentSongTag();
1417:   if (!tag)
1417:     return;
1417: 
1417:   const std::string artist(tag->GetArtistString());
1417:   const std::string albumArtist(tag->GetAlbumArtistString());
1417:   const std::string genre(StringUtils::Join(
1417:       tag->GetGenre(),
1417:       CServiceBroker::GetSettingsComponent()->GetAdvancedSettings()->m_musicItemSeparator));
1417: 
1417:   KODI_ADDON_VISUALIZATION_TRACK track = {};
1417:   track.title = tag->GetTitle().c_str();
1417:   track.artist = artist.c_str();
1417:   track.album = tag->GetAlbum().c_str();
1417:   track.albumArtist = albumArtist.c_str();
1417:   track.genre = genre.c_str();
1417:   track.comment = tag->GetComment().c_str();
1417:   track.lyrics = tag->GetLyrics().c_str();
1417:   track.trackNumber = tag->GetTrackNumber();
1417:   track.discNumber = tag->GetDiscNumber();
1417:   track.duration = tag->GetDuration();
1417:   track.year = tag->GetYear();
1417:   track.rating = tag->GetUserrating();
1417: 
1417:   m_instance->UpdateTrack(&track);
1417: }
1417: 
1417: bool CGUIVisualisationControl::IsLocked()
1417: {
1417:   if (m_instance && m_alreadyStarted)
1417:     return m_instance->IsLocked();
1417: 
1417:   return false;
1417: }
1417: 
1417: bool CGUIVisualisationControl::HasPresets()
1417: {
1417:   if (m_instance && m_alreadyStarted)
1417:     return m_instance->HasPresets();
1417: 
1417:   return false;
1417: }
1417: 
1417: int CGUIVisualisationControl::GetActivePreset()
1417: {
1417:   if (m_instance && m_alreadyStarted)
1417:     return m_instance->GetActivePreset();
1417: 
1417:   return -1;
1417: }
1417: 
1417: void CGUIVisualisationControl::SetPreset(int idx)
1417: {
1417:   if (m_instance && m_alreadyStarted)
1417:     m_instance->LoadPreset(idx);
1417: }
1417: 
1417: std::string CGUIVisualisationControl::GetActivePresetName()
1417: {
1417:   if (m_instance && m_alreadyStarted)
1417:     return m_instance->GetActivePresetName();
1417: 
1417:   return "";
1417: }
1417: 
1417: bool CGUIVisualisationControl::GetPresetList(std::vector<std::string>& vecpresets)
1417: {
1417:   if (m_instance && m_alreadyStarted)
1417:     return m_instance->GetPreuto SETTING_SCREENSAVER_PREVIEW = "screensaver.preview";
1434:   static constexpr auto SETTING_SCREENSAVER_TIME = "screensaver.time";
1434:   static constexpr auto SETTING_SCREENSAVER_USEMUSICVISINSTEAD = "screensaver.usemusicvisinstead";
1434:   static constexpr auto SETTING_SCREENSAVER_USEDIMONPAUSE = "screensaver.usedimonpause";
1434:   static constexpr auto SETTING_WINDOW_WIDTH = "window.width";
1434:   static constexpr auto SETTING_WINDOW_HEIGHT = "window.height";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWUNWATCHEDPLOTS = "videolibrary.showunwatchedplots";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_ACTORTHUMBS = "videolibrary.actorthumbs";
1434:   static constexpr auto SETTING_MYVIDEOS_FLATTEN = "myvideos.flatten";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_FLATTENTVSHOWS = "videolibrary.flattentvshows";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWSSELECTFIRSTUNWATCHEDITEM =
1434:       "videolibrary.tvshowsselectfirstunwatcheditem";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWSINCLUDEALLSEASONSANDSPECIALS =
1434:       "videolibrary.tvshowsincludeallseasonsandspecials";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWALLITEMS = "videolibrary.showallitems";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_GROUPMOVIESETS = "videolibrary.groupmoviesets";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_GROUPSINGLEITEMSETS =
1434:       "videolibrary.groupsingleitemsets";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_UPDATEONSTARTUP = "videolibrary.updateonstartup";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_BACKGROUNDUPDATE = "videolibrary.backgroundupdate";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_CLEANUP = "videolibrary.cleanup";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_EXPORT = "videolibrary.export";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_IMPORT = "videolibrary.import";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWEMPTYTVSHOWS = "videolibrary.showemptytvshows";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_MOVIESETSFOLDER = "videolibrary.moviesetsfolder";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_ARTWORK_LEVEL = "videolibrary.artworklevel";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_MOVIEART_WHITELIST = "videolibrary.movieartwhitelist";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWART_WHITELIST =
1434:       "videolibrary.tvshowartwhitelist";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_EPISODEART_WHITELIST =
1434:       "videolibrary.episodeartwhitelist";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_MUSICVIDEOART_WHITELIST =
1434:       "videolibrary.musicvideoartwhitelist";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_ARTSETTINGS_UPDATED =
1434:       "videolibrary.artsettingsupdated";
1434:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWPERFORMERS =
1434:       "videolibrary.musicvideosallperformers";
1434:   static constexpr auto SETTING_LOCALE_AUDIOLANGUAGE = "locale.audiolanguage";
1434:   static constexpr auto SETTING_VIDEOPLAYER_PREFERDEFAULTFLAG = "videoplayer.preferdefaultflag";
1434:   static constexpr auto SETTING_VIDEOPLAYER_AUTOPLAYNEXTITEM = "videoplayer.autoplaynextitem";
1434:   static constexpr auto SETTING_VIDEOPLAYER_SEEKSTEPS = "videoplayer.seeksteps";
1434:   static constexpr auto SETTING_VIDEOPLAYER_SEEKDELAY = "videoplayer.seekdelay";
1434:   static constexpr auto SETTING_VIDEOPLAYER_ADJUSTREFRESHRATE = "videoplayer.adjustrefreshrate";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEDISPLAYASCLOCK = "videoplayer.usedisplayasclock";
1434:   static constexpr auto SETTING_VIDEOPLAYER_ERRORINASPECT = "videoplayer.errorinaspect";
1434:   static constexpr auto SETTING_VIDEOPLAYER_STRETCH43 = "videoplayer.stretch43";
1434:   static constexpr auto SETTING_VIDEOPLAYER_TELETEXTENABLED = "videoplayer.teletextenabled";
1434:   static constexpr auto SETTING_VIDEOPLAYER_TELETEXTSCALE = "videoplayer.teletextscale";
1434:   static constexpr auto SETTING_VIDEOPLAYER_STEREOSCOPICPLAYBACKMODE =
1434:       "videoplayer.stereoscopicplsages<char>::do_close(catalog) const;
1115: 
1115: 
1115:   template<>
1115:     typename messages<wchar_t>::catalog
1115:     messages<wchar_t>::do_open(const basic_string<char>&,
1115:           const locale&) const;
1115: 
1115:   template<>
1115:     void
1115:     messages<wchar_t>::do_close(catalog) const;
1115: 
1115: 
1115: 
1115: }
1115: # 2065 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/codecvt.h" 1 3
1115: # 39 "/usr/include/c++/12/bits/codecvt.h" 3
1115:        
1115: # 40 "/usr/include/c++/12/bits/codecvt.h" 3
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   class codecvt_base
1115:   {
1115:   public:
1115:     enum result
1115:     {
1115:       ok,
1115:       partial,
1115:       error,
1115:       noconv
1115:     };
1115:   };
1115: # 70 "/usr/include/c++/12/bits/codecvt.h" 3
1115:   template<typename _InternT, typename _ExternT, typename _StateT>
1115:     class __codecvt_abstract_base
1115:     : public locale::facet, public codecvt_base
1115:     {
1115:     public:
1115: 
1115:       typedef codecvt_base::result result;
1115:       typedef _InternT intern_type;
1115:       typedef _ExternT extern_type;
1115:       typedef _StateT state_type;
1115: # 118 "/usr/include/c++/12/bits/codecvt.h" 3
1115:       result
1115:       out(state_type& __state, const intern_type* __from,
1115:    const intern_type* __from_end, const intern_type*& __from_next,
1115:    extern_type* __to, extern_type* __to_end,
1115:    extern_type*& __to_next) const
1115:       {
1115:  return this->do_out(__state, __from, __from_end, __from_next,
1115:        __to, __to_end, __to_next);
1115:       }
1115: # 157 "/usr/include/c++/12/bits/codecvt.h" 3
1115:       result
1115:       unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
1115:        extern_type*& __to_next) const
1115:       { return this->do_unshift(__state, __to,__to_end,__to_next); }
1115: # 198 "/usr/include/c++/12/bits/codecvt.h" 3
1115:       result
1115:       in(state_type& __state, const extern_type* __from,
1115:   const extern_type* __from_end, const extern_type*& __from_next,
1115:   intern_type* __to, intern_type* __to_end,
1115:   intern_type*& __to_next) const
1115:       {
1115:  return this->do_in(__state, __from, __from_end, __from_next,
1115:       __to, __to_end, __to_next);
1115:       }
1115: 
1115:       int
1115:       encoding() const throw()
1115:       { return this->do_encoding(); }
1115: 
1115:       bool
1115:       always_noconv() const throw()
1115:       { return this->do_always_noconv(); }
1115: 
1115:       int
1115:       length(state_type& __state, const extern_type* __from,
1115:       const extern_type* __end, size_t __max) const
1115:       { return this->do_length(__state, __from, __end, __max); }
1115: 
1115:       int
1115:       max_length() const throw()
1115:       { return this->do_max_length(); }
1115: 
1115:     protected:
1115:       explicit
1115:       __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
1115: 
1115:       virtual
1115:       ~__codecvt_abstract_base() { }
1115: # 239 "/usr/include/c++/12/bits/codecvt.h" 3
1115:       virtual result
1115:       do_out(state_type& __state, const intern_type* __from,
1115:       const intern_type* __from_end, const intern_type*& __from_next,
1115:       extern_type* __to, extern_type* __to_end,
1115:       extern_type*& __to_next) const = 0;
1115: 
1115:       virtual result
1115:       do_unshift(state_type& __state, extern_type* __to,
1115:    extern_type* __to_end, extern_type*& __to_next) const = 0;
1115: 
1115:       virtual result
1115:       do_in(state_type& __state, const extern_type* __from,
1115:      const extern_type* __from_end, const extern_type*& __from_next,
1115:      intern_type* __to, intern_type* __to_end,
1115:      intern_type*& __to_next) const = 0;
1115: 
1115:       virtual int
1115:       do_encoding() const throw() = 0;
1115: 
1115:       virtual bool
1115:       do_aaybackmode";
1434:   static constexpr auto SETTING_VIDEOPLAYER_QUITSTEREOMODEONSTOP =
1434:       "videoplayer.quitstereomodeonstop";
1434:   static constexpr auto SETTING_VIDEOPLAYER_RENDERMETHOD = "videoplayer.rendermethod";
1434:   static constexpr auto SETTING_VIDEOPLAYER_HQSCALERS = "videoplayer.hqscalers";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEMEDIACODEC = "videoplayer.usemediacodec";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEMEDIACODECSURFACE =
1434:       "videoplayer.usemediacodecsurface";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAU = "videoplayer.usevdpau";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMIXER = "videoplayer.usevdpaumixer";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMPEG2 = "videoplayer.usevdpaumpeg2";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMPEG4 = "videoplayer.usevdpaumpeg4";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUVC1 = "videoplayer.usevdpauvc1";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEDXVA2 = "videoplayer.usedxva2";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEVTB = "videoplayer.usevtb";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USEPRIMEDECODER = "videoplayer.useprimedecoder";
1434:   static constexpr auto SETTING_VIDEOPLAYER_USESTAGEFRIGHT = "videoplayer.usestagefright";
1434:   static constexpr auto SETTING_VIDEOPLAYER_LIMITGUIUPDATE = "videoplayer.limitguiupdate";
1434:   static constexpr auto SETTING_VIDEOPLAYER_SUPPORTMVC = "videoplayer.supportmvc";
1434:   static constexpr auto SETTING_MYVIDEOS_SELECTACTION = "myvideos.selectaction";
1434:   static constexpr auto SETTING_MYVIDEOS_USETAGS = "myvideos.usetags";
1434:   static constexpr auto SETTING_MYVIDEOS_EXTRACTFLAGS = "myvideos.extractflags";
1434:   static constexpr auto SETTING_MYVIDEOS_EXTRACTCHAPTERTHUMBS = "myvideos.extractchapterthumbs";
1434:   static constexpr auto SETTING_MYVIDEOS_REPLACELABELS = "myvideos.replacelabels";
1434:   static constexpr auto SETTING_MYVIDEOS_EXTRACTTHUMB = "myvideos.extractthumb";
1434:   static constexpr auto SETTING_MYVIDEOS_STACKVIDEOS = "myvideos.stackvideos";
1434:   static constexpr auto SETTING_LOCALE_SUBTITLELANGUAGE = "locale.subtitlelanguage";
1434:   static constexpr auto SETTING_SUBTITLES_PARSECAPTIONS = "subtitles.parsecaptions";
1434:   static constexpr auto SETTING_SUBTITLES_CAPTIONSALIGN = "subtitles.captionsalign";
1434:   static constexpr auto SETTING_SUBTITLES_ALIGN = "subtitles.align";
1434:   static constexpr auto SETTING_SUBTITLES_STEREOSCOPICDEPTH = "subtitles.stereoscopicdepth";
1434:   static constexpr auto SETTING_SUBTITLES_FONTNAME = "subtitles.fontname";
1434:   static constexpr auto SETTING_SUBTITLES_FONTSIZE = "subtitles.fontsize";
1434:   static constexpr auto SETTING_SUBTITLES_STYLE = "subtitles.style";
1434:   static constexpr auto SETTING_SUBTITLES_COLOR = "subtitles.colorpick";
1434:   static constexpr auto SETTING_SUBTITLES_BORDERSIZE = "subtitles.bordersize";
1434:   static constexpr auto SETTING_SUBTITLES_BORDERCOLOR = "subtitles.bordercolorpick";
1434:   static constexpr auto SETTING_SUBTITLES_OPACITY = "subtitles.opacity";
1434:   static constexpr auto SETTING_SUBTITLES_BLUR = "subtitles.blur";
1434:   static constexpr auto SETTING_SUBTITLES_BACKGROUNDTYPE = "subtitles.backgroundtype";
1434:   static constexpr auto SETTING_SUBTITLES_SHADOWCOLOR = "subtitles.shadowcolor";
1434:   static constexpr auto SETTING_SUBTITLES_SHADOWOPACITY = "subtitles.shadowopacity";
1434:   static constexpr auto SETTING_SUBTITLES_SHADOWSIZE = "subtitles.shadowsize";
1434:   static constexpr auto SETTING_SUBTITLES_BGCOLOR = "subtitles.bgcolorpick";
1434:   static constexpr auto SETTING_SUBTITLES_BGOPACITY = "subtitles.bgopacity";
1434:   static constexpr auto SETTING_SUBTITLES_MARGINVERTICAL = "subtitles.marginvertical";
1434:   static constexpr auto SETTING_SUBTITLES_CHARSET = "subtitles.charset";
1434:   static constexpr auto SETTING_SUBTITLES_OVERRIDEFONTS = "subtitles.overridefonts";
1434:   static constexpr auto SETTING_SUBTITLES_OVERRIDESTYLES = "setList(vecpresets);
1417: 
1417:   return false;
1417: }
1417: 
1417: bool CGUIVisualisationControl::InitVisualization()
1417: {
1417:   IAE* ae = CServiceBroker::GetActiveAE();
1417:   CWinSystemBase* const winSystem = CServiceBroker::GetWinSystem();
1417:   if (!ae || !winSystem)
1417:     return false;
1417: 
1417:   const std::string addon = CServiceBroker::GetSettingsComponent()->GetSettings()->GetString(
1417:       CSettings::SETTING_MUSICPLAYER_VISUALISATION);
1417:   const ADDON::AddonInfoPtr addonBase =
1417:       CServiceBroker::GetAddonMgr().GetAddonInfo(addon, ADDON::AddonType::VISUALIZATION);
1417:   if (!addonBase)
1417:     return false;
1417: 
1417:   ae->RegisterAudioCallback(this);
1417: 
1417:   auto& context = winSystem->GetGfxContext();
1417: 
1417:   context.CaptureStateBlock();
1417: 
1417:   float x = context.ScaleFinalXCoord(GetXPosition(), GetYPosition());
1417:   float y = context.ScaleFinalYCoord(GetXPosition(), GetYPosition());
1417:   float w = context.ScaleFinalXCoord(GetXPosition() + GetWidth(), GetYPosition() + GetHeight()) - x;
1417:   float h = context.ScaleFinalYCoord(GetXPosition() + GetWidth(), GetYPosition() + GetHeight()) - y;
1417:   if (x < 0)
1417:     x = 0;
1417:   if (y < 0)
1417:     y = 0;
1417:   if (x + w > context.GetWidth())
1417:     w = context.GetWidth() - x;
1417:   if (y + h > context.GetHeight())
1417:     h = context.GetHeight() - y;
1417: 
1417:   m_instance.reset(new KODI::ADDONS::CVisualization(addonBase, x, y, w, h));
1417:   CreateBuffers();
1417: 
1417:   m_alreadyStarted = false;
1417:   context.ApplyStateBlock();
1417:   return true;
1417: }
1417: 
1417: void CGUIVisualisationControl::DeInitVisualization()
1417: {
1417:   if (!m_attemptedLoad)
1417:     return;
1417: 
1417:   CWinSystemBase* const winSystem = CServiceBroker::GetWinSystem();
1417:   if (!winSystem)
1417:     return;
1417: 
1417:   IAE* ae = CServiceBroker::GetActiveAE();
1417:   if (ae)
1417:     ae->UnregisterAudioCallback(this);
1417: 
1417:   m_attemptedLoad = false;
1417: 
1417:   CGUIMessage msg(GUI_MSG_VISUALISATION_UNLOADING, m_controlID, 0);
1417:   CServiceBroker::GetGUI()->GetWindowManager().SendMessage(msg);
1417: 
1417:   CLog::Log(0, "FreeVisualisation() started");
1417: 
1417:   if (m_instance)
1417:   {
1417:     if (m_alreadyStarted)
1417:     {
1417:       auto& context = winSystem->GetGfxContext();
1417: 
1417:       context.CaptureStateBlock();
1417:       m_instance->Stop();
1417:       context.ApplyStateBlock();
1417:       m_alreadyStarted = false;
1417:     }
1417: 
1417:     m_instance.reset();
1417:   }
1417: 
1417:   ClearBuffers();
1417: }
1417: 
1417: void CGUIVisualisationControl::CreateBuffers()
1417: {
1417:   ClearBuffers();
1417: 
1417:   m_numBuffers = 1;
1417:   if (m_instance)
1417:     m_numBuffers += m_instance->GetSyncDelay();
1417:   if (m_numBuffers > MAX_AUDIO_BUFFERS)
1417:     m_numBuffers = MAX_AUDIO_BUFFERS;
1417:   if (m_numBuffers < 1)
1417:     m_numBuffers = 1;
1417: }
1417: 
1417: void CGUIVisualisationControl::ClearBuffers()
1417: {
1417:   m_numBuffers = 0;
1417:   m_vecBuffers.clear();
1417: }
subtitles.overridestyles";
1434:   static constexpr auto SETTING_SUBTITLES_LANGUAGES = "subtitles.languages";
1434:   static constexpr auto SETTING_SUBTITLES_STORAGEMODE = "subtitles.storagemode";
1434:   static constexpr auto SETTING_SUBTITLES_CUSTOMPATH = "subtitles.custompath";
1434:   static constexpr auto SETTING_SUBTITLES_PAUSEONSEARCH = "subtitles.pauseonsearch";
1434:   static constexpr auto SETTING_SUBTITLES_DOWNLOADFIRST = "subtitles.downloadfirst";
1434:   static constexpr auto SETTING_SUBTITLES_TV = "subtitles.tv";
1434:   static constexpr auto SETTING_SUBTITLES_MOVIE = "subtitles.movie";
1434:   static constexpr auto SETTING_DVDS_AUTORUN = "dvds.autorun";
1434:   static constexpr auto SETTING_DVDS_PLAYERREGION = "dvds.playerregion";
1434:   static constexpr auto SETTING_DVDS_AUTOMENU = "dvds.automenu";
1434:   static constexpr auto SETTING_DISC_PLAYBACK = "disc.playback";
1434:   static constexpr auto SETTING_BLURAY_PLAYERREGION = "bluray.playerregion";
1434:   static constexpr auto SETTING_ACCESSIBILITY_AUDIOVISUAL = "accessibility.audiovisual";
1434:   static constexpr auto SETTING_ACCESSIBILITY_AUDIOHEARING = "accessibility.audiohearing";
1434:   static constexpr auto SETTING_ACCESSIBILITY_SUBHEARING = "accessibility.subhearing";
1434:   static constexpr auto SETTING_SCRAPERS_MOVIESDEFAULT = "scrapers.moviesdefault";
1434:   static constexpr auto SETTING_SCRAPERS_TVSHOWSDEFAULT = "scrapers.tvshowsdefault";
1434:   static constexpr auto SETTING_SCRAPERS_MUSICVIDEOSDEFAULT = "scrapers.musicvideosdefault";
1434:   static constexpr auto SETTING_PVRMANAGER_PRESELECTPLAYINGCHANNEL =
1434:       "pvrmanager.preselectplayingchannel";
1434:   static constexpr auto SETTING_PVRMANAGER_SYNCCHANNELGROUPS = "pvrmanager.syncchannelgroups";
1434:   static constexpr auto SETTING_PVRMANAGER_BACKENDCHANNELORDER = "pvrmanager.backendchannelorder";
1434:   static constexpr auto SETTING_PVRMANAGER_USEBACKENDCHANNELNUMBERS =
1434:       "pvrmanager.usebackendchannelnumbers";
1434:   static constexpr auto SETTING_PVRMANAGER_USEBACKENDCHANNELNUMBERSALWAYS =
1434:       "pvrmanager.usebackendchannelnumbersalways";
1434:   static constexpr auto SETTING_PVRMANAGER_STARTGROUPCHANNELNUMBERSFROMONE =
1434:       "pvrmanager.startgroupchannelnumbersfromone";
1434:   static constexpr auto SETTING_PVRMANAGER_CLIENTPRIORITIES = "pvrmanager.clientpriorities";
1434:   static constexpr auto SETTING_PVRMANAGER_CHANNELMANAGER = "pvrmanager.channelmanager";
1434:   static constexpr auto SETTING_PVRMANAGER_GROUPMANAGER = "pvrmanager.groupmanager";
1434:   static constexpr auto SETTING_PVRMANAGER_CHANNELSCAN = "pvrmanager.channelscan";
1434:   static constexpr auto SETTING_PVRMANAGER_RESETDB = "pvrmanager.resetdb";
1434:   static constexpr auto SETTING_PVRMANAGER_ADDONS = "pvrmanager.addons";
1434:   static constexpr auto SETTING_PVRMENU_DISPLAYCHANNELINFO = "pvrmenu.displaychannelinfo";
1434:   static constexpr auto SETTING_PVRMENU_CLOSECHANNELOSDONSWITCH = "pvrmenu.closechannelosdonswitch";
1434:   static constexpr auto SETTING_PVRMENU_ICONPATH = "pvrmenu.iconpath";
1434:   static constexpr auto SETTING_PVRMENU_SEARCHICONS = "pvrmenu.searchicons";
1434:   static constexpr auto SETTING_EPG_PAST_DAYSTODISPLAY = "epg.pastdaystodisplay";
1434:   static constexpr auto SETTING_EPG_FUTURE_DAYSTODISPLAY = "epg.futuredaystodisplay";
1434:   static constexpr auto SETTING_EPG_SELECTACTION = "epg.selectaction";
1434:   static constexpr auto SETTING_EPG_HIDENOINFOAVAILABLE = "epg.hidenoinfoavailable";
1434:   static constexpr auto SETTING_EPG_EPGUPDATE = "epg.epgupdate";
1434:   static constexpr auto SETTING_EPG_PREVENTUPDATESWHILEPLAYINGTV =
1434:       "epg.preventupdateswhileplayingtv";
1434:   static constexpr auto SETTING_EPG_RESETEPG = "epg.resetepg";
1434:   static constexpr auto SETTING_PVRPLAYBACK_SWITCHTOFULLSCREENCHANNELTYPES =
1434:       "pvrplayback.switchtofullscreenchanneltypes";
1434:   static constexpr auto SETTING_PVRPLAYBACK_SIGNALQUALITY = "pvrplayback.signalquality";
1434:   static constexpr auto SETTING_PVRPLAYBACK_CONFIRMCHANNELSWITCH=== END GCC DUMP ===
lways_noconv() const throw() = 0;
1115: 
1115:       virtual int
1115:       do_length(state_type&, const extern_type* __from,
1115:   const extern_type* __end, size_t __max) const = 0;
1115: 
1115:       virtual int
1115:       do_max_length() const throw() = 0;
1115:     };
1115: # 276 "/usr/include/c++/12/bits/codecvt.h" 3
1115:    template<typename _InternT, typename _ExternT, typename _StateT>
1115:     class codecvt
1115:     : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
1115:     {
1115:     public:
1115: 
1115:       typedef codecvt_base::result result;
1115:       typedef _InternT intern_type;
1115:       typedef _ExternT extern_type;
1115:       typedef _StateT state_type;
1115: 
1115:     protected:
1115:       __c_locale _M_c_locale_codecvt;
1115: 
1115:     public:
1115:       static locale::id id;
1115: 
1115:       explicit
1115:       codecvt(size_t __refs = 0)
1115:       : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs),
1115:  _M_c_locale_codecvt(0)
1115:       { }
1115: 
1115:       explicit
1115:       codecvt(__c_locale __cloc, size_t __refs = 0);
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt() { }
1115: 
1115:       virtual result
1115:       do_out(state_type& __state, const intern_type* __from,
1115:       const intern_type* __from_end, const intern_type*& __from_next,
1115:       extern_type* __to, extern_type* __to_end,
1115:       extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_unshift(state_type& __state, extern_type* __to,
1115:    extern_type* __to_end, extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_in(state_type& __state, const extern_type* __from,
1115:      const extern_type* __from_end, const extern_type*& __from_next,
1115:      intern_type* __to, intern_type* __to_end,
1115:      intern_type*& __to_next) const;
1115: 
1115:       virtual int
1115:       do_encoding() const throw();
1115: 
1115:       virtual bool
1115:       do_always_noconv() const throw();
1115: 
1115:       virtual int
1115:       do_length(state_type&, const extern_type* __from,
1115:   const extern_type* __end, size_t __max) const;
1115: 
1115:       virtual int
1115:       do_max_length() const throw();
1115:     };
1115: 
1115:   template<typename _InternT, typename _ExternT, typename _StateT>
1115:     locale::id codecvt<_InternT, _ExternT, _StateT>::id;
1115: 
1115: 
1115:   template<>
1115:     class codecvt<char, char, mbstate_t>
1115:     : public __codecvt_abstract_base<char, char, mbstate_t>
1115:     {
1115:       friend class messages<char>;
1115: 
1115:     public:
1115: 
1115:       typedef char intern_type;
1115:       typedef char extern_type;
1115:       typedef mbstate_t state_type;
1115: 
1115:     protected:
1115:       __c_locale _M_c_locale_codecvt;
1115: 
1115:     public:
1115:       static locale::id id;
1115: 
1115:       explicit
1115:       codecvt(size_t __refs = 0);
1115: 
1115:       explicit
1115:       codecvt(__c_locale __cloc, size_t __refs = 0);
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt();
1115: 
1115:       virtual result
1115:       do_out(state_type& __state, const intern_type* __from,
1115:       const intern_type* __from_end, const intern_type*& __from_next,
1115:       extern_type* __to, extern_type* __to_end,
1115:       extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_unshift(state_type& __state, extern_type* __to,
1115:    extern_type* __to_end, extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_in(state_type& __state, const extern_type* __from,
1115:      const extern_type* __from_end, const extern_type*& __from_next,
1115:      intern_type* __to, intern_type* __to_end,
1115:      intern_type*& __to_next) const;
1115: 
1115:       virtual int
1115:       do_encoding() const throw();
1115: 
1115:       virtual bool
1115:       do_always_noconv() const throw();
1115: 
1115:       virtual int
1115:       do_length(state_type&, const extern_type* __from,
1115:   const                            );
1412:       else
1412:         {
1412:           const _Tp __c0 = _Tp(1) / _Tp(4);
1412:           const _Tp __c1 = _Tp(3) / _Tp(14);
1412:           const _Tp __c2 = _Tp(1) / _Tp(6);
1412:           const _Tp __c3 = _Tp(9) / _Tp(22);
1412:           const _Tp __c4 = _Tp(3) / _Tp(26);
1412: 
1412:           _Tp __xn = __x;
1412:           _Tp __yn = __y;
1412:           _Tp __zn = __z;
1412:           _Tp __sigma = _Tp(0);
1412:           _Tp __power4 = _Tp(1);
1412: 
1412:           _Tp __mu;
1412:           _Tp __xndev, __yndev, __zndev;
1412: 
1412:           const unsigned int __max_iter = 100;
1412:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1412:             {
1412:               __mu = (__xn + __yn + _Tp(3) * __zn) / _Tp(5);
1412:               __xndev = (__mu - __xn) / __mu;
1412:               __yndev = (__mu - __yn) / __mu;
1412:               __zndev = (__mu - __zn) / __mu;
1412:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1412:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1412:               if (__epsilon < __errtol)
1412:                 break;
1412:               _Tp __xnroot = std::sqrt(__xn);
1412:               _Tp __ynroot = std::sqrt(__yn);
1412:               _Tp __znroot = std::sqrt(__zn);
1412:               _Tp __lambda = __xnroot * (__ynroot + __znroot)
1412:                            + __ynroot * __znroot;
1412:               __sigma += __power4 / (__znroot * (__zn + __lambda));
1412:               __power4 *= __c0;
1412:               __xn = __c0 * (__xn + __lambda);
1412:               __yn = __c0 * (__yn + __lambda);
1412:               __zn = __c0 * (__zn + __lambda);
1412:             }
1412: 
1412:           _Tp __ea = __xndev * __yndev;
1412:           _Tp __eb = __zndev * __zndev;
1412:           _Tp __ec = __ea - __eb;
1412:           _Tp __ed = __ea - _Tp(6) * __eb;
1412:           _Tp __ef = __ed + __ec + __ec;
1412:           _Tp __s1 = __ed * (-__c1 + __c3 * __ed
1412:                                    / _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
1412:                                    / _Tp(2));
1412:           _Tp __s2 = __zndev
1412:                    * (__c2 * __ef
1412:                     + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea));
1412: 
1412:           return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
1412:                                         / (__mu * std::sqrt(__mu));
1412:         }
1412:     }
1412: # 399 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __comp_ellint_2(_Tp __k)
1412:     {
1412: 
1412:       if (__isnan(__k))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (std::abs(__k) == 1)
1412:         return _Tp(1);
1412:       else if (std::abs(__k) > _Tp(1))
1412:         std::__throw_domain_error(("Bad argument in __comp_ellint_2."));
1412:       else
1412:         {
1412:           const _Tp __kk = __k * __k;
1412: 
1412:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1412:                - __kk * __ellint_rd(_Tp(0), _Tp(1) - __kk, _Tp(1)) / _Tp(3);
1412:         }
1412:     }
1412: # 433 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __ellint_2(_Tp __k, _Tp __phi)
1412:     {
1412: 
1412:       if (__isnan(__k) || __isnan(__phi))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (std::abs(__k) > _Tp(1))
1412:         std::__throw_domain_error(("Bad argument in __ellint_2."));
1412:       else
1412:         {
1412: 
1412:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1412:                                    + _Tp(0.5L));
1412:           const _Tp __phi_red = __phi
1412:                               - __n * __numeric_constants<_Tp>::__pi();
1412: 
1412:           const _Tp __kk = __k * __k;
1412:           const _Tp __s = std::sin(__phi_red);
1412:           const _Tp __ss = __s * __s;
1412:           const _Tp __ss =
1434:       "pvrplayback.confirmchannelswitch";
1434:   static constexpr auto SETTING_PVRPLAYBACK_CHANNELENTRYTIMEOUT = "pvrplayback.channelentrytimeout";
1434:   static constexpr auto SETTING_PVRPLAYBACK_DELAYMARKLASTWATCHED =
1434:       "pvrplayback.delaymarklastwatched";
1434:   static constexpr auto SETTING_PVRPLAYBACK_FPS = "pvrplayback.fps";
1434:   static constexpr auto SETTING_PVRRECORD_INSTANTRECORDACTION = "pvrrecord.instantrecordaction";
1434:   static constexpr auto SETTING_PVRRECORD_INSTANTRECORDTIME = "pvrrecord.instantrecordtime";
1434:   static constexpr auto SETTING_PVRRECORD_MARGINSTART = "pvrrecord.marginstart";
1434:   static constexpr auto SETTING_PVRRECORD_MARGINEND = "pvrrecord.marginend";
1434:   static constexpr auto SETTING_PVRRECORD_TIMERNOTIFICATIONS = "pvrrecord.timernotifications";
1434:   static constexpr auto SETTING_PVRRECORD_GROUPRECORDINGS = "pvrrecord.grouprecordings";
1434:   static constexpr auto SETTING_PVRREMINDERS_AUTOCLOSEDELAY = "pvrreminders.autoclosedelay";
1434:   static constexpr auto SETTING_PVRREMINDERS_AUTORECORD = "pvrreminders.autorecord";
1434:   static constexpr auto SETTING_PVRREMINDERS_AUTOSWITCH = "pvrreminders.autoswitch";
1434:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_ENABLED = "pvrpowermanagement.enabled";
1434:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_BACKENDIDLETIME =
1434:       "pvrpowermanagement.backendidletime";
1434:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_SETWAKEUPCMD = "pvrpowermanagement.setwakeupcmd";
1434:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_PREWAKEUP = "pvrpowermanagement.prewakeup";
1434:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_DAILYWAKEUP = "pvrpowermanagement.dailywakeup";
1434:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_DAILYWAKEUPTIME =
1434:       "pvrpowermanagement.dailywakeuptime";
1434:   static constexpr auto SETTING_PVRPARENTAL_ENABLED = "pvrparental.enabled";
1434:   static constexpr auto SETTING_PVRPARENTAL_PIN = "pvrparental.pin";
1434:   static constexpr auto SETTING_PVRPARENTAL_DURATION = "pvrparental.duration";
1434:   static constexpr auto SETTING_PVRCLIENT_MENUHOOK = "pvrclient.menuhook";
1434:   static constexpr auto SETTING_PVRTIMERS_HIDEDISABLEDTIMERS = "pvrtimers.hidedisabledtimers";
1434:   static constexpr auto SETTING_MUSICLIBRARY_SHOWCOMPILATIONARTISTS =
1434:       "musiclibrary.showcompilationartists";
1434:   static constexpr auto SETTING_MUSICLIBRARY_SHOWDISCS = "musiclibrary.showdiscs";
1434:   static constexpr auto SETTING_MUSICLIBRARY_USEORIGINALDATE = "musiclibrary.useoriginaldate";
1434:   static constexpr auto SETTING_MUSICLIBRARY_USEARTISTSORTNAME = "musiclibrary.useartistsortname";
1434:   static constexpr auto SETTING_MUSICLIBRARY_DOWNLOADINFO = "musiclibrary.downloadinfo";
1434:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTSFOLDER = "musiclibrary.artistsfolder";
1434:   static constexpr auto SETTING_MUSICLIBRARY_PREFERONLINEALBUMART =
1434:       "musiclibrary.preferonlinealbumart";
1434:   static constexpr auto SETTING_MUSICLIBRARY_ARTWORKLEVEL = "musiclibrary.artworklevel";
1434:   static constexpr auto SETTING_MUSICLIBRARY_USEALLLOCALART = "musiclibrary.usealllocalart";
1434:   static constexpr auto SETTING_MUSICLIBRARY_USEALLREMOTEART = "musiclibrary.useallremoteart";
1434:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTART_WHITELIST =
1434:       "musiclibrary.artistartwhitelist";
1434:   static constexpr auto SETTING_MUSICLIBRARY_ALBUMART_WHITELIST = "musiclibrary.albumartwhitelist";
1434:   static constexpr auto SETTING_MUSICLIBRARY_MUSICTHUMBS = "musiclibrary.musicthumbs";
1434:   static constexpr auto SETTING_MUSICLIBRARY_ARTSETTINGS_UPDATED = "musiclibrary.artsettings";
1434:   static constexpr auto SETTING_MUSICLIBRARY_ALBUMSSCRAPER = "musiclibrary.albumsscraper";
1434:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTSSCRAPER = "musiclibrary.artistsscraper";
1434:   static constexpr auto SETTING_MUSICLIBRARY_OVERRIDETAGS = "musiclibrary.overridetags";
1434:   static constexpr auto SETTING_MUSICLIBRARY_SHOWALLITEMS = "musiclibrary.showallitems";
1434:   static constexpr auto SETTING_MUSICLIBRARY_UPDATEONSTARTUP = "musiclibrary.updateonstartup";
1434:   static constexpr auto SETTING_MUSICLIBRARY_BACKGROUNDUPDATE = "musiclibrary.backgroundupdate";
1434:   static constexpr auto SETTING_MUSICLIBRARY_CLEANUP = "musiclibrary.cleanup";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT = "musiclibrary.export";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_FILETYPE = "musiclibrary.exportfiletype";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_FOLDER = "musiclibrary.exportfolder";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_ITEMS = "musiclibrary.exportitems";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_UNSCRAPED = "musiclibrary.exportunscraped";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_OVERWRITE = "musiclibrary.exportoverwrite";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_ARTWORK = "musiclibrary.exportartwork";
1434:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_SKIPNFO = "musiclibrary.exportskipnfo";
1434:   static constexpr auto SETTING_MUSICLIBRARY_IMPORT = "musiclibrary.import";
1434:   static constexpr auto SETTING_MUSICPLAYER_AUTOPLAYNEXTITEM = "musicplayer.autoplaynextitem";
1434:   static constexpr auto SETTING_MUSICPLAYER_QUEUEBYDEFAULT = "musicplayer.queuebydefault";
1434:   static constexpr auto SETTING_MUSICPLAYER_SEEKSTEPS = "musicplayer.seeksteps";
1434:   static constexpr auto SETTING_MUSICPLAYER_SEEKDELAY = "musicplayer.seekdelay";
1434:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINTYPE = "musicplayer.replaygaintype";
1434:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINPREAMP = "musicplayer.replaygainpreamp";
1434:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINNOGAINPREAMP =
1434:       "musicplayer.replaygainnogainpreamp";
1434:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINAVOIDCLIPPING =
1434:       "musicplayer.replaygainavoidclipping";
1434:   static constexpr auto SETTING_MUSICPLAYER_CROSSFADE = "musicplayer.crossfade";
1434:   static constexpr auto SETTING_MUSICPLAYER_CROSSFADEALBUMTRACKS =
1434:       "musicplayer.crossfadealbumtracks";
1434:   static constexpr auto SETTING_MUSICPLAYER_VISUALISATION = "musicplayer.visualisation";
1434:   static constexpr auto SETTING_MUSICFILES_SELECTACTION = "musicfiles.selectaction";
1434:   static constexpr auto SETTING_MUSICFILES_USETAGS = "musicfiles.usetags";
1434:   static constexpr auto SETTING_MUSICFILES_TRACKFORMAT = "musicfiles.trackformat";
1434:   static constexpr auto SETTING_MUSICFILES_NOWPLAYINGTRACKFORMAT =
1434:       "musicfiles.nowplayingtrackformat";
1434:   static constexpr auto SETTING_MUSICFILES_LIBRARYTRACKFORMAT = "musicfiles.librarytrackformat";
1434:   static constexpr auto SETTING_MUSICFILES_FINDREMOTETHUMBS = "musicfiles.findremotethumbs";
1434:   static constexpr auto SETTING_AUDIOCDS_AUTOACTION = "audiocds.autoaction";
1434:   static constexpr auto SETTING_AUDIOCDS_USECDDB = "audiocds.usecddb";
1434:   static constexpr auto SETTING_AUDIOCDS_RECORDINGPATH = "audiocds.recordingpath";
1434:   static constexpr auto SETTING_AUDIOCDS_TRACKPATHFORMAT = "audiocds.trackpathformat";
1434:   static constexpr auto SETTING_AUDIOCDS_ENCODER = "audiocds.encoder";
1434:   static constexpr auto SETTING_AUDIOCDS_SETTINGS = "audiocds.settings";
1434:   static constexpr auto SETTING_AUDIOCDS_EJECTONRIP = "audiocds.ejectonrip";
1434:   static constexpr auto SETTING_MYMUSIC_SONGTHUMBINVIS = "mymusic.songthumbinvis";
1434:   static constexpr auto SETTING_MYMUSIC_DEFAULTLIBVIEW = "mymusic.defaultlibview";
1434:   static constexpr auto SETTING_PICTURES_USETAGS = "pictures.usetags";
1434:   static constexpr auto SETTING_PICTURES_GENERATETHUMBS = "pictures.generatethumbs";
1434:   static constexpr auto SETTING_PICTURES_SHOWVIDEOS = "pictures.showvideos";
1434:   static constexpr auto SETTING_PICTURES_DISPLAYRESOLUTION = "pictures.displayresolution";
1434:   static constexpr auto SETTING_SLIDESHOW_STAYTIME = "slideshow.staytime";
1434:   static constexprmake[4]: *** [build/guilib/CMakeFiles/guilib.dir/build.make:877: build/guilib/CMakeFiles/guilib.dir/GUIVisualisationControl.cpp.o] Error 1
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[3]: *** [CMakeFiles/Makefile2:8811: build/guilib/CMakeFiles/guilib.dir/all] Error 2
s = __ss * __s;
1412:           const _Tp __c = std::cos(__phi_red);
1412:           const _Tp __cc = __c * __c;
1412: 
1412:           const _Tp __E = __s
1412:                         * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1412:                         - __kk * __sss
1412:                         * __ellint_rd(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1412:                         / _Tp(3);
1412: 
1412:           if (__n == 0)
1412:             return __E;
1412:           else
1412:             return __E + _Tp(2) * __n * __comp_ellint_2(__k);
1412:         }
1412:     }
1412: # 492 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __ellint_rc(_Tp __x, _Tp __y)
1412:     {
1412:       const _Tp __min = std::numeric_limits<_Tp>::min();
1412:       const _Tp __lolim = _Tp(5) * __min;
1412: 
1412:       if (__x < _Tp(0) || __y < _Tp(0) || __x + __y < __lolim)
1412:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rc.")
1412:                                                         );
1412:       else
1412:         {
1412:           const _Tp __c0 = _Tp(1) / _Tp(4);
1412:           const _Tp __c1 = _Tp(1) / _Tp(7);
1412:           const _Tp __c2 = _Tp(9) / _Tp(22);
1412:           const _Tp __c3 = _Tp(3) / _Tp(10);
1412:           const _Tp __c4 = _Tp(3) / _Tp(8);
1412: 
1412:           _Tp __xn = __x;
1412:           _Tp __yn = __y;
1412: 
1412:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:           const _Tp __errtol = std::pow(__eps / _Tp(30), _Tp(1) / _Tp(6));
1412:           _Tp __mu;
1412:           _Tp __sn;
1412: 
1412:           const unsigned int __max_iter = 100;
1412:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1412:             {
1412:               __mu = (__xn + _Tp(2) * __yn) / _Tp(3);
1412:               __sn = (__yn + __mu) / __mu - _Tp(2);
1412:               if (std::abs(__sn) < __errtol)
1412:                 break;
1412:               const _Tp __lambda = _Tp(2) * std::sqrt(__xn) * std::sqrt(__yn)
1412:                              + __yn;
1412:               __xn = __c0 * (__xn + __lambda);
1412:               __yn = __c0 * (__yn + __lambda);
1412:             }
1412: 
1412:           _Tp __s = __sn * __sn
1412:                   * (__c3 + __sn*(__c1 + __sn * (__c4 + __sn * __c2)));
1412: 
1412:           return (_Tp(1) + __s) / std::sqrt(__mu);
1412:         }
1412:     }
1412: # 561 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __ellint_rj(_Tp __x, _Tp __y, _Tp __z, _Tp __p)
1412:     {
1412:       const _Tp __min = std::numeric_limits<_Tp>::min();
1412:       const _Tp __lolim = std::pow(_Tp(5) * __min, _Tp(1)/_Tp(3));
1412: 
1412:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1412:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rj.")
1412:                                                         );
1412:       else if (__x + __y < __lolim || __x + __z < __lolim
1412:             || __y + __z < __lolim || __p < __lolim)
1412:         std::__throw_domain_error(("Argument too small " "in __ellint_rj")
1412:                                                        );
1412:       else
1412:         {
1412:           const _Tp __c0 = _Tp(1) / _Tp(4);
1412:           const _Tp __c1 = _Tp(3) / _Tp(14);
1412:           const _Tp __c2 = _Tp(1) / _Tp(3);
1412:           const _Tp __c3 = _Tp(3) / _Tp(22);
1412:           const _Tp __c4 = _Tp(3) / _Tp(26);
1412: 
1412:           _Tp __xn = __x;
1412:           _Tp __yn = __y;
1412:           _Tp __zn = __z;
1412:           _Tp __pn = __p;
1412:           _Tp __sigma = _Tp(0);
1412:           _Tp __power4 = _Tp(1);
1412: 
1412:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:           const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1412: 
1412:           _Tp __mu;
1412:           _Tp __xndev, __yndev, __zndev, __pndev;
1412: 
1412:           const unsigned int __max_iter = 100;
1412:           for (u auto SETTING_SLIDESHOW_DISPLAYEFFECTS = "slideshow.displayeffects";
1434:   static constexpr auto SETTING_SLIDESHOW_SHUFFLE = "slideshow.shuffle";
1434:   static constexpr auto SETTING_SLIDESHOW_HIGHQUALITYDOWNSCALING =
1434:       "slideshow.highqualitydownscaling";
1434:   static constexpr auto SETTING_WEATHER_CURRENTLOCATION = "weather.currentlocation";
1434:   static constexpr auto SETTING_WEATHER_ADDON = "weather.addon";
1434:   static constexpr auto SETTING_WEATHER_ADDONSETTINGS = "weather.addonsettings";
1434:   static constexpr auto SETTING_SERVICES_DEVICENAME = "services.devicename";
1434:   static constexpr auto SETTING_SERVICES_DEVICEUUID = "services.deviceuuid";
1434:   static constexpr auto SETTING_SERVICES_UPNP = "services.upnp";
1434:   static constexpr auto SETTING_SERVICES_UPNPSERVER = "services.upnpserver";
1434:   static constexpr auto SETTING_SERVICES_UPNPANNOUNCE = "services.upnpannounce";
1434:   static constexpr auto SETTING_SERVICES_UPNPLOOKFOREXTERNALSUBTITLES =
1434:       "services.upnplookforexternalsubtitles";
1434:   static constexpr auto SETTING_SERVICES_UPNPCONTROLLER = "services.upnpcontroller";
1434:   static constexpr auto SETTING_SERVICES_UPNPRENDERER = "services.upnprenderer";
1434:   static constexpr auto SETTING_SERVICES_WEBSERVER = "services.webserver";
1434:   static constexpr auto SETTING_SERVICES_WEBSERVERPORT = "services.webserverport";
1434:   static constexpr auto SETTING_SERVICES_WEBSERVERAUTHENTICATION =
1434:       "services.webserverauthentication";
1434:   static constexpr auto SETTING_SERVICES_WEBSERVERUSERNAME = "services.webserverusername";
1434:   static constexpr auto SETTING_SERVICES_WEBSERVERPASSWORD = "services.webserverpassword";
1434:   static constexpr auto SETTING_SERVICES_WEBSERVERSSL = "services.webserverssl";
1434:   static constexpr auto SETTING_SERVICES_WEBSKIN = "services.webskin";
1434:   static constexpr auto SETTING_SERVICES_ESENABLED = "services.esenabled";
1434:   static constexpr auto SETTING_SERVICES_ESPORT = "services.esport";
1434:   static constexpr auto SETTING_SERVICES_ESPORTRANGE = "services.esportrange";
1434:   static constexpr auto SETTING_SERVICES_ESMAXCLIENTS = "services.esmaxclients";
1434:   static constexpr auto SETTING_SERVICES_ESALLINTERFACES = "services.esallinterfaces";
1434:   static constexpr auto SETTING_SERVICES_ESINITIALDELAY = "services.esinitialdelay";
1434:   static constexpr auto SETTING_SERVICES_ESCONTINUOUSDELAY = "services.escontinuousdelay";
1434:   static constexpr auto SETTING_SERVICES_ZEROCONF = "services.zeroconf";
1434:   static constexpr auto SETTING_SERVICES_AIRPLAY = "services.airplay";
1434:   static constexpr auto SETTING_SERVICES_AIRPLAYVOLUMECONTROL = "services.airplayvolumecontrol";
1434:   static constexpr auto SETTING_SERVICES_USEAIRPLAYPASSWORD = "services.useairplaypassword";
1434:   static constexpr auto SETTING_SERVICES_AIRPLAYPASSWORD = "services.airplaypassword";
1434:   static constexpr auto SETTING_SERVICES_AIRPLAYVIDEOSUPPORT = "services.airplayvideosupport";
1434:   static constexpr auto SETTING_SMB_WINSSERVER = "smb.winsserver";
1434:   static constexpr auto SETTING_SMB_WORKGROUP = "smb.workgroup";
1434:   static constexpr auto SETTING_SMB_MINPROTOCOL = "smb.minprotocol";
1434:   static constexpr auto SETTING_SMB_MAXPROTOCOL = "smb.maxprotocol";
1434:   static constexpr auto SETTING_SMB_LEGACYSECURITY = "smb.legacysecurity";
1434:   static constexpr auto SETTING_SERVICES_WSDISCOVERY = "services.wsdiscovery";
1434:   static constexpr auto SETTING_VIDEOSCREEN_MONITOR = "videoscreen.monitor";
1434:   static constexpr auto SETTING_VIDEOSCREEN_SCREEN = "videoscreen.screen";
1434:   static constexpr auto SETTING_VIDEOSCREEN_WHITELIST = "videoscreen.whitelist";
1434:   static constexpr auto SETTING_VIDEOSCREEN_RESOLUTION = "videoscreen.resolution";
1434:   static constexpr auto SETTING_VIDEOSCREEN_SCREENMODE = "videoscreen.screenmode";
1434:   static constexpr auto SETTING_VIDEOSCREEN_FAKEFULLSCREEN = "videoscreen.fakefullscreen";
1434:   static constexpr auto SETTING_VIDEOSCREEN_BLANKDISPLAYS =  extern_type* __end, size_t __max) const;
1115: 
1115:       virtual int
1115:       do_max_length() const throw();
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     class codecvt<wchar_t, char, mbstate_t>
1115:     : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
1115:     {
1115:       friend class messages<wchar_t>;
1115: 
1115:     public:
1115: 
1115:       typedef wchar_t intern_type;
1115:       typedef char extern_type;
1115:       typedef mbstate_t state_type;
1115: 
1115:     protected:
1115:       __c_locale _M_c_locale_codecvt;
1115: 
1115:     public:
1115:       static locale::id id;
1115: 
1115:       explicit
1115:       codecvt(size_t __refs = 0);
1115: 
1115:       explicit
1115:       codecvt(__c_locale __cloc, size_t __refs = 0);
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt();
1115: 
1115:       virtual result
1115:       do_out(state_type& __state, const intern_type* __from,
1115:       const intern_type* __from_end, const intern_type*& __from_next,
1115:       extern_type* __to, extern_type* __to_end,
1115:       extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_unshift(state_type& __state,
1115:    extern_type* __to, extern_type* __to_end,
1115:    extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_in(state_type& __state,
1115:       const extern_type* __from, const extern_type* __from_end,
1115:       const extern_type*& __from_next,
1115:       intern_type* __to, intern_type* __to_end,
1115:       intern_type*& __to_next) const;
1115: 
1115:       virtual
1115:       int do_encoding() const throw();
1115: 
1115:       virtual
1115:       bool do_always_noconv() const throw();
1115: 
1115:       virtual
1115:       int do_length(state_type&, const extern_type* __from,
1115:       const extern_type* __end, size_t __max) const;
1115: 
1115:       virtual int
1115:       do_max_length() const throw();
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     class codecvt<char16_t, char, mbstate_t>
1115:     : public __codecvt_abstract_base<char16_t, char, mbstate_t>
1115:     {
1115:     public:
1115: 
1115:       typedef char16_t intern_type;
1115:       typedef char extern_type;
1115:       typedef mbstate_t state_type;
1115: 
1115:     public:
1115:       static locale::id id;
1115: 
1115:       explicit
1115:       codecvt(size_t __refs = 0)
1115:       : __codecvt_abstract_base<char16_t, char, mbstate_t>(__refs) { }
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt();
1115: 
1115:       virtual result
1115:       do_out(state_type& __state, const intern_type* __from,
1115:       const intern_type* __from_end, const intern_type*& __from_next,
1115:       extern_type* __to, extern_type* __to_end,
1115:       extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_unshift(state_type& __state,
1115:    extern_type* __to, extern_type* __to_end,
1115:    extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_in(state_type& __state,
1115:       const extern_type* __from, const extern_type* __from_end,
1115:       const extern_type*& __from_next,
1115:       intern_type* __to, intern_type* __to_end,
1115:       intern_type*& __to_next) const;
1115: 
1115:       virtual
1115:       int do_encoding() const throw();
1115: 
1115:       virtual
1115:       bool do_always_noconv() const throw();
1115: 
1115:       virtual
1115:       int do_length(state_type&, const extern_type* __from,
1115:       const extern_type* __end, size_t __max) const;
1115: 
1115:       virtual int
1115:       do_max_length() const throw();
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     class codecvt<char32_t, char, mbstate_t>
1115:     : public __codecvt_abstract_base<char32_t, char, mbstate_t>
1115:     {
1115:     public:
1115: 
1115:       typedef char32_t intern_type;
1115:       typedef char extern_type;
1115:       typedef mbstate_t state_type;
1115: 
1115:     public:
"videoscreen.blankdisplays";
1434:   static constexpr auto SETTING_VIDEOSCREEN_STEREOSCOPICMODE = "videoscreen.stereoscopicmode";
1434:   static constexpr auto SETTING_VIDEOSCREEN_PREFEREDSTEREOSCOPICMODE =
1434:       "videoscreen.preferedstereoscopicmode";
1434:   static constexpr auto SETTING_VIDEOSCREEN_NOOFBUFFERS = "videoscreen.noofbuffers";
1434:   static constexpr auto SETTING_VIDEOSCREEN_3DLUT = "videoscreen.cms3dlut";
1434:   static constexpr auto SETTING_VIDEOSCREEN_DISPLAYPROFILE = "videoscreen.displayprofile";
1434:   static constexpr auto SETTING_VIDEOSCREEN_GUICALIBRATION = "videoscreen.guicalibration";
1434:   static constexpr auto SETTING_VIDEOSCREEN_TESTPATTERN = "videoscreen.testpattern";
1434:   static constexpr auto SETTING_VIDEOSCREEN_LIMITEDRANGE = "videoscreen.limitedrange";
1434:   static constexpr auto SETTING_VIDEOSCREEN_FRAMEPACKING = "videoscreen.framepacking";
1434:   static constexpr auto SETTING_VIDEOSCREEN_10BITSURFACES = "videoscreen.10bitsurfaces";
1434:   static constexpr auto SETTING_VIDEOSCREEN_GUISDRPEAKLUMINANCE = "videoscreen.guisdrpeakluminance";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_AUDIODEVICE = "audiooutput.audiodevice";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_CHANNELS = "audiooutput.channels";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_CONFIG = "audiooutput.config";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_SAMPLERATE = "audiooutput.samplerate";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_STEREOUPMIX = "audiooutput.stereoupmix";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_MAINTAINORIGINALVOLUME =
1434:       "audiooutput.maintainoriginalvolume";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_PROCESSQUALITY = "audiooutput.processquality";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_ATEMPOTHRESHOLD = "audiooutput.atempothreshold";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_STREAMSILENCE = "audiooutput.streamsilence";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_STREAMNOISE = "audiooutput.streamnoise";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_GUISOUNDMODE = "audiooutput.guisoundmode";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_GUISOUNDVOLUME = "audiooutput.guisoundvolume";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_PASSTHROUGH = "audiooutput.passthrough";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_PASSTHROUGHDEVICE = "audiooutput.passthroughdevice";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_AC3PASSTHROUGH = "audiooutput.ac3passthrough";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_AC3TRANSCODE = "audiooutput.ac3transcode";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_EAC3PASSTHROUGH = "audiooutput.eac3passthrough";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_DTSPASSTHROUGH = "audiooutput.dtspassthrough";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_TRUEHDPASSTHROUGH = "audiooutput.truehdpassthrough";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_DTSHDPASSTHROUGH = "audiooutput.dtshdpassthrough";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_DTSHDCOREFALLBACK = "audiooutput.dtshdcorefallback";
1434:   static constexpr auto SETTING_AUDIOOUTPUT_VOLUMESTEPS = "audiooutput.volumesteps";
1434:   static constexpr auto SETTING_INPUT_PERIPHERALS = "input.peripherals";
1434:   static constexpr auto SETTING_INPUT_PERIPHERALLIBRARIES = "input.peripherallibraries";
1434:   static constexpr auto SETTING_INPUT_ENABLEMOUSE = "input.enablemouse";
1434:   static constexpr auto SETTING_INPUT_ASKNEWCONTROLLERS = "input.asknewcontrollers";
1434:   static constexpr auto SETTING_INPUT_CONTROLLERCONFIG = "input.controllerconfig";
1434:   static constexpr auto SETTING_INPUT_RUMBLENOTIFY = "input.rumblenotify";
1434:   static constexpr auto SETTING_INPUT_TESTRUMBLE = "input.testrumble";
1434:   static constexpr auto SETTING_INPUT_CONTROLLERPOWEROFF = "input.controllerpoweroff";
1434:   static constexpr auto SETTING_INPUT_APPLEREMOTEMODE = "input.appleremotemode";
1434:   static constexpr auto SETTING_INPUT_APPLEREMOTEALWAYSON = "input.appleremotealwayson";
1434:   static constexpr auto SETTING_INPUT_APPLEREMOTESEQUENCETIME = "input.appleremotesequencetime";
1434:   static constexpr auto SETTING_INPUT_SIRIREMOTEIDLETIMERENABLED = "input.siriremoteidletimerenabled";
1434:   static constexpr auto SETTING_INPUT_SIRIREMOTEIDLETIME = "input.siriremoteidletime";
1434:   static constexpr auto SETTING_INPUT_SIRIREMOTEHORIZONTALSENSITIVITY =
1434:       "input.siriremotehorizontalsensitivity";
1434:   static constexpr auto SETTING_INPUT_SIRIREMOTEVERTICALSENSITIVITY =
1434:       "input.siriremoteverticalsensitivity";
1434:   static constexpr auto SETTING_INPUT_TVOSUSEKODIKEYBOARD = "input.tvosusekodikeyboard";
1434:   static constexpr auto SETTING_NETWORK_USEHTTPPROXY = "network.usehttpproxy";
1434:   static constexpr auto SETTING_NETWORK_HTTPPROXYTYPE = "network.httpproxytype";
1434:   static constexpr auto SETTING_NETWORK_HTTPPROXYSERVER = "network.httpproxyserver";
1434:   static constexpr auto SETTING_NETWORK_HTTPPROXYPORT = "network.httpproxyport";
1434:   static constexpr auto SETTING_NETWORK_HTTPPROXYUSERNAME = "network.httpproxyusername";
1434:   static constexpr auto SETTING_NETWORK_HTTPPROXYPASSWORD = "network.httpproxypassword";
1434:   static constexpr auto SETTING_NETWORK_BANDWIDTH = "network.bandwidth";
1434:   static constexpr auto SETTING_POWERMANAGEMENT_DISPLAYSOFF = "powermanagement.displaysoff";
1434:   static constexpr auto SETTING_POWERMANAGEMENT_SHUTDOWNTIME = "powermanagement.shutdowntime";
1434:   static constexpr auto SETTING_POWERMANAGEMENT_SHUTDOWNSTATE = "powermanagement.shutdownstate";
1434:   static constexpr auto SETTING_POWERMANAGEMENT_WAKEONACCESS = "powermanagement.wakeonaccess";
1434:   static constexpr auto SETTING_POWERMANAGEMENT_WAITFORNETWORK = "powermanagement.waitfornetwork";
1434:   static constexpr auto SETTING_DEBUG_SHOWLOGINFO = "debug.showloginfo";
1434:   static constexpr auto SETTING_DEBUG_EXTRALOGGING = "debug.extralogging";
1434:   static constexpr auto SETTING_DEBUG_SETEXTRALOGLEVEL = "debug.setextraloglevel";
1434:   static constexpr auto SETTING_DEBUG_SCREENSHOTPATH = "debug.screenshotpath";
1434:   static constexpr auto SETTING_DEBUG_SHARE_LOG = "debug.sharelog";
1434:   static constexpr auto SETTING_EVENTLOG_ENABLED = "eventlog.enabled";
1434:   static constexpr auto SETTING_EVENTLOG_ENABLED_NOTIFICATIONS = "eventlog.enablednotifications";
1434:   static constexpr auto SETTING_EVENTLOG_SHOW = "eventlog.show";
1434:   static constexpr auto SETTING_MASTERLOCK_LOCKCODE = "masterlock.lockcode";
1434:   static constexpr auto SETTING_MASTERLOCK_STARTUPLOCK = "masterlock.startuplock";
1434:   static constexpr auto SETTING_MASTERLOCK_MAXRETRIES = "masterlock.maxretries";
1434:   static constexpr auto SETTING_CACHE_HARDDISK = "cache.harddisk";
1434:   static constexpr auto SETTING_CACHEVIDEO_DVDROM = "cachevideo.dvdrom";
1434:   static constexpr auto SETTING_CACHEVIDEO_LAN = "cachevideo.lan";
1434:   static constexpr auto SETTING_CACHEVIDEO_INTERNET = "cachevideo.internet";
1434:   static constexpr auto SETTING_CACHEAUDIO_DVDROM = "cacheaudio.dvdrom";
1434:   static constexpr auto SETTING_CACHEAUDIO_LAN = "cacheaudio.lan";
1434:   static constexpr auto SETTING_CACHEAUDIO_INTERNET = "cacheaudio.internet";
1434:   static constexpr auto SETTING_CACHEDVD_DVDROM = "cachedvd.dvdrom";
1434:   static constexpr auto SETTING_CACHEDVD_LAN = "cachedvd.lan";
1434:   static constexpr auto SETTING_CACHEUNKNOWN_INTERNET = "cacheunknown.internet";
1434:   static constexpr auto SETTING_SYSTEM_PLAYLISTSPATH = "system.playlistspath";
1434:   static constexpr auto SETTING_ADDONS_AUTOUPDATES = "general.addonupdates";
1434:   static constexpr auto SETTING_ADDONS_NOTIFICATIONS = "general.addonnotifications";
1434:   static constexpr auto SETTING_ADDONS_SHOW_RUNNING = "addons.showrunning";
1434:   static constexpr auto SETTING_ADDONS_ALLOW_UNKNOWN_SOURCES = "addons.unknownsources";
1434:   static constexpr auto SETTING_ADDONS_UPDATEMODE = "addons.updatemode";
1434:   static constexpr auto SETTING_ADDONS_MANAGE_DEPENDENCIES = "addons.managedependencies";
1434:   static constnsigned int __iter = 0; __iter < __max_iter; ++__iter)
1412:             {
1412:               __mu = (__xn + __yn + __zn + _Tp(2) * __pn) / _Tp(5);
1412:               __xndev = (__mu - __xn) / __mu;
1412:               __yndev = (__mu - __yn) / __mu;
1412:               __zndev = (__mu - __zn) / __mu;
1412:               __pndev = (__mu - __pn) / __mu;
1412:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1412:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1412:               __epsilon = std::max(__epsilon, std::abs(__pndev));
1412:               if (__epsilon < __errtol)
1412:                 break;
1412:               const _Tp __xnroot = std::sqrt(__xn);
1412:               const _Tp __ynroot = std::sqrt(__yn);
1412:               const _Tp __znroot = std::sqrt(__zn);
1412:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1412:                                  + __ynroot * __znroot;
1412:               const _Tp __alpha1 = __pn * (__xnroot + __ynroot + __znroot)
1412:                                 + __xnroot * __ynroot * __znroot;
1412:               const _Tp __alpha2 = __alpha1 * __alpha1;
1412:               const _Tp __beta = __pn * (__pn + __lambda)
1412:                                       * (__pn + __lambda);
1412:               __sigma += __power4 * __ellint_rc(__alpha2, __beta);
1412:               __power4 *= __c0;
1412:               __xn = __c0 * (__xn + __lambda);
1412:               __yn = __c0 * (__yn + __lambda);
1412:               __zn = __c0 * (__zn + __lambda);
1412:               __pn = __c0 * (__pn + __lambda);
1412:             }
1412: 
1412:           _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev;
1412:           _Tp __eb = __xndev * __yndev * __zndev;
1412:           _Tp __ec = __pndev * __pndev;
1412:           _Tp __e2 = __ea - _Tp(3) * __ec;
1412:           _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec);
1412:           _Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
1412:                             - _Tp(3) * __c4 * __e3 / _Tp(2));
1412:           _Tp __s2 = __eb * (__c2 / _Tp(2)
1412:                    + __pndev * (-__c3 - __c3 + __pndev * __c4));
1412:           _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3)
1412:                    - __c2 * __pndev * __ec;
1412: 
1412:           return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)
1412:                                              / (__mu * std::sqrt(__mu));
1412:         }
1412:     }
1412: # 661 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __comp_ellint_3(_Tp __k, _Tp __nu)
1412:     {
1412: 
1412:       if (__isnan(__k) || __isnan(__nu))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__nu == _Tp(1))
1412:         return std::numeric_limits<_Tp>::infinity();
1412:       else if (std::abs(__k) > _Tp(1))
1412:         std::__throw_domain_error(("Bad argument in __comp_ellint_3."));
1412:       else
1412:         {
1412:           const _Tp __kk = __k * __k;
1412: 
1412:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1412:                + __nu
1412:                * __ellint_rj(_Tp(0), _Tp(1) - __kk, _Tp(1), _Tp(1) - __nu)
1412:                / _Tp(3);
1412:         }
1412:     }
1412: # 701 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __ellint_3(_Tp __k, _Tp __nu, _Tp __phi)
1412:     {
1412: 
1412:       if (__isnan(__k) || __isnan(__nu) || __isnan(__phi))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (std::abs(__k) > _Tp(1))
1412:         std::__throw_domain_error(("Bad argument in __ellint_3."));
1412:       else
1412:         {
1412: 
1412:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1412:                                    + _Tp(0.5L));
1412:           const _Tp __phi_red = __phi
1412:                               - __n * __numeric_constants<_Tp>::__pi();
1412: 
1412:           consexpr auto SETTING_ADDONS_REMOVE_ORPHANED_DEPENDENCIES =
1434:       "addons.removeorphaneddependencies";
1434:   static constexpr auto SETTING_GENERAL_ADDONFOREIGNFILTER = "general.addonforeignfilter";
1434:   static constexpr auto SETTING_GENERAL_ADDONBROKENFILTER = "general.addonbrokenfilter";
1434:   static constexpr auto SETTING_SOURCE_VIDEOS = "source.videos";
1434:   static constexpr auto SETTING_SOURCE_MUSIC = "source.music";
1434:   static constexpr auto SETTING_SOURCE_PICTURES = "source.pictures";
1434: 
1434: 
1434:   static const int VIDEOLIBRARY_PLOTS_SHOW_UNWATCHED_MOVIES = 0;
1434:   static const int VIDEOLIBRARY_PLOTS_SHOW_UNWATCHED_TVSHOWEPISODES = 1;
1434:   static const int VIDEOLIBRARY_THUMB_SHOW_UNWATCHED_EPISODE = 2;
1434: 
1434:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_ALL = 0;
1434:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_BASIC = 1;
1434:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_CUSTOM = 2;
1434:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_NONE = 3;
1434: 
1434: 
1434:   static const int MUSICLIBRARY_ARTWORK_LEVEL_ALL = 0;
1434:   static const int MUSICLIBRARY_ARTWORK_LEVEL_BASIC = 1;
1434:   static const int MUSICLIBRARY_ARTWORK_LEVEL_CUSTOM = 2;
1434:   static const int MUSICLIBRARY_ARTWORK_LEVEL_NONE = 3;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   CSettings() = default;
1434:   ~CSettings() override = default;
1434: 
1434:   CSettingsManager* GetSettingsManager() const { return m_settingsManager; }
1434: 
1434: 
1434:   bool Initialize() override;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void RegisterSubSettings(ISubSettings* subSettings);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void UnregisterSubSettings(ISubSettings* subSettings);
1434: 
1434: 
1434:   bool Load() override;
1434:   bool Save() override;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Load(const std::string &file);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Load(const TiXmlElement* root);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool LoadHidden(const TiXmlElement *root) { return CSettingsBase::LoadHiddenValuesFromXml(root); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Save(const std::string &file);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Save(TiXmlNode* root) const override;
1434: # 551 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1434:   bool LoadSetting(const TiXmlNode *node, const std::string &settingId);
1434: 
1434: 
1434:   bool GetBool(const std::string& id) const;
1434: # 563 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1434:   void Clear() override;
1434: 
1434: protected:
1434: 
1434:   void InitializeSettingTypes() override;
1434:   void InitializeControls() override;
1434:   void InitializeOptionFillers() override;
1434:   void UninitializeOptionFillers() override;
1434:   void InitializeConditions() override;
1434:   void UninitializeConditions() override;
1434:   void InitializeVisibility() override;
1434:   void InitializeDefaults() override;
1434:   void InitializeISettingsHandlers() override;
1434:   void UninitializeISettingsHandlers() override;
1434:   void InitializeISubSettings() override;
1434:   void UninitializeISubSettings() override;
1434:   void InitializeISettingCallbacks() override;
1434:   void UninitializeISettingCallbacks() override;
1434: 
1434: 
1434:   bool InitializeDefinitions() override;
1434: 
1434: private:
1434:   CSettings(const CSettings&) = delete;
1434:   CSettings const& operator=(CSettings const&) = delete;
1434: 
1434:   bool Load(const TiXmlElement* root, bool& updated);
1434: 
1434: 
1434:   bool Load(const TiXmlNode* settings) override;
1434: 
1434:   bool Initialize(const std::string &file);
1434:   bool Reset();
1434: 
1434:   std::set<ISubSettings*> m_subSettings;
1434: };
1434: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsComponent.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsComponent.h"
1434:        
1115:       static locale::id id;
1115: 
1115:       explicit
1115:       codecvt(size_t __refs = 0)
1115:       : __codecvt_abstract_base<char32_t, char, mbstate_t>(__refs) { }
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt();
1115: 
1115:       virtual result
1115:       do_out(state_type& __state, const intern_type* __from,
1115:       const intern_type* __from_end, const intern_type*& __from_next,
1115:       extern_type* __to, extern_type* __to_end,
1115:       extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_unshift(state_type& __state,
1115:    extern_type* __to, extern_type* __to_end,
1115:    extern_type*& __to_next) const;
1115: 
1115:       virtual result
1115:       do_in(state_type& __state,
1115:       const extern_type* __from, const extern_type* __from_end,
1115:       const extern_type*& __from_next,
1115:       intern_type* __to, intern_type* __to_end,
1115:       intern_type*& __to_next) const;
1115: 
1115:       virtual
1115:       int do_encoding() const throw();
1115: 
1115:       virtual
1115:       bool do_always_noconv() const throw();
1115: 
1115:       virtual
1115:       int do_length(state_type&, const extern_type* __from,
1115:       const extern_type* __end, size_t __max) const;
1115: 
1115:       virtual int
1115:       do_max_length() const throw();
1115:     };
1115: # 698 "/usr/include/c++/12/bits/codecvt.h" 3
1115:   template<typename _InternT, typename _ExternT, typename _StateT>
1115:     class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
1115:     {
1115:     public:
1115:       explicit
1115:       codecvt_byname(const char* __s, size_t __refs = 0)
1115:       : codecvt<_InternT, _ExternT, _StateT>(__refs)
1115:       {
1115:  if (__builtin_strcmp(__s, "C") != 0
1115:      && __builtin_strcmp(__s, "POSIX") != 0)
1115:    {
1115:      this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
1115:      this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
1115:    }
1115:       }
1115: 
1115: 
1115:       explicit
1115:       codecvt_byname(const string& __s, size_t __refs = 0)
1115:       : codecvt_byname(__s.c_str(), __refs) { }
1115: 
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt_byname() { }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     class codecvt_byname<char16_t, char, mbstate_t>
1115:     : public codecvt<char16_t, char, mbstate_t>
1115:     {
1115:     public:
1115:       explicit
1115:       codecvt_byname(const char*, size_t __refs = 0)
1115:       : codecvt<char16_t, char, mbstate_t>(__refs) { }
1115: 
1115:       explicit
1115:       codecvt_byname(const string& __s, size_t __refs = 0)
1115:       : codecvt_byname(__s.c_str(), __refs) { }
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt_byname() { }
1115:     };
1115: 
1115:   template<>
1115:     class codecvt_byname<char32_t, char, mbstate_t>
1115:     : public codecvt<char32_t, char, mbstate_t>
1115:     {
1115:     public:
1115:       explicit
1115:       codecvt_byname(const char*, size_t __refs = 0)
1115:       : codecvt<char32_t, char, mbstate_t>(__refs) { }
1115: 
1115:       explicit
1115:       codecvt_byname(const string& __s, size_t __refs = 0)
1115:       : codecvt_byname(__s.c_str(), __refs) { }
1115: 
1115:     protected:
1115:       virtual
1115:       ~codecvt_byname() { }
1115:     };
1115: # 805 "/usr/include/c++/12/bits/codecvt.h" 3
1115:   extern template class codecvt_byname<char, char, mbstate_t>;
1115: 
1115:   extern template
1115:     const codecvt<char, char, mbstate_t>&
1115:     use_facet<codecvt<char, char, mbstate_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<codecvt<char, char, mbstate_t> >(const locale&);
1115: 
1115: 
1115:   extern template class codecvt_byname<wchar_t, char, mbstate_t>;
1115: 
1115:   extern template
1115:     const codecvt<wchar_t, char, mbstate_t>&
1115:     use_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<codecvt<wchar_t, cha1434: 
1434: 
1434: 
1434: class CAdvancedSettings;
1434: class CProfileManager;
1434: class CSettings;
1434: 
1434: namespace KODI
1434: {
1434: namespace SUBTITLES
1434: {
1434: class CSubtitlesSettings;
1434: }
1434: }
1434: 
1434: class CSettingsComponent
1434: {
1434: public:
1434:   CSettingsComponent();
1434:   virtual ~CSettingsComponent();
1434: 
1434: 
1434: 
1434: 
1434:   void Initialize();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Load();
1434: 
1434: 
1434: 
1434: 
1434:   void Deinitialize();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<CSettings> GetSettings();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<CAdvancedSettings> GetAdvancedSettings();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<KODI::SUBTITLES::CSubtitlesSettings> GetSubtitlesSettings();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<CProfileManager> GetProfileManager();
1434: 
1434: private:
1434:   bool InitDirectoriesLinux(bool bPlatformDirectories);
1434:   bool InitDirectoriesOSX(bool bPlatformDirectories);
1434:   bool InitDirectoriesWin32(bool bPlatformDirectories);
1434:   void CreateUserDirs() const;
1434: 
1434:   enum class State
1434:   {
1434:     DEINITED,
1434:     INITED,
1434:     LOADED
1434:   };
1434:   State m_state = State::DEINITED;
1434: 
1434:   std::shared_ptr<CSettings> m_settings;
1434:   std::shared_ptr<CAdvancedSettings> m_advancedSettings;
1434:   std::shared_ptr<KODI::SUBTITLES::CSubtitlesSettings> m_subtitlesSettings;
1434:   std::shared_ptr<CProfileManager> m_profileManager;
1434: };
1434: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: int64_t str2int64(const std::string &str, int64_t fallback = 0);
1434: int64_t str2int64(const std::wstring &str, int64_t fallback = 0);
1434: uint64_t str2uint64(const std::string &str, uint64_t fallback = 0);
1434: uint64_t str2uint64(const std::wstring &str, uint64_t fallback = 0);
1434: double str2double(const std::string &str, double fallback = 0.0);
1434: double str2double(const std::wstring &str, double fallback = 0.0);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CVariant
1434: {
1434: public:
1434:   enum VariantType
1434:   {
1434:     VariantTypeInteger,
1434:     VariantTypeUnsignedInteger,
1434:     VariantTypeBoolean,
1434:     VariantTypeString,
1434:     VariantTypeWideString,
1434:     VariantTypeDouble,
1434:     VariantTypeArray,
1434:     VariantTypeObject,
1434:     VariantTypeNull,
1434:     VariantTypeConstNull
1434:   };
1434: 
1434:   CVariant();
1434:   CVariant(VariantType type);
1434:   CVariant(int integer);
1434:   CVariant(int64_t integer);
1434:   CVariant(unsigned int unsignedinteger);
1434:   CVariant(uint64_t unsignedinteger);
1434:   CVariant(double value);
1434:   CVariant(float value);
1434:   CVariant(bool boolean);
1434:   CVariant(const char *str);
1434:   CVariant(const char *str, unsigned int length);
1434:   CVariant(const std::string t _Tp __kk = __k * __k;
1412:           const _Tp __s = std::sin(__phi_red);
1412:           const _Tp __ss = __s * __s;
1412:           const _Tp __sss = __ss * __s;
1412:           const _Tp __c = std::cos(__phi_red);
1412:           const _Tp __cc = __c * __c;
1412: 
1412:           const _Tp __Pi = __s
1412:                          * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1412:                          + __nu * __sss
1412:                          * __ellint_rj(__cc, _Tp(1) - __kk * __ss, _Tp(1),
1412:                                        _Tp(1) - __nu * __ss) / _Tp(3);
1412: 
1412:           if (__n == 0)
1412:             return __Pi;
1412:           else
1412:             return __Pi + _Tp(2) * __n * __comp_ellint_3(__k, __nu);
1412:         }
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 53 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/exp_integral.tcc" 1 3
1412: # 50 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 64 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:   namespace __detail
1412:   {
1412:     template<typename _Tp> _Tp __expint_E1(_Tp);
1412: # 81 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_E1_series(_Tp __x)
1412:     {
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       _Tp __term = _Tp(1);
1412:       _Tp __esum = _Tp(0);
1412:       _Tp __osum = _Tp(0);
1412:       const unsigned int __max_iter = 1000;
1412:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1412:         {
1412:           __term *= - __x / __i;
1412:           if (std::abs(__term) < __eps)
1412:             break;
1412:           if (__term >= _Tp(0))
1412:             __esum += __term / __i;
1412:           else
1412:             __osum += __term / __i;
1412:         }
1412: 
1412:       return - __esum - __osum
1412:              - __numeric_constants<_Tp>::__gamma_e() - std::log(__x);
1412:     }
1412: # 118 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_E1_asymp(_Tp __x)
1412:     {
1412:       _Tp __term = _Tp(1);
1412:       _Tp __esum = _Tp(1);
1412:       _Tp __osum = _Tp(0);
1412:       const unsigned int __max_iter = 1000;
1412:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1412:         {
1412:           _Tp __prev = __term;
1412:           __term *= - __i / __x;
1412:           if (std::abs(__term) > std::abs(__prev))
1412:             break;
1412:           if (__term >= _Tp(0))
1412:             __esum += __term;
1412:           else
1412:             __osum += __term;
1412:         }
1412: 
1412:       return std::exp(- __x) * (__esum + __osum) / __x;
1412:     }
1412: # 155 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_En_series(unsigned int __n, _Tp __x)
1412:     {
1412:       const unsigned int __max_iter = 1000;
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       const int __nm1 = __n - 1;
1412:       _Tp __ans = (__nm1 != 0
1412:                 ? _Tp(1) / __nm1 : -std::log(__x)
1412:                                    - __numeric_constants<_Tp>::__gamma_e());
1412:       _Tp __fact = _Tp(1);
1412:       for (int __i = 1; __i <= __max_iter; ++__i)
1412:         {
1412:           __fact *= -__x / _Tp(__i);
1412:           _Tp __del;
1412:           if ( __i != __nm1 )
1412:             __del = -__fact / _Tp(__i - __nm1);
1412:           else
1412:             {
1412:               _Tp __psi = -__numeric_constants<_Tp>::gamma_e();
1412:               for (int __ii = 1; __ii <= __nm1; ++__ii)
1412:                 __psi += _Tp(1) / _Tp(__ii);
1412:               __del = __fact * (__psi - std::log(__x));
1412:             }
1412:           __ans += __del;
1412:           if (std::abs(__del) < __eps * std::abs(__ans))
1412:             return __ans;
1412:         }
1412:       std::__throw_runti&str);
1434:   CVariant(std::string &&str);
1434:   CVariant(const wchar_t *str);
1434:   CVariant(const wchar_t *str, unsigned int length);
1434:   CVariant(const std::wstring &str);
1434:   CVariant(std::wstring &&str);
1434:   CVariant(const std::vector<std::string> &strArray);
1434:   CVariant(const std::map<std::string, std::string> &strMap);
1434:   CVariant(const std::map<std::string, CVariant> &variantMap);
1434:   CVariant(const CVariant &variant);
1434:   CVariant(CVariant&& rhs) noexcept;
1434:   ~CVariant();
1434: 
1434: 
1434: 
1434:   bool isInteger() const;
1434:   bool isSignedInteger() const;
1434:   bool isUnsignedInteger() const;
1434:   bool isBoolean() const;
1434:   bool isString() const;
1434:   bool isWideString() const;
1434:   bool isDouble() const;
1434:   bool isArray() const;
1434:   bool isObject() const;
1434:   bool isNull() const;
1434: 
1434:   VariantType type() const;
1434: 
1434:   int64_t asInteger(int64_t fallback = 0) const;
1434:   int32_t asInteger32(int32_t fallback = 0) const;
1434:   uint64_t asUnsignedInteger(uint64_t fallback = 0u) const;
1434:   uint32_t asUnsignedInteger32(uint32_t fallback = 0u) const;
1434:   bool asBoolean(bool fallback = false) const;
1434:   std::string asString(const std::string &fallback = "") const;
1434:   std::wstring asWideString(const std::wstring &fallback = L"") const;
1434:   double asDouble(double fallback = 0.0) const;
1434:   float asFloat(float fallback = 0.0f) const;
1434: 
1434:   CVariant &operator[](const std::string &key);
1434:   const CVariant &operator[](const std::string &key) const;
1434:   CVariant &operator[](unsigned int position);
1434:   const CVariant &operator[](unsigned int position) const;
1434: 
1434:   CVariant &operator=(const CVariant &rhs);
1434:   CVariant& operator=(CVariant&& rhs) noexcept;
1434:   bool operator==(const CVariant &rhs) const;
1434:   bool operator!=(const CVariant &rhs) const { return !(*this == rhs); }
1434: 
1434:   void reserve(size_t length);
1434:   void push_back(const CVariant &variant);
1434:   void push_back(CVariant &&variant);
1434:   void append(const CVariant &variant);
1434:   void append(CVariant &&variant);
1434: 
1434:   const char *c_str() const;
1434: 
1434:   void swap(CVariant &rhs);
1434: 
1434: private:
1434:   typedef std::vector<CVariant> VariantArray;
1434:   typedef std::map<std::string, CVariant> VariantMap;
1434: 
1434: public:
1434:   typedef VariantArray::iterator iterator_array;
1434:   typedef VariantArray::const_iterator const_iterator_array;
1434: 
1434:   typedef VariantMap::iterator iterator_map;
1434:   typedef VariantMap::const_iterator const_iterator_map;
1434: 
1434:   iterator_array begin_array();
1434:   const_iterator_array begin_array() const;
1434:   iterator_array end_array();
1434:   const_iterator_array end_array() const;
1434: 
1434:   iterator_map begin_map();
1434:   const_iterator_map begin_map() const;
1434:   iterator_map end_map();
1434:   const_iterator_map end_map() const;
1434: 
1434:   unsigned int size() const;
1434:   bool empty() const;
1434:   void clear();
1434:   void erase(const std::string &key);
1434:   void erase(unsigned int position);
1434: 
1434:   bool isMember(const std::string &key) const;
1434: 
1434:   static CVariant ConstNullVariant;
1434: 
1434: private:
1434:   void cleanup();
1434:   union VariantUnion
1434:   {
1434:     int64_t integer;
1434:     uint64_t unsignedinteger;
1434:     bool boolean;
1434:     double dvalue;
1434:     std::string *string;
1434:     std::wstring *wstring;
1434:     VariantArray *array;
1434:     VariantMap *map;
1434:   };
1434: 
1434:   VariantType m_type;
1434:   VariantUnion m_data;
1434: 
1434:   static VariantArray EMPTY_ARRAY;
1434:   static VariantMap EMPTY_MAP;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 2
1434: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1434: struct IntegerSettingOption
1434: {
1434:   IntegerSettingOption(const std::string& _label, int _value)
1434:   : label(_label), value(_value) {}
1434: 
1434:   IntegerSettingOption(const std::string& _label,
1434:                        const std::string& _label2,
1434:                        int _value,
1434:                        const std::vector<std::pair<std::string, CVariant>>& props)
1434:     : label(_label), label2(_label2), value(_value), properties(props)
1434:   {
1434:   }
1434: 
1434:   std::string label;
1434:   std::string label2;
1434:   int value = 0;
1434:   std::vector<std::pair<std::string, CVariant>> properties;
1434: };
1434: 
1434: struct StringSettingOption
1434: {
1434:   StringSettingOption(const std::string& _label, const std::string& _value)
1434:   : label(_label), value(_value) {}
1434: 
1434:   StringSettingOption(const std::string& _label,
1434:                       const std::string& _label2,
1434:                       const std::string& _value,
1434:                       const std::vector<std::pair<std::string, CVariant>>& props)
1434:     : label(_label), label2(_label2), value(_value), properties(props)
1434:   {
1434:   }
1434: 
1434:   std::string label;
1434:   std::string label2;
1434:   std::string value;
1434:   std::vector<std::pair<std::string, CVariant>> properties;
1434: };
1434: 
1434: struct TranslatableIntegerSettingOption
1434: {
1434:   TranslatableIntegerSettingOption() = default;
1434:   TranslatableIntegerSettingOption(int _label, int _value, const std::string& _addonId = "")
1434:     : label(_label), value(_value), addonId(_addonId)
1434:   {
1434:   }
1434: 
1434:   int label = 0;
1434:   int value = 0;
1434:   std::string addonId;
1434: };
1434: 
1434: using TranslatableIntegerSettingOptions = std::vector<TranslatableIntegerSettingOption>;
1434: using IntegerSettingOptions = std::vector<IntegerSettingOption>;
1434: using TranslatableStringSettingOption = std::pair<int, std::string>;
1434: using TranslatableStringSettingOptions = std::vector<TranslatableStringSettingOption>;
1434: using StringSettingOptions = std::vector<StringSettingOption>;
1434: 
1434: class CSetting;
1434: using IntegerSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1434:                                              IntegerSettingOptions& list,
1434:                                              int& current,
1434:                                              void* data);
1434: using StringSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1434:                                             StringSettingOptions& list,
1434:                                             std::string& current,
1434:                                             void* data);
1434: 
1434: enum class SettingOptionsSort
1434: {
1434:   NoSorting,
1434:   Ascending,
1434:   Descending
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IXmlDeserializable.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IXmlDeserializable.h"
1434:        
1434: 
1434: class TiXmlNode;
1434: 
1434: class IXmlDeserializable
1434: {
1434: public:
1434:   virtual ~IXmlDeserializable() = default;
1434: 
1434:   virtual bool Deserialize(const TiXmlNode *node) = 0;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: typedef enum {
1434:   BooleanLogicOperationOr = 0,
1434:   BooleanLogicOperationAnd
1434: } BooleanLogicOperation;
1434: 
1434: class CBooleanLogicValue : public IXmlDeserializable
1434: {
1434: public:
1434:   CBooleanLogicValue(const std::string &value = "", bool negated = false)
1434:     : m_value(value), m_negated(negated)
1434:   { }
1434:   ~CBooleanLogicValue() override = default;
1434: 
1434:   bool Deserialize(const TiXmlNode *node) override;
1434: 
1434:   virtual const std::string& GetValue() const { return m_value; }
1434:   virtual bool IsNegr, mbstate_t> >(const locale&);
1115: 
1115: 
1115: 
1115:   extern template class codecvt_byname<char16_t, char, mbstate_t>;
1115:   extern template class codecvt_byname<char32_t, char, mbstate_t>;
1115: # 840 "/usr/include/c++/12/bits/codecvt.h" 3
1115: 
1115: }
1115: # 2068 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 1 3
1115: # 33 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
1115:     {
1115:       const __moneypunct_cache<_CharT, _Intl>*
1115:       operator() (const locale& __loc) const
1115:       {
1115:  const size_t __i = moneypunct<_CharT, _Intl>::id._M_id();
1115:  const locale::facet** __caches = __loc._M_impl->_M_caches;
1115:  if (!__caches[__i])
1115:    {
1115:      __moneypunct_cache<_CharT, _Intl>* __tmp = 0;
1115:      try
1115:        {
1115:   __tmp = new __moneypunct_cache<_CharT, _Intl>;
1115:   __tmp->_M_cache(__loc);
1115:        }
1115:      catch(...)
1115:        {
1115:   delete __tmp;
1115:   throw;
1115:        }
1115:      __loc._M_impl->_M_install_cache(__tmp, __i);
1115:    }
1115:  return static_cast<
1115:    const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]);
1115:       }
1115:     };
1115: 
1115:   template<typename _CharT, bool _Intl>
1115:     void
1115:     __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
1115:     {
1115:       const moneypunct<_CharT, _Intl>& __mp =
1115:  use_facet<moneypunct<_CharT, _Intl> >(__loc);
1115: 
1115:       struct _Scoped_str
1115:       {
1115:  size_t _M_len;
1115:  _CharT* _M_str;
1115: 
1115:  explicit
1115:  _Scoped_str(const basic_string<_CharT>& __str)
1115:  : _M_len(__str.size()), _M_str(new _CharT[_M_len])
1115:  { __str.copy(_M_str, _M_len); }
1115: 
1115:  ~_Scoped_str() { delete[] _M_str; }
1115: 
1115:  void
1115:  _M_release(const _CharT*& __p, size_t& __n)
1115:  {
1115:    __p = _M_str;
1115:    __n = _M_len;
1115:    _M_str = 0;
1115:  }
1115:       };
1115: 
1115:       _Scoped_str __curr_symbol(__mp.curr_symbol());
1115:       _Scoped_str __positive_sign(__mp.positive_sign());
1115:       _Scoped_str __negative_sign(__mp.negative_sign());
1115: 
1115:       const string& __g = __mp.grouping();
1115:       const size_t __g_size = __g.size();
1115:       char* const __grouping = new char[__g_size];
1115:       __g.copy(__grouping, __g_size);
1115: 
1115: 
1115: 
1115:       _M_grouping = __grouping;
1115:       _M_grouping_size = __g_size;
1115:       _M_use_grouping = (__g_size
1115:     && static_cast<signed char>(__grouping[0]) > 0
1115:     && (__grouping[0]
1115:         != __gnu_cxx::__numeric_traits<char>::__max));
1115: 
1115:       _M_decimal_point = __mp.decimal_point();
1115:       _M_thousands_sep = __mp.thousands_sep();
1115: 
1115:       __curr_symbol._M_release(_M_curr_symbol, _M_curr_symbol_size);
1115:       __positive_sign._M_release(_M_positive_sign, _M_positive_sign_size);
1115:       __negative_sign._M_release(_M_negative_sign, _M_negative_sign_size);
1115: 
1115:       _M_frac_digits = __mp.frac_digits();
1115:       _M_pos_format = __mp.pos_format();
1115:       _M_neg_format = __mp.neg_format();
1115: 
1115:       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
1115:       __ct.widen(money_base::_S_atoms,
1115:    money_base::_S_atoms + money_base::_S_end, _M_atoms);
1115: 
1115:       _M_allocated = true;
1115:     }
1115: 
1115: namespace __cxx11 {
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     template<bool _Intl>
1115:       _InIter
1115:       money_get<_CharT, _InIter>::
1115:       _M_extract(iter_type __beg, iter_type __end, ios_base& __io,
1115:    ios_base::iostate& __err, string& __units) const
1115:       {
1115:  typedef char_traits<_CharT> __traits_type;
1115:  typedef typenated() const { return m_negated; }
1434:   virtual const char* GetTag() const { return "value"; }
1434: 
1434:   virtual void SetValue(const std::string &value) { m_value = value; }
1434:   virtual void SetNegated(bool negated) { m_negated = negated; }
1434: 
1434: protected:
1434:   std::string m_value;
1434:   bool m_negated;
1434: };
1434: 
1434: typedef std::shared_ptr<CBooleanLogicValue> CBooleanLogicValuePtr;
1434: typedef std::vector<CBooleanLogicValuePtr> CBooleanLogicValues;
1434: 
1434: class CBooleanLogicOperation;
1434: typedef std::shared_ptr<CBooleanLogicOperation> CBooleanLogicOperationPtr;
1434: typedef std::vector<CBooleanLogicOperationPtr> CBooleanLogicOperations;
1434: 
1434: class CBooleanLogicOperation : public IXmlDeserializable
1434: {
1434: public:
1434:   explicit CBooleanLogicOperation(BooleanLogicOperation op = BooleanLogicOperationAnd)
1434:     : m_operation(op)
1434:   { }
1434:   ~CBooleanLogicOperation() override = default;
1434: 
1434:   bool Deserialize(const TiXmlNode *node) override;
1434: 
1434:   virtual BooleanLogicOperation GetOperation() const { return m_operation; }
1434:   virtual const CBooleanLogicOperations& GetOperations() const { return m_operations; }
1434:   virtual const CBooleanLogicValues& GetValues() const { return m_values; }
1434: 
1434:   virtual void SetOperation(BooleanLogicOperation op) { m_operation = op; }
1434: 
1434: protected:
1434:   virtual CBooleanLogicOperation* newOperation() { return new CBooleanLogicOperation(); }
1434:   virtual CBooleanLogicValue* newValue() { return new CBooleanLogicValue(); }
1434: 
1434:   BooleanLogicOperation m_operation;
1434:   CBooleanLogicOperations m_operations;
1434:   CBooleanLogicValues m_values;
1434: };
1434: 
1434: class CBooleanLogic : public IXmlDeserializable
1434: {
1434: protected:
1434: 
1434:   ~CBooleanLogic() override = default;
1434: 
1434: public:
1434:   bool Deserialize(const TiXmlNode *node) override;
1434: 
1434:   const CBooleanLogicOperationPtr& Get() const { return m_operation; }
1434:   CBooleanLogicOperationPtr Get() { return m_operation; }
1434: 
1434: protected:
1434:   CBooleanLogicOperationPtr m_operation;
1434: };
1434: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingsManager;
1434: class CSetting;
1434: 
1434: using SettingConditionCheck = bool (*)(const std::string& condition,
1434:                                        const std::string& value,
1434:                                        const std::shared_ptr<const CSetting>& setting,
1434:                                        void* data);
1434: 
1434: class ISettingCondition
1434: {
1434: public:
1434:   explicit ISettingCondition(CSettingsManager *settingsManager)
1434:     : m_settingsManager(settingsManager)
1434:   { }
1434:   virtual ~ISettingCondition() = default;
1434: 
1434:   virtual bool Check() const = 0;
1434: 
1434: protected:
1434:   CSettingsManager *m_settingsManager;
1434: };
1434: 
1434: class CSettingConditionItem : public CBooleanLogicValue, public ISettingCondition
1434: {
1434: public:
1434:   explicit CSettingConditionItem(CSettingsManager *settingsManager = nullptr)
1434:     : ISettingCondition(settingsManager)
1434:   { }
1434:   ~CSettingConditionItem() override = default;
1434: 
1434:   bool Deserialize(const TiXmlNode *node) override;
1434:   const char* GetTag() const override { return "condition"; }
1434:   bool Check() const override;
1434: 
1434: protected:
1434:   std::string m_name;
1434:   std::string m_setting;
1434: };
1434: 
1434: class CSettingConditionCombination : public CBooleanLogicOperation, public ISettingCondition
1434: {
1434: public:
1434:   explicit CSettingConditionCombination(CSettingsManager *settingsManager = nullptr)
1434:     : ISettingCondition(settingsManager)
1434:   { }
1434:   ~CSettingConditionCombination() override = default;
1434: 
1434:   bool Check() const override;
1434: 
1434: private:
1434:   CBooleanLogicOperation* newOperation() override { return new CSettingConditionCombination(m_settingsManager); }
1434:   CBooleanLogicValue* newValue() override { return new CSettingConditionItem(m_settingsManager); }
1434: };
1434: 
1434: class CSettingCondition : public CBooleanLogic, public ISettingCondition
1434: {
1434: public:
1434:   explicit CSettingCondition(CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingCondition() override = default;
1434: 
1434:   bool Check() const override;
1434: };
1434: 
1434: class CSettingConditionsManager
1434: {
1434: public:
1434:   CSettingConditionsManager() = default;
1434:   CSettingConditionsManager(const CSettingConditionsManager&) = delete;
1434:   CSettingConditionsManager const& operator=(CSettingConditionsManager const&) = delete;
1434:   virtual ~CSettingConditionsManager() = default;
1434: 
1434:   void AddCondition(std::string condition);
1434:   void AddDynamicCondition(std::string identifier, SettingConditionCheck condition, void *data = nullptr);
1434:   void RemoveDynamicCondition(std::string identifier);
1434: 
1434:   bool Check(
1434:       std::string condition,
1434:       const std::string& value = "",
1434:       const std::shared_ptr<const CSetting>& setting = std::shared_ptr<const CSetting>()) const;
1434: 
1434: private:
1434:   using SettingConditionPair = std::pair<std::string, std::pair<SettingConditionCheck, void*>>;
1434:   using SettingConditionMap = std::map<std::string, std::pair<SettingConditionCheck, void*>>;
1434: 
1434:   SettingConditionMap m_conditions;
1434:   std::set<std::string> m_defines;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h" 2
1434: 
1434: 
1434: 
1434: 
1434: class CSettingRequirementCondition : public CSettingConditionItem
1434: {
1434: public:
1434:   explicit CSettingRequirementCondition(CSettingsManager *settingsManager = nullptr)
1434:     : CSettingConditionItem(settingsManager)
1434:   { }
1434:   ~CSettingRequirementCondition() override = default;
1434: 
1434:   bool Check() const override;
1434: };
1434: 
1434: class CSettingRequirementConditionCombination : public CSettingConditionCombination
1434: {
1434: public:
1434:   explicit CSettingRequirementConditionCombination(CSettingsManager *settingsManager = nullptr)
1434:     : CSettingConditionCombination(settingsManager)
1434:   { }
1434:   ~CSettingRequirementConditionCombination() override = default;
1434: 
1434:   bool Check() const override;
1434: 
1434: private:
1434:   CBooleanLogicOperation* newOperation() override { return new CSettingRequirementConditionCombination(m_settingsManager); }
1434:   CBooleanLogicValue* newValue() override { return new CSettingRequirementCondition(m_settingsManager); }
1434: };
1434: 
1434: class CSettingRequirement : public CSettingCondition
1434: {
1434: public:
1434:   explicit CSettingRequirement(CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingRequirement() override = default;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h" 2
1434: 
1434: 
1434: 
1434: class CSettingsManager;
1434: class TiXmlNode;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class ISetting
1434: {
1434: public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   ISetting(const std::string &id, CSettingsManager *settingsManager = nullptr);
1434:   virtual ~ISetting() = default;
1434: # 45 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1434:   virtual bool Deserialize(const TiXmlNode *node, bool update = false);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   const std::string& GetId() const { return m_id; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool IsVisible() const { return m_visible; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void SetVisible(bool visible) { m_visible = visible; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int GetLabel() const { return m_label; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetLabel(int label) { m_label = label; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int GetHelp() const { return m_help; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetHelp(int help) { m_help = help; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual bool MeetsRequirements() const { return m_meetsRequirements; }
1434: 
1434: 
1434: 
1434:   virtual void CheckRequirements();
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   virtual void SetRequirementsMet(bool requirementsMet) { m_meetsRequirements = requirementsMet; }
1434: # 114 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1434:   static bool DeserializeIdentification(const TiXmlNode *node, std::string &identification);
1434: 
1434: protected:
1434:   static constexpr int DefaultLabel = -1;
1434: # 126 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1434:   static bool DeserializeIdentificationFromAttribute(const TiXmlNode* node,
1434:                                                      const std::string& attribute,
1434:                                                      std::string& identification);
1434: 
1434:   std::string m_id;
1434:   CSettingsManager *m_settingsManager;
1434: 
1434: private:
1434:   bool m_visible = true;
1434:   int m_label = DefaultLabel;
1434:   int m_help = -1;
1434:   bool m_meetsRequirements = true;
1434:   CSettingRequirement m_requirementCondition;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h"
1434:        
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h"
1434: enum class SettingDependencyType {
1434:   Unknown = 0,
1434:   Enable,
1434:   Update,
1434:   Visible
1434: };
1434: 
1434: enum class SettingDependencyOperator {
1434:   Unknown = 0,
1434:   Equals,
1434:   LessThan,
1434:   GreaterThan,
1434:   Contains
1434: };
1434: 
1434: enum class SettingDependencyTarget {
1434:   Unknown = 0,
1434:   Setting,
1434:   Property
1434: };
1434: 
1434: class CSettingDependencyCondition : public CSettingConditionItem
1434: {
1434: public:
1434:   explicit CSettingDependencyCondition(CSettingsManager *settingsManager = nullptr);
1434:   CSettingDependencyCondition(const std::string &setting, const std::string &value,
1434:                               SettingDependencyOperator op, bool negated = false,
1434:                               CSettingsManager *settingsManager = nullptr);
1434:   CSettingDependencyCondition(const std::string &strProperty, const std::string &value,
1434:                               const std::string &setting = "", bool negated = false,
1434:                               CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingDependencyCondition() override = default;
1434: 
1434:   bool Deserialize(const TiXmlNode *node) override;
1434:   bool Check() const override;
1434: 
1434:   const std::string& GetName() const { return m_name; }
1434:   const std::string& GetSetting() const { return m_setting; }
1434:   SettingDependencyTarget GetTarget() const { return m_target; }
1434:   SettingDependencyOperator GetOperator() const { return m_operator; }
1434: 
1434: private:
1434:   CSettingDependencyCondition(CSettingsManager* settingsManager,
1434:                               const std::string& strProperty,
1434:                               const std::string& setting,
1434:                               const std::string& value,
1434:                               SettingDependencyTarget target = SettingDependencyTarget::Unknown,
1434:                               SettingDependencyOperator op = SettingDependencyOperator::Equals,
1434:                               bool negated = false);
1434: 
1434:   bool setTarget(const std::string &target);
1434:   bool setOperator(const std::string &op);
1434: 
1434:   SettingDependencyTarget m_target = SettingDependencyTarget::Unknown;
1434:   SettingDependencyOperator m_operator = SettingDependencyOperator::Equals;
1434: 
1434:   static Logger s_logger;
1434: };
1434: 
1434: using CSettingDependencyConditionPtr = std::shared_ptr<CSettingDependename string_type::size_type size_type;
1115:  typedef money_base::part part;
1115:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1115: 
1115:  const locale& __loc = __io._M_getloc();
1115:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:  __use_cache<__cache_type> __uc;
1115:  const __cache_type* __lc = __uc(__loc);
1115:  const char_type* __lit = __lc->_M_atoms;
1115: 
1115: 
1115:  bool __negative = false;
1115: 
1115:  size_type __sign_size = 0;
1115: 
1115:  const bool __mandatory_sign = (__lc->_M_positive_sign_size
1115:            && __lc->_M_negative_sign_size);
1115: 
1115:  string __grouping_tmp;
1115:  if (__lc->_M_use_grouping)
1115:    __grouping_tmp.reserve(32);
1115: 
1115:  int __last_pos = 0;
1115: 
1115:  int __n = 0;
1115: 
1115:  bool __testvalid = true;
1115: 
1115:  bool __testdecfound = false;
1115: 
1115: 
1115:  string __res;
1115:  __res.reserve(32);
1115: 
1115:  const char_type* __lit_zero = __lit + money_base::_S_zero;
1115:  const money_base::pattern __p = __lc->_M_neg_format;
1115:  for (int __i = 0; __i < 4 && __testvalid; ++__i)
1115:    {
1115:      const part __which = static_cast<part>(__p.field[__i]);
1115:      switch (__which)
1115:        {
1115:        case money_base::symbol:
1115: 
1115: 
1115: 
1115: 
1115:   if (__io.flags() & ios_base::showbase || __sign_size > 1
1115:       || __i == 0
1115:       || (__i == 1 && (__mandatory_sign
1115:          || (static_cast<part>(__p.field[0])
1115:       == money_base::sign)
1115:          || (static_cast<part>(__p.field[2])
1115:       == money_base::space)))
1115:       || (__i == 2 && ((static_cast<part>(__p.field[3])
1115:           == money_base::value)
1115:          || (__mandatory_sign
1115:       && (static_cast<part>(__p.field[3])
1115:           == money_base::sign)))))
1115:     {
1115:       const size_type __len = __lc->_M_curr_symbol_size;
1115:       size_type __j = 0;
1115:       for (; __beg != __end && __j < __len
1115:       && *__beg == __lc->_M_curr_symbol[__j];
1115:     ++__beg, (void)++__j);
1115:       if (__j != __len
1115:    && (__j || __io.flags() & ios_base::showbase))
1115:         __testvalid = false;
1115:     }
1115:   break;
1115:        case money_base::sign:
1115: 
1115:   if (__lc->_M_positive_sign_size && __beg != __end
1115:       && *__beg == __lc->_M_positive_sign[0])
1115:     {
1115:       __sign_size = __lc->_M_positive_sign_size;
1115:       ++__beg;
1115:     }
1115:   else if (__lc->_M_negative_sign_size && __beg != __end
1115:     && *__beg == __lc->_M_negative_sign[0])
1115:     {
1115:       __negative = true;
1115:       __sign_size = __lc->_M_negative_sign_size;
1115:       ++__beg;
1115:     }
1115:   else if (__lc->_M_positive_sign_size
1115:     && !__lc->_M_negative_sign_size)
1115: 
1115: 
1115:     __negative = true;
1115:   else if (__mandatory_sign)
1115:     __testvalid = false;
1115:   break;
1115:        case money_base::value:
1115: 
1115: 
1115:   for (; __beg != __end; ++__beg)
1115:     {
1115:       const char_type __c = *__beg;
1115:       const char_type* __q = __traits_type::find(__lit_zero,
1115:               10, __c);
1115:       if (__q != 0)
1115:         {
1115:    __res += money_base::_S_atoms[__q - __lit];
1115:    ++__n;
1115:         }
1115:       else if (__c == __lc->_M_decimal_point
1115:         && !__testdecfound)
1115:         {
1115:    if (__lc->_M_frac_digits <= 0)
1115:      break;
1115: 
1115:    __last_pos = __n;
1115:    __n = 0;
1115:    __testdecfound = true;
1115:         }
1115:       else if (__lc->_M_use_grouping
1115:         && __c == __lc->_M_thousands_sep
1115:         && !__testdecfound)
1115:         {
1115:    if (__n)
1115:      {
1115: 
1115:        __grouping_tmp += static_cast<char>(__n);
1115:        __n = 0;
1115:      }
1115:    else
1115:      {
1115:        __testvalid = false;
1115:        break;
1115:      }
1115:         }
1115:       else
1115:         break;
1115:     }
1115:   if (__res.empty())
1115:     __testvalid = false;
1115:   break;
1115:        case money_base::space:cyCondition>;
1434: 
1434: class CSettingDependencyConditionCombination;
1434: using CSettingDependencyConditionCombinationPtr = std::shared_ptr<CSettingDependencyConditionCombination>;
1434: 
1434: class CSettingDependencyConditionCombination : public CSettingConditionCombination
1434: {
1434: public:
1434:   explicit CSettingDependencyConditionCombination(CSettingsManager *settingsManager = nullptr)
1434:     : CSettingConditionCombination(settingsManager)
1434:   { }
1434:   CSettingDependencyConditionCombination(BooleanLogicOperation op, CSettingsManager *settingsManager = nullptr)
1434:     : CSettingConditionCombination(settingsManager)
1434:   {
1434:     SetOperation(op);
1434:   }
1434:   ~CSettingDependencyConditionCombination() override = default;
1434: 
1434:   bool Deserialize(const TiXmlNode *node) override;
1434: 
1434:   const std::set<std::string>& GetSettings() const { return m_settings; }
1434: 
1434:   CSettingDependencyConditionCombination* Add(const CSettingDependencyConditionPtr& condition);
1434:   CSettingDependencyConditionCombination* Add(
1434:       const CSettingDependencyConditionCombinationPtr& operation);
1434: 
1434: private:
1434:   CBooleanLogicOperation* newOperation() override { return new CSettingDependencyConditionCombination(m_settingsManager); }
1434:   CBooleanLogicValue* newValue() override { return new CSettingDependencyCondition(m_settingsManager); }
1434: 
1434:   std::set<std::string> m_settings;
1434: };
1434: 
1434: class CSettingDependency : public CSettingCondition
1434: {
1434: public:
1434:   explicit CSettingDependency(CSettingsManager *settingsManager = nullptr);
1434:   CSettingDependency(SettingDependencyType type, CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingDependency() override = default;
1434: 
1434:   bool Deserialize(const TiXmlNode *node) override;
1434: 
1434:   SettingDependencyType GetType() const { return m_type; }
1434:   std::set<std::string> GetSettings() const;
1434: 
1434:   CSettingDependencyConditionCombinationPtr And();
1434:   CSettingDependencyConditionCombinationPtr Or();
1434: 
1434: private:
1434:   bool setType(const std::string &type);
1434: 
1434:   SettingDependencyType m_type = SettingDependencyType::Unknown;
1434: 
1434:   static Logger s_logger;
1434: };
1434: 
1434: using SettingDependencies = std::list<CSettingDependency>;
1434: using SettingDependencyMap = std::map<std::string, SettingDependencies>;
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingLevel.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingLevel.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: enum class SettingLevel {
1434:   Basic = 0,
1434:   Standard,
1434:   Advanced,
1434:   Expert,
1434:   Internal
1434: };
1434: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingType.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingType.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: enum class SettingType {
1434:   Unknown = 0,
1434:   Boolean,
1434:   Integer,
1434:   Number,
1434:   String,
1434:   Action,
1434:   List
1434: };
1434: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingUpdate.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingUpdate.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class TiXmlNode;
1434: 
1434: enum class SettingUpdateType {
1434:   Unknown = 0,
1434:   Rename,
1434:   Change
1434: };
1434: 
1434: class CSettingUpdate
1434: {
1434: public:
1434:   CSettingUpdate();
1434:   virtual ~CSettingUpdate() = default;
1434: 
1434:   inline bool operator<(const CSettingUpdate& rhs) const
1434:   {
1434:     return m_type < rhs.m_type && m_value < rhs.m_value;
1434:   }
1434: 
1434:   virtual bool Deserialize(const TiXmlNode *node);
1434: 
1434:   SettingUpdateTyme_error(("Series summation failed " "in __expint_En_series.")
1412:                                                               );
1412:     }
1412: # 201 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_En_cont_frac(unsigned int __n, _Tp __x)
1412:     {
1412:       const unsigned int __max_iter = 1000;
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       const _Tp __fp_min = std::numeric_limits<_Tp>::min();
1412:       const int __nm1 = __n - 1;
1412:       _Tp __b = __x + _Tp(__n);
1412:       _Tp __c = _Tp(1) / __fp_min;
1412:       _Tp __d = _Tp(1) / __b;
1412:       _Tp __h = __d;
1412:       for ( unsigned int __i = 1; __i <= __max_iter; ++__i )
1412:         {
1412:           _Tp __a = -_Tp(__i * (__nm1 + __i));
1412:           __b += _Tp(2);
1412:           __d = _Tp(1) / (__a * __d + __b);
1412:           __c = __b + __a / __c;
1412:           const _Tp __del = __c * __d;
1412:           __h *= __del;
1412:           if (std::abs(__del - _Tp(1)) < __eps)
1412:             {
1412:               const _Tp __ans = __h * std::exp(-__x);
1412:               return __ans;
1412:             }
1412:         }
1412:       std::__throw_runtime_error(("Continued fraction failed " "in __expint_En_cont_frac.")
1412:                                                                  );
1412:     }
1412: # 246 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_En_recursion(unsigned int __n, _Tp __x)
1412:     {
1412:       _Tp __En;
1412:       _Tp __E1 = __expint_E1(__x);
1412:       if (__x < _Tp(__n))
1412:         {
1412: 
1412:           __En = __E1;
1412:           for (unsigned int __j = 2; __j < __n; ++__j)
1412:             __En = (std::exp(-__x) - __x * __En) / _Tp(__j - 1);
1412:         }
1412:       else
1412:         {
1412: 
1412:           __En = _Tp(1);
1412:           const int __N = __n + 20;
1412:           _Tp __save = _Tp(0);
1412:           for (int __j = __N; __j > 0; --__j)
1412:             {
1412:               __En = (std::exp(-__x) - __j * __En) / __x;
1412:               if (__j == __n)
1412:                 __save = __En;
1412:             }
1412:             _Tp __norm = __En / __E1;
1412:             __En /= __norm;
1412:         }
1412: 
1412:       return __En;
1412:     }
1412: # 290 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_Ei_series(_Tp __x)
1412:     {
1412:       _Tp __term = _Tp(1);
1412:       _Tp __sum = _Tp(0);
1412:       const unsigned int __max_iter = 1000;
1412:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1412:         {
1412:           __term *= __x / __i;
1412:           __sum += __term / __i;
1412:           if (__term < std::numeric_limits<_Tp>::epsilon() * __sum)
1412:             break;
1412:         }
1412: 
1412:       return __numeric_constants<_Tp>::__gamma_e() + __sum + std::log(__x);
1412:     }
1412: # 321 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_Ei_asymp(_Tp __x)
1412:     {
1412:       _Tp __term = _Tp(1);
1412:       _Tp __sum = _Tp(1);
1412:       const unsigned int __max_iter = 1000;
1412:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1412:         {
1412:           _Tp __prev = __term;
1412:           __term *= __i / __x;
1412:           if (__term < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:           if (__term >= __prev)
1412:             break;
1412:           __sum += __term;
1412:         }
1412: 
1412:       return std::exp(__x) * __sum / __x;
1412:     }
1412: # 354 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_Ei(_Tp __x)
1412:     {
1412:       if (__x < _Tp(0))
1412:         return -__expint_E1(-__x);
1412:       else if (__x < -std::log(std::numeric_limits<_Tp>::epsilon()))
1412:         return __expint_Ei_series(__x);
1412:       else
1412:         repe GetType() const { return m_type; }
1434:   const std::string& GetValue() const { return m_value; }
1434: 
1434: private:
1434:   bool setType(const std::string &type);
1434: 
1434:   SettingUpdateType m_type = SettingUpdateType::Unknown;
1434:   std::string m_value;
1434: 
1434:   static Logger s_logger;
1434: };
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/shared_mutex" 1 3
1434: # 32 "/usr/include/c++/12/shared_mutex" 3
1434:        
1434: # 33 "/usr/include/c++/12/shared_mutex" 3
1434: # 45 "/usr/include/c++/12/shared_mutex" 3
1434: 
1434: # 45 "/usr/include/c++/12/shared_mutex" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 58 "/usr/include/c++/12/shared_mutex" 3
1434:   class shared_mutex;
1434: 
1434: 
1434: 
1434:   class shared_timed_mutex;
1434: # 78 "/usr/include/c++/12/shared_mutex" 3
1434:   ; static inline int __glibcxx_rwlock_rdlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_rdlock (__rwlock); else return 0; }
1434:   ; static inline int __glibcxx_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_tryrdlock (__rwlock); else return 0; }
1434:   ; static inline int __glibcxx_rwlock_wrlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_wrlock (__rwlock); else return 0; }
1434:   ; static inline int __glibcxx_rwlock_trywrlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_trywrlock (__rwlock); else return 0; }
1434:   ; static inline int __glibcxx_rwlock_unlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_unlock (__rwlock); else return 0; }
1434: # 96 "/usr/include/c++/12/shared_mutex" 3
1434:    ;
1434:   static inline int
1434:   __glibcxx_rwlock_timedrdlock (pthread_rwlock_t *__rwlock,
1434:     const timespec *__ts)
1434:   {
1434:     if (__gthread_active_p ())
1434:       return pthread_rwlock_timedrdlock (__rwlock, __ts);
1434:     else
1434:       return 0;
1434:   }
1434:    ;
1434:   static inline int
1434:   __glibcxx_rwlock_timedwrlock (pthread_rwlock_t *__rwlock,
1434:     const timespec *__ts)
1434:   {
1434:     if (__gthread_active_p ())
1434:       return pthread_rwlock_timedwrlock (__rwlock, __ts);
1434:     else
1434:       return 0;
1434:   }
1434: # 152 "/usr/include/c++/12/shared_mutex" 3
1434:   class __shared_mutex_pthread
1434:   {
1434:     friend class shared_timed_mutex;
1434: 
1434: 
1434:     pthread_rwlock_t _M_rwlock = { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_DEFAULT_NP, 0, 0, 0, 0 } };
1434: 
1434:   public:
1434:     __shared_mutex_pthread() = default;
1434:     ~__shared_mutex_pthread() = default;
1434: # 187 "/usr/include/c++/12/shared_mutex" 3
1434:     __shared_mutex_pthread(const __shared_mutex_pthread&) = delete;
1434:     __shared_mutex_pthread& operator=(const __shared_mutex_pthread&) = delete;
1434: 
1434:     void
1434:     lock()
1434:     {
1434:       int __ret = __glibcxx_rwlock_wrlock(&_M_rwlock);
1434:       if (__ret == 35)
1434:  __throw_system_error(int(errc::resource_deadlock_would_occur));
1434: 
1434:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:     }
1434: 
1434:     bool
1434:     try_lock()
1434:     {
1434:       int __ret = __glibcxx_rwlock_trywrlock(&_M_rwlock);
1434:       if (__ret == 16) return false;
1434: 
1434:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:       return true;
1434:     }
1434: 
1434:     void
1434:     unlock()
1434:     {
1434:       int __ret __attribute((__unused__)) = __glibcxx_rwlock_unlock(&_M_rwlock);
1434: 
1434:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:     }
1434: 
1434: 
1434: 
1434:     void
1434:     lock_shared()
1434:     {
1434:       int __ret;
1434: 
1434: 
1434: 
1434: 
1434:       do
1434:  __ret = __glibcxx_rwlock_rdlock(&_M_rwlock);
1434:       while (__ret == 11);
1434:       if (__ret == 35)
1434:  __throw_system_error(int(errc::resource_deadlock_would_occur));
1434: 
1434:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:     }
1434: 
1434:     bool
1434:     try_lock_shared()
1434:     {
1434:       int __ret = __glibcxx_rwlock_tryrdlock(&_M_rwlock);
1434: 
1434: 
1434: 
1434:       if (__ret == 16 || __ret == 11) return false;
1434: 
1434:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:       return true;
1434:     }
1434: 
1434:     void
1434:     unlock_shared()
1434:     {
1434:       unlock();
1434:     }
1434: 
1434:     void* native_handle() { return &_M_rwlock; }
1434:   };
1434: # 409 "/usr/include/c++/12/shared_mutex" 3
1434:   class shared_mutex
1434:   {
1434:   public:
1434:     shared_mutex() = default;
1434:     ~shared_mutex() = default;
1434: 
1434:     shared_mutex(const shared_mutex&) = delete;
1434:     shared_mutex& operator=(const shared_mutex&) = delete;
1434: 
1434: 
1434: 
1434:     void lock() { _M_impl.lock(); }
1434:     bool try_lock() { return _M_impl.try_lock(); }
1434:     void unlock() { _M_impl.unlock(); }
1434: 
1434: 
1434: 
1434:     void lock_shared() { _M_impl.lock_shared(); }
1434:     bool try_lock_shared() { return _M_impl.try_lock_shared(); }
1434:     void unlock_shared() { _M_impl.unlock_shared(); }
1434: 
1434: 
1434:     typedef void* native_handle_type;
1434:     native_handle_type native_handle() { return _M_impl.native_handle(); }
1434: 
1434:   private:
1434:     __shared_mutex_pthread _M_impl;
1434: 
1434: 
1434: 
1434: 
1434:   };
1434: 
1434: 
1434: 
1434: 
1434:   using __shared_timed_mutex_base = __shared_mutex_pthread;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   class shared_timed_mutex
1434:   : private __shared_timed_mutex_base
1434:   {
1434:     using _Base = __shared_timed_mutex_base;
1434: 
1434: 
1434: 
1434:     using __clock_t = chrono::steady_clock;
1434: 
1434: 
1434: 
1434: 
1434:   public:
1434:     shared_timed_mutex() = default;
1434:     ~shared_timed_mutex() = default;
1434: 
1434:     shared_timed_mutex(const shared_timed_mutex&) = delete;
1434:     shared_timed_mutex& operator=(const shared_timed_mutex&) = delete;
1434: 
1434: 
1434: 
1434:     void lock() { _Base::lock(); }
1434:     bool try_lock() { return _Base::try_lock(); }
1434:     void unlock() { _Base::unlock(); }
1434: 
1434:     template<typename _Rep, typename _Period>
1434:       bool
1434:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1434:       {
1434:  auto __rt = chrono::duration_cast<__clock_t::duration>(__rtime);
1434:  if (ratio_greater<__clock_t::period, _Period>())
1434:    ++__rt;
1434:  return try_lock_until(__clock_t::now() + __rt);
1434:       }
1434: 
1434: 
1434: 
1434:     void lock_shared() { _Base::lock_shared(); }
1434:     bool try_lock_shared() { return _Base::try_lock_shared(); }
1434:     void unlock_shared() { _Base::unlock_shared(); }
1434: 
1434:     template<typename _Rep, typename _Period>
1434:       bool
1434:       try_lock_shared_for(const chrono::duration<_Rep, _Period>& __rtime)
1434:       {
1434:  auto __rt = chrono::duration_cast<__clock_t::duration>(__rtime);
1434:  if (ratio_greater<__clock_t::period, _Period>())
1434:    ++__rt;
1434:  return try_lock_shared_until(__clock_t::now() + __rt);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     template<typename _Duration>
1434:       bool
1434:       try_lock_until(const chrono::time_point<chrono::system_clock,
1434:        _Duration>& __atime)
1434:       {
1434:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:  __gthread_time_t __ts =
1434
1115: 
1115:   if (__beg != __end && __ctype.is(ctype_base::space, *__beg))
1115:     ++__beg;
1115:   else
1115:     __testvalid = false;
1115: 
1115:        case money_base::none:
1115: 
1115:   if (__i != 3)
1115:     for (; __beg != __end
1115:     && __ctype.is(ctype_base::space, *__beg); ++__beg);
1115:   break;
1115:        }
1115:    }
1115: 
1115: 
1115:  if (__sign_size > 1 && __testvalid)
1115:    {
1115:      const char_type* __sign = __negative ? __lc->_M_negative_sign
1115:                                           : __lc->_M_positive_sign;
1115:      size_type __i = 1;
1115:      for (; __beg != __end && __i < __sign_size
1115:      && *__beg == __sign[__i]; ++__beg, (void)++__i);
1115: 
1115:      if (__i != __sign_size)
1115:        __testvalid = false;
1115:    }
1115: 
1115:  if (__testvalid)
1115:    {
1115: 
1115:      if (__res.size() > 1)
1115:        {
1115:   const size_type __first = __res.find_first_not_of('0');
1115:   const bool __only_zeros = __first == string::npos;
1115:   if (__first)
1115:     __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
1115:        }
1115: 
1115: 
1115:      if (__negative && __res[0] != '0')
1115:        __res.insert(__res.begin(), '-');
1115: 
1115: 
1115:      if (__grouping_tmp.size())
1115:        {
1115: 
1115:   __grouping_tmp += static_cast<char>(__testdecfound ? __last_pos
1115:                          : __n);
1115:   if (!std::__verify_grouping(__lc->_M_grouping,
1115:          __lc->_M_grouping_size,
1115:          __grouping_tmp))
1115:     __err |= ios_base::failbit;
1115:        }
1115: 
1115: 
1115:      if (__testdecfound && __n != __lc->_M_frac_digits)
1115:        __testvalid = false;
1115:    }
1115: 
1115: 
1115:  if (!__testvalid)
1115:    __err |= ios_base::failbit;
1115:  else
1115:    __units.swap(__res);
1115: 
1115: 
1115:  if (__beg == __end)
1115:    __err |= ios_base::eofbit;
1115:  return __beg;
1115:       }
1115: # 368 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     money_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
1115:     ios_base::iostate& __err, long double& __units) const
1115:     {
1115:       string __str;
1115:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
1115:               : _M_extract<false>(__beg, __end, __io, __err, __str);
1115:       std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     money_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
1115:     ios_base::iostate& __err, string_type& __digits) const
1115:     {
1115:       typedef typename string::size_type size_type;
1115: 
1115:       const locale& __loc = __io._M_getloc();
1115:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:       string __str;
1115:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
1115:               : _M_extract<false>(__beg, __end, __io, __err, __str);
1115:       const size_type __len = __str.size();
1115:       if (__len)
1115:  {
1115:    __digits.resize(__len);
1115:    __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]);
1115:  }
1115:       return __beg;
1115:     }
1115: # 420 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1115:   template<typename _CharT, typename _OutIter>
1115:     template<bool _Intl>
1115:       _OutIter
1115:       money_put<_CharT, _OutIter>::
1115:       _M_insert(iter_type __s, ios_base& __io, char_type __fill,
1115:   const string_type& __digits) const
1115:       {
1115:  typedef typename string_type::size_type size_type;
1115:  typedef money_base::part part;
1115:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
1115: 
1115:  const locale& __loc = __io._M_getloc();
1115:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1turn __expint_Ei_asymp(__x);
1412:     }
1412: # 378 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_E1(_Tp __x)
1412:     {
1412:       if (__x < _Tp(0))
1412:         return -__expint_Ei(-__x);
1412:       else if (__x < _Tp(1))
1412:         return __expint_E1_series(__x);
1412:       else if (__x < _Tp(100))
1412:         return __expint_En_cont_frac(1, __x);
1412:       else
1412:         return __expint_E1_asymp(__x);
1412:     }
1412: # 408 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_asymp(unsigned int __n, _Tp __x)
1412:     {
1412:       _Tp __term = _Tp(1);
1412:       _Tp __sum = _Tp(1);
1412:       for (unsigned int __i = 1; __i <= __n; ++__i)
1412:         {
1412:           _Tp __prev = __term;
1412:           __term *= -(__n - __i + 1) / __x;
1412:           if (std::abs(__term) > std::abs(__prev))
1412:             break;
1412:           __sum += __term;
1412:         }
1412: 
1412:       return std::exp(-__x) * __sum / __x;
1412:     }
1412: # 442 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint_large_n(unsigned int __n, _Tp __x)
1412:     {
1412:       const _Tp __xpn = __x + __n;
1412:       const _Tp __xpn2 = __xpn * __xpn;
1412:       _Tp __term = _Tp(1);
1412:       _Tp __sum = _Tp(1);
1412:       for (unsigned int __i = 1; __i <= __n; ++__i)
1412:         {
1412:           _Tp __prev = __term;
1412:           __term *= (__n - 2 * (__i - 1) * __x) / __xpn2;
1412:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:           __sum += __term;
1412:         }
1412: 
1412:       return std::exp(-__x) * __sum / __xpn;
1412:     }
1412: # 476 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __expint(unsigned int __n, _Tp __x)
1412:     {
1412: 
1412:       if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__n <= 1 && __x == _Tp(0))
1412:         return std::numeric_limits<_Tp>::infinity();
1412:       else
1412:         {
1412:           _Tp __E0 = std::exp(__x) / __x;
1412:           if (__n == 0)
1412:             return __E0;
1412: 
1412:           _Tp __E1 = __expint_E1(__x);
1412:           if (__n == 1)
1412:             return __E1;
1412: 
1412:           if (__x == _Tp(0))
1412:             return _Tp(1) / static_cast<_Tp>(__n - 1);
1412: 
1412:           _Tp __En = __expint_En_recursion(__n, __x);
1412: 
1412:           return __En;
1412:         }
1412:     }
1412: # 516 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __expint(_Tp __x)
1412:     {
1412:       if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else
1412:         return __expint_Ei(__x);
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 54 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/hypergeometric.tcc" 1 3
1412: # 44 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 60 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 83 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __conf_hyperg_series(_Tp __a, _Tp __c, _Tp __x)
1412:     {
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412: 
1412:       _Tp __term = _Tp(1);
1412:       _Tp __Fac = _Tp(1);
1412:       const unsigned int __max_iter = 100000;
1412:       unsigned int __i;
1412:       for (__i = 0; __i < __max_iter; ++__i)
1412:         {
1412:           __term *= (__a + _Tp(__i)) * __x
1412:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1412:           if (std::abs(__term) < __eps)
1412:             {
1412:               break;
1412:             }
1412:           __Fac += __term;
141:    {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:  int __ret = __glibcxx_rwlock_timedwrlock(&_M_rwlock, &__ts);
1434: 
1434: 
1434:  if (__ret == 110 || __ret == 35)
1434:    return false;
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:  return true;
1434:       }
1434: 
1434: 
1434:     template<typename _Duration>
1434:       bool
1434:       try_lock_until(const chrono::time_point<chrono::steady_clock,
1434:      _Duration>& __atime)
1434:       {
1434:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:  __gthread_time_t __ts =
1434:    {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:  int __ret = pthread_rwlock_clockwrlock(&_M_rwlock, 1,
1434:             &__ts);
1434: 
1434: 
1434:  if (__ret == 110 || __ret == 35)
1434:    return false;
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:  return true;
1434:       }
1434: 
1434: 
1434:     template<typename _Clock, typename _Duration>
1434:       bool
1434:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  typename _Clock::time_point __now = _Clock::now();
1434:  do {
1434:      auto __rtime = __atime - __now;
1434:      if (try_lock_for(__rtime))
1434:        return true;
1434:      __now = _Clock::now();
1434:  } while (__atime > __now);
1434:  return false;
1434:       }
1434: 
1434: 
1434: 
1434:     template<typename _Duration>
1434:       bool
1434:       try_lock_shared_until(const chrono::time_point<chrono::system_clock,
1434:        _Duration>& __atime)
1434:       {
1434:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:  __gthread_time_t __ts =
1434:    {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:  int __ret;
1434: # 608 "/usr/include/c++/12/shared_mutex" 3
1434:  do
1434:    __ret = __glibcxx_rwlock_timedrdlock(&_M_rwlock, &__ts);
1434:  while (__ret == 11 || __ret == 35);
1434:  if (__ret == 110)
1434:    return false;
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:  return true;
1434:       }
1434: 
1434: 
1434:     template<typename _Duration>
1434:       bool
1434:       try_lock_shared_until(const chrono::time_point<chrono::steady_clock,
1434:        _Duration>& __atime)
1434:       {
1434:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1434:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1434: 
1434:  __gthread_time_t __ts =
1434:    {
1434:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1434:      static_cast<long>(__ns.count())
1434:    };
1434: 
1434:  int __ret = pthread_rwlock_clockrdlock(&_M_rwlock, 1,
1434:             &__ts);
1434: 
1434: 
1434:  if (__ret == 110 || __ret == 35)
1434:    return false;
1434: 
1434:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1434:  return true;
1434:       }
1434: 
1434: 
1434:     template<typename _Clock, typename _Duration>
1434:       bool
1434:       try_lock_shared_until(const chrono::time_point<_Clock,
1434:            _Duration>& __atime)
1434:       {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  typename _Clock::time_point __now = _Clock::now();
1434:  do {
1434:      auto __rtime = __atime - __now;
1434:      if (try_lock_shared_for(__rtime))
1434:        return true;
1434:      __now = _Clock::now();
1434:  } while (__atime > __now);
1434:  return false;
1434:       }
1434: # 710 "/usr/include/c++/12/shared_mutex" 3
1434:   };
1434: 
1434: 
1434: 
1434:   template<typename _Mutex>
1434:     class shared_lock
1434:     {
1434:     public:
1434:       typedef _Mutex mutex_type;
1434: 
1434: 
1434: 
1434:       shared_lock() noexcept : _M_pm(nullptr), _M_owns(false) { }
1434: 
1434:       explicit
1434:       shared_lock(mutex_type& __m)
1434:       : _M_pm(std::__addressof(__m)), _M_owns(true)
1434:       { __m.lock_shared(); }
1434: 
1434:       shared_lock(mutex_type& __m, defer_lock_t) noexcept
1434:       : _M_pm(std::__addressof(__m)), _M_owns(false) { }
1434: 
1434:       shared_lock(mutex_type& __m, try_to_lock_t)
1434:       : _M_pm(std::__addressof(__m)), _M_owns(__m.try_lock_shared()) { }
1434: 
1434:       shared_lock(mutex_type& __m, adopt_lock_t)
1434:       : _M_pm(std::__addressof(__m)), _M_owns(true) { }
1434: 
1434:       template<typename _Clock, typename _Duration>
1434:  shared_lock(mutex_type& __m,
1434:       const chrono::time_point<_Clock, _Duration>& __abs_time)
1434:       : _M_pm(std::__addressof(__m)),
1434:  _M_owns(__m.try_lock_shared_until(__abs_time)) { }
1434: 
1434:       template<typename _Rep, typename _Period>
1434:  shared_lock(mutex_type& __m,
1434:       const chrono::duration<_Rep, _Period>& __rel_time)
1434:       : _M_pm(std::__addressof(__m)),
1434:  _M_owns(__m.try_lock_shared_for(__rel_time)) { }
1434: 
1434:       ~shared_lock()
1434:       {
1434:  if (_M_owns)
1434:    _M_pm->unlock_shared();
1434:       }
1434: 
1434:       shared_lock(shared_lock const&) = delete;
1434:       shared_lock& operator=(shared_lock const&) = delete;
1434: 
1434:       shared_lock(shared_lock&& __sl) noexcept : shared_lock()
1434:       { swap(__sl); }
1434: 
1434:       shared_lock&
1434:       operator=(shared_lock&& __sl) noexcept
1434:       {
1434:  shared_lock(std::move(__sl)).swap(*this);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       lock()
1434:       {
1434:  _M_lockable();
1434:  _M_pm->lock_shared();
1434:  _M_owns = true;
1434:       }
1434: 
1434:       bool
1434:       try_lock()
1434:       {
1434:  _M_lockable();
1434:  return _M_owns = _M_pm->try_lock_shared();
1434:       }
1434: 
1434:       template<typename _Rep, typename _Period>
1434:  bool
1434:  try_lock_for(const chrono::duration<_Rep, _Period>& __rel_time)
1434:  {
1434:    _M_lockable();
1434:    return _M_owns = _M_pm->try_lock_shared_for(__rel_time);
1434:  }
1434: 
1434:       template<typename _Clock, typename _Duration>
1434:  bool
1434:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __abs_time)
1434:  {
1434:    _M_lockable();
1434:    return _M_owns = _M_pm->try_lock_shared_until(__abs_time);
1434:  }
1434: 
1434:       void
1434:       unlock()
1434:       {
1434:  if (!_M_owns)
1434:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1434:  _M_pm->unlock_shared();
1434:  _M_owns = false;
1434:       }
1434: 
1434: 
1434: 
1434:       void
1434:       swap(shared_lock& __u) noexcept
1434:       {
1434:  std::swap(_M_pm, __u._M_pm);
1434:  std::swap(_M_owns, __u._M_owns);
1434:       }
1434: 
1434:       mutex_type*
1434:       release() noexcept
1434:       {
1434:  _M_owns = false;
1434:  return std::__exchange(_M_pm, nullptr);
1434:       }
1434: 
1434: 
1434: 
1434:       bool owns_lock() const noexcept { return _M_owns; }
1434: 
1434:       explicit operator bool() const noexcept { return _M_owns; }
1434: 
1434:       mutex_type* mutex() const noexcept { return _M_pm; }
1434: 
1434:     private:
1434:       void
1434:       _M_lockable() const
1434:       {
1434:  if (_M_pm == nullptr)
1434:    __throw_system_error(int(errc::operation_not_permitted));
1434:  if (_M_owns)
1434:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1434:       }
1434: 
1434:       mutex_type* _M_pm;
1434:       bool _M_owns;
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _Mutex>
1434:     void
1434:     swap(shared_lock<_Mutex>& __x, shared_lock<_Mutex>& __y) noexcept
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: 
1434: }
1434: # 15 115:  __use_cache<__cache_type> __uc;
1115:  const __cache_type* __lc = __uc(__loc);
1115:  const char_type* __lit = __lc->_M_atoms;
1115: 
1115: 
1115: 
1115:  const char_type* __beg = __digits.data();
1115: 
1115:  money_base::pattern __p;
1115:  const char_type* __sign;
1115:  size_type __sign_size;
1115:  if (!(*__beg == __lit[money_base::_S_minus]))
1115:    {
1115:      __p = __lc->_M_pos_format;
1115:      __sign = __lc->_M_positive_sign;
1115:      __sign_size = __lc->_M_positive_sign_size;
1115:    }
1115:  else
1115:    {
1115:      __p = __lc->_M_neg_format;
1115:      __sign = __lc->_M_negative_sign;
1115:      __sign_size = __lc->_M_negative_sign_size;
1115:      if (__digits.size())
1115:        ++__beg;
1115:    }
1115: 
1115: 
1115:  size_type __len = __ctype.scan_not(ctype_base::digit, __beg,
1115:         __beg + __digits.size()) - __beg;
1115:  if (__len)
1115:    {
1115: 
1115: 
1115: 
1115:      string_type __value;
1115:      __value.reserve(2 * __len);
1115: 
1115: 
1115: 
1115:      long __paddec = __len - __lc->_M_frac_digits;
1115:      if (__paddec > 0)
1115:        {
1115:   if (__lc->_M_frac_digits < 0)
1115:     __paddec = __len;
1115:   if (__lc->_M_grouping_size)
1115:     {
1115:       __value.assign(2 * __paddec, char_type());
1115:       _CharT* __vend =
1115:         std::__add_grouping(&__value[0], __lc->_M_thousands_sep,
1115:        __lc->_M_grouping,
1115:        __lc->_M_grouping_size,
1115:        __beg, __beg + __paddec);
1115:       __value.erase(__vend - &__value[0]);
1115:     }
1115:   else
1115:     __value.assign(__beg, __paddec);
1115:        }
1115: 
1115: 
1115:      if (__lc->_M_frac_digits > 0)
1115:        {
1115:   __value += __lc->_M_decimal_point;
1115:   if (__paddec >= 0)
1115:     __value.append(__beg + __paddec, __lc->_M_frac_digits);
1115:   else
1115:     {
1115: 
1115:       __value.append(-__paddec, __lit[money_base::_S_zero]);
1115:       __value.append(__beg, __len);
1115:     }
1115:        }
1115: 
1115: 
1115:      const ios_base::fmtflags __f = __io.flags()
1115:                                     & ios_base::adjustfield;
1115:      __len = __value.size() + __sign_size;
1115:      __len += ((__io.flags() & ios_base::showbase)
1115:         ? __lc->_M_curr_symbol_size : 0);
1115: 
1115:      string_type __res;
1115:      __res.reserve(2 * __len);
1115: 
1115:      const size_type __width = static_cast<size_type>(__io.width());
1115:      const bool __testipad = (__f == ios_base::internal
1115:          && __len < __width);
1115: 
1115:      for (int __i = 0; __i < 4; ++__i)
1115:        {
1115:   const part __which = static_cast<part>(__p.field[__i]);
1115:   switch (__which)
1115:     {
1115:     case money_base::symbol:
1115:       if (__io.flags() & ios_base::showbase)
1115:         __res.append(__lc->_M_curr_symbol,
1115:        __lc->_M_curr_symbol_size);
1115:       break;
1115:     case money_base::sign:
1115: 
1115: 
1115: 
1115:       if (__sign_size)
1115:         __res += __sign[0];
1115:       break;
1115:     case money_base::value:
1115:       __res += __value;
1115:       break;
1115:     case money_base::space:
1115: 
1115: 
1115: 
1115:       if (__testipad)
1115:         __res.append(__width - __len, __fill);
1115:       else
1115:         __res += __fill;
1115:       break;
1115:     case money_base::none:
1115:       if (__testipad)
1115:         __res.append(__width - __len, __fill);
1115:       break;
1115:     }
1115:        }
1115: 
1115: 
1115:      if (__sign_size > 1)
1115:        __res.append(__sign + 1, __sign_size - 1);
1115: 
1115: 
1115:      __len = __res.size();
1115:      if (__width > __len)
1115:        {
1115:   if (__f == ios_base::left)
1115: 
1115:     __res.append(__width - __len, __fill);
1115:   else
1115: 
1115:     __res.insert(0, __width - __len, __fill);
1115:   __len = __width;
1115:        }
1115: 
1115: 
1115:      __s = std::__write(__s, __res.data(), __len);
1115:    }
1115:  __io.width(0);
1115:  return __s;
1115:       }
1115: # 590 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1115:   tem2:         }
1412:       if (__i == __max_iter)
1412:         std::__throw_runtime_error(("Series failed to converge " "in __conf_hyperg_series.")
1412:                                                                   );
1412: 
1412:       return __Fac;
1412:     }
1412: # 120 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __conf_hyperg_luke(_Tp __a, _Tp __c, _Tp __xin)
1412:     {
1412:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1412:       const int __nmax = 20000;
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       const _Tp __x = -__xin;
1412:       const _Tp __x3 = __x * __x * __x;
1412:       const _Tp __t0 = __a / __c;
1412:       const _Tp __t1 = (__a + _Tp(1)) / (_Tp(2) * __c);
1412:       const _Tp __t2 = (__a + _Tp(2)) / (_Tp(2) * (__c + _Tp(1)));
1412:       _Tp __F = _Tp(1);
1412:       _Tp __prec;
1412: 
1412:       _Tp __Bnm3 = _Tp(1);
1412:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1412:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1412: 
1412:       _Tp __Anm3 = _Tp(1);
1412:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1412:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1412:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1412: 
1412:       int __n = 3;
1412:       while(1)
1412:         {
1412:           _Tp __npam1 = _Tp(__n - 1) + __a;
1412:           _Tp __npcm1 = _Tp(__n - 1) + __c;
1412:           _Tp __npam2 = _Tp(__n - 2) + __a;
1412:           _Tp __npcm2 = _Tp(__n - 2) + __c;
1412:           _Tp __tnm1 = _Tp(2 * __n - 1);
1412:           _Tp __tnm3 = _Tp(2 * __n - 3);
1412:           _Tp __tnm5 = _Tp(2 * __n - 5);
1412:           _Tp __F1 = (_Tp(__n - 2) - __a) / (_Tp(2) * __tnm3 * __npcm1);
1412:           _Tp __F2 = (_Tp(__n) + __a) * __npam1
1412:                    / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1412:           _Tp __F3 = -__npam2 * __npam1 * (_Tp(__n - 2) - __a)
1412:                    / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1412:                    * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1412:           _Tp __E = -__npam1 * (_Tp(__n - 1) - __c)
1412:                    / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1412: 
1412:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1412:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1412:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1412:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1412:           _Tp __r = __An / __Bn;
1412: 
1412:           __prec = std::abs((__F - __r) / __F);
1412:           __F = __r;
1412: 
1412:           if (__prec < __eps || __n > __nmax)
1412:             break;
1412: 
1412:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1412:             {
1412:               __An /= __big;
1412:               __Bn /= __big;
1412:               __Anm1 /= __big;
1412:               __Bnm1 /= __big;
1412:               __Anm2 /= __big;
1412:               __Bnm2 /= __big;
1412:               __Anm3 /= __big;
1412:               __Bnm3 /= __big;
1412:             }
1412:           else if (std::abs(__An) < _Tp(1) / __big
1412:                 || std::abs(__Bn) < _Tp(1) / __big)
1412:             {
1412:               __An *= __big;
1412:               __Bn *= __big;
1412:               __Anm1 *= __big;
1412:               __Bnm1 *= __big;
1412:               __Anm2 *= __big;
1412:               __Bnm2 *= __big;
1412:               __Anm3 *= __big;
1412:               __Bnm3 *= __big;
1412:             }
1412: 
1412:           ++__n;
1412:           __Bnm3 = __Bnm2;
1412:           __Bnm2 = __Bnm1;
1412:           __Bnm1 = __Bn;
1412:           __Anm3 = __Anm2;
1412:           __Anm2 = __Anm1;
1412:           __Anm1 = __An;
1412:         }
1412: 
1412:       if (__n >= __nmax)
1412:         std::__throw_runtime_error(("Iteration failed to converge " "in __conf_hyperg_luke.")
1412:                                                                 );
141"/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h"
1434: class CSharedSection
1434: {
1434:   CCriticalSection sec;
1434:   XbmcThreads::ConditionVariable actualCv;
1434: 
1434:   unsigned int sharedCount = 0;
1434: 
1434: public:
1434:   inline CSharedSection() = default;
1434: 
1434:   inline void lock()
1434:   {
1434:     std::unique_lock<CCriticalSection> l(sec);
1434:     while (sharedCount)
1434:       actualCv.wait(l, [this]() { return sharedCount == 0; });
1434:     sec.lock();
1434:   }
1434:   inline bool try_lock() { return (sec.try_lock() ? ((sharedCount == 0) ? true : (sec.unlock(), false)) : false); }
1434:   inline void unlock() { sec.unlock(); }
1434: 
1434:   inline void lock_shared()
1434:   {
1434:     std::unique_lock<CCriticalSection> l(sec);
1434:     sharedCount++;
1434:   }
1434:   inline bool try_lock_shared() { return (sec.try_lock() ? sharedCount++, sec.unlock(), true : false); }
1434:   inline void unlock_shared()
1434:   {
1434:     std::unique_lock<CCriticalSection> l(sec);
1434:     sharedCount--;
1434:     if (!sharedCount)
1434:     {
1434:       actualCv.notifyAll();
1434:     }
1434:   }
1434: };
1434: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1434: # 29 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1434: enum class SettingOptionsType {
1434:   Unknown = 0,
1434:   StaticTranslatable,
1434:   Static,
1434:   Dynamic
1434: };
1434: 
1434: class CSetting;
1434: using SettingPtr = std::shared_ptr<CSetting>;
1434: using SettingConstPtr = std::shared_ptr<const CSetting>;
1434: using SettingList = std::vector<SettingPtr>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSetting : public ISetting,
1434:                  protected ISettingCallback,
1434:                  public std::enable_shared_from_this<CSetting>
1434: {
1434: public:
1434:   CSetting(const std::string& id, CSettingsManager* settingsManager = nullptr);
1434:   CSetting(const std::string& id, const CSetting& setting);
1434:   ~CSetting() override = default;
1434: 
1434:   virtual std::shared_ptr<CSetting> Clone(const std::string &id) const = 0;
1434:   void MergeBasics(const CSetting& other);
1434:   virtual void MergeDetails(const CSetting& other) = 0;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   virtual SettingType GetType() const = 0;
1434:   virtual bool FromString(const std::string &value) = 0;
1434:   virtual std::string ToString() const = 0;
1434:   virtual bool Equals(const std::string &value) const = 0;
1434:   virtual bool CheckValidity(const std::string &value) const = 0;
1434:   virtual void Reset() = 0;
1434: 
1434:   bool IsEnabled() const;
1434:   bool GetEnabled() const { return m_enabled; }
1434:   void SetEnabled(bool enabled);
1434:   bool IsDefault() const { return !m_changed; }
1434:   const std::string& GetParent() const { return m_parentSetting; }
1434:   void SetParent(const std::string& parentSetting) { m_parentSetting = parentSetting; }
1434:   SettingLevel GetLevel() const { return m_level; }
1434:   void SetLevel(SettingLevel level) { m_level = level; }
1434:   std::shared_ptr<const ISettingControl> GetControl() const { return m_control; }
1434:   std::shared_ptr<ISettingControl> GetControl() { return m_control; }
1434:   void SetControl(std::shared_ptr<ISettingControl> control) { m_control = std::move(control); }
1434:   const SettingDependencies& GetDependencies() const { return m_dependencies; }
1434:   void SetDependencies(const SettingDependencies &dependencies) { m_dependencies = dependencies; }
1434:   const std::set<CSettingUpdate>& GetUpdates() const { return m_updates; }
1434: 
1434:   void SetCallback(ISettingCallback *callback) { m_callback = callback; }
1434: 
1434:   bool IsReference() const { return !m_referencedId.empty(); }
1434:   const std::string& GetReferencedId() const { return m_referencedId; }
1434:   void SetReferencedId(const std::string& rplate<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     money_put<_CharT, _OutIter>::
1115:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1115:     long double __units) const
1115:     {
1115:       const locale __loc = __io.getloc();
1115:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115: 
1115:       int __cs_size = 64;
1115:       char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1115: 
1115: 
1115:       int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1115:      "%.*Lf", 0, __units);
1115: 
1115:       if (__len >= __cs_size)
1115:  {
1115:    __cs_size = __len + 1;
1115:    __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1115:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1115:      "%.*Lf", 0, __units);
1115:  }
1115: # 622 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1115:       string_type __digits(__len, char_type());
1115:       __ctype.widen(__cs, __cs + __len, &__digits[0]);
1115:       return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
1115:              : _M_insert<false>(__s, __io, __fill, __digits);
1115:     }
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     money_put<_CharT, _OutIter>::
1115:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
1115:     const string_type& __digits) const
1115:     { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
1115:              : _M_insert<false>(__s, __io, __fill, __digits); }
1115: # 674 "/usr/include/c++/12/bits/locale_facets_nonio.tcc" 3
1115: }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     time_base::dateorder
1115:     time_get<_CharT, _InIter>::do_date_order() const
1115:     { return time_base::no_order; }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1115:      ios_base::iostate& __err, tm* __tm,
1115:      const _CharT* __format,
1115:      __time_get_state &__state) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1115:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115:       const size_t __len = char_traits<_CharT>::length(__format);
1115: 
1115:       ios_base::iostate __tmperr = ios_base::goodbit;
1115:       size_t __i = 0;
1115:       for (; __beg != __end && __i < __len && !__tmperr; ++__i)
1115:  {
1115:    if (__ctype.narrow(__format[__i], 0) == '%')
1115:      {
1115: 
1115:        char __c = __ctype.narrow(__format[++__i], 0);
1115:        int __mem = 0;
1115:        if (__c == 'E' || __c == 'O')
1115:   __c = __ctype.narrow(__format[++__i], 0);
1115:        switch (__c)
1115:   {
1115:     const char* __cs;
1115:     _CharT __wcs[10];
1115:   case 'a':
1115:   case 'A':
1115: 
1115:     const char_type* __days[14];
1115:     __tp._M_days(&__days[0]);
1115:     __tp._M_days_abbreviated(&__days[7]);
1115:     __beg = _M_extract_name(__beg, __end, __mem, __days,
1115:        14, __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_wday = __mem % 7;
1115:         __state._M_have_wday = 1;
1115:       }
1115:     break;
1115:   case 'h':
1115:   case 'b':
1115:   case 'B':
1115: 
1115:     const char_type* __months[24];
1115:     __tp._M_months(&__months[0]);
1115:     __tp._M_months_abbreviated(&__months[12]);
1115:     __beg = _M_extract_name(__beg, __end, __mem,
1115:        __months, 24, __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_mon = __mem % 12;
1115:         __state._M_have_mon = 1;
1115:         __state._M_want_xday = 1;
1115:       }
1115:     break;
1115:   case 'c':
1115: 
1115:     const char_type* __dt[2];
1115:     __tp._M_date_time_formats(__dt);
1115:     __beg = _M_extract_via_format(__beg, __end, __io, __tmeferencedId) { m_referencedId = referencedId; }
1434:   void MakeReference(const std::string& referencedId = "");
1434: 
1434:   bool GetVisible() const { return ISetting::IsVisible(); }
1434: 
1434:   bool IsVisible() const override;
1434: 
1434: 
1434:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1434: # 106 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1434:   static bool DeserializeIdentification(const TiXmlNode* node,
1434:                                         std::string& identification,
1434:                                         bool& isReference);
1434: 
1434: protected:
1434: 
1434:   bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) override;
1434:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1434:   bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1434:                        const char* oldSettingId,
1434:                        const TiXmlNode* oldSettingNode) override;
1434:   void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1434:                                 const char* propertyName) override;
1434: 
1434:   void Copy(const CSetting &setting);
1434: 
1434:   template<class TSetting>
1434:   std::shared_ptr<TSetting> shared_from_base()
1434:   {
1434:     return std::static_pointer_cast<TSetting>(shared_from_this());
1434:   }
1434: 
1434:   ISettingCallback *m_callback = nullptr;
1434:   bool m_enabled = true;
1434:   std::string m_parentSetting;
1434:   SettingLevel m_level = SettingLevel::Standard;
1434:   std::shared_ptr<ISettingControl> m_control;
1434:   SettingDependencies m_dependencies;
1434:   std::set<CSettingUpdate> m_updates;
1434:   bool m_changed = false;
1434:   mutable CSharedSection m_critical;
1434: 
1434:   std::string m_referencedId;
1434: 
1434: private:
1434:   static Logger s_logger;
1434: };
1434: 
1434: template<typename TValue, SettingType TSettingType>
1434: class CTraitedSetting : public CSetting
1434: {
1434: public:
1434:   typedef TValue Value;
1434: 
1434: 
1434:   SettingType GetType() const override { return TSettingType; }
1434: 
1434:   static SettingType Type() { return TSettingType; }
1434: 
1434: protected:
1434:   CTraitedSetting(const std::string& id, CSettingsManager* settingsManager = nullptr)
1434:     : CSetting(id, settingsManager)
1434:   { }
1434:   CTraitedSetting(const std::string& id, const CTraitedSetting& setting) : CSetting(id, setting) {}
1434:   ~CTraitedSetting() override = default;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingList : public CSetting
1434: {
1434: public:
1434:   CSettingList(const std::string &id, std::shared_ptr<CSetting> settingDefinition, CSettingsManager *settingsManager = nullptr);
1434:   CSettingList(const std::string &id, std::shared_ptr<CSetting> settingDefinition, int label, CSettingsManager *settingsManager = nullptr);
1434:   CSettingList(const std::string &id, const CSettingList &setting);
1434:   ~CSettingList() override = default;
1434: 
1434:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1434:   void MergeDetails(const CSetting& other) override;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   SettingType GetType() const override { return SettingType::List; }
1434:   bool FromString(const std::string &value) override;
1434:   std::string ToString() const override;
1434:   bool Equals(const std::string &value) const override;
1434:   bool CheckValidity(const std::string &value) const override;
1434:   void Reset() override;
1434: 
1434:   SettingType GetElementType() const;
1434:   std::shared_ptr<CSetting> GetDefinition() { return m_definition; }
1434:   std::shared_ptr<const CSetting> GetDefinition() const { return m_definition; }
1434:   void SetDefinition(std::shared_ptr<CSetting> definition) { m_definition = std::move(definition); }
1434: 
1434:   const std::string& GetDelimiter() const { return m_delimiter; }
1434:   void SetDelimiter(const std::str2: 
1412:       return __F;
1412:     }
1412: # 227 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __conf_hyperg(_Tp __a, _Tp __c, _Tp __x)
1412:     {
1412: 
1412:       const _Tp __c_nint = ::std::nearbyint(__c);
1412: 
1412: 
1412: 
1412:       if (__isnan(__a) || __isnan(__c) || __isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__c_nint == __c && __c_nint <= 0)
1412:         return std::numeric_limits<_Tp>::infinity();
1412:       else if (__a == _Tp(0))
1412:         return _Tp(1);
1412:       else if (__c == __a)
1412:         return std::exp(__x);
1412:       else if (__x < _Tp(0))
1412:         return __conf_hyperg_luke(__a, __c, __x);
1412:       else
1412:         return __conf_hyperg_series(__a, __c, __x);
1412:     }
1412: # 271 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __hyperg_series(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1412:     {
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412: 
1412:       _Tp __term = _Tp(1);
1412:       _Tp __Fabc = _Tp(1);
1412:       const unsigned int __max_iter = 100000;
1412:       unsigned int __i;
1412:       for (__i = 0; __i < __max_iter; ++__i)
1412:         {
1412:           __term *= (__a + _Tp(__i)) * (__b + _Tp(__i)) * __x
1412:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1412:           if (std::abs(__term) < __eps)
1412:             {
1412:               break;
1412:             }
1412:           __Fabc += __term;
1412:         }
1412:       if (__i == __max_iter)
1412:         std::__throw_runtime_error(("Series failed to converge " "in __hyperg_series.")
1412:                                                              );
1412: 
1412:       return __Fabc;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template<typename _Tp>
1412:     _Tp
1412:     __hyperg_luke(_Tp __a, _Tp __b, _Tp __c, _Tp __xin)
1412:     {
1412:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1412:       const int __nmax = 20000;
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       const _Tp __x = -__xin;
1412:       const _Tp __x3 = __x * __x * __x;
1412:       const _Tp __t0 = __a * __b / __c;
1412:       const _Tp __t1 = (__a + _Tp(1)) * (__b + _Tp(1)) / (_Tp(2) * __c);
1412:       const _Tp __t2 = (__a + _Tp(2)) * (__b + _Tp(2))
1412:                      / (_Tp(2) * (__c + _Tp(1)));
1412: 
1412:       _Tp __F = _Tp(1);
1412: 
1412:       _Tp __Bnm3 = _Tp(1);
1412:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1412:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1412: 
1412:       _Tp __Anm3 = _Tp(1);
1412:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1412:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1412:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1412: 
1412:       int __n = 3;
1412:       while (1)
1412:         {
1412:           const _Tp __npam1 = _Tp(__n - 1) + __a;
1412:           const _Tp __npbm1 = _Tp(__n - 1) + __b;
1412:           const _Tp __npcm1 = _Tp(__n - 1) + __c;
1412:           const _Tp __npam2 = _Tp(__n - 2) + __a;
1412:           const _Tp __npbm2 = _Tp(__n - 2) + __b;
1412:           const _Tp __npcm2 = _Tp(__n - 2) + __c;
1412:           const _Tp __tnm1 = _Tp(2 * __n - 1);
1412:           const _Tp __tnm3 = _Tp(2 * __n - 3);
1412:           const _Tp __tnm5 = _Tp(2 * __n - 5);
1412:           const _Tp __n2 = __n * __n;
1412:           const _Tp __F1 = (_Tp(3) * __n2 + (__a + __b - _Tp(6)) * __n
1412:                          + _Tp(2) - __a * __b - _Tp(2) * (__a + __b))
1412:                          / (_Tp(2) * __tnm3 * __npcm1);
1412:           const _Tp __F2 = -(_Tp(3) * __n2 - (__a + __b + _Tp(6)) * __n
1412:                          + _Tp(2) - __a * __b) * __npam1 * __npbm1
1412:                          / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1412:           const _Tp __F3 = (__npam2 * __npam1 * __npbm2 * __npbm1
1412:ing &delimiter) { m_delimiter = delimiter; }
1434:   int GetMinimumItems() const { return m_minimumItems; }
1434:   void SetMinimumItems(int minimumItems) { m_minimumItems = minimumItems; }
1434:   int GetMaximumItems() const { return m_maximumItems; }
1434:   void SetMaximumItems(int maximumItems) { m_maximumItems = maximumItems; }
1434: 
1434:   bool FromString(const std::vector<std::string> &value);
1434: 
1434:   const SettingList& GetValue() const { return m_values; }
1434:   bool SetValue(const SettingList &values);
1434:   const SettingList& GetDefault() const { return m_defaults; }
1434:   void SetDefault(const SettingList &values);
1434: 
1434: protected:
1434:   void copy(const CSettingList &setting);
1434:   static void copy(const SettingList &srcValues, SettingList &dstValues);
1434:   bool fromString(const std::string &strValue, SettingList &values) const;
1434:   bool fromValues(const std::vector<std::string> &strValues, SettingList &values) const;
1434:   std::string toString(const SettingList &values) const;
1434: 
1434:   SettingList m_values;
1434:   SettingList m_defaults;
1434:   std::shared_ptr<CSetting> m_definition;
1434:   std::string m_delimiter = "|";
1434:   int m_minimumItems = 0;
1434:   int m_maximumItems = -1;
1434: 
1434:   static Logger s_logger;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingBool : public CTraitedSetting<bool, SettingType::Boolean>
1434: {
1434: public:
1434:   CSettingBool(const std::string &id, CSettingsManager *settingsManager = nullptr);
1434:   CSettingBool(const std::string &id, const CSettingBool &setting);
1434:   CSettingBool(const std::string &id, int label, bool value, CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingBool() override = default;
1434: 
1434:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1434:   void MergeDetails(const CSetting& other) override;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   bool FromString(const std::string &value) override;
1434:   std::string ToString() const override;
1434:   bool Equals(const std::string &value) const override;
1434:   bool CheckValidity(const std::string &value) const override;
1434:   void Reset() override { SetValue(m_default); }
1434: 
1434:   bool GetValue() const
1434:   {
1434:     std::shared_lock<CSharedSection> lock(m_critical);
1434:     return m_value;
1434:   }
1434:   bool SetValue(bool value);
1434:   bool GetDefault() const { return m_default; }
1434:   void SetDefault(bool value);
1434: 
1434: private:
1434:   static constexpr Value DefaultValue = false;
1434: 
1434:   void copy(const CSettingBool &setting);
1434:   bool fromString(const std::string &strValue, bool &value) const;
1434: 
1434:   bool m_value = DefaultValue;
1434:   bool m_default = DefaultValue;
1434: 
1434:   static Logger s_logger;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingInt : public CTraitedSetting<int, SettingType::Integer>
1434: {
1434: public:
1434:   CSettingInt(const std::string &id, CSettingsManager *settingsManager = nullptr);
1434:   CSettingInt(const std::string &id, const CSettingInt &setting);
1434:   CSettingInt(const std::string &id, int label, int value, CSettingsManager *settingsManager = nullptr);
1434:   CSettingInt(const std::string &id, int label, int value, int minimum, int step, int maximum, CSettingsManager *settingsManager = nullptr);
1434:   CSettingInt(const std::string &id, int label, int value, const TranslatableIntegerSettingOptions &options, CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingInt() override = default;
1434: 
1434:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1434:   void MergeDetails(const CSetting& other) override;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   bool FromString(const std::string &value) override;
1434:   std::string ToString() const override;
1434:   bool Equals(const std::string &value) const override;
1434:   bool CheckVperr,
1115:       __tm, __dt[0], __state);
1115:     if (!__tmperr)
1115:       __state._M_want_xday = 1;
1115:     break;
1115:   case 'C':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 99, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __state._M_century = __mem;
1115:         __state._M_have_century = 1;
1115:         __state._M_want_xday = 1;
1115:       }
1115:     break;
1115:   case 'd':
1115:   case 'e':
1115: 
1115:     if (__ctype.is(ctype_base::space, *__beg))
1115:       ++__beg;
1115:     __beg = _M_extract_num(__beg, __end, __mem, 1, 31, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_mday = __mem;
1115:         __state._M_have_mday = 1;
1115:         __state._M_want_xday = 1;
1115:       }
1115:     break;
1115:   case 'D':
1115: 
1115:     __cs = "%m/%d/%y";
1115:     __ctype.widen(__cs, __cs + 9, __wcs);
1115:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1115:       __tm, __wcs, __state);
1115:     if (!__tmperr)
1115:       __state._M_want_xday = 1;
1115:     break;
1115:   case 'H':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 23, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_hour = __mem;
1115:         __state._M_have_I = 0;
1115:       }
1115:     break;
1115:   case 'I':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_hour = __mem % 12;
1115:         __state._M_have_I = 1;
1115:       }
1115:     break;
1115:   case 'j':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 1, 366, 3,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_yday = __mem - 1;
1115:         __state._M_have_yday = 1;
1115:       }
1115:     break;
1115:   case 'm':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_mon = __mem - 1;
1115:         __state._M_have_mon = 1;
1115:       }
1115:     break;
1115:   case 'M':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 59, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       __tm->tm_min = __mem;
1115:     break;
1115:   case 'n':
1115:   case 't':
1115:     while (__beg != __end
1115:     && __ctype.is(ctype_base::space, *__beg))
1115:       ++__beg;
1115:     break;
1115:   case 'p':
1115: 
1115:     const char_type* __ampm[2];
1115:     __tp._M_am_pm(&__ampm[0]);
1115:     if (!__ampm[0][0] || !__ampm[1][0])
1115:       break;
1115:     __beg = _M_extract_name(__beg, __end, __mem, __ampm,
1115:        2, __io, __tmperr);
1115:     if (!__tmperr && __mem)
1115:       __state._M_is_pm = 1;
1115:     break;
1115:   case 'r':
1115: 
1115:     const char_type* __ampm_format;
1115:     __tp._M_am_pm_format(&__ampm_format);
1115:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1115:       __tm, __ampm_format, __state);
1115:     break;
1115:   case 'R':
1115: 
1115:     __cs = "%H:%M";
1115:     __ctype.widen(__cs, __cs + 6, __wcs);
1115:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1115:       __tm, __wcs, __state);
1115:     break;
1115:   case 'S':
1115: 
1115: 
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 60, 2,
1115: 
1115: 
1115: 
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       __tm->tm_sec = __mem;
1115:     break;
1115:   case 'T':
1115: 
1115:     __cs = "%H:%M:%S";
1115:     __ctype.widen(__cs, __cs + 9, __wcs);
1115:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1115:       __tm, __wcs, __state);
1115:     break;
1115:   case 'U':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 53, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __state._M_week_no = __mem;
1115:         __state._M_have_uweek = 1;
1115:       }
1115:     break;
1115:   case 'w':
1115alidity(const std::string &value) const override;
1434:   virtual bool CheckValidity(int value) const;
1434:   void Reset() override { SetValue(m_default); }
1434: 
1434:   int GetValue() const
1434:   {
1434:     std::shared_lock<CSharedSection> lock(m_critical);
1434:     return m_value;
1434:   }
1434:   bool SetValue(int value);
1434:   int GetDefault() const { return m_default; }
1434:   void SetDefault(int value);
1434: 
1434:   int GetMinimum() const { return m_min; }
1434:   void SetMinimum(int minimum) { m_min = minimum; }
1434:   int GetStep() const { return m_step; }
1434:   void SetStep(int step) { m_step = step; }
1434:   int GetMaximum() const { return m_max; }
1434:   void SetMaximum(int maximum) { m_max = maximum; }
1434: 
1434:   SettingOptionsType GetOptionsType() const;
1434:   const TranslatableIntegerSettingOptions& GetTranslatableOptions() const { return m_translatableOptions; }
1434:   void SetTranslatableOptions(const TranslatableIntegerSettingOptions &options) { m_translatableOptions = options; }
1434:   const IntegerSettingOptions& GetOptions() const { return m_options; }
1434:   void SetOptions(const IntegerSettingOptions &options) { m_options = options; }
1434:   const std::string& GetOptionsFillerName() const { return m_optionsFillerName; }
1434:   void SetOptionsFillerName(const std::string &optionsFillerName, void *data = nullptr)
1434:   {
1434:     m_optionsFillerName = optionsFillerName;
1434:     m_optionsFillerData = data;
1434:   }
1434:   void SetOptionsFiller(IntegerSettingOptionsFiller optionsFiller, void *data = nullptr)
1434:   {
1434:     m_optionsFiller = optionsFiller;
1434:     m_optionsFillerData = data;
1434:   }
1434:   IntegerSettingOptions GetDynamicOptions() const { return m_dynamicOptions; }
1434:   IntegerSettingOptions UpdateDynamicOptions();
1434:   SettingOptionsSort GetOptionsSort() const { return m_optionsSort; }
1434:   void SetOptionsSort(SettingOptionsSort optionsSort) { m_optionsSort = optionsSort; }
1434: 
1434: private:
1434:   static constexpr Value DefaultValue = 0;
1434:   static constexpr Value DefaultMin = DefaultValue;
1434:   static constexpr Value DefaultStep = 1;
1434:   static constexpr Value DefaultMax = DefaultValue;
1434: 
1434:   void copy(const CSettingInt &setting);
1434:   static bool fromString(const std::string &strValue, int &value);
1434: 
1434:   int m_value = DefaultValue;
1434:   int m_default = DefaultValue;
1434:   int m_min = DefaultMin;
1434:   int m_step = DefaultStep;
1434:   int m_max = DefaultMax;
1434:   TranslatableIntegerSettingOptions m_translatableOptions;
1434:   IntegerSettingOptions m_options;
1434:   std::string m_optionsFillerName;
1434:   IntegerSettingOptionsFiller m_optionsFiller = nullptr;
1434:   void *m_optionsFillerData = nullptr;
1434:   IntegerSettingOptions m_dynamicOptions;
1434:   SettingOptionsSort m_optionsSort = SettingOptionsSort::NoSorting;
1434: 
1434:   static Logger s_logger;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingNumber : public CTraitedSetting<double, SettingType::Number>
1434: {
1434: public:
1434:   CSettingNumber(const std::string &id, CSettingsManager *settingsManager = nullptr);
1434:   CSettingNumber(const std::string &id, const CSettingNumber &setting);
1434:   CSettingNumber(const std::string &id, int label, float value, CSettingsManager *settingsManager = nullptr);
1434:   CSettingNumber(const std::string &id, int label, float value, float minimum, float step, float maximum, CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingNumber() override = default;
1434: 
1434:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1434:   void MergeDetails(const CSetting& other) override;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   bool FromString(const std::string &value) override;
1434:   std::string ToString() const override;
1434:   bool Equals(const std::string &value) const override;
1434:   bool CheckValidity(const std::string &value) const override;
1434:   virtual bool C                          * (_Tp(__n - 2) - __a) * (_Tp(__n - 2) - __b))
1412:                          / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1412:                          * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1412:           const _Tp __E = -__npam1 * __npbm1 * (_Tp(__n - 1) - __c)
1412:                          / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1412: 
1412:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1412:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1412:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1412:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1412:           const _Tp __r = __An / __Bn;
1412: 
1412:           const _Tp __prec = std::abs((__F - __r) / __F);
1412:           __F = __r;
1412: 
1412:           if (__prec < __eps || __n > __nmax)
1412:             break;
1412: 
1412:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1412:             {
1412:               __An /= __big;
1412:               __Bn /= __big;
1412:               __Anm1 /= __big;
1412:               __Bnm1 /= __big;
1412:               __Anm2 /= __big;
1412:               __Bnm2 /= __big;
1412:               __Anm3 /= __big;
1412:               __Bnm3 /= __big;
1412:             }
1412:           else if (std::abs(__An) < _Tp(1) / __big
1412:                 || std::abs(__Bn) < _Tp(1) / __big)
1412:             {
1412:               __An *= __big;
1412:               __Bn *= __big;
1412:               __Anm1 *= __big;
1412:               __Bnm1 *= __big;
1412:               __Anm2 *= __big;
1412:               __Bnm2 *= __big;
1412:               __Anm3 *= __big;
1412:               __Bnm3 *= __big;
1412:             }
1412: 
1412:           ++__n;
1412:           __Bnm3 = __Bnm2;
1412:           __Bnm2 = __Bnm1;
1412:           __Bnm1 = __Bn;
1412:           __Anm3 = __Anm2;
1412:           __Anm2 = __Anm1;
1412:           __Anm1 = __An;
1412:         }
1412: 
1412:       if (__n >= __nmax)
1412:         std::__throw_runtime_error(("Iteration failed to converge " "in __hyperg_luke.")
1412:                                                            );
1412: 
1412:       return __F;
1412:     }
1412: # 438 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __hyperg_reflect(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1412:     {
1412:       const _Tp __d = __c - __a - __b;
1412:       const int __intd = std::floor(__d + _Tp(0.5L));
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       const _Tp __toler = _Tp(1000) * __eps;
1412:       const _Tp __log_max = std::log(std::numeric_limits<_Tp>::max());
1412:       const bool __d_integer = (std::abs(__d - __intd) < __toler);
1412: 
1412:       if (__d_integer)
1412:         {
1412:           const _Tp __ln_omx = std::log(_Tp(1) - __x);
1412:           const _Tp __ad = std::abs(__d);
1412:           _Tp __F1, __F2;
1412: 
1412:           _Tp __d1, __d2;
1412:           if (__d >= _Tp(0))
1412:             {
1412:               __d1 = __d;
1412:               __d2 = _Tp(0);
1412:             }
1412:           else
1412:             {
1412:               __d1 = _Tp(0);
1412:               __d2 = __d;
1412:             }
1412: 
1412:           const _Tp __lng_c = __log_gamma(__c);
1412: 
1412: 
1412:           if (__ad < __eps)
1412:             {
1412: 
1412:               __F1 = _Tp(0);
1412:             }
1412:           else
1412:             {
1412: 
1412:               bool __ok_d1 = true;
1412:               _Tp __lng_ad, __lng_ad1, __lng_bd1;
1412:               try
1412:                 {
1412:                   __lng_ad = __log_gamma(__ad);
1412:                   __lng_ad1 = __log_gamma(__a + __d1);
1412:                   __lng_bd1 = __log_gamma(__b + __d1);
1412:                 }
1412:               catch(...)
1412:                 {
1412:                   __ok_d1 = false;
1412:                 }
1412: 
1412:               if (__ok_d1)
1412:                 {
1412: 
1412: 
1412: 
1412:                   _Tp heckValidity(double value) const;
1434:   void Reset() override { SetValue(m_default); }
1434: 
1434:   double GetValue() const
1434:   {
1434:     std::shared_lock<CSharedSection> lock(m_critical);
1434:     return m_value;
1434:   }
1434:   bool SetValue(double value);
1434:   double GetDefault() const { return m_default; }
1434:   void SetDefault(double value);
1434: 
1434:   double GetMinimum() const { return m_min; }
1434:   void SetMinimum(double minimum) { m_min = minimum; }
1434:   double GetStep() const { return m_step; }
1434:   void SetStep(double step) { m_step = step; }
1434:   double GetMaximum() const { return m_max; }
1434:   void SetMaximum(double maximum) { m_max = maximum; }
1434: 
1434: private:
1434:   static constexpr Value DefaultValue = 0.0;
1434:   static constexpr Value DefaultMin = DefaultValue;
1434:   static constexpr Value DefaultStep = 1.0;
1434:   static constexpr Value DefaultMax = DefaultValue;
1434: 
1434:   virtual void copy(const CSettingNumber &setting);
1434:   static bool fromString(const std::string &strValue, double &value);
1434: 
1434:   double m_value = DefaultValue;
1434:   double m_default = DefaultValue;
1434:   double m_min = DefaultMin;
1434:   double m_step = DefaultStep;
1434:   double m_max = DefaultMax;
1434: 
1434:   static Logger s_logger;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingString : public CTraitedSetting<std::string, SettingType::String>
1434: {
1434: public:
1434:   CSettingString(const std::string &id, CSettingsManager *settingsManager = nullptr);
1434:   CSettingString(const std::string &id, const CSettingString &setting);
1434:   CSettingString(const std::string &id, int label, const std::string &value, CSettingsManager *settingsManager = nullptr);
1434:   ~CSettingString() override = default;
1434: 
1434:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1434:   void MergeDetails(const CSetting& other) override;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   bool FromString(const std::string &value) override { return SetValue(value); }
1434:   std::string ToString() const override { return m_value; }
1434:   bool Equals(const std::string &value) const override { return m_value == value; }
1434:   bool CheckValidity(const std::string &value) const override;
1434:   void Reset() override { SetValue(m_default); }
1434: 
1434:   virtual const std::string& GetValue() const
1434:   {
1434:     std::shared_lock<CSharedSection> lock(m_critical);
1434:     return m_value;
1434:   }
1434:   virtual bool SetValue(const std::string &value);
1434:   virtual const std::string& GetDefault() const { return m_default; }
1434:   virtual void SetDefault(const std::string &value);
1434: 
1434:   virtual bool AllowEmpty() const { return m_allowEmpty; }
1434:   void SetAllowEmpty(bool allowEmpty) { m_allowEmpty = allowEmpty; }
1434:   virtual bool AllowNewOption() const { return m_allowNewOption; }
1434:   void SetAllowNewOption(bool allowNewOption) { m_allowNewOption = allowNewOption; }
1434: 
1434:   SettingOptionsType GetOptionsType() const;
1434:   const TranslatableStringSettingOptions& GetTranslatableOptions() const { return m_translatableOptions; }
1434:   void SetTranslatableOptions(const TranslatableStringSettingOptions &options) { m_translatableOptions = options; }
1434:   const StringSettingOptions& GetOptions() const { return m_options; }
1434:   void SetOptions(const StringSettingOptions &options) { m_options = options; }
1434:   const std::string& GetOptionsFillerName() const { return m_optionsFillerName; }
1434:   void SetOptionsFillerName(const std::string &optionsFillerName, void *data = nullptr)
1434:   {
1434:     m_optionsFillerName = optionsFillerName;
1434:     m_optionsFillerData = data;
1434:   }
1434:   void SetOptionsFiller(StringSettingOptionsFiller optionsFiller, void *data = nullptr)
1434:   {
1434:     m_optionsFiller = optionsFiller;
1434:     m_optionsFillerData = data;
1434:   }
1434:   StringSettingOptions GetDynamicOptions() const { ret: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 6, 1,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_wday = __mem;
1115:         __state._M_have_wday = 1;
1115:       }
1115:     break;
1115:   case 'W':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 53, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __state._M_week_no = __mem;
1115:         __state._M_have_wweek = 1;
1115:       }
1115:     break;
1115:   case 'x':
1115: 
1115:     const char_type* __dates[2];
1115:     __tp._M_date_formats(__dates);
1115:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1115:       __tm, __dates[0], __state);
1115:     break;
1115:   case 'X':
1115: 
1115:     const char_type* __times[2];
1115:     __tp._M_time_formats(__times);
1115:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
1115:       __tm, __times[0], __state);
1115:     break;
1115:   case 'y':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 99, 2,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __state._M_want_century = 1;
1115:         __state._M_want_xday = 1;
1115: 
1115: 
1115:         __c = 0;
1115:         if (__beg != __end)
1115:    __c = __ctype.narrow(*__beg, '*');
1115:         if (__c >= '0' && __c <= '9')
1115:    {
1115:      ++__beg;
1115:      __mem = __mem * 10 + (__c - '0');
1115:      if (__beg != __end)
1115:        {
1115:          __c = __ctype.narrow(*__beg, '*');
1115:          if (__c >= '0' && __c <= '9')
1115:     {
1115:       ++__beg;
1115:       __mem = __mem * 10 + (__c - '0');
1115:     }
1115:        }
1115:      __mem -= 1900;
1115:      __state._M_want_century = 0;
1115:    }
1115: 
1115: 
1115:         else if (__mem < 69)
1115:    __mem += 100;
1115:         __tm->tm_year = __mem;
1115:       }
1115:     break;
1115:   case 'Y':
1115: 
1115:     __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
1115:       __io, __tmperr);
1115:     if (!__tmperr)
1115:       {
1115:         __tm->tm_year = __mem - 1900;
1115:         __state._M_want_century = 0;
1115:         __state._M_want_xday = 1;
1115:       }
1115:     break;
1115:   case 'Z':
1115: 
1115:     if (__ctype.is(ctype_base::upper, *__beg))
1115:       {
1115:         int __tmp;
1115:         __beg = _M_extract_name(__beg, __end, __tmp,
1115:            __timepunct_cache<_CharT>::_S_timezones,
1115:            14, __io, __tmperr);
1115: 
1115: 
1115:         if (__beg != __end && !__tmperr && __tmp == 0
1115:      && (*__beg == __ctype.widen('-')
1115:          || *__beg == __ctype.widen('+')))
1115:    {
1115:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2,
1115:        __io, __tmperr);
1115:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2,
1115:        __io, __tmperr);
1115:    }
1115:       }
1115:     else
1115:       __tmperr |= ios_base::failbit;
1115:     break;
1115:   case '%':
1115:     if (*__beg == __ctype.widen('%'))
1115:       ++__beg;
1115:     else
1115:       __tmperr |= ios_base::failbit;
1115:     break;
1115:   default:
1115: 
1115:     __tmperr |= ios_base::failbit;
1115:   }
1115:      }
1115:    else if (__ctype.is(ctype_base::space, __format[__i]))
1115:      {
1115: 
1115:        while (__beg != __end
1115:        && __ctype.is(ctype_base::space, *__beg))
1115:   ++__beg;
1115:      }
1115:    else
1115:      {
1115: 
1115: 
1115:        if (__ctype.tolower(__format[__i]) == __ctype.tolower(*__beg)
1115:     || __ctype.toupper(__format[__i]) == __ctype.toupper(*__beg))
1115:   ++__beg;
1115:        else
1115:   __tmperr |= ios_base::failbit;
1115:      }
1115:  }
1115: 
1115:       if (__tmperr || __i != __len)
1115:  __err |= ios_base::failbit;
1115: 
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
1115:      ios_base::iostate& __err, tm* __tm,
1115:      consturn m_dynamicOptions; }
1434:   StringSettingOptions UpdateDynamicOptions();
1434:   SettingOptionsSort GetOptionsSort() const { return m_optionsSort; }
1434:   void SetOptionsSort(SettingOptionsSort optionsSort) { m_optionsSort = optionsSort; }
1434: 
1434: protected:
1434:   static const Value DefaultValue;
1434: 
1434:   virtual void copy(const CSettingString &setting);
1434: 
1434:   std::string m_value;
1434:   std::string m_default;
1434:   bool m_allowEmpty = false;
1434:   bool m_allowNewOption = false;
1434:   TranslatableStringSettingOptions m_translatableOptions;
1434:   StringSettingOptions m_options;
1434:   std::string m_optionsFillerName;
1434:   StringSettingOptionsFiller m_optionsFiller = nullptr;
1434:   void *m_optionsFillerData = nullptr;
1434:   StringSettingOptions m_dynamicOptions;
1434:   SettingOptionsSort m_optionsSort = SettingOptionsSort::NoSorting;
1434: 
1434:   static Logger s_logger;
1434: };
1434: # 506 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1434: class CSettingAction : public CSetting
1434: {
1434: public:
1434:   CSettingAction(const std::string &id, CSettingsManager *settingsManager = nullptr);
1434:   CSettingAction(const std::string &id, int label, CSettingsManager *settingsManager = nullptr);
1434:   CSettingAction(const std::string &id, const CSettingAction &setting);
1434:   ~CSettingAction() override = default;
1434: 
1434:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1434:   void MergeDetails(const CSetting& other) override;
1434: 
1434:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1434: 
1434:   SettingType GetType() const override { return SettingType::Action; }
1434:   bool FromString(const std::string &value) override { return CheckValidity(value); }
1434:   std::string ToString() const override { return ""; }
1434:   bool Equals(const std::string &value) const override { return value.empty(); }
1434:   bool CheckValidity(const std::string &value) const override { return value.empty(); }
1434:   void Reset() override { }
1434: 
1434:   bool HasData() const { return !m_data.empty(); }
1434:   const std::string& GetData() const { return m_data; }
1434:   void SetData(const std::string& data) { m_data = data; }
1434: 
1434: protected:
1434:   virtual void copy(const CSettingAction& setting);
1434: 
1434:   std::string m_data;
1434: 
1434:   static Logger s_logger;
1434: };
1434: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsValueSerializer.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsValueSerializer.h"
1434:        
1434: 
1434: 
1434: 
1434: class CSettingsManager;
1434: 
1434: class ISettingsValueSerializer
1434: {
1434: public:
1434:   virtual ~ISettingsValueSerializer() = default;
1434: 
1434:   virtual std::string SerializeValues(const CSettingsManager* settingsManager) const = 0;
1434: };
1434: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h" 2
1434: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434: # 1 "/usr/include/c++/12/unordered_set" 1 3
1434: # 32 "/usr/include/c++/12/unordered_set" 3
1434:        
1434: # 33 "/usr/include/c++/12/unordered_set" 3
1434: # 47 "/usr/include/c++/12/unordered_set" 3
1434: # 1 "/usr/include/c++/12/bits/unordered_set.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/unordered_set.h" 3
1434: 
1434: # 33 "/usr/include/c++/12/bits/unordered_set.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   template<bool _Cache>
1434:     using __uset_traits = __detail::_Hashtable_traits<_Cache, true, true>;
1434: 
1434:   template<typename _Value,
1434:     typename _Hash = hash<_Value>,
1434:     typename _Pred = std__sum1 = _Tp(1);
1412:                   _Tp __term = _Tp(1);
1412:                   _Tp __ln_pre1 = __lng_ad + __lng_c + __d2 * __ln_omx
1412:                                 - __lng_ad1 - __lng_bd1;
1412: 
1412: 
1412: 
1412:                   for (int __i = 1; __i < __ad; ++__i)
1412:                     {
1412:                       const int __j = __i - 1;
1412:                       __term *= (__a + __d2 + __j) * (__b + __d2 + __j)
1412:                               / (_Tp(1) + __d2 + __j) / __i * (_Tp(1) - __x);
1412:                       __sum1 += __term;
1412:                     }
1412: 
1412:                   if (__ln_pre1 > __log_max)
1412:                     std::__throw_runtime_error(("Overflow of gamma functions" " in __hyperg_luke.")
1412:                                                                         );
1412:                   else
1412:                     __F1 = std::exp(__ln_pre1) * __sum1;
1412:                 }
1412:               else
1412:                 {
1412: 
1412: 
1412:                   __F1 = _Tp(0);
1412:                 }
1412:             }
1412: 
1412: 
1412:           bool __ok_d2 = true;
1412:           _Tp __lng_ad2, __lng_bd2;
1412:           try
1412:             {
1412:               __lng_ad2 = __log_gamma(__a + __d2);
1412:               __lng_bd2 = __log_gamma(__b + __d2);
1412:             }
1412:           catch(...)
1412:             {
1412:               __ok_d2 = false;
1412:             }
1412: 
1412:           if (__ok_d2)
1412:             {
1412: 
1412: 
1412:               const int __maxiter = 2000;
1412:               const _Tp __psi_1 = -__numeric_constants<_Tp>::__gamma_e();
1412:               const _Tp __psi_1pd = __psi(_Tp(1) + __ad);
1412:               const _Tp __psi_apd1 = __psi(__a + __d1);
1412:               const _Tp __psi_bpd1 = __psi(__b + __d1);
1412: 
1412:               _Tp __psi_term = __psi_1 + __psi_1pd - __psi_apd1
1412:                              - __psi_bpd1 - __ln_omx;
1412:               _Tp __fact = _Tp(1);
1412:               _Tp __sum2 = __psi_term;
1412:               _Tp __ln_pre2 = __lng_c + __d1 * __ln_omx
1412:                             - __lng_ad2 - __lng_bd2;
1412: 
1412: 
1412:               int __j;
1412:               for (__j = 1; __j < __maxiter; ++__j)
1412:                 {
1412: 
1412: 
1412:                   const _Tp __term1 = _Tp(1) / _Tp(__j)
1412:                                     + _Tp(1) / (__ad + __j);
1412:                   const _Tp __term2 = _Tp(1) / (__a + __d1 + _Tp(__j - 1))
1412:                                     + _Tp(1) / (__b + __d1 + _Tp(__j - 1));
1412:                   __psi_term += __term1 - __term2;
1412:                   __fact *= (__a + __d1 + _Tp(__j - 1))
1412:                           * (__b + __d1 + _Tp(__j - 1))
1412:                           / ((__ad + __j) * __j) * (_Tp(1) - __x);
1412:                   const _Tp __delta = __fact * __psi_term;
1412:                   __sum2 += __delta;
1412:                   if (std::abs(__delta) < __eps * std::abs(__sum2))
1412:                     break;
1412:                 }
1412:               if (__j == __maxiter)
1412:                 std::__throw_runtime_error(("Sum F2 failed to converge " "in __hyperg_reflect")
1412:                                                                      );
1412: 
1412:               if (__sum2 == _Tp(0))
1412:                 __F2 = _Tp(0);
1412:               else
1412:                 __F2 = std::exp(__ln_pre2) * __sum2;
1412:             }
1412:           else
1412:             {
1412: 
1412: 
1412:               __F2 = _Tp(0);
1412:             }
1412: 
1412:           const _Tp __sgn_2 = (__intd % 2 == 1 ? -_Tp(1) : _Tp(1));
1412:           const _Tp __F = __F1 + __sgn_2 * __F2;
1412: 
1412:           return __F;
1412:         }
1412:       else
1412:         {
1412: 
1412: 
1412: 
1412: 
1412:           bool __ok1 = true;
1412:           _Tp __sgn_g1ca = _Tp(0), __ln_g1ca = _Tp(0);
1412:           _Tp __sgn_g1cb = _Tp(0), __ln_g1cb = _Tp(0);
1412:           try
1412:           ::equal_to<_Value>,
1434:       typename _Alloc = std::allocator<_Value>,
1434:     typename _Tr = __uset_traits<__cache_default<_Value, _Hash>::value>>
1434:     using __uset_hashtable = _Hashtable<_Value, _Value, _Alloc,
1434:      __detail::_Identity, _Pred, _Hash,
1434:      __detail::_Mod_range_hashing,
1434:      __detail::_Default_ranged_hash,
1434:      __detail::_Prime_rehash_policy, _Tr>;
1434: 
1434: 
1434:   template<bool _Cache>
1434:     using __umset_traits = __detail::_Hashtable_traits<_Cache, true, false>;
1434: 
1434:   template<typename _Value,
1434:     typename _Hash = hash<_Value>,
1434:     typename _Pred = std::equal_to<_Value>,
1434:     typename _Alloc = std::allocator<_Value>,
1434:     typename _Tr = __umset_traits<__cache_default<_Value, _Hash>::value>>
1434:     using __umset_hashtable = _Hashtable<_Value, _Value, _Alloc,
1434:       __detail::_Identity,
1434:       _Pred, _Hash,
1434:       __detail::_Mod_range_hashing,
1434:       __detail::_Default_ranged_hash,
1434:       __detail::_Prime_rehash_policy, _Tr>;
1434: 
1434:   template<class _Value, class _Hash, class _Pred, class _Alloc>
1434:     class unordered_multiset;
1434: # 93 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:   template<typename _Value,
1434:     typename _Hash = hash<_Value>,
1434:     typename _Pred = equal_to<_Value>,
1434:     typename _Alloc = allocator<_Value>>
1434:     class unordered_set
1434:     {
1434:       typedef __uset_hashtable<_Value, _Hash, _Pred, _Alloc> _Hashtable;
1434:       _Hashtable _M_h;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::key_type key_type;
1434:       typedef typename _Hashtable::value_type value_type;
1434:       typedef typename _Hashtable::hasher hasher;
1434:       typedef typename _Hashtable::key_equal key_equal;
1434:       typedef typename _Hashtable::allocator_type allocator_type;
1434: 
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::pointer pointer;
1434:       typedef typename _Hashtable::const_pointer const_pointer;
1434:       typedef typename _Hashtable::reference reference;
1434:       typedef typename _Hashtable::const_reference const_reference;
1434:       typedef typename _Hashtable::iterator iterator;
1434:       typedef typename _Hashtable::const_iterator const_iterator;
1434:       typedef typename _Hashtable::local_iterator local_iterator;
1434:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1434:       typedef typename _Hashtable::size_type size_type;
1434:       typedef typename _Hashtable::difference_type difference_type;
1434: 
1434: 
1434: 
1434:       using node_type = typename _Hashtable::node_type;
1434:       using insert_return_type = typename _Hashtable::insert_return_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_set() = default;
1434: # 144 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       explicit
1434:       unordered_set(size_type __n,
1434:       const hasher& __hf = hasher(),
1434:       const key_equal& __eql = key_equal(),
1434:       const allocator_type& __a = allocator_type())
1434:       : _M_h(__n, __hf, __eql, __a)
1434:       { }
1434: # 165 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename _InputIterator>
1434:  unordered_set(_InputIterator __first, _InputIterator __last,
1434:         size_type __n = 0,
1434:         const hasher& __hf = hasher(),
1434:         const key_equal& __eql = key_equal(),
1434:         const allocator_type& __a = allocator_type())
1434:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1434:  { }
1434: 
1434: 
1434:       unordered_set(const unordered_set&) = default;
1434: 
1434: 
1434:       unordered_set(unordered_set&&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       unordered_set(const allocator_type& __a)
1434:       : _M_h(__a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_set(const unordered_set& __uset,
1434:       const allocator_type& __a)
1434:       : _M_h(__uset._M_h, __a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_set(unordered_set&& __uset,
1434:       const allocator_type& __a)
1434:  noexcept( noexcept(_Hashtable(std::move(__uset._M_h), __a)) )
1434:       : _M_h(std::move(__uset._M_h), __a)
1434:       { }
1434: # 221 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       unordered_set(initializer_list<value_type> __l,
1434:       size_type __n = 0,
1434:       const hasher& __hf = hasher(),
1434:       const key_equal& __eql = key_equal(),
1434:       const allocator_type& __a = allocator_type())
1434:       : _M_h(__l, __n, __hf, __eql, __a)
1434:       { }
1434: 
1434:       unordered_set(size_type __n, const allocator_type& __a)
1434:       : unordered_set(__n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_set(size_type __n, const hasher& __hf,
1434:       const allocator_type& __a)
1434:       : unordered_set(__n, __hf, key_equal(), __a)
1434:       { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_set(_InputIterator __first, _InputIterator __last,
1434:         size_type __n,
1434:         const allocator_type& __a)
1434:  : unordered_set(__first, __last, __n, hasher(), key_equal(), __a)
1434:  { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_set(_InputIterator __first, _InputIterator __last,
1434:         size_type __n, const hasher& __hf,
1434:         const allocator_type& __a)
1434:  : unordered_set(__first, __last, __n, __hf, key_equal(), __a)
1434:  { }
1434: 
1434:       unordered_set(initializer_list<value_type> __l,
1434:       size_type __n,
1434:       const allocator_type& __a)
1434:       : unordered_set(__l, __n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_set(initializer_list<value_type> __l,
1434:       size_type __n, const hasher& __hf,
1434:       const allocator_type& __a)
1434:       : unordered_set(__l, __n, __hf, key_equal(), __a)
1434:       { }
1434: 
1434: 
1434:       unordered_set&
1434:       operator=(const unordered_set&) = default;
1434: 
1434: 
1434:       unordered_set&
1434:       operator=(unordered_set&&) = default;
1434: # 283 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       unordered_set&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_h = __l;
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return _M_h.get_allocator(); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_h.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_h.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_h.max_size(); }
1434: # 319 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       begin() noexcept
1434:       { return _M_h.begin(); }
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return _M_h.end(); }
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return _M_h.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return _M_h.end(); }
1434: # 375 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename... _Args>
1434:  std::pair<iterator, bool>
1434:  emplace(_Args&&... __args)
1434:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1434: # 401 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1434: # 420 "/us _CharT* __format) const
1115:     {
1115:       __time_get_state __state = __time_get_state();
1115:       return _M_extract_via_format(__beg, __end, __io, __err, __tm,
1115:        __format, __state);
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     _M_extract_num(iter_type __beg, iter_type __end, int& __member,
1115:      int __min, int __max, size_t __len,
1115:      ios_base& __io, ios_base::iostate& __err) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:       size_t __i = 0;
1115:       int __value = 0;
1115:       for (; __beg != __end && __i < __len; ++__beg, (void)++__i)
1115:  {
1115:    const char __c = __ctype.narrow(*__beg, '*');
1115:    if (__c >= '0' && __c <= '9')
1115:      {
1115:        __value = __value * 10 + (__c - '0');
1115:        if (__value > __max)
1115:   break;
1115:      }
1115:    else
1115:      break;
1115:  }
1115:       if (__i && __value >= __min && __value <= __max)
1115:  __member = __value;
1115:       else
1115:  __err |= ios_base::failbit;
1115: 
1115:       return __beg;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     _M_extract_name(iter_type __beg, iter_type __end, int& __member,
1115:       const _CharT** __names, size_t __indexlen,
1115:       ios_base& __io, ios_base::iostate& __err) const
1115:     {
1115:       typedef char_traits<_CharT> __traits_type;
1115:       const locale& __loc = __io._M_getloc();
1115:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:       size_t* __matches
1115:  = static_cast<size_t*>(__builtin_alloca(2 * sizeof(size_t)
1115:       * __indexlen));
1115:       size_t* __lengths = __matches + __indexlen;
1115:       size_t __nmatches = 0;
1115:       size_t __pos = 0;
1115:       bool __testvalid = true;
1115:       const char_type* __name;
1115:       bool __begupdated = false;
1115: 
1115: 
1115:       if (__beg != __end)
1115:  {
1115:    const char_type __c = *__beg;
1115: 
1115:    const char_type __cl = __ctype.tolower(__c);
1115:    const char_type __cu = __ctype.toupper(__c);
1115:    for (size_t __i1 = 0; __i1 < __indexlen; ++__i1)
1115:      if (__cl == __ctype.tolower(__names[__i1][0])
1115:   || __cu == __ctype.toupper(__names[__i1][0]))
1115:        {
1115:   __lengths[__nmatches]
1115:     = __traits_type::length(__names[__i1]);
1115:   __matches[__nmatches++] = __i1;
1115:        }
1115:  }
1115: 
1115:       while (__nmatches > 1)
1115:  {
1115: 
1115:    size_t __minlen = __lengths[0];
1115:    for (size_t __i2 = 1; __i2 < __nmatches; ++__i2)
1115:      __minlen = std::min(__minlen, __lengths[__i2]);
1115:    ++__pos;
1115:    ++__beg;
1115:    if (__pos == __minlen)
1115:      {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:        bool __match_longer = false;
1115: 
1115:        if (__beg != __end)
1115:   {
1115: 
1115:     const char_type __cl = __ctype.tolower(*__beg);
1115:     const char_type __cu = __ctype.toupper(*__beg);
1115:     for (size_t __i3 = 0; __i3 < __nmatches; ++__i3)
1115:       {
1115:         __name = __names[__matches[__i3]];
1115:         if (__lengths[__i3] > __pos
1115:      && (__ctype.tolower(__name[__pos]) == __cl
1115:          || __ctype.toupper(__name[__pos]) == __cu))
1115:    {
1115:      __match_longer = true;
1115:      break;
1115:    }
1115:       }
1115:   }
1115:        for (size_t __i4 = 0; __i4 < __nmatches;)
1115:   if (__match_longer == (__lengths[__i4] == __pos))
1115:     {
1115:       __matches[__i4] = __matches[--__nmatches];
1115:       __lengths[__i4] = __lengths[__nmatches];
1115:     }
1115:   else
1115:     ++__i4;
1115:        if (__match_longer)
1115:   {
1115:     __minlen = __lengths[0];
1115:     for (size_t __i5 = 1; __i5 < __nmatches; ++__i5)
1115:       __minlen = std::min(__minlen, __lengths[__i5]);
1115:   }
1115  {
1412:               __sgn_g1ca = __log_gamma_sign(__c - __a);
1412:               __ln_g1ca = __log_gamma(__c - __a);
1412:               __sgn_g1cb = __log_gamma_sign(__c - __b);
1412:               __ln_g1cb = __log_gamma(__c - __b);
1412:             }
1412:           catch(...)
1412:             {
1412:               __ok1 = false;
1412:             }
1412: 
1412:           bool __ok2 = true;
1412:           _Tp __sgn_g2a = _Tp(0), __ln_g2a = _Tp(0);
1412:           _Tp __sgn_g2b = _Tp(0), __ln_g2b = _Tp(0);
1412:           try
1412:             {
1412:               __sgn_g2a = __log_gamma_sign(__a);
1412:               __ln_g2a = __log_gamma(__a);
1412:               __sgn_g2b = __log_gamma_sign(__b);
1412:               __ln_g2b = __log_gamma(__b);
1412:             }
1412:           catch(...)
1412:             {
1412:               __ok2 = false;
1412:             }
1412: 
1412:           const _Tp __sgn_gc = __log_gamma_sign(__c);
1412:           const _Tp __ln_gc = __log_gamma(__c);
1412:           const _Tp __sgn_gd = __log_gamma_sign(__d);
1412:           const _Tp __ln_gd = __log_gamma(__d);
1412:           const _Tp __sgn_gmd = __log_gamma_sign(-__d);
1412:           const _Tp __ln_gmd = __log_gamma(-__d);
1412: 
1412:           const _Tp __sgn1 = __sgn_gc * __sgn_gd * __sgn_g1ca * __sgn_g1cb;
1412:           const _Tp __sgn2 = __sgn_gc * __sgn_gmd * __sgn_g2a * __sgn_g2b;
1412: 
1412:           _Tp __pre1, __pre2;
1412:           if (__ok1 && __ok2)
1412:             {
1412:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1412:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1412:                             + __d * std::log(_Tp(1) - __x);
1412:               if (__ln_pre1 < __log_max && __ln_pre2 < __log_max)
1412:                 {
1412:                   __pre1 = std::exp(__ln_pre1);
1412:                   __pre2 = std::exp(__ln_pre2);
1412:                   __pre1 *= __sgn1;
1412:                   __pre2 *= __sgn2;
1412:                 }
1412:               else
1412:                 {
1412:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1412:                                                                        );
1412:                 }
1412:             }
1412:           else if (__ok1 && !__ok2)
1412:             {
1412:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1412:               if (__ln_pre1 < __log_max)
1412:                 {
1412:                   __pre1 = std::exp(__ln_pre1);
1412:                   __pre1 *= __sgn1;
1412:                   __pre2 = _Tp(0);
1412:                 }
1412:               else
1412:                 {
1412:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1412:                                                                        );
1412:                 }
1412:             }
1412:           else if (!__ok1 && __ok2)
1412:             {
1412:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1412:                             + __d * std::log(_Tp(1) - __x);
1412:               if (__ln_pre2 < __log_max)
1412:                 {
1412:                   __pre1 = _Tp(0);
1412:                   __pre2 = std::exp(__ln_pre2);
1412:                   __pre2 *= __sgn2;
1412:                 }
1412:               else
1412:                 {
1412:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1412:                                                                        );
1412:                 }
1412:             }
1412:           else
1412:             {
1412:               __pre1 = _Tp(0);
1412:               __pre2 = _Tp(0);
1412:               std::__throw_runtime_error(("Underflow of gamma functions " "in __hyperg_reflect")
1412:                                                                    );
1412:             }
1412: 
1412:           const _Tp __F1 = __hyperg_series(__a, __b, _Tp(1) - __d,
1412:  r/include/c++/12/bits/unordered_set.h" 3
1434:       std::pair<iterator, bool>
1434:       insert(const value_type& __x)
1434:       { return _M_h.insert(__x); }
1434: 
1434:       std::pair<iterator, bool>
1434:       insert(value_type&& __x)
1434:       { return _M_h.insert(std::move(__x)); }
1434: # 449 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       insert(const_iterator __hint, const value_type& __x)
1434:       { return _M_h.insert(__hint, __x); }
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, value_type&& __x)
1434:       { return _M_h.insert(__hint, std::move(__x)); }
1434: # 467 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_h.insert(__first, __last); }
1434: # 479 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { _M_h.insert(__l); }
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_h.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __key)
1434:       { return _M_h.extract(__key); }
1434: 
1434: 
1434:       insert_return_type
1434:       insert(node_type&& __nh)
1434:       { return _M_h._M_reinsert_node(std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator, node_type&& __nh)
1434:       { return _M_h._M_reinsert_node(std::move(__nh)).position; }
1434: # 522 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_h.erase(__position); }
1434: 
1434: 
1434:       iterator
1434:       erase(iterator __position)
1434:       { return _M_h.erase(__position); }
1434: # 544 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_h.erase(__x); }
1434: # 562 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       { return _M_h.erase(__first, __last); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       clear() noexcept
1434:       { _M_h.clear(); }
1434: # 585 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       swap(unordered_set& __x)
1434:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1434:       { _M_h.swap(__x._M_h); }
1434: 
1434: 
1434:       template<typename, typename, typename>
1434:  friend class std::_Hash_merge_helper;
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_set<_Value, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Hash_merge_helper<unordered_set, _H2, _P2>;
1434:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_set<_Value, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multiset<_Value, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper = _Hash_merge_helper<unordered_set, _H2, _P2>;
1434:    _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multiset<_Value, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       hasher
1434:       hash_function() const
1434:       { return _M_h.hash_function(); }
1434: 
1434: 
1434: 
1434:       key_equal
1434:       key_eq() const
1434:       { return _M_h.key_eq(); }
1434: # 649 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_h.find(__x); }
1434: # 661 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_h.find(__x); }
1434: # 684 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_h.count(__x); }
1434: # 725 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_h.equal_range(__x); }
1434: # 737 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_h.equal_range(__x); }
1434: # 753 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       size_type
1434:       bucket_count() const noexcept
1434:       { return _M_h.bucket_count(); }
1434: 
1434: 
1434:       size_type
1434:       max_bucket_count() const noexcept
1434:       { return _M_h.max_bucket_count(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket_size(size_type __n) const
1434:       { return _M_h.bucket_size(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket(const key_type& __key) const
1434:       { return _M_h.bucket(__key); }
1434: # 787 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       local_iterator
1434:       begin(size_type __n)
1434:       { return _M_h.begin(__n); }
1434: 
1434:       const_local_iterator
1434:       begin(size_type __n) const
1434:       { return _M_h.begin(__n); }
1434: 
1434:       const_local_iterator
1434:       cbegin(size_type __n) const
1434:       { return _M_h.cbegin(__n); }
1434: # 807 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       local_iterator
1434:       end(size_type __n)
1434:       { return _M_h.end(__n); }
1434: 
1434:       const_local_iterator
1434:       end(size_type __n) const
1434:       { return _M_h.end(__n); }
1434: 
1434:       const_local_iterator
1434:       cend(size_type __n) const
1434:       { return _M_h.cend(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       float
1434:       load_factor() const noexcept
1434:       { return _M_h.load_factor(); }
1434: 
1434: 
1434: 
1434:       float
1434:       max_load_factor() const noexcept
1434:       { return _M_h.max_load_factor(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       max_load_factor(float __z)
1434:       { _M_h.max_load_factor(__z); }
1434: # 848 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       rehash(size_type __n)
1434:       { _M_h.rehash(__n); }
1434: # 859 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       reserve(size_type __n)
1434:       { _M_h.reserve(__n); }
1434: 
1434:       template<typename _Value1, typename _Hash1, typename _Pred1,
1434:         typename _Alloc1>
1434:         friend bool
1434:         operator==(const unordered_set<_Value1, _Hash1, _Pred1, _Alloc1>&,
1434:      const unordered_set<_Value1, _Hash1, _Pred1, _Alloc1>&);
1434:     };
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Hash =
1434:       hash<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename _Pred =
1434:       equal_to<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename _Allocator =
1434:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_set(_InputIterator, _InputIterator,
1434:     unordered_set<int>::size_type = {},
1434:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1434:     -> unordered_set<typename iterator_traits<_InputIterator>::value_type,
1434:        _Hash, _Pred, _Allocator>;
1434: 
1434:   template<typename _Tp, typename _Hash = hash<_Tp>,
1434:     typename _Pre:        else
1115:   {
1115: 
1115: 
1115:     if (__nmatches == 2 && (__indexlen & 1) == 0)
1115:       {
1115:         if (__matches[0] < __indexlen / 2)
1115:    {
1115:      if (__matches[1] == __matches[0] + __indexlen / 2)
1115:        __nmatches = 1;
1115:    }
1115:         else if (__matches[1] == __matches[0] - __indexlen / 2)
1115:    {
1115:      __matches[0] = __matches[1];
1115:      __lengths[0] = __lengths[1];
1115:      __nmatches = 1;
1115:    }
1115:       }
1115:     __begupdated = true;
1115:     break;
1115:   }
1115:      }
1115:    if (__pos < __minlen && __beg != __end)
1115:      {
1115: 
1115:        const char_type __cl = __ctype.tolower(*__beg);
1115:        const char_type __cu = __ctype.toupper(*__beg);
1115:        for (size_t __i6 = 0; __i6 < __nmatches;)
1115:   {
1115:     __name = __names[__matches[__i6]];
1115:     if (__ctype.tolower(__name[__pos]) != __cl
1115:         && __ctype.toupper(__name[__pos]) != __cu)
1115:       {
1115:         __matches[__i6] = __matches[--__nmatches];
1115:         __lengths[__i6] = __lengths[__nmatches];
1115:       }
1115:     else
1115:       ++__i6;
1115:   }
1115:      }
1115:    else
1115:      break;
1115:  }
1115: 
1115:       if (__nmatches == 1)
1115:  {
1115: 
1115:    if (!__begupdated)
1115:      {
1115:        ++__beg;
1115:        ++__pos;
1115:      }
1115:    __name = __names[__matches[0]];
1115:    const size_t __len = __lengths[0];
1115:    while (__pos < __len
1115:    && __beg != __end
1115: 
1115:    && (__ctype.tolower(__name[__pos]) == __ctype.tolower(*__beg)
1115:        || (__ctype.toupper(__name[__pos])
1115:     == __ctype.toupper(*__beg))))
1115:      ++__beg, (void)++__pos;
1115: 
1115:    if (__len == __pos)
1115:      __member = __matches[0];
1115:    else
1115:      __testvalid = false;
1115:  }
1115:       else
1115:  __testvalid = false;
1115:       if (!__testvalid)
1115:  __err |= ios_base::failbit;
1115: 
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
1115:         const _CharT** __names, size_t __indexlen,
1115:         ios_base& __io, ios_base::iostate& __err) const
1115:     {
1115:       typedef char_traits<_CharT> __traits_type;
1115:       const locale& __loc = __io._M_getloc();
1115:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:       int* __matches = static_cast<int*>(__builtin_alloca(2 * sizeof(int)
1115:          * __indexlen));
1115:       size_t __nmatches = 0;
1115:       size_t* __matches_lengths = 0;
1115:       size_t __pos = 0;
1115: 
1115:       if (__beg != __end)
1115:  {
1115:    const char_type __c = *__beg;
1115:    for (size_t __i = 0; __i < 2 * __indexlen; ++__i)
1115:      if (__c == __names[__i][0]
1115:   || __c == __ctype.toupper(__names[__i][0]))
1115:        __matches[__nmatches++] = __i;
1115:  }
1115: 
1115:       if (__nmatches)
1115:  {
1115:    ++__beg;
1115:    ++__pos;
1115: 
1115:    __matches_lengths
1115:      = static_cast<size_t*>(__builtin_alloca(sizeof(size_t)
1115:           * __nmatches));
1115:    for (size_t __i = 0; __i < __nmatches; ++__i)
1115:      __matches_lengths[__i]
1115:        = __traits_type::length(__names[__matches[__i]]);
1115:  }
1115: 
1115:       for (; __beg != __end; ++__beg, (void)++__pos)
1115:  {
1115:    size_t __nskipped = 0;
1115:    const char_type __c = *__beg;
1115:    for (size_t __i = 0; __i < __nmatches;)
1115:      {
1115:        const char_type* __name = __names[__matches[__i]];
1115:        if (__pos >= __matches_lengths[__i])
1115:   ++__nskipped, ++__i;
1115:        else if (!(__name[__pos] == __c))
1115:   {
1115:     --__nmatches;
1115:     __matches[__i] = __matches[__nmatches];
1115:     __matches_lengths[__i] = __matches_lengths[__nmatches];
1115:   }
1115:        else
1115:   ++__i;
1115:      }
1115:    if (__nskipped == __nmatches)
1115:      break;
1115:  }
1115: 
1115:       if ((__nmatches == 1 &                                          _Tp(1) - __x);
1412:           const _Tp __F2 = __hyperg_series(__c - __a, __c - __b, _Tp(1) + __d,
1412:                                            _Tp(1) - __x);
1412: 
1412:           const _Tp __F = __pre1 * __F1 + __pre2 * __F2;
1412: 
1412:           return __F;
1412:         }
1412:     }
1412: # 728 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1412:     {
1412: 
1412:       const _Tp __a_nint = ::std::nearbyint(__a);
1412:       const _Tp __b_nint = ::std::nearbyint(__b);
1412:       const _Tp __c_nint = ::std::nearbyint(__c);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const _Tp __toler = _Tp(1000) * std::numeric_limits<_Tp>::epsilon();
1412:       if (std::abs(__x) >= _Tp(1))
1412:         std::__throw_domain_error(("Argument outside unit circle " "in __hyperg.")
1412:                                                      );
1412:       else if (__isnan(__a) || __isnan(__b)
1412:             || __isnan(__c) || __isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__c_nint == __c && __c_nint <= _Tp(0))
1412:         return std::numeric_limits<_Tp>::infinity();
1412:       else if (std::abs(__c - __b) < __toler || std::abs(__c - __a) < __toler)
1412:         return std::pow(_Tp(1) - __x, __c - __a - __b);
1412:       else if (__a >= _Tp(0) && __b >= _Tp(0) && __c >= _Tp(0)
1412:             && __x >= _Tp(0) && __x < _Tp(0.995L))
1412:         return __hyperg_series(__a, __b, __c, __x);
1412:       else if (std::abs(__a) < _Tp(10) && std::abs(__b) < _Tp(10))
1412:         {
1412: 
1412: 
1412:           if (__a < _Tp(0) && std::abs(__a - __a_nint) < __toler)
1412:             return __hyperg_series(__a_nint, __b, __c, __x);
1412:           else if (__b < _Tp(0) && std::abs(__b - __b_nint) < __toler)
1412:             return __hyperg_series(__a, __b_nint, __c, __x);
1412:           else if (__x < -_Tp(0.25L))
1412:             return __hyperg_luke(__a, __b, __c, __x);
1412:           else if (__x < _Tp(0.5L))
1412:             return __hyperg_series(__a, __b, __c, __x);
1412:           else
1412:             if (std::abs(__c) > _Tp(10))
1412:               return __hyperg_series(__a, __b, __c, __x);
1412:             else
1412:               return __hyperg_reflect(__a, __b, __c, __x);
1412:         }
1412:       else
1412:         return __hyperg_luke(__a, __b, __c, __x);
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 55 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/legendre_function.tcc" 1 3
1412: # 49 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 65 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 80 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __poly_legendre_p(unsigned int __l, _Tp __x)
1412:     {
1412: 
1412:       if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__x == +_Tp(1))
1412:         return +_Tp(1);
1412:       else if (__x == -_Tp(1))
1412:         return (__l % 2 == 1 ? -_Tp(1) : +_Tp(1));
1412:       else
1412:         {
1412:           _Tp __p_lm2 = _Tp(1);
1412:           if (__l == 0)
1412:             return __p_lm2;
1412: 
1412:           _Tp __p_lm1 = __x;
1412:           if (__l == 1)
1412:             return __p_lm1;
1412: 
1412:           _Tp __p_l = 0;
1412:           for (unsigned int __ll = 2; __ll <= __l; ++__ll)
1412:             {
1412: 
1412: 
1412:               __p_l = _Tp(2) * __x * __p_lm1 - __p_lm2
1412:                     - (__x * __p_lm1 - __p_lm2) / _Tp(__ll);
1412:               __p_lm2 = __p_lm1;
1412:               __p_lm1 = __p_l;
1412:             }
1412: 
1412:           return __p_l;
1412:         }
1412:     }
1412: # 136 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
d = equal_to<_Tp>,
1434:     typename _Allocator = allocator<_Tp>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_set(initializer_list<_Tp>,
1434:     unordered_set<int>::size_type = {},
1434:     _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator())
1434:     -> unordered_set<_Tp, _Hash, _Pred, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_set(_InputIterator, _InputIterator,
1434:     unordered_set<int>::size_type, _Allocator)
1434:     -> unordered_set<typename iterator_traits<_InputIterator>::value_type,
1434:        hash<
1434:          typename iterator_traits<_InputIterator>::value_type>,
1434:        equal_to<
1434:          typename iterator_traits<_InputIterator>::value_type>,
1434:        _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_set(_InputIterator, _InputIterator,
1434:     unordered_set<int>::size_type,
1434:     _Hash, _Allocator)
1434:     -> unordered_set<typename iterator_traits<_InputIterator>::value_type,
1434:        _Hash,
1434:        equal_to<
1434:          typename iterator_traits<_InputIterator>::value_type>,
1434:        _Allocator>;
1434: 
1434:   template<typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_set(initializer_list<_Tp>,
1434:     unordered_set<int>::size_type, _Allocator)
1434:     -> unordered_set<_Tp, hash<_Tp>, equal_to<_Tp>, _Allocator>;
1434: 
1434:   template<typename _Tp, typename _Hash, typename _Allocator,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_set(initializer_list<_Tp>,
1434:     unordered_set<int>::size_type, _Hash, _Allocator)
1434:     -> unordered_set<_Tp, _Hash, equal_to<_Tp>, _Allocator>;
1434: # 959 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:   template<typename _Value,
1434:     typename _Hash = hash<_Value>,
1434:     typename _Pred = equal_to<_Value>,
1434:     typename _Alloc = allocator<_Value>>
1434:     class unordered_multiset
1434:     {
1434:       typedef __umset_hashtable<_Value, _Hash, _Pred, _Alloc> _Hashtable;
1434:       _Hashtable _M_h;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::key_type key_type;
1434:       typedef typename _Hashtable::value_type value_type;
1434:       typedef typename _Hashtable::hasher hasher;
1434:       typedef typename _Hashtable::key_equal key_equal;
1434:       typedef typename _Hashtable::allocator_type allocator_type;
1434: 
1434: 
1434: 
1434: 
1434:       typedef typename _Hashtable::pointer pointer;
1434:       typedef typename _Hashtable::const_pointer const_pointer;
1434:       typedef typename _Hashtable::reference reference;
1434:       typedef typename _Hashtable::const_reference const_reference;
1434:       typedef typename _Hashtable::iterator iterator;
1434:       typedef typename _Hashtable::const_iterator const_iterator;
1434:       typedef typename _Hashtable::local_iterator local_iterator;
1434:       typedef typename _Hashtable::const_local_iterator const_local_iterator;
1434:       typedef typename _Hashtable::size_type size_type;
1434:       typedef typename _Hashtable::difference_type difference_type;
1434: 
1434: 
1434: 
1434:       using node_type = typename _Hashtable::node_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_multiset() = default;
1434: # 1009 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       explicit
1434:       unordered_multiset(size_type __n,
1434:     const hasher& __hf = hasher(),
1434:     const key_equal& __eql = key_equal(),
1434:     const allocator_type& __a = allocator_type())
1434:       : _M_h(__n, __hf, __eql, __a)
1434:       { }
1434: # 1030 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename _InputIterator>
1434:  unordered_multiset(_InputIterator __first, _InputIterator __last,
1434:       size_type __n = 0,
1434:       const hasher& __hf = hasher(),
1434:       const key_equal& __eql = key_equal(),
1434:       const allocator_type& __a = allocator_type())
1434:  : _M_h(__first, __last, __n, __hf, __eql, __a)
1434:  { }
1434: 
1434: 
1434:       unordered_multiset(const unordered_multiset&) = default;
1434: 
1434: 
1434:       unordered_multiset(unordered_multiset&&) = default;
1434: # 1056 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       unordered_multiset(initializer_list<value_type> __l,
1434:     size_type __n = 0,
1434:     const hasher& __hf = hasher(),
1434:     const key_equal& __eql = key_equal(),
1434:     const allocator_type& __a = allocator_type())
1434:       : _M_h(__l, __n, __hf, __eql, __a)
1434:       { }
1434: 
1434: 
1434:       unordered_multiset&
1434:       operator=(const unordered_multiset&) = default;
1434: 
1434: 
1434:       unordered_multiset&
1434:       operator=(unordered_multiset&&) = default;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       unordered_multiset(const allocator_type& __a)
1434:       : _M_h(__a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_multiset(const unordered_multiset& __umset,
1434:     const allocator_type& __a)
1434:       : _M_h(__umset._M_h, __a)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       unordered_multiset(unordered_multiset&& __umset,
1434:     const allocator_type& __a)
1434:  noexcept( noexcept(_Hashtable(std::move(__umset._M_h), __a)) )
1434:       : _M_h(std::move(__umset._M_h), __a)
1434:       { }
1434: 
1434:       unordered_multiset(size_type __n, const allocator_type& __a)
1434:       : unordered_multiset(__n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_multiset(size_type __n, const hasher& __hf,
1434:     const allocator_type& __a)
1434:       : unordered_multiset(__n, __hf, key_equal(), __a)
1434:       { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_multiset(_InputIterator __first, _InputIterator __last,
1434:       size_type __n,
1434:       const allocator_type& __a)
1434:  : unordered_multiset(__first, __last, __n, hasher(), key_equal(), __a)
1434:  { }
1434: 
1434:       template<typename _InputIterator>
1434:  unordered_multiset(_InputIterator __first, _InputIterator __last,
1434:       size_type __n, const hasher& __hf,
1434:       const allocator_type& __a)
1434:  : unordered_multiset(__first, __last, __n, __hf, key_equal(), __a)
1434:  { }
1434: 
1434:       unordered_multiset(initializer_list<value_type> __l,
1434:     size_type __n,
1434:     const allocator_type& __a)
1434:       : unordered_multiset(__l, __n, hasher(), key_equal(), __a)
1434:       { }
1434: 
1434:       unordered_multiset(initializer_list<value_type> __l,
1434:     size_type __n, const hasher& __hf,
1434:     const allocator_type& __a)
1434:       : unordered_multiset(__l, __n, __hf, key_equal(), __a)
1434:       { }
1434: # 1148 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       unordered_multiset&
1434:       operator=(initializer_list<value_type> __l)
1434:       {
1434:  _M_h = __l;
1434:  return *this;
1434:       }
1434: 
1434: 
1434:       allocator_type
1434:       get_allocator() const noexcept
1434:       { return _M_h.get_allocator(); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]] bool
1434:       empty() const noexcept
1434:       { return _M_h.empty(); }
1434: 
1434: 
1434:       size_type
1434:       size() const noexcept
1434:       { return _M_h.size(); }
1434: 
1434: 
1434:       size_type
1434:       max_size() const noexcept
1434:       { return _M_h.max_size(); }
1434: # 1184 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       begin() noexcept
143& __matches_lengths[0] == __pos)
1115:    || (__nmatches == 2 && (__matches_lengths[0] == __pos
1115:       || __matches_lengths[1] == __pos)))
1115:  __member = (__matches[0] >= (int)__indexlen
1115:       ? __matches[0] - (int)__indexlen : __matches[0]);
1115:       else
1115:  __err |= ios_base::failbit;
1115: 
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
1115:   ios_base::iostate& __err, tm* __tm) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1115:       const char_type* __times[2];
1115:       __tp._M_time_formats(__times);
1115:       __time_get_state __state = __time_get_state();
1115:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
1115:         __tm, __times[0], __state);
1115:       __state._M_finalize_state(__tm);
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
1115:   ios_base::iostate& __err, tm* __tm) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1115:       const char_type* __dates[2];
1115:       __tp._M_date_formats(__dates);
1115:       __time_get_state __state = __time_get_state();
1115:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
1115:         __tm, __dates[0], __state);
1115:       __state._M_finalize_state(__tm);
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
1115:      ios_base::iostate& __err, tm* __tm) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1115:       const char_type* __days[14];
1115:       __tp._M_days_abbreviated(__days);
1115:       __tp._M_days(__days + 7);
1115:       int __tmpwday;
1115:       ios_base::iostate __tmperr = ios_base::goodbit;
1115: 
1115:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7,
1115:            __io, __tmperr);
1115:       if (!__tmperr)
1115:  __tm->tm_wday = __tmpwday;
1115:       else
1115:  __err |= ios_base::failbit;
1115: 
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:      }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     do_get_monthname(iter_type __beg, iter_type __end,
1115:                      ios_base& __io, ios_base::iostate& __err, tm* __tm) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
1115:       const char_type* __months[24];
1115:       __tp._M_months_abbreviated(__months);
1115:       __tp._M_months(__months + 12);
1115:       int __tmpmon;
1115:       ios_base::iostate __tmperr = ios_base::goodbit;
1115: 
1115:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12,
1115:            __io, __tmperr);
1115:       if (!__tmperr)
1115:  __tm->tm_mon = __tmpmon;
1115:       else
1115:  __err |= ios_base::failbit;
1115: 
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
1115:   ios_base::iostate& __err, tm* __tm) 1412:     template<typename _Tp>
1412:     _Tp
1412:     __assoc_legendre_p(unsigned int __l, unsigned int __m, _Tp __x,
1412:          _Tp __phase = _Tp(+1))
1412:     {
1412: 
1412:       if (__m > __l)
1412:         return _Tp(0);
1412:       else if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__m == 0)
1412:         return __poly_legendre_p(__l, __x);
1412:       else
1412:         {
1412:           _Tp __p_mm = _Tp(1);
1412:           if (__m > 0)
1412:             {
1412: 
1412: 
1412:               _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x);
1412:               _Tp __fact = _Tp(1);
1412:               for (unsigned int __i = 1; __i <= __m; ++__i)
1412:                 {
1412:                   __p_mm *= __phase * __fact * __root;
1412:                   __fact += _Tp(2);
1412:                 }
1412:             }
1412:           if (__l == __m)
1412:             return __p_mm;
1412: 
1412:           _Tp __p_mp1m = _Tp(2 * __m + 1) * __x * __p_mm;
1412:           if (__l == __m + 1)
1412:             return __p_mp1m;
1412: 
1412:           _Tp __p_lm2m = __p_mm;
1412:           _Tp __P_lm1m = __p_mp1m;
1412:           _Tp __p_lm = _Tp(0);
1412:           for (unsigned int __j = __m + 2; __j <= __l; ++__j)
1412:             {
1412:               __p_lm = (_Tp(2 * __j - 1) * __x * __P_lm1m
1412:                       - _Tp(__j + __m - 1) * __p_lm2m) / _Tp(__j - __m);
1412:               __p_lm2m = __P_lm1m;
1412:               __P_lm1m = __p_lm;
1412:             }
1412: 
1412:           return __p_lm;
1412:         }
1412:     }
1412: # 214 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1412:     template <typename _Tp>
1412:     _Tp
1412:     __sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1412:     {
1412:       if (__isnan(__theta))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412: 
1412:       const _Tp __x = std::cos(__theta);
1412: 
1412:       if (__m > __l)
1412:         return _Tp(0);
1412:       else if (__m == 0)
1412:         {
1412:           _Tp __P = __poly_legendre_p(__l, __x);
1412:           _Tp __fact = std::sqrt(_Tp(2 * __l + 1)
1412:                      / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1412:           __P *= __fact;
1412:           return __P;
1412:         }
1412:       else if (__x == _Tp(1) || __x == -_Tp(1))
1412:         {
1412: 
1412:           return _Tp(0);
1412:         }
1412:       else
1412:         {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:           const _Tp __sgn = ( __m % 2 == 1 ? -_Tp(1) : _Tp(1));
1412:           const _Tp __y_mp1m_factor = __x * std::sqrt(_Tp(2 * __m + 3));
1412: 
1412:           const _Tp __lncirc = ::std::log1p(-__x * __x);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:           const _Tp __lnpoch = ::std::lgamma(_Tp(__m + _Tp(0.5L)))
1412:                              - ::std::lgamma(_Tp(__m));
1412: 
1412: 
1412: 
1412: 
1412:           const _Tp __lnpre_val =
1412:                     -_Tp(0.25L) * __numeric_constants<_Tp>::__lnpi()
1412:                     + _Tp(0.5L) * (__lnpoch + __m * __lncirc);
1412:           const _Tp __sr = std::sqrt((_Tp(2) + _Tp(1) / __m)
1412:                          / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1412:           _Tp __y_mm = __sgn * __sr * std::exp(__lnpre_val);
1412:           _Tp __y_mp1m = __y_mp1m_factor * __y_mm;
1412: 
1412:           if (__l == __m)
1412:             return __y_mm;
1412:           else if (__l == __m + 1)
1412:             return __y_mp1m;
1412:           else
1412:             {
1412:               _Tp __y_lm = _Tp(0);
1412: 
1412: 
1412:               for (unsigned int __ll = __m + 2; __ll <= __l; ++__ll)
1412:                 {
1412:                   const _Tp __rat1 = _Tp(__ll - __m) / _Tp(__ll + __m);
1412:                   const _Tp __rat2 = _Tp(__ll - __m - 1) / _Tp(__ll + __m - 1);
1412:                   const _Tp __fact1 = std::sqrt(__rat1 * _Tp(2 * __ll + 1)
1412:                                                        * _Tp(2 * __ll - 1));
1412:         4:       { return _M_h.begin(); }
1434: 
1434:       const_iterator
1434:       begin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       iterator
1434:       end() noexcept
1434:       { return _M_h.end(); }
1434: 
1434:       const_iterator
1434:       end() const noexcept
1434:       { return _M_h.end(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cbegin() const noexcept
1434:       { return _M_h.begin(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       const_iterator
1434:       cend() const noexcept
1434:       { return _M_h.end(); }
1434: # 1232 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace(_Args&&... __args)
1434:  { return _M_h.emplace(std::forward<_Args>(__args)...); }
1434: # 1254 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename... _Args>
1434:  iterator
1434:  emplace_hint(const_iterator __pos, _Args&&... __args)
1434:  { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); }
1434: # 1267 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       insert(const value_type& __x)
1434:       { return _M_h.insert(__x); }
1434: 
1434:       iterator
1434:       insert(value_type&& __x)
1434:       { return _M_h.insert(std::move(__x)); }
1434: # 1293 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       insert(const_iterator __hint, const value_type& __x)
1434:       { return _M_h.insert(__hint, __x); }
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, value_type&& __x)
1434:       { return _M_h.insert(__hint, std::move(__x)); }
1434: # 1310 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       template<typename _InputIterator>
1434:  void
1434:  insert(_InputIterator __first, _InputIterator __last)
1434:  { _M_h.insert(__first, __last); }
1434: # 1322 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       insert(initializer_list<value_type> __l)
1434:       { _M_h.insert(__l); }
1434: 
1434: 
1434: 
1434:       node_type
1434:       extract(const_iterator __pos)
1434:       {
1434:  do { if (std::__is_constant_evaluated() && !bool(__pos != end())) __builtin_unreachable(); } while (false);
1434:  return _M_h.extract(__pos);
1434:       }
1434: 
1434: 
1434:       node_type
1434:       extract(const key_type& __key)
1434:       { return _M_h.extract(__key); }
1434: 
1434: 
1434:       iterator
1434:       insert(node_type&& __nh)
1434:       { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); }
1434: 
1434: 
1434:       iterator
1434:       insert(const_iterator __hint, node_type&& __nh)
1434:       { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); }
1434: # 1366 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       erase(const_iterator __position)
1434:       { return _M_h.erase(__position); }
1434: 
1434: 
1434:       iterator
1434:       erase(iterator __position)
1434:       { return _M_h.erase(__position); }
1434: # 1389 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       size_type
1434:       erase(const key_type& __x)
1434:       { return _M_h.erase(__x); }
1434: # 1409 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       erase(const_iterator __first, const_iterator __last)
1434:       { return _M_h.erase(__first, __last); }
1434: # 1420 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       clear() noexcept
1434:       { _M_h.clear(); }
1434: # 1433 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       swap(unordered_multiset& __x)
1434:       noexcept( noexcept(_M_h.swap(__x._M_h)) )
1434:       { _M_h.swap(__x._M_h); }
1434: 
1434: 
1434:       template<typename, typename, typename>
1434:  friend class std::_Hash_merge_helper;
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multiset<_Value, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper
1434:      = _Hash_merge_helper<unordered_multiset, _H2, _P2>;
1434:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_multiset<_Value, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_set<_Value, _H2, _P2, _Alloc>& __source)
1434:  {
1434:    using _Merge_helper
1434:      = _Hash_merge_helper<unordered_multiset, _H2, _P2>;
1434:    _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source));
1434:  }
1434: 
1434:       template<typename _H2, typename _P2>
1434:  void
1434:  merge(unordered_set<_Value, _H2, _P2, _Alloc>&& __source)
1434:  { merge(__source); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       hasher
1434:       hash_function() const
1434:       { return _M_h.hash_function(); }
1434: 
1434: 
1434: 
1434:       key_equal
1434:       key_eq() const
1434:       { return _M_h.key_eq(); }
1434: # 1499 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       iterator
1434:       find(const key_type& __x)
1434:       { return _M_h.find(__x); }
1434: # 1511 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       const_iterator
1434:       find(const key_type& __x) const
1434:       { return _M_h.find(__x); }
1434: # 1530 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       size_type
1434:       count(const key_type& __x) const
1434:       { return _M_h.count(__x); }
1434: # 1568 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       std::pair<iterator, iterator>
1434:       equal_range(const key_type& __x)
1434:       { return _M_h.equal_range(__x); }
1434: # 1580 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       std::pair<const_iterator, const_iterator>
1434:       equal_range(const key_type& __x) const
1434:       { return _M_h.equal_range(__x); }
1434: # 1596 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       size_type
1434:       bucket_count() const noexcept
1434:       { return _M_h.bucket_count(); }
1434: 
1434: 
1434:       size_type
1434:       max_bucket_count() const noexcept
1434:       { return _M_h.max_bucket_count(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket_size(size_type __n) const
1434:       { return _M_h.bucket_size(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       size_type
1434:       bucket(const key_type& __key) const
1434:       { return _M_h.bucket(__key); }
1434: # 1630 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       local_iterator
1434:       begin(size_type __n)
1434:       { return _M_h.begin(__n); }
1434: 
1434:       const_local_iterator
1434:       begin(size_type __n) const
1434:       { return _M_h.begin(__n); }
1434: 
1434:       const_local_iterator
1434:       cbegin(size_type __n) const
1434:       { return _M_h.cbegin(__n); }
1434: # 1650 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       local_iterator
1434:       end(size_type __n)
1434:       { return _M_h.end(__n); }
1434: 
1434:       const_local_iterator
1434:       end(size_type __n) const
1434:       { return _M_h.end(__n); }
1434: 
1434:       const_local_iterator
1434:       cend(size_type __n) const
1434:       { return _M_h.cend(__n); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       float
1434:       load_factor() const noexcept
1434:       { return _M_h.load_factor(); }
1434: 
1434: 
1434: 
1434:       float
1434:       max_load_factor() const noexcept
1434:       { return _M_h.max_load_factor(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       max_load_factor(float __z)
1434:       { _M_h.max_load_factor(__z); }
1434: # 1691 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       rehash(size_type __n)
1434:       { _M_h.rehash(__n); }
1434: # 1702 "/usr/include/c++/12/bits/unordered_set.h" 3
1434:       void
1434:       reserve(size_type __n)
1434:       { _M_h.reserve(__n); }
1434: 
1434:       template<typename _Value1, typename _Hash1, typename _Pred1,
1434:         typename _Aconst
1115:     {
1115:       int __tmpyear;
1115:       ios_base::iostate __tmperr = ios_base::goodbit;
1115:       const locale& __loc = __io._M_getloc();
1115:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1115: 
1115:       __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 99, 2,
1115:         __io, __tmperr);
1115:       if (!__tmperr)
1115:  {
1115:    char __c = 0;
1115:    if (__beg != __end)
1115:      __c = __ctype.narrow(*__beg, '*');
1115: 
1115: 
1115: 
1115:    if (__c >= '0' && __c <= '9')
1115:      {
1115:        ++__beg;
1115:        __tmpyear = __tmpyear * 10 + (__c - '0');
1115:        if (__beg != __end)
1115:   {
1115:     __c = __ctype.narrow(*__beg, '*');
1115:     if (__c >= '0' && __c <= '9')
1115:       {
1115:         ++__beg;
1115:         __tmpyear = __tmpyear * 10 + (__c - '0');
1115:       }
1115:   }
1115:        __tmpyear -= 1900;
1115:      }
1115:    else if (__tmpyear < 69)
1115:      __tmpyear += 100;
1115:    __tm->tm_year = __tmpyear;
1115:  }
1115:       else
1115:  __err |= ios_base::failbit;
1115: 
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     inline
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     get(iter_type __s, iter_type __end, ios_base& __io,
1115:         ios_base::iostate& __err, tm* __tm, const char_type* __fmt,
1115:         const char_type* __fmtend) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1115:       __err = ios_base::goodbit;
1115:       bool __use_state = false;
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wpmf-conversions"
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       if ((void*)(this->*(&time_get::do_get)) == (void*)(&time_get::do_get))
1115:  __use_state = true;
1115: #pragma GCC diagnostic pop
1115: 
1115:       __time_get_state __state = __time_get_state();
1115:       while (__fmt != __fmtend &&
1115:              __err == ios_base::goodbit)
1115:         {
1115:           if (__s == __end)
1115:             {
1115:               __err = ios_base::eofbit | ios_base::failbit;
1115:               break;
1115:             }
1115:           else if (__ctype.narrow(*__fmt, 0) == '%')
1115:             {
1115:        const char_type* __fmt_start = __fmt;
1115:               char __format;
1115:               char __mod = 0;
1115:               if (++__fmt == __fmtend)
1115:                 {
1115:                   __err = ios_base::failbit;
1115:                   break;
1115:                 }
1115:               const char __c = __ctype.narrow(*__fmt, 0);
1115:               if (__c != 'E' && __c != 'O')
1115:                 __format = __c;
1115:               else if (++__fmt != __fmtend)
1115:                 {
1115:                   __mod = __c;
1115:                   __format = __ctype.narrow(*__fmt, 0);
1115:                 }
1115:               else
1115:                 {
1115:                   __err = ios_base::failbit;
1115:                   break;
1115:                 }
1115:        if (__use_state)
1115:   {
1115:     char_type __new_fmt[4];
1115:     __new_fmt[0] = __fmt_start[0];
1115:     __new_fmt[1] = __fmt_start[1];
1115:     if (__mod)
1115:       {
1115:         __new_fmt[2] = __fmt_start[2];
1115:         __new_fmt[3] = char_type();
1115:       }
1115:     else
1115:       __new_fmt[2] = char_type();
1115:     __s = _M_extract_via_format(__s, __end, __io, __err, __tm,
1115:            __new_fmt, __state);
1115:     if (__s == __end)
1115:       __err |= ios_base::eofbit;
1115:   }
1115:        else
1115:   __s = this->do_get(__s, __end, __io, __err, __tm, __format,
1115:        __mod);
1115:               ++__fmt;
1115:             }
1115:           else if (__ctype.is(ctype_base::space, *__fmt))
1115:             {
1115:               ++__fmt;
1115:               while (__fmt != __fmtend &&
1115:                           const _Tp __fact2 = std::sqrt(__rat1 * __rat2 * _Tp(2 * __ll + 1)
1412:                                                                 / _Tp(2 * __ll - 3));
1412:                   __y_lm = (__x * __y_mp1m * __fact1
1412:                          - (__ll + __m - 1) * __y_mm * __fact2) / _Tp(__ll - __m);
1412:                   __y_mm = __y_mp1m;
1412:                   __y_mp1m = __y_lm;
1412:                 }
1412: 
1412:               return __y_lm;
1412:             }
1412:         }
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 56 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 1 3
1412: # 51 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 65 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 83 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1412:     template <typename _Tp>
1412:     void
1412:     __bessel_ik(_Tp __nu, _Tp __x,
1412:                 _Tp & __Inu, _Tp & __Knu, _Tp & __Ipnu, _Tp & __Kpnu)
1412:     {
1412:       if (__x == _Tp(0))
1412:         {
1412:           if (__nu == _Tp(0))
1412:             {
1412:               __Inu = _Tp(1);
1412:               __Ipnu = _Tp(0);
1412:             }
1412:           else if (__nu == _Tp(1))
1412:             {
1412:               __Inu = _Tp(0);
1412:               __Ipnu = _Tp(0.5L);
1412:             }
1412:           else
1412:             {
1412:               __Inu = _Tp(0);
1412:               __Ipnu = _Tp(0);
1412:             }
1412:           __Knu = std::numeric_limits<_Tp>::infinity();
1412:           __Kpnu = -std::numeric_limits<_Tp>::infinity();
1412:           return;
1412:         }
1412: 
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412:       const _Tp __fp_min = _Tp(10) * std::numeric_limits<_Tp>::epsilon();
1412:       const int __max_iter = 15000;
1412:       const _Tp __x_min = _Tp(2);
1412: 
1412:       const int __nl = static_cast<int>(__nu + _Tp(0.5L));
1412: 
1412:       const _Tp __mu = __nu - __nl;
1412:       const _Tp __mu2 = __mu * __mu;
1412:       const _Tp __xi = _Tp(1) / __x;
1412:       const _Tp __xi2 = _Tp(2) * __xi;
1412:       _Tp __h = __nu * __xi;
1412:       if ( __h < __fp_min )
1412:         __h = __fp_min;
1412:       _Tp __b = __xi2 * __nu;
1412:       _Tp __d = _Tp(0);
1412:       _Tp __c = __h;
1412:       int __i;
1412:       for ( __i = 1; __i <= __max_iter; ++__i )
1412:         {
1412:           __b += __xi2;
1412:           __d = _Tp(1) / (__b + __d);
1412:           __c = __b + _Tp(1) / __c;
1412:           const _Tp __del = __c * __d;
1412:           __h *= __del;
1412:           if (std::abs(__del - _Tp(1)) < __eps)
1412:             break;
1412:         }
1412:       if (__i > __max_iter)
1412:         std::__throw_runtime_error(("Argument x too large " "in __bessel_ik; " "try asymptotic expansion.")
1412: 
1412:                                                                    );
1412:       _Tp __Inul = __fp_min;
1412:       _Tp __Ipnul = __h * __Inul;
1412:       _Tp __Inul1 = __Inul;
1412:       _Tp __Ipnu1 = __Ipnul;
1412:       _Tp __fact = __nu * __xi;
1412:       for (int __l = __nl; __l >= 1; --__l)
1412:         {
1412:           const _Tp __Inutemp = __fact * __Inul + __Ipnul;
1412:           __fact -= __xi;
1412:           __Ipnul = __fact * __Inutemp + __Inul;
1412:           __Inul = __Inutemp;
1412:         }
1412:       _Tp __f = __Ipnul / __Inul;
1412:       _Tp __Kmu, __Knu1;
1412:       if (__x < __x_min)
1412:         {
1412:           const _Tp __x2 = __x / _Tp(2);
1412:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1412:           const _Tp __fact = (std::abs(__pimu) < __eps
1412:                             ? _Tp(1) : __pimu / std::sin(__pimu));
1412:           _Tp __d = -std::log(__x2);
1412:           _Tp __e = __mu * __d;
1412:           const _Tp __fact2 = (std::abs(__e) < __eps
1412:   lloc1>
1434:         friend bool
1434:       operator==(const unordered_multiset<_Value1, _Hash1, _Pred1, _Alloc1>&,
1434:    const unordered_multiset<_Value1, _Hash1, _Pred1, _Alloc1>&);
1434:     };
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _InputIterator,
1434:     typename _Hash =
1434:       hash<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename _Pred =
1434:       equal_to<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename _Allocator =
1434:       allocator<typename iterator_traits<_InputIterator>::value_type>,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multiset(_InputIterator, _InputIterator,
1434:          unordered_multiset<int>::size_type = {},
1434:          _Hash = _Hash(), _Pred = _Pred(),
1434:          _Allocator = _Allocator())
1434:     -> unordered_multiset<typename iterator_traits<_InputIterator>::value_type,
1434:                           _Hash, _Pred, _Allocator>;
1434: 
1434:   template<typename _Tp, typename _Hash = hash<_Tp>,
1434:     typename _Pred = equal_to<_Tp>,
1434:     typename _Allocator = allocator<_Tp>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireNotAllocator<_Pred>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multiset(initializer_list<_Tp>,
1434:          unordered_multiset<int>::size_type = {},
1434:          _Hash = _Hash(), _Pred = _Pred(),
1434:          _Allocator = _Allocator())
1434:     -> unordered_multiset<_Tp, _Hash, _Pred, _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multiset(_InputIterator, _InputIterator,
1434:          unordered_multiset<int>::size_type, _Allocator)
1434:     -> unordered_multiset<typename iterator_traits<_InputIterator>::value_type,
1434:      hash<typename
1434:           iterator_traits<_InputIterator>::value_type>,
1434:      equal_to<typename
1434:        iterator_traits<_InputIterator>::value_type>,
1434:      _Allocator>;
1434: 
1434:   template<typename _InputIterator, typename _Hash, typename _Allocator,
1434:     typename = _RequireInputIter<_InputIterator>,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multiset(_InputIterator, _InputIterator,
1434:          unordered_multiset<int>::size_type,
1434:          _Hash, _Allocator)
1434:     -> unordered_multiset<typename
1434:      iterator_traits<_InputIterator>::value_type,
1434:      _Hash,
1434:      equal_to<
1434:        typename
1434:        iterator_traits<_InputIterator>::value_type>,
1434:      _Allocator>;
1434: 
1434:   template<typename _Tp, typename _Allocator,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multiset(initializer_list<_Tp>,
1434:          unordered_multiset<int>::size_type, _Allocator)
1434:     -> unordered_multiset<_Tp, hash<_Tp>, equal_to<_Tp>, _Allocator>;
1434: 
1434:   template<typename _Tp, typename _Hash, typename _Allocator,
1434:     typename = _RequireNotAllocatorOrIntegral<_Hash>,
1434:     typename = _RequireAllocator<_Allocator>>
1434:     unordered_multiset(initializer_list<_Tp>,
1434:          unordered_multiset<int>::size_type, _Hash, _Allocator)
1434:     -> unordered_multiset<_Tp, _Hash, equal_to<_Tp>, _Allocator>;
1434: 
1434: 
1434: 
1434:   template<class _Value, class _Hash, class _Pred, class _Alloc>
1434:     inline void
1434:     swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
1434:   unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434:   template<class _Value, class _Hash, class _Pred, class _Alloc>
1434:     inline void
1434:     swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
1434:   unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434:   template<class _Value, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator==(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)
1434:     { return __x._M_h._M_equal(__y._M_h); }
1434: 
1434: 
1434:   template<class _Value, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator!=(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434:   template<class _Value, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator==(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
1434:     { return __x._M_h._M_equal(__y._M_h); }
1434: 
1434: 
1434:   template<class _Value, class _Hash, class _Pred, class _Alloc>
1434:     inline bool
1434:     operator!=(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
1434:         const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
1434:     { return !(__x == __y); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _Val, typename _Hash1, typename _Eq1, typename _Alloc,
1434:     typename _Hash2, typename _Eq2>
1434:     struct _Hash_merge_helper<
1434:       std::unordered_set<_Val, _Hash1, _Eq1, _Alloc>, _Hash2, _Eq2>
1434:     {
1434:     private:
1434:       template<typename... _Tp>
1434:  using unordered_set = std::unordered_set<_Tp...>;
1434:       template<typename... _Tp>
1434:  using unordered_multiset = std::unordered_multiset<_Tp...>;
1434: 
1434:       friend unordered_set<_Val, _Hash1, _Eq1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_set<_Val, _Hash2, _Eq2, _Alloc>& __set)
1434:       { return __set._M_h; }
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_multiset<_Val, _Hash2, _Eq2, _Alloc>& __set)
1434:       { return __set._M_h; }
1434:     };
1434: 
1434: 
1434:   template<typename _Val, typename _Hash1, typename _Eq1, typename _Alloc,
1434:     typename _Hash2, typename _Eq2>
1434:     struct _Hash_merge_helper<
1434:       std::unordered_multiset<_Val, _Hash1, _Eq1, _Alloc>,
1434:       _Hash2, _Eq2>
1434:     {
1434:     private:
1434:       template<typename... _Tp>
1434:  using unordered_set = std::unordered_set<_Tp...>;
1434:       template<typename... _Tp>
1434:  using unordered_multiset = std::unordered_multiset<_Tp...>;
1434: 
1434:       friend unordered_multiset<_Val, _Hash1, _Eq1, _Alloc>;
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_set<_Val, _Hash2, _Eq2, _Alloc>& __set)
1434:       { return __set._M_h; }
1434: 
1434:       static auto&
1434:       _S_get_table(unordered_multiset<_Val, _Hash2, _Eq2, _Alloc>& __set)
1434:       { return __set._M_h; }
1434:     };
1434: 
1434: 
1434: 
1434: }
1434: # 48 "/usr/include/c++/12/unordered_set" 2 3
1434: # 56 "/usr/include/c++/12/unordered_set" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434:   namespace pmr
1434:   {
1434:     template<typename _Tp> class polymorphic_allocator;
1434:     template<typename _Key, typename _Hash = std::hash<_Key>,
1434:       typename _Pred = std::equal_to<_Key>>
1434:       using unordered_set
1434:  = std::unordered_set<_Key, _Hash, _Pred,
1434:         polymorphic_allocator<_Key>>;
1434:     template<typename _Key, typename _Hash = std::hash<_Key>,
1434:       typename _Pred = std::equal_to<_Key>>
1434:       using unordered_multiset
1434:  = std::unordered_multiset<_Key, _Hash, _Pred,
1434:       polymorphic_allocator<_Key>>;
1434:   }
1434: 
1434: }
1434: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h" 2
1434: 
1434: 
1434: 
1434: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/set     __ctype.is(ctype_base::space, *__fmt))
1115:                 ++__fmt;
1115: 
1115:               while (__s != __end &&
1115:                      __ctype.is(ctype_base::space, *__s))
1115:                 ++__s;
1115:             }
1115: 
1115:           else if (__ctype.tolower(*__s) == __ctype.tolower(*__fmt) ||
1115:                    __ctype.toupper(*__s) == __ctype.toupper(*__fmt))
1115:             {
1115:               ++__s;
1115:               ++__fmt;
1115:             }
1115:           else
1115:             {
1115:               __err = ios_base::failbit;
1115:               break;
1115:             }
1115:         }
1115:       if (__use_state)
1115:  __state._M_finalize_state(__tm);
1115:       return __s;
1115:     }
1115: 
1115:   template<typename _CharT, typename _InIter>
1115:     inline
1115:     _InIter
1115:     time_get<_CharT, _InIter>::
1115:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1115:            ios_base::iostate& __err, tm* __tm,
1115:            char __format, char __mod) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1115:       __err = ios_base::goodbit;
1115: 
1115:       char_type __fmt[4];
1115:       __fmt[0] = __ctype.widen('%');
1115:       if (!__mod)
1115:         {
1115:           __fmt[1] = __format;
1115:           __fmt[2] = char_type();
1115:         }
1115:       else
1115:         {
1115:           __fmt[1] = __mod;
1115:           __fmt[2] = __format;
1115:           __fmt[3] = char_type();
1115:         }
1115: 
1115:       __time_get_state __state = __time_get_state();
1115:       __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __fmt,
1115:         __state);
1115:       __state._M_finalize_state(__tm);
1115:       if (__beg == __end)
1115:  __err |= ios_base::eofbit;
1115:       return __beg;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     time_put<_CharT, _OutIter>::
1115:     put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
1115:  const _CharT* __beg, const _CharT* __end) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1115:       for (; __beg != __end; ++__beg)
1115:  if (__ctype.narrow(*__beg, 0) != '%')
1115:    {
1115:      *__s = *__beg;
1115:      ++__s;
1115:    }
1115:  else if (++__beg != __end)
1115:    {
1115:      char __format;
1115:      char __mod = 0;
1115:      const char __c = __ctype.narrow(*__beg, 0);
1115:      if (__c != 'E' && __c != 'O')
1115:        __format = __c;
1115:      else if (++__beg != __end)
1115:        {
1115:   __mod = __c;
1115:   __format = __ctype.narrow(*__beg, 0);
1115:        }
1115:      else
1115:        break;
1115:      __s = this->do_put(__s, __io, __fill, __tm, __format, __mod);
1115:    }
1115:  else
1115:    break;
1115:       return __s;
1115:     }
1115: 
1115:   template<typename _CharT, typename _OutIter>
1115:     _OutIter
1115:     time_put<_CharT, _OutIter>::
1115:     do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm,
1115:     char __format, char __mod) const
1115:     {
1115:       const locale& __loc = __io._M_getloc();
1115:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
1115:       __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
1115: 
1115: 
1115: 
1115:       const size_t __maxlen = 128;
1115:       char_type __res[__maxlen];
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       char_type __fmt[4];
1115:       __fmt[0] = __ctype.widen('%');
1115:       if (!__mod)
1115:  {
1115:    __fmt[1] = __format;
1115:    __fmt[2] = char_type();
1115:  }
1115:       else
1115:  {
1115:    __fmt[1] = __mod;
1115:    __fmt[2] = __format;
1115:    __fmt[3] = char_type();
1115:  }
1115: 
1115:       __tp._M_put(__res, __maxlen, __fmt, __tm);
1115: 
1115: 
1115:       return std::__write(__s, __res, char_traits<char_type>::length(__r                          ? _Tp(1) : std::sinh(__e) / __e);
1412:           _Tp __gam1, __gam2, __gampl, __gammi;
1412:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1412:           _Tp __ff = __fact
1412:                    * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1412:           _Tp __sum = __ff;
1412:           __e = std::exp(__e);
1412:           _Tp __p = __e / (_Tp(2) * __gampl);
1412:           _Tp __q = _Tp(1) / (_Tp(2) * __e * __gammi);
1412:           _Tp __c = _Tp(1);
1412:           __d = __x2 * __x2;
1412:           _Tp __sum1 = __p;
1412:           int __i;
1412:           for (__i = 1; __i <= __max_iter; ++__i)
1412:             {
1412:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
1412:               __c *= __d / __i;
1412:               __p /= __i - __mu;
1412:               __q /= __i + __mu;
1412:               const _Tp __del = __c * __ff;
1412:               __sum += __del;
1412:               const _Tp __del1 = __c * (__p - __i * __ff);
1412:               __sum1 += __del1;
1412:               if (std::abs(__del) < __eps * std::abs(__sum))
1412:                 break;
1412:             }
1412:           if (__i > __max_iter)
1412:             std::__throw_runtime_error(("Bessel k series failed to converge " "in __bessel_ik.")
1412:                                                              );
1412:           __Kmu = __sum;
1412:           __Knu1 = __sum1 * __xi2;
1412:         }
1412:       else
1412:         {
1412:           _Tp __b = _Tp(2) * (_Tp(1) + __x);
1412:           _Tp __d = _Tp(1) / __b;
1412:           _Tp __delh = __d;
1412:           _Tp __h = __delh;
1412:           _Tp __q1 = _Tp(0);
1412:           _Tp __q2 = _Tp(1);
1412:           _Tp __a1 = _Tp(0.25L) - __mu2;
1412:           _Tp __q = __c = __a1;
1412:           _Tp __a = -__a1;
1412:           _Tp __s = _Tp(1) + __q * __delh;
1412:           int __i;
1412:           for (__i = 2; __i <= __max_iter; ++__i)
1412:             {
1412:               __a -= 2 * (__i - 1);
1412:               __c = -__a * __c / __i;
1412:               const _Tp __qnew = (__q1 - __b * __q2) / __a;
1412:               __q1 = __q2;
1412:               __q2 = __qnew;
1412:               __q += __c * __qnew;
1412:               __b += _Tp(2);
1412:               __d = _Tp(1) / (__b + __a * __d);
1412:               __delh = (__b * __d - _Tp(1)) * __delh;
1412:               __h += __delh;
1412:               const _Tp __dels = __q * __delh;
1412:               __s += __dels;
1412:               if ( std::abs(__dels / __s) < __eps )
1412:                 break;
1412:             }
1412:           if (__i > __max_iter)
1412:             std::__throw_runtime_error(("Steed's method failed " "in __bessel_ik.")
1412:                                                              );
1412:           __h = __a1 * __h;
1412:           __Kmu = std::sqrt(__numeric_constants<_Tp>::__pi() / (_Tp(2) * __x))
1412:                 * std::exp(-__x) / __s;
1412:           __Knu1 = __Kmu * (__mu + __x + _Tp(0.5L) - __h) * __xi;
1412:         }
1412: 
1412:       _Tp __Kpmu = __mu * __xi * __Kmu - __Knu1;
1412:       _Tp __Inumu = __xi / (__f * __Kmu - __Kpmu);
1412:       __Inu = __Inumu * __Inul1 / __Inul;
1412:       __Ipnu = __Inumu * __Ipnu1 / __Inul;
1412:       for ( __i = 1; __i <= __nl; ++__i )
1412:         {
1412:           const _Tp __Knutemp = (__mu + __i) * __xi2 * __Knu1 + __Kmu;
1412:           __Kmu = __Knu1;
1412:           __Knu1 = __Knutemp;
1412:         }
1412:       __Knu = __Kmu;
1412:       __Kpnu = __nu * __xi * __Kmu - __Knu1;
1412: 
1412:       return;
1412:     }
1412: # 267 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __cyl_bessel_i(_Tp __nu, _Tp __x)
1412:     {
1412:       if (__nu < _Tp(0) || __x < _Tp(0))
1412:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_i.")
1412:                                                            );
1412:       else if (__isnan(__nu) || __isnan(__x))
1412:         return stings/lib/SettingsManager.h"
1434: class CSettingCategory;
1434: class CSettingGroup;
1434: class CSettingSection;
1434: class CSettingUpdate;
1434: 
1434: class TiXmlElement;
1434: class TiXmlNode;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CSettingsManager : public ISettingCreator,
1434:                          public ISettingControlCreator,
1434:                          private ISettingCallback,
1434:                          private ISettingsHandler
1434: {
1434: public:
1434: 
1434: 
1434: 
1434:   CSettingsManager();
1434:   ~CSettingsManager() override;
1434: 
1434:   static const uint32_t Version;
1434:   static const uint32_t MinimumSupportedVersion;
1434: 
1434: 
1434:   std::shared_ptr<CSetting> CreateSetting(const std::string &settingType, const std::string &settingId, CSettingsManager *settingsManager = nullptr) const override;
1434: 
1434: 
1434:   std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const override;
1434: 
1434:   uint32_t GetVersion() const { return Version; }
1434:   uint32_t GetMinimumSupportedVersion() const { return MinimumSupportedVersion; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   uint32_t ParseVersion(const TiXmlElement* root) const;
1434: # 80 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   bool Initialize(const TiXmlElement *root);
1434: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   bool Load(const TiXmlElement *root, bool &updated, bool triggerEvents = true, std::map<std::string, std::shared_ptr<CSetting>> *loadedSettings = nullptr);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool Save(const ISettingsValueSerializer* serializer, std::string& serializedValues) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void Unload();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void Clear();
1434: # 121 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   bool LoadSetting(const TiXmlNode *node, const std::string &settingId);
1434: # 132 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   bool LoadSetting(const TiXmlNode *node, const std::string &settingId, bool &updated);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetInitialized();
1434: 
1434: 
1434: 
1434:   bool IsInitialized() const { return m_initialized; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void SetLoaded() { m_loaded = true; }
1434: 
1434: 
1434: 
1434:   bool IsLoaded() const { return m_loaded; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void AddSection(const std::shared_ptr<CSettingSection>& section);
1434: # 184 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   bool AddSetting(const std::shared_ptr<CSetting>& setting,
1434:                   const std::shared_ptr<CSettingSection>& section,
1434:                   const std::shared_ptr<CSettingCategory>& category,
1434:                   const std::shared_ptr<CSettingGroup>& group);
1434: # 196 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   void RegisterCallback(ISettingCallback *callback, const std::set<std::string> &settingList);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void UnregisterCallback(ISettingCallback *callback);
1434: # 215 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   void RegisterSettingType(const std::string &settingType, ISettingCreator *settingCreator);
1434: # 228 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   void RegisterSettingControl(const std::string &controlType, ISettingControlCreator *settingControlCreator);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void RegisterSettingsHandler(ISettingsHandler *settingsHandler, bool bFront = false);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void UnregisterSettingsHandler(ISettingsHandler *settingsHandler);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void RegisterSettingOptionsFiller(const std::string &identifier, IntegerSettingOptionsFiller optionsFiller);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void RegisterSettingOptionsFiller(const std::string &identifier, StringSettingOptionsFiller optionsFiller);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void UnregisterSettingOptionsFiller(const std::string &identifier);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void* GetSettingOptionsFiller(const std::shared_ptr<const CSetting>& setting);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool HasSettings() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<CSetting> GetSetting(const std::string &id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector<std::shared_ptr<CSettingSection>> GetSections() const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::shared_ptr<CSettingSection> GetSection(std::string section) const;
1434: # 311 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   SettingDependencyMap GetDependencies(const std::string &id) const;
1434: # 323 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   SettingDependencyMap GetDependencies(const std::shared_ptr<const CSetting>& setting) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool GetBool(const std::string &id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   int GetInt(const std::string &id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   double GetNumber(const std::string &id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::string GetString(const std::string &id) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   std::vector< std::shared_ptr<CSetting> > GetList(const std::string &id) const;
1434: # 368 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   bool SetBool(const std::string &id, bool value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool ToggleBool(const std::string &id);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetInt(const std::string &id, int value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetNumber(const std::string &id, double value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetString(const std::string &id, const std::string &value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetList(const std::string &id, const std::vector< std::shared_ptr<CSetting> > &value);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   bool SetDefault(const std::string &id);
1434: 
1434: 
1434: 
1434:   void SetDefaults();
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   const CSettingConditionsManager& GetConditions() const { return m_conditions; }
1434: # 435 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   void AddCondition(const std::string &condition);
1434: # 446 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingsManager.h"
1434:   void AddDynamicCondition(const std::string &identifier, SettingConditionCheck condition, void *data = nullptr);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void RemoveDynamicCondition(const std::string &identifier);
1434: 
1434: private:
1434: 
1434:   bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) override;
1434:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1434:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1434:   bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1434:                        const char* oldSettingId,
1434:                        const TiXmlNode* oldSettingNode) override;
1434:   void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1434:                                 const char* propertyName) override;
1434: 
1434: 
1434:   bool OnSettingsLoading() override;
1434:   void OnSettingsLoaded() override;
1434:   void OnSettingsUnloaded() override;
1434:   bool OnSettingsSaving() const override;
1434:   void OnSettingsSaved() const override;
1434:   void OnSettingses));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   extern template class moneypunct<char, false>;
1115:   extern template class moneypunct<char, true>;
1115:   extern template class moneypunct_byname<char, false>;
1115:   extern template class moneypunct_byname<char, true>;
1115:   extern template class __cxx11:: money_get<char>;
1115:   extern template class __cxx11:: money_put<char>;
1115:   extern template class __timepunct<char>;
1115:   extern template class time_put<char>;
1115:   extern template class time_put_byname<char>;
1115:   extern template class time_get<char>;
1115:   extern template class time_get_byname<char>;
1115:   extern template class messages<char>;
1115:   extern template class messages_byname<char>;
1115: 
1115:   extern template
1115:     const moneypunct<char, true>&
1115:     use_facet<moneypunct<char, true> >(const locale&);
1115: 
1115:   extern template
1115:     const moneypunct<char, false>&
1115:     use_facet<moneypunct<char, false> >(const locale&);
1115: 
1115:   extern template
1115:     const money_put<char>&
1115:     use_facet<money_put<char> >(const locale&);
1115: 
1115:   extern template
1115:     const money_get<char>&
1115:     use_facet<money_get<char> >(const locale&);
1115: 
1115:   extern template
1115:     const __timepunct<char>&
1115:     use_facet<__timepunct<char> >(const locale&);
1115: 
1115:   extern template
1115:     const time_put<char>&
1115:     use_facet<time_put<char> >(const locale&);
1115: 
1115:   extern template
1115:     const time_get<char>&
1115:     use_facet<time_get<char> >(const locale&);
1115: 
1115:   extern template
1115:     const messages<char>&
1115:     use_facet<messages<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<moneypunct<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<money_put<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<money_get<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<__timepunct<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<time_put<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<time_get<char> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<messages<char> >(const locale&);
1115: 
1115: 
1115:   extern template class moneypunct<wchar_t, false>;
1115:   extern template class moneypunct<wchar_t, true>;
1115:   extern template class moneypunct_byname<wchar_t, false>;
1115:   extern template class moneypunct_byname<wchar_t, true>;
1115:   extern template class __cxx11:: money_get<wchar_t>;
1115:   extern template class __cxx11:: money_put<wchar_t>;
1115:   extern template class __timepunct<wchar_t>;
1115:   extern template class time_put<wchar_t>;
1115:   extern template class time_put_byname<wchar_t>;
1115:   extern template class time_get<wchar_t>;
1115:   extern template class time_get_byname<wchar_t>;
1115:   extern template class messages<wchar_t>;
1115:   extern template class messages_byname<wchar_t>;
1115: 
1115:   extern template
1115:     const moneypunct<wchar_t, true>&
1115:     use_facet<moneypunct<wchar_t, true> >(const locale&);
1115: 
1115:   extern template
1115:     const moneypunct<wchar_t, false>&
1115:     use_facet<moneypunct<wchar_t, false> >(const locale&);
1115: 
1115:   extern template
1115:     const money_put<wchar_t>&
1115:     use_facet<money_put<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     const money_get<wchar_t>&
1115:     use_facet<money_get<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     const __timepunct<wchar_t>&
1115:     use_facet<__timepunct<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     const time_put<wchar_t>&
1115:     use_facet<time_put<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     const time_get<wchar_t>&
1115:     use_facet<time_get<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:td::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1412:         return __cyl_bessel_ij_series(__nu, __x, +_Tp(1), 200);
1412:       else
1412:         {
1412:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1412:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1412:           return __I_nu;
1412:         }
1412:     }
1412: # 303 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __cyl_bessel_k(_Tp __nu, _Tp __x)
1412:     {
1412:       if (__nu < _Tp(0) || __x < _Tp(0))
1412:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_k.")
1412:                                                            );
1412:       else if (__isnan(__nu) || __isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else
1412:         {
1412:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1412:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1412:           return __K_nu;
1412:         }
1412:     }
1412: # 337 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1412:     template <typename _Tp>
1412:     void
1412:     __sph_bessel_ik(unsigned int __n, _Tp __x,
1412:                     _Tp & __i_n, _Tp & __k_n, _Tp & __ip_n, _Tp & __kp_n)
1412:     {
1412:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1412: 
1412:       _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1412:       __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1412: 
1412:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1412:                          / std::sqrt(__x);
1412: 
1412:       __i_n = __factor * __I_nu;
1412:       __k_n = __factor * __K_nu;
1412:       __ip_n = __factor * __Ip_nu - __i_n / (_Tp(2) * __x);
1412:       __kp_n = __factor * __Kp_nu - __k_n / (_Tp(2) * __x);
1412: 
1412:       return;
1412:     }
1412: # 373 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1412:     template <typename _Tp>
1412:     void
1412:     __airy(_Tp __x, _Tp & __Ai, _Tp & __Bi, _Tp & __Aip, _Tp & __Bip)
1412:     {
1412:       const _Tp __absx = std::abs(__x);
1412:       const _Tp __rootx = std::sqrt(__absx);
1412:       const _Tp __z = _Tp(2) * __absx * __rootx / _Tp(3);
1412:       const _Tp _S_inf = std::numeric_limits<_Tp>::infinity();
1412: 
1412:       if (__isnan(__x))
1412:         __Bip = __Aip = __Bi = __Ai = std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__z == _S_inf)
1412:         {
1412:    __Aip = __Ai = _Tp(0);
1412:    __Bip = __Bi = _S_inf;
1412:  }
1412:       else if (__z == -_S_inf)
1412:  __Bip = __Aip = __Bi = __Ai = _Tp(0);
1412:       else if (__x > _Tp(0))
1412:         {
1412:           _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1412: 
1412:           __bessel_ik(_Tp(1) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1412:           __Ai = __rootx * __K_nu
1412:                / (__numeric_constants<_Tp>::__sqrt3()
1412:                 * __numeric_constants<_Tp>::__pi());
1412:           __Bi = __rootx * (__K_nu / __numeric_constants<_Tp>::__pi()
1412:                  + _Tp(2) * __I_nu / __numeric_constants<_Tp>::__sqrt3());
1412: 
1412:           __bessel_ik(_Tp(2) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1412:           __Aip = -__x * __K_nu
1412:                 / (__numeric_constants<_Tp>::__sqrt3()
1412:                  * __numeric_constants<_Tp>::__pi());
1412:           __Bip = __x * (__K_nu / __numeric_constants<_Tp>::__pi()
1412:                       + _Tp(2) * __I_nu
1412:                       / __numeric_constants<_Tp>::__sqrt3());
1412:         }
1412:       else if (__x < _Tp(0))
1412:         {
1412:           _Tp __J_nu, __Jp_nu, __N_nu, __Np_nu;
1412: 
1412:           __bessel_jn(_Tp(1) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1412:           __Ai = __rootx * (__J_nu
1412:                     - __N_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1412:           __Bi = -__rootx * (__N_nu
1412:                     + __J_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1412: 
1412:       Cleared() override;
1434: 
1434:   bool Serialize(TiXmlNode *parent) const;
1434:   bool Deserialize(const TiXmlNode *node, bool &updated, std::map<std::string, std::shared_ptr<CSetting>> *loadedSettings = nullptr);
1434: 
1434:   bool LoadSetting(const TiXmlNode* node, const std::shared_ptr<CSetting>& setting, bool& updated);
1434:   bool UpdateSetting(const TiXmlNode* node,
1434:                      const std::shared_ptr<CSetting>& setting,
1434:                      const CSettingUpdate& update);
1434:   void UpdateSettingByDependency(const std::string &settingId, const CSettingDependency &dependency);
1434:   void UpdateSettingByDependency(const std::string &settingId, SettingDependencyType dependencyType);
1434: 
1434:   void AddSetting(const std::shared_ptr<CSetting>& setting);
1434: 
1434:   void ResolveReferenceSettings(const std::shared_ptr<CSettingSection>& section);
1434:   void CleanupIncompleteSettings();
1434: 
1434:   enum class SettingOptionsFillerType {
1434:     Unknown = 0,
1434:     Integer,
1434:     String
1434:   };
1434: 
1434:   void RegisterSettingOptionsFiller(const std::string &identifier, void *filler, SettingOptionsFillerType type);
1434: 
1434:   using CallbackSet = std::set<ISettingCallback *>;
1434:   struct Setting {
1434:     std::shared_ptr<CSetting> setting;
1434:     SettingDependencyMap dependencies;
1434:     std::set<std::string> children;
1434:     CallbackSet callbacks;
1434:     std::unordered_set<std::string> references;
1434:   };
1434: 
1434:   using SettingMap = std::map<std::string, Setting>;
1434: 
1434:   void ResolveSettingDependencies(const std::shared_ptr<CSetting>& setting);
1434:   void ResolveSettingDependencies(const Setting& setting);
1434: 
1434:   SettingMap::const_iterator FindSetting(std::string settingId) const;
1434:   SettingMap::iterator FindSetting(std::string settingId);
1434:   std::pair<SettingMap::iterator, bool> InsertSetting(std::string settingId, const Setting& setting);
1434: 
1434:   bool m_initialized = false;
1434:   bool m_loaded = false;
1434: 
1434:   SettingMap m_settings;
1434:   using SettingSectionMap = std::map<std::string, std::shared_ptr<CSettingSection>>;
1434:   SettingSectionMap m_sections;
1434: 
1434:   using SettingCreatorMap = std::map<std::string, ISettingCreator*>;
1434:   SettingCreatorMap m_settingCreators;
1434: 
1434:   using SettingControlCreatorMap = std::map<std::string, ISettingControlCreator*>;
1434:   SettingControlCreatorMap m_settingControlCreators;
1434: 
1434:   using SettingsHandlers = std::vector<ISettingsHandler*>;
1434:   SettingsHandlers m_settingsHandlers;
1434: 
1434:   CSettingConditionsManager m_conditions;
1434: 
1434:   struct SettingOptionsFiller {
1434:     void *filler;
1434:     SettingOptionsFillerType type;
1434:   };
1434:   using SettingOptionsFillerMap = std::map<std::string, SettingOptionsFiller>;
1434:   SettingOptionsFillerMap m_optionsFillers;
1434: 
1434:   mutable CSharedSection m_critical;
1434:   mutable CSharedSection m_settingsCritical;
1434: 
1434:   Logger m_logger;
1434: };
1434: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:        
1434: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1434: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/sstream" 1 3
1434: # 36 "/usr/include/c++/12/sstream" 3
1434:        
1434: # 37 "/usr/include/c++/12/sstream" 3
1434: 
1434: # 1 "/usr/include/c++/12/istream" 1 3
1434: # 36 "/usr/include/c++/12/istream" 3
1434:        
1434: # 37 "/usr/include/c++/12/istream" 3
1434: 
1434: # 1 "/usr/include/c++/12/ios" 1 3
1434: # 36 "/usr/include/c++/12/ios" 3
1434:        
1434: # 37 "/usr/include/c++/12/ios" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/basic_ios.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/basic_ios.h" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 41 "/usr/include/c++/12/bits/basic_ios.h" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _Facet>
1434:     inline const _Facet&
1434:     __check_facet(const _Facet* __f)
1434:     {
1434:       if (!__f)
1434:  __throw_bad_cast();
1434:       return *__f;
1434:     }
1434: # 66 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:   template<typename _CharT, typename _Traits>
1434:     class basic_ios : public ios_base
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef typename _Traits::int_type int_type;
1434:       typedef typename _Traits::pos_type pos_type;
1434:       typedef typename _Traits::off_type off_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef ctype<_CharT> __ctype_type;
1434:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1434:            __num_put_type;
1434:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1434:            __num_get_type;
1434: 
1434: 
1434: 
1434:     protected:
1434:       basic_ostream<_CharT, _Traits>* _M_tie;
1434:       mutable char_type _M_fill;
1434:       mutable bool _M_fill_init;
1434:       basic_streambuf<_CharT, _Traits>* _M_streambuf;
1434: 
1434: 
1434:       const __ctype_type* _M_ctype;
1434: 
1434:       const __num_put_type* _M_num_put;
1434: 
1434:       const __num_get_type* _M_num_get;
1434: 
1434:     public:
1434: # 117 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       explicit operator bool() const
1434:       { return !this->fail(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       bool
1434:       operator!() const
1434:       { return this->fail(); }
1434: # 136 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       iostate
1434:       rdstate() const
1434:       { return _M_streambuf_state; }
1434: # 147 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       void
1434:       clear(iostate __state = goodbit);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       setstate(iostate __state)
1434:       { this->clear(this->rdstate() | __state); }
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_setstate(iostate __state)
1434:       {
1434: 
1434: 
1434:  _M_streambuf_state |= __state;
1434:  if (this->exceptions() & __state)
1434:    throw;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       bool
1434:       good() const
1434:       { return this->rdstate() == 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       bool
1434:       eof() const
1434:       { return (this->rdstate() & eofbit) != 0; }
1434: # 200 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       bool
1434:       fail() const
1434:       { return (this->rdstate() & (badbit | failbit)) != 0; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       bool
1434:       bad() const
1434:       { return (this->rdstate() & badbit) != 0; }
1434: # 221 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       iostate
1434:       exceptions() const
1434:       { return _M_exception; }
1434: # 256 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       void
1434:       exceptions(iostate __except)
1434:       {
1434:         _M_exception = __except;
1434:         this->clear(_M_streambuf_state);
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
1434:       : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
1434:  _M_ctype(0), _M_num_put(0), _M_num_get(0)
1434:       { this->init(__sb); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       virtual
1434:       ~basic_ios() { }
1434: # 294 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       basic_ostream<_CharT, _Traits>*
1434:       tie() const
1434:       { retur     const messages<wchar_t>&
1115:     use_facet<messages<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<moneypunct<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<money_put<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<money_get<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<__timepunct<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<time_put<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<time_get<wchar_t> >(const locale&);
1115: 
1115:   extern template
1115:     bool
1115:     has_facet<messages<wchar_t> >(const locale&);
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 2070 "/usr/include/c++/12/bits/locale_facets_nonio.h" 2 3
1115: # 42 "/usr/include/c++/12/locale" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/bits/locale_conv.h" 1 3
1115: # 42 "/usr/include/c++/12/bits/locale_conv.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _OutStr, typename _InChar, typename _Codecvt,
1115:     typename _State, typename _Fn>
1115:     bool
1115:     __do_str_codecvt(const _InChar* __first, const _InChar* __last,
1115:        _OutStr& __outstr, const _Codecvt& __cvt, _State& __state,
1115:        size_t& __count, _Fn __fn)
1115:     {
1115:       if (__first == __last)
1115:  {
1115:    __outstr.clear();
1115:    __count = 0;
1115:    return true;
1115:  }
1115: 
1115:       size_t __outchars = 0;
1115:       auto __next = __first;
1115:       const auto __maxlen = __cvt.max_length() + 1;
1115: 
1115:       codecvt_base::result __result;
1115:       do
1115:  {
1115:    __outstr.resize(__outstr.size() + (__last - __next) * __maxlen);
1115:    auto __outnext = &__outstr.front() + __outchars;
1115:    auto const __outlast = &__outstr.back() + 1;
1115:    __result = (__cvt.*__fn)(__state, __next, __last, __next,
1115:      __outnext, __outlast, __outnext);
1115:    __outchars = __outnext - &__outstr.front();
1115:  }
1115:       while (__result == codecvt_base::partial && __next != __last
1115:       && ptrdiff_t(__outstr.size() - __outchars) < __maxlen);
1115: 
1115:       if (__result == codecvt_base::error)
1115:  {
1115:    __count = __next - __first;
1115:    return false;
1115:  }
1115: 
1115: 
1115: 
1115:       if constexpr (is_same<typename _Codecvt::intern_type,
1115:            typename _Codecvt::extern_type>())
1115:  if (__result == codecvt_base::noconv)
1115:    {
1115:      __outstr.assign(__first, __last);
1115:      __count = __last - __first;
1115:      return true;
1115:    }
1115: 
1115:       __outstr.resize(__outchars);
1115:       __count = __next - __first;
1115:       return true;
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1115:     inline bool
1115:     __str_codecvt_in(const char* __first, const char* __last,
1115:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
1115:        const codecvt<_CharT, char, _State>& __cvt,
1115:        _State& __state, size_t& __count)
1115:     {
1115:       using _Codecvt = codecvt<_CharT, char, _State>;
1115:       using _ConvFn
1115:  = codecvt_base::result
1115:    (_Codecvt::*)(_State&, const char*, const char*, const char*&,
1115:    _CharT*, _CharT*, _CharT*&) const;
1115:       _ConvFn __fn = &codecvt<_CharT, char, _State>::in;
1115:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
1115:          __count, __fn);
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1115:     inline bool
1115:     __str_codecvt_in(const char* __first, const char* __last,
1115:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
1115:        const codecvt<_CharT, char, _State>& __cvt)
1115:     {
1115:       _State __state = {};
1115:       size_t __n;
1115:    n _M_tie; }
1434: # 306 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       basic_ostream<_CharT, _Traits>*
1434:       tie(basic_ostream<_CharT, _Traits>* __tiestr)
1434:       {
1434:         basic_ostream<_CharT, _Traits>* __old = _M_tie;
1434:         _M_tie = __tiestr;
1434:         return __old;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       basic_streambuf<_CharT, _Traits>*
1434:       rdbuf() const
1434:       { return _M_streambuf; }
1434: # 346 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       basic_streambuf<_CharT, _Traits>*
1434:       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
1434: # 360 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       basic_ios&
1434:       copyfmt(const basic_ios& __rhs);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       char_type
1434:       fill() const
1434:       {
1434:  if (!_M_fill_init)
1434:    {
1434:      _M_fill = this->widen(' ');
1434:      _M_fill_init = true;
1434:    }
1434:  return _M_fill;
1434:       }
1434: # 389 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       char_type
1434:       fill(char_type __ch)
1434:       {
1434:  char_type __old = this->fill();
1434:  _M_fill = __ch;
1434:  return __old;
1434:       }
1434: # 409 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       locale
1434:       imbue(const locale& __loc);
1434: # 429 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       char
1434:       narrow(char_type __c, char __dfault) const
1434:       { return __check_facet(_M_ctype).narrow(__c, __dfault); }
1434: # 448 "/usr/include/c++/12/bits/basic_ios.h" 3
1434:       char_type
1434:       widen(char __c) const
1434:       { return __check_facet(_M_ctype).widen(__c); }
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       basic_ios()
1434:       : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
1434:  _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
1434:       { }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       init(basic_streambuf<_CharT, _Traits>* __sb);
1434: 
1434: 
1434:       basic_ios(const basic_ios&) = delete;
1434:       basic_ios& operator=(const basic_ios&) = delete;
1434: 
1434:       void
1434:       move(basic_ios& __rhs)
1434:       {
1434:  ios_base::_M_move(__rhs);
1434:  _M_cache_locale(_M_ios_locale);
1434:  this->tie(__rhs.tie(nullptr));
1434:  _M_fill = __rhs._M_fill;
1434:  _M_fill_init = __rhs._M_fill_init;
1434:  _M_streambuf = nullptr;
1434:       }
1434: 
1434:       void
1434:       move(basic_ios&& __rhs)
1434:       { this->move(__rhs); }
1434: 
1434:       void
1434:       swap(basic_ios& __rhs) noexcept
1434:       {
1434:  ios_base::_M_swap(__rhs);
1434:  _M_cache_locale(_M_ios_locale);
1434:  __rhs._M_cache_locale(__rhs._M_ios_locale);
1434:  std::swap(_M_tie, __rhs._M_tie);
1434:  std::swap(_M_fill, __rhs._M_fill);
1434:  std::swap(_M_fill_init, __rhs._M_fill_init);
1434:       }
1434: 
1434:       void
1434:       set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1434:       { _M_streambuf = __sb; }
1434: 
1434: 
1434:       void
1434:       _M_cache_locale(const locale& __loc);
1434:     };
1434: 
1434: 
1434: }
1434: 
1434: # 1 "/usr/include/c++/12/bits/basic_ios.tcc" 1 3
1434: # 33 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     void
1434:     basic_ios<_CharT, _Traits>::clear(iostate __state)
1434:     {
1434:       if (this->rdbuf())
1434:  _M_streambuf_state = __state;
1434:       else
1434:  _M_streambuf_state = __state | badbit;
1434:       if (this->exceptions() & this->rdstate())
1434:  __throw_ios_failure(("basic_ios::clear"));
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_streambuf<_CharT, _Traits>*
1434:     basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1434:     {
1434:       basi    __bessel_jn(_Tp(2) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1412:           __Aip = __absx * (__N_nu / __numeric_constants<_Tp>::__sqrt3()
1412:                           + __J_nu) / _Tp(2);
1412:           __Bip = __absx * (__J_nu / __numeric_constants<_Tp>::__sqrt3()
1412:                           - __N_nu) / _Tp(2);
1412:         }
1412:       else
1412:         {
1412: 
1412: 
1412: 
1412:           __Ai = _Tp(0.35502805388781723926L);
1412:           __Bi = __Ai * __numeric_constants<_Tp>::__sqrt3();
1412: 
1412: 
1412: 
1412: 
1412:           __Aip = -_Tp(0.25881940379280679840L);
1412:           __Bip = -__Aip * __numeric_constants<_Tp>::__sqrt3();
1412:         }
1412: 
1412:       return;
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 57 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/poly_hermite.tcc" 1 3
1412: # 42 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 56 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 72 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __poly_hermite_recursion(unsigned int __n, _Tp __x)
1412:     {
1412: 
1412:       _Tp __H_0 = 1;
1412:       if (__n == 0)
1412:         return __H_0;
1412: 
1412: 
1412:       _Tp __H_1 = 2 * __x;
1412:       if (__n == 1)
1412:         return __H_1;
1412: 
1412: 
1412:       _Tp __H_n, __H_nm1, __H_nm2;
1412:       unsigned int __i;
1412:       for (__H_nm2 = __H_0, __H_nm1 = __H_1, __i = 2; __i <= __n; ++__i)
1412:         {
1412:           __H_n = 2 * (__x * __H_nm1 - (__i - 1) * __H_nm2);
1412:           __H_nm2 = __H_nm1;
1412:           __H_nm1 = __H_n;
1412:         }
1412: 
1412:       return __H_n;
1412:     }
1412: # 114 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __poly_hermite(unsigned int __n, _Tp __x)
1412:     {
1412:       if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else
1412:         return __poly_hermite_recursion(__n, __x);
1412:     }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 58 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 1 3
1412: # 44 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 60 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 75 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412:     template<typename _Tpa, typename _Tp>
1412:     _Tp
1412:     __poly_laguerre_large_n(unsigned __n, _Tpa __alpha1, _Tp __x)
1412:     {
1412:       const _Tp __a = -_Tp(__n);
1412:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1412:       const _Tp __eta = _Tp(2) * __b - _Tp(4) * __a;
1412:       const _Tp __cos2th = __x / __eta;
1412:       const _Tp __sin2th = _Tp(1) - __cos2th;
1412:       const _Tp __th = std::acos(std::sqrt(__cos2th));
1412:       const _Tp __pre_h = __numeric_constants<_Tp>::__pi_2()
1412:                         * __numeric_constants<_Tp>::__pi_2()
1412:                         * __eta * __eta * __cos2th * __sin2th;
1412: 
1412: 
1412:       const _Tp __lg_b = ::std::lgamma(_Tp(__n) + __b);
1412:       const _Tp __lnfact = ::std::lgamma(_Tp(__n + 1));
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       _Tp __pre_term1 = _Tp(0.5L) * (_Tp(1) - __b)
1412:                       * std::log(_Tp(0.25L) * __x * __eta);
1412:       _Tp __pre_term2 = _Tp(0.25L) * std::log(__pre_h);
1412:       _Tp __lnpre = __lg_b - __lnfact + _Tp(0.5L) * __x
1412:                       + __pre_term1 - __pre_term2;
1412:       _Tp __ser_term1 = std::sin(__a * __numeric_constants<_Tp>::__pi());
1412:       _Tp __ser_term2 = std::sin(_Tp(0.25L) * __eta
1412:                               * (_Tp(2) * __th
1412:                                - std::sin(_Tp(2) * __th))
1412:                                +c_streambuf<_CharT, _Traits>* __old = _M_streambuf;
1434:       _M_streambuf = __sb;
1434:       this->clear();
1434:       return __old;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ios<_CharT, _Traits>&
1434:     basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
1434:     {
1434: 
1434: 
1434:       if (this != std::__addressof(__rhs))
1434:  {
1434: 
1434: 
1434: 
1434: 
1434:    _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
1434:                       _M_local_word : new _Words[__rhs._M_word_size];
1434: 
1434: 
1434:    _Callback_list* __cb = __rhs._M_callbacks;
1434:    if (__cb)
1434:      __cb->_M_add_reference();
1434:    _M_call_callbacks(erase_event);
1434:    if (_M_word != _M_local_word)
1434:      {
1434:        delete [] _M_word;
1434:        _M_word = 0;
1434:      }
1434:    _M_dispose_callbacks();
1434: 
1434: 
1434:    _M_callbacks = __cb;
1434:    for (int __i = 0; __i < __rhs._M_word_size; ++__i)
1434:      __words[__i] = __rhs._M_word[__i];
1434:    _M_word = __words;
1434:    _M_word_size = __rhs._M_word_size;
1434: 
1434:    this->flags(__rhs.flags());
1434:    this->width(__rhs.width());
1434:    this->precision(__rhs.precision());
1434:    this->tie(__rhs.tie());
1434:    this->fill(__rhs.fill());
1434:    _M_ios_locale = __rhs.getloc();
1434:    _M_cache_locale(_M_ios_locale);
1434: 
1434:    _M_call_callbacks(copyfmt_event);
1434: 
1434: 
1434:    this->exceptions(__rhs.exceptions());
1434:  }
1434:       return *this;
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     locale
1434:     basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
1434:     {
1434:       locale __old(this->getloc());
1434:       ios_base::imbue(__loc);
1434:       _M_cache_locale(__loc);
1434:       if (this->rdbuf() != 0)
1434:  this->rdbuf()->pubimbue(__loc);
1434:       return __old;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     void
1434:     basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
1434:     {
1434: 
1434:       ios_base::_M_init();
1434: 
1434: 
1434:       _M_cache_locale(_M_ios_locale);
1434: # 146 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1434:       _M_fill = _CharT();
1434:       _M_fill_init = false;
1434: 
1434:       _M_tie = 0;
1434:       _M_exception = goodbit;
1434:       _M_streambuf = __sb;
1434:       _M_streambuf_state = __sb ? goodbit : badbit;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     void
1434:     basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
1434:     {
1434:       if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
1434:  _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc));
1434:       else
1434:  _M_ctype = 0;
1434: 
1434:       if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
1434:  _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc));
1434:       else
1434:  _M_num_put = 0;
1434: 
1434:       if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
1434:  _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc));
1434:       else
1434:  _M_num_get = 0;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template class basic_ios<char>;
1434: 
1434: 
1434:   extern template class basic_ios<wchar_t>;
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 517 "/usr/include/c++/12/bits/basic_ios.h" 2 3
1434: # 45 "/usr/include/c++/12/ios" 2 3
1434: # 39 "/usr/include/c++/12/istream" 2 3
1434: # 1 "/usr/include/c++/12/ostream" 1 3
1434: # 36 "/usr/include/c++/12/ostream" 3
1434:        
1434: # 37 "/usr/include/c++/12/ostream" 3
1434: 
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 57 "/usr/include/c++/12/ostream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef typename _Traits::int_type int   return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1115:     inline bool
1115:     __str_codecvt_in_all(const char* __first, const char* __last,
1115:     basic_string<_CharT, _Traits, _Alloc>& __outstr,
1115:     const codecvt<_CharT, char, _State>& __cvt)
1115:     {
1115:       _State __state = {};
1115:       size_t __n;
1115:       return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
1115:  && (__n == size_t(__last - __first));
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1115:     inline bool
1115:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
1115:         basic_string<char, _Traits, _Alloc>& __outstr,
1115:         const codecvt<_CharT, char, _State>& __cvt,
1115:         _State& __state, size_t& __count)
1115:     {
1115:       using _Codecvt = codecvt<_CharT, char, _State>;
1115:       using _ConvFn
1115:  = codecvt_base::result
1115:    (_Codecvt::*)(_State&, const _CharT*, const _CharT*, const _CharT*&,
1115:    char*, char*, char*&) const;
1115:       _ConvFn __fn = &codecvt<_CharT, char, _State>::out;
1115:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
1115:          __count, __fn);
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1115:     inline bool
1115:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
1115:         basic_string<char, _Traits, _Alloc>& __outstr,
1115:         const codecvt<_CharT, char, _State>& __cvt)
1115:     {
1115:       _State __state = {};
1115:       size_t __n;
1115:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
1115:     inline bool
1115:     __str_codecvt_out_all(const _CharT* __first, const _CharT* __last,
1115:      basic_string<char, _Traits, _Alloc>& __outstr,
1115:      const codecvt<_CharT, char, _State>& __cvt)
1115:     {
1115:       _State __state = {};
1115:       size_t __n;
1115:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
1115:  && (__n == size_t(__last - __first));
1115:     }
1115: # 223 "/usr/include/c++/12/bits/locale_conv.h" 3
1115:   namespace __detail
1115:   {
1115:     template<typename _Tp>
1115:       struct _Scoped_ptr
1115:       {
1115:  __attribute__((__nonnull__(2)))
1115:  explicit
1115:  _Scoped_ptr(_Tp* __ptr) noexcept
1115:  : _M_ptr(__ptr)
1115:  { }
1115: 
1115:  _Scoped_ptr(_Tp* __ptr, const char* __msg)
1115:  : _M_ptr(__ptr)
1115:  {
1115:    if (!__ptr)
1115:      __throw_logic_error(__msg);
1115:  }
1115: 
1115:  ~_Scoped_ptr() { delete _M_ptr; }
1115: 
1115:  _Scoped_ptr(const _Scoped_ptr&) = delete;
1115:  _Scoped_ptr& operator=(const _Scoped_ptr&) = delete;
1115: 
1115:  __attribute__((__returns_nonnull__))
1115:  _Tp* operator->() const noexcept { return _M_ptr; }
1115: 
1115:  _Tp& operator*() const noexcept { return *_M_ptr; }
1115: 
1115:       private:
1115:  _Tp* _M_ptr;
1115:       };
1115:   }
1115: 
1115: namespace __cxx11 {
1115: 
1115: 
1115:   template<typename _Codecvt, typename _Elem = wchar_t,
1115:     typename _Wide_alloc = allocator<_Elem>,
1115:     typename _Byte_alloc = allocator<char>>
1115:     class wstring_convert
1115:     {
1115:     public:
1115:       typedef basic_string<char, char_traits<char>, _Byte_alloc> byte_string;
1115:       typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string;
1115:       typedef typename _Codecvt::state_type state_type;
1115:       typedef typename wide_string::traits_type::int_type int_type;
1115: 
1115: 
1115:       wstring_convert() : _M_cvt(new _Codecvt()) { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       wstring_convert(_Codecvt* __pcvt) : _M_cvt(__pcvt, "wstring_convert")
1115:       { }
1115: _type;
1434:       typedef typename _Traits::pos_type pos_type;
1434:       typedef typename _Traits::off_type off_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1434:       typedef basic_ios<_CharT, _Traits> __ios_type;
1434:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1434:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1434:              __num_put_type;
1434:       typedef ctype<_CharT> __ctype_type;
1434: # 83 "/usr/include/c++/12/ostream" 3
1434:       explicit
1434:       basic_ostream(__streambuf_type* __sb)
1434:       { this->init(__sb); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       virtual
1434:       ~basic_ostream() { }
1434: 
1434: 
1434:       class sentry;
1434:       friend class sentry;
1434: # 107 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       operator<<(__ostream_type& (*__pf)(__ostream_type&))
1434:       {
1434: 
1434: 
1434: 
1434:  return __pf(*this);
1434:       }
1434: 
1434:       __ostream_type&
1434:       operator<<(__ios_type& (*__pf)(__ios_type&))
1434:       {
1434: 
1434: 
1434: 
1434:  __pf(*this);
1434:  return *this;
1434:       }
1434: 
1434:       __ostream_type&
1434:       operator<<(ios_base& (*__pf) (ios_base&))
1434:       {
1434: 
1434: 
1434: 
1434:  __pf(*this);
1434:  return *this;
1434:       }
1434: # 165 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       operator<<(long __n)
1434:       { return _M_insert(__n); }
1434: 
1434:       __ostream_type&
1434:       operator<<(unsigned long __n)
1434:       { return _M_insert(__n); }
1434: 
1434:       __ostream_type&
1434:       operator<<(bool __n)
1434:       { return _M_insert(__n); }
1434: 
1434:       __ostream_type&
1434:       operator<<(short __n);
1434: 
1434:       __ostream_type&
1434:       operator<<(unsigned short __n)
1434:       {
1434: 
1434: 
1434:  return _M_insert(static_cast<unsigned long>(__n));
1434:       }
1434: 
1434:       __ostream_type&
1434:       operator<<(int __n);
1434: 
1434:       __ostream_type&
1434:       operator<<(unsigned int __n)
1434:       {
1434: 
1434: 
1434:  return _M_insert(static_cast<unsigned long>(__n));
1434:       }
1434: 
1434: 
1434:       __ostream_type&
1434:       operator<<(long long __n)
1434:       { return _M_insert(__n); }
1434: 
1434:       __ostream_type&
1434:       operator<<(unsigned long long __n)
1434:       { return _M_insert(__n); }
1434: # 219 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       operator<<(double __f)
1434:       { return _M_insert(__f); }
1434: 
1434:       __ostream_type&
1434:       operator<<(float __f)
1434:       {
1434: 
1434: 
1434:  return _M_insert(static_cast<double>(__f));
1434:       }
1434: 
1434:       __ostream_type&
1434:       operator<<(long double __f)
1434:       { return _M_insert(__f); }
1434: # 244 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       operator<<(const void* __p)
1434:       { return _M_insert(__p); }
1434: 
1434: 
1434:       __ostream_type&
1434:       operator<<(nullptr_t)
1434:       { return *this << "nullptr"; }
1434: # 282 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       operator<<(__streambuf_type* __sb);
1434: # 315 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       put(char_type __c);
1434: # 334 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       write(const char_type* __s, streamsize __n);
1434: # 347 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       flush();
1434: # 357 "/usr/include/c++/12/ostream" 3
1434:       pos_type
1434:       tellp();
1434: # 368 "/usr/include/c++/12/ostream" 3
1434:       __ostream_type&
1434:       seekp(pos_type);
1434: # 380 "/usr/include/c++/12/ostream" 3
1434:        __ostream_type&
1434:       seekp(off_type, ios_base::seekdir);
1434: 
1434:     protected:
1434:       basic_ostream()
1434:       { this->init(0); }
1434: 
1434: 
1434: 
1434:       basic_ostr __numeric_constants<_Tp>::__pi_4());
1412:       _Tp __ser = __ser_term1 + __ser_term2;
1412: 
1412:       return std::exp(__lnpre) * __ser;
1412:     }
1412: # 129 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412:     template<typename _Tpa, typename _Tp>
1412:     _Tp
1412:     __poly_laguerre_hyperg(unsigned int __n, _Tpa __alpha1, _Tp __x)
1412:     {
1412:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1412:       const _Tp __mx = -__x;
1412:       const _Tp __tc_sgn = (__x < _Tp(0) ? _Tp(1)
1412:                          : ((__n % 2 == 1) ? -_Tp(1) : _Tp(1)));
1412: 
1412:       _Tp __tc = _Tp(1);
1412:       const _Tp __ax = std::abs(__x);
1412:       for (unsigned int __k = 1; __k <= __n; ++__k)
1412:         __tc *= (__ax / __k);
1412: 
1412:       _Tp __term = __tc * __tc_sgn;
1412:       _Tp __sum = __term;
1412:       for (int __k = int(__n) - 1; __k >= 0; --__k)
1412:         {
1412:           __term *= ((__b + _Tp(__k)) / _Tp(int(__n) - __k))
1412:                   * _Tp(__k + 1) / __mx;
1412:           __sum += __term;
1412:         }
1412: 
1412:       return __sum;
1412:     }
1412: # 185 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412:     template<typename _Tpa, typename _Tp>
1412:     _Tp
1412:     __poly_laguerre_recursion(unsigned int __n, _Tpa __alpha1, _Tp __x)
1412:     {
1412: 
1412:       _Tp __l_0 = _Tp(1);
1412:       if (__n == 0)
1412:         return __l_0;
1412: 
1412: 
1412:       _Tp __l_1 = -__x + _Tp(1) + _Tp(__alpha1);
1412:       if (__n == 1)
1412:         return __l_1;
1412: 
1412: 
1412:       _Tp __l_n2 = __l_0;
1412:       _Tp __l_n1 = __l_1;
1412:       _Tp __l_n = _Tp(0);
1412:       for (unsigned int __nn = 2; __nn <= __n; ++__nn)
1412:         {
1412:             __l_n = (_Tp(2 * __nn - 1) + _Tp(__alpha1) - __x)
1412:                   * __l_n1 / _Tp(__nn)
1412:                   - (_Tp(__nn - 1) + _Tp(__alpha1)) * __l_n2 / _Tp(__nn);
1412:             __l_n2 = __l_n1;
1412:             __l_n1 = __l_n;
1412:         }
1412: 
1412:       return __l_n;
1412:     }
1412: # 244 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412:     template<typename _Tpa, typename _Tp>
1412:     _Tp
1412:     __poly_laguerre(unsigned int __n, _Tpa __alpha1, _Tp __x)
1412:     {
1412:       if (__x < _Tp(0))
1412:         std::__throw_domain_error(("Negative argument " "in __poly_laguerre.")
1412:                                                             );
1412: 
1412:       else if (__isnan(__x))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__n == 0)
1412:         return _Tp(1);
1412:       else if (__n == 1)
1412:         return _Tp(1) + _Tp(__alpha1) - __x;
1412:       else if (__x == _Tp(0))
1412:         {
1412:           _Tp __prod = _Tp(__alpha1) + _Tp(1);
1412:           for (unsigned int __k = 2; __k <= __n; ++__k)
1412:             __prod *= (_Tp(__alpha1) + _Tp(__k)) / _Tp(__k);
1412:           return __prod;
1412:         }
1412:       else if (__n > 10000000 && _Tp(__alpha1) > -_Tp(1)
1412:             && __x < _Tp(2) * (_Tp(__alpha1) + _Tp(1)) + _Tp(4 * __n))
1412:         return __poly_laguerre_large_n(__n, __alpha1, __x);
1412:       else if (_Tp(__alpha1) >= _Tp(0)
1412:            || (__x > _Tp(0) && _Tp(__alpha1) < -_Tp(__n + 1)))
1412:         return __poly_laguerre_recursion(__n, __alpha1, __x);
1412:       else
1412:         return __poly_laguerre_hyperg(__n, __alpha1, __x);
1412:     }
1412: # 296 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1412:     { return __poly_laguerre<unsigned int, _Tp>(__n, __m, __x); }
1412: # 316 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __laguerre(unsigned int __n, _Tp __x)
1412:     { return __poly_laguerre<unsigned int, _Tp>(__n, 0, __x); }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 59 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: # 1 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 1 3
# 291 "/usr/include/c++/12/bits/locale_conv.h" 3
1115:       wstring_convert(_Codecvt* __pcvt, state_type __state)
1115:       : _M_cvt(__pcvt, "wstring_convert"),
1115:  _M_state(__state), _M_with_cvtstate(true)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       wstring_convert(const byte_string& __byte_err,
1115:         const wide_string& __wide_err = wide_string())
1115:       : _M_cvt(new _Codecvt),
1115:  _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
1115:  _M_with_strings(true)
1115:       { }
1115: 
1115:       ~wstring_convert() = default;
1115: 
1115: 
1115: 
1115:       wstring_convert(const wstring_convert&) = delete;
1115:       wstring_convert& operator=(const wstring_convert&) = delete;
1115: 
1115: 
1115:       wide_string
1115:       from_bytes(char __byte)
1115:       {
1115:  char __bytes[2] = { __byte };
1115:  return from_bytes(__bytes, __bytes+1);
1115:       }
1115: 
1115:       wide_string
1115:       from_bytes(const char* __ptr)
1115:       { return from_bytes(__ptr, __ptr+char_traits<char>::length(__ptr)); }
1115: 
1115:       wide_string
1115:       from_bytes(const byte_string& __str)
1115:       {
1115:  auto __ptr = __str.data();
1115:  return from_bytes(__ptr, __ptr + __str.size());
1115:       }
1115: 
1115:       wide_string
1115:       from_bytes(const char* __first, const char* __last)
1115:       {
1115:  if (!_M_with_cvtstate)
1115:    _M_state = state_type();
1115:  wide_string __out{ _M_wide_err_string.get_allocator() };
1115:  if (__str_codecvt_in(__first, __last, __out, *_M_cvt, _M_state,
1115:         _M_count))
1115:    return __out;
1115:  if (_M_with_strings)
1115:    return _M_wide_err_string;
1115:  __throw_range_error("wstring_convert::from_bytes");
1115:       }
1115: 
1115: 
1115: 
1115:       byte_string
1115:       to_bytes(_Elem __wchar)
1115:       {
1115:  _Elem __wchars[2] = { __wchar };
1115:  return to_bytes(__wchars, __wchars+1);
1115:       }
1115: 
1115:       byte_string
1115:       to_bytes(const _Elem* __ptr)
1115:       {
1115:  return to_bytes(__ptr, __ptr+wide_string::traits_type::length(__ptr));
1115:       }
1115: 
1115:       byte_string
1115:       to_bytes(const wide_string& __wstr)
1115:       {
1115:  auto __ptr = __wstr.data();
1115:  return to_bytes(__ptr, __ptr + __wstr.size());
1115:       }
1115: 
1115:       byte_string
1115:       to_bytes(const _Elem* __first, const _Elem* __last)
1115:       {
1115:  if (!_M_with_cvtstate)
1115:    _M_state = state_type();
1115:  byte_string __out{ _M_byte_err_string.get_allocator() };
1115:  if (__str_codecvt_out(__first, __last, __out, *_M_cvt, _M_state,
1115:          _M_count))
1115:    return __out;
1115:  if (_M_with_strings)
1115:    return _M_byte_err_string;
1115:  __throw_range_error("wstring_convert::to_bytes");
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       size_t converted() const noexcept { return _M_count; }
1115: 
1115: 
1115:       state_type state() const { return _M_state; }
1115: 
1115:     private:
1115:       __detail::_Scoped_ptr<_Codecvt> _M_cvt;
1115:       byte_string _M_byte_err_string;
1115:       wide_string _M_wide_err_string;
1115:       state_type _M_state = state_type();
1115:       size_t _M_count = 0;
1115:       bool _M_with_cvtstate = false;
1115:       bool _M_with_strings = false;
1115:     };
1115: 
1115: }
1115: 
1115: 
1115:   template<typename _Codecvt, typename _Elem = wchar_t,
1115:     typename _Tr = char_traits<_Elem>>
1115:     class wbuffer_convert : public basic_streambuf<_Elem, _Tr>
1115:     {
1115:       typedef basic_streambuf<_Elem, _Tr> _Wide_streambuf;
1115: 
1115:     public:
1115:       typedef typename _Codecvt::state_type state_type;
1115: 
1115: 
1115:       wbuffer_convert() : wbuffer_convert(nullptr) { }
1115: # 427 "/usr/include/c++/12/bits/locale_conv.h" 3
1115:       explicit
1115:       wbuffer_convert(streambuf* __bytebuf, _Codecvt* __pcvt = new _Codecvt,
1115:         state_type __state = state_type())
1115:       : _M_buf(__bytebuf), _M_cvt(__pcvt, "wbuffer_converteam(basic_iostream<_CharT, _Traits>&) { }
1434: 
1434:       basic_ostream(const basic_ostream&) = delete;
1434: 
1434:       basic_ostream(basic_ostream&& __rhs)
1434:       : __ios_type()
1434:       { __ios_type::move(__rhs); }
1434: 
1434: 
1434: 
1434:       basic_ostream& operator=(const basic_ostream&) = delete;
1434: 
1434:       basic_ostream&
1434:       operator=(basic_ostream&& __rhs)
1434:       {
1434:  swap(__rhs);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(basic_ostream& __rhs)
1434:       { __ios_type::swap(__rhs); }
1434: 
1434: 
1434:       template<typename _ValueT>
1434:  __ostream_type&
1434:  _M_insert(_ValueT __v);
1434: 
1434:     private:
1434: 
1434:       void
1434:       _M_write(const char_type* __s, streamsize __n)
1434:       { std::__ostream_insert(*this, __s, __n); }
1434: 
1434:     };
1434: # 432 "/usr/include/c++/12/ostream" 3
1434:   template <typename _CharT, typename _Traits>
1434:     class basic_ostream<_CharT, _Traits>::sentry
1434:     {
1434: 
1434:       bool _M_ok;
1434:       basic_ostream<_CharT, _Traits>& _M_os;
1434: 
1434:     public:
1434: # 451 "/usr/include/c++/12/ostream" 3
1434:       explicit
1434:       sentry(basic_ostream<_CharT, _Traits>& __os);
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~sentry()
1434:       {
1434: 
1434:  if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception())
1434:    {
1434: 
1434:      if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
1434:        _M_os.setstate(ios_base::badbit);
1434:    }
1434:       }
1434: #pragma GCC diagnostic pop
1434: # 483 "/usr/include/c++/12/ostream" 3
1434:       explicit
1434: 
1434:       operator bool() const
1434:       { return _M_ok; }
1434:     };
1434: # 505 "/usr/include/c++/12/ostream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
1434:     {
1434:       if (__out.width() != 0)
1434:  return __ostream_insert(__out, &__c, 1);
1434:       __out.put(__c);
1434:       return __out;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
1434:     { return (__out << __out.widen(__c)); }
1434: 
1434: 
1434:   template<typename _Traits>
1434:     inline basic_ostream<char, _Traits>&
1434:     operator<<(basic_ostream<char, _Traits>& __out, char __c)
1434:     {
1434:       if (__out.width() != 0)
1434:  return __ostream_insert(__out, &__c, 1);
1434:       __out.put(__c);
1434:       return __out;
1434:     }
1434: 
1434: 
1434:   template<typename _Traits>
1434:     inline basic_ostream<char, _Traits>&
1434:     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
1434:     { return (__out << static_cast<char>(__c)); }
1434: 
1434:   template<typename _Traits>
1434:     inline basic_ostream<char, _Traits>&
1434:     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
1434:     { return (__out << static_cast<char>(__c)); }
1434: # 596 "/usr/include/c++/12/ostream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
1434:     {
1434:       if (!__s)
1434:  __out.setstate(ios_base::badbit);
1434:       else
1434:  __ostream_insert(__out, __s,
1434:     static_cast<streamsize>(_Traits::length(__s)));
1434:       return __out;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits> &
1434:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
1434: 
1434: 
1434:   template<typename _Traits>
1434:     inline basic_ostream<char, _Traits>&
1434:     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
1434:     {
1434:       if (!__s)
1434:  __ou1412: # 47 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 63 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412:   namespace __detail
1412:   {
1412: # 78 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __riemann_zeta_sum(_Tp __s)
1412:     {
1412: 
1412:       if (__s < _Tp(1))
1412:         std::__throw_domain_error(("Bad argument in zeta sum."));
1412: 
1412:       const unsigned int max_iter = 10000;
1412:       _Tp __zeta = _Tp(0);
1412:       for (unsigned int __k = 1; __k < max_iter; ++__k)
1412:         {
1412:           _Tp __term = std::pow(static_cast<_Tp>(__k), -__s);
1412:           if (__term < std::numeric_limits<_Tp>::epsilon())
1412:             {
1412:               break;
1412:             }
1412:           __zeta += __term;
1412:         }
1412: 
1412:       return __zeta;
1412:     }
1412: # 115 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __riemann_zeta_alt(_Tp __s)
1412:     {
1412:       _Tp __sgn = _Tp(1);
1412:       _Tp __zeta = _Tp(0);
1412:       for (unsigned int __i = 1; __i < 10000000; ++__i)
1412:         {
1412:           _Tp __term = __sgn / std::pow(__i, __s);
1412:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:           __zeta += __term;
1412:           __sgn *= _Tp(-1);
1412:         }
1412:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1412: 
1412:       return __zeta;
1412:     }
1412: # 157 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __riemann_zeta_glob(_Tp __s)
1412:     {
1412:       _Tp __zeta = _Tp(0);
1412: 
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412: 
1412:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1412:                                * std::log(_Tp(10)) - _Tp(1);
1412: 
1412: 
1412: 
1412:       if (__s < _Tp(0))
1412:         {
1412: 
1412:           if (::std::fmod(__s,_Tp(2)) == _Tp(0))
1412:             return _Tp(0);
1412:           else
1412: 
1412:             {
1412:               _Tp __zeta = __riemann_zeta_glob(_Tp(1) - __s);
1412:               __zeta *= std::pow(_Tp(2)
1412:                      * __numeric_constants<_Tp>::__pi(), __s)
1412:                      * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1412: 
1412:                      * std::exp(::std::lgamma(_Tp(1) - __s))
1412: 
1412: 
1412: 
1412:                      / __numeric_constants<_Tp>::__pi();
1412:               return __zeta;
1412:             }
1412:         }
1412: 
1412:       _Tp __num = _Tp(0.5L);
1412:       const unsigned int __maxit = 10000;
1412:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1412:         {
1412:           bool __punt = false;
1412:           _Tp __sgn = _Tp(1);
1412:           _Tp __term = _Tp(0);
1412:           for (unsigned int __j = 0; __j <= __i; ++__j)
1412:             {
1412: 
1412:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1412:                               - ::std::lgamma(_Tp(1 + __j))
1412:                               - ::std::lgamma(_Tp(1 + __i - __j));
1412: 
1412: 
1412: 
1412: 
1412: 
1412:               if (__bincoeff > __max_bincoeff)
1412:                 {
1412: 
1412:                   __punt = true;
1412:                   break;
1412:                 }
1412:               __bincoeff = std::exp(__bincoeff);
1412:               __term += __sgn * __bincoeff * std::pow(_Tp(1 + __j), -__s);
1412:               __sgn *= _Tp(-1);
1412:             }
1412:           if (__punt)
1412:             break;
1412:           __term *= __num;
1412:           __zeta += __term;
1412:           if (std::abs(__term/__zeta) < __eps)
1412:             break;
1412:           __num *= _Tp(0.5L);
1412:         }
1412: 
1412:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1412: 
1412:       return __zeta;
1412:     }
1412: # 252 "/usr/include/c++/12/t.setstate(ios_base::badbit);
1434:       else
1434:  __ostream_insert(__out, __s,
1434:     static_cast<streamsize>(_Traits::length(__s)));
1434:       return __out;
1434:     }
1434: 
1434: 
1434:   template<typename _Traits>
1434:     inline basic_ostream<char, _Traits>&
1434:     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
1434:     { return (__out << reinterpret_cast<const char*>(__s)); }
1434: 
1434:   template<typename _Traits>
1434:     inline basic_ostream<char, _Traits> &
1434:     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
1434:     { return (__out << reinterpret_cast<const char*>(__s)); }
1434: # 686 "/usr/include/c++/12/ostream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     endl(basic_ostream<_CharT, _Traits>& __os)
1434:     { return flush(__os.put(__os.widen('\n'))); }
1434: # 698 "/usr/include/c++/12/ostream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     ends(basic_ostream<_CharT, _Traits>& __os)
1434:     { return __os.put(_CharT()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     inline basic_ostream<_CharT, _Traits>&
1434:     flush(basic_ostream<_CharT, _Traits>& __os)
1434:     { return __os.flush(); }
1434: # 730 "/usr/include/c++/12/ostream" 3
1434:   template<typename _Tp>
1434:     using _Require_derived_from_ios_base
1434:       = _Require<is_class<_Tp>, __not_<is_same<_Tp, ios_base>>,
1434:    is_convertible<typename add_pointer<_Tp>::type, ios_base*>>;
1434: 
1434:   template<typename _Os, typename _Tp,
1434:     typename = _Require_derived_from_ios_base<_Os>,
1434:     typename
1434:       = decltype(std::declval<_Os&>() << std::declval<const _Tp&>())>
1434:     using __rvalue_stream_insertion_t = _Os&&;
1434: # 752 "/usr/include/c++/12/ostream" 3
1434:   template<typename _Ostream, typename _Tp>
1434:     inline __rvalue_stream_insertion_t<_Ostream, _Tp>
1434:     operator<<(_Ostream&& __os, const _Tp& __x)
1434:     {
1434:       __os << __x;
1434:       return std::move(__os);
1434:     }
1434: # 830 "/usr/include/c++/12/ostream" 3
1434: 
1434: }
1434: 
1434: # 1 "/usr/include/c++/12/bits/ostream.tcc" 1 3
1434: # 37 "/usr/include/c++/12/bits/ostream.tcc" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/ostream.tcc" 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>::sentry::
1434:     sentry(basic_ostream<_CharT, _Traits>& __os)
1434:     : _M_ok(false), _M_os(__os)
1434:     {
1434: 
1434:       if (__os.tie() && __os.good())
1434:  __os.tie()->flush();
1434: 
1434:       if (__os.good())
1434:  _M_ok = true;
1434:       else if (__os.bad())
1434:  __os.setstate(ios_base::failbit);
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     template<typename _ValueT>
1434:       basic_ostream<_CharT, _Traits>&
1434:       basic_ostream<_CharT, _Traits>::
1434:       _M_insert(_ValueT __v)
1434:       {
1434:  sentry __cerb(*this);
1434:  if (__cerb)
1434:    {
1434:      ios_base::iostate __err = ios_base::goodbit;
1434:      try
1434:        {
1434:   const __num_put_type& __np = __check_facet(this->_M_num_put);
1434:   if (__np.put(*this, *this, this->fill(), __v).failed())
1434:     __err |= ios_base::badbit;
1434:        }
1434:      catch(__cxxabiv1::__forced_unwind&)
1434:        {
1434:   this->_M_setstate(ios_base::badbit);
1434:   throw;
1434:        }
1434:      catch(...)
1434:        { this->_M_setstate(ios_base::badbit); }
1434:      if (__err)
1434:        this->setstate(__err);
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     operator<<(short __n)
1434:     {
1434: 
1434: 
1434:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1434:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1434:  return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
1434:       else
1434:  return _M_insert(static_cast<long>(__n));
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     operator<<(int __n)
1434:     {
1434: 
1434: 
1434:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1434:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1434:  return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
1434:       else
1434:  return _M_insert(static_cast<long>(__n));
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     operator<<(__streambuf_type* __sbin)
1434:     {
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       sentry __cerb(*this);
1434:       if (__cerb && __sbin)
1434:  {
1434:    try
1434:      {
1434:        if (!__copy_streambufs(__sbin, this->rdbuf()))
1434:   __err |= ios_base::failbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::failbit); }
1434:  }
1434:       else if (!__sbin)
1434:  __err |= ios_base::badbit;
1434:       if (__err)
1434:  this->setstate(__err);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     put(char_type __c)
1434:     {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       sentry __cerb(*this);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        const int_type __put = this->rdbuf()->sputc(__c);
1434:        if (traits_type::eq_int_type(__put, traits_type::eof()))
1434:   __err |= ios_base::badbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     write(const _CharT* __s, streamsize __n)
1434:     {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       sentry __cerb(*this);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        if (this->rdbuf()->sputn(__s, __n) != __n)
1434:   __err = ios_base::badbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(ios_base::badbit);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     flush()
1434:     {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       if (__streambuf_type* __buf = this->rdbuf())
1434:  {
1434:    sentry __cerb(*this);
1434:    if (__cerb)
1434:      {
1434:        ios_base::iostate __err = ios_base::goodbit;
1434:        try
1434:   {
1434:     if (this->rdbuf()->pubsync() == -1)
1434:       __err |= ios_base::badbit;
1434:   }
1434:        catch(__cxxabiv1::__forced_unwind&)
1434:   {
1434:     this->_M_setstate(ios_base::badbit);
1434:     throw;
1434:   }
1434:        catch(...)
1434:   { this->_M_setstate(ios_base::badbit); }
1434:        if (__err)
1434:   this->setstate("),
1115:  _M_state(__state), _M_always_noconv(_M_cvt->always_noconv())
1115:       {
1115:  if (_M_buf)
1115:    {
1115:      this->setp(_M_put_area, _M_put_area + _S_buffer_length);
1115:      this->setg(_M_get_area + _S_putback_length,
1115:          _M_get_area + _S_putback_length,
1115:          _M_get_area + _S_putback_length);
1115:    }
1115:       }
1115: 
1115:       ~wbuffer_convert() = default;
1115: 
1115: 
1115: 
1115:       wbuffer_convert(const wbuffer_convert&) = delete;
1115:       wbuffer_convert& operator=(const wbuffer_convert&) = delete;
1115: 
1115:       streambuf* rdbuf() const noexcept { return _M_buf; }
1115: 
1115:       streambuf*
1115:       rdbuf(streambuf *__bytebuf) noexcept
1115:       {
1115:  auto __prev = _M_buf;
1115:  _M_buf = __bytebuf;
1115:  return __prev;
1115:       }
1115: 
1115: 
1115:       state_type state() const noexcept { return _M_state; }
1115: 
1115:     protected:
1115:       int
1115:       sync()
1115:       { return _M_buf && _M_conv_put() && !_M_buf->pubsync() ? 0 : -1; }
1115: 
1115:       typename _Wide_streambuf::int_type
1115:       overflow(typename _Wide_streambuf::int_type __out)
1115:       {
1115:  if (!_M_buf || !_M_conv_put())
1115:    return _Tr::eof();
1115:  else if (!_Tr::eq_int_type(__out, _Tr::eof()))
1115:    return this->sputc(__out);
1115:  return _Tr::not_eof(__out);
1115:       }
1115: 
1115:       typename _Wide_streambuf::int_type
1115:       underflow()
1115:       {
1115:  if (!_M_buf)
1115:    return _Tr::eof();
1115: 
1115:  if (this->gptr() < this->egptr() || (_M_buf && _M_conv_get()))
1115:    return _Tr::to_int_type(*this->gptr());
1115:  else
1115:    return _Tr::eof();
1115:       }
1115: 
1115:       streamsize
1115:       xsputn(const typename _Wide_streambuf::char_type* __s, streamsize __n)
1115:       {
1115:  if (!_M_buf || __n == 0)
1115:    return 0;
1115:  streamsize __done = 0;
1115:  do
1115:  {
1115:    auto __nn = std::min<streamsize>(this->epptr() - this->pptr(),
1115:         __n - __done);
1115:    _Tr::copy(this->pptr(), __s + __done, __nn);
1115:    this->pbump(__nn);
1115:    __done += __nn;
1115:  } while (__done < __n && _M_conv_put());
1115:  return __done;
1115:       }
1115: 
1115:     private:
1115: 
1115:       bool
1115:       _M_conv_get()
1115:       {
1115:  const streamsize __pb1 = this->gptr() - this->eback();
1115:  const streamsize __pb2 = _S_putback_length;
1115:  const streamsize __npb = std::min(__pb1, __pb2);
1115: 
1115:  _Tr::move(_M_get_area + _S_putback_length - __npb,
1115:     this->gptr() - __npb, __npb);
1115: 
1115:  streamsize __nbytes = sizeof(_M_get_buf) - _M_unconv;
1115:  __nbytes = std::min(__nbytes, _M_buf->in_avail());
1115:  if (__nbytes < 1)
1115:    __nbytes = 1;
1115:  __nbytes = _M_buf->sgetn(_M_get_buf + _M_unconv, __nbytes);
1115:  if (__nbytes < 1)
1115:    return false;
1115:  __nbytes += _M_unconv;
1115: 
1115: 
1115: 
1115:  _Elem* __outbuf = _M_get_area + _S_putback_length;
1115:  _Elem* __outnext = __outbuf;
1115:  const char* __bnext = _M_get_buf;
1115: 
1115:  codecvt_base::result __result;
1115:  if (_M_always_noconv)
1115:    __result = codecvt_base::noconv;
1115:  else
1115:    {
1115:      _Elem* __outend = _M_get_area + _S_buffer_length;
1115: 
1115:      __result = _M_cvt->in(_M_state,
1115:       __bnext, __bnext + __nbytes, __bnext,
1115:       __outbuf, __outend, __outnext);
1115:    }
1115: 
1115:  if (__result == codecvt_base::noconv)
1115:    {
1115: 
1115:      auto __get_buf = reinterpret_cast<const _Elem*>(_M_get_buf);
1115:      _Tr::copy(__outbuf, __get_buf, __nbytes);
1115:      _M_unconv = 0;
1115:      return true;
1115:    }
1115: 
1115:  if ((_M_unconv = _M_get_buf + __nbytes - __bnext))
1115:    char_traits<char>::move(_M_get_buf, __bnext, _M_unconv);
1115: 
1115:  this->setg(__outbuf, __outbuf, __outnext);
1115: 
1115:  return __result != codecvt_base::error;
1115:       }
1115: 
1115: 
1115:       bool
1115:       _M_put(...)
1115:       { return false; }
1115: 
1115:       bool
1115:       _M_put(const char* __p, streamsize __n)
1115:   tr1/riemann_zeta.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __riemann_zeta_product(_Tp __s)
1412:     {
1412:       static const _Tp __prime[] = {
1412:         _Tp(2), _Tp(3), _Tp(5), _Tp(7), _Tp(11), _Tp(13), _Tp(17), _Tp(19),
1412:         _Tp(23), _Tp(29), _Tp(31), _Tp(37), _Tp(41), _Tp(43), _Tp(47),
1412:         _Tp(53), _Tp(59), _Tp(61), _Tp(67), _Tp(71), _Tp(73), _Tp(79),
1412:         _Tp(83), _Tp(89), _Tp(97), _Tp(101), _Tp(103), _Tp(107), _Tp(109)
1412:       };
1412:       static const unsigned int __num_primes = sizeof(__prime) / sizeof(_Tp);
1412: 
1412:       _Tp __zeta = _Tp(1);
1412:       for (unsigned int __i = 0; __i < __num_primes; ++__i)
1412:         {
1412:           const _Tp __fact = _Tp(1) - std::pow(__prime[__i], -__s);
1412:           __zeta *= __fact;
1412:           if (_Tp(1) - __fact < std::numeric_limits<_Tp>::epsilon())
1412:             break;
1412:         }
1412: 
1412:       __zeta = _Tp(1) / __zeta;
1412: 
1412:       return __zeta;
1412:     }
1412: # 293 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __riemann_zeta(_Tp __s)
1412:     {
1412:       if (__isnan(__s))
1412:         return std::numeric_limits<_Tp>::quiet_NaN();
1412:       else if (__s == _Tp(1))
1412:         return std::numeric_limits<_Tp>::infinity();
1412:       else if (__s < -_Tp(19))
1412:         {
1412:           _Tp __zeta = __riemann_zeta_product(_Tp(1) - __s);
1412:           __zeta *= std::pow(_Tp(2) * __numeric_constants<_Tp>::__pi(), __s)
1412:                  * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1412: 
1412:                  * std::exp(::std::lgamma(_Tp(1) - __s))
1412: 
1412: 
1412: 
1412:                  / __numeric_constants<_Tp>::__pi();
1412:           return __zeta;
1412:         }
1412:       else if (__s < _Tp(20))
1412:         {
1412: 
1412:           bool __glob = true;
1412:           if (__glob)
1412:             return __riemann_zeta_glob(__s);
1412:           else
1412:             {
1412:               if (__s > _Tp(1))
1412:                 return __riemann_zeta_sum(__s);
1412:               else
1412:                 {
1412:                   _Tp __zeta = std::pow(_Tp(2)
1412:                                 * __numeric_constants<_Tp>::__pi(), __s)
1412:                          * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1412: 
1412:                              * ::std::tgamma(_Tp(1) - __s)
1412: 
1412: 
1412: 
1412:                              * __riemann_zeta_sum(_Tp(1) - __s);
1412:                   return __zeta;
1412:                 }
1412:             }
1412:         }
1412:       else
1412:         return __riemann_zeta_product(__s);
1412:     }
1412: # 365 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412:     template<typename _Tp>
1412:     _Tp
1412:     __hurwitz_zeta_glob(_Tp __a, _Tp __s)
1412:     {
1412:       _Tp __zeta = _Tp(0);
1412: 
1412:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1412: 
1412:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1412:                                * std::log(_Tp(10)) - _Tp(1);
1412: 
1412:       const unsigned int __maxit = 10000;
1412:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1412:         {
1412:           bool __punt = false;
1412:           _Tp __sgn = _Tp(1);
1412:           _Tp __term = _Tp(0);
1412:           for (unsigned int __j = 0; __j <= __i; ++__j)
1412:             {
1412: 
1412:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1412:                               - ::std::lgamma(_Tp(1 + __j))
1412:                               - ::std::lgamma(_Tp(1 + __i - __j));
1412: 
1412: 
1412: 
1412: 
1412: 
1412:               if (__bincoeff > __max_bincoeff)
1412:                 {
1412: 
1412:                   __punt = true;
1412:                   break;
1412:                 }
1412:               __bincoeff = std::exp(__bincoeff);
1412:               __term += __sgn * __bincoeff * std::pow(_Tp(__a + __j), -__s);
1412:               __sgn *= _Tp(-1);
14__err);
1434:      }
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     typename basic_ostream<_CharT, _Traits>::pos_type
1434:     basic_ostream<_CharT, _Traits>::
1434:     tellp()
1434:     {
1434:       sentry __cerb(*this);
1434:       pos_type __ret = pos_type(-1);
1434:       if (!this->fail())
1434:  __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     seekp(pos_type __pos)
1434:     {
1434:       sentry __cerb(*this);
1434:       if (!this->fail())
1434:  {
1434: 
1434: 
1434:    const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out);
1434: 
1434: 
1434:    if (__p == pos_type(off_type(-1)))
1434:      this->setstate(ios_base::failbit);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     basic_ostream<_CharT, _Traits>::
1434:     seekp(off_type __off, ios_base::seekdir __dir)
1434:     {
1434:       sentry __cerb(*this);
1434:       if (!this->fail())
1434:  {
1434: 
1434: 
1434:    const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1434:         ios_base::out);
1434: 
1434: 
1434:    if (__p == pos_type(off_type(-1)))
1434:      this->setstate(ios_base::failbit);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_ostream<_CharT, _Traits>&
1434:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
1434:     {
1434:       if (!__s)
1434:  __out.setstate(ios_base::badbit);
1434:       else
1434:  {
1434: 
1434: 
1434:    const size_t __clen = char_traits<char>::length(__s);
1434:    try
1434:      {
1434:        struct __ptr_guard
1434:        {
1434:   _CharT *__p;
1434:   __ptr_guard (_CharT *__ip): __p(__ip) { }
1434:   ~__ptr_guard() { delete[] __p; }
1434:   _CharT* __get() { return __p; }
1434:        } __pg (new _CharT[__clen]);
1434: 
1434:        _CharT *__ws = __pg.__get();
1434:        for (size_t __i = 0; __i < __clen; ++__i)
1434:   __ws[__i] = __out.widen(__s[__i]);
1434:        __ostream_insert(__out, __ws, __clen);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        __out._M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { __out._M_setstate(ios_base::badbit); }
1434:  }
1434:       return __out;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template class basic_ostream<char>;
1434:   extern template ostream& endl(ostream&);
1434:   extern template ostream& ends(ostream&);
1434:   extern template ostream& flush(ostream&);
1434:   extern template ostream& operator<<(ostream&, char);
1434:   extern template ostream& operator<<(ostream&, unsigned char);
1434:   extern template ostream& operator<<(ostream&, signed char);
1434:   extern template ostream& operator<<(ostream&, const char*);
1434:   extern template ostream& operator<<(ostream&, const unsigned char*);
1434:   extern template ostream& operator<<(ostream&, const signed char*);
1434: 
1434:   extern template ostream& ostream::_M_insert(long);
1434:   extern template ostream& ostream::_M_insert(unsigned long);
1434:   extern template ostream& ostream::_M_insert(bool);
1434: 
1434:   extern template ostream& ostream::_M_insert(long long);
1434:   extern template ostream& ostream::_M_insert(unsigned long long);
1434: 
1434:   extern template ostream& ostream::_M_insert(double);
1434:   extern template ostream& ostream::_M_insert(long double);
1434:   extern template ostream& ostream::_M_insert(const void*);
1434: 
1434: 
1434:   extern template class basic_ostream<wchar_t>;
1434:   extern template wostream& endl(wostream&);
1434:   extern template wostream& ends(wostream&);
1434:   extern template wostream& flush(wostream&);
1434:   extern template wostream& operator<<(wostream&, wchar_t);
1434:   extern template wostream& operator<<(wostream&, char);
1434:   extern template wostream& operator<<(wostream&, const wchar_t*);
1434:   extern template wostream& operator<<(wostream&, const char*);
1434: 
1434:   extern template wostream& wostream::_M_insert(long);
1434:   extern template wostream& wostream::_M_insert(unsigned long);
1434:   extern template wostream& wostream::_M_insert(bool);
1434: 
1434:   extern template wostream& wostream::_M_insert(long long);
1434:   extern template wostream& wostream::_M_insert(unsigned long long);
1434: 
1434:   extern template wostream& wostream::_M_insert(double);
1434:   extern template wostream& wostream::_M_insert(long double);
1434:   extern template wostream& wostream::_M_insert(const void*);
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 834 "/usr/include/c++/12/ostream" 2 3
1434: # 40 "/usr/include/c++/12/istream" 2 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 57 "/usr/include/c++/12/istream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     class basic_istream : virtual public basic_ios<_CharT, _Traits>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef typename _Traits::int_type int_type;
1434:       typedef typename _Traits::pos_type pos_type;
1434:       typedef typename _Traits::off_type off_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1434:       typedef basic_ios<_CharT, _Traits> __ios_type;
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1434:         __num_get_type;
1434:       typedef ctype<_CharT> __ctype_type;
1434: 
1434:     protected:
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       streamsize _M_gcount;
1434: 
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       basic_istream(__streambuf_type* __sb)
1434:       : _M_gcount(streamsize(0))
1434:       { this->init(__sb); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       virtual
1434:       ~basic_istream()
1434:       { _M_gcount = streamsize(0); }
1434: 
1434: 
1434:       class sentry;
1434:       friend class sentry;
1434: # 119 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       operator>>(__istream_type& (*__pf)(__istream_type&))
1434:       { return __pf(*this); }
1434: 
1434:       __istream_type&
1434:       operator>>(__ios_type& (*__pf)(__ios_type&))
1434:       {
1434:  __pf(*this);
1434:  return *this;
1434:       }
1434: 
1434:       __istream_type&
1434:       operator>>(ios_base& (*__pf)(ios_base&))
1434:       {
1434:  __pf(*this);
1434:  return *this;
1434:       }
1434: # 167 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       operator>>(bool& __n)
1434:       { return _M_extract(__n); }
1434: 
1434:       __istream_type&
1434:       operator>>(short& __n);
1434: 
1434:       __istream_type&
1434:       operator>>(unsigned short& __n)
1434:       { return _M_extract(__n); }
1434: 
1434:       __istream_type&
1434:       operator>>(int& __n);
1434: 
1434:       __istream_type&
1434:       operator>>(unsigned int& __n)
1434:       { return _M_extract(__n); }
1434: 
1434:       __istream_type&
1434:       operator>>(long& __n)
1434:       { return _M_extract(__n); }
1434: 
1434:       __istream_type&
1434:       operator>>(unsigned long& __n)
1434:       { return _M_extract(__n); }
1434: 
1434: 
1434:       __istream_type&
1434:       operator>>(long long& __n)
1434:       { return _M_extract(__n); }
1434: 
1434:       __istream_type&
1434:       operator>>(unsigned long long& __n)
1434:       { return _M_extract(__n); }
1434: # 213 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       operator>>(float& __f)
1434:       { return _M_extract(__f); }
1434: 
1434:       __istream_type&
1434:       operator>>(double& __f)
1434:       { return _M_extract(__f); }
1434: 
1434:       __istream_t    {
1115:  if (_M_buf->sputn(__p, __n) < __n)
1115:    return false;
1115:  return true;
1115:       }
1115: 
1115: 
1115:       bool
1115:       _M_conv_put()
1115:       {
1115:  _Elem* const __first = this->pbase();
1115:  const _Elem* const __last = this->pptr();
1115:  const streamsize __pending = __last - __first;
1115: 
1115:  if (_M_always_noconv)
1115:    return _M_put(__first, __pending);
1115: 
1115:  char __outbuf[2 * _S_buffer_length];
1115: 
1115:  const _Elem* __next = __first;
1115:  const _Elem* __start;
1115:  do
1115:    {
1115:      __start = __next;
1115:      char* __outnext = __outbuf;
1115:      char* const __outlast = __outbuf + sizeof(__outbuf);
1115:      auto __result = _M_cvt->out(_M_state, __next, __last, __next,
1115:      __outnext, __outlast, __outnext);
1115:      if (__result == codecvt_base::error)
1115:        return false;
1115:      else if (__result == codecvt_base::noconv)
1115:        return _M_put(__next, __pending);
1115: 
1115:      if (!_M_put(__outbuf, __outnext - __outbuf))
1115:        return false;
1115:    }
1115:  while (__next != __last && __next != __start);
1115: 
1115:  if (__next != __last)
1115:    _Tr::move(__first, __next, __last - __next);
1115: 
1115:  this->pbump(__first - __next);
1115:  return __next != __first;
1115:       }
1115: 
1115:       streambuf* _M_buf;
1115:       __detail::_Scoped_ptr<_Codecvt> _M_cvt;
1115:       state_type _M_state;
1115: 
1115:       static const streamsize _S_buffer_length = 32;
1115:       static const streamsize _S_putback_length = 3;
1115:       _Elem _M_put_area[_S_buffer_length];
1115:       _Elem _M_get_area[_S_buffer_length];
1115:       streamsize _M_unconv = 0;
1115:       char _M_get_buf[_S_buffer_length-_S_putback_length];
1115:       bool _M_always_noconv;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 44 "/usr/include/c++/12/locale" 2 3
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/utility" 1 3
1115: # 58 "/usr/include/c++/12/utility" 3
1115:        
1115: # 59 "/usr/include/c++/12/utility" 3
1115: # 68 "/usr/include/c++/12/utility" 3
1115: # 1 "/usr/include/c++/12/bits/stl_relops.h" 1 3
1115: # 62 "/usr/include/c++/12/bits/stl_relops.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   namespace rel_ops
1115:   {
1115: # 86 "/usr/include/c++/12/bits/stl_relops.h" 3
1115:     template <class _Tp>
1115:       inline bool
1115:       operator!=(const _Tp& __x, const _Tp& __y)
1115:       { return !(__x == __y); }
1115: # 99 "/usr/include/c++/12/bits/stl_relops.h" 3
1115:     template <class _Tp>
1115:       inline bool
1115:       operator>(const _Tp& __x, const _Tp& __y)
1115:       { return __y < __x; }
1115: # 112 "/usr/include/c++/12/bits/stl_relops.h" 3
1115:     template <class _Tp>
1115:       inline bool
1115:       operator<=(const _Tp& __x, const _Tp& __y)
1115:       { return !(__y < __x); }
1115: # 125 "/usr/include/c++/12/bits/stl_relops.h" 3
1115:     template <class _Tp>
1115:       inline bool
1115:       operator>=(const _Tp& __x, const _Tp& __y)
1115:       { return !(__x < __y); }
1115:   }
1115: 
1115: 
1115: }
1115: # 69 "/usr/include/c++/12/utility" 2 3
1115: # 82 "/usr/include/c++/12/utility" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename _Up = _Tp>
1115:    
1115:     inline _Tp
1115:     exchange(_Tp& __obj, _Up&& __new_val)
1115:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
1115:       is_nothrow_assignable<_Tp&, _Up>>::value)
1115:     { return std::__exchange(__obj, std::forward<_Up>(__new_val)); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     [[nodiscard]]
1115:     constexpr add_const_t<_Tp>&
1115:     as_const(_Tp& __t) noexcept
1115:     { return __t; }
1115: 
1115:   template<typename _Tp>
1115:     void as_const(const _Tp&&) = delete;
1115: # 220 "/usr/include/c++/12/utility" 3
1115: 
1115: }
1115: # 24 12:             }
1412:           if (__punt)
1412:             break;
1412:           __term /= _Tp(__i + 1);
1412:           if (std::abs(__term / __zeta) < __eps)
1412:             break;
1412:           __zeta += __term;
1412:         }
1412: 
1412:       __zeta /= __s - _Tp(1);
1412: 
1412:       return __zeta;
1412:     }
1412: # 430 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1412:     template<typename _Tp>
1412:     inline _Tp
1412:     __hurwitz_zeta(_Tp __a, _Tp __s)
1412:     { return __hurwitz_zeta_glob(__a, __s); }
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 60 "/usr/include/c++/12/bits/specfun.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 205 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
1412:   { return __detail::__assoc_laguerre<float>(__n, __m, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   assoc_laguerrel(unsigned int __n, unsigned int __m, long double __x)
1412:   { return __detail::__assoc_laguerre<long double>(__n, __m, __x); }
1412: # 250 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__assoc_laguerre<__type>(__n, __m, __x);
1412:     }
1412: # 266 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   assoc_legendref(unsigned int __l, unsigned int __m, float __x)
1412:   { return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
1412:   { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
1412: # 296 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
1412:     }
1412: # 311 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   betaf(float __a, float __b)
1412:   { return __detail::__beta<float>(__a, __b); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   betal(long double __a, long double __b)
1412:   { return __detail::__beta<long double>(__a, __b); }
1412: # 341 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tpa, typename _Tpb>
1412:     inline typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type
1412:     beta(_Tpa __a, _Tpb __b)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type __type;
1412:       return __detail::__beta<__type>(__a, __b);
1412:     }
1412: # 357 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   comp_ellint_1f(float __k)
1412:   { return __detail::__comp_ellint_1<float>(__k); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   comp_ellint_1l(long double __k)
1412:   { return __detail::__comp_ellint_1<long double>(__k); }
1412: # 389 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     comp_ellint_1(_Tp __k)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__comp_ellint_1<__type>(__k);
1412:     }
1412: # 405 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   comp_ellint_2f(float __k)
1412:   { return __detail::__comp_ellint_2<float>(__k); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   comp_ellint_2l(long double __k)
1412:   { return __detail::__comp_ellint_2<long double>(__k); }
1412ype&
1434:       operator>>(long double& __f)
1434:       { return _M_extract(__f); }
1434: # 234 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       operator>>(void*& __p)
1434:       { return _M_extract(__p); }
1434: # 258 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       operator>>(__streambuf_type* __sb);
1434: # 268 "/usr/include/c++/12/istream" 3
1434:       streamsize
1434:       gcount() const
1434:       { return _M_gcount; }
1434: # 301 "/usr/include/c++/12/istream" 3
1434:       int_type
1434:       get();
1434: # 315 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       get(char_type& __c);
1434: # 342 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       get(char_type* __s, streamsize __n, char_type __delim);
1434: # 353 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       get(char_type* __s, streamsize __n)
1434:       { return this->get(__s, __n, this->widen('\n')); }
1434: # 376 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       get(__streambuf_type& __sb, char_type __delim);
1434: # 386 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       get(__streambuf_type& __sb)
1434:       { return this->get(__sb, this->widen('\n')); }
1434: # 415 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       getline(char_type* __s, streamsize __n, char_type __delim);
1434: # 426 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       getline(char_type* __s, streamsize __n)
1434:       { return this->getline(__s, __n, this->widen('\n')); }
1434: # 450 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       ignore(streamsize __n, int_type __delim);
1434: 
1434:       __istream_type&
1434:       ignore(streamsize __n);
1434: 
1434:       __istream_type&
1434:       ignore();
1434: # 467 "/usr/include/c++/12/istream" 3
1434:       int_type
1434:       peek();
1434: # 485 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       read(char_type* __s, streamsize __n);
1434: # 504 "/usr/include/c++/12/istream" 3
1434:       streamsize
1434:       readsome(char_type* __s, streamsize __n);
1434: # 521 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       putback(char_type __c);
1434: # 537 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       unget();
1434: # 555 "/usr/include/c++/12/istream" 3
1434:       int
1434:       sync();
1434: # 570 "/usr/include/c++/12/istream" 3
1434:       pos_type
1434:       tellg();
1434: # 585 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       seekg(pos_type);
1434: # 601 "/usr/include/c++/12/istream" 3
1434:       __istream_type&
1434:       seekg(off_type, ios_base::seekdir);
1434: 
1434: 
1434:     protected:
1434:       basic_istream()
1434:       : _M_gcount(streamsize(0))
1434:       { this->init(0); }
1434: 
1434: 
1434:       basic_istream(const basic_istream&) = delete;
1434: 
1434:       basic_istream(basic_istream&& __rhs)
1434:       : __ios_type(), _M_gcount(__rhs._M_gcount)
1434:       {
1434:  __ios_type::move(__rhs);
1434:  __rhs._M_gcount = 0;
1434:       }
1434: 
1434: 
1434: 
1434:       basic_istream& operator=(const basic_istream&) = delete;
1434: 
1434:       basic_istream&
1434:       operator=(basic_istream&& __rhs)
1434:       {
1434:  swap(__rhs);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(basic_istream& __rhs)
1434:       {
1434:  __ios_type::swap(__rhs);
1434:  std::swap(_M_gcount, __rhs._M_gcount);
1434:       }
1434: 
1434: 
1434:       template<typename _ValueT>
1434:  __istream_type&
1434:  _M_extract(_ValueT& __v);
1434:     };
1434: 
1434: 
1434:   template<>
1434:     basic_istream<char>&
1434:     basic_istream<char>::
1434:     getline(char_type* __s, streamsize __n, char_type __delim);
1434: 
1434:   template<>
1434:     basic_istream<char>&
1434:     basic_istream<char>::
1434:     ignore(streamsize __n);
1434: 
1434:   template<>
1434:     basic_istream<char>&
1434:     basic_"/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h" 2
1115: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1115: 
1115: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1115: class TiXmlNode;
1115: struct StringSettingOption;
1115: 
1115: namespace ADDON
1115: {
1115:   class CLanguageResource;
1115: }
1115: typedef std::shared_ptr<ADDON::CLanguageResource> LanguageResourcePtr;
1115: 
1115: typedef enum MeridiemSymbol
1115: {
1115:   MeridiemSymbolPM = 0,
1115:   MeridiemSymbolAM
1115: } MeridiemSymbol;
1115: 
1115: class CLangInfo : public ISettingCallback, public ISettingsHandler
1115: {
1115: public:
1115:   CLangInfo();
1115:   ~CLangInfo() override;
1115: 
1115: 
1115:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1115: 
1115: 
1115:   void OnSettingsLoaded() override;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static void GetAddonsLanguageCodes(std::map<std::string, std::string>& languages);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   LanguageResourcePtr GetLanguageAddon(const std::string& locale = "") const;
1115: 
1115:   std::string GetGuiCharSet() const;
1115:   std::string GetSubtitleCharSet() const;
1115: 
1115: 
1115:   const std::string& GetLanguageCode() const { return m_languageCodeGeneral; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static std::string ConvertEnglishNameToAddonLocale(const std::string& langName);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::string GetEnglishLanguageName(const std::string& locale = "") const;
1115: # 104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/LangInfo.h"
1115:   bool SetLanguage(std::string strLanguage = "", bool reloadServices = true);
1115: 
1115:   const std::string& GetAudioLanguage() const;
1115: 
1115: 
1115: 
1115:   void SetAudioLanguage(const std::string& language);
1115: 
1115: 
1115:   const std::string& GetSubtitleLanguage() const;
1115: 
1115: 
1115: 
1115:   void SetSubtitleLanguage(const std::string& language);
1115: 
1115:   const std::string GetDVDMenuLanguage() const;
1115:   const std::string GetDVDAudioLanguage() const;
1115:   const std::string GetDVDSubtitleLanguage() const;
1115:   const std::string& GetTimeZone() const;
1115: 
1115:   const std::string& GetRegionLocale() const;
1115: 
1115:   const std::locale& GetOriginalLocale() const;
1115: 
1115: 
1115: 
1115: 
1115:   const CLocale& GetLocale() const;
1115: 
1115: 
1115: 
1115: 
1115:   const std::locale& GetSystemLocale() const { return m_systemLocale; }
1115: 
1115:   bool ForceUnicodeFont() const { return m_forceUnicodeFont; }
1115: 
1115:   const std::string& GetDateFormat(bool bLongDate = false) const;
1115:   void SetDateFormat(const std::string& dateFormat, bool bLongDate = false);
1115:   const std::string& GetShortDateFormat() const;
1115:   void SetShortDateFormat(const std::string& shortDateFormat);
1115:   const std::string& GetLongDateFormat() const;
1115:   void SetLongDateFormat(const std::string& longDateFormat);
1115: 
1115:   const std::string& GetTimeFormat() const;
1115:   void SetTimeFormat(const std::string& timeFormat);
1115:   bool Use24HourClock() const;
1115:   void Set24HourClock(bool use24HourClock);
1115:   void Set24HourClock(const std::string& str24HourClock);
1115:   const std::string& GetMeridiemSymbol(MeridiemSymbol symbol) const;
1115:   static const std::string& MeridiemSymbolToString(MeridiemSymbol symbol);
1115: 
1115:   CTemperature::Unit GetTemperatureUnit() const;
1115:   void SetTemperatureUnit(CTemperature::Unit temperatureUnit);
1115:   void SetTemperatureUnit(const std::string& temperatureUnit);
1115:   const std::string& GetTemperatureUnitString() const;
1115:   static const std::string& GetTemperatureUnitString(CTemperature::Unit temperatureUnit);
1115:   std::string GetTemperatureAsString(const CTemperature& temperature) const;
1115: 
1115:   CSpeed::Unit GetSpeedUnit() const;
1115:   void SetSpeedUnit(CSpeed::Unit speedUnit);
1115:   void SetSpeedUnit(const std::string& speedUnit);
1115:   const std::string& GetSpeedUnitString() const;
1115:   static consistream<char>::
1434:     ignore(streamsize __n, int_type __delim);
1434: 
1434: 
1434:   template<>
1434:     basic_istream<wchar_t>&
1434:     basic_istream<wchar_t>::
1434:     getline(char_type* __s, streamsize __n, char_type __delim);
1434: 
1434:   template<>
1434:     basic_istream<wchar_t>&
1434:     basic_istream<wchar_t>::
1434:     ignore(streamsize __n);
1434: 
1434:   template<>
1434:     basic_istream<wchar_t>&
1434:     basic_istream<wchar_t>::
1434:     ignore(streamsize __n, int_type __delim);
1434: # 685 "/usr/include/c++/12/istream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     class basic_istream<_CharT, _Traits>::sentry
1434:     {
1434: 
1434:       bool _M_ok;
1434: 
1434:     public:
1434: 
1434:       typedef _Traits traits_type;
1434:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef typename __istream_type::__ctype_type __ctype_type;
1434:       typedef typename _Traits::int_type __int_type;
1434: # 721 "/usr/include/c++/12/istream" 3
1434:       explicit
1434:       sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
1434: # 732 "/usr/include/c++/12/istream" 3
1434:       explicit
1434: 
1434:       operator bool() const
1434:       { return _M_ok; }
1434:     };
1434: # 750 "/usr/include/c++/12/istream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
1434: 
1434:   template<class _Traits>
1434:     inline basic_istream<char, _Traits>&
1434:     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
1434:     { return (__in >> reinterpret_cast<char&>(__c)); }
1434: 
1434:   template<class _Traits>
1434:     inline basic_istream<char, _Traits>&
1434:     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
1434:     { return (__in >> reinterpret_cast<char&>(__c)); }
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     void
1434:     __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize);
1434: 
1434:   void __istream_extract(istream&, char*, streamsize);
1434: # 800 "/usr/include/c++/12/istream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1434:     inline basic_istream<_CharT, _Traits>&
1434:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
1434:     {
1434: 
1434: 
1434: 
1434:       size_t __n = __builtin_object_size(__s, 0);
1434:       if (__n < sizeof(_CharT))
1434:  {
1434: 
1434:    do { if (std::__is_constant_evaluated() && !bool(__n >= sizeof(_CharT))) __builtin_unreachable(); } while (false);
1434: 
1434:    __in.width(0);
1434:    __in.setstate(ios_base::failbit);
1434:  }
1434:       else if (__n != (size_t)-1)
1434:  {
1434:    __n /= sizeof(_CharT);
1434:    streamsize __w = __in.width();
1434:    std::__istream_extract(__in, __s, __n);
1434:    if (__in.good() && (__w <= 0 || __n < __w))
1434:      {
1434: 
1434: 
1434:        const typename _Traits::int_type __c = __in.rdbuf()->sgetc();
1434:        const bool __eof = _Traits::eq_int_type(__c, _Traits::eof());
1434:        if (__builtin_expect(__eof, true))
1434:   __in.setstate(ios_base::eofbit);
1434:      }
1434:  }
1434:       else
1434: 
1434:  {
1434: 
1434:    streamsize __n = __gnu_cxx::__numeric_traits<streamsize>::__max;
1434:    __n /= sizeof(_CharT);
1434:    std::__istream_extract(__in, __s, __n);
1434:  }
1434:       return __in;
1434:     }
1434: 
1434:   template<class _Traits>
1434:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1434:     inline basic_istream<char, _Traits>&
1434:     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
1434:     { return __in >> reinterpret_cast<char*>(__s); }
1434: 
1434:   template<class _Traits>
1434:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1434:     inline basic_istream<char, _Traits>&
1434:     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
1434:     { return __in >> reinterpret_cast<char*>(__s); }
1434: # 889 "/usr/include/c++/12/istream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     class basic_iostream
1434:     : public basic_istream<_CharT, _Traits>,
1434:       public basic_ostream<_CharT, _Traits>
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef typename _Traits::int_type int_type;
1434:       typedef typename _Traits::pos_type pos_type;
1434:       typedef typename _Traits::off_type off_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       explicit
1434:       basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
1434:       : __istream_type(__sb), __ostream_type(__sb) { }
1434: 
1434: 
1434: 
1434: 
1434:       virtual
1434:       ~basic_iostream() { }
1434: 
1434:     protected:
1434:       basic_iostream()
1434:       : __istream_type(), __ostream_type() { }
1434: 
1434: 
1434:       basic_iostream(const basic_iostream&) = delete;
1434: 
1434:       basic_iostream(basic_iostream&& __rhs)
1434:       : __istream_type(std::move(__rhs)), __ostream_type(*this)
1434:       { }
1434: 
1434: 
1434: 
1434:       basic_iostream& operator=(const basic_iostream&) = delete;
1434: 
1434:       basic_iostream&
1434:       operator=(basic_iostream&& __rhs)
1434:       {
1434:  swap(__rhs);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(basic_iostream& __rhs)
1434:       { __istream_type::swap(__rhs); }
1434: 
1434:     };
1434: # 972 "/usr/include/c++/12/istream" 3
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     ws(basic_istream<_CharT, _Traits>& __is);
1434: # 988 "/usr/include/c++/12/istream" 3
1434:   template<typename _Is, typename _Tp,
1434:     typename = _Require_derived_from_ios_base<_Is>,
1434:     typename = decltype(std::declval<_Is&>() >> std::declval<_Tp>())>
1434:     using __rvalue_stream_extraction_t = _Is&&;
1434: # 1004 "/usr/include/c++/12/istream" 3
1434:   template<typename _Istream, typename _Tp>
1434:     inline __rvalue_stream_extraction_t<_Istream, _Tp>
1434:     operator>>(_Istream&& __is, _Tp&& __x)
1434:     {
1434:       __is >> std::forward<_Tp>(__x);
1434:       return std::move(__is);
1434:     }
1434: 
1434: 
1434: 
1434: }
1434: 
1434: # 1 "/usr/include/c++/12/bits/istream.tcc" 1 3
1434: # 37 "/usr/include/c++/12/bits/istream.tcc" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/istream.tcc" 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>::sentry::
1434:     sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
1434:     {
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       if (__in.good())
1434:  {
1434:    try
1434:      {
1434:        if (__in.tie())
1434:   __in.tie()->flush();
1434:        if (!__noskip && bool(__in.flags() & ios_base::skipws))
1434:   {
1434:     const __int_type __eof = traits_type::eof();
1434:     __streambuf_type* __sb = __in.rdbuf();
1434:     __int_type __c = __sb->sgetc();
1434: 
1434:     const __ctype_type& __ct = __check_facet(__in._M_ctype);
1434:     while (!traits_type::eq_int_type(__c, __eof)
1434:     && __ct.is(ctype_base::space,
1434:         traits_type::to_char_type(__c)))
1434:       __c = __sb->snextc();
1434: 
1434: 
1434: 
1434: 
1434:     if (traits_type::eq_int_type(__c, __eof))
1434:       __err |= ios_base::eofbit;
1434:   }
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        __in._M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { __in._M_setstate(ios_base::badbit); }
1434:  }
1434: # 436 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     comp_ellint_2(_Tp __k)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__comp_ellint_2<__type>(__k);
1412:     }
1412: # 452 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   comp_ellint_3f(float __k, float __nu)
1412:   { return __detail::__comp_ellint_3<float>(__k, __nu); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   comp_ellint_3l(long double __k, long double __nu)
1412:   { return __detail::__comp_ellint_3<long double>(__k, __nu); }
1412: # 487 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp, typename _Tpn>
1412:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
1412:     comp_ellint_3(_Tp __k, _Tpn __nu)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type __type;
1412:       return __detail::__comp_ellint_3<__type>(__k, __nu);
1412:     }
1412: # 503 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   cyl_bessel_if(float __nu, float __x)
1412:   { return __detail::__cyl_bessel_i<float>(__nu, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   cyl_bessel_il(long double __nu, long double __x)
1412:   { return __detail::__cyl_bessel_i<long double>(__nu, __x); }
1412: # 533 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tpnu, typename _Tp>
1412:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1412:     cyl_bessel_i(_Tpnu __nu, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1412:       return __detail::__cyl_bessel_i<__type>(__nu, __x);
1412:     }
1412: # 549 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   cyl_bessel_jf(float __nu, float __x)
1412:   { return __detail::__cyl_bessel_j<float>(__nu, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   cyl_bessel_jl(long double __nu, long double __x)
1412:   { return __detail::__cyl_bessel_j<long double>(__nu, __x); }
1412: # 579 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tpnu, typename _Tp>
1412:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1412:     cyl_bessel_j(_Tpnu __nu, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1412:       return __detail::__cyl_bessel_j<__type>(__nu, __x);
1412:     }
1412: # 595 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   cyl_bessel_kf(float __nu, float __x)
1412:   { return __detail::__cyl_bessel_k<float>(__nu, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   cyl_bessel_kl(long double __nu, long double __x)
1412:   { return __detail::__cyl_bessel_k<long double>(__nu, __x); }
1412: # 631 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tpnu, typename _Tp>
1412:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1412:     cyl_bessel_k(_Tpnu __nu, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1412:       return __detail::__cyl_bessel_k<__type>(__nu, __x);
1412:     }
1412: # 647 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   cyl_neumannf(float __nu, float __x)
1412:   { return __detail::__cyl_neumann_n<float>(__nu, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   cyl_neumannl(long double __nu, long double __x)
1412:   { return __detail::__cyl_neumann_n<long double>(__nu, __x); }
1412: # 679 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tpnu, typename _Tp>
1412:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1412:     cyl_neumann(_Tpnu __nu, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1412:       return __detail::__cyl_neuman: 
1434:       if (__in.good() && __err == ios_base::goodbit)
1434:  _M_ok = true;
1434:       else
1434:  {
1434:    __err |= ios_base::failbit;
1434:    __in.setstate(__err);
1434:  }
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     template<typename _ValueT>
1434:       basic_istream<_CharT, _Traits>&
1434:       basic_istream<_CharT, _Traits>::
1434:       _M_extract(_ValueT& __v)
1434:       {
1434:  sentry __cerb(*this, false);
1434:  if (__cerb)
1434:    {
1434:      ios_base::iostate __err = ios_base::goodbit;
1434:      try
1434:        {
1434:   const __num_get_type& __ng = __check_facet(this->_M_num_get);
1434:   __ng.get(*this, 0, *this, __err, __v);
1434:        }
1434:      catch(__cxxabiv1::__forced_unwind&)
1434:        {
1434:   this->_M_setstate(ios_base::badbit);
1434:   throw;
1434:        }
1434:      catch(...)
1434:        { this->_M_setstate(ios_base::badbit); }
1434:      if (__err)
1434:        this->setstate(__err);
1434:    }
1434:  return *this;
1434:       }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     operator>>(short& __n)
1434:     {
1434: 
1434: 
1434:       sentry __cerb(*this, false);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        long __l;
1434:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1434:        __ng.get(*this, 0, *this, __err, __l);
1434: 
1434: 
1434: 
1434:        if (__l < __gnu_cxx::__numeric_traits<short>::__min)
1434:   {
1434:     __err |= ios_base::failbit;
1434:     __n = __gnu_cxx::__numeric_traits<short>::__min;
1434:   }
1434:        else if (__l > __gnu_cxx::__numeric_traits<short>::__max)
1434:   {
1434:     __err |= ios_base::failbit;
1434:     __n = __gnu_cxx::__numeric_traits<short>::__max;
1434:   }
1434:        else
1434:   __n = short(__l);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     operator>>(int& __n)
1434:     {
1434: 
1434: 
1434:       sentry __cerb(*this, false);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        long __l;
1434:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1434:        __ng.get(*this, 0, *this, __err, __l);
1434: 
1434: 
1434: 
1434:        if (__l < __gnu_cxx::__numeric_traits<int>::__min)
1434:   {
1434:     __err |= ios_base::failbit;
1434:     __n = __gnu_cxx::__numeric_traits<int>::__min;
1434:   }
1434:        else if (__l > __gnu_cxx::__numeric_traits<int>::__max)
1434:   {
1434:     __err |= ios_base::failbit;
1434:     __n = __gnu_cxx::__numeric_traits<int>::__max;
1434:   }
1434:        else
1434:   __n = int(__l);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     operator>>(__streambuf_type* __sbout)
1434:     {
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       sentry __cerb(*this, false);
1434:       if (__cerb && __sbout)
1434:  {
1434:    try
1434:      {
1434:        bool __ineof;
1434:        if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
1434:   __err |= ios_base::failbit;
1434:        if (__ineoft std::string& GetSpeedUnitString(CSpeed::Unit speedUnit);
1115:   std::string GetSpeedAsString(const CSpeed& speed) const;
1115: 
1115:   void GetRegionNames(std::vector<std::string>& array);
1115:   void SetCurrentRegion(const std::string& strName);
1115:   const std::string& GetCurrentRegion() const;
1115: 
1115:   std::set<std::string> GetSortTokens() const;
1115: 
1115:   static std::string GetLanguagePath() { return "resource://"; }
1115:   static std::string GetLanguagePath(const std::string &language);
1115:   static std::string GetLanguageInfoPath(const std::string &language);
1115:   bool UseLocaleCollation();
1115: 
1115:   static void LoadTokens(const TiXmlNode* pTokens, std::set<std::string>& vecTokens);
1115: 
1115:   static void SettingOptionsLanguageNamesFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                                 std::vector<StringSettingOption>& list,
1115:                                                 std::string& current,
1115:                                                 void* data);
1115:   static void SettingOptionsAudioStreamLanguagesFiller(
1115:       const std::shared_ptr<const CSetting>& setting,
1115:       std::vector<StringSettingOption>& list,
1115:       std::string& current,
1115:       void* data);
1115:   static void SettingOptionsSubtitleStreamLanguagesFiller(
1115:       const std::shared_ptr<const CSetting>& setting,
1115:       std::vector<StringSettingOption>& list,
1115:       std::string& current,
1115:       void* data);
1115:   static void SettingOptionsSubtitleDownloadlanguagesFiller(
1115:       const std::shared_ptr<const CSetting>& setting,
1115:       std::vector<StringSettingOption>& list,
1115:       std::string& current,
1115:       void* data);
1115:   static void SettingOptionsISO6391LanguagesFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                                    std::vector<StringSettingOption>& list,
1115:                                                    std::string& current,
1115:                                                    void* data);
1115:   static void SettingOptionsRegionsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                           std::vector<StringSettingOption>& list,
1115:                                           std::string& current,
1115:                                           void* data);
1115:   static void SettingOptionsShortDateFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                                    std::vector<StringSettingOption>& list,
1115:                                                    std::string& current,
1115:                                                    void* data);
1115:   static void SettingOptionsLongDateFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                                   std::vector<StringSettingOption>& list,
1115:                                                   std::string& current,
1115:                                                   void* data);
1115:   static void SettingOptionsTimeFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                               std::vector<StringSettingOption>& list,
1115:                                               std::string& current,
1115:                                               void* data);
1115:   static void SettingOptions24HourClockFormatsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                                      std::vector<StringSettingOption>& list,
1115:                                                      std::string& current,
1115:                                                      void* data);
1115:   static void SettingOptionsTemperatureUnitsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                                    std::vector<StringSettingOption>& list,
1115:                                                    std)
1434:   __err |= ios_base::eofbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::failbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::failbit); }
1434:  }
1434:       else if (!__sbout)
1434:  __err |= ios_base::failbit;
1434:       if (__err)
1434:  this->setstate(__err);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     typename basic_istream<_CharT, _Traits>::int_type
1434:     basic_istream<_CharT, _Traits>::
1434:     get(void)
1434:     {
1434:       const int_type __eof = traits_type::eof();
1434:       int_type __c = __eof;
1434:       _M_gcount = 0;
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434:        __c = this->rdbuf()->sbumpc();
1434: 
1434:        if (!traits_type::eq_int_type(__c, __eof))
1434:   _M_gcount = 1;
1434:        else
1434:   __err |= ios_base::eofbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:  }
1434:       if (!_M_gcount)
1434:  __err |= ios_base::failbit;
1434:       if (__err)
1434:  this->setstate(__err);
1434:       return __c;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     get(char_type& __c)
1434:     {
1434:       _M_gcount = 0;
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434:        const int_type __cb = this->rdbuf()->sbumpc();
1434: 
1434:        if (!traits_type::eq_int_type(__cb, traits_type::eof()))
1434:   {
1434:     _M_gcount = 1;
1434:     __c = traits_type::to_char_type(__cb);
1434:   }
1434:        else
1434:   __err |= ios_base::eofbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:  }
1434:       if (!_M_gcount)
1434:  __err |= ios_base::failbit;
1434:       if (__err)
1434:  this->setstate(__err);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     get(char_type* __s, streamsize __n, char_type __delim)
1434:     {
1434:       _M_gcount = 0;
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434:        const int_type __idelim = traits_type::to_int_type(__delim);
1434:        const int_type __eof = traits_type::eof();
1434:        __streambuf_type* __sb = this->rdbuf();
1434:        int_type __c = __sb->sgetc();
1434: 
1434:        while (_M_gcount + 1 < __n
1434:        && !traits_type::eq_int_type(__c, __eof)
1434:        && !traits_type::eq_int_type(__c, __idelim))
1434:   {
1434:     *__s++ = traits_type::to_char_type(__c);
1434:     ++_M_gcount;
1434:     __c = __sb->snextc();
1434:   }
1434:        if (traits_type::eq_int_type(__c, __eof))
1434:   __err |= ios_base::eofbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:  }
1434: 
1434: 
1434:       if (__n > 0)
1434:  *__s = char_type();
1434:       if (!_M_gcount)
1434:  __err |= ios_base::failbit;
1434:       if (__err)
1434:  this->setstate(__err);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_Cn_n<__type>(__nu, __x);
1412:     }
1412: # 695 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   ellint_1f(float __k, float __phi)
1412:   { return __detail::__ellint_1<float>(__k, __phi); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   ellint_1l(long double __k, long double __phi)
1412:   { return __detail::__ellint_1<long double>(__k, __phi); }
1412: # 727 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp, typename _Tpp>
1412:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1412:     ellint_1(_Tp __k, _Tpp __phi)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1412:       return __detail::__ellint_1<__type>(__k, __phi);
1412:     }
1412: # 743 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   ellint_2f(float __k, float __phi)
1412:   { return __detail::__ellint_2<float>(__k, __phi); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   ellint_2l(long double __k, long double __phi)
1412:   { return __detail::__ellint_2<long double>(__k, __phi); }
1412: # 775 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp, typename _Tpp>
1412:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1412:     ellint_2(_Tp __k, _Tpp __phi)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1412:       return __detail::__ellint_2<__type>(__k, __phi);
1412:     }
1412: # 791 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   ellint_3f(float __k, float __nu, float __phi)
1412:   { return __detail::__ellint_3<float>(__k, __nu, __phi); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   ellint_3l(long double __k, long double __nu, long double __phi)
1412:   { return __detail::__ellint_3<long double>(__k, __nu, __phi); }
1412: # 828 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp, typename _Tpn, typename _Tpp>
1412:     inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
1412:     ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
1412:     {
1412:       typedef typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type __type;
1412:       return __detail::__ellint_3<__type>(__k, __nu, __phi);
1412:     }
1412: # 843 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   expintf(float __x)
1412:   { return __detail::__expint<float>(__x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   expintl(long double __x)
1412:   { return __detail::__expint<long double>(__x); }
1412: # 868 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     expint(_Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__expint<__type>(__x);
1412:     }
1412: # 884 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   hermitef(unsigned int __n, float __x)
1412:   { return __detail::__poly_hermite<float>(__n, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   hermitel(unsigned int __n, long double __x)
1412:   { return __detail::__poly_hermite<long double>(__n, __x); }
1412: # 916 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     hermite(unsigned int __n, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__poly_hermite<__type>(__n, __x);
1412:     }
1412: # 932 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   laguerref(unsigned int __n, float __x)
1412:   { return __detail::__laguerre<float>(__n, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   laguerrel(unsigned int __n, long double __x)
1412:   { return __detail::__laguerre<long double>(__n, __x); }
1412: # 960 "/usr/include/c++/12/bi::string& current,
1115:                                                    void* data);
1115:   static void SettingOptionsSpeedUnitsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                              std::vector<StringSettingOption>& list,
1115:                                              std::string& current,
1115:                                              void* data);
1115: 
1115: protected:
1115:   void SetDefaults();
1115:   bool Load(const std::string& strLanguage);
1115: 
1115:   static bool DetermineUse24HourClockFromTimeFormat(const std::string& timeFormat);
1115:   static bool DetermineUseMeridiemFromTimeFormat(const std::string& timeFormat);
1115:   static std::string PrepareTimeFormat(const std::string& timeFormat, bool use24HourClock);
1115:   static void AddLanguages(std::vector<StringSettingOption> &list);
1115: 
1115:   class CRegion final
1115:   {
1115:   public:
1115:     CRegion();
1115:     void SetDefaults();
1115:     void SetTemperatureUnit(const std::string& strUnit);
1115:     void SetSpeedUnit(const std::string& strUnit);
1115:     void SetTimeZone(const std::string& strTimeZone);
1115: 
1115:     class custom_numpunct : public std::numpunct<char>
1115:     {
1115:     public:
1115:       custom_numpunct(const char decimal_point, const char thousands_sep, const std::string& grouping)
1115:         : cDecimalPoint(decimal_point), cThousandsSep(thousands_sep), sGroup(grouping) {}
1115:     protected:
1115:       char do_decimal_point() const override { return cDecimalPoint; }
1115:       char do_thousands_sep() const override { return cThousandsSep; }
1115:       std::string do_grouping() const override { return sGroup; }
1115:     private:
1115:       const char cDecimalPoint;
1115:       const char cThousandsSep;
1115:       const std::string sGroup;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     void SetGlobalLocale();
1115:     std::string m_strLangLocaleName;
1115:     std::string m_strLangLocaleCodeTwoChar;
1115:     std::string m_strRegionLocaleName;
1115:     std::string m_strName;
1115:     std::string m_strDateFormatLong;
1115:     std::string m_strDateFormatShort;
1115:     std::string m_strTimeFormat;
1115:     std::string m_strMeridiemSymbols[2];
1115:     std::string m_strTimeZone;
1115:     std::string m_strGrouping;
1115:     char m_cDecimalSep;
1115:     char m_cThousandsSep;
1115: 
1115:     CTemperature::Unit m_tempUnit;
1115:     CSpeed::Unit m_speedUnit;
1115:   };
1115: 
1115: 
1115:   typedef std::map<std::string, CRegion> MAPREGIONS;
1115:   typedef std::map<std::string, CRegion>::iterator ITMAPREGIONS;
1115:   typedef std::pair<std::string, CRegion> PAIR_REGIONS;
1115:   MAPREGIONS m_regions;
1115:   CRegion* m_currentRegion;
1115:   CRegion m_defaultRegion;
1115:   std::locale m_systemLocale;
1115:   std::locale m_originalLocale;
1115:   int m_collationtype;
1115:   LanguageResourcePtr m_languageAddon;
1115: 
1115:   std::string m_strGuiCharSet;
1115:   bool m_forceUnicodeFont;
1115:   std::string m_strSubtitleCharSet;
1115:   std::string m_strDVDMenuLanguage;
1115:   std::string m_strDVDAudioLanguage;
1115:   std::string m_strDVDSubtitleLanguage;
1115:   std::set<std::string> m_sortTokens;
1115: 
1115:   std::string m_shortDateFormat;
1115:   std::string m_longDateFormat;
1115:   std::string m_timeFormat;
1115:   bool m_use24HourClock;
1115:   CTemperature::Unit m_temperatureUnit;
1115:   CSpeed::Unit m_speedUnit;
1115: 
1115:   std::string m_audioLanguage;
1115:   std::string m_subtitleLanguage;
1115: 
1115:   std::string m_languageCodeGeneral;
1115: };
1115: 
1115: 
1115: static std::shared_ptr<CLangInfo> g_langInfoRef(xbmcutil::GlobalsSingleton<CLangInfo>::getInstance());
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace ADDON
1115: {
1115: class CAddonMgr;
1115: class CBinaryAddonManharT, _Traits>::
1434:     get(__streambuf_type& __sb, char_type __delim)
1434:     {
1434:       _M_gcount = 0;
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434:        const int_type __idelim = traits_type::to_int_type(__delim);
1434:        const int_type __eof = traits_type::eof();
1434:        __streambuf_type* __this_sb = this->rdbuf();
1434:        int_type __c = __this_sb->sgetc();
1434:        char_type __c2 = traits_type::to_char_type(__c);
1434:        unsigned long long __gcount = 0;
1434: 
1434:        while (!traits_type::eq_int_type(__c, __eof)
1434:        && !traits_type::eq_int_type(__c, __idelim)
1434:        && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
1434:   {
1434:     ++__gcount;
1434:     __c = __this_sb->snextc();
1434:     __c2 = traits_type::to_char_type(__c);
1434:   }
1434:        if (traits_type::eq_int_type(__c, __eof))
1434:   __err |= ios_base::eofbit;
1434: 
1434: 
1434:        if (__gcount <= __gnu_cxx::__numeric_traits<streamsize>::__max)
1434:   _M_gcount = __gcount;
1434:        else
1434:   _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:  }
1434:       if (!_M_gcount)
1434:  __err |= ios_base::failbit;
1434:       if (__err)
1434:  this->setstate(__err);
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     getline(char_type* __s, streamsize __n, char_type __delim)
1434:     {
1434:       _M_gcount = 0;
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:         {
1434:           try
1434:             {
1434:               const int_type __idelim = traits_type::to_int_type(__delim);
1434:               const int_type __eof = traits_type::eof();
1434:               __streambuf_type* __sb = this->rdbuf();
1434:               int_type __c = __sb->sgetc();
1434: 
1434:               while (_M_gcount + 1 < __n
1434:                      && !traits_type::eq_int_type(__c, __eof)
1434:                      && !traits_type::eq_int_type(__c, __idelim))
1434:                 {
1434:                   *__s++ = traits_type::to_char_type(__c);
1434:                   __c = __sb->snextc();
1434:                   ++_M_gcount;
1434:                 }
1434:               if (traits_type::eq_int_type(__c, __eof))
1434:                 __err |= ios_base::eofbit;
1434:               else
1434:                 {
1434:                   if (traits_type::eq_int_type(__c, __idelim))
1434:                     {
1434:                       __sb->sbumpc();
1434:                       ++_M_gcount;
1434:                     }
1434:                   else
1434:                     __err |= ios_base::failbit;
1434:                 }
1434:             }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:           catch(...)
1434:             { this->_M_setstate(ios_base::badbit); }
1434:         }
1434: 
1434: 
1434:       if (__n > 0)
1434:  *__s = char_type();
1434:       if (!_M_gcount)
1434:         __err |= ios_base::failbit;
1434:       if (__err)
1434:         this->setstate(__err);
1434:       return *this;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     ignore(void)
1434:     {
1434:       _M_gcount = 0;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        const int_type __eof = traits_type::eofts/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     laguerre(unsigned int __n, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__laguerre<__type>(__n, __x);
1412:     }
1412: # 976 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   legendref(unsigned int __l, float __x)
1412:   { return __detail::__poly_legendre_p<float>(__l, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   legendrel(unsigned int __l, long double __x)
1412:   { return __detail::__poly_legendre_p<long double>(__l, __x); }
1412: # 1005 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     legendre(unsigned int __l, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__poly_legendre_p<__type>(__l, __x);
1412:     }
1412: # 1021 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   riemann_zetaf(float __s)
1412:   { return __detail::__riemann_zeta<float>(__s); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   riemann_zetal(long double __s)
1412:   { return __detail::__riemann_zeta<long double>(__s); }
1412: # 1056 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     riemann_zeta(_Tp __s)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__riemann_zeta<__type>(__s);
1412:     }
1412: # 1072 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   sph_besself(unsigned int __n, float __x)
1412:   { return __detail::__sph_bessel<float>(__n, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   sph_bessell(unsigned int __n, long double __x)
1412:   { return __detail::__sph_bessel<long double>(__n, __x); }
1412: # 1100 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     sph_bessel(unsigned int __n, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__sph_bessel<__type>(__n, __x);
1412:     }
1412: # 1116 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   sph_legendref(unsigned int __l, unsigned int __m, float __theta)
1412:   { return __detail::__sph_legendre<float>(__l, __m, __theta); }
1412: # 1127 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline long double
1412:   sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
1412:   { return __detail::__sph_legendre<long double>(__l, __m, __theta); }
1412: # 1147 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__sph_legendre<__type>(__l, __m, __theta);
1412:     }
1412: # 1163 "/usr/include/c++/12/bits/specfun.h" 3
1412:   inline float
1412:   sph_neumannf(unsigned int __n, float __x)
1412:   { return __detail::__sph_neumann<float>(__n, __x); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline long double
1412:   sph_neumannl(unsigned int __n, long double __x)
1412:   { return __detail::__sph_neumann<long double>(__n, __x); }
1412: # 1191 "/usr/include/c++/12/bits/specfun.h" 3
1412:   template<typename _Tp>
1412:     inline typename __gnu_cxx::__promote<_Tp>::__type
1412:     sph_neumann(unsigned int __n, _Tp __x)
1412:     {
1412:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1412:       return __detail::__sph_neumann<__type>(__n, __x);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 1388 "/usr/include/c++/12/bits/specfun.h" 3
1412: ();
1434:        __streambuf_type* __sb = this->rdbuf();
1434: 
1434:        if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
1434:   __err |= ios_base::eofbit;
1434:        else
1434:   _M_gcount = 1;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     ignore(streamsize __n)
1434:     {
1434:       _M_gcount = 0;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb && __n > 0)
1434:         {
1434:           ios_base::iostate __err = ios_base::goodbit;
1434:           try
1434:             {
1434:               const int_type __eof = traits_type::eof();
1434:               __streambuf_type* __sb = this->rdbuf();
1434:               int_type __c = __sb->sgetc();
1434: # 530 "/usr/include/c++/12/bits/istream.tcc" 3
1434:        bool __large_ignore = false;
1434:        while (true)
1434:   {
1434:     while (_M_gcount < __n
1434:     && !traits_type::eq_int_type(__c, __eof))
1434:       {
1434:         ++_M_gcount;
1434:         __c = __sb->snextc();
1434:       }
1434:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1434:         && !traits_type::eq_int_type(__c, __eof))
1434:       {
1434:         _M_gcount =
1434:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1434:         __large_ignore = true;
1434:       }
1434:     else
1434:       break;
1434:   }
1434: 
1434:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1434:   {
1434:     if (__large_ignore)
1434:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1434: 
1434:     if (traits_type::eq_int_type(__c, __eof))
1434:       __err |= ios_base::eofbit;
1434:   }
1434:        else if (_M_gcount < __n)
1434:   {
1434:     if (traits_type::eq_int_type(__c, __eof))
1434:       __err |= ios_base::eofbit;
1434:   }
1434:             }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:           catch(...)
1434:             { this->_M_setstate(ios_base::badbit); }
1434:           if (__err)
1434:             this->setstate(__err);
1434:         }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     ignore(streamsize __n, int_type __delim)
1434:     {
1434:       _M_gcount = 0;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb && __n > 0)
1434:         {
1434:           ios_base::iostate __err = ios_base::goodbit;
1434:           try
1434:             {
1434:               const int_type __eof = traits_type::eof();
1434:               __streambuf_type* __sb = this->rdbuf();
1434:               int_type __c = __sb->sgetc();
1434: 
1434: 
1434:        bool __large_ignore = false;
1434:        while (true)
1434:   {
1434:     while (_M_gcount < __n
1434:     && !traits_type::eq_int_type(__c, __eof)
1434:     && !traits_type::eq_int_type(__c, __delim))
1434:       {
1434:         ++_M_gcount;
1434:         __c = __sb->snextc();
1434:       }
1434:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1434:         && !traits_type::eq_int_type(__c, __eof)
1434:         && !traits_type::eq_int_type(__c, __delim))
1434:       {
1434:         _M_gcount =
1434:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1434:         __large_ignore = true;
1434:       }
1434:     else
1434:       break;
1434:   }
1434: 
1434:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1434:   {
1434:     if (__large_ignore)
1434:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1434: 
1434:     if (traits_type::eq_int_type(__c, __eof))
1434:       __err |= ios_base::eofbit;
1434:     else
1434:       {
1434:         if (_M_gcount != __n)
1434:    ++_M_gcount;
1434:         __sb->sbumpc();
1434:       }
1434:   }
1434:        else if (_M_gcount < __n)
1434:   {
1434:     if (traits_type::eq_int_type(__c, __eof))
1434:       __err |= ios_base::eofbit;
1434:     else
1434:       {
1434:         ++_M_gcount;
1434:         __sb->sbumpc();
1434:       }
1434:   }
1434:             }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:           catch(...)
1434:             { this->_M_setstate(ios_base::badbit); }
1434:           if (__err)
1434:             this->setstate(__err);
1434:         }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     typename basic_istream<_CharT, _Traits>::int_type
1434:     basic_istream<_CharT, _Traits>::
1434:     peek(void)
1434:     {
1434:       int_type __c = traits_type::eof();
1434:       _M_gcount = 0;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        __c = this->rdbuf()->sgetc();
1434:        if (traits_type::eq_int_type(__c, traits_type::eof()))
1434:   __err |= ios_base::eofbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return __c;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     read(char_type* __s, streamsize __n)
1434:     {
1434:       _M_gcount = 0;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        _M_gcount = this->rdbuf()->sgetn(__s, __n);
1434:        if (_M_gcount != __n)
1434:   __err |= (ios_base::eofbit | ios_base::failbit);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     streamsize
1434:     basic_istream<_CharT, _Traits>::
1434:     readsome(char_type* __s, streamsize __n)
1434:     {
1434:       _M_gcount = 0;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434: 
1434:        const streamsize __num = this->rdbuf()->in_avail();
1434:        if (__num > 0)
1434:   _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
1434:        else if (__num == -1)
1434:   __err |= ios_base::eofbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return _M_gcount;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     putback(char_type __c)
1434:     {
1434: 
1434: 
1434:       _M_gcount = 0;
1434: 
1434:       this->clear(this->rdstate() & ~ios_base::eofbit);
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        const int_type __eof = traits_type::eof();
1434:        __streambuf_type* __sb = this->rdbuf();
1434:        if (!__sb
1434:     || traits_typager;
1115: class CBinaryAddonCache;
1115: class CVFSAddonCache;
1115: class CServiceAddonManager;
1115: class CRepositoryUpdater;
1115: }
1115: 
1115: namespace ANNOUNCEMENT
1115: {
1115: class CAnnouncementManager;
1115: }
1115: 
1115: namespace MEDIA_DETECT
1115: {
1115: class CDetectDVDMedia;
1115: }
1115: 
1115: namespace PVR
1115: {
1115: class CPVRManager;
1115: }
1115: 
1115: namespace PLAYLIST
1115: {
1115: class CPlayListPlayer;
1115: }
1115: 
1115: namespace KODI
1115: {
1115: namespace MESSAGING
1115: {
1115: class CApplicationMessenger;
1115: }
1115: }
1115: 
1115: class CAppParams;
1115: template<class T>
1115: class CComponentContainer;
1115: class CContextMenuManager;
1115: class XBPython;
1115: class CDataCacheCore;
1115: class IAE;
1115: class IApplicationComponent;
1115: class CFavouritesService;
1115: class CInputManager;
1115: class CFileExtensionProvider;
1115: class CNetworkBase;
1115: class CWinSystemBase;
1115: class CRenderSystemBase;
1115: class CPowerManager;
1115: class CWeatherManager;
1115: class CPlayerCoreFactory;
1115: class CDatabaseManager;
1115: class CEventLog;
1115: class CGUIComponent;
1115: class CAppInboundProtocol;
1115: class CSettingsComponent;
1115: class CDecoderFilterManager;
1115: class CMediaManager;
1115: class CCPUInfo;
1115: class CLog;
1115: class CPlatform;
1115: class CTextureCache;
1115: class CJobManager;
1115: class CKeyboardLayoutManager;
1115: 
1115: namespace WSDiscovery
1115: {
1115: class IWSDiscovery;
1115: }
1115: 
1115: namespace KODI
1115: {
1115: namespace ADDONS
1115: {
1115: class CExtsMimeSupportList;
1115: }
1115: 
1115: namespace GAME
1115: {
1115: class CControllerManager;
1115: class CGameServices;
1115: }
1115: 
1115: namespace RETRO
1115: {
1115: class CGUIGameRenderManager;
1115: }
1115: }
1115: 
1115: namespace PERIPHERALS
1115: {
1115: class CPeripherals;
1115: }
1115: 
1115: namespace speech
1115: {
1115: class ISpeechRecognition;
1115: }
1115: 
1115: class CServiceBroker
1115: {
1115: public:
1115:   CServiceBroker();
1115:   ~CServiceBroker();
1115: 
1115:   static std::shared_ptr<CAppParams> GetAppParams();
1115:   static void RegisterAppParams(const std::shared_ptr<CAppParams>& appParams);
1115:   static void UnregisterAppParams();
1115: 
1115:   static CLog& GetLogging();
1115:   static void CreateLogging();
1115:   static void DestroyLogging();
1115: 
1115:   static std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> GetAnnouncementManager();
1115:   static void RegisterAnnouncementManager(
1115:       std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> announcementManager);
1115:   static void UnregisterAnnouncementManager();
1115: 
1115:   static ADDON::CAddonMgr& GetAddonMgr();
1115:   static ADDON::CBinaryAddonManager& GetBinaryAddonManager();
1115:   static ADDON::CBinaryAddonCache& GetBinaryAddonCache();
1115:   static KODI::ADDONS::CExtsMimeSupportList& GetExtsMimeSupportList();
1115:   static ADDON::CVFSAddonCache& GetVFSAddonCache();
1115:   static XBPython& GetXBPython();
1115:   static WSDiscovery::IWSDiscovery& GetWSDiscovery();
1115:   static MEDIA_DETECT::CDetectDVDMedia& GetDetectDVDMedia();
1115:   static PVR::CPVRManager& GetPVRManager();
1115:   static CContextMenuManager& GetContextMenuManager();
1115:   static CDataCacheCore& GetDataCacheCore();
1115:   static CPlatform& GetPlatform();
1115:   static PLAYLIST::CPlayListPlayer& GetPlaylistPlayer();
1115:   static KODI::GAME::CControllerManager& GetGameControllerManager();
1115:   static KODI::GAME::CGameServices& GetGameServices();
1115:   static KODI::RETRO::CGUIGameRenderManager& GetGameRenderManager();
1115:   static PERIPHERALS::CPeripherals& GetPeripherals();
1115:   static CFavouritesService& GetFavouritesService();
1115:   static ADDON::CServiceAddonManager& GetServiceAddons();
1115:   static ADDON::CRepositoryUpdater& GetRepositoryUpdater();
1115:   static CInputManager& GetInputManager();
1115:   static CFileExtensionProvider& GetFileExtensionProvider();
1115:   static bool IsAddonInterfaceUp();
1115:   static bool IsServiceManagerUp();
1115:   static CNetwe::eq_int_type(__sb->sputbackc(__c), __eof))
1434:   __err |= ios_base::badbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     unget(void)
1434:     {
1434: 
1434: 
1434:       _M_gcount = 0;
1434: 
1434:       this->clear(this->rdstate() & ~ios_base::eofbit);
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        const int_type __eof = traits_type::eof();
1434:        __streambuf_type* __sb = this->rdbuf();
1434:        if (!__sb
1434:     || traits_type::eq_int_type(__sb->sungetc(), __eof))
1434:   __err |= ios_base::badbit;
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     int
1434:     basic_istream<_CharT, _Traits>::
1434:     sync(void)
1434:     {
1434: 
1434: 
1434:       int __ret = -1;
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        __streambuf_type* __sb = this->rdbuf();
1434:        if (__sb)
1434:   {
1434:     if (__sb->pubsync() == -1)
1434:       __err |= ios_base::badbit;
1434:     else
1434:       __ret = 0;
1434:   }
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     typename basic_istream<_CharT, _Traits>::pos_type
1434:     basic_istream<_CharT, _Traits>::
1434:     tellg(void)
1434:     {
1434: 
1434: 
1434:       pos_type __ret = pos_type(-1);
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434:        if (!this->fail())
1434:   __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
1434:         ios_base::in);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     seekg(pos_type __pos)
1434:     {
1434: 
1434: 
1434: 
1434:       this->clear(this->rdstate() & ~ios_base::eofbit);
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        if (!this->fail())
1434:   {
1434: 
1434:     const pos_type __p = this->rdbuf()->pubseekpos(__pos,
1434:          ios_base::in);
1434: 
1434: 
1434:     if (__p == pos_type(off_type(-1)))
1434:       __err |= ios_base::failbit;
1434:   }
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
14#pragma GCC visibility pop
1412: # 1936 "/usr/include/c++/12/cmath" 2 3
1412: 
1412: 
1412: }
1412: # 37 "/usr/include/c++/12/math.h" 2 3
1412: 
1412: using std::abs;
1412: using std::acos;
1412: using std::asin;
1412: using std::atan;
1412: using std::atan2;
1412: using std::cos;
1412: using std::sin;
1412: using std::tan;
1412: using std::cosh;
1412: using std::sinh;
1412: using std::tanh;
1412: using std::exp;
1412: using std::frexp;
1412: using std::ldexp;
1412: using std::log;
1412: using std::log10;
1412: using std::modf;
1412: using std::pow;
1412: using std::sqrt;
1412: using std::ceil;
1412: using std::fabs;
1412: using std::floor;
1412: using std::fmod;
1412: 
1412: 
1412: using std::fpclassify;
1412: using std::isfinite;
1412: using std::isinf;
1412: using std::isnan;
1412: using std::isnormal;
1412: using std::signbit;
1412: using std::isgreater;
1412: using std::isgreaterequal;
1412: using std::isless;
1412: using std::islessequal;
1412: using std::islessgreater;
1412: using std::isunordered;
1412: 
1412: 
1412: 
1412: using std::acosh;
1412: using std::asinh;
1412: using std::atanh;
1412: using std::cbrt;
1412: using std::copysign;
1412: using std::erf;
1412: using std::erfc;
1412: using std::exp2;
1412: using std::expm1;
1412: using std::fdim;
1412: using std::fma;
1412: using std::fmax;
1412: using std::fmin;
1412: using std::hypot;
1412: using std::ilogb;
1412: using std::lgamma;
1412: using std::llrint;
1412: using std::llround;
1412: using std::log1p;
1412: using std::log2;
1412: using std::logb;
1412: using std::lrint;
1412: using std::lround;
1412: using std::nearbyint;
1412: using std::nextafter;
1412: using std::nexttoward;
1412: using std::remainder;
1412: using std::remquo;
1412: using std::rint;
1412: using std::round;
1412: using std::scalbln;
1412: using std::scalbn;
1412: using std::tgamma;
1412: using std::trunc;
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
1412: 
1412: # 1 "/usr/include/string.h" 1 3 4
1412: # 26 "/usr/include/string.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1412: # 27 "/usr/include/string.h" 2 3 4
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 34 "/usr/include/string.h" 2 3 4
1412: # 43 "/usr/include/string.h" 3 4
1412: extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
1412:        size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern void *memmove (void *__dest, const void *__src, size_t __n)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
1412:         int __c, size_t __n)
1412:     noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4)));
1412: 
1412: 
1412: 
1412: 
1412: extern void *memset (void *__s, int __c, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern int memcmp (const void *__s1, const void *__s2, size_t __n)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: # 80 "/usr/include/string.h" 3 4
1412: extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: extern "C++"
1412: {
1412: extern void *memchr (void *__s, int __c, size_t __n)
1412:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: extern const void *memchr (const void *__s, int __c, size_t __n)
1412:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void *
1412: memchr (void *__s, int __c, size_t __n) noexcept (true)
1412: {
1412:   return __builtin_memchr (__s, __c, __n);
1412:34:     basic_istream<_CharT, _Traits>&
1434:     basic_istream<_CharT, _Traits>::
1434:     seekg(off_type __off, ios_base::seekdir __dir)
1434:     {
1434: 
1434: 
1434: 
1434:       this->clear(this->rdstate() & ~ios_base::eofbit);
1434:       sentry __cerb(*this, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        if (!this->fail())
1434:   {
1434: 
1434:     const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1434:          ios_base::in);
1434: 
1434: 
1434:     if (__p == pos_type(off_type(-1)))
1434:       __err |= ios_base::failbit;
1434:   }
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        this->_M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { this->_M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      this->setstate(__err);
1434:  }
1434:       return *this;
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istream<_CharT, _Traits>&
1434:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
1434:     {
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef typename __istream_type::int_type __int_type;
1434: 
1434:       typename __istream_type::sentry __cerb(__in, false);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        const __int_type __cb = __in.rdbuf()->sbumpc();
1434:        if (!_Traits::eq_int_type(__cb, _Traits::eof()))
1434:   __c = _Traits::to_char_type(__cb);
1434:        else
1434:   __err |= (ios_base::eofbit | ios_base::failbit);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        __in._M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { __in._M_setstate(ios_base::badbit); }
1434:    if (__err)
1434:      __in.setstate(__err);
1434:  }
1434:       return __in;
1434:     }
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     void
1434:     __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s,
1434:         streamsize __num)
1434:     {
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1434:       typedef typename _Traits::int_type int_type;
1434:       typedef _CharT char_type;
1434:       typedef ctype<_CharT> __ctype_type;
1434: 
1434:       streamsize __extracted = 0;
1434:       ios_base::iostate __err = ios_base::goodbit;
1434:       typename __istream_type::sentry __cerb(__in, false);
1434:       if (__cerb)
1434:  {
1434:    try
1434:      {
1434: 
1434:        streamsize __width = __in.width();
1434:        if (0 < __width && __width < __num)
1434:   __num = __width;
1434: 
1434:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1434: 
1434:        const int_type __eof = _Traits::eof();
1434:        __streambuf_type* __sb = __in.rdbuf();
1434:        int_type __c = __sb->sgetc();
1434: 
1434:        while (__extracted < __num - 1
1434:        && !_Traits::eq_int_type(__c, __eof)
1434:        && !__ct.is(ctype_base::space,
1434:      _Traits::to_char_type(__c)))
1434:   {
1434:     *__s++ = _Traits::to_char_type(__c);
1434:     ++__extracted;
1434:     __c = __sb->snextc();
1434:   }
1434: 
1434:        if (__extracted < __num - 1
1434:     && _Traits::eq_int_type(__c, __eof))
1434:   __err |= ios_base::eofbit;
1434: 
1434: 
1434: 
1434:        *__s = char_type();
1434:        __in.width(0);
1434:      }
1434:    catch(__cxxabiv1::__forced_unwind&)
1434:      {
1434:        __in._M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      { __in._M_setstate(ios_base::badbit); }
1434:  }
1434:       if (!__extracted)
1434:  __err |= ios_base::failbit;
1434:       if (__err)
1434:  __in.setstate(__err);
1434:     }
1434: 
1434: 
1434:   template<typename _CharT, typename _Traits>
1434:     basic_istreamorkBase& GetNetwork();
1115:   static CPowerManager& GetPowerManager();
1115:   static CWeatherManager& GetWeatherManager();
1115:   static CPlayerCoreFactory& GetPlayerCoreFactory();
1115:   static CDatabaseManager& GetDatabaseManager();
1115:   static CEventLog* GetEventLog();
1115:   static CMediaManager& GetMediaManager();
1115:   static CComponentContainer<IApplicationComponent>& GetAppComponents();
1115: 
1115:   static CGUIComponent* GetGUI();
1115:   static void RegisterGUI(CGUIComponent* gui);
1115:   static void UnregisterGUI();
1115: 
1115:   static void RegisterSettingsComponent(const std::shared_ptr<CSettingsComponent>& settings);
1115:   static void UnregisterSettingsComponent();
1115:   static std::shared_ptr<CSettingsComponent> GetSettingsComponent();
1115: 
1115:   static void RegisterWinSystem(CWinSystemBase* winsystem);
1115:   static void UnregisterWinSystem();
1115:   static CWinSystemBase* GetWinSystem();
1115:   static CRenderSystemBase* GetRenderSystem();
1115: 
1115:   static IAE* GetActiveAE();
1115:   static void RegisterAE(IAE* ae);
1115:   static void UnregisterAE();
1115: 
1115:   static std::shared_ptr<CAppInboundProtocol> GetAppPort();
1115:   static void RegisterAppPort(std::shared_ptr<CAppInboundProtocol> port);
1115:   static void UnregisterAppPort();
1115: 
1115:   static void RegisterDecoderFilterManager(CDecoderFilterManager* manager);
1115:   static CDecoderFilterManager* GetDecoderFilterManager();
1115: 
1115:   static std::shared_ptr<CCPUInfo> GetCPUInfo();
1115:   static void RegisterCPUInfo(std::shared_ptr<CCPUInfo> cpuInfo);
1115:   static void UnregisterCPUInfo();
1115: 
1115:   static void RegisterTextureCache(const std::shared_ptr<CTextureCache>& cache);
1115:   static void UnregisterTextureCache();
1115:   static std::shared_ptr<CTextureCache> GetTextureCache();
1115: 
1115:   static void RegisterJobManager(const std::shared_ptr<CJobManager>& jobManager);
1115:   static void UnregisterJobManager();
1115:   static std::shared_ptr<CJobManager> GetJobManager();
1115: 
1115:   static void RegisterAppMessenger(
1115:       const std::shared_ptr<KODI::MESSAGING::CApplicationMessenger>& appMessenger);
1115:   static void UnregisterAppMessenger();
1115:   static std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> GetAppMessenger();
1115: 
1115:   static void RegisterKeyboardLayoutManager(
1115:       const std::shared_ptr<CKeyboardLayoutManager>& keyboardLayoutManager);
1115:   static void UnregisterKeyboardLayoutManager();
1115:   static std::shared_ptr<CKeyboardLayoutManager> GetKeyboardLayoutManager();
1115: 
1115:   static void RegisterSpeechRecognition(
1115:       const std::shared_ptr<speech::ISpeechRecognition>& speechRecognition);
1115:   static void UnregisterSpeechRecognition();
1115:   static std::shared_ptr<speech::ISpeechRecognition> GetSpeechRecognition();
1115: 
1115: private:
1115:   std::shared_ptr<CAppParams> m_appParams;
1115:   std::unique_ptr<CLog> m_logging;
1115:   std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> m_pAnnouncementManager;
1115:   CGUIComponent* m_pGUI;
1115:   CWinSystemBase* m_pWinSystem;
1115:   IAE* m_pActiveAE;
1115:   std::shared_ptr<CAppInboundProtocol> m_pAppPort;
1115:   std::shared_ptr<CSettingsComponent> m_pSettingsComponent;
1115:   CDecoderFilterManager* m_decoderFilterManager;
1115:   std::shared_ptr<CCPUInfo> m_cpuInfo;
1115:   std::shared_ptr<CTextureCache> m_textureCache;
1115:   std::shared_ptr<CJobManager> m_jobManager;
1115:   std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> m_appMessenger;
1115:   std::shared_ptr<CKeyboardLayoutManager> m_keyboardLayoutManager;
1115:   std::shared_ptr<speech::ISpeechRecognition> m_speechRecognition;
1115: };
1115: 
1115: static std::shared_ptr<CServiceBroker> g_serviceBrokerRef(xbmcutil::GlobalsSingleton<CServiceBroker>::getInstance());
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h"
1115:        
1115: 
1115: 
1115: # 1 }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void *
1412: memchr (const void *__s, int __c, size_t __n) noexcept (true)
1412: {
1412:   return __builtin_memchr (__s, __c, __n);
1412: }
1412: 
1412: }
1412: # 115 "/usr/include/string.h" 3 4
1412: extern "C++" void *rawmemchr (void *__s, int __c)
1412:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: extern "C++" const void *rawmemchr (const void *__s, int __c)
1412:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" void *memrchr (void *__s, int __c, size_t __n)
1412:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1412:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1412: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
1412:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1412:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1412: # 141 "/usr/include/string.h" 3 4
1412: extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern char *strncpy (char *__restrict __dest,
1412:         const char *__restrict __src, size_t __n)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern char *strcat (char *__restrict __dest, const char *__restrict __src)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern char *strncat (char *__restrict __dest, const char *__restrict __src,
1412:         size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int strcmp (const char *__s1, const char *__s2)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern int strncmp (const char *__s1, const char *__s2, size_t __n)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int strcoll (const char *__s1, const char *__s2)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: extern size_t strxfrm (char *__restrict __dest,
1412:          const char *__restrict __src, size_t __n)
1412:     noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1412: 
1412: 
1412: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
1412:     locale_t __l) noexcept (true) __attribute__ ((__nonnull__ (2, 4)))
1412:      __attribute__ ((__access__ (__write_only__, 1, 3)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *strdup (const char *__s)
1412:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *strndup (const char *__string, size_t __n)
1412:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1412: # 224 "/usr/include/string.h" 3 4
1412: extern "C++"
1412: {
1412: extern char *strchr (char *__s, int __c)
1412:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: extern const char *strchr (const char *__s, int __c)
1412:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1412: strchr (char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_strchr (__s, __c);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline_<_CharT, _Traits>&
1434:     ws(basic_istream<_CharT, _Traits>& __in)
1434:     {
1434:       typedef basic_istream<_CharT, _Traits> __istream_type;
1434:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1434:       typedef typename __istream_type::int_type __int_type;
1434:       typedef ctype<_CharT> __ctype_type;
1434: 
1434: 
1434: 
1434:       typename __istream_type::sentry __cerb(__in, true);
1434:       if (__cerb)
1434:  {
1434:    ios_base::iostate __err = ios_base::goodbit;
1434:    try
1434:      {
1434:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1434:        const __int_type __eof = _Traits::eof();
1434:        __streambuf_type* __sb = __in.rdbuf();
1434:        __int_type __c = __sb->sgetc();
1434: 
1434:        while (true)
1434:   {
1434:     if (_Traits::eq_int_type(__c, __eof))
1434:       {
1434:         __err = ios_base::eofbit;
1434:         break;
1434:       }
1434:     if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
1434:       break;
1434:     __c = __sb->snextc();
1434:   }
1434:      }
1434:    catch(const __cxxabiv1::__forced_unwind&)
1434:      {
1434:        __in._M_setstate(ios_base::badbit);
1434:        throw;
1434:      }
1434:    catch(...)
1434:      {
1434:        __in._M_setstate(ios_base::badbit);
1434:      }
1434:    if (__err)
1434:      __in.setstate(__err);
1434:  }
1434:       return __in;
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template class basic_istream<char>;
1434:   extern template istream& ws(istream&);
1434:   extern template istream& operator>>(istream&, char&);
1434:   extern template istream& operator>>(istream&, unsigned char&);
1434:   extern template istream& operator>>(istream&, signed char&);
1434: 
1434:   extern template istream& istream::_M_extract(unsigned short&);
1434:   extern template istream& istream::_M_extract(unsigned int&);
1434:   extern template istream& istream::_M_extract(long&);
1434:   extern template istream& istream::_M_extract(unsigned long&);
1434:   extern template istream& istream::_M_extract(bool&);
1434: 
1434:   extern template istream& istream::_M_extract(long long&);
1434:   extern template istream& istream::_M_extract(unsigned long long&);
1434: 
1434:   extern template istream& istream::_M_extract(float&);
1434:   extern template istream& istream::_M_extract(double&);
1434:   extern template istream& istream::_M_extract(long double&);
1434:   extern template istream& istream::_M_extract(void*&);
1434: 
1434:   extern template class basic_iostream<char>;
1434: 
1434: 
1434:   extern template class basic_istream<wchar_t>;
1434:   extern template wistream& ws(wistream&);
1434:   extern template wistream& operator>>(wistream&, wchar_t&);
1434:   extern template void __istream_extract(wistream&, wchar_t*, streamsize);
1434: 
1434:   extern template wistream& wistream::_M_extract(unsigned short&);
1434:   extern template wistream& wistream::_M_extract(unsigned int&);
1434:   extern template wistream& wistream::_M_extract(long&);
1434:   extern template wistream& wistream::_M_extract(unsigned long&);
1434:   extern template wistream& wistream::_M_extract(bool&);
1434: 
1434:   extern template wistream& wistream::_M_extract(long long&);
1434:   extern template wistream& wistream::_M_extract(unsigned long long&);
1434: 
1434:   extern template wistream& wistream::_M_extract(float&);
1434:   extern template wistream& wistream::_M_extract(double&);
1434:   extern template wistream& wistream::_M_extract(long double&);
1434:   extern template wistream& wistream::_M_extract(void*&);
1434: 
1434:   extern template class basic_iostream<wchar_t>;
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 1017 "/usr/include/c++/12/istream" 2 3
1434: # 39 "/usr/include/c++/12/sstream" 2 3
1434: # 48 "/usr/include/c++/12/sstream" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: namespace __cxx11 {
1434: # 71 "/usr/include/c++/12/sstream" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     class basic_stringbuf : public basi "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h"
1115:        
1115: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h"
1115: enum TIME_FORMAT
1115: {
1115:   TIME_FORMAT_GUESS = 0,
1115:   TIME_FORMAT_SS = 1,
1115:   TIME_FORMAT_MM = 2,
1115:   TIME_FORMAT_MM_SS = 3,
1115:   TIME_FORMAT_HH = 4,
1115:   TIME_FORMAT_HH_SS = 5,
1115:   TIME_FORMAT_HH_MM = 6,
1115:   TIME_FORMAT_HH_MM_SS = 7,
1115:   TIME_FORMAT_XX = 8,
1115:   TIME_FORMAT_HH_MM_XX =
1115:       14,
1115:   TIME_FORMAT_HH_MM_SS_XX =
1115:       15,
1115:   TIME_FORMAT_H = 16,
1115:   TIME_FORMAT_H_MM_SS = 19,
1115:   TIME_FORMAT_H_MM_SS_XX =
1115:       27,
1115:   TIME_FORMAT_SECS = 32,
1115:   TIME_FORMAT_MINS = 64,
1115:   TIME_FORMAT_HOURS = 128,
1115:   TIME_FORMAT_M = 256
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h"
1115:        
1115: 
1115: # 1 "/usr/include/c++/12/chrono" 1 3
1115: # 33 "/usr/include/c++/12/chrono" 3
1115:        
1115: # 34 "/usr/include/c++/12/chrono" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/chrono.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/chrono.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/chrono.h" 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/ratio" 1 3
1115: # 33 "/usr/include/c++/12/ratio" 3
1115:        
1115: # 34 "/usr/include/c++/12/ratio" 3
1115: # 42 "/usr/include/c++/12/ratio" 3
1115: 
1115: # 42 "/usr/include/c++/12/ratio" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 56 "/usr/include/c++/12/ratio" 3
1115:   template<intmax_t _Pn>
1115:     struct __static_sign
1115:     : integral_constant<intmax_t, (_Pn < 0) ? -1 : 1>
1115:     { };
1115: 
1115:   template<intmax_t _Pn>
1115:     struct __static_abs
1115:     : integral_constant<intmax_t, _Pn * __static_sign<_Pn>::value>
1115:     { };
1115: 
1115:   template<intmax_t _Pn, intmax_t _Qn>
1115:     struct __static_gcd
1115:     : __static_gcd<_Qn, (_Pn % _Qn)>
1115:     { };
1115: 
1115:   template<intmax_t _Pn>
1115:     struct __static_gcd<_Pn, 0>
1115:     : integral_constant<intmax_t, __static_abs<_Pn>::value>
1115:     { };
1115: 
1115:   template<intmax_t _Qn>
1115:     struct __static_gcd<0, _Qn>
1115:     : integral_constant<intmax_t, __static_abs<_Qn>::value>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<intmax_t _Pn, intmax_t _Qn>
1115:     struct __safe_multiply
1115:     {
1115:     private:
1115:       static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1115: 
1115:       static const uintmax_t __a0 = __static_abs<_Pn>::value % __c;
1115:       static const uintmax_t __a1 = __static_abs<_Pn>::value / __c;
1115:       static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
1115:       static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
1115: 
1115:       static_assert(__a1 == 0 || __b1 == 0,
1115:       "overflow in multiplication");
1115:       static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1),
1115:       "overflow in multiplication");
1115:       static_assert(__b0 * __a0 <= 0x7fffffffffffffffLL,
1115:       "overflow in multiplication");
1115:       static_assert((__a0 * __b1 + __b0 * __a1) * __c
1115:       <= 0x7fffffffffffffffLL - __b0 * __a0,
1115:       "overflow in multiplication");
1115: 
1115:     public:
1115:       static const intmax_t value = _Pn * _Qn;
1115:     };
1115: 
1115: 
1115: 
1115:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1115:     struct __big_less
1115:     : integral_constant<bool, (__hi1 < __hi2
1115:           || (__hi1 == __hi2 && __lo1 < __lo2))>
1115:     { };
1115: 
1115:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1115:     struct __big_add
1115:     {
1115:       static constexpr uintmax_t __lo = __lo1 + __lo2;
1115c_streambuf<_CharT, _Traits>
1434:     {
1434:       struct __xfer_bufptrs;
1434: 
1434: 
1434:       using allocator_traits = std::allocator_traits<_Alloc>;
1434:       using _Noexcept_swap
1434:  = __or_<typename allocator_traits::propagate_on_container_swap,
1434:   typename allocator_traits::is_always_equal>;
1434: 
1434: 
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434:       typedef _Alloc allocator_type;
1434:       typedef typename traits_type::int_type int_type;
1434:       typedef typename traits_type::pos_type pos_type;
1434:       typedef typename traits_type::off_type off_type;
1434: 
1434:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1434:       typedef basic_string<char_type, _Traits, _Alloc> __string_type;
1434:       typedef typename __string_type::size_type __size_type;
1434: 
1434:     protected:
1434: 
1434:       ios_base::openmode _M_mode;
1434: 
1434: 
1434:       __string_type _M_string;
1434: 
1434:     public:
1434: # 114 "/usr/include/c++/12/sstream" 3
1434:       basic_stringbuf()
1434:       : __streambuf_type(), _M_mode(ios_base::in | ios_base::out), _M_string()
1434:       { }
1434: # 125 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_stringbuf(ios_base::openmode __mode)
1434:       : __streambuf_type(), _M_mode(__mode), _M_string()
1434:       { }
1434: # 138 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_stringbuf(const __string_type& __str,
1434:         ios_base::openmode __mode = ios_base::in | ios_base::out)
1434:       : __streambuf_type(), _M_mode(),
1434:  _M_string(__str.data(), __str.size(), __str.get_allocator())
1434:       { _M_stringbuf_init(__mode); }
1434: 
1434: 
1434:       basic_stringbuf(const basic_stringbuf&) = delete;
1434: 
1434:       basic_stringbuf(basic_stringbuf&& __rhs)
1434:       : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this))
1434:       { __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0); }
1434: # 202 "/usr/include/c++/12/sstream" 3
1434:       basic_stringbuf&
1434:       operator=(const basic_stringbuf&) = delete;
1434: 
1434:       basic_stringbuf&
1434:       operator=(basic_stringbuf&& __rhs)
1434:       {
1434:  __xfer_bufptrs __st{__rhs, this};
1434:  const __streambuf_type& __base = __rhs;
1434:  __streambuf_type::operator=(__base);
1434:  this->pubimbue(__rhs.getloc());
1434:  _M_mode = __rhs._M_mode;
1434:  _M_string = std::move(__rhs._M_string);
1434:  __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(basic_stringbuf& __rhs) noexcept(_Noexcept_swap::value)
1434:       {
1434:  __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)};
1434:  __xfer_bufptrs __r_st{__rhs, this};
1434:  __streambuf_type& __base = __rhs;
1434:  __streambuf_type::swap(__base);
1434:  __rhs.pubimbue(this->pubimbue(__rhs.getloc()));
1434:  std::swap(_M_mode, __rhs._M_mode);
1434:  std::swap(_M_string, __rhs._M_string);
1434:       }
1434: # 241 "/usr/include/c++/12/sstream" 3
1434:       __string_type
1434:       str() const
1434:       {
1434:  __string_type __ret(_M_string.get_allocator());
1434:  if (char_type* __hi = _M_high_mark())
1434:    __ret.assign(this->pbase(), __hi);
1434:  else
1434:    __ret = _M_string;
1434:  return __ret;
1434:       }
1434: # 294 "/usr/include/c++/12/sstream" 3
1434:       void
1434:       str(const __string_type& __s)
1434:       {
1434: 
1434: 
1434:  _M_string.assign(__s.data(), __s.size());
1434:  _M_stringbuf_init(_M_mode);
1434:       }
1434: # 323 "/usr/include/c++/12/sstream" 3
1434:     protected:
1434: 
1434:       void
1434:       _M_stringbuf_init(ios_base::openmode __mode)
1434:       {
1434:  _M_mode = __mode;
1434:  __size_type __len = 0;
1434:  if (_M_mode & (ios_base::ate | ios_base::app))
1434:    __len = _M_string.size();
1434:  _M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
1434:       }
1434: 
1434:       virtual streamsize
1434:       showmanyc()
1434:       {
1434:  streamsize __ret = -1;
1434:  if (_M_mode & ios_base::in)
1434:    {
1434:      _M_update_egptr();
1434:      __ret = this->egptr() - this->gptr();
1434:    }
1434:  return __ret;
1434:       }
1434: 
1434:       virtual int_type
1434:       underflow();
1434: 
1434:       virtual int_type
1434:       pbackfail(int_type __c = traits_type::eof());
1434: 
1434:       virtual int_type
1434:       overflow(int_type __c = traits_type::eof());
1434: # 367 "/usr/include/c++/12/sstream" 3
1434:       virtual __streambuf_type*
1434:       setbuf(char_type* __s, streamsize __n)
1434:       {
1434:  if (__s && __n >= 0)
1434:    {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      _M_string.clear();
1434: 
1434: 
1434:      _M_sync(__s, __n, 0);
1434:    }
1434:  return this;
1434:       }
1434: 
1434:       virtual pos_type
1434:       seekoff(off_type __off, ios_base::seekdir __way,
1434:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1434: 
1434:       virtual pos_type
1434:       seekpos(pos_type __sp,
1434:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1434: 
1434: 
1434: 
1434: 
1434:       void
1434:       _M_sync(char_type* __base, __size_type __i, __size_type __o);
1434: 
1434: 
1434: 
1434:       void
1434:       _M_update_egptr()
1434:       {
1434:  if (char_type* __pptr = this->pptr())
1434:    {
1434:      char_type* __egptr = this->egptr();
1434:      if (!__egptr || __pptr > __egptr)
1434:        {
1434:   if (_M_mode & ios_base::in)
1434:     this->setg(this->eback(), this->gptr(), __pptr);
1434:   else
1434:     this->setg(__pptr, __pptr, __pptr);
1434:        }
1434:    }
1434:       }
1434: 
1434: 
1434: 
1434:       void
1434:       _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off);
1434: 
1434:     private:
1434: 
1434: 
1434: 
1434: 
1434:       __attribute__((__always_inline__))
1434:       char_type*
1434:       _M_high_mark() const noexcept
1434:       {
1434:  if (char_type* __pptr = this->pptr())
1434:    {
1434:      char_type* __egptr = this->egptr();
1434:      if (!__egptr || __pptr > __egptr)
1434:        return __pptr;
1434:      else
1434:        return __egptr;
1434:    }
1434:  return 0;
1434:       }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       struct __xfer_bufptrs
1434:       {
1434:  __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to)
1434:  : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1}
1434:  {
1434:    const _CharT* const __str = __from._M_string.data();
1434:    const _CharT* __end = nullptr;
1434:    if (__from.eback())
1434:      {
1434:        _M_goff[0] = __from.eback() - __str;
1434:        _M_goff[1] = __from.gptr() - __str;
1434:        _M_goff[2] = __from.egptr() - __str;
1434:        __end = __from.egptr();
1434:      }
1434:    if (__from.pbase())
1434:      {
1434:        _M_poff[0] = __from.pbase() - __str;
1434:        _M_poff[1] = __from.pptr() - __from.pbase();
1434:        _M_poff[2] = __from.epptr() - __str;
1434:        if (!__end || __from.pptr() > __end)
1434:   __end = __from.pptr();
1434:      }
1434: 
1434: 
1434:    if (__end)
1434:      {
1434: 
1434: 
1434:        auto& __mut_from = const_cast<basic_stringbuf&>(__from);
1434:        __mut_from._M_string._M_length(__end - __str);
1434:      }
1434:  }
1434: 
1434:  ~__xfer_bufptrs()
1434:  {
1434:    char_type* __str = const_cast<char_type*>(_M_to->_M_string.data());
1434:    if (_M_goff[0] != -1)
1434:      _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]);
1434:    if (_M_poff[0] != -1)
1434:      _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]);
1434:  }
1434: 
1434:  basic_stringbuf* _M_to;
1434:  off_type _M_goff[3];
1434:  off_type _M_poff[3];
1434:       };
1434: # 503 "/usr/include/c++/12/sstream" 3
1434:       basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&)
1434:       : __streambuf_type(static_cast<const __streambuf_type&>(__rhs)),
1434:       _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string))
1434:       { }
1434: # 518 "/usr/in_)) __attribute__ ((__gnu_inline__)) const char *
1412: strchr (const char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_strchr (__s, __c);
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++"
1412: {
1412: extern char *strrchr (char *__s, int __c)
1412:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: extern const char *strrchr (const char *__s, int __c)
1412:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1412: strrchr (char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_strrchr (__s, __c);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1412: strrchr (const char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_strrchr (__s, __c);
1412: }
1412: 
1412: }
1412: # 281 "/usr/include/string.h" 3 4
1412: extern "C++" char *strchrnul (char *__s, int __c)
1412:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: extern "C++" const char *strchrnul (const char *__s, int __c)
1412:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: # 293 "/usr/include/string.h" 3 4
1412: extern size_t strcspn (const char *__s, const char *__reject)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern size_t strspn (const char *__s, const char *__accept)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern "C++"
1412: {
1412: extern char *strpbrk (char *__s, const char *__accept)
1412:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: extern const char *strpbrk (const char *__s, const char *__accept)
1412:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1412: strpbrk (char *__s, const char *__accept) noexcept (true)
1412: {
1412:   return __builtin_strpbrk (__s, __accept);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1412: strpbrk (const char *__s, const char *__accept) noexcept (true)
1412: {
1412:   return __builtin_strpbrk (__s, __accept);
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++"
1412: {
1412: extern char *strstr (char *__haystack, const char *__needle)
1412:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: extern const char *strstr (const char *__haystack, const char *__needle)
1412:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1412: strstr (char *__haystack, const char *__needle) noexcept (true)
1412: {
1412:   return __builtin_strstr (__haystack, __needle);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1412: strstr (const char *__haystack, const char *__needle) noexcept (true)
1412: {
1412:   return __builtin_strstr (__haystack, __needle);
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *strtok (char *__restrict __s, const char *__restrict __delim)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1412: 
1412: 
1412: 
1412: extern char *__strtok_r (char *__restrict __s,
1412:     const char *__restrict __delim,
1412:     char **__restrict __save_ptr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1412: 
1412: extern char *st:       static constexpr uintmax_t __hi = (__hi1 + __hi2 +
1115:       (__lo1 + __lo2 < __lo1));
1115:     };
1115: 
1115: 
1115:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
1115:     struct __big_sub
1115:     {
1115:       static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value,
1115:       "Internal library error");
1115:       static constexpr uintmax_t __lo = __lo1 - __lo2;
1115:       static constexpr uintmax_t __hi = (__hi1 - __hi2 -
1115:       (__lo1 < __lo2));
1115:     };
1115: 
1115: 
1115:   template<uintmax_t __x, uintmax_t __y>
1115:     struct __big_mul
1115:     {
1115:     private:
1115:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1115:       static constexpr uintmax_t __x0 = __x % __c;
1115:       static constexpr uintmax_t __x1 = __x / __c;
1115:       static constexpr uintmax_t __y0 = __y % __c;
1115:       static constexpr uintmax_t __y1 = __y / __c;
1115:       static constexpr uintmax_t __x0y0 = __x0 * __y0;
1115:       static constexpr uintmax_t __x0y1 = __x0 * __y1;
1115:       static constexpr uintmax_t __x1y0 = __x1 * __y0;
1115:       static constexpr uintmax_t __x1y1 = __x1 * __y1;
1115:       static constexpr uintmax_t __mix = __x0y1 + __x1y0;
1115:       static constexpr uintmax_t __mix_lo = __mix * __c;
1115:       static constexpr uintmax_t __mix_hi
1115:       = __mix / __c + ((__mix < __x0y1) ? __c : 0);
1115:       typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res;
1115:     public:
1115:       static constexpr uintmax_t __hi = _Res::__hi;
1115:       static constexpr uintmax_t __lo = _Res::__lo;
1115:     };
1115: 
1115: 
1115: 
1115:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1115:     struct __big_div_impl
1115:     {
1115:     private:
1115:       static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)),
1115:       "Internal library error");
1115:       static_assert(__n1 < __d, "Internal library error");
1115:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
1115:       static constexpr uintmax_t __d1 = __d / __c;
1115:       static constexpr uintmax_t __d0 = __d % __c;
1115: 
1115:       static constexpr uintmax_t __q1x = __n1 / __d1;
1115:       static constexpr uintmax_t __r1x = __n1 % __d1;
1115:       static constexpr uintmax_t __m = __q1x * __d0;
1115:       static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c;
1115:       static constexpr uintmax_t __r1z = __r1y + __d;
1115:       static constexpr uintmax_t __r1
1115:       = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m))
1115:   ? (__r1z + __d) : __r1z : __r1y) - __m;
1115:       static constexpr uintmax_t __q1
1115:       = __q1x - ((__r1y < __m)
1115:    ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0);
1115:       static constexpr uintmax_t __q0x = __r1 / __d1;
1115:       static constexpr uintmax_t __r0x = __r1 % __d1;
1115:       static constexpr uintmax_t __n = __q0x * __d0;
1115:       static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c;
1115:       static constexpr uintmax_t __r0z = __r0y + __d;
1115:       static constexpr uintmax_t __r0
1115:       = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n))
1115:   ? (__r0z + __d) : __r0z : __r0y) - __n;
1115:       static constexpr uintmax_t __q0
1115:       = __q0x - ((__r0y < __n) ? ((__r0z >= __d)
1115:       && (__r0z < __n)) ? 2 : 1 : 0);
1115: 
1115:     public:
1115:       static constexpr uintmax_t __quot = __q1 * __c + __q0;
1115:       static constexpr uintmax_t __rem = __r0;
1115: 
1115:     private:
1115:       typedef __big_mul<__quot, __d> _Prod;
1115:       typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum;
1115:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1115:       "Internal library error");
1115:   };
1115: 
1115:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
1115:     struct __big_div
1115:     {
1115:     private:
1115:       static_assert(__d != 0, "Internal library error");
1115:       static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
11clude/c++/12/sstream" 3
1434:     };
1434: # 536 "/usr/include/c++/12/sstream" 3
1434:   template<typename _CharT, typename _Traits, typename _Alloc>
1434:     class basic_istringstream : public basic_istream<_CharT, _Traits>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434:       typedef _Alloc allocator_type;
1434:       typedef typename traits_type::int_type int_type;
1434:       typedef typename traits_type::pos_type pos_type;
1434:       typedef typename traits_type::off_type off_type;
1434: 
1434: 
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1434:       typedef basic_istream<char_type, traits_type> __istream_type;
1434: 
1434:     private:
1434:       __stringbuf_type _M_stringbuf;
1434: 
1434:     public:
1434: # 570 "/usr/include/c++/12/sstream" 3
1434:       basic_istringstream()
1434:       : __istream_type(), _M_stringbuf(ios_base::in)
1434:       { this->init(&_M_stringbuf); }
1434: # 586 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_istringstream(ios_base::openmode __mode)
1434:       : __istream_type(), _M_stringbuf(__mode | ios_base::in)
1434:       { this->init(&_M_stringbuf); }
1434: # 604 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_istringstream(const __string_type& __str,
1434:      ios_base::openmode __mode = ios_base::in)
1434:       : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in)
1434:       { this->init(&_M_stringbuf); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~basic_istringstream()
1434:       { }
1434: 
1434: 
1434:       basic_istringstream(const basic_istringstream&) = delete;
1434: 
1434:       basic_istringstream(basic_istringstream&& __rhs)
1434:       : __istream_type(std::move(__rhs)),
1434:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1434:       { __istream_type::set_rdbuf(&_M_stringbuf); }
1434: # 661 "/usr/include/c++/12/sstream" 3
1434:       basic_istringstream&
1434:       operator=(const basic_istringstream&) = delete;
1434: 
1434:       basic_istringstream&
1434:       operator=(basic_istringstream&& __rhs)
1434:       {
1434:  __istream_type::operator=(std::move(__rhs));
1434:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(basic_istringstream& __rhs)
1434:       {
1434:  __istream_type::swap(__rhs);
1434:  _M_stringbuf.swap(__rhs._M_stringbuf);
1434:       }
1434: # 687 "/usr/include/c++/12/sstream" 3
1434:       __stringbuf_type*
1434:       rdbuf() const
1434:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       __string_type
1434:       str() const
1434:       { return _M_stringbuf.str(); }
1434: # 722 "/usr/include/c++/12/sstream" 3
1434:       void
1434:       str(const __string_type& __s)
1434:       { _M_stringbuf.str(__s); }
1434: # 739 "/usr/include/c++/12/sstream" 3
1434:     };
1434: # 757 "/usr/include/c++/12/sstream" 3
1434:   template <typename _CharT, typename _Traits, typename _Alloc>
1434:     class basic_ostringstream : public basic_ostream<_CharT, _Traits>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434:       typedef _Alloc allocator_type;
1434:       typedef typename traits_type::int_type int_type;
1434:       typedef typename traits_type::pos_type pos_type;
1434:       typedef typename traits_type::off_type off_type;
1434: 
1434: 
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1434:       typedef basic_ostream<char_type, traits_type> __ostream_type;
1434: 
1434:     private:
1434:       __stringbuf_type _M_stringbuf;
1434: 
1434:     public:
1434: # 791 "/usr/include/c++/12/sstream" 3
1434:       basic_ostringstream()
1434:       : __ostream_type(), _M_stringbuf(ios_base::out)
1434:       { this->init(&_M_stringbuf); }
1434: # 807 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_ostringstream(ios_base::openmode __mode)
1434:       : __ostream_type(), _M_stringbuf(__mode | ios_base::out)
1434:       { this->init(&_M_stringbuf); }
1434: # 825 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_ostringstream(const __string_type& __str,
1434:      ios_base::openmode __mode = ios_base::out)
1434:       : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out)
1434:       { this->init(&_M_stringbuf); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~basic_ostringstream()
1434:       { }
1434: 
1434: 
1434:       basic_ostringstream(const basic_ostringstream&) = delete;
1434: 
1434:       basic_ostringstream(basic_ostringstream&& __rhs)
1434:       : __ostream_type(std::move(__rhs)),
1434:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1434:       { __ostream_type::set_rdbuf(&_M_stringbuf); }
1434: # 882 "/usr/include/c++/12/sstream" 3
1434:       basic_ostringstream&
1434:       operator=(const basic_ostringstream&) = delete;
1434: 
1434:       basic_ostringstream&
1434:       operator=(basic_ostringstream&& __rhs)
1434:       {
1434:  __ostream_type::operator=(std::move(__rhs));
1434:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(basic_ostringstream& __rhs)
1434:       {
1434:  __ostream_type::swap(__rhs);
1434:  _M_stringbuf.swap(__rhs._M_stringbuf);
1434:       }
1434: # 908 "/usr/include/c++/12/sstream" 3
1434:       __stringbuf_type*
1434:       rdbuf() const
1434:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       __string_type
1434:       str() const
1434:       { return _M_stringbuf.str(); }
1434: # 943 "/usr/include/c++/12/sstream" 3
1434:       void
1434:       str(const __string_type& __s)
1434:       { _M_stringbuf.str(__s); }
1434: # 960 "/usr/include/c++/12/sstream" 3
1434:     };
1434: # 978 "/usr/include/c++/12/sstream" 3
1434:   template <typename _CharT, typename _Traits, typename _Alloc>
1434:     class basic_stringstream : public basic_iostream<_CharT, _Traits>
1434:     {
1434:     public:
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434: 
1434: 
1434:       typedef _Alloc allocator_type;
1434:       typedef typename traits_type::int_type int_type;
1434:       typedef typename traits_type::pos_type pos_type;
1434:       typedef typename traits_type::off_type off_type;
1434: 
1434: 
1434:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1434:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1434:       typedef basic_iostream<char_type, traits_type> __iostream_type;
1434: 
1434:     private:
1434:       __stringbuf_type _M_stringbuf;
1434: 
1434:     public:
1434: # 1012 "/usr/include/c++/12/sstream" 3
1434:       basic_stringstream()
1434:       : __iostream_type(), _M_stringbuf(ios_base::out | ios_base::in)
1434:       { this->init(&_M_stringbuf); }
1434: # 1026 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_stringstream(ios_base::openmode __m)
1434:       : __iostream_type(), _M_stringbuf(__m)
1434:       { this->init(&_M_stringbuf); }
1434: # 1042 "/usr/include/c++/12/sstream" 3
1434:       explicit
1434:       basic_stringstream(const __string_type& __str,
1434:     ios_base::openmode __m = ios_base::out | ios_base::in)
1434:       : __iostream_type(), _M_stringbuf(__str, __m)
1434:       { this->init(&_M_stringbuf); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       ~basic_stringstream()
1434:       { }
1434: 
1434: 
1434:       basic_stringstream(const basic_stringstream&) = delete;
1434: 
1434:       basic_stringstream(basic_stringstream&& __rhs)
1434:       : __iostream_type(std::move(__rhs)),
1434:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1434:       { __iostream_type::set_rdbuf(&_M_stringbuf); }
1434: # 1101 "/usr/include/c++/1rtok_r (char *__restrict __s, const char *__restrict __delim,
1412:          char **__restrict __save_ptr)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" char *strcasestr (char *__haystack, const char *__needle)
1412:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: extern "C++" const char *strcasestr (const char *__haystack,
1412:          const char *__needle)
1412:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: # 389 "/usr/include/string.h" 3 4
1412: extern void *memmem (const void *__haystack, size_t __haystacklen,
1412:        const void *__needle, size_t __needlelen)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)))
1412:     __attribute__ ((__access__ (__read_only__, 1, 2)))
1412:     __attribute__ ((__access__ (__read_only__, 3, 4)));
1412: 
1412: 
1412: 
1412: extern void *__mempcpy (void *__restrict __dest,
1412:    const void *__restrict __src, size_t __n)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: extern void *mempcpy (void *__restrict __dest,
1412:         const void *__restrict __src, size_t __n)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: extern size_t strlen (const char *__s)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern size_t strnlen (const char *__string, size_t __maxlen)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: 
1412: extern char *strerror (int __errnum) noexcept (true);
1412: # 444 "/usr/include/string.h" 3 4
1412: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
1412:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1412: 
1412: 
1412: 
1412: 
1412: extern const char *strerrordesc_np (int __err) noexcept (true);
1412: 
1412: extern const char *strerrorname_np (int __err) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern char *strerror_l (int __errnum, locale_t __l) noexcept (true);
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/strings.h" 1 3 4
1412: # 23 "/usr/include/strings.h" 3 4
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 24 "/usr/include/strings.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: extern int bcmp (const void *__s1, const void *__s2, size_t __n)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern void bcopy (const void *__src, void *__dest, size_t __n)
1412:   noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern void bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: 
1412: extern "C++"
1412: {
1412: extern char *index (char *__s, int __c)
1412:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: extern const char *index (const char *__s, int __c)
1412:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1412: index (char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_index (__s, __c);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1412: index (const char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_index (__s, __c);
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++"
1412: {
1412: extern char *rindex (char *__s, int __c)
1412:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attrib2/sstream" 3
1434:       basic_stringstream&
1434:       operator=(const basic_stringstream&) = delete;
1434: 
1434:       basic_stringstream&
1434:       operator=(basic_stringstream&& __rhs)
1434:       {
1434:  __iostream_type::operator=(std::move(__rhs));
1434:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1434:  return *this;
1434:       }
1434: 
1434:       void
1434:       swap(basic_stringstream& __rhs)
1434:       {
1434:  __iostream_type::swap(__rhs);
1434:  _M_stringbuf.swap(__rhs._M_stringbuf);
1434:       }
1434: # 1127 "/usr/include/c++/12/sstream" 3
1434:       __stringbuf_type*
1434:       rdbuf() const
1434:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       __string_type
1434:       str() const
1434:       { return _M_stringbuf.str(); }
1434: # 1162 "/usr/include/c++/12/sstream" 3
1434:       void
1434:       str(const __string_type& __s)
1434:       { _M_stringbuf.str(__s); }
1434: # 1179 "/usr/include/c++/12/sstream" 3
1434:     };
1434: 
1434: 
1434: 
1434:   template <class _CharT, class _Traits, class _Allocator>
1434:     inline void
1434:     swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
1434:   basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
1434:     noexcept(noexcept(__x.swap(__y)))
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   template <class _CharT, class _Traits, class _Allocator>
1434:     inline void
1434:     swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
1434:   basic_istringstream<_CharT, _Traits, _Allocator>& __y)
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   template <class _CharT, class _Traits, class _Allocator>
1434:     inline void
1434:     swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
1434:   basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
1434:     { __x.swap(__y); }
1434: 
1434: 
1434:   template <class _CharT, class _Traits, class _Allocator>
1434:     inline void
1434:     swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
1434:   basic_stringstream<_CharT, _Traits, _Allocator>& __y)
1434:     { __x.swap(__y); }
1434: 
1434: 
1434: }
1434: 
1434: }
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/sstream.tcc" 1 3
1434: # 37 "/usr/include/c++/12/bits/sstream.tcc" 3
1434:        
1434: # 38 "/usr/include/c++/12/bits/sstream.tcc" 3
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   template <class _CharT, class _Traits, class _Alloc>
1434:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1434:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1434:     pbackfail(int_type __c)
1434:     {
1434:       int_type __ret = traits_type::eof();
1434:       if (this->eback() < this->gptr())
1434:  {
1434: 
1434: 
1434:    const bool __testeof = traits_type::eq_int_type(__c, __ret);
1434:    if (!__testeof)
1434:      {
1434:        const bool __testeq = traits_type::eq(traits_type::
1434:           to_char_type(__c),
1434:           this->gptr()[-1]);
1434:        const bool __testout = this->_M_mode & ios_base::out;
1434:        if (__testeq || __testout)
1434:   {
1434:     this->gbump(-1);
1434:     if (!__testeq)
1434:       *this->gptr() = traits_type::to_char_type(__c);
1434:     __ret = __c;
1434:   }
1434:      }
1434:    else
1434:      {
1434:        this->gbump(-1);
1434:        __ret = traits_type::not_eof(__c);
1434:      }
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template <class _CharT, class _Traits, class _Alloc>
1434:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1434:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1434:     overflow(int_type __c)
1434:     {
1434:       const bool __testout = this->_M_mode & ios_base::out;
1434:       if (__builtin_expect(!__testout, false))
1434:  return traits_type::eof();
1434: 
1434:       const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
1434:       if (__builtin_expect(__testeof, false))
1434:  return traits_type::not_eof(__c);
1434: 
1434:       const __size_type __capacity 15:       "This library calls __builtin_clzll on uintmax_t, which "
1115:       "is unsafe on your platform. Please complain to "
1115:       "http://gcc.gnu.org/bugzilla/");
1115:       static constexpr int __shift = __builtin_clzll(__d);
1115:       static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
1115:       static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;
1115:       static constexpr uintmax_t __c1 = uintmax_t(1) << __shift;
1115:       static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift;
1115:       static constexpr uintmax_t __new_d = __d * __c1;
1115:       static constexpr uintmax_t __new_n0 = __n0 * __c1;
1115:       static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1;
1115:       static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0;
1115:       static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top;
1115:       typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res;
1115: 
1115:     public:
1115:       static constexpr uintmax_t __quot_hi = __n1 / __d;
1115:       static constexpr uintmax_t __quot_lo = _Res::__quot;
1115:       static constexpr uintmax_t __rem = _Res::__rem / __c1;
1115: 
1115:     private:
1115:       typedef __big_mul<__quot_lo, __d> _P0;
1115:       typedef __big_mul<__quot_hi, __d> _P1;
1115:       typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum;
1115: 
1115:       static_assert(_P1::__hi == 0, "Internal library error");
1115:       static_assert(_Sum::__hi >= _P0::__hi, "Internal library error");
1115: 
1115:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
1115:       "Internal library error");
1115:       static_assert(__rem < __d, "Internal library error");
1115:     };
1115: # 265 "/usr/include/c++/12/ratio" 3
1115:   template<intmax_t _Num, intmax_t _Den = 1>
1115:     struct ratio
1115:     {
1115:       static_assert(_Den != 0, "denominator cannot be zero");
1115:       static_assert(_Num >= -0x7fffffffffffffffLL && _Den >= -0x7fffffffffffffffLL,
1115:       "out of range");
1115: 
1115: 
1115:       static constexpr intmax_t num =
1115:         _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value;
1115: 
1115:       static constexpr intmax_t den =
1115:         __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value;
1115: 
1115:       typedef ratio<num, den> type;
1115:     };
1115: # 292 "/usr/include/c++/12/ratio" 3
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_multiply
1115:     {
1115:     private:
1115:       static const intmax_t __gcd1 =
1115:         __static_gcd<_R1::num, _R2::den>::value;
1115:       static const intmax_t __gcd2 =
1115:         __static_gcd<_R2::num, _R1::den>::value;
1115: 
1115:     public:
1115:       typedef ratio<
1115:         __safe_multiply<(_R1::num / __gcd1),
1115:                         (_R2::num / __gcd2)>::value,
1115:         __safe_multiply<(_R1::den / __gcd2),
1115:                         (_R2::den / __gcd1)>::value> type;
1115: 
1115:       static constexpr intmax_t num = type::num;
1115:       static constexpr intmax_t den = type::den;
1115:     };
1115: # 323 "/usr/include/c++/12/ratio" 3
1115:   template<typename _R1, typename _R2>
1115:     using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type;
1115: 
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_divide
1115:     {
1115:       static_assert(_R2::num != 0, "division by 0");
1115: 
1115:       typedef typename __ratio_multiply<
1115:         _R1,
1115:         ratio<_R2::den, _R2::num>>::type type;
1115: 
1115:       static constexpr intmax_t num = type::num;
1115:       static constexpr intmax_t den = type::den;
1115:     };
1115: # 352 "/usr/include/c++/12/ratio" 3
1115:   template<typename _R1, typename _R2>
1115:     using ratio_divide = typename __ratio_divide<_R1, _R2>::type;
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct ratio_equal
1115:     : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
1115:     { };
1115: 
1115: 
1115:   ute__ ((__nonnull__ (1)));
1412: extern const char *rindex (const char *__s, int __c)
1412:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1412: rindex (char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_rindex (__s, __c);
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1412: rindex (const char *__s, int __c) noexcept (true)
1412: {
1412:   return __builtin_rindex (__s, __c);
1412: }
1412: 
1412: }
1412: # 104 "/usr/include/strings.h" 3 4
1412: extern int ffs (int __i) noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int ffsl (long int __l) noexcept (true) __attribute__ ((__const__));
1412: __extension__ extern int ffsll (long long int __ll)
1412:      noexcept (true) __attribute__ ((__const__));
1412: 
1412: 
1412: 
1412: extern int strcasecmp (const char *__s1, const char *__s2)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1412: 
1412: 
1412: 
1412: extern int strncasecmp_l (const char *__s1, const char *__s2,
1412:      size_t __n, locale_t __loc)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
1412: 
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 1 3 4
1412: # 22 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 3 4
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1412: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) noexcept (true)
1412: {
1412:   (void) __builtin___memmove_chk (__dest, __src, __len,
1412:       __builtin_object_size (__dest, 0));
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1412: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) noexcept (true)
1412: {
1412:   (void) __builtin___memset_chk (__dest, '\0', __len,
1412:      __builtin_object_size (__dest, 0));
1412: }
1412: # 145 "/usr/include/strings.h" 2 3 4
1412: # 463 "/usr/include/string.h" 2 3 4
1412: 
1412: 
1412: 
1412: extern void explicit_bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1412:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: 
1412: 
1412: 
1412: extern char *strsep (char **__restrict __stringp,
1412:        const char *__restrict __delim)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: extern char *strsignal (int __sig) noexcept (true);
1412: 
1412: 
1412: 
1412: extern const char *sigabbrev_np (int __sig) noexcept (true);
1412: 
1412: 
1412: extern const char *sigdescr_np (int __sig) noexcept (true);
1412: 
1412: 
1412: 
1412: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: extern char *__stpncpy (char *__restrict __dest,
1412:    const char *__restrict __src, size_t __n)
1412:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1412: extern char *stpncpy (char *__restrict __dest,
1412:         const char *__restrict __src, size_t __n)
1412:      noexcept (true) __attribute__ ((= _M_string.capacity();
1434: 
1434: 
1434:       if (size_t(this->epptr() - this->pbase()) < __capacity)
1434:  {
1434: 
1434:    char_type* __base = const_cast<char_type*>(_M_string.data());
1434:    _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase());
1434:    if (_M_mode & ios_base::in)
1434:      {
1434:        const __size_type __nget = this->gptr() - this->eback();
1434:        const __size_type __eget = this->egptr() - this->eback();
1434:        this->setg(__base, __base + __nget, __base + __eget + 1);
1434:      }
1434:    *this->pptr() = traits_type::to_char_type(__c);
1434:    this->pbump(1);
1434:    return __c;
1434:  }
1434: 
1434: 
1434:       const __size_type __max_size = _M_string.max_size();
1434:       const bool __testput = this->pptr() < this->epptr();
1434:       if (__builtin_expect(!__testput && __capacity == __max_size, false))
1434:  return traits_type::eof();
1434: 
1434: 
1434: 
1434:       const char_type __conv = traits_type::to_char_type(__c);
1434:       if (!__testput)
1434:  {
1434: # 129 "/usr/include/c++/12/bits/sstream.tcc" 3
1434:    const __size_type __opt_len = std::max(__size_type(2 * __capacity),
1434:        __size_type(512));
1434:    const __size_type __len = std::min(__opt_len, __max_size);
1434:    __string_type __tmp(_M_string.get_allocator());
1434:    __tmp.reserve(__len);
1434:    if (this->pbase())
1434:      __tmp.assign(this->pbase(), this->epptr() - this->pbase());
1434:    __tmp.push_back(__conv);
1434:    _M_string.swap(__tmp);
1434:    _M_sync(const_cast<char_type*>(_M_string.data()),
1434:     this->gptr() - this->eback(), this->pptr() - this->pbase());
1434:  }
1434:       else
1434:  *this->pptr() = __conv;
1434:       this->pbump(1);
1434:       return __c;
1434:     }
1434: 
1434:   template <class _CharT, class _Traits, class _Alloc>
1434:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1434:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1434:     underflow()
1434:     {
1434:       int_type __ret = traits_type::eof();
1434:       const bool __testin = this->_M_mode & ios_base::in;
1434:       if (__testin)
1434:  {
1434: 
1434:    _M_update_egptr();
1434: 
1434:    if (this->gptr() < this->egptr())
1434:      __ret = traits_type::to_int_type(*this->gptr());
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template <class _CharT, class _Traits, class _Alloc>
1434:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1434:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1434:     seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode)
1434:     {
1434:       pos_type __ret = pos_type(off_type(-1));
1434:       bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1434:       bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1434:       const bool __testboth = __testin && __testout && __way != ios_base::cur;
1434:       __testin &= !(__mode & ios_base::out);
1434:       __testout &= !(__mode & ios_base::in);
1434: 
1434: 
1434: 
1434:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1434:       if ((__beg || !__off) && (__testin || __testout || __testboth))
1434:  {
1434:    _M_update_egptr();
1434: 
1434:    off_type __newoffi = __off;
1434:    off_type __newoffo = __newoffi;
1434:    if (__way == ios_base::cur)
1434:      {
1434:        __newoffi += this->gptr() - __beg;
1434:        __newoffo += this->pptr() - __beg;
1434:      }
1434:    else if (__way == ios_base::end)
1434:      __newoffo = __newoffi += this->egptr() - __beg;
1434: 
1434:    if ((__testin || __testboth)
1434:        && __newoffi >= 0
1434:        && this->egptr() - __beg >= __newoffi)
1434:      {
1434:        this->setg(this->eback(), this->eback() + __newoffi,
1434:     this->egptr());
1434:        __ret = pos_type(__newoffi);
1434:      }
1434:    if ((__testout || __testboth)
1434:        && __newoffo >= 0
1434:        && this->egptr() - __beg >= __newoffo)
1434:      {
1434:        _M_pbump(this->pbase(), this->epptr(), __newoffo);
1434:        __ret = pos_type(__newoffo);
1434:      }
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template <class _CharT, class _Traits, class _Alloc>
1434:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1434:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1434:     seekpos(pos_type __sp, ios_base::openmode __mode)
1434:     {
1434:       pos_type __ret = pos_type(off_type(-1));
1434:       const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1434:       const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1434: 
1434:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1434:       if ((__beg || !off_type(__sp)) && (__testin || __testout))
1434:  {
1434:    _M_update_egptr();
1434: 
1434:    const off_type __pos(__sp);
1434:    const bool __testpos = (0 <= __pos
1434:       && __pos <= this->egptr() - __beg);
1434:    if (__testpos)
1434:      {
1434:        if (__testin)
1434:   this->setg(this->eback(), this->eback() + __pos,
1434:       this->egptr());
1434:        if (__testout)
1434:   _M_pbump(this->pbase(), this->epptr(), __pos);
1434:        __ret = __sp;
1434:      }
1434:  }
1434:       return __ret;
1434:     }
1434: 
1434:   template <class _CharT, class _Traits, class _Alloc>
1434:     void
1434:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1434:     _M_sync(char_type* __base, __size_type __i, __size_type __o)
1434:     {
1434:       const bool __testin = _M_mode & ios_base::in;
1434:       const bool __testout = _M_mode & ios_base::out;
1434:       char_type* __endg = __base + _M_string.size();
1434:       char_type* __endp = __base + _M_string.capacity();
1434: 
1434:       if (__base != _M_string.data())
1434:  {
1434: 
1434:    __endg += __i;
1434:    __i = 0;
1434:    __endp = __endg;
1434:  }
1434: 
1434:       if (__testin)
1434:  this->setg(__base, __base + __i, __endg);
1434:       if (__testout)
1434:  {
1434:    _M_pbump(__base, __endp, __o);
1434: 
1434: 
1434: 
1434:    if (!__testin)
1434:      this->setg(__endg, __endg, __endg);
1434:  }
1434:     }
1434: 
1434:   template <class _CharT, class _Traits, class _Alloc>
1434:     void
1434:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1434:     _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off)
1434:     {
1434:       this->setp(__pbeg, __pend);
1434:       while (__off > __gnu_cxx::__numeric_traits<int>::__max)
1434:  {
1434:    this->pbump(__gnu_cxx::__numeric_traits<int>::__max);
1434:    __off -= __gnu_cxx::__numeric_traits<int>::__max;
1434:  }
1434:       this->pbump(__off);
1434:     }
1434: 
1434: 
1434: 
1434: 
1434:   extern template class basic_stringbuf<char>;
1434:   extern template class basic_istringstream<char>;
1434:   extern template class basic_ostringstream<char>;
1434:   extern template class basic_stringstream<char>;
1434: 
1434: 
1434:   extern template class basic_stringbuf<wchar_t>;
1434:   extern template class basic_istringstream<wchar_t>;
1434:   extern template class basic_ostringstream<wchar_t>;
1434:   extern template class basic_stringstream<wchar_t>;
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 1219 "/usr/include/c++/12/sstream" 2 3
1434: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h"
1434:        
1434: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h"
1434: 
1434: # 44 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TimeFormat.h"
1434: enum TIME_FORMAT
1434: {
1434:   TIME_FORMAT_GUESS = 0,
1434:   TIME_FORMAT_SS = 1,
1434:   TIME_FORMAT_MM = 2,
1434:   TIME_FORMAT_MM_SS = 3,
1434:   TIME_FORMAT_HH = 4,
1434:   TIME_FORMAT_HH_SS = 5,
1434:   TIME_FORMAT_HH_MM = 6,
1434:   TIME_FORMAT_HH_MM_SS = 7,
1434:   TIME_FORMAT_XX = 8,
1434:   TIME_FORMAT_HH_MM_XX =
1434:       14,
1434:   TIME_FORMAT_HH_MM_SS_XX =
1434:       15,
1434:   TIME_FORMAT_H = 16,
1434:   TIME_FORMAT_H_MM_SS = 19,
1434:   TIME_FORMAT_H_MM_SS_XX =
1434:template<typename _R1, typename _R2>
1115:     struct ratio_not_equal
1115:     : integral_constant<bool, !ratio_equal<_R1, _R2>::value>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _R1, typename _R2,
1115:            typename _Left = __big_mul<_R1::num,_R2::den>,
1115:            typename _Right = __big_mul<_R2::num,_R1::den> >
1115:     struct __ratio_less_impl_1
1115:     : integral_constant<bool, __big_less<_Left::__hi, _Left::__lo,
1115:            _Right::__hi, _Right::__lo>::value>
1115:     { };
1115: 
1115:   template<typename _R1, typename _R2,
1115:     bool = (_R1::num == 0 || _R2::num == 0
1115:      || (__static_sign<_R1::num>::value
1115:          != __static_sign<_R2::num>::value)),
1115:     bool = (__static_sign<_R1::num>::value == -1
1115:      && __static_sign<_R2::num>::value == -1)>
1115:     struct __ratio_less_impl
1115:     : __ratio_less_impl_1<_R1, _R2>::type
1115:     { };
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_less_impl<_R1, _R2, true, false>
1115:     : integral_constant<bool, _R1::num < _R2::num>
1115:     { };
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_less_impl<_R1, _R2, false, true>
1115:     : __ratio_less_impl_1<ratio<-_R2::num, _R2::den>,
1115:            ratio<-_R1::num, _R1::den> >::type
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct ratio_less
1115:     : __ratio_less_impl<_R1, _R2>::type
1115:     { };
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct ratio_less_equal
1115:     : integral_constant<bool, !ratio_less<_R2, _R1>::value>
1115:     { };
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct ratio_greater
1115:     : integral_constant<bool, ratio_less<_R2, _R1>::value>
1115:     { };
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct ratio_greater_equal
1115:     : integral_constant<bool, !ratio_less<_R1, _R2>::value>
1115:     { };
1115: 
1115: 
1115:   template <typename _R1, typename _R2>
1115:     inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value;
1115:   template <typename _R1, typename _R2>
1115:     inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value;
1115:   template <typename _R1, typename _R2>
1115:     inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value;
1115:   template <typename _R1, typename _R2>
1115:     inline constexpr bool ratio_less_equal_v =
1115:       ratio_less_equal<_R1, _R2>::value;
1115:   template <typename _R1, typename _R2>
1115:     inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value;
1115:   template <typename _R1, typename _R2>
1115:     inline constexpr bool ratio_greater_equal_v
1115:     = ratio_greater_equal<_R1, _R2>::value;
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _R1, typename _R2,
1115:       bool = (_R1::num >= 0),
1115:       bool = (_R2::num >= 0),
1115:       bool = ratio_less<ratio<__static_abs<_R1::num>::value, _R1::den>,
1115:         ratio<__static_abs<_R2::num>::value, _R2::den> >::value>
1115:     struct __ratio_add_impl
1115:     {
1115:     private:
1115:       typedef typename __ratio_add_impl<
1115:         ratio<-_R1::num, _R1::den>,
1115:         ratio<-_R2::num, _R2::den> >::type __t;
1115:     public:
1115:       typedef ratio<-__t::num, __t::den> type;
1115:     };
1115: 
1115: 
1115:   template<typename _R1, typename _R2, bool __b>
1115:     struct __ratio_add_impl<_R1, _R2, true, true, __b>
1115:     {
1115:     private:
1115:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1115:       static constexpr uintmax_t __d2 = _R2::den / __g;
1115:       typedef __big_mul<_R1::den, __d2> __d;
1115:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1115:       typedef __big_mul<_R2::num, _R1::den / __g> __y;
1115:       typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1115:       static_assert(__n::__hi >= __x::__hi, "Internal library error");
1115:       type       27,
1434:   TIME_FORMAT_SECS = 32,
1434:   TIME_FORMAT_MINS = 64,
1434:   TIME_FORMAT_HOURS = 128,
1434:   TIME_FORMAT_M = 256
1434: };
1434: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/params_check_macros.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/params_check_macros.h"
1434:        
1434: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1434: 
1434: # 1 "/usr/include/fmt/format.h" 1 3 4
1434: # 36 "/usr/include/fmt/format.h" 3 4
1434: # 1 "/usr/include/c++/12/cmath" 1 3 4
1434: # 39 "/usr/include/c++/12/cmath" 3 4
1434:        
1434: # 40 "/usr/include/c++/12/cmath" 3
1434: # 37 "/usr/include/fmt/format.h" 2 3 4
1434: 
1434: # 1 "/usr/include/c++/12/cstring" 1 3 4
1434: # 39 "/usr/include/c++/12/cstring" 3 4
1434:        
1434: # 40 "/usr/include/c++/12/cstring" 3
1434: # 71 "/usr/include/c++/12/cstring" 3
1434: 
1434: # 71 "/usr/include/c++/12/cstring" 3
1434: extern "C++"
1434: {
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434:   using ::memchr;
1434:   using ::memcmp;
1434:   using ::memcpy;
1434:   using ::memmove;
1434:   using ::memset;
1434:   using ::strcat;
1434:   using ::strcmp;
1434:   using ::strcoll;
1434:   using ::strcpy;
1434:   using ::strcspn;
1434:   using ::strerror;
1434:   using ::strlen;
1434:   using ::strncat;
1434:   using ::strncmp;
1434:   using ::strncpy;
1434:   using ::strspn;
1434:   using ::strtok;
1434:   using ::strxfrm;
1434:   using ::strchr;
1434:   using ::strpbrk;
1434:   using ::strrchr;
1434:   using ::strstr;
1434: # 122 "/usr/include/c++/12/cstring" 3
1434: 
1434: }
1434: }
1434: # 39 "/usr/include/fmt/format.h" 2 3 4
1434: # 48 "/usr/include/fmt/format.h" 3 4
1434: # 1 "/usr/include/fmt/core.h" 1 3 4
1434: # 11 "/usr/include/fmt/core.h" 3 4
1434: # 1 "/usr/include/c++/12/cstddef" 1 3 4
1434: # 42 "/usr/include/c++/12/cstddef" 3 4
1434:        
1434: # 43 "/usr/include/c++/12/cstddef" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1434: # 51 "/usr/include/c++/12/cstddef" 2 3
1434: 
1434: extern "C++"
1434: {
1434: 
1434: namespace std
1434: {
1434: 
1434:   using ::max_align_t;
1434: }
1434: 
1434: 
1434: 
1434: namespace std
1434: {
1434: 
1434: 
1434: 
1434: 
1434:   enum class byte : unsigned char {};
1434: 
1434:   template<typename _IntegerType> struct __byte_operand { };
1434:   template<> struct __byte_operand<bool> { using __type = byte; };
1434:   template<> struct __byte_operand<char> { using __type = byte; };
1434:   template<> struct __byte_operand<signed char> { using __type = byte; };
1434:   template<> struct __byte_operand<unsigned char> { using __type = byte; };
1434:   template<> struct __byte_operand<wchar_t> { using __type = byte; };
1434: 
1434: 
1434: 
1434:   template<> struct __byte_operand<char16_t> { using __type = byte; };
1434:   template<> struct __byte_operand<char32_t> { using __type = byte; };
1434:   template<> struct __byte_operand<short> { using __type = byte; };
1434:   template<> struct __byte_operand<unsigned short> { using __type = byte; };
1434:   template<> struct __byte_operand<int> { using __type = byte; };
1434:   template<> struct __byte_operand<unsigned int> { using __type = byte; };
1434:   template<> struct __byte_operand<long> { using __type = byte; };
1434:   template<> struct __byte_operand<unsigned long> { using __type = byte; };
1434:   template<> struct __byte_operand<long long> { using __type = byte; };
1434:   template<> struct __byte_operand<unsigned long long> { using __type = byte; };
1434: # 108 "/usr/include/c++/12/cstddef" 3
1434:   template<typename _IntegerType>
1434:     struct __byte_operand<const _IntegerType>
1434:     : __byte_operand<_IntegerType> { };
1434:   template<typename _IntegerType>
1434:     struct __byte_operand<volatile _IntegerType>
1434:     : __byte_operand<_IntegerType> { };
1434:   template<typename _IntegerType>
1434:     struct __byte_operand<const __nonnull__ (1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: extern int strverscmp (const char *__s1, const char *__s2)
1412:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1412: 
1412: 
1412: extern char *strfry (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1412: 
1412: 
1412: extern void *memfrob (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1412:     __attribute__ ((__access__ (__read_write__, 1, 2)));
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C++" char *basename (char *__filename)
1412:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1412: extern "C++" const char *basename (const char *__filename)
1412:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1412: # 535 "/usr/include/string.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 1 3 4
1412: # 25 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1412: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1412: 
1412: {
1412:   return __builtin___memcpy_chk (__dest, __src, __len,
1412:      __builtin_object_size (__dest, 0));
1412: }
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1412: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) noexcept (true)
1412: {
1412:   return __builtin___memmove_chk (__dest, __src, __len,
1412:       __builtin_object_size (__dest, 0));
1412: }
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1412: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1412: 
1412: {
1412:   return __builtin___mempcpy_chk (__dest, __src, __len,
1412:       __builtin_object_size (__dest, 0));
1412: }
1412: # 56 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1412: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) noexcept (true)
1412: {
1412:   return __builtin___memset_chk (__dest, __ch, __len,
1412:      __builtin_object_size (__dest, 0));
1412: }
1412: 
1412: 
1412: 
1412: 
1412: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
1412:   noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1412: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) noexcept (true)
1412: {
1412:   __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0));
1412: }
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1412: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1412: {
1412:   return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1412: }
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1412: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1412: {
1412:   return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1412: }
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1412: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, convolatile _IntegerType>
1434:     : __byte_operand<_IntegerType> { };
1434: 
1434:   template<typename _IntegerType>
1434:     using __byte_op_t = typename __byte_operand<_IntegerType>::__type;
1434: 
1434:   template<typename _IntegerType>
1434:     constexpr __byte_op_t<_IntegerType>
1434:     operator<<(byte __b, _IntegerType __shift) noexcept
1434:     { return (byte)(unsigned char)((unsigned)__b << __shift); }
1434: 
1434:   template<typename _IntegerType>
1434:     constexpr __byte_op_t<_IntegerType>
1434:     operator>>(byte __b, _IntegerType __shift) noexcept
1434:     { return (byte)(unsigned char)((unsigned)__b >> __shift); }
1434: 
1434:   constexpr byte
1434:   operator|(byte __l, byte __r) noexcept
1434:   { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); }
1434: 
1434:   constexpr byte
1434:   operator&(byte __l, byte __r) noexcept
1434:   { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); }
1434: 
1434:   constexpr byte
1434:   operator^(byte __l, byte __r) noexcept
1434:   { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); }
1434: 
1434:   constexpr byte
1434:   operator~(byte __b) noexcept
1434:   { return (byte)(unsigned char)~(unsigned)__b; }
1434: 
1434:   template<typename _IntegerType>
1434:     constexpr __byte_op_t<_IntegerType>&
1434:     operator<<=(byte& __b, _IntegerType __shift) noexcept
1434:     { return __b = __b << __shift; }
1434: 
1434:   template<typename _IntegerType>
1434:     constexpr __byte_op_t<_IntegerType>&
1434:     operator>>=(byte& __b, _IntegerType __shift) noexcept
1434:     { return __b = __b >> __shift; }
1434: 
1434:   constexpr byte&
1434:   operator|=(byte& __l, byte __r) noexcept
1434:   { return __l = __l | __r; }
1434: 
1434:   constexpr byte&
1434:   operator&=(byte& __l, byte __r) noexcept
1434:   { return __l = __l & __r; }
1434: 
1434:   constexpr byte&
1434:   operator^=(byte& __l, byte __r) noexcept
1434:   { return __l = __l ^ __r; }
1434: 
1434:   template<typename _IntegerType>
1434:     [[nodiscard]]
1434:     constexpr _IntegerType
1434:     to_integer(__byte_op_t<_IntegerType> __b) noexcept
1434:     { return _IntegerType(__b); }
1434: 
1434: 
1434: }
1434: 
1434: }
1434: # 12 "/usr/include/fmt/core.h" 2 3 4
1434: # 1 "/usr/include/c++/12/cstdio" 1 3 4
1434: # 39 "/usr/include/c++/12/cstdio" 3 4
1434:        
1434: # 40 "/usr/include/c++/12/cstdio" 3
1434: # 13 "/usr/include/fmt/core.h" 2 3 4
1434: # 1 "/usr/include/c++/12/cstring" 1 3 4
1434: # 39 "/usr/include/c++/12/cstring" 3 4
1434:        
1434: # 40 "/usr/include/c++/12/cstring" 3
1434: # 14 "/usr/include/fmt/core.h" 2 3 4
1434: # 1 "/usr/include/c++/12/iterator" 1 3 4
1434: # 58 "/usr/include/c++/12/iterator" 3 4
1434:        
1434: # 59 "/usr/include/c++/12/iterator" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 1 "/usr/include/c++/12/bits/stream_iterator.h" 1 3
1434: # 33 "/usr/include/c++/12/bits/stream_iterator.h" 3
1434:        
1434: # 34 "/usr/include/c++/12/bits/stream_iterator.h" 3
1434: 
1434: 
1434: 
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: #pragma GCC diagnostic push
1434: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1434: 
1434: 
1434:   template<typename _Tp, typename _CharT = char,
1434:            typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
1434:     class istream_iterator
1434:     : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&>
1434:     {
1434:     public:
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434:       typedef basic_istream<_CharT, _Traits> istream_type;
1434: 
1434:     private:
1434:       istream_type* _M_stream;
1434:       _Tp _M_value;
1434: 
1434: 
1434: 
1434:       bool _M_ok;
1434: 
1434:     public:
1434: 
1434:       constexpr istream_iterator()
1434:       noexcept(is_nothrow_default_constructible<_Tp>::value)
1434:       : _M_stream(0), _M_value(), _M_ok(false) {}
1434: 
1434: 
1434:       istream_iterator(istream_type& __sdef __big_div<__n::__hi, __n::__lo, __g> __ng;
1115:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1115:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1115:       static_assert(__n_final::__rem == 0, "Internal library error");
1115:       static_assert(__n_final::__quot_hi == 0 &&
1115:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1115:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1115:       static_assert(__d_final::__hi == 0 &&
1115:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1115:     public:
1115:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1115:     };
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_add_impl<_R1, _R2, false, true, true>
1115:     : __ratio_add_impl<_R2, _R1>
1115:     { };
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_add_impl<_R1, _R2, true, false, false>
1115:     {
1115:     private:
1115:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
1115:       static constexpr uintmax_t __d2 = _R2::den / __g;
1115:       typedef __big_mul<_R1::den, __d2> __d;
1115:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
1115:       typedef __big_mul<-_R2::num, _R1::den / __g> __y;
1115:       typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
1115:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
1115:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
1115:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
1115:       static_assert(__n_final::__rem == 0, "Internal library error");
1115:       static_assert(__n_final::__quot_hi == 0 &&
1115:         __n_final::__quot_lo <= 0x7fffffffffffffffLL, "overflow in addition");
1115:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
1115:       static_assert(__d_final::__hi == 0 &&
1115:         __d_final::__lo <= 0x7fffffffffffffffLL, "overflow in addition");
1115:     public:
1115:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
1115:     };
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_add
1115:     {
1115:       typedef typename __ratio_add_impl<_R1, _R2>::type type;
1115:       static constexpr intmax_t num = type::num;
1115:       static constexpr intmax_t den = type::den;
1115:     };
1115: # 532 "/usr/include/c++/12/ratio" 3
1115:   template<typename _R1, typename _R2>
1115:     using ratio_add = typename __ratio_add<_R1, _R2>::type;
1115: 
1115: 
1115: 
1115:   template<typename _R1, typename _R2>
1115:     struct __ratio_subtract
1115:     {
1115:       typedef typename __ratio_add<
1115:         _R1,
1115:         ratio<-_R2::num, _R2::den>>::type type;
1115: 
1115:       static constexpr intmax_t num = type::num;
1115:       static constexpr intmax_t den = type::den;
1115:     };
1115: # 559 "/usr/include/c++/12/ratio" 3
1115:   template<typename _R1, typename _R2>
1115:     using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type;
1115: 
1115: 
1115:   typedef ratio<1, 1000000000000000000> atto;
1115:   typedef ratio<1, 1000000000000000> femto;
1115:   typedef ratio<1, 1000000000000> pico;
1115:   typedef ratio<1, 1000000000> nano;
1115:   typedef ratio<1, 1000000> micro;
1115:   typedef ratio<1, 1000> milli;
1115:   typedef ratio<1, 100> centi;
1115:   typedef ratio<1, 10> deci;
1115:   typedef ratio< 10, 1> deca;
1115:   typedef ratio< 100, 1> hecto;
1115:   typedef ratio< 1000, 1> kilo;
1115:   typedef ratio< 1000000, 1> mega;
1115:   typedef ratio< 1000000000, 1> giga;
1115:   typedef ratio< 1000000000000, 1> tera;
1115:   typedef ratio< 1000000000000000, 1> peta;
1115:   typedef ratio< 1000000000000000000, 1> exa;
1115: 
1115: 
1115: 
1115: }
1115: # 38 "/usr/include/c++/12/bits/chrono.h" 2 3
1115: 
1115: # 1 "/usr/include/c++/12/limits" 1 3
1115: # 40 "/usr/include/c++/12/limits" 3
1115:        
1115: # 41 "/usr/include/c++/12/limits" 3
1115: # 158 "/usr/include/c++/12/limits" 3
st char *__restrict __src, size_t __len) noexcept (true)
1412: 
1412: {
1412:   return __builtin___strncpy_chk (__dest, __src, __len,
1412:       __builtin_object_size (__dest, 2 > 1));
1412: }
1412: 
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1412: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) noexcept (true)
1412: {
1412:   return __builtin___stpncpy_chk (__dest, __src, __n,
1412:       __builtin_object_size (__dest, 2 > 1));
1412: }
1412: # 127 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1412: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1412: {
1412:   return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1412: }
1412: 
1412: 
1412: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1412: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
1412: 
1412: {
1412:   return __builtin___strncat_chk (__dest, __src, __len,
1412:       __builtin_object_size (__dest, 2 > 1));
1412: }
1412: # 536 "/usr/include/string.h" 2 3 4
1412: 
1412: 
1412: 
1412: }
1412: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
1412: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1412: 
1412: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1412: class TransformMatrix
1412: {
1412: public:
1412:   TransformMatrix()
1412:   {
1412:     Reset();
1412:   };
1412:   void Reset()
1412:   {
1412:     m[0][0] = 1.0f; m[0][1] = m[0][2] = m[0][3] = 0.0f;
1412:     m[1][0] = m[1][2] = m[1][3] = 0.0f; m[1][1] = 1.0f;
1412:     m[2][0] = m[2][1] = m[2][3] = 0.0f; m[2][2] = 1.0f;
1412:     alpha = red = green = blue = 1.0f;
1412:     identity = true;
1412:   };
1412:   static TransformMatrix CreateTranslation(float transX, float transY, float transZ = 0)
1412:   {
1412:     TransformMatrix translation;
1412:     translation.SetTranslation(transX, transY, transZ);
1412:     return translation;
1412:   }
1412:   void SetTranslation(float transX, float transY, float transZ)
1412:   {
1412:     m[0][1] = m[0][2] = 0.0f; m[0][0] = 1.0f; m[0][3] = transX;
1412:     m[1][0] = m[1][2] = 0.0f; m[1][1] = 1.0f; m[1][3] = transY;
1412:     m[2][0] = m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = transZ;
1412:     alpha = red = green = blue = 1.0f;
1412:     identity = (transX == 0 && transY == 0 && transZ == 0);
1412:   }
1412:   static TransformMatrix CreateScaler(float scaleX, float scaleY, float scaleZ = 1.0f)
1412:   {
1412:     TransformMatrix scaler;
1412:     scaler.m[0][0] = scaleX;
1412:     scaler.m[1][1] = scaleY;
1412:     scaler.m[2][2] = scaleZ;
1412:     scaler.identity = (scaleX == 1 && scaleY == 1 && scaleZ == 1);
1412:     return scaler;
1412:   };
1412:   void SetScaler(float scaleX, float scaleY, float centerX, float centerY)
1412:   {
1412: 
1412:     float centerZ = 0.0f, scaleZ = 1.0f;
1412:     m[0][0] = scaleX; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = centerX*(1-scaleX);
1412:     m[1][0] = 0.0f; m[1][1] = scaleY; m[1][2] = 0.0f; m[1][3] = centerY*(1-scaleY);
1412:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = scaleZ; m[2][3] = centerZ*(1-scaleZ);
1412:     alpha = red = green = blue = 1.0f;
1412:     identity = (scaleX == 1 && scaleY == 1);
1412:   };
1412:   void SetXRotation(float angle, float y, float z, float ar = 1.0f)
1412:   {
1412: 
1412:     float c = cos(angle); float s = sin(angle);
1412:     m[0][0] = ar; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1412:     m[1][0] = 0.0f; m[1][1] = c/ar; m[1][2] = -s/ar; m[1][3] = (-y*c+s*z)/ar + y;
1412:     m[2][0] = 0.0f; m[2][1] = s; m[2][2] = c; m[2][3] = (-y*s-c*z) + z;
1412:     alpha = red = green = blue = 1.0f;
)
1434:       : _M_stream(std::__addressof(__s)), _M_ok(true)
1434:       { _M_read(); }
1434: 
1434:       istream_iterator(const istream_iterator& __obj)
1434:       noexcept(is_nothrow_copy_constructible<_Tp>::value)
1434:       : _M_stream(__obj._M_stream), _M_value(__obj._M_value),
1434:         _M_ok(__obj._M_ok)
1434:       { }
1434: # 94 "/usr/include/c++/12/bits/stream_iterator.h" 3
1434:       istream_iterator& operator=(const istream_iterator&) = default;
1434:       ~istream_iterator() = default;
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       const _Tp&
1434:       operator*() const noexcept
1434:       {
1434: 
1434: 
1434:                         ;
1434:  return _M_value;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       const _Tp*
1434:       operator->() const noexcept
1434:       { return std::__addressof((operator*())); }
1434: 
1434:       istream_iterator&
1434:       operator++()
1434:       {
1434: 
1434: 
1434:                         ;
1434:  _M_read();
1434:  return *this;
1434:       }
1434: 
1434:       istream_iterator
1434:       operator++(int)
1434:       {
1434: 
1434: 
1434:                         ;
1434:  istream_iterator __tmp = *this;
1434:  _M_read();
1434:  return __tmp;
1434:       }
1434: 
1434:     private:
1434:       bool
1434:       _M_equal(const istream_iterator& __x) const noexcept
1434:       {
1434: 
1434: 
1434:  return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream);
1434:       }
1434: 
1434:       void
1434:       _M_read()
1434:       {
1434:         if (_M_stream && !(*_M_stream >> _M_value))
1434:           {
1434:             _M_stream = 0;
1434:             _M_ok = false;
1434:           }
1434:       }
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator==(const istream_iterator& __x, const istream_iterator& __y)
1434:       noexcept
1434:       { return __x._M_equal(__y); }
1434: 
1434: 
1434: 
1434: 
1434:       [[__nodiscard__]]
1434:       friend bool
1434:       operator!=(const istream_iterator& __x, const istream_iterator& __y)
1434:       noexcept
1434:       { return !__x._M_equal(__y); }
1434: # 177 "/usr/include/c++/12/bits/stream_iterator.h" 3
1434:     };
1434: # 190 "/usr/include/c++/12/bits/stream_iterator.h" 3
1434:   template<typename _Tp, typename _CharT = char,
1434:            typename _Traits = char_traits<_CharT> >
1434:     class ostream_iterator
1434:     : public iterator<output_iterator_tag, void, void, void, void>
1434:     {
1434:     public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434:       typedef _CharT char_type;
1434:       typedef _Traits traits_type;
1434:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1434: 
1434: 
1434:     private:
1434:       ostream_type* _M_stream;
1434:       const _CharT* _M_string;
1434: 
1434:     public:
1434: 
1434:       ostream_iterator(ostream_type& __s) noexcept
1434:       : _M_stream(std::__addressof(__s)), _M_string(0) {}
1434: # 225 "/usr/include/c++/12/bits/stream_iterator.h" 3
1434:       ostream_iterator(ostream_type& __s, const _CharT* __c) noexcept
1434:       : _M_stream(std::__addressof(__s)), _M_string(__c) { }
1434: 
1434: 
1434:       ostream_iterator(const ostream_iterator& __obj) noexcept
1434:       : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { }
1434: 
1434: 
1434:       ostream_iterator& operator=(const ostream_iterator&) = default;
1434: 
1434: 
1434: 
1434: 
1434:       ostream_iterator&
1434:       operator=(const _Tp& __value)
1434:       {
1434: 
1434: 
1434:                         ;
1434:  *_M_stream << __value;
1434:  if (_M_string)
1434:           *_M_stream << _M_string;
1434:  return *this;
1434:       }
1434: 
1434:       [[__nodiscard__]]
1434:       ostream_iterator&
1434:       operator*() noexcept
1434:       { return *this; }
1434: 
1434:       ostream_iterator&
1434:       operator++() noexcept
1434:       { return *this; }
1434: 
1434:       ostream_iterator&
1434:       operator++(int) noexcept
1434:       { return *this; }
1434:     };
1434: #pragma GCC diagnostic pop
1434: 
1434: 
1434: 
1434: 
1434: }
1434: # 66 "/usr/include/c++/12/iterator" 2 3
1434: # 15 "/usr/include/fmt/core.h" 2 3 4
1434: # 288 "/usr/include/fmt/core.h" 3 4
1434: 
1434: # 288 "/usr/include/fmt/core.h" 3 4
1434: #pragma GCC push_options
1434: # 288 "/usr/include/fmt/core.h" 3 4
1434: 
1434: 
1434: 
1434: 
1434: 
1434: namespace fmt { inline namespace v9 {
1434: 
1434: 
1434: 
1434: template <bool B, typename T = void>
1434: using enable_if_t = typename std::enable_if<B, T>::type;
1434: template <bool B, typename T, typename F>
1434: using conditional_t = typename std::conditional<B, T, F>::type;
1434: template <bool B> using bool_constant = std::integral_constant<bool, B>;
1434: template <typename T>
1434: using remove_reference_t = typename std::remove_reference<T>::type;
1434: template <typename T>
1434: using remove_const_t = typename std::remove_const<T>::type;
1434: template <typename T>
1434: using remove_cvref_t = typename std::remove_cv<remove_reference_t<T>>::type;
1434: template <typename T> struct type_identity { using type = T; };
1434: template <typename T> using type_identity_t = typename type_identity<T>::type;
1434: template <typename T>
1434: using underlying_t = typename std::underlying_type<T>::type;
1434: 
1434: template <typename...> struct disjunction : std::false_type {};
1434: template <typename P> struct disjunction<P> : P {};
1434: template <typename P1, typename... Pn>
1434: struct disjunction<P1, Pn...>
1434:     : conditional_t<bool(P1::value), P1, disjunction<Pn...>> {};
1434: 
1434: template <typename...> struct conjunction : std::true_type {};
1434: template <typename P> struct conjunction<P> : P {};
1434: template <typename P1, typename... Pn>
1434: struct conjunction<P1, Pn...>
1434:     : conditional_t<bool(P1::value), conjunction<Pn...>, P1> {};
1434: 
1434: struct monostate {
1434:   constexpr monostate() {}
1434: };
1434: # 338 "/usr/include/fmt/core.h" 3 4
1434: namespace detail {
1434: 
1434: 
1434: 
1434: 
1434: template <typename... T> constexpr void ignore_unused(const T&...) {}
1434: 
1434: constexpr inline __attribute__((always_inline)) auto is_constant_evaluated(
1434:     bool default_value = false) noexcept -> bool {
1434: 
1434: 
1434: 
1434: 
1434:   return default_value;
1434: 
1434: }
1434: 
1434: 
1434: template <typename T> constexpr inline __attribute__((always_inline)) auto const_check(T value) -> T {
1434:   return value;
1434: }
1434: 
1434: [[noreturn]] void assert_fail(const char* file, int line,
1434:                                       const char* message);
1434: # 377 "/usr/include/fmt/core.h" 3 4
1434: template <typename Char> using std_string_view = std::basic_string_view<Char>;
1434: # 399 "/usr/include/fmt/core.h" 3 4
1434: enum class int128_opt {};
1434: enum class uint128_opt {};
1434: 
1434: template <typename T> auto convert_for_visit(T) -> monostate { return {}; }
1434: 
1434: 
1434: 
1434: template <typename Int>
1434: constexpr auto to_unsigned(Int value) ->
1434:     typename std::make_unsigned<Int>::type {
1434:   ::fmt::detail::ignore_unused((std::is_unsigned<Int>::value || value >= 0), ("negative value"));
1434:   return static_cast<typename std::make_unsigned<Int>::type>(value);
1434: }
1434: 
1434:  constexpr unsigned char micro[] = "\u00B5";
1434: 
1434: constexpr auto is_utf8() -> bool {
1434: 
1434:   using uchar = unsigned char;
1434:   return !0 || (sizeof(micro) == 3 && uchar(micro[0]) == 0xC2 &&
1434:                          uchar(micro[1]) == 0xB5);
1434: }
1434: }
1434: # 430 "/usr/include/fmt/core.h" 3 4
1434: template <typename Char> class basic_string_view {
1434:  private:
1434:   const Char* data_;
1434:   size_t size_;
1434: 
1434:  public:
1434:   using value_type = Char;
1434:   using iterator = const Char*;
1434: 
1434:   constexpr basic_string_view() noexcept : data_(nullptr), size_(0) {}
1434: 
1434: 
1434:   constexpr basic_string_view(const Char* s, size_t count) noexcept
1434:       : data_(s), size_(count) {}
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr
1434:   inline __a1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   enum float_round_style
1115:   {
1115:     round_indeterminate = -1,
1115:     round_toward_zero = 0,
1115:     round_to_nearest = 1,
1115:     round_toward_infinity = 2,
1115:     round_toward_neg_infinity = 3
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   enum float_denorm_style
1115:   {
1115: 
1115:     denorm_indeterminate = -1,
1115: 
1115:     denorm_absent = 0,
1115: 
1115:     denorm_present = 1
1115:   };
1115: # 202 "/usr/include/c++/12/limits" 3
1115:   struct __numeric_limits_base
1115:   {
1115: 
1115: 
1115:     static constexpr bool is_specialized = false;
1115: 
1115: 
1115: 
1115: 
1115:     static constexpr int digits = 0;
1115: 
1115: 
1115:     static constexpr int digits10 = 0;
1115: 
1115: 
1115: 
1115: 
1115:     static constexpr int max_digits10 = 0;
1115: 
1115: 
1115: 
1115:     static constexpr bool is_signed = false;
1115: 
1115: 
1115:     static constexpr bool is_integer = false;
1115: 
1115: 
1115: 
1115: 
1115:     static constexpr bool is_exact = false;
1115: 
1115: 
1115: 
1115:     static constexpr int radix = 0;
1115: 
1115: 
1115: 
1115:     static constexpr int min_exponent = 0;
1115: 
1115: 
1115: 
1115:     static constexpr int min_exponent10 = 0;
1115: 
1115: 
1115: 
1115: 
1115:     static constexpr int max_exponent = 0;
1115: 
1115: 
1115: 
1115:     static constexpr int max_exponent10 = 0;
1115: 
1115: 
1115:     static constexpr bool has_infinity = false;
1115: 
1115: 
1115: 
1115:     static constexpr bool has_quiet_NaN = false;
1115: 
1115: 
1115: 
1115:     static constexpr bool has_signaling_NaN = false;
1115: 
1115: 
1115:     static constexpr float_denorm_style has_denorm = denorm_absent;
1115: 
1115: 
1115: 
1115:     static constexpr bool has_denorm_loss = false;
1115: 
1115: 
1115: 
1115:     static constexpr bool is_iec559 = false;
1115: 
1115: 
1115: 
1115: 
1115:     static constexpr bool is_bounded = false;
1115: # 288 "/usr/include/c++/12/limits" 3
1115:     static constexpr bool is_modulo = false;
1115: 
1115: 
1115:     static constexpr bool traps = false;
1115: 
1115: 
1115:     static constexpr bool tinyness_before = false;
1115: 
1115: 
1115: 
1115: 
1115:     static constexpr float_round_style round_style =
1115:           round_toward_zero;
1115:   };
1115: # 311 "/usr/include/c++/12/limits" 3
1115:   template<typename _Tp>
1115:     struct numeric_limits : public __numeric_limits_base
1115:     {
1115: 
1115: 
1115:       static constexpr _Tp
1115:       min() noexcept { return _Tp(); }
1115: 
1115: 
1115:       static constexpr _Tp
1115:       max() noexcept { return _Tp(); }
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr _Tp
1115:       lowest() noexcept { return _Tp(); }
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr _Tp
1115:       epsilon() noexcept { return _Tp(); }
1115: 
1115: 
1115:       static constexpr _Tp
1115:       round_error() noexcept { return _Tp(); }
1115: 
1115: 
1115:       static constexpr _Tp
1115:       infinity() noexcept { return _Tp(); }
1115: 
1115: 
1115: 
1115:       static constexpr _Tp
1115:       quiet_NaN() noexcept { return _Tp(); }
1115: 
1115: 
1115: 
1115:       static constexpr _Tp
1115:       signaling_NaN() noexcept { return _Tp(); }
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr _Tp
1115:       denorm_min() noexcept { return _Tp(); }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct numeric_limits<const _Tp>
1115:     : public numeric_limits<_Tp> { };
1115: 
1115:   template<typename _Tp>
1115:     struct numeric_limits<volatile _Tp>
1115:     : public numeric_limits<_Tp> { };
1115: 
1115:   template<typename _Tp>
1115:     struct numeric_limits<const volatile _Tp>
1115:     : public numeric_limits<_Tp> { };
1115: # 383 "/usr/include/c++/12/limits" 3
1115:   template<>
1115:     struct numeric_limits<bool>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       sta1412:     identity = (angle == 0);
1412:   }
1412:   void SetYRotation(float angle, float x, float z, float ar = 1.0f)
1412:   {
1412: 
1412:     float c = cos(angle); float s = sin(angle);
1412:     m[0][0] = c; m[0][1] = 0.0f; m[0][2] = -s/ar; m[0][3] = -x*c + s*z/ar + x;
1412:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1412:     m[2][0] = ar*s; m[2][1] = 0.0f; m[2][2] = c; m[2][3] = -ar*x*s - c*z + z;
1412:     alpha = red = green = blue = 1.0f;
1412:     identity = (angle == 0);
1412:   }
1412:   static TransformMatrix CreateZRotation(float angle, float x, float y, float ar = 1.0f)
1412:   {
1412: 
1412:     TransformMatrix rot;
1412:     rot.SetZRotation(angle, x, y, ar);
1412:     return rot;
1412:   }
1412:   void SetZRotation(float angle, float x, float y, float ar = 1.0f)
1412:   {
1412: 
1412:     float c = cos(angle); float s = sin(angle);
1412:     m[0][0] = c; m[0][1] = -s/ar; m[0][2] = 0.0f; m[0][3] = -x*c + s*y/ar + x;
1412:     m[1][0] = s*ar; m[1][1] = c; m[1][2] = 0.0f; m[1][3] = -ar*x*s - c*y + y;
1412:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1412:     alpha = red = green = blue = 1.0f;
1412:     identity = (angle == 0);
1412:   }
1412:   static TransformMatrix CreateFader(float a)
1412:   {
1412:     TransformMatrix fader;
1412:     fader.SetFader(a);
1412:     return fader;
1412:   }
1412:   static TransformMatrix CreateFader(float a, float r, float g, float b)
1412:   {
1412:     TransformMatrix fader;
1412:     fader.SetFader(a, r, g, b);
1412:     return fader;
1412:   }
1412:   void SetFader(float a)
1412:   {
1412:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1412:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1412:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1412:     alpha = a;
1412:     red = green = blue = 1.0f;
1412:     identity = (a == 1.0f);
1412:   }
1412: 
1412:   void SetFader(float a, float r, float g, float b)
1412:   {
1412:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1412:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1412:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1412:     alpha = a;
1412:     red = r;
1412:     green = g;
1412:     blue = b;
1412:     identity = ((a == 1.0f) && (r == 1.0f) && (g == 1.0f) && (b == 1.0f));
1412:   }
1412: 
1412: 
1412:   const TransformMatrix &operator *=(const TransformMatrix &right)
1412:   {
1412:     if (right.identity)
1412:       return *this;
1412:     if (identity)
1412:     {
1412:       *this = right;
1412:       return *this;
1412:     }
1412:     float t00 = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1412:     float t01 = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1412:     float t02 = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1412:     m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1412:     m[0][0] = t00; m[0][1] = t01; m[0][2] = t02;
1412:     t00 = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1412:     t01 = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1412:     t02 = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1412:     m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1412:     m[1][0] = t00; m[1][1] = t01; m[1][2] = t02;
1412:     t00 = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1412:     t01 = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1412:     t02 = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1412:     m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1412:     m[2][0] = t00; m[2][1] = t01; m[2][2] = t02;
1412:     alpha *= right.alpha;
1412:     red *= right.red;
1412:     green *= right.green;
14ttribute__((always_inline))
1434:   basic_string_view(const Char* s)
1434:       : data_(s),
1434:         size_(detail::const_check(std::is_same<Char, char>::value &&
1434:                                   !detail::is_constant_evaluated(true))
1434:                   ? std::strlen(reinterpret_cast<const char*>(s))
1434:                   : std::char_traits<Char>::length(s)) {}
1434: 
1434: 
1434:   template <typename Traits, typename Alloc>
1434:   constexpr basic_string_view(
1434:       const std::basic_string<Char, Traits, Alloc>& s) noexcept
1434:       : data_(s.data()), size_(s.size()) {}
1434: 
1434:   template <typename S, enable_if_t<(std::is_same< S, detail::std_string_view<Char>>::value), int> = 0
1434:                                                                                >
1434:   constexpr basic_string_view(S s) noexcept
1434:       : data_(s.data()), size_(s.size()) {}
1434: 
1434: 
1434:   constexpr auto data() const noexcept -> const Char* { return data_; }
1434: 
1434: 
1434:   constexpr auto size() const noexcept -> size_t { return size_; }
1434: 
1434:   constexpr auto begin() const noexcept -> iterator { return data_; }
1434:   constexpr auto end() const noexcept -> iterator { return data_ + size_; }
1434: 
1434:   constexpr auto operator[](size_t pos) const noexcept -> const Char& {
1434:     return data_[pos];
1434:   }
1434: 
1434:   constexpr void remove_prefix(size_t n) noexcept {
1434:     data_ += n;
1434:     size_ -= n;
1434:   }
1434: 
1434: 
1434:   constexpr auto compare(basic_string_view other) const -> int {
1434:     size_t str_size = size_ < other.size_ ? size_ : other.size_;
1434:     int result = std::char_traits<Char>::compare(data_, other.data_, str_size);
1434:     if (result == 0)
1434:       result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
1434:     return result;
1434:   }
1434: 
1434:   constexpr friend auto operator==(basic_string_view lhs,
1434:                                                    basic_string_view rhs)
1434:       -> bool {
1434:     return lhs.compare(rhs) == 0;
1434:   }
1434:   friend auto operator!=(basic_string_view lhs, basic_string_view rhs) -> bool {
1434:     return lhs.compare(rhs) != 0;
1434:   }
1434:   friend auto operator<(basic_string_view lhs, basic_string_view rhs) -> bool {
1434:     return lhs.compare(rhs) < 0;
1434:   }
1434:   friend auto operator<=(basic_string_view lhs, basic_string_view rhs) -> bool {
1434:     return lhs.compare(rhs) <= 0;
1434:   }
1434:   friend auto operator>(basic_string_view lhs, basic_string_view rhs) -> bool {
1434:     return lhs.compare(rhs) > 0;
1434:   }
1434:   friend auto operator>=(basic_string_view lhs, basic_string_view rhs) -> bool {
1434:     return lhs.compare(rhs) >= 0;
1434:   }
1434: };
1434: 
1434: using string_view = basic_string_view<char>;
1434: 
1434: 
1434: template <typename T> struct is_char : std::false_type {};
1434: template <> struct is_char<char> : std::true_type {};
1434: 
1434: namespace detail {
1434: 
1434: 
1434: struct compile_string {};
1434: 
1434: template <typename S>
1434: struct is_compile_string : std::is_base_of<compile_string, S> {};
1434: 
1434: 
1434: template <typename Char, enable_if_t<(is_char<Char>::value), int> = 0>
1434: inline __attribute__((always_inline)) auto to_string_view(const Char* s) -> basic_string_view<Char> {
1434:   return s;
1434: }
1434: template <typename Char, typename Traits, typename Alloc>
1434: inline auto to_string_view(const std::basic_string<Char, Traits, Alloc>& s)
1434:     -> basic_string_view<Char> {
1434:   return s;
1434: }
1434: template <typename Char>
1434: constexpr auto to_string_view(basic_string_view<Char> s)
1434:     -> basic_string_view<Char> {
1434:   return s;
1434: }
1434: template <typename Char,
1434:           enable_if_t<(!std::is_empty<std_string_view<Char>>::value), int> = 0>
1434: inline auto to_string_view(std_string_view<Char> s) -> basic_string_view<Char> {
1434:   return s;
1434: }
1434: template <typename S, enable_if_t<(is_compile_string<S>::value), int> = 0>
1434: constexpr auto to_string_view(const S& s)
1434:     -> basic_string_view<typename S::char_type> {
1434:   return basic_string_view<typename S::char_type>(s);
1434: }
1434: void to_string_view(...);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename S>
1434: struct is_string : std::is_class<decltype(to_string_view(std::declval<S>()))> {
1434: };
1434: 
1434: template <typename S, typename = void> struct char_t_impl {};
1434: template <typename S> struct char_t_impl<S, enable_if_t<is_string<S>::value>> {
1434:   using result = decltype(to_string_view(std::declval<S>()));
1434:   using type = typename result::value_type;
1434: };
1434: 
1434: enum class type {
1434:   none_type,
1434: 
1434:   int_type,
1434:   uint_type,
1434:   long_long_type,
1434:   ulong_long_type,
1434:   int128_type,
1434:   uint128_type,
1434:   bool_type,
1434:   char_type,
1434:   last_integer_type = char_type,
1434: 
1434:   float_type,
1434:   double_type,
1434:   long_double_type,
1434:   last_numeric_type = long_double_type,
1434:   cstring_type,
1434:   string_type,
1434:   pointer_type,
1434:   custom_type
1434: };
1434: 
1434: 
1434: template <typename T, typename Char>
1434: struct type_constant : std::integral_constant<type, type::custom_type> {};
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename Char> struct type_constant<int, Char> : std::integral_constant<type, type::int_type> {};
1434: template <typename Char> struct type_constant<unsigned, Char> : std::integral_constant<type, type::uint_type> {};
1434: template <typename Char> struct type_constant<long long, Char> : std::integral_constant<type, type::long_long_type> {};
1434: template <typename Char> struct type_constant<unsigned long long, Char> : std::integral_constant<type, type::ulong_long_type> {};
1434: template <typename Char> struct type_constant<int128_opt, Char> : std::integral_constant<type, type::int128_type> {};
1434: template <typename Char> struct type_constant<uint128_opt, Char> : std::integral_constant<type, type::uint128_type> {};
1434: template <typename Char> struct type_constant<bool, Char> : std::integral_constant<type, type::bool_type> {};
1434: template <typename Char> struct type_constant<Char, Char> : std::integral_constant<type, type::char_type> {};
1434: template <typename Char> struct type_constant<float, Char> : std::integral_constant<type, type::float_type> {};
1434: template <typename Char> struct type_constant<double, Char> : std::integral_constant<type, type::double_type> {};
1434: template <typename Char> struct type_constant<long double, Char> : std::integral_constant<type, type::long_double_type> {};
1434: template <typename Char> struct type_constant<const Char*, Char> : std::integral_constant<type, type::cstring_type> {};
1434: template <typename Char> struct type_constant<basic_string_view<Char>, Char> : std::integral_constant<type, type::string_type> {};
1434: template <typename Char> struct type_constant<const void*, Char> : std::integral_constant<type, type::pointer_type> {};
1434: 
1434: constexpr bool is_integral_type(type t) {
1434:   return t > type::none_type && t <= type::last_integer_type;
1434: }
1434: 
1434: constexpr bool is_arithmetic_type(type t) {
1434:   return t > type::none_type && t <= type::last_numeric_type;
1434: }
1434: 
1434: [[noreturn]] void throw_format_error(const char* message);
1434: 
1434: struct error_handler {
1434:   constexpr error_handler() = default;
1434:   constexpr error_handler(const error_handler&) = default;
1434: 
1434: 
1434:   [[noreturn]] void on_error(const char* message) {
1434:     throw_format_error(message);
1434:   }
1434: };
1434: }
1434: 
1434: 
1434: template <typename S> using char_t = typename detail::char_t_impl<S>::type;
1434: # 653 "/usr/include/fmt/core.h" 3 4
1434: template <typename Char, typename ErrorHandler = detail::error_handler>
1434: class basic_format_parse_context : private ErrorHandler {
1434:  private:
1434:   basic_string_view<Char> format_str_;
1434:   int next_arg_id_;
1434: 
1434:   constexpr void do_check_arg_id(int id);
1434: 
1434:  public:
1434:  tic constexpr bool
1115:       min() noexcept { return false; }
1115: 
1115:       static constexpr bool
1115:       max() noexcept { return true; }
1115: 
1115: 
1115:       static constexpr bool
1115:       lowest() noexcept { return min(); }
1115: 
1115:       static constexpr int digits = 1;
1115:       static constexpr int digits10 = 0;
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = false;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr bool
1115:       epsilon() noexcept { return false; }
1115: 
1115:       static constexpr bool
1115:       round_error() noexcept { return false; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr bool
1115:       infinity() noexcept { return false; }
1115: 
1115:       static constexpr bool
1115:       quiet_NaN() noexcept { return false; }
1115: 
1115:       static constexpr bool
1115:       signaling_NaN() noexcept { return false; }
1115: 
1115:       static constexpr bool
1115:       denorm_min() noexcept { return false; }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<char>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr char
1115:       min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); }
1115: 
1115:       static constexpr char
1115:       max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); }
1115: 
1115: 
1115:       static constexpr char
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
1115:       static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = ((char)(-1) < 0);
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr char
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr char
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr
1115:       char infinity() noexcept { return char(); }
1115: 
1115:       static constexpr char
1115:   using char_type = Char;
1434:   using iterator = typename basic_string_view<Char>::iterator;
1434: 
1434:   explicit constexpr basic_format_parse_context(
1434:       basic_string_view<Char> format_str, ErrorHandler eh = {},
1434:       int next_arg_id = 0)
1434:       : ErrorHandler(eh), format_str_(format_str), next_arg_id_(next_arg_id) {}
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr auto begin() const noexcept -> iterator {
1434:     return format_str_.begin();
1434:   }
1434: 
1434: 
1434: 
1434: 
1434:   constexpr auto end() const noexcept -> iterator { return format_str_.end(); }
1434: 
1434: 
1434:   constexpr void advance_to(iterator it) {
1434:     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr auto next_arg_id() -> int {
1434:     if (next_arg_id_ < 0) {
1434:       on_error("cannot switch from manual to automatic argument indexing");
1434:       return 0;
1434:     }
1434:     int id = next_arg_id_++;
1434:     do_check_arg_id(id);
1434:     return id;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr void check_arg_id(int id) {
1434:     if (next_arg_id_ > 0) {
1434:       on_error("cannot switch from automatic to manual argument indexing");
1434:       return;
1434:     }
1434:     next_arg_id_ = -1;
1434:     do_check_arg_id(id);
1434:   }
1434:   constexpr void check_arg_id(basic_string_view<Char>) {}
1434:   constexpr void check_dynamic_spec(int arg_id);
1434: 
1434:   constexpr void on_error(const char* message) {
1434:     ErrorHandler::on_error(message);
1434:   }
1434: 
1434:   constexpr auto error_handler() const -> ErrorHandler { return *this; }
1434: };
1434: 
1434: using format_parse_context = basic_format_parse_context<char>;
1434: 
1434: namespace detail {
1434: 
1434: template <typename Char, typename ErrorHandler = detail::error_handler>
1434: class compile_parse_context
1434:     : public basic_format_parse_context<Char, ErrorHandler> {
1434:  private:
1434:   int num_args_;
1434:   const type* types_;
1434:   using base = basic_format_parse_context<Char, ErrorHandler>;
1434: 
1434:  public:
1434:   explicit constexpr compile_parse_context(
1434:       basic_string_view<Char> format_str, int num_args, const type* types,
1434:       ErrorHandler eh = {}, int next_arg_id = 0)
1434:       : base(format_str, eh, next_arg_id), num_args_(num_args), types_(types) {}
1434: 
1434:   constexpr auto num_args() const -> int { return num_args_; }
1434:   constexpr auto arg_type(int id) const -> type { return types_[id]; }
1434: 
1434:   constexpr auto next_arg_id() -> int {
1434:     int id = base::next_arg_id();
1434:     if (id >= num_args_) this->on_error("argument not found");
1434:     return id;
1434:   }
1434: 
1434:   constexpr void check_arg_id(int id) {
1434:     base::check_arg_id(id);
1434:     if (id >= num_args_) this->on_error("argument not found");
1434:   }
1434:   using base::check_arg_id;
1434: 
1434:   constexpr void check_dynamic_spec(int arg_id) {
1434:     if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id]))
1434:       this->on_error("width/precision is not integer");
1434:   }
1434: };
1434: }
1434: 
1434: template <typename Char, typename ErrorHandler>
1434: constexpr void
1434: basic_format_parse_context<Char, ErrorHandler>::do_check_arg_id(int id) {
1434: 
1434: 
1434:   if (detail::is_constant_evaluated() && (12 * 100 + 2) >= 1200) {
1434:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1434:     if (id >= static_cast<context*>(this)->num_args())
1434:       on_error("argument not found");
1434:   }
1434: }
1434: 
1434: template <typename Char, typename ErrorHandler>
1434: constexpr void
1434: basic_format_parse_context<Char, ErrorHandler>::check_dynamic_spec(int arg_id) {
1434:   if (detail::is_constant_evaluated()) {
1434:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1434:     static_cast<context*>(this)->check_dynamic_spec(arg_id);
1434:   }
1434: }
1434: 
1434: template <typename Context> class basic_format_a12:     blue *= right.blue;
1412:     identity = false;
1412:     return *this;
1412:   }
1412: 
1412:   TransformMatrix operator *(const TransformMatrix &right) const
1412:   {
1412:     if (right.identity)
1412:       return *this;
1412:     if (identity)
1412:       return right;
1412:     TransformMatrix result;
1412:     result.m[0][0] = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1412:     result.m[0][1] = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1412:     result.m[0][2] = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1412:     result.m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1412:     result.m[1][0] = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1412:     result.m[1][1] = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1412:     result.m[1][2] = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1412:     result.m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1412:     result.m[2][0] = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1412:     result.m[2][1] = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1412:     result.m[2][2] = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1412:     result.m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1412:     result.alpha = alpha * right.alpha;
1412:     result.red = red * right.red;
1412:     result.green = green * right.green;
1412:     result.blue = blue * right.blue;
1412:     result.identity = false;
1412:     return result;
1412:   }
1412: 
1412:   inline void TransformPosition(float &x, float &y, float &z) const __attribute__((always_inline))
1412:   {
1412:     float newX = m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1412:     float newY = m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1412:     z = m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1412:     y = newY;
1412:     x = newX;
1412:   }
1412: 
1412:   inline void TransformPositionUnscaled(float &x, float &y, float &z) const __attribute__((always_inline))
1412:   {
1412:     float n;
1412: 
1412:     n = sqrt(m[0][0]*m[0][0] + m[0][1]*m[0][1] + m[0][2]*m[0][2]);
1412:     float newX = (m[0][0] * x + m[0][1] * y + m[0][2] * z)/n + m[0][3];
1412:     n = sqrt(m[1][0]*m[1][0] + m[1][1]*m[1][1] + m[1][2]*m[1][2]);
1412:     float newY = (m[1][0] * x + m[1][1] * y + m[1][2] * z)/n + m[1][3];
1412:     n = sqrt(m[2][0]*m[2][0] + m[2][1]*m[2][1] + m[2][2]*m[2][2]);
1412:     float newZ = (m[2][0] * x + m[2][1] * y + m[2][2] * z)/n + m[2][3];
1412:     z = newZ;
1412:     y = newY;
1412:     x = newX;
1412:   }
1412: 
1412:   inline void InverseTransformPosition(float &x, float &y) const __attribute__((always_inline))
1412:   {
1412:     x -= m[0][3]; y -= m[1][3];
1412:     float detM = m[0][0]*m[1][1] - m[0][1]*m[1][0];
1412:     float newX = (m[1][1] * x - m[0][1] * y)/detM;
1412:     y = (-m[1][0] * x + m[0][0] * y)/detM;
1412:     x = newX;
1412:   }
1412: 
1412:   inline float TransformXCoord(float x, float y, float z) const __attribute__((always_inline))
1412:   {
1412:     return m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1412:   }
1412: 
1412:   inline float TransformYCoord(float x, float y, float z) const __attribute__((always_inline))
1412:   {
1412:     return m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1412:   }
1412: 
1412:   inline float TransformZCoord(float x, float y, float z) const __attribute__((always_inline))
1412:   {
1412:     return m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1412:   }
1412: 
1412:   inline UTILS::COLOR::Color TransformAlpha(UTILS::COLOR::Color color) const __attribute__((always_inline))
1412:   {
1412:     return static_cast<UTILS::COLOR::Color>(color * alpha);
1412:   }
1412: 
1412:   inline UTILS::COLOR::Color Tra     quiet_NaN() noexcept { return char(); }
1115: 
1115:       static constexpr char
1115:       signaling_NaN() noexcept { return char(); }
1115: 
1115:       static constexpr char
1115:       denorm_min() noexcept { return static_cast<char>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = !is_signed;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<signed char>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr signed char
1115:       min() noexcept { return -0x7f - 1; }
1115: 
1115:       static constexpr signed char
1115:       max() noexcept { return 0x7f; }
1115: 
1115: 
1115:       static constexpr signed char
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr signed char
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr signed char
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr signed char
1115:       infinity() noexcept { return static_cast<signed char>(0); }
1115: 
1115:       static constexpr signed char
1115:       quiet_NaN() noexcept { return static_cast<signed char>(0); }
1115: 
1115:       static constexpr signed char
1115:       signaling_NaN() noexcept
1115:       { return static_cast<signed char>(0); }
1115: 
1115:       static constexpr signed char
1115:       denorm_min() noexcept
1115:       { return static_cast<signed char>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<unsigned char>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr unsigned char
1115:       min() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned char
1115:       max() noexcept { return 0x7f * 2U + 1; }
1115: 
1115: 
1115:       static constexpr unsigned char
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits
1115:        = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = false;
1115:       static constexpr bool is_integer = true;
1115:    rg;
1434: template <typename Context> class basic_format_args;
1434: template <typename Context> class dynamic_format_arg_store;
1434: 
1434: 
1434: template <typename T, typename Char = char, typename Enable = void>
1434: struct formatter {
1434: 
1434:   formatter() = delete;
1434: };
1434: 
1434: 
1434: 
1434: template <typename T, typename Context>
1434: using has_formatter =
1434:     std::is_constructible<typename Context::template formatter_type<T>>;
1434: 
1434: 
1434: template <typename T> struct is_contiguous : std::false_type {};
1434: template <typename Char>
1434: struct is_contiguous<std::basic_string<Char>> : std::true_type {};
1434: 
1434: class appender;
1434: 
1434: namespace detail {
1434: 
1434: template <typename Context, typename T>
1434: constexpr auto has_const_formatter_impl(T*)
1434:     -> decltype(typename Context::template formatter_type<T>().format(
1434:                     std::declval<const T&>(), std::declval<Context&>()),
1434:                 true) {
1434:   return true;
1434: }
1434: template <typename Context>
1434: constexpr auto has_const_formatter_impl(...) -> bool {
1434:   return false;
1434: }
1434: template <typename T, typename Context>
1434: constexpr auto has_const_formatter() -> bool {
1434:   return has_const_formatter_impl<Context>(static_cast<T*>(nullptr));
1434: }
1434: 
1434: 
1434: template <typename Container>
1434: inline auto get_container(std::back_insert_iterator<Container> it)
1434:     -> Container& {
1434:   using base = std::back_insert_iterator<Container>;
1434:   struct accessor : base {
1434:     accessor(base b) : base(b) {}
1434:     using base::container;
1434:   };
1434:   return *accessor(it).container;
1434: }
1434: 
1434: template <typename Char, typename InputIt, typename OutputIt>
1434: constexpr auto copy_str(InputIt begin, InputIt end, OutputIt out)
1434:     -> OutputIt {
1434:   while (begin != end) *out++ = static_cast<Char>(*begin++);
1434:   return out;
1434: }
1434: 
1434: template <typename Char, typename T, typename U,
1434:           enable_if_t<(std::is_same<remove_const_t<T>, U>::value&& is_char<U>::value), int> = 0
1434:                                                                             >
1434: constexpr auto copy_str(T* begin, T* end, U* out) -> U* {
1434:   if (is_constant_evaluated()) return copy_str<Char, T*, U*>(begin, end, out);
1434:   auto size = to_unsigned(end - begin);
1434:   memcpy(out, begin, size * sizeof(U));
1434:   return out + size;
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename T> class buffer {
1434:  private:
1434:   T* ptr_;
1434:   size_t size_;
1434:   size_t capacity_;
1434: 
1434:  protected:
1434: 
1434:  
1434:   buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {}
1434: 
1434:   buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept
1434:       : ptr_(p), size_(sz), capacity_(cap) {}
1434: 
1434:   ~buffer() = default;
1434:   buffer(buffer&&) = default;
1434: 
1434: 
1434:   constexpr void set(T* buf_data, size_t buf_capacity) noexcept {
1434:     ptr_ = buf_data;
1434:     capacity_ = buf_capacity;
1434:   }
1434: 
1434: 
1434:   virtual void grow(size_t capacity) = 0;
1434: 
1434:  public:
1434:   using value_type = T;
1434:   using const_reference = const T&;
1434: 
1434:   buffer(const buffer&) = delete;
1434:   void operator=(const buffer&) = delete;
1434: 
1434:   auto begin() noexcept -> T* { return ptr_; }
1434:   auto end() noexcept -> T* { return ptr_ + size_; }
1434: 
1434:   auto begin() const noexcept -> const T* { return ptr_; }
1434:   auto end() const noexcept -> const T* { return ptr_ + size_; }
1434: 
1434: 
1434:   constexpr auto size() const noexcept -> size_t { return size_; }
1434: 
1434: 
1434:   constexpr auto capacity() const noexcept -> size_t { return capacity_; }
1434: 
1434: 
1434:   constexpr auto data() noexcept -> T* { return ptr_; }
1434: 
1434: 
1434:   constexpr auto data() const noexcept -> const T* { return ptr_; }
1434: 
1434: 
1434:   void clear() { size_ = 0; }
1434: 
1434: 
1434: 
1434:   void try_resize(size_t count) {
1434:     try_reserve(count);
1434:     size_ = count <= capacity_ ? count : capacity_;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void try_reserve(size_t new_capacity) {
1434:     if (new_capacity > capacity_) grow(new_capacity);
1434:   }
1434: 
1434:   void push_back(const T& value) {
1434:     try_reserve(size_ + 1);
1434:     ptr_[size_++] = value;
1434:   }
1434: 
1434: 
1434:   template <typename U> void append(const U* begin, const U* end);
1434: 
1434:   template <typename Idx> constexpr auto operator[](Idx index) -> T& {
1434:     return ptr_[index];
1434:   }
1434:   template <typename Idx>
1434:   constexpr auto operator[](Idx index) const -> const T& {
1434:     return ptr_[index];
1434:   }
1434: };
1434: 
1434: struct buffer_traits {
1434:   explicit buffer_traits(size_t) {}
1434:   auto count() const -> size_t { return 0; }
1434:   auto limit(size_t size) -> size_t { return size; }
1434: };
1434: 
1434: class fixed_buffer_traits {
1434:  private:
1434:   size_t count_ = 0;
1434:   size_t limit_;
1434: 
1434:  public:
1434:   explicit fixed_buffer_traits(size_t limit) : limit_(limit) {}
1434:   auto count() const -> size_t { return count_; }
1434:   auto limit(size_t size) -> size_t {
1434:     size_t n = limit_ > count_ ? limit_ - count_ : 0;
1434:     count_ += size;
1434:     return size < n ? size : n;
1434:   }
1434: };
1434: 
1434: 
1434: template <typename OutputIt, typename T, typename Traits = buffer_traits>
1434: class iterator_buffer final : public Traits, public buffer<T> {
1434:  private:
1434:   OutputIt out_;
1434:   enum { buffer_size = 256 };
1434:   T data_[buffer_size];
1434: 
1434:  protected:
1434:   void grow(size_t) override {
1434:     if (this->size() == buffer_size) flush();
1434:   }
1434: 
1434:   void flush() {
1434:     auto size = this->size();
1434:     this->clear();
1434:     out_ = copy_str<T>(data_, data_ + this->limit(size), out_);
1434:   }
1434: 
1434:  public:
1434:   explicit iterator_buffer(OutputIt out, size_t n = buffer_size)
1434:       : Traits(n), buffer<T>(data_, 0, buffer_size), out_(out) {}
1434:   iterator_buffer(iterator_buffer&& other)
1434:       : Traits(other), buffer<T>(data_, 0, buffer_size), out_(other.out_) {}
1434:   ~iterator_buffer() { flush(); }
1434: 
1434:   auto out() -> OutputIt {
1434:     flush();
1434:     return out_;
1434:   }
1434:   auto count() const -> size_t { return Traits::count() + this->size(); }
1434: };
1434: 
1434: template <typename T>
1434: class iterator_buffer<T*, T, fixed_buffer_traits> final
1434:     : public fixed_buffer_traits,
1434:       public buffer<T> {
1434:  private:
1434:   T* out_;
1434:   enum { buffer_size = 256 };
1434:   T data_[buffer_size];
1434: 
1434:  protected:
1434:   void grow(size_t) override {
1434:     if (this->size() == this->capacity()) flush();
1434:   }
1434: 
1434:   void flush() {
1434:     size_t n = this->limit(this->size());
1434:     if (this->data() == out_) {
1434:       out_ += n;
1434:       this->set(data_, buffer_size);
1434:     }
1434:     this->clear();
1434:   }
1434: 
1434:  public:
1434:   explicit iterator_buffer(T* out, size_t n = buffer_size)
1434:       : fixed_buffer_traits(n), buffer<T>(out, 0, n), out_(out) {}
1434:   iterator_buffer(iterator_buffer&& other)
1434:       : fixed_buffer_traits(other),
1434:         buffer<T>(std::move(other)),
1434:         out_(other.out_) {
1434:     if (this->data() != out_) {
1434:       this->set(data_, buffer_size);
1434:       this->clear();
1434:     }
1434:   }
1434:   ~iterator_buffer() { flush(); }
1434: 
1434:   auto out() -> T* {
1434:     flush();
1434:     return out_;
1434:   }
1434:   auto count() const -> size_t {
1434:     return fixed_buffer_traits::count() + this->size();
1434:   }
1434: };
1434: 
1434: template <typename T> class iterator_buffer<T*, T> final : public buffer<T> {
1434:  protected:
1434:   void grow(size_t) override {}
1434: 
1434:  public:
1434:   explicit iterator_buffer(T* out, size_t = 0) : buffer<T>(out, 0, ~size_t()) {}
1434: 
1434:   auto out() -> T* { return &*tnsformColor(UTILS::COLOR::Color color) const __attribute__((always_inline))
1412:   {
1412:     UTILS::COLOR::Color a = static_cast<UTILS::COLOR::Color>(((color >> 24) & 0xff) * alpha);
1412:     UTILS::COLOR::Color r = static_cast<UTILS::COLOR::Color>(((color >> 16) & 0xff) * red);
1412:     UTILS::COLOR::Color g = static_cast<UTILS::COLOR::Color>(((color >> 8) & 0xff) * green);
1412:     UTILS::COLOR::Color b = static_cast<UTILS::COLOR::Color>(((color)&0xff) * blue);
1412:     if (a > 255)
1412:       a = 255;
1412:     if (r > 255)
1412:       r = 255;
1412:     if (g > 255)
1412:       g = 255;
1412:     if (b > 255)
1412:       b = 255;
1412: 
1412:     return ((a << 24) & 0xff000000) | ((r << 16) & 0xff0000) | ((g << 8) & 0xff00) | (b & 0xff);
1412:   }
1412: 
1412:   float m[3][4];
1412:   float alpha;
1412:   float red;
1412:   float green;
1412:   float blue;
1412:   bool identity;
1412: };
1412: 
1412: inline bool operator==(const TransformMatrix &a, const TransformMatrix &b)
1412: {
1412:   bool comparison =
1412:       a.alpha == b.alpha && a.red == b.red && a.green == b.green && a.blue == b.blue &&
1412:       ((a.identity && b.identity) ||
1412:        (!a.identity && !b.identity &&
1412:         std::equal(&a.m[0][0], &a.m[0][0] + sizeof(a.m) / sizeof(a.m[0][0]), &b.m[0][0])));
1412:   return comparison;
1412: }
1412: 
1412: inline bool operator!=(const TransformMatrix &a, const TransformMatrix &b)
1412: {
1412:   return !operator==(a, b);
1412: }
1412: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/stack" 1 3
1412: # 58 "/usr/include/c++/12/stack" 3
1412:        
1412: # 59 "/usr/include/c++/12/stack" 3
1412: 
1412: # 1 "/usr/include/c++/12/deque" 1 3
1412: # 58 "/usr/include/c++/12/deque" 3
1412:        
1412: # 59 "/usr/include/c++/12/deque" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/stl_deque.h" 1 3
1412: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1412: 
1412: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: # 95 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:   constexpr inline size_t
1412:   __deque_buf_size(size_t __size)
1412:   { return (__size < 512
1412:      ? size_t(512 / __size) : size_t(1)); }
1412: # 112 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:   template<typename _Tp, typename _Ref, typename _Ptr>
1412:     struct _Deque_iterator
1412:     {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     private:
1412:       template<typename _CvTp>
1412:  using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_rebind<_Ptr, _CvTp>>;
1412:     public:
1412:       typedef __iter<_Tp> iterator;
1412:       typedef __iter<const _Tp> const_iterator;
1412:       typedef __ptr_rebind<_Ptr, _Tp> _Elt_pointer;
1412:       typedef __ptr_rebind<_Ptr, _Elt_pointer> _Map_pointer;
1412: 
1412: 
1412:       static size_t _S_buffer_size() noexcept
1412:       { return __deque_buf_size(sizeof(_Tp)); }
1412: 
1412:       typedef std::random_access_iterator_tag iterator_category;
1412:       typedef _Tp value_type;
1412:       typedef _Ptr pointer;
1412:       typedef _Ref reference;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef _Deque_iterator _Self;
1412: 
1412:       _Elt_pointer _M_cur;
1412:       _Elt_pointer _M_first;
1412:       _Elt_pointer _M_last;
1412:       _Map_pointer _M_node;
1412: 
1412:       _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept
1412:       : _M_cur(__x), _M_first(*__y),
1412:  _M_last(*__y + _S_buffer_size()), _M_node(__y) { }
1412: 
1412:       _Deque_iterator() noexcept
1412:       : _M_cur(), _M_first(), _M_last(), _M_node() { }
1412: # 161 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename _Iter,
1412:         typename = _Require<is_same<_Self, const_iterator>,
1412:        is_same<_Iter, iterator>>>
1412:        _Deque_iterator(const _Iter& __x) noexcept
1412:        : _M_cur(__x._M_cur), _M_first(__x._M   static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr unsigned char
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned char
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr unsigned char
1115:       infinity() noexcept
1115:       { return static_cast<unsigned char>(0); }
1115: 
1115:       static constexpr unsigned char
1115:       quiet_NaN() noexcept
1115:       { return static_cast<unsigned char>(0); }
1115: 
1115:       static constexpr unsigned char
1115:       signaling_NaN() noexcept
1115:       { return static_cast<unsigned char>(0); }
1115: 
1115:       static constexpr unsigned char
1115:       denorm_min() noexcept
1115:       { return static_cast<unsigned char>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = true;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<wchar_t>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr wchar_t
1115:       min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); }
1115: 
1115:       static constexpr wchar_t
1115:       max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); }
1115: 
1115: 
1115:       static constexpr wchar_t
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = ((wchar_t)(-1) < 0);
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr wchar_t
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr wchar_t
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr wchar_t
1115:       infinity() noexcept { return wchar_t(); }
1115: 
1115:       static constexpr wchar_t
1115:       quiet_NaN() noexcept { return wchar_t(); }
1115: 
1115:       static constexpr wchar_t
1115:       signaling_NaN() noexcept { return wchar_t(); }
1115: 
1115:       static constexpr wchar_t
1115:       denorm_min() noexcept { return wchar_t(); }
1115: 
1115:  his->end(); }
1434: };
1434: 
1434: 
1434: template <typename Container>
1434: class iterator_buffer<std::back_insert_iterator<Container>,
1434:                       enable_if_t<is_contiguous<Container>::value,
1434:                                   typename Container::value_type>>
1434:     final : public buffer<typename Container::value_type> {
1434:  private:
1434:   Container& container_;
1434: 
1434:  protected:
1434:   void grow(size_t capacity) override {
1434:     container_.resize(capacity);
1434:     this->set(&container_[0], capacity);
1434:   }
1434: 
1434:  public:
1434:   explicit iterator_buffer(Container& c)
1434:       : buffer<typename Container::value_type>(c.size()), container_(c) {}
1434:   explicit iterator_buffer(std::back_insert_iterator<Container> out, size_t = 0)
1434:       : iterator_buffer(get_container(out)) {}
1434: 
1434:   auto out() -> std::back_insert_iterator<Container> {
1434:     return std::back_inserter(container_);
1434:   }
1434: };
1434: 
1434: 
1434: template <typename T = char> class counting_buffer final : public buffer<T> {
1434:  private:
1434:   enum { buffer_size = 256 };
1434:   T data_[buffer_size];
1434:   size_t count_ = 0;
1434: 
1434:  protected:
1434:   void grow(size_t) override {
1434:     if (this->size() != buffer_size) return;
1434:     count_ += this->size();
1434:     this->clear();
1434:   }
1434: 
1434:  public:
1434:   counting_buffer() : buffer<T>(data_, 0, buffer_size) {}
1434: 
1434:   auto count() -> size_t { return count_ + this->size(); }
1434: };
1434: 
1434: template <typename T>
1434: using buffer_appender = conditional_t<std::is_same<T, char>::value, appender,
1434:                                       std::back_insert_iterator<buffer<T>>>;
1434: 
1434: 
1434: template <typename T, typename OutputIt>
1434: auto get_buffer(OutputIt out) -> iterator_buffer<OutputIt, T> {
1434:   return iterator_buffer<OutputIt, T>(out);
1434: }
1434: 
1434: template <typename Buffer>
1434: auto get_iterator(Buffer& buf) -> decltype(buf.out()) {
1434:   return buf.out();
1434: }
1434: template <typename T> auto get_iterator(buffer<T>& buf) -> buffer_appender<T> {
1434:   return buffer_appender<T>(buf);
1434: }
1434: 
1434: template <typename T, typename Char = char, typename Enable = void>
1434: struct fallback_formatter {
1434:   fallback_formatter() = delete;
1434: };
1434: 
1434: 
1434: template <typename T, typename Char>
1434: using has_fallback_formatter =
1434: 
1434: 
1434: 
1434:     std::false_type;
1434: 
1434: 
1434: struct view {};
1434: 
1434: template <typename Char, typename T> struct named_arg : view {
1434:   const Char* name;
1434:   const T& value;
1434:   named_arg(const Char* n, const T& v) : name(n), value(v) {}
1434: };
1434: 
1434: template <typename Char> struct named_arg_info {
1434:   const Char* name;
1434:   int id;
1434: };
1434: 
1434: template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1434: struct arg_data {
1434: 
1434: 
1434:   T args_[1 + (NUM_ARGS != 0 ? NUM_ARGS : +1)];
1434:   named_arg_info<Char> named_args_[NUM_NAMED_ARGS];
1434: 
1434:   template <typename... U>
1434:   arg_data(const U&... init) : args_{T(named_args_, NUM_NAMED_ARGS), init...} {}
1434:   arg_data(const arg_data& other) = delete;
1434:   auto args() const -> const T* { return args_ + 1; }
1434:   auto named_args() -> named_arg_info<Char>* { return named_args_; }
1434: };
1434: 
1434: template <typename T, typename Char, size_t NUM_ARGS>
1434: struct arg_data<T, Char, NUM_ARGS, 0> {
1434: 
1434:   T args_[NUM_ARGS != 0 ? NUM_ARGS : +1];
1434: 
1434:   template <typename... U>
1434:   constexpr inline __attribute__((always_inline)) arg_data(const U&... init) : args_{init...} {}
1434:   constexpr inline __attribute__((always_inline)) auto args() const -> const T* { return args_; }
1434:   constexpr inline __attribute__((always_inline)) auto named_args() -> std::nullptr_t {
1434:     return nullptr;
1434:   }
1434: };
1434: 
1434: template <typename Char>
1434: inline void init_named_args(named_arg_info<Char>*, int, int) {}
1434: 
1_first),
1412:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1412: 
1412:       _Deque_iterator(const _Deque_iterator& __x) noexcept
1412:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
1412:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1412: 
1412:       _Deque_iterator& operator=(const _Deque_iterator&) = default;
1412: 
1412: 
1412:       iterator
1412:       _M_const_cast() const noexcept
1412:       { return iterator(_M_cur, _M_node); }
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       operator*() const noexcept
1412:       { return *_M_cur; }
1412: 
1412:       [[__nodiscard__]]
1412:       pointer
1412:       operator->() const noexcept
1412:       { return _M_cur; }
1412: 
1412:       _Self&
1412:       operator++() noexcept
1412:       {
1412:  ++_M_cur;
1412:  if (_M_cur == _M_last)
1412:    {
1412:      _M_set_node(_M_node + 1);
1412:      _M_cur = _M_first;
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator++(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  ++*this;
1412:  return __tmp;
1412:       }
1412: 
1412:       _Self&
1412:       operator--() noexcept
1412:       {
1412:  if (_M_cur == _M_first)
1412:    {
1412:      _M_set_node(_M_node - 1);
1412:      _M_cur = _M_last;
1412:    }
1412:  --_M_cur;
1412:  return *this;
1412:       }
1412: 
1412:       _Self
1412:       operator--(int) noexcept
1412:       {
1412:  _Self __tmp = *this;
1412:  --*this;
1412:  return __tmp;
1412:       }
1412: 
1412:       _Self&
1412:       operator+=(difference_type __n) noexcept
1412:       {
1412:  const difference_type __offset = __n + (_M_cur - _M_first);
1412:  if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
1412:    _M_cur += __n;
1412:  else
1412:    {
1412:      const difference_type __node_offset =
1412:        __offset > 0 ? __offset / difference_type(_S_buffer_size())
1412:       : -difference_type((-__offset - 1)
1412:            / _S_buffer_size()) - 1;
1412:      _M_set_node(_M_node + __node_offset);
1412:      _M_cur = _M_first + (__offset - __node_offset
1412:      * difference_type(_S_buffer_size()));
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:       _Self&
1412:       operator-=(difference_type __n) noexcept
1412:       { return *this += -__n; }
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       operator[](difference_type __n) const noexcept
1412:       { return *(*this + __n); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_set_node(_Map_pointer __new_node) noexcept
1412:       {
1412:  _M_node = __new_node;
1412:  _M_first = *__new_node;
1412:  _M_last = _M_first + difference_type(_S_buffer_size());
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator==(const _Self& __x, const _Self& __y) noexcept
1412:       { return __x._M_cur == __y._M_cur; }
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _RefR, typename _PtrR>
1412:  [[__nodiscard__]]
1412:  friend bool
1412:  operator==(const _Self& __x,
1412:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1412:  noexcept
1412:  { return __x._M_cur == __y._M_cur; }
1412: # 296 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator!=(const _Self& __x, const _Self& __y) noexcept
1412:       { return !(__x == __y); }
1412: 
1412:       template<typename _RefR, typename _PtrR>
1412:  [[__nodiscard__]]
1412:  friend bool
1412:  operator!=(const _Self& __x,
1412:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1412:  noexcept
1412:  { return !(__x == __y); }
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator<(const _Self& __x, const _Self& __y) noexcept
1412:       {
1412:  return (__x._M_node == __y._M_node)
1412:    ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1412:       }
1412: 
1412:       template<typename _RefR, typename _PtrR>
1412:  [[__nodiscard__]]
1412:  friend bool
1412:  operator<(const _Self& __x,
1412:     const _Dequ434: template <typename T> struct is_named_arg : std::false_type {};
1434: template <typename T> struct is_statically_named_arg : std::false_type {};
1434: 
1434: template <typename T, typename Char>
1434: struct is_named_arg<named_arg<Char, T>> : std::true_type {};
1434: 
1434: template <typename Char, typename T, typename... Tail,
1434:           enable_if_t<(!is_named_arg<T>::value), int> = 0>
1434: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1434:                      int named_arg_count, const T&, const Tail&... args) {
1434:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1434: }
1434: 
1434: template <typename Char, typename T, typename... Tail,
1434:           enable_if_t<(is_named_arg<T>::value), int> = 0>
1434: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1434:                      int named_arg_count, const T& arg, const Tail&... args) {
1434:   named_args[named_arg_count++] = {arg.name, arg_count};
1434:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1434: }
1434: 
1434: template <typename... Args>
1434: constexpr inline __attribute__((always_inline)) void init_named_args(std::nullptr_t, int, int,
1434:                                               const Args&...) {}
1434: 
1434: template <bool B = false> constexpr auto count() -> size_t { return B ? 1 : 0; }
1434: template <bool B1, bool B2, bool... Tail> constexpr auto count() -> size_t {
1434:   return (B1 ? 1 : 0) + count<B2, Tail...>();
1434: }
1434: 
1434: template <typename... Args> constexpr auto count_named_args() -> size_t {
1434:   return count<is_named_arg<Args>::value...>();
1434: }
1434: 
1434: template <typename... Args>
1434: constexpr auto count_statically_named_args() -> size_t {
1434:   return count<is_statically_named_arg<Args>::value...>();
1434: }
1434: 
1434: struct unformattable {};
1434: struct unformattable_char : unformattable {};
1434: struct unformattable_const : unformattable {};
1434: struct unformattable_pointer : unformattable {};
1434: 
1434: template <typename Char> struct string_value {
1434:   const Char* data;
1434:   size_t size;
1434: };
1434: 
1434: template <typename Char> struct named_arg_value {
1434:   const named_arg_info<Char>* data;
1434:   size_t size;
1434: };
1434: 
1434: template <typename Context> struct custom_value {
1434:   using parse_context = typename Context::parse_context_type;
1434:   void* value;
1434:   void (*format)(void* arg, parse_context& parse_ctx, Context& ctx);
1434: };
1434: 
1434: 
1434: template <typename Context> class value {
1434:  public:
1434:   using char_type = typename Context::char_type;
1434: 
1434:   union {
1434:     monostate no_value;
1434:     int int_value;
1434:     unsigned uint_value;
1434:     long long long_long_value;
1434:     unsigned long long ulong_long_value;
1434:     int128_opt int128_value;
1434:     uint128_opt uint128_value;
1434:     bool bool_value;
1434:     char_type char_value;
1434:     float float_value;
1434:     double double_value;
1434:     long double long_double_value;
1434:     const void* pointer;
1434:     string_value<char_type> string;
1434:     custom_value<Context> custom;
1434:     named_arg_value<char_type> named_args;
1434:   };
1434: 
1434:   constexpr inline __attribute__((always_inline)) value() : no_value() {}
1434:   constexpr inline __attribute__((always_inline)) value(int val) : int_value(val) {}
1434:   constexpr inline __attribute__((always_inline)) value(unsigned val) : uint_value(val) {}
1434:   constexpr inline __attribute__((always_inline)) value(long long val) : long_long_value(val) {}
1434:   constexpr inline __attribute__((always_inline)) value(unsigned long long val) : ulong_long_value(val) {}
1434:   inline __attribute__((always_inline)) value(int128_opt val) : int128_value(val) {}
1434:   inline __attribute__((always_inline)) value(uint128_opt val) : uint128_value(val) {}
1434:   constexpr inline __attribute__((always_inline)) value(float val) : float_value(val) {}
1434:   constexpr inline __attribute__((always_inl     static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = !is_signed;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: # 796 "/usr/include/c++/12/limits" 3
1115:   template<>
1115:     struct numeric_limits<char16_t>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr char16_t
1115:       min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); }
1115: 
1115:       static constexpr char16_t
1115:       max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); }
1115: 
1115:       static constexpr char16_t
1115:       lowest() noexcept { return min(); }
1115: 
1115:       static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0));
1115:       static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136);
1115:       static constexpr int max_digits10 = 0;
1115:       static constexpr bool is_signed = ((char16_t)(-1) < 0);
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr char16_t
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr char16_t
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr char16_t
1115:       infinity() noexcept { return char16_t(); }
1115: 
1115:       static constexpr char16_t
1115:       quiet_NaN() noexcept { return char16_t(); }
1115: 
1115:       static constexpr char16_t
1115:       signaling_NaN() noexcept { return char16_t(); }
1115: 
1115:       static constexpr char16_t
1115:       denorm_min() noexcept { return char16_t(); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = !is_signed;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<char32_t>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr char32_t
1115:       min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); }
1115: 
1115:       static constexpr char32_t
1115:       max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); }
1115: 
1115:       static constexpr char32_t
1115:       lowest() noexcept { return min(); }
1115: 
1115:       static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0));
1115:       static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136);
1115:       static constexpr int max_digits10 = 0;
1115:       static constexpr bool is_signed = ((char32_ine)) value(double val) : double_value(val) {}
1434:   inline __attribute__((always_inline)) value(long double val) : long_double_value(val) {}
1434:   constexpr inline __attribute__((always_inline)) value(bool val) : bool_value(val) {}
1434:   constexpr inline __attribute__((always_inline)) value(char_type val) : char_value(val) {}
1434:   constexpr inline __attribute__((always_inline)) value(const char_type* val) {
1434:     string.data = val;
1434:     if (is_constant_evaluated()) string.size = {};
1434:   }
1434:   constexpr inline __attribute__((always_inline)) value(basic_string_view<char_type> val) {
1434:     string.data = val.data();
1434:     string.size = val.size();
1434:   }
1434:   inline __attribute__((always_inline)) value(const void* val) : pointer(val) {}
1434:   inline __attribute__((always_inline)) value(const named_arg_info<char_type>* args, size_t size)
1434:       : named_args{args, size} {}
1434: 
1434:   template <typename T> constexpr inline __attribute__((always_inline)) value(T& val) {
1434:     using value_type = remove_cvref_t<T>;
1434:     custom.value = const_cast<value_type*>(&val);
1434: 
1434: 
1434: 
1434:     custom.format = format_custom_arg<
1434:         value_type,
1434:         conditional_t<has_formatter<value_type, Context>::value,
1434:                       typename Context::template formatter_type<value_type>,
1434:                       fallback_formatter<value_type, char_type>>>;
1434:   }
1434:   value(unformattable);
1434:   value(unformattable_char);
1434:   value(unformattable_const);
1434:   value(unformattable_pointer);
1434: 
1434:  private:
1434: 
1434:   template <typename T, typename Formatter>
1434:   static void format_custom_arg(void* arg,
1434:                                 typename Context::parse_context_type& parse_ctx,
1434:                                 Context& ctx) {
1434:     auto f = Formatter();
1434:     parse_ctx.advance_to(f.parse(parse_ctx));
1434:     using qualified_type =
1434:         conditional_t<has_const_formatter<T, Context>(), const T, T>;
1434:     ctx.advance_to(f.format(*static_cast<qualified_type*>(arg), ctx));
1434:   }
1434: };
1434: 
1434: template <typename Context, typename T>
1434: constexpr auto make_arg(T&& value) -> basic_format_arg<Context>;
1434: 
1434: 
1434: 
1434: enum { long_short = sizeof(long) == sizeof(int) };
1434: using long_type = conditional_t<long_short, int, long long>;
1434: using ulong_type = conditional_t<long_short, unsigned, unsigned long long>;
1434: 
1434: 
1434: inline auto format_as(std::byte b) -> unsigned char {
1434:   return static_cast<unsigned char>(b);
1434: }
1434: 
1434: 
1434: template <typename T> struct has_format_as {
1434:   template <typename U, typename V = decltype(format_as(U())),
1434:             enable_if_t<(std::is_enum<U>::value&& std::is_integral<V>::value), int> = 0>
1434:   static auto check(U*) -> std::true_type;
1434:   static auto check(...) -> std::false_type;
1434: 
1434:   enum { value = decltype(check(static_cast<T*>(nullptr)))::value };
1434: };
1434: 
1434: 
1434: 
1434: 
1434: template <typename Context> struct arg_mapper {
1434:   using char_type = typename Context::char_type;
1434: 
1434:   constexpr inline __attribute__((always_inline)) auto map(signed char val) -> int { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(unsigned char val) -> unsigned {
1434:     return val;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(short val) -> int { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(unsigned short val) -> unsigned {
1434:     return val;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(int val) -> int { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(unsigned val) -> unsigned { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(long val) -> long_type { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(unsigned long val) -> ulong_type {
1434:     return vale_iterator<_Tp, _RefR, _PtrR>& __y)
1412:  noexcept
1412:  {
1412:    return (__x._M_node == __y._M_node)
1412:      ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1412:  }
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator>(const _Self& __x, const _Self& __y) noexcept
1412:       { return __y < __x; }
1412: 
1412:       template<typename _RefR, typename _PtrR>
1412:  [[__nodiscard__]]
1412:  friend bool
1412:  operator>(const _Self& __x,
1412:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1412:  noexcept
1412:  { return __y < __x; }
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator<=(const _Self& __x, const _Self& __y) noexcept
1412:       { return !(__y < __x); }
1412: 
1412:       template<typename _RefR, typename _PtrR>
1412:  [[__nodiscard__]]
1412:  friend bool
1412:  operator<=(const _Self& __x,
1412:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1412:  noexcept
1412:  { return !(__y < __x); }
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator>=(const _Self& __x, const _Self& __y) noexcept
1412:       { return !(__x < __y); }
1412: 
1412:       template<typename _RefR, typename _PtrR>
1412:  [[__nodiscard__]]
1412:  friend bool
1412:  operator>=(const _Self& __x,
1412:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1412:  noexcept
1412:  { return !(__x < __y); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       friend difference_type
1412:       operator-(const _Self& __x, const _Self& __y) noexcept
1412:       {
1412:  return difference_type(_S_buffer_size())
1412:    * (__x._M_node - __y._M_node - bool(__x._M_node))
1412:    + (__x._M_cur - __x._M_first)
1412:    + (__y._M_last - __y._M_cur);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename _RefR, typename _PtrR>
1412:  [[__nodiscard__]]
1412:  friend difference_type
1412:  operator-(const _Self& __x,
1412:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1412:  noexcept
1412:  {
1412:    return difference_type(_S_buffer_size())
1412:      * (__x._M_node - __y._M_node - bool(__x._M_node))
1412:      + (__x._M_cur - __x._M_first)
1412:      + (__y._M_last - __y._M_cur);
1412:  }
1412: 
1412:       [[__nodiscard__]]
1412:       friend _Self
1412:       operator+(const _Self& __x, difference_type __n) noexcept
1412:       {
1412:  _Self __tmp = __x;
1412:  __tmp += __n;
1412:  return __tmp;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       friend _Self
1412:       operator-(const _Self& __x, difference_type __n) noexcept
1412:       {
1412:  _Self __tmp = __x;
1412:  __tmp -= __n;
1412:  return __tmp;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       friend _Self
1412:       operator+(difference_type __n, const _Self& __x) noexcept
1412:       { return __x + __n; }
1412:     };
1412: # 429 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     class _Deque_base
1412:     {
1412:     protected:
1412:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1412:  rebind<_Tp>::other _Tp_alloc_type;
1412:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef typename _Alloc_traits::pointer _Ptr;
1412:       typedef typename _Alloc_traits::const_pointer _Ptr_const;
1412: 
1412: 
1412:       typedef typename _Alloc_traits::template rebind<_Ptr>::other
1412:  _Map_alloc_type;
1412:       typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits;
1412: 
1412:       typedef _Alloc allocator_type;
1412: 
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return allocator_type(_M_get_Tp_allocator()); }
1412: 
1412:       typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator;
1412:       typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator;
1412: 
1412:       _Deque_base()
1412:       : _M_impl()
1412:       { _M_initialize_map(0); }
1412: 
1412:       _Deque_base(size_t __num_elements)
1412:       : _M_impl()
1412:;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(long long val) -> long long { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(unsigned long long val)
1434:       -> unsigned long long {
1434:     return val;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(int128_opt val) -> int128_opt {
1434:     return val;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(uint128_opt val) -> uint128_opt {
1434:     return val;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(bool val) -> bool { return val; }
1434: 
1434:   template <typename T, enable_if_t<(std::is_same<T, char>::value || std::is_same<T, char_type>::value), int> = 0
1434:                                                                         >
1434:   constexpr inline __attribute__((always_inline)) auto map(T val) -> char_type {
1434:     return val;
1434:   }
1434:   template <typename T, enable_if_t<(std::is_same<T, wchar_t>::value ||
1434: 
1434: 
1434: 
1434:                                      std::is_same<T, char16_t>::value ||
1434:                                      std::is_same<T, char32_t>::value) &&
1434:                                         !std::is_same<T, char_type>::value,
1434:                                     int> = 0>
1434:   constexpr inline __attribute__((always_inline)) auto map(T) -> unformattable_char {
1434:     return {};
1434:   }
1434: 
1434:   constexpr inline __attribute__((always_inline)) auto map(float val) -> float { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(double val) -> double { return val; }
1434:   constexpr inline __attribute__((always_inline)) auto map(long double val) -> long double {
1434:     return val;
1434:   }
1434: 
1434:   constexpr inline __attribute__((always_inline)) auto map(char_type* val) -> const char_type* {
1434:     return val;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(const char_type* val) -> const char_type* {
1434:     return val;
1434:   }
1434:   template <typename T,
1434:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && std::is_same<char_type, char_t<T>>::value), int> = 0
1434:                                                                     >
1434:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1434:       -> basic_string_view<char_type> {
1434:     return to_string_view(val);
1434:   }
1434:   template <typename T,
1434:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && !std::is_same<char_type, char_t<T>>::value), int> = 0
1434:                                                                      >
1434:   constexpr inline __attribute__((always_inline)) auto map(const T&) -> unformattable_char {
1434:     return {};
1434:   }
1434:   template <typename T,
1434:             enable_if_t<(std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1434: 
1434: 
1434:                                                              >
1434:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1434:       -> basic_string_view<char_type> {
1434:     return basic_string_view<char_type>(val);
1434:   }
1434:   template <typename T,
1434:             enable_if_t<(std::is_convertible<T, std_string_view<char_type>>::value && !std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1434: 
1434: 
1434: 
1434:                                                              >
1434:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1434:       -> basic_string_view<char_type> {
1434:     return std_string_view<char_type>(val);
1434:   }
1434: 
1434:   constexpr inline __attribute__((always_inline)) auto map(void* val) -> const void* { return val; }t)(-1) < 0);
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr char32_t
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr char32_t
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr char32_t
1115:       infinity() noexcept { return char32_t(); }
1115: 
1115:       static constexpr char32_t
1115:       quiet_NaN() noexcept { return char32_t(); }
1115: 
1115:       static constexpr char32_t
1115:       signaling_NaN() noexcept { return char32_t(); }
1115: 
1115:       static constexpr char32_t
1115:       denorm_min() noexcept { return char32_t(); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = !is_signed;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style = round_toward_zero;
1115:     };
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<short>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr short
1115:       min() noexcept { return -0x7fff - 1; }
1115: 
1115:       static constexpr short
1115:       max() noexcept { return 0x7fff; }
1115: 
1115: 
1115:       static constexpr short
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
1115:       static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr short
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr short
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr short
1115:       infinity() noexcept { return short(); }
1115: 
1115:       static constexpr short
1115:       quiet_NaN() noexcept { return short(); }
1115: 
1115:       static constexpr short
1115:       signaling_NaN() noexcept { return short(); }
1115: 
1115:       static constexpr short
1115:       denorm_min() noexcept { return short(); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct num
1434:   constexpr inline __attribute__((always_inline)) auto map(const void* val) -> const void* {
1434:     return val;
1434:   }
1434:   constexpr inline __attribute__((always_inline)) auto map(std::nullptr_t val) -> const void* {
1434:     return val;
1434:   }
1434: 
1434: 
1434: 
1434:   template <
1434:       typename T,
1434:       enable_if_t<(std::is_pointer<T>::value || std::is_member_pointer<T>::value || std::is_function<typename std::remove_pointer<T>::type>::value || (std::is_convertible<const T&, const void*>::value && !std::is_convertible<const T&, const char_type*>::value && !has_formatter<T, Context>::value)), int> = 0
1434: 
1434: 
1434: 
1434: 
1434:                                               >
1434:   constexpr auto map(const T&) -> unformattable_pointer {
1434:     return {};
1434:   }
1434: 
1434:   template <typename T, std::size_t N,
1434:             enable_if_t<(!std::is_same<T, wchar_t>::value), int> = 0>
1434:   constexpr inline __attribute__((always_inline)) auto map(const T (&values)[N]) -> const T (&)[N] {
1434:     return values;
1434:   }
1434: 
1434:   template <typename T,
1434:             enable_if_t<(std::is_enum<T>::value&& std::is_convertible<T, int>::value && !has_format_as<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1434: 
1434: 
1434:                                                              >
1434:   [[deprecated]] constexpr inline __attribute__((always_inline)) auto map(const T& val)
1434:       -> decltype(std::declval<arg_mapper>().map(
1434:           static_cast<underlying_t<T>>(val))) {
1434:     return map(static_cast<underlying_t<T>>(val));
1434:   }
1434: 
1434:   template <typename T, enable_if_t<(has_format_as<T>::value && !has_formatter<T, Context>::value), int> = 0
1434:                                                                         >
1434:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1434:       -> decltype(std::declval<arg_mapper>().map(format_as(T()))) {
1434:     return map(format_as(val));
1434:   }
1434: 
1434:   template <typename T, typename U = remove_cvref_t<T>>
1434:   struct formattable
1434:       : bool_constant<has_const_formatter<U, Context>() ||
1434:                       !std::is_const<remove_reference_t<T>>::value ||
1434:                       has_fallback_formatter<U, char_type>::value> {};
1434: # 1496 "/usr/include/fmt/core.h" 3 4
1434:   template <typename T, enable_if_t<(formattable<T>::value), int> = 0>
1434:   constexpr inline __attribute__((always_inline)) auto do_map(T&& val) -> T& {
1434:     return val;
1434:   }
1434:   template <typename T, enable_if_t<(!formattable<T>::value), int> = 0>
1434:   constexpr inline __attribute__((always_inline)) auto do_map(T&&) -> unformattable_const {
1434:     return {};
1434:   }
1434: 
1434: 
1434:   template <typename T, typename U = remove_cvref_t<T>,
1434:             enable_if_t<(!is_string<U>::value && !is_char<U>::value && !std::is_array<U>::value && !std::is_pointer<U>::value && !has_format_as<U>::value && (has_formatter<U, Context>::value || has_fallback_formatter<U, char_type>::value)), int> = 0
1434: 
1434: 
1434: 
1434: 
1434:                                                                         >
1434:   constexpr inline __attribute__((always_inline)) auto map(T&& val)
1434:       -> decltype(this->do_map(std::forward<T>(val))) {
1434:     return do_map(std::forward<T>(val));
1434:   }
1434: 
1434:   template <typename T, enable_if_t<(is_named_arg<T>::value), int> = 0>
1434:   constexpr inline __attribute__((always_inline)) auto map(const T& named_arg)
1434:       -> decltype(std::declval<arg_mapper>().map(named_arg.value)) {
1434:     return map(named_arg.value);
1434:   }
1434: 
1434:   auto map(...) -> unformattable { return {}; }
1434: };
1434: 
1434: 
1434: template <typename T, typename Context>
1434: using mapped_type_constant =
1434:     type_constant<decltype(arg_mapper<Context>().map(std::declval<const T&>())),
1434:                   typename Context::char_type>;
1434       { _M_initialize_map(__num_elements); }
1412: 
1412:       _Deque_base(const allocator_type& __a, size_t __num_elements)
1412:       : _M_impl(__a)
1412:       { _M_initialize_map(__num_elements); }
1412: 
1412:       _Deque_base(const allocator_type& __a)
1412:       : _M_impl(__a)
1412:       { }
1412: 
1412: 
1412:       _Deque_base(_Deque_base&& __x)
1412:       : _M_impl(std::move(__x._M_get_Tp_allocator()))
1412:       {
1412:  _M_initialize_map(0);
1412:  if (__x._M_impl._M_map)
1412:    this->_M_impl._M_swap_data(__x._M_impl);
1412:       }
1412: 
1412:       _Deque_base(_Deque_base&& __x, const allocator_type& __a)
1412:       : _M_impl(std::move(__x._M_impl), _Tp_alloc_type(__a))
1412:       { __x._M_initialize_map(0); }
1412: 
1412:       _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_t __n)
1412:       : _M_impl(__a)
1412:       {
1412:  if (__x.get_allocator() == __a)
1412:    {
1412:      if (__x._M_impl._M_map)
1412:        {
1412:   _M_initialize_map(0);
1412:   this->_M_impl._M_swap_data(__x._M_impl);
1412:        }
1412:    }
1412:  else
1412:    {
1412:      _M_initialize_map(__n);
1412:    }
1412:       }
1412: 
1412: 
1412:       ~_Deque_base() noexcept;
1412: 
1412:       typedef typename iterator::_Map_pointer _Map_pointer;
1412: 
1412:       struct _Deque_impl_data
1412:       {
1412:  _Map_pointer _M_map;
1412:  size_t _M_map_size;
1412:  iterator _M_start;
1412:  iterator _M_finish;
1412: 
1412:  _Deque_impl_data() noexcept
1412:  : _M_map(), _M_map_size(), _M_start(), _M_finish()
1412:  { }
1412: 
1412: 
1412:  _Deque_impl_data(const _Deque_impl_data&) = default;
1412:  _Deque_impl_data&
1412:  operator=(const _Deque_impl_data&) = default;
1412: 
1412:  _Deque_impl_data(_Deque_impl_data&& __x) noexcept
1412:  : _Deque_impl_data(__x)
1412:  { __x = _Deque_impl_data(); }
1412: 
1412: 
1412:  void
1412:  _M_swap_data(_Deque_impl_data& __x) noexcept
1412:  {
1412: 
1412: 
1412:    std::swap(*this, __x);
1412:  }
1412:       };
1412: 
1412: 
1412: 
1412: 
1412:       struct _Deque_impl
1412:       : public _Tp_alloc_type, public _Deque_impl_data
1412:       {
1412:  _Deque_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1412: 
1412:  : _Tp_alloc_type()
1412:  { }
1412: 
1412:  _Deque_impl(const _Tp_alloc_type& __a) noexcept
1412:  : _Tp_alloc_type(__a)
1412:  { }
1412: 
1412: 
1412:  _Deque_impl(_Deque_impl&&) = default;
1412: 
1412:  _Deque_impl(_Tp_alloc_type&& __a) noexcept
1412:  : _Tp_alloc_type(std::move(__a))
1412:  { }
1412: 
1412:  _Deque_impl(_Deque_impl&& __d, _Tp_alloc_type&& __a)
1412:  : _Tp_alloc_type(std::move(__a)), _Deque_impl_data(std::move(__d))
1412:  { }
1412: 
1412:       };
1412: 
1412:       _Tp_alloc_type&
1412:       _M_get_Tp_allocator() noexcept
1412:       { return this->_M_impl; }
1412: 
1412:       const _Tp_alloc_type&
1412:       _M_get_Tp_allocator() const noexcept
1412:       { return this->_M_impl; }
1412: 
1412:       _Map_alloc_type
1412:       _M_get_map_allocator() const noexcept
1412:       { return _Map_alloc_type(_M_get_Tp_allocator()); }
1412: 
1412:       _Ptr
1412:       _M_allocate_node()
1412:       {
1412:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1412:  return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp)));
1412:       }
1412: 
1412:       void
1412:       _M_deallocate_node(_Ptr __p) noexcept
1412:       {
1412:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1412:  _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
1412:       }
1412: 
1412:       _Map_pointer
1412:       _M_allocate_map(size_t __n)
1412:       {
1412:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1412:  return _Map_alloc_traits::allocate(__map_alloc, __n);
1412:       }
1412: 
1412:       void
1412:       _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept
1412:       {
1412:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1412:  _Map_alloc_traits::deallocate(__map_alloc, __p, __n);
1412:       }
1412: 
1412:       void _M_initialize_map(size_t);
1412:      : 
1434: enum { packed_arg_bits = 4 };
1434: 
1434: enum { max_packed_args = 62 / packed_arg_bits };
1434: enum : unsigned long long { is_unpacked_bit = 1ULL << 63 };
1434: enum : unsigned long long { has_named_args_bit = 1ULL << 62 };
1434: 
1434: }
1434: 
1434: 
1434: 
1434: class appender : public std::back_insert_iterator<detail::buffer<char>> {
1434:   using base = std::back_insert_iterator<detail::buffer<char>>;
1434: 
1434:   template <typename T>
1434:   friend auto get_buffer(appender out) -> detail::buffer<char>& {
1434:     return detail::get_container(out);
1434:   }
1434: 
1434:  public:
1434:   using std::back_insert_iterator<detail::buffer<char>>::back_insert_iterator;
1434:   appender(base it) noexcept : base(it) {}
1434:   using unchecked_type = appender;
1434: 
1434:   auto operator++() noexcept -> appender& { return *this; }
1434:   auto operator++(int) noexcept -> appender { return *this; }
1434: };
1434: 
1434: 
1434: 
1434: template <typename Context> class basic_format_arg {
1434:  private:
1434:   detail::value<Context> value_;
1434:   detail::type type_;
1434: 
1434:   template <typename ContextType, typename T>
1434:   friend constexpr auto detail::make_arg(T&& value)
1434:       -> basic_format_arg<ContextType>;
1434: 
1434:   template <typename Visitor, typename Ctx>
1434:   friend constexpr auto visit_format_arg(Visitor&& vis,
1434:                                              const basic_format_arg<Ctx>& arg)
1434:       -> decltype(vis(0));
1434: 
1434:   friend class basic_format_args<Context>;
1434:   friend class dynamic_format_arg_store<Context>;
1434: 
1434:   using char_type = typename Context::char_type;
1434: 
1434:   template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1434:   friend struct detail::arg_data;
1434: 
1434:   basic_format_arg(const detail::named_arg_info<char_type>* args, size_t size)
1434:       : value_(args, size) {}
1434: 
1434:  public:
1434:   class handle {
1434:    public:
1434:     explicit handle(detail::custom_value<Context> custom) : custom_(custom) {}
1434: 
1434:     void format(typename Context::parse_context_type& parse_ctx,
1434:                 Context& ctx) const {
1434:       custom_.format(custom_.value, parse_ctx, ctx);
1434:     }
1434: 
1434:    private:
1434:     detail::custom_value<Context> custom_;
1434:   };
1434: 
1434:   constexpr basic_format_arg() : type_(detail::type::none_type) {}
1434: 
1434:   constexpr explicit operator bool() const noexcept {
1434:     return type_ != detail::type::none_type;
1434:   }
1434: 
1434:   auto type() const -> detail::type { return type_; }
1434: 
1434:   auto is_integral() const -> bool { return detail::is_integral_type(type_); }
1434:   auto is_arithmetic() const -> bool {
1434:     return detail::is_arithmetic_type(type_);
1434:   }
1434: };
1434: # 1622 "/usr/include/fmt/core.h" 3 4
1434: template <typename Visitor, typename Context>
1434: constexpr inline __attribute__((always_inline)) auto visit_format_arg(
1434:     Visitor&& vis, const basic_format_arg<Context>& arg) -> decltype(vis(0)) {
1434:   switch (arg.type_) {
1434:   case detail::type::none_type:
1434:     break;
1434:   case detail::type::int_type:
1434:     return vis(arg.value_.int_value);
1434:   case detail::type::uint_type:
1434:     return vis(arg.value_.uint_value);
1434:   case detail::type::long_long_type:
1434:     return vis(arg.value_.long_long_value);
1434:   case detail::type::ulong_long_type:
1434:     return vis(arg.value_.ulong_long_value);
1434:   case detail::type::int128_type:
1434:     return vis(detail::convert_for_visit(arg.value_.int128_value));
1434:   case detail::type::uint128_type:
1434:     return vis(detail::convert_for_visit(arg.value_.uint128_value));
1434:   case detail::type::bool_type:
1434:     return vis(arg.value_.bool_value);
1434:   case detail::type::char_type:
1434:     return vis(arg.value_.char_value);
1434:   case detail::type::float_type:
1434:     return vis(arg.value_.float_value);
1434:   case detail::type::double_type:
1434:     return vis(arg.value_.double_value);
1434:   case detail::type::long_double_type:
1434:     return vis(arg.value_.long_double_value);
1434:   case detail::type::cstring_type:
1434:     return vis(arg.value_.string.data);
1434:   case detail::type::string_type:
1434:     using sv = basic_string_view<typename Context::char_type>;
1434:     return vis(sv(arg.value_.string.data, arg.value_.string.size));
1434:   case detail::type::pointer_type:
1434:     return vis(arg.value_.pointer);
1434:   case detail::type::custom_type:
1434:     return vis(typename basic_format_arg<Context>::handle(arg.value_.custom));
1434:   }
1434:   return vis(monostate());
1434: }
1434: 
1434: namespace detail {
1434: 
1434: template <typename Char, typename InputIt>
1434: auto copy_str(InputIt begin, InputIt end, appender out) -> appender {
1434:   get_container(out).append(begin, end);
1434:   return out;
1434: }
1434: 
1434: template <typename Char, typename R, typename OutputIt>
1434: constexpr auto copy_str(R&& rng, OutputIt out) -> OutputIt {
1434:   return detail::copy_str<Char>(rng.begin(), rng.end(), out);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename...> using void_t = void;
1434: 
1434: 
1434: template <typename It, typename T, typename Enable = void>
1434: struct is_output_iterator : std::false_type {};
1434: 
1434: template <typename It, typename T>
1434: struct is_output_iterator<
1434:     It, T,
1434:     void_t<typename std::iterator_traits<It>::iterator_category,
1434:            decltype(*std::declval<It>() = std::declval<T>())>>
1434:     : std::true_type {};
1434: 
1434: template <typename OutputIt>
1434: struct is_back_insert_iterator : std::false_type {};
1434: template <typename Container>
1434: struct is_back_insert_iterator<std::back_insert_iterator<Container>>
1434:     : std::true_type {};
1434: 
1434: template <typename OutputIt>
1434: struct is_contiguous_back_insert_iterator : std::false_type {};
1434: template <typename Container>
1434: struct is_contiguous_back_insert_iterator<std::back_insert_iterator<Container>>
1434:     : is_contiguous<Container> {};
1434: template <>
1434: struct is_contiguous_back_insert_iterator<appender> : std::true_type {};
1434: 
1434: 
1434: class locale_ref {
1434:  private:
1434:   const void* locale_;
1434: 
1434:  public:
1434:   constexpr locale_ref() : locale_(nullptr) {}
1434:   template <typename Locale> explicit locale_ref(const Locale& loc);
1434: 
1434:   explicit operator bool() const noexcept { return locale_ != nullptr; }
1434: 
1434:   template <typename Locale> auto get() const -> Locale;
1434: };
1434: 
1434: template <typename> constexpr auto encode_types() -> unsigned long long {
1434:   return 0;
1434: }
1434: 
1434: template <typename Context, typename Arg, typename... Args>
1434: constexpr auto encode_types() -> unsigned long long {
1434:   return static_cast<unsigned>(mapped_type_constant<Arg, Context>::value) |
1434:          (encode_types<Context, Args...>() << packed_arg_bits);
1434: }
1434: 
1434: template <typename Context, typename T>
1434: constexpr inline __attribute__((always_inline)) auto make_value(T&& val) -> value<Context> {
1434:   const auto& arg = arg_mapper<Context>().map(static_cast<decltype(val)&&>(val));
1434: 
1434:   constexpr bool formattable_char =
1434:       !std::is_same<decltype(arg), const unformattable_char&>::value;
1434:   static_assert(formattable_char, "Mixing character types is disallowed.");
1434: 
1434:   constexpr bool formattable_const =
1434:       !std::is_same<decltype(arg), const unformattable_const&>::value;
1434:   static_assert(formattable_const, "Cannot format a const argument.");
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr bool formattable_pointer =
1434:       !std::is_same<decltype(arg), const unformattable_pointer&>::value;
1434:   static_assert(formattable_pointer,
1434:                 "Formatting of non-void pointers is disallowed.");
1434: 
1434:   constexpr bool formattable =
1434:       !std::is_same<decltype(arg), const unformattable&>::value;
1434:   static_assert(
1434:       formattable,
1434: eric_limits<unsigned short>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr unsigned short
1115:       min() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned short
1115:       max() noexcept { return 0x7fff * 2U + 1; }
1115: 
1115: 
1115:       static constexpr unsigned short
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits
1115:        = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = false;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr unsigned short
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned short
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr unsigned short
1115:       infinity() noexcept
1115:       { return static_cast<unsigned short>(0); }
1115: 
1115:       static constexpr unsigned short
1115:       quiet_NaN() noexcept
1115:       { return static_cast<unsigned short>(0); }
1115: 
1115:       static constexpr unsigned short
1115:       signaling_NaN() noexcept
1115:       { return static_cast<unsigned short>(0); }
1115: 
1115:       static constexpr unsigned short
1115:       denorm_min() noexcept
1115:       { return static_cast<unsigned short>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = true;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<int>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr int
1115:       min() noexcept { return -0x7fffffff - 1; }
1115: 
1115:       static constexpr int
1115:       max() noexcept { return 0x7fffffff; }
1115: 
1115: 
1115:       static constexpr int
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
1115:       static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr int
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr int
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denor void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish);
1412:       void _M_destroy_nodes(_Map_pointer __nstart,
1412:        _Map_pointer __nfinish) noexcept;
1412:       enum { _S_initial_map_size = 8 };
1412: 
1412:       _Deque_impl _M_impl;
1412:     };
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     _Deque_base<_Tp, _Alloc>::
1412:     ~_Deque_base() noexcept
1412:     {
1412:       if (this->_M_impl._M_map)
1412:  {
1412:    _M_destroy_nodes(this->_M_impl._M_start._M_node,
1412:       this->_M_impl._M_finish._M_node + 1);
1412:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1412:  }
1412:     }
1412: # 636 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     _Deque_base<_Tp, _Alloc>::
1412:     _M_initialize_map(size_t __num_elements)
1412:     {
1412:       const size_t __num_nodes = (__num_elements / __deque_buf_size(sizeof(_Tp))
1412:       + 1);
1412: 
1412:       this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
1412:         size_t(__num_nodes + 2));
1412:       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       _Map_pointer __nstart = (this->_M_impl._M_map
1412:           + (this->_M_impl._M_map_size - __num_nodes) / 2);
1412:       _Map_pointer __nfinish = __nstart + __num_nodes;
1412: 
1412:       try
1412:  { _M_create_nodes(__nstart, __nfinish); }
1412:       catch(...)
1412:  {
1412:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1412:    this->_M_impl._M_map = _Map_pointer();
1412:    this->_M_impl._M_map_size = 0;
1412:    throw;
1412:  }
1412: 
1412:       this->_M_impl._M_start._M_set_node(__nstart);
1412:       this->_M_impl._M_finish._M_set_node(__nfinish - 1);
1412:       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
1412:       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
1412:      + __num_elements
1412:      % __deque_buf_size(sizeof(_Tp)));
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     _Deque_base<_Tp, _Alloc>::
1412:     _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish)
1412:     {
1412:       _Map_pointer __cur;
1412:       try
1412:  {
1412:    for (__cur = __nstart; __cur < __nfinish; ++__cur)
1412:      *__cur = this->_M_allocate_node();
1412:  }
1412:       catch(...)
1412:  {
1412:    _M_destroy_nodes(__nstart, __cur);
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     void
1412:     _Deque_base<_Tp, _Alloc>::
1412:     _M_destroy_nodes(_Map_pointer __nstart,
1412:        _Map_pointer __nfinish) noexcept
1412:     {
1412:       for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n)
1412:  _M_deallocate_node(*__n);
1412:     }
1412: # 787 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1412:     class deque : protected _Deque_base<_Tp, _Alloc>
1412:     {
1412: # 800 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1412:    "std::deque must have a non-const, non-volatile value_type");
1412: 
1412:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1412:    "std::deque must have the same value_type as its allocator");
1412: 
1412: 
1412: 
1412:       typedef _Deque_base<_Tp, _Alloc> _Base;
1412:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1412:       typedef typename _Base::_Alloc_traits _Alloc_traits;
1412:       typedef typename _Base::_Map_pointer _Map_pointer;
1412: 
1412:     public:
1412:       typedef _Tp value_type;
1412:       typedef typename _Alloc_traits::pointer pointer;
1412:       typedef typename _Alloc_traits::const_pointer const_pointer;
1412:       typedef typename _Alloc_traits::reference reference;
1412:       typedef typename _Alloc_traits::const_reference const_reference;
1412:       typedef typename _Base::iterator iterator;
141      "Cannot format an argument. To make type T formattable provide a "
1434:       "formatter<T> specialization: https://fmt.dev/latest/api.html#udt");
1434:   return {arg};
1434: }
1434: 
1434: template <typename Context, typename T>
1434: constexpr auto make_arg(T&& value) -> basic_format_arg<Context> {
1434:   basic_format_arg<Context> arg;
1434:   arg.type_ = mapped_type_constant<T, Context>::value;
1434:   arg.value_ = make_value<Context>(value);
1434:   return arg;
1434: }
1434: 
1434: 
1434: 
1434: 
1434: template <bool IS_PACKED, typename Context, type, typename T,
1434:           enable_if_t<(IS_PACKED), int> = 0>
1434: constexpr inline __attribute__((always_inline)) auto make_arg(T&& val) -> value<Context> {
1434:   return make_value<Context>(val);
1434: }
1434: 
1434: template <bool IS_PACKED, typename Context, type, typename T,
1434:           enable_if_t<(!IS_PACKED), int> = 0>
1434: constexpr inline auto make_arg(T&& value) -> basic_format_arg<Context> {
1434:   return make_arg<Context>(value);
1434: }
1434: }
1434: 
1434: 
1434: template <typename OutputIt, typename Char> class basic_format_context {
1434:  public:
1434: 
1434:   using char_type = Char;
1434: 
1434:  private:
1434:   OutputIt out_;
1434:   basic_format_args<basic_format_context> args_;
1434:   detail::locale_ref loc_;
1434: 
1434:  public:
1434:   using iterator = OutputIt;
1434:   using format_arg = basic_format_arg<basic_format_context>;
1434:   using parse_context_type = basic_format_parse_context<Char>;
1434:   template <typename T> using formatter_type = formatter<T, char_type>;
1434: 
1434:   basic_format_context(basic_format_context&&) = default;
1434:   basic_format_context(const basic_format_context&) = delete;
1434:   void operator=(const basic_format_context&) = delete;
1434: 
1434: 
1434: 
1434: 
1434:   constexpr basic_format_context(
1434:       OutputIt out, basic_format_args<basic_format_context> ctx_args,
1434:       detail::locale_ref loc = detail::locale_ref())
1434:       : out_(out), args_(ctx_args), loc_(loc) {}
1434: 
1434:   constexpr auto arg(int id) const -> format_arg { return args_.get(id); }
1434:   constexpr auto arg(basic_string_view<char_type> name) -> format_arg {
1434:     return args_.get(name);
1434:   }
1434:   constexpr auto arg_id(basic_string_view<char_type> name) -> int {
1434:     return args_.get_id(name);
1434:   }
1434:   auto args() const -> const basic_format_args<basic_format_context>& {
1434:     return args_;
1434:   }
1434: 
1434:   constexpr auto error_handler() -> detail::error_handler { return {}; }
1434:   void on_error(const char* message) { error_handler().on_error(message); }
1434: 
1434: 
1434:   constexpr auto out() -> iterator { return out_; }
1434: 
1434: 
1434:   void advance_to(iterator it) {
1434:     if (!detail::is_back_insert_iterator<iterator>()) out_ = it;
1434:   }
1434: 
1434:   constexpr auto locale() -> detail::locale_ref { return loc_; }
1434: };
1434: 
1434: template <typename Char>
1434: using buffer_context =
1434:     basic_format_context<detail::buffer_appender<Char>, Char>;
1434: using format_context = buffer_context<char>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename T, typename Char = char>
1434: using is_formattable = bool_constant<
1434:     !std::is_base_of<detail::unformattable,
1434:                      decltype(detail::arg_mapper<buffer_context<Char>>().map(
1434:                          std::declval<T>()))>::value &&
1434:     !detail::has_fallback_formatter<T, Char>::value>;
1434: # 1864 "/usr/include/fmt/core.h" 3 4
1434: template <typename Context, typename... Args>
1434: class format_arg_store
1434: 
1434: 
1434: 
1434: 
1434: {
1434:  private:
1434:   static const size_t num_args = sizeof...(Args);
1434:   static const size_t num_named_args = detail::count_named_args<Args...>();
1434:   static const bool is_packed = num_args <= detail::max_packed_args;
1434: 
1434:   using value_type = conditional_t<is_packed, detail::value<Context>,
1434:                                    basic_format_arg<Context>>;
1434: 
1434:   detail::argm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr int
1115:       infinity() noexcept { return static_cast<int>(0); }
1115: 
1115:       static constexpr int
1115:       quiet_NaN() noexcept { return static_cast<int>(0); }
1115: 
1115:       static constexpr int
1115:       signaling_NaN() noexcept { return static_cast<int>(0); }
1115: 
1115:       static constexpr int
1115:       denorm_min() noexcept { return static_cast<int>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<unsigned int>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr unsigned int
1115:       min() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned int
1115:       max() noexcept { return 0x7fffffff * 2U + 1; }
1115: 
1115: 
1115:       static constexpr unsigned int
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits
1115:        = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = false;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr unsigned int
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned int
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr unsigned int
1115:       infinity() noexcept { return static_cast<unsigned int>(0); }
1115: 
1115:       static constexpr unsigned int
1115:       quiet_NaN() noexcept
1115:       { return static_cast<unsigned int>(0); }
1115: 
1115:       static constexpr unsigned int
1115:       signaling_NaN() noexcept
1115:       { return static_cast<unsigned int>(0); }
1115: 
1115:       static constexpr unsigned int
1115:       denorm_min() noexcept
1115:       { return static_cast<unsigned int>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = true;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<long>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr long
1115:       min() noexcept { return -0x7fffffffL - 1; }
1115: 
1115:       static constexpr long
1115:       max() noexcept { return 0x7fffffffL; }
1115: 
1115: 
1115:       static constexpr long
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
1115:       static constexpr int digi_data<value_type, typename Context::char_type, num_args,
1434:                    num_named_args>
1434:       data_;
1434: 
1434:   friend class basic_format_args<Context>;
1434: 
1434:   static constexpr unsigned long long desc =
1434:       (is_packed ? detail::encode_types<Context, Args...>()
1434:                  : detail::is_unpacked_bit | num_args) |
1434:       (num_named_args != 0
1434:            ? static_cast<unsigned long long>(detail::has_named_args_bit)
1434:            : 0);
1434: 
1434:  public:
1434:   template <typename... T>
1434:   constexpr inline __attribute__((always_inline)) format_arg_store(T&&... args)
1434:       :
1434: 
1434: 
1434: 
1434:         data_{detail::make_arg<
1434:             is_packed, Context,
1434:             detail::mapped_type_constant<remove_cvref_t<T>, Context>::value>(
1434:             static_cast<decltype(args)&&>(args))...} {
1434:     detail::init_named_args(data_.named_args(), 0, 0, args...);
1434:   }
1434: };
1434: # 1915 "/usr/include/fmt/core.h" 3 4
1434: template <typename Context = format_context, typename... Args>
1434: constexpr auto make_format_args(Args&&... args)
1434:     -> format_arg_store<Context, remove_cvref_t<Args>...> {
1434:   return {static_cast<decltype(args)&&>(args)...};
1434: }
1434: # 1932 "/usr/include/fmt/core.h" 3 4
1434: template <typename Char, typename T>
1434: inline auto arg(const Char* name, const T& arg) -> detail::named_arg<Char, T> {
1434:   static_assert(!detail::is_named_arg<T>(), "nested named arguments");
1434:   return {name, arg};
1434: }
1434: # 1948 "/usr/include/fmt/core.h" 3 4
1434: template <typename Context> class basic_format_args {
1434:  public:
1434:   using size_type = int;
1434:   using format_arg = basic_format_arg<Context>;
1434: 
1434:  private:
1434: 
1434: 
1434: 
1434: 
1434:   unsigned long long desc_;
1434:   union {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     const detail::value<Context>* values_;
1434:     const format_arg* args_;
1434:   };
1434: 
1434:   constexpr auto is_packed() const -> bool {
1434:     return (desc_ & detail::is_unpacked_bit) == 0;
1434:   }
1434:   auto has_named_args() const -> bool {
1434:     return (desc_ & detail::has_named_args_bit) != 0;
1434:   }
1434: 
1434:   constexpr auto type(int index) const -> detail::type {
1434:     int shift = index * detail::packed_arg_bits;
1434:     unsigned int mask = (1 << detail::packed_arg_bits) - 1;
1434:     return static_cast<detail::type>((desc_ >> shift) & mask);
1434:   }
1434: 
1434:   constexpr inline __attribute__((always_inline)) basic_format_args(unsigned long long desc,
1434:                                          const detail::value<Context>* values)
1434:       : desc_(desc), values_(values) {}
1434:   constexpr basic_format_args(unsigned long long desc, const format_arg* args)
1434:       : desc_(desc), args_(args) {}
1434: 
1434:  public:
1434:   constexpr basic_format_args() : desc_(0), args_(nullptr) {}
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template <typename... Args>
1434:   constexpr inline __attribute__((always_inline)) basic_format_args(
1434:       const format_arg_store<Context, Args...>& store)
1434:       : basic_format_args(format_arg_store<Context, Args...>::desc,
1434:                           store.data_.args()) {}
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr inline __attribute__((always_inline)) basic_format_args(
1434:       const dynamic_format_arg_store<Context>& store)
1434:       : basic_format_args(store.get_types(), store.data()) {}
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   constexpr basic_format_args(const format_arg* args, int count)
1434:       : basic_format_args(detail::is_unpacked_bit | detail::to_unsigned(count),
1434:                           args) {}
1434: 
1434: 
1434:   constexpr auto get(int id) const -> format_arg {
1434:     format_arg arg;
1434:     if (!is_packed()) {
1434:       if (id < max_size()) arg = args_[id];
1434:       return arg;
1434:     }
1434:     if (id >= detail::max_packed_args) return arg;
1434:     arg.type_ = type(id);
1434:     if (arg.type_ == detail::type::none_type) return arg;
1434:     arg.value_ = values_[id];
1434:     return arg;
1434:   }
1434: 
1434:   template <typename Char>
1434:   auto get(basic_string_view<Char> name) const -> format_arg {
1434:     int id = get_id(name);
1434:     return id >= 0 ? get(id) : format_arg();
1434:   }
1434: 
1434:   template <typename Char>
1434:   auto get_id(basic_string_view<Char> name) const -> int {
1434:     if (!has_named_args()) return -1;
1434:     const auto& named_args =
1434:         (is_packed() ? values_[-1] : args_[-1].value_).named_args;
1434:     for (size_t i = 0; i < named_args.size; ++i) {
1434:       if (named_args.data[i].name == name) return named_args.data[i].id;
1434:     }
1434:     return -1;
1434:   }
1434: 
1434:   auto max_size() const -> int {
1434:     unsigned long long max_packed = detail::max_packed_args;
1434:     return static_cast<int>(is_packed() ? max_packed
1434:                                         : desc_ & ~detail::is_unpacked_bit);
1434:   }
1434: };
1434: 
1434: 
1434: 
1434: 
1434: using format_args = basic_format_args<format_context>;
1434: # 2073 "/usr/include/fmt/core.h" 3 4
1434: namespace align {
1434: enum type : unsigned char{none, left, right, center,
1434:                                                   numeric};
1434: }
1434: using align_t = align::type;
1434: namespace sign {
1434: enum type : unsigned char{none, minus, plus, space};
1434: }
1434: using sign_t = sign::type;
1434: 
1434: namespace detail {
1434: 
1434: 
1434: template <typename Char> struct fill_t {
1434:  private:
1434:   enum { max_size = 4 };
1434:   Char data_[max_size] = {Char(' '), Char(0), Char(0), Char(0)};
1434:   unsigned char size_ = 1;
1434: 
1434:  public:
1434:   constexpr void operator=(basic_string_view<Char> s) {
1434:     auto size = s.size();
1434:     if (size > max_size) return throw_format_error("invalid fill");
1434:     for (size_t i = 0; i < size; ++i) data_[i] = s[i];
1434:     size_ = static_cast<unsigned char>(size);
1434:   }
1434: 
1434:   constexpr auto size() const -> size_t { return size_; }
1434:   constexpr auto data() const -> const Char* { return data_; }
1434: 
1434:   constexpr auto operator[](size_t index) -> Char& { return data_[index]; }
1434:   constexpr auto operator[](size_t index) const -> const Char& {
1434:     return data_[index];
1434:   }
1434: };
1434: }
1434: 
1434: enum class presentation_type : unsigned char {
1434:   none,
1434: 
1434:   dec,
1434:   oct,
1434:   hex_lower,
1434:   hex_upper,
1434:   bin_lower,
1434:   bin_upper,
1434:   hexfloat_lower,
1434:   hexfloat_upper,
1434:   exp_lower,
1434:   exp_upper,
1434:   fixed_lower,
1434:   fixed_upper,
1434:   general_lower,
1434:   general_upper,
1434:   chr,
1434:   string,
1434:   pointer,
1434:   debug
1434: };
1434: 
1434: 
1434: template <typename Char> struct basic_format_specs {
1434:   int width;
1434:   int precision;
1434:   presentation_type type;
1434:   align_t align : 4;
1434:   sign_t sign : 3;
1434:   bool alt : 1;
1434:   bool localized : 1;
1434:   detail::fill_t<Char> fill;
1434: 
1434:   constexpr basic_format_specs()
1434:       : width(0),
1434:         precision(-1),
1434:         type(presentation_type::none),
1434:         align(align::none),
1434:         sign(sign::none),
1434:         alt(false),
1434:         localized(false) {}
1434: };
1434: 
1434: using format_specs = basic_format_specs<char>;
1434: 
1434: namespace detail {
1434: 
1434: enum class arg_id_kind { none, index, name };
1434: 
1434: 
1434: template <typename Char> struct arg_ref {
1434:   constexpr arg_ref() : kind(arg_id_kind::none), val() {}
1434: 
1434:   constexpr explicit arg_ref(int index)
1434:       : kind(arg_id_kind::index), val(index) {}
1434:   constexpr explicit arg_ref(basic_string_view<Char> name)
1434:       : kind(arg_id_kind::name), val(name) {}
1434: 
1434:   constexpr auto operator=(int idx) -> arg_ref& {
1434:     kind = arg_id_kind::index;
1434:     val.index = idx;
1434:     return *this;
1434:   }
1434: 
1434:   arg_id_kind kind;
142:       typedef typename _Base::const_iterator const_iterator;
1412:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1412:       typedef std::reverse_iterator<iterator> reverse_iterator;
1412:       typedef size_t size_type;
1412:       typedef ptrdiff_t difference_type;
1412:       typedef _Alloc allocator_type;
1412: 
1412:     private:
1412:       static size_t _S_buffer_size() noexcept
1412:       { return __deque_buf_size(sizeof(_Tp)); }
1412: 
1412: 
1412:       using _Base::_M_initialize_map;
1412:       using _Base::_M_create_nodes;
1412:       using _Base::_M_destroy_nodes;
1412:       using _Base::_M_allocate_node;
1412:       using _Base::_M_deallocate_node;
1412:       using _Base::_M_allocate_map;
1412:       using _Base::_M_deallocate_map;
1412:       using _Base::_M_get_Tp_allocator;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       using _Base::_M_impl;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       deque() = default;
1412: # 864 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       explicit
1412:       deque(const allocator_type& __a)
1412:       : _Base(__a, 0) { }
1412: # 877 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       explicit
1412:       deque(size_type __n, const allocator_type& __a = allocator_type())
1412:       : _Base(__a, _S_check_init_len(__n, __a))
1412:       { _M_default_initialize(); }
1412: # 890 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       deque(size_type __n, const value_type& __value,
1412:      const allocator_type& __a = allocator_type())
1412:       : _Base(__a, _S_check_init_len(__n, __a))
1412:       { _M_fill_initialize(__value); }
1412: # 917 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       deque(const deque& __x)
1412:       : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()),
1412:        __x.size())
1412:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1412:         this->_M_impl._M_start,
1412:         _M_get_Tp_allocator()); }
1412: # 933 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       deque(deque&&) = default;
1412: 
1412: 
1412:       deque(const deque& __x, const __type_identity_t<allocator_type>& __a)
1412:       : _Base(__a, __x.size())
1412:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1412:         this->_M_impl._M_start,
1412:         _M_get_Tp_allocator()); }
1412: 
1412: 
1412:       deque(deque&& __x, const __type_identity_t<allocator_type>& __a)
1412:       : deque(std::move(__x), __a, typename _Alloc_traits::is_always_equal{})
1412:       { }
1412: 
1412:     private:
1412:       deque(deque&& __x, const allocator_type& __a, true_type)
1412:       : _Base(std::move(__x), __a)
1412:       { }
1412: 
1412:       deque(deque&& __x, const allocator_type& __a, false_type)
1412:       : _Base(std::move(__x), __a, __x.size())
1412:       {
1412:  if (__x.get_allocator() != __a && !__x.empty())
1412:    {
1412:      std::__uninitialized_move_a(__x.begin(), __x.end(),
1412:      this->_M_impl._M_start,
1412:      _M_get_Tp_allocator());
1412:      __x.clear();
1412:    }
1412:       }
1412: 
1412:     public:
1412: # 976 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       deque(initializer_list<value_type> __l,
1412:      const allocator_type& __a = allocator_type())
1412:       : _Base(__a)
1412:       {
1412:  _M_range_initialize(__l.begin(), __l.end(),
1412:        random_access_iterator_tag());
1412:       }
1412: # 1001 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412:  deque(_InputIterator __first, _InputIterator __last,
1412:        const allocator_type& __a = allocator_type())
1412:  : _Base(__a)
1412:  {
1412:    _M_range_initialize(__first, __last,
1412:          std::__iterator_category(__first));
1412:  }
1412: # 1027 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       ~deque()
1412:       { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); }
1412: # 1039 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       deque&ts10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr long
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr long
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr long
1115:       infinity() noexcept { return static_cast<long>(0); }
1115: 
1115:       static constexpr long
1115:       quiet_NaN() noexcept { return static_cast<long>(0); }
1115: 
1115:       static constexpr long
1115:       signaling_NaN() noexcept { return static_cast<long>(0); }
1115: 
1115:       static constexpr long
1115:       denorm_min() noexcept { return static_cast<long>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<unsigned long>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr unsigned long
1115:       min() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned long
1115:       max() noexcept { return 0x7fffffffL * 2UL + 1; }
1115: 
1115: 
1115:       static constexpr unsigned long
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits
1115:        = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = false;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr unsigned long
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned long
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr unsigned long
1115:       infinity() noexcept
1115:       { return static_cast<unsigned long>(0); }
1115: 
1115:       static constexpr unsigned long
1115:       quiet_NaN() noexcept
1115:       { return static_cast<unsigned long>(0); }
1115: 
1115:       static constexpr unsigned long
1115:       signaling_NaN() noexcept
1115:       { return static_cast<unsigned long>(0); }
1115: 
1115:       static constexpr unsigned long
1115:       denorm_min() noexcept
1115:       { ret34:   union value {
1434:     constexpr value(int id = 0) : index{id} {}
1434:     constexpr value(basic_string_view<Char> n) : name(n) {}
1434: 
1434:     int index;
1434:     basic_string_view<Char> name;
1434:   } val;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: template <typename Char>
1434: struct dynamic_format_specs : basic_format_specs<Char> {
1434:   arg_ref<Char> width_ref;
1434:   arg_ref<Char> precision_ref;
1434: };
1434: 
1434: struct auto_id {};
1434: 
1434: 
1434: template <typename Char> class specs_setter {
1434:  protected:
1434:   basic_format_specs<Char>& specs_;
1434: 
1434:  public:
1434:   explicit constexpr specs_setter(basic_format_specs<Char>& specs)
1434:       : specs_(specs) {}
1434: 
1434:   constexpr specs_setter(const specs_setter& other)
1434:       : specs_(other.specs_) {}
1434: 
1434:   constexpr void on_align(align_t align) { specs_.align = align; }
1434:   constexpr void on_fill(basic_string_view<Char> fill) {
1434:     specs_.fill = fill;
1434:   }
1434:   constexpr void on_sign(sign_t s) { specs_.sign = s; }
1434:   constexpr void on_hash() { specs_.alt = true; }
1434:   constexpr void on_localized() { specs_.localized = true; }
1434: 
1434:   constexpr void on_zero() {
1434:     if (specs_.align == align::none) specs_.align = align::numeric;
1434:     specs_.fill[0] = Char('0');
1434:   }
1434: 
1434:   constexpr void on_width(int width) { specs_.width = width; }
1434:   constexpr void on_precision(int precision) {
1434:     specs_.precision = precision;
1434:   }
1434:   constexpr void end_precision() {}
1434: 
1434:   constexpr void on_type(presentation_type type) { specs_.type = type; }
1434: };
1434: 
1434: 
1434: 
1434: template <typename ParseContext>
1434: class dynamic_specs_handler
1434:     : public specs_setter<typename ParseContext::char_type> {
1434:  public:
1434:   using char_type = typename ParseContext::char_type;
1434: 
1434:   constexpr dynamic_specs_handler(dynamic_format_specs<char_type>& specs,
1434:                                       ParseContext& ctx)
1434:       : specs_setter<char_type>(specs), specs_(specs), context_(ctx) {}
1434: 
1434:   constexpr dynamic_specs_handler(const dynamic_specs_handler& other)
1434:       : specs_setter<char_type>(other),
1434:         specs_(other.specs_),
1434:         context_(other.context_) {}
1434: 
1434:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1434:     specs_.width_ref = make_arg_ref(arg_id);
1434:   }
1434: 
1434:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1434:     specs_.precision_ref = make_arg_ref(arg_id);
1434:   }
1434: 
1434:   constexpr void on_error(const char* message) {
1434:     context_.on_error(message);
1434:   }
1434: 
1434:  private:
1434:   dynamic_format_specs<char_type>& specs_;
1434:   ParseContext& context_;
1434: 
1434:   using arg_ref_type = arg_ref<char_type>;
1434: 
1434:   constexpr auto make_arg_ref(int arg_id) -> arg_ref_type {
1434:     context_.check_arg_id(arg_id);
1434:     context_.check_dynamic_spec(arg_id);
1434:     return arg_ref_type(arg_id);
1434:   }
1434: 
1434:   constexpr auto make_arg_ref(auto_id) -> arg_ref_type {
1434:     int arg_id = context_.next_arg_id();
1434:     context_.check_dynamic_spec(arg_id);
1434:     return arg_ref_type(arg_id);
1434:   }
1434: 
1434:   constexpr auto make_arg_ref(basic_string_view<char_type> arg_id)
1434:       -> arg_ref_type {
1434:     context_.check_arg_id(arg_id);
1434:     basic_string_view<char_type> format_str(
1434:         context_.begin(), to_unsigned(context_.end() - context_.begin()));
1434:     return arg_ref_type(arg_id);
1434:   }
1434: };
1434: 
1434: template <typename Char> constexpr bool is_ascii_letter(Char c) {
1434:   return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
1434: }
1434: 
1434: 
1434: template <typename Char, enable_if_t<(std::is_integral<Char>::value), int> = 0>
1434: constexpr auto to_ascii(Char c) -> Char {
1434:   return c;
1434: }
1434: template <typename Char, enable_if_t<(std::is_enum<Char>::value), int> = 0>
1434: constexpr auto to_ascii(Char c) -> underlying_t<Char> {
1434:   return c;
1434: }
1434: 
1434: constexpr inline auto code_point_length_impl(char c) -> int {
1434:   return "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4"
1434:       [static_cast<unsigned char>(c) >> 3];
1434: }
1434: 
1434: template <typename Char>
1434: constexpr auto code_point_length(const Char* begin) -> int {
1434:   if (const_check(sizeof(Char) != 1)) return 1;
1434:   int len = code_point_length_impl(static_cast<char>(*begin));
1434: 
1434: 
1434: 
1434: 
1434:   return len + !len;
1434: }
1434: 
1434: 
1434: template <bool IS_CONSTEXPR, typename T, typename Ptr = const T*>
1434: constexpr auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool {
1434:   for (out = first; out != last; ++out) {
1434:     if (*out == value) return true;
1434:   }
1434:   return false;
1434: }
1434: 
1434: template <>
1434: inline auto find<false, char>(const char* first, const char* last, char value,
1434:                               const char*& out) -> bool {
1434:   out = static_cast<const char*>(
1434:       std::memchr(first, value, to_unsigned(last - first)));
1434:   return out != nullptr;
1434: }
1434: 
1434: 
1434: 
1434: template <typename Char>
1434: constexpr auto parse_nonnegative_int(const Char*& begin, const Char* end,
1434:                                          int error_value) noexcept -> int {
1434:   ::fmt::detail::ignore_unused((begin != end && '0' <= *begin && *begin <= '9'), (""));
1434:   unsigned value = 0, prev = 0;
1434:   auto p = begin;
1434:   do {
1434:     prev = value;
1434:     value = value * 10 + unsigned(*p - '0');
1434:     ++p;
1434:   } while (p != end && '0' <= *p && *p <= '9');
1434:   auto num_digits = p - begin;
1434:   begin = p;
1434:   if (num_digits <= std::numeric_limits<int>::digits10)
1434:     return static_cast<int>(value);
1434: 
1434:   const unsigned max = to_unsigned((std::numeric_limits<int>::max)());
1434:   return num_digits == std::numeric_limits<int>::digits10 + 1 &&
1434:                  prev * 10ull + unsigned(p[-1] - '0') <= max
1434:              ? static_cast<int>(value)
1434:              : error_value;
1434: }
1434: 
1434: 
1434: template <typename Char, typename Handler>
1434: constexpr auto parse_align(const Char* begin, const Char* end,
1434:                                Handler&& handler) -> const Char* {
1434:   ::fmt::detail::ignore_unused((begin != end), (""));
1434:   auto align = align::none;
1434:   auto p = begin + code_point_length(begin);
1434:   if (end - p <= 0) p = begin;
1434:   for (;;) {
1434:     switch (to_ascii(*p)) {
1434:     case '<':
1434:       align = align::left;
1434:       break;
1434:     case '>':
1434:       align = align::right;
1434:       break;
1434:     case '^':
1434:       align = align::center;
1434:       break;
1434:     default:
1434:       break;
1434:     }
1434:     if (align != align::none) {
1434:       if (p != begin) {
1434:         auto c = *begin;
1434:         if (c == '{')
1434:           return handler.on_error("invalid fill character '{'"), begin;
1434:         handler.on_fill(basic_string_view<Char>(begin, to_unsigned(p - begin)));
1434:         begin = p + 1;
1434:       } else
1434:         ++begin;
1434:       handler.on_align(align);
1434:       break;
1434:     } else if (p == begin) {
1434:       break;
1434:     }
1434:     p = begin;
1434:   }
1434:   return begin;
1434: }
1434: 
1434: template <typename Char> constexpr bool is_name_start(Char c) {
1434:   return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || '_' == c;
1434: }
1434: 
1434: template <typename Char, typename IDHandler>
1434: constexpr auto do_parse_arg_id(const Char* begin, const Char* end,
1434:                                    IDHandler&& handler) -> const Char* {
1434:   ::fmt::detail::ignore_unused((begin != end), (""));
1434:   Char c = *begin;
1434:   if (c >= '0' && c <= '9') {
1434:     int index = 0;
1434:     if (c != '0')
1434:       index =
1434:           parse_nonnegative_int(begin, end, (std::numeric_limits<int>::max)());
1434:     el
1412:       operator=(const deque& __x);
1412: # 1051 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       deque&
1412:       operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal())
1412:       {
1412:  using __always_equal = typename _Alloc_traits::is_always_equal;
1412:  _M_move_assign1(std::move(__x), __always_equal{});
1412:  return *this;
1412:       }
1412: # 1070 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       deque&
1412:       operator=(initializer_list<value_type> __l)
1412:       {
1412:  _M_assign_aux(__l.begin(), __l.end(),
1412:         random_access_iterator_tag());
1412:  return *this;
1412:       }
1412: # 1089 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       assign(size_type __n, const value_type& __val)
1412:       { _M_fill_assign(__n, __val); }
1412: # 1106 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412:  void
1412:  assign(_InputIterator __first, _InputIterator __last)
1412:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1412: # 1133 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       assign(initializer_list<value_type> __l)
1412:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       allocator_type
1412:       get_allocator() const noexcept
1412:       { return _Base::get_allocator(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       begin() noexcept
1412:       { return this->_M_impl._M_start; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       begin() const noexcept
1412:       { return this->_M_impl._M_start; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       iterator
1412:       end() noexcept
1412:       { return this->_M_impl._M_finish; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       end() const noexcept
1412:       { return this->_M_impl._M_finish; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rbegin() noexcept
1412:       { return reverse_iterator(this->_M_impl._M_finish); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rbegin() const noexcept
1412:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reverse_iterator
1412:       rend() noexcept
1412:       { return reverse_iterator(this->_M_impl._M_start); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       rend() const noexcept
1412:       { return const_reverse_iterator(this->_M_impl._M_start); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cbegin() const noexcept
1412:       { return this->_M_impl._M_start; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_iterator
1412:       cend() const noexcept
1412:       { return this->_M_impl._M_finish; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crbegin() const noexcept
1412:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reverse_iterator
1412:       crend() const noexcept
1412:       { return const_reverse_iterator(this->_M_impl._M_start); }
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       size() const noexcept
1412:       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       max_size() const noexcepurn static_cast<unsigned long>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = true;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<long long>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr long long
1115:       min() noexcept { return -0x7fffffffffffffffLL - 1; }
1115: 
1115:       static constexpr long long
1115:       max() noexcept { return 0x7fffffffffffffffLL; }
1115: 
1115: 
1115:       static constexpr long long
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits
1115:        = (sizeof(long long) * 8 - ((long long)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr long long
1115:       epsilon() noexcept { return 0; }
1115: 
1115:       static constexpr long long
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr long long
1115:       infinity() noexcept { return static_cast<long long>(0); }
1115: 
1115:       static constexpr long long
1115:       quiet_NaN() noexcept { return static_cast<long long>(0); }
1115: 
1115:       static constexpr long long
1115:       signaling_NaN() noexcept
1115:       { return static_cast<long long>(0); }
1115: 
1115:       static constexpr long long
1115:       denorm_min() noexcept { return static_cast<long long>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<unsigned long long>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr unsigned long long
1115:       min() noexcept { return 0; }
1115: 
1115:       static constexpr unsigned long long
1115:       max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; }
1115: 
1115: 
1115:       static constexpr unsigned long long
1115:       lowest() noexcept { return min(); }
1115: 
1115: 
1115:       static constexpr int digits
1115:        = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
1115:       static constexpr int digits10
1115:        = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136);
1115: 
1115:       static constexpr int max_digits10 = 0;
1115: 
1115:       static constexpr bool is_signed = false;
1115:       static constexpr bool is_integer = true;
1115:       static constexpr bool is_exact = true;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr unsigned long long
1115:       epsilon() nse
1434:       ++begin;
1434:     if (begin == end || (*begin != '}' && *begin != ':'))
1434:       handler.on_error("invalid format string");
1434:     else
1434:       handler(index);
1434:     return begin;
1434:   }
1434:   if (!is_name_start(c)) {
1434:     handler.on_error("invalid format string");
1434:     return begin;
1434:   }
1434:   auto it = begin;
1434:   do {
1434:     ++it;
1434:   } while (it != end && (is_name_start(c = *it) || ('0' <= c && c <= '9')));
1434:   handler(basic_string_view<Char>(begin, to_unsigned(it - begin)));
1434:   return it;
1434: }
1434: 
1434: template <typename Char, typename IDHandler>
1434: constexpr inline __attribute__((always_inline)) auto parse_arg_id(const Char* begin, const Char* end,
1434:                                            IDHandler&& handler) -> const Char* {
1434:   Char c = *begin;
1434:   if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler);
1434:   handler();
1434:   return begin;
1434: }
1434: 
1434: template <typename Char, typename Handler>
1434: constexpr auto parse_width(const Char* begin, const Char* end,
1434:                                Handler&& handler) -> const Char* {
1434:   using detail::auto_id;
1434:   struct width_adapter {
1434:     Handler& handler;
1434: 
1434:     constexpr void operator()() { handler.on_dynamic_width(auto_id()); }
1434:     constexpr void operator()(int id) { handler.on_dynamic_width(id); }
1434:     constexpr void operator()(basic_string_view<Char> id) {
1434:       handler.on_dynamic_width(id);
1434:     }
1434:     constexpr void on_error(const char* message) {
1434:       if (message) handler.on_error(message);
1434:     }
1434:   };
1434: 
1434:   ::fmt::detail::ignore_unused((begin != end), (""));
1434:   if ('0' <= *begin && *begin <= '9') {
1434:     int width = parse_nonnegative_int(begin, end, -1);
1434:     if (width != -1)
1434:       handler.on_width(width);
1434:     else
1434:       handler.on_error("number is too big");
1434:   } else if (*begin == '{') {
1434:     ++begin;
1434:     if (begin != end) begin = parse_arg_id(begin, end, width_adapter{handler});
1434:     if (begin == end || *begin != '}')
1434:       return handler.on_error("invalid format string"), begin;
1434:     ++begin;
1434:   }
1434:   return begin;
1434: }
1434: 
1434: template <typename Char, typename Handler>
1434: constexpr auto parse_precision(const Char* begin, const Char* end,
1434:                                    Handler&& handler) -> const Char* {
1434:   using detail::auto_id;
1434:   struct precision_adapter {
1434:     Handler& handler;
1434: 
1434:     constexpr void operator()() { handler.on_dynamic_precision(auto_id()); }
1434:     constexpr void operator()(int id) { handler.on_dynamic_precision(id); }
1434:     constexpr void operator()(basic_string_view<Char> id) {
1434:       handler.on_dynamic_precision(id);
1434:     }
1434:     constexpr void on_error(const char* message) {
1434:       if (message) handler.on_error(message);
1434:     }
1434:   };
1434: 
1434:   ++begin;
1434:   auto c = begin != end ? *begin : Char();
1434:   if ('0' <= c && c <= '9') {
1434:     auto precision = parse_nonnegative_int(begin, end, -1);
1434:     if (precision != -1)
1434:       handler.on_precision(precision);
1434:     else
1434:       handler.on_error("number is too big");
1434:   } else if (c == '{') {
1434:     ++begin;
1434:     if (begin != end)
1434:       begin = parse_arg_id(begin, end, precision_adapter{handler});
1434:     if (begin == end || *begin++ != '}')
1434:       return handler.on_error("invalid format string"), begin;
1434:   } else {
1434:     return handler.on_error("missing precision specifier"), begin;
1434:   }
1434:   handler.end_precision();
1434:   return begin;
1434: }
1434: 
1434: template <typename Char>
1434: constexpr auto parse_presentation_type(Char type) -> presentation_type {
1434:   switch (to_ascii(type)) {
1434:   case 'd':
1434:     return presentation_type::dec;
1434:   case 'o':
1434:     return presentation_type::oct;
1434:   case 'x':
1434:     return presentation_type::hex_lower;
1434:   case 'X':
1434:     return presentation_type::hex_upper;
1434:   case 'b':
1434:     return presentation_type::bin_lower;
1434:   case 'B':
1434:     return presentation_type::bin_upper;
1434:   case 'a':
1434:     return presentation_type::hexfloat_lower;
1434:   case 'A':
1434:     return presentation_type::hexfloat_upper;
1434:   case 'e':
1434:     return presentation_type::exp_lower;
1434:   case 'E':
1434:     return presentation_type::exp_upper;
1434:   case 'f':
1434:     return presentation_type::fixed_lower;
1434:   case 'F':
1434:     return presentation_type::fixed_upper;
1434:   case 'g':
1434:     return presentation_type::general_lower;
1434:   case 'G':
1434:     return presentation_type::general_upper;
1434:   case 'c':
1434:     return presentation_type::chr;
1434:   case 's':
1434:     return presentation_type::string;
1434:   case 'p':
1434:     return presentation_type::pointer;
1434:   case '?':
1434:     return presentation_type::debug;
1434:   default:
1434:     return presentation_type::none;
1434:   }
1434: }
1434: 
1434: 
1434: 
1434: template <typename Char, typename SpecHandler>
1434: constexpr inline __attribute__((always_inline)) auto parse_format_specs(const Char* begin,
1434:                                                  const Char* end,
1434:                                                  SpecHandler&& handler)
1434:     -> const Char* {
1434:   if (1 < end - begin && begin[1] == '}' && is_ascii_letter(*begin) &&
1434:       *begin != 'L') {
1434:     presentation_type type = parse_presentation_type(*begin++);
1434:     if (type == presentation_type::none)
1434:       handler.on_error("invalid type specifier");
1434:     handler.on_type(type);
1434:     return begin;
1434:   }
1434: 
1434:   if (begin == end) return begin;
1434: 
1434:   begin = parse_align(begin, end, handler);
1434:   if (begin == end) return begin;
1434: 
1434: 
1434:   switch (to_ascii(*begin)) {
1434:   case '+':
1434:     handler.on_sign(sign::plus);
1434:     ++begin;
1434:     break;
1434:   case '-':
1434:     handler.on_sign(sign::minus);
1434:     ++begin;
1434:     break;
1434:   case ' ':
1434:     handler.on_sign(sign::space);
1434:     ++begin;
1434:     break;
1434:   default:
1434:     break;
1434:   }
1434:   if (begin == end) return begin;
1434: 
1434:   if (*begin == '#') {
1434:     handler.on_hash();
1434:     if (++begin == end) return begin;
1434:   }
1434: 
1434: 
1434:   if (*begin == '0') {
1434:     handler.on_zero();
1434:     if (++begin == end) return begin;
1434:   }
1434: 
1434:   begin = parse_width(begin, end, handler);
1434:   if (begin == end) return begin;
1434: 
1434: 
1434:   if (*begin == '.') {
1434:     begin = parse_precision(begin, end, handler);
1434:     if (begin == end) return begin;
1434:   }
1434: 
1434:   if (*begin == 'L') {
1434:     handler.on_localized();
1434:     ++begin;
1434:   }
1434: 
1434: 
1434:   if (begin != end && *begin != '}') {
1434:     presentation_type type = parse_presentation_type(*begin++);
1434:     if (type == presentation_type::none)
1434:       handler.on_error("invalid type specifier");
1434:     handler.on_type(type);
1434:   }
1434:   return begin;
1434: }
1434: 
1434: template <typename Char, typename Handler>
1434: constexpr auto parse_replacement_field(const Char* begin, const Char* end,
1434:                                            Handler&& handler) -> const Char* {
1434:   struct id_adapter {
1434:     Handler& handler;
1434:     int arg_id;
1434: 
1434:     constexpr void operator()() { arg_id = handler.on_arg_id(); }
1434:     constexpr void operator()(int id) { arg_id = handler.on_arg_id(id); }
1434:     constexpr void operator()(basic_string_view<Char> id) {
1434:       arg_id = handler.on_arg_id(id);
1434:     }
1434:     constexpr void on_error(const char* message) {
1434:       if (message) handler.on_error(message);
1434:     }
1434:   };
1434: 
1434:   ++begin;
1434:   if (begin == end) return handler.on_error("invalid format string"), end;
1434:   if (*begin == '}') {
1434:     handler.ont
1412:       { return _S_max_size(_M_get_Tp_allocator()); }
1412: # 1287 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       resize(size_type __new_size)
1412:       {
1412:  const size_type __len = size();
1412:  if (__new_size > __len)
1412:    _M_default_append(__new_size - __len);
1412:  else if (__new_size < __len)
1412:    _M_erase_at_end(this->_M_impl._M_start
1412:      + difference_type(__new_size));
1412:       }
1412: # 1309 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       resize(size_type __new_size, const value_type& __x)
1412: # 1326 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       {
1412:  const size_type __len = size();
1412:  if (__new_size > __len)
1412:    _M_fill_insert(this->_M_impl._M_finish, __new_size - __len, __x);
1412:  else if (__new_size < __len)
1412:    _M_erase_at_end(this->_M_impl._M_start
1412:      + difference_type(__new_size));
1412:       }
1412: 
1412: 
1412: 
1412:       void
1412:       shrink_to_fit() noexcept
1412:       { _M_shrink_to_fit(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]] bool
1412:       empty() const noexcept
1412:       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
1412: # 1362 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       [[__nodiscard__]]
1412:       reference
1412:       operator[](size_type __n) noexcept
1412:       {
1412:  ;
1412:  return this->_M_impl._M_start[difference_type(__n)];
1412:       }
1412: # 1381 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       operator[](size_type __n) const noexcept
1412:       {
1412:  ;
1412:  return this->_M_impl._M_start[difference_type(__n)];
1412:       }
1412: 
1412:     protected:
1412: 
1412:       void
1412:       _M_range_check(size_type __n) const
1412:       {
1412:  if (__n >= this->size())
1412:    __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)")
1412: 
1412:                             ,
1412:        __n, this->size());
1412:       }
1412: 
1412:     public:
1412: # 1413 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       reference
1412:       at(size_type __n)
1412:       {
1412:  _M_range_check(__n);
1412:  return (*this)[__n];
1412:       }
1412: # 1431 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       const_reference
1412:       at(size_type __n) const
1412:       {
1412:  _M_range_check(__n);
1412:  return (*this)[__n];
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       front() noexcept
1412:       {
1412:  ;
1412:  return *begin();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       front() const noexcept
1412:       {
1412:  ;
1412:  return *begin();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       back() noexcept
1412:       {
1412:  ;
1412:  iterator __tmp = end();
1412:  --__tmp;
1412:  return *__tmp;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       back() const noexcept
1412:       {
1412:  ;
1412:  const_iterator __tmp = end();
1412:  --__tmp;
1412:  return *__tmp;
1412:       }
1412: # 1500 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       push_front(const value_type& __x)
1412:       {
1412:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1412:    {
1412:      _Alloc_traits::construct(this->_M_impl,
1412:          this->_M_impl._M_start._M_cur - 1,
1412:          __x);
1412:      --this->_M_impl._M_start._M_cur;
1412:    }
1412:  else
1412:    _M_push_front_aux(__x);
1412:       }
1412: 
1412: 
1412:       void
1412:       push_front(value_type&& __x)
1412:       { emplace_front(std::move(__x)); }
1412: 
1412:       template<typename... _Args>
1412: 
1412:  reference
1412: 
1412: 
1412: 
1412:  emplace_front(_Args&&... __args);
1412: # 1537 "/usr/include/c++/12/bits/stl_deque.hoexcept { return 0; }
1115: 
1115:       static constexpr unsigned long long
1115:       round_error() noexcept { return 0; }
1115: 
1115:       static constexpr int min_exponent = 0;
1115:       static constexpr int min_exponent10 = 0;
1115:       static constexpr int max_exponent = 0;
1115:       static constexpr int max_exponent10 = 0;
1115: 
1115:       static constexpr bool has_infinity = false;
1115:       static constexpr bool has_quiet_NaN = false;
1115:       static constexpr bool has_signaling_NaN = false;
1115:       static constexpr float_denorm_style has_denorm
1115:        = denorm_absent;
1115:       static constexpr bool has_denorm_loss = false;
1115: 
1115:       static constexpr unsigned long long
1115:       infinity() noexcept
1115:       { return static_cast<unsigned long long>(0); }
1115: 
1115:       static constexpr unsigned long long
1115:       quiet_NaN() noexcept
1115:       { return static_cast<unsigned long long>(0); }
1115: 
1115:       static constexpr unsigned long long
1115:       signaling_NaN() noexcept
1115:       { return static_cast<unsigned long long>(0); }
1115: 
1115:       static constexpr unsigned long long
1115:       denorm_min() noexcept
1115:       { return static_cast<unsigned long long>(0); }
1115: 
1115:       static constexpr bool is_iec559 = false;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = true;
1115: 
1115:       static constexpr bool traps = true;
1115:       static constexpr bool tinyness_before = false;
1115:       static constexpr float_round_style round_style
1115:        = round_toward_zero;
1115:     };
1115: # 1669 "/usr/include/c++/12/limits" 3
1115:   template<>
1115:     struct numeric_limits<float>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr float
1115:       min() noexcept { return 1.1754943508222875e-38F; }
1115: 
1115:       static constexpr float
1115:       max() noexcept { return 3.4028234663852886e+38F; }
1115: 
1115: 
1115:       static constexpr float
1115:       lowest() noexcept { return -3.4028234663852886e+38F; }
1115: 
1115: 
1115:       static constexpr int digits = 24;
1115:       static constexpr int digits10 = 6;
1115: 
1115:       static constexpr int max_digits10
1115:   = (2 + (24) * 643L / 2136);
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = false;
1115:       static constexpr bool is_exact = false;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr float
1115:       epsilon() noexcept { return 1.1920928955078125e-7F; }
1115: 
1115:       static constexpr float
1115:       round_error() noexcept { return 0.5F; }
1115: 
1115:       static constexpr int min_exponent = (-125);
1115:       static constexpr int min_exponent10 = (-37);
1115:       static constexpr int max_exponent = 128;
1115:       static constexpr int max_exponent10 = 38;
1115: 
1115:       static constexpr bool has_infinity = 1;
1115:       static constexpr bool has_quiet_NaN = 1;
1115:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1115:       static constexpr float_denorm_style has_denorm
1115:  = bool(1) ? denorm_present : denorm_absent;
1115:       static constexpr bool has_denorm_loss
1115:        = false;
1115: 
1115:       static constexpr float
1115:       infinity() noexcept { return __builtin_huge_valf(); }
1115: 
1115:       static constexpr float
1115:       quiet_NaN() noexcept { return __builtin_nanf(""); }
1115: 
1115:       static constexpr float
1115:       signaling_NaN() noexcept { return __builtin_nansf(""); }
1115: 
1115:       static constexpr float
1115:       denorm_min() noexcept { return 1.4012984643248171e-45F; }
1115: 
1115:       static constexpr bool is_iec559
1115:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = false;
1115:       static constexpr bool_replacement_field(handler.on_arg_id(), begin);
1434:   } else if (*begin == '{') {
1434:     handler.on_text(begin, begin + 1);
1434:   } else {
1434:     auto adapter = id_adapter{handler, 0};
1434:     begin = parse_arg_id(begin, end, adapter);
1434:     Char c = begin != end ? *begin : Char();
1434:     if (c == '}') {
1434:       handler.on_replacement_field(adapter.arg_id, begin);
1434:     } else if (c == ':') {
1434:       begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
1434:       if (begin == end || *begin != '}')
1434:         return handler.on_error("unknown format specifier"), end;
1434:     } else {
1434:       return handler.on_error("missing '}' in format string"), end;
1434:     }
1434:   }
1434:   return begin + 1;
1434: }
1434: 
1434: template <bool IS_CONSTEXPR, typename Char, typename Handler>
1434: constexpr inline __attribute__((always_inline)) void parse_format_string(
1434:     basic_string_view<Char> format_str, Handler&& handler) {
1434: 
1434:   using detail::find;
1434: 
1434:   auto begin = format_str.data();
1434:   auto end = begin + format_str.size();
1434:   if (end - begin < 32) {
1434: 
1434:     const Char* p = begin;
1434:     while (p != end) {
1434:       auto c = *p++;
1434:       if (c == '{') {
1434:         handler.on_text(begin, p - 1);
1434:         begin = p = parse_replacement_field(p - 1, end, handler);
1434:       } else if (c == '}') {
1434:         if (p == end || *p != '}')
1434:           return handler.on_error("unmatched '}' in format string");
1434:         handler.on_text(begin, p);
1434:         begin = ++p;
1434:       }
1434:     }
1434:     handler.on_text(begin, end);
1434:     return;
1434:   }
1434:   struct writer {
1434:     constexpr void operator()(const Char* from, const Char* to) {
1434:       if (from == to) return;
1434:       for (;;) {
1434:         const Char* p = nullptr;
1434:         if (!find<IS_CONSTEXPR>(from, to, Char('}'), p))
1434:           return handler_.on_text(from, to);
1434:         ++p;
1434:         if (p == to || *p != '}')
1434:           return handler_.on_error("unmatched '}' in format string");
1434:         handler_.on_text(from, p);
1434:         from = p + 1;
1434:       }
1434:     }
1434:     Handler& handler_;
1434:   } write = {handler};
1434:   while (begin != end) {
1434: 
1434: 
1434:     const Char* p = begin;
1434:     if (*begin != '{' && !find<IS_CONSTEXPR>(begin + 1, end, Char('{'), p))
1434:       return write(begin, end);
1434:     write(begin, p);
1434:     begin = parse_replacement_field(p, end, handler);
1434:   }
1434: }
1434: 
1434: template <typename T, bool = is_named_arg<T>::value> struct strip_named_arg {
1434:   using type = T;
1434: };
1434: template <typename T> struct strip_named_arg<T, true> {
1434:   using type = remove_cvref_t<decltype(T::value)>;
1434: };
1434: 
1434: template <typename T, typename ParseContext>
1434: constexpr auto parse_format_specs(ParseContext& ctx)
1434:     -> decltype(ctx.begin()) {
1434:   using char_type = typename ParseContext::char_type;
1434:   using context = buffer_context<char_type>;
1434:   using stripped_type = typename strip_named_arg<T>::type;
1434:   using mapped_type = conditional_t<
1434:       mapped_type_constant<T, context>::value != type::custom_type,
1434:       decltype(arg_mapper<context>().map(std::declval<const T&>())),
1434:       stripped_type>;
1434:   auto f = conditional_t<has_formatter<mapped_type, context>::value,
1434:                          formatter<mapped_type, char_type>,
1434:                          fallback_formatter<stripped_type, char_type>>();
1434:   return f.parse(ctx);
1434: }
1434: 
1434: template <typename ErrorHandler>
1434: constexpr void check_int_type_spec(presentation_type type,
1434:                                        ErrorHandler&& eh) {
1434:   if (type > presentation_type::bin_upper && type != presentation_type::chr)
1434:     eh.on_error("invalid type specifier");
1434: }
1434: 
1434: 
1434: template <typename Char, typename ErrorHandler = error_handler>
1434: constexpr auto check_char_s" 3
1412:       void
1412:       push_back(const value_type& __x)
1412:       {
1412:  if (this->_M_impl._M_finish._M_cur
1412:      != this->_M_impl._M_finish._M_last - 1)
1412:    {
1412:      _Alloc_traits::construct(this->_M_impl,
1412:          this->_M_impl._M_finish._M_cur, __x);
1412:      ++this->_M_impl._M_finish._M_cur;
1412:    }
1412:  else
1412:    _M_push_back_aux(__x);
1412:       }
1412: 
1412: 
1412:       void
1412:       push_back(value_type&& __x)
1412:       { emplace_back(std::move(__x)); }
1412: 
1412:       template<typename... _Args>
1412: 
1412:  reference
1412: 
1412: 
1412: 
1412:  emplace_back(_Args&&... __args);
1412: # 1573 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       pop_front() noexcept
1412:       {
1412:  ;
1412:  if (this->_M_impl._M_start._M_cur
1412:      != this->_M_impl._M_start._M_last - 1)
1412:    {
1412:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1412:        this->_M_impl._M_start._M_cur);
1412:      ++this->_M_impl._M_start._M_cur;
1412:    }
1412:  else
1412:    _M_pop_front_aux();
1412:       }
1412: # 1596 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       pop_back() noexcept
1412:       {
1412:  ;
1412:  if (this->_M_impl._M_finish._M_cur
1412:      != this->_M_impl._M_finish._M_first)
1412:    {
1412:      --this->_M_impl._M_finish._M_cur;
1412:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1412:        this->_M_impl._M_finish._M_cur);
1412:    }
1412:  else
1412:    _M_pop_back_aux();
1412:       }
1412: # 1621 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename... _Args>
1412:  iterator
1412:  emplace(const_iterator __position, _Args&&... __args);
1412: # 1634 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       iterator
1412:       insert(const_iterator __position, const value_type& __x);
1412: # 1660 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       iterator
1412:       insert(const_iterator __position, value_type&& __x)
1412:       { return emplace(__position, std::move(__x)); }
1412: # 1674 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       iterator
1412:       insert(const_iterator __p, initializer_list<value_type> __l)
1412:       {
1412:  auto __offset = __p - cbegin();
1412:  _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(),
1412:        std::random_access_iterator_tag());
1412:  return begin() + __offset;
1412:       }
1412: # 1693 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       iterator
1412:       insert(const_iterator __position, size_type __n, const value_type& __x)
1412:       {
1412:  difference_type __offset = __position - cbegin();
1412:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1412:  return begin() + __offset;
1412:       }
1412: # 1727 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename _InputIterator,
1412:         typename = std::_RequireInputIter<_InputIterator>>
1412:  iterator
1412:  insert(const_iterator __position, _InputIterator __first,
1412:         _InputIterator __last)
1412:  {
1412:    difference_type __offset = __position - cbegin();
1412:    _M_range_insert_aux(__position._M_const_cast(), __first, __last,
1412:          std::__iterator_category(__first));
1412:    return begin() + __offset;
1412:  }
1412: # 1773 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       iterator
1412: 
1412:       erase(const_iterator __position)
1412: 
1412: 
1412: 
1412:       { return _M_erase(__position._M_const_cast()); }
1412: # 1797 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       iterator
1412: 
1412:       erase(const_iterator __first, const_iterator __last)
1412: 
1412: 
1412: 
1412:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1412: # 1816 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       swap(deque& __x) noexcept
1412:       {
1412: 
1412:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1412:                     pecs(const basic_format_specs<Char>& specs,
1434:                                     ErrorHandler&& eh = {}) -> bool {
1434:   if (specs.type != presentation_type::none &&
1434:       specs.type != presentation_type::chr &&
1434:       specs.type != presentation_type::debug) {
1434:     check_int_type_spec(specs.type, eh);
1434:     return false;
1434:   }
1434:   if (specs.align == align::numeric || specs.sign != sign::none || specs.alt)
1434:     eh.on_error("invalid format specifier for char");
1434:   return true;
1434: }
1434: 
1434: 
1434: enum class float_format : unsigned char {
1434:   general,
1434:   exp,
1434:   fixed,
1434:   hex
1434: };
1434: 
1434: struct float_specs {
1434:   int precision;
1434:   float_format format : 8;
1434:   sign_t sign : 8;
1434:   bool upper : 1;
1434:   bool locale : 1;
1434:   bool binary32 : 1;
1434:   bool showpoint : 1;
1434: };
1434: 
1434: template <typename ErrorHandler = error_handler, typename Char>
1434: constexpr auto parse_float_type_spec(const basic_format_specs<Char>& specs,
1434:                                          ErrorHandler&& eh = {})
1434:     -> float_specs {
1434:   auto result = float_specs();
1434:   result.showpoint = specs.alt;
1434:   result.locale = specs.localized;
1434:   switch (specs.type) {
1434:   case presentation_type::none:
1434:     result.format = float_format::general;
1434:     break;
1434:   case presentation_type::general_upper:
1434:     result.upper = true;
1434:     [[fallthrough]];
1434:   case presentation_type::general_lower:
1434:     result.format = float_format::general;
1434:     break;
1434:   case presentation_type::exp_upper:
1434:     result.upper = true;
1434:     [[fallthrough]];
1434:   case presentation_type::exp_lower:
1434:     result.format = float_format::exp;
1434:     result.showpoint |= specs.precision != 0;
1434:     break;
1434:   case presentation_type::fixed_upper:
1434:     result.upper = true;
1434:     [[fallthrough]];
1434:   case presentation_type::fixed_lower:
1434:     result.format = float_format::fixed;
1434:     result.showpoint |= specs.precision != 0;
1434:     break;
1434:   case presentation_type::hexfloat_upper:
1434:     result.upper = true;
1434:     [[fallthrough]];
1434:   case presentation_type::hexfloat_lower:
1434:     result.format = float_format::hex;
1434:     break;
1434:   default:
1434:     eh.on_error("invalid type specifier");
1434:     break;
1434:   }
1434:   return result;
1434: }
1434: 
1434: template <typename ErrorHandler = error_handler>
1434: constexpr auto check_cstring_type_spec(presentation_type type,
1434:                                            ErrorHandler&& eh = {}) -> bool {
1434:   if (type == presentation_type::none || type == presentation_type::string ||
1434:       type == presentation_type::debug)
1434:     return true;
1434:   if (type != presentation_type::pointer) eh.on_error("invalid type specifier");
1434:   return false;
1434: }
1434: 
1434: template <typename ErrorHandler = error_handler>
1434: constexpr void check_string_type_spec(presentation_type type,
1434:                                           ErrorHandler&& eh = {}) {
1434:   if (type != presentation_type::none && type != presentation_type::string &&
1434:       type != presentation_type::debug)
1434:     eh.on_error("invalid type specifier");
1434: }
1434: 
1434: template <typename ErrorHandler>
1434: constexpr void check_pointer_type_spec(presentation_type type,
1434:                                            ErrorHandler&& eh) {
1434:   if (type != presentation_type::none && type != presentation_type::pointer)
1434:     eh.on_error("invalid type specifier");
1434: }
1434: 
1434: 
1434: 
1434: template <typename Handler> class specs_checker : public Handler {
1434:  private:
1434:   detail::type arg_type_;
1434: 
1434:   constexpr void require_numeric_argument() {
1434:     if (!is_arithmetic_type(arg_type_))
1434:       this->on_error("format specifier requires numeric argument");
1434:   }
1434: 
1434:  public:
1434:   constexpr specs_checker(const Handler& handler, detail::typ tinyness_before
1115:        = false;
1115:       static constexpr float_round_style round_style
1115:        = round_to_nearest;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<double>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr double
1115:       min() noexcept { return double(2.2250738585072014e-308L); }
1115: 
1115:       static constexpr double
1115:       max() noexcept { return double(1.7976931348623157e+308L); }
1115: 
1115: 
1115:       static constexpr double
1115:       lowest() noexcept { return -double(1.7976931348623157e+308L); }
1115: 
1115: 
1115:       static constexpr int digits = 53;
1115:       static constexpr int digits10 = 15;
1115: 
1115:       static constexpr int max_digits10
1115:   = (2 + (53) * 643L / 2136);
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = false;
1115:       static constexpr bool is_exact = false;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr double
1115:       epsilon() noexcept { return double(2.2204460492503131e-16L); }
1115: 
1115:       static constexpr double
1115:       round_error() noexcept { return 0.5; }
1115: 
1115:       static constexpr int min_exponent = (-1021);
1115:       static constexpr int min_exponent10 = (-307);
1115:       static constexpr int max_exponent = 1024;
1115:       static constexpr int max_exponent10 = 308;
1115: 
1115:       static constexpr bool has_infinity = 1;
1115:       static constexpr bool has_quiet_NaN = 1;
1115:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1115:       static constexpr float_denorm_style has_denorm
1115:  = bool(1) ? denorm_present : denorm_absent;
1115:       static constexpr bool has_denorm_loss
1115:         = false;
1115: 
1115:       static constexpr double
1115:       infinity() noexcept { return __builtin_huge_val(); }
1115: 
1115:       static constexpr double
1115:       quiet_NaN() noexcept { return __builtin_nan(""); }
1115: 
1115:       static constexpr double
1115:       signaling_NaN() noexcept { return __builtin_nans(""); }
1115: 
1115:       static constexpr double
1115:       denorm_min() noexcept { return double(4.9406564584124654e-324L); }
1115: 
1115:       static constexpr bool is_iec559
1115:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = false;
1115:       static constexpr bool tinyness_before
1115:        = false;
1115:       static constexpr float_round_style round_style
1115:        = round_to_nearest;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct numeric_limits<long double>
1115:     {
1115:       static constexpr bool is_specialized = true;
1115: 
1115:       static constexpr long double
1115:       min() noexcept { return 2.2250738585072014e-308L; }
1115: 
1115:       static constexpr long double
1115:       max() noexcept { return 1.7976931348623157e+308L; }
1115: 
1115: 
1115:       static constexpr long double
1115:       lowest() noexcept { return -1.7976931348623157e+308L; }
1115: 
1115: 
1115:       static constexpr int digits = 53;
1115:       static constexpr int digits10 = 15;
1115: 
1115:       static constexpr int max_digits10
1115:   = (2 + (53) * 643L / 2136);
1115: 
1115:       static constexpr bool is_signed = true;
1115:       static constexpr bool is_integer = false;
1115:       static constexpr bool is_exact = false;
1115:       static constexpr int radix = 2;
1115: 
1115:       static constexpr long double
1115:       epsilon() noexcept { return 2.2204460492503131e-16L; }
1115: 
1115:       static constexpr long double
1115:       round_error() noexcept { return 0.5L; }
1115: 
1115:       static constexpr int min_exponent = (-1021);
1115:       static constexpr int min_exponent10 = (-307);
1115:       static constexpr int max_exe arg_type)
1434:       : Handler(handler), arg_type_(arg_type) {}
1434: 
1434:   constexpr void on_align(align_t align) {
1434:     if (align == align::numeric) require_numeric_argument();
1434:     Handler::on_align(align);
1434:   }
1434: 
1434:   constexpr void on_sign(sign_t s) {
1434:     require_numeric_argument();
1434:     if (is_integral_type(arg_type_) && arg_type_ != type::int_type &&
1434:         arg_type_ != type::long_long_type && arg_type_ != type::int128_type &&
1434:         arg_type_ != type::char_type) {
1434:       this->on_error("format specifier requires signed argument");
1434:     }
1434:     Handler::on_sign(s);
1434:   }
1434: 
1434:   constexpr void on_hash() {
1434:     require_numeric_argument();
1434:     Handler::on_hash();
1434:   }
1434: 
1434:   constexpr void on_localized() {
1434:     require_numeric_argument();
1434:     Handler::on_localized();
1434:   }
1434: 
1434:   constexpr void on_zero() {
1434:     require_numeric_argument();
1434:     Handler::on_zero();
1434:   }
1434: 
1434:   constexpr void end_precision() {
1434:     if (is_integral_type(arg_type_) || arg_type_ == type::pointer_type)
1434:       this->on_error("precision not allowed for this argument type");
1434:   }
1434: };
1434: 
1434: constexpr int invalid_arg_index = -1;
1434: # 2924 "/usr/include/fmt/core.h" 3 4
1434: template <typename... Args, typename Char>
1434: constexpr auto get_arg_index_by_name(basic_string_view<Char> name) -> int {
1434: 
1434: 
1434: 
1434: 
1434:   (void)name;
1434:   return invalid_arg_index;
1434: }
1434: 
1434: template <typename Char, typename ErrorHandler, typename... Args>
1434: class format_string_checker {
1434:  private:
1434: 
1434: 
1434: 
1434:   using parse_context_type = compile_parse_context<Char, ErrorHandler>;
1434:   static constexpr int num_args = sizeof...(Args);
1434: 
1434: 
1434:   using parse_func = const Char* (*)(parse_context_type&);
1434: 
1434:   parse_context_type context_;
1434:   parse_func parse_funcs_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1434:   type types_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1434: 
1434:  public:
1434:   explicit constexpr format_string_checker(
1434:       basic_string_view<Char> format_str, ErrorHandler eh)
1434:       : context_(format_str, num_args, types_, eh),
1434:         parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
1434:         types_{
1434:             mapped_type_constant<Args,
1434:                                  basic_format_context<Char*, Char>>::value...} {
1434:   }
1434: 
1434:   constexpr void on_text(const Char*, const Char*) {}
1434: 
1434:   constexpr auto on_arg_id() -> int { return context_.next_arg_id(); }
1434:   constexpr auto on_arg_id(int id) -> int {
1434:     return context_.check_arg_id(id), id;
1434:   }
1434:   constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:     (void)id;
1434:     on_error("compile-time checks for named arguments require C++20 support");
1434:     return 0;
1434: 
1434:   }
1434: 
1434:   constexpr void on_replacement_field(int, const Char*) {}
1434: 
1434:   constexpr auto on_format_specs(int id, const Char* begin, const Char*)
1434:       -> const Char* {
1434:     context_.advance_to(context_.begin() + (begin - &*context_.begin()));
1434: 
1434:     return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin;
1434:   }
1434: 
1434:   constexpr void on_error(const char* message) {
1434:     context_.on_error(message);
1434:   }
1434: };
1434: 
1434: 
1434: template <typename..., typename S, enable_if_t<(!is_compile_string<S>::value), int> = 0>
1434: inline __attribute__((always_inline)) void check_format_string(const S&) {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: template <typename... Args, typename S,
1434:           enable_if_t<(is_compile_string<S>::value), int> = 0>
1434: void check_format_string(S format_str) {
1434:   constexpr auto s = basic_string_view<typename S::char_type>(format_str);
1434:   using checker = format_string_checker<typename S::char_type                                      ;
1412: 
1412:  _M_impl._M_swap_data(__x._M_impl);
1412:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1412:       __x._M_get_Tp_allocator());
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       clear() noexcept
1412:       { _M_erase_at_end(begin()); }
1412: 
1412:     protected:
1412: # 1866 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       static size_t
1412:       _S_check_init_len(size_t __n, const allocator_type& __a)
1412:       {
1412:  if (__n > _S_max_size(__a))
1412:    __throw_length_error(
1412:        ("cannot create std::deque larger than max_size()"));
1412:  return __n;
1412:       }
1412: 
1412:       static size_type
1412:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1412:       {
1412:  const size_t __diffmax = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max;
1412:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1412:  return (std::min)(__diffmax, __allocmax);
1412:       }
1412: # 1895 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1412:        std::input_iterator_tag);
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412:  void
1412:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1412:        std::forward_iterator_tag);
1412: # 1917 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       _M_fill_initialize(const value_type& __value);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_default_initialize();
1412: # 1948 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1412:         std::input_iterator_tag);
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412:  void
1412:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1412:         std::forward_iterator_tag)
1412:  {
1412:    const size_type __len = std::distance(__first, __last);
1412:    if (__len > size())
1412:      {
1412:        _ForwardIterator __mid = __first;
1412:        std::advance(__mid, size());
1412:        std::copy(__first, __mid, begin());
1412:        _M_range_insert_aux(end(), __mid, __last,
1412:       std::__iterator_category(__first));
1412:      }
1412:    else
1412:      _M_erase_at_end(std::copy(__first, __last, begin()));
1412:  }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_fill_assign(size_type __n, const value_type& __val)
1412:       {
1412:  if (__n > size())
1412:    {
1412:      std::fill(begin(), end(), __val);
1412:      _M_fill_insert(end(), __n - size(), __val);
1412:    }
1412:  else
1412:    {
1412:      _M_erase_at_end(begin() + difference_type(__n));
1412:      std::fill(begin(), end(), __val);
1412:    }
1412:       }
1412: # 1996 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename... _Args>
1412:  void _M_push_back_aux(_Args&&... __args);
1412: 
1412:       template<typename... _Args>
1412:  void _M_push_front_aux(_Args&&... __args);
1412: 
1412: 
1412:       void _M_pop_back_aux();
1412: 
1412:       void _M_pop_front_aux();
1412: # 2035 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       template<typename _InputIterator>
1412:  void
1412:  _M_range_insert_aux(iterator __pos, _InputIterator __first,
1412:        _InputIterator __last, std::input_iterator_tag);
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412:  void
1412:  _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
1412:        _ForwardIterator __last, std::forward_iterator_tag);
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       template<typename... _Args>
1412:  iterator
1412:  _M_insert_aux(iterator __pos, _Args&&... __args);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_insert_aux(iterator __pos, size_type __n, const value_type& __, error_handler,
1434:                                         remove_cvref_t<Args>...>;
1434:   constexpr bool invalid_format =
1434:       (parse_format_string<true>(s, checker(s, {})), true);
1434:   ignore_unused(invalid_format);
1434: }
1434: 
1434: template <typename Char>
1434: void vformat_to(
1434:     buffer<Char>& buf, basic_string_view<Char> fmt,
1434:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1434:     locale_ref loc = {});
1434: 
1434:  void vprint_mojibake(std::FILE*, string_view, format_args);
1434: 
1434: inline void vprint_mojibake(std::FILE*, string_view, format_args) {}
1434: 
1434: }
1434: 
1434: 
1434: 
1434: template <typename T, typename Char>
1434: struct formatter<T, Char,
1434:                  enable_if_t<detail::type_constant<T, Char>::value !=
1434:                              detail::type::custom_type>> {
1434:  private:
1434:   detail::dynamic_format_specs<Char> specs_;
1434: 
1434:  public:
1434: 
1434: 
1434:   template <typename ParseContext>
1434:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1434:     auto begin = ctx.begin(), end = ctx.end();
1434:     if (begin == end) return begin;
1434:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1434:     auto type = detail::type_constant<T, Char>::value;
1434:     auto checker =
1434:         detail::specs_checker<handler_type>(handler_type(specs_, ctx), type);
1434:     auto it = detail::parse_format_specs(begin, end, checker);
1434:     auto eh = ctx.error_handler();
1434:     switch (type) {
1434:     case detail::type::none_type:
1434:       ::fmt::detail::ignore_unused((false), ("invalid argument type"));
1434:       break;
1434:     case detail::type::bool_type:
1434:       if (specs_.type == presentation_type::none ||
1434:           specs_.type == presentation_type::string) {
1434:         break;
1434:       }
1434:       [[fallthrough]];
1434:     case detail::type::int_type:
1434:     case detail::type::uint_type:
1434:     case detail::type::long_long_type:
1434:     case detail::type::ulong_long_type:
1434:     case detail::type::int128_type:
1434:     case detail::type::uint128_type:
1434:       detail::check_int_type_spec(specs_.type, eh);
1434:       break;
1434:     case detail::type::char_type:
1434:       detail::check_char_specs(specs_, eh);
1434:       break;
1434:     case detail::type::float_type:
1434:       if (detail::const_check(1))
1434:         detail::parse_float_type_spec(specs_, eh);
1434:       else
1434:         ::fmt::detail::ignore_unused((false), ("float support disabled"));
1434:       break;
1434:     case detail::type::double_type:
1434:       if (detail::const_check(1))
1434:         detail::parse_float_type_spec(specs_, eh);
1434:       else
1434:         ::fmt::detail::ignore_unused((false), ("double support disabled"));
1434:       break;
1434:     case detail::type::long_double_type:
1434:       if (detail::const_check(1))
1434:         detail::parse_float_type_spec(specs_, eh);
1434:       else
1434:         ::fmt::detail::ignore_unused((false), ("long double support disabled"));
1434:       break;
1434:     case detail::type::cstring_type:
1434:       detail::check_cstring_type_spec(specs_.type, eh);
1434:       break;
1434:     case detail::type::string_type:
1434:       detail::check_string_type_spec(specs_.type, eh);
1434:       break;
1434:     case detail::type::pointer_type:
1434:       detail::check_pointer_type_spec(specs_.type, eh);
1434:       break;
1434:     case detail::type::custom_type:
1434: 
1434: 
1434:       break;
1434:     }
1434:     return it;
1434:   }
1434: 
1434:   template <detail::type U = detail::type_constant<T, Char>::value,
1434:             enable_if_t<(U == detail::type::string_type ||
1434:                          U == detail::type::cstring_type ||
1434:                          U == detail::type::char_type),
1434:                         int> = 0>
1434:   constexpr void set_debug_format() {
1434:     specs_.type = presentation_type::dponent = 1024;
1115:       static constexpr int max_exponent10 = 308;
1115: 
1115:       static constexpr bool has_infinity = 1;
1115:       static constexpr bool has_quiet_NaN = 1;
1115:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
1115:       static constexpr float_denorm_style has_denorm
1115:  = bool(1) ? denorm_present : denorm_absent;
1115:       static constexpr bool has_denorm_loss
1115:  = false;
1115: 
1115:       static constexpr long double
1115:       infinity() noexcept { return __builtin_huge_vall(); }
1115: 
1115:       static constexpr long double
1115:       quiet_NaN() noexcept { return __builtin_nanl(""); }
1115: 
1115:       static constexpr long double
1115:       signaling_NaN() noexcept { return __builtin_nansl(""); }
1115: 
1115:       static constexpr long double
1115:       denorm_min() noexcept { return 4.9406564584124654e-324L; }
1115: 
1115:       static constexpr bool is_iec559
1115:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
1115:       static constexpr bool is_bounded = true;
1115:       static constexpr bool is_modulo = false;
1115: 
1115:       static constexpr bool traps = false;
1115:       static constexpr bool tinyness_before =
1115:       false;
1115:       static constexpr float_round_style round_style =
1115:             round_to_nearest;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 40 "/usr/include/c++/12/bits/chrono.h" 2 3
1115: # 1 "/usr/include/c++/12/ctime" 1 3
1115: # 39 "/usr/include/c++/12/ctime" 3
1115:        
1115: # 40 "/usr/include/c++/12/ctime" 3
1115: # 41 "/usr/include/c++/12/bits/chrono.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/parse_numbers.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/parse_numbers.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/parse_numbers.h" 3
1115: # 42 "/usr/include/c++/12/bits/parse_numbers.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: namespace __parse_int
1115: {
1115:   template<unsigned _Base, char _Dig>
1115:     struct _Digit;
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '0'> : integral_constant<unsigned, 0>
1115:     {
1115:       using __valid = true_type;
1115:     };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '1'> : integral_constant<unsigned, 1>
1115:     {
1115:       using __valid = true_type;
1115:     };
1115: 
1115:   template<unsigned _Base, unsigned _Val>
1115:     struct _Digit_impl : integral_constant<unsigned, _Val>
1115:     {
1115:       static_assert(_Base > _Val, "invalid digit");
1115:       using __valid = true_type;
1115:     };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '2'> : _Digit_impl<_Base, 2>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '3'> : _Digit_impl<_Base, 3>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '4'> : _Digit_impl<_Base, 4>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '5'> : _Digit_impl<_Base, 5>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '6'> : _Digit_impl<_Base, 6>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '7'> : _Digit_impl<_Base, 7>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '8'> : _Digit_impl<_Base, 8>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '9'> : _Digit_impl<_Base, 9>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'a'> : _Digit_impl<_Base, 0xa>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'A'> : _Digit_impl<_Base, 0xa>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'b'> : _Digit_impl<_Base, 0xb>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'B'> : _Digit_impl<_Base, 0xb>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115ebug;
1434:   }
1434: 
1434:   template <typename FormatContext>
1434:   constexpr auto format(const T& val, FormatContext& ctx) const
1434:       -> decltype(ctx.out());
1434: };
1434: # 3126 "/usr/include/fmt/core.h" 3 4
1434: template <typename Char> struct formatter<signed char, Char> : formatter<int, Char> { template <typename FormatContext> auto format(signed char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1434: template <typename Char> struct formatter<unsigned char, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1434: template <typename Char> struct formatter<short, Char> : formatter<int, Char> { template <typename FormatContext> auto format(short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1434: template <typename Char> struct formatter<unsigned short, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1434: template <typename Char> struct formatter<long, Char> : formatter<long long, Char> { template <typename FormatContext> auto format(long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<long long, Char>::format(static_cast<long long>(val), ctx); } };
1434: template <typename Char> struct formatter<unsigned long, Char> : formatter<unsigned long long, Char> { template <typename FormatContext> auto format(unsigned long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned long long, Char>::format(static_cast<unsigned long long>(val), ctx); } };
1434: template <typename Char> struct formatter<Char*, Char> : formatter<const Char*, Char> { template <typename FormatContext> auto format(Char* const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const Char*, Char>::format(static_cast<const Char*>(val), ctx); } };
1434: template <typename Char> struct formatter<std::basic_string<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(std::basic_string<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1434: template <typename Char> struct formatter<std::nullptr_t, Char> : formatter<const void*, Char> { template <typename FormatContext> auto format(std::nullptr_t const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const void*, Char>::format(static_cast<const void*>(val), ctx); } };
1434: template <typename Char> struct formatter<detail::std_string_view<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(detail::std_string_view<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1434: 
1434: template <typename Char> struct basic_runtime { basic_string_view<Char> str; };
1434: 
1434: 
1434: template <typename Char, typename... Args> class basic_format_string {
1434:  private:
1434:   basic_string_view<Char> str_;
1434: 
1434:  public:
1434:   template <typename S,
1434:             enable_if_t<(std::is_convertible<const S&, basic_string_view<Char>>::value), int> = 0
1434:                                                                               >
1434:   inline __attribute__((always_inline)) basic_format_string(const S& s) : str_(s) {
1434:     static_assert(
1434:         detail::count<
1434:             (std::is_base_of<detail::view, remove_reference_t<Args>>::value &&
1434:              std::is_rex);
1412: 
1412: 
1412:       template<typename _ForwardIterator>
1412:  void
1412:  _M_insert_aux(iterator __pos,
1412:         _ForwardIterator __first, _ForwardIterator __last,
1412:         size_type __n);
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_destroy_data_aux(iterator __first, iterator __last);
1412: 
1412: 
1412: 
1412:       template<typename _Alloc1>
1412:  void
1412:  _M_destroy_data(iterator __first, iterator __last, const _Alloc1&)
1412:  { _M_destroy_data_aux(__first, __last); }
1412: 
1412:       void
1412:       _M_destroy_data(iterator __first, iterator __last,
1412:         const std::allocator<_Tp>&)
1412:       {
1412:  if (!__has_trivial_destructor(value_type))
1412:    _M_destroy_data_aux(__first, __last);
1412:       }
1412: 
1412: 
1412:       void
1412:       _M_erase_at_begin(iterator __pos)
1412:       {
1412:  _M_destroy_data(begin(), __pos, _M_get_Tp_allocator());
1412:  _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node);
1412:  this->_M_impl._M_start = __pos;
1412:       }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_erase_at_end(iterator __pos)
1412:       {
1412:  _M_destroy_data(__pos, end(), _M_get_Tp_allocator());
1412:  _M_destroy_nodes(__pos._M_node + 1,
1412:     this->_M_impl._M_finish._M_node + 1);
1412:  this->_M_impl._M_finish = __pos;
1412:       }
1412: 
1412:       iterator
1412:       _M_erase(iterator __pos);
1412: 
1412:       iterator
1412:       _M_erase(iterator __first, iterator __last);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_default_append(size_type __n);
1412: 
1412:       bool
1412:       _M_shrink_to_fit();
1412: 
1412: 
1412: 
1412: 
1412:       iterator
1412:       _M_reserve_elements_at_front(size_type __n)
1412:       {
1412:  const size_type __vacancies = this->_M_impl._M_start._M_cur
1412:           - this->_M_impl._M_start._M_first;
1412:  if (__n > __vacancies)
1412:    _M_new_elements_at_front(__n - __vacancies);
1412:  return this->_M_impl._M_start - difference_type(__n);
1412:       }
1412: 
1412:       iterator
1412:       _M_reserve_elements_at_back(size_type __n)
1412:       {
1412:  const size_type __vacancies = (this->_M_impl._M_finish._M_last
1412:            - this->_M_impl._M_finish._M_cur) - 1;
1412:  if (__n > __vacancies)
1412:    _M_new_elements_at_back(__n - __vacancies);
1412:  return this->_M_impl._M_finish + difference_type(__n);
1412:       }
1412: 
1412:       void
1412:       _M_new_elements_at_front(size_type __new_elements);
1412: 
1412:       void
1412:       _M_new_elements_at_back(size_type __new_elements);
1412: # 2167 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:       void
1412:       _M_reserve_map_at_back(size_type __nodes_to_add = 1)
1412:       {
1412:  if (__nodes_to_add + 1 > this->_M_impl._M_map_size
1412:      - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
1412:    _M_reallocate_map(__nodes_to_add, false);
1412:       }
1412: 
1412:       void
1412:       _M_reserve_map_at_front(size_type __nodes_to_add = 1)
1412:       {
1412:  if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
1412:            - this->_M_impl._M_map))
1412:    _M_reallocate_map(__nodes_to_add, true);
1412:       }
1412: 
1412:       void
1412:       _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_move_assign1(deque&& __x, true_type) noexcept
1412:       {
1412:  this->_M_impl._M_swap_data(__x._M_impl);
1412:  __x.clear();
1412:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1412:       }
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_move_assign1(deque&& __x, false_type)
1412:       {
1412:  if (_M_get_Tp_allocator() == __x._M_get_Tp_allocator())
1412:    return _M_move_assign1(std::move(__x), true_type());
1412: 
1412:  constexpr bool __move_storage =
1412:    _Alloc_traits::_S_propagate_on_move_assign();
1412:  _M_move_assign2(std::move(__x), __bool_constant<__move_storage>());
1412:       }
1412: 
1412: 
1412: 
1412:       template<typename... _Argsference<Args>::value)...>() == 0,
1434:         "passing views as lvalues is disallowed");
1434: # 3162 "/usr/include/fmt/core.h" 3 4
1434:     detail::check_format_string<Args...>(s);
1434: 
1434:   }
1434:   basic_format_string(basic_runtime<Char> r) : str_(r.str) {}
1434: 
1434:   inline __attribute__((always_inline)) operator basic_string_view<Char>() const { return str_; }
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename... Args>
1434: using format_string = basic_format_string<char, type_identity_t<Args>...>;
1434: # 3187 "/usr/include/fmt/core.h" 3 4
1434: inline auto runtime(string_view s) -> basic_runtime<char> { return {{s}}; }
1434: 
1434: 
1434:  auto vformat(string_view fmt, format_args args) -> std::string;
1434: # 3203 "/usr/include/fmt/core.h" 3 4
1434: template <typename... T>
1434: [[nodiscard]] inline __attribute__((always_inline)) auto format(format_string<T...> fmt, T&&... args)
1434:     -> std::string {
1434:   return vformat(fmt, fmt::make_format_args(args...));
1434: }
1434: 
1434: 
1434: template <typename OutputIt,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1434: auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt {
1434:   using detail::get_buffer;
1434:   auto&& buf = get_buffer<char>(out);
1434:   detail::vformat_to(buf, fmt, args, {});
1434:   return detail::get_iterator(buf);
1434: }
1434: # 3231 "/usr/include/fmt/core.h" 3 4
1434: template <typename OutputIt, typename... T,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1434: inline __attribute__((always_inline)) auto format_to(OutputIt out, format_string<T...> fmt, T&&... args)
1434:     -> OutputIt {
1434:   return vformat_to(out, fmt, fmt::make_format_args(args...));
1434: }
1434: 
1434: template <typename OutputIt> struct format_to_n_result {
1434: 
1434:   OutputIt out;
1434: 
1434:   size_t size;
1434: };
1434: 
1434: template <typename OutputIt, typename... T,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1434: auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args)
1434:     -> format_to_n_result<OutputIt> {
1434:   using traits = detail::fixed_buffer_traits;
1434:   auto buf = detail::iterator_buffer<OutputIt, char, traits>(out, n);
1434:   detail::vformat_to(buf, fmt, args, {});
1434:   return {buf.out(), buf.count()};
1434: }
1434: # 3263 "/usr/include/fmt/core.h" 3 4
1434: template <typename OutputIt, typename... T,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1434: inline __attribute__((always_inline)) auto format_to_n(OutputIt out, size_t n, format_string<T...> fmt,
1434:                             T&&... args) -> format_to_n_result<OutputIt> {
1434:   return vformat_to_n(out, n, fmt, fmt::make_format_args(args...));
1434: }
1434: 
1434: 
1434: template <typename... T>
1434: [[nodiscard]] inline __attribute__((always_inline)) auto formatted_size(format_string<T...> fmt,
1434:                                              T&&... args) -> size_t {
1434:   auto buf = detail::counting_buffer<>();
1434:   detail::vformat_to(buf, string_view(fmt), fmt::make_format_args(args...), {});
1434:   return buf.count();
1434: }
1434: 
1434:  void vprint(string_view fmt, format_args args);
1434:  void vprint(std::FILE* f, string_view fmt, format_args args);
1434: # 3292 "/usr/include/fmt/core.h" 3 4
1434: template <typename... T>
1434: inline __attribute__((always_inline)) void print(format_string<T...> fmt, T&&... args) {
1434:   const auto& vargs = fmt::make_format_args(args...);
1434:   return detail::is_utf8() ? vprint(fmt, vargs)
1434:                            : detail::vprint_mojibake(stdout, fmt, vargs);
1434: }
1434: # 3309 "/usr/include/fmt/core.h" 3 4
1434: template <typename... T>
1434: inline __attribute__((always_inline)) void print(std::FILE* f, format_string<T...> fmt, T&&... args) {
1434:   const auto& vargs = fmt::make_format_args(args...);
1434:   return detail::is_utf8(:     struct _Digit<_Base, 'c'> : _Digit_impl<_Base, 0xc>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'C'> : _Digit_impl<_Base, 0xc>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'd'> : _Digit_impl<_Base, 0xd>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'D'> : _Digit_impl<_Base, 0xd>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'e'> : _Digit_impl<_Base, 0xe>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'E'> : _Digit_impl<_Base, 0xe>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'f'> : _Digit_impl<_Base, 0xf>
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, 'F'> : _Digit_impl<_Base, 0xf>
1115:     { };
1115: 
1115: 
1115:   template<unsigned _Base>
1115:     struct _Digit<_Base, '\''> : integral_constant<unsigned, 0>
1115:     {
1115:       using __valid = false_type;
1115:     };
1115: 
1115: 
1115: 
1115:   template<unsigned long long _Val>
1115:     using __ull_constant = integral_constant<unsigned long long, _Val>;
1115: 
1115:   template<unsigned _Base, char _Dig, char... _Digs>
1115:     struct _Power_help
1115:     {
1115:       using __next = typename _Power_help<_Base, _Digs...>::type;
1115:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1115:       using type
1115:  = __ull_constant<__next::value * (__valid_digit{} ? _Base : 1ULL)>;
1115:     };
1115: 
1115:   template<unsigned _Base, char _Dig>
1115:     struct _Power_help<_Base, _Dig>
1115:     {
1115:       using __valid_digit = typename _Digit<_Base, _Dig>::__valid;
1115:       using type = __ull_constant<__valid_digit::value>;
1115:     };
1115: 
1115:   template<unsigned _Base, char... _Digs>
1115:     struct _Power : _Power_help<_Base, _Digs...>::type
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Power<_Base> : __ull_constant<0>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char... _Digs>
1115:     struct _Number_help
1115:     {
1115:       using __digit = _Digit<_Base, _Dig>;
1115:       using __valid_digit = typename __digit::__valid;
1115:       using __next = _Number_help<_Base,
1115:       __valid_digit::value ? _Pow / _Base : _Pow,
1115:       _Digs...>;
1115:       using type = __ull_constant<_Pow * __digit::value + __next::type::value>;
1115:       static_assert((type::value / _Pow) == __digit::value,
1115:       "integer literal does not fit in unsigned long long");
1115:     };
1115: 
1115: 
1115:   template<unsigned _Base, unsigned long long _Pow, char _Dig, char..._Digs>
1115:     struct _Number_help<_Base, _Pow, '\'', _Dig, _Digs...>
1115:     : _Number_help<_Base, _Pow, _Dig, _Digs...>
1115:     { };
1115: 
1115: 
1115:   template<unsigned _Base, char _Dig>
1115:     struct _Number_help<_Base, 1ULL, _Dig>
1115:     {
1115:       using type = __ull_constant<_Digit<_Base, _Dig>::value>;
1115:     };
1115: 
1115:   template<unsigned _Base, char... _Digs>
1115:     struct _Number
1115:     : _Number_help<_Base, _Power<_Base, _Digs...>::value, _Digs...>::type
1115:     { };
1115: 
1115:   template<unsigned _Base>
1115:     struct _Number<_Base>
1115:     : __ull_constant<0>
1115:     { };
1115: 
1115: 
1115: 
1115:   template<char... _Digs>
1115:     struct _Parse_int;
1115: 
1115:   template<char... _Digs>
1115:     struct _Parse_int<'0', 'b', _Digs...>
1115:     : _Number<2U, _Digs...>::type
1115:     { };
1115: 
1115:   template<char... _Digs>
1115:     struct _Parse_int<'0', 'B', _Digs...>
1115:     : _Number<2U, _Digs...>::type
1115:     { };
1115: 
1115:   template<char... _Digs>
1115:     struct _Parse_int<'0', 'x', _Digs...>
1115:     : _Number<16U, _Digs...>::type
1115:     { };
1115: 
1115:   template<char... _Digs>
1115:     struct _Parse_int<'0', 'X', _Digs...>
1115:     : _Number<16U, _Digs...>::type
1115:     { };
1115: 
1115:   template<char... _Dig) ? vprint(f, fmt, vargs)
1434:                            : detail::vprint_mojibake(f, fmt, vargs);
1434: }
1434: 
1434: 
1434: 
1434: # 3317 "/usr/include/fmt/core.h" 3 4
1434: #pragma GCC pop_options
1434: # 3317 "/usr/include/fmt/core.h" 3 4
1434: 
1434: } }
1434: # 49 "/usr/include/fmt/format.h" 2 3 4
1434: # 242 "/usr/include/fmt/format.h" 3 4
1434: namespace fmt { inline namespace v9 {
1434: namespace detail {
1434: 
1434: constexpr inline void abort_fuzzing_if(bool condition) {
1434:   ignore_unused(condition);
1434: 
1434: 
1434: 
1434: }
1434: 
1434: template <typename CharT, CharT... C> struct string_literal {
1434:   static constexpr CharT value[sizeof...(C)] = {C...};
1434:   constexpr operator basic_string_view<CharT>() const {
1434:     return {value, sizeof...(C)};
1434:   }
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename Streambuf> class formatbuf : public Streambuf {
1434:  private:
1434:   using char_type = typename Streambuf::char_type;
1434:   using streamsize = decltype(std::declval<Streambuf>().sputn(nullptr, 0));
1434:   using int_type = typename Streambuf::int_type;
1434:   using traits_type = typename Streambuf::traits_type;
1434: 
1434:   buffer<char_type>& buffer_;
1434: 
1434:  public:
1434:   explicit formatbuf(buffer<char_type>& buf) : buffer_(buf) {}
1434: 
1434:  protected:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   auto overflow(int_type ch) -> int_type override {
1434:     if (!traits_type::eq_int_type(ch, traits_type::eof()))
1434:       buffer_.push_back(static_cast<char_type>(ch));
1434:     return ch;
1434:   }
1434: 
1434:   auto xsputn(const char_type* s, streamsize count) -> streamsize override {
1434:     buffer_.append(s, s + count);
1434:     return count;
1434:   }
1434: };
1434: 
1434: 
1434: template <typename To, typename From, enable_if_t<(sizeof(To) == sizeof(From)), int> = 0>
1434:  auto bit_cast(const From& from) -> To {
1434: 
1434: 
1434: 
1434:   auto to = To();
1434: 
1434:   std::memcpy(static_cast<void*>(&to), &from, sizeof(to));
1434:   return to;
1434: }
1434: 
1434: inline auto is_big_endian() -> bool {
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   return 1234 == 4321;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: }
1434: 
1434: class uint128_fallback {
1434:  private:
1434:   uint64_t lo_, hi_;
1434: 
1434:   friend uint128_fallback umul128(uint64_t x, uint64_t y) noexcept;
1434: 
1434:  public:
1434:   constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {}
1434:   constexpr uint128_fallback(uint64_t value = 0) : lo_(value), hi_(0) {}
1434: 
1434:   constexpr uint64_t high() const noexcept { return hi_; }
1434:   constexpr uint64_t low() const noexcept { return lo_; }
1434: 
1434:   template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1434:   constexpr explicit operator T() const {
1434:     return static_cast<T>(lo_);
1434:   }
1434: 
1434:   friend constexpr auto operator==(const uint128_fallback& lhs,
1434:                                    const uint128_fallback& rhs) -> bool {
1434:     return lhs.hi_ == rhs.hi_ && lhs.lo_ == rhs.lo_;
1434:   }
1434:   friend constexpr auto operator!=(const uint128_fallback& lhs,
1434:                                    const uint128_fallback& rhs) -> bool {
1434:     return !(lhs == rhs);
1434:   }
1434:   friend constexpr auto operator>(const uint128_fallback& lhs,
1434:                                   const uint128_fallback& rhs) -> bool {
1434:     return lhs.hi_ != rhs.hi_ ? lhs.hi_ > rhs.hi_ : lhs.lo_ > rhs.lo_;
1434:   }
1434:   friend constexpr auto operator|(const uint128_fallback& lhs,
1434:                                   const uint128_fallback& rhs)
1434:       -> uint128_fallback {
1434:     return {lhs.hi_ | rhs.hi_, lhs.lo_ | rhs.lo_};
1434:   }
1434:   friend constexpr auto operator&(const uint128_fallback& lhs,
1434:                                   const uint128_fallback& rhs)
1434:       -> uint128_fallback {
1434:     return {lhs.hi_ & rhs.hi_, lhs.lo_ & rhs.lo_};
1434:   }
1434:   friend auto operator+(const uint128_fall>
1412:       void
1412:       _M_replace_map(_Args&&... __args)
1412:       {
1412: 
1412:  deque __newobj(std::forward<_Args>(__args)...);
1412: 
1412:  clear();
1412:  _M_deallocate_node(*begin()._M_node);
1412:  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1412:  this->_M_impl._M_map = nullptr;
1412:  this->_M_impl._M_map_size = 0;
1412: 
1412:  this->_M_impl._M_swap_data(__newobj._M_impl);
1412:       }
1412: 
1412: 
1412:       void
1412:       _M_move_assign2(deque&& __x, true_type)
1412:       {
1412: 
1412:  auto __alloc = __x._M_get_Tp_allocator();
1412: 
1412: 
1412:  _M_replace_map(std::move(__x));
1412: 
1412:  _M_get_Tp_allocator() = std::move(__alloc);
1412:       }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_move_assign2(deque&& __x, false_type)
1412:       {
1412:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1412:    {
1412: 
1412: 
1412:      _M_replace_map(std::move(__x), __x.get_allocator());
1412:    }
1412:  else
1412:    {
1412: 
1412: 
1412:      _M_assign_aux(std::make_move_iterator(__x.begin()),
1412:      std::make_move_iterator(__x.end()),
1412:      std::random_access_iterator_tag());
1412:      __x.clear();
1412:    }
1412:       }
1412: 
1412:     };
1412: 
1412: 
1412:   template<typename _InputIterator, typename _ValT
1412:       = typename iterator_traits<_InputIterator>::value_type,
1412:     typename _Allocator = allocator<_ValT>,
1412:     typename = _RequireInputIter<_InputIterator>,
1412:     typename = _RequireAllocator<_Allocator>>
1412:     deque(_InputIterator, _InputIterator, _Allocator = _Allocator())
1412:       -> deque<_ValT, _Allocator>;
1412: # 2287 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1412:     { return __x.size() == __y.size()
1412:       && std::equal(__x.begin(), __x.end(), __y.begin()); }
1412: # 2327 "/usr/include/c++/12/bits/stl_deque.h" 3
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1412:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1412:        __y.begin(), __y.end()); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1412:     { return !(__x < __y); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     inline void
1412:     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<class _Tp>
1412:     struct __is_bitwise_relocatable<std::deque<_Tp>>
1412:     : true_type { };
1412: 
1412: 
1412: 
1412: }
1412: # 65 "/usr/include/c++/12/deque" 2 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/deque.tcc" 1 3
1412: # 61 "/usr/include/c++/12/bits/deque.tcc" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_default_initialize()
1412:     {back& lhs,
1434:                         const uint128_fallback& rhs) -> uint128_fallback {
1434:     auto result = uint128_fallback(lhs);
1434:     result += rhs;
1434:     return result;
1434:   }
1434:   friend auto operator*(const uint128_fallback& lhs, uint32_t rhs)
1434:       -> uint128_fallback {
1434:     ::fmt::detail::ignore_unused((lhs.hi_ == 0), (""));
1434:     uint64_t hi = (lhs.lo_ >> 32) * rhs;
1434:     uint64_t lo = (lhs.lo_ & ~uint32_t()) * rhs;
1434:     uint64_t new_lo = (hi << 32) + lo;
1434:     return {(hi >> 32) + (new_lo < lo ? 1 : 0), new_lo};
1434:   }
1434:   friend auto operator-(const uint128_fallback& lhs, uint64_t rhs)
1434:       -> uint128_fallback {
1434:     return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs};
1434:   }
1434:   constexpr auto operator>>(int shift) const -> uint128_fallback {
1434:     if (shift == 64) return {0, hi_};
1434:     if (shift > 64) return uint128_fallback(0, hi_) >> (shift - 64);
1434:     return {hi_ >> shift, (hi_ << (64 - shift)) | (lo_ >> shift)};
1434:   }
1434:   constexpr auto operator<<(int shift) const -> uint128_fallback {
1434:     if (shift == 64) return {lo_, 0};
1434:     if (shift > 64) return uint128_fallback(lo_, 0) << (shift - 64);
1434:     return {hi_ << shift | (lo_ >> (64 - shift)), (lo_ << shift)};
1434:   }
1434:   constexpr auto operator>>=(int shift) -> uint128_fallback& {
1434:     return *this = *this >> shift;
1434:   }
1434:   constexpr void operator+=(uint128_fallback n) {
1434:     uint64_t new_lo = lo_ + n.lo_;
1434:     uint64_t new_hi = hi_ + n.hi_ + (new_lo < lo_ ? 1 : 0);
1434:     ::fmt::detail::ignore_unused((new_hi >= hi_), (""));
1434:     lo_ = new_lo;
1434:     hi_ = new_hi;
1434:   }
1434: 
1434:   uint128_fallback& operator+=(uint64_t n) noexcept {
1434:     if (is_constant_evaluated()) {
1434:       lo_ += n;
1434:       hi_ += (lo_ < n ? 1 : 0);
1434:       return *this;
1434:     }
1434: # 420 "/usr/include/fmt/format.h" 3 4
1434:     lo_ += n;
1434:     hi_ += (lo_ < n ? 1 : 0);
1434: 
1434:     return *this;
1434:   }
1434: };
1434: 
1434: using uint128_t = conditional_t<0, uint128_opt, uint128_fallback>;
1434: 
1434: 
1434: using uintptr_t = ::uintptr_t;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename T> constexpr auto max_value() -> T {
1434:   return (std::numeric_limits<T>::max)();
1434: }
1434: template <typename T> constexpr auto num_bits() -> int {
1434:   return std::numeric_limits<T>::digits;
1434: }
1434: 
1434: template <> constexpr auto num_bits<int128_opt>() -> int { return 128; }
1434: template <> constexpr auto num_bits<uint128_t>() -> int { return 128; }
1434: 
1434: 
1434: 
1434: template <typename To, typename From, enable_if_t<(sizeof(To) > sizeof(From)), int> = 0>
1434: inline auto bit_cast(const From& from) -> To {
1434:   constexpr auto size = static_cast<int>(sizeof(From) / sizeof(unsigned));
1434:   struct data_t {
1434:     unsigned value[static_cast<unsigned>(size)];
1434:   } data = bit_cast<data_t>(from);
1434:   auto result = To();
1434:   if (const_check(is_big_endian())) {
1434:     for (int i = 0; i < size; ++i)
1434:       result = (result << num_bits<unsigned>()) | data.value[i];
1434:   } else {
1434:     for (int i = size - 1; i >= 0; --i)
1434:       result = (result << num_bits<unsigned>()) | data.value[i];
1434:   }
1434:   return result;
1434: }
1434: 
1434: inline __attribute__((always_inline)) void assume(bool condition) {
1434:   (void)condition;
1434: 
1434: 
1434: 
1434: }
1434: 
1434: 
1434: template <typename T>
1434: using iterator_t = decltype(std::begin(std::declval<T&>()));
1434: template <typename T> using sentinel_t = decltype(std::end(std::declval<T&>()));
1434: 
1434: 
1434: template <typename Char>
1434: inline auto get_data(std::basic_string<Char>& s) -> Char* {
1434:   return &s[0];
1434: }
1434: template <typename Container>
1434: inline auto get_data(Container& c) -> typename Container::value_type* {
1434:   return c.data();
1434: }
1434: # 496 "/usr/include/fmt/format.h" 3 4
1434: template <typename T> using checked_ptr =s>
1115:     struct _Parse_int<'0', _Digs...>
1115:     : _Number<8U, _Digs...>::type
1115:     { };
1115: 
1115:   template<char... _Digs>
1115:     struct _Parse_int
1115:     : _Number<10U, _Digs...>::type
1115:     { };
1115: 
1115: }
1115: 
1115: 
1115: namespace __select_int
1115: {
1115:   template<unsigned long long _Val, typename... _Ints>
1115:     struct _Select_int_base;
1115: 
1115:   template<unsigned long long _Val, typename _IntType, typename... _Ints>
1115:     struct _Select_int_base<_Val, _IntType, _Ints...>
1115:     : __conditional_t<(_Val <= __gnu_cxx::__int_traits<_IntType>::__max),
1115:         integral_constant<_IntType, (_IntType)_Val>,
1115:         _Select_int_base<_Val, _Ints...>>
1115:     { };
1115: 
1115:   template<unsigned long long _Val>
1115:     struct _Select_int_base<_Val>
1115:     { };
1115: 
1115:   template<char... _Digs>
1115:     using _Select_int = typename _Select_int_base<
1115:  __parse_int::_Parse_int<_Digs...>::value,
1115:  unsigned char,
1115:  unsigned short,
1115:  unsigned int,
1115:  unsigned long,
1115:  unsigned long long
1115:       >::type;
1115: 
1115: }
1115: 
1115: 
1115: }
1115: # 42 "/usr/include/c++/12/bits/chrono.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   namespace filesystem { struct __file_clock; };
1115: 
1115: 
1115:   namespace chrono
1115:   {
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Rep, typename _Period = ratio<1>>
1115:       struct duration;
1115: 
1115: 
1115:     template<typename _Clock, typename _Dur = typename _Clock::duration>
1115:       struct time_point;
1115: 
1115:   }
1115: # 77 "/usr/include/c++/12/bits/chrono.h" 3
1115:   template<typename _CT, typename _Period1, typename _Period2, typename = void>
1115:     struct __duration_common_type
1115:     { };
1115: 
1115:   template<typename _CT, typename _Period1, typename _Period2>
1115:     struct __duration_common_type<_CT, _Period1, _Period2,
1115:       __void_t<typename _CT::type>>
1115:     {
1115:     private:
1115:       using __gcd_num = __static_gcd<_Period1::num, _Period2::num>;
1115:       using __gcd_den = __static_gcd<_Period1::den, _Period2::den>;
1115:       using __cr = typename _CT::type;
1115:       using __r = ratio<__gcd_num::value,
1115:    (_Period1::den / __gcd_den::value) * _Period2::den>;
1115: 
1115:     public:
1115:       using type = chrono::duration<__cr, typename __r::type>;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
1115:     struct common_type<chrono::duration<_Rep1, _Period1>,
1115:          chrono::duration<_Rep2, _Period2>>
1115:     : __duration_common_type<common_type<_Rep1, _Rep2>,
1115:         typename _Period1::type,
1115:         typename _Period2::type>
1115:     { };
1115: 
1115: 
1115:   template<typename _Rep, typename _Period>
1115:     struct common_type<chrono::duration<_Rep, _Period>,
1115:          chrono::duration<_Rep, _Period>>
1115:     {
1115:       using type = chrono::duration<typename common_type<_Rep>::type,
1115:         typename _Period::type>;
1115:     };
1115: 
1115: 
1115:   template<typename _Rep, typename _Period>
1115:     struct common_type<chrono::duration<_Rep, _Period>>
1115:     {
1115:       using type = chrono::duration<typename common_type<_Rep>::type,
1115:         typename _Period::type>;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CT, typename _Clock, typename = void>
1115:     struct __timepoint_common_type
1115:     { };
1115: 
1115:   template<typename _CT, typename _Clock>
1115:     struct __timepoint_common_type<_CT, _Clock, __void_t<typename _CT::type>>
1115:     {
1115:       using type = chrono::time_point<_Clock, typename _CT::type>;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Clock, typename _Duration1, typename _Duration2>
1115:     struct common_type<chrono::time_point<_Clock, _Duration1>,
11 T*;
1434: template <typename T> constexpr auto make_checked(T* p, size_t) -> T* {
1434:   return p;
1434: }
1434: 
1434: 
1434: 
1434: 
1434: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1434: 
1434: 
1434: 
1434: inline auto
1434: reserve(std::back_insert_iterator<Container> it, size_t n)
1434:     -> checked_ptr<typename Container::value_type> {
1434:   Container& c = get_container(it);
1434:   size_t size = c.size();
1434:   c.resize(size + n);
1434:   return make_checked(get_data(c) + size, n);
1434: }
1434: 
1434: template <typename T>
1434: inline auto reserve(buffer_appender<T> it, size_t n) -> buffer_appender<T> {
1434:   buffer<T>& buf = get_container(it);
1434:   buf.try_reserve(buf.size() + n);
1434:   return it;
1434: }
1434: 
1434: template <typename Iterator>
1434: constexpr auto reserve(Iterator& it, size_t) -> Iterator& {
1434:   return it;
1434: }
1434: 
1434: template <typename OutputIt>
1434: using reserve_iterator =
1434:     remove_reference_t<decltype(reserve(std::declval<OutputIt&>(), 0))>;
1434: 
1434: template <typename T, typename OutputIt>
1434: constexpr auto to_pointer(OutputIt, size_t) -> T* {
1434:   return nullptr;
1434: }
1434: template <typename T> auto to_pointer(buffer_appender<T> it, size_t n) -> T* {
1434:   buffer<T>& buf = get_container(it);
1434:   auto size = buf.size();
1434:   if (buf.capacity() < size + n) return nullptr;
1434:   buf.try_resize(size + n);
1434:   return buf.data() + size;
1434: }
1434: 
1434: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1434: inline auto base_iterator(std::back_insert_iterator<Container>& it,
1434:                           checked_ptr<typename Container::value_type>)
1434:     -> std::back_insert_iterator<Container> {
1434:   return it;
1434: }
1434: 
1434: template <typename Iterator>
1434: constexpr auto base_iterator(Iterator, Iterator it) -> Iterator {
1434:   return it;
1434: }
1434: 
1434: 
1434: 
1434: template <typename OutputIt, typename Size, typename T>
1434: constexpr auto fill_n(OutputIt out, Size count, const T& value)
1434:     -> OutputIt {
1434:   for (Size i = 0; i < count; ++i) *out++ = value;
1434:   return out;
1434: }
1434: template <typename T, typename Size>
1434:  auto fill_n(T* out, Size count, char value) -> T* {
1434:   if (is_constant_evaluated()) {
1434:     return fill_n<T*, Size, T>(out, count, value);
1434:   }
1434:   std::memset(out, value, to_unsigned(count));
1434:   return out + count;
1434: }
1434: 
1434: 
1434: 
1434: 
1434: enum char8_type : unsigned char {};
1434: 
1434: 
1434: template <typename OutChar, typename InputIt, typename OutputIt>
1434: constexpr __attribute__((noinline)) auto copy_str_noinline(InputIt begin, InputIt end,
1434:                                                   OutputIt out) -> OutputIt {
1434:   return copy_str<OutChar>(begin, end, out);
1434: }
1434: # 603 "/usr/include/fmt/format.h" 3 4
1434: constexpr inline auto utf8_decode(const char* s, uint32_t* c, int* e)
1434:     -> const char* {
1434:   constexpr const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07};
1434:   constexpr const uint32_t mins[] = {4194304, 0, 128, 2048, 65536};
1434:   constexpr const int shiftc[] = {0, 18, 12, 6, 0};
1434:   constexpr const int shifte[] = {0, 6, 4, 2, 0};
1434: 
1434:   int len = code_point_length_impl(*s);
1434: 
1434: 
1434: 
1434:   const char* next = s + len + !len;
1434: 
1434:   using uchar = unsigned char;
1434: 
1434: 
1434: 
1434:   *c = uint32_t(uchar(s[0]) & masks[len]) << 18;
1434:   *c |= uint32_t(uchar(s[1]) & 0x3f) << 12;
1434:   *c |= uint32_t(uchar(s[2]) & 0x3f) << 6;
1434:   *c |= uint32_t(uchar(s[3]) & 0x3f) << 0;
1434:   *c >>= shiftc[len];
1434: 
1434: 
1434:   *e = (*c < mins[len]) << 6;
1434:   *e |= ((*c >> 11) == 0x1b) << 7;
1434:   *e |= (*c > 0x10FFFF) << 8;
1434:   *e |= (uchar(s[1]) & 0xc0) >> 2;
1434:   *e |= (uchar(s[2]) & 0xc0) >> 4;
1434:   *e |= uchar(s[3]) >> 6;
1434:   *e ^= 0x2a;
1434:   *e >>= shifte[len];
1434: 
1434:   return next;
1434: }
1434: 
1434: constexpr uint32_t invalid_code_point = ~uint32_t();
1434: 
1434: 
1434: 
1434: template <typename F>
1434: constexpr void for_each_codepoint(string_view s, F f) {
1434:   auto decode = [f](const char* buf_ptr, const char* ptr) {
1434:     auto cp = uint32_t();
1434:     auto error = 0;
1434:     auto end = utf8_decode(buf_ptr, &cp, &error);
1434:     bool result = f(error ? invalid_code_point : cp,
1434:                     string_view(ptr, error ? 1 : to_unsigned(end - buf_ptr)));
1434:     return result ? (error ? buf_ptr + 1 : end) : nullptr;
1434:   };
1434:   auto p = s.data();
1434:   const size_t block_size = 4;
1434:   if (s.size() >= block_size) {
1434:     for (auto end = p + s.size() - block_size + 1; p < end;) {
1434:       p = decode(p, p);
1434:       if (!p) return;
1434:     }
1434:   }
1434:   if (auto num_chars_left = s.data() + s.size() - p) {
1434:     char buf[2 * block_size - 1] = {};
1434:     copy_str<char>(p, p + num_chars_left, buf);
1434:     const char* buf_ptr = buf;
1434:     do {
1434:       auto end = decode(buf_ptr, p);
1434:       if (!end) return;
1434:       p += end - buf_ptr;
1434:       buf_ptr = end;
1434:     } while (buf_ptr - buf < num_chars_left);
1434:   }
1434: }
1434: 
1434: template <typename Char>
1434: inline auto compute_width(basic_string_view<Char> s) -> size_t {
1434:   return s.size();
1434: }
1434: 
1434: 
1434: constexpr inline size_t compute_width(string_view s) {
1434:   size_t num_code_points = 0;
1434: 
1434:   struct count_code_points {
1434:     size_t* count;
1434:     constexpr auto operator()(uint32_t cp, string_view) const -> bool {
1434:       *count += detail::to_unsigned(
1434:           1 +
1434:           (cp >= 0x1100 &&
1434:            (cp <= 0x115f ||
1434:             cp == 0x2329 ||
1434:             cp == 0x232a ||
1434: 
1434:             (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
1434:             (cp >= 0xac00 && cp <= 0xd7a3) ||
1434:             (cp >= 0xf900 && cp <= 0xfaff) ||
1434:             (cp >= 0xfe10 && cp <= 0xfe19) ||
1434:             (cp >= 0xfe30 && cp <= 0xfe6f) ||
1434:             (cp >= 0xff00 && cp <= 0xff60) ||
1434:             (cp >= 0xffe0 && cp <= 0xffe6) ||
1434:             (cp >= 0x20000 && cp <= 0x2fffd) ||
1434:             (cp >= 0x30000 && cp <= 0x3fffd) ||
1434: 
1434:             (cp >= 0x1f300 && cp <= 0x1f64f) ||
1434: 
1434:             (cp >= 0x1f900 && cp <= 0x1f9ff))));
1434:       return true;
1434:     }
1434:   };
1434:   for_each_codepoint(s, count_code_points{&num_code_points});
1434:   return num_code_points;
1434: }
1434: 
1434: inline auto compute_width(basic_string_view<char8_type> s) -> size_t {
1434:   return compute_width(
1434:       string_view(reinterpret_cast<const char*>(s.data()), s.size()));
1434: }
1434: 
1434: template <typename Char>
1434: inline auto code_point_index(basic_string_view<Char> s, size_t n) -> size_t {
1434:   size_t size = s.size();
1434:   return n < size ? n : size;
1434: }
1434: 
1434: 
1434: inline auto code_point_index(string_view s, size_t n) -> size_t {
1434:   const char* data = s.data();
1434:   size_t num_code_points = 0;
1434:   for (size_t i = 0, size = s.size(); i != size; ++i) {
1434:     if ((data[i] & 0xc0) != 0x80 && ++num_code_points > n) return i;
1434:   }
1434:   return s.size();
1434: }
1434: 
1434: inline auto code_point_index(basic_string_view<char8_type> s, size_t n)
1434:     -> size_t {
1434:   return code_point_index(
1434:       string_view(reinterpret_cast<const char*>(s.data()), s.size()), n);
1434: }
1434: # 750 "/usr/include/fmt/format.h" 3 4
1434: using float128 = void;
1434: 
1434: template <typename T> using is_float128 = std::is_same<T, float128>;
1434: 
1434: template <typename T>
1434: using is_floating_point =
1434:     bool_constant<std::is_floating_point<T>::value || is_float128<T>::value>;
1434: 
1434: template <typename T, bool = std::is_floating_point<T>::value>
1434: struct is_fast_float : bool_constant<std::numeric_limits<T>::is_iec559 &&
1434:                                      sizeof(T) <= sizeof(double)> {};
1434: template <typename T> struct is_fast_float<T, false> : std::false_type {};
1434: 
1434: template <typename T>
1434: using is_double_double = bool_constant<std::numeric_limits<T>::digits == 106>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename T>
1434: template <typename U>
1434: void buffer<T>::append(const U* begin, const U* end) {
1434:   while (begin != end) {
1434:     auto count = to_unsigned(end - begin);
1434:     try_reserve(size_ + count);
1434:     auto free_cap = capacity_ - size_;
1434:     if (free_cap < count) count = free_cap;
1434:     std::uninitialized_copy_n(begin, count, make_checked(ptr_ + size_, count));
1434:     size_ += count;
1434:     begin += count;
1434:   }
1434: }
1434: 
1434: template <typename T, typename Enable = void>
1434: struct is_locale : std::false_type {};
1434: template <typename T>
1434: struct is_locale<T, void_t<decltype(T::classic())>> : std::true_type {};
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: enum { inline_buffer_size = 500 };
1434: # 817 "/usr/include/fmt/format.h" 3 4
1434: template <typename T, size_t SIZE = inline_buffer_size,
1434:           typename Allocator = std::allocator<T>>
1434: class basic_memory_buffer final : public detail::buffer<T> {
1434:  private:
1434:   T store_[SIZE];
1434: 
1434: 
1434:   Allocator alloc_;
1434: 
1434: 
1434:   void deallocate() {
1434:     T* data = this->data();
1434:     if (data != store_) alloc_.deallocate(data, this->capacity());
1434:   }
1434: 
1434:  protected:
1434:   void grow(size_t size) override;
1434: 
1434:  public:
1434:   using value_type = T;
1434:   using const_reference = const T&;
1434: 
1434:   explicit basic_memory_buffer(
1434:       const Allocator& alloc = Allocator())
1434:       : alloc_(alloc) {
1434:     this->set(store_, SIZE);
1434:     if (detail::is_constant_evaluated()) detail::fill_n(store_, SIZE, T());
1434:   }
1434:   ~basic_memory_buffer() { deallocate(); }
1434: 
1434:  private:
1434: 
1434:   void move(basic_memory_buffer& other) {
1434:     alloc_ = std::move(other.alloc_);
1434:     T* data = other.data();
1434:     size_t size = other.size(), capacity = other.capacity();
1434:     if (data == other.store_) {
1434:       this->set(store_, capacity);
1434:       detail::copy_str<T>(other.store_, other.store_ + size,
1434:                           detail::make_checked(store_, capacity));
1434:     } else {
1434:       this->set(data, capacity);
1434: 
1434: 
1434:       other.set(other.store_, 0);
1434:       other.clear();
1434:     }
1434:     this->resize(size);
1434:   }
1434: 
1434:  public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   basic_memory_buffer(basic_memory_buffer&& other) noexcept {
1434:     move(other);
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   auto operator=(basic_memory_buffer&& other) noexcept -> basic_memory_buffer& {
1434:     ::fmt::detail::ignore_unused((this != &other), (""));
1434:     deallocate();
1434:     move(other);
1434:     return *this;
1434:   }
1434: 
1434: 
1434:   auto get_allocator() const -> Allocator { return alloc_; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   void resize(size_t count) { this->try_resize(count); }
1434: 
1434: 
1434:   void reserve(size_t new_capacity) { this->try_reserve(new_capacity); }
1434: 
1434: 
1434:   using detail::buffer<T>::append;
1434:   template <typename ContiguousRange>
1434:   void append(const ContiguousRange& range) {
1434:     append(range.data(), range.data() + range.size());
1434:   }
1434: };
1434: 
1434: template <typename T, size_t SIZE, typename Allocator>
1434:  void basic_memory_buffer<T, SIZE, Allocator>::grow(
1434:     size_t size) {
1434:   detail::abort_fuzzing_if(size > 5000);
1434:   const size_t max_size = std::allocator_traits<Allocator>::max_size(alloc_);
1434:   size_t old_capacity = this->capacity();
1434:   size_t new_capacity = old_capacity + old_capacity / 2;
1434:   if (size > new_capacity)
1434:     new_capacity = size;
1434:   else if (new_capacity > max_size)
1434:     new_capacity = size > max_size ? size : max_size;
1434:   T* old_data =15:          chrono::time_point<_Clock, _Duration2>>
1115:     : __timepoint_common_type<common_type<_Duration1, _Duration2>, _Clock>
1115:     { };
1115: 
1115: 
1115:   template<typename _Clock, typename _Duration>
1115:     struct common_type<chrono::time_point<_Clock, _Duration>,
1115:          chrono::time_point<_Clock, _Duration>>
1115:     { using type = chrono::time_point<_Clock, _Duration>; };
1115: 
1115: 
1115:   template<typename _Clock, typename _Duration>
1115:     struct common_type<chrono::time_point<_Clock, _Duration>>
1115:     { using type = chrono::time_point<_Clock, _Duration>; };
1115: 
1115: 
1115: 
1115: 
1115:   namespace chrono
1115:   {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _ToDur, typename _CF, typename _CR,
1115:       bool _NumIsOne = false, bool _DenIsOne = false>
1115:       struct __duration_cast_impl
1115:       {
1115:  template<typename _Rep, typename _Period>
1115:    static constexpr _ToDur
1115:    __cast(const duration<_Rep, _Period>& __d)
1115:    {
1115:      typedef typename _ToDur::rep __to_rep;
1115:      return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count())
1115:        * static_cast<_CR>(_CF::num)
1115:        / static_cast<_CR>(_CF::den)));
1115:    }
1115:       };
1115: 
1115:     template<typename _ToDur, typename _CF, typename _CR>
1115:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, true>
1115:       {
1115:  template<typename _Rep, typename _Period>
1115:    static constexpr _ToDur
1115:    __cast(const duration<_Rep, _Period>& __d)
1115:    {
1115:      typedef typename _ToDur::rep __to_rep;
1115:      return _ToDur(static_cast<__to_rep>(__d.count()));
1115:    }
1115:       };
1115: 
1115:     template<typename _ToDur, typename _CF, typename _CR>
1115:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, false>
1115:       {
1115:  template<typename _Rep, typename _Period>
1115:    static constexpr _ToDur
1115:    __cast(const duration<_Rep, _Period>& __d)
1115:    {
1115:      typedef typename _ToDur::rep __to_rep;
1115:      return _ToDur(static_cast<__to_rep>(
1115:        static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den)));
1115:    }
1115:       };
1115: 
1115:     template<typename _ToDur, typename _CF, typename _CR>
1115:       struct __duration_cast_impl<_ToDur, _CF, _CR, false, true>
1115:       {
1115:  template<typename _Rep, typename _Period>
1115:    static constexpr _ToDur
1115:    __cast(const duration<_Rep, _Period>& __d)
1115:    {
1115:      typedef typename _ToDur::rep __to_rep;
1115:      return _ToDur(static_cast<__to_rep>(
1115:        static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num)));
1115:    }
1115:       };
1115: 
1115:     template<typename _Tp>
1115:       struct __is_duration
1115:       : std::false_type
1115:       { };
1115: 
1115:     template<typename _Rep, typename _Period>
1115:       struct __is_duration<duration<_Rep, _Period>>
1115:       : std::true_type
1115:       { };
1115: 
1115:     template<typename _Tp>
1115:       using __enable_if_is_duration
1115:  = typename enable_if<__is_duration<_Tp>::value, _Tp>::type;
1115: 
1115:     template<typename _Tp>
1115:       using __disable_if_is_duration
1115:  = typename enable_if<!__is_duration<_Tp>::value, _Tp>::type;
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _ToDur, typename _Rep, typename _Period>
1115:       constexpr __enable_if_is_duration<_ToDur>
1115:       duration_cast(const duration<_Rep, _Period>& __d)
1115:       {
1115:  typedef typename _ToDur::period __to_period;
1115:  typedef typename _ToDur::rep __to_rep;
1115:  typedef ratio_divide<_Period, __to_period> __cf;
1115:  typedef typename common_type<__to_rep, _Rep, intmax_t>::type __cr;
1115:  typedef __duration_cast_impl<_ToDur, __cf, __cr,
1115:           __cf::num == 1, __cf::den == 1> __dc;
1115:  return __dc::__cast(__d);
1115:       }
1115: 
1115: 
1115:     template<typename _Rep>
1115:       struct treat_as_floating_point
1115:       : is_floating_point<_Rep>
1115:       { };
1115: 
1115: 
1115:     template <typena this->data();
1434:   T* new_data =
1434:       std::allocator_traits<Allocator>::allocate(alloc_, new_capacity);
1434: 
1434:   std::uninitialized_copy(old_data, old_data + this->size(),
1434:                           detail::make_checked(new_data, new_capacity));
1434:   this->set(new_data, new_capacity);
1434: 
1434: 
1434: 
1434:   if (old_data != store_) alloc_.deallocate(old_data, old_capacity);
1434: }
1434: 
1434: using memory_buffer = basic_memory_buffer<char>;
1434: 
1434: template <typename T, size_t SIZE, typename Allocator>
1434: struct is_contiguous<basic_memory_buffer<T, SIZE, Allocator>> : std::true_type {
1434: };
1434: 
1434: namespace detail {
1434: 
1434: 
1434: 
1434:  void print(std::FILE*, string_view);
1434: }
1434: 
1434: 
1434: 
1434: class format_error : public std::runtime_error {
1434:  public:
1434:   explicit format_error(const char* message) : std::runtime_error(message) {}
1434:   explicit format_error(const std::string& message)
1434:       : std::runtime_error(message) {}
1434:   format_error(const format_error&) = default;
1434:   format_error& operator=(const format_error&) = default;
1434:   format_error(format_error&&) = default;
1434:   format_error& operator=(format_error&&) = default;
1434:   ~format_error() noexcept override ;
1434: };
1434: 
1434: namespace detail_exported {
1434: # 973 "/usr/include/fmt/format.h" 3 4
1434: template <typename Char, size_t N>
1434: constexpr auto compile_string_to_view(const Char (&s)[N])
1434:     -> basic_string_view<Char> {
1434: 
1434: 
1434:   return {s, N - (std::char_traits<Char>::to_int_type(s[N - 1]) == 0 ? 1 : 0)};
1434: }
1434: template <typename Char>
1434: constexpr auto compile_string_to_view(detail::std_string_view<Char> s)
1434:     -> basic_string_view<Char> {
1434:   return {s.data(), s.size()};
1434: }
1434: }
1434: 
1434: namespace detail {
1434: 
1434: template <typename T> struct is_integral : std::is_integral<T> {};
1434: template <> struct is_integral<int128_opt> : std::true_type {};
1434: template <> struct is_integral<uint128_t> : std::true_type {};
1434: 
1434: template <typename T>
1434: using is_signed =
1434:     std::integral_constant<bool, std::numeric_limits<T>::is_signed ||
1434:                                      std::is_same<T, int128_opt>::value>;
1434: 
1434: 
1434: 
1434: template <typename T, enable_if_t<(is_signed<T>::value), int> = 0>
1434: constexpr auto is_negative(T value) -> bool {
1434:   return value < 0;
1434: }
1434: template <typename T, enable_if_t<(!is_signed<T>::value), int> = 0>
1434: constexpr auto is_negative(T) -> bool {
1434:   return false;
1434: }
1434: 
1434: template <typename T>
1434: constexpr auto is_supported_floating_point(T) -> bool {
1434:   if (std::is_same<T, float>()) return 1;
1434:   if (std::is_same<T, double>()) return 1;
1434:   if (std::is_same<T, long double>()) return 1;
1434:   return true;
1434: }
1434: 
1434: 
1434: 
1434: template <typename T>
1434: using uint32_or_64_or_128_t =
1434:     conditional_t<num_bits<T>() <= 32 && !0,
1434:                   uint32_t,
1434:                   conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>>;
1434: template <typename T>
1434: using uint64_or_128_t = conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr const char* digits2(size_t value) {
1434: 
1434:   return &"0001020304050607080910111213141516171819"
1434:          "2021222324252627282930313233343536373839"
1434:          "4041424344454647484950515253545556575859"
1434:          "6061626364656667686970717273747576777879"
1434:          "8081828384858687888990919293949596979899"[value * 2];
1434: }
1434: 
1434: 
1434: template <typename Char, typename Sign> constexpr Char sign(Sign s) {
1434: 
1434:   static_assert(std::is_same<Sign, sign_t>::value, "");
1434: 
1434:   return static_cast<Char>("\0-+ "[s]);
1434: }
1434: 
1434: template <typename T> constexpr auto count_digits_fallback(T n) -> int {
1434:   int count = 1;
1434:   for (;;) {
1434: 
1434: 
1434: 
1434:     if (n < 10) return c
1412:       _Map_pointer __cur;
1412:       try
1412:  {
1412:    for (__cur = this->_M_impl._M_start._M_node;
1412:         __cur < this->_M_impl._M_finish._M_node;
1412:         ++__cur)
1412:      std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(),
1412:         _M_get_Tp_allocator());
1412:    std::__uninitialized_default_a(this->_M_impl._M_finish._M_first,
1412:       this->_M_impl._M_finish._M_cur,
1412:       _M_get_Tp_allocator());
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1412:    _M_get_Tp_allocator());
1412:    throw;
1412:  }
1412:     }
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     deque<_Tp, _Alloc>&
1412:     deque<_Tp, _Alloc>::
1412:     operator=(const deque& __x)
1412:     {
1412:       if (std::__addressof(__x) != this)
1412:  {
1412: 
1412:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1412:      {
1412:        if (!_Alloc_traits::_S_always_equal()
1412:     && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1412:   {
1412: 
1412: 
1412:     _M_replace_map(__x, __x.get_allocator());
1412:     std::__alloc_on_copy(_M_get_Tp_allocator(),
1412:            __x._M_get_Tp_allocator());
1412:     return *this;
1412:   }
1412:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1412:        __x._M_get_Tp_allocator());
1412:      }
1412: 
1412:    const size_type __len = size();
1412:    if (__len >= __x.size())
1412:      _M_erase_at_end(std::copy(__x.begin(), __x.end(),
1412:           this->_M_impl._M_start));
1412:    else
1412:      {
1412:        const_iterator __mid = __x.begin() + difference_type(__len);
1412:        std::copy(__x.begin(), __mid, this->_M_impl._M_start);
1412:        _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(),
1412:       std::random_access_iterator_tag());
1412:      }
1412:  }
1412:       return *this;
1412:     }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename... _Args>
1412: 
1412:       typename deque<_Tp, _Alloc>::reference
1412: 
1412: 
1412: 
1412:       deque<_Tp, _Alloc>::
1412:       emplace_front(_Args&&... __args)
1412:       {
1412:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1412:    {
1412:      _Alloc_traits::construct(this->_M_impl,
1412:          this->_M_impl._M_start._M_cur - 1,
1412:          std::forward<_Args>(__args)...);
1412:      --this->_M_impl._M_start._M_cur;
1412:    }
1412:  else
1412:    _M_push_front_aux(std::forward<_Args>(__args)...);
1412: 
1412:  return front();
1412: 
1412:       }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename... _Args>
1412: 
1412:       typename deque<_Tp, _Alloc>::reference
1412: 
1412: 
1412: 
1412:       deque<_Tp, _Alloc>::
1412:       emplace_back(_Args&&... __args)
1412:       {
1412:  if (this->_M_impl._M_finish._M_cur
1412:      != this->_M_impl._M_finish._M_last - 1)
1412:    {
1412:      _Alloc_traits::construct(this->_M_impl,
1412:          this->_M_impl._M_finish._M_cur,
1412:          std::forward<_Args>(__args)...);
1412:      ++this->_M_impl._M_finish._M_cur;
1412:    }
1412:  else
1412:    _M_push_back_aux(std::forward<_Args>(__args)...);
1412: 
1412:  return back();
1412: 
1412:       }
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412:     template<typename... _Args>
1412:       typename deque<_Tp, _Alloc>::iterator
1412:       deque<_Tp, _Alloc>::
1412:       emplace(const_iterator __position, _Args&&... __args)
1412:       {
1412:  if (__position._M_cur == this->_M_impl._M_start._M_cur)
1412:    {
1412:      emplace_front(std::forward<_Args>(__args)...);
1412:      return this->_M_impl._M_start;
1412:    }
1412:  else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1412:    {
1412:      emplace_back(std::forward<_Args>(__args)...);
1412:      iterator __tmp = this->_M_impl._M_finish;
1412:      --__tmp;
1412:      return __tmp;
1412:    }
1412:  else
1412:    return _M_insert_aux(__position._M_const_cast(),
1412:           std::forount;
1434:     if (n < 100) return count + 1;
1434:     if (n < 1000) return count + 2;
1434:     if (n < 10000) return count + 3;
1434:     n /= 10000u;
1434:     count += 4;
1434:   }
1434: }
1434: # 1073 "/usr/include/fmt/format.h" 3 4
1434: inline auto do_count_digits(uint64_t n) -> int {
1434: 
1434: 
1434: 
1434: 
1434:   static constexpr uint8_t bsr2log10[] = {
1434:       1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,
1434:       6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10,
1434:       10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15,
1434:       15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20};
1434:   auto t = bsr2log10[__builtin_clzll(n | 1) ^ 63];
1434:   static constexpr const uint64_t zero_or_powers_of_10[] = {
1434:       0, 0, 1U * 10, (1U)*100, (1U)*1000, (1U)*10000, (1U)*100000, (1U)*1000000, (1U)*10000000, (1U)*100000000, (1U)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1434:       10000000000000000000ULL};
1434:   return t - (n < zero_or_powers_of_10[t]);
1434: }
1434: 
1434: 
1434: 
1434: 
1434:  inline auto count_digits(uint64_t n) -> int {
1434: 
1434:   if (!is_constant_evaluated()) {
1434:     return do_count_digits(n);
1434:   }
1434: 
1434:   return count_digits_fallback(n);
1434: }
1434: 
1434: 
1434: template <int BITS, typename UInt>
1434: constexpr auto count_digits(UInt n) -> int {
1434: 
1434:   if (!is_constant_evaluated() && num_bits<UInt>() == 32)
1434:     return (__builtin_clz(static_cast<uint32_t>(n) | 1) ^ 31) / BITS + 1;
1434: 
1434: 
1434:   return [](UInt m) {
1434:     int num_digits = 0;
1434:     do {
1434:       ++num_digits;
1434:     } while ((m >>= BITS) != 0);
1434:     return num_digits;
1434:   }(n);
1434: }
1434: 
1434: 
1434: 
1434: 
1434: inline __attribute__((always_inline)) auto do_count_digits(uint32_t n) -> int {
1434: 
1434: 
1434: 
1434:   static constexpr uint64_t table[] = {
1434:       (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0),
1434:       (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10),
1434:       (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100),
1434:       (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000),
1434:       (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000),
1434:       (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000),
1434:       (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000),
1434:       (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000),
1434:       (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000),
1434:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000),
1434:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000)
1434:   };
1434:   auto inc = table[__builtin_clz(n | 1) ^ 31];
1434:   return static_cast<int>((n + inc) >> 32);
1434: }
1434: 
1434: 
1434: 
1434:  inline auto count_digits(uint32_t n) -> int {
1434: 
1434:   if (!is_constant_evaluated()) {
1434:     return do_count_digits(n);
1434:   }
1434: 
1434:   return count_digits_fallback(n);
1434: }
1434: 
1434: template <typename Int> constexpr auto digits10() noexcepme _Rep>
1115:       inline constexpr bool treat_as_floating_point_v =
1115:  treat_as_floating_point<_Rep>::value;
1115: # 332 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _ToDur, typename _Rep, typename _Period>
1115:       constexpr __enable_if_is_duration<_ToDur>
1115:       floor(const duration<_Rep, _Period>& __d)
1115:       {
1115:  auto __to = chrono::duration_cast<_ToDur>(__d);
1115:  if (__to > __d)
1115:    return __to - _ToDur{1};
1115:  return __to;
1115:       }
1115: 
1115:     template<typename _ToDur, typename _Rep, typename _Period>
1115:       constexpr __enable_if_is_duration<_ToDur>
1115:       ceil(const duration<_Rep, _Period>& __d)
1115:       {
1115:  auto __to = chrono::duration_cast<_ToDur>(__d);
1115:  if (__to < __d)
1115:    return __to + _ToDur{1};
1115:  return __to;
1115:       }
1115: 
1115:     template <typename _ToDur, typename _Rep, typename _Period>
1115:       constexpr enable_if_t<
1115:  __and_<__is_duration<_ToDur>,
1115:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1115:  _ToDur>
1115:       round(const duration<_Rep, _Period>& __d)
1115:       {
1115:  _ToDur __t0 = chrono::floor<_ToDur>(__d);
1115:  _ToDur __t1 = __t0 + _ToDur{1};
1115:  auto __diff0 = __d - __t0;
1115:  auto __diff1 = __t1 - __d;
1115:  if (__diff0 == __diff1)
1115:  {
1115:      if (__t0.count() & 1)
1115:   return __t1;
1115:      return __t0;
1115:  }
1115:  else if (__diff0 < __diff1)
1115:      return __t0;
1115:  return __t1;
1115:       }
1115: 
1115:     template<typename _Rep, typename _Period>
1115:       constexpr
1115:       enable_if_t<numeric_limits<_Rep>::is_signed, duration<_Rep, _Period>>
1115:       abs(duration<_Rep, _Period> __d)
1115:       {
1115:  if (__d >= __d.zero())
1115:    return __d;
1115:  return -__d;
1115:       }
1115: 
1115: 
1115:     namespace __detail { using chrono::ceil; }
1115: # 412 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _Rep>
1115:       struct duration_values
1115:       {
1115:  static constexpr _Rep
1115:  zero() noexcept
1115:  { return _Rep(0); }
1115: 
1115:  static constexpr _Rep
1115:  max() noexcept
1115:  { return numeric_limits<_Rep>::max(); }
1115: 
1115:  static constexpr _Rep
1115:  min() noexcept
1115:  { return numeric_limits<_Rep>::lowest(); }
1115:       };
1115: 
1115: 
1115: 
1115:     template<typename _Tp>
1115:       struct __is_ratio
1115:       : std::false_type
1115:       { };
1115: 
1115:     template<intmax_t _Num, intmax_t _Den>
1115:       struct __is_ratio<ratio<_Num, _Den>>
1115:       : std::true_type
1115:       { };
1115: 
1115: 
1115: 
1115:     template<typename _Rep, typename _Period>
1115:       struct duration
1115:       {
1115:       private:
1115:  template<typename _Rep2>
1115:    using __is_float = treat_as_floating_point<_Rep2>;
1115: 
1115:  static constexpr intmax_t
1115:  _S_gcd(intmax_t __m, intmax_t __n) noexcept
1115:  {
1115: 
1115: 
1115: 
1115:    do
1115:      {
1115:        intmax_t __rem = __m % __n;
1115:        __m = __n;
1115:        __n = __rem;
1115:      }
1115:    while (__n != 0);
1115:    return __m;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  template<typename _R1, typename _R2,
1115:    intmax_t __gcd1 = _S_gcd(_R1::num, _R2::num),
1115:    intmax_t __gcd2 = _S_gcd(_R1::den, _R2::den)>
1115:    using __divide = ratio<(_R1::num / __gcd1) * (_R2::den / __gcd2),
1115:      (_R1::den / __gcd2) * (_R2::num / __gcd1)>;
1115: 
1115: 
1115:  template<typename _Period2>
1115:    using __is_harmonic
1115:      = __bool_constant<__divide<_Period2, _Period>::den == 1>;
1115: 
1115:       public:
1115: 
1115:  using rep = _Rep;
1115:  using period = typename _Period::type;
1115: 
1115:  static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
1115:  static_assert(__is_ratio<_Period>::value,
1115:         "period must be a specialization of ratio");
1115:  static_assert(_Period::num > 0, "period must be positive");
1115: 
1115: 
1115:  constexpr duration() = default;
1115: 
1115:  t -> int {
1434:   return std::numeric_limits<Int>::digits10;
1434: }
1434: template <> constexpr auto digits10<int128_opt>() noexcept -> int { return 38; }
1434: template <> constexpr auto digits10<uint128_t>() noexcept -> int { return 38; }
1434: 
1434: template <typename Char> struct thousands_sep_result {
1434:   std::string grouping;
1434:   Char thousands_sep;
1434: };
1434: 
1434: template <typename Char>
1434:  auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result<Char>;
1434: template <typename Char>
1434: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<Char> {
1434:   auto result = thousands_sep_impl<char>(loc);
1434:   return {result.grouping, Char(result.thousands_sep)};
1434: }
1434: template <>
1434: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<wchar_t> {
1434:   return thousands_sep_impl<wchar_t>(loc);
1434: }
1434: 
1434: template <typename Char>
1434:  auto decimal_point_impl(locale_ref loc) -> Char;
1434: template <typename Char> inline auto decimal_point(locale_ref loc) -> Char {
1434:   return Char(decimal_point_impl<char>(loc));
1434: }
1434: template <> inline auto decimal_point(locale_ref loc) -> wchar_t {
1434:   return decimal_point_impl<wchar_t>(loc);
1434: }
1434: 
1434: 
1434: template <typename Char> auto equal2(const Char* lhs, const char* rhs) -> bool {
1434:   return lhs[0] == Char(rhs[0]) && lhs[1] == Char(rhs[1]);
1434: }
1434: inline auto equal2(const char* lhs, const char* rhs) -> bool {
1434:   return memcmp(lhs, rhs, 2) == 0;
1434: }
1434: 
1434: 
1434: template <typename Char>
1434:  inline __attribute__((always_inline)) void copy2(Char* dst, const char* src) {
1434:   if (!is_constant_evaluated() && sizeof(Char) == sizeof(char)) {
1434:     memcpy(dst, src, 2);
1434:     return;
1434:   }
1434:   *dst++ = static_cast<Char>(*src++);
1434:   *dst = static_cast<Char>(*src);
1434: }
1434: 
1434: template <typename Iterator> struct format_decimal_result {
1434:   Iterator begin;
1434:   Iterator end;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: template <typename Char, typename UInt>
1434:  auto format_decimal(Char* out, UInt value, int size)
1434:     -> format_decimal_result<Char*> {
1434:   ::fmt::detail::ignore_unused((size >= count_digits(value)), ("invalid digit count"));
1434:   out += size;
1434:   Char* end = out;
1434:   while (value >= 100) {
1434: 
1434: 
1434: 
1434:     out -= 2;
1434:     copy2(out, digits2(static_cast<size_t>(value % 100)));
1434:     value /= 100;
1434:   }
1434:   if (value < 10) {
1434:     *--out = static_cast<Char>('0' + value);
1434:     return {out, end};
1434:   }
1434:   out -= 2;
1434:   copy2(out, digits2(static_cast<size_t>(value)));
1434:   return {out, end};
1434: }
1434: 
1434: template <typename Char, typename UInt, typename Iterator,
1434:           enable_if_t<(!std::is_pointer<remove_cvref_t<Iterator>>::value), int> = 0>
1434: constexpr inline auto format_decimal(Iterator out, UInt value, int size)
1434:     -> format_decimal_result<Iterator> {
1434: 
1434:   Char buffer[digits10<UInt>() + 1];
1434:   auto end = format_decimal(buffer, value, size).end;
1434:   return {out, detail::copy_str_noinline<Char>(buffer, end, out)};
1434: }
1434: 
1434: template <unsigned BASE_BITS, typename Char, typename UInt>
1434: constexpr auto format_uint(Char* buffer, UInt value, int num_digits,
1434:                                bool upper = false) -> Char* {
1434:   buffer += num_digits;
1434:   Char* end = buffer;
1434:   do {
1434:     const char* digits = upper ? "0123456789ABCDEF" : "0123456789abcdef";
1434:     unsigned digit = static_cast<unsigned>(value & ((1 << BASE_BITS) - 1));
1434:     *--buffer = static_cast<Char>(BASE_BITS < 4 ? static_cast<char>('0' + digit)
1434:                                                 : digits[digit]);
1434:   } while ((value >>= BASE_BITS) != 0);
1434:   return end;
1434: }
1434: 
1434: template <unsigned BASE_BITS, typename Char, typename It, typename UInt>
1434: inline auto format_uint(It out, UInt value, int num_digits, bool upper = false)
1434:     -> It {
14ward<_Args>(__args)...);
1412:       }
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     typename deque<_Tp, _Alloc>::iterator
1412:     deque<_Tp, _Alloc>::
1412: 
1412:     insert(const_iterator __position, const value_type& __x)
1412: 
1412: 
1412: 
1412:     {
1412:       if (__position._M_cur == this->_M_impl._M_start._M_cur)
1412:  {
1412:    push_front(__x);
1412:    return this->_M_impl._M_start;
1412:  }
1412:       else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1412:  {
1412:    push_back(__x);
1412:    iterator __tmp = this->_M_impl._M_finish;
1412:    --__tmp;
1412:    return __tmp;
1412:  }
1412:       else
1412:  return _M_insert_aux(__position._M_const_cast(), __x);
1412:    }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     typename deque<_Tp, _Alloc>::iterator
1412:     deque<_Tp, _Alloc>::
1412:     _M_erase(iterator __position)
1412:     {
1412:       iterator __next = __position;
1412:       ++__next;
1412:       const difference_type __index = __position - begin();
1412:       if (static_cast<size_type>(__index) < (size() >> 1))
1412:  {
1412:    if (__position != begin())
1412:      std::move_backward(begin(), __position, __next);
1412:    pop_front();
1412:  }
1412:       else
1412:  {
1412:    if (__next != end())
1412:      std::move(__next, end(), __position);
1412:    pop_back();
1412:  }
1412:       return begin() + __index;
1412:     }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     typename deque<_Tp, _Alloc>::iterator
1412:     deque<_Tp, _Alloc>::
1412:     _M_erase(iterator __first, iterator __last)
1412:     {
1412:       if (__first == __last)
1412:  return __first;
1412:       else if (__first == begin() && __last == end())
1412:  {
1412:    clear();
1412:    return end();
1412:  }
1412:       else
1412:  {
1412:    const difference_type __n = __last - __first;
1412:    const difference_type __elems_before = __first - begin();
1412:    if (static_cast<size_type>(__elems_before) <= (size() - __n) / 2)
1412:      {
1412:        if (__first != begin())
1412:   std::move_backward(begin(), __first, __last);
1412:        _M_erase_at_begin(begin() + __n);
1412:      }
1412:    else
1412:      {
1412:        if (__last != end())
1412:   std::move(__last, end(), __first);
1412:        _M_erase_at_end(end() - __n);
1412:      }
1412:    return begin() + __elems_before;
1412:  }
1412:     }
1412: 
1412:   template <typename _Tp, class _Alloc>
1412:     template <typename _InputIterator>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1412:       std::input_iterator_tag)
1412:       {
1412:  iterator __cur = begin();
1412:  for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1412:    *__cur = *__first;
1412:  if (__first == __last)
1412:    _M_erase_at_end(__cur);
1412:  else
1412:    _M_range_insert_aux(end(), __first, __last,
1412:          std::__iterator_category(__first));
1412:       }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
1412:     {
1412:       if (__pos._M_cur == this->_M_impl._M_start._M_cur)
1412:  {
1412:    iterator __new_start = _M_reserve_elements_at_front(__n);
1412:    try
1412:      {
1412:        std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
1412:        __x, _M_get_Tp_allocator());
1412:        this->_M_impl._M_start = __new_start;
1412:      }
1412:    catch(...)
1412:      {
1412:        _M_destroy_nodes(__new_start._M_node,
1412:           this->_M_impl._M_start._M_node);
1412:        throw;
1412:      }
1412:  }
1412:       else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1412:  {
1412:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1412:    try
1412:      {
1412:        std::__uninitialized_fill_a(this->_M_impl._M_finish,
1412:        __new_finish, __x,
1412:        _M_get_Tp_allocator());
1412:        this->_M_impl._M_finish = _34:   if (auto ptr = to_pointer<Char>(out, to_unsigned(num_digits))) {
1434:     format_uint<BASE_BITS>(ptr, value, num_digits, upper);
1434:     return out;
1434:   }
1434: 
1434:   char buffer[num_bits<UInt>() / BASE_BITS + 1];
1434:   format_uint<BASE_BITS>(buffer, value, num_digits, upper);
1434:   return detail::copy_str_noinline<Char>(buffer, buffer + num_digits, out);
1434: }
1434: 
1434: 
1434: class utf8_to_utf16 {
1434:  private:
1434:   basic_memory_buffer<wchar_t> buffer_;
1434: 
1434:  public:
1434:   explicit utf8_to_utf16(string_view s);
1434:   operator basic_string_view<wchar_t>() const { return {&buffer_[0], size()}; }
1434:   auto size() const -> size_t { return buffer_.size() - 1; }
1434:   auto c_str() const -> const wchar_t* { return &buffer_[0]; }
1434:   auto str() const -> std::wstring { return {&buffer_[0], size()}; }
1434: };
1434: 
1434: namespace dragonbox {
1434: 
1434: 
1434: template <typename T, typename Enable = void> struct float_info;
1434: 
1434: template <> struct float_info<float> {
1434:   using carrier_uint = uint32_t;
1434:   static const int exponent_bits = 8;
1434:   static const int kappa = 1;
1434:   static const int big_divisor = 100;
1434:   static const int small_divisor = 10;
1434:   static const int min_k = -31;
1434:   static const int max_k = 46;
1434:   static const int shorter_interval_tie_lower_threshold = -35;
1434:   static const int shorter_interval_tie_upper_threshold = -35;
1434: };
1434: 
1434: template <> struct float_info<double> {
1434:   using carrier_uint = uint64_t;
1434:   static const int exponent_bits = 11;
1434:   static const int kappa = 2;
1434:   static const int big_divisor = 1000;
1434:   static const int small_divisor = 100;
1434:   static const int min_k = -292;
1434:   static const int max_k = 326;
1434:   static const int shorter_interval_tie_lower_threshold = -77;
1434:   static const int shorter_interval_tie_upper_threshold = -77;
1434: };
1434: 
1434: 
1434: template <typename T>
1434: struct float_info<T, enable_if_t<std::numeric_limits<T>::digits == 64 ||
1434:                                  std::numeric_limits<T>::digits == 113 ||
1434:                                  is_float128<T>::value>> {
1434:   using carrier_uint = detail::uint128_t;
1434:   static const int exponent_bits = 15;
1434: };
1434: 
1434: 
1434: template <typename T>
1434: struct float_info<T, enable_if_t<is_double_double<T>::value>> {
1434:   using carrier_uint = detail::uint128_t;
1434: };
1434: 
1434: template <typename T> struct decimal_fp {
1434:   using significand_type = typename float_info<T>::carrier_uint;
1434:   significand_type significand;
1434:   int exponent;
1434: };
1434: 
1434: template <typename T> auto to_decimal(T x) noexcept -> decimal_fp<T>;
1434: }
1434: 
1434: 
1434: template <typename Float> constexpr bool has_implicit_bit() {
1434: 
1434:   return std::numeric_limits<Float>::digits != 64;
1434: }
1434: 
1434: 
1434: 
1434: template <typename Float> constexpr int num_significand_bits() {
1434: 
1434:   return is_float128<Float>() ? 112
1434:                               : (std::numeric_limits<Float>::digits -
1434:                                  (has_implicit_bit<Float>() ? 1 : 0));
1434: }
1434: 
1434: template <typename Float>
1434: constexpr auto exponent_mask() ->
1434:     typename dragonbox::float_info<Float>::carrier_uint {
1434:   using uint = typename dragonbox::float_info<Float>::carrier_uint;
1434:   return ((uint(1) << dragonbox::float_info<Float>::exponent_bits) - 1)
1434:          << num_significand_bits<Float>();
1434: }
1434: template <typename Float> constexpr auto exponent_bias() -> int {
1434: 
1434:   return is_float128<Float>() ? 16383
1434:                               : std::numeric_limits<Float>::max_exponent - 1;
1434: }
1434: 
1434: 
1434: template <typename Char, typename It>
1434: constexpr auto write_exponent(int exp, It it) -> It {
1434:   ::fmt::detail::ignore_unused((-10000 < exp && exp < 10000), ("exponent out of range"));
1434:   if (exp < 0) {
1434:     *it++ = static_cast<Char>('-');
1434:     exp = duration(const duration&) = default;
1115: 
1115: 
1115: 
1115:  template<typename _Rep2, typename = _Require<
1115:    is_convertible<const _Rep2&, rep>,
1115:    __or_<__is_float<rep>, __not_<__is_float<_Rep2>>>>>
1115:    constexpr explicit duration(const _Rep2& __rep)
1115:    : __r(static_cast<rep>(__rep)) { }
1115: 
1115:  template<typename _Rep2, typename _Period2, typename = _Require<
1115:    is_convertible<const _Rep2&, rep>,
1115:    __or_<__is_float<rep>,
1115:          __and_<__is_harmonic<_Period2>,
1115:          __not_<__is_float<_Rep2>>>>>>
1115:    constexpr duration(const duration<_Rep2, _Period2>& __d)
1115:    : __r(duration_cast<duration>(__d).count()) { }
1115: 
1115:  ~duration() = default;
1115:  duration& operator=(const duration&) = default;
1115: 
1115: 
1115:  constexpr rep
1115:  count() const
1115:  { return __r; }
1115: 
1115: 
1115: 
1115:  constexpr duration<typename common_type<rep>::type, period>
1115:  operator+() const
1115:  { return duration<typename common_type<rep>::type, period>(__r); }
1115: 
1115:  constexpr duration<typename common_type<rep>::type, period>
1115:  operator-() const
1115:  { return duration<typename common_type<rep>::type, period>(-__r); }
1115: 
1115:  constexpr duration&
1115:  operator++()
1115:  {
1115:    ++__r;
1115:    return *this;
1115:  }
1115: 
1115:  constexpr duration
1115:  operator++(int)
1115:  { return duration(__r++); }
1115: 
1115:  constexpr duration&
1115:  operator--()
1115:  {
1115:    --__r;
1115:    return *this;
1115:  }
1115: 
1115:  constexpr duration
1115:  operator--(int)
1115:  { return duration(__r--); }
1115: 
1115:  constexpr duration&
1115:  operator+=(const duration& __d)
1115:  {
1115:    __r += __d.count();
1115:    return *this;
1115:  }
1115: 
1115:  constexpr duration&
1115:  operator-=(const duration& __d)
1115:  {
1115:    __r -= __d.count();
1115:    return *this;
1115:  }
1115: 
1115:  constexpr duration&
1115:  operator*=(const rep& __rhs)
1115:  {
1115:    __r *= __rhs;
1115:    return *this;
1115:  }
1115: 
1115:  constexpr duration&
1115:  operator/=(const rep& __rhs)
1115:  {
1115:    __r /= __rhs;
1115:    return *this;
1115:  }
1115: 
1115: 
1115:  template<typename _Rep2 = rep>
1115:    constexpr
1115:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1115:         duration&>::type
1115:    operator%=(const rep& __rhs)
1115:    {
1115:      __r %= __rhs;
1115:      return *this;
1115:    }
1115: 
1115:  template<typename _Rep2 = rep>
1115:    constexpr
1115:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
1115:         duration&>::type
1115:    operator%=(const duration& __d)
1115:    {
1115:      __r %= __d.count();
1115:      return *this;
1115:    }
1115: 
1115: 
1115:  static constexpr duration
1115:  zero() noexcept
1115:  { return duration(duration_values<rep>::zero()); }
1115: 
1115:  static constexpr duration
1115:  min() noexcept
1115:  { return duration(duration_values<rep>::min()); }
1115: 
1115:  static constexpr duration
1115:  max() noexcept
1115:  { return duration(duration_values<rep>::max()); }
1115: 
1115:       private:
1115:  rep __r;
1115:       };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr typename common_type<duration<_Rep1, _Period1>,
1115:          duration<_Rep2, _Period2>>::type
1115:       operator+(const duration<_Rep1, _Period1>& __lhs,
1115:   const duration<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep1, _Period1> __dur1;
1115:  typedef duration<_Rep2, _Period2> __dur2;
1115:  typedef typename common_type<__dur1,__dur2>::type __cd;
1115:  return __cd(__cd(__lhs).count() + __cd(__rhs).count());
1115:       }
1115: 
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr typename common_type<duration<_Rep1, _Period1>,
1115:          duration<_Rep2, _Period2>>::type
1115:       operator-(const duration<_Rep1, _Period1>& __lhs,
1115:   const duratio-exp;
1434:   } else {
1434:     *it++ = static_cast<Char>('+');
1434:   }
1434:   if (exp >= 100) {
1434:     const char* top = digits2(to_unsigned(exp / 100));
1434:     if (exp >= 1000) *it++ = static_cast<Char>(top[0]);
1434:     *it++ = static_cast<Char>(top[1]);
1434:     exp %= 100;
1434:   }
1434:   const char* d = digits2(to_unsigned(exp));
1434:   *it++ = static_cast<Char>(d[0]);
1434:   *it++ = static_cast<Char>(d[1]);
1434:   return it;
1434: }
1434: 
1434: 
1434: template <typename F> struct basic_fp {
1434:   F f;
1434:   int e;
1434: 
1434:   static constexpr const int num_significand_bits =
1434:       static_cast<int>(sizeof(F) * num_bits<unsigned char>());
1434: 
1434:   constexpr basic_fp() : f(0), e(0) {}
1434:   constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {}
1434: 
1434: 
1434:   template <typename Float> constexpr basic_fp(Float n) { assign(n); }
1434: 
1434: 
1434:   template <typename Float, enable_if_t<(!is_double_double<Float>::value), int> = 0>
1434:   constexpr auto assign(Float n) -> bool {
1434:     static_assert(std::numeric_limits<Float>::digits <= 113, "unsupported FP");
1434: 
1434:     using carrier_uint = typename dragonbox::float_info<Float>::carrier_uint;
1434:     const auto num_float_significand_bits =
1434:         detail::num_significand_bits<Float>();
1434:     const auto implicit_bit = carrier_uint(1) << num_float_significand_bits;
1434:     const auto significand_mask = implicit_bit - 1;
1434:     auto u = bit_cast<carrier_uint>(n);
1434:     f = static_cast<F>(u & significand_mask);
1434:     auto biased_e = static_cast<int>((u & exponent_mask<Float>()) >>
1434:                                      num_float_significand_bits);
1434: 
1434: 
1434:     auto is_predecessor_closer = f == 0 && biased_e > 1;
1434:     if (biased_e == 0)
1434:       biased_e = 1;
1434:     else if (has_implicit_bit<Float>())
1434:       f += static_cast<F>(implicit_bit);
1434:     e = biased_e - exponent_bias<Float>() - num_float_significand_bits;
1434:     if (!has_implicit_bit<Float>()) ++e;
1434:     return is_predecessor_closer;
1434:   }
1434: 
1434:   template <typename Float, enable_if_t<(is_double_double<Float>::value), int> = 0>
1434:   constexpr auto assign(Float n) -> bool {
1434:     static_assert(std::numeric_limits<double>::is_iec559, "unsupported FP");
1434:     return assign(static_cast<double>(n));
1434:   }
1434: };
1434: 
1434: using fp = basic_fp<unsigned long long>;
1434: 
1434: 
1434: template <int SHIFT = 0, typename F>
1434: constexpr basic_fp<F> normalize(basic_fp<F> value) {
1434: 
1434:   const auto implicit_bit = F(1) << num_significand_bits<double>();
1434:   const auto shifted_implicit_bit = implicit_bit << SHIFT;
1434:   while ((value.f & shifted_implicit_bit) == 0) {
1434:     value.f <<= 1;
1434:     --value.e;
1434:   }
1434: 
1434:   const auto offset = basic_fp<F>::num_significand_bits -
1434:                       num_significand_bits<double>() - SHIFT - 1;
1434:   value.f <<= offset;
1434:   value.e -= offset;
1434:   return value;
1434: }
1434: 
1434: 
1434: constexpr inline uint64_t multiply(uint64_t lhs, uint64_t rhs) {
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   uint64_t mask = (1ULL << 32) - 1;
1434:   uint64_t a = lhs >> 32, b = lhs & mask;
1434:   uint64_t c = rhs >> 32, d = rhs & mask;
1434:   uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d;
1434: 
1434:   uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31);
1434:   return ac + (ad >> 32) + (bc >> 32) + (mid >> 32);
1434: 
1434: }
1434: 
1434: constexpr inline fp operator*(fp x, fp y) {
1434:   return {multiply(x.f, y.f), x.e + y.e + 64};
1434: }
1434: 
1434: template <typename T = void> struct basic_data {
1434: 
1434: 
1434:   static constexpr uint64_t pow10_significands[87] = {
1434:       0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76,
1434:       0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df,
1434:       0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c,
1434:       0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8n<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep1, _Period1> __dur1;
1115:  typedef duration<_Rep2, _Period2> __dur2;
1115:  typedef typename common_type<__dur1,__dur2>::type __cd;
1115:  return __cd(__cd(__lhs).count() - __cd(__rhs).count());
1115:       }
1115: # 661 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _Rep1, typename _Rep2,
1115:       typename _CRep = typename common_type<_Rep1, _Rep2>::type>
1115:       using __common_rep_t = typename
1115:  enable_if<is_convertible<const _Rep2&, _CRep>::value, _CRep>::type;
1115: # 673 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _Rep1, typename _Period, typename _Rep2>
1115:       constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period>
1115:       operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1115:       {
1115:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1115:    __cd;
1115:  return __cd(__cd(__d).count() * __s);
1115:       }
1115: 
1115:     template<typename _Rep1, typename _Rep2, typename _Period>
1115:       constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period>
1115:       operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d)
1115:       { return __d * __s; }
1115: 
1115:     template<typename _Rep1, typename _Period, typename _Rep2>
1115:       constexpr
1115:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1115:       operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1115:       {
1115:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1115:    __cd;
1115:  return __cd(__cd(__d).count() / __s);
1115:       }
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr typename common_type<_Rep1, _Rep2>::type
1115:       operator/(const duration<_Rep1, _Period1>& __lhs,
1115:   const duration<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep1, _Period1> __dur1;
1115:  typedef duration<_Rep2, _Period2> __dur2;
1115:  typedef typename common_type<__dur1,__dur2>::type __cd;
1115:  return __cd(__lhs).count() / __cd(__rhs).count();
1115:       }
1115: 
1115: 
1115:     template<typename _Rep1, typename _Period, typename _Rep2>
1115:       constexpr
1115:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
1115:       operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
1115:       {
1115:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
1115:    __cd;
1115:  return __cd(__cd(__d).count() % __s);
1115:       }
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr typename common_type<duration<_Rep1, _Period1>,
1115:          duration<_Rep2, _Period2>>::type
1115:       operator%(const duration<_Rep1, _Period1>& __lhs,
1115:   const duration<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep1, _Period1> __dur1;
1115:  typedef duration<_Rep2, _Period2> __dur2;
1115:  typedef typename common_type<__dur1,__dur2>::type __cd;
1115:  return __cd(__cd(__lhs).count() % __cd(__rhs).count());
1115:       }
1115: # 741 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr bool
1115:       operator==(const duration<_Rep1, _Period1>& __lhs,
1115:    const duration<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep1, _Period1> __dur1;
1115:  typedef duration<_Rep2, _Period2> __dur2;
1115:  typedef typename common_type<__dur1,__dur2>::type __ct;
1115:  return __ct(__lhs).count() == __ct(__rhs).count();
1115:       }
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr bool
1115:       operator<(const duration<_Rep1, _Period1>& __lhs,
1115:   const duration<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep1, _Period1> __dur1;
1115:  typedef duration<_fada6c9b5,
1434:       0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57,
1434:       0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7,
1434:       0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e,
1434:       0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996,
1434:       0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126,
1434:       0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053,
1434:       0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f,
1434:       0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b,
1434:       0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06,
1434:       0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb,
1434:       0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000,
1434:       0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984,
1434:       0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068,
1434:       0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8,
1434:       0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758,
1434:       0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85,
1434:       0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d,
1434:       0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25,
1434:       0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2,
1434:       0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a,
1434:       0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410,
1434:       0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129,
1434:       0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85,
1434:       0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841,
1434:       0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b,
1434:   };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static constexpr int16_t pow10_exponents[87] = {
1434:       -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954,
1434:       -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661,
1434:       -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369,
1434:       -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77,
1434:       -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216,
1434:       242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508,
1434:       534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800,
1434:       827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066};
1434: 
1434: 
1434: 
1434: 
1434:   static constexpr uint64_t power_of_10_64[20] = {
1434:       1, 1ULL * 10, (1ULL)*100, (1ULL)*1000, (1ULL)*10000, (1ULL)*100000, (1ULL)*1000000, (1ULL)*10000000, (1ULL)*100000000, (1ULL)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1434:       10000000000000000000ULL};
1434: };
1434: # 1544 "/usr/include/fmt/format.h" 3 4
1434: struct data : basic_data<> {};
1434: 
1434: 
1434: 
1434: constexpr inline fp get_cached_power(int min_exponent,
1434:                                          int& pow10_exponent) {
1434:   const int shift = 32;
1434: 
1434:   const int64_t significand = 0x4d104d427de7fbcc;
1434:   int index = static_cast<int>(
1434:       ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) +
1434:        ((int64_t(1) << shift) - 1))
1434:       >> 32
1434:   );
1434: 
1434:   const int first_dec_exp = -348;
1434: 
1434:   const int dec_exp_step = 8;
1434:   index = (index - first_dec_exp - 1) / dec_exp_step + 1;
1434:   pow10_exponent = first_dec_exp + index * dec_exp_step;
1434: 
1434: 
1434:   return {*(data::pow10_significands + index),
1434:           *(data::pow10_exponents + index)};
1434: }
1434: # 1578 "/usr/include/fmt/format.h" 3 4
1434: template <typename T>
1434: auto snprintf_float(T value, int precision, float_specs specs,
1434:                     buffer<char>& buf) -> int {
1434: 
1434:   ::fmt::detaiRep2, _Period2> __dur2;
1115:  typedef typename common_type<__dur1,__dur2>::type __ct;
1115:  return __ct(__lhs).count() < __ct(__rhs).count();
1115:       }
1115: # 778 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr bool
1115:       operator!=(const duration<_Rep1, _Period1>& __lhs,
1115:    const duration<_Rep2, _Period2>& __rhs)
1115:       { return !(__lhs == __rhs); }
1115: 
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr bool
1115:       operator<=(const duration<_Rep1, _Period1>& __lhs,
1115:    const duration<_Rep2, _Period2>& __rhs)
1115:       { return !(__rhs < __lhs); }
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr bool
1115:       operator>(const duration<_Rep1, _Period1>& __lhs,
1115:   const duration<_Rep2, _Period2>& __rhs)
1115:       { return __rhs < __lhs; }
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr bool
1115:       operator>=(const duration<_Rep1, _Period1>& __lhs,
1115:    const duration<_Rep2, _Period2>& __rhs)
1115:       { return !(__lhs < __rhs); }
1115: # 822 "/usr/include/c++/12/bits/chrono.h" 3
1115:     using nanoseconds = duration<int64_t, nano>;
1115: 
1115: 
1115:     using microseconds = duration<int64_t, micro>;
1115: 
1115: 
1115:     using milliseconds = duration<int64_t, milli>;
1115: 
1115: 
1115:     using seconds = duration<int64_t>;
1115: 
1115: 
1115:     using minutes = duration<int64_t, ratio< 60>>;
1115: 
1115: 
1115:     using hours = duration<int64_t, ratio<3600>>;
1115: # 855 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _Clock, typename _Dur>
1115:       struct time_point
1115:       {
1115:  static_assert(__is_duration<_Dur>::value,
1115:      "duration must be a specialization of std::chrono::duration");
1115: 
1115:  typedef _Clock clock;
1115:  typedef _Dur duration;
1115:  typedef typename duration::rep rep;
1115:  typedef typename duration::period period;
1115: 
1115:  constexpr time_point() : __d(duration::zero())
1115:  { }
1115: 
1115:  constexpr explicit time_point(const duration& __dur)
1115:  : __d(__dur)
1115:  { }
1115: 
1115: 
1115:  template<typename _Dur2,
1115:    typename = _Require<is_convertible<_Dur2, _Dur>>>
1115:    constexpr time_point(const time_point<clock, _Dur2>& __t)
1115:    : __d(__t.time_since_epoch())
1115:    { }
1115: 
1115: 
1115:  constexpr duration
1115:  time_since_epoch() const
1115:  { return __d; }
1115: # 910 "/usr/include/c++/12/bits/chrono.h" 3
1115:  constexpr time_point&
1115:  operator+=(const duration& __dur)
1115:  {
1115:    __d += __dur;
1115:    return *this;
1115:  }
1115: 
1115:  constexpr time_point&
1115:  operator-=(const duration& __dur)
1115:  {
1115:    __d -= __dur;
1115:    return *this;
1115:  }
1115: 
1115: 
1115:  static constexpr time_point
1115:  min() noexcept
1115:  { return time_point(duration::min()); }
1115: 
1115:  static constexpr time_point
1115:  max() noexcept
1115:  { return time_point(duration::max()); }
1115: 
1115:       private:
1115:  duration __d;
1115:       };
1115: 
1115: 
1115:     template<typename _ToDur, typename _Clock, typename _Dur>
1115:       constexpr typename enable_if<__is_duration<_ToDur>::value,
1115:        time_point<_Clock, _ToDur>>::type
1115:       time_point_cast(const time_point<_Clock, _Dur>& __t)
1115:       {
1115:  typedef time_point<_Clock, _ToDur> __time_point;
1115:  return __time_point(duration_cast<_ToDur>(__t.time_since_epoch()));
1115:       }
1115: 
1115: 
1115:     template<typename _ToDur, typename _Clock, typename _Dur>
1115:       constexpr
1115:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1115:       floor(const time_point<_Clock, _Dur>& __tp)
1115:       {
1115:  return time_point<_Clock, _ToDur>{
1115:      chrono::floor<_ToDur>(__tp.l::ignore_unused((buf.capacity() > buf.size()), ("empty buffer"));
1434:   ::fmt::detail::ignore_unused((specs.format == float_format::hex), (""));
1434:   static_assert(!std::is_same<T, float>::value, "");
1434: 
1434: 
1434:   char format[7];
1434:   char* format_ptr = format;
1434:   *format_ptr++ = '%';
1434:   if (specs.showpoint) *format_ptr++ = '#';
1434:   if (precision >= 0) {
1434:     *format_ptr++ = '.';
1434:     *format_ptr++ = '*';
1434:   }
1434:   if (std::is_same<T, long double>()) *format_ptr++ = 'L';
1434:   *format_ptr++ = specs.upper ? 'A' : 'a';
1434:   *format_ptr = '\0';
1434: 
1434: 
1434:   auto offset = buf.size();
1434:   for (;;) {
1434:     auto begin = buf.data() + offset;
1434:     auto capacity = buf.capacity() - offset;
1434:     abort_fuzzing_if(precision > 100000);
1434: 
1434: 
1434:     int (*snprintf_ptr)(char*, size_t, const char*, ...) = snprintf;
1434:     int result = precision >= 0
1434:                      ? snprintf_ptr(begin, capacity, format, precision, value)
1434:                      : snprintf_ptr(begin, capacity, format, value);
1434:     if (result < 0) {
1434: 
1434:       buf.try_reserve(buf.capacity() + 1);
1434:       continue;
1434:     }
1434:     auto size = to_unsigned(result);
1434: 
1434:     if (size < capacity) {
1434:       buf.try_resize(size + offset);
1434:       return 0;
1434:     }
1434:     buf.try_reserve(size + offset + 1);
1434:   }
1434: }
1434: 
1434: template <typename T>
1434: using convert_float_result =
1434:     conditional_t<std::is_same<T, float>::value || sizeof(T) == sizeof(double),
1434:                   double, T>;
1434: 
1434: template <typename T>
1434: constexpr auto convert_float(T value) -> convert_float_result<T> {
1434:   return static_cast<convert_float_result<T>>(value);
1434: }
1434: 
1434: template <typename OutputIt, typename Char>
1434: __attribute__((noinline)) constexpr auto fill(OutputIt it, size_t n,
1434:                                      const fill_t<Char>& fill) -> OutputIt {
1434:   auto fill_size = fill.size();
1434:   if (fill_size == 1) return detail::fill_n(it, n, fill[0]);
1434:   auto data = fill.data();
1434:   for (size_t i = 0; i < n; ++i)
1434:     it = copy_str<Char>(data, data + fill_size, it);
1434:   return it;
1434: }
1434: 
1434: 
1434: 
1434: 
1434: template <align::type align = align::left, typename OutputIt, typename Char,
1434:           typename F>
1434: constexpr auto write_padded(OutputIt out,
1434:                                 const basic_format_specs<Char>& specs,
1434:                                 size_t size, size_t width, F&& f) -> OutputIt {
1434:   static_assert(align == align::left || align == align::right, "");
1434:   unsigned spec_width = to_unsigned(specs.width);
1434:   size_t padding = spec_width > width ? spec_width - width : 0;
1434: 
1434: 
1434:   auto* shifts = align == align::left ? "\x1f\x1f\x00\x01" : "\x00\x1f\x00\x01";
1434:   size_t left_padding = padding >> shifts[specs.align];
1434:   size_t right_padding = padding - left_padding;
1434:   auto it = reserve(out, size + padding * specs.fill.size());
1434:   if (left_padding != 0) it = fill(it, left_padding, specs.fill);
1434:   it = f(it);
1434:   if (right_padding != 0) it = fill(it, right_padding, specs.fill);
1434:   return base_iterator(out, it);
1434: }
1434: 
1434: template <align::type align = align::left, typename OutputIt, typename Char,
1434:           typename F>
1434: constexpr auto write_padded(OutputIt out, const basic_format_specs<Char>& specs,
1434:                             size_t size, F&& f) -> OutputIt {
1434:   return write_padded<align>(out, specs, size, size, f);
1434: }
1434: 
1434: template <align::type align = align::left, typename Char, typename OutputIt>
1434: constexpr auto write_bytes(OutputIt out, string_view bytes,
1434:                                const basic_format_specs<Char>& specs)
1434:     -> OutputIt {
1434:   return write_padded<align>(
1434:       out, specs, bytes.size(), [bytes](reserve_iterator<OutputIt> it) {
1434:         const char* data = bytes.data();
1434:         return copy_str<Char>(data, data + bytes.size(), it);
1434:       });
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename UIntPtr>
1434: auto write_ptr(OutputIt out, UIntPtr value,
1434:                const basic_format_specs<Char>* specs) -> OutputIt {
1434:   int num_digits = count_digits<4>(value);
1434:   auto size = to_unsigned(num_digits) + size_t(2);
1434:   auto write = [=](reserve_iterator<OutputIt> it) {
1434:     *it++ = static_cast<Char>('0');
1434:     *it++ = static_cast<Char>('x');
1434:     return format_uint<4, Char>(it, value, num_digits);
1434:   };
1434:   return specs ? write_padded<align::right>(out, *specs, size, write)
1434:                : base_iterator(out, write(reserve(out, size)));
1434: }
1434: 
1434: 
1434:  auto is_printable(uint32_t cp) -> bool;
1434: 
1434: inline auto needs_escape(uint32_t cp) -> bool {
1434:   return cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\' ||
1434:          !is_printable(cp);
1434: }
1434: 
1434: template <typename Char> struct find_escape_result {
1434:   const Char* begin;
1434:   const Char* end;
1434:   uint32_t cp;
1434: };
1434: 
1434: template <typename Char>
1434: using make_unsigned_char =
1434:     typename conditional_t<std::is_integral<Char>::value,
1434:                            std::make_unsigned<Char>,
1434:                            type_identity<uint32_t>>::type;
1434: 
1434: template <typename Char>
1434: auto find_escape(const Char* begin, const Char* end)
1434:     -> find_escape_result<Char> {
1434:   for (; begin != end; ++begin) {
1434:     uint32_t cp = static_cast<make_unsigned_char<Char>>(*begin);
1434:     if (const_check(sizeof(Char) == 1) && cp >= 0x80) continue;
1434:     if (needs_escape(cp)) return {begin, begin + 1, cp};
1434:   }
1434:   return {begin, nullptr, 0};
1434: }
1434: 
1434: inline auto find_escape(const char* begin, const char* end)
1434:     -> find_escape_result<char> {
1434:   if (!is_utf8()) return find_escape<char>(begin, end);
1434:   auto result = find_escape_result<char>{end, nullptr, 0};
1434:   for_each_codepoint(string_view(begin, to_unsigned(end - begin)),
1434:                      [&](uint32_t cp, string_view sv) {
1434:                        if (needs_escape(cp)) {
1434:                          result = {sv.begin(), sv.end(), cp};
1434:                          return false;
1434:                        }
1434:                        return true;
1434:                      });
1434:   return result;
1434: }
1434: # 1774 "/usr/include/fmt/format.h" 3 4
1434: template <size_t width, typename Char, typename OutputIt>
1434: auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt {
1434:   *out++ = static_cast<Char>('\\');
1434:   *out++ = static_cast<Char>(prefix);
1434:   Char buf[width];
1434:   fill_n(buf, width, static_cast<Char>('0'));
1434:   format_uint<4>(buf, cp, width);
1434:   return copy_str<Char>(buf, buf + width, out);
1434: }
1434: 
1434: template <typename OutputIt, typename Char>
1434: auto write_escaped_cp(OutputIt out, const find_escape_result<Char>& escape)
1434:     -> OutputIt {
1434:   auto c = static_cast<Char>(escape.cp);
1434:   switch (escape.cp) {
1434:   case '\n':
1434:     *out++ = static_cast<Char>('\\');
1434:     c = static_cast<Char>('n');
1434:     break;
1434:   case '\r':
1434:     *out++ = static_cast<Char>('\\');
1434:     c = static_cast<Char>('r');
1434:     break;
1434:   case '\t':
1434:     *out++ = static_cast<Char>('\\');
1434:     c = static_cast<Char>('t');
1434:     break;
1434:   case '"':
1434:     [[fallthrough]];
1434:   case '\'':
1434:     [[fallthrough]];
1434:   case '\\':
1434:     *out++ = static_cast<Char>('\\');
1434:     break;
1434:   default:
1434:     if (is_utf8()) {
1434:       if (escape.cp < 0x100) {
1434:         return write_codepoint<2, Char>(out, 'x', escape.cp);
1434:       }
1434:       if (escape.cp < 0x10000) {
1434:         return write_codepoint<4, Char>(out, 'u', escape.cp);
1434:       }
1434:       if (escape.cp < 0x110000) {
1434:         return write_codepo_new_finish;
1412:      }
1412:    catch(...)
1412:      {
1412:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1412:           __new_finish._M_node + 1);
1412:        throw;
1412:      }
1412:  }
1412:       else
1412:  _M_insert_aux(__pos, __n, __x);
1412:     }
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_default_append(size_type __n)
1412:     {
1412:       if (__n)
1412:  {
1412:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1412:    try
1412:      {
1412:        std::__uninitialized_default_a(this->_M_impl._M_finish,
1412:           __new_finish,
1412:           _M_get_Tp_allocator());
1412:        this->_M_impl._M_finish = __new_finish;
1412:      }
1412:    catch(...)
1412:      {
1412:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1412:           __new_finish._M_node + 1);
1412:        throw;
1412:      }
1412:  }
1412:     }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     bool
1412:     deque<_Tp, _Alloc>::
1412:     _M_shrink_to_fit()
1412:     {
1412:       const difference_type __front_capacity
1412:  = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first);
1412:       if (__front_capacity == 0)
1412:  return false;
1412: 
1412:       const difference_type __back_capacity
1412:  = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur);
1412:       if (__front_capacity + __back_capacity < _S_buffer_size())
1412:  return false;
1412: 
1412:       return std::__shrink_to_fit_aux<deque>::_S_do_it(*this);
1412:     }
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_fill_initialize(const value_type& __value)
1412:     {
1412:       _Map_pointer __cur;
1412:       try
1412:  {
1412:    for (__cur = this->_M_impl._M_start._M_node;
1412:         __cur < this->_M_impl._M_finish._M_node;
1412:         ++__cur)
1412:      std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(),
1412:      __value, _M_get_Tp_allocator());
1412:    std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
1412:           this->_M_impl._M_finish._M_cur,
1412:           __value, _M_get_Tp_allocator());
1412:  }
1412:       catch(...)
1412:  {
1412:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1412:    _M_get_Tp_allocator());
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     template <typename _InputIterator>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_range_initialize(_InputIterator __first, _InputIterator __last,
1412:      std::input_iterator_tag)
1412:       {
1412:  this->_M_initialize_map(0);
1412:  try
1412:    {
1412:      for (; __first != __last; ++__first)
1412: 
1412:        emplace_back(*__first);
1412: 
1412: 
1412: 
1412:    }
1412:  catch(...)
1412:    {
1412:      clear();
1412:      throw;
1412:    }
1412:       }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     template <typename _ForwardIterator>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1412:      std::forward_iterator_tag)
1412:       {
1412:  const size_type __n = std::distance(__first, __last);
1412:  this->_M_initialize_map(_S_check_init_len(__n, _M_get_Tp_allocator()));
1412: 
1412:  _Map_pointer __cur_node;
1412:  try
1412:    {
1412:      for (__cur_node = this->_M_impl._M_start._M_node;
1412:    __cur_node < this->_M_impl._M_finish._M_node;
1412:    ++__cur_node)
1412:        {
1412:   if (__n < _S_buffer_size())
1412:     __builtin_unreachable();
1412: 
1412:   _ForwardIterator __mid = __first;
1412:   std::advance(__mid, _S_buffer_size());
1412:   std::__uninitialized_copy_a(__first, __mid, *__cur_node,
1412:          _M_get_Tp_allocator());
1412:   __first = __mid;
1412:        }
1412:      std::__uninitialized_copy_a(__first, __last,
1412:      this->_M_impl._M_finish._M_first,
1412:      _M_get_Tp_allocator());
1412: time_since_epoch())};
1115:       }
1115: 
1115:     template<typename _ToDur, typename _Clock, typename _Dur>
1115:       constexpr
1115:       enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>>
1115:       ceil(const time_point<_Clock, _Dur>& __tp)
1115:       {
1115:  return time_point<_Clock, _ToDur>{
1115:      chrono::ceil<_ToDur>(__tp.time_since_epoch())};
1115:       }
1115: 
1115:     template<typename _ToDur, typename _Clock, typename _Dur>
1115:       constexpr enable_if_t<
1115:  __and_<__is_duration<_ToDur>,
1115:         __not_<treat_as_floating_point<typename _ToDur::rep>>>::value,
1115:  time_point<_Clock, _ToDur>>
1115:       round(const time_point<_Clock, _Dur>& __tp)
1115:       {
1115:  return time_point<_Clock, _ToDur>{
1115:      chrono::round<_ToDur>(__tp.time_since_epoch())};
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Clock, typename _Dur1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr time_point<_Clock,
1115:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1115:       operator+(const time_point<_Clock, _Dur1>& __lhs,
1115:   const duration<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep2, _Period2> __dur2;
1115:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1115:  typedef time_point<_Clock, __ct> __time_point;
1115:  return __time_point(__lhs.time_since_epoch() + __rhs);
1115:       }
1115: 
1115: 
1115:     template<typename _Rep1, typename _Period1,
1115:       typename _Clock, typename _Dur2>
1115:       constexpr time_point<_Clock,
1115:  typename common_type<duration<_Rep1, _Period1>, _Dur2>::type>
1115:       operator+(const duration<_Rep1, _Period1>& __lhs,
1115:   const time_point<_Clock, _Dur2>& __rhs)
1115:       {
1115:  typedef duration<_Rep1, _Period1> __dur1;
1115:  typedef typename common_type<__dur1,_Dur2>::type __ct;
1115:  typedef time_point<_Clock, __ct> __time_point;
1115:  return __time_point(__rhs.time_since_epoch() + __lhs);
1115:       }
1115: 
1115: 
1115:     template<typename _Clock, typename _Dur1,
1115:       typename _Rep2, typename _Period2>
1115:       constexpr time_point<_Clock,
1115:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
1115:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1115:   const duration<_Rep2, _Period2>& __rhs)
1115:       {
1115:  typedef duration<_Rep2, _Period2> __dur2;
1115:  typedef typename common_type<_Dur1,__dur2>::type __ct;
1115:  typedef time_point<_Clock, __ct> __time_point;
1115:  return __time_point(__lhs.time_since_epoch() -__rhs);
1115:       }
1115: 
1115: 
1115:     template<typename _Clock, typename _Dur1, typename _Dur2>
1115:       constexpr typename common_type<_Dur1, _Dur2>::type
1115:       operator-(const time_point<_Clock, _Dur1>& __lhs,
1115:   const time_point<_Clock, _Dur2>& __rhs)
1115:       { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Clock, typename _Dur1, typename _Dur2>
1115:       constexpr bool
1115:       operator==(const time_point<_Clock, _Dur1>& __lhs,
1115:    const time_point<_Clock, _Dur2>& __rhs)
1115:       { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); }
1115: # 1050 "/usr/include/c++/12/bits/chrono.h" 3
1115:     template<typename _Clock, typename _Dur1, typename _Dur2>
1115:       constexpr bool
1115:       operator!=(const time_point<_Clock, _Dur1>& __lhs,
1115:    const time_point<_Clock, _Dur2>& __rhs)
1115:       { return !(__lhs == __rhs); }
1115: 
1115: 
1115:     template<typename _Clock, typename _Dur1, typename _Dur2>
1115:       constexpr bool
1115:       operator<(const time_point<_Clock, _Dur1>& __lhs,
1115:   const time_point<_Clock, _Dur2>& __rhs)
1115:       { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); }
1115: 
1115:     template<typename _Clock, typename _Dur1, typename _Dur2>
1115:       constexpr bool
1115:       operator<=(const time_point<_Clock, _Dur1>& __lhs,
1115:    const time_point<_Clock, _Duint<8, Char>(out, 'U', escape.cp);
1434:       }
1434:     }
1434:     for (Char escape_char : basic_string_view<Char>(
1434:              escape.begin, to_unsigned(escape.end - escape.begin))) {
1434:       out = write_codepoint<2, Char>(out, 'x',
1434:                                      static_cast<uint32_t>(escape_char) & 0xFF);
1434:     }
1434:     return out;
1434:   }
1434:   *out++ = c;
1434:   return out;
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: auto write_escaped_string(OutputIt out, basic_string_view<Char> str)
1434:     -> OutputIt {
1434:   *out++ = static_cast<Char>('"');
1434:   auto begin = str.begin(), end = str.end();
1434:   do {
1434:     auto escape = find_escape(begin, end);
1434:     out = copy_str<Char>(begin, escape.begin, out);
1434:     begin = escape.end;
1434:     if (!begin) break;
1434:     out = write_escaped_cp<OutputIt, Char>(out, escape);
1434:   } while (begin != end);
1434:   *out++ = static_cast<Char>('"');
1434:   return out;
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: auto write_escaped_char(OutputIt out, Char v) -> OutputIt {
1434:   *out++ = static_cast<Char>('\'');
1434:   if ((needs_escape(static_cast<uint32_t>(v)) && v != static_cast<Char>('"')) ||
1434:       v == static_cast<Char>('\'')) {
1434:     out = write_escaped_cp(
1434:         out, find_escape_result<Char>{&v, &v + 1, static_cast<uint32_t>(v)});
1434:   } else {
1434:     *out++ = v;
1434:   }
1434:   *out++ = static_cast<Char>('\'');
1434:   return out;
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write_char(OutputIt out, Char value,
1434:                               const basic_format_specs<Char>& specs)
1434:     -> OutputIt {
1434:   bool is_debug = specs.type == presentation_type::debug;
1434:   return write_padded(out, specs, 1, [=](reserve_iterator<OutputIt> it) {
1434:     if (is_debug) return write_escaped_char(it, value);
1434:     *it++ = value;
1434:     return it;
1434:   });
1434: }
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write(OutputIt out, Char value,
1434:                          const basic_format_specs<Char>& specs,
1434:                          locale_ref loc = {}) -> OutputIt {
1434:   return check_char_specs(specs)
1434:              ? write_char(out, value, specs)
1434:              : write(out, static_cast<int>(value), specs, loc);
1434: }
1434: 
1434: 
1434: 
1434: template <typename Char> struct write_int_data {
1434:   size_t size;
1434:   size_t padding;
1434: 
1434:   constexpr write_int_data(int num_digits, unsigned prefix,
1434:                                const basic_format_specs<Char>& specs)
1434:       : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) {
1434:     if (specs.align == align::numeric) {
1434:       auto width = to_unsigned(specs.width);
1434:       if (width > size) {
1434:         padding = width - size;
1434:         size = width;
1434:       }
1434:     } else if (specs.precision > num_digits) {
1434:       size = (prefix >> 24) + to_unsigned(specs.precision);
1434:       padding = to_unsigned(specs.precision - num_digits);
1434:     }
1434:   }
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename OutputIt, typename Char, typename W>
1434: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, int num_digits,
1434:                                         unsigned prefix,
1434:                                         const basic_format_specs<Char>& specs,
1434:                                         W write_digits) -> OutputIt {
1434: 
1434:   if ((specs.width | (specs.precision + 1)) == 0) {
1434:     auto it = reserve(out, to_unsigned(num_digits) + (prefix >> 24));
1434:     if (prefix != 0) {
1434:       for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1434:         *it++ = static_cast<Char>(p & 0xff);
1434:     }
1434:     return base_iterator(out, write_digits(it));
1434:   }
1434:   auto data = write_int_data<Char>(num_digits, prefix, specs);
1434:   return write_padded<   }
1412:  catch(...)
1412:    {
1412:      std::_Destroy(this->_M_impl._M_start,
1412:      iterator(*__cur_node, __cur_node),
1412:      _M_get_Tp_allocator());
1412:      throw;
1412:    }
1412:       }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412: 
1412:     template<typename... _Args>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_push_back_aux(_Args&&... __args)
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       {
1412:  if (size() == max_size())
1412:    __throw_length_error(
1412:        ("cannot create std::deque larger than max_size()"));
1412: 
1412:  _M_reserve_map_at_back();
1412:  *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
1412:  try
1412:    {
1412: 
1412:      _Alloc_traits::construct(this->_M_impl,
1412:          this->_M_impl._M_finish._M_cur,
1412:          std::forward<_Args>(__args)...);
1412: 
1412: 
1412: 
1412:      this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
1412:       + 1);
1412:      this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
1412:    }
1412:  catch(...)
1412:    {
1412:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
1412:      throw;
1412:    }
1412:       }
1412: 
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412: 
1412:     template<typename... _Args>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_push_front_aux(_Args&&... __args)
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       {
1412:  if (size() == max_size())
1412:    __throw_length_error(
1412:        ("cannot create std::deque larger than max_size()"));
1412: 
1412:  _M_reserve_map_at_front();
1412:  *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
1412:  try
1412:    {
1412:      this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
1412:             - 1);
1412:      this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
1412: 
1412:      _Alloc_traits::construct(this->_M_impl,
1412:          this->_M_impl._M_start._M_cur,
1412:          std::forward<_Args>(__args)...);
1412: 
1412: 
1412: 
1412:    }
1412:  catch(...)
1412:    {
1412:      ++this->_M_impl._M_start;
1412:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
1412:      throw;
1412:    }
1412:       }
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void deque<_Tp, _Alloc>::
1412:     _M_pop_back_aux()
1412:     {
1412:       _M_deallocate_node(this->_M_impl._M_finish._M_first);
1412:       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
1412:       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
1412:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1412:         this->_M_impl._M_finish._M_cur);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void deque<_Tp, _Alloc>::
1412:     _M_pop_front_aux()
1412:     {
1412:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1412:         this->_M_impl._M_start._M_cur);
1412:       _M_deallocate_node(this->_M_impl._M_start._M_first);
1412:       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
1412:       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
1412:     }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     template <typename _InputIterator>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_range_insert_aux(iterator __pos,
1412:      _InputIterator __first, _InputIterator __last,
1412:      std::input_iterator_tag)
1412:       { std::copy(__first, __last, std::inserter(*this, __pos)); }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     template <typename _ForwardIterator>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_range_insert_aux(iterator __pos,
1412:      _ForwardIterator __first, _ForwardIterator __last,
1412:      std::forward_iterator_tag)
1412:       {
1412:  const size_type __n = std::distance(__first, __last);
1412:  if (__pos._M_cur == this->_M_impl._M_start._M_cur)
align::right>(
1434:       out, specs, data.size, [=](reserve_iterator<OutputIt> it) {
1434:         for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1434:           *it++ = static_cast<Char>(p & 0xff);
1434:         it = detail::fill_n(it, data.padding, static_cast<Char>('0'));
1434:         return write_digits(it);
1434:       });
1434: }
1434: 
1434: template <typename Char> class digit_grouping {
1434:  private:
1434:   thousands_sep_result<Char> sep_;
1434: 
1434:   struct next_state {
1434:     std::string::const_iterator group;
1434:     int pos;
1434:   };
1434:   next_state initial_state() const { return {sep_.grouping.begin(), 0}; }
1434: 
1434: 
1434:   int next(next_state& state) const {
1434:     if (!sep_.thousands_sep) return max_value<int>();
1434:     if (state.group == sep_.grouping.end())
1434:       return state.pos += sep_.grouping.back();
1434:     if (*state.group <= 0 || *state.group == max_value<char>())
1434:       return max_value<int>();
1434:     state.pos += *state.group++;
1434:     return state.pos;
1434:   }
1434: 
1434:  public:
1434:   explicit digit_grouping(locale_ref loc, bool localized = true) {
1434:     if (localized)
1434:       sep_ = thousands_sep<Char>(loc);
1434:     else
1434:       sep_.thousands_sep = Char();
1434:   }
1434:   explicit digit_grouping(thousands_sep_result<Char> sep) : sep_(sep) {}
1434: 
1434:   Char separator() const { return sep_.thousands_sep; }
1434: 
1434:   int count_separators(int num_digits) const {
1434:     int count = 0;
1434:     auto state = initial_state();
1434:     while (num_digits > next(state)) ++count;
1434:     return count;
1434:   }
1434: 
1434: 
1434:   template <typename Out, typename C>
1434:   Out apply(Out out, basic_string_view<C> digits) const {
1434:     auto num_digits = static_cast<int>(digits.size());
1434:     auto separators = basic_memory_buffer<int>();
1434:     separators.push_back(0);
1434:     auto state = initial_state();
1434:     while (int i = next(state)) {
1434:       if (i >= num_digits) break;
1434:       separators.push_back(i);
1434:     }
1434:     for (int i = 0, sep_index = static_cast<int>(separators.size() - 1);
1434:          i < num_digits; ++i) {
1434:       if (num_digits - i == separators[sep_index]) {
1434:         *out++ = separator();
1434:         --sep_index;
1434:       }
1434:       *out++ = static_cast<Char>(digits[to_unsigned(i)]);
1434:     }
1434:     return out;
1434:   }
1434: };
1434: 
1434: template <typename OutputIt, typename UInt, typename Char>
1434: auto write_int_localized(OutputIt out, UInt value, unsigned prefix,
1434:                          const basic_format_specs<Char>& specs,
1434:                          const digit_grouping<Char>& grouping) -> OutputIt {
1434:   static_assert(std::is_same<uint64_or_128_t<UInt>, UInt>::value, "");
1434:   int num_digits = count_digits(value);
1434:   char digits[40];
1434:   format_decimal(digits, value, num_digits);
1434:   unsigned size = to_unsigned((prefix != 0 ? 1 : 0) + num_digits +
1434:                               grouping.count_separators(num_digits));
1434:   return write_padded<align::right>(
1434:       out, specs, size, size, [&](reserve_iterator<OutputIt> it) {
1434:         if (prefix != 0) {
1434:           char sign = static_cast<char>(prefix);
1434:           *it++ = static_cast<Char>(sign);
1434:         }
1434:         return grouping.apply(it, string_view(digits, to_unsigned(num_digits)));
1434:       });
1434: }
1434: 
1434: template <typename OutputIt, typename UInt, typename Char>
1434: auto write_int_localized(OutputIt& out, UInt value, unsigned prefix,
1434:                          const basic_format_specs<Char>& specs, locale_ref loc)
1434:     -> bool {
1434:   auto grouping = digit_grouping<Char>(loc);
1434:   out = write_int_localized(out, value, prefix, specs, grouping);
1434:   return true;
1434: }
1434: 
1434: constexpr inline void prefix_append(unsigned& prefix, unsigned value) {
1434:   prefix |= prefix != 0 ? value << 8 : value;
1434:   prefix += (1u + (value > 0xff ? 1 : 0)) << 24;
1434: }r2>& __rhs)
1115:       { return !(__rhs < __lhs); }
1115: 
1115:     template<typename _Clock, typename _Dur1, typename _Dur2>
1115:       constexpr bool
1115:       operator>(const time_point<_Clock, _Dur1>& __lhs,
1115:   const time_point<_Clock, _Dur2>& __rhs)
1115:       { return __rhs < __lhs; }
1115: 
1115:     template<typename _Clock, typename _Dur1, typename _Dur2>
1115:       constexpr bool
1115:       operator>=(const time_point<_Clock, _Dur1>& __lhs,
1115:    const time_point<_Clock, _Dur2>& __rhs)
1115:       { return !(__lhs < __rhs); }
1115: # 1102 "/usr/include/c++/12/bits/chrono.h" 3
1115:     inline namespace _V2 {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     struct system_clock
1115:     {
1115:       typedef chrono::nanoseconds duration;
1115:       typedef duration::rep rep;
1115:       typedef duration::period period;
1115:       typedef chrono::time_point<system_clock, duration> time_point;
1115: 
1115:       static_assert(system_clock::duration::min()
1115:       < system_clock::duration::zero(),
1115:       "a clock's minimum duration cannot be less than its epoch");
1115: 
1115:       static constexpr bool is_steady = false;
1115: 
1115:       static time_point
1115:       now() noexcept;
1115: 
1115: 
1115:       static std::time_t
1115:       to_time_t(const time_point& __t) noexcept
1115:       {
1115:  return std::time_t(duration_cast<chrono::seconds>
1115:       (__t.time_since_epoch()).count());
1115:       }
1115: 
1115:       static time_point
1115:       from_time_t(std::time_t __t) noexcept
1115:       {
1115:  typedef chrono::time_point<system_clock, seconds> __from;
1115:  return time_point_cast<system_clock::duration>
1115:         (__from(chrono::seconds(__t)));
1115:       }
1115:     };
1115: # 1150 "/usr/include/c++/12/bits/chrono.h" 3
1115:     struct steady_clock
1115:     {
1115:       typedef chrono::nanoseconds duration;
1115:       typedef duration::rep rep;
1115:       typedef duration::period period;
1115:       typedef chrono::time_point<steady_clock, duration> time_point;
1115: 
1115:       static constexpr bool is_steady = true;
1115: 
1115:       static time_point
1115:       now() noexcept;
1115:     };
1115: # 1172 "/usr/include/c++/12/bits/chrono.h" 3
1115:     using high_resolution_clock = system_clock;
1115: 
1115:     }
1115: # 1198 "/usr/include/c++/12/bits/chrono.h" 3
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   inline namespace literals
1115:   {
1115: # 1229 "/usr/include/c++/12/bits/chrono.h" 3
1115:   inline namespace chrono_literals
1115:   {
1115: 
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wliteral-suffix"
1115: 
1115:     template<typename _Dur, char... _Digits>
1115:       constexpr _Dur __check_overflow()
1115:       {
1115:  using _Val = __parse_int::_Parse_int<_Digits...>;
1115:  constexpr typename _Dur::rep __repval = _Val::value;
1115:  static_assert(__repval >= 0 && __repval == _Val::value,
1115:         "literal value cannot be represented by duration type");
1115:  return _Dur(__repval);
1115:       }
1115: 
1115: 
1115: 
1115:     constexpr chrono::duration<long double, ratio<3600,1>>
1115:     operator""h(long double __hours)
1115:     { return chrono::duration<long double, ratio<3600,1>>{__hours}; }
1115: 
1115: 
1115:     template <char... _Digits>
1115:       constexpr chrono::hours
1115:       operator""h()
1115:       { return __check_overflow<chrono::hours, _Digits...>(); }
1115: 
1115: 
1115:     constexpr chrono::duration<long double, ratio<60,1>>
1115:     operator""min(long double __mins)
1115:     { return chrono::duration<long double, ratio<60,1>>{__mins}; }
1115: 
1115: 
1115:     template <char... _Digits>
1115:       constexpr chrono::minutes
1115:       operator""min()
1115:       { return __check_overflow<chrono::minutes, _Digits...>(); }
1115: 
1115: 
1115:     constexpr chrono::duration<long double>
1115:     operator""s(long double __secs)
1115:     { return chrono::duration<long double>{__secs}; }
1115: 
1115: 
1115:     template <char... _Digits>
1115:       c
1434: 
1434: template <typename UInt> struct write_int_arg {
1434:   UInt abs_value;
1434:   unsigned prefix;
1434: };
1434: 
1434: template <typename T>
1434: constexpr auto make_write_int_arg(T value, sign_t sign)
1434:     -> write_int_arg<uint32_or_64_or_128_t<T>> {
1434:   auto prefix = 0u;
1434:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1434:   if (is_negative(value)) {
1434:     prefix = 0x01000000 | '-';
1434:     abs_value = 0 - abs_value;
1434:   } else {
1434:     constexpr const unsigned prefixes[4] = {0, 0, 0x1000000u | '+',
1434:                                             0x1000000u | ' '};
1434:     prefix = prefixes[sign];
1434:   }
1434:   return {abs_value, prefix};
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T>
1434: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, write_int_arg<T> arg,
1434:                                         const basic_format_specs<Char>& specs,
1434:                                         locale_ref loc) -> OutputIt {
1434:   static_assert(std::is_same<T, uint32_or_64_or_128_t<T>>::value, "");
1434:   auto abs_value = arg.abs_value;
1434:   auto prefix = arg.prefix;
1434:   switch (specs.type) {
1434:   case presentation_type::none:
1434:   case presentation_type::dec: {
1434:     if (specs.localized &&
1434:         write_int_localized(out, static_cast<uint64_or_128_t<T>>(abs_value),
1434:                             prefix, specs, loc)) {
1434:       return out;
1434:     }
1434:     auto num_digits = count_digits(abs_value);
1434:     return write_int(
1434:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1434:           return format_decimal<Char>(it, abs_value, num_digits).end;
1434:         });
1434:   }
1434:   case presentation_type::hex_lower:
1434:   case presentation_type::hex_upper: {
1434:     bool upper = specs.type == presentation_type::hex_upper;
1434:     if (specs.alt)
1434:       prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0');
1434:     int num_digits = count_digits<4>(abs_value);
1434:     return write_int(
1434:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1434:           return format_uint<4, Char>(it, abs_value, num_digits, upper);
1434:         });
1434:   }
1434:   case presentation_type::bin_lower:
1434:   case presentation_type::bin_upper: {
1434:     bool upper = specs.type == presentation_type::bin_upper;
1434:     if (specs.alt)
1434:       prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0');
1434:     int num_digits = count_digits<1>(abs_value);
1434:     return write_int(out, num_digits, prefix, specs,
1434:                      [=](reserve_iterator<OutputIt> it) {
1434:                        return format_uint<1, Char>(it, abs_value, num_digits);
1434:                      });
1434:   }
1434:   case presentation_type::oct: {
1434:     int num_digits = count_digits<3>(abs_value);
1434: 
1434: 
1434:     if (specs.alt && specs.precision <= num_digits && abs_value != 0)
1434:       prefix_append(prefix, '0');
1434:     return write_int(out, num_digits, prefix, specs,
1434:                      [=](reserve_iterator<OutputIt> it) {
1434:                        return format_uint<3, Char>(it, abs_value, num_digits);
1434:                      });
1434:   }
1434:   case presentation_type::chr:
1434:     return write_char(out, static_cast<Char>(abs_value), specs);
1434:   default:
1434:     throw_format_error("invalid type specifier");
1434:   }
1434:   return out;
1434: }
1434: template <typename Char, typename OutputIt, typename T>
1434: constexpr __attribute__((noinline)) auto write_int_noinline(
1434:     OutputIt out, write_int_arg<T> arg, const basic_format_specs<Char>& specs,
1434:     locale_ref loc) -> OutputIt {
1434:   return write_int(out, arg, specs, loc);
1434: }
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 1412:    {
1412:      iterator __new_start = _M_reserve_elements_at_front(__n);
1412:      try
1412:        {
1412:   std::__uninitialized_copy_a(__first, __last, __new_start,
1412:          _M_get_Tp_allocator());
1412:   this->_M_impl._M_start = __new_start;
1412:        }
1412:      catch(...)
1412:        {
1412:   _M_destroy_nodes(__new_start._M_node,
1412:      this->_M_impl._M_start._M_node);
1412:   throw;
1412:        }
1412:    }
1412:  else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1412:    {
1412:      iterator __new_finish = _M_reserve_elements_at_back(__n);
1412:      try
1412:        {
1412:   std::__uninitialized_copy_a(__first, __last,
1412:          this->_M_impl._M_finish,
1412:          _M_get_Tp_allocator());
1412:   this->_M_impl._M_finish = __new_finish;
1412:        }
1412:      catch(...)
1412:        {
1412:   _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1412:      __new_finish._M_node + 1);
1412:   throw;
1412:        }
1412:    }
1412:  else
1412:    _M_insert_aux(__pos, __first, __last, __n);
1412:       }
1412: 
1412:   template<typename _Tp, typename _Alloc>
1412: 
1412:     template<typename... _Args>
1412:       typename deque<_Tp, _Alloc>::iterator
1412:       deque<_Tp, _Alloc>::
1412:       _M_insert_aux(iterator __pos, _Args&&... __args)
1412:       {
1412:  value_type __x_copy(std::forward<_Args>(__args)...);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  difference_type __index = __pos - this->_M_impl._M_start;
1412:  if (static_cast<size_type>(__index) < size() / 2)
1412:    {
1412:      push_front(std::move(front()));
1412:      iterator __front1 = this->_M_impl._M_start;
1412:      ++__front1;
1412:      iterator __front2 = __front1;
1412:      ++__front2;
1412:      __pos = this->_M_impl._M_start + __index;
1412:      iterator __pos1 = __pos;
1412:      ++__pos1;
1412:      std::move(__front2, __pos1, __front1);
1412:    }
1412:  else
1412:    {
1412:      push_back(std::move(back()));
1412:      iterator __back1 = this->_M_impl._M_finish;
1412:      --__back1;
1412:      iterator __back2 = __back1;
1412:      --__back2;
1412:      __pos = this->_M_impl._M_start + __index;
1412:      std::move_backward(__pos, __back2, __back1);
1412:    }
1412:  *__pos = std::move(__x_copy);
1412:  return __pos;
1412:       }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
1412:     {
1412:       const difference_type __elems_before = __pos - this->_M_impl._M_start;
1412:       const size_type __length = this->size();
1412:       value_type __x_copy = __x;
1412:       if (__elems_before < difference_type(__length / 2))
1412:  {
1412:    iterator __new_start = _M_reserve_elements_at_front(__n);
1412:    iterator __old_start = this->_M_impl._M_start;
1412:    __pos = this->_M_impl._M_start + __elems_before;
1412:    try
1412:      {
1412:        if (__elems_before >= difference_type(__n))
1412:   {
1412:     iterator __start_n = (this->_M_impl._M_start
1412:      + difference_type(__n));
1412:     std::__uninitialized_move_a(this->_M_impl._M_start,
1412:            __start_n, __new_start,
1412:            _M_get_Tp_allocator());
1412:     this->_M_impl._M_start = __new_start;
1412:     std::move(__start_n, __pos, __old_start);
1412:     std::fill(__pos - difference_type(__n), __pos, __x_copy);
1412:   }
1412:        else
1412:   {
1412:     std::__uninitialized_move_fill(this->_M_impl._M_start,
1412:        __pos, __new_start,
1412:        this->_M_impl._M_start,
1412:        __x_copy,
1412:        _M_get_Tp_allocator());
1412:     this->_M_impl._M_start = __new_start;
1412:     std::fill(__old_start, __pos, __x_copy);
1412:   }
1412:      }
1412:    catch(...)
1412:      {
1412:        _M_destroy_nodes(__new_start._M_node,
1412:           this->_M_impl._M_start._M_node);
1412:        throw;
1412:      }
1412:  }
1412:       else
1412:  {
1412:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1412:    iterator __old_finish = thi0
1434: 
1434:                                                                              >
1434: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1434:                                     const basic_format_specs<Char>& specs,
1434:                                     locale_ref loc) -> OutputIt {
1434:   return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs,
1434:                             loc);
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
1434: 
1434:                                                                               >
1434: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1434:                                     const basic_format_specs<Char>& specs,
1434:                                     locale_ref loc) -> OutputIt {
1434:   return write_int(out, make_write_int_arg(value, specs.sign), specs, loc);
1434: }
1434: 
1434: 
1434: 
1434: class counting_iterator {
1434:  private:
1434:   size_t count_;
1434: 
1434:  public:
1434:   using iterator_category = std::output_iterator_tag;
1434:   using difference_type = std::ptrdiff_t;
1434:   using pointer = void;
1434:   using reference = void;
1434:   using unchecked_type = counting_iterator;
1434: 
1434:   struct value_type {
1434:     template <typename T> constexpr void operator=(const T&) {}
1434:   };
1434: 
1434:   constexpr counting_iterator() : count_(0) {}
1434: 
1434:   constexpr size_t count() const { return count_; }
1434: 
1434:   constexpr counting_iterator& operator++() {
1434:     ++count_;
1434:     return *this;
1434:   }
1434:   constexpr counting_iterator operator++(int) {
1434:     auto it = *this;
1434:     ++*this;
1434:     return it;
1434:   }
1434: 
1434:   constexpr friend counting_iterator operator+(counting_iterator it,
1434:                                                    difference_type n) {
1434:     it.count_ += static_cast<size_t>(n);
1434:     return it;
1434:   }
1434: 
1434:   constexpr value_type operator*() const { return {}; }
1434: };
1434: 
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write(OutputIt out, basic_string_view<Char> s,
1434:                          const basic_format_specs<Char>& specs) -> OutputIt {
1434:   auto data = s.data();
1434:   auto size = s.size();
1434:   if (specs.precision >= 0 && to_unsigned(specs.precision) < size)
1434:     size = code_point_index(s, to_unsigned(specs.precision));
1434:   bool is_debug = specs.type == presentation_type::debug;
1434:   size_t width = 0;
1434:   if (specs.width != 0) {
1434:     if (is_debug)
1434:       width = write_escaped_string(counting_iterator{}, s).count();
1434:     else
1434:       width = compute_width(basic_string_view<Char>(data, size));
1434:   }
1434:   return write_padded(out, specs, size, width,
1434:                       [=](reserve_iterator<OutputIt> it) {
1434:                         if (is_debug) return write_escaped_string(it, s);
1434:                         return copy_str<Char>(data, data + size, it);
1434:                       });
1434: }
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write(OutputIt out,
1434:                          basic_string_view<type_identity_t<Char>> s,
1434:                          const basic_format_specs<Char>& specs, locale_ref)
1434:     -> OutputIt {
1434:   check_string_type_spec(specs.type);
1434:   return write(out, s, specs);
1434: }
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write(OutputIt out, const Char* s,
1434:                          const basic_format_specs<Char>& specs, locale_ref)
1434:     -> OutputIt {
1434:   return check_cstring_type_spec(specs.type)
1434:              ? write(out, basic_string_view<Char>(s), specs, {})
1434:              : write_ptr<Char>(out, bit_cast<uintptr_t>(s), &specs);
1434: }
1434: 
1434: template <typenaonstexpr chrono::seconds
1115:       operator""s()
1115:       { return __check_overflow<chrono::seconds, _Digits...>(); }
1115: 
1115: 
1115:     constexpr chrono::duration<long double, milli>
1115:     operator""ms(long double __msecs)
1115:     { return chrono::duration<long double, milli>{__msecs}; }
1115: 
1115: 
1115:     template <char... _Digits>
1115:       constexpr chrono::milliseconds
1115:       operator""ms()
1115:       { return __check_overflow<chrono::milliseconds, _Digits...>(); }
1115: 
1115: 
1115:     constexpr chrono::duration<long double, micro>
1115:     operator""us(long double __usecs)
1115:     { return chrono::duration<long double, micro>{__usecs}; }
1115: 
1115: 
1115:     template <char... _Digits>
1115:       constexpr chrono::microseconds
1115:       operator""us()
1115:       { return __check_overflow<chrono::microseconds, _Digits...>(); }
1115: 
1115: 
1115:     constexpr chrono::duration<long double, nano>
1115:     operator""ns(long double __nsecs)
1115:     { return chrono::duration<long double, nano>{__nsecs}; }
1115: 
1115: 
1115:     template <char... _Digits>
1115:       constexpr chrono::nanoseconds
1115:       operator""ns()
1115:       { return __check_overflow<chrono::nanoseconds, _Digits...>(); }
1115: 
1115: #pragma GCC diagnostic pop
1115: 
1115:   }
1115:   }
1115: 
1115:   namespace chrono
1115:   {
1115:     using namespace literals::chrono_literals;
1115:   }
1115: 
1115: 
1115: 
1115:   namespace filesystem
1115:   {
1115:     struct __file_clock
1115:     {
1115:       using duration = chrono::nanoseconds;
1115:       using rep = duration::rep;
1115:       using period = duration::period;
1115:       using time_point = chrono::time_point<__file_clock>;
1115:       static constexpr bool is_steady = false;
1115: 
1115:       static time_point
1115:       now() noexcept
1115:       { return _S_from_sys(chrono::system_clock::now()); }
1115: # 1355 "/usr/include/c++/12/bits/chrono.h" 3
1115:     private:
1115:       using __sys_clock = chrono::system_clock;
1115: 
1115: 
1115: 
1115: 
1115:       static constexpr chrono::seconds _S_epoch_diff{6437664000};
1115: 
1115:     protected:
1115: 
1115:       template<typename _Dur>
1115:  static
1115:  chrono::time_point<__file_clock, _Dur>
1115:  _S_from_sys(const chrono::time_point<__sys_clock, _Dur>& __t) noexcept
1115:  {
1115:    using __file_time = chrono::time_point<__file_clock, _Dur>;
1115:    return __file_time{__t.time_since_epoch()} - _S_epoch_diff;
1115:  }
1115: 
1115: 
1115:       template<typename _Dur>
1115:  static
1115:  chrono::time_point<__sys_clock, _Dur>
1115:  _S_to_sys(const chrono::time_point<__file_clock, _Dur>& __t) noexcept
1115:  {
1115:    using __sys_time = chrono::time_point<__sys_clock, _Dur>;
1115:    return __sys_time{__t.time_since_epoch()} + _S_epoch_diff;
1115:  }
1115:     };
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: # 40 "/usr/include/c++/12/chrono" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 62 "/usr/include/c++/12/chrono" 3
1115:   namespace chrono
1115:   {
1115: # 2058 "/usr/include/c++/12/chrono" 3
1115:   }
1115: # 2181 "/usr/include/c++/12/chrono" 3
1115: 
1115: }
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h" 2
1115: 
1115: # 1 "/usr/include/c++/12/thread" 1 3
1115: # 32 "/usr/include/c++/12/thread" 3
1115:        
1115: # 33 "/usr/include/c++/12/thread" 3
1115: # 43 "/usr/include/c++/12/thread" 3
1115: # 1 "/usr/include/c++/12/bits/std_thread.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/std_thread.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/std_thread.h" 3
1115: # 52 "/usr/include/c++/12/bits/std_thread.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class thread
1115:   {
1115:   public:
1115: 
1115: 
1115: 
1115:     struct _State
1115:     {
1115:       virtual ~_State();
1115:       virtual void _M_run() = 0;
1115:     };
1115:     using _State_ptr = unique_ptr<_State>;
11me Char, typename OutputIt, typename T,
1434:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<T, Char>::value), int> = 0
1434: 
1434:                                                       >
1434: constexpr auto write(OutputIt out, T value) -> OutputIt {
1434:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1434:   bool negative = is_negative(value);
1434: 
1434:   if (negative) abs_value = ~abs_value + 1;
1434:   int num_digits = count_digits(abs_value);
1434:   auto size = (negative ? 1 : 0) + static_cast<size_t>(num_digits);
1434:   auto it = reserve(out, size);
1434:   if (auto ptr = to_pointer<Char>(it, size)) {
1434:     if (negative) *ptr++ = static_cast<Char>('-');
1434:     format_decimal<Char>(ptr, abs_value, num_digits);
1434:     return out;
1434:   }
1434:   if (negative) *it++ = static_cast<Char>('-');
1434:   it = format_decimal<Char>(it, abs_value, num_digits).end;
1434:   return base_iterator(out, it);
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434:  auto write_nonfinite(OutputIt out, bool isnan,
1434:                                      basic_format_specs<Char> specs,
1434:                                      const float_specs& fspecs) -> OutputIt {
1434:   auto str =
1434:       isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf");
1434:   constexpr size_t str_size = 3;
1434:   auto sign = fspecs.sign;
1434:   auto size = str_size + (sign ? 1 : 0);
1434: 
1434:   const bool is_zero_fill =
1434:       specs.fill.size() == 1 && *specs.fill.data() == static_cast<Char>('0');
1434:   if (is_zero_fill) specs.fill[0] = static_cast<Char>(' ');
1434:   return write_padded(out, specs, size, [=](reserve_iterator<OutputIt> it) {
1434:     if (sign) *it++ = detail::sign<Char>(sign);
1434:     return copy_str<Char>(str, str + str_size, it);
1434:   });
1434: }
1434: 
1434: 
1434: struct big_decimal_fp {
1434:   const char* significand;
1434:   int significand_size;
1434:   int exponent;
1434: };
1434: 
1434: constexpr auto get_significand_size(const big_decimal_fp& f) -> int {
1434:   return f.significand_size;
1434: }
1434: template <typename T>
1434: inline auto get_significand_size(const dragonbox::decimal_fp<T>& f) -> int {
1434:   return count_digits(f.significand);
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write_significand(OutputIt out, const char* significand,
1434:                                  int significand_size) -> OutputIt {
1434:   return copy_str<Char>(significand, significand + significand_size, out);
1434: }
1434: template <typename Char, typename OutputIt, typename UInt>
1434: inline auto write_significand(OutputIt out, UInt significand,
1434:                               int significand_size) -> OutputIt {
1434:   return format_decimal<Char>(out, significand, significand_size).end;
1434: }
1434: template <typename Char, typename OutputIt, typename T, typename Grouping>
1434:  auto write_significand(OutputIt out, T significand,
1434:                                        int significand_size, int exponent,
1434:                                        const Grouping& grouping) -> OutputIt {
1434:   if (!grouping.separator()) {
1434:     out = write_significand<Char>(out, significand, significand_size);
1434:     return detail::fill_n(out, exponent, static_cast<Char>('0'));
1434:   }
1434:   auto buffer = memory_buffer();
1434:   write_significand<char>(appender(buffer), significand, significand_size);
1434:   detail::fill_n(appender(buffer), exponent, '0');
1434:   return grouping.apply(out, string_view(buffer.data(), buffer.size()));
1434: }
1434: 
1434: template <typename Char, typename UInt,
1434:           enable_if_t<(std::is_integral<UInt>::value), int> = 0>
1434: inline auto write_significand(Char* out, UInt significand, int significand_size,
1434:                               int integral_size, Char decimal_point) -> Char* {
1434:   if (!decimal_point)
1434:     return format_decimal(out, significand, significand_size).end;
1434:   out s->_M_impl._M_finish;
1412:    const difference_type __elems_after =
1412:      difference_type(__length) - __elems_before;
1412:    __pos = this->_M_impl._M_finish - __elems_after;
1412:    try
1412:      {
1412:        if (__elems_after > difference_type(__n))
1412:   {
1412:     iterator __finish_n = (this->_M_impl._M_finish
1412:       - difference_type(__n));
1412:     std::__uninitialized_move_a(__finish_n,
1412:            this->_M_impl._M_finish,
1412:            this->_M_impl._M_finish,
1412:            _M_get_Tp_allocator());
1412:     this->_M_impl._M_finish = __new_finish;
1412:     std::move_backward(__pos, __finish_n, __old_finish);
1412:     std::fill(__pos, __pos + difference_type(__n), __x_copy);
1412:   }
1412:        else
1412:   {
1412:     std::__uninitialized_fill_move(this->_M_impl._M_finish,
1412:        __pos + difference_type(__n),
1412:        __x_copy, __pos,
1412:        this->_M_impl._M_finish,
1412:        _M_get_Tp_allocator());
1412:     this->_M_impl._M_finish = __new_finish;
1412:     std::fill(__pos, __old_finish, __x_copy);
1412:   }
1412:      }
1412:    catch(...)
1412:      {
1412:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1412:           __new_finish._M_node + 1);
1412:        throw;
1412:      }
1412:  }
1412:     }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     template <typename _ForwardIterator>
1412:       void
1412:       deque<_Tp, _Alloc>::
1412:       _M_insert_aux(iterator __pos,
1412:       _ForwardIterator __first, _ForwardIterator __last,
1412:       size_type __n)
1412:       {
1412:  const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
1412:  const size_type __length = size();
1412:  if (static_cast<size_type>(__elemsbefore) < __length / 2)
1412:    {
1412:      iterator __new_start = _M_reserve_elements_at_front(__n);
1412:      iterator __old_start = this->_M_impl._M_start;
1412:      __pos = this->_M_impl._M_start + __elemsbefore;
1412:      try
1412:        {
1412:   if (__elemsbefore >= difference_type(__n))
1412:     {
1412:       iterator __start_n = (this->_M_impl._M_start
1412:        + difference_type(__n));
1412:       std::__uninitialized_move_a(this->_M_impl._M_start,
1412:       __start_n, __new_start,
1412:       _M_get_Tp_allocator());
1412:       this->_M_impl._M_start = __new_start;
1412:       std::move(__start_n, __pos, __old_start);
1412:       std::copy(__first, __last, __pos - difference_type(__n));
1412:     }
1412:   else
1412:     {
1412:       _ForwardIterator __mid = __first;
1412:       std::advance(__mid, difference_type(__n) - __elemsbefore);
1412:       std::__uninitialized_move_copy(this->_M_impl._M_start,
1412:          __pos, __first, __mid,
1412:          __new_start,
1412:          _M_get_Tp_allocator());
1412:       this->_M_impl._M_start = __new_start;
1412:       std::copy(__mid, __last, __old_start);
1412:     }
1412:        }
1412:      catch(...)
1412:        {
1412:   _M_destroy_nodes(__new_start._M_node,
1412:      this->_M_impl._M_start._M_node);
1412:   throw;
1412:        }
1412:    }
1412:  else
1412:  {
1412:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1412:    iterator __old_finish = this->_M_impl._M_finish;
1412:    const difference_type __elemsafter =
1412:      difference_type(__length) - __elemsbefore;
1412:    __pos = this->_M_impl._M_finish - __elemsafter;
1412:    try
1412:      {
1412:        if (__elemsafter > difference_type(__n))
1412:   {
1412:     iterator __finish_n = (this->_M_impl._M_finish
1412:       - difference_type(__n));
1412:     std::__uninitialized_move_a(__finish_n,
1412:            this->_M_impl._M_finish,
1412:            this->_M_impl._M_finish,
1412:            _M_get_Tp_allocator());
1412:     this->_M_impl._M_finish = __new_finish;
1412:     std::move_backward(__pos, __finish_n, __old_finish);
1412:     std::copy(__first, __last, __pos);
1412:   }
1412:        else
1412:   {
1412:     _ForwardIterator __mid = __first;
1412:     std::advance(__mid, __elemsafter);
1412:     std::__uninitialized_copy_move(__mid, __la+= significand_size + 1;
1434:   Char* end = out;
1434:   int floating_size = significand_size - integral_size;
1434:   for (int i = floating_size / 2; i > 0; --i) {
1434:     out -= 2;
1434:     copy2(out, digits2(static_cast<std::size_t>(significand % 100)));
1434:     significand /= 100;
1434:   }
1434:   if (floating_size % 2 != 0) {
1434:     *--out = static_cast<Char>('0' + significand % 10);
1434:     significand /= 10;
1434:   }
1434:   *--out = decimal_point;
1434:   format_decimal(out - integral_size, significand, integral_size);
1434:   return end;
1434: }
1434: 
1434: template <typename OutputIt, typename UInt, typename Char,
1434:           enable_if_t<(!std::is_pointer<remove_cvref_t<OutputIt>>::value), int> = 0>
1434: inline auto write_significand(OutputIt out, UInt significand,
1434:                               int significand_size, int integral_size,
1434:                               Char decimal_point) -> OutputIt {
1434: 
1434:   Char buffer[digits10<UInt>() + 2];
1434:   auto end = write_significand(buffer, significand, significand_size,
1434:                                integral_size, decimal_point);
1434:   return detail::copy_str_noinline<Char>(buffer, end, out);
1434: }
1434: 
1434: template <typename OutputIt, typename Char>
1434: constexpr auto write_significand(OutputIt out, const char* significand,
1434:                                      int significand_size, int integral_size,
1434:                                      Char decimal_point) -> OutputIt {
1434:   out = detail::copy_str_noinline<Char>(significand,
1434:                                         significand + integral_size, out);
1434:   if (!decimal_point) return out;
1434:   *out++ = decimal_point;
1434:   return detail::copy_str_noinline<Char>(significand + integral_size,
1434:                                          significand + significand_size, out);
1434: }
1434: 
1434: template <typename OutputIt, typename Char, typename T, typename Grouping>
1434:  auto write_significand(OutputIt out, T significand,
1434:                                        int significand_size, int integral_size,
1434:                                        Char decimal_point,
1434:                                        const Grouping& grouping) -> OutputIt {
1434:   if (!grouping.separator()) {
1434:     return write_significand(out, significand, significand_size, integral_size,
1434:                              decimal_point);
1434:   }
1434:   auto buffer = basic_memory_buffer<Char>();
1434:   write_significand(buffer_appender<Char>(buffer), significand,
1434:                     significand_size, integral_size, decimal_point);
1434:   grouping.apply(
1434:       out, basic_string_view<Char>(buffer.data(), to_unsigned(integral_size)));
1434:   return detail::copy_str_noinline<Char>(buffer.data() + integral_size,
1434:                                          buffer.end(), out);
1434: }
1434: 
1434: template <typename OutputIt, typename DecimalFP, typename Char,
1434:           typename Grouping = digit_grouping<Char>>
1434:  auto do_write_float(OutputIt out, const DecimalFP& f,
1434:                                     const basic_format_specs<Char>& specs,
1434:                                     float_specs fspecs, locale_ref loc)
1434:     -> OutputIt {
1434:   auto significand = f.significand;
1434:   int significand_size = get_significand_size(f);
1434:   const Char zero = static_cast<Char>('0');
1434:   auto sign = fspecs.sign;
1434:   size_t size = to_unsigned(significand_size) + (sign ? 1 : 0);
1434:   using iterator = reserve_iterator<OutputIt>;
1434: 
1434:   Char decimal_point =
1434:       fspecs.locale ? detail::decimal_point<Char>(loc) : static_cast<Char>('.');
1434: 
1434:   int output_exp = f.exponent + significand_size - 1;
1434:   auto use_exp_format = [=]() {
1434:     if (fspecs.format == float_format::exp) return true;
1434:     if (fspecs.format != float_format::general) return false;
1434: 
1434: 
1434:     const int exp_lower = -4, exp_upper = 16;
1434:     return output_exp < exp_lower ||
1434:            outpu15: 
1115:     using native_handle_type = __gthread_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     class id
1115:     {
1115:       native_handle_type _M_thread;
1115: 
1115:     public:
1115:       id() noexcept : _M_thread() { }
1115: 
1115:       explicit
1115:       id(native_handle_type __id) : _M_thread(__id) { }
1115: 
1115:     private:
1115:       friend class thread;
1115:       friend struct hash<id>;
1115: 
1115:       friend bool
1115:       operator==(id __x, id __y) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       friend bool
1115:       operator<(id __x, id __y) noexcept;
1115: 
1115: 
1115:       template<class _CharT, class _Traits>
1115:  friend basic_ostream<_CharT, _Traits>&
1115:  operator<<(basic_ostream<_CharT, _Traits>& __out, id __id);
1115:     };
1115: 
1115:   private:
1115:     id _M_id;
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Tp>
1115:       using __not_same = __not_<is_same<__remove_cvref_t<_Tp>, thread>>;
1115: 
1115:   public:
1115:     thread() noexcept = default;
1115: 
1115: 
1115:     template<typename _Callable, typename... _Args,
1115:       typename = _Require<__not_same<_Callable>>>
1115:       explicit
1115:       thread(_Callable&& __f, _Args&&... __args)
1115:       {
1115:  static_assert( __is_invocable<typename decay<_Callable>::type,
1115:           typename decay<_Args>::type...>::value,
1115:    "std::thread arguments must be invocable after conversion to rvalues"
1115:    );
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  auto __depend = nullptr;
1115: 
1115:  using _Wrapper = _Call_wrapper<_Callable, _Args...>;
1115: 
1115: 
1115:  _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
1115:        std::forward<_Callable>(__f), std::forward<_Args>(__args)...)),
1115:      __depend);
1115:       }
1115: 
1115: 
1115:     ~thread()
1115:     {
1115:       if (joinable())
1115:  std::__terminate();
1115:     }
1115: 
1115:     thread(const thread&) = delete;
1115: 
1115:     thread(thread&& __t) noexcept
1115:     { swap(__t); }
1115: 
1115:     thread& operator=(const thread&) = delete;
1115: 
1115:     thread& operator=(thread&& __t) noexcept
1115:     {
1115:       if (joinable())
1115:  std::__terminate();
1115:       swap(__t);
1115:       return *this;
1115:     }
1115: 
1115:     void
1115:     swap(thread& __t) noexcept
1115:     { std::swap(_M_id, __t._M_id); }
1115: 
1115:     bool
1115:     joinable() const noexcept
1115:     { return !(_M_id == id()); }
1115: 
1115:     void
1115:     join();
1115: 
1115:     void
1115:     detach();
1115: 
1115:     id
1115:     get_id() const noexcept
1115:     { return _M_id; }
1115: 
1115: 
1115: 
1115:     native_handle_type
1115:     native_handle()
1115:     { return _M_id._M_thread; }
1115: 
1115: 
1115:     static unsigned int
1115:     hardware_concurrency() noexcept;
1115: 
1115: 
1115:   private:
1115:     template<typename _Callable>
1115:       struct _State_impl : public _State
1115:       {
1115:  _Callable _M_func;
1115: 
1115:  template<typename... _Args>
1115:    _State_impl(_Args&&... __args)
1115:    : _M_func{{std::forward<_Args>(__args)...}}
1115:    { }
1115: 
1115:  void
1115:  _M_run() { _M_func(); }
1115:       };
1115: 
1115:     void
1115:     _M_start_thread(_State_ptr, void (*)());
1115: # 235 "/usr/include/c++/12/bits/std_thread.h" 3
1115:   private:
1115: 
1115:     template<typename _Tuple>
1115:       struct _Invoker
1115:       {
1115:  _Tuple _M_t;
1115: 
1115:  template<typename>
1115:    struct __result;
1115:  template<typename _Fn, typename... _Args>
1115:    struct __result<tuple<_Fn, _Args...>>
1115:    : __invoke_result<_Fn, _Args...>
1115:    { };
1115: 
1115:  template<size_t... _Ind>
1115:    typename __result<_Tuple>::type
1115:    _M_invoke(_Index_tuple<_Ind...>)
1115:    { return std::__invoke(std::get<_Ind>(std::move(_M_t))...); }
1115: 
1115:  typename __result<_Tuple>::type
1115:  operator()()
1115:  {
1115:    using _Indices
1115:      = typename _Build_index_tuple<tuple_size<_Tuple>::value>::__type;
1115:    return _M_invoke(_Indices());
1115:  }
1115:   t_exp >= (fspecs.precision > 0 ? fspecs.precision : exp_upper);
1434:   };
1434:   if (use_exp_format()) {
1434:     int num_zeros = 0;
1434:     if (fspecs.showpoint) {
1434:       num_zeros = fspecs.precision - significand_size;
1434:       if (num_zeros < 0) num_zeros = 0;
1434:       size += to_unsigned(num_zeros);
1434:     } else if (significand_size == 1) {
1434:       decimal_point = Char();
1434:     }
1434:     auto abs_output_exp = output_exp >= 0 ? output_exp : -output_exp;
1434:     int exp_digits = 2;
1434:     if (abs_output_exp >= 100) exp_digits = abs_output_exp >= 1000 ? 4 : 3;
1434: 
1434:     size += to_unsigned((decimal_point ? 1 : 0) + 2 + exp_digits);
1434:     char exp_char = fspecs.upper ? 'E' : 'e';
1434:     auto write = [=](iterator it) {
1434:       if (sign) *it++ = detail::sign<Char>(sign);
1434: 
1434:       it = write_significand(it, significand, significand_size, 1,
1434:                              decimal_point);
1434:       if (num_zeros > 0) it = detail::fill_n(it, num_zeros, zero);
1434:       *it++ = static_cast<Char>(exp_char);
1434:       return write_exponent<Char>(output_exp, it);
1434:     };
1434:     return specs.width > 0 ? write_padded<align::right>(out, specs, size, write)
1434:                            : base_iterator(out, write(reserve(out, size)));
1434:   }
1434: 
1434:   int exp = f.exponent + significand_size;
1434:   if (f.exponent >= 0) {
1434: 
1434:     size += to_unsigned(f.exponent);
1434:     int num_zeros = fspecs.precision - exp;
1434:     abort_fuzzing_if(num_zeros > 5000);
1434:     if (fspecs.showpoint) {
1434:       ++size;
1434:       if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1;
1434:       if (num_zeros > 0) size += to_unsigned(num_zeros);
1434:     }
1434:     auto grouping = Grouping(loc, fspecs.locale);
1434:     size += to_unsigned(grouping.count_separators(exp));
1434:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1434:       if (sign) *it++ = detail::sign<Char>(sign);
1434:       it = write_significand<Char>(it, significand, significand_size,
1434:                                    f.exponent, grouping);
1434:       if (!fspecs.showpoint) return it;
1434:       *it++ = decimal_point;
1434:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1434:     });
1434:   } else if (exp > 0) {
1434: 
1434:     int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0;
1434:     size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0);
1434:     auto grouping = Grouping(loc, fspecs.locale);
1434:     size += to_unsigned(grouping.count_separators(significand_size));
1434:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1434:       if (sign) *it++ = detail::sign<Char>(sign);
1434:       it = write_significand(it, significand, significand_size, exp,
1434:                              decimal_point, grouping);
1434:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1434:     });
1434:   }
1434: 
1434:   int num_zeros = -exp;
1434:   if (significand_size == 0 && fspecs.precision >= 0 &&
1434:       fspecs.precision < num_zeros) {
1434:     num_zeros = fspecs.precision;
1434:   }
1434:   bool pointy = num_zeros != 0 || significand_size != 0 || fspecs.showpoint;
1434:   size += 1 + (pointy ? 1 : 0) + to_unsigned(num_zeros);
1434:   return write_padded<align::right>(out, specs, size, [&](iterator it) {
1434:     if (sign) *it++ = detail::sign<Char>(sign);
1434:     *it++ = zero;
1434:     if (!pointy) return it;
1434:     *it++ = decimal_point;
1434:     it = detail::fill_n(it, num_zeros, zero);
1434:     return write_significand<Char>(it, significand, significand_size);
1434:   });
1434: }
1434: 
1434: template <typename Char> class fallback_digit_grouping {
1434:  public:
1434:   constexpr fallback_digit_grouping(locale_ref, bool) {}
1434: 
1434:   constexpr Char separator() const { return Char(); }
1434: 
1434:   constexpr int count_separators(int) const { return 0; }
1434: 
1434:   template <typename Out, typename C>
st, __pos,
1412:        this->_M_impl._M_finish,
1412:        this->_M_impl._M_finish,
1412:        _M_get_Tp_allocator());
1412:     this->_M_impl._M_finish = __new_finish;
1412:     std::copy(__first, __mid, __pos);
1412:   }
1412:      }
1412:    catch(...)
1412:      {
1412:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1412:           __new_finish._M_node + 1);
1412:        throw;
1412:      }
1412:  }
1412:       }
1412: 
1412:    template<typename _Tp, typename _Alloc>
1412:      void
1412:      deque<_Tp, _Alloc>::
1412:      _M_destroy_data_aux(iterator __first, iterator __last)
1412:      {
1412:        for (_Map_pointer __node = __first._M_node + 1;
1412:      __node < __last._M_node; ++__node)
1412:   std::_Destroy(*__node, *__node + _S_buffer_size(),
1412:          _M_get_Tp_allocator());
1412: 
1412:        if (__first._M_node != __last._M_node)
1412:   {
1412:     std::_Destroy(__first._M_cur, __first._M_last,
1412:     _M_get_Tp_allocator());
1412:     std::_Destroy(__last._M_first, __last._M_cur,
1412:     _M_get_Tp_allocator());
1412:   }
1412:        else
1412:   std::_Destroy(__first._M_cur, __last._M_cur,
1412:          _M_get_Tp_allocator());
1412:      }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_new_elements_at_front(size_type __new_elems)
1412:     {
1412:       if (this->max_size() - this->size() < __new_elems)
1412:  __throw_length_error(("deque::_M_new_elements_at_front"));
1412: 
1412:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1412:          / _S_buffer_size());
1412:       _M_reserve_map_at_front(__new_nodes);
1412:       size_type __i;
1412:       try
1412:  {
1412:    for (__i = 1; __i <= __new_nodes; ++__i)
1412:      *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
1412:  }
1412:       catch(...)
1412:  {
1412:    for (size_type __j = 1; __j < __i; ++__j)
1412:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_new_elements_at_back(size_type __new_elems)
1412:     {
1412:       if (this->max_size() - this->size() < __new_elems)
1412:  __throw_length_error(("deque::_M_new_elements_at_back"));
1412: 
1412:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1412:          / _S_buffer_size());
1412:       _M_reserve_map_at_back(__new_nodes);
1412:       size_type __i;
1412:       try
1412:  {
1412:    for (__i = 1; __i <= __new_nodes; ++__i)
1412:      *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
1412:  }
1412:       catch(...)
1412:  {
1412:    for (size_type __j = 1; __j < __i; ++__j)
1412:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
1412:    throw;
1412:  }
1412:     }
1412: 
1412:   template <typename _Tp, typename _Alloc>
1412:     void
1412:     deque<_Tp, _Alloc>::
1412:     _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
1412:     {
1412:       const size_type __old_num_nodes
1412:  = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
1412:       const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;
1412: 
1412:       _Map_pointer __new_nstart;
1412:       if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
1412:  {
1412:    __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
1412:       - __new_num_nodes) / 2
1412:     + (__add_at_front ? __nodes_to_add : 0);
1412:    if (__new_nstart < this->_M_impl._M_start._M_node)
1412:      std::copy(this->_M_impl._M_start._M_node,
1412:         this->_M_impl._M_finish._M_node + 1,
1412:         __new_nstart);
1412:    else
1412:      std::copy_backward(this->_M_impl._M_start._M_node,
1412:           this->_M_impl._M_finish._M_node + 1,
1412:           __new_nstart + __old_num_nodes);
1412:  }
1412:       else
1412:  {
1412:    size_type __new_map_size = this->_M_impl._M_map_size
1412:          + std::max(this->_M1434:   constexpr Out apply(Out out, basic_string_view<C>) const {
1434:     return out;
1434:   }
1434: };
1434: 
1434: template <typename OutputIt, typename DecimalFP, typename Char>
1434:  auto write_float(OutputIt out, const DecimalFP& f,
1434:                                  const basic_format_specs<Char>& specs,
1434:                                  float_specs fspecs, locale_ref loc)
1434:     -> OutputIt {
1434:   if (is_constant_evaluated()) {
1434:     return do_write_float<OutputIt, DecimalFP, Char,
1434:                           fallback_digit_grouping<Char>>(out, f, specs, fspecs,
1434:                                                          loc);
1434:   } else {
1434:     return do_write_float(out, f, specs, fspecs, loc);
1434:   }
1434: }
1434: 
1434: template <typename T> constexpr bool isnan(T value) {
1434:   return !(value >= value);
1434: }
1434: 
1434: template <typename T, typename Enable = void>
1434: struct has_isfinite : std::false_type {};
1434: 
1434: template <typename T>
1434: struct has_isfinite<T, enable_if_t<sizeof(std::isfinite(T())) != 0>>
1434:     : std::true_type {};
1434: 
1434: template <typename T, enable_if_t<(std::is_floating_point<T>::value&& has_isfinite<T>::value), int> = 0
1434:                                                                >
1434:  bool isfinite(T value) {
1434:   constexpr T inf = T(std::numeric_limits<double>::infinity());
1434:   if (is_constant_evaluated())
1434:     return !detail::isnan(value) && value != inf && value != -inf;
1434:   return std::isfinite(value);
1434: }
1434: template <typename T, enable_if_t<(!has_isfinite<T>::value), int> = 0>
1434: constexpr bool isfinite(T value) {
1434:   T inf = T(std::numeric_limits<double>::infinity());
1434: 
1434:   return !detail::isnan(value) && value != inf && value != -inf;
1434: }
1434: 
1434: template <typename T, enable_if_t<(is_floating_point<T>::value), int> = 0>
1434: inline __attribute__((always_inline)) constexpr bool signbit(T value) {
1434:   if (is_constant_evaluated()) {
1434: 
1434:     if constexpr (std::numeric_limits<double>::is_iec559) {
1434:       auto bits = detail::bit_cast<uint64_t>(static_cast<double>(value));
1434:       return (bits >> (num_bits<uint64_t>() - 1)) != 0;
1434:     }
1434: 
1434:   }
1434:   return std::signbit(static_cast<double>(value));
1434: }
1434: 
1434: enum class round_direction { unknown, up, down };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: constexpr inline round_direction get_round_direction(uint64_t divisor,
1434:                                                          uint64_t remainder,
1434:                                                          uint64_t error) {
1434:   ::fmt::detail::ignore_unused((remainder < divisor), (""));
1434:   ::fmt::detail::ignore_unused((error < divisor), (""));
1434:   ::fmt::detail::ignore_unused((error < divisor - error), (""));
1434: 
1434:   if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2)
1434:     return round_direction::down;
1434: 
1434:   if (remainder >= error &&
1434:       remainder - error >= divisor - (remainder - error)) {
1434:     return round_direction::up;
1434:   }
1434:   return round_direction::unknown;
1434: }
1434: 
1434: namespace digits {
1434: enum result {
1434:   more,
1434:   done,
1434:   error
1434: };
1434: }
1434: 
1434: struct gen_digits_handler {
1434:   char* buf;
1434:   int size;
1434:   int precision;
1434:   int exp10;
1434:   bool fixed;
1434: 
1434:   constexpr digits::result on_digit(char digit, uint64_t divisor,
1434:                                         uint64_t remainder, uint64_t error,
1434:                                         bool integral) {
1434:     ::fmt::detail::ignore_unused((remainder < divisor), (""));
1434:     buf[size++] = digit;
1434:     if (!integral && error >= remainder) return digits::error;
1434:     if (size < precision) return digits::more;
1434:     if (!integral) {
1434: 
1434: 
1434: 
1434:       if (error >= divisor || error >= divisor - error) return digits::error;
1434:     } else {
1434:       ::fmt::detail::ignore_unused((error == 1 && divisor > 2), (""));
1434:     }
1434:     auto dir = get_round_direction(divisor, remainder, error);
1434:     if (dir != round_direction::up)
1434:       return dir == round_direction::down ? digits::done : digits::error;
1434:     ++buf[size - 1];
1434:     for (int i = size - 1; i > 0 && buf[i] > '9'; --i) {
1434:       buf[i] = '0';
1434:       ++buf[i - 1];
1434:     }
1434:     if (buf[0] > '9') {
1434:       buf[0] = '1';
1434:       if (fixed)
1434:         buf[size++] = '0';
1434:       else
1434:         ++exp10;
1434:     }
1434:     return digits::done;
1434:   }
1434: };
1434: 
1434: inline void adjust_precision(int& precision, int exp10) {
1434: 
1434: 
1434:   if (exp10 > 0 && precision > max_value<int>() - exp10)
1434:     throw format_error("number is too big");
1434:   precision += exp10;
1434: }
1434: 
1434: 
1434: 
1434: 
1434: inline __attribute__((always_inline)) auto grisu_gen_digits(fp value, uint64_t error,
1434:                                                  int& exp,
1434:                                                  gen_digits_handler& handler)
1434:     -> digits::result {
1434:   const fp one(1ULL << -value.e, value.e);
1434: 
1434: 
1434: 
1434:   auto integral = static_cast<uint32_t>(value.f >> -one.e);
1434:   ::fmt::detail::ignore_unused((integral != 0), (""));
1434:   ::fmt::detail::ignore_unused((integral == value.f >> -one.e), (""));
1434: 
1434:   uint64_t fractional = value.f & (one.f - 1);
1434:   exp = count_digits(integral);
1434: 
1434:   if (handler.fixed) {
1434:     adjust_precision(handler.precision, exp + handler.exp10);
1434: 
1434: 
1434:     if (handler.precision <= 0) {
1434:       if (handler.precision < 0) return digits::done;
1434: 
1434:       uint64_t divisor = data::power_of_10_64[exp - 1] << -one.e;
1434:       auto dir = get_round_direction(divisor, value.f / 10, error * 10);
1434:       if (dir == round_direction::unknown) return digits::error;
1434:       handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0';
1434:       return digits::done;
1434:     }
1434:   }
1434: 
1434:   do {
1434:     uint32_t digit = 0;
1434:     auto divmod_integral = [&](uint32_t divisor) {
1434:       digit = integral / divisor;
1434:       integral %= divisor;
1434:     };
1434: 
1434: 
1434:     switch (exp) {
1434:     case 10:
1434:       divmod_integral(1000000000);
1434:       break;
1434:     case 9:
1434:       divmod_integral(100000000);
1434:       break;
1434:     case 8:
1434:       divmod_integral(10000000);
1434:       break;
1434:     case 7:
1434:       divmod_integral(1000000);
1434:       break;
1434:     case 6:
1434:       divmod_integral(100000);
1434:       break;
1434:     case 5:
1434:       divmod_integral(10000);
1434:       break;
1434:     case 4:
1434:       divmod_integral(1000);
1434:       break;
1434:     case 3:
1434:       divmod_integral(100);
1434:       break;
1434:     case 2:
1434:       divmod_integral(10);
1434:       break;
1434:     case 1:
1434:       digit = integral;
1434:       integral = 0;
1434:       break;
1434:     default:
1434:       ::fmt::detail::ignore_unused((false), ("invalid number of digits"));
1434:     }
1434:     --exp;
1434:     auto remainder = (static_cast<uint64_t>(integral) << -one.e) + fractional;
1434:     auto result = handler.on_digit(static_cast<char>('0' + digit),
1434:                                    data::power_of_10_64[exp] << -one.e,
1434:                                    remainder, error, true);
1434:     if (result != digits::more) return result;
1434:   } while (exp > 0);
1434: 
1434:   for (;;) {
1434:     fractional *= 10;
1434:     error *= 10;
1434:     char digit = static_cast<char>('0' + (fractional >> -one.e));
1434:     fractional &= one.f - 1;
1434:     --exp;
1434:     auto result = handler.on_digit(digit, one.f, fractional, error, false);
1434:     if (result != digits::more) return result;
1434:   }
1434: }
1434: 
1434: class bigint {
1434:  private:
1434: 
1434: 
1434:   using bigit = uint32_t;
1434:   using double_bigit = uint    };
1115: 
1115:   public:
1115:     template<typename... _Tp>
1115:       using _Call_wrapper = _Invoker<tuple<typename decay<_Tp>::type...>>;
1115: 
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline void
1115:   swap(thread& __x, thread& __y) noexcept
1115:   { __x.swap(__y); }
1115: 
1115:   inline bool
1115:   operator==(thread::id __x, thread::id __y) noexcept
1115:   {
1115: 
1115: 
1115: 
1115: 
1115:     return __x._M_thread == __y._M_thread;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct hash<thread::id>
1115:     : public __hash_base<size_t, thread::id>
1115:     {
1115:       size_t
1115:       operator()(const thread::id& __id) const noexcept
1115:       { return std::_Hash_impl::hash(__id._M_thread); }
1115:     };
1115: 
1115:   namespace this_thread
1115:   {
1115: 
1115:     inline thread::id
1115:     get_id() noexcept
1115:     {
1115: 
1115: 
1115: 
1115:       return thread::id(pthread_self());
1115: 
1115: 
1115: 
1115:     }
1115: 
1115: 
1115:     inline void
1115:     yield() noexcept
1115:     {
1115: 
1115:       __gthread_yield();
1115: 
1115:     }
1115: 
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 44 "/usr/include/c++/12/thread" 2 3
1115: # 1 "/usr/include/c++/12/bits/this_thread_sleep.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/cerrno" 1 3
1115: # 39 "/usr/include/c++/12/cerrno" 3
1115:        
1115: # 40 "/usr/include/c++/12/cerrno" 3
1115: # 40 "/usr/include/c++/12/bits/this_thread_sleep.h" 2 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 56 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1115:   namespace this_thread
1115:   {
1115: # 66 "/usr/include/c++/12/bits/this_thread_sleep.h" 3
1115:     template<typename _Rep, typename _Period>
1115:       inline void
1115:       sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
1115:       {
1115:  if (__rtime <= __rtime.zero())
1115:    return;
1115:  auto __s = chrono::duration_cast<chrono::seconds>(__rtime);
1115:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__rtime - __s);
1115: 
1115:  struct ::timespec __ts =
1115:    {
1115:      static_cast<std::time_t>(__s.count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115:  while (::nanosleep(&__ts, &__ts) == -1 && (*__errno_location ()) == 4)
1115:    { }
1115: 
1115: 
1115: 
1115:       }
1115: 
1115: 
1115:     template<typename _Clock, typename _Duration>
1115:       inline void
1115:       sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
1115:       {
1115: 
1115: 
1115: 
1115:  auto __now = _Clock::now();
1115:  if (_Clock::is_steady)
1115:    {
1115:      if (__now < __atime)
1115:        sleep_for(__atime - __now);
1115:      return;
1115:    }
1115:  while (__now < __atime)
1115:    {
1115:      sleep_for(__atime - __now);
1115:      __now = _Clock::now();
1115:    }
1115:       }
1115: 
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 45 "/usr/include/c++/12/thread" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 65 "/usr/include/c++/12/thread" 3
1115:   inline bool
1115:   operator!=(thread::id __x, thread::id __y) noexcept
1115:   { return !(__x == __y); }
1115: 
1115:   inline bool
1115:   operator<(thread::id __x, thread::id __y) noexcept
1115:   {
1115: 
1115: 
1115:     return __x._M_thread < __y._M_thread;
1115:   }
1115: 
1115:   inline bool
1115:   operator<=(thread::id __x, thread::id __y) noexcept
1115:   { return !(__y < __x); }
1115: 
1115:   inline bool
1115:   operator>(thread::id __x, thread::id __y) noexcept
1115:   { return __y < __x; }
1115: 
1115:   inline bool
1115:   operator>=(thread::id __x, thread::id __y) noexcept
1115:   { return !(__x < __y); }
1115: 
1115: 
1115:   template<class _CharT, class _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     _impl._M_map_size,
1412:       __nodes_to_add) + 2;
1412: 
1412:    _Map_pointer __new_map = this->_M_allocate_map(__new_map_size);
1412:    __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
1412:     + (__add_at_front ? __nodes_to_add : 0);
1412:    std::copy(this->_M_impl._M_start._M_node,
1412:       this->_M_impl._M_finish._M_node + 1,
1412:       __new_nstart);
1412:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1412: 
1412:    this->_M_impl._M_map = __new_map;
1412:    this->_M_impl._M_map_size = __new_map_size;
1412:  }
1412: 
1412:       this->_M_impl._M_start._M_set_node(__new_nstart);
1412:       this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Tp, typename _VTp>
1412:     void
1412:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
1412:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __last,
1412:        const _VTp& __value)
1412:     {
1412:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1412:       if (__first._M_node != __last._M_node)
1412:  {
1412:    std::__fill_a1(__first._M_cur, __first._M_last, __value);
1412: 
1412:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1412:         __node < __last._M_node; ++__node)
1412:      std::__fill_a1(*__node, *__node + _Iter::_S_buffer_size(), __value);
1412: 
1412:    std::__fill_a1(__last._M_first, __last._M_cur, __value);
1412:  }
1412:       else
1412:  std::__fill_a1(__first._M_cur, __last._M_cur, __value);
1412:     }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1412:     _OI
1412:     __copy_move_dit(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1412:       std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1412:       _OI __result)
1412:     {
1412:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1412:       if (__first._M_node != __last._M_node)
1412:  {
1412:    __result
1412:      = std::__copy_move_a1<_IsMove>(__first._M_cur, __first._M_last,
1412:         __result);
1412: 
1412:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1412:         __node != __last._M_node; ++__node)
1412:      __result
1412:        = std::__copy_move_a1<_IsMove>(*__node,
1412:           *__node + _Iter::_S_buffer_size(),
1412:           __result);
1412: 
1412:    return std::__copy_move_a1<_IsMove>(__last._M_first, __last._M_cur,
1412:            __result);
1412:  }
1412: 
1412:       return std::__copy_move_a1<_IsMove>(__first._M_cur, __last._M_cur,
1412:        __result);
1412:     }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1412:     _OI
1412:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1412:      std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1412:      _OI __result)
1412:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1412: 
1412:   template<bool _IsMove,
1412:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1412:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1412:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1412:      std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1412:      std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1412:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1412: 
1412:   template<bool _IsMove, typename _II, typename _Tp>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value,
1412:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1412:     __copy_move_a1(_II __first, _II __last,
1412:      std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1412:     {
1412:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1412:       typedef typename _Iter::difference_type difference_type;
1412: 
1412:       difference_type __len = __last - __first;
1412:       while (__len > 0)
1412:  {
1412:    const difference_type __clen
1412:      = std::min(__len, __result._M_last - __64_t;
1434:   enum { bigits_capacity = 32 };
1434:   basic_memory_buffer<bigit, bigits_capacity> bigits_;
1434:   int exp_;
1434: 
1434:   bigit operator[](int index) const {
1434:     return bigits_[to_unsigned(index)];
1434:   }
1434:   bigit& operator[](int index) {
1434:     return bigits_[to_unsigned(index)];
1434:   }
1434: 
1434:   static constexpr const int bigit_bits = num_bits<bigit>();
1434: 
1434:   friend struct formatter<bigint>;
1434: 
1434:   void subtract_bigits(int index, bigit other, bigit& borrow) {
1434:     auto result = static_cast<double_bigit>((*this)[index]) - other - borrow;
1434:     (*this)[index] = static_cast<bigit>(result);
1434:     borrow = static_cast<bigit>(result >> (bigit_bits * 2 - 1));
1434:   }
1434: 
1434:   void remove_leading_zeros() {
1434:     int num_bigits = static_cast<int>(bigits_.size()) - 1;
1434:     while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits;
1434:     bigits_.resize(to_unsigned(num_bigits + 1));
1434:   }
1434: 
1434: 
1434:   void subtract_aligned(const bigint& other) {
1434:     ::fmt::detail::ignore_unused((other.exp_ >= exp_), ("unaligned bigints"));
1434:     ::fmt::detail::ignore_unused((compare(*this, other) >= 0), (""));
1434:     bigit borrow = 0;
1434:     int i = other.exp_ - exp_;
1434:     for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j)
1434:       subtract_bigits(i, other.bigits_[j], borrow);
1434:     while (borrow > 0) subtract_bigits(i, 0, borrow);
1434:     remove_leading_zeros();
1434:   }
1434: 
1434:   void multiply(uint32_t value) {
1434:     const double_bigit wide_value = value;
1434:     bigit carry = 0;
1434:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1434:       double_bigit result = bigits_[i] * wide_value + carry;
1434:       bigits_[i] = static_cast<bigit>(result);
1434:       carry = static_cast<bigit>(result >> bigit_bits);
1434:     }
1434:     if (carry != 0) bigits_.push_back(carry);
1434:   }
1434: 
1434:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1434:                                                                               >
1434:   void multiply(UInt value) {
1434:     using half_uint =
1434:         conditional_t<std::is_same<UInt, uint128_t>::value, uint64_t, uint32_t>;
1434:     const int shift = num_bits<half_uint>() - bigit_bits;
1434:     const UInt lower = static_cast<half_uint>(value);
1434:     const UInt upper = value >> num_bits<half_uint>();
1434:     UInt carry = 0;
1434:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1434:       UInt result = lower * bigits_[i] + static_cast<bigit>(carry);
1434:       carry = (upper * bigits_[i] << shift) + (result >> bigit_bits) +
1434:               (carry >> bigit_bits);
1434:       bigits_[i] = static_cast<bigit>(result);
1434:     }
1434:     while (carry != 0) {
1434:       bigits_.push_back(static_cast<bigit>(carry));
1434:       carry >>= bigit_bits;
1434:     }
1434:   }
1434: 
1434:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1434:                                                                               >
1434:   void assign(UInt n) {
1434:     size_t num_bigits = 0;
1434:     do {
1434:       bigits_[num_bigits++] = static_cast<bigit>(n);
1434:       n >>= bigit_bits;
1434:     } while (n != 0);
1434:     bigits_.resize(num_bigits);
1434:     exp_ = 0;
1434:   }
1434: 
1434:  public:
1434:   bigint() : exp_(0) {}
1434:   explicit bigint(uint64_t n) { assign(n); }
1434: 
1434:   bigint(const bigint&) = delete;
1434:   void operator=(const bigint&) = delete;
1434: 
1434:   void assign(const bigint& other) {
1434:     auto size = other.bigits_.size();
1434:     bigits_.resize(size);
1434:     auto data = other.bigits_.data();
1434:     std::copy(data, data + size, make_checked(bigits_.data(), size));
1434:     exp_ = other.exp_;
1434:   }
1434: 
1434:   template <typename Int> void operator=(Int n) {
1434:     ::fmt::detail::ignore_unused((noperator<<(basic_ostream<_CharT, _Traits>& __out, thread::id __id)
1115:     {
1115:       if (__id == thread::id())
1115:  return __out << "thread::id of a non-executing thread";
1115:       else
1115:  return __out << __id._M_thread;
1115:     }
1115: # 262 "/usr/include/c++/12/thread" 3
1115: 
1115: }
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h" 2
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1115:        
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 1 3 4
1115: # 99 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern "C" {
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 1 3 4
1115: # 25 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 28 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 2 3 4
1115: 
1115: struct stat
1115:   {
1115: 
1115: 
1115: 
1115:     __dev_t st_dev;
1115:     unsigned short int __pad1;
1115: 
1115: 
1115: 
1115:     __ino_t __st_ino;
1115: 
1115:     __mode_t st_mode;
1115:     __nlink_t st_nlink;
1115:     __uid_t st_uid;
1115:     __gid_t st_gid;
1115:     __dev_t st_rdev;
1115:     unsigned short int __pad2;
1115: 
1115: 
1115: 
1115:     __off64_t st_size;
1115: 
1115:     __blksize_t st_blksize;
1115: 
1115: 
1115: 
1115: 
1115:     __blkcnt64_t st_blocks;
1115: # 66 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1115:     struct timespec st_atim;
1115:     struct timespec st_mtim;
1115:     struct timespec st_ctim;
1115: # 84 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1115:     __ino64_t st_ino;
1115: 
1115: 
1115:   };
1115: 
1115: 
1115: struct stat64
1115:   {
1115: 
1115: 
1115: 
1115:     __dev_t st_dev;
1115:     unsigned int __pad1;
1115: 
1115:     __ino_t __st_ino;
1115:     __mode_t st_mode;
1115:     __nlink_t st_nlink;
1115:     __uid_t st_uid;
1115:     __gid_t st_gid;
1115:     __dev_t st_rdev;
1115:     unsigned int __pad2;
1115:     __off64_t st_size;
1115:     __blksize_t st_blksize;
1115: 
1115:     __blkcnt64_t st_blocks;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     struct timespec st_atim;
1115:     struct timespec st_mtim;
1115:     struct timespec st_ctim;
1115: # 127 "/usr/include/arm-linux-gnueabihf/bits/struct_stat.h" 3 4
1115:     __ino64_t st_ino;
1115: 
1115:   };
1115: # 26 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 2 3 4
1115: # 102 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 2 3 4
1115: # 227 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern int stat (const char *__restrict __file, struct stat *__restrict __buf) noexcept (true) __asm__ ("" "stat64")
1115: 
1115:      __attribute__ ((__nonnull__ (1, 2)));
1115: extern int fstat (int __fd, struct stat *__buf) noexcept (true) __asm__ ("" "fstat64")
1115:      __attribute__ ((__nonnull__ (2)));
1115: # 240 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern int stat64 (const char *__restrict __file,
1115:      struct stat64 *__restrict __buf) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: extern int fstat64 (int __fd, struct stat64 *__buf) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: # 279 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern int fstatat (int __fd, const char *__restrict __file, struct stat *__restrict __buf, int __flag) noexcept (true) __asm__ ("" "fstatat64")
1115: 
1115: 
1115:                  __attribute__ ((__nonnull__ (2, 3)));
1115: # 291 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern int fstatat64 (int __fd, const char *__restrict __file,
1115:         struct stat64 *__restrict __buf, int __flag)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1115: # 327 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern int lstat (c > 0), (""));
1434:     assign(uint64_or_128_t<Int>(n));
1434:   }
1434: 
1434:   int num_bigits() const {
1434:     return static_cast<int>(bigits_.size()) + exp_;
1434:   }
1434: 
1434:   __attribute__((noinline)) bigint& operator<<=(int shift) {
1434:     ::fmt::detail::ignore_unused((shift >= 0), (""));
1434:     exp_ += shift / bigit_bits;
1434:     shift %= bigit_bits;
1434:     if (shift == 0) return *this;
1434:     bigit carry = 0;
1434:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1434:       bigit c = bigits_[i] >> (bigit_bits - shift);
1434:       bigits_[i] = (bigits_[i] << shift) + carry;
1434:       carry = c;
1434:     }
1434:     if (carry != 0) bigits_.push_back(carry);
1434:     return *this;
1434:   }
1434: 
1434:   template <typename Int> bigint& operator*=(Int value) {
1434:     ::fmt::detail::ignore_unused((value > 0), (""));
1434:     multiply(uint32_or_64_or_128_t<Int>(value));
1434:     return *this;
1434:   }
1434: 
1434:   friend int compare(const bigint& lhs, const bigint& rhs) {
1434:     int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits();
1434:     if (num_lhs_bigits != num_rhs_bigits)
1434:       return num_lhs_bigits > num_rhs_bigits ? 1 : -1;
1434:     int i = static_cast<int>(lhs.bigits_.size()) - 1;
1434:     int j = static_cast<int>(rhs.bigits_.size()) - 1;
1434:     int end = i - j;
1434:     if (end < 0) end = 0;
1434:     for (; i >= end; --i, --j) {
1434:       bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j];
1434:       if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1;
1434:     }
1434:     if (i != j) return i > j ? 1 : -1;
1434:     return 0;
1434:   }
1434: 
1434: 
1434:   friend int add_compare(const bigint& lhs1, const bigint& lhs2,
1434:                                          const bigint& rhs) {
1434:     auto minimum = [](int a, int b) { return a < b ? a : b; };
1434:     auto maximum = [](int a, int b) { return a > b ? a : b; };
1434:     int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits());
1434:     int num_rhs_bigits = rhs.num_bigits();
1434:     if (max_lhs_bigits + 1 < num_rhs_bigits) return -1;
1434:     if (max_lhs_bigits > num_rhs_bigits) return 1;
1434:     auto get_bigit = [](const bigint& n, int i) -> bigit {
1434:       return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0;
1434:     };
1434:     double_bigit borrow = 0;
1434:     int min_exp = minimum(minimum(lhs1.exp_, lhs2.exp_), rhs.exp_);
1434:     for (int i = num_rhs_bigits - 1; i >= min_exp; --i) {
1434:       double_bigit sum =
1434:           static_cast<double_bigit>(get_bigit(lhs1, i)) + get_bigit(lhs2, i);
1434:       bigit rhs_bigit = get_bigit(rhs, i);
1434:       if (sum > rhs_bigit + borrow) return 1;
1434:       borrow = rhs_bigit + borrow - sum;
1434:       if (borrow > 1) return -1;
1434:       borrow <<= bigit_bits;
1434:     }
1434:     return borrow != 0 ? -1 : 0;
1434:   }
1434: 
1434: 
1434:   void assign_pow10(int exp) {
1434:     ::fmt::detail::ignore_unused((exp >= 0), (""));
1434:     if (exp == 0) return *this = 1;
1434: 
1434:     int bitmask = 1;
1434:     while (exp >= bitmask) bitmask <<= 1;
1434:     bitmask >>= 1;
1434: 
1434: 
1434:     *this = 5;
1434:     bitmask >>= 1;
1434:     while (bitmask != 0) {
1434:       square();
1434:       if ((exp & bitmask) != 0) *this *= 5;
1434:       bitmask >>= 1;
1434:     }
1434:     *this <<= exp;
1434:   }
1434: 
1434:   void square() {
1434:     int num_bigits = static_cast<int>(bigits_.size());
1434:     int num_result_bigits = 2 * num_bigits;
1434:     basic_memory_buffer<bigit, bigits_capacity> n(std::move(bigits_));
1434:     bigits_.resize(to_unsigned(num_result_bigits));
1434:     auto sum = uint128_t();
1434:     for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) {
1434: 
1434: 
1434:       for (int i = 0, j = bigit_index; j >= 0; ++i, --j) {
1434: 
1434:         sum += static_cast<double_bigit>(n[i]) * n[j];
1434:       }
1434:       (*this)[bigit_index] = static_cast<bigit>(sum);
1434:       sum >>= num_bits<bigit>();
1434:     }
1434: result._M_cur);
1412:    std::__copy_move_a1<_IsMove>(__first, __first + __clen,
1412:            __result._M_cur);
1412: 
1412:    __first += __clen;
1412:    __result += __clen;
1412:    __len -= __clen;
1412:  }
1412: 
1412:       return __result;
1412:     }
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_char<_CharT>::__value,
1412:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1412:     __copy_move_a2(
1412:  istreambuf_iterator<_CharT, char_traits<_CharT> > __first,
1412:  istreambuf_iterator<_CharT, char_traits<_CharT> > __last,
1412:  std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result)
1412:     {
1412:       if (__first == __last)
1412:  return __result;
1412: 
1412:       for (;;)
1412:  {
1412:    const std::ptrdiff_t __len = __result._M_last - __result._M_cur;
1412:    const std::ptrdiff_t __nb
1412:      = std::__copy_n_a(__first, __len, __result._M_cur, false)
1412:      - __result._M_cur;
1412:    __result += __nb;
1412: 
1412:    if (__nb != __len)
1412:      break;
1412:  }
1412: 
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Size>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_char<_CharT>::__value,
1412:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1412:     __copy_n_a(
1412:       istreambuf_iterator<_CharT, char_traits<_CharT> > __it, _Size __size,
1412:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result,
1412:       bool __strict)
1412:     {
1412:       if (__size == 0)
1412:  return __result;
1412: 
1412:       do
1412:  {
1412:    const _Size __len
1412:      = std::min<_Size>(__result._M_last - __result._M_cur, __size);
1412:    std::__copy_n_a(__it, __len, __result._M_cur, __strict);
1412:    __result += __len;
1412:    __size -= __len;
1412:  }
1412:       while (__size != 0);
1412:       return __result;
1412:     }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1412:     _OI
1412:     __copy_move_backward_dit(
1412:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1412:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1412:   _OI __result)
1412:     {
1412:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1412:       if (__first._M_node != __last._M_node)
1412:  {
1412:    __result = std::__copy_move_backward_a1<_IsMove>(
1412:   __last._M_first, __last._M_cur, __result);
1412: 
1412:    for (typename _Iter::_Map_pointer __node = __last._M_node - 1;
1412:         __node != __first._M_node; --__node)
1412:      __result = std::__copy_move_backward_a1<_IsMove>(
1412:   *__node, *__node + _Iter::_S_buffer_size(), __result);
1412: 
1412:    return std::__copy_move_backward_a1<_IsMove>(
1412:    __first._M_cur, __first._M_last, __result);
1412:  }
1412: 
1412:       return std::__copy_move_backward_a1<_IsMove>(
1412:   __first._M_cur, __last._M_cur, __result);
1412:     }
1412: 
1412:   template<bool _IsMove,
1412:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1412:     _OI
1412:     __copy_move_backward_a1(
1412:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1412:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1412:   _OI __result)
1412:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1412: 
1412:   template<bool _IsMove,
1412:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1412:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1412:     __copy_move_backward_a1(
1412:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1412:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1412:   std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1412:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1412: 
1412:   template<bool _IsMove, typename _II, typename _Tp>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value,
1412:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1412:     __copy_move_backward_a1(_II __first, _II __last,
141
1434:     for (int bigit_index = num_bigits; bigit_index < num_result_bigits;
1434:          ++bigit_index) {
1434:       for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;)
1434:         sum += static_cast<double_bigit>(n[i++]) * n[j--];
1434:       (*this)[bigit_index] = static_cast<bigit>(sum);
1434:       sum >>= num_bits<bigit>();
1434:     }
1434:     remove_leading_zeros();
1434:     exp_ *= 2;
1434:   }
1434: 
1434: 
1434: 
1434:   void align(const bigint& other) {
1434:     int exp_difference = exp_ - other.exp_;
1434:     if (exp_difference <= 0) return;
1434:     int num_bigits = static_cast<int>(bigits_.size());
1434:     bigits_.resize(to_unsigned(num_bigits + exp_difference));
1434:     for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j)
1434:       bigits_[j] = bigits_[i];
1434:     std::uninitialized_fill_n(bigits_.data(), exp_difference, 0);
1434:     exp_ -= exp_difference;
1434:   }
1434: 
1434: 
1434: 
1434:   int divmod_assign(const bigint& divisor) {
1434:     ::fmt::detail::ignore_unused((this != &divisor), (""));
1434:     if (compare(*this, divisor) < 0) return 0;
1434:     ::fmt::detail::ignore_unused((divisor.bigits_[divisor.bigits_.size() - 1u] != 0), (""));
1434:     align(divisor);
1434:     int quotient = 0;
1434:     do {
1434:       subtract_aligned(divisor);
1434:       ++quotient;
1434:     } while (compare(*this, divisor) >= 0);
1434:     return quotient;
1434:   }
1434: };
1434: 
1434: 
1434: enum dragon {
1434:   predecessor_closer = 1,
1434:   fixup = 2,
1434:   fixed = 4,
1434: };
1434: 
1434: 
1434: 
1434: 
1434:  inline void format_dragon(basic_fp<uint128_t> value,
1434:                                           unsigned flags, int num_digits,
1434:                                           buffer<char>& buf, int& exp10) {
1434:   bigint numerator;
1434:   bigint denominator;
1434: 
1434:   bigint lower;
1434:   bigint upper_store;
1434:   bigint* upper = nullptr;
1434: 
1434: 
1434: 
1434:   bool is_predecessor_closer = (flags & dragon::predecessor_closer) != 0;
1434:   int shift = is_predecessor_closer ? 2 : 1;
1434:   if (value.e >= 0) {
1434:     numerator = value.f;
1434:     numerator <<= value.e + shift;
1434:     lower = 1;
1434:     lower <<= value.e;
1434:     if (is_predecessor_closer) {
1434:       upper_store = 1;
1434:       upper_store <<= value.e + 1;
1434:       upper = &upper_store;
1434:     }
1434:     denominator.assign_pow10(exp10);
1434:     denominator <<= shift;
1434:   } else if (exp10 < 0) {
1434:     numerator.assign_pow10(-exp10);
1434:     lower.assign(numerator);
1434:     if (is_predecessor_closer) {
1434:       upper_store.assign(numerator);
1434:       upper_store <<= 1;
1434:       upper = &upper_store;
1434:     }
1434:     numerator *= value.f;
1434:     numerator <<= shift;
1434:     denominator = 1;
1434:     denominator <<= shift - value.e;
1434:   } else {
1434:     numerator = value.f;
1434:     numerator <<= shift;
1434:     denominator.assign_pow10(exp10);
1434:     denominator <<= shift - value.e;
1434:     lower = 1;
1434:     if (is_predecessor_closer) {
1434:       upper_store = 1ULL << 1;
1434:       upper = &upper_store;
1434:     }
1434:   }
1434:   int even = static_cast<int>((value.f & 1) == 0);
1434:   if (!upper) upper = &lower;
1434:   if ((flags & dragon::fixup) != 0) {
1434:     if (add_compare(numerator, *upper, denominator) + even <= 0) {
1434:       --exp10;
1434:       numerator *= 10;
1434:       if (num_digits < 0) {
1434:         lower *= 10;
1434:         if (upper != &lower) *upper *= 10;
1434:       }
1434:     }
1434:     if ((flags & dragon::fixed) != 0) adjust_precision(num_digits, exp10 + 1);
1434:   }
1434: 
1434:   if (num_digits < 0) {
1434: 
1434:     num_digits = 0;
1434:     char* data = buf.data();
1434:     for (;;) {
1434:       int digit = numerator.divmod_assign(denominator);
1434:       bool low = compare(numerator, lower) - even < 0;
1434: 
1434:       bool high = add_compare(numerator, *upper, denominator) + even > 0;
1434:       data[num_digits++] = static_casonst char *__restrict __file, struct stat *__restrict __buf) noexcept (true) __asm__ ("" "lstat64")
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int lstat64 (const char *__restrict __file,
1115:       struct stat64 *__restrict __buf)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: # 352 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern int chmod (const char *__file, __mode_t __mode)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int lchmod (const char *__file, __mode_t __mode)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int fchmod (int __fd, __mode_t __mode) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fchmodat (int __fd, const char *__file, __mode_t __mode,
1115:        int __flag)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __mode_t umask (__mode_t __mask) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern __mode_t getumask (void) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int mkdir (const char *__path, __mode_t __mode)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mkdirat (int __fd, const char *__path, __mode_t __mode)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mknodat (int __fd, const char *__path, __mode_t __mode,
1115:       __dev_t __dev) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mkfifo (const char *__path, __mode_t __mode)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int utimensat (int __fd, const char *__path,
1115:         const struct timespec __times[2],
1115:         int __flags)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: # 452 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: extern int futimens (int __fd, const struct timespec __times[2]) noexcept (true);
1115: # 465 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 1 3 4
1115: # 31 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 3 4
1115: # 1 "/usr/include/linux/stat.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/linux/types.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/asm/types.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4
1115: # 12 "/usr/include/asm-generic/int-ll64.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 1 3 4
1115: # 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4
1115: # 2 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 2 3 4
1115: # 13 "/usr/include/asm-generic/int-ll64.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __signed__ char __s8;
1115: typedef unsigned char __u8;
1115: 
1115: typedef __signed__ short __s16;
1115: typedef unsigned short __u16;
1115: 
1115: typedef __signed__ int __s32;
1115: typedef unsigned int __u32;
1115: 
1115: 
1115: __extension__ typedef __signed__ long long __s64;
1115: __extension__ typedef unsigned long long __u64;
1115: # 6 "/usr/include/arm-linux-gnueabihf/asm/types.h" 2 3 4
1115: # 6 "/usr/include/linux/types.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/linux/posix_types.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/linux/stddef.h" 1 3 4
1115: # 6 "/usr/it<char>('0' + digit);
1434:       if (low || high) {
1434:         if (!low) {
1434:           ++data[num_digits - 1];
1434:         } else if (high) {
1434:           int result = add_compare(numerator, numerator, denominator);
1434: 
1434:           if (result > 0 || (result == 0 && (digit % 2) != 0))
1434:             ++data[num_digits - 1];
1434:         }
1434:         buf.try_resize(to_unsigned(num_digits));
1434:         exp10 -= num_digits - 1;
1434:         return;
1434:       }
1434:       numerator *= 10;
1434:       lower *= 10;
1434:       if (upper != &lower) *upper *= 10;
1434:     }
1434:   }
1434: 
1434:   exp10 -= num_digits - 1;
1434:   if (num_digits == 0) {
1434:     denominator *= 10;
1434:     auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
1434:     buf.push_back(digit);
1434:     return;
1434:   }
1434:   buf.try_resize(to_unsigned(num_digits));
1434:   for (int i = 0; i < num_digits - 1; ++i) {
1434:     int digit = numerator.divmod_assign(denominator);
1434:     buf[i] = static_cast<char>('0' + digit);
1434:     numerator *= 10;
1434:   }
1434:   int digit = numerator.divmod_assign(denominator);
1434:   auto result = add_compare(numerator, numerator, denominator);
1434:   if (result > 0 || (result == 0 && (digit % 2) != 0)) {
1434:     if (digit == 9) {
1434:       const auto overflow = '0' + 10;
1434:       buf[num_digits - 1] = overflow;
1434: 
1434:       for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) {
1434:         buf[i] = '0';
1434:         ++buf[i - 1];
1434:       }
1434:       if (buf[0] == overflow) {
1434:         buf[0] = '1';
1434:         ++exp10;
1434:       }
1434:       return;
1434:     }
1434:     ++digit;
1434:   }
1434:   buf[num_digits - 1] = static_cast<char>('0' + digit);
1434: }
1434: 
1434: template <typename Float>
1434:  auto format_float(Float value, int precision, float_specs specs,
1434:                                   buffer<char>& buf) -> int {
1434: 
1434:   static_assert(!std::is_same<Float, float>::value, "");
1434:   ::fmt::detail::ignore_unused((value >= 0), ("value is negative"));
1434:   auto converted_value = convert_float(value);
1434: 
1434:   const bool fixed = specs.format == float_format::fixed;
1434:   if (value <= 0) {
1434:     if (precision <= 0 || !fixed) {
1434:       buf.push_back('0');
1434:       return 0;
1434:     }
1434:     buf.try_resize(to_unsigned(precision));
1434:     fill_n(buf.data(), precision, '0');
1434:     return -precision;
1434:   }
1434: 
1434:   int exp = 0;
1434:   bool use_dragon = true;
1434:   unsigned dragon_flags = 0;
1434:   if (!is_fast_float<Float>()) {
1434:     const auto inv_log2_10 = 0.3010299956639812;
1434:     using info = dragonbox::float_info<decltype(converted_value)>;
1434:     const auto f = basic_fp<typename info::carrier_uint>(converted_value);
1434: 
1434: 
1434: 
1434: 
1434:     exp = static_cast<int>(
1434:         std::ceil((f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10));
1434:     dragon_flags = dragon::fixup;
1434:   } else if (!is_constant_evaluated() && precision < 0) {
1434: 
1434:     if (specs.binary32) {
1434:       auto dec = dragonbox::to_decimal(static_cast<float>(value));
1434:       write<char>(buffer_appender<char>(buf), dec.significand);
1434:       return dec.exponent;
1434:     }
1434:     auto dec = dragonbox::to_decimal(static_cast<double>(value));
1434:     write<char>(buffer_appender<char>(buf), dec.significand);
1434:     return dec.exponent;
1434:   } else {
1434: 
1434: 
1434:     const int min_exp = -60;
1434:     int cached_exp10 = 0;
1434:     fp normalized = normalize(fp(converted_value));
1434:     const auto cached_pow = get_cached_power(
1434:         min_exp - (normalized.e + fp::num_significand_bits), cached_exp10);
1434:     normalized = normalized * cached_pow;
1434:     gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed};
1434:     if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error &&
1434:         !is_constant_evaluated()) {
1434:       exp += handler.exp10;
14342:   std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1412:     {
1412:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1412:       typedef typename _Iter::difference_type difference_type;
1412: 
1412:       difference_type __len = __last - __first;
1412:       while (__len > 0)
1412:  {
1412:    difference_type __rlen = __result._M_cur - __result._M_first;
1412:    _Tp* __rend = __result._M_cur;
1412:    if (!__rlen)
1412:      {
1412:        __rlen = _Iter::_S_buffer_size();
1412:        __rend = *(__result._M_node - 1) + __rlen;
1412:      }
1412: 
1412:    const difference_type __clen = std::min(__len, __rlen);
1412:    std::__copy_move_backward_a1<_IsMove>(__last - __clen, __last, __rend);
1412: 
1412:    __last -= __clen;
1412:    __result -= __clen;
1412:    __len -= __clen;
1412:  }
1412: 
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1412:     bool
1412:     __equal_dit(
1412:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __first1,
1412:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __last1,
1412:  _II __first2)
1412:     {
1412:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1412:       if (__first1._M_node != __last1._M_node)
1412:  {
1412:    if (!std::__equal_aux1(__first1._M_cur, __first1._M_last, __first2))
1412:      return false;
1412: 
1412:    __first2 += __first1._M_last - __first1._M_cur;
1412:    for (typename _Iter::_Map_pointer __node = __first1._M_node + 1;
1412:         __node != __last1._M_node;
1412:         __first2 += _Iter::_S_buffer_size(), ++__node)
1412:      if (!std::__equal_aux1(*__node, *__node + _Iter::_S_buffer_size(),
1412:       __first2))
1412:        return false;
1412: 
1412:    return std::__equal_aux1(__last1._M_first, __last1._M_cur, __first2);
1412:  }
1412: 
1412:       return std::__equal_aux1(__first1._M_cur, __last1._M_cur, __first2);
1412:     }
1412: 
1412:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value, bool>::__type
1412:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first1,
1412:    std::_Deque_iterator<_Tp, _Ref, _Ptr> __last1,
1412:    _II __first2)
1412:     { return std::__equal_dit(__first1, __last1, __first2); }
1412: 
1412:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1412:     typename _Tp2, typename _Ref2, typename _Ptr2>
1412:     bool
1412:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1412:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1412:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2)
1412:     { return std::__equal_dit(__first1, __last1, __first2); }
1412: 
1412:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1412:     typename __gnu_cxx::__enable_if<
1412:       __is_random_access_iter<_II>::__value, bool>::__type
1412:     __equal_aux1(_II __first1, _II __last1,
1412:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first2)
1412:     {
1412:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1412:       typedef typename _Iter::difference_type difference_type;
1412: 
1412:       difference_type __len = __last1 - __first1;
1412:       while (__len > 0)
1412:  {
1412:    const difference_type __clen
1412:      = std::min(__len, __first2._M_last - __first2._M_cur);
1412:    if (!std::__equal_aux1(__first1, __first1 + __clen, __first2._M_cur))
1412:      return false;
1412: 
1412:    __first1 += __clen;
1412:    __len -= __clen;
1412:    __first2 += __clen;
1412:  }
1412: 
1412:       return true;
1412:     }
1412: 
1412:   template<typename _Tp1, typename _Ref, typename _Ptr, typename _Tp2>
1412:     int
1412:     __lex_cmp_dit(
1412:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __first1,
1412:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __last1,
1412:  const _Tp2* __first2, const _Tp2* __last2)
1412:     {
1412:       const bool __simple =
1412:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1412:   && __is_pointer<_Ptr>::__value
1412: 
1412: 
1412: 
1412: 
1412: 
1:       buf.try_resize(to_unsigned(handler.size));
1434:       use_dragon = false;
1434:     } else {
1434:       exp += handler.size - cached_exp10 - 1;
1434:       precision = handler.precision;
1434:     }
1434:   }
1434:   if (use_dragon) {
1434:     auto f = basic_fp<uint128_t>();
1434:     bool is_predecessor_closer = specs.binary32
1434:                                      ? f.assign(static_cast<float>(value))
1434:                                      : f.assign(converted_value);
1434:     if (is_predecessor_closer) dragon_flags |= dragon::predecessor_closer;
1434:     if (fixed) dragon_flags |= dragon::fixed;
1434: 
1434: 
1434:     const int max_double_digits = 767;
1434:     if (precision > max_double_digits) precision = max_double_digits;
1434:     format_dragon(f, dragon_flags, precision, buf, exp);
1434:   }
1434:   if (!fixed && !specs.showpoint) {
1434: 
1434:     auto num_digits = buf.size();
1434:     while (num_digits > 0 && buf[num_digits - 1] == '0') {
1434:       --num_digits;
1434:       ++exp;
1434:     }
1434:     buf.try_resize(num_digits);
1434:   }
1434:   return exp;
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(is_floating_point<T>::value), int> = 0>
1434:  auto write(OutputIt out, T value,
1434:                            basic_format_specs<Char> specs, locale_ref loc = {})
1434:     -> OutputIt {
1434:   if (const_check(!is_supported_floating_point(value))) return out;
1434:   float_specs fspecs = parse_float_type_spec(specs);
1434:   fspecs.sign = specs.sign;
1434:   if (detail::signbit(value)) {
1434:     fspecs.sign = sign::minus;
1434:     value = -value;
1434:   } else if (fspecs.sign == sign::minus) {
1434:     fspecs.sign = sign::none;
1434:   }
1434: 
1434:   if (!detail::isfinite(value))
1434:     return write_nonfinite(out, detail::isnan(value), specs, fspecs);
1434: 
1434:   if (specs.align == align::numeric && fspecs.sign) {
1434:     auto it = reserve(out, 1);
1434:     *it++ = detail::sign<Char>(fspecs.sign);
1434:     out = base_iterator(out, it);
1434:     fspecs.sign = sign::none;
1434:     if (specs.width != 0) --specs.width;
1434:   }
1434: 
1434:   memory_buffer buffer;
1434:   if (fspecs.format == float_format::hex) {
1434:     if (fspecs.sign) buffer.push_back(detail::sign<char>(fspecs.sign));
1434:     snprintf_float(convert_float(value), specs.precision, fspecs, buffer);
1434:     return write_bytes<align::right>(out, {buffer.data(), buffer.size()},
1434:                                      specs);
1434:   }
1434:   int precision = specs.precision >= 0 || specs.type == presentation_type::none
1434:                       ? specs.precision
1434:                       : 6;
1434:   if (fspecs.format == float_format::exp) {
1434:     if (precision == max_value<int>())
1434:       throw_format_error("number is too big");
1434:     else
1434:       ++precision;
1434:   } else if (fspecs.format != float_format::fixed && precision == 0) {
1434:     precision = 1;
1434:   }
1434:   if (const_check(std::is_same<T, float>())) fspecs.binary32 = true;
1434:   int exp = format_float(convert_float(value), precision, fspecs, buffer);
1434:   fspecs.precision = precision;
1434:   auto f = big_decimal_fp{buffer.data(), static_cast<int>(buffer.size()), exp};
1434:   return write_float(out, f, specs, fspecs, loc);
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(is_fast_float<T>::value), int> = 0>
1434:  auto write(OutputIt out, T value) -> OutputIt {
1434:   if (is_constant_evaluated())
1434:     return write(out, value, basic_format_specs<Char>());
1434:   if (const_check(!is_supported_floating_point(value))) return out;
1434: 
1434:   auto fspecs = float_specs();
1434:   if (detail::signbit(value)) {
1434:     fspecs.sign = sign::minus;
1434:     value = -value;
1434:   }
1434: 
1434:   constexpr auto specs = basic_format_specs<Char>();
1434:   using floaty = conditional_t<std::is_same<T, long double>::value, double, T>;
1434:   using uint = typename dragonbox::floatnclude/linux/posix_types.h" 2 3 4
1115: # 25 "/usr/include/linux/posix_types.h" 3 4
1115: typedef struct {
1115:  unsigned long fds_bits[1024 / (8 * sizeof(long))];
1115: } __kernel_fd_set;
1115: 
1115: 
1115: typedef void (*__kernel_sighandler_t)(int);
1115: 
1115: 
1115: typedef int __kernel_key_t;
1115: typedef int __kernel_mqd_t;
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 3 4
1115: typedef unsigned short __kernel_mode_t;
1115: 
1115: 
1115: typedef unsigned short __kernel_ipc_pid_t;
1115: 
1115: 
1115: typedef unsigned short __kernel_uid_t;
1115: typedef unsigned short __kernel_gid_t;
1115: 
1115: 
1115: typedef unsigned short __kernel_old_dev_t;
1115: 
1115: 
1115: # 1 "/usr/include/asm-generic/posix_types.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 1 3 4
1115: # 6 "/usr/include/asm-generic/posix_types.h" 2 3 4
1115: # 15 "/usr/include/asm-generic/posix_types.h" 3 4
1115: typedef long __kernel_long_t;
1115: typedef unsigned long __kernel_ulong_t;
1115: 
1115: 
1115: 
1115: typedef __kernel_ulong_t __kernel_ino_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef int __kernel_pid_t;
1115: # 41 "/usr/include/asm-generic/posix_types.h" 3 4
1115: typedef __kernel_long_t __kernel_suseconds_t;
1115: 
1115: 
1115: 
1115: typedef int __kernel_daddr_t;
1115: 
1115: 
1115: 
1115: typedef unsigned int __kernel_uid32_t;
1115: typedef unsigned int __kernel_gid32_t;
1115: 
1115: 
1115: 
1115: typedef __kernel_uid_t __kernel_old_uid_t;
1115: typedef __kernel_gid_t __kernel_old_gid_t;
1115: # 68 "/usr/include/asm-generic/posix_types.h" 3 4
1115: typedef unsigned int __kernel_size_t;
1115: typedef int __kernel_ssize_t;
1115: typedef int __kernel_ptrdiff_t;
1115: # 79 "/usr/include/asm-generic/posix_types.h" 3 4
1115: typedef struct {
1115:  int val[2];
1115: } __kernel_fsid_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef __kernel_long_t __kernel_off_t;
1115: typedef long long __kernel_loff_t;
1115: typedef __kernel_long_t __kernel_old_time_t;
1115: typedef __kernel_long_t __kernel_time_t;
1115: typedef long long __kernel_time64_t;
1115: typedef __kernel_long_t __kernel_clock_t;
1115: typedef int __kernel_timer_t;
1115: typedef int __kernel_clockid_t;
1115: typedef char * __kernel_caddr_t;
1115: typedef unsigned short __kernel_uid16_t;
1115: typedef unsigned short __kernel_gid16_t;
1115: # 37 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 2 3 4
1115: # 37 "/usr/include/linux/posix_types.h" 2 3 4
1115: # 10 "/usr/include/linux/types.h" 2 3 4
1115: # 27 "/usr/include/linux/types.h" 3 4
1115: typedef __u16 __le16;
1115: typedef __u16 __be16;
1115: typedef __u32 __le32;
1115: typedef __u32 __be32;
1115: typedef __u64 __le64;
1115: typedef __u64 __be64;
1115: 
1115: typedef __u16 __sum16;
1115: typedef __u32 __wsum;
1115: # 50 "/usr/include/linux/types.h" 3 4
1115: typedef unsigned __poll_t;
1115: # 6 "/usr/include/linux/stat.h" 2 3 4
1115: # 56 "/usr/include/linux/stat.h" 3 4
1115: struct statx_timestamp {
1115:  __s64 tv_sec;
1115:  __u32 tv_nsec;
1115:  __s32 __reserved;
1115: };
1115: # 99 "/usr/include/linux/stat.h" 3 4
1115: struct statx {
1115: 
1115:  __u32 stx_mask;
1115:  __u32 stx_blksize;
1115:  __u64 stx_attributes;
1115: 
1115:  __u32 stx_nlink;
1115:  __u32 stx_uid;
1115:  __u32 stx_gid;
1115:  __u16 stx_mode;
1115:  __u16 __spare0[1];
1115: 
1115:  __u64 stx_ino;
1115:  __u64 stx_size;
1115:  __u64 stx_blocks;
1115:  __u64 stx_attributes_mask;
1115: 
1115:  struct statx_timestamp stx_atime;
1115:  struct statx_timestamp stx_btime;
1115:  struct statx_timestamp stx_ctime;
1115:  struct statx_timestamp stx_mtime;
1115: 
1115:  __u32 stx_rdev_major;
1115:  __u32 stx_rdev_minor;
1115:  __u32 stx_dev_major;
1115:  __u32 stx_dev_minor;
1115: 
1115:  __u64 stx_mnt_id;
1115:  __u64 __spare2;
1115: 
1115:  __u64 __spare3[12];
1115: 
1115: };
1115: # 32 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:_info<floaty>::carrier_uint;
1434:   uint mask = exponent_mask<floaty>();
1434:   if ((bit_cast<uint>(value) & mask) == mask)
1434:     return write_nonfinite(out, std::isnan(value), specs, fspecs);
1434: 
1434:   auto dec = dragonbox::to_decimal(static_cast<floaty>(value));
1434:   return write_float(out, dec, specs, fspecs, {});
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(is_floating_point<T>::value && !is_fast_float<T>::value), int> = 0
1434:                                                  >
1434: inline auto write(OutputIt out, T value) -> OutputIt {
1434:   return write(out, value, basic_format_specs<Char>());
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: auto write(OutputIt out, monostate, basic_format_specs<Char> = {},
1434:            locale_ref = {}) -> OutputIt {
1434:   ::fmt::detail::ignore_unused((false), (""));
1434:   return out;
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write(OutputIt out, basic_string_view<Char> value)
1434:     -> OutputIt {
1434:   auto it = reserve(out, value.size());
1434:   it = copy_str_noinline<Char>(value.begin(), value.end(), it);
1434:   return base_iterator(out, it);
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(is_string<T>::value), int> = 0>
1434: constexpr auto write(OutputIt out, const T& value) -> OutputIt {
1434:   return write<Char>(out, to_string_view(value));
1434: }
1434: 
1434: 
1434: template <
1434:     typename Char, typename OutputIt, typename T,
1434:     bool check =
1434:         std::is_enum<T>::value && !std::is_same<T, Char>::value &&
1434:         mapped_type_constant<T, basic_format_context<OutputIt, Char>>::value !=
1434:             type::custom_type,
1434:     enable_if_t<(check), int> = 0>
1434: constexpr auto write(OutputIt out, T value) -> OutputIt {
1434:   return write<Char>(out, static_cast<underlying_t<T>>(value));
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(std::is_same<T, bool>::value), int> = 0>
1434: constexpr auto write(OutputIt out, T value,
1434:                          const basic_format_specs<Char>& specs = {},
1434:                          locale_ref = {}) -> OutputIt {
1434:   return specs.type != presentation_type::none &&
1434:                  specs.type != presentation_type::string
1434:              ? write(out, value ? 1 : 0, specs, {})
1434:              : write_bytes(out, value ? "true" : "false", specs);
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write(OutputIt out, Char value) -> OutputIt {
1434:   auto it = reserve(out, 1);
1434:   *it++ = value;
1434:   return base_iterator(out, it);
1434: }
1434: 
1434: template <typename Char, typename OutputIt>
1434: constexpr auto write(OutputIt out, const Char* value)
1434:     -> OutputIt {
1434:   if (!value) {
1434:     throw_format_error("string pointer is null");
1434:   } else {
1434:     out = write(out, basic_string_view<Char>(value));
1434:   }
1434:   return out;
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           enable_if_t<(std::is_same<T, void>::value), int> = 0>
1434: auto write(OutputIt out, const T* value,
1434:            const basic_format_specs<Char>& specs = {}, locale_ref = {})
1434:     -> OutputIt {
1434:   check_pointer_type_spec(specs.type, error_handler());
1434:   return write_ptr<Char>(out, bit_cast<uintptr_t>(value), &specs);
1434: }
1434: 
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           typename Context = basic_format_context<OutputIt, Char>>
1434: constexpr auto write(OutputIt out, const T& value) -> enable_if_t<
1434:     std::is_class<T>::value && !is_string<T>::value &&
1434:         !is_floating_point<T>::value && !std::is_same<T, Char>::value &&
1434:         !std::is_same<const T&,
1434:                       decltype(arg_mapper<Context>().map(value))>::value,
1434:     Output412: 
1412: 
1412:   );
1412:       typedef std::__lexicographical_compare<__simple> _Lc;
1412: 
1412:       while (__first1._M_node != __last1._M_node)
1412:  {
1412:    const ptrdiff_t __len1 = __first1._M_last - __first1._M_cur;
1412:    const ptrdiff_t __len2 = __last2 - __first2;
1412:    const ptrdiff_t __len = std::min(__len1, __len2);
1412: 
1412:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_last,
1412:           __first2, __first2 + __len))
1412:      return __ret;
1412: 
1412:    __first1 += __len;
1412:    __first2 += __len;
1412:  }
1412:       return _Lc::__3way(__first1._M_cur, __last1._M_cur,
1412:     __first2, __last2);
1412:     }
1412: 
1412:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1412:     typename _Tp2>
1412:     inline bool
1412:     __lexicographical_compare_aux1(
1412:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1412:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1412:  _Tp2* __first2, _Tp2* __last2)
1412:     { return std::__lex_cmp_dit(__first1, __last1, __first2, __last2) < 0; }
1412: 
1412:   template<typename _Tp1,
1412:     typename _Tp2, typename _Ref2, typename _Ptr2>
1412:     inline bool
1412:     __lexicographical_compare_aux1(_Tp1* __first1, _Tp1* __last1,
1412:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1412:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1412:     { return std::__lex_cmp_dit(__first2, __last2, __first1, __last1) > 0; }
1412: 
1412:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1412:     typename _Tp2, typename _Ref2, typename _Ptr2>
1412:     inline bool
1412:     __lexicographical_compare_aux1(
1412:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1412:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1412:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1412:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1412:     {
1412:       const bool __simple =
1412:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1412:   && __is_pointer<_Ptr1>::__value
1412:   && __is_pointer<_Ptr2>::__value
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   );
1412:       typedef std::__lexicographical_compare<__simple> _Lc;
1412: 
1412:       while (__first1 != __last1)
1412:  {
1412:    const ptrdiff_t __len2 = __first2._M_node == __last2._M_node
1412:      ? __last2._M_cur - __first2._M_cur
1412:      : __first2._M_last - __first2._M_cur;
1412:    if (__len2 == 0)
1412:      return false;
1412:    const ptrdiff_t __len1 = __first1._M_node == __last1._M_node
1412:      ? __last1._M_cur - __first1._M_cur
1412:      : __first1._M_last - __first1._M_cur;
1412:    const ptrdiff_t __len = std::min(__len1, __len2);
1412:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_cur + __len,
1412:           __first2._M_cur, __first2._M_cur + __len))
1412:      return __ret < 0;
1412: 
1412:    __first1 += __len;
1412:    __first2 += __len;
1412:  }
1412: 
1412:       return __last2 != __first2;
1412:     }
1412: 
1412: 
1412: }
1412: # 68 "/usr/include/c++/12/deque" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412:   namespace pmr
1412:   {
1412:     template<typename _Tp> class polymorphic_allocator;
1412:     template<typename _Tp>
1412:       using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>;
1412:   }
1412: 
1412: }
1412: # 61 "/usr/include/c++/12/stack" 2 3
1412: # 1 "/usr/include/c++/12/bits/stl_stack.h" 1 3
1412: # 65 "/usr/include/c++/12/bits/stl_stack.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 98 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:   template<typename _Tp, typename _Sequence = deque<_Tp> >
1412:     class stack
1412:     {
1412: # 111 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:       template<typename _Tp1, typename _Seq1>
1412:  friend bool
1412:  operator==(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
1412: 
1412:       template<typename _Tp1, typename _Seq1>
1412:  friend bool
1412:  operator<(const stack<_Tp1, _Seq1>&, const It> {
1434:   return write<Char>(out, arg_mapper<Context>().map(value));
1434: }
1434: 
1434: template <typename Char, typename OutputIt, typename T,
1434:           typename Context = basic_format_context<OutputIt, Char>>
1434: constexpr auto write(OutputIt out, const T& value)
1434:     -> enable_if_t<mapped_type_constant<T, Context>::value == type::custom_type,
1434:                    OutputIt> {
1434:   using formatter_type =
1434:       conditional_t<has_formatter<T, Context>::value,
1434:                     typename Context::template formatter_type<T>,
1434:                     fallback_formatter<T, Char>>;
1434:   auto ctx = Context(out, {}, {});
1434:   return formatter_type().format(value, ctx);
1434: }
1434: 
1434: 
1434: 
1434: template <typename Char> struct default_arg_formatter {
1434:   using iterator = buffer_appender<Char>;
1434:   using context = buffer_context<Char>;
1434: 
1434:   iterator out;
1434:   basic_format_args<context> args;
1434:   locale_ref loc;
1434: 
1434:   template <typename T> auto operator()(T value) -> iterator {
1434:     return write<Char>(out, value);
1434:   }
1434:   auto operator()(typename basic_format_arg<context>::handle h) -> iterator {
1434:     basic_format_parse_context<Char> parse_ctx({});
1434:     context format_ctx(out, args, loc);
1434:     h.format(parse_ctx, format_ctx);
1434:     return format_ctx.out();
1434:   }
1434: };
1434: 
1434: template <typename Char> struct arg_formatter {
1434:   using iterator = buffer_appender<Char>;
1434:   using context = buffer_context<Char>;
1434: 
1434:   iterator out;
1434:   const basic_format_specs<Char>& specs;
1434:   locale_ref locale;
1434: 
1434:   template <typename T>
1434:   constexpr inline __attribute__((always_inline)) auto operator()(T value) -> iterator {
1434:     return detail::write(out, value, specs, locale);
1434:   }
1434:   auto operator()(typename basic_format_arg<context>::handle) -> iterator {
1434: 
1434: 
1434:     return out;
1434:   }
1434: };
1434: 
1434: template <typename Char> struct custom_formatter {
1434:   basic_format_parse_context<Char>& parse_ctx;
1434:   buffer_context<Char>& ctx;
1434: 
1434:   void operator()(
1434:       typename basic_format_arg<buffer_context<Char>>::handle h) const {
1434:     h.format(parse_ctx, ctx);
1434:   }
1434:   template <typename T> void operator()(T) const {}
1434: };
1434: 
1434: template <typename T>
1434: using is_integer =
1434:     bool_constant<is_integral<T>::value && !std::is_same<T, bool>::value &&
1434:                   !std::is_same<T, char>::value &&
1434:                   !std::is_same<T, wchar_t>::value>;
1434: 
1434: template <typename ErrorHandler> class width_checker {
1434:  public:
1434:   explicit constexpr width_checker(ErrorHandler& eh) : handler_(eh) {}
1434: 
1434:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
1434:   constexpr auto operator()(T value) -> unsigned long long {
1434:     if (is_negative(value)) handler_.on_error("negative width");
1434:     return static_cast<unsigned long long>(value);
1434:   }
1434: 
1434:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1434:   constexpr auto operator()(T) -> unsigned long long {
1434:     handler_.on_error("width is not integer");
1434:     return 0;
1434:   }
1434: 
1434:  private:
1434:   ErrorHandler& handler_;
1434: };
1434: 
1434: template <typename ErrorHandler> class precision_checker {
1434:  public:
1434:   explicit constexpr precision_checker(ErrorHandler& eh) : handler_(eh) {}
1434: 
1434:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
1434:   constexpr auto operator()(T value) -> unsigned long long {
1434:     if (is_negative(value)) handler_.on_error("negative precision");
1434:     return static_cast<unsigned long long>(value);
1434:   }
1434: 
1434:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1434:   constexpr auto operator()(T) -> unsigned long long {
1434:     handler_.on_error("precision is not integer");
1434:     return 0;
1434:   }
1434: 
1434:  private:
143 # 1 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 1 3 4
1115: # 25 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_statx_timestamp.h" 1 3 4
1115: # 26 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_statx.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 2 3 4
1115: # 57 "/usr/include/arm-linux-gnueabihf/bits/statx-generic.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: int statx (int __dirfd, const char *__restrict __path, int __flags,
1115:            unsigned int __mask, struct statx *__restrict __buf)
1115:   noexcept (true) __attribute__ ((__nonnull__ (2, 5)));
1115: 
1115: }
1115: # 40 "/usr/include/arm-linux-gnueabihf/bits/statx.h" 2 3 4
1115: # 466 "/usr/include/arm-linux-gnueabihf/sys/stat.h" 2 3 4
1115: 
1115: 
1115: }
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1115: # 1 "/usr/include/fcntl.h" 1 3 4
1115: # 28 "/usr/include/fcntl.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/fcntl.h" 1 3 4
1115: # 28 "/usr/include/arm-linux-gnueabihf/bits/fcntl.h" 3 4
1115: struct flock
1115:   {
1115:     short int l_type;
1115:     short int l_whence;
1115: 
1115: 
1115: 
1115: 
1115:     __off64_t l_start;
1115:     __off64_t l_len;
1115: 
1115:     __pid_t l_pid;
1115:   };
1115: 
1115: 
1115: struct flock64
1115:   {
1115:     short int l_type;
1115:     short int l_whence;
1115:     __off64_t l_start;
1115:     __off64_t l_len;
1115:     __pid_t l_pid;
1115:   };
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 1 3 4
1115: # 38 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/types/struct_iovec.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/types/struct_iovec.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/types/struct_iovec.h" 2 3 4
1115: 
1115: 
1115: struct iovec
1115:   {
1115:     void *iov_base;
1115:     size_t iov_len;
1115:   };
1115: # 39 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 2 3 4
1115: # 265 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1115: enum __pid_type
1115:   {
1115:     F_OWNER_TID = 0,
1115:     F_OWNER_PID,
1115:     F_OWNER_PGRP,
1115:     F_OWNER_GID = F_OWNER_PGRP
1115:   };
1115: 
1115: 
1115: struct f_owner_ex
1115:   {
1115:     enum __pid_type type;
1115:     __pid_t pid;
1115:   };
1115: # 354 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1115: # 1 "/usr/include/linux/falloc.h" 1 3 4
1115: # 355 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 2 3 4
1115: 
1115: 
1115: 
1115: struct file_handle
1115: {
1115:   unsigned int handle_bytes;
1115:   int handle_type;
1115: 
1115:   unsigned char f_handle[0];
1115: };
1115: # 393 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
1115:     noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
1115:        unsigned int __flags);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov,
1115:       size_t __count, unsigned int __flags);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
1115:     __off64_t *__offout, size_t __len,
1115:     unsigned int __flags);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __ssize_t tee (int __fdin, int __fdout, size_t __len,
1115:         unsigned int __flags);
1115: # 440 "/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h" 3 4
1115: extern int fallocate (int __fd, int __mode, __off64_t __offset, __off64_t __len) __asm__ ("" "fallocate64")
1115: 
1115:         4:   ErrorHandler& handler_;
1434: };
1434: 
1434: template <template <typename> class Handler, typename FormatArg,
1434:           typename ErrorHandler>
1434: constexpr auto get_dynamic_spec(FormatArg arg, ErrorHandler eh) -> int {
1434:   unsigned long long value = visit_format_arg(Handler<ErrorHandler>(eh), arg);
1434:   if (value > to_unsigned(max_value<int>())) eh.on_error("number is too big");
1434:   return static_cast<int>(value);
1434: }
1434: 
1434: template <typename Context, typename ID>
1434: constexpr auto get_arg(Context& ctx, ID id) ->
1434:     typename Context::format_arg {
1434:   auto arg = ctx.arg(id);
1434:   if (!arg) ctx.on_error("argument not found");
1434:   return arg;
1434: }
1434: 
1434: 
1434: template <typename Char> class specs_handler : public specs_setter<Char> {
1434:  private:
1434:   basic_format_parse_context<Char>& parse_context_;
1434:   buffer_context<Char>& context_;
1434: 
1434: 
1434:   using format_arg = basic_format_arg<buffer_context<Char>>;
1434: 
1434:   constexpr auto get_arg(auto_id) -> format_arg {
1434:     return detail::get_arg(context_, parse_context_.next_arg_id());
1434:   }
1434: 
1434:   constexpr auto get_arg(int arg_id) -> format_arg {
1434:     parse_context_.check_arg_id(arg_id);
1434:     return detail::get_arg(context_, arg_id);
1434:   }
1434: 
1434:   constexpr auto get_arg(basic_string_view<Char> arg_id) -> format_arg {
1434:     parse_context_.check_arg_id(arg_id);
1434:     return detail::get_arg(context_, arg_id);
1434:   }
1434: 
1434:  public:
1434:   constexpr specs_handler(basic_format_specs<Char>& specs,
1434:                               basic_format_parse_context<Char>& parse_ctx,
1434:                               buffer_context<Char>& ctx)
1434:       : specs_setter<Char>(specs), parse_context_(parse_ctx), context_(ctx) {}
1434: 
1434:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1434:     this->specs_.width = get_dynamic_spec<width_checker>(
1434:         get_arg(arg_id), context_.error_handler());
1434:   }
1434: 
1434:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1434:     this->specs_.precision = get_dynamic_spec<precision_checker>(
1434:         get_arg(arg_id), context_.error_handler());
1434:   }
1434: 
1434:   void on_error(const char* message) { context_.on_error(message); }
1434: };
1434: 
1434: template <template <typename> class Handler, typename Context>
1434: constexpr void handle_dynamic_spec(int& value,
1434:                                        arg_ref<typename Context::char_type> ref,
1434:                                        Context& ctx) {
1434:   switch (ref.kind) {
1434:   case arg_id_kind::none:
1434:     break;
1434:   case arg_id_kind::index:
1434:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.index),
1434:                                               ctx.error_handler());
1434:     break;
1434:   case arg_id_kind::name:
1434:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.name),
1434:                                               ctx.error_handler());
1434:     break;
1434:   }
1434: }
1434: 
1434: 
1434: template <typename Char> struct udl_formatter {
1434:   basic_string_view<Char> str;
1434: 
1434:   template <typename... T>
1434:   auto operator()(T&&... args) const -> std::basic_string<Char> {
1434:     return vformat(str, fmt::make_format_args<buffer_context<Char>>(args...));
1434:   }
1434: };
1434: # 3573 "/usr/include/fmt/format.h" 3 4
1434: template <typename Char> struct udl_arg {
1434:   const Char* str;
1434: 
1434:   template <typename T> auto operator=(T&& value) const -> named_arg<Char, T> {
1434:     return {str, std::forward<T>(value)};
1434:   }
1434: };
1434: 
1434: 
1434: 
1434: template <typename Locale, typename Char>
1434: auto vformat(const Locale& loc, basic_string_view<Char> format_str,
1434:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
1434:     -> std::basic_string<Char> {
1434:   basic_memory_buffer<Char> buffer;
1434:   detail::vformat_to(buffer, format_str, argsstack<_Tp1, _Seq1>&);
1412: # 126 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:       template<typename _Alloc>
1412:  using _Uses = typename
1412:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1412:    "value_type must be the same as the underlying container");
1412: 
1412: 
1412: 
1412:     public:
1412:       typedef typename _Sequence::value_type value_type;
1412:       typedef typename _Sequence::reference reference;
1412:       typedef typename _Sequence::const_reference const_reference;
1412:       typedef typename _Sequence::size_type size_type;
1412:       typedef _Sequence container_type;
1412: 
1412:     protected:
1412: 
1412:       _Sequence c;
1412: 
1412:     public:
1412: # 160 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:       template<typename _Seq = _Sequence, typename _Requires = typename
1412:         enable_if<is_default_constructible<_Seq>::value>::type>
1412:  stack()
1412:  : c() { }
1412: 
1412:       explicit
1412:       stack(const _Sequence& __c)
1412:       : c(__c) { }
1412: 
1412:       explicit
1412:       stack(_Sequence&& __c)
1412:       : c(std::move(__c)) { }
1412: # 183 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1412:  explicit
1412:  stack(const _Alloc& __a)
1412:  : c(__a) { }
1412: 
1412:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1412:  stack(const _Sequence& __c, const _Alloc& __a)
1412:  : c(__c, __a) { }
1412: 
1412:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1412:  stack(_Sequence&& __c, const _Alloc& __a)
1412:  : c(std::move(__c), __a) { }
1412: 
1412:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1412:  stack(const stack& __q, const _Alloc& __a)
1412:  : c(__q.c, __a) { }
1412: 
1412:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1412:  stack(stack&& __q, const _Alloc& __a)
1412:  : c(std::move(__q.c), __a) { }
1412: # 216 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:       [[__nodiscard__]] bool
1412:       empty() const
1412:       { return c.empty(); }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       size_type
1412:       size() const
1412:       { return c.size(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       reference
1412:       top()
1412:       {
1412:  ;
1412:  return c.back();
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const_reference
1412:       top() const
1412:       {
1412:  ;
1412:  return c.back();
1412:       }
1412: # 259 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:       void
1412:       push(const value_type& __x)
1412:       { c.push_back(__x); }
1412: 
1412: 
1412:       void
1412:       push(value_type&& __x)
1412:       { c.push_back(std::move(__x)); }
1412: 
1412: 
1412:       template<typename... _Args>
1412:  decltype(auto)
1412:  emplace(_Args&&... __args)
1412:  { return c.emplace_back(std::forward<_Args>(__args)...); }
1412: # 292 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:       void
1412:       pop()
1412:       {
1412:  ;
1412:  c.pop_back();
1412:       }
1412: 
1412: 
1412:       void
1412:       swap(stack& __s)
1412: 
1412:       noexcept(__is_nothrow_swappable<_Sequence>::value)
1412: 
1412: 
1412: 
1412:       {
1412:  using std::swap;
1412:  swap(c, __s.c);
1412:       }
1412: 
1412:     };
1412: 
1412: 
1412:   template<typename _Container,
1412:     typename = _RequireNotAllocator<_Container>>
1412:     stack(_Container) -> stack<typename _Container::value_type, _Container>;
1412: 
1412:   template<typename _Container, typename _Allocator,
1412:     typename = _RequireNotAllocator<_Container>>
1412:     stack(_Container, _Allocator)
1412:     -> stack<typename _Container::value_type, _Container>;
1412: # 353 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:   template<typename _Tp, typename _Seq>
1412:     [[__nodiscard__]]
1412:     inline bool
14, detail::locale_ref(loc));
1434:   return {buffer.data(), buffer.size()};
1434: }
1434: 
1434: using format_func = void (*)(detail::buffer<char>&, int, const char*);
1434: 
1434:  void format_error_code(buffer<char>& out, int error_code,
1434:                                string_view message) noexcept;
1434: 
1434:  void report_error(format_func func, int error_code,
1434:                           const char* message) noexcept;
1434: }
1434: 
1434:  auto vsystem_error(int error_code, string_view format_str,
1434:                            format_args args) -> std::system_error;
1434: # 3621 "/usr/include/fmt/format.h" 3 4
1434: template <typename... T>
1434: auto system_error(int error_code, format_string<T...> fmt, T&&... args)
1434:     -> std::system_error {
1434:   return vsystem_error(error_code, fmt, fmt::make_format_args(args...));
1434: }
1434: # 3643 "/usr/include/fmt/format.h" 3 4
1434:  void format_system_error(detail::buffer<char>& out, int error_code,
1434:                                  const char* message) noexcept;
1434: 
1434: 
1434: 
1434:  void report_system_error(int error_code, const char* message) noexcept;
1434: 
1434: 
1434: class format_int {
1434:  private:
1434: 
1434: 
1434:   enum { buffer_size = std::numeric_limits<unsigned long long>::digits10 + 3 };
1434:   mutable char buffer_[buffer_size];
1434:   char* str_;
1434: 
1434:   template <typename UInt> auto format_unsigned(UInt value) -> char* {
1434:     auto n = static_cast<detail::uint32_or_64_or_128_t<UInt>>(value);
1434:     return detail::format_decimal(buffer_, n, buffer_size - 1).begin;
1434:   }
1434: 
1434:   template <typename Int> auto format_signed(Int value) -> char* {
1434:     auto abs_value = static_cast<detail::uint32_or_64_or_128_t<Int>>(value);
1434:     bool negative = value < 0;
1434:     if (negative) abs_value = 0 - abs_value;
1434:     auto begin = format_unsigned(abs_value);
1434:     if (negative) *--begin = '-';
1434:     return begin;
1434:   }
1434: 
1434:  public:
1434:   explicit format_int(int value) : str_(format_signed(value)) {}
1434:   explicit format_int(long value) : str_(format_signed(value)) {}
1434:   explicit format_int(long long value) : str_(format_signed(value)) {}
1434:   explicit format_int(unsigned value) : str_(format_unsigned(value)) {}
1434:   explicit format_int(unsigned long value) : str_(format_unsigned(value)) {}
1434:   explicit format_int(unsigned long long value)
1434:       : str_(format_unsigned(value)) {}
1434: 
1434: 
1434:   auto size() const -> size_t {
1434:     return detail::to_unsigned(buffer_ - str_ + buffer_size - 1);
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   auto data() const -> const char* { return str_; }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   auto c_str() const -> const char* {
1434:     buffer_[buffer_size - 1] = '\0';
1434:     return str_;
1434:   }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   auto str() const -> std::string { return std::string(str_, size()); }
1434: };
1434: 
1434: template <typename T, typename Char>
1434: template <typename FormatContext>
1434: constexpr inline __attribute__((always_inline)) auto
1434: formatter<T, Char,
1434:           enable_if_t<detail::type_constant<T, Char>::value !=
1434:                       detail::type::custom_type>>::format(const T& val,
1434:                                                           FormatContext& ctx)
1434:     const -> decltype(ctx.out()) {
1434:   if (specs_.width_ref.kind != detail::arg_id_kind::none ||
1434:       specs_.precision_ref.kind != detail::arg_id_kind::none) {
1434:     auto specs = specs_;
1434:     detail::handle_dynamic_spec<detail::width_checker>(specs.width,
1434:                                                        specs.width_ref, ctx);
1434:     detail::handle_dynamic_spec<detail::precision_checker>(
1434:         specs.precision, specs.precision_ref, ctx);
1434:     return detail::write<Char>(ctx.out(), val, specs, ctx.locale());
1434:   }
1434:   return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1434: }
1434: 
1434: template <typ             ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
1115:    __off64_t __len);
1115: 
1115: 
1115: 
1115: 
1115: extern int name_to_handle_at (int __dfd, const char *__name,
1115:          struct file_handle *__handle, int *__mnt_id,
1115:          int __flags) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
1115:          int __flags);
1115: 
1115: 
1115: 
1115: }
1115: # 55 "/usr/include/arm-linux-gnueabihf/bits/fcntl.h" 2 3 4
1115: # 36 "/usr/include/fcntl.h" 2 3 4
1115: # 78 "/usr/include/fcntl.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/stat.h" 1 3 4
1115: # 79 "/usr/include/fcntl.h" 2 3 4
1115: # 152 "/usr/include/fcntl.h" 3 4
1115: extern int fcntl (int __fd, int __cmd, ...) __asm__ ("" "fcntl64");
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fcntl64 (int __fd, int __cmd, ...);
1115: # 184 "/usr/include/fcntl.h" 3 4
1115: extern int open (const char *__file, int __oflag, ...) __asm__ ("" "open64")
1115:      __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int open64 (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
1115: # 209 "/usr/include/fcntl.h" 3 4
1115: extern int openat (int __fd, const char *__file, int __oflag, ...) __asm__ ("" "openat64")
1115:                     __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int openat64 (int __fd, const char *__file, int __oflag, ...)
1115:      __attribute__ ((__nonnull__ (2)));
1115: # 230 "/usr/include/fcntl.h" 3 4
1115: extern int creat (const char *__file, mode_t __mode) __asm__ ("" "creat64")
1115:                   __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int creat64 (const char *__file, mode_t __mode) __attribute__ ((__nonnull__ (1)));
1115: # 259 "/usr/include/fcntl.h" 3 4
1115: extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64");
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int lockf64 (int __fd, int __cmd, off64_t __len);
1115: # 277 "/usr/include/fcntl.h" 3 4
1115: extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) noexcept (true) __asm__ ("" "posix_fadvise64")
1115: 
1115:                       ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len,
1115:        int __advise) noexcept (true);
1115: # 298 "/usr/include/fcntl.h" 3 4
1115: extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64")
1115: 
1115:                            ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/fcntl2.h" 1 3 4
1115: # 30 "/usr/include/arm-linux-gnueabihf/bits/fcntl2.h" 3 4
1115: extern int __open_2 (const char *__path, int __oflag) __asm__ ("" "__open64_2")
1115:                      __attribute__ ((__nonnull__ (1)));
1115: extern int __open_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64")
1115:                  __attribute__ ((__nonnull__ (1)));
1115: 
1115: extern void __open_too_many_args (void) __attribute__((__error__ ("open can be called either with 2 or 3 arguments, not more")))
1115:                                                                   ;
1115: extern void __open_missing_mode (void) __attribute__((__error__ ("open with O_CREAT or O_TMPFILE in second argument needs 3 arguments")))
1115:                                                                             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: open (const char *__path, int __oflag, ...)
1115: {
1115:   if (__builtin_va_arg_pack_len () > 1)
1115:     __open_too_many_args ();
1115: 
1115:   if (__builtin_constant_p (__oflag))
1115:    ename Char>
1434: struct formatter<void*, Char> : formatter<const void*, Char> {
1434:   template <typename FormatContext>
1434:   auto format(void* val, FormatContext& ctx) const -> decltype(ctx.out()) {
1434:     return formatter<const void*, Char>::format(val, ctx);
1434:   }
1434: };
1434: 
1434: template <typename Char, size_t N>
1434: struct formatter<Char[N], Char> : formatter<basic_string_view<Char>, Char> {
1434:   template <typename FormatContext>
1434:   constexpr auto format(const Char* val, FormatContext& ctx) const
1434:       -> decltype(ctx.out()) {
1434:     return formatter<basic_string_view<Char>, Char>::format(val, ctx);
1434:   }
1434: };
1434: # 3759 "/usr/include/fmt/format.h" 3 4
1434: template <typename Char = char> class dynamic_formatter {
1434:  private:
1434:   detail::dynamic_format_specs<Char> specs_;
1434:   const Char* format_str_;
1434: 
1434:   struct null_handler : detail::error_handler {
1434:     void on_align(align_t) {}
1434:     void on_sign(sign_t) {}
1434:     void on_hash() {}
1434:   };
1434: 
1434:   template <typename Context> void handle_specs(Context& ctx) {
1434:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1434:                                                        specs_.width_ref, ctx);
1434:     detail::handle_dynamic_spec<detail::precision_checker>(
1434:         specs_.precision, specs_.precision_ref, ctx);
1434:   }
1434: 
1434:  public:
1434:   template <typename ParseContext>
1434:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1434:     format_str_ = ctx.begin();
1434: 
1434:     detail::dynamic_specs_handler<ParseContext> handler(specs_, ctx);
1434:     return detail::parse_format_specs(ctx.begin(), ctx.end(), handler);
1434:   }
1434: 
1434:   template <typename T, typename FormatContext>
1434:   auto format(const T& val, FormatContext& ctx) -> decltype(ctx.out()) {
1434:     handle_specs(ctx);
1434:     detail::specs_checker<null_handler> checker(
1434:         null_handler(), detail::mapped_type_constant<T, FormatContext>::value);
1434:     checker.on_align(specs_.align);
1434:     if (specs_.sign != sign::none) checker.on_sign(specs_.sign);
1434:     if (specs_.alt) checker.on_hash();
1434:     if (specs_.precision >= 0) checker.end_precision();
1434:     return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1434:   }
1434: };
1434: # 3808 "/usr/include/fmt/format.h" 3 4
1434: template <typename T> auto ptr(T p) -> const void* {
1434:   static_assert(std::is_pointer<T>::value, "");
1434:   return detail::bit_cast<const void*>(p);
1434: }
1434: template <typename T> auto ptr(const std::unique_ptr<T>& p) -> const void* {
1434:   return p.get();
1434: }
1434: template <typename T> auto ptr(const std::shared_ptr<T>& p) -> const void* {
1434:   return p.get();
1434: }
1434: # 3829 "/usr/include/fmt/format.h" 3 4
1434: template <typename Enum>
1434: constexpr auto underlying(Enum e) noexcept -> underlying_t<Enum> {
1434:   return static_cast<underlying_t<Enum>>(e);
1434: }
1434: 
1434: namespace enums {
1434: template <typename Enum, enable_if_t<(std::is_enum<Enum>::value), int> = 0>
1434: constexpr auto format_as(Enum e) noexcept -> underlying_t<Enum> {
1434:   return static_cast<underlying_t<Enum>>(e);
1434: }
1434: }
1434: 
1434: class bytes {
1434:  private:
1434:   string_view data_;
1434:   friend struct formatter<bytes>;
1434: 
1434:  public:
1434:   explicit bytes(string_view data) : data_(data) {}
1434: };
1434: 
1434: template <> struct formatter<bytes> {
1434:  private:
1434:   detail::dynamic_format_specs<char> specs_;
1434: 
1434:  public:
1434:   template <typename ParseContext>
1434:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1434:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1434:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1434:                                                 detail::type::string_type);
1434:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1434:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1434:     return it;
1434:   }
1434: 
1434:   template <typename FormatContext>
1434:   auto format(bytes b, FormatContext& ctx) -> decltype(ctx.out()) {
1434:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1434:                                                        specs_.width_ref, ctx);
1434:     detail::handle_dynamic_spec<detail::precision_checker>(
1434:         specs_.precision, specs_.precision_ref, ctx);
1434:     return detail::write_bytes(ctx.out(), b.data_, specs_);
1434:   }
1434: };
1434: 
1434: 
1434: template <typename T> struct group_digits_view { T value; };
1434: # 3889 "/usr/include/fmt/format.h" 3 4
1434: template <typename T> auto group_digits(T value) -> group_digits_view<T> {
1434:   return {value};
1434: }
1434: 
1434: template <typename T> struct formatter<group_digits_view<T>> : formatter<T> {
1434:  private:
1434:   detail::dynamic_format_specs<char> specs_;
1434: 
1434:  public:
1434:   template <typename ParseContext>
1434:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1434:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1434:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1434:                                                 detail::type::int_type);
1434:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1434:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1434:     return it;
1434:   }
1434: 
1434:   template <typename FormatContext>
1434:   auto format(group_digits_view<T> t, FormatContext& ctx)
1434:       -> decltype(ctx.out()) {
1434:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1434:                                                        specs_.width_ref, ctx);
1434:     detail::handle_dynamic_spec<detail::precision_checker>(
1434:         specs_.precision, specs_.precision_ref, ctx);
1434:     return detail::write_int_localized(
1434:         ctx.out(), static_cast<detail::uint64_or_128_t<T>>(t.value), 0, specs_,
1434:         detail::digit_grouping<char>({"\3", ','}));
1434:   }
1434: };
1434: 
1434: template <typename It, typename Sentinel, typename Char = char>
1434: struct join_view : detail::view {
1434:   It begin;
1434:   Sentinel end;
1434:   basic_string_view<Char> sep;
1434: 
1434:   join_view(It b, Sentinel e, basic_string_view<Char> s)
1434:       : begin(b), end(e), sep(s) {}
1434: };
1434: 
1434: template <typename It, typename Sentinel, typename Char>
1434: struct formatter<join_view<It, Sentinel, Char>, Char> {
1434:  private:
1434:   using value_type =
1434: 
1434: 
1434: 
1434:       typename std::iterator_traits<It>::value_type;
1434: 
1434:   using context = buffer_context<Char>;
1434:   using mapper = detail::arg_mapper<context>;
1434: 
1434:   template <typename T, enable_if_t<(has_formatter<T, context>::value), int> = 0>
1434:   static auto map(const T& value) -> const T& {
1434:     return value;
1434:   }
1434:   template <typename T, enable_if_t<(!has_formatter<T, context>::value), int> = 0>
1434:   static auto map(const T& value) -> decltype(mapper().map(value)) {
1434:     return mapper().map(value);
1434:   }
1434: 
1434:   using formatter_type =
1434:       conditional_t<is_formattable<value_type, Char>::value,
1434:                     formatter<remove_cvref_t<decltype(map(
1434:                                   std::declval<const value_type&>()))>,
1434:                               Char>,
1434:                     detail::fallback_formatter<value_type, Char>>;
1434: 
1434:   formatter_type value_formatter_;
1434: 
1434:  public:
1434:   template <typename ParseContext>
1434:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1434:     return value_formatter_.parse(ctx);
1434:   }
1434: 
1434:   template <typename FormatContext>
1434:   auto format(const join_view<It, Sentinel, Char>& value,
1434:               FormatContext& ctx) const -> decltype(ctx.out()) {
1434:     auto it = value.begin;
1434:     auto out = ctx.out();
1434:  12:     operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1412:     { return __x.c == __y.c; }
1412: # 372 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:   template<typename _Tp, typename _Seq>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1412:     { return __x.c < __y.c; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Seq>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1412:     { return !(__x == __y); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Seq>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1412:     { return __y < __x; }
1412: 
1412: 
1412:   template<typename _Tp, typename _Seq>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator<=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1412:     { return !(__y < __x); }
1412: 
1412: 
1412:   template<typename _Tp, typename _Seq>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1412:     { return !(__x < __y); }
1412: # 415 "/usr/include/c++/12/bits/stl_stack.h" 3
1412:   template<typename _Tp, typename _Seq>
1412:     inline
1412: 
1412: 
1412:     typename enable_if<__is_swappable<_Seq>::value>::type
1412: 
1412: 
1412: 
1412:     swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412:   template<typename _Tp, typename _Seq, typename _Alloc>
1412:     struct uses_allocator<stack<_Tp, _Seq>, _Alloc>
1412:     : public uses_allocator<_Seq, _Alloc>::type { };
1412: 
1412: 
1412: 
1412: }
1412: # 62 "/usr/include/c++/12/stack" 2 3
1412: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1412:        
1412: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1412: 
1412: # 86 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1412: namespace xbmcutil
1412: {
1412: # 105 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1412:   template <class T> class GlobalsSingleton
1412:   {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     template <class K> class Deleter
1412:     {
1412:     public:
1412:       K* guarded;
1412:       ~Deleter() { if (guarded) delete guarded; }
1412:     };
1412: # 130 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1412:     static Deleter<std::shared_ptr<T> > instance;
1412: 
1412: 
1412: 
1412: 
1412:     static T* quick;
1412:   public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     inline static std::shared_ptr<T> getInstance()
1412:     {
1412:       if (!instance.guarded)
1412:       {
1412:         if (!quick)
1412:           quick = new T;
1412:         instance.guarded = new std::shared_ptr<T>(quick);
1412:       }
1412:       return *(instance.guarded);
1412:     }
1412: # 160 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/GlobalsHandling.h"
1412:     inline static T* getQuick()
1412:     {
1412:       if (!quick)
1412:         quick = new T;
1412: 
1412:       return quick;
1412:     }
1412: 
1412:   };
1412: 
1412:   template <class T> typename GlobalsSingleton<T>::template Deleter<std::shared_ptr<T> > GlobalsSingleton<T>::instance;
1412:   template <class T> T* GlobalsSingleton<T>::quick;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   class InitFlag { public: explicit InitFlag(bool& flag) { flag = true; } };
1412: }
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/ServiceBroker.h" 2
1412: 
1412: 
1412: 
1412: namespace ADDON
1412: {
1412: clas {
1115:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1115:  {
1115:    __open_missing_mode ();
1115:    return __open_2 (__path, __oflag);
1115:  }
1115:       return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
1115:     }
1115: 
1115:   if (__builtin_va_arg_pack_len () < 1)
1115:     return __open_2 (__path, __oflag);
1115: 
1115:   return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
1115: }
1115: 
1115: 
1115: 
1115: extern int __open64_2 (const char *__path, int __oflag) __attribute__ ((__nonnull__ (1)));
1115: extern int __open64_alias (const char *__path, int __oflag, ...) __asm__ ("" "open64")
1115:                    __attribute__ ((__nonnull__ (1)));
1115: extern void __open64_too_many_args (void) __attribute__((__error__ ("open64 can be called either with 2 or 3 arguments, not more")))
1115:                                                                     ;
1115: extern void __open64_missing_mode (void) __attribute__((__error__ ("open64 with O_CREAT or O_TMPFILE in second argument needs 3 arguments")))
1115:                                                                               ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: open64 (const char *__path, int __oflag, ...)
1115: {
1115:   if (__builtin_va_arg_pack_len () > 1)
1115:     __open64_too_many_args ();
1115: 
1115:   if (__builtin_constant_p (__oflag))
1115:     {
1115:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1115:  {
1115:    __open64_missing_mode ();
1115:    return __open64_2 (__path, __oflag);
1115:  }
1115:       return __open64_alias (__path, __oflag, __builtin_va_arg_pack ());
1115:     }
1115: 
1115:   if (__builtin_va_arg_pack_len () < 1)
1115:     return __open64_2 (__path, __oflag);
1115: 
1115:   return __open64_alias (__path, __oflag, __builtin_va_arg_pack ());
1115: }
1115: # 104 "/usr/include/arm-linux-gnueabihf/bits/fcntl2.h" 3 4
1115: extern int __openat_2 (int __fd, const char *__path, int __oflag) __asm__ ("" "__openat64_2")
1115: 
1115:      __attribute__ ((__nonnull__ (2)));
1115: extern int __openat_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64")
1115: 
1115:      __attribute__ ((__nonnull__ (2)));
1115: 
1115: extern void __openat_too_many_args (void) __attribute__((__error__ ("openat can be called either with 3 or 4 arguments, not more")))
1115:                                                                     ;
1115: extern void __openat_missing_mode (void) __attribute__((__error__ ("openat with O_CREAT or O_TMPFILE in third argument needs 4 arguments")))
1115:                                                                              ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: openat (int __fd, const char *__path, int __oflag, ...)
1115: {
1115:   if (__builtin_va_arg_pack_len () > 1)
1115:     __openat_too_many_args ();
1115: 
1115:   if (__builtin_constant_p (__oflag))
1115:     {
1115:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1115:  {
1115:    __openat_missing_mode ();
1115:    return __openat_2 (__fd, __path, __oflag);
1115:  }
1115:       return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1115:     }
1115: 
1115:   if (__builtin_va_arg_pack_len () < 1)
1115:     return __openat_2 (__fd, __path, __oflag);
1115: 
1115:   return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1115: }
1115: 
1115: 
1115: 
1115: extern int __openat64_2 (int __fd, const char *__path, int __oflag)
1115:      __attribute__ ((__nonnull__ (2)));
1115: extern int __openat64_alias (int __fd, const char *__path, int __oflag, ...) __asm__ ("" "openat64")
1115: 
1115:      __attrib   if (it != value.end) {
1434:       out = value_formatter_.format(map(*it), ctx);
1434:       ++it;
1434:       while (it != value.end) {
1434:         out = detail::copy_str<Char>(value.sep.begin(), value.sep.end(), out);
1434:         ctx.advance_to(out);
1434:         out = value_formatter_.format(map(*it), ctx);
1434:         ++it;
1434:       }
1434:     }
1434:     return out;
1434:   }
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename It, typename Sentinel>
1434: auto join(It begin, Sentinel end, string_view sep) -> join_view<It, Sentinel> {
1434:   return {begin, end, sep};
1434: }
1434: # 4011 "/usr/include/fmt/format.h" 3 4
1434: template <typename Range>
1434: auto join(Range&& range, string_view sep)
1434:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>> {
1434:   return join(std::begin(range), std::end(range), sep);
1434: }
1434: # 4028 "/usr/include/fmt/format.h" 3 4
1434: template <typename T, enable_if_t<(!std::is_integral<T>::value), int> = 0>
1434: inline auto to_string(const T& value) -> std::string {
1434:   auto result = std::string();
1434:   detail::write<char>(std::back_inserter(result), value);
1434:   return result;
1434: }
1434: 
1434: template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1434: [[nodiscard]] inline auto to_string(T value) -> std::string {
1434: 
1434: 
1434:   constexpr int max_size = detail::digits10<T>() + 2;
1434:   char buffer[max_size > 5 ? static_cast<unsigned>(max_size) : 5];
1434:   char* begin = buffer;
1434:   return std::string(begin, detail::write<char>(begin, value));
1434: }
1434: 
1434: template <typename Char, size_t SIZE>
1434: [[nodiscard]] auto to_string(const basic_memory_buffer<Char, SIZE>& buf)
1434:     -> std::basic_string<Char> {
1434:   auto size = buf.size();
1434:   detail::assume(size < std::basic_string<Char>().max_size());
1434:   return std::basic_string<Char>(buf.data(), size);
1434: }
1434: 
1434: namespace detail {
1434: 
1434: template <typename Char>
1434: void vformat_to(
1434:     buffer<Char>& buf, basic_string_view<Char> fmt,
1434:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1434:     locale_ref loc) {
1434: 
1434: 
1434:   using detail::arg_formatter;
1434:   using detail::buffer_appender;
1434:   using detail::custom_formatter;
1434:   using detail::default_arg_formatter;
1434:   using detail::get_arg;
1434:   using detail::locale_ref;
1434:   using detail::parse_format_specs;
1434:   using detail::specs_checker;
1434:   using detail::specs_handler;
1434:   using detail::to_unsigned;
1434:   using detail::type;
1434:   using detail::write;
1434:   auto out = buffer_appender<Char>(buf);
1434:   if (fmt.size() == 2 && equal2(fmt.data(), "{}")) {
1434:     auto arg = args.get(0);
1434:     if (!arg) error_handler().on_error("argument not found");
1434:     visit_format_arg(default_arg_formatter<Char>{out, args, loc}, arg);
1434:     return;
1434:   }
1434: 
1434:   struct format_handler : error_handler {
1434:     basic_format_parse_context<Char> parse_context;
1434:     buffer_context<Char> context;
1434: 
1434:     format_handler(buffer_appender<Char> p_out, basic_string_view<Char> str,
1434:                    basic_format_args<buffer_context<Char>> p_args,
1434:                    locale_ref p_loc)
1434:         : parse_context(str), context(p_out, p_args, p_loc) {}
1434: 
1434:     void on_text(const Char* begin, const Char* end) {
1434:       auto text = basic_string_view<Char>(begin, to_unsigned(end - begin));
1434:       context.advance_to(write<Char>(context.out(), text));
1434:     }
1434: 
1434:     constexpr auto on_arg_id() -> int {
1434:       return parse_context.next_arg_id();
1434:     }
1434:     constexpr auto on_arg_id(int id) -> int {
1434:       return parse_context.check_arg_id(id), id;
1434:     }
1434:     constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1434:       int arg_id = context.arg_id(id);
1434:       if (arg_id < 0) on_error("argument not found");
143s CAddonMgr;
1412: class CBinaryAddonManager;
1412: class CBinaryAddonCache;
1412: class CVFSAddonCache;
1412: class CServiceAddonManager;
1412: class CRepositoryUpdater;
1412: }
1412: 
1412: namespace ANNOUNCEMENT
1412: {
1412: class CAnnouncementManager;
1412: }
1412: 
1412: namespace MEDIA_DETECT
1412: {
1412: class CDetectDVDMedia;
1412: }
1412: 
1412: namespace PVR
1412: {
1412: class CPVRManager;
1412: }
1412: 
1412: namespace PLAYLIST
1412: {
1412: class CPlayListPlayer;
1412: }
1412: 
1412: namespace KODI
1412: {
1412: namespace MESSAGING
1412: {
1412: class CApplicationMessenger;
1412: }
1412: }
1412: 
1412: class CAppParams;
1412: template<class T>
1412: class CComponentContainer;
1412: class CContextMenuManager;
1412: class XBPython;
1412: class CDataCacheCore;
1412: class IAE;
1412: class IApplicationComponent;
1412: class CFavouritesService;
1412: class CInputManager;
1412: class CFileExtensionProvider;
1412: class CNetworkBase;
1412: class CWinSystemBase;
1412: class CRenderSystemBase;
1412: class CPowerManager;
1412: class CWeatherManager;
1412: class CPlayerCoreFactory;
1412: class CDatabaseManager;
1412: class CEventLog;
1412: class CGUIComponent;
1412: class CAppInboundProtocol;
1412: class CSettingsComponent;
1412: class CDecoderFilterManager;
1412: class CMediaManager;
1412: class CCPUInfo;
1412: class CLog;
1412: class CPlatform;
1412: class CTextureCache;
1412: class CJobManager;
1412: class CKeyboardLayoutManager;
1412: 
1412: namespace WSDiscovery
1412: {
1412: class IWSDiscovery;
1412: }
1412: 
1412: namespace KODI
1412: {
1412: namespace ADDONS
1412: {
1412: class CExtsMimeSupportList;
1412: }
1412: 
1412: namespace GAME
1412: {
1412: class CControllerManager;
1412: class CGameServices;
1412: }
1412: 
1412: namespace RETRO
1412: {
1412: class CGUIGameRenderManager;
1412: }
1412: }
1412: 
1412: namespace PERIPHERALS
1412: {
1412: class CPeripherals;
1412: }
1412: 
1412: namespace speech
1412: {
1412: class ISpeechRecognition;
1412: }
1412: 
1412: class CServiceBroker
1412: {
1412: public:
1412:   CServiceBroker();
1412:   ~CServiceBroker();
1412: 
1412:   static std::shared_ptr<CAppParams> GetAppParams();
1412:   static void RegisterAppParams(const std::shared_ptr<CAppParams>& appParams);
1412:   static void UnregisterAppParams();
1412: 
1412:   static CLog& GetLogging();
1412:   static void CreateLogging();
1412:   static void DestroyLogging();
1412: 
1412:   static std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> GetAnnouncementManager();
1412:   static void RegisterAnnouncementManager(
1412:       std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> announcementManager);
1412:   static void UnregisterAnnouncementManager();
1412: 
1412:   static ADDON::CAddonMgr& GetAddonMgr();
1412:   static ADDON::CBinaryAddonManager& GetBinaryAddonManager();
1412:   static ADDON::CBinaryAddonCache& GetBinaryAddonCache();
1412:   static KODI::ADDONS::CExtsMimeSupportList& GetExtsMimeSupportList();
1412:   static ADDON::CVFSAddonCache& GetVFSAddonCache();
1412:   static XBPython& GetXBPython();
1412:   static WSDiscovery::IWSDiscovery& GetWSDiscovery();
1412:   static MEDIA_DETECT::CDetectDVDMedia& GetDetectDVDMedia();
1412:   static PVR::CPVRManager& GetPVRManager();
1412:   static CContextMenuManager& GetContextMenuManager();
1412:   static CDataCacheCore& GetDataCacheCore();
1412:   static CPlatform& GetPlatform();
1412:   static PLAYLIST::CPlayListPlayer& GetPlaylistPlayer();
1412:   static KODI::GAME::CControllerManager& GetGameControllerManager();
1412:   static KODI::GAME::CGameServices& GetGameServices();
1412:   static KODI::RETRO::CGUIGameRenderManager& GetGameRenderManager();
1412:   static PERIPHERALS::CPeripherals& GetPeripherals();
1412:   static CFavouritesService& GetFavouritesService();
1412:   static ADDON::CServiceAddonManager& GetServiceAddons();
1412:   static ADDON::CRepositoryUpdater& GetRepositoryUpdater();
1412:   static CInputManager& GetInputManager();
1412:   static CFileExtensionProvider& GetFileExtensionProvider();
1412:   static bool IsAddonInterfaceUp();
1412:   static bool Is4:       return arg_id;
1434:     }
1434: 
1434:     inline __attribute__((always_inline)) void on_replacement_field(int id, const Char*) {
1434:       auto arg = get_arg(context, id);
1434:       context.advance_to(visit_format_arg(
1434:           default_arg_formatter<Char>{context.out(), context.args(),
1434:                                       context.locale()},
1434:           arg));
1434:     }
1434: 
1434:     auto on_format_specs(int id, const Char* begin, const Char* end)
1434:         -> const Char* {
1434:       auto arg = get_arg(context, id);
1434:       if (arg.type() == type::custom_type) {
1434:         parse_context.advance_to(parse_context.begin() +
1434:                                  (begin - &*parse_context.begin()));
1434:         visit_format_arg(custom_formatter<Char>{parse_context, context}, arg);
1434:         return parse_context.begin();
1434:       }
1434:       auto specs = basic_format_specs<Char>();
1434:       specs_checker<specs_handler<Char>> handler(
1434:           specs_handler<Char>(specs, parse_context, context), arg.type());
1434:       begin = parse_format_specs(begin, end, handler);
1434:       if (begin == end || *begin != '}')
1434:         on_error("missing '}' in format string");
1434:       auto f = arg_formatter<Char>{context.out(), specs, context.locale()};
1434:       context.advance_to(visit_format_arg(f, arg));
1434:       return begin;
1434:     }
1434:   };
1434:   detail::parse_format_string<false>(fmt, format_handler(out, fmt, args, loc));
1434: }
1434: 
1434: 
1434: extern template auto thousands_sep_impl<char>(locale_ref)
1434:     -> thousands_sep_result<char>;
1434: extern template auto thousands_sep_impl<wchar_t>(locale_ref)
1434:     -> thousands_sep_result<wchar_t>;
1434: extern template auto decimal_point_impl(locale_ref) -> char;
1434: extern template auto decimal_point_impl(locale_ref) -> wchar_t;
1434: 
1434: 
1434: }
1434: 
1434: 
1434: inline namespace literals {
1434: # 4168 "/usr/include/fmt/format.h" 3 4
1434: constexpr auto operator"" _a(const char* s, size_t) -> detail::udl_arg<char> {
1434:   return {s};
1434: }
1434: 
1434: }
1434: 
1434: 
1434: template <typename Locale, enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1434: inline auto vformat(const Locale& loc, string_view fmt, format_args args)
1434:     -> std::string {
1434:   return detail::vformat(loc, fmt, args);
1434: }
1434: 
1434: template <typename Locale, typename... T,
1434:           enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1434: inline auto format(const Locale& loc, format_string<T...> fmt, T&&... args)
1434:     -> std::string {
1434:   return vformat(loc, string_view(fmt), fmt::make_format_args(args...));
1434: }
1434: 
1434: template <typename OutputIt, typename Locale,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1434:                                                              >
1434: auto vformat_to(OutputIt out, const Locale& loc, string_view fmt,
1434:                 format_args args) -> OutputIt {
1434:   using detail::get_buffer;
1434:   auto&& buf = get_buffer<char>(out);
1434:   detail::vformat_to(buf, fmt, args, detail::locale_ref(loc));
1434:   return detail::get_iterator(buf);
1434: }
1434: 
1434: template <typename OutputIt, typename Locale, typename... T,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1434:                                                              >
1434: inline __attribute__((always_inline)) auto format_to(OutputIt out, const Locale& loc,
1434:                           format_string<T...> fmt, T&&... args) -> OutputIt {
1434:   return vformat_to(out, loc, fmt, fmt::make_format_args(args...));
1434: }
1434: 
1434: 
1434: } }
1434: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1434: 
1434: # 1 "/usr/include/fmt/xchar.h" 1 3 4
1434: # 11 "/usr/include/fmt/xchar.h" 3 4
1434: # 1 "/usr/include/c++/12/cwchar" 1 3 4
1434: # 39 "/usr/include/c++/12/cwchar" 3 4
1434:        
1434: # 40 "/usr/include/c++/12/cwchar" 3
1434: # 12 "/usr/include/fmt/xchar.h" 2 3 4
1434: 
1434: # 1 "/usr/include/fmt/format.h" 1 3 4
1434: # 14 "/usr/include/fmt/xchar.h" 2 3 4
1434: 
1434: namespace fmt { inline namespace v9 {
1434: namespace detail {
1434: template <typename T>
1434: using is_exotic_char = bool_constant<!std::is_same<T, char>::value>;
1434: }
1434: 
1434: 
1434: 
1434: using wstring_view = basic_string_view<wchar_t>;
1434: using wformat_parse_context = basic_format_parse_context<wchar_t>;
1434: using wformat_context = buffer_context<wchar_t>;
1434: using wformat_args = basic_format_args<wformat_context>;
1434: using wmemory_buffer = basic_memory_buffer<wchar_t>;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: template <typename... Args>
1434: using wformat_string = basic_format_string<wchar_t, type_identity_t<Args>...>;
1434: inline auto runtime(wstring_view s) -> basic_runtime<wchar_t> { return {{s}}; }
1434: 
1434: 
1434: template <> struct is_char<wchar_t> : std::true_type {};
1434: template <> struct is_char<detail::char8_type> : std::true_type {};
1434: template <> struct is_char<char16_t> : std::true_type {};
1434: template <> struct is_char<char32_t> : std::true_type {};
1434: 
1434: template <typename... Args>
1434: constexpr format_arg_store<wformat_context, Args...> make_wformat_args(
1434:     const Args&... args) {
1434:   return {args...};
1434: }
1434: 
1434: inline namespace literals {
1434: 
1434: constexpr detail::udl_arg<wchar_t> operator"" _a(const wchar_t* s, size_t) {
1434:   return {s};
1434: }
1434: 
1434: }
1434: 
1434: template <typename It, typename Sentinel>
1434: auto join(It begin, Sentinel end, wstring_view sep)
1434:     -> join_view<It, Sentinel, wchar_t> {
1434:   return {begin, end, sep};
1434: }
1434: 
1434: template <typename Range>
1434: auto join(Range&& range, wstring_view sep)
1434:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>,
1434:                  wchar_t> {
1434:   return join(std::begin(range), std::end(range), sep);
1434: }
1434: 
1434: template <typename T>
1434: auto join(std::initializer_list<T> list, wstring_view sep)
1434:     -> join_view<const T*, const T*, wchar_t> {
1434:   return join(std::begin(list), std::end(list), sep);
1434: }
1434: 
1434: template <typename Char, enable_if_t<(!std::is_same<Char, char>::value), int> = 0>
1434: auto vformat(basic_string_view<Char> format_str,
1434:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
1434:     -> std::basic_string<Char> {
1434:   basic_memory_buffer<Char> buffer;
1434:   detail::vformat_to(buffer, format_str, args);
1434:   return to_string(buffer);
1434: }
1434: 
1434: template <typename... T>
1434: auto format(wformat_string<T...> fmt, T&&... args) -> std::wstring {
1434:   return vformat(fmt::wstring_view(fmt), fmt::make_wformat_args(args...));
1434: }
1434: 
1434: 
1434: 
1434: template <typename S, typename... Args, typename Char = char_t<S>,
1434:           enable_if_t<(!std::is_same<Char, char>::value && !std::is_same<Char, wchar_t>::value), int> = 0
1434:                                                             >
1434: auto format(const S& format_str, Args&&... args) -> std::basic_string<Char> {
1434:   return vformat(detail::to_string_view(format_str),
1434:                  fmt::make_format_args<buffer_context<Char>>(args...));
1434: }
1434: 
1434: template <typename Locale, typename S, typename Char = char_t<S>,
1434:           enable_if_t<(detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1434:                                                                 >
1434: inline auto vformat(
1434:     const Locale& loc, const S& format_str,
1434:     basic_format_args<buffer_context<type_identity_t<Char>>> args)
1434:     -> std::basic_string<Char> {
1434:   return detail::vformat(loc, detail::to_string_view(format_str), args);
1434: }
1434: 
1434: template <typename Locale, typename S, typename... Args,
1434:           typename Char = char_t<S>,
1434:           enabute__ ((__nonnull__ (2)));
1115: extern void __openat64_too_many_args (void) __attribute__((__error__ ("openat64 can be called either with 3 or 4 arguments, not more")))
1115:                                                                       ;
1115: extern void __openat64_missing_mode (void) __attribute__((__error__ ("openat64 with O_CREAT or O_TMPFILE in third argument needs 4 arguments")))
1115:                                                                                ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: openat64 (int __fd, const char *__path, int __oflag, ...)
1115: {
1115:   if (__builtin_va_arg_pack_len () > 1)
1115:     __openat64_too_many_args ();
1115: 
1115:   if (__builtin_constant_p (__oflag))
1115:     {
1115:       if ((((__oflag) & 0100) != 0 || ((__oflag) & (020000000 | 040000)) == (020000000 | 040000)) && __builtin_va_arg_pack_len () < 1)
1115:  {
1115:    __openat64_missing_mode ();
1115:    return __openat64_2 (__fd, __path, __oflag);
1115:  }
1115:       return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1115:     }
1115: 
1115:   if (__builtin_va_arg_pack_len () < 1)
1115:     return __openat64_2 (__fd, __path, __oflag);
1115: 
1115:   return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
1115: }
1115: # 315 "/usr/include/fcntl.h" 2 3 4
1115: 
1115: 
1115: }
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1115: # 1 "/usr/include/unistd.h" 1 3 4
1115: # 27 "/usr/include/unistd.h" 3 4
1115: extern "C" {
1115: # 202 "/usr/include/unistd.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix_opt.h" 1 3 4
1115: # 203 "/usr/include/unistd.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 1 3 4
1115: # 22 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 2 3 4
1115: # 207 "/usr/include/unistd.h" 2 3 4
1115: # 226 "/usr/include/unistd.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 227 "/usr/include/unistd.h" 2 3 4
1115: # 274 "/usr/include/unistd.h" 3 4
1115: typedef __socklen_t socklen_t;
1115: # 287 "/usr/include/unistd.h" 3 4
1115: extern int access (const char *__name, int __type) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int euidaccess (const char *__name, int __type)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int eaccess (const char *__name, int __type)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int execveat (int __fd, const char *__path, char *const __argv[],
1115:                      char *const __envp[], int __flags)
1115:     noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int faccessat (int __fd, const char *__file, int __type, int __flag)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
1115: # 342 "/usr/include/unistd.h" 3 4
1115: extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) noexcept (true) __asm__ ("" "lseek64")
1115: 
1115:              ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int close (int __fd);
1115: 
1115: 
1115: 
1115: 
1115: extern void closefrom (int __lowfd) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern ssize_t write (int __fd, const void *__buf, size_t __n) __attribute__ ((__warn_unused_result__))
1115ServiceManagerUp();
1412:   static CNetworkBase& GetNetwork();
1412:   static CPowerManager& GetPowerManager();
1412:   static CWeatherManager& GetWeatherManager();
1412:   static CPlayerCoreFactory& GetPlayerCoreFactory();
1412:   static CDatabaseManager& GetDatabaseManager();
1412:   static CEventLog* GetEventLog();
1412:   static CMediaManager& GetMediaManager();
1412:   static CComponentContainer<IApplicationComponent>& GetAppComponents();
1412: 
1412:   static CGUIComponent* GetGUI();
1412:   static void RegisterGUI(CGUIComponent* gui);
1412:   static void UnregisterGUI();
1412: 
1412:   static void RegisterSettingsComponent(const std::shared_ptr<CSettingsComponent>& settings);
1412:   static void UnregisterSettingsComponent();
1412:   static std::shared_ptr<CSettingsComponent> GetSettingsComponent();
1412: 
1412:   static void RegisterWinSystem(CWinSystemBase* winsystem);
1412:   static void UnregisterWinSystem();
1412:   static CWinSystemBase* GetWinSystem();
1412:   static CRenderSystemBase* GetRenderSystem();
1412: 
1412:   static IAE* GetActiveAE();
1412:   static void RegisterAE(IAE* ae);
1412:   static void UnregisterAE();
1412: 
1412:   static std::shared_ptr<CAppInboundProtocol> GetAppPort();
1412:   static void RegisterAppPort(std::shared_ptr<CAppInboundProtocol> port);
1412:   static void UnregisterAppPort();
1412: 
1412:   static void RegisterDecoderFilterManager(CDecoderFilterManager* manager);
1412:   static CDecoderFilterManager* GetDecoderFilterManager();
1412: 
1412:   static std::shared_ptr<CCPUInfo> GetCPUInfo();
1412:   static void RegisterCPUInfo(std::shared_ptr<CCPUInfo> cpuInfo);
1412:   static void UnregisterCPUInfo();
1412: 
1412:   static void RegisterTextureCache(const std::shared_ptr<CTextureCache>& cache);
1412:   static void UnregisterTextureCache();
1412:   static std::shared_ptr<CTextureCache> GetTextureCache();
1412: 
1412:   static void RegisterJobManager(const std::shared_ptr<CJobManager>& jobManager);
1412:   static void UnregisterJobManager();
1412:   static std::shared_ptr<CJobManager> GetJobManager();
1412: 
1412:   static void RegisterAppMessenger(
1412:       const std::shared_ptr<KODI::MESSAGING::CApplicationMessenger>& appMessenger);
1412:   static void UnregisterAppMessenger();
1412:   static std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> GetAppMessenger();
1412: 
1412:   static void RegisterKeyboardLayoutManager(
1412:       const std::shared_ptr<CKeyboardLayoutManager>& keyboardLayoutManager);
1412:   static void UnregisterKeyboardLayoutManager();
1412:   static std::shared_ptr<CKeyboardLayoutManager> GetKeyboardLayoutManager();
1412: 
1412:   static void RegisterSpeechRecognition(
1412:       const std::shared_ptr<speech::ISpeechRecognition>& speechRecognition);
1412:   static void UnregisterSpeechRecognition();
1412:   static std::shared_ptr<speech::ISpeechRecognition> GetSpeechRecognition();
1412: 
1412: private:
1412:   std::shared_ptr<CAppParams> m_appParams;
1412:   std::unique_ptr<CLog> m_logging;
1412:   std::shared_ptr<ANNOUNCEMENT::CAnnouncementManager> m_pAnnouncementManager;
1412:   CGUIComponent* m_pGUI;
1412:   CWinSystemBase* m_pWinSystem;
1412:   IAE* m_pActiveAE;
1412:   std::shared_ptr<CAppInboundProtocol> m_pAppPort;
1412:   std::shared_ptr<CSettingsComponent> m_pSettingsComponent;
1412:   CDecoderFilterManager* m_decoderFilterManager;
1412:   std::shared_ptr<CCPUInfo> m_cpuInfo;
1412:   std::shared_ptr<CTextureCache> m_textureCache;
1412:   std::shared_ptr<CJobManager> m_jobManager;
1412:   std::shared_ptr<KODI::MESSAGING::CApplicationMessenger> m_appMessenger;
1412:   std::shared_ptr<CKeyboardLayoutManager> m_keyboardLayoutManager;
1412:   std::shared_ptr<speech::ISpeechRecognition> m_speechRecognition;
1412: };
1412: 
1412: static std::shared_ptr<CServiceBroker> g_serviceBrokerRef(xbmcutil::GlobalsSingleton<CServiceBroker>::getInstance());
1412: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmle_if_t<(detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1434:                                                                 >
1434: inline auto format(const Locale& loc, const S& format_str, Args&&... args)
1434:     -> std::basic_string<Char> {
1434:   return detail::vformat(loc, detail::to_string_view(format_str),
1434:                          fmt::make_format_args<buffer_context<Char>>(args...));
1434: }
1434: 
1434: template <typename OutputIt, typename S, typename Char = char_t<S>,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1434:                                                                 >
1434: auto vformat_to(OutputIt out, const S& format_str,
1434:                 basic_format_args<buffer_context<type_identity_t<Char>>> args)
1434:     -> OutputIt {
1434:   auto&& buf = detail::get_buffer<Char>(out);
1434:   detail::vformat_to(buf, detail::to_string_view(format_str), args);
1434:   return detail::get_iterator(buf);
1434: }
1434: 
1434: template <typename OutputIt, typename S, typename... Args,
1434:           typename Char = char_t<S>,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1434:                                                                 >
1434: inline auto format_to(OutputIt out, const S& fmt, Args&&... args) -> OutputIt {
1434:   return vformat_to(out, detail::to_string_view(fmt),
1434:                     fmt::make_format_args<buffer_context<Char>>(args...));
1434: }
1434: 
1434: template <typename Locale, typename S, typename OutputIt, typename... Args,
1434:           typename Char = char_t<S>,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1434: 
1434:                                                                     >
1434: inline auto vformat_to(
1434:     OutputIt out, const Locale& loc, const S& format_str,
1434:     basic_format_args<buffer_context<type_identity_t<Char>>> args) -> OutputIt {
1434:   auto&& buf = detail::get_buffer<Char>(out);
1434:   vformat_to(buf, detail::to_string_view(format_str), args,
1434:              detail::locale_ref(loc));
1434:   return detail::get_iterator(buf);
1434: }
1434: 
1434: template <
1434:     typename OutputIt, typename Locale, typename S, typename... Args,
1434:     typename Char = char_t<S>,
1434:     bool enable = detail::is_output_iterator<OutputIt, Char>::value&&
1434:         detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value>
1434: inline auto format_to(OutputIt out, const Locale& loc, const S& format_str,
1434:                       Args&&... args) ->
1434:     typename std::enable_if<enable, OutputIt>::type {
1434:   return vformat_to(out, loc, to_string_view(format_str),
1434:                     fmt::make_format_args<buffer_context<Char>>(args...));
1434: }
1434: 
1434: template <typename OutputIt, typename Char, typename... Args,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1434:                                                                 >
1434: inline auto vformat_to_n(
1434:     OutputIt out, size_t n, basic_string_view<Char> format_str,
1434:     basic_format_args<buffer_context<type_identity_t<Char>>> args)
1434:     -> format_to_n_result<OutputIt> {
1434:   detail::iterator_buffer<OutputIt, Char, detail::fixed_buffer_traits> buf(out,
1434:                                                                            n);
1434:   detail::vformat_to(buf, format_str, args);
1434:   return {buf.out(), buf.count()};
1434: }
1434: 
1434: template <typename OutputIt, typename S, typename... Args,
1434:           typename Char = char_t<S>,
1434:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1434:                                               :     __attribute__ ((__access__ (__read_only__, 2, 3)));
1115: # 404 "/usr/include/unistd.h" 3 4
1115: extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64")
1115: 
1115:                __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t pwrite (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64")
1115: 
1115:                 __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__read_only__, 2, 3)));
1115: # 422 "/usr/include/unistd.h" 3 4
1115: extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
1115:    __off64_t __offset) __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: 
1115: 
1115: extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n,
1115:     __off64_t __offset) __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__read_only__, 2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int pipe (int __pipedes[2]) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int pipe2 (int __pipedes[2], int __flags) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: # 452 "/usr/include/unistd.h" 3 4
1115: extern unsigned int alarm (unsigned int __seconds) noexcept (true);
1115: # 464 "/usr/include/unistd.h" 3 4
1115: extern unsigned int sleep (unsigned int __seconds);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int usleep (__useconds_t __useconds);
1115: # 489 "/usr/include/unistd.h" 3 4
1115: extern int pause (void);
1115: 
1115: 
1115: 
1115: extern int chown (const char *__file, __uid_t __owner, __gid_t __group)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern int fchown (int __fd, __uid_t __owner, __gid_t __group) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int lchown (const char *__file, __uid_t __owner, __gid_t __group)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fchownat (int __fd, const char *__file, __uid_t __owner,
1115:        __gid_t __group, int __flag)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern int chdir (const char *__path) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern int fchdir (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: # 531 "/usr/include/unistd.h" 3 4
1115: extern char *getcwd (char *__buf, size_t __size) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *get_current_dir_name (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *getwd (char *__buf)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__write_only__, 1)));
1115: 
1115: 
1115: 
1115: 
1115: extern int dup (int __fd) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: extern int dup2 (int __fd, int __fd2) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int dup3 (int __fd, int __fd2, int __flags) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char **__environ;
1115: 
1115: extern char **environ;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int execve (const char *__path, char *const __argv[],
1115:      char *const __envp[]) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115:                   >
1434: inline auto format_to_n(OutputIt out, size_t n, const S& fmt,
1434:                         const Args&... args) -> format_to_n_result<OutputIt> {
1434:   return vformat_to_n(out, n, detail::to_string_view(fmt),
1434:                       fmt::make_format_args<buffer_context<Char>>(args...));
1434: }
1434: 
1434: template <typename S, typename... Args, typename Char = char_t<S>,
1434:           enable_if_t<(detail::is_exotic_char<Char>::value), int> = 0>
1434: inline auto formatted_size(const S& fmt, Args&&... args) -> size_t {
1434:   detail::counting_buffer<Char> buf;
1434:   detail::vformat_to(buf, detail::to_string_view(fmt),
1434:                      fmt::make_format_args<buffer_context<Char>>(args...));
1434:   return buf.count();
1434: }
1434: 
1434: inline void vprint(std::FILE* f, wstring_view fmt, wformat_args args) {
1434:   wmemory_buffer buffer;
1434:   detail::vformat_to(buffer, fmt, args);
1434:   buffer.push_back(L'\0');
1434:   if (std::fputws(buffer.data(), f) == -1)
1434:     throw system_error((*__errno_location ()), [] { struct __attribute__((visibility("hidden"))) FMT_COMPILE_STRING : fmt::detail::compile_string { using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("cannot write to file"[0])>; [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const { return fmt::detail_exported::compile_string_to_view<char_type>("cannot write to file"); } }; return FMT_COMPILE_STRING(); }());
1434: }
1434: 
1434: inline void vprint(wstring_view fmt, wformat_args args) {
1434:   vprint(stdout, fmt, args);
1434: }
1434: 
1434: template <typename... T>
1434: void print(std::FILE* f, wformat_string<T...> fmt, T&&... args) {
1434:   return vprint(f, wstring_view(fmt), fmt::make_wformat_args(args...));
1434: }
1434: 
1434: template <typename... T> void print(wformat_string<T...> fmt, T&&... args) {
1434:   return vprint(wstring_view(fmt), fmt::make_wformat_args(args...));
1434: }
1434: 
1434: 
1434: 
1434: 
1434: template <typename T> inline auto to_wstring(const T& value) -> std::wstring {
1434:   return format([] { struct __attribute__((visibility("hidden"))) FMT_COMPILE_STRING : fmt::detail::compile_string { using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype(L"{}"[0])>; [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const { return fmt::detail_exported::compile_string_to_view<char_type>(L"{}"); } }; return FMT_COMPILE_STRING(); }(), value);
1434: }
1434: 
1434: } }
1434: # 40 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1434: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434: 
1434: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434: template<typename T, std::enable_if_t<!std::is_enum<T>::value, int> = 0>
1434: constexpr auto&& EnumToInt(T&& arg) noexcept
1434: {
1434:   return arg;
1434: }
1434: template<typename T, std::enable_if_t<std::is_enum<T>::value, int> = 0>
1434: constexpr auto EnumToInt(T&& arg) noexcept
1434: {
1434:   return static_cast<int>(arg);
1434: }
1434: 
1434: class StringUtils
1434: {
1434: public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   template<typename... Args>
1434:   static std::string Format(const std::string& fmt, Args&&... args)
1434:   {
1434: 
1434:     return ::fmt::format(fmt, EnumToInt(std::forward<Args>(args))...);
1434:   }
1434:   template<typename... Args>
1434:   static std::wstring Format(const std::wstring& fmt, Args&&... args)
1434:   {
1434: 
1434:     return ::fmt::format(fmt, EnumToInt(std::forward<Args>(args))...);
1434:   }
1434: 
1434:   static std::string FormatV( const char *fmt, va_list args);
1434:   static std::wstring FormatV( const wchar_t *fmt, va_list args);
1434:   static std::string ToUpper(const std::string& str);
1434:   static std::wstring ToUpper(const std::wstring& str);
1434:   static void ToUpper(std::string &str);
1434:   static void ToUpper(std::wstring &str);
1434:   static std::string ToLower(const std::string& str);
1434:   static std::wstring ToLower(const std::wstring& str);
1434: c/windowing/WinSystem.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h"
1412:        
1412: 
1412: enum class HDR_STATUS
1412: {
1412:   HDR_TOGGLE_FAILED = -1,
1412:   HDR_UNSUPPORTED = 0,
1412:   HDR_OFF = 1,
1412:   HDR_ON = 2
1412: };
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: namespace KODI
1412: {
1412: namespace WINDOWING
1412: {
1412: 
1412: class COSScreenSaverManager;
1412: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1412: class COSScreenSaverInhibitor
1412: {
1412: public:
1412:   COSScreenSaverInhibitor() noexcept;
1412:   COSScreenSaverInhibitor(COSScreenSaverInhibitor&& other) noexcept;
1412:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor&& other) noexcept;
1412:   ~COSScreenSaverInhibitor() noexcept;
1412:   void Release();
1412:   bool IsActive() const;
1412:   operator bool() const;
1412: 
1412: private:
1412:   friend class COSScreenSaverManager;
1412:   explicit COSScreenSaverInhibitor(COSScreenSaverManager* manager);
1412:   bool m_active;
1412:   COSScreenSaverManager* m_manager;
1412: 
1412:   COSScreenSaverInhibitor(COSScreenSaverInhibitor const& other) = delete;
1412:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor const& other) = delete;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: class IOSScreenSaver
1412: {
1412: public:
1412:   virtual ~IOSScreenSaver() = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void Inhibit() = 0;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void Uninhibit() = 0;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: class CDummyOSScreenSaver : public IOSScreenSaver
1412: {
1412: public:
1412:   void Inhibit() override {}
1412:   void Uninhibit() override {}
1412: };
1412: # 92 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1412: class COSScreenSaverManager
1412: {
1412: public:
1412: 
1412: 
1412: 
1412:   explicit COSScreenSaverManager(std::unique_ptr<IOSScreenSaver> impl);
1412: 
1412: 
1412: 
1412: 
1412:   COSScreenSaverInhibitor CreateInhibitor();
1412: 
1412: 
1412: 
1412:   bool IsInhibited();
1412: 
1412: private:
1412:   friend class COSScreenSaverInhibitor;
1412:   void RemoveInhibitor();
1412: 
1412:   unsigned int m_inhibitionCount{0u};
1412:   std::unique_ptr<IOSScreenSaver> m_impl;
1412: };
1412: 
1412: }
1412: }
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1412:        
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1412: namespace XbmcThreads
1412: {
1412: class CEventGroup;
1412: }
1412: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1412: class CEvent
1412: {
1412:   bool manualReset;
1412:   volatile bool signaled;
1412:   unsigned int numWaits = 0;
1412: 
1412:   CCriticalSection groupListMutex;
1412:   std::unique_ptr<std::vector<XbmcThreads::CEventGroup*>> groups;
1412: 
1412:   XbmcThreads::ConditionVariable actualCv;
1412:   CCriticalSection mutex;
1412: 
1412:   friend class XbmcThreads::CEventGroup;
1412: 
1412:   void addGroup(XbmcThreads::CEventGroup* group);
1412:   void removeGroup(XbmcThreads::CEventGroup* group);
1412: 
1412: 
1412:   inline bool prepReturn()
1412:   {
1412:     bool ret = signaled;
1412:     if (!manualReset && numWaits == 0)
1412:       signaled = false;
1412:     return ret;
1412:   }
1412: 
1412:   CEvent(const CEvent&) = delete;
1412:   CEvent& operator=(const CEvent&) = delete;
1412: 
1412: public:
1412:   inline CEve  static void ToLower(std::string &str);
1434:   static void ToLower(std::wstring &str);
1434:   static void ToCapitalize(std::string &str);
1434:   static void ToCapitalize(std::wstring &str);
1434:   static bool EqualsNoCase(const std::string &str1, const std::string &str2);
1434:   static bool EqualsNoCase(const std::string &str1, const char *s2);
1434:   static bool EqualsNoCase(const char *s1, const char *s2);
1434:   static int CompareNoCase(const std::string& str1, const std::string& str2, size_t n = 0);
1434:   static int CompareNoCase(const char* s1, const char* s2, size_t n = 0);
1434:   static int ReturnDigits(const std::string &str);
1434:   static std::string Left(const std::string &str, size_t count);
1434:   static std::string Mid(const std::string &str, size_t first, size_t count = std::string::npos);
1434:   static std::string Right(const std::string &str, size_t count);
1434:   static std::string& Trim(std::string &str);
1434:   static std::string& Trim(std::string &str, const char* const chars);
1434:   static std::string& TrimLeft(std::string &str);
1434:   static std::string& TrimLeft(std::string &str, const char* const chars);
1434:   static std::string& TrimRight(std::string &str);
1434:   static std::string& TrimRight(std::string &str, const char* const chars);
1434:   static std::string& RemoveDuplicatedSpacesAndTabs(std::string& str);
1434:   static int Replace(std::string &str, char oldChar, char newChar);
1434:   static int Replace(std::string &str, const std::string &oldStr, const std::string &newStr);
1434:   static int Replace(std::wstring &str, const std::wstring &oldStr, const std::wstring &newStr);
1434:   static bool StartsWith(const std::string &str1, const std::string &str2);
1434:   static bool StartsWith(const std::string &str1, const char *s2);
1434:   static bool StartsWith(const char *s1, const char *s2);
1434:   static bool StartsWithNoCase(const std::string &str1, const std::string &str2);
1434:   static bool StartsWithNoCase(const std::string &str1, const char *s2);
1434:   static bool StartsWithNoCase(const char *s1, const char *s2);
1434:   static bool EndsWith(const std::string &str1, const std::string &str2);
1434:   static bool EndsWith(const std::string &str1, const char *s2);
1434:   static bool EndsWithNoCase(const std::string &str1, const std::string &str2);
1434:   static bool EndsWithNoCase(const std::string &str1, const char *s2);
1434: 
1434:   template<typename CONTAINER>
1434:   static std::string Join(const CONTAINER &strings, const std::string& delimiter)
1434:   {
1434:     std::string result;
1434:     for (const auto& str : strings)
1434:       result += str + delimiter;
1434: 
1434:     if (!result.empty())
1434:       result.erase(result.size() - delimiter.size());
1434:     return result;
1434:   }
1434: # 154 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   static std::vector<std::string> Split(const std::string& input, const std::string& delimiter, unsigned int iMaxStrings = 0);
1434:   static std::vector<std::string> Split(const std::string& input, const char delimiter, size_t iMaxStrings = 0);
1434:   static std::vector<std::string> Split(const std::string& input, const std::vector<std::string> &delimiters);
1434: # 168 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   template<typename OutputIt>
1434:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const std::string& delimiter, unsigned int iMaxStrings = 0)
1434:   {
1434:     OutputIt dest = d_first;
1434: 
1434:     if (input.empty())
1434:       return dest;
1434:     if (delimiter.empty())
1434:     {
1434:       *d_first++ = input;
1434:       return dest;
1434:     }
1434: 
1434:     const size_t delimLen = delimiter.length();
1434:     size_t nextDelim;
1434:     size_t textPos = 0;
1434:     do
1434:     {
1434:       if (--iMaxStrings == 0)
1434:       {
1434:         *dest++ = input.substr(textPos);
1434:         break;
1434:       }
1434:       nextDelim = input.find(delimiter, textPos);
1434:       *dest++ = input.substr(textPo
1115: 
1115: extern int fexecve (int __fd, char *const __argv[], char *const __envp[])
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int execv (const char *__path, char *const __argv[])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern int execle (const char *__path, const char *__arg, ...)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern int execl (const char *__path, const char *__arg, ...)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern int execvp (const char *__file, char *const __argv[])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int execlp (const char *__file, const char *__arg, ...)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int execvpe (const char *__file, char *const __argv[],
1115:       char *const __envp[])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int nice (int __inc) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern void _exit (int __status) __attribute__ ((__noreturn__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/confname.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/confname.h" 3 4
1115: enum
1115:   {
1115:     _PC_LINK_MAX,
1115: 
1115:     _PC_MAX_CANON,
1115: 
1115:     _PC_MAX_INPUT,
1115: 
1115:     _PC_NAME_MAX,
1115: 
1115:     _PC_PATH_MAX,
1115: 
1115:     _PC_PIPE_BUF,
1115: 
1115:     _PC_CHOWN_RESTRICTED,
1115: 
1115:     _PC_NO_TRUNC,
1115: 
1115:     _PC_VDISABLE,
1115: 
1115:     _PC_SYNC_IO,
1115: 
1115:     _PC_ASYNC_IO,
1115: 
1115:     _PC_PRIO_IO,
1115: 
1115:     _PC_SOCK_MAXBUF,
1115: 
1115:     _PC_FILESIZEBITS,
1115: 
1115:     _PC_REC_INCR_XFER_SIZE,
1115: 
1115:     _PC_REC_MAX_XFER_SIZE,
1115: 
1115:     _PC_REC_MIN_XFER_SIZE,
1115: 
1115:     _PC_REC_XFER_ALIGN,
1115: 
1115:     _PC_ALLOC_SIZE_MIN,
1115: 
1115:     _PC_SYMLINK_MAX,
1115: 
1115:     _PC_2_SYMLINKS
1115: 
1115:   };
1115: 
1115: 
1115: enum
1115:   {
1115:     _SC_ARG_MAX,
1115: 
1115:     _SC_CHILD_MAX,
1115: 
1115:     _SC_CLK_TCK,
1115: 
1115:     _SC_NGROUPS_MAX,
1115: 
1115:     _SC_OPEN_MAX,
1115: 
1115:     _SC_STREAM_MAX,
1115: 
1115:     _SC_TZNAME_MAX,
1115: 
1115:     _SC_JOB_CONTROL,
1115: 
1115:     _SC_SAVED_IDS,
1115: 
1115:     _SC_REALTIME_SIGNALS,
1115: 
1115:     _SC_PRIORITY_SCHEDULING,
1115: 
1115:     _SC_TIMERS,
1115: 
1115:     _SC_ASYNCHRONOUS_IO,
1115: 
1115:     _SC_PRIORITIZED_IO,
1115: 
1115:     _SC_SYNCHRONIZED_IO,
1115: 
1115:     _SC_FSYNC,
1115: 
1115:     _SC_MAPPED_FILES,
1115: 
1115:     _SC_MEMLOCK,
1115: 
1115:     _SC_MEMLOCK_RANGE,
1115: 
1115:     _SC_MEMORY_PROTECTION,
1115: 
1115:     _SC_MESSAGE_PASSING,
1115: 
1115:     _SC_SEMAPHORES,
1115: 
1115:     _SC_SHARED_MEMORY_OBJECTS,
1115: 
1115:     _SC_AIO_LISTIO_MAX,
1115: 
1115:     _SC_AIO_MAX,
1115: 
1115:     _SC_AIO_PRIO_DELTA_MAX,
1115: 
1115:     _SC_DELAYTIMER_MAX,
1115: 
1115:     _SC_MQ_OPEN_MAX,
1115: 
1115:     _SC_MQ_PRIO_MAX,
1115: 
1115:     _SC_VERSION,
1115: 
1115:     _SC_PAGESIZE,
1115: 
1115: 
1115:     _SC_RTSIG_MAX,
1115: 
1115:     _SC_SEM_NSEMS_MAX,
1115: 
1115:     _SC_SEM_VALUE_MAX,
1115: 
1115:     _SC_SIGQUEUE_MAX,
1115: 
1115:     _SC_TIMER_MAX,
1115: 
1115: 
1115: 
1115: 
1115:     _SC_BC_BASE_MAX,
1115: 
1115:     _SC_BC_DIM_MAX,
1115: 
1115:     _SC_BC_SCALE_MAX,
1115: 
1115:     _SC_BC_STRING_MAX,
1115: 
1115:     _SC_COLL_WEIGHTS_MAX,
1115: 
1115:     _SC_EQUIV_CLASS_MAX,
1115: 
1115:     _SC_EXPR_NEST_MAX,
1115: 
1115:     _SC_LINE_MAX,
1115: 
1115:     _SC_RE_DUP_MAX,
1115: 
1115:     _SC_CHARCLASS_NAME_MAX,
1115: 
1115: 
1115:     _SC_2_VERSION,
1115: 
1115:     _SC_2_C_BIND,
1115: 
1115:     _SC_2_C_DEV,
1115: 
1115:     _SC_2_FORT_DEV,
1115: 
1115:     _SC_2_FORT_RUN,
1115: 
1115: s, nextDelim - textPos);
1434:       textPos = nextDelim + delimLen;
1434:     } while (nextDelim != std::string::npos);
1434: 
1434:     return dest;
1434:   }
1434:   template<typename OutputIt>
1434:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const char delimiter, size_t iMaxStrings = 0)
1434:   {
1434:     return SplitTo(d_first, input, std::string(1, delimiter), iMaxStrings);
1434:   }
1434:   template<typename OutputIt>
1434:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const std::vector<std::string> &delimiters)
1434:   {
1434:     OutputIt dest = d_first;
1434:     if (input.empty())
1434:       return dest;
1434: 
1434:     if (delimiters.empty())
1434:     {
1434:       *dest++ = input;
1434:       return dest;
1434:     }
1434:     std::string str = input;
1434:     for (size_t di = 1; di < delimiters.size(); di++)
1434:       StringUtils::Replace(str, delimiters[di], delimiters[0]);
1434:     return SplitTo(dest, str, delimiters[0]);
1434:   }
1434: # 235 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   static std::vector<std::string> SplitMulti(const std::vector<std::string>& input,
1434:                                              const std::vector<std::string>& delimiters,
1434:                                              size_t iMaxStrings = 0);
1434:   static int FindNumber(const std::string& strInput, const std::string &strFind);
1434:   static int64_t AlphaNumericCompare(const wchar_t *left, const wchar_t *right);
1434:   static int AlphaNumericCollation(int nKey1, const void* pKey1, int nKey2, const void* pKey2);
1434:   static long TimeStringToSeconds(const std::string &timeString);
1434:   static void RemoveCRLF(std::string& strLine);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static size_t utf8_strlen(const char *s);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static std::string SecondsToTimeString(long seconds, TIME_FORMAT format = TIME_FORMAT_GUESS);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static bool IsNaturalNumber(const std::string& str);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static bool IsInteger(const std::string& str);
1434: 
1434: 
1434: 
1434: 
1434:   inline static bool isasciidigit(char chr)
1434:   {
1434:     return chr >= '0' && chr <= '9';
1434:   }
1434:   inline static bool isasciixdigit(char chr)
1434:   {
1434:     return (chr >= '0' && chr <= '9') || (chr >= 'a' && chr <= 'f') || (chr >= 'A' && chr <= 'F');
1434:   }
1434:   static int asciidigitvalue(char chr);
1434:   static int asciixdigitvalue(char chr);
1434:   inline static bool isasciiuppercaseletter(char chr)
1434:   {
1434:     return (chr >= 'A' && chr <= 'Z');
1434:   }
1434:   inline static bool isasciilowercaseletter(char chr)
1434:   {
1434:     return (chr >= 'a' && chr <= 'z');
1434:   }
1434:   inline static bool isasciialphanum(char chr)
1434:   {
1434:     return isasciiuppercaseletter(chr) || isasciilowercaseletter(chr) || isasciidigit(chr);
1434:   }
1434:   static std::string SizeToString(int64_t size);
1434:   static const std::string Empty;
1434:   static size_t FindWords(const char *str, const char *wordLowerCase);
1434:   static int FindEndBracket(const std::string &str, char opener, char closer, int startPos = 0);
1434:   static int DateStringToYYYYMMDD(const std::string &dateString);
1434:   static std::string ISODateToLocalizedDate (const std::string& strIsoDate);
1434:   static void WordToDigits(std::string &word);
1434:   static std::string CreateUUID();
1434:   static bool ValidateUUID(const std::string &uuid);
1434:   static double CompareFuzzy(const std::string &left, const std::string &right);
1434:   static int FindBestMatch(const std::string &str, const std::vector<std::string> &strings, double &matchscore);
1434:   static bool ContainsKeyword(const std::string &str, const std::vector<std::string> &keywords);
1434: # 318 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   static std::string BinaryStringToString(const std::string& in);
1434: 
1434: 
1434: 
1434: 
1434:nt(bool manual = false, bool signaled_ = false)
1412:     : manualReset(manual), signaled(signaled_)
1412:   {
1412:   }
1412: 
1412:   inline void Reset()
1412:   {
1412:     std::unique_lock<CCriticalSection> lock(mutex);
1412:     signaled = false;
1412:   }
1412:   void Set();
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline bool Signaled()
1412:   {
1412:     std::unique_lock<CCriticalSection> lock(mutex);
1412:     return signaled;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename Rep, typename Period>
1412:   inline bool Wait(std::chrono::duration<Rep, Period> duration)
1412:   {
1412:     std::unique_lock<CCriticalSection> lock(mutex);
1412:     numWaits++;
1412:     actualCv.wait(mutex, duration, std::bind(&CEvent::Signaled, this));
1412:     numWaits--;
1412:     return prepReturn();
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline bool Wait()
1412:   {
1412:     std::unique_lock<CCriticalSection> lock(mutex);
1412:     numWaits++;
1412:     actualCv.wait(mutex, std::bind(&CEvent::Signaled, this));
1412:     numWaits--;
1412:     return prepReturn();
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline int getNumWaits()
1412:   {
1412:     std::unique_lock<CCriticalSection> lock(mutex);
1412:     return numWaits;
1412:   }
1412: };
1412: 
1412: namespace XbmcThreads
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CEventGroup
1412: {
1412:   std::vector<CEvent*> events;
1412:   CEvent* signaled{};
1412:   XbmcThreads::ConditionVariable actualCv;
1412:   CCriticalSection mutex;
1412: 
1412:   unsigned int numWaits{0};
1412: 
1412: 
1412:   inline void Set(CEvent* child)
1412:   {
1412:     std::unique_lock<CCriticalSection> l(mutex);
1412:     signaled = child;
1412:     actualCv.notifyAll();
1412:   }
1412: 
1412:   friend class ::CEvent;
1412: 
1412:   CEventGroup(const CEventGroup&) = delete;
1412:   CEventGroup& operator=(const CEventGroup&) = delete;
1412: 
1412: public:
1412: 
1412: 
1412: 
1412: 
1412:   CEventGroup(std::initializer_list<CEvent*> events);
1412: 
1412:   ~CEventGroup();
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   CEvent* wait();
1412: # 185 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1412:   template<typename Rep, typename Period>
1412:   CEvent* wait(std::chrono::duration<Rep, Period> duration)
1412:   {
1412:     std::unique_lock<CCriticalSection> lock(mutex);
1412:     numWaits++;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     signaled = nullptr;
1412:     for (auto* cur : events)
1412:     {
1412:       std::unique_lock<CCriticalSection> lock2(cur->mutex);
1412:       if (cur->signaled)
1412:         signaled = cur;
1412:     }
1412: 
1412: 
1412:     if (!signaled)
1412:     {
1412: 
1412:       if (duration == std::chrono::duration<Rep, Period>::max())
1412:         actualCv.wait(mutex, [this]() { return signaled != nullptr; });
1412:       else
1412:         actualCv.wait(mutex, duration, [this]() { return signaled != nullptr; });
1412:     }
1412:     numWaits--;
1412: 
1412: 
1412:     CEvent* ret = signaled;
1412:     if (numWaits == 0)
1412:     {
1412:       if (signaled)
1412: 
1412: 
1412:         signaled->Wait(std::chrono::duration<Rep, Period>::zero());
1412:       signaled = nullptr;
1412:     }
1412:     return ret;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline int getNumWaits()
1412:   {
1412:     std::unique_lock<CCriticalSection> lock(mutex);
1412:     return numWaits;
1412:   }
1412: };
1412: }
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 2
1412: 
1412: class CVideoReferenceClock;
1412: typedef void (*PUPDATECLOCK)(int NrVBlanks, uint64_t time, void *clock);
1412: 
1412: class CVideoSync
1412: {
1412: public:
1412:   explicit CVideoSync(void* clock) { m_refClock = clock; }
1412:   virtual ~CVideoSync() = default;
1412:   virtual bool Setup(PUPDATECLOCK func) = 0;
1412:   virtual void Run(CEvent& stop) = 0;
1412:   virtual void Cleanup() = 0;
1412:   virtual float GetFps() = 0;
1412:   virtual void Ref 
1434: 
1434:   static std::string ToHexadecimal(const std::string& in);
1434: # 334 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   template<typename T>
1434:   static std::string FormatNumber(T num)
1434:   {
1434:     std::stringstream ss;
1434: 
1434: 
1434: 
1434:     ss.imbue(GetOriginalLocale());
1434: 
1434:     ss.precision(1);
1434:     ss << std::fixed << num;
1434:     return ss.str();
1434:   }
1434: # 356 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   static std::string Paramify(const std::string &param);
1434: # 365 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   static std::string DeParamify(const std::string& param);
1434: # 374 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   static std::vector<std::string> Tokenize(const std::string& input, const std::string& delimiters);
1434:   static void Tokenize(const std::string& input, std::vector<std::string>& tokens, const std::string& delimiters);
1434:   static std::vector<std::string> Tokenize(const std::string& input, const char delimiter);
1434:   static void Tokenize(const std::string& input, std::vector<std::string>& tokens, const char delimiter);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static uint32_t ToUint32(std::string_view str, uint32_t fallback = 0) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static uint64_t ToUint64(std::string_view str, uint64_t fallback = 0) noexcept;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static float ToFloat(std::string_view str, float fallback = 0.0f) noexcept;
1434: # 411 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1434:   static std::string FormatFileSize(uint64_t bytes);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static std::string CreateFromCString(const char* cstr);
1434: 
1434: private:
1434: 
1434: 
1434: 
1434: 
1434:   static const std::locale& GetOriginalLocale() noexcept;
1434: };
1434: 
1434: struct sortstringbyname
1434: {
1434:   bool operator()(const std::string& strItem1, const std::string& strItem2) const
1434:   {
1434:     return StringUtils::CompareNoCase(strItem1, strItem2) < 0;
1434:   }
1434: };
1434: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:        
1434: 
1434: 
1434: 
1434: 
1434: class CURL;
1434: class CAdvancedSettings;
1434: class CFileItem;
1434: 
1434: class URIUtils
1434: {
1434: public:
1434:   static void RegisterAdvancedSettings(const CAdvancedSettings& advancedSettings);
1434:   static void UnregisterAdvancedSettings();
1434: 
1434:   static std::string GetDirectory(const std::string &strFilePath);
1434: 
1434:   static std::string GetFileName(const CURL& url);
1434:   static std::string GetFileName(const std::string& strFileNameAndPath);
1434: 
1434:   static std::string GetExtension(const CURL& url);
1434:   static std::string GetExtension(const std::string& strFileName);
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static bool HasPluginPath(const CFileItem& item);
1434: # 46 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static bool HasExtension(const std::string& strFileName);
1434: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static bool HasExtension(const std::string& strFileName, const std::string& strExtensions);
1434:   static bool HasExtension(const CURL& url, const std::string& strExtensions);
1434: 
1434:   static void RemoveExtension(std::string& strFileName);
1434:   static std::string ReplaceExtension(const std::string& strFile,
1434:                                      const std::string& strNewExtension);
1434:   static void Split(const std::string& strFileNameAndPath,
1434:                     std::string& strPath, std::string& strFileName);
1434:   static std::vector<std::string> SplitPath(const std::string& strPath);
1434: 
1434:   static void GetCommonPath(std::string& strParent, const std::string& strPath);
1434:   static std::string GetParentPath(const std::string& strPath);
1434:   static bool GetParentPath(const std::string& strPath, std::string& strParent);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static std::string GetBasePath(const std::string& strPath);
1434: # 85 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static std::string ChangeBasePath(const std::string &fromPath, const std::string &fromFile, const std::string &toPath, const bool &bAddPath = true);
1434: 
1434:   static CURL SubstitutePath(const CURL& url, bool reverse = false);
1434:   static std::string SubstitutePath(const std::string& strPath, bool reverse = false);
1434: # 97 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static bool IsProtocol(const std::string& url, const std::string& type);
1434: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static bool PathHasParent(std::string path, std::string parent, bool translate = false);
1434: # 118 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static bool PathEquals(std::string path1, std::string path2, bool ignoreTrailingSlash = false, bool ignoreURLOptions = false);
1434: 
1434:   static bool IsAddonsPath(const std::string& strFile);
1434:   static bool IsSourcesPath(const std::string& strFile);
1434:   static bool IsCDDA(const std::string& strFile);
1434:   static bool IsDAV(const std::string& strFile);
1434:   static bool IsDOSPath(const std::string &path);
1434:   static bool IsDVD(const std::string& strFile);
1434:   static bool IsFTP(const std::string& strFile);
1434:   static bool IsHTTP(const std::string& strFile, bool bTranslate = false);
1434:   static bool IsUDP(const std::string& strFile);
1434:   static bool IsTCP(const std::string& strFile);
1434:   static bool IsHD(const std::string& strFileName);
1434:   static bool IsInArchive(const std::string& strFile);
1434:   static bool IsInRAR(const std::string& strFile);
1434:   static bool IsInternetStream(const std::string& path, bool bStrictCheck = false);
1434:   static bool IsInternetStream(const CURL& url, bool bStrictCheck = false);
1434:   static bool IsStreamedFilesystem(const std::string& strPath);
1434:   static bool IsNetworkFilesystem(const std::string& strPath);
1434:   static bool IsInAPK(const std::string& strFile);
1434:   static bool IsInZIP(const std::string& strFile);
1434:   static bool IsISO9660(const std::string& strFile);
1434:   static bool IsLiveTV(const std::string& strFile);
1434:   static bool IsPVRRecording(const std::string& strFile);
1434:   static bool IsPVRRecordingFileOrFolder(const std::string& strFile);
1434:   static bool IsPVRTVRecordingFileOrFolder(const std::string& strFile);
1434:   static bool IsPVRRadioRecordingFileOrFolder(const std::string& strFile);
1434:   static bool IsMultiPath(const std::string& strPath);
1434:   static bool IsMusicDb(const std::string& strFile);
1434:   static bool IsNfs(const std::string& strFile);
1434:   static bool IsOnDVD(const std::string& strFile);
1434:   static bool IsOnLAN(const std::string& strFile);
1434:   static bool IsHostOnLAN(const std::string& hostName, bool offLineCheck = false);
1434:   static bool IsPlugin(const std::string& strFile);
1434:   static bool IsScript(const std::string& strFile);
1434:   static bool IsRAR(const std::string& strFile);
1434:   static bool IsRemote(const std::string& strFile);
1434:   static bool IsSmb(const std::string& strFile);
1434:   static bool IsSpecial(const std::string& strFile);
1434:   static bool IsStack(const std::string& strFile);
1434:   static bool IsFavourite(const std::string& strFile);
1434:   static bool IsUPnP(const std::string& strFile);
1434:   static bool IsURL(const std::string& strFile);
1434:   static bool IsVideoDb(const std::string& strFile);
1434:   static bool IsAPK(const std::string& strFile);
1434:   static bool IsZIP(const std::string& strFile);
1434:   static bool IsArchive(const std::string& strFile);
1434:   static bool IsBluray(const std::string& strFile);
1434:   static bool IsAndroidApp    _SC_2_SW_DEV,
1115: 
1115:     _SC_2_LOCALEDEF,
1115: 
1115: 
1115:     _SC_PII,
1115: 
1115:     _SC_PII_XTI,
1115: 
1115:     _SC_PII_SOCKET,
1115: 
1115:     _SC_PII_INTERNET,
1115: 
1115:     _SC_PII_OSI,
1115: 
1115:     _SC_POLL,
1115: 
1115:     _SC_SELECT,
1115: 
1115:     _SC_UIO_MAXIOV,
1115: 
1115:     _SC_IOV_MAX = _SC_UIO_MAXIOV,
1115: 
1115:     _SC_PII_INTERNET_STREAM,
1115: 
1115:     _SC_PII_INTERNET_DGRAM,
1115: 
1115:     _SC_PII_OSI_COTS,
1115: 
1115:     _SC_PII_OSI_CLTS,
1115: 
1115:     _SC_PII_OSI_M,
1115: 
1115:     _SC_T_IOV_MAX,
1115: 
1115: 
1115: 
1115:     _SC_THREADS,
1115: 
1115:     _SC_THREAD_SAFE_FUNCTIONS,
1115: 
1115:     _SC_GETGR_R_SIZE_MAX,
1115: 
1115:     _SC_GETPW_R_SIZE_MAX,
1115: 
1115:     _SC_LOGIN_NAME_MAX,
1115: 
1115:     _SC_TTY_NAME_MAX,
1115: 
1115:     _SC_THREAD_DESTRUCTOR_ITERATIONS,
1115: 
1115:     _SC_THREAD_KEYS_MAX,
1115: 
1115:     _SC_THREAD_STACK_MIN,
1115: 
1115:     _SC_THREAD_THREADS_MAX,
1115: 
1115:     _SC_THREAD_ATTR_STACKADDR,
1115: 
1115:     _SC_THREAD_ATTR_STACKSIZE,
1115: 
1115:     _SC_THREAD_PRIORITY_SCHEDULING,
1115: 
1115:     _SC_THREAD_PRIO_INHERIT,
1115: 
1115:     _SC_THREAD_PRIO_PROTECT,
1115: 
1115:     _SC_THREAD_PROCESS_SHARED,
1115: 
1115: 
1115:     _SC_NPROCESSORS_CONF,
1115: 
1115:     _SC_NPROCESSORS_ONLN,
1115: 
1115:     _SC_PHYS_PAGES,
1115: 
1115:     _SC_AVPHYS_PAGES,
1115: 
1115:     _SC_ATEXIT_MAX,
1115: 
1115:     _SC_PASS_MAX,
1115: 
1115: 
1115:     _SC_XOPEN_VERSION,
1115: 
1115:     _SC_XOPEN_XCU_VERSION,
1115: 
1115:     _SC_XOPEN_UNIX,
1115: 
1115:     _SC_XOPEN_CRYPT,
1115: 
1115:     _SC_XOPEN_ENH_I18N,
1115: 
1115:     _SC_XOPEN_SHM,
1115: 
1115: 
1115:     _SC_2_CHAR_TERM,
1115: 
1115:     _SC_2_C_VERSION,
1115: 
1115:     _SC_2_UPE,
1115: 
1115: 
1115:     _SC_XOPEN_XPG2,
1115: 
1115:     _SC_XOPEN_XPG3,
1115: 
1115:     _SC_XOPEN_XPG4,
1115: 
1115: 
1115:     _SC_CHAR_BIT,
1115: 
1115:     _SC_CHAR_MAX,
1115: 
1115:     _SC_CHAR_MIN,
1115: 
1115:     _SC_INT_MAX,
1115: 
1115:     _SC_INT_MIN,
1115: 
1115:     _SC_LONG_BIT,
1115: 
1115:     _SC_WORD_BIT,
1115: 
1115:     _SC_MB_LEN_MAX,
1115: 
1115:     _SC_NZERO,
1115: 
1115:     _SC_SSIZE_MAX,
1115: 
1115:     _SC_SCHAR_MAX,
1115: 
1115:     _SC_SCHAR_MIN,
1115: 
1115:     _SC_SHRT_MAX,
1115: 
1115:     _SC_SHRT_MIN,
1115: 
1115:     _SC_UCHAR_MAX,
1115: 
1115:     _SC_UINT_MAX,
1115: 
1115:     _SC_ULONG_MAX,
1115: 
1115:     _SC_USHRT_MAX,
1115: 
1115: 
1115:     _SC_NL_ARGMAX,
1115: 
1115:     _SC_NL_LANGMAX,
1115: 
1115:     _SC_NL_MSGMAX,
1115: 
1115:     _SC_NL_NMAX,
1115: 
1115:     _SC_NL_SETMAX,
1115: 
1115:     _SC_NL_TEXTMAX,
1115: 
1115: 
1115:     _SC_XBS5_ILP32_OFF32,
1115: 
1115:     _SC_XBS5_ILP32_OFFBIG,
1115: 
1115:     _SC_XBS5_LP64_OFF64,
1115: 
1115:     _SC_XBS5_LPBIG_OFFBIG,
1115: 
1115: 
1115:     _SC_XOPEN_LEGACY,
1115: 
1115:     _SC_XOPEN_REALTIME,
1115: 
1115:     _SC_XOPEN_REALTIME_THREADS,
1115: 
1115: 
1115:     _SC_ADVISORY_INFO,
1115: 
1115:     _SC_BARRIERS,
1115: 
1115:     _SC_BASE,
1115: 
1115:     _SC_C_LANG_SUPPORT,
1115: 
1115:     _SC_C_LANG_SUPPORT_R,
1115: 
1115:     _SC_CLOCK_SELECTION,
1115: 
1115:     _SC_CPUTIME,
1115: 
1115:     _SC_THREAD_CPUTIME,
1115: 
1115:     _SC_DEVICE_IO,
1115: 
1115:     _SC_DEVICE_SPECIFIC,
1115: 
1115:     _SC_DEVICE_SPECIFIC_R,
1115: 
1115:     _SC_FD_MGMT,
1115: 
1115:     _SC_FIFO,
1115: 
1115:     _SC_PIPE,
1115: 
1115:     _SC_FILE_ATTRIBUTES,
1115: 
1115:     _SC_FILE_LOCKING,
1115: 
1115:     _SC_FILE_SYSTEM,
1115: 
1115:     _SC_MONOTONIC_CLOCK,
1115: 
1115:     _SC_MULTI_PROCESS,
1115: 
1115:     _SC_SINGLE_PROCESS,
1115: 
1115:     _SC_NETWORKING,
1115: 
1115:     _SC_READER_WRITER_LOCKS,
1115: 
1115:     _SC_SPIN_LOCKS,
1115: 
1115:     _SC_REGEXP,
1115: 
1115:     _SC_REGEX_VERSION,
1115: 
1115:     _SC_SHELL,
1115: 
1115:     _SC_SIGNALS,
1115: 
1115:     _SC_SPAWN,
1115: 
1115:     _SC_SPORADIC_SERVER,
1115: 
1115:     _SC_THREAD_SPORADIC_SERVER,
1115: 
1115:     _SC_SYSTEM_DATABASE,
1115: 
1115:     _SC_SYSTEM_DATABASE_R,
1115: 
1115:     _SC_TIMEOUTS,
1115: 
1115: reshChanged() {}
1412: 
1412: protected:
1412:   PUPDATECLOCK UpdateClock;
1412:   float m_fps;
1412:   void *m_refClock;
1412: };
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h"
1412:        
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 1
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 1
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1412:        
1412: 
1412: 
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h" 1
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1412:        
1412: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1412: typedef enum
1412: {
1412: 
1412:   XBMCK_UNKNOWN = 0x00,
1412:   XBMCK_FIRST = 0x00,
1412:   XBMCK_CTRLF = 0x06,
1412:   XBMCK_BACKSPACE = 0x08,
1412:   XBMCK_TAB = 0x09,
1412:   XBMCK_CLEAR = 0x0C,
1412:   XBMCK_RETURN = 0x0D,
1412:   XBMCK_PAUSE = 0x13,
1412:   XBMCK_ESCAPE = 0x1B,
1412:   XBMCK_SPACE = 0x20,
1412:   XBMCK_EXCLAIM = 0x21,
1412:   XBMCK_QUOTEDBL = 0x22,
1412:   XBMCK_HASH = 0x23,
1412:   XBMCK_DOLLAR = 0x24,
1412:   XBMCK_PERCENT = 0x25,
1412:   XBMCK_AMPERSAND = 0x26,
1412:   XBMCK_QUOTE = 0x27,
1412:   XBMCK_LEFTPAREN = 0x28,
1412:   XBMCK_RIGHTPAREN = 0x29,
1412:   XBMCK_ASTERISK = 0x2A,
1412:   XBMCK_PLUS = 0x2B,
1412:   XBMCK_COMMA = 0x2C,
1412:   XBMCK_MINUS = 0x2D,
1412:   XBMCK_PERIOD = 0x2E,
1412:   XBMCK_SLASH = 0x2F,
1412:   XBMCK_0 = 0x30,
1412:   XBMCK_1 = 0x31,
1412:   XBMCK_2 = 0x32,
1412:   XBMCK_3 = 0x33,
1412:   XBMCK_4 = 0x34,
1412:   XBMCK_5 = 0x35,
1412:   XBMCK_6 = 0x36,
1412:   XBMCK_7 = 0x37,
1412:   XBMCK_8 = 0x38,
1412:   XBMCK_9 = 0x39,
1412:   XBMCK_COLON = 0x3A,
1412:   XBMCK_SEMICOLON = 0x3B,
1412:   XBMCK_LESS = 0x3C,
1412:   XBMCK_EQUALS = 0x3D,
1412:   XBMCK_GREATER = 0x3E,
1412:   XBMCK_QUESTION = 0x3F,
1412:   XBMCK_AT = 0x40,
1412: 
1412:   XBMCK_LEFTBRACKET = 0x5B,
1412:   XBMCK_BACKSLASH = 0x5C,
1412:   XBMCK_RIGHTBRACKET = 0x5D,
1412:   XBMCK_CARET = 0x5E,
1412:   XBMCK_UNDERSCORE = 0x5F,
1412:   XBMCK_BACKQUOTE = 0x60,
1412:   XBMCK_a = 0x61,
1412:   XBMCK_b = 0x62,
1412:   XBMCK_c = 0x63,
1412:   XBMCK_d = 0x64,
1412:   XBMCK_e = 0x65,
1412:   XBMCK_f = 0x66,
1412:   XBMCK_g = 0x67,
1412:   XBMCK_h = 0x68,
1412:   XBMCK_i = 0x69,
1412:   XBMCK_j = 0x6A,
1412:   XBMCK_k = 0x6B,
1412:   XBMCK_l = 0x6C,
1412:   XBMCK_m = 0x6D,
1412:   XBMCK_n = 0x6E,
1412:   XBMCK_o = 0x6F,
1412:   XBMCK_p = 0x70,
1412:   XBMCK_q = 0x71,
1412:   XBMCK_r = 0x72,
1412:   XBMCK_s = 0x73,
1412:   XBMCK_t = 0x74,
1412:   XBMCK_u = 0x75,
1412:   XBMCK_v = 0x76,
1412:   XBMCK_w = 0x77,
1412:   XBMCK_x = 0x78,
1412:   XBMCK_y = 0x79,
1412:   XBMCK_z = 0x7A,
1412:   XBMCK_LEFTBRACE = 0x7b,
1412:   XBMCK_PIPE = 0x7C,
1412:   XBMCK_RIGHTBRACE = 0x7D,
1412:   XBMCK_TILDE = 0x7E,
1412:   XBMCK_DELETE = 0x7F,
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   XBMCK_BROWSER_BACK = 0xA6,
1412:   XBMCK_BROWSER_FORWARD = 0xA7,
1412:   XBMCK_BROWSER_REFRESH = 0xA8,
1412:   XBMCK_BROWSER_STOP = 0xA9,
1412:   XBMCK_BROWSER_SEARCH = 0xAA,
1412:   XBMCK_BROWSER_FAVORITES = 0xAB,
1412:   XBMCK_BROWSER_HOME = 0xAC,
1412:   XBMCK_VOLUME_MUTE = 0xAD,
1412:   XBMCK_VOLUME_DOWN = 0xAE,
1412:   XBMCK_VOLUME_UP = 0xAF,
1412:   XBMCK_MEDIA_NEXT_TRACK = 0xB0,
1412:   XBMCK_MEDIA_PREV_TRACK = 0xB1,
1412:   XBMCK_MEDIA_STOP = 0xB2,
1412:   XBMCK_MEDIA_PLAY_PAUSE = 0xB3,
1412:   XBMCK_LAUNCH_MAIL = 0xB4,
1412:   XBMCK_LAUNCH_MEDIA_SELECT = 0xB5,
1412:   XBMCK_LAUNCH_APP1 = 0xB6,
1412:   XBMCK_LAUNCH_APP2 = 0xB7,
1412:   XBMCK_LAUNCH_FILE_BROWSER = 0xB8,
1412:   XBMCK_LAUNCH_MEDIA_CENTER = 0xB9,
1412:   XBMCK_MEDIA_REWIND = 0xBA,
1412:   XBMCK_MEDIA_FASTFORWARD = 0xBB,
1412: 
1412: 
1412:   XBMCK_KP0 = 0x100,
1412:   XBMCK_KP1 = 0x101,
1412:   XBMCK_KP2(const std::string& strFile);
1434:   static bool IsLibraryFolder(const std::string& strFile);
1434:   static bool IsLibraryContent(const std::string& strFile);
1434:   static bool IsPVR(const std::string& strFile);
1434:   static bool IsPVRChannel(const std::string& strFile);
1434:   static bool IsPVRChannelGroup(const std::string& strFile);
1434:   static bool IsPVRGuideItem(const std::string& strFile);
1434: 
1434:   static std::string AppendSlash(std::string strFolder);
1434:   static void AddSlashAtEnd(std::string& strFolder);
1434:   static bool HasSlashAtEnd(const std::string& strFile, bool checkURL = false);
1434:   static void RemoveSlashAtEnd(std::string& strFolder);
1434:   static bool CompareWithoutSlashAtEnd(const std::string& strPath1, const std::string& strPath2);
1434:   static std::string FixSlashesAndDups(const std::string& path, const char slashCharacter = '/', const size_t startFrom = 0);
1434: # 191 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static std::string CanonicalizePath(const std::string& path, const char slashCharacter = '\\');
1434: 
1434:   static CURL CreateArchivePath(const std::string& type,
1434:                                 const CURL& archiveUrl,
1434:                                 const std::string& pathInArchive = "",
1434:                                 const std::string& password = "");
1434: 
1434:   static std::string AddFileToFolder(const std::string& strFolder, const std::string& strFile);
1434:   template <typename... T>
1434:   static std::string AddFileToFolder(const std::string& strFolder, const std::string& strFile, T... args)
1434:   {
1434:     auto newPath = AddFileToFolder(strFolder, strFile);
1434:     return AddFileToFolder(newPath, args...);
1434:   }
1434: 
1434:   static bool HasParentInHostname(const CURL& url);
1434:   static bool HasEncodedHostname(const CURL& url);
1434:   static bool HasEncodedFilename(const CURL& url);
1434: # 222 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static std::string GetRealPath(const std::string &path);
1434: # 234 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1434:   static bool UpdateUrlEncoding(std::string &strFilename);
1434: 
1434: private:
1434:   static std::string resolvePath(const std::string &path);
1434: 
1434:   static const CAdvancedSettings* m_advancedSettings;
1434: };
1434: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1434:        
1434: 
1434: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h" 1
1434: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1434:        
1434: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1434: # 1 "/usr/include/tinyxml.h" 1 3 4
1434: # 41 "/usr/include/tinyxml.h" 3 4
1434: # 1 "/usr/include/c++/12/stdlib.h" 1 3 4
1434: # 42 "/usr/include/tinyxml.h" 2 3 4
1434: 
1434: # 1 "/usr/include/assert.h" 1 3 4
1434: # 44 "/usr/include/tinyxml.h" 2 3 4
1434: # 52 "/usr/include/tinyxml.h" 3 4
1434: # 1 "/usr/include/c++/12/iostream" 1 3 4
1434: # 36 "/usr/include/c++/12/iostream" 3 4
1434:        
1434: # 37 "/usr/include/c++/12/iostream" 3
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: # 42 "/usr/include/c++/12/iostream" 3
1434: namespace std __attribute__ ((__visibility__ ("default")))
1434: {
1434: 
1434: # 60 "/usr/include/c++/12/iostream" 3
1434:   extern istream cin;
1434:   extern ostream cout;
1434:   extern ostream cerr;
1434:   extern ostream clog;
1434: 
1434: 
1434:   extern wistream wcin;
1434:   extern wostream wcout;
1434:   extern wostream wcerr;
1434:   extern wostream wclog;
1434: 
1434: 
1434: 
1434: 
1434:   static ios_base::Init __ioinit;
1434: 
1434: 
1434: }
1434: # 53 "/usr/include/tinyxml.h" 2 3 4
1434: # 87 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlDocument;
1434: class TiXmlElement;
1434: class TiXmlComment;
1434: class TiXmlUnknown;
1434: class TiXmlAttribute;
1434: class TiXmlText;
1    _SC_TYPED_MEMORY_OBJECTS,
1115: 
1115:     _SC_USER_GROUPS,
1115: 
1115:     _SC_USER_GROUPS_R,
1115: 
1115:     _SC_2_PBS,
1115: 
1115:     _SC_2_PBS_ACCOUNTING,
1115: 
1115:     _SC_2_PBS_LOCATE,
1115: 
1115:     _SC_2_PBS_MESSAGE,
1115: 
1115:     _SC_2_PBS_TRACK,
1115: 
1115:     _SC_SYMLOOP_MAX,
1115: 
1115:     _SC_STREAMS,
1115: 
1115:     _SC_2_PBS_CHECKPOINT,
1115: 
1115: 
1115:     _SC_V6_ILP32_OFF32,
1115: 
1115:     _SC_V6_ILP32_OFFBIG,
1115: 
1115:     _SC_V6_LP64_OFF64,
1115: 
1115:     _SC_V6_LPBIG_OFFBIG,
1115: 
1115: 
1115:     _SC_HOST_NAME_MAX,
1115: 
1115:     _SC_TRACE,
1115: 
1115:     _SC_TRACE_EVENT_FILTER,
1115: 
1115:     _SC_TRACE_INHERIT,
1115: 
1115:     _SC_TRACE_LOG,
1115: 
1115: 
1115:     _SC_LEVEL1_ICACHE_SIZE,
1115: 
1115:     _SC_LEVEL1_ICACHE_ASSOC,
1115: 
1115:     _SC_LEVEL1_ICACHE_LINESIZE,
1115: 
1115:     _SC_LEVEL1_DCACHE_SIZE,
1115: 
1115:     _SC_LEVEL1_DCACHE_ASSOC,
1115: 
1115:     _SC_LEVEL1_DCACHE_LINESIZE,
1115: 
1115:     _SC_LEVEL2_CACHE_SIZE,
1115: 
1115:     _SC_LEVEL2_CACHE_ASSOC,
1115: 
1115:     _SC_LEVEL2_CACHE_LINESIZE,
1115: 
1115:     _SC_LEVEL3_CACHE_SIZE,
1115: 
1115:     _SC_LEVEL3_CACHE_ASSOC,
1115: 
1115:     _SC_LEVEL3_CACHE_LINESIZE,
1115: 
1115:     _SC_LEVEL4_CACHE_SIZE,
1115: 
1115:     _SC_LEVEL4_CACHE_ASSOC,
1115: 
1115:     _SC_LEVEL4_CACHE_LINESIZE,
1115: 
1115: 
1115: 
1115:     _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
1115: 
1115:     _SC_RAW_SOCKETS,
1115: 
1115: 
1115:     _SC_V7_ILP32_OFF32,
1115: 
1115:     _SC_V7_ILP32_OFFBIG,
1115: 
1115:     _SC_V7_LP64_OFF64,
1115: 
1115:     _SC_V7_LPBIG_OFFBIG,
1115: 
1115: 
1115:     _SC_SS_REPL_MAX,
1115: 
1115: 
1115:     _SC_TRACE_EVENT_NAME_MAX,
1115: 
1115:     _SC_TRACE_NAME_MAX,
1115: 
1115:     _SC_TRACE_SYS_MAX,
1115: 
1115:     _SC_TRACE_USER_EVENT_MAX,
1115: 
1115: 
1115:     _SC_XOPEN_STREAMS,
1115: 
1115: 
1115:     _SC_THREAD_ROBUST_PRIO_INHERIT,
1115: 
1115:     _SC_THREAD_ROBUST_PRIO_PROTECT,
1115: 
1115: 
1115:     _SC_MINSIGSTKSZ,
1115: 
1115: 
1115:     _SC_SIGSTKSZ
1115: 
1115:   };
1115: 
1115: 
1115: enum
1115:   {
1115:     _CS_PATH,
1115: 
1115: 
1115:     _CS_V6_WIDTH_RESTRICTED_ENVS,
1115: 
1115: 
1115: 
1115:     _CS_GNU_LIBC_VERSION,
1115: 
1115:     _CS_GNU_LIBPTHREAD_VERSION,
1115: 
1115: 
1115:     _CS_V5_WIDTH_RESTRICTED_ENVS,
1115: 
1115: 
1115: 
1115:     _CS_V7_WIDTH_RESTRICTED_ENVS,
1115: 
1115: 
1115: 
1115:     _CS_LFS_CFLAGS = 1000,
1115: 
1115:     _CS_LFS_LDFLAGS,
1115: 
1115:     _CS_LFS_LIBS,
1115: 
1115:     _CS_LFS_LINTFLAGS,
1115: 
1115:     _CS_LFS64_CFLAGS,
1115: 
1115:     _CS_LFS64_LDFLAGS,
1115: 
1115:     _CS_LFS64_LIBS,
1115: 
1115:     _CS_LFS64_LINTFLAGS,
1115: 
1115: 
1115:     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
1115: 
1115:     _CS_XBS5_ILP32_OFF32_LDFLAGS,
1115: 
1115:     _CS_XBS5_ILP32_OFF32_LIBS,
1115: 
1115:     _CS_XBS5_ILP32_OFF32_LINTFLAGS,
1115: 
1115:     _CS_XBS5_ILP32_OFFBIG_CFLAGS,
1115: 
1115:     _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
1115: 
1115:     _CS_XBS5_ILP32_OFFBIG_LIBS,
1115: 
1115:     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
1115: 
1115:     _CS_XBS5_LP64_OFF64_CFLAGS,
1115: 
1115:     _CS_XBS5_LP64_OFF64_LDFLAGS,
1115: 
1115:     _CS_XBS5_LP64_OFF64_LIBS,
1115: 
1115:     _CS_XBS5_LP64_OFF64_LINTFLAGS,
1115: 
1115:     _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
1115: 
1115:     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
1115: 
1115:     _CS_XBS5_LPBIG_OFFBIG_LIBS,
1115: 
1115:     _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
1115: 
1115: 
1115:     _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
1115: 
1115:     _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
1115: 
1115:     _CS_POSIX_V6_ILP32_OFF32_LIBS,
1115: 
1115:     _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
1115: 
1115:     _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
1115: 
1115:     _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
1115: 
1115:     _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
1115: 
1115:     _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
1115: 
1115:     _CS_POSIX_V6_LP64_OFF64_CFLAGS,
1115: 
1115:     _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
1115: 
1115:     _CS_POSIX_V6_LP64_OFF64_LIBS,
1115: 
1115:     _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
1115: 
1115:     _CS_POSIX_V6_LPBIG_OFFBI434: class TiXmlDeclaration;
1434: class TiXmlParsingData;
1434: 
1434: const int TIXML_MAJOR_VERSION = 2;
1434: const int TIXML_MINOR_VERSION = 6;
1434: const int TIXML_PATCH_VERSION = 2;
1434: 
1434: 
1434: 
1434: 
1434: struct TiXmlCursor
1434: {
1434:  TiXmlCursor() { Clear(); }
1434:  void Clear() { row = col = -1; }
1434: 
1434:  int row;
1434:  int col;
1434: };
1434: # 132 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlVisitor
1434: {
1434: public:
1434:  virtual ~TiXmlVisitor() {}
1434: 
1434: 
1434:  virtual bool VisitEnter( const TiXmlDocument& ) { return true; }
1434: 
1434:  virtual bool VisitExit( const TiXmlDocument& ) { return true; }
1434: 
1434: 
1434:  virtual bool VisitEnter( const TiXmlElement& , const TiXmlAttribute* ) { return true; }
1434: 
1434:  virtual bool VisitExit( const TiXmlElement& ) { return true; }
1434: 
1434: 
1434:  virtual bool Visit( const TiXmlDeclaration& ) { return true; }
1434: 
1434:  virtual bool Visit( const TiXmlText& ) { return true; }
1434: 
1434:  virtual bool Visit( const TiXmlComment& ) { return true; }
1434: 
1434:  virtual bool Visit( const TiXmlUnknown& ) { return true; }
1434: };
1434: 
1434: 
1434: enum
1434: {
1434:  TIXML_SUCCESS,
1434:  TIXML_NO_ATTRIBUTE,
1434:  TIXML_WRONG_TYPE
1434: };
1434: 
1434: 
1434: 
1434: enum TiXmlEncoding
1434: {
1434:  TIXML_ENCODING_UNKNOWN,
1434:  TIXML_ENCODING_UTF8,
1434:  TIXML_ENCODING_LEGACY
1434: };
1434: 
1434: const TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN;
1434: # 198 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlBase
1434: {
1434:  friend class TiXmlNode;
1434:  friend class TiXmlElement;
1434:  friend class TiXmlDocument;
1434: 
1434: public:
1434:  TiXmlBase() : userData(0) {}
1434:  virtual ~TiXmlBase() {}
1434: # 217 "/usr/include/tinyxml.h" 3 4
1434:  virtual void Print( FILE* cfile, int depth ) const = 0;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  static void SetCondenseWhiteSpace( bool condense ) { condenseWhiteSpace = condense; }
1434: 
1434: 
1434:  static bool IsWhiteSpaceCondensed() { return condenseWhiteSpace; }
1434: # 248 "/usr/include/tinyxml.h" 3 4
1434:  int Row() const { return location.row + 1; }
1434:  int Column() const { return location.col + 1; }
1434: 
1434:  void SetUserData( void* user ) { userData = user; }
1434:  void* GetUserData() { return userData; }
1434:  const void* GetUserData() const { return userData; }
1434: 
1434: 
1434: 
1434:  static const int utf8ByteTable[256];
1434: 
1434:  virtual const char* Parse( const char* p,
1434:         TiXmlParsingData* data,
1434:         TiXmlEncoding encoding ) = 0;
1434: 
1434: 
1434: 
1434: 
1434:  static void EncodeString( const std::string& str, std::string* out );
1434: 
1434:  enum
1434:  {
1434:   TIXML_NO_ERROR = 0,
1434:   TIXML_ERROR,
1434:   TIXML_ERROR_OPENING_FILE,
1434:   TIXML_ERROR_PARSING_ELEMENT,
1434:   TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
1434:   TIXML_ERROR_READING_ELEMENT_VALUE,
1434:   TIXML_ERROR_READING_ATTRIBUTES,
1434:   TIXML_ERROR_PARSING_EMPTY,
1434:   TIXML_ERROR_READING_END_TAG,
1434:   TIXML_ERROR_PARSING_UNKNOWN,
1434:   TIXML_ERROR_PARSING_COMMENT,
1434:   TIXML_ERROR_PARSING_DECLARATION,
1434:   TIXML_ERROR_DOCUMENT_EMPTY,
1434:   TIXML_ERROR_EMBEDDED_NULL,
1434:   TIXML_ERROR_PARSING_CDATA,
1434:   TIXML_ERROR_DOCUMENT_TOP_ONLY,
1434: 
1434:   TIXML_ERROR_STRING_COUNT
1434:  };
1434: 
1434: protected:
1434: 
1434:  static const char* SkipWhiteSpace( const char*, TiXmlEncoding encoding );
1434: 
1434:  inline static bool IsWhiteSpace( char c )
1434:  {
1434:   return ( isspace( (unsigned char) c ) || c == '\n' || c == '\r' );
1434:  }
1434:  inline static bool IsWhiteSpace( int c )
1434:  {
1434:   if ( c < 256 )
1434:    return IsWhiteSpace( (char) c );
1434:   return false;
1434:  }
1434: 
1434: 
1434:  static bool StreamWhiteSpace( std::istream * in, std::string * tag );
1434:  static bool StreamTo( std::istream * in, int character, std::string * tag );
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  static const char* ReadName( const char* p, std::string* name, TiXmlEncoding encoding );
1434: 
1434: 
1434: 
1434: 
1434:  static const char* ReadText( const char* in,
1434:          std::string* text,
1434:          bool ignoreWhiteSpace,
1434:          const char* endTag,
1434:          bool ignoreCase,
1434:          TiXmlEncoding encoding );
1434: 
1434: 
1434:  static const char* GetEntity( const char* in, char* value, int* length, TiXmlEncoding encoding );
1434: 
1434: 
1434: 
1434:  inline static const char* GetChar( const char* p, char* _value, int* length, TiXmlEncoding encoding )
1434:  {
1434:   (static_cast<void> (0));
1434:   if ( encoding == TIXML_ENCODING_UTF8 )
1434:   {
1434:    *length = utf8ByteTable[ *((const unsigned char*)p) ];
1434:    (static_cast<void> (0));
1434:   }
1434:   else
1434:   {
1434:    *length = 1;
1434:   }
1434: 
1434:   if ( *length == 1 )
1434:   {
1434:    if ( *p == '&' )
1434:     return GetEntity( p, _value, length, encoding );
1434:    *_value = *p;
1434:    return p+1;
1434:   }
1434:   else if ( *length )
1434:   {
1434: 
1434: 
1434:    for( int i=0; p[i] && i<*length; ++i ) {
1434:     _value[i] = p[i];
1434:    }
1434:    return p + (*length);
1434:   }
1434:   else
1434:   {
1434: 
1434:    return 0;
1434:   }
1434:  }
1434: 
1434: 
1434: 
1434: 
1434:  static bool StringEqual( const char* p,
1434:         const char* endTag,
1434:         bool ignoreCase,
1434:         TiXmlEncoding encoding );
1434: 
1434:  static const char* errorString[ TIXML_ERROR_STRING_COUNT ];
1434: 
1434:  TiXmlCursor location;
1434: 
1434: 
1434:  void* userData;
1434: 
1434: 
1434: 
1434:  static int IsAlpha( unsigned char anyByte, TiXmlEncoding encoding );
1434:  static int IsAlphaNum( unsigned char anyByte, TiXmlEncoding encoding );
1434:  inline static int ToLower( int v, TiXmlEncoding encoding )
1434:  {
1434:   if ( encoding == TIXML_ENCODING_UTF8 )
1434:   {
1434:    if ( v < 128 ) return tolower( v );
1434:    return v;
1434:   }
1434:   else
1434:   {
1434:    return tolower( v );
1434:   }
1434:  }
1434:  static void ConvertUTF32ToUTF8( unsigned long input, char* output, int* length );
1434: 
1434: private:
1434:  TiXmlBase( const TiXmlBase& );
1434:  void operator=( const TiXmlBase& base );
1434: 
1434:  struct Entity
1434:  {
1434:   const char* str;
1434:   unsigned int strLength;
1434:   char chr;
1434:  };
1434:  enum
1434:  {
1434:   NUM_ENTITY = 5,
1434:   MAX_ENTITY_LENGTH = 6
1434: 
1434:  };
1434:  static Entity entity[ NUM_ENTITY ];
1434:  static bool condenseWhiteSpace;
1434: };
1434: # 427 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlNode : public TiXmlBase
1434: {
1434:  friend class TiXmlDocument;
1434:  friend class TiXmlElement;
1434: 
1434: public:
1434: 
1434: 
1434: 
1434: 
1434: 
1434:      friend std::istream& operator >> (std::istream& in, TiXmlNode& base);
1434: # 456 "/usr/include/tinyxml.h" 3 4
1434:      friend std::ostream& operator<< (std::ostream& out, const TiXmlNode& base);
1434: 
1434: 
1434:   friend std::string& operator<< (std::string& out, const TiXmlNode& base );
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  enum NodeType
1434:  {
1434:   TINYXML_DOCUMENT,
1434:   TINYXML_ELEMENT,
1434:   TINYXML_COMMENT,
1434:   TINYXML_UNKNOWN,
1434:   TINYXML_TEXT,
1434:   TINYXML_DECLARATION,
1434:   TINYXML_TYPECOUNT
1434:  };
1434: 
1434:  virtual ~TiXmlNode();
1434: # 491 "/usr/include/tinyxml.h" 3 4
1434:  const char *Value() const { return value.c_str (); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  const std::string& ValueStr() const { return value; }
1434: 
1434: 
1434:  const std::string& ValueTStr() const { return value; }
1434: # 512 "/usr/include/tinyxml.h" 3 4
1434:  void SetValue(const char * _value) { value = _value;}
1434: 
1434: 
1434: 
1434:  void SetValue( const std::string& _value ) { value = _value; }
1434: 
1434: 
1434: 
1434:  void Clear();
1434: 
1434: 
1434:  TiXmlNode* Parent() { return parent; }
1434:  const TiXmlNode* Parent() const { return parent; }
1434: 
1434:  const TiXmlNode* FirstChild() const { return firstChild; }
1434:  TiXmlNode* FirstChild() { return firstChild; }
1434:  const T = 0x102,
1412:   XBMCK_KP3 = 0x103,
1412:   XBMCK_KP4 = 0x104,
1412:   XBMCK_KP5 = 0x105,
1412:   XBMCK_KP6 = 0x106,
1412:   XBMCK_KP7 = 0x107,
1412:   XBMCK_KP8 = 0x108,
1412:   XBMCK_KP9 = 0x109,
1412:   XBMCK_KP_PERIOD = 0x10A,
1412:   XBMCK_KP_DIVIDE = 0x10B,
1412:   XBMCK_KP_MULTIPLY = 0x10C,
1412:   XBMCK_KP_MINUS = 0x10D,
1412:   XBMCK_KP_PLUS = 0x10E,
1412:   XBMCK_KP_ENTER = 0x10F,
1412:   XBMCK_KP_EQUALS = 0x110,
1412: 
1412: 
1412:   XBMCK_UP = 0x111,
1412:   XBMCK_DOWN = 0x112,
1412:   XBMCK_RIGHT = 0x113,
1412:   XBMCK_LEFT = 0x114,
1412:   XBMCK_INSERT = 0x115,
1412:   XBMCK_HOME = 0x116,
1412:   XBMCK_END = 0x117,
1412:   XBMCK_PAGEUP = 0x118,
1412:   XBMCK_PAGEDOWN = 0x119,
1412: 
1412: 
1412:   XBMCK_F1 = 0x11A,
1412:   XBMCK_F2 = 0x11B,
1412:   XBMCK_F3 = 0x11C,
1412:   XBMCK_F4 = 0x11D,
1412:   XBMCK_F5 = 0x11E,
1412:   XBMCK_F6 = 0x11F,
1412:   XBMCK_F7 = 0x120,
1412:   XBMCK_F8 = 0x121,
1412:   XBMCK_F9 = 0x122,
1412:   XBMCK_F10 = 0x123,
1412:   XBMCK_F11 = 0x124,
1412:   XBMCK_F12 = 0x125,
1412:   XBMCK_F13 = 0x126,
1412:   XBMCK_F14 = 0x127,
1412:   XBMCK_F15 = 0x128,
1412: 
1412: 
1412:   XBMCK_NUMLOCK = 0x12C,
1412:   XBMCK_CAPSLOCK = 0x12D,
1412:   XBMCK_SCROLLOCK = 0x12E,
1412:   XBMCK_RSHIFT = 0x12F,
1412:   XBMCK_LSHIFT = 0x130,
1412:   XBMCK_RCTRL = 0x131,
1412:   XBMCK_LCTRL = 0x132,
1412:   XBMCK_RALT = 0x133,
1412:   XBMCK_LALT = 0x134,
1412:   XBMCK_RMETA = 0x135,
1412:   XBMCK_LMETA = 0x136,
1412:   XBMCK_LSUPER = 0x137,
1412:   XBMCK_RSUPER = 0x138,
1412:   XBMCK_MODE = 0x139,
1412:   XBMCK_COMPOSE = 0x13A,
1412: 
1412: 
1412:   XBMCK_HELP = 0x13B,
1412:   XBMCK_PRINT = 0x13C,
1412:   XBMCK_SYSREQ = 0x13D,
1412:   XBMCK_BREAK = 0x13E,
1412:   XBMCK_MENU = 0x13F,
1412:   XBMCK_POWER = 0x140,
1412:   XBMCK_EURO = 0x141,
1412:   XBMCK_UNDO = 0x142,
1412:   XBMCK_SLEEP = 0x143,
1412:   XBMCK_GUIDE = 0x144,
1412:   XBMCK_SETTINGS = 0x145,
1412:   XBMCK_INFO = 0x146,
1412:   XBMCK_RED = 0x147,
1412:   XBMCK_GREEN = 0x148,
1412:   XBMCK_YELLOW = 0x149,
1412:   XBMCK_BLUE = 0x14a,
1412:   XBMCK_ZOOM = 0x14b,
1412:   XBMCK_TEXT = 0x14c,
1412:   XBMCK_FAVORITES = 0x14d,
1412:   XBMCK_HOMEPAGE = 0x14e,
1412:   XBMCK_CONFIG = 0x14f,
1412:   XBMCK_EPG = 0x150,
1412: 
1412: 
1412: 
1412: 
1412:   XBMCK_STOP = 337,
1412:   XBMCK_RECORD = 338,
1412:   XBMCK_REWIND = 339,
1412:   XBMCK_PHONE = 340,
1412:   XBMCK_PLAY = 341,
1412:   XBMCK_SHUFFLE = 342,
1412:   XBMCK_FASTFORWARD = 343,
1412:   XBMCK_EJECT = 344,
1412: 
1412:   XBMCK_LAST
1412: } XBMCKey;
1412: 
1412: 
1412: typedef enum
1412: {
1412:   XBMCKMOD_NONE = 0x0000,
1412:   XBMCKMOD_LSHIFT = 0x0001,
1412:   XBMCKMOD_RSHIFT = 0x0002,
1412:   XBMCKMOD_LSUPER = 0x0010,
1412:   XBMCKMOD_RSUPER = 0x0020,
1412:   XBMCKMOD_LCTRL = 0x0040,
1412:   XBMCKMOD_RCTRL = 0x0080,
1412:   XBMCKMOD_LALT = 0x0100,
1412:   XBMCKMOD_RALT = 0x0200,
1412:   XBMCKMOD_LMETA = 0x0400,
1412:   XBMCKMOD_RMETA = 0x0800,
1412:   XBMCKMOD_NUM = 0x1000,
1412:   XBMCKMOD_CAPS = 0x2000,
1412:   XBMCKMOD_MODE = 0x4000,
1412:   XBMCKMOD_RESERVED = 0x8000
1412: } XBMCMod;
1412: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 2
1412: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1412: typedef struct XBMC_keysym
1412: {
1412:   unsigned char scancode;
1412:   XBMCKey sym;
1412:   XBMCMod mod;
1412:   uint16_t unicode;
1412: } XBMC_keysym;
1412: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 2
1412: 
1412: 
1412: typedef enum
1412: {
1412:   XBMC_NOEVENT = 0,
1412:   XBMC_KEYDOWN,
1412:   XBMC_KEYUP,
1412:   XBMC_MOUSEMOTION,
1412:   XBMC_MOUSEBUTTONDOWN,
1412:   XBMC_MOUSEBUTTONUP,
1412:   XBMC_QUIT,
1412:   XBMC_VIDEORESIZE,
1412:   XBMC_FULLSCREEN_UPDATE,
1412:   XBMC_VIDEOMOVE,
1412:   XBMC_MODECHANGE,
1412:   XBMC_TOUCH,
1412:   XBMC_BUTTON,
1412:   XBMC_SETFOCUS,
1412:   XBMC_USEREVENT,
1412: 
1412:   XBMC_MAXEVENT = 256
1412: } XBMC_EventType;
1412: 
1412: 
1412: typedef struct XBMC_KeyboardEvent {
1412:  XBMC_keysym keysym;
1412: } XBMC_KeyboardEvent;
1412: 
1412: 
1412: typedef struct XBMC_MouseMotionEvent {G_CFLAGS,
1115: 
1115:     _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
1115: 
1115:     _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
1115: 
1115:     _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
1115: 
1115: 
1115:     _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
1115: 
1115:     _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
1115: 
1115:     _CS_POSIX_V7_ILP32_OFF32_LIBS,
1115: 
1115:     _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
1115: 
1115:     _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
1115: 
1115:     _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
1115: 
1115:     _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
1115: 
1115:     _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
1115: 
1115:     _CS_POSIX_V7_LP64_OFF64_CFLAGS,
1115: 
1115:     _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
1115: 
1115:     _CS_POSIX_V7_LP64_OFF64_LIBS,
1115: 
1115:     _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
1115: 
1115:     _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
1115: 
1115:     _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
1115: 
1115:     _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
1115: 
1115:     _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
1115: 
1115: 
1115:     _CS_V6_ENV,
1115: 
1115:     _CS_V7_ENV
1115: 
1115:   };
1115: # 631 "/usr/include/unistd.h" 2 3 4
1115: 
1115: 
1115: extern long int pathconf (const char *__path, int __name)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern long int fpathconf (int __fd, int __name) noexcept (true);
1115: 
1115: 
1115: extern long int sysconf (int __name) noexcept (true);
1115: 
1115: 
1115: 
1115: extern size_t confstr (int __name, char *__buf, size_t __len) noexcept (true)
1115:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: extern __pid_t getpid (void) noexcept (true);
1115: 
1115: 
1115: extern __pid_t getppid (void) noexcept (true);
1115: 
1115: 
1115: extern __pid_t getpgrp (void) noexcept (true);
1115: 
1115: 
1115: extern __pid_t __getpgid (__pid_t __pid) noexcept (true);
1115: 
1115: extern __pid_t getpgid (__pid_t __pid) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int setpgid (__pid_t __pid, __pid_t __pgid) noexcept (true);
1115: # 682 "/usr/include/unistd.h" 3 4
1115: extern int setpgrp (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __pid_t setsid (void) noexcept (true);
1115: 
1115: 
1115: 
1115: extern __pid_t getsid (__pid_t __pid) noexcept (true);
1115: 
1115: 
1115: 
1115: extern __uid_t getuid (void) noexcept (true);
1115: 
1115: 
1115: extern __uid_t geteuid (void) noexcept (true);
1115: 
1115: 
1115: extern __gid_t getgid (void) noexcept (true);
1115: 
1115: 
1115: extern __gid_t getegid (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int getgroups (int __size, __gid_t __list[]) noexcept (true) __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__write_only__, 2, 1)));
1115: 
1115: 
1115: extern int group_member (__gid_t __gid) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int setuid (__uid_t __uid) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int setreuid (__uid_t __ruid, __uid_t __euid) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int seteuid (__uid_t __uid) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int setgid (__gid_t __gid) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int setregid (__gid_t __rgid, __gid_t __egid) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int setegid (__gid_t __gid) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
1115:      noexcept (true) __atiXmlNode* FirstChild( const char * value ) const;
1434: 
1434:  TiXmlNode* FirstChild( const char * _value ) {
1434: 
1434: 
1434:   return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->FirstChild( _value ));
1434:  }
1434:  const TiXmlNode* LastChild() const { return lastChild; }
1434:  TiXmlNode* LastChild() { return lastChild; }
1434: 
1434:  const TiXmlNode* LastChild( const char * value ) const;
1434:  TiXmlNode* LastChild( const char * _value ) {
1434:   return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->LastChild( _value ));
1434:  }
1434: 
1434: 
1434:  const TiXmlNode* FirstChild( const std::string& _value ) const { return FirstChild (_value.c_str ()); }
1434:  TiXmlNode* FirstChild( const std::string& _value ) { return FirstChild (_value.c_str ()); }
1434:  const TiXmlNode* LastChild( const std::string& _value ) const { return LastChild (_value.c_str ()); }
1434:  TiXmlNode* LastChild( const std::string& _value ) { return LastChild (_value.c_str ()); }
1434: # 566 "/usr/include/tinyxml.h" 3 4
1434:  const TiXmlNode* IterateChildren( const TiXmlNode* previous ) const;
1434:  TiXmlNode* IterateChildren( const TiXmlNode* previous ) {
1434:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( previous ) );
1434:  }
1434: 
1434: 
1434:  const TiXmlNode* IterateChildren( const char * value, const TiXmlNode* previous ) const;
1434:  TiXmlNode* IterateChildren( const char * _value, const TiXmlNode* previous ) {
1434:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( _value, previous ) );
1434:  }
1434: 
1434: 
1434:  const TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) const { return IterateChildren (_value.c_str (), previous); }
1434:  TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) { return IterateChildren (_value.c_str (), previous); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlNode* InsertEndChild( const TiXmlNode& addThis );
1434: # 597 "/usr/include/tinyxml.h" 3 4
1434:  TiXmlNode* LinkEndChild( TiXmlNode* addThis );
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis );
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlNode* InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis );
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis );
1434: 
1434: 
1434:  bool RemoveChild( TiXmlNode* removeThis );
1434: 
1434: 
1434:  const TiXmlNode* PreviousSibling() const { return prev; }
1434:  TiXmlNode* PreviousSibling() { return prev; }
1434: 
1434: 
1434:  const TiXmlNode* PreviousSibling( const char * ) const;
1434:  TiXmlNode* PreviousSibling( const char *_prev ) {
1434:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->PreviousSibling( _prev ) );
1434:  }
1434: 
1434: 
1434:  const TiXmlNode* PreviousSibling( const std::string& _value ) const { return PreviousSibling (_value.c_str ()); }
1434:  TiXmlNode* PreviousSibling( const std::string& _value ) { return PreviousSibling (_value.c_str ()); }
1434:  const TiXmlNode* NextSibling( const std::string& _value) const { return NextSibling (_value.c_str ()); }
1434:  TiXmlNode* NextSibling( const std::string& _value) { return NextSibling (_value.c_str ()); }
1434: 
1434: 
1434: 
1434:  const TiXmlNode* NextSibling() const { return next; }
1434:  TiXmlNode* NextSibling() { return next; }
1434: 
1434: 
1434:  const TiXmlNode* NextSibling( const char * ) const;
1434:  TiXmlNode* NextSibling( const char* _next ) {
1434:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->NextSibling( _next ) );
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  const TiXmlElement* NextSiblingElement() const;
1434:  TiXmlElement* NextSiblingElement() {
1434:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement() );
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  const TiXmlElement* NextSibl
1412:  uint16_t x, y;
1412: } XBMC_MouseMotionEvent;
1412: 
1412: 
1412: typedef struct XBMC_MouseButtonEvent {
1412:  unsigned char button;
1412:  uint16_t x, y;
1412: } XBMC_MouseButtonEvent;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: typedef struct XBMC_ResizeEvent {
1412:  int w;
1412:  int h;
1412: } XBMC_ResizeEvent;
1412: 
1412: typedef struct XBMC_MoveEvent {
1412:  int x;
1412:  int y;
1412: } XBMC_MoveEvent;
1412: 
1412: struct XBMC_ModeChangeEvent
1412: {
1412:   RESOLUTION res;
1412: };
1412: 
1412: 
1412: typedef struct XBMC_QuitEvent {
1412: } XBMC_QuitEvent;
1412: 
1412: 
1412: typedef struct XBMC_UserEvent {
1412:  int code;
1412:  void *data1;
1412:  void *data2;
1412: } XBMC_UserEvent;
1412: 
1412: 
1412: typedef struct XBMC_AppCommandEvent {
1412:   unsigned int action;
1412: } XBMC_AppCommandEvent;
1412: 
1412: 
1412: typedef struct XBMC_TouchEvent {
1412:   int action;
1412:   float x, y;
1412:   float x2, y2;
1412:   float x3, y3;
1412:   int pointers;
1412: } XBMC_TouchEvent;
1412: 
1412: typedef struct XBMC_SetFocusEvent {
1412:  int x;
1412:  int y;
1412: } XBMC_SetFocusEvent;
1412: 
1412: 
1412: typedef struct XBMC_ButtonEvent
1412: {
1412:   uint32_t button;
1412:   uint32_t holdtime;
1412: } XBMC_ButtonEvent;
1412: 
1412: 
1412: typedef struct XBMC_Event {
1412:   uint8_t type;
1412:   union
1412:   {
1412:     XBMC_KeyboardEvent key;
1412:     XBMC_MouseMotionEvent motion;
1412:     XBMC_MouseButtonEvent button;
1412:     XBMC_ResizeEvent resize;
1412:     XBMC_MoveEvent move;
1412:     XBMC_ModeChangeEvent mode;
1412:     XBMC_QuitEvent quit;
1412:     XBMC_UserEvent user;
1412:     XBMC_AppCommandEvent appcommand;
1412:     XBMC_TouchEvent touch;
1412:     XBMC_ButtonEvent keybutton;
1412:     XBMC_SetFocusEvent focus;
1412:   };
1412: } XBMC_Event;
1412: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 2
1412: 
1412: class IWinEvents
1412: {
1412: public:
1412:   virtual ~IWinEvents() = default;
1412:   virtual bool MessagePump() = 0;
1412: };
1412: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h"
1412:        
1412: 
1412: 
1412: 
1412: struct DEBUG_INFO_PLAYER
1412: {
1412:   std::string audio;
1412:   std::string video;
1412:   std::string player;
1412:   std::string vsync;
1412: };
1412: 
1412: struct DEBUG_INFO_VIDEO
1412: {
1412:   std::string videoSource;
1412:   std::string metaPrim;
1412:   std::string metaLight;
1412:   std::string shader;
1412: };
1412: 
1412: struct DEBUG_INFO_RENDER
1412: {
1412:   std::string renderFlags;
1412:   std::string videoOutput;
1412: };
1412: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: class IDispResource
1412: {
1412: public:
1412:   virtual ~IDispResource() = default;
1412: 
1412:   virtual void OnLostDisplay() {}
1412:   virtual void OnResetDisplay() {}
1412:   virtual void OnAppFocusChange(bool focus) {}
1412: };
1412: 
1412: 
1412: 
1412: class IRenderLoop
1412: {
1412: public:
1412:   virtual ~IRenderLoop() = default;
1412: 
1412:   virtual void FrameMove() = 0;
1412: };
1412: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h"
1412:        
1412: 
1412: class CHDRCapabilities
1412: {
1412: public:
1412:   CHDRCapabilities() = default;
1412:   ~CHDRCapabilities() = default;
1412: 
1412:   bool SupportsHDR10() const { return m_hdr10; }
1412:   bool SupportsHLG() const { return m_hlg; }
1412:   bool SupportsHDR10Plus() const { return m_hdr10_plus; }
1412:   bool SupportsDolbyVision() const { return m_dolby_vision; }
1412: 
1412:   vingElement( const char * ) const;
1434:  TiXmlElement* NextSiblingElement( const char *_next ) {
1434:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement( _next ) );
1434:  }
1434: 
1434: 
1434:  const TiXmlElement* NextSiblingElement( const std::string& _value) const { return NextSiblingElement (_value.c_str ()); }
1434:  TiXmlElement* NextSiblingElement( const std::string& _value) { return NextSiblingElement (_value.c_str ()); }
1434: 
1434: 
1434: 
1434:  const TiXmlElement* FirstChildElement() const;
1434:  TiXmlElement* FirstChildElement() {
1434:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement() );
1434:  }
1434: 
1434: 
1434:  const TiXmlElement* FirstChildElement( const char * _value ) const;
1434:  TiXmlElement* FirstChildElement( const char * _value ) {
1434:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement( _value ) );
1434:  }
1434: 
1434: 
1434:  const TiXmlElement* FirstChildElement( const std::string& _value ) const { return FirstChildElement (_value.c_str ()); }
1434:  TiXmlElement* FirstChildElement( const std::string& _value ) { return FirstChildElement (_value.c_str ()); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  int Type() const { return type; }
1434: 
1434: 
1434: 
1434: 
1434:  const TiXmlDocument* GetDocument() const;
1434:  TiXmlDocument* GetDocument() {
1434:   return const_cast< TiXmlDocument* >( (const_cast< const TiXmlNode* >(this))->GetDocument() );
1434:  }
1434: 
1434: 
1434:  bool NoChildren() const { return !firstChild; }
1434: 
1434:  virtual const TiXmlDocument* ToDocument() const { return 0; }
1434:  virtual const TiXmlElement* ToElement() const { return 0; }
1434:  virtual const TiXmlComment* ToComment() const { return 0; }
1434:  virtual const TiXmlUnknown* ToUnknown() const { return 0; }
1434:  virtual const TiXmlText* ToText() const { return 0; }
1434:  virtual const TiXmlDeclaration* ToDeclaration() const { return 0; }
1434: 
1434:  virtual TiXmlDocument* ToDocument() { return 0; }
1434:  virtual TiXmlElement* ToElement() { return 0; }
1434:  virtual TiXmlComment* ToComment() { return 0; }
1434:  virtual TiXmlUnknown* ToUnknown() { return 0; }
1434:  virtual TiXmlText* ToText() { return 0; }
1434:  virtual TiXmlDeclaration* ToDeclaration() { return 0; }
1434: 
1434: 
1434: 
1434: 
1434:  virtual TiXmlNode* Clone() const = 0;
1434: # 742 "/usr/include/tinyxml.h" 3 4
1434:  virtual bool Accept( TiXmlVisitor* visitor ) const = 0;
1434: 
1434: protected:
1434:  TiXmlNode( NodeType _type );
1434: 
1434: 
1434: 
1434:  void CopyTo( TiXmlNode* target ) const;
1434: 
1434: 
1434: 
1434:  virtual void StreamIn( std::istream* in, std::string* tag ) = 0;
1434: 
1434: 
1434: 
1434:  TiXmlNode* Identify( const char* start, TiXmlEncoding encoding );
1434: 
1434:  TiXmlNode* parent;
1434:  NodeType type;
1434: 
1434:  TiXmlNode* firstChild;
1434:  TiXmlNode* lastChild;
1434: 
1434:  std::string value;
1434: 
1434:  TiXmlNode* prev;
1434:  TiXmlNode* next;
1434: 
1434: private:
1434:  TiXmlNode( const TiXmlNode& );
1434:  void operator=( const TiXmlNode& base );
1434: };
1434: # 783 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlAttribute : public TiXmlBase
1434: {
1434:  friend class TiXmlAttributeSet;
1434: 
1434: public:
1434: 
1434:  TiXmlAttribute() : TiXmlBase()
1434:  {
1434:   document = 0;
1434:   prev = next = 0;
1434:  }
1434: 
1434: 
1434: 
1434:  TiXmlAttribute( const std::string& _name, const std::string& _value )
1434:  {
1434:   name = _name;
1434:   value = _value;
1434:   document = 0;
1434:   prev = next = 0;
1434:  }
1434: 
1434: 
1434: 
1434:  TiXmlAttribute( const char * _name, const char * _value )
1434:  {
1434:   name = _name;
1434:   value = _value;
1434:   document = 0;
1434:   prev = next = 0;
1434:  }
1434: 
1434:  const char* Name() const { return name.c_str(); }
1434:  const char* Value() const { return value.c_str(); }
1434: 
1434:  const std::string& ValueStr() const { return value; }
1434: 
1434:  int IntValue() consttribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
1115:      noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __pid_t fork (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __pid_t vfork (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern __pid_t _Fork (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *ttyname (int __fd) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__))
1115:      __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: 
1115: 
1115: 
1115: extern int isatty (int __fd) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int ttyslot (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int link (const char *__from, const char *__to)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int linkat (int __fromfd, const char *__from, int __tofd,
1115:      const char *__to, int __flags)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern int symlink (const char *__from, const char *__to)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: extern ssize_t readlink (const char *__restrict __path,
1115:     char *__restrict __buf, size_t __len)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__))
1115:      __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int symlinkat (const char *__from, int __tofd,
1115:         const char *__to) noexcept (true) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: extern ssize_t readlinkat (int __fd, const char *__restrict __path,
1115:       char *__restrict __buf, size_t __len)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__))
1115:      __attribute__ ((__access__ (__write_only__, 3, 4)));
1115: 
1115: 
1115: 
1115: extern int unlink (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern int unlinkat (int __fd, const char *__name, int __flag)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: extern int rmdir (const char *__path) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern __pid_t tcgetpgrp (int __fd) noexcept (true);
1115: 
1115: 
1115: extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *getlogin (void);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)))
1115:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int setlogin (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/getopt_core.h" 1 3 4
1115: # 28 "/usr/include/arm-linux-gnueabihf/bits/getopt_core.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *optarg;
1115: # 50 "/usr/include/arm-linux-gnueabihf/bits/getopt_core.h" 3 4
1115: extern int optind;
1115: 
1115: 
1115: 
1115: 
1115: extern int opterr;
1115: 
1115: 
1115: 
1115: extern int optopt;
1115: # 91 "/usr/include/arm-linux-gnueabihf/bits/geto;
1434:  double DoubleValue() const;
1434: 
1434: 
1434:  const std::string& NameTStr() const { return name; }
1434: # 835 "/usr/include/tinyxml.h" 3 4
1434:  int QueryIntValue( int* _value ) const;
1434: 
1434:  int QueryDoubleValue( double* _value ) const;
1434: 
1434:  void SetName( const char* _name ) { name = _name; }
1434:  void SetValue( const char* _value ) { value = _value; }
1434: 
1434:  void SetIntValue( int _value );
1434:  void SetDoubleValue( double _value );
1434: 
1434: 
1434: 
1434:  void SetName( const std::string& _name ) { name = _name; }
1434: 
1434:  void SetValue( const std::string& _value ) { value = _value; }
1434: 
1434: 
1434: 
1434:  const TiXmlAttribute* Next() const;
1434:  TiXmlAttribute* Next() {
1434:   return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Next() );
1434:  }
1434: 
1434: 
1434:  const TiXmlAttribute* Previous() const;
1434:  TiXmlAttribute* Previous() {
1434:   return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Previous() );
1434:  }
1434: 
1434:  bool operator==( const TiXmlAttribute& rhs ) const { return rhs.name == name; }
1434:  bool operator<( const TiXmlAttribute& rhs ) const { return name < rhs.name; }
1434:  bool operator>( const TiXmlAttribute& rhs ) const { return name > rhs.name; }
1434: 
1434: 
1434: 
1434: 
1434:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1434: 
1434: 
1434:  virtual void Print( FILE* cfile, int depth ) const {
1434:   Print( cfile, depth, 0 );
1434:  }
1434:  void Print( FILE* cfile, int depth, std::string* str ) const;
1434: 
1434: 
1434: 
1434:  void SetDocument( TiXmlDocument* doc ) { document = doc; }
1434: 
1434: private:
1434:  TiXmlAttribute( const TiXmlAttribute& );
1434:  void operator=( const TiXmlAttribute& base );
1434: 
1434:  TiXmlDocument* document;
1434:  std::string name;
1434:  std::string value;
1434:  TiXmlAttribute* prev;
1434:  TiXmlAttribute* next;
1434: };
1434: # 907 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlAttributeSet
1434: {
1434: public:
1434:  TiXmlAttributeSet();
1434:  ~TiXmlAttributeSet();
1434: 
1434:  void Add( TiXmlAttribute* attribute );
1434:  void Remove( TiXmlAttribute* attribute );
1434: 
1434:  const TiXmlAttribute* First() const { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
1434:  TiXmlAttribute* First() { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
1434:  const TiXmlAttribute* Last() const { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
1434:  TiXmlAttribute* Last() { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
1434: 
1434:  TiXmlAttribute* Find( const char* _name ) const;
1434:  TiXmlAttribute* FindOrCreate( const char* _name );
1434: 
1434: 
1434:  TiXmlAttribute* Find( const std::string& _name ) const;
1434:  TiXmlAttribute* FindOrCreate( const std::string& _name );
1434: 
1434: 
1434: 
1434: private:
1434: 
1434: 
1434:  TiXmlAttributeSet( const TiXmlAttributeSet& );
1434:  void operator=( const TiXmlAttributeSet& );
1434: 
1434:  TiXmlAttribute sentinel;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class TiXmlElement : public TiXmlNode
1434: {
1434: public:
1434: 
1434:  TiXmlElement (const char * in_value);
1434: 
1434: 
1434: 
1434:  TiXmlElement( const std::string& _value );
1434: 
1434: 
1434:  TiXmlElement( const TiXmlElement& );
1434: 
1434:  TiXmlElement& operator=( const TiXmlElement& base );
1434: 
1434:  virtual ~TiXmlElement();
1434: 
1434: 
1434: 
1434: 
1434:  const char* Attribute( const char* name ) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  const char* Attribute( const char* name, int* i ) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  const char* Attribute( const char* name, double* d ) const;
1434: # 989 "/usr/include/tinyxml.h" 3 4
1434:  int QueryIntAttribute( const char* name, int* _value ) const;
1434: 
1434:  int QueryUnsignedAttribute( const char* name, unsigned* _value ) const;
1434: 
1434: 
1434: 
1434: 
1434:  int QueryBoolAttribute( const char* name, bool* _value ) const;
1434: 
1434:  int QueryDoubleAttribute( const char* name, double* _value ) const;
1434: 
1434:  int QueryFloatAttribute( const char* name, float* _value ) const {
1434:   double d;
1434:   int result = QueryDoubleAttribute( name, &d );
1434:   if ( result == TIXML_SUCCESS ) {
1434:    *_value = (float)d;
1434:   }
1434:   return result;
1434:  }
1434: 
1434: 
1434: 
1434:  int QueryStringAttribute( const char* name, std::string* _value ) const {
1434:   const char* cstr = Attribute( name );
1434:   if ( cstr ) {
1434:    *_value = std::string( cstr );
1434:    return TIXML_SUCCESS;
1434:   }
1434:   return TIXML_NO_ATTRIBUTE;
1434:  }
1434: # 1028 "/usr/include/tinyxml.h" 3 4
1434:  template< typename T > int QueryValueAttribute( const std::string& name, T* outValue ) const
1434:  {
1434:   const TiXmlAttribute* node = attributeSet.Find( name );
1434:   if ( !node )
1434:    return TIXML_NO_ATTRIBUTE;
1434: 
1434:   std::stringstream sstream( node->ValueStr() );
1434:   sstream >> *outValue;
1434:   if ( !sstream.fail() )
1434:    return TIXML_SUCCESS;
1434:   return TIXML_WRONG_TYPE;
1434:  }
1434: 
1434:  int QueryValueAttribute( const std::string& name, std::string* outValue ) const
1434:  {
1434:   const TiXmlAttribute* node = attributeSet.Find( name );
1434:   if ( !node )
1434:    return TIXML_NO_ATTRIBUTE;
1434:   *outValue = node->ValueStr();
1434:   return TIXML_SUCCESS;
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  void SetAttribute( const char* name, const char * _value );
1434: 
1434: 
1434:  const std::string* Attribute( const std::string& name ) const;
1434:  const std::string* Attribute( const std::string& name, int* i ) const;
1434:  const std::string* Attribute( const std::string& name, double* d ) const;
1434:  int QueryIntAttribute( const std::string& name, int* _value ) const;
1434:  int QueryDoubleAttribute( const std::string& name, double* _value ) const;
1434: 
1434: 
1434:  void SetAttribute( const std::string& name, const std::string& _value );
1434: 
1434:  void SetAttribute( const std::string& name, int _value );
1434: 
1434:  void SetDoubleAttribute( const std::string& name, double value );
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  void SetAttribute( const char * name, int value );
1434: 
1434: 
1434: 
1434: 
1434:  void SetDoubleAttribute( const char * name, double value );
1434: 
1434: 
1434: 
1434:  void RemoveAttribute( const char * name );
1434: 
1434:  void RemoveAttribute( const std::string& name ) { RemoveAttribute (name.c_str ()); }
1434: 
1434: 
1434:  const TiXmlAttribute* FirstAttribute() const { return attributeSet.First(); }
1434:  TiXmlAttribute* FirstAttribute() { return attributeSet.First(); }
1434:  const TiXmlAttribute* LastAttribute() const { return attributeSet.Last(); }
1434:  TiXmlAttribute* LastAttribute() { return attributeSet.Last(); }
1434: # 1125 "/usr/include/tinyxml.h" 3 4
1434:  const char* GetText() const;
1434: 
1434: 
1434:  virtual TiXmlNode* Clone() const;
1434: 
1434:  virtual void Print( FILE* cfile, int depth ) const;
1434: 
1434: 
1434: 
1434: 
1434:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1434: 
1434:  virtual const TiXmlElement* ToElement() const { return this; }
1434:  virtual TiXmlElement* ToElement() { return this; }
1434: 
1434: 
1434: 
1434:  virtual bool Accept( TiXmlVisitor* visitor ) const;
1434: 
1434: protected:
1434: 
1434:  void CopyTo( TiXmlElement* target ) const;
1434:  void ClearThis();
1434: 
1434: 
1434: 
1434:  virtual void StreamIn( std::istream * in, std::string * tag );
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  const char* ReadValue( const char* in, TiXmlParsingData* prevData, TiXmlEncoding encoding );
1434: 
1434: private:
1434:  TiXmlAttributeSet attributeSet;
1434: };
1434: 
1434: 
1434: 
1434: 
1434: class TiXmlComment : public TiXmlNode
1434: {
1434: public:
1434: 
1434:  TiXmlComment() : TiXmlNode( TiXmlNode::TINYXML_COMMENT ) {}
1434: 
1434:  TiXmlComment( const char* _value ) : TiXmlNode( TiXmlNode::TINYXML_COMMENT ) {
1434:   SetVaoid SetHDR10() { m_hdr10 = true; }
1412:   void SetHLG() { m_hlg = true; }
1412:   void SetHDR10Plus() { m_hdr10_plus = true; }
1412:   void SetDolbyVision() { m_dolby_vision = true; }
1412: 
1412: private:
1412:   bool m_hdr10 = false;
1412:   bool m_hlg = false;
1412:   bool m_hdr10_plus = false;
1412:   bool m_dolby_vision = false;
1412: };
1412: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1412: 
1412: 
1412: 
1412: 
1412: struct RESOLUTION_WHR
1412: {
1412:   int width;
1412:   int height;
1412:   int flags;
1412:   int ResInfo_Index;
1412: };
1412: 
1412: struct REFRESHRATE
1412: {
1412:   float RefreshRate;
1412:   int ResInfo_Index;
1412: };
1412: 
1412: class CDPMSSupport;
1412: class CGraphicContext;
1412: class CRenderSystemBase;
1412: class IRenderLoop;
1412: 
1412: struct VideoPicture;
1412: 
1412: class CWinSystemBase
1412: {
1412: public:
1412:   CWinSystemBase();
1412:   virtual ~CWinSystemBase();
1412: 
1412:   static std::unique_ptr<CWinSystemBase> CreateWinSystem();
1412: 
1412: 
1412:   virtual CRenderSystemBase *GetRenderSystem() { return nullptr; }
1412: 
1412:   virtual const std::string GetName() { return "platform default"; }
1412: 
1412: 
1412:   virtual bool InitWindowSystem();
1412:   virtual bool DestroyWindowSystem();
1412:   virtual bool CreateNewWindow(const std::string& name, bool fullScreen, RESOLUTION_INFO& res) = 0;
1412:   virtual bool DestroyWindow(){ return false; }
1412:   virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop) = 0;
1412:   virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays) = 0;
1412:   virtual bool DisplayHardwareScalingEnabled() { return false; }
1412:   virtual void UpdateDisplayHardwareScaling(const RESOLUTION_INFO& resInfo) { }
1412:   virtual bool MoveWindow(int topLeft, int topRight){return false;}
1412:   virtual void FinishModeChange(RESOLUTION res){}
1412:   virtual void FinishWindowResize(int newWidth, int newHeight) {ResizeWindow(newWidth, newHeight, -1, -1);}
1412:   virtual bool CenterWindow(){return false;}
1412:   virtual bool IsCreated(){ return m_bWindowCreated; }
1412:   virtual void NotifyAppFocusChange(bool bGaining) {}
1412:   virtual void NotifyAppActiveChange(bool bActivated) {}
1412:   virtual void ShowOSMouse(bool show) {}
1412:   virtual bool HasCursor(){ return true; }
1412: 
1412:   virtual bool HasInertialGestures(){ return false; }
1412: 
1412:   virtual bool UseLimitedColor();
1412: 
1412:   virtual int NoOfBuffers();
1412: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1412:   virtual float GetDisplayLatency() { return -1.0f; }
1412: # 99 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1412:   virtual float GetFrameLatencyAdjustment() { return 0.0; }
1412: 
1412:   virtual bool Minimize() { return false; }
1412:   virtual bool Restore() { return false; }
1412:   virtual bool Hide() { return false; }
1412:   virtual bool Show(bool raise = true) { return false; }
1412: 
1412: 
1412:   virtual std::unique_ptr<CVideoSync> GetVideoSync(void *clock) { return nullptr; }
1412: 
1412: 
1412:   virtual void OnMove(int x, int y) {}
1412: # 121 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1412:   KODI::WINDOWING::COSScreenSaverManager* GetOSScreenSaver();
1412: 
1412: 
1412:   unsigned int GetWidth() { return m_nWidth; }
1412:   unsigned int GetHeight() { return m_nHeight; }
1412:   virtual bool CanDoWindowed() { return true; }
1412:   bool IsFullScreen() { return m_bFullScreen; }
1412:   virtual void UpdateResolutions();
1412:   void SetWindowResolution(int width, int height);
1412:   std::vector<RESOLUTION_WHR> ScreenResolutions(float refreshrate);
1412:   std::vector<REFRESHRATE> RefreshRates(int width, int height, uint32_t dwFlags);
1412:   REFRESHRATE DefaultRefreshRate(std::vector<REFRESHRATE> rates);
1412:   virtual bool HasCalibration(const RESOLUTION_INFO& resInfo) { return true; }
1412: 
1412: 
1412:   virtual std::string GetClipboardText(void);
1412: 
1412: 
1412:   virtual void Register(IDisplue( _value );
1434:  }
1434:  TiXmlComment( const TiXmlComment& );
1434:  TiXmlComment& operator=( const TiXmlComment& base );
1434: 
1434:  virtual ~TiXmlComment() {}
1434: 
1434: 
1434:  virtual TiXmlNode* Clone() const;
1434: 
1434:  virtual void Print( FILE* cfile, int depth ) const;
1434: 
1434: 
1434: 
1434: 
1434:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1434: 
1434:  virtual const TiXmlComment* ToComment() const { return this; }
1434:  virtual TiXmlComment* ToComment() { return this; }
1434: 
1434: 
1434: 
1434:  virtual bool Accept( TiXmlVisitor* visitor ) const;
1434: 
1434: protected:
1434:  void CopyTo( TiXmlComment* target ) const;
1434: 
1434: 
1434: 
1434:  virtual void StreamIn( std::istream * in, std::string * tag );
1434: 
1434: 
1434: 
1434: private:
1434: 
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class TiXmlText : public TiXmlNode
1434: {
1434:  friend class TiXmlElement;
1434: public:
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlText (const char * initValue ) : TiXmlNode (TiXmlNode::TINYXML_TEXT)
1434:  {
1434:   SetValue( initValue );
1434:   cdata = false;
1434:  }
1434:  virtual ~TiXmlText() {}
1434: 
1434: 
1434: 
1434:  TiXmlText( const std::string& initValue ) : TiXmlNode (TiXmlNode::TINYXML_TEXT)
1434:  {
1434:   SetValue( initValue );
1434:   cdata = false;
1434:  }
1434: 
1434: 
1434:  TiXmlText( const TiXmlText& copy ) : TiXmlNode( TiXmlNode::TINYXML_TEXT ) { copy.CopyTo( this ); }
1434:  TiXmlText& operator=( const TiXmlText& base ) { base.CopyTo( this ); return *this; }
1434: 
1434: 
1434:  virtual void Print( FILE* cfile, int depth ) const;
1434: 
1434: 
1434:  bool CDATA() const { return cdata; }
1434: 
1434:  void SetCDATA( bool _cdata ) { cdata = _cdata; }
1434: 
1434:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1434: 
1434:  virtual const TiXmlText* ToText() const { return this; }
1434:  virtual TiXmlText* ToText() { return this; }
1434: 
1434: 
1434: 
1434:  virtual bool Accept( TiXmlVisitor* content ) const;
1434: 
1434: protected :
1434: 
1434:  virtual TiXmlNode* Clone() const;
1434:  void CopyTo( TiXmlText* target ) const;
1434: 
1434:  bool Blank() const;
1434: 
1434: 
1434:  virtual void StreamIn( std::istream * in, std::string * tag );
1434: 
1434: 
1434: private:
1434:  bool cdata;
1434: };
1434: # 1289 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlDeclaration : public TiXmlNode
1434: {
1434: public:
1434: 
1434:  TiXmlDeclaration() : TiXmlNode( TiXmlNode::TINYXML_DECLARATION ) {}
1434: 
1434: 
1434: 
1434:  TiXmlDeclaration( const std::string& _version,
1434:       const std::string& _encoding,
1434:       const std::string& _standalone );
1434: 
1434: 
1434: 
1434:  TiXmlDeclaration( const char* _version,
1434:       const char* _encoding,
1434:       const char* _standalone );
1434: 
1434:  TiXmlDeclaration( const TiXmlDeclaration& copy );
1434:  TiXmlDeclaration& operator=( const TiXmlDeclaration& copy );
1434: 
1434:  virtual ~TiXmlDeclaration() {}
1434: 
1434: 
1434:  const char *Version() const { return version.c_str (); }
1434: 
1434:  const char *Encoding() const { return encoding.c_str (); }
1434: 
1434:  const char *Standalone() const { return standalone.c_str (); }
1434: 
1434: 
1434:  virtual TiXmlNode* Clone() const;
1434: 
1434:  virtual void Print( FILE* cfile, int depth, std::string* str ) const;
1434:  virtual void Print( FILE* cfile, int depth ) const {
1434:   Print( cfile, depth, 0 );
1434:  }
1434: 
1434:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1434: 
1434:  virtual const TiXmlDeclaration* ToDeclaration() const { return this; }
1434:  virtual TiXmlDeclaration* ToDeclaration() { return this; }
1434: 
1434: 
1434: 
1434:  virtual bool Accept( TiXmlVisitor* visitor ) const;
1434: 
1434: protected:
1434:  void CopyTo( TiXmlDeclaration* target ) const;
1434: 
1434: 
1434:  virtual void StreamIn( std::istream * in, std::string * tag );
1434: 
1434: 
1434: private:
1434: 
1434:  std::stringpt_core.h" 3 4
1115: extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
1115:        noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1115: 
1115: }
1115: # 28 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 2 3 4
1115: 
1115: extern "C" {
1115: # 49 "/usr/include/arm-linux-gnueabihf/bits/getopt_posix.h" 3 4
1115: }
1115: # 904 "/usr/include/unistd.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int gethostname (char *__name, size_t __len) noexcept (true) __attribute__ ((__nonnull__ (1)))
1115:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int sethostname (const char *__name, size_t __len)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__read_only__, 1, 2)));
1115: 
1115: 
1115: 
1115: extern int sethostid (long int __id) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getdomainname (char *__name, size_t __len)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__))
1115:      __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern int setdomainname (const char *__name, size_t __len)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__read_only__, 1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int vhangup (void) noexcept (true);
1115: 
1115: 
1115: extern int revoke (const char *__file) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int profil (unsigned short int *__sample_buffer, size_t __size,
1115:      size_t __offset, unsigned int __scale)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int acct (const char *__name) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char *getusershell (void) noexcept (true);
1115: extern void endusershell (void) noexcept (true);
1115: extern void setusershell (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int daemon (int __nochdir, int __noclose) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int chroot (const char *__path) noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fsync (int __fd);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int syncfs (int __fd) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int gethostid (void);
1115: 
1115: 
1115: extern void sync (void) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getpagesize (void) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int getdtablesize (void) noexcept (true);
1115: # 1030 "/usr/include/unistd.h" 3 4
1115: extern int truncate (const char *__file, __off64_t __length) noexcept (true) __asm__ ("" "truncate64")
1115: 
1115:                   __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int truncate64 (const char *__file, __off64_t __length)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
1115: # 1052 "/usr/include/unistd.h" 3 4
1115: extern int ftruncate (int __fd, __off64_t __length) noexcept (true) __asm__ ("" "ftruncate64")
1115:                    __attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int ftruncate64 (int __fd, __off64_t __length) noexcept (true) __attribute__ ((__warn_unused_result__));
1115: # 1070 "/usr/include/unistd.h" 3 4
1115: extern int brk (void *__addr) noexcept (true)  version;
1434:  std::string encoding;
1434:  std::string standalone;
1434: };
1434: # 1358 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlUnknown : public TiXmlNode
1434: {
1434: public:
1434:  TiXmlUnknown() : TiXmlNode( TiXmlNode::TINYXML_UNKNOWN ) {}
1434:  virtual ~TiXmlUnknown() {}
1434: 
1434:  TiXmlUnknown( const TiXmlUnknown& copy ) : TiXmlNode( TiXmlNode::TINYXML_UNKNOWN ) { copy.CopyTo( this ); }
1434:  TiXmlUnknown& operator=( const TiXmlUnknown& copy ) { copy.CopyTo( this ); return *this; }
1434: 
1434: 
1434:  virtual TiXmlNode* Clone() const;
1434: 
1434:  virtual void Print( FILE* cfile, int depth ) const;
1434: 
1434:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1434: 
1434:  virtual const TiXmlUnknown* ToUnknown() const { return this; }
1434:  virtual TiXmlUnknown* ToUnknown() { return this; }
1434: 
1434: 
1434: 
1434:  virtual bool Accept( TiXmlVisitor* content ) const;
1434: 
1434: protected:
1434:  void CopyTo( TiXmlUnknown* target ) const;
1434: 
1434: 
1434:  virtual void StreamIn( std::istream * in, std::string * tag );
1434: 
1434: 
1434: private:
1434: 
1434: };
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class TiXmlDocument : public TiXmlNode
1434: {
1434: public:
1434: 
1434:  TiXmlDocument();
1434: 
1434:  TiXmlDocument( const char * documentName );
1434: 
1434: 
1434: 
1434:  TiXmlDocument( const std::string& documentName );
1434: 
1434: 
1434:  TiXmlDocument( const TiXmlDocument& copy );
1434:  TiXmlDocument& operator=( const TiXmlDocument& copy );
1434: 
1434:  virtual ~TiXmlDocument() {}
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  bool LoadFile( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1434: 
1434:  bool SaveFile() const;
1434: 
1434:  bool LoadFile( const char * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1434: 
1434:  bool SaveFile( const char * filename ) const;
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  bool LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1434: 
1434:  bool SaveFile( FILE* ) const;
1434: 
1434: 
1434:  bool LoadFile( const std::string& filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING )
1434:  {
1434:   return LoadFile( filename.c_str(), encoding );
1434:  }
1434:  bool SaveFile( const std::string& filename ) const
1434:  {
1434:   return SaveFile( filename.c_str() );
1434:  }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  virtual const char* Parse( const char* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  const TiXmlElement* RootElement() const { return FirstChildElement(); }
1434:  TiXmlElement* RootElement() { return FirstChildElement(); }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434:  bool Error() const { return error; }
1434: 
1434: 
1434:  const char * ErrorDesc() const { return errorDesc.c_str (); }
1434: 
1434: 
1434: 
1434: 
1434:  int ErrorId() const { return errorId; }
1434: # 1481 "/usr/include/tinyxml.h" 3 4
1434:  int ErrorRow() const { return errorLocation.row+1; }
1434:  int ErrorCol() const { return errorLocation.col+1; }
1434: # 1508 "/usr/include/tinyxml.h" 3 4
1434:  void SetTabSize( int _tabsize ) { tabsize = _tabsize; }
1434: 
1434:  int TabSize() const { return tabsize; }
1434: 
1434: 
1434: 
1434: 
1434:  void ClearError() { error = false;
1434:             errorId = 0;
1434:             errorDesc = "";
1434:             errorLocation.row = errorLocation.col = 0;
1434: 
1434:            }
1434: 
1434: 
1434:  void Print() const { Print( stdout, 0 ); }
1434: # 1532 "/usr/include/tinyxml.h" 3 4
1434:  virtual void Print( FILE* cfile, int depth = 0 ) const;
1434: 
1434:  void SetError( int err, const char* errorLocation, TiXmlParsingData* prevData, TiXmlEncoding encoding );
1434: 
1434:  virtual const TiXmlDocument* ToDocument() const { return this; }
1434:  virtual TiXmlDocument* ToDocument() { return this; }
1434: 
1434: 
1434: 
1434:  virtual bool Accept( TiXmlVisitor* content ) const;
1434: 
1434: protected :
1434: 
1434:  virtual TiXmlNode* Clone() const;
1434Resource *resource) = 0;
1412:   virtual void Unregister(IDispResource *resource) = 0;
1412: 
1412: 
1412:   void RegisterRenderLoop(IRenderLoop *client);
1412:   void UnregisterRenderLoop(IRenderLoop *client);
1412:   void DriveRenderLoop();
1412: 
1412: 
1412:   virtual bool MessagePump() { return false; }
1412: 
1412: 
1412:   CGraphicContext& GetGfxContext();
1412: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1412:   virtual void* GetHWContext() { return nullptr; }
1412: 
1412:   std::shared_ptr<CDPMSSupport> GetDPMSManager();
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual bool SetHDR(const VideoPicture* videoPicture) { return false; }
1412:   virtual bool IsHDRDisplay() { return false; }
1412:   virtual HDR_STATUS ToggleHDR() { return HDR_STATUS::HDR_UNSUPPORTED; }
1412:   virtual HDR_STATUS GetOSHDRStatus() { return HDR_STATUS::HDR_UNSUPPORTED; }
1412:   virtual CHDRCapabilities GetDisplayHDRCapabilities() const { return {}; }
1412: 
1412:   static const char* SETTING_WINSYSTEM_IS_HDR_DISPLAY;
1412: 
1412: 
1412:   virtual DEBUG_INFO_RENDER GetDebugInfo() { return {}; }
1412: 
1412:   virtual std::vector<std::string> GetConnectedOutputs() { return {}; }
1412: 
1412: protected:
1412:   void UpdateDesktopResolution(RESOLUTION_INFO& newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags);
1412:   virtual std::unique_ptr<KODI::WINDOWING::IOSScreenSaver> GetOSScreenSaverImpl() { return nullptr; }
1412: 
1412:   int m_nWidth = 0;
1412:   int m_nHeight = 0;
1412:   int m_nTop = 0;
1412:   int m_nLeft = 0;
1412:   bool m_bWindowCreated = false;
1412:   bool m_bFullScreen = false;
1412:   bool m_bBlankOtherDisplay = false;
1412:   float m_fRefreshRate = 0.0f;
1412:   std::unique_ptr<KODI::WINDOWING::COSScreenSaverManager> m_screenSaverManager;
1412:   CCriticalSection m_renderLoopSection;
1412:   std::vector<IRenderLoop*> m_renderLoopClients;
1412: 
1412:   std::unique_ptr<IWinEvents> m_winEvents;
1412:   std::unique_ptr<CGraphicContext> m_gfxContext;
1412:   std::shared_ptr<CDPMSSupport> m_dpms;
1412: };
1412: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1412: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1412: enum VIEW_TYPE { VIEW_TYPE_NONE = 0,
1412:                  VIEW_TYPE_LIST,
1412:                  VIEW_TYPE_ICON,
1412:                  VIEW_TYPE_BIG_LIST,
1412:                  VIEW_TYPE_BIG_ICON,
1412:                  VIEW_TYPE_WIDE,
1412:                  VIEW_TYPE_BIG_WIDE,
1412:                  VIEW_TYPE_WRAP,
1412:                  VIEW_TYPE_BIG_WRAP,
1412:                  VIEW_TYPE_INFO,
1412:                  VIEW_TYPE_BIG_INFO,
1412:                  VIEW_TYPE_AUTO,
1412:                  VIEW_TYPE_MAX };
1412: 
1412: enum AdjustRefreshRate
1412: {
1412:   ADJUST_REFRESHRATE_OFF = 0,
1412:   ADJUST_REFRESHRATE_ALWAYS,
1412:   ADJUST_REFRESHRATE_ON_STARTSTOP,
1412:   ADJUST_REFRESHRATE_ON_START,
1412: };
1412: 
1412: class CGraphicContext : public CCriticalSection
1412: {
1412: public:
1412:   CGraphicContext(void);
1412:   virtual ~CGraphicContext();
1412: 
1412: 
1412:   float GetFPS() const;
1412:   void SetFPS(float fps);
1412:   float GetDisplayLatency() const;
1412:   bool IsFullScreenRoot() const;
1412:   void ToggleFullScreen();
1412:   void SetFullScreenVideo(bool bOnOff);
1412:   bool IsFullScreenVideo() const;
1412:   bool IsValidResolution(RESOLUTION res);
1412:   void SetVideoResolution(RESOLUTION res, bool forceUpdate);
1412:   void ApplyModeChange(RESOLUTION res);
1412:   void ApplyWindowResize(int newWidth, int newHeight);
1412:   RESOLUTION GetVideoResolution() const;
1412:   const RESOLUTION_INFO GetResInfo() const;
1412:   const RESOLUTION_INFO GetResInfo(RESOLUTION res) const;
1412:   void SetResInfo(RESOLUTION res, const RESOLUTION_INFO& info);
1412: 
1412:   void Flip(bool rendered, bool videoLayer);
1412: 
1412: 
1412:   int GetWidth() const;
1412:   int GetHeight() const;
1412:   bool SetViewPort(float fx, float fy , float fwidth, float fheight, bool: 
1434:  virtual void StreamIn( std::istream * in, std::string * tag );
1434: 
1434: 
1434: private:
1434:  void CopyTo( TiXmlDocument* target ) const;
1434: 
1434:  bool error;
1434:  int errorId;
1434:  std::string errorDesc;
1434:  int tabsize;
1434:  TiXmlCursor errorLocation;
1434:  bool useMicrosoftBOM;
1434: };
1434: # 1642 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlHandle
1434: {
1434: public:
1434: 
1434:  TiXmlHandle( TiXmlNode* _node ) { this->node = _node; }
1434: 
1434:  TiXmlHandle( const TiXmlHandle& ref ) { this->node = ref.node; }
1434:  TiXmlHandle operator=( const TiXmlHandle& ref ) { if ( &ref != this ) this->node = ref.node; return *this; }
1434: 
1434: 
1434:  TiXmlHandle FirstChild() const;
1434: 
1434:  TiXmlHandle FirstChild( const char * value ) const;
1434: 
1434:  TiXmlHandle FirstChildElement() const;
1434: 
1434:  TiXmlHandle FirstChildElement( const char * value ) const;
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlHandle Child( const char* value, int index ) const;
1434: 
1434: 
1434: 
1434:  TiXmlHandle Child( int index ) const;
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlHandle ChildElement( const char* value, int index ) const;
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlHandle ChildElement( int index ) const;
1434: 
1434: 
1434:  TiXmlHandle FirstChild( const std::string& _value ) const { return FirstChild( _value.c_str() ); }
1434:  TiXmlHandle FirstChildElement( const std::string& _value ) const { return FirstChildElement( _value.c_str() ); }
1434: 
1434:  TiXmlHandle Child( const std::string& _value, int index ) const { return Child( _value.c_str(), index ); }
1434:  TiXmlHandle ChildElement( const std::string& _value, int index ) const { return ChildElement( _value.c_str(), index ); }
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlNode* ToNode() const { return node; }
1434: 
1434: 
1434:  TiXmlElement* ToElement() const { return ( ( node && node->ToElement() ) ? node->ToElement() : 0 ); }
1434: 
1434: 
1434:  TiXmlText* ToText() const { return ( ( node && node->ToText() ) ? node->ToText() : 0 ); }
1434: 
1434: 
1434:  TiXmlUnknown* ToUnknown() const { return ( ( node && node->ToUnknown() ) ? node->ToUnknown() : 0 ); }
1434: 
1434: 
1434: 
1434: 
1434:  TiXmlNode* Node() const { return ToNode(); }
1434: 
1434: 
1434: 
1434:  TiXmlElement* Element() const { return ToElement(); }
1434: 
1434: 
1434: 
1434:  TiXmlText* Text() const { return ToText(); }
1434: 
1434: 
1434: 
1434:  TiXmlUnknown* Unknown() const { return ToUnknown(); }
1434: 
1434: private:
1434:  TiXmlNode* node;
1434: };
1434: # 1741 "/usr/include/tinyxml.h" 3 4
1434: class TiXmlPrinter : public TiXmlVisitor
1434: {
1434: public:
1434:  TiXmlPrinter() : depth( 0 ), simpleTextPrint( false ),
1434:       buffer(), indent( "    " ), lineBreak( "\n" ) {}
1434: 
1434:  virtual bool VisitEnter( const TiXmlDocument& doc );
1434:  virtual bool VisitExit( const TiXmlDocument& doc );
1434: 
1434:  virtual bool VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute );
1434:  virtual bool VisitExit( const TiXmlElement& element );
1434: 
1434:  virtual bool Visit( const TiXmlDeclaration& declaration );
1434:  virtual bool Visit( const TiXmlText& text );
1434:  virtual bool Visit( const TiXmlComment& comment );
1434:  virtual bool Visit( const TiXmlUnknown& unknown );
1434: 
1434: 
1434: 
1434: 
1434:  void SetIndent( const char* _indent ) { indent = _indent ? _indent : "" ; }
1434: 
1434:  const char* Indent() { return indent.c_str(); }
1434: 
1434: 
1434: 
1434: 
1434:  void SetLineBreak( const char* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak : ""; }
1434: 
1434:  const char* LineBreak() { return lineBreak.c_str(); }
1434: 
1434: 
1434: 
1434: 
1434:  void SetStreamPrinting() { indent = "";
1434:                lineBreak = "";
1434:              }
1434: 
1434:  const char* CStr() { return buffer.c_str(); }
1434: 
1434:  size_t Size() { return buffer.size(); }
1434: 
1434: 
1434: 
1434:  const std::string& Str() { return buffer; }
1434: 
1434: 
1434: private:
1434:  void DoIndent() {
1434:   for( int i=0; i<depth; ++i__attribute__ ((__warn_unused_result__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void *sbrk (intptr_t __delta) noexcept (true);
1115: # 1091 "/usr/include/unistd.h" 3 4
1115: extern long int syscall (long int __sysno, ...) noexcept (true);
1115: # 1142 "/usr/include/unistd.h" 3 4
1115: ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
1115:     int __outfd, __off64_t *__poutoff,
1115:     size_t __length, unsigned int __flags);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int fdatasync (int __fildes);
1115: # 1159 "/usr/include/unistd.h" 3 4
1115: extern char *crypt (const char *__key, const char *__salt)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void swab (const void *__restrict __from, void *__restrict __to,
1115:     ssize_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)))
1115:     __attribute__ ((__access__ (__read_only__, 1, 3)))
1115:     __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: # 1198 "/usr/include/unistd.h" 3 4
1115: int getentropy (void *__buffer, size_t __length) __attribute__ ((__warn_unused_result__))
1115:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: # 1208 "/usr/include/unistd.h" 3 4
1115: extern int close_range (unsigned int __fd, unsigned int __max_fd,
1115:    int __flags) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/unistd.h" 1 3 4
1115: # 23 "/usr/include/arm-linux-gnueabihf/bits/unistd.h" 3 4
1115: extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,
1115:       size_t __buflen)
1115:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __read_alias (int __fd, void *__buf, size_t __nbytes) __asm__ ("" "read")
1115: 
1115:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __read_chk_warn (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __asm__ ("" "__read_chk")
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("read called with bigger length than size of " "the destination buffer")))
1115:                                   ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
1115: read (int __fd, void *__buf, size_t __nbytes)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 0)) && (__builtin_object_size (__buf, 0)) == (unsigned int) -1) || (((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char))))) && (((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char)))))) ? __read_alias (__fd, __buf, __nbytes) : ((((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) && !(((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) ? __read_chk_warn (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)) : __read_chk (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0))))
1115: 
1115:                            ;
1115: }
1115: 
1115: 
1115: extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,
1115:        __off_t __offset, size_t __bufsize)
1115:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,
1115:          __off64_t __offset, size_t __bufsize)
1115:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __pread_alias (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __asm__  )
1434:    buffer += indent;
1434:  }
1434:  void DoLineBreak() {
1434:   buffer += lineBreak;
1434:  }
1434: 
1434:  int depth;
1434:  bool simpleTextPrint;
1434:  std::string buffer;
1434:  std::string indent;
1434:  std::string lineBreak;
1434: };
1434: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h" 2
1434: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1434: 
1434: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1434: class CXBMCTinyXML : public TiXmlDocument
1434: {
1434: public:
1434:   CXBMCTinyXML();
1434:   explicit CXBMCTinyXML(const char*);
1434:   explicit CXBMCTinyXML(const std::string& documentName);
1434:   CXBMCTinyXML(const std::string& documentName, const std::string& documentCharset);
1434:   bool LoadFile(TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1434:   bool LoadFile(const char*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1434:   bool LoadFile(const std::string& _filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1434:   bool LoadFile(const std::string& _filename, const std::string& documentCharset);
1434:   bool LoadFile(FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1434:   bool SaveFile(const char*) const;
1434:   bool SaveFile(const std::string& filename) const;
1434:   bool Parse(const std::string& data, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1434:   bool Parse(const std::string& data, const std::string& dataCharset);
1434:   inline std::string GetSuggestedCharset(void) const { return m_SuggestedCharset; }
1434:   inline std::string GetUsedCharset(void) const { return m_UsedCharset; }
1434:   static bool Test();
1434: protected:
1434:   using TiXmlDocument::Parse;
1434:   bool TryParse(const std::string& data, const std::string& tryDataCharset);
1434:   bool InternalParse(const std::string& rawdata, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1434: 
1434:   std::string m_SuggestedCharset;
1434:   std::string m_UsedCharset;
1434: };
1434: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h" 2
1434: 
1434: 
1434: 
1434: 
1434: 
1434: class CDateTime;
1434: 
1434: class XMLUtils
1434: {
1434: public:
1434:   static bool HasChild(const TiXmlNode* pRootNode, const char* strTag);
1434: 
1434:   static bool GetHex(const TiXmlNode* pRootNode, const char* strTag, uint32_t& dwHexValue);
1434:   static bool GetUInt(const TiXmlNode* pRootNode, const char* strTag, uint32_t& dwUIntValue);
1434:   static bool GetLong(const TiXmlNode* pRootNode, const char* strTag, long& lLongValue);
1434:   static bool GetFloat(const TiXmlNode* pRootNode, const char* strTag, float& value);
1434:   static bool GetDouble(const TiXmlNode* pRootNode, const char* strTag, double& value);
1434:   static bool GetInt(const TiXmlNode* pRootNode, const char* strTag, int& iIntValue);
1434:   static bool GetBoolean(const TiXmlNode* pRootNode, const char* strTag, bool& bBoolValue);
1434: # 41 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1434:   static bool GetString(const TiXmlNode* pRootNode, const char* strTag, std::string& strStringValue);
1434: # 50 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1434:   static std::string GetString(const TiXmlNode* pRootNode, const char* strTag);
1434: # 65 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1434:   static bool GetAdditiveString(const TiXmlNode* rootNode, const char* tag, const std::string& separator, std::string& value, bool clear = false);
1434:   static bool GetStringArray(const TiXmlNode* rootNode, const char* tag, std::vector<std::string>& arrayValue, bool clear = false, const std::string& separator = "");
1434:   static bool GetPath(const TiXmlNode* pRootNode, const char* strTag, std::string& strStringValue);
1434:   static bool GetFloat(const TiXmlNode* pRootNode, const char* strTag, float& value, const float min, const float max);
1434:   static bool GetUInt(const TiXmlNode* pRootNode, const char* strTag, uint32_t& dwUIntValue, const uint32_t min, const uint32_t max);
1434:   static bool GetInt(const TiXmlNode* pRootNode, const char* intersectPrevious = false);
1412:   void RestoreViewPort();
1412:   void SetScissors(const CRect &rect);
1412:   void ResetScissors();
1412:   const CRect &GetScissors() const;
1412:   const CRect GetViewWindow() const;
1412:   void SetViewWindow(float left, float top, float right, float bottom);
1412:   bool IsCalibrating() const;
1412:   void SetCalibrating(bool bOnOff);
1412:   void ResetOverscan(RESOLUTION res, OVERSCAN &overscan);
1412:   void ResetOverscan(RESOLUTION_INFO &resinfo);
1412:   void ResetScreenParameters(RESOLUTION res);
1412:   void CaptureStateBlock();
1412:   void ApplyStateBlock();
1412:   void Clear(UTILS::COLOR::Color color = 0);
1412:   void GetAllowedResolutions(std::vector<RESOLUTION> &res);
1412: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1412:   void GetGUIScaling(const RESOLUTION_INFO &res, float &scaleX, float &scaleY, TransformMatrix *matrix = 
1412: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1412:                                                                                                         __null
1412: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1412:                                                                                                             );
1412:   void SetRenderingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1412:   void SetScalingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1412:   float GetScalingPixelRatio() const;
1412:   void InvertFinalCoords(float &x, float &y) const;
1412:   float ScaleFinalXCoord(float x, float y) const;
1412:   float ScaleFinalYCoord(float x, float y) const;
1412:   float ScaleFinalZCoord(float x, float y) const;
1412:   void ScaleFinalCoords(float &x, float &y, float &z) const;
1412:   bool RectIsAngled(float x1, float y1, float x2, float y2) const;
1412:   const TransformMatrix &GetGUIMatrix() const;
1412:   float GetGUIScaleX() const;
1412:   float GetGUIScaleY() const;
1412:   UTILS::COLOR::Color MergeAlpha(UTILS::COLOR::Color color) const;
1412:   UTILS::COLOR::Color MergeColor(UTILS::COLOR::Color color) const;
1412:   void SetOrigin(float x, float y);
1412:   void RestoreOrigin();
1412:   void SetCameraPosition(const CPoint &camera);
1412:   void SetStereoView(RENDER_STEREO_VIEW view);
1412:   RENDER_STEREO_VIEW GetStereoView() { return m_stereoView; }
1412:   void SetStereoMode(RENDER_STEREO_MODE mode) { m_nextStereoMode = mode; }
1412:   RENDER_STEREO_MODE GetStereoMode() { return m_stereoMode; }
1412:   void RestoreCameraPosition();
1412:   void SetStereoFactor(float factor);
1412:   void RestoreStereoFactor();
1412: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1412:   bool SetClipRegion(float x, float y, float w, float h);
1412:   void RestoreClipRegion();
1412:   void ClipRect(CRect &vertex, CRect &texture, CRect *diffuse = 
1412: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1412:                                                                __null
1412: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1412:                                                                    );
1412:   CRect GetClipRegion();
1412:   void AddGUITransform();
1412:   TransformMatrix AddTransform(const TransformMatrix &matrix);
1412:   void SetTransform(const TransformMatrix &matrix);
1412:   void SetTransform(const TransformMatrix &matrix, float scaleX, float scaleY);
1412:   void RemoveTransform();
1412: 
1412: 
1412:   CRect StereoCorrection(const CRect &rect) const;
1412:   CPoint StereoCorrection(const CPoint &point) const;
1412: 
1412:   CRect GenerateAABB(const CRect &rect) const;
1412: 
1412: 
1412:   const std::string& GetMediaDir() const;
1412:   void SetMediaDir(const std::string& strMediaDir);
1412: 
1412: protected:
1412: 
1412:   void UpdateCameraPosition(const CPoint &camera, const float &factor);
1412:   void SetVideoResolutionInternal(RESOLUTION res, bool forceUpdate);
1412:   void ApplyVideoResolution(RESOLUTION re strTag, int& iIntValue, const int min, const int max);
1434:   static bool GetDate(const TiXmlNode* pRootNode, const char* strTag, CDateTime& date);
1434:   static bool GetDateTime(const TiXmlNode* pRootNode, const char* strTag, CDateTime& dateTime);
1434: 
1434: 
1434: 
1434: 
1434: 
1434:   static std::string GetAttribute(const TiXmlElement *element, const char *tag);
1434: 
1434:   static TiXmlNode* SetString(TiXmlNode* pRootNode, const char *strTag, const std::string& strValue);
1434:   static void SetAdditiveString(TiXmlNode* pRootNode, const char *strTag, const std::string& strSeparator, const std::string& strValue);
1434:   static void SetStringArray(TiXmlNode* pRootNode, const char *strTag, const std::vector<std::string>& arrayValue);
1434:   static TiXmlNode* SetInt(TiXmlNode* pRootNode, const char *strTag, int value);
1434:   static TiXmlNode* SetFloat(TiXmlNode* pRootNode, const char *strTag, float value);
1434:   static TiXmlNode* SetDouble(TiXmlNode* pRootNode, const char* strTag, double value);
1434:   static void SetBoolean(TiXmlNode* pRootNode, const char *strTag, bool value);
1434:   static void SetHex(TiXmlNode* pRootNode, const char *strTag, uint32_t value);
1434:   static void SetPath(TiXmlNode* pRootNode, const char *strTag, const std::string& strValue);
1434:   static void SetLong(TiXmlNode* pRootNode, const char *strTag, long iValue);
1434:   static void SetDate(TiXmlNode* pRootNode, const char *strTag, const CDateTime& date);
1434:   static void SetDateTime(TiXmlNode* pRootNode, const char *strTag, const CDateTime& dateTime);
1434: 
1434:   static const int path_version = 1;
1434: };
1434: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 2
1434: 
1434: using namespace ADDON;
1434: 
1434: CWeatherManager::CWeatherManager(void) : CInfoLoader(30 * 60 * 1000)
1434: {
1434:   CServiceBroker::GetSettingsComponent()->GetSettings()->GetSettingsManager()->RegisterCallback(this, {
1434:     CSettings::SETTING_WEATHER_ADDON,
1434:     CSettings::SETTING_WEATHER_ADDONSETTINGS
1434:   });
1434: 
1434:   Reset();
1434: }
1434: 
1434: CWeatherManager::~CWeatherManager(void)
1434: {
1434:   const auto settingsComponent = CServiceBroker::GetSettingsComponent();
1434:   if (!settingsComponent)
1434:     return;
1434: 
1434:   const std::shared_ptr<CSettings> settings = settingsComponent->GetSettings();
1434:   if (!settings)
1434:     return;
1434: 
1434:   settings->GetSettingsManager()->UnregisterCallback(this);
1434: }
1434: 
1434: std::string CWeatherManager::BusyInfo(int info) const
1434: {
1434:   if (info == 21)
1434:     return URIUtils::AddFileToFolder(ICON_ADDON_PATH, "na.png");
1434: 
1434:   return CInfoLoader::BusyInfo(info);
1434: }
1434: 
1434: std::string CWeatherManager::TranslateInfo(int info) const
1434: {
1434:   switch (info) {
1434:     case 22:
1434:       return m_info.currentConditions;
1434:     case 21:
1434:       return m_info.currentIcon;
1434:     case 23:
1434:       return m_info.currentTemperature;
1434:     case 24:
1434:       return m_info.currentFeelsLike;
1434:     case 25:
1434:       return m_info.currentUVIndex;
1434:     case 26:
1434:       return m_info.currentWind;
1434:     case 27:
1434:       return m_info.currentDewPoint;
1434:     case 28:
1434:       return m_info.currentHumidity;
1434:     case 10:
1434:       return m_info.location;
1434:     default:
1434:       return "";
1434:   }
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: std::string CWeatherManager::GetLocation(int iLocation)
1434: {
1434:   CGUIWindow* window = CServiceBroker::GetGUI()->GetWindowManager().GetWindow(12600);
1434:   if (window)
1434:   {
1434:     std::string setting = StringUtils::Format("Location{}", iLocation);
1434:     return window->GetProperty(setting).asString();
1434:   }
1434:   return "";
1434: }
1434: 
1434: void CWeatherManager::Reset()
1434: {
1434:   m_info.Reset();
1434: }
1434: 
1434: bool CWeatherManager::IsFetched()
1434: {
1434: 
1434:   GetInfo(0);
1434:   return !m_info.lastUpdateTime.empty();
1434: }
1434: 
1434: const ForecastDay ("" "pread")
1115: 
1115: 
1115:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __pread64_alias (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64")
1115: 
1115: 
1115:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __pread_chk_warn (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __asm__ ("" "__pread_chk")
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread called with bigger length than size of " "the destination buffer")))
1115:                                   ;
1115: extern ssize_t __pread64_chk_warn (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __asm__ ("" "__pread64_chk")
1115: 
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread64 called with bigger length than size of " "the destination buffer")))
1115:                                   ;
1115: # 79 "/usr/include/arm-linux-gnueabihf/bits/unistd.h" 3 4
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
1115: pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 0)) && (__builtin_object_size (__buf, 0)) == (unsigned int) -1) || (((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char))))) && (((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char)))))) ? __pread64_alias (__fd, __buf, __nbytes, __offset) : ((((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) && !(((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) ? __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)) : __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0))))
1115: 
1115:                                      ;
1115: }
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
1115: pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 0)) && (__builtin_object_size (__buf, 0)) == (unsigned int) -1) || (((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char))))) && (((unsigned int) (__nbytes)) <= ((__builtin_object_size (__buf, 0))) / ((sizeof (char)))))) ? __pread64_alias (__fd, __buf, __nbytes, __offset) : ((((__typeof (__nbytes)) 0 < (__typeof (__nbytes)) -1 || (__builtin_constant_p (__nbytes) && (__nbytes) > 0)) && __builtin_constant_p ((((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) && !(((unsigned int) (__nbytes)) <= (__builtin_object_size (__buf, 0)) / (sizeof (char)))) ? __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)) : __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0))))
1115: 
1115:                                      ;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern ssize_t __readlink_chk (const char *__restrict __path,
1115:           char *__restrict __buf, size_t __len,
1115:           size_t __buflen)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attr&CWeatherManager::GetForecast(int day) const
1434: {
1434:   return m_info.forecast[day];
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: 
1434: void CWeatherManager::SetArea(int iLocation)
1434: {
1434:   const std::shared_ptr<CSettings> settings = CServiceBroker::GetSettingsComponent()->GetSettings();
1434:   settings->SetInt(CSettings::SETTING_WEATHER_CURRENTLOCATION, iLocation);
1434:   settings->Save();
1434: }
1434: 
1434: 
1434: 
1434: 
1434: 
1434: int CWeatherManager::GetArea() const
1434: {
1434:   return CServiceBroker::GetSettingsComponent()->GetSettings()->GetInt(CSettings::SETTING_WEATHER_CURRENTLOCATION);
1434: }
1434: 
1434: CJob *CWeatherManager::GetJob() const
1434: {
1434:   return new CWeatherJob(GetArea());
1434: }
1434: 
1434: void CWeatherManager::OnJobComplete(unsigned int jobID, bool success, CJob *job)
1434: {
1434:   m_info = static_cast<CWeatherJob*>(job)->GetInfo();
1434:   CInfoLoader::OnJobComplete(jobID, success, job);
1434: }
1434: 
1434: void CWeatherManager::OnSettingChanged(const std::shared_ptr<const CSetting>& setting)
1434: {
1434:   if (setting == 
1434: # 155 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 3 4
1434:                 __null
1434: # 155 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp"
1434:                     )
1434:     return;
1434: 
1434:   const std::string settingId = setting->GetId();
1434:   if (settingId == CSettings::SETTING_WEATHER_ADDON)
1434:   {
1434: 
1434:     CGUIWindow* window = CServiceBroker::GetGUI()->GetWindowManager().GetWindow(12600);
1434:     if (window != nullptr)
1434:       window->SetProperty("WeatherProviderLogo", "");
1434:     Refresh();
1434:   }
1434: }
1434: 
1434: void CWeatherManager::OnSettingAction(const std::shared_ptr<const CSetting>& setting)
1434: {
1434:   if (setting == 
1434: # 171 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 3 4
1434:                 __null
1434: # 171 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp"
1434:                     )
1434:     return;
1434: 
1434:   const std::string settingId = setting->GetId();
1434:   if (settingId == CSettings::SETTING_WEATHER_ADDONSETTINGS)
1434:   {
1434:     AddonPtr addon;
1434:     if (CServiceBroker::GetAddonMgr().GetAddon(
1434:             CServiceBroker::GetSettingsComponent()->GetSettings()->GetString(
1434:                 CSettings::SETTING_WEATHER_ADDON),
1434:             addon, AddonType::SCRIPT_WEATHER, OnlyEnabled::CHOICE_YES) &&
1434:         addon != 
1434: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp" 3 4
1434:                 __null
1434: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherManager.cpp"
1434:                     )
1434:     {
1434:       CGUIDialogAddonSettings::ShowForAddon(addon);
1434:       Refresh();
1434:     }
1434:   }
1434: }
s);
1412:   void UpdateInternalStateWithResolution(RESOLUTION res);
1412: 
1412:   int m_iScreenHeight = 576;
1412:   int m_iScreenWidth = 720;
1412:   std::string m_strMediaDir;
1412:   CRect m_videoRect;
1412:   bool m_bFullScreenRoot = true;
1412:   bool m_bFullScreenVideo = false;
1412:   bool m_bCalibrating = false;
1412:   RESOLUTION m_Resolution = RES_INVALID;
1412:   float m_fFPSOverride = 0.0f;
1412: 
1412:   RESOLUTION_INFO m_windowResolution;
1412:   std::stack<CPoint> m_cameras;
1412:   std::stack<CPoint> m_origins;
1412:   std::stack<CRect> m_clipRegions;
1412:   std::stack<float> m_stereoFactors;
1412:   std::stack<CRect> m_viewStack;
1412:   CRect m_scissors;
1412: 
1412:   class UITransform
1412:   {
1412:   public:
1412:     UITransform() : matrix() {}
1412:     UITransform(const TransformMatrix& m, const float sX = 1.0f, const float sY = 1.0f)
1412:       : matrix(m), scaleX(sX), scaleY(sY)
1412:     {
1412:     }
1412:     void Reset()
1412:     {
1412:       matrix.Reset();
1412:       scaleX = scaleY = 1.0f;
1412:     }
1412: 
1412:     TransformMatrix matrix;
1412:     float scaleX = 1.0f;
1412:     float scaleY = 1.0f;
1412:   };
1412: 
1412:   UITransform m_guiTransform;
1412:   UITransform m_finalTransform;
1412:   std::stack<UITransform> m_transforms;
1412:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1412:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1412:   RENDER_STEREO_MODE m_nextStereoMode = RENDER_STEREO_MODE_OFF;
1412: };
1412: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.h" 2
1412: 
1412: 
1412: 
1412: 
1412: class TiXmlNode;
1412: 
1412: class CViewStateSettings : public ISubSettings
1412: {
1412: public:
1412:   static CViewStateSettings& GetInstance();
1412: 
1412:   bool Load(const TiXmlNode *settings) override;
1412:   bool Save(TiXmlNode *settings) const override;
1412:   void Clear() override;
1412: 
1412:   const CViewState* Get(const std::string &viewState) const;
1412:   CViewState* Get(const std::string &viewState);
1412: 
1412:   SettingLevel GetSettingLevel() const { return m_settingLevel; }
1412:   void SetSettingLevel(SettingLevel settingLevel);
1412:   void CycleSettingLevel();
1412:   SettingLevel GetNextSettingLevel() const;
1412: 
1412:   EventLevel GetEventLevel() const { return m_eventLevel; }
1412:   void SetEventLevel(EventLevel eventLevel);
1412:   void CycleEventLevel();
1412:   EventLevel GetNextEventLevel() const;
1412:   bool ShowHigherEventLevels() const { return m_eventShowHigherLevels; }
1412:   void SetShowHigherEventLevels(bool showHigherEventLevels) { m_eventShowHigherLevels = showHigherEventLevels; }
1412:   void ToggleShowHigherEventLevels() { m_eventShowHigherLevels = !m_eventShowHigherLevels; }
1412: 
1412: protected:
1412:   CViewStateSettings();
1412:   CViewStateSettings(const CViewStateSettings&) = delete;
1412:   CViewStateSettings& operator=(CViewStateSettings const&) = delete;
1412:   ~CViewStateSettings() override;
1412: 
1412: private:
1412:   std::map<std::string, CViewState*> m_viewStates;
1412:   SettingLevel m_settingLevel = SettingLevel::Standard;
1412:   EventLevel m_eventLevel = EventLevel::Basic;
1412:   bool m_eventShowHigherLevels = true;
1412:   mutable CCriticalSection m_critical;
1412: 
1412:   void AddViewState(const std::string& strTagName, int defaultView = (VIEW_TYPE_LIST << 16), SortBy defaultSort = SortByLabel);
1412: };
1412: # 10 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 2
1412: 
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1412:        
1412: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1412: # 1 "/usr/include/tinyxml.h" 1 3 4
1412: # 41 "/usr/include/tinyxml.h" 3 4
1412: # 1 "/usr/include/c++/12/stdlib.h" 1 3 4
1412: # 36 "/usr/include/c++/12/stdlib.h" 3 4
1412: # 1 "/usr/include/c++/12/cstdlib" 1 3 4
1412: # 39 "/usr/include/c++/12/cstdlib" 3 4
1412:        
1412: # 40 "/usr/include/c++/12/cstdlib" 3
1412: # 37 "/us=== END GCC DUMP ===
ibute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __readlink_alias (const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true) __asm__ ("" "readlink")
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern ssize_t __readlink_chk_warn (const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) noexcept (true) __asm__ ("" "__readlink_chk")
1115: 
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlink called with bigger length " "than size of destination buffer")))
1115:                                          ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) ssize_t
1115: __attribute__ ((__leaf__)) readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __readlink_alias (__path, __buf, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __readlink_chk_warn (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)) : __readlink_chk (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                           ;
1115: }
1115: 
1115: 
1115: 
1115: extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
1115:      char *__restrict __buf, size_t __len,
1115:      size_t __buflen)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 3, 4)));
1115: extern ssize_t __readlinkat_alias (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true) __asm__ ("" "readlinkat")
1115: 
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 3, 4)));
1115: extern ssize_t __readlinkat_chk_warn (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) noexcept (true) __asm__ ("" "__readlinkat_chk")
1115: 
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlinkat called with bigger " "length than size of destination " "buffer")))
1115: 
1115:                 ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) ssize_t
1115: __attribute__ ((__leaf__)) readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) noexcept (true)
1115: 
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __readlimake[4]: *** [build/weather/CMakeFiles/weather.dir/build.make:107: build/weather/CMakeFiles/weather.dir/WeatherManager.cpp.o] Error 1
r/include/c++/12/stdlib.h" 2 3 4
1412: 
1412: 
1412: # 38 "/usr/include/c++/12/stdlib.h" 3 4
1412: using std::abort;
1412: using std::atexit;
1412: using std::exit;
1412: 
1412: 
1412:   using std::at_quick_exit;
1412: 
1412: 
1412:   using std::quick_exit;
1412: 
1412: 
1412: 
1412: 
1412: using std::div_t;
1412: using std::ldiv_t;
1412: 
1412: using std::abs;
1412: using std::atof;
1412: using std::atoi;
1412: using std::atol;
1412: using std::bsearch;
1412: using std::calloc;
1412: using std::div;
1412: using std::free;
1412: using std::getenv;
1412: using std::labs;
1412: using std::ldiv;
1412: using std::malloc;
1412: 
1412: using std::mblen;
1412: using std::mbstowcs;
1412: using std::mbtowc;
1412: 
1412: using std::qsort;
1412: using std::rand;
1412: using std::realloc;
1412: using std::srand;
1412: using std::strtod;
1412: using std::strtol;
1412: using std::strtoul;
1412: using std::system;
1412: 
1412: using std::wcstombs;
1412: using std::wctomb;
1412: # 42 "/usr/include/tinyxml.h" 2 3 4
1412: 
1412: # 1 "/usr/include/assert.h" 1 3 4
1412: # 44 "/usr/include/tinyxml.h" 2 3 4
1412: # 52 "/usr/include/tinyxml.h" 3 4
1412: # 1 "/usr/include/c++/12/iostream" 1 3 4
1412: # 36 "/usr/include/c++/12/iostream" 3 4
1412:        
1412: # 37 "/usr/include/c++/12/iostream" 3
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/ostream" 1 3
1412: # 36 "/usr/include/c++/12/ostream" 3
1412:        
1412: # 37 "/usr/include/c++/12/ostream" 3
1412: 
1412: # 1 "/usr/include/c++/12/ios" 1 3
1412: # 36 "/usr/include/c++/12/ios" 3
1412:        
1412: # 37 "/usr/include/c++/12/ios" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/ios_base.h" 1 3
1412: # 37 "/usr/include/c++/12/bits/ios_base.h" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/ios_base.h" 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/locale_classes.h" 1 3
1412: # 37 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/locale_classes.h" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 62 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:   class locale
1412:   {
1412:   public:
1412: 
1412: 
1412:     typedef int category;
1412: 
1412: 
1412:     class facet;
1412:     class id;
1412:     class _Impl;
1412: 
1412:     friend class facet;
1412:     friend class _Impl;
1412: 
1412:     template<typename _Facet>
1412:       friend bool
1412:       has_facet(const locale&) throw();
1412: 
1412:     template<typename _Facet>
1412:       friend const _Facet&
1412:       use_facet(const locale&);
1412: 
1412:     template<typename _Cache>
1412:       friend struct __use_cache;
1412: # 98 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     static const category none = 0;
1412:     static const category ctype = 1L << 0;
1412:     static const category numeric = 1L << 1;
1412:     static const category collate = 1L << 2;
1412:     static const category time = 1L << 3;
1412:     static const category monetary = 1L << 4;
1412:     static const category messages = 1L << 5;
1412:     static const category all = (ctype | numeric | collate |
1412:         time | monetary | messages);
1412: # 117 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     locale() throw();
1412: # 126 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     locale(const locale& __other) throw();
1412: # 136 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     explicit
1412:     locale(const char* __s);
1412: # 151 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     locale(const locale& __base, const char* __s, category __cat);
1412: # 162 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     explicit
1412:     locale(const std::string& __s) : locale(__s.c_str()) { }
1412: # 177 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     locale(const locale& __base, const std::string& __s, category __cat)
1412:     : locale(__base, __s.c_str(), __cat) { }
1412: # 192 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     locale(const locale& __basnkat_alias (__fd, __path, __buf, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __readlinkat_chk_warn (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1)) : __readlinkat_chk (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                                 ;
1115: }
1115: 
1115: 
1115: extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
1115:      noexcept (true) __attribute__ ((__warn_unused_result__));
1115: extern char *__getcwd_alias (char *__buf, size_t __size) noexcept (true) __asm__ ("" "getcwd")
1115:                                               __attribute__ ((__warn_unused_result__));
1115: extern char *__getcwd_chk_warn (char *__buf, size_t __size, size_t __buflen) noexcept (true) __asm__ ("" "__getcwd_chk")
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getcwd caller with bigger length than size of " "destination buffer")))
1115:                               ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
1115: __attribute__ ((__leaf__)) getcwd (char *__buf, size_t __size) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__size)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __getcwd_alias (__buf, __size) : ((((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__size)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __getcwd_chk_warn (__buf, __size, __builtin_object_size (__buf, 2 > 1)) : __getcwd_chk (__buf, __size, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                    ;
1115: }
1115: 
1115: 
1115: extern char *__getwd_chk (char *__buf, size_t buflen)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern char *__getwd_warn (char *__buf) noexcept (true) __asm__ ("" "getwd")
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use getcwd instead, as getwd " "doesn't specify buffer size")))
1115:                                          ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)) char *
1115: __attribute__ ((__leaf__)) getwd (char *__buf) noexcept (true)
1115: {
1115:   if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
1115:     return __getwd_chk (__buf, __builtin_object_size (__buf, 2 > 1));
1115:   return __getwd_warn (__buf);
1115: }
1115: 
1115: 
1115: extern size_t __confstr_chk (int __name, char *__buf, size_t __len,
1115:         size_t __buflen) noexcept (true)
1115:   __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern size_t __confstr_alias (int __name, char *__buf, size_t __len) noexcept (true) __asm__ ("" "confstr")
1115: 
1115:    __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern size_t __confstr_chk_warn (int __name, char *__buf, size_t __len, size_t __buflen) noexcept (true) __asm__ ("" "__comake[4]: *** Waiting for unfinished jobs....
e, const locale& __add, category __cat);
1412: # 205 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     template<typename _Facet>
1412:       locale(const locale& __other, _Facet* __f);
1412: 
1412: 
1412:     ~locale() throw();
1412: # 219 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     const locale&
1412:     operator=(const locale& __other) throw();
1412: # 234 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     template<typename _Facet>
1412:       locale
1412:       combine(const locale& __other) const;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     string
1412:     name() const;
1412: # 254 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     bool
1412:     operator==(const locale& __other) const throw();
1412: # 264 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     bool
1412:     operator!=(const locale& __other) const throw()
1412:     { return !(this->operator==(__other)); }
1412: # 284 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     template<typename _Char, typename _Traits, typename _Alloc>
1412:       bool
1412:       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
1412:    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
1412: # 300 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     static locale
1412:     global(const locale& __loc);
1412: 
1412: 
1412: 
1412: 
1412:     static const locale&
1412:     classic();
1412: 
1412:   private:
1412: 
1412:     _Impl* _M_impl;
1412: 
1412: 
1412:     static _Impl* _S_classic;
1412: 
1412: 
1412:     static _Impl* _S_global;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     static const char* const* const _S_categories;
1412: # 335 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     enum { _S_categories_size = 6 + 6 };
1412: 
1412: 
1412:     static __gthread_once_t _S_once;
1412: 
1412: 
1412:     explicit
1412:     locale(_Impl*) throw();
1412: 
1412:     static void
1412:     _S_initialize();
1412: 
1412:     static void
1412:     _S_initialize_once() throw();
1412: 
1412:     static category
1412:     _S_normalize_category(category);
1412: 
1412:     void
1412:     _M_coalesce(const locale& __base, const locale& __add, category __cat);
1412: 
1412: 
1412:     static const id* const _S_twinned_facets[];
1412: 
1412:   };
1412: # 373 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:   class locale::facet
1412:   {
1412:   private:
1412:     friend class locale;
1412:     friend class locale::_Impl;
1412: 
1412:     mutable _Atomic_word _M_refcount;
1412: 
1412: 
1412:     static __c_locale _S_c_locale;
1412: 
1412: 
1412:     static const char _S_c_name[2];
1412: 
1412: 
1412:     static __gthread_once_t _S_once;
1412: 
1412: 
1412:     static void
1412:     _S_initialize_once();
1412: 
1412:   protected:
1412: # 404 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     explicit
1412:     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
1412:     { }
1412: 
1412: 
1412:     virtual
1412:     ~facet();
1412: 
1412:     static void
1412:     _S_create_c_locale(__c_locale& __cloc, const char* __s,
1412:          __c_locale __old = 0);
1412: 
1412:     static __c_locale
1412:     _S_clone_c_locale(__c_locale& __cloc) throw();
1412: 
1412:     static void
1412:     _S_destroy_c_locale(__c_locale& __cloc);
1412: 
1412:     static __c_locale
1412:     _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
1412: 
1412: 
1412: 
1412:     static __c_locale
1412:     _S_get_c_locale();
1412: 
1412:     __attribute__ ((__const__)) static const char*
1412:     _S_get_c_name() throw();
1412: # 440 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:     facet(const facet&) = delete;
1412: 
1412:     facet&
1412:     operator=(const facet&) = delete;
1412: 
1412: 
1412:   private:
1412:     void
1412:     _M_add_reference() const throw()
1412:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1412: 
1412:     void
1412:     _M_remove_reference() const throw()
1412:     {
1412: 
1412:       ;
1412:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1412:  {
1412:           ;
1412:    try
1412:      { delete this; }
1412:    catch(...)
1412:      { }
1412:  }
1412:     }
1412: 
1412:     const facet* _M_sso_shim(const id*) const;
1412:     const facet* _M_cow_shim(const id*) const;
1412: 
1412:   protected:
1412:     class __shim;
1412:   };
1412: # 485 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:   class locale::id
1412:   {
1412:   private:
1412:     friend class locale;
1412:     friend class locale::_Impl;
1412: 
1412:     template<typename _Facet>
1412:       friend const _Facet&
1412:       use_facet(const locale&);
1412: 
1412:     template<typename _Facet>
1412:       friend bool
1412:       has_facet(const locale&) throw();
1412: 
1412: 
1412: 
1412: 
1412:     mutable size_t _M_index;
1412: 
1412: 
1412:     static _Atomic_word _S_refcount;
1412: 
1412:     void
1412:     operator=(const id&);
1412: 
1412:     id(const id&);
1412: 
1412:   public:
1412: 
1412: 
1412: 
1412:     id() { }
1412: 
1412:     size_t
1412:     _M_id() const throw();
1412:   };
1412: 
1412: 
1412: 
1412:   class locale::_Impl
1412:   {
1412:   public:
1412: 
1412:     friend class locale;
1412:     friend class locale::facet;
1412: 
1412:     template<typename _Facet>
1412:       friend bool
1412:       has_facet(const locale&) throw();
1412: 
1412:     template<typename _Facet>
1412:       friend const _Facet&
1412:       use_facet(const locale&);
1412: 
1412:     template<typename _Cache>
1412:       friend struct __use_cache;
1412: 
1412:   private:
1412: 
1412:     _Atomic_word _M_refcount;
1412:     const facet** _M_facets;
1412:     size_t _M_facets_size;
1412:     const facet** _M_caches;
1412:     char** _M_names;
1412:     static const locale::id* const _S_id_ctype[];
1412:     static const locale::id* const _S_id_numeric[];
1412:     static const locale::id* const _S_id_collate[];
1412:     static const locale::id* const _S_id_time[];
1412:     static const locale::id* const _S_id_monetary[];
1412:     static const locale::id* const _S_id_messages[];
1412:     static const locale::id* const* const _S_facet_categories[];
1412: 
1412:     void
1412:     _M_add_reference() throw()
1412:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1412: 
1412:     void
1412:     _M_remove_reference() throw()
1412:     {
1412: 
1412:       ;
1412:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
1412:  {
1412:           ;
1412:    try
1412:      { delete this; }
1412:    catch(...)
1412:      { }
1412:  }
1412:     }
1412: 
1412:     _Impl(const _Impl&, size_t);
1412:     _Impl(const char*, size_t);
1412:     _Impl(size_t) throw();
1412: 
1412:    ~_Impl() throw();
1412: 
1412:     _Impl(const _Impl&);
1412: 
1412:     void
1412:     operator=(const _Impl&);
1412: 
1412:     bool
1412:     _M_check_same_name()
1412:     {
1412:       bool __ret = true;
1412:       if (_M_names[1])
1412: 
1412:  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
1412:    __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
1412:       return __ret;
1412:     }
1412: 
1412:     void
1412:     _M_replace_categories(const _Impl*, category);
1412: 
1412:     void
1412:     _M_replace_category(const _Impl*, const locale::id* const*);
1412: 
1412:     void
1412:     _M_replace_facet(const _Impl*, const locale::id*);
1412: 
1412:     void
1412:     _M_install_facet(const locale::id*, const facet*);
1412: 
1412:     template<typename _Facet>
1412:       void
1412:       _M_init_facet(_Facet* __facet)
1412:       { _M_install_facet(&_Facet::id, __facet); }
1412: 
1412:     template<typename _Facet>
1412:       void
1412:       _M_init_facet_unchecked(_Facet* __facet)
1412:       {
1412:  __facet->_M_add_reference();
1412:  _M_facets[_Facet::id._M_id()] = __facet;
1412:       }
1412: 
1412:     void
1412:     _M_install_cache(const facet*, size_t);
1412: 
1412:     void _M_init_extra(facet**);
1412:     void _M_init_extra(void*, void*, const char*, const char*);
1412: 
1412: 
1412: 
1412: 
1412:   };
1412: # 647 "/usr/nfstr_chk")
1115: 
1115: 
1115:      __attribute__((__warning__ ("confstr called with bigger length than size of destination " "buffer")))
1115:             ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
1115: __attribute__ ((__leaf__)) confstr (int __name, char *__buf, size_t __len) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__len)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __confstr_alias (__name, __buf, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__len)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __confstr_chk_warn (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)) : __confstr_chk (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                           ;
1115: }
1115: 
1115: 
1115: extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
1115:   noexcept (true) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 1)));
1115: extern int __getgroups_alias (int __size, __gid_t __list[]) noexcept (true) __asm__ ("" "getgroups")
1115:                  __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 1)));
1115: extern int __getgroups_chk_warn (int __size, __gid_t __list[], size_t __listlen) noexcept (true) __asm__ ("" "__getgroups_chk")
1115: 
1115: 
1115:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getgroups called with bigger group count than what " "can fit into destination buffer")))
1115:                                            ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) getgroups (int __size, __gid_t __list[]) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__list, 2 > 1)) && (__builtin_object_size (__list, 2 > 1)) == (unsigned int) -1) || (((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= ((__builtin_object_size (__list, 2 > 1))) / ((sizeof (__gid_t))))) && (((unsigned int) (__size)) <= ((__builtin_object_size (__list, 2 > 1))) / ((sizeof (__gid_t)))))) ? __getgroups_alias (__size, __list) : ((((__typeof (__size)) 0 < (__typeof (__size)) -1 || (__builtin_constant_p (__size) && (__size) > 0)) && __builtin_constant_p ((((unsigned int) (__size)) <= (__builtin_object_size (__list, 2 > 1)) / (sizeof (__gid_t)))) && !(((unsigned int) (__size)) <= (__builtin_object_size (__list, 2 > 1)) / (sizeof (__gid_t)))) ? __getgroups_chk_warn (__size, __list, __builtin_object_size (__list, 2 > 1)) : __getgroups_chk (__size, __list, __builtin_object_size (__list, 2 > 1))))
1115: 
1115:                     ;
1115: }
1115: 
1115: 
1115: extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,
1115:        size_t __nreal) noexcept (true) __attribute__ ((__nonnull__ (2)))
1115:    __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: extern int __ttyname_r_alias (int __fd, char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "ttyname_r")
1115: 
1115:      __attribute__ ((__nonnull__ (2)));
1115: extern int __ttyname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__ttyname_r_chk")
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ttyname_r called with bigger buflen than " "size of destination buffer")))
1115:                                   ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) ttyname_r (int __fd, char *__buf, size_t __buflen) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __ttyname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __ttyname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __ttyname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                            ;
1115: }
1115: 
1115: 
1115: 
1115: extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern int __getlogin_r_alias (char *__buf, size_t __buflen) __asm__ ("" "getlogin_r")
1115:                      __attribute__ ((__nonnull__ (1)));
1115: extern int __getlogin_r_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getlogin_r_chk")
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("getlogin_r called with bigger buflen than " "size of destination buffer")))
1115:                                   ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: getlogin_r (char *__buf, size_t __buflen)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __getlogin_r_alias (__buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __getlogin_r_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __getlogin_r_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                      ;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern int __gethostname_alias (char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "gethostname")
1115: 
1115:   __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern int __gethostname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__gethostname_chk")
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("gethostname called with bigger buflen than " "size of destination buffer")))
1115:                  include/c++/12/bits/locale_classes.h" 3
1412:   template<typename _CharT>
1412:     class __cxx11:: collate : public locale::facet
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef basic_string<_CharT> string_type;
1412: 
1412: 
1412:     protected:
1412: 
1412: 
1412:       __c_locale _M_c_locale_collate;
1412: 
1412:     public:
1412: 
1412:       static locale::id id;
1412: # 674 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       explicit
1412:       collate(size_t __refs = 0)
1412:       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
1412:       { }
1412: # 688 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       explicit
1412:       collate(__c_locale __cloc, size_t __refs = 0)
1412:       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
1412:       { }
1412: # 705 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       int
1412:       compare(const _CharT* __lo1, const _CharT* __hi1,
1412:        const _CharT* __lo2, const _CharT* __hi2) const
1412:       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
1412: # 724 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       string_type
1412:       transform(const _CharT* __lo, const _CharT* __hi) const
1412:       { return this->do_transform(__lo, __hi); }
1412: # 738 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       long
1412:       hash(const _CharT* __lo, const _CharT* __hi) const
1412:       { return this->do_hash(__lo, __hi); }
1412: 
1412: 
1412:       int
1412:       _M_compare(const _CharT*, const _CharT*) const throw();
1412: 
1412:       size_t
1412:       _M_transform(_CharT*, const _CharT*, size_t) const throw();
1412: 
1412:   protected:
1412: 
1412:       virtual
1412:       ~collate()
1412:       { _S_destroy_c_locale(_M_c_locale_collate); }
1412: # 767 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       virtual int
1412:       do_compare(const _CharT* __lo1, const _CharT* __hi1,
1412:    const _CharT* __lo2, const _CharT* __hi2) const;
1412: # 781 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       virtual string_type
1412:       do_transform(const _CharT* __lo, const _CharT* __hi) const;
1412: # 794 "/usr/include/c++/12/bits/locale_classes.h" 3
1412:       virtual long
1412:       do_hash(const _CharT* __lo, const _CharT* __hi) const;
1412:     };
1412: 
1412:   template<typename _CharT>
1412:     locale::id collate<_CharT>::id;
1412: 
1412: 
1412:   template<>
1412:     int
1412:     collate<char>::_M_compare(const char*, const char*) const throw();
1412: 
1412:   template<>
1412:     size_t
1412:     collate<char>::_M_transform(char*, const char*, size_t) const throw();
1412: 
1412: 
1412:   template<>
1412:     int
1412:     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
1412: 
1412:   template<>
1412:     size_t
1412:     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     class __cxx11:: collate_byname : public collate<_CharT>
1412:     {
1412:     public:
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef basic_string<_CharT> string_type;
1412: 
1412: 
1412:       explicit
1412:       collate_byname(const char* __s, size_t __refs = 0)
1412:       : collate<_CharT>(__refs)
1412:       {
1412:  if (__builtin_strcmp(__s, "C") != 0
1412:      && __builtin_strcmp(__s, "POSIX") != 0)
1412:    {
1412:      this->_S_destroy_c_locale(this->_M_c_locale_collate);
1412:      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
1412:    }
1412:       }
1412: 
1412: 
1412:       explicit
1412:       collate_byname(const string& __s, size_t __refs = 0)
1412:       : collate_byname(__s.c_str(), __refs) { }
1412: 
1412: 
1412:     protected:
1412:       virtual
1412:       ~collate_byname() { }
1412:     };
1412: 
1412: 
1412: }
1412: 
1412: # 1 "/usr/include/c++/12/bits/locale_classes.tcc" 1 3
1412: # 37 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _Facet>
1412:     locale::
1412:     locale(const locale& __other, _Facet* __f)
1412:     {
1412:       _M_impl = new _Impl(*__other._M_impl, 1);
1412: 
1412:       try
1412:  { _M_impl->_M_install_facet(&_Facet::id, __f); }
1412:       catch(...)
1412:  {
1412:    _M_impl->_M_remove_reference();
1412:    throw;
1412:  }
1412:       delete [] _M_impl->_M_names[0];
1412:       _M_impl->_M_names[0] = 0;
1412:     }
1412: 
1412:   template<typename _Facet>
1412:     locale
1412:     locale::
1412:     combine(const locale& __other) const
1412:     {
1412:       _Impl* __tmp = new _Impl(*_M_impl, 1);
1412:       try
1412:  {
1412:    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
1412:  }
1412:       catch(...)
1412:  {
1412:    __tmp->_M_remove_reference();
1412:    throw;
1412:  }
1412:       return locale(__tmp);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     bool
1412:     locale::
1412:     operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
1412:         const basic_string<_CharT, _Traits, _Alloc>& __s2) const
1412:     {
1412:       typedef std::collate<_CharT> __collate_type;
1412:       const __collate_type& __collate = use_facet<__collate_type>(*this);
1412:       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
1412:     __s2.data(), __s2.data() + __s2.length()) < 0);
1412:     }
1412: # 102 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1412:   template<typename _Facet>
1412:     bool
1412:     has_facet(const locale& __loc) throw()
1412:     {
1412:       const size_t __i = _Facet::id._M_id();
1412:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1412:       return (__i < __loc._M_impl->_M_facets_size
1412: 
1412:        && dynamic_cast<const _Facet*>(__facets[__i]));
1412: 
1412: 
1412: 
1412:     }
1412: # 130 "/usr/include/c++/12/bits/locale_classes.tcc" 3
1412:   template<typename _Facet>
1412:     const _Facet&
1412:     use_facet(const locale& __loc)
1412:     {
1412:       const size_t __i = _Facet::id._M_id();
1412:       const locale::facet** __facets = __loc._M_impl->_M_facets;
1412:       if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
1412:         __throw_bad_cast();
1412: 
1412:       return dynamic_cast<const _Facet&>(*__facets[__i]);
1412: 
1412: 
1412: 
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     int
1412:     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
1412:     { return 0; }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     size_t
1412:     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
1412:     { return 0; }
1412: 
1412:   template<typename _CharT>
1412:     int
1412:     collate<_CharT>::
1412:     do_compare(const _CharT* __lo1, const _CharT* __hi1,
1412:         const _CharT* __lo2, const _CharT* __hi2) const
1412:     {
1412: 
1412: 
1412:       const string_type __one(__lo1, __hi1);
1412:       const string_type __two(__lo2, __hi2);
1412: 
1412:       const _CharT* __p = __one.c_str();
1412:       const _CharT* __pend = __one.data() + __one.length();
1412:       const _CharT* __q = __two.c_str();
1412:       const _CharT* __qend = __two.data() + __two.length();
1412: 
1412: 
1412: 
1412: 
1412:       for (;;)
1412:  {
1412:    const int __res = _M_compare(__p, __q);
1412:    if (__res)
1412:      return __res;
1412: 
1412:    __p += char_traits<_CharT>::length(__p);
1412:    __q += char_traits<_CharT>::length(__q);
1412:    if (__p == __pend && __q == __qend)
1412:      return 0;
1412:    else if (__p == __pend)
1412:      return -1;
1412:    else if (__q == __qend)
1412:      return 1;
1412: 
1412:    __p++;
1412:    __q++;
1412:  }
1412:     }
1412: 
1412:   template<typename _CharT>
1412:     typename collate<_CharT>::string_type
1412:     collate<_CharT>::
1412:     do_transform(const _CharT* __lo, const _CharT* __hi) c                 ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) gethostname (char *__buf, size_t __buflen) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __gethostname_alias (__buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __gethostname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __gethostname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                      ;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern int __getdomainname_alias (char *__buf, size_t __buflen) noexcept (true) __asm__ ("" "getdomainname")
1115: 
1115:                      __attribute__ ((__nonnull__ (1)))
1115:   __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: extern int __getdomainname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) noexcept (true) __asm__ ("" "__getdomainname_chk")
1115: 
1115: 
1115:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getdomainname called with bigger " "buflen than size of destination " "buffer")))
1115: 
1115:                     ;
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
1115: __attribute__ ((__leaf__)) getdomainname (char *__buf, size_t __buflen) noexcept (true)
1115: {
1115:   return (((__builtin_constant_p (__builtin_object_size (__buf, 2 > 1)) && (__builtin_object_size (__buf, 2 > 1)) == (unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char))))) && (((unsigned int) (__buflen)) <= ((__builtin_object_size (__buf, 2 > 1))) / ((sizeof (char)))))) ? __getdomainname_alias (__buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) && !(((unsigned int) (__buflen)) <= (__builtin_object_size (__buf, 2 > 1)) / (sizeof (char)))) ? __getdomainname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)) : __getdomainname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1))))
1115: 
1115:                      ;
1115: }
1115: # 1215 "/usr/include/unistd.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/unistd_ext.h" 1 3 4
1115: # 34 "/usr/include/arm-linux-gnueabihf/bits/unistd_ext.h" 3 4
1115: extern __pid_t gettid (void) noexcept (true);
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/linux/close_range.h" 1 3 4
1115: # 39 "/usr/include/arm-linux-gnueabihf/bits/unistd_ext.h" 2 3 4
1115: # 1219 "/usr/include/unistd.h" 2 3 4
1115: 
1115: }
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1115: 
1115: # 1 "/usr/include/string.h" 1 3 4
1115: # 26 "/usr/include/string.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1115: # 27 "/usr/include/string.h" 2 3 4
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 34 "/usr/include/string.h" 2 3 4
1115: # 43 "/usr/include/string.h" 3 4
1115: extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
1115:        size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern void *memmove (void *__dest, const void *__src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
1115:         int __c, size_t __n)
1115:     noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4)));
1115: 
1115: 
1115: 
1115: 
1115: extern void *memset (void *__s, int __c, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int memcmp (const void *__s1, const void *__s2, size_t __n)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: # 80 "/usr/include/string.h" 3 4
1115: extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern "C++"
1115: {
1115: extern void *memchr (void *__s, int __c, size_t __n)
1115:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: extern const void *memchr (const void *__s, int __c, size_t __n)
1115:       noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void *
1115: memchr (void *__s, int __c, size_t __n) noexcept (true)
1115: {
1115:   return __builtin_memchr (__s, __c, __n);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void *
1115: memchr (const void *__s, int __c, size_t __n) noexcept (true)
1115: {
1115:   return __builtin_memchr (__s, __c, __n);
1115: }
1115: 
1115: }
1115: # 115 "/usr/include/string.h" 3 4
1115: extern "C++" void *rawmemchr (void *__s, int __c)
1115:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: extern "C++" const void *rawmemchr (const void *__s, int __c)
1115:      noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" void *memrchr (void *__s, int __c, size_t __n)
1115:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1115:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1115: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
1115:       noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)))
1115:       __attribute__ ((__access__ (__read_only__, 1, 3)));
1115: # 141 "/usr/include/string.h" 3 4
1115: extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern char *strncpy (char *__restrict __dest,
1115:         const char *__restrict __src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern char *strcat (char *__restrict __dest, const char *__restrict __src)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern char *strncat (char *__restrict __dest, const char *__restrict __src,
1115:         size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int strcmp (const char *__s1, const char *__s2)
1115:      noexcept (true) __attribute__ ((__ponst
1412:     {
1412:       string_type __ret;
1412: 
1412: 
1412:       const string_type __str(__lo, __hi);
1412: 
1412:       const _CharT* __p = __str.c_str();
1412:       const _CharT* __pend = __str.data() + __str.length();
1412: 
1412:       size_t __len = (__hi - __lo) * 2;
1412: 
1412:       _CharT* __c = new _CharT[__len];
1412: 
1412:       try
1412:  {
1412: 
1412: 
1412: 
1412:    for (;;)
1412:      {
1412: 
1412:        size_t __res = _M_transform(__c, __p, __len);
1412: 
1412: 
1412:        if (__res >= __len)
1412:   {
1412:     __len = __res + 1;
1412:     delete [] __c, __c = 0;
1412:     __c = new _CharT[__len];
1412:     __res = _M_transform(__c, __p, __len);
1412:   }
1412: 
1412:        __ret.append(__c, __res);
1412:        __p += char_traits<_CharT>::length(__p);
1412:        if (__p == __pend)
1412:   break;
1412: 
1412:        __p++;
1412:        __ret.push_back(_CharT());
1412:      }
1412:  }
1412:       catch(...)
1412:  {
1412:    delete [] __c;
1412:    throw;
1412:  }
1412: 
1412:       delete [] __c;
1412: 
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT>
1412:     long
1412:     collate<_CharT>::
1412:     do_hash(const _CharT* __lo, const _CharT* __hi) const
1412:     {
1412:       unsigned long __val = 0;
1412:       for (; __lo < __hi; ++__lo)
1412:  __val =
1412:    *__lo + ((__val << 7)
1412:      | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
1412:     __digits - 7)));
1412:       return static_cast<long>(__val);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template class collate<char>;
1412:   extern template class collate_byname<char>;
1412: 
1412:   extern template
1412:     const collate<char>&
1412:     use_facet<collate<char> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<collate<char> >(const locale&);
1412: 
1412: 
1412:   extern template class collate<wchar_t>;
1412:   extern template class collate_byname<wchar_t>;
1412: 
1412:   extern template
1412:     const collate<wchar_t>&
1412:     use_facet<collate<wchar_t> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<collate<wchar_t> >(const locale&);
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 858 "/usr/include/c++/12/bits/locale_classes.h" 2 3
1412: # 42 "/usr/include/c++/12/bits/ios_base.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   enum _Ios_Fmtflags
1412:     {
1412:       _S_boolalpha = 1L << 0,
1412:       _S_dec = 1L << 1,
1412:       _S_fixed = 1L << 2,
1412:       _S_hex = 1L << 3,
1412:       _S_internal = 1L << 4,
1412:       _S_left = 1L << 5,
1412:       _S_oct = 1L << 6,
1412:       _S_right = 1L << 7,
1412:       _S_scientific = 1L << 8,
1412:       _S_showbase = 1L << 9,
1412:       _S_showpoint = 1L << 10,
1412:       _S_showpos = 1L << 11,
1412:       _S_skipws = 1L << 12,
1412:       _S_unitbuf = 1L << 13,
1412:       _S_uppercase = 1L << 14,
1412:       _S_adjustfield = _S_left | _S_right | _S_internal,
1412:       _S_basefield = _S_dec | _S_oct | _S_hex,
1412:       _S_floatfield = _S_scientific | _S_fixed,
1412:       _S_ios_fmtflags_end = 1L << 16,
1412:       _S_ios_fmtflags_max = 0x7fffffff,
1412:       _S_ios_fmtflags_min = ~0x7fffffff
1412:     };
1412: 
1412:   inline constexpr _Ios_Fmtflags
1412:   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1412:   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Fmtflags
1412:   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1412:   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Fmtflags
1412:   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
1412:   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Fmtflags
1412:   operator~(_Ios_Fmtflags __a)
1412:   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
1412: 
1412:   inline const _Ios_Fmtflags&
1412:   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1412:   { return __a = __a | __b; }
1412: 
1412:   inline const _Ios_Fmtflags&
1412:   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1412:   { return __a = __a & __b; }
1412: 
1412:   inline const _Ios_Fmtflags&
1412:   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
1412:   { return __a = __a ^ __b; }
1412: 
1412: 
1412:   enum _Ios_Openmode
1412:     {
1412:       _S_app = 1L << 0,
1412:       _S_ate = 1L << 1,
1412:       _S_bin = 1L << 2,
1412:       _S_in = 1L << 3,
1412:       _S_out = 1L << 4,
1412:       _S_trunc = 1L << 5,
1412:       _S_noreplace = 1L << 6,
1412:       _S_ios_openmode_end = 1L << 16,
1412:       _S_ios_openmode_max = 0x7fffffff,
1412:       _S_ios_openmode_min = ~0x7fffffff
1412:     };
1412: 
1412:   inline constexpr _Ios_Openmode
1412:   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
1412:   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Openmode
1412:   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
1412:   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Openmode
1412:   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
1412:   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Openmode
1412:   operator~(_Ios_Openmode __a)
1412:   { return _Ios_Openmode(~static_cast<int>(__a)); }
1412: 
1412:   inline const _Ios_Openmode&
1412:   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
1412:   { return __a = __a | __b; }
1412: 
1412:   inline const _Ios_Openmode&
1412:   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
1412:   { return __a = __a & __b; }
1412: 
1412:   inline const _Ios_Openmode&
1412:   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
1412:   { return __a = __a ^ __b; }
1412: 
1412: 
1412:   enum _Ios_Iostate
1412:     {
1412:       _S_goodbit = 0,
1412:       _S_badbit = 1L << 0,
1412:       _S_eofbit = 1L << 1,
1412:       _S_failbit = 1L << 2,
1412:       _S_ios_iostate_end = 1L << 16,
1412:       _S_ios_iostate_max = 0x7fffffff,
1412:       _S_ios_iostate_min = ~0x7fffffff
1412:     };
1412: 
1412:   inline constexpr _Ios_Iostate
1412:   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
1412:   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Iostate
1412:   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
1412:   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Iostate
1412:   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
1412:   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
1412: 
1412:   inline constexpr _Ios_Iostate
1412:   operator~(_Ios_Iostate __a)
1412:   { return _Ios_Iostate(~static_cast<int>(__a)); }
1412: 
1412:   inline const _Ios_Iostate&
1412:   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
1412:   { return __a = __a | __b; }
1412: 
1412:   inline const _Ios_Iostate&
1412:   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
1412:   { return __a = __a & __b; }
1412: 
1412:   inline const _Ios_Iostate&
1412:   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
1412:   { return __a = __a ^ __b; }
1412: 
1412: 
1412:   enum _Ios_Seekdir
1412:     {
1412:       _S_beg = 0,
1412:       _S_cur = 1,
1412:       _S_end = 2,
1412:       _S_ios_seekdir_end = 1L << 16
1412:     };
1412: 
1412: 
1412: 
1412:   enum class io_errc { stream = 1 };
1412: 
1412:   template <> struct is_error_code_enum<io_errc> : public true_type { };
1412: 
1412:   const error_category& iostream_category() noexcept;
1412: 
1412:   inline error_code
1412:   make_error_code(io_errc __e) noexcept
1412:   { return error_code(static_cast<int>(__e), iostream_category()); }
1412: 
1412:   inline error_condition
1412:   make_error_condition(io_errc __e) noexcept
1412:   { return error_condition(static_cast<int>(__e), iostream_category()); }
1412: # 229 "/usr/include/c++/12/bits/ios_base.h" 3
1412:   class ios_base
1412:   {
1412: # 247 "/usr/include/c++/12/bits/ios_base.h" 3
1412:   public:
1412: # 256 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
1412:     {
1412:     public:
1412:       explicit
1412:       failure(const string& __str);
1412: 
1412: 
1412:       explicit
1412:       failure(const string&, const error_code&);
1412: 
1412:       explicit
1412:       failure(const char*, const error_code& = io_errc::stream);
1412: 
1412: 
1412:       virtual
1412:       ~failure() throw();
1412: 
1412:       virtual const char*
1412:       what() const throw();
1412:     };
1412: # 342 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     typedef _Ios_Fmtflags fmtflags;
1412: 
1412: 
1412:     static const fmtflags boolalpha = _S_boolalpha;
1412: 
1412: 
1412:     static const fmtflags dec = _S_dec;
1412: 
1412: 
1412:     static const fmtflags fixed = _S_fixed;
1412: 
1412: 
1412:     static const fmtflags hex = _S_hex;
1412: 
1412: 
1412: 
1412: 
1412:     static const fmtflags internal = _S_internal;
1412: 
1412: 
1412: 
1412:     static const fmtflags left = _S_left;
1412: 
1412: 
1412:     static const fmtflags oct = _S_oct;
1412: 
1412: 
1412: 
1412:     static const fmtflags right = _S_right;
1412: 
1412: 
1412:     static const fmtflags scientific = _S_scientific;
1412: 
1412: 
1412: 
1412:     static const fmtflags showbase = _S_showbase;
1412: 
1412: 
1412: 
1412:     static const fmtflags showpoint = _S_showpoint;
1412: 
1412: 
1412:     static const fmtflags showpos = _S_showpos;
1412: 
1412: 
1412:     static const fmtflags skipws = _S_skipws;
1412: 
1412: 
1412:     static const fmtflags unitbuf = _S_unitbuf;
1412: 
1412: 
1412: 
1412:     static const fmtflags uppercase = _S_uppercase;
1412: 
1412: 
1412:     static const fmtflags adjustfield = _S_adjustfield;
1412: 
1412: 
1412:     static const fmtflags basefield = _S_basefield;
1412: 
1412: 
1412:     static const fmtflags floatfield = _S_floatfield;
1412: # 417 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     typedef _Ios_Iostate iostate;
1412: 
1412: 
1412: 
1412:     static const iostate badbit = _S_badbit;
1412: 
1412: 
1412:     static const iostate eofbit = _S_eofbit;
1412: 
1412: 
1412: 
1412: 
1412:     static const iostate failbit = _S_failbit;
1412: 
1412: 
1412:     static const iostate goodbit = _S_goodbit;
1412: # 448 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     typedef _Ios_Openmode openmode;
1412: 
1412: 
1412:     static const openmode app = _S_app;
1412: 
1412: 
1412:     static const openmode ate = _S_ate;
1412: 
1412: 
1412: 
1412: 
1412:     static const openmode binary = _S_bin;
1412: 
1412: 
1412:     static const openmode in = _S_in;
1412: 
1412: 
1412:     static const openmode out = _S_out;
1412: 
1412: 
1412:     static const openmode trunc = _S_trunc;
1412: 
1412:     static const openmode __noreplace = _S_noreplace;
1412: # 488 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     typedef _Ios_Seekdir seekdir;
1412: 
1412: 
1412:     static const seekdir beg = _S_beg;
1412: 
1412: 
1412:     static const seekdir cur = _S_cur;
1412: 
1412: 
1412:     static const seekdir end = _S_end;
1412: # 521 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     enum event
1412:     {
1412:       erase_event,
1412:       imbue_event,
1412:       copyfmt_event
1412:     };
1412: # 538 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     typedef void (*event_callback) (event __e, ios_base& __b, int __i);
1412: # 550 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     void
1412:     register_callback(event_callback __fn, int __index);
1412: 
1412:   protected:
1412:     streamsize _M_precision;
1412:     streamsize _M_width;
1412:     fmtflags _M_flags;
1412:     iostate _M_exception;
1412:     iostate _M_streambuf_state;
1412: 
1412: 
1412: 
1412:     struct _Callback_list
1412:     {
1412: 
1412:       _Callback_list* _M_next;
1412:       ios_base::event_callback _M_fn;
1412:       int _M_index;
1412:       _Atomic_word _M_refcount;
1412: 
1412:       _Callback_list(ios_base:ure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern int strncmp (const char *__s1, const char *__s2, size_t __n)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int strcoll (const char *__s1, const char *__s2)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: extern size_t strxfrm (char *__restrict __dest,
1115:          const char *__restrict __src, size_t __n)
1115:     noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1115: 
1115: 
1115: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
1115:     locale_t __l) noexcept (true) __attribute__ ((__nonnull__ (2, 4)))
1115:      __attribute__ ((__access__ (__write_only__, 1, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *strdup (const char *__s)
1115:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *strndup (const char *__string, size_t __n)
1115:      noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1115: # 224 "/usr/include/string.h" 3 4
1115: extern "C++"
1115: {
1115: extern char *strchr (char *__s, int __c)
1115:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: extern const char *strchr (const char *__s, int __c)
1115:      noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1115: strchr (char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_strchr (__s, __c);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1115: strchr (const char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_strchr (__s, __c);
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++"
1115: {
1115: extern char *strrchr (char *__s, int __c)
1115:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: extern const char *strrchr (const char *__s, int __c)
1115:      noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1115: strrchr (char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_strrchr (__s, __c);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1115: strrchr (const char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_strrchr (__s, __c);
1115: }
1115: 
1115: }
1115: # 281 "/usr/include/string.h" 3 4
1115: extern "C++" char *strchrnul (char *__s, int __c)
1115:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: extern "C++" const char *strchrnul (const char *__s, int __c)
1115:      noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: # 293 "/usr/include/string.h" 3 4
1115: extern size_t strcspn (const char *__s, const char *__reject)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern size_t strspn (const char *__s, const char *__accept)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern "C++"
1115: {
1115: extern char *strpbrk (char *__s, const char *__accept)
1115:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: extern const char *strpbrk (const char *__s, const char *__accept)
1115:      noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1115: strpbrk (char *__s, const char *__accept) noexcept (true)
1115: {
1115:   return __builtin_strpbrk (__s, __accept);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1115: strpbrk (const char *__s, const char *__accept) noexcept (true)
1115: {
1115:   return __builtin_strpbrk (__s, __accept);
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++"
1115: {
1115: extern char *strstr (char *__haystack, const char *__needle)
1115:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: extern const char *strstr (const char *__haystack, const char *__needle)
1115:      noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1115: strstr (char *__haystack, const char *__needle) noexcept (true)
1115: {
1115:   return __builtin_strstr (__haystack, __needle);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1115: strstr (const char *__haystack, const char *__needle) noexcept (true)
1115: {
1115:   return __builtin_strstr (__haystack, __needle);
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *strtok (char *__restrict __s, const char *__restrict __delim)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115: extern char *__strtok_r (char *__restrict __s,
1115:     const char *__restrict __delim,
1115:     char **__restrict __save_ptr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1115: 
1115: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
1115:          char **__restrict __save_ptr)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" char *strcasestr (char *__haystack, const char *__needle)
1115:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: extern "C++" const char *strcasestr (const char *__haystack,
1115:          const char *__needle)
1115:      noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: # 389 "/usr/include/string.h" 3 4
1115: extern void *memmem (const void *__haystack, size_t __haystacklen,
1115:        const void *__needle, size_t __needlelen)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)))
1115:     __attribute__ ((__access__ (__read_only__, 1, 2)))
1115:     __attribute__ ((__access__ (__read_only__, 3, 4)));
1115: 
1115: 
1115: 
1115: extern void *__mempcpy (void *__restrict __dest,
1115:    const void *__restrict __src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: extern void *mempcpy (void *__restrict __dest,
1115:         const void *__restrict __src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern size_t strlen (const char *__s)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern size_t strnlen (const char *__string, size_t __maxlen)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: 
1115: extern char *strerror (int __errnum) noexcept (true);
1115: # 444 "/usr/include/string.h" 3 4
1115: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
1115:      noexcept (true) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 2, 3)));
1115: 
1115: 
1115: 
1115: 
1115: extern const char *strerrordesc_np (int __err) noexcept (true);
1115: 
1115: extern const char *strerrorname_np (int __err) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern char *strerror_l (int __errnum, locale_t __l) noexcept (true);
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/strings.h" 1 3 4
1115: # 23 "/usr/include/strings.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 24 "/usr/include/strings.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C" {
1115: 
1115: 
1115: 
1115: extern int bcmp (const void *__s1, const void *__s2, size_t __n)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern void bcopy (const void *__src, void *__dest, size_t __n)
1115:   noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern void bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: 
1115: extern "C++"
1115: {
1115: extern char *index (char *__s, int __c)
1115:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: extern const char *index (const char *__s, int __c)
1115:      noexcept (true) __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1115: index (char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_index (__s, __c);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1115: index (const char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_index (__s, __c);
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++"
1115: {
1115: extern char *rindex (char *__s, int __c)
1115:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: extern const char *rindex (const char *__s, int __c)
1115:      noexcept (true) __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char *
1115: rindex (char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_rindex (__s, __c);
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char *
1115: rindex (const char *__s, int __c) noexcept (true)
1115: {
1115:   return __builtin_rindex (__s, __c);
1115: }
1115: 
1115: }
1115: # 104 "/usr/include/strings.h" 3 4
1115: extern int ffs (int __i) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int ffsl (long int __l) noexcept (true) __attribute__ ((__const__));
1115: __extension__ extern int ffsll (long long int __ll)
1115:      noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern int strcasecmp (const char *__s1, const char *__s2)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1115: 
1115: 
1115: 
1115: extern int strncasecmp_l (const char *__s1, const char *__s2,
1115:      size_t __n, locale_t __loc)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
1115: 
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/strings_fortified.h" 1 3 4
1115: # 22 "/usr/include/arm-linux-gnueabihf/bits/strings:event_callback __fn, int __index,
1412:        _Callback_list* __cb)
1412:       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
1412: 
1412:       void
1412:       _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
1412: 
1412: 
1412:       int
1412:       _M_remove_reference()
1412:       {
1412: 
1412:         ;
1412:         int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
1412:         if (__res == 0)
1412:           {
1412:             ;
1412:           }
1412:         return __res;
1412:       }
1412:     };
1412: 
1412:      _Callback_list* _M_callbacks;
1412: 
1412:     void
1412:     _M_call_callbacks(event __ev) throw();
1412: 
1412:     void
1412:     _M_dispose_callbacks(void) throw();
1412: 
1412: 
1412:     struct _Words
1412:     {
1412:       void* _M_pword;
1412:       long _M_iword;
1412:       _Words() : _M_pword(0), _M_iword(0) { }
1412:     };
1412: 
1412: 
1412:     _Words _M_word_zero;
1412: 
1412: 
1412: 
1412:     enum { _S_local_word_size = 8 };
1412:     _Words _M_local_word[_S_local_word_size];
1412: 
1412: 
1412:     int _M_word_size;
1412:     _Words* _M_word;
1412: 
1412:     _Words&
1412:     _M_grow_words(int __index, bool __iword);
1412: 
1412: 
1412:     locale _M_ios_locale;
1412: 
1412:     void
1412:     _M_init() throw();
1412: 
1412:   public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     class Init
1412:     {
1412:       friend class ios_base;
1412:     public:
1412:       Init();
1412:       ~Init();
1412: 
1412: 
1412:       Init(const Init&) = default;
1412:       Init& operator=(const Init&) = default;
1412: 
1412: 
1412:     private:
1412:       static _Atomic_word _S_refcount;
1412:       static bool _S_synced_with_stdio;
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     fmtflags
1412:     flags() const
1412:     { return _M_flags; }
1412: # 668 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     fmtflags
1412:     flags(fmtflags __fmtfl)
1412:     {
1412:       fmtflags __old = _M_flags;
1412:       _M_flags = __fmtfl;
1412:       return __old;
1412:     }
1412: # 684 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     fmtflags
1412:     setf(fmtflags __fmtfl)
1412:     {
1412:       fmtflags __old = _M_flags;
1412:       _M_flags |= __fmtfl;
1412:       return __old;
1412:     }
1412: # 701 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     fmtflags
1412:     setf(fmtflags __fmtfl, fmtflags __mask)
1412:     {
1412:       fmtflags __old = _M_flags;
1412:       _M_flags &= ~__mask;
1412:       _M_flags |= (__fmtfl & __mask);
1412:       return __old;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     void
1412:     unsetf(fmtflags __mask)
1412:     { _M_flags &= ~__mask; }
1412: # 727 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     streamsize
1412:     precision() const
1412:     { return _M_precision; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     streamsize
1412:     precision(streamsize __prec)
1412:     {
1412:       streamsize __old = _M_precision;
1412:       _M_precision = __prec;
1412:       return __old;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     streamsize
1412:     width() const
1412:     { return _M_width; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     streamsize
1412:     width(streamsize __wide)
1412:     {
1412:       streamsize __old = _M_width;
1412:       _M_width = __wide;
1412:       return __old;
1412:     }
1412: # 778 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     static bool
1412:     sync_with_stdio(bool __sync = true);
1412: # 790 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     locale
1412:     imbue(const locale& __loc) throw();
1412: # 801 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     locale
1412:     getloc() const
1412:     { return _M_ios_locale; }
1412: # 812 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     const locale&
1412:     _M_getloc() const
1412:     { return _M_ios_locale; }
1412: # 831 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     static int
1412:     xalloc() throw();
1412: # 847 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     long&
1412:     iword(int __ix)
1412:     {
1412:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1412:    ? _M_word[__ix] : _M_grow_words(__ix, true);
1412:       return __word._M_iword;
1412:     }
1412: # 868 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     void*&
1412:     pword(int __ix)
1412:     {
1412:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
1412:    ? _M_word[__ix] : _M_grow_words(__ix, false);
1412:       return __word._M_pword;
1412:     }
1412: # 885 "/usr/include/c++/12/bits/ios_base.h" 3
1412:     virtual ~ios_base();
1412: 
1412:   protected:
1412:     ios_base() throw ();
1412: # 899 "/usr/include/c++/12/bits/ios_base.h" 3
1412:   public:
1412:     ios_base(const ios_base&) = delete;
1412: 
1412:     ios_base&
1412:     operator=(const ios_base&) = delete;
1412: 
1412:   protected:
1412:     void
1412:     _M_move(ios_base&) noexcept;
1412: 
1412:     void
1412:     _M_swap(ios_base& __rhs) noexcept;
1412: 
1412:   };
1412: 
1412: 
1412: 
1412:   inline ios_base&
1412:   boolalpha(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::boolalpha);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   noboolalpha(ios_base& __base)
1412:   {
1412:     __base.unsetf(ios_base::boolalpha);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   showbase(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::showbase);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   noshowbase(ios_base& __base)
1412:   {
1412:     __base.unsetf(ios_base::showbase);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   showpoint(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::showpoint);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   noshowpoint(ios_base& __base)
1412:   {
1412:     __base.unsetf(ios_base::showpoint);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   showpos(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::showpos);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   noshowpos(ios_base& __base)
1412:   {
1412:     __base.unsetf(ios_base::showpos);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   skipws(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::skipws);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   noskipws(ios_base& __base)
1412:   {
1412:     __base.unsetf(ios_base::skipws);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   uppercase(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::uppercase);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   nouppercase(ios_base& __base)
1412:   {
1412:     __base.unsetf(ios_base::uppercase);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   unitbuf(ios_base& __base)
1412:   {
1412:      __base.setf(ios_base::unitbuf);
1412:      return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   nounitbuf(ios_base& __base)
1412:   {
1412:      __base.unsetf(ios_base::unitbuf);
1412:      return __base;
1412:   }
1412: 
1412: 
1412: 
1412:   inline ios_base&
1412:   internal(ios_base& __base)
1412:   {
1412:      __base.setf(ios_base::internal, ios_base::adjustfield);
1412:      return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   left(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::left, ios_base::adjustfield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   right(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::right, ios_base::adjustfield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412: 
1412:   inline ios_base&
1412:   dec(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::dec, ios_base::basefield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   hex(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::hex, ios_base::basefield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   oct(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::oct, ios_base::basefield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412: 
1412:   inline ios_base&
1412:   fixed(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::fixed, ios_base::floatfield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   scientific(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::scientific, ios_base::floatfield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   inline ios_base&
1412:   hexfloat(ios_base& __base)
1412:   {
1412:     __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412:   inline ios_base&
1412:   defaultfloat(ios_base& __base)
1412:   {
1412:     __base.unsetf(ios_base::floatfield);
1412:     return __base;
1412:   }
1412: 
1412: 
1412: 
1412: }
1412: # 43 "/usr/include/c++/12/ios" 2 3
1412: # 1 "/usr/include/c++/12/streambuf" 1 3
1412: # 36 "/usr/include/c++/12/streambuf" 3
1412:        
1412: # 37 "/usr/include/c++/12/streambuf" 3
1412: # 45 "/usr/include/c++/12/streambuf" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     streamsize
1412:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
1412:      basic_streambuf<_CharT, _Traits>*, bool&);
1412: # 121 "/usr/include/c++/12/streambuf" 3
1412:   template<typename _CharT, typename _Traits>
1412:     class basic_streambuf
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412:       typedef typename traits_type::int_type int_type;
1412:       typedef typename traits_type::pos_type pos_type;
1412:       typedef typename traits_type::off_type off_type;
1412: 
1412: 
1412: 
1412: 
1412:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1412: 
1412: 
1412:       friend class basic_ios<char_type, traits_type>;
1412:       friend class basic_istream<char_type, traits_type>;
1412:       friend class basic_ostream<char_type, traits_type>;
1412:       friend class istreambuf_iterator<char_type, traits_type>;
1412:       friend class ostreambuf_iterator<char_type, traits_type>;
1412: 
1412:       friend streamsize
1412:       __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
1412: 
1412:       template<bool _IsMove, typename _CharT2>
1412:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:             _CharT2*>::__type
1412:         __copy_move_a2(istreambuf_iterator<_CharT2>,
1412:          istreambuf_iterator<_CharT2>, _CharT2*);
1412: 
1412:       template<typename _CharT2>
1412:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:       istreambuf_iterator<_CharT2> >::__type
1412:         find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1412:       const _CharT2&);
1412: 
1412:       template<typename _CharT2, typename _Distance>
1412:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:             void>::__type
1412:         advance(istreambuf_iterator<_CharT2>&, _Distance);
1412: 
1412:       friend void __istream_extract(istream&, char*, streamsize);
1412: 
1412:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1412:         friend basic_istream<_CharT2, _Traits2>&
1412:         operator>>(basic_istream<_CharT2, _Traits2>&,
1412:      basic_string<_CharT2, _Traits2, _Alloc>&);
1412: 
1412:       template<typename _CharT2, typename _Traits2, typename _Alloc>
1412:         friend basic_istream<_CharT2, _Traits2>&
1412:         getline(basic_istream<_CharT2, _Traits2>&,
1412:   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);_fortified.h" 3 4
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1115: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) noexcept (true)
1115: {
1115:   (void) __builtin___memmove_chk (__dest, __src, __len,
1115:       __builtin_object_size (__dest, 0));
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1115: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) noexcept (true)
1115: {
1115:   (void) __builtin___memset_chk (__dest, '\0', __len,
1115:      __builtin_object_size (__dest, 0));
1115: }
1115: # 145 "/usr/include/strings.h" 2 3 4
1115: # 463 "/usr/include/string.h" 2 3 4
1115: 
1115: 
1115: 
1115: extern void explicit_bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1115:     __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: 
1115: 
1115: 
1115: extern char *strsep (char **__restrict __stringp,
1115:        const char *__restrict __delim)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern char *strsignal (int __sig) noexcept (true);
1115: 
1115: 
1115: 
1115: extern const char *sigabbrev_np (int __sig) noexcept (true);
1115: 
1115: 
1115: extern const char *sigdescr_np (int __sig) noexcept (true);
1115: 
1115: 
1115: 
1115: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: extern char *__stpncpy (char *__restrict __dest,
1115:    const char *__restrict __src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: extern char *stpncpy (char *__restrict __dest,
1115:         const char *__restrict __src, size_t __n)
1115:      noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: extern int strverscmp (const char *__s1, const char *__s2)
1115:      noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1115: 
1115: 
1115: extern char *strfry (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern void *memfrob (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)))
1115:     __attribute__ ((__access__ (__read_write__, 1, 2)));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern "C++" char *basename (char *__filename)
1115:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1115: extern "C++" const char *basename (const char *__filename)
1115:      noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1)));
1115: # 535 "/usr/include/string.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 1 3 4
1115: # 25 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1115: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1115: 
1115: {
1115:   return __builtin___memcpy_chk (__dest, __src, __len,
1115:      __builtin_object_size (__dest, 0));
1115: }
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1115: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) noexcept (true)
1115: {
1115:   return __builtin___memmove_chk (__dest, __src, __len,
1115:       __builtin_object_size (__dest, 0));
1115: }
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1115: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) noexcept (true)
1115: 
1115: {
1115:   return __builtin___mempcpy_chk (__dest, __src, __len,
1115:       __builtin_object_size (__dest, 0));
1115: }
1115: # 56 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void *
1115: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) noexcept (true)
1115: {
1115:   return __builtin___memset_chk (__dest, __ch, __len,
1115:      __builtin_object_size (__dest, 0));
1115: }
1115: 
1115: 
1115: 
1115: 
1115: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
1115:   noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2)));
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void
1115: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) noexcept (true)
1115: {
1115:   __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0));
1115: }
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1115: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1115: {
1115:   return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1115: }
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1115: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1115: {
1115:   return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1115: }
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1115: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
1115: 
1115: {
1115:   return __builtin___strncpy_chk (__dest, __src, __len,
1115:       __builtin_object_size (__dest, 2 > 1));
1115: }
1115: 
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1115: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) noexcept (true)
1115: {
1115:   return __builtin___stpncpy_chk (__dest, __src, __n,
1115:       __builtin_object_size (__dest, 2 > 1));
1115: }
1115: # 127 "/usr/include/arm-linux-gnueabihf/bits/string_fortified.h" 3 4
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1115: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) noexcept (true)
1115: {
1115:   return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
1115: }
1115: 
1115: 
1115: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char *
1115: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) noexcept (true)
1115: 
1115: {
1115:   return __builtin___strncat_chk (__dest, __src, __len,
1115:       __builtin_object_size (__dest, 2 > 1));
1115: }
1115: # 536 "/usr/include/string.h" 2 3 4
1115: 
1115: 
1115: 
1115: }
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1115: # 34 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1115: # 1 "/usr/include/arm-linux-gnueabihf/sys/sysinfo.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/sys/sysinfo.h" 3 4
1115: # 1 "/usr/include/linux/kernel.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/linux/sysinfo.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: struct sysinfo {
1115:  __kernel_long_t upt
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       char_type* _M_in_beg;
1412:       char_type* _M_in_cur;
1412:       char_type* _M_in_end;
1412:       char_type* _M_out_beg;
1412:       char_type* _M_out_cur;
1412:       char_type* _M_out_end;
1412: 
1412: 
1412:       locale _M_buf_locale;
1412: 
1412:   public:
1412: 
1412:       virtual
1412:       ~basic_streambuf()
1412:       { }
1412: # 213 "/usr/include/c++/12/streambuf" 3
1412:       locale
1412:       pubimbue(const locale& __loc)
1412:       {
1412:  locale __tmp(this->getloc());
1412:  this->imbue(__loc);
1412:  _M_buf_locale = __loc;
1412:  return __tmp;
1412:       }
1412: # 230 "/usr/include/c++/12/streambuf" 3
1412:       locale
1412:       getloc() const
1412:       { return _M_buf_locale; }
1412: # 243 "/usr/include/c++/12/streambuf" 3
1412:       basic_streambuf*
1412:       pubsetbuf(char_type* __s, streamsize __n)
1412:       { return this->setbuf(__s, __n); }
1412: # 255 "/usr/include/c++/12/streambuf" 3
1412:       pos_type
1412:       pubseekoff(off_type __off, ios_base::seekdir __way,
1412:    ios_base::openmode __mode = ios_base::in | ios_base::out)
1412:       { return this->seekoff(__off, __way, __mode); }
1412: # 267 "/usr/include/c++/12/streambuf" 3
1412:       pos_type
1412:       pubseekpos(pos_type __sp,
1412:    ios_base::openmode __mode = ios_base::in | ios_base::out)
1412:       { return this->seekpos(__sp, __mode); }
1412: 
1412: 
1412: 
1412: 
1412:       int
1412:       pubsync() { return this->sync(); }
1412: # 288 "/usr/include/c++/12/streambuf" 3
1412:       streamsize
1412:       in_avail()
1412:       {
1412:  const streamsize __ret = this->egptr() - this->gptr();
1412:  return __ret ? __ret : this->showmanyc();
1412:       }
1412: # 302 "/usr/include/c++/12/streambuf" 3
1412:       int_type
1412:       snextc()
1412:       {
1412:  int_type __ret = traits_type::eof();
1412:  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
1412:              __ret), true))
1412:    __ret = this->sgetc();
1412:  return __ret;
1412:       }
1412: # 320 "/usr/include/c++/12/streambuf" 3
1412:       int_type
1412:       sbumpc()
1412:       {
1412:  int_type __ret;
1412:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1412:    {
1412:      __ret = traits_type::to_int_type(*this->gptr());
1412:      this->gbump(1);
1412:    }
1412:  else
1412:    __ret = this->uflow();
1412:  return __ret;
1412:       }
1412: # 342 "/usr/include/c++/12/streambuf" 3
1412:       int_type
1412:       sgetc()
1412:       {
1412:  int_type __ret;
1412:  if (__builtin_expect(this->gptr() < this->egptr(), true))
1412:    __ret = traits_type::to_int_type(*this->gptr());
1412:  else
1412:    __ret = this->underflow();
1412:  return __ret;
1412:       }
1412: # 361 "/usr/include/c++/12/streambuf" 3
1412:       streamsize
1412:       sgetn(char_type* __s, streamsize __n)
1412:       { return this->xsgetn(__s, __n); }
1412: # 376 "/usr/include/c++/12/streambuf" 3
1412:       int_type
1412:       sputbackc(char_type __c)
1412:       {
1412:  int_type __ret;
1412:  const bool __testpos = this->eback() < this->gptr();
1412:  if (__builtin_expect(!__testpos ||
1412:         !traits_type::eq(__c, this->gptr()[-1]), false))
1412:    __ret = this->pbackfail(traits_type::to_int_type(__c));
1412:  else
1412:    {
1412:      this->gbump(-1);
1412:      __ret = traits_type::to_int_type(*this->gptr());
1412:    }
1412:  return __ret;
1412:       }
1412: # 401 "/usr/include/c++/12/streambuf" 3
1412:       int_type
1412:       sungetc()
1412:       {
1412:  int_type __ret;
1412:  if (__builtin_expect(this->eback() < this->gptr(), true))
1412:    {
1412:      this->gbump(-1);
1412:      __ret = traits_type::to_int_type(*this->gptr());
1412:    }
1412:  else
1412:    __ret = this->pbackfail();
1412:  return __ret;
1412:       }
1412: # 428 "/usr/include/c++/12/streambuf" 3
1412:       int_type
1412:       sputc(char_type __c)
1412:       {
1412:  int_type __ret;
1412:  if (__builtin_expect(this->pptr() < this->epptr(), true))
1412:    {
1412:      *this->pptr() = __c;
1412:      this->pbump(1);
1412:      __ret = traits_type::to_int_type(__c);
1412:    }
1412:  else
1412:    __ret = this->overflow(traits_type::to_int_type(__c));
1412:  return __ret;
1412:       }
1412: # 454 "/usr/include/c++/12/streambuf" 3
1412:       streamsize
1412:       sputn(const char_type* __s, streamsize __n)
1412:       { return this->xsputn(__s, __n); }
1412: 
1412:     protected:
1412: # 468 "/usr/include/c++/12/streambuf" 3
1412:       basic_streambuf()
1412:       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
1412:       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
1412:       _M_buf_locale(locale())
1412:       { }
1412: # 486 "/usr/include/c++/12/streambuf" 3
1412:       char_type*
1412:       eback() const { return _M_in_beg; }
1412: 
1412:       char_type*
1412:       gptr() const { return _M_in_cur; }
1412: 
1412:       char_type*
1412:       egptr() const { return _M_in_end; }
1412: # 502 "/usr/include/c++/12/streambuf" 3
1412:       void
1412:       gbump(int __n) { _M_in_cur += __n; }
1412: # 513 "/usr/include/c++/12/streambuf" 3
1412:       void
1412:       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
1412:       {
1412:  _M_in_beg = __gbeg;
1412:  _M_in_cur = __gnext;
1412:  _M_in_end = __gend;
1412:       }
1412: # 533 "/usr/include/c++/12/streambuf" 3
1412:       char_type*
1412:       pbase() const { return _M_out_beg; }
1412: 
1412:       char_type*
1412:       pptr() const { return _M_out_cur; }
1412: 
1412:       char_type*
1412:       epptr() const { return _M_out_end; }
1412: # 549 "/usr/include/c++/12/streambuf" 3
1412:       void
1412:       pbump(int __n) { _M_out_cur += __n; }
1412: # 559 "/usr/include/c++/12/streambuf" 3
1412:       void
1412:       setp(char_type* __pbeg, char_type* __pend)
1412:       {
1412:  _M_out_beg = _M_out_cur = __pbeg;
1412:  _M_out_end = __pend;
1412:       }
1412: # 580 "/usr/include/c++/12/streambuf" 3
1412:       virtual void
1412:       imbue(const locale& __loc __attribute__ ((__unused__)))
1412:       { }
1412: # 595 "/usr/include/c++/12/streambuf" 3
1412:       virtual basic_streambuf<char_type,_Traits>*
1412:       setbuf(char_type*, streamsize)
1412:       { return this; }
1412: # 606 "/usr/include/c++/12/streambuf" 3
1412:       virtual pos_type
1412:       seekoff(off_type, ios_base::seekdir,
1412:        ios_base::openmode = ios_base::in | ios_base::out)
1412:       { return pos_type(off_type(-1)); }
1412: # 618 "/usr/include/c++/12/streambuf" 3
1412:       virtual pos_type
1412:       seekpos(pos_type,
1412:        ios_base::openmode = ios_base::in | ios_base::out)
1412:       { return pos_type(off_type(-1)); }
1412: # 631 "/usr/include/c++/12/streambuf" 3
1412:       virtual int
1412:       sync() { return 0; }
1412: # 653 "/usr/include/c++/12/streambuf" 3
1412:       virtual streamsize
1412:       showmanyc() { return 0; }
1412: # 669 "/usr/include/c++/12/streambuf" 3
1412:       virtual streamsize
1412:       xsgetn(char_type* __s, streamsize __n);
1412: # 691 "/usr/include/c++/12/streambuf" 3
1412:       virtual int_type
1412:       underflow()
1412:       { return traits_type::eof(); }
1412: # 704 "/usr/include/c++/12/streambuf" 3
1412:       virtual int_type
1412:       uflow()
1412:       {
1412:  int_type __ret = traits_type::eof();
1412:  const bool __testeof = traits_type::eq_int_type(this->underflow(),
1412:        __ret);
1412:  if (!__testeof)
1412:    {
1412:      __ret = traits_type::to_int_type(*this->gptr());
1412:      this->gbump(1);
1412:    }
1412:  return __ret;
1412:       }
1412: # 728 "/usr/include/c++/12/streambuf" 3
1412:       virtual int_type
1412:       pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
1412:       { return traits_type::eof(); }
1412: # 746 "/usr/include/c++/12/streambuf" 3
1412:       virtual streamsize
1412:       xsputn(const char_type* __s, streamsize __n);
1412: # 772 "/usr/include/c++/12/streambuf" 3
1412:       virtual int_type
1412:       overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eofime;
1115:  __kernel_ulong_t loads[3];
1115:  __kernel_ulong_t totalram;
1115:  __kernel_ulong_t freeram;
1115:  __kernel_ulong_t sharedram;
1115:  __kernel_ulong_t bufferram;
1115:  __kernel_ulong_t totalswap;
1115:  __kernel_ulong_t freeswap;
1115:  __u16 procs;
1115:  __u16 pad;
1115:  __kernel_ulong_t totalhigh;
1115:  __kernel_ulong_t freehigh;
1115:  __u32 mem_unit;
1115:  char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)];
1115: };
1115: # 6 "/usr/include/linux/kernel.h" 2 3 4
1115: # 1 "/usr/include/linux/const.h" 1 3 4
1115: # 7 "/usr/include/linux/kernel.h" 2 3 4
1115: # 25 "/usr/include/arm-linux-gnueabihf/sys/sysinfo.h" 2 3 4
1115: 
1115: extern "C" {
1115: 
1115: 
1115: extern int sysinfo (struct sysinfo *__info) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int get_nprocs_conf (void) noexcept (true);
1115: 
1115: 
1115: extern int get_nprocs (void) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long int get_phys_pages (void) noexcept (true);
1115: 
1115: 
1115: extern long int get_avphys_pages (void) noexcept (true);
1115: 
1115: }
1115: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/sys/time.h" 1 3 4
1115: # 34 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: extern "C" {
1115: # 52 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: struct timezone
1115:   {
1115:     int tz_minuteswest;
1115:     int tz_dsttime;
1115:   };
1115: # 67 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: extern int gettimeofday (struct timeval *__restrict __tv,
1115:     void *__restrict __tz) noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 86 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: extern int settimeofday (const struct timeval *__tv,
1115:     const struct timezone *__tz)
1115:      noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int adjtime (const struct timeval *__delta,
1115:       struct timeval *__olddelta) noexcept (true);
1115: # 114 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: enum __itimer_which
1115:   {
1115: 
1115:     ITIMER_REAL = 0,
1115: 
1115: 
1115:     ITIMER_VIRTUAL = 1,
1115: 
1115: 
1115: 
1115:     ITIMER_PROF = 2
1115: 
1115:   };
1115: 
1115: 
1115: 
1115: struct itimerval
1115:   {
1115: 
1115:     struct timeval it_interval;
1115: 
1115:     struct timeval it_value;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef int __itimer_which_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern int getitimer (__itimer_which_t __which,
1115:         struct itimerval *__value) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int setitimer (__itimer_which_t __which,
1115:         const struct itimerval *__restrict __new,
1115:         struct itimerval *__restrict __old) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern int utimes (const char *__file, const struct timeval __tvp[2])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: # 189 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: extern int lutimes (const char *__file, const struct timeval __tvp[2])
1115:      noexcept (true) __attribute__ ((__nonnull__ (1)));
1115: 
1115: 
1115: extern int futimes (int __fd, const struct timeval __tvp[2]) noexcept (true);
1115: # 214 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: extern int futimesat (int __fd, const char *__file,
1115:         const struct timeval __tvp[2]) noexcept (true);
1115: # 258 "/usr/include/arm-linux-gnueabihf/sys/time.h" 3 4
1115: }
1115: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h" 2
1115: # 61 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1115: 
1115: # 61 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1115: struct CXHandle;
1115: typedef CXHandle* HANDLE;
1115: 
1115: typedef void* HINSTANCE;
1115: typedef void* HMODULE;
1115: 
1115: typedef unsigned int DWORD;
1115: 
1115: 
1115: 
1115: 
1115: typedef union _LARGE_INTEGER
1115: {
1115:   struct {
1115:     DWORD LowPart;
1115:     int32_t HighPart;
1115:   } u;
1115:   long long QuadPart;
1115: } LARGE_INTEGER, *PLARGE_INTEGER;
1115: 
1115:  typedef union _ULARGE_INTEGER {
1115:   struct {
1115:       DWORD LowPart;
1115:       DWORD HighPart;
1115:   } u;
1115:   unsigned long long QuadPart;
1115: } ULARGE_INTEGER;
1115: # 97 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1115: typedef int SOCKET;
1115: 
1115: 
1115: typedef int (*LPTHREAD_START_ROUTINE)(void *);
1115: # 120 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/PlatformDefs.h"
1115: struct _stati64 {
1115:   dev_t st_dev;
1115:   ino_t st_ino;
1115:   unsigned short st_mode;
1115:   short st_nlink;
1115:   short st_uid;
1115:   short st_gid;
1115:   dev_t st_rdev;
1115:   long long st_size;
1115:   time_t _st_atime;
1115:   time_t _st_mtime;
1115:   time_t _st_ctime;
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h" 2
1115: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XTimeUtils.h"
1115: namespace KODI
1115: {
1115: namespace TIME
1115: {
1115: 
1115: using time_point = std::chrono::time_point<std::chrono::system_clock,
1115:                                            std::chrono::duration<long double, std::nano>>;
1115: 
1115: template<typename Rep, typename Period>
1115: void Sleep(std::chrono::duration<Rep, Period> duration)
1115: {
1115:   if (duration == std::chrono::duration<Rep, Period>::zero())
1115:   {
1115:     std::this_thread::yield();
1115:     return;
1115:   }
1115: 
1115:   std::this_thread::sleep_for(duration);
1115: }
1115: 
1115: }
1115: }
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/XBDateTime.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CDateTime;
1115: 
1115: class CDateTimeSpan
1115: {
1115: public:
1115:   CDateTimeSpan() = default;
1115:   CDateTimeSpan(const CDateTimeSpan& span);
1115:   CDateTimeSpan& operator=(const CDateTimeSpan&) = default;
1115:   CDateTimeSpan(int day, int hour, int minute, int second);
1115: 
1115:   bool operator >(const CDateTimeSpan& right) const;
1115:   bool operator >=(const CDateTimeSpan& right) const;
1115:   bool operator <(const CDateTimeSpan& right) const;
1115:   bool operator <=(const CDateTimeSpan& right) const;
1115:   bool operator ==(const CDateTimeSpan& right) const;
1115:   bool operator !=(const CDateTimeSpan& right) const;
1115: 
1115:   CDateTimeSpan operator +(const CDateTimeSpan& right) const;
1115:   CDateTimeSpan operator -(const CDateTimeSpan& right) const;
1115: 
1115:   const CDateTimeSpan& operator +=(const CDateTimeSpan& right);
1115:   const CDateTimeSpan& operator -=(const CDateTimeSpan& right);
1115: 
1115:   void SetDateTimeSpan(int day, int hour, int minute, int second);
1115:   void SetFromPeriod(const std::string &period);
1115:   void SetFromTimeString(const std::string& time);
1115: 
1115:   int GetDays() const;
1115:   int GetHours() const;
1115:   int GetMinutes() const;
1115:   int GetSeconds() const;
1115:   int GetSecondsTotal() const;
1115: 
1115: private:
1115:   std::chrono::duration<int64_t> m_timeSpan{0};
1115: 
1115:   friend class CDateTime;
1115: };
1115: 
1115: 
1115: class CDateTime final : public IArchivable
1115: {
1115: public:
1115:   CDateTime();
1115:   CDateTime(const CDateTime& time);
1115:   CDateTime& operator=(const CDateTime&) = default;
1115:   explicit CDateTime(const time_t& time);
1115:   explicit CDateTime(const tm& time);
1115:   explicit CDateTime(const KODI::TIME::time_point& time);
1115:   CDateTime(int year, int month, int day, int hour, int minute, int second);
1115: 
1115:   static CDateTime GetCurrentDateTime();
1115:   static CDateTime GetUTCDateTime();
1115:   static int MonthStringToMonthNum(const std::string& month);
1115: 
1115:   static CDateTime FromDBDateTime(const std::string &dateTime);
1115:   static CDateTime FromDateString(const std::string &date);
1115:   static CDateTime FromDBDate(const std::string &date);
1115:   static CDateTime FromDBTime(const std::string &time);
1115:   static CDateTime FromW3CDate(const std::string &date);
1115:   static CDateTime())
1412:       { return traits_type::eof(); }
1412: # 799 "/usr/include/c++/12/streambuf" 3
1412:       void
1412:       __safe_gbump(streamsize __n) { _M_in_cur += __n; }
1412: 
1412:       void
1412:       __safe_pbump(streamsize __n) { _M_out_cur += __n; }
1412: 
1412: 
1412: 
1412: 
1412:     protected:
1412: 
1412:       basic_streambuf(const basic_streambuf&);
1412: 
1412:       basic_streambuf&
1412:       operator=(const basic_streambuf&);
1412: 
1412: 
1412:       void
1412:       swap(basic_streambuf& __sb)
1412:       {
1412:  std::swap(_M_in_beg, __sb._M_in_beg);
1412:  std::swap(_M_in_cur, __sb._M_in_cur);
1412:  std::swap(_M_in_end, __sb._M_in_end);
1412:  std::swap(_M_out_beg, __sb._M_out_beg);
1412:  std::swap(_M_out_cur, __sb._M_out_cur);
1412:  std::swap(_M_out_end, __sb._M_out_end);
1412:  std::swap(_M_buf_locale, __sb._M_buf_locale);
1412:       }
1412: 
1412:     };
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     std::basic_streambuf<_CharT, _Traits>::
1412:     basic_streambuf(const basic_streambuf&) = default;
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     std::basic_streambuf<_CharT, _Traits>&
1412:     std::basic_streambuf<_CharT, _Traits>::
1412:     operator=(const basic_streambuf&) = default;
1412: 
1412: 
1412: 
1412:   template<>
1412:     streamsize
1412:     __copy_streambufs_eof(basic_streambuf<char>* __sbin,
1412:      basic_streambuf<char>* __sbout, bool& __ineof);
1412: 
1412:   template<>
1412:     streamsize
1412:     __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
1412:      basic_streambuf<wchar_t>* __sbout, bool& __ineof);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: 
1412: # 1 "/usr/include/c++/12/bits/streambuf.tcc" 1 3
1412: # 37 "/usr/include/c++/12/bits/streambuf.tcc" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/streambuf.tcc" 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     streamsize
1412:     basic_streambuf<_CharT, _Traits>::
1412:     xsgetn(char_type* __s, streamsize __n)
1412:     {
1412:       streamsize __ret = 0;
1412:       while (__ret < __n)
1412:  {
1412:    const streamsize __buf_len = this->egptr() - this->gptr();
1412:    if (__buf_len)
1412:      {
1412:        const streamsize __remaining = __n - __ret;
1412:        const streamsize __len = std::min(__buf_len, __remaining);
1412:        traits_type::copy(__s, this->gptr(), __len);
1412:        __ret += __len;
1412:        __s += __len;
1412:        this->__safe_gbump(__len);
1412:      }
1412: 
1412:    if (__ret < __n)
1412:      {
1412:        const int_type __c = this->uflow();
1412:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1412:   {
1412:     traits_type::assign(*__s++, traits_type::to_char_type(__c));
1412:     ++__ret;
1412:   }
1412:        else
1412:   break;
1412:      }
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     streamsize
1412:     basic_streambuf<_CharT, _Traits>::
1412:     xsputn(const char_type* __s, streamsize __n)
1412:     {
1412:       streamsize __ret = 0;
1412:       while (__ret < __n)
1412:  {
1412:    const streamsize __buf_len = this->epptr() - this->pptr();
1412:    if (__buf_len)
1412:      {
1412:        const streamsize __remaining = __n - __ret;
1412:        const streamsize __len = std::min(__buf_len, __remaining);
1412:        traits_type::copy(this->pptr(), __s, __len);
1412:        __ret += __len;
1412:        __s += __len;
1412:        this->__safe_pbump(__len);
1412:      }
1412: 
1412:    if (__ret < __n)
1412:      {
1412:        int_type __c = this->overflow(traits_type::to_int_type(*__s));
1412:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
1412:   {
1412:     ++__ret;
1412:     ++__s;
1412:   }
1412:        else
1412:   break;
1412:      }
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     streamsize
1412:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
1412:      basic_streambuf<_CharT, _Traits>* __sbout,
1412:      bool& __ineof)
1412:     {
1412:       streamsize __ret = 0;
1412:       __ineof = true;
1412:       typename _Traits::int_type __c = __sbin->sgetc();
1412:       while (!_Traits::eq_int_type(__c, _Traits::eof()))
1412:  {
1412:    __c = __sbout->sputc(_Traits::to_char_type(__c));
1412:    if (_Traits::eq_int_type(__c, _Traits::eof()))
1412:      {
1412:        __ineof = false;
1412:        break;
1412:      }
1412:    ++__ret;
1412:    __c = __sbin->snextc();
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     inline streamsize
1412:     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
1412:         basic_streambuf<_CharT, _Traits>* __sbout)
1412:     {
1412:       bool __ineof;
1412:       return __copy_streambufs_eof(__sbin, __sbout, __ineof);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template class basic_streambuf<char>;
1412: 
1412:   extern template
1412:     streamsize
1412:     __copy_streambufs(basic_streambuf<char>*,
1412:         basic_streambuf<char>*);
1412: 
1412: 
1412:   extern template class basic_streambuf<wchar_t>;
1412: 
1412:   extern template
1412:     streamsize
1412:     __copy_streambufs(basic_streambuf<wchar_t>*,
1412:         basic_streambuf<wchar_t>*);
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 859 "/usr/include/c++/12/streambuf" 2 3
1412: # 44 "/usr/include/c++/12/ios" 2 3
1412: # 1 "/usr/include/c++/12/bits/basic_ios.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/basic_ios.h" 3
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/locale_facets.h" 1 3
1412: # 37 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/locale_facets.h" 3
1412: 
1412: # 1 "/usr/include/c++/12/cwctype" 1 3
1412: # 39 "/usr/include/c++/12/cwctype" 3
1412:        
1412: # 40 "/usr/include/c++/12/cwctype" 3
1412: # 50 "/usr/include/c++/12/cwctype" 3
1412: # 1 "/usr/include/wctype.h" 1 3 4
1412: # 38 "/usr/include/wctype.h" 3 4
1412: # 1 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 1 3 4
1412: # 38 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1412: typedef unsigned long int wctype_t;
1412: # 56 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1412: enum
1412: {
1412:   __ISwupper = 0,
1412:   __ISwlower = 1,
1412:   __ISwalpha = 2,
1412:   __ISwdigit = 3,
1412:   __ISwxdigit = 4,
1412:   __ISwspace = 5,
1412:   __ISwprint = 6,
1412:   __ISwgraph = 7,
1412:   __ISwblank = 8,
1412:   __ISwcntrl = 9,
1412:   __ISwpunct = 10,
1412:   __ISwalnum = 11,
1412: 
1412:   _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
1412:   _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
1412:   _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
1412:   _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
1412:   _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
1412:   _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISws FromW3CDateTime(const std::string &date, bool ignoreTimezone = false);
1115:   static CDateTime FromRFC1123DateTime(const std::string &dateTime);
1115: 
1115:   const CDateTime& operator =(const time_t& right);
1115:   const CDateTime& operator =(const tm& right);
1115:   const CDateTime& operator=(const KODI::TIME::time_point& right);
1115: 
1115:   bool operator >(const CDateTime& right) const;
1115:   bool operator >=(const CDateTime& right) const;
1115:   bool operator <(const CDateTime& right) const;
1115:   bool operator <=(const CDateTime& right) const;
1115:   bool operator ==(const CDateTime& right) const;
1115:   bool operator !=(const CDateTime& right) const;
1115: 
1115:   bool operator >(const time_t& right) const;
1115:   bool operator >=(const time_t& right) const;
1115:   bool operator <(const time_t& right) const;
1115:   bool operator <=(const time_t& right) const;
1115:   bool operator ==(const time_t& right) const;
1115:   bool operator !=(const time_t& right) const;
1115: 
1115:   bool operator >(const tm& right) const;
1115:   bool operator >=(const tm& right) const;
1115:   bool operator <(const tm& right) const;
1115:   bool operator <=(const tm& right) const;
1115:   bool operator ==(const tm& right) const;
1115:   bool operator !=(const tm& right) const;
1115: 
1115:   bool operator>(const KODI::TIME::time_point& right) const;
1115:   bool operator>=(const KODI::TIME::time_point& right) const;
1115:   bool operator<(const KODI::TIME::time_point& right) const;
1115:   bool operator<=(const KODI::TIME::time_point& right) const;
1115:   bool operator==(const KODI::TIME::time_point& right) const;
1115:   bool operator!=(const KODI::TIME::time_point& right) const;
1115: 
1115:   CDateTime operator +(const CDateTimeSpan& right) const;
1115:   CDateTime operator -(const CDateTimeSpan& right) const;
1115: 
1115:   const CDateTime& operator +=(const CDateTimeSpan& right);
1115:   const CDateTime& operator -=(const CDateTimeSpan& right);
1115: 
1115:   CDateTimeSpan operator -(const CDateTime& right) const;
1115: 
1115:   void Archive(CArchive& ar) override;
1115: 
1115:   void Reset();
1115: 
1115:   int GetDay() const;
1115:   int GetMonth() const;
1115:   int GetYear() const;
1115:   int GetHour() const;
1115:   int GetMinute() const;
1115:   int GetSecond() const;
1115:   int GetDayOfWeek() const;
1115:   int GetMinuteOfDay() const;
1115: 
1115:   bool SetDateTime(int year, int month, int day, int hour, int minute, int second);
1115:   bool SetDate(int year, int month, int day);
1115:   bool SetTime(int hour, int minute, int second);
1115: 
1115:   bool SetFromDateString(const std::string &date);
1115:   bool SetFromDBDate(const std::string &date);
1115:   bool SetFromDBTime(const std::string &time);
1115:   bool SetFromW3CDate(const std::string &date);
1115:   bool SetFromW3CDateTime(const std::string &date, bool ignoreTimezone = false);
1115:   bool SetFromRFC1123DateTime(const std::string &dateTime);
1115: 
1115: 
1115: 
1115: 
1115:   bool SetFromDBDateTime(const std::string &dateTime);
1115: 
1115:   void GetAsTime(time_t& time) const;
1115:   void GetAsTm(tm& time) const;
1115:   KODI::TIME::time_point GetAsTimePoint() const;
1115: 
1115: 
1115: 
1115:   CDateTime GetAsLocalDateTime() const;
1115:   std::string GetAsSaveString() const;
1115:   std::string GetAsDBDateTime() const;
1115:   std::string GetAsDBDate() const;
1115:   std::string GetAsDBTime() const;
1115:   std::string GetAsLocalizedDate(bool longDate=false) const;
1115:   std::string GetAsLocalizedDate(const std::string &strFormat) const;
1115:   std::string GetAsLocalizedTime(const std::string &format, bool withSeconds=true) const;
1115:   std::string GetAsLocalizedDateTime(bool longDate=false, bool withSeconds=true) const;
1115:   std::string GetAsLocalizedTime(TIME_FORMAT format, bool withSeconds = false) const;
1115:   std::string GetAsRFC1123DateTime() const;
1115:   std::string GetAsW3CDate() const;
1115:   std::string GetAsW3CDateTime(bool asUtc = false) const;
1115: 
1115:   void SetValid(bool yesNo);
1115:   bool IsValid() const;
1115: 
1115: private:
1115:   KODI::TIME::time_point m_time;
1115: 
1115:   typedef enum _STATE
1115:   {
1115:     invalid=0,
1115:     valid
1115:   } STATE;
1115: 
1115:   STATE m_state;
1115: };
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1115:        
1115: 
1115: namespace XbmcThreads
1115: {
1115: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1115:   template<class L> class CountingLockable
1115:   {
1115:     friend class ConditionVariable;
1115: 
1115:     CountingLockable(const CountingLockable&) = delete;
1115:     CountingLockable& operator=(const CountingLockable&) = delete;
1115:   protected:
1115:     L mutex;
1115:     unsigned int count = 0;
1115: 
1115:   public:
1115:     inline CountingLockable() = default;
1115: 
1115: 
1115:     inline void lock() { mutex.lock(); count++; }
1115:     inline bool try_lock() { return mutex.try_lock() ? count++, true : false; }
1115:     inline void unlock() { count--; mutex.unlock(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     inline bool IsLocked() const { return count > 0; }
1115: 
1115: 
1115: 
1115: 
1115:     inline unsigned int exit(unsigned int leave = 0)
1115:     {
1115: 
1115: 
1115:       unsigned int ret = 0;
1115:       if (try_lock())
1115:       {
1115:         if (leave < (count - 1))
1115:         {
1115:           ret = count - 1 - leave;
1115: 
1115: 
1115: 
1115: 
1115:           for (unsigned int i = 0; i < ret; i++)
1115:             unlock();
1115:         }
1115:         unlock();
1115:       }
1115: 
1115:       return ret;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:     inline void restore(unsigned int restoreCount)
1115:     {
1115:       for (unsigned int i = 0; i < restoreCount; i++)
1115:         lock();
1115:     }
1115: # 104 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Lockables.h"
1115:     inline L& get_underlying() { return mutex; }
1115:   };
1115: 
1115: }
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1115:        
1115: 
1115: # 1 "/usr/include/c++/12/mutex" 1 3
1115: # 32 "/usr/include/c++/12/mutex" 3
1115:        
1115: # 33 "/usr/include/c++/12/mutex" 3
1115: # 43 "/usr/include/c++/12/mutex" 3
1115: # 1 "/usr/include/c++/12/bits/std_mutex.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/std_mutex.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/std_mutex.h" 3
1115: # 43 "/usr/include/c++/12/bits/std_mutex.h" 3
1115: 
1115: # 43 "/usr/include/c++/12/bits/std_mutex.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 57 "/usr/include/c++/12/bits/std_mutex.h" 3
1115:   class __mutex_base
1115:   {
1115:   protected:
1115:     typedef __gthread_mutex_t __native_type;
1115: 
1115: 
1115:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { 0 } } };
1115: 
1115:     constexpr __mutex_base() noexcept = default;
1115: # 78 "/usr/include/c++/12/bits/std_mutex.h" 3
1115:     __mutex_base(const __mutex_base&) = delete;
1115:     __mutex_base& operator=(const __mutex_base&) = delete;
1115:   };
1115: 
1115: 
1115:   class mutex : private __mutex_base
1115:   {
1115:   public:
1115:     typedef __native_type* native_handle_type;
1115: 
1115: 
1115:     constexpr
1115: 
1115:     mutex() noexcept = default;
1115:     ~mutex() = default;
1115: 
1115:     mutex(const mutex&) = delete;
1115:     mutex& operatopace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
1412:   _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
1412:   _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
1412:   _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
1412:   _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
1412:   _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
1412:   _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
1412: };
1412: 
1412: 
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int iswalnum (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int iswalpha (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: extern int iswcntrl (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int iswdigit (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int iswgraph (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswlower (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: extern int iswprint (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswpunct (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswspace (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswupper (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswxdigit (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int iswblank (wint_t __wc) noexcept (true);
1412: # 155 "/usr/include/arm-linux-gnueabihf/bits/wctype-wchar.h" 3 4
1412: extern wctype_t wctype (const char *__property) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t towlower (wint_t __wc) noexcept (true);
1412: 
1412: 
1412: extern wint_t towupper (wint_t __wc) noexcept (true);
1412: 
1412: }
1412: # 39 "/usr/include/wctype.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern "C" {
1412: 
1412: 
1412: 
1412: typedef const __int32_t *wctrans_t;
1412: 
1412: 
1412: 
1412: extern wctrans_t wctrans (const char *__property) noexcept (true);
1412: 
1412: 
1412: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: extern wctype_t wctype_l (const char *__property, locale_t __locale)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
1412:      noexcept (true);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: extern wctrans_t wctrans_l (const char *__property, locale_t __locale)
1412:      noexcept (true);
1412: 
1412: 
1412: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
1412:       locale_t __locale) noexcept (true);
1412: 
1412: 
1412: 
1412: }
1412: # 51 "/usr/include/c++/12/cwctype" 2 3
1412: # 80 "/usr/include/c++/12/cwctype" 3
1412: namespace std
1412: {
1412:   using ::wctrans_t;
1412:   using ::wctype_t;
1412:   using ::wint_t;
1412: 
1412:   using ::iswalnum;
1412:   using ::iswalpha;
1412: 
1412:   using ::iswblank;
1412: 
1412:   using ::iswcntrl;
1412:   using ::iswctype;
1412:   using ::iswdigit;
1412:   using ::iswgraph;
1412:   using ::iswlower;
1412:   using ::iswprint;
1412:   using ::iswpunct;
1412:   using ::iswspace;
1412:   using ::iswupper;
1412:   using ::iswxdigit;
1412:   using ::towctrans;
1412:   using ::towlower;
1412:   using ::towupper;
1412:   using ::wctrans;
1412:   using ::wctype;
1412: }
1412: # 40 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1412: # 1 "/usr/include/c++/12/cctype" 1 3
1412: # 39 "/usr/include/c++/12/cctype" 3
1412:        
1412: # 40 "/usr/include/c++/12/cctype" 3
1412: # 41 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 1 3
1412: # 36 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_base.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   struct ctype_base
1412:   {
1412: 
1412:     typedef const int* __to_type;
1412: 
1412: 
1412: 
1412:     typedef unsigned short mask;
1412:     static const mask upper = _ISupper;
1412:     static const mask lower = _ISlower;
1412:     static const mask alpha = _ISalpha;
1412:     static const mask digit = _ISdigit;
1412:     static const mask xdigit = _ISxdigit;
1412:     static const mask space = _ISspace;
1412:     static const mask print = _ISprint;
1412:     static const mask graph = _ISalpha | _ISdigit | _ISpunct;
1412:     static const mask cntrl = _IScntrl;
1412:     static const mask punct = _ISpunct;
1412:     static const mask alnum = _ISalpha | _ISdigit;
1412: 
1412:     static const mask blank = _ISblank;
1412: 
1412:   };
1412: 
1412: 
1412: }
1412: # 42 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/streambuf_iterator.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     class istreambuf_iterator
1412:     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
1412:         _CharT*, _CharT>
1412:     {
1412:     public:
1412: # 69 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1412:       typedef _CharT cr=(const mutex&) = delete;
1115: 
1115:     void
1115:     lock()
1115:     {
1115:       int __e = __gthread_mutex_lock(&_M_mutex);
1115: 
1115: 
1115:       if (__e)
1115:  __throw_system_error(__e);
1115:     }
1115: 
1115:     bool
1115:     try_lock() noexcept
1115:     {
1115: 
1115:       return !__gthread_mutex_trylock(&_M_mutex);
1115:     }
1115: 
1115:     void
1115:     unlock()
1115:     {
1115: 
1115:       __gthread_mutex_unlock(&_M_mutex);
1115:     }
1115: 
1115:     native_handle_type
1115:     native_handle() noexcept
1115:     { return &_M_mutex; }
1115:   };
1115: 
1115: 
1115:   class __condvar
1115:   {
1115:     using timespec = __gthread_time_t;
1115: 
1115:   public:
1115:     __condvar() noexcept
1115:     {
1115: 
1115: 
1115: 
1115:     }
1115: 
1115:     ~__condvar()
1115:     {
1115:       int __e __attribute__((__unused__)) = __gthread_cond_destroy(&_M_cond);
1115:       do { if (std::__is_constant_evaluated() && !bool(__e != 16)) __builtin_unreachable(); } while (false);
1115:     }
1115: 
1115:     __condvar(const __condvar&) = delete;
1115:     __condvar& operator=(const __condvar&) = delete;
1115: 
1115:     __gthread_cond_t* native_handle() noexcept { return &_M_cond; }
1115: 
1115: 
1115:     void
1115:     wait(mutex& __m)
1115:     {
1115:       int __e __attribute__((__unused__))
1115:  = __gthread_cond_wait(&_M_cond, __m.native_handle());
1115:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1115:     }
1115: 
1115:     void
1115:     wait_until(mutex& __m, timespec& __abs_time)
1115:     {
1115:       __gthread_cond_timedwait(&_M_cond, __m.native_handle(), &__abs_time);
1115:     }
1115: 
1115: 
1115:     void
1115:     wait_until(mutex& __m, clockid_t __clock, timespec& __abs_time)
1115:     {
1115:       pthread_cond_clockwait(&_M_cond, __m.native_handle(), __clock,
1115:         &__abs_time);
1115:     }
1115: 
1115: 
1115:     void
1115:     notify_one() noexcept
1115:     {
1115:       int __e __attribute__((__unused__)) = __gthread_cond_signal(&_M_cond);
1115:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1115:     }
1115: 
1115:     void
1115:     notify_all() noexcept
1115:     {
1115:       int __e __attribute__((__unused__)) = __gthread_cond_broadcast(&_M_cond);
1115:       do { if (std::__is_constant_evaluated() && !bool(__e == 0)) __builtin_unreachable(); } while (false);
1115:     }
1115: 
1115:   protected:
1115: 
1115:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
1115: 
1115: 
1115: 
1115:   };
1115: 
1115: 
1115: 
1115: 
1115:   struct defer_lock_t { explicit defer_lock_t() = default; };
1115: 
1115: 
1115:   struct try_to_lock_t { explicit try_to_lock_t() = default; };
1115: 
1115: 
1115: 
1115:   struct adopt_lock_t { explicit adopt_lock_t() = default; };
1115: 
1115: 
1115:   inline constexpr defer_lock_t defer_lock { };
1115: 
1115: 
1115:   inline constexpr try_to_lock_t try_to_lock { };
1115: 
1115: 
1115:   inline constexpr adopt_lock_t adopt_lock { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Mutex>
1115:     class lock_guard
1115:     {
1115:     public:
1115:       typedef _Mutex mutex_type;
1115: 
1115:       explicit lock_guard(mutex_type& __m) : _M_device(__m)
1115:       { _M_device.lock(); }
1115: 
1115:       lock_guard(mutex_type& __m, adopt_lock_t) noexcept : _M_device(__m)
1115:       { }
1115: 
1115:       ~lock_guard()
1115:       { _M_device.unlock(); }
1115: 
1115:       lock_guard(const lock_guard&) = delete;
1115:       lock_guard& operator=(const lock_guard&) = delete;
1115: 
1115:     private:
1115:       mutex_type& _M_device;
1115:     };
1115: 
1115: 
1115: 
1115: }
1115: # 44 "/usr/include/c++/12/mutex" 2 3
1115: # 1 "/usr/include/c++/12/bits/unique_lock.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/unique_lock.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/unique_lock.h" 3
1115: # 43 "/usr/include/c++/12/bits/unique_lock.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 56 "/usr/include/c++/12/bits/unique_lock.h" 3
1115:   template<typename _Mutex>
1115:     class unique_lock
1115:     {
1115:     public:
1115:       typedef _Mutex mutex_type;
1115: 
1115:       unique_lock() noexcept
1115:       : _M_device(0), _M_owns(false)
1115:       { }
1115: 
1115:       explicit unique_lock(mutex_type& __m)
1115:       : _M_device(std::__addressof(__m)), _M_owns(false)
1115:       {
1115:  lock();
1115:  _M_owns = true;
1115:       }
1115: 
1115:       unique_lock(mutex_type& __m, defer_lock_t) noexcept
1115:       : _M_device(std::__addressof(__m)), _M_owns(false)
1115:       { }
1115: 
1115:       unique_lock(mutex_type& __m, try_to_lock_t)
1115:       : _M_device(std::__addressof(__m)), _M_owns(_M_device->try_lock())
1115:       { }
1115: 
1115:       unique_lock(mutex_type& __m, adopt_lock_t) noexcept
1115:       : _M_device(std::__addressof(__m)), _M_owns(true)
1115:       {
1115: 
1115:       }
1115: 
1115:       template<typename _Clock, typename _Duration>
1115:  unique_lock(mutex_type& __m,
1115:       const chrono::time_point<_Clock, _Duration>& __atime)
1115:  : _M_device(std::__addressof(__m)),
1115:    _M_owns(_M_device->try_lock_until(__atime))
1115:  { }
1115: 
1115:       template<typename _Rep, typename _Period>
1115:  unique_lock(mutex_type& __m,
1115:       const chrono::duration<_Rep, _Period>& __rtime)
1115:  : _M_device(std::__addressof(__m)),
1115:    _M_owns(_M_device->try_lock_for(__rtime))
1115:  { }
1115: 
1115:       ~unique_lock()
1115:       {
1115:  if (_M_owns)
1115:    unlock();
1115:       }
1115: 
1115:       unique_lock(const unique_lock&) = delete;
1115:       unique_lock& operator=(const unique_lock&) = delete;
1115: 
1115:       unique_lock(unique_lock&& __u) noexcept
1115:       : _M_device(__u._M_device), _M_owns(__u._M_owns)
1115:       {
1115:  __u._M_device = 0;
1115:  __u._M_owns = false;
1115:       }
1115: 
1115:       unique_lock& operator=(unique_lock&& __u) noexcept
1115:       {
1115:  if(_M_owns)
1115:    unlock();
1115: 
1115:  unique_lock(std::move(__u)).swap(*this);
1115: 
1115:  __u._M_device = 0;
1115:  __u._M_owns = false;
1115: 
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       lock()
1115:       {
1115:  if (!_M_device)
1115:    __throw_system_error(int(errc::operation_not_permitted));
1115:  else if (_M_owns)
1115:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1115:  else
1115:    {
1115:      _M_device->lock();
1115:      _M_owns = true;
1115:    }
1115:       }
1115: 
1115:       bool
1115:       try_lock()
1115:       {
1115:  if (!_M_device)
1115:    __throw_system_error(int(errc::operation_not_permitted));
1115:  else if (_M_owns)
1115:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1115:  else
1115:    {
1115:      _M_owns = _M_device->try_lock();
1115:      return _M_owns;
1115:    }
1115:       }
1115: 
1115:       template<typename _Clock, typename _Duration>
1115:  bool
1115:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1115:  {
1115:    if (!_M_device)
1115:      __throw_system_error(int(errc::operation_not_permitted));
1115:    else if (_M_owns)
1115:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1115:    else
1115:      {
1115:        _M_owns = _M_device->try_lock_until(__atime);
1115:        return _M_owns;
1115:      }
1115:  }
1115: 
1115:       template<typename _Rep, typename _Period>
1115:  bool
1115:  try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1115:  {
1115:    if (!_M_device)
1115:      __throw_system_error(int(errc::operation_not_permitted));
1115:    else if (_M_owns)
1115:      __throw_system_error(int(errc::resource_deadlock_would_occur));
1115:    else
1115:      {
1115:        _M_owns = _M_device->try_lock_for(__rtime);
1115:        return _M_owns;
1115:      }
1115:   }
1115: 
1115:       void
1115:       unlock()
1115:       {
1115:  if (!_M_owns)
1115:    __throw_system_error(int(errc::operation_not_permitted));
har_type;
1412:       typedef _Traits traits_type;
1412:       typedef typename _Traits::int_type int_type;
1412:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1412:       typedef basic_istream<_CharT, _Traits> istream_type;
1412: 
1412: 
1412:       template<typename _CharT2>
1412:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:         ostreambuf_iterator<_CharT2> >::__type
1412:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1412:       ostreambuf_iterator<_CharT2>);
1412: 
1412:       template<bool _IsMove, typename _CharT2>
1412:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:             _CharT2*>::__type
1412:  __copy_move_a2(istreambuf_iterator<_CharT2>,
1412:          istreambuf_iterator<_CharT2>, _CharT2*);
1412: 
1412:       template<typename _CharT2, typename _Size>
1412:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:             _CharT2*>::__type
1412:  __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool);
1412: 
1412:       template<typename _CharT2>
1412:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:         istreambuf_iterator<_CharT2> >::__type
1412:  find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1412:       const _CharT2&);
1412: 
1412:       template<typename _CharT2, typename _Distance>
1412:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:             void>::__type
1412:  advance(istreambuf_iterator<_CharT2>&, _Distance);
1412: 
1412:     private:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       mutable streambuf_type* _M_sbuf;
1412:       int_type _M_c;
1412: 
1412:     public:
1412: 
1412:       constexpr istreambuf_iterator() noexcept
1412:       : _M_sbuf(0), _M_c(traits_type::eof()) { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
1412: 
1412:       ~istreambuf_iterator() = default;
1412: 
1412: 
1412: 
1412:       istreambuf_iterator(istream_type& __s) noexcept
1412:       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
1412: 
1412: 
1412:       istreambuf_iterator(streambuf_type* __s) noexcept
1412:       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
1412: 
1412: 
1412:       istreambuf_iterator&
1412:       operator=(const istreambuf_iterator&) noexcept = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       char_type
1412:       operator*() const
1412:       {
1412:  int_type __c = _M_get();
1412: # 160 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1412:  return traits_type::to_char_type(__c);
1412:       }
1412: 
1412: 
1412:       istreambuf_iterator&
1412:       operator++()
1412:       {
1412: 
1412: 
1412: 
1412:                         ;
1412: 
1412:  _M_sbuf->sbumpc();
1412:  _M_c = traits_type::eof();
1412:  return *this;
1412:       }
1412: 
1412: 
1412:       istreambuf_iterator
1412:       operator++(int)
1412:       {
1412: 
1412: 
1412: 
1412:                         ;
1412: 
1412:  istreambuf_iterator __old = *this;
1412:  __old._M_c = _M_sbuf->sbumpc();
1412:  _M_c = traits_type::eof();
1412:  return __old;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       bool
1412:       equal(const istreambuf_iterator& __b) const
1412:       { return _M_at_eof() == __b._M_at_eof(); }
1412: 
1412:     private:
1412:       int_type
1412:       _M_get() const
1412:       {
1412:  int_type __ret = _M_c;
1412:  if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
1412:    _M_sbuf = 0;
1412:  return __ret;
1412:       }
1412: 
1412:       bool
1412:       _M_at_eof() const
1412:       { return _S_is_eof(_M_get()); }
1412: 
1412:       static bool
1412:       _S_is_eof(int_type __c)
1412:       {
1412:  const int_type __eof = traits_type::eof();
1412:  return traits_type::eq_int_type(__c, __eof);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     };
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
1412:         const istreambuf_iterator<_CharT, _Traits>& __b)
1412:     { return __a.equal(__b); }
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     [[__nodiscard__]]
1412:     inline bool
1412:     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
1412:         const istreambuf_iterator<_CharT, _Traits>& __b)
1412:     { return !__a.equal(__b); }
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     class ostreambuf_iterator
1412:     : public iterator<output_iterator_tag, void, void, void, void>
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
1412:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1412: 
1412: 
1412:       template<typename _CharT2>
1412:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
1412:         ostreambuf_iterator<_CharT2> >::__type
1412:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
1412:       ostreambuf_iterator<_CharT2>);
1412: 
1412:     private:
1412:       streambuf_type* _M_sbuf;
1412:       bool _M_failed;
1412: 
1412:     public:
1412: # 283 "/usr/include/c++/12/bits/streambuf_iterator.h" 3
1412:       ostreambuf_iterator(ostream_type& __s) noexcept
1412:       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
1412: 
1412: 
1412:       ostreambuf_iterator(streambuf_type* __s) noexcept
1412:       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
1412: 
1412: 
1412:       ostreambuf_iterator&
1412:       operator=(_CharT __c)
1412:       {
1412:  if (!_M_failed &&
1412:      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
1412:    _M_failed = true;
1412:  return *this;
1412:       }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       ostreambuf_iterator&
1412:       operator*()
1412:       { return *this; }
1412: 
1412: 
1412:       ostreambuf_iterator&
1412:       operator++(int)
1412:       { return *this; }
1412: 
1412: 
1412:       ostreambuf_iterator&
1412:       operator++()
1412:       { return *this; }
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       bool
1412:       failed() const noexcept
1412:       { return _M_failed; }
1412: 
1412:       ostreambuf_iterator&
1412:       _M_put(const _CharT* __ws, streamsize __len)
1412:       {
1412:  if (__builtin_expect(!_M_failed, true)
1412:      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
1412:     false))
1412:    _M_failed = true;
1412:  return *this;
1412:       }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412:   template<typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:         ostreambuf_iterator<_CharT> >::__type
1412:     copy(istreambuf_iterator<_CharT> __first,
1412:   istreambuf_iterator<_CharT> __last,
1412:   ostreambuf_iterator<_CharT> __result)
1412:     {
1412:       if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
1412:  {
1412:    bool __ineof;
1412:    __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
1412:    if (!__ineof)
1412:      __result._M_failed = true;
1412:  }
1412:       return __result;
1412:     }
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:         ostreambuf_iterator<_CharT> >::__type
1412:     __copy_move_a2(_CharT* __first, _CharT* __last,
1412:      ostreambuf_iterator<_CharT> __result)
1412:     {
1412:       const streamsize __num = __last - __first;
1412:       if (__num > 0)
1412:  __result._M_put(__first, __num);
1412:       return __result;
1412:     }
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:         ostreambuf_iterator<_CharT> >::__type
1412:     __copy_move_a2(const _CharT* __fi1115:  else if (_M_device)
1115:    {
1115:      _M_device->unlock();
1115:      _M_owns = false;
1115:    }
1115:       }
1115: 
1115:       void
1115:       swap(unique_lock& __u) noexcept
1115:       {
1115:  std::swap(_M_device, __u._M_device);
1115:  std::swap(_M_owns, __u._M_owns);
1115:       }
1115: 
1115:       mutex_type*
1115:       release() noexcept
1115:       {
1115:  mutex_type* __ret = _M_device;
1115:  _M_device = 0;
1115:  _M_owns = false;
1115:  return __ret;
1115:       }
1115: 
1115:       bool
1115:       owns_lock() const noexcept
1115:       { return _M_owns; }
1115: 
1115:       explicit operator bool() const noexcept
1115:       { return owns_lock(); }
1115: 
1115:       mutex_type*
1115:       mutex() const noexcept
1115:       { return _M_device; }
1115: 
1115:     private:
1115:       mutex_type* _M_device;
1115:       bool _M_owns;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Mutex>
1115:     inline void
1115:     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: }
1115: # 45 "/usr/include/c++/12/mutex" 2 3
1115: # 55 "/usr/include/c++/12/mutex" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 67 "/usr/include/c++/12/mutex" 3
1115:   class __recursive_mutex_base
1115:   {
1115:   protected:
1115:     typedef __gthread_recursive_mutex_t __native_type;
1115: 
1115:     __recursive_mutex_base(const __recursive_mutex_base&) = delete;
1115:     __recursive_mutex_base& operator=(const __recursive_mutex_base&) = delete;
1115: 
1115: 
1115:     __native_type _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } };
1115: 
1115:     __recursive_mutex_base() = default;
1115: # 91 "/usr/include/c++/12/mutex" 3
1115:   };
1115: 
1115: 
1115:   class recursive_mutex : private __recursive_mutex_base
1115:   {
1115:   public:
1115:     typedef __native_type* native_handle_type;
1115: 
1115:     recursive_mutex() = default;
1115:     ~recursive_mutex() = default;
1115: 
1115:     recursive_mutex(const recursive_mutex&) = delete;
1115:     recursive_mutex& operator=(const recursive_mutex&) = delete;
1115: 
1115:     void
1115:     lock()
1115:     {
1115:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1115: 
1115: 
1115:       if (__e)
1115:  __throw_system_error(__e);
1115:     }
1115: 
1115:     bool
1115:     try_lock() noexcept
1115:     {
1115: 
1115:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1115:     }
1115: 
1115:     void
1115:     unlock()
1115:     {
1115: 
1115:       __gthread_recursive_mutex_unlock(&_M_mutex);
1115:     }
1115: 
1115:     native_handle_type
1115:     native_handle() noexcept
1115:     { return &_M_mutex; }
1115:   };
1115: 
1115: 
1115:   template<typename _Derived>
1115:     class __timed_mutex_impl
1115:     {
1115:     protected:
1115:       template<typename _Rep, typename _Period>
1115:  bool
1115:  _M_try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1115:  {
1115: 
1115:    using __clock = chrono::steady_clock;
1115: 
1115: 
1115: 
1115: 
1115:    auto __rt = chrono::duration_cast<__clock::duration>(__rtime);
1115:    if (ratio_greater<__clock::period, _Period>())
1115:      ++__rt;
1115:    return _M_try_lock_until(__clock::now() + __rt);
1115:  }
1115: 
1115:       template<typename _Duration>
1115:  bool
1115:  _M_try_lock_until(const chrono::time_point<chrono::system_clock,
1115:          _Duration>& __atime)
1115:  {
1115:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:    __gthread_time_t __ts = {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:    return static_cast<_Derived*>(this)->_M_timedlock(__ts);
1115:  }
1115: 
1115: 
1115:       template<typename _Duration>
1115:  bool
1115:  _M_try_lock_until(const chrono::time_point<chrono::steady_clock,
1115:          _Duration>& __atime)
1115:  {
1115:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:    __gthread_time_t __ts = {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:    return static_cast<_Derived*>(this)->_M_clocklock(1,
1115:            __ts);
1115:  }
1115: 
1115: 
1115:       template<typename _Clock, typename _Duration>
1115:  bool
1115:  _M_try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1115:  {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    auto __now = _Clock::now();
1115:    do {
1115:      auto __rtime = __atime - __now;
1115:      if (_M_try_lock_for(__rtime))
1115:        return true;
1115:      __now = _Clock::now();
1115:    } while (__atime > __now);
1115:    return false;
1115:  }
1115:     };
1115: 
1115: 
1115:   class timed_mutex
1115:   : private __mutex_base, public __timed_mutex_impl<timed_mutex>
1115:   {
1115:   public:
1115:     typedef __native_type* native_handle_type;
1115: 
1115:     timed_mutex() = default;
1115:     ~timed_mutex() = default;
1115: 
1115:     timed_mutex(const timed_mutex&) = delete;
1115:     timed_mutex& operator=(const timed_mutex&) = delete;
1115: 
1115:     void
1115:     lock()
1115:     {
1115:       int __e = __gthread_mutex_lock(&_M_mutex);
1115: 
1115: 
1115:       if (__e)
1115:  __throw_system_error(__e);
1115:     }
1115: 
1115:     bool
1115:     try_lock() noexcept
1115:     {
1115: 
1115:       return !__gthread_mutex_trylock(&_M_mutex);
1115:     }
1115: 
1115:     template <class _Rep, class _Period>
1115:       bool
1115:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1115:       { return _M_try_lock_for(__rtime); }
1115: 
1115:     template <class _Clock, class _Duration>
1115:       bool
1115:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1115:       { return _M_try_lock_until(__atime); }
1115: 
1115:     void
1115:     unlock()
1115:     {
1115: 
1115:       __gthread_mutex_unlock(&_M_mutex);
1115:     }
1115: 
1115:     native_handle_type
1115:     native_handle() noexcept
1115:     { return &_M_mutex; }
1115: 
1115:     private:
1115:       friend class __timed_mutex_impl<timed_mutex>;
1115: 
1115:       bool
1115:       _M_timedlock(const __gthread_time_t& __ts)
1115:       { return !__gthread_mutex_timedlock(&_M_mutex, &__ts); }
1115: 
1115: 
1115:       bool
1115:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1115:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1115: 
1115:   };
1115: 
1115: 
1115:   class recursive_timed_mutex
1115:   : private __recursive_mutex_base,
1115:     public __timed_mutex_impl<recursive_timed_mutex>
1115:   {
1115:   public:
1115:     typedef __native_type* native_handle_type;
1115: 
1115:     recursive_timed_mutex() = default;
1115:     ~recursive_timed_mutex() = default;
1115: 
1115:     recursive_timed_mutex(const recursive_timed_mutex&) = delete;
1115:     recursive_timed_mutex& operator=(const recursive_timed_mutex&) = delete;
1115: 
1115:     void
1115:     lock()
1115:     {
1115:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
1115: 
1115: 
1115:       if (__e)
1115:  __throw_system_error(__e);
1115:     }
1115: 
1115:     bool
1115:     try_lock() noexcept
1115:     {
1115: 
1115:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
1115:     }
1115: 
1115:     template <class _Rep, class _Period>
1115:       bool
1115:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1115:       { return _M_try_lock_for(__rtime); }
1115: 
1115:     template <class _Clock, class _Duration>
1115:       bool
1115:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1115:       { return _M_try_lock_until(__atime); }
1115: 
1115:     void
1115:     unlock()
1115:     {
1115: 
1115:       __gthread_recursive_mutex_unlock(&_M_mutex);
1115:     }
1115: 
1115:     native_handle_type
1115:     native_handle()rst, const _CharT* __last,
1412:      ostreambuf_iterator<_CharT> __result)
1412:     {
1412:       const streamsize __num = __last - __first;
1412:       if (__num > 0)
1412:  __result._M_put(__first, __num);
1412:       return __result;
1412:     }
1412: 
1412:   template<bool _IsMove, typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:         _CharT*>::__type
1412:     __copy_move_a2(istreambuf_iterator<_CharT> __first,
1412:      istreambuf_iterator<_CharT> __last, _CharT* __result)
1412:     {
1412:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1412:       typedef typename __is_iterator_type::traits_type traits_type;
1412:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1412:       typedef typename traits_type::int_type int_type;
1412: 
1412:       if (__first._M_sbuf && !__last._M_sbuf)
1412:  {
1412:    streambuf_type* __sb = __first._M_sbuf;
1412:    int_type __c = __sb->sgetc();
1412:    while (!traits_type::eq_int_type(__c, traits_type::eof()))
1412:      {
1412:        const streamsize __n = __sb->egptr() - __sb->gptr();
1412:        if (__n > 1)
1412:   {
1412:     traits_type::copy(__result, __sb->gptr(), __n);
1412:     __sb->__safe_gbump(__n);
1412:     __result += __n;
1412:     __c = __sb->underflow();
1412:   }
1412:        else
1412:   {
1412:     *__result++ = traits_type::to_char_type(__c);
1412:     __c = __sb->snextc();
1412:   }
1412:      }
1412:  }
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Size>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:         _CharT*>::__type
1412:     __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result,
1412:         bool __strict __attribute__((__unused__)))
1412:     {
1412:       if (__n == 0)
1412:  return __result;
1412: 
1412:      
1412: 
1412:                             ;
1412:       _CharT* __beg = __result;
1412:       __result += __it._M_sbuf->sgetn(__beg, __n);
1412:      
1412: 
1412:                             ;
1412:       return __result;
1412:     }
1412: 
1412:   template<typename _CharT>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:           istreambuf_iterator<_CharT> >::__type
1412:     find(istreambuf_iterator<_CharT> __first,
1412:   istreambuf_iterator<_CharT> __last, const _CharT& __val)
1412:     {
1412:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1412:       typedef typename __is_iterator_type::traits_type traits_type;
1412:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1412:       typedef typename traits_type::int_type int_type;
1412:       const int_type __eof = traits_type::eof();
1412: 
1412:       if (__first._M_sbuf && !__last._M_sbuf)
1412:  {
1412:    const int_type __ival = traits_type::to_int_type(__val);
1412:    streambuf_type* __sb = __first._M_sbuf;
1412:    int_type __c = __sb->sgetc();
1412:    while (!traits_type::eq_int_type(__c, __eof)
1412:    && !traits_type::eq_int_type(__c, __ival))
1412:      {
1412:        streamsize __n = __sb->egptr() - __sb->gptr();
1412:        if (__n > 1)
1412:   {
1412:     const _CharT* __p = traits_type::find(__sb->gptr(),
1412:        __n, __val);
1412:     if (__p)
1412:       __n = __p - __sb->gptr();
1412:     __sb->__safe_gbump(__n);
1412:     __c = __sb->sgetc();
1412:   }
1412:        else
1412:   __c = __sb->snextc();
1412:      }
1412: 
1412:    __first._M_c = __eof;
1412:  }
1412: 
1412:       return __first;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Distance>
1412:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
1412:         void>::__type
1412:     advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
1412:     {
1412:       if (__n == 0)
1412:  return;
1412: 
1412:       do { if (std::__is_constant_evaluated() && !bool(__n > 0)) __builtin_unreachable(); } while (false);
1412:      
1412: 
1412:                            ;
1412: 
1412:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
1412:       typedef typename __is_iterator_type::traits_type traits_type;
1412:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
1412:       typedef typename traits_type::int_type int_type;
1412:       const int_type __eof = traits_type::eof();
1412: 
1412:       streambuf_type* __sb = __i._M_sbuf;
1412:       while (__n > 0)
1412:  {
1412:    streamsize __size = __sb->egptr() - __sb->gptr();
1412:    if (__size > __n)
1412:      {
1412:        __sb->__safe_gbump(__n);
1412:        break;
1412:      }
1412: 
1412:    __sb->__safe_gbump(__size);
1412:    __n -= __size;
1412:    if (traits_type::eq_int_type(__sb->underflow(), __eof))
1412:      {
1412:       
1412: 
1412:                       ;
1412:        break;
1412:      }
1412:  }
1412: 
1412:       __i._M_c = __eof;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 49 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 74 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<typename _Tp>
1412:     void
1412:     __convert_to_v(const char*, _Tp&, ios_base::iostate&,
1412:      const __c_locale&) throw();
1412: 
1412: 
1412:   template<>
1412:     void
1412:     __convert_to_v(const char*, float&, ios_base::iostate&,
1412:      const __c_locale&) throw();
1412: 
1412:   template<>
1412:     void
1412:     __convert_to_v(const char*, double&, ios_base::iostate&,
1412:      const __c_locale&) throw();
1412: 
1412:   template<>
1412:     void
1412:     __convert_to_v(const char*, long double&, ios_base::iostate&,
1412:      const __c_locale&) throw();
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     struct __pad
1412:     {
1412:       static void
1412:       _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
1412:       const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
1412:     };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     _CharT*
1412:     __add_grouping(_CharT* __s, _CharT __sep,
1412:      const char* __gbeg, size_t __gsize,
1412:      const _CharT* __first, const _CharT* __last);
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline
1412:     ostreambuf_iterator<_CharT>
1412:     __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
1412:     {
1412:       __s._M_put(__ws, __len);
1412:       return __s;
1412:     }
1412: 
1412: 
1412:   template<typename _CharT, typename _OutIter>
1412:     inline
1412:     _OutIter
1412:     __write(_OutIter __s, const _CharT* __ws, int __len)
1412:     {
1412:       for (int __j = 0; __j < __len; __j++, ++__s)
1412:  *__s = __ws[__j];
1412:       return __s;
1412:     }
1412: # 152 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<typename _CharT>
1412:     class __ctype_abstract_base : public locale::facet, public ctype_base
1412:     {
1412:     public:
1412: 
1412: 
1412:       typedef _CharT char_type;
1412: # 171 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       bool
1412:       is(mask __m, char_type __c) const
1412:       { return this->do_is(__m, __c); }
1412: # 188 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       is(const char_type *__lo, const char_type *__hi, mask *__vec) const
1412:       { return this->do_is(__lo, __hi, __vec); }
1412: # 204 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
1412:       { return this->do_scan_is(__m, __lo, __hi); }
1412: # 220 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
1412:       { return this->do_scan_not(__m, __lo, __hi); }
1412: # 234 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char_type
1412:       toupper(char_type __c) const
1412:       { return this->do_toupper(__c); }
1412: # 249 "/usr/include/c++/12/bits/locale_fac noexcept
1115:     { return &_M_mutex; }
1115: 
1115:     private:
1115:       friend class __timed_mutex_impl<recursive_timed_mutex>;
1115: 
1115:       bool
1115:       _M_timedlock(const __gthread_time_t& __ts)
1115:       { return !__gthread_recursive_mutex_timedlock(&_M_mutex, &__ts); }
1115: 
1115: 
1115:       bool
1115:       _M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
1115:       { return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
1115: 
1115:   };
1115: # 515 "/usr/include/c++/12/mutex" 3
1115:   namespace __detail
1115:   {
1115: 
1115:     template<typename _Lockable>
1115:       inline int
1115:       __try_lock_impl(_Lockable& __l)
1115:       {
1115:  if (unique_lock<_Lockable> __lock{__l, try_to_lock})
1115:    {
1115:      __lock.release();
1115:      return -1;
1115:    }
1115:  else
1115:    return 0;
1115:       }
1115: 
1115: 
1115: 
1115:     template<typename _L0, typename... _Lockables>
1115:       inline int
1115:       __try_lock_impl(_L0& __l0, _Lockables&... __lockables)
1115:       {
1115: 
1115:  if constexpr ((is_same_v<_L0, _Lockables> && ...))
1115:    {
1115:      constexpr int _Np = 1 + sizeof...(_Lockables);
1115:      unique_lock<_L0> __locks[_Np] = {
1115:   {__l0, defer_lock}, {__lockables, defer_lock}...
1115:      };
1115:      for (int __i = 0; __i < _Np; ++__i)
1115:        {
1115:   if (!__locks[__i].try_lock())
1115:     {
1115:       const int __failed = __i;
1115:       while (__i--)
1115:         __locks[__i].unlock();
1115:       return __failed;
1115:     }
1115:        }
1115:      for (auto& __l : __locks)
1115:        __l.release();
1115:      return -1;
1115:    }
1115:  else
1115: 
1115:  if (unique_lock<_L0> __lock{__l0, try_to_lock})
1115:    {
1115:      int __idx = __detail::__try_lock_impl(__lockables...);
1115:      if (__idx == -1)
1115:        {
1115:   __lock.release();
1115:   return -1;
1115:        }
1115:      return __idx + 1;
1115:    }
1115:  else
1115:    return 0;
1115:       }
1115: 
1115:   }
1115: # 587 "/usr/include/c++/12/mutex" 3
1115:   template<typename _L1, typename _L2, typename... _L3>
1115:     inline int
1115:     try_lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1115:     {
1115:       return __detail::__try_lock_impl(__l1, __l2, __l3...);
1115:     }
1115: 
1115: 
1115:   namespace __detail
1115:   {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _L0, typename... _L1>
1115:       void
1115:       __lock_impl(int& __i, int __depth, _L0& __l0, _L1&... __l1)
1115:       {
1115:  while (__i >= __depth)
1115:    {
1115:      if (__i == __depth)
1115:        {
1115:   int __failed = 1;
1115:   {
1115:     unique_lock<_L0> __first(__l0);
1115:     __failed += __detail::__try_lock_impl(__l1...);
1115:     if (!__failed)
1115:       {
1115:         __i = -1;
1115:         __first.release();
1115:         return;
1115:       }
1115:   }
1115: 
1115:   __gthread_yield();
1115: 
1115:   constexpr auto __n = 1 + sizeof...(_L1);
1115:   __i = (__depth + __failed) % __n;
1115:        }
1115:      else
1115:        __detail::__lock_impl(__i, __depth + 1, __l1..., __l0);
1115:    }
1115:       }
1115: 
1115:   }
1115: # 646 "/usr/include/c++/12/mutex" 3
1115:   template<typename _L1, typename _L2, typename... _L3>
1115:     void
1115:     lock(_L1& __l1, _L2& __l2, _L3&... __l3)
1115:     {
1115: 
1115:       if constexpr (is_same_v<_L1, _L2> && (is_same_v<_L1, _L3> && ...))
1115:  {
1115:    constexpr int _Np = 2 + sizeof...(_L3);
1115:    unique_lock<_L1> __locks[] = {
1115:        {__l1, defer_lock}, {__l2, defer_lock}, {__l3, defer_lock}...
1115:    };
1115:    int __first = 0;
1115:    do {
1115:      __locks[__first].lock();
1115:      for (int __j = 1; __j < _Np; ++__j)
1115:        {
1115:   const int __idx = (__first + __j) % _Np;
1115:   if (!__locks[__idx].try_lock())
1115:     {
1115:       for (int __k = __j; __k != 0; --__k)
1115:         __locks[(__first + __k - 1) % _Np].unlock();
1115:       __first = __idx;
1115:       break;
1115:     }
1115:        }
1115:    } while (!__locks[__first].owns_lock());
1115: 
1115:    for (auto& __l : __locks)
1115:      __l.release();
1115:  }
1115:       else
1115: 
1115:  {
1115:    int __i = 0;
1115:    __detail::__lock_impl(__i, 0, __l1, __l2, __l3...);
1115:  }
1115:     }
1115: # 691 "/usr/include/c++/12/mutex" 3
1115:   template<typename... _MutexTypes>
1115:     class scoped_lock
1115:     {
1115:     public:
1115:       explicit scoped_lock(_MutexTypes&... __m) : _M_devices(std::tie(__m...))
1115:       { std::lock(__m...); }
1115: 
1115:       explicit scoped_lock(adopt_lock_t, _MutexTypes&... __m) noexcept
1115:       : _M_devices(std::tie(__m...))
1115:       { }
1115: 
1115:       ~scoped_lock()
1115:       { std::apply([](auto&... __m) { (__m.unlock(), ...); }, _M_devices); }
1115: 
1115:       scoped_lock(const scoped_lock&) = delete;
1115:       scoped_lock& operator=(const scoped_lock&) = delete;
1115: 
1115:     private:
1115:       tuple<_MutexTypes&...> _M_devices;
1115:     };
1115: 
1115:   template<>
1115:     class scoped_lock<>
1115:     {
1115:     public:
1115:       explicit scoped_lock() = default;
1115:       explicit scoped_lock(adopt_lock_t) noexcept { }
1115:       ~scoped_lock() = default;
1115: 
1115:       scoped_lock(const scoped_lock&) = delete;
1115:       scoped_lock& operator=(const scoped_lock&) = delete;
1115:     };
1115: 
1115:   template<typename _Mutex>
1115:     class scoped_lock<_Mutex>
1115:     {
1115:     public:
1115:       using mutex_type = _Mutex;
1115: 
1115:       explicit scoped_lock(mutex_type& __m) : _M_device(__m)
1115:       { _M_device.lock(); }
1115: 
1115:       explicit scoped_lock(adopt_lock_t, mutex_type& __m) noexcept
1115:       : _M_device(__m)
1115:       { }
1115: 
1115:       ~scoped_lock()
1115:       { _M_device.unlock(); }
1115: 
1115:       scoped_lock(const scoped_lock&) = delete;
1115:       scoped_lock& operator=(const scoped_lock&) = delete;
1115: 
1115:     private:
1115:       mutex_type& _M_device;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   struct once_flag
1115:   {
1115:     constexpr once_flag() noexcept = default;
1115: 
1115: 
1115:     once_flag(const once_flag&) = delete;
1115: 
1115:     once_flag& operator=(const once_flag&) = delete;
1115: 
1115:   private:
1115: 
1115: 
1115:     __gthread_once_t _M_once = 0;
1115: 
1115:     struct _Prepare_execution;
1115: 
1115:     template<typename _Callable, typename... _Args>
1115:       friend void
1115:       call_once(once_flag& __once, _Callable&& __f, _Args&&... __args);
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   extern __thread void* __once_callable;
1115:   extern __thread void (*__once_call)();
1115: 
1115: 
1115:   struct once_flag::_Prepare_execution
1115:   {
1115:     template<typename _Callable>
1115:       explicit
1115:       _Prepare_execution(_Callable& __c)
1115:       {
1115: 
1115:  __once_callable = std::__addressof(__c);
1115: 
1115:  __once_call = [] { (*static_cast<_Callable*>(__once_callable))(); };
1115:       }
1115: 
1115:     ~_Prepare_execution()
1115:     {
1115: 
1115:       __once_callable = nullptr;
1115:       __once_call = nullptr;
1115:     }
1115: 
1115:     _Prepare_execution(const _Prepare_execution&) = delete;
1115:     _Prepare_execution& operator=(const _Prepare_execution&) = delete;
1115:   };
1115: # 843 "/usr/include/c++/12/mutex" 3
1115:   extern "C" void __once_proxy(void);
1115: 
1115: 
1115:   template<typename _Callable, typename... _Args>
1115:     void
1115:     call_once(once_flag& __once, _Callable&& __f, _Args&&... __args)
1115:     {
1115: 
1115:       auto __callable = [&] {
1115:    std::__invoke(std::forward<_Callable>(__f),
1115:    std::forward<_Args>(__args)...);
1115:       };
1115: 
1115:       once_flag::_Prepare_execution __exec(__callable);
1115: 
1115: 
1115:       if (int __e = __gthread_once(&__once._M_once, &__once_proxy))
1115:  __throw_system_error(__e);
1115:     }
1115: # 964 "/usr/include/c++/12/mutex" 3
1115: 
1115: }
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h" 2
1115: 
1115: 
1115: 
1115: # 14 "/buets.h" 3
1412:       const char_type*
1412:       toupper(char_type *__lo, const char_type* __hi) const
1412:       { return this->do_toupper(__lo, __hi); }
1412: # 263 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char_type
1412:       tolower(char_type __c) const
1412:       { return this->do_tolower(__c); }
1412: # 278 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       tolower(char_type* __lo, const char_type* __hi) const
1412:       { return this->do_tolower(__lo, __hi); }
1412: # 295 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char_type
1412:       widen(char __c) const
1412:       { return this->do_widen(__c); }
1412: # 314 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char*
1412:       widen(const char* __lo, const char* __hi, char_type* __to) const
1412:       { return this->do_widen(__lo, __hi, __to); }
1412: # 333 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char
1412:       narrow(char_type __c, char __dfault) const
1412:       { return this->do_narrow(__c, __dfault); }
1412: # 355 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       narrow(const char_type* __lo, const char_type* __hi,
1412:        char __dfault, char* __to) const
1412:       { return this->do_narrow(__lo, __hi, __dfault, __to); }
1412: 
1412:     protected:
1412:       explicit
1412:       __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
1412: 
1412:       virtual
1412:       ~__ctype_abstract_base() { }
1412: # 380 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual bool
1412:       do_is(mask __m, char_type __c) const = 0;
1412: # 399 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_is(const char_type* __lo, const char_type* __hi,
1412:      mask* __vec) const = 0;
1412: # 418 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_scan_is(mask __m, const char_type* __lo,
1412:    const char_type* __hi) const = 0;
1412: # 437 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_scan_not(mask __m, const char_type* __lo,
1412:     const char_type* __hi) const = 0;
1412: # 455 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_toupper(char_type __c) const = 0;
1412: # 472 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_toupper(char_type* __lo, const char_type* __hi) const = 0;
1412: # 488 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_tolower(char_type __c) const = 0;
1412: # 505 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_tolower(char_type* __lo, const char_type* __hi) const = 0;
1412: # 524 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_widen(char __c) const = 0;
1412: # 545 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char*
1412:       do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0;
1412: # 566 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char
1412:       do_narrow(char_type __c, char __dfault) const = 0;
1412: # 591 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_narrow(const char_type* __lo, const char_type* __hi,
1412:   char __dfault, char* __to) const = 0;
1412:     };
1412: # 614 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<typename _CharT>
1412:     class ctype : public __ctype_abstract_base<_CharT>
1412:     {
1412:     public:
1412: 
1412:       typedef _CharT char_type;
1412:       typedef typename __ctype_abstract_base<_CharT>::mask mask;
1412: 
1412: 
1412:       static locale::id id;
1412: 
1412:       explicit
1412:       ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
1412: 
1412:    protected:
1412:       virtual
1412:       ~ctype();
1412: 
1412:       virtual bool
1412:       do_is(mask __m, char_type __c) const;
1412: 
1412:       virtual const char_type*
1412:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1412: 
1412:       virtual const char_type*
1412:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1412: 
1412:       virtual const char_type*
1412:       do_scan_not(mask __m, const char_type* __lo,
1412:     const char_type* __hi) const;
1412: 
1412:       virtual char_type
1412:       do_toupper(char_type __c) const;
1412: 
1412:       virtual const char_type*
1412:       do_toupper(char_type* __lo, const char_type* __hi) const;
1412: 
1412:       virtual char_type
1412:       do_tolower(char_type __c) const;
1412: 
1412:       virtual const char_type*
1412:       do_tolower(char_type* __lo, const char_type* __hi) const;
1412: 
1412:       virtual char_type
1412:       do_widen(char __c) const;
1412: 
1412:       virtual const char*
1412:       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
1412: 
1412:       virtual char
1412:       do_narrow(char_type, char __dfault) const;
1412: 
1412:       virtual const char_type*
1412:       do_narrow(const char_type* __lo, const char_type* __hi,
1412:   char __dfault, char* __to) const;
1412:     };
1412: 
1412:   template<typename _CharT>
1412:     locale::id ctype<_CharT>::id;
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     class ctype<basic_string<_CharT, _Traits, _Alloc> >;
1412: # 688 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<>
1412:     class ctype<char> : public locale::facet, public ctype_base
1412:     {
1412:     public:
1412: 
1412: 
1412:       typedef char char_type;
1412: 
1412:     protected:
1412: 
1412:       __c_locale _M_c_locale_ctype;
1412:       bool _M_del;
1412:       __to_type _M_toupper;
1412:       __to_type _M_tolower;
1412:       const mask* _M_table;
1412:       mutable char _M_widen_ok;
1412:       mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
1412:       mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
1412:       mutable char _M_narrow_ok;
1412: 
1412: 
1412:     public:
1412: 
1412:       static locale::id id;
1412: 
1412:       static const size_t table_size = 1 + static_cast<unsigned char>(-1);
1412: # 725 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
1412: # 738 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
1412:      size_t __refs = 0);
1412: # 751 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       inline bool
1412:       is(mask __m, char __c) const;
1412: # 766 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       inline const char*
1412:       is(const char* __lo, const char* __hi, mask* __vec) const;
1412: # 780 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       inline const char*
1412:       scan_is(mask __m, const char* __lo, const char* __hi) const;
1412: # 794 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       inline const char*
1412:       scan_not(mask __m, const char* __lo, const char* __hi) const;
1412: # 809 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char_type
1412:       toupper(char_type __c) const
1412:       { return this->do_toupper(__c); }
1412: # 826 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       toupper(char_type *__lo, const char_type* __hi) const
1412:       { return this->do_toupper(__lo, __hi); }
1412: # 842 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char_type
1412:       tolower(char_type __c) const
1412:       { return this->do_tolower(__c); }
1412: # 859 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       tolower(char_type* __lo, const char_type* __hi) const
1412:       { return this->do_tolower(__lo, __hi); }
1412: # 879 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:      ild/kodi-HAo4KK/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1115: namespace XbmcThreads
1115: {
1115: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/platform/posix/threads/RecursiveMutex.h"
1115: class CRecursiveMutex
1115: {
1115: private:
1115:   pthread_mutex_t m_mutex;
1115: 
1115:   static pthread_mutexattr_t& getRecursiveAttr();
1115: 
1115: public:
1115:   CRecursiveMutex(const CRecursiveMutex&) = delete;
1115:   CRecursiveMutex& operator=(const CRecursiveMutex&) = delete;
1115: 
1115:   inline CRecursiveMutex() { pthread_mutex_init(&m_mutex, &getRecursiveAttr()); }
1115: 
1115:   inline ~CRecursiveMutex() { pthread_mutex_destroy(&m_mutex); }
1115: 
1115:   inline void lock() { pthread_mutex_lock(&m_mutex); }
1115: 
1115:   inline void unlock() { pthread_mutex_unlock(&m_mutex); }
1115: 
1115:   inline bool try_lock() { return (pthread_mutex_trylock(&m_mutex) == 0); }
1115: 
1115:   inline std::recursive_mutex::native_handle_type native_handle() { return &m_mutex; }
1115: };
1115: 
1115: }
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/CriticalSection.h" 2
1115: 
1115: class CCriticalSection : public XbmcThreads::CountingLockable<XbmcThreads::CRecursiveMutex>
1115: {
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStreamDetail.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStreamDetail.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace detail
1115: {
1115: 
1115: template<typename Event>
1115: class ISubscription
1115: {
1115: public:
1115:   virtual void HandleEvent(const Event& event) = 0;
1115:   virtual void Cancel() = 0;
1115:   virtual bool IsOwnedBy(void* obj) = 0;
1115:   virtual ~ISubscription() = default;
1115: };
1115: 
1115: template<typename Event, typename Owner>
1115: class CSubscription : public ISubscription<Event>
1115: {
1115: public:
1115:   typedef void (Owner::*Fn)(const Event&);
1115:   CSubscription(Owner* owner, Fn fn);
1115:   void HandleEvent(const Event& event) override;
1115:   void Cancel() override;
1115:   bool IsOwnedBy(void *obj) override;
1115: 
1115: private:
1115:   Owner* m_owner;
1115:   Fn m_eventHandler;
1115:   CCriticalSection m_criticalSection;
1115: };
1115: 
1115: template<typename Event, typename Owner>
1115: CSubscription<Event, Owner>::CSubscription(Owner* owner, Fn fn)
1115:     : m_owner(owner), m_eventHandler(fn)
1115: {}
1115: 
1115: template<typename Event, typename Owner>
1115: bool CSubscription<Event, Owner>::IsOwnedBy(void* obj)
1115: {
1115:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1115:   return obj != nullptr && obj == m_owner;
1115: }
1115: 
1115: template<typename Event, typename Owner>
1115: void CSubscription<Event, Owner>::Cancel()
1115: {
1115:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1115:   m_owner = nullptr;
1115: }
1115: 
1115: template<typename Event, typename Owner>
1115: void CSubscription<Event, Owner>::HandleEvent(const Event& event)
1115: {
1115:   std::unique_lock<CCriticalSection> lock(m_criticalSection);
1115:   if (m_owner)
1115:     (m_owner->*m_eventHandler)(event);
1115: }
1115: }
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:        
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/condition_variable" 1 3
1115: # 32 "/usr/include/c++/12/condition_variable" 3
1115:        
1115: # 33 "/usr/include/c++/12/condition_variable" 3
1115: # 51 "/usr/include/c++/12/condition_variable" 3
1115: 
1115: # 51 "/usr/include/c++/12/condition_variable" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 64 "/usr/include/c++/12/condition_variable" 3
1115:   enum class cv_status { no_timeout, timeout };
1115: 
1115: 
1115:   class condition_variable
1115:   {
1115:     using steady_clock = chrono::steady_clock;
1115:     using system_clock = chrono::system_clock;
1115: 
1115:     using __clock_t = steady_clock;
1115: 
1115: 
1115: 
1115: 
1115:     __condvar _M_cond;
1115: 
1115:   public:
1115:     typedef __gthread_cond_t* native_handle_type;
1115: 
1115:     condition_variable() noexcept;
1115:     ~condition_variable() noexcept;
1115: 
1115:     condition_variable(const condition_variable&) = delete;
1115:     condition_variable& operator=(const condition_variable&) = delete;
1115: 
1115:     void
1115:     notify_one() noexcept;
1115: 
1115:     void
1115:     notify_all() noexcept;
1115: 
1115:     void
1115:     wait(unique_lock<mutex>& __lock);
1115: 
1115:     template<typename _Predicate>
1115:       void
1115:       wait(unique_lock<mutex>& __lock, _Predicate __p)
1115:       {
1115:  while (!__p())
1115:    wait(__lock);
1115:       }
1115: 
1115: 
1115:     template<typename _Duration>
1115:       cv_status
1115:       wait_until(unique_lock<mutex>& __lock,
1115:    const chrono::time_point<steady_clock, _Duration>& __atime)
1115:       { return __wait_until_impl(__lock, __atime); }
1115: 
1115: 
1115:     template<typename _Duration>
1115:       cv_status
1115:       wait_until(unique_lock<mutex>& __lock,
1115:    const chrono::time_point<system_clock, _Duration>& __atime)
1115:       { return __wait_until_impl(__lock, __atime); }
1115: 
1115:     template<typename _Clock, typename _Duration>
1115:       cv_status
1115:       wait_until(unique_lock<mutex>& __lock,
1115:    const chrono::time_point<_Clock, _Duration>& __atime)
1115:       {
1115: 
1115: 
1115: 
1115:  using __s_dur = typename __clock_t::duration;
1115:  const typename _Clock::time_point __c_entry = _Clock::now();
1115:  const __clock_t::time_point __s_entry = __clock_t::now();
1115:  const auto __delta = __atime - __c_entry;
1115:  const auto __s_atime = __s_entry +
1115:    chrono::__detail::ceil<__s_dur>(__delta);
1115: 
1115:  if (__wait_until_impl(__lock, __s_atime) == cv_status::no_timeout)
1115:    return cv_status::no_timeout;
1115: 
1115: 
1115: 
1115:  if (_Clock::now() < __atime)
1115:    return cv_status::no_timeout;
1115:  return cv_status::timeout;
1115:       }
1115: 
1115:     template<typename _Clock, typename _Duration, typename _Predicate>
1115:       bool
1115:       wait_until(unique_lock<mutex>& __lock,
1115:    const chrono::time_point<_Clock, _Duration>& __atime,
1115:    _Predicate __p)
1115:       {
1115:  while (!__p())
1115:    if (wait_until(__lock, __atime) == cv_status::timeout)
1115:      return __p();
1115:  return true;
1115:       }
1115: 
1115:     template<typename _Rep, typename _Period>
1115:       cv_status
1115:       wait_for(unique_lock<mutex>& __lock,
1115:         const chrono::duration<_Rep, _Period>& __rtime)
1115:       {
1115:  using __dur = typename steady_clock::duration;
1115:  return wait_until(__lock,
1115:      steady_clock::now() +
1115:      chrono::__detail::ceil<__dur>(__rtime));
1115:       }
1115: 
1115:     template<typename _Rep, typename _Period, typename _Predicate>
1115:       bool
1115:       wait_for(unique_lock<mutex>& __lock,
1115:         const chrono::duration<_Rep, _Period>& __rtime,
1115:         _Predicate __p)
1115:       {
1115:  using __dur = typename steady_clock::duration;
1115:  return wait_until(__lock,
1115:      steady_clock::now() +
1115:      chrono::__detail::ceil<__dur>(__rtime),
1115:      std::move(__p));
1 char_type
1412:       widen(char __c) const
1412:       {
1412:  if (_M_widen_ok)
1412:    return _M_widen[static_cast<unsigned char>(__c)];
1412:  this->_M_widen_init();
1412:  return this->do_widen(__c);
1412:       }
1412: # 906 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char*
1412:       widen(const char* __lo, const char* __hi, char_type* __to) const
1412:       {
1412:  if (_M_widen_ok == 1)
1412:    {
1412:      if (__builtin_expect(__hi != __lo, true))
1412:        __builtin_memcpy(__to, __lo, __hi - __lo);
1412:      return __hi;
1412:    }
1412:  if (!_M_widen_ok)
1412:    _M_widen_init();
1412:  return this->do_widen(__lo, __hi, __to);
1412:       }
1412: # 938 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char
1412:       narrow(char_type __c, char __dfault) const
1412:       {
1412:  if (_M_narrow[static_cast<unsigned char>(__c)])
1412:    return _M_narrow[static_cast<unsigned char>(__c)];
1412:  const char __t = do_narrow(__c, __dfault);
1412:  if (__t != __dfault)
1412:    _M_narrow[static_cast<unsigned char>(__c)] = __t;
1412:  return __t;
1412:       }
1412: # 971 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       const char_type*
1412:       narrow(const char_type* __lo, const char_type* __hi,
1412:       char __dfault, char* __to) const
1412:       {
1412:  if (__builtin_expect(_M_narrow_ok == 1, true))
1412:    {
1412:      if (__builtin_expect(__hi != __lo, true))
1412:        __builtin_memcpy(__to, __lo, __hi - __lo);
1412:      return __hi;
1412:    }
1412:  if (!_M_narrow_ok)
1412:    _M_narrow_init();
1412:  return this->do_narrow(__lo, __hi, __dfault, __to);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       const mask*
1412:       table() const throw()
1412:       { return _M_table; }
1412: 
1412: 
1412:       static const mask*
1412:       classic_table() throw();
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       virtual
1412:       ~ctype();
1412: # 1021 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_toupper(char_type __c) const;
1412: # 1038 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_toupper(char_type* __lo, const char_type* __hi) const;
1412: # 1054 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_tolower(char_type __c) const;
1412: # 1071 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_tolower(char_type* __lo, const char_type* __hi) const;
1412: # 1091 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_widen(char __c) const
1412:       { return __c; }
1412: # 1114 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char*
1412:       do_widen(const char* __lo, const char* __hi, char_type* __to) const
1412:       {
1412:  if (__builtin_expect(__hi != __lo, true))
1412:    __builtin_memcpy(__to, __lo, __hi - __lo);
1412:  return __hi;
1412:       }
1412: # 1141 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char
1412:       do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const
1412:       { return __c; }
1412: # 1167 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_narrow(const char_type* __lo, const char_type* __hi,
1412:   char __dfault __attribute__((__unused__)), char* __to) const
1412:       {
1412:  if (__builtin_expect(__hi != __lo, true))
1412:    __builtin_memcpy(__to, __lo, __hi - __lo);
1412:  return __hi;
1412:       }
1412: 
1412:     private:
1412:       void _M_narrow_init() const;
1412:       void _M_widen_init() const;
1412:     };
1412: # 1193 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<>
1412:     class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
1412:     {
1412:     public:
1412: 
1412: 
1412:       typedef wchar_t char_type;
1412:       typedef wctype_t __wmask_type;
1412: 
1412:     protected:
1412:       __c_locale _M_c_locale_ctype;
1412: 
1412: 
1412:       bool _M_narrow_ok;
1412:       char _M_narrow[128];
1412:       wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
1412: 
1412: 
1412:       mask _M_bit[16];
1412:       __wmask_type _M_wmask[16];
1412: 
1412:     public:
1412: 
1412: 
1412:       static locale::id id;
1412: # 1226 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       ctype(size_t __refs = 0);
1412: # 1237 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       ctype(__c_locale __cloc, size_t __refs = 0);
1412: 
1412:     protected:
1412:       __wmask_type
1412:       _M_convert_to_wmask(const mask __m) const throw();
1412: 
1412: 
1412:       virtual
1412:       ~ctype();
1412: # 1261 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual bool
1412:       do_is(mask __m, char_type __c) const;
1412: # 1280 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
1412: # 1298 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
1412: # 1316 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_scan_not(mask __m, const char_type* __lo,
1412:     const char_type* __hi) const;
1412: # 1333 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_toupper(char_type __c) const;
1412: # 1350 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_toupper(char_type* __lo, const char_type* __hi) const;
1412: # 1366 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_tolower(char_type __c) const;
1412: # 1383 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_tolower(char_type* __lo, const char_type* __hi) const;
1412: # 1403 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_widen(char __c) const;
1412: # 1425 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char*
1412:       do_widen(const char* __lo, const char* __hi, char_type* __to) const;
1412: # 1448 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char
1412:       do_narrow(char_type __c, char __dfault) const;
1412: # 1474 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual const char_type*
1412:       do_narrow(const char_type* __lo, const char_type* __hi,
1412:   char __dfault, char* __to) const;
1412: 
1412: 
1412:       void
1412:       _M_initialize_ctype() throw();
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     class ctype_byname : public ctype<_CharT>
1412:     {
1412:     public:
1412:       typedef typename ctype<_CharT>::mask mask;
1412: 
1412:       explicit
1412:       ctype_byname(const char* __s, size_t __refs = 0);
1412: 
1412: 
1412:       explicit
1412:       ctype_byname(const string& __s, size_t __refs = 0)
1412:       : ctype_byname(__s.c_str(), __refs) { }
1412: 
1412: 
1412:     protected:
1412:       virtual
1412:       ~ctype_byname() { }
1412:     };
1412: 
1412: 
1412:   template<>
1412:     class ctype_byname<char> : public ctype<char>
1412:     {
1412:     public:
1412:       explicit
1412:       ctype_byname(const char* __s, size_t __refs = 0);
1412: 
1412: 
1412:       explicit
1412:       ctype_byname(const string& __s, size_t __refs = 0);
1412: 
1412: 
1412:     protected:
1412:       virtual
1412:       ~ctype_byname();
1412:     };
1412: 
1412: 
1412:   template<>
1412:     class ctype_byname<wchar_t> : public ctype<wchar_t>
1412:     {
1412:     public:
1412:       explicit
1412:       ctype_byname(const char* __s, size_t __refs = 0);
1412: 
1412: 
1412:       explicit
1412:       ctype_byname(const string& __s, size_t __refs = 0);
1412: 
1412: 
1412:     protected:
1412:       virtual
1412:       ~ctype_byname();
1412:     };
1412: 
1412: 
1412: 
1412: }
1115:       }
1115: 
1115:     native_handle_type
1115:     native_handle()
1115:     { return _M_cond.native_handle(); }
1115: 
1115:   private:
1115: 
1115:     template<typename _Dur>
1115:       cv_status
1115:       __wait_until_impl(unique_lock<mutex>& __lock,
1115:    const chrono::time_point<steady_clock, _Dur>& __atime)
1115:       {
1115:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:  __gthread_time_t __ts =
1115:    {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:  _M_cond.wait_until(*__lock.mutex(), 1, __ts);
1115: 
1115:  return (steady_clock::now() < __atime
1115:   ? cv_status::no_timeout : cv_status::timeout);
1115:       }
1115: 
1115: 
1115:     template<typename _Dur>
1115:       cv_status
1115:       __wait_until_impl(unique_lock<mutex>& __lock,
1115:    const chrono::time_point<system_clock, _Dur>& __atime)
1115:       {
1115:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:  __gthread_time_t __ts =
1115:    {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:  _M_cond.wait_until(*__lock.mutex(), __ts);
1115: 
1115:  return (system_clock::now() < __atime
1115:   ? cv_status::no_timeout : cv_status::timeout);
1115:       }
1115:   };
1115: 
1115:   void
1115:   notify_all_at_thread_exit(condition_variable&, unique_lock<mutex>);
1115: 
1115:   struct __at_thread_exit_elt
1115:   {
1115:     __at_thread_exit_elt* _M_next;
1115:     void (*_M_cb)(void*);
1115:   };
1115: 
1115:   inline namespace _V2 {
1115: 
1115: 
1115: 
1115:   class condition_variable_any
1115:   {
1115: 
1115:     using __clock_t = chrono::steady_clock;
1115: 
1115: 
1115: 
1115:     condition_variable _M_cond;
1115:     shared_ptr<mutex> _M_mutex;
1115: 
1115: 
1115:     template<typename _Lock>
1115:       struct _Unlock
1115:       {
1115:  explicit _Unlock(_Lock& __lk) : _M_lock(__lk) { __lk.unlock(); }
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115:  ~_Unlock() noexcept(false)
1115:  {
1115:    if (uncaught_exception())
1115:      {
1115:        try
1115:        { _M_lock.lock(); }
1115:        catch(const __cxxabiv1::__forced_unwind&)
1115:        { throw; }
1115:        catch(...)
1115:        { }
1115:      }
1115:    else
1115:      _M_lock.lock();
1115:  }
1115: #pragma GCC diagnostic pop
1115: 
1115:  _Unlock(const _Unlock&) = delete;
1115:  _Unlock& operator=(const _Unlock&) = delete;
1115: 
1115:  _Lock& _M_lock;
1115:       };
1115: 
1115:   public:
1115:     condition_variable_any() : _M_mutex(std::make_shared<mutex>()) { }
1115:     ~condition_variable_any() = default;
1115: 
1115:     condition_variable_any(const condition_variable_any&) = delete;
1115:     condition_variable_any& operator=(const condition_variable_any&) = delete;
1115: 
1115:     void
1115:     notify_one() noexcept
1115:     {
1115:       lock_guard<mutex> __lock(*_M_mutex);
1115:       _M_cond.notify_one();
1115:     }
1115: 
1115:     void
1115:     notify_all() noexcept
1115:     {
1115:       lock_guard<mutex> __lock(*_M_mutex);
1115:       _M_cond.notify_all();
1115:     }
1115: 
1115:     template<typename _Lock>
1115:       void
1115:       wait(_Lock& __lock)
1115:       {
1115:  shared_ptr<mutex> __mutex = _M_mutex;
1115:  unique_lock<mutex> __my_lock(*__mutex);
1115:  _Unlock<_Lock> __unlock(__lock);
1115: 
1115: 
1115:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1115:  _M_cond.wait(__my_lock2);
1115:       }
1115: 
1115: 
1115:     template<typename _Lock, typename _Predicate>
1115:       void
1115:       wait(_Lock& __lock, _Predicate __p)
1115:       {
1115:  while (!__p())
1115:    wait(__lock);
1115:       }
1115: 
1115:     template<typename _Lock, typename _Clock, typename _Duration>
1115:       cv_status
1115:       wait_until(_Lock& __lock,
1115:    const chrono::time_point<_Clock, _Duration>& __atime)
1115:       {
1115:  shared_ptr<mutex> __mutex = _M_mutex;
1115:  unique_lock<mutex> __my_lock(*__mutex);
1115:  _Unlock<_Lock> __unlock(__lock);
1115: 
1115: 
1115:  unique_lock<mutex> __my_lock2(std::move(__my_lock));
1115:  return _M_cond.wait_until(__my_lock2, __atime);
1115:       }
1115: 
1115:     template<typename _Lock, typename _Clock,
1115:       typename _Duration, typename _Predicate>
1115:       bool
1115:       wait_until(_Lock& __lock,
1115:    const chrono::time_point<_Clock, _Duration>& __atime,
1115:    _Predicate __p)
1115:       {
1115:  while (!__p())
1115:    if (wait_until(__lock, __atime) == cv_status::timeout)
1115:      return __p();
1115:  return true;
1115:       }
1115: 
1115:     template<typename _Lock, typename _Rep, typename _Period>
1115:       cv_status
1115:       wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __rtime)
1115:       { return wait_until(__lock, __clock_t::now() + __rtime); }
1115: 
1115:     template<typename _Lock, typename _Rep,
1115:       typename _Period, typename _Predicate>
1115:       bool
1115:       wait_for(_Lock& __lock,
1115:         const chrono::duration<_Rep, _Period>& __rtime, _Predicate __p)
1115:       { return wait_until(__lock, __clock_t::now() + __rtime, std::move(__p)); }
1115: # 440 "/usr/include/c++/12/condition_variable" 3
1115:   };
1115: 
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1115: # 1 "/usr/include/c++/12/functional" 1 3
1115: # 46 "/usr/include/c++/12/functional" 3
1115:        
1115: # 47 "/usr/include/c++/12/functional" 3
1115: # 59 "/usr/include/c++/12/functional" 3
1115: # 1 "/usr/include/c++/12/bits/std_function.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/std_function.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/std_function.h" 3
1115: # 45 "/usr/include/c++/12/bits/std_function.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class bad_function_call : public std::exception
1115:   {
1115:   public:
1115:     virtual ~bad_function_call() noexcept;
1115: 
1115:     const char* what() const noexcept;
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct __is_location_invariant
1115:     : is_trivially_copyable<_Tp>::type
1115:     { };
1115: 
1115:   class _Undefined_class;
1115: 
1115:   union _Nocopy_types
1115:   {
1115:     void* _M_object;
1115:     const void* _M_const_object;
1115:     void (*_M_function_pointer)();
1115:     void (_Undefined_class::*_M_member_pointer)();
1115:   };
1115: 
1115:   union [[gnu::may_alias]] _Any_data
1115:   {
1115:     void* _M_access() noexcept { return &_M_pod_data[0]; }
1115:     const void* _M_access() const noexcept { return &_M_pod_data[0]; }
1115: 
1115:     template<typename _Tp>
1115:       _Tp&
1115:       _M_access() noexcept
1115:       { return *static_cast<_Tp*>(_M_access()); }
1115: 
1115:     template<typename _Tp>
1115:       const _Tp&
1115:       _M_access() const noexcept
1115:       { return *static_cast<const _Tp*>(_M_access()); }
1115: 
1115:     _Nocopy_types _M_unused;
1115:     char _M_pod_data[sizeof(_Nocopy_types)];
1115:   };
1115: 
1115:   enum _Manager_operation
1115:   {
1115:     __get_type_info,
1115:     __get_functor_ptr,
1115:     __clone_functor,
1115:     __destroy_functor
1115:   };
1115: 
1115:   template<typename _Signature>
1115:     class function;
1115: 
1115: 
1115:   class _Function_base
1115:   {
1115:   public:
1115:     static const size_t _M_max_size = sizeof(_Nocopy_types);
1115:     static const size_t _M_max_align = __alignof__(_Nocopy_types);
1115: 
1115:     template<typename _Functor>
1115:       class _Base_manager
1115:       {
1115:       protected:
1115:  static const bool __stored_locally =
1115:  (__is_location_invariant<_Functor>::value
1115:   && sizeof(_Functor) <= _M_m412: 
1412: 
1412: # 1 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 1 3
1412: # 37 "/usr/include/arm-linux-gnueabihf/c++/12/bits/ctype_inline.h" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   bool
1412:   ctype<char>::
1412:   is(mask __m, char __c) const
1412:   { return _M_table[static_cast<unsigned char>(__c)] & __m; }
1412: 
1412:   const char*
1412:   ctype<char>::
1412:   is(const char* __low, const char* __high, mask* __vec) const
1412:   {
1412:     while (__low < __high)
1412:       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
1412:     return __high;
1412:   }
1412: 
1412:   const char*
1412:   ctype<char>::
1412:   scan_is(mask __m, const char* __low, const char* __high) const
1412:   {
1412:     while (__low < __high
1412:     && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
1412:       ++__low;
1412:     return __low;
1412:   }
1412: 
1412:   const char*
1412:   ctype<char>::
1412:   scan_not(mask __m, const char* __low, const char* __high) const
1412:   {
1412:     while (__low < __high
1412:     && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
1412:       ++__low;
1412:     return __low;
1412:   }
1412: 
1412: 
1412: }
1412: # 1547 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412:   class __num_base
1412:   {
1412:   public:
1412: 
1412: 
1412:     enum
1412:       {
1412:  _S_ominus,
1412:  _S_oplus,
1412:  _S_ox,
1412:  _S_oX,
1412:  _S_odigits,
1412:  _S_odigits_end = _S_odigits + 16,
1412:  _S_oudigits = _S_odigits_end,
1412:  _S_oudigits_end = _S_oudigits + 16,
1412:  _S_oe = _S_odigits + 14,
1412:  _S_oE = _S_oudigits + 14,
1412:  _S_oend = _S_oudigits_end
1412:       };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     static const char* _S_atoms_out;
1412: 
1412: 
1412: 
1412:     static const char* _S_atoms_in;
1412: 
1412:     enum
1412:     {
1412:       _S_iminus,
1412:       _S_iplus,
1412:       _S_ix,
1412:       _S_iX,
1412:       _S_izero,
1412:       _S_ie = _S_izero + 14,
1412:       _S_iE = _S_izero + 20,
1412:       _S_iend = 26
1412:     };
1412: 
1412: 
1412: 
1412:     static void
1412:     _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
1412:   };
1412: 
1412:   template<typename _CharT>
1412:     struct __numpunct_cache : public locale::facet
1412:     {
1412:       const char* _M_grouping;
1412:       size_t _M_grouping_size;
1412:       bool _M_use_grouping;
1412:       const _CharT* _M_truename;
1412:       size_t _M_truename_size;
1412:       const _CharT* _M_falsename;
1412:       size_t _M_falsename_size;
1412:       _CharT _M_decimal_point;
1412:       _CharT _M_thousands_sep;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       _CharT _M_atoms_out[__num_base::_S_oend];
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       _CharT _M_atoms_in[__num_base::_S_iend];
1412: 
1412:       bool _M_allocated;
1412: 
1412:       __numpunct_cache(size_t __refs = 0)
1412:       : facet(__refs), _M_grouping(0), _M_grouping_size(0),
1412:  _M_use_grouping(false),
1412:  _M_truename(0), _M_truename_size(0), _M_falsename(0),
1412:  _M_falsename_size(0), _M_decimal_point(_CharT()),
1412:  _M_thousands_sep(_CharT()), _M_allocated(false)
1412:  { }
1412: 
1412:       ~__numpunct_cache();
1412: 
1412:       void
1412:       _M_cache(const locale& __loc);
1412: 
1412:     private:
1412:       __numpunct_cache&
1412:       operator=(const __numpunct_cache&);
1412: 
1412:       explicit
1412:       __numpunct_cache(const __numpunct_cache&);
1412:     };
1412: 
1412:   template<typename _CharT>
1412:     __numpunct_cache<_CharT>::~__numpunct_cache()
1412:     {
1412:       if (_M_allocated)
1412:  {
1412:    delete [] _M_grouping;
1412:    delete [] _M_truename;
1412:    delete [] _M_falsename;
1412:  }
1412:     }
1412: 
1412: namespace __cxx11 {
1412: # 1677 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<typename _CharT>
1412:     class numpunct : public locale::facet
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef basic_string<_CharT> string_type;
1412: 
1412:       typedef __numpunct_cache<_CharT> __cache_type;
1412: 
1412:     protected:
1412:       __cache_type* _M_data;
1412: 
1412:     public:
1412: 
1412:       static locale::id id;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       numpunct(size_t __refs = 0)
1412:       : facet(__refs), _M_data(0)
1412:       { _M_initialize_numpunct(); }
1412: # 1715 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       numpunct(__cache_type* __cache, size_t __refs = 0)
1412:       : facet(__refs), _M_data(__cache)
1412:       { _M_initialize_numpunct(); }
1412: # 1729 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       numpunct(__c_locale __cloc, size_t __refs = 0)
1412:       : facet(__refs), _M_data(0)
1412:       { _M_initialize_numpunct(__cloc); }
1412: # 1743 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char_type
1412:       decimal_point() const
1412:       { return this->do_decimal_point(); }
1412: # 1756 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       char_type
1412:       thousands_sep() const
1412:       { return this->do_thousands_sep(); }
1412: # 1787 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       string
1412:       grouping() const
1412:       { return this->do_grouping(); }
1412: # 1800 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       string_type
1412:       truename() const
1412:       { return this->do_truename(); }
1412: # 1813 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       string_type
1412:       falsename() const
1412:       { return this->do_falsename(); }
1412: 
1412:     protected:
1412: 
1412:       virtual
1412:       ~numpunct();
1412: # 1830 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_decimal_point() const
1412:       { return _M_data->_M_decimal_point; }
1412: # 1842 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual char_type
1412:       do_thousands_sep() const
1412:       { return _M_data->_M_thousands_sep; }
1412: # 1855 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual string
1412:       do_grouping() const
1412:       { return _M_data->_M_grouping; }
1412: # 1868 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual string_type
1412:       do_truename() const
1412:       { return _M_data->_M_truename; }
1412: # 1881 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual string_type
1412:       do_falsename() const
1412:       { return _M_data->_M_falsename; }
1412: 
1412: 
1412:       void
1412:       _M_initialize_numpunct(__c_locale __cloc = 0);
1412:     };
1412: 
1412:   template<typename _CharT>
1412:     locale::id numpunct<_CharT>::id;
1412: 
1412:   template<>
1412:     numpunct<char>::~numpunct();
1412: 
1412:   template<>
1412:     void
1412:     numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
1412: 
1412: 
1412:   template<>
1412:     numpunct<wchar_t>::~numpunct();
1412: 
1412:   template<>
1412:     void
1412:     numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     class numpunct_byname : public numpunct<_CharT>
1412:     {
1412:     public:
1412:       typedef _CharT char_type;
1412:       typedef basic_string<_CharT> string_type;
1412: 
1412:       explicit
1412:       numpunct_byname(const char* __s, size_t __refs = 0)
1412:       : numpunct<_CharT>(__refs)
1412:       {
1412:  if (__builtin_strcmp(__s, "C") != 0
1412:      && __builtin_strcmp(__s, "POSIX") != 0)
1412:    {
1412:      __c_locale __tmp;
1412:      this->_S_create_c_locale(__tmp, __s);
1412:      this->_M_initialize_numpunct(__tmp);
1412:      this->_S_destroy_c_locale(__tmp);
1412:    }
1412:       }
1412: 
1412: 
1412:       explicit
1412:       numpunct_byname(const string& __s, size_t __refs = 0)
1412:       : numpunct_byname(__s.c_str(), __refs) { }
1412: 
14ax_size
1115:   && __alignof__(_Functor) <= _M_max_align
1115:   && (_M_max_align % __alignof__(_Functor) == 0));
1115: 
1115:  using _Local_storage = integral_constant<bool, __stored_locally>;
1115: 
1115: 
1115:  static _Functor*
1115:  _M_get_pointer(const _Any_data& __source) noexcept
1115:  {
1115:    if constexpr (__stored_locally)
1115:      {
1115:        const _Functor& __f = __source._M_access<_Functor>();
1115:        return const_cast<_Functor*>(std::__addressof(__f));
1115:      }
1115:    else
1115:      return __source._M_access<_Functor*>();
1115:  }
1115: 
1115:       private:
1115: 
1115: 
1115:  template<typename _Fn>
1115:    static void
1115:    _M_create(_Any_data& __dest, _Fn&& __f, true_type)
1115:    {
1115:      ::new (__dest._M_access()) _Functor(std::forward<_Fn>(__f));
1115:    }
1115: 
1115: 
1115:  template<typename _Fn>
1115:    static void
1115:    _M_create(_Any_data& __dest, _Fn&& __f, false_type)
1115:    {
1115:      __dest._M_access<_Functor*>()
1115:        = new _Functor(std::forward<_Fn>(__f));
1115:    }
1115: 
1115: 
1115:  static void
1115:  _M_destroy(_Any_data& __victim, true_type)
1115:  {
1115:    __victim._M_access<_Functor>().~_Functor();
1115:  }
1115: 
1115: 
1115:  static void
1115:  _M_destroy(_Any_data& __victim, false_type)
1115:  {
1115:    delete __victim._M_access<_Functor*>();
1115:  }
1115: 
1115:       public:
1115:  static bool
1115:  _M_manager(_Any_data& __dest, const _Any_data& __source,
1115:      _Manager_operation __op)
1115:  {
1115:    switch (__op)
1115:      {
1115:      case __get_type_info:
1115: 
1115:        __dest._M_access<const type_info*>() = &typeid(_Functor);
1115: 
1115: 
1115: 
1115:        break;
1115: 
1115:      case __get_functor_ptr:
1115:        __dest._M_access<_Functor*>() = _M_get_pointer(__source);
1115:        break;
1115: 
1115:      case __clone_functor:
1115:        _M_init_functor(__dest,
1115:     *const_cast<const _Functor*>(_M_get_pointer(__source)));
1115:        break;
1115: 
1115:      case __destroy_functor:
1115:        _M_destroy(__dest, _Local_storage());
1115:        break;
1115:      }
1115:    return false;
1115:  }
1115: 
1115:  template<typename _Fn>
1115:    static void
1115:    _M_init_functor(_Any_data& __functor, _Fn&& __f)
1115:    noexcept(__and_<_Local_storage,
1115:      is_nothrow_constructible<_Functor, _Fn>>::value)
1115:    {
1115:      _M_create(__functor, std::forward<_Fn>(__f), _Local_storage());
1115:    }
1115: 
1115:  template<typename _Signature>
1115:    static bool
1115:    _M_not_empty_function(const function<_Signature>& __f) noexcept
1115:    { return static_cast<bool>(__f); }
1115: 
1115:  template<typename _Tp>
1115:    static bool
1115:    _M_not_empty_function(_Tp* __fp) noexcept
1115:    { return __fp != nullptr; }
1115: 
1115:  template<typename _Class, typename _Tp>
1115:    static bool
1115:    _M_not_empty_function(_Tp _Class::* __mp) noexcept
1115:    { return __mp != nullptr; }
1115: 
1115:  template<typename _Tp>
1115:    static bool
1115:    _M_not_empty_function(const _Tp&) noexcept
1115:    { return true; }
1115:       };
1115: 
1115:     _Function_base() = default;
1115: 
1115:     ~_Function_base()
1115:     {
1115:       if (_M_manager)
1115:  _M_manager(_M_functor, _M_functor, __destroy_functor);
1115:     }
1115: 
1115:     bool _M_empty() const { return !_M_manager; }
1115: 
1115:     using _Manager_type
1115:       = bool (*)(_Any_data&, const _Any_data&, _Manager_operation);
1115: 
1115:     _Any_data _M_functor{};
1115:     _Manager_type _M_manager{};
1115:   };
1115: 
1115:   template<typename _Signature, typename _Functor>
1115:     class _Function_handler;
1115: 
1115:   template<typename _Res, typename _Functor, typename... _ArgTypes>
1115:     class _Function_handler<_Res(_ArgTypes...), _Functor>
1115:     : public _Function_base::_Base_manager<_Functor>
1115:     {
1115:       using _Base = _Function_base::_Base_manager<_Functor>;
1115: 
1115:     public:
1115:       static bool
1115:       _M_manager(_Any_data& __dest, const _Any_data& __source,
1115:    _Manager_operation __op)
1115:       {
1115:  switch (__op)
1115:    {
1115: 
1115:    case __get_type_info:
1115:      __dest._M_access<const type_info*>() = &typeid(_Functor);
1115:      break;
1115: 
1115:    case __get_functor_ptr:
1115:      __dest._M_access<_Functor*>() = _Base::_M_get_pointer(__source);
1115:      break;
1115: 
1115:    default:
1115:      _Base::_M_manager(__dest, __source, __op);
1115:    }
1115:  return false;
1115:       }
1115: 
1115:       static _Res
1115:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
1115:       {
1115:  return std::__invoke_r<_Res>(*_Base::_M_get_pointer(__functor),
1115:          std::forward<_ArgTypes>(__args)...);
1115:       }
1115: 
1115:       template<typename _Fn>
1115:  static constexpr bool
1115:  _S_nothrow_init() noexcept
1115:  {
1115:    return __and_<typename _Base::_Local_storage,
1115:    is_nothrow_constructible<_Functor, _Fn>>::value;
1115:  }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     class _Function_handler<void, void>
1115:     {
1115:     public:
1115:       static bool
1115:       _M_manager(_Any_data&, const _Any_data&, _Manager_operation)
1115:       { return false; }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Signature, typename _Functor,
1115:     bool __valid = is_object<_Functor>::value>
1115:     struct _Target_handler
1115:     : _Function_handler<_Signature, typename remove_cv<_Functor>::type>
1115:     { };
1115: 
1115:   template<typename _Signature, typename _Functor>
1115:     struct _Target_handler<_Signature, _Functor, false>
1115:     : _Function_handler<void, void>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes>
1115:     class function<_Res(_ArgTypes...)>
1115:     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
1115:       private _Function_base
1115:     {
1115: 
1115: 
1115:       template<typename _Func,
1115:         bool _Self = is_same<__remove_cvref_t<_Func>, function>::value>
1115:  using _Decay_t
1115:    = typename __enable_if_t<!_Self, decay<_Func>>::type;
1115: 
1115:       template<typename _Func,
1115:         typename _DFunc = _Decay_t<_Func>,
1115:         typename _Res2 = __invoke_result<_DFunc&, _ArgTypes...>>
1115:  struct _Callable
1115:  : __is_invocable_impl<_Res2, _Res>::type
1115:  { };
1115: 
1115:       template<typename _Cond, typename _Tp = void>
1115:  using _Requires = __enable_if_t<_Cond::value, _Tp>;
1115: 
1115:       template<typename _Functor>
1115:  using _Handler
1115:    = _Function_handler<_Res(_ArgTypes...), __decay_t<_Functor>>;
1115: 
1115:     public:
1115:       typedef _Res result_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       function() noexcept
1115:       : _Function_base() { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       function(nullptr_t) noexcept
1115:       : _Function_base() { }
1115: # 386 "/usr/include/c++/12/bits/std_function.h" 3
1115:       function(const function& __x)
1115:       : _Function_base()
1115:       {
1115:  if (static_cast<bool>(__x))
1115:    {
1115:      __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
1115:      _M_invoker = __x._M_invoker;
1115:      _M_manager = __x._M_manager;
1115:    }
1115:       }
1115: # 404 "/usr/include/c++/12/bits/std_function.h" 3
1115:       function(function&& __x) noexcept
1115:       : _Function_base(), _M_invoker(__x._M_invoker)
1115:       {
1115:  if (static_cast<bool>(__x))
1115:    {
1115:      _M_functor = __x._M_functor;
1115:      _M_manager = __x._M_manager;
1115:      __x._M_manager = nullptr;
1115:      __x._M_invoker = nullptr;
1115:    }
1115:       }
1115: # 433 "/usr/include/c++/12/bits/std_function.h" 3
1115:       template<typename _Functor,
1115:         typename _Constraints = _Requires<_Callable<_Functor>>>
1115:  function(_Functor&& __f)
1115:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1115:  : _Function_base()
1115:  {
1115:    static_assert(is_copy_constructible<__decay_t<_Functor>>::value,
1115:    12: 
1412:     protected:
1412:       virtual
1412:       ~numpunct_byname() { }
1412:     };
1412: 
1412: }
1412: 
1412: 
1412: # 1959 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<typename _CharT, typename _InIter>
1412:     class num_get : public locale::facet
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _InIter iter_type;
1412: 
1412: 
1412: 
1412:       static locale::id id;
1412: # 1980 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       num_get(size_t __refs = 0) : facet(__refs) { }
1412: # 2006 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, bool& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: # 2043 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, long& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, unsigned short& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, unsigned int& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, unsigned long& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412: 
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, long long& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, unsigned long long& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: # 2103 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, float& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, double& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, long double& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: # 2146 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       get(iter_type __in, iter_type __end, ios_base& __io,
1412:    ios_base::iostate& __err, void*& __v) const
1412:       { return this->do_get(__in, __end, __io, __err, __v); }
1412: 
1412:     protected:
1412: 
1412:       virtual ~num_get() { }
1412: 
1412:       __attribute ((__abi_tag__ ("cxx11")))
1412:       iter_type
1412:       _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
1412:          string&) const;
1412: 
1412:       template<typename _ValueT>
1412:  __attribute ((__abi_tag__ ("cxx11")))
1412:  iter_type
1412:  _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
1412:          _ValueT&) const;
1412: 
1412:       template<typename _CharT2>
1412:       typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
1412:  _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
1412:  {
1412:    int __ret = -1;
1412:    if (__len <= 10)
1412:      {
1412:        if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
1412:   __ret = __c - _CharT2('0');
1412:      }
1412:    else
1412:      {
1412:        if (__c >= _CharT2('0') && __c <= _CharT2('9'))
1412:   __ret = __c - _CharT2('0');
1412:        else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
1412:   __ret = 10 + (__c - _CharT2('a'));
1412:        else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
1412:   __ret = 10 + (__c - _CharT2('A'));
1412:      }
1412:    return __ret;
1412:  }
1412: 
1412:       template<typename _CharT2>
1412:       typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
1412:           int>::__type
1412:  _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
1412:  {
1412:    int __ret = -1;
1412:    const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
1412:    if (__q)
1412:      {
1412:        __ret = __q - __zero;
1412:        if (__ret > 15)
1412:   __ret -= 6;
1412:      }
1412:    return __ret;
1412:  }
1412: # 2219 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual iter_type
1412:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:       ios_base::iostate& __err, long& __v) const
1412:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:       ios_base::iostate& __err, unsigned short& __v) const
1412:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:       ios_base::iostate& __err, unsigned int& __v) const
1412:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:       ios_base::iostate& __err, unsigned long& __v) const
1412:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1412: 
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:       ios_base::iostate& __err, long long& __v) const
1412:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:       ios_base::iostate& __err, unsigned long long& __v) const
1412:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
1412: 
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const;
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1412:       double&) const;
1412: # 2271 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual iter_type
1412:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
1412:       long double&) const;
1412: 
1412: 
1412:       virtual iter_type
1412:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const;
1412: # 2299 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:     };
1412: 
1412:   template<typename _CharT, typename _InIter>
1412:     locale::id num_get<_CharT, _InIter>::id;
1412: # 2317 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:   template<typename _CharT, typename _OutIter>
1412:     class num_put : public locale::facet
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _OutIter iter_type;
1412: 
1412: 
1412: 
1412:       static locale::id id;
1412: # 2338 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       explicit
1412:       num_put(size_t __refs = 0) : facet(__refs) { }
1412: # 2356 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: # 2398 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       put(iter_type __s, ios_base& _    "std::function target must be copy-constructible");
1115:    static_assert(is_constructible<__decay_t<_Functor>, _Functor>::value,
1115:        "std::function target must be constructible from the "
1115:        "constructor argument");
1115: 
1115:    using _My_handler = _Handler<_Functor>;
1115: 
1115:    if (_My_handler::_M_not_empty_function(__f))
1115:      {
1115:        _My_handler::_M_init_functor(_M_functor,
1115:         std::forward<_Functor>(__f));
1115:        _M_invoker = &_My_handler::_M_invoke;
1115:        _M_manager = &_My_handler::_M_manager;
1115:      }
1115:  }
1115: # 468 "/usr/include/c++/12/bits/std_function.h" 3
1115:       function&
1115:       operator=(const function& __x)
1115:       {
1115:  function(__x).swap(*this);
1115:  return *this;
1115:       }
1115: # 486 "/usr/include/c++/12/bits/std_function.h" 3
1115:       function&
1115:       operator=(function&& __x) noexcept
1115:       {
1115:  function(std::move(__x)).swap(*this);
1115:  return *this;
1115:       }
1115: # 500 "/usr/include/c++/12/bits/std_function.h" 3
1115:       function&
1115:       operator=(nullptr_t) noexcept
1115:       {
1115:  if (_M_manager)
1115:    {
1115:      _M_manager(_M_functor, _M_functor, __destroy_functor);
1115:      _M_manager = nullptr;
1115:      _M_invoker = nullptr;
1115:    }
1115:  return *this;
1115:       }
1115: # 529 "/usr/include/c++/12/bits/std_function.h" 3
1115:       template<typename _Functor>
1115:  _Requires<_Callable<_Functor>, function&>
1115:  operator=(_Functor&& __f)
1115:  noexcept(_Handler<_Functor>::template _S_nothrow_init<_Functor>())
1115:  {
1115:    function(std::forward<_Functor>(__f)).swap(*this);
1115:    return *this;
1115:  }
1115: 
1115: 
1115:       template<typename _Functor>
1115:  function&
1115:  operator=(reference_wrapper<_Functor> __f) noexcept
1115:  {
1115:    function(__f).swap(*this);
1115:    return *this;
1115:  }
1115: # 556 "/usr/include/c++/12/bits/std_function.h" 3
1115:       void swap(function& __x) noexcept
1115:       {
1115:  std::swap(_M_functor, __x._M_functor);
1115:  std::swap(_M_manager, __x._M_manager);
1115:  std::swap(_M_invoker, __x._M_invoker);
1115:       }
1115: # 573 "/usr/include/c++/12/bits/std_function.h" 3
1115:       explicit operator bool() const noexcept
1115:       { return !_M_empty(); }
1115: # 586 "/usr/include/c++/12/bits/std_function.h" 3
1115:       _Res
1115:       operator()(_ArgTypes... __args) const
1115:       {
1115:  if (_M_empty())
1115:    __throw_bad_function_call();
1115:  return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
1115:       }
1115: # 605 "/usr/include/c++/12/bits/std_function.h" 3
1115:       const type_info&
1115:       target_type() const noexcept
1115:       {
1115:  if (_M_manager)
1115:    {
1115:      _Any_data __typeinfo_result;
1115:      _M_manager(__typeinfo_result, _M_functor, __get_type_info);
1115:      if (auto __ti = __typeinfo_result._M_access<const type_info*>())
1115:        return *__ti;
1115:    }
1115:  return typeid(void);
1115:       }
1115: # 630 "/usr/include/c++/12/bits/std_function.h" 3
1115:       template<typename _Functor>
1115:  _Functor*
1115:  target() noexcept
1115:  {
1115:    const function* __const_this = this;
1115:    const _Functor* __func = __const_this->template target<_Functor>();
1115: 
1115: 
1115:    return *const_cast<_Functor**>(&__func);
1115:  }
1115: 
1115:       template<typename _Functor>
1115:  const _Functor*
1115:  target() const noexcept
1115:  {
1115:    if constexpr (is_object<_Functor>::value)
1115:      {
1115: 
1115: 
1115:        using _Handler = _Target_handler<_Res(_ArgTypes...), _Functor>;
1115: 
1115:        if (_M_manager == &_Handler::_M_manager
1115: 
1115:     || (_M_manager && typeid(_Functor) == target_type())
1115: 
1115:    )
1115:   {
1115:     _Any_data __ptr;
1115:     _M_manager(__ptr, _M_functor, __get_functor_ptr);
1115:     return __ptr._M_access<const _Functor*>();
1115:   }
1115:      }
1115:    return nullptr;
1115:  }
1115: 
1115: 
1115:     private:
1115:       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
1115:       _Invoker_type _M_invoker = nullptr;
1115:     };
1115: 
1115: 
1115:   template<typename>
1115:     struct __function_guide_helper
1115:     { };
1115: 
1115:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1115:     struct __function_guide_helper<
1115:       _Res (_Tp::*) (_Args...) noexcept(_Nx)
1115:     >
1115:     { using type = _Res(_Args...); };
1115: 
1115:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1115:     struct __function_guide_helper<
1115:       _Res (_Tp::*) (_Args...) & noexcept(_Nx)
1115:     >
1115:     { using type = _Res(_Args...); };
1115: 
1115:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1115:     struct __function_guide_helper<
1115:       _Res (_Tp::*) (_Args...) const noexcept(_Nx)
1115:     >
1115:     { using type = _Res(_Args...); };
1115: 
1115:   template<typename _Res, typename _Tp, bool _Nx, typename... _Args>
1115:     struct __function_guide_helper<
1115:       _Res (_Tp::*) (_Args...) const & noexcept(_Nx)
1115:     >
1115:     { using type = _Res(_Args...); };
1115: 
1115:   template<typename _Res, typename... _ArgTypes>
1115:     function(_Res(*)(_ArgTypes...)) -> function<_Res(_ArgTypes...)>;
1115: 
1115:   template<typename _Functor, typename _Signature = typename
1115:     __function_guide_helper<decltype(&_Functor::operator())>::type>
1115:     function(_Functor) -> function<_Signature>;
1115: # 716 "/usr/include/c++/12/bits/std_function.h" 3
1115:   template<typename _Res, typename... _Args>
1115:     inline bool
1115:     operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1115:     { return !static_cast<bool>(__f); }
1115: 
1115: 
1115: 
1115:   template<typename _Res, typename... _Args>
1115:     inline bool
1115:     operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1115:     { return !static_cast<bool>(__f); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Res, typename... _Args>
1115:     inline bool
1115:     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
1115:     { return static_cast<bool>(__f); }
1115: 
1115: 
1115:   template<typename _Res, typename... _Args>
1115:     inline bool
1115:     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
1115:     { return static_cast<bool>(__f); }
1115: # 755 "/usr/include/c++/12/bits/std_function.h" 3
1115:   template<typename _Res, typename... _Args>
1115:     inline void
1115:     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   namespace __detail::__variant
1115:   {
1115:     template<typename> struct _Never_valueless_alt;
1115: 
1115: 
1115: 
1115:     template<typename _Signature>
1115:       struct _Never_valueless_alt<std::function<_Signature>>
1115:       : std::true_type
1115:       { };
1115:   }
1115: 
1115: 
1115: 
1115: }
1115: # 60 "/usr/include/c++/12/functional" 2 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/array" 1 3
1115: # 32 "/usr/include/c++/12/array" 3
1115:        
1115: # 33 "/usr/include/c++/12/array" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/compare" 1 3
1115: # 33 "/usr/include/c++/12/compare" 3
1115:        
1115: # 34 "/usr/include/c++/12/compare" 3
1115: # 39 "/usr/include/c++/12/array" 2 3
1115: # 48 "/usr/include/c++/12/array" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
1115:     struct __array_traits
1115:     {
1115:       typedef _Tp _Type[_Nm];
1115:       typedef __is_swappable<_Tp> _Is_swappable;
1115:       typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable;
1115: 
1115:       static constexpr _Tp&
1115:       _S_ref(const _Type& __t, std::size_t __n) noexcept
1115:       { return const_cast<_Tp&>(__t[__n]); }
1115: 
1115:       static constexpr _Tp*
1115:       _S_ptr(const _Type& __t) noexcept
1115:       { return const_cast<_Tp*>(__t); }
1115:     };
1115_io, char_type __fill, long __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: 
1412:       iter_type
1412:       put(iter_type __s, ios_base& __io, char_type __fill,
1412:    unsigned long __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: 
1412: 
1412:       iter_type
1412:       put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: 
1412:       iter_type
1412:       put(iter_type __s, ios_base& __io, char_type __fill,
1412:    unsigned long long __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: # 2461 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: 
1412:       iter_type
1412:       put(iter_type __s, ios_base& __io, char_type __fill,
1412:    long double __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: # 2486 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       iter_type
1412:       put(iter_type __s, ios_base& __io, char_type __fill,
1412:    const void* __v) const
1412:       { return this->do_put(__s, __io, __fill, __v); }
1412: 
1412:     protected:
1412:       template<typename _ValueT>
1412:  iter_type
1412:  _M_insert_float(iter_type, ios_base& __io, char_type __fill,
1412:    char __mod, _ValueT __v) const;
1412: 
1412:       void
1412:       _M_group_float(const char* __grouping, size_t __grouping_size,
1412:        char_type __sep, const char_type* __p, char_type* __new,
1412:        char_type* __cs, int& __len) const;
1412: 
1412:       template<typename _ValueT>
1412:  iter_type
1412:  _M_insert_int(iter_type, ios_base& __io, char_type __fill,
1412:         _ValueT __v) const;
1412: 
1412:       void
1412:       _M_group_int(const char* __grouping, size_t __grouping_size,
1412:      char_type __sep, ios_base& __io, char_type* __new,
1412:      char_type* __cs, int& __len) const;
1412: 
1412:       void
1412:       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
1412:       char_type* __new, const char_type* __cs, int& __len) const;
1412: 
1412: 
1412:       virtual
1412:       ~num_put() { }
1412: # 2534 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:       virtual iter_type
1412:       do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const;
1412: 
1412:       virtual iter_type
1412:       do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
1412:       { return _M_insert_int(__s, __io, __fill, __v); }
1412: 
1412:       virtual iter_type
1412:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1412:       unsigned long __v) const
1412:       { return _M_insert_int(__s, __io, __fill, __v); }
1412: 
1412: 
1412:       virtual iter_type
1412:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1412:       long long __v) const
1412:       { return _M_insert_int(__s, __io, __fill, __v); }
1412: 
1412:       virtual iter_type
1412:       do_put(iter_type __s, ios_base& __io, char_type __fill,
1412:       unsigned long long __v) const
1412:       { return _M_insert_int(__s, __io, __fill, __v); }
1412: 
1412: 
1412:       virtual iter_type
1412:       do_put(iter_type, ios_base&, char_type, double) const;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       virtual iter_type
1412:       do_put(iter_type, ios_base&, char_type, long double) const;
1412: 
1412: 
1412:       virtual iter_type
1412:       do_put(iter_type, ios_base&, char_type, const void*) const;
1412: # 2586 "/usr/include/c++/12/bits/locale_facets.h" 3
1412:     };
1412: 
1412:   template <typename _CharT, typename _OutIter>
1412:     locale::id num_put<_CharT, _OutIter>::id;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isspace(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isprint(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     iscntrl(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isupper(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     islower(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isalpha(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isdigit(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     ispunct(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isxdigit(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isalnum(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isgraph(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline bool
1412:     isblank(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::blank, __c); }
1412: 
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline _CharT
1412:     toupper(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
1412: 
1412: 
1412:   template<typename _CharT>
1412:     inline _CharT
1412:     tolower(_CharT __c, const locale& __loc)
1412:     { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
1412: 
1412: 
1412: }
1412: 
1412: # 1 "/usr/include/c++/12/bits/locale_facets.tcc" 1 3
1412: # 33 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _Facet>
1412:     struct __use_cache
1412:     {
1412:       const _Facet*
1412:       operator() (const locale& __loc) const;
1412:     };
1412: 
1412: 
1412:   template<typename _CharT>
1412:     struct __use_cache<__numpunct_cache<_CharT> >
1412:     {
1412:       const __numpunct_cache<_CharT>*
1412:       operator() (const locale& __loc) const
1412:       {
1412:  const size_t __i = numpunct<_CharT>::id._M_id();
1412:  const locale::facet** __caches = __loc._M_impl->_M_caches;
1412:  if (!__caches[__i])
1412:    {
1412:      __numpunct_cache<_CharT>* __tmp = 0;
1412:      try
1412:        {
1412:   __tmp = new __numpunct_cache<_CharT>;
1412:   __tmp->_M_cache(__loc);
1412:        }
1412:      catch(...)
1412:        {
1412:   delete __tmp;
1412:   throw;
1412:        }
1412:      __loc._M_impl->_M_install_cache(__tmp, __i);
1412:    }
1412:  return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
1412:       }
1412:     };
1412: 
1412:   template<typename _CharT>
1412:     void
1412:     __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
1412:     {
1412:       const: 
1115:  template<typename _Tp>
1115:    struct __array_traits<_Tp, 0>
1115:    {
1115:      struct _Type { };
1115:      typedef true_type _Is_swappable;
1115:      typedef true_type _Is_nothrow_swappable;
1115: 
1115:      static constexpr _Tp&
1115:      _S_ref(const _Type&, std::size_t) noexcept
1115:      { return *static_cast<_Tp*>(nullptr); }
1115: 
1115:      static constexpr _Tp*
1115:      _S_ptr(const _Type&) noexcept
1115:      { return nullptr; }
1115:    };
1115: # 98 "/usr/include/c++/12/array" 3
1115:   template<typename _Tp, std::size_t _Nm>
1115:     struct array
1115:     {
1115:       typedef _Tp value_type;
1115:       typedef value_type* pointer;
1115:       typedef const value_type* const_pointer;
1115:       typedef value_type& reference;
1115:       typedef const value_type& const_reference;
1115:       typedef value_type* iterator;
1115:       typedef const value_type* const_iterator;
1115:       typedef std::size_t size_type;
1115:       typedef std::ptrdiff_t difference_type;
1115:       typedef std::reverse_iterator<iterator> reverse_iterator;
1115:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1115: 
1115: 
1115:       typedef __array_traits<_Tp, _Nm> _AT_Type;
1115:       typename _AT_Type::_Type _M_elems;
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       fill(const value_type& __u)
1115:       { std::fill_n(begin(), size(), __u); }
1115: 
1115:       void
1115:       swap(array& __other)
1115:       noexcept(_AT_Type::_Is_nothrow_swappable::value)
1115:       { std::swap_ranges(begin(), end(), __other.begin()); }
1115: 
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr iterator
1115:       begin() noexcept
1115:       { return iterator(data()); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_iterator
1115:       begin() const noexcept
1115:       { return const_iterator(data()); }
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr iterator
1115:       end() noexcept
1115:       { return iterator(data() + _Nm); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_iterator
1115:       end() const noexcept
1115:       { return const_iterator(data() + _Nm); }
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr reverse_iterator
1115:       rbegin() noexcept
1115:       { return reverse_iterator(end()); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr reverse_iterator
1115:       rend() noexcept
1115:       { return reverse_iterator(begin()); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_iterator
1115:       cbegin() const noexcept
1115:       { return const_iterator(data()); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_iterator
1115:       cend() const noexcept
1115:       { return const_iterator(data() + _Nm); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_reverse_iterator
1115:       crend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr size_type
1115:       size() const noexcept { return _Nm; }
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr size_type
1115:       max_size() const noexcept { return _Nm; }
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr bool
1115:       empty() const noexcept { return size() == 0; }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr reference
1115:       operator[](size_type __n) noexcept
1115:       {
1115:  ;
1115:  return _AT_Type::_S_ref(_M_elems, __n);
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_reference
1115:       operator[](size_type __n) const noexcept
1115:       {
1115: 
1115:  ;
1115: 
1115:  return _AT_Type::_S_ref(_M_elems, __n);
1115:       }
1115: 
1115:       constexpr reference
1115:       at(size_type __n)
1115:       {
1115:  if (__n >= _Nm)
1115:    std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1115:                                  ,
1115:      __n, _Nm);
1115:  return _AT_Type::_S_ref(_M_elems, __n);
1115:       }
1115: 
1115:       constexpr const_reference
1115:       at(size_type __n) const
1115:       {
1115: 
1115: 
1115:  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
1115:    : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
1115:                                     ,
1115:         __n, _Nm),
1115:       _AT_Type::_S_ref(_M_elems, 0));
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr reference
1115:       front() noexcept
1115:       {
1115:  ;
1115:  return *begin();
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_reference
1115:       front() const noexcept
1115:       {
1115: 
1115:  ;
1115: 
1115:  return _AT_Type::_S_ref(_M_elems, 0);
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr reference
1115:       back() noexcept
1115:       {
1115:  ;
1115:  return _Nm ? *(end() - 1) : *end();
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_reference
1115:       back() const noexcept
1115:       {
1115: 
1115:  ;
1115: 
1115:  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
1115:              : _AT_Type::_S_ref(_M_elems, 0);
1115:       }
1115: 
1115:       [[__gnu__::__const__, __nodiscard__]]
1115:       constexpr pointer
1115:       data() noexcept
1115:       { return _AT_Type::_S_ptr(_M_elems); }
1115: 
1115:       [[__nodiscard__]]
1115:       constexpr const_pointer
1115:       data() const noexcept
1115:       { return _AT_Type::_S_ptr(_M_elems); }
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, typename... _Up>
1115:     array(_Tp, _Up...)
1115:       -> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>,
1115:         1 + sizeof...(_Up)>;
1115: 
1115: 
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:    
1115:     inline bool
1115:     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1115:     { return std::equal(__one.begin(), __one.end(), __two.begin()); }
1115: # 329 "/usr/include/c++/12/array" 3
1115:   template<typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:    
1115:     inline bool
1115:     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1115:     { return !(__one == __two); }
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:    
1115:     inline bool
1115:     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
1115:     {
1115:       return std::lexicographical_compare(__a.begin(), __a.end(),
1115:        __b.begin(), __b.end());
1115:     }
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:    
1115:     inline bool
1115:     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1115:     { return __two < __one; }
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:    
1115:     inline bool
1115:     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1115:     { return !(__one > __two); }
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:    
1115:     inline bool
1115:     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
1115:     { return !(__one < __two); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
11 numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
1412: 
1412:       char* __grouping = 0;
1412:       _CharT* __truename = 0;
1412:       _CharT* __falsename = 0;
1412:       try
1412:  {
1412:    const string& __g = __np.grouping();
1412:    _M_grouping_size = __g.size();
1412:    __grouping = new char[_M_grouping_size];
1412:    __g.copy(__grouping, _M_grouping_size);
1412:    _M_use_grouping = (_M_grouping_size
1412:         && static_cast<signed char>(__grouping[0]) > 0
1412:         && (__grouping[0]
1412:      != __gnu_cxx::__numeric_traits<char>::__max));
1412: 
1412:    const basic_string<_CharT>& __tn = __np.truename();
1412:    _M_truename_size = __tn.size();
1412:    __truename = new _CharT[_M_truename_size];
1412:    __tn.copy(__truename, _M_truename_size);
1412: 
1412:    const basic_string<_CharT>& __fn = __np.falsename();
1412:    _M_falsename_size = __fn.size();
1412:    __falsename = new _CharT[_M_falsename_size];
1412:    __fn.copy(__falsename, _M_falsename_size);
1412: 
1412:    _M_decimal_point = __np.decimal_point();
1412:    _M_thousands_sep = __np.thousands_sep();
1412: 
1412:    const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
1412:    __ct.widen(__num_base::_S_atoms_out,
1412:        __num_base::_S_atoms_out
1412:        + __num_base::_S_oend, _M_atoms_out);
1412:    __ct.widen(__num_base::_S_atoms_in,
1412:        __num_base::_S_atoms_in
1412:        + __num_base::_S_iend, _M_atoms_in);
1412: 
1412:    _M_grouping = __grouping;
1412:    _M_truename = __truename;
1412:    _M_falsename = __falsename;
1412:    _M_allocated = true;
1412:  }
1412:       catch(...)
1412:  {
1412:    delete [] __grouping;
1412:    delete [] __truename;
1412:    delete [] __falsename;
1412:    throw;
1412:  }
1412:     }
1412: # 139 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:   __attribute__ ((__pure__)) bool
1412:   __verify_grouping(const char* __grouping, size_t __grouping_size,
1412:       const string& __grouping_tmp) throw ();
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _InIter>
1412:     __attribute ((__abi_tag__ ("cxx11")))
1412:     _InIter
1412:     num_get<_CharT, _InIter>::
1412:     _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
1412:        ios_base::iostate& __err, string& __xtrc) const
1412:     {
1412:       typedef char_traits<_CharT> __traits_type;
1412:       typedef __numpunct_cache<_CharT> __cache_type;
1412:       __use_cache<__cache_type> __uc;
1412:       const locale& __loc = __io._M_getloc();
1412:       const __cache_type* __lc = __uc(__loc);
1412:       const _CharT* __lit = __lc->_M_atoms_in;
1412:       char_type __c = char_type();
1412: 
1412: 
1412:       bool __testeof = __beg == __end;
1412: 
1412: 
1412:       if (!__testeof)
1412:  {
1412:    __c = *__beg;
1412:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1412:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1412:        && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1412:        && !(__c == __lc->_M_decimal_point))
1412:      {
1412:        __xtrc += __plus ? '+' : '-';
1412:        if (++__beg != __end)
1412:   __c = *__beg;
1412:        else
1412:   __testeof = true;
1412:      }
1412:  }
1412: 
1412: 
1412:       bool __found_mantissa = false;
1412:       int __sep_pos = 0;
1412:       while (!__testeof)
1412:  {
1412:    if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1412:        || __c == __lc->_M_decimal_point)
1412:      break;
1412:    else if (__c == __lit[__num_base::_S_izero])
1412:      {
1412:        if (!__found_mantissa)
1412:   {
1412:     __xtrc += '0';
1412:     __found_mantissa = true;
1412:   }
1412:        ++__sep_pos;
1412: 
1412:        if (++__beg != __end)
1412:   __c = *__beg;
1412:        else
1412:   __testeof = true;
1412:      }
1412:    else
1412:      break;
1412:  }
1412: 
1412: 
1412:       bool __found_dec = false;
1412:       bool __found_sci = false;
1412:       string __found_grouping;
1412:       if (__lc->_M_use_grouping)
1412:  __found_grouping.reserve(32);
1412:       const char_type* __lit_zero = __lit + __num_base::_S_izero;
1412: 
1412:       if (!__lc->_M_allocated)
1412: 
1412:  while (!__testeof)
1412:    {
1412:      const int __digit = _M_find(__lit_zero, 10, __c);
1412:      if (__digit != -1)
1412:        {
1412:   __xtrc += '0' + __digit;
1412:   __found_mantissa = true;
1412:        }
1412:      else if (__c == __lc->_M_decimal_point
1412:        && !__found_dec && !__found_sci)
1412:        {
1412:   __xtrc += '.';
1412:   __found_dec = true;
1412:        }
1412:      else if ((__c == __lit[__num_base::_S_ie]
1412:         || __c == __lit[__num_base::_S_iE])
1412:        && !__found_sci && __found_mantissa)
1412:        {
1412: 
1412:   __xtrc += 'e';
1412:   __found_sci = true;
1412: 
1412: 
1412:   if (++__beg != __end)
1412:     {
1412:       __c = *__beg;
1412:       const bool __plus = __c == __lit[__num_base::_S_iplus];
1412:       if (__plus || __c == __lit[__num_base::_S_iminus])
1412:         __xtrc += __plus ? '+' : '-';
1412:       else
1412:         continue;
1412:     }
1412:   else
1412:     {
1412:       __testeof = true;
1412:       break;
1412:     }
1412:        }
1412:      else
1412:        break;
1412: 
1412:      if (++__beg != __end)
1412:        __c = *__beg;
1412:      else
1412:        __testeof = true;
1412:    }
1412:       else
1412:  while (!__testeof)
1412:    {
1412: 
1412: 
1412:      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1412:        {
1412:   if (!__found_dec && !__found_sci)
1412:     {
1412: 
1412: 
1412:       if (__sep_pos)
1412:         {
1412:    __found_grouping += static_cast<char>(__sep_pos);
1412:    __sep_pos = 0;
1412:         }
1412:       else
1412:         {
1412: 
1412: 
1412:    __xtrc.clear();
1412:    break;
1412:         }
1412:     }
1412:   else
1412:     break;
1412:        }
1412:      else if (__c == __lc->_M_decimal_point)
1412:        {
1412:   if (!__found_dec && !__found_sci)
1412:     {
1412: 
1412: 
1412: 
1412:       if (__found_grouping.size())
1412:         __found_grouping += static_cast<char>(__sep_pos);
1412:       __xtrc += '.';
1412:       __found_dec = true;
1412:     }
1412:   else
1412:     break;
1412:        }
1412:      else
1412:        {
1412:   const char_type* __q =
1412:     __traits_type::find(__lit_zero, 10, __c);
1412:   if (__q)
1412:     {
1412:       __xtrc += '0' + (__q - __lit_zero);
1412:       __found_mantissa = true;
1412:       ++__sep_pos;
1412:     }
1412:   else if ((__c == __lit[__num_base::_S_ie]
1412:      || __c == __lit[__num_base::_S_iE])
1412:     && !__found_sci && __found_mantissa)
1412:     {
1412: 
1412:       if (__found_grouping.size() && !__found_dec)
1412:         __found_grouping += static_cast<char>(__sep_pos);
1412:       __xtrc += 'e';
1412:       __found_sci = true;
1412: 
1412: 
1412:       if (++__beg != __end)
1412:         {
1412:    __c = *__beg;
1412:    const bool __plus = __c == __lit[__num_base::_S_iplus];
1412:    if ((__plus || __c == __lit[__num_base::_S_iminus])
1412:        && !(__lc->_M_use_grouping
1412:      && __c == __lc->_M_thousands_sep)
1412:        && !(__c == __lc->_M_decimal_point))
1412:         __xtrc += __plus ? '+' : '-';
1412:    else
1412:      continue;
1412:         }
1412:       else
1412:         {
1412:    __testeof = true;
1412:    break;
1412:         }
1412:     }
1412:   else
1412:     break;
1412:        }
1412: 
1412:      if (++__beg != __end)
1412:        __c = *__beg;
1412:      else
1412:        __testeof = true;
1412:    }
1412: 
1412: 
1412: 
1412:       if (__found_grouping.size())
1412:         {
1412: 
1412:    if (!__found_dec && !__found_sci)
1412:      __found_grouping += static_cast<char>(__sep_pos);
1412: 
1412:           if (!std::__verify_grouping(__lc->_M_grouping,
1412:           __lc->_M_grouping_size,
1412:           __found_grouping))
1412:      __err = ios_base::failbit;
1412:         }
1412: 
1412:       return __beg;
1412:     }
1412: 
1412:   template<typename _CharT, typename _InIter>
1412:     template<typename _ValueT>
1412:       __attribute ((__abi_tag__ ("cxx11"))15:    
1115:     inline
1115: 
1115: 
1115:     typename enable_if<
1115:       __array_traits<_Tp, _Nm>::_Is_swappable::value
1115:     >::type
1115: 
1115: 
1115: 
1115:     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
1115:     noexcept(noexcept(__one.swap(__two)))
1115:     { __one.swap(__two); }
1115: 
1115: 
1115:   template<typename _Tp, std::size_t _Nm>
1115:     typename enable_if<
1115:       !__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
1115:     swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
1115: 
1115: 
1115:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:     constexpr _Tp&
1115:     get(array<_Tp, _Nm>& __arr) noexcept
1115:     {
1115:       static_assert(_Int < _Nm, "array index is within bounds");
1115:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1115:     }
1115: 
1115:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:     constexpr _Tp&&
1115:     get(array<_Tp, _Nm>&& __arr) noexcept
1115:     {
1115:       static_assert(_Int < _Nm, "array index is within bounds");
1115:       return std::move(std::get<_Int>(__arr));
1115:     }
1115: 
1115:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:     constexpr const _Tp&
1115:     get(const array<_Tp, _Nm>& __arr) noexcept
1115:     {
1115:       static_assert(_Int < _Nm, "array index is within bounds");
1115:       return __array_traits<_Tp, _Nm>::_S_ref(__arr._M_elems, _Int);
1115:     }
1115: 
1115:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
1115:     [[__nodiscard__]]
1115:     constexpr const _Tp&&
1115:     get(const array<_Tp, _Nm>&& __arr) noexcept
1115:     {
1115:       static_assert(_Int < _Nm, "array index is within bounds");
1115:       return std::move(std::get<_Int>(__arr));
1115:     }
1115: # 470 "/usr/include/c++/12/array" 3
1115:   template<typename _Tp, size_t _Nm>
1115:     struct tuple_size<array<_Tp, _Nm>>
1115:     : public integral_constant<size_t, _Nm> { };
1115: 
1115: 
1115:   template<size_t _Ind, typename _Tp, size_t _Nm>
1115:     struct tuple_element<_Ind, array<_Tp, _Nm>>
1115:     {
1115:       static_assert(_Ind < _Nm, "array index is in range");
1115:       using type = _Tp;
1115:     };
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:     inline constexpr size_t tuple_size_v<array<_Tp, _Nm>> = _Nm;
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:     inline constexpr size_t tuple_size_v<const array<_Tp, _Nm>> = _Nm;
1115: 
1115: 
1115:   template<typename _Tp, size_t _Nm>
1115:     struct __is_tuple_like_impl<array<_Tp, _Nm>> : true_type
1115:     { };
1115: 
1115: 
1115: }
1115: # 64 "/usr/include/c++/12/functional" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_algo.h" 1 3
1115: # 59 "/usr/include/c++/12/bits/stl_algo.h" 3
1115: # 1 "/usr/include/c++/12/bits/algorithmfwd.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1115: # 42 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 199 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1115:   template<typename _IIter, typename _Predicate>
1115:    
1115:     bool
1115:     all_of(_IIter, _IIter, _Predicate);
1115: 
1115:   template<typename _IIter, typename _Predicate>
1115:    
1115:     bool
1115:     any_of(_IIter, _IIter, _Predicate);
1115: 
1115: 
1115:   template<typename _FIter, typename _Tp>
1115:    
1115:     bool
1115:     binary_search(_FIter, _FIter, const _Tp&);
1115: 
1115:   template<typename _FIter, typename _Tp, typename _Compare>
1115:    
1115:     bool
1115:     binary_search(_FIter, _FIter, const _Tp&, _Compare);
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     const _Tp&
1115:     clamp(const _Tp&, const _Tp&, const _Tp&);
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     const _Tp&
1115:     clamp(const _Tp&, const _Tp&, const _Tp&, _Compare);
1115: 
1115: 
1115:   template<typename _IIter, typename _OIter>
1115:    
1115:     _OIter
1115:     copy(_IIter, _IIter, _OIter);
1115: 
1115:   template<typename _BIter1, typename _BIter2>
1115:    
1115:     _BIter2
1115:     copy_backward(_BIter1, _BIter1, _BIter2);
1115: 
1115: 
1115:   template<typename _IIter, typename _OIter, typename _Predicate>
1115:    
1115:     _OIter
1115:     copy_if(_IIter, _IIter, _OIter, _Predicate);
1115: 
1115:   template<typename _IIter, typename _Size, typename _OIter>
1115:    
1115:     _OIter
1115:     copy_n(_IIter, _Size, _OIter);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _FIter, typename _Tp>
1115:    
1115:     pair<_FIter, _FIter>
1115:     equal_range(_FIter, _FIter, const _Tp&);
1115: 
1115:   template<typename _FIter, typename _Tp, typename _Compare>
1115:    
1115:     pair<_FIter, _FIter>
1115:     equal_range(_FIter, _FIter, const _Tp&, _Compare);
1115: 
1115:   template<typename _FIter, typename _Tp>
1115:    
1115:     void
1115:     fill(_FIter, _FIter, const _Tp&);
1115: 
1115:   template<typename _OIter, typename _Size, typename _Tp>
1115:    
1115:     _OIter
1115:     fill_n(_OIter, _Size, const _Tp&);
1115: 
1115: 
1115: 
1115:   template<typename _FIter1, typename _FIter2>
1115:    
1115:     _FIter1
1115:     find_end(_FIter1, _FIter1, _FIter2, _FIter2);
1115: 
1115:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1115:    
1115:     _FIter1
1115:     find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _IIter, typename _Predicate>
1115:    
1115:     _IIter
1115:     find_if_not(_IIter, _IIter, _Predicate);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _IIter1, typename _IIter2>
1115:    
1115:     bool
1115:     includes(_IIter1, _IIter1, _IIter2, _IIter2);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _Compare>
1115:    
1115:     bool
1115:     includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1115: 
1115:   template<typename _BIter>
1115:     void
1115:     inplace_merge(_BIter, _BIter, _BIter);
1115: 
1115:   template<typename _BIter, typename _Compare>
1115:     void
1115:     inplace_merge(_BIter, _BIter, _BIter, _Compare);
1115: 
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     bool
1115:     is_heap(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     bool
1115:     is_heap(_RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     _RAIter
1115:     is_heap_until(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     _RAIter
1115:     is_heap_until(_RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _IIter, typename _Predicate>
1115:    
1115:     bool
1115:     is_partitioned(_IIter, _IIter, _Predicate);
1115: 
1115:   template<typename _FIter1, typename _FIter2>
1115:    
1115:     bool
1115:     is_permutation(_FIter1, _FIter1, _FIter2);
1115: 
1115:   template<typename _FIter1, typename _FIter2,
1115:     typename _BinaryPredicate>
1115:    
1115:     bool
1115:     is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate);
1115: 
1115:   template<typename _FIter>
1115:    
1115:     bool
1115:     is_sorted(_FIter, _FIter);
1115: 
1115:   template<typename _FIter, typename _Compare>
1115:    
1115:     bool
1115:     is_sorted(_FIter, _FIter, _Compare);
1115: 
1115:   template<typename _FIter>
1115:    
1115:     _FIter
1115:     is_sorted_until(_FIter, _FIter);
1115: 
1115:   template<typename _FIter, typename _Compare>
1115:    
1115:     _FIter
1115:     is_sorted_until(_FIter, _FIter, _Compare);
1115: 
1115: 
1115:   template<typename _FIter1, typename _FIter2>
1115:    
1115:     void
1115:     iter_swap(_FIter1, _FIter2);
1115: 
1115:   template<typename _FIter, typename _Tp>
1115:    
1115:     _FIter
1115:     lower_bound(_FIter, _FIter, const _Tp&);
1115: 
1115:   template<typename _FIter, typenam)
1412:       _InIter
1412:       num_get<_CharT, _InIter>::
1412:       _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
1412:        ios_base::iostate& __err, _ValueT& __v) const
1412:       {
1412:         typedef char_traits<_CharT> __traits_type;
1412:  using __gnu_cxx::__add_unsigned;
1412:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1412:  typedef __numpunct_cache<_CharT> __cache_type;
1412:  __use_cache<__cache_type> __uc;
1412:  const locale& __loc = __io._M_getloc();
1412:  const __cache_type* __lc = __uc(__loc);
1412:  const _CharT* __lit = __lc->_M_atoms_in;
1412:  char_type __c = char_type();
1412: 
1412: 
1412:  const ios_base::fmtflags __basefield = __io.flags()
1412:                                         & ios_base::basefield;
1412:  const bool __oct = __basefield == ios_base::oct;
1412:  int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
1412: 
1412: 
1412:  bool __testeof = __beg == __end;
1412: 
1412: 
1412:  bool __negative = false;
1412:  if (!__testeof)
1412:    {
1412:      __c = *__beg;
1412:      __negative = __c == __lit[__num_base::_S_iminus];
1412:      if ((__negative || __c == __lit[__num_base::_S_iplus])
1412:   && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1412:   && !(__c == __lc->_M_decimal_point))
1412:        {
1412:   if (++__beg != __end)
1412:     __c = *__beg;
1412:   else
1412:     __testeof = true;
1412:        }
1412:    }
1412: 
1412: 
1412: 
1412:  bool __found_zero = false;
1412:  int __sep_pos = 0;
1412:  while (!__testeof)
1412:    {
1412:      if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1412:   || __c == __lc->_M_decimal_point)
1412:        break;
1412:      else if (__c == __lit[__num_base::_S_izero]
1412:        && (!__found_zero || __base == 10))
1412:        {
1412:   __found_zero = true;
1412:   ++__sep_pos;
1412:   if (__basefield == 0)
1412:     __base = 8;
1412:   if (__base == 8)
1412:     __sep_pos = 0;
1412:        }
1412:      else if (__found_zero
1412:        && (__c == __lit[__num_base::_S_ix]
1412:     || __c == __lit[__num_base::_S_iX]))
1412:        {
1412:   if (__basefield == 0)
1412:     __base = 16;
1412:   if (__base == 16)
1412:     {
1412:       __found_zero = false;
1412:       __sep_pos = 0;
1412:     }
1412:   else
1412:     break;
1412:        }
1412:      else
1412:        break;
1412: 
1412:      if (++__beg != __end)
1412:        {
1412:   __c = *__beg;
1412:   if (!__found_zero)
1412:     break;
1412:        }
1412:      else
1412:        __testeof = true;
1412:    }
1412: 
1412: 
1412: 
1412:  const size_t __len = (__base == 16 ? __num_base::_S_iend
1412:          - __num_base::_S_izero : __base);
1412: 
1412: 
1412:  typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits;
1412:  string __found_grouping;
1412:  if (__lc->_M_use_grouping)
1412:    __found_grouping.reserve(32);
1412:  bool __testfail = false;
1412:  bool __testoverflow = false;
1412:  const __unsigned_type __max =
1412:    (__negative && __num_traits::__is_signed)
1412:    ? -static_cast<__unsigned_type>(__num_traits::__min)
1412:    : __num_traits::__max;
1412:  const __unsigned_type __smax = __max / __base;
1412:  __unsigned_type __result = 0;
1412:  int __digit = 0;
1412:  const char_type* __lit_zero = __lit + __num_base::_S_izero;
1412: 
1412:  if (!__lc->_M_allocated)
1412: 
1412:    while (!__testeof)
1412:      {
1412:        __digit = _M_find(__lit_zero, __len, __c);
1412:        if (__digit == -1)
1412:   break;
1412: 
1412:        if (__result > __smax)
1412:   __testoverflow = true;
1412:        else
1412:   {
1412:     __result *= __base;
1412:     __testoverflow |= __result > __max - __digit;
1412:     __result += __digit;
1412:     ++__sep_pos;
1412:   }
1412: 
1412:        if (++__beg != __end)
1412:   __c = *__beg;
1412:        else
1412:   __testeof = true;
1412:      }
1412:  else
1412:    while (!__testeof)
1412:      {
1412: 
1412: 
1412:        if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
1412:   {
1412: 
1412: 
1412:     if (__sep_pos)
1412:       {
1412:         __found_grouping += static_cast<char>(__sep_pos);
1412:         __sep_pos = 0;
1412:       }
1412:     else
1412:       {
1412:         __testfail = true;
1412:         break;
1412:       }
1412:   }
1412:        else if (__c == __lc->_M_decimal_point)
1412:   break;
1412:        else
1412:   {
1412:     const char_type* __q =
1412:       __traits_type::find(__lit_zero, __len, __c);
1412:     if (!__q)
1412:       break;
1412: 
1412:     __digit = __q - __lit_zero;
1412:     if (__digit > 15)
1412:       __digit -= 6;
1412:     if (__result > __smax)
1412:       __testoverflow = true;
1412:     else
1412:       {
1412:         __result *= __base;
1412:         __testoverflow |= __result > __max - __digit;
1412:         __result += __digit;
1412:         ++__sep_pos;
1412:       }
1412:   }
1412: 
1412:        if (++__beg != __end)
1412:   __c = *__beg;
1412:        else
1412:   __testeof = true;
1412:      }
1412: 
1412: 
1412: 
1412:  if (__found_grouping.size())
1412:    {
1412: 
1412:      __found_grouping += static_cast<char>(__sep_pos);
1412: 
1412:      if (!std::__verify_grouping(__lc->_M_grouping,
1412:      __lc->_M_grouping_size,
1412:      __found_grouping))
1412:        __err = ios_base::failbit;
1412:    }
1412: 
1412: 
1412: 
1412:  if ((!__sep_pos && !__found_zero && !__found_grouping.size())
1412:      || __testfail)
1412:    {
1412:      __v = 0;
1412:      __err = ios_base::failbit;
1412:    }
1412:  else if (__testoverflow)
1412:    {
1412:      if (__negative && __num_traits::__is_signed)
1412:        __v = __num_traits::__min;
1412:      else
1412:        __v = __num_traits::__max;
1412:      __err = ios_base::failbit;
1412:    }
1412:  else
1412:    __v = __negative ? -__result : __result;
1412: 
1412:  if (__testeof)
1412:    __err |= ios_base::eofbit;
1412:  return __beg;
1412:       }
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _InIter>
1412:     _InIter
1412:     num_get<_CharT, _InIter>::
1412:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:            ios_base::iostate& __err, bool& __v) const
1412:     {
1412:       if (!(__io.flags() & ios_base::boolalpha))
1412:         {
1412: 
1412: 
1412: 
1412:    long __l = -1;
1412:           __beg = _M_extract_int(__beg, __end, __io, __err, __l);
1412:    if (__l == 0 || __l == 1)
1412:      __v = bool(__l);
1412:    else
1412:      {
1412: 
1412: 
1412:        __v = true;
1412:        __err = ios_base::failbit;
1412:        if (__beg == __end)
1412:   __err |= ios_base::eofbit;
1412:      }
1412:         }
1412:       else
1412:         {
1412: 
1412:    typedef __numpunct_cache<_CharT> __cache_type;
1412:    __use_cache<__cache_type> __uc;
1412:    const locale& __loc = __io._M_getloc();
1412:    const __cache_type* __lc = __uc(__loc);
1412: 
1412:    bool __testf = true;
1412:    bool __testt = true;
1412:    bool __donef = __lc->_M_falsename_size == 0;
1412:    bool __donet = __lc->_M_truename_size == 0;
1412:    bool __testeof = false;
1412:    size_t __n = 0;
1412:    while (!__donef || !__donet)
1412:      {
1412:        if (__beg == __end)
1412:   {
1412:     __testeof = true;
1412:     break;
1412:   }
1412: 
1412:        const char_type __c = *__beg;
1412: 
1412:        if (!__donef)
1412:   __testf = __c == __lc->_M_falsename[__n];
1412: 
1412:        if (!__testf && __donet)
1412:   break;
1412: 
1412:        if (!__donet)
1412:   __testt = __c == __lc->_M_truename[__n];
1412: 
1412:        if (!__testt && __donef)
1412:   break;
1412: 
1412:        if (!__testt && !__testf)
1412:   break;
1412: 
1412:        ++__n;
1412:        ++__beg;
1412: 
1412:        __donef = !__testf || __n >= __lc->_M_falsename_size;
1412:        __donet = !__testt || __n >= __lc->_M_truename_size;
1412:      }
1412:    if (__testf && __n == __lc->_M_falsename_size && __n)
1412:      {
1412:        __v = false;
1412:        if (__testt && __n == __lc->_M_truename_size)
1412:   __err = ios_base::failbit;
1412:        else
1412:   __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1412:      }
1412:    elsee _Tp, typename _Compare>
1115:    
1115:     _FIter
1115:     lower_bound(_FIter, _FIter, const _Tp&, _Compare);
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     void
1115:     make_heap(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     void
1115:     make_heap(_RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     const _Tp&
1115:     max(const _Tp&, const _Tp&);
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     const _Tp&
1115:     max(const _Tp&, const _Tp&, _Compare);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     const _Tp&
1115:     min(const _Tp&, const _Tp&);
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     const _Tp&
1115:     min(const _Tp&, const _Tp&, _Compare);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     pair<const _Tp&, const _Tp&>
1115:     minmax(const _Tp&, const _Tp&);
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     pair<const _Tp&, const _Tp&>
1115:     minmax(const _Tp&, const _Tp&, _Compare);
1115: 
1115:   template<typename _FIter>
1115:     constexpr
1115:     pair<_FIter, _FIter>
1115:     minmax_element(_FIter, _FIter);
1115: 
1115:   template<typename _FIter, typename _Compare>
1115:     constexpr
1115:     pair<_FIter, _FIter>
1115:     minmax_element(_FIter, _FIter, _Compare);
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     _Tp
1115:     min(initializer_list<_Tp>);
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     _Tp
1115:     min(initializer_list<_Tp>, _Compare);
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     _Tp
1115:     max(initializer_list<_Tp>);
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     _Tp
1115:     max(initializer_list<_Tp>, _Compare);
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     pair<_Tp, _Tp>
1115:     minmax(initializer_list<_Tp>);
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     pair<_Tp, _Tp>
1115:     minmax(initializer_list<_Tp>, _Compare);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _BIter>
1115:    
1115:     bool
1115:     next_permutation(_BIter, _BIter);
1115: 
1115:   template<typename _BIter, typename _Compare>
1115:    
1115:     bool
1115:     next_permutation(_BIter, _BIter, _Compare);
1115: 
1115: 
1115:   template<typename _IIter, typename _Predicate>
1115:    
1115:     bool
1115:     none_of(_IIter, _IIter, _Predicate);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _IIter, typename _RAIter>
1115:    
1115:     _RAIter
1115:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter);
1115: 
1115:   template<typename _IIter, typename _RAIter, typename _Compare>
1115:    
1115:     _RAIter
1115:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _IIter, typename _OIter1,
1115:     typename _OIter2, typename _Predicate>
1115:    
1115:     pair<_OIter1, _OIter2>
1115:     partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate);
1115: 
1115:   template<typename _FIter, typename _Predicate>
1115:    
1115:     _FIter
1115:     partition_point(_FIter, _FIter, _Predicate);
1115: 
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     void
1115:     pop_heap(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     void
1115:     pop_heap(_RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _BIter>
1115:    
1115:     bool
1115:     prev_permutation(_BIter, _BIter);
1115: 
1115:   template<typename _BIter, typename _Compare>
1115:    
1115:     bool
1115:     prev_permutation(_BIter, _BIter, _Compare);
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     void
1115:     push_heap(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     void
1115:     push_heap(_RAIter, _RAIter, _Compare);
1115: 
1115: 
1115: 
1115:   template<typename _FIter, typename _Tp>
1115:    
1115:     _FIter
1115:     remove(_FIter, _FIter, const _Tp&);
1115: 
1115:   template<typename _FIter, typename _Predicate>
1115:    
1115:     _FIter
1115:     remove_if(_FIter, _FIter, _Predicate);
1115: 
1115:   template<typename _IIter, typename _OIter, typename _Tp>
1115:    
1115:     _OIter
1115:     remove_copy(_IIter, _IIter, _OIter, const _Tp&);
1115: 
1115:   template<typename _IIter, typename _OIter, typename _Predicate>
1115:    
1115:     _OIter
1115:     remove_copy_if(_IIter, _IIter, _OIter, _Predicate);
1115: 
1115: 
1115: 
1115:   template<typename _IIter, typename _OIter, typename _Tp>
1115:    
1115:     _OIter
1115:     replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&);
1115: 
1115:   template<typename _Iter, typename _OIter, typename _Predicate, typename _Tp>
1115:    
1115:     _OIter
1115:     replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&);
1115: 
1115: 
1115: 
1115:   template<typename _BIter>
1115:    
1115:     void
1115:     reverse(_BIter, _BIter);
1115: 
1115:   template<typename _BIter, typename _OIter>
1115:    
1115:     _OIter
1115:     reverse_copy(_BIter, _BIter, _OIter);
1115: 
1115:   inline namespace _V2
1115:   {
1115:     template<typename _FIter>
1115:      
1115:       _FIter
1115:       rotate(_FIter, _FIter, _FIter);
1115:   }
1115: 
1115:   template<typename _FIter, typename _OIter>
1115:    
1115:     _OIter
1115:     rotate_copy(_FIter, _FIter, _FIter, _OIter);
1115: # 625 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1115:   template<typename _RAIter, typename _UGenerator>
1115:     void
1115:     shuffle(_RAIter, _RAIter, _UGenerator&&);
1115: 
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     void
1115:     sort_heap(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     void
1115:     sort_heap(_RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _BIter, typename _Predicate>
1115:     _BIter
1115:     stable_partition(_BIter, _BIter, _Predicate);
1115: # 658 "/usr/include/c++/12/bits/algorithmfwd.h" 3
1115:   template<typename _FIter1, typename _FIter2>
1115:    
1115:     _FIter2
1115:     swap_ranges(_FIter1, _FIter1, _FIter2);
1115: 
1115: 
1115: 
1115:   template<typename _FIter>
1115:    
1115:     _FIter
1115:     unique(_FIter, _FIter);
1115: 
1115:   template<typename _FIter, typename _BinaryPredicate>
1115:    
1115:     _FIter
1115:     unique(_FIter, _FIter, _BinaryPredicate);
1115: 
1115: 
1115: 
1115:   template<typename _FIter, typename _Tp>
1115:    
1115:     _FIter
1115:     upper_bound(_FIter, _FIter, const _Tp&);
1115: 
1115:   template<typename _FIter, typename _Tp, typename _Compare>
1115:    
1115:     _FIter
1115:     upper_bound(_FIter, _FIter, const _Tp&, _Compare);
1115: 
1115: 
1115: 
1115:   template<typename _FIter>
1115:    
1115:     _FIter
1115:     adjacent_find(_FIter, _FIter);
1115: 
1115:   template<typename _FIter, typename _BinaryPredicate>
1115:    
1115:     _FIter
1115:     adjacent_find(_FIter, _FIter, _BinaryPredicate);
1115: 
1115:   template<typename _IIter, typename _Tp>
1115:    
1115:     typename iterator_traits<_IIter>::difference_type
1115:     count(_IIter, _IIter, const _Tp&);
1115: 
1115:   template<typename _IIter, typename _Predicate>
1115:    
1115:     typename iterator_traits<_IIter>::difference_type
1115:     count_if(_IIter, _IIter, _Predicate);
1115: 
1115:   template<typename _IIter1, typename _IIter2>
1115:    
1115:     bool
1115:     equal(_IIter1, _IIter1, _IIter2);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1115:    
1115:     bool
1115:     equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1115: 
1115:   template<typename _IIter, typename _Tp>
1115:    
1115:     _IIter
1115:     find(_IIter, _IIter, const _Tp&);
1115: 
1115:   template<typename _FIter1, typename _FIter2>
1115:    
1115:    if (__testt && __n == __lc->_M_truename_size && __n)
1412:      {
1412:        __v = true;
1412:        __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
1412:      }
1412:    else
1412:      {
1412: 
1412: 
1412:        __v = false;
1412:        __err = ios_base::failbit;
1412:        if (__testeof)
1412:   __err |= ios_base::eofbit;
1412:      }
1412:  }
1412:       return __beg;
1412:     }
1412: 
1412:   template<typename _CharT, typename _InIter>
1412:     _InIter
1412:     num_get<_CharT, _InIter>::
1412:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:     ios_base::iostate& __err, float& __v) const
1412:     {
1412:       string __xtrc;
1412:       __xtrc.reserve(32);
1412:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1412:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1412:       if (__beg == __end)
1412:  __err |= ios_base::eofbit;
1412:       return __beg;
1412:     }
1412: 
1412:   template<typename _CharT, typename _InIter>
1412:     _InIter
1412:     num_get<_CharT, _InIter>::
1412:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:            ios_base::iostate& __err, double& __v) const
1412:     {
1412:       string __xtrc;
1412:       __xtrc.reserve(32);
1412:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1412:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1412:       if (__beg == __end)
1412:  __err |= ios_base::eofbit;
1412:       return __beg;
1412:     }
1412: # 735 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:   template<typename _CharT, typename _InIter>
1412:     _InIter
1412:     num_get<_CharT, _InIter>::
1412:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:            ios_base::iostate& __err, long double& __v) const
1412:     {
1412:       string __xtrc;
1412:       __xtrc.reserve(32);
1412:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
1412:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
1412:       if (__beg == __end)
1412:  __err |= ios_base::eofbit;
1412:       return __beg;
1412:     }
1412: 
1412:   template<typename _CharT, typename _InIter>
1412:     _InIter
1412:     num_get<_CharT, _InIter>::
1412:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
1412:            ios_base::iostate& __err, void*& __v) const
1412:     {
1412: 
1412:       typedef ios_base::fmtflags fmtflags;
1412:       const fmtflags __fmt = __io.flags();
1412:       __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex);
1412: 
1412:       typedef __gnu_cxx::__conditional_type<(sizeof(void*)
1412:           <= sizeof(unsigned long)),
1412:  unsigned long, unsigned long long>::__type _UIntPtrType;
1412: 
1412:       _UIntPtrType __ul;
1412:       __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
1412: 
1412: 
1412:       __io.flags(__fmt);
1412: 
1412:       __v = reinterpret_cast<void*>(__ul);
1412:       return __beg;
1412:     }
1412: # 795 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:   template<typename _CharT, typename _OutIter>
1412:     void
1412:     num_put<_CharT, _OutIter>::
1412:     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
1412:     _CharT* __new, const _CharT* __cs, int& __len) const
1412:     {
1412: 
1412: 
1412:       __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new,
1412:         __cs, __w, __len);
1412:       __len = static_cast<int>(__w);
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _ValueT>
1412:     int
1412:     __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
1412:     ios_base::fmtflags __flags, bool __dec)
1412:     {
1412:       _CharT* __buf = __bufend;
1412:       if (__builtin_expect(__dec, true))
1412:  {
1412: 
1412:    do
1412:      {
1412:        *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
1412:        __v /= 10;
1412:      }
1412:    while (__v != 0);
1412:  }
1412:       else if ((__flags & ios_base::basefield) == ios_base::oct)
1412:  {
1412: 
1412:    do
1412:      {
1412:        *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
1412:        __v >>= 3;
1412:      }
1412:    while (__v != 0);
1412:  }
1412:       else
1412:  {
1412: 
1412:    const bool __uppercase = __flags & ios_base::uppercase;
1412:    const int __case_offset = __uppercase ? __num_base::_S_oudigits
1412:                                          : __num_base::_S_odigits;
1412:    do
1412:      {
1412:        *--__buf = __lit[(__v & 0xf) + __case_offset];
1412:        __v >>= 4;
1412:      }
1412:    while (__v != 0);
1412:  }
1412:       return __bufend - __buf;
1412:     }
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _OutIter>
1412:     void
1412:     num_put<_CharT, _OutIter>::
1412:     _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
1412:    ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
1412:     {
1412:       _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
1412:      __grouping_size, __cs, __cs + __len);
1412:       __len = __p - __new;
1412:     }
1412: 
1412:   template<typename _CharT, typename _OutIter>
1412:     template<typename _ValueT>
1412:       _OutIter
1412:       num_put<_CharT, _OutIter>::
1412:       _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
1412:       _ValueT __v) const
1412:       {
1412:  using __gnu_cxx::__add_unsigned;
1412:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
1412:  typedef __numpunct_cache<_CharT> __cache_type;
1412:  __use_cache<__cache_type> __uc;
1412:  const locale& __loc = __io._M_getloc();
1412:  const __cache_type* __lc = __uc(__loc);
1412:  const _CharT* __lit = __lc->_M_atoms_out;
1412:  const ios_base::fmtflags __flags = __io.flags();
1412: 
1412: 
1412:  const int __ilen = 5 * sizeof(_ValueT);
1412:  _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:             * __ilen));
1412: 
1412: 
1412: 
1412:  const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
1412:  const bool __dec = (__basefield != ios_base::oct
1412:        && __basefield != ios_base::hex);
1412:  const __unsigned_type __u = ((__v > 0 || !__dec)
1412:          ? __unsigned_type(__v)
1412:          : -__unsigned_type(__v));
1412:   int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
1412:  __cs += __ilen - __len;
1412: 
1412: 
1412:  if (__lc->_M_use_grouping)
1412:    {
1412: 
1412: 
1412:      _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:           * (__len + 1)
1412:           * 2));
1412:      _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
1412:     __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
1412:      __cs = __cs2 + 2;
1412:    }
1412: 
1412: 
1412:  if (__builtin_expect(__dec, true))
1412:    {
1412: 
1412:      if (__v >= 0)
1412:        {
1412:   if (bool(__flags & ios_base::showpos)
1412:       && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
1412:     *--__cs = __lit[__num_base::_S_oplus], ++__len;
1412:        }
1412:      else
1412:        *--__cs = __lit[__num_base::_S_ominus], ++__len;
1412:    }
1412:  else if (bool(__flags & ios_base::showbase) && __v)
1412:    {
1412:      if (__basefield == ios_base::oct)
1412:        *--__cs = __lit[__num_base::_S_odigits], ++__len;
1412:      else
1412:        {
1412: 
1412:   const bool __uppercase = __flags & ios_base::uppercase;
1412:   *--__cs = __lit[__num_base::_S_ox + __uppercase];
1412: 
1412:   *--__cs = __lit[__num_base::_S_odigits];
1412:   __len += 2;
1412:        }
1412:    }
1412: 
1412: 
1412:  const streamsize __w = __io.width();
1412:  if (__w > static_cast<streamsize>(__len))
1412:    {
1412:      _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:           * __w));
1412:      _M_pad(__fill, __w, __io, __cs3, __cs, __len);
1412:      __cs = __cs3;
1412:    }
1412:  __io.width(0);
1412: 
1412: 
1412: 
1412:  return std::__write(__s, __cs, __len);
1412:       }
1412: 
1412:   template<typename _CharT, typename _OutIter>
1412:     void
1412:     num_put<_CharT, _OutIter>::
14  _FIter1
1115:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2);
1115: 
1115:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1115:    
1115:     _FIter1
1115:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1115: 
1115:   template<typename _IIter, typename _Predicate>
1115:    
1115:     _IIter
1115:     find_if(_IIter, _IIter, _Predicate);
1115: 
1115:   template<typename _IIter, typename _Funct>
1115:    
1115:     _Funct
1115:     for_each(_IIter, _IIter, _Funct);
1115: 
1115:   template<typename _FIter, typename _Generator>
1115:    
1115:     void
1115:     generate(_FIter, _FIter, _Generator);
1115: 
1115:   template<typename _OIter, typename _Size, typename _Generator>
1115:    
1115:     _OIter
1115:     generate_n(_OIter, _Size, _Generator);
1115: 
1115:   template<typename _IIter1, typename _IIter2>
1115:    
1115:     bool
1115:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _Compare>
1115:    
1115:     bool
1115:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
1115: 
1115:   template<typename _FIter>
1115:     constexpr
1115:     _FIter
1115:     max_element(_FIter, _FIter);
1115: 
1115:   template<typename _FIter, typename _Compare>
1115:     constexpr
1115:     _FIter
1115:     max_element(_FIter, _FIter, _Compare);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter>
1115:    
1115:     _OIter
1115:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter,
1115:     typename _Compare>
1115:    
1115:     _OIter
1115:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1115: 
1115:   template<typename _FIter>
1115:     constexpr
1115:     _FIter
1115:     min_element(_FIter, _FIter);
1115: 
1115:   template<typename _FIter, typename _Compare>
1115:     constexpr
1115:     _FIter
1115:     min_element(_FIter, _FIter, _Compare);
1115: 
1115:   template<typename _IIter1, typename _IIter2>
1115:    
1115:     pair<_IIter1, _IIter2>
1115:     mismatch(_IIter1, _IIter1, _IIter2);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
1115:    
1115:     pair<_IIter1, _IIter2>
1115:     mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     void
1115:     nth_element(_RAIter, _RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     void
1115:     nth_element(_RAIter, _RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     void
1115:     partial_sort(_RAIter, _RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     void
1115:     partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _BIter, typename _Predicate>
1115:    
1115:     _BIter
1115:     partition(_BIter, _BIter, _Predicate);
1115: 
1115:   template<typename _RAIter>
1115:     void
1115:     random_shuffle(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Generator>
1115:     void
1115:     random_shuffle(_RAIter, _RAIter,
1115: 
1115:      _Generator&&);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _FIter, typename _Tp>
1115:    
1115:     void
1115:     replace(_FIter, _FIter, const _Tp&, const _Tp&);
1115: 
1115:   template<typename _FIter, typename _Predicate, typename _Tp>
1115:    
1115:     void
1115:     replace_if(_FIter, _FIter, _Predicate, const _Tp&);
1115: 
1115:   template<typename _FIter1, typename _FIter2>
1115:    
1115:     _FIter1
1115:     search(_FIter1, _FIter1, _FIter2, _FIter2);
1115: 
1115:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
1115:    
1115:     _FIter1
1115:     search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
1115: 
1115:   template<typename _FIter, typename _Size, typename _Tp>
1115:    
1115:     _FIter
1115:     search_n(_FIter, _FIter, _Size, const _Tp&);
1115: 
1115:   template<typename _FIter, typename _Size, typename _Tp,
1115:     typename _BinaryPredicate>
1115:    
1115:     _FIter
1115:     search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter>
1115:    
1115:     _OIter
1115:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter,
1115:     typename _Compare>
1115:    
1115:     _OIter
1115:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter>
1115:    
1115:     _OIter
1115:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter,
1115:     typename _Compare>
1115:    
1115:     _OIter
1115:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter>
1115:    
1115:     _OIter
1115:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter,
1115:     typename _Compare>
1115:    
1115:     _OIter
1115:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2,
1115:         _OIter, _Compare);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter>
1115:    
1115:     _OIter
1115:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter,
1115:     typename _Compare>
1115:    
1115:     _OIter
1115:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
1115: 
1115:   template<typename _RAIter>
1115:    
1115:     void
1115:     sort(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:    
1115:     void
1115:     sort(_RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _RAIter>
1115:     void
1115:     stable_sort(_RAIter, _RAIter);
1115: 
1115:   template<typename _RAIter, typename _Compare>
1115:     void
1115:     stable_sort(_RAIter, _RAIter, _Compare);
1115: 
1115:   template<typename _IIter, typename _OIter, typename _UnaryOperation>
1115:    
1115:     _OIter
1115:     transform(_IIter, _IIter, _OIter, _UnaryOperation);
1115: 
1115:   template<typename _IIter1, typename _IIter2, typename _OIter,
1115:     typename _BinaryOperation>
1115:    
1115:     _OIter
1115:     transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation);
1115: 
1115:   template<typename _IIter, typename _OIter>
1115:    
1115:     _OIter
1115:     unique_copy(_IIter, _IIter, _OIter);
1115: 
1115:   template<typename _IIter, typename _OIter, typename _BinaryPredicate>
1115:    
1115:     _OIter
1115:     unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
1115: 
1115: 
1115: 
1115: }
1115: # 60 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1115: # 1 "/usr/include/c++/12/bits/stl_heap.h" 1 3
1115: # 63 "/usr/include/c++/12/bits/stl_heap.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Distance,
1115:     typename _Compare>
1115:    
1115:     _Distance
1115:     __is_heap_until(_RandomAccessIterator __first, _Distance __n,
1115:       _Compare& __comp)
1115:     {
1115:       _Distance __parent = 0;
1115:       for (_Distance __child = 1; __child < __n; ++__child)
1115:  {
1115:    if (__comp(__first + __parent, __first + __child))
1115:      return __child;
1115:    if ((__child & 1) == 0)
1115:      ++__parent;
1115:  }
1115:       return __n;
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Distance>
1115:    
1115:     inline bool
1115:     __is_heap(_RandomAccessIterator __first, _Distance __n)
1115:     {
1115:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1115:       return std::__i12:     _M_group_float(const char* __grouping, size_t __grouping_size,
1412:      _CharT __sep, const _CharT* __p, _CharT* __new,
1412:      _CharT* __cs, int& __len) const
1412:     {
1412: 
1412: 
1412: 
1412:       const int __declen = __p ? __p - __cs : __len;
1412:       _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
1412:       __grouping_size,
1412:       __cs, __cs + __declen);
1412: 
1412: 
1412:       int __newlen = __p2 - __new;
1412:       if (__p)
1412:  {
1412:    char_traits<_CharT>::copy(__p2, __p, __len - __declen);
1412:    __newlen += __len - __declen;
1412:  }
1412:       __len = __newlen;
1412:     }
1412: # 989 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:   template<typename _CharT, typename _OutIter>
1412:     template<typename _ValueT>
1412:       _OutIter
1412:       num_put<_CharT, _OutIter>::
1412:       _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
1412:          _ValueT __v) const
1412:       {
1412:  typedef __numpunct_cache<_CharT> __cache_type;
1412:  __use_cache<__cache_type> __uc;
1412:  const locale& __loc = __io._M_getloc();
1412:  const __cache_type* __lc = __uc(__loc);
1412: 
1412: 
1412:  const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
1412: 
1412:  const int __max_digits =
1412:    __gnu_cxx::__numeric_traits<_ValueT>::__digits10;
1412: 
1412: 
1412:  int __len;
1412: 
1412:  char __fbuf[16];
1412:  __num_base::_S_format_float(__io, __fbuf, __mod);
1412: 
1412: 
1412: 
1412:  const bool __use_prec =
1412:    (__io.flags() & ios_base::floatfield) != ios_base::floatfield;
1412: 
1412: 
1412: 
1412:  int __cs_size = __max_digits * 3;
1412:  char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1412:  if (__use_prec)
1412:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1412:      __fbuf, __prec, __v);
1412:  else
1412:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1412:      __fbuf, __v);
1412: 
1412: 
1412:  if (__len >= __cs_size)
1412:    {
1412:      __cs_size = __len + 1;
1412:      __cs = static_cast<char*>(__builtin_alloca(__cs_size));
1412:      if (__use_prec)
1412:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1412:          __fbuf, __prec, __v);
1412:      else
1412:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
1412:          __fbuf, __v);
1412:    }
1412: # 1062 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1412: 
1412:  _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:             * __len));
1412:  __ctype.widen(__cs, __cs + __len, __ws);
1412: 
1412: 
1412:  _CharT* __wp = 0;
1412:  const char* __p = char_traits<char>::find(__cs, __len, '.');
1412:  if (__p)
1412:    {
1412:      __wp = __ws + (__p - __cs);
1412:      *__wp = __lc->_M_decimal_point;
1412:    }
1412: 
1412: 
1412: 
1412: 
1412:  if (__lc->_M_use_grouping
1412:      && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
1412:           && __cs[1] >= '0' && __cs[2] >= '0')))
1412:    {
1412: 
1412: 
1412:      _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:           * __len * 2));
1412: 
1412:      streamsize __off = 0;
1412:      if (__cs[0] == '-' || __cs[0] == '+')
1412:        {
1412:   __off = 1;
1412:   __ws2[0] = __ws[0];
1412:   __len -= 1;
1412:        }
1412: 
1412:      _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
1412:       __lc->_M_thousands_sep, __wp, __ws2 + __off,
1412:       __ws + __off, __len);
1412:      __len += __off;
1412: 
1412:      __ws = __ws2;
1412:    }
1412: 
1412: 
1412:  const streamsize __w = __io.width();
1412:  if (__w > static_cast<streamsize>(__len))
1412:    {
1412:      _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:           * __w));
1412:      _M_pad(__fill, __w, __io, __ws3, __ws, __len);
1412:      __ws = __ws3;
1412:    }
1412:  __io.width(0);
1412: 
1412: 
1412: 
1412:  return std::__write(__s, __ws, __len);
1412:       }
1412: 
1412:   template<typename _CharT, typename _OutIter>
1412:     _OutIter
1412:     num_put<_CharT, _OutIter>::
1412:     do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
1412:     {
1412:       const ios_base::fmtflags __flags = __io.flags();
1412:       if ((__flags & ios_base::boolalpha) == 0)
1412:         {
1412:           const long __l = __v;
1412:           __s = _M_insert_int(__s, __io, __fill, __l);
1412:         }
1412:       else
1412:         {
1412:    typedef __numpunct_cache<_CharT> __cache_type;
1412:    __use_cache<__cache_type> __uc;
1412:    const locale& __loc = __io._M_getloc();
1412:    const __cache_type* __lc = __uc(__loc);
1412: 
1412:    const _CharT* __name = __v ? __lc->_M_truename
1412:                               : __lc->_M_falsename;
1412:    int __len = __v ? __lc->_M_truename_size
1412:                    : __lc->_M_falsename_size;
1412: 
1412:    const streamsize __w = __io.width();
1412:    if (__w > static_cast<streamsize>(__len))
1412:      {
1412:        const streamsize __plen = __w - __len;
1412:        _CharT* __ps
1412:   = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
1412:        * __plen));
1412: 
1412:        char_traits<_CharT>::assign(__ps, __plen, __fill);
1412:        __io.width(0);
1412: 
1412:        if ((__flags & ios_base::adjustfield) == ios_base::left)
1412:   {
1412:     __s = std::__write(__s, __name, __len);
1412:     __s = std::__write(__s, __ps, __plen);
1412:   }
1412:        else
1412:   {
1412:     __s = std::__write(__s, __ps, __plen);
1412:     __s = std::__write(__s, __name, __len);
1412:   }
1412:        return __s;
1412:      }
1412:    __io.width(0);
1412:    __s = std::__write(__s, __name, __len);
1412:  }
1412:       return __s;
1412:     }
1412: 
1412:   template<typename _CharT, typename _OutIter>
1412:     _OutIter
1412:     num_put<_CharT, _OutIter>::
1412:     do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
1412:     { return _M_insert_float(__s, __io, __fill, char(), __v); }
1412: # 1187 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:   template<typename _CharT, typename _OutIter>
1412:     _OutIter
1412:     num_put<_CharT, _OutIter>::
1412:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1412:     long double __v) const
1412:     { return _M_insert_float(__s, __io, __fill, 'L', __v); }
1412: 
1412:   template<typename _CharT, typename _OutIter>
1412:     _OutIter
1412:     num_put<_CharT, _OutIter>::
1412:     do_put(iter_type __s, ios_base& __io, char_type __fill,
1412:            const void* __v) const
1412:     {
1412:       const ios_base::fmtflags __flags = __io.flags();
1412:       const ios_base::fmtflags __fmt = ~(ios_base::basefield
1412:       | ios_base::uppercase);
1412:       __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase));
1412: 
1412:       typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
1412:           <= sizeof(unsigned long)),
1412:  unsigned long, unsigned long long>::__type _UIntPtrType;
1412: 
1412:       __s = _M_insert_int(__s, __io, __fill,
1412:      reinterpret_cast<_UIntPtrType>(__v));
1412:       __io.flags(__flags);
1412:       return __s;
1412:     }
1412: # 1224 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412: 
1412: # 1233 "/usr/include/c++/12/bits/locale_facets.tcc" 3
1412:   template<typename _CharT, typename _Traits>
1412:     void
1412:     __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
1412:        _CharT* __news, const _CharT* __olds,
1412:        streamsize __newlen, streamsize __oldlen)
1412:     {
1412:       const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
1412:       const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
1412: 
1412: 
1412:       if (__adjust == ios_base::left)
1412:  {
1412:    _Traits::copy(__news, __olds, __oldlen);
1412:    _Traits::assign(__news + __oldlen, __plen, __fill);
1412:    return;
1412:  }
1412: 
1412:       size_t __mod = 0;
1412:       if (__adjust == ios_base::internal)
1412:  {
1412: 
1412: 
1412: 
s_heap_until(__first, __n, __comp) == __n;
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare,
1115:     typename _Distance>
1115:    
1115:     inline bool
1115:     __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n)
1115:     {
1115:       typedef __decltype(__comp) _Cmp;
1115:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1115:       return std::__is_heap_until(__first, __n, __cmp) == __n;
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline bool
1115:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     { return std::__is_heap(__first, std::distance(__first, __last)); }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline bool
1115:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:        _Compare __comp)
1115:     {
1115:       return std::__is_heap(__first, std::move(__comp),
1115:        std::distance(__first, __last));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
1115:     typename _Compare>
1115:    
1115:     void
1115:     __push_heap(_RandomAccessIterator __first,
1115:   _Distance __holeIndex, _Distance __topIndex, _Tp __value,
1115:   _Compare& __comp)
1115:     {
1115:       _Distance __parent = (__holeIndex - 1) / 2;
1115:       while (__holeIndex > __topIndex && __comp(__first + __parent, __value))
1115:  {
1115:    *(__first + __holeIndex) = std::move(*(__first + __parent));
1115:    __holeIndex = __parent;
1115:    __parent = (__holeIndex - 1) / 2;
1115:  }
1115:       *(__first + __holeIndex) = std::move(__value);
1115:     }
1115: # 159 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline void
1115:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1115:    _ValueType;
1115:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:    _DistanceType;
1115: 
1115: 
1115:      
1115: 
1115:      
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       __gnu_cxx::__ops::_Iter_less_val __comp;
1115:       _ValueType __value = std::move(*(__last - 1));
1115:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1115:          _DistanceType(0), std::move(__value), __comp);
1115:     }
1115: # 195 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:        _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1115:    _ValueType;
1115:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:    _DistanceType;
1115: 
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
1115:  __cmp(std::move(__comp));
1115:       _ValueType __value = std::move(*(__last - 1));
1115:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
1115:          _DistanceType(0), std::move(__value), __cmp);
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Distance,
1115:     typename _Tp, typename _Compare>
1115:    
1115:     void
1115:     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
1115:     _Distance __len, _Tp __value, _Compare __comp)
1115:     {
1115:       const _Distance __topIndex = __holeIndex;
1115:       _Distance __secondChild = __holeIndex;
1115:       while (__secondChild < (__len - 1) / 2)
1115:  {
1115:    __secondChild = 2 * (__secondChild + 1);
1115:    if (__comp(__first + __secondChild,
1115:        __first + (__secondChild - 1)))
1115:      __secondChild--;
1115:    *(__first + __holeIndex) = std::move(*(__first + __secondChild));
1115:    __holeIndex = __secondChild;
1115:  }
1115:       if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2)
1115:  {
1115:    __secondChild = 2 * (__secondChild + 1);
1115:    *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1)))
1115:                                   ;
1115:    __holeIndex = __secondChild - 1;
1115:  }
1115:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
1115:  __cmp(std::move(__comp));
1115:       std::__push_heap(__first, __holeIndex, __topIndex,
1115:          std::move(__value), __cmp);
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:         _RandomAccessIterator __result, _Compare& __comp)
1115:     {
1115:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1115:  _ValueType;
1115:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:  _DistanceType;
1115: 
1115:       _ValueType __value = std::move(*__result);
1115:       *__result = std::move(*__first);
1115:       std::__adjust_heap(__first, _DistanceType(0),
1115:     _DistanceType(__last - __first),
1115:     std::move(__value), __comp);
1115:     }
1115: # 280 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline void
1115:     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       if (__last - __first > 1)
1115:  {
1115:    --__last;
1115:    __gnu_cxx::__ops::_Iter_less_iter __comp;
1115:    std::__pop_heap(__first, __last, __last, __comp);
1115:  }
1115:     }
1115: # 314 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     pop_heap(_RandomAccessIterator __first,
1115:       _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       if (__last - __first > 1)
1115:  {
1115:    typedef __decltype(__comp) _Cmp;
1115:    __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1115:    --__last;
1115:    std::__pop_heap(__first, __last, __last, __cmp);
1115:  }
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     void
1115:     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:   _Compare& __comp)
1115:     {
1115:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1115:    _ValueType;
1115:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:    _DistanceType;
1115: 
1115:       if (__last - __first < 2)
1115:  return;
1115: 
1115:       const _DistanceType __len = __last - __first;
1115:       _DistanceType __parent = (__len - 2) / 2;
1115:       while (true)
1115:  {
1115:    _ValueType __value = std::move(*(__first + __parent));
1115:    std::__adjust_heap(__first, __parent, __len, std::move(__value),
1115:         __comp);
1115:    if (__parent == 0)
1115:      return;
1115:    __parent--;
1115:  }
1115:     }
1115: # 372 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline void
1115:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1115:       std::__make_heap(__first, __last, __comp);
1115:     }
1115: # 399 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:        1412:           const locale& __loc = __io._M_getloc();
1412:    const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
1412: 
1412:    if (__ctype.widen('-') == __olds[0]
1412:        || __ctype.widen('+') == __olds[0])
1412:      {
1412:        __news[0] = __olds[0];
1412:        __mod = 1;
1412:        ++__news;
1412:      }
1412:    else if (__ctype.widen('0') == __olds[0]
1412:      && __oldlen > 1
1412:      && (__ctype.widen('x') == __olds[1]
1412:          || __ctype.widen('X') == __olds[1]))
1412:      {
1412:        __news[0] = __olds[0];
1412:        __news[1] = __olds[1];
1412:        __mod = 2;
1412:        __news += 2;
1412:      }
1412: 
1412:  }
1412:       _Traits::assign(__news, __plen, __fill);
1412:       _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
1412:     }
1412: 
1412:   template<typename _CharT>
1412:     _CharT*
1412:     __add_grouping(_CharT* __s, _CharT __sep,
1412:      const char* __gbeg, size_t __gsize,
1412:      const _CharT* __first, const _CharT* __last)
1412:     {
1412:       size_t __idx = 0;
1412:       size_t __ctr = 0;
1412: 
1412:       while (__last - __first > __gbeg[__idx]
1412:       && static_cast<signed char>(__gbeg[__idx]) > 0
1412:       && __gbeg[__idx] != __gnu_cxx::__numeric_traits<char>::__max)
1412:  {
1412:    __last -= __gbeg[__idx];
1412:    __idx < __gsize - 1 ? ++__idx : ++__ctr;
1412:  }
1412: 
1412:       while (__first != __last)
1412:  *__s++ = *__first++;
1412: 
1412:       while (__ctr--)
1412:  {
1412:    *__s++ = __sep;
1412:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1412:      *__s++ = *__first++;
1412:  }
1412: 
1412:       while (__idx--)
1412:  {
1412:    *__s++ = __sep;
1412:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
1412:      *__s++ = *__first++;
1412:  }
1412: 
1412:       return __s;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template class __cxx11:: numpunct<char>;
1412:   extern template class __cxx11:: numpunct_byname<char>;
1412:   extern template class num_get<char>;
1412:   extern template class num_put<char>;
1412:   extern template class ctype_byname<char>;
1412: 
1412:   extern template
1412:     const ctype<char>&
1412:     use_facet<ctype<char> >(const locale&);
1412: 
1412:   extern template
1412:     const numpunct<char>&
1412:     use_facet<numpunct<char> >(const locale&);
1412: 
1412:   extern template
1412:     const num_put<char>&
1412:     use_facet<num_put<char> >(const locale&);
1412: 
1412:   extern template
1412:     const num_get<char>&
1412:     use_facet<num_get<char> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<ctype<char> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<numpunct<char> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<num_put<char> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<num_get<char> >(const locale&);
1412: 
1412: 
1412:   extern template class __cxx11:: numpunct<wchar_t>;
1412:   extern template class __cxx11:: numpunct_byname<wchar_t>;
1412:   extern template class num_get<wchar_t>;
1412:   extern template class num_put<wchar_t>;
1412:   extern template class ctype_byname<wchar_t>;
1412: 
1412:   extern template
1412:     const ctype<wchar_t>&
1412:     use_facet<ctype<wchar_t> >(const locale&);
1412: 
1412:   extern template
1412:     const numpunct<wchar_t>&
1412:     use_facet<numpunct<wchar_t> >(const locale&);
1412: 
1412:   extern template
1412:     const num_put<wchar_t>&
1412:     use_facet<num_put<wchar_t> >(const locale&);
1412: 
1412:   extern template
1412:     const num_get<wchar_t>&
1412:     use_facet<num_get<wchar_t> >(const locale&);
1412: 
1412:  extern template
1412:     bool
1412:     has_facet<ctype<wchar_t> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<numpunct<wchar_t> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<num_put<wchar_t> >(const locale&);
1412: 
1412:   extern template
1412:     bool
1412:     has_facet<num_get<wchar_t> >(const locale&);
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 2688 "/usr/include/c++/12/bits/locale_facets.h" 2 3
1412: # 38 "/usr/include/c++/12/bits/basic_ios.h" 2 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _Facet>
1412:     inline const _Facet&
1412:     __check_facet(const _Facet* __f)
1412:     {
1412:       if (!__f)
1412:  __throw_bad_cast();
1412:       return *__f;
1412:     }
1412: # 66 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:   template<typename _CharT, typename _Traits>
1412:     class basic_ios : public ios_base
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef typename _Traits::int_type int_type;
1412:       typedef typename _Traits::pos_type pos_type;
1412:       typedef typename _Traits::off_type off_type;
1412:       typedef _Traits traits_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef ctype<_CharT> __ctype_type;
1412:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1412:            __num_put_type;
1412:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1412:            __num_get_type;
1412: 
1412: 
1412: 
1412:     protected:
1412:       basic_ostream<_CharT, _Traits>* _M_tie;
1412:       mutable char_type _M_fill;
1412:       mutable bool _M_fill_init;
1412:       basic_streambuf<_CharT, _Traits>* _M_streambuf;
1412: 
1412: 
1412:       const __ctype_type* _M_ctype;
1412: 
1412:       const __num_put_type* _M_num_put;
1412: 
1412:       const __num_get_type* _M_num_get;
1412: 
1412:     public:
1412: # 117 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       explicit operator bool() const
1412:       { return !this->fail(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       bool
1412:       operator!() const
1412:       { return this->fail(); }
1412: # 136 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       iostate
1412:       rdstate() const
1412:       { return _M_streambuf_state; }
1412: # 147 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       void
1412:       clear(iostate __state = goodbit);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       setstate(iostate __state)
1412:       { this->clear(this->rdstate() | __state); }
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_setstate(iostate __state)
1412:       {
1412: 
1412: 
1412:  _M_streambuf_state |= __state;
1412:  if (this->exceptions() & __state)
1412:    throw;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       bool
1412:       good() const
1412:       { return this->rdstate() == 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       bool
1412:       eof() const
1412:       { return (this->rdstate() & eofbit) != 0; }
1412: # 200 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       bool
1412:       fail() const
1412:       { return (this->rdstate() & (badbit | failbit)) != 0; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       bool
1412:       bad() const
1412:       { return (this->rdstate() & badbit) != 0; }
1412: # 221 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       iostate
1412:       exceptions() const
1412:       { return _M_exception; }
1412: # 256 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       void
1412:       exceptions(iostate __except)
1412:       {
1412:         _M_exception = __except;
1412:         this->clear(_M_streambuf_state);
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
1412:       : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
1412:  _M_ctype(0), _M_num_put(0), _M_num_get(0)
1412:       { this->init(__sb); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       virtual
1412:       ~basic_ios() { }
1412: # 294 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       basic_ostream<_CharT, _Traits>*
1412:       tie() const
1412:    _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       typedef __decltype(__comp) _Cmp;
1115:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1115:       std::__make_heap(__first, __last, __cmp);
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     void
1115:     __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:   _Compare& __comp)
1115:     {
1115:       while (__last - __first > 1)
1115:  {
1115:    --__last;
1115:    std::__pop_heap(__first, __last, __last, __comp);
1115:  }
1115:     }
1115: # 437 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline void
1115:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1115:       std::__sort_heap(__first, __last, __comp);
1115:     }
1115: # 465 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:        _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       typedef __decltype(__comp) _Cmp;
1115:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1115:       std::__sort_heap(__first, __last, __cmp);
1115:     }
1115: # 494 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline _RandomAccessIterator
1115:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       __gnu_cxx::__ops::_Iter_less_iter __comp;
1115:       return __first +
1115:  std::__is_heap_until(__first, std::distance(__first, __last), __comp);
1115:     }
1115: # 523 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline _RandomAccessIterator
1115:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:     _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       typedef __decltype(__comp) _Cmp;
1115:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1115:       return __first
1115:  + std::__is_heap_until(__first, std::distance(__first, __last), __cmp);
1115:     }
1115: # 548 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline bool
1115:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     { return std::is_heap_until(__first, __last) == __last; }
1115: # 562 "/usr/include/c++/12/bits/stl_heap.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline bool
1115:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:      _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       const auto __dist = std::distance(__first, __last);
1115:       typedef __decltype(__comp) _Cmp;
1115:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
1115:       return std::__is_heap_until(__first, __dist, __cmp) == __dist;
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: # 61 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/uniform_int_dist.h" 1 3
1115: # 41 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 58 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1115:   namespace __detail
1115:   {
1115: 
1115: 
1115: 
1115:     template<typename _Tp>
1115:       constexpr bool
1115:       _Power_of_2(_Tp __x)
1115:       {
1115:  return ((__x - 1) & __x) == 0;
1115:       }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _IntType = int>
1115:     class uniform_int_distribution
1115:     {
1115:       static_assert(std::is_integral<_IntType>::value,
1115:       "template argument must be an integral type");
1115: 
1115:     public:
1115: 
1115:       typedef _IntType result_type;
1115: 
1115:       struct param_type
1115:       {
1115:  typedef uniform_int_distribution<_IntType> distribution_type;
1115: 
1115:  param_type() : param_type(0) { }
1115: 
1115:  explicit
1115:  param_type(_IntType __a,
1115:      _IntType __b = __gnu_cxx::__int_traits<_IntType>::__max)
1115:  : _M_a(__a), _M_b(__b)
1115:  {
1115:    do { if (std::__is_constant_evaluated() && !bool(_M_a <= _M_b)) __builtin_unreachable(); } while (false);
1115:  }
1115: 
1115:  result_type
1115:  a() const
1115:  { return _M_a; }
1115: 
1115:  result_type
1115:  b() const
1115:  { return _M_b; }
1115: 
1115:  friend bool
1115:  operator==(const param_type& __p1, const param_type& __p2)
1115:  { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; }
1115: 
1115:  friend bool
1115:  operator!=(const param_type& __p1, const param_type& __p2)
1115:  { return !(__p1 == __p2); }
1115: 
1115:       private:
1115:  _IntType _M_a;
1115:  _IntType _M_b;
1115:       };
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115:       uniform_int_distribution() : uniform_int_distribution(0) { }
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       uniform_int_distribution(_IntType __a,
1115:           _IntType __b
1115:      = __gnu_cxx::__int_traits<_IntType>::__max)
1115:       : _M_param(__a, __b)
1115:       { }
1115: 
1115:       explicit
1115:       uniform_int_distribution(const param_type& __p)
1115:       : _M_param(__p)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       reset() { }
1115: 
1115:       result_type
1115:       a() const
1115:       { return _M_param.a(); }
1115: 
1115:       result_type
1115:       b() const
1115:       { return _M_param.b(); }
1115: 
1115: 
1115: 
1115: 
1115:       param_type
1115:       param() const
1115:       { return _M_param; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       param(const param_type& __param)
1115:       { _M_param = __param; }
1115: 
1115: 
1115: 
1115: 
1115:       result_type
1115:       min() const
1115:       { return this->a(); }
1115: 
1115: 
1115: 
1115: 
1115:       result_type
1115:       max() const
1115:       { return this->b(); }
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _UniformRandomBitGenerator>
1115:  result_type
1115:  operator()(_UniformRandomBitGenerator& __urng)
1115:         { return this->operator()(__urng, _M_param); }
1115: 
1115:       template<typename _UniformRandomBitGenerator>
1115:  result_type
1115:  operator()(_UniformRandomBitGenerator& __urng,
1115:      const param_type& __p);
1115: 
1115:       template<typename _ForwardIterator,
1115:         typename _UniformRandomBitGenerator>
1115:  void
1115:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1115:      _UniformRandomBitGenerator& __urng)
1115:  { this->__generate(__f, __t, __urng, _M_param); }
1115: 
1115:       template<typename _ForwardIterator,
1115:         typename _UniformRandomBitGenerator>
1115:  void
1115:  __generate(_ForwardIterator __f, _ForwardIterator __t,
1115:      _UniformRandomBitGenerator& __urng,
1115:      const param_type& __p)
1115:  { this->__generate_impl(__f, __t, __urng, __p); }
1115: 
1115:       template<typename _UniformRandomBitGenerator>
1115:  void
1115:  __generate(result_type* __f, result_type* __t,
1115:      _UniformRandomBitGenerator& __urng,
1115:      const param_type& __p)
1115:  { this->__generate_impl(__f, __t, __urng, __p); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       friend bool
1115:       operator==(const uniform_int_distribution& __d1,
1115:    const uniform_int_distribution& __d2)
1115:       { return __d1._M_param == __d2._M_param; }   { return _M_tie; }
1412: # 306 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       basic_ostream<_CharT, _Traits>*
1412:       tie(basic_ostream<_CharT, _Traits>* __tiestr)
1412:       {
1412:         basic_ostream<_CharT, _Traits>* __old = _M_tie;
1412:         _M_tie = __tiestr;
1412:         return __old;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       basic_streambuf<_CharT, _Traits>*
1412:       rdbuf() const
1412:       { return _M_streambuf; }
1412: # 346 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       basic_streambuf<_CharT, _Traits>*
1412:       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
1412: # 360 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       basic_ios&
1412:       copyfmt(const basic_ios& __rhs);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       char_type
1412:       fill() const
1412:       {
1412:  if (!_M_fill_init)
1412:    {
1412:      _M_fill = this->widen(' ');
1412:      _M_fill_init = true;
1412:    }
1412:  return _M_fill;
1412:       }
1412: # 389 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       char_type
1412:       fill(char_type __ch)
1412:       {
1412:  char_type __old = this->fill();
1412:  _M_fill = __ch;
1412:  return __old;
1412:       }
1412: # 409 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       locale
1412:       imbue(const locale& __loc);
1412: # 429 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       char
1412:       narrow(char_type __c, char __dfault) const
1412:       { return __check_facet(_M_ctype).narrow(__c, __dfault); }
1412: # 448 "/usr/include/c++/12/bits/basic_ios.h" 3
1412:       char_type
1412:       widen(char __c) const
1412:       { return __check_facet(_M_ctype).widen(__c); }
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       basic_ios()
1412:       : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
1412:  _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
1412:       { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       init(basic_streambuf<_CharT, _Traits>* __sb);
1412: 
1412: 
1412:       basic_ios(const basic_ios&) = delete;
1412:       basic_ios& operator=(const basic_ios&) = delete;
1412: 
1412:       void
1412:       move(basic_ios& __rhs)
1412:       {
1412:  ios_base::_M_move(__rhs);
1412:  _M_cache_locale(_M_ios_locale);
1412:  this->tie(__rhs.tie(nullptr));
1412:  _M_fill = __rhs._M_fill;
1412:  _M_fill_init = __rhs._M_fill_init;
1412:  _M_streambuf = nullptr;
1412:       }
1412: 
1412:       void
1412:       move(basic_ios&& __rhs)
1412:       { this->move(__rhs); }
1412: 
1412:       void
1412:       swap(basic_ios& __rhs) noexcept
1412:       {
1412:  ios_base::_M_swap(__rhs);
1412:  _M_cache_locale(_M_ios_locale);
1412:  __rhs._M_cache_locale(__rhs._M_ios_locale);
1412:  std::swap(_M_tie, __rhs._M_tie);
1412:  std::swap(_M_fill, __rhs._M_fill);
1412:  std::swap(_M_fill_init, __rhs._M_fill_init);
1412:       }
1412: 
1412:       void
1412:       set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1412:       { _M_streambuf = __sb; }
1412: 
1412: 
1412:       void
1412:       _M_cache_locale(const locale& __loc);
1412:     };
1412: 
1412: 
1412: }
1412: 
1412: # 1 "/usr/include/c++/12/bits/basic_ios.tcc" 1 3
1412: # 33 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     void
1412:     basic_ios<_CharT, _Traits>::clear(iostate __state)
1412:     {
1412:       if (this->rdbuf())
1412:  _M_streambuf_state = __state;
1412:       else
1412:  _M_streambuf_state = __state | badbit;
1412:       if (this->exceptions() & this->rdstate())
1412:  __throw_ios_failure(("basic_ios::clear"));
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_streambuf<_CharT, _Traits>*
1412:     basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1412:     {
1412:       basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
1412:       _M_streambuf = __sb;
1412:       this->clear();
1412:       return __old;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ios<_CharT, _Traits>&
1412:     basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
1412:     {
1412: 
1412: 
1412:       if (this != std::__addressof(__rhs))
1412:  {
1412: 
1412: 
1412: 
1412: 
1412:    _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
1412:                       _M_local_word : new _Words[__rhs._M_word_size];
1412: 
1412: 
1412:    _Callback_list* __cb = __rhs._M_callbacks;
1412:    if (__cb)
1412:      __cb->_M_add_reference();
1412:    _M_call_callbacks(erase_event);
1412:    if (_M_word != _M_local_word)
1412:      {
1412:        delete [] _M_word;
1412:        _M_word = 0;
1412:      }
1412:    _M_dispose_callbacks();
1412: 
1412: 
1412:    _M_callbacks = __cb;
1412:    for (int __i = 0; __i < __rhs._M_word_size; ++__i)
1412:      __words[__i] = __rhs._M_word[__i];
1412:    _M_word = __words;
1412:    _M_word_size = __rhs._M_word_size;
1412: 
1412:    this->flags(__rhs.flags());
1412:    this->width(__rhs.width());
1412:    this->precision(__rhs.precision());
1412:    this->tie(__rhs.tie());
1412:    this->fill(__rhs.fill());
1412:    _M_ios_locale = __rhs.getloc();
1412:    _M_cache_locale(_M_ios_locale);
1412: 
1412:    _M_call_callbacks(copyfmt_event);
1412: 
1412: 
1412:    this->exceptions(__rhs.exceptions());
1412:  }
1412:       return *this;
1412:     }
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     locale
1412:     basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
1412:     {
1412:       locale __old(this->getloc());
1412:       ios_base::imbue(__loc);
1412:       _M_cache_locale(__loc);
1412:       if (this->rdbuf() != 0)
1412:  this->rdbuf()->pubimbue(__loc);
1412:       return __old;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     void
1412:     basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
1412:     {
1412: 
1412:       ios_base::_M_init();
1412: 
1412: 
1412:       _M_cache_locale(_M_ios_locale);
1412: # 146 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1412:       _M_fill = _CharT();
1412:       _M_fill_init = false;
1412: 
1412:       _M_tie = 0;
1412:       _M_exception = goodbit;
1412:       _M_streambuf = __sb;
1412:       _M_streambuf_state = __sb ? goodbit : badbit;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     void
1412:     basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
1412:     {
1412:       if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
1412:  _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc));
1412:       else
1412:  _M_ctype = 0;
1412: 
1412:       if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
1412:  _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc));
1412:       else
1412:  _M_num_put = 0;
1412: 
1412:       if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
1412:  _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc));
1412:       else
1412:  _M_num_get = 0;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template class basic_ios<char>;
1412: 
1412: 
1412:   extern template class basic_ios<wchar_t>;
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 517 "/usr/include/c++/12/bits/basic_ios.h" 2 3
1412: # 45 "/usr/include/c++/12/ios" 2 3
1412: # 39 "/usr/include/c++/12/ostream" 2 3
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 57 "/usr/include/c++/12/ostream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
1412:     {
1412:     public:
1412: 
1412:       typedef _CharT char_type;
1412:       typedef typename _Traits::int_type int_type;
1412:       typedef typename _Traits::pos_type pos_type;
1412:       typedef typename _Traits::off_type off_type;
1412:       typedef _Traits
1115: 
1115:     private:
1115:       template<typename _ForwardIterator,
1115:         typename _UniformRandomBitGenerator>
1115:  void
1115:  __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1115:    _UniformRandomBitGenerator& __urng,
1115:    const param_type& __p);
1115: 
1115:       param_type _M_param;
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Wp, typename _Urbg, typename _Up>
1115:  static _Up
1115:  _S_nd(_Urbg& __g, _Up __range)
1115:  {
1115:    using _Up_traits = __gnu_cxx::__int_traits<_Up>;
1115:    using _Wp_traits = __gnu_cxx::__int_traits<_Wp>;
1115:    static_assert(!_Up_traits::__is_signed, "U must be unsigned");
1115:    static_assert(!_Wp_traits::__is_signed, "W must be unsigned");
1115:    static_assert(_Wp_traits::__digits == (2 * _Up_traits::__digits),
1115:    "W must be twice as wide as U");
1115: 
1115: 
1115: 
1115: 
1115:    _Wp __product = _Wp(__g()) * _Wp(__range);
1115:    _Up __low = _Up(__product);
1115:    if (__low < __range)
1115:      {
1115:        _Up __threshold = -__range % __range;
1115:        while (__low < __threshold)
1115:   {
1115:     __product = _Wp(__g()) * _Wp(__range);
1115:     __low = _Up(__product);
1115:   }
1115:      }
1115:    return __product >> _Up_traits::__digits;
1115:  }
1115:     };
1115: 
1115:   template<typename _IntType>
1115:     template<typename _UniformRandomBitGenerator>
1115:       typename uniform_int_distribution<_IntType>::result_type
1115:       uniform_int_distribution<_IntType>::
1115:       operator()(_UniformRandomBitGenerator& __urng,
1115:    const param_type& __param)
1115:       {
1115:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1115:  typedef typename make_unsigned<result_type>::type __utype;
1115:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1115: 
1115:  constexpr __uctype __urngmin = _UniformRandomBitGenerator::min();
1115:  constexpr __uctype __urngmax = _UniformRandomBitGenerator::max();
1115:  static_assert( __urngmin < __urngmax,
1115:      "Uniform random bit generator must define min() < max()");
1115:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1115: 
1115:  const __uctype __urange
1115:    = __uctype(__param.b()) - __uctype(__param.a());
1115: 
1115:  __uctype __ret;
1115:  if (__urngrange > __urange)
1115:    {
1115: 
1115: 
1115:      const __uctype __uerange = __urange + 1;
1115: # 312 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1115:      if constexpr (__urngrange == 0xffffffffU)
1115:        {
1115: 
1115: 
1115:   unsigned int __u32erange = __uerange;
1115:   __ret = _S_nd<long long unsigned int>(__urng, __u32erange);
1115:        }
1115:      else
1115: 
1115:        {
1115: 
1115:   const __uctype __scaling = __urngrange / __uerange;
1115:   const __uctype __past = __uerange * __scaling;
1115:   do
1115:     __ret = __uctype(__urng()) - __urngmin;
1115:   while (__ret >= __past);
1115:   __ret /= __scaling;
1115:        }
1115:    }
1115:  else if (__urngrange < __urange)
1115:    {
1115: # 348 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1115:      __uctype __tmp;
1115:      do
1115:        {
1115:   const __uctype __uerngrange = __urngrange + 1;
1115:   __tmp = (__uerngrange * operator()
1115:     (__urng, param_type(0, __urange / __uerngrange)));
1115:   __ret = __tmp + (__uctype(__urng()) - __urngmin);
1115:        }
1115:      while (__ret > __urange || __ret < __tmp);
1115:    }
1115:  else
1115:    __ret = __uctype(__urng()) - __urngmin;
1115: 
1115:  return __ret + __param.a();
1115:       }
1115: 
1115: 
1115:   template<typename _IntType>
1115:     template<typename _ForwardIterator,
1115:       typename _UniformRandomBitGenerator>
1115:       void
1115:       uniform_int_distribution<_IntType>::
1115:       __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
1115:         _UniformRandomBitGenerator& __urng,
1115:         const param_type& __param)
1115:       {
1115: 
1115:  typedef typename _UniformRandomBitGenerator::result_type _Gresult_type;
1115:  typedef typename make_unsigned<result_type>::type __utype;
1115:  typedef typename common_type<_Gresult_type, __utype>::type __uctype;
1115: 
1115:  static_assert( __urng.min() < __urng.max(),
1115:      "Uniform random bit generator must define min() < max()");
1115: 
1115:  constexpr __uctype __urngmin = __urng.min();
1115:  constexpr __uctype __urngmax = __urng.max();
1115:  constexpr __uctype __urngrange = __urngmax - __urngmin;
1115:  const __uctype __urange
1115:    = __uctype(__param.b()) - __uctype(__param.a());
1115: 
1115:  __uctype __ret;
1115: 
1115:  if (__urngrange > __urange)
1115:    {
1115:      if (__detail::_Power_of_2(__urngrange + 1)
1115:   && __detail::_Power_of_2(__urange + 1))
1115:        {
1115:   while (__f != __t)
1115:     {
1115:       __ret = __uctype(__urng()) - __urngmin;
1115:       *__f++ = (__ret & __urange) + __param.a();
1115:     }
1115:        }
1115:      else
1115:        {
1115: 
1115:   const __uctype __uerange = __urange + 1;
1115:   const __uctype __scaling = __urngrange / __uerange;
1115:   const __uctype __past = __uerange * __scaling;
1115:   while (__f != __t)
1115:     {
1115:       do
1115:         __ret = __uctype(__urng()) - __urngmin;
1115:       while (__ret >= __past);
1115:       *__f++ = __ret / __scaling + __param.a();
1115:     }
1115:        }
1115:    }
1115:  else if (__urngrange < __urange)
1115:    {
1115: # 433 "/usr/include/c++/12/bits/uniform_int_dist.h" 3
1115:      __uctype __tmp;
1115:      while (__f != __t)
1115:        {
1115:   do
1115:     {
1115:       constexpr __uctype __uerngrange = __urngrange + 1;
1115:       __tmp = (__uerngrange * operator()
1115:         (__urng, param_type(0, __urange / __uerngrange)));
1115:       __ret = __tmp + (__uctype(__urng()) - __urngmin);
1115:     }
1115:   while (__ret > __urange || __ret < __tmp);
1115:   *__f++ = __ret;
1115:        }
1115:    }
1115:  else
1115:    while (__f != __t)
1115:      *__f++ = __uctype(__urng()) - __urngmin + __param.a();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 66 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/cstdlib" 1 3
1115: # 39 "/usr/include/c++/12/cstdlib" 3
1115:        
1115: # 40 "/usr/include/c++/12/cstdlib" 3
1115: # 70 "/usr/include/c++/12/bits/stl_algo.h" 2 3
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Iterator, typename _Compare>
1115:    
1115:     void
1115:     __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b,
1115:       _Iterator __c, _Compare __comp)
1115:     {
1115:       if (__comp(__a, __b))
1115:  {
1115:    if (__comp(__b, __c))
1115:      std::iter_swap(__result, __b);
1115:    else if (__comp(__a, __c))
1115:      std::iter_swap(__result, __c);
1115:    else
1115:      std::iter_swap(__result, __a);
1115:  }
1115:       else if (__comp(__a, __c))
1115:  std::iter_swap(__result, __a);
1115:       else if (__comp(__b, __c))
1115:  std::iter_swap(__result, __c);
1115:       else
1115:  std::iter_swap(__result, __b);
1115:     }
1115: 
1115: 
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline _InputIterator
1115:     __find_if_not(_InputIterator __first, _InputIterator __last,
1115:     _Predicate __pred)
1115:     {
1115:       return std::__find_if(__first, __last,
1115:        __gnu_cxx::__ops::__negate(__pred),
1115:        std::__iterator_category(__first));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _Predicate, typename _Distance>
1115:    
1115:     _InputIterator
1115:     __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred)
1115:     {
1115:       for (; __len; --__len, (void) ++__first)
1115:  if (!__pred(__first))
1115:    break;
1115:       return __first;
1115:     }
1115: # 141 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     _ForwardIterator1
1115:     __search( traits_type;
1412: 
1412: 
1412:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1412:       typedef basic_ios<_CharT, _Traits> __ios_type;
1412:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1412:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1412:              __num_put_type;
1412:       typedef ctype<_CharT> __ctype_type;
1412: # 83 "/usr/include/c++/12/ostream" 3
1412:       explicit
1412:       basic_ostream(__streambuf_type* __sb)
1412:       { this->init(__sb); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       virtual
1412:       ~basic_ostream() { }
1412: 
1412: 
1412:       class sentry;
1412:       friend class sentry;
1412: # 107 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       operator<<(__ostream_type& (*__pf)(__ostream_type&))
1412:       {
1412: 
1412: 
1412: 
1412:  return __pf(*this);
1412:       }
1412: 
1412:       __ostream_type&
1412:       operator<<(__ios_type& (*__pf)(__ios_type&))
1412:       {
1412: 
1412: 
1412: 
1412:  __pf(*this);
1412:  return *this;
1412:       }
1412: 
1412:       __ostream_type&
1412:       operator<<(ios_base& (*__pf) (ios_base&))
1412:       {
1412: 
1412: 
1412: 
1412:  __pf(*this);
1412:  return *this;
1412:       }
1412: # 165 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       operator<<(long __n)
1412:       { return _M_insert(__n); }
1412: 
1412:       __ostream_type&
1412:       operator<<(unsigned long __n)
1412:       { return _M_insert(__n); }
1412: 
1412:       __ostream_type&
1412:       operator<<(bool __n)
1412:       { return _M_insert(__n); }
1412: 
1412:       __ostream_type&
1412:       operator<<(short __n);
1412: 
1412:       __ostream_type&
1412:       operator<<(unsigned short __n)
1412:       {
1412: 
1412: 
1412:  return _M_insert(static_cast<unsigned long>(__n));
1412:       }
1412: 
1412:       __ostream_type&
1412:       operator<<(int __n);
1412: 
1412:       __ostream_type&
1412:       operator<<(unsigned int __n)
1412:       {
1412: 
1412: 
1412:  return _M_insert(static_cast<unsigned long>(__n));
1412:       }
1412: 
1412: 
1412:       __ostream_type&
1412:       operator<<(long long __n)
1412:       { return _M_insert(__n); }
1412: 
1412:       __ostream_type&
1412:       operator<<(unsigned long long __n)
1412:       { return _M_insert(__n); }
1412: # 219 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       operator<<(double __f)
1412:       { return _M_insert(__f); }
1412: 
1412:       __ostream_type&
1412:       operator<<(float __f)
1412:       {
1412: 
1412: 
1412:  return _M_insert(static_cast<double>(__f));
1412:       }
1412: 
1412:       __ostream_type&
1412:       operator<<(long double __f)
1412:       { return _M_insert(__f); }
1412: # 244 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       operator<<(const void* __p)
1412:       { return _M_insert(__p); }
1412: 
1412: 
1412:       __ostream_type&
1412:       operator<<(nullptr_t)
1412:       { return *this << "nullptr"; }
1412: # 282 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       operator<<(__streambuf_type* __sb);
1412: # 315 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       put(char_type __c);
1412: # 334 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       write(const char_type* __s, streamsize __n);
1412: # 347 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       flush();
1412: # 357 "/usr/include/c++/12/ostream" 3
1412:       pos_type
1412:       tellp();
1412: # 368 "/usr/include/c++/12/ostream" 3
1412:       __ostream_type&
1412:       seekp(pos_type);
1412: # 380 "/usr/include/c++/12/ostream" 3
1412:        __ostream_type&
1412:       seekp(off_type, ios_base::seekdir);
1412: 
1412:     protected:
1412:       basic_ostream()
1412:       { this->init(0); }
1412: 
1412: 
1412: 
1412:       basic_ostream(basic_iostream<_CharT, _Traits>&) { }
1412: 
1412:       basic_ostream(const basic_ostream&) = delete;
1412: 
1412:       basic_ostream(basic_ostream&& __rhs)
1412:       : __ios_type()
1412:       { __ios_type::move(__rhs); }
1412: 
1412: 
1412: 
1412:       basic_ostream& operator=(const basic_ostream&) = delete;
1412: 
1412:       basic_ostream&
1412:       operator=(basic_ostream&& __rhs)
1412:       {
1412:  swap(__rhs);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       swap(basic_ostream& __rhs)
1412:       { __ios_type::swap(__rhs); }
1412: 
1412: 
1412:       template<typename _ValueT>
1412:  __ostream_type&
1412:  _M_insert(_ValueT __v);
1412: 
1412:     private:
1412: 
1412:       void
1412:       _M_write(const char_type* __s, streamsize __n)
1412:       { std::__ostream_insert(*this, __s, __n); }
1412: 
1412:     };
1412: # 432 "/usr/include/c++/12/ostream" 3
1412:   template <typename _CharT, typename _Traits>
1412:     class basic_ostream<_CharT, _Traits>::sentry
1412:     {
1412: 
1412:       bool _M_ok;
1412:       basic_ostream<_CharT, _Traits>& _M_os;
1412: 
1412:     public:
1412: # 451 "/usr/include/c++/12/ostream" 3
1412:       explicit
1412:       sentry(basic_ostream<_CharT, _Traits>& __os);
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~sentry()
1412:       {
1412: 
1412:  if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception())
1412:    {
1412: 
1412:      if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
1412:        _M_os.setstate(ios_base::badbit);
1412:    }
1412:       }
1412: #pragma GCC diagnostic pop
1412: # 483 "/usr/include/c++/12/ostream" 3
1412:       explicit
1412: 
1412:       operator bool() const
1412:       { return _M_ok; }
1412:     };
1412: # 505 "/usr/include/c++/12/ostream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
1412:     {
1412:       if (__out.width() != 0)
1412:  return __ostream_insert(__out, &__c, 1);
1412:       __out.put(__c);
1412:       return __out;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
1412:     { return (__out << __out.widen(__c)); }
1412: 
1412: 
1412:   template<typename _Traits>
1412:     inline basic_ostream<char, _Traits>&
1412:     operator<<(basic_ostream<char, _Traits>& __out, char __c)
1412:     {
1412:       if (__out.width() != 0)
1412:  return __ostream_insert(__out, &__c, 1);
1412:       __out.put(__c);
1412:       return __out;
1412:     }
1412: 
1412: 
1412:   template<typename _Traits>
1412:     inline basic_ostream<char, _Traits>&
1412:     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
1412:     { return (__out << static_cast<char>(__c)); }
1412: 
1412:   template<typename _Traits>
1412:     inline basic_ostream<char, _Traits>&
1412:     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
1412:     { return (__out << static_cast<char>(__c)); }
1412: # 596 "/usr/include/c++/12/ostream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
1412:     {
1412:       if (!__s)
1412:  __out.setstate(ios_base::badbit);
1412:       else
1412:  __ostream_insert(__out, __s,
1412:     static_cast<streamsize>(_Traits::length(__s)));
1412:       return __out;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits> &
1412:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
1412: 
1412: 
1412:   template<typename _Traits>
1412:     inline basic_ostream<char, _Traits>&
1412:     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
1412:     {
1412:       if (!__s)
1412:  __out.setstate(ios_base::badbit);
1412:       else
1412:  __ostream_insert(__out, __s,
1412:     static_cast<streamsize>(_Traits::length(__s)));
1412:  _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1115:       _BinaryPredicate __predicate)
1115:     {
1115: 
1115:       if (__first1 == __last1 || __first2 == __last2)
1115:  return __first1;
1115: 
1115: 
1115:       _ForwardIterator2 __p1(__first2);
1115:       if (++__p1 == __last2)
1115:  return std::__find_if(__first1, __last1,
1115:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1115: 
1115: 
1115:       _ForwardIterator1 __current = __first1;
1115: 
1115:       for (;;)
1115:  {
1115:    __first1 =
1115:      std::__find_if(__first1, __last1,
1115:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
1115: 
1115:    if (__first1 == __last1)
1115:      return __last1;
1115: 
1115:    _ForwardIterator2 __p = __p1;
1115:    __current = __first1;
1115:    if (++__current == __last1)
1115:      return __last1;
1115: 
1115:    while (__predicate(__current, __p))
1115:      {
1115:        if (++__p == __last2)
1115:   return __first1;
1115:        if (++__current == __last1)
1115:   return __last1;
1115:      }
1115:    ++__first1;
1115:  }
1115:       return __first1;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Integer,
1115:     typename _UnaryPredicate>
1115:    
1115:     _ForwardIterator
1115:     __search_n_aux(_ForwardIterator __first, _ForwardIterator __last,
1115:      _Integer __count, _UnaryPredicate __unary_pred,
1115:      std::forward_iterator_tag)
1115:     {
1115:       __first = std::__find_if(__first, __last, __unary_pred);
1115:       while (__first != __last)
1115:  {
1115:    typename iterator_traits<_ForwardIterator>::difference_type
1115:      __n = __count;
1115:    _ForwardIterator __i = __first;
1115:    ++__i;
1115:    while (__i != __last && __n != 1 && __unary_pred(__i))
1115:      {
1115:        ++__i;
1115:        --__n;
1115:      }
1115:    if (__n == 1)
1115:      return __first;
1115:    if (__i == __last)
1115:      return __last;
1115:    __first = std::__find_if(++__i, __last, __unary_pred);
1115:  }
1115:       return __last;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _RandomAccessIter, typename _Integer,
1115:     typename _UnaryPredicate>
1115:    
1115:     _RandomAccessIter
1115:     __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last,
1115:      _Integer __count, _UnaryPredicate __unary_pred,
1115:      std::random_access_iterator_tag)
1115:     {
1115:       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
1115:  _DistanceType;
1115: 
1115:       _DistanceType __tailSize = __last - __first;
1115:       _DistanceType __remainder = __count;
1115: 
1115:       while (__remainder <= __tailSize)
1115:  {
1115:    __first += __remainder;
1115:    __tailSize -= __remainder;
1115: 
1115: 
1115:    _RandomAccessIter __backTrack = __first;
1115:    while (__unary_pred(--__backTrack))
1115:      {
1115:        if (--__remainder == 0)
1115:   return (__first - __count);
1115:      }
1115:    __remainder = __count + 1 - (__first - __backTrack);
1115:  }
1115:       return __last;
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Integer,
1115:     typename _UnaryPredicate>
1115:    
1115:     _ForwardIterator
1115:     __search_n(_ForwardIterator __first, _ForwardIterator __last,
1115:         _Integer __count,
1115:         _UnaryPredicate __unary_pred)
1115:     {
1115:       if (__count <= 0)
1115:  return __first;
1115: 
1115:       if (__count == 1)
1115:  return std::__find_if(__first, __last, __unary_pred);
1115: 
1115:       return std::__search_n_aux(__first, __last, __count, __unary_pred,
1115:      std::__iterator_category(__first));
1115:     }
1115: 
1115: 
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     _ForwardIterator1
1115:     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1115:         forward_iterator_tag, forward_iterator_tag,
1115:         _BinaryPredicate __comp)
1115:     {
1115:       if (__first2 == __last2)
1115:  return __last1;
1115: 
1115:       _ForwardIterator1 __result = __last1;
1115:       while (1)
1115:  {
1115:    _ForwardIterator1 __new_result
1115:      = std::__search(__first1, __last1, __first2, __last2, __comp);
1115:    if (__new_result == __last1)
1115:      return __result;
1115:    else
1115:      {
1115:        __result = __new_result;
1115:        __first1 = __new_result;
1115:        ++__first1;
1115:      }
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     _BidirectionalIterator1
1115:     __find_end(_BidirectionalIterator1 __first1,
1115:         _BidirectionalIterator1 __last1,
1115:         _BidirectionalIterator2 __first2,
1115:         _BidirectionalIterator2 __last2,
1115:         bidirectional_iterator_tag, bidirectional_iterator_tag,
1115:         _BinaryPredicate __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
1115:       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
1115: 
1115:       _RevIterator1 __rlast1(__first1);
1115:       _RevIterator2 __rlast2(__first2);
1115:       _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1,
1115:            _RevIterator2(__last2), __rlast2,
1115:            __comp);
1115: 
1115:       if (__rresult == __rlast1)
1115:  return __last1;
1115:       else
1115:  {
1115:    _BidirectionalIterator1 __result = __rresult.base();
1115:    std::advance(__result, -std::distance(__first2, __last2));
1115:    return __result;
1115:  }
1115:     }
1115: # 367 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1115:    
1115:     inline _ForwardIterator1
1115:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__find_end(__first1, __last1, __first2, __last2,
1115:         std::__iterator_category(__first1),
1115:         std::__iterator_category(__first2),
1115:         __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: # 416 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline _ForwardIterator1
1115:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1115:       _BinaryPredicate __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__find_end(__first1, __last1, __first2, __last2,
1115:         std::__iterator_category(__first1),
1115:         std::__iterator_category(__first2),
1115:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: # 452 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline bool
1115:     all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1115:     { return __last == std::find_if_not(__first, __last, __pred); }
1115: # 470 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline bool
1115:     none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1115:     { return __last == std::find_if(__first, __last, __pred); }
1115: # 489 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline bool
1115:     any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1115:     { re     return __out;
1412:     }
1412: 
1412: 
1412:   template<typename _Traits>
1412:     inline basic_ostream<char, _Traits>&
1412:     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
1412:     { return (__out << reinterpret_cast<const char*>(__s)); }
1412: 
1412:   template<typename _Traits>
1412:     inline basic_ostream<char, _Traits> &
1412:     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
1412:     { return (__out << reinterpret_cast<const char*>(__s)); }
1412: # 686 "/usr/include/c++/12/ostream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     endl(basic_ostream<_CharT, _Traits>& __os)
1412:     { return flush(__os.put(__os.widen('\n'))); }
1412: # 698 "/usr/include/c++/12/ostream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     ends(basic_ostream<_CharT, _Traits>& __os)
1412:     { return __os.put(_CharT()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     inline basic_ostream<_CharT, _Traits>&
1412:     flush(basic_ostream<_CharT, _Traits>& __os)
1412:     { return __os.flush(); }
1412: # 730 "/usr/include/c++/12/ostream" 3
1412:   template<typename _Tp>
1412:     using _Require_derived_from_ios_base
1412:       = _Require<is_class<_Tp>, __not_<is_same<_Tp, ios_base>>,
1412:    is_convertible<typename add_pointer<_Tp>::type, ios_base*>>;
1412: 
1412:   template<typename _Os, typename _Tp,
1412:     typename = _Require_derived_from_ios_base<_Os>,
1412:     typename
1412:       = decltype(std::declval<_Os&>() << std::declval<const _Tp&>())>
1412:     using __rvalue_stream_insertion_t = _Os&&;
1412: # 752 "/usr/include/c++/12/ostream" 3
1412:   template<typename _Ostream, typename _Tp>
1412:     inline __rvalue_stream_insertion_t<_Ostream, _Tp>
1412:     operator<<(_Ostream&& __os, const _Tp& __x)
1412:     {
1412:       __os << __x;
1412:       return std::move(__os);
1412:     }
1412: # 830 "/usr/include/c++/12/ostream" 3
1412: 
1412: }
1412: 
1412: # 1 "/usr/include/c++/12/bits/ostream.tcc" 1 3
1412: # 37 "/usr/include/c++/12/bits/ostream.tcc" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/ostream.tcc" 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>::sentry::
1412:     sentry(basic_ostream<_CharT, _Traits>& __os)
1412:     : _M_ok(false), _M_os(__os)
1412:     {
1412: 
1412:       if (__os.tie() && __os.good())
1412:  __os.tie()->flush();
1412: 
1412:       if (__os.good())
1412:  _M_ok = true;
1412:       else if (__os.bad())
1412:  __os.setstate(ios_base::failbit);
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     template<typename _ValueT>
1412:       basic_ostream<_CharT, _Traits>&
1412:       basic_ostream<_CharT, _Traits>::
1412:       _M_insert(_ValueT __v)
1412:       {
1412:  sentry __cerb(*this);
1412:  if (__cerb)
1412:    {
1412:      ios_base::iostate __err = ios_base::goodbit;
1412:      try
1412:        {
1412:   const __num_put_type& __np = __check_facet(this->_M_num_put);
1412:   if (__np.put(*this, *this, this->fill(), __v).failed())
1412:     __err |= ios_base::badbit;
1412:        }
1412:      catch(__cxxabiv1::__forced_unwind&)
1412:        {
1412:   this->_M_setstate(ios_base::badbit);
1412:   throw;
1412:        }
1412:      catch(...)
1412:        { this->_M_setstate(ios_base::badbit); }
1412:      if (__err)
1412:        this->setstate(__err);
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     operator<<(short __n)
1412:     {
1412: 
1412: 
1412:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1412:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1412:  return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
1412:       else
1412:  return _M_insert(static_cast<long>(__n));
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     operator<<(int __n)
1412:     {
1412: 
1412: 
1412:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1412:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1412:  return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
1412:       else
1412:  return _M_insert(static_cast<long>(__n));
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     operator<<(__streambuf_type* __sbin)
1412:     {
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       sentry __cerb(*this);
1412:       if (__cerb && __sbin)
1412:  {
1412:    try
1412:      {
1412:        if (!__copy_streambufs(__sbin, this->rdbuf()))
1412:   __err |= ios_base::failbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::failbit); }
1412:  }
1412:       else if (!__sbin)
1412:  __err |= ios_base::badbit;
1412:       if (__err)
1412:  this->setstate(__err);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     put(char_type __c)
1412:     {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       sentry __cerb(*this);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        const int_type __put = this->rdbuf()->sputc(__c);
1412:        if (traits_type::eq_int_type(__put, traits_type::eof()))
1412:   __err |= ios_base::badbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     write(const _CharT* __s, streamsize __n)
1412:     {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       sentry __cerb(*this);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        if (this->rdbuf()->sputn(__s, __n) != __n)
1412:   __err = ios_base::badbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(ios_base::badbit);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     flush()
1412:     {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       if (__streambuf_type* __buf = this->rdbuf())
1412:  {
1412:    sentry __cerb(*this);
1412:    if (__cerb)
1412:      {
1412:        ios_base::iostate __err = ios_base::goodbit;
1412:        try
1412:   {
1412:     if (this->rdbuf()->pubsync() == -1)
1412:       __err |= ios_base::badbit;
1412:   }
1412:        catch(__cxxabiv1::__forced_unwind&)
1412:   {
1412:     this->_M_setstate(ios_base::badbit);
1412:     throw;
1412:   }
1412:        catch(...)
1412:   { this->_M_setstate(ios_base::badbit); }
1412:        if (__err)
1412:   this->setstate(__err);
1412:      }
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     typename baturn !std::none_of(__first, __last, __pred); }
1115: # 505 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline _InputIterator
1115:     find_if_not(_InputIterator __first, _InputIterator __last,
1115:   _Predicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       return std::__find_if_not(__first, __last,
1115:     __gnu_cxx::__ops::__pred_iter(__pred));
1115:     }
1115: # 530 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline bool
1115:     is_partitioned(_InputIterator __first, _InputIterator __last,
1115:      _Predicate __pred)
1115:     {
1115:       __first = std::find_if_not(__first, __last, __pred);
1115:       if (__first == __last)
1115:  return true;
1115:       ++__first;
1115:       return std::none_of(__first, __last, __pred);
1115:     }
1115: # 552 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Predicate>
1115:    
1115:     _ForwardIterator
1115:     partition_point(_ForwardIterator __first, _ForwardIterator __last,
1115:       _Predicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115: 
1115:       ;
1115: 
1115:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1115:  _DistanceType;
1115: 
1115:       _DistanceType __len = std::distance(__first, __last);
1115: 
1115:       while (__len > 0)
1115:  {
1115:    _DistanceType __half = __len >> 1;
1115:    _ForwardIterator __middle = __first;
1115:    std::advance(__middle, __half);
1115:    if (__pred(*__middle))
1115:      {
1115:        __first = __middle;
1115:        ++__first;
1115:        __len = __len - __half - 1;
1115:      }
1115:    else
1115:      __len = __half;
1115:  }
1115:       return __first;
1115:     }
1115: 
1115: 
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _Predicate>
1115:    
1115:     _OutputIterator
1115:     __remove_copy_if(_InputIterator __first, _InputIterator __last,
1115:        _OutputIterator __result, _Predicate __pred)
1115:     {
1115:       for (; __first != __last; ++__first)
1115:  if (!__pred(__first))
1115:    {
1115:      *__result = *__first;
1115:      ++__result;
1115:    }
1115:       return __result;
1115:     }
1115: # 619 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1115:    
1115:     inline _OutputIterator
1115:     remove_copy(_InputIterator __first, _InputIterator __last,
1115:   _OutputIterator __result, const _Tp& __value)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__remove_copy_if(__first, __last, __result,
1115:  __gnu_cxx::__ops::__iter_equals_val(__value));
1115:     }
1115: # 652 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _Predicate>
1115:    
1115:     inline _OutputIterator
1115:     remove_copy_if(_InputIterator __first, _InputIterator __last,
1115:      _OutputIterator __result, _Predicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__remove_copy_if(__first, __last, __result,
1115:        __gnu_cxx::__ops::__pred_iter(__pred));
1115:     }
1115: # 687 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _Predicate>
1115:    
1115:     _OutputIterator
1115:     copy_if(_InputIterator __first, _InputIterator __last,
1115:      _OutputIterator __result, _Predicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       for (; __first != __last; ++__first)
1115:  if (__pred(*__first))
1115:    {
1115:      *__result = *__first;
1115:      ++__result;
1115:    }
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1115:    
1115:     _OutputIterator
1115:     __copy_n(_InputIterator __first, _Size __n,
1115:       _OutputIterator __result, input_iterator_tag)
1115:     {
1115:       return std::__niter_wrap(__result,
1115:           __copy_n_a(__first, __n,
1115:        std::__niter_base(__result), true));
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Size,
1115:     typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     __copy_n(_RandomAccessIterator __first, _Size __n,
1115:       _OutputIterator __result, random_access_iterator_tag)
1115:     { return std::copy(__first, __first + __n, __result); }
1115: # 743 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     copy_n(_InputIterator __first, _Size __n, _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115:       const auto __n2 = std::__size_to_integer(__n);
1115:       if (__n2 <= 0)
1115:  return __result;
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__copy_n(__first, __n2, __result,
1115:       std::__iterator_category(__first));
1115:     }
1115: # 779 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator1,
1115:     typename _OutputIterator2, typename _Predicate>
1115:    
1115:     pair<_OutputIterator1, _OutputIterator2>
1115:     partition_copy(_InputIterator __first, _InputIterator __last,
1115:      _OutputIterator1 __out_true, _OutputIterator2 __out_false,
1115:      _Predicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       for (; __first != __last; ++__first)
1115:  if (__pred(*__first))
1115:    {
1115:      *__out_true = *__first;
1115:      ++__out_true;
1115:    }
1115:  else
1115:    {
1115:      *__out_false = *__first;
1115:      ++__out_false;
1115:    }
1115: 
1115:       return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false);
1115:     }
1115: # 830 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline _ForwardIterator
1115:     remove(_ForwardIterator __first, _ForwardIterator __last,
1115:     const _Tp& __value)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__remove_if(__first, __last,
1115:   __gnu_cxx::__ops::__iter_equals_val(__value));
1115:     }
1115: # 864 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Predicate>
1115:    
1115:     inline _ForwardIterator
1115:     remove_if(_ForwardIterator __first, _ForwardIterator __last,
1115:        _Predicate __pred)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__remove_if(__first, __last,
1115:          __gnu_cxx::__ops::__pred_iter(__pred));
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _BinaryPredicate>
1115:    
1115:     _ForwardIterator
1115:     __adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
1115:       _BinaryPredicate __binary_pred)
1115:     {
1115:       if (__first == __last)
1115:  return __last;
1115:       _ForwardIterator __next = __first;
1115:       while (++__next != __last)
1115:  {
1115:    if (__binary_pred(__first, __next))
1115:      return __first;
1115:    __first = __next;
1115:  }
1115:       return __last;
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _BinaryPredicate>
1115:    
1115:     _ForwardIterator
1115:     __unique(_ForwardIterator __first, _ForwardIterator __last,
1115:       _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:       __first = std::__adjacent_find(__first, __last, __binary_pred);
1115:       if (__first == __last)
1115:  return __last;
1115: 
1115: 
1115:       _ForwardIterator __dest = __first;
1115:       ++__first;
111sic_ostream<_CharT, _Traits>::pos_type
1412:     basic_ostream<_CharT, _Traits>::
1412:     tellp()
1412:     {
1412:       sentry __cerb(*this);
1412:       pos_type __ret = pos_type(-1);
1412:       if (!this->fail())
1412:  __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     seekp(pos_type __pos)
1412:     {
1412:       sentry __cerb(*this);
1412:       if (!this->fail())
1412:  {
1412: 
1412: 
1412:    const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out);
1412: 
1412: 
1412:    if (__p == pos_type(off_type(-1)))
1412:      this->setstate(ios_base::failbit);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     basic_ostream<_CharT, _Traits>::
1412:     seekp(off_type __off, ios_base::seekdir __dir)
1412:     {
1412:       sentry __cerb(*this);
1412:       if (!this->fail())
1412:  {
1412: 
1412: 
1412:    const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1412:         ios_base::out);
1412: 
1412: 
1412:    if (__p == pos_type(off_type(-1)))
1412:      this->setstate(ios_base::failbit);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_ostream<_CharT, _Traits>&
1412:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
1412:     {
1412:       if (!__s)
1412:  __out.setstate(ios_base::badbit);
1412:       else
1412:  {
1412: 
1412: 
1412:    const size_t __clen = char_traits<char>::length(__s);
1412:    try
1412:      {
1412:        struct __ptr_guard
1412:        {
1412:   _CharT *__p;
1412:   __ptr_guard (_CharT *__ip): __p(__ip) { }
1412:   ~__ptr_guard() { delete[] __p; }
1412:   _CharT* __get() { return __p; }
1412:        } __pg (new _CharT[__clen]);
1412: 
1412:        _CharT *__ws = __pg.__get();
1412:        for (size_t __i = 0; __i < __clen; ++__i)
1412:   __ws[__i] = __out.widen(__s[__i]);
1412:        __ostream_insert(__out, __ws, __clen);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        __out._M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { __out._M_setstate(ios_base::badbit); }
1412:  }
1412:       return __out;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template class basic_ostream<char>;
1412:   extern template ostream& endl(ostream&);
1412:   extern template ostream& ends(ostream&);
1412:   extern template ostream& flush(ostream&);
1412:   extern template ostream& operator<<(ostream&, char);
1412:   extern template ostream& operator<<(ostream&, unsigned char);
1412:   extern template ostream& operator<<(ostream&, signed char);
1412:   extern template ostream& operator<<(ostream&, const char*);
1412:   extern template ostream& operator<<(ostream&, const unsigned char*);
1412:   extern template ostream& operator<<(ostream&, const signed char*);
1412: 
1412:   extern template ostream& ostream::_M_insert(long);
1412:   extern template ostream& ostream::_M_insert(unsigned long);
1412:   extern template ostream& ostream::_M_insert(bool);
1412: 
1412:   extern template ostream& ostream::_M_insert(long long);
1412:   extern template ostream& ostream::_M_insert(unsigned long long);
1412: 
1412:   extern template ostream& ostream::_M_insert(double);
1412:   extern template ostream& ostream::_M_insert(long double);
1412:   extern template ostream& ostream::_M_insert(const void*);
1412: 
1412: 
1412:   extern template class basic_ostream<wchar_t>;
1412:   extern template wostream& endl(wostream&);
1412:   extern template wostream& ends(wostream&);
1412:   extern template wostream& flush(wostream&);
1412:   extern template wostream& operator<<(wostream&, wchar_t);
1412:   extern template wostream& operator<<(wostream&, char);
1412:   extern template wostream& operator<<(wostream&, const wchar_t*);
1412:   extern template wostream& operator<<(wostream&, const char*);
1412: 
1412:   extern template wostream& wostream::_M_insert(long);
1412:   extern template wostream& wostream::_M_insert(unsigned long);
1412:   extern template wostream& wostream::_M_insert(bool);
1412: 
1412:   extern template wostream& wostream::_M_insert(long long);
1412:   extern template wostream& wostream::_M_insert(unsigned long long);
1412: 
1412:   extern template wostream& wostream::_M_insert(double);
1412:   extern template wostream& wostream::_M_insert(long double);
1412:   extern template wostream& wostream::_M_insert(const void*);
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 834 "/usr/include/c++/12/ostream" 2 3
1412: # 40 "/usr/include/c++/12/iostream" 2 3
1412: # 1 "/usr/include/c++/12/istream" 1 3
1412: # 36 "/usr/include/c++/12/istream" 3
1412:        
1412: # 37 "/usr/include/c++/12/istream" 3
1412: 
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 57 "/usr/include/c++/12/istream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     class basic_istream : virtual public basic_ios<_CharT, _Traits>
1412:     {
1412:     public:
1412: 
1412:       typedef _CharT char_type;
1412:       typedef typename _Traits::int_type int_type;
1412:       typedef typename _Traits::pos_type pos_type;
1412:       typedef typename _Traits::off_type off_type;
1412:       typedef _Traits traits_type;
1412: 
1412: 
1412:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1412:       typedef basic_ios<_CharT, _Traits> __ios_type;
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1412:         __num_get_type;
1412:       typedef ctype<_CharT> __ctype_type;
1412: 
1412:     protected:
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       streamsize _M_gcount;
1412: 
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       basic_istream(__streambuf_type* __sb)
1412:       : _M_gcount(streamsize(0))
1412:       { this->init(__sb); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       virtual
1412:       ~basic_istream()
1412:       { _M_gcount = streamsize(0); }
1412: 
1412: 
1412:       class sentry;
1412:       friend class sentry;
1412: # 119 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       operator>>(__istream_type& (*__pf)(__istream_type&))
1412:       { return __pf(*this); }
1412: 
1412:       __istream_type&
1412:       operator>>(__ios_type& (*__pf)(__ios_type&))
1412:       {
1412:  __pf(*this);
1412:  return *this;
1412:       }
1412: 
1412:       __istream_type&
1412:       operator>>(ios_base& (*__pf)(ios_base&))
1412:       {
1412:  __pf(*this);
1412:  return *this;
1412:       }
1412: # 167 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       operator>>(bool& __n)
1412:       { return _M_extract(__n); }
1412: 
1412:       __istream_type&
1412:       operator>>(short& __n);
1412: 
1412:       __istream_type&
1412:       operator>>(unsigned short& __n)
1412:       { return _M_extract(__n); }
1412: 
1412:       __istream_type&
1412:       operator>>(int& __n);
1412: 
1412:       __istream_type&
1412:       operator>>(unsigned int& __n)
1412:       { return _M_extract(__n); }
1412: 
1412:       __istream_type&
1412:       operator>>(long& __n)
1412:       { return _M_extract(__n); }
1412: 
1412:       __istream_type&
1412:       operator>>(unsigned long& __n)
1412:       { return _M_extract(__n); }
1412: 
1412: 
1412:       __istream_type&
1412:       operator>>(long long& __n)
1412:       { return _M_extract(__n); }
1412: 
1412:       __istream_type&
1412:       operator>>(unsigned long long& __n)
1412:       { return _M_extract(__n); }
1412: # 213 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       operator>>(float& __f)
1412:       { return _M_extract(__f); }
1412: 
1412:       __istream_type&
1412:       operator>>(double& __f)
1412:       { return _M_extract(__f); }
1412: 
1412:5:       while (++__first != __last)
1115:  if (!__binary_pred(__dest, __first))
1115:    *++__dest = std::move(*__first);
1115:       return ++__dest;
1115:     }
1115: # 933 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:    
1115:     inline _ForwardIterator
1115:     unique(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__unique(__first, __last,
1115:       __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: # 964 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _BinaryPredicate>
1115:    
1115:     inline _ForwardIterator
1115:     unique(_ForwardIterator __first, _ForwardIterator __last,
1115:     _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       return std::__unique(__first, __last,
1115:       __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _OutputIterator,
1115:     typename _BinaryPredicate>
1115:    
1115:     _OutputIterator
1115:     __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
1115:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1115:     forward_iterator_tag, output_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115: 
1115: 
1115:       _ForwardIterator __next = __first;
1115:       *__result = *__first;
1115:       while (++__next != __last)
1115:  if (!__binary_pred(__first, __next))
1115:    {
1115:      __first = __next;
1115:      *++__result = *__first;
1115:    }
1115:       return ++__result;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _BinaryPredicate>
1115:    
1115:     _OutputIterator
1115:     __unique_copy(_InputIterator __first, _InputIterator __last,
1115:     _OutputIterator __result, _BinaryPredicate __binary_pred,
1115:     input_iterator_tag, output_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115: 
1115: 
1115:       typename iterator_traits<_InputIterator>::value_type __value = *__first;
1115:       __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred))
1115:  __rebound_pred
1115:  = __gnu_cxx::__ops::__iter_comp_val(__binary_pred);
1115:       *__result = __value;
1115:       while (++__first != __last)
1115:  if (!__rebound_pred(__first, __value))
1115:    {
1115:      __value = *__first;
1115:      *++__result = __value;
1115:    }
1115:       return ++__result;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _ForwardIterator,
1115:     typename _BinaryPredicate>
1115:    
1115:     _ForwardIterator
1115:     __unique_copy(_InputIterator __first, _InputIterator __last,
1115:     _ForwardIterator __result, _BinaryPredicate __binary_pred,
1115:     input_iterator_tag, forward_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115: 
1115:       *__result = *__first;
1115:       while (++__first != __last)
1115:  if (!__binary_pred(__result, __first))
1115:    *++__result = *__first;
1115:       return ++__result;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _BidirectionalIterator>
1115:    
1115:     void
1115:     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
1115:        bidirectional_iterator_tag)
1115:     {
1115:       while (true)
1115:  if (__first == __last || __first == --__last)
1115:    return;
1115:  else
1115:    {
1115:      std::iter_swap(__first, __last);
1115:      ++__first;
1115:    }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     void
1115:     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:        random_access_iterator_tag)
1115:     {
1115:       if (__first == __last)
1115:  return;
1115:       --__last;
1115:       while (__first < __last)
1115:  {
1115:    std::iter_swap(__first, __last);
1115:    ++__first;
1115:    --__last;
1115:  }
1115:     }
1115: # 1125 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator>
1115:    
1115:     inline void
1115:     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115:       std::__reverse(__first, __last, std::__iterator_category(__first));
1115:     }
1115: # 1153 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator, typename _OutputIterator>
1115:    
1115:     _OutputIterator
1115:     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
1115:    _OutputIterator __result)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       while (__first != __last)
1115:  {
1115:    --__last;
1115:    *__result = *__last;
1115:    ++__result;
1115:  }
1115:       return __result;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _EuclideanRingElement>
1115:    
1115:     _EuclideanRingElement
1115:     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
1115:     {
1115:       while (__n != 0)
1115:  {
1115:    _EuclideanRingElement __t = __m % __n;
1115:    __m = __n;
1115:    __n = __t;
1115:  }
1115:       return __m;
1115:     }
1115: 
1115:   inline namespace _V2
1115:   {
1115: 
1115: 
1115:   template<typename _ForwardIterator>
1115:    
1115:     _ForwardIterator
1115:     __rotate(_ForwardIterator __first,
1115:       _ForwardIterator __middle,
1115:       _ForwardIterator __last,
1115:       forward_iterator_tag)
1115:     {
1115:       if (__first == __middle)
1115:  return __last;
1115:       else if (__last == __middle)
1115:  return __first;
1115: 
1115:       _ForwardIterator __first2 = __middle;
1115:       do
1115:  {
1115:    std::iter_swap(__first, __first2);
1115:    ++__first;
1115:    ++__first2;
1115:    if (__first == __middle)
1115:      __middle = __first2;
1115:  }
1115:       while (__first2 != __last);
1115: 
1115:       _ForwardIterator __ret = __first;
1115: 
1115:       __first2 = __middle;
1115: 
1115:       while (__first2 != __last)
1115:  {
1115:    std::iter_swap(__first, __first2);
1115:    ++__first;
1115:    ++__first2;
1115:    if (__first == __middle)
1115:      __middle = __first2;
1115:    else if (__first2 == __last)
1115:      __first2 = __middle;
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115: 
1115:   template<typename _BidirectionalIterator>
1115:    
1115:     _BidirectionalIterator
1115:     __rotate(_BidirectionalIterator __first,
1115:       _BidirectionalIterator __middle,
1115:       _BidirectionalIterator __last,
1115:        bidirectional_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115: 
1115:       if (__first == __middle)
1115:  return __last;
1115:       else if (__last == __middle)
1115:  return __first;
1115: 
1115:       std::__reverse(__first, __middle, bidirectional_iterator_tag());
1115:       std::__reverse(__middle, __last, bidirectional_iterator_tag());
1115: 
1115:       while (__first != __middle && __middle != __last)
1115:  {
1115:    std::iter_swap(__first, --__last);
1115:    ++__first;
1115:  }
1115: 
1115:       if (__first == __middle)
1115:  {
1115:    std::__reverse(__middle, __last, bidirectional_iterator_tag());
1115:    return __last;
1115:  }
1115:       else
1115:  {
1115:    std::__reverse(__first, __middle, bidirectional_iterator_tag());
1115:    return __first;
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     _RandomAccessIterator
1115:     __rotate(_RandomAccessIterator __first,
1115:       _RandomAccessIterator __middle,
1115:       _RandomAccessIterator __last,
1115:       random_access_iterator_tag)
1115:     {
1115: 
1115:      
1115: 
1115: 
1115:       if (__first == __middle)
1115:  return __last;
1115:       else if (__last == __middle)
1115:  return __first;
1115: 
1115       __istream_type&
1412:       operator>>(long double& __f)
1412:       { return _M_extract(__f); }
1412: # 234 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       operator>>(void*& __p)
1412:       { return _M_extract(__p); }
1412: # 258 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       operator>>(__streambuf_type* __sb);
1412: # 268 "/usr/include/c++/12/istream" 3
1412:       streamsize
1412:       gcount() const
1412:       { return _M_gcount; }
1412: # 301 "/usr/include/c++/12/istream" 3
1412:       int_type
1412:       get();
1412: # 315 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       get(char_type& __c);
1412: # 342 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       get(char_type* __s, streamsize __n, char_type __delim);
1412: # 353 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       get(char_type* __s, streamsize __n)
1412:       { return this->get(__s, __n, this->widen('\n')); }
1412: # 376 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       get(__streambuf_type& __sb, char_type __delim);
1412: # 386 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       get(__streambuf_type& __sb)
1412:       { return this->get(__sb, this->widen('\n')); }
1412: # 415 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       getline(char_type* __s, streamsize __n, char_type __delim);
1412: # 426 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       getline(char_type* __s, streamsize __n)
1412:       { return this->getline(__s, __n, this->widen('\n')); }
1412: # 450 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       ignore(streamsize __n, int_type __delim);
1412: 
1412:       __istream_type&
1412:       ignore(streamsize __n);
1412: 
1412:       __istream_type&
1412:       ignore();
1412: # 467 "/usr/include/c++/12/istream" 3
1412:       int_type
1412:       peek();
1412: # 485 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       read(char_type* __s, streamsize __n);
1412: # 504 "/usr/include/c++/12/istream" 3
1412:       streamsize
1412:       readsome(char_type* __s, streamsize __n);
1412: # 521 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       putback(char_type __c);
1412: # 537 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       unget();
1412: # 555 "/usr/include/c++/12/istream" 3
1412:       int
1412:       sync();
1412: # 570 "/usr/include/c++/12/istream" 3
1412:       pos_type
1412:       tellg();
1412: # 585 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       seekg(pos_type);
1412: # 601 "/usr/include/c++/12/istream" 3
1412:       __istream_type&
1412:       seekg(off_type, ios_base::seekdir);
1412: 
1412: 
1412:     protected:
1412:       basic_istream()
1412:       : _M_gcount(streamsize(0))
1412:       { this->init(0); }
1412: 
1412: 
1412:       basic_istream(const basic_istream&) = delete;
1412: 
1412:       basic_istream(basic_istream&& __rhs)
1412:       : __ios_type(), _M_gcount(__rhs._M_gcount)
1412:       {
1412:  __ios_type::move(__rhs);
1412:  __rhs._M_gcount = 0;
1412:       }
1412: 
1412: 
1412: 
1412:       basic_istream& operator=(const basic_istream&) = delete;
1412: 
1412:       basic_istream&
1412:       operator=(basic_istream&& __rhs)
1412:       {
1412:  swap(__rhs);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       swap(basic_istream& __rhs)
1412:       {
1412:  __ios_type::swap(__rhs);
1412:  std::swap(_M_gcount, __rhs._M_gcount);
1412:       }
1412: 
1412: 
1412:       template<typename _ValueT>
1412:  __istream_type&
1412:  _M_extract(_ValueT& __v);
1412:     };
1412: 
1412: 
1412:   template<>
1412:     basic_istream<char>&
1412:     basic_istream<char>::
1412:     getline(char_type* __s, streamsize __n, char_type __delim);
1412: 
1412:   template<>
1412:     basic_istream<char>&
1412:     basic_istream<char>::
1412:     ignore(streamsize __n);
1412: 
1412:   template<>
1412:     basic_istream<char>&
1412:     basic_istream<char>::
1412:     ignore(streamsize __n, int_type __delim);
1412: 
1412: 
1412:   template<>
1412:     basic_istream<wchar_t>&
1412:     basic_istream<wchar_t>::
1412:     getline(char_type* __s, streamsize __n, char_type __delim);
1412: 
1412:   template<>
1412:     basic_istream<wchar_t>&
1412:     basic_istream<wchar_t>::
1412:     ignore(streamsize __n);
1412: 
1412:   template<>
1412:     basic_istream<wchar_t>&
1412:     basic_istream<wchar_t>::
1412:     ignore(streamsize __n, int_type __delim);
1412: # 685 "/usr/include/c++/12/istream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     class basic_istream<_CharT, _Traits>::sentry
1412:     {
1412: 
1412:       bool _M_ok;
1412: 
1412:     public:
1412: 
1412:       typedef _Traits traits_type;
1412:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef typename __istream_type::__ctype_type __ctype_type;
1412:       typedef typename _Traits::int_type __int_type;
1412: # 721 "/usr/include/c++/12/istream" 3
1412:       explicit
1412:       sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
1412: # 732 "/usr/include/c++/12/istream" 3
1412:       explicit
1412: 
1412:       operator bool() const
1412:       { return _M_ok; }
1412:     };
1412: # 750 "/usr/include/c++/12/istream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
1412: 
1412:   template<class _Traits>
1412:     inline basic_istream<char, _Traits>&
1412:     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
1412:     { return (__in >> reinterpret_cast<char&>(__c)); }
1412: 
1412:   template<class _Traits>
1412:     inline basic_istream<char, _Traits>&
1412:     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
1412:     { return (__in >> reinterpret_cast<char&>(__c)); }
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     void
1412:     __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize);
1412: 
1412:   void __istream_extract(istream&, char*, streamsize);
1412: # 800 "/usr/include/c++/12/istream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1412:     inline basic_istream<_CharT, _Traits>&
1412:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
1412:     {
1412: 
1412: 
1412: 
1412:       size_t __n = __builtin_object_size(__s, 0);
1412:       if (__n < sizeof(_CharT))
1412:  {
1412: 
1412:    do { if (std::__is_constant_evaluated() && !bool(__n >= sizeof(_CharT))) __builtin_unreachable(); } while (false);
1412: 
1412:    __in.width(0);
1412:    __in.setstate(ios_base::failbit);
1412:  }
1412:       else if (__n != (size_t)-1)
1412:  {
1412:    __n /= sizeof(_CharT);
1412:    streamsize __w = __in.width();
1412:    std::__istream_extract(__in, __s, __n);
1412:    if (__in.good() && (__w <= 0 || __n < __w))
1412:      {
1412: 
1412: 
1412:        const typename _Traits::int_type __c = __in.rdbuf()->sgetc();
1412:        const bool __eof = _Traits::eq_int_type(__c, _Traits::eof());
1412:        if (__builtin_expect(__eof, true))
1412:   __in.setstate(ios_base::eofbit);
1412:      }
1412:  }
1412:       else
1412: 
1412:  {
1412: 
1412:    streamsize __n = __gnu_cxx::__numeric_traits<streamsize>::__max;
1412:    __n /= sizeof(_CharT);
1412:    std::__istream_extract(__in, __s, __n);
1412:  }
1412:       return __in;
1412:     }
1412: 
1412:   template<class _Traits>
1412:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1412:     inline basic_istream<char, _Traits>&
1412:     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
1412:     { return __in >> reinterpret_cast<char*>(__s); }
1412: 
1412:   template<class _Traits>
1412:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1412:     inline basic_istream<cha:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:  _Distance;
1115:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1115:  _ValueType;
1115: 
1115:       _Distance __n = __last - __first;
1115:       _Distance __k = __middle - __first;
1115: 
1115:       if (__k == __n - __k)
1115:  {
1115:    std::swap_ranges(__first, __middle, __middle);
1115:    return __middle;
1115:  }
1115: 
1115:       _RandomAccessIterator __p = __first;
1115:       _RandomAccessIterator __ret = __first + (__last - __middle);
1115: 
1115:       for (;;)
1115:  {
1115:    if (__k < __n - __k)
1115:      {
1115:        if (__is_pod(_ValueType) && __k == 1)
1115:   {
1115:     _ValueType __t = std::move(*__p);
1115:     std::move(__p + 1, __p + __n, __p);
1115:     *(__p + __n - 1) = std::move(__t);
1115:     return __ret;
1115:   }
1115:        _RandomAccessIterator __q = __p + __k;
1115:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1115:   {
1115:     std::iter_swap(__p, __q);
1115:     ++__p;
1115:     ++__q;
1115:   }
1115:        __n %= __k;
1115:        if (__n == 0)
1115:   return __ret;
1115:        std::swap(__n, __k);
1115:        __k = __n - __k;
1115:      }
1115:    else
1115:      {
1115:        __k = __n - __k;
1115:        if (__is_pod(_ValueType) && __k == 1)
1115:   {
1115:     _ValueType __t = std::move(*(__p + __n - 1));
1115:     std::move_backward(__p, __p + __n - 1, __p + __n);
1115:     *__p = std::move(__t);
1115:     return __ret;
1115:   }
1115:        _RandomAccessIterator __q = __p + __n;
1115:        __p = __q - __k;
1115:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
1115:   {
1115:     --__p;
1115:     --__q;
1115:     std::iter_swap(__p, __q);
1115:   }
1115:        __n %= __k;
1115:        if (__n == 0)
1115:   return __ret;
1115:        std::swap(__n, __k);
1115:      }
1115:  }
1115:     }
1115: # 1385 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:    
1115:     inline _ForwardIterator
1115:     rotate(_ForwardIterator __first, _ForwardIterator __middle,
1115:     _ForwardIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__rotate(__first, __middle, __last,
1115:       std::__iterator_category(__first));
1115:     }
1115: 
1115:   }
1115: # 1423 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
1115:   _ForwardIterator __last, _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::copy(__first, __middle,
1115:          std::copy(__middle, __last, __result));
1115:     }
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _Predicate>
1115:    
1115:     _ForwardIterator
1115:     __partition(_ForwardIterator __first, _ForwardIterator __last,
1115:   _Predicate __pred, forward_iterator_tag)
1115:     {
1115:       if (__first == __last)
1115:  return __first;
1115: 
1115:       while (__pred(*__first))
1115:  if (++__first == __last)
1115:    return __first;
1115: 
1115:       _ForwardIterator __next = __first;
1115: 
1115:       while (++__next != __last)
1115:  if (__pred(*__next))
1115:    {
1115:      std::iter_swap(__first, __next);
1115:      ++__first;
1115:    }
1115: 
1115:       return __first;
1115:     }
1115: 
1115: 
1115:   template<typename _BidirectionalIterator, typename _Predicate>
1115:    
1115:     _BidirectionalIterator
1115:     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
1115:   _Predicate __pred, bidirectional_iterator_tag)
1115:     {
1115:       while (true)
1115:  {
1115:    while (true)
1115:      if (__first == __last)
1115:        return __first;
1115:      else if (__pred(*__first))
1115:        ++__first;
1115:      else
1115:        break;
1115:    --__last;
1115:    while (true)
1115:      if (__first == __last)
1115:        return __first;
1115:      else if (!bool(__pred(*__last)))
1115:        --__last;
1115:      else
1115:        break;
1115:    std::iter_swap(__first, __last);
1115:    ++__first;
1115:  }
1115:     }
1115: # 1503 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
1115:     typename _Distance>
1115:     _ForwardIterator
1115:     __stable_partition_adaptive(_ForwardIterator __first,
1115:     _ForwardIterator __last,
1115:     _Predicate __pred, _Distance __len,
1115:     _Pointer __buffer,
1115:     _Distance __buffer_size)
1115:     {
1115:       if (__len == 1)
1115:  return __first;
1115: 
1115:       if (__len <= __buffer_size)
1115:  {
1115:    _ForwardIterator __result1 = __first;
1115:    _Pointer __result2 = __buffer;
1115: 
1115: 
1115: 
1115: 
1115:    *__result2 = std::move(*__first);
1115:    ++__result2;
1115:    ++__first;
1115:    for (; __first != __last; ++__first)
1115:      if (__pred(__first))
1115:        {
1115:   *__result1 = std::move(*__first);
1115:   ++__result1;
1115:        }
1115:      else
1115:        {
1115:   *__result2 = std::move(*__first);
1115:   ++__result2;
1115:        }
1115: 
1115:    std::move(__buffer, __result2, __result1);
1115:    return __result1;
1115:  }
1115: 
1115:       _ForwardIterator __middle = __first;
1115:       std::advance(__middle, __len / 2);
1115:       _ForwardIterator __left_split =
1115:  std::__stable_partition_adaptive(__first, __middle, __pred,
1115:       __len / 2, __buffer,
1115:       __buffer_size);
1115: 
1115: 
1115: 
1115:       _Distance __right_len = __len - __len / 2;
1115:       _ForwardIterator __right_split =
1115:  std::__find_if_not_n(__middle, __right_len, __pred);
1115: 
1115:       if (__right_len)
1115:  __right_split =
1115:    std::__stable_partition_adaptive(__right_split, __last, __pred,
1115:         __right_len,
1115:         __buffer, __buffer_size);
1115: 
1115:       return std::rotate(__left_split, __middle, __right_split);
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Predicate>
1115:     _ForwardIterator
1115:     __stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1115:          _Predicate __pred)
1115:     {
1115:       __first = std::__find_if_not(__first, __last, __pred);
1115: 
1115:       if (__first == __last)
1115:  return __first;
1115: 
1115:       typedef typename iterator_traits<_ForwardIterator>::value_type
1115:  _ValueType;
1115:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1115:  _DistanceType;
1115: 
1115:       _Temporary_buffer<_ForwardIterator, _ValueType>
1115:  __buf(__first, std::distance(__first, __last));
1115:       return
1115:  std::__stable_partition_adaptive(__first, __last, __pred,
1115:       _DistanceType(__buf.requested_size()),
1115:       __buf.begin(),
1115:       _DistanceType(__buf.size()));
1115:     }
1115: # 1605 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Predicate>
1115:     inline _ForwardIterator
1115:     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
1115:        _Predicate __pred)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__stable_partition(__first, __last,
1115:          __gnu_cxx::__ops::__pred_iter(__pred));
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     void
1115:     __heap_select(_RandomAccessIterator __first,
1115:     _RandomAccessIterator __middle,
1115:     _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115:       std::__make_heap(__first, __middle, __comp);
1115:       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
1115:  if (__comp(__i, __first))
1115:    std::__pop_heap(__first, __middle, __i, __comp);
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _RandomAccessIterator,
1115:     typename _Compare>
1115:    
1115:     _Randr, _Traits>&
1412:     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
1412:     { return __in >> reinterpret_cast<char*>(__s); }
1412: # 889 "/usr/include/c++/12/istream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     class basic_iostream
1412:     : public basic_istream<_CharT, _Traits>,
1412:       public basic_ostream<_CharT, _Traits>
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef typename _Traits::int_type int_type;
1412:       typedef typename _Traits::pos_type pos_type;
1412:       typedef typename _Traits::off_type off_type;
1412:       typedef _Traits traits_type;
1412: 
1412: 
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       explicit
1412:       basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
1412:       : __istream_type(__sb), __ostream_type(__sb) { }
1412: 
1412: 
1412: 
1412: 
1412:       virtual
1412:       ~basic_iostream() { }
1412: 
1412:     protected:
1412:       basic_iostream()
1412:       : __istream_type(), __ostream_type() { }
1412: 
1412: 
1412:       basic_iostream(const basic_iostream&) = delete;
1412: 
1412:       basic_iostream(basic_iostream&& __rhs)
1412:       : __istream_type(std::move(__rhs)), __ostream_type(*this)
1412:       { }
1412: 
1412: 
1412: 
1412:       basic_iostream& operator=(const basic_iostream&) = delete;
1412: 
1412:       basic_iostream&
1412:       operator=(basic_iostream&& __rhs)
1412:       {
1412:  swap(__rhs);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       swap(basic_iostream& __rhs)
1412:       { __istream_type::swap(__rhs); }
1412: 
1412:     };
1412: # 972 "/usr/include/c++/12/istream" 3
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     ws(basic_istream<_CharT, _Traits>& __is);
1412: # 988 "/usr/include/c++/12/istream" 3
1412:   template<typename _Is, typename _Tp,
1412:     typename = _Require_derived_from_ios_base<_Is>,
1412:     typename = decltype(std::declval<_Is&>() >> std::declval<_Tp>())>
1412:     using __rvalue_stream_extraction_t = _Is&&;
1412: # 1004 "/usr/include/c++/12/istream" 3
1412:   template<typename _Istream, typename _Tp>
1412:     inline __rvalue_stream_extraction_t<_Istream, _Tp>
1412:     operator>>(_Istream&& __is, _Tp&& __x)
1412:     {
1412:       __is >> std::forward<_Tp>(__x);
1412:       return std::move(__is);
1412:     }
1412: 
1412: 
1412: 
1412: }
1412: 
1412: # 1 "/usr/include/c++/12/bits/istream.tcc" 1 3
1412: # 37 "/usr/include/c++/12/bits/istream.tcc" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/istream.tcc" 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>::sentry::
1412:     sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
1412:     {
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       if (__in.good())
1412:  {
1412:    try
1412:      {
1412:        if (__in.tie())
1412:   __in.tie()->flush();
1412:        if (!__noskip && bool(__in.flags() & ios_base::skipws))
1412:   {
1412:     const __int_type __eof = traits_type::eof();
1412:     __streambuf_type* __sb = __in.rdbuf();
1412:     __int_type __c = __sb->sgetc();
1412: 
1412:     const __ctype_type& __ct = __check_facet(__in._M_ctype);
1412:     while (!traits_type::eq_int_type(__c, __eof)
1412:     && __ct.is(ctype_base::space,
1412:         traits_type::to_char_type(__c)))
1412:       __c = __sb->snextc();
1412: 
1412: 
1412: 
1412: 
1412:     if (traits_type::eq_int_type(__c, __eof))
1412:       __err |= ios_base::eofbit;
1412:   }
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        __in._M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { __in._M_setstate(ios_base::badbit); }
1412:  }
1412: 
1412:       if (__in.good() && __err == ios_base::goodbit)
1412:  _M_ok = true;
1412:       else
1412:  {
1412:    __err |= ios_base::failbit;
1412:    __in.setstate(__err);
1412:  }
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     template<typename _ValueT>
1412:       basic_istream<_CharT, _Traits>&
1412:       basic_istream<_CharT, _Traits>::
1412:       _M_extract(_ValueT& __v)
1412:       {
1412:  sentry __cerb(*this, false);
1412:  if (__cerb)
1412:    {
1412:      ios_base::iostate __err = ios_base::goodbit;
1412:      try
1412:        {
1412:   const __num_get_type& __ng = __check_facet(this->_M_num_get);
1412:   __ng.get(*this, 0, *this, __err, __v);
1412:        }
1412:      catch(__cxxabiv1::__forced_unwind&)
1412:        {
1412:   this->_M_setstate(ios_base::badbit);
1412:   throw;
1412:        }
1412:      catch(...)
1412:        { this->_M_setstate(ios_base::badbit); }
1412:      if (__err)
1412:        this->setstate(__err);
1412:    }
1412:  return *this;
1412:       }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     operator>>(short& __n)
1412:     {
1412: 
1412: 
1412:       sentry __cerb(*this, false);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        long __l;
1412:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1412:        __ng.get(*this, 0, *this, __err, __l);
1412: 
1412: 
1412: 
1412:        if (__l < __gnu_cxx::__numeric_traits<short>::__min)
1412:   {
1412:     __err |= ios_base::failbit;
1412:     __n = __gnu_cxx::__numeric_traits<short>::__min;
1412:   }
1412:        else if (__l > __gnu_cxx::__numeric_traits<short>::__max)
1412:   {
1412:     __err |= ios_base::failbit;
1412:     __n = __gnu_cxx::__numeric_traits<short>::__max;
1412:   }
1412:        else
1412:   __n = short(__l);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     operator>>(int& __n)
1412:     {
1412: 
1412: 
1412:       sentry __cerb(*this, false);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        long __l;
1412:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1412:        __ng.get(*this, 0, *this, __err, __l);
1412: 
1412: 
1412: 
1412:        if (__l < __gnu_cxx::__numeric_traits<int>::__min)
1412:   {
1412:     __err |= ios_base::failbit;
1412:     __n = __gnu_cxx::__numeric_traits<int>::__min;
1412:   }
1412:        else if (__l > __gnu_cxx::__numeric_traits<int>::__max)
1412:   {
1412:     __err |= ios_base::failbit;
1412:     __n = __gnu_cxx::__numeric_traits<int>::__max;
1412:   }
1412:        else
1412:   __n = int(__l);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     operator>>(__streambuf_type* __sbout)
1412:     {
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       sentry __cerb(*this, false);
1412:       if (__cerb && __sbout)
1412:  {
1412:    try
1412:      {
1412:        bool __ineof;
1412:        if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
1412:   __err |= ios_base::failbit;
1412: omAccessIterator
1115:     __partial_sort_copy(_InputIterator __first, _InputIterator __last,
1115:    _RandomAccessIterator __result_first,
1115:    _RandomAccessIterator __result_last,
1115:    _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_InputIterator>::value_type
1115:  _InputValueType;
1115:       typedef iterator_traits<_RandomAccessIterator> _RItTraits;
1115:       typedef typename _RItTraits::difference_type _DistanceType;
1115: 
1115:       if (__result_first == __result_last)
1115:  return __result_last;
1115:       _RandomAccessIterator __result_real_last = __result_first;
1115:       while (__first != __last && __result_real_last != __result_last)
1115:  {
1115:    *__result_real_last = *__first;
1115:    ++__result_real_last;
1115:    ++__first;
1115:  }
1115: 
1115:       std::__make_heap(__result_first, __result_real_last, __comp);
1115:       while (__first != __last)
1115:  {
1115:    if (__comp(__first, __result_first))
1115:      std::__adjust_heap(__result_first, _DistanceType(0),
1115:           _DistanceType(__result_real_last
1115:           - __result_first),
1115:           _InputValueType(*__first), __comp);
1115:    ++__first;
1115:  }
1115:       std::__sort_heap(__result_first, __result_real_last, __comp);
1115:       return __result_real_last;
1115:     }
1115: # 1693 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _RandomAccessIterator>
1115:    
1115:     inline _RandomAccessIterator
1115:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1115:         _RandomAccessIterator __result_first,
1115:         _RandomAccessIterator __result_last)
1115:     {
1115: # 1708 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__partial_sort_copy(__first, __last,
1115:           __result_first, __result_last,
1115:           __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 1743 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _RandomAccessIterator,
1115:     typename _Compare>
1115:    
1115:     inline _RandomAccessIterator
1115:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
1115:         _RandomAccessIterator __result_first,
1115:         _RandomAccessIterator __result_last,
1115:         _Compare __comp)
1115:     {
1115: # 1760 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__partial_sort_copy(__first, __last,
1115:           __result_first, __result_last,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     void
1115:     __unguarded_linear_insert(_RandomAccessIterator __last,
1115:          _Compare __comp)
1115:     {
1115:       typename iterator_traits<_RandomAccessIterator>::value_type
1115:  __val = std::move(*__last);
1115:       _RandomAccessIterator __next = __last;
1115:       --__next;
1115:       while (__comp(__val, __next))
1115:  {
1115:    *__last = std::move(*__next);
1115:    __last = __next;
1115:    --__next;
1115:  }
1115:       *__last = std::move(__val);
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     void
1115:     __insertion_sort(_RandomAccessIterator __first,
1115:        _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115:       if (__first == __last) return;
1115: 
1115:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1115:  {
1115:    if (__comp(__i, __first))
1115:      {
1115:        typename iterator_traits<_RandomAccessIterator>::value_type
1115:   __val = std::move(*__i);
1115:        std::move_backward(__first, __i, __i + 1);
1115:        *__first = std::move(__val);
1115:      }
1115:    else
1115:      std::__unguarded_linear_insert(__i,
1115:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     __unguarded_insertion_sort(_RandomAccessIterator __first,
1115:           _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115:       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
1115:  std::__unguarded_linear_insert(__i,
1115:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   enum { _S_threshold = 16 };
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     void
1115:     __final_insertion_sort(_RandomAccessIterator __first,
1115:       _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115:       if (__last - __first > int(_S_threshold))
1115:  {
1115:    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
1115:    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
1115:        __comp);
1115:  }
1115:       else
1115:  std::__insertion_sort(__first, __last, __comp);
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     _RandomAccessIterator
1115:     __unguarded_partition(_RandomAccessIterator __first,
1115:      _RandomAccessIterator __last,
1115:      _RandomAccessIterator __pivot, _Compare __comp)
1115:     {
1115:       while (true)
1115:  {
1115:    while (__comp(__first, __pivot))
1115:      ++__first;
1115:    --__last;
1115:    while (__comp(__pivot, __last))
1115:      --__last;
1115:    if (!(__first < __last))
1115:      return __first;
1115:    std::iter_swap(__first, __last);
1115:    ++__first;
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline _RandomAccessIterator
1115:     __unguarded_partition_pivot(_RandomAccessIterator __first,
1115:     _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115:       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
1115:       std::__move_median_to_first(__first, __first + 1, __mid, __last - 1,
1115:       __comp);
1115:       return std::__unguarded_partition(__first + 1, __last, __first, __comp);
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     __partial_sort(_RandomAccessIterator __first,
1115:      _RandomAccessIterator __middle,
1115:      _RandomAccessIterator __last,
1115:      _Compare __comp)
1115:     {
1115:       std::__heap_select(__first, __middle, __last, __comp);
1115:       std::__sort_heap(__first, __middle, __comp);
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
1115:    
1115:     void
1115:     __introsort_loop(_RandomAccessIterator __first,
1115:        _RandomAccessIterator __last,
1115:        _Size __depth_limit, _Compare __comp)
1115:     {
1115:       while (__last - __first > int(_S_threshold))
1115:  {
1115:    if (__depth_limit == 0)
1115:      {
1115:        std::__partial_sort(__first, __last, __last, __comp);
1115:        return;
1115:      }
1115:    --__depth_limit;
1115:    _RandomAccessIterator __cut =
1115:      std::__unguarded_partition_pivot(__first, __last, __comp);
1115:    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
1115:    __last = __cut;
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     __sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:     _Compare __comp)
1115:     {
1115:       if (__first != __last)
1115:  {
1115:    std::__introsort_loop(__first, __last,
1115:     std::__lg(__last - __first) * 2,
1115:     __comp);
1115:    std::__final_insertion_sort(__first, __last, __comp);
1115:  }
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Size, typename _Com       if (__ineof)
1412:   __err |= ios_base::eofbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::failbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::failbit); }
1412:  }
1412:       else if (!__sbout)
1412:  __err |= ios_base::failbit;
1412:       if (__err)
1412:  this->setstate(__err);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     typename basic_istream<_CharT, _Traits>::int_type
1412:     basic_istream<_CharT, _Traits>::
1412:     get(void)
1412:     {
1412:       const int_type __eof = traits_type::eof();
1412:       int_type __c = __eof;
1412:       _M_gcount = 0;
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412:        __c = this->rdbuf()->sbumpc();
1412: 
1412:        if (!traits_type::eq_int_type(__c, __eof))
1412:   _M_gcount = 1;
1412:        else
1412:   __err |= ios_base::eofbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:  }
1412:       if (!_M_gcount)
1412:  __err |= ios_base::failbit;
1412:       if (__err)
1412:  this->setstate(__err);
1412:       return __c;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     get(char_type& __c)
1412:     {
1412:       _M_gcount = 0;
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412:        const int_type __cb = this->rdbuf()->sbumpc();
1412: 
1412:        if (!traits_type::eq_int_type(__cb, traits_type::eof()))
1412:   {
1412:     _M_gcount = 1;
1412:     __c = traits_type::to_char_type(__cb);
1412:   }
1412:        else
1412:   __err |= ios_base::eofbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:  }
1412:       if (!_M_gcount)
1412:  __err |= ios_base::failbit;
1412:       if (__err)
1412:  this->setstate(__err);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     get(char_type* __s, streamsize __n, char_type __delim)
1412:     {
1412:       _M_gcount = 0;
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412:        const int_type __idelim = traits_type::to_int_type(__delim);
1412:        const int_type __eof = traits_type::eof();
1412:        __streambuf_type* __sb = this->rdbuf();
1412:        int_type __c = __sb->sgetc();
1412: 
1412:        while (_M_gcount + 1 < __n
1412:        && !traits_type::eq_int_type(__c, __eof)
1412:        && !traits_type::eq_int_type(__c, __idelim))
1412:   {
1412:     *__s++ = traits_type::to_char_type(__c);
1412:     ++_M_gcount;
1412:     __c = __sb->snextc();
1412:   }
1412:        if (traits_type::eq_int_type(__c, __eof))
1412:   __err |= ios_base::eofbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:  }
1412: 
1412: 
1412:       if (__n > 0)
1412:  *__s = char_type();
1412:       if (!_M_gcount)
1412:  __err |= ios_base::failbit;
1412:       if (__err)
1412:  this->setstate(__err);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     get(__streambuf_type& __sb, char_type __delim)
1412:     {
1412:       _M_gcount = 0;
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412:        const int_type __idelim = traits_type::to_int_type(__delim);
1412:        const int_type __eof = traits_type::eof();
1412:        __streambuf_type* __this_sb = this->rdbuf();
1412:        int_type __c = __this_sb->sgetc();
1412:        char_type __c2 = traits_type::to_char_type(__c);
1412:        unsigned long long __gcount = 0;
1412: 
1412:        while (!traits_type::eq_int_type(__c, __eof)
1412:        && !traits_type::eq_int_type(__c, __idelim)
1412:        && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
1412:   {
1412:     ++__gcount;
1412:     __c = __this_sb->snextc();
1412:     __c2 = traits_type::to_char_type(__c);
1412:   }
1412:        if (traits_type::eq_int_type(__c, __eof))
1412:   __err |= ios_base::eofbit;
1412: 
1412: 
1412:        if (__gcount <= __gnu_cxx::__numeric_traits<streamsize>::__max)
1412:   _M_gcount = __gcount;
1412:        else
1412:   _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:  }
1412:       if (!_M_gcount)
1412:  __err |= ios_base::failbit;
1412:       if (__err)
1412:  this->setstate(__err);
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     getline(char_type* __s, streamsize __n, char_type __delim)
1412:     {
1412:       _M_gcount = 0;
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:         {
1412:           try
1412:             {
1412:               const int_type __idelim = traits_type::to_int_type(__delim);
1412:               const int_type __eof = traits_type::eof();
1412:               __streambuf_type* __sb = this->rdbuf();
1412:               int_type __c = __sb->sgetc();
1412: 
1412:               while (_M_gcount + 1 < __n
1412:                      && !traits_type::eq_int_type(__c, __eof)
1412:                      && !traits_type::eq_int_type(__c, __idelim))
1412:                 {
1412:                   *__s++ = traits_type::to_char_type(__c);
1412:                   __c = __sb->snextc();
1412:                   ++_M_gcount;
1412:                 }
1412:               if (traits_type::eq_int_type(__c, __eof))
1412:                 __err |= ios_base::eofbit;
1412:               else
1412:                 {
1412:                   if (traits_type::eq_int_type(__c, __idelim))
1412:                     {
1412:                       __sb->sbumpc();
1412:                       ++_M_gcount;
1412:                     }
1412:                   else
1412:                     __err |= ios_base::failbit;
1412:                 }
1412:             }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:           catch(...)
1412:             { this->_M_setstate(ios_base::badbit); }
1412:         }
1412: 
1412: 
1412:       if (__n > 0)
1412:  *__s = char_type();
1412:       if (!_M_gcount)
1412:         __err |= ios_base::failbit;
1412:       if (__err)
1412:         this->setstate(__err);
1412:       return *this;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     ignore(void)
1412:     {
1412:       _M_gcount = 0;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        const int_type __eof pare>
1115:    
1115:     void
1115:     __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1115:     _RandomAccessIterator __last, _Size __depth_limit,
1115:     _Compare __comp)
1115:     {
1115:       while (__last - __first > 3)
1115:  {
1115:    if (__depth_limit == 0)
1115:      {
1115:        std::__heap_select(__first, __nth + 1, __last, __comp);
1115: 
1115:        std::iter_swap(__first, __nth);
1115:        return;
1115:      }
1115:    --__depth_limit;
1115:    _RandomAccessIterator __cut =
1115:      std::__unguarded_partition_pivot(__first, __last, __comp);
1115:    if (__cut <= __nth)
1115:      __first = __cut;
1115:    else
1115:      __last = __cut;
1115:  }
1115:       std::__insertion_sort(__first, __last, __comp);
1115:     }
1115: # 1991 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1115:    
1115:     inline _ForwardIterator
1115:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
1115:   const _Tp& __val, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115:                     ;
1115: 
1115:       return std::__lower_bound(__first, __last, __val,
1115:     __gnu_cxx::__ops::__iter_comp_val(__comp));
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1115:    
1115:     _ForwardIterator
1115:     __upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1115:     const _Tp& __val, _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1115:  _DistanceType;
1115: 
1115:       _DistanceType __len = std::distance(__first, __last);
1115: 
1115:       while (__len > 0)
1115:  {
1115:    _DistanceType __half = __len >> 1;
1115:    _ForwardIterator __middle = __first;
1115:    std::advance(__middle, __half);
1115:    if (__comp(__val, __middle))
1115:      __len = __half;
1115:    else
1115:      {
1115:        __first = __middle;
1115:        ++__first;
1115:        __len = __len - __half - 1;
1115:      }
1115:  }
1115:       return __first;
1115:     }
1115: # 2047 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline _ForwardIterator
1115:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1115:   const _Tp& __val)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__upper_bound(__first, __last, __val,
1115:     __gnu_cxx::__ops::__val_less_iter());
1115:     }
1115: # 2078 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1115:    
1115:     inline _ForwardIterator
1115:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
1115:   const _Tp& __val, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115:                     ;
1115: 
1115:       return std::__upper_bound(__first, __last, __val,
1115:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Tp,
1115:     typename _CompareItTp, typename _CompareTpIt>
1115:    
1115:     pair<_ForwardIterator, _ForwardIterator>
1115:     __equal_range(_ForwardIterator __first, _ForwardIterator __last,
1115:     const _Tp& __val,
1115:     _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it)
1115:     {
1115:       typedef typename iterator_traits<_ForwardIterator>::difference_type
1115:  _DistanceType;
1115: 
1115:       _DistanceType __len = std::distance(__first, __last);
1115: 
1115:       while (__len > 0)
1115:  {
1115:    _DistanceType __half = __len >> 1;
1115:    _ForwardIterator __middle = __first;
1115:    std::advance(__middle, __half);
1115:    if (__comp_it_val(__middle, __val))
1115:      {
1115:        __first = __middle;
1115:        ++__first;
1115:        __len = __len - __half - 1;
1115:      }
1115:    else if (__comp_val_it(__val, __middle))
1115:      __len = __half;
1115:    else
1115:      {
1115:        _ForwardIterator __left
1115:   = std::__lower_bound(__first, __middle, __val, __comp_it_val);
1115:        std::advance(__first, __len);
1115:        _ForwardIterator __right
1115:   = std::__upper_bound(++__middle, __first, __val, __comp_val_it);
1115:        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
1115:      }
1115:  }
1115:       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
1115:     }
1115: # 2151 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     inline pair<_ForwardIterator, _ForwardIterator>
1115:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1115:   const _Tp& __val)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__equal_range(__first, __last, __val,
1115:     __gnu_cxx::__ops::__iter_less_val(),
1115:     __gnu_cxx::__ops::__val_less_iter());
1115:     }
1115: # 2188 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1115:    
1115:     inline pair<_ForwardIterator, _ForwardIterator>
1115:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
1115:   const _Tp& __val, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115:                     ;
1115:      
1115:                     ;
1115: 
1115:       return std::__equal_range(__first, __last, __val,
1115:     __gnu_cxx::__ops::__iter_comp_val(__comp),
1115:     __gnu_cxx::__ops::__val_comp_iter(__comp));
1115:     }
1115: # 2222 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     bool
1115:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1115:     const _Tp& __val)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       _ForwardIterator __i
1115:  = std::__lower_bound(__first, __last, __val,
1115:         __gnu_cxx::__ops::__iter_less_val());
1115:       return __i != __last && !(__val < *__i);
1115:     }
1115: # 2256 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
1115:    
1115:     bool
1115:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
1115:     const _Tp& __val, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115:                     ;
1115:      
1115:                     ;
1115: 
1115:       _ForwardIterator __i
1115:  = std::__lower_bound(__first, __last, __val,
1115:         __gnu_cxx::__ops::__iter_comp_val(__comp));
1115:       return __i != __last && !bool(__comp(__val, *__i));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _Compare>
1115:     void
1115:     __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1,
1115:      _InputIterator2 __first2, _InputIterator2 __last2,
1115:      _OutputIterator __result, _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  {
1115:    if (__comp(__first2, __first1))
1115:      {
1115:        *__result = std::move(*__first2);
1115:        ++__first2;
1115:      }
1115:    else
1115:      {
1115:        *__result = std::move(*__first1);
1115:        ++__first1;
1115:      }
1115:    ++__result;
1115:  }
1115:       if (__first1 != __last1)
1115:  std::move(__first1, __last1, __result);
1115:     }
1115: 
1115: 
1115:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1115:     typename _BidirectionalIterator3, typename _Compare>
1115:     void
1115:     __move_merge_adaptive_backward(_BidirectionalIterator1 __first1,
1115:        _BidirectionalIterator1 __last1,
1115:        _BidirectionalIterator2 __first2,
1115:        _BidirectionalIterator2 __last2,
1115:        _BidirectionalIterator3 __result,
1115:       = traits_type::eof();
1412:        __streambuf_type* __sb = this->rdbuf();
1412: 
1412:        if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
1412:   __err |= ios_base::eofbit;
1412:        else
1412:   _M_gcount = 1;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     ignore(streamsize __n)
1412:     {
1412:       _M_gcount = 0;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb && __n > 0)
1412:         {
1412:           ios_base::iostate __err = ios_base::goodbit;
1412:           try
1412:             {
1412:               const int_type __eof = traits_type::eof();
1412:               __streambuf_type* __sb = this->rdbuf();
1412:               int_type __c = __sb->sgetc();
1412: # 530 "/usr/include/c++/12/bits/istream.tcc" 3
1412:        bool __large_ignore = false;
1412:        while (true)
1412:   {
1412:     while (_M_gcount < __n
1412:     && !traits_type::eq_int_type(__c, __eof))
1412:       {
1412:         ++_M_gcount;
1412:         __c = __sb->snextc();
1412:       }
1412:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1412:         && !traits_type::eq_int_type(__c, __eof))
1412:       {
1412:         _M_gcount =
1412:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1412:         __large_ignore = true;
1412:       }
1412:     else
1412:       break;
1412:   }
1412: 
1412:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1412:   {
1412:     if (__large_ignore)
1412:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1412: 
1412:     if (traits_type::eq_int_type(__c, __eof))
1412:       __err |= ios_base::eofbit;
1412:   }
1412:        else if (_M_gcount < __n)
1412:   {
1412:     if (traits_type::eq_int_type(__c, __eof))
1412:       __err |= ios_base::eofbit;
1412:   }
1412:             }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:           catch(...)
1412:             { this->_M_setstate(ios_base::badbit); }
1412:           if (__err)
1412:             this->setstate(__err);
1412:         }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     ignore(streamsize __n, int_type __delim)
1412:     {
1412:       _M_gcount = 0;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb && __n > 0)
1412:         {
1412:           ios_base::iostate __err = ios_base::goodbit;
1412:           try
1412:             {
1412:               const int_type __eof = traits_type::eof();
1412:               __streambuf_type* __sb = this->rdbuf();
1412:               int_type __c = __sb->sgetc();
1412: 
1412: 
1412:        bool __large_ignore = false;
1412:        while (true)
1412:   {
1412:     while (_M_gcount < __n
1412:     && !traits_type::eq_int_type(__c, __eof)
1412:     && !traits_type::eq_int_type(__c, __delim))
1412:       {
1412:         ++_M_gcount;
1412:         __c = __sb->snextc();
1412:       }
1412:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1412:         && !traits_type::eq_int_type(__c, __eof)
1412:         && !traits_type::eq_int_type(__c, __delim))
1412:       {
1412:         _M_gcount =
1412:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1412:         __large_ignore = true;
1412:       }
1412:     else
1412:       break;
1412:   }
1412: 
1412:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1412:   {
1412:     if (__large_ignore)
1412:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1412: 
1412:     if (traits_type::eq_int_type(__c, __eof))
1412:       __err |= ios_base::eofbit;
1412:     else
1412:       {
1412:         if (_M_gcount != __n)
1412:    ++_M_gcount;
1412:         __sb->sbumpc();
1412:       }
1412:   }
1412:        else if (_M_gcount < __n)
1412:   {
1412:     if (traits_type::eq_int_type(__c, __eof))
1412:       __err |= ios_base::eofbit;
1412:     else
1412:       {
1412:         ++_M_gcount;
1412:         __sb->sbumpc();
1412:       }
1412:   }
1412:             }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:           catch(...)
1412:             { this->_M_setstate(ios_base::badbit); }
1412:           if (__err)
1412:             this->setstate(__err);
1412:         }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     typename basic_istream<_CharT, _Traits>::int_type
1412:     basic_istream<_CharT, _Traits>::
1412:     peek(void)
1412:     {
1412:       int_type __c = traits_type::eof();
1412:       _M_gcount = 0;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        __c = this->rdbuf()->sgetc();
1412:        if (traits_type::eq_int_type(__c, traits_type::eof()))
1412:   __err |= ios_base::eofbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return __c;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     read(char_type* __s, streamsize __n)
1412:     {
1412:       _M_gcount = 0;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        _M_gcount = this->rdbuf()->sgetn(__s, __n);
1412:        if (_M_gcount != __n)
1412:   __err |= (ios_base::eofbit | ios_base::failbit);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     streamsize
1412:     basic_istream<_CharT, _Traits>::
1412:     readsome(char_type* __s, streamsize __n)
1412:     {
1412:       _M_gcount = 0;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412: 
1412:        const streamsize __num = this->rdbuf()->in_avail();
1412:        if (__num > 0)
1412:   _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
1412:        else if (__num == -1)
1412:   __err |= ios_base::eofbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return _M_gcount;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     putback(char_type __c)
1412:     {
1412: 
1412: 
1412:       _M_gcount = 0;
1412: 
1412:       this->clear(this->rdstate() & ~ios_base::eofbit);
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        const int_type __eof = traits_type::eof();
1412:        __streambuf_type* __sb = this->rdbuf();
1412:        if (!__sb
1412: _Compare __comp)
1115:     {
1115:       if (__first1 == __last1)
1115:  {
1115:    std::move_backward(__first2, __last2, __result);
1115:    return;
1115:  }
1115:       else if (__first2 == __last2)
1115:  return;
1115: 
1115:       --__last1;
1115:       --__last2;
1115:       while (true)
1115:  {
1115:    if (__comp(__last2, __last1))
1115:      {
1115:        *--__result = std::move(*__last1);
1115:        if (__first1 == __last1)
1115:   {
1115:     std::move_backward(__first2, ++__last2, __result);
1115:     return;
1115:   }
1115:        --__last1;
1115:      }
1115:    else
1115:      {
1115:        *--__result = std::move(*__last2);
1115:        if (__first2 == __last2)
1115:   return;
1115:        --__last2;
1115:      }
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
1115:     typename _Distance>
1115:     _BidirectionalIterator1
1115:     __rotate_adaptive(_BidirectionalIterator1 __first,
1115:         _BidirectionalIterator1 __middle,
1115:         _BidirectionalIterator1 __last,
1115:         _Distance __len1, _Distance __len2,
1115:         _BidirectionalIterator2 __buffer,
1115:         _Distance __buffer_size)
1115:     {
1115:       _BidirectionalIterator2 __buffer_end;
1115:       if (__len1 > __len2 && __len2 <= __buffer_size)
1115:  {
1115:    if (__len2)
1115:      {
1115:        __buffer_end = std::move(__middle, __last, __buffer);
1115:        std::move_backward(__first, __middle, __last);
1115:        return std::move(__buffer, __buffer_end, __first);
1115:      }
1115:    else
1115:      return __first;
1115:  }
1115:       else if (__len1 <= __buffer_size)
1115:  {
1115:    if (__len1)
1115:      {
1115:        __buffer_end = std::move(__first, __middle, __buffer);
1115:        std::move(__middle, __last, __first);
1115:        return std::move_backward(__buffer, __buffer_end, __last);
1115:      }
1115:    else
1115:      return __last;
1115:  }
1115:       else
1115:  return std::rotate(__first, __middle, __last);
1115:     }
1115: 
1115: 
1115:   template<typename _BidirectionalIterator, typename _Distance,
1115:     typename _Pointer, typename _Compare>
1115:     void
1115:     __merge_adaptive(_BidirectionalIterator __first,
1115:        _BidirectionalIterator __middle,
1115:        _BidirectionalIterator __last,
1115:        _Distance __len1, _Distance __len2,
1115:        _Pointer __buffer, _Distance __buffer_size,
1115:        _Compare __comp)
1115:     {
1115:       if (__len1 <= __len2 && __len1 <= __buffer_size)
1115:  {
1115:    _Pointer __buffer_end = std::move(__first, __middle, __buffer);
1115:    std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
1115:          __first, __comp);
1115:  }
1115:       else if (__len2 <= __buffer_size)
1115:  {
1115:    _Pointer __buffer_end = std::move(__middle, __last, __buffer);
1115:    std::__move_merge_adaptive_backward(__first, __middle, __buffer,
1115:            __buffer_end, __last, __comp);
1115:  }
1115:       else
1115:  {
1115:    _BidirectionalIterator __first_cut = __first;
1115:    _BidirectionalIterator __second_cut = __middle;
1115:    _Distance __len11 = 0;
1115:    _Distance __len22 = 0;
1115:    if (__len1 > __len2)
1115:      {
1115:        __len11 = __len1 / 2;
1115:        std::advance(__first_cut, __len11);
1115:        __second_cut
1115:   = std::__lower_bound(__middle, __last, *__first_cut,
1115:          __gnu_cxx::__ops::__iter_comp_val(__comp));
1115:        __len22 = std::distance(__middle, __second_cut);
1115:      }
1115:    else
1115:      {
1115:        __len22 = __len2 / 2;
1115:        std::advance(__second_cut, __len22);
1115:        __first_cut
1115:   = std::__upper_bound(__first, __middle, *__second_cut,
1115:          __gnu_cxx::__ops::__val_comp_iter(__comp));
1115:        __len11 = std::distance(__first, __first_cut);
1115:      }
1115: 
1115:    _BidirectionalIterator __new_middle
1115:      = std::__rotate_adaptive(__first_cut, __middle, __second_cut,
1115:          __len1 - __len11, __len22, __buffer,
1115:          __buffer_size);
1115:    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
1115:     __len22, __buffer, __buffer_size, __comp);
1115:    std::__merge_adaptive(__new_middle, __second_cut, __last,
1115:     __len1 - __len11,
1115:     __len2 - __len22, __buffer,
1115:     __buffer_size, __comp);
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _BidirectionalIterator, typename _Distance,
1115:     typename _Compare>
1115:     void
1115:     __merge_without_buffer(_BidirectionalIterator __first,
1115:       _BidirectionalIterator __middle,
1115:       _BidirectionalIterator __last,
1115:       _Distance __len1, _Distance __len2,
1115:       _Compare __comp)
1115:     {
1115:       if (__len1 == 0 || __len2 == 0)
1115:  return;
1115: 
1115:       if (__len1 + __len2 == 2)
1115:  {
1115:    if (__comp(__middle, __first))
1115:      std::iter_swap(__first, __middle);
1115:    return;
1115:  }
1115: 
1115:       _BidirectionalIterator __first_cut = __first;
1115:       _BidirectionalIterator __second_cut = __middle;
1115:       _Distance __len11 = 0;
1115:       _Distance __len22 = 0;
1115:       if (__len1 > __len2)
1115:  {
1115:    __len11 = __len1 / 2;
1115:    std::advance(__first_cut, __len11);
1115:    __second_cut
1115:      = std::__lower_bound(__middle, __last, *__first_cut,
1115:      __gnu_cxx::__ops::__iter_comp_val(__comp));
1115:    __len22 = std::distance(__middle, __second_cut);
1115:  }
1115:       else
1115:  {
1115:    __len22 = __len2 / 2;
1115:    std::advance(__second_cut, __len22);
1115:    __first_cut
1115:      = std::__upper_bound(__first, __middle, *__second_cut,
1115:      __gnu_cxx::__ops::__val_comp_iter(__comp));
1115:    __len11 = std::distance(__first, __first_cut);
1115:  }
1115: 
1115:       _BidirectionalIterator __new_middle
1115:  = std::rotate(__first_cut, __middle, __second_cut);
1115:       std::__merge_without_buffer(__first, __first_cut, __new_middle,
1115:       __len11, __len22, __comp);
1115:       std::__merge_without_buffer(__new_middle, __second_cut, __last,
1115:       __len1 - __len11, __len2 - __len22, __comp);
1115:     }
1115: 
1115:   template<typename _BidirectionalIterator, typename _Compare>
1115:     void
1115:     __inplace_merge(_BidirectionalIterator __first,
1115:       _BidirectionalIterator __middle,
1115:       _BidirectionalIterator __last,
1115:       _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_BidirectionalIterator>::value_type
1115:    _ValueType;
1115:       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
1115:    _DistanceType;
1115:       typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf;
1115: 
1115:       if (__first == __middle || __middle == __last)
1115:  return;
1115: 
1115:       const _DistanceType __len1 = std::distance(__first, __middle);
1115:       const _DistanceType __len2 = std::distance(__middle, __last);
1115: 
1115: 
1115: 
1115:       _TmpBuf __buf(__first, std::min(__len1, __len2));
1115: 
1115:       if (__buf.begin() == 0)
1115:  std::__merge_without_buffer
1115:    (__first, __middle, __last, __len1, __len2, __comp);
1115:       else
1115:  std::__merge_adaptive
1115:    (__first, __middle, __last, __len1, __len2, __buf.begin(),
1115:     _DistanceType(__buf.size()), __comp);
1115:     }
1115: # 2548 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator>
1115:     inline void
1115:     inplace_merge(_BidirectionalIterator __first,
1115:     _BidirectionalIterator __middle,
1115:     _BidirectionalIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       std::__inplace_merge(__first, __middle, __last,
1115:       __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 2589 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator, typename _Compare>
1115:     inline void
1115:     inplace_merge(_BidirectionalIterator __first,
1115:     _BidirectionalIterator __middle,
1115:     _B     || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
1412:   __err |= ios_base::badbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     unget(void)
1412:     {
1412: 
1412: 
1412:       _M_gcount = 0;
1412: 
1412:       this->clear(this->rdstate() & ~ios_base::eofbit);
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        const int_type __eof = traits_type::eof();
1412:        __streambuf_type* __sb = this->rdbuf();
1412:        if (!__sb
1412:     || traits_type::eq_int_type(__sb->sungetc(), __eof))
1412:   __err |= ios_base::badbit;
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     int
1412:     basic_istream<_CharT, _Traits>::
1412:     sync(void)
1412:     {
1412: 
1412: 
1412:       int __ret = -1;
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        __streambuf_type* __sb = this->rdbuf();
1412:        if (__sb)
1412:   {
1412:     if (__sb->pubsync() == -1)
1412:       __err |= ios_base::badbit;
1412:     else
1412:       __ret = 0;
1412:   }
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     typename basic_istream<_CharT, _Traits>::pos_type
1412:     basic_istream<_CharT, _Traits>::
1412:     tellg(void)
1412:     {
1412: 
1412: 
1412:       pos_type __ret = pos_type(-1);
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412:        if (!this->fail())
1412:   __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
1412:         ios_base::in);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     seekg(pos_type __pos)
1412:     {
1412: 
1412: 
1412: 
1412:       this->clear(this->rdstate() & ~ios_base::eofbit);
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        if (!this->fail())
1412:   {
1412: 
1412:     const pos_type __p = this->rdbuf()->pubseekpos(__pos,
1412:          ios_base::in);
1412: 
1412: 
1412:     if (__p == pos_type(off_type(-1)))
1412:       __err |= ios_base::failbit;
1412:   }
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     basic_istream<_CharT, _Traits>::
1412:     seekg(off_type __off, ios_base::seekdir __dir)
1412:     {
1412: 
1412: 
1412: 
1412:       this->clear(this->rdstate() & ~ios_base::eofbit);
1412:       sentry __cerb(*this, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        if (!this->fail())
1412:   {
1412: 
1412:     const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1412:          ios_base::in);
1412: 
1412: 
1412:     if (__p == pos_type(off_type(-1)))
1412:       __err |= ios_base::failbit;
1412:   }
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        this->_M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { this->_M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      this->setstate(__err);
1412:  }
1412:       return *this;
1412:     }
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     basic_istream<_CharT, _Traits>&
1412:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
1412:     {
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef typename __istream_type::int_type __int_type;
1412: 
1412:       typename __istream_type::sentry __cerb(__in, false);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        const __int_type __cb = __in.rdbuf()->sbumpc();
1412:        if (!_Traits::eq_int_type(__cb, _Traits::eof()))
1412:   __c = _Traits::to_char_type(__cb);
1412:        else
1412:   __err |= (ios_base::eofbit | ios_base::failbit);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        __in._M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { __in._M_setstate(ios_base::badbit); }
1412:    if (__err)
1412:      __in.setstate(__err);
1412:  }
1412:       return __in;
1412:     }
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:     void
1412:     __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s,
1412:         streamsize __num)
1412:     {
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1412:       typedef typename _Traits::int_type int_type;
1412:       typedef _CharT char_type;
1412:       typedef ctype<_CharT> __ctype_type;
1412: 
1412:       streamsize __extracted = 0;
1412:       ios_base::iostate __err = ios_base::goodbit;
1412:       typename __istream_type::sentry __cerb(__in, false);
1412:       if (__cerb)
1412:  {
1412:    try
1412:      {
1412: 
1412:        streamsize __width = __in.width();
1412:        if (0 < __width && __width < __num)
1412:   __num = __width;
1412: 
1412:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1412: 
1412:        const int_type __eof = _Traits::eof();
1412:        __streambuf_type* __sb = __in.rdbuf();
1412:        int_type __c = __sb->sgetc();
1412: 
1412:        while (__extracted < __num - 1
1412:        && !_Traits::eq_int_type(__c, __eof)
1412:        && !__ct.is(ctype_base::space,
1412:      _Traits::to_char_type(__c)))
1412:   {
1412:     *__s++ = _Traits::to_char_type(__c);
1412:     ++__extracted;
1412:     __c = __sb->snextc();
1412:   }
1412: 
1412:        if (__extracted < __num - 1
1412:     && _Traits::eq_int_type(__c, __eof))
1412:   __err |= ios_base::eofbit;
1412: 
1412: 
1412: 
1412:        *__s = char_type();
1412:        __in.width(0);
1412:      }
1412:    catch(__cxxabiv1::__forced_unwind&)
1412:      {
1412:        __in._M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      { __in._M_setstate(ios_base::badbit); }
1412:  }
1412:       if (!__extracted)
1412:  __err |= ios_base::failbit;
1412:       if (__err)
1412:  __in.setstate(__err);
1412:     }
1412: 
1412: 
1412:   template<typename _CharT, typename _Traits>
1412:idirectionalIterator __last,
1115:     _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       std::__inplace_merge(__first, __middle, __last,
1115:       __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _Compare>
1115:     _OutputIterator
1115:     __move_merge(_InputIterator __first1, _InputIterator __last1,
1115:    _InputIterator __first2, _InputIterator __last2,
1115:    _OutputIterator __result, _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  {
1115:    if (__comp(__first2, __first1))
1115:      {
1115:        *__result = std::move(*__first2);
1115:        ++__first2;
1115:      }
1115:    else
1115:      {
1115:        *__result = std::move(*__first1);
1115:        ++__first1;
1115:      }
1115:    ++__result;
1115:  }
1115:       return std::move(__first2, __last2, std::move(__first1, __last1, __result))
1115: 
1115:                   ;
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
1115:     typename _Distance, typename _Compare>
1115:     void
1115:     __merge_sort_loop(_RandomAccessIterator1 __first,
1115:         _RandomAccessIterator1 __last,
1115:         _RandomAccessIterator2 __result, _Distance __step_size,
1115:         _Compare __comp)
1115:     {
1115:       const _Distance __two_step = 2 * __step_size;
1115: 
1115:       while (__last - __first >= __two_step)
1115:  {
1115:    __result = std::__move_merge(__first, __first + __step_size,
1115:            __first + __step_size,
1115:            __first + __two_step,
1115:            __result, __comp);
1115:    __first += __two_step;
1115:  }
1115:       __step_size = std::min(_Distance(__last - __first), __step_size);
1115: 
1115:       std::__move_merge(__first, __first + __step_size,
1115:    __first + __step_size, __last, __result, __comp);
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Distance,
1115:     typename _Compare>
1115:    
1115:     void
1115:     __chunk_insertion_sort(_RandomAccessIterator __first,
1115:       _RandomAccessIterator __last,
1115:       _Distance __chunk_size, _Compare __comp)
1115:     {
1115:       while (__last - __first >= __chunk_size)
1115:  {
1115:    std::__insertion_sort(__first, __first + __chunk_size, __comp);
1115:    __first += __chunk_size;
1115:  }
1115:       std::__insertion_sort(__first, __last, __comp);
1115:     }
1115: 
1115:   enum { _S_chunk_size = 7 };
1115: 
1115:   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
1115:     void
1115:     __merge_sort_with_buffer(_RandomAccessIterator __first,
1115:         _RandomAccessIterator __last,
1115:         _Pointer __buffer, _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:  _Distance;
1115: 
1115:       const _Distance __len = __last - __first;
1115:       const _Pointer __buffer_last = __buffer + __len;
1115: 
1115:       _Distance __step_size = _S_chunk_size;
1115:       std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
1115: 
1115:       while (__step_size < __len)
1115:  {
1115:    std::__merge_sort_loop(__first, __last, __buffer,
1115:      __step_size, __comp);
1115:    __step_size *= 2;
1115:    std::__merge_sort_loop(__buffer, __buffer_last, __first,
1115:      __step_size, __comp);
1115:    __step_size *= 2;
1115:  }
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Pointer,
1115:     typename _Distance, typename _Compare>
1115:     void
1115:     __stable_sort_adaptive(_RandomAccessIterator __first,
1115:       _RandomAccessIterator __last,
1115:       _Pointer __buffer, _Distance __buffer_size,
1115:       _Compare __comp)
1115:     {
1115:       const _Distance __len = (__last - __first + 1) / 2;
1115:       const _RandomAccessIterator __middle = __first + __len;
1115:       if (__len > __buffer_size)
1115:  {
1115:    std::__stable_sort_adaptive(__first, __middle, __buffer,
1115:           __buffer_size, __comp);
1115:    std::__stable_sort_adaptive(__middle, __last, __buffer,
1115:           __buffer_size, __comp);
1115:  }
1115:       else
1115:  {
1115:    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
1115:    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
1115:  }
1115: 
1115:       std::__merge_adaptive(__first, __middle, __last,
1115:        _Distance(__middle - __first),
1115:        _Distance(__last - __middle),
1115:        __buffer, __buffer_size,
1115:        __comp);
1115:     }
1115: 
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:     void
1115:     __inplace_stable_sort(_RandomAccessIterator __first,
1115:      _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115:       if (__last - __first < 15)
1115:  {
1115:    std::__insertion_sort(__first, __last, __comp);
1115:    return;
1115:  }
1115:       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
1115:       std::__inplace_stable_sort(__first, __middle, __comp);
1115:       std::__inplace_stable_sort(__middle, __last, __comp);
1115:       std::__merge_without_buffer(__first, __middle, __last,
1115:       __middle - __first,
1115:       __last - __middle,
1115:       __comp);
1115:     }
1115: # 2763 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _Compare>
1115:    
1115:     bool
1115:     __includes(_InputIterator1 __first1, _InputIterator1 __last1,
1115:         _InputIterator2 __first2, _InputIterator2 __last2,
1115:         _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  {
1115:    if (__comp(__first2, __first1))
1115:      return false;
1115:    if (!__comp(__first1, __first2))
1115:      ++__first2;
1115:    ++__first1;
1115:  }
1115: 
1115:       return __first2 == __last2;
1115:     }
1115: # 2801 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2>
1115:    
1115:     inline bool
1115:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1115:       _InputIterator2 __first2, _InputIterator2 __last2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__includes(__first1, __last1, __first2, __last2,
1115:         __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 2846 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _Compare>
1115:    
1115:     inline bool
1115:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
1115:       _InputIterator2 __first2, _InputIterator2 __last2,
1115:       _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__includes(__first1, __last1, __first2, __last2,
1115:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: # 2882 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator, typename _Compare>
1115:    
1115:     bool
1115:     __next_permutation(_BidirectionalIterator __first,
1115:          _BidirectionalIterator __last, _Compare __comp)
1115:     {
1115:       if (__first == __last)
1115:  return false;
1115:       _BidirectionalIterator __i = __first;
1115:       ++__i;
1115:       if (__i == __last)
1115:  return false;
1115:       __i = __last;
1115:       --__i;
1115: 
1115:       for(;;)
1115:  {
1115:    _BidirectionalIterator __ii = __i;
1115:    --__i;
1115:    if (__comp(__i, __ii))
1115:      {
1115:        _BidirectionalIterator __j = __last;
1115:        while (!__comp(__i, --__j))
1115:   {}
1115:        std::iter_swap(__i, __j);
1115:            basic_istream<_CharT, _Traits>&
1412:     ws(basic_istream<_CharT, _Traits>& __in)
1412:     {
1412:       typedef basic_istream<_CharT, _Traits> __istream_type;
1412:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1412:       typedef typename __istream_type::int_type __int_type;
1412:       typedef ctype<_CharT> __ctype_type;
1412: 
1412: 
1412: 
1412:       typename __istream_type::sentry __cerb(__in, true);
1412:       if (__cerb)
1412:  {
1412:    ios_base::iostate __err = ios_base::goodbit;
1412:    try
1412:      {
1412:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1412:        const __int_type __eof = _Traits::eof();
1412:        __streambuf_type* __sb = __in.rdbuf();
1412:        __int_type __c = __sb->sgetc();
1412: 
1412:        while (true)
1412:   {
1412:     if (_Traits::eq_int_type(__c, __eof))
1412:       {
1412:         __err = ios_base::eofbit;
1412:         break;
1412:       }
1412:     if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
1412:       break;
1412:     __c = __sb->snextc();
1412:   }
1412:      }
1412:    catch(const __cxxabiv1::__forced_unwind&)
1412:      {
1412:        __in._M_setstate(ios_base::badbit);
1412:        throw;
1412:      }
1412:    catch(...)
1412:      {
1412:        __in._M_setstate(ios_base::badbit);
1412:      }
1412:    if (__err)
1412:      __in.setstate(__err);
1412:  }
1412:       return __in;
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template class basic_istream<char>;
1412:   extern template istream& ws(istream&);
1412:   extern template istream& operator>>(istream&, char&);
1412:   extern template istream& operator>>(istream&, unsigned char&);
1412:   extern template istream& operator>>(istream&, signed char&);
1412: 
1412:   extern template istream& istream::_M_extract(unsigned short&);
1412:   extern template istream& istream::_M_extract(unsigned int&);
1412:   extern template istream& istream::_M_extract(long&);
1412:   extern template istream& istream::_M_extract(unsigned long&);
1412:   extern template istream& istream::_M_extract(bool&);
1412: 
1412:   extern template istream& istream::_M_extract(long long&);
1412:   extern template istream& istream::_M_extract(unsigned long long&);
1412: 
1412:   extern template istream& istream::_M_extract(float&);
1412:   extern template istream& istream::_M_extract(double&);
1412:   extern template istream& istream::_M_extract(long double&);
1412:   extern template istream& istream::_M_extract(void*&);
1412: 
1412:   extern template class basic_iostream<char>;
1412: 
1412: 
1412:   extern template class basic_istream<wchar_t>;
1412:   extern template wistream& ws(wistream&);
1412:   extern template wistream& operator>>(wistream&, wchar_t&);
1412:   extern template void __istream_extract(wistream&, wchar_t*, streamsize);
1412: 
1412:   extern template wistream& wistream::_M_extract(unsigned short&);
1412:   extern template wistream& wistream::_M_extract(unsigned int&);
1412:   extern template wistream& wistream::_M_extract(long&);
1412:   extern template wistream& wistream::_M_extract(unsigned long&);
1412:   extern template wistream& wistream::_M_extract(bool&);
1412: 
1412:   extern template wistream& wistream::_M_extract(long long&);
1412:   extern template wistream& wistream::_M_extract(unsigned long long&);
1412: 
1412:   extern template wistream& wistream::_M_extract(float&);
1412:   extern template wistream& wistream::_M_extract(double&);
1412:   extern template wistream& wistream::_M_extract(long double&);
1412:   extern template wistream& wistream::_M_extract(void*&);
1412: 
1412:   extern template class basic_iostream<wchar_t>;
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 1017 "/usr/include/c++/12/istream" 2 3
1412: # 41 "/usr/include/c++/12/iostream" 2 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 60 "/usr/include/c++/12/iostream" 3
1412:   extern istream cin;
1412:   extern ostream cout;
1412:   extern ostream cerr;
1412:   extern ostream clog;
1412: 
1412: 
1412:   extern wistream wcin;
1412:   extern wostream wcout;
1412:   extern wostream wcerr;
1412:   extern wostream wclog;
1412: 
1412: 
1412: 
1412: 
1412:   static ios_base::Init __ioinit;
1412: 
1412: 
1412: }
1412: # 53 "/usr/include/tinyxml.h" 2 3 4
1412: # 1 "/usr/include/c++/12/sstream" 1 3 4
1412: # 36 "/usr/include/c++/12/sstream" 3 4
1412:        
1412: # 37 "/usr/include/c++/12/sstream" 3
1412: # 48 "/usr/include/c++/12/sstream" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: namespace __cxx11 {
1412: # 71 "/usr/include/c++/12/sstream" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
1412:     {
1412:       struct __xfer_bufptrs;
1412: 
1412: 
1412:       using allocator_traits = std::allocator_traits<_Alloc>;
1412:       using _Noexcept_swap
1412:  = __or_<typename allocator_traits::propagate_on_container_swap,
1412:   typename allocator_traits::is_always_equal>;
1412: 
1412: 
1412:     public:
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412: 
1412: 
1412:       typedef _Alloc allocator_type;
1412:       typedef typename traits_type::int_type int_type;
1412:       typedef typename traits_type::pos_type pos_type;
1412:       typedef typename traits_type::off_type off_type;
1412: 
1412:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1412:       typedef basic_string<char_type, _Traits, _Alloc> __string_type;
1412:       typedef typename __string_type::size_type __size_type;
1412: 
1412:     protected:
1412: 
1412:       ios_base::openmode _M_mode;
1412: 
1412: 
1412:       __string_type _M_string;
1412: 
1412:     public:
1412: # 114 "/usr/include/c++/12/sstream" 3
1412:       basic_stringbuf()
1412:       : __streambuf_type(), _M_mode(ios_base::in | ios_base::out), _M_string()
1412:       { }
1412: # 125 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_stringbuf(ios_base::openmode __mode)
1412:       : __streambuf_type(), _M_mode(__mode), _M_string()
1412:       { }
1412: # 138 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_stringbuf(const __string_type& __str,
1412:         ios_base::openmode __mode = ios_base::in | ios_base::out)
1412:       : __streambuf_type(), _M_mode(),
1412:  _M_string(__str.data(), __str.size(), __str.get_allocator())
1412:       { _M_stringbuf_init(__mode); }
1412: 
1412: 
1412:       basic_stringbuf(const basic_stringbuf&) = delete;
1412: 
1412:       basic_stringbuf(basic_stringbuf&& __rhs)
1412:       : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this))
1412:       { __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0); }
1412: # 202 "/usr/include/c++/12/sstream" 3
1412:       basic_stringbuf&
1412:       operator=(const basic_stringbuf&) = delete;
1412: 
1412:       basic_stringbuf&
1412:       operator=(basic_stringbuf&& __rhs)
1412:       {
1412:  __xfer_bufptrs __st{__rhs, this};
1412:  const __streambuf_type& __base = __rhs;
1412:  __streambuf_type::operator=(__base);
1412:  this->pubimbue(__rhs.getloc());
1412:  _M_mode = __rhs._M_mode;
1412:  _M_string = std::move(__rhs._M_string);
1412:  __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       swap(basic_stringbuf& __rhs) noexcept(_Noexcept_swap::value)
1412:       {
1412:  __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)};
1412:  __xfer_bufptrs __r_st{__rhs, this};
1412:  __streambuf_type& __base = __rhs;
1412:  __streambuf_type::swap(__base);
1412:  __rhs.pubimbue(this->pubimbue(__rhs.getloc()));
1412:  std::swap(_M_mode, __rhs._M_mode);
1412:  std::swap(_M_string, __rhs._M_string);
1412:       }
1412: # 241 "/usr/include/c++/12/sstream" 3
1412:       __string_type
1412:       str() const
1412:       {
1412:  __string_type __ret(_M_string.get_allocator());
1412:  if (char_type* __hi = _M_high_mark())
1412:    __ret.assign(this->pbase(), __hi);
1412:  else
1412:    __ret = _M_string;
1412:  re std::__reverse(__ii, __last,
1115:         std::__iterator_category(__first));
1115:        return true;
1115:      }
1115:    if (__i == __first)
1115:      {
1115:        std::__reverse(__first, __last,
1115:         std::__iterator_category(__first));
1115:        return false;
1115:      }
1115:  }
1115:     }
1115: # 2932 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator>
1115:    
1115:     inline bool
1115:     next_permutation(_BidirectionalIterator __first,
1115:        _BidirectionalIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__next_permutation
1115:  (__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 2965 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator, typename _Compare>
1115:    
1115:     inline bool
1115:     next_permutation(_BidirectionalIterator __first,
1115:        _BidirectionalIterator __last, _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__next_permutation
1115:  (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _BidirectionalIterator, typename _Compare>
1115:    
1115:     bool
1115:     __prev_permutation(_BidirectionalIterator __first,
1115:          _BidirectionalIterator __last, _Compare __comp)
1115:     {
1115:       if (__first == __last)
1115:  return false;
1115:       _BidirectionalIterator __i = __first;
1115:       ++__i;
1115:       if (__i == __last)
1115:  return false;
1115:       __i = __last;
1115:       --__i;
1115: 
1115:       for(;;)
1115:  {
1115:    _BidirectionalIterator __ii = __i;
1115:    --__i;
1115:    if (__comp(__ii, __i))
1115:      {
1115:        _BidirectionalIterator __j = __last;
1115:        while (!__comp(--__j, __i))
1115:   {}
1115:        std::iter_swap(__i, __j);
1115:        std::__reverse(__ii, __last,
1115:         std::__iterator_category(__first));
1115:        return true;
1115:      }
1115:    if (__i == __first)
1115:      {
1115:        std::__reverse(__first, __last,
1115:         std::__iterator_category(__first));
1115:        return false;
1115:      }
1115:  }
1115:     }
1115: # 3035 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator>
1115:    
1115:     inline bool
1115:     prev_permutation(_BidirectionalIterator __first,
1115:        _BidirectionalIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__prev_permutation(__first, __last,
1115:          __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 3068 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _BidirectionalIterator, typename _Compare>
1115:    
1115:     inline bool
1115:     prev_permutation(_BidirectionalIterator __first,
1115:        _BidirectionalIterator __last, _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__prev_permutation(__first, __last,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _Predicate, typename _Tp>
1115:    
1115:     _OutputIterator
1115:     __replace_copy_if(_InputIterator __first, _InputIterator __last,
1115:         _OutputIterator __result,
1115:         _Predicate __pred, const _Tp& __new_value)
1115:     {
1115:       for (; __first != __last; ++__first, (void)++__result)
1115:  if (__pred(__first))
1115:    *__result = __new_value;
1115:  else
1115:    *__result = *__first;
1115:       return __result;
1115:     }
1115: # 3120 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
1115:    
1115:     inline _OutputIterator
1115:     replace_copy(_InputIterator __first, _InputIterator __last,
1115:    _OutputIterator __result,
1115:    const _Tp& __old_value, const _Tp& __new_value)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__replace_copy_if(__first, __last, __result,
1115:    __gnu_cxx::__ops::__iter_equals_val(__old_value),
1115:            __new_value);
1115:     }
1115: # 3155 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _Predicate, typename _Tp>
1115:    
1115:     inline _OutputIterator
1115:     replace_copy_if(_InputIterator __first, _InputIterator __last,
1115:       _OutputIterator __result,
1115:       _Predicate __pred, const _Tp& __new_value)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__replace_copy_if(__first, __last, __result,
1115:     __gnu_cxx::__ops::__pred_iter(__pred),
1115:            __new_value);
1115:     }
1115: # 3184 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:    
1115:     inline bool
1115:     is_sorted(_ForwardIterator __first, _ForwardIterator __last)
1115:     { return std::is_sorted_until(__first, __last) == __last; }
1115: # 3199 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Compare>
1115:    
1115:     inline bool
1115:     is_sorted(_ForwardIterator __first, _ForwardIterator __last,
1115:        _Compare __comp)
1115:     { return std::is_sorted_until(__first, __last, __comp) == __last; }
1115: 
1115:   template<typename _ForwardIterator, typename _Compare>
1115:    
1115:     _ForwardIterator
1115:     __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1115:         _Compare __comp)
1115:     {
1115:       if (__first == __last)
1115:  return __last;
1115: 
1115:       _ForwardIterator __next = __first;
1115:       for (++__next; __next != __last; __first = __next, (void)++__next)
1115:  if (__comp(__next, __first))
1115:    return __next;
1115:       return __next;
1115:     }
1115: # 3230 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:    
1115:     inline _ForwardIterator
1115:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__is_sorted_until(__first, __last,
1115:         __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 3255 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Compare>
1115:    
1115:     inline _ForwardIterator
1115:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
1115:       _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__is_sorted_until(__first, __last,
1115:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: # 3281 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _Tp>
1115:     constexpr
1115:     inline pair<const _Tp&, const _Tp&>
1115:     minmax(const _Tp& __a, const _Tp& __b)
1115:     {
1115: 
1115:      
1115: 
1115:       return __b < __a ? pair<const _Tp&, const _Tp&>(__b, __a)
1115:          : pair<const _Tp&, const _Tp&>(__a, __b);
1115:     }
1115: # 3302 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     inline pair<const _Tp&, const _Tp&>
1115:     minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
1115:     {
1115:       return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a)
1115:          : pair<const _Tp&, const _Tp&>(__a, __b);
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Compare>
1115:     constexpr
1115:     pair<_ForwardIterator, _ForwardIterator>
1115:     __minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1115:        _Compare __comp)
1115:     {
1115:       _ForwardIterator __next = __fturn __ret;
1412:       }
1412: # 294 "/usr/include/c++/12/sstream" 3
1412:       void
1412:       str(const __string_type& __s)
1412:       {
1412: 
1412: 
1412:  _M_string.assign(__s.data(), __s.size());
1412:  _M_stringbuf_init(_M_mode);
1412:       }
1412: # 323 "/usr/include/c++/12/sstream" 3
1412:     protected:
1412: 
1412:       void
1412:       _M_stringbuf_init(ios_base::openmode __mode)
1412:       {
1412:  _M_mode = __mode;
1412:  __size_type __len = 0;
1412:  if (_M_mode & (ios_base::ate | ios_base::app))
1412:    __len = _M_string.size();
1412:  _M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
1412:       }
1412: 
1412:       virtual streamsize
1412:       showmanyc()
1412:       {
1412:  streamsize __ret = -1;
1412:  if (_M_mode & ios_base::in)
1412:    {
1412:      _M_update_egptr();
1412:      __ret = this->egptr() - this->gptr();
1412:    }
1412:  return __ret;
1412:       }
1412: 
1412:       virtual int_type
1412:       underflow();
1412: 
1412:       virtual int_type
1412:       pbackfail(int_type __c = traits_type::eof());
1412: 
1412:       virtual int_type
1412:       overflow(int_type __c = traits_type::eof());
1412: # 367 "/usr/include/c++/12/sstream" 3
1412:       virtual __streambuf_type*
1412:       setbuf(char_type* __s, streamsize __n)
1412:       {
1412:  if (__s && __n >= 0)
1412:    {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      _M_string.clear();
1412: 
1412: 
1412:      _M_sync(__s, __n, 0);
1412:    }
1412:  return this;
1412:       }
1412: 
1412:       virtual pos_type
1412:       seekoff(off_type __off, ios_base::seekdir __way,
1412:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1412: 
1412:       virtual pos_type
1412:       seekpos(pos_type __sp,
1412:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1412: 
1412: 
1412: 
1412: 
1412:       void
1412:       _M_sync(char_type* __base, __size_type __i, __size_type __o);
1412: 
1412: 
1412: 
1412:       void
1412:       _M_update_egptr()
1412:       {
1412:  if (char_type* __pptr = this->pptr())
1412:    {
1412:      char_type* __egptr = this->egptr();
1412:      if (!__egptr || __pptr > __egptr)
1412:        {
1412:   if (_M_mode & ios_base::in)
1412:     this->setg(this->eback(), this->gptr(), __pptr);
1412:   else
1412:     this->setg(__pptr, __pptr, __pptr);
1412:        }
1412:    }
1412:       }
1412: 
1412: 
1412: 
1412:       void
1412:       _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off);
1412: 
1412:     private:
1412: 
1412: 
1412: 
1412: 
1412:       __attribute__((__always_inline__))
1412:       char_type*
1412:       _M_high_mark() const noexcept
1412:       {
1412:  if (char_type* __pptr = this->pptr())
1412:    {
1412:      char_type* __egptr = this->egptr();
1412:      if (!__egptr || __pptr > __egptr)
1412:        return __pptr;
1412:      else
1412:        return __egptr;
1412:    }
1412:  return 0;
1412:       }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       struct __xfer_bufptrs
1412:       {
1412:  __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to)
1412:  : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1}
1412:  {
1412:    const _CharT* const __str = __from._M_string.data();
1412:    const _CharT* __end = nullptr;
1412:    if (__from.eback())
1412:      {
1412:        _M_goff[0] = __from.eback() - __str;
1412:        _M_goff[1] = __from.gptr() - __str;
1412:        _M_goff[2] = __from.egptr() - __str;
1412:        __end = __from.egptr();
1412:      }
1412:    if (__from.pbase())
1412:      {
1412:        _M_poff[0] = __from.pbase() - __str;
1412:        _M_poff[1] = __from.pptr() - __from.pbase();
1412:        _M_poff[2] = __from.epptr() - __str;
1412:        if (!__end || __from.pptr() > __end)
1412:   __end = __from.pptr();
1412:      }
1412: 
1412: 
1412:    if (__end)
1412:      {
1412: 
1412: 
1412:        auto& __mut_from = const_cast<basic_stringbuf&>(__from);
1412:        __mut_from._M_string._M_length(__end - __str);
1412:      }
1412:  }
1412: 
1412:  ~__xfer_bufptrs()
1412:  {
1412:    char_type* __str = const_cast<char_type*>(_M_to->_M_string.data());
1412:    if (_M_goff[0] != -1)
1412:      _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]);
1412:    if (_M_poff[0] != -1)
1412:      _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]);
1412:  }
1412: 
1412:  basic_stringbuf* _M_to;
1412:  off_type _M_goff[3];
1412:  off_type _M_poff[3];
1412:       };
1412: # 503 "/usr/include/c++/12/sstream" 3
1412:       basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&)
1412:       : __streambuf_type(static_cast<const __streambuf_type&>(__rhs)),
1412:       _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string))
1412:       { }
1412: # 518 "/usr/include/c++/12/sstream" 3
1412:     };
1412: # 536 "/usr/include/c++/12/sstream" 3
1412:   template<typename _CharT, typename _Traits, typename _Alloc>
1412:     class basic_istringstream : public basic_istream<_CharT, _Traits>
1412:     {
1412:     public:
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412: 
1412: 
1412:       typedef _Alloc allocator_type;
1412:       typedef typename traits_type::int_type int_type;
1412:       typedef typename traits_type::pos_type pos_type;
1412:       typedef typename traits_type::off_type off_type;
1412: 
1412: 
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1412:       typedef basic_istream<char_type, traits_type> __istream_type;
1412: 
1412:     private:
1412:       __stringbuf_type _M_stringbuf;
1412: 
1412:     public:
1412: # 570 "/usr/include/c++/12/sstream" 3
1412:       basic_istringstream()
1412:       : __istream_type(), _M_stringbuf(ios_base::in)
1412:       { this->init(&_M_stringbuf); }
1412: # 586 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_istringstream(ios_base::openmode __mode)
1412:       : __istream_type(), _M_stringbuf(__mode | ios_base::in)
1412:       { this->init(&_M_stringbuf); }
1412: # 604 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_istringstream(const __string_type& __str,
1412:      ios_base::openmode __mode = ios_base::in)
1412:       : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in)
1412:       { this->init(&_M_stringbuf); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~basic_istringstream()
1412:       { }
1412: 
1412: 
1412:       basic_istringstream(const basic_istringstream&) = delete;
1412: 
1412:       basic_istringstream(basic_istringstream&& __rhs)
1412:       : __istream_type(std::move(__rhs)),
1412:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1412:       { __istream_type::set_rdbuf(&_M_stringbuf); }
1412: # 661 "/usr/include/c++/12/sstream" 3
1412:       basic_istringstream&
1412:       operator=(const basic_istringstream&) = delete;
1412: 
1412:       basic_istringstream&
1412:       operator=(basic_istringstream&& __rhs)
1412:       {
1412:  __istream_type::operator=(std::move(__rhs));
1412:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       swap(basic_istringstream& __rhs)
1412:       {
1412:  __istream_type::swap(__rhs);
1412:  _M_stringbuf.swap(__rhs._M_stringbuf);
1412:       }
1412: # 687 "/usr/include/c++/12/sstream" 3
1412:       __stringbuf_type*
1412:       rdbuf() const
1412:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       __string_type
1412:       str() const
1412:       { return _M_stringbuf.str(); }
1412: # 722 "/usr/include/c++/12/sstream" 3
1412:       void
1412:       str(const __string_type& __s)
1412:       { _M_stringbuf.str(__s); }
1412: # 739 "/usr/include/c++/12/sstream" 3
1412:     };
1412: # 757 "/usr/include/c++/12/sstream" 3
1412:   template <typename _CharT, typename _Traits, typename _Alloc>
1412:     class basic_ostringstream : public basic_ostream<_CharT, _Traits>
1412:     {
1412:     public:
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412: 
141irst;
1115:       if (__first == __last
1115:    || ++__next == __last)
1115:  return std::make_pair(__first, __first);
1115: 
1115:       _ForwardIterator __min{}, __max{};
1115:       if (__comp(__next, __first))
1115:  {
1115:    __min = __next;
1115:    __max = __first;
1115:  }
1115:       else
1115:  {
1115:    __min = __first;
1115:    __max = __next;
1115:  }
1115: 
1115:       __first = __next;
1115:       ++__first;
1115: 
1115:       while (__first != __last)
1115:  {
1115:    __next = __first;
1115:    if (++__next == __last)
1115:      {
1115:        if (__comp(__first, __min))
1115:   __min = __first;
1115:        else if (!__comp(__first, __max))
1115:   __max = __first;
1115:        break;
1115:      }
1115: 
1115:    if (__comp(__next, __first))
1115:      {
1115:        if (__comp(__next, __min))
1115:   __min = __next;
1115:        if (!__comp(__first, __max))
1115:   __max = __first;
1115:      }
1115:    else
1115:      {
1115:        if (__comp(__first, __min))
1115:   __min = __first;
1115:        if (!__comp(__next, __max))
1115:   __max = __next;
1115:      }
1115: 
1115:    __first = __next;
1115:    ++__first;
1115:  }
1115: 
1115:       return std::make_pair(__min, __max);
1115:     }
1115: # 3382 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:     constexpr
1115:     inline pair<_ForwardIterator, _ForwardIterator>
1115:     minmax_element(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__minmax_element(__first, __last,
1115:        __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 3410 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Compare>
1115:     constexpr
1115:     inline pair<_ForwardIterator, _ForwardIterator>
1115:     minmax_element(_ForwardIterator __first, _ForwardIterator __last,
1115:      _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__minmax_element(__first, __last,
1115:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     inline pair<_Tp, _Tp>
1115:     minmax(initializer_list<_Tp> __l)
1115:     {
1115:       ;
1115:       pair<const _Tp*, const _Tp*> __p =
1115:  std::__minmax_element(__l.begin(), __l.end(),
1115:          __gnu_cxx::__ops::__iter_less_iter());
1115:       return std::make_pair(*__p.first, *__p.second);
1115:     }
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     inline pair<_Tp, _Tp>
1115:     minmax(initializer_list<_Tp> __l, _Compare __comp)
1115:     {
1115:       ;
1115:       pair<const _Tp*, const _Tp*> __p =
1115:  std::__minmax_element(__l.begin(), __l.end(),
1115:          __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:       return std::make_pair(*__p.first, *__p.second);
1115:     }
1115: # 3466 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline bool
1115:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:      _ForwardIterator2 __first2, _BinaryPredicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       return std::__is_permutation(__first1, __last1, __first2,
1115:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1115:     }
1115: 
1115: 
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     bool
1115:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:        _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1115:        _BinaryPredicate __pred)
1115:     {
1115:       using _Cat1
1115:  = typename iterator_traits<_ForwardIterator1>::iterator_category;
1115:       using _Cat2
1115:  = typename iterator_traits<_ForwardIterator2>::iterator_category;
1115:       using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>;
1115:       using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>;
1115:       constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA();
1115:       if (__ra_iters)
1115:  {
1115:    auto __d1 = std::distance(__first1, __last1);
1115:    auto __d2 = std::distance(__first2, __last2);
1115:    if (__d1 != __d2)
1115:      return false;
1115:  }
1115: 
1115: 
1115: 
1115:       for (; __first1 != __last1 && __first2 != __last2;
1115:    ++__first1, (void)++__first2)
1115:  if (!__pred(__first1, __first2))
1115:    break;
1115: 
1115:       if (__ra_iters)
1115:  {
1115:    if (__first1 == __last1)
1115:      return true;
1115:  }
1115:       else
1115:  {
1115:    auto __d1 = std::distance(__first1, __last1);
1115:    auto __d2 = std::distance(__first2, __last2);
1115:    if (__d1 == 0 && __d2 == 0)
1115:      return true;
1115:    if (__d1 != __d2)
1115:      return false;
1115:  }
1115: 
1115:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
1115:  {
1115:    if (__scan != std::__find_if(__first1, __scan,
1115:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
1115:      continue;
1115: 
1115:    auto __matches = std::__count_if(__first2, __last2,
1115:   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
1115:    if (0 == __matches
1115:        || std::__count_if(__scan, __last1,
1115:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
1115:        != __matches)
1115:      return false;
1115:  }
1115:       return true;
1115:     }
1115: # 3561 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1115:    
1115:     inline bool
1115:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:      _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1115:     {
1115:       ;
1115:       ;
1115: 
1115:       return
1115:  std::__is_permutation(__first1, __last1, __first2, __last2,
1115:          __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: # 3589 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline bool
1115:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:      _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1115:      _BinaryPredicate __pred)
1115:     {
1115:       ;
1115:       ;
1115: 
1115:       return std::__is_permutation(__first1, __last1, __first2, __last2,
1115:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
1115:     }
1115: # 3619 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _Tp>
1115:     constexpr const _Tp&
1115:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi)
1115:     {
1115:       do { if (std::__is_constant_evaluated() && !bool(!(__hi < __lo))) __builtin_unreachable(); } while (false);
1115:       return std::min(std::max(__val, __lo), __hi);
1115:     }
1115: # 3639 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr const _Tp&
1115:     clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
1115:     {
1115:       do { if (std::__is_constant_evaluated() && !bool(!__comp(__hi, __lo))) __builtin_unreachable(); } while (false);
1115:       return std::min(std::max(__val, __lo, __comp), __hi, __comp);
1115:     }
1115: # 3671 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _IntType, typename _UniformRandomBitGenerator>
1115:     pair<_IntType, _IntType>
1115:     __gen_two_uniform_ints(_IntType __b0, _IntType __b1,
1115:       _UniformRandomBitGenerator&& __g)
1115:     {
1115:       _IntType __x
1115:  = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g);
1115:       return std::make_pair(__x / __b1, __x % __b1);
1115:     }
1115: # 3693 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator,
1115:     typename _2: 
1412:       typedef _Alloc allocator_type;
1412:       typedef typename traits_type::int_type int_type;
1412:       typedef typename traits_type::pos_type pos_type;
1412:       typedef typename traits_type::off_type off_type;
1412: 
1412: 
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1412:       typedef basic_ostream<char_type, traits_type> __ostream_type;
1412: 
1412:     private:
1412:       __stringbuf_type _M_stringbuf;
1412: 
1412:     public:
1412: # 791 "/usr/include/c++/12/sstream" 3
1412:       basic_ostringstream()
1412:       : __ostream_type(), _M_stringbuf(ios_base::out)
1412:       { this->init(&_M_stringbuf); }
1412: # 807 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_ostringstream(ios_base::openmode __mode)
1412:       : __ostream_type(), _M_stringbuf(__mode | ios_base::out)
1412:       { this->init(&_M_stringbuf); }
1412: # 825 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_ostringstream(const __string_type& __str,
1412:      ios_base::openmode __mode = ios_base::out)
1412:       : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out)
1412:       { this->init(&_M_stringbuf); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~basic_ostringstream()
1412:       { }
1412: 
1412: 
1412:       basic_ostringstream(const basic_ostringstream&) = delete;
1412: 
1412:       basic_ostringstream(basic_ostringstream&& __rhs)
1412:       : __ostream_type(std::move(__rhs)),
1412:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1412:       { __ostream_type::set_rdbuf(&_M_stringbuf); }
1412: # 882 "/usr/include/c++/12/sstream" 3
1412:       basic_ostringstream&
1412:       operator=(const basic_ostringstream&) = delete;
1412: 
1412:       basic_ostringstream&
1412:       operator=(basic_ostringstream&& __rhs)
1412:       {
1412:  __ostream_type::operator=(std::move(__rhs));
1412:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       swap(basic_ostringstream& __rhs)
1412:       {
1412:  __ostream_type::swap(__rhs);
1412:  _M_stringbuf.swap(__rhs._M_stringbuf);
1412:       }
1412: # 908 "/usr/include/c++/12/sstream" 3
1412:       __stringbuf_type*
1412:       rdbuf() const
1412:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       __string_type
1412:       str() const
1412:       { return _M_stringbuf.str(); }
1412: # 943 "/usr/include/c++/12/sstream" 3
1412:       void
1412:       str(const __string_type& __s)
1412:       { _M_stringbuf.str(__s); }
1412: # 960 "/usr/include/c++/12/sstream" 3
1412:     };
1412: # 978 "/usr/include/c++/12/sstream" 3
1412:   template <typename _CharT, typename _Traits, typename _Alloc>
1412:     class basic_stringstream : public basic_iostream<_CharT, _Traits>
1412:     {
1412:     public:
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412: 
1412: 
1412:       typedef _Alloc allocator_type;
1412:       typedef typename traits_type::int_type int_type;
1412:       typedef typename traits_type::pos_type pos_type;
1412:       typedef typename traits_type::off_type off_type;
1412: 
1412: 
1412:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1412:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1412:       typedef basic_iostream<char_type, traits_type> __iostream_type;
1412: 
1412:     private:
1412:       __stringbuf_type _M_stringbuf;
1412: 
1412:     public:
1412: # 1012 "/usr/include/c++/12/sstream" 3
1412:       basic_stringstream()
1412:       : __iostream_type(), _M_stringbuf(ios_base::out | ios_base::in)
1412:       { this->init(&_M_stringbuf); }
1412: # 1026 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_stringstream(ios_base::openmode __m)
1412:       : __iostream_type(), _M_stringbuf(__m)
1412:       { this->init(&_M_stringbuf); }
1412: # 1042 "/usr/include/c++/12/sstream" 3
1412:       explicit
1412:       basic_stringstream(const __string_type& __str,
1412:     ios_base::openmode __m = ios_base::out | ios_base::in)
1412:       : __iostream_type(), _M_stringbuf(__str, __m)
1412:       { this->init(&_M_stringbuf); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       ~basic_stringstream()
1412:       { }
1412: 
1412: 
1412:       basic_stringstream(const basic_stringstream&) = delete;
1412: 
1412:       basic_stringstream(basic_stringstream&& __rhs)
1412:       : __iostream_type(std::move(__rhs)),
1412:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1412:       { __iostream_type::set_rdbuf(&_M_stringbuf); }
1412: # 1101 "/usr/include/c++/12/sstream" 3
1412:       basic_stringstream&
1412:       operator=(const basic_stringstream&) = delete;
1412: 
1412:       basic_stringstream&
1412:       operator=(basic_stringstream&& __rhs)
1412:       {
1412:  __iostream_type::operator=(std::move(__rhs));
1412:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1412:  return *this;
1412:       }
1412: 
1412:       void
1412:       swap(basic_stringstream& __rhs)
1412:       {
1412:  __iostream_type::swap(__rhs);
1412:  _M_stringbuf.swap(__rhs._M_stringbuf);
1412:       }
1412: # 1127 "/usr/include/c++/12/sstream" 3
1412:       __stringbuf_type*
1412:       rdbuf() const
1412:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       __string_type
1412:       str() const
1412:       { return _M_stringbuf.str(); }
1412: # 1162 "/usr/include/c++/12/sstream" 3
1412:       void
1412:       str(const __string_type& __s)
1412:       { _M_stringbuf.str(__s); }
1412: # 1179 "/usr/include/c++/12/sstream" 3
1412:     };
1412: 
1412: 
1412: 
1412:   template <class _CharT, class _Traits, class _Allocator>
1412:     inline void
1412:     swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
1412:   basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
1412:     noexcept(noexcept(__x.swap(__y)))
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   template <class _CharT, class _Traits, class _Allocator>
1412:     inline void
1412:     swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
1412:   basic_istringstream<_CharT, _Traits, _Allocator>& __y)
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   template <class _CharT, class _Traits, class _Allocator>
1412:     inline void
1412:     swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
1412:   basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
1412:     { __x.swap(__y); }
1412: 
1412: 
1412:   template <class _CharT, class _Traits, class _Allocator>
1412:     inline void
1412:     swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
1412:   basic_stringstream<_CharT, _Traits, _Allocator>& __y)
1412:     { __x.swap(__y); }
1412: 
1412: 
1412: }
1412: 
1412: }
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/sstream.tcc" 1 3
1412: # 37 "/usr/include/c++/12/bits/sstream.tcc" 3
1412:        
1412: # 38 "/usr/include/c++/12/bits/sstream.tcc" 3
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   template <class _CharT, class _Traits, class _Alloc>
1412:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1412:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1412:     pbackfail(int_type __c)
1412:     {
1412:       int_type __ret = traits_type::eof();
1412:       if (this->eback() < this->gptr())
1412:  {
1412: 
1412: 
1412:    const bool __testeof = traits_type::eq_int_type(__c, __ret);
1412:    if (!__testeof)
1412:      {
1412:        const bool __testeq = traits_type::eq(traits_type::
1412:           to_char_type(__c),
1412:           this->gptr()[-1]);
1412:        const bool __testout = this->_M_mode & ios_base::out;
1412:        if (__testeq || __testout)
1412:   {
1412:     this->gbump(-1);
1412:     if (!__testeq)
1412:       *this->gptr() = traits_type::to_char_type(__c);
1412:     __ret = __c;
1412:   }
1412:      }
1412:    else
1412:      {
1412:        this->gbump(-1);
1412:        __ret = traits_type::not_eof(__c);
1UniformRandomNumberGenerator>
1115:     void
1115:     shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:      _UniformRandomNumberGenerator&& __g)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       if (__first == __last)
1115:  return;
1115: 
1115:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:  _DistanceType;
1115: 
1115:       typedef typename std::make_unsigned<_DistanceType>::type __ud_type;
1115:       typedef typename std::uniform_int_distribution<__ud_type> __distr_type;
1115:       typedef typename __distr_type::param_type __p_type;
1115: 
1115:       typedef typename remove_reference<_UniformRandomNumberGenerator>::type
1115:  _Gen;
1115:       typedef typename common_type<typename _Gen::result_type, __ud_type>::type
1115:  __uc_type;
1115: 
1115:       const __uc_type __urngrange = __g.max() - __g.min();
1115:       const __uc_type __urange = __uc_type(__last - __first);
1115: 
1115:       if (__urngrange / __urange >= __urange)
1115: 
1115:       {
1115:  _RandomAccessIterator __i = __first + 1;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  if ((__urange % 2) == 0)
1115:  {
1115:    __distr_type __d{0, 1};
1115:    std::iter_swap(__i++, __first + __d(__g));
1115:  }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  while (__i != __last)
1115:  {
1115:    const __uc_type __swap_range = __uc_type(__i - __first) + 1;
1115: 
1115:    const pair<__uc_type, __uc_type> __pospos =
1115:      __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g);
1115: 
1115:    std::iter_swap(__i++, __first + __pospos.first);
1115:    std::iter_swap(__i++, __first + __pospos.second);
1115:  }
1115: 
1115:  return;
1115:       }
1115: 
1115:       __distr_type __d;
1115: 
1115:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1115:  std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first)));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 3778 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Function>
1115:    
1115:     _Function
1115:     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
1115:     {
1115: 
1115:      
1115:       ;
1115:       for (; __first != __last; ++__first)
1115:  __f(*__first);
1115:       return __f;
1115:     }
1115: # 3804 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Size, typename _Function>
1115:    
1115:     _InputIterator
1115:     for_each_n(_InputIterator __first, _Size __n, _Function __f)
1115:     {
1115:       auto __n2 = std::__size_to_integer(__n);
1115:       using _Cat = typename iterator_traits<_InputIterator>::iterator_category;
1115:       if constexpr (is_base_of_v<random_access_iterator_tag, _Cat>)
1115:  {
1115:    if (__n2 <= 0)
1115:      return __first;
1115:    auto __last = __first + __n2;
1115:    std::for_each(__first, __last, std::move(__f));
1115:    return __last;
1115:  }
1115:       else
1115:  {
1115:    while (__n2-->0)
1115:      {
1115:        __f(*__first);
1115:        ++__first;
1115:      }
1115:    return __first;
1115:  }
1115:     }
1115: # 3840 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Tp>
1115:    
1115:     inline _InputIterator
1115:     find(_InputIterator __first, _InputIterator __last,
1115:   const _Tp& __val)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       return std::__find_if(__first, __last,
1115:        __gnu_cxx::__ops::__iter_equals_val(__val));
1115:     }
1115: # 3865 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline _InputIterator
1115:     find_if(_InputIterator __first, _InputIterator __last,
1115:      _Predicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__find_if(__first, __last,
1115:        __gnu_cxx::__ops::__pred_iter(__pred));
1115:     }
1115: # 3897 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _ForwardIterator>
1115:    
1115:     _InputIterator
1115:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1115:     _ForwardIterator __first2, _ForwardIterator __last2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       for (; __first1 != __last1; ++__first1)
1115:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1115:    if (*__first1 == *__iter)
1115:      return __first1;
1115:       return __last1;
1115:     }
1115: # 3938 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _ForwardIterator,
1115:     typename _BinaryPredicate>
1115:    
1115:     _InputIterator
1115:     find_first_of(_InputIterator __first1, _InputIterator __last1,
1115:     _ForwardIterator __first2, _ForwardIterator __last2,
1115:     _BinaryPredicate __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       for (; __first1 != __last1; ++__first1)
1115:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
1115:    if (__comp(*__first1, *__iter))
1115:      return __first1;
1115:       return __last1;
1115:     }
1115: # 3971 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:    
1115:     inline _ForwardIterator
1115:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__adjacent_find(__first, __last,
1115:       __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: # 3997 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _BinaryPredicate>
1115:    
1115:     inline _ForwardIterator
1115:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
1115:     _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       return std::__adjacent_find(__first, __last,
1115:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
1115:     }
1115: # 4023 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Tp>
1115:    
1115:     inline typename iterator_traits<_InputIterator>::difference_type
1115:     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__count_if(__first, __last,
1115:         __gnu_cxx::__ops::__iter_equals_val(__value));
1115:     }
1115: # 4047 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _Predicate>
1115:    
1115:     inline typename iterator_traits<_InputIterator>::difference_type
1115:     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__count_if(__first, __last,
1115:         __gnu_cxx::__ops::__pred_iter(__pred));
1115:     }
1115: # 4088 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2>
1115:    
1115:     inline _ForwardIterator1
1115:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__search(__first1, __last1, __first2, __last2,
1115:       __gnu_cxx::__ops::__iter_equal_to_iter());
1115:     }
1115: # 4128 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator1, typename _ForwardIterator2,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline _ForwardIterator1
1115:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
1115:     _BinaryPredicate __predicate)
1115:     {
1115: 
1115:      
111412:      }
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template <class _CharT, class _Traits, class _Alloc>
1412:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1412:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1412:     overflow(int_type __c)
1412:     {
1412:       const bool __testout = this->_M_mode & ios_base::out;
1412:       if (__builtin_expect(!__testout, false))
1412:  return traits_type::eof();
1412: 
1412:       const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
1412:       if (__builtin_expect(__testeof, false))
1412:  return traits_type::not_eof(__c);
1412: 
1412:       const __size_type __capacity = _M_string.capacity();
1412: 
1412: 
1412:       if (size_t(this->epptr() - this->pbase()) < __capacity)
1412:  {
1412: 
1412:    char_type* __base = const_cast<char_type*>(_M_string.data());
1412:    _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase());
1412:    if (_M_mode & ios_base::in)
1412:      {
1412:        const __size_type __nget = this->gptr() - this->eback();
1412:        const __size_type __eget = this->egptr() - this->eback();
1412:        this->setg(__base, __base + __nget, __base + __eget + 1);
1412:      }
1412:    *this->pptr() = traits_type::to_char_type(__c);
1412:    this->pbump(1);
1412:    return __c;
1412:  }
1412: 
1412: 
1412:       const __size_type __max_size = _M_string.max_size();
1412:       const bool __testput = this->pptr() < this->epptr();
1412:       if (__builtin_expect(!__testput && __capacity == __max_size, false))
1412:  return traits_type::eof();
1412: 
1412: 
1412: 
1412:       const char_type __conv = traits_type::to_char_type(__c);
1412:       if (!__testput)
1412:  {
1412: # 129 "/usr/include/c++/12/bits/sstream.tcc" 3
1412:    const __size_type __opt_len = std::max(__size_type(2 * __capacity),
1412:        __size_type(512));
1412:    const __size_type __len = std::min(__opt_len, __max_size);
1412:    __string_type __tmp(_M_string.get_allocator());
1412:    __tmp.reserve(__len);
1412:    if (this->pbase())
1412:      __tmp.assign(this->pbase(), this->epptr() - this->pbase());
1412:    __tmp.push_back(__conv);
1412:    _M_string.swap(__tmp);
1412:    _M_sync(const_cast<char_type*>(_M_string.data()),
1412:     this->gptr() - this->eback(), this->pptr() - this->pbase());
1412:  }
1412:       else
1412:  *this->pptr() = __conv;
1412:       this->pbump(1);
1412:       return __c;
1412:     }
1412: 
1412:   template <class _CharT, class _Traits, class _Alloc>
1412:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1412:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1412:     underflow()
1412:     {
1412:       int_type __ret = traits_type::eof();
1412:       const bool __testin = this->_M_mode & ios_base::in;
1412:       if (__testin)
1412:  {
1412: 
1412:    _M_update_egptr();
1412: 
1412:    if (this->gptr() < this->egptr())
1412:      __ret = traits_type::to_int_type(*this->gptr());
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template <class _CharT, class _Traits, class _Alloc>
1412:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1412:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1412:     seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode)
1412:     {
1412:       pos_type __ret = pos_type(off_type(-1));
1412:       bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1412:       bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1412:       const bool __testboth = __testin && __testout && __way != ios_base::cur;
1412:       __testin &= !(__mode & ios_base::out);
1412:       __testout &= !(__mode & ios_base::in);
1412: 
1412: 
1412: 
1412:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1412:       if ((__beg || !__off) && (__testin || __testout || __testboth))
1412:  {
1412:    _M_update_egptr();
1412: 
1412:    off_type __newoffi = __off;
1412:    off_type __newoffo = __newoffi;
1412:    if (__way == ios_base::cur)
1412:      {
1412:        __newoffi += this->gptr() - __beg;
1412:        __newoffo += this->pptr() - __beg;
1412:      }
1412:    else if (__way == ios_base::end)
1412:      __newoffo = __newoffi += this->egptr() - __beg;
1412: 
1412:    if ((__testin || __testboth)
1412:        && __newoffi >= 0
1412:        && this->egptr() - __beg >= __newoffi)
1412:      {
1412:        this->setg(this->eback(), this->eback() + __newoffi,
1412:     this->egptr());
1412:        __ret = pos_type(__newoffi);
1412:      }
1412:    if ((__testout || __testboth)
1412:        && __newoffo >= 0
1412:        && this->egptr() - __beg >= __newoffo)
1412:      {
1412:        _M_pbump(this->pbase(), this->epptr(), __newoffo);
1412:        __ret = pos_type(__newoffo);
1412:      }
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template <class _CharT, class _Traits, class _Alloc>
1412:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1412:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1412:     seekpos(pos_type __sp, ios_base::openmode __mode)
1412:     {
1412:       pos_type __ret = pos_type(off_type(-1));
1412:       const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1412:       const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1412: 
1412:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1412:       if ((__beg || !off_type(__sp)) && (__testin || __testout))
1412:  {
1412:    _M_update_egptr();
1412: 
1412:    const off_type __pos(__sp);
1412:    const bool __testpos = (0 <= __pos
1412:       && __pos <= this->egptr() - __beg);
1412:    if (__testpos)
1412:      {
1412:        if (__testin)
1412:   this->setg(this->eback(), this->eback() + __pos,
1412:       this->egptr());
1412:        if (__testout)
1412:   _M_pbump(this->pbase(), this->epptr(), __pos);
1412:        __ret = __sp;
1412:      }
1412:  }
1412:       return __ret;
1412:     }
1412: 
1412:   template <class _CharT, class _Traits, class _Alloc>
1412:     void
1412:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1412:     _M_sync(char_type* __base, __size_type __i, __size_type __o)
1412:     {
1412:       const bool __testin = _M_mode & ios_base::in;
1412:       const bool __testout = _M_mode & ios_base::out;
1412:       char_type* __endg = __base + _M_string.size();
1412:       char_type* __endp = __base + _M_string.capacity();
1412: 
1412:       if (__base != _M_string.data())
1412:  {
1412: 
1412:    __endg += __i;
1412:    __i = 0;
1412:    __endp = __endg;
1412:  }
1412: 
1412:       if (__testin)
1412:  this->setg(__base, __base + __i, __endg);
1412:       if (__testout)
1412:  {
1412:    _M_pbump(__base, __endp, __o);
1412: 
1412: 
1412: 
1412:    if (!__testin)
1412:      this->setg(__endg, __endg, __endg);
1412:  }
1412:     }
1412: 
1412:   template <class _CharT, class _Traits, class _Alloc>
1412:     void
1412:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1412:     _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off)
1412:     {
1412:       this->setp(__pbeg, __pend);
1412:       while (__off > __gnu_cxx::__numeric_traits<int>::__max)
1412:  {
1412:    this->pbump(__gnu_cxx::__numeric_traits<int>::__max);
1412:    __off -= __gnu_cxx::__numeric_traits<int>::__max;
1412:  }
1412:       this->pbump(__off);
1412:     }
1412: 
1412: 
1412: 
1412: 
1412:   extern template class basic_stringbuf<char>;
1412:   extern template class basic_istringstream<char>;
1412:   extern template class basic_ostringstream<char>;
1412:   extern template class basic_stringstream<char>;
1412: 
1412: 
1412:   extern template class basic_stringbuf<wchar_t>;
1412:   extern template class basic_istringstream<wchar_t>;
1412:   extern template class basic_ostringstream<wchar_t>;
1412:   extern template class basic_stringstream<wchar_t>;
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 1219 "/usr/include/c++/12/sstream" 2 3
1412: # 54 "/usr/include/tinyxml.h" 2 3 4
1412: # 87 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlDocument;
1412: class TiXmlElement;
1412: class TiXmlComment;
1412: class TiXmlUnknown;
1412: class TiXmlAttribute;
1412: class TiXmlText;
1412: 5:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__search(__first1, __last1, __first2, __last2,
1115:       __gnu_cxx::__ops::__iter_comp_iter(__predicate));
1115:     }
1115: # 4164 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Integer, typename _Tp>
1115:    
1115:     inline _ForwardIterator
1115:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1115:       _Integer __count, const _Tp& __val)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__search_n(__first, __last, __count,
1115:         __gnu_cxx::__ops::__iter_equals_val(__val));
1115:     }
1115: # 4198 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Integer, typename _Tp,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline _ForwardIterator
1115:     search_n(_ForwardIterator __first, _ForwardIterator __last,
1115:       _Integer __count, const _Tp& __val,
1115:       _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__search_n(__first, __last, __count,
1115:   __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val));
1115:     }
1115: # 4224 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Searcher>
1115:    
1115:     inline _ForwardIterator
1115:     search(_ForwardIterator __first, _ForwardIterator __last,
1115:     const _Searcher& __searcher)
1115:     { return __searcher(__first, __last).first; }
1115: # 4248 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _UnaryOperation>
1115:    
1115:     _OutputIterator
1115:     transform(_InputIterator __first, _InputIterator __last,
1115:        _OutputIterator __result, _UnaryOperation __unary_op)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       for (; __first != __last; ++__first, (void)++__result)
1115:  *__result = __unary_op(*__first);
1115:       return __result;
1115:     }
1115: # 4286 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _BinaryOperation>
1115:    
1115:     _OutputIterator
1115:     transform(_InputIterator1 __first1, _InputIterator1 __last1,
1115:        _InputIterator2 __first2, _OutputIterator __result,
1115:        _BinaryOperation __binary_op)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115: 
1115:       for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result)
1115:  *__result = __binary_op(*__first1, *__first2);
1115:       return __result;
1115:     }
1115: # 4320 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Tp>
1115:    
1115:     void
1115:     replace(_ForwardIterator __first, _ForwardIterator __last,
1115:      const _Tp& __old_value, const _Tp& __new_value)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       for (; __first != __last; ++__first)
1115:  if (*__first == __old_value)
1115:    *__first = __new_value;
1115:     }
1115: # 4353 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
1115:    
1115:     void
1115:     replace_if(_ForwardIterator __first, _ForwardIterator __last,
1115:         _Predicate __pred, const _Tp& __new_value)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       for (; __first != __last; ++__first)
1115:  if (__pred(*__first))
1115:    *__first = __new_value;
1115:     }
1115: # 4386 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Generator>
1115:    
1115:     void
1115:     generate(_ForwardIterator __first, _ForwardIterator __last,
1115:       _Generator __gen)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       for (; __first != __last; ++__first)
1115:  *__first = __gen();
1115:     }
1115: # 4420 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _OutputIterator, typename _Size, typename _Generator>
1115:    
1115:     _OutputIterator
1115:     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
1115:     {
1115: 
1115:      
1115: 
1115: 
1115: 
1115:       typedef __decltype(std::__size_to_integer(__n)) _IntSize;
1115:       for (_IntSize __niter = std::__size_to_integer(__n);
1115:     __niter > 0; --__niter, (void) ++__first)
1115:  *__first = __gen();
1115:       return __first;
1115:     }
1115: # 4458 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     unique_copy(_InputIterator __first, _InputIterator __last,
1115:   _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       if (__first == __last)
1115:  return __result;
1115:       return std::__unique_copy(__first, __last, __result,
1115:     __gnu_cxx::__ops::__iter_equal_to_iter(),
1115:     std::__iterator_category(__first),
1115:     std::__iterator_category(__result));
1115:     }
1115: # 4499 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator, typename _OutputIterator,
1115:     typename _BinaryPredicate>
1115:    
1115:     inline _OutputIterator
1115:     unique_copy(_InputIterator __first, _InputIterator __last,
1115:   _OutputIterator __result,
1115:   _BinaryPredicate __binary_pred)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115: 
1115:       if (__first == __last)
1115:  return __result;
1115:       return std::__unique_copy(__first, __last, __result,
1115:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred),
1115:     std::__iterator_category(__first),
1115:     std::__iterator_category(__result));
1115:     }
1115: # 4538 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator>
1115:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1115:     inline void
1115:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       if (__first != __last)
1115:  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1115:    {
1115: 
1115:      _RandomAccessIterator __j = __first
1115:      + std::rand() % ((__i - __first) + 1);
1115:      if (__i != __j)
1115:        std::iter_swap(__i, __j);
1115:    }
1115:     }
1115: # 4578 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
1115:     __attribute__ ((__deprecated__ ("use '" "std::shuffle" "' instead")))
1115:     void
1115:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115: 
1115:      _RandomNumberGenerator&& __rand)
1115: 
1115: 
1115: 
1115:     {
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       if (__first == __last)
1115:  return;
1115:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
1115:  {
1115:    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
1115:    if (__i != __j)
1115:      std::iter_swap(__i, __j);
1115:  }
1115:     }
1115: # 4619 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Predicate>
1115:    
1115:     inline _ForwardIterator
1115:     partition(_ForwardIterator __first, _ForwardIterator __last,
1115:        _Predicate __pred)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115: 
1115:       return std::__partition(__first, __last, __pred,
1115:          std::__iterator_category(__first));
1115:     }
1115: # 4653 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline void
1115:     partial_sort(_RandomAccessIterator __first,
11class TiXmlDeclaration;
1412: class TiXmlParsingData;
1412: 
1412: const int TIXML_MAJOR_VERSION = 2;
1412: const int TIXML_MINOR_VERSION = 6;
1412: const int TIXML_PATCH_VERSION = 2;
1412: 
1412: 
1412: 
1412: 
1412: struct TiXmlCursor
1412: {
1412:  TiXmlCursor() { Clear(); }
1412:  void Clear() { row = col = -1; }
1412: 
1412:  int row;
1412:  int col;
1412: };
1412: # 132 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlVisitor
1412: {
1412: public:
1412:  virtual ~TiXmlVisitor() {}
1412: 
1412: 
1412:  virtual bool VisitEnter( const TiXmlDocument& ) { return true; }
1412: 
1412:  virtual bool VisitExit( const TiXmlDocument& ) { return true; }
1412: 
1412: 
1412:  virtual bool VisitEnter( const TiXmlElement& , const TiXmlAttribute* ) { return true; }
1412: 
1412:  virtual bool VisitExit( const TiXmlElement& ) { return true; }
1412: 
1412: 
1412:  virtual bool Visit( const TiXmlDeclaration& ) { return true; }
1412: 
1412:  virtual bool Visit( const TiXmlText& ) { return true; }
1412: 
1412:  virtual bool Visit( const TiXmlComment& ) { return true; }
1412: 
1412:  virtual bool Visit( const TiXmlUnknown& ) { return true; }
1412: };
1412: 
1412: 
1412: enum
1412: {
1412:  TIXML_SUCCESS,
1412:  TIXML_NO_ATTRIBUTE,
1412:  TIXML_WRONG_TYPE
1412: };
1412: 
1412: 
1412: 
1412: enum TiXmlEncoding
1412: {
1412:  TIXML_ENCODING_UNKNOWN,
1412:  TIXML_ENCODING_UTF8,
1412:  TIXML_ENCODING_LEGACY
1412: };
1412: 
1412: const TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN;
1412: # 198 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlBase
1412: {
1412:  friend class TiXmlNode;
1412:  friend class TiXmlElement;
1412:  friend class TiXmlDocument;
1412: 
1412: public:
1412:  TiXmlBase() : userData(0) {}
1412:  virtual ~TiXmlBase() {}
1412: # 217 "/usr/include/tinyxml.h" 3 4
1412:  virtual void Print( FILE* cfile, int depth ) const = 0;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  static void SetCondenseWhiteSpace( bool condense ) { condenseWhiteSpace = condense; }
1412: 
1412: 
1412:  static bool IsWhiteSpaceCondensed() { return condenseWhiteSpace; }
1412: # 248 "/usr/include/tinyxml.h" 3 4
1412:  int Row() const { return location.row + 1; }
1412:  int Column() const { return location.col + 1; }
1412: 
1412:  void SetUserData( void* user ) { userData = user; }
1412:  void* GetUserData() { return userData; }
1412:  const void* GetUserData() const { return userData; }
1412: 
1412: 
1412: 
1412:  static const int utf8ByteTable[256];
1412: 
1412:  virtual const char* Parse( const char* p,
1412:         TiXmlParsingData* data,
1412:         TiXmlEncoding encoding ) = 0;
1412: 
1412: 
1412: 
1412: 
1412:  static void EncodeString( const std::string& str, std::string* out );
1412: 
1412:  enum
1412:  {
1412:   TIXML_NO_ERROR = 0,
1412:   TIXML_ERROR,
1412:   TIXML_ERROR_OPENING_FILE,
1412:   TIXML_ERROR_PARSING_ELEMENT,
1412:   TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
1412:   TIXML_ERROR_READING_ELEMENT_VALUE,
1412:   TIXML_ERROR_READING_ATTRIBUTES,
1412:   TIXML_ERROR_PARSING_EMPTY,
1412:   TIXML_ERROR_READING_END_TAG,
1412:   TIXML_ERROR_PARSING_UNKNOWN,
1412:   TIXML_ERROR_PARSING_COMMENT,
1412:   TIXML_ERROR_PARSING_DECLARATION,
1412:   TIXML_ERROR_DOCUMENT_EMPTY,
1412:   TIXML_ERROR_EMBEDDED_NULL,
1412:   TIXML_ERROR_PARSING_CDATA,
1412:   TIXML_ERROR_DOCUMENT_TOP_ONLY,
1412: 
1412:   TIXML_ERROR_STRING_COUNT
1412:  };
1412: 
1412: protected:
1412: 
1412:  static const char* SkipWhiteSpace( const char*, TiXmlEncoding encoding );
1412: 
1412:  inline static bool IsWhiteSpace( char c )
1412:  {
1412:   return ( isspace( (unsigned char) c ) || c == '\n' || c == '\r' );
1412:  }
1412:  inline static bool IsWhiteSpace( int c )
1412:  {
1412:   if ( c < 256 )
1412:    return IsWhiteSpace( (char) c );
1412:   return false;
1412:  }
1412: 
1412: 
1412:  static bool StreamWhiteSpace( std::istream * in, std::string * tag );
1412:  static bool StreamTo( std::istream * in, int character, std::string * tag );
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  static const char* ReadName( const char* p, std::string* name, TiXmlEncoding encoding );
1412: 
1412: 
1412: 
1412: 
1412:  static const char* ReadText( const char* in,
1412:          std::string* text,
1412:          bool ignoreWhiteSpace,
1412:          const char* endTag,
1412:          bool ignoreCase,
1412:          TiXmlEncoding encoding );
1412: 
1412: 
1412:  static const char* GetEntity( const char* in, char* value, int* length, TiXmlEncoding encoding );
1412: 
1412: 
1412: 
1412:  inline static const char* GetChar( const char* p, char* _value, int* length, TiXmlEncoding encoding )
1412:  {
1412:   (static_cast<void> (0));
1412:   if ( encoding == TIXML_ENCODING_UTF8 )
1412:   {
1412:    *length = utf8ByteTable[ *((const unsigned char*)p) ];
1412:    (static_cast<void> (0));
1412:   }
1412:   else
1412:   {
1412:    *length = 1;
1412:   }
1412: 
1412:   if ( *length == 1 )
1412:   {
1412:    if ( *p == '&' )
1412:     return GetEntity( p, _value, length, encoding );
1412:    *_value = *p;
1412:    return p+1;
1412:   }
1412:   else if ( *length )
1412:   {
1412: 
1412: 
1412:    for( int i=0; p[i] && i<*length; ++i ) {
1412:     _value[i] = p[i];
1412:    }
1412:    return p + (*length);
1412:   }
1412:   else
1412:   {
1412: 
1412:    return 0;
1412:   }
1412:  }
1412: 
1412: 
1412: 
1412: 
1412:  static bool StringEqual( const char* p,
1412:         const char* endTag,
1412:         bool ignoreCase,
1412:         TiXmlEncoding encoding );
1412: 
1412:  static const char* errorString[ TIXML_ERROR_STRING_COUNT ];
1412: 
1412:  TiXmlCursor location;
1412: 
1412: 
1412:  void* userData;
1412: 
1412: 
1412: 
1412:  static int IsAlpha( unsigned char anyByte, TiXmlEncoding encoding );
1412:  static int IsAlphaNum( unsigned char anyByte, TiXmlEncoding encoding );
1412:  inline static int ToLower( int v, TiXmlEncoding encoding )
1412:  {
1412:   if ( encoding == TIXML_ENCODING_UTF8 )
1412:   {
1412:    if ( v < 128 ) return tolower( v );
1412:    return v;
1412:   }
1412:   else
1412:   {
1412:    return tolower( v );
1412:   }
1412:  }
1412:  static void ConvertUTF32ToUTF8( unsigned long input, char* output, int* length );
1412: 
1412: private:
1412:  TiXmlBase( const TiXmlBase& );
1412:  void operator=( const TiXmlBase& base );
1412: 
1412:  struct Entity
1412:  {
1412:   const char* str;
1412:   unsigned int strLength;
1412:   char chr;
1412:  };
1412:  enum
1412:  {
1412:   NUM_ENTITY = 5,
1412:   MAX_ENTITY_LENGTH = 6
1412: 
1412:  };
1412:  static Entity entity[ NUM_ENTITY ];
1412:  static bool condenseWhiteSpace;
1412: };
1412: # 427 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlNode : public TiXmlBase
1412: {
1412:  friend class TiXmlDocument;
1412:  friend class TiXmlElement;
1412: 
1412: public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412:      friend std::istream& operator >> (std::istream& in, TiXmlNode& base);
1412: # 456 "/usr/include/tinyxml.h" 3 4
1412:      friend std::ostream& operator<< (std::ostream& out, const TiXmlNode& base);
1412: 
1412: 
1412:   friend std::string& operator<< (std::string& out, const TiXmlNode& base );
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  enum NodeType
1412:  {
1412:   TINYXML_DOCUMENT,
1412:   TINYXML_ELEMENT,
1412:   TINYXML_COMMENT,
1412:   TINYXML_UNKNOWN,
1412:   TINYXML_TEXT,
1412:   TINYXML_DECLARATION,
1412:   TINYXML_TYPECOUNT
1412:  };
1412: 
1412:  virtual ~TiXmlNode();
1412: # 491 "/usr/include/tinyxml.h" 3 4
1412:  const char *Value() const { return value.c_str (); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  const std::string& ValueStr() const { return value; }
1412: 
1412: 
1412:  const std::string& ValueTStr() const { return value; }
1412: # 512 "/usr/include/tinyxml.h" 3 4
1412:  void SetValue(const char * _value) { value = _value;}
1412: 
1412: 
1412: 
1412:  void SetValue( const std::string& _value ) { value = _value; }
1412: 
1412: 
1412: 
1412:  void Clear();
1412: 
1412: 
1412:  TiXmlNode* Parent() { return parent; }
1412:  const TiXmlNode* Parent() const { return parent; }
1412: 
1412:  const TiXmlNode* FirstChild() const { return firstChild; }
1412:  TiXmlNode* FirstChild() { return firstChild; }
1412:  const TiXmlN15:    _RandomAccessIterator __middle,
1115:    _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       std::__partial_sort(__first, __middle, __last,
1115:      __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 4692 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     partial_sort(_RandomAccessIterator __first,
1115:    _RandomAccessIterator __middle,
1115:    _RandomAccessIterator __last,
1115:    _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       std::__partial_sort(__first, __middle, __last,
1115:      __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: # 4729 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline void
1115:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1115:   _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       if (__first == __last || __nth == __last)
1115:  return;
1115: 
1115:       std::__introselect(__first, __nth, __last,
1115:     std::__lg(__last - __first) * 2,
1115:     __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 4769 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
1115:   _RandomAccessIterator __last, _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       if (__first == __last || __nth == __last)
1115:  return;
1115: 
1115:       std::__introselect(__first, __nth, __last,
1115:     std::__lg(__last - __first) * 2,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: # 4807 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator>
1115:    
1115:     inline void
1115:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 4838 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:    
1115:     inline void
1115:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:   _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _Compare>
1115:    
1115:     _OutputIterator
1115:     __merge(_InputIterator1 __first1, _InputIterator1 __last1,
1115:      _InputIterator2 __first2, _InputIterator2 __last2,
1115:      _OutputIterator __result, _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  {
1115:    if (__comp(__first2, __first1))
1115:      {
1115:        *__result = *__first2;
1115:        ++__first2;
1115:      }
1115:    else
1115:      {
1115:        *__result = *__first1;
1115:        ++__first1;
1115:      }
1115:    ++__result;
1115:  }
1115:       return std::copy(__first2, __last2,
1115:          std::copy(__first1, __last1, __result));
1115:     }
1115: # 4901 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1115:    _InputIterator2 __first2, _InputIterator2 __last2,
1115:    _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__merge(__first1, __last1,
1115:          __first2, __last2, __result,
1115:          __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 4952 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _Compare>
1115:    
1115:     inline _OutputIterator
1115:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
1115:    _InputIterator2 __first2, _InputIterator2 __last2,
1115:    _OutputIterator __result, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__merge(__first1, __last1,
1115:     __first2, __last2, __result,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:     inline void
1115:     __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:     _Compare __comp)
1115:     {
1115:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
1115:  _ValueType;
1115:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1115:  _DistanceType;
1115:       typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf;
1115: 
1115:       if (__first == __last)
1115:  return;
1115: 
1115: 
1115: 
1115:       _TmpBuf __buf(__first, (__last - __first + 1) / 2);
1115: 
1115:       if (__buf.begin() == 0)
1115:  std::__inplace_stable_sort(__first, __last, __comp);
1115:       else
1115:  std::__stable_sort_adaptive(__first, __last, __buf.begin(),
1115:         _DistanceType(__buf.size()), __comp);
1115:     }
1115: # 5022 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator>
1115:     inline void
1115:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       std::__stable_sort(__first, __last,
1115:         __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 5056 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _RandomAccessIterator, typename _Compare>
1115:     inline void
1115:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
1115:   _Compare __comp)
1115:     {
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       std::__stable_sort(__first, __last,
1115:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator,
1115:     typename _Compare>
1115:    
1115:     _OutputIterator
1115:     __set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1115:   _InputIterator2 __first2, _InputIterator2 __last2,
1115:   _OutputIterator __result, _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  {
1115:    if (__comp(__first1, __first2))
1115:      {
1115:        *__result = *__first1;
1115:        ++__first1;
1115:      }
1115:    else if (__comp(__first2, __first1))
1115:      {
1115:        *__result = *__first2;
1115:        ++__first2;
1115:      }
1115:    else
1115:      {
1115:        *__result = *__first1;
1115:        ++__first1;
1115:        ++__first2;
1115:      }
1115:    ++__result;
1115:  }
1115:       return std::copy(__first2, __last2,
1115:          std::copy(__first1, __last1, __result));
1115:     }
1115: # 5126 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     set_union(_InputIterator1 __first1, _InputIteratode* FirstChild( const char * value ) const;
1412: 
1412:  TiXmlNode* FirstChild( const char * _value ) {
1412: 
1412: 
1412:   return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->FirstChild( _value ));
1412:  }
1412:  const TiXmlNode* LastChild() const { return lastChild; }
1412:  TiXmlNode* LastChild() { return lastChild; }
1412: 
1412:  const TiXmlNode* LastChild( const char * value ) const;
1412:  TiXmlNode* LastChild( const char * _value ) {
1412:   return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->LastChild( _value ));
1412:  }
1412: 
1412: 
1412:  const TiXmlNode* FirstChild( const std::string& _value ) const { return FirstChild (_value.c_str ()); }
1412:  TiXmlNode* FirstChild( const std::string& _value ) { return FirstChild (_value.c_str ()); }
1412:  const TiXmlNode* LastChild( const std::string& _value ) const { return LastChild (_value.c_str ()); }
1412:  TiXmlNode* LastChild( const std::string& _value ) { return LastChild (_value.c_str ()); }
1412: # 566 "/usr/include/tinyxml.h" 3 4
1412:  const TiXmlNode* IterateChildren( const TiXmlNode* previous ) const;
1412:  TiXmlNode* IterateChildren( const TiXmlNode* previous ) {
1412:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( previous ) );
1412:  }
1412: 
1412: 
1412:  const TiXmlNode* IterateChildren( const char * value, const TiXmlNode* previous ) const;
1412:  TiXmlNode* IterateChildren( const char * _value, const TiXmlNode* previous ) {
1412:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( _value, previous ) );
1412:  }
1412: 
1412: 
1412:  const TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) const { return IterateChildren (_value.c_str (), previous); }
1412:  TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) { return IterateChildren (_value.c_str (), previous); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlNode* InsertEndChild( const TiXmlNode& addThis );
1412: # 597 "/usr/include/tinyxml.h" 3 4
1412:  TiXmlNode* LinkEndChild( TiXmlNode* addThis );
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis );
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlNode* InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis );
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis );
1412: 
1412: 
1412:  bool RemoveChild( TiXmlNode* removeThis );
1412: 
1412: 
1412:  const TiXmlNode* PreviousSibling() const { return prev; }
1412:  TiXmlNode* PreviousSibling() { return prev; }
1412: 
1412: 
1412:  const TiXmlNode* PreviousSibling( const char * ) const;
1412:  TiXmlNode* PreviousSibling( const char *_prev ) {
1412:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->PreviousSibling( _prev ) );
1412:  }
1412: 
1412: 
1412:  const TiXmlNode* PreviousSibling( const std::string& _value ) const { return PreviousSibling (_value.c_str ()); }
1412:  TiXmlNode* PreviousSibling( const std::string& _value ) { return PreviousSibling (_value.c_str ()); }
1412:  const TiXmlNode* NextSibling( const std::string& _value) const { return NextSibling (_value.c_str ()); }
1412:  TiXmlNode* NextSibling( const std::string& _value) { return NextSibling (_value.c_str ()); }
1412: 
1412: 
1412: 
1412:  const TiXmlNode* NextSibling() const { return next; }
1412:  TiXmlNode* NextSibling() { return next; }
1412: 
1412: 
1412:  const TiXmlNode* NextSibling( const char * ) const;
1412:  TiXmlNode* NextSibling( const char* _next ) {
1412:   return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->NextSibling( _next ) );
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  const TiXmlElement* NextSiblingElement() const;
1412:  TiXmlElement* NextSiblingElement() {
1412:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement() );
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  const TiXmlElement* NextSiblingElement( const char * ) const;
1412:  TiXmlElement* NextSiblingElement( const char *_next ) {
1412:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement( _next ) );
1412:  }
1412: 
1412: 
1412:  const TiXmlElement* NextSiblingElement( const std::string& _value) const { return NextSiblingElement (_value.c_str ()); }
1412:  TiXmlElement* NextSiblingElement( const std::string& _value) { return NextSiblingElement (_value.c_str ()); }
1412: 
1412: 
1412: 
1412:  const TiXmlElement* FirstChildElement() const;
1412:  TiXmlElement* FirstChildElement() {
1412:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement() );
1412:  }
1412: 
1412: 
1412:  const TiXmlElement* FirstChildElement( const char * _value ) const;
1412:  TiXmlElement* FirstChildElement( const char * _value ) {
1412:   return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement( _value ) );
1412:  }
1412: 
1412: 
1412:  const TiXmlElement* FirstChildElement( const std::string& _value ) const { return FirstChildElement (_value.c_str ()); }
1412:  TiXmlElement* FirstChildElement( const std::string& _value ) { return FirstChildElement (_value.c_str ()); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  int Type() const { return type; }
1412: 
1412: 
1412: 
1412: 
1412:  const TiXmlDocument* GetDocument() const;
1412:  TiXmlDocument* GetDocument() {
1412:   return const_cast< TiXmlDocument* >( (const_cast< const TiXmlNode* >(this))->GetDocument() );
1412:  }
1412: 
1412: 
1412:  bool NoChildren() const { return !firstChild; }
1412: 
1412:  virtual const TiXmlDocument* ToDocument() const { return 0; }
1412:  virtual const TiXmlElement* ToElement() const { return 0; }
1412:  virtual const TiXmlComment* ToComment() const { return 0; }
1412:  virtual const TiXmlUnknown* ToUnknown() const { return 0; }
1412:  virtual const TiXmlText* ToText() const { return 0; }
1412:  virtual const TiXmlDeclaration* ToDeclaration() const { return 0; }
1412: 
1412:  virtual TiXmlDocument* ToDocument() { return 0; }
1412:  virtual TiXmlElement* ToElement() { return 0; }
1412:  virtual TiXmlComment* ToComment() { return 0; }
1412:  virtual TiXmlUnknown* ToUnknown() { return 0; }
1412:  virtual TiXmlText* ToText() { return 0; }
1412:  virtual TiXmlDeclaration* ToDeclaration() { return 0; }
1412: 
1412: 
1412: 
1412: 
1412:  virtual TiXmlNode* Clone() const = 0;
1412: # 742 "/usr/include/tinyxml.h" 3 4
1412:  virtual bool Accept( TiXmlVisitor* visitor ) const = 0;
1412: 
1412: protected:
1412:  TiXmlNode( NodeType _type );
1412: 
1412: 
1412: 
1412:  void CopyTo( TiXmlNode* target ) const;
1412: 
1412: 
1412: 
1412:  virtual void StreamIn( std::istream* in, std::string* tag ) = 0;
1412: 
1412: 
1412: 
1412:  TiXmlNode* Identify( const char* start, TiXmlEncoding encoding );
1412: 
1412:  TiXmlNode* parent;
1412:  NodeType type;
1412: 
1412:  TiXmlNode* firstChild;
1412:  TiXmlNode* lastChild;
1412: 
1412:  std::string value;
1412: 
1412:  TiXmlNode* prev;
1412:  TiXmlNode* next;
1412: 
1412: private:
1412:  TiXmlNode( const TiXmlNode& );
1412:  void operator=( const TiXmlNode& base );
1412: };
1412: # 783 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlAttribute : public TiXmlBase
1412: {
1412:  friend class TiXmlAttributeSet;
1412: 
1412: public:
1412: 
1412:  TiXmlAttribute() : TiXmlBase()
1412:  {
1412:   document = 0;
1412:   prev = next = 0;
1412:  }
1412: 
1412: 
1412: 
1412:  TiXmlAttribute( const std::string& _name, const std::string& _value )
1412:  {
1412:   name = _name;
1412:   value = _value;
1412:   document = 0;
1412:   prev = next = 0;
1412:  }
1412: 
1412: 
1412: 
1412:  TiXmlAttribute( const char * _name, const char * _value )
1412:  {
1412:   name = _name;
1412:   value = _value;
1412:   document = 0;
1412:   prev = next = 0;
1412:  }
1412: 
1412:  const char* Name() const { return name.c_str(); }
1412:  const char* Value() const { return value.c_str(); }
1412: 
1412:  const std::string& ValueStr() const { return value; }
1412: 
1412:  int IntValue() const;
141or1 __last1,
1115:        _InputIterator2 __first2, _InputIterator2 __last2,
1115:        _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__set_union(__first1, __last1,
1115:     __first2, __last2, __result,
1115:     __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 5177 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _Compare>
1115:    
1115:     inline _OutputIterator
1115:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
1115:        _InputIterator2 __first2, _InputIterator2 __last2,
1115:        _OutputIterator __result, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__set_union(__first1, __last1,
1115:     __first2, __last2, __result,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator,
1115:     typename _Compare>
1115:    
1115:     _OutputIterator
1115:     __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1115:          _InputIterator2 __first2, _InputIterator2 __last2,
1115:          _OutputIterator __result, _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  if (__comp(__first1, __first2))
1115:    ++__first1;
1115:  else if (__comp(__first2, __first1))
1115:    ++__first2;
1115:  else
1115:    {
1115:      *__result = *__first1;
1115:      ++__first1;
1115:      ++__first2;
1115:      ++__result;
1115:    }
1115:       return __result;
1115:     }
1115: # 5250 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1115:        _InputIterator2 __first2, _InputIterator2 __last2,
1115:        _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__set_intersection(__first1, __last1,
1115:          __first2, __last2, __result,
1115:          __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 5300 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _Compare>
1115:    
1115:     inline _OutputIterator
1115:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
1115:        _InputIterator2 __first2, _InputIterator2 __last2,
1115:        _OutputIterator __result, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__set_intersection(__first1, __last1,
1115:     __first2, __last2, __result,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator,
1115:     typename _Compare>
1115:    
1115:     _OutputIterator
1115:     __set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1115:        _InputIterator2 __first2, _InputIterator2 __last2,
1115:        _OutputIterator __result, _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  if (__comp(__first1, __first2))
1115:    {
1115:      *__result = *__first1;
1115:      ++__first1;
1115:      ++__result;
1115:    }
1115:  else if (__comp(__first2, __first1))
1115:    ++__first2;
1115:  else
1115:    {
1115:      ++__first1;
1115:      ++__first2;
1115:    }
1115:       return std::copy(__first1, __last1, __result);
1115:     }
1115: # 5375 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1115:      _InputIterator2 __first2, _InputIterator2 __last2,
1115:      _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__set_difference(__first1, __last1,
1115:        __first2, __last2, __result,
1115:        __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 5427 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _Compare>
1115:    
1115:     inline _OutputIterator
1115:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1115:      _InputIterator2 __first2, _InputIterator2 __last2,
1115:      _OutputIterator __result, _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__set_difference(__first1, __last1,
1115:        __first2, __last2, __result,
1115:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator,
1115:     typename _Compare>
1115:    
1115:     _OutputIterator
1115:     __set_symmetric_difference(_InputIterator1 __first1,
1115:           _InputIterator1 __last1,
1115:           _InputIterator2 __first2,
1115:           _InputIterator2 __last2,
1115:           _OutputIterator __result,
1115:           _Compare __comp)
1115:     {
1115:       while (__first1 != __last1 && __first2 != __last2)
1115:  if (__comp(__first1, __first2))
1115:    {
1115:      *__result = *__first1;
1115:      ++__first1;
1115:      ++__result;
1115:    }
1115:  else if (__comp(__first2, __first1))
1115:    {
1115:      *__result = *__first2;
1115:      ++__first2;
1115:      ++__result;
1115:    }
1115:  else
1115:    {
1115:      ++__first1;
1115:      ++__first2;
1115:    }
1115:       return std::copy(__first2, __last2,
1115:          std::copy(__first1, __last1, __result));
1115:     }
1115: # 5508 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator>
1115:    
1115:     inline _OutputIterator
1115:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1115:         _InputIterator2 __first2, _InputIterator2 __last2,
1115:         _OutputIterator __result)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std::__set_symmetric_difference(__first1, __last1,
1115:      __first2, __last2, __result,
1115:      __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 5560 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _InputIterator1, typename _InputIterator2,
1115:     typename _OutputIterator, typename _Compare>
1115:    
1115:     inline _OutputIterator
1115:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
1115:         _InputIterator2 __first2, _InputIterator2 __last2,
1115:         _OutputIterator __result,
1115:         _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115:      
1115: 
1115:      
1115: 
1115:      
1115: 
1115: 
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115:       ;
1115:       ;
1115: 
1115:       return std2:  double DoubleValue() const;
1412: 
1412: 
1412:  const std::string& NameTStr() const { return name; }
1412: # 835 "/usr/include/tinyxml.h" 3 4
1412:  int QueryIntValue( int* _value ) const;
1412: 
1412:  int QueryDoubleValue( double* _value ) const;
1412: 
1412:  void SetName( const char* _name ) { name = _name; }
1412:  void SetValue( const char* _value ) { value = _value; }
1412: 
1412:  void SetIntValue( int _value );
1412:  void SetDoubleValue( double _value );
1412: 
1412: 
1412: 
1412:  void SetName( const std::string& _name ) { name = _name; }
1412: 
1412:  void SetValue( const std::string& _value ) { value = _value; }
1412: 
1412: 
1412: 
1412:  const TiXmlAttribute* Next() const;
1412:  TiXmlAttribute* Next() {
1412:   return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Next() );
1412:  }
1412: 
1412: 
1412:  const TiXmlAttribute* Previous() const;
1412:  TiXmlAttribute* Previous() {
1412:   return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Previous() );
1412:  }
1412: 
1412:  bool operator==( const TiXmlAttribute& rhs ) const { return rhs.name == name; }
1412:  bool operator<( const TiXmlAttribute& rhs ) const { return name < rhs.name; }
1412:  bool operator>( const TiXmlAttribute& rhs ) const { return name > rhs.name; }
1412: 
1412: 
1412: 
1412: 
1412:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1412: 
1412: 
1412:  virtual void Print( FILE* cfile, int depth ) const {
1412:   Print( cfile, depth, 0 );
1412:  }
1412:  void Print( FILE* cfile, int depth, std::string* str ) const;
1412: 
1412: 
1412: 
1412:  void SetDocument( TiXmlDocument* doc ) { document = doc; }
1412: 
1412: private:
1412:  TiXmlAttribute( const TiXmlAttribute& );
1412:  void operator=( const TiXmlAttribute& base );
1412: 
1412:  TiXmlDocument* document;
1412:  std::string name;
1412:  std::string value;
1412:  TiXmlAttribute* prev;
1412:  TiXmlAttribute* next;
1412: };
1412: # 907 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlAttributeSet
1412: {
1412: public:
1412:  TiXmlAttributeSet();
1412:  ~TiXmlAttributeSet();
1412: 
1412:  void Add( TiXmlAttribute* attribute );
1412:  void Remove( TiXmlAttribute* attribute );
1412: 
1412:  const TiXmlAttribute* First() const { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
1412:  TiXmlAttribute* First() { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
1412:  const TiXmlAttribute* Last() const { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
1412:  TiXmlAttribute* Last() { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
1412: 
1412:  TiXmlAttribute* Find( const char* _name ) const;
1412:  TiXmlAttribute* FindOrCreate( const char* _name );
1412: 
1412: 
1412:  TiXmlAttribute* Find( const std::string& _name ) const;
1412:  TiXmlAttribute* FindOrCreate( const std::string& _name );
1412: 
1412: 
1412: 
1412: private:
1412: 
1412: 
1412:  TiXmlAttributeSet( const TiXmlAttributeSet& );
1412:  void operator=( const TiXmlAttributeSet& );
1412: 
1412:  TiXmlAttribute sentinel;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class TiXmlElement : public TiXmlNode
1412: {
1412: public:
1412: 
1412:  TiXmlElement (const char * in_value);
1412: 
1412: 
1412: 
1412:  TiXmlElement( const std::string& _value );
1412: 
1412: 
1412:  TiXmlElement( const TiXmlElement& );
1412: 
1412:  TiXmlElement& operator=( const TiXmlElement& base );
1412: 
1412:  virtual ~TiXmlElement();
1412: 
1412: 
1412: 
1412: 
1412:  const char* Attribute( const char* name ) const;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  const char* Attribute( const char* name, int* i ) const;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  const char* Attribute( const char* name, double* d ) const;
1412: # 989 "/usr/include/tinyxml.h" 3 4
1412:  int QueryIntAttribute( const char* name, int* _value ) const;
1412: 
1412:  int QueryUnsignedAttribute( const char* name, unsigned* _value ) const;
1412: 
1412: 
1412: 
1412: 
1412:  int QueryBoolAttribute( const char* name, bool* _value ) const;
1412: 
1412:  int QueryDoubleAttribute( const char* name, double* _value ) const;
1412: 
1412:  int QueryFloatAttribute( const char* name, float* _value ) const {
1412:   double d;
1412:   int result = QueryDoubleAttribute( name, &d );
1412:   if ( result == TIXML_SUCCESS ) {
1412:    *_value = (float)d;
1412:   }
1412:   return result;
1412:  }
1412: 
1412: 
1412: 
1412:  int QueryStringAttribute( const char* name, std::string* _value ) const {
1412:   const char* cstr = Attribute( name );
1412:   if ( cstr ) {
1412:    *_value = std::string( cstr );
1412:    return TIXML_SUCCESS;
1412:   }
1412:   return TIXML_NO_ATTRIBUTE;
1412:  }
1412: # 1028 "/usr/include/tinyxml.h" 3 4
1412:  template< typename T > int QueryValueAttribute( const std::string& name, T* outValue ) const
1412:  {
1412:   const TiXmlAttribute* node = attributeSet.Find( name );
1412:   if ( !node )
1412:    return TIXML_NO_ATTRIBUTE;
1412: 
1412:   std::stringstream sstream( node->ValueStr() );
1412:   sstream >> *outValue;
1412:   if ( !sstream.fail() )
1412:    return TIXML_SUCCESS;
1412:   return TIXML_WRONG_TYPE;
1412:  }
1412: 
1412:  int QueryValueAttribute( const std::string& name, std::string* outValue ) const
1412:  {
1412:   const TiXmlAttribute* node = attributeSet.Find( name );
1412:   if ( !node )
1412:    return TIXML_NO_ATTRIBUTE;
1412:   *outValue = node->ValueStr();
1412:   return TIXML_SUCCESS;
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  void SetAttribute( const char* name, const char * _value );
1412: 
1412: 
1412:  const std::string* Attribute( const std::string& name ) const;
1412:  const std::string* Attribute( const std::string& name, int* i ) const;
1412:  const std::string* Attribute( const std::string& name, double* d ) const;
1412:  int QueryIntAttribute( const std::string& name, int* _value ) const;
1412:  int QueryDoubleAttribute( const std::string& name, double* _value ) const;
1412: 
1412: 
1412:  void SetAttribute( const std::string& name, const std::string& _value );
1412: 
1412:  void SetAttribute( const std::string& name, int _value );
1412: 
1412:  void SetDoubleAttribute( const std::string& name, double value );
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  void SetAttribute( const char * name, int value );
1412: 
1412: 
1412: 
1412: 
1412:  void SetDoubleAttribute( const char * name, double value );
1412: 
1412: 
1412: 
1412:  void RemoveAttribute( const char * name );
1412: 
1412:  void RemoveAttribute( const std::string& name ) { RemoveAttribute (name.c_str ()); }
1412: 
1412: 
1412:  const TiXmlAttribute* FirstAttribute() const { return attributeSet.First(); }
1412:  TiXmlAttribute* FirstAttribute() { return attributeSet.First(); }
1412:  const TiXmlAttribute* LastAttribute() const { return attributeSet.Last(); }
1412:  TiXmlAttribute* LastAttribute() { return attributeSet.Last(); }
1412: # 1125 "/usr/include/tinyxml.h" 3 4
1412:  const char* GetText() const;
1412: 
1412: 
1412:  virtual TiXmlNode* Clone() const;
1412: 
1412:  virtual void Print( FILE* cfile, int depth ) const;
1412: 
1412: 
1412: 
1412: 
1412:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1412: 
1412:  virtual const TiXmlElement* ToElement() const { return this; }
1412:  virtual TiXmlElement* ToElement() { return this; }
1412: 
1412: 
1412: 
1412:  virtual bool Accept( TiXmlVisitor* visitor ) const;
1412: 
1412: protected:
1412: 
1412:  void CopyTo( TiXmlElement* target ) const;
1412:  void ClearThis();
1412: 
1412: 
1412: 
1412:  virtual void StreamIn( std::istream * in, std::string * tag );
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  const char* ReadValue( const char* in, TiXmlParsingData* prevData, TiXmlEncoding encoding );
1412: 
1412: private:
1412:  TiXmlAttributeSet attributeSet;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: class TiXmlComment : public TiXmlNode
1412: {
1412: public:
1412: 
1412:  TiXmlComment() : TiXmlNode( TiXmlNode::TINYXML_COMMENT ) {}
1412: 
1412:  TiXmlComment( const char* _value ) : TiXmlNode( TiXmlNode::TINYXML_COMMENT ) {
1412:   SetValue( ::__set_symmetric_difference(__first1, __last1,
1115:     __first2, __last2, __result,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Compare>
1115:     constexpr
1115:     _ForwardIterator
1115:     __min_element(_ForwardIterator __first, _ForwardIterator __last,
1115:     _Compare __comp)
1115:     {
1115:       if (__first == __last)
1115:  return __first;
1115:       _ForwardIterator __result = __first;
1115:       while (++__first != __last)
1115:  if (__comp(__first, __result))
1115:    __result = __first;
1115:       return __result;
1115:     }
1115: # 5614 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:     constexpr
1115:     _ForwardIterator
1115:     inline min_element(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__min_element(__first, __last,
1115:     __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 5639 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Compare>
1115:     constexpr
1115:     inline _ForwardIterator
1115:     min_element(_ForwardIterator __first, _ForwardIterator __last,
1115:   _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__min_element(__first, __last,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _ForwardIterator, typename _Compare>
1115:     constexpr
1115:     _ForwardIterator
1115:     __max_element(_ForwardIterator __first, _ForwardIterator __last,
1115:     _Compare __comp)
1115:     {
1115:       if (__first == __last) return __first;
1115:       _ForwardIterator __result = __first;
1115:       while (++__first != __last)
1115:  if (__comp(__result, __first))
1115:    __result = __first;
1115:       return __result;
1115:     }
1115: # 5678 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator>
1115:     constexpr
1115:     inline _ForwardIterator
1115:     max_element(_ForwardIterator __first, _ForwardIterator __last)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__max_element(__first, __last,
1115:     __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: # 5703 "/usr/include/c++/12/bits/stl_algo.h" 3
1115:   template<typename _ForwardIterator, typename _Compare>
1115:     constexpr
1115:     inline _ForwardIterator
1115:     max_element(_ForwardIterator __first, _ForwardIterator __last,
1115:   _Compare __comp)
1115:     {
1115: 
1115:      
1115:      
1115: 
1115: 
1115:       ;
1115:       ;
1115: 
1115:       return std::__max_element(__first, __last,
1115:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     inline _Tp
1115:     min(initializer_list<_Tp> __l)
1115:     {
1115:       ;
1115:       return *std::__min_element(__l.begin(), __l.end(),
1115:    __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     inline _Tp
1115:     min(initializer_list<_Tp> __l, _Compare __comp)
1115:     {
1115:       ;
1115:       return *std::__min_element(__l.begin(), __l.end(),
1115:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     inline _Tp
1115:     max(initializer_list<_Tp> __l)
1115:     {
1115:       ;
1115:       return *std::__max_element(__l.begin(), __l.end(),
1115:    __gnu_cxx::__ops::__iter_less_iter());
1115:     }
1115: 
1115:   template<typename _Tp, typename _Compare>
1115:     constexpr
1115:     inline _Tp
1115:     max(initializer_list<_Tp> __l, _Compare __comp)
1115:     {
1115:       ;
1115:       return *std::__max_element(__l.begin(), __l.end(),
1115:    __gnu_cxx::__ops::__iter_comp_iter(__comp));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _InputIterator, typename _RandomAccessIterator,
1115:            typename _Size, typename _UniformRandomBitGenerator>
1115:     _RandomAccessIterator
1115:     __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag,
1115:       _RandomAccessIterator __out, random_access_iterator_tag,
1115:       _Size __n, _UniformRandomBitGenerator&& __g)
1115:     {
1115:       using __distrib_type = uniform_int_distribution<_Size>;
1115:       using __param_type = typename __distrib_type::param_type;
1115:       __distrib_type __d{};
1115:       _Size __sample_sz = 0;
1115:       while (__first != __last && __sample_sz != __n)
1115:  {
1115:    __out[__sample_sz++] = *__first;
1115:    ++__first;
1115:  }
1115:       for (auto __pop_sz = __sample_sz; __first != __last;
1115:    ++__first, (void) ++__pop_sz)
1115:  {
1115:    const auto __k = __d(__g, __param_type{0, __pop_sz});
1115:    if (__k < __n)
1115:      __out[__k] = *__first;
1115:  }
1115:       return __out + __sample_sz;
1115:     }
1115: 
1115: 
1115:   template<typename _ForwardIterator, typename _OutputIterator, typename _Cat,
1115:            typename _Size, typename _UniformRandomBitGenerator>
1115:     _OutputIterator
1115:     __sample(_ForwardIterator __first, _ForwardIterator __last,
1115:       forward_iterator_tag,
1115:       _OutputIterator __out, _Cat,
1115:       _Size __n, _UniformRandomBitGenerator&& __g)
1115:     {
1115:       using __distrib_type = uniform_int_distribution<_Size>;
1115:       using __param_type = typename __distrib_type::param_type;
1115:       using _USize = make_unsigned_t<_Size>;
1115:       using _Gen = remove_reference_t<_UniformRandomBitGenerator>;
1115:       using __uc_type = common_type_t<typename _Gen::result_type, _USize>;
1115: 
1115:       if (__first == __last)
1115:  return __out;
1115: 
1115:       __distrib_type __d{};
1115:       _Size __unsampled_sz = std::distance(__first, __last);
1115:       __n = std::min(__n, __unsampled_sz);
1115: 
1115: 
1115: 
1115: 
1115:       const __uc_type __urngrange = __g.max() - __g.min();
1115:       if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz))
1115: 
1115: 
1115:         {
1115:    while (__n != 0 && __unsampled_sz >= 2)
1115:      {
1115:        const pair<_Size, _Size> __p =
1115:   __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g);
1115: 
1115:        --__unsampled_sz;
1115:        if (__p.first < __n)
1115:   {
1115:     *__out++ = *__first;
1115:     --__n;
1115:   }
1115: 
1115:        ++__first;
1115: 
1115:        if (__n == 0) break;
1115: 
1115:        --__unsampled_sz;
1115:        if (__p.second < __n)
1115:   {
1115:     *__out++ = *__first;
1115:     --__n;
1115:   }
1115: 
1115:        ++__first;
1115:      }
1115:         }
1115: 
1115: 
1115: 
1115:       for (; __n != 0; ++__first)
1115:  if (__d(__g, __param_type{0, --__unsampled_sz}) < __n)
1115:    {
1115:      *__out++ = *__first;
1115:      --__n;
1115:    }
1115:       return __out;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _PopulationIterator, typename _SampleIterator,
1115:            typename _Distance, typename _UniformRandomBitGenerator>
1115:     _SampleIterator
1115:     sample(_PopulationIterator __first, _PopulationIterator __last,
1115:     _SampleIterator __out, _Distance __n,
1115:     _UniformRandomBitGenerator&& __g)
1115:     {
1115:       using __pop_cat = typename
1115:  std::iterator_traits<_PopulationIterator>::iterator_category;
1115:       using __samp_cat = typename
1115:  std::iterator_traits<_SampleIterator>::iterator_category;
1115: 
1115:       static_assert(
1115:    __or_<is_convertible<__pop_cat, forward_iterator_tag>,
1115:   is_convertible<__samp_cat, random_access_iterator_tag>>::value,
1115:    "output range must use a RandomAccessIterator when input range"
1115:    " does not meet the ForwardIterator requirements");
1115: 
1115:       static_assert(is_integral<_Distance>::value,
1115:       "sample size must be an integer type"_value );
1412:  }
1412:  TiXmlComment( const TiXmlComment& );
1412:  TiXmlComment& operator=( const TiXmlComment& base );
1412: 
1412:  virtual ~TiXmlComment() {}
1412: 
1412: 
1412:  virtual TiXmlNode* Clone() const;
1412: 
1412:  virtual void Print( FILE* cfile, int depth ) const;
1412: 
1412: 
1412: 
1412: 
1412:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1412: 
1412:  virtual const TiXmlComment* ToComment() const { return this; }
1412:  virtual TiXmlComment* ToComment() { return this; }
1412: 
1412: 
1412: 
1412:  virtual bool Accept( TiXmlVisitor* visitor ) const;
1412: 
1412: protected:
1412:  void CopyTo( TiXmlComment* target ) const;
1412: 
1412: 
1412: 
1412:  virtual void StreamIn( std::istream * in, std::string * tag );
1412: 
1412: 
1412: 
1412: private:
1412: 
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class TiXmlText : public TiXmlNode
1412: {
1412:  friend class TiXmlElement;
1412: public:
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlText (const char * initValue ) : TiXmlNode (TiXmlNode::TINYXML_TEXT)
1412:  {
1412:   SetValue( initValue );
1412:   cdata = false;
1412:  }
1412:  virtual ~TiXmlText() {}
1412: 
1412: 
1412: 
1412:  TiXmlText( const std::string& initValue ) : TiXmlNode (TiXmlNode::TINYXML_TEXT)
1412:  {
1412:   SetValue( initValue );
1412:   cdata = false;
1412:  }
1412: 
1412: 
1412:  TiXmlText( const TiXmlText& copy ) : TiXmlNode( TiXmlNode::TINYXML_TEXT ) { copy.CopyTo( this ); }
1412:  TiXmlText& operator=( const TiXmlText& base ) { base.CopyTo( this ); return *this; }
1412: 
1412: 
1412:  virtual void Print( FILE* cfile, int depth ) const;
1412: 
1412: 
1412:  bool CDATA() const { return cdata; }
1412: 
1412:  void SetCDATA( bool _cdata ) { cdata = _cdata; }
1412: 
1412:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1412: 
1412:  virtual const TiXmlText* ToText() const { return this; }
1412:  virtual TiXmlText* ToText() { return this; }
1412: 
1412: 
1412: 
1412:  virtual bool Accept( TiXmlVisitor* content ) const;
1412: 
1412: protected :
1412: 
1412:  virtual TiXmlNode* Clone() const;
1412:  void CopyTo( TiXmlText* target ) const;
1412: 
1412:  bool Blank() const;
1412: 
1412: 
1412:  virtual void StreamIn( std::istream * in, std::string * tag );
1412: 
1412: 
1412: private:
1412:  bool cdata;
1412: };
1412: # 1289 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlDeclaration : public TiXmlNode
1412: {
1412: public:
1412: 
1412:  TiXmlDeclaration() : TiXmlNode( TiXmlNode::TINYXML_DECLARATION ) {}
1412: 
1412: 
1412: 
1412:  TiXmlDeclaration( const std::string& _version,
1412:       const std::string& _encoding,
1412:       const std::string& _standalone );
1412: 
1412: 
1412: 
1412:  TiXmlDeclaration( const char* _version,
1412:       const char* _encoding,
1412:       const char* _standalone );
1412: 
1412:  TiXmlDeclaration( const TiXmlDeclaration& copy );
1412:  TiXmlDeclaration& operator=( const TiXmlDeclaration& copy );
1412: 
1412:  virtual ~TiXmlDeclaration() {}
1412: 
1412: 
1412:  const char *Version() const { return version.c_str (); }
1412: 
1412:  const char *Encoding() const { return encoding.c_str (); }
1412: 
1412:  const char *Standalone() const { return standalone.c_str (); }
1412: 
1412: 
1412:  virtual TiXmlNode* Clone() const;
1412: 
1412:  virtual void Print( FILE* cfile, int depth, std::string* str ) const;
1412:  virtual void Print( FILE* cfile, int depth ) const {
1412:   Print( cfile, depth, 0 );
1412:  }
1412: 
1412:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1412: 
1412:  virtual const TiXmlDeclaration* ToDeclaration() const { return this; }
1412:  virtual TiXmlDeclaration* ToDeclaration() { return this; }
1412: 
1412: 
1412: 
1412:  virtual bool Accept( TiXmlVisitor* visitor ) const;
1412: 
1412: protected:
1412:  void CopyTo( TiXmlDeclaration* target ) const;
1412: 
1412: 
1412:  virtual void StreamIn( std::istream * in, std::string * tag );
1412: 
1412: 
1412: private:
1412: 
1412:  std::string version;
1412:  std::string encoding;
1412:  std::string standalone;
1412: };
1412: # 1358 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlUnknown : public TiXmlNode
1412: {
1412: public:
1412:  TiXmlUnknown() : TiXmlNode( TiXmlNode::TINYXML_UNKNOWN ) {}
1412:  virtual ~TiXmlUnknown() {}
1412: 
1412:  TiXmlUnknown( const TiXmlUnknown& copy ) : TiXmlNode( TiXmlNode::TINYXML_UNKNOWN ) { copy.CopyTo( this ); }
1412:  TiXmlUnknown& operator=( const TiXmlUnknown& copy ) { copy.CopyTo( this ); return *this; }
1412: 
1412: 
1412:  virtual TiXmlNode* Clone() const;
1412: 
1412:  virtual void Print( FILE* cfile, int depth ) const;
1412: 
1412:  virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1412: 
1412:  virtual const TiXmlUnknown* ToUnknown() const { return this; }
1412:  virtual TiXmlUnknown* ToUnknown() { return this; }
1412: 
1412: 
1412: 
1412:  virtual bool Accept( TiXmlVisitor* content ) const;
1412: 
1412: protected:
1412:  void CopyTo( TiXmlUnknown* target ) const;
1412: 
1412: 
1412:  virtual void StreamIn( std::istream * in, std::string * tag );
1412: 
1412: 
1412: private:
1412: 
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class TiXmlDocument : public TiXmlNode
1412: {
1412: public:
1412: 
1412:  TiXmlDocument();
1412: 
1412:  TiXmlDocument( const char * documentName );
1412: 
1412: 
1412: 
1412:  TiXmlDocument( const std::string& documentName );
1412: 
1412: 
1412:  TiXmlDocument( const TiXmlDocument& copy );
1412:  TiXmlDocument& operator=( const TiXmlDocument& copy );
1412: 
1412:  virtual ~TiXmlDocument() {}
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  bool LoadFile( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1412: 
1412:  bool SaveFile() const;
1412: 
1412:  bool LoadFile( const char * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1412: 
1412:  bool SaveFile( const char * filename ) const;
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  bool LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1412: 
1412:  bool SaveFile( FILE* ) const;
1412: 
1412: 
1412:  bool LoadFile( const std::string& filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING )
1412:  {
1412:   return LoadFile( filename.c_str(), encoding );
1412:  }
1412:  bool SaveFile( const std::string& filename ) const
1412:  {
1412:   return SaveFile( filename.c_str() );
1412:  }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  virtual const char* Parse( const char* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  const TiXmlElement* RootElement() const { return FirstChildElement(); }
1412:  TiXmlElement* RootElement() { return FirstChildElement(); }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:  bool Error() const { return error; }
1412: 
1412: 
1412:  const char * ErrorDesc() const { return errorDesc.c_str (); }
1412: 
1412: 
1412: 
1412: 
1412:  int ErrorId() const { return errorId; }
1412: # 1481 "/usr/include/tinyxml.h" 3 4
1412:  int ErrorRow() const { return errorLocation.row+1; }
1412:  int ErrorCol() const { return errorLocation.col+1; }
1412: # 1508 "/usr/include/tinyxml.h" 3 4
1412:  void SetTabSize( int _tabsize ) { tabsize = _tabsize; }
1412: 
1412:  int TabSize() const { return tabsize; }
1412: 
1412: 
1412: 
1412: 
1412:  void ClearError() { error = false;
1412:             errorId = 0;
1412:             errorDesc = "";
1412:             errorLocation.row = errorLocation.col = 0;
1412: 
1412:            }
1412: 
1412: 
1412:  void Print() const { Print( stdout, 0 ); }
1412: # 1532 "/usr/include/tinyxml.h" 3 4
1412:  virtual void Print( FILE* cfile, int depth = 0 ) const;
1412: 
1412:  void SetError( int err, const char* errorLocation, TiXmlParsingData* prevData, TiXmlEncoding encoding );
1412: 
1412:  virtual const TiXmlDocument* ToDocument() const { return this; }
1412:  virtual TiXmlDocument* ToDocument() { return this; }
1412: 
1412: 
1412: 
1412:  virtual bool Accept( TiXmlVisitor* content ) const;
1412: 
1412: protected :
1412: 
1412:  virtual TiXmlNode* Clone() const;
1412: 
14);
1115: 
1115:       typename iterator_traits<_PopulationIterator>::difference_type __d = __n;
1115:       return std::
1115:  __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d,
1115:    std::forward<_UniformRandomBitGenerator>(__g));
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/functional" 2 3
1115: # 76 "/usr/include/c++/12/functional" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<int _Num> struct _Placeholder { };
1115: # 105 "/usr/include/c++/12/functional" 3
1115:   template<typename _Callable, typename... _Args>
1115:     inline invoke_result_t<_Callable, _Args...>
1115:     invoke(_Callable&& __fn, _Args&&... __args)
1115:     noexcept(is_nothrow_invocable_v<_Callable, _Args...>)
1115:     {
1115:       return std::__invoke(std::forward<_Callable>(__fn),
1115:       std::forward<_Args>(__args)...);
1115:     }
1115: # 138 "/usr/include/c++/12/functional" 3
1115:   template<typename _MemFunPtr,
1115:     bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value>
1115:     class _Mem_fn_base
1115:     : public _Mem_fn_traits<_MemFunPtr>::__maybe_type
1115:     {
1115:       using _Traits = _Mem_fn_traits<_MemFunPtr>;
1115: 
1115:       using _Arity = typename _Traits::__arity;
1115:       using _Varargs = typename _Traits::__vararg;
1115: 
1115:       template<typename _Func, typename... _BoundArgs>
1115:  friend struct _Bind_check_arity;
1115: 
1115:       _MemFunPtr _M_pmf;
1115: 
1115:     public:
1115: 
1115:       using result_type = typename _Traits::__result_type;
1115: 
1115:       explicit constexpr
1115:       _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { }
1115: 
1115:       template<typename... _Args>
1115: 
1115:  auto
1115:  operator()(_Args&&... __args) const
1115:  noexcept(noexcept(
1115:        std::__invoke(_M_pmf, std::forward<_Args>(__args)...)))
1115:  -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...))
1115:  { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); }
1115:     };
1115: 
1115: 
1115:   template<typename _MemObjPtr>
1115:     class _Mem_fn_base<_MemObjPtr, false>
1115:     {
1115:       using _Arity = integral_constant<size_t, 0>;
1115:       using _Varargs = false_type;
1115: 
1115:       template<typename _Func, typename... _BoundArgs>
1115:  friend struct _Bind_check_arity;
1115: 
1115:       _MemObjPtr _M_pm;
1115: 
1115:     public:
1115:       explicit constexpr
1115:       _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { }
1115: 
1115:       template<typename _Tp>
1115: 
1115:  auto
1115:  operator()(_Tp&& __obj) const
1115:  noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj))))
1115:  -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))
1115:  { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); }
1115:     };
1115: 
1115:   template<typename _MemberPointer>
1115:     struct _Mem_fn;
1115: 
1115:   template<typename _Res, typename _Class>
1115:     struct _Mem_fn<_Res _Class::*>
1115:     : _Mem_fn_base<_Res _Class::*>
1115:     {
1115:       using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base;
1115:     };
1115: # 231 "/usr/include/c++/12/functional" 3
1115:   template<typename _Tp, typename _Class>
1115:    
1115:     inline _Mem_fn<_Tp _Class::*>
1115:     mem_fn(_Tp _Class::* __pm) noexcept
1115:     {
1115:       return _Mem_fn<_Tp _Class::*>(__pm);
1115:     }
1115: # 250 "/usr/include/c++/12/functional" 3
1115:   template<typename _Tp>
1115:     struct is_bind_expression
1115:     : public false_type { };
1115: # 262 "/usr/include/c++/12/functional" 3
1115:   template<typename _Tp>
1115:     struct is_placeholder
1115:     : public integral_constant<int, 0>
1115:     { };
1115: 
1115: 
1115:   template <typename _Tp> inline constexpr bool is_bind_expression_v
1115:     = is_bind_expression<_Tp>::value;
1115:   template <typename _Tp> inline constexpr int is_placeholder_v
1115:     = is_placeholder<_Tp>::value;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   namespace placeholders
1115:   {
1115: 
1115: 
1115: 
1115: 
1115:     extern const _Placeholder<1> _1;
1115:     extern const _Placeholder<2> _2;
1115:     extern const _Placeholder<3> _3;
1115:     extern const _Placeholder<4> _4;
1115:     extern const _Placeholder<5> _5;
1115:     extern const _Placeholder<6> _6;
1115:     extern const _Placeholder<7> _7;
1115:     extern const _Placeholder<8> _8;
1115:     extern const _Placeholder<9> _9;
1115:     extern const _Placeholder<10> _10;
1115:     extern const _Placeholder<11> _11;
1115:     extern const _Placeholder<12> _12;
1115:     extern const _Placeholder<13> _13;
1115:     extern const _Placeholder<14> _14;
1115:     extern const _Placeholder<15> _15;
1115:     extern const _Placeholder<16> _16;
1115:     extern const _Placeholder<17> _17;
1115:     extern const _Placeholder<18> _18;
1115:     extern const _Placeholder<19> _19;
1115:     extern const _Placeholder<20> _20;
1115:     extern const _Placeholder<21> _21;
1115:     extern const _Placeholder<22> _22;
1115:     extern const _Placeholder<23> _23;
1115:     extern const _Placeholder<24> _24;
1115:     extern const _Placeholder<25> _25;
1115:     extern const _Placeholder<26> _26;
1115:     extern const _Placeholder<27> _27;
1115:     extern const _Placeholder<28> _28;
1115:     extern const _Placeholder<29> _29;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<int _Num>
1115:     struct is_placeholder<_Placeholder<_Num> >
1115:     : public integral_constant<int, _Num>
1115:     { };
1115: 
1115:   template<int _Num>
1115:     struct is_placeholder<const _Placeholder<_Num> >
1115:     : public integral_constant<int, _Num>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115:   template<std::size_t __i, typename _Tuple>
1115:     using _Safe_tuple_element_t
1115:       = typename enable_if<(__i < tuple_size<_Tuple>::value),
1115:       tuple_element<__i, _Tuple>>::type::type;
1115: # 351 "/usr/include/c++/12/functional" 3
1115:   template<typename _Arg,
1115:     bool _IsBindExp = is_bind_expression<_Arg>::value,
1115:     bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)>
1115:     class _Mu;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     class _Mu<reference_wrapper<_Tp>, false, false>
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _CVRef, typename _Tuple>
1115: 
1115:  _Tp&
1115:  operator()(_CVRef& __arg, _Tuple&) const volatile
1115:  { return __arg.get(); }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Arg>
1115:     class _Mu<_Arg, true, false>
1115:     {
1115:     public:
1115:       template<typename _CVArg, typename... _Args>
1115: 
1115:  auto
1115:  operator()(_CVArg& __arg,
1115:      tuple<_Args...>& __tuple) const volatile
1115:  -> decltype(__arg(declval<_Args>()...))
1115:  {
1115: 
1115:    typedef typename _Build_index_tuple<sizeof...(_Args)>::__type
1115:      _Indexes;
1115:    return this->__call(__arg, __tuple, _Indexes());
1115:  }
1115: 
1115:     private:
1115: 
1115: 
1115:       template<typename _CVArg, typename... _Args, std::size_t... _Indexes>
1115: 
1115:  auto
1115:  __call(_CVArg& __arg, tuple<_Args...>& __tuple,
1115:         const _Index_tuple<_Indexes...>&) const volatile
1115:  -> decltype(__arg(declval<_Args>()...))
1115:  {
1115:    return __arg(std::get<_Indexes>(std::move(__tuple))...);
1115:  }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Arg>
1115:     class _Mu<_Arg, false, true>
1115:     {
1115:     public:
1115:       template<typename _Tuple>
1115: 
1115:  _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
1115:  operator()(const volatile _Arg&, _Tuple& __tuple) const volatile
1115:  {
1115:    return
1115:      ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple));
1115:  }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Arg>
1115:     class _Mu<_Arg, false, false>
1115:     {
1115:     public:
1115:    12:  virtual void StreamIn( std::istream * in, std::string * tag );
1412: 
1412: 
1412: private:
1412:  void CopyTo( TiXmlDocument* target ) const;
1412: 
1412:  bool error;
1412:  int errorId;
1412:  std::string errorDesc;
1412:  int tabsize;
1412:  TiXmlCursor errorLocation;
1412:  bool useMicrosoftBOM;
1412: };
1412: # 1642 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlHandle
1412: {
1412: public:
1412: 
1412:  TiXmlHandle( TiXmlNode* _node ) { this->node = _node; }
1412: 
1412:  TiXmlHandle( const TiXmlHandle& ref ) { this->node = ref.node; }
1412:  TiXmlHandle operator=( const TiXmlHandle& ref ) { if ( &ref != this ) this->node = ref.node; return *this; }
1412: 
1412: 
1412:  TiXmlHandle FirstChild() const;
1412: 
1412:  TiXmlHandle FirstChild( const char * value ) const;
1412: 
1412:  TiXmlHandle FirstChildElement() const;
1412: 
1412:  TiXmlHandle FirstChildElement( const char * value ) const;
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlHandle Child( const char* value, int index ) const;
1412: 
1412: 
1412: 
1412:  TiXmlHandle Child( int index ) const;
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlHandle ChildElement( const char* value, int index ) const;
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlHandle ChildElement( int index ) const;
1412: 
1412: 
1412:  TiXmlHandle FirstChild( const std::string& _value ) const { return FirstChild( _value.c_str() ); }
1412:  TiXmlHandle FirstChildElement( const std::string& _value ) const { return FirstChildElement( _value.c_str() ); }
1412: 
1412:  TiXmlHandle Child( const std::string& _value, int index ) const { return Child( _value.c_str(), index ); }
1412:  TiXmlHandle ChildElement( const std::string& _value, int index ) const { return ChildElement( _value.c_str(), index ); }
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlNode* ToNode() const { return node; }
1412: 
1412: 
1412:  TiXmlElement* ToElement() const { return ( ( node && node->ToElement() ) ? node->ToElement() : 0 ); }
1412: 
1412: 
1412:  TiXmlText* ToText() const { return ( ( node && node->ToText() ) ? node->ToText() : 0 ); }
1412: 
1412: 
1412:  TiXmlUnknown* ToUnknown() const { return ( ( node && node->ToUnknown() ) ? node->ToUnknown() : 0 ); }
1412: 
1412: 
1412: 
1412: 
1412:  TiXmlNode* Node() const { return ToNode(); }
1412: 
1412: 
1412: 
1412:  TiXmlElement* Element() const { return ToElement(); }
1412: 
1412: 
1412: 
1412:  TiXmlText* Text() const { return ToText(); }
1412: 
1412: 
1412: 
1412:  TiXmlUnknown* Unknown() const { return ToUnknown(); }
1412: 
1412: private:
1412:  TiXmlNode* node;
1412: };
1412: # 1741 "/usr/include/tinyxml.h" 3 4
1412: class TiXmlPrinter : public TiXmlVisitor
1412: {
1412: public:
1412:  TiXmlPrinter() : depth( 0 ), simpleTextPrint( false ),
1412:       buffer(), indent( "    " ), lineBreak( "\n" ) {}
1412: 
1412:  virtual bool VisitEnter( const TiXmlDocument& doc );
1412:  virtual bool VisitExit( const TiXmlDocument& doc );
1412: 
1412:  virtual bool VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute );
1412:  virtual bool VisitExit( const TiXmlElement& element );
1412: 
1412:  virtual bool Visit( const TiXmlDeclaration& declaration );
1412:  virtual bool Visit( const TiXmlText& text );
1412:  virtual bool Visit( const TiXmlComment& comment );
1412:  virtual bool Visit( const TiXmlUnknown& unknown );
1412: 
1412: 
1412: 
1412: 
1412:  void SetIndent( const char* _indent ) { indent = _indent ? _indent : "" ; }
1412: 
1412:  const char* Indent() { return indent.c_str(); }
1412: 
1412: 
1412: 
1412: 
1412:  void SetLineBreak( const char* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak : ""; }
1412: 
1412:  const char* LineBreak() { return lineBreak.c_str(); }
1412: 
1412: 
1412: 
1412: 
1412:  void SetStreamPrinting() { indent = "";
1412:                lineBreak = "";
1412:              }
1412: 
1412:  const char* CStr() { return buffer.c_str(); }
1412: 
1412:  size_t Size() { return buffer.size(); }
1412: 
1412: 
1412: 
1412:  const std::string& Str() { return buffer; }
1412: 
1412: 
1412: private:
1412:  void DoIndent() {
1412:   for( int i=0; i<depth; ++i )
1412:    buffer += indent;
1412:  }
1412:  void DoLineBreak() {
1412:   buffer += lineBreak;
1412:  }
1412: 
1412:  int depth;
1412:  bool simpleTextPrint;
1412:  std::string buffer;
1412:  std::string indent;
1412:  std::string lineBreak;
1412: };
1412: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h" 2
1412: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1412: 
1412: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XBMCTinyXML.h"
1412: class CXBMCTinyXML : public TiXmlDocument
1412: {
1412: public:
1412:   CXBMCTinyXML();
1412:   explicit CXBMCTinyXML(const char*);
1412:   explicit CXBMCTinyXML(const std::string& documentName);
1412:   CXBMCTinyXML(const std::string& documentName, const std::string& documentCharset);
1412:   bool LoadFile(TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1412:   bool LoadFile(const char*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1412:   bool LoadFile(const std::string& _filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1412:   bool LoadFile(const std::string& _filename, const std::string& documentCharset);
1412:   bool LoadFile(FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1412:   bool SaveFile(const char*) const;
1412:   bool SaveFile(const std::string& filename) const;
1412:   bool Parse(const std::string& data, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1412:   bool Parse(const std::string& data, const std::string& dataCharset);
1412:   inline std::string GetSuggestedCharset(void) const { return m_SuggestedCharset; }
1412:   inline std::string GetUsedCharset(void) const { return m_UsedCharset; }
1412:   static bool Test();
1412: protected:
1412:   using TiXmlDocument::Parse;
1412:   bool TryParse(const std::string& data, const std::string& tryDataCharset);
1412:   bool InternalParse(const std::string& rawdata, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING);
1412: 
1412:   std::string m_SuggestedCharset;
1412:   std::string m_UsedCharset;
1412: };
1412: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class CDateTime;
1412: 
1412: class XMLUtils
1412: {
1412: public:
1412:   static bool HasChild(const TiXmlNode* pRootNode, const char* strTag);
1412: 
1412:   static bool GetHex(const TiXmlNode* pRootNode, const char* strTag, uint32_t& dwHexValue);
1412:   static bool GetUInt(const TiXmlNode* pRootNode, const char* strTag, uint32_t& dwUIntValue);
1412:   static bool GetLong(const TiXmlNode* pRootNode, const char* strTag, long& lLongValue);
1412:   static bool GetFloat(const TiXmlNode* pRootNode, const char* strTag, float& value);
1412:   static bool GetDouble(const TiXmlNode* pRootNode, const char* strTag, double& value);
1412:   static bool GetInt(const TiXmlNode* pRootNode, const char* strTag, int& iIntValue);
1412:   static bool GetBoolean(const TiXmlNode* pRootNode, const char* strTag, bool& bBoolValue);
1412: # 41 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1412:   static bool GetString(const TiXmlNode* pRootNode, const char* strTag, std::string& strStringValue);
1412: # 50 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1412:   static std::string GetString(const TiXmlNode* pRootNode, const char* strTag);
1412: # 65 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/XMLUtils.h"
1412:   static bool GetAdditiveString(const TiXmlNode* rootNode, const char* tag, const std::string& separator, std::string& value, bool clear = false);
1412:   static bool GetStringArray(const TiXmlNode* rootNode, const char* tag, std::vector<std::string>& arrayValue, bool clear = false, const std::string& separator = "");
1412:   static bool GetPath(const TiXmlNode* pRootNode, const char* strTag, std::string& strStringValue);
1412:   static bool GetFloat(const TiXmlNode* pRootNode, const char* strTag, float& value, const float min, const float max);
1412:   static bool GetUInt(const T   template<typename _CVArg, typename _Tuple>
1115: 
1115:  _CVArg&&
1115:  operator()(_CVArg&& __arg, _Tuple&) const volatile
1115:  { return std::forward<_CVArg>(__arg); }
1115:     };
1115: 
1115: 
1115:   template<std::size_t _Ind, typename... _Tp>
1115:     inline auto
1115:     __volget(volatile tuple<_Tp...>& __tuple)
1115:     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
1115:     { return std::get<_Ind>(const_cast<tuple<_Tp...>&>(__tuple)); }
1115: 
1115: 
1115:   template<std::size_t _Ind, typename... _Tp>
1115:     inline auto
1115:     __volget(const volatile tuple<_Tp...>& __tuple)
1115:     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
1115:     { return std::get<_Ind>(const_cast<const tuple<_Tp...>&>(__tuple)); }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Signature>
1115:     class _Bind;
1115: 
1115:    template<typename _Functor, typename... _Bound_args>
1115:     class _Bind<_Functor(_Bound_args...)>
1115:     : public _Weak_result_type<_Functor>
1115:     {
1115:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1115:  _Bound_indexes;
1115: 
1115:       _Functor _M_f;
1115:       tuple<_Bound_args...> _M_bound_args;
1115: 
1115: 
1115:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1115: 
1115:  _Result
1115:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1115:  {
1115:    return std::__invoke(_M_f,
1115:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1115:        );
1115:  }
1115: 
1115: 
1115:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1115: 
1115:  _Result
1115:  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1115:  {
1115:    return std::__invoke(_M_f,
1115:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
1115:        );
1115:  }
1115: 
1115: 
1115:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1115:  _Result
1115:  __call_v(tuple<_Args...>&& __args,
1115:    _Index_tuple<_Indexes...>) volatile
1115:  {
1115:    return std::__invoke(_M_f,
1115:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1115:        );
1115:  }
1115: 
1115: 
1115:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
1115:  _Result
1115:  __call_c_v(tuple<_Args...>&& __args,
1115:      _Index_tuple<_Indexes...>) const volatile
1115:  {
1115:    return std::__invoke(_M_f,
1115:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
1115:        );
1115:  }
1115: 
1115:       template<typename _BoundArg, typename _CallArgs>
1115:  using _Mu_type = decltype(
1115:      _Mu<typename remove_cv<_BoundArg>::type>()(
1115:        std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) );
1115: 
1115:       template<typename _Fn, typename _CallArgs, typename... _BArgs>
1115:  using _Res_type_impl
1115:    = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type;
1115: 
1115:       template<typename _CallArgs>
1115:  using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>;
1115: 
1115:       template<typename _CallArgs>
1115:  using __dependent = typename
1115:    enable_if<bool(tuple_size<_CallArgs>::value+1), _Functor>::type;
1115: 
1115:       template<typename _CallArgs, template<class> class __cv_quals>
1115:  using _Res_type_cv = _Res_type_impl<
1115:    typename __cv_quals<__dependent<_CallArgs>>::type,
1115:    _CallArgs,
1115:    typename __cv_quals<_Bound_args>::type...>;
1115: 
1115:      public:
1115:       template<typename... _Args>
1115:  explicit
1115:  _Bind(const _Functor& __f, _Args&&... __args)
1115:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1115:  { }
1115: 
1115:       template<typename... _Args>
1115:  explicit
1115:  _Bind(_Functor&& __f, _Args&&... __args)
1115:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1115:  { }
1115: 
1115:       _Bind(const _Bind&) = default;
1115:       _Bind(_Bind&&) = default;
1115: 
1115: 
1115:       template<typename... _Args,
1115:         typename _Result = _Res_type<tuple<_Args...>>>
1115: 
1115:  _Result
1115:  operator()(_Args&&... __args)
1115:  {
1115:    return this->__call<_Result>(
1115:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115: 
1115: 
1115:       template<typename... _Args,
1115:         typename _Result = _Res_type_cv<tuple<_Args...>, add_const>>
1115: 
1115:  _Result
1115:  operator()(_Args&&... __args) const
1115:  {
1115:    return this->__call_c<_Result>(
1115:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115: # 591 "/usr/include/c++/12/functional" 3
1115:       template<typename... _Args,
1115:         typename _Result = _Res_type_cv<tuple<_Args...>, add_volatile>>
1115:  [[deprecated("std::bind does not support volatile in C++17")]]
1115:  _Result
1115:  operator()(_Args&&... __args) volatile
1115:  {
1115:    return this->__call_v<_Result>(
1115:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115: 
1115: 
1115:       template<typename... _Args,
1115:         typename _Result = _Res_type_cv<tuple<_Args...>, add_cv>>
1115:  [[deprecated("std::bind does not support volatile in C++17")]]
1115:  _Result
1115:  operator()(_Args&&... __args) const volatile
1115:  {
1115:    return this->__call_c_v<_Result>(
1115:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115:     };
1115: 
1115: 
1115:   template<typename _Result, typename _Signature>
1115:     class _Bind_result;
1115: 
1115:   template<typename _Result, typename _Functor, typename... _Bound_args>
1115:     class _Bind_result<_Result, _Functor(_Bound_args...)>
1115:     {
1115:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
1115:  _Bound_indexes;
1115: 
1115:       _Functor _M_f;
1115:       tuple<_Bound_args...> _M_bound_args;
1115: 
1115: 
1115:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1115: 
1115:  _Res
1115:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
1115:  {
1115:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1115:         (std::get<_Indexes>(_M_bound_args), __args)...);
1115:  }
1115: 
1115: 
1115:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1115: 
1115:  _Res
1115:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
1115:  {
1115:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1115:         (std::get<_Indexes>(_M_bound_args), __args)...);
1115:  }
1115: 
1115: 
1115:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1115: 
1115:  _Res
1115:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
1115:  {
1115:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1115:         (__volget<_Indexes>(_M_bound_args), __args)...);
1115:  }
1115: 
1115: 
1115:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
1115: 
1115:  _Res
1115:  __call(tuple<_Args...>&& __args,
1115:         _Index_tuple<_Indexes...>) const volatile
1115:  {
1115:    return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>()
1115:         (__volget<_Indexes>(_M_bound_args), __args)...);
1115:  }
1115: 
1115:     public:
1115:       typedef _Result result_type;
1115: 
1115:       template<typename... _Args>
1115:  explicit
1115:  _Bind_result(const _Functor& __f, _Args&&... __args)
1115:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
1115:  { }
1115: 
1115:       template<typename... _Args>
1115:  explicit
1115:  _Bind_result(_Functor&& __f, _Args&&... __args)
1115:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
1115:  { }
1115: 
1115:       _Bind_result(const _Bind_result&) = default;
1115:       _Bind_result(_Bind_result&&) = default;
1115: 
1115: 
1115:       template<typename... _Args>
1115: 
1115:  result_type
1115:  operator()(_Args&&... __args)
1115:  {
1115:    return this->__call<_Result>(
1115:        std::forward_aiXmlNode* pRootNode, const char* strTag, uint32_t& dwUIntValue, const uint32_t min, const uint32_t max);
1412:   static bool GetInt(const TiXmlNode* pRootNode, const char* strTag, int& iIntValue, const int min, const int max);
1412:   static bool GetDate(const TiXmlNode* pRootNode, const char* strTag, CDateTime& date);
1412:   static bool GetDateTime(const TiXmlNode* pRootNode, const char* strTag, CDateTime& dateTime);
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   static std::string GetAttribute(const TiXmlElement *element, const char *tag);
1412: 
1412:   static TiXmlNode* SetString(TiXmlNode* pRootNode, const char *strTag, const std::string& strValue);
1412:   static void SetAdditiveString(TiXmlNode* pRootNode, const char *strTag, const std::string& strSeparator, const std::string& strValue);
1412:   static void SetStringArray(TiXmlNode* pRootNode, const char *strTag, const std::vector<std::string>& arrayValue);
1412:   static TiXmlNode* SetInt(TiXmlNode* pRootNode, const char *strTag, int value);
1412:   static TiXmlNode* SetFloat(TiXmlNode* pRootNode, const char *strTag, float value);
1412:   static TiXmlNode* SetDouble(TiXmlNode* pRootNode, const char* strTag, double value);
1412:   static void SetBoolean(TiXmlNode* pRootNode, const char *strTag, bool value);
1412:   static void SetHex(TiXmlNode* pRootNode, const char *strTag, uint32_t value);
1412:   static void SetPath(TiXmlNode* pRootNode, const char *strTag, const std::string& strValue);
1412:   static void SetLong(TiXmlNode* pRootNode, const char *strTag, long iValue);
1412:   static void SetDate(TiXmlNode* pRootNode, const char *strTag, const CDateTime& date);
1412:   static void SetDateTime(TiXmlNode* pRootNode, const char *strTag, const CDateTime& dateTime);
1412: 
1412:   static const int path_version = 1;
1412: };
1412: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 2
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1412:        
1412: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons/ilog.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons/ilog.h"
1412:        
1412: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingsHandler.h"
1412:        
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: class ISettingsHandler
1412: {
1412: public:
1412:   virtual ~ISettingsHandler() = default;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual bool OnSettingsLoading() { return true; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void OnSettingsLoaded() { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual bool OnSettingsSaving() const { return true; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void OnSettingsSaved() const { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void OnSettingsUnloaded() { }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   virtual void OnSettingsCleared() { }
1412: };
1412: # 29 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1412: 
1412: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h" 1
1412: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h"
1412:        
1412: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h"
1412: using spdlog_filename_t = std::string;
1412: 
1412: 
1412: namespace spdlog
1412: {
1412: namespace sinks
1412: {
1412: template<typename Mutex>
1412: class dist_sink;
1412: }
1412: }
1412: 
1412: class IPlatformLog
1412: {
1412: public:
1412:   virtual ~IPlatformLog() = default;
1412: 
1412:   static std::unique_ptr<IPlatformLog> CreatePlatformLog();
1412: 
1412:   virtual spdlog_filename_t GetLogFilename(const std::string& filename) const = 0;
1412:   virtual void AddSinks(
1412:       std::shared_ptr<spdlog::sinks::dist_sink<std::mutex>> distributionSink) const = 0;
1412: };
1412: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/spdlog/spdlog.h" 1 3 4
1412: # 10 "/usr/include/spdlog/spdlog.h" 3 4
1412:        
1412: 
1412: # 1 "/usr/include/spdlog/common.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: 
1412: # 1 "/usr/include/spdlog/tweakme.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: # 7 "/usr/include/spdlog/common.h" 2 3 4
1412: # 1 "/usr/include/spdlog/details/null_mutex.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: 
1412: # 1 "/usr/include/c++/12/atomic" 1 3 4
1412: # 35 "/usr/include/c++/12/atomic" 3 4
1412:        
1412: # 36 "/usr/include/c++/12/atomic" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 43 "/usr/include/c++/12/atomic" 3
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: # 56 "/usr/include/c++/12/atomic" 3
1412:   template<typename _Tp>
1412:     struct atomic;
1412: 
1412: 
1412: 
1412:   template<>
1412:   struct atomic<bool>
1412:   {
1412:     using value_type = bool;
1412: 
1412:   private:
1412:     __atomic_base<bool> _M_base;
1412: 
1412:   public:
1412:     atomic() noexcept = default;
1412:     ~atomic() noexcept = default;
1412:     atomic(const atomic&) = delete;
1412:     atomic& operator=(const atomic&) = delete;
1412:     atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:     constexpr atomic(bool __i) noexcept : _M_base(__i) { }
1412: 
1412:     bool
1412:     operator=(bool __i) noexcept
1412:     { return _M_base.operator=(__i); }
1412: 
1412:     bool
1412:     operator=(bool __i) volatile noexcept
1412:     { return _M_base.operator=(__i); }
1412: 
1412:     operator bool() const noexcept
1412:     { return _M_base.load(); }
1412: 
1412:     operator bool() const volatile noexcept
1412:     { return _M_base.load(); }
1412: 
1412:     bool
1412:     is_lock_free() const noexcept { return _M_base.is_lock_free(); }
1412: 
1412:     bool
1412:     is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); }
1412: 
1412: 
1412:     static constexpr bool is_always_lock_free = 1 == 2;
1412: 
1412: 
1412:     void
1412:     store(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1412:     { _M_base.store(__i, __m); }
1412: 
1412:     void
1412:     store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1412:     { _M_base.store(__i, __m); }
1412: 
1412:     bool
1412:     load(memory_order __m = memory_order_seq_cst) const noexcept
1412:     { return _M_base.load(__m); }
1412: 
1412:     bool
1412:     load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1412:     { return _M_base.load(__m); }
1412: 
1412:     bool
1412:     exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1412:     { return _M_base.exchange(__i, __m); }
1412: 
1412:     bool
1412:     exchange(bool __i,
1412:       memory_order __m = memory_order_seq_cst) volatile noexcept
1412:     { return _M_base.exchange(__i, __m); }
1412: 
1412:     bool
1412:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1412:      memory_order __m2) noexcept
1412:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1412: 
1412:     bool
1412:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1412:      memory_order __m2) volatile noexcept
1412:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1412: 
1412:     bool
1412:     compare_exchange_weak(bool& __i1, bool __i2,
1412:      memory_order __m = memory_order_seq_cst) noexcept
1412:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1412: 
1412:     bool
1412:     compare_exchange_weak(bool& __i1, bool __i2,
1412:        memory_order __m = memory_order_seq_cst) volatile noexcept
1412:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1412: 
1412:     bool
1412:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1412:        memory_order __m2) noexcept
1412:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1412: 
1412:     bos_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115: 
1115: 
1115:       template<typename... _Args>
1115: 
1115:  result_type
1115:  operator()(_Args&&... __args) const
1115:  {
1115:    return this->__call<_Result>(
1115:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115: 
1115: 
1115:       template<typename... _Args>
1115:  [[deprecated("std::bind does not support volatile in C++17")]]
1115:  result_type
1115:  operator()(_Args&&... __args) volatile
1115:  {
1115:    return this->__call<_Result>(
1115:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115: 
1115: 
1115:       template<typename... _Args>
1115:  [[deprecated("std::bind does not support volatile in C++17")]]
1115:  result_type
1115:  operator()(_Args&&... __args) const volatile
1115:  {
1115:    return this->__call<_Result>(
1115:        std::forward_as_tuple(std::forward<_Args>(__args)...),
1115:        _Bound_indexes());
1115:  }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Signature>
1115:     struct is_bind_expression<_Bind<_Signature> >
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Signature>
1115:     struct is_bind_expression<const _Bind<_Signature> >
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Signature>
1115:     struct is_bind_expression<volatile _Bind<_Signature> >
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Signature>
1115:     struct is_bind_expression<const volatile _Bind<_Signature>>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Result, typename _Signature>
1115:     struct is_bind_expression<_Bind_result<_Result, _Signature>>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Result, typename _Signature>
1115:     struct is_bind_expression<const _Bind_result<_Result, _Signature>>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Result, typename _Signature>
1115:     struct is_bind_expression<volatile _Bind_result<_Result, _Signature>>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Result, typename _Signature>
1115:     struct is_bind_expression<const volatile _Bind_result<_Result, _Signature>>
1115:     : public true_type { };
1115: 
1115:   template<typename _Func, typename... _BoundArgs>
1115:     struct _Bind_check_arity { };
1115: 
1115:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
1115:     struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...>
1115:     {
1115:       static_assert(sizeof...(_BoundArgs) == sizeof...(_Args),
1115:                    "Wrong number of arguments for function");
1115:     };
1115: 
1115:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
1115:     struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...>
1115:     {
1115:       static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args),
1115:                    "Wrong number of arguments for function");
1115:     };
1115: 
1115:   template<typename _Tp, typename _Class, typename... _BoundArgs>
1115:     struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...>
1115:     {
1115:       using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity;
1115:       using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs;
1115:       static_assert(_Varargs::value
1115:       ? sizeof...(_BoundArgs) >= _Arity::value + 1
1115:       : sizeof...(_BoundArgs) == _Arity::value + 1,
1115:       "Wrong number of arguments for pointer-to-member");
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
1115:     using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
1115: 
1115:   template<bool _SocketLike, typename _Func, typename... _BoundArgs>
1115:     struct _Bind_helper
1115:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1115:     {
1115:       typedef typename decay<_Func>::type __func_type;
1115:       typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Func, typename... _BoundArgs>
1115:     struct _Bind_helper<true, _Func, _BoundArgs...>
1115:     { };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Func, typename... _BoundArgs>
1115:     inline typename
1115:     _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type
1115:     bind(_Func&& __f, _BoundArgs&&... __args)
1115:     {
1115:       typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type;
1115:       return typename __helper_type::type(std::forward<_Func>(__f),
1115:        std::forward<_BoundArgs>(__args)...);
1115:     }
1115: 
1115:   template<typename _Result, typename _Func, typename... _BoundArgs>
1115:     struct _Bindres_helper
1115:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
1115:     {
1115:       typedef typename decay<_Func>::type __functor_type;
1115:       typedef _Bind_result<_Result,
1115:       __functor_type(typename decay<_BoundArgs>::type...)>
1115:  type;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Result, typename _Func, typename... _BoundArgs>
1115:     inline
1115:     typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type
1115:     bind(_Func&& __f, _BoundArgs&&... __args)
1115:     {
1115:       typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type;
1115:       return typename __helper_type::type(std::forward<_Func>(__f),
1115:        std::forward<_BoundArgs>(__args)...);
1115:     }
1115: # 997 "/usr/include/c++/12/functional" 3
1115:   template<typename _Fn>
1115:     class _Not_fn
1115:     {
1115:       template<typename _Fn2, typename... _Args>
1115:  using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type;
1115: 
1115:       template<typename _Tp>
1115:  static decltype(!std::declval<_Tp>())
1115:  _S_not() noexcept(noexcept(!std::declval<_Tp>()));
1115: 
1115:     public:
1115:       template<typename _Fn2>
1115:  constexpr
1115:  _Not_fn(_Fn2&& __fn, int)
1115:  : _M_fn(std::forward<_Fn2>(__fn)) { }
1115: 
1115:       _Not_fn(const _Not_fn& __fn) = default;
1115:       _Not_fn(_Not_fn&& __fn) = default;
1115:       ~_Not_fn() = default;
1115: # 1031 "/usr/include/c++/12/functional" 3
1115:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(__is_nothrow_invocable<_Fn &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); }
1115:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(__is_nothrow_invocable<_Fn const &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); }
1115:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && noexcept(__is_nothrow_invocable<_Fn &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); }
1115:       template<typename... _Args> decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(__is_nothrow_invocable<_Fn const &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); }
1115: 
1115: 
1115:     private:
1115:       _Fn _M_fn;
1115:     };
1115: 
1115:   template<typename _Tp, typename _Pred>
1115:     struct __is_byte_like : false_type { };
1115: 
1115:   template<typename _Tp>
1ol
1412:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1412:        memory_order __m2) volatile noexcept
1412:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1412: 
1412:     bool
1412:     compare_exchange_strong(bool& __i1, bool __i2,
1412:        memory_order __m = memory_order_seq_cst) noexcept
1412:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1412: 
1412:     bool
1412:     compare_exchange_strong(bool& __i1, bool __i2,
1412:       memory_order __m = memory_order_seq_cst) volatile noexcept
1412:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1412: # 182 "/usr/include/c++/12/atomic" 3
1412:   };
1412: # 195 "/usr/include/c++/12/atomic" 3
1412:   template<typename _Tp>
1412:     struct atomic
1412:     {
1412:       using value_type = _Tp;
1412: 
1412:     private:
1412: 
1412:       static constexpr int _S_min_alignment
1412:  = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16
1412:  ? 0 : sizeof(_Tp);
1412: 
1412:       static constexpr int _S_alignment
1412:         = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp);
1412: 
1412:       alignas(_S_alignment) _Tp _M_i ;
1412: 
1412:       static_assert(__is_trivially_copyable(_Tp),
1412:       "std::atomic requires a trivially copyable type");
1412: 
1412:       static_assert(sizeof(_Tp) > 0,
1412:       "Incomplete or zero-sized types are not supported");
1412: # 224 "/usr/include/c++/12/atomic" 3
1412:     public:
1412:       atomic() = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(_Tp __i) noexcept : _M_i(__i) { }
1412: 
1412:       operator _Tp() const noexcept
1412:       { return load(); }
1412: 
1412:       operator _Tp() const volatile noexcept
1412:       { return load(); }
1412: 
1412:       _Tp
1412:       operator=(_Tp __i) noexcept
1412:       { store(__i); return __i; }
1412: 
1412:       _Tp
1412:       operator=(_Tp __i) volatile noexcept
1412:       { store(__i); return __i; }
1412: 
1412:       bool
1412:       is_lock_free() const noexcept
1412:       {
1412: 
1412:  return __atomic_is_lock_free(sizeof(_M_i),
1412:      reinterpret_cast<void *>(-_S_alignment));
1412:       }
1412: 
1412:       bool
1412:       is_lock_free() const volatile noexcept
1412:       {
1412: 
1412:  return __atomic_is_lock_free(sizeof(_M_i),
1412:      reinterpret_cast<void *>(-_S_alignment));
1412:       }
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free
1412:  = __atomic_always_lock_free(sizeof(_M_i), 0);
1412: 
1412: 
1412:       void
1412:       store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1412:       }
1412: 
1412:       void
1412:       store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1412:       }
1412: 
1412:       _Tp
1412:       load(memory_order __m = memory_order_seq_cst) const noexcept
1412:       {
1412:  alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1412:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1412:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1412:  return *__ptr;
1412:       }
1412: 
1412:       _Tp
1412:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1412:       {
1412:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1412:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1412:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1412:  return *__ptr;
1412:       }
1412: 
1412:       _Tp
1412:       exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1412:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1412:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1412:      __ptr, int(__m));
1412:  return *__ptr;
1412:       }
1412: 
1412:       _Tp
1412:       exchange(_Tp __i,
1412:         memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1412:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1412:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1412:      __ptr, int(__m));
1412:  return *__ptr;
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1412:        memory_order __f) noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange(std::__addressof(_M_i),
1412:       std::__addressof(__e),
1412:       std::__addressof(__i),
1412:       true, int(__s), int(__f));
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1412:        memory_order __f) volatile noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange(std::__addressof(_M_i),
1412:       std::__addressof(__e),
1412:       std::__addressof(__i),
1412:       true, int(__s), int(__f));
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_weak(_Tp& __e, _Tp __i,
1412:        memory_order __m = memory_order_seq_cst) noexcept
1412:       { return compare_exchange_weak(__e, __i, __m,
1412:                                      __cmpexch_failure_order(__m)); }
1412: 
1412:       bool
1412:       compare_exchange_weak(_Tp& __e, _Tp __i,
1412:        memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return compare_exchange_weak(__e, __i, __m,
1412:                                      __cmpexch_failure_order(__m)); }
1412: 
1412:       bool
1412:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1412:          memory_order __f) noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange(std::__addressof(_M_i),
1412:       std::__addressof(__e),
1412:       std::__addressof(__i),
1412:       false, int(__s), int(__f));
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1412:          memory_order __f) volatile noexcept
1412:       {
1412:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1412: 
1412:  return __atomic_compare_exchange(std::__addressof(_M_i),
1412:       std::__addressof(__e),
1412:       std::__addressof(__i),
1412:       false, int(__s), int(__f));
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_strong(_Tp& __e, _Tp __i,
1412:           memory_order __m = memory_order_seq_cst) noexcept
1412:       { return compare_exchange_strong(__e, __i, __m,
1412:                                        __cmpexch_failure_order(__m)); }
1412: 
1412:       bool
1412:       compare_exchange_strong(_Tp& __e, _Tp __i,
1412:        memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return compare_exchange_strong(__e, __i, __m,
1412:                                        __cmpexch_failure_order(__m)); }
1412: # 410 "/usr/include/c++/12/atomic" 3
1412:     };
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     struct atomic<_Tp*>
1412:     {
1412:       using value_type = _Tp*;
1412:       using difference_type = ptrdiff_t;
1412: 
1412:       typedef _Tp* __pointer_type;
1412:       typedef __atomic_base<_Tp*> __base_type;
1412:       __base_type _M_b;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = 115:     struct __is_byte_like<_Tp, equal_to<_Tp>>
1115:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1115: 
1115:   template<typename _Tp>
1115:     struct __is_byte_like<_Tp, equal_to<void>>
1115:     : __bool_constant<sizeof(_Tp) == 1 && is_integral<_Tp>::value> { };
1115: 
1115: 
1115: 
1115:   enum class byte : unsigned char;
1115: 
1115:   template<>
1115:     struct __is_byte_like<byte, equal_to<byte>>
1115:     : true_type { };
1115: 
1115:   template<>
1115:     struct __is_byte_like<byte, equal_to<void>>
1115:     : true_type { };
1115: # 1078 "/usr/include/c++/12/functional" 3
1115:   template<typename _Fn>
1115:    
1115:     inline auto
1115:     not_fn(_Fn&& __fn)
1115:     noexcept(std::is_nothrow_constructible<std::decay_t<_Fn>, _Fn&&>::value)
1115:     {
1115:       return _Not_fn<std::decay_t<_Fn>>{std::forward<_Fn>(__fn), 0};
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _ForwardIterator1, typename _BinaryPredicate = equal_to<>>
1115:     class default_searcher
1115:     {
1115:     public:
1115:      
1115:       default_searcher(_ForwardIterator1 __pat_first,
1115:          _ForwardIterator1 __pat_last,
1115:          _BinaryPredicate __pred = _BinaryPredicate())
1115:       : _M_m(__pat_first, __pat_last, std::move(__pred))
1115:       { }
1115: 
1115:       template<typename _ForwardIterator2>
1115: 
1115:  pair<_ForwardIterator2, _ForwardIterator2>
1115:  operator()(_ForwardIterator2 __first, _ForwardIterator2 __last) const
1115:  {
1115:    _ForwardIterator2 __first_ret =
1115:      std::search(__first, __last, std::get<0>(_M_m), std::get<1>(_M_m),
1115:    std::get<2>(_M_m));
1115:    auto __ret = std::make_pair(__first_ret, __first_ret);
1115:    if (__ret.first != __last)
1115:      std::advance(__ret.second, std::distance(std::get<0>(_M_m),
1115:            std::get<1>(_M_m)));
1115:    return __ret;
1115:  }
1115: 
1115:     private:
1115:       tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m;
1115:     };
1115: 
1115:   template<typename _Key, typename _Tp, typename _Hash, typename _Pred>
1115:     struct __boyer_moore_map_base
1115:     {
1115:       template<typename _RAIter>
1115:  __boyer_moore_map_base(_RAIter __pat, size_t __patlen,
1115:           _Hash&& __hf, _Pred&& __pred)
1115:  : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) }
1115:  {
1115:    if (__patlen > 0)
1115:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1115:        _M_bad_char[__pat[__i]] = __patlen - 1 - __i;
1115:  }
1115: 
1115:       using __diff_type = _Tp;
1115: 
1115:       __diff_type
1115:       _M_lookup(_Key __key, __diff_type __not_found) const
1115:       {
1115:  auto __iter = _M_bad_char.find(__key);
1115:  if (__iter == _M_bad_char.end())
1115:    return __not_found;
1115:  return __iter->second;
1115:       }
1115: 
1115:       _Pred
1115:       _M_pred() const { return _M_bad_char.key_eq(); }
1115: 
1115:       std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
1115:     };
1115: 
1115:   template<typename _Tp, size_t _Len, typename _Pred>
1115:     struct __boyer_moore_array_base
1115:     {
1115:       template<typename _RAIter, typename _Unused>
1115:  __boyer_moore_array_base(_RAIter __pat, size_t __patlen,
1115:      _Unused&&, _Pred&& __pred)
1115:  : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
1115:  {
1115:    std::get<0>(_M_bad_char).fill(__patlen);
1115:    if (__patlen > 0)
1115:      for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
1115:        {
1115:   auto __ch = __pat[__i];
1115:   using _UCh = make_unsigned_t<decltype(__ch)>;
1115:   auto __uch = static_cast<_UCh>(__ch);
1115:   std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i;
1115:        }
1115:  }
1115: 
1115:       using __diff_type = _Tp;
1115: 
1115:       template<typename _Key>
1115:  __diff_type
1115:  _M_lookup(_Key __key, __diff_type __not_found) const
1115:  {
1115:    auto __ukey = static_cast<make_unsigned_t<_Key>>(__key);
1115:    if (__ukey >= _Len)
1115:      return __not_found;
1115:    return std::get<0>(_M_bad_char)[__ukey];
1115:  }
1115: 
1115:       const _Pred&
1115:       _M_pred() const { return std::get<1>(_M_bad_char); }
1115: 
1115:       tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _RAIter, typename _Hash, typename _Pred,
1115:            typename _Val = typename iterator_traits<_RAIter>::value_type,
1115:     typename _Diff = typename iterator_traits<_RAIter>::difference_type>
1115:     using __boyer_moore_base_t
1115:       = __conditional_t<__is_byte_like<_Val, _Pred>::value,
1115:    __boyer_moore_array_base<_Diff, 256, _Pred>,
1115:    __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>;
1115: 
1115:   template<typename _RAIter, typename _Hash
1115:       = hash<typename iterator_traits<_RAIter>::value_type>,
1115:     typename _BinaryPredicate = equal_to<>>
1115:     class boyer_moore_searcher
1115:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1115:     {
1115:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1115:       using typename _Base::__diff_type;
1115: 
1115:     public:
1115:       boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last,
1115:       _Hash __hf = _Hash(),
1115:       _BinaryPredicate __pred = _BinaryPredicate());
1115: 
1115:       template<typename _RandomAccessIterator2>
1115:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1115:  operator()(_RandomAccessIterator2 __first,
1115:      _RandomAccessIterator2 __last) const;
1115: 
1115:     private:
1115:       bool
1115:       _M_is_prefix(_RAIter __word, __diff_type __len,
1115:      __diff_type __pos)
1115:       {
1115:  const auto& __pred = this->_M_pred();
1115:  __diff_type __suffixlen = __len - __pos;
1115:  for (__diff_type __i = 0; __i < __suffixlen; ++__i)
1115:    if (!__pred(__word[__i], __word[__pos + __i]))
1115:      return false;
1115:  return true;
1115:       }
1115: 
1115:       __diff_type
1115:       _M_suffix_length(_RAIter __word, __diff_type __len,
1115:          __diff_type __pos)
1115:       {
1115:  const auto& __pred = this->_M_pred();
1115:  __diff_type __i = 0;
1115:  while (__pred(__word[__pos - __i], __word[__len - 1 - __i])
1115:         && __i < __pos)
1115:    {
1115:      ++__i;
1115:    }
1115:  return __i;
1115:       }
1115: 
1115:       template<typename _Tp>
1115:  __diff_type
1115:  _M_bad_char_shift(_Tp __c) const
1115:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1115: 
1115:       _RAIter _M_pat;
1115:       _RAIter _M_pat_end;
1115:       std::vector<__diff_type> _M_good_suffix;
1115:     };
1115: 
1115:   template<typename _RAIter, typename _Hash
1115:       = hash<typename iterator_traits<_RAIter>::value_type>,
1115:     typename _BinaryPredicate = equal_to<>>
1115:     class boyer_moore_horspool_searcher
1115:     : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
1115:     {
1115:       using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
1115:       using typename _Base::__diff_type;
1115: 
1115:     public:
1115:       boyer_moore_horspool_searcher(_RAIter __pat,
1115:         _RAIter __pat_end,
1115:         _Hash __hf = _Hash(),
1115:         _BinaryPredicate __pred
1115:         = _BinaryPredicate())
1115:       : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
1115:  _M_pat(__pat), _M_pat_end(__pat_end)
1115:       { }
1115: 
1115:       template<typename _RandomAccessIterator2>
1115:         pair<_RandomAccessIterator2, _RandomAccessIterator2>
1115:  operator()(_RandomAccessIterator2 __first,
1115:      _RandomAccessIterator2 __last) const
1115:  {
1115:    const auto& __pred = this->_M_pred();
1115:    auto __patlen = _M_pat_end - _M_pat;
1115:    if (__patlen == 0)
1115:      return std::make_pair(__first, __first);
1115:    auto __len = __last - __first;
1115:    while (__len >= __patlen)
1115:      {
1115:        for (auto __scan = __patlen - 1;
1115:      __pred(__first[__scan], _M_pat[__scan]); --__scan)
1115:   if (__scan == 0)
1115:     return std::make_pair(__first, __first + __patlen);
1115delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { }
1412: 
1412:       operator __pointer_type() const noexcept
1412:       { return __pointer_type(_M_b); }
1412: 
1412:       operator __pointer_type() const volatile noexcept
1412:       { return __pointer_type(_M_b); }
1412: 
1412:       __pointer_type
1412:       operator=(__pointer_type __p) noexcept
1412:       { return _M_b.operator=(__p); }
1412: 
1412:       __pointer_type
1412:       operator=(__pointer_type __p) volatile noexcept
1412:       { return _M_b.operator=(__p); }
1412: 
1412:       __pointer_type
1412:       operator++(int) noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b++;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator++(int) volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b++;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator--(int) noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b--;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator--(int) volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b--;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator++() noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return ++_M_b;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator++() volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return ++_M_b;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator--() noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return --_M_b;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator--() volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return --_M_b;
1412:       }
1412: 
1412:       __pointer_type
1412:       operator+=(ptrdiff_t __d) noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.operator+=(__d);
1412:       }
1412: 
1412:       __pointer_type
1412:       operator+=(ptrdiff_t __d) volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.operator+=(__d);
1412:       }
1412: 
1412:       __pointer_type
1412:       operator-=(ptrdiff_t __d) noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.operator-=(__d);
1412:       }
1412: 
1412:       __pointer_type
1412:       operator-=(ptrdiff_t __d) volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.operator-=(__d);
1412:       }
1412: 
1412:       bool
1412:       is_lock_free() const noexcept
1412:       { return _M_b.is_lock_free(); }
1412: 
1412:       bool
1412:       is_lock_free() const volatile noexcept
1412:       { return _M_b.is_lock_free(); }
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free
1412:  = 2 == 2;
1412: 
1412: 
1412:       void
1412:       store(__pointer_type __p,
1412:      memory_order __m = memory_order_seq_cst) noexcept
1412:       { return _M_b.store(__p, __m); }
1412: 
1412:       void
1412:       store(__pointer_type __p,
1412:      memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return _M_b.store(__p, __m); }
1412: 
1412:       __pointer_type
1412:       load(memory_order __m = memory_order_seq_cst) const noexcept
1412:       { return _M_b.load(__m); }
1412: 
1412:       __pointer_type
1412:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1412:       { return _M_b.load(__m); }
1412: 
1412:       __pointer_type
1412:       exchange(__pointer_type __p,
1412:         memory_order __m = memory_order_seq_cst) noexcept
1412:       { return _M_b.exchange(__p, __m); }
1412: 
1412:       __pointer_type
1412:       exchange(__pointer_type __p,
1412:         memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       { return _M_b.exchange(__p, __m); }
1412: 
1412:       bool
1412:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1412:        memory_order __m1, memory_order __m2) noexcept
1412:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1412: 
1412:       bool
1412:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1412:        memory_order __m1,
1412:        memory_order __m2) volatile noexcept
1412:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1412: 
1412:       bool
1412:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1412:        memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  return compare_exchange_weak(__p1, __p2, __m,
1412:          __cmpexch_failure_order(__m));
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1412:       memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  return compare_exchange_weak(__p1, __p2, __m,
1412:          __cmpexch_failure_order(__m));
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1412:          memory_order __m1, memory_order __m2) noexcept
1412:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1412: 
1412:       bool
1412:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1412:          memory_order __m1,
1412:          memory_order __m2) volatile noexcept
1412:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1412: 
1412:       bool
1412:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1412:          memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1412:          __cmpexch_failure_order(__m));
1412:       }
1412: 
1412:       bool
1412:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1412:       memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1412:          __cmpexch_failure_order(__m));
1412:       }
1412: # 665 "/usr/include/c++/12/atomic" 3
1412:       __pointer_type
1412:       fetch_add(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.fetch_add(__d, __m);
1412:       }
1412: 
1412:       __pointer_type
1412:       fetch_add(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.fetch_add(__d, __m);
1412:       }
1412: 
1412:       __pointer_type
1412:       fetch_sub(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.fetch_sub(__d, __m);
1412:       }
1412: 
1412:       __pointer_type
1412:       fetch_sub(ptrdiff_t __d,
1412:   memory_order __m = memory_order_seq_cst) volatile noexcept
1412:       {
1412: 
1412:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1412: 
1412:  return _M_b.fetch_sub(__d, __m);
1412:       }
1412:     };
1412: 
1412: 
1412: 
1412:   template<>
1412:     struct atomic<char> : __atomic_base<char>
1412:     {
1412:       typedef char __integral_type;
1412:       typede:        auto __shift = _M_bad_char_shift(__first[__patlen - 1]);
1115:        __len -= __shift;
1115:        __first += __shift;
1115:      }
1115:    return std::make_pair(__last, __last);
1115:  }
1115: 
1115:     private:
1115:       template<typename _Tp>
1115:  __diff_type
1115:  _M_bad_char_shift(_Tp __c) const
1115:  { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
1115: 
1115:       _RAIter _M_pat;
1115:       _RAIter _M_pat_end;
1115:     };
1115: 
1115:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1115:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1115:     boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end,
1115:     _Hash __hf, _BinaryPredicate __pred)
1115:     : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
1115:       _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat)
1115:     {
1115:       auto __patlen = __pat_end - __pat;
1115:       if (__patlen == 0)
1115:  return;
1115:       __diff_type __last_prefix = __patlen - 1;
1115:       for (__diff_type __p = __patlen - 1; __p >= 0; --__p)
1115:  {
1115:    if (_M_is_prefix(__pat, __patlen, __p + 1))
1115:      __last_prefix = __p + 1;
1115:    _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p);
1115:  }
1115:       for (__diff_type __p = 0; __p < __patlen - 1; ++__p)
1115:  {
1115:    auto __slen = _M_suffix_length(__pat, __patlen, __p);
1115:    auto __pos = __patlen - 1 - __slen;
1115:    if (!__pred(__pat[__p - __slen], __pat[__pos]))
1115:      _M_good_suffix[__pos] = __patlen - 1 - __p + __slen;
1115:  }
1115:     }
1115: 
1115:   template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
1115:   template<typename _RandomAccessIterator2>
1115:     pair<_RandomAccessIterator2, _RandomAccessIterator2>
1115:     boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
1115:     operator()(_RandomAccessIterator2 __first,
1115:         _RandomAccessIterator2 __last) const
1115:     {
1115:       auto __patlen = _M_pat_end - _M_pat;
1115:       if (__patlen == 0)
1115:  return std::make_pair(__first, __first);
1115:       const auto& __pred = this->_M_pred();
1115:       __diff_type __i = __patlen - 1;
1115:       auto __stringlen = __last - __first;
1115:       while (__i < __stringlen)
1115:  {
1115:    __diff_type __j = __patlen - 1;
1115:    while (__j >= 0 && __pred(__first[__i], _M_pat[__j]))
1115:      {
1115:        --__i;
1115:        --__j;
1115:      }
1115:    if (__j < 0)
1115:      {
1115:        const auto __match = __first + __i + 1;
1115:        return std::make_pair(__match, __match + __patlen);
1115:      }
1115:    __i += std::max(_M_bad_char_shift(__first[__i]),
1115:      _M_good_suffix[__j]);
1115:  }
1115:       return std::make_pair(__last, __last);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h" 2
1115: 
1115: 
1115: 
1115: 
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Condition.h"
1115: namespace XbmcThreads
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class ConditionVariable
1115:   {
1115:   private:
1115:     std::condition_variable_any cond;
1115:     ConditionVariable(const ConditionVariable&) = delete;
1115:     ConditionVariable& operator=(const ConditionVariable&) = delete;
1115: 
1115:   public:
1115:     ConditionVariable() = default;
1115: 
1115:     inline void wait(CCriticalSection& lock, std::function<bool()> predicate)
1115:     {
1115:       int count = lock.count;
1115:       lock.count = 0;
1115:       cond.wait(lock.get_underlying(), std::move(predicate));
1115:       lock.count = count;
1115:     }
1115: 
1115:     inline void wait(CCriticalSection& lock)
1115:     {
1115:       int count = lock.count;
1115:       lock.count = 0;
1115:       cond.wait(lock.get_underlying());
1115:       lock.count = count;
1115:     }
1115: 
1115:     template<typename Rep, typename Period>
1115:     inline bool wait(CCriticalSection& lock,
1115:                      std::chrono::duration<Rep, Period> duration,
1115:                      std::function<bool()> predicate)
1115:     {
1115:       int count = lock.count;
1115:       lock.count = 0;
1115:       bool ret = cond.wait_for(lock.get_underlying(), duration, predicate);
1115:       lock.count = count;
1115:       return ret;
1115:     }
1115: 
1115:     template<typename Rep, typename Period>
1115:     inline bool wait(CCriticalSection& lock, std::chrono::duration<Rep, Period> duration)
1115:     {
1115:       int count = lock.count;
1115:       lock.count = 0;
1115:       std::cv_status res = cond.wait_for(lock.get_underlying(), duration);
1115:       lock.count = count;
1115:       return res == std::cv_status::no_timeout;
1115:     }
1115: 
1115:     inline void wait(std::unique_lock<CCriticalSection>& lock, std::function<bool()> predicate)
1115:     {
1115:       cond.wait(*lock.mutex(), std::move(predicate));
1115:     }
1115: 
1115:     inline void wait(std::unique_lock<CCriticalSection>& lock) { wait(*lock.mutex()); }
1115: 
1115:     template<typename Rep, typename Period>
1115:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1115:                      std::chrono::duration<Rep, Period> duration,
1115:                      std::function<bool()> predicate)
1115:     {
1115:       return wait(*lock.mutex(), duration, predicate);
1115:     }
1115: 
1115:     template<typename Rep, typename Period>
1115:     inline bool wait(std::unique_lock<CCriticalSection>& lock,
1115:                      std::chrono::duration<Rep, Period> duration)
1115:     {
1115:       return wait(*lock.mutex(), duration);
1115:     }
1115: 
1115:     inline void notifyAll()
1115:     {
1115:       cond.notify_all();
1115:     }
1115: 
1115:     inline void notify()
1115:     {
1115:       cond.notify_one();
1115:     }
1115:   };
1115: 
1115: }
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace XbmcThreads
1115: {
1115: class CEventGroup;
1115: }
1115: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1115: class CEvent
1115: {
1115:   bool manualReset;
1115:   volatile bool signaled;
1115:   unsigned int numWaits = 0;
1115: 
1115:   CCriticalSection groupListMutex;
1115:   std::unique_ptr<std::vector<XbmcThreads::CEventGroup*>> groups;
1115: 
1115:   XbmcThreads::ConditionVariable actualCv;
1115:   CCriticalSection mutex;
1115: 
1115:   friend class XbmcThreads::CEventGroup;
1115: 
1115:   void addGroup(XbmcThreads::CEventGroup* group);
1115:   void removeGroup(XbmcThreads::CEventGroup* group);
1115: 
1115: 
1115:   inline bool prepReturn()
1115:   {
1115:     bool ret = signaled;
1115:     if (!manualReset && numWaits == 0)
1115:       signaled = false;
1115:     return ret;
1115:   }
1115: 
1115:   CEvent(const CEvent&) = delete;
1115:   CEvent& operator=(const CEvent&) = delete;
1115: 
1115: public:
1115:   inline CEvent(bool manual = false, bool signaled_ = false)
1115:     : manualReset(manual), signaled(signaled_)
1115:   {
1115:   }
1115: 
1115:   inline void Reset()
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(mutex);
1115:     signaled = false;
1115:   }
1115:   void Set();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline bool Signaled()
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(mutex);
1115:     return signaled;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename Rep, typename Period>
1115:   inline bool Wait(std::chrono::duration<Rep, Period> duration)
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(mutex);
1115:     numWaits++;
1115:     actualCv.wait(mutex, duration, std::bind(&CEvent::Signaled, this));
1115:     numWaits--;
1115:     return prepReturn();
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline bool Wait()
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(mutex);
1115:     numWaits++;
1115:     actualCv.wait(mutex, std::bind(&CEvent::Signaled, this));
1115:     numWaits--;
1115:     return prepReturn();
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1f __atomic_base<char> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 1 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<signed char> : __atomic_base<signed char>
1412:     {
1412:       typedef signed char __integral_type;
1412:       typedef __atomic_base<signed char> __base_type;
1412: 
1412:       atomic() noexcept= default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 1 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<unsigned char> : __atomic_base<unsigned char>
1412:     {
1412:       typedef unsigned char __integral_type;
1412:       typedef __atomic_base<unsigned char> __base_type;
1412: 
1412:       atomic() noexcept= default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 1 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<short> : __atomic_base<short>
1412:     {
1412:       typedef short __integral_type;
1412:       typedef __atomic_base<short> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 1 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<unsigned short> : __atomic_base<unsigned short>
1412:     {
1412:       typedef unsigned short __integral_type;
1412:       typedef __atomic_base<unsigned short> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 1 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<int> : __atomic_base<int>
1412:     {
1412:       typedef int __integral_type;
1412:       typedef __atomic_base<int> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 2 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<unsigned int> : __atomic_base<unsigned int>
1412:     {
1412:       typedef unsigned int __integral_type;
1412:       typedef __atomic_base<unsigned int> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 2 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<long> : __atomic_base<long>
1412:     {
1412:       typedef long __integral_type;
1412:       typedef __atomic_base<long> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 2 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<unsigned long> : __atomic_base<unsigned long>
1412:     {
1412:       typedef unsigned long __integral_type;
1412:       typedef __atomic_base<unsigned long> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 2 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<long long> : __atomic_base<long long>
1412:     {
1412:       typedef long long __integral_type;
1412:       typedef __atomic_base<long long> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 1 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<unsigned long long> : __atomic_base<unsigned long long>
1412:     {
1412:       typedef unsigned long long __integral_type;
1412:       typedef __atomic_base<unsigned long long> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 1 == 2;
1412:115: 
1115:   inline int getNumWaits()
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(mutex);
1115:     return numWaits;
1115:   }
1115: };
1115: 
1115: namespace XbmcThreads
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CEventGroup
1115: {
1115:   std::vector<CEvent*> events;
1115:   CEvent* signaled{};
1115:   XbmcThreads::ConditionVariable actualCv;
1115:   CCriticalSection mutex;
1115: 
1115:   unsigned int numWaits{0};
1115: 
1115: 
1115:   inline void Set(CEvent* child)
1115:   {
1115:     std::unique_lock<CCriticalSection> l(mutex);
1115:     signaled = child;
1115:     actualCv.notifyAll();
1115:   }
1115: 
1115:   friend class ::CEvent;
1115: 
1115:   CEventGroup(const CEventGroup&) = delete;
1115:   CEventGroup& operator=(const CEventGroup&) = delete;
1115: 
1115: public:
1115: 
1115: 
1115: 
1115: 
1115:   CEventGroup(std::initializer_list<CEvent*> events);
1115: 
1115:   ~CEventGroup();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CEvent* wait();
1115: # 185 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Event.h"
1115:   template<typename Rep, typename Period>
1115:   CEvent* wait(std::chrono::duration<Rep, Period> duration)
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(mutex);
1115:     numWaits++;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     signaled = nullptr;
1115:     for (auto* cur : events)
1115:     {
1115:       std::unique_lock<CCriticalSection> lock2(cur->mutex);
1115:       if (cur->signaled)
1115:         signaled = cur;
1115:     }
1115: 
1115: 
1115:     if (!signaled)
1115:     {
1115: 
1115:       if (duration == std::chrono::duration<Rep, Period>::max())
1115:         actualCv.wait(mutex, [this]() { return signaled != nullptr; });
1115:       else
1115:         actualCv.wait(mutex, duration, [this]() { return signaled != nullptr; });
1115:     }
1115:     numWaits--;
1115: 
1115: 
1115:     CEvent* ret = signaled;
1115:     if (numWaits == 0)
1115:     {
1115:       if (signaled)
1115: 
1115: 
1115:         signaled->Wait(std::chrono::duration<Rep, Period>::zero());
1115:       signaled = nullptr;
1115:     }
1115:     return ret;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline int getNumWaits()
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(mutex);
1115:     return numWaits;
1115:   }
1115: };
1115: }
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1115: 
1115: # 1 "/usr/include/c++/12/atomic" 1 3
1115: # 35 "/usr/include/c++/12/atomic" 3
1115:        
1115: # 36 "/usr/include/c++/12/atomic" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 43 "/usr/include/c++/12/atomic" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 56 "/usr/include/c++/12/atomic" 3
1115:   template<typename _Tp>
1115:     struct atomic;
1115: 
1115: 
1115: 
1115:   template<>
1115:   struct atomic<bool>
1115:   {
1115:     using value_type = bool;
1115: 
1115:   private:
1115:     __atomic_base<bool> _M_base;
1115: 
1115:   public:
1115:     atomic() noexcept = default;
1115:     ~atomic() noexcept = default;
1115:     atomic(const atomic&) = delete;
1115:     atomic& operator=(const atomic&) = delete;
1115:     atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:     constexpr atomic(bool __i) noexcept : _M_base(__i) { }
1115: 
1115:     bool
1115:     operator=(bool __i) noexcept
1115:     { return _M_base.operator=(__i); }
1115: 
1115:     bool
1115:     operator=(bool __i) volatile noexcept
1115:     { return _M_base.operator=(__i); }
1115: 
1115:     operator bool() const noexcept
1115:     { return _M_base.load(); }
1115: 
1115:     operator bool() const volatile noexcept
1115:     { return _M_base.load(); }
1115: 
1115:     bool
1115:     is_lock_free() const noexcept { return _M_base.is_lock_free(); }
1115: 
1115:     bool
1115:     is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); }
1115: 
1115: 
1115:     static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115: 
1115:     void
1115:     store(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1115:     { _M_base.store(__i, __m); }
1115: 
1115:     void
1115:     store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1115:     { _M_base.store(__i, __m); }
1115: 
1115:     bool
1115:     load(memory_order __m = memory_order_seq_cst) const noexcept
1115:     { return _M_base.load(__m); }
1115: 
1115:     bool
1115:     load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1115:     { return _M_base.load(__m); }
1115: 
1115:     bool
1115:     exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept
1115:     { return _M_base.exchange(__i, __m); }
1115: 
1115:     bool
1115:     exchange(bool __i,
1115:       memory_order __m = memory_order_seq_cst) volatile noexcept
1115:     { return _M_base.exchange(__i, __m); }
1115: 
1115:     bool
1115:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1115:      memory_order __m2) noexcept
1115:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1115: 
1115:     bool
1115:     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
1115:      memory_order __m2) volatile noexcept
1115:     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
1115: 
1115:     bool
1115:     compare_exchange_weak(bool& __i1, bool __i2,
1115:      memory_order __m = memory_order_seq_cst) noexcept
1115:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1115: 
1115:     bool
1115:     compare_exchange_weak(bool& __i1, bool __i2,
1115:        memory_order __m = memory_order_seq_cst) volatile noexcept
1115:     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
1115: 
1115:     bool
1115:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1115:        memory_order __m2) noexcept
1115:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1115: 
1115:     bool
1115:     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
1115:        memory_order __m2) volatile noexcept
1115:     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
1115: 
1115:     bool
1115:     compare_exchange_strong(bool& __i1, bool __i2,
1115:        memory_order __m = memory_order_seq_cst) noexcept
1115:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1115: 
1115:     bool
1115:     compare_exchange_strong(bool& __i1, bool __i2,
1115:       memory_order __m = memory_order_seq_cst) volatile noexcept
1115:     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
1115: # 182 "/usr/include/c++/12/atomic" 3
1115:   };
1115: # 195 "/usr/include/c++/12/atomic" 3
1115:   template<typename _Tp>
1115:     struct atomic
1115:     {
1115:       using value_type = _Tp;
1115: 
1115:     private:
1115: 
1115:       static constexpr int _S_min_alignment
1115:  = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16
1115:  ? 0 : sizeof(_Tp);
1115: 
1115:       static constexpr int _S_alignment
1115:         = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp);
1115: 
1115:       alignas(_S_alignment) _Tp _M_i ;
1115: 
1115:       static_assert(__is_trivially_copyable(_Tp),
1115:       "std::atomic requires a trivially copyable type");
1115: 
1115:       static_assert(sizeof(_Tp) > 0,
1115:       "Incomplete or zero-sized types are not supported");
1115: # 224 "/usr/include/c++/12/atomic" 3
1115:     public:
1115:       atomic() = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(_Tp __i) noexcept : _M_i(__i) { }
1115: 
1115:       operator _Tp() const noexcept
1115:       { return load(); }
1115: 
1115:       operator _Tp() const volatile noexcept
1115:       { return load(); }
1115: 
1115:       _Tp
1115:       operator=(_Tp __i) noexcept
1115:       { store(__i); return __i; }
1115: 
1115:       _Tp
1115:       operator=(_Tp __i) volatile noexcept
1115:        
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<wchar_t> : __atomic_base<wchar_t>
1412:     {
1412:       typedef wchar_t __integral_type;
1412:       typedef __atomic_base<wchar_t> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free = 2 == 2;
1412: 
1412:     };
1412: # 1010 "/usr/include/c++/12/atomic" 3
1412:   template<>
1412:     struct atomic<char16_t> : __atomic_base<char16_t>
1412:     {
1412:       typedef char16_t __integral_type;
1412:       typedef __atomic_base<char16_t> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free
1412:  = 1 == 2;
1412: 
1412:     };
1412: 
1412: 
1412:   template<>
1412:     struct atomic<char32_t> : __atomic_base<char32_t>
1412:     {
1412:       typedef char32_t __integral_type;
1412:       typedef __atomic_base<char32_t> __base_type;
1412: 
1412:       atomic() noexcept = default;
1412:       ~atomic() noexcept = default;
1412:       atomic(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) = delete;
1412:       atomic& operator=(const atomic&) volatile = delete;
1412: 
1412:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1412: 
1412:       using __base_type::operator __integral_type;
1412:       using __base_type::operator=;
1412: 
1412: 
1412:       static constexpr bool is_always_lock_free
1412:  = 2 == 2;
1412: 
1412:     };
1412: 
1412: 
1412: 
1412:   typedef atomic<bool> atomic_bool;
1412: 
1412: 
1412:   typedef atomic<char> atomic_char;
1412: 
1412: 
1412:   typedef atomic<signed char> atomic_schar;
1412: 
1412: 
1412:   typedef atomic<unsigned char> atomic_uchar;
1412: 
1412: 
1412:   typedef atomic<short> atomic_short;
1412: 
1412: 
1412:   typedef atomic<unsigned short> atomic_ushort;
1412: 
1412: 
1412:   typedef atomic<int> atomic_int;
1412: 
1412: 
1412:   typedef atomic<unsigned int> atomic_uint;
1412: 
1412: 
1412:   typedef atomic<long> atomic_long;
1412: 
1412: 
1412:   typedef atomic<unsigned long> atomic_ulong;
1412: 
1412: 
1412:   typedef atomic<long long> atomic_llong;
1412: 
1412: 
1412:   typedef atomic<unsigned long long> atomic_ullong;
1412: 
1412: 
1412:   typedef atomic<wchar_t> atomic_wchar_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   typedef atomic<char16_t> atomic_char16_t;
1412: 
1412: 
1412:   typedef atomic<char32_t> atomic_char32_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   typedef atomic<int8_t> atomic_int8_t;
1412: 
1412: 
1412:   typedef atomic<uint8_t> atomic_uint8_t;
1412: 
1412: 
1412:   typedef atomic<int16_t> atomic_int16_t;
1412: 
1412: 
1412:   typedef atomic<uint16_t> atomic_uint16_t;
1412: 
1412: 
1412:   typedef atomic<int32_t> atomic_int32_t;
1412: 
1412: 
1412:   typedef atomic<uint32_t> atomic_uint32_t;
1412: 
1412: 
1412:   typedef atomic<int64_t> atomic_int64_t;
1412: 
1412: 
1412:   typedef atomic<uint64_t> atomic_uint64_t;
1412: 
1412: 
1412: 
1412:   typedef atomic<int_least8_t> atomic_int_least8_t;
1412: 
1412: 
1412:   typedef atomic<uint_least8_t> atomic_uint_least8_t;
1412: 
1412: 
1412:   typedef atomic<int_least16_t> atomic_int_least16_t;
1412: 
1412: 
1412:   typedef atomic<uint_least16_t> atomic_uint_least16_t;
1412: 
1412: 
1412:   typedef atomic<int_least32_t> atomic_int_least32_t;
1412: 
1412: 
1412:   typedef atomic<uint_least32_t> atomic_uint_least32_t;
1412: 
1412: 
1412:   typedef atomic<int_least64_t> atomic_int_least64_t;
1412: 
1412: 
1412:   typedef atomic<uint_least64_t> atomic_uint_least64_t;
1412: 
1412: 
1412: 
1412:   typedef atomic<int_fast8_t> atomic_int_fast8_t;
1412: 
1412: 
1412:   typedef atomic<uint_fast8_t> atomic_uint_fast8_t;
1412: 
1412: 
1412:   typedef atomic<int_fast16_t> atomic_int_fast16_t;
1412: 
1412: 
1412:   typedef atomic<uint_fast16_t> atomic_uint_fast16_t;
1412: 
1412: 
1412:   typedef atomic<int_fast32_t> atomic_int_fast32_t;
1412: 
1412: 
1412:   typedef atomic<uint_fast32_t> atomic_uint_fast32_t;
1412: 
1412: 
1412:   typedef atomic<int_fast64_t> atomic_int_fast64_t;
1412: 
1412: 
1412:   typedef atomic<uint_fast64_t> atomic_uint_fast64_t;
1412: 
1412: 
1412: 
1412: 
1412:   typedef atomic<intptr_t> atomic_intptr_t;
1412: 
1412: 
1412:   typedef atomic<uintptr_t> atomic_uintptr_t;
1412: 
1412: 
1412:   typedef atomic<size_t> atomic_size_t;
1412: 
1412: 
1412:   typedef atomic<ptrdiff_t> atomic_ptrdiff_t;
1412: 
1412: 
1412: 
1412:   typedef atomic<intmax_t> atomic_intmax_t;
1412: 
1412: 
1412:   typedef atomic<uintmax_t> atomic_uintmax_t;
1412: 
1412: 
1412: 
1412:   inline bool
1412:   atomic_flag_test_and_set_explicit(atomic_flag* __a,
1412:         memory_order __m) noexcept
1412:   { return __a->test_and_set(__m); }
1412: 
1412:   inline bool
1412:   atomic_flag_test_and_set_explicit(volatile atomic_flag* __a,
1412:         memory_order __m) noexcept
1412:   { return __a->test_and_set(__m); }
1412: 
1412:   inline void
1412:   atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept
1412:   { __a->clear(__m); }
1412: 
1412:   inline void
1412:   atomic_flag_clear_explicit(volatile atomic_flag* __a,
1412:         memory_order __m) noexcept
1412:   { __a->clear(__m); }
1412: 
1412:   inline bool
1412:   atomic_flag_test_and_set(atomic_flag* __a) noexcept
1412:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
1412: 
1412:   inline bool
1412:   atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept
1412:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
1412: 
1412:   inline void
1412:   atomic_flag_clear(atomic_flag* __a) noexcept
1412:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1412: 
1412:   inline void
1412:   atomic_flag_clear(volatile atomic_flag* __a) noexcept
1412:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1412: 
1412: 
1412: 
1412:   template<typename _Tp>
1412:     using __atomic_val_t = __type_identity_t<_Tp>;
1412:   template<typename _Tp>
1412:     using __atomic_diff_t = typename atomic<_Tp>::difference_type;
1412: 
1412: 
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_is_lock_free(const atomic<_ITp>* __a) noexcept
1412:     { return __a->is_lock_free(); }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept
1412:     { return __a->is_lock_free(); }
1412: 
1412:   template<typename _ITp>
1412:     inline void
1412:     atomic_init(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1412:     { __a->store(__i, memory_order_relaxed); }
1412: 
1412:   template<typename _ITp>
1412:     inline void
1412:     atomic_init(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1412:     { __a->store(__i, memory_order_relaxed); }
1412: 
1412:   template<typename _ITp>
1412:     inline void
1412:     atomic_store_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1412:      memory_order __m) noexcept
1412:     { __a->store(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline void
1412:     atomic_store_explicit(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1412:      memory_order __m) noexcept
1412:     { __a->store(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomi{ store(__i); return __i; }
1115: 
1115:       bool
1115:       is_lock_free() const noexcept
1115:       {
1115: 
1115:  return __atomic_is_lock_free(sizeof(_M_i),
1115:      reinterpret_cast<void *>(-_S_alignment));
1115:       }
1115: 
1115:       bool
1115:       is_lock_free() const volatile noexcept
1115:       {
1115: 
1115:  return __atomic_is_lock_free(sizeof(_M_i),
1115:      reinterpret_cast<void *>(-_S_alignment));
1115:       }
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free
1115:  = __atomic_always_lock_free(sizeof(_M_i), 0);
1115: 
1115: 
1115:       void
1115:       store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1115:       }
1115: 
1115:       void
1115:       store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m));
1115:       }
1115: 
1115:       _Tp
1115:       load(memory_order __m = memory_order_seq_cst) const noexcept
1115:       {
1115:  alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1115:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1115:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1115:  return *__ptr;
1115:       }
1115: 
1115:       _Tp
1115:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1115:       {
1115:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1115:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1115:  __atomic_load(std::__addressof(_M_i), __ptr, int(__m));
1115:  return *__ptr;
1115:       }
1115: 
1115:       _Tp
1115:       exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1115:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1115:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1115:      __ptr, int(__m));
1115:  return *__ptr;
1115:       }
1115: 
1115:       _Tp
1115:       exchange(_Tp __i,
1115:         memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:         alignas(_Tp) unsigned char __buf[sizeof(_Tp)];
1115:  _Tp* __ptr = reinterpret_cast<_Tp*>(__buf);
1115:  __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
1115:      __ptr, int(__m));
1115:  return *__ptr;
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1115:        memory_order __f) noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange(std::__addressof(_M_i),
1115:       std::__addressof(__e),
1115:       std::__addressof(__i),
1115:       true, int(__s), int(__f));
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
1115:        memory_order __f) volatile noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange(std::__addressof(_M_i),
1115:       std::__addressof(__e),
1115:       std::__addressof(__i),
1115:       true, int(__s), int(__f));
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_weak(_Tp& __e, _Tp __i,
1115:        memory_order __m = memory_order_seq_cst) noexcept
1115:       { return compare_exchange_weak(__e, __i, __m,
1115:                                      __cmpexch_failure_order(__m)); }
1115: 
1115:       bool
1115:       compare_exchange_weak(_Tp& __e, _Tp __i,
1115:        memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return compare_exchange_weak(__e, __i, __m,
1115:                                      __cmpexch_failure_order(__m)); }
1115: 
1115:       bool
1115:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1115:          memory_order __f) noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange(std::__addressof(_M_i),
1115:       std::__addressof(__e),
1115:       std::__addressof(__i),
1115:       false, int(__s), int(__f));
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
1115:          memory_order __f) volatile noexcept
1115:       {
1115:  do { if (std::__is_constant_evaluated() && !bool(__is_valid_cmpexch_failure_order(__f))) __builtin_unreachable(); } while (false);
1115: 
1115:  return __atomic_compare_exchange(std::__addressof(_M_i),
1115:       std::__addressof(__e),
1115:       std::__addressof(__i),
1115:       false, int(__s), int(__f));
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_strong(_Tp& __e, _Tp __i,
1115:           memory_order __m = memory_order_seq_cst) noexcept
1115:       { return compare_exchange_strong(__e, __i, __m,
1115:                                        __cmpexch_failure_order(__m)); }
1115: 
1115:       bool
1115:       compare_exchange_strong(_Tp& __e, _Tp __i,
1115:        memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return compare_exchange_strong(__e, __i, __m,
1115:                                        __cmpexch_failure_order(__m)); }
1115: # 410 "/usr/include/c++/12/atomic" 3
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct atomic<_Tp*>
1115:     {
1115:       using value_type = _Tp*;
1115:       using difference_type = ptrdiff_t;
1115: 
1115:       typedef _Tp* __pointer_type;
1115:       typedef __atomic_base<_Tp*> __base_type;
1115:       __base_type _M_b;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { }
1115: 
1115:       operator __pointer_type() const noexcept
1115:       { return __pointer_type(_M_b); }
1115: 
1115:       operator __pointer_type() const volatile noexcept
1115:       { return __pointer_type(_M_b); }
1115: 
1115:       __pointer_type
1115:       operator=(__pointer_type __p) noexcept
1115:       { return _M_b.operator=(__p); }
1115: 
1115:       __pointer_type
1115:       operator=(__pointer_type __p) volatile noexcept
1115:       { return _M_b.operator=(__p); }
1115: 
1115:       __pointer_type
1115:       operator++(int) noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b++;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator++(int) volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b++;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator--(int) noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b--;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator--(int) volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b--;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator++() noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return ++_M_b;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator++() volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return ++_M_b;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator--() noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return --_M_b;
1115:       }
1115: 
1115:       __pointer_type
1115:       operatoc_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept
1412:     { return __a->load(__m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_load_explicit(const volatile atomic<_ITp>* __a,
1412:     memory_order __m) noexcept
1412:     { return __a->load(__m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_exchange_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1412:         memory_order __m) noexcept
1412:     { return __a->exchange(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_exchange_explicit(volatile atomic<_ITp>* __a,
1412:         __atomic_val_t<_ITp> __i,
1412:         memory_order __m) noexcept
1412:     { return __a->exchange(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a,
1412:        __atomic_val_t<_ITp>* __i1,
1412:        __atomic_val_t<_ITp> __i2,
1412:        memory_order __m1,
1412:        memory_order __m2) noexcept
1412:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a,
1412:        __atomic_val_t<_ITp>* __i1,
1412:        __atomic_val_t<_ITp> __i2,
1412:        memory_order __m1,
1412:        memory_order __m2) noexcept
1412:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a,
1412:          __atomic_val_t<_ITp>* __i1,
1412:          __atomic_val_t<_ITp> __i2,
1412:          memory_order __m1,
1412:          memory_order __m2) noexcept
1412:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a,
1412:          __atomic_val_t<_ITp>* __i1,
1412:          __atomic_val_t<_ITp> __i2,
1412:          memory_order __m1,
1412:          memory_order __m2) noexcept
1412:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1412: 
1412: 
1412:   template<typename _ITp>
1412:     inline void
1412:     atomic_store(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1412:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline void
1412:     atomic_store(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1412:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_load(const atomic<_ITp>* __a) noexcept
1412:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_load(const volatile atomic<_ITp>* __a) noexcept
1412:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_exchange(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_exchange(volatile atomic<_ITp>* __a,
1412:       __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_weak(atomic<_ITp>* __a,
1412:      __atomic_val_t<_ITp>* __i1,
1412:      __atomic_val_t<_ITp> __i2) noexcept
1412:     {
1412:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1412:          memory_order_seq_cst,
1412:          memory_order_seq_cst);
1412:     }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_weak(volatile atomic<_ITp>* __a,
1412:      __atomic_val_t<_ITp>* __i1,
1412:      __atomic_val_t<_ITp> __i2) noexcept
1412:     {
1412:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1412:          memory_order_seq_cst,
1412:          memory_order_seq_cst);
1412:     }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_strong(atomic<_ITp>* __a,
1412:        __atomic_val_t<_ITp>* __i1,
1412:        __atomic_val_t<_ITp> __i2) noexcept
1412:     {
1412:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1412:            memory_order_seq_cst,
1412:            memory_order_seq_cst);
1412:     }
1412: 
1412:   template<typename _ITp>
1412:     inline bool
1412:     atomic_compare_exchange_strong(volatile atomic<_ITp>* __a,
1412:        __atomic_val_t<_ITp>* __i1,
1412:        __atomic_val_t<_ITp> __i2) noexcept
1412:     {
1412:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1412:            memory_order_seq_cst,
1412:            memory_order_seq_cst);
1412:     }
1412: # 1451 "/usr/include/c++/12/atomic" 3
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_add_explicit(atomic<_ITp>* __a,
1412:          __atomic_diff_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_add(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_add_explicit(volatile atomic<_ITp>* __a,
1412:          __atomic_diff_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_add(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_sub_explicit(atomic<_ITp>* __a,
1412:          __atomic_diff_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_sub(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_sub_explicit(volatile atomic<_ITp>* __a,
1412:          __atomic_diff_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_sub(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_and_explicit(__atomic_base<_ITp>* __a,
1412:          __atomic_val_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_and(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a,
1412:          __atomic_val_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_and(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_or_explicit(__atomic_base<_ITp>* __a,
1412:         __atomic_val_t<_ITp> __i,
1412:         memory_order __m) noexcept
1412:     { return __a->fetch_or(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a,
1412:         __atomic_val_t<_ITp> __i,
1412:         memory_order __m) noexcept
1412:     { return __a->fetch_or(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a,
1412:          __atomic_val_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_xor(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a,
1412:          __atomic_val_t<_ITp> __i,
1412:          memory_order __m) noexcept
1412:     { return __a->fetch_xor(__i, __m); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_add(atomic<_ITp>* __a,
1412:        __atomic_diff_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_add(volatile atomic<_ITp>* __a,
1412:        __atomic_diff_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inlir--() volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return --_M_b;
1115:       }
1115: 
1115:       __pointer_type
1115:       operator+=(ptrdiff_t __d) noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.operator+=(__d);
1115:       }
1115: 
1115:       __pointer_type
1115:       operator+=(ptrdiff_t __d) volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.operator+=(__d);
1115:       }
1115: 
1115:       __pointer_type
1115:       operator-=(ptrdiff_t __d) noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.operator-=(__d);
1115:       }
1115: 
1115:       __pointer_type
1115:       operator-=(ptrdiff_t __d) volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.operator-=(__d);
1115:       }
1115: 
1115:       bool
1115:       is_lock_free() const noexcept
1115:       { return _M_b.is_lock_free(); }
1115: 
1115:       bool
1115:       is_lock_free() const volatile noexcept
1115:       { return _M_b.is_lock_free(); }
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free
1115:  = 2 == 2;
1115: 
1115: 
1115:       void
1115:       store(__pointer_type __p,
1115:      memory_order __m = memory_order_seq_cst) noexcept
1115:       { return _M_b.store(__p, __m); }
1115: 
1115:       void
1115:       store(__pointer_type __p,
1115:      memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return _M_b.store(__p, __m); }
1115: 
1115:       __pointer_type
1115:       load(memory_order __m = memory_order_seq_cst) const noexcept
1115:       { return _M_b.load(__m); }
1115: 
1115:       __pointer_type
1115:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
1115:       { return _M_b.load(__m); }
1115: 
1115:       __pointer_type
1115:       exchange(__pointer_type __p,
1115:         memory_order __m = memory_order_seq_cst) noexcept
1115:       { return _M_b.exchange(__p, __m); }
1115: 
1115:       __pointer_type
1115:       exchange(__pointer_type __p,
1115:         memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       { return _M_b.exchange(__p, __m); }
1115: 
1115:       bool
1115:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1115:        memory_order __m1, memory_order __m2) noexcept
1115:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1115: 
1115:       bool
1115:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1115:        memory_order __m1,
1115:        memory_order __m2) volatile noexcept
1115:       { return _M_b.compare_exchange_weak(__p1, __p2, __m1, __m2); }
1115: 
1115:       bool
1115:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1115:        memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  return compare_exchange_weak(__p1, __p2, __m,
1115:          __cmpexch_failure_order(__m));
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
1115:       memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  return compare_exchange_weak(__p1, __p2, __m,
1115:          __cmpexch_failure_order(__m));
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1115:          memory_order __m1, memory_order __m2) noexcept
1115:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1115: 
1115:       bool
1115:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1115:          memory_order __m1,
1115:          memory_order __m2) volatile noexcept
1115:       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
1115: 
1115:       bool
1115:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1115:          memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1115:          __cmpexch_failure_order(__m));
1115:       }
1115: 
1115:       bool
1115:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
1115:       memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115:  return _M_b.compare_exchange_strong(__p1, __p2, __m,
1115:          __cmpexch_failure_order(__m));
1115:       }
1115: # 665 "/usr/include/c++/12/atomic" 3
1115:       __pointer_type
1115:       fetch_add(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.fetch_add(__d, __m);
1115:       }
1115: 
1115:       __pointer_type
1115:       fetch_add(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.fetch_add(__d, __m);
1115:       }
1115: 
1115:       __pointer_type
1115:       fetch_sub(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.fetch_sub(__d, __m);
1115:       }
1115: 
1115:       __pointer_type
1115:       fetch_sub(ptrdiff_t __d,
1115:   memory_order __m = memory_order_seq_cst) volatile noexcept
1115:       {
1115: 
1115:  static_assert( is_object<_Tp>::value, "pointer to object type" );
1115: 
1115:  return _M_b.fetch_sub(__d, __m);
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115:   template<>
1115:     struct atomic<char> : __atomic_base<char>
1115:     {
1115:       typedef char __integral_type;
1115:       typedef __atomic_base<char> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<signed char> : __atomic_base<signed char>
1115:     {
1115:       typedef signed char __integral_type;
1115:       typedef __atomic_base<signed char> __base_type;
1115: 
1115:       atomic() noexcept= default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<unsigned char> : __atomic_base<unsigned char>
1115:     {
1115:       typedef unsigned char __integral_type;
1115:       typedef __atomic_base<unsigned char> __base_type;
1115: 
1115:       atomic() noexcept= default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     strune _ITp
1412:     atomic_fetch_sub(atomic<_ITp>* __a,
1412:        __atomic_diff_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_sub(volatile atomic<_ITp>* __a,
1412:        __atomic_diff_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_and(__atomic_base<_ITp>* __a,
1412:        __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_and(volatile __atomic_base<_ITp>* __a,
1412:        __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_or(__atomic_base<_ITp>* __a,
1412:       __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_or(volatile __atomic_base<_ITp>* __a,
1412:       __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_xor(__atomic_base<_ITp>* __a,
1412:        __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1412: 
1412:   template<typename _ITp>
1412:     inline _ITp
1412:     atomic_fetch_xor(volatile __atomic_base<_ITp>* __a,
1412:        __atomic_val_t<_ITp> __i) noexcept
1412:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1412: # 1649 "/usr/include/c++/12/atomic" 3
1412: 
1412: }
1412: # 7 "/usr/include/spdlog/details/null_mutex.h" 2 3 4
1412: 
1412: 
1412: 
1412: namespace spdlog {
1412: namespace details {
1412: struct null_mutex
1412: {
1412:     void lock() const {}
1412:     void unlock() const {}
1412:     bool try_lock() const
1412:     {
1412:         return true;
1412:     }
1412: };
1412: 
1412: struct null_atomic_int
1412: {
1412:     int value;
1412:     null_atomic_int() = default;
1412: 
1412:     explicit null_atomic_int(int new_value)
1412:         : value(new_value)
1412:     {}
1412: 
1412:     int load(std::memory_order = std::memory_order_relaxed) const
1412:     {
1412:         return value;
1412:     }
1412: 
1412:     void store(int new_value, std::memory_order = std::memory_order_relaxed)
1412:     {
1412:         value = new_value;
1412:     }
1412: 
1412:     int exchange(int new_value, std::memory_order = std::memory_order_relaxed)
1412:     {
1412:         std::swap(new_value, value);
1412:         return new_value;
1412:     }
1412: };
1412: 
1412: }
1412: }
1412: # 8 "/usr/include/spdlog/common.h" 2 3 4
1412: # 17 "/usr/include/spdlog/common.h" 3 4
1412: # 1 "/usr/include/c++/12/cstdio" 1 3 4
1412: # 39 "/usr/include/c++/12/cstdio" 3 4
1412:        
1412: # 40 "/usr/include/c++/12/cstdio" 3
1412: # 18 "/usr/include/spdlog/common.h" 2 3 4
1412: # 45 "/usr/include/spdlog/common.h" 3 4
1412: # 1 "/usr/include/spdlog/fmt/fmt.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412:        
1412: # 27 "/usr/include/spdlog/fmt/fmt.h" 3 4
1412: # 1 "/usr/include/fmt/core.h" 1 3 4
1412: # 11 "/usr/include/fmt/core.h" 3 4
1412: # 1 "/usr/include/c++/12/cstddef" 1 3 4
1412: # 42 "/usr/include/c++/12/cstddef" 3 4
1412:        
1412: # 43 "/usr/include/c++/12/cstddef" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1412: # 51 "/usr/include/c++/12/cstddef" 2 3
1412: 
1412: extern "C++"
1412: {
1412: 
1412: namespace std
1412: {
1412: 
1412:   using ::max_align_t;
1412: }
1412: 
1412: 
1412: 
1412: namespace std
1412: {
1412: 
1412: 
1412: 
1412: 
1412:   enum class byte : unsigned char {};
1412: 
1412:   template<typename _IntegerType> struct __byte_operand { };
1412:   template<> struct __byte_operand<bool> { using __type = byte; };
1412:   template<> struct __byte_operand<char> { using __type = byte; };
1412:   template<> struct __byte_operand<signed char> { using __type = byte; };
1412:   template<> struct __byte_operand<unsigned char> { using __type = byte; };
1412:   template<> struct __byte_operand<wchar_t> { using __type = byte; };
1412: 
1412: 
1412: 
1412:   template<> struct __byte_operand<char16_t> { using __type = byte; };
1412:   template<> struct __byte_operand<char32_t> { using __type = byte; };
1412:   template<> struct __byte_operand<short> { using __type = byte; };
1412:   template<> struct __byte_operand<unsigned short> { using __type = byte; };
1412:   template<> struct __byte_operand<int> { using __type = byte; };
1412:   template<> struct __byte_operand<unsigned int> { using __type = byte; };
1412:   template<> struct __byte_operand<long> { using __type = byte; };
1412:   template<> struct __byte_operand<unsigned long> { using __type = byte; };
1412:   template<> struct __byte_operand<long long> { using __type = byte; };
1412:   template<> struct __byte_operand<unsigned long long> { using __type = byte; };
1412: # 108 "/usr/include/c++/12/cstddef" 3
1412:   template<typename _IntegerType>
1412:     struct __byte_operand<const _IntegerType>
1412:     : __byte_operand<_IntegerType> { };
1412:   template<typename _IntegerType>
1412:     struct __byte_operand<volatile _IntegerType>
1412:     : __byte_operand<_IntegerType> { };
1412:   template<typename _IntegerType>
1412:     struct __byte_operand<const volatile _IntegerType>
1412:     : __byte_operand<_IntegerType> { };
1412: 
1412:   template<typename _IntegerType>
1412:     using __byte_op_t = typename __byte_operand<_IntegerType>::__type;
1412: 
1412:   template<typename _IntegerType>
1412:     constexpr __byte_op_t<_IntegerType>
1412:     operator<<(byte __b, _IntegerType __shift) noexcept
1412:     { return (byte)(unsigned char)((unsigned)__b << __shift); }
1412: 
1412:   template<typename _IntegerType>
1412:     constexpr __byte_op_t<_IntegerType>
1412:     operator>>(byte __b, _IntegerType __shift) noexcept
1412:     { return (byte)(unsigned char)((unsigned)__b >> __shift); }
1412: 
1412:   constexpr byte
1412:   operator|(byte __l, byte __r) noexcept
1412:   { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); }
1412: 
1412:   constexpr byte
1412:   operator&(byte __l, byte __r) noexcept
1412:   { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); }
1412: 
1412:   constexpr byte
1412:   operator^(byte __l, byte __r) noexcept
1412:   { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); }
1412: 
1412:   constexpr byte
1412:   operator~(byte __b) noexcept
1412:   { return (byte)(unsigned char)~(unsigned)__b; }
1412: 
1412:   template<typename _IntegerType>
1412:     constexpr __byte_op_t<_IntegerType>&
1412:     operator<<=(byte& __b, _IntegerType __shift) noexcept
1412:     { return __b = __b << __shift; }
1412: 
1412:   template<typename _IntegerType>
1412:     constexpr __byte_op_t<_IntegerType>&
1412:     operator>>=(byte& __b, _IntegerType __shift) noexcept
1412:     { return __b = __b >> __shift; }
1412: 
1412:   constexpr byte&
1412:   operator|=(byte& __l, byte __r) noexcept
1412:   { return __l = __l | __r; }
1412: 
1412:   constexpr byte&
1412:   operator&=(byte& __l, byte __r) noexcept
1412:   { return __l = __l & __r; }
1412: 
1412:   constexpr byte&
1412:   operator^=(byte& __l, byte __r) noexcept
1412:   { return __l = __l ^ __r; }
1412: 
1412:   template<typename _IntegerType>
1412:     [[nodiscard]]
1412:     constexpr _IntegerType
1412:     to_integer(__byte_op_t<_IntegerType> __b) noexcept
1412:     { return _IntegerType(__b); }
1412: 
1412: 
1412: }
1412: 
1412: }
1412: # 12 "/usr/include/fmt/core.h" 2 3 4
1412: # 1 "/usr/include/c++/12/cstdio" 1 3 4
1412: # 39 "/usr/include/c++/12/cstdio" 3 4
1412:        
1412: # 40 "/usr/include/c++/12/cstdio" 3
1412: # 13 "/usr/include/fmt/core.h" 2 ct atomic<short> : __atomic_base<short>
1115:     {
1115:       typedef short __integral_type;
1115:       typedef __atomic_base<short> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<unsigned short> : __atomic_base<unsigned short>
1115:     {
1115:       typedef unsigned short __integral_type;
1115:       typedef __atomic_base<unsigned short> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<int> : __atomic_base<int>
1115:     {
1115:       typedef int __integral_type;
1115:       typedef __atomic_base<int> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 2 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<unsigned int> : __atomic_base<unsigned int>
1115:     {
1115:       typedef unsigned int __integral_type;
1115:       typedef __atomic_base<unsigned int> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 2 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<long> : __atomic_base<long>
1115:     {
1115:       typedef long __integral_type;
1115:       typedef __atomic_base<long> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 2 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<unsigned long> : __atomic_base<unsigned long>
1115:     {
1115:       typedef unsigned long __integral_type;
1115:       typedef __atomic_base<unsigned long> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 2 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<long long> : __atomic_base<long long>
1115:     {
1115:       typedef long long __integral_type;
1115:       typedef __atomic_base<long long> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<unsigned long long> : __atomic_base<unsigned long long>
1115:     {
1115:       typedef unsigned long long __integral_type;
1115:       typedef __atomic_base<unsigned long long> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<wchar_t> : __atomic_base<wchar_t>
1115:     {
1115:       typedef wchar_t __integral_type;
1115:       typedef __atomic_base<wchar_t> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free = 2 == 2;
1115: 
1115:     };
1115: # 1010 "/usr/include/c++/12/atomic" 3
1115:   template<>
1115:     struct atomic<char16_t> : __atomic_base<char16_t>
1115:     {
1115:       typedef char16_t __integral_type;
1115:       typedef __atomic_base<char16_t> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_type;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free
1115:  = 1 == 2;
1115: 
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct atomic<char32_t> : __atomic_base<char32_t>
1115:     {
1115:       typedef char32_t __integral_type;
1115:       typedef __atomic_base<char32_t> __base_type;
1115: 
1115:       atomic() noexcept = default;
1115:       ~atomic() noexcept = default;
1115:       atomic(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) = delete;
1115:       atomic& operator=(const atomic&) volatile = delete;
1115: 
1115:       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
1115: 
1115:       using __base_type::operator __integral_ty3 4
1412: # 1 "/usr/include/c++/12/cstring" 1 3 4
1412: # 39 "/usr/include/c++/12/cstring" 3 4
1412:        
1412: # 40 "/usr/include/c++/12/cstring" 3
1412: # 71 "/usr/include/c++/12/cstring" 3
1412: extern "C++"
1412: {
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412:   using ::memchr;
1412:   using ::memcmp;
1412:   using ::memcpy;
1412:   using ::memmove;
1412:   using ::memset;
1412:   using ::strcat;
1412:   using ::strcmp;
1412:   using ::strcoll;
1412:   using ::strcpy;
1412:   using ::strcspn;
1412:   using ::strerror;
1412:   using ::strlen;
1412:   using ::strncat;
1412:   using ::strncmp;
1412:   using ::strncpy;
1412:   using ::strspn;
1412:   using ::strtok;
1412:   using ::strxfrm;
1412:   using ::strchr;
1412:   using ::strpbrk;
1412:   using ::strrchr;
1412:   using ::strstr;
1412: # 122 "/usr/include/c++/12/cstring" 3
1412: 
1412: }
1412: }
1412: # 14 "/usr/include/fmt/core.h" 2 3 4
1412: # 1 "/usr/include/c++/12/iterator" 1 3 4
1412: # 58 "/usr/include/c++/12/iterator" 3 4
1412:        
1412: # 59 "/usr/include/c++/12/iterator" 3
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/bits/stream_iterator.h" 1 3
1412: # 33 "/usr/include/c++/12/bits/stream_iterator.h" 3
1412:        
1412: # 34 "/usr/include/c++/12/bits/stream_iterator.h" 3
1412: 
1412: 
1412: 
1412: namespace std __attribute__ ((__visibility__ ("default")))
1412: {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: #pragma GCC diagnostic push
1412: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1412: 
1412: 
1412:   template<typename _Tp, typename _CharT = char,
1412:            typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
1412:     class istream_iterator
1412:     : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&>
1412:     {
1412:     public:
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412:       typedef basic_istream<_CharT, _Traits> istream_type;
1412: 
1412:     private:
1412:       istream_type* _M_stream;
1412:       _Tp _M_value;
1412: 
1412: 
1412: 
1412:       bool _M_ok;
1412: 
1412:     public:
1412: 
1412:       constexpr istream_iterator()
1412:       noexcept(is_nothrow_default_constructible<_Tp>::value)
1412:       : _M_stream(0), _M_value(), _M_ok(false) {}
1412: 
1412: 
1412:       istream_iterator(istream_type& __s)
1412:       : _M_stream(std::__addressof(__s)), _M_ok(true)
1412:       { _M_read(); }
1412: 
1412:       istream_iterator(const istream_iterator& __obj)
1412:       noexcept(is_nothrow_copy_constructible<_Tp>::value)
1412:       : _M_stream(__obj._M_stream), _M_value(__obj._M_value),
1412:         _M_ok(__obj._M_ok)
1412:       { }
1412: # 94 "/usr/include/c++/12/bits/stream_iterator.h" 3
1412:       istream_iterator& operator=(const istream_iterator&) = default;
1412:       ~istream_iterator() = default;
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       const _Tp&
1412:       operator*() const noexcept
1412:       {
1412: 
1412: 
1412:                         ;
1412:  return _M_value;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       const _Tp*
1412:       operator->() const noexcept
1412:       { return std::__addressof((operator*())); }
1412: 
1412:       istream_iterator&
1412:       operator++()
1412:       {
1412: 
1412: 
1412:                         ;
1412:  _M_read();
1412:  return *this;
1412:       }
1412: 
1412:       istream_iterator
1412:       operator++(int)
1412:       {
1412: 
1412: 
1412:                         ;
1412:  istream_iterator __tmp = *this;
1412:  _M_read();
1412:  return __tmp;
1412:       }
1412: 
1412:     private:
1412:       bool
1412:       _M_equal(const istream_iterator& __x) const noexcept
1412:       {
1412: 
1412: 
1412:  return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream);
1412:       }
1412: 
1412:       void
1412:       _M_read()
1412:       {
1412:         if (_M_stream && !(*_M_stream >> _M_value))
1412:           {
1412:             _M_stream = 0;
1412:             _M_ok = false;
1412:           }
1412:       }
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator==(const istream_iterator& __x, const istream_iterator& __y)
1412:       noexcept
1412:       { return __x._M_equal(__y); }
1412: 
1412: 
1412: 
1412: 
1412:       [[__nodiscard__]]
1412:       friend bool
1412:       operator!=(const istream_iterator& __x, const istream_iterator& __y)
1412:       noexcept
1412:       { return !__x._M_equal(__y); }
1412: # 177 "/usr/include/c++/12/bits/stream_iterator.h" 3
1412:     };
1412: # 190 "/usr/include/c++/12/bits/stream_iterator.h" 3
1412:   template<typename _Tp, typename _CharT = char,
1412:            typename _Traits = char_traits<_CharT> >
1412:     class ostream_iterator
1412:     : public iterator<output_iterator_tag, void, void, void, void>
1412:     {
1412:     public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412:       typedef _CharT char_type;
1412:       typedef _Traits traits_type;
1412:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1412: 
1412: 
1412:     private:
1412:       ostream_type* _M_stream;
1412:       const _CharT* _M_string;
1412: 
1412:     public:
1412: 
1412:       ostream_iterator(ostream_type& __s) noexcept
1412:       : _M_stream(std::__addressof(__s)), _M_string(0) {}
1412: # 225 "/usr/include/c++/12/bits/stream_iterator.h" 3
1412:       ostream_iterator(ostream_type& __s, const _CharT* __c) noexcept
1412:       : _M_stream(std::__addressof(__s)), _M_string(__c) { }
1412: 
1412: 
1412:       ostream_iterator(const ostream_iterator& __obj) noexcept
1412:       : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { }
1412: 
1412: 
1412:       ostream_iterator& operator=(const ostream_iterator&) = default;
1412: 
1412: 
1412: 
1412: 
1412:       ostream_iterator&
1412:       operator=(const _Tp& __value)
1412:       {
1412: 
1412: 
1412:                         ;
1412:  *_M_stream << __value;
1412:  if (_M_string)
1412:           *_M_stream << _M_string;
1412:  return *this;
1412:       }
1412: 
1412:       [[__nodiscard__]]
1412:       ostream_iterator&
1412:       operator*() noexcept
1412:       { return *this; }
1412: 
1412:       ostream_iterator&
1412:       operator++() noexcept
1412:       { return *this; }
1412: 
1412:       ostream_iterator&
1412:       operator++(int) noexcept
1412:       { return *this; }
1412:     };
1412: #pragma GCC diagnostic pop
1412: 
1412: 
1412: 
1412: 
1412: }
1412: # 66 "/usr/include/c++/12/iterator" 2 3
1412: # 15 "/usr/include/fmt/core.h" 2 3 4
1412: # 288 "/usr/include/fmt/core.h" 3 4
1412: 
1412: # 288 "/usr/include/fmt/core.h" 3 4
1412: #pragma GCC push_options
1412: # 288 "/usr/include/fmt/core.h" 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace fmt { inline namespace v9 {
1412: 
1412: 
1412: 
1412: template <bool B, typename T = void>
1412: using enable_if_t = typename std::enable_if<B, T>::type;
1412: template <bool B, typename T, typename F>
1412: using conditional_t = typename std::conditional<B, T, F>::type;
1412: template <bool B> using bool_constant = std::integral_constant<bool, B>;
1412: template <typename T>
1412: using remove_reference_t = typename std::remove_reference<T>::type;
1412: template <typename T>
1412: using remove_const_t = typename std::remove_const<T>::type;
1412: template <typename T>
1412: using remove_cvref_t = typename std::remove_cv<remove_reference_t<T>>::type;
1412: template <typename T> struct type_identity { using type = T; };
1412: template <typename T> using type_identity_t = typename type_identity<T>::type;
1412: template <typename T>
1412: using underlying_t = typename std::underlying_type<T>::type;
1412: 
1412: template <typename...> struct disjunction : std::false_type {};
1412: template <typename P> struct disjunction<P> : P {};
1412: template <typename P1, typename... Pn>
1412: struct disjunction<P1, Pn...>
1412:     : conditional_t<bool(P1::value), P1, disjunction<Pn...>> {};
1412: 
1412: template <typename...> struct conjunction : std::true_type {};
1412: template <typename P> struct conjunction<pe;
1115:       using __base_type::operator=;
1115: 
1115: 
1115:       static constexpr bool is_always_lock_free
1115:  = 2 == 2;
1115: 
1115:     };
1115: 
1115: 
1115: 
1115:   typedef atomic<bool> atomic_bool;
1115: 
1115: 
1115:   typedef atomic<char> atomic_char;
1115: 
1115: 
1115:   typedef atomic<signed char> atomic_schar;
1115: 
1115: 
1115:   typedef atomic<unsigned char> atomic_uchar;
1115: 
1115: 
1115:   typedef atomic<short> atomic_short;
1115: 
1115: 
1115:   typedef atomic<unsigned short> atomic_ushort;
1115: 
1115: 
1115:   typedef atomic<int> atomic_int;
1115: 
1115: 
1115:   typedef atomic<unsigned int> atomic_uint;
1115: 
1115: 
1115:   typedef atomic<long> atomic_long;
1115: 
1115: 
1115:   typedef atomic<unsigned long> atomic_ulong;
1115: 
1115: 
1115:   typedef atomic<long long> atomic_llong;
1115: 
1115: 
1115:   typedef atomic<unsigned long long> atomic_ullong;
1115: 
1115: 
1115:   typedef atomic<wchar_t> atomic_wchar_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   typedef atomic<char16_t> atomic_char16_t;
1115: 
1115: 
1115:   typedef atomic<char32_t> atomic_char32_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   typedef atomic<int8_t> atomic_int8_t;
1115: 
1115: 
1115:   typedef atomic<uint8_t> atomic_uint8_t;
1115: 
1115: 
1115:   typedef atomic<int16_t> atomic_int16_t;
1115: 
1115: 
1115:   typedef atomic<uint16_t> atomic_uint16_t;
1115: 
1115: 
1115:   typedef atomic<int32_t> atomic_int32_t;
1115: 
1115: 
1115:   typedef atomic<uint32_t> atomic_uint32_t;
1115: 
1115: 
1115:   typedef atomic<int64_t> atomic_int64_t;
1115: 
1115: 
1115:   typedef atomic<uint64_t> atomic_uint64_t;
1115: 
1115: 
1115: 
1115:   typedef atomic<int_least8_t> atomic_int_least8_t;
1115: 
1115: 
1115:   typedef atomic<uint_least8_t> atomic_uint_least8_t;
1115: 
1115: 
1115:   typedef atomic<int_least16_t> atomic_int_least16_t;
1115: 
1115: 
1115:   typedef atomic<uint_least16_t> atomic_uint_least16_t;
1115: 
1115: 
1115:   typedef atomic<int_least32_t> atomic_int_least32_t;
1115: 
1115: 
1115:   typedef atomic<uint_least32_t> atomic_uint_least32_t;
1115: 
1115: 
1115:   typedef atomic<int_least64_t> atomic_int_least64_t;
1115: 
1115: 
1115:   typedef atomic<uint_least64_t> atomic_uint_least64_t;
1115: 
1115: 
1115: 
1115:   typedef atomic<int_fast8_t> atomic_int_fast8_t;
1115: 
1115: 
1115:   typedef atomic<uint_fast8_t> atomic_uint_fast8_t;
1115: 
1115: 
1115:   typedef atomic<int_fast16_t> atomic_int_fast16_t;
1115: 
1115: 
1115:   typedef atomic<uint_fast16_t> atomic_uint_fast16_t;
1115: 
1115: 
1115:   typedef atomic<int_fast32_t> atomic_int_fast32_t;
1115: 
1115: 
1115:   typedef atomic<uint_fast32_t> atomic_uint_fast32_t;
1115: 
1115: 
1115:   typedef atomic<int_fast64_t> atomic_int_fast64_t;
1115: 
1115: 
1115:   typedef atomic<uint_fast64_t> atomic_uint_fast64_t;
1115: 
1115: 
1115: 
1115: 
1115:   typedef atomic<intptr_t> atomic_intptr_t;
1115: 
1115: 
1115:   typedef atomic<uintptr_t> atomic_uintptr_t;
1115: 
1115: 
1115:   typedef atomic<size_t> atomic_size_t;
1115: 
1115: 
1115:   typedef atomic<ptrdiff_t> atomic_ptrdiff_t;
1115: 
1115: 
1115: 
1115:   typedef atomic<intmax_t> atomic_intmax_t;
1115: 
1115: 
1115:   typedef atomic<uintmax_t> atomic_uintmax_t;
1115: 
1115: 
1115: 
1115:   inline bool
1115:   atomic_flag_test_and_set_explicit(atomic_flag* __a,
1115:         memory_order __m) noexcept
1115:   { return __a->test_and_set(__m); }
1115: 
1115:   inline bool
1115:   atomic_flag_test_and_set_explicit(volatile atomic_flag* __a,
1115:         memory_order __m) noexcept
1115:   { return __a->test_and_set(__m); }
1115: 
1115:   inline void
1115:   atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept
1115:   { __a->clear(__m); }
1115: 
1115:   inline void
1115:   atomic_flag_clear_explicit(volatile atomic_flag* __a,
1115:         memory_order __m) noexcept
1115:   { __a->clear(__m); }
1115: 
1115:   inline bool
1115:   atomic_flag_test_and_set(atomic_flag* __a) noexcept
1115:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
1115: 
1115:   inline bool
1115:   atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept
1115:   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
1115: 
1115:   inline void
1115:   atomic_flag_clear(atomic_flag* __a) noexcept
1115:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1115: 
1115:   inline void
1115:   atomic_flag_clear(volatile atomic_flag* __a) noexcept
1115:   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     using __atomic_val_t = __type_identity_t<_Tp>;
1115:   template<typename _Tp>
1115:     using __atomic_diff_t = typename atomic<_Tp>::difference_type;
1115: 
1115: 
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_is_lock_free(const atomic<_ITp>* __a) noexcept
1115:     { return __a->is_lock_free(); }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept
1115:     { return __a->is_lock_free(); }
1115: 
1115:   template<typename _ITp>
1115:     inline void
1115:     atomic_init(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1115:     { __a->store(__i, memory_order_relaxed); }
1115: 
1115:   template<typename _ITp>
1115:     inline void
1115:     atomic_init(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1115:     { __a->store(__i, memory_order_relaxed); }
1115: 
1115:   template<typename _ITp>
1115:     inline void
1115:     atomic_store_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1115:      memory_order __m) noexcept
1115:     { __a->store(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline void
1115:     atomic_store_explicit(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1115:      memory_order __m) noexcept
1115:     { __a->store(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept
1115:     { return __a->load(__m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_load_explicit(const volatile atomic<_ITp>* __a,
1115:     memory_order __m) noexcept
1115:     { return __a->load(__m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_exchange_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i,
1115:         memory_order __m) noexcept
1115:     { return __a->exchange(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_exchange_explicit(volatile atomic<_ITp>* __a,
1115:         __atomic_val_t<_ITp> __i,
1115:         memory_order __m) noexcept
1115:     { return __a->exchange(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a,
1115:        __atomic_val_t<_ITp>* __i1,
1115:        __atomic_val_t<_ITp> __i2,
1115:        memory_order __m1,
1115:        memory_order __m2) noexcept
1115:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a,
1115:        __atomic_val_t<_ITp>* __i1,
1115:        __atomic_val_t<_ITp> __i2,
1115:        memory_order __m1,
1115:        memory_order __m2) noexcept
1115:     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a,
1115:          __atomic_val_t<_ITp>* __i1,
1115:          __atomic_val_t<_ITp> __i2,
1115:          memory_order __m1,
1115:          memory_order __m2) noexcept
1115:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a,
1115:          __atomic_val_t<_ITp>* __i1,
1115:          __atomic_val_t<_ITp> __i2,
1115:          memory_order __m1,
1115:          memory_order __m2) nP> : P {};
1412: template <typename P1, typename... Pn>
1412: struct conjunction<P1, Pn...>
1412:     : conditional_t<bool(P1::value), conjunction<Pn...>, P1> {};
1412: 
1412: struct monostate {
1412:   constexpr monostate() {}
1412: };
1412: # 338 "/usr/include/fmt/core.h" 3 4
1412: namespace detail {
1412: 
1412: 
1412: 
1412: 
1412: template <typename... T> constexpr void ignore_unused(const T&...) {}
1412: 
1412: constexpr inline __attribute__((always_inline)) auto is_constant_evaluated(
1412:     bool default_value = false) noexcept -> bool {
1412: 
1412: 
1412: 
1412: 
1412:   return default_value;
1412: 
1412: }
1412: 
1412: 
1412: template <typename T> constexpr inline __attribute__((always_inline)) auto const_check(T value) -> T {
1412:   return value;
1412: }
1412: 
1412: [[noreturn]] void assert_fail(const char* file, int line,
1412:                                       const char* message);
1412: # 377 "/usr/include/fmt/core.h" 3 4
1412: template <typename Char> using std_string_view = std::basic_string_view<Char>;
1412: # 399 "/usr/include/fmt/core.h" 3 4
1412: enum class int128_opt {};
1412: enum class uint128_opt {};
1412: 
1412: template <typename T> auto convert_for_visit(T) -> monostate { return {}; }
1412: 
1412: 
1412: 
1412: template <typename Int>
1412: constexpr auto to_unsigned(Int value) ->
1412:     typename std::make_unsigned<Int>::type {
1412:   ::fmt::detail::ignore_unused((std::is_unsigned<Int>::value || value >= 0), ("negative value"));
1412:   return static_cast<typename std::make_unsigned<Int>::type>(value);
1412: }
1412: 
1412:  constexpr unsigned char micro[] = "\u00B5";
1412: 
1412: constexpr auto is_utf8() -> bool {
1412: 
1412:   using uchar = unsigned char;
1412:   return !0 || (sizeof(micro) == 3 && uchar(micro[0]) == 0xC2 &&
1412:                          uchar(micro[1]) == 0xB5);
1412: }
1412: }
1412: # 430 "/usr/include/fmt/core.h" 3 4
1412: template <typename Char> class basic_string_view {
1412:  private:
1412:   const Char* data_;
1412:   size_t size_;
1412: 
1412:  public:
1412:   using value_type = Char;
1412:   using iterator = const Char*;
1412: 
1412:   constexpr basic_string_view() noexcept : data_(nullptr), size_(0) {}
1412: 
1412: 
1412:   constexpr basic_string_view(const Char* s, size_t count) noexcept
1412:       : data_(s), size_(count) {}
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr
1412:   inline __attribute__((always_inline))
1412:   basic_string_view(const Char* s)
1412:       : data_(s),
1412:         size_(detail::const_check(std::is_same<Char, char>::value &&
1412:                                   !detail::is_constant_evaluated(true))
1412:                   ? std::strlen(reinterpret_cast<const char*>(s))
1412:                   : std::char_traits<Char>::length(s)) {}
1412: 
1412: 
1412:   template <typename Traits, typename Alloc>
1412:   constexpr basic_string_view(
1412:       const std::basic_string<Char, Traits, Alloc>& s) noexcept
1412:       : data_(s.data()), size_(s.size()) {}
1412: 
1412:   template <typename S, enable_if_t<(std::is_same< S, detail::std_string_view<Char>>::value), int> = 0
1412:                                                                                >
1412:   constexpr basic_string_view(S s) noexcept
1412:       : data_(s.data()), size_(s.size()) {}
1412: 
1412: 
1412:   constexpr auto data() const noexcept -> const Char* { return data_; }
1412: 
1412: 
1412:   constexpr auto size() const noexcept -> size_t { return size_; }
1412: 
1412:   constexpr auto begin() const noexcept -> iterator { return data_; }
1412:   constexpr auto end() const noexcept -> iterator { return data_ + size_; }
1412: 
1412:   constexpr auto operator[](size_t pos) const noexcept -> const Char& {
1412:     return data_[pos];
1412:   }
1412: 
1412:   constexpr void remove_prefix(size_t n) noexcept {
1412:     data_ += n;
1412:     size_ -= n;
1412:   }
1412: 
1412: 
1412:   constexpr auto compare(basic_string_view other) const -> int {
1412:     size_t str_size = size_ < other.size_ ? size_ : other.size_;
1412:     int result = std::char_traits<Char>::compare(data_, other.data_, str_size);
1412:     if (result == 0)
1412:       result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
1412:     return result;
1412:   }
1412: 
1412:   constexpr friend auto operator==(basic_string_view lhs,
1412:                                                    basic_string_view rhs)
1412:       -> bool {
1412:     return lhs.compare(rhs) == 0;
1412:   }
1412:   friend auto operator!=(basic_string_view lhs, basic_string_view rhs) -> bool {
1412:     return lhs.compare(rhs) != 0;
1412:   }
1412:   friend auto operator<(basic_string_view lhs, basic_string_view rhs) -> bool {
1412:     return lhs.compare(rhs) < 0;
1412:   }
1412:   friend auto operator<=(basic_string_view lhs, basic_string_view rhs) -> bool {
1412:     return lhs.compare(rhs) <= 0;
1412:   }
1412:   friend auto operator>(basic_string_view lhs, basic_string_view rhs) -> bool {
1412:     return lhs.compare(rhs) > 0;
1412:   }
1412:   friend auto operator>=(basic_string_view lhs, basic_string_view rhs) -> bool {
1412:     return lhs.compare(rhs) >= 0;
1412:   }
1412: };
1412: 
1412: using string_view = basic_string_view<char>;
1412: 
1412: 
1412: template <typename T> struct is_char : std::false_type {};
1412: template <> struct is_char<char> : std::true_type {};
1412: 
1412: namespace detail {
1412: 
1412: 
1412: struct compile_string {};
1412: 
1412: template <typename S>
1412: struct is_compile_string : std::is_base_of<compile_string, S> {};
1412: 
1412: 
1412: template <typename Char, enable_if_t<(is_char<Char>::value), int> = 0>
1412: inline __attribute__((always_inline)) auto to_string_view(const Char* s) -> basic_string_view<Char> {
1412:   return s;
1412: }
1412: template <typename Char, typename Traits, typename Alloc>
1412: inline auto to_string_view(const std::basic_string<Char, Traits, Alloc>& s)
1412:     -> basic_string_view<Char> {
1412:   return s;
1412: }
1412: template <typename Char>
1412: constexpr auto to_string_view(basic_string_view<Char> s)
1412:     -> basic_string_view<Char> {
1412:   return s;
1412: }
1412: template <typename Char,
1412:           enable_if_t<(!std::is_empty<std_string_view<Char>>::value), int> = 0>
1412: inline auto to_string_view(std_string_view<Char> s) -> basic_string_view<Char> {
1412:   return s;
1412: }
1412: template <typename S, enable_if_t<(is_compile_string<S>::value), int> = 0>
1412: constexpr auto to_string_view(const S& s)
1412:     -> basic_string_view<typename S::char_type> {
1412:   return basic_string_view<typename S::char_type>(s);
1412: }
1412: void to_string_view(...);
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename S>
1412: struct is_string : std::is_class<decltype(to_string_view(std::declval<S>()))> {
1412: };
1412: 
1412: template <typename S, typename = void> struct char_t_impl {};
1412: template <typename S> struct char_t_impl<S, enable_if_t<is_string<S>::value>> {
1412:   using result = decltype(to_string_view(std::declval<S>()));
1412:   using type = typename result::value_type;
1412: };
1412: 
1412: enum class type {
1412:   none_type,
1412: 
1412:   int_type,
1412:   uint_type,
1412:   long_long_type,
1412:   ulong_long_type,
1412:   int128_type,
1412:   uint128_type,
1412:   bool_type,
1412:   char_type,
1412:   last_integer_type = char_type,
1412: 
1412:   float_type,
1412:   double_type,
1412:   long_double_type,
1412:   last_numeric_type = long_double_type,
1412:   cstring_type,
1412:   string_type,
1412:   pointer_type,
1412:   custom_type
1412: };
1412: 
1412: 
1412: template <typename T, typename Char>
1412: struct type_constant : std::integral_constant<type, type::custom_type> {};
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename Char> struct type_constant<int, Char> : std::integral_constant<type, type::int_type> {};
1412: template <typename Char> struct type_constant<unsigned, Char> : std::integral_constant<type, type::uint_type> {};
1412: template <typename Char> struct type_constant<long long, Char> : std::integral_constant<type, type::long_long_type> {};
1412: template <typenaoexcept
1115:     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
1115: 
1115: 
1115:   template<typename _ITp>
1115:     inline void
1115:     atomic_store(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1115:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline void
1115:     atomic_store(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1115:     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_load(const atomic<_ITp>* __a) noexcept
1115:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_load(const volatile atomic<_ITp>* __a) noexcept
1115:     { return atomic_load_explicit(__a, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_exchange(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_exchange(volatile atomic<_ITp>* __a,
1115:       __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_weak(atomic<_ITp>* __a,
1115:      __atomic_val_t<_ITp>* __i1,
1115:      __atomic_val_t<_ITp> __i2) noexcept
1115:     {
1115:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1115:          memory_order_seq_cst,
1115:          memory_order_seq_cst);
1115:     }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_weak(volatile atomic<_ITp>* __a,
1115:      __atomic_val_t<_ITp>* __i1,
1115:      __atomic_val_t<_ITp> __i2) noexcept
1115:     {
1115:       return atomic_compare_exchange_weak_explicit(__a, __i1, __i2,
1115:          memory_order_seq_cst,
1115:          memory_order_seq_cst);
1115:     }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_strong(atomic<_ITp>* __a,
1115:        __atomic_val_t<_ITp>* __i1,
1115:        __atomic_val_t<_ITp> __i2) noexcept
1115:     {
1115:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1115:            memory_order_seq_cst,
1115:            memory_order_seq_cst);
1115:     }
1115: 
1115:   template<typename _ITp>
1115:     inline bool
1115:     atomic_compare_exchange_strong(volatile atomic<_ITp>* __a,
1115:        __atomic_val_t<_ITp>* __i1,
1115:        __atomic_val_t<_ITp> __i2) noexcept
1115:     {
1115:       return atomic_compare_exchange_strong_explicit(__a, __i1, __i2,
1115:            memory_order_seq_cst,
1115:            memory_order_seq_cst);
1115:     }
1115: # 1451 "/usr/include/c++/12/atomic" 3
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_add_explicit(atomic<_ITp>* __a,
1115:          __atomic_diff_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_add(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_add_explicit(volatile atomic<_ITp>* __a,
1115:          __atomic_diff_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_add(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_sub_explicit(atomic<_ITp>* __a,
1115:          __atomic_diff_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_sub(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_sub_explicit(volatile atomic<_ITp>* __a,
1115:          __atomic_diff_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_sub(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_and_explicit(__atomic_base<_ITp>* __a,
1115:          __atomic_val_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_and(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a,
1115:          __atomic_val_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_and(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_or_explicit(__atomic_base<_ITp>* __a,
1115:         __atomic_val_t<_ITp> __i,
1115:         memory_order __m) noexcept
1115:     { return __a->fetch_or(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a,
1115:         __atomic_val_t<_ITp> __i,
1115:         memory_order __m) noexcept
1115:     { return __a->fetch_or(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a,
1115:          __atomic_val_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_xor(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a,
1115:          __atomic_val_t<_ITp> __i,
1115:          memory_order __m) noexcept
1115:     { return __a->fetch_xor(__i, __m); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_add(atomic<_ITp>* __a,
1115:        __atomic_diff_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_add(volatile atomic<_ITp>* __a,
1115:        __atomic_diff_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_sub(atomic<_ITp>* __a,
1115:        __atomic_diff_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_sub(volatile atomic<_ITp>* __a,
1115:        __atomic_diff_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_and(__atomic_base<_ITp>* __a,
1115:        __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_and(volatile __atomic_base<_ITp>* __a,
1115:        __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_or(__atomic_base<_ITp>* __a,
1115:       __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_or(volatile __atomic_base<_ITp>* __a,
1115:       __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_xor(__atomic_base<_ITp>* __a,
1115:        __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1115: 
1115:   template<typename _ITp>
1115:     inline _ITp
1115:     atomic_fetch_xor(volatile __atomic_base<_ITp>* __a,
1115:        __atomic_val_t<_ITp> __i) noexcept
1115:     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
1115: # 1649 "/usr/include/c++/12/atomic" 3
1115: 
1115: }
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1115: # 1 "/usr/include/c++/12/future" 1 3
1115: # 32 "/usr/include/c++/12/future" 3
1115:        
1115: # 33 "/usr/include/c++/12/futume Char> struct type_constant<unsigned long long, Char> : std::integral_constant<type, type::ulong_long_type> {};
1412: template <typename Char> struct type_constant<int128_opt, Char> : std::integral_constant<type, type::int128_type> {};
1412: template <typename Char> struct type_constant<uint128_opt, Char> : std::integral_constant<type, type::uint128_type> {};
1412: template <typename Char> struct type_constant<bool, Char> : std::integral_constant<type, type::bool_type> {};
1412: template <typename Char> struct type_constant<Char, Char> : std::integral_constant<type, type::char_type> {};
1412: template <typename Char> struct type_constant<float, Char> : std::integral_constant<type, type::float_type> {};
1412: template <typename Char> struct type_constant<double, Char> : std::integral_constant<type, type::double_type> {};
1412: template <typename Char> struct type_constant<long double, Char> : std::integral_constant<type, type::long_double_type> {};
1412: template <typename Char> struct type_constant<const Char*, Char> : std::integral_constant<type, type::cstring_type> {};
1412: template <typename Char> struct type_constant<basic_string_view<Char>, Char> : std::integral_constant<type, type::string_type> {};
1412: template <typename Char> struct type_constant<const void*, Char> : std::integral_constant<type, type::pointer_type> {};
1412: 
1412: constexpr bool is_integral_type(type t) {
1412:   return t > type::none_type && t <= type::last_integer_type;
1412: }
1412: 
1412: constexpr bool is_arithmetic_type(type t) {
1412:   return t > type::none_type && t <= type::last_numeric_type;
1412: }
1412: 
1412: [[noreturn]] void throw_format_error(const char* message);
1412: 
1412: struct error_handler {
1412:   constexpr error_handler() = default;
1412:   constexpr error_handler(const error_handler&) = default;
1412: 
1412: 
1412:   [[noreturn]] void on_error(const char* message) {
1412:     throw_format_error(message);
1412:   }
1412: };
1412: }
1412: 
1412: 
1412: template <typename S> using char_t = typename detail::char_t_impl<S>::type;
1412: # 653 "/usr/include/fmt/core.h" 3 4
1412: template <typename Char, typename ErrorHandler = detail::error_handler>
1412: class basic_format_parse_context : private ErrorHandler {
1412:  private:
1412:   basic_string_view<Char> format_str_;
1412:   int next_arg_id_;
1412: 
1412:   constexpr void do_check_arg_id(int id);
1412: 
1412:  public:
1412:   using char_type = Char;
1412:   using iterator = typename basic_string_view<Char>::iterator;
1412: 
1412:   explicit constexpr basic_format_parse_context(
1412:       basic_string_view<Char> format_str, ErrorHandler eh = {},
1412:       int next_arg_id = 0)
1412:       : ErrorHandler(eh), format_str_(format_str), next_arg_id_(next_arg_id) {}
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr auto begin() const noexcept -> iterator {
1412:     return format_str_.begin();
1412:   }
1412: 
1412: 
1412: 
1412: 
1412:   constexpr auto end() const noexcept -> iterator { return format_str_.end(); }
1412: 
1412: 
1412:   constexpr void advance_to(iterator it) {
1412:     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr auto next_arg_id() -> int {
1412:     if (next_arg_id_ < 0) {
1412:       on_error("cannot switch from manual to automatic argument indexing");
1412:       return 0;
1412:     }
1412:     int id = next_arg_id_++;
1412:     do_check_arg_id(id);
1412:     return id;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr void check_arg_id(int id) {
1412:     if (next_arg_id_ > 0) {
1412:       on_error("cannot switch from automatic to manual argument indexing");
1412:       return;
1412:     }
1412:     next_arg_id_ = -1;
1412:     do_check_arg_id(id);
1412:   }
1412:   constexpr void check_arg_id(basic_string_view<Char>) {}
1412:   constexpr void check_dynamic_spec(int arg_id);
1412: 
1412:   constexpr void on_error(const char* message) {
1412:     ErrorHandler::on_error(message);
1412:   }
1412: 
1412:   constexpr auto error_handler() const -> ErrorHandler { return *this; }
1412: };
1412: 
1412: using format_parse_context = basic_format_parse_context<char>;
1412: 
1412: namespace detail {
1412: 
1412: template <typename Char, typename ErrorHandler = detail::error_handler>
1412: class compile_parse_context
1412:     : public basic_format_parse_context<Char, ErrorHandler> {
1412:  private:
1412:   int num_args_;
1412:   const type* types_;
1412:   using base = basic_format_parse_context<Char, ErrorHandler>;
1412: 
1412:  public:
1412:   explicit constexpr compile_parse_context(
1412:       basic_string_view<Char> format_str, int num_args, const type* types,
1412:       ErrorHandler eh = {}, int next_arg_id = 0)
1412:       : base(format_str, eh, next_arg_id), num_args_(num_args), types_(types) {}
1412: 
1412:   constexpr auto num_args() const -> int { return num_args_; }
1412:   constexpr auto arg_type(int id) const -> type { return types_[id]; }
1412: 
1412:   constexpr auto next_arg_id() -> int {
1412:     int id = base::next_arg_id();
1412:     if (id >= num_args_) this->on_error("argument not found");
1412:     return id;
1412:   }
1412: 
1412:   constexpr void check_arg_id(int id) {
1412:     base::check_arg_id(id);
1412:     if (id >= num_args_) this->on_error("argument not found");
1412:   }
1412:   using base::check_arg_id;
1412: 
1412:   constexpr void check_dynamic_spec(int arg_id) {
1412:     if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id]))
1412:       this->on_error("width/precision is not integer");
1412:   }
1412: };
1412: }
1412: 
1412: template <typename Char, typename ErrorHandler>
1412: constexpr void
1412: basic_format_parse_context<Char, ErrorHandler>::do_check_arg_id(int id) {
1412: 
1412: 
1412:   if (detail::is_constant_evaluated() && (12 * 100 + 2) >= 1200) {
1412:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1412:     if (id >= static_cast<context*>(this)->num_args())
1412:       on_error("argument not found");
1412:   }
1412: }
1412: 
1412: template <typename Char, typename ErrorHandler>
1412: constexpr void
1412: basic_format_parse_context<Char, ErrorHandler>::check_dynamic_spec(int arg_id) {
1412:   if (detail::is_constant_evaluated()) {
1412:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1412:     static_cast<context*>(this)->check_dynamic_spec(arg_id);
1412:   }
1412: }
1412: 
1412: template <typename Context> class basic_format_arg;
1412: template <typename Context> class basic_format_args;
1412: template <typename Context> class dynamic_format_arg_store;
1412: 
1412: 
1412: template <typename T, typename Char = char, typename Enable = void>
1412: struct formatter {
1412: 
1412:   formatter() = delete;
1412: };
1412: 
1412: 
1412: 
1412: template <typename T, typename Context>
1412: using has_formatter =
1412:     std::is_constructible<typename Context::template formatter_type<T>>;
1412: 
1412: 
1412: template <typename T> struct is_contiguous : std::false_type {};
1412: template <typename Char>
1412: struct is_contiguous<std::basic_string<Char>> : std::true_type {};
1412: 
1412: class appender;
1412: 
1412: namespace detail {
1412: 
1412: template <typename Context, typename T>
1412: constexpr auto has_const_formatter_impl(T*)
1412:     -> decltype(typename Context::template formatter_type<T>().format(
1412:                     std::declval<const T&>(), std::declval<Context&>()),
1412:                 true) {
1412:   return true;
1412: }
1412: template <typename Context>
1412: constexpr auto has_const_formatter_impl(...) -> bool {
1412:   return false;
1412: }
1412: template <typename T, typename Context>
1412: constexpr auto has_const_formatter() -> bool {
1412:   return has_const_formatter_impl<Context>(static_cast<T*>(nullptr));
1412: }
1412: 
1412: 
1412: template <typename Container>
1412: inline auto get_container(std::back_insert_iterator<Container> it)
1412:     -> Container& {
1412:   using base = std::back_insert_iterator<Container>;
1412:   struct accessor : base {
1412:     accessor(base b) : base(b) {}
1412:     using base::container;
1412:   };
1412:   rre" 3
1115: # 43 "/usr/include/c++/12/future" 3
1115: # 1 "/usr/include/c++/12/bits/atomic_futex.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/atomic_futex.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/atomic_futex.h" 3
1115: # 46 "/usr/include/c++/12/bits/atomic_futex.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   struct __atomic_futex_unsigned_base
1115:   {
1115: 
1115: 
1115:     bool
1115:     _M_futex_wait_until(unsigned *__addr, unsigned __val, bool __has_timeout,
1115:  chrono::seconds __s, chrono::nanoseconds __ns);
1115: 
1115: 
1115: 
1115:     bool
1115:     _M_futex_wait_until_steady(unsigned *__addr, unsigned __val,
1115:  bool __has_timeout, chrono::seconds __s, chrono::nanoseconds __ns);
1115: 
1115: 
1115:     static void _M_futex_notify_all(unsigned* __addr);
1115:   };
1115: 
1115:   template <unsigned _Waiter_bit = 0x80000000>
1115:   class __atomic_futex_unsigned : __atomic_futex_unsigned_base
1115:   {
1115:     typedef chrono::steady_clock __clock_t;
1115: 
1115: 
1115:     atomic<unsigned> _M_data;
1115: 
1115:   public:
1115:     explicit
1115:     __atomic_futex_unsigned(unsigned __data) : _M_data(__data)
1115:     { }
1115: 
1115:     inline __attribute__((__always_inline__)) unsigned
1115:     _M_load(memory_order __mo)
1115:     {
1115:       return _M_data.load(__mo) & ~_Waiter_bit;
1115:     }
1115: 
1115:   private:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     unsigned
1115:     _M_load_and_test_until(unsigned __assumed, unsigned __operand,
1115:  bool __equal, memory_order __mo, bool __has_timeout,
1115:  chrono::seconds __s, chrono::nanoseconds __ns)
1115:     {
1115:       for (;;)
1115:  {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    _M_data.fetch_or(_Waiter_bit, memory_order_relaxed);
1115:    bool __ret = _M_futex_wait_until((unsigned*)(void*)&_M_data,
1115:         __assumed | _Waiter_bit,
1115:         __has_timeout, __s, __ns);
1115: 
1115:    __assumed = _M_load(__mo);
1115:    if (!__ret || ((__operand == __assumed) == __equal))
1115:      return __assumed;
1115: 
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     unsigned
1115:     _M_load_and_test_until_steady(unsigned __assumed, unsigned __operand,
1115:  bool __equal, memory_order __mo, bool __has_timeout,
1115:  chrono::seconds __s, chrono::nanoseconds __ns)
1115:     {
1115:       for (;;)
1115:  {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    _M_data.fetch_or(_Waiter_bit, memory_order_relaxed);
1115:    bool __ret = _M_futex_wait_until_steady((unsigned*)(void*)&_M_data,
1115:         __assumed | _Waiter_bit,
1115:         __has_timeout, __s, __ns);
1115: 
1115:    __assumed = _M_load(__mo);
1115:    if (!__ret || ((__operand == __assumed) == __equal))
1115:      return __assumed;
1115: 
1115:  }
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     unsigned
1115:     _M_load_and_test(unsigned __assumed, unsigned __operand,
1115:  bool __equal, memory_order __mo)
1115:     {
1115:       return _M_load_and_test_until(__assumed, __operand, __equal, __mo,
1115:         false, {}, {});
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Dur>
1115:     unsigned
1115:     _M_load_and_test_until_impl(unsigned __assumed, unsigned __operand,
1115:  bool __equal, memory_order __mo,
1115:  const chrono::time_point<std::chrono::system_clock, _Dur>& __atime)
1115:     {
1115:       auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:       auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:       return _M_load_and_test_until(__assumed, __operand, __equal, __mo,
1115:    true, __s.time_since_epoch(), __ns);
1115:     }
1115: 
1115:     template<typename _Dur>
1115:     unsigned
1115:     _M_load_and_test_until_impl(unsigned __assumed, unsigned __operand,
1115:  bool __equal, memory_order __mo,
1115:  const chrono::time_point<std::chrono::steady_clock, _Dur>& __atime)
1115:     {
1115:       auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:       auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:       return _M_load_and_test_until_steady(__assumed, __operand, __equal, __mo,
1115:    true, __s.time_since_epoch(), __ns);
1115:     }
1115: 
1115:   public:
1115: 
1115:     inline __attribute__((__always_inline__)) unsigned
1115:     _M_load_when_not_equal(unsigned __val, memory_order __mo)
1115:     {
1115:       unsigned __i = _M_load(__mo);
1115:       if ((__i & ~_Waiter_bit) != __val)
1115:  return (__i & ~_Waiter_bit);
1115: 
1115:       return _M_load_and_test(__i, __val, false, __mo);
1115:     }
1115: 
1115:     inline __attribute__((__always_inline__)) void
1115:     _M_load_when_equal(unsigned __val, memory_order __mo)
1115:     {
1115:       unsigned __i = _M_load(__mo);
1115:       if ((__i & ~_Waiter_bit) == __val)
1115:  return;
1115: 
1115:       _M_load_and_test(__i, __val, true, __mo);
1115:     }
1115: 
1115: 
1115:     template<typename _Rep, typename _Period>
1115:       inline __attribute__((__always_inline__)) bool
1115:       _M_load_when_equal_for(unsigned __val, memory_order __mo,
1115:    const chrono::duration<_Rep, _Period>& __rtime)
1115:       {
1115:  using __dur = typename __clock_t::duration;
1115:  return _M_load_when_equal_until(__val, __mo,
1115:       __clock_t::now() + chrono::__detail::ceil<__dur>(__rtime));
1115:       }
1115: 
1115: 
1115:     template<typename _Clock, typename _Duration>
1115:       inline __attribute__((__always_inline__)) bool
1115:       _M_load_when_equal_until(unsigned __val, memory_order __mo,
1115:    const chrono::time_point<_Clock, _Duration>& __atime)
1115:       {
1115:  typename _Clock::time_point __c_entry = _Clock::now();
1115:  do {
1115:    const __clock_t::time_point __s_entry = __clock_t::now();
1115:    const auto __delta = __atime - __c_entry;
1115:    const auto __s_atime = __s_entry +
1115:        chrono::__detail::ceil<__clock_t::duration>(__delta);
1115:    if (_M_load_when_equal_until(__val, __mo, __s_atime))
1115:      return true;
1115:    __c_entry = _Clock::now();
1115:  } while (__c_entry < __atime);
1115:  return false;
1115:       }
1115: 
1115: 
1115:     template<typename _Duration>
1115:     inline __attribute__((__always_inline__)) bool
1115:     _M_load_when_equal_until(unsigned __val, memory_order __mo,
1115:  const chrono::time_point<std::chrono::system_clock, _Duration>& __atime)
1115:     {
1115:       unsigned __i = _M_load(__mo);
1115:       if ((__i & ~_Waiter_bit) == __val)
1115:  return true;
1115: 
1115:       __i = _M_load_and_test_until_impl(__i, __val, true, __mo, __atime);
1115:       return (__i & ~_Waiter_bit) == __val;
1115:     }
1115: 
1115: 
1115:     template<typename _Duration>
1115:     inline __attribute__((__always_inline__)) bool
1115:     _M_load_when_equal_until(unsigned __val, memory_order __mo,
1115:  const chrono::time_point<std::chrono::steady_clock, _Duration>& __atime)
1115:     {
1115:       unsigned __i = _M_load(__mo);
1115:       if ((__i & ~_Waiter_bit) == __val)
1115:  return true;
1115: 
1115:       __i = _M_load_and_test_until_impl(__i, __val, true, __mo, __atime);
1115:       return (__i & ~_Waiter_bit) == __val;
1115:     }
1115: 
1115:     inline __attribute__((__always_inline__)) void
1115:     _M_store_notify_all(unsigned __val, memory_order __mo)
1115:     {
1115:       unsigned* __futex = (unsigned *)(void *)&_M_data;
1115:       if (_M_data.exchange(__val, __mo) & _Waiter_bit)
1115:  _M_futex_notify_all(__futex);
1115:     }
1115:   };
1115: # 357 "/usr/include/c++/12/bits/atomic_futex.h" 3
1115: 
1115: }
1115: # 44 "/usr/include/c++/12/future" 2 3
1115: # 53 "/usr/include/c++/12/future" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 66 "/usr/include/c++/12/future" 3
1115:   enum class future_errc
1115:   {
1115:     future_already_retrieved = 1,
1115:     promise_already_satisfied,
1115:     no_state,
1115:     broken_promise
1115:   };
1115: 
1115: 
1115:   template<>
1115:     struct is_error_code_enum<future_errc> : public true_teturn *accessor(it).container;
1412: }
1412: 
1412: template <typename Char, typename InputIt, typename OutputIt>
1412: constexpr auto copy_str(InputIt begin, InputIt end, OutputIt out)
1412:     -> OutputIt {
1412:   while (begin != end) *out++ = static_cast<Char>(*begin++);
1412:   return out;
1412: }
1412: 
1412: template <typename Char, typename T, typename U,
1412:           enable_if_t<(std::is_same<remove_const_t<T>, U>::value&& is_char<U>::value), int> = 0
1412:                                                                             >
1412: constexpr auto copy_str(T* begin, T* end, U* out) -> U* {
1412:   if (is_constant_evaluated()) return copy_str<Char, T*, U*>(begin, end, out);
1412:   auto size = to_unsigned(end - begin);
1412:   memcpy(out, begin, size * sizeof(U));
1412:   return out + size;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename T> class buffer {
1412:  private:
1412:   T* ptr_;
1412:   size_t size_;
1412:   size_t capacity_;
1412: 
1412:  protected:
1412: 
1412:  
1412:   buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {}
1412: 
1412:   buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept
1412:       : ptr_(p), size_(sz), capacity_(cap) {}
1412: 
1412:   ~buffer() = default;
1412:   buffer(buffer&&) = default;
1412: 
1412: 
1412:   constexpr void set(T* buf_data, size_t buf_capacity) noexcept {
1412:     ptr_ = buf_data;
1412:     capacity_ = buf_capacity;
1412:   }
1412: 
1412: 
1412:   virtual void grow(size_t capacity) = 0;
1412: 
1412:  public:
1412:   using value_type = T;
1412:   using const_reference = const T&;
1412: 
1412:   buffer(const buffer&) = delete;
1412:   void operator=(const buffer&) = delete;
1412: 
1412:   auto begin() noexcept -> T* { return ptr_; }
1412:   auto end() noexcept -> T* { return ptr_ + size_; }
1412: 
1412:   auto begin() const noexcept -> const T* { return ptr_; }
1412:   auto end() const noexcept -> const T* { return ptr_ + size_; }
1412: 
1412: 
1412:   constexpr auto size() const noexcept -> size_t { return size_; }
1412: 
1412: 
1412:   constexpr auto capacity() const noexcept -> size_t { return capacity_; }
1412: 
1412: 
1412:   constexpr auto data() noexcept -> T* { return ptr_; }
1412: 
1412: 
1412:   constexpr auto data() const noexcept -> const T* { return ptr_; }
1412: 
1412: 
1412:   void clear() { size_ = 0; }
1412: 
1412: 
1412: 
1412:   void try_resize(size_t count) {
1412:     try_reserve(count);
1412:     size_ = count <= capacity_ ? count : capacity_;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   void try_reserve(size_t new_capacity) {
1412:     if (new_capacity > capacity_) grow(new_capacity);
1412:   }
1412: 
1412:   void push_back(const T& value) {
1412:     try_reserve(size_ + 1);
1412:     ptr_[size_++] = value;
1412:   }
1412: 
1412: 
1412:   template <typename U> void append(const U* begin, const U* end);
1412: 
1412:   template <typename Idx> constexpr auto operator[](Idx index) -> T& {
1412:     return ptr_[index];
1412:   }
1412:   template <typename Idx>
1412:   constexpr auto operator[](Idx index) const -> const T& {
1412:     return ptr_[index];
1412:   }
1412: };
1412: 
1412: struct buffer_traits {
1412:   explicit buffer_traits(size_t) {}
1412:   auto count() const -> size_t { return 0; }
1412:   auto limit(size_t size) -> size_t { return size; }
1412: };
1412: 
1412: class fixed_buffer_traits {
1412:  private:
1412:   size_t count_ = 0;
1412:   size_t limit_;
1412: 
1412:  public:
1412:   explicit fixed_buffer_traits(size_t limit) : limit_(limit) {}
1412:   auto count() const -> size_t { return count_; }
1412:   auto limit(size_t size) -> size_t {
1412:     size_t n = limit_ > count_ ? limit_ - count_ : 0;
1412:     count_ += size;
1412:     return size < n ? size : n;
1412:   }
1412: };
1412: 
1412: 
1412: template <typename OutputIt, typename T, typename Traits = buffer_traits>
1412: class iterator_buffer final : public Traits, public buffer<T> {
1412:  private:
1412:   OutputIt out_;
1412:   enum { buffer_size = 256 };
1412:   T data_[buffer_size];
1412: 
1412:  protected:
1412:   void grow(size_t) override {
1412:     if (this->size() == buffer_size) flush();
1412:   }
1412: 
1412:   void flush() {
1412:     auto size = this->size();
1412:     this->clear();
1412:     out_ = copy_str<T>(data_, data_ + this->limit(size), out_);
1412:   }
1412: 
1412:  public:
1412:   explicit iterator_buffer(OutputIt out, size_t n = buffer_size)
1412:       : Traits(n), buffer<T>(data_, 0, buffer_size), out_(out) {}
1412:   iterator_buffer(iterator_buffer&& other)
1412:       : Traits(other), buffer<T>(data_, 0, buffer_size), out_(other.out_) {}
1412:   ~iterator_buffer() { flush(); }
1412: 
1412:   auto out() -> OutputIt {
1412:     flush();
1412:     return out_;
1412:   }
1412:   auto count() const -> size_t { return Traits::count() + this->size(); }
1412: };
1412: 
1412: template <typename T>
1412: class iterator_buffer<T*, T, fixed_buffer_traits> final
1412:     : public fixed_buffer_traits,
1412:       public buffer<T> {
1412:  private:
1412:   T* out_;
1412:   enum { buffer_size = 256 };
1412:   T data_[buffer_size];
1412: 
1412:  protected:
1412:   void grow(size_t) override {
1412:     if (this->size() == this->capacity()) flush();
1412:   }
1412: 
1412:   void flush() {
1412:     size_t n = this->limit(this->size());
1412:     if (this->data() == out_) {
1412:       out_ += n;
1412:       this->set(data_, buffer_size);
1412:     }
1412:     this->clear();
1412:   }
1412: 
1412:  public:
1412:   explicit iterator_buffer(T* out, size_t n = buffer_size)
1412:       : fixed_buffer_traits(n), buffer<T>(out, 0, n), out_(out) {}
1412:   iterator_buffer(iterator_buffer&& other)
1412:       : fixed_buffer_traits(other),
1412:         buffer<T>(std::move(other)),
1412:         out_(other.out_) {
1412:     if (this->data() != out_) {
1412:       this->set(data_, buffer_size);
1412:       this->clear();
1412:     }
1412:   }
1412:   ~iterator_buffer() { flush(); }
1412: 
1412:   auto out() -> T* {
1412:     flush();
1412:     return out_;
1412:   }
1412:   auto count() const -> size_t {
1412:     return fixed_buffer_traits::count() + this->size();
1412:   }
1412: };
1412: 
1412: template <typename T> class iterator_buffer<T*, T> final : public buffer<T> {
1412:  protected:
1412:   void grow(size_t) override {}
1412: 
1412:  public:
1412:   explicit iterator_buffer(T* out, size_t = 0) : buffer<T>(out, 0, ~size_t()) {}
1412: 
1412:   auto out() -> T* { return &*this->end(); }
1412: };
1412: 
1412: 
1412: template <typename Container>
1412: class iterator_buffer<std::back_insert_iterator<Container>,
1412:                       enable_if_t<is_contiguous<Container>::value,
1412:                                   typename Container::value_type>>
1412:     final : public buffer<typename Container::value_type> {
1412:  private:
1412:   Container& container_;
1412: 
1412:  protected:
1412:   void grow(size_t capacity) override {
1412:     container_.resize(capacity);
1412:     this->set(&container_[0], capacity);
1412:   }
1412: 
1412:  public:
1412:   explicit iterator_buffer(Container& c)
1412:       : buffer<typename Container::value_type>(c.size()), container_(c) {}
1412:   explicit iterator_buffer(std::back_insert_iterator<Container> out, size_t = 0)
1412:       : iterator_buffer(get_container(out)) {}
1412: 
1412:   auto out() -> std::back_insert_iterator<Container> {
1412:     return std::back_inserter(container_);
1412:   }
1412: };
1412: 
1412: 
1412: template <typename T = char> class counting_buffer final : public buffer<T> {
1412:  private:
1412:   enum { buffer_size = 256 };
1412:   T data_[buffer_size];
1412:   size_t count_ = 0;
1412: 
1412:  protected:
1412:   void grow(size_t) override {
1412:     if (this->size() != buffer_size) return;
1412:     count_ += this->size();
1412:     this->clear();
1412:   }
1412: 
1412:  public:
1412:   counting_buffer() : buffer<T>(data_, 0, buffer_size) {}
1412: 
1412:   auto count() -> size_t { return count_ + this->size(); }
1412: };
1412: 
1412: template <typename T>
1412: using buffer_appender = conditional_t<std::is_same<T, char>::value, appender,
1412: ype { };
1115: 
1115: 
1115:   const error_category&
1115:   future_category() noexcept;
1115: 
1115: 
1115:   inline error_code
1115:   make_error_code(future_errc __errc) noexcept
1115:   { return error_code(static_cast<int>(__errc), future_category()); }
1115: 
1115: 
1115:   inline error_condition
1115:   make_error_condition(future_errc __errc) noexcept
1115:   { return error_condition(static_cast<int>(__errc), future_category()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class future_error : public logic_error
1115:   {
1115:   public:
1115:     explicit
1115:     future_error(future_errc __errc)
1115:     : future_error(std::make_error_code(__errc))
1115:     { }
1115: 
1115:     virtual ~future_error() noexcept;
1115: 
1115:     virtual const char*
1115:     what() const noexcept;
1115: 
1115:     const error_code&
1115:     code() const noexcept { return _M_code; }
1115: 
1115:   private:
1115:     explicit
1115:     future_error(error_code __ec)
1115:     : logic_error("std::future_error: " + __ec.message()), _M_code(__ec)
1115:     { }
1115: 
1115:     friend void __throw_future_error(int);
1115: 
1115:     error_code _M_code;
1115:   };
1115: 
1115: 
1115:   template<typename _Res>
1115:     class future;
1115: 
1115:   template<typename _Res>
1115:     class shared_future;
1115: 
1115:   template<typename _Signature>
1115:     class packaged_task;
1115: 
1115:   template<typename _Res>
1115:     class promise;
1115: 
1115: 
1115:   enum class launch
1115:   {
1115:     async = 1,
1115:     deferred = 2
1115:   };
1115: 
1115:   constexpr launch operator&(launch __x, launch __y) noexcept
1115:   {
1115:     return static_cast<launch>(
1115:  static_cast<int>(__x) & static_cast<int>(__y));
1115:   }
1115: 
1115:   constexpr launch operator|(launch __x, launch __y) noexcept
1115:   {
1115:     return static_cast<launch>(
1115:  static_cast<int>(__x) | static_cast<int>(__y));
1115:   }
1115: 
1115:   constexpr launch operator^(launch __x, launch __y) noexcept
1115:   {
1115:     return static_cast<launch>(
1115:  static_cast<int>(__x) ^ static_cast<int>(__y));
1115:   }
1115: 
1115:   constexpr launch operator~(launch __x) noexcept
1115:   { return static_cast<launch>(~static_cast<int>(__x)); }
1115: 
1115:   inline launch& operator&=(launch& __x, launch __y) noexcept
1115:   { return __x = __x & __y; }
1115: 
1115:   inline launch& operator|=(launch& __x, launch __y) noexcept
1115:   { return __x = __x | __y; }
1115: 
1115:   inline launch& operator^=(launch& __x, launch __y) noexcept
1115:   { return __x = __x ^ __y; }
1115: 
1115: 
1115:   enum class future_status
1115:   {
1115:     ready,
1115:     timeout,
1115:     deferred
1115:   };
1115: 
1115: 
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     using __async_result_of = typename __invoke_result<
1115:       typename decay<_Fn>::type, typename decay<_Args>::type...>::type;
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     future<__async_result_of<_Fn, _Args...>>
1115:     async(launch __policy, _Fn&& __fn, _Args&&... __args);
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     future<__async_result_of<_Fn, _Args...>>
1115:     async(_Fn&& __fn, _Args&&... __args);
1115: 
1115: 
1115: 
1115: 
1115:   struct __future_base
1115:   {
1115: 
1115:     struct _Result_base
1115:     {
1115:       exception_ptr _M_error;
1115: 
1115:       _Result_base(const _Result_base&) = delete;
1115:       _Result_base& operator=(const _Result_base&) = delete;
1115: 
1115: 
1115:       virtual void _M_destroy() = 0;
1115: 
1115:       struct _Deleter
1115:       {
1115:  void operator()(_Result_base* __fr) const { __fr->_M_destroy(); }
1115:       };
1115: 
1115:     protected:
1115:       _Result_base();
1115:       virtual ~_Result_base();
1115:     };
1115: 
1115: 
1115:     template<typename _Res>
1115:       using _Ptr = unique_ptr<_Res, _Result_base::_Deleter>;
1115: 
1115: 
1115:     template<typename _Res>
1115:       struct _Result : _Result_base
1115:       {
1115:       private:
1115:  __gnu_cxx::__aligned_buffer<_Res> _M_storage;
1115:  bool _M_initialized;
1115: 
1115:       public:
1115:  typedef _Res result_type;
1115: 
1115:  _Result() noexcept : _M_initialized() { }
1115: 
1115:  ~_Result()
1115:  {
1115:    if (_M_initialized)
1115:      _M_value().~_Res();
1115:  }
1115: 
1115: 
1115:  _Res&
1115:  _M_value() noexcept { return *_M_storage._M_ptr(); }
1115: 
1115:  void
1115:  _M_set(const _Res& __res)
1115:  {
1115:    ::new (_M_storage._M_addr()) _Res(__res);
1115:    _M_initialized = true;
1115:  }
1115: 
1115:  void
1115:  _M_set(_Res&& __res)
1115:  {
1115:    ::new (_M_storage._M_addr()) _Res(std::move(__res));
1115:    _M_initialized = true;
1115:  }
1115: 
1115:       private:
1115:  void _M_destroy() { delete this; }
1115:     };
1115: 
1115: 
1115:     template<typename _Res, typename _Alloc>
1115:       struct _Result_alloc final : _Result<_Res>, _Alloc
1115:       {
1115:  using __allocator_type = __alloc_rebind<_Alloc, _Result_alloc>;
1115: 
1115:         explicit
1115:  _Result_alloc(const _Alloc& __a) : _Result<_Res>(), _Alloc(__a)
1115:  { }
1115: 
1115:       private:
1115:  void _M_destroy()
1115:  {
1115:    __allocator_type __a(*this);
1115:    __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
1115:    this->~_Result_alloc();
1115:  }
1115:       };
1115: 
1115: 
1115:     template<typename _Res, typename _Allocator>
1115:       static _Ptr<_Result_alloc<_Res, _Allocator>>
1115:       _S_allocate_result(const _Allocator& __a)
1115:       {
1115:  using __result_type = _Result_alloc<_Res, _Allocator>;
1115:  typename __result_type::__allocator_type __a2(__a);
1115:  auto __guard = std::__allocate_guarded(__a2);
1115:  __result_type* __p = ::new((void*)__guard.get()) __result_type{__a};
1115:  __guard = nullptr;
1115:  return _Ptr<__result_type>(__p);
1115:       }
1115: 
1115: 
1115:     template<typename _Res, typename _Tp>
1115:       static _Ptr<_Result<_Res>>
1115:       _S_allocate_result(const std::allocator<_Tp>& __a)
1115:       {
1115:  return _Ptr<_Result<_Res>>(new _Result<_Res>);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:     class _State_baseV2
1115:     {
1115:       typedef _Ptr<_Result_base> _Ptr_type;
1115: 
1115:       enum _Status : unsigned {
1115:  __not_ready,
1115:  __ready
1115:       };
1115: 
1115:       _Ptr_type _M_result;
1115:       __atomic_futex_unsigned<> _M_status;
1115:       atomic_flag _M_retrieved = { 0 };
1115:       once_flag _M_once;
1115: 
1115:     public:
1115:       _State_baseV2() noexcept : _M_result(), _M_status(_Status::__not_ready)
1115:  { }
1115:       _State_baseV2(const _State_baseV2&) = delete;
1115:       _State_baseV2& operator=(const _State_baseV2&) = delete;
1115:       virtual ~_State_baseV2() = default;
1115: 
1115:       _Result_base&
1115:       wait()
1115:       {
1115: 
1115:  _M_complete_async();
1115: 
1115: 
1115:  _M_status._M_load_when_equal(_Status::__ready, memory_order_acquire);
1115:  return *_M_result;
1115:       }
1115: 
1115:       template<typename _Rep, typename _Period>
1115:         future_status
1115:         wait_for(const chrono::duration<_Rep, _Period>& __rel)
1115:         {
1115: 
1115: 
1115:    if (_M_status._M_load(memory_order_acquire) == _Status::__ready)
1115:      return future_status::ready;
1115: 
1115:    if (_M_is_deferred_future())
1115:      return future_status::deferred;
1115: 
1115: 
1115:    if (__rel > __rel.zero()
1115:        && _M_status._M_load_when_equal_for(_Status::__ready,
1115:         memory_order_acquire,
1115:         __rel))
1115:      {
1115: # 368 "/usr/include/c++/12/future" 3
1115:        _M_complete_async();
1115: 
1115:        return future_status::ready;
1115:      }
1115:    return future_status::timeout;
1115:  }
1115: 
1115:       template<typename _Clock, typename _Duration>
1115:         future_status
1115:         wait_until(const chrono::time_point<_Clock, _Duration>& __abs)
1115:         {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:    if (_M_status._M_load(memory_order_acquire) == _Status::__ready)
1115:      return future_status::ready;
1115: 
1115:    if                                      std::back_insert_iterator<buffer<T>>>;
1412: 
1412: 
1412: template <typename T, typename OutputIt>
1412: auto get_buffer(OutputIt out) -> iterator_buffer<OutputIt, T> {
1412:   return iterator_buffer<OutputIt, T>(out);
1412: }
1412: 
1412: template <typename Buffer>
1412: auto get_iterator(Buffer& buf) -> decltype(buf.out()) {
1412:   return buf.out();
1412: }
1412: template <typename T> auto get_iterator(buffer<T>& buf) -> buffer_appender<T> {
1412:   return buffer_appender<T>(buf);
1412: }
1412: 
1412: template <typename T, typename Char = char, typename Enable = void>
1412: struct fallback_formatter {
1412:   fallback_formatter() = delete;
1412: };
1412: 
1412: 
1412: template <typename T, typename Char>
1412: using has_fallback_formatter =
1412: 
1412: 
1412: 
1412:     std::false_type;
1412: 
1412: 
1412: struct view {};
1412: 
1412: template <typename Char, typename T> struct named_arg : view {
1412:   const Char* name;
1412:   const T& value;
1412:   named_arg(const Char* n, const T& v) : name(n), value(v) {}
1412: };
1412: 
1412: template <typename Char> struct named_arg_info {
1412:   const Char* name;
1412:   int id;
1412: };
1412: 
1412: template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1412: struct arg_data {
1412: 
1412: 
1412:   T args_[1 + (NUM_ARGS != 0 ? NUM_ARGS : +1)];
1412:   named_arg_info<Char> named_args_[NUM_NAMED_ARGS];
1412: 
1412:   template <typename... U>
1412:   arg_data(const U&... init) : args_{T(named_args_, NUM_NAMED_ARGS), init...} {}
1412:   arg_data(const arg_data& other) = delete;
1412:   auto args() const -> const T* { return args_ + 1; }
1412:   auto named_args() -> named_arg_info<Char>* { return named_args_; }
1412: };
1412: 
1412: template <typename T, typename Char, size_t NUM_ARGS>
1412: struct arg_data<T, Char, NUM_ARGS, 0> {
1412: 
1412:   T args_[NUM_ARGS != 0 ? NUM_ARGS : +1];
1412: 
1412:   template <typename... U>
1412:   constexpr inline __attribute__((always_inline)) arg_data(const U&... init) : args_{init...} {}
1412:   constexpr inline __attribute__((always_inline)) auto args() const -> const T* { return args_; }
1412:   constexpr inline __attribute__((always_inline)) auto named_args() -> std::nullptr_t {
1412:     return nullptr;
1412:   }
1412: };
1412: 
1412: template <typename Char>
1412: inline void init_named_args(named_arg_info<Char>*, int, int) {}
1412: 
1412: template <typename T> struct is_named_arg : std::false_type {};
1412: template <typename T> struct is_statically_named_arg : std::false_type {};
1412: 
1412: template <typename T, typename Char>
1412: struct is_named_arg<named_arg<Char, T>> : std::true_type {};
1412: 
1412: template <typename Char, typename T, typename... Tail,
1412:           enable_if_t<(!is_named_arg<T>::value), int> = 0>
1412: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1412:                      int named_arg_count, const T&, const Tail&... args) {
1412:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1412: }
1412: 
1412: template <typename Char, typename T, typename... Tail,
1412:           enable_if_t<(is_named_arg<T>::value), int> = 0>
1412: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1412:                      int named_arg_count, const T& arg, const Tail&... args) {
1412:   named_args[named_arg_count++] = {arg.name, arg_count};
1412:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1412: }
1412: 
1412: template <typename... Args>
1412: constexpr inline __attribute__((always_inline)) void init_named_args(std::nullptr_t, int, int,
1412:                                               const Args&...) {}
1412: 
1412: template <bool B = false> constexpr auto count() -> size_t { return B ? 1 : 0; }
1412: template <bool B1, bool B2, bool... Tail> constexpr auto count() -> size_t {
1412:   return (B1 ? 1 : 0) + count<B2, Tail...>();
1412: }
1412: 
1412: template <typename... Args> constexpr auto count_named_args() -> size_t {
1412:   return count<is_named_arg<Args>::value...>();
1412: }
1412: 
1412: template <typename... Args>
1412: constexpr auto count_statically_named_args() -> size_t {
1412:   return count<is_statically_named_arg<Args>::value...>();
1412: }
1412: 
1412: struct unformattable {};
1412: struct unformattable_char : unformattable {};
1412: struct unformattable_const : unformattable {};
1412: struct unformattable_pointer : unformattable {};
1412: 
1412: template <typename Char> struct string_value {
1412:   const Char* data;
1412:   size_t size;
1412: };
1412: 
1412: template <typename Char> struct named_arg_value {
1412:   const named_arg_info<Char>* data;
1412:   size_t size;
1412: };
1412: 
1412: template <typename Context> struct custom_value {
1412:   using parse_context = typename Context::parse_context_type;
1412:   void* value;
1412:   void (*format)(void* arg, parse_context& parse_ctx, Context& ctx);
1412: };
1412: 
1412: 
1412: template <typename Context> class value {
1412:  public:
1412:   using char_type = typename Context::char_type;
1412: 
1412:   union {
1412:     monostate no_value;
1412:     int int_value;
1412:     unsigned uint_value;
1412:     long long long_long_value;
1412:     unsigned long long ulong_long_value;
1412:     int128_opt int128_value;
1412:     uint128_opt uint128_value;
1412:     bool bool_value;
1412:     char_type char_value;
1412:     float float_value;
1412:     double double_value;
1412:     long double long_double_value;
1412:     const void* pointer;
1412:     string_value<char_type> string;
1412:     custom_value<Context> custom;
1412:     named_arg_value<char_type> named_args;
1412:   };
1412: 
1412:   constexpr inline __attribute__((always_inline)) value() : no_value() {}
1412:   constexpr inline __attribute__((always_inline)) value(int val) : int_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(unsigned val) : uint_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(long long val) : long_long_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(unsigned long long val) : ulong_long_value(val) {}
1412:   inline __attribute__((always_inline)) value(int128_opt val) : int128_value(val) {}
1412:   inline __attribute__((always_inline)) value(uint128_opt val) : uint128_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(float val) : float_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(double val) : double_value(val) {}
1412:   inline __attribute__((always_inline)) value(long double val) : long_double_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(bool val) : bool_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(char_type val) : char_value(val) {}
1412:   constexpr inline __attribute__((always_inline)) value(const char_type* val) {
1412:     string.data = val;
1412:     if (is_constant_evaluated()) string.size = {};
1412:   }
1412:   constexpr inline __attribute__((always_inline)) value(basic_string_view<char_type> val) {
1412:     string.data = val.data();
1412:     string.size = val.size();
1412:   }
1412:   inline __attribute__((always_inline)) value(const void* val) : pointer(val) {}
1412:   inline __attribute__((always_inline)) value(const named_arg_info<char_type>* args, size_t size)
1412:       : named_args{args, size} {}
1412: 
1412:   template <typename T> constexpr inline __attribute__((always_inline)) value(T& val) {
1412:     using value_type = remove_cvref_t<T>;
1412:     custom.value = const_cast<value_type*>(&val);
1412: 
1412: 
1412: 
1412:     custom.format = format_custom_arg<
1412:         value_type,
1412:         conditional_t<has_formatter<value_type, Context>::value,
1412:                       typename Context::template formatter_type<value_type>,
1412:                       fallback_formatter<value_type, char_type>>>;
1412:   }
1412:   value(unformattable);
1412:   value(unformattable_char);
1412:   value(unformattable_const);
1412:   value(unformattable_pointer);
1412: 
1412:  private:
1412: 
1412:   template <typename T, typename Fo (_M_is_deferred_future())
1115:      return future_status::deferred;
1115: 
1115:    if (_M_status._M_load_when_equal_until(_Status::__ready,
1115:        memory_order_acquire,
1115:        __abs))
1115:      {
1115: 
1115: 
1115: 
1115:        _M_complete_async();
1115: 
1115:        return future_status::ready;
1115:      }
1115:    return future_status::timeout;
1115:  }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_set_result(function<_Ptr_type()> __res, bool __ignore_failure = false)
1115:       {
1115:  bool __did_set = false;
1115: 
1115: 
1115:  call_once(_M_once, &_State_baseV2::_M_do_set, this,
1115:     std::__addressof(__res), std::__addressof(__did_set));
1115:  if (__did_set)
1115: 
1115:    _M_status._M_store_notify_all(_Status::__ready,
1115:      memory_order_release);
1115:  else if (!__ignore_failure)
1115:           __throw_future_error(int(future_errc::promise_already_satisfied));
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_set_delayed_result(function<_Ptr_type()> __res,
1115:        weak_ptr<_State_baseV2> __self)
1115:       {
1115:  bool __did_set = false;
1115:  unique_ptr<_Make_ready> __mr{new _Make_ready};
1115: 
1115: 
1115:  call_once(_M_once, &_State_baseV2::_M_do_set, this,
1115:     std::__addressof(__res), std::__addressof(__did_set));
1115:  if (!__did_set)
1115:           __throw_future_error(int(future_errc::promise_already_satisfied));
1115:  __mr->_M_shared_state = std::move(__self);
1115:  __mr->_M_set();
1115:  __mr.release();
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_break_promise(_Ptr_type __res)
1115:       {
1115:  if (static_cast<bool>(__res))
1115:    {
1115:      __res->_M_error =
1115:        make_exception_ptr(future_error(future_errc::broken_promise));
1115: 
1115: 
1115: 
1115: 
1115:      _M_result.swap(__res);
1115: 
1115:      _M_status._M_store_notify_all(_Status::__ready,
1115:        memory_order_release);
1115:    }
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_set_retrieved_flag()
1115:       {
1115:  if (_M_retrieved.test_and_set())
1115:    __throw_future_error(int(future_errc::future_already_retrieved));
1115:       }
1115: 
1115:       template<typename _Res, typename _Arg>
1115:         struct _Setter;
1115: 
1115: 
1115:       template<typename _Res, typename _Arg>
1115:         struct _Setter<_Res, _Arg&>
1115:         {
1115: 
1115: 
1115:           static_assert(is_same<_Res, _Arg&>::value
1115:               || is_same<const _Res, _Arg>::value,
1115:               "Invalid specialisation");
1115: 
1115: 
1115:           typename promise<_Res>::_Ptr_type operator()() const
1115:           {
1115:             _M_promise->_M_storage->_M_set(*_M_arg);
1115:             return std::move(_M_promise->_M_storage);
1115:           }
1115:           promise<_Res>* _M_promise;
1115:           _Arg* _M_arg;
1115:         };
1115: 
1115: 
1115:       template<typename _Res>
1115:         struct _Setter<_Res, _Res&&>
1115:         {
1115: 
1115:           typename promise<_Res>::_Ptr_type operator()() const
1115:           {
1115:             _M_promise->_M_storage->_M_set(std::move(*_M_arg));
1115:             return std::move(_M_promise->_M_storage);
1115:           }
1115:           promise<_Res>* _M_promise;
1115:           _Res* _M_arg;
1115:         };
1115: 
1115: 
1115:       template<typename _Res>
1115:  struct _Setter<_Res, void>
1115:  {
1115:    static_assert(is_void<_Res>::value, "Only used for promise<void>");
1115: 
1115:    typename promise<_Res>::_Ptr_type operator()() const
1115:    { return std::move(_M_promise->_M_storage); }
1115: 
1115:    promise<_Res>* _M_promise;
1115:  };
1115: 
1115:       struct __exception_ptr_tag { };
1115: 
1115: 
1115:       template<typename _Res>
1115:         struct _Setter<_Res, __exception_ptr_tag>
1115:         {
1115: 
1115:           typename promise<_Res>::_Ptr_type operator()() const
1115:           {
1115:             _M_promise->_M_storage->_M_error = *_M_ex;
1115:             return std::move(_M_promise->_M_storage);
1115:           }
1115: 
1115:           promise<_Res>* _M_promise;
1115:           exception_ptr* _M_ex;
1115:         };
1115: 
1115:       template<typename _Res, typename _Arg>
1115:  __attribute__((__always_inline__))
1115:         static _Setter<_Res, _Arg&&>
1115:         __setter(promise<_Res>* __prom, _Arg&& __arg) noexcept
1115:         {
1115:           return _Setter<_Res, _Arg&&>{ __prom, std::__addressof(__arg) };
1115:         }
1115: 
1115:       template<typename _Res>
1115:  __attribute__((__always_inline__))
1115:         static _Setter<_Res, __exception_ptr_tag>
1115:         __setter(exception_ptr& __ex, promise<_Res>* __prom) noexcept
1115:         {
1115:           return _Setter<_Res, __exception_ptr_tag>{ __prom, &__ex };
1115:         }
1115: 
1115:       template<typename _Res>
1115:  __attribute__((__always_inline__))
1115:  static _Setter<_Res, void>
1115:  __setter(promise<_Res>* __prom) noexcept
1115:  {
1115:    return _Setter<_Res, void>{ __prom };
1115:  }
1115: 
1115:       template<typename _Tp>
1115:         static void
1115:         _S_check(const shared_ptr<_Tp>& __p)
1115:         {
1115:           if (!static_cast<bool>(__p))
1115:             __throw_future_error((int)future_errc::no_state);
1115:         }
1115: 
1115:     private:
1115: 
1115:       void
1115:       _M_do_set(function<_Ptr_type()>* __f, bool* __did_set)
1115:       {
1115:         _Ptr_type __res = (*__f)();
1115: 
1115: 
1115: 
1115:  *__did_set = true;
1115:         _M_result.swap(__res);
1115:       }
1115: 
1115: 
1115:       virtual void _M_complete_async() { }
1115: 
1115: 
1115:       virtual bool _M_is_deferred_future() const { return false; }
1115: 
1115:       struct _Make_ready final : __at_thread_exit_elt
1115:       {
1115:  weak_ptr<_State_baseV2> _M_shared_state;
1115:  static void _S_run(void*);
1115:  void _M_set();
1115:       };
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     using _State_base = _State_baseV2;
1115:     class _Async_state_commonV2;
1115: 
1115: 
1115:     template<typename _BoundFn,
1115:       typename _Res = decltype(std::declval<_BoundFn&>()())>
1115:       class _Deferred_state;
1115: 
1115:     template<typename _BoundFn,
1115:       typename _Res = decltype(std::declval<_BoundFn&>()())>
1115:       class _Async_state_impl;
1115: 
1115:     template<typename _Signature>
1115:       class _Task_state_base;
1115: 
1115:     template<typename _Fn, typename _Alloc, typename _Signature>
1115:       class _Task_state;
1115: 
1115:     template<typename _Res_ptr, typename _Fn,
1115:       typename _Res = typename _Res_ptr::element_type::result_type>
1115:       struct _Task_setter;
1115: 
1115:     template<typename _Res_ptr, typename _BoundFn>
1115:       static _Task_setter<_Res_ptr, _BoundFn>
1115:       _S_task_setter(_Res_ptr& __ptr, _BoundFn& __call)
1115:       {
1115:  return { std::__addressof(__ptr), std::__addressof(__call) };
1115:       }
1115:   };
1115: 
1115: 
1115:   template<typename _Res>
1115:     struct __future_base::_Result<_Res&> : __future_base::_Result_base
1115:     {
1115:       typedef _Res& result_type;
1115: 
1115:       _Result() noexcept : _M_value_ptr() { }
1115: 
1115:       void
1115:       _M_set(_Res& __res) noexcept
1115:       { _M_value_ptr = std::addressof(__res); }
1115: 
1115:       _Res& _M_get() noexcept { return *_M_value_ptr; }
1115: 
1115:     private:
1115:       _Res* _M_value_ptr;
1115: 
1115:       void _M_destroy() { delete this; }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     struct __future_base::_Result<void> : __future_base::_Result_base
1115:     {
1115:       typedef void result_type;
1115: 
1115:     private:
1115:       void _M_destroy() { delete this; }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Res, typename _Arg>
1115:     struct __is_location_invariant
1115:     <__future_base::_State_base::_Setter<_Res, _Arg>>
1115:     : true_type { };
1115: 
1115: 
1115:   template<typename _Res_ptr, typename _Fn, typename _Res>
1115:     struct __is_location_invariant
1115:     <__future_base::_Task_rmatter>
1412:   static void format_custom_arg(void* arg,
1412:                                 typename Context::parse_context_type& parse_ctx,
1412:                                 Context& ctx) {
1412:     auto f = Formatter();
1412:     parse_ctx.advance_to(f.parse(parse_ctx));
1412:     using qualified_type =
1412:         conditional_t<has_const_formatter<T, Context>(), const T, T>;
1412:     ctx.advance_to(f.format(*static_cast<qualified_type*>(arg), ctx));
1412:   }
1412: };
1412: 
1412: template <typename Context, typename T>
1412: constexpr auto make_arg(T&& value) -> basic_format_arg<Context>;
1412: 
1412: 
1412: 
1412: enum { long_short = sizeof(long) == sizeof(int) };
1412: using long_type = conditional_t<long_short, int, long long>;
1412: using ulong_type = conditional_t<long_short, unsigned, unsigned long long>;
1412: 
1412: 
1412: inline auto format_as(std::byte b) -> unsigned char {
1412:   return static_cast<unsigned char>(b);
1412: }
1412: 
1412: 
1412: template <typename T> struct has_format_as {
1412:   template <typename U, typename V = decltype(format_as(U())),
1412:             enable_if_t<(std::is_enum<U>::value&& std::is_integral<V>::value), int> = 0>
1412:   static auto check(U*) -> std::true_type;
1412:   static auto check(...) -> std::false_type;
1412: 
1412:   enum { value = decltype(check(static_cast<T*>(nullptr)))::value };
1412: };
1412: 
1412: 
1412: 
1412: 
1412: template <typename Context> struct arg_mapper {
1412:   using char_type = typename Context::char_type;
1412: 
1412:   constexpr inline __attribute__((always_inline)) auto map(signed char val) -> int { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(unsigned char val) -> unsigned {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(short val) -> int { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(unsigned short val) -> unsigned {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(int val) -> int { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(unsigned val) -> unsigned { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(long val) -> long_type { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(unsigned long val) -> ulong_type {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(long long val) -> long long { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(unsigned long long val)
1412:       -> unsigned long long {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(int128_opt val) -> int128_opt {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(uint128_opt val) -> uint128_opt {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(bool val) -> bool { return val; }
1412: 
1412:   template <typename T, enable_if_t<(std::is_same<T, char>::value || std::is_same<T, char_type>::value), int> = 0
1412:                                                                         >
1412:   constexpr inline __attribute__((always_inline)) auto map(T val) -> char_type {
1412:     return val;
1412:   }
1412:   template <typename T, enable_if_t<(std::is_same<T, wchar_t>::value ||
1412: 
1412: 
1412: 
1412:                                      std::is_same<T, char16_t>::value ||
1412:                                      std::is_same<T, char32_t>::value) &&
1412:                                         !std::is_same<T, char_type>::value,
1412:                                     int> = 0>
1412:   constexpr inline __attribute__((always_inline)) auto map(T) -> unformattable_char {
1412:     return {};
1412:   }
1412: 
1412:   constexpr inline __attribute__((always_inline)) auto map(float val) -> float { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(double val) -> double { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(long double val) -> long double {
1412:     return val;
1412:   }
1412: 
1412:   constexpr inline __attribute__((always_inline)) auto map(char_type* val) -> const char_type* {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(const char_type* val) -> const char_type* {
1412:     return val;
1412:   }
1412:   template <typename T,
1412:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && std::is_same<char_type, char_t<T>>::value), int> = 0
1412:                                                                     >
1412:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1412:       -> basic_string_view<char_type> {
1412:     return to_string_view(val);
1412:   }
1412:   template <typename T,
1412:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && !std::is_same<char_type, char_t<T>>::value), int> = 0
1412:                                                                      >
1412:   constexpr inline __attribute__((always_inline)) auto map(const T&) -> unformattable_char {
1412:     return {};
1412:   }
1412:   template <typename T,
1412:             enable_if_t<(std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1412: 
1412: 
1412:                                                              >
1412:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1412:       -> basic_string_view<char_type> {
1412:     return basic_string_view<char_type>(val);
1412:   }
1412:   template <typename T,
1412:             enable_if_t<(std::is_convertible<T, std_string_view<char_type>>::value && !std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1412: 
1412: 
1412: 
1412:                                                              >
1412:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1412:       -> basic_string_view<char_type> {
1412:     return std_string_view<char_type>(val);
1412:   }
1412: 
1412:   constexpr inline __attribute__((always_inline)) auto map(void* val) -> const void* { return val; }
1412:   constexpr inline __attribute__((always_inline)) auto map(const void* val) -> const void* {
1412:     return val;
1412:   }
1412:   constexpr inline __attribute__((always_inline)) auto map(std::nullptr_t val) -> const void* {
1412:     return val;
1412:   }
1412: 
1412: 
1412: 
1412:   template <
1412:       typename T,
1412:       enable_if_t<(std::is_pointer<T>::value || std::is_member_pointer<T>::value || std::is_function<typename std::remove_pointer<T>::type>::value || (std::is_convertible<const T&, const void*>::value && !std::is_convertible<const T&, const char_type*>::value && !has_formatter<T, Context>::value)), int> = 0
1412: 
1412: 
1412: 
1412: 
1412:                                               >
1412:   constexpr auto map(const T&) -> unformattable_pointer {
1412:     return {};
1412:   }
1412: 
1412:   template <typename T, std::size_t N,
1412:             enable_if_t<(!std::is_same<T, wchar_t>::value), int> = 0>
1412:   constexpr inline __attribute__((always_inline)) auto map(const T (&values)[N]) -> const T (&)[N] {
1412:     return values;
1412:   }
1412: 
1412:   template <typename T,
1412:             enable_if_t<(std::is_enum<T>::value&& std::is_convertible<T, int>::value && !has_format_as<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1412: 
1412: 
1412:                                                              >
1412:   [[deprecated]] constexpr inline __attribute__((always_inline)) auto map(const T& val)
1412:       -> decltype(std::declval<arg_mapper>().map(
1412:           static_cast<underlying_t<T>>(val))) {
1412:     return map(static_cast<underlyisetter<_Res_ptr, _Fn, _Res>>
1115:     : true_type { };
1115: 
1115: 
1115:   template<typename _Res>
1115:     class __basic_future : public __future_base
1115:     {
1115:     protected:
1115:       typedef shared_ptr<_State_base> __state_type;
1115:       typedef __future_base::_Result<_Res>& __result_type;
1115: 
1115:     private:
1115:       __state_type _M_state;
1115: 
1115:     public:
1115: 
1115:       __basic_future(const __basic_future&) = delete;
1115:       __basic_future& operator=(const __basic_future&) = delete;
1115: 
1115:       bool
1115:       valid() const noexcept { return static_cast<bool>(_M_state); }
1115: 
1115:       void
1115:       wait() const
1115:       {
1115:         _State_base::_S_check(_M_state);
1115:         _M_state->wait();
1115:       }
1115: 
1115:       template<typename _Rep, typename _Period>
1115:         future_status
1115:         wait_for(const chrono::duration<_Rep, _Period>& __rel) const
1115:         {
1115:           _State_base::_S_check(_M_state);
1115:           return _M_state->wait_for(__rel);
1115:         }
1115: 
1115:       template<typename _Clock, typename _Duration>
1115:         future_status
1115:         wait_until(const chrono::time_point<_Clock, _Duration>& __abs) const
1115:         {
1115:           _State_base::_S_check(_M_state);
1115:           return _M_state->wait_until(__abs);
1115:         }
1115: 
1115:     protected:
1115: 
1115:       __result_type
1115:       _M_get_result() const
1115:       {
1115:         _State_base::_S_check(_M_state);
1115:         _Result_base& __res = _M_state->wait();
1115:         if (!(__res._M_error == nullptr))
1115:           rethrow_exception(__res._M_error);
1115:         return static_cast<__result_type>(__res);
1115:       }
1115: 
1115:       void _M_swap(__basic_future& __that) noexcept
1115:       {
1115:         _M_state.swap(__that._M_state);
1115:       }
1115: 
1115: 
1115:       explicit
1115:       __basic_future(const __state_type& __state) : _M_state(__state)
1115:       {
1115:         _State_base::_S_check(_M_state);
1115:         _M_state->_M_set_retrieved_flag();
1115:       }
1115: 
1115: 
1115:       explicit
1115:       __basic_future(const shared_future<_Res>&) noexcept;
1115: 
1115: 
1115:       explicit
1115:       __basic_future(shared_future<_Res>&&) noexcept;
1115: 
1115: 
1115:       explicit
1115:       __basic_future(future<_Res>&&) noexcept;
1115: 
1115:       constexpr __basic_future() noexcept : _M_state() { }
1115: 
1115:       struct _Reset
1115:       {
1115:         explicit _Reset(__basic_future& __fut) noexcept : _M_fut(__fut) { }
1115:         ~_Reset() { _M_fut._M_state.reset(); }
1115:         __basic_future& _M_fut;
1115:       };
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Res>
1115:     class future : public __basic_future<_Res>
1115:     {
1115: 
1115: 
1115:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1115:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1115:       static_assert(is_destructible<_Res>{},
1115:       "result type must be destructible");
1115: 
1115:       friend class promise<_Res>;
1115:       template<typename> friend class packaged_task;
1115:       template<typename _Fn, typename... _Args>
1115:         friend future<__async_result_of<_Fn, _Args...>>
1115:         async(launch, _Fn&&, _Args&&...);
1115: 
1115:       typedef __basic_future<_Res> _Base_type;
1115:       typedef typename _Base_type::__state_type __state_type;
1115: 
1115:       explicit
1115:       future(const __state_type& __state) : _Base_type(__state) { }
1115: 
1115:     public:
1115:       constexpr future() noexcept : _Base_type() { }
1115: 
1115: 
1115:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1115: 
1115: 
1115:       future(const future&) = delete;
1115:       future& operator=(const future&) = delete;
1115: 
1115:       future& operator=(future&& __fut) noexcept
1115:       {
1115:         future(std::move(__fut))._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115: 
1115:       _Res
1115:       get()
1115:       {
1115:         typename _Base_type::_Reset __reset(*this);
1115:         return std::move(this->_M_get_result()._M_value());
1115:       }
1115: 
1115:       shared_future<_Res> share() noexcept;
1115:     };
1115: 
1115: 
1115:   template<typename _Res>
1115:     class future<_Res&> : public __basic_future<_Res&>
1115:     {
1115:       friend class promise<_Res&>;
1115:       template<typename> friend class packaged_task;
1115:       template<typename _Fn, typename... _Args>
1115:         friend future<__async_result_of<_Fn, _Args...>>
1115:         async(launch, _Fn&&, _Args&&...);
1115: 
1115:       typedef __basic_future<_Res&> _Base_type;
1115:       typedef typename _Base_type::__state_type __state_type;
1115: 
1115:       explicit
1115:       future(const __state_type& __state) : _Base_type(__state) { }
1115: 
1115:     public:
1115:       constexpr future() noexcept : _Base_type() { }
1115: 
1115: 
1115:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1115: 
1115: 
1115:       future(const future&) = delete;
1115:       future& operator=(const future&) = delete;
1115: 
1115:       future& operator=(future&& __fut) noexcept
1115:       {
1115:         future(std::move(__fut))._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115: 
1115:       _Res&
1115:       get()
1115:       {
1115:         typename _Base_type::_Reset __reset(*this);
1115:         return this->_M_get_result()._M_get();
1115:       }
1115: 
1115:       shared_future<_Res&> share() noexcept;
1115:     };
1115: 
1115: 
1115:   template<>
1115:     class future<void> : public __basic_future<void>
1115:     {
1115:       friend class promise<void>;
1115:       template<typename> friend class packaged_task;
1115:       template<typename _Fn, typename... _Args>
1115:         friend future<__async_result_of<_Fn, _Args...>>
1115:         async(launch, _Fn&&, _Args&&...);
1115: 
1115:       typedef __basic_future<void> _Base_type;
1115:       typedef typename _Base_type::__state_type __state_type;
1115: 
1115:       explicit
1115:       future(const __state_type& __state) : _Base_type(__state) { }
1115: 
1115:     public:
1115:       constexpr future() noexcept : _Base_type() { }
1115: 
1115: 
1115:       future(future&& __uf) noexcept : _Base_type(std::move(__uf)) { }
1115: 
1115: 
1115:       future(const future&) = delete;
1115:       future& operator=(const future&) = delete;
1115: 
1115:       future& operator=(future&& __fut) noexcept
1115:       {
1115:         future(std::move(__fut))._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115: 
1115:       void
1115:       get()
1115:       {
1115:         typename _Base_type::_Reset __reset(*this);
1115:         this->_M_get_result();
1115:       }
1115: 
1115:       shared_future<void> share() noexcept;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Res>
1115:     class shared_future : public __basic_future<_Res>
1115:     {
1115: 
1115: 
1115:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1115:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1115:       static_assert(is_destructible<_Res>{},
1115:       "result type must be destructible");
1115: 
1115:       typedef __basic_future<_Res> _Base_type;
1115: 
1115:     public:
1115:       constexpr shared_future() noexcept : _Base_type() { }
1115: 
1115: 
1115:       shared_future(const shared_future& __sf) noexcept : _Base_type(__sf) { }
1115: 
1115: 
1115:       shared_future(future<_Res>&& __uf) noexcept
1115:       : _Base_type(std::move(__uf))
1115:       { }
1115: 
1115: 
1115:       shared_future(shared_future&& __sf) noexcept
1115:       : _Base_type(std::move(__sf))
1115:       { }
1115: 
1115:       shared_future& operator=(const shared_future& __sf) noexcept
1115:       {
1115:         shared_future(__sf)._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115:       shared_future& operator=(shared_future&& __sf) noexceng_t<T>>(val));
1412:   }
1412: 
1412:   template <typename T, enable_if_t<(has_format_as<T>::value && !has_formatter<T, Context>::value), int> = 0
1412:                                                                         >
1412:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1412:       -> decltype(std::declval<arg_mapper>().map(format_as(T()))) {
1412:     return map(format_as(val));
1412:   }
1412: 
1412:   template <typename T, typename U = remove_cvref_t<T>>
1412:   struct formattable
1412:       : bool_constant<has_const_formatter<U, Context>() ||
1412:                       !std::is_const<remove_reference_t<T>>::value ||
1412:                       has_fallback_formatter<U, char_type>::value> {};
1412: # 1496 "/usr/include/fmt/core.h" 3 4
1412:   template <typename T, enable_if_t<(formattable<T>::value), int> = 0>
1412:   constexpr inline __attribute__((always_inline)) auto do_map(T&& val) -> T& {
1412:     return val;
1412:   }
1412:   template <typename T, enable_if_t<(!formattable<T>::value), int> = 0>
1412:   constexpr inline __attribute__((always_inline)) auto do_map(T&&) -> unformattable_const {
1412:     return {};
1412:   }
1412: 
1412: 
1412:   template <typename T, typename U = remove_cvref_t<T>,
1412:             enable_if_t<(!is_string<U>::value && !is_char<U>::value && !std::is_array<U>::value && !std::is_pointer<U>::value && !has_format_as<U>::value && (has_formatter<U, Context>::value || has_fallback_formatter<U, char_type>::value)), int> = 0
1412: 
1412: 
1412: 
1412: 
1412:                                                                         >
1412:   constexpr inline __attribute__((always_inline)) auto map(T&& val)
1412:       -> decltype(this->do_map(std::forward<T>(val))) {
1412:     return do_map(std::forward<T>(val));
1412:   }
1412: 
1412:   template <typename T, enable_if_t<(is_named_arg<T>::value), int> = 0>
1412:   constexpr inline __attribute__((always_inline)) auto map(const T& named_arg)
1412:       -> decltype(std::declval<arg_mapper>().map(named_arg.value)) {
1412:     return map(named_arg.value);
1412:   }
1412: 
1412:   auto map(...) -> unformattable { return {}; }
1412: };
1412: 
1412: 
1412: template <typename T, typename Context>
1412: using mapped_type_constant =
1412:     type_constant<decltype(arg_mapper<Context>().map(std::declval<const T&>())),
1412:                   typename Context::char_type>;
1412: 
1412: enum { packed_arg_bits = 4 };
1412: 
1412: enum { max_packed_args = 62 / packed_arg_bits };
1412: enum : unsigned long long { is_unpacked_bit = 1ULL << 63 };
1412: enum : unsigned long long { has_named_args_bit = 1ULL << 62 };
1412: 
1412: }
1412: 
1412: 
1412: 
1412: class appender : public std::back_insert_iterator<detail::buffer<char>> {
1412:   using base = std::back_insert_iterator<detail::buffer<char>>;
1412: 
1412:   template <typename T>
1412:   friend auto get_buffer(appender out) -> detail::buffer<char>& {
1412:     return detail::get_container(out);
1412:   }
1412: 
1412:  public:
1412:   using std::back_insert_iterator<detail::buffer<char>>::back_insert_iterator;
1412:   appender(base it) noexcept : base(it) {}
1412:   using unchecked_type = appender;
1412: 
1412:   auto operator++() noexcept -> appender& { return *this; }
1412:   auto operator++(int) noexcept -> appender { return *this; }
1412: };
1412: 
1412: 
1412: 
1412: template <typename Context> class basic_format_arg {
1412:  private:
1412:   detail::value<Context> value_;
1412:   detail::type type_;
1412: 
1412:   template <typename ContextType, typename T>
1412:   friend constexpr auto detail::make_arg(T&& value)
1412:       -> basic_format_arg<ContextType>;
1412: 
1412:   template <typename Visitor, typename Ctx>
1412:   friend constexpr auto visit_format_arg(Visitor&& vis,
1412:                                              const basic_format_arg<Ctx>& arg)
1412:       -> decltype(vis(0));
1412: 
1412:   friend class basic_format_args<Context>;
1412:   friend class dynamic_format_arg_store<Context>;
1412: 
1412:   using char_type = typename Context::char_type;
1412: 
1412:   template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1412:   friend struct detail::arg_data;
1412: 
1412:   basic_format_arg(const detail::named_arg_info<char_type>* args, size_t size)
1412:       : value_(args, size) {}
1412: 
1412:  public:
1412:   class handle {
1412:    public:
1412:     explicit handle(detail::custom_value<Context> custom) : custom_(custom) {}
1412: 
1412:     void format(typename Context::parse_context_type& parse_ctx,
1412:                 Context& ctx) const {
1412:       custom_.format(custom_.value, parse_ctx, ctx);
1412:     }
1412: 
1412:    private:
1412:     detail::custom_value<Context> custom_;
1412:   };
1412: 
1412:   constexpr basic_format_arg() : type_(detail::type::none_type) {}
1412: 
1412:   constexpr explicit operator bool() const noexcept {
1412:     return type_ != detail::type::none_type;
1412:   }
1412: 
1412:   auto type() const -> detail::type { return type_; }
1412: 
1412:   auto is_integral() const -> bool { return detail::is_integral_type(type_); }
1412:   auto is_arithmetic() const -> bool {
1412:     return detail::is_arithmetic_type(type_);
1412:   }
1412: };
1412: # 1622 "/usr/include/fmt/core.h" 3 4
1412: template <typename Visitor, typename Context>
1412: constexpr inline __attribute__((always_inline)) auto visit_format_arg(
1412:     Visitor&& vis, const basic_format_arg<Context>& arg) -> decltype(vis(0)) {
1412:   switch (arg.type_) {
1412:   case detail::type::none_type:
1412:     break;
1412:   case detail::type::int_type:
1412:     return vis(arg.value_.int_value);
1412:   case detail::type::uint_type:
1412:     return vis(arg.value_.uint_value);
1412:   case detail::type::long_long_type:
1412:     return vis(arg.value_.long_long_value);
1412:   case detail::type::ulong_long_type:
1412:     return vis(arg.value_.ulong_long_value);
1412:   case detail::type::int128_type:
1412:     return vis(detail::convert_for_visit(arg.value_.int128_value));
1412:   case detail::type::uint128_type:
1412:     return vis(detail::convert_for_visit(arg.value_.uint128_value));
1412:   case detail::type::bool_type:
1412:     return vis(arg.value_.bool_value);
1412:   case detail::type::char_type:
1412:     return vis(arg.value_.char_value);
1412:   case detail::type::float_type:
1412:     return vis(arg.value_.float_value);
1412:   case detail::type::double_type:
1412:     return vis(arg.value_.double_value);
1412:   case detail::type::long_double_type:
1412:     return vis(arg.value_.long_double_value);
1412:   case detail::type::cstring_type:
1412:     return vis(arg.value_.string.data);
1412:   case detail::type::string_type:
1412:     using sv = basic_string_view<typename Context::char_type>;
1412:     return vis(sv(arg.value_.string.data, arg.value_.string.size));
1412:   case detail::type::pointer_type:
1412:     return vis(arg.value_.pointer);
1412:   case detail::type::custom_type:
1412:     return vis(typename basic_format_arg<Context>::handle(arg.value_.custom));
1412:   }
1412:   return vis(monostate());
1412: }
1412: 
1412: namespace detail {
1412: 
1412: template <typename Char, typename InputIt>
1412: auto copy_str(InputIt begin, InputIt end, appender out) -> appender {
1412:   get_container(out).append(begin, end);
1412:   return out;
1412: }
1412: 
1412: template <typename Char, typename R, typename OutputIt>
1412: constexpr auto copy_str(R&& rng, OutputIt out) -> OutputIt {
1412:   return detail::copy_str<Char>(rng.begin(), rng.end(), out);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename...> using void_t = void;
1412: 
1412: 
1412: template <typename It, typename T, typename Enable = void>
1412: struct is_output_iterator : std::false_type {};
1412: 
1412: template <typename It, typename T>
1412: struct is_output_iterator<
1412:     It, T,
1412:     void_t<typename std::iterator_traits<It>::iterator_category,
1412:            decltype(*std::declval<It>() = std::declval<T>())>>
1412:     : std::true_type {};
1412: 
1412: template <typename OutputIt>
1412: struct is_back_insert_iterator : std::falsept
1115:       {
1115:         shared_future(std::move(__sf))._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115: 
1115:       const _Res&
1115:       get() const { return this->_M_get_result()._M_value(); }
1115:     };
1115: 
1115: 
1115:   template<typename _Res>
1115:     class shared_future<_Res&> : public __basic_future<_Res&>
1115:     {
1115:       typedef __basic_future<_Res&> _Base_type;
1115: 
1115:     public:
1115:       constexpr shared_future() noexcept : _Base_type() { }
1115: 
1115: 
1115:       shared_future(const shared_future& __sf) : _Base_type(__sf) { }
1115: 
1115: 
1115:       shared_future(future<_Res&>&& __uf) noexcept
1115:       : _Base_type(std::move(__uf))
1115:       { }
1115: 
1115: 
1115:       shared_future(shared_future&& __sf) noexcept
1115:       : _Base_type(std::move(__sf))
1115:       { }
1115: 
1115:       shared_future& operator=(const shared_future& __sf)
1115:       {
1115:         shared_future(__sf)._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115:       shared_future& operator=(shared_future&& __sf) noexcept
1115:       {
1115:         shared_future(std::move(__sf))._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115: 
1115:       _Res&
1115:       get() const { return this->_M_get_result()._M_get(); }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     class shared_future<void> : public __basic_future<void>
1115:     {
1115:       typedef __basic_future<void> _Base_type;
1115: 
1115:     public:
1115:       constexpr shared_future() noexcept : _Base_type() { }
1115: 
1115: 
1115:       shared_future(const shared_future& __sf) : _Base_type(__sf) { }
1115: 
1115: 
1115:       shared_future(future<void>&& __uf) noexcept
1115:       : _Base_type(std::move(__uf))
1115:       { }
1115: 
1115: 
1115:       shared_future(shared_future&& __sf) noexcept
1115:       : _Base_type(std::move(__sf))
1115:       { }
1115: 
1115:       shared_future& operator=(const shared_future& __sf)
1115:       {
1115:         shared_future(__sf)._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115:       shared_future& operator=(shared_future&& __sf) noexcept
1115:       {
1115:         shared_future(std::move(__sf))._M_swap(*this);
1115:         return *this;
1115:       }
1115: 
1115: 
1115:       void
1115:       get() const { this->_M_get_result(); }
1115:     };
1115: 
1115: 
1115:   template<typename _Res>
1115:     inline __basic_future<_Res>::
1115:     __basic_future(const shared_future<_Res>& __sf) noexcept
1115:     : _M_state(__sf._M_state)
1115:     { }
1115: 
1115:   template<typename _Res>
1115:     inline __basic_future<_Res>::
1115:     __basic_future(shared_future<_Res>&& __sf) noexcept
1115:     : _M_state(std::move(__sf._M_state))
1115:     { }
1115: 
1115:   template<typename _Res>
1115:     inline __basic_future<_Res>::
1115:     __basic_future(future<_Res>&& __uf) noexcept
1115:     : _M_state(std::move(__uf._M_state))
1115:     { }
1115: 
1115: 
1115: 
1115:   template<typename _Res>
1115:     inline shared_future<_Res>
1115:     future<_Res>::share() noexcept
1115:     { return shared_future<_Res>(std::move(*this)); }
1115: 
1115:   template<typename _Res>
1115:     inline shared_future<_Res&>
1115:     future<_Res&>::share() noexcept
1115:     { return shared_future<_Res&>(std::move(*this)); }
1115: 
1115:   inline shared_future<void>
1115:   future<void>::share() noexcept
1115:   { return shared_future<void>(std::move(*this)); }
1115: 
1115: 
1115:   template<typename _Res>
1115:     class promise
1115:     {
1115: 
1115: 
1115:       static_assert(!is_array<_Res>{}, "result type must not be an array");
1115:       static_assert(!is_function<_Res>{}, "result type must not be a function");
1115:       static_assert(is_destructible<_Res>{},
1115:       "result type must be destructible");
1115: 
1115:       typedef __future_base::_State_base _State;
1115:       typedef __future_base::_Result<_Res> _Res_type;
1115:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1115:       template<typename, typename> friend struct _State::_Setter;
1115:       friend _State;
1115: 
1115:       shared_ptr<_State> _M_future;
1115:       _Ptr_type _M_storage;
1115: 
1115:     public:
1115:       promise()
1115:       : _M_future(std::make_shared<_State>()),
1115:  _M_storage(new _Res_type())
1115:       { }
1115: 
1115:       promise(promise&& __rhs) noexcept
1115:       : _M_future(std::move(__rhs._M_future)),
1115:  _M_storage(std::move(__rhs._M_storage))
1115:       { }
1115: 
1115:       template<typename _Allocator>
1115:         promise(allocator_arg_t, const _Allocator& __a)
1115:         : _M_future(std::allocate_shared<_State>(__a)),
1115:    _M_storage(__future_base::_S_allocate_result<_Res>(__a))
1115:         { }
1115: 
1115:       template<typename _Allocator>
1115:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1115:         : _M_future(std::move(__rhs._M_future)),
1115:    _M_storage(std::move(__rhs._M_storage))
1115:         { }
1115: 
1115:       promise(const promise&) = delete;
1115: 
1115:       ~promise()
1115:       {
1115:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1115:           _M_future->_M_break_promise(std::move(_M_storage));
1115:       }
1115: 
1115: 
1115:       promise&
1115:       operator=(promise&& __rhs) noexcept
1115:       {
1115:         promise(std::move(__rhs)).swap(*this);
1115:         return *this;
1115:       }
1115: 
1115:       promise& operator=(const promise&) = delete;
1115: 
1115:       void
1115:       swap(promise& __rhs) noexcept
1115:       {
1115:         _M_future.swap(__rhs._M_future);
1115:         _M_storage.swap(__rhs._M_storage);
1115:       }
1115: 
1115: 
1115:       future<_Res>
1115:       get_future()
1115:       { return future<_Res>(_M_future); }
1115: 
1115: 
1115:       void
1115:       set_value(const _Res& __r)
1115:       { _M_state()._M_set_result(_State::__setter(this, __r)); }
1115: 
1115:       void
1115:       set_value(_Res&& __r)
1115:       { _M_state()._M_set_result(_State::__setter(this, std::move(__r))); }
1115: 
1115:       void
1115:       set_exception(exception_ptr __p)
1115:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1115: 
1115:       void
1115:       set_value_at_thread_exit(const _Res& __r)
1115:       {
1115:  _M_state()._M_set_delayed_result(_State::__setter(this, __r),
1115:       _M_future);
1115:       }
1115: 
1115:       void
1115:       set_value_at_thread_exit(_Res&& __r)
1115:       {
1115:  _M_state()._M_set_delayed_result(
1115:      _State::__setter(this, std::move(__r)), _M_future);
1115:       }
1115: 
1115:       void
1115:       set_exception_at_thread_exit(exception_ptr __p)
1115:       {
1115:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1115:       _M_future);
1115:       }
1115: 
1115:     private:
1115:       _State&
1115:       _M_state()
1115:       {
1115:  __future_base::_State_base::_S_check(_M_future);
1115:  return *_M_future;
1115:       }
1115:     };
1115: 
1115:   template<typename _Res>
1115:     inline void
1115:     swap(promise<_Res>& __x, promise<_Res>& __y) noexcept
1115:     { __x.swap(__y); }
1115: 
1115:   template<typename _Res, typename _Alloc>
1115:     struct uses_allocator<promise<_Res>, _Alloc>
1115:     : public true_type { };
1115: 
1115: 
1115: 
1115:   template<typename _Res>
1115:     class promise<_Res&>
1115:     {
1115:       typedef __future_base::_State_base _State;
1115:       typedef __future_base::_Result<_Res&> _Res_type;
1115:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1115:       template<typename, typename> friend struct _State::_Setter;
1115:       friend _State;
1115: 
1115:       shared_ptr<_State> _M_future;
1115:       _Ptr_type _M_storage;
1115: 
1115:     public:
1115:       promise()
1115:       : _M_future(std::make_shared<_State>()),
1115:  _M_storage(new _Res_type())
1115:       { }
1115: 
1115:       promise(promise&& __rhs) noexcept
1115:       : _M_future(std::move(__rhs._M_future)),
1115:  _M_storage(std::move(__rhs._M_storage))
1115:       { }
1115: 
1115:     _type {};
1412: template <typename Container>
1412: struct is_back_insert_iterator<std::back_insert_iterator<Container>>
1412:     : std::true_type {};
1412: 
1412: template <typename OutputIt>
1412: struct is_contiguous_back_insert_iterator : std::false_type {};
1412: template <typename Container>
1412: struct is_contiguous_back_insert_iterator<std::back_insert_iterator<Container>>
1412:     : is_contiguous<Container> {};
1412: template <>
1412: struct is_contiguous_back_insert_iterator<appender> : std::true_type {};
1412: 
1412: 
1412: class locale_ref {
1412:  private:
1412:   const void* locale_;
1412: 
1412:  public:
1412:   constexpr locale_ref() : locale_(nullptr) {}
1412:   template <typename Locale> explicit locale_ref(const Locale& loc);
1412: 
1412:   explicit operator bool() const noexcept { return locale_ != nullptr; }
1412: 
1412:   template <typename Locale> auto get() const -> Locale;
1412: };
1412: 
1412: template <typename> constexpr auto encode_types() -> unsigned long long {
1412:   return 0;
1412: }
1412: 
1412: template <typename Context, typename Arg, typename... Args>
1412: constexpr auto encode_types() -> unsigned long long {
1412:   return static_cast<unsigned>(mapped_type_constant<Arg, Context>::value) |
1412:          (encode_types<Context, Args...>() << packed_arg_bits);
1412: }
1412: 
1412: template <typename Context, typename T>
1412: constexpr inline __attribute__((always_inline)) auto make_value(T&& val) -> value<Context> {
1412:   const auto& arg = arg_mapper<Context>().map(static_cast<decltype(val)&&>(val));
1412: 
1412:   constexpr bool formattable_char =
1412:       !std::is_same<decltype(arg), const unformattable_char&>::value;
1412:   static_assert(formattable_char, "Mixing character types is disallowed.");
1412: 
1412:   constexpr bool formattable_const =
1412:       !std::is_same<decltype(arg), const unformattable_const&>::value;
1412:   static_assert(formattable_const, "Cannot format a const argument.");
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr bool formattable_pointer =
1412:       !std::is_same<decltype(arg), const unformattable_pointer&>::value;
1412:   static_assert(formattable_pointer,
1412:                 "Formatting of non-void pointers is disallowed.");
1412: 
1412:   constexpr bool formattable =
1412:       !std::is_same<decltype(arg), const unformattable&>::value;
1412:   static_assert(
1412:       formattable,
1412:       "Cannot format an argument. To make type T formattable provide a "
1412:       "formatter<T> specialization: https://fmt.dev/latest/api.html#udt");
1412:   return {arg};
1412: }
1412: 
1412: template <typename Context, typename T>
1412: constexpr auto make_arg(T&& value) -> basic_format_arg<Context> {
1412:   basic_format_arg<Context> arg;
1412:   arg.type_ = mapped_type_constant<T, Context>::value;
1412:   arg.value_ = make_value<Context>(value);
1412:   return arg;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: template <bool IS_PACKED, typename Context, type, typename T,
1412:           enable_if_t<(IS_PACKED), int> = 0>
1412: constexpr inline __attribute__((always_inline)) auto make_arg(T&& val) -> value<Context> {
1412:   return make_value<Context>(val);
1412: }
1412: 
1412: template <bool IS_PACKED, typename Context, type, typename T,
1412:           enable_if_t<(!IS_PACKED), int> = 0>
1412: constexpr inline auto make_arg(T&& value) -> basic_format_arg<Context> {
1412:   return make_arg<Context>(value);
1412: }
1412: }
1412: 
1412: 
1412: template <typename OutputIt, typename Char> class basic_format_context {
1412:  public:
1412: 
1412:   using char_type = Char;
1412: 
1412:  private:
1412:   OutputIt out_;
1412:   basic_format_args<basic_format_context> args_;
1412:   detail::locale_ref loc_;
1412: 
1412:  public:
1412:   using iterator = OutputIt;
1412:   using format_arg = basic_format_arg<basic_format_context>;
1412:   using parse_context_type = basic_format_parse_context<Char>;
1412:   template <typename T> using formatter_type = formatter<T, char_type>;
1412: 
1412:   basic_format_context(basic_format_context&&) = default;
1412:   basic_format_context(const basic_format_context&) = delete;
1412:   void operator=(const basic_format_context&) = delete;
1412: 
1412: 
1412: 
1412: 
1412:   constexpr basic_format_context(
1412:       OutputIt out, basic_format_args<basic_format_context> ctx_args,
1412:       detail::locale_ref loc = detail::locale_ref())
1412:       : out_(out), args_(ctx_args), loc_(loc) {}
1412: 
1412:   constexpr auto arg(int id) const -> format_arg { return args_.get(id); }
1412:   constexpr auto arg(basic_string_view<char_type> name) -> format_arg {
1412:     return args_.get(name);
1412:   }
1412:   constexpr auto arg_id(basic_string_view<char_type> name) -> int {
1412:     return args_.get_id(name);
1412:   }
1412:   auto args() const -> const basic_format_args<basic_format_context>& {
1412:     return args_;
1412:   }
1412: 
1412:   constexpr auto error_handler() -> detail::error_handler { return {}; }
1412:   void on_error(const char* message) { error_handler().on_error(message); }
1412: 
1412: 
1412:   constexpr auto out() -> iterator { return out_; }
1412: 
1412: 
1412:   void advance_to(iterator it) {
1412:     if (!detail::is_back_insert_iterator<iterator>()) out_ = it;
1412:   }
1412: 
1412:   constexpr auto locale() -> detail::locale_ref { return loc_; }
1412: };
1412: 
1412: template <typename Char>
1412: using buffer_context =
1412:     basic_format_context<detail::buffer_appender<Char>, Char>;
1412: using format_context = buffer_context<char>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename T, typename Char = char>
1412: using is_formattable = bool_constant<
1412:     !std::is_base_of<detail::unformattable,
1412:                      decltype(detail::arg_mapper<buffer_context<Char>>().map(
1412:                          std::declval<T>()))>::value &&
1412:     !detail::has_fallback_formatter<T, Char>::value>;
1412: # 1864 "/usr/include/fmt/core.h" 3 4
1412: template <typename Context, typename... Args>
1412: class format_arg_store
1412: 
1412: 
1412: 
1412: 
1412: {
1412:  private:
1412:   static const size_t num_args = sizeof...(Args);
1412:   static const size_t num_named_args = detail::count_named_args<Args...>();
1412:   static const bool is_packed = num_args <= detail::max_packed_args;
1412: 
1412:   using value_type = conditional_t<is_packed, detail::value<Context>,
1412:                                    basic_format_arg<Context>>;
1412: 
1412:   detail::arg_data<value_type, typename Context::char_type, num_args,
1412:                    num_named_args>
1412:       data_;
1412: 
1412:   friend class basic_format_args<Context>;
1412: 
1412:   static constexpr unsigned long long desc =
1412:       (is_packed ? detail::encode_types<Context, Args...>()
1412:                  : detail::is_unpacked_bit | num_args) |
1412:       (num_named_args != 0
1412:            ? static_cast<unsigned long long>(detail::has_named_args_bit)
1412:            : 0);
1412: 
1412:  public:
1412:   template <typename... T>
1412:   constexpr inline __attribute__((always_inline)) format_arg_store(T&&... args)
1412:       :
1412: 
1412: 
1412: 
1412:         data_{detail::make_arg<
1412:             is_packed, Context,
1412:             detail::mapped_type_constant<remove_cvref_t<T>, Context>::value>(
1412:             static_cast<decltype(args)&&>(args))...} {
1412:     detail::init_named_args(data_.named_args(), 0, 0, args...);
1412:   }
1412: };
1412: # 1915 "/usr/include/fmt/core.h" 3 4
1412: template <typename Context = format_context, typename... Args>
1412: constexpr auto make_format_args(Args&&... args)
1412:     -> format_arg_store<Context, remove_cvref_t<Args>...> {
1412:   return {static_cast<decltype(args)&&>(args)...};
1412: }
1412: # 1932 "/usr/include/fmt/core.h" 3 4
1412: template <typename Char, typename T>
1412: inline auto arg(const Char* name, const T& arg) -> detail::named_arg<Char, T> {
1412:   static_assert(!detail::is_named_arg<T>(), "nested named arguments");
1412:   return {name, arg};
1412: }
1412: # 1948 "/usr/include/fmt/core.h" 3 4
1412: template <typename Context> class basic_format_args {
1412:   template<typename _Allocator>
1115:         promise(allocator_arg_t, const _Allocator& __a)
1115:         : _M_future(std::allocate_shared<_State>(__a)),
1115:    _M_storage(__future_base::_S_allocate_result<_Res&>(__a))
1115:         { }
1115: 
1115:       template<typename _Allocator>
1115:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1115:         : _M_future(std::move(__rhs._M_future)),
1115:    _M_storage(std::move(__rhs._M_storage))
1115:         { }
1115: 
1115:       promise(const promise&) = delete;
1115: 
1115:       ~promise()
1115:       {
1115:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1115:           _M_future->_M_break_promise(std::move(_M_storage));
1115:       }
1115: 
1115: 
1115:       promise&
1115:       operator=(promise&& __rhs) noexcept
1115:       {
1115:         promise(std::move(__rhs)).swap(*this);
1115:         return *this;
1115:       }
1115: 
1115:       promise& operator=(const promise&) = delete;
1115: 
1115:       void
1115:       swap(promise& __rhs) noexcept
1115:       {
1115:         _M_future.swap(__rhs._M_future);
1115:         _M_storage.swap(__rhs._M_storage);
1115:       }
1115: 
1115: 
1115:       future<_Res&>
1115:       get_future()
1115:       { return future<_Res&>(_M_future); }
1115: 
1115: 
1115:       void
1115:       set_value(_Res& __r)
1115:       { _M_state()._M_set_result(_State::__setter(this, __r)); }
1115: 
1115:       void
1115:       set_exception(exception_ptr __p)
1115:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1115: 
1115:       void
1115:       set_value_at_thread_exit(_Res& __r)
1115:       {
1115:  _M_state()._M_set_delayed_result(_State::__setter(this, __r),
1115:       _M_future);
1115:       }
1115: 
1115:       void
1115:       set_exception_at_thread_exit(exception_ptr __p)
1115:       {
1115:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1115:       _M_future);
1115:       }
1115: 
1115:     private:
1115:       _State&
1115:       _M_state()
1115:       {
1115:  __future_base::_State_base::_S_check(_M_future);
1115:  return *_M_future;
1115:       }
1115:     };
1115: 
1115: 
1115:   template<>
1115:     class promise<void>
1115:     {
1115:       typedef __future_base::_State_base _State;
1115:       typedef __future_base::_Result<void> _Res_type;
1115:       typedef __future_base::_Ptr<_Res_type> _Ptr_type;
1115:       template<typename, typename> friend struct _State::_Setter;
1115:       friend _State;
1115: 
1115:       shared_ptr<_State> _M_future;
1115:       _Ptr_type _M_storage;
1115: 
1115:     public:
1115:       promise()
1115:       : _M_future(std::make_shared<_State>()),
1115:  _M_storage(new _Res_type())
1115:       { }
1115: 
1115:       promise(promise&& __rhs) noexcept
1115:       : _M_future(std::move(__rhs._M_future)),
1115:  _M_storage(std::move(__rhs._M_storage))
1115:       { }
1115: 
1115:       template<typename _Allocator>
1115:         promise(allocator_arg_t, const _Allocator& __a)
1115:         : _M_future(std::allocate_shared<_State>(__a)),
1115:    _M_storage(__future_base::_S_allocate_result<void>(__a))
1115:         { }
1115: 
1115: 
1115: 
1115:       template<typename _Allocator>
1115:         promise(allocator_arg_t, const _Allocator&, promise&& __rhs)
1115:         : _M_future(std::move(__rhs._M_future)),
1115:    _M_storage(std::move(__rhs._M_storage))
1115:         { }
1115: 
1115:       promise(const promise&) = delete;
1115: 
1115:       ~promise()
1115:       {
1115:         if (static_cast<bool>(_M_future) && !_M_future.unique())
1115:           _M_future->_M_break_promise(std::move(_M_storage));
1115:       }
1115: 
1115: 
1115:       promise&
1115:       operator=(promise&& __rhs) noexcept
1115:       {
1115:         promise(std::move(__rhs)).swap(*this);
1115:         return *this;
1115:       }
1115: 
1115:       promise& operator=(const promise&) = delete;
1115: 
1115:       void
1115:       swap(promise& __rhs) noexcept
1115:       {
1115:         _M_future.swap(__rhs._M_future);
1115:         _M_storage.swap(__rhs._M_storage);
1115:       }
1115: 
1115: 
1115:       future<void>
1115:       get_future()
1115:       { return future<void>(_M_future); }
1115: 
1115: 
1115:       void
1115:       set_value()
1115:       { _M_state()._M_set_result(_State::__setter(this)); }
1115: 
1115:       void
1115:       set_exception(exception_ptr __p)
1115:       { _M_state()._M_set_result(_State::__setter(__p, this)); }
1115: 
1115:       void
1115:       set_value_at_thread_exit()
1115:       { _M_state()._M_set_delayed_result(_State::__setter(this), _M_future); }
1115: 
1115:       void
1115:       set_exception_at_thread_exit(exception_ptr __p)
1115:       {
1115:  _M_state()._M_set_delayed_result(_State::__setter(__p, this),
1115:       _M_future);
1115:       }
1115: 
1115:     private:
1115:       _State&
1115:       _M_state()
1115:       {
1115:  __future_base::_State_base::_S_check(_M_future);
1115:  return *_M_future;
1115:       }
1115:     };
1115: 
1115:   template<typename _Ptr_type, typename _Fn, typename _Res>
1115:     struct __future_base::_Task_setter
1115:     {
1115: 
1115:       _Ptr_type operator()() const
1115:       {
1115:  try
1115:    {
1115:      (*_M_result)->_M_set((*_M_fn)());
1115:    }
1115:  catch(const __cxxabiv1::__forced_unwind&)
1115:    {
1115:      throw;
1115:    }
1115:  catch(...)
1115:    {
1115:      (*_M_result)->_M_error = current_exception();
1115:    }
1115:  return std::move(*_M_result);
1115:       }
1115:       _Ptr_type* _M_result;
1115:       _Fn* _M_fn;
1115:     };
1115: 
1115:   template<typename _Ptr_type, typename _Fn>
1115:     struct __future_base::_Task_setter<_Ptr_type, _Fn, void>
1115:     {
1115:       _Ptr_type operator()() const
1115:       {
1115:  try
1115:    {
1115:      (*_M_fn)();
1115:    }
1115:  catch(const __cxxabiv1::__forced_unwind&)
1115:    {
1115:      throw;
1115:    }
1115:  catch(...)
1115:    {
1115:      (*_M_result)->_M_error = current_exception();
1115:    }
1115:  return std::move(*_M_result);
1115:       }
1115:       _Ptr_type* _M_result;
1115:       _Fn* _M_fn;
1115:     };
1115: 
1115: 
1115:   template<typename _Res, typename... _Args>
1115:     struct __future_base::_Task_state_base<_Res(_Args...)>
1115:     : __future_base::_State_base
1115:     {
1115:       typedef _Res _Res_type;
1115: 
1115:       template<typename _Alloc>
1115:  _Task_state_base(const _Alloc& __a)
1115:  : _M_result(_S_allocate_result<_Res>(__a))
1115:  { }
1115: 
1115: 
1115:       virtual void
1115:       _M_run(_Args&&... __args) = 0;
1115: 
1115: 
1115:       virtual void
1115:       _M_run_delayed(_Args&&... __args, weak_ptr<_State_base>) = 0;
1115: 
1115:       virtual shared_ptr<_Task_state_base>
1115:       _M_reset() = 0;
1115: 
1115:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1115:       _Ptr_type _M_result;
1115:     };
1115: 
1115: 
1115:   template<typename _Fn, typename _Alloc, typename _Res, typename... _Args>
1115:     struct __future_base::_Task_state<_Fn, _Alloc, _Res(_Args...)> final
1115:     : __future_base::_Task_state_base<_Res(_Args...)>
1115:     {
1115:       template<typename _Fn2>
1115:  _Task_state(_Fn2&& __fn, const _Alloc& __a)
1115:  : _Task_state_base<_Res(_Args...)>(__a),
1115:    _M_impl(std::forward<_Fn2>(__fn), __a)
1115:  { }
1115: 
1115:     private:
1115:       virtual void
1115:       _M_run(_Args&&... __args)
1115:       {
1115:  auto __boundfn = [&] () -> _Res {
1115:      return std::__invoke_r<_Res>(_M_impl._M_fn,
1115:       std::forward<_Args>(__args)...);
1115:  };
1115:  this->_M_set_result(_S_task_setter(this->_M_result, __boundfn));
1115:       }
1115: 
1115:       virtual void
1115:       _M_run_delayed(_Args&&... __args, weak_ptr<_State_base> __self)
1115:       {
1115:  auto __boundfn = [&] () -> _Res {
1115:      return std::__invoke_r<_Res>(_M_impl._M_fn,
1115:       std::forward<_Args>(__args)...);
1115:  };
1115:  this->_M_set_delayed_result(_S_task_setter(this->_M_result, __boundfn),
1115:         std::move(__self));
1115:       }
1115: 
1115:       virtual shared_ptr<_Task_state_base<_Res(_Args. public:
1412:   using size_type = int;
1412:   using format_arg = basic_format_arg<Context>;
1412: 
1412:  private:
1412: 
1412: 
1412: 
1412: 
1412:   unsigned long long desc_;
1412:   union {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     const detail::value<Context>* values_;
1412:     const format_arg* args_;
1412:   };
1412: 
1412:   constexpr auto is_packed() const -> bool {
1412:     return (desc_ & detail::is_unpacked_bit) == 0;
1412:   }
1412:   auto has_named_args() const -> bool {
1412:     return (desc_ & detail::has_named_args_bit) != 0;
1412:   }
1412: 
1412:   constexpr auto type(int index) const -> detail::type {
1412:     int shift = index * detail::packed_arg_bits;
1412:     unsigned int mask = (1 << detail::packed_arg_bits) - 1;
1412:     return static_cast<detail::type>((desc_ >> shift) & mask);
1412:   }
1412: 
1412:   constexpr inline __attribute__((always_inline)) basic_format_args(unsigned long long desc,
1412:                                          const detail::value<Context>* values)
1412:       : desc_(desc), values_(values) {}
1412:   constexpr basic_format_args(unsigned long long desc, const format_arg* args)
1412:       : desc_(desc), args_(args) {}
1412: 
1412:  public:
1412:   constexpr basic_format_args() : desc_(0), args_(nullptr) {}
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   template <typename... Args>
1412:   constexpr inline __attribute__((always_inline)) basic_format_args(
1412:       const format_arg_store<Context, Args...>& store)
1412:       : basic_format_args(format_arg_store<Context, Args...>::desc,
1412:                           store.data_.args()) {}
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr inline __attribute__((always_inline)) basic_format_args(
1412:       const dynamic_format_arg_store<Context>& store)
1412:       : basic_format_args(store.get_types(), store.data()) {}
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   constexpr basic_format_args(const format_arg* args, int count)
1412:       : basic_format_args(detail::is_unpacked_bit | detail::to_unsigned(count),
1412:                           args) {}
1412: 
1412: 
1412:   constexpr auto get(int id) const -> format_arg {
1412:     format_arg arg;
1412:     if (!is_packed()) {
1412:       if (id < max_size()) arg = args_[id];
1412:       return arg;
1412:     }
1412:     if (id >= detail::max_packed_args) return arg;
1412:     arg.type_ = type(id);
1412:     if (arg.type_ == detail::type::none_type) return arg;
1412:     arg.value_ = values_[id];
1412:     return arg;
1412:   }
1412: 
1412:   template <typename Char>
1412:   auto get(basic_string_view<Char> name) const -> format_arg {
1412:     int id = get_id(name);
1412:     return id >= 0 ? get(id) : format_arg();
1412:   }
1412: 
1412:   template <typename Char>
1412:   auto get_id(basic_string_view<Char> name) const -> int {
1412:     if (!has_named_args()) return -1;
1412:     const auto& named_args =
1412:         (is_packed() ? values_[-1] : args_[-1].value_).named_args;
1412:     for (size_t i = 0; i < named_args.size; ++i) {
1412:       if (named_args.data[i].name == name) return named_args.data[i].id;
1412:     }
1412:     return -1;
1412:   }
1412: 
1412:   auto max_size() const -> int {
1412:     unsigned long long max_packed = detail::max_packed_args;
1412:     return static_cast<int>(is_packed() ? max_packed
1412:                                         : desc_ & ~detail::is_unpacked_bit);
1412:   }
1412: };
1412: 
1412: 
1412: 
1412: 
1412: using format_args = basic_format_args<format_context>;
1412: # 2073 "/usr/include/fmt/core.h" 3 4
1412: namespace align {
1412: enum type : unsigned char{none, left, right, center,
1412:                                                   numeric};
1412: }
1412: using align_t = align::type;
1412: namespace sign {
1412: enum type : unsigned char{none, minus, plus, space};
1412: }
1412: using sign_t = sign::type;
1412: 
1412: namespace detail {
1412: 
1412: 
1412: template <typename Char> struct fill_t {
1412:  private:
1412:   enum { max_size = 4 };
1412:   Char data_[max_size] = {Char(' '), Char(0), Char(0), Char(0)};
1412:   unsigned char size_ = 1;
1412: 
1412:  public:
1412:   constexpr void operator=(basic_string_view<Char> s) {
1412:     auto size = s.size();
1412:     if (size > max_size) return throw_format_error("invalid fill");
1412:     for (size_t i = 0; i < size; ++i) data_[i] = s[i];
1412:     size_ = static_cast<unsigned char>(size);
1412:   }
1412: 
1412:   constexpr auto size() const -> size_t { return size_; }
1412:   constexpr auto data() const -> const Char* { return data_; }
1412: 
1412:   constexpr auto operator[](size_t index) -> Char& { return data_[index]; }
1412:   constexpr auto operator[](size_t index) const -> const Char& {
1412:     return data_[index];
1412:   }
1412: };
1412: }
1412: 
1412: enum class presentation_type : unsigned char {
1412:   none,
1412: 
1412:   dec,
1412:   oct,
1412:   hex_lower,
1412:   hex_upper,
1412:   bin_lower,
1412:   bin_upper,
1412:   hexfloat_lower,
1412:   hexfloat_upper,
1412:   exp_lower,
1412:   exp_upper,
1412:   fixed_lower,
1412:   fixed_upper,
1412:   general_lower,
1412:   general_upper,
1412:   chr,
1412:   string,
1412:   pointer,
1412:   debug
1412: };
1412: 
1412: 
1412: template <typename Char> struct basic_format_specs {
1412:   int width;
1412:   int precision;
1412:   presentation_type type;
1412:   align_t align : 4;
1412:   sign_t sign : 3;
1412:   bool alt : 1;
1412:   bool localized : 1;
1412:   detail::fill_t<Char> fill;
1412: 
1412:   constexpr basic_format_specs()
1412:       : width(0),
1412:         precision(-1),
1412:         type(presentation_type::none),
1412:         align(align::none),
1412:         sign(sign::none),
1412:         alt(false),
1412:         localized(false) {}
1412: };
1412: 
1412: using format_specs = basic_format_specs<char>;
1412: 
1412: namespace detail {
1412: 
1412: enum class arg_id_kind { none, index, name };
1412: 
1412: 
1412: template <typename Char> struct arg_ref {
1412:   constexpr arg_ref() : kind(arg_id_kind::none), val() {}
1412: 
1412:   constexpr explicit arg_ref(int index)
1412:       : kind(arg_id_kind::index), val(index) {}
1412:   constexpr explicit arg_ref(basic_string_view<Char> name)
1412:       : kind(arg_id_kind::name), val(name) {}
1412: 
1412:   constexpr auto operator=(int idx) -> arg_ref& {
1412:     kind = arg_id_kind::index;
1412:     val.index = idx;
1412:     return *this;
1412:   }
1412: 
1412:   arg_id_kind kind;
1412:   union value {
1412:     constexpr value(int id = 0) : index{id} {}
1412:     constexpr value(basic_string_view<Char> n) : name(n) {}
1412: 
1412:     int index;
1412:     basic_string_view<Char> name;
1412:   } val;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: template <typename Char>
1412: struct dynamic_format_specs : basic_format_specs<Char> {
1412:   arg_ref<Char> width_ref;
1412:   arg_ref<Char> precision_ref;
1412: };
1412: 
1412: struct auto_id {};
1412: 
1412: 
1412: template <typename Char> class specs_setter {
1412:  protected:
1412:   basic_format_specs<Char>& specs_;
1412: 
1412:  public:
1412:   explicit constexpr specs_setter(basic_format_specs<Char>& specs)
1412:       : specs_(specs) {}
1412: 
1412:   constexpr specs_setter(const specs_setter& other)
1412:       : specs_(other.specs_) {}
1412: 
1412:   constexpr void on_align(align_t align) { specs_.align = align; }
1412:   constexpr void on_fill(basic_string_view<Char> fill) {
1412:     specs_.fill = fill;
1412:   }
1412:   constexpr void on_sign(sign_t s) { specs_.sign = s; }
1412:   constexpr void on_hash() { specs_.alt = true; }
1412:   constexpr void on_localized() { specs_.localized = true; }
1412: 
1412:   constexpr void on_zero() {
1412:     if (specs_.align == align::none) specs_.align = align::numeric;
1412:     specs_.fill[0] = Char('0');
1412:   }
1412: 
1412:   constexpr void on_width(int width) { specs_.width = width; }
1412:   constexpr void on_precision(int precision) {
1412:     specs_.precision = precision;
1412:   }
1412:   constexpr void end_precision() {}
1412: 
1412:   constexpr void on_type(presentation_type type) { specs_.type = type; }
1412: };
1412:..)>>
1115:       _M_reset();
1115: 
1115:       struct _Impl : _Alloc
1115:       {
1115:  template<typename _Fn2>
1115:    _Impl(_Fn2&& __fn, const _Alloc& __a)
1115:    : _Alloc(__a), _M_fn(std::forward<_Fn2>(__fn)) { }
1115:  _Fn _M_fn;
1115:       } _M_impl;
1115:     };
1115: 
1115:   template<typename _Signature, typename _Fn,
1115:     typename _Alloc = std::allocator<int>>
1115:     static shared_ptr<__future_base::_Task_state_base<_Signature>>
1115:     __create_task_state(_Fn&& __fn, const _Alloc& __a = _Alloc())
1115:     {
1115:       typedef typename decay<_Fn>::type _Fn2;
1115:       typedef __future_base::_Task_state<_Fn2, _Alloc, _Signature> _State;
1115:       return std::allocate_shared<_State>(__a, std::forward<_Fn>(__fn), __a);
1115:     }
1115: 
1115:   template<typename _Fn, typename _Alloc, typename _Res, typename... _Args>
1115:     shared_ptr<__future_base::_Task_state_base<_Res(_Args...)>>
1115:     __future_base::_Task_state<_Fn, _Alloc, _Res(_Args...)>::_M_reset()
1115:     {
1115:       return __create_task_state<_Res(_Args...)>(std::move(_M_impl._M_fn),
1115:        static_cast<_Alloc&>(_M_impl));
1115:     }
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes>
1115:     class packaged_task<_Res(_ArgTypes...)>
1115:     {
1115:       typedef __future_base::_Task_state_base<_Res(_ArgTypes...)> _State_type;
1115:       shared_ptr<_State_type> _M_state;
1115: 
1115: 
1115: 
1115:       template<typename _Fn, typename _Fn2 = __remove_cvref_t<_Fn>>
1115:  using __not_same
1115:    = typename enable_if<!is_same<packaged_task, _Fn2>::value>::type;
1115: 
1115:     public:
1115: 
1115:       packaged_task() noexcept { }
1115: 
1115:       template<typename _Fn, typename = __not_same<_Fn>>
1115:  explicit
1115:  packaged_task(_Fn&& __fn)
1115:  : _M_state(
1115:      __create_task_state<_Res(_ArgTypes...)>(std::forward<_Fn>(__fn)))
1115:  { }
1115: # 1567 "/usr/include/c++/12/future" 3
1115:       ~packaged_task()
1115:       {
1115:         if (static_cast<bool>(_M_state) && !_M_state.unique())
1115:    _M_state->_M_break_promise(std::move(_M_state->_M_result));
1115:       }
1115: 
1115: 
1115:       packaged_task(const packaged_task&) = delete;
1115:       packaged_task& operator=(const packaged_task&) = delete;
1115: 
1115: 
1115:       packaged_task(packaged_task&& __other) noexcept
1115:       { this->swap(__other); }
1115: 
1115:       packaged_task& operator=(packaged_task&& __other) noexcept
1115:       {
1115:  packaged_task(std::move(__other)).swap(*this);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(packaged_task& __other) noexcept
1115:       { _M_state.swap(__other._M_state); }
1115: 
1115:       bool
1115:       valid() const noexcept
1115:       { return static_cast<bool>(_M_state); }
1115: 
1115: 
1115:       future<_Res>
1115:       get_future()
1115:       { return future<_Res>(_M_state); }
1115: 
1115: 
1115:       void
1115:       operator()(_ArgTypes... __args)
1115:       {
1115:  __future_base::_State_base::_S_check(_M_state);
1115:  _M_state->_M_run(std::forward<_ArgTypes>(__args)...);
1115:       }
1115: 
1115:       void
1115:       make_ready_at_thread_exit(_ArgTypes... __args)
1115:       {
1115:  __future_base::_State_base::_S_check(_M_state);
1115:  _M_state->_M_run_delayed(std::forward<_ArgTypes>(__args)..., _M_state);
1115:       }
1115: 
1115:       void
1115:       reset()
1115:       {
1115:  __future_base::_State_base::_S_check(_M_state);
1115:  packaged_task __tmp;
1115:  __tmp._M_state = _M_state;
1115:  _M_state = _M_state->_M_reset();
1115:       }
1115:     };
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes>
1115:     packaged_task(_Res(*)(_ArgTypes...)) -> packaged_task<_Res(_ArgTypes...)>;
1115: 
1115:   template<typename _Fun, typename _Signature = typename
1115:     __function_guide_helper<decltype(&_Fun::operator())>::type>
1115:     packaged_task(_Fun) -> packaged_task<_Signature>;
1115: 
1115: 
1115: 
1115:   template<typename _Res, typename... _ArgTypes>
1115:     inline void
1115:     swap(packaged_task<_Res(_ArgTypes...)>& __x,
1115:   packaged_task<_Res(_ArgTypes...)>& __y) noexcept
1115:     { __x.swap(__y); }
1115: # 1653 "/usr/include/c++/12/future" 3
1115:   template<typename _BoundFn, typename _Res>
1115:     class __future_base::_Deferred_state final
1115:     : public __future_base::_State_base
1115:     {
1115:     public:
1115:       template<typename... _Args>
1115:  explicit
1115:  _Deferred_state(_Args&&... __args)
1115:  : _M_result(new _Result<_Res>()),
1115:    _M_fn{{std::forward<_Args>(__args)...}}
1115:  { }
1115: 
1115:     private:
1115:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1115:       _Ptr_type _M_result;
1115:       _BoundFn _M_fn;
1115: 
1115: 
1115:       virtual void
1115:       _M_complete_async()
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:         _M_set_result(_S_task_setter(_M_result, _M_fn), true);
1115:       }
1115: 
1115: 
1115: 
1115:       virtual bool _M_is_deferred_future() const { return true; }
1115:     };
1115: 
1115: 
1115:   class __future_base::_Async_state_commonV2
1115:     : public __future_base::_State_base
1115:   {
1115:   protected:
1115:     ~_Async_state_commonV2() = default;
1115: # 1710 "/usr/include/c++/12/future" 3
1115:     virtual void _M_complete_async() { _M_join(); }
1115: 
1115:     void _M_join() { std::call_once(_M_once, &thread::join, &_M_thread); }
1115: 
1115:     thread _M_thread;
1115:     once_flag _M_once;
1115:   };
1115: 
1115: 
1115: 
1115:   template<typename _BoundFn, typename _Res>
1115:     class __future_base::_Async_state_impl final
1115:     : public __future_base::_Async_state_commonV2
1115:     {
1115:     public:
1115:       template<typename... _Args>
1115:  explicit
1115:  _Async_state_impl(_Args&&... __args)
1115:  : _M_result(new _Result<_Res>()),
1115:    _M_fn{{std::forward<_Args>(__args)...}}
1115:  {
1115:    _M_thread = std::thread{&_Async_state_impl::_M_run, this};
1115:  }
1115: 
1115: 
1115: 
1115: 
1115:       ~_Async_state_impl()
1115:       {
1115:  if (_M_thread.joinable())
1115:    _M_thread.join();
1115:       }
1115: 
1115:     private:
1115:       void
1115:       _M_run()
1115:       {
1115:  try
1115:    {
1115:      _M_set_result(_S_task_setter(_M_result, _M_fn));
1115:    }
1115:  catch(const __cxxabiv1::__forced_unwind&)
1115:    {
1115: 
1115:      if (static_cast<bool>(_M_result))
1115:        this->_M_break_promise(std::move(_M_result));
1115:      throw;
1115:    }
1115:       }
1115: 
1115:       typedef __future_base::_Ptr<_Result<_Res>> _Ptr_type;
1115:       _Ptr_type _M_result;
1115:       _BoundFn _M_fn;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     [[__nodiscard__]] future<__async_result_of<_Fn, _Args...>>
1115:     async(launch __policy, _Fn&& __fn, _Args&&... __args)
1115:     {
1115:       using _Wr = std::thread::_Call_wrapper<_Fn, _Args...>;
1115:       using _As = __future_base::_Async_state_impl<_Wr>;
1115:       using _Ds = __future_base::_Deferred_state<_Wr>;
1115: 
1115:       std::shared_ptr<__future_base::_State_base> __state;
1115:       if ((__policy & launch::async) == launch::async)
1115:  {
1115:    try
1115:      {
1115:        __state = std::make_shared<_As>(std::forward<_Fn>(__fn),
1115:            std::forward<_Args>(__args)...);
1115:      }
1115: 
1115:    catch(const system_error& __e)
1115:      {
1115:        if (__e.code() != errc::resource_unavailable_try_again
1115:     || (__policy & launch::deferred) != launch::deferred)
1115:   throw;
1115:      }
1115: 
1115:  }
1115:       if (!__state)
1115:  {
1115:    __state = std::make_shared<_Ds>(std::forward<_Fn>(__fn),
1115:        std::forward<_Args>(__args)...);
1115:  }
1115:       return future<__async_result_of<_Fn, _Args...>>(std::move(__state));
1115:     }
1115: 
1115: 
1115:   template<typename _Fn, typename... _Args>
1115:     [[__nodiscard__]] inline future<__async_result_of<_Fn, _Args...>>
1115:     async(_Fn&& __fn, _Args&&... __args)
1115:     {
1115:       return std::async(launch::async| 
1412: 
1412: 
1412: template <typename ParseContext>
1412: class dynamic_specs_handler
1412:     : public specs_setter<typename ParseContext::char_type> {
1412:  public:
1412:   using char_type = typename ParseContext::char_type;
1412: 
1412:   constexpr dynamic_specs_handler(dynamic_format_specs<char_type>& specs,
1412:                                       ParseContext& ctx)
1412:       : specs_setter<char_type>(specs), specs_(specs), context_(ctx) {}
1412: 
1412:   constexpr dynamic_specs_handler(const dynamic_specs_handler& other)
1412:       : specs_setter<char_type>(other),
1412:         specs_(other.specs_),
1412:         context_(other.context_) {}
1412: 
1412:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1412:     specs_.width_ref = make_arg_ref(arg_id);
1412:   }
1412: 
1412:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1412:     specs_.precision_ref = make_arg_ref(arg_id);
1412:   }
1412: 
1412:   constexpr void on_error(const char* message) {
1412:     context_.on_error(message);
1412:   }
1412: 
1412:  private:
1412:   dynamic_format_specs<char_type>& specs_;
1412:   ParseContext& context_;
1412: 
1412:   using arg_ref_type = arg_ref<char_type>;
1412: 
1412:   constexpr auto make_arg_ref(int arg_id) -> arg_ref_type {
1412:     context_.check_arg_id(arg_id);
1412:     context_.check_dynamic_spec(arg_id);
1412:     return arg_ref_type(arg_id);
1412:   }
1412: 
1412:   constexpr auto make_arg_ref(auto_id) -> arg_ref_type {
1412:     int arg_id = context_.next_arg_id();
1412:     context_.check_dynamic_spec(arg_id);
1412:     return arg_ref_type(arg_id);
1412:   }
1412: 
1412:   constexpr auto make_arg_ref(basic_string_view<char_type> arg_id)
1412:       -> arg_ref_type {
1412:     context_.check_arg_id(arg_id);
1412:     basic_string_view<char_type> format_str(
1412:         context_.begin(), to_unsigned(context_.end() - context_.begin()));
1412:     return arg_ref_type(arg_id);
1412:   }
1412: };
1412: 
1412: template <typename Char> constexpr bool is_ascii_letter(Char c) {
1412:   return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
1412: }
1412: 
1412: 
1412: template <typename Char, enable_if_t<(std::is_integral<Char>::value), int> = 0>
1412: constexpr auto to_ascii(Char c) -> Char {
1412:   return c;
1412: }
1412: template <typename Char, enable_if_t<(std::is_enum<Char>::value), int> = 0>
1412: constexpr auto to_ascii(Char c) -> underlying_t<Char> {
1412:   return c;
1412: }
1412: 
1412: constexpr inline auto code_point_length_impl(char c) -> int {
1412:   return "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4"
1412:       [static_cast<unsigned char>(c) >> 3];
1412: }
1412: 
1412: template <typename Char>
1412: constexpr auto code_point_length(const Char* begin) -> int {
1412:   if (const_check(sizeof(Char) != 1)) return 1;
1412:   int len = code_point_length_impl(static_cast<char>(*begin));
1412: 
1412: 
1412: 
1412: 
1412:   return len + !len;
1412: }
1412: 
1412: 
1412: template <bool IS_CONSTEXPR, typename T, typename Ptr = const T*>
1412: constexpr auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool {
1412:   for (out = first; out != last; ++out) {
1412:     if (*out == value) return true;
1412:   }
1412:   return false;
1412: }
1412: 
1412: template <>
1412: inline auto find<false, char>(const char* first, const char* last, char value,
1412:                               const char*& out) -> bool {
1412:   out = static_cast<const char*>(
1412:       std::memchr(first, value, to_unsigned(last - first)));
1412:   return out != nullptr;
1412: }
1412: 
1412: 
1412: 
1412: template <typename Char>
1412: constexpr auto parse_nonnegative_int(const Char*& begin, const Char* end,
1412:                                          int error_value) noexcept -> int {
1412:   ::fmt::detail::ignore_unused((begin != end && '0' <= *begin && *begin <= '9'), (""));
1412:   unsigned value = 0, prev = 0;
1412:   auto p = begin;
1412:   do {
1412:     prev = value;
1412:     value = value * 10 + unsigned(*p - '0');
1412:     ++p;
1412:   } while (p != end && '0' <= *p && *p <= '9');
1412:   auto num_digits = p - begin;
1412:   begin = p;
1412:   if (num_digits <= std::numeric_limits<int>::digits10)
1412:     return static_cast<int>(value);
1412: 
1412:   const unsigned max = to_unsigned((std::numeric_limits<int>::max)());
1412:   return num_digits == std::numeric_limits<int>::digits10 + 1 &&
1412:                  prev * 10ull + unsigned(p[-1] - '0') <= max
1412:              ? static_cast<int>(value)
1412:              : error_value;
1412: }
1412: 
1412: 
1412: template <typename Char, typename Handler>
1412: constexpr auto parse_align(const Char* begin, const Char* end,
1412:                                Handler&& handler) -> const Char* {
1412:   ::fmt::detail::ignore_unused((begin != end), (""));
1412:   auto align = align::none;
1412:   auto p = begin + code_point_length(begin);
1412:   if (end - p <= 0) p = begin;
1412:   for (;;) {
1412:     switch (to_ascii(*p)) {
1412:     case '<':
1412:       align = align::left;
1412:       break;
1412:     case '>':
1412:       align = align::right;
1412:       break;
1412:     case '^':
1412:       align = align::center;
1412:       break;
1412:     default:
1412:       break;
1412:     }
1412:     if (align != align::none) {
1412:       if (p != begin) {
1412:         auto c = *begin;
1412:         if (c == '{')
1412:           return handler.on_error("invalid fill character '{'"), begin;
1412:         handler.on_fill(basic_string_view<Char>(begin, to_unsigned(p - begin)));
1412:         begin = p + 1;
1412:       } else
1412:         ++begin;
1412:       handler.on_align(align);
1412:       break;
1412:     } else if (p == begin) {
1412:       break;
1412:     }
1412:     p = begin;
1412:   }
1412:   return begin;
1412: }
1412: 
1412: template <typename Char> constexpr bool is_name_start(Char c) {
1412:   return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || '_' == c;
1412: }
1412: 
1412: template <typename Char, typename IDHandler>
1412: constexpr auto do_parse_arg_id(const Char* begin, const Char* end,
1412:                                    IDHandler&& handler) -> const Char* {
1412:   ::fmt::detail::ignore_unused((begin != end), (""));
1412:   Char c = *begin;
1412:   if (c >= '0' && c <= '9') {
1412:     int index = 0;
1412:     if (c != '0')
1412:       index =
1412:           parse_nonnegative_int(begin, end, (std::numeric_limits<int>::max)());
1412:     else
1412:       ++begin;
1412:     if (begin == end || (*begin != '}' && *begin != ':'))
1412:       handler.on_error("invalid format string");
1412:     else
1412:       handler(index);
1412:     return begin;
1412:   }
1412:   if (!is_name_start(c)) {
1412:     handler.on_error("invalid format string");
1412:     return begin;
1412:   }
1412:   auto it = begin;
1412:   do {
1412:     ++it;
1412:   } while (it != end && (is_name_start(c = *it) || ('0' <= c && c <= '9')));
1412:   handler(basic_string_view<Char>(begin, to_unsigned(it - begin)));
1412:   return it;
1412: }
1412: 
1412: template <typename Char, typename IDHandler>
1412: constexpr inline __attribute__((always_inline)) auto parse_arg_id(const Char* begin, const Char* end,
1412:                                            IDHandler&& handler) -> const Char* {
1412:   Char c = *begin;
1412:   if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler);
1412:   handler();
1412:   return begin;
1412: }
1412: 
1412: template <typename Char, typename Handler>
1412: constexpr auto parse_width(const Char* begin, const Char* end,
1412:                                Handler&& handler) -> const Char* {
1412:   using detail::auto_id;
1412:   struct width_adapter {
1412:     Handler& handler;
1412: 
1412:     constexpr void operator()() { handler.on_dynamic_width(auto_id()); }
1412:     constexpr void operator()(int id) { handler.on_dynamic_width(id); }
1412:     constexpr void operator()(basic_string_view<Char> id) {
1412:       handler.on_dynamic_width(id);
1412:     }
1412:     constexpr void on_error(const char* message) {
1412:       if (message) handler.on_error(message);
1412:  launch::deferred,
1115:    std::forward<_Fn>(__fn),
1115:    std::forward<_Args>(__args)...);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1115: enum class ThreadPriority
1115: {
1115:   LOWEST,
1115:   BELOW_NORMAL,
1115:   NORMAL,
1115:   ABOVE_NORMAL,
1115:   HIGHEST,
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   PRIORITY_COUNT,
1115: };
1115: 
1115: class IRunnable;
1115: class IThreadImpl;
1115: class CThread
1115: {
1115: protected:
1115:   explicit CThread(const char* ThreadName);
1115: 
1115: public:
1115:   CThread(IRunnable* pRunnable, const char* ThreadName);
1115:   virtual ~CThread();
1115:   void Create(bool bAutoDelete = false);
1115: 
1115:   template<typename Rep, typename Period>
1115:   void Sleep(std::chrono::duration<Rep, Period> duration)
1115:   {
1115:     if (duration > std::chrono::milliseconds(10) && IsCurrentThread())
1115:       m_StopEvent.Wait(duration);
1115:     else
1115:       std::this_thread::sleep_for(duration);
1115:   }
1115: 
1115:   bool IsAutoDelete() const;
1115:   virtual void StopThread(bool bWait = true);
1115:   bool IsRunning() const;
1115: 
1115:   bool IsCurrentThread() const;
1115:   bool Join(std::chrono::milliseconds duration);
1115: 
1115:   inline static const std::thread::id GetCurrentThreadId()
1115:   {
1115:     return std::this_thread::get_id();
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SetPriority(const ThreadPriority& priority);
1115: 
1115:   static CThread* GetCurrentThread();
1115: 
1115:   virtual void OnException(){}
1115: 
1115: protected:
1115:   virtual void OnStartup() {}
1115:   virtual void OnExit() {}
1115:   virtual void Process();
1115: 
1115:   std::atomic<bool> m_bStop;
1115: 
1115:   enum WaitResponse { WAIT_INTERRUPTED = -1, WAIT_SIGNALED = 0, WAIT_TIMEDOUT = 1 };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline WaitResponse AbortableWait(CEvent& event,
1115:                                     std::chrono::milliseconds duration =
1115:                                         std::chrono::milliseconds(-1) )
1115:   {
1115:     XbmcThreads::CEventGroup group{&event, &m_StopEvent};
1115:     const CEvent* result =
1115:         duration < std::chrono::milliseconds::zero() ? group.wait() : group.wait(duration);
1115:     return result == &event ? WAIT_SIGNALED :
1115:       (result == 
1115: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h" 3 4
1115:                 __null 
1115: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/Thread.h"
1115:                      ? WAIT_TIMEDOUT : WAIT_INTERRUPTED);
1115:   }
1115: 
1115: private:
1115:   void Action();
1115: 
1115:   bool m_bAutoDelete = false;
1115:   CEvent m_StopEvent;
1115:   CEvent m_StartEvent;
1115:   CCriticalSection m_CriticalSection;
1115:   IRunnable* m_pRunnable;
1115: 
1115:   std::string m_ThreadName;
1115:   std::thread* m_thread = nullptr;
1115:   std::future<bool> m_future;
1115: 
1115:   std::unique_ptr<IThreadImpl> m_impl;
1115: };
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 2
1115: 
1115: # 1 "/usr/include/c++/12/queue" 1 3
1115: # 58 "/usr/include/c++/12/queue" 3
1115:        
1115: # 59 "/usr/include/c++/12/queue" 3
1115: 
1115: # 1 "/usr/include/c++/12/deque" 1 3
1115: # 58 "/usr/include/c++/12/deque" 3
1115:        
1115: # 59 "/usr/include/c++/12/deque" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stl_deque.h" 1 3
1115: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1115: 
1115: # 72 "/usr/include/c++/12/bits/stl_deque.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: # 95 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:   constexpr inline size_t
1115:   __deque_buf_size(size_t __size)
1115:   { return (__size < 512
1115:      ? size_t(512 / __size) : size_t(1)); }
1115: # 112 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:   template<typename _Tp, typename _Ref, typename _Ptr>
1115:     struct _Deque_iterator
1115:     {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     private:
1115:       template<typename _CvTp>
1115:  using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_rebind<_Ptr, _CvTp>>;
1115:     public:
1115:       typedef __iter<_Tp> iterator;
1115:       typedef __iter<const _Tp> const_iterator;
1115:       typedef __ptr_rebind<_Ptr, _Tp> _Elt_pointer;
1115:       typedef __ptr_rebind<_Ptr, _Elt_pointer> _Map_pointer;
1115: 
1115: 
1115:       static size_t _S_buffer_size() noexcept
1115:       { return __deque_buf_size(sizeof(_Tp)); }
1115: 
1115:       typedef std::random_access_iterator_tag iterator_category;
1115:       typedef _Tp value_type;
1115:       typedef _Ptr pointer;
1115:       typedef _Ref reference;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef _Deque_iterator _Self;
1115: 
1115:       _Elt_pointer _M_cur;
1115:       _Elt_pointer _M_first;
1115:       _Elt_pointer _M_last;
1115:       _Map_pointer _M_node;
1115: 
1115:       _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept
1115:       : _M_cur(__x), _M_first(*__y),
1115:  _M_last(*__y + _S_buffer_size()), _M_node(__y) { }
1115: 
1115:       _Deque_iterator() noexcept
1115:       : _M_cur(), _M_first(), _M_last(), _M_node() { }
1115: # 161 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename _Iter,
1115:         typename = _Require<is_same<_Self, const_iterator>,
1115:        is_same<_Iter, iterator>>>
1115:        _Deque_iterator(const _Iter& __x) noexcept
1115:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
1115:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1115: 
1115:       _Deque_iterator(const _Deque_iterator& __x) noexcept
1115:        : _M_cur(__x._M_cur), _M_first(__x._M_first),
1115:   _M_last(__x._M_last), _M_node(__x._M_node) { }
1115: 
1115:       _Deque_iterator& operator=(const _Deque_iterator&) = default;
1115: 
1115: 
1115:       iterator
1115:       _M_const_cast() const noexcept
1115:       { return iterator(_M_cur, _M_node); }
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       operator*() const noexcept
1115:       { return *_M_cur; }
1115: 
1115:       [[__nodiscard__]]
1115:       pointer
1115:       operator->() const noexcept
1115:       { return _M_cur; }
1115: 
1115:       _Self&
1115:       operator++() noexcept
1115:       {
1115:  ++_M_cur;
1115:  if (_M_cur == _M_last)
1115:    {
1115:      _M_set_node(_M_node + 1);
1115:      _M_cur = _M_first;
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator++(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  ++*this;
1115:  return __tmp;
1115:       }
1115: 
1115:       _Self&
1115:       operator--() noexcept
1115:       {
1115:  if (_M_cur == _M_first)
1115:    {
1115:      _M_set_node(_M_node - 1);
1115:      _M_cur = _M_last;
1115:    }
1115:  --_M_cur;
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator--(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  --*this;
1115:  return __tmp;
1115:       }
1115: 
1115:       _Self&
1115:       operator+=(difference_type __n) noexcept
1115:       {
1115:  const difference_type __offset = __n + (_M_cur - _M_first);
1115:  if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
1115:    _M_cur += __n;
1115:  else
1115:    {
1115:      const difference_type __node_offset =
1115:        __offset > 0 ? __offset / difference_type(_S_buffer_size())
1115:       : -difference_type((-__offset - 1)
1115:            / _S_buffer_size()) - 1;
1115:      _M_set_node(_M_node + __node_offset);
1115:      _M_cur = _M_first + (__offset - __node_offset
1115:      * difference_type(_S_buffer_size()));
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:       _Self&
1115:       operator-=(difference_type __n) noexcept
1115:       { return *this += -__n; }
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       o   }
1412:   };
1412: 
1412:   ::fmt::detail::ignore_unused((begin != end), (""));
1412:   if ('0' <= *begin && *begin <= '9') {
1412:     int width = parse_nonnegative_int(begin, end, -1);
1412:     if (width != -1)
1412:       handler.on_width(width);
1412:     else
1412:       handler.on_error("number is too big");
1412:   } else if (*begin == '{') {
1412:     ++begin;
1412:     if (begin != end) begin = parse_arg_id(begin, end, width_adapter{handler});
1412:     if (begin == end || *begin != '}')
1412:       return handler.on_error("invalid format string"), begin;
1412:     ++begin;
1412:   }
1412:   return begin;
1412: }
1412: 
1412: template <typename Char, typename Handler>
1412: constexpr auto parse_precision(const Char* begin, const Char* end,
1412:                                    Handler&& handler) -> const Char* {
1412:   using detail::auto_id;
1412:   struct precision_adapter {
1412:     Handler& handler;
1412: 
1412:     constexpr void operator()() { handler.on_dynamic_precision(auto_id()); }
1412:     constexpr void operator()(int id) { handler.on_dynamic_precision(id); }
1412:     constexpr void operator()(basic_string_view<Char> id) {
1412:       handler.on_dynamic_precision(id);
1412:     }
1412:     constexpr void on_error(const char* message) {
1412:       if (message) handler.on_error(message);
1412:     }
1412:   };
1412: 
1412:   ++begin;
1412:   auto c = begin != end ? *begin : Char();
1412:   if ('0' <= c && c <= '9') {
1412:     auto precision = parse_nonnegative_int(begin, end, -1);
1412:     if (precision != -1)
1412:       handler.on_precision(precision);
1412:     else
1412:       handler.on_error("number is too big");
1412:   } else if (c == '{') {
1412:     ++begin;
1412:     if (begin != end)
1412:       begin = parse_arg_id(begin, end, precision_adapter{handler});
1412:     if (begin == end || *begin++ != '}')
1412:       return handler.on_error("invalid format string"), begin;
1412:   } else {
1412:     return handler.on_error("missing precision specifier"), begin;
1412:   }
1412:   handler.end_precision();
1412:   return begin;
1412: }
1412: 
1412: template <typename Char>
1412: constexpr auto parse_presentation_type(Char type) -> presentation_type {
1412:   switch (to_ascii(type)) {
1412:   case 'd':
1412:     return presentation_type::dec;
1412:   case 'o':
1412:     return presentation_type::oct;
1412:   case 'x':
1412:     return presentation_type::hex_lower;
1412:   case 'X':
1412:     return presentation_type::hex_upper;
1412:   case 'b':
1412:     return presentation_type::bin_lower;
1412:   case 'B':
1412:     return presentation_type::bin_upper;
1412:   case 'a':
1412:     return presentation_type::hexfloat_lower;
1412:   case 'A':
1412:     return presentation_type::hexfloat_upper;
1412:   case 'e':
1412:     return presentation_type::exp_lower;
1412:   case 'E':
1412:     return presentation_type::exp_upper;
1412:   case 'f':
1412:     return presentation_type::fixed_lower;
1412:   case 'F':
1412:     return presentation_type::fixed_upper;
1412:   case 'g':
1412:     return presentation_type::general_lower;
1412:   case 'G':
1412:     return presentation_type::general_upper;
1412:   case 'c':
1412:     return presentation_type::chr;
1412:   case 's':
1412:     return presentation_type::string;
1412:   case 'p':
1412:     return presentation_type::pointer;
1412:   case '?':
1412:     return presentation_type::debug;
1412:   default:
1412:     return presentation_type::none;
1412:   }
1412: }
1412: 
1412: 
1412: 
1412: template <typename Char, typename SpecHandler>
1412: constexpr inline __attribute__((always_inline)) auto parse_format_specs(const Char* begin,
1412:                                                  const Char* end,
1412:                                                  SpecHandler&& handler)
1412:     -> const Char* {
1412:   if (1 < end - begin && begin[1] == '}' && is_ascii_letter(*begin) &&
1412:       *begin != 'L') {
1412:     presentation_type type = parse_presentation_type(*begin++);
1412:     if (type == presentation_type::none)
1412:       handler.on_error("invalid type specifier");
1412:     handler.on_type(type);
1412:     return begin;
1412:   }
1412: 
1412:   if (begin == end) return begin;
1412: 
1412:   begin = parse_align(begin, end, handler);
1412:   if (begin == end) return begin;
1412: 
1412: 
1412:   switch (to_ascii(*begin)) {
1412:   case '+':
1412:     handler.on_sign(sign::plus);
1412:     ++begin;
1412:     break;
1412:   case '-':
1412:     handler.on_sign(sign::minus);
1412:     ++begin;
1412:     break;
1412:   case ' ':
1412:     handler.on_sign(sign::space);
1412:     ++begin;
1412:     break;
1412:   default:
1412:     break;
1412:   }
1412:   if (begin == end) return begin;
1412: 
1412:   if (*begin == '#') {
1412:     handler.on_hash();
1412:     if (++begin == end) return begin;
1412:   }
1412: 
1412: 
1412:   if (*begin == '0') {
1412:     handler.on_zero();
1412:     if (++begin == end) return begin;
1412:   }
1412: 
1412:   begin = parse_width(begin, end, handler);
1412:   if (begin == end) return begin;
1412: 
1412: 
1412:   if (*begin == '.') {
1412:     begin = parse_precision(begin, end, handler);
1412:     if (begin == end) return begin;
1412:   }
1412: 
1412:   if (*begin == 'L') {
1412:     handler.on_localized();
1412:     ++begin;
1412:   }
1412: 
1412: 
1412:   if (begin != end && *begin != '}') {
1412:     presentation_type type = parse_presentation_type(*begin++);
1412:     if (type == presentation_type::none)
1412:       handler.on_error("invalid type specifier");
1412:     handler.on_type(type);
1412:   }
1412:   return begin;
1412: }
1412: 
1412: template <typename Char, typename Handler>
1412: constexpr auto parse_replacement_field(const Char* begin, const Char* end,
1412:                                            Handler&& handler) -> const Char* {
1412:   struct id_adapter {
1412:     Handler& handler;
1412:     int arg_id;
1412: 
1412:     constexpr void operator()() { arg_id = handler.on_arg_id(); }
1412:     constexpr void operator()(int id) { arg_id = handler.on_arg_id(id); }
1412:     constexpr void operator()(basic_string_view<Char> id) {
1412:       arg_id = handler.on_arg_id(id);
1412:     }
1412:     constexpr void on_error(const char* message) {
1412:       if (message) handler.on_error(message);
1412:     }
1412:   };
1412: 
1412:   ++begin;
1412:   if (begin == end) return handler.on_error("invalid format string"), end;
1412:   if (*begin == '}') {
1412:     handler.on_replacement_field(handler.on_arg_id(), begin);
1412:   } else if (*begin == '{') {
1412:     handler.on_text(begin, begin + 1);
1412:   } else {
1412:     auto adapter = id_adapter{handler, 0};
1412:     begin = parse_arg_id(begin, end, adapter);
1412:     Char c = begin != end ? *begin : Char();
1412:     if (c == '}') {
1412:       handler.on_replacement_field(adapter.arg_id, begin);
1412:     } else if (c == ':') {
1412:       begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
1412:       if (begin == end || *begin != '}')
1412:         return handler.on_error("unknown format specifier"), end;
1412:     } else {
1412:       return handler.on_error("missing '}' in format string"), end;
1412:     }
1412:   }
1412:   return begin + 1;
1412: }
1412: 
1412: template <bool IS_CONSTEXPR, typename Char, typename Handler>
1412: constexpr inline __attribute__((always_inline)) void parse_format_string(
1412:     basic_string_view<Char> format_str, Handler&& handler) {
1412: 
1412:   using detail::find;
1412: 
1412:   auto begin = format_str.data();
1412:   auto end = begin + format_str.size();
1412:   if (end - begin < 32) {
1412: 
1412:     const Char* p = begin;
1412:     while (p != end) {
1412:       auto c = *p++;
1412:       if (c == '{') {
1412:         handler.on_text(begin, p - 1);
1412:         begin = p = parse_replacement_field(p - 1, end, handler);
1412:       } else if (c == '}') {
1412:         if (p == end || *p != '}')
1412:           return handler.on_error("unmatched '}' in format string");
1412:         handler.on_text(begin, p);
1412:         begin = ++p;
1412:       }
1412:     }
1412:     handler.on_text(begin, endperator[](difference_type __n) const noexcept
1115:       { return *(*this + __n); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_set_node(_Map_pointer __new_node) noexcept
1115:       {
1115:  _M_node = __new_node;
1115:  _M_first = *__new_node;
1115:  _M_last = _M_first + difference_type(_S_buffer_size());
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator==(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_cur == __y._M_cur; }
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _RefR, typename _PtrR>
1115:  [[__nodiscard__]]
1115:  friend bool
1115:  operator==(const _Self& __x,
1115:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1115:  noexcept
1115:  { return __x._M_cur == __y._M_cur; }
1115: # 296 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator!=(const _Self& __x, const _Self& __y) noexcept
1115:       { return !(__x == __y); }
1115: 
1115:       template<typename _RefR, typename _PtrR>
1115:  [[__nodiscard__]]
1115:  friend bool
1115:  operator!=(const _Self& __x,
1115:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1115:  noexcept
1115:  { return !(__x == __y); }
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator<(const _Self& __x, const _Self& __y) noexcept
1115:       {
1115:  return (__x._M_node == __y._M_node)
1115:    ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1115:       }
1115: 
1115:       template<typename _RefR, typename _PtrR>
1115:  [[__nodiscard__]]
1115:  friend bool
1115:  operator<(const _Self& __x,
1115:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1115:  noexcept
1115:  {
1115:    return (__x._M_node == __y._M_node)
1115:      ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node);
1115:  }
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator>(const _Self& __x, const _Self& __y) noexcept
1115:       { return __y < __x; }
1115: 
1115:       template<typename _RefR, typename _PtrR>
1115:  [[__nodiscard__]]
1115:  friend bool
1115:  operator>(const _Self& __x,
1115:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1115:  noexcept
1115:  { return __y < __x; }
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator<=(const _Self& __x, const _Self& __y) noexcept
1115:       { return !(__y < __x); }
1115: 
1115:       template<typename _RefR, typename _PtrR>
1115:  [[__nodiscard__]]
1115:  friend bool
1115:  operator<=(const _Self& __x,
1115:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1115:  noexcept
1115:  { return !(__y < __x); }
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator>=(const _Self& __x, const _Self& __y) noexcept
1115:       { return !(__x < __y); }
1115: 
1115:       template<typename _RefR, typename _PtrR>
1115:  [[__nodiscard__]]
1115:  friend bool
1115:  operator>=(const _Self& __x,
1115:      const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1115:  noexcept
1115:  { return !(__x < __y); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       friend difference_type
1115:       operator-(const _Self& __x, const _Self& __y) noexcept
1115:       {
1115:  return difference_type(_S_buffer_size())
1115:    * (__x._M_node - __y._M_node - bool(__x._M_node))
1115:    + (__x._M_cur - __x._M_first)
1115:    + (__y._M_last - __y._M_cur);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _RefR, typename _PtrR>
1115:  [[__nodiscard__]]
1115:  friend difference_type
1115:  operator-(const _Self& __x,
1115:     const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
1115:  noexcept
1115:  {
1115:    return difference_type(_S_buffer_size())
1115:      * (__x._M_node - __y._M_node - bool(__x._M_node))
1115:      + (__x._M_cur - __x._M_first)
1115:      + (__y._M_last - __y._M_cur);
1115:  }
1115: 
1115:       [[__nodiscard__]]
1115:       friend _Self
1115:       operator+(const _Self& __x, difference_type __n) noexcept
1115:       {
1115:  _Self __tmp = __x;
1115:  __tmp += __n;
1115:  return __tmp;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       friend _Self
1115:       operator-(const _Self& __x, difference_type __n) noexcept
1115:       {
1115:  _Self __tmp = __x;
1115:  __tmp -= __n;
1115:  return __tmp;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       friend _Self
1115:       operator+(difference_type __n, const _Self& __x) noexcept
1115:       { return __x + __n; }
1115:     };
1115: # 429 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     class _Deque_base
1115:     {
1115:     protected:
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_Tp>::other _Tp_alloc_type;
1115:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef typename _Alloc_traits::pointer _Ptr;
1115:       typedef typename _Alloc_traits::const_pointer _Ptr_const;
1115: 
1115: 
1115:       typedef typename _Alloc_traits::template rebind<_Ptr>::other
1115:  _Map_alloc_type;
1115:       typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits;
1115: 
1115:       typedef _Alloc allocator_type;
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_M_get_Tp_allocator()); }
1115: 
1115:       typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator;
1115:       typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator;
1115: 
1115:       _Deque_base()
1115:       : _M_impl()
1115:       { _M_initialize_map(0); }
1115: 
1115:       _Deque_base(size_t __num_elements)
1115:       : _M_impl()
1115:       { _M_initialize_map(__num_elements); }
1115: 
1115:       _Deque_base(const allocator_type& __a, size_t __num_elements)
1115:       : _M_impl(__a)
1115:       { _M_initialize_map(__num_elements); }
1115: 
1115:       _Deque_base(const allocator_type& __a)
1115:       : _M_impl(__a)
1115:       { }
1115: 
1115: 
1115:       _Deque_base(_Deque_base&& __x)
1115:       : _M_impl(std::move(__x._M_get_Tp_allocator()))
1115:       {
1115:  _M_initialize_map(0);
1115:  if (__x._M_impl._M_map)
1115:    this->_M_impl._M_swap_data(__x._M_impl);
1115:       }
1115: 
1115:       _Deque_base(_Deque_base&& __x, const allocator_type& __a)
1115:       : _M_impl(std::move(__x._M_impl), _Tp_alloc_type(__a))
1115:       { __x._M_initialize_map(0); }
1115: 
1115:       _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_t __n)
1115:       : _M_impl(__a)
1115:       {
1115:  if (__x.get_allocator() == __a)
1115:    {
1115:      if (__x._M_impl._M_map)
1115:        {
1115:   _M_initialize_map(0);
1115:   this->_M_impl._M_swap_data(__x._M_impl);
1115:        }
1115:    }
1115:  else
1115:    {
1115:      _M_initialize_map(__n);
1115:    }
1115:       }
1115: 
1115: 
1115:       ~_Deque_base() noexcept;
1115: 
1115:       typedef typename iterator::_Map_pointer _Map_pointer;
1115: 
1115:       struct _Deque_impl_data
1115:       {
1115:  _Map_pointer _M_map;
1115:  size_t _M_map_size;
1115:  iterator _M_start;
1115:  iterator _M_finish;
1115: 
1115:  _Deque_impl_data() noexcept
1115:  : _M_map(), _M_map_size(), _M_start(), _M_finish()
1115:  { }
1115: 
1115: 
1115:  _Deque_impl_data(const _Deque_impl_data&) = default;
1115:  _Deque_impl_data&
1115:  operator=(const _Deque_impl_data&) = default;
1115: 
1115:  _Deque_impl_data(_Deque_impl_data&& __x) noexcept
1115:  : _Deque_impl_data(__x)
1115:  { __x = _Deque_impl_data(); }
1115: 
1115: 
1115:  void
1115:  _M_swap_data(_Deque_impl_data& __x) noexcept
1115:  {
1115: 
1115: 
1115:    std::swap(*this, __x);
1115:  }
1115:       };
1115: 
1115: 
1115: 
1115: 
1115:       struct _Deque_impl
1115:       : public _Tp_alloc_type, public _Deque_impl_data
1115:       {
1115:  _Deque_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
1115: 
1115:  : _Tp_alloc_type()
1115:  { }
1115: 
1115:  _Deque_impl(const _Tp_alloc_type& __a) noexcept
1115:  : _Tp_alloc_type(__a)
1115:  { }
1115: 
1115: 
1115:  _Dequ);
1412:     return;
1412:   }
1412:   struct writer {
1412:     constexpr void operator()(const Char* from, const Char* to) {
1412:       if (from == to) return;
1412:       for (;;) {
1412:         const Char* p = nullptr;
1412:         if (!find<IS_CONSTEXPR>(from, to, Char('}'), p))
1412:           return handler_.on_text(from, to);
1412:         ++p;
1412:         if (p == to || *p != '}')
1412:           return handler_.on_error("unmatched '}' in format string");
1412:         handler_.on_text(from, p);
1412:         from = p + 1;
1412:       }
1412:     }
1412:     Handler& handler_;
1412:   } write = {handler};
1412:   while (begin != end) {
1412: 
1412: 
1412:     const Char* p = begin;
1412:     if (*begin != '{' && !find<IS_CONSTEXPR>(begin + 1, end, Char('{'), p))
1412:       return write(begin, end);
1412:     write(begin, p);
1412:     begin = parse_replacement_field(p, end, handler);
1412:   }
1412: }
1412: 
1412: template <typename T, bool = is_named_arg<T>::value> struct strip_named_arg {
1412:   using type = T;
1412: };
1412: template <typename T> struct strip_named_arg<T, true> {
1412:   using type = remove_cvref_t<decltype(T::value)>;
1412: };
1412: 
1412: template <typename T, typename ParseContext>
1412: constexpr auto parse_format_specs(ParseContext& ctx)
1412:     -> decltype(ctx.begin()) {
1412:   using char_type = typename ParseContext::char_type;
1412:   using context = buffer_context<char_type>;
1412:   using stripped_type = typename strip_named_arg<T>::type;
1412:   using mapped_type = conditional_t<
1412:       mapped_type_constant<T, context>::value != type::custom_type,
1412:       decltype(arg_mapper<context>().map(std::declval<const T&>())),
1412:       stripped_type>;
1412:   auto f = conditional_t<has_formatter<mapped_type, context>::value,
1412:                          formatter<mapped_type, char_type>,
1412:                          fallback_formatter<stripped_type, char_type>>();
1412:   return f.parse(ctx);
1412: }
1412: 
1412: template <typename ErrorHandler>
1412: constexpr void check_int_type_spec(presentation_type type,
1412:                                        ErrorHandler&& eh) {
1412:   if (type > presentation_type::bin_upper && type != presentation_type::chr)
1412:     eh.on_error("invalid type specifier");
1412: }
1412: 
1412: 
1412: template <typename Char, typename ErrorHandler = error_handler>
1412: constexpr auto check_char_specs(const basic_format_specs<Char>& specs,
1412:                                     ErrorHandler&& eh = {}) -> bool {
1412:   if (specs.type != presentation_type::none &&
1412:       specs.type != presentation_type::chr &&
1412:       specs.type != presentation_type::debug) {
1412:     check_int_type_spec(specs.type, eh);
1412:     return false;
1412:   }
1412:   if (specs.align == align::numeric || specs.sign != sign::none || specs.alt)
1412:     eh.on_error("invalid format specifier for char");
1412:   return true;
1412: }
1412: 
1412: 
1412: enum class float_format : unsigned char {
1412:   general,
1412:   exp,
1412:   fixed,
1412:   hex
1412: };
1412: 
1412: struct float_specs {
1412:   int precision;
1412:   float_format format : 8;
1412:   sign_t sign : 8;
1412:   bool upper : 1;
1412:   bool locale : 1;
1412:   bool binary32 : 1;
1412:   bool showpoint : 1;
1412: };
1412: 
1412: template <typename ErrorHandler = error_handler, typename Char>
1412: constexpr auto parse_float_type_spec(const basic_format_specs<Char>& specs,
1412:                                          ErrorHandler&& eh = {})
1412:     -> float_specs {
1412:   auto result = float_specs();
1412:   result.showpoint = specs.alt;
1412:   result.locale = specs.localized;
1412:   switch (specs.type) {
1412:   case presentation_type::none:
1412:     result.format = float_format::general;
1412:     break;
1412:   case presentation_type::general_upper:
1412:     result.upper = true;
1412:     [[fallthrough]];
1412:   case presentation_type::general_lower:
1412:     result.format = float_format::general;
1412:     break;
1412:   case presentation_type::exp_upper:
1412:     result.upper = true;
1412:     [[fallthrough]];
1412:   case presentation_type::exp_lower:
1412:     result.format = float_format::exp;
1412:     result.showpoint |= specs.precision != 0;
1412:     break;
1412:   case presentation_type::fixed_upper:
1412:     result.upper = true;
1412:     [[fallthrough]];
1412:   case presentation_type::fixed_lower:
1412:     result.format = float_format::fixed;
1412:     result.showpoint |= specs.precision != 0;
1412:     break;
1412:   case presentation_type::hexfloat_upper:
1412:     result.upper = true;
1412:     [[fallthrough]];
1412:   case presentation_type::hexfloat_lower:
1412:     result.format = float_format::hex;
1412:     break;
1412:   default:
1412:     eh.on_error("invalid type specifier");
1412:     break;
1412:   }
1412:   return result;
1412: }
1412: 
1412: template <typename ErrorHandler = error_handler>
1412: constexpr auto check_cstring_type_spec(presentation_type type,
1412:                                            ErrorHandler&& eh = {}) -> bool {
1412:   if (type == presentation_type::none || type == presentation_type::string ||
1412:       type == presentation_type::debug)
1412:     return true;
1412:   if (type != presentation_type::pointer) eh.on_error("invalid type specifier");
1412:   return false;
1412: }
1412: 
1412: template <typename ErrorHandler = error_handler>
1412: constexpr void check_string_type_spec(presentation_type type,
1412:                                           ErrorHandler&& eh = {}) {
1412:   if (type != presentation_type::none && type != presentation_type::string &&
1412:       type != presentation_type::debug)
1412:     eh.on_error("invalid type specifier");
1412: }
1412: 
1412: template <typename ErrorHandler>
1412: constexpr void check_pointer_type_spec(presentation_type type,
1412:                                            ErrorHandler&& eh) {
1412:   if (type != presentation_type::none && type != presentation_type::pointer)
1412:     eh.on_error("invalid type specifier");
1412: }
1412: 
1412: 
1412: 
1412: template <typename Handler> class specs_checker : public Handler {
1412:  private:
1412:   detail::type arg_type_;
1412: 
1412:   constexpr void require_numeric_argument() {
1412:     if (!is_arithmetic_type(arg_type_))
1412:       this->on_error("format specifier requires numeric argument");
1412:   }
1412: 
1412:  public:
1412:   constexpr specs_checker(const Handler& handler, detail::type arg_type)
1412:       : Handler(handler), arg_type_(arg_type) {}
1412: 
1412:   constexpr void on_align(align_t align) {
1412:     if (align == align::numeric) require_numeric_argument();
1412:     Handler::on_align(align);
1412:   }
1412: 
1412:   constexpr void on_sign(sign_t s) {
1412:     require_numeric_argument();
1412:     if (is_integral_type(arg_type_) && arg_type_ != type::int_type &&
1412:         arg_type_ != type::long_long_type && arg_type_ != type::int128_type &&
1412:         arg_type_ != type::char_type) {
1412:       this->on_error("format specifier requires signed argument");
1412:     }
1412:     Handler::on_sign(s);
1412:   }
1412: 
1412:   constexpr void on_hash() {
1412:     require_numeric_argument();
1412:     Handler::on_hash();
1412:   }
1412: 
1412:   constexpr void on_localized() {
1412:     require_numeric_argument();
1412:     Handler::on_localized();
1412:   }
1412: 
1412:   constexpr void on_zero() {
1412:     require_numeric_argument();
1412:     Handler::on_zero();
1412:   }
1412: 
1412:   constexpr void end_precision() {
1412:     if (is_integral_type(arg_type_) || arg_type_ == type::pointer_type)
1412:       this->on_error("precision not allowed for this argument type");
1412:   }
1412: };
1412: 
1412: constexpr int invalid_arg_index = -1;
1412: # 2924 "/usr/include/fmt/core.h" 3 4
1412: template <typename... Args, typename Char>
1412: constexpr auto get_arg_index_by_name(basic_string_view<Char> name) -> int {
1412: 
1412: 
1412: 
1412: 
1412:   (void)name;
1412:   return invalid_arg_index;
1412: }
1412: 
1412: template <typename Char, typename ErrorHandler, typename... Args>
1412: class format_string_chece_impl(_Deque_impl&&) = default;
1115: 
1115:  _Deque_impl(_Tp_alloc_type&& __a) noexcept
1115:  : _Tp_alloc_type(std::move(__a))
1115:  { }
1115: 
1115:  _Deque_impl(_Deque_impl&& __d, _Tp_alloc_type&& __a)
1115:  : _Tp_alloc_type(std::move(__a)), _Deque_impl_data(std::move(__d))
1115:  { }
1115: 
1115:       };
1115: 
1115:       _Tp_alloc_type&
1115:       _M_get_Tp_allocator() noexcept
1115:       { return this->_M_impl; }
1115: 
1115:       const _Tp_alloc_type&
1115:       _M_get_Tp_allocator() const noexcept
1115:       { return this->_M_impl; }
1115: 
1115:       _Map_alloc_type
1115:       _M_get_map_allocator() const noexcept
1115:       { return _Map_alloc_type(_M_get_Tp_allocator()); }
1115: 
1115:       _Ptr
1115:       _M_allocate_node()
1115:       {
1115:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1115:  return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp)));
1115:       }
1115: 
1115:       void
1115:       _M_deallocate_node(_Ptr __p) noexcept
1115:       {
1115:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits;
1115:  _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp)));
1115:       }
1115: 
1115:       _Map_pointer
1115:       _M_allocate_map(size_t __n)
1115:       {
1115:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1115:  return _Map_alloc_traits::allocate(__map_alloc, __n);
1115:       }
1115: 
1115:       void
1115:       _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept
1115:       {
1115:  _Map_alloc_type __map_alloc = _M_get_map_allocator();
1115:  _Map_alloc_traits::deallocate(__map_alloc, __p, __n);
1115:       }
1115: 
1115:       void _M_initialize_map(size_t);
1115:       void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish);
1115:       void _M_destroy_nodes(_Map_pointer __nstart,
1115:        _Map_pointer __nfinish) noexcept;
1115:       enum { _S_initial_map_size = 8 };
1115: 
1115:       _Deque_impl _M_impl;
1115:     };
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     _Deque_base<_Tp, _Alloc>::
1115:     ~_Deque_base() noexcept
1115:     {
1115:       if (this->_M_impl._M_map)
1115:  {
1115:    _M_destroy_nodes(this->_M_impl._M_start._M_node,
1115:       this->_M_impl._M_finish._M_node + 1);
1115:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1115:  }
1115:     }
1115: # 636 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     _Deque_base<_Tp, _Alloc>::
1115:     _M_initialize_map(size_t __num_elements)
1115:     {
1115:       const size_t __num_nodes = (__num_elements / __deque_buf_size(sizeof(_Tp))
1115:       + 1);
1115: 
1115:       this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
1115:         size_t(__num_nodes + 2));
1115:       this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       _Map_pointer __nstart = (this->_M_impl._M_map
1115:           + (this->_M_impl._M_map_size - __num_nodes) / 2);
1115:       _Map_pointer __nfinish = __nstart + __num_nodes;
1115: 
1115:       try
1115:  { _M_create_nodes(__nstart, __nfinish); }
1115:       catch(...)
1115:  {
1115:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1115:    this->_M_impl._M_map = _Map_pointer();
1115:    this->_M_impl._M_map_size = 0;
1115:    throw;
1115:  }
1115: 
1115:       this->_M_impl._M_start._M_set_node(__nstart);
1115:       this->_M_impl._M_finish._M_set_node(__nfinish - 1);
1115:       this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
1115:       this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
1115:      + __num_elements
1115:      % __deque_buf_size(sizeof(_Tp)));
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     _Deque_base<_Tp, _Alloc>::
1115:     _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish)
1115:     {
1115:       _Map_pointer __cur;
1115:       try
1115:  {
1115:    for (__cur = __nstart; __cur < __nfinish; ++__cur)
1115:      *__cur = this->_M_allocate_node();
1115:  }
1115:       catch(...)
1115:  {
1115:    _M_destroy_nodes(__nstart, __cur);
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     _Deque_base<_Tp, _Alloc>::
1115:     _M_destroy_nodes(_Map_pointer __nstart,
1115:        _Map_pointer __nfinish) noexcept
1115:     {
1115:       for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n)
1115:  _M_deallocate_node(*__n);
1115:     }
1115: # 787 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1115:     class deque : protected _Deque_base<_Tp, _Alloc>
1115:     {
1115: # 800 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1115:    "std::deque must have a non-const, non-volatile value_type");
1115: 
1115:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1115:    "std::deque must have the same value_type as its allocator");
1115: 
1115: 
1115: 
1115:       typedef _Deque_base<_Tp, _Alloc> _Base;
1115:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1115:       typedef typename _Base::_Alloc_traits _Alloc_traits;
1115:       typedef typename _Base::_Map_pointer _Map_pointer;
1115: 
1115:     public:
1115:       typedef _Tp value_type;
1115:       typedef typename _Alloc_traits::pointer pointer;
1115:       typedef typename _Alloc_traits::const_pointer const_pointer;
1115:       typedef typename _Alloc_traits::reference reference;
1115:       typedef typename _Alloc_traits::const_reference const_reference;
1115:       typedef typename _Base::iterator iterator;
1115:       typedef typename _Base::const_iterator const_iterator;
1115:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1115:       typedef std::reverse_iterator<iterator> reverse_iterator;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef _Alloc allocator_type;
1115: 
1115:     private:
1115:       static size_t _S_buffer_size() noexcept
1115:       { return __deque_buf_size(sizeof(_Tp)); }
1115: 
1115: 
1115:       using _Base::_M_initialize_map;
1115:       using _Base::_M_create_nodes;
1115:       using _Base::_M_destroy_nodes;
1115:       using _Base::_M_allocate_node;
1115:       using _Base::_M_deallocate_node;
1115:       using _Base::_M_allocate_map;
1115:       using _Base::_M_deallocate_map;
1115:       using _Base::_M_get_Tp_allocator;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       using _Base::_M_impl;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       deque() = default;
1115: # 864 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       explicit
1115:       deque(const allocator_type& __a)
1115:       : _Base(__a, 0) { }
1115: # 877 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       explicit
1115:       deque(size_type __n, const allocator_type& __a = allocator_type())
1115:       : _Base(__a, _S_check_init_len(__n, __a))
1115:       { _M_default_initialize(); }
1115: # 890 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       deque(size_type __n, const value_type& __value,
1115:      const allocator_type& __a = allocator_type())
1115:       : _Base(__a, _S_check_init_len(__n, __a))
1115:       { _M_fill_initialize(__value); }
1115: # 917 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       deque(const deque& __x)
1115:       : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()),
1115:        __x.size())
1115:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1115:         this->_M_impl._M_start,
1115:         _M_get_Tp_allocator()); }
1115: # 933 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       deque(deque&&) = default;
1115: 
1115: 
1115:       deque(const deque& __x, const __type_identity_t<allocator_type>& __a)
1115:       : _Base(__a, __x.size())
1115:       { std::__uninitialized_copy_a(__x.begin(), __x.end(),
1115:         this->_M_impl._M_start,
1115:         _M_get_Tp_allocator()); }
1115: 
1115ker {
1412:  private:
1412: 
1412: 
1412: 
1412:   using parse_context_type = compile_parse_context<Char, ErrorHandler>;
1412:   static constexpr int num_args = sizeof...(Args);
1412: 
1412: 
1412:   using parse_func = const Char* (*)(parse_context_type&);
1412: 
1412:   parse_context_type context_;
1412:   parse_func parse_funcs_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1412:   type types_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1412: 
1412:  public:
1412:   explicit constexpr format_string_checker(
1412:       basic_string_view<Char> format_str, ErrorHandler eh)
1412:       : context_(format_str, num_args, types_, eh),
1412:         parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
1412:         types_{
1412:             mapped_type_constant<Args,
1412:                                  basic_format_context<Char*, Char>>::value...} {
1412:   }
1412: 
1412:   constexpr void on_text(const Char*, const Char*) {}
1412: 
1412:   constexpr auto on_arg_id() -> int { return context_.next_arg_id(); }
1412:   constexpr auto on_arg_id(int id) -> int {
1412:     return context_.check_arg_id(id), id;
1412:   }
1412:   constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     (void)id;
1412:     on_error("compile-time checks for named arguments require C++20 support");
1412:     return 0;
1412: 
1412:   }
1412: 
1412:   constexpr void on_replacement_field(int, const Char*) {}
1412: 
1412:   constexpr auto on_format_specs(int id, const Char* begin, const Char*)
1412:       -> const Char* {
1412:     context_.advance_to(context_.begin() + (begin - &*context_.begin()));
1412: 
1412:     return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin;
1412:   }
1412: 
1412:   constexpr void on_error(const char* message) {
1412:     context_.on_error(message);
1412:   }
1412: };
1412: 
1412: 
1412: template <typename..., typename S, enable_if_t<(!is_compile_string<S>::value), int> = 0>
1412: inline __attribute__((always_inline)) void check_format_string(const S&) {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: template <typename... Args, typename S,
1412:           enable_if_t<(is_compile_string<S>::value), int> = 0>
1412: void check_format_string(S format_str) {
1412:   constexpr auto s = basic_string_view<typename S::char_type>(format_str);
1412:   using checker = format_string_checker<typename S::char_type, error_handler,
1412:                                         remove_cvref_t<Args>...>;
1412:   constexpr bool invalid_format =
1412:       (parse_format_string<true>(s, checker(s, {})), true);
1412:   ignore_unused(invalid_format);
1412: }
1412: 
1412: template <typename Char>
1412: void vformat_to(
1412:     buffer<Char>& buf, basic_string_view<Char> fmt,
1412:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1412:     locale_ref loc = {});
1412: 
1412:  void vprint_mojibake(std::FILE*, string_view, format_args);
1412: 
1412: inline void vprint_mojibake(std::FILE*, string_view, format_args) {}
1412: 
1412: }
1412: 
1412: 
1412: 
1412: template <typename T, typename Char>
1412: struct formatter<T, Char,
1412:                  enable_if_t<detail::type_constant<T, Char>::value !=
1412:                              detail::type::custom_type>> {
1412:  private:
1412:   detail::dynamic_format_specs<Char> specs_;
1412: 
1412:  public:
1412: 
1412: 
1412:   template <typename ParseContext>
1412:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1412:     auto begin = ctx.begin(), end = ctx.end();
1412:     if (begin == end) return begin;
1412:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1412:     auto type = detail::type_constant<T, Char>::value;
1412:     auto checker =
1412:         detail::specs_checker<handler_type>(handler_type(specs_, ctx), type);
1412:     auto it = detail::parse_format_specs(begin, end, checker);
1412:     auto eh = ctx.error_handler();
1412:     switch (type) {
1412:     case detail::type::none_type:
1412:       ::fmt::detail::ignore_unused((false), ("invalid argument type"));
1412:       break;
1412:     case detail::type::bool_type:
1412:       if (specs_.type == presentation_type::none ||
1412:           specs_.type == presentation_type::string) {
1412:         break;
1412:       }
1412:       [[fallthrough]];
1412:     case detail::type::int_type:
1412:     case detail::type::uint_type:
1412:     case detail::type::long_long_type:
1412:     case detail::type::ulong_long_type:
1412:     case detail::type::int128_type:
1412:     case detail::type::uint128_type:
1412:       detail::check_int_type_spec(specs_.type, eh);
1412:       break;
1412:     case detail::type::char_type:
1412:       detail::check_char_specs(specs_, eh);
1412:       break;
1412:     case detail::type::float_type:
1412:       if (detail::const_check(1))
1412:         detail::parse_float_type_spec(specs_, eh);
1412:       else
1412:         ::fmt::detail::ignore_unused((false), ("float support disabled"));
1412:       break;
1412:     case detail::type::double_type:
1412:       if (detail::const_check(1))
1412:         detail::parse_float_type_spec(specs_, eh);
1412:       else
1412:         ::fmt::detail::ignore_unused((false), ("double support disabled"));
1412:       break;
1412:     case detail::type::long_double_type:
1412:       if (detail::const_check(1))
1412:         detail::parse_float_type_spec(specs_, eh);
1412:       else
1412:         ::fmt::detail::ignore_unused((false), ("long double support disabled"));
1412:       break;
1412:     case detail::type::cstring_type:
1412:       detail::check_cstring_type_spec(specs_.type, eh);
1412:       break;
1412:     case detail::type::string_type:
1412:       detail::check_string_type_spec(specs_.type, eh);
1412:       break;
1412:     case detail::type::pointer_type:
1412:       detail::check_pointer_type_spec(specs_.type, eh);
1412:       break;
1412:     case detail::type::custom_type:
1412: 
1412: 
1412:       break;
1412:     }
1412:     return it;
1412:   }
1412: 
1412:   template <detail::type U = detail::type_constant<T, Char>::value,
1412:             enable_if_t<(U == detail::type::string_type ||
1412:                          U == detail::type::cstring_type ||
1412:                          U == detail::type::char_type),
1412:                         int> = 0>
1412:   constexpr void set_debug_format() {
1412:     specs_.type = presentation_type::debug;
1412:   }
1412: 
1412:   template <typename FormatContext>
1412:   constexpr auto format(const T& val, FormatContext& ctx) const
1412:       -> decltype(ctx.out());
1412: };
1412: # 3126 "/usr/include/fmt/core.h" 3 4
1412: template <typename Char> struct formatter<signed char, Char> : formatter<int, Char> { template <typename FormatContext> auto format(signed char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1412: template <typename Char> struct formatter<unsigned char, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1412: template <typename Char> struct formatter<short, Char> : formatter<int, Char> { template <typename FormatContext> auto format(short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1412: template <typename Char> struct formatter<unsigned short, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1412: template <typename Char> struct formatter<long, Char> : formatter<long long, Char> { template <typename FormatContext> auto format(long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<long long, Char>::format(static_cast<long long>(val), ctx); } };
14: 
1115:       deque(deque&& __x, const __type_identity_t<allocator_type>& __a)
1115:       : deque(std::move(__x), __a, typename _Alloc_traits::is_always_equal{})
1115:       { }
1115: 
1115:     private:
1115:       deque(deque&& __x, const allocator_type& __a, true_type)
1115:       : _Base(std::move(__x), __a)
1115:       { }
1115: 
1115:       deque(deque&& __x, const allocator_type& __a, false_type)
1115:       : _Base(std::move(__x), __a, __x.size())
1115:       {
1115:  if (__x.get_allocator() != __a && !__x.empty())
1115:    {
1115:      std::__uninitialized_move_a(__x.begin(), __x.end(),
1115:      this->_M_impl._M_start,
1115:      _M_get_Tp_allocator());
1115:      __x.clear();
1115:    }
1115:       }
1115: 
1115:     public:
1115: # 976 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       deque(initializer_list<value_type> __l,
1115:      const allocator_type& __a = allocator_type())
1115:       : _Base(__a)
1115:       {
1115:  _M_range_initialize(__l.begin(), __l.end(),
1115:        random_access_iterator_tag());
1115:       }
1115: # 1001 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  deque(_InputIterator __first, _InputIterator __last,
1115:        const allocator_type& __a = allocator_type())
1115:  : _Base(__a)
1115:  {
1115:    _M_range_initialize(__first, __last,
1115:          std::__iterator_category(__first));
1115:  }
1115: # 1027 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       ~deque()
1115:       { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); }
1115: # 1039 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       deque&
1115:       operator=(const deque& __x);
1115: # 1051 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       deque&
1115:       operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal())
1115:       {
1115:  using __always_equal = typename _Alloc_traits::is_always_equal;
1115:  _M_move_assign1(std::move(__x), __always_equal{});
1115:  return *this;
1115:       }
1115: # 1070 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       deque&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  _M_assign_aux(__l.begin(), __l.end(),
1115:         random_access_iterator_tag());
1115:  return *this;
1115:       }
1115: # 1089 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       assign(size_type __n, const value_type& __val)
1115:       { _M_fill_assign(__n, __val); }
1115: # 1106 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  void
1115:  assign(_InputIterator __first, _InputIterator __last)
1115:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
1115: # 1133 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       assign(initializer_list<value_type> __l)
1115:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return _Base::get_allocator(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       begin() noexcept
1115:       { return this->_M_impl._M_start; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return this->_M_impl._M_start; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       end() noexcept
1115:       { return this->_M_impl._M_finish; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       end() const noexcept
1115:       { return this->_M_impl._M_finish; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return reverse_iterator(this->_M_impl._M_finish); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reverse_iterator
1115:       rend() noexcept
1115:       { return reverse_iterator(this->_M_impl._M_start); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(this->_M_impl._M_start); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return this->_M_impl._M_start; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return this->_M_impl._M_finish; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return const_reverse_iterator(this->_M_impl._M_finish); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crend() const noexcept
1115:       { return const_reverse_iterator(this->_M_impl._M_start); }
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       size() const noexcept
1115:       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _S_max_size(_M_get_Tp_allocator()); }
1115: # 1287 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       resize(size_type __new_size)
1115:       {
1115:  const size_type __len = size();
1115:  if (__new_size > __len)
1115:    _M_default_append(__new_size - __len);
1115:  else if (__new_size < __len)
1115:    _M_erase_at_end(this->_M_impl._M_start
1115:      + difference_type(__new_size));
1115:       }
1115: # 1309 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       resize(size_type __new_size, const value_type& __x)
1115: # 1326 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       {
1115:  const size_type __len = size();
1115:  if (__new_size > __len)
1115:    _M_fill_insert(this->_M_impl._M_finish, __new_size - __len, __x);
1115:  else if (__new_size < __len)
1115:    _M_erase_at_end(this->_M_impl._M_start
1115:      + difference_type(__new_size));
1115:       }
1115: 
1115: 
1115: 
1115:       void
1115:       shrink_to_fit() noexcept
1115:       { _M_shrink_to_fit(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
1115: # 1362 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       [[__nodiscard__]]
1115:       reference
1115:       operator[](size_type __n) noexcept
1115:       {
1115:  ;
1115:  return this->_M_impl._M_start[difference_type(__n)];
1115:       }
1115: # 1381 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       operator[](size_type __n) const noexcept
1115:       {
1115:  ;
1115:  return this->_M_impl._M_start[difference_type(__n)];
1115:       }
1115: 
1115:     protected:
1115: 
1115:       void
1115:       _M_range_check(size_type __n) const
1115:       {
1115:  if (__n >= this->size())
1115:    __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)")
1115: 
1115:                             ,
1115:        __n, this->size());
1115:       }
1115: 
1115:     public:
1115: # 1413 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       reference
1115:       at(size_type __n)
1115:       {
1115:  _M_range_check(__n);
1115:  return (*this)[__n];
1115:       }
1115: # 1431 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       const_reference
1115: 12: template <typename Char> struct formatter<unsigned long, Char> : formatter<unsigned long long, Char> { template <typename FormatContext> auto format(unsigned long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned long long, Char>::format(static_cast<unsigned long long>(val), ctx); } };
1412: template <typename Char> struct formatter<Char*, Char> : formatter<const Char*, Char> { template <typename FormatContext> auto format(Char* const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const Char*, Char>::format(static_cast<const Char*>(val), ctx); } };
1412: template <typename Char> struct formatter<std::basic_string<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(std::basic_string<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1412: template <typename Char> struct formatter<std::nullptr_t, Char> : formatter<const void*, Char> { template <typename FormatContext> auto format(std::nullptr_t const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const void*, Char>::format(static_cast<const void*>(val), ctx); } };
1412: template <typename Char> struct formatter<detail::std_string_view<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(detail::std_string_view<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1412: 
1412: template <typename Char> struct basic_runtime { basic_string_view<Char> str; };
1412: 
1412: 
1412: template <typename Char, typename... Args> class basic_format_string {
1412:  private:
1412:   basic_string_view<Char> str_;
1412: 
1412:  public:
1412:   template <typename S,
1412:             enable_if_t<(std::is_convertible<const S&, basic_string_view<Char>>::value), int> = 0
1412:                                                                               >
1412:   inline __attribute__((always_inline)) basic_format_string(const S& s) : str_(s) {
1412:     static_assert(
1412:         detail::count<
1412:             (std::is_base_of<detail::view, remove_reference_t<Args>>::value &&
1412:              std::is_reference<Args>::value)...>() == 0,
1412:         "passing views as lvalues is disallowed");
1412: # 3162 "/usr/include/fmt/core.h" 3 4
1412:     detail::check_format_string<Args...>(s);
1412: 
1412:   }
1412:   basic_format_string(basic_runtime<Char> r) : str_(r.str) {}
1412: 
1412:   inline __attribute__((always_inline)) operator basic_string_view<Char>() const { return str_; }
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename... Args>
1412: using format_string = basic_format_string<char, type_identity_t<Args>...>;
1412: # 3187 "/usr/include/fmt/core.h" 3 4
1412: inline auto runtime(string_view s) -> basic_runtime<char> { return {{s}}; }
1412: 
1412: 
1412:  auto vformat(string_view fmt, format_args args) -> std::string;
1412: # 3203 "/usr/include/fmt/core.h" 3 4
1412: template <typename... T>
1412: [[nodiscard]] inline __attribute__((always_inline)) auto format(format_string<T...> fmt, T&&... args)
1412:     -> std::string {
1412:   return vformat(fmt, fmt::make_format_args(args...));
1412: }
1412: 
1412: 
1412: template <typename OutputIt,
1412:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1412: auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt {
1412:   using detail::get_buffer;
1412:   auto&& buf = get_buffer<char>(out);
1412:   detail::vformat_to(buf, fmt, args, {});
1412:   return detail::get_iterator(buf);
1412: }
1412: # 3231 "/usr/include/fmt/core.h" 3 4
1412: template <typename OutputIt, typename... T,
1412:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1412: inline __attribute__((always_inline)) auto format_to(OutputIt out, format_string<T...> fmt, T&&... args)
1412:     -> OutputIt {
1412:   return vformat_to(out, fmt, fmt::make_format_args(args...));
1412: }
1412: 
1412: template <typename OutputIt> struct format_to_n_result {
1412: 
1412:   OutputIt out;
1412: 
1412:   size_t size;
1412: };
1412: 
1412: template <typename OutputIt, typename... T,
1412:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1412: auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args)
1412:     -> format_to_n_result<OutputIt> {
1412:   using traits = detail::fixed_buffer_traits;
1412:   auto buf = detail::iterator_buffer<OutputIt, char, traits>(out, n);
1412:   detail::vformat_to(buf, fmt, args, {});
1412:   return {buf.out(), buf.count()};
1412: }
1412: # 3263 "/usr/include/fmt/core.h" 3 4
1412: template <typename OutputIt, typename... T,
1412:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1412: inline __attribute__((always_inline)) auto format_to_n(OutputIt out, size_t n, format_string<T...> fmt,
1412:                             T&&... args) -> format_to_n_result<OutputIt> {
1412:   return vformat_to_n(out, n, fmt, fmt::make_format_args(args...));
1412: }
1412: 
1412: 
1412: template <typename... T>
1412: [[nodiscard]] inline __attribute__((always_inline)) auto formatted_size(format_string<T...> fmt,
1412:                                              T&&... args) -> size_t {
1412:   auto buf = detail::counting_buffer<>();
1412:   detail::vformat_to(buf, string_view(fmt), fmt::make_format_args(args...), {});
1412:   return buf.count();
1412: }
1412: 
1412:  void vprint(string_view fmt, format_args args);
1412:  void vprint(std::FILE* f, string_view fmt, format_args args);
1412: # 3292 "/usr/include/fmt/core.h" 3 4
1412: template <typename... T>
1412: inline __attribute__((always_inline)) void print(format_string<T...> fmt, T&&... args) {
1412:   const auto& vargs = fmt::make_format_args(args...);
1412:   return detail::is_utf8() ? vprint(fmt, vargs)
1412:                            : detail::vprint_mojibake(stdout, fmt, vargs);
1412: }
1412: # 3309 "/usr/include/fmt/core.h" 3 4
1412: template <typename... T>
1412: inline __attribute__((always_inline)) void print(std::FILE* f, format_string<T...> fmt, T&&... args) {
1412:   const auto& vargs = fmt::make_format_args(args...);
1412:   return detail::is_utf8() ? vprint(f, fmt, vargs)
1412:                            : detail::vprint_mojibake(f, fmt, vargs);
1412: }
1412: 
1412: 
1412: 
1412: # 3317 "/usr/include/fmt/core.h" 3 4
1412: #pragma GCC pop_options
1412: # 3317 "/usr/include/fmt/core.h" 3 4
1412: 
1412: } }
1412: # 28 "/usr/include/spdlog/fmt/fmt.h" 2 3 4
1412: # 1 "/usr/include/fmt/format.h" 1 3 4
1412: # 36 "/usr/include/fmt/format.h" 3 4
1412: # 1 "/usr/include/c++/12/cmath" 1 3 4
1412: # 39 "/usr/include/c++/12/cmath" 3 4
1412:        
1412: # 40 "/usr/include/c++/12/cmath" 3
1412: # 37 "/usr/include/fmt/format.h" 2 3 4
1412: 
1412: # 1 "/usr/include/c++/12/cstring" 1 3 4
1412: # 39 "/usr/include/c++/12/cstring" 3 4
1412:        
1412: # 40 "/usr/include/c++/12/cstring" 3
1412: # 39 "/usr/include/fmt/format.h" 2 3 4
1412: # 48 "/usr/include/fmt/format.h" 3 4
1412: # 1 "/usr/include/fmt/core.h" 1 3 4
1412: # 49 "/usr/include/fmt/format.h" 2 3 4
1412: # 242 "/usr/include/fmt/format.h" 3 4
1412: namespace fmt { inline namespace v9 {
1412: namespace detail {
1412: 
1412: constexpr inline void abort_fuzzing_if(bool condition) {
1412:   ignore_unused(condition);
1412: 
1412: 
1412: 
1412: }
1412: 
1412: template <typename CharT, CharT... C> struct string_literal {
1412:   static constexpr CharT value[sizeof...(C)] = {C...};
1412:   constexpr operator basic_string_view<CharT>() const {
1412:     return {value, sizeof...(C)};
1412:   }
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename Streambuf> class formatbuf : public Streambuf {
1412:  private:
1412:   using char_type = typename Streambuf::char_type;
1412:   using streamsize = decltype(std::declval<Streambuf>().spu      at(size_type __n) const
1115:       {
1115:  _M_range_check(__n);
1115:  return (*this)[__n];
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       front() noexcept
1115:       {
1115:  ;
1115:  return *begin();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       front() const noexcept
1115:       {
1115:  ;
1115:  return *begin();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       back() noexcept
1115:       {
1115:  ;
1115:  iterator __tmp = end();
1115:  --__tmp;
1115:  return *__tmp;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       back() const noexcept
1115:       {
1115:  ;
1115:  const_iterator __tmp = end();
1115:  --__tmp;
1115:  return *__tmp;
1115:       }
1115: # 1500 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       push_front(const value_type& __x)
1115:       {
1115:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1115:    {
1115:      _Alloc_traits::construct(this->_M_impl,
1115:          this->_M_impl._M_start._M_cur - 1,
1115:          __x);
1115:      --this->_M_impl._M_start._M_cur;
1115:    }
1115:  else
1115:    _M_push_front_aux(__x);
1115:       }
1115: 
1115: 
1115:       void
1115:       push_front(value_type&& __x)
1115:       { emplace_front(std::move(__x)); }
1115: 
1115:       template<typename... _Args>
1115: 
1115:  reference
1115: 
1115: 
1115: 
1115:  emplace_front(_Args&&... __args);
1115: # 1537 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       push_back(const value_type& __x)
1115:       {
1115:  if (this->_M_impl._M_finish._M_cur
1115:      != this->_M_impl._M_finish._M_last - 1)
1115:    {
1115:      _Alloc_traits::construct(this->_M_impl,
1115:          this->_M_impl._M_finish._M_cur, __x);
1115:      ++this->_M_impl._M_finish._M_cur;
1115:    }
1115:  else
1115:    _M_push_back_aux(__x);
1115:       }
1115: 
1115: 
1115:       void
1115:       push_back(value_type&& __x)
1115:       { emplace_back(std::move(__x)); }
1115: 
1115:       template<typename... _Args>
1115: 
1115:  reference
1115: 
1115: 
1115: 
1115:  emplace_back(_Args&&... __args);
1115: # 1573 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       pop_front() noexcept
1115:       {
1115:  ;
1115:  if (this->_M_impl._M_start._M_cur
1115:      != this->_M_impl._M_start._M_last - 1)
1115:    {
1115:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1115:        this->_M_impl._M_start._M_cur);
1115:      ++this->_M_impl._M_start._M_cur;
1115:    }
1115:  else
1115:    _M_pop_front_aux();
1115:       }
1115: # 1596 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       pop_back() noexcept
1115:       {
1115:  ;
1115:  if (this->_M_impl._M_finish._M_cur
1115:      != this->_M_impl._M_finish._M_first)
1115:    {
1115:      --this->_M_impl._M_finish._M_cur;
1115:      _Alloc_traits::destroy(_M_get_Tp_allocator(),
1115:        this->_M_impl._M_finish._M_cur);
1115:    }
1115:  else
1115:    _M_pop_back_aux();
1115:       }
1115: # 1621 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace(const_iterator __position, _Args&&... __args);
1115: # 1634 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       iterator
1115:       insert(const_iterator __position, const value_type& __x);
1115: # 1660 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       iterator
1115:       insert(const_iterator __position, value_type&& __x)
1115:       { return emplace(__position, std::move(__x)); }
1115: # 1674 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       iterator
1115:       insert(const_iterator __p, initializer_list<value_type> __l)
1115:       {
1115:  auto __offset = __p - cbegin();
1115:  _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(),
1115:        std::random_access_iterator_tag());
1115:  return begin() + __offset;
1115:       }
1115: # 1693 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       iterator
1115:       insert(const_iterator __position, size_type __n, const value_type& __x)
1115:       {
1115:  difference_type __offset = __position - cbegin();
1115:  _M_fill_insert(__position._M_const_cast(), __n, __x);
1115:  return begin() + __offset;
1115:       }
1115: # 1727 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  iterator
1115:  insert(const_iterator __position, _InputIterator __first,
1115:         _InputIterator __last)
1115:  {
1115:    difference_type __offset = __position - cbegin();
1115:    _M_range_insert_aux(__position._M_const_cast(), __first, __last,
1115:          std::__iterator_category(__first));
1115:    return begin() + __offset;
1115:  }
1115: # 1773 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       iterator
1115: 
1115:       erase(const_iterator __position)
1115: 
1115: 
1115: 
1115:       { return _M_erase(__position._M_const_cast()); }
1115: # 1797 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       iterator
1115: 
1115:       erase(const_iterator __first, const_iterator __last)
1115: 
1115: 
1115: 
1115:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
1115: # 1816 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       swap(deque& __x) noexcept
1115:       {
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(_Alloc_traits::propagate_on_container_swap::value || _M_get_Tp_allocator() == __x._M_get_Tp_allocator())) __builtin_unreachable(); } while (false)
1115:                                                           ;
1115: 
1115:  _M_impl._M_swap_data(__x._M_impl);
1115:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
1115:       __x._M_get_Tp_allocator());
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       clear() noexcept
1115:       { _M_erase_at_end(begin()); }
1115: 
1115:     protected:
1115: # 1866 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       static size_t
1115:       _S_check_init_len(size_t __n, const allocator_type& __a)
1115:       {
1115:  if (__n > _S_max_size(__a))
1115:    __throw_length_error(
1115:        ("cannot create std::deque larger than max_size()"));
1115:  return __n;
1115:       }
1115: 
1115:       static size_type
1115:       _S_max_size(const _Tp_alloc_type& __a) noexcept
1115:       {
1115:  const size_t __diffmax = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max;
1115:  const size_t __allocmax = _Alloc_traits::max_size(__a);
1115:  return (std::min)(__diffmax, __allocmax);
1115:       }
1115: # 1895 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
1115:        std::input_iterator_tag);
1115: 
1115: 
1115:       template<typename _ForwardIterator>
1115:  void
1115:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1115:        std::forward_iterator_tag);
1115: # 1917 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       _M_fill_initialize(const value_type& __value);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_default_initialize();
1115: # 1948 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
1115:         std::input_iterator_tag);
1115: 
1115: 
1115:       template<typename _ForwardIterator>
1115:  void
1115:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
1115:         std::forward_iterator_tag)
1115:  {
1115:    const size_type __len = std::distance(__first, __last);
1115:    if (__len > size())
1115:      {
1115:        _ForwardIterator __mid = __first;
1115:        std::advance(__mid, size());
1115:        std::copy(__first, __mid, begin());
1115:        _M_range_insert_aux(end(), __mid, __last,
1115:       std::__iterator_category(__first));
1115tn(nullptr, 0));
1412:   using int_type = typename Streambuf::int_type;
1412:   using traits_type = typename Streambuf::traits_type;
1412: 
1412:   buffer<char_type>& buffer_;
1412: 
1412:  public:
1412:   explicit formatbuf(buffer<char_type>& buf) : buffer_(buf) {}
1412: 
1412:  protected:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   auto overflow(int_type ch) -> int_type override {
1412:     if (!traits_type::eq_int_type(ch, traits_type::eof()))
1412:       buffer_.push_back(static_cast<char_type>(ch));
1412:     return ch;
1412:   }
1412: 
1412:   auto xsputn(const char_type* s, streamsize count) -> streamsize override {
1412:     buffer_.append(s, s + count);
1412:     return count;
1412:   }
1412: };
1412: 
1412: 
1412: template <typename To, typename From, enable_if_t<(sizeof(To) == sizeof(From)), int> = 0>
1412:  auto bit_cast(const From& from) -> To {
1412: 
1412: 
1412: 
1412:   auto to = To();
1412: 
1412:   std::memcpy(static_cast<void*>(&to), &from, sizeof(to));
1412:   return to;
1412: }
1412: 
1412: inline auto is_big_endian() -> bool {
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   return 1234 == 4321;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: }
1412: 
1412: class uint128_fallback {
1412:  private:
1412:   uint64_t lo_, hi_;
1412: 
1412:   friend uint128_fallback umul128(uint64_t x, uint64_t y) noexcept;
1412: 
1412:  public:
1412:   constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {}
1412:   constexpr uint128_fallback(uint64_t value = 0) : lo_(value), hi_(0) {}
1412: 
1412:   constexpr uint64_t high() const noexcept { return hi_; }
1412:   constexpr uint64_t low() const noexcept { return lo_; }
1412: 
1412:   template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1412:   constexpr explicit operator T() const {
1412:     return static_cast<T>(lo_);
1412:   }
1412: 
1412:   friend constexpr auto operator==(const uint128_fallback& lhs,
1412:                                    const uint128_fallback& rhs) -> bool {
1412:     return lhs.hi_ == rhs.hi_ && lhs.lo_ == rhs.lo_;
1412:   }
1412:   friend constexpr auto operator!=(const uint128_fallback& lhs,
1412:                                    const uint128_fallback& rhs) -> bool {
1412:     return !(lhs == rhs);
1412:   }
1412:   friend constexpr auto operator>(const uint128_fallback& lhs,
1412:                                   const uint128_fallback& rhs) -> bool {
1412:     return lhs.hi_ != rhs.hi_ ? lhs.hi_ > rhs.hi_ : lhs.lo_ > rhs.lo_;
1412:   }
1412:   friend constexpr auto operator|(const uint128_fallback& lhs,
1412:                                   const uint128_fallback& rhs)
1412:       -> uint128_fallback {
1412:     return {lhs.hi_ | rhs.hi_, lhs.lo_ | rhs.lo_};
1412:   }
1412:   friend constexpr auto operator&(const uint128_fallback& lhs,
1412:                                   const uint128_fallback& rhs)
1412:       -> uint128_fallback {
1412:     return {lhs.hi_ & rhs.hi_, lhs.lo_ & rhs.lo_};
1412:   }
1412:   friend auto operator+(const uint128_fallback& lhs,
1412:                         const uint128_fallback& rhs) -> uint128_fallback {
1412:     auto result = uint128_fallback(lhs);
1412:     result += rhs;
1412:     return result;
1412:   }
1412:   friend auto operator*(const uint128_fallback& lhs, uint32_t rhs)
1412:       -> uint128_fallback {
1412:     ::fmt::detail::ignore_unused((lhs.hi_ == 0), (""));
1412:     uint64_t hi = (lhs.lo_ >> 32) * rhs;
1412:     uint64_t lo = (lhs.lo_ & ~uint32_t()) * rhs;
1412:     uint64_t new_lo = (hi << 32) + lo;
1412:     return {(hi >> 32) + (new_lo < lo ? 1 : 0), new_lo};
1412:   }
1412:   friend auto operator-(const uint128_fallback& lhs, uint64_t rhs)
1412:       -> uint128_fallback {
1412:     return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs};
1412:   }
1412:   constexpr auto operator>>(int shift) const -> uint128_fallback {
1412:     if (shift == 64) return {0, hi_};
1412:     if (shift > 64) return uint128_fallback(0, hi_) >> (shift - 64);
1412:     return {hi_ >> shift, (hi_ << (64 - shift)) | (lo_ >> shift)};
1412:   }
1412:   constexpr auto operator<<(int shift) const -> uint128_fallback {
1412:     if (shift == 64) return {lo_, 0};
1412:     if (shift > 64) return uint128_fallback(lo_, 0) << (shift - 64);
1412:     return {hi_ << shift | (lo_ >> (64 - shift)), (lo_ << shift)};
1412:   }
1412:   constexpr auto operator>>=(int shift) -> uint128_fallback& {
1412:     return *this = *this >> shift;
1412:   }
1412:   constexpr void operator+=(uint128_fallback n) {
1412:     uint64_t new_lo = lo_ + n.lo_;
1412:     uint64_t new_hi = hi_ + n.hi_ + (new_lo < lo_ ? 1 : 0);
1412:     ::fmt::detail::ignore_unused((new_hi >= hi_), (""));
1412:     lo_ = new_lo;
1412:     hi_ = new_hi;
1412:   }
1412: 
1412:   uint128_fallback& operator+=(uint64_t n) noexcept {
1412:     if (is_constant_evaluated()) {
1412:       lo_ += n;
1412:       hi_ += (lo_ < n ? 1 : 0);
1412:       return *this;
1412:     }
1412: # 420 "/usr/include/fmt/format.h" 3 4
1412:     lo_ += n;
1412:     hi_ += (lo_ < n ? 1 : 0);
1412: 
1412:     return *this;
1412:   }
1412: };
1412: 
1412: using uint128_t = conditional_t<0, uint128_opt, uint128_fallback>;
1412: 
1412: 
1412: using uintptr_t = ::uintptr_t;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename T> constexpr auto max_value() -> T {
1412:   return (std::numeric_limits<T>::max)();
1412: }
1412: template <typename T> constexpr auto num_bits() -> int {
1412:   return std::numeric_limits<T>::digits;
1412: }
1412: 
1412: template <> constexpr auto num_bits<int128_opt>() -> int { return 128; }
1412: template <> constexpr auto num_bits<uint128_t>() -> int { return 128; }
1412: 
1412: 
1412: 
1412: template <typename To, typename From, enable_if_t<(sizeof(To) > sizeof(From)), int> = 0>
1412: inline auto bit_cast(const From& from) -> To {
1412:   constexpr auto size = static_cast<int>(sizeof(From) / sizeof(unsigned));
1412:   struct data_t {
1412:     unsigned value[static_cast<unsigned>(size)];
1412:   } data = bit_cast<data_t>(from);
1412:   auto result = To();
1412:   if (const_check(is_big_endian())) {
1412:     for (int i = 0; i < size; ++i)
1412:       result = (result << num_bits<unsigned>()) | data.value[i];
1412:   } else {
1412:     for (int i = size - 1; i >= 0; --i)
1412:       result = (result << num_bits<unsigned>()) | data.value[i];
1412:   }
1412:   return result;
1412: }
1412: 
1412: inline __attribute__((always_inline)) void assume(bool condition) {
1412:   (void)condition;
1412: 
1412: 
1412: 
1412: }
1412: 
1412: 
1412: template <typename T>
1412: using iterator_t = decltype(std::begin(std::declval<T&>()));
1412: template <typename T> using sentinel_t = decltype(std::end(std::declval<T&>()));
1412: 
1412: 
1412: template <typename Char>
1412: inline auto get_data(std::basic_string<Char>& s) -> Char* {
1412:   return &s[0];
1412: }
1412: template <typename Container>
1412: inline auto get_data(Container& c) -> typename Container::value_type* {
1412:   return c.data();
1412: }
1412: # 496 "/usr/include/fmt/format.h" 3 4
1412: template <typename T> using checked_ptr = T*;
1412: template <typename T> constexpr auto make_checked(T* p, size_t) -> T* {
1412:   return p;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1412: 
1412: 
1412: 
1412: inline auto
1412: reserve(std::back_insert_iterator<Container> it, size_t n)
1412:     -> checked_ptr<typename Container::value_type> {
1412:   Container& c = get_container(it);
1412:   size_t size = c.size();
1412:   c.resize(size + n);
1412:   return make_checked(get_data(c) + size, n);
1412: }
1412: 
1412: template <typename T>
1412: inline auto reserve(buffer_appender<T> it, size_t n) -> buffer_appender<T> {
1412:   buffer<T>& buf = get_container(it);
1412:   buf.try_reserve(buf.size() + n);
1412:   return it;
1412: }
1412: 
1412: template <typename Iterator>
1412: constexpr auto reserve(Iterator& it, size_t) -> Iterator& {
1412:   return it;
1412: }
1412: 
1412: template <typename OutputIt>
1412: using reserve_iterator =
1412:     remove_reference_t<decltype(reserve(std::declval<OutputIt&>():      }
1115:    else
1115:      _M_erase_at_end(std::copy(__first, __last, begin()));
1115:  }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_fill_assign(size_type __n, const value_type& __val)
1115:       {
1115:  if (__n > size())
1115:    {
1115:      std::fill(begin(), end(), __val);
1115:      _M_fill_insert(end(), __n - size(), __val);
1115:    }
1115:  else
1115:    {
1115:      _M_erase_at_end(begin() + difference_type(__n));
1115:      std::fill(begin(), end(), __val);
1115:    }
1115:       }
1115: # 1996 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename... _Args>
1115:  void _M_push_back_aux(_Args&&... __args);
1115: 
1115:       template<typename... _Args>
1115:  void _M_push_front_aux(_Args&&... __args);
1115: 
1115: 
1115:       void _M_pop_back_aux();
1115: 
1115:       void _M_pop_front_aux();
1115: # 2035 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       template<typename _InputIterator>
1115:  void
1115:  _M_range_insert_aux(iterator __pos, _InputIterator __first,
1115:        _InputIterator __last, std::input_iterator_tag);
1115: 
1115: 
1115:       template<typename _ForwardIterator>
1115:  void
1115:  _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
1115:        _ForwardIterator __last, std::forward_iterator_tag);
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename... _Args>
1115:  iterator
1115:  _M_insert_aux(iterator __pos, _Args&&... __args);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);
1115: 
1115: 
1115:       template<typename _ForwardIterator>
1115:  void
1115:  _M_insert_aux(iterator __pos,
1115:         _ForwardIterator __first, _ForwardIterator __last,
1115:         size_type __n);
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_destroy_data_aux(iterator __first, iterator __last);
1115: 
1115: 
1115: 
1115:       template<typename _Alloc1>
1115:  void
1115:  _M_destroy_data(iterator __first, iterator __last, const _Alloc1&)
1115:  { _M_destroy_data_aux(__first, __last); }
1115: 
1115:       void
1115:       _M_destroy_data(iterator __first, iterator __last,
1115:         const std::allocator<_Tp>&)
1115:       {
1115:  if (!__has_trivial_destructor(value_type))
1115:    _M_destroy_data_aux(__first, __last);
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_erase_at_begin(iterator __pos)
1115:       {
1115:  _M_destroy_data(begin(), __pos, _M_get_Tp_allocator());
1115:  _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node);
1115:  this->_M_impl._M_start = __pos;
1115:       }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_erase_at_end(iterator __pos)
1115:       {
1115:  _M_destroy_data(__pos, end(), _M_get_Tp_allocator());
1115:  _M_destroy_nodes(__pos._M_node + 1,
1115:     this->_M_impl._M_finish._M_node + 1);
1115:  this->_M_impl._M_finish = __pos;
1115:       }
1115: 
1115:       iterator
1115:       _M_erase(iterator __pos);
1115: 
1115:       iterator
1115:       _M_erase(iterator __first, iterator __last);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_default_append(size_type __n);
1115: 
1115:       bool
1115:       _M_shrink_to_fit();
1115: 
1115: 
1115: 
1115: 
1115:       iterator
1115:       _M_reserve_elements_at_front(size_type __n)
1115:       {
1115:  const size_type __vacancies = this->_M_impl._M_start._M_cur
1115:           - this->_M_impl._M_start._M_first;
1115:  if (__n > __vacancies)
1115:    _M_new_elements_at_front(__n - __vacancies);
1115:  return this->_M_impl._M_start - difference_type(__n);
1115:       }
1115: 
1115:       iterator
1115:       _M_reserve_elements_at_back(size_type __n)
1115:       {
1115:  const size_type __vacancies = (this->_M_impl._M_finish._M_last
1115:            - this->_M_impl._M_finish._M_cur) - 1;
1115:  if (__n > __vacancies)
1115:    _M_new_elements_at_back(__n - __vacancies);
1115:  return this->_M_impl._M_finish + difference_type(__n);
1115:       }
1115: 
1115:       void
1115:       _M_new_elements_at_front(size_type __new_elements);
1115: 
1115:       void
1115:       _M_new_elements_at_back(size_type __new_elements);
1115: # 2167 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:       void
1115:       _M_reserve_map_at_back(size_type __nodes_to_add = 1)
1115:       {
1115:  if (__nodes_to_add + 1 > this->_M_impl._M_map_size
1115:      - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
1115:    _M_reallocate_map(__nodes_to_add, false);
1115:       }
1115: 
1115:       void
1115:       _M_reserve_map_at_front(size_type __nodes_to_add = 1)
1115:       {
1115:  if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
1115:            - this->_M_impl._M_map))
1115:    _M_reallocate_map(__nodes_to_add, true);
1115:       }
1115: 
1115:       void
1115:       _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_move_assign1(deque&& __x, true_type) noexcept
1115:       {
1115:  this->_M_impl._M_swap_data(__x._M_impl);
1115:  __x.clear();
1115:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_move_assign1(deque&& __x, false_type)
1115:       {
1115:  if (_M_get_Tp_allocator() == __x._M_get_Tp_allocator())
1115:    return _M_move_assign1(std::move(__x), true_type());
1115: 
1115:  constexpr bool __move_storage =
1115:    _Alloc_traits::_S_propagate_on_move_assign();
1115:  _M_move_assign2(std::move(__x), __bool_constant<__move_storage>());
1115:       }
1115: 
1115: 
1115: 
1115:       template<typename... _Args>
1115:       void
1115:       _M_replace_map(_Args&&... __args)
1115:       {
1115: 
1115:  deque __newobj(std::forward<_Args>(__args)...);
1115: 
1115:  clear();
1115:  _M_deallocate_node(*begin()._M_node);
1115:  _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1115:  this->_M_impl._M_map = nullptr;
1115:  this->_M_impl._M_map_size = 0;
1115: 
1115:  this->_M_impl._M_swap_data(__newobj._M_impl);
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_move_assign2(deque&& __x, true_type)
1115:       {
1115: 
1115:  auto __alloc = __x._M_get_Tp_allocator();
1115: 
1115: 
1115:  _M_replace_map(std::move(__x));
1115: 
1115:  _M_get_Tp_allocator() = std::move(__alloc);
1115:       }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_move_assign2(deque&& __x, false_type)
1115:       {
1115:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
1115:    {
1115: 
1115: 
1115:      _M_replace_map(std::move(__x), __x.get_allocator());
1115:    }
1115:  else
1115:    {
1115: 
1115: 
1115:      _M_assign_aux(std::make_move_iterator(__x.begin()),
1115:      std::make_move_iterator(__x.end()),
1115:      std::random_access_iterator_tag());
1115:      __x.clear();
1115:    }
1115:       }
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _InputIterator, typename _ValT
1115:       = typename iterator_traits<_InputIterator>::value_type,
1115:     typename _Allocator = allocator<_ValT>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     deque(_InputIterator, _InputIterator, _Allocator = _Allocator())
1115:       -> deque<_ValT, _Allocator>;
1115: # 2287 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1115:     { return __x.size() == __y.size()
1115:       && std::equal(__x.begin(), __x.end(), __y.begin()); }
1115: # 2327 "/usr/include/c++/12/bits/stl_deque.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1115:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1115:        __y.begin(), __y.end()); }
1115: 
1115: 
1115:   template<typename _Tp, , 0))>;
1412: 
1412: template <typename T, typename OutputIt>
1412: constexpr auto to_pointer(OutputIt, size_t) -> T* {
1412:   return nullptr;
1412: }
1412: template <typename T> auto to_pointer(buffer_appender<T> it, size_t n) -> T* {
1412:   buffer<T>& buf = get_container(it);
1412:   auto size = buf.size();
1412:   if (buf.capacity() < size + n) return nullptr;
1412:   buf.try_resize(size + n);
1412:   return buf.data() + size;
1412: }
1412: 
1412: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1412: inline auto base_iterator(std::back_insert_iterator<Container>& it,
1412:                           checked_ptr<typename Container::value_type>)
1412:     -> std::back_insert_iterator<Container> {
1412:   return it;
1412: }
1412: 
1412: template <typename Iterator>
1412: constexpr auto base_iterator(Iterator, Iterator it) -> Iterator {
1412:   return it;
1412: }
1412: 
1412: 
1412: 
1412: template <typename OutputIt, typename Size, typename T>
1412: constexpr auto fill_n(OutputIt out, Size count, const T& value)
1412:     -> OutputIt {
1412:   for (Size i = 0; i < count; ++i) *out++ = value;
1412:   return out;
1412: }
1412: template <typename T, typename Size>
1412:  auto fill_n(T* out, Size count, char value) -> T* {
1412:   if (is_constant_evaluated()) {
1412:     return fill_n<T*, Size, T>(out, count, value);
1412:   }
1412:   std::memset(out, value, to_unsigned(count));
1412:   return out + count;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: enum char8_type : unsigned char {};
1412: 
1412: 
1412: template <typename OutChar, typename InputIt, typename OutputIt>
1412: constexpr __attribute__((noinline)) auto copy_str_noinline(InputIt begin, InputIt end,
1412:                                                   OutputIt out) -> OutputIt {
1412:   return copy_str<OutChar>(begin, end, out);
1412: }
1412: # 603 "/usr/include/fmt/format.h" 3 4
1412: constexpr inline auto utf8_decode(const char* s, uint32_t* c, int* e)
1412:     -> const char* {
1412:   constexpr const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07};
1412:   constexpr const uint32_t mins[] = {4194304, 0, 128, 2048, 65536};
1412:   constexpr const int shiftc[] = {0, 18, 12, 6, 0};
1412:   constexpr const int shifte[] = {0, 6, 4, 2, 0};
1412: 
1412:   int len = code_point_length_impl(*s);
1412: 
1412: 
1412: 
1412:   const char* next = s + len + !len;
1412: 
1412:   using uchar = unsigned char;
1412: 
1412: 
1412: 
1412:   *c = uint32_t(uchar(s[0]) & masks[len]) << 18;
1412:   *c |= uint32_t(uchar(s[1]) & 0x3f) << 12;
1412:   *c |= uint32_t(uchar(s[2]) & 0x3f) << 6;
1412:   *c |= uint32_t(uchar(s[3]) & 0x3f) << 0;
1412:   *c >>= shiftc[len];
1412: 
1412: 
1412:   *e = (*c < mins[len]) << 6;
1412:   *e |= ((*c >> 11) == 0x1b) << 7;
1412:   *e |= (*c > 0x10FFFF) << 8;
1412:   *e |= (uchar(s[1]) & 0xc0) >> 2;
1412:   *e |= (uchar(s[2]) & 0xc0) >> 4;
1412:   *e |= uchar(s[3]) >> 6;
1412:   *e ^= 0x2a;
1412:   *e >>= shifte[len];
1412: 
1412:   return next;
1412: }
1412: 
1412: constexpr uint32_t invalid_code_point = ~uint32_t();
1412: 
1412: 
1412: 
1412: template <typename F>
1412: constexpr void for_each_codepoint(string_view s, F f) {
1412:   auto decode = [f](const char* buf_ptr, const char* ptr) {
1412:     auto cp = uint32_t();
1412:     auto error = 0;
1412:     auto end = utf8_decode(buf_ptr, &cp, &error);
1412:     bool result = f(error ? invalid_code_point : cp,
1412:                     string_view(ptr, error ? 1 : to_unsigned(end - buf_ptr)));
1412:     return result ? (error ? buf_ptr + 1 : end) : nullptr;
1412:   };
1412:   auto p = s.data();
1412:   const size_t block_size = 4;
1412:   if (s.size() >= block_size) {
1412:     for (auto end = p + s.size() - block_size + 1; p < end;) {
1412:       p = decode(p, p);
1412:       if (!p) return;
1412:     }
1412:   }
1412:   if (auto num_chars_left = s.data() + s.size() - p) {
1412:     char buf[2 * block_size - 1] = {};
1412:     copy_str<char>(p, p + num_chars_left, buf);
1412:     const char* buf_ptr = buf;
1412:     do {
1412:       auto end = decode(buf_ptr, p);
1412:       if (!end) return;
1412:       p += end - buf_ptr;
1412:       buf_ptr = end;
1412:     } while (buf_ptr - buf < num_chars_left);
1412:   }
1412: }
1412: 
1412: template <typename Char>
1412: inline auto compute_width(basic_string_view<Char> s) -> size_t {
1412:   return s.size();
1412: }
1412: 
1412: 
1412: constexpr inline size_t compute_width(string_view s) {
1412:   size_t num_code_points = 0;
1412: 
1412:   struct count_code_points {
1412:     size_t* count;
1412:     constexpr auto operator()(uint32_t cp, string_view) const -> bool {
1412:       *count += detail::to_unsigned(
1412:           1 +
1412:           (cp >= 0x1100 &&
1412:            (cp <= 0x115f ||
1412:             cp == 0x2329 ||
1412:             cp == 0x232a ||
1412: 
1412:             (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
1412:             (cp >= 0xac00 && cp <= 0xd7a3) ||
1412:             (cp >= 0xf900 && cp <= 0xfaff) ||
1412:             (cp >= 0xfe10 && cp <= 0xfe19) ||
1412:             (cp >= 0xfe30 && cp <= 0xfe6f) ||
1412:             (cp >= 0xff00 && cp <= 0xff60) ||
1412:             (cp >= 0xffe0 && cp <= 0xffe6) ||
1412:             (cp >= 0x20000 && cp <= 0x2fffd) ||
1412:             (cp >= 0x30000 && cp <= 0x3fffd) ||
1412: 
1412:             (cp >= 0x1f300 && cp <= 0x1f64f) ||
1412: 
1412:             (cp >= 0x1f900 && cp <= 0x1f9ff))));
1412:       return true;
1412:     }
1412:   };
1412:   for_each_codepoint(s, count_code_points{&num_code_points});
1412:   return num_code_points;
1412: }
1412: 
1412: inline auto compute_width(basic_string_view<char8_type> s) -> size_t {
1412:   return compute_width(
1412:       string_view(reinterpret_cast<const char*>(s.data()), s.size()));
1412: }
1412: 
1412: template <typename Char>
1412: inline auto code_point_index(basic_string_view<Char> s, size_t n) -> size_t {
1412:   size_t size = s.size();
1412:   return n < size ? n : size;
1412: }
1412: 
1412: 
1412: inline auto code_point_index(string_view s, size_t n) -> size_t {
1412:   const char* data = s.data();
1412:   size_t num_code_points = 0;
1412:   for (size_t i = 0, size = s.size(); i != size; ++i) {
1412:     if ((data[i] & 0xc0) != 0x80 && ++num_code_points > n) return i;
1412:   }
1412:   return s.size();
1412: }
1412: 
1412: inline auto code_point_index(basic_string_view<char8_type> s, size_t n)
1412:     -> size_t {
1412:   return code_point_index(
1412:       string_view(reinterpret_cast<const char*>(s.data()), s.size()), n);
1412: }
1412: # 750 "/usr/include/fmt/format.h" 3 4
1412: using float128 = void;
1412: 
1412: template <typename T> using is_float128 = std::is_same<T, float128>;
1412: 
1412: template <typename T>
1412: using is_floating_point =
1412:     bool_constant<std::is_floating_point<T>::value || is_float128<T>::value>;
1412: 
1412: template <typename T, bool = std::is_floating_point<T>::value>
1412: struct is_fast_float : bool_constant<std::numeric_limits<T>::is_iec559 &&
1412:                                      sizeof(T) <= sizeof(double)> {};
1412: template <typename T> struct is_fast_float<T, false> : std::false_type {};
1412: 
1412: template <typename T>
1412: using is_double_double = bool_constant<std::numeric_limits<T>::digits == 106>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename T>
1412: template <typename U>
1412: void buffer<T>::append(const U* begin, const U* end) {
1412:   while (begin != end) {
1412:     auto count = to_unsigned(end - begin);
1412:     try_reserve(size_ + count);
1412:     auto free_cap = capacity_ - size_;
1412:     if (free_cap < count) count = free_cap;
1412:     std::uninitialized_copy_n(begin, count, make_checked(ptr_ + size_, count));
1412:     size_ += count;
1412:     begin += count;
1412:   }
1412: }
1412: 
1412: template <typename T, typename Enable = void>
1412: struct is_locale : std::false_type {};
1412: template <typename T>
1412: struct is_locale<T, void_t<decltype(T::classic())>> : std::true_type {};
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: enum { inline_buffer_size = 500 };
1412: # 817 "/usr/include/fmt/format.h" 3 4
1412: temtypename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     inline void
1115:     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<class _Tp>
1115:     struct __is_bitwise_relocatable<std::deque<_Tp>>
1115:     : true_type { };
1115: 
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/deque" 2 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/deque.tcc" 1 3
1115: # 61 "/usr/include/c++/12/bits/deque.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_default_initialize()
1115:     {
1115:       _Map_pointer __cur;
1115:       try
1115:  {
1115:    for (__cur = this->_M_impl._M_start._M_node;
1115:         __cur < this->_M_impl._M_finish._M_node;
1115:         ++__cur)
1115:      std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(),
1115:         _M_get_Tp_allocator());
1115:    std::__uninitialized_default_a(this->_M_impl._M_finish._M_first,
1115:       this->_M_impl._M_finish._M_cur,
1115:       _M_get_Tp_allocator());
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1115:    _M_get_Tp_allocator());
1115:    throw;
1115:  }
1115:     }
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     deque<_Tp, _Alloc>&
1115:     deque<_Tp, _Alloc>::
1115:     operator=(const deque& __x)
1115:     {
1115:       if (std::__addressof(__x) != this)
1115:  {
1115: 
1115:    if (_Alloc_traits::_S_propagate_on_copy_assign())
1115:      {
1115:        if (!_Alloc_traits::_S_always_equal()
1115:     && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
1115:   {
1115: 
1115: 
1115:     _M_replace_map(__x, __x.get_allocator());
1115:     std::__alloc_on_copy(_M_get_Tp_allocator(),
1115:            __x._M_get_Tp_allocator());
1115:     return *this;
1115:   }
1115:        std::__alloc_on_copy(_M_get_Tp_allocator(),
1115:        __x._M_get_Tp_allocator());
1115:      }
1115: 
1115:    const size_type __len = size();
1115:    if (__len >= __x.size())
1115:      _M_erase_at_end(std::copy(__x.begin(), __x.end(),
1115:           this->_M_impl._M_start));
1115:    else
1115:      {
1115:        const_iterator __mid = __x.begin() + difference_type(__len);
1115:        std::copy(__x.begin(), __mid, this->_M_impl._M_start);
1115:        _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(),
1115:       std::random_access_iterator_tag());
1115:      }
1115:  }
1115:       return *this;
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename... _Args>
1115: 
1115:       typename deque<_Tp, _Alloc>::reference
1115: 
1115: 
1115: 
1115:       deque<_Tp, _Alloc>::
1115:       emplace_front(_Args&&... __args)
1115:       {
1115:  if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
1115:    {
1115:      _Alloc_traits::construct(this->_M_impl,
1115:          this->_M_impl._M_start._M_cur - 1,
1115:          std::forward<_Args>(__args)...);
1115:      --this->_M_impl._M_start._M_cur;
1115:    }
1115:  else
1115:    _M_push_front_aux(std::forward<_Args>(__args)...);
1115: 
1115:  return front();
1115: 
1115:       }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename... _Args>
1115: 
1115:       typename deque<_Tp, _Alloc>::reference
1115: 
1115: 
1115: 
1115:       deque<_Tp, _Alloc>::
1115:       emplace_back(_Args&&... __args)
1115:       {
1115:  if (this->_M_impl._M_finish._M_cur
1115:      != this->_M_impl._M_finish._M_last - 1)
1115:    {
1115:      _Alloc_traits::construct(this->_M_impl,
1115:          this->_M_impl._M_finish._M_cur,
1115:          std::forward<_Args>(__args)...);
1115:      ++this->_M_impl._M_finish._M_cur;
1115:    }
1115:  else
1115:    _M_push_back_aux(std::forward<_Args>(__args)...);
1115: 
1115:  return back();
1115: 
1115:       }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename... _Args>
1115:       typename deque<_Tp, _Alloc>::iterator
1115:       deque<_Tp, _Alloc>::
1115:       emplace(const_iterator __position, _Args&&... __args)
1115:       {
1115:  if (__position._M_cur == this->_M_impl._M_start._M_cur)
1115:    {
1115:      emplace_front(std::forward<_Args>(__args)...);
1115:      return this->_M_impl._M_start;
1115:    }
1115:  else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1115:    {
1115:      emplace_back(std::forward<_Args>(__args)...);
1115:      iterator __tmp = this->_M_impl._M_finish;
1115:      --__tmp;
1115:      return __tmp;
1115:    }
1115:  else
1115:    return _M_insert_aux(__position._M_const_cast(),
1115:           std::forward<_Args>(__args)...);
1115:       }
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     typename deque<_Tp, _Alloc>::iterator
1115:     deque<_Tp, _Alloc>::
1115: 
1115:     insert(const_iterator __position, const value_type& __x)
1115: 
1115: 
1115: 
1115:     {
1115:       if (__position._M_cur == this->_M_impl._M_start._M_cur)
1115:  {
1115:    push_front(__x);
1115:    return this->_M_impl._M_start;
1115:  }
1115:       else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
1115:  {
1115:    push_back(__x);
1115:    iterator __tmp = this->_M_impl._M_finish;
1115:    --__tmp;
1115:    return __tmp;
1115:  }
1115:       else
1115:  return _M_insert_aux(__position._M_const_cast(), __x);
1115:    }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     typename deque<_Tp, _Alloc>::iterator
1115:     deque<_Tp, _Alloc>::
1115:     _M_erase(iterator __position)
1115:     {
1115:       iterator __next = __position;
1115:       ++__next;
1115:       const difference_type __index = __position - begin();
1115:       if (static_cast<size_type>(__index) < (size() >> 1))
1115:  {
1115:    if (__position != begin())
1115:      std::move_backward(begin(), __position, __next);
1115:    pop_front();
1115:  }
1115:       else
1115:  {
1115:    if (__next != end())
1115:      std::move(__next, end(), __position);
1115:    pop_back();
1115:  }
1115:       return begin() + __index;
1115:     }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     typename deque<_Tp, _Alloc>::iterator
1115:     deque<_Tp, _Alloc>::
1115:     _M_erase(iterator __first, iterator __last)
1115:     {
1115:       if (__first == __last)
1115:  return __first;
1115:       else if (__first == begin() && __last == end())
1115:  {
1115:    clear();
1115:    return end();
1115:  }
1115:       else
1115:  {
1115:    const difference_type __n = __last - __first;
1115:    const difference_type __elems_before = __first - begin();
1115:    if (static_cast<size_type>(__elems_before) <= (size() - __n) / 2)
1115:      {
1115:        if (__first != begin())
1115:   std::move_backward(begin(), __first, __last);
1115:        _M_erase_at_begin(begin() + __n);
1115:      }
1115:    else
1115:      {
1115:        if (__last != end())
1115:   std::move(__last, end(), __first);
1115:        _M_erase_at_end(end() - __n);
1115:      }
1115:    return begin() + __elemplate <typename T, size_t SIZE = inline_buffer_size,
1412:           typename Allocator = std::allocator<T>>
1412: class basic_memory_buffer final : public detail::buffer<T> {
1412:  private:
1412:   T store_[SIZE];
1412: 
1412: 
1412:   Allocator alloc_;
1412: 
1412: 
1412:   void deallocate() {
1412:     T* data = this->data();
1412:     if (data != store_) alloc_.deallocate(data, this->capacity());
1412:   }
1412: 
1412:  protected:
1412:   void grow(size_t size) override;
1412: 
1412:  public:
1412:   using value_type = T;
1412:   using const_reference = const T&;
1412: 
1412:   explicit basic_memory_buffer(
1412:       const Allocator& alloc = Allocator())
1412:       : alloc_(alloc) {
1412:     this->set(store_, SIZE);
1412:     if (detail::is_constant_evaluated()) detail::fill_n(store_, SIZE, T());
1412:   }
1412:   ~basic_memory_buffer() { deallocate(); }
1412: 
1412:  private:
1412: 
1412:   void move(basic_memory_buffer& other) {
1412:     alloc_ = std::move(other.alloc_);
1412:     T* data = other.data();
1412:     size_t size = other.size(), capacity = other.capacity();
1412:     if (data == other.store_) {
1412:       this->set(store_, capacity);
1412:       detail::copy_str<T>(other.store_, other.store_ + size,
1412:                           detail::make_checked(store_, capacity));
1412:     } else {
1412:       this->set(data, capacity);
1412: 
1412: 
1412:       other.set(other.store_, 0);
1412:       other.clear();
1412:     }
1412:     this->resize(size);
1412:   }
1412: 
1412:  public:
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   basic_memory_buffer(basic_memory_buffer&& other) noexcept {
1412:     move(other);
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   auto operator=(basic_memory_buffer&& other) noexcept -> basic_memory_buffer& {
1412:     ::fmt::detail::ignore_unused((this != &other), (""));
1412:     deallocate();
1412:     move(other);
1412:     return *this;
1412:   }
1412: 
1412: 
1412:   auto get_allocator() const -> Allocator { return alloc_; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   void resize(size_t count) { this->try_resize(count); }
1412: 
1412: 
1412:   void reserve(size_t new_capacity) { this->try_reserve(new_capacity); }
1412: 
1412: 
1412:   using detail::buffer<T>::append;
1412:   template <typename ContiguousRange>
1412:   void append(const ContiguousRange& range) {
1412:     append(range.data(), range.data() + range.size());
1412:   }
1412: };
1412: 
1412: template <typename T, size_t SIZE, typename Allocator>
1412:  void basic_memory_buffer<T, SIZE, Allocator>::grow(
1412:     size_t size) {
1412:   detail::abort_fuzzing_if(size > 5000);
1412:   const size_t max_size = std::allocator_traits<Allocator>::max_size(alloc_);
1412:   size_t old_capacity = this->capacity();
1412:   size_t new_capacity = old_capacity + old_capacity / 2;
1412:   if (size > new_capacity)
1412:     new_capacity = size;
1412:   else if (new_capacity > max_size)
1412:     new_capacity = size > max_size ? size : max_size;
1412:   T* old_data = this->data();
1412:   T* new_data =
1412:       std::allocator_traits<Allocator>::allocate(alloc_, new_capacity);
1412: 
1412:   std::uninitialized_copy(old_data, old_data + this->size(),
1412:                           detail::make_checked(new_data, new_capacity));
1412:   this->set(new_data, new_capacity);
1412: 
1412: 
1412: 
1412:   if (old_data != store_) alloc_.deallocate(old_data, old_capacity);
1412: }
1412: 
1412: using memory_buffer = basic_memory_buffer<char>;
1412: 
1412: template <typename T, size_t SIZE, typename Allocator>
1412: struct is_contiguous<basic_memory_buffer<T, SIZE, Allocator>> : std::true_type {
1412: };
1412: 
1412: namespace detail {
1412: 
1412: 
1412: 
1412:  void print(std::FILE*, string_view);
1412: }
1412: 
1412: 
1412: 
1412: class format_error : public std::runtime_error {
1412:  public:
1412:   explicit format_error(const char* message) : std::runtime_error(message) {}
1412:   explicit format_error(const std::string& message)
1412:       : std::runtime_error(message) {}
1412:   format_error(const format_error&) = default;
1412:   format_error& operator=(const format_error&) = default;
1412:   format_error(format_error&&) = default;
1412:   format_error& operator=(format_error&&) = default;
1412:   ~format_error() noexcept override ;
1412: };
1412: 
1412: namespace detail_exported {
1412: # 973 "/usr/include/fmt/format.h" 3 4
1412: template <typename Char, size_t N>
1412: constexpr auto compile_string_to_view(const Char (&s)[N])
1412:     -> basic_string_view<Char> {
1412: 
1412: 
1412:   return {s, N - (std::char_traits<Char>::to_int_type(s[N - 1]) == 0 ? 1 : 0)};
1412: }
1412: template <typename Char>
1412: constexpr auto compile_string_to_view(detail::std_string_view<Char> s)
1412:     -> basic_string_view<Char> {
1412:   return {s.data(), s.size()};
1412: }
1412: }
1412: 
1412: namespace detail {
1412: 
1412: template <typename T> struct is_integral : std::is_integral<T> {};
1412: template <> struct is_integral<int128_opt> : std::true_type {};
1412: template <> struct is_integral<uint128_t> : std::true_type {};
1412: 
1412: template <typename T>
1412: using is_signed =
1412:     std::integral_constant<bool, std::numeric_limits<T>::is_signed ||
1412:                                      std::is_same<T, int128_opt>::value>;
1412: 
1412: 
1412: 
1412: template <typename T, enable_if_t<(is_signed<T>::value), int> = 0>
1412: constexpr auto is_negative(T value) -> bool {
1412:   return value < 0;
1412: }
1412: template <typename T, enable_if_t<(!is_signed<T>::value), int> = 0>
1412: constexpr auto is_negative(T) -> bool {
1412:   return false;
1412: }
1412: 
1412: template <typename T>
1412: constexpr auto is_supported_floating_point(T) -> bool {
1412:   if (std::is_same<T, float>()) return 1;
1412:   if (std::is_same<T, double>()) return 1;
1412:   if (std::is_same<T, long double>()) return 1;
1412:   return true;
1412: }
1412: 
1412: 
1412: 
1412: template <typename T>
1412: using uint32_or_64_or_128_t =
1412:     conditional_t<num_bits<T>() <= 32 && !0,
1412:                   uint32_t,
1412:                   conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>>;
1412: template <typename T>
1412: using uint64_or_128_t = conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: constexpr const char* digits2(size_t value) {
1412: 
1412:   return &"0001020304050607080910111213141516171819"
1412:          "2021222324252627282930313233343536373839"
1412:          "4041424344454647484950515253545556575859"
1412:          "6061626364656667686970717273747576777879"
1412:          "8081828384858687888990919293949596979899"[value * 2];
1412: }
1412: 
1412: 
1412: template <typename Char, typename Sign> constexpr Char sign(Sign s) {
1412: 
1412:   static_assert(std::is_same<Sign, sign_t>::value, "");
1412: 
1412:   return static_cast<Char>("\0-+ "[s]);
1412: }
1412: 
1412: template <typename T> constexpr auto count_digits_fallback(T n) -> int {
1412:   int count = 1;
1412:   for (;;) {
1412: 
1412: 
1412: 
1412:     if (n < 10) return count;
1412:     if (n < 100) return count + 1;
1412:     if (n < 1000) return count + 2;
1412:     if (n < 10000) return count + 3;
1412:     n /= 10000u;
1412:     count += 4;
1412:   }
1412: }
1412: # 1073 "/usr/include/fmt/format.h" 3 4
1412: inline auto do_count_digits(uint64_t n) -> int {
1412: 
1412: 
1412: 
1412: 
1412:   static constexpr uint8_t bsr2log10[] = {
1412:       1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,
1412:       6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10,
1412:       10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15,
1412:       15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20};
1412:   auto t = bsr2log10[__builtin_clzll(n | 1) ^ 63];
1412:   static constexpr const uint64_t zero_or_powers_of_10[] = {
1412:       0, 0, 1U * 10, (1U)*100, (1U)*1000, (1U)*10000, (1U)*100000, (1U)*1000000, (1U)*10000000, (1U)*100000000, (1U)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*100000s_before;
1115:  }
1115:     }
1115: 
1115:   template <typename _Tp, class _Alloc>
1115:     template <typename _InputIterator>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
1115:       std::input_iterator_tag)
1115:       {
1115:  iterator __cur = begin();
1115:  for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
1115:    *__cur = *__first;
1115:  if (__first == __last)
1115:    _M_erase_at_end(__cur);
1115:  else
1115:    _M_range_insert_aux(end(), __first, __last,
1115:          std::__iterator_category(__first));
1115:       }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
1115:     {
1115:       if (__pos._M_cur == this->_M_impl._M_start._M_cur)
1115:  {
1115:    iterator __new_start = _M_reserve_elements_at_front(__n);
1115:    try
1115:      {
1115:        std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
1115:        __x, _M_get_Tp_allocator());
1115:        this->_M_impl._M_start = __new_start;
1115:      }
1115:    catch(...)
1115:      {
1115:        _M_destroy_nodes(__new_start._M_node,
1115:           this->_M_impl._M_start._M_node);
1115:        throw;
1115:      }
1115:  }
1115:       else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1115:  {
1115:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1115:    try
1115:      {
1115:        std::__uninitialized_fill_a(this->_M_impl._M_finish,
1115:        __new_finish, __x,
1115:        _M_get_Tp_allocator());
1115:        this->_M_impl._M_finish = __new_finish;
1115:      }
1115:    catch(...)
1115:      {
1115:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1115:           __new_finish._M_node + 1);
1115:        throw;
1115:      }
1115:  }
1115:       else
1115:  _M_insert_aux(__pos, __n, __x);
1115:     }
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_default_append(size_type __n)
1115:     {
1115:       if (__n)
1115:  {
1115:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1115:    try
1115:      {
1115:        std::__uninitialized_default_a(this->_M_impl._M_finish,
1115:           __new_finish,
1115:           _M_get_Tp_allocator());
1115:        this->_M_impl._M_finish = __new_finish;
1115:      }
1115:    catch(...)
1115:      {
1115:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1115:           __new_finish._M_node + 1);
1115:        throw;
1115:      }
1115:  }
1115:     }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     bool
1115:     deque<_Tp, _Alloc>::
1115:     _M_shrink_to_fit()
1115:     {
1115:       const difference_type __front_capacity
1115:  = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first);
1115:       if (__front_capacity == 0)
1115:  return false;
1115: 
1115:       const difference_type __back_capacity
1115:  = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur);
1115:       if (__front_capacity + __back_capacity < _S_buffer_size())
1115:  return false;
1115: 
1115:       return std::__shrink_to_fit_aux<deque>::_S_do_it(*this);
1115:     }
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_fill_initialize(const value_type& __value)
1115:     {
1115:       _Map_pointer __cur;
1115:       try
1115:  {
1115:    for (__cur = this->_M_impl._M_start._M_node;
1115:         __cur < this->_M_impl._M_finish._M_node;
1115:         ++__cur)
1115:      std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(),
1115:      __value, _M_get_Tp_allocator());
1115:    std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
1115:           this->_M_impl._M_finish._M_cur,
1115:           __value, _M_get_Tp_allocator());
1115:  }
1115:       catch(...)
1115:  {
1115:    std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
1115:    _M_get_Tp_allocator());
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     template <typename _InputIterator>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_range_initialize(_InputIterator __first, _InputIterator __last,
1115:      std::input_iterator_tag)
1115:       {
1115:  this->_M_initialize_map(0);
1115:  try
1115:    {
1115:      for (; __first != __last; ++__first)
1115: 
1115:        emplace_back(*__first);
1115: 
1115: 
1115: 
1115:    }
1115:  catch(...)
1115:    {
1115:      clear();
1115:      throw;
1115:    }
1115:       }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     template <typename _ForwardIterator>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
1115:      std::forward_iterator_tag)
1115:       {
1115:  const size_type __n = std::distance(__first, __last);
1115:  this->_M_initialize_map(_S_check_init_len(__n, _M_get_Tp_allocator()));
1115: 
1115:  _Map_pointer __cur_node;
1115:  try
1115:    {
1115:      for (__cur_node = this->_M_impl._M_start._M_node;
1115:    __cur_node < this->_M_impl._M_finish._M_node;
1115:    ++__cur_node)
1115:        {
1115:   if (__n < _S_buffer_size())
1115:     __builtin_unreachable();
1115: 
1115:   _ForwardIterator __mid = __first;
1115:   std::advance(__mid, _S_buffer_size());
1115:   std::__uninitialized_copy_a(__first, __mid, *__cur_node,
1115:          _M_get_Tp_allocator());
1115:   __first = __mid;
1115:        }
1115:      std::__uninitialized_copy_a(__first, __last,
1115:      this->_M_impl._M_finish._M_first,
1115:      _M_get_Tp_allocator());
1115:    }
1115:  catch(...)
1115:    {
1115:      std::_Destroy(this->_M_impl._M_start,
1115:      iterator(*__cur_node, __cur_node),
1115:      _M_get_Tp_allocator());
1115:      throw;
1115:    }
1115:       }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115: 
1115:     template<typename... _Args>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_push_back_aux(_Args&&... __args)
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       {
1115:  if (size() == max_size())
1115:    __throw_length_error(
1115:        ("cannot create std::deque larger than max_size()"));
1115: 
1115:  _M_reserve_map_at_back();
1115:  *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
1115:  try
1115:    {
1115: 
1115:      _Alloc_traits::construct(this->_M_impl,
1115:          this->_M_impl._M_finish._M_cur,
1115:          std::forward<_Args>(__args)...);
1115: 
1115: 
1115: 
1115:      this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
1115:       + 1);
1115:      this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
1115:    }
1115:  catch(...)
1115:    {
1115:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
1115:      throw;
1115:    }
1115:       }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115: 
1115:     template<typename... _Args>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_push_front_aux(_Args&&... __args)
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       {
1115:  if (size() == max_size())
1115:    __throw_length_error(
1115:        ("cannot create std::deque larger than max_size()"));
1115: 
1115:  _M_reserve_map_at_front();
1115:  *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
1115:  try
1115:    {
1115:      this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
1115:             - 1);
1115:      this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
1115: 
1115:      _Alloc_traits::construct(this->_M_impl,
1115:          this->_M_impl._M_start._M_cur,
1115:          std::forward<_Args>(__args)...);
1115: 
1115: 
1115: 
1115:    }
1115:  catch(...)
1115:    {
1115:      ++this->_M_impl._M_start;
1115:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
1115:      throw;
1115:    }
1115:       }
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void deque<_Tp, _Alloc>::
111500, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1412:       10000000000000000000ULL};
1412:   return t - (n < zero_or_powers_of_10[t]);
1412: }
1412: 
1412: 
1412: 
1412: 
1412:  inline auto count_digits(uint64_t n) -> int {
1412: 
1412:   if (!is_constant_evaluated()) {
1412:     return do_count_digits(n);
1412:   }
1412: 
1412:   return count_digits_fallback(n);
1412: }
1412: 
1412: 
1412: template <int BITS, typename UInt>
1412: constexpr auto count_digits(UInt n) -> int {
1412: 
1412:   if (!is_constant_evaluated() && num_bits<UInt>() == 32)
1412:     return (__builtin_clz(static_cast<uint32_t>(n) | 1) ^ 31) / BITS + 1;
1412: 
1412: 
1412:   return [](UInt m) {
1412:     int num_digits = 0;
1412:     do {
1412:       ++num_digits;
1412:     } while ((m >>= BITS) != 0);
1412:     return num_digits;
1412:   }(n);
1412: }
1412: 
1412: 
1412: 
1412: 
1412: inline __attribute__((always_inline)) auto do_count_digits(uint32_t n) -> int {
1412: 
1412: 
1412: 
1412:   static constexpr uint64_t table[] = {
1412:       (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0),
1412:       (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10),
1412:       (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100),
1412:       (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000),
1412:       (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000),
1412:       (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000),
1412:       (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000),
1412:       (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000),
1412:       (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000),
1412:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000),
1412:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000)
1412:   };
1412:   auto inc = table[__builtin_clz(n | 1) ^ 31];
1412:   return static_cast<int>((n + inc) >> 32);
1412: }
1412: 
1412: 
1412: 
1412:  inline auto count_digits(uint32_t n) -> int {
1412: 
1412:   if (!is_constant_evaluated()) {
1412:     return do_count_digits(n);
1412:   }
1412: 
1412:   return count_digits_fallback(n);
1412: }
1412: 
1412: template <typename Int> constexpr auto digits10() noexcept -> int {
1412:   return std::numeric_limits<Int>::digits10;
1412: }
1412: template <> constexpr auto digits10<int128_opt>() noexcept -> int { return 38; }
1412: template <> constexpr auto digits10<uint128_t>() noexcept -> int { return 38; }
1412: 
1412: template <typename Char> struct thousands_sep_result {
1412:   std::string grouping;
1412:   Char thousands_sep;
1412: };
1412: 
1412: template <typename Char>
1412:  auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result<Char>;
1412: template <typename Char>
1412: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<Char> {
1412:   auto result = thousands_sep_impl<char>(loc);
1412:   return {result.grouping, Char(result.thousands_sep)};
1412: }
1412: template <>
1412: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<wchar_t> {
1412:   return thousands_sep_impl<wchar_t>(loc);
1412: }
1412: 
1412: template <typename Char>
1412:  auto decimal_point_impl(locale_ref loc) -> Char;
1412: template <typename Char> inline auto decimal_point(locale_ref loc) -> Char {
1412:   return Char(decimal_point_impl<char>(loc));
1412: }
1412: template <> inline auto decimal_point(locale_ref loc) -> wchar_t {
1412:   return decimal_point_impl<wchar_t>(loc);
1412: }
1412: 
1412: 
1412: template <typename Char> auto equal2(const Char* lhs, const char* rhs) -> bool {
1412:   return lhs[0] == Char(rhs[0]) && lhs[1] == Char(rhs[1]);
1412: }
1412: inline auto equal2(const char* lhs, const char* rhs) -> bool {
1412:   return memcmp(lhs, rhs, 2) == 0;
1412: }
1412: 
1412: 
1412: template <typename Char>
1412:  inline __attribute__((always_inline)) void copy2(Char* dst, const char* src) {
1412:   if (!is_constant_evaluated() && sizeof(Char) == sizeof(char)) {
1412:     memcpy(dst, src, 2);
1412:     return;
1412:   }
1412:   *dst++ = static_cast<Char>(*src++);
1412:   *dst = static_cast<Char>(*src);
1412: }
1412: 
1412: template <typename Iterator> struct format_decimal_result {
1412:   Iterator begin;
1412:   Iterator end;
1412: };
1412: 
1412: 
1412: 
1412: 
1412: template <typename Char, typename UInt>
1412:  auto format_decimal(Char* out, UInt value, int size)
1412:     -> format_decimal_result<Char*> {
1412:   ::fmt::detail::ignore_unused((size >= count_digits(value)), ("invalid digit count"));
1412:   out += size;
1412:   Char* end = out;
1412:   while (value >= 100) {
1412: 
1412: 
1412: 
1412:     out -= 2;
1412:     copy2(out, digits2(static_cast<size_t>(value % 100)));
1412:     value /= 100;
1412:   }
1412:   if (value < 10) {
1412:     *--out = static_cast<Char>('0' + value);
1412:     return {out, end};
1412:   }
1412:   out -= 2;
1412:   copy2(out, digits2(static_cast<size_t>(value)));
1412:   return {out, end};
1412: }
1412: 
1412: template <typename Char, typename UInt, typename Iterator,
1412:           enable_if_t<(!std::is_pointer<remove_cvref_t<Iterator>>::value), int> = 0>
1412: constexpr inline auto format_decimal(Iterator out, UInt value, int size)
1412:     -> format_decimal_result<Iterator> {
1412: 
1412:   Char buffer[digits10<UInt>() + 1];
1412:   auto end = format_decimal(buffer, value, size).end;
1412:   return {out, detail::copy_str_noinline<Char>(buffer, end, out)};
1412: }
1412: 
1412: template <unsigned BASE_BITS, typename Char, typename UInt>
1412: constexpr auto format_uint(Char* buffer, UInt value, int num_digits,
1412:                                bool upper = false) -> Char* {
1412:   buffer += num_digits;
1412:   Char* end = buffer;
1412:   do {
1412:     const char* digits = upper ? "0123456789ABCDEF" : "0123456789abcdef";
1412:     unsigned digit = static_cast<unsigned>(value & ((1 << BASE_BITS) - 1));
1412:     *--buffer = static_cast<Char>(BASE_BITS < 4 ? static_cast<char>('0' + digit)
1412:                                                 : digits[digit]);
1412:   } while ((value >>= BASE_BITS) != 0);
1412:   return end;
1412: }
1412: 
1412: template <unsigned BASE_BITS, typename Char, typename It, typename UInt>
1412: inline auto format_uint(It out, UInt value, int num_digits, bool upper = false)
1412:     -> It {
1412:   if (auto ptr = to_pointer<Char>(out, to_unsigned(num_digits))) {
1412:     format_uint<BASE_BITS>(ptr, value, num_digits, upper);
1412:     return out;
1412:   }
1412: 
1412:   char buffer[num_bits<UInt>() / BASE_BITS + 1];
1412:   format_uint<BASE_BITS>(buffer, value, num_digits, upper);
1412:   return detail::copy_str_noinline<Char>(buffer, buffer + num_digits, out);
1412: }
1412: 
1412: 
1412: class utf8_to_utf16 {
1412:  private:
1412:   basic_memory_buffer<wchar_t> buffer_;
1412: 
1412:  public:
1412:   explicit utf8_to_utf16(string_view s);
1412:   operator basic_string_view<wchar_t>() const { return {&buffer_[0], size()}; }
1412:   auto size() const -> size_t { return buffer_.size() - 1; }
1412:   auto c_str() const -> const wchar_t* { return &buffer_[0]; }
1412:   auto str() const -> std::wstring { return {&buffer_[0], size()}; }
1412: };
1412: 
1412: namespace dragonbox {
1412: 
1412: 
1412: template <typename T, typename Enable = void> struct float_info;
1412: 
1412: template <> struct float_info<float> {
1412:   using carrier_uint :     _M_pop_back_aux()
1115:     {
1115:       _M_deallocate_node(this->_M_impl._M_finish._M_first);
1115:       this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
1115:       this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
1115:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1115:         this->_M_impl._M_finish._M_cur);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void deque<_Tp, _Alloc>::
1115:     _M_pop_front_aux()
1115:     {
1115:       _Alloc_traits::destroy(_M_get_Tp_allocator(),
1115:         this->_M_impl._M_start._M_cur);
1115:       _M_deallocate_node(this->_M_impl._M_start._M_first);
1115:       this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
1115:       this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
1115:     }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     template <typename _InputIterator>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_range_insert_aux(iterator __pos,
1115:      _InputIterator __first, _InputIterator __last,
1115:      std::input_iterator_tag)
1115:       { std::copy(__first, __last, std::inserter(*this, __pos)); }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     template <typename _ForwardIterator>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_range_insert_aux(iterator __pos,
1115:      _ForwardIterator __first, _ForwardIterator __last,
1115:      std::forward_iterator_tag)
1115:       {
1115:  const size_type __n = std::distance(__first, __last);
1115:  if (__pos._M_cur == this->_M_impl._M_start._M_cur)
1115:    {
1115:      iterator __new_start = _M_reserve_elements_at_front(__n);
1115:      try
1115:        {
1115:   std::__uninitialized_copy_a(__first, __last, __new_start,
1115:          _M_get_Tp_allocator());
1115:   this->_M_impl._M_start = __new_start;
1115:        }
1115:      catch(...)
1115:        {
1115:   _M_destroy_nodes(__new_start._M_node,
1115:      this->_M_impl._M_start._M_node);
1115:   throw;
1115:        }
1115:    }
1115:  else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
1115:    {
1115:      iterator __new_finish = _M_reserve_elements_at_back(__n);
1115:      try
1115:        {
1115:   std::__uninitialized_copy_a(__first, __last,
1115:          this->_M_impl._M_finish,
1115:          _M_get_Tp_allocator());
1115:   this->_M_impl._M_finish = __new_finish;
1115:        }
1115:      catch(...)
1115:        {
1115:   _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1115:      __new_finish._M_node + 1);
1115:   throw;
1115:        }
1115:    }
1115:  else
1115:    _M_insert_aux(__pos, __first, __last, __n);
1115:       }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115: 
1115:     template<typename... _Args>
1115:       typename deque<_Tp, _Alloc>::iterator
1115:       deque<_Tp, _Alloc>::
1115:       _M_insert_aux(iterator __pos, _Args&&... __args)
1115:       {
1115:  value_type __x_copy(std::forward<_Args>(__args)...);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  difference_type __index = __pos - this->_M_impl._M_start;
1115:  if (static_cast<size_type>(__index) < size() / 2)
1115:    {
1115:      push_front(std::move(front()));
1115:      iterator __front1 = this->_M_impl._M_start;
1115:      ++__front1;
1115:      iterator __front2 = __front1;
1115:      ++__front2;
1115:      __pos = this->_M_impl._M_start + __index;
1115:      iterator __pos1 = __pos;
1115:      ++__pos1;
1115:      std::move(__front2, __pos1, __front1);
1115:    }
1115:  else
1115:    {
1115:      push_back(std::move(back()));
1115:      iterator __back1 = this->_M_impl._M_finish;
1115:      --__back1;
1115:      iterator __back2 = __back1;
1115:      --__back2;
1115:      __pos = this->_M_impl._M_start + __index;
1115:      std::move_backward(__pos, __back2, __back1);
1115:    }
1115:  *__pos = std::move(__x_copy);
1115:  return __pos;
1115:       }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
1115:     {
1115:       const difference_type __elems_before = __pos - this->_M_impl._M_start;
1115:       const size_type __length = this->size();
1115:       value_type __x_copy = __x;
1115:       if (__elems_before < difference_type(__length / 2))
1115:  {
1115:    iterator __new_start = _M_reserve_elements_at_front(__n);
1115:    iterator __old_start = this->_M_impl._M_start;
1115:    __pos = this->_M_impl._M_start + __elems_before;
1115:    try
1115:      {
1115:        if (__elems_before >= difference_type(__n))
1115:   {
1115:     iterator __start_n = (this->_M_impl._M_start
1115:      + difference_type(__n));
1115:     std::__uninitialized_move_a(this->_M_impl._M_start,
1115:            __start_n, __new_start,
1115:            _M_get_Tp_allocator());
1115:     this->_M_impl._M_start = __new_start;
1115:     std::move(__start_n, __pos, __old_start);
1115:     std::fill(__pos - difference_type(__n), __pos, __x_copy);
1115:   }
1115:        else
1115:   {
1115:     std::__uninitialized_move_fill(this->_M_impl._M_start,
1115:        __pos, __new_start,
1115:        this->_M_impl._M_start,
1115:        __x_copy,
1115:        _M_get_Tp_allocator());
1115:     this->_M_impl._M_start = __new_start;
1115:     std::fill(__old_start, __pos, __x_copy);
1115:   }
1115:      }
1115:    catch(...)
1115:      {
1115:        _M_destroy_nodes(__new_start._M_node,
1115:           this->_M_impl._M_start._M_node);
1115:        throw;
1115:      }
1115:  }
1115:       else
1115:  {
1115:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1115:    iterator __old_finish = this->_M_impl._M_finish;
1115:    const difference_type __elems_after =
1115:      difference_type(__length) - __elems_before;
1115:    __pos = this->_M_impl._M_finish - __elems_after;
1115:    try
1115:      {
1115:        if (__elems_after > difference_type(__n))
1115:   {
1115:     iterator __finish_n = (this->_M_impl._M_finish
1115:       - difference_type(__n));
1115:     std::__uninitialized_move_a(__finish_n,
1115:            this->_M_impl._M_finish,
1115:            this->_M_impl._M_finish,
1115:            _M_get_Tp_allocator());
1115:     this->_M_impl._M_finish = __new_finish;
1115:     std::move_backward(__pos, __finish_n, __old_finish);
1115:     std::fill(__pos, __pos + difference_type(__n), __x_copy);
1115:   }
1115:        else
1115:   {
1115:     std::__uninitialized_fill_move(this->_M_impl._M_finish,
1115:        __pos + difference_type(__n),
1115:        __x_copy, __pos,
1115:        this->_M_impl._M_finish,
1115:        _M_get_Tp_allocator());
1115:     this->_M_impl._M_finish = __new_finish;
1115:     std::fill(__pos, __old_finish, __x_copy);
1115:   }
1115:      }
1115:    catch(...)
1115:      {
1115:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1115:           __new_finish._M_node + 1);
1115:        throw;
1115:      }
1115:  }
1115:     }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     template <typename _ForwardIterator>
1115:       void
1115:       deque<_Tp, _Alloc>::
1115:       _M_insert_aux(iterator __pos,
1115:       _ForwardIterator __first, _ForwardIterator __last,
1115:       size_type __n)
1115:       {
1115:  const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
1115:  const size_type __length = size();
1115:  if (static_cast<size_type>(__elemsbefore) < __length / 2)
1115:    {
1115:      iterator __new_start = _M_reserve_elements_at_front(__n);
1115:      iterator __old_start = this->_M_impl._M_start;
1115:      __pos = this->_M_impl._M_start + __elemsbefore;
1115:      try
1115:        {
1115:   if (__elemsbefore >= difference_type(__n))
1115:     {
1115:       iterator __start_n = (this->_M_impl._M_start
1115:        + difference_type(__n));
1115:       std::__uninitialized_move_a(this->_M_impl._M_start,
1115:       __start_n, __new_start,
1115:       _M_get_Tp_allocator());
1115:       this->_M_impl._M_start = __new_start;
1115:       std::move(__start_n, __pos, __old_st= uint32_t;
1412:   static const int exponent_bits = 8;
1412:   static const int kappa = 1;
1412:   static const int big_divisor = 100;
1412:   static const int small_divisor = 10;
1412:   static const int min_k = -31;
1412:   static const int max_k = 46;
1412:   static const int shorter_interval_tie_lower_threshold = -35;
1412:   static const int shorter_interval_tie_upper_threshold = -35;
1412: };
1412: 
1412: template <> struct float_info<double> {
1412:   using carrier_uint = uint64_t;
1412:   static const int exponent_bits = 11;
1412:   static const int kappa = 2;
1412:   static const int big_divisor = 1000;
1412:   static const int small_divisor = 100;
1412:   static const int min_k = -292;
1412:   static const int max_k = 326;
1412:   static const int shorter_interval_tie_lower_threshold = -77;
1412:   static const int shorter_interval_tie_upper_threshold = -77;
1412: };
1412: 
1412: 
1412: template <typename T>
1412: struct float_info<T, enable_if_t<std::numeric_limits<T>::digits == 64 ||
1412:                                  std::numeric_limits<T>::digits == 113 ||
1412:                                  is_float128<T>::value>> {
1412:   using carrier_uint = detail::uint128_t;
1412:   static const int exponent_bits = 15;
1412: };
1412: 
1412: 
1412: template <typename T>
1412: struct float_info<T, enable_if_t<is_double_double<T>::value>> {
1412:   using carrier_uint = detail::uint128_t;
1412: };
1412: 
1412: template <typename T> struct decimal_fp {
1412:   using significand_type = typename float_info<T>::carrier_uint;
1412:   significand_type significand;
1412:   int exponent;
1412: };
1412: 
1412: template <typename T> auto to_decimal(T x) noexcept -> decimal_fp<T>;
1412: }
1412: 
1412: 
1412: template <typename Float> constexpr bool has_implicit_bit() {
1412: 
1412:   return std::numeric_limits<Float>::digits != 64;
1412: }
1412: 
1412: 
1412: 
1412: template <typename Float> constexpr int num_significand_bits() {
1412: 
1412:   return is_float128<Float>() ? 112
1412:                               : (std::numeric_limits<Float>::digits -
1412:                                  (has_implicit_bit<Float>() ? 1 : 0));
1412: }
1412: 
1412: template <typename Float>
1412: constexpr auto exponent_mask() ->
1412:     typename dragonbox::float_info<Float>::carrier_uint {
1412:   using uint = typename dragonbox::float_info<Float>::carrier_uint;
1412:   return ((uint(1) << dragonbox::float_info<Float>::exponent_bits) - 1)
1412:          << num_significand_bits<Float>();
1412: }
1412: template <typename Float> constexpr auto exponent_bias() -> int {
1412: 
1412:   return is_float128<Float>() ? 16383
1412:                               : std::numeric_limits<Float>::max_exponent - 1;
1412: }
1412: 
1412: 
1412: template <typename Char, typename It>
1412: constexpr auto write_exponent(int exp, It it) -> It {
1412:   ::fmt::detail::ignore_unused((-10000 < exp && exp < 10000), ("exponent out of range"));
1412:   if (exp < 0) {
1412:     *it++ = static_cast<Char>('-');
1412:     exp = -exp;
1412:   } else {
1412:     *it++ = static_cast<Char>('+');
1412:   }
1412:   if (exp >= 100) {
1412:     const char* top = digits2(to_unsigned(exp / 100));
1412:     if (exp >= 1000) *it++ = static_cast<Char>(top[0]);
1412:     *it++ = static_cast<Char>(top[1]);
1412:     exp %= 100;
1412:   }
1412:   const char* d = digits2(to_unsigned(exp));
1412:   *it++ = static_cast<Char>(d[0]);
1412:   *it++ = static_cast<Char>(d[1]);
1412:   return it;
1412: }
1412: 
1412: 
1412: template <typename F> struct basic_fp {
1412:   F f;
1412:   int e;
1412: 
1412:   static constexpr const int num_significand_bits =
1412:       static_cast<int>(sizeof(F) * num_bits<unsigned char>());
1412: 
1412:   constexpr basic_fp() : f(0), e(0) {}
1412:   constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {}
1412: 
1412: 
1412:   template <typename Float> constexpr basic_fp(Float n) { assign(n); }
1412: 
1412: 
1412:   template <typename Float, enable_if_t<(!is_double_double<Float>::value), int> = 0>
1412:   constexpr auto assign(Float n) -> bool {
1412:     static_assert(std::numeric_limits<Float>::digits <= 113, "unsupported FP");
1412: 
1412:     using carrier_uint = typename dragonbox::float_info<Float>::carrier_uint;
1412:     const auto num_float_significand_bits =
1412:         detail::num_significand_bits<Float>();
1412:     const auto implicit_bit = carrier_uint(1) << num_float_significand_bits;
1412:     const auto significand_mask = implicit_bit - 1;
1412:     auto u = bit_cast<carrier_uint>(n);
1412:     f = static_cast<F>(u & significand_mask);
1412:     auto biased_e = static_cast<int>((u & exponent_mask<Float>()) >>
1412:                                      num_float_significand_bits);
1412: 
1412: 
1412:     auto is_predecessor_closer = f == 0 && biased_e > 1;
1412:     if (biased_e == 0)
1412:       biased_e = 1;
1412:     else if (has_implicit_bit<Float>())
1412:       f += static_cast<F>(implicit_bit);
1412:     e = biased_e - exponent_bias<Float>() - num_float_significand_bits;
1412:     if (!has_implicit_bit<Float>()) ++e;
1412:     return is_predecessor_closer;
1412:   }
1412: 
1412:   template <typename Float, enable_if_t<(is_double_double<Float>::value), int> = 0>
1412:   constexpr auto assign(Float n) -> bool {
1412:     static_assert(std::numeric_limits<double>::is_iec559, "unsupported FP");
1412:     return assign(static_cast<double>(n));
1412:   }
1412: };
1412: 
1412: using fp = basic_fp<unsigned long long>;
1412: 
1412: 
1412: template <int SHIFT = 0, typename F>
1412: constexpr basic_fp<F> normalize(basic_fp<F> value) {
1412: 
1412:   const auto implicit_bit = F(1) << num_significand_bits<double>();
1412:   const auto shifted_implicit_bit = implicit_bit << SHIFT;
1412:   while ((value.f & shifted_implicit_bit) == 0) {
1412:     value.f <<= 1;
1412:     --value.e;
1412:   }
1412: 
1412:   const auto offset = basic_fp<F>::num_significand_bits -
1412:                       num_significand_bits<double>() - SHIFT - 1;
1412:   value.f <<= offset;
1412:   value.e -= offset;
1412:   return value;
1412: }
1412: 
1412: 
1412: constexpr inline uint64_t multiply(uint64_t lhs, uint64_t rhs) {
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   uint64_t mask = (1ULL << 32) - 1;
1412:   uint64_t a = lhs >> 32, b = lhs & mask;
1412:   uint64_t c = rhs >> 32, d = rhs & mask;
1412:   uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d;
1412: 
1412:   uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31);
1412:   return ac + (ad >> 32) + (bc >> 32) + (mid >> 32);
1412: 
1412: }
1412: 
1412: constexpr inline fp operator*(fp x, fp y) {
1412:   return {multiply(x.f, y.f), x.e + y.e + 64};
1412: }
1412: 
1412: template <typename T = void> struct basic_data {
1412: 
1412: 
1412:   static constexpr uint64_t pow10_significands[87] = {
1412:       0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76,
1412:       0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df,
1412:       0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c,
1412:       0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5,
1412:       0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57,
1412:       0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7,
1412:       0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e,
1412:       0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996,
1412:       0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126,
1412:       0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053,
1412:       0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f,
1412:       0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b,
1412:       0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06,
1412:       0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb,
1412:       0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000,
1412:       0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984,
1412:       0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068,
1412:       0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8,
1412:       0x83c7088e1aab65db, 0xc45d1df9427art);
1115:       std::copy(__first, __last, __pos - difference_type(__n));
1115:     }
1115:   else
1115:     {
1115:       _ForwardIterator __mid = __first;
1115:       std::advance(__mid, difference_type(__n) - __elemsbefore);
1115:       std::__uninitialized_move_copy(this->_M_impl._M_start,
1115:          __pos, __first, __mid,
1115:          __new_start,
1115:          _M_get_Tp_allocator());
1115:       this->_M_impl._M_start = __new_start;
1115:       std::copy(__mid, __last, __old_start);
1115:     }
1115:        }
1115:      catch(...)
1115:        {
1115:   _M_destroy_nodes(__new_start._M_node,
1115:      this->_M_impl._M_start._M_node);
1115:   throw;
1115:        }
1115:    }
1115:  else
1115:  {
1115:    iterator __new_finish = _M_reserve_elements_at_back(__n);
1115:    iterator __old_finish = this->_M_impl._M_finish;
1115:    const difference_type __elemsafter =
1115:      difference_type(__length) - __elemsbefore;
1115:    __pos = this->_M_impl._M_finish - __elemsafter;
1115:    try
1115:      {
1115:        if (__elemsafter > difference_type(__n))
1115:   {
1115:     iterator __finish_n = (this->_M_impl._M_finish
1115:       - difference_type(__n));
1115:     std::__uninitialized_move_a(__finish_n,
1115:            this->_M_impl._M_finish,
1115:            this->_M_impl._M_finish,
1115:            _M_get_Tp_allocator());
1115:     this->_M_impl._M_finish = __new_finish;
1115:     std::move_backward(__pos, __finish_n, __old_finish);
1115:     std::copy(__first, __last, __pos);
1115:   }
1115:        else
1115:   {
1115:     _ForwardIterator __mid = __first;
1115:     std::advance(__mid, __elemsafter);
1115:     std::__uninitialized_copy_move(__mid, __last, __pos,
1115:        this->_M_impl._M_finish,
1115:        this->_M_impl._M_finish,
1115:        _M_get_Tp_allocator());
1115:     this->_M_impl._M_finish = __new_finish;
1115:     std::copy(__first, __mid, __pos);
1115:   }
1115:      }
1115:    catch(...)
1115:      {
1115:        _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
1115:           __new_finish._M_node + 1);
1115:        throw;
1115:      }
1115:  }
1115:       }
1115: 
1115:    template<typename _Tp, typename _Alloc>
1115:      void
1115:      deque<_Tp, _Alloc>::
1115:      _M_destroy_data_aux(iterator __first, iterator __last)
1115:      {
1115:        for (_Map_pointer __node = __first._M_node + 1;
1115:      __node < __last._M_node; ++__node)
1115:   std::_Destroy(*__node, *__node + _S_buffer_size(),
1115:          _M_get_Tp_allocator());
1115: 
1115:        if (__first._M_node != __last._M_node)
1115:   {
1115:     std::_Destroy(__first._M_cur, __first._M_last,
1115:     _M_get_Tp_allocator());
1115:     std::_Destroy(__last._M_first, __last._M_cur,
1115:     _M_get_Tp_allocator());
1115:   }
1115:        else
1115:   std::_Destroy(__first._M_cur, __last._M_cur,
1115:          _M_get_Tp_allocator());
1115:      }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_new_elements_at_front(size_type __new_elems)
1115:     {
1115:       if (this->max_size() - this->size() < __new_elems)
1115:  __throw_length_error(("deque::_M_new_elements_at_front"));
1115: 
1115:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1115:          / _S_buffer_size());
1115:       _M_reserve_map_at_front(__new_nodes);
1115:       size_type __i;
1115:       try
1115:  {
1115:    for (__i = 1; __i <= __new_nodes; ++__i)
1115:      *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
1115:  }
1115:       catch(...)
1115:  {
1115:    for (size_type __j = 1; __j < __i; ++__j)
1115:      _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_new_elements_at_back(size_type __new_elems)
1115:     {
1115:       if (this->max_size() - this->size() < __new_elems)
1115:  __throw_length_error(("deque::_M_new_elements_at_back"));
1115: 
1115:       const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
1115:          / _S_buffer_size());
1115:       _M_reserve_map_at_back(__new_nodes);
1115:       size_type __i;
1115:       try
1115:  {
1115:    for (__i = 1; __i <= __new_nodes; ++__i)
1115:      *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
1115:  }
1115:       catch(...)
1115:  {
1115:    for (size_type __j = 1; __j < __i; ++__j)
1115:      _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template <typename _Tp, typename _Alloc>
1115:     void
1115:     deque<_Tp, _Alloc>::
1115:     _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
1115:     {
1115:       const size_type __old_num_nodes
1115:  = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
1115:       const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;
1115: 
1115:       _Map_pointer __new_nstart;
1115:       if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
1115:  {
1115:    __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
1115:       - __new_num_nodes) / 2
1115:     + (__add_at_front ? __nodes_to_add : 0);
1115:    if (__new_nstart < this->_M_impl._M_start._M_node)
1115:      std::copy(this->_M_impl._M_start._M_node,
1115:         this->_M_impl._M_finish._M_node + 1,
1115:         __new_nstart);
1115:    else
1115:      std::copy_backward(this->_M_impl._M_start._M_node,
1115:           this->_M_impl._M_finish._M_node + 1,
1115:           __new_nstart + __old_num_nodes);
1115:  }
1115:       else
1115:  {
1115:    size_type __new_map_size = this->_M_impl._M_map_size
1115:          + std::max(this->_M_impl._M_map_size,
1115:       __nodes_to_add) + 2;
1115: 
1115:    _Map_pointer __new_map = this->_M_allocate_map(__new_map_size);
1115:    __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
1115:     + (__add_at_front ? __nodes_to_add : 0);
1115:    std::copy(this->_M_impl._M_start._M_node,
1115:       this->_M_impl._M_finish._M_node + 1,
1115:       __new_nstart);
1115:    _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
1115: 
1115:    this->_M_impl._M_map = __new_map;
1115:    this->_M_impl._M_map_size = __new_map_size;
1115:  }
1115: 
1115:       this->_M_impl._M_start._M_set_node(__new_nstart);
1115:       this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _VTp>
1115:     void
1115:     __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
1115:        const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __last,
1115:        const _VTp& __value)
1115:     {
1115:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1115:       if (__first._M_node != __last._M_node)
1115:  {
1115:    std::__fill_a1(__first._M_cur, __first._M_last, __value);
1115: 
1115:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1115:         __node < __last._M_node; ++__node)
1115:      std::__fill_a1(*__node, *__node + _Iter::_S_buffer_size(), __value);
1115: 
1115:    std::__fill_a1(__last._M_first, __last._M_cur, __value);
1115:  }
1115:       else
1115:  std::__fill_a1(__first._M_cur, __last._M_cur, __value);
1115:     }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1115:     _OI
1115:     __copy_move_dit(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1115:       std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1115:       _OI __result)
1115:     {
1115:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1115:       if (__first._M_node != __last._M_node)
1115:  {
1115:    __result
1115:      = std::__copy_move_a1<_IsMove>(__first._M_cur, __first._M_last,
1115:         __result);
1115: 
1115:    for (typename _Iter::_Map_pointer __node = __first._M_node + 1;
1115:         __node != __last._M_node; ++__node)
1115:      __result
1115:        = std::__copy_move_a1<_IsMove>(*__node,
1115:           *__node + _Iter::_S_buffer_size(),
1115:           11d9a, 0x924d692ca61be758,
1412:       0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85,
1412:       0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d,
1412:       0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25,
1412:       0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2,
1412:       0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a,
1412:       0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410,
1412:       0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129,
1412:       0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85,
1412:       0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841,
1412:       0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b,
1412:   };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   static constexpr int16_t pow10_exponents[87] = {
1412:       -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954,
1412:       -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661,
1412:       -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369,
1412:       -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77,
1412:       -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216,
1412:       242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508,
1412:       534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800,
1412:       827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066};
1412: 
1412: 
1412: 
1412: 
1412:   static constexpr uint64_t power_of_10_64[20] = {
1412:       1, 1ULL * 10, (1ULL)*100, (1ULL)*1000, (1ULL)*10000, (1ULL)*100000, (1ULL)*1000000, (1ULL)*10000000, (1ULL)*100000000, (1ULL)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1412:       10000000000000000000ULL};
1412: };
1412: # 1544 "/usr/include/fmt/format.h" 3 4
1412: struct data : basic_data<> {};
1412: 
1412: 
1412: 
1412: constexpr inline fp get_cached_power(int min_exponent,
1412:                                          int& pow10_exponent) {
1412:   const int shift = 32;
1412: 
1412:   const int64_t significand = 0x4d104d427de7fbcc;
1412:   int index = static_cast<int>(
1412:       ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) +
1412:        ((int64_t(1) << shift) - 1))
1412:       >> 32
1412:   );
1412: 
1412:   const int first_dec_exp = -348;
1412: 
1412:   const int dec_exp_step = 8;
1412:   index = (index - first_dec_exp - 1) / dec_exp_step + 1;
1412:   pow10_exponent = first_dec_exp + index * dec_exp_step;
1412: 
1412: 
1412:   return {*(data::pow10_significands + index),
1412:           *(data::pow10_exponents + index)};
1412: }
1412: # 1578 "/usr/include/fmt/format.h" 3 4
1412: template <typename T>
1412: auto snprintf_float(T value, int precision, float_specs specs,
1412:                     buffer<char>& buf) -> int {
1412: 
1412:   ::fmt::detail::ignore_unused((buf.capacity() > buf.size()), ("empty buffer"));
1412:   ::fmt::detail::ignore_unused((specs.format == float_format::hex), (""));
1412:   static_assert(!std::is_same<T, float>::value, "");
1412: 
1412: 
1412:   char format[7];
1412:   char* format_ptr = format;
1412:   *format_ptr++ = '%';
1412:   if (specs.showpoint) *format_ptr++ = '#';
1412:   if (precision >= 0) {
1412:     *format_ptr++ = '.';
1412:     *format_ptr++ = '*';
1412:   }
1412:   if (std::is_same<T, long double>()) *format_ptr++ = 'L';
1412:   *format_ptr++ = specs.upper ? 'A' : 'a';
1412:   *format_ptr = '\0';
1412: 
1412: 
1412:   auto offset = buf.size();
1412:   for (;;) {
1412:     auto begin = buf.data() + offset;
1412:     auto capacity = buf.capacity() - offset;
1412:     abort_fuzzing_if(precision > 100000);
1412: 
1412: 
1412:     int (*snprintf_ptr)(char*, size_t, const char*, ...) = snprintf;
1412:     int result = precision >= 0
1412:                      ? snprintf_ptr(begin, capacity, format, precision, value)
1412:                      : snprintf_ptr(begin, capacity, format, value);
1412:     if (result < 0) {
1412: 
1412:       buf.try_reserve(buf.capacity() + 1);
1412:       continue;
1412:     }
1412:     auto size = to_unsigned(result);
1412: 
1412:     if (size < capacity) {
1412:       buf.try_resize(size + offset);
1412:       return 0;
1412:     }
1412:     buf.try_reserve(size + offset + 1);
1412:   }
1412: }
1412: 
1412: template <typename T>
1412: using convert_float_result =
1412:     conditional_t<std::is_same<T, float>::value || sizeof(T) == sizeof(double),
1412:                   double, T>;
1412: 
1412: template <typename T>
1412: constexpr auto convert_float(T value) -> convert_float_result<T> {
1412:   return static_cast<convert_float_result<T>>(value);
1412: }
1412: 
1412: template <typename OutputIt, typename Char>
1412: __attribute__((noinline)) constexpr auto fill(OutputIt it, size_t n,
1412:                                      const fill_t<Char>& fill) -> OutputIt {
1412:   auto fill_size = fill.size();
1412:   if (fill_size == 1) return detail::fill_n(it, n, fill[0]);
1412:   auto data = fill.data();
1412:   for (size_t i = 0; i < n; ++i)
1412:     it = copy_str<Char>(data, data + fill_size, it);
1412:   return it;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: template <align::type align = align::left, typename OutputIt, typename Char,
1412:           typename F>
1412: constexpr auto write_padded(OutputIt out,
1412:                                 const basic_format_specs<Char>& specs,
1412:                                 size_t size, size_t width, F&& f) -> OutputIt {
1412:   static_assert(align == align::left || align == align::right, "");
1412:   unsigned spec_width = to_unsigned(specs.width);
1412:   size_t padding = spec_width > width ? spec_width - width : 0;
1412: 
1412: 
1412:   auto* shifts = align == align::left ? "\x1f\x1f\x00\x01" : "\x00\x1f\x00\x01";
1412:   size_t left_padding = padding >> shifts[specs.align];
1412:   size_t right_padding = padding - left_padding;
1412:   auto it = reserve(out, size + padding * specs.fill.size());
1412:   if (left_padding != 0) it = fill(it, left_padding, specs.fill);
1412:   it = f(it);
1412:   if (right_padding != 0) it = fill(it, right_padding, specs.fill);
1412:   return base_iterator(out, it);
1412: }
1412: 
1412: template <align::type align = align::left, typename OutputIt, typename Char,
1412:           typename F>
1412: constexpr auto write_padded(OutputIt out, const basic_format_specs<Char>& specs,
1412:                             size_t size, F&& f) -> OutputIt {
1412:   return write_padded<align>(out, specs, size, size, f);
1412: }
1412: 
1412: template <align::type align = align::left, typename Char, typename OutputIt>
1412: constexpr auto write_bytes(OutputIt out, string_view bytes,
1412:                                const basic_format_specs<Char>& specs)
1412:     -> OutputIt {
1412:   return write_padded<align>(
1412:       out, specs, bytes.size(), [bytes](reserve_iterator<OutputIt> it) {
1412:         const char* data = bytes.data();
1412:         return copy_str<Char>(data, data + bytes.size(), it);
1412:       });
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename UIntPtr>
1412: auto write_ptr(OutputIt out, UIntPtr value,
1412:                const basic_format_specs<Char>* specs) -> OutputIt {
1412:   int num_digits = count_digits<4>(value);
1412:   auto size = to_unsigned(num_digits) + size_t(2);
1412:   auto write = [=](reserve_iterator<OutputIt> it) {
1412:     *it++ = static_cast<Char>('0');
1412:     *it++ = static_cast<Char>('x');
1412:     return format_uint<4, Char>(it, value, num_digits);
1412:   };
1412:   return specs ? write_padded<align::right>(out, *specs, size, write)
1412:                : base_iterator(out, write(reserve(out, size)));
1412: }
1412: 
1412: 
1412:  auto is_printable(uint32_t cp) -> bool;
1412: 
1412: inline auto needs_escape(uint32_t cp) -> bool {
1412:   return cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\' ||
1412:          !is_printable(cp);
1412: }
1412: 
1412: template <typename Char> struct find_escape_resul__result);
1115: 
1115:    return std::__copy_move_a1<_IsMove>(__last._M_first, __last._M_cur,
1115:            __result);
1115:  }
1115: 
1115:       return std::__copy_move_a1<_IsMove>(__first._M_cur, __last._M_cur,
1115:        __result);
1115:     }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1115:     _OI
1115:     __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1115:      std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1115:      _OI __result)
1115:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1115: 
1115:   template<bool _IsMove,
1115:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1115:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1115:     __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1115:      std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1115:      std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1115:     { return __copy_move_dit<_IsMove>(__first, __last, __result); }
1115: 
1115:   template<bool _IsMove, typename _II, typename _Tp>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value,
1115:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1115:     __copy_move_a1(_II __first, _II __last,
1115:      std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1115:     {
1115:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1115:       typedef typename _Iter::difference_type difference_type;
1115: 
1115:       difference_type __len = __last - __first;
1115:       while (__len > 0)
1115:  {
1115:    const difference_type __clen
1115:      = std::min(__len, __result._M_last - __result._M_cur);
1115:    std::__copy_move_a1<_IsMove>(__first, __first + __clen,
1115:            __result._M_cur);
1115: 
1115:    __first += __clen;
1115:    __result += __clen;
1115:    __len -= __clen;
1115:  }
1115: 
1115:       return __result;
1115:     }
1115: 
1115:   template<bool _IsMove, typename _CharT>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_char<_CharT>::__value,
1115:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1115:     __copy_move_a2(
1115:  istreambuf_iterator<_CharT, char_traits<_CharT> > __first,
1115:  istreambuf_iterator<_CharT, char_traits<_CharT> > __last,
1115:  std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result)
1115:     {
1115:       if (__first == __last)
1115:  return __result;
1115: 
1115:       for (;;)
1115:  {
1115:    const std::ptrdiff_t __len = __result._M_last - __result._M_cur;
1115:    const std::ptrdiff_t __nb
1115:      = std::__copy_n_a(__first, __len, __result._M_cur, false)
1115:      - __result._M_cur;
1115:    __result += __nb;
1115: 
1115:    if (__nb != __len)
1115:      break;
1115:  }
1115: 
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Size>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_char<_CharT>::__value,
1115:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
1115:     __copy_n_a(
1115:       istreambuf_iterator<_CharT, char_traits<_CharT> > __it, _Size __size,
1115:       std::_Deque_iterator<_CharT, _CharT&, _CharT*> __result,
1115:       bool __strict)
1115:     {
1115:       if (__size == 0)
1115:  return __result;
1115: 
1115:       do
1115:  {
1115:    const _Size __len
1115:      = std::min<_Size>(__result._M_last - __result._M_cur, __size);
1115:    std::__copy_n_a(__it, __len, __result._M_cur, __strict);
1115:    __result += __len;
1115:    __size -= __len;
1115:  }
1115:       while (__size != 0);
1115:       return __result;
1115:     }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1115:     _OI
1115:     __copy_move_backward_dit(
1115:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1115:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1115:   _OI __result)
1115:     {
1115:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1115:       if (__first._M_node != __last._M_node)
1115:  {
1115:    __result = std::__copy_move_backward_a1<_IsMove>(
1115:   __last._M_first, __last._M_cur, __result);
1115: 
1115:    for (typename _Iter::_Map_pointer __node = __last._M_node - 1;
1115:         __node != __first._M_node; --__node)
1115:      __result = std::__copy_move_backward_a1<_IsMove>(
1115:   *__node, *__node + _Iter::_S_buffer_size(), __result);
1115: 
1115:    return std::__copy_move_backward_a1<_IsMove>(
1115:    __first._M_cur, __first._M_last, __result);
1115:  }
1115: 
1115:       return std::__copy_move_backward_a1<_IsMove>(
1115:   __first._M_cur, __last._M_cur, __result);
1115:     }
1115: 
1115:   template<bool _IsMove,
1115:     typename _Tp, typename _Ref, typename _Ptr, typename _OI>
1115:     _OI
1115:     __copy_move_backward_a1(
1115:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first,
1115:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __last,
1115:   _OI __result)
1115:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1115: 
1115:   template<bool _IsMove,
1115:     typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
1115:     std::_Deque_iterator<_OTp, _OTp&, _OTp*>
1115:     __copy_move_backward_a1(
1115:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __first,
1115:   std::_Deque_iterator<_ITp, _IRef, _IPtr> __last,
1115:   std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result)
1115:     { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); }
1115: 
1115:   template<bool _IsMove, typename _II, typename _Tp>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value,
1115:       std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
1115:     __copy_move_backward_a1(_II __first, _II __last,
1115:   std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result)
1115:     {
1115:       typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter;
1115:       typedef typename _Iter::difference_type difference_type;
1115: 
1115:       difference_type __len = __last - __first;
1115:       while (__len > 0)
1115:  {
1115:    difference_type __rlen = __result._M_cur - __result._M_first;
1115:    _Tp* __rend = __result._M_cur;
1115:    if (!__rlen)
1115:      {
1115:        __rlen = _Iter::_S_buffer_size();
1115:        __rend = *(__result._M_node - 1) + __rlen;
1115:      }
1115: 
1115:    const difference_type __clen = std::min(__len, __rlen);
1115:    std::__copy_move_backward_a1<_IsMove>(__last - __clen, __last, __rend);
1115: 
1115:    __last -= __clen;
1115:    __result -= __clen;
1115:    __len -= __clen;
1115:  }
1115: 
1115:       return __result;
1115:     }
1115: 
1115:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1115:     bool
1115:     __equal_dit(
1115:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __first1,
1115:  const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __last1,
1115:  _II __first2)
1115:     {
1115:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1115:       if (__first1._M_node != __last1._M_node)
1115:  {
1115:    if (!std::__equal_aux1(__first1._M_cur, __first1._M_last, __first2))
1115:      return false;
1115: 
1115:    __first2 += __first1._M_last - __first1._M_cur;
1115:    for (typename _Iter::_Map_pointer __node = __first1._M_node + 1;
1115:         __node != __last1._M_node;
1115:         __first2 += _Iter::_S_buffer_size(), ++__node)
1115:      if (!std::__equal_aux1(*__node, *__node + _Iter::_S_buffer_size(),
1115:       __first2))
1115:        return false;
1115: 
1115:    return std::__equal_aux1(__last1._M_first, __last1._M_cur, __first2);
1115:  }
1115: 
1115:       return std::__equal_aux1(__first1._M_cur, __last1._M_cur, __first2);
1115:     }
1115: 
1115:   template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value, bool>::__type
1115:     __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first1,
1115:    std::_Deque_iterator<_Tp, _Ref, _Ptr> __last1,
1115:    _II __first2)
1115:     { return std::__equal_dit(__first1, __last1, __first2); }
1115: 
1115:   template<typename _Tp1, typename _Ref1, typenamt {
1412:   const Char* begin;
1412:   const Char* end;
1412:   uint32_t cp;
1412: };
1412: 
1412: template <typename Char>
1412: using make_unsigned_char =
1412:     typename conditional_t<std::is_integral<Char>::value,
1412:                            std::make_unsigned<Char>,
1412:                            type_identity<uint32_t>>::type;
1412: 
1412: template <typename Char>
1412: auto find_escape(const Char* begin, const Char* end)
1412:     -> find_escape_result<Char> {
1412:   for (; begin != end; ++begin) {
1412:     uint32_t cp = static_cast<make_unsigned_char<Char>>(*begin);
1412:     if (const_check(sizeof(Char) == 1) && cp >= 0x80) continue;
1412:     if (needs_escape(cp)) return {begin, begin + 1, cp};
1412:   }
1412:   return {begin, nullptr, 0};
1412: }
1412: 
1412: inline auto find_escape(const char* begin, const char* end)
1412:     -> find_escape_result<char> {
1412:   if (!is_utf8()) return find_escape<char>(begin, end);
1412:   auto result = find_escape_result<char>{end, nullptr, 0};
1412:   for_each_codepoint(string_view(begin, to_unsigned(end - begin)),
1412:                      [&](uint32_t cp, string_view sv) {
1412:                        if (needs_escape(cp)) {
1412:                          result = {sv.begin(), sv.end(), cp};
1412:                          return false;
1412:                        }
1412:                        return true;
1412:                      });
1412:   return result;
1412: }
1412: # 1774 "/usr/include/fmt/format.h" 3 4
1412: template <size_t width, typename Char, typename OutputIt>
1412: auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt {
1412:   *out++ = static_cast<Char>('\\');
1412:   *out++ = static_cast<Char>(prefix);
1412:   Char buf[width];
1412:   fill_n(buf, width, static_cast<Char>('0'));
1412:   format_uint<4>(buf, cp, width);
1412:   return copy_str<Char>(buf, buf + width, out);
1412: }
1412: 
1412: template <typename OutputIt, typename Char>
1412: auto write_escaped_cp(OutputIt out, const find_escape_result<Char>& escape)
1412:     -> OutputIt {
1412:   auto c = static_cast<Char>(escape.cp);
1412:   switch (escape.cp) {
1412:   case '\n':
1412:     *out++ = static_cast<Char>('\\');
1412:     c = static_cast<Char>('n');
1412:     break;
1412:   case '\r':
1412:     *out++ = static_cast<Char>('\\');
1412:     c = static_cast<Char>('r');
1412:     break;
1412:   case '\t':
1412:     *out++ = static_cast<Char>('\\');
1412:     c = static_cast<Char>('t');
1412:     break;
1412:   case '"':
1412:     [[fallthrough]];
1412:   case '\'':
1412:     [[fallthrough]];
1412:   case '\\':
1412:     *out++ = static_cast<Char>('\\');
1412:     break;
1412:   default:
1412:     if (is_utf8()) {
1412:       if (escape.cp < 0x100) {
1412:         return write_codepoint<2, Char>(out, 'x', escape.cp);
1412:       }
1412:       if (escape.cp < 0x10000) {
1412:         return write_codepoint<4, Char>(out, 'u', escape.cp);
1412:       }
1412:       if (escape.cp < 0x110000) {
1412:         return write_codepoint<8, Char>(out, 'U', escape.cp);
1412:       }
1412:     }
1412:     for (Char escape_char : basic_string_view<Char>(
1412:              escape.begin, to_unsigned(escape.end - escape.begin))) {
1412:       out = write_codepoint<2, Char>(out, 'x',
1412:                                      static_cast<uint32_t>(escape_char) & 0xFF);
1412:     }
1412:     return out;
1412:   }
1412:   *out++ = c;
1412:   return out;
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: auto write_escaped_string(OutputIt out, basic_string_view<Char> str)
1412:     -> OutputIt {
1412:   *out++ = static_cast<Char>('"');
1412:   auto begin = str.begin(), end = str.end();
1412:   do {
1412:     auto escape = find_escape(begin, end);
1412:     out = copy_str<Char>(begin, escape.begin, out);
1412:     begin = escape.end;
1412:     if (!begin) break;
1412:     out = write_escaped_cp<OutputIt, Char>(out, escape);
1412:   } while (begin != end);
1412:   *out++ = static_cast<Char>('"');
1412:   return out;
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: auto write_escaped_char(OutputIt out, Char v) -> OutputIt {
1412:   *out++ = static_cast<Char>('\'');
1412:   if ((needs_escape(static_cast<uint32_t>(v)) && v != static_cast<Char>('"')) ||
1412:       v == static_cast<Char>('\'')) {
1412:     out = write_escaped_cp(
1412:         out, find_escape_result<Char>{&v, &v + 1, static_cast<uint32_t>(v)});
1412:   } else {
1412:     *out++ = v;
1412:   }
1412:   *out++ = static_cast<Char>('\'');
1412:   return out;
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write_char(OutputIt out, Char value,
1412:                               const basic_format_specs<Char>& specs)
1412:     -> OutputIt {
1412:   bool is_debug = specs.type == presentation_type::debug;
1412:   return write_padded(out, specs, 1, [=](reserve_iterator<OutputIt> it) {
1412:     if (is_debug) return write_escaped_char(it, value);
1412:     *it++ = value;
1412:     return it;
1412:   });
1412: }
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write(OutputIt out, Char value,
1412:                          const basic_format_specs<Char>& specs,
1412:                          locale_ref loc = {}) -> OutputIt {
1412:   return check_char_specs(specs)
1412:              ? write_char(out, value, specs)
1412:              : write(out, static_cast<int>(value), specs, loc);
1412: }
1412: 
1412: 
1412: 
1412: template <typename Char> struct write_int_data {
1412:   size_t size;
1412:   size_t padding;
1412: 
1412:   constexpr write_int_data(int num_digits, unsigned prefix,
1412:                                const basic_format_specs<Char>& specs)
1412:       : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) {
1412:     if (specs.align == align::numeric) {
1412:       auto width = to_unsigned(specs.width);
1412:       if (width > size) {
1412:         padding = width - size;
1412:         size = width;
1412:       }
1412:     } else if (specs.precision > num_digits) {
1412:       size = (prefix >> 24) + to_unsigned(specs.precision);
1412:       padding = to_unsigned(specs.precision - num_digits);
1412:     }
1412:   }
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename OutputIt, typename Char, typename W>
1412: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, int num_digits,
1412:                                         unsigned prefix,
1412:                                         const basic_format_specs<Char>& specs,
1412:                                         W write_digits) -> OutputIt {
1412: 
1412:   if ((specs.width | (specs.precision + 1)) == 0) {
1412:     auto it = reserve(out, to_unsigned(num_digits) + (prefix >> 24));
1412:     if (prefix != 0) {
1412:       for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1412:         *it++ = static_cast<Char>(p & 0xff);
1412:     }
1412:     return base_iterator(out, write_digits(it));
1412:   }
1412:   auto data = write_int_data<Char>(num_digits, prefix, specs);
1412:   return write_padded<align::right>(
1412:       out, specs, data.size, [=](reserve_iterator<OutputIt> it) {
1412:         for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1412:           *it++ = static_cast<Char>(p & 0xff);
1412:         it = detail::fill_n(it, data.padding, static_cast<Char>('0'));
1412:         return write_digits(it);
1412:       });
1412: }
1412: 
1412: template <typename Char> class digit_grouping {
1412:  private:
1412:   thousands_sep_result<Char> sep_;
1412: 
1412:   struct next_state {
1412:     std::string::const_iterator group;
1412:     int pos;
1412:   };
1412:   next_state initial_state() const { return {sep_.grouping.begin(), 0}; }
1412: 
1412: 
1412:   int next(next_state& state) const {
1412:     if (!sep_.thousands_sep) return max_value<int>();
1412:     if (state.group == sep_.grouping.end())
1412:       return state.pos += sep_.grouping.back();
1412:     if (*state.group <= 0 || *state.group == max_value<char>())
1412:       return max_value<int>();
1412:     state.pos += *state.group++;
1412:     return state.pos;
1412:   }
14e _Ptr1,
1115:     typename _Tp2, typename _Ref2, typename _Ptr2>
1115:     bool
1115:     __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1115:    std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1115:    std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2)
1115:     { return std::__equal_dit(__first1, __last1, __first2); }
1115: 
1115:   template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
1115:     typename __gnu_cxx::__enable_if<
1115:       __is_random_access_iter<_II>::__value, bool>::__type
1115:     __equal_aux1(_II __first1, _II __last1,
1115:   std::_Deque_iterator<_Tp, _Ref, _Ptr> __first2)
1115:     {
1115:       typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter;
1115:       typedef typename _Iter::difference_type difference_type;
1115: 
1115:       difference_type __len = __last1 - __first1;
1115:       while (__len > 0)
1115:  {
1115:    const difference_type __clen
1115:      = std::min(__len, __first2._M_last - __first2._M_cur);
1115:    if (!std::__equal_aux1(__first1, __first1 + __clen, __first2._M_cur))
1115:      return false;
1115: 
1115:    __first1 += __clen;
1115:    __len -= __clen;
1115:    __first2 += __clen;
1115:  }
1115: 
1115:       return true;
1115:     }
1115: 
1115:   template<typename _Tp1, typename _Ref, typename _Ptr, typename _Tp2>
1115:     int
1115:     __lex_cmp_dit(
1115:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __first1,
1115:  std::_Deque_iterator<_Tp1, _Ref, _Ptr> __last1,
1115:  const _Tp2* __first2, const _Tp2* __last2)
1115:     {
1115:       const bool __simple =
1115:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1115:   && __is_pointer<_Ptr>::__value
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   );
1115:       typedef std::__lexicographical_compare<__simple> _Lc;
1115: 
1115:       while (__first1._M_node != __last1._M_node)
1115:  {
1115:    const ptrdiff_t __len1 = __first1._M_last - __first1._M_cur;
1115:    const ptrdiff_t __len2 = __last2 - __first2;
1115:    const ptrdiff_t __len = std::min(__len1, __len2);
1115: 
1115:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_last,
1115:           __first2, __first2 + __len))
1115:      return __ret;
1115: 
1115:    __first1 += __len;
1115:    __first2 += __len;
1115:  }
1115:       return _Lc::__3way(__first1._M_cur, __last1._M_cur,
1115:     __first2, __last2);
1115:     }
1115: 
1115:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1115:     typename _Tp2>
1115:     inline bool
1115:     __lexicographical_compare_aux1(
1115:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1115:  std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1115:  _Tp2* __first2, _Tp2* __last2)
1115:     { return std::__lex_cmp_dit(__first1, __last1, __first2, __last2) < 0; }
1115: 
1115:   template<typename _Tp1,
1115:     typename _Tp2, typename _Ref2, typename _Ptr2>
1115:     inline bool
1115:     __lexicographical_compare_aux1(_Tp1* __first1, _Tp1* __last1,
1115:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1115:  std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1115:     { return std::__lex_cmp_dit(__first2, __last2, __first1, __last1) > 0; }
1115: 
1115:   template<typename _Tp1, typename _Ref1, typename _Ptr1,
1115:     typename _Tp2, typename _Ref2, typename _Ptr2>
1115:     inline bool
1115:     __lexicographical_compare_aux1(
1115:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1,
1115:   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1,
1115:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2,
1115:   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __last2)
1115:     {
1115:       const bool __simple =
1115:  (__is_memcmp_ordered_with<_Tp1, _Tp2>::__value
1115:   && __is_pointer<_Ptr1>::__value
1115:   && __is_pointer<_Ptr2>::__value
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   );
1115:       typedef std::__lexicographical_compare<__simple> _Lc;
1115: 
1115:       while (__first1 != __last1)
1115:  {
1115:    const ptrdiff_t __len2 = __first2._M_node == __last2._M_node
1115:      ? __last2._M_cur - __first2._M_cur
1115:      : __first2._M_last - __first2._M_cur;
1115:    if (__len2 == 0)
1115:      return false;
1115:    const ptrdiff_t __len1 = __first1._M_node == __last1._M_node
1115:      ? __last1._M_cur - __first1._M_cur
1115:      : __first1._M_last - __first1._M_cur;
1115:    const ptrdiff_t __len = std::min(__len1, __len2);
1115:    if (int __ret = _Lc::__3way(__first1._M_cur, __first1._M_cur + __len,
1115:           __first2._M_cur, __first2._M_cur + __len))
1115:      return __ret < 0;
1115: 
1115:    __first1 += __len;
1115:    __first2 += __len;
1115:  }
1115: 
1115:       return __last2 != __first2;
1115:     }
1115: 
1115: 
1115: }
1115: # 68 "/usr/include/c++/12/deque" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115:   namespace pmr
1115:   {
1115:     template<typename _Tp> class polymorphic_allocator;
1115:     template<typename _Tp>
1115:       using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>;
1115:   }
1115: 
1115: }
1115: # 61 "/usr/include/c++/12/queue" 2 3
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stl_queue.h" 1 3
1115: # 65 "/usr/include/c++/12/bits/stl_queue.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 95 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:   template<typename _Tp, typename _Sequence = deque<_Tp> >
1115:     class queue
1115:     {
1115: # 109 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       template<typename _Tp1, typename _Seq1>
1115:  friend bool
1115:  operator==(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
1115: 
1115:       template<typename _Tp1, typename _Seq1>
1115:  friend bool
1115:  operator<(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
1115: # 124 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       template<typename _Alloc>
1115:  using _Uses = typename
1115:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1115:    "value_type must be the same as the underlying container");
1115: 
1115: 
1115: 
1115:     public:
1115:       typedef typename _Sequence::value_type value_type;
1115:       typedef typename _Sequence::reference reference;
1115:       typedef typename _Sequence::const_reference const_reference;
1115:       typedef typename _Sequence::size_type size_type;
1115:       typedef _Sequence container_type;
1115: 
1115:     protected:
1115: # 153 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       _Sequence c;
1115: 
1115:     public:
1115: # 164 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       template<typename _Seq = _Sequence, typename _Requires = typename
1115:         enable_if<is_default_constructible<_Seq>::value>::type>
1115:  queue()
1115:  : c() { }
1115: 
1115:       explicit
1115:       queue(const _Sequence& __c)
1115:       : c(__c) { }
1115: 
1115:       explicit
1115:       queue(_Sequence&& __c)
1115:       : c(std::move(__c)) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  explicit
1115:  queue(const _Alloc& __a)
1115:  : c(__a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  queue(const _Sequence& __c, const _Alloc& __a)
1115:  : c(__c, __a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  queue(_Sequence&& __c, const _Alloc& __a)
1115:  : c(std::move(__c), __a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  queue(const queue& __q, const _Alloc& __a)
1115:  : c(__q.c, __a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  queue(queue&& __q, const _Alloc& __a)
1115:  : c(std::move(__q.c), __a) { }
1115: # 217 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       [[__nodiscard__]] bool
1115:       empty() const
1115:       { return c.empty(); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       size() const
1115:       { return c.size(); }
1115: 
1115: 
1112: 
1412:  public:
1412:   explicit digit_grouping(locale_ref loc, bool localized = true) {
1412:     if (localized)
1412:       sep_ = thousands_sep<Char>(loc);
1412:     else
1412:       sep_.thousands_sep = Char();
1412:   }
1412:   explicit digit_grouping(thousands_sep_result<Char> sep) : sep_(sep) {}
1412: 
1412:   Char separator() const { return sep_.thousands_sep; }
1412: 
1412:   int count_separators(int num_digits) const {
1412:     int count = 0;
1412:     auto state = initial_state();
1412:     while (num_digits > next(state)) ++count;
1412:     return count;
1412:   }
1412: 
1412: 
1412:   template <typename Out, typename C>
1412:   Out apply(Out out, basic_string_view<C> digits) const {
1412:     auto num_digits = static_cast<int>(digits.size());
1412:     auto separators = basic_memory_buffer<int>();
1412:     separators.push_back(0);
1412:     auto state = initial_state();
1412:     while (int i = next(state)) {
1412:       if (i >= num_digits) break;
1412:       separators.push_back(i);
1412:     }
1412:     for (int i = 0, sep_index = static_cast<int>(separators.size() - 1);
1412:          i < num_digits; ++i) {
1412:       if (num_digits - i == separators[sep_index]) {
1412:         *out++ = separator();
1412:         --sep_index;
1412:       }
1412:       *out++ = static_cast<Char>(digits[to_unsigned(i)]);
1412:     }
1412:     return out;
1412:   }
1412: };
1412: 
1412: template <typename OutputIt, typename UInt, typename Char>
1412: auto write_int_localized(OutputIt out, UInt value, unsigned prefix,
1412:                          const basic_format_specs<Char>& specs,
1412:                          const digit_grouping<Char>& grouping) -> OutputIt {
1412:   static_assert(std::is_same<uint64_or_128_t<UInt>, UInt>::value, "");
1412:   int num_digits = count_digits(value);
1412:   char digits[40];
1412:   format_decimal(digits, value, num_digits);
1412:   unsigned size = to_unsigned((prefix != 0 ? 1 : 0) + num_digits +
1412:                               grouping.count_separators(num_digits));
1412:   return write_padded<align::right>(
1412:       out, specs, size, size, [&](reserve_iterator<OutputIt> it) {
1412:         if (prefix != 0) {
1412:           char sign = static_cast<char>(prefix);
1412:           *it++ = static_cast<Char>(sign);
1412:         }
1412:         return grouping.apply(it, string_view(digits, to_unsigned(num_digits)));
1412:       });
1412: }
1412: 
1412: template <typename OutputIt, typename UInt, typename Char>
1412: auto write_int_localized(OutputIt& out, UInt value, unsigned prefix,
1412:                          const basic_format_specs<Char>& specs, locale_ref loc)
1412:     -> bool {
1412:   auto grouping = digit_grouping<Char>(loc);
1412:   out = write_int_localized(out, value, prefix, specs, grouping);
1412:   return true;
1412: }
1412: 
1412: constexpr inline void prefix_append(unsigned& prefix, unsigned value) {
1412:   prefix |= prefix != 0 ? value << 8 : value;
1412:   prefix += (1u + (value > 0xff ? 1 : 0)) << 24;
1412: }
1412: 
1412: template <typename UInt> struct write_int_arg {
1412:   UInt abs_value;
1412:   unsigned prefix;
1412: };
1412: 
1412: template <typename T>
1412: constexpr auto make_write_int_arg(T value, sign_t sign)
1412:     -> write_int_arg<uint32_or_64_or_128_t<T>> {
1412:   auto prefix = 0u;
1412:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1412:   if (is_negative(value)) {
1412:     prefix = 0x01000000 | '-';
1412:     abs_value = 0 - abs_value;
1412:   } else {
1412:     constexpr const unsigned prefixes[4] = {0, 0, 0x1000000u | '+',
1412:                                             0x1000000u | ' '};
1412:     prefix = prefixes[sign];
1412:   }
1412:   return {abs_value, prefix};
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T>
1412: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, write_int_arg<T> arg,
1412:                                         const basic_format_specs<Char>& specs,
1412:                                         locale_ref loc) -> OutputIt {
1412:   static_assert(std::is_same<T, uint32_or_64_or_128_t<T>>::value, "");
1412:   auto abs_value = arg.abs_value;
1412:   auto prefix = arg.prefix;
1412:   switch (specs.type) {
1412:   case presentation_type::none:
1412:   case presentation_type::dec: {
1412:     if (specs.localized &&
1412:         write_int_localized(out, static_cast<uint64_or_128_t<T>>(abs_value),
1412:                             prefix, specs, loc)) {
1412:       return out;
1412:     }
1412:     auto num_digits = count_digits(abs_value);
1412:     return write_int(
1412:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1412:           return format_decimal<Char>(it, abs_value, num_digits).end;
1412:         });
1412:   }
1412:   case presentation_type::hex_lower:
1412:   case presentation_type::hex_upper: {
1412:     bool upper = specs.type == presentation_type::hex_upper;
1412:     if (specs.alt)
1412:       prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0');
1412:     int num_digits = count_digits<4>(abs_value);
1412:     return write_int(
1412:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1412:           return format_uint<4, Char>(it, abs_value, num_digits, upper);
1412:         });
1412:   }
1412:   case presentation_type::bin_lower:
1412:   case presentation_type::bin_upper: {
1412:     bool upper = specs.type == presentation_type::bin_upper;
1412:     if (specs.alt)
1412:       prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0');
1412:     int num_digits = count_digits<1>(abs_value);
1412:     return write_int(out, num_digits, prefix, specs,
1412:                      [=](reserve_iterator<OutputIt> it) {
1412:                        return format_uint<1, Char>(it, abs_value, num_digits);
1412:                      });
1412:   }
1412:   case presentation_type::oct: {
1412:     int num_digits = count_digits<3>(abs_value);
1412: 
1412: 
1412:     if (specs.alt && specs.precision <= num_digits && abs_value != 0)
1412:       prefix_append(prefix, '0');
1412:     return write_int(out, num_digits, prefix, specs,
1412:                      [=](reserve_iterator<OutputIt> it) {
1412:                        return format_uint<3, Char>(it, abs_value, num_digits);
1412:                      });
1412:   }
1412:   case presentation_type::chr:
1412:     return write_char(out, static_cast<Char>(abs_value), specs);
1412:   default:
1412:     throw_format_error("invalid type specifier");
1412:   }
1412:   return out;
1412: }
1412: template <typename Char, typename OutputIt, typename T>
1412: constexpr __attribute__((noinline)) auto write_int_noinline(
1412:     OutputIt out, write_int_arg<T> arg, const basic_format_specs<Char>& specs,
1412:     locale_ref loc) -> OutputIt {
1412:   return write_int(out, arg, specs, loc);
1412: }
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
1412: 
1412:                                                                              >
1412: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1412:                                     const basic_format_specs<Char>& specs,
1412:                                     locale_ref loc) -> OutputIt {
1412:   return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs,
1412:                             loc);
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
1412: 
1412:                                                                               >
1412: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1412:                                     const basic_format_specs<Char>& specs,
1412:                                     locale_ref loc) -> OutputIt {
1412:   return write_int(out, make_write_15: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       front()
1115:       {
1115:  ;
1115:  return c.front();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       front() const
1115:       {
1115:  ;
1115:  return c.front();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       back()
1115:       {
1115:  ;
1115:  return c.back();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       back() const
1115:       {
1115:  ;
1115:  return c.back();
1115:       }
1115: # 284 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       void
1115:       push(const value_type& __x)
1115:       { c.push_back(__x); }
1115: 
1115: 
1115:       void
1115:       push(value_type&& __x)
1115:       { c.push_back(std::move(__x)); }
1115: 
1115: 
1115:       template<typename... _Args>
1115:  decltype(auto)
1115:  emplace(_Args&&... __args)
1115:  { return c.emplace_back(std::forward<_Args>(__args)...); }
1115: # 317 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       void
1115:       pop()
1115:       {
1115:  ;
1115:  c.pop_front();
1115:       }
1115: 
1115: 
1115:       void
1115:       swap(queue& __q)
1115: 
1115:       noexcept(__is_nothrow_swappable<_Sequence>::value)
1115: 
1115: 
1115: 
1115:       {
1115:  using std::swap;
1115:  swap(c, __q.c);
1115:       }
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _Container,
1115:     typename = _RequireNotAllocator<_Container>>
1115:     queue(_Container) -> queue<typename _Container::value_type, _Container>;
1115: 
1115:   template<typename _Container, typename _Allocator,
1115:     typename = _RequireNotAllocator<_Container>>
1115:     queue(_Container, _Allocator)
1115:     -> queue<typename _Container::value_type, _Container>;
1115: # 377 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1115:     { return __x.c == __y.c; }
1115: # 396 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1115:     { return __x.c < __y.c; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
1115:     { return !(__x < __y); }
1115: # 439 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:   template<typename _Tp, typename _Seq>
1115:     inline
1115: 
1115: 
1115:     typename enable_if<__is_swappable<_Seq>::value>::type
1115: 
1115: 
1115: 
1115:     swap(queue<_Tp, _Seq>& __x, queue<_Tp, _Seq>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115:   template<typename _Tp, typename _Seq, typename _Alloc>
1115:     struct uses_allocator<queue<_Tp, _Seq>, _Alloc>
1115:     : public uses_allocator<_Seq, _Alloc>::type { };
1115: # 496 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:   template<typename _Tp, typename _Sequence = vector<_Tp>,
1115:     typename _Compare = less<typename _Sequence::value_type> >
1115:     class priority_queue
1115:     {
1115: # 514 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       template<typename _Alloc>
1115:  using _Uses = typename
1115:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1115:    "value_type must be the same as the underlying container");
1115: 
1115: 
1115: 
1115:     public:
1115:       typedef typename _Sequence::value_type value_type;
1115:       typedef typename _Sequence::reference reference;
1115:       typedef typename _Sequence::const_reference const_reference;
1115:       typedef typename _Sequence::size_type size_type;
1115:       typedef _Sequence container_type;
1115: 
1115: 
1115:       typedef _Compare value_compare;
1115: 
1115:     protected:
1115: 
1115:       _Sequence c;
1115:       _Compare comp;
1115: 
1115:     public:
1115: # 553 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       template<typename _Seq = _Sequence, typename _Requires = typename
1115:         enable_if<__and_<is_default_constructible<_Compare>,
1115:     is_default_constructible<_Seq>>::value>::type>
1115:  priority_queue()
1115:  : c(), comp() { }
1115: 
1115:       explicit
1115:       priority_queue(const _Compare& __x, const _Sequence& __s)
1115:       : c(__s), comp(__x)
1115:       { std::make_heap(c.begin(), c.end(), comp); }
1115: 
1115:       explicit
1115:       priority_queue(const _Compare& __x, _Sequence&& __s = _Sequence())
1115:       : c(std::move(__s)), comp(__x)
1115:       { std::make_heap(c.begin(), c.end(), comp); }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  explicit
1115:  priority_queue(const _Alloc& __a)
1115:  : c(__a), comp() { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(const _Compare& __x, const _Alloc& __a)
1115:  : c(__a), comp(__x) { }
1115: 
1115: 
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(const _Compare& __x, const _Sequence& __c,
1115:          const _Alloc& __a)
1115:  : c(__c, __a), comp(__x)
1115:  { std::make_heap(c.begin(), c.end(), comp); }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(const _Compare& __x, _Sequence&& __c, const _Alloc& __a)
1115:  : c(std::move(__c), __a), comp(__x)
1115:  { std::make_heap(c.begin(), c.end(), comp); }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(const priority_queue& __q, const _Alloc& __a)
1115:  : c(__q.c, __a), comp(__q.comp) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(priority_queue&& __q, const _Alloc& __a)
1115:  : c(std::move(__q.c), __a), comp(std::move(__q.comp)) { }
1115: # 629 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  priority_queue(_InputIterator __first, _InputIterator __last,
1115:          const _Compare& __x = _Compare())
1115:  : c(__first, __last), comp(__x)
1115:  { std::make_heap(c.begin(), c.end(), comp); }
1115: 
1115: 
1115: 
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  priority_queue(_InputIterator __first, _InputIterator __last,
1115:          const _Compare& __x, const _Sequence& __s)
1115:  : c(__s), comp(__x)
1115:  {
1115:    ;
1115:    c.insert(c.end(), __first, __last);
1115:    std::make_heap(c.begin(), c.end(), comp);
1115:  }
1115: 
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  priority_queue(_InputIterator __first, _InputIterator __last,
1115:          const _Compare& __x, _Sequence&& __s)
1115:  : c(std::move(__s)), comp(__x)
1115:  {
1115:    ;
1115:    c.insert(c.end(), __first, __last);
1115:    std::make_heap(c.begin(), c.end(), comp);
1115:  }
1115: 
1115: 
1115: 
1115:       temint_arg(value, specs.sign), specs, loc);
1412: }
1412: 
1412: 
1412: 
1412: class counting_iterator {
1412:  private:
1412:   size_t count_;
1412: 
1412:  public:
1412:   using iterator_category = std::output_iterator_tag;
1412:   using difference_type = std::ptrdiff_t;
1412:   using pointer = void;
1412:   using reference = void;
1412:   using unchecked_type = counting_iterator;
1412: 
1412:   struct value_type {
1412:     template <typename T> constexpr void operator=(const T&) {}
1412:   };
1412: 
1412:   constexpr counting_iterator() : count_(0) {}
1412: 
1412:   constexpr size_t count() const { return count_; }
1412: 
1412:   constexpr counting_iterator& operator++() {
1412:     ++count_;
1412:     return *this;
1412:   }
1412:   constexpr counting_iterator operator++(int) {
1412:     auto it = *this;
1412:     ++*this;
1412:     return it;
1412:   }
1412: 
1412:   constexpr friend counting_iterator operator+(counting_iterator it,
1412:                                                    difference_type n) {
1412:     it.count_ += static_cast<size_t>(n);
1412:     return it;
1412:   }
1412: 
1412:   constexpr value_type operator*() const { return {}; }
1412: };
1412: 
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write(OutputIt out, basic_string_view<Char> s,
1412:                          const basic_format_specs<Char>& specs) -> OutputIt {
1412:   auto data = s.data();
1412:   auto size = s.size();
1412:   if (specs.precision >= 0 && to_unsigned(specs.precision) < size)
1412:     size = code_point_index(s, to_unsigned(specs.precision));
1412:   bool is_debug = specs.type == presentation_type::debug;
1412:   size_t width = 0;
1412:   if (specs.width != 0) {
1412:     if (is_debug)
1412:       width = write_escaped_string(counting_iterator{}, s).count();
1412:     else
1412:       width = compute_width(basic_string_view<Char>(data, size));
1412:   }
1412:   return write_padded(out, specs, size, width,
1412:                       [=](reserve_iterator<OutputIt> it) {
1412:                         if (is_debug) return write_escaped_string(it, s);
1412:                         return copy_str<Char>(data, data + size, it);
1412:                       });
1412: }
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write(OutputIt out,
1412:                          basic_string_view<type_identity_t<Char>> s,
1412:                          const basic_format_specs<Char>& specs, locale_ref)
1412:     -> OutputIt {
1412:   check_string_type_spec(specs.type);
1412:   return write(out, s, specs);
1412: }
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write(OutputIt out, const Char* s,
1412:                          const basic_format_specs<Char>& specs, locale_ref)
1412:     -> OutputIt {
1412:   return check_cstring_type_spec(specs.type)
1412:              ? write(out, basic_string_view<Char>(s), specs, {})
1412:              : write_ptr<Char>(out, bit_cast<uintptr_t>(s), &specs);
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<T, Char>::value), int> = 0
1412: 
1412:                                                       >
1412: constexpr auto write(OutputIt out, T value) -> OutputIt {
1412:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1412:   bool negative = is_negative(value);
1412: 
1412:   if (negative) abs_value = ~abs_value + 1;
1412:   int num_digits = count_digits(abs_value);
1412:   auto size = (negative ? 1 : 0) + static_cast<size_t>(num_digits);
1412:   auto it = reserve(out, size);
1412:   if (auto ptr = to_pointer<Char>(it, size)) {
1412:     if (negative) *ptr++ = static_cast<Char>('-');
1412:     format_decimal<Char>(ptr, abs_value, num_digits);
1412:     return out;
1412:   }
1412:   if (negative) *it++ = static_cast<Char>('-');
1412:   it = format_decimal<Char>(it, abs_value, num_digits).end;
1412:   return base_iterator(out, it);
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412:  auto write_nonfinite(OutputIt out, bool isnan,
1412:                                      basic_format_specs<Char> specs,
1412:                                      const float_specs& fspecs) -> OutputIt {
1412:   auto str =
1412:       isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf");
1412:   constexpr size_t str_size = 3;
1412:   auto sign = fspecs.sign;
1412:   auto size = str_size + (sign ? 1 : 0);
1412: 
1412:   const bool is_zero_fill =
1412:       specs.fill.size() == 1 && *specs.fill.data() == static_cast<Char>('0');
1412:   if (is_zero_fill) specs.fill[0] = static_cast<Char>(' ');
1412:   return write_padded(out, specs, size, [=](reserve_iterator<OutputIt> it) {
1412:     if (sign) *it++ = detail::sign<Char>(sign);
1412:     return copy_str<Char>(str, str + str_size, it);
1412:   });
1412: }
1412: 
1412: 
1412: struct big_decimal_fp {
1412:   const char* significand;
1412:   int significand_size;
1412:   int exponent;
1412: };
1412: 
1412: constexpr auto get_significand_size(const big_decimal_fp& f) -> int {
1412:   return f.significand_size;
1412: }
1412: template <typename T>
1412: inline auto get_significand_size(const dragonbox::decimal_fp<T>& f) -> int {
1412:   return count_digits(f.significand);
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write_significand(OutputIt out, const char* significand,
1412:                                  int significand_size) -> OutputIt {
1412:   return copy_str<Char>(significand, significand + significand_size, out);
1412: }
1412: template <typename Char, typename OutputIt, typename UInt>
1412: inline auto write_significand(OutputIt out, UInt significand,
1412:                               int significand_size) -> OutputIt {
1412:   return format_decimal<Char>(out, significand, significand_size).end;
1412: }
1412: template <typename Char, typename OutputIt, typename T, typename Grouping>
1412:  auto write_significand(OutputIt out, T significand,
1412:                                        int significand_size, int exponent,
1412:                                        const Grouping& grouping) -> OutputIt {
1412:   if (!grouping.separator()) {
1412:     out = write_significand<Char>(out, significand, significand_size);
1412:     return detail::fill_n(out, exponent, static_cast<Char>('0'));
1412:   }
1412:   auto buffer = memory_buffer();
1412:   write_significand<char>(appender(buffer), significand, significand_size);
1412:   detail::fill_n(appender(buffer), exponent, '0');
1412:   return grouping.apply(out, string_view(buffer.data(), buffer.size()));
1412: }
1412: 
1412: template <typename Char, typename UInt,
1412:           enable_if_t<(std::is_integral<UInt>::value), int> = 0>
1412: inline auto write_significand(Char* out, UInt significand, int significand_size,
1412:                               int integral_size, Char decimal_point) -> Char* {
1412:   if (!decimal_point)
1412:     return format_decimal(out, significand, significand_size).end;
1412:   out += significand_size + 1;
1412:   Char* end = out;
1412:   int floating_size = significand_size - integral_size;
1412:   for (int i = floating_size / 2; i > 0; --i) {
1412:     out -= 2;
1412:     copy2(out, digits2(static_cast<std::size_t>(significand % 100)));
1412:     significand /= 100;
1412:   }
1412:   if (floating_size % 2 != 0) {
1412:     *--out = static_cast<Char>('0' + significand % 10);
1412:     significand /= 10;
1412:   }
1412:   *--out = decimal_point;
1412:   format_decimal(out - integral_size, significand, integral_size);
1412:   return end;
1412: }
1412: 
1412: template <typename OutputIt, typename UInt, typename Char,
1412:           enable_if_t<(!std::is_pointer<remove_cvref_t<OutputIt>>::value), int> = 0>
1412: inline auto write_significand(OutputIt out, UInt significand,
1412:                               int significand_size, int integral_size,
1412:                               Char decimal_point) -> OutputIt {
1412: 
1412:   Char buffer[digits10<UInt>() + 2];
1412:   auto end = write_significand(buffer, significand, signplate<typename _InputIterator, typename _Alloc,
1115:         typename = std::_RequireInputIter<_InputIterator>,
1115:         typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(_InputIterator __first, _InputIterator __last,
1115:          const _Alloc& __alloc)
1115:  : c(__first, __last, __alloc), comp()
1115:  { std::make_heap(c.begin(), c.end(), comp); }
1115: 
1115:       template<typename _InputIterator, typename _Alloc,
1115:         typename = std::_RequireInputIter<_InputIterator>,
1115:         typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(_InputIterator __first, _InputIterator __last,
1115:          const _Compare& __x, const _Alloc& __alloc)
1115:  : c(__first, __last, __alloc), comp(__x)
1115:  { std::make_heap(c.begin(), c.end(), comp); }
1115: 
1115:       template<typename _InputIterator, typename _Alloc,
1115:         typename = std::_RequireInputIter<_InputIterator>,
1115:         typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(_InputIterator __first, _InputIterator __last,
1115:          const _Compare& __x, const _Sequence& __s,
1115:          const _Alloc& __alloc)
1115:  : c(__s, __alloc), comp(__x)
1115:  {
1115:    ;
1115:    c.insert(c.end(), __first, __last);
1115:    std::make_heap(c.begin(), c.end(), comp);
1115:  }
1115: 
1115:       template<typename _InputIterator, typename _Alloc,
1115:         typename _Requires = _Uses<_Alloc>>
1115:  priority_queue(_InputIterator __first, _InputIterator __last,
1115:          const _Compare& __x, _Sequence&& __s,
1115:          const _Alloc& __alloc)
1115:  : c(std::move(__s), __alloc), comp(__x)
1115:  {
1115:    ;
1115:    c.insert(c.end(), __first, __last);
1115:    std::make_heap(c.begin(), c.end(), comp);
1115:  }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const
1115:       { return c.empty(); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       size() const
1115:       { return c.size(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       top() const
1115:       {
1115:  ;
1115:  return c.front();
1115:       }
1115: # 737 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       void
1115:       push(const value_type& __x)
1115:       {
1115:  c.push_back(__x);
1115:  std::push_heap(c.begin(), c.end(), comp);
1115:       }
1115: 
1115: 
1115:       void
1115:       push(value_type&& __x)
1115:       {
1115:  c.push_back(std::move(__x));
1115:  std::push_heap(c.begin(), c.end(), comp);
1115:       }
1115: 
1115:       template<typename... _Args>
1115:  void
1115:  emplace(_Args&&... __args)
1115:  {
1115:    c.emplace_back(std::forward<_Args>(__args)...);
1115:    std::push_heap(c.begin(), c.end(), comp);
1115:  }
1115: # 772 "/usr/include/c++/12/bits/stl_queue.h" 3
1115:       void
1115:       pop()
1115:       {
1115:  ;
1115:  std::pop_heap(c.begin(), c.end(), comp);
1115:  c.pop_back();
1115:       }
1115: 
1115: 
1115:       void
1115:       swap(priority_queue& __pq)
1115:       noexcept(__and_<
1115: 
1115:    __is_nothrow_swappable<_Sequence>,
1115: 
1115: 
1115: 
1115:    __is_nothrow_swappable<_Compare>
1115:         >::value)
1115:       {
1115:  using std::swap;
1115:  swap(c, __pq.c);
1115:  swap(comp, __pq.comp);
1115:       }
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _Compare, typename _Container,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireNotAllocator<_Container>>
1115:     priority_queue(_Compare, _Container)
1115:     -> priority_queue<typename _Container::value_type, _Container, _Compare>;
1115: 
1115:   template<typename _InputIterator, typename _ValT
1115:     = typename iterator_traits<_InputIterator>::value_type,
1115:     typename _Compare = less<_ValT>,
1115:     typename _Container = vector<_ValT>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireNotAllocator<_Container>>
1115:     priority_queue(_InputIterator, _InputIterator, _Compare = _Compare(),
1115:      _Container = _Container())
1115:     -> priority_queue<_ValT, _Container, _Compare>;
1115: 
1115:   template<typename _Compare, typename _Container, typename _Allocator,
1115:     typename = _RequireNotAllocator<_Compare>,
1115:     typename = _RequireNotAllocator<_Container>>
1115:     priority_queue(_Compare, _Container, _Allocator)
1115:     -> priority_queue<typename _Container::value_type, _Container, _Compare>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Sequence, typename _Compare>
1115:     inline
1115: 
1115: 
1115:     typename enable_if<__and_<__is_swappable<_Sequence>,
1115:          __is_swappable<_Compare>>::value>::type
1115: 
1115: 
1115: 
1115:     swap(priority_queue<_Tp, _Sequence, _Compare>& __x,
1115:   priority_queue<_Tp, _Sequence, _Compare>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115:   template<typename _Tp, typename _Sequence, typename _Compare,
1115:     typename _Alloc>
1115:     struct uses_allocator<priority_queue<_Tp, _Sequence, _Compare>, _Alloc>
1115:     : public uses_allocator<_Sequence, _Alloc>::type { };
1115: 
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/queue" 2 3
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 2
1115: 
1115: 
1115: 
1115: 
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115: class CJobManager;
1115: 
1115: class CJobWorker : public CThread
1115: {
1115: public:
1115:   explicit CJobWorker(CJobManager *manager);
1115:   ~CJobWorker() override;
1115: 
1115:   void Process() override;
1115: private:
1115:   CJobManager *m_jobManager;
1115: };
1115: 
1115: template<typename F>
1115: class CLambdaJob : public CJob
1115: {
1115: public:
1115:   CLambdaJob(F&& f) : m_f(std::forward<F>(f)) {}
1115:   bool DoWork() override
1115:   {
1115:     m_f();
1115:     return true;
1115:   }
1115:   bool operator==(const CJob *job) const override
1115:   {
1115:     return this == job;
1115:   };
1115: private:
1115:   F m_f;
1115: };
1115: # 63 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115: class CJobQueue: public IJobCallback
1115: {
1115:   class CJobPointer
1115:   {
1115:   public:
1115:     explicit CJobPointer(CJob *job)
1115:     {
1115:       m_job = job;
1115:       m_id = 0;
1115:     };
1115:     void CancelJob();
1115:     void FreeJob()
1115:     {
1115:       delete m_job;
1115:       m_job = 
1115: # 77 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1115:              __null
1115: # 77 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:                  ;
1115:     };
1115:     bool operator==(const CJob *job) const
1115:     {
1115:       if (m_job)
1115:         return *m_job == job;
1115:       return false;
1115:     };
1115:     CJob *m_job;
1115:     unsigned int m_id;
1115:   };
1115: public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CJobQueue(bool lifo = false, unsigned int jobsAtOnce = 1, CJob::PRIORITY priority = CJob::PRIORITY_LOW);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   ~CJobQueue() override;
1115: # 113 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:   bool AddJob(CJob *job);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename F>
1115:   void Submit(F&& f)
1115:   {
1115:     AddJob(new CLambdaJob<F>(std::forward<F>(f)));
1115:   }
1115: # 132 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:   void CancelJob(const CJob *job);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void CancelJobs();
1115: 
1115: 
1115: 
1115: 
1115:   bool IsProcessing() const;
1115: # 158 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:   void OnJobComplete(unsigned int jobID, bool success, CJob *job) override;
1115: # 170 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:   void OnJobAbort(unsigned int jobID, CJob* job) override;
1115: 
1115: protected:
1115: 
1115: 
1115: 
1115: 
1115:   bool QueueEmpty() const;
1115: 
1115: private:
1115:   void OnJobNotify(ificand_size,
1412:                                integral_size, decimal_point);
1412:   return detail::copy_str_noinline<Char>(buffer, end, out);
1412: }
1412: 
1412: template <typename OutputIt, typename Char>
1412: constexpr auto write_significand(OutputIt out, const char* significand,
1412:                                      int significand_size, int integral_size,
1412:                                      Char decimal_point) -> OutputIt {
1412:   out = detail::copy_str_noinline<Char>(significand,
1412:                                         significand + integral_size, out);
1412:   if (!decimal_point) return out;
1412:   *out++ = decimal_point;
1412:   return detail::copy_str_noinline<Char>(significand + integral_size,
1412:                                          significand + significand_size, out);
1412: }
1412: 
1412: template <typename OutputIt, typename Char, typename T, typename Grouping>
1412:  auto write_significand(OutputIt out, T significand,
1412:                                        int significand_size, int integral_size,
1412:                                        Char decimal_point,
1412:                                        const Grouping& grouping) -> OutputIt {
1412:   if (!grouping.separator()) {
1412:     return write_significand(out, significand, significand_size, integral_size,
1412:                              decimal_point);
1412:   }
1412:   auto buffer = basic_memory_buffer<Char>();
1412:   write_significand(buffer_appender<Char>(buffer), significand,
1412:                     significand_size, integral_size, decimal_point);
1412:   grouping.apply(
1412:       out, basic_string_view<Char>(buffer.data(), to_unsigned(integral_size)));
1412:   return detail::copy_str_noinline<Char>(buffer.data() + integral_size,
1412:                                          buffer.end(), out);
1412: }
1412: 
1412: template <typename OutputIt, typename DecimalFP, typename Char,
1412:           typename Grouping = digit_grouping<Char>>
1412:  auto do_write_float(OutputIt out, const DecimalFP& f,
1412:                                     const basic_format_specs<Char>& specs,
1412:                                     float_specs fspecs, locale_ref loc)
1412:     -> OutputIt {
1412:   auto significand = f.significand;
1412:   int significand_size = get_significand_size(f);
1412:   const Char zero = static_cast<Char>('0');
1412:   auto sign = fspecs.sign;
1412:   size_t size = to_unsigned(significand_size) + (sign ? 1 : 0);
1412:   using iterator = reserve_iterator<OutputIt>;
1412: 
1412:   Char decimal_point =
1412:       fspecs.locale ? detail::decimal_point<Char>(loc) : static_cast<Char>('.');
1412: 
1412:   int output_exp = f.exponent + significand_size - 1;
1412:   auto use_exp_format = [=]() {
1412:     if (fspecs.format == float_format::exp) return true;
1412:     if (fspecs.format != float_format::general) return false;
1412: 
1412: 
1412:     const int exp_lower = -4, exp_upper = 16;
1412:     return output_exp < exp_lower ||
1412:            output_exp >= (fspecs.precision > 0 ? fspecs.precision : exp_upper);
1412:   };
1412:   if (use_exp_format()) {
1412:     int num_zeros = 0;
1412:     if (fspecs.showpoint) {
1412:       num_zeros = fspecs.precision - significand_size;
1412:       if (num_zeros < 0) num_zeros = 0;
1412:       size += to_unsigned(num_zeros);
1412:     } else if (significand_size == 1) {
1412:       decimal_point = Char();
1412:     }
1412:     auto abs_output_exp = output_exp >= 0 ? output_exp : -output_exp;
1412:     int exp_digits = 2;
1412:     if (abs_output_exp >= 100) exp_digits = abs_output_exp >= 1000 ? 4 : 3;
1412: 
1412:     size += to_unsigned((decimal_point ? 1 : 0) + 2 + exp_digits);
1412:     char exp_char = fspecs.upper ? 'E' : 'e';
1412:     auto write = [=](iterator it) {
1412:       if (sign) *it++ = detail::sign<Char>(sign);
1412: 
1412:       it = write_significand(it, significand, significand_size, 1,
1412:                              decimal_point);
1412:       if (num_zeros > 0) it = detail::fill_n(it, num_zeros, zero);
1412:       *it++ = static_cast<Char>(exp_char);
1412:       return write_exponent<Char>(output_exp, it);
1412:     };
1412:     return specs.width > 0 ? write_padded<align::right>(out, specs, size, write)
1412:                            : base_iterator(out, write(reserve(out, size)));
1412:   }
1412: 
1412:   int exp = f.exponent + significand_size;
1412:   if (f.exponent >= 0) {
1412: 
1412:     size += to_unsigned(f.exponent);
1412:     int num_zeros = fspecs.precision - exp;
1412:     abort_fuzzing_if(num_zeros > 5000);
1412:     if (fspecs.showpoint) {
1412:       ++size;
1412:       if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1;
1412:       if (num_zeros > 0) size += to_unsigned(num_zeros);
1412:     }
1412:     auto grouping = Grouping(loc, fspecs.locale);
1412:     size += to_unsigned(grouping.count_separators(exp));
1412:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1412:       if (sign) *it++ = detail::sign<Char>(sign);
1412:       it = write_significand<Char>(it, significand, significand_size,
1412:                                    f.exponent, grouping);
1412:       if (!fspecs.showpoint) return it;
1412:       *it++ = decimal_point;
1412:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1412:     });
1412:   } else if (exp > 0) {
1412: 
1412:     int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0;
1412:     size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0);
1412:     auto grouping = Grouping(loc, fspecs.locale);
1412:     size += to_unsigned(grouping.count_separators(significand_size));
1412:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1412:       if (sign) *it++ = detail::sign<Char>(sign);
1412:       it = write_significand(it, significand, significand_size, exp,
1412:                              decimal_point, grouping);
1412:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1412:     });
1412:   }
1412: 
1412:   int num_zeros = -exp;
1412:   if (significand_size == 0 && fspecs.precision >= 0 &&
1412:       fspecs.precision < num_zeros) {
1412:     num_zeros = fspecs.precision;
1412:   }
1412:   bool pointy = num_zeros != 0 || significand_size != 0 || fspecs.showpoint;
1412:   size += 1 + (pointy ? 1 : 0) + to_unsigned(num_zeros);
1412:   return write_padded<align::right>(out, specs, size, [&](iterator it) {
1412:     if (sign) *it++ = detail::sign<Char>(sign);
1412:     *it++ = zero;
1412:     if (!pointy) return it;
1412:     *it++ = decimal_point;
1412:     it = detail::fill_n(it, num_zeros, zero);
1412:     return write_significand<Char>(it, significand, significand_size);
1412:   });
1412: }
1412: 
1412: template <typename Char> class fallback_digit_grouping {
1412:  public:
1412:   constexpr fallback_digit_grouping(locale_ref, bool) {}
1412: 
1412:   constexpr Char separator() const { return Char(); }
1412: 
1412:   constexpr int count_separators(int) const { return 0; }
1412: 
1412:   template <typename Out, typename C>
1412:   constexpr Out apply(Out out, basic_string_view<C>) const {
1412:     return out;
1412:   }
1412: };
1412: 
1412: template <typename OutputIt, typename DecimalFP, typename Char>
1412:  auto write_float(OutputIt out, const DecimalFP& f,
1412:                                  const basic_format_specs<Char>& specs,
1412:                                  float_specs fspecs, locale_ref loc)
1412:     -> OutputIt {
1412:   if (is_constant_evaluated()) {
1412:     return do_write_float<OutputIt, DecimalFP, Char,
1412:                           fallback_digit_grouping<Char>>(out, f, specs, fspecs,
1412:                                                          loc);
1412:   } else {
1412:     return do_write_float(out, f, specs, fspecs, loc);
1412:   }
1412: }
1412: 
1412: template <typename T> constexpr bool isnan(T value) {
1412:   return !(value >= value);
1412: }
1412: 
1412: template <typename T, typename Enable = void>
1412: struct has_isfinite : std::false_type {};
1412: 
1412: template <typename T>
1412: struct has_isfinite<T, enable_if_t<sizCJob* job);
1115:   void QueueNextJob();
1115: 
1115:   typedef std::deque<CJobPointer> Queue;
1115:   typedef std::vector<CJobPointer> Processing;
1115:   Queue m_jobQueue;
1115:   Processing m_processing;
1115: 
1115:   unsigned int m_jobsAtOnce;
1115:   CJob::PRIORITY m_priority;
1115:   mutable CCriticalSection m_section;
1115:   bool m_lifo;
1115: };
1115: # 205 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115: class CJobManager final
1115: {
1115:   class CWorkItem
1115:   {
1115:   public:
1115:     CWorkItem(CJob *job, unsigned int id, CJob::PRIORITY priority, IJobCallback *callback)
1115:     {
1115:       m_job = job;
1115:       m_id = id;
1115:       m_callback = callback;
1115:       m_priority = priority;
1115:     }
1115:     bool operator==(unsigned int jobID) const
1115:     {
1115:       return m_id == jobID;
1115:     };
1115:     bool operator==(const CJob *job) const
1115:     {
1115:       return m_job == job;
1115:     };
1115:     void FreeJob()
1115:     {
1115:       delete m_job;
1115:       m_job = 
1115: # 228 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1115:              __null
1115: # 228 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:                  ;
1115:     };
1115:     void Cancel()
1115:     {
1115:       m_callback = 
1115: # 232 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h" 3 4
1115:                   __null
1115: # 232 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:                       ;
1115:     };
1115:     CJob *m_job;
1115:     unsigned int m_id;
1115:     IJobCallback *m_callback;
1115:     CJob::PRIORITY m_priority;
1115:   };
1115: 
1115: public:
1115:   CJobManager();
1115: # 253 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:   unsigned int AddJob(CJob *job, IJobCallback *callback, CJob::PRIORITY priority = CJob::PRIORITY_LOW);
1115: 
1115: 
1115: 
1115: 
1115:   template<typename F>
1115:   void Submit(F&& f, CJob::PRIORITY priority = CJob::PRIORITY_LOW)
1115:   {
1115:     AddJob(new CLambdaJob<F>(std::forward<F>(f)), nullptr, priority);
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename F>
1115:   void Submit(F&& f, IJobCallback *callback, CJob::PRIORITY priority = CJob::PRIORITY_LOW)
1115:   {
1115:     AddJob(new CLambdaJob<F>(std::forward<F>(f)), callback, priority);
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void CancelJob(unsigned int jobID);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void CancelJobs();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void Restart();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   int IsProcessing(const std::string &type) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void PauseJobs();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void UnPauseJobs();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsProcessing(const CJob::PRIORITY &priority) const;
1115: 
1115: protected:
1115:   friend class CJobWorker;
1115:   friend class CJob;
1115:   friend class CJobQueue;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CJob* GetNextJob();
1115: # 341 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:   void OnJobComplete(bool success, CJob *job);
1115: # 352 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/JobManager.h"
1115:   bool OnJobProgress(unsigned int progress, unsigned int total, const CJob *job) const;
1115: 
1115: private:
1115:   CJobManager(const CJobManager&) = delete;
1115:   CJobManager const& operator=(CJobManager const&) = delete;
1115: 
1115: 
1115: 
1115: 
1115:   CJob *PopJob();
1115: 
1115:   void StartWorkers(CJob::PRIORITY priority);
1115:   void RemoveWorker(const CJobWorker *worker);
1115:   static unsigned int GetMaxWorkers(CJob::PRIORITY priority);
1115: 
1115:   unsigned int m_jobCounter;
1115: 
1115:   typedef std::deque<CWorkItem> JobQueue;
1115:   typedef std::vector<CWorkItem> Processing;
1115:   typedef std::vector<CJobWorker*> Workers;
1115: 
1115:   JobQueue m_jobQueue[CJob::PRIORITY_DEDICATED + 1];
1115:   bool m_pauseJobs;
1115:   Processing m_processing;
1115:   Workers m_workers;
1115: 
1115:   mutable CCriticalSection m_section;
1115:   CEvent m_jobEvent;
1115:   bool m_running;
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/algorithm" 1 3
1115: # 58 "/usr/include/c++/12/algorithm" 3
1115:        
1115: # 59 "/usr/include/c++/12/algorithm" 3
1115: # 73 "/usr/include/c++/12/algorithm" 3
1115: # 1 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 1 3
1115: # 17 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
1115: 
1115: # 17 "/usr/include/c++/12/pstl/glue_algorithm_defs.h" 3
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: any_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: all_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: none_of(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Function>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: for_each(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Function __f);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Function>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: for_each_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __n, _Function __f);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: find_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: find_if_not(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1115: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1115:          _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1115: find_end(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1115:          _ForwardIterator2 __s_last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1115: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __firseof(std::isfinite(T())) != 0>>
1412:     : std::true_type {};
1412: 
1412: template <typename T, enable_if_t<(std::is_floating_point<T>::value&& has_isfinite<T>::value), int> = 0
1412:                                                                >
1412:  bool isfinite(T value) {
1412:   constexpr T inf = T(std::numeric_limits<double>::infinity());
1412:   if (is_constant_evaluated())
1412:     return !detail::isnan(value) && value != inf && value != -inf;
1412:   return std::isfinite(value);
1412: }
1412: template <typename T, enable_if_t<(!has_isfinite<T>::value), int> = 0>
1412: constexpr bool isfinite(T value) {
1412:   T inf = T(std::numeric_limits<double>::infinity());
1412: 
1412:   return !detail::isnan(value) && value != inf && value != -inf;
1412: }
1412: 
1412: template <typename T, enable_if_t<(is_floating_point<T>::value), int> = 0>
1412: inline __attribute__((always_inline)) constexpr bool signbit(T value) {
1412:   if (is_constant_evaluated()) {
1412: 
1412:     if constexpr (std::numeric_limits<double>::is_iec559) {
1412:       auto bits = detail::bit_cast<uint64_t>(static_cast<double>(value));
1412:       return (bits >> (num_bits<uint64_t>() - 1)) != 0;
1412:     }
1412: 
1412:   }
1412:   return std::signbit(static_cast<double>(value));
1412: }
1412: 
1412: enum class round_direction { unknown, up, down };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: constexpr inline round_direction get_round_direction(uint64_t divisor,
1412:                                                          uint64_t remainder,
1412:                                                          uint64_t error) {
1412:   ::fmt::detail::ignore_unused((remainder < divisor), (""));
1412:   ::fmt::detail::ignore_unused((error < divisor), (""));
1412:   ::fmt::detail::ignore_unused((error < divisor - error), (""));
1412: 
1412:   if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2)
1412:     return round_direction::down;
1412: 
1412:   if (remainder >= error &&
1412:       remainder - error >= divisor - (remainder - error)) {
1412:     return round_direction::up;
1412:   }
1412:   return round_direction::unknown;
1412: }
1412: 
1412: namespace digits {
1412: enum result {
1412:   more,
1412:   done,
1412:   error
1412: };
1412: }
1412: 
1412: struct gen_digits_handler {
1412:   char* buf;
1412:   int size;
1412:   int precision;
1412:   int exp10;
1412:   bool fixed;
1412: 
1412:   constexpr digits::result on_digit(char digit, uint64_t divisor,
1412:                                         uint64_t remainder, uint64_t error,
1412:                                         bool integral) {
1412:     ::fmt::detail::ignore_unused((remainder < divisor), (""));
1412:     buf[size++] = digit;
1412:     if (!integral && error >= remainder) return digits::error;
1412:     if (size < precision) return digits::more;
1412:     if (!integral) {
1412: 
1412: 
1412: 
1412:       if (error >= divisor || error >= divisor - error) return digits::error;
1412:     } else {
1412:       ::fmt::detail::ignore_unused((error == 1 && divisor > 2), (""));
1412:     }
1412:     auto dir = get_round_direction(divisor, remainder, error);
1412:     if (dir != round_direction::up)
1412:       return dir == round_direction::down ? digits::done : digits::error;
1412:     ++buf[size - 1];
1412:     for (int i = size - 1; i > 0 && buf[i] > '9'; --i) {
1412:       buf[i] = '0';
1412:       ++buf[i - 1];
1412:     }
1412:     if (buf[0] > '9') {
1412:       buf[0] = '1';
1412:       if (fixed)
1412:         buf[size++] = '0';
1412:       else
1412:         ++exp10;
1412:     }
1412:     return digits::done;
1412:   }
1412: };
1412: 
1412: inline void adjust_precision(int& precision, int exp10) {
1412: 
1412: 
1412:   if (exp10 > 0 && precision > max_value<int>() - exp10)
1412:     throw format_error("number is too big");
1412:   precision += exp10;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: inline __attribute__((always_inline)) auto grisu_gen_digits(fp value, uint64_t error,
1412:                                                  int& exp,
1412:                                                  gen_digits_handler& handler)
1412:     -> digits::result {
1412:   const fp one(1ULL << -value.e, value.e);
1412: 
1412: 
1412: 
1412:   auto integral = static_cast<uint32_t>(value.f >> -one.e);
1412:   ::fmt::detail::ignore_unused((integral != 0), (""));
1412:   ::fmt::detail::ignore_unused((integral == value.f >> -one.e), (""));
1412: 
1412:   uint64_t fractional = value.f & (one.f - 1);
1412:   exp = count_digits(integral);
1412: 
1412:   if (handler.fixed) {
1412:     adjust_precision(handler.precision, exp + handler.exp10);
1412: 
1412: 
1412:     if (handler.precision <= 0) {
1412:       if (handler.precision < 0) return digits::done;
1412: 
1412:       uint64_t divisor = data::power_of_10_64[exp - 1] << -one.e;
1412:       auto dir = get_round_direction(divisor, value.f / 10, error * 10);
1412:       if (dir == round_direction::unknown) return digits::error;
1412:       handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0';
1412:       return digits::done;
1412:     }
1412:   }
1412: 
1412:   do {
1412:     uint32_t digit = 0;
1412:     auto divmod_integral = [&](uint32_t divisor) {
1412:       digit = integral / divisor;
1412:       integral %= divisor;
1412:     };
1412: 
1412: 
1412:     switch (exp) {
1412:     case 10:
1412:       divmod_integral(1000000000);
1412:       break;
1412:     case 9:
1412:       divmod_integral(100000000);
1412:       break;
1412:     case 8:
1412:       divmod_integral(10000000);
1412:       break;
1412:     case 7:
1412:       divmod_integral(1000000);
1412:       break;
1412:     case 6:
1412:       divmod_integral(100000);
1412:       break;
1412:     case 5:
1412:       divmod_integral(10000);
1412:       break;
1412:     case 4:
1412:       divmod_integral(1000);
1412:       break;
1412:     case 3:
1412:       divmod_integral(100);
1412:       break;
1412:     case 2:
1412:       divmod_integral(10);
1412:       break;
1412:     case 1:
1412:       digit = integral;
1412:       integral = 0;
1412:       break;
1412:     default:
1412:       ::fmt::detail::ignore_unused((false), ("invalid number of digits"));
1412:     }
1412:     --exp;
1412:     auto remainder = (static_cast<uint64_t>(integral) << -one.e) + fractional;
1412:     auto result = handler.on_digit(static_cast<char>('0' + digit),
1412:                                    data::power_of_10_64[exp] << -one.e,
1412:                                    remainder, error, true);
1412:     if (result != digits::more) return result;
1412:   } while (exp > 0);
1412: 
1412:   for (;;) {
1412:     fractional *= 10;
1412:     error *= 10;
1412:     char digit = static_cast<char>('0' + (fractional >> -one.e));
1412:     fractional &= one.f - 1;
1412:     --exp;
1412:     auto result = handler.on_digit(digit, one.f, fractional, error, false);
1412:     if (result != digits::more) return result;
1412:   }
1412: }
1412: 
1412: class bigint {
1412:  private:
1412: 
1412: 
1412:   using bigit = uint32_t;
1412:   using double_bigit = uint64_t;
1412:   enum { bigits_capacity = 32 };
1412:   basic_memory_buffer<bigit, bigits_capacity> bigits_;
1412:   int exp_;
1412: 
1412:   bigit operator[](int index) const {
1412:     return bigits_[to_unsigned(index)];
1412:   }
1412:   bigit& operator[](int index) {
1412:     return bigits_[to_unsigned(index)];
1412:   }
1412: 
1412:   static constexpr const int bigit_bits = num_bits<bigit>();
1412: 
1412:   friend struct formatter<bigint>;
1412: 
1412:   void subtract_bigits(int index, bigit other, bigit& borrow) {
1412:     auto result = static_cast<double_bigit>((*this)[index]) - other - borrow;
1412:     (*this)[index] = static_cast<bigit>(result);
1412:     borrow = static_cast<bigit>(result >> (bigit_bits * 2 - 1));
1412:   }
1412: 
1412:   void remove_leading_zeros() {
1412:     int num_bigits = static_cast<int>(bigits_.size()) - 1;
1412:     while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits;
1412:     bigits_.resize(to_unsigned(num_bigits + 1));
1412:   }
1412: 
1412: 
1412:   void subtract_aligned(const bigint& other) {
14t, _ForwardIterator1 __last,
1115:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1115: find_first_of(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1115:               _ForwardIterator2 __s_first, _ForwardIterator2 __s_last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: adjacent_find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1115:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1115: count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy,
1115:                                                  typename iterator_traits<_ForwardIterator>::difference_type>
1115: count_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1115: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1115:        _ForwardIterator2 __s_last, _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator1>
1115: search(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __s_first,
1115:        _ForwardIterator2 __s_last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
1115:          const _Tp& __value, _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: search_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Size __count,
1115:          const _Tp& __value);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _Size, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: copy_n(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _Size __n, _ForwardIterator2 __result);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 result,
1115:         _Predicate __pred);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: swap_ranges(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:             _ForwardIterator2 __first2);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryOperation>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1115:           _UnaryOperation __op);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1115:           class _BinaryOperation>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:           _ForwardIterator __result, _BinaryOperation __op);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: replace_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred,
1115:            const _Tp& __new_value);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: replace(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value,
1115:         const _Tp& __new_value);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryPredicate, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: replace_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1115:                 _ForwardIterator2 __result, _UnaryPredicate __pred, const _Tp& __new_value);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: replace_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1115:              const _Tp& __old_value, const _Tp& __new_value);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: fill_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size __count, const _Tp& __value);
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Generator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: generate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Generator __g);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Size, class _Generator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: generate_n(_ExecutionPolicy&& __exec, _ForwardIterator __first, _Size count, _Generator __g);
1115: 
1115: 
1115: 
12:     ::fmt::detail::ignore_unused((other.exp_ >= exp_), ("unaligned bigints"));
1412:     ::fmt::detail::ignore_unused((compare(*this, other) >= 0), (""));
1412:     bigit borrow = 0;
1412:     int i = other.exp_ - exp_;
1412:     for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j)
1412:       subtract_bigits(i, other.bigits_[j], borrow);
1412:     while (borrow > 0) subtract_bigits(i, 0, borrow);
1412:     remove_leading_zeros();
1412:   }
1412: 
1412:   void multiply(uint32_t value) {
1412:     const double_bigit wide_value = value;
1412:     bigit carry = 0;
1412:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1412:       double_bigit result = bigits_[i] * wide_value + carry;
1412:       bigits_[i] = static_cast<bigit>(result);
1412:       carry = static_cast<bigit>(result >> bigit_bits);
1412:     }
1412:     if (carry != 0) bigits_.push_back(carry);
1412:   }
1412: 
1412:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1412:                                                                               >
1412:   void multiply(UInt value) {
1412:     using half_uint =
1412:         conditional_t<std::is_same<UInt, uint128_t>::value, uint64_t, uint32_t>;
1412:     const int shift = num_bits<half_uint>() - bigit_bits;
1412:     const UInt lower = static_cast<half_uint>(value);
1412:     const UInt upper = value >> num_bits<half_uint>();
1412:     UInt carry = 0;
1412:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1412:       UInt result = lower * bigits_[i] + static_cast<bigit>(carry);
1412:       carry = (upper * bigits_[i] << shift) + (result >> bigit_bits) +
1412:               (carry >> bigit_bits);
1412:       bigits_[i] = static_cast<bigit>(result);
1412:     }
1412:     while (carry != 0) {
1412:       bigits_.push_back(static_cast<bigit>(carry));
1412:       carry >>= bigit_bits;
1412:     }
1412:   }
1412: 
1412:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1412:                                                                               >
1412:   void assign(UInt n) {
1412:     size_t num_bigits = 0;
1412:     do {
1412:       bigits_[num_bigits++] = static_cast<bigit>(n);
1412:       n >>= bigit_bits;
1412:     } while (n != 0);
1412:     bigits_.resize(num_bigits);
1412:     exp_ = 0;
1412:   }
1412: 
1412:  public:
1412:   bigint() : exp_(0) {}
1412:   explicit bigint(uint64_t n) { assign(n); }
1412: 
1412:   bigint(const bigint&) = delete;
1412:   void operator=(const bigint&) = delete;
1412: 
1412:   void assign(const bigint& other) {
1412:     auto size = other.bigits_.size();
1412:     bigits_.resize(size);
1412:     auto data = other.bigits_.data();
1412:     std::copy(data, data + size, make_checked(bigits_.data(), size));
1412:     exp_ = other.exp_;
1412:   }
1412: 
1412:   template <typename Int> void operator=(Int n) {
1412:     ::fmt::detail::ignore_unused((n > 0), (""));
1412:     assign(uint64_or_128_t<Int>(n));
1412:   }
1412: 
1412:   int num_bigits() const {
1412:     return static_cast<int>(bigits_.size()) + exp_;
1412:   }
1412: 
1412:   __attribute__((noinline)) bigint& operator<<=(int shift) {
1412:     ::fmt::detail::ignore_unused((shift >= 0), (""));
1412:     exp_ += shift / bigit_bits;
1412:     shift %= bigit_bits;
1412:     if (shift == 0) return *this;
1412:     bigit carry = 0;
1412:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1412:       bigit c = bigits_[i] >> (bigit_bits - shift);
1412:       bigits_[i] = (bigits_[i] << shift) + carry;
1412:       carry = c;
1412:     }
1412:     if (carry != 0) bigits_.push_back(carry);
1412:     return *this;
1412:   }
1412: 
1412:   template <typename Int> bigint& operator*=(Int value) {
1412:     ::fmt::detail::ignore_unused((value > 0), (""));
1412:     multiply(uint32_or_64_or_128_t<Int>(value));
1412:     return *this;
1412:   }
1412: 
1412:   friend int compare(const bigint& lhs, const bigint& rhs) {
1412:     int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits();
1412:     if (num_lhs_bigits != num_rhs_bigits)
1412:       return num_lhs_bigits > num_rhs_bigits ? 1 : -1;
1412:     int i = static_cast<int>(lhs.bigits_.size()) - 1;
1412:     int j = static_cast<int>(rhs.bigits_.size()) - 1;
1412:     int end = i - j;
1412:     if (end < 0) end = 0;
1412:     for (; i >= end; --i, --j) {
1412:       bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j];
1412:       if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1;
1412:     }
1412:     if (i != j) return i > j ? 1 : -1;
1412:     return 0;
1412:   }
1412: 
1412: 
1412:   friend int add_compare(const bigint& lhs1, const bigint& lhs2,
1412:                                          const bigint& rhs) {
1412:     auto minimum = [](int a, int b) { return a < b ? a : b; };
1412:     auto maximum = [](int a, int b) { return a > b ? a : b; };
1412:     int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits());
1412:     int num_rhs_bigits = rhs.num_bigits();
1412:     if (max_lhs_bigits + 1 < num_rhs_bigits) return -1;
1412:     if (max_lhs_bigits > num_rhs_bigits) return 1;
1412:     auto get_bigit = [](const bigint& n, int i) -> bigit {
1412:       return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0;
1412:     };
1412:     double_bigit borrow = 0;
1412:     int min_exp = minimum(minimum(lhs1.exp_, lhs2.exp_), rhs.exp_);
1412:     for (int i = num_rhs_bigits - 1; i >= min_exp; --i) {
1412:       double_bigit sum =
1412:           static_cast<double_bigit>(get_bigit(lhs1, i)) + get_bigit(lhs2, i);
1412:       bigit rhs_bigit = get_bigit(rhs, i);
1412:       if (sum > rhs_bigit + borrow) return 1;
1412:       borrow = rhs_bigit + borrow - sum;
1412:       if (borrow > 1) return -1;
1412:       borrow <<= bigit_bits;
1412:     }
1412:     return borrow != 0 ? -1 : 0;
1412:   }
1412: 
1412: 
1412:   void assign_pow10(int exp) {
1412:     ::fmt::detail::ignore_unused((exp >= 0), (""));
1412:     if (exp == 0) return *this = 1;
1412: 
1412:     int bitmask = 1;
1412:     while (exp >= bitmask) bitmask <<= 1;
1412:     bitmask >>= 1;
1412: 
1412: 
1412:     *this = 5;
1412:     bitmask >>= 1;
1412:     while (bitmask != 0) {
1412:       square();
1412:       if ((exp & bitmask) != 0) *this *= 5;
1412:       bitmask >>= 1;
1412:     }
1412:     *this <<= exp;
1412:   }
1412: 
1412:   void square() {
1412:     int num_bigits = static_cast<int>(bigits_.size());
1412:     int num_result_bigits = 2 * num_bigits;
1412:     basic_memory_buffer<bigit, bigits_capacity> n(std::move(bigits_));
1412:     bigits_.resize(to_unsigned(num_result_bigits));
1412:     auto sum = uint128_t();
1412:     for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) {
1412: 
1412: 
1412:       for (int i = 0, j = bigit_index; j >= 0; ++i, --j) {
1412: 
1412:         sum += static_cast<double_bigit>(n[i]) * n[j];
1412:       }
1412:       (*this)[bigit_index] = static_cast<bigit>(sum);
1412:       sum >>= num_bits<bigit>();
1412:     }
1412: 
1412:     for (int bigit_index = num_bigits; bigit_index < num_result_bigits;
1412:          ++bigit_index) {
1412:       for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;)
1412:         sum += static_cast<double_bigit>(n[i++]) * n[j--];
1412:       (*this)[bigit_index] = static_cast<bigit>(sum);
1412:       sum >>= num_bits<bigit>();
1412:     }
1412:     remove_leading_zeros();
1412:     exp_ *= 2;
1412:   }
1412: 
1412: 
1412: 
1412:   void align(const bigint& other) {
1412:     int exp_difference = exp_ - other.exp_;
1412:     if (exp_difference <= 0) return;
1412:     int num_bigits = static_cast<int>(bigits_.size());
1412:     bigits_.resize(to_unsigned(num_bigits + exp_difference));
1412:     for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j)
1412:       bigits_[j] = bigits_[i];
1412:     std::uninitialized_fill_n(bigits_.data(), exp_difference, 0);
1412:     exp_ -= exp_difference;
1412:   }
1412: 
1412: 
1412: 
1412:   int divmod_assign(const bigint& divisor) {
1412:     ::fmt::detail::ignore_unused((th1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Predicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: remove_copy_if(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last,
1115:                _ForwardIterator2 __result, _Predicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: remove_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1115:             const _Tp& __value);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: remove_if(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Tp>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: remove(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: unique(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
1115:             _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: unique_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _BidirectionalIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: reverse(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _BidirectionalIterator, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: reverse_copy(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1115:              _ForwardIterator __d_first);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: rotate(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: rotate_copy(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __middle, _ForwardIterator1 __last,
1115:             _ForwardIterator2 __result);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: is_partitioned(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _UnaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: partition(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _UnaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _BidirectionalIterator, class _UnaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _BidirectionalIterator>
1115: stable_partition(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __last,
1115:                  _UnaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _ForwardIterator1, class _ForwardIterator2,
1115:           class _UnaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1115: partition_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1115:                _ForwardIterator1 __out_true, _ForwardIterator2 __out_false, _UnaryPredicate __pred);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: stable_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1115: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:          _ForwardIterator2 __last2, _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1115: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:          _BinaryPredicate __pred);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1115: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:          _ForwardIterator2 __last2);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator1, _ForwardIterator2>>
1115: mismatch(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
11is != &divisor), (""));
1412:     if (compare(*this, divisor) < 0) return 0;
1412:     ::fmt::detail::ignore_unused((divisor.bigits_[divisor.bigits_.size() - 1u] != 0), (""));
1412:     align(divisor);
1412:     int quotient = 0;
1412:     do {
1412:       subtract_aligned(divisor);
1412:       ++quotient;
1412:     } while (compare(*this, divisor) >= 0);
1412:     return quotient;
1412:   }
1412: };
1412: 
1412: 
1412: enum dragon {
1412:   predecessor_closer = 1,
1412:   fixup = 2,
1412:   fixed = 4,
1412: };
1412: 
1412: 
1412: 
1412: 
1412:  inline void format_dragon(basic_fp<uint128_t> value,
1412:                                           unsigned flags, int num_digits,
1412:                                           buffer<char>& buf, int& exp10) {
1412:   bigint numerator;
1412:   bigint denominator;
1412: 
1412:   bigint lower;
1412:   bigint upper_store;
1412:   bigint* upper = nullptr;
1412: 
1412: 
1412: 
1412:   bool is_predecessor_closer = (flags & dragon::predecessor_closer) != 0;
1412:   int shift = is_predecessor_closer ? 2 : 1;
1412:   if (value.e >= 0) {
1412:     numerator = value.f;
1412:     numerator <<= value.e + shift;
1412:     lower = 1;
1412:     lower <<= value.e;
1412:     if (is_predecessor_closer) {
1412:       upper_store = 1;
1412:       upper_store <<= value.e + 1;
1412:       upper = &upper_store;
1412:     }
1412:     denominator.assign_pow10(exp10);
1412:     denominator <<= shift;
1412:   } else if (exp10 < 0) {
1412:     numerator.assign_pow10(-exp10);
1412:     lower.assign(numerator);
1412:     if (is_predecessor_closer) {
1412:       upper_store.assign(numerator);
1412:       upper_store <<= 1;
1412:       upper = &upper_store;
1412:     }
1412:     numerator *= value.f;
1412:     numerator <<= shift;
1412:     denominator = 1;
1412:     denominator <<= shift - value.e;
1412:   } else {
1412:     numerator = value.f;
1412:     numerator <<= shift;
1412:     denominator.assign_pow10(exp10);
1412:     denominator <<= shift - value.e;
1412:     lower = 1;
1412:     if (is_predecessor_closer) {
1412:       upper_store = 1ULL << 1;
1412:       upper = &upper_store;
1412:     }
1412:   }
1412:   int even = static_cast<int>((value.f & 1) == 0);
1412:   if (!upper) upper = &lower;
1412:   if ((flags & dragon::fixup) != 0) {
1412:     if (add_compare(numerator, *upper, denominator) + even <= 0) {
1412:       --exp10;
1412:       numerator *= 10;
1412:       if (num_digits < 0) {
1412:         lower *= 10;
1412:         if (upper != &lower) *upper *= 10;
1412:       }
1412:     }
1412:     if ((flags & dragon::fixed) != 0) adjust_precision(num_digits, exp10 + 1);
1412:   }
1412: 
1412:   if (num_digits < 0) {
1412: 
1412:     num_digits = 0;
1412:     char* data = buf.data();
1412:     for (;;) {
1412:       int digit = numerator.divmod_assign(denominator);
1412:       bool low = compare(numerator, lower) - even < 0;
1412: 
1412:       bool high = add_compare(numerator, *upper, denominator) + even > 0;
1412:       data[num_digits++] = static_cast<char>('0' + digit);
1412:       if (low || high) {
1412:         if (!low) {
1412:           ++data[num_digits - 1];
1412:         } else if (high) {
1412:           int result = add_compare(numerator, numerator, denominator);
1412: 
1412:           if (result > 0 || (result == 0 && (digit % 2) != 0))
1412:             ++data[num_digits - 1];
1412:         }
1412:         buf.try_resize(to_unsigned(num_digits));
1412:         exp10 -= num_digits - 1;
1412:         return;
1412:       }
1412:       numerator *= 10;
1412:       lower *= 10;
1412:       if (upper != &lower) *upper *= 10;
1412:     }
1412:   }
1412: 
1412:   exp10 -= num_digits - 1;
1412:   if (num_digits == 0) {
1412:     denominator *= 10;
1412:     auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
1412:     buf.push_back(digit);
1412:     return;
1412:   }
1412:   buf.try_resize(to_unsigned(num_digits));
1412:   for (int i = 0; i < num_digits - 1; ++i) {
1412:     int digit = numerator.divmod_assign(denominator);
1412:     buf[i] = static_cast<char>('0' + digit);
1412:     numerator *= 10;
1412:   }
1412:   int digit = numerator.divmod_assign(denominator);
1412:   auto result = add_compare(numerator, numerator, denominator);
1412:   if (result > 0 || (result == 0 && (digit % 2) != 0)) {
1412:     if (digit == 9) {
1412:       const auto overflow = '0' + 10;
1412:       buf[num_digits - 1] = overflow;
1412: 
1412:       for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) {
1412:         buf[i] = '0';
1412:         ++buf[i - 1];
1412:       }
1412:       if (buf[0] == overflow) {
1412:         buf[0] = '1';
1412:         ++exp10;
1412:       }
1412:       return;
1412:     }
1412:     ++digit;
1412:   }
1412:   buf[num_digits - 1] = static_cast<char>('0' + digit);
1412: }
1412: 
1412: template <typename Float>
1412:  auto format_float(Float value, int precision, float_specs specs,
1412:                                   buffer<char>& buf) -> int {
1412: 
1412:   static_assert(!std::is_same<Float, float>::value, "");
1412:   ::fmt::detail::ignore_unused((value >= 0), ("value is negative"));
1412:   auto converted_value = convert_float(value);
1412: 
1412:   const bool fixed = specs.format == float_format::fixed;
1412:   if (value <= 0) {
1412:     if (precision <= 0 || !fixed) {
1412:       buf.push_back('0');
1412:       return 0;
1412:     }
1412:     buf.try_resize(to_unsigned(precision));
1412:     fill_n(buf.data(), precision, '0');
1412:     return -precision;
1412:   }
1412: 
1412:   int exp = 0;
1412:   bool use_dragon = true;
1412:   unsigned dragon_flags = 0;
1412:   if (!is_fast_float<Float>()) {
1412:     const auto inv_log2_10 = 0.3010299956639812;
1412:     using info = dragonbox::float_info<decltype(converted_value)>;
1412:     const auto f = basic_fp<typename info::carrier_uint>(converted_value);
1412: 
1412: 
1412: 
1412: 
1412:     exp = static_cast<int>(
1412:         std::ceil((f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10));
1412:     dragon_flags = dragon::fixup;
1412:   } else if (!is_constant_evaluated() && precision < 0) {
1412: 
1412:     if (specs.binary32) {
1412:       auto dec = dragonbox::to_decimal(static_cast<float>(value));
1412:       write<char>(buffer_appender<char>(buf), dec.significand);
1412:       return dec.exponent;
1412:     }
1412:     auto dec = dragonbox::to_decimal(static_cast<double>(value));
1412:     write<char>(buffer_appender<char>(buf), dec.significand);
1412:     return dec.exponent;
1412:   } else {
1412: 
1412: 
1412:     const int min_exp = -60;
1412:     int cached_exp10 = 0;
1412:     fp normalized = normalize(fp(converted_value));
1412:     const auto cached_pow = get_cached_power(
1412:         min_exp - (normalized.e + fp::num_significand_bits), cached_exp10);
1412:     normalized = normalized * cached_pow;
1412:     gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed};
1412:     if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error &&
1412:         !is_constant_evaluated()) {
1412:       exp += handler.exp10;
1412:       buf.try_resize(to_unsigned(handler.size));
1412:       use_dragon = false;
1412:     } else {
1412:       exp += handler.size - cached_exp10 - 1;
1412:       precision = handler.precision;
1412:     }
1412:   }
1412:   if (use_dragon) {
1412:     auto f = basic_fp<uint128_t>();
1412:     bool is_predecessor_closer = specs.binary32
1412:                                      ? f.assign(static_cast<float>(value))
1412:                                      : f.assign(converted_value);
1412:     if (is_predecessor_closer) dragon_flags |= dragon::predecessor_closer;
1412:     if (fixed) dragon_flags |= dragon::fixed;
1412: 
1412: 
1412:     const int max_double_digits = 767;
1412:     if (precision > max_double_digits) precision = max_double_digits;
1412:     format_dragon(f, dragon_flags, precision, buf, exp);
1412:   }
1412:   if (!fixed && !specs.showpoint) {
1412: 
1412:     auto num_digits = buf.size();
1412:     while (num_digits > 0 && buf[num_digits - 1] == '0') {
1412:       --num_digits;
1412:       ++exp;
1412:     }
1412:     buf.try_15: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:       _BinaryPredicate __p);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:       _ForwardIterator2 __last2, _BinaryPredicate __p);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:       _ForwardIterator2 __last2);
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2>
1115: move(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __d_first);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1115:              _RandomAccessIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: partial_sort(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __middle,
1115:              _RandomAccessIterator __last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1115: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1115:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _RandomAccessIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1115: partial_sort_copy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last,
1115:                   _RandomAccessIterator __d_first, _RandomAccessIterator __d_last);
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: is_sorted_until(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: is_sorted(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1115:             _RandomAccessIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: nth_element(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __nth,
1115:             _RandomAccessIterator __last);
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1115:           class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:       _ForwardIterator2 __last2, _ForwardIterator __d_first, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: merge(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:       _ForwardIterator2 __last2, _ForwardIterator __d_first);
1115: 
1115: template <class _ExecutionPolicy, class _BidirectionalIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1115:               _BidirectionalIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _BidirectionalIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void>
1115: inplace_merge(_ExecutionPolicy&& __exec, _BidirectionalIterator __first, _BidirectionalIterator __middle,
1115:               _BidirectionalIterator __last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:          _ForwardIterator2 __last2, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: includes(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:          _ForwardIterator2 __last2);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1115:           class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:           _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: set_union(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
1115:           _ForwardIterator2 __last2, _ForwardIterator __result);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1115:           class _Compare>
1115: __pstl::__internal::__enable_if_execution_poliresize(num_digits);
1412:   }
1412:   return exp;
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(is_floating_point<T>::value), int> = 0>
1412:  auto write(OutputIt out, T value,
1412:                            basic_format_specs<Char> specs, locale_ref loc = {})
1412:     -> OutputIt {
1412:   if (const_check(!is_supported_floating_point(value))) return out;
1412:   float_specs fspecs = parse_float_type_spec(specs);
1412:   fspecs.sign = specs.sign;
1412:   if (detail::signbit(value)) {
1412:     fspecs.sign = sign::minus;
1412:     value = -value;
1412:   } else if (fspecs.sign == sign::minus) {
1412:     fspecs.sign = sign::none;
1412:   }
1412: 
1412:   if (!detail::isfinite(value))
1412:     return write_nonfinite(out, detail::isnan(value), specs, fspecs);
1412: 
1412:   if (specs.align == align::numeric && fspecs.sign) {
1412:     auto it = reserve(out, 1);
1412:     *it++ = detail::sign<Char>(fspecs.sign);
1412:     out = base_iterator(out, it);
1412:     fspecs.sign = sign::none;
1412:     if (specs.width != 0) --specs.width;
1412:   }
1412: 
1412:   memory_buffer buffer;
1412:   if (fspecs.format == float_format::hex) {
1412:     if (fspecs.sign) buffer.push_back(detail::sign<char>(fspecs.sign));
1412:     snprintf_float(convert_float(value), specs.precision, fspecs, buffer);
1412:     return write_bytes<align::right>(out, {buffer.data(), buffer.size()},
1412:                                      specs);
1412:   }
1412:   int precision = specs.precision >= 0 || specs.type == presentation_type::none
1412:                       ? specs.precision
1412:                       : 6;
1412:   if (fspecs.format == float_format::exp) {
1412:     if (precision == max_value<int>())
1412:       throw_format_error("number is too big");
1412:     else
1412:       ++precision;
1412:   } else if (fspecs.format != float_format::fixed && precision == 0) {
1412:     precision = 1;
1412:   }
1412:   if (const_check(std::is_same<T, float>())) fspecs.binary32 = true;
1412:   int exp = format_float(convert_float(value), precision, fspecs, buffer);
1412:   fspecs.precision = precision;
1412:   auto f = big_decimal_fp{buffer.data(), static_cast<int>(buffer.size()), exp};
1412:   return write_float(out, f, specs, fspecs, loc);
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(is_fast_float<T>::value), int> = 0>
1412:  auto write(OutputIt out, T value) -> OutputIt {
1412:   if (is_constant_evaluated())
1412:     return write(out, value, basic_format_specs<Char>());
1412:   if (const_check(!is_supported_floating_point(value))) return out;
1412: 
1412:   auto fspecs = float_specs();
1412:   if (detail::signbit(value)) {
1412:     fspecs.sign = sign::minus;
1412:     value = -value;
1412:   }
1412: 
1412:   constexpr auto specs = basic_format_specs<Char>();
1412:   using floaty = conditional_t<std::is_same<T, long double>::value, double, T>;
1412:   using uint = typename dragonbox::float_info<floaty>::carrier_uint;
1412:   uint mask = exponent_mask<floaty>();
1412:   if ((bit_cast<uint>(value) & mask) == mask)
1412:     return write_nonfinite(out, std::isnan(value), specs, fspecs);
1412: 
1412:   auto dec = dragonbox::to_decimal(static_cast<floaty>(value));
1412:   return write_float(out, dec, specs, fspecs, {});
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(is_floating_point<T>::value && !is_fast_float<T>::value), int> = 0
1412:                                                  >
1412: inline auto write(OutputIt out, T value) -> OutputIt {
1412:   return write(out, value, basic_format_specs<Char>());
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: auto write(OutputIt out, monostate, basic_format_specs<Char> = {},
1412:            locale_ref = {}) -> OutputIt {
1412:   ::fmt::detail::ignore_unused((false), (""));
1412:   return out;
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write(OutputIt out, basic_string_view<Char> value)
1412:     -> OutputIt {
1412:   auto it = reserve(out, value.size());
1412:   it = copy_str_noinline<Char>(value.begin(), value.end(), it);
1412:   return base_iterator(out, it);
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(is_string<T>::value), int> = 0>
1412: constexpr auto write(OutputIt out, const T& value) -> OutputIt {
1412:   return write<Char>(out, to_string_view(value));
1412: }
1412: 
1412: 
1412: template <
1412:     typename Char, typename OutputIt, typename T,
1412:     bool check =
1412:         std::is_enum<T>::value && !std::is_same<T, Char>::value &&
1412:         mapped_type_constant<T, basic_format_context<OutputIt, Char>>::value !=
1412:             type::custom_type,
1412:     enable_if_t<(check), int> = 0>
1412: constexpr auto write(OutputIt out, T value) -> OutputIt {
1412:   return write<Char>(out, static_cast<underlying_t<T>>(value));
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(std::is_same<T, bool>::value), int> = 0>
1412: constexpr auto write(OutputIt out, T value,
1412:                          const basic_format_specs<Char>& specs = {},
1412:                          locale_ref = {}) -> OutputIt {
1412:   return specs.type != presentation_type::none &&
1412:                  specs.type != presentation_type::string
1412:              ? write(out, value ? 1 : 0, specs, {})
1412:              : write_bytes(out, value ? "true" : "false", specs);
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write(OutputIt out, Char value) -> OutputIt {
1412:   auto it = reserve(out, 1);
1412:   *it++ = value;
1412:   return base_iterator(out, it);
1412: }
1412: 
1412: template <typename Char, typename OutputIt>
1412: constexpr auto write(OutputIt out, const Char* value)
1412:     -> OutputIt {
1412:   if (!value) {
1412:     throw_format_error("string pointer is null");
1412:   } else {
1412:     out = write(out, basic_string_view<Char>(value));
1412:   }
1412:   return out;
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           enable_if_t<(std::is_same<T, void>::value), int> = 0>
1412: auto write(OutputIt out, const T* value,
1412:            const basic_format_specs<Char>& specs = {}, locale_ref = {})
1412:     -> OutputIt {
1412:   check_pointer_type_spec(specs.type, error_handler());
1412:   return write_ptr<Char>(out, bit_cast<uintptr_t>(value), &specs);
1412: }
1412: 
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           typename Context = basic_format_context<OutputIt, Char>>
1412: constexpr auto write(OutputIt out, const T& value) -> enable_if_t<
1412:     std::is_class<T>::value && !is_string<T>::value &&
1412:         !is_floating_point<T>::value && !std::is_same<T, Char>::value &&
1412:         !std::is_same<const T&,
1412:                       decltype(arg_mapper<Context>().map(value))>::value,
1412:     OutputIt> {
1412:   return write<Char>(out, arg_mapper<Context>().map(value));
1412: }
1412: 
1412: template <typename Char, typename OutputIt, typename T,
1412:           typename Context = basic_format_context<OutputIt, Char>>
1412: constexpr auto write(OutputIt out, const T& value)
1412:     -> enable_if_t<mapped_type_constant<T, Context>::value == type::custom_type,
1412:                    OutputIt> {
1412:   using formatter_type =
1412:       conditional_t<has_formatter<T, Context>::value,
1412:                     typename Context::template formatter_type<T>,
1412:                     fallback_formatter<T, Char>>;
1412:   auto ctx = Context(out, {}, {});
1412:   return formatter_type().format(value, ctx);
1412: }
1412: 
1412: 
1412: 
1412: template <typename Char> struct default_arg_formatter {
1412:   using iterator = buffer_appender<Char>;
1412:   using context = buffer_context<Char>;
1412: 
1412:   iterator out;
1412:   basic_format_args<context> args;
1412:   locale_ref loc;
1412: 
1412:   template <typename T> auto operator()(T value) -> itercy<_ExecutionPolicy, _ForwardIterator>
1115: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: set_intersection(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                  _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1115:           class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: set_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator,
1115:           class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator result,
1115:                          _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: set_symmetric_difference(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                          _ForwardIterator2 __first2, _ForwardIterator2 __last2, _ForwardIterator __result);
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1115: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _RandomAccessIterator>
1115: is_heap_until(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _RandomAccessIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: is_heap(_ExecutionPolicy&& __exec, _RandomAccessIterator __first, _RandomAccessIterator __last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: min_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator>
1115: max_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
1115: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, std::pair<_ForwardIterator, _ForwardIterator>>
1115: minmax_element(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
1115: 
1115: 
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _Compare>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2, _Compare __comp);
1115: 
1115: template <class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2>
1115: __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool>
1115: lexicographical_compare(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1,
1115:                         _ForwardIterator2 __first2, _ForwardIterator2 __last2);
1115: 
1115: }
1115: # 74 "/usr/include/c++/12/algorithm" 2 3
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/EventStream.h"
1115: template<typename Event>
1115: class CEventStream
1115: {
1115: public:
1115: 
1115:   template<typename A>
1115:   void Subscribe(A* owner, void (A::*fn)(const Event&))
1115:   {
1115:     auto subscription = std::make_shared<detail::CSubscription<Event, A>>(owner, fn);
1115:     std::unique_lock<CCriticalSection> lock(m_criticalSection);
1115:     m_subscriptions.emplace_back(std::move(subscription));
1115:   }
1115: 
1115:   template<typename A>
1115:   void Unsubscribe(A* obj)
1115:   {
1115:     std::vector<std::shared_ptr<detail::ISubscription<Event>>> toCancel;
1115:     {
1115:       std::unique_lock<CCriticalSection> lock(m_criticalSection);
1115:       auto it = m_subscriptions.begin();
1115:       while (it != m_subscriptions.end())
1115:       {
1115:         if ((*it)->IsOwnedBy(obj))
1115:         {
1115:           toCancel.push_back(*it);
1115:           it = m_subscriptions.erase(it);
1115:         }
1115:         else
1115:         {
1115:           ++it;
1115:         }
1115:       }
1115:     }
1115:     for (auto& subscription : toCancel)
1115:       subscription->Cancel();
1115:   }
1115: 
1115: protected:
1115:   std::vector<std::shared_ptr<detail::ISubscription<Event>>> m_subscriptions;
1115:   CCriticalSection m_criticalSection;
1115: };
1115: 
1115: 
1115: template<typename Event>
1115: class CEventSource : public CEventStream<Event>
1115: {
1115: public:
1115:   explicit CEventSource() : m_queue(false, 1, CJob::PRIORITY_HIGH) {}
1115: 
1115:   template<typename A>
1115:   void Publish(A event)
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(this->m_criticalSection);
1115:     auto& subscriptions = this->m_subscriptions;
1115:     auator {
1412:     return write<Char>(out, value);
1412:   }
1412:   auto operator()(typename basic_format_arg<context>::handle h) -> iterator {
1412:     basic_format_parse_context<Char> parse_ctx({});
1412:     context format_ctx(out, args, loc);
1412:     h.format(parse_ctx, format_ctx);
1412:     return format_ctx.out();
1412:   }
1412: };
1412: 
1412: template <typename Char> struct arg_formatter {
1412:   using iterator = buffer_appender<Char>;
1412:   using context = buffer_context<Char>;
1412: 
1412:   iterator out;
1412:   const basic_format_specs<Char>& specs;
1412:   locale_ref locale;
1412: 
1412:   template <typename T>
1412:   constexpr inline __attribute__((always_inline)) auto operator()(T value) -> iterator {
1412:     return detail::write(out, value, specs, locale);
1412:   }
1412:   auto operator()(typename basic_format_arg<context>::handle) -> iterator {
1412: 
1412: 
1412:     return out;
1412:   }
1412: };
1412: 
1412: template <typename Char> struct custom_formatter {
1412:   basic_format_parse_context<Char>& parse_ctx;
1412:   buffer_context<Char>& ctx;
1412: 
1412:   void operator()(
1412:       typename basic_format_arg<buffer_context<Char>>::handle h) const {
1412:     h.format(parse_ctx, ctx);
1412:   }
1412:   template <typename T> void operator()(T) const {}
1412: };
1412: 
1412: template <typename T>
1412: using is_integer =
1412:     bool_constant<is_integral<T>::value && !std::is_same<T, bool>::value &&
1412:                   !std::is_same<T, char>::value &&
1412:                   !std::is_same<T, wchar_t>::value>;
1412: 
1412: template <typename ErrorHandler> class width_checker {
1412:  public:
1412:   explicit constexpr width_checker(ErrorHandler& eh) : handler_(eh) {}
1412: 
1412:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
1412:   constexpr auto operator()(T value) -> unsigned long long {
1412:     if (is_negative(value)) handler_.on_error("negative width");
1412:     return static_cast<unsigned long long>(value);
1412:   }
1412: 
1412:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1412:   constexpr auto operator()(T) -> unsigned long long {
1412:     handler_.on_error("width is not integer");
1412:     return 0;
1412:   }
1412: 
1412:  private:
1412:   ErrorHandler& handler_;
1412: };
1412: 
1412: template <typename ErrorHandler> class precision_checker {
1412:  public:
1412:   explicit constexpr precision_checker(ErrorHandler& eh) : handler_(eh) {}
1412: 
1412:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
1412:   constexpr auto operator()(T value) -> unsigned long long {
1412:     if (is_negative(value)) handler_.on_error("negative precision");
1412:     return static_cast<unsigned long long>(value);
1412:   }
1412: 
1412:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1412:   constexpr auto operator()(T) -> unsigned long long {
1412:     handler_.on_error("precision is not integer");
1412:     return 0;
1412:   }
1412: 
1412:  private:
1412:   ErrorHandler& handler_;
1412: };
1412: 
1412: template <template <typename> class Handler, typename FormatArg,
1412:           typename ErrorHandler>
1412: constexpr auto get_dynamic_spec(FormatArg arg, ErrorHandler eh) -> int {
1412:   unsigned long long value = visit_format_arg(Handler<ErrorHandler>(eh), arg);
1412:   if (value > to_unsigned(max_value<int>())) eh.on_error("number is too big");
1412:   return static_cast<int>(value);
1412: }
1412: 
1412: template <typename Context, typename ID>
1412: constexpr auto get_arg(Context& ctx, ID id) ->
1412:     typename Context::format_arg {
1412:   auto arg = ctx.arg(id);
1412:   if (!arg) ctx.on_error("argument not found");
1412:   return arg;
1412: }
1412: 
1412: 
1412: template <typename Char> class specs_handler : public specs_setter<Char> {
1412:  private:
1412:   basic_format_parse_context<Char>& parse_context_;
1412:   buffer_context<Char>& context_;
1412: 
1412: 
1412:   using format_arg = basic_format_arg<buffer_context<Char>>;
1412: 
1412:   constexpr auto get_arg(auto_id) -> format_arg {
1412:     return detail::get_arg(context_, parse_context_.next_arg_id());
1412:   }
1412: 
1412:   constexpr auto get_arg(int arg_id) -> format_arg {
1412:     parse_context_.check_arg_id(arg_id);
1412:     return detail::get_arg(context_, arg_id);
1412:   }
1412: 
1412:   constexpr auto get_arg(basic_string_view<Char> arg_id) -> format_arg {
1412:     parse_context_.check_arg_id(arg_id);
1412:     return detail::get_arg(context_, arg_id);
1412:   }
1412: 
1412:  public:
1412:   constexpr specs_handler(basic_format_specs<Char>& specs,
1412:                               basic_format_parse_context<Char>& parse_ctx,
1412:                               buffer_context<Char>& ctx)
1412:       : specs_setter<Char>(specs), parse_context_(parse_ctx), context_(ctx) {}
1412: 
1412:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1412:     this->specs_.width = get_dynamic_spec<width_checker>(
1412:         get_arg(arg_id), context_.error_handler());
1412:   }
1412: 
1412:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1412:     this->specs_.precision = get_dynamic_spec<precision_checker>(
1412:         get_arg(arg_id), context_.error_handler());
1412:   }
1412: 
1412:   void on_error(const char* message) { context_.on_error(message); }
1412: };
1412: 
1412: template <template <typename> class Handler, typename Context>
1412: constexpr void handle_dynamic_spec(int& value,
1412:                                        arg_ref<typename Context::char_type> ref,
1412:                                        Context& ctx) {
1412:   switch (ref.kind) {
1412:   case arg_id_kind::none:
1412:     break;
1412:   case arg_id_kind::index:
1412:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.index),
1412:                                               ctx.error_handler());
1412:     break;
1412:   case arg_id_kind::name:
1412:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.name),
1412:                                               ctx.error_handler());
1412:     break;
1412:   }
1412: }
1412: 
1412: 
1412: template <typename Char> struct udl_formatter {
1412:   basic_string_view<Char> str;
1412: 
1412:   template <typename... T>
1412:   auto operator()(T&&... args) const -> std::basic_string<Char> {
1412:     return vformat(str, fmt::make_format_args<buffer_context<Char>>(args...));
1412:   }
1412: };
1412: # 3573 "/usr/include/fmt/format.h" 3 4
1412: template <typename Char> struct udl_arg {
1412:   const Char* str;
1412: 
1412:   template <typename T> auto operator=(T&& value) const -> named_arg<Char, T> {
1412:     return {str, std::forward<T>(value)};
1412:   }
1412: };
1412: 
1412: 
1412: 
1412: template <typename Locale, typename Char>
1412: auto vformat(const Locale& loc, basic_string_view<Char> format_str,
1412:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
1412:     -> std::basic_string<Char> {
1412:   basic_memory_buffer<Char> buffer;
1412:   detail::vformat_to(buffer, format_str, args, detail::locale_ref(loc));
1412:   return {buffer.data(), buffer.size()};
1412: }
1412: 
1412: using format_func = void (*)(detail::buffer<char>&, int, const char*);
1412: 
1412:  void format_error_code(buffer<char>& out, int error_code,
1412:                                string_view message) noexcept;
1412: 
1412:  void report_error(format_func func, int error_code,
1412:                           const char* message) noexcept;
1412: }
1412: 
1412:  auto vsystem_error(int error_code, string_view format_str,
1412:                            format_args args) -> std::system_error;
1412: # 3621 "/usr/include/fmt/format.h" 3 4
1412: template <typename... T>
1412: auto system_error(int error_code, format_string<T...> fmt, T&&... args)
1412:     -> std::system_error {
1412:   return vsystem_error(error_code, fmt, fmt::make_format_args(args...));
1412: }
1412: # 3643 "/usr/include/fmt/format.h" 3 4
1412:  void format_system_error(detail::buffer<char>& out, int error_code,
1412:                                  const char* message) noexcept;
1412: 
141to task = [subscriptions, event](){
1115:       for (auto& s: subscriptions)
1115:         s->HandleEvent(event);
1115:     };
1115:     lock.unlock();
1115:     m_queue.Submit(std::move(task));
1115:   }
1115: 
1115: private:
1115:   CJobQueue m_queue;
1115: };
1115: 
1115: template<typename Event>
1115: class CBlockingEventSource : public CEventStream<Event>
1115: {
1115: public:
1115:   template<typename A>
1115:   void HandleEvent(A event)
1115:   {
1115:     std::unique_lock<CCriticalSection> lock(this->m_criticalSection);
1115:     for (const auto& subscription : this->m_subscriptions)
1115:     {
1115:       subscription->HandleEvent(event);
1115:     }
1115:   }
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h" 2
1115: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115: namespace ADDON
1115: {
1115: enum class AddonDisabledReason;
1115: enum class AddonOriginType;
1115: enum class AddonType;
1115: enum class AddonUpdateRule;
1115: enum class AllowCheckForUpdates : bool;
1115: 
1115: class CAddonDatabase;
1115: class CAddonUpdateRules;
1115: class CAddonVersion;
1115: class IAddonMgrCallback;
1115: 
1115: class CAddonInfo;
1115: using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
1115: using ADDON_INFO_LIST = std::map<std::string, AddonInfoPtr>;
1115: 
1115: class IAddon;
1115: using AddonPtr = std::shared_ptr<IAddon>;
1115: using VECADDONS = std::vector<AddonPtr>;
1115: 
1115: struct AddonEvent;
1115: struct AddonWithUpdate;
1115: struct DependencyInfo;
1115: struct RepositoryDirInfo;
1115: 
1115: using AddonInstanceId = uint32_t;
1115: 
1115: enum class AddonCheckType : bool
1115: {
1115:   OUTDATED_ADDONS,
1115:   AVAILABLE_UPDATES,
1115: };
1115: 
1115: enum class OnlyEnabled : bool
1115: {
1115:   CHOICE_YES = true,
1115:   CHOICE_NO = false,
1115: };
1115: 
1115: enum class OnlyEnabledRootAddon : bool
1115: {
1115:   CHOICE_YES = true,
1115:   CHOICE_NO = false,
1115: };
1115: 
1115: enum class CheckIncompatible : bool
1115: {
1115:   CHOICE_YES = true,
1115:   CHOICE_NO = false,
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CAddonMgr
1115: {
1115: public:
1115:   bool ReInit()
1115:   {
1115:     DeInit();
1115:     return Init();
1115:   }
1115:   bool Init();
1115:   void DeInit();
1115: 
1115:   CAddonMgr();
1115:   CAddonMgr(const CAddonMgr&) = delete;
1115:   virtual ~CAddonMgr();
1115: 
1115:   CEventStream<AddonEvent>& Events() { return m_events; }
1115:   CEventStream<AddonEvent>& UnloadEvents() { return m_unloadEvents; }
1115: 
1115:   IAddonMgrCallback* GetCallbackForType(AddonType type);
1115:   bool RegisterAddonMgrCallback(AddonType type, IAddonMgrCallback* cb);
1115:   void UnregisterAddonMgrCallback(AddonType type);
1115: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool GetAddon(const std::string& id,
1115:                 AddonPtr& addon,
1115:                 AddonType type,
1115:                 OnlyEnabled onlyEnabled) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool GetAddon(const std::string& id, AddonPtr& addon, OnlyEnabled onlyEnabled) const;
1115: 
1115:   bool HasType(const std::string& id, AddonType type);
1115: 
1115:   bool HasAddons(AddonType type);
1115: 
1115:   bool HasInstalledAddons(AddonType type);
1115: 
1115: 
1115:   bool GetAddonsForUpdate(VECADDONS& addons) const;
1115: 
1115: 
1115:   bool GetAddons(VECADDONS& addons) const;
1115: 
1115: 
1115:   bool GetAddons(VECADDONS& addons, AddonType type);
1115: 
1115: 
1115:   bool GetInstalledAddons(VECADDONS& addons);
1115: 
1115: 
1115:   bool GetInstalledAddons(VECADDONS& addons, AddonType type);
1115: 
1115:   bool GetDisabledAddons(VECADDONS& addons);
1115: 
1115:   bool GetDisabledAddons(VECADDONS& addons, AddonType type);
1115: 
1115: 
1115:   bool GetInstallableAddons(VECADDONS& addons);
1115: 
1115:   bool GetInstallableAddons(VECADDONS& addons, AddonType type);
1115: # 163 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool FindInstallableById(const std::string& addonId, AddonPtr& addon);
1115: 
1115:   void AddToUpdateableAddons(AddonPtr& pAddon);
1115:   void RemoveFromUpdateableAddons(AddonPtr& pAddon);
1115:   bool ReloadSettings(const std::string& addonId, AddonInstanceId instanceId);
1115: 
1115: 
1115:   std::vector<std::shared_ptr<IAddon>> GetAvailableUpdates() const;
1115: 
1115: 
1115:   std::vector<std::shared_ptr<IAddon>> GetOutdatedAddons() const;
1115: 
1115: 
1115:   bool HasAvailableUpdates();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsOrphaned(const std::shared_ptr<IAddon>& addon,
1115:                   const std::vector<std::shared_ptr<IAddon>>& allAddons) const;
1115: 
1115: 
1115: 
1115: 
1115:   bool FindAddons();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool FindAddon(const std::string& addonId,
1115:                  const std::string& origin,
1115:                  const CAddonVersion& addonVersion);
1115: # 209 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool GetIncompatibleEnabledAddonInfos(std::vector<AddonInfoPtr>& incompatible) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::vector<AddonInfoPtr> MigrateAddons();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::vector<AddonInfoPtr> DisableIncompatibleAddons(
1115:       const std::vector<AddonInfoPtr>& incompatible);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void CheckAndInstallAddonUpdates(bool wait) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool UnloadAddon(const std::string& addonId);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool LoadAddon(const std::string& addonId,
1115:                  const std::string& origin,
1115:                  const CAddonVersion& addonVersion);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void OnPostUnInstall(const std::string& id);
1115: 
1115: 
1115:   bool DisableAddon(const std::string& ID, AddonDisabledReason disabledReason);
1115: 
1115: 
1115:   bool UpdateDisabledReason(const std::string& id, AddonDisabledReason newDisabledReason);
1115: 
1115: 
1115:   bool EnableAddon(const std::string& ID);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsAddonDisabled(const std::string& ID) const;
1115: # 281 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool IsAddonDisabledExcept(const std::string& ID, AddonDisabledReason disabledReason) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool CanAddonBeDisabled(const std::string& ID);
1115: 
1115:   bool CanAddonBeEnabled(const std::string& id);
1115: 
1115: 
1115: 
1115: 
1115:   bool IsAddonInstalled(const std::string& ID);
1115: # 303 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool IsAddonInstalled(const std::string& ID, const std::string& origin) const;
1115: # 313 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool IsAddonInstalled(const std::string& ID,
1115:                         const std::string& origin,
1115:                         const CAddonVersion& version);
1115: 
1115: 
1115: 
1115: 
1115:   bool CanAddonBeInstalled(const AddonPtr& addon);
1115: 
1115:   bool CanUninstall(const AddonPtr& addon);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsBundledAddon(const std::string& id);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsSystemAddon(const std::string& id);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsRequiredSystemAddon(const std::string& id);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsOptionalSystemAddon(const std::string& id);
1115: # 370 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool AddUpdateRuleToList(const std::string& id, AddonUpdateRule updateRule);
1115: 
1115: 
1115: 
1115: 
1115:   bool RemoveAllUpdateRulesFromList(const std::string& id);
1115: 
1115: 
1115: 
1115: 
1115:   bool RemoveUpdateRuleFromList(const std::string& id, AddonUpdateRule updateRule);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsAutoUpdateable(const std::string& id) const;
1115: 
1115: 
1115: 
1115: 
1115: 2: 
1412: 
1412:  void report_system_error(int error_code, const char* message) noexcept;
1412: 
1412: 
1412: class format_int {
1412:  private:
1412: 
1412: 
1412:   enum { buffer_size = std::numeric_limits<unsigned long long>::digits10 + 3 };
1412:   mutable char buffer_[buffer_size];
1412:   char* str_;
1412: 
1412:   template <typename UInt> auto format_unsigned(UInt value) -> char* {
1412:     auto n = static_cast<detail::uint32_or_64_or_128_t<UInt>>(value);
1412:     return detail::format_decimal(buffer_, n, buffer_size - 1).begin;
1412:   }
1412: 
1412:   template <typename Int> auto format_signed(Int value) -> char* {
1412:     auto abs_value = static_cast<detail::uint32_or_64_or_128_t<Int>>(value);
1412:     bool negative = value < 0;
1412:     if (negative) abs_value = 0 - abs_value;
1412:     auto begin = format_unsigned(abs_value);
1412:     if (negative) *--begin = '-';
1412:     return begin;
1412:   }
1412: 
1412:  public:
1412:   explicit format_int(int value) : str_(format_signed(value)) {}
1412:   explicit format_int(long value) : str_(format_signed(value)) {}
1412:   explicit format_int(long long value) : str_(format_signed(value)) {}
1412:   explicit format_int(unsigned value) : str_(format_unsigned(value)) {}
1412:   explicit format_int(unsigned long value) : str_(format_unsigned(value)) {}
1412:   explicit format_int(unsigned long long value)
1412:       : str_(format_unsigned(value)) {}
1412: 
1412: 
1412:   auto size() const -> size_t {
1412:     return detail::to_unsigned(buffer_ - str_ + buffer_size - 1);
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   auto data() const -> const char* { return str_; }
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   auto c_str() const -> const char* {
1412:     buffer_[buffer_size - 1] = '\0';
1412:     return str_;
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412:   auto str() const -> std::string { return std::string(str_, size()); }
1412: };
1412: 
1412: template <typename T, typename Char>
1412: template <typename FormatContext>
1412: constexpr inline __attribute__((always_inline)) auto
1412: formatter<T, Char,
1412:           enable_if_t<detail::type_constant<T, Char>::value !=
1412:                       detail::type::custom_type>>::format(const T& val,
1412:                                                           FormatContext& ctx)
1412:     const -> decltype(ctx.out()) {
1412:   if (specs_.width_ref.kind != detail::arg_id_kind::none ||
1412:       specs_.precision_ref.kind != detail::arg_id_kind::none) {
1412:     auto specs = specs_;
1412:     detail::handle_dynamic_spec<detail::width_checker>(specs.width,
1412:                                                        specs.width_ref, ctx);
1412:     detail::handle_dynamic_spec<detail::precision_checker>(
1412:         specs.precision, specs.precision_ref, ctx);
1412:     return detail::write<Char>(ctx.out(), val, specs, ctx.locale());
1412:   }
1412:   return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1412: }
1412: 
1412: template <typename Char>
1412: struct formatter<void*, Char> : formatter<const void*, Char> {
1412:   template <typename FormatContext>
1412:   auto format(void* val, FormatContext& ctx) const -> decltype(ctx.out()) {
1412:     return formatter<const void*, Char>::format(val, ctx);
1412:   }
1412: };
1412: 
1412: template <typename Char, size_t N>
1412: struct formatter<Char[N], Char> : formatter<basic_string_view<Char>, Char> {
1412:   template <typename FormatContext>
1412:   constexpr auto format(const Char* val, FormatContext& ctx) const
1412:       -> decltype(ctx.out()) {
1412:     return formatter<basic_string_view<Char>, Char>::format(val, ctx);
1412:   }
1412: };
1412: # 3759 "/usr/include/fmt/format.h" 3 4
1412: template <typename Char = char> class dynamic_formatter {
1412:  private:
1412:   detail::dynamic_format_specs<Char> specs_;
1412:   const Char* format_str_;
1412: 
1412:   struct null_handler : detail::error_handler {
1412:     void on_align(align_t) {}
1412:     void on_sign(sign_t) {}
1412:     void on_hash() {}
1412:   };
1412: 
1412:   template <typename Context> void handle_specs(Context& ctx) {
1412:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1412:                                                        specs_.width_ref, ctx);
1412:     detail::handle_dynamic_spec<detail::precision_checker>(
1412:         specs_.precision, specs_.precision_ref, ctx);
1412:   }
1412: 
1412:  public:
1412:   template <typename ParseContext>
1412:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1412:     format_str_ = ctx.begin();
1412: 
1412:     detail::dynamic_specs_handler<ParseContext> handler(specs_, ctx);
1412:     return detail::parse_format_specs(ctx.begin(), ctx.end(), handler);
1412:   }
1412: 
1412:   template <typename T, typename FormatContext>
1412:   auto format(const T& val, FormatContext& ctx) -> decltype(ctx.out()) {
1412:     handle_specs(ctx);
1412:     detail::specs_checker<null_handler> checker(
1412:         null_handler(), detail::mapped_type_constant<T, FormatContext>::value);
1412:     checker.on_align(specs_.align);
1412:     if (specs_.sign != sign::none) checker.on_sign(specs_.sign);
1412:     if (specs_.alt) checker.on_hash();
1412:     if (specs_.precision >= 0) checker.end_precision();
1412:     return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1412:   }
1412: };
1412: # 3808 "/usr/include/fmt/format.h" 3 4
1412: template <typename T> auto ptr(T p) -> const void* {
1412:   static_assert(std::is_pointer<T>::value, "");
1412:   return detail::bit_cast<const void*>(p);
1412: }
1412: template <typename T> auto ptr(const std::unique_ptr<T>& p) -> const void* {
1412:   return p.get();
1412: }
1412: template <typename T> auto ptr(const std::shared_ptr<T>& p) -> const void* {
1412:   return p.get();
1412: }
1412: # 3829 "/usr/include/fmt/format.h" 3 4
1412: template <typename Enum>
1412: constexpr auto underlying(Enum e) noexcept -> underlying_t<Enum> {
1412:   return static_cast<underlying_t<Enum>>(e);
1412: }
1412: 
1412: namespace enums {
1412: template <typename Enum, enable_if_t<(std::is_enum<Enum>::value), int> = 0>
1412: constexpr auto format_as(Enum e) noexcept -> underlying_t<Enum> {
1412:   return static_cast<underlying_t<Enum>>(e);
1412: }
1412: }
1412: 
1412: class bytes {
1412:  private:
1412:   string_view data_;
1412:   friend struct formatter<bytes>;
1412: 
1412:  public:
1412:   explicit bytes(string_view data) : data_(data) {}
1412: };
1412: 
1412: template <> struct formatter<bytes> {
1412:  private:
1412:   detail::dynamic_format_specs<char> specs_;
1412: 
1412:  public:
1412:   template <typename ParseContext>
1412:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1412:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1412:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1412:                                                 detail::type::string_type);
1412:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1412:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1412:     return it;
1412:   }
1412: 
1412:   template <typename FormatContext>
1412:   auto format(bytes b, FormatContext& ctx) -> decltype(ctx.out()) {
1412:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1412:                                                        specs_.width_ref, ctx);
1412:     detail::handle_dynamic_spec<detail::precision_checker>(
1412:         specs_.precision, specs_.precision_ref, ctx);
1412:     return detail::write_bytes(ctx.out(), b.data_, specs_);
1412:   }
1412: };
1412: 
1412: 
1412: template <typename T> struct group_digits_view { T value; };
1412: # 3889 "/usr/include/fmt/format.h" 3 4
1412: template <typename T> auto group_digits(T value) -> group_digits_view<T> {
1412:   return {value};
1412: }
1412: 
1412: template <typename T> struct formatter<group_digits_view<T>> : formatter<T> {
1412:  private:
1412:   detail::dynamic_format_specs<char> specs_;
1412: 
1412:  public:
1412:   template <typename ParseContext>
1412:   constexpr auto parse(ParseCo
1115: 
1115: 
1115:   void PublishEventAutoUpdateStateChanged(const std::string& id);
1115:   void UpdateLastUsed(const std::string& id);
1115: # 406 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   void PublishInstanceAdded(const std::string& addonId, AddonInstanceId instanceId);
1115: # 416 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   void PublishInstanceRemoved(const std::string& addonId, AddonInstanceId instanceId);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool LoadAddonDescription(const std::string& path, AddonPtr& addon);
1115: 
1115:   bool ServicesHasStarted() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsCompatible(const IAddon& addon) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsCompatible(const AddonInfoPtr& addonInfo) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::vector<DependencyInfo> GetDepsRecursive(const std::string& id,
1115:                                                OnlyEnabledRootAddon onlyEnabledRootAddon);
1115: # 462 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool GetAddonInfos(std::vector<AddonInfoPtr>& addonInfos, bool onlyEnabled, AddonType type) const;
1115: # 475 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   std::vector<AddonInfoPtr> GetAddonInfos(bool onlyEnabled,
1115:                                           const std::vector<AddonType>& types) const;
1115: # 489 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool GetDisabledAddonInfos(std::vector<AddonInfoPtr>& addonInfos, AddonType type) const;
1115: # 507 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool GetDisabledAddonInfos(std::vector<AddonInfoPtr>& addonInfos,
1115:                              AddonType type,
1115:                              AddonDisabledReason disabledReason) const;
1115: 
1115:   const AddonInfoPtr GetAddonInfo(const std::string& id, AddonType type) const;
1115: # 520 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   const std::string& GetTempAddonBasePath() { return m_tempAddonBasePath; }
1115: 
1115:   AddonOriginType GetAddonOriginType(const AddonPtr& addon) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsAddonDisabledWithReason(const std::string& ID, AddonDisabledReason disabledReason) const;
1115: # 560 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool SetAddonOrigin(const std::string& addonId, const std::string& repoAddonId, bool isUpdate);
1115: # 575 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool AddonsFromRepoXML(const RepositoryDirInfo& repo,
1115:                          const std::string& xml,
1115:                          std::vector<AddonInfoPtr>& addons);
1115: # 586 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   std::map<std::string, AddonWithUpdate> GetAddonsWithAvailableUpdate() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::vector<std::shared_ptr<IAddon>> GetCompatibleVersions(const std::string& addonId) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   const std::string& GetLastAvailableUpdatesCountAsString() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::vector<std::shared_ptr<IAddon>> GetOrphanedDependencies() const;
1115: 
1115: private:
1115:   CAddonMgr& operator=(CAddonMgr const&) = delete;
1115: 
1115:   VECADDONS m_updateableAddons;
1115: # 621 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   std::vector<std::shared_ptr<IAddon>> GetAvailableUpdatesOrOutdatedAddons(
1115:       AddonCheckType addonCheckType) const;
1115: 
1115:   bool GetAddonsInternal(AddonType type,
1115:                          VECADDONS& addons,
1115:                          OnlyEnabled onlyEnabled,
1115:                          CheckIncompatible checkIncompatible) const;
1115: 
1115:   bool EnableSingle(const std::string& id);
1115: 
1115:   void FindAddons(ADDON_INFO_LIST& addonmap, const std::string& path);
1115: # 641 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   bool GetIncompatibleAddonInfos(std::vector<AddonInfoPtr>& incompatible,
1115:                                  bool includeDisabled) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool GetAddonUpdateCandidates(VECADDONS& updates) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SortByDependencies(VECADDONS& updates) const;
1115: # 664 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/AddonManager.h"
1115:   void InstallAddonUpdates(VECADDONS& updates,
1115:                            bool wait,
1115:                            AllowCheckForUpdates allowCheckForUpdates) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   mutable std::mutex m_installAddonsMutex;
1115: 
1115:   std::map<std::string, AddonDisabledReason> m_disabled;
1115:   static std::map<AddonType, IAddonMgrCallback*> m_managers;
1115:   mutable CCriticalSection m_critSection;
1115:   std::unique_ptr<CAddonDatabase> m_database;
1115:   std::unique_ptr<CAddonUpdateRules> m_updateRules;
1115:   CEventSource<AddonEvent> m_events;
1115:   CBlockingEventSource<AddonEvent> m_unloadEvents;
1115:   std::set<std::string> m_systemAddons;
1115:   std::set<std::string> m_optionalSystemAddons;
1115:   ADDON_INFO_LIST m_installedAddons;
1115: 
1115: 
1115:   const std::string m_tempAddonBasePath = "special://temp/addons";
1115: 
1115: 
1115: 
1115: 
1115:   mutable std::string m_lastAvailableUpdatesCountAsString;
1115:   mutable std::mutex m_lastAvailableUpdatesCountMutex;
1115: };
1115: 
1115: };
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h"
1115:        
1115: 
1115: # 1 "/usr/include/c++/12/stdlib.h" 1 3
1115: # 36 "/usr/include/c++/12/stdlib.h" 3
1115: # 1 "/usr/include/c++/12/cstdlib" 1 3
1115: # 39 "/usr/include/c++/12/cstdlib" 3
1115:        
1115: # 40 "/usr/include/c++/12/cstdlib" 3
1115: # 37 "/usr/include/c++/12/stdlib.h" 2 3
1115: 
1115: 
1115: # 38 "/usr/include/c++/12/stdlib.h" 3
1115: using std::abort;
1115: using std::atexit;
1115: using std::exit;
1115: 
1115: 
1115:   using std::at_quick_exit;
1115: 
1115: 
1115:   using std::quick_exit;
1115: 
1115: 
1115: 
1115: 
1115: using std::div_t;
1115: using std::ldiv_t;
1115: 
1115: using std::abs;
1115: using std::atof;
1115: using std::atoi;
1115: using std::atol;
1115: using std::bsearch;
1115: using std::calloc;
1115: using std::div;
1115: using std::free;
1115: using std::getenv;
1115: using std::labs;
1115: using std::ldiv;
1115: using std::malloc;
1115: 
1115: using std::mblen;
1115: using std::mbstowcs;
1115: using std::mbtowc;
1115: 
1115: using std::qsort;
1115: using std::rand;
1115: using std::realloc;
1115: using std::srand;
1115: using std::strtod;
1115: using std::strtol;
1115: using std::strtoul;
1115: using std::system;
1115: 
1115: using std::wcstombs;
1115: using std::wctomb;
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h" 2
1115: 
1115: 
1115: 
1115: 
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonExtensions.h"
1115: namespace ADDON
1115: {
1115: 
1115: class CAddonInfoBuilder;
1115: class CAddonDatabaseSerializer;
1115: 
1115: struct SExtValue
1115: {
1115:   explicit SExtValue(const std::string& strValue) : str(strValue) { }
1115:   const std::string& asString() const { return str; }
1115:   bool asBoolean() const;
1115:   int asInteger() const { return std::atoi(str.c_str()); }
1115:   float asFloat() const { return static_cast<float>(std::atof(str.c_str())); }
1115:   bool empty() const { return str.empty(); }
1115:   const std::string str;
1115: };
1115: 
1115: class CExtValues;
1115: class CAddonExtensions;
1115: typedef std::vector<std::pair<stdntext& ctx) -> decltype(ctx.begin()) {
1412:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1412:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1412:                                                 detail::type::int_type);
1412:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1412:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1412:     return it;
1412:   }
1412: 
1412:   template <typename FormatContext>
1412:   auto format(group_digits_view<T> t, FormatContext& ctx)
1412:       -> decltype(ctx.out()) {
1412:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1412:                                                        specs_.width_ref, ctx);
1412:     detail::handle_dynamic_spec<detail::precision_checker>(
1412:         specs_.precision, specs_.precision_ref, ctx);
1412:     return detail::write_int_localized(
1412:         ctx.out(), static_cast<detail::uint64_or_128_t<T>>(t.value), 0, specs_,
1412:         detail::digit_grouping<char>({"\3", ','}));
1412:   }
1412: };
1412: 
1412: template <typename It, typename Sentinel, typename Char = char>
1412: struct join_view : detail::view {
1412:   It begin;
1412:   Sentinel end;
1412:   basic_string_view<Char> sep;
1412: 
1412:   join_view(It b, Sentinel e, basic_string_view<Char> s)
1412:       : begin(b), end(e), sep(s) {}
1412: };
1412: 
1412: template <typename It, typename Sentinel, typename Char>
1412: struct formatter<join_view<It, Sentinel, Char>, Char> {
1412:  private:
1412:   using value_type =
1412: 
1412: 
1412: 
1412:       typename std::iterator_traits<It>::value_type;
1412: 
1412:   using context = buffer_context<Char>;
1412:   using mapper = detail::arg_mapper<context>;
1412: 
1412:   template <typename T, enable_if_t<(has_formatter<T, context>::value), int> = 0>
1412:   static auto map(const T& value) -> const T& {
1412:     return value;
1412:   }
1412:   template <typename T, enable_if_t<(!has_formatter<T, context>::value), int> = 0>
1412:   static auto map(const T& value) -> decltype(mapper().map(value)) {
1412:     return mapper().map(value);
1412:   }
1412: 
1412:   using formatter_type =
1412:       conditional_t<is_formattable<value_type, Char>::value,
1412:                     formatter<remove_cvref_t<decltype(map(
1412:                                   std::declval<const value_type&>()))>,
1412:                               Char>,
1412:                     detail::fallback_formatter<value_type, Char>>;
1412: 
1412:   formatter_type value_formatter_;
1412: 
1412:  public:
1412:   template <typename ParseContext>
1412:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1412:     return value_formatter_.parse(ctx);
1412:   }
1412: 
1412:   template <typename FormatContext>
1412:   auto format(const join_view<It, Sentinel, Char>& value,
1412:               FormatContext& ctx) const -> decltype(ctx.out()) {
1412:     auto it = value.begin;
1412:     auto out = ctx.out();
1412:     if (it != value.end) {
1412:       out = value_formatter_.format(map(*it), ctx);
1412:       ++it;
1412:       while (it != value.end) {
1412:         out = detail::copy_str<Char>(value.sep.begin(), value.sep.end(), out);
1412:         ctx.advance_to(out);
1412:         out = value_formatter_.format(map(*it), ctx);
1412:         ++it;
1412:       }
1412:     }
1412:     return out;
1412:   }
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template <typename It, typename Sentinel>
1412: auto join(It begin, Sentinel end, string_view sep) -> join_view<It, Sentinel> {
1412:   return {begin, end, sep};
1412: }
1412: # 4011 "/usr/include/fmt/format.h" 3 4
1412: template <typename Range>
1412: auto join(Range&& range, string_view sep)
1412:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>> {
1412:   return join(std::begin(range), std::end(range), sep);
1412: }
1412: # 4028 "/usr/include/fmt/format.h" 3 4
1412: template <typename T, enable_if_t<(!std::is_integral<T>::value), int> = 0>
1412: inline auto to_string(const T& value) -> std::string {
1412:   auto result = std::string();
1412:   detail::write<char>(std::back_inserter(result), value);
1412:   return result;
1412: }
1412: 
1412: template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1412: [[nodiscard]] inline auto to_string(T value) -> std::string {
1412: 
1412: 
1412:   constexpr int max_size = detail::digits10<T>() + 2;
1412:   char buffer[max_size > 5 ? static_cast<unsigned>(max_size) : 5];
1412:   char* begin = buffer;
1412:   return std::string(begin, detail::write<char>(begin, value));
1412: }
1412: 
1412: template <typename Char, size_t SIZE>
1412: [[nodiscard]] auto to_string(const basic_memory_buffer<Char, SIZE>& buf)
1412:     -> std::basic_string<Char> {
1412:   auto size = buf.size();
1412:   detail::assume(size < std::basic_string<Char>().max_size());
1412:   return std::basic_string<Char>(buf.data(), size);
1412: }
1412: 
1412: namespace detail {
1412: 
1412: template <typename Char>
1412: void vformat_to(
1412:     buffer<Char>& buf, basic_string_view<Char> fmt,
1412:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1412:     locale_ref loc) {
1412: 
1412: 
1412:   using detail::arg_formatter;
1412:   using detail::buffer_appender;
1412:   using detail::custom_formatter;
1412:   using detail::default_arg_formatter;
1412:   using detail::get_arg;
1412:   using detail::locale_ref;
1412:   using detail::parse_format_specs;
1412:   using detail::specs_checker;
1412:   using detail::specs_handler;
1412:   using detail::to_unsigned;
1412:   using detail::type;
1412:   using detail::write;
1412:   auto out = buffer_appender<Char>(buf);
1412:   if (fmt.size() == 2 && equal2(fmt.data(), "{}")) {
1412:     auto arg = args.get(0);
1412:     if (!arg) error_handler().on_error("argument not found");
1412:     visit_format_arg(default_arg_formatter<Char>{out, args, loc}, arg);
1412:     return;
1412:   }
1412: 
1412:   struct format_handler : error_handler {
1412:     basic_format_parse_context<Char> parse_context;
1412:     buffer_context<Char> context;
1412: 
1412:     format_handler(buffer_appender<Char> p_out, basic_string_view<Char> str,
1412:                    basic_format_args<buffer_context<Char>> p_args,
1412:                    locale_ref p_loc)
1412:         : parse_context(str), context(p_out, p_args, p_loc) {}
1412: 
1412:     void on_text(const Char* begin, const Char* end) {
1412:       auto text = basic_string_view<Char>(begin, to_unsigned(end - begin));
1412:       context.advance_to(write<Char>(context.out(), text));
1412:     }
1412: 
1412:     constexpr auto on_arg_id() -> int {
1412:       return parse_context.next_arg_id();
1412:     }
1412:     constexpr auto on_arg_id(int id) -> int {
1412:       return parse_context.check_arg_id(id), id;
1412:     }
1412:     constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1412:       int arg_id = context.arg_id(id);
1412:       if (arg_id < 0) on_error("argument not found");
1412:       return arg_id;
1412:     }
1412: 
1412:     inline __attribute__((always_inline)) void on_replacement_field(int id, const Char*) {
1412:       auto arg = get_arg(context, id);
1412:       context.advance_to(visit_format_arg(
1412:           default_arg_formatter<Char>{context.out(), context.args(),
1412:                                       context.locale()},
1412:           arg));
1412:     }
1412: 
1412:     auto on_format_specs(int id, const Char* begin, const Char* end)
1412:         -> const Char* {
1412:       auto arg = get_arg(context, id);
1412:       if (arg.type() == type::custom_type) {
1412:         parse_context.advance_to(parse_context.begin() +
1412:                                  (begin - &*parse_context.begin()));
1412:         visit_format_arg(custom_formatter<Char>{parse_context, context}, arg);
1412:         return parse_context.begin();
1412:       }
1412:       auto specs = basic_format_specs<Char>();
1412:       specs_checker<specs_handler<Char>> handler(
1412:           specs_handler<Char>(specs, parse_context, ::string, CAddonExtensions>> EXT_ELEMENTS;
1115: typedef std::vector<std::pair<std::string, SExtValue>> EXT_VALUE;
1115: typedef std::vector<std::pair<std::string, CExtValues>> EXT_VALUES;
1115: 
1115: class CExtValues : public EXT_VALUE
1115: {
1115: public:
1115:   CExtValues(const EXT_VALUE& values) : EXT_VALUE(values) { }
1115: 
1115:   const SExtValue GetValue(const std::string& id) const
1115:   {
1115:     for (const auto& value : *this)
1115:     {
1115:       if (value.first == id)
1115:         return value.second;
1115:     }
1115:     return SExtValue("");
1115:   }
1115: };
1115: 
1115: class CAddonExtensions
1115: {
1115: public:
1115:   CAddonExtensions() = default;
1115:   ~CAddonExtensions() = default;
1115: 
1115:   const SExtValue GetValue(const std::string& id) const;
1115:   const EXT_VALUES& GetValues() const;
1115:   const CAddonExtensions* GetElement(const std::string& id) const;
1115:   const EXT_ELEMENTS GetElements(const std::string& id = "") const;
1115: 
1115:   void Insert(const std::string& id, const std::string& value);
1115: 
1115: private:
1115:   friend class CAddonInfoBuilder;
1115:   friend class CAddonDatabaseSerializer;
1115: 
1115:   std::string m_point;
1115:   EXT_VALUES m_values;
1115:   EXT_ELEMENTS m_children;
1115: };
1115: 
1115: }
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h" 2
1115: 
1115: 
1115: 
1115: 
1115: class TiXmlElement;
1115: 
1115: namespace ADDON
1115: {
1115: 
1115: enum class AddonType
1115: {
1115:   UNKNOWN = 0,
1115:   VISUALIZATION,
1115:   SKIN,
1115:   PVRDLL,
1115:   INPUTSTREAM,
1115:   GAMEDLL,
1115:   PERIPHERALDLL,
1115:   SCRIPT,
1115:   SCRIPT_WEATHER,
1115:   SUBTITLE_MODULE,
1115:   SCRIPT_LYRICS,
1115:   SCRAPER_ALBUMS,
1115:   SCRAPER_ARTISTS,
1115:   SCRAPER_MOVIES,
1115:   SCRAPER_MUSICVIDEOS,
1115:   SCRAPER_TVSHOWS,
1115:   SCREENSAVER,
1115:   PLUGIN,
1115:   REPOSITORY,
1115:   WEB_INTERFACE,
1115:   SERVICE,
1115:   AUDIOENCODER,
1115:   CONTEXTMENU_ITEM,
1115:   AUDIODECODER,
1115:   RESOURCE_IMAGES,
1115:   RESOURCE_LANGUAGE,
1115:   RESOURCE_TIMEZONE,
1115:   RESOURCE_UISOUNDS,
1115:   RESOURCE_GAMES,
1115:   RESOURCE_FONT,
1115:   VFS,
1115:   IMAGEDECODER,
1115:   SCRAPER_LIBRARY,
1115:   SCRIPT_LIBRARY,
1115:   SCRIPT_MODULE,
1115:   GAME_CONTROLLER,
1115:   VIDEOCODEC,
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   VIDEO,
1115:   AUDIO,
1115:   IMAGE,
1115:   EXECUTABLE,
1115:   GAME,
1115: 
1115: 
1115:   MAX_TYPES
1115: };
1115: 
1115: class CAddonInfoBuilder;
1115: class CAddonDatabaseSerializer;
1115: 
1115: class CAddonType : public CAddonExtensions
1115: {
1115: public:
1115:   CAddonType(AddonType type = AddonType::UNKNOWN) : m_type(type) {}
1115: 
1115:   AddonType Type() const { return m_type; }
1115:   std::string LibPath() const;
1115:   const std::string& LibName() const { return m_libname; }
1115: 
1115:   bool ProvidesSubContent(const AddonType& content) const
1115:   {
1115:     return content == AddonType::UNKNOWN
1115:                ? false
1115:                : m_type == content || m_providedSubContent.count(content) > 0;
1115:   }
1115: 
1115:   bool ProvidesSeveralSubContents() const
1115:   {
1115:     return m_providedSubContent.size() > 1;
1115:   }
1115: 
1115:   size_t ProvidedSubContents() const
1115:   {
1115:     return m_providedSubContent.size();
1115:   }
1115: # 111 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/addoninfo/AddonType.h"
1115:   static bool IsDependencyType(AddonType type);
1115: 
1115: private:
1115:   friend class CAddonInfoBuilder;
1115:   friend class CAddonInfoBuilderFromDB;
1115:   friend class CAddonDatabaseSerializer;
1115: 
1115:   void SetProvides(const std::string& content);
1115: 
1115:   AddonType m_type;
1115:   std::string m_path;
1115:   std::string m_libname;
1115:   std::set<AddonType> m_providedSubContent;
1115: };
1115: 
1115: }
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIComponent.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: class CGUIWindowManager;
1115: class CGUITextureManager;
1115: class CGUILargeTextureManager;
1115: class CStereoscopicsManager;
1115: class CGUIInfoManager;
1115: class CGUIColorManager;
1115: class CGUIAudioManager;
1115: 
1115: class CGUIComponent
1115: {
1115: public:
1115:   CGUIComponent();
1115:   virtual ~CGUIComponent();
1115:   void Init();
1115:   void Deinit();
1115: 
1115:   CGUIWindowManager& GetWindowManager();
1115:   CGUITextureManager& GetTextureManager();
1115:   CGUILargeTextureManager& GetLargeTextureManager();
1115:   CStereoscopicsManager &GetStereoscopicsManager();
1115:   CGUIInfoManager &GetInfoManager();
1115:   CGUIColorManager &GetColorManager();
1115:   CGUIAudioManager &GetAudioManager();
1115: 
1115:   bool ConfirmDelete(const std::string& path);
1115: 
1115: protected:
1115: 
1115:   std::unique_ptr<CGUIWindowManager> m_pWindowManager;
1115:   std::unique_ptr<CGUITextureManager> m_pTextureManager;
1115:   std::unique_ptr<CGUILargeTextureManager> m_pLargeTextureManager;
1115:   std::unique_ptr<CStereoscopicsManager> m_stereoscopicsManager;
1115:   std::unique_ptr<CGUIInfoManager> m_guiInfoManager;
1115:   std::unique_ptr<CGUIColorManager> m_guiColorManager;
1115:   std::unique_ptr<CGUIAudioManager> m_guiAudioManager;
1115: };
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1115:        
1115: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1115: template <typename T> class CPointGen
1115: {
1115: public:
1115:   typedef CPointGen<T> this_type;
1115: 
1115:   CPointGen() noexcept = default;
1115: 
1115:   constexpr CPointGen(T a, T b)
1115:   : x{a}, y{b}
1115:   {}
1115: 
1115:   template<class U> explicit constexpr CPointGen(const CPointGen<U>& rhs)
1115:   : x{static_cast<T> (rhs.x)}, y{static_cast<T> (rhs.y)}
1115:   {}
1115: 
1115:   constexpr this_type operator+(const this_type &point) const
1115:   {
1115:     return {x + point.x, y + point.y};
1115:   };
1115: 
1115:   this_type& operator+=(const this_type &point)
1115:   {
1115:     x += point.x;
1115:     y += point.y;
1115:     return *this;
1115:   };
1115: 
1115:   constexpr this_type operator-(const this_type &point) const
1115:   {
1115:     return {x - point.x, y - point.y};
1115:   };
1115: 
1115:   this_type& operator-=(const this_type &point)
1115:   {
1115:     x -= point.x;
1115:     y -= point.y;
1115:     return *this;
1115:   };
1115: 
1115:   constexpr this_type operator*(T factor) const
1115:   {
1115:     return {x * factor, y * factor};
1115:   }
1115: 
1115:   this_type& operator*=(T factor)
1115:   {
1115:     x *= factor;
1115:     y *= factor;
1115:     return *this;
1115:   }
1115: 
1115:   constexpr this_type operator/(T factor) const
1115:   {
1115:     return {x / factor, y / factor};
1115:   }
1115: 
1115:   this_type& operator/=(T factor)
1115:   {
1115:     x /= factor;
1115:     y /= factor;
1115:     return *this;
1115:   }
1115: 
1115:   T x{}, y{};
1115: };
1115: 
1115: template<typename T>
1115: constexpr bool operator==(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1115: {
1115:   return (point1.x == point2.x && point1.y == point2.y);
1115: context), arg.type());
1412:       begin = parse_format_specs(begin, end, handler);
1412:       if (begin == end || *begin != '}')
1412:         on_error("missing '}' in format string");
1412:       auto f = arg_formatter<Char>{context.out(), specs, context.locale()};
1412:       context.advance_to(visit_format_arg(f, arg));
1412:       return begin;
1412:     }
1412:   };
1412:   detail::parse_format_string<false>(fmt, format_handler(out, fmt, args, loc));
1412: }
1412: 
1412: 
1412: extern template auto thousands_sep_impl<char>(locale_ref)
1412:     -> thousands_sep_result<char>;
1412: extern template auto thousands_sep_impl<wchar_t>(locale_ref)
1412:     -> thousands_sep_result<wchar_t>;
1412: extern template auto decimal_point_impl(locale_ref) -> char;
1412: extern template auto decimal_point_impl(locale_ref) -> wchar_t;
1412: 
1412: 
1412: }
1412: 
1412: 
1412: inline namespace literals {
1412: # 4168 "/usr/include/fmt/format.h" 3 4
1412: constexpr auto operator"" _a(const char* s, size_t) -> detail::udl_arg<char> {
1412:   return {s};
1412: }
1412: 
1412: }
1412: 
1412: 
1412: template <typename Locale, enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1412: inline auto vformat(const Locale& loc, string_view fmt, format_args args)
1412:     -> std::string {
1412:   return detail::vformat(loc, fmt, args);
1412: }
1412: 
1412: template <typename Locale, typename... T,
1412:           enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1412: inline auto format(const Locale& loc, format_string<T...> fmt, T&&... args)
1412:     -> std::string {
1412:   return vformat(loc, string_view(fmt), fmt::make_format_args(args...));
1412: }
1412: 
1412: template <typename OutputIt, typename Locale,
1412:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1412:                                                              >
1412: auto vformat_to(OutputIt out, const Locale& loc, string_view fmt,
1412:                 format_args args) -> OutputIt {
1412:   using detail::get_buffer;
1412:   auto&& buf = get_buffer<char>(out);
1412:   detail::vformat_to(buf, fmt, args, detail::locale_ref(loc));
1412:   return detail::get_iterator(buf);
1412: }
1412: 
1412: template <typename OutputIt, typename Locale, typename... T,
1412:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1412:                                                              >
1412: inline __attribute__((always_inline)) auto format_to(OutputIt out, const Locale& loc,
1412:                           format_string<T...> fmt, T&&... args) -> OutputIt {
1412:   return vformat_to(out, loc, fmt, fmt::make_format_args(args...));
1412: }
1412: 
1412: 
1412: } }
1412: # 29 "/usr/include/spdlog/fmt/fmt.h" 2 3 4
1412: # 46 "/usr/include/spdlog/common.h" 2 3 4
1412: # 108 "/usr/include/spdlog/common.h" 3 4
1412: namespace spdlog {
1412: 
1412: class formatter;
1412: 
1412: namespace sinks {
1412: class sink;
1412: }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: using filename_t = std::string;
1412: 
1412: 
1412: 
1412: using log_clock = std::chrono::system_clock;
1412: using sink_ptr = std::shared_ptr<sinks::sink>;
1412: using sinks_init_list = std::initializer_list<sink_ptr>;
1412: using err_handler = std::function<void(const std::string &err_msg)>;
1412: # 152 "/usr/include/spdlog/common.h" 3 4
1412: namespace fmt_lib = fmt;
1412: 
1412: using string_view_t = fmt::basic_string_view<char>;
1412: using memory_buf_t = fmt::basic_memory_buffer<char, 250>;
1412: 
1412: template<typename... Args>
1412: using format_string_t = fmt::format_string<Args...>;
1412: 
1412: template<class T>
1412: using remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
1412: 
1412: 
1412: 
1412: template<class T, class Char = char>
1412: struct is_convertible_to_basic_format_string
1412:     : std::integral_constant<bool,
1412:           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
1412: {};
1412: # 186 "/usr/include/spdlog/common.h" 3 4
1412: template<class T>
1412: struct is_convertible_to_any_format_string : std::integral_constant<bool, is_convertible_to_basic_format_string<T, char>::value ||
1412:                                                                               is_convertible_to_basic_format_string<T, wchar_t>::value>
1412: {};
1412: 
1412: 
1412: using level_t = details::null_atomic_int;
1412: # 210 "/usr/include/spdlog/common.h" 3 4
1412: namespace level {
1412: enum level_enum : int
1412: {
1412:     trace = 0,
1412:     debug = 1,
1412:     info = 2,
1412:     warn = 3,
1412:     err = 4,
1412:     critical = 5,
1412:     off = 6,
1412:     n_levels
1412: };
1412: # 247 "/usr/include/spdlog/common.h" 3 4
1412: __attribute__((visibility("default"))) const string_view_t &to_string_view(spdlog::level::level_enum l) noexcept;
1412: __attribute__((visibility("default"))) const char *to_short_c_str(spdlog::level::level_enum l) noexcept;
1412: __attribute__((visibility("default"))) spdlog::level::level_enum from_str(const std::string &name) noexcept;
1412: 
1412: }
1412: 
1412: 
1412: 
1412: 
1412: enum class color_mode
1412: {
1412:     always,
1412:     automatic,
1412:     never
1412: };
1412: 
1412: 
1412: 
1412: 
1412: 
1412: enum class pattern_time_type
1412: {
1412:     local,
1412:     utc
1412: };
1412: 
1412: 
1412: 
1412: 
1412: class __attribute__((visibility("default"))) spdlog_ex : public std::exception
1412: {
1412: public:
1412:     explicit spdlog_ex(std::string msg);
1412:     spdlog_ex(const std::string &msg, int last_errno);
1412:     const char *what() const noexcept override;
1412: 
1412: private:
1412:     std::string msg_;
1412: };
1412: 
1412: [[noreturn]] __attribute__((visibility("default"))) void throw_spdlog_ex(const std::string &msg, int last_errno);
1412: [[noreturn]] __attribute__((visibility("default"))) void throw_spdlog_ex(std::string msg);
1412: 
1412: struct source_loc
1412: {
1412:     constexpr source_loc() = default;
1412:     constexpr source_loc(const char *filename_in, int line_in, const char *funcname_in)
1412:         : filename{filename_in}
1412:         , line{line_in}
1412:         , funcname{funcname_in}
1412:     {}
1412: 
1412:     constexpr bool empty() const noexcept
1412:     {
1412:         return line == 0;
1412:     }
1412:     const char *filename{nullptr};
1412:     int line{0};
1412:     const char *funcname{nullptr};
1412: };
1412: 
1412: struct file_event_handlers
1412: {
1412:     std::function<void(const filename_t &filename)> before_open;
1412:     std::function<void(const filename_t &filename, std::FILE *file_stream)> after_open;
1412:     std::function<void(const filename_t &filename, std::FILE *file_stream)> before_close;
1412:     std::function<void(const filename_t &filename)> after_close;
1412:     file_event_handlers()
1412:         : before_open{nullptr}
1412:         , after_open{nullptr}
1412:         , before_close{nullptr}
1412:         , after_close{nullptr}
1412:     {}
1412: };
1412: 
1412: namespace details {
1412: 
1412: 
1412: 
1412: 
1412: using std::enable_if_t;
1412: using std::make_unique;
1412: # 342 "/usr/include/spdlog/common.h" 3 4
1412: template<typename T, typename U, enable_if_t<!std::is_same<T, U>::value, int> = 0>
1412: constexpr T conditional_static_cast(U value)
1412: {
1412:     return static_cast<T>(value);
1412: }
1412: 
1412: template<typename T, typename U, enable_if_t<std::is_same<T, U>::value, int> = 0>
1412: constexpr T conditional_static_cast(U value)
1412: {
1412:     return value;
1412: }
1412: 
1412: }
1412: }
1412: # 13 "/usr/include/spdlog/spdlog.h" 2 3 4
1412: # 1 "/usr/include/spdlog/details/registry.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: # 20 "/usr/include/spdlog/details/registry.h" 3 4
1412: namespace spdlog {
1412: class logger;
1412: 
1412: namespace details {
1412: class thread_pool;
1412: class periodic_worker;
1412: 
1412: class __attribute__((visibility("default"))) registry
1412: {
1412: public:
1412:     }
1115: 
1115: template<typename T>
1115: constexpr bool operator!=(const CPointGen<T> &point1, const CPointGen<T> &point2) noexcept
1115: {
1115:   return !(point1 == point2);
1115: }
1115: 
1115: using CPoint = CPointGen<float>;
1115: using CPointInt = CPointGen<int>;
1115: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Geometry.h"
1115: template <typename T> class CSizeGen
1115: {
1115:   T m_w{}, m_h{};
1115: 
1115:   void CheckSet(T width, T height)
1115:   {
1115:     if (width < 0)
1115:     {
1115:       throw std::out_of_range("Size may not have negative width");
1115:     }
1115:     if (height < 0)
1115:     {
1115:       throw std::out_of_range("Size may not have negative height");
1115:     }
1115:     m_w = width;
1115:     m_h = height;
1115:   }
1115: 
1115: public:
1115:   typedef CSizeGen<T> this_type;
1115: 
1115:   CSizeGen() noexcept = default;
1115: 
1115:   CSizeGen(T width, T height)
1115:   {
1115:     CheckSet(width, height);
1115:   }
1115: 
1115:   T Width() const
1115:   {
1115:     return m_w;
1115:   }
1115: 
1115:   T Height() const
1115:   {
1115:     return m_h;
1115:   }
1115: 
1115:   void SetWidth(T width)
1115:   {
1115:     CheckSet(width, m_h);
1115:   }
1115: 
1115:   void SetHeight(T height)
1115:   {
1115:     CheckSet(m_w, height);
1115:   }
1115: 
1115:   void Set(T width, T height)
1115:   {
1115:     CheckSet(width, height);
1115:   }
1115: 
1115:   bool IsZero() const
1115:   {
1115:     return (m_w == static_cast<T> (0) && m_h == static_cast<T> (0));
1115:   }
1115: 
1115:   T Area() const
1115:   {
1115:     return m_w * m_h;
1115:   }
1115: 
1115:   CPointGen<T> ToPoint() const
1115:   {
1115:     return {m_w, m_h};
1115:   }
1115: 
1115:   template<class U> explicit CSizeGen<T>(const CSizeGen<U>& rhs)
1115:   {
1115:     CheckSet(static_cast<T> (rhs.m_w), static_cast<T> (rhs.m_h));
1115:   }
1115: 
1115:   this_type operator+(const this_type& size) const
1115:   {
1115:     return {m_w + size.m_w, m_h + size.m_h};
1115:   };
1115: 
1115:   this_type& operator+=(const this_type& size)
1115:   {
1115:     CheckSet(m_w + size.m_w, m_h + size.m_h);
1115:     return *this;
1115:   };
1115: 
1115:   this_type operator-(const this_type& size) const
1115:   {
1115:     return {m_w - size.m_w, m_h - size.m_h};
1115:   };
1115: 
1115:   this_type& operator-=(const this_type& size)
1115:   {
1115:     CheckSet(m_w - size.m_w, m_h - size.m_h);
1115:     return *this;
1115:   };
1115: 
1115:   this_type operator*(T factor) const
1115:   {
1115:     return {m_w * factor, m_h * factor};
1115:   }
1115: 
1115:   this_type& operator*=(T factor)
1115:   {
1115:     CheckSet(m_w * factor, m_h * factor);
1115:     return *this;
1115:   }
1115: 
1115:   this_type operator/(T factor) const
1115:   {
1115:     return {m_w / factor, m_h / factor};
1115:   }
1115: 
1115:   this_type& operator/=(T factor)
1115:   {
1115:     CheckSet(m_w / factor, m_h / factor);
1115:     return *this;
1115:   }
1115: };
1115: 
1115: template<typename T>
1115: inline bool operator==(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1115: {
1115:   return (size1.Width() == size2.Width() && size1.Height() == size2.Height());
1115: }
1115: 
1115: template<typename T>
1115: inline bool operator!=(const CSizeGen<T>& size1, const CSizeGen<T>& size2) noexcept
1115: {
1115:   return !(size1 == size2);
1115: }
1115: 
1115: using CSize = CSizeGen<float>;
1115: using CSizeInt = CSizeGen<int>;
1115: 
1115: 
1115: template <typename T> class CRectGen
1115: {
1115: public:
1115:   typedef CRectGen<T> this_type;
1115:   typedef CPointGen<T> point_type;
1115:   typedef CSizeGen<T> size_type;
1115: 
1115:   CRectGen() noexcept = default;
1115: 
1115:   constexpr CRectGen(T left, T top, T right, T bottom)
1115:   : x1{left}, y1{top}, x2{right}, y2{bottom}
1115:   {}
1115: 
1115:   constexpr CRectGen(const point_type &p1, const point_type &p2)
1115:   : x1{p1.x}, y1{p1.y}, x2{p2.x}, y2{p2.y}
1115:   {}
1115: 
1115:   constexpr CRectGen(const point_type &origin, const size_type &size)
1115:   : x1{origin.x}, y1{origin.y}, x2{x1 + size.Width()}, y2{y1 + size.Height()}
1115:   {}
1115: 
1115:   template<class U> explicit constexpr CRectGen(const CRectGen<U>& rhs)
1115:   : x1{static_cast<T> (rhs.x1)}, y1{static_cast<T> (rhs.y1)}, x2{static_cast<T> (rhs.x2)}, y2{static_cast<T> (rhs.y2)}
1115:   {}
1115: 
1115:   void SetRect(T left, T top, T right, T bottom)
1115:   {
1115:     x1 = left;
1115:     y1 = top;
1115:     x2 = right;
1115:     y2 = bottom;
1115:   }
1115: 
1115:   constexpr bool PtInRect(const point_type &point) const
1115:   {
1115:     return (x1 <= point.x && point.x <= x2 && y1 <= point.y && point.y <= y2);
1115:   };
1115: 
1115:   this_type& operator-=(const point_type &point) __attribute__((always_inline))
1115:   {
1115:     x1 -= point.x;
1115:     y1 -= point.y;
1115:     x2 -= point.x;
1115:     y2 -= point.y;
1115:     return *this;
1115:   };
1115: 
1115:   constexpr this_type operator-(const point_type &point) const
1115:   {
1115:     return {x1 - point.x, y1 - point.y, x2 - point.x, y2 - point.y};
1115:   }
1115: 
1115:   this_type& operator+=(const point_type &point) __attribute__((always_inline))
1115:   {
1115:     x1 += point.x;
1115:     y1 += point.y;
1115:     x2 += point.x;
1115:     y2 += point.y;
1115:     return *this;
1115:   };
1115: 
1115:   constexpr this_type operator+(const point_type &point) const
1115:   {
1115:     return {x1 + point.x, y1 + point.y, x2 + point.x, y2 + point.y};
1115:   }
1115: 
1115:   this_type& operator-=(const size_type &size)
1115:   {
1115:     x2 -= size.Width();
1115:     y2 -= size.Height();
1115:     return *this;
1115:   };
1115: 
1115:   constexpr this_type operator-(const size_type &size) const
1115:   {
1115:     return {x1, y1, x2 - size.Width(), y2 - size.Height()};
1115:   }
1115: 
1115:   this_type& operator+=(const size_type &size)
1115:   {
1115:     x2 += size.Width();
1115:     y2 += size.Height();
1115:     return *this;
1115:   };
1115: 
1115:   constexpr this_type operator+(const size_type &size) const
1115:   {
1115:     return {x1, y1, x2 + size.Width(), y2 + size.Height()};
1115:   }
1115: 
1115:   this_type& Intersect(const this_type &rect)
1115:   {
1115:     x1 = clamp_range(x1, rect.x1, rect.x2);
1115:     x2 = clamp_range(x2, rect.x1, rect.x2);
1115:     y1 = clamp_range(y1, rect.y1, rect.y2);
1115:     y2 = clamp_range(y2, rect.y1, rect.y2);
1115:     return *this;
1115:   };
1115: 
1115:   this_type& Union(const this_type &rect)
1115:   {
1115:     if (IsEmpty())
1115:       *this = rect;
1115:     else if (!rect.IsEmpty())
1115:     {
1115:       x1 = std::min(x1,rect.x1);
1115:       y1 = std::min(y1,rect.y1);
1115: 
1115:       x2 = std::max(x2,rect.x2);
1115:       y2 = std::max(y2,rect.y2);
1115:     }
1115: 
1115:     return *this;
1115:   };
1115: 
1115:   constexpr bool IsEmpty() const __attribute__((always_inline))
1115:   {
1115:     return (x2 - x1) * (y2 - y1) == 0;
1115:   };
1115: 
1115:   constexpr point_type P1() const __attribute__((always_inline))
1115:   {
1115:     return {x1, y1};
1115:   }
1115: 
1115:   constexpr point_type P2() const __attribute__((always_inline))
1115:   {
1115:     return {x2, y2};
1115:   }
1115: 
1115:   constexpr T Width() const __attribute__((always_inline))
1115:   {
1115:     return x2 - x1;
1115:   };
1115: 
1115:   constexpr T Height() const __attribute__((always_inline))
1115:   {
1115:     return y2 - y1;
1115:   };
1115: 
1115:   constexpr T Area() const __attribute__((always_inline))
1115:   {
1115:     return Width() * Height();
1115:   };
1115: 
1115:   size_type ToSize() const
1115:   {
1115:     return {Width(), Height()};
1115:   };
1115: 
1115:   std::vector<this_type> SubtractRect(this_type splitterRect)
1115:   {
1115:     std::vector<this_type> newRectanglesList;
1115:     this_type intersection = splitterRect.Intersect(*this);
1115: 
1115:     if (!intersection.IsEmpty())
1115:     {
1115:       this_type add;
1115: 
1115: 
1115:       add = this_type(x1, y1, x2, intersection.y1);
1115:       if (!add.IsEmpty())
1115:         newRectanglesList.push_back(add);
1115: 
1115:using log_levels = std::unordered_map<std::string, level::level_enum>;
1412:     registry(const registry &) = delete;
1412:     registry &operator=(const registry &) = delete;
1412: 
1412:     void register_logger(std::shared_ptr<logger> new_logger);
1412:     void initialize_logger(std::shared_ptr<logger> new_logger);
1412:     std::shared_ptr<logger> get(const std::string &logger_name);
1412:     std::shared_ptr<logger> default_logger();
1412: 
1412: 
1412: 
1412: 
1412: 
1412:     logger *get_default_raw();
1412: 
1412: 
1412: 
1412:     void set_default_logger(std::shared_ptr<logger> new_default_logger);
1412: 
1412:     void set_tp(std::shared_ptr<thread_pool> tp);
1412: 
1412:     std::shared_ptr<thread_pool> get_tp();
1412: 
1412: 
1412:     void set_formatter(std::unique_ptr<formatter> formatter);
1412: 
1412:     void enable_backtrace(size_t n_messages);
1412: 
1412:     void disable_backtrace();
1412: 
1412:     void set_level(level::level_enum log_level);
1412: 
1412:     void flush_on(level::level_enum log_level);
1412: 
1412:     void flush_every(std::chrono::seconds interval);
1412: 
1412:     void set_error_handler(err_handler handler);
1412: 
1412:     void apply_all(const std::function<void(const std::shared_ptr<logger>)> &fun);
1412: 
1412:     void flush_all();
1412: 
1412:     void drop(const std::string &logger_name);
1412: 
1412:     void drop_all();
1412: 
1412: 
1412:     void shutdown();
1412: 
1412:     std::recursive_mutex &tp_mutex();
1412: 
1412:     void set_automatic_registration(bool automatic_registration);
1412: 
1412: 
1412:     void set_levels(log_levels levels, level::level_enum *global_level);
1412: 
1412:     static registry &instance();
1412: 
1412: private:
1412:     registry();
1412:     ~registry();
1412: 
1412:     void throw_if_exists_(const std::string &logger_name);
1412:     void register_logger_(std::shared_ptr<logger> new_logger);
1412:     bool set_level_from_cfg_(logger *logger);
1412:     std::mutex logger_map_mutex_, flusher_mutex_;
1412:     std::recursive_mutex tp_mutex_;
1412:     std::unordered_map<std::string, std::shared_ptr<logger>> loggers_;
1412:     log_levels log_levels_;
1412:     std::unique_ptr<formatter> formatter_;
1412:     spdlog::level::level_enum global_log_level_ = level::info;
1412:     level::level_enum flush_level_ = level::off;
1412:     err_handler err_handler_;
1412:     std::shared_ptr<thread_pool> tp_;
1412:     std::unique_ptr<periodic_worker> periodic_flusher_;
1412:     std::shared_ptr<logger> default_logger_;
1412:     bool automatic_registration_ = true;
1412:     size_t backtrace_n_messages_ = 0;
1412: };
1412: 
1412: }
1412: }
1412: # 14 "/usr/include/spdlog/spdlog.h" 2 3 4
1412: # 1 "/usr/include/spdlog/logger.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: # 18 "/usr/include/spdlog/logger.h" 3 4
1412: # 1 "/usr/include/spdlog/details/log_msg.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: 
1412: 
1412: 
1412: 
1412: namespace spdlog {
1412: namespace details {
1412: struct __attribute__((visibility("default"))) log_msg
1412: {
1412:     log_msg() = default;
1412:     log_msg(log_clock::time_point log_time, source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1412:     log_msg(source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1412:     log_msg(string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1412:     log_msg(const log_msg &other) = default;
1412:     log_msg &operator=(const log_msg &other) = default;
1412: 
1412:     string_view_t logger_name;
1412:     level::level_enum level{level::off};
1412:     log_clock::time_point time;
1412:     size_t thread_id{0};
1412: 
1412: 
1412:     mutable size_t color_range_start{0};
1412:     mutable size_t color_range_end{0};
1412: 
1412:     source_loc source;
1412:     string_view_t payload;
1412: };
1412: }
1412: }
1412: # 19 "/usr/include/spdlog/logger.h" 2 3 4
1412: # 1 "/usr/include/spdlog/details/backtracer.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: 
1412: # 1 "/usr/include/spdlog/details/log_msg_buffer.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: 
1412: 
1412: 
1412: namespace spdlog {
1412: namespace details {
1412: 
1412: 
1412: 
1412: 
1412: class __attribute__((visibility("default"))) log_msg_buffer : public log_msg
1412: {
1412:     memory_buf_t buffer;
1412:     void update_string_views();
1412: 
1412: public:
1412:     log_msg_buffer() = default;
1412:     explicit log_msg_buffer(const log_msg &orig_msg);
1412:     log_msg_buffer(const log_msg_buffer &other);
1412:     log_msg_buffer(log_msg_buffer &&other) noexcept;
1412:     log_msg_buffer &operator=(const log_msg_buffer &other);
1412:     log_msg_buffer &operator=(log_msg_buffer &&other) noexcept;
1412: };
1412: 
1412: }
1412: }
1412: # 7 "/usr/include/spdlog/details/backtracer.h" 2 3 4
1412: # 1 "/usr/include/spdlog/details/circular_q.h" 1 3 4
1412: 
1412: 
1412: 
1412: 
1412:        
1412: 
1412: 
1412: # 1 "/usr/include/c++/12/cassert" 1 3 4
1412: # 41 "/usr/include/c++/12/cassert" 3 4
1412:        
1412: # 42 "/usr/include/c++/12/cassert" 3
1412: 
1412: 
1412: # 1 "/usr/include/assert.h" 1 3 4
1412: # 45 "/usr/include/c++/12/cassert" 2 3
1412: # 9 "/usr/include/spdlog/details/circular_q.h" 2 3 4
1412: 
1412: namespace spdlog {
1412: namespace details {
1412: template<typename T>
1412: class circular_q
1412: {
1412:     size_t max_items_ = 0;
1412:     typename std::vector<T>::size_type head_ = 0;
1412:     typename std::vector<T>::size_type tail_ = 0;
1412:     size_t overrun_counter_ = 0;
1412:     std::vector<T> v_;
1412: 
1412: public:
1412:     using value_type = T;
1412: 
1412: 
1412:     circular_q() = default;
1412: 
1412:     explicit circular_q(size_t max_items)
1412:         : max_items_(max_items + 1)
1412:         , v_(max_items_)
1412:     {}
1412: 
1412:     circular_q(const circular_q &) = default;
1412:     circular_q &operator=(const circular_q &) = default;
1412: 
1412: 
1412: 
1412:     circular_q(circular_q &&other) noexcept
1412:     {
1412:         copy_moveable(std::move(other));
1412:     }
1412: 
1412:     circular_q &operator=(circular_q &&other) noexcept
1412:     {
1412:         copy_moveable(std::move(other));
1412:         return *this;
1412:     }
1412: 
1412: 
1412:     void push_back(T &&item)
1412:     {
1412:         if (max_items_ > 0)
1412:         {
1412:             v_[tail_] = std::move(item);
1412:             tail_ = (tail_ + 1) % max_items_;
1412: 
1412:             if (tail_ == head_)
1412:             {
1412:                 head_ = (head_ + 1) % max_items_;
1412:                 ++overrun_counter_;
1412:             }
1412:         }
1412:     }
1412: 
1412: 
1412: 
1412:     const T &front() const
1412:     {
1412:         return v_[head_];
1412:     }
1412: 
1412:     T &front()
1412:     {
1412:         return v_[head_];
1412:     }
1412: 
1412: 
1412:     size_t size() const
1412:     {
1412:         if (tail_ >= head_)
1412:         {
1412:             return tail_ - head_;
1412:         }
1412:         else
1412:         {
1412:             return max_items_ - (head_ - tail_);
1412:         }
1412:     }
1412: 
1412: 
1412: 
1412:     const T &at(size_t i) const
1412:     {
1412:         (static_cast<void> (0));
1412:         return v_[(head_ + i) % max_items_];
1412:     }
1412: 
1412: 
1412: 
1412:     void pop_front()
1412:     {
1412:         head_ = (head_ + 1) % max_items_;
1412:     }
1412: 
1412:     bool empty() const
1412:     {
1412:         return tail_ == head_;
1412:     }
1412: 
1412:     bool full() const
1412:     {
1412: 
1412:         if (max_items_ > 0)
1412:         {
1412:             return ((tail_ + 1) % max_items_) == head_;
1412:         }
1412:         return false;
1412:     }
1412: 
1412:     size_t overrun_counter() const
1412:     {
1412:         return overrun_counter_;
1412:     }
1412: 
1412: private:
1412: 
1412:     void copy_moveable(circular_q &&other) noexcept
1412:     {
1412:         max_items_ = other.max_items_;
1412:         head_ = other.head_;
1412:         tail_ = other.tail_;
1412:         overrun_counter_ = other.overrun_counter_;
1412 
1115:       add = this_type(x1, intersection.y2, x2, y2);
1115:       if (!add.IsEmpty())
1115:         newRectanglesList.push_back(add);
1115: 
1115: 
1115:       add = this_type(x1, intersection.y1, intersection.x1, intersection.y2);
1115:       if (!add.IsEmpty())
1115:         newRectanglesList.push_back(add);
1115: 
1115: 
1115:       add = this_type(intersection.x2, intersection.y1, x2, intersection.y2);
1115:       if (!add.IsEmpty())
1115:         newRectanglesList.push_back(add);
1115:     }
1115:     else
1115:     {
1115:       newRectanglesList.push_back(*this);
1115:     }
1115: 
1115:     return newRectanglesList;
1115:   }
1115: 
1115:   std::vector<this_type> SubtractRects(std::vector<this_type> intersectionList)
1115:   {
1115:     std::vector<this_type> fragmentsList;
1115:     fragmentsList.push_back(*this);
1115: 
1115:     for (typename std::vector<this_type>::iterator splitter = intersectionList.begin(); splitter != intersectionList.end(); ++splitter)
1115:     {
1115:       typename std::vector<this_type> toAddList;
1115: 
1115:       for (typename std::vector<this_type>::iterator fragment = fragmentsList.begin(); fragment != fragmentsList.end(); ++fragment)
1115:       {
1115:         std::vector<this_type> newFragmentsList = fragment->SubtractRect(*splitter);
1115:         toAddList.insert(toAddList.end(), newFragmentsList.begin(), newFragmentsList.end());
1115:       }
1115: 
1115:       fragmentsList.clear();
1115:       fragmentsList.insert(fragmentsList.end(), toAddList.begin(), toAddList.end());
1115:     }
1115: 
1115:     return fragmentsList;
1115:   }
1115: 
1115:   void GetQuad(point_type (&points)[4])
1115:   {
1115:     points[0] = { x1, y1 };
1115:     points[1] = { x2, y1 };
1115:     points[2] = { x2, y2 };
1115:     points[3] = { x1, y2 };
1115:   }
1115: 
1115:   T x1{}, y1{}, x2{}, y2{};
1115: private:
1115:   static constexpr T clamp_range(T x, T l, T h) __attribute__((always_inline))
1115:   {
1115:     return (x > h) ? h : ((x < l) ? l : x);
1115:   }
1115: };
1115: 
1115: template<typename T>
1115: constexpr bool operator==(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1115: {
1115:   return (rect1.x1 == rect2.x1 && rect1.y1 == rect2.y1 && rect1.x2 == rect2.x2 && rect1.y2 == rect2.y2);
1115: }
1115: 
1115: template<typename T>
1115: constexpr bool operator!=(const CRectGen<T> &rect1, const CRectGen<T> &rect2) noexcept
1115: {
1115:   return !(rect1 == rect2);
1115: }
1115: 
1115: using CRect = CRectGen<float>;
1115: using CRectInt = CRectGen<int>;
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegion.h" 2
1115: 
1115: 
1115: 
1115: class CDirtyRegion : public CRect
1115: {
1115: public:
1115:   explicit CDirtyRegion(const CRect &rect) : CRect(rect) { m_age = 0; }
1115:   CDirtyRegion(float left, float top, float right, float bottom) : CRect(left, top, right, bottom) { m_age = 0; }
1115:   CDirtyRegion() : CRect() { m_age = 0; }
1115: 
1115:   int UpdateAge() { return ++m_age; }
1115: private:
1115:   int m_age;
1115: };
1115: 
1115: typedef std::vector<CDirtyRegion> CDirtyRegionList;
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IDirtyRegionSolver.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class IDirtyRegionSolver
1115: {
1115: public:
1115:   virtual ~IDirtyRegionSolver() = default;
1115: 
1115: 
1115:   virtual void Solve(const CDirtyRegionList &input, CDirtyRegionList &output) = 0;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DirtyRegionTracker.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CDirtyRegionTracker
1115: {
1115: public:
1115:   explicit CDirtyRegionTracker(int buffering = 3);
1115:   ~CDirtyRegionTracker();
1115:   void SelectAlgorithm();
1115:   void MarkDirtyRegion(const CDirtyRegion &region);
1115: 
1115:   const CDirtyRegionList &GetMarkedRegions() const;
1115:   CDirtyRegionList GetDirtyRegions();
1115:   void CleanMarkedRegions();
1115: 
1115: private:
1115:   CDirtyRegionList m_markedRegions;
1115:   int m_buffering;
1115:   IDirtyRegionSolver *m_solver;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIAction.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CGUIControl;
1115: class CGUIListItem; typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
1115: 
1115: 
1115: 
1115: 
1115: class CGUIAction
1115: {
1115: public:
1115: 
1115: 
1115: 
1115:   class CExecutableAction
1115:   {
1115:   public:
1115: 
1115: 
1115: 
1115: 
1115:     explicit CExecutableAction(const std::string& action);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     CExecutableAction(const std::string& condition, const std::string& action);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     std::string GetCondition() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     bool HasCondition() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     std::string GetAction() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     void SetAction(const std::string& action);
1115: 
1115:   private:
1115: 
1115: 
1115: 
1115:     CExecutableAction() = delete;
1115: 
1115:     std::string m_condition;
1115: 
1115:     std::string m_action;
1115:   };
1115: 
1115:   CGUIAction() = default;
1115:   explicit CGUIAction(int controlID);
1115: 
1115: 
1115: 
1115:   bool ExecuteActions() const;
1115: 
1115: 
1115: 
1115:   bool ExecuteActions(int controlID, int parentID, const CGUIListItemPtr& item = nullptr) const;
1115: 
1115: 
1115: 
1115:   bool HasActionsMeetingCondition() const;
1115: 
1115: 
1115: 
1115:   bool HasAnyActions() const;
1115: 
1115: 
1115: 
1115:   int GetNavigation() const;
1115: 
1115: 
1115: 
1115:   void SetNavigation(int id);
1115: 
1115: 
1115: 
1115:   void EnableSendThreadMessageMode();
1115: 
1115: 
1115: 
1115:   void Append(const CExecutableAction& action);
1115: 
1115: 
1115: 
1115:   void Reset();
1115: 
1115: private:
1115:   std::vector<CExecutableAction> m_actions;
1115:   bool m_sendThreadMessages = false;
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1115:        
1115: 
1115: enum ANIMATION_PROCESS { ANIM_PROCESS_NONE = 0, ANIM_PROCESS_NORMAL, ANIM_PROCESS_REVERSE };
1115: enum ANIMATION_STATE { ANIM_STATE_NONE = 0, ANIM_STATE_DELAYED, ANIM_STATE_IN_PROCESS, ANIM_STATE_APPLIED };
1115: 
1115: 
1115: 
1115: class TiXmlElement;
1115: class Tweener;
1115: class CGUIListItem;
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/info/InfoBool.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: class CGUIListItem;
1115: 
1115: namespace INFO
1115: {
1115: 
1115: 
1115: 
1115: 
1115: class InfoBool
1115: {
1115: public:
1115:   InfoBool(const std::string &expression, int context, unsigned int &refreshCounter);
1115:   virtual ~InfoBool() = default;
1115: 
1115:   virtual void Initialize() {}
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline bool Get(int contextWindow, const CGUIListItem* item = nullptr)
1115:   {
1115:     if (item && m_listItemDependent)
1115:      :         v_ = std::move(other.v_);
1412: 
1412: 
1412:         other.max_items_ = 0;
1412:         other.head_ = other.tail_ = 0;
1412:         other.overrun_counter_ = 0;
1412:     }
1412: };
1412: }
1412: }
1412: # 8 "/usr/include/spdlog/details/backtracer.h" 2 3 4
1412: # 16 "/usr/include/spdlog/details/backtracer.h" 3 4
1412: namespace spdlog {
1412: namespace details {
1412: class __attribute__((visibility("default"))) backtracer
1412: {
1412:     mutable std::mutex mutex_;
1412:     std::atomic<bool> enabled_{false};
1412:     circular_q<log_msg_buffer> messages_;
1412: 
1412: public:
1412:     backtracer() = default;
1412:     backtracer(const backtracer &other);
1412: 
1412:     backtracer(backtracer &&other) noexcept;
1412:     backtracer &operator=(backtracer other);
1412: 
1412:     void enable(size_t size);
1412:     void disable();
1412:     bool enabled() const;
1412:     void push_back(const log_msg &msg);
1412: 
1412: 
1412:     void foreach_pop(std::function<void(const details::log_msg &)> fun);
1412: };
1412: 
1412: }
1412: }
1412: # 20 "/usr/include/spdlog/logger.h" 2 3 4
1412: # 52 "/usr/include/spdlog/logger.h" 3 4
1412: namespace spdlog {
1412: 
1412: class __attribute__((visibility("default"))) logger
1412: {
1412: public:
1412: 
1412:     explicit logger(std::string name)
1412:         : name_(std::move(name))
1412:         , sinks_()
1412:     {}
1412: 
1412: 
1412:     template<typename It>
1412:     logger(std::string name, It begin, It end)
1412:         : name_(std::move(name))
1412:         , sinks_(begin, end)
1412:     {}
1412: 
1412: 
1412:     logger(std::string name, sink_ptr single_sink)
1412:         : logger(std::move(name), {std::move(single_sink)})
1412:     {}
1412: 
1412: 
1412:     logger(std::string name, sinks_init_list sinks)
1412:         : logger(std::move(name), sinks.begin(), sinks.end())
1412:     {}
1412: 
1412:     virtual ~logger() = default;
1412: 
1412:     logger(const logger &other);
1412:     logger(logger &&other) noexcept;
1412:     logger &operator=(logger other) noexcept;
1412:     void swap(spdlog::logger &other) noexcept;
1412: 
1412:     template<typename... Args>
1412:     void log(source_loc loc, level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log_(loc, lvl, fmt, std::forward<Args>(args)...);
1412:     }
1412: 
1412:     template<typename... Args>
1412:     void log(level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
1412:     }
1412: 
1412:     template<typename T>
1412:     void log(level::level_enum lvl, const T &msg)
1412:     {
1412:         log(source_loc{}, lvl, msg);
1412:     }
1412: 
1412: 
1412:     template<class T, typename std::enable_if<!is_convertible_to_any_format_string<const T &>::value, int>::type = 0>
1412:     void log(source_loc loc, level::level_enum lvl, const T &msg)
1412:     {
1412:         log(loc, lvl, "{}", msg);
1412:     }
1412: 
1412:     void log(log_clock::time_point log_time, source_loc loc, level::level_enum lvl, string_view_t msg)
1412:     {
1412:         bool log_enabled = should_log(lvl);
1412:         bool traceback_enabled = tracer_.enabled();
1412:         if (!log_enabled && !traceback_enabled)
1412:         {
1412:             return;
1412:         }
1412: 
1412:         details::log_msg log_msg(log_time, loc, name_, lvl, msg);
1412:         log_it_(log_msg, log_enabled, traceback_enabled);
1412:     }
1412: 
1412:     void log(source_loc loc, level::level_enum lvl, string_view_t msg)
1412:     {
1412:         bool log_enabled = should_log(lvl);
1412:         bool traceback_enabled = tracer_.enabled();
1412:         if (!log_enabled && !traceback_enabled)
1412:         {
1412:             return;
1412:         }
1412: 
1412:         details::log_msg log_msg(loc, name_, lvl, msg);
1412:         log_it_(log_msg, log_enabled, traceback_enabled);
1412:     }
1412: 
1412:     void log(level::level_enum lvl, string_view_t msg)
1412:     {
1412:         log(source_loc{}, lvl, msg);
1412:     }
1412: 
1412:     template<typename... Args>
1412:     void trace(format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log(level::trace, fmt, std::forward<Args>(args)...);
1412:     }
1412: 
1412:     template<typename... Args>
1412:     void debug(format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log(level::debug, fmt, std::forward<Args>(args)...);
1412:     }
1412: 
1412:     template<typename... Args>
1412:     void info(format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log(level::info, fmt, std::forward<Args>(args)...);
1412:     }
1412: 
1412:     template<typename... Args>
1412:     void warn(format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log(level::warn, fmt, std::forward<Args>(args)...);
1412:     }
1412: 
1412:     template<typename... Args>
1412:     void error(format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log(level::err, fmt, std::forward<Args>(args)...);
1412:     }
1412: 
1412:     template<typename... Args>
1412:     void critical(format_string_t<Args...> fmt, Args &&... args)
1412:     {
1412:         log(level::critical, fmt, std::forward<Args>(args)...);
1412:     }
1412: # 264 "/usr/include/spdlog/logger.h" 3 4
1412:     template<typename T>
1412:     void trace(const T &msg)
1412:     {
1412:         log(level::trace, msg);
1412:     }
1412: 
1412:     template<typename T>
1412:     void debug(const T &msg)
1412:     {
1412:         log(level::debug, msg);
1412:     }
1412: 
1412:     template<typename T>
1412:     void info(const T &msg)
1412:     {
1412:         log(level::info, msg);
1412:     }
1412: 
1412:     template<typename T>
1412:     void warn(const T &msg)
1412:     {
1412:         log(level::warn, msg);
1412:     }
1412: 
1412:     template<typename T>
1412:     void error(const T &msg)
1412:     {
1412:         log(level::err, msg);
1412:     }
1412: 
1412:     template<typename T>
1412:     void critical(const T &msg)
1412:     {
1412:         log(level::critical, msg);
1412:     }
1412: 
1412: 
1412:     bool should_log(level::level_enum msg_level) const
1412:     {
1412:         return msg_level >= level_.load(std::memory_order_relaxed);
1412:     }
1412: 
1412: 
1412:     bool should_backtrace() const
1412:     {
1412:         return tracer_.enabled();
1412:     }
1412: 
1412:     void set_level(level::level_enum log_level);
1412: 
1412:     level::level_enum level() const;
1412: 
1412:     const std::string &name() const;
1412: 
1412: 
1412: 
1412:     void set_formatter(std::unique_ptr<formatter> f);
1412: 
1412:     void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
1412: 
1412: 
1412: 
1412:     void enable_backtrace(size_t n_messages);
1412:     void disable_backtrace();
1412:     void dump_backtrace();
1412: 
1412: 
1412:     void flush();
1412:     void flush_on(level::level_enum log_level);
1412:     level::level_enum flush_level() const;
1412: 
1412: 
1412:     const std::vector<sink_ptr> &sinks() const;
1412: 
1412:     std::vector<sink_ptr> &sinks();
1412: 
1412: 
1412:     void set_error_handler(err_handler);
1412: 
1412: 
1412:     virtual std::shared_ptr<logger> clone(std::string logger_name);
1412: 
1412: protected:
1412:     std::string name_;
1412:     std::vector<sink_ptr> sinks_;
1412:     spdlog::level_t level_{level::info};
1412:     spdlog::level_t flush_level_{level::off};
1412:     err_handler custom_err_handler_{nullptr};
1412:     details::backtracer tracer_;
1412: 
1412: 
1412:     template<typename... Args>
1412:     void log_(source_loc loc, level::level_enum lvl, string_view_t fmt, Args &&... args)
1412:     {
1412:         bool log_enabled = should_log(lvl);
1412:         bool traceback_enabled = tracer_.enabled();
1412:         if (!log_enabled && !traceback_enabled)
1412:         {
1412:             return;
1412:         }
1412:         try
1412:         {
1412: 
1412: 
1412: 
1412:             memory_buf_t buf;
1412:             fmt::detail::vformat_to(buf, fmt, f Update(contextWindow, item);
1115:     else if (m_refreshCounter != m_parentRefreshCounter || m_refreshCounter == 0)
1115:     {
1115:       Update(contextWindow, nullptr);
1115:       m_refreshCounter = m_parentRefreshCounter;
1115:     }
1115:     return m_value;
1115:   }
1115: 
1115:   bool operator==(const InfoBool &right) const
1115:   {
1115:     return (m_context == right.m_context &&
1115:             m_expression == right.m_expression);
1115:   }
1115: 
1115:   bool operator<(const InfoBool &right) const
1115:   {
1115:     if (m_context < right.m_context)
1115:       return true;
1115:     else if (m_context == right.m_context)
1115:       return m_expression < right.m_expression;
1115:     else
1115:       return false;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   virtual void Update(int contextWindow, const CGUIListItem* item) {}
1115: 
1115:   const std::string &GetExpression() const { return m_expression; }
1115:   bool ListItemDependent() const { return m_listItemDependent; }
1115: protected:
1115: 
1115:   bool m_value;
1115:   int m_context;
1115:   bool m_listItemDependent;
1115:   std::string m_expression;
1115: 
1115: private:
1115:   unsigned int m_refreshCounter;
1115:   unsigned int &m_parentRefreshCounter;
1115: };
1115: 
1115: typedef std::shared_ptr<InfoBool> InfoPtr;
1115: };
1115: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ColorUtils.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace UTILS
1115: {
1115: namespace COLOR
1115: {
1115: 
1115: typedef uint32_t Color;
1115: 
1115: constexpr Color BLACK = 0xFF000000;
1115: constexpr Color LIMITED_BLACK = 0xFF101010;
1115: constexpr Color BLUE = 0xFF0099FF;
1115: constexpr Color BRIGHTGREEN = 0xFF00FF00;
1115: constexpr Color CYAN = 0xFF00FFFF;
1115: constexpr Color DARKGREY = 0xFF808080;
1115: constexpr Color GREY = 0xFFC0C0C0;
1115: constexpr Color LIGHTGREY = 0xFFE5E5E5;
1115: constexpr Color NONE = 0x00000000;
1115: constexpr Color WHITE = 0xFFFFFFFF;
1115: constexpr Color YELLOW = 0xFFFFFF00;
1115: constexpr Color YELLOWGREEN = 0xFFCCFF00;
1115: 
1115: struct ColorInfo
1115: {
1115:   Color colorARGB;
1115:   double hue;
1115:   double saturation;
1115:   double lightness;
1115: };
1115: 
1115: struct ColorFloats
1115: {
1115:   float red;
1115:   float green;
1115:   float blue;
1115:   float alpha;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: Color ChangeOpacity(const Color argb, const float opacity);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: Color ConvertToRGBA(const Color argb);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: Color ConvertToARGB(const Color rgba);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: Color ConvertToBGR(const Color argb);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: Color ConvertHexToColor(const std::string& hexColor);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: Color ConvertIntToRGB(int r, int g, int b);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: ColorInfo MakeColorInfo(const Color& argb);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: ColorInfo MakeColorInfo(const std::string& hexColor);
1115: 
1115: 
1115: 
1115: bool comparePairColorInfo(const std::pair<std::string, ColorInfo>& a,
1115:                           const std::pair<std::string, ColorInfo>& b);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: ColorFloats ConvertToFloats(const Color argb);
1115: }
1115: }
1115: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/math.h" 1 3
1115: # 36 "/usr/include/c++/12/math.h" 3
1115: # 1 "/usr/include/c++/12/cmath" 1 3
1115: # 39 "/usr/include/c++/12/cmath" 3
1115:        
1115: # 40 "/usr/include/c++/12/cmath" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/math.h" 1 3 4
1115: # 27 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1115: # 28 "/usr/include/math.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 34 "/usr/include/math.h" 3 4
1115: extern "C" {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libm-simd-decl-stubs.h" 1 3 4
1115: # 28 "/usr/include/arm-linux-gnueabihf/bits/math-vector.h" 2 3 4
1115: # 41 "/usr/include/math.h" 2 3 4
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/floatn.h" 1 3 4
1115: # 44 "/usr/include/math.h" 2 3 4
1115: # 152 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/flt-eval-method.h" 1 3 4
1115: # 153 "/usr/include/math.h" 2 3 4
1115: # 163 "/usr/include/math.h" 3 4
1115: typedef float float_t;
1115: typedef double double_t;
1115: # 204 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-logb.h" 1 3 4
1115: # 205 "/usr/include/math.h" 2 3 4
1115: # 247 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/fp-fast.h" 1 3 4
1115: # 248 "/usr/include/math.h" 2 3 4
1115: 
1115: 
1115: 
1115: enum
1115:   {
1115:     FP_INT_UPWARD =
1115: 
1115:       0,
1115:     FP_INT_DOWNWARD =
1115: 
1115:       1,
1115:     FP_INT_TOWARDZERO =
1115: 
1115:       2,
1115:     FP_INT_TONEARESTFROMZERO =
1115: 
1115:       3,
1115:     FP_INT_TONEAREST =
1115: 
1115:       4,
1115:   };
1115: # 312 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1115: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1115: extern int __fpclassify (double __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __signbit (double __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern int __isinf (double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __finite (double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __isnan (double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __iseqsig (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: extern int __issignaling (double __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: # 313 "/usr/include/math.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1115: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115:  extern double acos (double __x) noexcept (true); extern double __acos (double __x) noexcept (true);
1115: 
1115:  extern double asin (double __x) noexcept (true); extern double __asin (double __x) noexcept (true);
1115: 
1115:  extern double atan (double __x) noexcept (true); extern double __atan (double __x) noexcept (true);
1115: 
1115:  extern double atan2 (double __y, double __x) noexcept (true); extern double __atan2 (double __y, double __x) noexcept (true);
1115: 
1115: 
1115:  extern double cos (double __x) noexcept (true); extern double __cos (double __x) noexcept (true);
1115: 
1115:  extern double sin (double __x) noexcept (true); extern double __sin (double __x) noexcept (true);
1115: 
1115:  extern double tan (double __x) noexcept (true); extern double __tan (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern double cosh (double __x) noexcept (true); extern double __cosh (double __x) noexcept (true);
1115: 
1115:  extern double sinh (double __x) noexcept (true); extern double __sinh (double __x) noexcept (true);
1115: 
1115:  extern double tanh (double __x) noexcept (true); extern double __tanh (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern void sincos (double __x, double *__sinx, double *__cosx) noexcept (true); extern void __sincos (double __x, double *__sinx, double *__cosx) nomt::make_format_args(std::forward<Args>(args)...));
1412: 
1412:             details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size()));
1412:             log_it_(log_msg, log_enabled, traceback_enabled);
1412:         }
1412:         catch (const std::exception &ex) { if (loc.filename) { err_handler_(fmt_lib::format("{} [{}({})]", ex.what(), loc.filename, loc.line)); } else { err_handler_(ex.what()); } } catch (...) { err_handler_("Rethrowing unknown exception in logger"); throw; }
1412:     }
1412: # 430 "/usr/include/spdlog/logger.h" 3 4
1412:     void log_it_(const details::log_msg &log_msg, bool log_enabled, bool traceback_enabled);
1412:     virtual void sink_it_(const details::log_msg &msg);
1412:     virtual void flush_();
1412:     void dump_backtrace_();
1412:     bool should_flush_(const details::log_msg &msg);
1412: 
1412: 
1412: 
1412:     void err_handler_(const std::string &msg);
1412: };
1412: 
1412: void swap(logger &a, logger &b);
1412: 
1412: }
1412: # 15 "/usr/include/spdlog/spdlog.h" 2 3 4
1412: # 1 "/usr/include/spdlog/version.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: # 16 "/usr/include/spdlog/spdlog.h" 2 3 4
1412: # 1 "/usr/include/spdlog/details/synchronous_factory.h" 1 3 4
1412: 
1412: 
1412: 
1412:        
1412: 
1412: 
1412: 
1412: namespace spdlog {
1412: 
1412: 
1412: class logger;
1412: 
1412: struct synchronous_factory
1412: {
1412:     template<typename Sink, typename... SinkArgs>
1412:     static std::shared_ptr<spdlog::logger> create(std::string logger_name, SinkArgs &&... args)
1412:     {
1412:         auto sink = std::make_shared<Sink>(std::forward<SinkArgs>(args)...);
1412:         auto new_logger = std::make_shared<spdlog::logger>(std::move(logger_name), std::move(sink));
1412:         details::registry::instance().initialize_logger(new_logger);
1412:         return new_logger;
1412:     }
1412: };
1412: }
1412: # 17 "/usr/include/spdlog/spdlog.h" 2 3 4
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: namespace spdlog {
1412: 
1412: using default_factory = synchronous_factory;
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: 
1412: template<typename Sink, typename... SinkArgs>
1412: inline std::shared_ptr<spdlog::logger> create(std::string logger_name, SinkArgs &&... sink_args)
1412: {
1412:     return default_factory::create<Sink>(std::move(logger_name), std::forward<SinkArgs>(sink_args)...);
1412: }
1412: # 47 "/usr/include/spdlog/spdlog.h" 3 4
1412: __attribute__((visibility("default"))) void initialize_logger(std::shared_ptr<logger> logger);
1412: 
1412: 
1412: 
1412: 
1412: __attribute__((visibility("default"))) std::shared_ptr<logger> get(const std::string &name);
1412: 
1412: 
1412: __attribute__((visibility("default"))) void set_formatter(std::unique_ptr<spdlog::formatter> formatter);
1412: 
1412: 
1412: 
1412: __attribute__((visibility("default"))) void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
1412: 
1412: 
1412: __attribute__((visibility("default"))) void enable_backtrace(size_t n_messages);
1412: 
1412: 
1412: __attribute__((visibility("default"))) void disable_backtrace();
1412: 
1412: 
1412: __attribute__((visibility("default"))) void dump_backtrace();
1412: 
1412: 
1412: __attribute__((visibility("default"))) level::level_enum get_level();
1412: 
1412: 
1412: __attribute__((visibility("default"))) void set_level(level::level_enum log_level);
1412: 
1412: 
1412: __attribute__((visibility("default"))) bool should_log(level::level_enum lvl);
1412: 
1412: 
1412: __attribute__((visibility("default"))) void flush_on(level::level_enum log_level);
1412: 
1412: 
1412: 
1412: __attribute__((visibility("default"))) void flush_every(std::chrono::seconds interval);
1412: 
1412: 
1412: __attribute__((visibility("default"))) void set_error_handler(void (*handler)(const std::string &msg));
1412: 
1412: 
1412: __attribute__((visibility("default"))) void register_logger(std::shared_ptr<logger> logger);
1412: 
1412: 
1412: 
1412: 
1412: __attribute__((visibility("default"))) void apply_all(const std::function<void(std::shared_ptr<logger>)> &fun);
1412: 
1412: 
1412: __attribute__((visibility("default"))) void drop(const std::string &name);
1412: 
1412: 
1412: __attribute__((visibility("default"))) void drop_all();
1412: 
1412: 
1412: __attribute__((visibility("default"))) void shutdown();
1412: 
1412: 
1412: __attribute__((visibility("default"))) void set_automatic_registration(bool automatic_registration);
1412: # 124 "/usr/include/spdlog/spdlog.h" 3 4
1412: __attribute__((visibility("default"))) std::shared_ptr<spdlog::logger> default_logger();
1412: 
1412: __attribute__((visibility("default"))) spdlog::logger *default_logger_raw();
1412: 
1412: __attribute__((visibility("default"))) void set_default_logger(std::shared_ptr<spdlog::logger> default_logger);
1412: 
1412: template<typename... Args>
1412: inline void log(source_loc source, level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->log(source, lvl, fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename... Args>
1412: inline void log(level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename... Args>
1412: inline void trace(format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->trace(fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename... Args>
1412: inline void debug(format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->debug(fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename... Args>
1412: inline void info(format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->info(fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename... Args>
1412: inline void warn(format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->warn(fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename... Args>
1412: inline void error(format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->error(fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename... Args>
1412: inline void critical(format_string_t<Args...> fmt, Args &&... args)
1412: {
1412:     default_logger_raw()->critical(fmt, std::forward<Args>(args)...);
1412: }
1412: 
1412: template<typename T>
1412: inline void log(source_loc source, level::level_enum lvl, const T &msg)
1412: {
1412:     default_logger_raw()->log(source, lvl, msg);
1412: }
1412: 
1412: template<typename T>
1412: inline void log(level::level_enum lvl, const T &msg)
1412: {
1412:     default_logger_raw()->log(lvl, msg);
1412: }
1412: # 240 "/usr/include/spdlog/spdlog.h" 3 4
1412: template<typename T>
1412: inline void trace(const T &msg)
1412: {
1412:     default_logger_raw()->trace(msg);
1412: }
1412: 
1412: template<typename T>
1412: inline void debug(const T &msg)
1412: {
1412:     default_logger_raw()->debug(msg);
1412: }
1412: 
1412: template<typename T>
1412: inline void info(const T &msg)
1412: {
1412:     default_logger_raw()->info(msg);
1412: }
1412: 
1412: template<typename T>
1412: inline void warn(const T &msg)
1412: {
1412:     default_logger_raw()->warn(msg);
1412: }
1412: 
1412: template<typename T>
1412: inline void error(const T &msg)
1412: {
1412:     default_logger_raw()->error(msg);
1412: }
1412: 
1412: template<typename T>
1412: inline void critical(const T &msg)
1412: {
1412:     default_logger_raw()->critical(msg);
1412: }
1412: 
1412: }
1412: # 37 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1412: 
1412: 
1412: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1412: namespace spdlog
1412: {
1412: namespace sinks
1412: {
1412: class sink;
1412: 
1412: template<typename Mutex>
1412: class dist_sink;
1412: }
1412: }
1412: 
1412: class CLog : public ISettingsHandler, public ISettingCallback
1412: {
1412: public:
1412:   CLog();
1412:   ~CLog();
1412: 
1412: 
1412:   voidexcept (true)
1115:                                                         ;
1115: 
1115: 
1115: 
1115: 
1115:  extern double acosh (double __x) noexcept (true); extern double __acosh (double __x) noexcept (true);
1115: 
1115:  extern double asinh (double __x) noexcept (true); extern double __asinh (double __x) noexcept (true);
1115: 
1115:  extern double atanh (double __x) noexcept (true); extern double __atanh (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern double exp (double __x) noexcept (true); extern double __exp (double __x) noexcept (true);
1115: 
1115: 
1115: extern double frexp (double __x, int *__exponent) noexcept (true); extern double __frexp (double __x, int *__exponent) noexcept (true);
1115: 
1115: 
1115: extern double ldexp (double __x, int __exponent) noexcept (true); extern double __ldexp (double __x, int __exponent) noexcept (true);
1115: 
1115: 
1115:  extern double log (double __x) noexcept (true); extern double __log (double __x) noexcept (true);
1115: 
1115: 
1115:  extern double log10 (double __x) noexcept (true); extern double __log10 (double __x) noexcept (true);
1115: 
1115: 
1115: extern double modf (double __x, double *__iptr) noexcept (true); extern double __modf (double __x, double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115:  extern double exp10 (double __x) noexcept (true); extern double __exp10 (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern double expm1 (double __x) noexcept (true); extern double __expm1 (double __x) noexcept (true);
1115: 
1115: 
1115:  extern double log1p (double __x) noexcept (true); extern double __log1p (double __x) noexcept (true);
1115: 
1115: 
1115: extern double logb (double __x) noexcept (true); extern double __logb (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern double exp2 (double __x) noexcept (true); extern double __exp2 (double __x) noexcept (true);
1115: 
1115: 
1115:  extern double log2 (double __x) noexcept (true); extern double __log2 (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern double pow (double __x, double __y) noexcept (true); extern double __pow (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: extern double sqrt (double __x) noexcept (true); extern double __sqrt (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern double hypot (double __x, double __y) noexcept (true); extern double __hypot (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern double cbrt (double __x) noexcept (true); extern double __cbrt (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double ceil (double __x) noexcept (true) __attribute__ ((__const__)); extern double __ceil (double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fabs (double __x) noexcept (true) __attribute__ ((__const__)); extern double __fabs (double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double floor (double __x) noexcept (true) __attribute__ ((__const__)); extern double __floor (double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fmod (double __x, double __y) noexcept (true); extern double __fmod (double __x, double __y) noexcept (true);
1115: # 183 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern int finite (double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern double drem (double __x, double __y) noexcept (true); extern double __drem (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern double significand (double __x) noexcept (true); extern double __significand (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern double nan (const char *__tagb) noexcept (true); extern double __nan (const char *__tagb) noexcept (true);
1115: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern double j0 (double) noexcept (true); extern double __j0 (double) noexcept (true);
1115: extern double j1 (double) noexcept (true); extern double __j1 (double) noexcept (true);
1115: extern double jn (int, double) noexcept (true); extern double __jn (int, double) noexcept (true);
1115: extern double y0 (double) noexcept (true); extern double __y0 (double) noexcept (true);
1115: extern double y1 (double) noexcept (true); extern double __y1 (double) noexcept (true);
1115: extern double yn (int, double) noexcept (true); extern double __yn (int, double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern double erf (double) noexcept (true); extern double __erf (double) noexcept (true);
1115:  extern double erfc (double) noexcept (true); extern double __erfc (double) noexcept (true);
1115: extern double lgamma (double) noexcept (true); extern double __lgamma (double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern double tgamma (double) noexcept (true); extern double __tgamma (double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double gamma (double) noexcept (true); extern double __gamma (double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double lgamma_r (double, int *__signgamp) noexcept (true); extern double __lgamma_r (double, int *__signgamp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double rint (double __x) noexcept (true); extern double __rint (double __x) noexcept (true);
1115: 
1115: 
1115: extern double nextafter (double __x, double __y) noexcept (true); extern double __nextafter (double __x, double __y) noexcept (true);
1115: 
1115: extern double nexttoward (double __x, long double __y) noexcept (true); extern double __nexttoward (double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern double nextdown (double __x) noexcept (true); extern double __nextdown (double __x) noexcept (true);
1115: 
1115: extern double nextup (double __x) noexcept (true); extern double __nextup (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern double remainder (double __x, double __y) noexcept (true); extern double __remainder (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern double scalbn (double __x, int __n) noexcept (true); extern double __scalbn (double __x, int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ilogb (double __x) noexcept (true); extern int __ilogb (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long int llogb (double __x) noexcept (true); extern long int __llogb (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern double scalbln (double __x, long int __n) noexcept (true); extern double __scalbln (double __x, long int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern double nearbyint (double __x) noexcept (true); extern double __nearbyint (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern double round (double __x) noexcept (true) __attribute__ ((__const__)); extern double __round (double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern double trunc (double __x) noexcept (true) __attribute__ ((__const__)); extern double __trunc (double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern double remquo (double __x, double __y, int *__quo) noexcept (true); extern double __remquo (double __x, double __y, int *__quo) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int lrint (double __x) noexcept (true); extern long int __lrint (double __x) noexcept (true);
1115: __extension__
1115: extern long long int llrint (double __x) noexcept (true); extern long long int __llrint (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long int lround (double __x) noexcept (true); extern long int _ OnSettingsLoaded() override;
1412: 
1412: 
1412:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1412: 
1412:   void Initialize(const std::string& path);
1412:   void UnregisterFromSettings();
1412:   void Deinitialize();
1412: 
1412:   void SetLogLevel(int level);
1412:   int GetLogLevel() { return m_logLevel; }
1412:   bool IsLogLevelLogged(int loglevel);
1412: 
1412:   bool CanLogComponent(uint32_t component) const;
1412:   static void SettingOptionsLoggingComponentsFiller(const std::shared_ptr<const CSetting>& setting,
1412:                                                     std::vector<IntegerSettingOption>& list,
1412:                                                     int& current,
1412:                                                     void* data);
1412: 
1412:   Logger GetLogger(const std::string& loggerName);
1412: 
1412:   template<typename... Args>
1412:   static inline void Log(int level, const std::string_view& format, Args&&... args)
1412:   {
1412:     Log(MapLogLevel(level), format, std::forward<Args>(args)...);
1412:   }
1412: 
1412:   template<typename... Args>
1412:   static inline void Log(int level,
1412:                          uint32_t component,
1412:                          const std::string_view& format,
1412:                          Args&&... args)
1412:   {
1412:     if (!GetInstance().CanLogComponent(component))
1412:       return;
1412: 
1412:     Log(level, format, std::forward<Args>(args)...);
1412:   }
1412: 
1412:   template<typename... Args>
1412:   static inline void Log(spdlog::level::level_enum level,
1412:                          const std::string_view& format,
1412:                          Args&&... args)
1412:   {
1412:     GetInstance().FormatAndLogInternal(level, format, std::forward<Args>(args)...);
1412:   }
1412: 
1412:   template<typename... Args>
1412:   static inline void Log(spdlog::level::level_enum level,
1412:                          uint32_t component,
1412:                          const std::string_view& format,
1412:                          Args&&... args)
1412:   {
1412:     if (!GetInstance().CanLogComponent(component))
1412:       return;
1412: 
1412:     Log(level, format, std::forward<Args>(args)...);
1412:   }
1412: 
1412: 
1412: 
1412: 
1412: 
1412: private:
1412:   static CLog& GetInstance();
1412: 
1412:   static spdlog::level::level_enum MapLogLevel(int level);
1412: 
1412:   template<typename... Args>
1412:   inline void FormatAndLogInternal(spdlog::level::level_enum level,
1412:                                    const std::string_view& format,
1412:                                    Args&&... args)
1412:   {
1412:     auto message = fmt::format(format, std::forward<Args>(args)...);
1412: 
1412: 
1412:     FormatLineBreaks(message);
1412: 
1412:     m_defaultLogger->log(level, message);
1412:   }
1412: 
1412:   Logger CreateLogger(const std::string& loggerName);
1412: 
1412:   void SetComponentLogLevel(const std::vector<CVariant>& components);
1412: 
1412:   void FormatLineBreaks(std::string& message);
1412: 
1412:   std::unique_ptr<IPlatformLog> m_platform;
1412:   std::shared_ptr<spdlog::sinks::dist_sink<std::mutex>> m_sinks;
1412:   Logger m_defaultLogger;
1412: 
1412:   std::shared_ptr<spdlog::sinks::sink> m_fileSink;
1412: 
1412:   int m_logLevel;
1412: 
1412:   bool m_componentLogEnabled;
1412:   uint32_t m_componentLogLevels;
1412: };
1412: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 2
1412: 
1412: # 1 "/usr/include/c++/12/cstring" 1 3
1412: # 39 "/usr/include/c++/12/cstring" 3
1412:        
1412: # 40 "/usr/include/c++/12/cstring" 3
1412: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 2
1412: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412: CViewStateSettings::CViewStateSettings()
1412: {
1412:   AddViewState("musicnavartists");
1412:   AddViewState("musicnavalbums");
1412:   AddViewState("musicnavsongs", (VIEW_TYPE_LIST << 16), SortByTrackNumber);
1412:   AddViewState("musiclastfm");
1412:   AddViewState("videonavactors");
1412:   AddViewState("videonavyears");
1412:   AddViewState("videonavgenres");
1412:   AddViewState("videonavtitles");
1412:   AddViewState("videonavepisodes", (VIEW_TYPE_AUTO << 16), SortByEpisodeNumber);
1412:   AddViewState("videonavtvshows");
1412:   AddViewState("videonavseasons");
1412:   AddViewState("videonavmusicvideos");
1412: 
1412:   AddViewState("programs", (VIEW_TYPE_AUTO << 16));
1412:   AddViewState("pictures", (VIEW_TYPE_AUTO << 16));
1412:   AddViewState("videofiles", (VIEW_TYPE_AUTO << 16));
1412:   AddViewState("musicfiles", (VIEW_TYPE_AUTO << 16));
1412:   AddViewState("games", (VIEW_TYPE_AUTO << 16));
1412: 
1412:   Clear();
1412: }
1412: 
1412: CViewStateSettings::~CViewStateSettings()
1412: {
1412:   for (std::map<std::string, CViewState*>::const_iterator viewState = m_viewStates.begin(); viewState != m_viewStates.end(); ++viewState)
1412:     delete viewState->second;
1412:   m_viewStates.clear();
1412: }
1412: 
1412: CViewStateSettings& CViewStateSettings::GetInstance()
1412: {
1412:   static CViewStateSettings sViewStateSettings;
1412:   return sViewStateSettings;
1412: }
1412: 
1412: bool CViewStateSettings::Load(const TiXmlNode *settings)
1412: {
1412:   if (settings == 
1412: # 70 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                  __null
1412: # 70 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                      )
1412:     return false;
1412: 
1412:   std::unique_lock<CCriticalSection> lock(m_critical);
1412:   const TiXmlNode *pElement = settings->FirstChildElement("viewstates");
1412:   if (pElement == 
1412: # 75 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                  __null
1412: # 75 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                      )
1412:   {
1412:     CLog::Log(2, "CViewStateSettings: no <viewstates> tag found");
1412:     return false;
1412:   }
1412: 
1412:   for (std::map<std::string, CViewState*>::iterator viewState = m_viewStates.begin(); viewState != m_viewStates.end(); ++viewState)
1412:   {
1412:     const TiXmlNode* pViewState = pElement->FirstChildElement(viewState->first);
1412:     if (pViewState == 
1412: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                      __null
1412: # 84 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                          )
1412:       continue;
1412: 
1412:     XMLUtils::GetInt(pViewState, "viewmode", viewState->second->m_viewMode, (VIEW_TYPE_LIST << 16), (((VIEW_TYPE_MAX - 1) << 16) | 60));
1412: 
1412: 
1412:     if (pViewState->FirstChild("sortattributes") == 
1412: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                                                      __null
1412: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                                                          )
1412:     {
1412:       int sortMethod;
1412:       if (XMLUtils::GetInt(pViewState, "sortmethod", sortMethod, SORT_METHOD_NONE, SORT_METHOD_MAX))
1412:         viewState->second->m_sortDescription = SortUtils::TranslateOldSortMethod((SORT_METHOD)sortMethod);
1412:     }
1412:     else
1412:     {
1412:       int sortMethod;
1412:       if (XMLUtils::GetInt(pViewState, "sortmethod", sortMethod, SortByNone, SortByLastUsed))
1412:         viewState->second->m_sortDescription.sortBy = (SortBy)sortMethod;
1412:       if (XMLUtils::GetInt(pViewState, "sortattributes", sortMethod, SortAttributeNone, SortAttributeIgnoreFolders))
1412:         viewState->second->m_sortDescription.sortAttributes = (SortAttribute)sortMethod;
1412:     }
1412: 
1412:     int sortOrder;
1412:     if (XMLUtils::GetInt(pViewState, "sortorder", sortOrder, SortOrderNone, SortOrderDescending))
1412:       viewState->second->m_sortDescription.sortOrder = (SortOrder)sortOrder;
1412:   }
1412: 
1412:   pElement = settings->FirstChild("general");
1412:   if (pElement != 
1412: # 111 "/build/kodi_lround (double __x) noexcept (true);
1115: __extension__
1115: extern long long int llround (double __x) noexcept (true); extern long long int __llround (double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern double fdim (double __x, double __y) noexcept (true); extern double __fdim (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern double fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern double fma (double __x, double __y, double __z) noexcept (true); extern double __fma (double __x, double __y, double __z) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern double roundeven (double __x) noexcept (true) __attribute__ ((__const__)); extern double __roundeven (double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) noexcept (true)
1115:                             ;
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) noexcept (true)
1115:                               ;
1115: 
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1115:                              ;
1115: 
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) noexcept (true)
1115:                                ;
1115: 
1115: 
1115: extern int canonicalize (double *__cx, const double *__x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern double fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern double fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int totalorder (const double *__x, const double *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern int totalordermag (const double *__x, const double *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern double getpayload (const double *__x) noexcept (true); extern double __getpayload (const double *__x) noexcept (true);
1115: 
1115: 
1115: extern int setpayload (double *__x, double __payload) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadsig (double *__x, double __payload) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern double scalb (double __x, double __n) noexcept (true); extern double __scalb (double __x, double __n) noexcept (true);
1115: # 314 "/usr/include/math.h" 2 3 4
1115: # 329 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1115: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1115: extern int __fpclassifyf (float __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __signbitf (float __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern int __isinff (float __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __finitef (float __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __isnanf (float __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __iseqsigf (float __x, float __y) noexcept (true);
1115: 
1115: 
1115: extern int __issignalingf (float __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: # 330 "/usr/include/math.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1115: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115:  extern float acosf (float __x) noexcept (true); extern float __acosf (float __x) noexcept (true);
1115: 
1115:  extern float asinf (float __x) noexcept (true); extern float __asinf (float __x) noexcept (true);
1115: 
1115:  extern float atanf (float __x) noexcept (true); extern float __atanf (float __x) noexcept (true);
1115: 
1115:  extern float atan2f (float __y, float __x) noexcept (true); extern float __atan2f (float __y, float __x) noexcept (true);
1115: 
1115: 
1115:  extern float cosf (float __x) noexcept (true); extern float __cosf (float __x) noexcept (true);
1115: 
1115:  extern float sinf (float __x) noexcept (true); extern float __sinf (float __x) noexcept (true);
1115: 
1115:  extern float tanf (float __x) noexcept (true); extern float __tanf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern float coshf (float __x) noexcept (true); extern float __coshf (float __x) noexcept (true);
1115: 
1115:  extern float sinhf (float __x) noexcept (true); extern float __sinhf (float __x) noexcept (true);
1115: 
1115:  extern float tanhf (float __x) noexcept (true); extern float __tanhf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern void sincosf (float __x, float *__sinx, float *__cosx) noexcept (true); extern void __sincosf (float __x, float *__sinx, float *__cosx) noexcept (true)
1115:                                                         ;
1115: 
1115: 
1115: 
1115: 
1115:  extern float acoshf (float __x) noexcept (true); extern float __acoshf (float __x) noexcept (true);
1115: 
1115:  extern float asinhf (float __x) noexcept (true); extern float __asinhf (float __x) noexcept (true);
1115: 
1115:  extern float atanhf (float __x) noexcept (true); extern float __atanhf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
11-HAo4KK/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                  __null
1412: # 111 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                      )
1412:   {
1412:     int settingLevel;
1412:     if (XMLUtils::GetInt(pElement, "settinglevel", settingLevel, static_cast<int>(SettingLevel::Basic), static_cast<int>(SettingLevel::Expert)))
1412:       m_settingLevel = (SettingLevel)settingLevel;
1412:     else
1412:       m_settingLevel = SettingLevel::Standard;
1412: 
1412:     const TiXmlNode* pEventLogNode = pElement->FirstChild("eventlog");
1412:     if (pEventLogNode != 
1412: # 120 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                         __null
1412: # 120 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                             )
1412:     {
1412:       int eventLevel;
1412:       if (XMLUtils::GetInt(pEventLogNode, "level", eventLevel, static_cast<int>(EventLevel::Basic), static_cast<int>(EventLevel::Error)))
1412:         m_eventLevel = (EventLevel)eventLevel;
1412:       else
1412:         m_eventLevel = EventLevel::Basic;
1412: 
1412:       if (!XMLUtils::GetBoolean(pEventLogNode, "showhigherlevels", m_eventShowHigherLevels))
1412:         m_eventShowHigherLevels = true;
1412:     }
1412:   }
1412: 
1412:   return true;
1412: }
1412: 
1412: bool CViewStateSettings::Save(TiXmlNode *settings) const
1412: {
1412:   if (settings == 
1412: # 138 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                  __null
1412: # 138 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                      )
1412:     return false;
1412: 
1412:   std::unique_lock<CCriticalSection> lock(m_critical);
1412: 
1412:   TiXmlElement xmlViewStateElement("viewstates");
1412:   TiXmlNode *pViewStateNode = settings->InsertEndChild(xmlViewStateElement);
1412:   if (pViewStateNode == 
1412: # 145 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                        __null
1412: # 145 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                            )
1412:   {
1412:     CLog::Log(2, "CViewStateSettings: could not create <viewstates> tag");
1412:     return false;
1412:   }
1412: 
1412:   for (std::map<std::string, CViewState*>::const_iterator viewState = m_viewStates.begin(); viewState != m_viewStates.end(); ++viewState)
1412:   {
1412:     TiXmlElement newElement(viewState->first);
1412:     TiXmlNode *pNewNode = pViewStateNode->InsertEndChild(newElement);
1412:     if (pNewNode == 
1412: # 155 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                    __null
1412: # 155 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                        )
1412:       continue;
1412: 
1412:     XMLUtils::SetInt(pNewNode, "viewmode", viewState->second->m_viewMode);
1412:     XMLUtils::SetInt(pNewNode, "sortmethod", (int)viewState->second->m_sortDescription.sortBy);
1412:     XMLUtils::SetInt(pNewNode, "sortorder", (int)viewState->second->m_sortDescription.sortOrder);
1412:     XMLUtils::SetInt(pNewNode, "sortattributes", (int)viewState->second->m_sortDescription.sortAttributes);
1412:   }
1412: 
1412:   TiXmlNode *generalNode = settings->FirstChild("general");
1412:   if (generalNode == 
1412: # 165 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                     __null
1412: # 165 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                         )
1412:   {
1412:     TiXmlElement generalElement("general");
1412:     generalNode = settings->InsertEndChild(generalElement);
1412:     if (generalNode == 
1412: # 169 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                       __null
1412: # 169 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                           )
1412:       return false;
1412:   }
1412: 
1412:   XMLUtils::SetInt(generalNode, "settinglevel", (int)m_settingLevel);
1412: 
1412:   TiXmlNode *eventLogNode = generalNode->FirstChild("eventlog");
1412:   if (eventLogNode == 
1412: # 176 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                      __null
1412: # 176 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                          )
1412:   {
1412:     TiXmlElement eventLogElement("eventlog");
1412:     eventLogNode = generalNode->InsertEndChild(eventLogElement);
1412:     if (eventLogNode == 
1412: # 180 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:                        __null
1412: # 180 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                            )
1412:       return false;
1412:   }
1412: 
1412:   XMLUtils::SetInt(eventLogNode, "level", (int)m_eventLevel);
1412:   XMLUtils::SetBoolean(eventLogNode, "showhigherlevels", (int)m_eventShowHigherLevels);
1412: 
1412:   return true;
1412: }
1412: 
1412: void CViewStateSettings::Clear()
1412: {
1412:   m_settingLevel = SettingLevel::Standard;
1412: }
1412: 
1412: const CViewState* CViewStateSettings::Get(const std::string &viewState) const
1412: {
1412:   std::unique_lock<CCriticalSection> lock(m_critical);
1412:   std::map<std::string, CViewState*>::const_iterator view = m_viewStates.find(viewState);
1412:   if (view != m_viewStates.end())
1412:     return view->second;
1412: 
1412:   return 
1412: # 202 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:         __null
1412: # 202 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:             ;
1412: }
1412: 
1412: CViewState* CViewStateSettings::Get(const std::string &viewState)
1412: {
1412:   std::unique_lock<CCriticalSection> lock(m_critical);
1412:   std::map<std::string, CViewState*>::iterator view = m_viewStates.find(viewState);
1412:   if (view != m_viewStates.end())
1412:     return view->second;
1412: 
1412:   return 
1412: # 212 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp" 3 4
1412:         __null
1412: # 212 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:             ;
1412: }
1412: 
1412: void CViewStateSettings::SetSettingLevel(SettingLevel settingLevel)
1412: {
1412:   if (settingLevel < SettingLevel::Basic)
1412:     m_settingLevel = SettingLevel::Basic;
1412:   if (settingLevel > SettingLevel::Expert)
1412:     m_settingLevel = SettingLevel::Expert;
1412:   else
1412:     m_settingLevel = settingLevel;
1412: }
1412: 
1412: void CViewStateSettings::CycleSettingLevel()
1412: {
1412:   m_settingLevel = GetNextSettingLevel();
1412: }
1412: 
1412: SettingLevel CViewStateSettings::GetNextSettingLevel() const
1412: {
1412:   SettingLevel level = (SettingLevel)((int)m_settingLevel + 1);
1412:   if (level > SettingLevel::Expert)
1412:     level = SettingLevel::Basic;
1412:   return level;
1412: }
1412: 
1412: void CViewStateSettings::SetEventLevel(EventLevel eventLevel)
1412: {
1412:   if (eventLevel < EventLevel::Basic)
1412:     m_eventLevel = EventLevel::Basic;
1412:   if (eventLevel > EventLevel::Error)
1412:     m_eventLevel = EventLevel::Error;
1412:   else
1412:     m_eventLevel = eventLevel;
1412: }
1412: 
1412: void CViewStateSettings::CycleEventLevel()
1412: {
1412:   m_eventLevel = GetNextEventLevel();
1412: }
1412: 
1412: EventLevel CViewStateSettings::GetNextEventLevel() const
1412: {
1412:   EventLevel level = (EventLevel)((int)m_eventLevel + 1);
1412:   if (level > EventLevel::Error)
1412:     level = EventLevel::Basic;
1412:   return level;
1412: }
1412: 
1412: void CViewStateSettings::AddViewState(const std::string& strTagName, int defaultView , SortBy defaultSort )
1412: {
1412:   if (strTagName.empty() || m_viewStates.find(strTagName) != m_viewStates.end())
1412:     return;
1412: 
1412:   CViewState *viewState = new CViewState(defaultView, defaultSort, SortOrderAscending);
1412:   if (viewState == 
1412: # 267 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSe15: 
1115:  extern float expf (float __x) noexcept (true); extern float __expf (float __x) noexcept (true);
1115: 
1115: 
1115: extern float frexpf (float __x, int *__exponent) noexcept (true); extern float __frexpf (float __x, int *__exponent) noexcept (true);
1115: 
1115: 
1115: extern float ldexpf (float __x, int __exponent) noexcept (true); extern float __ldexpf (float __x, int __exponent) noexcept (true);
1115: 
1115: 
1115:  extern float logf (float __x) noexcept (true); extern float __logf (float __x) noexcept (true);
1115: 
1115: 
1115:  extern float log10f (float __x) noexcept (true); extern float __log10f (float __x) noexcept (true);
1115: 
1115: 
1115: extern float modff (float __x, float *__iptr) noexcept (true); extern float __modff (float __x, float *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115:  extern float exp10f (float __x) noexcept (true); extern float __exp10f (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern float expm1f (float __x) noexcept (true); extern float __expm1f (float __x) noexcept (true);
1115: 
1115: 
1115:  extern float log1pf (float __x) noexcept (true); extern float __log1pf (float __x) noexcept (true);
1115: 
1115: 
1115: extern float logbf (float __x) noexcept (true); extern float __logbf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern float exp2f (float __x) noexcept (true); extern float __exp2f (float __x) noexcept (true);
1115: 
1115: 
1115:  extern float log2f (float __x) noexcept (true); extern float __log2f (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern float powf (float __x, float __y) noexcept (true); extern float __powf (float __x, float __y) noexcept (true);
1115: 
1115: 
1115: extern float sqrtf (float __x) noexcept (true); extern float __sqrtf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern float hypotf (float __x, float __y) noexcept (true); extern float __hypotf (float __x, float __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern float cbrtf (float __x) noexcept (true); extern float __cbrtf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float ceilf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __ceilf (float __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fabsf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __fabsf (float __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float floorf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __floorf (float __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fmodf (float __x, float __y) noexcept (true); extern float __fmodf (float __x, float __y) noexcept (true);
1115: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern int isinff (float __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int finitef (float __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern float dremf (float __x, float __y) noexcept (true); extern float __dremf (float __x, float __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern float significandf (float __x) noexcept (true); extern float __significandf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern float nanf (const char *__tagb) noexcept (true); extern float __nanf (const char *__tagb) noexcept (true);
1115: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern int isnanf (float __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float j0f (float) noexcept (true); extern float __j0f (float) noexcept (true);
1115: extern float j1f (float) noexcept (true); extern float __j1f (float) noexcept (true);
1115: extern float jnf (int, float) noexcept (true); extern float __jnf (int, float) noexcept (true);
1115: extern float y0f (float) noexcept (true); extern float __y0f (float) noexcept (true);
1115: extern float y1f (float) noexcept (true); extern float __y1f (float) noexcept (true);
1115: extern float ynf (int, float) noexcept (true); extern float __ynf (int, float) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern float erff (float) noexcept (true); extern float __erff (float) noexcept (true);
1115:  extern float erfcf (float) noexcept (true); extern float __erfcf (float) noexcept (true);
1115: extern float lgammaf (float) noexcept (true); extern float __lgammaf (float) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern float tgammaf (float) noexcept (true); extern float __tgammaf (float) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float gammaf (float) noexcept (true); extern float __gammaf (float) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float lgammaf_r (float, int *__signgamp) noexcept (true); extern float __lgammaf_r (float, int *__signgamp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float rintf (float __x) noexcept (true); extern float __rintf (float __x) noexcept (true);
1115: 
1115: 
1115: extern float nextafterf (float __x, float __y) noexcept (true); extern float __nextafterf (float __x, float __y) noexcept (true);
1115: 
1115: extern float nexttowardf (float __x, long double __y) noexcept (true); extern float __nexttowardf (float __x, long double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern float nextdownf (float __x) noexcept (true); extern float __nextdownf (float __x) noexcept (true);
1115: 
1115: extern float nextupf (float __x) noexcept (true); extern float __nextupf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern float remainderf (float __x, float __y) noexcept (true); extern float __remainderf (float __x, float __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern float scalbnf (float __x, int __n) noexcept (true); extern float __scalbnf (float __x, int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ilogbf (float __x) noexcept (true); extern int __ilogbf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long int llogbf (float __x) noexcept (true); extern long int __llogbf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern float scalblnf (float __x, long int __n) noexcept (true); extern float __scalblnf (float __x, long int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern float nearbyintf (float __x) noexcept (true); extern float __nearbyintf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern float roundf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundf (float __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern float truncf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __truncf (float __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern float remquof (float __x, float __y, int *__quo) noexcept (true); extern float __remquof (float __x, float __y, int *__quo) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int lrintf (float __x) noexcept (true); extern long int __lrintf (float __x) noexcept (true);
1115: __extension__
1115: extern long long int llrintf (float __x) noexcept (true); extern long long int __llrintf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long int lroundf (float __x) noexcept (true); extern long int __lroundf (float __x) noexcept (true);
1115: __extension__
1115: extern long long int llroundf (float __x) noexcept (true); extern long long int __llroundf (float __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern float fdimf (float __x, float __y) noexcept (true); extern float __fdimf (float __x, float __y) noexcept (true);
1115: 
11ttings.cpp" 3 4
1412:                   __null
1412: # 267 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/view/ViewStateSettings.cpp"
1412:                       )
1412:     return;
1412: 
1412:   m_viewStates.insert(make_pair(strTagName, viewState));
1412: }
15: 
1115: 
1115: extern float fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern float fmaf (float __x, float __y, float __z) noexcept (true); extern float __fmaf (float __x, float __y, float __z) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern float roundevenf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundevenf (float __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1115:                             ;
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) noexcept (true)
1115:                               ;
1115: 
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1115:                              ;
1115: 
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true)
1115:                                ;
1115: 
1115: 
1115: extern int canonicalizef (float *__cx, const float *__x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern float fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern float fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int totalorderf (const float *__x, const float *__y) noe=== END GCC DUMP ===
xcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern int totalordermagf (const float *__x, const float *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern float getpayloadf (const float *__x) noexcept (true); extern float __getpayloadf (const float *__x) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadf (float *__x, float __payload) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadsigf (float *__x, float __payload) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern float scalbf (float __x, float __n) noexcept (true); extern float __scalbf (float __x, float __n) noexcept (true);
1115: # 331 "/usr/include/math.h" 2 3 4
1115: # 398 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 1 3 4
1115: # 20 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-helper-functions.h" 3 4
1115: extern int __fpclassifyl (long double __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __signbitl (long double __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern int __isinfl (long double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __finitel (long double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __isnanl (long double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern int __iseqsigl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern int __issignalingl (long double __value) noexcept (true)
1115:      __attribute__ ((__const__));
1115: # 399 "/usr/include/math.h" 2 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1115: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115:  extern long double acosl (long double __x) noexcept (true); extern long double __acosl (long double __x) noexcept (true);
1115: 
1115:  extern long double asinl (long double __x) noexcept (true); extern long double __asinl (long double __x) noexcept (true);
1115: 
1115:  extern long double atanl (long double __x) noexcept (true); extern long double __atanl (long double __x) noexcept (true);
1115: 
1115:  extern long double atan2l (long double __y, long double __x) noexcept (true); extern long double __atan2l (long double __y, long double __x) noexcept (true);
1115: 
1115: 
1115:  extern long double cosl (long double __x) noexcept (true); extern long double __cosl (long double __x) noexcept (true);
1115: 
1115:  extern long double sinl (long double __x) noexcept (true); extern long double __sinl (long double __x) noexcept (true);
1115: 
1115:  extern long double tanl (long double __x) noexcept (true); extern long double __tanl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern long double coshl (long double __x) noexcept (true); extern long double __coshl (long double __x) noexcept (true);
1115: 
1115:  extern long double sinhl (long double __x) noexcept (true); extern long double __sinhl (long double __x) noexcept (true);
1115: 
1115:  extern long double tanhl (long double __x) noexcept (true); extern long double __tanhl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern void sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true)
1115:                                                         ;
1115: 
1115: 
1115: 
1115: 
1115:  extern long double acoshl (long double __x) noexcept (true); extern long double __acoshl (long double __x) noexcept (true);
1115: 
1115:  extern long double asinhl (long double __x) noexcept (true); extern long double __asinhl (long double __x) noexcept (true);
1115: 
1115:  extern long double atanhl (long double __x) noexcept (true); extern long double __atanhl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:make[4]: *** [build/view/CMakeFiles/view.dir/build.make:121: build/view/CMakeFiles/view.dir/ViewStateSettings.cpp.o] Error 1
 
1115:  extern long double expl (long double __x) noexcept (true); extern long double __expl (long double __x) noexcept (true);
1115: 
1115: 
1115: extern long double frexpl (long double __x, int *__exponent) noexcept (true); extern long double __frexpl (long double __x, int *__exponent) noexcept (true);
1115: 
1115: 
1115: extern long double ldexpl (long double __x, int __exponent) noexcept (true); extern long double __ldexpl (long double __x, int __exponent) noexcept (true);
1115: 
1115: 
1115:  extern long double logl (long double __x) noexcept (true); extern long double __logl (long double __x) noexcept (true);
1115: 
1115: 
1115:  extern long double log10l (long double __x) noexcept (true); extern long double __log10l (long double __x) noexcept (true);
1115: 
1115: 
1115: extern long double modfl (long double __x, long double *__iptr) noexcept (true); extern long double __modfl (long double __x, long double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115:  extern long double exp10l (long double __x) noexcept (true); extern long double __exp10l (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern long double expm1l (long double __x) noexcept (true); extern long double __expm1l (long double __x) noexcept (true);
1115: 
1115: 
1115:  extern long double log1pl (long double __x) noexcept (true); extern long double __log1pl (long double __x) noexcept (true);
1115: 
1115: 
1115: extern long double logbl (long double __x) noexcept (true); extern long double __logbl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern long double exp2l (long double __x) noexcept (true); extern long double __exp2l (long double __x) noexcept (true);
1115: 
1115: 
1115:  extern long double log2l (long double __x) noexcept (true); extern long double __log2l (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern long double powl (long double __x, long double __y) noexcept (true); extern long double __powl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern long double sqrtl (long double __x) noexcept (true); extern long double __sqrtl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern long double hypotl (long double __x, long double __y) noexcept (true); extern long double __hypotl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern long double cbrtl (long double __x) noexcept (true); extern long double __cbrtl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double ceill (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __ceill (long double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fabsl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __fabsl (long double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double floorl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __floorl (long double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fmodl (long double __x, long double __y) noexcept (true); extern long double __fmodl (long double __x, long double __y) noexcept (true);
1115: # 177 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern int isinfl (long double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int finitel (long double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double dreml (long double __x, long double __y) noexcept (true); extern long double __dreml (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long double significandl (long double __x) noexcept (true); extern long double __significandl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern long double nanl (const char *__tagb) noexcept (true); extern long double __nanl (const char *__tagb) noexcept (true);
1115: # 213 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern int isnanl (long double __value) noexcept (true)
1115:   __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double j0l (long double) noexcept (true); extern long double __j0l (long double) noexcept (true);
1115: extern long double j1l (long double) noexcept (true); extern long double __j1l (long double) noexcept (true);
1115: extern long double jnl (int, long double) noexcept (true); extern long double __jnl (int, long double) noexcept (true);
1115: extern long double y0l (long double) noexcept (true); extern long double __y0l (long double) noexcept (true);
1115: extern long double y1l (long double) noexcept (true); extern long double __y1l (long double) noexcept (true);
1115: extern long double ynl (int, long double) noexcept (true); extern long double __ynl (int, long double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern long double erfl (long double) noexcept (true); extern long double __erfl (long double) noexcept (true);
1115:  extern long double erfcl (long double) noexcept (true); extern long double __erfcl (long double) noexcept (true);
1115: extern long double lgammal (long double) noexcept (true); extern long double __lgammal (long double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long double tgammal (long double) noexcept (true); extern long double __tgammal (long double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double gammal (long double) noexcept (true); extern long double __gammal (long double) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double lgammal_r (long double, int *__signgamp) noexcept (true); extern long double __lgammal_r (long double, int *__signgamp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double rintl (long double __x) noexcept (true); extern long double __rintl (long double __x) noexcept (true);
1115: 
1115: 
1115: extern long double nextafterl (long double __x, long double __y) noexcept (true); extern long double __nextafterl (long double __x, long double __y) noexcept (true);
1115: 
1115: extern long double nexttowardl (long double __x, long double __y) noexcept (true); extern long double __nexttowardl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long double nextdownl (long double __x) noexcept (true); extern long double __nextdownl (long double __x) noexcept (true);
1115: 
1115: extern long double nextupl (long double __x) noexcept (true); extern long double __nextupl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long double remainderl (long double __x, long double __y) noexcept (true); extern long double __remainderl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long double scalbnl (long double __x, int __n) noexcept (true); extern long double __scalbnl (long double __x, int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ilogbl (long double __x) noexcept (true); extern int __ilogbl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long int llogbl (long double __x) noexcept (true); extern long int __llogbl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long double scalblnl (long double __x, long int __n) noexcept (true); extern long double __scalblnl (long double __x, long int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long double nearbyintl (long double __x) noexcept (true); extern long double __nearbyintl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long double roundl (long double __x) noexcept make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[3]: *** [CMakeFiles/Makefile2:9511: build/view/CMakeFiles/view.dir/all] Error 2
(true) __attribute__ ((__const__)); extern long double __roundl (long double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern long double truncl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __truncl (long double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern long double remquol (long double __x, long double __y, int *__quo) noexcept (true); extern long double __remquol (long double __x, long double __y, int *__quo) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int lrintl (long double __x) noexcept (true); extern long int __lrintl (long double __x) noexcept (true);
1115: __extension__
1115: extern long long int llrintl (long double __x) noexcept (true); extern long long int __llrintl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long int lroundl (long double __x) noexcept (true); extern long int __lroundl (long double __x) noexcept (true);
1115: __extension__
1115: extern long long int llroundl (long double __x) noexcept (true); extern long long int __llroundl (long double __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long double fdiml (long double __x, long double __y) noexcept (true); extern long double __fdiml (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long double fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern long double fmal (long double __x, long double __y, long double __z) noexcept (true); extern long double __fmal (long double __x, long double __y, long double __z) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long double roundevenl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
1115:                             ;
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true)
1115:                               ;
1115: 
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1115:                              ;
1115: 
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true)
1115:                                ;
1115: 
1115: 
1115: extern int canonicalizel (long double *__cx, const long double *__x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern long double fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern long double fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int totalorderl (const long double *__x, const long double *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern int totalordermagl (const long double *__x, const long double *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern long double getpayloadl (const long double *__x) noexcept (true); extern long double __getpayloadl (const long double *__x) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadl (long double *__x, long double __payload) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadsigl (long double *__x, long double __payload) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long double scalbl (long double __x, long double __n) noexcept (true); extern long double __scalbl (long double __x, long double __n) noexcept (true);
1115: # 400 "/usr/include/math.h" 2 3 4
1115: # 450 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1115: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115:  extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 coshf32 (_Float32 __x) noexcept (true); extern _Float32 __coshf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 sinhf32 (_Float32 __x) noexcept (true); extern _Float32 __sinhf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 tanhf32 (_Float32 __x) noexcept (true); extern _Float32 __tanhf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true)
1115:                                                         ;
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 acoshf32 (_Float32 __x) noexcept (true); extern _Float32 __acoshf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 asinhf32 (_Float32 __x) noexcept (true); extern _Float32 __asinhf32 (_Float32 __x) noexcept (true);
1115: 
1115:  extern _Float32 atanhf32 (_Float32 __x) noexcept (true); extern _Float32 __atanhf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 expf32 (_Float32 __x) noexcept (true); extern _Float32 __expf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) noexcept (true); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) noexcept (true);
1115: 
1115: 
1115: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) noexcept (true); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) noexcept (true);
1115: 
1115: 
1115:  extern _Float32 logf32 (_Float32 __x) noexcept (true); extern _Float32 __logf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32 log10f32 (_Float32 __x) noexcept (true); extern _Float32 __log10f32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115:  extern _Float32 exp10f32 (_Float32 __x) noexcept (true); extern _Float32 __exp10f32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 expm1f32 (_Float32 __x) noexcept (true); extern _Float32 __expm1f32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32 log1pf32 (_Float32 __x) noexcept (true); extern _Float32 __log1pf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32 logbf32 (_Float32 __x) noexcept (true); extern _Float32 __logbf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 exp2f32 (_Float32 __x) noexcept (true); extern _Float32 __exp2f32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32 log2f32 (_Float32 __x) noexcept (true); extern _Float32 __log2f32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 powf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32 sqrtf32 (_Float32 __x) noexcept (true); extern _Float32 __sqrtf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 cbrtf32 (_Float32 __x) noexcept (true); extern _Float32 __cbrtf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) noexcept (true);
1115: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 nanf32 (const char *__tagb) noexcept (true); extern _Float32 __nanf32 (const char *__tagb) noexcept (true);
1115: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float32 j0f32 (_Float32) noexcept (true); extern _Float32 __j0f32 (_Float32) noexcept (true);
1115: extern _Float32 j1f32 (_Float32) noexcept (true); extern _Float32 __j1f32 (_Float32) noexcept (true);
1115: extern _Float32 jnf32 (int, _Float32) noexcept (true); extern _Float32 __jnf32 (int, _Float32) noexcept (true);
1115: extern _Float32 y0f32 (_Float32) noexcept (true); extern _Float32 __y0f32 (_Float32) noexcept (true);
1115: extern _Float32 y1f32 (_Float32) noexcept (true); extern _Float32 __y1f32 (_Float32) noexcept (true);
1115: extern _Float32 ynf32 (int, _Float32) noexcept (true); extern _Float32 __ynf32 (int, _Float32) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32 erff32 (_Float32) noexcept (true); extern _Float32 __erff32 (_Float32) noexcept (true);
1115:  extern _Float32 erfcf32 (_Float32) noexcept (true); extern _Float32 __erfcf32 (_Float32) noexcept (true);
1115: extern _Float32 lgammaf32 (_Float32) noexcept (true); extern _Float32 __lgammaf32 (_Float32) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 tgammaf32 (_Float32) noexcept (true); extern _Float32 __tgammaf32 (_Float32) noexcept (true);
1115: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) noexcept (true); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 rintf32 (_Float32 __x) noexcept (true); extern _Float32 __rintf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 nextdownf32 (_Float32 __x) noexcept (true); extern _Float32 __nextdownf32 (_Float32 __x) noexcept (true);
1115: 
1115: extern _Float32 nextupf32 (_Float32 __x) noexcept (true); extern _Float32 __nextupf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32 scalbnf32 (_Float32 __x, int __n) noexcept (true); extern _Float32 __scalbnf32 (_Float32 __x, int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ilogbf32 (_Float32 __x) noexcept (true); extern int __ilogbf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long int llogbf32 (_Float32 __x) noexcept (true); extern long int __llogbf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 scalblnf32 (_Float32 __x, long int __n) noexcept (true); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32 nearbyintf32 (_Float32 __x) noexcept (true); extern _Float32 __nearbyintf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32 roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern _Float32 truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int lrintf32 (_Float32 __x) noexcept (true); extern long int __lrintf32 (_Float32 __x) noexcept (true);
1115: __extension__
1115: extern long long int llrintf32 (_Float32 __x) noexcept (true); extern long long int __llrintf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long int lroundf32 (_Float32 __x) noexcept (true); extern long int __lroundf32 (_Float32 __x) noexcept (true);
1115: __extension__
1115: extern long long int llroundf32 (_Float32 __x) noexcept (true); extern long long int __llroundf32 (_Float32 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1115:                             ;
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1115:                               ;
1115: 
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1115:                              ;
1115: 
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true)
1115:                                ;
1115: 
1115: 
1115: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern _Float32 getpayloadf32 (const _Float32 *__x) noexcept (true); extern _Float32 __getpayloadf32 (const _Float32 *__x) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) noexcept (true);
1115: # 451 "/usr/include/math.h" 2 3 4
1115: # 467 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1115: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115:  extern _Float64 acosf64 (_Float64 __x) noexcept (true); extern _Float64 __acosf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 asinf64 (_Float64 __x) noexcept (true); extern _Float64 __asinf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 atanf64 (_Float64 __x) noexcept (true); extern _Float64 __atanf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) noexcept (true); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float64 cosf64 (_Float64 __x) noexcept (true); extern _Float64 __cosf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 sinf64 (_Float64 __x) noexcept (true); extern _Float64 __sinf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 tanf64 (_Float64 __x) noexcept (true); extern _Float64 __tanf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 coshf64 (_Float64 __x) noexcept (true); extern _Float64 __coshf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 sinhf64 (_Float64 __x) noexcept (true); extern _Float64 __sinhf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 tanhf64 (_Float64 __x) noexcept (true); extern _Float64 __tanhf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true)
1115:                                                         ;
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 acoshf64 (_Float64 __x) noexcept (true); extern _Float64 __acoshf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 asinhf64 (_Float64 __x) noexcept (true); extern _Float64 __asinhf64 (_Float64 __x) noexcept (true);
1115: 
1115:  extern _Float64 atanhf64 (_Float64 __x) noexcept (true); extern _Float64 __atanhf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 expf64 (_Float64 __x) noexcept (true); extern _Float64 __expf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) noexcept (true); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) noexcept (true);
1115: 
1115: 
1115: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) noexcept (true); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) noexcept (true);
1115: 
1115: 
1115:  extern _Float64 logf64 (_Float64 __x) noexcept (true); extern _Float64 __logf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float64 log10f64 (_Float64 __x) noexcept (true); extern _Float64 __log10f64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115:  extern _Float64 exp10f64 (_Float64 __x) noexcept (true); extern _Float64 __exp10f64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 expm1f64 (_Float64 __x) noexcept (true); extern _Float64 __expm1f64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float64 log1pf64 (_Float64 __x) noexcept (true); extern _Float64 __log1pf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float64 logbf64 (_Float64 __x) noexcept (true); extern _Float64 __logbf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 exp2f64 (_Float64 __x) noexcept (true); extern _Float64 __exp2f64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float64 log2f64 (_Float64 __x) noexcept (true); extern _Float64 __log2f64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 powf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float64 sqrtf64 (_Float64 __x) noexcept (true); extern _Float64 __sqrtf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 cbrtf64 (_Float64 __x) noexcept (true); extern _Float64 __cbrtf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 nanf64 (const char *__tagb) noexcept (true); extern _Float64 __nanf64 (const char *__tagb) noexcept (true);
1115: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float64 j0f64 (_Float64) noexcept (true); extern _Float64 __j0f64 (_Float64) noexcept (true);
1115: extern _Float64 j1f64 (_Float64) noexcept (true); extern _Float64 __j1f64 (_Float64) noexcept (true);
1115: extern _Float64 jnf64 (int, _Float64) noexcept (true); extern _Float64 __jnf64 (int, _Float64) noexcept (true);
1115: extern _Float64 y0f64 (_Float64) noexcept (true); extern _Float64 __y0f64 (_Float64) noexcept (true);
1115: extern _Float64 y1f64 (_Float64) noexcept (true); extern _Float64 __y1f64 (_Float64) noexcept (true);
1115: extern _Float64 ynf64 (int, _Float64) noexcept (true); extern _Float64 __ynf64 (int, _Float64) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float64 erff64 (_Float64) noexcept (true); extern _Float64 __erff64 (_Float64) noexcept (true);
1115:  extern _Float64 erfcf64 (_Float64) noexcept (true); extern _Float64 __erfcf64 (_Float64) noexcept (true);
1115: extern _Float64 lgammaf64 (_Float64) noexcept (true); extern _Float64 __lgammaf64 (_Float64) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 tgammaf64 (_Float64) noexcept (true); extern _Float64 __tgammaf64 (_Float64) noexcept (true);
1115: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) noexcept (true); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 rintf64 (_Float64 __x) noexcept (true); extern _Float64 __rintf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 nextdownf64 (_Float64 __x) noexcept (true); extern _Float64 __nextdownf64 (_Float64 __x) noexcept (true);
1115: 
1115: extern _Float64 nextupf64 (_Float64 __x) noexcept (true); extern _Float64 __nextupf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 scalbnf64 (_Float64 __x, int __n) noexcept (true); extern _Float64 __scalbnf64 (_Float64 __x, int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ilogbf64 (_Float64 __x) noexcept (true); extern int __ilogbf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long int llogbf64 (_Float64 __x) noexcept (true); extern long int __llogbf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 scalblnf64 (_Float64 __x, long int __n) noexcept (true); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 nearbyintf64 (_Float64 __x) noexcept (true); extern _Float64 __nearbyintf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern _Float64 truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int lrintf64 (_Float64 __x) noexcept (true); extern long int __lrintf64 (_Float64 __x) noexcept (true);
1115: __extension__
1115: extern long long int llrintf64 (_Float64 __x) noexcept (true); extern long long int __llrintf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long int lroundf64 (_Float64 __x) noexcept (true); extern long int __lroundf64 (_Float64 __x) noexcept (true);
1115: __extension__
1115: extern long long int llroundf64 (_Float64 __x) noexcept (true); extern long long int __llroundf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1115:                             ;
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1115:                               ;
1115: 
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1115:                              ;
1115: 
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true)
1115:                                ;
1115: 
1115: 
1115: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern _Float64 getpayloadf64 (const _Float64 *__x) noexcept (true); extern _Float64 __getpayloadf64 (const _Float64 *__x) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) noexcept (true);
1115: # 468 "/usr/include/math.h" 2 3 4
1115: # 501 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 1 3 4
1115: # 53 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115:  extern _Float32x acosf32x (_Float32x __x) noexcept (true); extern _Float32x __acosf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x asinf32x (_Float32x __x) noexcept (true); extern _Float32x __asinf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x atanf32x (_Float32x __x) noexcept (true); extern _Float32x __atanf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) noexcept (true); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32x cosf32x (_Float32x __x) noexcept (true); extern _Float32x __cosf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x sinf32x (_Float32x __x) noexcept (true); extern _Float32x __sinf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x tanf32x (_Float32x __x) noexcept (true); extern _Float32x __tanf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x coshf32x (_Float32x __x) noexcept (true); extern _Float32x __coshf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x sinhf32x (_Float32x __x) noexcept (true); extern _Float32x __sinhf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x tanhf32x (_Float32x __x) noexcept (true); extern _Float32x __tanhf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true)
1115:                                                         ;
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x acoshf32x (_Float32x __x) noexcept (true); extern _Float32x __acoshf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x asinhf32x (_Float32x __x) noexcept (true); extern _Float32x __asinhf32x (_Float32x __x) noexcept (true);
1115: 
1115:  extern _Float32x atanhf32x (_Float32x __x) noexcept (true); extern _Float32x __atanhf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x expf32x (_Float32x __x) noexcept (true); extern _Float32x __expf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) noexcept (true); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) noexcept (true);
1115: 
1115: 
1115: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) noexcept (true); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) noexcept (true);
1115: 
1115: 
1115:  extern _Float32x logf32x (_Float32x __x) noexcept (true); extern _Float32x __logf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32x log10f32x (_Float32x __x) noexcept (true); extern _Float32x __log10f32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2)));
1115: 
1115: 
1115: 
1115:  extern _Float32x exp10f32x (_Float32x __x) noexcept (true); extern _Float32x __exp10f32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x expm1f32x (_Float32x __x) noexcept (true); extern _Float32x __expm1f32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32x log1pf32x (_Float32x __x) noexcept (true); extern _Float32x __log1pf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32x logbf32x (_Float32x __x) noexcept (true); extern _Float32x __logbf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x exp2f32x (_Float32x __x) noexcept (true); extern _Float32x __exp2f32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115:  extern _Float32x log2f32x (_Float32x __x) noexcept (true); extern _Float32x __log2f32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x powf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32x sqrtf32x (_Float32x __x) noexcept (true); extern _Float32x __sqrtf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115:  extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x cbrtf32x (_Float32x __x) noexcept (true); extern _Float32x __cbrtf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: # 198 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x nanf32x (const char *__tagb) noexcept (true); extern _Float32x __nanf32x (const char *__tagb) noexcept (true);
1115: # 220 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float32x j0f32x (_Float32x) noexcept (true); extern _Float32x __j0f32x (_Float32x) noexcept (true);
1115: extern _Float32x j1f32x (_Float32x) noexcept (true); extern _Float32x __j1f32x (_Float32x) noexcept (true);
1115: extern _Float32x jnf32x (int, _Float32x) noexcept (true); extern _Float32x __jnf32x (int, _Float32x) noexcept (true);
1115: extern _Float32x y0f32x (_Float32x) noexcept (true); extern _Float32x __y0f32x (_Float32x) noexcept (true);
1115: extern _Float32x y1f32x (_Float32x) noexcept (true); extern _Float32x __y1f32x (_Float32x) noexcept (true);
1115: extern _Float32x ynf32x (int, _Float32x) noexcept (true); extern _Float32x __ynf32x (int, _Float32x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  extern _Float32x erff32x (_Float32x) noexcept (true); extern _Float32x __erff32x (_Float32x) noexcept (true);
1115:  extern _Float32x erfcf32x (_Float32x) noexcept (true); extern _Float32x __erfcf32x (_Float32x) noexcept (true);
1115: extern _Float32x lgammaf32x (_Float32x) noexcept (true); extern _Float32x __lgammaf32x (_Float32x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x tgammaf32x (_Float32x) noexcept (true); extern _Float32x __tgammaf32x (_Float32x) noexcept (true);
1115: # 252 "/usr/include/arm-linux-gnueabihf/bits/mathcalls.h" 3 4
1115: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x rintf32x (_Float32x __x) noexcept (true); extern _Float32x __rintf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x nextdownf32x (_Float32x __x) noexcept (true); extern _Float32x __nextdownf32x (_Float32x __x) noexcept (true);
1115: 
1115: extern _Float32x nextupf32x (_Float32x __x) noexcept (true); extern _Float32x __nextupf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32x scalbnf32x (_Float32x __x, int __n) noexcept (true); extern _Float32x __scalbnf32x (_Float32x __x, int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern int ilogbf32x (_Float32x __x) noexcept (true); extern int __ilogbf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern long int llogbf32x (_Float32x __x) noexcept (true); extern long int __llogbf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x scalblnf32x (_Float32x __x, long int __n) noexcept (true); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32x nearbyintf32x (_Float32x __x) noexcept (true); extern _Float32x __nearbyintf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32x roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern _Float32x truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern long int lrintf32x (_Float32x __x) noexcept (true); extern long int __lrintf32x (_Float32x __x) noexcept (true);
1115: __extension__
1115: extern long long int llrintf32x (_Float32x __x) noexcept (true); extern long long int __llrintf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern long int lroundf32x (_Float32x __x) noexcept (true); extern long int __lroundf32x (_Float32x __x) noexcept (true);
1115: __extension__
1115: extern long long int llroundf32x (_Float32x __x) noexcept (true); extern long long int __llroundf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: 
1115: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1115:                             ;
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1115:                               ;
1115: 
1115: 
1115: 
1115: 
1115: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1115:                              ;
1115: 
1115: 
1115: 
1115: 
1115: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true)
1115:                                ;
1115: 
1115: 
1115: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) noexcept (true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__));
1115: 
1115: 
1115: 
1115: 
1115: extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true)
1115: 
1115:      __attribute__ ((__pure__));
1115: 
1115: 
1115: extern _Float32x getpayloadf32x (const _Float32x *__x) noexcept (true); extern _Float32x __getpayloadf32x (const _Float32x *__x) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1115: 
1115: 
1115: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) noexcept (true);
1115: # 502 "/usr/include/math.h" 2 3 4
1115: # 566 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1115: extern float fadd (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: extern float fdiv (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: extern float ffma (double __x, double __y, double __z) noexcept (true);
1115: 
1115: 
1115: extern float fmul (double __x, double __y) noexcept (true);
1115: 
1115: 
1115: extern float fsqrt (double __x) noexcept (true);
1115: 
1115: 
1115: extern float fsub (double __x, double __y) noexcept (true);
1115: # 567 "/usr/include/math.h" 2 3 4
1115: # 587 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1115: extern float faddl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern float fdivl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern float ffmal (long double __x, long double __y, long double __z) noexcept (true);
1115: 
1115: 
1115: extern float fmull (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern float fsqrtl (long double __x) noexcept (true);
1115: 
1115: 
1115: extern float fsubl (long double __x, long double __y) noexcept (true);
1115: # 588 "/usr/include/math.h" 2 3 4
1115: # 616 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1115: extern double daddl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern double ddivl (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern double dfmal (long double __x, long double __y, long double __z) noexcept (true);
1115: 
1115: 
1115: extern double dmull (long double __x, long double __y) noexcept (true);
1115: 
1115: 
1115: extern double dsqrtl (long double __x) noexcept (true);
1115: 
1115: 
1115: extern double dsubl (long double __x, long double __y) noexcept (true);
1115: # 617 "/usr/include/math.h" 2 3 4
1115: # 697 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1115: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32sqrtf32x (_Float32x __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) noexcept (true);
1115: # 698 "/usr/include/math.h" 2 3 4
1115: # 707 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1115: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32sqrtf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: # 708 "/usr/include/math.h" 2 3 4
1115: # 747 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 1 3 4
1115: # 24 "/usr/include/arm-linux-gnueabihf/bits/mathcalls-narrow.h" 3 4
1115: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32x f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true);
1115: 
1115: 
1115: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: 
1115: 
1115: extern _Float32x f32xsqrtf64 (_Float64 __x) noexcept (true);
1115: 
1115: 
1115: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) noexcept (true);
1115: # 748 "/usr/include/math.h" 2 3 4
1115: # 854 "/usr/include/math.h" 3 4
1115: extern int signgam;
1115: # 934 "/usr/include/math.h" 3 4
1115: enum
1115:   {
1115:     FP_NAN =
1115: 
1115:       0,
1115:     FP_INFINITE =
1115: 
1115:       1,
1115:     FP_ZERO =
1115: 
1115:       2,
1115:     FP_SUBNORMAL =
1115: 
1115:       3,
1115:     FP_NORMAL =
1115: 
1115:       4
1115:   };
1115: # 1054 "/usr/include/math.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/iscanonical.h" 1 3 4
1115: # 1055 "/usr/include/math.h" 2 3 4
1115: # 1066 "/usr/include/math.h" 3 4
1115: extern "C++" {
1115: inline int issignaling (float __val) { return __issignalingf (__val); }
1115: inline int issignaling (double __val) { return __issignaling (__val); }
1115: inline int
1115: issignaling (long double __val)
1115: {
1115: 
1115:   return __issignaling (__val);
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 1097 "/usr/include/math.h" 3 4
1115: extern "C++" {
1115: # 1128 "/usr/include/math.h" 3 4
1115: template <class __T> inline bool
1115: iszero (__T __val)
1115: {
1115:   return __val == 0;
1115: }
1115: 
1115: }
1115: # 1363 "/usr/include/math.h" 3 4
1115: extern "C++" {
1115: template<typename> struct __iseqsig_type;
1115: 
1115: template<> struct __iseqsig_type<float>
1115: {
1115:   static int __call (float __x, float __y) throw ()
1115:   {
1115:     return __iseqsigf (__x, __y);
1115:   }
1115: };
1115: 
1115: template<> struct __iseqsig_type<double>
1115: {
1115:   static int __call (double __x, double __y) throw ()
1115:   {
1115:     return __iseqsig (__x, __y);
1115:   }
1115: };
1115: 
1115: template<> struct __iseqsig_type<long double>
1115: {
1115:   static int __call (long double __x, long double __y) throw ()
1115:   {
1115: 
1115: 
1115: 
1115:     return __iseqsig (__x, __y);
1115: 
1115:   }
1115: };
1115: # 1406 "/usr/include/math.h" 3 4
1115: template<typename _T1, typename _T2>
1115: inline int
1115: iseqsig (_T1 __x, _T2 __y) throw ()
1115: {
1115: 
1115:   typedef decltype (((__x) + (__y) + 0.0f)) _T3;
1115: 
1115: 
1115: 
1115:   return __iseqsig_type<_T3>::__call (__x, __y);
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 46 "/usr/include/c++/12/cmath" 2 3
1115: # 77 "/usr/include/c++/12/cmath" 3
1115: extern "C++"
1115: {
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   using ::acos;
1115: 
1115: 
1115:   inline constexpr float
1115:   acos(float __x)
1115:   { return __builtin_acosf(__x); }
1115: 
1115:   inline constexpr long double
1115:   acos(long double __x)
1115:   { return __builtin_acosl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     acos(_Tp __x)
1115:     { return __builtin_acos(__x); }
1115: 
1115:   using ::asin;
1115: 
1115: 
1115:   inline constexpr float
1115:   asin(float __x)
1115:   { return __builtin_asinf(__x); }
1115: 
1115:   inline constexpr long double
1115:   asin(long double __x)
1115:   { return __builtin_asinl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     asin(_Tp __x)
1115:     { return __builtin_asin(__x); }
1115: 
1115:   using ::atan;
1115: 
1115: 
1115:   inline constexpr float
1115:   atan(float __x)
1115:   { return __builtin_atanf(__x); }
1115: 
1115:   inline constexpr long double
1115:   atan(long double __x)
1115:   { return __builtin_atanl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     atan(_Tp __x)
1115:     { return __builtin_atan(__x); }
1115: 
1115:   using ::atan2;
1115: 
1115: 
1115:   inline constexpr float
1115:   atan2(float __y, float __x)
1115:   { return __builtin_atan2f(__y, __x); }
1115: 
1115:   inline constexpr long double
1115:   atan2(long double __y, long double __x)
1115:   { return __builtin_atan2l(__y, __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline constexpr
1115:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     atan2(_Tp __y, _Up __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return atan2(__type(__y), __type(__x));
1115:     }
1115: 
1115:   using ::ceil;
1115: 
1115: 
1115:   inline constexpr float
1115:   ceil(float __x)
1115:   { return __builtin_ceilf(__x); }
1115: 
1115:   inline constexpr long double
1115:   ceil(long double __x)
1115:   { return __builtin_ceill(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     ceil(_Tp __x)
1115:     { return __builtin_ceil(__x); }
1115: 
1115:   using ::cos;
1115: 
1115: 
1115:   inline constexpr float
1115:   cos(float __x)
1115:   { return __builtin_cosf(__x); }
1115: 
1115:   inline constexpr long double
1115:   cos(long double __x)
1115:   { return __builtin_cosl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     cos(_Tp __x)
1115:     { return __builtin_cos(__x); }
1115: 
1115:   using ::cosh;
1115: 
1115: 
1115:   inline constexpr float
1115:   cosh(float __x)
1115:   { return __builtin_coshf(__x); }
1115: 
1115:   inline constexpr long double
1115:   cosh(long double __x)
1115:   { return __builtin_coshl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     cosh(_Tp __x)
1115:     { return __builtin_cosh(__x); }
1115: 
1115:   using ::exp;
1115: 
1115: 
1115:   inline constexpr float
1115:   exp(float __x)
1115:   { return __builtin_expf(__x); }
1115: 
1115:   inline constexpr long double
1115:   exp(long double __x)
1115:   { return __builtin_expl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     exp(_Tp __x)
1115:     { return __builtin_exp(__x); }
1115: 
1115:   using ::fabs;
1115: 
1115: 
1115:   inline constexpr float
1115:   fabs(float __x)
1115:   { return __builtin_fabsf(__x); }
1115: 
1115:   inline constexpr long double
1115:   fabs(long double __x)
1115:   { return __builtin_fabsl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     fabs(_Tp __x)
1115:     { return __builtin_fabs(__x); }
1115: 
1115:   using ::floor;
1115: 
1115: 
1115:   inline constexpr float
1115:   floor(float __x)
1115:   { return __builtin_floorf(__x); }
1115: 
1115:   inline constexpr long double
1115:   floor(long double __x)
1115:   { return __builtin_floorl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     floor(_Tp __x)
1115:     { return __builtin_floor(__x); }
1115: 
1115:   using ::fmod;
1115: 
1115: 
1115:   inline constexpr float
1115:   fmod(float __x, float __y)
1115:   { return __builtin_fmodf(__x, __y); }
1115: 
1115:   inline constexpr long double
1115:   fmod(long double __x, long double __y)
1115:   { return __builtin_fmodl(__x, __y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline constexpr
1115:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     fmod(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return fmod(__type(__x), __type(__y));
1115:     }
1115: 
1115:   using ::frexp;
1115: 
1115: 
1115:   inline float
1115:   frexp(float __x, int* __exp)
1115:   { return __builtin_frexpf(__x, __exp); }
1115: 
1115:   inline long double
1115:   frexp(long double __x, int* __exp)
1115:   { return __builtin_frexpl(__x, __exp); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     frexp(_Tp __x, int* __exp)
1115:     { return __builtin_frexp(__x, __exp); }
1115: 
1115:   using ::ldexp;
1115: 
1115: 
1115:   inline constexpr float
1115:   ldexp(float __x, int __exp)
1115:   { return __builtin_ldexpf(__x, __exp); }
1115: 
1115:   inline constexpr long double
1115:   ldexp(long double __x, int __exp)
1115:   { return __builtin_ldexpl(__x, __exp); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     ldexp(_Tp __x, int __exp)
1115:     { return __builtin_ldexp(__x, __exp); }
1115: 
1115:   using ::log;
1115: 
1115: 
1115:   inline constexpr float
1115:   log(float __x)
1115:   { return __builtin_logf(__x); }
1115: 
1115:   inline constexpr long double
1115:   log(long double __x)
1115:   { return __builtin_logl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     log(_Tp __x)
1115:     { return __builtin_log(__x); }
1115: 
1115:   using ::log10;
1115: 
1115: 
1115:   inline constexpr float
1115:   log10(float __x)
1115:   { return __builtin_log10f(__x); }
1115: 
1115:   inline constexpr long double
1115:   log10(long double __x)
1115:   { return __builtin_log10l(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     log10(_Tp __x)
1115:     { return __builtin_log10(__x); }
1115: 
1115:   using ::modf;
1115: 
1115: 
1115:   inline float
1115:   modf(float __x, float* __iptr)
1115:   { return __builtin_modff(__x, __iptr); }
1115: 
1115:   inline long double
1115:   modf(long double __x, long double* __iptr)
1115:   { return __builtin_modfl(__x, __iptr); }
1115: 
1115: 
1115:   using ::pow;
1115: 
1115: 
1115:   inline constexpr float
1115:   pow(float __x, float __y)
1115:   { return __builtin_powf(__x, __y); }
1115: 
1115:   inline constexpr long double
1115:   pow(long double __x, long double __y)
1115:   { return __builtin_powl(__x, __y); }
1115: # 412 "/usr/include/c++/12/cmath" 3
1115:   template<typename _Tp, typename _Up>
1115:     inline constexpr
1115:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     pow(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return pow(__type(__x), __type(__y));
1115:     }
1115: 
1115:   using ::sin;
1115: 
1115: 
1115:   inline constexpr float
1115:   sin(float __x)
1115:   { return __builtin_sinf(__x); }
1115: 
1115:   inline constexpr long double
1115:   sin(long double __x)
1115:   { return __builtin_sinl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     sin(_Tp __x)
1115:     { return __builtin_sin(__x); }
1115: 
1115:   using ::sinh;
1115: 
1115: 
1115:   inline constexpr float
1115:   sinh(float __x)
1115:   { return __builtin_sinhf(__x); }
1115: 
1115:   inline constexpr long double
1115:   sinh(long double __x)
1115:   { return __builtin_sinhl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     sinh(_Tp __x)
1115:     { return __builtin_sinh(__x); }
1115: 
1115:   using ::sqrt;
1115: 
1115: 
1115:   inline constexpr float
1115:   sqrt(float __x)
1115:   { return __builtin_sqrtf(__x); }
1115: 
1115:   inline constexpr long double
1115:   sqrt(long double __x)
1115:   { return __builtin_sqrtl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     sqrt(_Tp __x)
1115:     { return __builtin_sqrt(__x); }
1115: 
1115:   using ::tan;
1115: 
1115: 
1115:   inline constexpr float
1115:   tan(float __x)
1115:   { return __builtin_tanf(__x); }
1115: 
1115:   inline constexpr long double
1115:   tan(long double __x)
1115:   { return __builtin_tanl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     tan(_Tp __x)
1115:     { return __builtin_tan(__x); }
1115: 
1115:   using ::tanh;
1115: 
1115: 
1115:   inline constexpr float
1115:   tanh(float __x)
1115:   { return __builtin_tanhf(__x); }
1115: 
1115:   inline constexpr long double
1115:   tanh(long double __x)
1115:   { return __builtin_tanhl(__x); }
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     double>::__type
1115:     tanh(_Tp __x)
1115:     { return __builtin_tanh(__x); }
1115: # 536 "/usr/include/c++/12/cmath" 3
1115:   constexpr int
1115:   fpclassify(float __x)
1115:   { return __builtin_fpclassify(0, 1, 4,
1115:     3, 2, __x); }
1115: 
1115:   constexpr int
1115:   fpclassify(double __x)
1115:   { return __builtin_fpclassify(0, 1, 4,
1115:     3, 2, __x); }
1115: 
1115:   constexpr int
1115:   fpclassify(long double __x)
1115:   { return __builtin_fpclassify(0, 1, 4,
1115:     3, 2, __x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               int>::__type
1115:     fpclassify(_Tp __x)
1115:     { return __x != 0 ? 4 : 2; }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isfinite(float __x)
1115:   { return __builtin_isfinite(__x); }
1115: 
1115:   constexpr bool
1115:   isfinite(double __x)
1115:   { return __builtin_isfinite(__x); }
1115: 
1115:   constexpr bool
1115:   isfinite(long double __x)
1115:   { return __builtin_isfinite(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               bool>::__type
1115:     isfinite(_Tp __x)
1115:     { return true; }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isinf(float __x)
1115:   { return __builtin_isinf(__x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isinf(double __x)
1115:   { return __builtin_isinf(__x); }
1115: 
1115: 
1115:   constexpr bool
1115:   isinf(long double __x)
1115:   { return __builtin_isinf(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               bool>::__type
1115:     isinf(_Tp __x)
1115:     { return false; }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isnan(float __x)
1115:   { return __builtin_isnan(__x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isnan(double __x)
1115:   { return __builtin_isnan(__x); }
1115: 
1115: 
1115:   constexpr bool
1115:   isnan(long double __x)
1115:   { return __builtin_isnan(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               bool>::__type
1115:     isnan(_Tp __x)
1115:     { return false; }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isnormal(float __x)
1115:   { return __builtin_isnormal(__x); }
1115: 
1115:   constexpr bool
1115:   isnormal(double __x)
1115:   { return __builtin_isnormal(__x); }
1115: 
1115:   constexpr bool
1115:   isnormal(long double __x)
1115:   { return __builtin_isnormal(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               bool>::__type
1115:     isnormal(_Tp __x)
1115:     { return __x != 0 ? true : false; }
1115: 
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   signbit(float __x)
1115:   { return __builtin_signbit(__x); }
1115: 
1115:   constexpr bool
1115:   signbit(double __x)
1115:   { return __builtin_signbit(__x); }
1115: 
1115:   constexpr bool
1115:   signbit(long double __x)
1115:   { return __builtin_signbit(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               bool>::__type
1115:     signbit(_Tp __x)
1115:     { return __x < 0 ? true : false; }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isgreater(float __x, float __y)
1115:   { return __builtin_isgreater(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isgreater(double __x, double __y)
1115:   { return __builtin_isgreater(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isgreater(long double __x, long double __y)
1115:   { return __builtin_isgreater(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename
1115:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1115:        && __is_arithmetic<_Up>::__value), bool>::__type
1115:     isgreater(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return __builtin_isgreater(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isgreaterequal(float __x, float __y)
1115:   { return __builtin_isgreaterequal(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isgreaterequal(double __x, double __y)
1115:   { return __builtin_isgreaterequal(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isgreaterequal(long double __x, long double __y)
1115:   { return __builtin_isgreaterequal(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename
1115:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1115:        && __is_arithmetic<_Up>::__value), bool>::__type
1115:     isgreaterequal(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return __builtin_isgreaterequal(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isless(float __x, float __y)
1115:   { return __builtin_isless(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isless(double __x, double __y)
1115:   { return __builtin_isless(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isless(long double __x, long double __y)
1115:   { return __builtin_isless(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename
1115:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1115:        && __is_arithmetic<_Up>::__value), bool>::__type
1115:     isless(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return __builtin_isless(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   islessequal(float __x, float __y)
1115:   { return __builtin_islessequal(__x, __y); }
1115: 
1115:   constexpr bool
1115:   islessequal(double __x, double __y)
1115:   { return __builtin_islessequal(__x, __y); }
1115: 
1115:   constexpr bool
1115:   islessequal(long double __x, long double __y)
1115:   { return __builtin_islessequal(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename
1115:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1115:        && __is_arithmetic<_Up>::__value), bool>::__type
1115:     islessequal(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return __builtin_islessequal(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   islessgreater(float __x, float __y)
1115:   { return __builtin_islessgreater(__x, __y); }
1115: 
1115:   constexpr bool
1115:   islessgreater(double __x, double __y)
1115:   { return __builtin_islessgreater(__x, __y); }
1115: 
1115:   constexpr bool
1115:   islessgreater(long double __x, long double __y)
1115:   { return __builtin_islessgreater(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename
1115:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1115:        && __is_arithmetic<_Up>::__value), bool>::__type
1115:     islessgreater(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return __builtin_islessgreater(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr bool
1115:   isunordered(float __x, float __y)
1115:   { return __builtin_isunordered(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isunordered(double __x, double __y)
1115:   { return __builtin_isunordered(__x, __y); }
1115: 
1115:   constexpr bool
1115:   isunordered(long double __x, long double __y)
1115:   { return __builtin_isunordered(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename
1115:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
1115:        && __is_arithmetic<_Up>::__value), bool>::__type
1115:     isunordered(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return __builtin_isunordered(__type(__x), __type(__y));
1115:     }
1115: # 1065 "/usr/include/c++/12/cmath" 3
1115:   using ::double_t;
1115:   using ::float_t;
1115: 
1115: 
1115:   using ::acosh;
1115:   using ::acoshf;
1115:   using ::acoshl;
1115: 
1115:   using ::asinh;
1115:   using ::asinhf;
1115:   using ::asinhl;
1115: 
1115:   using ::atanh;
1115:   using ::atanhf;
1115:   using ::atanhl;
1115: 
1115:   using ::cbrt;
1115:   using ::cbrtf;
1115:   using ::cbrtl;
1115: 
1115:   using ::copysign;
1115:   using ::copysignf;
1115:   using ::copysignl;
1115: 
1115:   using ::erf;
1115:   using ::erff;
1115:   using ::erfl;
1115: 
1115:   using ::erfc;
1115:   using ::erfcf;
1115:   using ::erfcl;
1115: 
1115:   using ::exp2;
1115:   using ::exp2f;
1115:   using ::exp2l;
1115: 
1115:   using ::expm1;
1115:   using ::expm1f;
1115:   using ::expm1l;
1115: 
1115:   using ::fdim;
1115:   using ::fdimf;
1115:   using ::fdiml;
1115: 
1115:   using ::fma;
1115:   using ::fmaf;
1115:   using ::fmal;
1115: 
1115:   using ::fmax;
1115:   using ::fmaxf;
1115:   using ::fmaxl;
1115: 
1115:   using ::fmin;
1115:   using ::fminf;
1115:   using ::fminl;
1115: 
1115:   using ::hypot;
1115:   using ::hypotf;
1115:   using ::hypotl;
1115: 
1115:   using ::ilogb;
1115:   using ::ilogbf;
1115:   using ::ilogbl;
1115: 
1115:   using ::lgamma;
1115:   using ::lgammaf;
1115:   using ::lgammal;
1115: 
1115: 
1115:   using ::llrint;
1115:   using ::llrintf;
1115:   using ::llrintl;
1115: 
1115:   using ::llround;
1115:   using ::llroundf;
1115:   using ::llroundl;
1115: 
1115: 
1115:   using ::log1p;
1115:   using ::log1pf;
1115:   using ::log1pl;
1115: 
1115:   using ::log2;
1115:   using ::log2f;
1115:   using ::log2l;
1115: 
1115:   using ::logb;
1115:   using ::logbf;
1115:   using ::logbl;
1115: 
1115:   using ::lrint;
1115:   using ::lrintf;
1115:   using ::lrintl;
1115: 
1115:   using ::lround;
1115:   using ::lroundf;
1115:   using ::lroundl;
1115: 
1115:   using ::nan;
1115:   using ::nanf;
1115:   using ::nanl;
1115: 
1115:   using ::nearbyint;
1115:   using ::nearbyintf;
1115:   using ::nearbyintl;
1115: 
1115:   using ::nextafter;
1115:   using ::nextafterf;
1115:   using ::nextafterl;
1115: 
1115:   using ::nexttoward;
1115:   using ::nexttowardf;
1115:   using ::nexttowardl;
1115: 
1115:   using ::remainder;
1115:   using ::remainderf;
1115:   using ::remainderl;
1115: 
1115:   using ::remquo;
1115:   using ::remquof;
1115:   using ::remquol;
1115: 
1115:   using ::rint;
1115:   using ::rintf;
1115:   using ::rintl;
1115: 
1115:   using ::round;
1115:   using ::roundf;
1115:   using ::roundl;
1115: 
1115:   using ::scalbln;
1115:   using ::scalblnf;
1115:   using ::scalblnl;
1115: 
1115:   using ::scalbn;
1115:   using ::scalbnf;
1115:   using ::scalbnl;
1115: 
1115:   using ::tgamma;
1115:   using ::tgammaf;
1115:   using ::tgammal;
1115: 
1115:   using ::trunc;
1115:   using ::truncf;
1115:   using ::truncl;
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   acosh(float __x)
1115:   { return __builtin_acoshf(__x); }
1115: 
1115:   constexpr long double
1115:   acosh(long double __x)
1115:   { return __builtin_acoshl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     acosh(_Tp __x)
1115:     { return __builtin_acosh(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   asinh(float __x)
1115:   { return __builtin_asinhf(__x); }
1115: 
1115:   constexpr long double
1115:   asinh(long double __x)
1115:   { return __builtin_asinhl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     asinh(_Tp __x)
1115:     { return __builtin_asinh(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   atanh(float __x)
1115:   { return __builtin_atanhf(__x); }
1115: 
1115:   constexpr long double
1115:   atanh(long double __x)
1115:   { return __builtin_atanhl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     atanh(_Tp __x)
1115:     { return __builtin_atanh(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   cbrt(float __x)
1115:   { return __builtin_cbrtf(__x); }
1115: 
1115:   constexpr long double
1115:   cbrt(long double __x)
1115:   { return __builtin_cbrtl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     cbrt(_Tp __x)
1115:     { return __builtin_cbrt(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   copysign(float __x, float __y)
1115:   { return __builtin_copysignf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   copysign(long double __x, long double __y)
1115:   { return __builtin_copysignl(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     copysign(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return copysign(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   erf(float __x)
1115:   { return __builtin_erff(__x); }
1115: 
1115:   constexpr long double
1115:   erf(long double __x)
1115:   { return __builtin_erfl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     erf(_Tp __x)
1115:     { return __builtin_erf(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   erfc(float __x)
1115:   { return __builtin_erfcf(__x); }
1115: 
1115:   constexpr long double
1115:   erfc(long double __x)
1115:   { return __builtin_erfcl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     erfc(_Tp __x)
1115:     { return __builtin_erfc(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   exp2(float __x)
1115:   { return __builtin_exp2f(__x); }
1115: 
1115:   constexpr long double
1115:   exp2(long double __x)
1115:   { return __builtin_exp2l(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     exp2(_Tp __x)
1115:     { return __builtin_exp2(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   expm1(float __x)
1115:   { return __builtin_expm1f(__x); }
1115: 
1115:   constexpr long double
1115:   expm1(long double __x)
1115:   { return __builtin_expm1l(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     expm1(_Tp __x)
1115:     { return __builtin_expm1(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   fdim(float __x, float __y)
1115:   { return __builtin_fdimf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   fdim(long double __x, long double __y)
1115:   { return __builtin_fdiml(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     fdim(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return fdim(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   fma(float __x, float __y, float __z)
1115:   { return __builtin_fmaf(__x, __y, __z); }
1115: 
1115:   constexpr long double
1115:   fma(long double __x, long double __y, long double __z)
1115:   { return __builtin_fmal(__x, __y, __z); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up, typename _Vp>
1115:     constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
1115:     fma(_Tp __x, _Up __y, _Vp __z)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type;
1115:       return fma(__type(__x), __type(__y), __type(__z));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   fmax(float __x, float __y)
1115:   { return __builtin_fmaxf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   fmax(long double __x, long double __y)
1115:   { return __builtin_fmaxl(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     fmax(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return fmax(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   fmin(float __x, float __y)
1115:   { return __builtin_fminf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   fmin(long double __x, long double __y)
1115:   { return __builtin_fminl(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     fmin(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return fmin(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   hypot(float __x, float __y)
1115:   { return __builtin_hypotf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   hypot(long double __x, long double __y)
1115:   { return __builtin_hypotl(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     hypot(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return hypot(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr int
1115:   ilogb(float __x)
1115:   { return __builtin_ilogbf(__x); }
1115: 
1115:   constexpr int
1115:   ilogb(long double __x)
1115:   { return __builtin_ilogbl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr
1115:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                     int>::__type
1115:     ilogb(_Tp __x)
1115:     { return __builtin_ilogb(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   lgamma(float __x)
1115:   { return __builtin_lgammaf(__x); }
1115: 
1115:   constexpr long double
1115:   lgamma(long double __x)
1115:   { return __builtin_lgammal(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     lgamma(_Tp __x)
1115:     { return __builtin_lgamma(__x); }
1115: 
1115: 
1115: 
1115:   constexpr long long
1115:   llrint(float __x)
1115:   { return __builtin_llrintf(__x); }
1115: 
1115:   constexpr long long
1115:   llrint(long double __x)
1115:   { return __builtin_llrintl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               long long>::__type
1115:     llrint(_Tp __x)
1115:     { return __builtin_llrint(__x); }
1115: 
1115: 
1115: 
1115:   constexpr long long
1115:   llround(float __x)
1115:   { return __builtin_llroundf(__x); }
1115: 
1115:   constexpr long long
1115:   llround(long double __x)
1115:   { return __builtin_llroundl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               long long>::__type
1115:     llround(_Tp __x)
1115:     { return __builtin_llround(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   log1p(float __x)
1115:   { return __builtin_log1pf(__x); }
1115: 
1115:   constexpr long double
1115:   log1p(long double __x)
1115:   { return __builtin_log1pl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     log1p(_Tp __x)
1115:     { return __builtin_log1p(__x); }
1115: 
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   log2(float __x)
1115:   { return __builtin_log2f(__x); }
1115: 
1115:   constexpr long double
1115:   log2(long double __x)
1115:   { return __builtin_log2l(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     log2(_Tp __x)
1115:     { return __builtin_log2(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   logb(float __x)
1115:   { return __builtin_logbf(__x); }
1115: 
1115:   constexpr long double
1115:   logb(long double __x)
1115:   { return __builtin_logbl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     logb(_Tp __x)
1115:     { return __builtin_logb(__x); }
1115: 
1115: 
1115: 
1115:   constexpr long
1115:   lrint(float __x)
1115:   { return __builtin_lrintf(__x); }
1115: 
1115:   constexpr long
1115:   lrint(long double __x)
1115:   { return __builtin_lrintl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               long>::__type
1115:     lrint(_Tp __x)
1115:     { return __builtin_lrint(__x); }
1115: 
1115: 
1115: 
1115:   constexpr long
1115:   lround(float __x)
1115:   { return __builtin_lroundf(__x); }
1115: 
1115:   constexpr long
1115:   lround(long double __x)
1115:   { return __builtin_lroundl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               long>::__type
1115:     lround(_Tp __x)
1115:     { return __builtin_lround(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   nearbyint(float __x)
1115:   { return __builtin_nearbyintf(__x); }
1115: 
1115:   constexpr long double
1115:   nearbyint(long double __x)
1115:   { return __builtin_nearbyintl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     nearbyint(_Tp __x)
1115:     { return __builtin_nearbyint(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   nextafter(float __x, float __y)
1115:   { return __builtin_nextafterf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   nextafter(long double __x, long double __y)
1115:   { return __builtin_nextafterl(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     nextafter(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return nextafter(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   nexttoward(float __x, long double __y)
1115:   { return __builtin_nexttowardf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   nexttoward(long double __x, long double __y)
1115:   { return __builtin_nexttowardl(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     nexttoward(_Tp __x, long double __y)
1115:     { return __builtin_nexttoward(__x, __y); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   remainder(float __x, float __y)
1115:   { return __builtin_remainderf(__x, __y); }
1115: 
1115:   constexpr long double
1115:   remainder(long double __x, long double __y)
1115:   { return __builtin_remainderl(__x, __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     remainder(_Tp __x, _Up __y)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return remainder(__type(__x), __type(__y));
1115:     }
1115: 
1115: 
1115: 
1115:   inline float
1115:   remquo(float __x, float __y, int* __pquo)
1115:   { return __builtin_remquof(__x, __y, __pquo); }
1115: 
1115:   inline long double
1115:   remquo(long double __x, long double __y, int* __pquo)
1115:   { return __builtin_remquol(__x, __y, __pquo); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Up>
1115:     inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
1115:     remquo(_Tp __x, _Up __y, int* __pquo)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
1115:       return remquo(__type(__x), __type(__y), __pquo);
1115:     }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   rint(float __x)
1115:   { return __builtin_rintf(__x); }
1115: 
1115:   constexpr long double
1115:   rint(long double __x)
1115:   { return __builtin_rintl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     rint(_Tp __x)
1115:     { return __builtin_rint(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   round(float __x)
1115:   { return __builtin_roundf(__x); }
1115: 
1115:   constexpr long double
1115:   round(long double __x)
1115:   { return __builtin_roundl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     round(_Tp __x)
1115:     { return __builtin_round(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   scalbln(float __x, long __ex)
1115:   { return __builtin_scalblnf(__x, __ex); }
1115: 
1115:   constexpr long double
1115:   scalbln(long double __x, long __ex)
1115:   { return __builtin_scalblnl(__x, __ex); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     scalbln(_Tp __x, long __ex)
1115:     { return __builtin_scalbln(__x, __ex); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   scalbn(float __x, int __ex)
1115:   { return __builtin_scalbnf(__x, __ex); }
1115: 
1115:   constexpr long double
1115:   scalbn(long double __x, int __ex)
1115:   { return __builtin_scalbnl(__x, __ex); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     scalbn(_Tp __x, int __ex)
1115:     { return __builtin_scalbn(__x, __ex); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   tgamma(float __x)
1115:   { return __builtin_tgammaf(__x); }
1115: 
1115:   constexpr long double
1115:   tgamma(long double __x)
1115:   { return __builtin_tgammal(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     tgamma(_Tp __x)
1115:     { return __builtin_tgamma(__x); }
1115: 
1115: 
1115: 
1115:   constexpr float
1115:   trunc(float __x)
1115:   { return __builtin_truncf(__x); }
1115: 
1115:   constexpr long double
1115:   trunc(long double __x)
1115:   { return __builtin_truncl(__x); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
1115:                                               double>::__type
1115:     trunc(_Tp __x)
1115:     { return __builtin_trunc(__x); }
1115: # 1852 "/usr/include/c++/12/cmath" 3
1115:   template<typename _Tp>
1115:     inline _Tp
1115:     __hypot3(_Tp __x, _Tp __y, _Tp __z)
1115:     {
1115:       __x = std::abs(__x);
1115:       __y = std::abs(__y);
1115:       __z = std::abs(__z);
1115:       if (_Tp __a = __x < __y ? __y < __z ? __z : __y : __x < __z ? __z : __x)
1115:  return __a * std::sqrt((__x / __a) * (__x / __a)
1115:           + (__y / __a) * (__y / __a)
1115:           + (__z / __a) * (__z / __a));
1115:       else
1115:  return {};
1115:     }
1115: 
1115:   inline float
1115:   hypot(float __x, float __y, float __z)
1115:   { return std::__hypot3<float>(__x, __y, __z); }
1115: 
1115:   inline double
1115:   hypot(double __x, double __y, double __z)
1115:   { return std::__hypot3<double>(__x, __y, __z); }
1115: 
1115:   inline long double
1115:   hypot(long double __x, long double __y, long double __z)
1115:   { return std::__hypot3<long double>(__x, __y, __z); }
1115: 
1115:   template<typename _Tp, typename _Up, typename _Vp>
1115:     __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>
1115:     hypot(_Tp __x, _Up __y, _Vp __z)
1115:     {
1115:       using __type = __gnu_cxx::__promoted_t<_Tp, _Up, _Vp>;
1115:       return std::__hypot3<__type>(__x, __y, __z);
1115:     }
1115: # 1931 "/usr/include/c++/12/cmath" 3
1115: 
1115: }
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/specfun.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/specfun.h" 3
1115: #pragma GCC visibility push(default)
1115: # 49 "/usr/include/c++/12/bits/specfun.h" 3
1115: # 1 "/usr/include/c++/12/tr1/gamma.tcc" 1 3
1115: # 49 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115: # 1 "/usr/include/c++/12/tr1/special_function_util.h" 1 3
1115: # 39 "/usr/include/c++/12/tr1/special_function_util.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 50 "/usr/include/c++/12/tr1/special_function_util.h" 3
1115:   namespace __detail
1115:   {
1115: 
1115: 
1115: 
1115:     template<typename _Tp>
1115:     struct __floating_point_constant
1115:     {
1115:       static const _Tp __value;
1115:     };
1115: 
1115: 
1115: 
1115:     template<typename _Tp>
1115:       struct __numeric_constants
1115:       {
1115: 
1115:         static _Tp __pi() throw()
1115:         { return static_cast<_Tp>(3.1415926535897932384626433832795029L); }
1115: 
1115:         static _Tp __pi_2() throw()
1115:         { return static_cast<_Tp>(1.5707963267948966192313216916397514L); }
1115: 
1115:         static _Tp __pi_3() throw()
1115:         { return static_cast<_Tp>(1.0471975511965977461542144610931676L); }
1115: 
1115:         static _Tp __pi_4() throw()
1115:         { return static_cast<_Tp>(0.7853981633974483096156608458198757L); }
1115: 
1115:         static _Tp __1_pi() throw()
1115:         { return static_cast<_Tp>(0.3183098861837906715377675267450287L); }
1115: 
1115:         static _Tp __2_sqrtpi() throw()
1115:         { return static_cast<_Tp>(1.1283791670955125738961589031215452L); }
1115: 
1115:         static _Tp __sqrt2() throw()
1115:         { return static_cast<_Tp>(1.4142135623730950488016887242096981L); }
1115: 
1115:         static _Tp __sqrt3() throw()
1115:         { return static_cast<_Tp>(1.7320508075688772935274463415058723L); }
1115: 
1115:         static _Tp __sqrtpio2() throw()
1115:         { return static_cast<_Tp>(1.2533141373155002512078826424055226L); }
1115: 
1115:         static _Tp __sqrt1_2() throw()
1115:         { return static_cast<_Tp>(0.7071067811865475244008443621048490L); }
1115: 
1115:         static _Tp __lnpi() throw()
1115:         { return static_cast<_Tp>(1.1447298858494001741434273513530587L); }
1115: 
1115:         static _Tp __gamma_e() throw()
1115:         { return static_cast<_Tp>(0.5772156649015328606065120900824024L); }
1115: 
1115:         static _Tp __euler() throw()
1115:         { return static_cast<_Tp>(2.7182818284590452353602874713526625L); }
1115:       };
1115: # 114 "/usr/include/c++/12/tr1/special_function_util.h" 3
1115:     template<typename _Tp>
1115:     inline bool __isnan(_Tp __x)
1115:     { return std::isnan(__x); }
1115: # 133 "/usr/include/c++/12/tr1/special_function_util.h" 3
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 50 "/usr/include/c++/12/tr1/gamma.tcc" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 65 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 76 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template <typename _Tp>
1115:     _Tp
1115:     __bernoulli_series(unsigned int __n)
1115:     {
1115: 
1115:       static const _Tp __num[28] = {
1115:         _Tp(1UL), -_Tp(1UL) / _Tp(2UL),
1115:         _Tp(1UL) / _Tp(6UL), _Tp(0UL),
1115:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1115:         _Tp(1UL) / _Tp(42UL), _Tp(0UL),
1115:         -_Tp(1UL) / _Tp(30UL), _Tp(0UL),
1115:         _Tp(5UL) / _Tp(66UL), _Tp(0UL),
1115:         -_Tp(691UL) / _Tp(2730UL), _Tp(0UL),
1115:         _Tp(7UL) / _Tp(6UL), _Tp(0UL),
1115:         -_Tp(3617UL) / _Tp(510UL), _Tp(0UL),
1115:         _Tp(43867UL) / _Tp(798UL), _Tp(0UL),
1115:         -_Tp(174611) / _Tp(330UL), _Tp(0UL),
1115:         _Tp(854513UL) / _Tp(138UL), _Tp(0UL),
1115:         -_Tp(236364091UL) / _Tp(2730UL), _Tp(0UL),
1115:         _Tp(8553103UL) / _Tp(6UL), _Tp(0UL)
1115:       };
1115: 
1115:       if (__n == 0)
1115:         return _Tp(1);
1115: 
1115:       if (__n == 1)
1115:         return -_Tp(1) / _Tp(2);
1115: 
1115: 
1115:       if (__n % 2 == 1)
1115:         return _Tp(0);
1115: 
1115: 
1115:       if (__n < 28)
1115:         return __num[__n];
1115: 
1115: 
1115:       _Tp __fact = _Tp(1);
1115:       if ((__n / 2) % 2 == 0)
1115:         __fact *= _Tp(-1);
1115:       for (unsigned int __k = 1; __k <= __n; ++__k)
1115:         __fact *= __k / (_Tp(2) * __numeric_constants<_Tp>::__pi());
1115:       __fact *= _Tp(2);
1115: 
1115:       _Tp __sum = _Tp(0);
1115:       for (unsigned int __i = 1; __i < 1000; ++__i)
1115:         {
1115:           _Tp __term = std::pow(_Tp(__i), -_Tp(__n));
1115:           if (__term < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:           __sum += __term;
1115:         }
1115: 
1115:       return __fact * __sum;
1115:     }
1115: # 139 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __bernoulli(int __n)
1115:     { return __bernoulli_series<_Tp>(__n); }
1115: # 153 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __log_gamma_bernoulli(_Tp __x)
1115:     {
1115:       _Tp __lg = (__x - _Tp(0.5L)) * std::log(__x) - __x
1115:                + _Tp(0.5L) * std::log(_Tp(2)
1115:                * __numeric_constants<_Tp>::__pi());
1115: 
1115:       const _Tp __xx = __x * __x;
1115:       _Tp __help = _Tp(1) / __x;
1115:       for ( unsigned int __i = 1; __i < 20; ++__i )
1115:         {
1115:           const _Tp __2i = _Tp(2 * __i);
1115:           __help /= __2i * (__2i - _Tp(1)) * __xx;
1115:           __lg += __bernoulli<_Tp>(2 * __i) * __help;
1115:         }
1115: 
1115:       return __lg;
1115:     }
1115: # 181 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __log_gamma_lanczos(_Tp __x)
1115:     {
1115:       const _Tp __xm1 = __x - _Tp(1);
1115: 
1115:       static const _Tp __lanczos_cheb_7[9] = {
1115:        _Tp( 0.99999999999980993227684700473478L),
1115:        _Tp( 676.520368121885098567009190444019L),
1115:        _Tp(-1259.13921672240287047156078755283L),
1115:        _Tp( 771.3234287776530788486528258894L),
1115:        _Tp(-176.61502916214059906584551354L),
1115:        _Tp( 12.507343278686904814458936853L),
1115:        _Tp(-0.13857109526572011689554707L),
1115:        _Tp( 9.984369578019570859563e-6L),
1115:        _Tp( 1.50563273514931155834e-7L)
1115:       };
1115: 
1115:       static const _Tp __LOGROOT2PI
1115:           = _Tp(0.9189385332046727417803297364056176L);
1115: 
1115:       _Tp __sum = __lanczos_cheb_7[0];
1115:       for(unsigned int __k = 1; __k < 9; ++__k)
1115:         __sum += __lanczos_cheb_7[__k] / (__xm1 + __k);
1115: 
1115:       const _Tp __term1 = (__xm1 + _Tp(0.5L))
1115:                         * std::log((__xm1 + _Tp(7.5L))
1115:                        / __numeric_constants<_Tp>::__euler());
1115:       const _Tp __term2 = __LOGROOT2PI + std::log(__sum);
1115:       const _Tp __result = __term1 + (__term2 - _Tp(7));
1115: 
1115:       return __result;
1115:     }
1115: # 225 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __log_gamma(_Tp __x)
1115:     {
1115:       if (__x > _Tp(0.5L))
1115:         return __log_gamma_lanczos(__x);
1115:       else
1115:         {
1115:           const _Tp __sin_fact
1115:                  = std::abs(std::sin(__numeric_constants<_Tp>::__pi() * __x));
1115:           if (__sin_fact == _Tp(0))
1115:             std::__throw_domain_error(("Argument is nonpositive integer " "in __log_gamma")
1115:                                                            );
1115:           return __numeric_constants<_Tp>::__lnpi()
1115:                      - std::log(__sin_fact)
1115:                      - __log_gamma_lanczos(_Tp(1) - __x);
1115:         }
1115:     }
1115: # 252 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __log_gamma_sign(_Tp __x)
1115:     {
1115:       if (__x > _Tp(0))
1115:         return _Tp(1);
1115:       else
1115:         {
1115:           const _Tp __sin_fact
1115:                   = std::sin(__numeric_constants<_Tp>::__pi() * __x);
1115:           if (__sin_fact > _Tp(0))
1115:             return (1);
1115:           else if (__sin_fact < _Tp(0))
1115:             return -_Tp(1);
1115:           else
1115:             return _Tp(0);
1115:         }
1115:     }
1115: # 283 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __log_bincoef(unsigned int __n, unsigned int __k)
1115:     {
1115: 
1115:       static const _Tp __max_bincoeff
1115:                       = std::numeric_limits<_Tp>::max_exponent10
1115:                       * std::log(_Tp(10)) - _Tp(1);
1115: 
1115:       _Tp __coeff = ::std::lgamma(_Tp(1 + __n))
1115:                   - ::std::lgamma(_Tp(1 + __k))
1115:                   - ::std::lgamma(_Tp(1 + __n - __k));
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     }
1115: # 314 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __bincoef(unsigned int __n, unsigned int __k)
1115:     {
1115: 
1115:       static const _Tp __max_bincoeff
1115:                       = std::numeric_limits<_Tp>::max_exponent10
1115:                       * std::log(_Tp(10)) - _Tp(1);
1115: 
1115:       const _Tp __log_coeff = __log_bincoef<_Tp>(__n, __k);
1115:       if (__log_coeff > __max_bincoeff)
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else
1115:         return std::exp(__log_coeff);
1115:     }
1115: # 337 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __gamma(_Tp __x)
1115:     { return std::exp(__log_gamma(__x)); }
1115: # 356 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __psi_series(_Tp __x)
1115:     {
1115:       _Tp __sum = -__numeric_constants<_Tp>::__gamma_e() - _Tp(1) / __x;
1115:       const unsigned int __max_iter = 100000;
1115:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1115:         {
1115:           const _Tp __term = __x / (__k * (__k + __x));
1115:           __sum += __term;
1115:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:         }
1115:       return __sum;
1115:     }
1115: # 386 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __psi_asymp(_Tp __x)
1115:     {
1115:       _Tp __sum = std::log(__x) - _Tp(0.5L) / __x;
1115:       const _Tp __xx = __x * __x;
1115:       _Tp __xp = __xx;
1115:       const unsigned int __max_iter = 100;
1115:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1115:         {
1115:           const _Tp __term = __bernoulli<_Tp>(2 * __k) / (2 * __k * __xp);
1115:           __sum -= __term;
1115:           if (std::abs(__term / __sum) < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:           __xp *= __xx;
1115:         }
1115:       return __sum;
1115:     }
1115: # 417 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __psi(_Tp __x)
1115:     {
1115:       const int __n = static_cast<int>(__x + 0.5L);
1115:       const _Tp __eps = _Tp(4) * std::numeric_limits<_Tp>::epsilon();
1115:       if (__n <= 0 && std::abs(__x - _Tp(__n)) < __eps)
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__x < _Tp(0))
1115:         {
1115:           const _Tp __pi = __numeric_constants<_Tp>::__pi();
1115:           return __psi(_Tp(1) - __x)
1115:                - __pi * std::cos(__pi * __x) / std::sin(__pi * __x);
1115:         }
1115:       else if (__x > _Tp(100))
1115:         return __psi_asymp(__x);
1115:       else
1115:         return __psi_series(__x);
1115:     }
1115: # 446 "/usr/include/c++/12/tr1/gamma.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __psi(unsigned int __n, _Tp __x)
1115:     {
1115:       if (__x <= _Tp(0))
1115:         std::__throw_domain_error(("Argument out of range " "in __psi")
1115:                                                  );
1115:       else if (__n == 0)
1115:         return __psi(__x);
1115:       else
1115:         {
1115:           const _Tp __hzeta = __hurwitz_zeta(_Tp(__n + 1), __x);
1115: 
1115:           const _Tp __ln_nfact = ::std::lgamma(_Tp(__n + 1));
1115: 
1115: 
1115: 
1115:           _Tp __result = std::exp(__ln_nfact) * __hzeta;
1115:           if (__n % 2 == 1)
1115:             __result = -__result;
1115:           return __result;
1115:         }
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 50 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/bessel_function.tcc" 1 3
1115: # 55 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 71 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 98 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template <typename _Tp>
1115:     void
1115:     __gamma_temme(_Tp __mu,
1115:                   _Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi)
1115:     {
1115: 
1115:       __gampl = _Tp(1) / ::std::tgamma(_Tp(1) + __mu);
1115:       __gammi = _Tp(1) / ::std::tgamma(_Tp(1) - __mu);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       if (std::abs(__mu) < std::numeric_limits<_Tp>::epsilon())
1115:         __gam1 = -_Tp(__numeric_constants<_Tp>::__gamma_e());
1115:       else
1115:         __gam1 = (__gammi - __gampl) / (_Tp(2) * __mu);
1115: 
1115:       __gam2 = (__gammi + __gampl) / (_Tp(2));
1115: 
1115:       return;
1115:     }
1115: # 136 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template <typename _Tp>
1115:     void
1115:     __bessel_jn(_Tp __nu, _Tp __x,
1115:                 _Tp & __Jnu, _Tp & __Nnu, _Tp & __Jpnu, _Tp & __Npnu)
1115:     {
1115:       if (__x == _Tp(0))
1115:         {
1115:           if (__nu == _Tp(0))
1115:             {
1115:               __Jnu = _Tp(1);
1115:               __Jpnu = _Tp(0);
1115:             }
1115:           else if (__nu == _Tp(1))
1115:             {
1115:               __Jnu = _Tp(0);
1115:               __Jpnu = _Tp(0.5L);
1115:             }
1115:           else
1115:             {
1115:               __Jnu = _Tp(0);
1115:               __Jpnu = _Tp(0);
1115:             }
1115:           __Nnu = -std::numeric_limits<_Tp>::infinity();
1115:           __Npnu = std::numeric_limits<_Tp>::infinity();
1115:           return;
1115:         }
1115: 
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115: 
1115: 
1115: 
1115: 
1115:       const _Tp __fp_min = std::sqrt(std::numeric_limits<_Tp>::min());
1115:       const int __max_iter = 15000;
1115:       const _Tp __x_min = _Tp(2);
1115: 
1115:       const int __nl = (__x < __x_min
1115:                     ? static_cast<int>(__nu + _Tp(0.5L))
1115:                     : std::max(0, static_cast<int>(__nu - __x + _Tp(1.5L))));
1115: 
1115:       const _Tp __mu = __nu - __nl;
1115:       const _Tp __mu2 = __mu * __mu;
1115:       const _Tp __xi = _Tp(1) / __x;
1115:       const _Tp __xi2 = _Tp(2) * __xi;
1115:       _Tp __w = __xi2 / __numeric_constants<_Tp>::__pi();
1115:       int __isign = 1;
1115:       _Tp __h = __nu * __xi;
1115:       if (__h < __fp_min)
1115:         __h = __fp_min;
1115:       _Tp __b = __xi2 * __nu;
1115:       _Tp __d = _Tp(0);
1115:       _Tp __c = __h;
1115:       int __i;
1115:       for (__i = 1; __i <= __max_iter; ++__i)
1115:         {
1115:           __b += __xi2;
1115:           __d = __b - __d;
1115:           if (std::abs(__d) < __fp_min)
1115:             __d = __fp_min;
1115:           __c = __b - _Tp(1) / __c;
1115:           if (std::abs(__c) < __fp_min)
1115:             __c = __fp_min;
1115:           __d = _Tp(1) / __d;
1115:           const _Tp __del = __c * __d;
1115:           __h *= __del;
1115:           if (__d < _Tp(0))
1115:             __isign = -__isign;
1115:           if (std::abs(__del - _Tp(1)) < __eps)
1115:             break;
1115:         }
1115:       if (__i > __max_iter)
1115:         std::__throw_runtime_error(("Argument x too large in __bessel_jn; " "try asymptotic expansion.")
1115:                                                                    );
1115:       _Tp __Jnul = __isign * __fp_min;
1115:       _Tp __Jpnul = __h * __Jnul;
1115:       _Tp __Jnul1 = __Jnul;
1115:       _Tp __Jpnu1 = __Jpnul;
1115:       _Tp __fact = __nu * __xi;
1115:       for ( int __l = __nl; __l >= 1; --__l )
1115:         {
1115:           const _Tp __Jnutemp = __fact * __Jnul + __Jpnul;
1115:           __fact -= __xi;
1115:           __Jpnul = __fact * __Jnutemp - __Jnul;
1115:           __Jnul = __Jnutemp;
1115:         }
1115:       if (__Jnul == _Tp(0))
1115:         __Jnul = __eps;
1115:       _Tp __f= __Jpnul / __Jnul;
1115:       _Tp __Nmu, __Nnu1, __Npmu, __Jmu;
1115:       if (__x < __x_min)
1115:         {
1115:           const _Tp __x2 = __x / _Tp(2);
1115:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1115:           _Tp __fact = (std::abs(__pimu) < __eps
1115:                       ? _Tp(1) : __pimu / std::sin(__pimu));
1115:           _Tp __d = -std::log(__x2);
1115:           _Tp __e = __mu * __d;
1115:           _Tp __fact2 = (std::abs(__e) < __eps
1115:                        ? _Tp(1) : std::sinh(__e) / __e);
1115:           _Tp __gam1, __gam2, __gampl, __gammi;
1115:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1115:           _Tp __ff = (_Tp(2) / __numeric_constants<_Tp>::__pi())
1115:                    * __fact * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1115:           __e = std::exp(__e);
1115:           _Tp __p = __e / (__numeric_constants<_Tp>::__pi() * __gampl);
1115:           _Tp __q = _Tp(1) / (__e * __numeric_constants<_Tp>::__pi() * __gammi);
1115:           const _Tp __pimu2 = __pimu / _Tp(2);
1115:           _Tp __fact3 = (std::abs(__pimu2) < __eps
1115:                        ? _Tp(1) : std::sin(__pimu2) / __pimu2 );
1115:           _Tp __r = __numeric_constants<_Tp>::__pi() * __pimu2 * __fact3 * __fact3;
1115:           _Tp __c = _Tp(1);
1115:           __d = -__x2 * __x2;
1115:           _Tp __sum = __ff + __r * __q;
1115:           _Tp __sum1 = __p;
1115:           for (__i = 1; __i <= __max_iter; ++__i)
1115:             {
1115:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
1115:               __c *= __d / _Tp(__i);
1115:               __p /= _Tp(__i) - __mu;
1115:               __q /= _Tp(__i) + __mu;
1115:               const _Tp __del = __c * (__ff + __r * __q);
1115:               __sum += __del;
1115:               const _Tp __del1 = __c * __p - __i * __del;
1115:               __sum1 += __del1;
1115:               if ( std::abs(__del) < __eps * (_Tp(1) + std::abs(__sum)) )
1115:                 break;
1115:             }
1115:           if ( __i > __max_iter )
1115:             std::__throw_runtime_error(("Bessel y series failed to converge " "in __bessel_jn.")
1115:                                                              );
1115:           __Nmu = -__sum;
1115:           __Nnu1 = -__sum1 * __xi2;
1115:           __Npmu = __mu * __xi * __Nmu - __Nnu1;
1115:           __Jmu = __w / (__Npmu - __f * __Nmu);
1115:         }
1115:       else
1115:         {
1115:           _Tp __a = _Tp(0.25L) - __mu2;
1115:           _Tp __q = _Tp(1);
1115:           _Tp __p = -__xi / _Tp(2);
1115:           _Tp __br = _Tp(2) * __x;
1115:           _Tp __bi = _Tp(2);
1115:           _Tp __fact = __a * __xi / (__p * __p + __q * __q);
1115:           _Tp __cr = __br + __q * __fact;
1115:           _Tp __ci = __bi + __p * __fact;
1115:           _Tp __den = __br * __br + __bi * __bi;
1115:           _Tp __dr = __br / __den;
1115:           _Tp __di = -__bi / __den;
1115:           _Tp __dlr = __cr * __dr - __ci * __di;
1115:           _Tp __dli = __cr * __di + __ci * __dr;
1115:           _Tp __temp = __p * __dlr - __q * __dli;
1115:           __q = __p * __dli + __q * __dlr;
1115:           __p = __temp;
1115:           int __i;
1115:           for (__i = 2; __i <= __max_iter; ++__i)
1115:             {
1115:               __a += _Tp(2 * (__i - 1));
1115:               __bi += _Tp(2);
1115:               __dr = __a * __dr + __br;
1115:               __di = __a * __di + __bi;
1115:               if (std::abs(__dr) + std::abs(__di) < __fp_min)
1115:                 __dr = __fp_min;
1115:               __fact = __a / (__cr * __cr + __ci * __ci);
1115:               __cr = __br + __cr * __fact;
1115:               __ci = __bi - __ci * __fact;
1115:               if (std::abs(__cr) + std::abs(__ci) < __fp_min)
1115:                 __cr = __fp_min;
1115:               __den = __dr * __dr + __di * __di;
1115:               __dr /= __den;
1115:               __di /= -__den;
1115:               __dlr = __cr * __dr - __ci * __di;
1115:               __dli = __cr * __di + __ci * __dr;
1115:               __temp = __p * __dlr - __q * __dli;
1115:               __q = __p * __dli + __q * __dlr;
1115:               __p = __temp;
1115:               if (std::abs(__dlr - _Tp(1)) + std::abs(__dli) < __eps)
1115:                 break;
1115:           }
1115:           if (__i > __max_iter)
1115:             std::__throw_runtime_error(("Lentz's method failed " "in __bessel_jn.")
1115:                                                              );
1115:           const _Tp __gam = (__p - __f) / __q;
1115:           __Jmu = std::sqrt(__w / ((__p - __f) * __gam + __q));
1115: 
1115:           __Jmu = ::std::copysign(__Jmu, __Jnul);
1115: 
1115: 
1115: 
1115: 
1115:           __Nmu = __gam * __Jmu;
1115:           __Npmu = (__p + __q / __gam) * __Nmu;
1115:           __Nnu1 = __mu * __xi * __Nmu - __Npmu;
1115:       }
1115:       __fact = __Jmu / __Jnul;
1115:       __Jnu = __fact * __Jnul1;
1115:       __Jpnu = __fact * __Jpnu1;
1115:       for (__i = 1; __i <= __nl; ++__i)
1115:         {
1115:           const _Tp __Nnutemp = (__mu + __i) * __xi2 * __Nnu1 - __Nmu;
1115:           __Nmu = __Nnu1;
1115:           __Nnu1 = __Nnutemp;
1115:         }
1115:       __Nnu = __Nmu;
1115:       __Npnu = __nu * __xi * __Nmu - __Nnu1;
1115: 
1115:       return;
1115:     }
1115: # 361 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template <typename _Tp>
1115:     void
1115:     __cyl_bessel_jn_asymp(_Tp __nu, _Tp __x, _Tp & __Jnu, _Tp & __Nnu)
1115:     {
1115:       const _Tp __mu = _Tp(4) * __nu * __nu;
1115:       const _Tp __8x = _Tp(8) * __x;
1115: 
1115:       _Tp __P = _Tp(0);
1115:       _Tp __Q = _Tp(0);
1115: 
1115:       _Tp __k = _Tp(0);
1115:       _Tp __term = _Tp(1);
1115: 
1115:       int __epsP = 0;
1115:       int __epsQ = 0;
1115: 
1115:       _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115: 
1115:       do
1115:         {
1115:           __term *= (__k == 0
1115:                      ? _Tp(1)
1115:                      : -(__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x));
1115: 
1115:           __epsP = std::abs(__term) < __eps * std::abs(__P);
1115:           __P += __term;
1115: 
1115:           __k++;
1115: 
1115:           __term *= (__mu - (2 * __k - 1) * (2 * __k - 1)) / (__k * __8x);
1115:           __epsQ = std::abs(__term) < __eps * std::abs(__Q);
1115:           __Q += __term;
1115: 
1115:           if (__epsP && __epsQ && __k > (__nu / 2.))
1115:             break;
1115: 
1115:           __k++;
1115:         }
1115:       while (__k < 1000);
1115: 
1115:       const _Tp __chi = __x - (__nu + _Tp(0.5L))
1115:                              * __numeric_constants<_Tp>::__pi_2();
1115: 
1115:       const _Tp __c = std::cos(__chi);
1115:       const _Tp __s = std::sin(__chi);
1115: 
1115:       const _Tp __coef = std::sqrt(_Tp(2)
1115:                              / (__numeric_constants<_Tp>::__pi() * __x));
1115: 
1115:       __Jnu = __coef * (__c * __P - __s * __Q);
1115:       __Nnu = __coef * (__s * __P + __c * __Q);
1115: 
1115:       return;
1115:     }
1115: # 444 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template <typename _Tp>
1115:     _Tp
1115:     __cyl_bessel_ij_series(_Tp __nu, _Tp __x, _Tp __sgn,
1115:                            unsigned int __max_iter)
1115:     {
1115:       if (__x == _Tp(0))
1115:  return __nu == _Tp(0) ? _Tp(1) : _Tp(0);
1115: 
1115:       const _Tp __x2 = __x / _Tp(2);
1115:       _Tp __fact = __nu * std::log(__x2);
1115: 
1115:       __fact -= ::std::lgamma(__nu + _Tp(1));
1115: 
1115: 
1115: 
1115:       __fact = std::exp(__fact);
1115:       const _Tp __xx4 = __sgn * __x2 * __x2;
1115:       _Tp __Jn = _Tp(1);
1115:       _Tp __term = _Tp(1);
1115: 
1115:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1115:         {
1115:           __term *= __xx4 / (_Tp(__i) * (__nu + _Tp(__i)));
1115:           __Jn += __term;
1115:           if (std::abs(__term / __Jn) < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:         }
1115: 
1115:       return __fact * __Jn;
1115:     }
1115: # 490 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __cyl_bessel_j(_Tp __nu, _Tp __x)
1115:     {
1115:       if (__nu < _Tp(0) || __x < _Tp(0))
1115:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_j.")
1115:                                                            );
1115:       else if (__isnan(__nu) || __isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1115:         return __cyl_bessel_ij_series(__nu, __x, -_Tp(1), 200);
1115:       else if (__x > _Tp(1000))
1115:         {
1115:           _Tp __J_nu, __N_nu;
1115:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1115:           return __J_nu;
1115:         }
1115:       else
1115:         {
1115:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1115:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1115:           return __J_nu;
1115:         }
1115:     }
1115: # 532 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __cyl_neumann_n(_Tp __nu, _Tp __x)
1115:     {
1115:       if (__nu < _Tp(0) || __x < _Tp(0))
1115:         std::__throw_domain_error(("Bad argument " "in __cyl_neumann_n.")
1115:                                                             );
1115:       else if (__isnan(__nu) || __isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__x > _Tp(1000))
1115:         {
1115:           _Tp __J_nu, __N_nu;
1115:           __cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
1115:           return __N_nu;
1115:         }
1115:       else
1115:         {
1115:           _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1115:           __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1115:           return __N_nu;
1115:         }
1115:     }
1115: # 569 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template <typename _Tp>
1115:     void
1115:     __sph_bessel_jn(unsigned int __n, _Tp __x,
1115:                     _Tp & __j_n, _Tp & __n_n, _Tp & __jp_n, _Tp & __np_n)
1115:     {
1115:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1115: 
1115:       _Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
1115:       __bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1115: 
1115:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1115:                          / std::sqrt(__x);
1115: 
1115:       __j_n = __factor * __J_nu;
1115:       __n_n = __factor * __N_nu;
1115:       __jp_n = __factor * __Jp_nu - __j_n / (_Tp(2) * __x);
1115:       __np_n = __factor * __Np_nu - __n_n / (_Tp(2) * __x);
1115: 
1115:       return;
1115:     }
1115: # 604 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template <typename _Tp>
1115:     _Tp
1115:     __sph_bessel(unsigned int __n, _Tp __x)
1115:     {
1115:       if (__x < _Tp(0))
1115:         std::__throw_domain_error(("Bad argument " "in __sph_bessel.")
1115:                                                          );
1115:       else if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__x == _Tp(0))
1115:         {
1115:           if (__n == 0)
1115:             return _Tp(1);
1115:           else
1115:             return _Tp(0);
1115:         }
1115:       else
1115:         {
1115:           _Tp __j_n, __n_n, __jp_n, __np_n;
1115:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1115:           return __j_n;
1115:         }
1115:     }
1115: # 642 "/usr/include/c++/12/tr1/bessel_function.tcc" 3
1115:     template <typename _Tp>
1115:     _Tp
1115:     __sph_neumann(unsigned int __n, _Tp __x)
1115:     {
1115:       if (__x < _Tp(0))
1115:         std::__throw_domain_error(("Bad argument " "in __sph_neumann.")
1115:                                                           );
1115:       else if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__x == _Tp(0))
1115:         return -std::numeric_limits<_Tp>::infinity();
1115:       else
1115:         {
1115:           _Tp __j_n, __n_n, __jp_n, __np_n;
1115:           __sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
1115:           return __n_n;
1115:         }
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 51 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/beta_function.tcc" 1 3
1115: # 49 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 65 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 79 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __beta_gamma(_Tp __x, _Tp __y)
1115:     {
1115: 
1115:       _Tp __bet;
1115: 
1115:       if (__x > __y)
1115:         {
1115:           __bet = ::std::tgamma(__x)
1115:                 / ::std::tgamma(__x + __y);
1115:           __bet *= ::std::tgamma(__y);
1115:         }
1115:       else
1115:         {
1115:           __bet = ::std::tgamma(__y)
1115:                 / ::std::tgamma(__x + __y);
1115:           __bet *= ::std::tgamma(__x);
1115:         }
1115: # 111 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1115:       return __bet;
1115:     }
1115: # 127 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __beta_lgamma(_Tp __x, _Tp __y)
1115:     {
1115: 
1115:       _Tp __bet = ::std::lgamma(__x)
1115:                 + ::std::lgamma(__y)
1115:                 - ::std::lgamma(__x + __y);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       __bet = std::exp(__bet);
1115:       return __bet;
1115:     }
1115: # 158 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __beta_product(_Tp __x, _Tp __y)
1115:     {
1115: 
1115:       _Tp __bet = (__x + __y) / (__x * __y);
1115: 
1115:       unsigned int __max_iter = 1000000;
1115:       for (unsigned int __k = 1; __k < __max_iter; ++__k)
1115:         {
1115:           _Tp __term = (_Tp(1) + (__x + __y) / __k)
1115:                      / ((_Tp(1) + __x / __k) * (_Tp(1) + __y / __k));
1115:           __bet *= __term;
1115:         }
1115: 
1115:       return __bet;
1115:     }
1115: # 189 "/usr/include/c++/12/tr1/beta_function.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __beta(_Tp __x, _Tp __y)
1115:     {
1115:       if (__isnan(__x) || __isnan(__y))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else
1115:         return __beta_lgamma(__x, __y);
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 52 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/ell_integral.tcc" 1 3
1115: # 45 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 59 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 76 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __ellint_rf(_Tp __x, _Tp __y, _Tp __z)
1115:     {
1115:       const _Tp __min = std::numeric_limits<_Tp>::min();
1115:       const _Tp __lolim = _Tp(5) * __min;
1115: 
1115:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1115:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rf.")
1115:                                                         );
1115:       else if (__x + __y < __lolim || __x + __z < __lolim
1115:             || __y + __z < __lolim)
1115:         std::__throw_domain_error(("Argument too small in __ellint_rf"));
1115:       else
1115:         {
1115:           const _Tp __c0 = _Tp(1) / _Tp(4);
1115:           const _Tp __c1 = _Tp(1) / _Tp(24);
1115:           const _Tp __c2 = _Tp(1) / _Tp(10);
1115:           const _Tp __c3 = _Tp(3) / _Tp(44);
1115:           const _Tp __c4 = _Tp(1) / _Tp(14);
1115: 
1115:           _Tp __xn = __x;
1115:           _Tp __yn = __y;
1115:           _Tp __zn = __z;
1115: 
1115:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:           const _Tp __errtol = std::pow(__eps, _Tp(1) / _Tp(6));
1115:           _Tp __mu;
1115:           _Tp __xndev, __yndev, __zndev;
1115: 
1115:           const unsigned int __max_iter = 100;
1115:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1115:             {
1115:               __mu = (__xn + __yn + __zn) / _Tp(3);
1115:               __xndev = 2 - (__mu + __xn) / __mu;
1115:               __yndev = 2 - (__mu + __yn) / __mu;
1115:               __zndev = 2 - (__mu + __zn) / __mu;
1115:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1115:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1115:               if (__epsilon < __errtol)
1115:                 break;
1115:               const _Tp __xnroot = std::sqrt(__xn);
1115:               const _Tp __ynroot = std::sqrt(__yn);
1115:               const _Tp __znroot = std::sqrt(__zn);
1115:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1115:                                  + __ynroot * __znroot;
1115:               __xn = __c0 * (__xn + __lambda);
1115:               __yn = __c0 * (__yn + __lambda);
1115:               __zn = __c0 * (__zn + __lambda);
1115:             }
1115: 
1115:           const _Tp __e2 = __xndev * __yndev - __zndev * __zndev;
1115:           const _Tp __e3 = __xndev * __yndev * __zndev;
1115:           const _Tp __s = _Tp(1) + (__c1 * __e2 - __c2 - __c3 * __e3) * __e2
1115:                    + __c4 * __e3;
1115: 
1115:           return __s / std::sqrt(__mu);
1115:         }
1115:     }
1115: # 153 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __comp_ellint_1_series(_Tp __k)
1115:     {
1115: 
1115:       const _Tp __kk = __k * __k;
1115: 
1115:       _Tp __term = __kk / _Tp(4);
1115:       _Tp __sum = _Tp(1) + __term;
1115: 
1115:       const unsigned int __max_iter = 1000;
1115:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1115:         {
1115:           __term *= (2 * __i - 1) * __kk / (2 * __i);
1115:           if (__term < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:           __sum += __term;
1115:         }
1115: 
1115:       return __numeric_constants<_Tp>::__pi_2() * __sum;
1115:     }
1115: # 191 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __comp_ellint_1(_Tp __k)
1115:     {
1115: 
1115:       if (__isnan(__k))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (std::abs(__k) >= _Tp(1))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else
1115:         return __ellint_rf(_Tp(0), _Tp(1) - __k * __k, _Tp(1));
1115:     }
1115: # 219 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __ellint_1(_Tp __k, _Tp __phi)
1115:     {
1115: 
1115:       if (__isnan(__k) || __isnan(__phi))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (std::abs(__k) > _Tp(1))
1115:         std::__throw_domain_error(("Bad argument in __ellint_1."));
1115:       else
1115:         {
1115: 
1115:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1115:                                    + _Tp(0.5L));
1115:           const _Tp __phi_red = __phi
1115:                               - __n * __numeric_constants<_Tp>::__pi();
1115: 
1115:           const _Tp __s = std::sin(__phi_red);
1115:           const _Tp __c = std::cos(__phi_red);
1115: 
1115:           const _Tp __F = __s
1115:                         * __ellint_rf(__c * __c,
1115:                                 _Tp(1) - __k * __k * __s * __s, _Tp(1));
1115: 
1115:           if (__n == 0)
1115:             return __F;
1115:           else
1115:             return __F + _Tp(2) * __n * __comp_ellint_1(__k);
1115:         }
1115:     }
1115: # 266 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __comp_ellint_2_series(_Tp __k)
1115:     {
1115: 
1115:       const _Tp __kk = __k * __k;
1115: 
1115:       _Tp __term = __kk;
1115:       _Tp __sum = __term;
1115: 
1115:       const unsigned int __max_iter = 1000;
1115:       for (unsigned int __i = 2; __i < __max_iter; ++__i)
1115:         {
1115:           const _Tp __i2m = 2 * __i - 1;
1115:           const _Tp __i2 = 2 * __i;
1115:           __term *= __i2m * __i2m * __kk / (__i2 * __i2);
1115:           if (__term < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:           __sum += __term / __i2m;
1115:         }
1115: 
1115:       return __numeric_constants<_Tp>::__pi_2() * (_Tp(1) - __sum);
1115:     }
1115: # 314 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __ellint_rd(_Tp __x, _Tp __y, _Tp __z)
1115:     {
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1115:       const _Tp __max = std::numeric_limits<_Tp>::max();
1115:       const _Tp __lolim = _Tp(2) / std::pow(__max, _Tp(2) / _Tp(3));
1115: 
1115:       if (__x < _Tp(0) || __y < _Tp(0))
1115:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rd.")
1115:                                                         );
1115:       else if (__x + __y < __lolim || __z < __lolim)
1115:         std::__throw_domain_error(("Argument too small " "in __ellint_rd.")
1115:                                                         );
1115:       else
1115:         {
1115:           const _Tp __c0 = _Tp(1) / _Tp(4);
1115:           const _Tp __c1 = _Tp(3) / _Tp(14);
1115:           const _Tp __c2 = _Tp(1) / _Tp(6);
1115:           const _Tp __c3 = _Tp(9) / _Tp(22);
1115:           const _Tp __c4 = _Tp(3) / _Tp(26);
1115: 
1115:           _Tp __xn = __x;
1115:           _Tp __yn = __y;
1115:           _Tp __zn = __z;
1115:           _Tp __sigma = _Tp(0);
1115:           _Tp __power4 = _Tp(1);
1115: 
1115:           _Tp __mu;
1115:           _Tp __xndev, __yndev, __zndev;
1115: 
1115:           const unsigned int __max_iter = 100;
1115:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1115:             {
1115:               __mu = (__xn + __yn + _Tp(3) * __zn) / _Tp(5);
1115:               __xndev = (__mu - __xn) / __mu;
1115:               __yndev = (__mu - __yn) / __mu;
1115:               __zndev = (__mu - __zn) / __mu;
1115:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1115:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1115:               if (__epsilon < __errtol)
1115:                 break;
1115:               _Tp __xnroot = std::sqrt(__xn);
1115:               _Tp __ynroot = std::sqrt(__yn);
1115:               _Tp __znroot = std::sqrt(__zn);
1115:               _Tp __lambda = __xnroot * (__ynroot + __znroot)
1115:                            + __ynroot * __znroot;
1115:               __sigma += __power4 / (__znroot * (__zn + __lambda));
1115:               __power4 *= __c0;
1115:               __xn = __c0 * (__xn + __lambda);
1115:               __yn = __c0 * (__yn + __lambda);
1115:               __zn = __c0 * (__zn + __lambda);
1115:             }
1115: 
1115:           _Tp __ea = __xndev * __yndev;
1115:           _Tp __eb = __zndev * __zndev;
1115:           _Tp __ec = __ea - __eb;
1115:           _Tp __ed = __ea - _Tp(6) * __eb;
1115:           _Tp __ef = __ed + __ec + __ec;
1115:           _Tp __s1 = __ed * (-__c1 + __c3 * __ed
1115:                                    / _Tp(3) - _Tp(3) * __c4 * __zndev * __ef
1115:                                    / _Tp(2));
1115:           _Tp __s2 = __zndev
1115:                    * (__c2 * __ef
1115:                     + __zndev * (-__c3 * __ec - __zndev * __c4 - __ea));
1115: 
1115:           return _Tp(3) * __sigma + __power4 * (_Tp(1) + __s1 + __s2)
1115:                                         / (__mu * std::sqrt(__mu));
1115:         }
1115:     }
1115: # 399 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __comp_ellint_2(_Tp __k)
1115:     {
1115: 
1115:       if (__isnan(__k))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (std::abs(__k) == 1)
1115:         return _Tp(1);
1115:       else if (std::abs(__k) > _Tp(1))
1115:         std::__throw_domain_error(("Bad argument in __comp_ellint_2."));
1115:       else
1115:         {
1115:           const _Tp __kk = __k * __k;
1115: 
1115:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1115:                - __kk * __ellint_rd(_Tp(0), _Tp(1) - __kk, _Tp(1)) / _Tp(3);
1115:         }
1115:     }
1115: # 433 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __ellint_2(_Tp __k, _Tp __phi)
1115:     {
1115: 
1115:       if (__isnan(__k) || __isnan(__phi))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (std::abs(__k) > _Tp(1))
1115:         std::__throw_domain_error(("Bad argument in __ellint_2."));
1115:       else
1115:         {
1115: 
1115:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1115:                                    + _Tp(0.5L));
1115:           const _Tp __phi_red = __phi
1115:                               - __n * __numeric_constants<_Tp>::__pi();
1115: 
1115:           const _Tp __kk = __k * __k;
1115:           const _Tp __s = std::sin(__phi_red);
1115:           const _Tp __ss = __s * __s;
1115:           const _Tp __sss = __ss * __s;
1115:           const _Tp __c = std::cos(__phi_red);
1115:           const _Tp __cc = __c * __c;
1115: 
1115:           const _Tp __E = __s
1115:                         * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1115:                         - __kk * __sss
1115:                         * __ellint_rd(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1115:                         / _Tp(3);
1115: 
1115:           if (__n == 0)
1115:             return __E;
1115:           else
1115:             return __E + _Tp(2) * __n * __comp_ellint_2(__k);
1115:         }
1115:     }
1115: # 492 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __ellint_rc(_Tp __x, _Tp __y)
1115:     {
1115:       const _Tp __min = std::numeric_limits<_Tp>::min();
1115:       const _Tp __lolim = _Tp(5) * __min;
1115: 
1115:       if (__x < _Tp(0) || __y < _Tp(0) || __x + __y < __lolim)
1115:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rc.")
1115:                                                         );
1115:       else
1115:         {
1115:           const _Tp __c0 = _Tp(1) / _Tp(4);
1115:           const _Tp __c1 = _Tp(1) / _Tp(7);
1115:           const _Tp __c2 = _Tp(9) / _Tp(22);
1115:           const _Tp __c3 = _Tp(3) / _Tp(10);
1115:           const _Tp __c4 = _Tp(3) / _Tp(8);
1115: 
1115:           _Tp __xn = __x;
1115:           _Tp __yn = __y;
1115: 
1115:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:           const _Tp __errtol = std::pow(__eps / _Tp(30), _Tp(1) / _Tp(6));
1115:           _Tp __mu;
1115:           _Tp __sn;
1115: 
1115:           const unsigned int __max_iter = 100;
1115:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1115:             {
1115:               __mu = (__xn + _Tp(2) * __yn) / _Tp(3);
1115:               __sn = (__yn + __mu) / __mu - _Tp(2);
1115:               if (std::abs(__sn) < __errtol)
1115:                 break;
1115:               const _Tp __lambda = _Tp(2) * std::sqrt(__xn) * std::sqrt(__yn)
1115:                              + __yn;
1115:               __xn = __c0 * (__xn + __lambda);
1115:               __yn = __c0 * (__yn + __lambda);
1115:             }
1115: 
1115:           _Tp __s = __sn * __sn
1115:                   * (__c3 + __sn*(__c1 + __sn * (__c4 + __sn * __c2)));
1115: 
1115:           return (_Tp(1) + __s) / std::sqrt(__mu);
1115:         }
1115:     }
1115: # 561 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __ellint_rj(_Tp __x, _Tp __y, _Tp __z, _Tp __p)
1115:     {
1115:       const _Tp __min = std::numeric_limits<_Tp>::min();
1115:       const _Tp __lolim = std::pow(_Tp(5) * __min, _Tp(1)/_Tp(3));
1115: 
1115:       if (__x < _Tp(0) || __y < _Tp(0) || __z < _Tp(0))
1115:         std::__throw_domain_error(("Argument less than zero " "in __ellint_rj.")
1115:                                                         );
1115:       else if (__x + __y < __lolim || __x + __z < __lolim
1115:             || __y + __z < __lolim || __p < __lolim)
1115:         std::__throw_domain_error(("Argument too small " "in __ellint_rj")
1115:                                                        );
1115:       else
1115:         {
1115:           const _Tp __c0 = _Tp(1) / _Tp(4);
1115:           const _Tp __c1 = _Tp(3) / _Tp(14);
1115:           const _Tp __c2 = _Tp(1) / _Tp(3);
1115:           const _Tp __c3 = _Tp(3) / _Tp(22);
1115:           const _Tp __c4 = _Tp(3) / _Tp(26);
1115: 
1115:           _Tp __xn = __x;
1115:           _Tp __yn = __y;
1115:           _Tp __zn = __z;
1115:           _Tp __pn = __p;
1115:           _Tp __sigma = _Tp(0);
1115:           _Tp __power4 = _Tp(1);
1115: 
1115:           const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:           const _Tp __errtol = std::pow(__eps / _Tp(8), _Tp(1) / _Tp(6));
1115: 
1115:           _Tp __mu;
1115:           _Tp __xndev, __yndev, __zndev, __pndev;
1115: 
1115:           const unsigned int __max_iter = 100;
1115:           for (unsigned int __iter = 0; __iter < __max_iter; ++__iter)
1115:             {
1115:               __mu = (__xn + __yn + __zn + _Tp(2) * __pn) / _Tp(5);
1115:               __xndev = (__mu - __xn) / __mu;
1115:               __yndev = (__mu - __yn) / __mu;
1115:               __zndev = (__mu - __zn) / __mu;
1115:               __pndev = (__mu - __pn) / __mu;
1115:               _Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
1115:               __epsilon = std::max(__epsilon, std::abs(__zndev));
1115:               __epsilon = std::max(__epsilon, std::abs(__pndev));
1115:               if (__epsilon < __errtol)
1115:                 break;
1115:               const _Tp __xnroot = std::sqrt(__xn);
1115:               const _Tp __ynroot = std::sqrt(__yn);
1115:               const _Tp __znroot = std::sqrt(__zn);
1115:               const _Tp __lambda = __xnroot * (__ynroot + __znroot)
1115:                                  + __ynroot * __znroot;
1115:               const _Tp __alpha1 = __pn * (__xnroot + __ynroot + __znroot)
1115:                                 + __xnroot * __ynroot * __znroot;
1115:               const _Tp __alpha2 = __alpha1 * __alpha1;
1115:               const _Tp __beta = __pn * (__pn + __lambda)
1115:                                       * (__pn + __lambda);
1115:               __sigma += __power4 * __ellint_rc(__alpha2, __beta);
1115:               __power4 *= __c0;
1115:               __xn = __c0 * (__xn + __lambda);
1115:               __yn = __c0 * (__yn + __lambda);
1115:               __zn = __c0 * (__zn + __lambda);
1115:               __pn = __c0 * (__pn + __lambda);
1115:             }
1115: 
1115:           _Tp __ea = __xndev * (__yndev + __zndev) + __yndev * __zndev;
1115:           _Tp __eb = __xndev * __yndev * __zndev;
1115:           _Tp __ec = __pndev * __pndev;
1115:           _Tp __e2 = __ea - _Tp(3) * __ec;
1115:           _Tp __e3 = __eb + _Tp(2) * __pndev * (__ea - __ec);
1115:           _Tp __s1 = _Tp(1) + __e2 * (-__c1 + _Tp(3) * __c3 * __e2 / _Tp(4)
1115:                             - _Tp(3) * __c4 * __e3 / _Tp(2));
1115:           _Tp __s2 = __eb * (__c2 / _Tp(2)
1115:                    + __pndev * (-__c3 - __c3 + __pndev * __c4));
1115:           _Tp __s3 = __pndev * __ea * (__c2 - __pndev * __c3)
1115:                    - __c2 * __pndev * __ec;
1115: 
1115:           return _Tp(3) * __sigma + __power4 * (__s1 + __s2 + __s3)
1115:                                              / (__mu * std::sqrt(__mu));
1115:         }
1115:     }
1115: # 661 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __comp_ellint_3(_Tp __k, _Tp __nu)
1115:     {
1115: 
1115:       if (__isnan(__k) || __isnan(__nu))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__nu == _Tp(1))
1115:         return std::numeric_limits<_Tp>::infinity();
1115:       else if (std::abs(__k) > _Tp(1))
1115:         std::__throw_domain_error(("Bad argument in __comp_ellint_3."));
1115:       else
1115:         {
1115:           const _Tp __kk = __k * __k;
1115: 
1115:           return __ellint_rf(_Tp(0), _Tp(1) - __kk, _Tp(1))
1115:                + __nu
1115:                * __ellint_rj(_Tp(0), _Tp(1) - __kk, _Tp(1), _Tp(1) - __nu)
1115:                / _Tp(3);
1115:         }
1115:     }
1115: # 701 "/usr/include/c++/12/tr1/ell_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __ellint_3(_Tp __k, _Tp __nu, _Tp __phi)
1115:     {
1115: 
1115:       if (__isnan(__k) || __isnan(__nu) || __isnan(__phi))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (std::abs(__k) > _Tp(1))
1115:         std::__throw_domain_error(("Bad argument in __ellint_3."));
1115:       else
1115:         {
1115: 
1115:           const int __n = std::floor(__phi / __numeric_constants<_Tp>::__pi()
1115:                                    + _Tp(0.5L));
1115:           const _Tp __phi_red = __phi
1115:                               - __n * __numeric_constants<_Tp>::__pi();
1115: 
1115:           const _Tp __kk = __k * __k;
1115:           const _Tp __s = std::sin(__phi_red);
1115:           const _Tp __ss = __s * __s;
1115:           const _Tp __sss = __ss * __s;
1115:           const _Tp __c = std::cos(__phi_red);
1115:           const _Tp __cc = __c * __c;
1115: 
1115:           const _Tp __Pi = __s
1115:                          * __ellint_rf(__cc, _Tp(1) - __kk * __ss, _Tp(1))
1115:                          + __nu * __sss
1115:                          * __ellint_rj(__cc, _Tp(1) - __kk * __ss, _Tp(1),
1115:                                        _Tp(1) - __nu * __ss) / _Tp(3);
1115: 
1115:           if (__n == 0)
1115:             return __Pi;
1115:           else
1115:             return __Pi + _Tp(2) * __n * __comp_ellint_3(__k, __nu);
1115:         }
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 53 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/exp_integral.tcc" 1 3
1115: # 50 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 64 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:   namespace __detail
1115:   {
1115:     template<typename _Tp> _Tp __expint_E1(_Tp);
1115: # 81 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_E1_series(_Tp __x)
1115:     {
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       _Tp __term = _Tp(1);
1115:       _Tp __esum = _Tp(0);
1115:       _Tp __osum = _Tp(0);
1115:       const unsigned int __max_iter = 1000;
1115:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1115:         {
1115:           __term *= - __x / __i;
1115:           if (std::abs(__term) < __eps)
1115:             break;
1115:           if (__term >= _Tp(0))
1115:             __esum += __term / __i;
1115:           else
1115:             __osum += __term / __i;
1115:         }
1115: 
1115:       return - __esum - __osum
1115:              - __numeric_constants<_Tp>::__gamma_e() - std::log(__x);
1115:     }
1115: # 118 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_E1_asymp(_Tp __x)
1115:     {
1115:       _Tp __term = _Tp(1);
1115:       _Tp __esum = _Tp(1);
1115:       _Tp __osum = _Tp(0);
1115:       const unsigned int __max_iter = 1000;
1115:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1115:         {
1115:           _Tp __prev = __term;
1115:           __term *= - __i / __x;
1115:           if (std::abs(__term) > std::abs(__prev))
1115:             break;
1115:           if (__term >= _Tp(0))
1115:             __esum += __term;
1115:           else
1115:             __osum += __term;
1115:         }
1115: 
1115:       return std::exp(- __x) * (__esum + __osum) / __x;
1115:     }
1115: # 155 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_En_series(unsigned int __n, _Tp __x)
1115:     {
1115:       const unsigned int __max_iter = 1000;
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       const int __nm1 = __n - 1;
1115:       _Tp __ans = (__nm1 != 0
1115:                 ? _Tp(1) / __nm1 : -std::log(__x)
1115:                                    - __numeric_constants<_Tp>::__gamma_e());
1115:       _Tp __fact = _Tp(1);
1115:       for (int __i = 1; __i <= __max_iter; ++__i)
1115:         {
1115:           __fact *= -__x / _Tp(__i);
1115:           _Tp __del;
1115:           if ( __i != __nm1 )
1115:             __del = -__fact / _Tp(__i - __nm1);
1115:           else
1115:             {
1115:               _Tp __psi = -__numeric_constants<_Tp>::gamma_e();
1115:               for (int __ii = 1; __ii <= __nm1; ++__ii)
1115:                 __psi += _Tp(1) / _Tp(__ii);
1115:               __del = __fact * (__psi - std::log(__x));
1115:             }
1115:           __ans += __del;
1115:           if (std::abs(__del) < __eps * std::abs(__ans))
1115:             return __ans;
1115:         }
1115:       std::__throw_runtime_error(("Series summation failed " "in __expint_En_series.")
1115:                                                               );
1115:     }
1115: # 201 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_En_cont_frac(unsigned int __n, _Tp __x)
1115:     {
1115:       const unsigned int __max_iter = 1000;
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       const _Tp __fp_min = std::numeric_limits<_Tp>::min();
1115:       const int __nm1 = __n - 1;
1115:       _Tp __b = __x + _Tp(__n);
1115:       _Tp __c = _Tp(1) / __fp_min;
1115:       _Tp __d = _Tp(1) / __b;
1115:       _Tp __h = __d;
1115:       for ( unsigned int __i = 1; __i <= __max_iter; ++__i )
1115:         {
1115:           _Tp __a = -_Tp(__i * (__nm1 + __i));
1115:           __b += _Tp(2);
1115:           __d = _Tp(1) / (__a * __d + __b);
1115:           __c = __b + __a / __c;
1115:           const _Tp __del = __c * __d;
1115:           __h *= __del;
1115:           if (std::abs(__del - _Tp(1)) < __eps)
1115:             {
1115:               const _Tp __ans = __h * std::exp(-__x);
1115:               return __ans;
1115:             }
1115:         }
1115:       std::__throw_runtime_error(("Continued fraction failed " "in __expint_En_cont_frac.")
1115:                                                                  );
1115:     }
1115: # 246 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_En_recursion(unsigned int __n, _Tp __x)
1115:     {
1115:       _Tp __En;
1115:       _Tp __E1 = __expint_E1(__x);
1115:       if (__x < _Tp(__n))
1115:         {
1115: 
1115:           __En = __E1;
1115:           for (unsigned int __j = 2; __j < __n; ++__j)
1115:             __En = (std::exp(-__x) - __x * __En) / _Tp(__j - 1);
1115:         }
1115:       else
1115:         {
1115: 
1115:           __En = _Tp(1);
1115:           const int __N = __n + 20;
1115:           _Tp __save = _Tp(0);
1115:           for (int __j = __N; __j > 0; --__j)
1115:             {
1115:               __En = (std::exp(-__x) - __j * __En) / __x;
1115:               if (__j == __n)
1115:                 __save = __En;
1115:             }
1115:             _Tp __norm = __En / __E1;
1115:             __En /= __norm;
1115:         }
1115: 
1115:       return __En;
1115:     }
1115: # 290 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_Ei_series(_Tp __x)
1115:     {
1115:       _Tp __term = _Tp(1);
1115:       _Tp __sum = _Tp(0);
1115:       const unsigned int __max_iter = 1000;
1115:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1115:         {
1115:           __term *= __x / __i;
1115:           __sum += __term / __i;
1115:           if (__term < std::numeric_limits<_Tp>::epsilon() * __sum)
1115:             break;
1115:         }
1115: 
1115:       return __numeric_constants<_Tp>::__gamma_e() + __sum + std::log(__x);
1115:     }
1115: # 321 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_Ei_asymp(_Tp __x)
1115:     {
1115:       _Tp __term = _Tp(1);
1115:       _Tp __sum = _Tp(1);
1115:       const unsigned int __max_iter = 1000;
1115:       for (unsigned int __i = 1; __i < __max_iter; ++__i)
1115:         {
1115:           _Tp __prev = __term;
1115:           __term *= __i / __x;
1115:           if (__term < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:           if (__term >= __prev)
1115:             break;
1115:           __sum += __term;
1115:         }
1115: 
1115:       return std::exp(__x) * __sum / __x;
1115:     }
1115: # 354 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_Ei(_Tp __x)
1115:     {
1115:       if (__x < _Tp(0))
1115:         return -__expint_E1(-__x);
1115:       else if (__x < -std::log(std::numeric_limits<_Tp>::epsilon()))
1115:         return __expint_Ei_series(__x);
1115:       else
1115:         return __expint_Ei_asymp(__x);
1115:     }
1115: # 378 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_E1(_Tp __x)
1115:     {
1115:       if (__x < _Tp(0))
1115:         return -__expint_Ei(-__x);
1115:       else if (__x < _Tp(1))
1115:         return __expint_E1_series(__x);
1115:       else if (__x < _Tp(100))
1115:         return __expint_En_cont_frac(1, __x);
1115:       else
1115:         return __expint_E1_asymp(__x);
1115:     }
1115: # 408 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_asymp(unsigned int __n, _Tp __x)
1115:     {
1115:       _Tp __term = _Tp(1);
1115:       _Tp __sum = _Tp(1);
1115:       for (unsigned int __i = 1; __i <= __n; ++__i)
1115:         {
1115:           _Tp __prev = __term;
1115:           __term *= -(__n - __i + 1) / __x;
1115:           if (std::abs(__term) > std::abs(__prev))
1115:             break;
1115:           __sum += __term;
1115:         }
1115: 
1115:       return std::exp(-__x) * __sum / __x;
1115:     }
1115: # 442 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint_large_n(unsigned int __n, _Tp __x)
1115:     {
1115:       const _Tp __xpn = __x + __n;
1115:       const _Tp __xpn2 = __xpn * __xpn;
1115:       _Tp __term = _Tp(1);
1115:       _Tp __sum = _Tp(1);
1115:       for (unsigned int __i = 1; __i <= __n; ++__i)
1115:         {
1115:           _Tp __prev = __term;
1115:           __term *= (__n - 2 * (__i - 1) * __x) / __xpn2;
1115:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:           __sum += __term;
1115:         }
1115: 
1115:       return std::exp(-__x) * __sum / __xpn;
1115:     }
1115: # 476 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __expint(unsigned int __n, _Tp __x)
1115:     {
1115: 
1115:       if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__n <= 1 && __x == _Tp(0))
1115:         return std::numeric_limits<_Tp>::infinity();
1115:       else
1115:         {
1115:           _Tp __E0 = std::exp(__x) / __x;
1115:           if (__n == 0)
1115:             return __E0;
1115: 
1115:           _Tp __E1 = __expint_E1(__x);
1115:           if (__n == 1)
1115:             return __E1;
1115: 
1115:           if (__x == _Tp(0))
1115:             return _Tp(1) / static_cast<_Tp>(__n - 1);
1115: 
1115:           _Tp __En = __expint_En_recursion(__n, __x);
1115: 
1115:           return __En;
1115:         }
1115:     }
1115: # 516 "/usr/include/c++/12/tr1/exp_integral.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __expint(_Tp __x)
1115:     {
1115:       if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else
1115:         return __expint_Ei(__x);
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 54 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/hypergeometric.tcc" 1 3
1115: # 44 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 60 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 83 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __conf_hyperg_series(_Tp __a, _Tp __c, _Tp __x)
1115:     {
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115: 
1115:       _Tp __term = _Tp(1);
1115:       _Tp __Fac = _Tp(1);
1115:       const unsigned int __max_iter = 100000;
1115:       unsigned int __i;
1115:       for (__i = 0; __i < __max_iter; ++__i)
1115:         {
1115:           __term *= (__a + _Tp(__i)) * __x
1115:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1115:           if (std::abs(__term) < __eps)
1115:             {
1115:               break;
1115:             }
1115:           __Fac += __term;
1115:         }
1115:       if (__i == __max_iter)
1115:         std::__throw_runtime_error(("Series failed to converge " "in __conf_hyperg_series.")
1115:                                                                   );
1115: 
1115:       return __Fac;
1115:     }
1115: # 120 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __conf_hyperg_luke(_Tp __a, _Tp __c, _Tp __xin)
1115:     {
1115:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1115:       const int __nmax = 20000;
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       const _Tp __x = -__xin;
1115:       const _Tp __x3 = __x * __x * __x;
1115:       const _Tp __t0 = __a / __c;
1115:       const _Tp __t1 = (__a + _Tp(1)) / (_Tp(2) * __c);
1115:       const _Tp __t2 = (__a + _Tp(2)) / (_Tp(2) * (__c + _Tp(1)));
1115:       _Tp __F = _Tp(1);
1115:       _Tp __prec;
1115: 
1115:       _Tp __Bnm3 = _Tp(1);
1115:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1115:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1115: 
1115:       _Tp __Anm3 = _Tp(1);
1115:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1115:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1115:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1115: 
1115:       int __n = 3;
1115:       while(1)
1115:         {
1115:           _Tp __npam1 = _Tp(__n - 1) + __a;
1115:           _Tp __npcm1 = _Tp(__n - 1) + __c;
1115:           _Tp __npam2 = _Tp(__n - 2) + __a;
1115:           _Tp __npcm2 = _Tp(__n - 2) + __c;
1115:           _Tp __tnm1 = _Tp(2 * __n - 1);
1115:           _Tp __tnm3 = _Tp(2 * __n - 3);
1115:           _Tp __tnm5 = _Tp(2 * __n - 5);
1115:           _Tp __F1 = (_Tp(__n - 2) - __a) / (_Tp(2) * __tnm3 * __npcm1);
1115:           _Tp __F2 = (_Tp(__n) + __a) * __npam1
1115:                    / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1115:           _Tp __F3 = -__npam2 * __npam1 * (_Tp(__n - 2) - __a)
1115:                    / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1115:                    * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1115:           _Tp __E = -__npam1 * (_Tp(__n - 1) - __c)
1115:                    / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1115: 
1115:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1115:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1115:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1115:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1115:           _Tp __r = __An / __Bn;
1115: 
1115:           __prec = std::abs((__F - __r) / __F);
1115:           __F = __r;
1115: 
1115:           if (__prec < __eps || __n > __nmax)
1115:             break;
1115: 
1115:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1115:             {
1115:               __An /= __big;
1115:               __Bn /= __big;
1115:               __Anm1 /= __big;
1115:               __Bnm1 /= __big;
1115:               __Anm2 /= __big;
1115:               __Bnm2 /= __big;
1115:               __Anm3 /= __big;
1115:               __Bnm3 /= __big;
1115:             }
1115:           else if (std::abs(__An) < _Tp(1) / __big
1115:                 || std::abs(__Bn) < _Tp(1) / __big)
1115:             {
1115:               __An *= __big;
1115:               __Bn *= __big;
1115:               __Anm1 *= __big;
1115:               __Bnm1 *= __big;
1115:               __Anm2 *= __big;
1115:               __Bnm2 *= __big;
1115:               __Anm3 *= __big;
1115:               __Bnm3 *= __big;
1115:             }
1115: 
1115:           ++__n;
1115:           __Bnm3 = __Bnm2;
1115:           __Bnm2 = __Bnm1;
1115:           __Bnm1 = __Bn;
1115:           __Anm3 = __Anm2;
1115:           __Anm2 = __Anm1;
1115:           __Anm1 = __An;
1115:         }
1115: 
1115:       if (__n >= __nmax)
1115:         std::__throw_runtime_error(("Iteration failed to converge " "in __conf_hyperg_luke.")
1115:                                                                 );
1115: 
1115:       return __F;
1115:     }
1115: # 227 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __conf_hyperg(_Tp __a, _Tp __c, _Tp __x)
1115:     {
1115: 
1115:       const _Tp __c_nint = ::std::nearbyint(__c);
1115: 
1115: 
1115: 
1115:       if (__isnan(__a) || __isnan(__c) || __isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__c_nint == __c && __c_nint <= 0)
1115:         return std::numeric_limits<_Tp>::infinity();
1115:       else if (__a == _Tp(0))
1115:         return _Tp(1);
1115:       else if (__c == __a)
1115:         return std::exp(__x);
1115:       else if (__x < _Tp(0))
1115:         return __conf_hyperg_luke(__a, __c, __x);
1115:       else
1115:         return __conf_hyperg_series(__a, __c, __x);
1115:     }
1115: # 271 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __hyperg_series(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1115:     {
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115: 
1115:       _Tp __term = _Tp(1);
1115:       _Tp __Fabc = _Tp(1);
1115:       const unsigned int __max_iter = 100000;
1115:       unsigned int __i;
1115:       for (__i = 0; __i < __max_iter; ++__i)
1115:         {
1115:           __term *= (__a + _Tp(__i)) * (__b + _Tp(__i)) * __x
1115:                   / ((__c + _Tp(__i)) * _Tp(1 + __i));
1115:           if (std::abs(__term) < __eps)
1115:             {
1115:               break;
1115:             }
1115:           __Fabc += __term;
1115:         }
1115:       if (__i == __max_iter)
1115:         std::__throw_runtime_error(("Series failed to converge " "in __hyperg_series.")
1115:                                                              );
1115: 
1115:       return __Fabc;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Tp>
1115:     _Tp
1115:     __hyperg_luke(_Tp __a, _Tp __b, _Tp __c, _Tp __xin)
1115:     {
1115:       const _Tp __big = std::pow(std::numeric_limits<_Tp>::max(), _Tp(0.16L));
1115:       const int __nmax = 20000;
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       const _Tp __x = -__xin;
1115:       const _Tp __x3 = __x * __x * __x;
1115:       const _Tp __t0 = __a * __b / __c;
1115:       const _Tp __t1 = (__a + _Tp(1)) * (__b + _Tp(1)) / (_Tp(2) * __c);
1115:       const _Tp __t2 = (__a + _Tp(2)) * (__b + _Tp(2))
1115:                      / (_Tp(2) * (__c + _Tp(1)));
1115: 
1115:       _Tp __F = _Tp(1);
1115: 
1115:       _Tp __Bnm3 = _Tp(1);
1115:       _Tp __Bnm2 = _Tp(1) + __t1 * __x;
1115:       _Tp __Bnm1 = _Tp(1) + __t2 * __x * (_Tp(1) + __t1 / _Tp(3) * __x);
1115: 
1115:       _Tp __Anm3 = _Tp(1);
1115:       _Tp __Anm2 = __Bnm2 - __t0 * __x;
1115:       _Tp __Anm1 = __Bnm1 - __t0 * (_Tp(1) + __t2 * __x) * __x
1115:                  + __t0 * __t1 * (__c / (__c + _Tp(1))) * __x * __x;
1115: 
1115:       int __n = 3;
1115:       while (1)
1115:         {
1115:           const _Tp __npam1 = _Tp(__n - 1) + __a;
1115:           const _Tp __npbm1 = _Tp(__n - 1) + __b;
1115:           const _Tp __npcm1 = _Tp(__n - 1) + __c;
1115:           const _Tp __npam2 = _Tp(__n - 2) + __a;
1115:           const _Tp __npbm2 = _Tp(__n - 2) + __b;
1115:           const _Tp __npcm2 = _Tp(__n - 2) + __c;
1115:           const _Tp __tnm1 = _Tp(2 * __n - 1);
1115:           const _Tp __tnm3 = _Tp(2 * __n - 3);
1115:           const _Tp __tnm5 = _Tp(2 * __n - 5);
1115:           const _Tp __n2 = __n * __n;
1115:           const _Tp __F1 = (_Tp(3) * __n2 + (__a + __b - _Tp(6)) * __n
1115:                          + _Tp(2) - __a * __b - _Tp(2) * (__a + __b))
1115:                          / (_Tp(2) * __tnm3 * __npcm1);
1115:           const _Tp __F2 = -(_Tp(3) * __n2 - (__a + __b + _Tp(6)) * __n
1115:                          + _Tp(2) - __a * __b) * __npam1 * __npbm1
1115:                          / (_Tp(4) * __tnm1 * __tnm3 * __npcm2 * __npcm1);
1115:           const _Tp __F3 = (__npam2 * __npam1 * __npbm2 * __npbm1
1115:                          * (_Tp(__n - 2) - __a) * (_Tp(__n - 2) - __b))
1115:                          / (_Tp(8) * __tnm3 * __tnm3 * __tnm5
1115:                          * (_Tp(__n - 3) + __c) * __npcm2 * __npcm1);
1115:           const _Tp __E = -__npam1 * __npbm1 * (_Tp(__n - 1) - __c)
1115:                          / (_Tp(2) * __tnm3 * __npcm2 * __npcm1);
1115: 
1115:           _Tp __An = (_Tp(1) + __F1 * __x) * __Anm1
1115:                    + (__E + __F2 * __x) * __x * __Anm2 + __F3 * __x3 * __Anm3;
1115:           _Tp __Bn = (_Tp(1) + __F1 * __x) * __Bnm1
1115:                    + (__E + __F2 * __x) * __x * __Bnm2 + __F3 * __x3 * __Bnm3;
1115:           const _Tp __r = __An / __Bn;
1115: 
1115:           const _Tp __prec = std::abs((__F - __r) / __F);
1115:           __F = __r;
1115: 
1115:           if (__prec < __eps || __n > __nmax)
1115:             break;
1115: 
1115:           if (std::abs(__An) > __big || std::abs(__Bn) > __big)
1115:             {
1115:               __An /= __big;
1115:               __Bn /= __big;
1115:               __Anm1 /= __big;
1115:               __Bnm1 /= __big;
1115:               __Anm2 /= __big;
1115:               __Bnm2 /= __big;
1115:               __Anm3 /= __big;
1115:               __Bnm3 /= __big;
1115:             }
1115:           else if (std::abs(__An) < _Tp(1) / __big
1115:                 || std::abs(__Bn) < _Tp(1) / __big)
1115:             {
1115:               __An *= __big;
1115:               __Bn *= __big;
1115:               __Anm1 *= __big;
1115:               __Bnm1 *= __big;
1115:               __Anm2 *= __big;
1115:               __Bnm2 *= __big;
1115:               __Anm3 *= __big;
1115:               __Bnm3 *= __big;
1115:             }
1115: 
1115:           ++__n;
1115:           __Bnm3 = __Bnm2;
1115:           __Bnm2 = __Bnm1;
1115:           __Bnm1 = __Bn;
1115:           __Anm3 = __Anm2;
1115:           __Anm2 = __Anm1;
1115:           __Anm1 = __An;
1115:         }
1115: 
1115:       if (__n >= __nmax)
1115:         std::__throw_runtime_error(("Iteration failed to converge " "in __hyperg_luke.")
1115:                                                            );
1115: 
1115:       return __F;
1115:     }
1115: # 438 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __hyperg_reflect(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1115:     {
1115:       const _Tp __d = __c - __a - __b;
1115:       const int __intd = std::floor(__d + _Tp(0.5L));
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       const _Tp __toler = _Tp(1000) * __eps;
1115:       const _Tp __log_max = std::log(std::numeric_limits<_Tp>::max());
1115:       const bool __d_integer = (std::abs(__d - __intd) < __toler);
1115: 
1115:       if (__d_integer)
1115:         {
1115:           const _Tp __ln_omx = std::log(_Tp(1) - __x);
1115:           const _Tp __ad = std::abs(__d);
1115:           _Tp __F1, __F2;
1115: 
1115:           _Tp __d1, __d2;
1115:           if (__d >= _Tp(0))
1115:             {
1115:               __d1 = __d;
1115:               __d2 = _Tp(0);
1115:             }
1115:           else
1115:             {
1115:               __d1 = _Tp(0);
1115:               __d2 = __d;
1115:             }
1115: 
1115:           const _Tp __lng_c = __log_gamma(__c);
1115: 
1115: 
1115:           if (__ad < __eps)
1115:             {
1115: 
1115:               __F1 = _Tp(0);
1115:             }
1115:           else
1115:             {
1115: 
1115:               bool __ok_d1 = true;
1115:               _Tp __lng_ad, __lng_ad1, __lng_bd1;
1115:               try
1115:                 {
1115:                   __lng_ad = __log_gamma(__ad);
1115:                   __lng_ad1 = __log_gamma(__a + __d1);
1115:                   __lng_bd1 = __log_gamma(__b + __d1);
1115:                 }
1115:               catch(...)
1115:                 {
1115:                   __ok_d1 = false;
1115:                 }
1115: 
1115:               if (__ok_d1)
1115:                 {
1115: 
1115: 
1115: 
1115:                   _Tp __sum1 = _Tp(1);
1115:                   _Tp __term = _Tp(1);
1115:                   _Tp __ln_pre1 = __lng_ad + __lng_c + __d2 * __ln_omx
1115:                                 - __lng_ad1 - __lng_bd1;
1115: 
1115: 
1115: 
1115:                   for (int __i = 1; __i < __ad; ++__i)
1115:                     {
1115:                       const int __j = __i - 1;
1115:                       __term *= (__a + __d2 + __j) * (__b + __d2 + __j)
1115:                               / (_Tp(1) + __d2 + __j) / __i * (_Tp(1) - __x);
1115:                       __sum1 += __term;
1115:                     }
1115: 
1115:                   if (__ln_pre1 > __log_max)
1115:                     std::__throw_runtime_error(("Overflow of gamma functions" " in __hyperg_luke.")
1115:                                                                         );
1115:                   else
1115:                     __F1 = std::exp(__ln_pre1) * __sum1;
1115:                 }
1115:               else
1115:                 {
1115: 
1115: 
1115:                   __F1 = _Tp(0);
1115:                 }
1115:             }
1115: 
1115: 
1115:           bool __ok_d2 = true;
1115:           _Tp __lng_ad2, __lng_bd2;
1115:           try
1115:             {
1115:               __lng_ad2 = __log_gamma(__a + __d2);
1115:               __lng_bd2 = __log_gamma(__b + __d2);
1115:             }
1115:           catch(...)
1115:             {
1115:               __ok_d2 = false;
1115:             }
1115: 
1115:           if (__ok_d2)
1115:             {
1115: 
1115: 
1115:               const int __maxiter = 2000;
1115:               const _Tp __psi_1 = -__numeric_constants<_Tp>::__gamma_e();
1115:               const _Tp __psi_1pd = __psi(_Tp(1) + __ad);
1115:               const _Tp __psi_apd1 = __psi(__a + __d1);
1115:               const _Tp __psi_bpd1 = __psi(__b + __d1);
1115: 
1115:               _Tp __psi_term = __psi_1 + __psi_1pd - __psi_apd1
1115:                              - __psi_bpd1 - __ln_omx;
1115:               _Tp __fact = _Tp(1);
1115:               _Tp __sum2 = __psi_term;
1115:               _Tp __ln_pre2 = __lng_c + __d1 * __ln_omx
1115:                             - __lng_ad2 - __lng_bd2;
1115: 
1115: 
1115:               int __j;
1115:               for (__j = 1; __j < __maxiter; ++__j)
1115:                 {
1115: 
1115: 
1115:                   const _Tp __term1 = _Tp(1) / _Tp(__j)
1115:                                     + _Tp(1) / (__ad + __j);
1115:                   const _Tp __term2 = _Tp(1) / (__a + __d1 + _Tp(__j - 1))
1115:                                     + _Tp(1) / (__b + __d1 + _Tp(__j - 1));
1115:                   __psi_term += __term1 - __term2;
1115:                   __fact *= (__a + __d1 + _Tp(__j - 1))
1115:                           * (__b + __d1 + _Tp(__j - 1))
1115:                           / ((__ad + __j) * __j) * (_Tp(1) - __x);
1115:                   const _Tp __delta = __fact * __psi_term;
1115:                   __sum2 += __delta;
1115:                   if (std::abs(__delta) < __eps * std::abs(__sum2))
1115:                     break;
1115:                 }
1115:               if (__j == __maxiter)
1115:                 std::__throw_runtime_error(("Sum F2 failed to converge " "in __hyperg_reflect")
1115:                                                                      );
1115: 
1115:               if (__sum2 == _Tp(0))
1115:                 __F2 = _Tp(0);
1115:               else
1115:                 __F2 = std::exp(__ln_pre2) * __sum2;
1115:             }
1115:           else
1115:             {
1115: 
1115: 
1115:               __F2 = _Tp(0);
1115:             }
1115: 
1115:           const _Tp __sgn_2 = (__intd % 2 == 1 ? -_Tp(1) : _Tp(1));
1115:           const _Tp __F = __F1 + __sgn_2 * __F2;
1115: 
1115:           return __F;
1115:         }
1115:       else
1115:         {
1115: 
1115: 
1115: 
1115: 
1115:           bool __ok1 = true;
1115:           _Tp __sgn_g1ca = _Tp(0), __ln_g1ca = _Tp(0);
1115:           _Tp __sgn_g1cb = _Tp(0), __ln_g1cb = _Tp(0);
1115:           try
1115:             {
1115:               __sgn_g1ca = __log_gamma_sign(__c - __a);
1115:               __ln_g1ca = __log_gamma(__c - __a);
1115:               __sgn_g1cb = __log_gamma_sign(__c - __b);
1115:               __ln_g1cb = __log_gamma(__c - __b);
1115:             }
1115:           catch(...)
1115:             {
1115:               __ok1 = false;
1115:             }
1115: 
1115:           bool __ok2 = true;
1115:           _Tp __sgn_g2a = _Tp(0), __ln_g2a = _Tp(0);
1115:           _Tp __sgn_g2b = _Tp(0), __ln_g2b = _Tp(0);
1115:           try
1115:             {
1115:               __sgn_g2a = __log_gamma_sign(__a);
1115:               __ln_g2a = __log_gamma(__a);
1115:               __sgn_g2b = __log_gamma_sign(__b);
1115:               __ln_g2b = __log_gamma(__b);
1115:             }
1115:           catch(...)
1115:             {
1115:               __ok2 = false;
1115:             }
1115: 
1115:           const _Tp __sgn_gc = __log_gamma_sign(__c);
1115:           const _Tp __ln_gc = __log_gamma(__c);
1115:           const _Tp __sgn_gd = __log_gamma_sign(__d);
1115:           const _Tp __ln_gd = __log_gamma(__d);
1115:           const _Tp __sgn_gmd = __log_gamma_sign(-__d);
1115:           const _Tp __ln_gmd = __log_gamma(-__d);
1115: 
1115:           const _Tp __sgn1 = __sgn_gc * __sgn_gd * __sgn_g1ca * __sgn_g1cb;
1115:           const _Tp __sgn2 = __sgn_gc * __sgn_gmd * __sgn_g2a * __sgn_g2b;
1115: 
1115:           _Tp __pre1, __pre2;
1115:           if (__ok1 && __ok2)
1115:             {
1115:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1115:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1115:                             + __d * std::log(_Tp(1) - __x);
1115:               if (__ln_pre1 < __log_max && __ln_pre2 < __log_max)
1115:                 {
1115:                   __pre1 = std::exp(__ln_pre1);
1115:                   __pre2 = std::exp(__ln_pre2);
1115:                   __pre1 *= __sgn1;
1115:                   __pre2 *= __sgn2;
1115:                 }
1115:               else
1115:                 {
1115:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1115:                                                                        );
1115:                 }
1115:             }
1115:           else if (__ok1 && !__ok2)
1115:             {
1115:               _Tp __ln_pre1 = __ln_gc + __ln_gd - __ln_g1ca - __ln_g1cb;
1115:               if (__ln_pre1 < __log_max)
1115:                 {
1115:                   __pre1 = std::exp(__ln_pre1);
1115:                   __pre1 *= __sgn1;
1115:                   __pre2 = _Tp(0);
1115:                 }
1115:               else
1115:                 {
1115:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1115:                                                                        );
1115:                 }
1115:             }
1115:           else if (!__ok1 && __ok2)
1115:             {
1115:               _Tp __ln_pre2 = __ln_gc + __ln_gmd - __ln_g2a - __ln_g2b
1115:                             + __d * std::log(_Tp(1) - __x);
1115:               if (__ln_pre2 < __log_max)
1115:                 {
1115:                   __pre1 = _Tp(0);
1115:                   __pre2 = std::exp(__ln_pre2);
1115:                   __pre2 *= __sgn2;
1115:                 }
1115:               else
1115:                 {
1115:                   std::__throw_runtime_error(("Overflow of gamma functions " "in __hyperg_reflect")
1115:                                                                        );
1115:                 }
1115:             }
1115:           else
1115:             {
1115:               __pre1 = _Tp(0);
1115:               __pre2 = _Tp(0);
1115:               std::__throw_runtime_error(("Underflow of gamma functions " "in __hyperg_reflect")
1115:                                                                    );
1115:             }
1115: 
1115:           const _Tp __F1 = __hyperg_series(__a, __b, _Tp(1) - __d,
1115:                                            _Tp(1) - __x);
1115:           const _Tp __F2 = __hyperg_series(__c - __a, __c - __b, _Tp(1) + __d,
1115:                                            _Tp(1) - __x);
1115: 
1115:           const _Tp __F = __pre1 * __F1 + __pre2 * __F2;
1115: 
1115:           return __F;
1115:         }
1115:     }
1115: # 728 "/usr/include/c++/12/tr1/hypergeometric.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
1115:     {
1115: 
1115:       const _Tp __a_nint = ::std::nearbyint(__a);
1115:       const _Tp __b_nint = ::std::nearbyint(__b);
1115:       const _Tp __c_nint = ::std::nearbyint(__c);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       const _Tp __toler = _Tp(1000) * std::numeric_limits<_Tp>::epsilon();
1115:       if (std::abs(__x) >= _Tp(1))
1115:         std::__throw_domain_error(("Argument outside unit circle " "in __hyperg.")
1115:                                                      );
1115:       else if (__isnan(__a) || __isnan(__b)
1115:             || __isnan(__c) || __isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__c_nint == __c && __c_nint <= _Tp(0))
1115:         return std::numeric_limits<_Tp>::infinity();
1115:       else if (std::abs(__c - __b) < __toler || std::abs(__c - __a) < __toler)
1115:         return std::pow(_Tp(1) - __x, __c - __a - __b);
1115:       else if (__a >= _Tp(0) && __b >= _Tp(0) && __c >= _Tp(0)
1115:             && __x >= _Tp(0) && __x < _Tp(0.995L))
1115:         return __hyperg_series(__a, __b, __c, __x);
1115:       else if (std::abs(__a) < _Tp(10) && std::abs(__b) < _Tp(10))
1115:         {
1115: 
1115: 
1115:           if (__a < _Tp(0) && std::abs(__a - __a_nint) < __toler)
1115:             return __hyperg_series(__a_nint, __b, __c, __x);
1115:           else if (__b < _Tp(0) && std::abs(__b - __b_nint) < __toler)
1115:             return __hyperg_series(__a, __b_nint, __c, __x);
1115:           else if (__x < -_Tp(0.25L))
1115:             return __hyperg_luke(__a, __b, __c, __x);
1115:           else if (__x < _Tp(0.5L))
1115:             return __hyperg_series(__a, __b, __c, __x);
1115:           else
1115:             if (std::abs(__c) > _Tp(10))
1115:               return __hyperg_series(__a, __b, __c, __x);
1115:             else
1115:               return __hyperg_reflect(__a, __b, __c, __x);
1115:         }
1115:       else
1115:         return __hyperg_luke(__a, __b, __c, __x);
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 55 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/legendre_function.tcc" 1 3
1115: # 49 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 65 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 80 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __poly_legendre_p(unsigned int __l, _Tp __x)
1115:     {
1115: 
1115:       if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__x == +_Tp(1))
1115:         return +_Tp(1);
1115:       else if (__x == -_Tp(1))
1115:         return (__l % 2 == 1 ? -_Tp(1) : +_Tp(1));
1115:       else
1115:         {
1115:           _Tp __p_lm2 = _Tp(1);
1115:           if (__l == 0)
1115:             return __p_lm2;
1115: 
1115:           _Tp __p_lm1 = __x;
1115:           if (__l == 1)
1115:             return __p_lm1;
1115: 
1115:           _Tp __p_l = 0;
1115:           for (unsigned int __ll = 2; __ll <= __l; ++__ll)
1115:             {
1115: 
1115: 
1115:               __p_l = _Tp(2) * __x * __p_lm1 - __p_lm2
1115:                     - (__x * __p_lm1 - __p_lm2) / _Tp(__ll);
1115:               __p_lm2 = __p_lm1;
1115:               __p_lm1 = __p_l;
1115:             }
1115: 
1115:           return __p_l;
1115:         }
1115:     }
1115: # 136 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __assoc_legendre_p(unsigned int __l, unsigned int __m, _Tp __x,
1115:          _Tp __phase = _Tp(+1))
1115:     {
1115: 
1115:       if (__m > __l)
1115:         return _Tp(0);
1115:       else if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__m == 0)
1115:         return __poly_legendre_p(__l, __x);
1115:       else
1115:         {
1115:           _Tp __p_mm = _Tp(1);
1115:           if (__m > 0)
1115:             {
1115: 
1115: 
1115:               _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x);
1115:               _Tp __fact = _Tp(1);
1115:               for (unsigned int __i = 1; __i <= __m; ++__i)
1115:                 {
1115:                   __p_mm *= __phase * __fact * __root;
1115:                   __fact += _Tp(2);
1115:                 }
1115:             }
1115:           if (__l == __m)
1115:             return __p_mm;
1115: 
1115:           _Tp __p_mp1m = _Tp(2 * __m + 1) * __x * __p_mm;
1115:           if (__l == __m + 1)
1115:             return __p_mp1m;
1115: 
1115:           _Tp __p_lm2m = __p_mm;
1115:           _Tp __P_lm1m = __p_mp1m;
1115:           _Tp __p_lm = _Tp(0);
1115:           for (unsigned int __j = __m + 2; __j <= __l; ++__j)
1115:             {
1115:               __p_lm = (_Tp(2 * __j - 1) * __x * __P_lm1m
1115:                       - _Tp(__j + __m - 1) * __p_lm2m) / _Tp(__j - __m);
1115:               __p_lm2m = __P_lm1m;
1115:               __P_lm1m = __p_lm;
1115:             }
1115: 
1115:           return __p_lm;
1115:         }
1115:     }
1115: # 214 "/usr/include/c++/12/tr1/legendre_function.tcc" 3
1115:     template <typename _Tp>
1115:     _Tp
1115:     __sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1115:     {
1115:       if (__isnan(__theta))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115: 
1115:       const _Tp __x = std::cos(__theta);
1115: 
1115:       if (__m > __l)
1115:         return _Tp(0);
1115:       else if (__m == 0)
1115:         {
1115:           _Tp __P = __poly_legendre_p(__l, __x);
1115:           _Tp __fact = std::sqrt(_Tp(2 * __l + 1)
1115:                      / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1115:           __P *= __fact;
1115:           return __P;
1115:         }
1115:       else if (__x == _Tp(1) || __x == -_Tp(1))
1115:         {
1115: 
1115:           return _Tp(0);
1115:         }
1115:       else
1115:         {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:           const _Tp __sgn = ( __m % 2 == 1 ? -_Tp(1) : _Tp(1));
1115:           const _Tp __y_mp1m_factor = __x * std::sqrt(_Tp(2 * __m + 3));
1115: 
1115:           const _Tp __lncirc = ::std::log1p(-__x * __x);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:           const _Tp __lnpoch = ::std::lgamma(_Tp(__m + _Tp(0.5L)))
1115:                              - ::std::lgamma(_Tp(__m));
1115: 
1115: 
1115: 
1115: 
1115:           const _Tp __lnpre_val =
1115:                     -_Tp(0.25L) * __numeric_constants<_Tp>::__lnpi()
1115:                     + _Tp(0.5L) * (__lnpoch + __m * __lncirc);
1115:           const _Tp __sr = std::sqrt((_Tp(2) + _Tp(1) / __m)
1115:                          / (_Tp(4) * __numeric_constants<_Tp>::__pi()));
1115:           _Tp __y_mm = __sgn * __sr * std::exp(__lnpre_val);
1115:           _Tp __y_mp1m = __y_mp1m_factor * __y_mm;
1115: 
1115:           if (__l == __m)
1115:             return __y_mm;
1115:           else if (__l == __m + 1)
1115:             return __y_mp1m;
1115:           else
1115:             {
1115:               _Tp __y_lm = _Tp(0);
1115: 
1115: 
1115:               for (unsigned int __ll = __m + 2; __ll <= __l; ++__ll)
1115:                 {
1115:                   const _Tp __rat1 = _Tp(__ll - __m) / _Tp(__ll + __m);
1115:                   const _Tp __rat2 = _Tp(__ll - __m - 1) / _Tp(__ll + __m - 1);
1115:                   const _Tp __fact1 = std::sqrt(__rat1 * _Tp(2 * __ll + 1)
1115:                                                        * _Tp(2 * __ll - 1));
1115:                   const _Tp __fact2 = std::sqrt(__rat1 * __rat2 * _Tp(2 * __ll + 1)
1115:                                                                 / _Tp(2 * __ll - 3));
1115:                   __y_lm = (__x * __y_mp1m * __fact1
1115:                          - (__ll + __m - 1) * __y_mm * __fact2) / _Tp(__ll - __m);
1115:                   __y_mm = __y_mp1m;
1115:                   __y_mp1m = __y_lm;
1115:                 }
1115: 
1115:               return __y_lm;
1115:             }
1115:         }
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 56 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 1 3
1115: # 51 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 65 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 83 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1115:     template <typename _Tp>
1115:     void
1115:     __bessel_ik(_Tp __nu, _Tp __x,
1115:                 _Tp & __Inu, _Tp & __Knu, _Tp & __Ipnu, _Tp & __Kpnu)
1115:     {
1115:       if (__x == _Tp(0))
1115:         {
1115:           if (__nu == _Tp(0))
1115:             {
1115:               __Inu = _Tp(1);
1115:               __Ipnu = _Tp(0);
1115:             }
1115:           else if (__nu == _Tp(1))
1115:             {
1115:               __Inu = _Tp(0);
1115:               __Ipnu = _Tp(0.5L);
1115:             }
1115:           else
1115:             {
1115:               __Inu = _Tp(0);
1115:               __Ipnu = _Tp(0);
1115:             }
1115:           __Knu = std::numeric_limits<_Tp>::infinity();
1115:           __Kpnu = -std::numeric_limits<_Tp>::infinity();
1115:           return;
1115:         }
1115: 
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115:       const _Tp __fp_min = _Tp(10) * std::numeric_limits<_Tp>::epsilon();
1115:       const int __max_iter = 15000;
1115:       const _Tp __x_min = _Tp(2);
1115: 
1115:       const int __nl = static_cast<int>(__nu + _Tp(0.5L));
1115: 
1115:       const _Tp __mu = __nu - __nl;
1115:       const _Tp __mu2 = __mu * __mu;
1115:       const _Tp __xi = _Tp(1) / __x;
1115:       const _Tp __xi2 = _Tp(2) * __xi;
1115:       _Tp __h = __nu * __xi;
1115:       if ( __h < __fp_min )
1115:         __h = __fp_min;
1115:       _Tp __b = __xi2 * __nu;
1115:       _Tp __d = _Tp(0);
1115:       _Tp __c = __h;
1115:       int __i;
1115:       for ( __i = 1; __i <= __max_iter; ++__i )
1115:         {
1115:           __b += __xi2;
1115:           __d = _Tp(1) / (__b + __d);
1115:           __c = __b + _Tp(1) / __c;
1115:           const _Tp __del = __c * __d;
1115:           __h *= __del;
1115:           if (std::abs(__del - _Tp(1)) < __eps)
1115:             break;
1115:         }
1115:       if (__i > __max_iter)
1115:         std::__throw_runtime_error(("Argument x too large " "in __bessel_ik; " "try asymptotic expansion.")
1115: 
1115:                                                                    );
1115:       _Tp __Inul = __fp_min;
1115:       _Tp __Ipnul = __h * __Inul;
1115:       _Tp __Inul1 = __Inul;
1115:       _Tp __Ipnu1 = __Ipnul;
1115:       _Tp __fact = __nu * __xi;
1115:       for (int __l = __nl; __l >= 1; --__l)
1115:         {
1115:           const _Tp __Inutemp = __fact * __Inul + __Ipnul;
1115:           __fact -= __xi;
1115:           __Ipnul = __fact * __Inutemp + __Inul;
1115:           __Inul = __Inutemp;
1115:         }
1115:       _Tp __f = __Ipnul / __Inul;
1115:       _Tp __Kmu, __Knu1;
1115:       if (__x < __x_min)
1115:         {
1115:           const _Tp __x2 = __x / _Tp(2);
1115:           const _Tp __pimu = __numeric_constants<_Tp>::__pi() * __mu;
1115:           const _Tp __fact = (std::abs(__pimu) < __eps
1115:                             ? _Tp(1) : __pimu / std::sin(__pimu));
1115:           _Tp __d = -std::log(__x2);
1115:           _Tp __e = __mu * __d;
1115:           const _Tp __fact2 = (std::abs(__e) < __eps
1115:                             ? _Tp(1) : std::sinh(__e) / __e);
1115:           _Tp __gam1, __gam2, __gampl, __gammi;
1115:           __gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
1115:           _Tp __ff = __fact
1115:                    * (__gam1 * std::cosh(__e) + __gam2 * __fact2 * __d);
1115:           _Tp __sum = __ff;
1115:           __e = std::exp(__e);
1115:           _Tp __p = __e / (_Tp(2) * __gampl);
1115:           _Tp __q = _Tp(1) / (_Tp(2) * __e * __gammi);
1115:           _Tp __c = _Tp(1);
1115:           __d = __x2 * __x2;
1115:           _Tp __sum1 = __p;
1115:           int __i;
1115:           for (__i = 1; __i <= __max_iter; ++__i)
1115:             {
1115:               __ff = (__i * __ff + __p + __q) / (__i * __i - __mu2);
1115:               __c *= __d / __i;
1115:               __p /= __i - __mu;
1115:               __q /= __i + __mu;
1115:               const _Tp __del = __c * __ff;
1115:               __sum += __del;
1115:               const _Tp __del1 = __c * (__p - __i * __ff);
1115:               __sum1 += __del1;
1115:               if (std::abs(__del) < __eps * std::abs(__sum))
1115:                 break;
1115:             }
1115:           if (__i > __max_iter)
1115:             std::__throw_runtime_error(("Bessel k series failed to converge " "in __bessel_ik.")
1115:                                                              );
1115:           __Kmu = __sum;
1115:           __Knu1 = __sum1 * __xi2;
1115:         }
1115:       else
1115:         {
1115:           _Tp __b = _Tp(2) * (_Tp(1) + __x);
1115:           _Tp __d = _Tp(1) / __b;
1115:           _Tp __delh = __d;
1115:           _Tp __h = __delh;
1115:           _Tp __q1 = _Tp(0);
1115:           _Tp __q2 = _Tp(1);
1115:           _Tp __a1 = _Tp(0.25L) - __mu2;
1115:           _Tp __q = __c = __a1;
1115:           _Tp __a = -__a1;
1115:           _Tp __s = _Tp(1) + __q * __delh;
1115:           int __i;
1115:           for (__i = 2; __i <= __max_iter; ++__i)
1115:             {
1115:               __a -= 2 * (__i - 1);
1115:               __c = -__a * __c / __i;
1115:               const _Tp __qnew = (__q1 - __b * __q2) / __a;
1115:               __q1 = __q2;
1115:               __q2 = __qnew;
1115:               __q += __c * __qnew;
1115:               __b += _Tp(2);
1115:               __d = _Tp(1) / (__b + __a * __d);
1115:               __delh = (__b * __d - _Tp(1)) * __delh;
1115:               __h += __delh;
1115:               const _Tp __dels = __q * __delh;
1115:               __s += __dels;
1115:               if ( std::abs(__dels / __s) < __eps )
1115:                 break;
1115:             }
1115:           if (__i > __max_iter)
1115:             std::__throw_runtime_error(("Steed's method failed " "in __bessel_ik.")
1115:                                                              );
1115:           __h = __a1 * __h;
1115:           __Kmu = std::sqrt(__numeric_constants<_Tp>::__pi() / (_Tp(2) * __x))
1115:                 * std::exp(-__x) / __s;
1115:           __Knu1 = __Kmu * (__mu + __x + _Tp(0.5L) - __h) * __xi;
1115:         }
1115: 
1115:       _Tp __Kpmu = __mu * __xi * __Kmu - __Knu1;
1115:       _Tp __Inumu = __xi / (__f * __Kmu - __Kpmu);
1115:       __Inu = __Inumu * __Inul1 / __Inul;
1115:       __Ipnu = __Inumu * __Ipnu1 / __Inul;
1115:       for ( __i = 1; __i <= __nl; ++__i )
1115:         {
1115:           const _Tp __Knutemp = (__mu + __i) * __xi2 * __Knu1 + __Kmu;
1115:           __Kmu = __Knu1;
1115:           __Knu1 = __Knutemp;
1115:         }
1115:       __Knu = __Kmu;
1115:       __Kpnu = __nu * __xi * __Kmu - __Knu1;
1115: 
1115:       return;
1115:     }
1115: # 267 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __cyl_bessel_i(_Tp __nu, _Tp __x)
1115:     {
1115:       if (__nu < _Tp(0) || __x < _Tp(0))
1115:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_i.")
1115:                                                            );
1115:       else if (__isnan(__nu) || __isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__x * __x < _Tp(10) * (__nu + _Tp(1)))
1115:         return __cyl_bessel_ij_series(__nu, __x, +_Tp(1), 200);
1115:       else
1115:         {
1115:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1115:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1115:           return __I_nu;
1115:         }
1115:     }
1115: # 303 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __cyl_bessel_k(_Tp __nu, _Tp __x)
1115:     {
1115:       if (__nu < _Tp(0) || __x < _Tp(0))
1115:         std::__throw_domain_error(("Bad argument " "in __cyl_bessel_k.")
1115:                                                            );
1115:       else if (__isnan(__nu) || __isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else
1115:         {
1115:           _Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
1115:           __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1115:           return __K_nu;
1115:         }
1115:     }
1115: # 337 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1115:     template <typename _Tp>
1115:     void
1115:     __sph_bessel_ik(unsigned int __n, _Tp __x,
1115:                     _Tp & __i_n, _Tp & __k_n, _Tp & __ip_n, _Tp & __kp_n)
1115:     {
1115:       const _Tp __nu = _Tp(__n) + _Tp(0.5L);
1115: 
1115:       _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1115:       __bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1115: 
1115:       const _Tp __factor = __numeric_constants<_Tp>::__sqrtpio2()
1115:                          / std::sqrt(__x);
1115: 
1115:       __i_n = __factor * __I_nu;
1115:       __k_n = __factor * __K_nu;
1115:       __ip_n = __factor * __Ip_nu - __i_n / (_Tp(2) * __x);
1115:       __kp_n = __factor * __Kp_nu - __k_n / (_Tp(2) * __x);
1115: 
1115:       return;
1115:     }
1115: # 373 "/usr/include/c++/12/tr1/modified_bessel_func.tcc" 3
1115:     template <typename _Tp>
1115:     void
1115:     __airy(_Tp __x, _Tp & __Ai, _Tp & __Bi, _Tp & __Aip, _Tp & __Bip)
1115:     {
1115:       const _Tp __absx = std::abs(__x);
1115:       const _Tp __rootx = std::sqrt(__absx);
1115:       const _Tp __z = _Tp(2) * __absx * __rootx / _Tp(3);
1115:       const _Tp _S_inf = std::numeric_limits<_Tp>::infinity();
1115: 
1115:       if (__isnan(__x))
1115:         __Bip = __Aip = __Bi = __Ai = std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__z == _S_inf)
1115:         {
1115:    __Aip = __Ai = _Tp(0);
1115:    __Bip = __Bi = _S_inf;
1115:  }
1115:       else if (__z == -_S_inf)
1115:  __Bip = __Aip = __Bi = __Ai = _Tp(0);
1115:       else if (__x > _Tp(0))
1115:         {
1115:           _Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
1115: 
1115:           __bessel_ik(_Tp(1) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1115:           __Ai = __rootx * __K_nu
1115:                / (__numeric_constants<_Tp>::__sqrt3()
1115:                 * __numeric_constants<_Tp>::__pi());
1115:           __Bi = __rootx * (__K_nu / __numeric_constants<_Tp>::__pi()
1115:                  + _Tp(2) * __I_nu / __numeric_constants<_Tp>::__sqrt3());
1115: 
1115:           __bessel_ik(_Tp(2) / _Tp(3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
1115:           __Aip = -__x * __K_nu
1115:                 / (__numeric_constants<_Tp>::__sqrt3()
1115:                  * __numeric_constants<_Tp>::__pi());
1115:           __Bip = __x * (__K_nu / __numeric_constants<_Tp>::__pi()
1115:                       + _Tp(2) * __I_nu
1115:                       / __numeric_constants<_Tp>::__sqrt3());
1115:         }
1115:       else if (__x < _Tp(0))
1115:         {
1115:           _Tp __J_nu, __Jp_nu, __N_nu, __Np_nu;
1115: 
1115:           __bessel_jn(_Tp(1) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1115:           __Ai = __rootx * (__J_nu
1115:                     - __N_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1115:           __Bi = -__rootx * (__N_nu
1115:                     + __J_nu / __numeric_constants<_Tp>::__sqrt3()) / _Tp(2);
1115: 
1115:           __bessel_jn(_Tp(2) / _Tp(3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
1115:           __Aip = __absx * (__N_nu / __numeric_constants<_Tp>::__sqrt3()
1115:                           + __J_nu) / _Tp(2);
1115:           __Bip = __absx * (__J_nu / __numeric_constants<_Tp>::__sqrt3()
1115:                           - __N_nu) / _Tp(2);
1115:         }
1115:       else
1115:         {
1115: 
1115: 
1115: 
1115:           __Ai = _Tp(0.35502805388781723926L);
1115:           __Bi = __Ai * __numeric_constants<_Tp>::__sqrt3();
1115: 
1115: 
1115: 
1115: 
1115:           __Aip = -_Tp(0.25881940379280679840L);
1115:           __Bip = -__Aip * __numeric_constants<_Tp>::__sqrt3();
1115:         }
1115: 
1115:       return;
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 57 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/poly_hermite.tcc" 1 3
1115: # 42 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 56 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 72 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __poly_hermite_recursion(unsigned int __n, _Tp __x)
1115:     {
1115: 
1115:       _Tp __H_0 = 1;
1115:       if (__n == 0)
1115:         return __H_0;
1115: 
1115: 
1115:       _Tp __H_1 = 2 * __x;
1115:       if (__n == 1)
1115:         return __H_1;
1115: 
1115: 
1115:       _Tp __H_n, __H_nm1, __H_nm2;
1115:       unsigned int __i;
1115:       for (__H_nm2 = __H_0, __H_nm1 = __H_1, __i = 2; __i <= __n; ++__i)
1115:         {
1115:           __H_n = 2 * (__x * __H_nm1 - (__i - 1) * __H_nm2);
1115:           __H_nm2 = __H_nm1;
1115:           __H_nm1 = __H_n;
1115:         }
1115: 
1115:       return __H_n;
1115:     }
1115: # 114 "/usr/include/c++/12/tr1/poly_hermite.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __poly_hermite(unsigned int __n, _Tp __x)
1115:     {
1115:       if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else
1115:         return __poly_hermite_recursion(__n, __x);
1115:     }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 58 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 1 3
1115: # 44 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 60 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 75 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115:     template<typename _Tpa, typename _Tp>
1115:     _Tp
1115:     __poly_laguerre_large_n(unsigned __n, _Tpa __alpha1, _Tp __x)
1115:     {
1115:       const _Tp __a = -_Tp(__n);
1115:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1115:       const _Tp __eta = _Tp(2) * __b - _Tp(4) * __a;
1115:       const _Tp __cos2th = __x / __eta;
1115:       const _Tp __sin2th = _Tp(1) - __cos2th;
1115:       const _Tp __th = std::acos(std::sqrt(__cos2th));
1115:       const _Tp __pre_h = __numeric_constants<_Tp>::__pi_2()
1115:                         * __numeric_constants<_Tp>::__pi_2()
1115:                         * __eta * __eta * __cos2th * __sin2th;
1115: 
1115: 
1115:       const _Tp __lg_b = ::std::lgamma(_Tp(__n) + __b);
1115:       const _Tp __lnfact = ::std::lgamma(_Tp(__n + 1));
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       _Tp __pre_term1 = _Tp(0.5L) * (_Tp(1) - __b)
1115:                       * std::log(_Tp(0.25L) * __x * __eta);
1115:       _Tp __pre_term2 = _Tp(0.25L) * std::log(__pre_h);
1115:       _Tp __lnpre = __lg_b - __lnfact + _Tp(0.5L) * __x
1115:                       + __pre_term1 - __pre_term2;
1115:       _Tp __ser_term1 = std::sin(__a * __numeric_constants<_Tp>::__pi());
1115:       _Tp __ser_term2 = std::sin(_Tp(0.25L) * __eta
1115:                               * (_Tp(2) * __th
1115:                                - std::sin(_Tp(2) * __th))
1115:                                + __numeric_constants<_Tp>::__pi_4());
1115:       _Tp __ser = __ser_term1 + __ser_term2;
1115: 
1115:       return std::exp(__lnpre) * __ser;
1115:     }
1115: # 129 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115:     template<typename _Tpa, typename _Tp>
1115:     _Tp
1115:     __poly_laguerre_hyperg(unsigned int __n, _Tpa __alpha1, _Tp __x)
1115:     {
1115:       const _Tp __b = _Tp(__alpha1) + _Tp(1);
1115:       const _Tp __mx = -__x;
1115:       const _Tp __tc_sgn = (__x < _Tp(0) ? _Tp(1)
1115:                          : ((__n % 2 == 1) ? -_Tp(1) : _Tp(1)));
1115: 
1115:       _Tp __tc = _Tp(1);
1115:       const _Tp __ax = std::abs(__x);
1115:       for (unsigned int __k = 1; __k <= __n; ++__k)
1115:         __tc *= (__ax / __k);
1115: 
1115:       _Tp __term = __tc * __tc_sgn;
1115:       _Tp __sum = __term;
1115:       for (int __k = int(__n) - 1; __k >= 0; --__k)
1115:         {
1115:           __term *= ((__b + _Tp(__k)) / _Tp(int(__n) - __k))
1115:                   * _Tp(__k + 1) / __mx;
1115:           __sum += __term;
1115:         }
1115: 
1115:       return __sum;
1115:     }
1115: # 185 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115:     template<typename _Tpa, typename _Tp>
1115:     _Tp
1115:     __poly_laguerre_recursion(unsigned int __n, _Tpa __alpha1, _Tp __x)
1115:     {
1115: 
1115:       _Tp __l_0 = _Tp(1);
1115:       if (__n == 0)
1115:         return __l_0;
1115: 
1115: 
1115:       _Tp __l_1 = -__x + _Tp(1) + _Tp(__alpha1);
1115:       if (__n == 1)
1115:         return __l_1;
1115: 
1115: 
1115:       _Tp __l_n2 = __l_0;
1115:       _Tp __l_n1 = __l_1;
1115:       _Tp __l_n = _Tp(0);
1115:       for (unsigned int __nn = 2; __nn <= __n; ++__nn)
1115:         {
1115:             __l_n = (_Tp(2 * __nn - 1) + _Tp(__alpha1) - __x)
1115:                   * __l_n1 / _Tp(__nn)
1115:                   - (_Tp(__nn - 1) + _Tp(__alpha1)) * __l_n2 / _Tp(__nn);
1115:             __l_n2 = __l_n1;
1115:             __l_n1 = __l_n;
1115:         }
1115: 
1115:       return __l_n;
1115:     }
1115: # 244 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115:     template<typename _Tpa, typename _Tp>
1115:     _Tp
1115:     __poly_laguerre(unsigned int __n, _Tpa __alpha1, _Tp __x)
1115:     {
1115:       if (__x < _Tp(0))
1115:         std::__throw_domain_error(("Negative argument " "in __poly_laguerre.")
1115:                                                             );
1115: 
1115:       else if (__isnan(__x))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__n == 0)
1115:         return _Tp(1);
1115:       else if (__n == 1)
1115:         return _Tp(1) + _Tp(__alpha1) - __x;
1115:       else if (__x == _Tp(0))
1115:         {
1115:           _Tp __prod = _Tp(__alpha1) + _Tp(1);
1115:           for (unsigned int __k = 2; __k <= __n; ++__k)
1115:             __prod *= (_Tp(__alpha1) + _Tp(__k)) / _Tp(__k);
1115:           return __prod;
1115:         }
1115:       else if (__n > 10000000 && _Tp(__alpha1) > -_Tp(1)
1115:             && __x < _Tp(2) * (_Tp(__alpha1) + _Tp(1)) + _Tp(4 * __n))
1115:         return __poly_laguerre_large_n(__n, __alpha1, __x);
1115:       else if (_Tp(__alpha1) >= _Tp(0)
1115:            || (__x > _Tp(0) && _Tp(__alpha1) < -_Tp(__n + 1)))
1115:         return __poly_laguerre_recursion(__n, __alpha1, __x);
1115:       else
1115:         return __poly_laguerre_hyperg(__n, __alpha1, __x);
1115:     }
1115: # 296 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1115:     { return __poly_laguerre<unsigned int, _Tp>(__n, __m, __x); }
1115: # 316 "/usr/include/c++/12/tr1/poly_laguerre.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __laguerre(unsigned int __n, _Tp __x)
1115:     { return __poly_laguerre<unsigned int, _Tp>(__n, 0, __x); }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 59 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: # 1 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 1 3
1115: # 47 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 63 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:   namespace __detail
1115:   {
1115: # 78 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __riemann_zeta_sum(_Tp __s)
1115:     {
1115: 
1115:       if (__s < _Tp(1))
1115:         std::__throw_domain_error(("Bad argument in zeta sum."));
1115: 
1115:       const unsigned int max_iter = 10000;
1115:       _Tp __zeta = _Tp(0);
1115:       for (unsigned int __k = 1; __k < max_iter; ++__k)
1115:         {
1115:           _Tp __term = std::pow(static_cast<_Tp>(__k), -__s);
1115:           if (__term < std::numeric_limits<_Tp>::epsilon())
1115:             {
1115:               break;
1115:             }
1115:           __zeta += __term;
1115:         }
1115: 
1115:       return __zeta;
1115:     }
1115: # 115 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __riemann_zeta_alt(_Tp __s)
1115:     {
1115:       _Tp __sgn = _Tp(1);
1115:       _Tp __zeta = _Tp(0);
1115:       for (unsigned int __i = 1; __i < 10000000; ++__i)
1115:         {
1115:           _Tp __term = __sgn / std::pow(__i, __s);
1115:           if (std::abs(__term) < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:           __zeta += __term;
1115:           __sgn *= _Tp(-1);
1115:         }
1115:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1115: 
1115:       return __zeta;
1115:     }
1115: # 157 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __riemann_zeta_glob(_Tp __s)
1115:     {
1115:       _Tp __zeta = _Tp(0);
1115: 
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115: 
1115:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1115:                                * std::log(_Tp(10)) - _Tp(1);
1115: 
1115: 
1115: 
1115:       if (__s < _Tp(0))
1115:         {
1115: 
1115:           if (::std::fmod(__s,_Tp(2)) == _Tp(0))
1115:             return _Tp(0);
1115:           else
1115: 
1115:             {
1115:               _Tp __zeta = __riemann_zeta_glob(_Tp(1) - __s);
1115:               __zeta *= std::pow(_Tp(2)
1115:                      * __numeric_constants<_Tp>::__pi(), __s)
1115:                      * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1115: 
1115:                      * std::exp(::std::lgamma(_Tp(1) - __s))
1115: 
1115: 
1115: 
1115:                      / __numeric_constants<_Tp>::__pi();
1115:               return __zeta;
1115:             }
1115:         }
1115: 
1115:       _Tp __num = _Tp(0.5L);
1115:       const unsigned int __maxit = 10000;
1115:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1115:         {
1115:           bool __punt = false;
1115:           _Tp __sgn = _Tp(1);
1115:           _Tp __term = _Tp(0);
1115:           for (unsigned int __j = 0; __j <= __i; ++__j)
1115:             {
1115: 
1115:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1115:                               - ::std::lgamma(_Tp(1 + __j))
1115:                               - ::std::lgamma(_Tp(1 + __i - __j));
1115: 
1115: 
1115: 
1115: 
1115: 
1115:               if (__bincoeff > __max_bincoeff)
1115:                 {
1115: 
1115:                   __punt = true;
1115:                   break;
1115:                 }
1115:               __bincoeff = std::exp(__bincoeff);
1115:               __term += __sgn * __bincoeff * std::pow(_Tp(1 + __j), -__s);
1115:               __sgn *= _Tp(-1);
1115:             }
1115:           if (__punt)
1115:             break;
1115:           __term *= __num;
1115:           __zeta += __term;
1115:           if (std::abs(__term/__zeta) < __eps)
1115:             break;
1115:           __num *= _Tp(0.5L);
1115:         }
1115: 
1115:       __zeta /= _Tp(1) - std::pow(_Tp(2), _Tp(1) - __s);
1115: 
1115:       return __zeta;
1115:     }
1115: # 252 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __riemann_zeta_product(_Tp __s)
1115:     {
1115:       static const _Tp __prime[] = {
1115:         _Tp(2), _Tp(3), _Tp(5), _Tp(7), _Tp(11), _Tp(13), _Tp(17), _Tp(19),
1115:         _Tp(23), _Tp(29), _Tp(31), _Tp(37), _Tp(41), _Tp(43), _Tp(47),
1115:         _Tp(53), _Tp(59), _Tp(61), _Tp(67), _Tp(71), _Tp(73), _Tp(79),
1115:         _Tp(83), _Tp(89), _Tp(97), _Tp(101), _Tp(103), _Tp(107), _Tp(109)
1115:       };
1115:       static const unsigned int __num_primes = sizeof(__prime) / sizeof(_Tp);
1115: 
1115:       _Tp __zeta = _Tp(1);
1115:       for (unsigned int __i = 0; __i < __num_primes; ++__i)
1115:         {
1115:           const _Tp __fact = _Tp(1) - std::pow(__prime[__i], -__s);
1115:           __zeta *= __fact;
1115:           if (_Tp(1) - __fact < std::numeric_limits<_Tp>::epsilon())
1115:             break;
1115:         }
1115: 
1115:       __zeta = _Tp(1) / __zeta;
1115: 
1115:       return __zeta;
1115:     }
1115: # 293 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __riemann_zeta(_Tp __s)
1115:     {
1115:       if (__isnan(__s))
1115:         return std::numeric_limits<_Tp>::quiet_NaN();
1115:       else if (__s == _Tp(1))
1115:         return std::numeric_limits<_Tp>::infinity();
1115:       else if (__s < -_Tp(19))
1115:         {
1115:           _Tp __zeta = __riemann_zeta_product(_Tp(1) - __s);
1115:           __zeta *= std::pow(_Tp(2) * __numeric_constants<_Tp>::__pi(), __s)
1115:                  * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1115: 
1115:                  * std::exp(::std::lgamma(_Tp(1) - __s))
1115: 
1115: 
1115: 
1115:                  / __numeric_constants<_Tp>::__pi();
1115:           return __zeta;
1115:         }
1115:       else if (__s < _Tp(20))
1115:         {
1115: 
1115:           bool __glob = true;
1115:           if (__glob)
1115:             return __riemann_zeta_glob(__s);
1115:           else
1115:             {
1115:               if (__s > _Tp(1))
1115:                 return __riemann_zeta_sum(__s);
1115:               else
1115:                 {
1115:                   _Tp __zeta = std::pow(_Tp(2)
1115:                                 * __numeric_constants<_Tp>::__pi(), __s)
1115:                          * std::sin(__numeric_constants<_Tp>::__pi_2() * __s)
1115: 
1115:                              * ::std::tgamma(_Tp(1) - __s)
1115: 
1115: 
1115: 
1115:                              * __riemann_zeta_sum(_Tp(1) - __s);
1115:                   return __zeta;
1115:                 }
1115:             }
1115:         }
1115:       else
1115:         return __riemann_zeta_product(__s);
1115:     }
1115: # 365 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:     template<typename _Tp>
1115:     _Tp
1115:     __hurwitz_zeta_glob(_Tp __a, _Tp __s)
1115:     {
1115:       _Tp __zeta = _Tp(0);
1115: 
1115:       const _Tp __eps = std::numeric_limits<_Tp>::epsilon();
1115: 
1115:       const _Tp __max_bincoeff = std::numeric_limits<_Tp>::max_exponent10
1115:                                * std::log(_Tp(10)) - _Tp(1);
1115: 
1115:       const unsigned int __maxit = 10000;
1115:       for (unsigned int __i = 0; __i < __maxit; ++__i)
1115:         {
1115:           bool __punt = false;
1115:           _Tp __sgn = _Tp(1);
1115:           _Tp __term = _Tp(0);
1115:           for (unsigned int __j = 0; __j <= __i; ++__j)
1115:             {
1115: 
1115:               _Tp __bincoeff = ::std::lgamma(_Tp(1 + __i))
1115:                               - ::std::lgamma(_Tp(1 + __j))
1115:                               - ::std::lgamma(_Tp(1 + __i - __j));
1115: 
1115: 
1115: 
1115: 
1115: 
1115:               if (__bincoeff > __max_bincoeff)
1115:                 {
1115: 
1115:                   __punt = true;
1115:                   break;
1115:                 }
1115:               __bincoeff = std::exp(__bincoeff);
1115:               __term += __sgn * __bincoeff * std::pow(_Tp(__a + __j), -__s);
1115:               __sgn *= _Tp(-1);
1115:             }
1115:           if (__punt)
1115:             break;
1115:           __term /= _Tp(__i + 1);
1115:           if (std::abs(__term / __zeta) < __eps)
1115:             break;
1115:           __zeta += __term;
1115:         }
1115: 
1115:       __zeta /= __s - _Tp(1);
1115: 
1115:       return __zeta;
1115:     }
1115: # 430 "/usr/include/c++/12/tr1/riemann_zeta.tcc" 3
1115:     template<typename _Tp>
1115:     inline _Tp
1115:     __hurwitz_zeta(_Tp __a, _Tp __s)
1115:     { return __hurwitz_zeta_glob(__a, __s); }
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 60 "/usr/include/c++/12/bits/specfun.h" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 205 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
1115:   { return __detail::__assoc_laguerre<float>(__n, __m, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   assoc_laguerrel(unsigned int __n, unsigned int __m, long double __x)
1115:   { return __detail::__assoc_laguerre<long double>(__n, __m, __x); }
1115: # 250 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__assoc_laguerre<__type>(__n, __m, __x);
1115:     }
1115: # 266 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   assoc_legendref(unsigned int __l, unsigned int __m, float __x)
1115:   { return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
1115:   { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
1115: # 296 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
1115:     }
1115: # 311 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   betaf(float __a, float __b)
1115:   { return __detail::__beta<float>(__a, __b); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   betal(long double __a, long double __b)
1115:   { return __detail::__beta<long double>(__a, __b); }
1115: # 341 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tpa, typename _Tpb>
1115:     inline typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type
1115:     beta(_Tpa __a, _Tpb __b)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tpa, _Tpb>::__type __type;
1115:       return __detail::__beta<__type>(__a, __b);
1115:     }
1115: # 357 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   comp_ellint_1f(float __k)
1115:   { return __detail::__comp_ellint_1<float>(__k); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   comp_ellint_1l(long double __k)
1115:   { return __detail::__comp_ellint_1<long double>(__k); }
1115: # 389 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     comp_ellint_1(_Tp __k)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__comp_ellint_1<__type>(__k);
1115:     }
1115: # 405 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   comp_ellint_2f(float __k)
1115:   { return __detail::__comp_ellint_2<float>(__k); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   comp_ellint_2l(long double __k)
1115:   { return __detail::__comp_ellint_2<long double>(__k); }
1115: # 436 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     comp_ellint_2(_Tp __k)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__comp_ellint_2<__type>(__k);
1115:     }
1115: # 452 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   comp_ellint_3f(float __k, float __nu)
1115:   { return __detail::__comp_ellint_3<float>(__k, __nu); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   comp_ellint_3l(long double __k, long double __nu)
1115:   { return __detail::__comp_ellint_3<long double>(__k, __nu); }
1115: # 487 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp, typename _Tpn>
1115:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
1115:     comp_ellint_3(_Tp __k, _Tpn __nu)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type __type;
1115:       return __detail::__comp_ellint_3<__type>(__k, __nu);
1115:     }
1115: # 503 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   cyl_bessel_if(float __nu, float __x)
1115:   { return __detail::__cyl_bessel_i<float>(__nu, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   cyl_bessel_il(long double __nu, long double __x)
1115:   { return __detail::__cyl_bessel_i<long double>(__nu, __x); }
1115: # 533 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tpnu, typename _Tp>
1115:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1115:     cyl_bessel_i(_Tpnu __nu, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1115:       return __detail::__cyl_bessel_i<__type>(__nu, __x);
1115:     }
1115: # 549 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   cyl_bessel_jf(float __nu, float __x)
1115:   { return __detail::__cyl_bessel_j<float>(__nu, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   cyl_bessel_jl(long double __nu, long double __x)
1115:   { return __detail::__cyl_bessel_j<long double>(__nu, __x); }
1115: # 579 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tpnu, typename _Tp>
1115:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1115:     cyl_bessel_j(_Tpnu __nu, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1115:       return __detail::__cyl_bessel_j<__type>(__nu, __x);
1115:     }
1115: # 595 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   cyl_bessel_kf(float __nu, float __x)
1115:   { return __detail::__cyl_bessel_k<float>(__nu, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   cyl_bessel_kl(long double __nu, long double __x)
1115:   { return __detail::__cyl_bessel_k<long double>(__nu, __x); }
1115: # 631 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tpnu, typename _Tp>
1115:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1115:     cyl_bessel_k(_Tpnu __nu, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1115:       return __detail::__cyl_bessel_k<__type>(__nu, __x);
1115:     }
1115: # 647 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   cyl_neumannf(float __nu, float __x)
1115:   { return __detail::__cyl_neumann_n<float>(__nu, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   cyl_neumannl(long double __nu, long double __x)
1115:   { return __detail::__cyl_neumann_n<long double>(__nu, __x); }
1115: # 679 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tpnu, typename _Tp>
1115:     inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
1115:     cyl_neumann(_Tpnu __nu, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type __type;
1115:       return __detail::__cyl_neumann_n<__type>(__nu, __x);
1115:     }
1115: # 695 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   ellint_1f(float __k, float __phi)
1115:   { return __detail::__ellint_1<float>(__k, __phi); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   ellint_1l(long double __k, long double __phi)
1115:   { return __detail::__ellint_1<long double>(__k, __phi); }
1115: # 727 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp, typename _Tpp>
1115:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1115:     ellint_1(_Tp __k, _Tpp __phi)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1115:       return __detail::__ellint_1<__type>(__k, __phi);
1115:     }
1115: # 743 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   ellint_2f(float __k, float __phi)
1115:   { return __detail::__ellint_2<float>(__k, __phi); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   ellint_2l(long double __k, long double __phi)
1115:   { return __detail::__ellint_2<long double>(__k, __phi); }
1115: # 775 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp, typename _Tpp>
1115:     inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
1115:     ellint_2(_Tp __k, _Tpp __phi)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type __type;
1115:       return __detail::__ellint_2<__type>(__k, __phi);
1115:     }
1115: # 791 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   ellint_3f(float __k, float __nu, float __phi)
1115:   { return __detail::__ellint_3<float>(__k, __nu, __phi); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   ellint_3l(long double __k, long double __nu, long double __phi)
1115:   { return __detail::__ellint_3<long double>(__k, __nu, __phi); }
1115: # 828 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp, typename _Tpn, typename _Tpp>
1115:     inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
1115:     ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
1115:     {
1115:       typedef typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type __type;
1115:       return __detail::__ellint_3<__type>(__k, __nu, __phi);
1115:     }
1115: # 843 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   expintf(float __x)
1115:   { return __detail::__expint<float>(__x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   expintl(long double __x)
1115:   { return __detail::__expint<long double>(__x); }
1115: # 868 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     expint(_Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__expint<__type>(__x);
1115:     }
1115: # 884 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   hermitef(unsigned int __n, float __x)
1115:   { return __detail::__poly_hermite<float>(__n, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   hermitel(unsigned int __n, long double __x)
1115:   { return __detail::__poly_hermite<long double>(__n, __x); }
1115: # 916 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     hermite(unsigned int __n, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__poly_hermite<__type>(__n, __x);
1115:     }
1115: # 932 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   laguerref(unsigned int __n, float __x)
1115:   { return __detail::__laguerre<float>(__n, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   laguerrel(unsigned int __n, long double __x)
1115:   { return __detail::__laguerre<long double>(__n, __x); }
1115: # 960 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     laguerre(unsigned int __n, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__laguerre<__type>(__n, __x);
1115:     }
1115: # 976 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   legendref(unsigned int __l, float __x)
1115:   { return __detail::__poly_legendre_p<float>(__l, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   legendrel(unsigned int __l, long double __x)
1115:   { return __detail::__poly_legendre_p<long double>(__l, __x); }
1115: # 1005 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     legendre(unsigned int __l, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__poly_legendre_p<__type>(__l, __x);
1115:     }
1115: # 1021 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   riemann_zetaf(float __s)
1115:   { return __detail::__riemann_zeta<float>(__s); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   riemann_zetal(long double __s)
1115:   { return __detail::__riemann_zeta<long double>(__s); }
1115: # 1056 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     riemann_zeta(_Tp __s)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__riemann_zeta<__type>(__s);
1115:     }
1115: # 1072 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   sph_besself(unsigned int __n, float __x)
1115:   { return __detail::__sph_bessel<float>(__n, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   sph_bessell(unsigned int __n, long double __x)
1115:   { return __detail::__sph_bessel<long double>(__n, __x); }
1115: # 1100 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     sph_bessel(unsigned int __n, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__sph_bessel<__type>(__n, __x);
1115:     }
1115: # 1116 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   sph_legendref(unsigned int __l, unsigned int __m, float __theta)
1115:   { return __detail::__sph_legendre<float>(__l, __m, __theta); }
1115: # 1127 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline long double
1115:   sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
1115:   { return __detail::__sph_legendre<long double>(__l, __m, __theta); }
1115: # 1147 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__sph_legendre<__type>(__l, __m, __theta);
1115:     }
1115: # 1163 "/usr/include/c++/12/bits/specfun.h" 3
1115:   inline float
1115:   sph_neumannf(unsigned int __n, float __x)
1115:   { return __detail::__sph_neumann<float>(__n, __x); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   inline long double
1115:   sph_neumannl(unsigned int __n, long double __x)
1115:   { return __detail::__sph_neumann<long double>(__n, __x); }
1115: # 1191 "/usr/include/c++/12/bits/specfun.h" 3
1115:   template<typename _Tp>
1115:     inline typename __gnu_cxx::__promote<_Tp>::__type
1115:     sph_neumann(unsigned int __n, _Tp __x)
1115:     {
1115:       typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
1115:       return __detail::__sph_neumann<__type>(__n, __x);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 1388 "/usr/include/c++/12/bits/specfun.h" 3
1115: #pragma GCC visibility pop
1115: # 1936 "/usr/include/c++/12/cmath" 2 3
1115: 
1115: 
1115: }
1115: # 37 "/usr/include/c++/12/math.h" 2 3
1115: 
1115: using std::abs;
1115: using std::acos;
1115: using std::asin;
1115: using std::atan;
1115: using std::atan2;
1115: using std::cos;
1115: using std::sin;
1115: using std::tan;
1115: using std::cosh;
1115: using std::sinh;
1115: using std::tanh;
1115: using std::exp;
1115: using std::frexp;
1115: using std::ldexp;
1115: using std::log;
1115: using std::log10;
1115: using std::modf;
1115: using std::pow;
1115: using std::sqrt;
1115: using std::ceil;
1115: using std::fabs;
1115: using std::floor;
1115: using std::fmod;
1115: 
1115: 
1115: using std::fpclassify;
1115: using std::isfinite;
1115: using std::isinf;
1115: using std::isnan;
1115: using std::isnormal;
1115: using std::signbit;
1115: using std::isgreater;
1115: using std::isgreaterequal;
1115: using std::isless;
1115: using std::islessequal;
1115: using std::islessgreater;
1115: using std::isunordered;
1115: 
1115: 
1115: 
1115: using std::acosh;
1115: using std::asinh;
1115: using std::atanh;
1115: using std::cbrt;
1115: using std::copysign;
1115: using std::erf;
1115: using std::erfc;
1115: using std::exp2;
1115: using std::expm1;
1115: using std::fdim;
1115: using std::fma;
1115: using std::fmax;
1115: using std::fmin;
1115: using std::hypot;
1115: using std::ilogb;
1115: using std::lgamma;
1115: using std::llrint;
1115: using std::llround;
1115: using std::log1p;
1115: using std::log2;
1115: using std::logb;
1115: using std::lrint;
1115: using std::lround;
1115: using std::nearbyint;
1115: using std::nextafter;
1115: using std::nexttoward;
1115: using std::remainder;
1115: using std::remquo;
1115: using std::rint;
1115: using std::round;
1115: using std::scalbln;
1115: using std::scalbn;
1115: using std::tgamma;
1115: using std::trunc;
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h" 2
1115: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1115: 
1115: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/TransformMatrix.h"
1115: class TransformMatrix
1115: {
1115: public:
1115:   TransformMatrix()
1115:   {
1115:     Reset();
1115:   };
1115:   void Reset()
1115:   {
1115:     m[0][0] = 1.0f; m[0][1] = m[0][2] = m[0][3] = 0.0f;
1115:     m[1][0] = m[1][2] = m[1][3] = 0.0f; m[1][1] = 1.0f;
1115:     m[2][0] = m[2][1] = m[2][3] = 0.0f; m[2][2] = 1.0f;
1115:     alpha = red = green = blue = 1.0f;
1115:     identity = true;
1115:   };
1115:   static TransformMatrix CreateTranslation(float transX, float transY, float transZ = 0)
1115:   {
1115:     TransformMatrix translation;
1115:     translation.SetTranslation(transX, transY, transZ);
1115:     return translation;
1115:   }
1115:   void SetTranslation(float transX, float transY, float transZ)
1115:   {
1115:     m[0][1] = m[0][2] = 0.0f; m[0][0] = 1.0f; m[0][3] = transX;
1115:     m[1][0] = m[1][2] = 0.0f; m[1][1] = 1.0f; m[1][3] = transY;
1115:     m[2][0] = m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = transZ;
1115:     alpha = red = green = blue = 1.0f;
1115:     identity = (transX == 0 && transY == 0 && transZ == 0);
1115:   }
1115:   static TransformMatrix CreateScaler(float scaleX, float scaleY, float scaleZ = 1.0f)
1115:   {
1115:     TransformMatrix scaler;
1115:     scaler.m[0][0] = scaleX;
1115:     scaler.m[1][1] = scaleY;
1115:     scaler.m[2][2] = scaleZ;
1115:     scaler.identity = (scaleX == 1 && scaleY == 1 && scaleZ == 1);
1115:     return scaler;
1115:   };
1115:   void SetScaler(float scaleX, float scaleY, float centerX, float centerY)
1115:   {
1115: 
1115:     float centerZ = 0.0f, scaleZ = 1.0f;
1115:     m[0][0] = scaleX; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = centerX*(1-scaleX);
1115:     m[1][0] = 0.0f; m[1][1] = scaleY; m[1][2] = 0.0f; m[1][3] = centerY*(1-scaleY);
1115:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = scaleZ; m[2][3] = centerZ*(1-scaleZ);
1115:     alpha = red = green = blue = 1.0f;
1115:     identity = (scaleX == 1 && scaleY == 1);
1115:   };
1115:   void SetXRotation(float angle, float y, float z, float ar = 1.0f)
1115:   {
1115: 
1115:     float c = cos(angle); float s = sin(angle);
1115:     m[0][0] = ar; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1115:     m[1][0] = 0.0f; m[1][1] = c/ar; m[1][2] = -s/ar; m[1][3] = (-y*c+s*z)/ar + y;
1115:     m[2][0] = 0.0f; m[2][1] = s; m[2][2] = c; m[2][3] = (-y*s-c*z) + z;
1115:     alpha = red = green = blue = 1.0f;
1115:     identity = (angle == 0);
1115:   }
1115:   void SetYRotation(float angle, float x, float z, float ar = 1.0f)
1115:   {
1115: 
1115:     float c = cos(angle); float s = sin(angle);
1115:     m[0][0] = c; m[0][1] = 0.0f; m[0][2] = -s/ar; m[0][3] = -x*c + s*z/ar + x;
1115:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1115:     m[2][0] = ar*s; m[2][1] = 0.0f; m[2][2] = c; m[2][3] = -ar*x*s - c*z + z;
1115:     alpha = red = green = blue = 1.0f;
1115:     identity = (angle == 0);
1115:   }
1115:   static TransformMatrix CreateZRotation(float angle, float x, float y, float ar = 1.0f)
1115:   {
1115: 
1115:     TransformMatrix rot;
1115:     rot.SetZRotation(angle, x, y, ar);
1115:     return rot;
1115:   }
1115:   void SetZRotation(float angle, float x, float y, float ar = 1.0f)
1115:   {
1115: 
1115:     float c = cos(angle); float s = sin(angle);
1115:     m[0][0] = c; m[0][1] = -s/ar; m[0][2] = 0.0f; m[0][3] = -x*c + s*y/ar + x;
1115:     m[1][0] = s*ar; m[1][1] = c; m[1][2] = 0.0f; m[1][3] = -ar*x*s - c*y + y;
1115:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1115:     alpha = red = green = blue = 1.0f;
1115:     identity = (angle == 0);
1115:   }
1115:   static TransformMatrix CreateFader(float a)
1115:   {
1115:     TransformMatrix fader;
1115:     fader.SetFader(a);
1115:     return fader;
1115:   }
1115:   static TransformMatrix CreateFader(float a, float r, float g, float b)
1115:   {
1115:     TransformMatrix fader;
1115:     fader.SetFader(a, r, g, b);
1115:     return fader;
1115:   }
1115:   void SetFader(float a)
1115:   {
1115:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1115:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1115:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1115:     alpha = a;
1115:     red = green = blue = 1.0f;
1115:     identity = (a == 1.0f);
1115:   }
1115: 
1115:   void SetFader(float a, float r, float g, float b)
1115:   {
1115:     m[0][0] = 1.0f; m[0][1] = 0.0f; m[0][2] = 0.0f; m[0][3] = 0.0f;
1115:     m[1][0] = 0.0f; m[1][1] = 1.0f; m[1][2] = 0.0f; m[1][3] = 0.0f;
1115:     m[2][0] = 0.0f; m[2][1] = 0.0f; m[2][2] = 1.0f; m[2][3] = 0.0f;
1115:     alpha = a;
1115:     red = r;
1115:     green = g;
1115:     blue = b;
1115:     identity = ((a == 1.0f) && (r == 1.0f) && (g == 1.0f) && (b == 1.0f));
1115:   }
1115: 
1115: 
1115:   const TransformMatrix &operator *=(const TransformMatrix &right)
1115:   {
1115:     if (right.identity)
1115:       return *this;
1115:     if (identity)
1115:     {
1115:       *this = right;
1115:       return *this;
1115:     }
1115:     float t00 = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1115:     float t01 = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1115:     float t02 = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1115:     m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1115:     m[0][0] = t00; m[0][1] = t01; m[0][2] = t02;
1115:     t00 = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1115:     t01 = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1115:     t02 = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1115:     m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1115:     m[1][0] = t00; m[1][1] = t01; m[1][2] = t02;
1115:     t00 = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1115:     t01 = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1115:     t02 = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1115:     m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1115:     m[2][0] = t00; m[2][1] = t01; m[2][2] = t02;
1115:     alpha *= right.alpha;
1115:     red *= right.red;
1115:     green *= right.green;
1115:     blue *= right.blue;
1115:     identity = false;
1115:     return *this;
1115:   }
1115: 
1115:   TransformMatrix operator *(const TransformMatrix &right) const
1115:   {
1115:     if (right.identity)
1115:       return *this;
1115:     if (identity)
1115:       return right;
1115:     TransformMatrix result;
1115:     result.m[0][0] = m[0][0] * right.m[0][0] + m[0][1] * right.m[1][0] + m[0][2] * right.m[2][0];
1115:     result.m[0][1] = m[0][0] * right.m[0][1] + m[0][1] * right.m[1][1] + m[0][2] * right.m[2][1];
1115:     result.m[0][2] = m[0][0] * right.m[0][2] + m[0][1] * right.m[1][2] + m[0][2] * right.m[2][2];
1115:     result.m[0][3] = m[0][0] * right.m[0][3] + m[0][1] * right.m[1][3] + m[0][2] * right.m[2][3] + m[0][3];
1115:     result.m[1][0] = m[1][0] * right.m[0][0] + m[1][1] * right.m[1][0] + m[1][2] * right.m[2][0];
1115:     result.m[1][1] = m[1][0] * right.m[0][1] + m[1][1] * right.m[1][1] + m[1][2] * right.m[2][1];
1115:     result.m[1][2] = m[1][0] * right.m[0][2] + m[1][1] * right.m[1][2] + m[1][2] * right.m[2][2];
1115:     result.m[1][3] = m[1][0] * right.m[0][3] + m[1][1] * right.m[1][3] + m[1][2] * right.m[2][3] + m[1][3];
1115:     result.m[2][0] = m[2][0] * right.m[0][0] + m[2][1] * right.m[1][0] + m[2][2] * right.m[2][0];
1115:     result.m[2][1] = m[2][0] * right.m[0][1] + m[2][1] * right.m[1][1] + m[2][2] * right.m[2][1];
1115:     result.m[2][2] = m[2][0] * right.m[0][2] + m[2][1] * right.m[1][2] + m[2][2] * right.m[2][2];
1115:     result.m[2][3] = m[2][0] * right.m[0][3] + m[2][1] * right.m[1][3] + m[2][2] * right.m[2][3] + m[2][3];
1115:     result.alpha = alpha * right.alpha;
1115:     result.red = red * right.red;
1115:     result.green = green * right.green;
1115:     result.blue = blue * right.blue;
1115:     result.identity = false;
1115:     return result;
1115:   }
1115: 
1115:   inline void TransformPosition(float &x, float &y, float &z) const __attribute__((always_inline))
1115:   {
1115:     float newX = m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1115:     float newY = m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1115:     z = m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1115:     y = newY;
1115:     x = newX;
1115:   }
1115: 
1115:   inline void TransformPositionUnscaled(float &x, float &y, float &z) const __attribute__((always_inline))
1115:   {
1115:     float n;
1115: 
1115:     n = sqrt(m[0][0]*m[0][0] + m[0][1]*m[0][1] + m[0][2]*m[0][2]);
1115:     float newX = (m[0][0] * x + m[0][1] * y + m[0][2] * z)/n + m[0][3];
1115:     n = sqrt(m[1][0]*m[1][0] + m[1][1]*m[1][1] + m[1][2]*m[1][2]);
1115:     float newY = (m[1][0] * x + m[1][1] * y + m[1][2] * z)/n + m[1][3];
1115:     n = sqrt(m[2][0]*m[2][0] + m[2][1]*m[2][1] + m[2][2]*m[2][2]);
1115:     float newZ = (m[2][0] * x + m[2][1] * y + m[2][2] * z)/n + m[2][3];
1115:     z = newZ;
1115:     y = newY;
1115:     x = newX;
1115:   }
1115: 
1115:   inline void InverseTransformPosition(float &x, float &y) const __attribute__((always_inline))
1115:   {
1115:     x -= m[0][3]; y -= m[1][3];
1115:     float detM = m[0][0]*m[1][1] - m[0][1]*m[1][0];
1115:     float newX = (m[1][1] * x - m[0][1] * y)/detM;
1115:     y = (-m[1][0] * x + m[0][0] * y)/detM;
1115:     x = newX;
1115:   }
1115: 
1115:   inline float TransformXCoord(float x, float y, float z) const __attribute__((always_inline))
1115:   {
1115:     return m[0][0] * x + m[0][1] * y + m[0][2] * z + m[0][3];
1115:   }
1115: 
1115:   inline float TransformYCoord(float x, float y, float z) const __attribute__((always_inline))
1115:   {
1115:     return m[1][0] * x + m[1][1] * y + m[1][2] * z + m[1][3];
1115:   }
1115: 
1115:   inline float TransformZCoord(float x, float y, float z) const __attribute__((always_inline))
1115:   {
1115:     return m[2][0] * x + m[2][1] * y + m[2][2] * z + m[2][3];
1115:   }
1115: 
1115:   inline UTILS::COLOR::Color TransformAlpha(UTILS::COLOR::Color color) const __attribute__((always_inline))
1115:   {
1115:     return static_cast<UTILS::COLOR::Color>(color * alpha);
1115:   }
1115: 
1115:   inline UTILS::COLOR::Color TransformColor(UTILS::COLOR::Color color) const __attribute__((always_inline))
1115:   {
1115:     UTILS::COLOR::Color a = static_cast<UTILS::COLOR::Color>(((color >> 24) & 0xff) * alpha);
1115:     UTILS::COLOR::Color r = static_cast<UTILS::COLOR::Color>(((color >> 16) & 0xff) * red);
1115:     UTILS::COLOR::Color g = static_cast<UTILS::COLOR::Color>(((color >> 8) & 0xff) * green);
1115:     UTILS::COLOR::Color b = static_cast<UTILS::COLOR::Color>(((color)&0xff) * blue);
1115:     if (a > 255)
1115:       a = 255;
1115:     if (r > 255)
1115:       r = 255;
1115:     if (g > 255)
1115:       g = 255;
1115:     if (b > 255)
1115:       b = 255;
1115: 
1115:     return ((a << 24) & 0xff000000) | ((r << 16) & 0xff0000) | ((g << 8) & 0xff00) | (b & 0xff);
1115:   }
1115: 
1115:   float m[3][4];
1115:   float alpha;
1115:   float red;
1115:   float green;
1115:   float blue;
1115:   bool identity;
1115: };
1115: 
1115: inline bool operator==(const TransformMatrix &a, const TransformMatrix &b)
1115: {
1115:   bool comparison =
1115:       a.alpha == b.alpha && a.red == b.red && a.green == b.green && a.blue == b.blue &&
1115:       ((a.identity && b.identity) ||
1115:        (!a.identity && !b.identity &&
1115:         std::equal(&a.m[0][0], &a.m[0][0] + sizeof(a.m) / sizeof(a.m[0][0]), &b.m[0][0])));
1115:   return comparison;
1115: }
1115: 
1115: inline bool operator!=(const TransformMatrix &a, const TransformMatrix &b)
1115: {
1115:   return !operator==(a, b);
1115: }
1115: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: enum ANIMATION_TYPE
1115: {
1115:   ANIM_TYPE_UNFOCUS = -3,
1115:   ANIM_TYPE_HIDDEN,
1115:   ANIM_TYPE_WINDOW_CLOSE,
1115:   ANIM_TYPE_NONE,
1115:   ANIM_TYPE_WINDOW_OPEN,
1115:   ANIM_TYPE_VISIBLE,
1115:   ANIM_TYPE_FOCUS,
1115:   ANIM_TYPE_CONDITIONAL
1115: };
1115: 
1115: class CAnimEffect
1115: {
1115: public:
1115:   enum EFFECT_TYPE
1115:   {
1115:     EFFECT_TYPE_NONE = 0,
1115:     EFFECT_TYPE_FADE,
1115:     EFFECT_TYPE_FADE_DIFFUSE,
1115:     EFFECT_TYPE_SLIDE,
1115:     EFFECT_TYPE_ROTATE_X,
1115:     EFFECT_TYPE_ROTATE_Y,
1115:     EFFECT_TYPE_ROTATE_Z,
1115:     EFFECT_TYPE_ZOOM
1115:   };
1115: 
1115:   CAnimEffect(const TiXmlElement *node, EFFECT_TYPE effect);
1115:   CAnimEffect(unsigned int delay, unsigned int length, EFFECT_TYPE effect);
1115:   CAnimEffect(const CAnimEffect &src);
1115: 
1115:   virtual ~CAnimEffect();
1115:   CAnimEffect& operator=(const CAnimEffect &src);
1115: 
1115:   void Calculate(unsigned int time, const CPoint &center);
1115:   void ApplyState(ANIMATION_STATE state, const CPoint &center);
1115: 
1115:   unsigned int GetDelay() const { return m_delay; }
1115:   unsigned int GetLength() const { return m_delay + m_length; }
1115:   const TransformMatrix& GetTransform() const { return m_matrix; }
1115:   EFFECT_TYPE GetType() const { return m_effect; }
1115: 
1115:   static std::shared_ptr<Tweener> GetTweener(const TiXmlElement *pAnimationNode);
1115: protected:
1115:   TransformMatrix m_matrix;
1115:   EFFECT_TYPE m_effect;
1115: 
1115: private:
1115:   virtual void ApplyEffect(float offset, const CPoint &center)=0;
1115: 
1115: 
1115:   unsigned int m_length;
1115:   unsigned int m_delay;
1115: 
1115:   std::shared_ptr<Tweener> m_pTweener;
1115: };
1115: 
1115: class CFadeEffect : public CAnimEffect
1115: {
1115: public:
1115:   CFadeEffect(const TiXmlElement* node, bool reverseDefaults, EFFECT_TYPE effect);
1115:   CFadeEffect(float start, float end, unsigned int delay, unsigned int length);
1115:   CFadeEffect(UTILS::COLOR::Color start,
1115:               UTILS::COLOR::Color end,
1115:               unsigned int delay,
1115:               unsigned int length);
1115:   ~CFadeEffect() override = default;
1115: private:
1115:   void ApplyEffect(float offset, const CPoint &center) override;
1115: 
1115:   float m_startAlpha;
1115:   float m_endAlpha;
1115:   UTILS::COLOR::ColorFloats m_startColor;
1115:   UTILS::COLOR::ColorFloats m_endColor;
1115: };
1115: 
1115: class CSlideEffect : public CAnimEffect
1115: {
1115: public:
1115:   explicit CSlideEffect(const TiXmlElement *node);
1115:   ~CSlideEffect() override = default;
1115: private:
1115:   void ApplyEffect(float offset, const CPoint &center) override;
1115: 
1115:   float m_startX;
1115:   float m_startY;
1115:   float m_endX;
1115:   float m_endY;
1115: };
1115: 
1115: class CRotateEffect : public CAnimEffect
1115: {
1115: public:
1115:   CRotateEffect(const TiXmlElement *node, EFFECT_TYPE effect);
1115:   ~CRotateEffect() override = default;
1115: private:
1115:   void ApplyEffect(float offset, const CPoint &center) override;
1115: 
1115:   float m_startAngle;
1115:   float m_endAngle;
1115: 
1115:   bool m_autoCenter;
1115:   CPoint m_center;
1115: };
1115: 
1115: class CZoomEffect : public CAnimEffect
1115: {
1115: public:
1115:   CZoomEffect(const TiXmlElement *node, const CRect &rect);
1115:   ~CZoomEffect() override = default;
1115: private:
1115:   void ApplyEffect(float offset, const CPoint &center) override;
1115: 
1115:   float m_startX;
1115:   float m_startY;
1115:   float m_endX;
1115:   float m_endY;
1115: 
1115:   bool m_autoCenter;
1115:   CPoint m_center;
1115: };
1115: 
1115: class CAnimation
1115: {
1115: public:
1115:   CAnimation();
1115:   CAnimation(const CAnimation &src);
1115: 
1115:   virtual ~CAnimation();
1115: 
1115:   CAnimation& operator=(const CAnimation &src);
1115: 
1115:   static CAnimation CreateFader(float start, float end, unsigned int delay, unsigned int length, ANIMATION_TYPE type = ANIM_TYPE_NONE);
1115: 
1115:   void Create(const TiXmlElement *node, const CRect &rect, int context);
1115: 
1115:   void Animate(unsigned int time, bool startAnim);
1115:   void ResetAnimation();
1115:   void ApplyAnimation();
1115:   inline void RenderAnimation(TransformMatrix &matrix)
1115:   {
1115:     RenderAnimation(matrix, CPoint());
1115:   }
1115:   void RenderAnimation(TransformMatrix &matrix, const CPoint &center);
1115:   void QueueAnimation(ANIMATION_PROCESS process);
1115: 
1115:   inline bool IsReversible() const { return m_reversible; }
1115:   inline ANIMATION_TYPE GetType() const { return m_type; }
1115:   inline ANIMATION_STATE GetState() const { return m_currentState; }
1115:   inline ANIMATION_PROCESS GetProcess() const { return m_currentProcess; }
1115:   inline ANIMATION_PROCESS GetQueuedProcess() const { return m_queuedProcess; }
1115: 
1115:   bool CheckCondition();
1115:   void UpdateCondition(const CGUIListItem *item = 
1115: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h" 3 4
1115:                                                  __null
1115: # 182 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1115:                                                      );
1115:   void SetInitialCondition();
1115: 
1115: private:
1115:   void Calculate(const CPoint &point);
1115:   void AddEffect(const std::string &type, const TiXmlElement *node, const CRect &rect);
1115: 
1115:   enum ANIM_REPEAT { ANIM_REPEAT_NONE = 0, ANIM_REPEAT_PULSE, ANIM_REPEAT_LOOP };
1115: 
1115: 
1115:   ANIMATION_TYPE m_type;
1115:   bool m_reversible;
1115:   INFO::InfoPtr m_condition;
1115: 
1115: 
1115:   ANIM_REPEAT m_repeatAnim;
1115:   bool m_lastCondition;
1115: 
1115: 
1115:   ANIMATION_PROCESS m_queuedProcess;
1115:   ANIMATION_PROCESS m_currentProcess;
1115:   ANIMATION_STATE m_currentState;
1115: 
1115: 
1115:   unsigned int m_start;
1115:   unsigned int m_length;
1115:   unsigned int m_delay;
1115:   unsigned int m_amount;
1115: 
1115:   std::vector<CAnimEffect *> m_effects;
1115: };
1115: # 221 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/VisibleEffect.h"
1115: class CScroller
1115: {
1115: public:
1115:   CScroller(unsigned int duration = 200, std::shared_ptr<Tweener> tweener = std::shared_ptr<Tweener>());
1115:   CScroller(const CScroller& right);
1115:   CScroller& operator=(const CScroller &src);
1115:   ~CScroller();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void ScrollTo(float endPos);
1115: 
1115: 
1115: 
1115: 
1115:   void Stop() { m_delta = 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Update(unsigned int time);
1115: 
1115: 
1115: 
1115: 
1115:   float GetValue() const { return m_scrollValue; }
1115:   void SetValue(float scrollValue) { m_scrollValue = scrollValue; }
1115: 
1115:   bool IsScrolling() const { return m_delta != 0; }
1115:   bool IsScrollingUp() const { return m_delta < 0; }
1115:   bool IsScrollingDown() const { return m_delta > 0; }
1115: 
1115:   unsigned int GetDuration() const { return m_duration; }
1115: 
1115: private:
1115:   float Tween(float progress);
1115: 
1115:   float m_scrollValue;
1115:   float m_delta;
1115:   float m_startPosition;
1115:   bool m_hasResumePoint;
1115:   unsigned int m_startTime;
1115: 
1115:   unsigned int m_duration;
1115:   std::shared_ptr<Tweener> m_pTweener;
1115: };
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h"
1115:        
1115: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoBool.h"
1115: class CGUIListItem;
1115: 
1115: namespace KODI
1115: {
1115: namespace GUILIB
1115: {
1115: namespace GUIINFO
1115: {
1115: 
1115: class CGUIInfoBool
1115: {
1115: public:
1115:   explicit CGUIInfoBool(bool value = false);
1115:   ~CGUIInfoBool();
1115: 
1115:   operator bool() const { return m_value; }
1115: 
1115:   void Update(int contextWindow, const CGUIListItem* item = nullptr);
1115:   void Parse(const std::string &expression, int context);
1115: private:
1115:   INFO::InfoPtr m_info;
1115:   bool m_value;
1115: };
1115: 
1115: }
1115: }
1115: }
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
1115:        
1115: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIListItem.h"
1115: class CGUIListItemLayout;
1115: using CGUIListItemLayoutPtr = std::unique_ptr<CGUIListItemLayout>;
1115: class CArchive;
1115: class CVariant;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CGUIListItem
1115: {
1115: public:
1115:   typedef std::map<std::string, std::string> ArtMap;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   enum GUIIconOverlay { ICON_OVERLAY_NONE = 0,
1115:                         ICON_OVERLAY_RAR,
1115:                         ICON_OVERLAY_ZIP,
1115:                         ICON_OVERLAY_LOCKED,
1115:                         ICON_OVERLAY_UNWATCHED,
1115:                         ICON_OVERLAY_WATCHED,
1115:                         ICON_OVERLAY_HD
1115:                       };
1115: 
1115: 
1115:   CGUIListItem(void);
1115:   explicit CGUIListItem(const CGUIListItem& item);
1115:   explicit CGUIListItem(const std::string& strLabel);
1115:   virtual ~CGUIListItem(void);
1115:   virtual CGUIListItem* Clone() const { return new CGUIListItem(*this); }
1115: 
1115:   CGUIListItem& operator =(const CGUIListItem& item);
1115: 
1115:   virtual void SetLabel(const std::string& strLabel);
1115:   const std::string& GetLabel() const;
1115: 
1115:   void SetLabel2(const std::string& strLabel);
1115:   const std::string& GetLabel2() const;
1115: 
1115:   void SetOverlayImage(GUIIconOverlay icon, bool bOnOff=false);
1115:   std::string GetOverlayImage() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetArt(const std::string &type, const std::string &url);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetArt(const ArtMap &art);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void AppendArt(const ArtMap &art, const std::string &prefix = "");
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetArtFallback(const std::string &from, const std::string &to);
1115: 
1115: 
1115: 
1115: 
1115:   void ClearArt();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::string GetArt(const std::string &type) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   const ArtMap &GetArt() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool HasArt(const std::string &type) const;
1115: 
1115:   void SetSortLabel(const std::string &label);
1115:   void SetSortLabel(const std::wstring &label);
1115:   const std::wstring &GetSortLabel() const;
1115: 
1115:   void Select(bool bOnOff);
1115:   bool IsSelected() const;
1115: 
1115:   bool HasOverlay() const;
1115:   virtual bool IsFileItem() const { return false; }
1115: 
1115:   void SetLayout(CGUIListItemLayoutPtr layout);
1115:   CGUIListItemLayout *GetLayout();
1115: 
1115:   void SetFocusedLayout(CGUIListItemLayoutPtr layout);
1115:   CGUIListItemLayout *GetFocusedLayout();
1115: 
1115:   void FreeIcons();
1115:   void FreeMemory(bool immediately = false);
1115:   void SetInvalid();
1115: 
1115:   bool m_bIsFolder;
1115: 
1115:   void SetProperty(const std::string &strKey, const CVariant &value);
1115: 
1115:   void IncrementProperty(const std::string &strKey, int nVal);
1115:   void IncrementProperty(const std::string& strKey, int64_t nVal);
1115:   void IncrementProperty(const std::string &strKey, double dVal);
1115: 
1115:   void ClearProperties();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void AppendProperties(const CGUIListItem &item);
1115: 
1115:   void Archive(CArchive& ar);
1115:   void Serialize(CVariant& value);
1115: 
1115:   bool HasProperty(const std::string &strKey) const;
1115:   bool HasProperties() const { return !m_mapProperties.empty(); }
1115:   void ClearProperty(const std::string &strKey);
1115: 
1115:   const CVariant &GetProperty(const std::string &strKey) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetCurrentItem(unsigned int position);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   unsigned int GetCurrentItem() const;
1115: 
1115: protected:
1115:   std::string m_strLabel2;
1115:   GUIIconOverlay m_overlayIcon;
1115: 
1115:   CGUIListItemLayoutPtr m_layout;
1115:   CGUIListItemLayoutPtr m_focusedLayout;
1115:   bool m_bSelected;
1115:   unsigned int m_currentItem;
1115: 
1115:   struct icompare
1115:   {
1115:     bool operator()(const std::string &s1, const std::string &s2) const;
1115:   };
1115: 
1115:   typedef std::map<std::string, CVariant, icompare> PropertyMap;
1115:   PropertyMap m_mapProperties;
1115: private:
1115:   std::wstring m_sortLabel;
1115:   std::string m_strLabel;
1115: 
1115:   ArtMap m_art;
1115:   ArtMap m_artFallbacks;
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/guiinfo/GUIInfoColor.h" 2
1115: 
1115: 
1115: 
1115: 
1115: class CGUIListItem;
1115: 
1115: namespace KODI
1115: {
1115: namespace GUILIB
1115: {
1115: namespace GUIINFO
1115: {
1115: 
1115: class CGUIInfoColor
1115: {
1115: public:
1115:   constexpr CGUIInfoColor(UTILS::COLOR::Color color = 0) : m_color(color) {}
1115: 
1115:   constexpr operator UTILS::COLOR::Color() const { return m_color; }
1115: 
1115:   bool Update(const CGUIListItem* item = nullptr);
1115:   void Parse(const std::string &label, int context);
1115: 
1115: private:
1115:   int m_info = 0;
1115:   UTILS::COLOR::Color m_color;
1115: };
1115: 
1115: }
1115: }
1115: }
1115: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/Resolution.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: typedef int DisplayMode;
1115: 
1115: 
1115: 
1115: enum RESOLUTION
1115: {
1115:   RES_INVALID = -1,
1115:   RES_WINDOW = 15,
1115:   RES_DESKTOP = 16,
1115:   RES_CUSTOM = 16 + 1,
1115: };
1115: 
1115: struct OVERSCAN
1115: {
1115:   int left;
1115:   int top;
1115:   int right;
1115:   int bottom;
1115: public:
1115:   OVERSCAN()
1115:   {
1115:     left = top = right = bottom = 0;
1115:   }
1115:   OVERSCAN(const OVERSCAN& os)
1115:   {
1115:     left = os.left; top = os.top;
1115:     right = os.right; bottom = os.bottom;
1115:   }
1115:   OVERSCAN& operator=(const OVERSCAN&) = default;
1115: 
1115:   bool operator==(const OVERSCAN& other)
1115:   {
1115:     return left == other.left && right == other.right && top == other.top && bottom == other.bottom;
1115:   }
1115:   bool operator!=(const OVERSCAN& other)
1115:   {
1115:     return left != other.left || right != other.right || top != other.top || bottom != other.bottom;
1115:   }
1115: };
1115: 
1115: struct EdgeInsets
1115: {
1115:   float left = 0.0f;
1115:   float top = 0.0f;
1115:   float right = 0.0f;
1115:   float bottom = 0.0f;
1115: 
1115:   EdgeInsets() = default;
1115:   EdgeInsets(float l, float t, float r, float b);
1115: };
1115: 
1115: struct RESOLUTION_INFO
1115: {
1115:   OVERSCAN Overscan;
1115:   EdgeInsets guiInsets;
1115:   bool bFullScreen;
1115:   int iWidth;
1115:   int iHeight;
1115:   int iBlanking;
1115:   int iScreenWidth;
1115:   int iScreenHeight;
1115:   int iSubtitles;
1115:   uint32_t dwFlags;
1115:   float fPixelRatio;
1115:   float fRefreshRate;
1115:   std::string strMode;
1115:   std::string strOutput;
1115:   std::string strId;
1115: public:
1115:   RESOLUTION_INFO(int width = 1280, int height = 720, float aspect = 0, const std::string &mode = "");
1115:   float DisplayRatio() const;
1115:   RESOLUTION_INFO(const RESOLUTION_INFO& res);
1115:   RESOLUTION_INFO& operator=(const RESOLUTION_INFO&) = default;
1115: };
1115: 
1115: class CResolutionUtils
1115: {
1115: public:
1115:   static RESOLUTION ChooseBestResolution(float fps, int width, int height, bool is3D);
1115:   static bool HasWhitelist();
1115:   static void PrintWhitelist();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static void GetMaxAllowedResolution(unsigned int& width, unsigned int& height);
1115: 
1115: protected:
1115:   static void FindResolutionFromWhitelist(float fps, int width, int height, bool is3D, RESOLUTION &resolution);
1115:   static bool FindResolutionFromOverride(float fps, int width, bool is3D, RESOLUTION &resolution, float& weight, bool fallback);
1115:   static float RefreshWeight(float refresh, float fps);
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystemTypes.h"
1115:        
1115: 
1115: enum RENDER_STEREO_VIEW
1115: {
1115:   RENDER_STEREO_VIEW_OFF,
1115:   RENDER_STEREO_VIEW_LEFT,
1115:   RENDER_STEREO_VIEW_RIGHT,
1115: };
1115: 
1115: enum RENDER_STEREO_MODE
1115: {
1115:   RENDER_STEREO_MODE_OFF,
1115:   RENDER_STEREO_MODE_SPLIT_HORIZONTAL,
1115:   RENDER_STEREO_MODE_SPLIT_VERTICAL,
1115:   RENDER_STEREO_MODE_ANAGLYPH_RED_CYAN,
1115:   RENDER_STEREO_MODE_ANAGLYPH_GREEN_MAGENTA,
1115:   RENDER_STEREO_MODE_ANAGLYPH_YELLOW_BLUE,
1115:   RENDER_STEREO_MODE_INTERLACED,
1115:   RENDER_STEREO_MODE_CHECKERBOARD,
1115:   RENDER_STEREO_MODE_HARDWAREBASED,
1115:   RENDER_STEREO_MODE_MONO,
1115:   RENDER_STEREO_MODE_COUNT,
1115: 
1115: 
1115:   RENDER_STEREO_MODE_AUTO = 100,
1115:   RENDER_STEREO_MODE_UNDEFINED = 999,
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h" 2
1115: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/rendering/RenderSystem.h"
1115: class CGUIImage;
1115: class CGUITextLayout;
1115: 
1115: class CRenderSystemBase
1115: {
1115: public:
1115:   CRenderSystemBase();
1115:   virtual ~CRenderSystemBase();
1115: 
1115:   virtual bool InitRenderSystem() = 0;
1115:   virtual bool DestroyRenderSystem() = 0;
1115:   virtual bool ResetRenderSystem(int width, int height) = 0;
1115: 
1115:   virtual bool BeginRender() = 0;
1115:   virtual bool EndRender() = 0;
1115:   virtual void PresentRender(bool rendered, bool videoLayer) = 0;
1115:   virtual bool ClearBuffers(UTILS::COLOR::Color color) = 0;
1115:   virtual bool IsExtSupported(const char* extension) const = 0;
1115: 
1115:   virtual void SetViewPort(const CRect& viewPort) = 0;
1115:   virtual void GetViewPort(CRect& viewPort) = 0;
1115:   virtual void RestoreViewPort() {}
1115: 
1115:   virtual bool ScissorsCanEffectClipping() { return false; }
1115:   virtual CRect ClipRectToScissorRect(const CRect &rect) { return CRect(); }
1115:   virtual void SetScissors(const CRect &rect) = 0;
1115:   virtual void ResetScissors() = 0;
1115: 
1115:   virtual void CaptureStateBlock() = 0;
1115:   virtual void ApplyStateBlock() = 0;
1115: 
1115:   virtual void SetCameraPosition(const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor = 0.f) = 0;
1115:   virtual void SetStereoMode(RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view)
1115:   {
1115:     m_stereoMode = mode;
1115:     m_stereoView = view;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   virtual void Project(float &x, float &y, float &z) { }
1115: 
1115:   virtual std::string GetShaderPath(const std::string &filename) { return ""; }
1115: 
1115:   void GetRenderVersion(unsigned int& major, unsigned int& minor) const;
1115:   const std::string& GetRenderVendor() const { return m_RenderVendor; }
1115:   const std::string& GetRenderRenderer() const { return m_RenderRenderer; }
1115:   const std::string& GetRenderVersionString() const { return m_RenderVersion; }
1115:   virtual bool SupportsNPOT(bool dxt) const;
1115:   virtual bool SupportsStereo(RENDER_STEREO_MODE mode) const;
1115:   unsigned int GetMaxTextureSize() const { return m_maxTextureSize; }
1115:   unsigned int GetMinDXTPitch() const { return m_minDXTPitch; }
1115: 
1115:   virtual void ShowSplash(const std::string& message);
1115: 
1115: protected:
1115:   bool m_bRenderCreated;
1115:   bool m_bVSync;
1115:   unsigned int m_maxTextureSize;
1115:   unsigned int m_minDXTPitch;
1115: 
1115:   std::string m_RenderRenderer;
1115:   std::string m_RenderVendor;
1115:   std::string m_RenderVersion;
1115:   int m_RenderVersionMinor;
1115:   int m_RenderVersionMajor;
1115:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1115:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1115:   bool m_limitedColorRange = false;
1115: 
1115:   std::unique_ptr<CGUIImage> m_splashImage;
1115:   std::unique_ptr<CGUITextLayout> m_splashMessageLayout;
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/stack" 1 3
1115: # 58 "/usr/include/c++/12/stack" 3
1115:        
1115: # 59 "/usr/include/c++/12/stack" 3
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stl_stack.h" 1 3
1115: # 65 "/usr/include/c++/12/bits/stl_stack.h" 3
1115: 
1115: # 65 "/usr/include/c++/12/bits/stl_stack.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 98 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:   template<typename _Tp, typename _Sequence = deque<_Tp> >
1115:     class stack
1115:     {
1115: # 111 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:       template<typename _Tp1, typename _Seq1>
1115:  friend bool
1115:  operator==(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
1115: 
1115:       template<typename _Tp1, typename _Seq1>
1115:  friend bool
1115:  operator<(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
1115: # 126 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:       template<typename _Alloc>
1115:  using _Uses = typename
1115:    enable_if<uses_allocator<_Sequence, _Alloc>::value>::type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       static_assert(is_same<_Tp, typename _Sequence::value_type>::value,
1115:    "value_type must be the same as the underlying container");
1115: 
1115: 
1115: 
1115:     public:
1115:       typedef typename _Sequence::value_type value_type;
1115:       typedef typename _Sequence::reference reference;
1115:       typedef typename _Sequence::const_reference const_reference;
1115:       typedef typename _Sequence::size_type size_type;
1115:       typedef _Sequence container_type;
1115: 
1115:     protected:
1115: 
1115:       _Sequence c;
1115: 
1115:     public:
1115: # 160 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:       template<typename _Seq = _Sequence, typename _Requires = typename
1115:         enable_if<is_default_constructible<_Seq>::value>::type>
1115:  stack()
1115:  : c() { }
1115: 
1115:       explicit
1115:       stack(const _Sequence& __c)
1115:       : c(__c) { }
1115: 
1115:       explicit
1115:       stack(_Sequence&& __c)
1115:       : c(std::move(__c)) { }
1115: # 183 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  explicit
1115:  stack(const _Alloc& __a)
1115:  : c(__a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  stack(const _Sequence& __c, const _Alloc& __a)
1115:  : c(__c, __a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  stack(_Sequence&& __c, const _Alloc& __a)
1115:  : c(std::move(__c), __a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  stack(const stack& __q, const _Alloc& __a)
1115:  : c(__q.c, __a) { }
1115: 
1115:       template<typename _Alloc, typename _Requires = _Uses<_Alloc>>
1115:  stack(stack&& __q, const _Alloc& __a)
1115:  : c(std::move(__q.c), __a) { }
1115: # 216 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:       [[__nodiscard__]] bool
1115:       empty() const
1115:       { return c.empty(); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       size() const
1115:       { return c.size(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       top()
1115:       {
1115:  ;
1115:  return c.back();
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       top() const
1115:       {
1115:  ;
1115:  return c.back();
1115:       }
1115: # 259 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:       void
1115:       push(const value_type& __x)
1115:       { c.push_back(__x); }
1115: 
1115: 
1115:       void
1115:       push(value_type&& __x)
1115:       { c.push_back(std::move(__x)); }
1115: 
1115: 
1115:       template<typename... _Args>
1115:  decltype(auto)
1115:  emplace(_Args&&... __args)
1115:  { return c.emplace_back(std::forward<_Args>(__args)...); }
1115: # 292 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:       void
1115:       pop()
1115:       {
1115:  ;
1115:  c.pop_back();
1115:       }
1115: 
1115: 
1115:       void
1115:       swap(stack& __s)
1115: 
1115:       noexcept(__is_nothrow_swappable<_Sequence>::value)
1115: 
1115: 
1115: 
1115:       {
1115:  using std::swap;
1115:  swap(c, __s.c);
1115:       }
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _Container,
1115:     typename = _RequireNotAllocator<_Container>>
1115:     stack(_Container) -> stack<typename _Container::value_type, _Container>;
1115: 
1115:   template<typename _Container, typename _Allocator,
1115:     typename = _RequireNotAllocator<_Container>>
1115:     stack(_Container, _Allocator)
1115:     -> stack<typename _Container::value_type, _Container>;
1115: # 353 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1115:     { return __x.c == __y.c; }
1115: # 372 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1115:     { return __x.c < __y.c; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Seq>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
1115:     { return !(__x < __y); }
1115: # 415 "/usr/include/c++/12/bits/stl_stack.h" 3
1115:   template<typename _Tp, typename _Seq>
1115:     inline
1115: 
1115: 
1115:     typename enable_if<__is_swappable<_Seq>::value>::type
1115: 
1115: 
1115: 
1115:     swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115:   template<typename _Tp, typename _Seq, typename _Alloc>
1115:     struct uses_allocator<stack<_Tp, _Seq>, _Alloc>
1115:     : public uses_allocator<_Seq, _Alloc>::type { };
1115: 
1115: 
1115: 
1115: }
1115: # 62 "/usr/include/c++/12/stack" 2 3
1115: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h"
1115:        
1115: 
1115: 
1115: # 11 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/HDRStatus.h"
1115: enum class HDR_STATUS
1115: {
1115:   HDR_TOGGLE_FAILED = -1,
1115:   HDR_UNSUPPORTED = 0,
1115:   HDR_OFF = 1,
1115:   HDR_ON = 2
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: namespace KODI
1115: {
1115: namespace WINDOWING
1115: {
1115: 
1115: class COSScreenSaverManager;
1115: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1115: class COSScreenSaverInhibitor
1115: {
1115: public:
1115:   COSScreenSaverInhibitor() noexcept;
1115:   COSScreenSaverInhibitor(COSScreenSaverInhibitor&& other) noexcept;
1115:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor&& other) noexcept;
1115:   ~COSScreenSaverInhibitor() noexcept;
1115:   void Release();
1115:   bool IsActive() const;
1115:   operator bool() const;
1115: 
1115: private:
1115:   friend class COSScreenSaverManager;
1115:   explicit COSScreenSaverInhibitor(COSScreenSaverManager* manager);
1115:   bool m_active;
1115:   COSScreenSaverManager* m_manager;
1115: 
1115:   COSScreenSaverInhibitor(COSScreenSaverInhibitor const& other) = delete;
1115:   COSScreenSaverInhibitor& operator=(COSScreenSaverInhibitor const& other) = delete;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: class IOSScreenSaver
1115: {
1115: public:
1115:   virtual ~IOSScreenSaver() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void Inhibit() = 0;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void Uninhibit() = 0;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: class CDummyOSScreenSaver : public IOSScreenSaver
1115: {
1115: public:
1115:   void Inhibit() override {}
1115:   void Uninhibit() override {}
1115: };
1115: # 92 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/OSScreenSaver.h"
1115: class COSScreenSaverManager
1115: {
1115: public:
1115: 
1115: 
1115: 
1115:   explicit COSScreenSaverManager(std::unique_ptr<IOSScreenSaver> impl);
1115: 
1115: 
1115: 
1115: 
1115:   COSScreenSaverInhibitor CreateInhibitor();
1115: 
1115: 
1115: 
1115:   bool IsInhibited();
1115: 
1115: private:
1115:   friend class COSScreenSaverInhibitor;
1115:   void RemoveInhibitor();
1115: 
1115:   unsigned int m_inhibitionCount{0u};
1115:   std::unique_ptr<IOSScreenSaver> m_impl;
1115: };
1115: 
1115: }
1115: }
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/VideoSync.h"
1115:        
1115: 
1115: 
1115: 
1115: class CVideoReferenceClock;
1115: typedef void (*PUPDATECLOCK)(int NrVBlanks, uint64_t time, void *clock);
1115: 
1115: class CVideoSync
1115: {
1115: public:
1115:   explicit CVideoSync(void* clock) { m_refClock = clock; }
1115:   virtual ~CVideoSync() = default;
1115:   virtual bool Setup(PUPDATECLOCK func) = 0;
1115:   virtual void Run(CEvent& stop) = 0;
1115:   virtual void Cleanup() = 0;
1115:   virtual float GetFps() = 0;
1115:   virtual void RefreshChanged() {}
1115: 
1115: protected:
1115:   PUPDATECLOCK UpdateClock;
1115:   float m_fps;
1115:   void *m_refClock;
1115: };
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 1
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 1
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1115:        
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h" 1
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1115:        
1115: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keysym.h"
1115: typedef enum
1115: {
1115: 
1115:   XBMCK_UNKNOWN = 0x00,
1115:   XBMCK_FIRST = 0x00,
1115:   XBMCK_CTRLF = 0x06,
1115:   XBMCK_BACKSPACE = 0x08,
1115:   XBMCK_TAB = 0x09,
1115:   XBMCK_CLEAR = 0x0C,
1115:   XBMCK_RETURN = 0x0D,
1115:   XBMCK_PAUSE = 0x13,
1115:   XBMCK_ESCAPE = 0x1B,
1115:   XBMCK_SPACE = 0x20,
1115:   XBMCK_EXCLAIM = 0x21,
1115:   XBMCK_QUOTEDBL = 0x22,
1115:   XBMCK_HASH = 0x23,
1115:   XBMCK_DOLLAR = 0x24,
1115:   XBMCK_PERCENT = 0x25,
1115:   XBMCK_AMPERSAND = 0x26,
1115:   XBMCK_QUOTE = 0x27,
1115:   XBMCK_LEFTPAREN = 0x28,
1115:   XBMCK_RIGHTPAREN = 0x29,
1115:   XBMCK_ASTERISK = 0x2A,
1115:   XBMCK_PLUS = 0x2B,
1115:   XBMCK_COMMA = 0x2C,
1115:   XBMCK_MINUS = 0x2D,
1115:   XBMCK_PERIOD = 0x2E,
1115:   XBMCK_SLASH = 0x2F,
1115:   XBMCK_0 = 0x30,
1115:   XBMCK_1 = 0x31,
1115:   XBMCK_2 = 0x32,
1115:   XBMCK_3 = 0x33,
1115:   XBMCK_4 = 0x34,
1115:   XBMCK_5 = 0x35,
1115:   XBMCK_6 = 0x36,
1115:   XBMCK_7 = 0x37,
1115:   XBMCK_8 = 0x38,
1115:   XBMCK_9 = 0x39,
1115:   XBMCK_COLON = 0x3A,
1115:   XBMCK_SEMICOLON = 0x3B,
1115:   XBMCK_LESS = 0x3C,
1115:   XBMCK_EQUALS = 0x3D,
1115:   XBMCK_GREATER = 0x3E,
1115:   XBMCK_QUESTION = 0x3F,
1115:   XBMCK_AT = 0x40,
1115: 
1115:   XBMCK_LEFTBRACKET = 0x5B,
1115:   XBMCK_BACKSLASH = 0x5C,
1115:   XBMCK_RIGHTBRACKET = 0x5D,
1115:   XBMCK_CARET = 0x5E,
1115:   XBMCK_UNDERSCORE = 0x5F,
1115:   XBMCK_BACKQUOTE = 0x60,
1115:   XBMCK_a = 0x61,
1115:   XBMCK_b = 0x62,
1115:   XBMCK_c = 0x63,
1115:   XBMCK_d = 0x64,
1115:   XBMCK_e = 0x65,
1115:   XBMCK_f = 0x66,
1115:   XBMCK_g = 0x67,
1115:   XBMCK_h = 0x68,
1115:   XBMCK_i = 0x69,
1115:   XBMCK_j = 0x6A,
1115:   XBMCK_k = 0x6B,
1115:   XBMCK_l = 0x6C,
1115:   XBMCK_m = 0x6D,
1115:   XBMCK_n = 0x6E,
1115:   XBMCK_o = 0x6F,
1115:   XBMCK_p = 0x70,
1115:   XBMCK_q = 0x71,
1115:   XBMCK_r = 0x72,
1115:   XBMCK_s = 0x73,
1115:   XBMCK_t = 0x74,
1115:   XBMCK_u = 0x75,
1115:   XBMCK_v = 0x76,
1115:   XBMCK_w = 0x77,
1115:   XBMCK_x = 0x78,
1115:   XBMCK_y = 0x79,
1115:   XBMCK_z = 0x7A,
1115:   XBMCK_LEFTBRACE = 0x7b,
1115:   XBMCK_PIPE = 0x7C,
1115:   XBMCK_RIGHTBRACE = 0x7D,
1115:   XBMCK_TILDE = 0x7E,
1115:   XBMCK_DELETE = 0x7F,
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   XBMCK_BROWSER_BACK = 0xA6,
1115:   XBMCK_BROWSER_FORWARD = 0xA7,
1115:   XBMCK_BROWSER_REFRESH = 0xA8,
1115:   XBMCK_BROWSER_STOP = 0xA9,
1115:   XBMCK_BROWSER_SEARCH = 0xAA,
1115:   XBMCK_BROWSER_FAVORITES = 0xAB,
1115:   XBMCK_BROWSER_HOME = 0xAC,
1115:   XBMCK_VOLUME_MUTE = 0xAD,
1115:   XBMCK_VOLUME_DOWN = 0xAE,
1115:   XBMCK_VOLUME_UP = 0xAF,
1115:   XBMCK_MEDIA_NEXT_TRACK = 0xB0,
1115:   XBMCK_MEDIA_PREV_TRACK = 0xB1,
1115:   XBMCK_MEDIA_STOP = 0xB2,
1115:   XBMCK_MEDIA_PLAY_PAUSE = 0xB3,
1115:   XBMCK_LAUNCH_MAIL = 0xB4,
1115:   XBMCK_LAUNCH_MEDIA_SELECT = 0xB5,
1115:   XBMCK_LAUNCH_APP1 = 0xB6,
1115:   XBMCK_LAUNCH_APP2 = 0xB7,
1115:   XBMCK_LAUNCH_FILE_BROWSER = 0xB8,
1115:   XBMCK_LAUNCH_MEDIA_CENTER = 0xB9,
1115:   XBMCK_MEDIA_REWIND = 0xBA,
1115:   XBMCK_MEDIA_FASTFORWARD = 0xBB,
1115: 
1115: 
1115:   XBMCK_KP0 = 0x100,
1115:   XBMCK_KP1 = 0x101,
1115:   XBMCK_KP2 = 0x102,
1115:   XBMCK_KP3 = 0x103,
1115:   XBMCK_KP4 = 0x104,
1115:   XBMCK_KP5 = 0x105,
1115:   XBMCK_KP6 = 0x106,
1115:   XBMCK_KP7 = 0x107,
1115:   XBMCK_KP8 = 0x108,
1115:   XBMCK_KP9 = 0x109,
1115:   XBMCK_KP_PERIOD = 0x10A,
1115:   XBMCK_KP_DIVIDE = 0x10B,
1115:   XBMCK_KP_MULTIPLY = 0x10C,
1115:   XBMCK_KP_MINUS = 0x10D,
1115:   XBMCK_KP_PLUS = 0x10E,
1115:   XBMCK_KP_ENTER = 0x10F,
1115:   XBMCK_KP_EQUALS = 0x110,
1115: 
1115: 
1115:   XBMCK_UP = 0x111,
1115:   XBMCK_DOWN = 0x112,
1115:   XBMCK_RIGHT = 0x113,
1115:   XBMCK_LEFT = 0x114,
1115:   XBMCK_INSERT = 0x115,
1115:   XBMCK_HOME = 0x116,
1115:   XBMCK_END = 0x117,
1115:   XBMCK_PAGEUP = 0x118,
1115:   XBMCK_PAGEDOWN = 0x119,
1115: 
1115: 
1115:   XBMCK_F1 = 0x11A,
1115:   XBMCK_F2 = 0x11B,
1115:   XBMCK_F3 = 0x11C,
1115:   XBMCK_F4 = 0x11D,
1115:   XBMCK_F5 = 0x11E,
1115:   XBMCK_F6 = 0x11F,
1115:   XBMCK_F7 = 0x120,
1115:   XBMCK_F8 = 0x121,
1115:   XBMCK_F9 = 0x122,
1115:   XBMCK_F10 = 0x123,
1115:   XBMCK_F11 = 0x124,
1115:   XBMCK_F12 = 0x125,
1115:   XBMCK_F13 = 0x126,
1115:   XBMCK_F14 = 0x127,
1115:   XBMCK_F15 = 0x128,
1115: 
1115: 
1115:   XBMCK_NUMLOCK = 0x12C,
1115:   XBMCK_CAPSLOCK = 0x12D,
1115:   XBMCK_SCROLLOCK = 0x12E,
1115:   XBMCK_RSHIFT = 0x12F,
1115:   XBMCK_LSHIFT = 0x130,
1115:   XBMCK_RCTRL = 0x131,
1115:   XBMCK_LCTRL = 0x132,
1115:   XBMCK_RALT = 0x133,
1115:   XBMCK_LALT = 0x134,
1115:   XBMCK_RMETA = 0x135,
1115:   XBMCK_LMETA = 0x136,
1115:   XBMCK_LSUPER = 0x137,
1115:   XBMCK_RSUPER = 0x138,
1115:   XBMCK_MODE = 0x139,
1115:   XBMCK_COMPOSE = 0x13A,
1115: 
1115: 
1115:   XBMCK_HELP = 0x13B,
1115:   XBMCK_PRINT = 0x13C,
1115:   XBMCK_SYSREQ = 0x13D,
1115:   XBMCK_BREAK = 0x13E,
1115:   XBMCK_MENU = 0x13F,
1115:   XBMCK_POWER = 0x140,
1115:   XBMCK_EURO = 0x141,
1115:   XBMCK_UNDO = 0x142,
1115:   XBMCK_SLEEP = 0x143,
1115:   XBMCK_GUIDE = 0x144,
1115:   XBMCK_SETTINGS = 0x145,
1115:   XBMCK_INFO = 0x146,
1115:   XBMCK_RED = 0x147,
1115:   XBMCK_GREEN = 0x148,
1115:   XBMCK_YELLOW = 0x149,
1115:   XBMCK_BLUE = 0x14a,
1115:   XBMCK_ZOOM = 0x14b,
1115:   XBMCK_TEXT = 0x14c,
1115:   XBMCK_FAVORITES = 0x14d,
1115:   XBMCK_HOMEPAGE = 0x14e,
1115:   XBMCK_CONFIG = 0x14f,
1115:   XBMCK_EPG = 0x150,
1115: 
1115: 
1115: 
1115: 
1115:   XBMCK_STOP = 337,
1115:   XBMCK_RECORD = 338,
1115:   XBMCK_REWIND = 339,
1115:   XBMCK_PHONE = 340,
1115:   XBMCK_PLAY = 341,
1115:   XBMCK_SHUFFLE = 342,
1115:   XBMCK_FASTFORWARD = 343,
1115:   XBMCK_EJECT = 344,
1115: 
1115:   XBMCK_LAST
1115: } XBMCKey;
1115: 
1115: 
1115: typedef enum
1115: {
1115:   XBMCKMOD_NONE = 0x0000,
1115:   XBMCKMOD_LSHIFT = 0x0001,
1115:   XBMCKMOD_RSHIFT = 0x0002,
1115:   XBMCKMOD_LSUPER = 0x0010,
1115:   XBMCKMOD_RSUPER = 0x0020,
1115:   XBMCKMOD_LCTRL = 0x0040,
1115:   XBMCKMOD_RCTRL = 0x0080,
1115:   XBMCKMOD_LALT = 0x0100,
1115:   XBMCKMOD_RALT = 0x0200,
1115:   XBMCKMOD_LMETA = 0x0400,
1115:   XBMCKMOD_RMETA = 0x0800,
1115:   XBMCKMOD_NUM = 0x1000,
1115:   XBMCKMOD_CAPS = 0x2000,
1115:   XBMCKMOD_MODE = 0x4000,
1115:   XBMCKMOD_RESERVED = 0x8000
1115: } XBMCMod;
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h" 2
1115: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/input/XBMC_keyboard.h"
1115: typedef struct XBMC_keysym
1115: {
1115:   unsigned char scancode;
1115:   XBMCKey sym;
1115:   XBMCMod mod;
1115:   uint16_t unicode;
1115: } XBMC_keysym;
1115: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/XBMC_events.h" 2
1115: 
1115: 
1115: typedef enum
1115: {
1115:   XBMC_NOEVENT = 0,
1115:   XBMC_KEYDOWN,
1115:   XBMC_KEYUP,
1115:   XBMC_MOUSEMOTION,
1115:   XBMC_MOUSEBUTTONDOWN,
1115:   XBMC_MOUSEBUTTONUP,
1115:   XBMC_QUIT,
1115:   XBMC_VIDEORESIZE,
1115:   XBMC_FULLSCREEN_UPDATE,
1115:   XBMC_VIDEOMOVE,
1115:   XBMC_MODECHANGE,
1115:   XBMC_TOUCH,
1115:   XBMC_BUTTON,
1115:   XBMC_SETFOCUS,
1115:   XBMC_USEREVENT,
1115: 
1115:   XBMC_MAXEVENT = 256
1115: } XBMC_EventType;
1115: 
1115: 
1115: typedef struct XBMC_KeyboardEvent {
1115:  XBMC_keysym keysym;
1115: } XBMC_KeyboardEvent;
1115: 
1115: 
1115: typedef struct XBMC_MouseMotionEvent {
1115:  uint16_t x, y;
1115: } XBMC_MouseMotionEvent;
1115: 
1115: 
1115: typedef struct XBMC_MouseButtonEvent {
1115:  unsigned char button;
1115:  uint16_t x, y;
1115: } XBMC_MouseButtonEvent;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef struct XBMC_ResizeEvent {
1115:  int w;
1115:  int h;
1115: } XBMC_ResizeEvent;
1115: 
1115: typedef struct XBMC_MoveEvent {
1115:  int x;
1115:  int y;
1115: } XBMC_MoveEvent;
1115: 
1115: struct XBMC_ModeChangeEvent
1115: {
1115:   RESOLUTION res;
1115: };
1115: 
1115: 
1115: typedef struct XBMC_QuitEvent {
1115: } XBMC_QuitEvent;
1115: 
1115: 
1115: typedef struct XBMC_UserEvent {
1115:  int code;
1115:  void *data1;
1115:  void *data2;
1115: } XBMC_UserEvent;
1115: 
1115: 
1115: typedef struct XBMC_AppCommandEvent {
1115:   unsigned int action;
1115: } XBMC_AppCommandEvent;
1115: 
1115: 
1115: typedef struct XBMC_TouchEvent {
1115:   int action;
1115:   float x, y;
1115:   float x2, y2;
1115:   float x3, y3;
1115:   int pointers;
1115: } XBMC_TouchEvent;
1115: 
1115: typedef struct XBMC_SetFocusEvent {
1115:  int x;
1115:  int y;
1115: } XBMC_SetFocusEvent;
1115: 
1115: 
1115: typedef struct XBMC_ButtonEvent
1115: {
1115:   uint32_t button;
1115:   uint32_t holdtime;
1115: } XBMC_ButtonEvent;
1115: 
1115: 
1115: typedef struct XBMC_Event {
1115:   uint8_t type;
1115:   union
1115:   {
1115:     XBMC_KeyboardEvent key;
1115:     XBMC_MouseMotionEvent motion;
1115:     XBMC_MouseButtonEvent button;
1115:     XBMC_ResizeEvent resize;
1115:     XBMC_MoveEvent move;
1115:     XBMC_ModeChangeEvent mode;
1115:     XBMC_QuitEvent quit;
1115:     XBMC_UserEvent user;
1115:     XBMC_AppCommandEvent appcommand;
1115:     XBMC_TouchEvent touch;
1115:     XBMC_ButtonEvent keybutton;
1115:     XBMC_SetFocusEvent focus;
1115:   };
1115: } XBMC_Event;
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinEvents.h" 2
1115: 
1115: class IWinEvents
1115: {
1115: public:
1115:   virtual ~IWinEvents() = default;
1115:   virtual bool MessagePump() = 0;
1115: };
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/cores/VideoPlayer/VideoRenderers/DebugInfo.h"
1115:        
1115: 
1115: 
1115: 
1115: struct DEBUG_INFO_PLAYER
1115: {
1115:   std::string audio;
1115:   std::string video;
1115:   std::string player;
1115:   std::string vsync;
1115: };
1115: 
1115: struct DEBUG_INFO_VIDEO
1115: {
1115:   std::string videoSource;
1115:   std::string metaPrim;
1115:   std::string metaLight;
1115:   std::string shader;
1115: };
1115: 
1115: struct DEBUG_INFO_RENDER
1115: {
1115:   std::string renderFlags;
1115:   std::string videoOutput;
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/DispResource.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: class IDispResource
1115: {
1115: public:
1115:   virtual ~IDispResource() = default;
1115: 
1115:   virtual void OnLostDisplay() {}
1115:   virtual void OnResetDisplay() {}
1115:   virtual void OnAppFocusChange(bool focus) {}
1115: };
1115: 
1115: 
1115: 
1115: class IRenderLoop
1115: {
1115: public:
1115:   virtual ~IRenderLoop() = default;
1115: 
1115:   virtual void FrameMove() = 0;
1115: };
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/HDRCapabilities.h"
1115:        
1115: 
1115: class CHDRCapabilities
1115: {
1115: public:
1115:   CHDRCapabilities() = default;
1115:   ~CHDRCapabilities() = default;
1115: 
1115:   bool SupportsHDR10() const { return m_hdr10; }
1115:   bool SupportsHLG() const { return m_hlg; }
1115:   bool SupportsHDR10Plus() const { return m_hdr10_plus; }
1115:   bool SupportsDolbyVision() const { return m_dolby_vision; }
1115: 
1115:   void SetHDR10() { m_hdr10 = true; }
1115:   void SetHLG() { m_hlg = true; }
1115:   void SetHDR10Plus() { m_hdr10_plus = true; }
1115:   void SetDolbyVision() { m_dolby_vision = true; }
1115: 
1115: private:
1115:   bool m_hdr10 = false;
1115:   bool m_hlg = false;
1115:   bool m_hdr10_plus = false;
1115:   bool m_dolby_vision = false;
1115: };
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h" 2
1115: 
1115: 
1115: 
1115: 
1115: struct RESOLUTION_WHR
1115: {
1115:   int width;
1115:   int height;
1115:   int flags;
1115:   int ResInfo_Index;
1115: };
1115: 
1115: struct REFRESHRATE
1115: {
1115:   float RefreshRate;
1115:   int ResInfo_Index;
1115: };
1115: 
1115: class CDPMSSupport;
1115: class CGraphicContext;
1115: class CRenderSystemBase;
1115: class IRenderLoop;
1115: 
1115: struct VideoPicture;
1115: 
1115: class CWinSystemBase
1115: {
1115: public:
1115:   CWinSystemBase();
1115:   virtual ~CWinSystemBase();
1115: 
1115:   static std::unique_ptr<CWinSystemBase> CreateWinSystem();
1115: 
1115: 
1115:   virtual CRenderSystemBase *GetRenderSystem() { return nullptr; }
1115: 
1115:   virtual const std::string GetName() { return "platform default"; }
1115: 
1115: 
1115:   virtual bool InitWindowSystem();
1115:   virtual bool DestroyWindowSystem();
1115:   virtual bool CreateNewWindow(const std::string& name, bool fullScreen, RESOLUTION_INFO& res) = 0;
1115:   virtual bool DestroyWindow(){ return false; }
1115:   virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop) = 0;
1115:   virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays) = 0;
1115:   virtual bool DisplayHardwareScalingEnabled() { return false; }
1115:   virtual void UpdateDisplayHardwareScaling(const RESOLUTION_INFO& resInfo) { }
1115:   virtual bool MoveWindow(int topLeft, int topRight){return false;}
1115:   virtual void FinishModeChange(RESOLUTION res){}
1115:   virtual void FinishWindowResize(int newWidth, int newHeight) {ResizeWindow(newWidth, newHeight, -1, -1);}
1115:   virtual bool CenterWindow(){return false;}
1115:   virtual bool IsCreated(){ return m_bWindowCreated; }
1115:   virtual void NotifyAppFocusChange(bool bGaining) {}
1115:   virtual void NotifyAppActiveChange(bool bActivated) {}
1115:   virtual void ShowOSMouse(bool show) {}
1115:   virtual bool HasCursor(){ return true; }
1115: 
1115:   virtual bool HasInertialGestures(){ return false; }
1115: 
1115:   virtual bool UseLimitedColor();
1115: 
1115:   virtual int NoOfBuffers();
1115: # 90 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1115:   virtual float GetDisplayLatency() { return -1.0f; }
1115: # 99 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1115:   virtual float GetFrameLatencyAdjustment() { return 0.0; }
1115: 
1115:   virtual bool Minimize() { return false; }
1115:   virtual bool Restore() { return false; }
1115:   virtual bool Hide() { return false; }
1115:   virtual bool Show(bool raise = true) { return false; }
1115: 
1115: 
1115:   virtual std::unique_ptr<CVideoSync> GetVideoSync(void *clock) { return nullptr; }
1115: 
1115: 
1115:   virtual void OnMove(int x, int y) {}
1115: # 121 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1115:   KODI::WINDOWING::COSScreenSaverManager* GetOSScreenSaver();
1115: 
1115: 
1115:   unsigned int GetWidth() { return m_nWidth; }
1115:   unsigned int GetHeight() { return m_nHeight; }
1115:   virtual bool CanDoWindowed() { return true; }
1115:   bool IsFullScreen() { return m_bFullScreen; }
1115:   virtual void UpdateResolutions();
1115:   void SetWindowResolution(int width, int height);
1115:   std::vector<RESOLUTION_WHR> ScreenResolutions(float refreshrate);
1115:   std::vector<REFRESHRATE> RefreshRates(int width, int height, uint32_t dwFlags);
1115:   REFRESHRATE DefaultRefreshRate(std::vector<REFRESHRATE> rates);
1115:   virtual bool HasCalibration(const RESOLUTION_INFO& resInfo) { return true; }
1115: 
1115: 
1115:   virtual std::string GetClipboardText(void);
1115: 
1115: 
1115:   virtual void Register(IDispResource *resource) = 0;
1115:   virtual void Unregister(IDispResource *resource) = 0;
1115: 
1115: 
1115:   void RegisterRenderLoop(IRenderLoop *client);
1115:   void UnregisterRenderLoop(IRenderLoop *client);
1115:   void DriveRenderLoop();
1115: 
1115: 
1115:   virtual bool MessagePump() { return false; }
1115: 
1115: 
1115:   CGraphicContext& GetGfxContext();
1115: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/WinSystem.h"
1115:   virtual void* GetHWContext() { return nullptr; }
1115: 
1115:   std::shared_ptr<CDPMSSupport> GetDPMSManager();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool SetHDR(const VideoPicture* videoPicture) { return false; }
1115:   virtual bool IsHDRDisplay() { return false; }
1115:   virtual HDR_STATUS ToggleHDR() { return HDR_STATUS::HDR_UNSUPPORTED; }
1115:   virtual HDR_STATUS GetOSHDRStatus() { return HDR_STATUS::HDR_UNSUPPORTED; }
1115:   virtual CHDRCapabilities GetDisplayHDRCapabilities() const { return {}; }
1115: 
1115:   static const char* SETTING_WINSYSTEM_IS_HDR_DISPLAY;
1115: 
1115: 
1115:   virtual DEBUG_INFO_RENDER GetDebugInfo() { return {}; }
1115: 
1115:   virtual std::vector<std::string> GetConnectedOutputs() { return {}; }
1115: 
1115: protected:
1115:   void UpdateDesktopResolution(RESOLUTION_INFO& newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags);
1115:   virtual std::unique_ptr<KODI::WINDOWING::IOSScreenSaver> GetOSScreenSaverImpl() { return nullptr; }
1115: 
1115:   int m_nWidth = 0;
1115:   int m_nHeight = 0;
1115:   int m_nTop = 0;
1115:   int m_nLeft = 0;
1115:   bool m_bWindowCreated = false;
1115:   bool m_bFullScreen = false;
1115:   bool m_bBlankOtherDisplay = false;
1115:   float m_fRefreshRate = 0.0f;
1115:   std::unique_ptr<KODI::WINDOWING::COSScreenSaverManager> m_screenSaverManager;
1115:   CCriticalSection m_renderLoopSection;
1115:   std::vector<IRenderLoop*> m_renderLoopClients;
1115: 
1115:   std::unique_ptr<IWinEvents> m_winEvents;
1115:   std::unique_ptr<CGraphicContext> m_gfxContext;
1115:   std::shared_ptr<CDPMSSupport> m_dpms;
1115: };
1115: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 2
1115: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1115: enum VIEW_TYPE { VIEW_TYPE_NONE = 0,
1115:                  VIEW_TYPE_LIST,
1115:                  VIEW_TYPE_ICON,
1115:                  VIEW_TYPE_BIG_LIST,
1115:                  VIEW_TYPE_BIG_ICON,
1115:                  VIEW_TYPE_WIDE,
1115:                  VIEW_TYPE_BIG_WIDE,
1115:                  VIEW_TYPE_WRAP,
1115:                  VIEW_TYPE_BIG_WRAP,
1115:                  VIEW_TYPE_INFO,
1115:                  VIEW_TYPE_BIG_INFO,
1115:                  VIEW_TYPE_AUTO,
1115:                  VIEW_TYPE_MAX };
1115: 
1115: enum AdjustRefreshRate
1115: {
1115:   ADJUST_REFRESHRATE_OFF = 0,
1115:   ADJUST_REFRESHRATE_ALWAYS,
1115:   ADJUST_REFRESHRATE_ON_STARTSTOP,
1115:   ADJUST_REFRESHRATE_ON_START,
1115: };
1115: 
1115: class CGraphicContext : public CCriticalSection
1115: {
1115: public:
1115:   CGraphicContext(void);
1115:   virtual ~CGraphicContext();
1115: 
1115: 
1115:   float GetFPS() const;
1115:   void SetFPS(float fps);
1115:   float GetDisplayLatency() const;
1115:   bool IsFullScreenRoot() const;
1115:   void ToggleFullScreen();
1115:   void SetFullScreenVideo(bool bOnOff);
1115:   bool IsFullScreenVideo() const;
1115:   bool IsValidResolution(RESOLUTION res);
1115:   void SetVideoResolution(RESOLUTION res, bool forceUpdate);
1115:   void ApplyModeChange(RESOLUTION res);
1115:   void ApplyWindowResize(int newWidth, int newHeight);
1115:   RESOLUTION GetVideoResolution() const;
1115:   const RESOLUTION_INFO GetResInfo() const;
1115:   const RESOLUTION_INFO GetResInfo(RESOLUTION res) const;
1115:   void SetResInfo(RESOLUTION res, const RESOLUTION_INFO& info);
1115: 
1115:   void Flip(bool rendered, bool videoLayer);
1115: 
1115: 
1115:   int GetWidth() const;
1115:   int GetHeight() const;
1115:   bool SetViewPort(float fx, float fy , float fwidth, float fheight, bool intersectPrevious = false);
1115:   void RestoreViewPort();
1115:   void SetScissors(const CRect &rect);
1115:   void ResetScissors();
1115:   const CRect &GetScissors() const;
1115:   const CRect GetViewWindow() const;
1115:   void SetViewWindow(float left, float top, float right, float bottom);
1115:   bool IsCalibrating() const;
1115:   void SetCalibrating(bool bOnOff);
1115:   void ResetOverscan(RESOLUTION res, OVERSCAN &overscan);
1115:   void ResetOverscan(RESOLUTION_INFO &resinfo);
1115:   void ResetScreenParameters(RESOLUTION res);
1115:   void CaptureStateBlock();
1115:   void ApplyStateBlock();
1115:   void Clear(UTILS::COLOR::Color color = 0);
1115:   void GetAllowedResolutions(std::vector<RESOLUTION> &res);
1115: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1115:   void GetGUIScaling(const RESOLUTION_INFO &res, float &scaleX, float &scaleY, TransformMatrix *matrix = 
1115: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1115:                                                                                                         __null
1115: # 112 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1115:                                                                                                             );
1115:   void SetRenderingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1115:   void SetScalingResolution(const RESOLUTION_INFO &res, bool needsScaling);
1115:   float GetScalingPixelRatio() const;
1115:   void InvertFinalCoords(float &x, float &y) const;
1115:   float ScaleFinalXCoord(float x, float y) const;
1115:   float ScaleFinalYCoord(float x, float y) const;
1115:   float ScaleFinalZCoord(float x, float y) const;
1115:   void ScaleFinalCoords(float &x, float &y, float &z) const;
1115:   bool RectIsAngled(float x1, float y1, float x2, float y2) const;
1115:   const TransformMatrix &GetGUIMatrix() const;
1115:   float GetGUIScaleX() const;
1115:   float GetGUIScaleY() const;
1115:   UTILS::COLOR::Color MergeAlpha(UTILS::COLOR::Color color) const;
1115:   UTILS::COLOR::Color MergeColor(UTILS::COLOR::Color color) const;
1115:   void SetOrigin(float x, float y);
1115:   void RestoreOrigin();
1115:   void SetCameraPosition(const CPoint &camera);
1115:   void SetStereoView(RENDER_STEREO_VIEW view);
1115:   RENDER_STEREO_VIEW GetStereoView() { return m_stereoView; }
1115:   void SetStereoMode(RENDER_STEREO_MODE mode) { m_nextStereoMode = mode; }
1115:   RENDER_STEREO_MODE GetStereoMode() { return m_stereoMode; }
1115:   void RestoreCameraPosition();
1115:   void SetStereoFactor(float factor);
1115:   void RestoreStereoFactor();
1115: # 162 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1115:   bool SetClipRegion(float x, float y, float w, float h);
1115:   void RestoreClipRegion();
1115:   void ClipRect(CRect &vertex, CRect &texture, CRect *diffuse = 
1115: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h" 3 4
1115:                                                                __null
1115: # 164 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/windowing/GraphicContext.h"
1115:                                                                    );
1115:   CRect GetClipRegion();
1115:   void AddGUITransform();
1115:   TransformMatrix AddTransform(const TransformMatrix &matrix);
1115:   void SetTransform(const TransformMatrix &matrix);
1115:   void SetTransform(const TransformMatrix &matrix, float scaleX, float scaleY);
1115:   void RemoveTransform();
1115: 
1115: 
1115:   CRect StereoCorrection(const CRect &rect) const;
1115:   CPoint StereoCorrection(const CPoint &point) const;
1115: 
1115:   CRect GenerateAABB(const CRect &rect) const;
1115: 
1115: 
1115:   const std::string& GetMediaDir() const;
1115:   void SetMediaDir(const std::string& strMediaDir);
1115: 
1115: protected:
1115: 
1115:   void UpdateCameraPosition(const CPoint &camera, const float &factor);
1115:   void SetVideoResolutionInternal(RESOLUTION res, bool forceUpdate);
1115:   void ApplyVideoResolution(RESOLUTION res);
1115:   void UpdateInternalStateWithResolution(RESOLUTION res);
1115: 
1115:   int m_iScreenHeight = 576;
1115:   int m_iScreenWidth = 720;
1115:   std::string m_strMediaDir;
1115:   CRect m_videoRect;
1115:   bool m_bFullScreenRoot = true;
1115:   bool m_bFullScreenVideo = false;
1115:   bool m_bCalibrating = false;
1115:   RESOLUTION m_Resolution = RES_INVALID;
1115:   float m_fFPSOverride = 0.0f;
1115: 
1115:   RESOLUTION_INFO m_windowResolution;
1115:   std::stack<CPoint> m_cameras;
1115:   std::stack<CPoint> m_origins;
1115:   std::stack<CRect> m_clipRegions;
1115:   std::stack<float> m_stereoFactors;
1115:   std::stack<CRect> m_viewStack;
1115:   CRect m_scissors;
1115: 
1115:   class UITransform
1115:   {
1115:   public:
1115:     UITransform() : matrix() {}
1115:     UITransform(const TransformMatrix& m, const float sX = 1.0f, const float sY = 1.0f)
1115:       : matrix(m), scaleX(sX), scaleY(sY)
1115:     {
1115:     }
1115:     void Reset()
1115:     {
1115:       matrix.Reset();
1115:       scaleX = scaleY = 1.0f;
1115:     }
1115: 
1115:     TransformMatrix matrix;
1115:     float scaleX = 1.0f;
1115:     float scaleY = 1.0f;
1115:   };
1115: 
1115:   UITransform m_guiTransform;
1115:   UITransform m_finalTransform;
1115:   std::stack<UITransform> m_transforms;
1115:   RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
1115:   RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
1115:   RENDER_STEREO_MODE m_nextStereoMode = RENDER_STEREO_MODE_OFF;
1115: };
1115: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 2
1115: 
1115: 
1115: 
1115: class CGUIListItem;
1115: class CAction;
1115: class CMouseEvent;
1115: class CGUIMessage;
1115: class CGUIAction;
1115: 
1115: enum ORIENTATION { HORIZONTAL = 0, VERTICAL };
1115: 
1115: class CControlState
1115: {
1115: public:
1115:   CControlState(int id, int data)
1115:   {
1115:     m_id = id;
1115:     m_data = data;
1115:   }
1115:   int m_id;
1115:   int m_data;
1115: };
1115: 
1115: struct GUICONTROLSTATS
1115: {
1115:   unsigned int nCountTotal;
1115:   unsigned int nCountVisible;
1115: 
1115:   void Reset()
1115:   {
1115:     nCountTotal = nCountVisible = 0;
1115:   };
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: enum EVENT_RESULT { EVENT_RESULT_UNHANDLED = 0x00,
1115:                     EVENT_RESULT_HANDLED = 0x01,
1115:                     EVENT_RESULT_PAN_HORIZONTAL = 0x02,
1115:                     EVENT_RESULT_PAN_VERTICAL = 0x04,
1115:                     EVENT_RESULT_PAN_VERTICAL_WITHOUT_INERTIA = 0x08,
1115:                     EVENT_RESULT_PAN_HORIZONTAL_WITHOUT_INERTIA = 0x10,
1115:                     EVENT_RESULT_ROTATE = 0x20,
1115:                     EVENT_RESULT_ZOOM = 0x40,
1115:                     EVENT_RESULT_SWIPE = 0x80
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CGUIControl
1115: {
1115: public:
1115:   CGUIControl();
1115:   CGUIControl(int parentID, int controlID, float posX, float posY, float width, float height);
1115:   CGUIControl(const CGUIControl &);
1115:   virtual ~CGUIControl(void);
1115:   virtual CGUIControl *Clone() const=0;
1115: 
1115:   virtual void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions);
1115:   virtual void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions);
1115:   virtual void DoRender();
1115:   virtual void Render() {}
1115: 
1115: 
1115:   virtual void RenderEx() {}
1115: 
1115: 
1115:   bool HasProcessed() const { return m_hasProcessed; }
1115: # 102 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1115:   virtual bool OnAction(const CAction &action);
1115: 
1115: 
1115:   virtual void OnUp();
1115:   virtual void OnDown();
1115:   virtual void OnLeft();
1115:   virtual void OnRight();
1115:   virtual bool OnBack();
1115:   virtual bool OnInfo();
1115:   virtual void OnNextControl();
1115:   virtual void OnPrevControl();
1115:   virtual void OnFocus() {}
1115:   virtual void OnUnFocus() {}
1115: # 126 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1115:   virtual EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event);
1115: # 138 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1115:   virtual EVENT_RESULT OnMouseEvent(const CPoint& point, const CMouseEvent& event)
1115:   {
1115:     return EVENT_RESULT_UNHANDLED;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void UnfocusFromPoint(const CPoint &point);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool HitTest(const CPoint &point) const;
1115: 
1115:   virtual bool OnMessage(CGUIMessage& message);
1115:   virtual int GetID(void) const;
1115:   virtual void SetID(int id) { m_controlID = id; }
1115:   int GetParentID() const;
1115:   virtual bool HasFocus() const;
1115:   virtual void AllocResources();
1115:   virtual void FreeResources(bool immediately = false);
1115:   virtual void DynamicResourceAlloc(bool bOnOff);
1115:   virtual bool IsDynamicallyAllocated() { return false; }
1115:   virtual bool CanFocus() const;
1115:   virtual bool IsVisible() const;
1115:   bool IsVisibleFromSkin() const { return m_visibleFromSkinCondition; }
1115:   virtual bool IsDisabled() const;
1115:   virtual void SetPosition(float posX, float posY);
1115:   virtual void SetHitRect(const CRect& rect, const UTILS::COLOR::Color& color);
1115:   virtual void SetCamera(const CPoint &camera);
1115:   virtual void SetStereoFactor(const float &factor);
1115:   bool SetColorDiffuse(const KODI::GUILIB::GUIINFO::CGUIInfoColor &color);
1115:   CPoint GetRenderPosition() const;
1115:   virtual float GetXPosition() const;
1115:   virtual float GetYPosition() const;
1115:   virtual float GetWidth() const;
1115:   virtual float GetHeight() const;
1115: 
1115:   void MarkDirtyRegion(const unsigned int dirtyState = DIRTY_STATE_CONTROL);
1115:   bool IsControlDirty() const { return m_controlDirtyState != 0; }
1115: 
1115: 
1115: 
1115:   const CRect& GetRenderRegion() const { return m_renderRegion; }
1115: 
1115: 
1115: 
1115:   virtual CRect CalcRenderRegion() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   typedef std::map<int, CGUIAction> ActionMap;
1115:   void SetActions(const ActionMap &actions);
1115: # 205 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1115:   void SetAction(int actionID, const CGUIAction &action, bool replace = true);
1115: 
1115: 
1115: 
1115: 
1115:   CGUIAction GetAction(int actionID) const;
1115: 
1115: 
1115: 
1115:   bool Navigate(int direction) const;
1115:   virtual void SetFocus(bool focus);
1115:   virtual void SetWidth(float width);
1115:   virtual void SetHeight(float height);
1115:   virtual void SetVisible(bool bVisible, bool setVisState = false);
1115:   void SetVisibleCondition(const std::string &expression, const std::string &allowHiddenFocus = "");
1115:   bool HasVisibleCondition() const { return m_visibleCondition != 
1115: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 3 4
1115:                                                                  __null
1115: # 220 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1115:                                                                      ; }
1115:   void SetEnableCondition(const std::string &expression);
1115:   virtual void UpdateVisibility(const CGUIListItem *item);
1115:   virtual void SetInitialVisibility();
1115:   virtual void SetEnabled(bool bEnable);
1115:   virtual void SetInvalid() { m_bInvalidated = true; }
1115:   virtual void SetPulseOnSelect(bool pulse) { m_pulseOnSelect = pulse; }
1115:   virtual std::string GetDescription() const { return ""; }
1115:   virtual std::string GetDescriptionByIndex(int index) const { return ""; }
1115: 
1115:   void SetAnimations(const std::vector<CAnimation> &animations);
1115:   const std::vector<CAnimation>& GetAnimations() const { return m_animations; }
1115: 
1115:   virtual void QueueAnimation(ANIMATION_TYPE anim);
1115:   virtual bool IsAnimating(ANIMATION_TYPE anim);
1115:   virtual bool HasAnimation(ANIMATION_TYPE anim);
1115:   CAnimation *GetAnimation(ANIMATION_TYPE type, bool checkConditions = true);
1115:   virtual void ResetAnimation(ANIMATION_TYPE type);
1115:   virtual void ResetAnimations();
1115: 
1115: 
1115:   virtual void UpdateInfo(const CGUIListItem* item = 
1115: # 241 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h" 3 4
1115:                                                     __null
1115: # 241 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControl.h"
1115:                                                         ) {}
1115:   virtual void SetPushUpdates(bool pushUpdates) { m_pushedUpdates = pushUpdates; }
1115: 
1115:   virtual bool IsGroup() const { return false; }
1115:   virtual bool IsContainer() const { return false; }
1115:   virtual bool GetCondition(int condition, int data) const { return false; }
1115: 
1115:   void SetParentControl(CGUIControl* control) { m_parentControl = control; }
1115:   CGUIControl* GetParentControl(void) const { return m_parentControl; }
1115:   virtual void SaveStates(std::vector<CControlState> &states);
1115:   virtual CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr);
1115: 
1115: 
1115:   void SetControlStats(GUICONTROLSTATS* controlStats) { m_controlStats = controlStats; }
1115:   virtual void UpdateControlStats();
1115: 
1115:   enum GUICONTROLTYPES
1115:   {
1115:     GUICONTROL_UNKNOWN,
1115:     GUICONTROL_BUTTON,
1115:     GUICONTROL_FADELABEL,
1115:     GUICONTROL_IMAGE,
1115:     GUICONTROL_BORDEREDIMAGE,
1115:     GUICONTROL_LABEL,
1115:     GUICONTROL_LISTGROUP,
1115:     GUICONTROL_PROGRESS,
1115:     GUICONTROL_RADIO,
1115:     GUICONTROL_RSS,
1115:     GUICONTROL_SLIDER,
1115:     GUICONTROL_SETTINGS_SLIDER,
1115:     GUICONTROL_SPIN,
1115:     GUICONTROL_SPINEX,
1115:     GUICONTROL_TEXTBOX,
1115:     GUICONTROL_TOGGLEBUTTON,
1115:     GUICONTROL_VIDEO,
1115:     GUICONTROL_GAME,
1115:     GUICONTROL_MOVER,
1115:     GUICONTROL_RESIZE,
1115:     GUICONTROL_EDIT,
1115:     GUICONTROL_VISUALISATION,
1115:     GUICONTROL_RENDERADDON,
1115:     GUICONTROL_MULTI_IMAGE,
1115:     GUICONTROL_GROUP,
1115:     GUICONTROL_GROUPLIST,
1115:     GUICONTROL_SCROLLBAR,
1115:     GUICONTROL_LISTLABEL,
1115:     GUICONTROL_GAMECONTROLLER,
1115:     GUICONTAINER_LIST,
1115:     GUICONTAINER_WRAPLIST,
1115:     GUICONTAINER_FIXEDLIST,
1115:     GUICONTAINER_EPGGRID,
1115:     GUICONTAINER_PANEL,
1115:     GUICONTROL_RANGES,
1115:     GUICONTROL_COLORBUTTON
1115:   };
1115:   GUICONTROLTYPES GetControlType() const { return ControlType; }
1115: 
1115:   enum GUIVISIBLE { HIDDEN = 0, DELAYED, VISIBLE };
1115: 
1115:   enum GUISCROLLVALUE { FOCUS = 0, NEVER, ALWAYS };
1115: 
1115: 
1115: 
1115: 
1115: protected:
1115: 
1115: 
1115: 
1115: 
1115:   virtual CPoint GetPosition() const { return CPoint(GetXPosition(), GetYPosition()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool OnMouseOver(const CPoint &point);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool CanFocusFromPoint(const CPoint &point) const;
1115: 
1115:   virtual bool UpdateColors(const CGUIListItem* item);
1115:   virtual bool Animate(unsigned int currentTime);
1115:   virtual bool CheckAnimation(ANIMATION_TYPE animType);
1115:   void UpdateStates(ANIMATION_TYPE type, ANIMATION_PROCESS currentProcess, ANIMATION_STATE currentState);
1115:   bool SendWindowMessage(CGUIMessage &message) const;
1115: 
1115: 
1115:   ActionMap m_actions;
1115: 
1115:   float m_posX;
1115:   float m_posY;
1115:   float m_height;
1115:   float m_width;
1115:   CRect m_hitRect;
1115:   UTILS::COLOR::Color m_hitColor = 0xffffffff;
1115:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_diffuseColor;
1115:   int m_controlID;
1115:   int m_parentID;
1115:   bool m_bHasFocus;
1115:   bool m_bInvalidated;
1115:   bool m_bAllocated;
1115:   bool m_pulseOnSelect;
1115:   GUICONTROLTYPES ControlType;
1115:   GUICONTROLSTATS *m_controlStats;
1115: 
1115:   CGUIControl *m_parentControl;
1115: 
1115: 
1115:   INFO::InfoPtr m_visibleCondition;
1115:   GUIVISIBLE m_visible;
1115:   bool m_visibleFromSkinCondition;
1115:   bool m_forceHidden;
1115:   KODI::GUILIB::GUIINFO::CGUIInfoBool m_allowHiddenFocus;
1115:   bool m_hasProcessed;
1115: 
1115:   INFO::InfoPtr m_enableCondition;
1115:   bool m_enabled;
1115: 
1115:   bool m_pushedUpdates;
1115: 
1115: 
1115:   std::vector<CAnimation> m_animations;
1115:   CPoint m_camera;
1115:   bool m_hasCamera;
1115:   float m_stereo;
1115:   TransformMatrix m_transform;
1115:   TransformMatrix m_cachedTransform;
1115:   bool m_isCulled{true};
1115: 
1115:   static const unsigned int DIRTY_STATE_CONTROL = 1;
1115:   static const unsigned int DIRTY_STATE_CHILD = 2;
1115: 
1115:   unsigned int m_controlDirtyState;
1115:   CRect m_renderRegion;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h" 2
1115: 
1115: class CGUIControlLookup : public CGUIControl
1115: {
1115: public:
1115:   CGUIControlLookup() = default;
1115:   CGUIControlLookup(int parentID, int controlID, float posX, float posY, float width, float height)
1115:     : CGUIControl(parentID, controlID, posX, posY, width, height) {}
1115:   explicit CGUIControlLookup(const CGUIControlLookup& from);
1115:   ~CGUIControlLookup(void) override = default;
1115: 
1115:   CGUIControl *GetControl(int id, std::vector<CGUIControl*> *idCollector = nullptr) override;
1115: protected:
1115:   typedef std::multimap<int, CGUIControl *> LookupMap;
1115: # 33 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlLookup.h"
1115:   bool IsValidControl(const CGUIControl *control) const;
1115:   std::pair<LookupMap::const_iterator, LookupMap::const_iterator> GetLookupControls(int controlId) const
1115:   {
1115:     return m_lookup.equal_range(controlId);
1115:   };
1115: 
1115: 
1115:   void AddLookup(CGUIControl *control);
1115:   void RemoveLookup(CGUIControl *control);
1115:   void RemoveLookup();
1115:   const LookupMap &GetLookup() const { return m_lookup; }
1115:   void ClearLookup() { m_lookup.clear(); }
1115: private:
1115:   LookupMap m_lookup;
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIControlGroup.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CGUIControlGroup : public CGUIControlLookup
1115: {
1115: public:
1115:   CGUIControlGroup();
1115:   CGUIControlGroup(int parentID, int controlID, float posX, float posY, float width, float height);
1115:   explicit CGUIControlGroup(const CGUIControlGroup& from);
1115:   ~CGUIControlGroup(void) override;
1115:   CGUIControlGroup* Clone() const override { return new CGUIControlGroup(*this); }
1115: 
1115:   void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
1115:   void Render() override;
1115:   void RenderEx() override;
1115:   bool OnAction(const CAction &action) override;
1115:   bool OnMessage(CGUIMessage& message) override;
1115:   virtual bool SendControlMessage(CGUIMessage& message);
1115:   bool HasFocus() const override;
1115:   void AllocResources() override;
1115:   void FreeResources(bool immediately = false) override;
1115:   void DynamicResourceAlloc(bool bOnOff) override;
1115:   bool CanFocus() const override;
1115: 
1115:   EVENT_RESULT SendMouseEvent(const CPoint &point, const CMouseEvent &event) override;
1115:   void UnfocusFromPoint(const CPoint &point) override;
1115: 
1115:   void SetInitialVisibility() override;
1115: 
1115:   bool IsAnimating(ANIMATION_TYPE anim) override;
1115:   bool HasAnimation(ANIMATION_TYPE anim) override;
1115:   void QueueAnimation(ANIMATION_TYPE anim) override;
1115:   void ResetAnimation(ANIMATION_TYPE anim) override;
1115:   void ResetAnimations() override;
1115: 
1115:   int GetFocusedControlID() const;
1115:   CGUIControl *GetFocusedControl() const;
1115:   virtual CGUIControl *GetFirstFocusableControl(int id);
1115: 
1115:   virtual void AddControl(CGUIControl *control, int position = -1);
1115:   bool InsertControl(CGUIControl *control, const CGUIControl *insertPoint);
1115:   virtual bool RemoveControl(const CGUIControl *control);
1115:   virtual void ClearAll();
1115:   void SetDefaultControl(int id, bool always)
1115:   {
1115:     m_defaultControl = id;
1115:     m_defaultAlways = always;
1115:   }
1115:   void SetRenderFocusedLast(bool renderLast) { m_renderFocusedLast = renderLast; }
1115: 
1115:   void SaveStates(std::vector<CControlState> &states) override;
1115: 
1115:   bool IsGroup() const override { return true; }
1115: 
1115: 
1115: 
1115: 
1115: protected:
1115: 
1115:   std::vector<CGUIControl *> m_children;
1115: 
1115:   typedef std::vector<CGUIControl *>::iterator iControls;
1115:   typedef std::vector<CGUIControl *>::const_iterator ciControls;
1115:   typedef std::vector<CGUIControl *>::reverse_iterator rControls;
1115:   typedef std::vector<CGUIControl *>::const_reverse_iterator crControls;
1115: 
1115:   int m_defaultControl;
1115:   bool m_defaultAlways;
1115:   int m_focusedControl;
1115:   bool m_renderFocusedLast;
1115: private:
1115:   typedef std::vector< std::vector<CGUIControl *> * > COLLECTORTYPE;
1115: 
1115:   struct IDCollectorList
1115:   {
1115:     ~IDCollectorList()
1115:     {
1115:       for (auto item : m_items)
1115:         delete item;
1115:     }
1115: 
1115:     std::vector<CGUIControl *> *Get() {
1115:       if (++m_stackDepth > m_items.size())
1115:         m_items.push_back(new std::vector<CGUIControl *>());
1115:       return m_items[m_stackDepth - 1];
1115:     }
1115: 
1115:     void Release() { --m_stackDepth; }
1115: 
1115:     COLLECTORTYPE m_items;
1115:     size_t m_stackDepth = 0;
1115:   }m_idCollector;
1115: 
1115:   struct IDCollector
1115:   {
1115:     explicit IDCollector(IDCollectorList& list) : m_list(list), m_collector(list.Get()) {}
1115: 
1115:     ~IDCollector() { m_list.Release(); }
1115: 
1115:     IDCollectorList &m_list;
1115:     std::vector<CGUIControl *> *m_collector;
1115:   };
1115: };
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1115: 
1115: 
1115: 
1115: class CFileItem; typedef std::shared_ptr<CFileItem> CFileItemPtr;
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
1115: # 34 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 1 3 4
1115: # 203 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 3 4
1115: # 1 "/usr/include/limits.h" 1 3 4
1115: # 26 "/usr/include/limits.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/libc-header-start.h" 1 3 4
1115: # 27 "/usr/include/limits.h" 2 3 4
1115: # 195 "/usr/include/limits.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 1 3 4
1115: # 27 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4
1115: # 28 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
1115: # 161 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 1 3 4
1115: # 38 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 3 4
1115: # 1 "/usr/include/linux/limits.h" 1 3 4
1115: # 39 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 2 3 4
1115: # 162 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4
1115: # 196 "/usr/include/limits.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h" 1 3 4
1115: # 200 "/usr/include/limits.h" 2 3 4
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 1 3 4
1115: # 64 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 3 4
1115: # 1 "/usr/include/arm-linux-gnueabihf/bits/uio_lim.h" 1 3 4
1115: # 65 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 2 3 4
1115: # 204 "/usr/include/limits.h" 2 3 4
1115: # 204 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
1115: # 8 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/syslimits.h" 2 3 4
1115: # 35 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/limits.h" 2 3 4
1115: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindow.h" 2
1115: 
1115: 
1115: 
1115: enum RenderOrder {
1115:   RENDER_ORDER_WINDOW = 0,
1115:   RENDER_ORDER_DIALOG = 1,
1115:   RENDER_ORDER_WINDOW_SCREENSAVER = 0x7fffffff,
1115:   RENDER_ORDER_WINDOW_POINTER = 0x7fffffff - 1,
1115:   RENDER_ORDER_WINDOW_DEBUG = 0x7fffffff - 2,
1115:   RENDER_ORDER_DIALOG_TELETEXT = 0x7fffffff - 3
1115: };
1115: 
1115: 
1115: class TiXmlNode;
1115: class TiXmlElement;
1115: class CXBMCTinyXML;
1115: class CVariant;
1115: 
1115: class COrigin
1115: {
1115: public:
1115:   COrigin()
1115:   {
1115:     x = y = 0;
1115:   };
1115:   float x;
1115:   float y;
1115:   INFO::InfoPtr condition;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CGUIWindow : public CGUIControlGroup, protected CCriticalSection
1115: {
1115: public:
1115:   enum LOAD_TYPE { LOAD_EVERY_TIME, LOAD_ON_GUI_INIT, KEEP_IN_MEMORY };
1115: 
1115:   CGUIWindow(int id, const std::string &xmlFile);
1115:   ~CGUIWindow(void) override;
1115: 
1115:   bool Initialize();
1115:   bool Load(const std::string& strFileName, bool bContainsPath = false);
1115: 
1115:   void CenterWindow();
1115: 
1115:   void DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregions) override;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void DoRender() override;
1115: 
1115: 
1115: 
1115: 
1115:   void AfterRender();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void FrameMove() {}
1115: 
1115:   void Close(bool forceClose = false, int nextWindowID = 0, bool enableSound = true, bool bWait = true);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool OnAction(const CAction &action) override;
1115: 
1115:   using CGUIControlGroup::OnBack;
1115:   virtual bool OnBack(int actionID);
1115:   using CGUIControlGroup::OnInfo;
1115:   virtual bool OnInfo(int actionID) { return false; }
1115: 
1115: 
1115: 
1115:   virtual void ClearBackground();
1115: 
1115:   bool OnMove(int fromControl, int moveAction);
1115:   bool OnMessage(CGUIMessage& message) override;
1115: 
1115:   bool ControlGroupHasFocus(int groupID, int controlID);
1115:   void SetID(int id) override;
1115:   virtual bool HasID(int controlID) const;
1115:   const std::vector<int>& GetIDRange() const { return m_idRange; }
1115:   int GetPreviousWindow() { return m_previousWindow; }
1115:   CRect GetScaledBounds() const;
1115:   void ClearAll() override;
1115:   using CGUIControlGroup::AllocResources;
1115:   virtual void AllocResources(bool forceLoad = false);
1115:   void FreeResources(bool forceUnLoad = false) override;
1115:   void DynamicResourceAlloc(bool bOnOff) override;
1115:   virtual bool IsDialog() const { return false; }
1115:   virtual bool IsDialogRunning() const { return false; }
1115:   virtual bool IsModalDialog() const { return false; }
1115:   virtual bool IsMediaWindow() const { return false; }
1115:   virtual bool HasListItems() const { return false; }
1115:   virtual bool IsSoundEnabled() const { return true; }
1115:   virtual CFileItemPtr GetCurrentListItem(int offset = 0) { return CFileItemPtr(); }
1115:   virtual int GetViewContainerID() const { return 0; }
1115:   virtual int GetViewCount() const { return 0; }
1115:   virtual bool CanBeActivated() const { return true; }
1115:   virtual bool IsActive() const;
1115:   void SetCoordsRes(const RESOLUTION_INFO& res) { m_coordsRes = res; }
1115:   const RESOLUTION_INFO& GetCoordsRes() const { return m_coordsRes; }
1115:   void SetLoadType(LOAD_TYPE loadType) { m_loadType = loadType; }
1115:   LOAD_TYPE GetLoadType() { return m_loadType; }
1115:   int GetRenderOrder() { return m_renderOrder; }
1115:   void SetInitialVisibility() override;
1115:   bool IsVisible() const override { return true; };
1115: 
1115: 
1115:   virtual bool HasVisibleControls() { return true; };
1115: 
1115:   bool IsAnimating(ANIMATION_TYPE animType) override;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool IsCustom() const { return m_custom; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetCustom(bool custom) { m_custom = custom; }
1115: 
1115:   void DisableAnimations();
1115: 
1115:   virtual void ResetControlStates();
1115:   void UpdateControlStats() override {};
1115: 
1115:   void SetRunActionsManually();
1115:   void RunLoadActions() const;
1115:   void RunUnloadActions() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetProperty(const std::string &key, const CVariant &value);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CVariant GetProperty(const std::string &key) const;
1115: 
1115: 
1115: 
1115: 
1115:   void ClearProperties();
1115: 
1115: 
1115: 
1115: 
1115:   bool HasSaveLastControl() const { return !m_defaultAlways; }
1115: 
1115:   virtual void OnDeinitWindow(int nextWindowID);
1115: protected:
1115:   EVENT_RESULT OnMouseEvent(const CPoint &point, const CMouseEvent &event) override;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool LoadXML(const std::string& strPath, const std::string &strLowerPath);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool Load(TiXmlElement *pRootElement);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual std::unique_ptr<TiXmlElement> Prepare(const std::unique_ptr<TiXmlElement>& rootElement);
1115: 
1115: 
1115: 
1115: 
1115:   bool NeedLoad() const;
1115: 
1115:   virtual void SetDefaults();
1115:   virtual void OnWindowUnload() {}
1115:   virtual void OnWindowLoaded();
1115:   virtual void OnInitWindow();
1115:   void Close_Internal(bool forceClose = false, int nextWindowID = 0, bool enableSound = true);
1115:   EVENT_RESULT OnMouseAction(const CAction &action);
1115:   bool Animate(unsigned int currentTime) override;
1115:   bool CheckAnimation(ANIMATION_TYPE animType) override;
1115: 
1115: 
1115:   virtual void SaveControlStates();
1115:   virtual void RestoreControlStates();
1115: 
1115: 
1115:   void OnEditChanged(int id, std::string &text);
1115:   bool SendMessage(int message, int id, int param1 = 0, int param2 = 0);
1115: 
1115:   void LoadControl(TiXmlElement* pControl, CGUIControlGroup *pGroup, const CRect &rect);
1115: 
1115:   std::vector<int> m_idRange;
1115:   RESOLUTION_INFO m_coordsRes;
1115:   bool m_needsScaling;
1115:   bool m_windowLoaded;
1115:   LOAD_TYPE m_loadType;
1115:   bool m_dynamicResourceAlloc;
1115:   bool m_closing;
1115:   bool m_active;
1115:   KODI::GUILIB::GUIINFO::CGUIInfoColor m_clearBackground;
1115: 
1115:   int m_renderOrder;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CPoint GetPosition() const override;
1115:   std::vector<COrigin> m_origins;
1115: 
1115: 
1115:   int m_lastControlID;
1115:   std::vector<CControlState> m_controlStates;
1115:   int m_previousWindow;
1115: 
1115:   bool m_animationsEnabled;
1115:   struct icompare
1115:   {
1115:     bool operator()(const std::string &s1, const std::string &s2) const;
1115:   };
1115: 
1115:   CGUIAction m_loadActions;
1115:   CGUIAction m_unloadActions;
1115: 
1115: 
1115: 
1115: 
1115:   std::unique_ptr<TiXmlElement> m_windowXMLRootElement;
1115: 
1115:   bool m_manualRunActions;
1115: 
1115:   int m_exclusiveMouseControl;
1115: 
1115:   int m_menuControlID;
1115:   int m_menuLastFocusedControlID;
1115:   bool m_custom;
1115: 
1115: private:
1115:   std::map<std::string, CVariant, icompare> m_mapProperties;
1115:   std::map<INFO::InfoPtr, bool> m_xmlIncludeConditions;
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h"
1115:        
1115: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IMsgTargetCallback.h"
1115: class IMsgTargetCallback
1115: {
1115: public:
1115:   virtual bool OnMessage(CGUIMessage& message) = 0;
1115:   virtual ~IMsgTargetCallback() = default;
1115: };
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
1115:        
1115: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/IWindowManagerCallback.h"
1115: class IWindowManagerCallback
1115: {
1115: public:
1115:   IWindowManagerCallback(void);
1115:   virtual ~IWindowManagerCallback(void);
1115: 
1115:   virtual void FrameMove(bool processEvents, bool processGUI = true) = 0;
1115:   virtual void Render() = 0;
1115:   virtual void Process() = 0;
1115:   virtual bool GetRenderGUI() const { return false; }
1115: };
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/WindowIDs.h"
1115:        
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
1115:        
1115: 
1115: namespace KODI
1115: {
1115: namespace MESSAGING
1115: {
1115: class ThreadMessage;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class IMessageTarget
1115: {
1115: public:
1115:   virtual ~IMessageTarget() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual int GetMessageMask() = 0;
1115: # 54 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/messaging/IMessageTarget.h"
1115:   virtual void OnApplicationMessage(ThreadMessage* msg) = 0;
1115: };
1115: }
1115: }
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1115: 
1115: # 1 "/usr/include/c++/12/list" 1 3
1115: # 58 "/usr/include/c++/12/list" 3
1115:        
1115: # 59 "/usr/include/c++/12/list" 3
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stl_list.h" 1 3
1115: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1115: 
1115: # 68 "/usr/include/c++/12/bits/stl_list.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   namespace __detail
1115:   {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     struct _List_node_base
1115:     {
1115:       _List_node_base* _M_next;
1115:       _List_node_base* _M_prev;
1115: 
1115:       static void
1115:       swap(_List_node_base& __x, _List_node_base& __y) noexcept;
1115: 
1115:       void
1115:       _M_transfer(_List_node_base* const __first,
1115:     _List_node_base* const __last) noexcept;
1115: 
1115:       void
1115:       _M_reverse() noexcept;
1115: 
1115:       void
1115:       _M_hook(_List_node_base* const __position) noexcept;
1115: 
1115:       void
1115:       _M_unhook() noexcept;
1115:     };
1115: 
1115: 
1115:     struct _List_node_header : public _List_node_base
1115:     {
1115: 
1115:       std::size_t _M_size;
1115: 
1115: 
1115:       _List_node_header() noexcept
1115:       { _M_init(); }
1115: 
1115: 
1115:       _List_node_header(_List_node_header&& __x) noexcept
1115:       : _List_node_base{ __x._M_next, __x._M_prev }
1115: 
1115:       , _M_size(__x._M_size)
1115: 
1115:       {
1115:  if (__x._M_base()->_M_next == __x._M_base())
1115:    this->_M_next = this->_M_prev = this;
1115:  else
1115:    {
1115:      this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base();
1115:      __x._M_init();
1115:    }
1115:       }
1115: 
1115:       void
1115:       _M_move_nodes(_List_node_header&& __x)
1115:       {
1115:  _List_node_base* const __xnode = __x._M_base();
1115:  if (__xnode->_M_next == __xnode)
1115:    _M_init();
1115:  else
1115:    {
1115:      _List_node_base* const __node = this->_M_base();
1115:      __node->_M_next = __xnode->_M_next;
1115:      __node->_M_prev = __xnode->_M_prev;
1115:      __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node;
1115: 
1115:      _M_size = __x._M_size;
1115: 
1115:      __x._M_init();
1115:    }
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_init() noexcept
1115:       {
1115:  this->_M_next = this->_M_prev = this;
1115: 
1115:  this->_M_size = 0;
1115: 
1115:       }
1115: 
1115:     private:
1115:       _List_node_base* _M_base() { return this; }
1115:     };
1115: 
1115: 
1115:     struct _Scratch_list : _List_node_base
1115:     {
1115:       _Scratch_list() { _M_next = _M_prev = this; }
1115: 
1115:       bool empty() const { return _M_next == this; }
1115: 
1115:       void swap(_List_node_base& __l) { _List_node_base::swap(*this, __l); }
1115: 
1115:       template<typename _Iter, typename _Cmp>
1115:  struct _Ptr_cmp
1115:  {
1115:    _Cmp _M_cmp;
1115: 
1115:    bool
1115:    operator()(__detail::_List_node_base* __lhs,
1115:        __detail::_List_node_base* __rhs)
1115:    { return _M_cmp(*_Iter(__lhs), *_Iter(__rhs)); }
1115:  };
1115: 
1115:       template<typename _Iter>
1115:  struct _Ptr_cmp<_Iter, void>
1115:  {
1115:    bool
1115:    operator()(__detail::_List_node_base* __lhs,
1115:        __detail::_List_node_base* __rhs) const
1115:    { return *_Iter(__lhs) < *_Iter(__rhs); }
1115:  };
1115: 
1115: 
1115:       template<typename _Cmp>
1115:  void
1115:  merge(_List_node_base& __x, _Cmp __comp)
1115:  {
1115:    _List_node_base* __first1 = _M_next;
1115:    _List_node_base* const __last1 = this;
1115:    _List_node_base* __first2 = __x._M_next;
1115:    _List_node_base* const __last2 = std::__addressof(__x);
1115: 
1115:    while (__first1 != __last1 && __first2 != __last2)
1115:      {
1115:        if (__comp(__first2, __first1))
1115:   {
1115:     _List_node_base* __next = __first2->_M_next;
1115:     __first1->_M_transfer(__first2, __next);
1115:     __first2 = __next;
1115:   }
1115:        else
1115:   __first1 = __first1->_M_next;
1115:      }
1115:    if (__first2 != __last2)
1115:      this->_M_transfer(__first2, __last2);
1115:  }
1115: 
1115: 
1115:       void _M_take_one(_List_node_base* __i)
1115:       { this->_M_transfer(__i, __i->_M_next); }
1115: 
1115: 
1115:       void _M_put_all(_List_node_base* __i)
1115:       {
1115:  if (!empty())
1115:    __i->_M_transfer(_M_next, this);
1115:       }
1115:     };
1115: 
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _List_node : public __detail::_List_node_base
1115:     {
1115: 
1115:       __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
1115:       _Tp* _M_valptr() { return _M_storage._M_ptr(); }
1115:       _Tp const* _M_valptr() const { return _M_storage._M_ptr(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _List_iterator
1115:     {
1115:       typedef _List_iterator<_Tp> _Self;
1115:       typedef _List_node<_Tp> _Node;
1115: 
1115:       typedef ptrdiff_t difference_type;
1115:       typedef std::bidirectional_iterator_tag iterator_category;
1115:       typedef _Tp value_type;
1115:       typedef _Tp* pointer;
1115:       typedef _Tp& reference;
1115: 
1115:       _List_iterator() noexcept
1115:       : _M_node() { }
1115: 
1115:       explicit
1115:       _List_iterator(__detail::_List_node_base* __x) noexcept
1115:       : _M_node(__x) { }
1115: 
1115:       _Self
1115:       _M_const_cast() const noexcept
1115:       { return *this; }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       operator*() const noexcept
1115:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1115: 
1115:       [[__nodiscard__]]
1115:       pointer
1115:       operator->() const noexcept
1115:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1115: 
1115:       _Self&
1115:       operator++() noexcept
1115:       {
1115:  _M_node = _M_node->_M_next;
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator++(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _M_node->_M_next;
1115:  return __tmp;
1115:       }
1115: 
1115:       _Self&
1115:       operator--() noexcept
1115:       {
1115:  _M_node = _M_node->_M_prev;
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator--(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _M_node->_M_prev;
1115:  return __tmp;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator==(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node == __y._M_node; }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator!=(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node != __y._M_node; }
1115: 
1115: 
1115: 
1115:       __detail::_List_node_base* _M_node;
1115:     };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     struct _List_const_iterator
1115:     {
1115:       typedef _List_const_iterator<_Tp> _Self;
1115:       typedef const _List_node<_Tp> _Node;
1115:       typedef _List_iterator<_Tp> iterator;
1115: 
1115:       typedef ptrdiff_t difference_type;
1115:       typedef std::bidirectional_iterator_tag iterator_category;
1115:       typedef _Tp value_type;
1115:       typedef const _Tp* pointer;
1115:       typedef const _Tp& reference;
1115: 
1115:       _List_const_iterator() noexcept
1115:       : _M_node() { }
1115: 
1115:       explicit
1115:       _List_const_iterator(const __detail::_List_node_base* __x)
1115:       noexcept
1115:       : _M_node(__x) { }
1115: 
1115:       _List_const_iterator(const iterator& __x) noexcept
1115:       : _M_node(__x._M_node) { }
1115: 
1115:       iterator
1115:       _M_const_cast() const noexcept
1115:       { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       operator*() const noexcept
1115:       { return *static_cast<_Node*>(_M_node)->_M_valptr(); }
1115: 
1115:       [[__nodiscard__]]
1115:       pointer
1115:       operator->() const noexcept
1115:       { return static_cast<_Node*>(_M_node)->_M_valptr(); }
1115: 
1115:       _Self&
1115:       operator++() noexcept
1115:       {
1115:  _M_node = _M_node->_M_next;
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator++(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _M_node->_M_next;
1115:  return __tmp;
1115:       }
1115: 
1115:       _Self&
1115:       operator--() noexcept
1115:       {
1115:  _M_node = _M_node->_M_prev;
1115:  return *this;
1115:       }
1115: 
1115:       _Self
1115:       operator--(int) noexcept
1115:       {
1115:  _Self __tmp = *this;
1115:  _M_node = _M_node->_M_prev;
1115:  return __tmp;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator==(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node == __y._M_node; }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator!=(const _Self& __x, const _Self& __y) noexcept
1115:       { return __x._M_node != __y._M_node; }
1115: 
1115: 
1115: 
1115:       const __detail::_List_node_base* _M_node;
1115:     };
1115: 
1115: namespace __cxx11 {
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     class _List_base
1115:     {
1115:     protected:
1115:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
1115:  rebind<_Tp>::other _Tp_alloc_type;
1115:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits;
1115:       typedef typename _Tp_alloc_traits::template
1115:  rebind<_List_node<_Tp> >::other _Node_alloc_type;
1115:       typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits;
1115: 
1115: 
1115:       static size_t
1115:       _S_distance(const __detail::_List_node_base* __first,
1115:     const __detail::_List_node_base* __last)
1115:       {
1115:  size_t __n = 0;
1115:  while (__first != __last)
1115:    {
1115:      __first = __first->_M_next;
1115:      ++__n;
1115:    }
1115:  return __n;
1115:       }
1115: 
1115: 
1115:       struct _List_impl
1115:       : public _Node_alloc_type
1115:       {
1115:  __detail::_List_node_header _M_node;
1115: 
1115:  _List_impl() noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value)
1115: 
1115:  : _Node_alloc_type()
1115:  { }
1115: 
1115:  _List_impl(const _Node_alloc_type& __a) noexcept
1115:  : _Node_alloc_type(__a)
1115:  { }
1115: 
1115: 
1115:  _List_impl(_List_impl&&) = default;
1115: 
1115:  _List_impl(_Node_alloc_type&& __a, _List_impl&& __x)
1115:  : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node))
1115:  { }
1115: 
1115:  _List_impl(_Node_alloc_type&& __a) noexcept
1115:  : _Node_alloc_type(std::move(__a))
1115:  { }
1115: 
1115:       };
1115: 
1115:       _List_impl _M_impl;
1115: 
1115: 
1115:       size_t _M_get_size() const { return _M_impl._M_node._M_size; }
1115: 
1115:       void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; }
1115: 
1115:       void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; }
1115: 
1115:       void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; }
1115: 
1115: 
1115:       size_t
1115:       _M_distance(const __detail::_List_node_base* __first,
1115:     const __detail::_List_node_base* __last) const
1115:       { return _S_distance(__first, __last); }
1115: 
1115: 
1115:       size_t _M_node_count() const { return _M_get_size(); }
1115: # 516 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       typename _Node_alloc_traits::pointer
1115:       _M_get_node()
1115:       { return _Node_alloc_traits::allocate(_M_impl, 1); }
1115: 
1115:       void
1115:       _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept
1115:       { _Node_alloc_traits::deallocate(_M_impl, __p, 1); }
1115: 
1115:   public:
1115:       typedef _Alloc allocator_type;
1115: 
1115:       _Node_alloc_type&
1115:       _M_get_Node_allocator() noexcept
1115:       { return _M_impl; }
1115: 
1115:       const _Node_alloc_type&
1115:       _M_get_Node_allocator() const noexcept
1115:       { return _M_impl; }
1115: 
1115: 
1115:       _List_base() = default;
1115: 
1115: 
1115: 
1115: 
1115:       _List_base(const _Node_alloc_type& __a) noexcept
1115:       : _M_impl(__a)
1115:       { }
1115: 
1115: 
1115:       _List_base(_List_base&&) = default;
1115: 
1115: 
1115:       _List_base(_List_base&& __x, _Node_alloc_type&& __a)
1115:       : _M_impl(std::move(__a))
1115:       {
1115:  if (__x._M_get_Node_allocator() == _M_get_Node_allocator())
1115:    _M_move_nodes(std::move(__x));
1115: 
1115:       }
1115: 
1115: 
1115: 
1115:       _List_base(_Node_alloc_type&& __a, _List_base&& __x)
1115:       : _M_impl(std::move(__a), std::move(__x._M_impl))
1115:       { }
1115: 
1115: 
1115:       _List_base(_Node_alloc_type&& __a)
1115:       : _M_impl(std::move(__a))
1115:       { }
1115: 
1115:       void
1115:       _M_move_nodes(_List_base&& __x)
1115:       { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); }
1115: 
1115: 
1115: 
1115:       ~_List_base() noexcept
1115:       { _M_clear(); }
1115: 
1115:       void
1115:       _M_clear() noexcept;
1115: 
1115:       void
1115:       _M_init() noexcept
1115:       { this->_M_impl._M_node._M_init(); }
1115:     };
1115: # 631 "/usr/include/c++/12/bits/stl_list.h" 3
1115:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
1115:     class list : protected _List_base<_Tp, _Alloc>
1115:     {
1115: # 644 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
1115:    "std::list must have a non-const, non-volatile value_type");
1115: 
1115:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
1115:    "std::list must have the same value_type as its allocator");
1115: 
1115: 
1115: 
1115:       typedef _List_base<_Tp, _Alloc> _Base;
1115:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
1115:       typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits;
1115:       typedef typename _Base::_Node_alloc_type _Node_alloc_type;
1115:       typedef typename _Base::_Node_alloc_traits _Node_alloc_traits;
1115: 
1115:     public:
1115:       typedef _Tp value_type;
1115:       typedef typename _Tp_alloc_traits::pointer pointer;
1115:       typedef typename _Tp_alloc_traits::const_pointer const_pointer;
1115:       typedef typename _Tp_alloc_traits::reference reference;
1115:       typedef typename _Tp_alloc_traits::const_reference const_reference;
1115:       typedef _List_iterator<_Tp> iterator;
1115:       typedef _List_const_iterator<_Tp> const_iterator;
1115:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
1115:       typedef std::reverse_iterator<iterator> reverse_iterator;
1115:       typedef size_t size_type;
1115:       typedef ptrdiff_t difference_type;
1115:       typedef _Alloc allocator_type;
1115: 
1115:     protected:
1115: 
1115: 
1115:       typedef _List_node<_Tp> _Node;
1115: 
1115:       using _Base::_M_impl;
1115:       using _Base::_M_put_node;
1115:       using _Base::_M_get_node;
1115:       using _Base::_M_get_Node_allocator;
1115: # 706 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename... _Args>
1115:  _Node*
1115:  _M_create_node(_Args&&... __args)
1115:  {
1115:    auto __p = this->_M_get_node();
1115:    auto& __alloc = _M_get_Node_allocator();
1115:    __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p};
1115:    _Node_alloc_traits::construct(__alloc, __p->_M_valptr(),
1115:      std::forward<_Args>(__args)...);
1115:    __guard = nullptr;
1115:    return __p;
1115:  }
1115: 
1115: 
1115: 
1115:       static size_t
1115:       _S_distance(const_iterator __first, const_iterator __last)
1115:       { return std::distance(__first, __last); }
1115: 
1115: 
1115:       size_t
1115:       _M_node_count() const
1115:       { return this->_M_get_size(); }
1115: # 741 "/usr/include/c++/12/bits/stl_list.h" 3
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       list() = default;
1115: # 758 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       explicit
1115:       list(const allocator_type& __a) noexcept
1115:       : _Base(_Node_alloc_type(__a)) { }
1115: # 771 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       explicit
1115:       list(size_type __n, const allocator_type& __a = allocator_type())
1115:       : _Base(_Node_alloc_type(__a))
1115:       { _M_default_initialize(__n); }
1115: # 784 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       list(size_type __n, const value_type& __value,
1115:     const allocator_type& __a = allocator_type())
1115:       : _Base(_Node_alloc_type(__a))
1115:       { _M_fill_initialize(__n, __value); }
1115: # 811 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       list(const list& __x)
1115:       : _Base(_Node_alloc_traits::
1115:        _S_select_on_copy(__x._M_get_Node_allocator()))
1115:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1115: # 824 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       list(list&&) = default;
1115: # 834 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       list(initializer_list<value_type> __l,
1115:     const allocator_type& __a = allocator_type())
1115:       : _Base(_Node_alloc_type(__a))
1115:       { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); }
1115: 
1115:       list(const list& __x, const __type_identity_t<allocator_type>& __a)
1115:       : _Base(_Node_alloc_type(__a))
1115:       { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
1115: 
1115:     private:
1115:       list(list&& __x, const allocator_type& __a, true_type) noexcept
1115:       : _Base(_Node_alloc_type(__a), std::move(__x))
1115:       { }
1115: 
1115:       list(list&& __x, const allocator_type& __a, false_type)
1115:       : _Base(_Node_alloc_type(__a))
1115:       {
1115:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1115:    this->_M_move_nodes(std::move(__x));
1115:  else
1115:    insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()),
1115:      std::__make_move_if_noexcept_iterator(__x.end()));
1115:       }
1115: 
1115:     public:
1115:       list(list&& __x, const __type_identity_t<allocator_type>& __a)
1115:       noexcept(_Node_alloc_traits::_S_always_equal())
1115:       : list(std::move(__x), __a,
1115:       typename _Node_alloc_traits::is_always_equal{})
1115:       { }
1115: # 877 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  list(_InputIterator __first, _InputIterator __last,
1115:       const allocator_type& __a = allocator_type())
1115:  : _Base(_Node_alloc_type(__a))
1115:  { _M_initialize_dispatch(__first, __last, __false_type()); }
1115: # 903 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       ~list() = default;
1115: # 914 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       list&
1115:       operator=(const list& __x);
1115: # 928 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       list&
1115:       operator=(list&& __x)
1115:       noexcept(_Node_alloc_traits::_S_nothrow_move())
1115:       {
1115:  constexpr bool __move_storage =
1115:    _Node_alloc_traits::_S_propagate_on_move_assign()
1115:    || _Node_alloc_traits::_S_always_equal();
1115:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
1115:  return *this;
1115:       }
1115: # 946 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       list&
1115:       operator=(initializer_list<value_type> __l)
1115:       {
1115:  this->assign(__l.begin(), __l.end());
1115:  return *this;
1115:       }
1115: # 964 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       assign(size_type __n, const value_type& __val)
1115:       { _M_fill_assign(__n, __val); }
1115: # 981 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  void
1115:  assign(_InputIterator __first, _InputIterator __last)
1115:  { _M_assign_dispatch(__first, __last, __false_type()); }
1115: # 1005 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       assign(initializer_list<value_type> __l)
1115:       { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); }
1115: 
1115: 
1115: 
1115:       allocator_type
1115:       get_allocator() const noexcept
1115:       { return allocator_type(_Base::_M_get_Node_allocator()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       begin() noexcept
1115:       { return iterator(this->_M_impl._M_node._M_next); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       begin() const noexcept
1115:       { return const_iterator(this->_M_impl._M_node._M_next); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       iterator
1115:       end() noexcept
1115:       { return iterator(&this->_M_impl._M_node); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       end() const noexcept
1115:       { return const_iterator(&this->_M_impl._M_node); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reverse_iterator
1115:       rbegin() noexcept
1115:       { return reverse_iterator(end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reverse_iterator
1115:       rend() noexcept
1115:       { return reverse_iterator(begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       rend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cbegin() const noexcept
1115:       { return const_iterator(this->_M_impl._M_node._M_next); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_iterator
1115:       cend() const noexcept
1115:       { return const_iterator(&this->_M_impl._M_node); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crbegin() const noexcept
1115:       { return const_reverse_iterator(end()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reverse_iterator
1115:       crend() const noexcept
1115:       { return const_reverse_iterator(begin()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]] bool
1115:       empty() const noexcept
1115:       { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       size() const noexcept
1115:       { return _M_node_count(); }
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       size_type
1115:       max_size() const noexcept
1115:       { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); }
1115: # 1168 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       resize(size_type __new_size);
1115: # 1181 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       resize(size_type __new_size, const value_type& __x);
1115: # 1203 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       [[__nodiscard__]]
1115:       reference
1115:       front() noexcept
1115:       { return *begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       front() const noexcept
1115:       { return *begin(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       reference
1115:       back() noexcept
1115:       {
1115:  iterator __tmp = end();
1115:  --__tmp;
1115:  return *__tmp;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const_reference
1115:       back() const noexcept
1115:       {
1115:  const_iterator __tmp = end();
1115:  --__tmp;
1115:  return *__tmp;
1115:       }
1115: # 1254 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       push_front(const value_type& __x)
1115:       { this->_M_insert(begin(), __x); }
1115: 
1115: 
1115:       void
1115:       push_front(value_type&& __x)
1115:       { this->_M_insert(begin(), std::move(__x)); }
1115: 
1115:       template<typename... _Args>
1115: 
1115:  reference
1115: 
1115: 
1115: 
1115:  emplace_front(_Args&&... __args)
1115:  {
1115:    this->_M_insert(begin(), std::forward<_Args>(__args)...);
1115: 
1115:    return front();
1115: 
1115:  }
1115: # 1290 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       pop_front() noexcept
1115:       { this->_M_erase(begin()); }
1115: # 1304 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       push_back(const value_type& __x)
1115:       { this->_M_insert(end(), __x); }
1115: 
1115: 
1115:       void
1115:       push_back(value_type&& __x)
1115:       { this->_M_insert(end(), std::move(__x)); }
1115: 
1115:       template<typename... _Args>
1115: 
1115:  reference
1115: 
1115: 
1115: 
1115:  emplace_back(_Args&&... __args)
1115:  {
1115:    this->_M_insert(end(), std::forward<_Args>(__args)...);
1115: 
1115:  return back();
1115: 
1115:  }
1115: # 1339 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       pop_back() noexcept
1115:       { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
1115: # 1356 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename... _Args>
1115:  iterator
1115:  emplace(const_iterator __position, _Args&&... __args);
1115: # 1371 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       iterator
1115:       insert(const_iterator __position, const value_type& __x);
1115: # 1401 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       iterator
1115:       insert(const_iterator __position, value_type&& __x)
1115:       { return emplace(__position, std::move(__x)); }
1115: # 1420 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       iterator
1115:       insert(const_iterator __p, initializer_list<value_type> __l)
1115:       { return this->insert(__p, __l.begin(), __l.end()); }
1115: # 1440 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       iterator
1115:       insert(const_iterator __position, size_type __n, const value_type& __x);
1115: # 1479 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename _InputIterator,
1115:         typename = std::_RequireInputIter<_InputIterator>>
1115:  iterator
1115:  insert(const_iterator __position, _InputIterator __first,
1115:         _InputIterator __last);
1115: # 1523 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       iterator
1115: 
1115:       erase(const_iterator __position) noexcept;
1115: # 1548 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       iterator
1115: 
1115:       erase(const_iterator __first, const_iterator __last) noexcept
1115: 
1115: 
1115: 
1115:       {
1115:  while (__first != __last)
1115:    __first = erase(__first);
1115:  return __last._M_const_cast();
1115:       }
1115: # 1571 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       swap(list& __x) noexcept
1115:       {
1115:  __detail::_List_node_base::swap(this->_M_impl._M_node,
1115:      __x._M_impl._M_node);
1115: 
1115:  size_t __xsize = __x._M_get_size();
1115:  __x._M_set_size(this->_M_get_size());
1115:  this->_M_set_size(__xsize);
1115: 
1115:  _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(),
1115:            __x._M_get_Node_allocator());
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       clear() noexcept
1115:       {
1115:  _Base::_M_clear();
1115:  _Base::_M_init();
1115:       }
1115: # 1610 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115: 
1115:       splice(const_iterator __position, list&& __x) noexcept
1115: 
1115: 
1115: 
1115:       {
1115:  if (!__x.empty())
1115:    {
1115:      _M_check_equal_allocators(__x);
1115: 
1115:      this->_M_transfer(__position._M_const_cast(),
1115:          __x.begin(), __x.end());
1115: 
1115:      this->_M_inc_size(__x._M_get_size());
1115:      __x._M_set_size(0);
1115:    }
1115:       }
1115: 
1115: 
1115:       void
1115:       splice(const_iterator __position, list& __x) noexcept
1115:       { splice(__position, std::move(__x)); }
1115: # 1646 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       splice(const_iterator __position, list&& __x, const_iterator __i) noexcept
1115: # 1661 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       {
1115:  iterator __j = __i._M_const_cast();
1115:  ++__j;
1115:  if (__position == __i || __position == __j)
1115:    return;
1115: 
1115:  if (this != std::__addressof(__x))
1115:    _M_check_equal_allocators(__x);
1115: 
1115:  this->_M_transfer(__position._M_const_cast(),
1115:      __i._M_const_cast(), __j);
1115: 
1115:  this->_M_inc_size(1);
1115:  __x._M_dec_size(1);
1115:       }
1115: # 1688 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       splice(const_iterator __position, list& __x, const_iterator __i) noexcept
1115:       { splice(__position, std::move(__x), __i); }
1115: # 1707 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       splice(const_iterator __position, list&& __x, const_iterator __first,
1115:       const_iterator __last) noexcept
1115: # 1727 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       {
1115:  if (__first != __last)
1115:    {
1115:      if (this != std::__addressof(__x))
1115:        _M_check_equal_allocators(__x);
1115: 
1115:      size_t __n = _S_distance(__first, __last);
1115:      this->_M_inc_size(__n);
1115:      __x._M_dec_size(__n);
1115: 
1115:      this->_M_transfer(__position._M_const_cast(),
1115:          __first._M_const_cast(),
1115:          __last._M_const_cast());
1115:    }
1115:       }
1115: # 1757 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       splice(const_iterator __position, list& __x, const_iterator __first,
1115:       const_iterator __last) noexcept
1115:       { splice(__position, std::move(__x), __first, __last); }
1115: 
1115: 
1115:     private:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef void __remove_return_type;
1115: 
1115: 
1115:     public:
1115: # 1786 "/usr/include/c++/12/bits/stl_list.h" 3
1115:      
1115:       __remove_return_type
1115:       remove(const _Tp& __value);
1115: # 1801 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename _Predicate>
1115:  __remove_return_type
1115:  remove_if(_Predicate);
1115: # 1815 "/usr/include/c++/12/bits/stl_list.h" 3
1115:      
1115:       __remove_return_type
1115:       unique();
1115: # 1831 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename _BinaryPredicate>
1115:  __remove_return_type
1115:  unique(_BinaryPredicate);
1115: # 1847 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       merge(list&& __x);
1115: 
1115:       void
1115:       merge(list& __x)
1115:       { merge(std::move(__x)); }
1115: # 1872 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename _StrictWeakOrdering>
1115:  void
1115:  merge(list&& __x, _StrictWeakOrdering __comp);
1115: 
1115:       template<typename _StrictWeakOrdering>
1115:  void
1115:  merge(list& __x, _StrictWeakOrdering __comp)
1115:  { merge(std::move(__x), __comp); }
1115: # 1891 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       void
1115:       reverse() noexcept
1115:       { this->_M_impl._M_node._M_reverse(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       sort();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _StrictWeakOrdering>
1115:  void
1115:  sort(_StrictWeakOrdering);
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       template<typename _Integer>
1115:  void
1115:  _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
1115:  { _M_fill_initialize(static_cast<size_type>(__n), __x); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115:  void
1115:  _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
1115:           __false_type)
1115:  {
1115:    for (; __first != __last; ++__first)
1115: 
1115:      emplace_back(*__first);
1115: 
1115: 
1115: 
1115:  }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_fill_initialize(size_type __n, const value_type& __x)
1115:       {
1115:  for (; __n; --__n)
1115:    push_back(__x);
1115:       }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_default_initialize(size_type __n)
1115:       {
1115:  for (; __n; --__n)
1115:    emplace_back();
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_default_append(size_type __n);
1115: # 1969 "/usr/include/c++/12/bits/stl_list.h" 3
1115:       template<typename _Integer>
1115:  void
1115:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
1115:  { _M_fill_assign(__n, __val); }
1115: 
1115: 
1115:       template<typename _InputIterator>
1115:  void
1115:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
1115:       __false_type);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_fill_assign(size_type __n, const value_type& __val);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_transfer(iterator __position, iterator __first, iterator __last)
1115:       { __position._M_node->_M_transfer(__first._M_node, __last._M_node); }
1115: # 2001 "/usr/include/c++/12/bits/stl_list.h" 3
1115:      template<typename... _Args>
1115:        void
1115:        _M_insert(iterator __position, _Args&&... __args)
1115:        {
1115:   _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1115:   __tmp->_M_hook(__position._M_node);
1115:   this->_M_inc_size(1);
1115:        }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_erase(iterator __position) noexcept
1115:       {
1115:  this->_M_dec_size(1);
1115:  __position._M_node->_M_unhook();
1115:  _Node* __n = static_cast<_Node*>(__position._M_node);
1115: 
1115:  _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr());
1115: 
1115: 
1115: 
1115: 
1115:  _M_put_node(__n);
1115:       }
1115: 
1115: 
1115:       void
1115:       _M_check_equal_allocators(list& __x) noexcept
1115:       {
1115:  if (std::__alloc_neq<typename _Base::_Node_alloc_type>::
1115:      _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()))
1115:    __builtin_abort();
1115:       }
1115: 
1115: 
1115:       const_iterator
1115:       _M_resize_pos(size_type& __new_size) const;
1115: 
1115: 
1115:       void
1115:       _M_move_assign(list&& __x, true_type) noexcept
1115:       {
1115:  this->clear();
1115:  this->_M_move_nodes(std::move(__x));
1115:  std::__alloc_on_move(this->_M_get_Node_allocator(),
1115:         __x._M_get_Node_allocator());
1115:       }
1115: 
1115:       void
1115:       _M_move_assign(list&& __x, false_type)
1115:       {
1115:  if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator())
1115:    _M_move_assign(std::move(__x), true_type{});
1115:  else
1115: 
1115: 
1115:    _M_assign_dispatch(std::make_move_iterator(__x.begin()),
1115:         std::make_move_iterator(__x.end()),
1115:         __false_type{});
1115:       }
1115: 
1115: 
1115: 
1115: 
1115:       struct _Finalize_merge
1115:       {
1115:  explicit
1115:  _Finalize_merge(list& __dest, list& __src, const iterator& __src_next)
1115:  : _M_dest(__dest), _M_src(__src), _M_next(__src_next)
1115:  { }
1115: 
1115:  ~_Finalize_merge()
1115:  {
1115: 
1115: 
1115: 
1115:    const size_t __num_unmerged = std::distance(_M_next, _M_src.end());
1115:    const size_t __orig_size = _M_src._M_get_size();
1115:    _M_dest._M_inc_size(__orig_size - __num_unmerged);
1115:    _M_src._M_set_size(__num_unmerged);
1115:  }
1115: 
1115:  list& _M_dest;
1115:  list& _M_src;
1115:  const iterator& _M_next;
1115: 
1115: 
1115:  _Finalize_merge(const _Finalize_merge&) = delete;
1115: 
1115:       };
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     };
1115: 
1115: 
1115:   template<typename _InputIterator, typename _ValT
1115:       = typename iterator_traits<_InputIterator>::value_type,
1115:     typename _Allocator = allocator<_ValT>,
1115:     typename = _RequireInputIter<_InputIterator>,
1115:     typename = _RequireAllocator<_Allocator>>
1115:     list(_InputIterator, _InputIterator, _Allocator = _Allocator())
1115:       -> list<_ValT, _Allocator>;
1115: 
1115: 
1115: }
1115: # 2121 "/usr/include/c++/12/bits/stl_list.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1115:     {
1115: 
1115:       if (__x.size() != __y.size())
1115:  return false;
1115: 
1115: 
1115:       typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
1115:       const_iterator __end1 = __x.end();
1115:       const_iterator __end2 = __y.end();
1115: 
1115:       const_iterator __i1 = __x.begin();
1115:       const_iterator __i2 = __y.begin();
1115:       while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
1115:  {
1115:    ++__i1;
1115:    ++__i2;
1115:  }
1115:       return __i1 == __end1 && __i2 == __end2;
1115:     }
1115: # 2178 "/usr/include/c++/12/bits/stl_list.h" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1115:     { return std::lexicographical_compare(__x.begin(), __x.end(),
1115:        __y.begin(), __y.end()); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1115:     { return !(__x == __y); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1115:     { return __y < __x; }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1115:     { return !(__y < __x); }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     [[__nodiscard__]]
1115:     inline bool
1115:     operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
1115:     { return !(__x < __y); }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     inline void
1115:     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp>
1115:     inline ptrdiff_t
1115:     __distance(std::_List_iterator<_Tp> __first,
1115:         std::_List_iterator<_Tp> __last,
1115:         input_iterator_tag __tag)
1115:     {
1115:       typedef std::_List_const_iterator<_Tp> _CIter;
1115:       return std::__distance(_CIter(__first), _CIter(__last), __tag);
1115:     }
1115: 
1115:   template<typename _Tp>
1115:     inline ptrdiff_t
1115:     __distance(std::_List_const_iterator<_Tp> __first,
1115:         std::_List_const_iterator<_Tp> __last,
1115:         input_iterator_tag)
1115:     {
1115:       typedef __detail::_List_node_header _Sentinel;
1115:       std::_List_const_iterator<_Tp> __beyond = __last;
1115:       ++__beyond;
1115:       const bool __whole = __first == __beyond;
1115:       if (__builtin_constant_p (__whole) && __whole)
1115:  return static_cast<const _Sentinel*>(__last._M_node)->_M_size;
1115: 
1115:       ptrdiff_t __n = 0;
1115:       while (__first != __last)
1115:  {
1115:    ++__first;
1115:    ++__n;
1115:  }
1115:       return __n;
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: # 64 "/usr/include/c++/12/list" 2 3
1115: # 1 "/usr/include/c++/12/bits/list.tcc" 1 3
1115: # 59 "/usr/include/c++/12/bits/list.tcc" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     _List_base<_Tp, _Alloc>::
1115:     _M_clear() noexcept
1115:     {
1115:       typedef _List_node<_Tp> _Node;
1115:       __detail::_List_node_base* __cur = _M_impl._M_node._M_next;
1115:       while (__cur != &_M_impl._M_node)
1115:  {
1115:    _Node* __tmp = static_cast<_Node*>(__cur);
1115:    __cur = __tmp->_M_next;
1115:    _Tp* __val = __tmp->_M_valptr();
1115: 
1115:    _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val);
1115: 
1115: 
1115: 
1115:    _M_put_node(__tmp);
1115:  }
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename... _Args>
1115:       typename list<_Tp, _Alloc>::iterator
1115:       list<_Tp, _Alloc>::
1115:       emplace(const_iterator __position, _Args&&... __args)
1115:       {
1115:  _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...);
1115:  __tmp->_M_hook(__position._M_const_cast()._M_node);
1115:  this->_M_inc_size(1);
1115:  return iterator(__tmp);
1115:       }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     typename list<_Tp, _Alloc>::iterator
1115:     list<_Tp, _Alloc>::
1115: 
1115:     insert(const_iterator __position, const value_type& __x)
1115: 
1115: 
1115: 
1115:     {
1115:       _Node* __tmp = _M_create_node(__x);
1115:       __tmp->_M_hook(__position._M_const_cast()._M_node);
1115:       this->_M_inc_size(1);
1115:       return iterator(__tmp);
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     typename list<_Tp, _Alloc>::iterator
1115:     list<_Tp, _Alloc>::
1115:     insert(const_iterator __position, size_type __n, const value_type& __x)
1115:     {
1115:       if (__n)
1115:  {
1115:    list __tmp(__n, __x, get_allocator());
1115:    iterator __it = __tmp.begin();
1115:    splice(__position, __tmp);
1115:    return __it;
1115:  }
1115:       return __position._M_const_cast();
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template<typename _InputIterator, typename>
1115:       typename list<_Tp, _Alloc>::iterator
1115:       list<_Tp, _Alloc>::
1115:       insert(const_iterator __position, _InputIterator __first,
1115:       _InputIterator __last)
1115:       {
1115:  list __tmp(__first, __last, get_allocator());
1115:  if (!__tmp.empty())
1115:    {
1115:      iterator __it = __tmp.begin();
1115:      splice(__position, __tmp);
1115:      return __it;
1115:    }
1115:  return __position._M_const_cast();
1115:       }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     typename list<_Tp, _Alloc>::iterator
1115:     list<_Tp, _Alloc>::
1115: 
1115:     erase(const_iterator __position) noexcept
1115: 
1115: 
1115: 
1115:     {
1115:       iterator __ret = iterator(__position._M_node->_M_next);
1115:       _M_erase(__position._M_const_cast());
1115:       return __ret;
1115:     }
1115: # 173 "/usr/include/c++/12/bits/list.tcc" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     typename list<_Tp, _Alloc>::const_iterator
1115:     list<_Tp, _Alloc>::
1115:     _M_resize_pos(size_type& __new_size) const
1115:     {
1115:       const_iterator __i;
1115: 
1115:       const size_type __len = size();
1115:       if (__new_size < __len)
1115:  {
1115:    if (__new_size <= __len / 2)
1115:      {
1115:        __i = begin();
1115:        std::advance(__i, __new_size);
1115:      }
1115:    else
1115:      {
1115:        __i = end();
1115:        ptrdiff_t __num_erase = __len - __new_size;
1115:        std::advance(__i, -__num_erase);
1115:      }
1115:    __new_size = 0;
1115:    return __i;
1115:  }
1115:       else
1115:  __i = end();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       __new_size -= __len;
1115:       return __i;
1115:     }
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     list<_Tp, _Alloc>::
1115:     _M_default_append(size_type __n)
1115:     {
1115:       size_type __i = 0;
1115:       try
1115:  {
1115:    for (; __i < __n; ++__i)
1115:      emplace_back();
1115:  }
1115:       catch(...)
1115:  {
1115:    for (; __i; --__i)
1115:      pop_back();
1115:    throw;
1115:  }
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     list<_Tp, _Alloc>::
1115:     resize(size_type __new_size)
1115:     {
1115:       const_iterator __i = _M_resize_pos(__new_size);
1115:       if (__new_size)
1115:  _M_default_append(__new_size);
1115:       else
1115:         erase(__i, end());
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     list<_Tp, _Alloc>::
1115:     resize(size_type __new_size, const value_type& __x)
1115:     {
1115:       const_iterator __i = _M_resize_pos(__new_size);
1115:       if (__new_size)
1115:         insert(end(), __new_size, __x);
1115:       else
1115:         erase(__i, end());
1115:     }
1115: # 265 "/usr/include/c++/12/bits/list.tcc" 3
1115:   template<typename _Tp, typename _Alloc>
1115:     list<_Tp, _Alloc>&
1115:     list<_Tp, _Alloc>::
1115:     operator=(const list& __x)
1115:     {
1115:       if (this != std::__addressof(__x))
1115:  {
1115: 
1115:    if (_Node_alloc_traits::_S_propagate_on_copy_assign())
1115:      {
1115:               auto& __this_alloc = this->_M_get_Node_allocator();
1115:               auto& __that_alloc = __x._M_get_Node_allocator();
1115:               if (!_Node_alloc_traits::_S_always_equal()
1115:            && __this_alloc != __that_alloc)
1115:          {
1115: 
1115:     clear();
1115:   }
1115:        std::__alloc_on_copy(__this_alloc, __that_alloc);
1115:             }
1115: 
1115:    _M_assign_dispatch(__x.begin(), __x.end(), __false_type());
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     list<_Tp, _Alloc>::
1115:     _M_fill_assign(size_type __n, const value_type& __val)
1115:     {
1115:       iterator __i = begin();
1115:       for (; __i != end() && __n > 0; ++__i, --__n)
1115:         *__i = __val;
1115:       if (__n > 0)
1115:         insert(end(), __n, __val);
1115:       else
1115:         erase(__i, end());
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template <typename _InputIterator>
1115:       void
1115:       list<_Tp, _Alloc>::
1115:       _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2,
1115:     __false_type)
1115:       {
1115:         iterator __first1 = begin();
1115:         iterator __last1 = end();
1115:         for (; __first1 != __last1 && __first2 != __last2;
1115:       ++__first1, (void)++__first2)
1115:           *__first1 = *__first2;
1115:         if (__first2 == __last2)
1115:           erase(__first1, __last1);
1115:         else
1115:           insert(__last1, __first2, __last2);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     typename list<_Tp, _Alloc>::__remove_return_type
1115:     list<_Tp, _Alloc>::
1115:     remove(const value_type& __value)
1115:     {
1115: 
1115: 
1115: 
1115:       list __to_destroy(get_allocator());
1115:       iterator __first = begin();
1115:       iterator __last = end();
1115:       while (__first != __last)
1115:  {
1115:    iterator __next = __first;
1115:    ++__next;
1115:    if (*__first == __value)
1115:      {
1115: 
1115: 
1115: 
1115:        __to_destroy.splice(__to_destroy.begin(), *this, __first);
1115: 
1115: 
1115: 
1115:      }
1115: 
1115:    __first = __next;
1115:  }
1115: 
1115: 
1115: 
1115: 
1115:  return ;
1115: 
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     typename list<_Tp, _Alloc>::__remove_return_type
1115:     list<_Tp, _Alloc>::
1115:     unique()
1115:     {
1115:       iterator __first = begin();
1115:       iterator __last = end();
1115:       if (__first == __last)
1115:  return ;
1115: 
1115: 
1115: 
1115:       list __to_destroy(get_allocator());
1115:       iterator __next = __first;
1115:       while (++__next != __last)
1115:  {
1115:    if (*__first == *__next)
1115:      {
1115:        __to_destroy.splice(__to_destroy.begin(), *this, __next);
1115: 
1115: 
1115: 
1115:      }
1115:    else
1115:      __first = __next;
1115:    __next = __first;
1115:  }
1115: 
1115: 
1115: 
1115: 
1115:       return ;
1115: 
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     list<_Tp, _Alloc>::
1115: 
1115:     merge(list&& __x)
1115: 
1115: 
1115: 
1115:     {
1115: 
1115: 
1115:       if (this != std::__addressof(__x))
1115:  {
1115:    _M_check_equal_allocators(__x);
1115: 
1115:    iterator __first1 = begin();
1115:    iterator __last1 = end();
1115:    iterator __first2 = __x.begin();
1115:    iterator __last2 = __x.end();
1115: 
1115:    const _Finalize_merge __fin(*this, __x, __first2);
1115: 
1115:    while (__first1 != __last1 && __first2 != __last2)
1115:      if (*__first2 < *__first1)
1115:        {
1115:   iterator __next = __first2;
1115:   _M_transfer(__first1, __first2, ++__next);
1115:   __first2 = __next;
1115:        }
1115:      else
1115:        ++__first1;
1115:    if (__first2 != __last2)
1115:      {
1115:        _M_transfer(__last1, __first2, __last2);
1115:        __first2 = __last2;
1115:      }
1115:  }
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template <typename _StrictWeakOrdering>
1115:       void
1115:       list<_Tp, _Alloc>::
1115: 
1115:       merge(list&& __x, _StrictWeakOrdering __comp)
1115: 
1115: 
1115: 
1115:       {
1115: 
1115: 
1115:  if (this != std::__addressof(__x))
1115:    {
1115:      _M_check_equal_allocators(__x);
1115: 
1115:      iterator __first1 = begin();
1115:      iterator __last1 = end();
1115:      iterator __first2 = __x.begin();
1115:      iterator __last2 = __x.end();
1115: 
1115:      const _Finalize_merge __fin(*this, __x, __first2);
1115: 
1115:      while (__first1 != __last1 && __first2 != __last2)
1115:        if (__comp(*__first2, *__first1))
1115:   {
1115:     iterator __next = __first2;
1115:     _M_transfer(__first1, __first2, ++__next);
1115:     __first2 = __next;
1115:   }
1115:        else
1115:   ++__first1;
1115:      if (__first2 != __last2)
1115:        {
1115:   _M_transfer(__last1, __first2, __last2);
1115:   __first2 = __last2;
1115:        }
1115:    }
1115:       }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     void
1115:     list<_Tp, _Alloc>::
1115:     sort()
1115:     {
1115: 
1115:       if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1115:    && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1115:       {
1115:  using __detail::_Scratch_list;
1115: # 497 "/usr/include/c++/12/bits/list.tcc" 3
1115:  _Scratch_list __carry;
1115:  _Scratch_list __tmp[64];
1115:  _Scratch_list* __fill = __tmp;
1115:  _Scratch_list* __counter;
1115: 
1115:  _Scratch_list::_Ptr_cmp<iterator, void> __ptr_comp;
1115: 
1115:  try
1115:    {
1115:      do
1115:        {
1115:   __carry._M_take_one(begin()._M_node);
1115: 
1115:   for(__counter = __tmp;
1115:       __counter != __fill && !__counter->empty();
1115:       ++__counter)
1115:     {
1115: 
1115:       __counter->merge(__carry, __ptr_comp);
1115:       __carry.swap(*__counter);
1115:     }
1115:   __carry.swap(*__counter);
1115:   if (__counter == __fill)
1115:     ++__fill;
1115:        }
1115:      while ( !empty() );
1115: 
1115:      for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1115:        __counter->merge(__counter[-1], __ptr_comp);
1115:      __fill[-1].swap(this->_M_impl._M_node);
1115:    }
1115:  catch(...)
1115:    {
1115: 
1115:      __carry._M_put_all(end()._M_node);
1115:      for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1115:        __tmp[__i]._M_put_all(end()._M_node);
1115:      throw;
1115:    }
1115:       }
1115:     }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template <typename _Predicate>
1115:       typename list<_Tp, _Alloc>::__remove_return_type
1115:       list<_Tp, _Alloc>::
1115:       remove_if(_Predicate __pred)
1115:       {
1115: 
1115: 
1115: 
1115:  list __to_destroy(get_allocator());
1115:  iterator __first = begin();
1115:  iterator __last = end();
1115:  while (__first != __last)
1115:    {
1115:      iterator __next = __first;
1115:      ++__next;
1115:      if (__pred(*__first))
1115:        {
1115:   __to_destroy.splice(__to_destroy.begin(), *this, __first);
1115: 
1115: 
1115: 
1115:        }
1115:      __first = __next;
1115:    }
1115: 
1115: 
1115: 
1115: 
1115:  return ;
1115: 
1115:       }
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template <typename _BinaryPredicate>
1115:       typename list<_Tp, _Alloc>::__remove_return_type
1115:       list<_Tp, _Alloc>::
1115:       unique(_BinaryPredicate __binary_pred)
1115:       {
1115:         iterator __first = begin();
1115:         iterator __last = end();
1115:         if (__first == __last)
1115:    return ;
1115: 
1115: 
1115: 
1115:  list __to_destroy(get_allocator());
1115:         iterator __next = __first;
1115:         while (++__next != __last)
1115:    {
1115:      if (__binary_pred(*__first, *__next))
1115:        {
1115:   __to_destroy.splice(__to_destroy.begin(), *this, __next);
1115: 
1115: 
1115: 
1115:        }
1115:      else
1115:        __first = __next;
1115:      __next = __first;
1115:    }
1115: 
1115: 
1115: 
1115: 
1115:  return ;
1115: 
1115:       }
1115: 
1115: 
1115: 
1115:   template<typename _Tp, typename _Alloc>
1115:     template <typename _StrictWeakOrdering>
1115:       void
1115:       list<_Tp, _Alloc>::
1115:       sort(_StrictWeakOrdering __comp)
1115:       {
1115: 
1115:  if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
1115:      && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
1115:  {
1115:    using __detail::_Scratch_list;
1115:    _Scratch_list __carry;
1115:    _Scratch_list __tmp[64];
1115:    _Scratch_list* __fill = __tmp;
1115:    _Scratch_list* __counter;
1115: 
1115:  _Scratch_list::_Ptr_cmp<iterator, _StrictWeakOrdering> __ptr_comp
1115:    = { __comp };
1115: 
1115:    try
1115:      {
1115:        do
1115:   {
1115:     __carry._M_take_one(begin()._M_node);
1115: 
1115:     for(__counter = __tmp;
1115:         __counter != __fill && !__counter->empty();
1115:         ++__counter)
1115:       {
1115: 
1115:         __counter->merge(__carry, __ptr_comp);
1115:         __carry.swap(*__counter);
1115:       }
1115:     __carry.swap(*__counter);
1115:     if (__counter == __fill)
1115:       ++__fill;
1115:   }
1115:        while ( !empty() );
1115: 
1115:        for (__counter = __tmp + 1; __counter != __fill; ++__counter)
1115:   __counter->merge(__counter[-1], __ptr_comp);
1115:        __fill[-1].swap(this->_M_impl._M_node);
1115:      }
1115:    catch(...)
1115:      {
1115: 
1115:        __carry._M_put_all(end()._M_node);
1115:        for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i)
1115:   __tmp[__i]._M_put_all(end()._M_node);
1115:        throw;
1115:      }
1115:  }
1115:       }
1115: 
1115: 
1115: 
1115: }
1115: # 65 "/usr/include/c++/12/list" 2 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115:   namespace pmr
1115:   {
1115:     template<typename _Tp> class polymorphic_allocator;
1115:     template<typename _Tp>
1115:       using list = std::list<_Tp, polymorphic_allocator<_Tp>>;
1115:   }
1115: 
1115: }
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1115: class CGUIDialog;
1115: class CGUIMediaWindow;
1115: 
1115: 
1115: 
1115: 
1115: enum class DialogModalityType;
1115: 
1115: 
1115: 
1115: 
1115: namespace KODI
1115: {
1115:   namespace MESSAGING
1115:   {
1115:     class CApplicationMessenger;
1115:   }
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CGUIWindowManager : public KODI::MESSAGING::IMessageTarget
1115: {
1115:   friend CGUIDialog;
1115:   friend CGUIMediaWindow;
1115: public:
1115:   CGUIWindowManager();
1115:   ~CGUIWindowManager() override;
1115:   bool SendMessage(CGUIMessage& message);
1115:   bool SendMessage(int message, int senderID, int destID, int param1 = 0, int param2 = 0);
1115:   bool SendMessage(CGUIMessage& message, int window);
1115:   void Initialize();
1115:   void Add(CGUIWindow* pWindow);
1115:   void AddUniqueInstance(CGUIWindow *window);
1115:   void AddCustomWindow(CGUIWindow* pWindow);
1115:   void Remove(int id);
1115:   void Delete(int id);
1115:   void ActivateWindow(int iWindowID, const std::string &strPath = "");
1115:   void ForceActivateWindow(int iWindowID, const std::string &strPath = "");
1115:   void ChangeActiveWindow(int iNewID, const std::string &strPath = "");
1115:   void ActivateWindow(int iWindowID, const std::vector<std::string>& params, bool swappingWindows = false, bool force = false);
1115:   void PreviousWindow();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SwitchToFullScreen(bool force = false);
1115: 
1115:   void CloseDialogs(bool forceClose = false) const;
1115:   void CloseInternalModalDialogs(bool forceClose = false) const;
1115: 
1115:   void OnApplicationMessage(KODI::MESSAGING::ThreadMessage* pMsg) override;
1115:   int GetMessageMask() override;
1115: 
1115: 
1115: 
1115: 
1115:   bool OnAction(const CAction &action) const;
1115: 
1115: 
1115: 
1115:   void Process(unsigned int currentTime);
1115: 
1115: 
1115: 
1115:   void MarkDirty();
1115: 
1115: 
1115: 
1115:   void MarkDirty(const CRect& rect);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Render();
1115: 
1115:   void RenderEx() const;
1115: 
1115: 
1115: 
1115:   void AfterRender();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void FrameMove();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Initialized() const { return m_initialized; }
1115: 
1115: 
1115: 
1115:   void CreateWindows();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool DestroyWindows();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void DestroyWindow(int id);
1115: # 150 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1115:   template<typename T,
1115:            typename std::enable_if<std::is_base_of<CGUIWindow, T>::value>::type* = nullptr>
1115:   T* GetWindow(int id) const
1115:   {
1115:     return dynamic_cast<T*>(GetWindow(id));
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CGUIWindow* GetWindow(int id) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CGUIDialog* GetDialog(int id) const;
1115: 
1115:   void SetCallback(IWindowManagerCallback& callback);
1115:   void DeInitialize();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void RegisterDialog(CGUIWindow* dialog);
1115:   void RemoveDialog(int id);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   int GetTopmostDialog(bool ignoreClosing = false) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   int GetTopmostModalDialog(bool ignoreClosing = false) const;
1115: 
1115:   void SendThreadMessage(CGUIMessage& message, int window = 0);
1115:   void DispatchThreadMessages();
1115: 
1115: 
1115:   int RemoveThreadMessageByMessageIds(int *pMessageIDList);
1115:   void AddMsgTarget( IMsgTargetCallback* pMsgTarget );
1115:   int GetActiveWindow() const;
1115:   int GetActiveWindowOrDialog() const;
1115:   bool HasModalDialog(bool ignoreClosing) const;
1115:   bool HasVisibleModalDialog() const;
1115:   bool IsDialogTopmost(int id, bool modal = false) const;
1115:   bool IsDialogTopmost(const std::string &xmlFile, bool modal = false) const;
1115:   bool IsModalDialogTopmost(int id) const;
1115:   bool IsModalDialogTopmost(const std::string &xmlFile) const;
1115:   bool IsWindowActive(int id, bool ignoreClosing = true) const;
1115:   bool IsWindowVisible(int id) const;
1115:   bool IsWindowActive(const std::string &xmlFile, bool ignoreClosing = true) const;
1115:   bool IsWindowVisible(const std::string &xmlFile) const;
1115: 
1115: 
1115: 
1115: 
1115:   bool IsAddonWindow(int id) const { return (id >= 14000 && id <= 14099); }
1115: 
1115: 
1115: 
1115: 
1115:   bool IsPythonWindow(int id) const
1115:   {
1115:     return (id >= 13000 && id <= 13099);
1115:   }
1115: 
1115:   bool HasVisibleControls();
1115: 
1115: 
1115: 
1115: 
1115: private:
1115:   void RenderPass() const;
1115: 
1115:   void LoadNotOnDemandWindows();
1115:   void UnloadNotOnDemandWindows();
1115:   void AddToWindowHistory(int newWindowID);
1115: # 246 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1115:   void RemoveFromWindowHistory(int windowID);
1115:   void ClearWindowHistory();
1115:   void CloseWindowSync(CGUIWindow *window, int nextWindowID = 0);
1115:   int GetTopmostDialog(bool modal, bool ignoreClosing) const;
1115: 
1115:   friend class KODI::MESSAGING::CApplicationMessenger;
1115: # 260 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/GUIWindowManager.h"
1115:   void ActivateWindow_Internal(int windowID, const std::vector<std::string> &params, bool swappingWindows, bool force = false);
1115: 
1115:   bool ProcessRenderLoop(bool renderOnly);
1115: 
1115:   bool HandleAction(const CAction &action) const;
1115: 
1115:   std::unordered_map<int, CGUIWindow*> m_mapWindows;
1115:   std::vector<CGUIWindow*> m_vecCustomWindows;
1115:   std::vector<CGUIWindow*> m_activeDialogs;
1115:   std::vector<CGUIWindow*> m_deleteWindows;
1115: 
1115:   std::deque<int> m_windowHistory;
1115: 
1115:   IWindowManagerCallback* m_pCallback;
1115:   std::list< std::pair<CGUIMessage*,int> > m_vecThreadMessages;
1115:   CCriticalSection m_critSection;
1115:   std::vector<IMsgTargetCallback*> m_vecMsgTargets;
1115: 
1115:   int m_iNested;
1115:   bool m_initialized;
1115:   mutable bool m_touchGestureActive{false};
1115:   mutable bool m_inhibitTouchGestureEvents{false};
1115: 
1115:   CDirtyRegionList m_dirtyregions;
1115:   CDirtyRegionTracker m_tracker;
1115: };
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/LocalizeStrings.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/LocalizeStrings.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/shared_mutex" 1 3
1115: # 32 "/usr/include/c++/12/shared_mutex" 3
1115:        
1115: # 33 "/usr/include/c++/12/shared_mutex" 3
1115: # 45 "/usr/include/c++/12/shared_mutex" 3
1115: 
1115: # 45 "/usr/include/c++/12/shared_mutex" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 58 "/usr/include/c++/12/shared_mutex" 3
1115:   class shared_mutex;
1115: 
1115: 
1115: 
1115:   class shared_timed_mutex;
1115: # 78 "/usr/include/c++/12/shared_mutex" 3
1115:   ; static inline int __glibcxx_rwlock_rdlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_rdlock (__rwlock); else return 0; }
1115:   ; static inline int __glibcxx_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_tryrdlock (__rwlock); else return 0; }
1115:   ; static inline int __glibcxx_rwlock_wrlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_wrlock (__rwlock); else return 0; }
1115:   ; static inline int __glibcxx_rwlock_trywrlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_trywrlock (__rwlock); else return 0; }
1115:   ; static inline int __glibcxx_rwlock_unlock (pthread_rwlock_t *__rwlock) { if (__gthread_active_p ()) return pthread_rwlock_unlock (__rwlock); else return 0; }
1115: # 96 "/usr/include/c++/12/shared_mutex" 3
1115:    ;
1115:   static inline int
1115:   __glibcxx_rwlock_timedrdlock (pthread_rwlock_t *__rwlock,
1115:     const timespec *__ts)
1115:   {
1115:     if (__gthread_active_p ())
1115:       return pthread_rwlock_timedrdlock (__rwlock, __ts);
1115:     else
1115:       return 0;
1115:   }
1115:    ;
1115:   static inline int
1115:   __glibcxx_rwlock_timedwrlock (pthread_rwlock_t *__rwlock,
1115:     const timespec *__ts)
1115:   {
1115:     if (__gthread_active_p ())
1115:       return pthread_rwlock_timedwrlock (__rwlock, __ts);
1115:     else
1115:       return 0;
1115:   }
1115: # 152 "/usr/include/c++/12/shared_mutex" 3
1115:   class __shared_mutex_pthread
1115:   {
1115:     friend class shared_timed_mutex;
1115: 
1115: 
1115:     pthread_rwlock_t _M_rwlock = { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_DEFAULT_NP, 0, 0, 0, 0 } };
1115: 
1115:   public:
1115:     __shared_mutex_pthread() = default;
1115:     ~__shared_mutex_pthread() = default;
1115: # 187 "/usr/include/c++/12/shared_mutex" 3
1115:     __shared_mutex_pthread(const __shared_mutex_pthread&) = delete;
1115:     __shared_mutex_pthread& operator=(const __shared_mutex_pthread&) = delete;
1115: 
1115:     void
1115:     lock()
1115:     {
1115:       int __ret = __glibcxx_rwlock_wrlock(&_M_rwlock);
1115:       if (__ret == 35)
1115:  __throw_system_error(int(errc::resource_deadlock_would_occur));
1115: 
1115:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:     }
1115: 
1115:     bool
1115:     try_lock()
1115:     {
1115:       int __ret = __glibcxx_rwlock_trywrlock(&_M_rwlock);
1115:       if (__ret == 16) return false;
1115: 
1115:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:       return true;
1115:     }
1115: 
1115:     void
1115:     unlock()
1115:     {
1115:       int __ret __attribute((__unused__)) = __glibcxx_rwlock_unlock(&_M_rwlock);
1115: 
1115:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:     }
1115: 
1115: 
1115: 
1115:     void
1115:     lock_shared()
1115:     {
1115:       int __ret;
1115: 
1115: 
1115: 
1115: 
1115:       do
1115:  __ret = __glibcxx_rwlock_rdlock(&_M_rwlock);
1115:       while (__ret == 11);
1115:       if (__ret == 35)
1115:  __throw_system_error(int(errc::resource_deadlock_would_occur));
1115: 
1115:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:     }
1115: 
1115:     bool
1115:     try_lock_shared()
1115:     {
1115:       int __ret = __glibcxx_rwlock_tryrdlock(&_M_rwlock);
1115: 
1115: 
1115: 
1115:       if (__ret == 16 || __ret == 11) return false;
1115: 
1115:       do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:       return true;
1115:     }
1115: 
1115:     void
1115:     unlock_shared()
1115:     {
1115:       unlock();
1115:     }
1115: 
1115:     void* native_handle() { return &_M_rwlock; }
1115:   };
1115: # 409 "/usr/include/c++/12/shared_mutex" 3
1115:   class shared_mutex
1115:   {
1115:   public:
1115:     shared_mutex() = default;
1115:     ~shared_mutex() = default;
1115: 
1115:     shared_mutex(const shared_mutex&) = delete;
1115:     shared_mutex& operator=(const shared_mutex&) = delete;
1115: 
1115: 
1115: 
1115:     void lock() { _M_impl.lock(); }
1115:     bool try_lock() { return _M_impl.try_lock(); }
1115:     void unlock() { _M_impl.unlock(); }
1115: 
1115: 
1115: 
1115:     void lock_shared() { _M_impl.lock_shared(); }
1115:     bool try_lock_shared() { return _M_impl.try_lock_shared(); }
1115:     void unlock_shared() { _M_impl.unlock_shared(); }
1115: 
1115: 
1115:     typedef void* native_handle_type;
1115:     native_handle_type native_handle() { return _M_impl.native_handle(); }
1115: 
1115:   private:
1115:     __shared_mutex_pthread _M_impl;
1115: 
1115: 
1115: 
1115: 
1115:   };
1115: 
1115: 
1115: 
1115: 
1115:   using __shared_timed_mutex_base = __shared_mutex_pthread;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   class shared_timed_mutex
1115:   : private __shared_timed_mutex_base
1115:   {
1115:     using _Base = __shared_timed_mutex_base;
1115: 
1115: 
1115: 
1115:     using __clock_t = chrono::steady_clock;
1115: 
1115: 
1115: 
1115: 
1115:   public:
1115:     shared_timed_mutex() = default;
1115:     ~shared_timed_mutex() = default;
1115: 
1115:     shared_timed_mutex(const shared_timed_mutex&) = delete;
1115:     shared_timed_mutex& operator=(const shared_timed_mutex&) = delete;
1115: 
1115: 
1115: 
1115:     void lock() { _Base::lock(); }
1115:     bool try_lock() { return _Base::try_lock(); }
1115:     void unlock() { _Base::unlock(); }
1115: 
1115:     template<typename _Rep, typename _Period>
1115:       bool
1115:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
1115:       {
1115:  auto __rt = chrono::duration_cast<__clock_t::duration>(__rtime);
1115:  if (ratio_greater<__clock_t::period, _Period>())
1115:    ++__rt;
1115:  return try_lock_until(__clock_t::now() + __rt);
1115:       }
1115: 
1115: 
1115: 
1115:     void lock_shared() { _Base::lock_shared(); }
1115:     bool try_lock_shared() { return _Base::try_lock_shared(); }
1115:     void unlock_shared() { _Base::unlock_shared(); }
1115: 
1115:     template<typename _Rep, typename _Period>
1115:       bool
1115:       try_lock_shared_for(const chrono::duration<_Rep, _Period>& __rtime)
1115:       {
1115:  auto __rt = chrono::duration_cast<__clock_t::duration>(__rtime);
1115:  if (ratio_greater<__clock_t::period, _Period>())
1115:    ++__rt;
1115:  return try_lock_shared_until(__clock_t::now() + __rt);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     template<typename _Duration>
1115:       bool
1115:       try_lock_until(const chrono::time_point<chrono::system_clock,
1115:        _Duration>& __atime)
1115:       {
1115:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:  __gthread_time_t __ts =
1115:    {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:  int __ret = __glibcxx_rwlock_timedwrlock(&_M_rwlock, &__ts);
1115: 
1115: 
1115:  if (__ret == 110 || __ret == 35)
1115:    return false;
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:  return true;
1115:       }
1115: 
1115: 
1115:     template<typename _Duration>
1115:       bool
1115:       try_lock_until(const chrono::time_point<chrono::steady_clock,
1115:      _Duration>& __atime)
1115:       {
1115:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:  __gthread_time_t __ts =
1115:    {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:  int __ret = pthread_rwlock_clockwrlock(&_M_rwlock, 1,
1115:             &__ts);
1115: 
1115: 
1115:  if (__ret == 110 || __ret == 35)
1115:    return false;
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:  return true;
1115:       }
1115: 
1115: 
1115:     template<typename _Clock, typename _Duration>
1115:       bool
1115:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  typename _Clock::time_point __now = _Clock::now();
1115:  do {
1115:      auto __rtime = __atime - __now;
1115:      if (try_lock_for(__rtime))
1115:        return true;
1115:      __now = _Clock::now();
1115:  } while (__atime > __now);
1115:  return false;
1115:       }
1115: 
1115: 
1115: 
1115:     template<typename _Duration>
1115:       bool
1115:       try_lock_shared_until(const chrono::time_point<chrono::system_clock,
1115:        _Duration>& __atime)
1115:       {
1115:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:  __gthread_time_t __ts =
1115:    {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:  int __ret;
1115: # 608 "/usr/include/c++/12/shared_mutex" 3
1115:  do
1115:    __ret = __glibcxx_rwlock_timedrdlock(&_M_rwlock, &__ts);
1115:  while (__ret == 11 || __ret == 35);
1115:  if (__ret == 110)
1115:    return false;
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:  return true;
1115:       }
1115: 
1115: 
1115:     template<typename _Duration>
1115:       bool
1115:       try_lock_shared_until(const chrono::time_point<chrono::steady_clock,
1115:        _Duration>& __atime)
1115:       {
1115:  auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
1115:  auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
1115: 
1115:  __gthread_time_t __ts =
1115:    {
1115:      static_cast<std::time_t>(__s.time_since_epoch().count()),
1115:      static_cast<long>(__ns.count())
1115:    };
1115: 
1115:  int __ret = pthread_rwlock_clockrdlock(&_M_rwlock, 1,
1115:             &__ts);
1115: 
1115: 
1115:  if (__ret == 110 || __ret == 35)
1115:    return false;
1115: 
1115:  do { if (std::__is_constant_evaluated() && !bool(__ret == 0)) __builtin_unreachable(); } while (false);
1115:  return true;
1115:       }
1115: 
1115: 
1115:     template<typename _Clock, typename _Duration>
1115:       bool
1115:       try_lock_shared_until(const chrono::time_point<_Clock,
1115:            _Duration>& __atime)
1115:       {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:  typename _Clock::time_point __now = _Clock::now();
1115:  do {
1115:      auto __rtime = __atime - __now;
1115:      if (try_lock_shared_for(__rtime))
1115:        return true;
1115:      __now = _Clock::now();
1115:  } while (__atime > __now);
1115:  return false;
1115:       }
1115: # 710 "/usr/include/c++/12/shared_mutex" 3
1115:   };
1115: 
1115: 
1115: 
1115:   template<typename _Mutex>
1115:     class shared_lock
1115:     {
1115:     public:
1115:       typedef _Mutex mutex_type;
1115: 
1115: 
1115: 
1115:       shared_lock() noexcept : _M_pm(nullptr), _M_owns(false) { }
1115: 
1115:       explicit
1115:       shared_lock(mutex_type& __m)
1115:       : _M_pm(std::__addressof(__m)), _M_owns(true)
1115:       { __m.lock_shared(); }
1115: 
1115:       shared_lock(mutex_type& __m, defer_lock_t) noexcept
1115:       : _M_pm(std::__addressof(__m)), _M_owns(false) { }
1115: 
1115:       shared_lock(mutex_type& __m, try_to_lock_t)
1115:       : _M_pm(std::__addressof(__m)), _M_owns(__m.try_lock_shared()) { }
1115: 
1115:       shared_lock(mutex_type& __m, adopt_lock_t)
1115:       : _M_pm(std::__addressof(__m)), _M_owns(true) { }
1115: 
1115:       template<typename _Clock, typename _Duration>
1115:  shared_lock(mutex_type& __m,
1115:       const chrono::time_point<_Clock, _Duration>& __abs_time)
1115:       : _M_pm(std::__addressof(__m)),
1115:  _M_owns(__m.try_lock_shared_until(__abs_time)) { }
1115: 
1115:       template<typename _Rep, typename _Period>
1115:  shared_lock(mutex_type& __m,
1115:       const chrono::duration<_Rep, _Period>& __rel_time)
1115:       : _M_pm(std::__addressof(__m)),
1115:  _M_owns(__m.try_lock_shared_for(__rel_time)) { }
1115: 
1115:       ~shared_lock()
1115:       {
1115:  if (_M_owns)
1115:    _M_pm->unlock_shared();
1115:       }
1115: 
1115:       shared_lock(shared_lock const&) = delete;
1115:       shared_lock& operator=(shared_lock const&) = delete;
1115: 
1115:       shared_lock(shared_lock&& __sl) noexcept : shared_lock()
1115:       { swap(__sl); }
1115: 
1115:       shared_lock&
1115:       operator=(shared_lock&& __sl) noexcept
1115:       {
1115:  shared_lock(std::move(__sl)).swap(*this);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       lock()
1115:       {
1115:  _M_lockable();
1115:  _M_pm->lock_shared();
1115:  _M_owns = true;
1115:       }
1115: 
1115:       bool
1115:       try_lock()
1115:       {
1115:  _M_lockable();
1115:  return _M_owns = _M_pm->try_lock_shared();
1115:       }
1115: 
1115:       template<typename _Rep, typename _Period>
1115:  bool
1115:  try_lock_for(const chrono::duration<_Rep, _Period>& __rel_time)
1115:  {
1115:    _M_lockable();
1115:    return _M_owns = _M_pm->try_lock_shared_for(__rel_time);
1115:  }
1115: 
1115:       template<typename _Clock, typename _Duration>
1115:  bool
1115:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __abs_time)
1115:  {
1115:    _M_lockable();
1115:    return _M_owns = _M_pm->try_lock_shared_until(__abs_time);
1115:  }
1115: 
1115:       void
1115:       unlock()
1115:       {
1115:  if (!_M_owns)
1115:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1115:  _M_pm->unlock_shared();
1115:  _M_owns = false;
1115:       }
1115: 
1115: 
1115: 
1115:       void
1115:       swap(shared_lock& __u) noexcept
1115:       {
1115:  std::swap(_M_pm, __u._M_pm);
1115:  std::swap(_M_owns, __u._M_owns);
1115:       }
1115: 
1115:       mutex_type*
1115:       release() noexcept
1115:       {
1115:  _M_owns = false;
1115:  return std::__exchange(_M_pm, nullptr);
1115:       }
1115: 
1115: 
1115: 
1115:       bool owns_lock() const noexcept { return _M_owns; }
1115: 
1115:       explicit operator bool() const noexcept { return _M_owns; }
1115: 
1115:       mutex_type* mutex() const noexcept { return _M_pm; }
1115: 
1115:     private:
1115:       void
1115:       _M_lockable() const
1115:       {
1115:  if (_M_pm == nullptr)
1115:    __throw_system_error(int(errc::operation_not_permitted));
1115:  if (_M_owns)
1115:    __throw_system_error(int(errc::resource_deadlock_would_occur));
1115:       }
1115: 
1115:       mutex_type* _M_pm;
1115:       bool _M_owns;
1115:     };
1115: 
1115: 
1115: 
1115:   template<typename _Mutex>
1115:     void
1115:     swap(shared_lock<_Mutex>& __x, shared_lock<_Mutex>& __y) noexcept
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: 
1115: }
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/threads/SharedSection.h"
1115: class CSharedSection
1115: {
1115:   CCriticalSection sec;
1115:   XbmcThreads::ConditionVariable actualCv;
1115: 
1115:   unsigned int sharedCount = 0;
1115: 
1115: public:
1115:   inline CSharedSection() = default;
1115: 
1115:   inline void lock()
1115:   {
1115:     std::unique_lock<CCriticalSection> l(sec);
1115:     while (sharedCount)
1115:       actualCv.wait(l, [this]() { return sharedCount == 0; });
1115:     sec.lock();
1115:   }
1115:   inline bool try_lock() { return (sec.try_lock() ? ((sharedCount == 0) ? true : (sec.unlock(), false)) : false); }
1115:   inline void unlock() { sec.unlock(); }
1115: 
1115:   inline void lock_shared()
1115:   {
1115:     std::unique_lock<CCriticalSection> l(sec);
1115:     sharedCount++;
1115:   }
1115:   inline bool try_lock_shared() { return (sec.try_lock() ? sharedCount++, sec.unlock(), true : false); }
1115:   inline void unlock_shared()
1115:   {
1115:     std::unique_lock<CCriticalSection> l(sec);
1115:     sharedCount--;
1115:     if (!sharedCount)
1115:     {
1115:       actualCv.notifyAll();
1115:     }
1115:   }
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/LocalizeStrings.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ILocalizer.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/ILocalizer.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: class ILocalizer
1115: {
1115: public:
1115:   virtual ~ILocalizer() = default;
1115: 
1115:   virtual std::string Localize(std::uint32_t code) const = 0;
1115: 
1115: protected:
1115:   ILocalizer() = default;
1115: };
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/LocalizeStrings.h" 2
1115: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/guilib/LocalizeStrings.h"
1115: struct LocStr
1115: {
1115:   std::string strTranslated;
1115:   std::string strOriginal;
1115: };
1115: 
1115: 
1115: const std::string LANGUAGE_DEFAULT = "resource.language.en_gb";
1115: const std::string LANGUAGE_OLD_DEFAULT = "English";
1115: 
1115: class CLocalizeStrings : public ILocalizer
1115: {
1115: public:
1115:   CLocalizeStrings(void);
1115:   ~CLocalizeStrings(void) override;
1115:   bool Load(const std::string& strPathName, const std::string& strLanguage);
1115:   bool LoadSkinStrings(const std::string& path, const std::string& language);
1115:   bool LoadAddonStrings(const std::string& path, const std::string& language, const std::string& addonId);
1115:   void ClearSkinStrings();
1115:   const std::string& Get(uint32_t code) const;
1115:   std::string GetAddonString(const std::string& addonId, uint32_t code);
1115:   void Clear();
1115: 
1115: 
1115:   std::string Localize(std::uint32_t code) const override { return Get(code); }
1115: 
1115: protected:
1115:   void Clear(uint32_t start, uint32_t end);
1115: 
1115:   std::map<uint32_t, LocStr> m_strings;
1115:   std::map<std::string, std::map<uint32_t, LocStr>> m_addonStrings;
1115:   typedef std::map<uint32_t, LocStr>::const_iterator ciStrings;
1115:   typedef std::map<uint32_t, LocStr>::iterator iStrings;
1115: 
1115:   mutable CSharedSection m_stringsMutex;
1115:   CSharedSection m_addonStringsMutex;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: extern CLocalizeStrings g_localizeStrings;
1115: extern CLocalizeStrings g_localizeStringsTemp;
1115: # 20 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/addons/IAddon.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CDateTime;
1115: class TiXmlElement;
1115: 
1115: namespace ADDON
1115: {
1115: enum class AddonInstanceSupport;
1115: enum class AddonLifecycleState;
1115: enum class AddonType;
1115: 
1115: class CAddonMgr;
1115: class CAddonSettings;
1115: class CAddonVersion;
1115: 
1115: struct DependencyInfo;
1115: 
1115: using AddonInstanceId = uint32_t;
1115: 
1115: constexpr const char* ADDON_SETTING_INSTANCE_GROUP = "kodi_addon_instance";
1115: constexpr const char* ADDON_SETTING_INSTANCE_NAME_VALUE = "kodi_addon_instance_name";
1115: constexpr const char* ADDON_SETTING_INSTANCE_ENABLED_VALUE = "kodi_addon_instance_enabled";
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr AddonInstanceId ADDON_SINGLETON_INSTANCE_ID = 0;
1115: 
1115: 
1115: 
1115: 
1115: constexpr AddonInstanceId ADDON_FIRST_INSTANCE_ID = 1;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr AddonInstanceId ADDON_INSTANCE_ID_UNUSED = ADDON_SINGLETON_INSTANCE_ID;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr AddonInstanceId ADDON_SETTINGS_ID = ADDON_SINGLETON_INSTANCE_ID;
1115: 
1115: constexpr char const* ORIGIN_SYSTEM = "b6a50484-93a0-4afb-a01c-8d17e059feda";
1115: 
1115: class IAddon;
1115: typedef std::shared_ptr<IAddon> AddonPtr;
1115: typedef std::vector<AddonPtr> VECADDONS;
1115: 
1115: using InfoMap = std::map<std::string, std::string>;
1115: using ArtMap = std::map<std::string, std::string>;
1115: 
1115: class IAddon : public std::enable_shared_from_this<IAddon>
1115: {
1115: public:
1115:   virtual ~IAddon() = default;
1115:   virtual AddonType MainType() const = 0;
1115:   virtual AddonType Type() const = 0;
1115:   virtual bool HasType(AddonType type) const = 0;
1115:   virtual bool HasMainType(AddonType type) const = 0;
1115:   virtual std::string ID() const = 0;
1115:   virtual std::string Name() const = 0;
1115:   virtual bool IsInUse() const = 0;
1115:   virtual bool IsBinary() const = 0;
1115:   virtual CAddonVersion Version() const = 0;
1115:   virtual CAddonVersion MinVersion() const = 0;
1115:   virtual std::string Summary() const = 0;
1115:   virtual std::string Description() const = 0;
1115:   virtual std::string Path() const = 0;
1115:   virtual std::string Profile() const = 0;
1115:   virtual std::string LibPath() const = 0;
1115:   virtual std::string ChangeLog() const = 0;
1115:   virtual std::string FanArt() const = 0;
1115:   virtual ArtMap Art() const = 0;
1115:   virtual std::vector<std::string> Screenshots() const = 0;
1115:   virtual std::string Author() const = 0;
1115:   virtual std::string Icon() const = 0;
1115:   virtual std::string Disclaimer() const = 0;
1115:   virtual AddonLifecycleState LifecycleState() const = 0;
1115:   virtual std::string LifecycleStateDescription() const = 0;
1115:   virtual CDateTime InstallDate() const = 0;
1115:   virtual CDateTime LastUpdated() const = 0;
1115:   virtual CDateTime LastUsed() const = 0;
1115:   virtual std::string Origin() const = 0;
1115:   virtual std::string OriginName() const = 0;
1115:   virtual uint64_t PackageSize() const = 0;
1115:   virtual const InfoMap& ExtraInfo() const = 0;
1115:   virtual bool SupportsMultipleInstances() const = 0;
1115:   virtual AddonInstanceSupport InstanceUseType() const = 0;
1115:   virtual std::vector<AddonInstanceId> GetKnownInstanceIds() const = 0;
1115:   virtual bool SupportsInstanceSettings() const = 0;
1115:   virtual bool DeleteInstanceSettings(AddonInstanceId instance) = 0;
1115:   virtual bool CanHaveAddonOrInstanceSettings() = 0;
1115:   virtual bool HasSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool HasUserSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual void SaveSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual void UpdateSetting(const std::string& key,
1115:                              const std::string& value,
1115:                              AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool UpdateSettingBool(const std::string& key,
1115:                                  bool value,
1115:                                  AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool UpdateSettingInt(const std::string& key,
1115:                                 int value,
1115:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool UpdateSettingNumber(const std::string& key,
1115:                                    double value,
1115:                                    AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool UpdateSettingString(const std::string& key,
1115:                                    const std::string& value,
1115:                                    AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual std::string GetSetting(const std::string& key,
1115:                                  AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool GetSettingBool(const std::string& key,
1115:                               bool& value,
1115:                               AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool GetSettingInt(const std::string& key,
1115:                              int& value,
1115:                              AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool GetSettingNumber(const std::string& key,
1115:                                 double& value,
1115:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual bool GetSettingString(const std::string& key,
1115:                                 std::string& value,
1115:                                 AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual std::shared_ptr<CAddonSettings> GetSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual const std::vector<DependencyInfo>& GetDependencies() const = 0;
1115:   virtual CAddonVersion GetDependencyVersion(const std::string& dependencyID) const = 0;
1115:   virtual bool MeetsVersion(const CAddonVersion& versionMin,
1115:                             const CAddonVersion& version) const = 0;
1115:   virtual bool ReloadSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual void ResetSettings(AddonInstanceId id = ADDON_SETTINGS_ID) = 0;
1115:   virtual AddonPtr GetRunningInstance() const = 0;
1115:   virtual void OnPreInstall() = 0;
1115:   virtual void OnPostInstall(bool update, bool modal) = 0;
1115:   virtual void OnPreUnInstall() = 0;
1115:   virtual void OnPostUnInstall() = 0;
1115: };
1115: 
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ILanguageInvoker.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ILanguageInvoker.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CLanguageInvokerThread;
1115: class ILanguageInvocationHandler;
1115: 
1115: typedef enum
1115: {
1115:   InvokerStateUninitialized,
1115:   InvokerStateInitialized,
1115:   InvokerStateRunning,
1115:   InvokerStateStopping,
1115:   InvokerStateScriptDone,
1115:   InvokerStateExecutionDone,
1115:   InvokerStateFailed
1115: } InvokerState;
1115: 
1115: class ILanguageInvoker
1115: {
1115: public:
1115:   explicit ILanguageInvoker(ILanguageInvocationHandler *invocationHandler);
1115:   virtual ~ILanguageInvoker();
1115: 
1115:   virtual bool Execute(const std::string &script, const std::vector<std::string> &arguments = std::vector<std::string>());
1115:   virtual bool Stop(bool abort = false);
1115:   virtual bool IsStopping() const;
1115: 
1115:   void SetId(int id) { m_id = id; }
1115:   int GetId() const { return m_id; }
1115:   const ADDON::AddonPtr& GetAddon() const { return m_addon; }
1115:   void SetAddon(const ADDON::AddonPtr &addon) { m_addon = addon; }
1115:   InvokerState GetState() const { return m_state; }
1115:   bool IsActive() const;
1115:   bool IsRunning() const;
1115:   void Reset() { m_state = InvokerStateUninitialized; }
1115: 
1115: protected:
1115:   friend class CLanguageInvokerThread;
1115: 
1115: 
1115: 
1115: 
1115:   virtual void AbortNotification();
1115: 
1115:   virtual bool execute(const std::string &script, const std::vector<std::string> &arguments) = 0;
1115:   virtual bool stop(bool abort) = 0;
1115: 
1115:   virtual void pulseGlobalEvent();
1115:   virtual bool onExecutionInitialized();
1115:   virtual void onExecutionFailed();
1115:   virtual void onExecutionDone();
1115:   virtual void onExecutionFinalized();
1115: 
1115:   void setState(InvokerState state);
1115: 
1115:   ADDON::AddonPtr m_addon;
1115: 
1115: private:
1115:   int m_id;
1115:   InvokerState m_state;
1115:   ILanguageInvocationHandler *m_invocationHandler;
1115: };
1115: 
1115: typedef std::shared_ptr<ILanguageInvoker> LanguageInvokerPtr;
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CLanguageInvokerThread;
1115: typedef std::shared_ptr<CLanguageInvokerThread> CLanguageInvokerThreadPtr;
1115: 
1115: class CScriptInvocationManager
1115: {
1115: public:
1115:   static CScriptInvocationManager& GetInstance();
1115: 
1115:   void Process();
1115:   void Uninitialize();
1115: 
1115:   void RegisterLanguageInvocationHandler(ILanguageInvocationHandler *invocationHandler, const std::string &extension);
1115:   void RegisterLanguageInvocationHandler(ILanguageInvocationHandler *invocationHandler, const std::set<std::string> &extensions);
1115:   void UnregisterLanguageInvocationHandler(ILanguageInvocationHandler *invocationHandler);
1115:   bool HasLanguageInvoker(const std::string &script) const;
1115:   LanguageInvokerPtr GetLanguageInvoker(const std::string& script);
1115: 
1115: 
1115: 
1115: 
1115:   int GetReusablePluginHandle(const std::string& script);
1115: # 50 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h"
1115:   int ExecuteAsync(const std::string& script,
1115:                    const ADDON::AddonPtr& addon = ADDON::AddonPtr(),
1115:                    const std::vector<std::string>& arguments = std::vector<std::string>(),
1115:                    bool reuseable = false,
1115:                    int pluginHandle = -1);
1115: # 64 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h"
1115:   int ExecuteAsync(const std::string& script,
1115:                    const LanguageInvokerPtr& languageInvoker,
1115:                    const ADDON::AddonPtr& addon = ADDON::AddonPtr(),
1115:                    const std::vector<std::string>& arguments = std::vector<std::string>(),
1115:                    bool reuseable = false,
1115:                    int pluginHandle = -1);
1115: # 87 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h"
1115:   int ExecuteSync(const std::string& script,
1115:                   const ADDON::AddonPtr& addon = ADDON::AddonPtr(),
1115:                   const std::vector<std::string>& arguments = std::vector<std::string>(),
1115:                   uint32_t timeoutMs = 0,
1115:                   bool waitShutdown = false);
1115: # 109 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/interfaces/generic/ScriptInvocationManager.h"
1115:   int ExecuteSync(const std::string& script,
1115:                   const LanguageInvokerPtr& languageInvoker,
1115:                   const ADDON::AddonPtr& addon = ADDON::AddonPtr(),
1115:                   const std::vector<std::string>& arguments = std::vector<std::string>(),
1115:                   uint32_t timeoutMs = 0,
1115:                   bool waitShutdown = false);
1115:   bool Stop(int scriptId, bool wait = false);
1115:   bool Stop(const std::string &scriptPath, bool wait = false);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void StopRunningScripts(bool wait = false);
1115: 
1115:   bool IsRunning(int scriptId) const;
1115:   bool IsRunning(const std::string& scriptPath) const;
1115: 
1115: protected:
1115:   friend class CLanguageInvokerThread;
1115: 
1115:   void OnExecutionDone(int scriptId);
1115: 
1115: private:
1115:   CScriptInvocationManager() = default;
1115:   CScriptInvocationManager(const CScriptInvocationManager&) = delete;
1115:   CScriptInvocationManager const& operator=(CScriptInvocationManager const&) = delete;
1115:   virtual ~CScriptInvocationManager();
1115: 
1115:   typedef struct {
1115:     CLanguageInvokerThreadPtr thread;
1115:     std::string script;
1115:     bool done;
1115:   } LanguageInvokerThread;
1115:   typedef std::map<int, LanguageInvokerThread> LanguageInvokerThreadMap;
1115:   typedef std::map<std::string, ILanguageInvocationHandler*> LanguageInvocationHandlerMap;
1115: 
1115:   LanguageInvokerThread getInvokerThread(int scriptId) const;
1115: 
1115:   LanguageInvocationHandlerMap m_invocationHandlers;
1115:   LanguageInvokerThreadMap m_scripts;
1115:   CLanguageInvokerThreadPtr m_lastInvokerThread;
1115:   int m_lastPluginHandle = -1;
1115: 
1115:   std::map<std::string, int> m_scriptPaths;
1115:   int m_nextId = 0;
1115:   mutable CCriticalSection m_critSection;
1115: };
1115: # 21 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/Network.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/Network.h"
1115:        
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/Network.h"
1115: class CNetworkInterface
1115: {
1115: public:
1115:    virtual ~CNetworkInterface() = default;
1115: 
1115:    virtual bool IsEnabled(void) const = 0;
1115:    virtual bool IsConnected(void) const = 0;
1115: 
1115:    virtual std::string GetMacAddress(void) const = 0;
1115:    virtual void GetMacAddressRaw(char rawMac[6]) const = 0;
1115: 
1115:    virtual bool GetHostMacAddress(unsigned long host, std::string& mac) const = 0;
1115: 
1115:    virtual std::string GetCurrentIPAddress() const = 0;
1115:    virtual std::string GetCurrentNetmask() const = 0;
1115:    virtual std::string GetCurrentDefaultGateway(void) const = 0;
1115: };
1115: 
1115: class CSettings;
1115: class CNetworkServices;
1115: struct sockaddr;
1115: 
1115: class CNetworkBase
1115: {
1115: public:
1115:   enum EMESSAGE
1115:   {
1115:     SERVICES_UP,
1115:     SERVICES_DOWN
1115:   };
1115: 
1115:   static std::unique_ptr<CNetworkBase> GetNetwork();
1115: 
1115:   CNetworkBase();
1115:   virtual ~CNetworkBase();
1115: 
1115: 
1115:   CNetworkServices& GetServices() { return *m_services; }
1115: 
1115: 
1115:   virtual bool GetHostName(std::string& hostname);
1115: 
1115: 
1115:   virtual std::vector<CNetworkInterface*>& GetInterfaceList(void) = 0;
1115: 
1115: 
1115:   virtual CNetworkInterface* GetFirstConnectedInterface(void);
1115: 
1115: 
1115:   bool HasInterfaceForIP(unsigned long address);
1115: 
1115: 
1115:   bool IsAvailable(void);
1115: 
1115: 
1115:   bool IsConnected(void);
1115: 
1115: 
1115:   bool WakeOnLan(const char* mac);
1115: 
1115: 
1115:   bool PingHost(unsigned long host,
1115:                 unsigned short port,
1115:                 unsigned int timeout_ms = 2000,
1115:                 bool readability_check = false);
1115:   virtual bool PingHost(unsigned long host, unsigned int timeout_ms = 2000) = 0;
1115: 
1115: 
1115:   virtual std::vector<std::string> GetNameServers(void) = 0;
1115: 
1115: 
1115:   void NetworkMessage(EMESSAGE message, int param);
1115: 
1115:   static int ParseHex(char* str, unsigned char* addr);
1115: 
1115: 
1115:   bool IsLocalHost(const std::string& hostname);
1115: 
1115: 
1115:   void WaitForNet();
1115: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/network/Network.h"
1115:   static std::string GetIpStr(const sockaddr* sa);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static std::string GetMaskByPrefixLength(uint8_t prefixLength);
1115: 
1115:   std::unique_ptr<CNetworkServices> m_services;
1115: };
1115: 
1115: 
1115: 
1115: std::vector<SOCKET> CreateTCPServerSocket(const int port, const bool bindLocal, const int backlog, const char *callerName);
1115: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/ISubSettings.h"
1115:        
1115: 
1115: class TiXmlNode;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class ISubSettings
1115: {
1115: public:
1115:   virtual ~ISubSettings() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool Load(const TiXmlNode *settings) { return true; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool Save(TiXmlNode *settings) const { return true; }
1115: 
1115: 
1115: 
1115:   virtual void Clear() { }
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/logtypes.h"
1115:        
1115: 
1115: 
1115: 
1115: namespace spdlog
1115: {
1115: class logger;
1115: }
1115: 
1115: using Logger = std::shared_ptr<spdlog::logger>;
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControl.h" 2
1115: 
1115: 
1115: 
1115: class TiXmlNode;
1115: 
1115: class ISettingControl
1115: {
1115: public:
1115:   ISettingControl();
1115:   virtual ~ISettingControl() = default;
1115: 
1115:   virtual std::string GetType() const = 0;
1115:   const std::string& GetFormat() const { return m_format; }
1115:   bool GetDelayed() const { return m_delayed; }
1115:   void SetDelayed(bool delayed) { m_delayed = delayed; }
1115: 
1115:   virtual bool Deserialize(const TiXmlNode *node, bool update = false);
1115:   virtual bool SetFormat(const std::string &format) { return true; }
1115: 
1115: protected:
1115:   bool m_delayed = false;
1115:   std::string m_format;
1115: 
1115:   static Logger s_logger;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControlCreator.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingControlCreator.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: class ISettingControl;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class ISettingControlCreator
1115: {
1115: public:
1115:   virtual ~ISettingControlCreator() = default;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const = 0;
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h" 2
1115: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingControl.h"
1115: class CVariant;
1115: 
1115: class CSettingControlCreator : public ISettingControlCreator
1115: {
1115: public:
1115: 
1115:   std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const override;
1115: 
1115: protected:
1115:   CSettingControlCreator() = default;
1115:   ~CSettingControlCreator() override = default;
1115: };
1115: 
1115: class CSettingControlCheckmark : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlCheckmark()
1115:   {
1115:     m_format = "boolean";
1115:   }
1115:   ~CSettingControlCheckmark() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "toggle"; }
1115:   bool SetFormat(const std::string &format) override;
1115: };
1115: 
1115: class CSettingControlFormattedRange : public ISettingControl
1115: {
1115: public:
1115:   ~CSettingControlFormattedRange() override = default;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   int GetFormatLabel() const { return m_formatLabel; }
1115:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1115:   const std::string& GetFormatString() const { return m_formatString; }
1115:   void SetFormatString(const std::string &formatString) { m_formatString = formatString; }
1115:   int GetMinimumLabel() const { return m_minimumLabel; }
1115:   void SetMinimumLabel(int minimumLabel) { m_minimumLabel = minimumLabel; }
1115: 
1115: protected:
1115:   CSettingControlFormattedRange() = default;
1115: 
1115:   int m_formatLabel = -1;
1115:   std::string m_formatString = "{}";
1115:   int m_minimumLabel = -1;
1115: };
1115: 
1115: class CSettingControlSpinner : public CSettingControlFormattedRange
1115: {
1115: public:
1115:   CSettingControlSpinner() = default;
1115:   ~CSettingControlSpinner() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "spinner"; }
1115: 
1115: 
1115:   bool SetFormat(const std::string &format) override;
1115: };
1115: 
1115: class CSettingControlEdit : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlEdit()
1115:   {
1115:     m_delayed = true;
1115:   }
1115:   ~CSettingControlEdit() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "edit"; }
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115:   bool SetFormat(const std::string &format) override;
1115: 
1115:   bool IsHidden() const { return m_hidden; }
1115:   void SetHidden(bool hidden) { m_hidden = hidden; }
1115:   bool VerifyNewValue() const { return m_verifyNewValue; }
1115:   void SetVerifyNewValue(bool verifyNewValue) { m_verifyNewValue = verifyNewValue; }
1115:   int GetHeading() const { return m_heading; }
1115:   void SetHeading(int heading) { m_heading = heading; }
1115: 
1115: protected:
1115:   bool m_hidden = false;
1115:   bool m_verifyNewValue = false;
1115:   int m_heading = -1;
1115: };
1115: 
1115: class CSettingControlButton : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlButton() = default;
1115:   ~CSettingControlButton() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "button"; }
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115:   bool SetFormat(const std::string &format) override;
1115: 
1115:   int GetHeading() const { return m_heading; }
1115:   void SetHeading(int heading) { m_heading = heading; }
1115:   bool HideValue() const { return m_hideValue; }
1115:   void SetHideValue(bool hideValue) { m_hideValue = hideValue; }
1115: 
1115:   bool ShowAddonDetails() const { return m_showAddonDetails; }
1115:   void SetShowAddonDetails(bool showAddonDetails) { m_showAddonDetails = showAddonDetails; }
1115:   bool ShowInstalledAddons() const { return m_showInstalledAddons; }
1115:   void SetShowInstalledAddons(bool showInstalledAddons) { m_showInstalledAddons = showInstalledAddons; }
1115:   bool ShowInstallableAddons() const { return m_showInstallableAddons; }
1115:   void SetShowInstallableAddons(bool showInstallableAddons) { m_showInstallableAddons = showInstallableAddons; }
1115:   bool ShowMoreAddons() const { return !m_showInstallableAddons && m_showMoreAddons; }
1115:   void SetShowMoreAddons(bool showMoreAddons) { m_showMoreAddons = showMoreAddons; }
1115: 
1115:   bool UseImageThumbs() const { return m_useImageThumbs; }
1115:   void SetUseImageThumbs(bool useImageThumbs) { m_useImageThumbs = useImageThumbs; }
1115:   bool UseFileDirectories() const { return m_useFileDirectories; }
1115:   void SetUseFileDirectories(bool useFileDirectories) { m_useFileDirectories = useFileDirectories; }
1115: 
1115:   bool HasActionData() const { return !m_actionData.empty(); }
1115:   const std::string& GetActionData() const { return m_actionData; }
1115:   void SetActionData(const std::string& actionData) { m_actionData = actionData; }
1115: 
1115:   bool CloseDialog() const { return m_closeDialog; }
1115:   void SetCloseDialog(bool closeDialog) { m_closeDialog = closeDialog; }
1115: 
1115: protected:
1115:   int m_heading = -1;
1115:   bool m_hideValue = false;
1115: 
1115:   bool m_showAddonDetails = true;
1115:   bool m_showInstalledAddons = true;
1115:   bool m_showInstallableAddons = false;
1115:   bool m_showMoreAddons = true;
1115: 
1115:   bool m_useImageThumbs = false;
1115:   bool m_useFileDirectories = false;
1115: 
1115:   std::string m_actionData;
1115:   bool m_closeDialog = false;
1115: };
1115: 
1115: class CSetting;
1115: using SettingControlListValueFormatter =
1115:     std::string (*)(const std::shared_ptr<const CSetting>& setting);
1115: 
1115: class CSettingControlList : public CSettingControlFormattedRange
1115: {
1115: public:
1115:   CSettingControlList() = default;
1115:   ~CSettingControlList() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "list"; }
1115: 
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115:   bool SetFormat(const std::string &format) override;
1115: 
1115:   int GetHeading() const { return m_heading; }
1115:   void SetHeading(int heading) { m_heading = heading; }
1115:   bool CanMultiSelect() const { return m_multiselect; }
1115:   void SetMultiSelect(bool multiselect) { m_multiselect = multiselect; }
1115:   bool HideValue() const { return m_hideValue; }
1115:   void SetHideValue(bool hideValue) { m_hideValue = hideValue; }
1115:   int GetAddButtonLabel() const { return m_addButtonLabel; }
1115:   void SetAddButtonLabel(int label) { m_addButtonLabel = label; }
1115: 
1115:   SettingControlListValueFormatter GetFormatter() const { return m_formatter; }
1115:   void SetFormatter(SettingControlListValueFormatter formatter) { m_formatter = formatter; }
1115: 
1115:   bool UseDetails() const { return m_useDetails; }
1115:   void SetUseDetails(bool useDetails) { m_useDetails = useDetails; }
1115: 
1115: protected:
1115:   int m_heading = -1;
1115:   bool m_multiselect = false;
1115:   bool m_hideValue = false;
1115:   int m_addButtonLabel = -1;
1115:   SettingControlListValueFormatter m_formatter = nullptr;
1115:   bool m_useDetails{false};
1115: };
1115: 
1115: class CSettingControlSlider;
1115: using SettingControlSliderFormatter =
1115:     std::string (*)(const std::shared_ptr<const CSettingControlSlider>& control,
1115:                     const CVariant& value,
1115:                     const CVariant& minimum,
1115:                     const CVariant& step,
1115:                     const CVariant& maximum);
1115: 
1115: class CSettingControlSlider : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlSlider() = default;
1115:   ~CSettingControlSlider() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "slider"; }
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115:   bool SetFormat(const std::string &format) override;
1115: 
1115:   int GetHeading() const { return m_heading; }
1115:   void SetHeading(int heading) { m_heading = heading; }
1115:   bool UsePopup() const { return m_popup; }
1115:   void SetPopup(bool popup) { m_popup = popup; }
1115:   int GetFormatLabel() const { return m_formatLabel; }
1115:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1115:   const std::string& GetFormatString() const { return m_formatString; }
1115:   void SetFormatString(const std::string &formatString) { m_formatString = formatString; }
1115:   std::string GetDefaultFormatString() const;
1115: 
1115:   SettingControlSliderFormatter GetFormatter() const { return m_formatter; }
1115:   void SetFormatter(SettingControlSliderFormatter formatter) { m_formatter = formatter; }
1115: 
1115: protected:
1115:   int m_heading = -1;
1115:   bool m_popup = false;
1115:   int m_formatLabel = -1;
1115:   std::string m_formatString;
1115:   SettingControlSliderFormatter m_formatter = nullptr;
1115: };
1115: 
1115: class CSettingControlRange : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlRange() = default;
1115:   ~CSettingControlRange() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "range"; }
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115:   bool SetFormat(const std::string &format) override;
1115: 
1115:   int GetFormatLabel() const { return m_formatLabel; }
1115:   void SetFormatLabel(int formatLabel) { m_formatLabel = formatLabel; }
1115:   int GetValueFormatLabel() const { return m_valueFormatLabel; }
1115:   void SetValueFormatLabel(int valueFormatLabel) { m_valueFormatLabel = valueFormatLabel; }
1115:   const std::string& GetValueFormat() const { return m_valueFormat; }
1115:   void SetValueFormat(const std::string &valueFormat) { m_valueFormat = valueFormat; }
1115: 
1115: protected:
1115:   int m_formatLabel = 21469;
1115:   int m_valueFormatLabel = -1;
1115:   std::string m_valueFormat = "{}";
1115: };
1115: 
1115: class CSettingControlTitle : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlTitle() = default;
1115:   ~CSettingControlTitle() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "title"; }
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   bool IsSeparatorHidden() const { return m_separatorHidden; }
1115:   void SetSeparatorHidden(bool hidden) { m_separatorHidden = hidden; }
1115:   bool IsSeparatorBelowLabel() const { return m_separatorBelowLabel; }
1115:   void SetSeparatorBelowLabel(bool below) { m_separatorBelowLabel = below; }
1115: 
1115: protected:
1115:   bool m_separatorHidden = false;
1115:   bool m_separatorBelowLabel = true;
1115: };
1115: 
1115: class CSettingControlLabel : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlLabel();
1115:   ~CSettingControlLabel() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "label"; }
1115: };
1115: 
1115: class CSettingControlColorButton : public ISettingControl
1115: {
1115: public:
1115:   CSettingControlColorButton() { m_format = "string"; }
1115:   ~CSettingControlColorButton() override = default;
1115: 
1115: 
1115:   std::string GetType() const override { return "colorbutton"; }
1115:   bool SetFormat(const std::string& format) override;
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: class CSetting;
1115: class CSettingsManager;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class ISettingCreator
1115: {
1115: public:
1115:   virtual ~ISettingCreator() = default;
1115: # 34 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISettingCreator.h"
1115:   virtual std::shared_ptr<CSetting> CreateSetting(const std::string &settingType, const std::string &settingId, CSettingsManager *settingsManager = nullptr) const = 0;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingCreator.h" 2
1115: 
1115: class CSettingCreator : public ISettingCreator
1115: {
1115: public:
1115: 
1115:   std::shared_ptr<CSetting> CreateSetting(const std::string &settingType, const std::string &settingId, CSettingsManager *settingsManager = nullptr) const override;
1115: 
1115: protected:
1115:   CSettingCreator() = default;
1115:   ~CSettingCreator() override = default;
1115: };
1115: # 14 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1115:        
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1115: class CSetting;
1115: class CSettingSection;
1115: class CSettingsManager;
1115: class CVariant;
1115: class CXBMCTinyXML;
1115: class TiXmlElement;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettingsBase
1115: {
1115: public:
1115:   virtual ~CSettingsBase();
1115: 
1115:   CSettingsManager* GetSettingsManager() const { return m_settingsManager; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool Initialize();
1115: 
1115: 
1115: 
1115:   virtual bool IsInitialized() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool Load() = 0;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void SetLoaded();
1115: 
1115: 
1115: 
1115:   virtual bool IsLoaded() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool Save() = 0;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void Unload();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void Uninitialize();
1115: # 94 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1115:   void RegisterCallback(ISettingCallback* callback, const std::set<std::string>& settingList);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void UnregisterCallback(ISettingCallback* callback);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::shared_ptr<CSetting> GetSetting(const std::string& id) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::vector<std::shared_ptr<CSettingSection>> GetSections() const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::shared_ptr<CSettingSection> GetSection(const std::string& section) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool GetBool(const std::string& id) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   int GetInt(const std::string& id) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   double GetNumber(const std::string& id) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::string GetString(const std::string& id) const;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::vector<CVariant> GetList(const std::string& id) const;
1115: # 166 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1115:   bool SetBool(const std::string& id, bool value);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool ToggleBool(const std::string& id);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SetInt(const std::string& id, int value);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SetNumber(const std::string& id, double value);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SetString(const std::string& id, const std::string& value);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SetList(const std::string& id, const std::vector<CVariant>& value);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SetDefault(const std::string &id);
1115: 
1115: 
1115: 
1115:   void SetDefaults();
1115: 
1115: protected:
1115:   CSettingsBase();
1115: 
1115:   virtual void InitializeSettingTypes() { }
1115:   virtual void InitializeControls() { }
1115:   virtual void InitializeOptionFillers() { }
1115:   virtual void UninitializeOptionFillers() { }
1115:   virtual void InitializeConditions() { }
1115:   virtual void UninitializeConditions() { }
1115:   virtual bool InitializeDefinitions() = 0;
1115:   virtual void InitializeVisibility() { }
1115:   virtual void InitializeDefaults() { }
1115:   virtual void InitializeISettingsHandlers() { }
1115:   virtual void UninitializeISettingsHandlers() { }
1115:   virtual void InitializeISubSettings() { }
1115:   virtual void UninitializeISubSettings() { }
1115:   virtual void InitializeISettingCallbacks() { }
1115:   virtual void UninitializeISettingCallbacks() { }
1115: 
1115:   bool InitializeDefinitionsFromXml(const CXBMCTinyXML& xml);
1115: # 247 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1115:   bool LoadValuesFromXml(const CXBMCTinyXML& xml, bool& updated);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool SaveValuesToXml(CXBMCTinyXML& xml) const;
1115: # 263 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsBase.h"
1115:   bool LoadValuesFromXml(const TiXmlElement* root, bool& updated);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool LoadHiddenValuesFromXml(const TiXmlElement* root);
1115: 
1115:   bool m_initialized = false;
1115:   CSettingsManager* m_settingsManager;
1115:   mutable CCriticalSection m_critical;
1115: private:
1115:   CSettingsBase(const CSettingsBase&) = delete;
1115:   CSettingsBase& operator=(const CSettingsBase&) = delete;
1115: };
1115: # 15 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h" 2
1115: 
1115: 
1115: 
1115: class CSettingList;
1115: class TiXmlNode;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettings : public CSettingsBase, public CSettingCreator, public CSettingControlCreator
1115:                 , private ISubSettings
1115: {
1115: public:
1115:   static constexpr auto SETTING_LOOKANDFEEL_SKIN = "lookandfeel.skin";
1115:   static constexpr auto SETTING_LOOKANDFEEL_SKINSETTINGS = "lookandfeel.skinsettings";
1115:   static constexpr auto SETTING_LOOKANDFEEL_SKINTHEME = "lookandfeel.skintheme";
1115:   static constexpr auto SETTING_LOOKANDFEEL_SKINCOLORS = "lookandfeel.skincolors";
1115:   static constexpr auto SETTING_LOOKANDFEEL_FONT = "lookandfeel.font";
1115:   static constexpr auto SETTING_LOOKANDFEEL_SKINZOOM = "lookandfeel.skinzoom";
1115:   static constexpr auto SETTING_LOOKANDFEEL_STARTUPACTION = "lookandfeel.startupaction";
1115:   static constexpr auto SETTING_LOOKANDFEEL_STARTUPWINDOW = "lookandfeel.startupwindow";
1115:   static constexpr auto SETTING_LOOKANDFEEL_SOUNDSKIN = "lookandfeel.soundskin";
1115:   static constexpr auto SETTING_LOOKANDFEEL_ENABLERSSFEEDS = "lookandfeel.enablerssfeeds";
1115:   static constexpr auto SETTING_LOOKANDFEEL_RSSEDIT = "lookandfeel.rssedit";
1115:   static constexpr auto SETTING_LOOKANDFEEL_STEREOSTRENGTH = "lookandfeel.stereostrength";
1115:   static constexpr auto SETTING_LOCALE_LANGUAGE = "locale.language";
1115:   static constexpr auto SETTING_LOCALE_COUNTRY = "locale.country";
1115:   static constexpr auto SETTING_LOCALE_CHARSET = "locale.charset";
1115:   static constexpr auto SETTING_LOCALE_KEYBOARDLAYOUTS = "locale.keyboardlayouts";
1115:   static constexpr auto SETTING_LOCALE_ACTIVEKEYBOARDLAYOUT = "locale.activekeyboardlayout";
1115:   static constexpr auto SETTING_LOCALE_TIMEZONECOUNTRY = "locale.timezonecountry";
1115:   static constexpr auto SETTING_LOCALE_TIMEZONE = "locale.timezone";
1115:   static constexpr auto SETTING_LOCALE_SHORTDATEFORMAT = "locale.shortdateformat";
1115:   static constexpr auto SETTING_LOCALE_LONGDATEFORMAT = "locale.longdateformat";
1115:   static constexpr auto SETTING_LOCALE_TIMEFORMAT = "locale.timeformat";
1115:   static constexpr auto SETTING_LOCALE_USE24HOURCLOCK = "locale.use24hourclock";
1115:   static constexpr auto SETTING_LOCALE_TEMPERATUREUNIT = "locale.temperatureunit";
1115:   static constexpr auto SETTING_LOCALE_SPEEDUNIT = "locale.speedunit";
1115:   static constexpr auto SETTING_FILELISTS_SHOWPARENTDIRITEMS = "filelists.showparentdiritems";
1115:   static constexpr auto SETTING_FILELISTS_SHOWEXTENSIONS = "filelists.showextensions";
1115:   static constexpr auto SETTING_FILELISTS_IGNORETHEWHENSORTING = "filelists.ignorethewhensorting";
1115:   static constexpr auto SETTING_FILELISTS_ALLOWFILEDELETION = "filelists.allowfiledeletion";
1115:   static constexpr auto SETTING_FILELISTS_SHOWADDSOURCEBUTTONS = "filelists.showaddsourcebuttons";
1115:   static constexpr auto SETTING_FILELISTS_SHOWHIDDEN = "filelists.showhidden";
1115:   static constexpr auto SETTING_SCREENSAVER_MODE = "screensaver.mode";
1115:   static constexpr auto SETTING_SCREENSAVER_SETTINGS = "screensaver.settings";
1115:   static constexpr auto SETTING_SCREENSAVER_PREVIEW = "screensaver.preview";
1115:   static constexpr auto SETTING_SCREENSAVER_TIME = "screensaver.time";
1115:   static constexpr auto SETTING_SCREENSAVER_USEMUSICVISINSTEAD = "screensaver.usemusicvisinstead";
1115:   static constexpr auto SETTING_SCREENSAVER_USEDIMONPAUSE = "screensaver.usedimonpause";
1115:   static constexpr auto SETTING_WINDOW_WIDTH = "window.width";
1115:   static constexpr auto SETTING_WINDOW_HEIGHT = "window.height";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWUNWATCHEDPLOTS = "videolibrary.showunwatchedplots";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_ACTORTHUMBS = "videolibrary.actorthumbs";
1115:   static constexpr auto SETTING_MYVIDEOS_FLATTEN = "myvideos.flatten";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_FLATTENTVSHOWS = "videolibrary.flattentvshows";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWSSELECTFIRSTUNWATCHEDITEM =
1115:       "videolibrary.tvshowsselectfirstunwatcheditem";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWSINCLUDEALLSEASONSANDSPECIALS =
1115:       "videolibrary.tvshowsincludeallseasonsandspecials";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWALLITEMS = "videolibrary.showallitems";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_GROUPMOVIESETS = "videolibrary.groupmoviesets";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_GROUPSINGLEITEMSETS =
1115:       "videolibrary.groupsingleitemsets";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_UPDATEONSTARTUP = "videolibrary.updateonstartup";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_BACKGROUNDUPDATE = "videolibrary.backgroundupdate";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_CLEANUP = "videolibrary.cleanup";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_EXPORT = "videolibrary.export";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_IMPORT = "videolibrary.import";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWEMPTYTVSHOWS = "videolibrary.showemptytvshows";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_MOVIESETSFOLDER = "videolibrary.moviesetsfolder";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_ARTWORK_LEVEL = "videolibrary.artworklevel";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_MOVIEART_WHITELIST = "videolibrary.movieartwhitelist";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_TVSHOWART_WHITELIST =
1115:       "videolibrary.tvshowartwhitelist";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_EPISODEART_WHITELIST =
1115:       "videolibrary.episodeartwhitelist";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_MUSICVIDEOART_WHITELIST =
1115:       "videolibrary.musicvideoartwhitelist";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_ARTSETTINGS_UPDATED =
1115:       "videolibrary.artsettingsupdated";
1115:   static constexpr auto SETTING_VIDEOLIBRARY_SHOWPERFORMERS =
1115:       "videolibrary.musicvideosallperformers";
1115:   static constexpr auto SETTING_LOCALE_AUDIOLANGUAGE = "locale.audiolanguage";
1115:   static constexpr auto SETTING_VIDEOPLAYER_PREFERDEFAULTFLAG = "videoplayer.preferdefaultflag";
1115:   static constexpr auto SETTING_VIDEOPLAYER_AUTOPLAYNEXTITEM = "videoplayer.autoplaynextitem";
1115:   static constexpr auto SETTING_VIDEOPLAYER_SEEKSTEPS = "videoplayer.seeksteps";
1115:   static constexpr auto SETTING_VIDEOPLAYER_SEEKDELAY = "videoplayer.seekdelay";
1115:   static constexpr auto SETTING_VIDEOPLAYER_ADJUSTREFRESHRATE = "videoplayer.adjustrefreshrate";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEDISPLAYASCLOCK = "videoplayer.usedisplayasclock";
1115:   static constexpr auto SETTING_VIDEOPLAYER_ERRORINASPECT = "videoplayer.errorinaspect";
1115:   static constexpr auto SETTING_VIDEOPLAYER_STRETCH43 = "videoplayer.stretch43";
1115:   static constexpr auto SETTING_VIDEOPLAYER_TELETEXTENABLED = "videoplayer.teletextenabled";
1115:   static constexpr auto SETTING_VIDEOPLAYER_TELETEXTSCALE = "videoplayer.teletextscale";
1115:   static constexpr auto SETTING_VIDEOPLAYER_STEREOSCOPICPLAYBACKMODE =
1115:       "videoplayer.stereoscopicplaybackmode";
1115:   static constexpr auto SETTING_VIDEOPLAYER_QUITSTEREOMODEONSTOP =
1115:       "videoplayer.quitstereomodeonstop";
1115:   static constexpr auto SETTING_VIDEOPLAYER_RENDERMETHOD = "videoplayer.rendermethod";
1115:   static constexpr auto SETTING_VIDEOPLAYER_HQSCALERS = "videoplayer.hqscalers";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEMEDIACODEC = "videoplayer.usemediacodec";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEMEDIACODECSURFACE =
1115:       "videoplayer.usemediacodecsurface";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAU = "videoplayer.usevdpau";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMIXER = "videoplayer.usevdpaumixer";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMPEG2 = "videoplayer.usevdpaumpeg2";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUMPEG4 = "videoplayer.usevdpaumpeg4";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEVDPAUVC1 = "videoplayer.usevdpauvc1";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEDXVA2 = "videoplayer.usedxva2";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEVTB = "videoplayer.usevtb";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USEPRIMEDECODER = "videoplayer.useprimedecoder";
1115:   static constexpr auto SETTING_VIDEOPLAYER_USESTAGEFRIGHT = "videoplayer.usestagefright";
1115:   static constexpr auto SETTING_VIDEOPLAYER_LIMITGUIUPDATE = "videoplayer.limitguiupdate";
1115:   static constexpr auto SETTING_VIDEOPLAYER_SUPPORTMVC = "videoplayer.supportmvc";
1115:   static constexpr auto SETTING_MYVIDEOS_SELECTACTION = "myvideos.selectaction";
1115:   static constexpr auto SETTING_MYVIDEOS_USETAGS = "myvideos.usetags";
1115:   static constexpr auto SETTING_MYVIDEOS_EXTRACTFLAGS = "myvideos.extractflags";
1115:   static constexpr auto SETTING_MYVIDEOS_EXTRACTCHAPTERTHUMBS = "myvideos.extractchapterthumbs";
1115:   static constexpr auto SETTING_MYVIDEOS_REPLACELABELS = "myvideos.replacelabels";
1115:   static constexpr auto SETTING_MYVIDEOS_EXTRACTTHUMB = "myvideos.extractthumb";
1115:   static constexpr auto SETTING_MYVIDEOS_STACKVIDEOS = "myvideos.stackvideos";
1115:   static constexpr auto SETTING_LOCALE_SUBTITLELANGUAGE = "locale.subtitlelanguage";
1115:   static constexpr auto SETTING_SUBTITLES_PARSECAPTIONS = "subtitles.parsecaptions";
1115:   static constexpr auto SETTING_SUBTITLES_CAPTIONSALIGN = "subtitles.captionsalign";
1115:   static constexpr auto SETTING_SUBTITLES_ALIGN = "subtitles.align";
1115:   static constexpr auto SETTING_SUBTITLES_STEREOSCOPICDEPTH = "subtitles.stereoscopicdepth";
1115:   static constexpr auto SETTING_SUBTITLES_FONTNAME = "subtitles.fontname";
1115:   static constexpr auto SETTING_SUBTITLES_FONTSIZE = "subtitles.fontsize";
1115:   static constexpr auto SETTING_SUBTITLES_STYLE = "subtitles.style";
1115:   static constexpr auto SETTING_SUBTITLES_COLOR = "subtitles.colorpick";
1115:   static constexpr auto SETTING_SUBTITLES_BORDERSIZE = "subtitles.bordersize";
1115:   static constexpr auto SETTING_SUBTITLES_BORDERCOLOR = "subtitles.bordercolorpick";
1115:   static constexpr auto SETTING_SUBTITLES_OPACITY = "subtitles.opacity";
1115:   static constexpr auto SETTING_SUBTITLES_BLUR = "subtitles.blur";
1115:   static constexpr auto SETTING_SUBTITLES_BACKGROUNDTYPE = "subtitles.backgroundtype";
1115:   static constexpr auto SETTING_SUBTITLES_SHADOWCOLOR = "subtitles.shadowcolor";
1115:   static constexpr auto SETTING_SUBTITLES_SHADOWOPACITY = "subtitles.shadowopacity";
1115:   static constexpr auto SETTING_SUBTITLES_SHADOWSIZE = "subtitles.shadowsize";
1115:   static constexpr auto SETTING_SUBTITLES_BGCOLOR = "subtitles.bgcolorpick";
1115:   static constexpr auto SETTING_SUBTITLES_BGOPACITY = "subtitles.bgopacity";
1115:   static constexpr auto SETTING_SUBTITLES_MARGINVERTICAL = "subtitles.marginvertical";
1115:   static constexpr auto SETTING_SUBTITLES_CHARSET = "subtitles.charset";
1115:   static constexpr auto SETTING_SUBTITLES_OVERRIDEFONTS = "subtitles.overridefonts";
1115:   static constexpr auto SETTING_SUBTITLES_OVERRIDESTYLES = "subtitles.overridestyles";
1115:   static constexpr auto SETTING_SUBTITLES_LANGUAGES = "subtitles.languages";
1115:   static constexpr auto SETTING_SUBTITLES_STORAGEMODE = "subtitles.storagemode";
1115:   static constexpr auto SETTING_SUBTITLES_CUSTOMPATH = "subtitles.custompath";
1115:   static constexpr auto SETTING_SUBTITLES_PAUSEONSEARCH = "subtitles.pauseonsearch";
1115:   static constexpr auto SETTING_SUBTITLES_DOWNLOADFIRST = "subtitles.downloadfirst";
1115:   static constexpr auto SETTING_SUBTITLES_TV = "subtitles.tv";
1115:   static constexpr auto SETTING_SUBTITLES_MOVIE = "subtitles.movie";
1115:   static constexpr auto SETTING_DVDS_AUTORUN = "dvds.autorun";
1115:   static constexpr auto SETTING_DVDS_PLAYERREGION = "dvds.playerregion";
1115:   static constexpr auto SETTING_DVDS_AUTOMENU = "dvds.automenu";
1115:   static constexpr auto SETTING_DISC_PLAYBACK = "disc.playback";
1115:   static constexpr auto SETTING_BLURAY_PLAYERREGION = "bluray.playerregion";
1115:   static constexpr auto SETTING_ACCESSIBILITY_AUDIOVISUAL = "accessibility.audiovisual";
1115:   static constexpr auto SETTING_ACCESSIBILITY_AUDIOHEARING = "accessibility.audiohearing";
1115:   static constexpr auto SETTING_ACCESSIBILITY_SUBHEARING = "accessibility.subhearing";
1115:   static constexpr auto SETTING_SCRAPERS_MOVIESDEFAULT = "scrapers.moviesdefault";
1115:   static constexpr auto SETTING_SCRAPERS_TVSHOWSDEFAULT = "scrapers.tvshowsdefault";
1115:   static constexpr auto SETTING_SCRAPERS_MUSICVIDEOSDEFAULT = "scrapers.musicvideosdefault";
1115:   static constexpr auto SETTING_PVRMANAGER_PRESELECTPLAYINGCHANNEL =
1115:       "pvrmanager.preselectplayingchannel";
1115:   static constexpr auto SETTING_PVRMANAGER_SYNCCHANNELGROUPS = "pvrmanager.syncchannelgroups";
1115:   static constexpr auto SETTING_PVRMANAGER_BACKENDCHANNELORDER = "pvrmanager.backendchannelorder";
1115:   static constexpr auto SETTING_PVRMANAGER_USEBACKENDCHANNELNUMBERS =
1115:       "pvrmanager.usebackendchannelnumbers";
1115:   static constexpr auto SETTING_PVRMANAGER_USEBACKENDCHANNELNUMBERSALWAYS =
1115:       "pvrmanager.usebackendchannelnumbersalways";
1115:   static constexpr auto SETTING_PVRMANAGER_STARTGROUPCHANNELNUMBERSFROMONE =
1115:       "pvrmanager.startgroupchannelnumbersfromone";
1115:   static constexpr auto SETTING_PVRMANAGER_CLIENTPRIORITIES = "pvrmanager.clientpriorities";
1115:   static constexpr auto SETTING_PVRMANAGER_CHANNELMANAGER = "pvrmanager.channelmanager";
1115:   static constexpr auto SETTING_PVRMANAGER_GROUPMANAGER = "pvrmanager.groupmanager";
1115:   static constexpr auto SETTING_PVRMANAGER_CHANNELSCAN = "pvrmanager.channelscan";
1115:   static constexpr auto SETTING_PVRMANAGER_RESETDB = "pvrmanager.resetdb";
1115:   static constexpr auto SETTING_PVRMANAGER_ADDONS = "pvrmanager.addons";
1115:   static constexpr auto SETTING_PVRMENU_DISPLAYCHANNELINFO = "pvrmenu.displaychannelinfo";
1115:   static constexpr auto SETTING_PVRMENU_CLOSECHANNELOSDONSWITCH = "pvrmenu.closechannelosdonswitch";
1115:   static constexpr auto SETTING_PVRMENU_ICONPATH = "pvrmenu.iconpath";
1115:   static constexpr auto SETTING_PVRMENU_SEARCHICONS = "pvrmenu.searchicons";
1115:   static constexpr auto SETTING_EPG_PAST_DAYSTODISPLAY = "epg.pastdaystodisplay";
1115:   static constexpr auto SETTING_EPG_FUTURE_DAYSTODISPLAY = "epg.futuredaystodisplay";
1115:   static constexpr auto SETTING_EPG_SELECTACTION = "epg.selectaction";
1115:   static constexpr auto SETTING_EPG_HIDENOINFOAVAILABLE = "epg.hidenoinfoavailable";
1115:   static constexpr auto SETTING_EPG_EPGUPDATE = "epg.epgupdate";
1115:   static constexpr auto SETTING_EPG_PREVENTUPDATESWHILEPLAYINGTV =
1115:       "epg.preventupdateswhileplayingtv";
1115:   static constexpr auto SETTING_EPG_RESETEPG = "epg.resetepg";
1115:   static constexpr auto SETTING_PVRPLAYBACK_SWITCHTOFULLSCREENCHANNELTYPES =
1115:       "pvrplayback.switchtofullscreenchanneltypes";
1115:   static constexpr auto SETTING_PVRPLAYBACK_SIGNALQUALITY = "pvrplayback.signalquality";
1115:   static constexpr auto SETTING_PVRPLAYBACK_CONFIRMCHANNELSWITCH =
1115:       "pvrplayback.confirmchannelswitch";
1115:   static constexpr auto SETTING_PVRPLAYBACK_CHANNELENTRYTIMEOUT = "pvrplayback.channelentrytimeout";
1115:   static constexpr auto SETTING_PVRPLAYBACK_DELAYMARKLASTWATCHED =
1115:       "pvrplayback.delaymarklastwatched";
1115:   static constexpr auto SETTING_PVRPLAYBACK_FPS = "pvrplayback.fps";
1115:   static constexpr auto SETTING_PVRRECORD_INSTANTRECORDACTION = "pvrrecord.instantrecordaction";
1115:   static constexpr auto SETTING_PVRRECORD_INSTANTRECORDTIME = "pvrrecord.instantrecordtime";
1115:   static constexpr auto SETTING_PVRRECORD_MARGINSTART = "pvrrecord.marginstart";
1115:   static constexpr auto SETTING_PVRRECORD_MARGINEND = "pvrrecord.marginend";
1115:   static constexpr auto SETTING_PVRRECORD_TIMERNOTIFICATIONS = "pvrrecord.timernotifications";
1115:   static constexpr auto SETTING_PVRRECORD_GROUPRECORDINGS = "pvrrecord.grouprecordings";
1115:   static constexpr auto SETTING_PVRREMINDERS_AUTOCLOSEDELAY = "pvrreminders.autoclosedelay";
1115:   static constexpr auto SETTING_PVRREMINDERS_AUTORECORD = "pvrreminders.autorecord";
1115:   static constexpr auto SETTING_PVRREMINDERS_AUTOSWITCH = "pvrreminders.autoswitch";
1115:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_ENABLED = "pvrpowermanagement.enabled";
1115:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_BACKENDIDLETIME =
1115:       "pvrpowermanagement.backendidletime";
1115:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_SETWAKEUPCMD = "pvrpowermanagement.setwakeupcmd";
1115:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_PREWAKEUP = "pvrpowermanagement.prewakeup";
1115:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_DAILYWAKEUP = "pvrpowermanagement.dailywakeup";
1115:   static constexpr auto SETTING_PVRPOWERMANAGEMENT_DAILYWAKEUPTIME =
1115:       "pvrpowermanagement.dailywakeuptime";
1115:   static constexpr auto SETTING_PVRPARENTAL_ENABLED = "pvrparental.enabled";
1115:   static constexpr auto SETTING_PVRPARENTAL_PIN = "pvrparental.pin";
1115:   static constexpr auto SETTING_PVRPARENTAL_DURATION = "pvrparental.duration";
1115:   static constexpr auto SETTING_PVRCLIENT_MENUHOOK = "pvrclient.menuhook";
1115:   static constexpr auto SETTING_PVRTIMERS_HIDEDISABLEDTIMERS = "pvrtimers.hidedisabledtimers";
1115:   static constexpr auto SETTING_MUSICLIBRARY_SHOWCOMPILATIONARTISTS =
1115:       "musiclibrary.showcompilationartists";
1115:   static constexpr auto SETTING_MUSICLIBRARY_SHOWDISCS = "musiclibrary.showdiscs";
1115:   static constexpr auto SETTING_MUSICLIBRARY_USEORIGINALDATE = "musiclibrary.useoriginaldate";
1115:   static constexpr auto SETTING_MUSICLIBRARY_USEARTISTSORTNAME = "musiclibrary.useartistsortname";
1115:   static constexpr auto SETTING_MUSICLIBRARY_DOWNLOADINFO = "musiclibrary.downloadinfo";
1115:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTSFOLDER = "musiclibrary.artistsfolder";
1115:   static constexpr auto SETTING_MUSICLIBRARY_PREFERONLINEALBUMART =
1115:       "musiclibrary.preferonlinealbumart";
1115:   static constexpr auto SETTING_MUSICLIBRARY_ARTWORKLEVEL = "musiclibrary.artworklevel";
1115:   static constexpr auto SETTING_MUSICLIBRARY_USEALLLOCALART = "musiclibrary.usealllocalart";
1115:   static constexpr auto SETTING_MUSICLIBRARY_USEALLREMOTEART = "musiclibrary.useallremoteart";
1115:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTART_WHITELIST =
1115:       "musiclibrary.artistartwhitelist";
1115:   static constexpr auto SETTING_MUSICLIBRARY_ALBUMART_WHITELIST = "musiclibrary.albumartwhitelist";
1115:   static constexpr auto SETTING_MUSICLIBRARY_MUSICTHUMBS = "musiclibrary.musicthumbs";
1115:   static constexpr auto SETTING_MUSICLIBRARY_ARTSETTINGS_UPDATED = "musiclibrary.artsettings";
1115:   static constexpr auto SETTING_MUSICLIBRARY_ALBUMSSCRAPER = "musiclibrary.albumsscraper";
1115:   static constexpr auto SETTING_MUSICLIBRARY_ARTISTSSCRAPER = "musiclibrary.artistsscraper";
1115:   static constexpr auto SETTING_MUSICLIBRARY_OVERRIDETAGS = "musiclibrary.overridetags";
1115:   static constexpr auto SETTING_MUSICLIBRARY_SHOWALLITEMS = "musiclibrary.showallitems";
1115:   static constexpr auto SETTING_MUSICLIBRARY_UPDATEONSTARTUP = "musiclibrary.updateonstartup";
1115:   static constexpr auto SETTING_MUSICLIBRARY_BACKGROUNDUPDATE = "musiclibrary.backgroundupdate";
1115:   static constexpr auto SETTING_MUSICLIBRARY_CLEANUP = "musiclibrary.cleanup";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT = "musiclibrary.export";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_FILETYPE = "musiclibrary.exportfiletype";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_FOLDER = "musiclibrary.exportfolder";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_ITEMS = "musiclibrary.exportitems";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_UNSCRAPED = "musiclibrary.exportunscraped";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_OVERWRITE = "musiclibrary.exportoverwrite";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_ARTWORK = "musiclibrary.exportartwork";
1115:   static constexpr auto SETTING_MUSICLIBRARY_EXPORT_SKIPNFO = "musiclibrary.exportskipnfo";
1115:   static constexpr auto SETTING_MUSICLIBRARY_IMPORT = "musiclibrary.import";
1115:   static constexpr auto SETTING_MUSICPLAYER_AUTOPLAYNEXTITEM = "musicplayer.autoplaynextitem";
1115:   static constexpr auto SETTING_MUSICPLAYER_QUEUEBYDEFAULT = "musicplayer.queuebydefault";
1115:   static constexpr auto SETTING_MUSICPLAYER_SEEKSTEPS = "musicplayer.seeksteps";
1115:   static constexpr auto SETTING_MUSICPLAYER_SEEKDELAY = "musicplayer.seekdelay";
1115:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINTYPE = "musicplayer.replaygaintype";
1115:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINPREAMP = "musicplayer.replaygainpreamp";
1115:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINNOGAINPREAMP =
1115:       "musicplayer.replaygainnogainpreamp";
1115:   static constexpr auto SETTING_MUSICPLAYER_REPLAYGAINAVOIDCLIPPING =
1115:       "musicplayer.replaygainavoidclipping";
1115:   static constexpr auto SETTING_MUSICPLAYER_CROSSFADE = "musicplayer.crossfade";
1115:   static constexpr auto SETTING_MUSICPLAYER_CROSSFADEALBUMTRACKS =
1115:       "musicplayer.crossfadealbumtracks";
1115:   static constexpr auto SETTING_MUSICPLAYER_VISUALISATION = "musicplayer.visualisation";
1115:   static constexpr auto SETTING_MUSICFILES_SELECTACTION = "musicfiles.selectaction";
1115:   static constexpr auto SETTING_MUSICFILES_USETAGS = "musicfiles.usetags";
1115:   static constexpr auto SETTING_MUSICFILES_TRACKFORMAT = "musicfiles.trackformat";
1115:   static constexpr auto SETTING_MUSICFILES_NOWPLAYINGTRACKFORMAT =
1115:       "musicfiles.nowplayingtrackformat";
1115:   static constexpr auto SETTING_MUSICFILES_LIBRARYTRACKFORMAT = "musicfiles.librarytrackformat";
1115:   static constexpr auto SETTING_MUSICFILES_FINDREMOTETHUMBS = "musicfiles.findremotethumbs";
1115:   static constexpr auto SETTING_AUDIOCDS_AUTOACTION = "audiocds.autoaction";
1115:   static constexpr auto SETTING_AUDIOCDS_USECDDB = "audiocds.usecddb";
1115:   static constexpr auto SETTING_AUDIOCDS_RECORDINGPATH = "audiocds.recordingpath";
1115:   static constexpr auto SETTING_AUDIOCDS_TRACKPATHFORMAT = "audiocds.trackpathformat";
1115:   static constexpr auto SETTING_AUDIOCDS_ENCODER = "audiocds.encoder";
1115:   static constexpr auto SETTING_AUDIOCDS_SETTINGS = "audiocds.settings";
1115:   static constexpr auto SETTING_AUDIOCDS_EJECTONRIP = "audiocds.ejectonrip";
1115:   static constexpr auto SETTING_MYMUSIC_SONGTHUMBINVIS = "mymusic.songthumbinvis";
1115:   static constexpr auto SETTING_MYMUSIC_DEFAULTLIBVIEW = "mymusic.defaultlibview";
1115:   static constexpr auto SETTING_PICTURES_USETAGS = "pictures.usetags";
1115:   static constexpr auto SETTING_PICTURES_GENERATETHUMBS = "pictures.generatethumbs";
1115:   static constexpr auto SETTING_PICTURES_SHOWVIDEOS = "pictures.showvideos";
1115:   static constexpr auto SETTING_PICTURES_DISPLAYRESOLUTION = "pictures.displayresolution";
1115:   static constexpr auto SETTING_SLIDESHOW_STAYTIME = "slideshow.staytime";
1115:   static constexpr auto SETTING_SLIDESHOW_DISPLAYEFFECTS = "slideshow.displayeffects";
1115:   static constexpr auto SETTING_SLIDESHOW_SHUFFLE = "slideshow.shuffle";
1115:   static constexpr auto SETTING_SLIDESHOW_HIGHQUALITYDOWNSCALING =
1115:       "slideshow.highqualitydownscaling";
1115:   static constexpr auto SETTING_WEATHER_CURRENTLOCATION = "weather.currentlocation";
1115:   static constexpr auto SETTING_WEATHER_ADDON = "weather.addon";
1115:   static constexpr auto SETTING_WEATHER_ADDONSETTINGS = "weather.addonsettings";
1115:   static constexpr auto SETTING_SERVICES_DEVICENAME = "services.devicename";
1115:   static constexpr auto SETTING_SERVICES_DEVICEUUID = "services.deviceuuid";
1115:   static constexpr auto SETTING_SERVICES_UPNP = "services.upnp";
1115:   static constexpr auto SETTING_SERVICES_UPNPSERVER = "services.upnpserver";
1115:   static constexpr auto SETTING_SERVICES_UPNPANNOUNCE = "services.upnpannounce";
1115:   static constexpr auto SETTING_SERVICES_UPNPLOOKFOREXTERNALSUBTITLES =
1115:       "services.upnplookforexternalsubtitles";
1115:   static constexpr auto SETTING_SERVICES_UPNPCONTROLLER = "services.upnpcontroller";
1115:   static constexpr auto SETTING_SERVICES_UPNPRENDERER = "services.upnprenderer";
1115:   static constexpr auto SETTING_SERVICES_WEBSERVER = "services.webserver";
1115:   static constexpr auto SETTING_SERVICES_WEBSERVERPORT = "services.webserverport";
1115:   static constexpr auto SETTING_SERVICES_WEBSERVERAUTHENTICATION =
1115:       "services.webserverauthentication";
1115:   static constexpr auto SETTING_SERVICES_WEBSERVERUSERNAME = "services.webserverusername";
1115:   static constexpr auto SETTING_SERVICES_WEBSERVERPASSWORD = "services.webserverpassword";
1115:   static constexpr auto SETTING_SERVICES_WEBSERVERSSL = "services.webserverssl";
1115:   static constexpr auto SETTING_SERVICES_WEBSKIN = "services.webskin";
1115:   static constexpr auto SETTING_SERVICES_ESENABLED = "services.esenabled";
1115:   static constexpr auto SETTING_SERVICES_ESPORT = "services.esport";
1115:   static constexpr auto SETTING_SERVICES_ESPORTRANGE = "services.esportrange";
1115:   static constexpr auto SETTING_SERVICES_ESMAXCLIENTS = "services.esmaxclients";
1115:   static constexpr auto SETTING_SERVICES_ESALLINTERFACES = "services.esallinterfaces";
1115:   static constexpr auto SETTING_SERVICES_ESINITIALDELAY = "services.esinitialdelay";
1115:   static constexpr auto SETTING_SERVICES_ESCONTINUOUSDELAY = "services.escontinuousdelay";
1115:   static constexpr auto SETTING_SERVICES_ZEROCONF = "services.zeroconf";
1115:   static constexpr auto SETTING_SERVICES_AIRPLAY = "services.airplay";
1115:   static constexpr auto SETTING_SERVICES_AIRPLAYVOLUMECONTROL = "services.airplayvolumecontrol";
1115:   static constexpr auto SETTING_SERVICES_USEAIRPLAYPASSWORD = "services.useairplaypassword";
1115:   static constexpr auto SETTING_SERVICES_AIRPLAYPASSWORD = "services.airplaypassword";
1115:   static constexpr auto SETTING_SERVICES_AIRPLAYVIDEOSUPPORT = "services.airplayvideosupport";
1115:   static constexpr auto SETTING_SMB_WINSSERVER = "smb.winsserver";
1115:   static constexpr auto SETTING_SMB_WORKGROUP = "smb.workgroup";
1115:   static constexpr auto SETTING_SMB_MINPROTOCOL = "smb.minprotocol";
1115:   static constexpr auto SETTING_SMB_MAXPROTOCOL = "smb.maxprotocol";
1115:   static constexpr auto SETTING_SMB_LEGACYSECURITY = "smb.legacysecurity";
1115:   static constexpr auto SETTING_SERVICES_WSDISCOVERY = "services.wsdiscovery";
1115:   static constexpr auto SETTING_VIDEOSCREEN_MONITOR = "videoscreen.monitor";
1115:   static constexpr auto SETTING_VIDEOSCREEN_SCREEN = "videoscreen.screen";
1115:   static constexpr auto SETTING_VIDEOSCREEN_WHITELIST = "videoscreen.whitelist";
1115:   static constexpr auto SETTING_VIDEOSCREEN_RESOLUTION = "videoscreen.resolution";
1115:   static constexpr auto SETTING_VIDEOSCREEN_SCREENMODE = "videoscreen.screenmode";
1115:   static constexpr auto SETTING_VIDEOSCREEN_FAKEFULLSCREEN = "videoscreen.fakefullscreen";
1115:   static constexpr auto SETTING_VIDEOSCREEN_BLANKDISPLAYS = "videoscreen.blankdisplays";
1115:   static constexpr auto SETTING_VIDEOSCREEN_STEREOSCOPICMODE = "videoscreen.stereoscopicmode";
1115:   static constexpr auto SETTING_VIDEOSCREEN_PREFEREDSTEREOSCOPICMODE =
1115:       "videoscreen.preferedstereoscopicmode";
1115:   static constexpr auto SETTING_VIDEOSCREEN_NOOFBUFFERS = "videoscreen.noofbuffers";
1115:   static constexpr auto SETTING_VIDEOSCREEN_3DLUT = "videoscreen.cms3dlut";
1115:   static constexpr auto SETTING_VIDEOSCREEN_DISPLAYPROFILE = "videoscreen.displayprofile";
1115:   static constexpr auto SETTING_VIDEOSCREEN_GUICALIBRATION = "videoscreen.guicalibration";
1115:   static constexpr auto SETTING_VIDEOSCREEN_TESTPATTERN = "videoscreen.testpattern";
1115:   static constexpr auto SETTING_VIDEOSCREEN_LIMITEDRANGE = "videoscreen.limitedrange";
1115:   static constexpr auto SETTING_VIDEOSCREEN_FRAMEPACKING = "videoscreen.framepacking";
1115:   static constexpr auto SETTING_VIDEOSCREEN_10BITSURFACES = "videoscreen.10bitsurfaces";
1115:   static constexpr auto SETTING_VIDEOSCREEN_GUISDRPEAKLUMINANCE = "videoscreen.guisdrpeakluminance";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_AUDIODEVICE = "audiooutput.audiodevice";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_CHANNELS = "audiooutput.channels";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_CONFIG = "audiooutput.config";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_SAMPLERATE = "audiooutput.samplerate";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_STEREOUPMIX = "audiooutput.stereoupmix";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_MAINTAINORIGINALVOLUME =
1115:       "audiooutput.maintainoriginalvolume";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_PROCESSQUALITY = "audiooutput.processquality";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_ATEMPOTHRESHOLD = "audiooutput.atempothreshold";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_STREAMSILENCE = "audiooutput.streamsilence";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_STREAMNOISE = "audiooutput.streamnoise";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_GUISOUNDMODE = "audiooutput.guisoundmode";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_GUISOUNDVOLUME = "audiooutput.guisoundvolume";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_PASSTHROUGH = "audiooutput.passthrough";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_PASSTHROUGHDEVICE = "audiooutput.passthroughdevice";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_AC3PASSTHROUGH = "audiooutput.ac3passthrough";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_AC3TRANSCODE = "audiooutput.ac3transcode";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_EAC3PASSTHROUGH = "audiooutput.eac3passthrough";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_DTSPASSTHROUGH = "audiooutput.dtspassthrough";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_TRUEHDPASSTHROUGH = "audiooutput.truehdpassthrough";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_DTSHDPASSTHROUGH = "audiooutput.dtshdpassthrough";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_DTSHDCOREFALLBACK = "audiooutput.dtshdcorefallback";
1115:   static constexpr auto SETTING_AUDIOOUTPUT_VOLUMESTEPS = "audiooutput.volumesteps";
1115:   static constexpr auto SETTING_INPUT_PERIPHERALS = "input.peripherals";
1115:   static constexpr auto SETTING_INPUT_PERIPHERALLIBRARIES = "input.peripherallibraries";
1115:   static constexpr auto SETTING_INPUT_ENABLEMOUSE = "input.enablemouse";
1115:   static constexpr auto SETTING_INPUT_ASKNEWCONTROLLERS = "input.asknewcontrollers";
1115:   static constexpr auto SETTING_INPUT_CONTROLLERCONFIG = "input.controllerconfig";
1115:   static constexpr auto SETTING_INPUT_RUMBLENOTIFY = "input.rumblenotify";
1115:   static constexpr auto SETTING_INPUT_TESTRUMBLE = "input.testrumble";
1115:   static constexpr auto SETTING_INPUT_CONTROLLERPOWEROFF = "input.controllerpoweroff";
1115:   static constexpr auto SETTING_INPUT_APPLEREMOTEMODE = "input.appleremotemode";
1115:   static constexpr auto SETTING_INPUT_APPLEREMOTEALWAYSON = "input.appleremotealwayson";
1115:   static constexpr auto SETTING_INPUT_APPLEREMOTESEQUENCETIME = "input.appleremotesequencetime";
1115:   static constexpr auto SETTING_INPUT_SIRIREMOTEIDLETIMERENABLED = "input.siriremoteidletimerenabled";
1115:   static constexpr auto SETTING_INPUT_SIRIREMOTEIDLETIME = "input.siriremoteidletime";
1115:   static constexpr auto SETTING_INPUT_SIRIREMOTEHORIZONTALSENSITIVITY =
1115:       "input.siriremotehorizontalsensitivity";
1115:   static constexpr auto SETTING_INPUT_SIRIREMOTEVERTICALSENSITIVITY =
1115:       "input.siriremoteverticalsensitivity";
1115:   static constexpr auto SETTING_INPUT_TVOSUSEKODIKEYBOARD = "input.tvosusekodikeyboard";
1115:   static constexpr auto SETTING_NETWORK_USEHTTPPROXY = "network.usehttpproxy";
1115:   static constexpr auto SETTING_NETWORK_HTTPPROXYTYPE = "network.httpproxytype";
1115:   static constexpr auto SETTING_NETWORK_HTTPPROXYSERVER = "network.httpproxyserver";
1115:   static constexpr auto SETTING_NETWORK_HTTPPROXYPORT = "network.httpproxyport";
1115:   static constexpr auto SETTING_NETWORK_HTTPPROXYUSERNAME = "network.httpproxyusername";
1115:   static constexpr auto SETTING_NETWORK_HTTPPROXYPASSWORD = "network.httpproxypassword";
1115:   static constexpr auto SETTING_NETWORK_BANDWIDTH = "network.bandwidth";
1115:   static constexpr auto SETTING_POWERMANAGEMENT_DISPLAYSOFF = "powermanagement.displaysoff";
1115:   static constexpr auto SETTING_POWERMANAGEMENT_SHUTDOWNTIME = "powermanagement.shutdowntime";
1115:   static constexpr auto SETTING_POWERMANAGEMENT_SHUTDOWNSTATE = "powermanagement.shutdownstate";
1115:   static constexpr auto SETTING_POWERMANAGEMENT_WAKEONACCESS = "powermanagement.wakeonaccess";
1115:   static constexpr auto SETTING_POWERMANAGEMENT_WAITFORNETWORK = "powermanagement.waitfornetwork";
1115:   static constexpr auto SETTING_DEBUG_SHOWLOGINFO = "debug.showloginfo";
1115:   static constexpr auto SETTING_DEBUG_EXTRALOGGING = "debug.extralogging";
1115:   static constexpr auto SETTING_DEBUG_SETEXTRALOGLEVEL = "debug.setextraloglevel";
1115:   static constexpr auto SETTING_DEBUG_SCREENSHOTPATH = "debug.screenshotpath";
1115:   static constexpr auto SETTING_DEBUG_SHARE_LOG = "debug.sharelog";
1115:   static constexpr auto SETTING_EVENTLOG_ENABLED = "eventlog.enabled";
1115:   static constexpr auto SETTING_EVENTLOG_ENABLED_NOTIFICATIONS = "eventlog.enablednotifications";
1115:   static constexpr auto SETTING_EVENTLOG_SHOW = "eventlog.show";
1115:   static constexpr auto SETTING_MASTERLOCK_LOCKCODE = "masterlock.lockcode";
1115:   static constexpr auto SETTING_MASTERLOCK_STARTUPLOCK = "masterlock.startuplock";
1115:   static constexpr auto SETTING_MASTERLOCK_MAXRETRIES = "masterlock.maxretries";
1115:   static constexpr auto SETTING_CACHE_HARDDISK = "cache.harddisk";
1115:   static constexpr auto SETTING_CACHEVIDEO_DVDROM = "cachevideo.dvdrom";
1115:   static constexpr auto SETTING_CACHEVIDEO_LAN = "cachevideo.lan";
1115:   static constexpr auto SETTING_CACHEVIDEO_INTERNET = "cachevideo.internet";
1115:   static constexpr auto SETTING_CACHEAUDIO_DVDROM = "cacheaudio.dvdrom";
1115:   static constexpr auto SETTING_CACHEAUDIO_LAN = "cacheaudio.lan";
1115:   static constexpr auto SETTING_CACHEAUDIO_INTERNET = "cacheaudio.internet";
1115:   static constexpr auto SETTING_CACHEDVD_DVDROM = "cachedvd.dvdrom";
1115:   static constexpr auto SETTING_CACHEDVD_LAN = "cachedvd.lan";
1115:   static constexpr auto SETTING_CACHEUNKNOWN_INTERNET = "cacheunknown.internet";
1115:   static constexpr auto SETTING_SYSTEM_PLAYLISTSPATH = "system.playlistspath";
1115:   static constexpr auto SETTING_ADDONS_AUTOUPDATES = "general.addonupdates";
1115:   static constexpr auto SETTING_ADDONS_NOTIFICATIONS = "general.addonnotifications";
1115:   static constexpr auto SETTING_ADDONS_SHOW_RUNNING = "addons.showrunning";
1115:   static constexpr auto SETTING_ADDONS_ALLOW_UNKNOWN_SOURCES = "addons.unknownsources";
1115:   static constexpr auto SETTING_ADDONS_UPDATEMODE = "addons.updatemode";
1115:   static constexpr auto SETTING_ADDONS_MANAGE_DEPENDENCIES = "addons.managedependencies";
1115:   static constexpr auto SETTING_ADDONS_REMOVE_ORPHANED_DEPENDENCIES =
1115:       "addons.removeorphaneddependencies";
1115:   static constexpr auto SETTING_GENERAL_ADDONFOREIGNFILTER = "general.addonforeignfilter";
1115:   static constexpr auto SETTING_GENERAL_ADDONBROKENFILTER = "general.addonbrokenfilter";
1115:   static constexpr auto SETTING_SOURCE_VIDEOS = "source.videos";
1115:   static constexpr auto SETTING_SOURCE_MUSIC = "source.music";
1115:   static constexpr auto SETTING_SOURCE_PICTURES = "source.pictures";
1115: 
1115: 
1115:   static const int VIDEOLIBRARY_PLOTS_SHOW_UNWATCHED_MOVIES = 0;
1115:   static const int VIDEOLIBRARY_PLOTS_SHOW_UNWATCHED_TVSHOWEPISODES = 1;
1115:   static const int VIDEOLIBRARY_THUMB_SHOW_UNWATCHED_EPISODE = 2;
1115: 
1115:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_ALL = 0;
1115:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_BASIC = 1;
1115:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_CUSTOM = 2;
1115:   static const int VIDEOLIBRARY_ARTWORK_LEVEL_NONE = 3;
1115: 
1115: 
1115:   static const int MUSICLIBRARY_ARTWORK_LEVEL_ALL = 0;
1115:   static const int MUSICLIBRARY_ARTWORK_LEVEL_BASIC = 1;
1115:   static const int MUSICLIBRARY_ARTWORK_LEVEL_CUSTOM = 2;
1115:   static const int MUSICLIBRARY_ARTWORK_LEVEL_NONE = 3;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   CSettings() = default;
1115:   ~CSettings() override = default;
1115: 
1115:   CSettingsManager* GetSettingsManager() const { return m_settingsManager; }
1115: 
1115: 
1115:   bool Initialize() override;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void RegisterSubSettings(ISubSettings* subSettings);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void UnregisterSubSettings(ISubSettings* subSettings);
1115: 
1115: 
1115:   bool Load() override;
1115:   bool Save() override;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Load(const std::string &file);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Load(const TiXmlElement* root);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool LoadHidden(const TiXmlElement *root) { return CSettingsBase::LoadHiddenValuesFromXml(root); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Save(const std::string &file);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Save(TiXmlNode* root) const override;
1115: # 551 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1115:   bool LoadSetting(const TiXmlNode *node, const std::string &settingId);
1115: 
1115: 
1115:   bool GetBool(const std::string& id) const;
1115: # 563 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/Settings.h"
1115:   void Clear() override;
1115: 
1115: protected:
1115: 
1115:   void InitializeSettingTypes() override;
1115:   void InitializeControls() override;
1115:   void InitializeOptionFillers() override;
1115:   void UninitializeOptionFillers() override;
1115:   void InitializeConditions() override;
1115:   void UninitializeConditions() override;
1115:   void InitializeVisibility() override;
1115:   void InitializeDefaults() override;
1115:   void InitializeISettingsHandlers() override;
1115:   void UninitializeISettingsHandlers() override;
1115:   void InitializeISubSettings() override;
1115:   void UninitializeISubSettings() override;
1115:   void InitializeISettingCallbacks() override;
1115:   void UninitializeISettingCallbacks() override;
1115: 
1115: 
1115:   bool InitializeDefinitions() override;
1115: 
1115: private:
1115:   CSettings(const CSettings&) = delete;
1115:   CSettings const& operator=(CSettings const&) = delete;
1115: 
1115:   bool Load(const TiXmlElement* root, bool& updated);
1115: 
1115: 
1115:   bool Load(const TiXmlNode* settings) override;
1115: 
1115:   bool Initialize(const std::string &file);
1115:   bool Reset();
1115: 
1115:   std::set<ISubSettings*> m_subSettings;
1115: };
1115: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsComponent.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/SettingsComponent.h"
1115:        
1115: 
1115: 
1115: 
1115: class CAdvancedSettings;
1115: class CProfileManager;
1115: class CSettings;
1115: 
1115: namespace KODI
1115: {
1115: namespace SUBTITLES
1115: {
1115: class CSubtitlesSettings;
1115: }
1115: }
1115: 
1115: class CSettingsComponent
1115: {
1115: public:
1115:   CSettingsComponent();
1115:   virtual ~CSettingsComponent();
1115: 
1115: 
1115: 
1115: 
1115:   void Initialize();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool Load();
1115: 
1115: 
1115: 
1115: 
1115:   void Deinitialize();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::shared_ptr<CSettings> GetSettings();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::shared_ptr<CAdvancedSettings> GetAdvancedSettings();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::shared_ptr<KODI::SUBTITLES::CSubtitlesSettings> GetSubtitlesSettings();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::shared_ptr<CProfileManager> GetProfileManager();
1115: 
1115: private:
1115:   bool InitDirectoriesLinux(bool bPlatformDirectories);
1115:   bool InitDirectoriesOSX(bool bPlatformDirectories);
1115:   bool InitDirectoriesWin32(bool bPlatformDirectories);
1115:   void CreateUserDirs() const;
1115: 
1115:   enum class State
1115:   {
1115:     DEINITED,
1115:     INITED,
1115:     LOADED
1115:   };
1115:   State m_state = State::DEINITED;
1115: 
1115:   std::shared_ptr<CSettings> m_settings;
1115:   std::shared_ptr<CAdvancedSettings> m_advancedSettings;
1115:   std::shared_ptr<KODI::SUBTITLES::CSubtitlesSettings> m_subtitlesSettings;
1115:   std::shared_ptr<CProfileManager> m_profileManager;
1115: };
1115: # 24 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/Variant.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: int64_t str2int64(const std::string &str, int64_t fallback = 0);
1115: int64_t str2int64(const std::wstring &str, int64_t fallback = 0);
1115: uint64_t str2uint64(const std::string &str, uint64_t fallback = 0);
1115: uint64_t str2uint64(const std::wstring &str, uint64_t fallback = 0);
1115: double str2double(const std::string &str, double fallback = 0.0);
1115: double str2double(const std::wstring &str, double fallback = 0.0);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CVariant
1115: {
1115: public:
1115:   enum VariantType
1115:   {
1115:     VariantTypeInteger,
1115:     VariantTypeUnsignedInteger,
1115:     VariantTypeBoolean,
1115:     VariantTypeString,
1115:     VariantTypeWideString,
1115:     VariantTypeDouble,
1115:     VariantTypeArray,
1115:     VariantTypeObject,
1115:     VariantTypeNull,
1115:     VariantTypeConstNull
1115:   };
1115: 
1115:   CVariant();
1115:   CVariant(VariantType type);
1115:   CVariant(int integer);
1115:   CVariant(int64_t integer);
1115:   CVariant(unsigned int unsignedinteger);
1115:   CVariant(uint64_t unsignedinteger);
1115:   CVariant(double value);
1115:   CVariant(float value);
1115:   CVariant(bool boolean);
1115:   CVariant(const char *str);
1115:   CVariant(const char *str, unsigned int length);
1115:   CVariant(const std::string &str);
1115:   CVariant(std::string &&str);
1115:   CVariant(const wchar_t *str);
1115:   CVariant(const wchar_t *str, unsigned int length);
1115:   CVariant(const std::wstring &str);
1115:   CVariant(std::wstring &&str);
1115:   CVariant(const std::vector<std::string> &strArray);
1115:   CVariant(const std::map<std::string, std::string> &strMap);
1115:   CVariant(const std::map<std::string, CVariant> &variantMap);
1115:   CVariant(const CVariant &variant);
1115:   CVariant(CVariant&& rhs) noexcept;
1115:   ~CVariant();
1115: 
1115: 
1115: 
1115:   bool isInteger() const;
1115:   bool isSignedInteger() const;
1115:   bool isUnsignedInteger() const;
1115:   bool isBoolean() const;
1115:   bool isString() const;
1115:   bool isWideString() const;
1115:   bool isDouble() const;
1115:   bool isArray() const;
1115:   bool isObject() const;
1115:   bool isNull() const;
1115: 
1115:   VariantType type() const;
1115: 
1115:   int64_t asInteger(int64_t fallback = 0) const;
1115:   int32_t asInteger32(int32_t fallback = 0) const;
1115:   uint64_t asUnsignedInteger(uint64_t fallback = 0u) const;
1115:   uint32_t asUnsignedInteger32(uint32_t fallback = 0u) const;
1115:   bool asBoolean(bool fallback = false) const;
1115:   std::string asString(const std::string &fallback = "") const;
1115:   std::wstring asWideString(const std::wstring &fallback = L"") const;
1115:   double asDouble(double fallback = 0.0) const;
1115:   float asFloat(float fallback = 0.0f) const;
1115: 
1115:   CVariant &operator[](const std::string &key);
1115:   const CVariant &operator[](const std::string &key) const;
1115:   CVariant &operator[](unsigned int position);
1115:   const CVariant &operator[](unsigned int position) const;
1115: 
1115:   CVariant &operator=(const CVariant &rhs);
1115:   CVariant& operator=(CVariant&& rhs) noexcept;
1115:   bool operator==(const CVariant &rhs) const;
1115:   bool operator!=(const CVariant &rhs) const { return !(*this == rhs); }
1115: 
1115:   void reserve(size_t length);
1115:   void push_back(const CVariant &variant);
1115:   void push_back(CVariant &&variant);
1115:   void append(const CVariant &variant);
1115:   void append(CVariant &&variant);
1115: 
1115:   const char *c_str() const;
1115: 
1115:   void swap(CVariant &rhs);
1115: 
1115: private:
1115:   typedef std::vector<CVariant> VariantArray;
1115:   typedef std::map<std::string, CVariant> VariantMap;
1115: 
1115: public:
1115:   typedef VariantArray::iterator iterator_array;
1115:   typedef VariantArray::const_iterator const_iterator_array;
1115: 
1115:   typedef VariantMap::iterator iterator_map;
1115:   typedef VariantMap::const_iterator const_iterator_map;
1115: 
1115:   iterator_array begin_array();
1115:   const_iterator_array begin_array() const;
1115:   iterator_array end_array();
1115:   const_iterator_array end_array() const;
1115: 
1115:   iterator_map begin_map();
1115:   const_iterator_map begin_map() const;
1115:   iterator_map end_map();
1115:   const_iterator_map end_map() const;
1115: 
1115:   unsigned int size() const;
1115:   bool empty() const;
1115:   void clear();
1115:   void erase(const std::string &key);
1115:   void erase(unsigned int position);
1115: 
1115:   bool isMember(const std::string &key) const;
1115: 
1115:   static CVariant ConstNullVariant;
1115: 
1115: private:
1115:   void cleanup();
1115:   union VariantUnion
1115:   {
1115:     int64_t integer;
1115:     uint64_t unsignedinteger;
1115:     bool boolean;
1115:     double dvalue;
1115:     std::string *string;
1115:     std::wstring *wstring;
1115:     VariantArray *array;
1115:     VariantMap *map;
1115:   };
1115: 
1115:   VariantType m_type;
1115:   VariantUnion m_data;
1115: 
1115:   static VariantArray EMPTY_ARRAY;
1115:   static VariantMap EMPTY_MAP;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h" 2
1115: # 66 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDefinitions.h"
1115: struct IntegerSettingOption
1115: {
1115:   IntegerSettingOption(const std::string& _label, int _value)
1115:   : label(_label), value(_value) {}
1115: 
1115:   IntegerSettingOption(const std::string& _label,
1115:                        const std::string& _label2,
1115:                        int _value,
1115:                        const std::vector<std::pair<std::string, CVariant>>& props)
1115:     : label(_label), label2(_label2), value(_value), properties(props)
1115:   {
1115:   }
1115: 
1115:   std::string label;
1115:   std::string label2;
1115:   int value = 0;
1115:   std::vector<std::pair<std::string, CVariant>> properties;
1115: };
1115: 
1115: struct StringSettingOption
1115: {
1115:   StringSettingOption(const std::string& _label, const std::string& _value)
1115:   : label(_label), value(_value) {}
1115: 
1115:   StringSettingOption(const std::string& _label,
1115:                       const std::string& _label2,
1115:                       const std::string& _value,
1115:                       const std::vector<std::pair<std::string, CVariant>>& props)
1115:     : label(_label), label2(_label2), value(_value), properties(props)
1115:   {
1115:   }
1115: 
1115:   std::string label;
1115:   std::string label2;
1115:   std::string value;
1115:   std::vector<std::pair<std::string, CVariant>> properties;
1115: };
1115: 
1115: struct TranslatableIntegerSettingOption
1115: {
1115:   TranslatableIntegerSettingOption() = default;
1115:   TranslatableIntegerSettingOption(int _label, int _value, const std::string& _addonId = "")
1115:     : label(_label), value(_value), addonId(_addonId)
1115:   {
1115:   }
1115: 
1115:   int label = 0;
1115:   int value = 0;
1115:   std::string addonId;
1115: };
1115: 
1115: using TranslatableIntegerSettingOptions = std::vector<TranslatableIntegerSettingOption>;
1115: using IntegerSettingOptions = std::vector<IntegerSettingOption>;
1115: using TranslatableStringSettingOption = std::pair<int, std::string>;
1115: using TranslatableStringSettingOptions = std::vector<TranslatableStringSettingOption>;
1115: using StringSettingOptions = std::vector<StringSettingOption>;
1115: 
1115: class CSetting;
1115: using IntegerSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1115:                                              IntegerSettingOptions& list,
1115:                                              int& current,
1115:                                              void* data);
1115: using StringSettingOptionsFiller = void (*)(const std::shared_ptr<const CSetting>& setting,
1115:                                             StringSettingOptions& list,
1115:                                             std::string& current,
1115:                                             void* data);
1115: 
1115: enum class SettingOptionsSort
1115: {
1115:   NoSorting,
1115:   Ascending,
1115:   Descending
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h"
1115:        
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IXmlDeserializable.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IXmlDeserializable.h"
1115:        
1115: 
1115: class TiXmlNode;
1115: 
1115: class IXmlDeserializable
1115: {
1115: public:
1115:   virtual ~IXmlDeserializable() = default;
1115: 
1115:   virtual bool Deserialize(const TiXmlNode *node) = 0;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/BooleanLogic.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef enum {
1115:   BooleanLogicOperationOr = 0,
1115:   BooleanLogicOperationAnd
1115: } BooleanLogicOperation;
1115: 
1115: class CBooleanLogicValue : public IXmlDeserializable
1115: {
1115: public:
1115:   CBooleanLogicValue(const std::string &value = "", bool negated = false)
1115:     : m_value(value), m_negated(negated)
1115:   { }
1115:   ~CBooleanLogicValue() override = default;
1115: 
1115:   bool Deserialize(const TiXmlNode *node) override;
1115: 
1115:   virtual const std::string& GetValue() const { return m_value; }
1115:   virtual bool IsNegated() const { return m_negated; }
1115:   virtual const char* GetTag() const { return "value"; }
1115: 
1115:   virtual void SetValue(const std::string &value) { m_value = value; }
1115:   virtual void SetNegated(bool negated) { m_negated = negated; }
1115: 
1115: protected:
1115:   std::string m_value;
1115:   bool m_negated;
1115: };
1115: 
1115: typedef std::shared_ptr<CBooleanLogicValue> CBooleanLogicValuePtr;
1115: typedef std::vector<CBooleanLogicValuePtr> CBooleanLogicValues;
1115: 
1115: class CBooleanLogicOperation;
1115: typedef std::shared_ptr<CBooleanLogicOperation> CBooleanLogicOperationPtr;
1115: typedef std::vector<CBooleanLogicOperationPtr> CBooleanLogicOperations;
1115: 
1115: class CBooleanLogicOperation : public IXmlDeserializable
1115: {
1115: public:
1115:   explicit CBooleanLogicOperation(BooleanLogicOperation op = BooleanLogicOperationAnd)
1115:     : m_operation(op)
1115:   { }
1115:   ~CBooleanLogicOperation() override = default;
1115: 
1115:   bool Deserialize(const TiXmlNode *node) override;
1115: 
1115:   virtual BooleanLogicOperation GetOperation() const { return m_operation; }
1115:   virtual const CBooleanLogicOperations& GetOperations() const { return m_operations; }
1115:   virtual const CBooleanLogicValues& GetValues() const { return m_values; }
1115: 
1115:   virtual void SetOperation(BooleanLogicOperation op) { m_operation = op; }
1115: 
1115: protected:
1115:   virtual CBooleanLogicOperation* newOperation() { return new CBooleanLogicOperation(); }
1115:   virtual CBooleanLogicValue* newValue() { return new CBooleanLogicValue(); }
1115: 
1115:   BooleanLogicOperation m_operation;
1115:   CBooleanLogicOperations m_operations;
1115:   CBooleanLogicValues m_values;
1115: };
1115: 
1115: class CBooleanLogic : public IXmlDeserializable
1115: {
1115: protected:
1115: 
1115:   ~CBooleanLogic() override = default;
1115: 
1115: public:
1115:   bool Deserialize(const TiXmlNode *node) override;
1115: 
1115:   const CBooleanLogicOperationPtr& Get() const { return m_operation; }
1115:   CBooleanLogicOperationPtr Get() { return m_operation; }
1115: 
1115: protected:
1115:   CBooleanLogicOperationPtr m_operation;
1115: };
1115: # 13 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingConditions.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettingsManager;
1115: class CSetting;
1115: 
1115: using SettingConditionCheck = bool (*)(const std::string& condition,
1115:                                        const std::string& value,
1115:                                        const std::shared_ptr<const CSetting>& setting,
1115:                                        void* data);
1115: 
1115: class ISettingCondition
1115: {
1115: public:
1115:   explicit ISettingCondition(CSettingsManager *settingsManager)
1115:     : m_settingsManager(settingsManager)
1115:   { }
1115:   virtual ~ISettingCondition() = default;
1115: 
1115:   virtual bool Check() const = 0;
1115: 
1115: protected:
1115:   CSettingsManager *m_settingsManager;
1115: };
1115: 
1115: class CSettingConditionItem : public CBooleanLogicValue, public ISettingCondition
1115: {
1115: public:
1115:   explicit CSettingConditionItem(CSettingsManager *settingsManager = nullptr)
1115:     : ISettingCondition(settingsManager)
1115:   { }
1115:   ~CSettingConditionItem() override = default;
1115: 
1115:   bool Deserialize(const TiXmlNode *node) override;
1115:   const char* GetTag() const override { return "condition"; }
1115:   bool Check() const override;
1115: 
1115: protected:
1115:   std::string m_name;
1115:   std::string m_setting;
1115: };
1115: 
1115: class CSettingConditionCombination : public CBooleanLogicOperation, public ISettingCondition
1115: {
1115: public:
1115:   explicit CSettingConditionCombination(CSettingsManager *settingsManager = nullptr)
1115:     : ISettingCondition(settingsManager)
1115:   { }
1115:   ~CSettingConditionCombination() override = default;
1115: 
1115:   bool Check() const override;
1115: 
1115: private:
1115:   CBooleanLogicOperation* newOperation() override { return new CSettingConditionCombination(m_settingsManager); }
1115:   CBooleanLogicValue* newValue() override { return new CSettingConditionItem(m_settingsManager); }
1115: };
1115: 
1115: class CSettingCondition : public CBooleanLogic, public ISettingCondition
1115: {
1115: public:
1115:   explicit CSettingCondition(CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingCondition() override = default;
1115: 
1115:   bool Check() const override;
1115: };
1115: 
1115: class CSettingConditionsManager
1115: {
1115: public:
1115:   CSettingConditionsManager() = default;
1115:   CSettingConditionsManager(const CSettingConditionsManager&) = delete;
1115:   CSettingConditionsManager const& operator=(CSettingConditionsManager const&) = delete;
1115:   virtual ~CSettingConditionsManager() = default;
1115: 
1115:   void AddCondition(std::string condition);
1115:   void AddDynamicCondition(std::string identifier, SettingConditionCheck condition, void *data = nullptr);
1115:   void RemoveDynamicCondition(std::string identifier);
1115: 
1115:   bool Check(
1115:       std::string condition,
1115:       const std::string& value = "",
1115:       const std::shared_ptr<const CSetting>& setting = std::shared_ptr<const CSetting>()) const;
1115: 
1115: private:
1115:   using SettingConditionPair = std::pair<std::string, std::pair<SettingConditionCheck, void*>>;
1115:   using SettingConditionMap = std::map<std::string, std::pair<SettingConditionCheck, void*>>;
1115: 
1115:   SettingConditionMap m_conditions;
1115:   std::set<std::string> m_defines;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingRequirement.h" 2
1115: 
1115: 
1115: 
1115: 
1115: class CSettingRequirementCondition : public CSettingConditionItem
1115: {
1115: public:
1115:   explicit CSettingRequirementCondition(CSettingsManager *settingsManager = nullptr)
1115:     : CSettingConditionItem(settingsManager)
1115:   { }
1115:   ~CSettingRequirementCondition() override = default;
1115: 
1115:   bool Check() const override;
1115: };
1115: 
1115: class CSettingRequirementConditionCombination : public CSettingConditionCombination
1115: {
1115: public:
1115:   explicit CSettingRequirementConditionCombination(CSettingsManager *settingsManager = nullptr)
1115:     : CSettingConditionCombination(settingsManager)
1115:   { }
1115:   ~CSettingRequirementConditionCombination() override = default;
1115: 
1115:   bool Check() const override;
1115: 
1115: private:
1115:   CBooleanLogicOperation* newOperation() override { return new CSettingRequirementConditionCombination(m_settingsManager); }
1115:   CBooleanLogicValue* newValue() override { return new CSettingRequirementCondition(m_settingsManager); }
1115: };
1115: 
1115: class CSettingRequirement : public CSettingCondition
1115: {
1115: public:
1115:   explicit CSettingRequirement(CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingRequirement() override = default;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h" 2
1115: 
1115: 
1115: 
1115: class CSettingsManager;
1115: class TiXmlNode;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class ISetting
1115: {
1115: public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   ISetting(const std::string &id, CSettingsManager *settingsManager = nullptr);
1115:   virtual ~ISetting() = default;
1115: # 45 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1115:   virtual bool Deserialize(const TiXmlNode *node, bool update = false);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   const std::string& GetId() const { return m_id; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool IsVisible() const { return m_visible; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void SetVisible(bool visible) { m_visible = visible; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   int GetLabel() const { return m_label; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetLabel(int label) { m_label = label; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   int GetHelp() const { return m_help; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void SetHelp(int help) { m_help = help; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual bool MeetsRequirements() const { return m_meetsRequirements; }
1115: 
1115: 
1115: 
1115:   virtual void CheckRequirements();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   virtual void SetRequirementsMet(bool requirementsMet) { m_meetsRequirements = requirementsMet; }
1115: # 114 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1115:   static bool DeserializeIdentification(const TiXmlNode *node, std::string &identification);
1115: 
1115: protected:
1115:   static constexpr int DefaultLabel = -1;
1115: # 126 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/ISetting.h"
1115:   static bool DeserializeIdentificationFromAttribute(const TiXmlNode* node,
1115:                                                      const std::string& attribute,
1115:                                                      std::string& identification);
1115: 
1115:   std::string m_id;
1115:   CSettingsManager *m_settingsManager;
1115: 
1115: private:
1115:   bool m_visible = true;
1115:   int m_label = DefaultLabel;
1115:   int m_help = -1;
1115:   bool m_meetsRequirements = true;
1115:   CSettingRequirement m_requirementCondition;
1115: };
1115: # 12 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h"
1115:        
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingDependency.h"
1115: enum class SettingDependencyType {
1115:   Unknown = 0,
1115:   Enable,
1115:   Update,
1115:   Visible
1115: };
1115: 
1115: enum class SettingDependencyOperator {
1115:   Unknown = 0,
1115:   Equals,
1115:   LessThan,
1115:   GreaterThan,
1115:   Contains
1115: };
1115: 
1115: enum class SettingDependencyTarget {
1115:   Unknown = 0,
1115:   Setting,
1115:   Property
1115: };
1115: 
1115: class CSettingDependencyCondition : public CSettingConditionItem
1115: {
1115: public:
1115:   explicit CSettingDependencyCondition(CSettingsManager *settingsManager = nullptr);
1115:   CSettingDependencyCondition(const std::string &setting, const std::string &value,
1115:                               SettingDependencyOperator op, bool negated = false,
1115:                               CSettingsManager *settingsManager = nullptr);
1115:   CSettingDependencyCondition(const std::string &strProperty, const std::string &value,
1115:                               const std::string &setting = "", bool negated = false,
1115:                               CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingDependencyCondition() override = default;
1115: 
1115:   bool Deserialize(const TiXmlNode *node) override;
1115:   bool Check() const override;
1115: 
1115:   const std::string& GetName() const { return m_name; }
1115:   const std::string& GetSetting() const { return m_setting; }
1115:   SettingDependencyTarget GetTarget() const { return m_target; }
1115:   SettingDependencyOperator GetOperator() const { return m_operator; }
1115: 
1115: private:
1115:   CSettingDependencyCondition(CSettingsManager* settingsManager,
1115:                               const std::string& strProperty,
1115:                               const std::string& setting,
1115:                               const std::string& value,
1115:                               SettingDependencyTarget target = SettingDependencyTarget::Unknown,
1115:                               SettingDependencyOperator op = SettingDependencyOperator::Equals,
1115:                               bool negated = false);
1115: 
1115:   bool setTarget(const std::string &target);
1115:   bool setOperator(const std::string &op);
1115: 
1115:   SettingDependencyTarget m_target = SettingDependencyTarget::Unknown;
1115:   SettingDependencyOperator m_operator = SettingDependencyOperator::Equals;
1115: 
1115:   static Logger s_logger;
1115: };
1115: 
1115: using CSettingDependencyConditionPtr = std::shared_ptr<CSettingDependencyCondition>;
1115: 
1115: class CSettingDependencyConditionCombination;
1115: using CSettingDependencyConditionCombinationPtr = std::shared_ptr<CSettingDependencyConditionCombination>;
1115: 
1115: class CSettingDependencyConditionCombination : public CSettingConditionCombination
1115: {
1115: public:
1115:   explicit CSettingDependencyConditionCombination(CSettingsManager *settingsManager = nullptr)
1115:     : CSettingConditionCombination(settingsManager)
1115:   { }
1115:   CSettingDependencyConditionCombination(BooleanLogicOperation op, CSettingsManager *settingsManager = nullptr)
1115:     : CSettingConditionCombination(settingsManager)
1115:   {
1115:     SetOperation(op);
1115:   }
1115:   ~CSettingDependencyConditionCombination() override = default;
1115: 
1115:   bool Deserialize(const TiXmlNode *node) override;
1115: 
1115:   const std::set<std::string>& GetSettings() const { return m_settings; }
1115: 
1115:   CSettingDependencyConditionCombination* Add(const CSettingDependencyConditionPtr& condition);
1115:   CSettingDependencyConditionCombination* Add(
1115:       const CSettingDependencyConditionCombinationPtr& operation);
1115: 
1115: private:
1115:   CBooleanLogicOperation* newOperation() override { return new CSettingDependencyConditionCombination(m_settingsManager); }
1115:   CBooleanLogicValue* newValue() override { return new CSettingDependencyCondition(m_settingsManager); }
1115: 
1115:   std::set<std::string> m_settings;
1115: };
1115: 
1115: class CSettingDependency : public CSettingCondition
1115: {
1115: public:
1115:   explicit CSettingDependency(CSettingsManager *settingsManager = nullptr);
1115:   CSettingDependency(SettingDependencyType type, CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingDependency() override = default;
1115: 
1115:   bool Deserialize(const TiXmlNode *node) override;
1115: 
1115:   SettingDependencyType GetType() const { return m_type; }
1115:   std::set<std::string> GetSettings() const;
1115: 
1115:   CSettingDependencyConditionCombinationPtr And();
1115:   CSettingDependencyConditionCombinationPtr Or();
1115: 
1115: private:
1115:   bool setType(const std::string &type);
1115: 
1115:   SettingDependencyType m_type = SettingDependencyType::Unknown;
1115: 
1115:   static Logger s_logger;
1115: };
1115: 
1115: using SettingDependencies = std::list<CSettingDependency>;
1115: using SettingDependencyMap = std::map<std::string, SettingDependencies>;
1115: # 16 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingLevel.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingLevel.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: enum class SettingLevel {
1115:   Basic = 0,
1115:   Standard,
1115:   Advanced,
1115:   Expert,
1115:   Internal
1115: };
1115: # 17 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingType.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingType.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: enum class SettingType {
1115:   Unknown = 0,
1115:   Boolean,
1115:   Integer,
1115:   Number,
1115:   String,
1115:   Action,
1115:   List
1115: };
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingUpdate.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/SettingUpdate.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class TiXmlNode;
1115: 
1115: enum class SettingUpdateType {
1115:   Unknown = 0,
1115:   Rename,
1115:   Change
1115: };
1115: 
1115: class CSettingUpdate
1115: {
1115: public:
1115:   CSettingUpdate();
1115:   virtual ~CSettingUpdate() = default;
1115: 
1115:   inline bool operator<(const CSettingUpdate& rhs) const
1115:   {
1115:     return m_type < rhs.m_type && m_value < rhs.m_value;
1115:   }
1115: 
1115:   virtual bool Deserialize(const TiXmlNode *node);
1115: 
1115:   SettingUpdateType GetType() const { return m_type; }
1115:   const std::string& GetValue() const { return m_value; }
1115: 
1115: private:
1115:   bool setType(const std::string &type);
1115: 
1115:   SettingUpdateType m_type = SettingUpdateType::Unknown;
1115:   std::string m_value;
1115: 
1115:   static Logger s_logger;
1115: };
1115: # 19 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h" 2
1115: # 29 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1115: enum class SettingOptionsType {
1115:   Unknown = 0,
1115:   StaticTranslatable,
1115:   Static,
1115:   Dynamic
1115: };
1115: 
1115: class CSetting;
1115: using SettingPtr = std::shared_ptr<CSetting>;
1115: using SettingConstPtr = std::shared_ptr<const CSetting>;
1115: using SettingList = std::vector<SettingPtr>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSetting : public ISetting,
1115:                  protected ISettingCallback,
1115:                  public std::enable_shared_from_this<CSetting>
1115: {
1115: public:
1115:   CSetting(const std::string& id, CSettingsManager* settingsManager = nullptr);
1115:   CSetting(const std::string& id, const CSetting& setting);
1115:   ~CSetting() override = default;
1115: 
1115:   virtual std::shared_ptr<CSetting> Clone(const std::string &id) const = 0;
1115:   void MergeBasics(const CSetting& other);
1115:   virtual void MergeDetails(const CSetting& other) = 0;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   virtual SettingType GetType() const = 0;
1115:   virtual bool FromString(const std::string &value) = 0;
1115:   virtual std::string ToString() const = 0;
1115:   virtual bool Equals(const std::string &value) const = 0;
1115:   virtual bool CheckValidity(const std::string &value) const = 0;
1115:   virtual void Reset() = 0;
1115: 
1115:   bool IsEnabled() const;
1115:   bool GetEnabled() const { return m_enabled; }
1115:   void SetEnabled(bool enabled);
1115:   bool IsDefault() const { return !m_changed; }
1115:   const std::string& GetParent() const { return m_parentSetting; }
1115:   void SetParent(const std::string& parentSetting) { m_parentSetting = parentSetting; }
1115:   SettingLevel GetLevel() const { return m_level; }
1115:   void SetLevel(SettingLevel level) { m_level = level; }
1115:   std::shared_ptr<const ISettingControl> GetControl() const { return m_control; }
1115:   std::shared_ptr<ISettingControl> GetControl() { return m_control; }
1115:   void SetControl(std::shared_ptr<ISettingControl> control) { m_control = std::move(control); }
1115:   const SettingDependencies& GetDependencies() const { return m_dependencies; }
1115:   void SetDependencies(const SettingDependencies &dependencies) { m_dependencies = dependencies; }
1115:   const std::set<CSettingUpdate>& GetUpdates() const { return m_updates; }
1115: 
1115:   void SetCallback(ISettingCallback *callback) { m_callback = callback; }
1115: 
1115:   bool IsReference() const { return !m_referencedId.empty(); }
1115:   const std::string& GetReferencedId() const { return m_referencedId; }
1115:   void SetReferencedId(const std::string& referencedId) { m_referencedId = referencedId; }
1115:   void MakeReference(const std::string& referencedId = "");
1115: 
1115:   bool GetVisible() const { return ISetting::IsVisible(); }
1115: 
1115:   bool IsVisible() const override;
1115: 
1115: 
1115:   void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
1115: # 106 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1115:   static bool DeserializeIdentification(const TiXmlNode* node,
1115:                                         std::string& identification,
1115:                                         bool& isReference);
1115: 
1115: protected:
1115: 
1115:   bool OnSettingChanging(const std::shared_ptr<const CSetting>& setting) override;
1115:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1115:   bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
1115:                        const char* oldSettingId,
1115:                        const TiXmlNode* oldSettingNode) override;
1115:   void OnSettingPropertyChanged(const std::shared_ptr<const CSetting>& setting,
1115:                                 const char* propertyName) override;
1115: 
1115:   void Copy(const CSetting &setting);
1115: 
1115:   template<class TSetting>
1115:   std::shared_ptr<TSetting> shared_from_base()
1115:   {
1115:     return std::static_pointer_cast<TSetting>(shared_from_this());
1115:   }
1115: 
1115:   ISettingCallback *m_callback = nullptr;
1115:   bool m_enabled = true;
1115:   std::string m_parentSetting;
1115:   SettingLevel m_level = SettingLevel::Standard;
1115:   std::shared_ptr<ISettingControl> m_control;
1115:   SettingDependencies m_dependencies;
1115:   std::set<CSettingUpdate> m_updates;
1115:   bool m_changed = false;
1115:   mutable CSharedSection m_critical;
1115: 
1115:   std::string m_referencedId;
1115: 
1115: private:
1115:   static Logger s_logger;
1115: };
1115: 
1115: template<typename TValue, SettingType TSettingType>
1115: class CTraitedSetting : public CSetting
1115: {
1115: public:
1115:   typedef TValue Value;
1115: 
1115: 
1115:   SettingType GetType() const override { return TSettingType; }
1115: 
1115:   static SettingType Type() { return TSettingType; }
1115: 
1115: protected:
1115:   CTraitedSetting(const std::string& id, CSettingsManager* settingsManager = nullptr)
1115:     : CSetting(id, settingsManager)
1115:   { }
1115:   CTraitedSetting(const std::string& id, const CTraitedSetting& setting) : CSetting(id, setting) {}
1115:   ~CTraitedSetting() override = default;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettingList : public CSetting
1115: {
1115: public:
1115:   CSettingList(const std::string &id, std::shared_ptr<CSetting> settingDefinition, CSettingsManager *settingsManager = nullptr);
1115:   CSettingList(const std::string &id, std::shared_ptr<CSetting> settingDefinition, int label, CSettingsManager *settingsManager = nullptr);
1115:   CSettingList(const std::string &id, const CSettingList &setting);
1115:   ~CSettingList() override = default;
1115: 
1115:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1115:   void MergeDetails(const CSetting& other) override;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   SettingType GetType() const override { return SettingType::List; }
1115:   bool FromString(const std::string &value) override;
1115:   std::string ToString() const override;
1115:   bool Equals(const std::string &value) const override;
1115:   bool CheckValidity(const std::string &value) const override;
1115:   void Reset() override;
1115: 
1115:   SettingType GetElementType() const;
1115:   std::shared_ptr<CSetting> GetDefinition() { return m_definition; }
1115:   std::shared_ptr<const CSetting> GetDefinition() const { return m_definition; }
1115:   void SetDefinition(std::shared_ptr<CSetting> definition) { m_definition = std::move(definition); }
1115: 
1115:   const std::string& GetDelimiter() const { return m_delimiter; }
1115:   void SetDelimiter(const std::string &delimiter) { m_delimiter = delimiter; }
1115:   int GetMinimumItems() const { return m_minimumItems; }
1115:   void SetMinimumItems(int minimumItems) { m_minimumItems = minimumItems; }
1115:   int GetMaximumItems() const { return m_maximumItems; }
1115:   void SetMaximumItems(int maximumItems) { m_maximumItems = maximumItems; }
1115: 
1115:   bool FromString(const std::vector<std::string> &value);
1115: 
1115:   const SettingList& GetValue() const { return m_values; }
1115:   bool SetValue(const SettingList &values);
1115:   const SettingList& GetDefault() const { return m_defaults; }
1115:   void SetDefault(const SettingList &values);
1115: 
1115: protected:
1115:   void copy(const CSettingList &setting);
1115:   static void copy(const SettingList &srcValues, SettingList &dstValues);
1115:   bool fromString(const std::string &strValue, SettingList &values) const;
1115:   bool fromValues(const std::vector<std::string> &strValues, SettingList &values) const;
1115:   std::string toString(const SettingList &values) const;
1115: 
1115:   SettingList m_values;
1115:   SettingList m_defaults;
1115:   std::shared_ptr<CSetting> m_definition;
1115:   std::string m_delimiter = "|";
1115:   int m_minimumItems = 0;
1115:   int m_maximumItems = -1;
1115: 
1115:   static Logger s_logger;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettingBool : public CTraitedSetting<bool, SettingType::Boolean>
1115: {
1115: public:
1115:   CSettingBool(const std::string &id, CSettingsManager *settingsManager = nullptr);
1115:   CSettingBool(const std::string &id, const CSettingBool &setting);
1115:   CSettingBool(const std::string &id, int label, bool value, CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingBool() override = default;
1115: 
1115:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1115:   void MergeDetails(const CSetting& other) override;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   bool FromString(const std::string &value) override;
1115:   std::string ToString() const override;
1115:   bool Equals(const std::string &value) const override;
1115:   bool CheckValidity(const std::string &value) const override;
1115:   void Reset() override { SetValue(m_default); }
1115: 
1115:   bool GetValue() const
1115:   {
1115:     std::shared_lock<CSharedSection> lock(m_critical);
1115:     return m_value;
1115:   }
1115:   bool SetValue(bool value);
1115:   bool GetDefault() const { return m_default; }
1115:   void SetDefault(bool value);
1115: 
1115: private:
1115:   static constexpr Value DefaultValue = false;
1115: 
1115:   void copy(const CSettingBool &setting);
1115:   bool fromString(const std::string &strValue, bool &value) const;
1115: 
1115:   bool m_value = DefaultValue;
1115:   bool m_default = DefaultValue;
1115: 
1115:   static Logger s_logger;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettingInt : public CTraitedSetting<int, SettingType::Integer>
1115: {
1115: public:
1115:   CSettingInt(const std::string &id, CSettingsManager *settingsManager = nullptr);
1115:   CSettingInt(const std::string &id, const CSettingInt &setting);
1115:   CSettingInt(const std::string &id, int label, int value, CSettingsManager *settingsManager = nullptr);
1115:   CSettingInt(const std::string &id, int label, int value, int minimum, int step, int maximum, CSettingsManager *settingsManager = nullptr);
1115:   CSettingInt(const std::string &id, int label, int value, const TranslatableIntegerSettingOptions &options, CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingInt() override = default;
1115: 
1115:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1115:   void MergeDetails(const CSetting& other) override;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   bool FromString(const std::string &value) override;
1115:   std::string ToString() const override;
1115:   bool Equals(const std::string &value) const override;
1115:   bool CheckValidity(const std::string &value) const override;
1115:   virtual bool CheckValidity(int value) const;
1115:   void Reset() override { SetValue(m_default); }
1115: 
1115:   int GetValue() const
1115:   {
1115:     std::shared_lock<CSharedSection> lock(m_critical);
1115:     return m_value;
1115:   }
1115:   bool SetValue(int value);
1115:   int GetDefault() const { return m_default; }
1115:   void SetDefault(int value);
1115: 
1115:   int GetMinimum() const { return m_min; }
1115:   void SetMinimum(int minimum) { m_min = minimum; }
1115:   int GetStep() const { return m_step; }
1115:   void SetStep(int step) { m_step = step; }
1115:   int GetMaximum() const { return m_max; }
1115:   void SetMaximum(int maximum) { m_max = maximum; }
1115: 
1115:   SettingOptionsType GetOptionsType() const;
1115:   const TranslatableIntegerSettingOptions& GetTranslatableOptions() const { return m_translatableOptions; }
1115:   void SetTranslatableOptions(const TranslatableIntegerSettingOptions &options) { m_translatableOptions = options; }
1115:   const IntegerSettingOptions& GetOptions() const { return m_options; }
1115:   void SetOptions(const IntegerSettingOptions &options) { m_options = options; }
1115:   const std::string& GetOptionsFillerName() const { return m_optionsFillerName; }
1115:   void SetOptionsFillerName(const std::string &optionsFillerName, void *data = nullptr)
1115:   {
1115:     m_optionsFillerName = optionsFillerName;
1115:     m_optionsFillerData = data;
1115:   }
1115:   void SetOptionsFiller(IntegerSettingOptionsFiller optionsFiller, void *data = nullptr)
1115:   {
1115:     m_optionsFiller = optionsFiller;
1115:     m_optionsFillerData = data;
1115:   }
1115:   IntegerSettingOptions GetDynamicOptions() const { return m_dynamicOptions; }
1115:   IntegerSettingOptions UpdateDynamicOptions();
1115:   SettingOptionsSort GetOptionsSort() const { return m_optionsSort; }
1115:   void SetOptionsSort(SettingOptionsSort optionsSort) { m_optionsSort = optionsSort; }
1115: 
1115: private:
1115:   static constexpr Value DefaultValue = 0;
1115:   static constexpr Value DefaultMin = DefaultValue;
1115:   static constexpr Value DefaultStep = 1;
1115:   static constexpr Value DefaultMax = DefaultValue;
1115: 
1115:   void copy(const CSettingInt &setting);
1115:   static bool fromString(const std::string &strValue, int &value);
1115: 
1115:   int m_value = DefaultValue;
1115:   int m_default = DefaultValue;
1115:   int m_min = DefaultMin;
1115:   int m_step = DefaultStep;
1115:   int m_max = DefaultMax;
1115:   TranslatableIntegerSettingOptions m_translatableOptions;
1115:   IntegerSettingOptions m_options;
1115:   std::string m_optionsFillerName;
1115:   IntegerSettingOptionsFiller m_optionsFiller = nullptr;
1115:   void *m_optionsFillerData = nullptr;
1115:   IntegerSettingOptions m_dynamicOptions;
1115:   SettingOptionsSort m_optionsSort = SettingOptionsSort::NoSorting;
1115: 
1115:   static Logger s_logger;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettingNumber : public CTraitedSetting<double, SettingType::Number>
1115: {
1115: public:
1115:   CSettingNumber(const std::string &id, CSettingsManager *settingsManager = nullptr);
1115:   CSettingNumber(const std::string &id, const CSettingNumber &setting);
1115:   CSettingNumber(const std::string &id, int label, float value, CSettingsManager *settingsManager = nullptr);
1115:   CSettingNumber(const std::string &id, int label, float value, float minimum, float step, float maximum, CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingNumber() override = default;
1115: 
1115:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1115:   void MergeDetails(const CSetting& other) override;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   bool FromString(const std::string &value) override;
1115:   std::string ToString() const override;
1115:   bool Equals(const std::string &value) const override;
1115:   bool CheckValidity(const std::string &value) const override;
1115:   virtual bool CheckValidity(double value) const;
1115:   void Reset() override { SetValue(m_default); }
1115: 
1115:   double GetValue() const
1115:   {
1115:     std::shared_lock<CSharedSection> lock(m_critical);
1115:     return m_value;
1115:   }
1115:   bool SetValue(double value);
1115:   double GetDefault() const { return m_default; }
1115:   void SetDefault(double value);
1115: 
1115:   double GetMinimum() const { return m_min; }
1115:   void SetMinimum(double minimum) { m_min = minimum; }
1115:   double GetStep() const { return m_step; }
1115:   void SetStep(double step) { m_step = step; }
1115:   double GetMaximum() const { return m_max; }
1115:   void SetMaximum(double maximum) { m_max = maximum; }
1115: 
1115: private:
1115:   static constexpr Value DefaultValue = 0.0;
1115:   static constexpr Value DefaultMin = DefaultValue;
1115:   static constexpr Value DefaultStep = 1.0;
1115:   static constexpr Value DefaultMax = DefaultValue;
1115: 
1115:   virtual void copy(const CSettingNumber &setting);
1115:   static bool fromString(const std::string &strValue, double &value);
1115: 
1115:   double m_value = DefaultValue;
1115:   double m_default = DefaultValue;
1115:   double m_min = DefaultMin;
1115:   double m_step = DefaultStep;
1115:   double m_max = DefaultMax;
1115: 
1115:   static Logger s_logger;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: class CSettingString : public CTraitedSetting<std::string, SettingType::String>
1115: {
1115: public:
1115:   CSettingString(const std::string &id, CSettingsManager *settingsManager = nullptr);
1115:   CSettingString(const std::string &id, const CSettingString &setting);
1115:   CSettingString(const std::string &id, int label, const std::string &value, CSettingsManager *settingsManager = nullptr);
1115:   ~CSettingString() override = default;
1115: 
1115:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1115:   void MergeDetails(const CSetting& other) override;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   bool FromString(const std::string &value) override { return SetValue(value); }
1115:   std::string ToString() const override { return m_value; }
1115:   bool Equals(const std::string &value) const override { return m_value == value; }
1115:   bool CheckValidity(const std::string &value) const override;
1115:   void Reset() override { SetValue(m_default); }
1115: 
1115:   virtual const std::string& GetValue() const
1115:   {
1115:     std::shared_lock<CSharedSection> lock(m_critical);
1115:     return m_value;
1115:   }
1115:   virtual bool SetValue(const std::string &value);
1115:   virtual const std::string& GetDefault() const { return m_default; }
1115:   virtual void SetDefault(const std::string &value);
1115: 
1115:   virtual bool AllowEmpty() const { return m_allowEmpty; }
1115:   void SetAllowEmpty(bool allowEmpty) { m_allowEmpty = allowEmpty; }
1115:   virtual bool AllowNewOption() const { return m_allowNewOption; }
1115:   void SetAllowNewOption(bool allowNewOption) { m_allowNewOption = allowNewOption; }
1115: 
1115:   SettingOptionsType GetOptionsType() const;
1115:   const TranslatableStringSettingOptions& GetTranslatableOptions() const { return m_translatableOptions; }
1115:   void SetTranslatableOptions(const TranslatableStringSettingOptions &options) { m_translatableOptions = options; }
1115:   const StringSettingOptions& GetOptions() const { return m_options; }
1115:   void SetOptions(const StringSettingOptions &options) { m_options = options; }
1115:   const std::string& GetOptionsFillerName() const { return m_optionsFillerName; }
1115:   void SetOptionsFillerName(const std::string &optionsFillerName, void *data = nullptr)
1115:   {
1115:     m_optionsFillerName = optionsFillerName;
1115:     m_optionsFillerData = data;
1115:   }
1115:   void SetOptionsFiller(StringSettingOptionsFiller optionsFiller, void *data = nullptr)
1115:   {
1115:     m_optionsFiller = optionsFiller;
1115:     m_optionsFillerData = data;
1115:   }
1115:   StringSettingOptions GetDynamicOptions() const { return m_dynamicOptions; }
1115:   StringSettingOptions UpdateDynamicOptions();
1115:   SettingOptionsSort GetOptionsSort() const { return m_optionsSort; }
1115:   void SetOptionsSort(SettingOptionsSort optionsSort) { m_optionsSort = optionsSort; }
1115: 
1115: protected:
1115:   static const Value DefaultValue;
1115: 
1115:   virtual void copy(const CSettingString &setting);
1115: 
1115:   std::string m_value;
1115:   std::string m_default;
1115:   bool m_allowEmpty = false;
1115:   bool m_allowNewOption = false;
1115:   TranslatableStringSettingOptions m_translatableOptions;
1115:   StringSettingOptions m_options;
1115:   std::string m_optionsFillerName;
1115:   StringSettingOptionsFiller m_optionsFiller = nullptr;
1115:   void *m_optionsFillerData = nullptr;
1115:   StringSettingOptions m_dynamicOptions;
1115:   SettingOptionsSort m_optionsSort = SettingOptionsSort::NoSorting;
1115: 
1115:   static Logger s_logger;
1115: };
1115: # 506 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/settings/lib/Setting.h"
1115: class CSettingAction : public CSetting
1115: {
1115: public:
1115:   CSettingAction(const std::string &id, CSettingsManager *settingsManager = nullptr);
1115:   CSettingAction(const std::string &id, int label, CSettingsManager *settingsManager = nullptr);
1115:   CSettingAction(const std::string &id, const CSettingAction &setting);
1115:   ~CSettingAction() override = default;
1115: 
1115:   std::shared_ptr<CSetting> Clone(const std::string &id) const override;
1115:   void MergeDetails(const CSetting& other) override;
1115: 
1115:   bool Deserialize(const TiXmlNode *node, bool update = false) override;
1115: 
1115:   SettingType GetType() const override { return SettingType::Action; }
1115:   bool FromString(const std::string &value) override { return CheckValidity(value); }
1115:   std::string ToString() const override { return ""; }
1115:   bool Equals(const std::string &value) const override { return value.empty(); }
1115:   bool CheckValidity(const std::string &value) const override { return value.empty(); }
1115:   void Reset() override { }
1115: 
1115:   bool HasData() const { return !m_data.empty(); }
1115:   const std::string& GetData() const { return m_data; }
1115:   void SetData(const std::string& data) { m_data = data; }
1115: 
1115: protected:
1115:   virtual void copy(const CSettingAction& setting);
1115: 
1115:   std::string m_data;
1115: 
1115:   static Logger s_logger;
1115: };
1115: # 25 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/POUtils.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/POUtils.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: typedef enum
1115: {
1115:   ID_FOUND = 0,
1115:   MSGID_FOUND = 1,
1115:   MSGID_PLURAL_FOUND = 2
1115: } POIdType;
1115: 
1115: enum
1115: {
1115:   ISSOURCELANG=true
1115: };
1115: 
1115: 
1115: struct CStrEntry
1115: {
1115:   size_t Pos;
1115:   std::string Str;
1115: };
1115: 
1115: 
1115: struct CPOEntry
1115: {
1115:   int Type;
1115:   uint32_t xID;
1115:   size_t xIDPos;
1115:   std::string Content;
1115:   CStrEntry msgCtxt;
1115:   CStrEntry msgID;
1115:   CStrEntry msgStr;
1115:   std::vector<CStrEntry> msgStrPlural;
1115: };
1115: 
1115: class CPODocument
1115: {
1115: public:
1115:   CPODocument();
1115:   ~CPODocument();
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool LoadFile(const std::string &pofilename);
1115: # 71 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/POUtils.h"
1115:   bool GetNextEntry();
1115: 
1115: 
1115: 
1115: 
1115:   int GetEntryType() const {return m_Entry.Type;}
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   uint32_t GetEntryID() const {return m_Entry.xID;}
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void ParseEntry(bool bisSourceLang);
1115: 
1115: 
1115: 
1115: 
1115:   const std::string& GetMsgctxt() const {return m_Entry.msgCtxt.Str;}
1115: 
1115: 
1115: 
1115: 
1115:   const std::string& GetMsgid() const {return m_Entry.msgID.Str;}
1115: 
1115: 
1115: 
1115: 
1115:   const std::string& GetMsgstr() const {return m_Entry.msgStr.Str;}
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   const std::string& GetPlurMsgstr (size_t plural) const;
1115: 
1115: protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   std::string UnescapeString(const std::string &strInput);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool FindLineStart(const std::string &strToFind, size_t &FoundPos);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void GetString(CStrEntry &strEntry);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   bool ParseNumID();
1115: 
1115: 
1115: 
1115:   void ConvertLineEnds(const std::string &filename);
1115: 
1115: 
1115:   std::string m_strBuffer;
1115: 
1115:   size_t m_POfilelength;
1115: 
1115: 
1115:   size_t m_CursorPos;
1115: 
1115:   size_t m_nextEntryPos;
1115: 
1115: 
1115:   CPOEntry m_Entry;
1115: };
1115: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:        
1115: # 22 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stdarg.h" 1 3 4
1115: # 23 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/sstream" 1 3
1115: # 36 "/usr/include/c++/12/sstream" 3
1115:        
1115: # 37 "/usr/include/c++/12/sstream" 3
1115: 
1115: # 1 "/usr/include/c++/12/istream" 1 3
1115: # 36 "/usr/include/c++/12/istream" 3
1115:        
1115: # 37 "/usr/include/c++/12/istream" 3
1115: 
1115: # 1 "/usr/include/c++/12/ios" 1 3
1115: # 36 "/usr/include/c++/12/ios" 3
1115:        
1115: # 37 "/usr/include/c++/12/ios" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/basic_ios.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/basic_ios.h" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 41 "/usr/include/c++/12/bits/basic_ios.h" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _Facet>
1115:     inline const _Facet&
1115:     __check_facet(const _Facet* __f)
1115:     {
1115:       if (!__f)
1115:  __throw_bad_cast();
1115:       return *__f;
1115:     }
1115: # 66 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:   template<typename _CharT, typename _Traits>
1115:     class basic_ios : public ios_base
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef typename _Traits::int_type int_type;
1115:       typedef typename _Traits::pos_type pos_type;
1115:       typedef typename _Traits::off_type off_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef ctype<_CharT> __ctype_type;
1115:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1115:            __num_put_type;
1115:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1115:            __num_get_type;
1115: 
1115: 
1115: 
1115:     protected:
1115:       basic_ostream<_CharT, _Traits>* _M_tie;
1115:       mutable char_type _M_fill;
1115:       mutable bool _M_fill_init;
1115:       basic_streambuf<_CharT, _Traits>* _M_streambuf;
1115: 
1115: 
1115:       const __ctype_type* _M_ctype;
1115: 
1115:       const __num_put_type* _M_num_put;
1115: 
1115:       const __num_get_type* _M_num_get;
1115: 
1115:     public:
1115: # 117 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       explicit operator bool() const
1115:       { return !this->fail(); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       bool
1115:       operator!() const
1115:       { return this->fail(); }
1115: # 136 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       iostate
1115:       rdstate() const
1115:       { return _M_streambuf_state; }
1115: # 147 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       void
1115:       clear(iostate __state = goodbit);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       setstate(iostate __state)
1115:       { this->clear(this->rdstate() | __state); }
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_setstate(iostate __state)
1115:       {
1115: 
1115: 
1115:  _M_streambuf_state |= __state;
1115:  if (this->exceptions() & __state)
1115:    throw;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       bool
1115:       good() const
1115:       { return this->rdstate() == 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       bool
1115:       eof() const
1115:       { return (this->rdstate() & eofbit) != 0; }
1115: # 200 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       bool
1115:       fail() const
1115:       { return (this->rdstate() & (badbit | failbit)) != 0; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       bool
1115:       bad() const
1115:       { return (this->rdstate() & badbit) != 0; }
1115: # 221 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       iostate
1115:       exceptions() const
1115:       { return _M_exception; }
1115: # 256 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       void
1115:       exceptions(iostate __except)
1115:       {
1115:         _M_exception = __except;
1115:         this->clear(_M_streambuf_state);
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
1115:       : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
1115:  _M_ctype(0), _M_num_put(0), _M_num_get(0)
1115:       { this->init(__sb); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       virtual
1115:       ~basic_ios() { }
1115: # 294 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       basic_ostream<_CharT, _Traits>*
1115:       tie() const
1115:       { return _M_tie; }
1115: # 306 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       basic_ostream<_CharT, _Traits>*
1115:       tie(basic_ostream<_CharT, _Traits>* __tiestr)
1115:       {
1115:         basic_ostream<_CharT, _Traits>* __old = _M_tie;
1115:         _M_tie = __tiestr;
1115:         return __old;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       basic_streambuf<_CharT, _Traits>*
1115:       rdbuf() const
1115:       { return _M_streambuf; }
1115: # 346 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       basic_streambuf<_CharT, _Traits>*
1115:       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
1115: # 360 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       basic_ios&
1115:       copyfmt(const basic_ios& __rhs);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       char_type
1115:       fill() const
1115:       {
1115:  if (!_M_fill_init)
1115:    {
1115:      _M_fill = this->widen(' ');
1115:      _M_fill_init = true;
1115:    }
1115:  return _M_fill;
1115:       }
1115: # 389 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       char_type
1115:       fill(char_type __ch)
1115:       {
1115:  char_type __old = this->fill();
1115:  _M_fill = __ch;
1115:  return __old;
1115:       }
1115: # 409 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       locale
1115:       imbue(const locale& __loc);
1115: # 429 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       char
1115:       narrow(char_type __c, char __dfault) const
1115:       { return __check_facet(_M_ctype).narrow(__c, __dfault); }
1115: # 448 "/usr/include/c++/12/bits/basic_ios.h" 3
1115:       char_type
1115:       widen(char __c) const
1115:       { return __check_facet(_M_ctype).widen(__c); }
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       basic_ios()
1115:       : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
1115:  _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
1115:       { }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       init(basic_streambuf<_CharT, _Traits>* __sb);
1115: 
1115: 
1115:       basic_ios(const basic_ios&) = delete;
1115:       basic_ios& operator=(const basic_ios&) = delete;
1115: 
1115:       void
1115:       move(basic_ios& __rhs)
1115:       {
1115:  ios_base::_M_move(__rhs);
1115:  _M_cache_locale(_M_ios_locale);
1115:  this->tie(__rhs.tie(nullptr));
1115:  _M_fill = __rhs._M_fill;
1115:  _M_fill_init = __rhs._M_fill_init;
1115:  _M_streambuf = nullptr;
1115:       }
1115: 
1115:       void
1115:       move(basic_ios&& __rhs)
1115:       { this->move(__rhs); }
1115: 
1115:       void
1115:       swap(basic_ios& __rhs) noexcept
1115:       {
1115:  ios_base::_M_swap(__rhs);
1115:  _M_cache_locale(_M_ios_locale);
1115:  __rhs._M_cache_locale(__rhs._M_ios_locale);
1115:  std::swap(_M_tie, __rhs._M_tie);
1115:  std::swap(_M_fill, __rhs._M_fill);
1115:  std::swap(_M_fill_init, __rhs._M_fill_init);
1115:       }
1115: 
1115:       void
1115:       set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1115:       { _M_streambuf = __sb; }
1115: 
1115: 
1115:       void
1115:       _M_cache_locale(const locale& __loc);
1115:     };
1115: 
1115: 
1115: }
1115: 
1115: # 1 "/usr/include/c++/12/bits/basic_ios.tcc" 1 3
1115: # 33 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     void
1115:     basic_ios<_CharT, _Traits>::clear(iostate __state)
1115:     {
1115:       if (this->rdbuf())
1115:  _M_streambuf_state = __state;
1115:       else
1115:  _M_streambuf_state = __state | badbit;
1115:       if (this->exceptions() & this->rdstate())
1115:  __throw_ios_failure(("basic_ios::clear"));
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_streambuf<_CharT, _Traits>*
1115:     basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
1115:     {
1115:       basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
1115:       _M_streambuf = __sb;
1115:       this->clear();
1115:       return __old;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ios<_CharT, _Traits>&
1115:     basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
1115:     {
1115: 
1115: 
1115:       if (this != std::__addressof(__rhs))
1115:  {
1115: 
1115: 
1115: 
1115: 
1115:    _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
1115:                       _M_local_word : new _Words[__rhs._M_word_size];
1115: 
1115: 
1115:    _Callback_list* __cb = __rhs._M_callbacks;
1115:    if (__cb)
1115:      __cb->_M_add_reference();
1115:    _M_call_callbacks(erase_event);
1115:    if (_M_word != _M_local_word)
1115:      {
1115:        delete [] _M_word;
1115:        _M_word = 0;
1115:      }
1115:    _M_dispose_callbacks();
1115: 
1115: 
1115:    _M_callbacks = __cb;
1115:    for (int __i = 0; __i < __rhs._M_word_size; ++__i)
1115:      __words[__i] = __rhs._M_word[__i];
1115:    _M_word = __words;
1115:    _M_word_size = __rhs._M_word_size;
1115: 
1115:    this->flags(__rhs.flags());
1115:    this->width(__rhs.width());
1115:    this->precision(__rhs.precision());
1115:    this->tie(__rhs.tie());
1115:    this->fill(__rhs.fill());
1115:    _M_ios_locale = __rhs.getloc();
1115:    _M_cache_locale(_M_ios_locale);
1115: 
1115:    _M_call_callbacks(copyfmt_event);
1115: 
1115: 
1115:    this->exceptions(__rhs.exceptions());
1115:  }
1115:       return *this;
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     locale
1115:     basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
1115:     {
1115:       locale __old(this->getloc());
1115:       ios_base::imbue(__loc);
1115:       _M_cache_locale(__loc);
1115:       if (this->rdbuf() != 0)
1115:  this->rdbuf()->pubimbue(__loc);
1115:       return __old;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     void
1115:     basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
1115:     {
1115: 
1115:       ios_base::_M_init();
1115: 
1115: 
1115:       _M_cache_locale(_M_ios_locale);
1115: # 146 "/usr/include/c++/12/bits/basic_ios.tcc" 3
1115:       _M_fill = _CharT();
1115:       _M_fill_init = false;
1115: 
1115:       _M_tie = 0;
1115:       _M_exception = goodbit;
1115:       _M_streambuf = __sb;
1115:       _M_streambuf_state = __sb ? goodbit : badbit;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     void
1115:     basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
1115:     {
1115:       if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
1115:  _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc));
1115:       else
1115:  _M_ctype = 0;
1115: 
1115:       if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
1115:  _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc));
1115:       else
1115:  _M_num_put = 0;
1115: 
1115:       if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
1115:  _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc));
1115:       else
1115:  _M_num_get = 0;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template class basic_ios<char>;
1115: 
1115: 
1115:   extern template class basic_ios<wchar_t>;
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 517 "/usr/include/c++/12/bits/basic_ios.h" 2 3
1115: # 45 "/usr/include/c++/12/ios" 2 3
1115: # 39 "/usr/include/c++/12/istream" 2 3
1115: # 1 "/usr/include/c++/12/ostream" 1 3
1115: # 36 "/usr/include/c++/12/ostream" 3
1115:        
1115: # 37 "/usr/include/c++/12/ostream" 3
1115: 
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 57 "/usr/include/c++/12/ostream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef typename _Traits::int_type int_type;
1115:       typedef typename _Traits::pos_type pos_type;
1115:       typedef typename _Traits::off_type off_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1115:       typedef basic_ios<_CharT, _Traits> __ios_type;
1115:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1115:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
1115:              __num_put_type;
1115:       typedef ctype<_CharT> __ctype_type;
1115: # 83 "/usr/include/c++/12/ostream" 3
1115:       explicit
1115:       basic_ostream(__streambuf_type* __sb)
1115:       { this->init(__sb); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       virtual
1115:       ~basic_ostream() { }
1115: 
1115: 
1115:       class sentry;
1115:       friend class sentry;
1115: # 107 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       operator<<(__ostream_type& (*__pf)(__ostream_type&))
1115:       {
1115: 
1115: 
1115: 
1115:  return __pf(*this);
1115:       }
1115: 
1115:       __ostream_type&
1115:       operator<<(__ios_type& (*__pf)(__ios_type&))
1115:       {
1115: 
1115: 
1115: 
1115:  __pf(*this);
1115:  return *this;
1115:       }
1115: 
1115:       __ostream_type&
1115:       operator<<(ios_base& (*__pf) (ios_base&))
1115:       {
1115: 
1115: 
1115: 
1115:  __pf(*this);
1115:  return *this;
1115:       }
1115: # 165 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       operator<<(long __n)
1115:       { return _M_insert(__n); }
1115: 
1115:       __ostream_type&
1115:       operator<<(unsigned long __n)
1115:       { return _M_insert(__n); }
1115: 
1115:       __ostream_type&
1115:       operator<<(bool __n)
1115:       { return _M_insert(__n); }
1115: 
1115:       __ostream_type&
1115:       operator<<(short __n);
1115: 
1115:       __ostream_type&
1115:       operator<<(unsigned short __n)
1115:       {
1115: 
1115: 
1115:  return _M_insert(static_cast<unsigned long>(__n));
1115:       }
1115: 
1115:       __ostream_type&
1115:       operator<<(int __n);
1115: 
1115:       __ostream_type&
1115:       operator<<(unsigned int __n)
1115:       {
1115: 
1115: 
1115:  return _M_insert(static_cast<unsigned long>(__n));
1115:       }
1115: 
1115: 
1115:       __ostream_type&
1115:       operator<<(long long __n)
1115:       { return _M_insert(__n); }
1115: 
1115:       __ostream_type&
1115:       operator<<(unsigned long long __n)
1115:       { return _M_insert(__n); }
1115: # 219 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       operator<<(double __f)
1115:       { return _M_insert(__f); }
1115: 
1115:       __ostream_type&
1115:       operator<<(float __f)
1115:       {
1115: 
1115: 
1115:  return _M_insert(static_cast<double>(__f));
1115:       }
1115: 
1115:       __ostream_type&
1115:       operator<<(long double __f)
1115:       { return _M_insert(__f); }
1115: # 244 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       operator<<(const void* __p)
1115:       { return _M_insert(__p); }
1115: 
1115: 
1115:       __ostream_type&
1115:       operator<<(nullptr_t)
1115:       { return *this << "nullptr"; }
1115: # 282 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       operator<<(__streambuf_type* __sb);
1115: # 315 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       put(char_type __c);
1115: # 334 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       write(const char_type* __s, streamsize __n);
1115: # 347 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       flush();
1115: # 357 "/usr/include/c++/12/ostream" 3
1115:       pos_type
1115:       tellp();
1115: # 368 "/usr/include/c++/12/ostream" 3
1115:       __ostream_type&
1115:       seekp(pos_type);
1115: # 380 "/usr/include/c++/12/ostream" 3
1115:        __ostream_type&
1115:       seekp(off_type, ios_base::seekdir);
1115: 
1115:     protected:
1115:       basic_ostream()
1115:       { this->init(0); }
1115: 
1115: 
1115: 
1115:       basic_ostream(basic_iostream<_CharT, _Traits>&) { }
1115: 
1115:       basic_ostream(const basic_ostream&) = delete;
1115: 
1115:       basic_ostream(basic_ostream&& __rhs)
1115:       : __ios_type()
1115:       { __ios_type::move(__rhs); }
1115: 
1115: 
1115: 
1115:       basic_ostream& operator=(const basic_ostream&) = delete;
1115: 
1115:       basic_ostream&
1115:       operator=(basic_ostream&& __rhs)
1115:       {
1115:  swap(__rhs);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(basic_ostream& __rhs)
1115:       { __ios_type::swap(__rhs); }
1115: 
1115: 
1115:       template<typename _ValueT>
1115:  __ostream_type&
1115:  _M_insert(_ValueT __v);
1115: 
1115:     private:
1115: 
1115:       void
1115:       _M_write(const char_type* __s, streamsize __n)
1115:       { std::__ostream_insert(*this, __s, __n); }
1115: 
1115:     };
1115: # 432 "/usr/include/c++/12/ostream" 3
1115:   template <typename _CharT, typename _Traits>
1115:     class basic_ostream<_CharT, _Traits>::sentry
1115:     {
1115: 
1115:       bool _M_ok;
1115:       basic_ostream<_CharT, _Traits>& _M_os;
1115: 
1115:     public:
1115: # 451 "/usr/include/c++/12/ostream" 3
1115:       explicit
1115:       sentry(basic_ostream<_CharT, _Traits>& __os);
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~sentry()
1115:       {
1115: 
1115:  if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception())
1115:    {
1115: 
1115:      if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
1115:        _M_os.setstate(ios_base::badbit);
1115:    }
1115:       }
1115: #pragma GCC diagnostic pop
1115: # 483 "/usr/include/c++/12/ostream" 3
1115:       explicit
1115: 
1115:       operator bool() const
1115:       { return _M_ok; }
1115:     };
1115: # 505 "/usr/include/c++/12/ostream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
1115:     {
1115:       if (__out.width() != 0)
1115:  return __ostream_insert(__out, &__c, 1);
1115:       __out.put(__c);
1115:       return __out;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
1115:     { return (__out << __out.widen(__c)); }
1115: 
1115: 
1115:   template<typename _Traits>
1115:     inline basic_ostream<char, _Traits>&
1115:     operator<<(basic_ostream<char, _Traits>& __out, char __c)
1115:     {
1115:       if (__out.width() != 0)
1115:  return __ostream_insert(__out, &__c, 1);
1115:       __out.put(__c);
1115:       return __out;
1115:     }
1115: 
1115: 
1115:   template<typename _Traits>
1115:     inline basic_ostream<char, _Traits>&
1115:     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
1115:     { return (__out << static_cast<char>(__c)); }
1115: 
1115:   template<typename _Traits>
1115:     inline basic_ostream<char, _Traits>&
1115:     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
1115:     { return (__out << static_cast<char>(__c)); }
1115: # 596 "/usr/include/c++/12/ostream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
1115:     {
1115:       if (!__s)
1115:  __out.setstate(ios_base::badbit);
1115:       else
1115:  __ostream_insert(__out, __s,
1115:     static_cast<streamsize>(_Traits::length(__s)));
1115:       return __out;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits> &
1115:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
1115: 
1115: 
1115:   template<typename _Traits>
1115:     inline basic_ostream<char, _Traits>&
1115:     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
1115:     {
1115:       if (!__s)
1115:  __out.setstate(ios_base::badbit);
1115:       else
1115:  __ostream_insert(__out, __s,
1115:     static_cast<streamsize>(_Traits::length(__s)));
1115:       return __out;
1115:     }
1115: 
1115: 
1115:   template<typename _Traits>
1115:     inline basic_ostream<char, _Traits>&
1115:     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
1115:     { return (__out << reinterpret_cast<const char*>(__s)); }
1115: 
1115:   template<typename _Traits>
1115:     inline basic_ostream<char, _Traits> &
1115:     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
1115:     { return (__out << reinterpret_cast<const char*>(__s)); }
1115: # 686 "/usr/include/c++/12/ostream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     endl(basic_ostream<_CharT, _Traits>& __os)
1115:     { return flush(__os.put(__os.widen('\n'))); }
1115: # 698 "/usr/include/c++/12/ostream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     ends(basic_ostream<_CharT, _Traits>& __os)
1115:     { return __os.put(_CharT()); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     inline basic_ostream<_CharT, _Traits>&
1115:     flush(basic_ostream<_CharT, _Traits>& __os)
1115:     { return __os.flush(); }
1115: # 730 "/usr/include/c++/12/ostream" 3
1115:   template<typename _Tp>
1115:     using _Require_derived_from_ios_base
1115:       = _Require<is_class<_Tp>, __not_<is_same<_Tp, ios_base>>,
1115:    is_convertible<typename add_pointer<_Tp>::type, ios_base*>>;
1115: 
1115:   template<typename _Os, typename _Tp,
1115:     typename = _Require_derived_from_ios_base<_Os>,
1115:     typename
1115:       = decltype(std::declval<_Os&>() << std::declval<const _Tp&>())>
1115:     using __rvalue_stream_insertion_t = _Os&&;
1115: # 752 "/usr/include/c++/12/ostream" 3
1115:   template<typename _Ostream, typename _Tp>
1115:     inline __rvalue_stream_insertion_t<_Ostream, _Tp>
1115:     operator<<(_Ostream&& __os, const _Tp& __x)
1115:     {
1115:       __os << __x;
1115:       return std::move(__os);
1115:     }
1115: # 830 "/usr/include/c++/12/ostream" 3
1115: 
1115: }
1115: 
1115: # 1 "/usr/include/c++/12/bits/ostream.tcc" 1 3
1115: # 37 "/usr/include/c++/12/bits/ostream.tcc" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/ostream.tcc" 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>::sentry::
1115:     sentry(basic_ostream<_CharT, _Traits>& __os)
1115:     : _M_ok(false), _M_os(__os)
1115:     {
1115: 
1115:       if (__os.tie() && __os.good())
1115:  __os.tie()->flush();
1115: 
1115:       if (__os.good())
1115:  _M_ok = true;
1115:       else if (__os.bad())
1115:  __os.setstate(ios_base::failbit);
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     template<typename _ValueT>
1115:       basic_ostream<_CharT, _Traits>&
1115:       basic_ostream<_CharT, _Traits>::
1115:       _M_insert(_ValueT __v)
1115:       {
1115:  sentry __cerb(*this);
1115:  if (__cerb)
1115:    {
1115:      ios_base::iostate __err = ios_base::goodbit;
1115:      try
1115:        {
1115:   const __num_put_type& __np = __check_facet(this->_M_num_put);
1115:   if (__np.put(*this, *this, this->fill(), __v).failed())
1115:     __err |= ios_base::badbit;
1115:        }
1115:      catch(__cxxabiv1::__forced_unwind&)
1115:        {
1115:   this->_M_setstate(ios_base::badbit);
1115:   throw;
1115:        }
1115:      catch(...)
1115:        { this->_M_setstate(ios_base::badbit); }
1115:      if (__err)
1115:        this->setstate(__err);
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     operator<<(short __n)
1115:     {
1115: 
1115: 
1115:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1115:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1115:  return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
1115:       else
1115:  return _M_insert(static_cast<long>(__n));
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     operator<<(int __n)
1115:     {
1115: 
1115: 
1115:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
1115:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
1115:  return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
1115:       else
1115:  return _M_insert(static_cast<long>(__n));
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     operator<<(__streambuf_type* __sbin)
1115:     {
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       sentry __cerb(*this);
1115:       if (__cerb && __sbin)
1115:  {
1115:    try
1115:      {
1115:        if (!__copy_streambufs(__sbin, this->rdbuf()))
1115:   __err |= ios_base::failbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::failbit); }
1115:  }
1115:       else if (!__sbin)
1115:  __err |= ios_base::badbit;
1115:       if (__err)
1115:  this->setstate(__err);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     put(char_type __c)
1115:     {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       sentry __cerb(*this);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        const int_type __put = this->rdbuf()->sputc(__c);
1115:        if (traits_type::eq_int_type(__put, traits_type::eof()))
1115:   __err |= ios_base::badbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     write(const _CharT* __s, streamsize __n)
1115:     {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       sentry __cerb(*this);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        if (this->rdbuf()->sputn(__s, __n) != __n)
1115:   __err = ios_base::badbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(ios_base::badbit);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     flush()
1115:     {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       if (__streambuf_type* __buf = this->rdbuf())
1115:  {
1115:    sentry __cerb(*this);
1115:    if (__cerb)
1115:      {
1115:        ios_base::iostate __err = ios_base::goodbit;
1115:        try
1115:   {
1115:     if (this->rdbuf()->pubsync() == -1)
1115:       __err |= ios_base::badbit;
1115:   }
1115:        catch(__cxxabiv1::__forced_unwind&)
1115:   {
1115:     this->_M_setstate(ios_base::badbit);
1115:     throw;
1115:   }
1115:        catch(...)
1115:   { this->_M_setstate(ios_base::badbit); }
1115:        if (__err)
1115:   this->setstate(__err);
1115:      }
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     typename basic_ostream<_CharT, _Traits>::pos_type
1115:     basic_ostream<_CharT, _Traits>::
1115:     tellp()
1115:     {
1115:       sentry __cerb(*this);
1115:       pos_type __ret = pos_type(-1);
1115:       if (!this->fail())
1115:  __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     seekp(pos_type __pos)
1115:     {
1115:       sentry __cerb(*this);
1115:       if (!this->fail())
1115:  {
1115: 
1115: 
1115:    const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out);
1115: 
1115: 
1115:    if (__p == pos_type(off_type(-1)))
1115:      this->setstate(ios_base::failbit);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     basic_ostream<_CharT, _Traits>::
1115:     seekp(off_type __off, ios_base::seekdir __dir)
1115:     {
1115:       sentry __cerb(*this);
1115:       if (!this->fail())
1115:  {
1115: 
1115: 
1115:    const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1115:         ios_base::out);
1115: 
1115: 
1115:    if (__p == pos_type(off_type(-1)))
1115:      this->setstate(ios_base::failbit);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_ostream<_CharT, _Traits>&
1115:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
1115:     {
1115:       if (!__s)
1115:  __out.setstate(ios_base::badbit);
1115:       else
1115:  {
1115: 
1115: 
1115:    const size_t __clen = char_traits<char>::length(__s);
1115:    try
1115:      {
1115:        struct __ptr_guard
1115:        {
1115:   _CharT *__p;
1115:   __ptr_guard (_CharT *__ip): __p(__ip) { }
1115:   ~__ptr_guard() { delete[] __p; }
1115:   _CharT* __get() { return __p; }
1115:        } __pg (new _CharT[__clen]);
1115: 
1115:        _CharT *__ws = __pg.__get();
1115:        for (size_t __i = 0; __i < __clen; ++__i)
1115:   __ws[__i] = __out.widen(__s[__i]);
1115:        __ostream_insert(__out, __ws, __clen);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        __out._M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { __out._M_setstate(ios_base::badbit); }
1115:  }
1115:       return __out;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template class basic_ostream<char>;
1115:   extern template ostream& endl(ostream&);
1115:   extern template ostream& ends(ostream&);
1115:   extern template ostream& flush(ostream&);
1115:   extern template ostream& operator<<(ostream&, char);
1115:   extern template ostream& operator<<(ostream&, unsigned char);
1115:   extern template ostream& operator<<(ostream&, signed char);
1115:   extern template ostream& operator<<(ostream&, const char*);
1115:   extern template ostream& operator<<(ostream&, const unsigned char*);
1115:   extern template ostream& operator<<(ostream&, const signed char*);
1115: 
1115:   extern template ostream& ostream::_M_insert(long);
1115:   extern template ostream& ostream::_M_insert(unsigned long);
1115:   extern template ostream& ostream::_M_insert(bool);
1115: 
1115:   extern template ostream& ostream::_M_insert(long long);
1115:   extern template ostream& ostream::_M_insert(unsigned long long);
1115: 
1115:   extern template ostream& ostream::_M_insert(double);
1115:   extern template ostream& ostream::_M_insert(long double);
1115:   extern template ostream& ostream::_M_insert(const void*);
1115: 
1115: 
1115:   extern template class basic_ostream<wchar_t>;
1115:   extern template wostream& endl(wostream&);
1115:   extern template wostream& ends(wostream&);
1115:   extern template wostream& flush(wostream&);
1115:   extern template wostream& operator<<(wostream&, wchar_t);
1115:   extern template wostream& operator<<(wostream&, char);
1115:   extern template wostream& operator<<(wostream&, const wchar_t*);
1115:   extern template wostream& operator<<(wostream&, const char*);
1115: 
1115:   extern template wostream& wostream::_M_insert(long);
1115:   extern template wostream& wostream::_M_insert(unsigned long);
1115:   extern template wostream& wostream::_M_insert(bool);
1115: 
1115:   extern template wostream& wostream::_M_insert(long long);
1115:   extern template wostream& wostream::_M_insert(unsigned long long);
1115: 
1115:   extern template wostream& wostream::_M_insert(double);
1115:   extern template wostream& wostream::_M_insert(long double);
1115:   extern template wostream& wostream::_M_insert(const void*);
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 834 "/usr/include/c++/12/ostream" 2 3
1115: # 40 "/usr/include/c++/12/istream" 2 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: # 57 "/usr/include/c++/12/istream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     class basic_istream : virtual public basic_ios<_CharT, _Traits>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef typename _Traits::int_type int_type;
1115:       typedef typename _Traits::pos_type pos_type;
1115:       typedef typename _Traits::off_type off_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1115:       typedef basic_ios<_CharT, _Traits> __ios_type;
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
1115:         __num_get_type;
1115:       typedef ctype<_CharT> __ctype_type;
1115: 
1115:     protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       streamsize _M_gcount;
1115: 
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       basic_istream(__streambuf_type* __sb)
1115:       : _M_gcount(streamsize(0))
1115:       { this->init(__sb); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       virtual
1115:       ~basic_istream()
1115:       { _M_gcount = streamsize(0); }
1115: 
1115: 
1115:       class sentry;
1115:       friend class sentry;
1115: # 119 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       operator>>(__istream_type& (*__pf)(__istream_type&))
1115:       { return __pf(*this); }
1115: 
1115:       __istream_type&
1115:       operator>>(__ios_type& (*__pf)(__ios_type&))
1115:       {
1115:  __pf(*this);
1115:  return *this;
1115:       }
1115: 
1115:       __istream_type&
1115:       operator>>(ios_base& (*__pf)(ios_base&))
1115:       {
1115:  __pf(*this);
1115:  return *this;
1115:       }
1115: # 167 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       operator>>(bool& __n)
1115:       { return _M_extract(__n); }
1115: 
1115:       __istream_type&
1115:       operator>>(short& __n);
1115: 
1115:       __istream_type&
1115:       operator>>(unsigned short& __n)
1115:       { return _M_extract(__n); }
1115: 
1115:       __istream_type&
1115:       operator>>(int& __n);
1115: 
1115:       __istream_type&
1115:       operator>>(unsigned int& __n)
1115:       { return _M_extract(__n); }
1115: 
1115:       __istream_type&
1115:       operator>>(long& __n)
1115:       { return _M_extract(__n); }
1115: 
1115:       __istream_type&
1115:       operator>>(unsigned long& __n)
1115:       { return _M_extract(__n); }
1115: 
1115: 
1115:       __istream_type&
1115:       operator>>(long long& __n)
1115:       { return _M_extract(__n); }
1115: 
1115:       __istream_type&
1115:       operator>>(unsigned long long& __n)
1115:       { return _M_extract(__n); }
1115: # 213 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       operator>>(float& __f)
1115:       { return _M_extract(__f); }
1115: 
1115:       __istream_type&
1115:       operator>>(double& __f)
1115:       { return _M_extract(__f); }
1115: 
1115:       __istream_type&
1115:       operator>>(long double& __f)
1115:       { return _M_extract(__f); }
1115: # 234 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       operator>>(void*& __p)
1115:       { return _M_extract(__p); }
1115: # 258 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       operator>>(__streambuf_type* __sb);
1115: # 268 "/usr/include/c++/12/istream" 3
1115:       streamsize
1115:       gcount() const
1115:       { return _M_gcount; }
1115: # 301 "/usr/include/c++/12/istream" 3
1115:       int_type
1115:       get();
1115: # 315 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       get(char_type& __c);
1115: # 342 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       get(char_type* __s, streamsize __n, char_type __delim);
1115: # 353 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       get(char_type* __s, streamsize __n)
1115:       { return this->get(__s, __n, this->widen('\n')); }
1115: # 376 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       get(__streambuf_type& __sb, char_type __delim);
1115: # 386 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       get(__streambuf_type& __sb)
1115:       { return this->get(__sb, this->widen('\n')); }
1115: # 415 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       getline(char_type* __s, streamsize __n, char_type __delim);
1115: # 426 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       getline(char_type* __s, streamsize __n)
1115:       { return this->getline(__s, __n, this->widen('\n')); }
1115: # 450 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       ignore(streamsize __n, int_type __delim);
1115: 
1115:       __istream_type&
1115:       ignore(streamsize __n);
1115: 
1115:       __istream_type&
1115:       ignore();
1115: # 467 "/usr/include/c++/12/istream" 3
1115:       int_type
1115:       peek();
1115: # 485 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       read(char_type* __s, streamsize __n);
1115: # 504 "/usr/include/c++/12/istream" 3
1115:       streamsize
1115:       readsome(char_type* __s, streamsize __n);
1115: # 521 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       putback(char_type __c);
1115: # 537 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       unget();
1115: # 555 "/usr/include/c++/12/istream" 3
1115:       int
1115:       sync();
1115: # 570 "/usr/include/c++/12/istream" 3
1115:       pos_type
1115:       tellg();
1115: # 585 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       seekg(pos_type);
1115: # 601 "/usr/include/c++/12/istream" 3
1115:       __istream_type&
1115:       seekg(off_type, ios_base::seekdir);
1115: 
1115: 
1115:     protected:
1115:       basic_istream()
1115:       : _M_gcount(streamsize(0))
1115:       { this->init(0); }
1115: 
1115: 
1115:       basic_istream(const basic_istream&) = delete;
1115: 
1115:       basic_istream(basic_istream&& __rhs)
1115:       : __ios_type(), _M_gcount(__rhs._M_gcount)
1115:       {
1115:  __ios_type::move(__rhs);
1115:  __rhs._M_gcount = 0;
1115:       }
1115: 
1115: 
1115: 
1115:       basic_istream& operator=(const basic_istream&) = delete;
1115: 
1115:       basic_istream&
1115:       operator=(basic_istream&& __rhs)
1115:       {
1115:  swap(__rhs);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(basic_istream& __rhs)
1115:       {
1115:  __ios_type::swap(__rhs);
1115:  std::swap(_M_gcount, __rhs._M_gcount);
1115:       }
1115: 
1115: 
1115:       template<typename _ValueT>
1115:  __istream_type&
1115:  _M_extract(_ValueT& __v);
1115:     };
1115: 
1115: 
1115:   template<>
1115:     basic_istream<char>&
1115:     basic_istream<char>::
1115:     getline(char_type* __s, streamsize __n, char_type __delim);
1115: 
1115:   template<>
1115:     basic_istream<char>&
1115:     basic_istream<char>::
1115:     ignore(streamsize __n);
1115: 
1115:   template<>
1115:     basic_istream<char>&
1115:     basic_istream<char>::
1115:     ignore(streamsize __n, int_type __delim);
1115: 
1115: 
1115:   template<>
1115:     basic_istream<wchar_t>&
1115:     basic_istream<wchar_t>::
1115:     getline(char_type* __s, streamsize __n, char_type __delim);
1115: 
1115:   template<>
1115:     basic_istream<wchar_t>&
1115:     basic_istream<wchar_t>::
1115:     ignore(streamsize __n);
1115: 
1115:   template<>
1115:     basic_istream<wchar_t>&
1115:     basic_istream<wchar_t>::
1115:     ignore(streamsize __n, int_type __delim);
1115: # 685 "/usr/include/c++/12/istream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     class basic_istream<_CharT, _Traits>::sentry
1115:     {
1115: 
1115:       bool _M_ok;
1115: 
1115:     public:
1115: 
1115:       typedef _Traits traits_type;
1115:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef typename __istream_type::__ctype_type __ctype_type;
1115:       typedef typename _Traits::int_type __int_type;
1115: # 721 "/usr/include/c++/12/istream" 3
1115:       explicit
1115:       sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
1115: # 732 "/usr/include/c++/12/istream" 3
1115:       explicit
1115: 
1115:       operator bool() const
1115:       { return _M_ok; }
1115:     };
1115: # 750 "/usr/include/c++/12/istream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
1115: 
1115:   template<class _Traits>
1115:     inline basic_istream<char, _Traits>&
1115:     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
1115:     { return (__in >> reinterpret_cast<char&>(__c)); }
1115: 
1115:   template<class _Traits>
1115:     inline basic_istream<char, _Traits>&
1115:     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
1115:     { return (__in >> reinterpret_cast<char&>(__c)); }
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     void
1115:     __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize);
1115: 
1115:   void __istream_extract(istream&, char*, streamsize);
1115: # 800 "/usr/include/c++/12/istream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1115:     inline basic_istream<_CharT, _Traits>&
1115:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
1115:     {
1115: 
1115: 
1115: 
1115:       size_t __n = __builtin_object_size(__s, 0);
1115:       if (__n < sizeof(_CharT))
1115:  {
1115: 
1115:    do { if (std::__is_constant_evaluated() && !bool(__n >= sizeof(_CharT))) __builtin_unreachable(); } while (false);
1115: 
1115:    __in.width(0);
1115:    __in.setstate(ios_base::failbit);
1115:  }
1115:       else if (__n != (size_t)-1)
1115:  {
1115:    __n /= sizeof(_CharT);
1115:    streamsize __w = __in.width();
1115:    std::__istream_extract(__in, __s, __n);
1115:    if (__in.good() && (__w <= 0 || __n < __w))
1115:      {
1115: 
1115: 
1115:        const typename _Traits::int_type __c = __in.rdbuf()->sgetc();
1115:        const bool __eof = _Traits::eq_int_type(__c, _Traits::eof());
1115:        if (__builtin_expect(__eof, true))
1115:   __in.setstate(ios_base::eofbit);
1115:      }
1115:  }
1115:       else
1115: 
1115:  {
1115: 
1115:    streamsize __n = __gnu_cxx::__numeric_traits<streamsize>::__max;
1115:    __n /= sizeof(_CharT);
1115:    std::__istream_extract(__in, __s, __n);
1115:  }
1115:       return __in;
1115:     }
1115: 
1115:   template<class _Traits>
1115:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1115:     inline basic_istream<char, _Traits>&
1115:     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
1115:     { return __in >> reinterpret_cast<char*>(__s); }
1115: 
1115:   template<class _Traits>
1115:     __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
1115:     inline basic_istream<char, _Traits>&
1115:     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
1115:     { return __in >> reinterpret_cast<char*>(__s); }
1115: # 889 "/usr/include/c++/12/istream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     class basic_iostream
1115:     : public basic_istream<_CharT, _Traits>,
1115:       public basic_ostream<_CharT, _Traits>
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef typename _Traits::int_type int_type;
1115:       typedef typename _Traits::pos_type pos_type;
1115:       typedef typename _Traits::off_type off_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       explicit
1115:       basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
1115:       : __istream_type(__sb), __ostream_type(__sb) { }
1115: 
1115: 
1115: 
1115: 
1115:       virtual
1115:       ~basic_iostream() { }
1115: 
1115:     protected:
1115:       basic_iostream()
1115:       : __istream_type(), __ostream_type() { }
1115: 
1115: 
1115:       basic_iostream(const basic_iostream&) = delete;
1115: 
1115:       basic_iostream(basic_iostream&& __rhs)
1115:       : __istream_type(std::move(__rhs)), __ostream_type(*this)
1115:       { }
1115: 
1115: 
1115: 
1115:       basic_iostream& operator=(const basic_iostream&) = delete;
1115: 
1115:       basic_iostream&
1115:       operator=(basic_iostream&& __rhs)
1115:       {
1115:  swap(__rhs);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(basic_iostream& __rhs)
1115:       { __istream_type::swap(__rhs); }
1115: 
1115:     };
1115: # 972 "/usr/include/c++/12/istream" 3
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     ws(basic_istream<_CharT, _Traits>& __is);
1115: # 988 "/usr/include/c++/12/istream" 3
1115:   template<typename _Is, typename _Tp,
1115:     typename = _Require_derived_from_ios_base<_Is>,
1115:     typename = decltype(std::declval<_Is&>() >> std::declval<_Tp>())>
1115:     using __rvalue_stream_extraction_t = _Is&&;
1115: # 1004 "/usr/include/c++/12/istream" 3
1115:   template<typename _Istream, typename _Tp>
1115:     inline __rvalue_stream_extraction_t<_Istream, _Tp>
1115:     operator>>(_Istream&& __is, _Tp&& __x)
1115:     {
1115:       __is >> std::forward<_Tp>(__x);
1115:       return std::move(__is);
1115:     }
1115: 
1115: 
1115: 
1115: }
1115: 
1115: # 1 "/usr/include/c++/12/bits/istream.tcc" 1 3
1115: # 37 "/usr/include/c++/12/bits/istream.tcc" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/istream.tcc" 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>::sentry::
1115:     sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
1115:     {
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       if (__in.good())
1115:  {
1115:    try
1115:      {
1115:        if (__in.tie())
1115:   __in.tie()->flush();
1115:        if (!__noskip && bool(__in.flags() & ios_base::skipws))
1115:   {
1115:     const __int_type __eof = traits_type::eof();
1115:     __streambuf_type* __sb = __in.rdbuf();
1115:     __int_type __c = __sb->sgetc();
1115: 
1115:     const __ctype_type& __ct = __check_facet(__in._M_ctype);
1115:     while (!traits_type::eq_int_type(__c, __eof)
1115:     && __ct.is(ctype_base::space,
1115:         traits_type::to_char_type(__c)))
1115:       __c = __sb->snextc();
1115: 
1115: 
1115: 
1115: 
1115:     if (traits_type::eq_int_type(__c, __eof))
1115:       __err |= ios_base::eofbit;
1115:   }
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        __in._M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { __in._M_setstate(ios_base::badbit); }
1115:  }
1115: 
1115:       if (__in.good() && __err == ios_base::goodbit)
1115:  _M_ok = true;
1115:       else
1115:  {
1115:    __err |= ios_base::failbit;
1115:    __in.setstate(__err);
1115:  }
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     template<typename _ValueT>
1115:       basic_istream<_CharT, _Traits>&
1115:       basic_istream<_CharT, _Traits>::
1115:       _M_extract(_ValueT& __v)
1115:       {
1115:  sentry __cerb(*this, false);
1115:  if (__cerb)
1115:    {
1115:      ios_base::iostate __err = ios_base::goodbit;
1115:      try
1115:        {
1115:   const __num_get_type& __ng = __check_facet(this->_M_num_get);
1115:   __ng.get(*this, 0, *this, __err, __v);
1115:        }
1115:      catch(__cxxabiv1::__forced_unwind&)
1115:        {
1115:   this->_M_setstate(ios_base::badbit);
1115:   throw;
1115:        }
1115:      catch(...)
1115:        { this->_M_setstate(ios_base::badbit); }
1115:      if (__err)
1115:        this->setstate(__err);
1115:    }
1115:  return *this;
1115:       }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     operator>>(short& __n)
1115:     {
1115: 
1115: 
1115:       sentry __cerb(*this, false);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        long __l;
1115:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1115:        __ng.get(*this, 0, *this, __err, __l);
1115: 
1115: 
1115: 
1115:        if (__l < __gnu_cxx::__numeric_traits<short>::__min)
1115:   {
1115:     __err |= ios_base::failbit;
1115:     __n = __gnu_cxx::__numeric_traits<short>::__min;
1115:   }
1115:        else if (__l > __gnu_cxx::__numeric_traits<short>::__max)
1115:   {
1115:     __err |= ios_base::failbit;
1115:     __n = __gnu_cxx::__numeric_traits<short>::__max;
1115:   }
1115:        else
1115:   __n = short(__l);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     operator>>(int& __n)
1115:     {
1115: 
1115: 
1115:       sentry __cerb(*this, false);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        long __l;
1115:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
1115:        __ng.get(*this, 0, *this, __err, __l);
1115: 
1115: 
1115: 
1115:        if (__l < __gnu_cxx::__numeric_traits<int>::__min)
1115:   {
1115:     __err |= ios_base::failbit;
1115:     __n = __gnu_cxx::__numeric_traits<int>::__min;
1115:   }
1115:        else if (__l > __gnu_cxx::__numeric_traits<int>::__max)
1115:   {
1115:     __err |= ios_base::failbit;
1115:     __n = __gnu_cxx::__numeric_traits<int>::__max;
1115:   }
1115:        else
1115:   __n = int(__l);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     operator>>(__streambuf_type* __sbout)
1115:     {
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       sentry __cerb(*this, false);
1115:       if (__cerb && __sbout)
1115:  {
1115:    try
1115:      {
1115:        bool __ineof;
1115:        if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
1115:   __err |= ios_base::failbit;
1115:        if (__ineof)
1115:   __err |= ios_base::eofbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::failbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::failbit); }
1115:  }
1115:       else if (!__sbout)
1115:  __err |= ios_base::failbit;
1115:       if (__err)
1115:  this->setstate(__err);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     typename basic_istream<_CharT, _Traits>::int_type
1115:     basic_istream<_CharT, _Traits>::
1115:     get(void)
1115:     {
1115:       const int_type __eof = traits_type::eof();
1115:       int_type __c = __eof;
1115:       _M_gcount = 0;
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115:        __c = this->rdbuf()->sbumpc();
1115: 
1115:        if (!traits_type::eq_int_type(__c, __eof))
1115:   _M_gcount = 1;
1115:        else
1115:   __err |= ios_base::eofbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:  }
1115:       if (!_M_gcount)
1115:  __err |= ios_base::failbit;
1115:       if (__err)
1115:  this->setstate(__err);
1115:       return __c;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     get(char_type& __c)
1115:     {
1115:       _M_gcount = 0;
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115:        const int_type __cb = this->rdbuf()->sbumpc();
1115: 
1115:        if (!traits_type::eq_int_type(__cb, traits_type::eof()))
1115:   {
1115:     _M_gcount = 1;
1115:     __c = traits_type::to_char_type(__cb);
1115:   }
1115:        else
1115:   __err |= ios_base::eofbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:  }
1115:       if (!_M_gcount)
1115:  __err |= ios_base::failbit;
1115:       if (__err)
1115:  this->setstate(__err);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     get(char_type* __s, streamsize __n, char_type __delim)
1115:     {
1115:       _M_gcount = 0;
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115:        const int_type __idelim = traits_type::to_int_type(__delim);
1115:        const int_type __eof = traits_type::eof();
1115:        __streambuf_type* __sb = this->rdbuf();
1115:        int_type __c = __sb->sgetc();
1115: 
1115:        while (_M_gcount + 1 < __n
1115:        && !traits_type::eq_int_type(__c, __eof)
1115:        && !traits_type::eq_int_type(__c, __idelim))
1115:   {
1115:     *__s++ = traits_type::to_char_type(__c);
1115:     ++_M_gcount;
1115:     __c = __sb->snextc();
1115:   }
1115:        if (traits_type::eq_int_type(__c, __eof))
1115:   __err |= ios_base::eofbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:  }
1115: 
1115: 
1115:       if (__n > 0)
1115:  *__s = char_type();
1115:       if (!_M_gcount)
1115:  __err |= ios_base::failbit;
1115:       if (__err)
1115:  this->setstate(__err);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     get(__streambuf_type& __sb, char_type __delim)
1115:     {
1115:       _M_gcount = 0;
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115:        const int_type __idelim = traits_type::to_int_type(__delim);
1115:        const int_type __eof = traits_type::eof();
1115:        __streambuf_type* __this_sb = this->rdbuf();
1115:        int_type __c = __this_sb->sgetc();
1115:        char_type __c2 = traits_type::to_char_type(__c);
1115:        unsigned long long __gcount = 0;
1115: 
1115:        while (!traits_type::eq_int_type(__c, __eof)
1115:        && !traits_type::eq_int_type(__c, __idelim)
1115:        && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
1115:   {
1115:     ++__gcount;
1115:     __c = __this_sb->snextc();
1115:     __c2 = traits_type::to_char_type(__c);
1115:   }
1115:        if (traits_type::eq_int_type(__c, __eof))
1115:   __err |= ios_base::eofbit;
1115: 
1115: 
1115:        if (__gcount <= __gnu_cxx::__numeric_traits<streamsize>::__max)
1115:   _M_gcount = __gcount;
1115:        else
1115:   _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:  }
1115:       if (!_M_gcount)
1115:  __err |= ios_base::failbit;
1115:       if (__err)
1115:  this->setstate(__err);
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     getline(char_type* __s, streamsize __n, char_type __delim)
1115:     {
1115:       _M_gcount = 0;
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:         {
1115:           try
1115:             {
1115:               const int_type __idelim = traits_type::to_int_type(__delim);
1115:               const int_type __eof = traits_type::eof();
1115:               __streambuf_type* __sb = this->rdbuf();
1115:               int_type __c = __sb->sgetc();
1115: 
1115:               while (_M_gcount + 1 < __n
1115:                      && !traits_type::eq_int_type(__c, __eof)
1115:                      && !traits_type::eq_int_type(__c, __idelim))
1115:                 {
1115:                   *__s++ = traits_type::to_char_type(__c);
1115:                   __c = __sb->snextc();
1115:                   ++_M_gcount;
1115:                 }
1115:               if (traits_type::eq_int_type(__c, __eof))
1115:                 __err |= ios_base::eofbit;
1115:               else
1115:                 {
1115:                   if (traits_type::eq_int_type(__c, __idelim))
1115:                     {
1115:                       __sb->sbumpc();
1115:                       ++_M_gcount;
1115:                     }
1115:                   else
1115:                     __err |= ios_base::failbit;
1115:                 }
1115:             }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:           catch(...)
1115:             { this->_M_setstate(ios_base::badbit); }
1115:         }
1115: 
1115: 
1115:       if (__n > 0)
1115:  *__s = char_type();
1115:       if (!_M_gcount)
1115:         __err |= ios_base::failbit;
1115:       if (__err)
1115:         this->setstate(__err);
1115:       return *this;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     ignore(void)
1115:     {
1115:       _M_gcount = 0;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        const int_type __eof = traits_type::eof();
1115:        __streambuf_type* __sb = this->rdbuf();
1115: 
1115:        if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
1115:   __err |= ios_base::eofbit;
1115:        else
1115:   _M_gcount = 1;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     ignore(streamsize __n)
1115:     {
1115:       _M_gcount = 0;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb && __n > 0)
1115:         {
1115:           ios_base::iostate __err = ios_base::goodbit;
1115:           try
1115:             {
1115:               const int_type __eof = traits_type::eof();
1115:               __streambuf_type* __sb = this->rdbuf();
1115:               int_type __c = __sb->sgetc();
1115: # 530 "/usr/include/c++/12/bits/istream.tcc" 3
1115:        bool __large_ignore = false;
1115:        while (true)
1115:   {
1115:     while (_M_gcount < __n
1115:     && !traits_type::eq_int_type(__c, __eof))
1115:       {
1115:         ++_M_gcount;
1115:         __c = __sb->snextc();
1115:       }
1115:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1115:         && !traits_type::eq_int_type(__c, __eof))
1115:       {
1115:         _M_gcount =
1115:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1115:         __large_ignore = true;
1115:       }
1115:     else
1115:       break;
1115:   }
1115: 
1115:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1115:   {
1115:     if (__large_ignore)
1115:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1115: 
1115:     if (traits_type::eq_int_type(__c, __eof))
1115:       __err |= ios_base::eofbit;
1115:   }
1115:        else if (_M_gcount < __n)
1115:   {
1115:     if (traits_type::eq_int_type(__c, __eof))
1115:       __err |= ios_base::eofbit;
1115:   }
1115:             }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:           catch(...)
1115:             { this->_M_setstate(ios_base::badbit); }
1115:           if (__err)
1115:             this->setstate(__err);
1115:         }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     ignore(streamsize __n, int_type __delim)
1115:     {
1115:       _M_gcount = 0;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb && __n > 0)
1115:         {
1115:           ios_base::iostate __err = ios_base::goodbit;
1115:           try
1115:             {
1115:               const int_type __eof = traits_type::eof();
1115:               __streambuf_type* __sb = this->rdbuf();
1115:               int_type __c = __sb->sgetc();
1115: 
1115: 
1115:        bool __large_ignore = false;
1115:        while (true)
1115:   {
1115:     while (_M_gcount < __n
1115:     && !traits_type::eq_int_type(__c, __eof)
1115:     && !traits_type::eq_int_type(__c, __delim))
1115:       {
1115:         ++_M_gcount;
1115:         __c = __sb->snextc();
1115:       }
1115:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
1115:         && !traits_type::eq_int_type(__c, __eof)
1115:         && !traits_type::eq_int_type(__c, __delim))
1115:       {
1115:         _M_gcount =
1115:    __gnu_cxx::__numeric_traits<streamsize>::__min;
1115:         __large_ignore = true;
1115:       }
1115:     else
1115:       break;
1115:   }
1115: 
1115:        if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
1115:   {
1115:     if (__large_ignore)
1115:       _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
1115: 
1115:     if (traits_type::eq_int_type(__c, __eof))
1115:       __err |= ios_base::eofbit;
1115:     else
1115:       {
1115:         if (_M_gcount != __n)
1115:    ++_M_gcount;
1115:         __sb->sbumpc();
1115:       }
1115:   }
1115:        else if (_M_gcount < __n)
1115:   {
1115:     if (traits_type::eq_int_type(__c, __eof))
1115:       __err |= ios_base::eofbit;
1115:     else
1115:       {
1115:         ++_M_gcount;
1115:         __sb->sbumpc();
1115:       }
1115:   }
1115:             }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:           catch(...)
1115:             { this->_M_setstate(ios_base::badbit); }
1115:           if (__err)
1115:             this->setstate(__err);
1115:         }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     typename basic_istream<_CharT, _Traits>::int_type
1115:     basic_istream<_CharT, _Traits>::
1115:     peek(void)
1115:     {
1115:       int_type __c = traits_type::eof();
1115:       _M_gcount = 0;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        __c = this->rdbuf()->sgetc();
1115:        if (traits_type::eq_int_type(__c, traits_type::eof()))
1115:   __err |= ios_base::eofbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return __c;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     read(char_type* __s, streamsize __n)
1115:     {
1115:       _M_gcount = 0;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        _M_gcount = this->rdbuf()->sgetn(__s, __n);
1115:        if (_M_gcount != __n)
1115:   __err |= (ios_base::eofbit | ios_base::failbit);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     streamsize
1115:     basic_istream<_CharT, _Traits>::
1115:     readsome(char_type* __s, streamsize __n)
1115:     {
1115:       _M_gcount = 0;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115: 
1115:        const streamsize __num = this->rdbuf()->in_avail();
1115:        if (__num > 0)
1115:   _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
1115:        else if (__num == -1)
1115:   __err |= ios_base::eofbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return _M_gcount;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     putback(char_type __c)
1115:     {
1115: 
1115: 
1115:       _M_gcount = 0;
1115: 
1115:       this->clear(this->rdstate() & ~ios_base::eofbit);
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        const int_type __eof = traits_type::eof();
1115:        __streambuf_type* __sb = this->rdbuf();
1115:        if (!__sb
1115:     || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
1115:   __err |= ios_base::badbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     unget(void)
1115:     {
1115: 
1115: 
1115:       _M_gcount = 0;
1115: 
1115:       this->clear(this->rdstate() & ~ios_base::eofbit);
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        const int_type __eof = traits_type::eof();
1115:        __streambuf_type* __sb = this->rdbuf();
1115:        if (!__sb
1115:     || traits_type::eq_int_type(__sb->sungetc(), __eof))
1115:   __err |= ios_base::badbit;
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     int
1115:     basic_istream<_CharT, _Traits>::
1115:     sync(void)
1115:     {
1115: 
1115: 
1115:       int __ret = -1;
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        __streambuf_type* __sb = this->rdbuf();
1115:        if (__sb)
1115:   {
1115:     if (__sb->pubsync() == -1)
1115:       __err |= ios_base::badbit;
1115:     else
1115:       __ret = 0;
1115:   }
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     typename basic_istream<_CharT, _Traits>::pos_type
1115:     basic_istream<_CharT, _Traits>::
1115:     tellg(void)
1115:     {
1115: 
1115: 
1115:       pos_type __ret = pos_type(-1);
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115:        if (!this->fail())
1115:   __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
1115:         ios_base::in);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     seekg(pos_type __pos)
1115:     {
1115: 
1115: 
1115: 
1115:       this->clear(this->rdstate() & ~ios_base::eofbit);
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        if (!this->fail())
1115:   {
1115: 
1115:     const pos_type __p = this->rdbuf()->pubseekpos(__pos,
1115:          ios_base::in);
1115: 
1115: 
1115:     if (__p == pos_type(off_type(-1)))
1115:       __err |= ios_base::failbit;
1115:   }
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     basic_istream<_CharT, _Traits>::
1115:     seekg(off_type __off, ios_base::seekdir __dir)
1115:     {
1115: 
1115: 
1115: 
1115:       this->clear(this->rdstate() & ~ios_base::eofbit);
1115:       sentry __cerb(*this, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        if (!this->fail())
1115:   {
1115: 
1115:     const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
1115:          ios_base::in);
1115: 
1115: 
1115:     if (__p == pos_type(off_type(-1)))
1115:       __err |= ios_base::failbit;
1115:   }
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        this->_M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { this->_M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      this->setstate(__err);
1115:  }
1115:       return *this;
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
1115:     {
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef typename __istream_type::int_type __int_type;
1115: 
1115:       typename __istream_type::sentry __cerb(__in, false);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        const __int_type __cb = __in.rdbuf()->sbumpc();
1115:        if (!_Traits::eq_int_type(__cb, _Traits::eof()))
1115:   __c = _Traits::to_char_type(__cb);
1115:        else
1115:   __err |= (ios_base::eofbit | ios_base::failbit);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        __in._M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { __in._M_setstate(ios_base::badbit); }
1115:    if (__err)
1115:      __in.setstate(__err);
1115:  }
1115:       return __in;
1115:     }
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     void
1115:     __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s,
1115:         streamsize __num)
1115:     {
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1115:       typedef typename _Traits::int_type int_type;
1115:       typedef _CharT char_type;
1115:       typedef ctype<_CharT> __ctype_type;
1115: 
1115:       streamsize __extracted = 0;
1115:       ios_base::iostate __err = ios_base::goodbit;
1115:       typename __istream_type::sentry __cerb(__in, false);
1115:       if (__cerb)
1115:  {
1115:    try
1115:      {
1115: 
1115:        streamsize __width = __in.width();
1115:        if (0 < __width && __width < __num)
1115:   __num = __width;
1115: 
1115:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1115: 
1115:        const int_type __eof = _Traits::eof();
1115:        __streambuf_type* __sb = __in.rdbuf();
1115:        int_type __c = __sb->sgetc();
1115: 
1115:        while (__extracted < __num - 1
1115:        && !_Traits::eq_int_type(__c, __eof)
1115:        && !__ct.is(ctype_base::space,
1115:      _Traits::to_char_type(__c)))
1115:   {
1115:     *__s++ = _Traits::to_char_type(__c);
1115:     ++__extracted;
1115:     __c = __sb->snextc();
1115:   }
1115: 
1115:        if (__extracted < __num - 1
1115:     && _Traits::eq_int_type(__c, __eof))
1115:   __err |= ios_base::eofbit;
1115: 
1115: 
1115: 
1115:        *__s = char_type();
1115:        __in.width(0);
1115:      }
1115:    catch(__cxxabiv1::__forced_unwind&)
1115:      {
1115:        __in._M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      { __in._M_setstate(ios_base::badbit); }
1115:  }
1115:       if (!__extracted)
1115:  __err |= ios_base::failbit;
1115:       if (__err)
1115:  __in.setstate(__err);
1115:     }
1115: 
1115: 
1115:   template<typename _CharT, typename _Traits>
1115:     basic_istream<_CharT, _Traits>&
1115:     ws(basic_istream<_CharT, _Traits>& __in)
1115:     {
1115:       typedef basic_istream<_CharT, _Traits> __istream_type;
1115:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
1115:       typedef typename __istream_type::int_type __int_type;
1115:       typedef ctype<_CharT> __ctype_type;
1115: 
1115: 
1115: 
1115:       typename __istream_type::sentry __cerb(__in, true);
1115:       if (__cerb)
1115:  {
1115:    ios_base::iostate __err = ios_base::goodbit;
1115:    try
1115:      {
1115:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
1115:        const __int_type __eof = _Traits::eof();
1115:        __streambuf_type* __sb = __in.rdbuf();
1115:        __int_type __c = __sb->sgetc();
1115: 
1115:        while (true)
1115:   {
1115:     if (_Traits::eq_int_type(__c, __eof))
1115:       {
1115:         __err = ios_base::eofbit;
1115:         break;
1115:       }
1115:     if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
1115:       break;
1115:     __c = __sb->snextc();
1115:   }
1115:      }
1115:    catch(const __cxxabiv1::__forced_unwind&)
1115:      {
1115:        __in._M_setstate(ios_base::badbit);
1115:        throw;
1115:      }
1115:    catch(...)
1115:      {
1115:        __in._M_setstate(ios_base::badbit);
1115:      }
1115:    if (__err)
1115:      __in.setstate(__err);
1115:  }
1115:       return __in;
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template class basic_istream<char>;
1115:   extern template istream& ws(istream&);
1115:   extern template istream& operator>>(istream&, char&);
1115:   extern template istream& operator>>(istream&, unsigned char&);
1115:   extern template istream& operator>>(istream&, signed char&);
1115: 
1115:   extern template istream& istream::_M_extract(unsigned short&);
1115:   extern template istream& istream::_M_extract(unsigned int&);
1115:   extern template istream& istream::_M_extract(long&);
1115:   extern template istream& istream::_M_extract(unsigned long&);
1115:   extern template istream& istream::_M_extract(bool&);
1115: 
1115:   extern template istream& istream::_M_extract(long long&);
1115:   extern template istream& istream::_M_extract(unsigned long long&);
1115: 
1115:   extern template istream& istream::_M_extract(float&);
1115:   extern template istream& istream::_M_extract(double&);
1115:   extern template istream& istream::_M_extract(long double&);
1115:   extern template istream& istream::_M_extract(void*&);
1115: 
1115:   extern template class basic_iostream<char>;
1115: 
1115: 
1115:   extern template class basic_istream<wchar_t>;
1115:   extern template wistream& ws(wistream&);
1115:   extern template wistream& operator>>(wistream&, wchar_t&);
1115:   extern template void __istream_extract(wistream&, wchar_t*, streamsize);
1115: 
1115:   extern template wistream& wistream::_M_extract(unsigned short&);
1115:   extern template wistream& wistream::_M_extract(unsigned int&);
1115:   extern template wistream& wistream::_M_extract(long&);
1115:   extern template wistream& wistream::_M_extract(unsigned long&);
1115:   extern template wistream& wistream::_M_extract(bool&);
1115: 
1115:   extern template wistream& wistream::_M_extract(long long&);
1115:   extern template wistream& wistream::_M_extract(unsigned long long&);
1115: 
1115:   extern template wistream& wistream::_M_extract(float&);
1115:   extern template wistream& wistream::_M_extract(double&);
1115:   extern template wistream& wistream::_M_extract(long double&);
1115:   extern template wistream& wistream::_M_extract(void*&);
1115: 
1115:   extern template class basic_iostream<wchar_t>;
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 1017 "/usr/include/c++/12/istream" 2 3
1115: # 39 "/usr/include/c++/12/sstream" 2 3
1115: # 48 "/usr/include/c++/12/sstream" 3
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: namespace __cxx11 {
1115: # 71 "/usr/include/c++/12/sstream" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
1115:     {
1115:       struct __xfer_bufptrs;
1115: 
1115: 
1115:       using allocator_traits = std::allocator_traits<_Alloc>;
1115:       using _Noexcept_swap
1115:  = __or_<typename allocator_traits::propagate_on_container_swap,
1115:   typename allocator_traits::is_always_equal>;
1115: 
1115: 
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115:       typedef _Alloc allocator_type;
1115:       typedef typename traits_type::int_type int_type;
1115:       typedef typename traits_type::pos_type pos_type;
1115:       typedef typename traits_type::off_type off_type;
1115: 
1115:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
1115:       typedef basic_string<char_type, _Traits, _Alloc> __string_type;
1115:       typedef typename __string_type::size_type __size_type;
1115: 
1115:     protected:
1115: 
1115:       ios_base::openmode _M_mode;
1115: 
1115: 
1115:       __string_type _M_string;
1115: 
1115:     public:
1115: # 114 "/usr/include/c++/12/sstream" 3
1115:       basic_stringbuf()
1115:       : __streambuf_type(), _M_mode(ios_base::in | ios_base::out), _M_string()
1115:       { }
1115: # 125 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_stringbuf(ios_base::openmode __mode)
1115:       : __streambuf_type(), _M_mode(__mode), _M_string()
1115:       { }
1115: # 138 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_stringbuf(const __string_type& __str,
1115:         ios_base::openmode __mode = ios_base::in | ios_base::out)
1115:       : __streambuf_type(), _M_mode(),
1115:  _M_string(__str.data(), __str.size(), __str.get_allocator())
1115:       { _M_stringbuf_init(__mode); }
1115: 
1115: 
1115:       basic_stringbuf(const basic_stringbuf&) = delete;
1115: 
1115:       basic_stringbuf(basic_stringbuf&& __rhs)
1115:       : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this))
1115:       { __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0); }
1115: # 202 "/usr/include/c++/12/sstream" 3
1115:       basic_stringbuf&
1115:       operator=(const basic_stringbuf&) = delete;
1115: 
1115:       basic_stringbuf&
1115:       operator=(basic_stringbuf&& __rhs)
1115:       {
1115:  __xfer_bufptrs __st{__rhs, this};
1115:  const __streambuf_type& __base = __rhs;
1115:  __streambuf_type::operator=(__base);
1115:  this->pubimbue(__rhs.getloc());
1115:  _M_mode = __rhs._M_mode;
1115:  _M_string = std::move(__rhs._M_string);
1115:  __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(basic_stringbuf& __rhs) noexcept(_Noexcept_swap::value)
1115:       {
1115:  __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)};
1115:  __xfer_bufptrs __r_st{__rhs, this};
1115:  __streambuf_type& __base = __rhs;
1115:  __streambuf_type::swap(__base);
1115:  __rhs.pubimbue(this->pubimbue(__rhs.getloc()));
1115:  std::swap(_M_mode, __rhs._M_mode);
1115:  std::swap(_M_string, __rhs._M_string);
1115:       }
1115: # 241 "/usr/include/c++/12/sstream" 3
1115:       __string_type
1115:       str() const
1115:       {
1115:  __string_type __ret(_M_string.get_allocator());
1115:  if (char_type* __hi = _M_high_mark())
1115:    __ret.assign(this->pbase(), __hi);
1115:  else
1115:    __ret = _M_string;
1115:  return __ret;
1115:       }
1115: # 294 "/usr/include/c++/12/sstream" 3
1115:       void
1115:       str(const __string_type& __s)
1115:       {
1115: 
1115: 
1115:  _M_string.assign(__s.data(), __s.size());
1115:  _M_stringbuf_init(_M_mode);
1115:       }
1115: # 323 "/usr/include/c++/12/sstream" 3
1115:     protected:
1115: 
1115:       void
1115:       _M_stringbuf_init(ios_base::openmode __mode)
1115:       {
1115:  _M_mode = __mode;
1115:  __size_type __len = 0;
1115:  if (_M_mode & (ios_base::ate | ios_base::app))
1115:    __len = _M_string.size();
1115:  _M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
1115:       }
1115: 
1115:       virtual streamsize
1115:       showmanyc()
1115:       {
1115:  streamsize __ret = -1;
1115:  if (_M_mode & ios_base::in)
1115:    {
1115:      _M_update_egptr();
1115:      __ret = this->egptr() - this->gptr();
1115:    }
1115:  return __ret;
1115:       }
1115: 
1115:       virtual int_type
1115:       underflow();
1115: 
1115:       virtual int_type
1115:       pbackfail(int_type __c = traits_type::eof());
1115: 
1115:       virtual int_type
1115:       overflow(int_type __c = traits_type::eof());
1115: # 367 "/usr/include/c++/12/sstream" 3
1115:       virtual __streambuf_type*
1115:       setbuf(char_type* __s, streamsize __n)
1115:       {
1115:  if (__s && __n >= 0)
1115:    {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:      _M_string.clear();
1115: 
1115: 
1115:      _M_sync(__s, __n, 0);
1115:    }
1115:  return this;
1115:       }
1115: 
1115:       virtual pos_type
1115:       seekoff(off_type __off, ios_base::seekdir __way,
1115:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1115: 
1115:       virtual pos_type
1115:       seekpos(pos_type __sp,
1115:        ios_base::openmode __mode = ios_base::in | ios_base::out);
1115: 
1115: 
1115: 
1115: 
1115:       void
1115:       _M_sync(char_type* __base, __size_type __i, __size_type __o);
1115: 
1115: 
1115: 
1115:       void
1115:       _M_update_egptr()
1115:       {
1115:  if (char_type* __pptr = this->pptr())
1115:    {
1115:      char_type* __egptr = this->egptr();
1115:      if (!__egptr || __pptr > __egptr)
1115:        {
1115:   if (_M_mode & ios_base::in)
1115:     this->setg(this->eback(), this->gptr(), __pptr);
1115:   else
1115:     this->setg(__pptr, __pptr, __pptr);
1115:        }
1115:    }
1115:       }
1115: 
1115: 
1115: 
1115:       void
1115:       _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off);
1115: 
1115:     private:
1115: 
1115: 
1115: 
1115: 
1115:       __attribute__((__always_inline__))
1115:       char_type*
1115:       _M_high_mark() const noexcept
1115:       {
1115:  if (char_type* __pptr = this->pptr())
1115:    {
1115:      char_type* __egptr = this->egptr();
1115:      if (!__egptr || __pptr > __egptr)
1115:        return __pptr;
1115:      else
1115:        return __egptr;
1115:    }
1115:  return 0;
1115:       }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       struct __xfer_bufptrs
1115:       {
1115:  __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to)
1115:  : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1}
1115:  {
1115:    const _CharT* const __str = __from._M_string.data();
1115:    const _CharT* __end = nullptr;
1115:    if (__from.eback())
1115:      {
1115:        _M_goff[0] = __from.eback() - __str;
1115:        _M_goff[1] = __from.gptr() - __str;
1115:        _M_goff[2] = __from.egptr() - __str;
1115:        __end = __from.egptr();
1115:      }
1115:    if (__from.pbase())
1115:      {
1115:        _M_poff[0] = __from.pbase() - __str;
1115:        _M_poff[1] = __from.pptr() - __from.pbase();
1115:        _M_poff[2] = __from.epptr() - __str;
1115:        if (!__end || __from.pptr() > __end)
1115:   __end = __from.pptr();
1115:      }
1115: 
1115: 
1115:    if (__end)
1115:      {
1115: 
1115: 
1115:        auto& __mut_from = const_cast<basic_stringbuf&>(__from);
1115:        __mut_from._M_string._M_length(__end - __str);
1115:      }
1115:  }
1115: 
1115:  ~__xfer_bufptrs()
1115:  {
1115:    char_type* __str = const_cast<char_type*>(_M_to->_M_string.data());
1115:    if (_M_goff[0] != -1)
1115:      _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]);
1115:    if (_M_poff[0] != -1)
1115:      _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]);
1115:  }
1115: 
1115:  basic_stringbuf* _M_to;
1115:  off_type _M_goff[3];
1115:  off_type _M_poff[3];
1115:       };
1115: # 503 "/usr/include/c++/12/sstream" 3
1115:       basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&)
1115:       : __streambuf_type(static_cast<const __streambuf_type&>(__rhs)),
1115:       _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string))
1115:       { }
1115: # 518 "/usr/include/c++/12/sstream" 3
1115:     };
1115: # 536 "/usr/include/c++/12/sstream" 3
1115:   template<typename _CharT, typename _Traits, typename _Alloc>
1115:     class basic_istringstream : public basic_istream<_CharT, _Traits>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115:       typedef _Alloc allocator_type;
1115:       typedef typename traits_type::int_type int_type;
1115:       typedef typename traits_type::pos_type pos_type;
1115:       typedef typename traits_type::off_type off_type;
1115: 
1115: 
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1115:       typedef basic_istream<char_type, traits_type> __istream_type;
1115: 
1115:     private:
1115:       __stringbuf_type _M_stringbuf;
1115: 
1115:     public:
1115: # 570 "/usr/include/c++/12/sstream" 3
1115:       basic_istringstream()
1115:       : __istream_type(), _M_stringbuf(ios_base::in)
1115:       { this->init(&_M_stringbuf); }
1115: # 586 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_istringstream(ios_base::openmode __mode)
1115:       : __istream_type(), _M_stringbuf(__mode | ios_base::in)
1115:       { this->init(&_M_stringbuf); }
1115: # 604 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_istringstream(const __string_type& __str,
1115:      ios_base::openmode __mode = ios_base::in)
1115:       : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in)
1115:       { this->init(&_M_stringbuf); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~basic_istringstream()
1115:       { }
1115: 
1115: 
1115:       basic_istringstream(const basic_istringstream&) = delete;
1115: 
1115:       basic_istringstream(basic_istringstream&& __rhs)
1115:       : __istream_type(std::move(__rhs)),
1115:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1115:       { __istream_type::set_rdbuf(&_M_stringbuf); }
1115: # 661 "/usr/include/c++/12/sstream" 3
1115:       basic_istringstream&
1115:       operator=(const basic_istringstream&) = delete;
1115: 
1115:       basic_istringstream&
1115:       operator=(basic_istringstream&& __rhs)
1115:       {
1115:  __istream_type::operator=(std::move(__rhs));
1115:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(basic_istringstream& __rhs)
1115:       {
1115:  __istream_type::swap(__rhs);
1115:  _M_stringbuf.swap(__rhs._M_stringbuf);
1115:       }
1115: # 687 "/usr/include/c++/12/sstream" 3
1115:       __stringbuf_type*
1115:       rdbuf() const
1115:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       __string_type
1115:       str() const
1115:       { return _M_stringbuf.str(); }
1115: # 722 "/usr/include/c++/12/sstream" 3
1115:       void
1115:       str(const __string_type& __s)
1115:       { _M_stringbuf.str(__s); }
1115: # 739 "/usr/include/c++/12/sstream" 3
1115:     };
1115: # 757 "/usr/include/c++/12/sstream" 3
1115:   template <typename _CharT, typename _Traits, typename _Alloc>
1115:     class basic_ostringstream : public basic_ostream<_CharT, _Traits>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115:       typedef _Alloc allocator_type;
1115:       typedef typename traits_type::int_type int_type;
1115:       typedef typename traits_type::pos_type pos_type;
1115:       typedef typename traits_type::off_type off_type;
1115: 
1115: 
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1115:       typedef basic_ostream<char_type, traits_type> __ostream_type;
1115: 
1115:     private:
1115:       __stringbuf_type _M_stringbuf;
1115: 
1115:     public:
1115: # 791 "/usr/include/c++/12/sstream" 3
1115:       basic_ostringstream()
1115:       : __ostream_type(), _M_stringbuf(ios_base::out)
1115:       { this->init(&_M_stringbuf); }
1115: # 807 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_ostringstream(ios_base::openmode __mode)
1115:       : __ostream_type(), _M_stringbuf(__mode | ios_base::out)
1115:       { this->init(&_M_stringbuf); }
1115: # 825 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_ostringstream(const __string_type& __str,
1115:      ios_base::openmode __mode = ios_base::out)
1115:       : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out)
1115:       { this->init(&_M_stringbuf); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~basic_ostringstream()
1115:       { }
1115: 
1115: 
1115:       basic_ostringstream(const basic_ostringstream&) = delete;
1115: 
1115:       basic_ostringstream(basic_ostringstream&& __rhs)
1115:       : __ostream_type(std::move(__rhs)),
1115:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1115:       { __ostream_type::set_rdbuf(&_M_stringbuf); }
1115: # 882 "/usr/include/c++/12/sstream" 3
1115:       basic_ostringstream&
1115:       operator=(const basic_ostringstream&) = delete;
1115: 
1115:       basic_ostringstream&
1115:       operator=(basic_ostringstream&& __rhs)
1115:       {
1115:  __ostream_type::operator=(std::move(__rhs));
1115:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(basic_ostringstream& __rhs)
1115:       {
1115:  __ostream_type::swap(__rhs);
1115:  _M_stringbuf.swap(__rhs._M_stringbuf);
1115:       }
1115: # 908 "/usr/include/c++/12/sstream" 3
1115:       __stringbuf_type*
1115:       rdbuf() const
1115:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       __string_type
1115:       str() const
1115:       { return _M_stringbuf.str(); }
1115: # 943 "/usr/include/c++/12/sstream" 3
1115:       void
1115:       str(const __string_type& __s)
1115:       { _M_stringbuf.str(__s); }
1115: # 960 "/usr/include/c++/12/sstream" 3
1115:     };
1115: # 978 "/usr/include/c++/12/sstream" 3
1115:   template <typename _CharT, typename _Traits, typename _Alloc>
1115:     class basic_stringstream : public basic_iostream<_CharT, _Traits>
1115:     {
1115:     public:
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115: 
1115: 
1115:       typedef _Alloc allocator_type;
1115:       typedef typename traits_type::int_type int_type;
1115:       typedef typename traits_type::pos_type pos_type;
1115:       typedef typename traits_type::off_type off_type;
1115: 
1115: 
1115:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
1115:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
1115:       typedef basic_iostream<char_type, traits_type> __iostream_type;
1115: 
1115:     private:
1115:       __stringbuf_type _M_stringbuf;
1115: 
1115:     public:
1115: # 1012 "/usr/include/c++/12/sstream" 3
1115:       basic_stringstream()
1115:       : __iostream_type(), _M_stringbuf(ios_base::out | ios_base::in)
1115:       { this->init(&_M_stringbuf); }
1115: # 1026 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_stringstream(ios_base::openmode __m)
1115:       : __iostream_type(), _M_stringbuf(__m)
1115:       { this->init(&_M_stringbuf); }
1115: # 1042 "/usr/include/c++/12/sstream" 3
1115:       explicit
1115:       basic_stringstream(const __string_type& __str,
1115:     ios_base::openmode __m = ios_base::out | ios_base::in)
1115:       : __iostream_type(), _M_stringbuf(__str, __m)
1115:       { this->init(&_M_stringbuf); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       ~basic_stringstream()
1115:       { }
1115: 
1115: 
1115:       basic_stringstream(const basic_stringstream&) = delete;
1115: 
1115:       basic_stringstream(basic_stringstream&& __rhs)
1115:       : __iostream_type(std::move(__rhs)),
1115:       _M_stringbuf(std::move(__rhs._M_stringbuf))
1115:       { __iostream_type::set_rdbuf(&_M_stringbuf); }
1115: # 1101 "/usr/include/c++/12/sstream" 3
1115:       basic_stringstream&
1115:       operator=(const basic_stringstream&) = delete;
1115: 
1115:       basic_stringstream&
1115:       operator=(basic_stringstream&& __rhs)
1115:       {
1115:  __iostream_type::operator=(std::move(__rhs));
1115:  _M_stringbuf = std::move(__rhs._M_stringbuf);
1115:  return *this;
1115:       }
1115: 
1115:       void
1115:       swap(basic_stringstream& __rhs)
1115:       {
1115:  __iostream_type::swap(__rhs);
1115:  _M_stringbuf.swap(__rhs._M_stringbuf);
1115:       }
1115: # 1127 "/usr/include/c++/12/sstream" 3
1115:       __stringbuf_type*
1115:       rdbuf() const
1115:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       __string_type
1115:       str() const
1115:       { return _M_stringbuf.str(); }
1115: # 1162 "/usr/include/c++/12/sstream" 3
1115:       void
1115:       str(const __string_type& __s)
1115:       { _M_stringbuf.str(__s); }
1115: # 1179 "/usr/include/c++/12/sstream" 3
1115:     };
1115: 
1115: 
1115: 
1115:   template <class _CharT, class _Traits, class _Allocator>
1115:     inline void
1115:     swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
1115:   basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
1115:     noexcept(noexcept(__x.swap(__y)))
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   template <class _CharT, class _Traits, class _Allocator>
1115:     inline void
1115:     swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
1115:   basic_istringstream<_CharT, _Traits, _Allocator>& __y)
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   template <class _CharT, class _Traits, class _Allocator>
1115:     inline void
1115:     swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
1115:   basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
1115:     { __x.swap(__y); }
1115: 
1115: 
1115:   template <class _CharT, class _Traits, class _Allocator>
1115:     inline void
1115:     swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
1115:   basic_stringstream<_CharT, _Traits, _Allocator>& __y)
1115:     { __x.swap(__y); }
1115: 
1115: 
1115: }
1115: 
1115: }
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/sstream.tcc" 1 3
1115: # 37 "/usr/include/c++/12/bits/sstream.tcc" 3
1115:        
1115: # 38 "/usr/include/c++/12/bits/sstream.tcc" 3
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   template <class _CharT, class _Traits, class _Alloc>
1115:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1115:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1115:     pbackfail(int_type __c)
1115:     {
1115:       int_type __ret = traits_type::eof();
1115:       if (this->eback() < this->gptr())
1115:  {
1115: 
1115: 
1115:    const bool __testeof = traits_type::eq_int_type(__c, __ret);
1115:    if (!__testeof)
1115:      {
1115:        const bool __testeq = traits_type::eq(traits_type::
1115:           to_char_type(__c),
1115:           this->gptr()[-1]);
1115:        const bool __testout = this->_M_mode & ios_base::out;
1115:        if (__testeq || __testout)
1115:   {
1115:     this->gbump(-1);
1115:     if (!__testeq)
1115:       *this->gptr() = traits_type::to_char_type(__c);
1115:     __ret = __c;
1115:   }
1115:      }
1115:    else
1115:      {
1115:        this->gbump(-1);
1115:        __ret = traits_type::not_eof(__c);
1115:      }
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template <class _CharT, class _Traits, class _Alloc>
1115:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1115:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1115:     overflow(int_type __c)
1115:     {
1115:       const bool __testout = this->_M_mode & ios_base::out;
1115:       if (__builtin_expect(!__testout, false))
1115:  return traits_type::eof();
1115: 
1115:       const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
1115:       if (__builtin_expect(__testeof, false))
1115:  return traits_type::not_eof(__c);
1115: 
1115:       const __size_type __capacity = _M_string.capacity();
1115: 
1115: 
1115:       if (size_t(this->epptr() - this->pbase()) < __capacity)
1115:  {
1115: 
1115:    char_type* __base = const_cast<char_type*>(_M_string.data());
1115:    _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase());
1115:    if (_M_mode & ios_base::in)
1115:      {
1115:        const __size_type __nget = this->gptr() - this->eback();
1115:        const __size_type __eget = this->egptr() - this->eback();
1115:        this->setg(__base, __base + __nget, __base + __eget + 1);
1115:      }
1115:    *this->pptr() = traits_type::to_char_type(__c);
1115:    this->pbump(1);
1115:    return __c;
1115:  }
1115: 
1115: 
1115:       const __size_type __max_size = _M_string.max_size();
1115:       const bool __testput = this->pptr() < this->epptr();
1115:       if (__builtin_expect(!__testput && __capacity == __max_size, false))
1115:  return traits_type::eof();
1115: 
1115: 
1115: 
1115:       const char_type __conv = traits_type::to_char_type(__c);
1115:       if (!__testput)
1115:  {
1115: # 129 "/usr/include/c++/12/bits/sstream.tcc" 3
1115:    const __size_type __opt_len = std::max(__size_type(2 * __capacity),
1115:        __size_type(512));
1115:    const __size_type __len = std::min(__opt_len, __max_size);
1115:    __string_type __tmp(_M_string.get_allocator());
1115:    __tmp.reserve(__len);
1115:    if (this->pbase())
1115:      __tmp.assign(this->pbase(), this->epptr() - this->pbase());
1115:    __tmp.push_back(__conv);
1115:    _M_string.swap(__tmp);
1115:    _M_sync(const_cast<char_type*>(_M_string.data()),
1115:     this->gptr() - this->eback(), this->pptr() - this->pbase());
1115:  }
1115:       else
1115:  *this->pptr() = __conv;
1115:       this->pbump(1);
1115:       return __c;
1115:     }
1115: 
1115:   template <class _CharT, class _Traits, class _Alloc>
1115:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
1115:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1115:     underflow()
1115:     {
1115:       int_type __ret = traits_type::eof();
1115:       const bool __testin = this->_M_mode & ios_base::in;
1115:       if (__testin)
1115:  {
1115: 
1115:    _M_update_egptr();
1115: 
1115:    if (this->gptr() < this->egptr())
1115:      __ret = traits_type::to_int_type(*this->gptr());
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template <class _CharT, class _Traits, class _Alloc>
1115:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1115:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1115:     seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode)
1115:     {
1115:       pos_type __ret = pos_type(off_type(-1));
1115:       bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1115:       bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1115:       const bool __testboth = __testin && __testout && __way != ios_base::cur;
1115:       __testin &= !(__mode & ios_base::out);
1115:       __testout &= !(__mode & ios_base::in);
1115: 
1115: 
1115: 
1115:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1115:       if ((__beg || !__off) && (__testin || __testout || __testboth))
1115:  {
1115:    _M_update_egptr();
1115: 
1115:    off_type __newoffi = __off;
1115:    off_type __newoffo = __newoffi;
1115:    if (__way == ios_base::cur)
1115:      {
1115:        __newoffi += this->gptr() - __beg;
1115:        __newoffo += this->pptr() - __beg;
1115:      }
1115:    else if (__way == ios_base::end)
1115:      __newoffo = __newoffi += this->egptr() - __beg;
1115: 
1115:    if ((__testin || __testboth)
1115:        && __newoffi >= 0
1115:        && this->egptr() - __beg >= __newoffi)
1115:      {
1115:        this->setg(this->eback(), this->eback() + __newoffi,
1115:     this->egptr());
1115:        __ret = pos_type(__newoffi);
1115:      }
1115:    if ((__testout || __testboth)
1115:        && __newoffo >= 0
1115:        && this->egptr() - __beg >= __newoffo)
1115:      {
1115:        _M_pbump(this->pbase(), this->epptr(), __newoffo);
1115:        __ret = pos_type(__newoffo);
1115:      }
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template <class _CharT, class _Traits, class _Alloc>
1115:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
1115:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1115:     seekpos(pos_type __sp, ios_base::openmode __mode)
1115:     {
1115:       pos_type __ret = pos_type(off_type(-1));
1115:       const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
1115:       const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
1115: 
1115:       const char_type* __beg = __testin ? this->eback() : this->pbase();
1115:       if ((__beg || !off_type(__sp)) && (__testin || __testout))
1115:  {
1115:    _M_update_egptr();
1115: 
1115:    const off_type __pos(__sp);
1115:    const bool __testpos = (0 <= __pos
1115:       && __pos <= this->egptr() - __beg);
1115:    if (__testpos)
1115:      {
1115:        if (__testin)
1115:   this->setg(this->eback(), this->eback() + __pos,
1115:       this->egptr());
1115:        if (__testout)
1115:   _M_pbump(this->pbase(), this->epptr(), __pos);
1115:        __ret = __sp;
1115:      }
1115:  }
1115:       return __ret;
1115:     }
1115: 
1115:   template <class _CharT, class _Traits, class _Alloc>
1115:     void
1115:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1115:     _M_sync(char_type* __base, __size_type __i, __size_type __o)
1115:     {
1115:       const bool __testin = _M_mode & ios_base::in;
1115:       const bool __testout = _M_mode & ios_base::out;
1115:       char_type* __endg = __base + _M_string.size();
1115:       char_type* __endp = __base + _M_string.capacity();
1115: 
1115:       if (__base != _M_string.data())
1115:  {
1115: 
1115:    __endg += __i;
1115:    __i = 0;
1115:    __endp = __endg;
1115:  }
1115: 
1115:       if (__testin)
1115:  this->setg(__base, __base + __i, __endg);
1115:       if (__testout)
1115:  {
1115:    _M_pbump(__base, __endp, __o);
1115: 
1115: 
1115: 
1115:    if (!__testin)
1115:      this->setg(__endg, __endg, __endg);
1115:  }
1115:     }
1115: 
1115:   template <class _CharT, class _Traits, class _Alloc>
1115:     void
1115:     basic_stringbuf<_CharT, _Traits, _Alloc>::
1115:     _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off)
1115:     {
1115:       this->setp(__pbeg, __pend);
1115:       while (__off > __gnu_cxx::__numeric_traits<int>::__max)
1115:  {
1115:    this->pbump(__gnu_cxx::__numeric_traits<int>::__max);
1115:    __off -= __gnu_cxx::__numeric_traits<int>::__max;
1115:  }
1115:       this->pbump(__off);
1115:     }
1115: 
1115: 
1115: 
1115: 
1115:   extern template class basic_stringbuf<char>;
1115:   extern template class basic_istringstream<char>;
1115:   extern template class basic_ostringstream<char>;
1115:   extern template class basic_stringstream<char>;
1115: 
1115: 
1115:   extern template class basic_stringbuf<wchar_t>;
1115:   extern template class basic_istringstream<wchar_t>;
1115:   extern template class basic_ostringstream<wchar_t>;
1115:   extern template class basic_stringstream<wchar_t>;
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 1219 "/usr/include/c++/12/sstream" 2 3
1115: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1115: # 35 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/params_check_macros.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/params_check_macros.h"
1115:        
1115: # 36 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1115: 
1115: # 1 "/usr/include/fmt/format.h" 1 3 4
1115: # 36 "/usr/include/fmt/format.h" 3 4
1115: # 1 "/usr/include/c++/12/cmath" 1 3 4
1115: # 39 "/usr/include/c++/12/cmath" 3 4
1115:        
1115: # 40 "/usr/include/c++/12/cmath" 3
1115: # 37 "/usr/include/fmt/format.h" 2 3 4
1115: 
1115: # 1 "/usr/include/c++/12/cstring" 1 3 4
1115: # 39 "/usr/include/c++/12/cstring" 3 4
1115:        
1115: # 40 "/usr/include/c++/12/cstring" 3
1115: # 71 "/usr/include/c++/12/cstring" 3
1115: extern "C++"
1115: {
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115:   using ::memchr;
1115:   using ::memcmp;
1115:   using ::memcpy;
1115:   using ::memmove;
1115:   using ::memset;
1115:   using ::strcat;
1115:   using ::strcmp;
1115:   using ::strcoll;
1115:   using ::strcpy;
1115:   using ::strcspn;
1115:   using ::strerror;
1115:   using ::strlen;
1115:   using ::strncat;
1115:   using ::strncmp;
1115:   using ::strncpy;
1115:   using ::strspn;
1115:   using ::strtok;
1115:   using ::strxfrm;
1115:   using ::strchr;
1115:   using ::strpbrk;
1115:   using ::strrchr;
1115:   using ::strstr;
1115: # 122 "/usr/include/c++/12/cstring" 3
1115: 
1115: }
1115: }
1115: # 39 "/usr/include/fmt/format.h" 2 3 4
1115: # 48 "/usr/include/fmt/format.h" 3 4
1115: # 1 "/usr/include/fmt/core.h" 1 3 4
1115: # 11 "/usr/include/fmt/core.h" 3 4
1115: # 1 "/usr/include/c++/12/cstddef" 1 3 4
1115: # 42 "/usr/include/c++/12/cstddef" 3 4
1115:        
1115: # 43 "/usr/include/c++/12/cstddef" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/lib/gcc/arm-linux-gnueabihf/12/include/stddef.h" 1 3 4
1115: # 51 "/usr/include/c++/12/cstddef" 2 3
1115: 
1115: extern "C++"
1115: {
1115: 
1115: namespace std
1115: {
1115: 
1115:   using ::max_align_t;
1115: }
1115: 
1115: 
1115: 
1115: namespace std
1115: {
1115: 
1115: 
1115: 
1115: 
1115:   enum class byte : unsigned char {};
1115: 
1115:   template<typename _IntegerType> struct __byte_operand { };
1115:   template<> struct __byte_operand<bool> { using __type = byte; };
1115:   template<> struct __byte_operand<char> { using __type = byte; };
1115:   template<> struct __byte_operand<signed char> { using __type = byte; };
1115:   template<> struct __byte_operand<unsigned char> { using __type = byte; };
1115:   template<> struct __byte_operand<wchar_t> { using __type = byte; };
1115: 
1115: 
1115: 
1115:   template<> struct __byte_operand<char16_t> { using __type = byte; };
1115:   template<> struct __byte_operand<char32_t> { using __type = byte; };
1115:   template<> struct __byte_operand<short> { using __type = byte; };
1115:   template<> struct __byte_operand<unsigned short> { using __type = byte; };
1115:   template<> struct __byte_operand<int> { using __type = byte; };
1115:   template<> struct __byte_operand<unsigned int> { using __type = byte; };
1115:   template<> struct __byte_operand<long> { using __type = byte; };
1115:   template<> struct __byte_operand<unsigned long> { using __type = byte; };
1115:   template<> struct __byte_operand<long long> { using __type = byte; };
1115:   template<> struct __byte_operand<unsigned long long> { using __type = byte; };
1115: # 108 "/usr/include/c++/12/cstddef" 3
1115:   template<typename _IntegerType>
1115:     struct __byte_operand<const _IntegerType>
1115:     : __byte_operand<_IntegerType> { };
1115:   template<typename _IntegerType>
1115:     struct __byte_operand<volatile _IntegerType>
1115:     : __byte_operand<_IntegerType> { };
1115:   template<typename _IntegerType>
1115:     struct __byte_operand<const volatile _IntegerType>
1115:     : __byte_operand<_IntegerType> { };
1115: 
1115:   template<typename _IntegerType>
1115:     using __byte_op_t = typename __byte_operand<_IntegerType>::__type;
1115: 
1115:   template<typename _IntegerType>
1115:     constexpr __byte_op_t<_IntegerType>
1115:     operator<<(byte __b, _IntegerType __shift) noexcept
1115:     { return (byte)(unsigned char)((unsigned)__b << __shift); }
1115: 
1115:   template<typename _IntegerType>
1115:     constexpr __byte_op_t<_IntegerType>
1115:     operator>>(byte __b, _IntegerType __shift) noexcept
1115:     { return (byte)(unsigned char)((unsigned)__b >> __shift); }
1115: 
1115:   constexpr byte
1115:   operator|(byte __l, byte __r) noexcept
1115:   { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); }
1115: 
1115:   constexpr byte
1115:   operator&(byte __l, byte __r) noexcept
1115:   { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); }
1115: 
1115:   constexpr byte
1115:   operator^(byte __l, byte __r) noexcept
1115:   { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); }
1115: 
1115:   constexpr byte
1115:   operator~(byte __b) noexcept
1115:   { return (byte)(unsigned char)~(unsigned)__b; }
1115: 
1115:   template<typename _IntegerType>
1115:     constexpr __byte_op_t<_IntegerType>&
1115:     operator<<=(byte& __b, _IntegerType __shift) noexcept
1115:     { return __b = __b << __shift; }
1115: 
1115:   template<typename _IntegerType>
1115:     constexpr __byte_op_t<_IntegerType>&
1115:     operator>>=(byte& __b, _IntegerType __shift) noexcept
1115:     { return __b = __b >> __shift; }
1115: 
1115:   constexpr byte&
1115:   operator|=(byte& __l, byte __r) noexcept
1115:   { return __l = __l | __r; }
1115: 
1115:   constexpr byte&
1115:   operator&=(byte& __l, byte __r) noexcept
1115:   { return __l = __l & __r; }
1115: 
1115:   constexpr byte&
1115:   operator^=(byte& __l, byte __r) noexcept
1115:   { return __l = __l ^ __r; }
1115: 
1115:   template<typename _IntegerType>
1115:     [[nodiscard]]
1115:     constexpr _IntegerType
1115:     to_integer(__byte_op_t<_IntegerType> __b) noexcept
1115:     { return _IntegerType(__b); }
1115: 
1115: 
1115: }
1115: 
1115: }
1115: # 12 "/usr/include/fmt/core.h" 2 3 4
1115: # 1 "/usr/include/c++/12/cstdio" 1 3 4
1115: # 39 "/usr/include/c++/12/cstdio" 3 4
1115:        
1115: # 40 "/usr/include/c++/12/cstdio" 3
1115: # 13 "/usr/include/fmt/core.h" 2 3 4
1115: # 1 "/usr/include/c++/12/cstring" 1 3 4
1115: # 39 "/usr/include/c++/12/cstring" 3 4
1115:        
1115: # 40 "/usr/include/c++/12/cstring" 3
1115: # 14 "/usr/include/fmt/core.h" 2 3 4
1115: # 1 "/usr/include/c++/12/iterator" 1 3 4
1115: # 58 "/usr/include/c++/12/iterator" 3 4
1115:        
1115: # 59 "/usr/include/c++/12/iterator" 3
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/bits/stream_iterator.h" 1 3
1115: # 33 "/usr/include/c++/12/bits/stream_iterator.h" 3
1115:        
1115: # 34 "/usr/include/c++/12/bits/stream_iterator.h" 3
1115: 
1115: 
1115: 
1115: namespace std __attribute__ ((__visibility__ ("default")))
1115: {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: #pragma GCC diagnostic push
1115: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
1115: 
1115: 
1115:   template<typename _Tp, typename _CharT = char,
1115:            typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
1115:     class istream_iterator
1115:     : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&>
1115:     {
1115:     public:
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115:       typedef basic_istream<_CharT, _Traits> istream_type;
1115: 
1115:     private:
1115:       istream_type* _M_stream;
1115:       _Tp _M_value;
1115: 
1115: 
1115: 
1115:       bool _M_ok;
1115: 
1115:     public:
1115: 
1115:       constexpr istream_iterator()
1115:       noexcept(is_nothrow_default_constructible<_Tp>::value)
1115:       : _M_stream(0), _M_value(), _M_ok(false) {}
1115: 
1115: 
1115:       istream_iterator(istream_type& __s)
1115:       : _M_stream(std::__addressof(__s)), _M_ok(true)
1115:       { _M_read(); }
1115: 
1115:       istream_iterator(const istream_iterator& __obj)
1115:       noexcept(is_nothrow_copy_constructible<_Tp>::value)
1115:       : _M_stream(__obj._M_stream), _M_value(__obj._M_value),
1115:         _M_ok(__obj._M_ok)
1115:       { }
1115: # 94 "/usr/include/c++/12/bits/stream_iterator.h" 3
1115:       istream_iterator& operator=(const istream_iterator&) = default;
1115:       ~istream_iterator() = default;
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       const _Tp&
1115:       operator*() const noexcept
1115:       {
1115: 
1115: 
1115:                         ;
1115:  return _M_value;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       const _Tp*
1115:       operator->() const noexcept
1115:       { return std::__addressof((operator*())); }
1115: 
1115:       istream_iterator&
1115:       operator++()
1115:       {
1115: 
1115: 
1115:                         ;
1115:  _M_read();
1115:  return *this;
1115:       }
1115: 
1115:       istream_iterator
1115:       operator++(int)
1115:       {
1115: 
1115: 
1115:                         ;
1115:  istream_iterator __tmp = *this;
1115:  _M_read();
1115:  return __tmp;
1115:       }
1115: 
1115:     private:
1115:       bool
1115:       _M_equal(const istream_iterator& __x) const noexcept
1115:       {
1115: 
1115: 
1115:  return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream);
1115:       }
1115: 
1115:       void
1115:       _M_read()
1115:       {
1115:         if (_M_stream && !(*_M_stream >> _M_value))
1115:           {
1115:             _M_stream = 0;
1115:             _M_ok = false;
1115:           }
1115:       }
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator==(const istream_iterator& __x, const istream_iterator& __y)
1115:       noexcept
1115:       { return __x._M_equal(__y); }
1115: 
1115: 
1115: 
1115: 
1115:       [[__nodiscard__]]
1115:       friend bool
1115:       operator!=(const istream_iterator& __x, const istream_iterator& __y)
1115:       noexcept
1115:       { return !__x._M_equal(__y); }
1115: # 177 "/usr/include/c++/12/bits/stream_iterator.h" 3
1115:     };
1115: # 190 "/usr/include/c++/12/bits/stream_iterator.h" 3
1115:   template<typename _Tp, typename _CharT = char,
1115:            typename _Traits = char_traits<_CharT> >
1115:     class ostream_iterator
1115:     : public iterator<output_iterator_tag, void, void, void, void>
1115:     {
1115:     public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115:       typedef _CharT char_type;
1115:       typedef _Traits traits_type;
1115:       typedef basic_ostream<_CharT, _Traits> ostream_type;
1115: 
1115: 
1115:     private:
1115:       ostream_type* _M_stream;
1115:       const _CharT* _M_string;
1115: 
1115:     public:
1115: 
1115:       ostream_iterator(ostream_type& __s) noexcept
1115:       : _M_stream(std::__addressof(__s)), _M_string(0) {}
1115: # 225 "/usr/include/c++/12/bits/stream_iterator.h" 3
1115:       ostream_iterator(ostream_type& __s, const _CharT* __c) noexcept
1115:       : _M_stream(std::__addressof(__s)), _M_string(__c) { }
1115: 
1115: 
1115:       ostream_iterator(const ostream_iterator& __obj) noexcept
1115:       : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { }
1115: 
1115: 
1115:       ostream_iterator& operator=(const ostream_iterator&) = default;
1115: 
1115: 
1115: 
1115: 
1115:       ostream_iterator&
1115:       operator=(const _Tp& __value)
1115:       {
1115: 
1115: 
1115:                         ;
1115:  *_M_stream << __value;
1115:  if (_M_string)
1115:           *_M_stream << _M_string;
1115:  return *this;
1115:       }
1115: 
1115:       [[__nodiscard__]]
1115:       ostream_iterator&
1115:       operator*() noexcept
1115:       { return *this; }
1115: 
1115:       ostream_iterator&
1115:       operator++() noexcept
1115:       { return *this; }
1115: 
1115:       ostream_iterator&
1115:       operator++(int) noexcept
1115:       { return *this; }
1115:     };
1115: #pragma GCC diagnostic pop
1115: 
1115: 
1115: 
1115: 
1115: }
1115: # 66 "/usr/include/c++/12/iterator" 2 3
1115: # 15 "/usr/include/fmt/core.h" 2 3 4
1115: # 288 "/usr/include/fmt/core.h" 3 4
1115: 
1115: # 288 "/usr/include/fmt/core.h" 3 4
1115: #pragma GCC push_options
1115: # 288 "/usr/include/fmt/core.h" 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace fmt { inline namespace v9 {
1115: 
1115: 
1115: 
1115: template <bool B, typename T = void>
1115: using enable_if_t = typename std::enable_if<B, T>::type;
1115: template <bool B, typename T, typename F>
1115: using conditional_t = typename std::conditional<B, T, F>::type;
1115: template <bool B> using bool_constant = std::integral_constant<bool, B>;
1115: template <typename T>
1115: using remove_reference_t = typename std::remove_reference<T>::type;
1115: template <typename T>
1115: using remove_const_t = typename std::remove_const<T>::type;
1115: template <typename T>
1115: using remove_cvref_t = typename std::remove_cv<remove_reference_t<T>>::type;
1115: template <typename T> struct type_identity { using type = T; };
1115: template <typename T> using type_identity_t = typename type_identity<T>::type;
1115: template <typename T>
1115: using underlying_t = typename std::underlying_type<T>::type;
1115: 
1115: template <typename...> struct disjunction : std::false_type {};
1115: template <typename P> struct disjunction<P> : P {};
1115: template <typename P1, typename... Pn>
1115: struct disjunction<P1, Pn...>
1115:     : conditional_t<bool(P1::value), P1, disjunction<Pn...>> {};
1115: 
1115: template <typename...> struct conjunction : std::true_type {};
1115: template <typename P> struct conjunction<P> : P {};
1115: template <typename P1, typename... Pn>
1115: struct conjunction<P1, Pn...>
1115:     : conditional_t<bool(P1::value), conjunction<Pn...>, P1> {};
1115: 
1115: struct monostate {
1115:   constexpr monostate() {}
1115: };
1115: # 338 "/usr/include/fmt/core.h" 3 4
1115: namespace detail {
1115: 
1115: 
1115: 
1115: 
1115: template <typename... T> constexpr void ignore_unused(const T&...) {}
1115: 
1115: constexpr inline __attribute__((always_inline)) auto is_constant_evaluated(
1115:     bool default_value = false) noexcept -> bool {
1115: 
1115: 
1115: 
1115: 
1115:   return default_value;
1115: 
1115: }
1115: 
1115: 
1115: template <typename T> constexpr inline __attribute__((always_inline)) auto const_check(T value) -> T {
1115:   return value;
1115: }
1115: 
1115: [[noreturn]] void assert_fail(const char* file, int line,
1115:                                       const char* message);
1115: # 377 "/usr/include/fmt/core.h" 3 4
1115: template <typename Char> using std_string_view = std::basic_string_view<Char>;
1115: # 399 "/usr/include/fmt/core.h" 3 4
1115: enum class int128_opt {};
1115: enum class uint128_opt {};
1115: 
1115: template <typename T> auto convert_for_visit(T) -> monostate { return {}; }
1115: 
1115: 
1115: 
1115: template <typename Int>
1115: constexpr auto to_unsigned(Int value) ->
1115:     typename std::make_unsigned<Int>::type {
1115:   ::fmt::detail::ignore_unused((std::is_unsigned<Int>::value || value >= 0), ("negative value"));
1115:   return static_cast<typename std::make_unsigned<Int>::type>(value);
1115: }
1115: 
1115:  constexpr unsigned char micro[] = "\u00B5";
1115: 
1115: constexpr auto is_utf8() -> bool {
1115: 
1115:   using uchar = unsigned char;
1115:   return !0 || (sizeof(micro) == 3 && uchar(micro[0]) == 0xC2 &&
1115:                          uchar(micro[1]) == 0xB5);
1115: }
1115: }
1115: # 430 "/usr/include/fmt/core.h" 3 4
1115: template <typename Char> class basic_string_view {
1115:  private:
1115:   const Char* data_;
1115:   size_t size_;
1115: 
1115:  public:
1115:   using value_type = Char;
1115:   using iterator = const Char*;
1115: 
1115:   constexpr basic_string_view() noexcept : data_(nullptr), size_(0) {}
1115: 
1115: 
1115:   constexpr basic_string_view(const Char* s, size_t count) noexcept
1115:       : data_(s), size_(count) {}
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr
1115:   inline __attribute__((always_inline))
1115:   basic_string_view(const Char* s)
1115:       : data_(s),
1115:         size_(detail::const_check(std::is_same<Char, char>::value &&
1115:                                   !detail::is_constant_evaluated(true))
1115:                   ? std::strlen(reinterpret_cast<const char*>(s))
1115:                   : std::char_traits<Char>::length(s)) {}
1115: 
1115: 
1115:   template <typename Traits, typename Alloc>
1115:   constexpr basic_string_view(
1115:       const std::basic_string<Char, Traits, Alloc>& s) noexcept
1115:       : data_(s.data()), size_(s.size()) {}
1115: 
1115:   template <typename S, enable_if_t<(std::is_same< S, detail::std_string_view<Char>>::value), int> = 0
1115:                                                                                >
1115:   constexpr basic_string_view(S s) noexcept
1115:       : data_(s.data()), size_(s.size()) {}
1115: 
1115: 
1115:   constexpr auto data() const noexcept -> const Char* { return data_; }
1115: 
1115: 
1115:   constexpr auto size() const noexcept -> size_t { return size_; }
1115: 
1115:   constexpr auto begin() const noexcept -> iterator { return data_; }
1115:   constexpr auto end() const noexcept -> iterator { return data_ + size_; }
1115: 
1115:   constexpr auto operator[](size_t pos) const noexcept -> const Char& {
1115:     return data_[pos];
1115:   }
1115: 
1115:   constexpr void remove_prefix(size_t n) noexcept {
1115:     data_ += n;
1115:     size_ -= n;
1115:   }
1115: 
1115: 
1115:   constexpr auto compare(basic_string_view other) const -> int {
1115:     size_t str_size = size_ < other.size_ ? size_ : other.size_;
1115:     int result = std::char_traits<Char>::compare(data_, other.data_, str_size);
1115:     if (result == 0)
1115:       result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
1115:     return result;
1115:   }
1115: 
1115:   constexpr friend auto operator==(basic_string_view lhs,
1115:                                                    basic_string_view rhs)
1115:       -> bool {
1115:     return lhs.compare(rhs) == 0;
1115:   }
1115:   friend auto operator!=(basic_string_view lhs, basic_string_view rhs) -> bool {
1115:     return lhs.compare(rhs) != 0;
1115:   }
1115:   friend auto operator<(basic_string_view lhs, basic_string_view rhs) -> bool {
1115:     return lhs.compare(rhs) < 0;
1115:   }
1115:   friend auto operator<=(basic_string_view lhs, basic_string_view rhs) -> bool {
1115:     return lhs.compare(rhs) <= 0;
1115:   }
1115:   friend auto operator>(basic_string_view lhs, basic_string_view rhs) -> bool {
1115:     return lhs.compare(rhs) > 0;
1115:   }
1115:   friend auto operator>=(basic_string_view lhs, basic_string_view rhs) -> bool {
1115:     return lhs.compare(rhs) >= 0;
1115:   }
1115: };
1115: 
1115: using string_view = basic_string_view<char>;
1115: 
1115: 
1115: template <typename T> struct is_char : std::false_type {};
1115: template <> struct is_char<char> : std::true_type {};
1115: 
1115: namespace detail {
1115: 
1115: 
1115: struct compile_string {};
1115: 
1115: template <typename S>
1115: struct is_compile_string : std::is_base_of<compile_string, S> {};
1115: 
1115: 
1115: template <typename Char, enable_if_t<(is_char<Char>::value), int> = 0>
1115: inline __attribute__((always_inline)) auto to_string_view(const Char* s) -> basic_string_view<Char> {
1115:   return s;
1115: }
1115: template <typename Char, typename Traits, typename Alloc>
1115: inline auto to_string_view(const std::basic_string<Char, Traits, Alloc>& s)
1115:     -> basic_string_view<Char> {
1115:   return s;
1115: }
1115: template <typename Char>
1115: constexpr auto to_string_view(basic_string_view<Char> s)
1115:     -> basic_string_view<Char> {
1115:   return s;
1115: }
1115: template <typename Char,
1115:           enable_if_t<(!std::is_empty<std_string_view<Char>>::value), int> = 0>
1115: inline auto to_string_view(std_string_view<Char> s) -> basic_string_view<Char> {
1115:   return s;
1115: }
1115: template <typename S, enable_if_t<(is_compile_string<S>::value), int> = 0>
1115: constexpr auto to_string_view(const S& s)
1115:     -> basic_string_view<typename S::char_type> {
1115:   return basic_string_view<typename S::char_type>(s);
1115: }
1115: void to_string_view(...);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename S>
1115: struct is_string : std::is_class<decltype(to_string_view(std::declval<S>()))> {
1115: };
1115: 
1115: template <typename S, typename = void> struct char_t_impl {};
1115: template <typename S> struct char_t_impl<S, enable_if_t<is_string<S>::value>> {
1115:   using result = decltype(to_string_view(std::declval<S>()));
1115:   using type = typename result::value_type;
1115: };
1115: 
1115: enum class type {
1115:   none_type,
1115: 
1115:   int_type,
1115:   uint_type,
1115:   long_long_type,
1115:   ulong_long_type,
1115:   int128_type,
1115:   uint128_type,
1115:   bool_type,
1115:   char_type,
1115:   last_integer_type = char_type,
1115: 
1115:   float_type,
1115:   double_type,
1115:   long_double_type,
1115:   last_numeric_type = long_double_type,
1115:   cstring_type,
1115:   string_type,
1115:   pointer_type,
1115:   custom_type
1115: };
1115: 
1115: 
1115: template <typename T, typename Char>
1115: struct type_constant : std::integral_constant<type, type::custom_type> {};
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename Char> struct type_constant<int, Char> : std::integral_constant<type, type::int_type> {};
1115: template <typename Char> struct type_constant<unsigned, Char> : std::integral_constant<type, type::uint_type> {};
1115: template <typename Char> struct type_constant<long long, Char> : std::integral_constant<type, type::long_long_type> {};
1115: template <typename Char> struct type_constant<unsigned long long, Char> : std::integral_constant<type, type::ulong_long_type> {};
1115: template <typename Char> struct type_constant<int128_opt, Char> : std::integral_constant<type, type::int128_type> {};
1115: template <typename Char> struct type_constant<uint128_opt, Char> : std::integral_constant<type, type::uint128_type> {};
1115: template <typename Char> struct type_constant<bool, Char> : std::integral_constant<type, type::bool_type> {};
1115: template <typename Char> struct type_constant<Char, Char> : std::integral_constant<type, type::char_type> {};
1115: template <typename Char> struct type_constant<float, Char> : std::integral_constant<type, type::float_type> {};
1115: template <typename Char> struct type_constant<double, Char> : std::integral_constant<type, type::double_type> {};
1115: template <typename Char> struct type_constant<long double, Char> : std::integral_constant<type, type::long_double_type> {};
1115: template <typename Char> struct type_constant<const Char*, Char> : std::integral_constant<type, type::cstring_type> {};
1115: template <typename Char> struct type_constant<basic_string_view<Char>, Char> : std::integral_constant<type, type::string_type> {};
1115: template <typename Char> struct type_constant<const void*, Char> : std::integral_constant<type, type::pointer_type> {};
1115: 
1115: constexpr bool is_integral_type(type t) {
1115:   return t > type::none_type && t <= type::last_integer_type;
1115: }
1115: 
1115: constexpr bool is_arithmetic_type(type t) {
1115:   return t > type::none_type && t <= type::last_numeric_type;
1115: }
1115: 
1115: [[noreturn]] void throw_format_error(const char* message);
1115: 
1115: struct error_handler {
1115:   constexpr error_handler() = default;
1115:   constexpr error_handler(const error_handler&) = default;
1115: 
1115: 
1115:   [[noreturn]] void on_error(const char* message) {
1115:     throw_format_error(message);
1115:   }
1115: };
1115: }
1115: 
1115: 
1115: template <typename S> using char_t = typename detail::char_t_impl<S>::type;
1115: # 653 "/usr/include/fmt/core.h" 3 4
1115: template <typename Char, typename ErrorHandler = detail::error_handler>
1115: class basic_format_parse_context : private ErrorHandler {
1115:  private:
1115:   basic_string_view<Char> format_str_;
1115:   int next_arg_id_;
1115: 
1115:   constexpr void do_check_arg_id(int id);
1115: 
1115:  public:
1115:   using char_type = Char;
1115:   using iterator = typename basic_string_view<Char>::iterator;
1115: 
1115:   explicit constexpr basic_format_parse_context(
1115:       basic_string_view<Char> format_str, ErrorHandler eh = {},
1115:       int next_arg_id = 0)
1115:       : ErrorHandler(eh), format_str_(format_str), next_arg_id_(next_arg_id) {}
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr auto begin() const noexcept -> iterator {
1115:     return format_str_.begin();
1115:   }
1115: 
1115: 
1115: 
1115: 
1115:   constexpr auto end() const noexcept -> iterator { return format_str_.end(); }
1115: 
1115: 
1115:   constexpr void advance_to(iterator it) {
1115:     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr auto next_arg_id() -> int {
1115:     if (next_arg_id_ < 0) {
1115:       on_error("cannot switch from manual to automatic argument indexing");
1115:       return 0;
1115:     }
1115:     int id = next_arg_id_++;
1115:     do_check_arg_id(id);
1115:     return id;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr void check_arg_id(int id) {
1115:     if (next_arg_id_ > 0) {
1115:       on_error("cannot switch from automatic to manual argument indexing");
1115:       return;
1115:     }
1115:     next_arg_id_ = -1;
1115:     do_check_arg_id(id);
1115:   }
1115:   constexpr void check_arg_id(basic_string_view<Char>) {}
1115:   constexpr void check_dynamic_spec(int arg_id);
1115: 
1115:   constexpr void on_error(const char* message) {
1115:     ErrorHandler::on_error(message);
1115:   }
1115: 
1115:   constexpr auto error_handler() const -> ErrorHandler { return *this; }
1115: };
1115: 
1115: using format_parse_context = basic_format_parse_context<char>;
1115: 
1115: namespace detail {
1115: 
1115: template <typename Char, typename ErrorHandler = detail::error_handler>
1115: class compile_parse_context
1115:     : public basic_format_parse_context<Char, ErrorHandler> {
1115:  private:
1115:   int num_args_;
1115:   const type* types_;
1115:   using base = basic_format_parse_context<Char, ErrorHandler>;
1115: 
1115:  public:
1115:   explicit constexpr compile_parse_context(
1115:       basic_string_view<Char> format_str, int num_args, const type* types,
1115:       ErrorHandler eh = {}, int next_arg_id = 0)
1115:       : base(format_str, eh, next_arg_id), num_args_(num_args), types_(types) {}
1115: 
1115:   constexpr auto num_args() const -> int { return num_args_; }
1115:   constexpr auto arg_type(int id) const -> type { return types_[id]; }
1115: 
1115:   constexpr auto next_arg_id() -> int {
1115:     int id = base::next_arg_id();
1115:     if (id >= num_args_) this->on_error("argument not found");
1115:     return id;
1115:   }
1115: 
1115:   constexpr void check_arg_id(int id) {
1115:     base::check_arg_id(id);
1115:     if (id >= num_args_) this->on_error("argument not found");
1115:   }
1115:   using base::check_arg_id;
1115: 
1115:   constexpr void check_dynamic_spec(int arg_id) {
1115:     if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id]))
1115:       this->on_error("width/precision is not integer");
1115:   }
1115: };
1115: }
1115: 
1115: template <typename Char, typename ErrorHandler>
1115: constexpr void
1115: basic_format_parse_context<Char, ErrorHandler>::do_check_arg_id(int id) {
1115: 
1115: 
1115:   if (detail::is_constant_evaluated() && (12 * 100 + 2) >= 1200) {
1115:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1115:     if (id >= static_cast<context*>(this)->num_args())
1115:       on_error("argument not found");
1115:   }
1115: }
1115: 
1115: template <typename Char, typename ErrorHandler>
1115: constexpr void
1115: basic_format_parse_context<Char, ErrorHandler>::check_dynamic_spec(int arg_id) {
1115:   if (detail::is_constant_evaluated()) {
1115:     using context = detail::compile_parse_context<Char, ErrorHandler>;
1115:     static_cast<context*>(this)->check_dynamic_spec(arg_id);
1115:   }
1115: }
1115: 
1115: template <typename Context> class basic_format_arg;
1115: template <typename Context> class basic_format_args;
1115: template <typename Context> class dynamic_format_arg_store;
1115: 
1115: 
1115: template <typename T, typename Char = char, typename Enable = void>
1115: struct formatter {
1115: 
1115:   formatter() = delete;
1115: };
1115: 
1115: 
1115: 
1115: template <typename T, typename Context>
1115: using has_formatter =
1115:     std::is_constructible<typename Context::template formatter_type<T>>;
1115: 
1115: 
1115: template <typename T> struct is_contiguous : std::false_type {};
1115: template <typename Char>
1115: struct is_contiguous<std::basic_string<Char>> : std::true_type {};
1115: 
1115: class appender;
1115: 
1115: namespace detail {
1115: 
1115: template <typename Context, typename T>
1115: constexpr auto has_const_formatter_impl(T*)
1115:     -> decltype(typename Context::template formatter_type<T>().format(
1115:                     std::declval<const T&>(), std::declval<Context&>()),
1115:                 true) {
1115:   return true;
1115: }
1115: template <typename Context>
1115: constexpr auto has_const_formatter_impl(...) -> bool {
1115:   return false;
1115: }
1115: template <typename T, typename Context>
1115: constexpr auto has_const_formatter() -> bool {
1115:   return has_const_formatter_impl<Context>(static_cast<T*>(nullptr));
1115: }
1115: 
1115: 
1115: template <typename Container>
1115: inline auto get_container(std::back_insert_iterator<Container> it)
1115:     -> Container& {
1115:   using base = std::back_insert_iterator<Container>;
1115:   struct accessor : base {
1115:     accessor(base b) : base(b) {}
1115:     using base::container;
1115:   };
1115:   return *accessor(it).container;
1115: }
1115: 
1115: template <typename Char, typename InputIt, typename OutputIt>
1115: constexpr auto copy_str(InputIt begin, InputIt end, OutputIt out)
1115:     -> OutputIt {
1115:   while (begin != end) *out++ = static_cast<Char>(*begin++);
1115:   return out;
1115: }
1115: 
1115: template <typename Char, typename T, typename U,
1115:           enable_if_t<(std::is_same<remove_const_t<T>, U>::value&& is_char<U>::value), int> = 0
1115:                                                                             >
1115: constexpr auto copy_str(T* begin, T* end, U* out) -> U* {
1115:   if (is_constant_evaluated()) return copy_str<Char, T*, U*>(begin, end, out);
1115:   auto size = to_unsigned(end - begin);
1115:   memcpy(out, begin, size * sizeof(U));
1115:   return out + size;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename T> class buffer {
1115:  private:
1115:   T* ptr_;
1115:   size_t size_;
1115:   size_t capacity_;
1115: 
1115:  protected:
1115: 
1115:  
1115:   buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {}
1115: 
1115:   buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept
1115:       : ptr_(p), size_(sz), capacity_(cap) {}
1115: 
1115:   ~buffer() = default;
1115:   buffer(buffer&&) = default;
1115: 
1115: 
1115:   constexpr void set(T* buf_data, size_t buf_capacity) noexcept {
1115:     ptr_ = buf_data;
1115:     capacity_ = buf_capacity;
1115:   }
1115: 
1115: 
1115:   virtual void grow(size_t capacity) = 0;
1115: 
1115:  public:
1115:   using value_type = T;
1115:   using const_reference = const T&;
1115: 
1115:   buffer(const buffer&) = delete;
1115:   void operator=(const buffer&) = delete;
1115: 
1115:   auto begin() noexcept -> T* { return ptr_; }
1115:   auto end() noexcept -> T* { return ptr_ + size_; }
1115: 
1115:   auto begin() const noexcept -> const T* { return ptr_; }
1115:   auto end() const noexcept -> const T* { return ptr_ + size_; }
1115: 
1115: 
1115:   constexpr auto size() const noexcept -> size_t { return size_; }
1115: 
1115: 
1115:   constexpr auto capacity() const noexcept -> size_t { return capacity_; }
1115: 
1115: 
1115:   constexpr auto data() noexcept -> T* { return ptr_; }
1115: 
1115: 
1115:   constexpr auto data() const noexcept -> const T* { return ptr_; }
1115: 
1115: 
1115:   void clear() { size_ = 0; }
1115: 
1115: 
1115: 
1115:   void try_resize(size_t count) {
1115:     try_reserve(count);
1115:     size_ = count <= capacity_ ? count : capacity_;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void try_reserve(size_t new_capacity) {
1115:     if (new_capacity > capacity_) grow(new_capacity);
1115:   }
1115: 
1115:   void push_back(const T& value) {
1115:     try_reserve(size_ + 1);
1115:     ptr_[size_++] = value;
1115:   }
1115: 
1115: 
1115:   template <typename U> void append(const U* begin, const U* end);
1115: 
1115:   template <typename Idx> constexpr auto operator[](Idx index) -> T& {
1115:     return ptr_[index];
1115:   }
1115:   template <typename Idx>
1115:   constexpr auto operator[](Idx index) const -> const T& {
1115:     return ptr_[index];
1115:   }
1115: };
1115: 
1115: struct buffer_traits {
1115:   explicit buffer_traits(size_t) {}
1115:   auto count() const -> size_t { return 0; }
1115:   auto limit(size_t size) -> size_t { return size; }
1115: };
1115: 
1115: class fixed_buffer_traits {
1115:  private:
1115:   size_t count_ = 0;
1115:   size_t limit_;
1115: 
1115:  public:
1115:   explicit fixed_buffer_traits(size_t limit) : limit_(limit) {}
1115:   auto count() const -> size_t { return count_; }
1115:   auto limit(size_t size) -> size_t {
1115:     size_t n = limit_ > count_ ? limit_ - count_ : 0;
1115:     count_ += size;
1115:     return size < n ? size : n;
1115:   }
1115: };
1115: 
1115: 
1115: template <typename OutputIt, typename T, typename Traits = buffer_traits>
1115: class iterator_buffer final : public Traits, public buffer<T> {
1115:  private:
1115:   OutputIt out_;
1115:   enum { buffer_size = 256 };
1115:   T data_[buffer_size];
1115: 
1115:  protected:
1115:   void grow(size_t) override {
1115:     if (this->size() == buffer_size) flush();
1115:   }
1115: 
1115:   void flush() {
1115:     auto size = this->size();
1115:     this->clear();
1115:     out_ = copy_str<T>(data_, data_ + this->limit(size), out_);
1115:   }
1115: 
1115:  public:
1115:   explicit iterator_buffer(OutputIt out, size_t n = buffer_size)
1115:       : Traits(n), buffer<T>(data_, 0, buffer_size), out_(out) {}
1115:   iterator_buffer(iterator_buffer&& other)
1115:       : Traits(other), buffer<T>(data_, 0, buffer_size), out_(other.out_) {}
1115:   ~iterator_buffer() { flush(); }
1115: 
1115:   auto out() -> OutputIt {
1115:     flush();
1115:     return out_;
1115:   }
1115:   auto count() const -> size_t { return Traits::count() + this->size(); }
1115: };
1115: 
1115: template <typename T>
1115: class iterator_buffer<T*, T, fixed_buffer_traits> final
1115:     : public fixed_buffer_traits,
1115:       public buffer<T> {
1115:  private:
1115:   T* out_;
1115:   enum { buffer_size = 256 };
1115:   T data_[buffer_size];
1115: 
1115:  protected:
1115:   void grow(size_t) override {
1115:     if (this->size() == this->capacity()) flush();
1115:   }
1115: 
1115:   void flush() {
1115:     size_t n = this->limit(this->size());
1115:     if (this->data() == out_) {
1115:       out_ += n;
1115:       this->set(data_, buffer_size);
1115:     }
1115:     this->clear();
1115:   }
1115: 
1115:  public:
1115:   explicit iterator_buffer(T* out, size_t n = buffer_size)
1115:       : fixed_buffer_traits(n), buffer<T>(out, 0, n), out_(out) {}
1115:   iterator_buffer(iterator_buffer&& other)
1115:       : fixed_buffer_traits(other),
1115:         buffer<T>(std::move(other)),
1115:         out_(other.out_) {
1115:     if (this->data() != out_) {
1115:       this->set(data_, buffer_size);
1115:       this->clear();
1115:     }
1115:   }
1115:   ~iterator_buffer() { flush(); }
1115: 
1115:   auto out() -> T* {
1115:     flush();
1115:     return out_;
1115:   }
1115:   auto count() const -> size_t {
1115:     return fixed_buffer_traits::count() + this->size();
1115:   }
1115: };
1115: 
1115: template <typename T> class iterator_buffer<T*, T> final : public buffer<T> {
1115:  protected:
1115:   void grow(size_t) override {}
1115: 
1115:  public:
1115:   explicit iterator_buffer(T* out, size_t = 0) : buffer<T>(out, 0, ~size_t()) {}
1115: 
1115:   auto out() -> T* { return &*this->end(); }
1115: };
1115: 
1115: 
1115: template <typename Container>
1115: class iterator_buffer<std::back_insert_iterator<Container>,
1115:                       enable_if_t<is_contiguous<Container>::value,
1115:                                   typename Container::value_type>>
1115:     final : public buffer<typename Container::value_type> {
1115:  private:
1115:   Container& container_;
1115: 
1115:  protected:
1115:   void grow(size_t capacity) override {
1115:     container_.resize(capacity);
1115:     this->set(&container_[0], capacity);
1115:   }
1115: 
1115:  public:
1115:   explicit iterator_buffer(Container& c)
1115:       : buffer<typename Container::value_type>(c.size()), container_(c) {}
1115:   explicit iterator_buffer(std::back_insert_iterator<Container> out, size_t = 0)
1115:       : iterator_buffer(get_container(out)) {}
1115: 
1115:   auto out() -> std::back_insert_iterator<Container> {
1115:     return std::back_inserter(container_);
1115:   }
1115: };
1115: 
1115: 
1115: template <typename T = char> class counting_buffer final : public buffer<T> {
1115:  private:
1115:   enum { buffer_size = 256 };
1115:   T data_[buffer_size];
1115:   size_t count_ = 0;
1115: 
1115:  protected:
1115:   void grow(size_t) override {
1115:     if (this->size() != buffer_size) return;
1115:     count_ += this->size();
1115:     this->clear();
1115:   }
1115: 
1115:  public:
1115:   counting_buffer() : buffer<T>(data_, 0, buffer_size) {}
1115: 
1115:   auto count() -> size_t { return count_ + this->size(); }
1115: };
1115: 
1115: template <typename T>
1115: using buffer_appender = conditional_t<std::is_same<T, char>::value, appender,
1115:                                       std::back_insert_iterator<buffer<T>>>;
1115: 
1115: 
1115: template <typename T, typename OutputIt>
1115: auto get_buffer(OutputIt out) -> iterator_buffer<OutputIt, T> {
1115:   return iterator_buffer<OutputIt, T>(out);
1115: }
1115: 
1115: template <typename Buffer>
1115: auto get_iterator(Buffer& buf) -> decltype(buf.out()) {
1115:   return buf.out();
1115: }
1115: template <typename T> auto get_iterator(buffer<T>& buf) -> buffer_appender<T> {
1115:   return buffer_appender<T>(buf);
1115: }
1115: 
1115: template <typename T, typename Char = char, typename Enable = void>
1115: struct fallback_formatter {
1115:   fallback_formatter() = delete;
1115: };
1115: 
1115: 
1115: template <typename T, typename Char>
1115: using has_fallback_formatter =
1115: 
1115: 
1115: 
1115:     std::false_type;
1115: 
1115: 
1115: struct view {};
1115: 
1115: template <typename Char, typename T> struct named_arg : view {
1115:   const Char* name;
1115:   const T& value;
1115:   named_arg(const Char* n, const T& v) : name(n), value(v) {}
1115: };
1115: 
1115: template <typename Char> struct named_arg_info {
1115:   const Char* name;
1115:   int id;
1115: };
1115: 
1115: template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1115: struct arg_data {
1115: 
1115: 
1115:   T args_[1 + (NUM_ARGS != 0 ? NUM_ARGS : +1)];
1115:   named_arg_info<Char> named_args_[NUM_NAMED_ARGS];
1115: 
1115:   template <typename... U>
1115:   arg_data(const U&... init) : args_{T(named_args_, NUM_NAMED_ARGS), init...} {}
1115:   arg_data(const arg_data& other) = delete;
1115:   auto args() const -> const T* { return args_ + 1; }
1115:   auto named_args() -> named_arg_info<Char>* { return named_args_; }
1115: };
1115: 
1115: template <typename T, typename Char, size_t NUM_ARGS>
1115: struct arg_data<T, Char, NUM_ARGS, 0> {
1115: 
1115:   T args_[NUM_ARGS != 0 ? NUM_ARGS : +1];
1115: 
1115:   template <typename... U>
1115:   constexpr inline __attribute__((always_inline)) arg_data(const U&... init) : args_{init...} {}
1115:   constexpr inline __attribute__((always_inline)) auto args() const -> const T* { return args_; }
1115:   constexpr inline __attribute__((always_inline)) auto named_args() -> std::nullptr_t {
1115:     return nullptr;
1115:   }
1115: };
1115: 
1115: template <typename Char>
1115: inline void init_named_args(named_arg_info<Char>*, int, int) {}
1115: 
1115: template <typename T> struct is_named_arg : std::false_type {};
1115: template <typename T> struct is_statically_named_arg : std::false_type {};
1115: 
1115: template <typename T, typename Char>
1115: struct is_named_arg<named_arg<Char, T>> : std::true_type {};
1115: 
1115: template <typename Char, typename T, typename... Tail,
1115:           enable_if_t<(!is_named_arg<T>::value), int> = 0>
1115: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1115:                      int named_arg_count, const T&, const Tail&... args) {
1115:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1115: }
1115: 
1115: template <typename Char, typename T, typename... Tail,
1115:           enable_if_t<(is_named_arg<T>::value), int> = 0>
1115: void init_named_args(named_arg_info<Char>* named_args, int arg_count,
1115:                      int named_arg_count, const T& arg, const Tail&... args) {
1115:   named_args[named_arg_count++] = {arg.name, arg_count};
1115:   init_named_args(named_args, arg_count + 1, named_arg_count, args...);
1115: }
1115: 
1115: template <typename... Args>
1115: constexpr inline __attribute__((always_inline)) void init_named_args(std::nullptr_t, int, int,
1115:                                               const Args&...) {}
1115: 
1115: template <bool B = false> constexpr auto count() -> size_t { return B ? 1 : 0; }
1115: template <bool B1, bool B2, bool... Tail> constexpr auto count() -> size_t {
1115:   return (B1 ? 1 : 0) + count<B2, Tail...>();
1115: }
1115: 
1115: template <typename... Args> constexpr auto count_named_args() -> size_t {
1115:   return count<is_named_arg<Args>::value...>();
1115: }
1115: 
1115: template <typename... Args>
1115: constexpr auto count_statically_named_args() -> size_t {
1115:   return count<is_statically_named_arg<Args>::value...>();
1115: }
1115: 
1115: struct unformattable {};
1115: struct unformattable_char : unformattable {};
1115: struct unformattable_const : unformattable {};
1115: struct unformattable_pointer : unformattable {};
1115: 
1115: template <typename Char> struct string_value {
1115:   const Char* data;
1115:   size_t size;
1115: };
1115: 
1115: template <typename Char> struct named_arg_value {
1115:   const named_arg_info<Char>* data;
1115:   size_t size;
1115: };
1115: 
1115: template <typename Context> struct custom_value {
1115:   using parse_context = typename Context::parse_context_type;
1115:   void* value;
1115:   void (*format)(void* arg, parse_context& parse_ctx, Context& ctx);
1115: };
1115: 
1115: 
1115: template <typename Context> class value {
1115:  public:
1115:   using char_type = typename Context::char_type;
1115: 
1115:   union {
1115:     monostate no_value;
1115:     int int_value;
1115:     unsigned uint_value;
1115:     long long long_long_value;
1115:     unsigned long long ulong_long_value;
1115:     int128_opt int128_value;
1115:     uint128_opt uint128_value;
1115:     bool bool_value;
1115:     char_type char_value;
1115:     float float_value;
1115:     double double_value;
1115:     long double long_double_value;
1115:     const void* pointer;
1115:     string_value<char_type> string;
1115:     custom_value<Context> custom;
1115:     named_arg_value<char_type> named_args;
1115:   };
1115: 
1115:   constexpr inline __attribute__((always_inline)) value() : no_value() {}
1115:   constexpr inline __attribute__((always_inline)) value(int val) : int_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(unsigned val) : uint_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(long long val) : long_long_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(unsigned long long val) : ulong_long_value(val) {}
1115:   inline __attribute__((always_inline)) value(int128_opt val) : int128_value(val) {}
1115:   inline __attribute__((always_inline)) value(uint128_opt val) : uint128_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(float val) : float_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(double val) : double_value(val) {}
1115:   inline __attribute__((always_inline)) value(long double val) : long_double_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(bool val) : bool_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(char_type val) : char_value(val) {}
1115:   constexpr inline __attribute__((always_inline)) value(const char_type* val) {
1115:     string.data = val;
1115:     if (is_constant_evaluated()) string.size = {};
1115:   }
1115:   constexpr inline __attribute__((always_inline)) value(basic_string_view<char_type> val) {
1115:     string.data = val.data();
1115:     string.size = val.size();
1115:   }
1115:   inline __attribute__((always_inline)) value(const void* val) : pointer(val) {}
1115:   inline __attribute__((always_inline)) value(const named_arg_info<char_type>* args, size_t size)
1115:       : named_args{args, size} {}
1115: 
1115:   template <typename T> constexpr inline __attribute__((always_inline)) value(T& val) {
1115:     using value_type = remove_cvref_t<T>;
1115:     custom.value = const_cast<value_type*>(&val);
1115: 
1115: 
1115: 
1115:     custom.format = format_custom_arg<
1115:         value_type,
1115:         conditional_t<has_formatter<value_type, Context>::value,
1115:                       typename Context::template formatter_type<value_type>,
1115:                       fallback_formatter<value_type, char_type>>>;
1115:   }
1115:   value(unformattable);
1115:   value(unformattable_char);
1115:   value(unformattable_const);
1115:   value(unformattable_pointer);
1115: 
1115:  private:
1115: 
1115:   template <typename T, typename Formatter>
1115:   static void format_custom_arg(void* arg,
1115:                                 typename Context::parse_context_type& parse_ctx,
1115:                                 Context& ctx) {
1115:     auto f = Formatter();
1115:     parse_ctx.advance_to(f.parse(parse_ctx));
1115:     using qualified_type =
1115:         conditional_t<has_const_formatter<T, Context>(), const T, T>;
1115:     ctx.advance_to(f.format(*static_cast<qualified_type*>(arg), ctx));
1115:   }
1115: };
1115: 
1115: template <typename Context, typename T>
1115: constexpr auto make_arg(T&& value) -> basic_format_arg<Context>;
1115: 
1115: 
1115: 
1115: enum { long_short = sizeof(long) == sizeof(int) };
1115: using long_type = conditional_t<long_short, int, long long>;
1115: using ulong_type = conditional_t<long_short, unsigned, unsigned long long>;
1115: 
1115: 
1115: inline auto format_as(std::byte b) -> unsigned char {
1115:   return static_cast<unsigned char>(b);
1115: }
1115: 
1115: 
1115: template <typename T> struct has_format_as {
1115:   template <typename U, typename V = decltype(format_as(U())),
1115:             enable_if_t<(std::is_enum<U>::value&& std::is_integral<V>::value), int> = 0>
1115:   static auto check(U*) -> std::true_type;
1115:   static auto check(...) -> std::false_type;
1115: 
1115:   enum { value = decltype(check(static_cast<T*>(nullptr)))::value };
1115: };
1115: 
1115: 
1115: 
1115: 
1115: template <typename Context> struct arg_mapper {
1115:   using char_type = typename Context::char_type;
1115: 
1115:   constexpr inline __attribute__((always_inline)) auto map(signed char val) -> int { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(unsigned char val) -> unsigned {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(short val) -> int { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(unsigned short val) -> unsigned {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(int val) -> int { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(unsigned val) -> unsigned { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(long val) -> long_type { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(unsigned long val) -> ulong_type {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(long long val) -> long long { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(unsigned long long val)
1115:       -> unsigned long long {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(int128_opt val) -> int128_opt {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(uint128_opt val) -> uint128_opt {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(bool val) -> bool { return val; }
1115: 
1115:   template <typename T, enable_if_t<(std::is_same<T, char>::value || std::is_same<T, char_type>::value), int> = 0
1115:                                                                         >
1115:   constexpr inline __attribute__((always_inline)) auto map(T val) -> char_type {
1115:     return val;
1115:   }
1115:   template <typename T, enable_if_t<(std::is_same<T, wchar_t>::value ||
1115: 
1115: 
1115: 
1115:                                      std::is_same<T, char16_t>::value ||
1115:                                      std::is_same<T, char32_t>::value) &&
1115:                                         !std::is_same<T, char_type>::value,
1115:                                     int> = 0>
1115:   constexpr inline __attribute__((always_inline)) auto map(T) -> unformattable_char {
1115:     return {};
1115:   }
1115: 
1115:   constexpr inline __attribute__((always_inline)) auto map(float val) -> float { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(double val) -> double { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(long double val) -> long double {
1115:     return val;
1115:   }
1115: 
1115:   constexpr inline __attribute__((always_inline)) auto map(char_type* val) -> const char_type* {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(const char_type* val) -> const char_type* {
1115:     return val;
1115:   }
1115:   template <typename T,
1115:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && std::is_same<char_type, char_t<T>>::value), int> = 0
1115:                                                                     >
1115:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1115:       -> basic_string_view<char_type> {
1115:     return to_string_view(val);
1115:   }
1115:   template <typename T,
1115:             enable_if_t<(is_string<T>::value && !std::is_pointer<T>::value && !std::is_same<char_type, char_t<T>>::value), int> = 0
1115:                                                                      >
1115:   constexpr inline __attribute__((always_inline)) auto map(const T&) -> unformattable_char {
1115:     return {};
1115:   }
1115:   template <typename T,
1115:             enable_if_t<(std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1115: 
1115: 
1115:                                                              >
1115:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1115:       -> basic_string_view<char_type> {
1115:     return basic_string_view<char_type>(val);
1115:   }
1115:   template <typename T,
1115:             enable_if_t<(std::is_convertible<T, std_string_view<char_type>>::value && !std::is_convertible<T, basic_string_view<char_type>>::value && !is_string<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1115: 
1115: 
1115: 
1115:                                                              >
1115:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1115:       -> basic_string_view<char_type> {
1115:     return std_string_view<char_type>(val);
1115:   }
1115: 
1115:   constexpr inline __attribute__((always_inline)) auto map(void* val) -> const void* { return val; }
1115:   constexpr inline __attribute__((always_inline)) auto map(const void* val) -> const void* {
1115:     return val;
1115:   }
1115:   constexpr inline __attribute__((always_inline)) auto map(std::nullptr_t val) -> const void* {
1115:     return val;
1115:   }
1115: 
1115: 
1115: 
1115:   template <
1115:       typename T,
1115:       enable_if_t<(std::is_pointer<T>::value || std::is_member_pointer<T>::value || std::is_function<typename std::remove_pointer<T>::type>::value || (std::is_convertible<const T&, const void*>::value && !std::is_convertible<const T&, const char_type*>::value && !has_formatter<T, Context>::value)), int> = 0
1115: 
1115: 
1115: 
1115: 
1115:                                               >
1115:   constexpr auto map(const T&) -> unformattable_pointer {
1115:     return {};
1115:   }
1115: 
1115:   template <typename T, std::size_t N,
1115:             enable_if_t<(!std::is_same<T, wchar_t>::value), int> = 0>
1115:   constexpr inline __attribute__((always_inline)) auto map(const T (&values)[N]) -> const T (&)[N] {
1115:     return values;
1115:   }
1115: 
1115:   template <typename T,
1115:             enable_if_t<(std::is_enum<T>::value&& std::is_convertible<T, int>::value && !has_format_as<T>::value && !has_formatter<T, Context>::value && !has_fallback_formatter<T, char_type>::value), int> = 0
1115: 
1115: 
1115:                                                              >
1115:   [[deprecated]] constexpr inline __attribute__((always_inline)) auto map(const T& val)
1115:       -> decltype(std::declval<arg_mapper>().map(
1115:           static_cast<underlying_t<T>>(val))) {
1115:     return map(static_cast<underlying_t<T>>(val));
1115:   }
1115: 
1115:   template <typename T, enable_if_t<(has_format_as<T>::value && !has_formatter<T, Context>::value), int> = 0
1115:                                                                         >
1115:   constexpr inline __attribute__((always_inline)) auto map(const T& val)
1115:       -> decltype(std::declval<arg_mapper>().map(format_as(T()))) {
1115:     return map(format_as(val));
1115:   }
1115: 
1115:   template <typename T, typename U = remove_cvref_t<T>>
1115:   struct formattable
1115:       : bool_constant<has_const_formatter<U, Context>() ||
1115:                       !std::is_const<remove_reference_t<T>>::value ||
1115:                       has_fallback_formatter<U, char_type>::value> {};
1115: # 1496 "/usr/include/fmt/core.h" 3 4
1115:   template <typename T, enable_if_t<(formattable<T>::value), int> = 0>
1115:   constexpr inline __attribute__((always_inline)) auto do_map(T&& val) -> T& {
1115:     return val;
1115:   }
1115:   template <typename T, enable_if_t<(!formattable<T>::value), int> = 0>
1115:   constexpr inline __attribute__((always_inline)) auto do_map(T&&) -> unformattable_const {
1115:     return {};
1115:   }
1115: 
1115: 
1115:   template <typename T, typename U = remove_cvref_t<T>,
1115:             enable_if_t<(!is_string<U>::value && !is_char<U>::value && !std::is_array<U>::value && !std::is_pointer<U>::value && !has_format_as<U>::value && (has_formatter<U, Context>::value || has_fallback_formatter<U, char_type>::value)), int> = 0
1115: 
1115: 
1115: 
1115: 
1115:                                                                         >
1115:   constexpr inline __attribute__((always_inline)) auto map(T&& val)
1115:       -> decltype(this->do_map(std::forward<T>(val))) {
1115:     return do_map(std::forward<T>(val));
1115:   }
1115: 
1115:   template <typename T, enable_if_t<(is_named_arg<T>::value), int> = 0>
1115:   constexpr inline __attribute__((always_inline)) auto map(const T& named_arg)
1115:       -> decltype(std::declval<arg_mapper>().map(named_arg.value)) {
1115:     return map(named_arg.value);
1115:   }
1115: 
1115:   auto map(...) -> unformattable { return {}; }
1115: };
1115: 
1115: 
1115: template <typename T, typename Context>
1115: using mapped_type_constant =
1115:     type_constant<decltype(arg_mapper<Context>().map(std::declval<const T&>())),
1115:                   typename Context::char_type>;
1115: 
1115: enum { packed_arg_bits = 4 };
1115: 
1115: enum { max_packed_args = 62 / packed_arg_bits };
1115: enum : unsigned long long { is_unpacked_bit = 1ULL << 63 };
1115: enum : unsigned long long { has_named_args_bit = 1ULL << 62 };
1115: 
1115: }
1115: 
1115: 
1115: 
1115: class appender : public std::back_insert_iterator<detail::buffer<char>> {
1115:   using base = std::back_insert_iterator<detail::buffer<char>>;
1115: 
1115:   template <typename T>
1115:   friend auto get_buffer(appender out) -> detail::buffer<char>& {
1115:     return detail::get_container(out);
1115:   }
1115: 
1115:  public:
1115:   using std::back_insert_iterator<detail::buffer<char>>::back_insert_iterator;
1115:   appender(base it) noexcept : base(it) {}
1115:   using unchecked_type = appender;
1115: 
1115:   auto operator++() noexcept -> appender& { return *this; }
1115:   auto operator++(int) noexcept -> appender { return *this; }
1115: };
1115: 
1115: 
1115: 
1115: template <typename Context> class basic_format_arg {
1115:  private:
1115:   detail::value<Context> value_;
1115:   detail::type type_;
1115: 
1115:   template <typename ContextType, typename T>
1115:   friend constexpr auto detail::make_arg(T&& value)
1115:       -> basic_format_arg<ContextType>;
1115: 
1115:   template <typename Visitor, typename Ctx>
1115:   friend constexpr auto visit_format_arg(Visitor&& vis,
1115:                                              const basic_format_arg<Ctx>& arg)
1115:       -> decltype(vis(0));
1115: 
1115:   friend class basic_format_args<Context>;
1115:   friend class dynamic_format_arg_store<Context>;
1115: 
1115:   using char_type = typename Context::char_type;
1115: 
1115:   template <typename T, typename Char, size_t NUM_ARGS, size_t NUM_NAMED_ARGS>
1115:   friend struct detail::arg_data;
1115: 
1115:   basic_format_arg(const detail::named_arg_info<char_type>* args, size_t size)
1115:       : value_(args, size) {}
1115: 
1115:  public:
1115:   class handle {
1115:    public:
1115:     explicit handle(detail::custom_value<Context> custom) : custom_(custom) {}
1115: 
1115:     void format(typename Context::parse_context_type& parse_ctx,
1115:                 Context& ctx) const {
1115:       custom_.format(custom_.value, parse_ctx, ctx);
1115:     }
1115: 
1115:    private:
1115:     detail::custom_value<Context> custom_;
1115:   };
1115: 
1115:   constexpr basic_format_arg() : type_(detail::type::none_type) {}
1115: 
1115:   constexpr explicit operator bool() const noexcept {
1115:     return type_ != detail::type::none_type;
1115:   }
1115: 
1115:   auto type() const -> detail::type { return type_; }
1115: 
1115:   auto is_integral() const -> bool { return detail::is_integral_type(type_); }
1115:   auto is_arithmetic() const -> bool {
1115:     return detail::is_arithmetic_type(type_);
1115:   }
1115: };
1115: # 1622 "/usr/include/fmt/core.h" 3 4
1115: template <typename Visitor, typename Context>
1115: constexpr inline __attribute__((always_inline)) auto visit_format_arg(
1115:     Visitor&& vis, const basic_format_arg<Context>& arg) -> decltype(vis(0)) {
1115:   switch (arg.type_) {
1115:   case detail::type::none_type:
1115:     break;
1115:   case detail::type::int_type:
1115:     return vis(arg.value_.int_value);
1115:   case detail::type::uint_type:
1115:     return vis(arg.value_.uint_value);
1115:   case detail::type::long_long_type:
1115:     return vis(arg.value_.long_long_value);
1115:   case detail::type::ulong_long_type:
1115:     return vis(arg.value_.ulong_long_value);
1115:   case detail::type::int128_type:
1115:     return vis(detail::convert_for_visit(arg.value_.int128_value));
1115:   case detail::type::uint128_type:
1115:     return vis(detail::convert_for_visit(arg.value_.uint128_value));
1115:   case detail::type::bool_type:
1115:     return vis(arg.value_.bool_value);
1115:   case detail::type::char_type:
1115:     return vis(arg.value_.char_value);
1115:   case detail::type::float_type:
1115:     return vis(arg.value_.float_value);
1115:   case detail::type::double_type:
1115:     return vis(arg.value_.double_value);
1115:   case detail::type::long_double_type:
1115:     return vis(arg.value_.long_double_value);
1115:   case detail::type::cstring_type:
1115:     return vis(arg.value_.string.data);
1115:   case detail::type::string_type:
1115:     using sv = basic_string_view<typename Context::char_type>;
1115:     return vis(sv(arg.value_.string.data, arg.value_.string.size));
1115:   case detail::type::pointer_type:
1115:     return vis(arg.value_.pointer);
1115:   case detail::type::custom_type:
1115:     return vis(typename basic_format_arg<Context>::handle(arg.value_.custom));
1115:   }
1115:   return vis(monostate());
1115: }
1115: 
1115: namespace detail {
1115: 
1115: template <typename Char, typename InputIt>
1115: auto copy_str(InputIt begin, InputIt end, appender out) -> appender {
1115:   get_container(out).append(begin, end);
1115:   return out;
1115: }
1115: 
1115: template <typename Char, typename R, typename OutputIt>
1115: constexpr auto copy_str(R&& rng, OutputIt out) -> OutputIt {
1115:   return detail::copy_str<Char>(rng.begin(), rng.end(), out);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename...> using void_t = void;
1115: 
1115: 
1115: template <typename It, typename T, typename Enable = void>
1115: struct is_output_iterator : std::false_type {};
1115: 
1115: template <typename It, typename T>
1115: struct is_output_iterator<
1115:     It, T,
1115:     void_t<typename std::iterator_traits<It>::iterator_category,
1115:            decltype(*std::declval<It>() = std::declval<T>())>>
1115:     : std::true_type {};
1115: 
1115: template <typename OutputIt>
1115: struct is_back_insert_iterator : std::false_type {};
1115: template <typename Container>
1115: struct is_back_insert_iterator<std::back_insert_iterator<Container>>
1115:     : std::true_type {};
1115: 
1115: template <typename OutputIt>
1115: struct is_contiguous_back_insert_iterator : std::false_type {};
1115: template <typename Container>
1115: struct is_contiguous_back_insert_iterator<std::back_insert_iterator<Container>>
1115:     : is_contiguous<Container> {};
1115: template <>
1115: struct is_contiguous_back_insert_iterator<appender> : std::true_type {};
1115: 
1115: 
1115: class locale_ref {
1115:  private:
1115:   const void* locale_;
1115: 
1115:  public:
1115:   constexpr locale_ref() : locale_(nullptr) {}
1115:   template <typename Locale> explicit locale_ref(const Locale& loc);
1115: 
1115:   explicit operator bool() const noexcept { return locale_ != nullptr; }
1115: 
1115:   template <typename Locale> auto get() const -> Locale;
1115: };
1115: 
1115: template <typename> constexpr auto encode_types() -> unsigned long long {
1115:   return 0;
1115: }
1115: 
1115: template <typename Context, typename Arg, typename... Args>
1115: constexpr auto encode_types() -> unsigned long long {
1115:   return static_cast<unsigned>(mapped_type_constant<Arg, Context>::value) |
1115:          (encode_types<Context, Args...>() << packed_arg_bits);
1115: }
1115: 
1115: template <typename Context, typename T>
1115: constexpr inline __attribute__((always_inline)) auto make_value(T&& val) -> value<Context> {
1115:   const auto& arg = arg_mapper<Context>().map(static_cast<decltype(val)&&>(val));
1115: 
1115:   constexpr bool formattable_char =
1115:       !std::is_same<decltype(arg), const unformattable_char&>::value;
1115:   static_assert(formattable_char, "Mixing character types is disallowed.");
1115: 
1115:   constexpr bool formattable_const =
1115:       !std::is_same<decltype(arg), const unformattable_const&>::value;
1115:   static_assert(formattable_const, "Cannot format a const argument.");
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr bool formattable_pointer =
1115:       !std::is_same<decltype(arg), const unformattable_pointer&>::value;
1115:   static_assert(formattable_pointer,
1115:                 "Formatting of non-void pointers is disallowed.");
1115: 
1115:   constexpr bool formattable =
1115:       !std::is_same<decltype(arg), const unformattable&>::value;
1115:   static_assert(
1115:       formattable,
1115:       "Cannot format an argument. To make type T formattable provide a "
1115:       "formatter<T> specialization: https://fmt.dev/latest/api.html#udt");
1115:   return {arg};
1115: }
1115: 
1115: template <typename Context, typename T>
1115: constexpr auto make_arg(T&& value) -> basic_format_arg<Context> {
1115:   basic_format_arg<Context> arg;
1115:   arg.type_ = mapped_type_constant<T, Context>::value;
1115:   arg.value_ = make_value<Context>(value);
1115:   return arg;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: template <bool IS_PACKED, typename Context, type, typename T,
1115:           enable_if_t<(IS_PACKED), int> = 0>
1115: constexpr inline __attribute__((always_inline)) auto make_arg(T&& val) -> value<Context> {
1115:   return make_value<Context>(val);
1115: }
1115: 
1115: template <bool IS_PACKED, typename Context, type, typename T,
1115:           enable_if_t<(!IS_PACKED), int> = 0>
1115: constexpr inline auto make_arg(T&& value) -> basic_format_arg<Context> {
1115:   return make_arg<Context>(value);
1115: }
1115: }
1115: 
1115: 
1115: template <typename OutputIt, typename Char> class basic_format_context {
1115:  public:
1115: 
1115:   using char_type = Char;
1115: 
1115:  private:
1115:   OutputIt out_;
1115:   basic_format_args<basic_format_context> args_;
1115:   detail::locale_ref loc_;
1115: 
1115:  public:
1115:   using iterator = OutputIt;
1115:   using format_arg = basic_format_arg<basic_format_context>;
1115:   using parse_context_type = basic_format_parse_context<Char>;
1115:   template <typename T> using formatter_type = formatter<T, char_type>;
1115: 
1115:   basic_format_context(basic_format_context&&) = default;
1115:   basic_format_context(const basic_format_context&) = delete;
1115:   void operator=(const basic_format_context&) = delete;
1115: 
1115: 
1115: 
1115: 
1115:   constexpr basic_format_context(
1115:       OutputIt out, basic_format_args<basic_format_context> ctx_args,
1115:       detail::locale_ref loc = detail::locale_ref())
1115:       : out_(out), args_(ctx_args), loc_(loc) {}
1115: 
1115:   constexpr auto arg(int id) const -> format_arg { return args_.get(id); }
1115:   constexpr auto arg(basic_string_view<char_type> name) -> format_arg {
1115:     return args_.get(name);
1115:   }
1115:   constexpr auto arg_id(basic_string_view<char_type> name) -> int {
1115:     return args_.get_id(name);
1115:   }
1115:   auto args() const -> const basic_format_args<basic_format_context>& {
1115:     return args_;
1115:   }
1115: 
1115:   constexpr auto error_handler() -> detail::error_handler { return {}; }
1115:   void on_error(const char* message) { error_handler().on_error(message); }
1115: 
1115: 
1115:   constexpr auto out() -> iterator { return out_; }
1115: 
1115: 
1115:   void advance_to(iterator it) {
1115:     if (!detail::is_back_insert_iterator<iterator>()) out_ = it;
1115:   }
1115: 
1115:   constexpr auto locale() -> detail::locale_ref { return loc_; }
1115: };
1115: 
1115: template <typename Char>
1115: using buffer_context =
1115:     basic_format_context<detail::buffer_appender<Char>, Char>;
1115: using format_context = buffer_context<char>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename T, typename Char = char>
1115: using is_formattable = bool_constant<
1115:     !std::is_base_of<detail::unformattable,
1115:                      decltype(detail::arg_mapper<buffer_context<Char>>().map(
1115:                          std::declval<T>()))>::value &&
1115:     !detail::has_fallback_formatter<T, Char>::value>;
1115: # 1864 "/usr/include/fmt/core.h" 3 4
1115: template <typename Context, typename... Args>
1115: class format_arg_store
1115: 
1115: 
1115: 
1115: 
1115: {
1115:  private:
1115:   static const size_t num_args = sizeof...(Args);
1115:   static const size_t num_named_args = detail::count_named_args<Args...>();
1115:   static const bool is_packed = num_args <= detail::max_packed_args;
1115: 
1115:   using value_type = conditional_t<is_packed, detail::value<Context>,
1115:                                    basic_format_arg<Context>>;
1115: 
1115:   detail::arg_data<value_type, typename Context::char_type, num_args,
1115:                    num_named_args>
1115:       data_;
1115: 
1115:   friend class basic_format_args<Context>;
1115: 
1115:   static constexpr unsigned long long desc =
1115:       (is_packed ? detail::encode_types<Context, Args...>()
1115:                  : detail::is_unpacked_bit | num_args) |
1115:       (num_named_args != 0
1115:            ? static_cast<unsigned long long>(detail::has_named_args_bit)
1115:            : 0);
1115: 
1115:  public:
1115:   template <typename... T>
1115:   constexpr inline __attribute__((always_inline)) format_arg_store(T&&... args)
1115:       :
1115: 
1115: 
1115: 
1115:         data_{detail::make_arg<
1115:             is_packed, Context,
1115:             detail::mapped_type_constant<remove_cvref_t<T>, Context>::value>(
1115:             static_cast<decltype(args)&&>(args))...} {
1115:     detail::init_named_args(data_.named_args(), 0, 0, args...);
1115:   }
1115: };
1115: # 1915 "/usr/include/fmt/core.h" 3 4
1115: template <typename Context = format_context, typename... Args>
1115: constexpr auto make_format_args(Args&&... args)
1115:     -> format_arg_store<Context, remove_cvref_t<Args>...> {
1115:   return {static_cast<decltype(args)&&>(args)...};
1115: }
1115: # 1932 "/usr/include/fmt/core.h" 3 4
1115: template <typename Char, typename T>
1115: inline auto arg(const Char* name, const T& arg) -> detail::named_arg<Char, T> {
1115:   static_assert(!detail::is_named_arg<T>(), "nested named arguments");
1115:   return {name, arg};
1115: }
1115: # 1948 "/usr/include/fmt/core.h" 3 4
1115: template <typename Context> class basic_format_args {
1115:  public:
1115:   using size_type = int;
1115:   using format_arg = basic_format_arg<Context>;
1115: 
1115:  private:
1115: 
1115: 
1115: 
1115: 
1115:   unsigned long long desc_;
1115:   union {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     const detail::value<Context>* values_;
1115:     const format_arg* args_;
1115:   };
1115: 
1115:   constexpr auto is_packed() const -> bool {
1115:     return (desc_ & detail::is_unpacked_bit) == 0;
1115:   }
1115:   auto has_named_args() const -> bool {
1115:     return (desc_ & detail::has_named_args_bit) != 0;
1115:   }
1115: 
1115:   constexpr auto type(int index) const -> detail::type {
1115:     int shift = index * detail::packed_arg_bits;
1115:     unsigned int mask = (1 << detail::packed_arg_bits) - 1;
1115:     return static_cast<detail::type>((desc_ >> shift) & mask);
1115:   }
1115: 
1115:   constexpr inline __attribute__((always_inline)) basic_format_args(unsigned long long desc,
1115:                                          const detail::value<Context>* values)
1115:       : desc_(desc), values_(values) {}
1115:   constexpr basic_format_args(unsigned long long desc, const format_arg* args)
1115:       : desc_(desc), args_(args) {}
1115: 
1115:  public:
1115:   constexpr basic_format_args() : desc_(0), args_(nullptr) {}
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template <typename... Args>
1115:   constexpr inline __attribute__((always_inline)) basic_format_args(
1115:       const format_arg_store<Context, Args...>& store)
1115:       : basic_format_args(format_arg_store<Context, Args...>::desc,
1115:                           store.data_.args()) {}
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr inline __attribute__((always_inline)) basic_format_args(
1115:       const dynamic_format_arg_store<Context>& store)
1115:       : basic_format_args(store.get_types(), store.data()) {}
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   constexpr basic_format_args(const format_arg* args, int count)
1115:       : basic_format_args(detail::is_unpacked_bit | detail::to_unsigned(count),
1115:                           args) {}
1115: 
1115: 
1115:   constexpr auto get(int id) const -> format_arg {
1115:     format_arg arg;
1115:     if (!is_packed()) {
1115:       if (id < max_size()) arg = args_[id];
1115:       return arg;
1115:     }
1115:     if (id >= detail::max_packed_args) return arg;
1115:     arg.type_ = type(id);
1115:     if (arg.type_ == detail::type::none_type) return arg;
1115:     arg.value_ = values_[id];
1115:     return arg;
1115:   }
1115: 
1115:   template <typename Char>
1115:   auto get(basic_string_view<Char> name) const -> format_arg {
1115:     int id = get_id(name);
1115:     return id >= 0 ? get(id) : format_arg();
1115:   }
1115: 
1115:   template <typename Char>
1115:   auto get_id(basic_string_view<Char> name) const -> int {
1115:     if (!has_named_args()) return -1;
1115:     const auto& named_args =
1115:         (is_packed() ? values_[-1] : args_[-1].value_).named_args;
1115:     for (size_t i = 0; i < named_args.size; ++i) {
1115:       if (named_args.data[i].name == name) return named_args.data[i].id;
1115:     }
1115:     return -1;
1115:   }
1115: 
1115:   auto max_size() const -> int {
1115:     unsigned long long max_packed = detail::max_packed_args;
1115:     return static_cast<int>(is_packed() ? max_packed
1115:                                         : desc_ & ~detail::is_unpacked_bit);
1115:   }
1115: };
1115: 
1115: 
1115: 
1115: 
1115: using format_args = basic_format_args<format_context>;
1115: # 2073 "/usr/include/fmt/core.h" 3 4
1115: namespace align {
1115: enum type : unsigned char{none, left, right, center,
1115:                                                   numeric};
1115: }
1115: using align_t = align::type;
1115: namespace sign {
1115: enum type : unsigned char{none, minus, plus, space};
1115: }
1115: using sign_t = sign::type;
1115: 
1115: namespace detail {
1115: 
1115: 
1115: template <typename Char> struct fill_t {
1115:  private:
1115:   enum { max_size = 4 };
1115:   Char data_[max_size] = {Char(' '), Char(0), Char(0), Char(0)};
1115:   unsigned char size_ = 1;
1115: 
1115:  public:
1115:   constexpr void operator=(basic_string_view<Char> s) {
1115:     auto size = s.size();
1115:     if (size > max_size) return throw_format_error("invalid fill");
1115:     for (size_t i = 0; i < size; ++i) data_[i] = s[i];
1115:     size_ = static_cast<unsigned char>(size);
1115:   }
1115: 
1115:   constexpr auto size() const -> size_t { return size_; }
1115:   constexpr auto data() const -> const Char* { return data_; }
1115: 
1115:   constexpr auto operator[](size_t index) -> Char& { return data_[index]; }
1115:   constexpr auto operator[](size_t index) const -> const Char& {
1115:     return data_[index];
1115:   }
1115: };
1115: }
1115: 
1115: enum class presentation_type : unsigned char {
1115:   none,
1115: 
1115:   dec,
1115:   oct,
1115:   hex_lower,
1115:   hex_upper,
1115:   bin_lower,
1115:   bin_upper,
1115:   hexfloat_lower,
1115:   hexfloat_upper,
1115:   exp_lower,
1115:   exp_upper,
1115:   fixed_lower,
1115:   fixed_upper,
1115:   general_lower,
1115:   general_upper,
1115:   chr,
1115:   string,
1115:   pointer,
1115:   debug
1115: };
1115: 
1115: 
1115: template <typename Char> struct basic_format_specs {
1115:   int width;
1115:   int precision;
1115:   presentation_type type;
1115:   align_t align : 4;
1115:   sign_t sign : 3;
1115:   bool alt : 1;
1115:   bool localized : 1;
1115:   detail::fill_t<Char> fill;
1115: 
1115:   constexpr basic_format_specs()
1115:       : width(0),
1115:         precision(-1),
1115:         type(presentation_type::none),
1115:         align(align::none),
1115:         sign(sign::none),
1115:         alt(false),
1115:         localized(false) {}
1115: };
1115: 
1115: using format_specs = basic_format_specs<char>;
1115: 
1115: namespace detail {
1115: 
1115: enum class arg_id_kind { none, index, name };
1115: 
1115: 
1115: template <typename Char> struct arg_ref {
1115:   constexpr arg_ref() : kind(arg_id_kind::none), val() {}
1115: 
1115:   constexpr explicit arg_ref(int index)
1115:       : kind(arg_id_kind::index), val(index) {}
1115:   constexpr explicit arg_ref(basic_string_view<Char> name)
1115:       : kind(arg_id_kind::name), val(name) {}
1115: 
1115:   constexpr auto operator=(int idx) -> arg_ref& {
1115:     kind = arg_id_kind::index;
1115:     val.index = idx;
1115:     return *this;
1115:   }
1115: 
1115:   arg_id_kind kind;
1115:   union value {
1115:     constexpr value(int id = 0) : index{id} {}
1115:     constexpr value(basic_string_view<Char> n) : name(n) {}
1115: 
1115:     int index;
1115:     basic_string_view<Char> name;
1115:   } val;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: template <typename Char>
1115: struct dynamic_format_specs : basic_format_specs<Char> {
1115:   arg_ref<Char> width_ref;
1115:   arg_ref<Char> precision_ref;
1115: };
1115: 
1115: struct auto_id {};
1115: 
1115: 
1115: template <typename Char> class specs_setter {
1115:  protected:
1115:   basic_format_specs<Char>& specs_;
1115: 
1115:  public:
1115:   explicit constexpr specs_setter(basic_format_specs<Char>& specs)
1115:       : specs_(specs) {}
1115: 
1115:   constexpr specs_setter(const specs_setter& other)
1115:       : specs_(other.specs_) {}
1115: 
1115:   constexpr void on_align(align_t align) { specs_.align = align; }
1115:   constexpr void on_fill(basic_string_view<Char> fill) {
1115:     specs_.fill = fill;
1115:   }
1115:   constexpr void on_sign(sign_t s) { specs_.sign = s; }
1115:   constexpr void on_hash() { specs_.alt = true; }
1115:   constexpr void on_localized() { specs_.localized = true; }
1115: 
1115:   constexpr void on_zero() {
1115:     if (specs_.align == align::none) specs_.align = align::numeric;
1115:     specs_.fill[0] = Char('0');
1115:   }
1115: 
1115:   constexpr void on_width(int width) { specs_.width = width; }
1115:   constexpr void on_precision(int precision) {
1115:     specs_.precision = precision;
1115:   }
1115:   constexpr void end_precision() {}
1115: 
1115:   constexpr void on_type(presentation_type type) { specs_.type = type; }
1115: };
1115: 
1115: 
1115: 
1115: template <typename ParseContext>
1115: class dynamic_specs_handler
1115:     : public specs_setter<typename ParseContext::char_type> {
1115:  public:
1115:   using char_type = typename ParseContext::char_type;
1115: 
1115:   constexpr dynamic_specs_handler(dynamic_format_specs<char_type>& specs,
1115:                                       ParseContext& ctx)
1115:       : specs_setter<char_type>(specs), specs_(specs), context_(ctx) {}
1115: 
1115:   constexpr dynamic_specs_handler(const dynamic_specs_handler& other)
1115:       : specs_setter<char_type>(other),
1115:         specs_(other.specs_),
1115:         context_(other.context_) {}
1115: 
1115:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1115:     specs_.width_ref = make_arg_ref(arg_id);
1115:   }
1115: 
1115:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1115:     specs_.precision_ref = make_arg_ref(arg_id);
1115:   }
1115: 
1115:   constexpr void on_error(const char* message) {
1115:     context_.on_error(message);
1115:   }
1115: 
1115:  private:
1115:   dynamic_format_specs<char_type>& specs_;
1115:   ParseContext& context_;
1115: 
1115:   using arg_ref_type = arg_ref<char_type>;
1115: 
1115:   constexpr auto make_arg_ref(int arg_id) -> arg_ref_type {
1115:     context_.check_arg_id(arg_id);
1115:     context_.check_dynamic_spec(arg_id);
1115:     return arg_ref_type(arg_id);
1115:   }
1115: 
1115:   constexpr auto make_arg_ref(auto_id) -> arg_ref_type {
1115:     int arg_id = context_.next_arg_id();
1115:     context_.check_dynamic_spec(arg_id);
1115:     return arg_ref_type(arg_id);
1115:   }
1115: 
1115:   constexpr auto make_arg_ref(basic_string_view<char_type> arg_id)
1115:       -> arg_ref_type {
1115:     context_.check_arg_id(arg_id);
1115:     basic_string_view<char_type> format_str(
1115:         context_.begin(), to_unsigned(context_.end() - context_.begin()));
1115:     return arg_ref_type(arg_id);
1115:   }
1115: };
1115: 
1115: template <typename Char> constexpr bool is_ascii_letter(Char c) {
1115:   return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
1115: }
1115: 
1115: 
1115: template <typename Char, enable_if_t<(std::is_integral<Char>::value), int> = 0>
1115: constexpr auto to_ascii(Char c) -> Char {
1115:   return c;
1115: }
1115: template <typename Char, enable_if_t<(std::is_enum<Char>::value), int> = 0>
1115: constexpr auto to_ascii(Char c) -> underlying_t<Char> {
1115:   return c;
1115: }
1115: 
1115: constexpr inline auto code_point_length_impl(char c) -> int {
1115:   return "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4"
1115:       [static_cast<unsigned char>(c) >> 3];
1115: }
1115: 
1115: template <typename Char>
1115: constexpr auto code_point_length(const Char* begin) -> int {
1115:   if (const_check(sizeof(Char) != 1)) return 1;
1115:   int len = code_point_length_impl(static_cast<char>(*begin));
1115: 
1115: 
1115: 
1115: 
1115:   return len + !len;
1115: }
1115: 
1115: 
1115: template <bool IS_CONSTEXPR, typename T, typename Ptr = const T*>
1115: constexpr auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool {
1115:   for (out = first; out != last; ++out) {
1115:     if (*out == value) return true;
1115:   }
1115:   return false;
1115: }
1115: 
1115: template <>
1115: inline auto find<false, char>(const char* first, const char* last, char value,
1115:                               const char*& out) -> bool {
1115:   out = static_cast<const char*>(
1115:       std::memchr(first, value, to_unsigned(last - first)));
1115:   return out != nullptr;
1115: }
1115: 
1115: 
1115: 
1115: template <typename Char>
1115: constexpr auto parse_nonnegative_int(const Char*& begin, const Char* end,
1115:                                          int error_value) noexcept -> int {
1115:   ::fmt::detail::ignore_unused((begin != end && '0' <= *begin && *begin <= '9'), (""));
1115:   unsigned value = 0, prev = 0;
1115:   auto p = begin;
1115:   do {
1115:     prev = value;
1115:     value = value * 10 + unsigned(*p - '0');
1115:     ++p;
1115:   } while (p != end && '0' <= *p && *p <= '9');
1115:   auto num_digits = p - begin;
1115:   begin = p;
1115:   if (num_digits <= std::numeric_limits<int>::digits10)
1115:     return static_cast<int>(value);
1115: 
1115:   const unsigned max = to_unsigned((std::numeric_limits<int>::max)());
1115:   return num_digits == std::numeric_limits<int>::digits10 + 1 &&
1115:                  prev * 10ull + unsigned(p[-1] - '0') <= max
1115:              ? static_cast<int>(value)
1115:              : error_value;
1115: }
1115: 
1115: 
1115: template <typename Char, typename Handler>
1115: constexpr auto parse_align(const Char* begin, const Char* end,
1115:                                Handler&& handler) -> const Char* {
1115:   ::fmt::detail::ignore_unused((begin != end), (""));
1115:   auto align = align::none;
1115:   auto p = begin + code_point_length(begin);
1115:   if (end - p <= 0) p = begin;
1115:   for (;;) {
1115:     switch (to_ascii(*p)) {
1115:     case '<':
1115:       align = align::left;
1115:       break;
1115:     case '>':
1115:       align = align::right;
1115:       break;
1115:     case '^':
1115:       align = align::center;
1115:       break;
1115:     default:
1115:       break;
1115:     }
1115:     if (align != align::none) {
1115:       if (p != begin) {
1115:         auto c = *begin;
1115:         if (c == '{')
1115:           return handler.on_error("invalid fill character '{'"), begin;
1115:         handler.on_fill(basic_string_view<Char>(begin, to_unsigned(p - begin)));
1115:         begin = p + 1;
1115:       } else
1115:         ++begin;
1115:       handler.on_align(align);
1115:       break;
1115:     } else if (p == begin) {
1115:       break;
1115:     }
1115:     p = begin;
1115:   }
1115:   return begin;
1115: }
1115: 
1115: template <typename Char> constexpr bool is_name_start(Char c) {
1115:   return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || '_' == c;
1115: }
1115: 
1115: template <typename Char, typename IDHandler>
1115: constexpr auto do_parse_arg_id(const Char* begin, const Char* end,
1115:                                    IDHandler&& handler) -> const Char* {
1115:   ::fmt::detail::ignore_unused((begin != end), (""));
1115:   Char c = *begin;
1115:   if (c >= '0' && c <= '9') {
1115:     int index = 0;
1115:     if (c != '0')
1115:       index =
1115:           parse_nonnegative_int(begin, end, (std::numeric_limits<int>::max)());
1115:     else
1115:       ++begin;
1115:     if (begin == end || (*begin != '}' && *begin != ':'))
1115:       handler.on_error("invalid format string");
1115:     else
1115:       handler(index);
1115:     return begin;
1115:   }
1115:   if (!is_name_start(c)) {
1115:     handler.on_error("invalid format string");
1115:     return begin;
1115:   }
1115:   auto it = begin;
1115:   do {
1115:     ++it;
1115:   } while (it != end && (is_name_start(c = *it) || ('0' <= c && c <= '9')));
1115:   handler(basic_string_view<Char>(begin, to_unsigned(it - begin)));
1115:   return it;
1115: }
1115: 
1115: template <typename Char, typename IDHandler>
1115: constexpr inline __attribute__((always_inline)) auto parse_arg_id(const Char* begin, const Char* end,
1115:                                            IDHandler&& handler) -> const Char* {
1115:   Char c = *begin;
1115:   if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler);
1115:   handler();
1115:   return begin;
1115: }
1115: 
1115: template <typename Char, typename Handler>
1115: constexpr auto parse_width(const Char* begin, const Char* end,
1115:                                Handler&& handler) -> const Char* {
1115:   using detail::auto_id;
1115:   struct width_adapter {
1115:     Handler& handler;
1115: 
1115:     constexpr void operator()() { handler.on_dynamic_width(auto_id()); }
1115:     constexpr void operator()(int id) { handler.on_dynamic_width(id); }
1115:     constexpr void operator()(basic_string_view<Char> id) {
1115:       handler.on_dynamic_width(id);
1115:     }
1115:     constexpr void on_error(const char* message) {
1115:       if (message) handler.on_error(message);
1115:     }
1115:   };
1115: 
1115:   ::fmt::detail::ignore_unused((begin != end), (""));
1115:   if ('0' <= *begin && *begin <= '9') {
1115:     int width = parse_nonnegative_int(begin, end, -1);
1115:     if (width != -1)
1115:       handler.on_width(width);
1115:     else
1115:       handler.on_error("number is too big");
1115:   } else if (*begin == '{') {
1115:     ++begin;
1115:     if (begin != end) begin = parse_arg_id(begin, end, width_adapter{handler});
1115:     if (begin == end || *begin != '}')
1115:       return handler.on_error("invalid format string"), begin;
1115:     ++begin;
1115:   }
1115:   return begin;
1115: }
1115: 
1115: template <typename Char, typename Handler>
1115: constexpr auto parse_precision(const Char* begin, const Char* end,
1115:                                    Handler&& handler) -> const Char* {
1115:   using detail::auto_id;
1115:   struct precision_adapter {
1115:     Handler& handler;
1115: 
1115:     constexpr void operator()() { handler.on_dynamic_precision(auto_id()); }
1115:     constexpr void operator()(int id) { handler.on_dynamic_precision(id); }
1115:     constexpr void operator()(basic_string_view<Char> id) {
1115:       handler.on_dynamic_precision(id);
1115:     }
1115:     constexpr void on_error(const char* message) {
1115:       if (message) handler.on_error(message);
1115:     }
1115:   };
1115: 
1115:   ++begin;
1115:   auto c = begin != end ? *begin : Char();
1115:   if ('0' <= c && c <= '9') {
1115:     auto precision = parse_nonnegative_int(begin, end, -1);
1115:     if (precision != -1)
1115:       handler.on_precision(precision);
1115:     else
1115:       handler.on_error("number is too big");
1115:   } else if (c == '{') {
1115:     ++begin;
1115:     if (begin != end)
1115:       begin = parse_arg_id(begin, end, precision_adapter{handler});
1115:     if (begin == end || *begin++ != '}')
1115:       return handler.on_error("invalid format string"), begin;
1115:   } else {
1115:     return handler.on_error("missing precision specifier"), begin;
1115:   }
1115:   handler.end_precision();
1115:   return begin;
1115: }
1115: 
1115: template <typename Char>
1115: constexpr auto parse_presentation_type(Char type) -> presentation_type {
1115:   switch (to_ascii(type)) {
1115:   case 'd':
1115:     return presentation_type::dec;
1115:   case 'o':
1115:     return presentation_type::oct;
1115:   case 'x':
1115:     return presentation_type::hex_lower;
1115:   case 'X':
1115:     return presentation_type::hex_upper;
1115:   case 'b':
1115:     return presentation_type::bin_lower;
1115:   case 'B':
1115:     return presentation_type::bin_upper;
1115:   case 'a':
1115:     return presentation_type::hexfloat_lower;
1115:   case 'A':
1115:     return presentation_type::hexfloat_upper;
1115:   case 'e':
1115:     return presentation_type::exp_lower;
1115:   case 'E':
1115:     return presentation_type::exp_upper;
1115:   case 'f':
1115:     return presentation_type::fixed_lower;
1115:   case 'F':
1115:     return presentation_type::fixed_upper;
1115:   case 'g':
1115:     return presentation_type::general_lower;
1115:   case 'G':
1115:     return presentation_type::general_upper;
1115:   case 'c':
1115:     return presentation_type::chr;
1115:   case 's':
1115:     return presentation_type::string;
1115:   case 'p':
1115:     return presentation_type::pointer;
1115:   case '?':
1115:     return presentation_type::debug;
1115:   default:
1115:     return presentation_type::none;
1115:   }
1115: }
1115: 
1115: 
1115: 
1115: template <typename Char, typename SpecHandler>
1115: constexpr inline __attribute__((always_inline)) auto parse_format_specs(const Char* begin,
1115:                                                  const Char* end,
1115:                                                  SpecHandler&& handler)
1115:     -> const Char* {
1115:   if (1 < end - begin && begin[1] == '}' && is_ascii_letter(*begin) &&
1115:       *begin != 'L') {
1115:     presentation_type type = parse_presentation_type(*begin++);
1115:     if (type == presentation_type::none)
1115:       handler.on_error("invalid type specifier");
1115:     handler.on_type(type);
1115:     return begin;
1115:   }
1115: 
1115:   if (begin == end) return begin;
1115: 
1115:   begin = parse_align(begin, end, handler);
1115:   if (begin == end) return begin;
1115: 
1115: 
1115:   switch (to_ascii(*begin)) {
1115:   case '+':
1115:     handler.on_sign(sign::plus);
1115:     ++begin;
1115:     break;
1115:   case '-':
1115:     handler.on_sign(sign::minus);
1115:     ++begin;
1115:     break;
1115:   case ' ':
1115:     handler.on_sign(sign::space);
1115:     ++begin;
1115:     break;
1115:   default:
1115:     break;
1115:   }
1115:   if (begin == end) return begin;
1115: 
1115:   if (*begin == '#') {
1115:     handler.on_hash();
1115:     if (++begin == end) return begin;
1115:   }
1115: 
1115: 
1115:   if (*begin == '0') {
1115:     handler.on_zero();
1115:     if (++begin == end) return begin;
1115:   }
1115: 
1115:   begin = parse_width(begin, end, handler);
1115:   if (begin == end) return begin;
1115: 
1115: 
1115:   if (*begin == '.') {
1115:     begin = parse_precision(begin, end, handler);
1115:     if (begin == end) return begin;
1115:   }
1115: 
1115:   if (*begin == 'L') {
1115:     handler.on_localized();
1115:     ++begin;
1115:   }
1115: 
1115: 
1115:   if (begin != end && *begin != '}') {
1115:     presentation_type type = parse_presentation_type(*begin++);
1115:     if (type == presentation_type::none)
1115:       handler.on_error("invalid type specifier");
1115:     handler.on_type(type);
1115:   }
1115:   return begin;
1115: }
1115: 
1115: template <typename Char, typename Handler>
1115: constexpr auto parse_replacement_field(const Char* begin, const Char* end,
1115:                                            Handler&& handler) -> const Char* {
1115:   struct id_adapter {
1115:     Handler& handler;
1115:     int arg_id;
1115: 
1115:     constexpr void operator()() { arg_id = handler.on_arg_id(); }
1115:     constexpr void operator()(int id) { arg_id = handler.on_arg_id(id); }
1115:     constexpr void operator()(basic_string_view<Char> id) {
1115:       arg_id = handler.on_arg_id(id);
1115:     }
1115:     constexpr void on_error(const char* message) {
1115:       if (message) handler.on_error(message);
1115:     }
1115:   };
1115: 
1115:   ++begin;
1115:   if (begin == end) return handler.on_error("invalid format string"), end;
1115:   if (*begin == '}') {
1115:     handler.on_replacement_field(handler.on_arg_id(), begin);
1115:   } else if (*begin == '{') {
1115:     handler.on_text(begin, begin + 1);
1115:   } else {
1115:     auto adapter = id_adapter{handler, 0};
1115:     begin = parse_arg_id(begin, end, adapter);
1115:     Char c = begin != end ? *begin : Char();
1115:     if (c == '}') {
1115:       handler.on_replacement_field(adapter.arg_id, begin);
1115:     } else if (c == ':') {
1115:       begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
1115:       if (begin == end || *begin != '}')
1115:         return handler.on_error("unknown format specifier"), end;
1115:     } else {
1115:       return handler.on_error("missing '}' in format string"), end;
1115:     }
1115:   }
1115:   return begin + 1;
1115: }
1115: 
1115: template <bool IS_CONSTEXPR, typename Char, typename Handler>
1115: constexpr inline __attribute__((always_inline)) void parse_format_string(
1115:     basic_string_view<Char> format_str, Handler&& handler) {
1115: 
1115:   using detail::find;
1115: 
1115:   auto begin = format_str.data();
1115:   auto end = begin + format_str.size();
1115:   if (end - begin < 32) {
1115: 
1115:     const Char* p = begin;
1115:     while (p != end) {
1115:       auto c = *p++;
1115:       if (c == '{') {
1115:         handler.on_text(begin, p - 1);
1115:         begin = p = parse_replacement_field(p - 1, end, handler);
1115:       } else if (c == '}') {
1115:         if (p == end || *p != '}')
1115:           return handler.on_error("unmatched '}' in format string");
1115:         handler.on_text(begin, p);
1115:         begin = ++p;
1115:       }
1115:     }
1115:     handler.on_text(begin, end);
1115:     return;
1115:   }
1115:   struct writer {
1115:     constexpr void operator()(const Char* from, const Char* to) {
1115:       if (from == to) return;
1115:       for (;;) {
1115:         const Char* p = nullptr;
1115:         if (!find<IS_CONSTEXPR>(from, to, Char('}'), p))
1115:           return handler_.on_text(from, to);
1115:         ++p;
1115:         if (p == to || *p != '}')
1115:           return handler_.on_error("unmatched '}' in format string");
1115:         handler_.on_text(from, p);
1115:         from = p + 1;
1115:       }
1115:     }
1115:     Handler& handler_;
1115:   } write = {handler};
1115:   while (begin != end) {
1115: 
1115: 
1115:     const Char* p = begin;
1115:     if (*begin != '{' && !find<IS_CONSTEXPR>(begin + 1, end, Char('{'), p))
1115:       return write(begin, end);
1115:     write(begin, p);
1115:     begin = parse_replacement_field(p, end, handler);
1115:   }
1115: }
1115: 
1115: template <typename T, bool = is_named_arg<T>::value> struct strip_named_arg {
1115:   using type = T;
1115: };
1115: template <typename T> struct strip_named_arg<T, true> {
1115:   using type = remove_cvref_t<decltype(T::value)>;
1115: };
1115: 
1115: template <typename T, typename ParseContext>
1115: constexpr auto parse_format_specs(ParseContext& ctx)
1115:     -> decltype(ctx.begin()) {
1115:   using char_type = typename ParseContext::char_type;
1115:   using context = buffer_context<char_type>;
1115:   using stripped_type = typename strip_named_arg<T>::type;
1115:   using mapped_type = conditional_t<
1115:       mapped_type_constant<T, context>::value != type::custom_type,
1115:       decltype(arg_mapper<context>().map(std::declval<const T&>())),
1115:       stripped_type>;
1115:   auto f = conditional_t<has_formatter<mapped_type, context>::value,
1115:                          formatter<mapped_type, char_type>,
1115:                          fallback_formatter<stripped_type, char_type>>();
1115:   return f.parse(ctx);
1115: }
1115: 
1115: template <typename ErrorHandler>
1115: constexpr void check_int_type_spec(presentation_type type,
1115:                                        ErrorHandler&& eh) {
1115:   if (type > presentation_type::bin_upper && type != presentation_type::chr)
1115:     eh.on_error("invalid type specifier");
1115: }
1115: 
1115: 
1115: template <typename Char, typename ErrorHandler = error_handler>
1115: constexpr auto check_char_specs(const basic_format_specs<Char>& specs,
1115:                                     ErrorHandler&& eh = {}) -> bool {
1115:   if (specs.type != presentation_type::none &&
1115:       specs.type != presentation_type::chr &&
1115:       specs.type != presentation_type::debug) {
1115:     check_int_type_spec(specs.type, eh);
1115:     return false;
1115:   }
1115:   if (specs.align == align::numeric || specs.sign != sign::none || specs.alt)
1115:     eh.on_error("invalid format specifier for char");
1115:   return true;
1115: }
1115: 
1115: 
1115: enum class float_format : unsigned char {
1115:   general,
1115:   exp,
1115:   fixed,
1115:   hex
1115: };
1115: 
1115: struct float_specs {
1115:   int precision;
1115:   float_format format : 8;
1115:   sign_t sign : 8;
1115:   bool upper : 1;
1115:   bool locale : 1;
1115:   bool binary32 : 1;
1115:   bool showpoint : 1;
1115: };
1115: 
1115: template <typename ErrorHandler = error_handler, typename Char>
1115: constexpr auto parse_float_type_spec(const basic_format_specs<Char>& specs,
1115:                                          ErrorHandler&& eh = {})
1115:     -> float_specs {
1115:   auto result = float_specs();
1115:   result.showpoint = specs.alt;
1115:   result.locale = specs.localized;
1115:   switch (specs.type) {
1115:   case presentation_type::none:
1115:     result.format = float_format::general;
1115:     break;
1115:   case presentation_type::general_upper:
1115:     result.upper = true;
1115:     [[fallthrough]];
1115:   case presentation_type::general_lower:
1115:     result.format = float_format::general;
1115:     break;
1115:   case presentation_type::exp_upper:
1115:     result.upper = true;
1115:     [[fallthrough]];
1115:   case presentation_type::exp_lower:
1115:     result.format = float_format::exp;
1115:     result.showpoint |= specs.precision != 0;
1115:     break;
1115:   case presentation_type::fixed_upper:
1115:     result.upper = true;
1115:     [[fallthrough]];
1115:   case presentation_type::fixed_lower:
1115:     result.format = float_format::fixed;
1115:     result.showpoint |= specs.precision != 0;
1115:     break;
1115:   case presentation_type::hexfloat_upper:
1115:     result.upper = true;
1115:     [[fallthrough]];
1115:   case presentation_type::hexfloat_lower:
1115:     result.format = float_format::hex;
1115:     break;
1115:   default:
1115:     eh.on_error("invalid type specifier");
1115:     break;
1115:   }
1115:   return result;
1115: }
1115: 
1115: template <typename ErrorHandler = error_handler>
1115: constexpr auto check_cstring_type_spec(presentation_type type,
1115:                                            ErrorHandler&& eh = {}) -> bool {
1115:   if (type == presentation_type::none || type == presentation_type::string ||
1115:       type == presentation_type::debug)
1115:     return true;
1115:   if (type != presentation_type::pointer) eh.on_error("invalid type specifier");
1115:   return false;
1115: }
1115: 
1115: template <typename ErrorHandler = error_handler>
1115: constexpr void check_string_type_spec(presentation_type type,
1115:                                           ErrorHandler&& eh = {}) {
1115:   if (type != presentation_type::none && type != presentation_type::string &&
1115:       type != presentation_type::debug)
1115:     eh.on_error("invalid type specifier");
1115: }
1115: 
1115: template <typename ErrorHandler>
1115: constexpr void check_pointer_type_spec(presentation_type type,
1115:                                            ErrorHandler&& eh) {
1115:   if (type != presentation_type::none && type != presentation_type::pointer)
1115:     eh.on_error("invalid type specifier");
1115: }
1115: 
1115: 
1115: 
1115: template <typename Handler> class specs_checker : public Handler {
1115:  private:
1115:   detail::type arg_type_;
1115: 
1115:   constexpr void require_numeric_argument() {
1115:     if (!is_arithmetic_type(arg_type_))
1115:       this->on_error("format specifier requires numeric argument");
1115:   }
1115: 
1115:  public:
1115:   constexpr specs_checker(const Handler& handler, detail::type arg_type)
1115:       : Handler(handler), arg_type_(arg_type) {}
1115: 
1115:   constexpr void on_align(align_t align) {
1115:     if (align == align::numeric) require_numeric_argument();
1115:     Handler::on_align(align);
1115:   }
1115: 
1115:   constexpr void on_sign(sign_t s) {
1115:     require_numeric_argument();
1115:     if (is_integral_type(arg_type_) && arg_type_ != type::int_type &&
1115:         arg_type_ != type::long_long_type && arg_type_ != type::int128_type &&
1115:         arg_type_ != type::char_type) {
1115:       this->on_error("format specifier requires signed argument");
1115:     }
1115:     Handler::on_sign(s);
1115:   }
1115: 
1115:   constexpr void on_hash() {
1115:     require_numeric_argument();
1115:     Handler::on_hash();
1115:   }
1115: 
1115:   constexpr void on_localized() {
1115:     require_numeric_argument();
1115:     Handler::on_localized();
1115:   }
1115: 
1115:   constexpr void on_zero() {
1115:     require_numeric_argument();
1115:     Handler::on_zero();
1115:   }
1115: 
1115:   constexpr void end_precision() {
1115:     if (is_integral_type(arg_type_) || arg_type_ == type::pointer_type)
1115:       this->on_error("precision not allowed for this argument type");
1115:   }
1115: };
1115: 
1115: constexpr int invalid_arg_index = -1;
1115: # 2924 "/usr/include/fmt/core.h" 3 4
1115: template <typename... Args, typename Char>
1115: constexpr auto get_arg_index_by_name(basic_string_view<Char> name) -> int {
1115: 
1115: 
1115: 
1115: 
1115:   (void)name;
1115:   return invalid_arg_index;
1115: }
1115: 
1115: template <typename Char, typename ErrorHandler, typename... Args>
1115: class format_string_checker {
1115:  private:
1115: 
1115: 
1115: 
1115:   using parse_context_type = compile_parse_context<Char, ErrorHandler>;
1115:   static constexpr int num_args = sizeof...(Args);
1115: 
1115: 
1115:   using parse_func = const Char* (*)(parse_context_type&);
1115: 
1115:   parse_context_type context_;
1115:   parse_func parse_funcs_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1115:   type types_[num_args > 0 ? static_cast<size_t>(num_args) : 1];
1115: 
1115:  public:
1115:   explicit constexpr format_string_checker(
1115:       basic_string_view<Char> format_str, ErrorHandler eh)
1115:       : context_(format_str, num_args, types_, eh),
1115:         parse_funcs_{&parse_format_specs<Args, parse_context_type>...},
1115:         types_{
1115:             mapped_type_constant<Args,
1115:                                  basic_format_context<Char*, Char>>::value...} {
1115:   }
1115: 
1115:   constexpr void on_text(const Char*, const Char*) {}
1115: 
1115:   constexpr auto on_arg_id() -> int { return context_.next_arg_id(); }
1115:   constexpr auto on_arg_id(int id) -> int {
1115:     return context_.check_arg_id(id), id;
1115:   }
1115:   constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     (void)id;
1115:     on_error("compile-time checks for named arguments require C++20 support");
1115:     return 0;
1115: 
1115:   }
1115: 
1115:   constexpr void on_replacement_field(int, const Char*) {}
1115: 
1115:   constexpr auto on_format_specs(int id, const Char* begin, const Char*)
1115:       -> const Char* {
1115:     context_.advance_to(context_.begin() + (begin - &*context_.begin()));
1115: 
1115:     return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin;
1115:   }
1115: 
1115:   constexpr void on_error(const char* message) {
1115:     context_.on_error(message);
1115:   }
1115: };
1115: 
1115: 
1115: template <typename..., typename S, enable_if_t<(!is_compile_string<S>::value), int> = 0>
1115: inline __attribute__((always_inline)) void check_format_string(const S&) {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: template <typename... Args, typename S,
1115:           enable_if_t<(is_compile_string<S>::value), int> = 0>
1115: void check_format_string(S format_str) {
1115:   constexpr auto s = basic_string_view<typename S::char_type>(format_str);
1115:   using checker = format_string_checker<typename S::char_type, error_handler,
1115:                                         remove_cvref_t<Args>...>;
1115:   constexpr bool invalid_format =
1115:       (parse_format_string<true>(s, checker(s, {})), true);
1115:   ignore_unused(invalid_format);
1115: }
1115: 
1115: template <typename Char>
1115: void vformat_to(
1115:     buffer<Char>& buf, basic_string_view<Char> fmt,
1115:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1115:     locale_ref loc = {});
1115: 
1115:  void vprint_mojibake(std::FILE*, string_view, format_args);
1115: 
1115: inline void vprint_mojibake(std::FILE*, string_view, format_args) {}
1115: 
1115: }
1115: 
1115: 
1115: 
1115: template <typename T, typename Char>
1115: struct formatter<T, Char,
1115:                  enable_if_t<detail::type_constant<T, Char>::value !=
1115:                              detail::type::custom_type>> {
1115:  private:
1115:   detail::dynamic_format_specs<Char> specs_;
1115: 
1115:  public:
1115: 
1115: 
1115:   template <typename ParseContext>
1115:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1115:     auto begin = ctx.begin(), end = ctx.end();
1115:     if (begin == end) return begin;
1115:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1115:     auto type = detail::type_constant<T, Char>::value;
1115:     auto checker =
1115:         detail::specs_checker<handler_type>(handler_type(specs_, ctx), type);
1115:     auto it = detail::parse_format_specs(begin, end, checker);
1115:     auto eh = ctx.error_handler();
1115:     switch (type) {
1115:     case detail::type::none_type:
1115:       ::fmt::detail::ignore_unused((false), ("invalid argument type"));
1115:       break;
1115:     case detail::type::bool_type:
1115:       if (specs_.type == presentation_type::none ||
1115:           specs_.type == presentation_type::string) {
1115:         break;
1115:       }
1115:       [[fallthrough]];
1115:     case detail::type::int_type:
1115:     case detail::type::uint_type:
1115:     case detail::type::long_long_type:
1115:     case detail::type::ulong_long_type:
1115:     case detail::type::int128_type:
1115:     case detail::type::uint128_type:
1115:       detail::check_int_type_spec(specs_.type, eh);
1115:       break;
1115:     case detail::type::char_type:
1115:       detail::check_char_specs(specs_, eh);
1115:       break;
1115:     case detail::type::float_type:
1115:       if (detail::const_check(1))
1115:         detail::parse_float_type_spec(specs_, eh);
1115:       else
1115:         ::fmt::detail::ignore_unused((false), ("float support disabled"));
1115:       break;
1115:     case detail::type::double_type:
1115:       if (detail::const_check(1))
1115:         detail::parse_float_type_spec(specs_, eh);
1115:       else
1115:         ::fmt::detail::ignore_unused((false), ("double support disabled"));
1115:       break;
1115:     case detail::type::long_double_type:
1115:       if (detail::const_check(1))
1115:         detail::parse_float_type_spec(specs_, eh);
1115:       else
1115:         ::fmt::detail::ignore_unused((false), ("long double support disabled"));
1115:       break;
1115:     case detail::type::cstring_type:
1115:       detail::check_cstring_type_spec(specs_.type, eh);
1115:       break;
1115:     case detail::type::string_type:
1115:       detail::check_string_type_spec(specs_.type, eh);
1115:       break;
1115:     case detail::type::pointer_type:
1115:       detail::check_pointer_type_spec(specs_.type, eh);
1115:       break;
1115:     case detail::type::custom_type:
1115: 
1115: 
1115:       break;
1115:     }
1115:     return it;
1115:   }
1115: 
1115:   template <detail::type U = detail::type_constant<T, Char>::value,
1115:             enable_if_t<(U == detail::type::string_type ||
1115:                          U == detail::type::cstring_type ||
1115:                          U == detail::type::char_type),
1115:                         int> = 0>
1115:   constexpr void set_debug_format() {
1115:     specs_.type = presentation_type::debug;
1115:   }
1115: 
1115:   template <typename FormatContext>
1115:   constexpr auto format(const T& val, FormatContext& ctx) const
1115:       -> decltype(ctx.out());
1115: };
1115: # 3126 "/usr/include/fmt/core.h" 3 4
1115: template <typename Char> struct formatter<signed char, Char> : formatter<int, Char> { template <typename FormatContext> auto format(signed char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1115: template <typename Char> struct formatter<unsigned char, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned char const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1115: template <typename Char> struct formatter<short, Char> : formatter<int, Char> { template <typename FormatContext> auto format(short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<int, Char>::format(static_cast<int>(val), ctx); } };
1115: template <typename Char> struct formatter<unsigned short, Char> : formatter<unsigned, Char> { template <typename FormatContext> auto format(unsigned short const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned, Char>::format(static_cast<unsigned>(val), ctx); } };
1115: template <typename Char> struct formatter<long, Char> : formatter<long long, Char> { template <typename FormatContext> auto format(long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<long long, Char>::format(static_cast<long long>(val), ctx); } };
1115: template <typename Char> struct formatter<unsigned long, Char> : formatter<unsigned long long, Char> { template <typename FormatContext> auto format(unsigned long const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<unsigned long long, Char>::format(static_cast<unsigned long long>(val), ctx); } };
1115: template <typename Char> struct formatter<Char*, Char> : formatter<const Char*, Char> { template <typename FormatContext> auto format(Char* const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const Char*, Char>::format(static_cast<const Char*>(val), ctx); } };
1115: template <typename Char> struct formatter<std::basic_string<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(std::basic_string<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1115: template <typename Char> struct formatter<std::nullptr_t, Char> : formatter<const void*, Char> { template <typename FormatContext> auto format(std::nullptr_t const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<const void*, Char>::format(static_cast<const void*>(val), ctx); } };
1115: template <typename Char> struct formatter<detail::std_string_view<Char>, Char> : formatter<basic_string_view<Char>, Char> { template <typename FormatContext> auto format(detail::std_string_view<Char> const& val, FormatContext& ctx) const -> decltype(ctx.out()) { return formatter<basic_string_view<Char>, Char>::format(static_cast<basic_string_view<Char> >(val), ctx); } };
1115: 
1115: template <typename Char> struct basic_runtime { basic_string_view<Char> str; };
1115: 
1115: 
1115: template <typename Char, typename... Args> class basic_format_string {
1115:  private:
1115:   basic_string_view<Char> str_;
1115: 
1115:  public:
1115:   template <typename S,
1115:             enable_if_t<(std::is_convertible<const S&, basic_string_view<Char>>::value), int> = 0
1115:                                                                               >
1115:   inline __attribute__((always_inline)) basic_format_string(const S& s) : str_(s) {
1115:     static_assert(
1115:         detail::count<
1115:             (std::is_base_of<detail::view, remove_reference_t<Args>>::value &&
1115:              std::is_reference<Args>::value)...>() == 0,
1115:         "passing views as lvalues is disallowed");
1115: # 3162 "/usr/include/fmt/core.h" 3 4
1115:     detail::check_format_string<Args...>(s);
1115: 
1115:   }
1115:   basic_format_string(basic_runtime<Char> r) : str_(r.str) {}
1115: 
1115:   inline __attribute__((always_inline)) operator basic_string_view<Char>() const { return str_; }
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename... Args>
1115: using format_string = basic_format_string<char, type_identity_t<Args>...>;
1115: # 3187 "/usr/include/fmt/core.h" 3 4
1115: inline auto runtime(string_view s) -> basic_runtime<char> { return {{s}}; }
1115: 
1115: 
1115:  auto vformat(string_view fmt, format_args args) -> std::string;
1115: # 3203 "/usr/include/fmt/core.h" 3 4
1115: template <typename... T>
1115: [[nodiscard]] inline __attribute__((always_inline)) auto format(format_string<T...> fmt, T&&... args)
1115:     -> std::string {
1115:   return vformat(fmt, fmt::make_format_args(args...));
1115: }
1115: 
1115: 
1115: template <typename OutputIt,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1115: auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt {
1115:   using detail::get_buffer;
1115:   auto&& buf = get_buffer<char>(out);
1115:   detail::vformat_to(buf, fmt, args, {});
1115:   return detail::get_iterator(buf);
1115: }
1115: # 3231 "/usr/include/fmt/core.h" 3 4
1115: template <typename OutputIt, typename... T,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1115: inline __attribute__((always_inline)) auto format_to(OutputIt out, format_string<T...> fmt, T&&... args)
1115:     -> OutputIt {
1115:   return vformat_to(out, fmt, fmt::make_format_args(args...));
1115: }
1115: 
1115: template <typename OutputIt> struct format_to_n_result {
1115: 
1115:   OutputIt out;
1115: 
1115:   size_t size;
1115: };
1115: 
1115: template <typename OutputIt, typename... T,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1115: auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args)
1115:     -> format_to_n_result<OutputIt> {
1115:   using traits = detail::fixed_buffer_traits;
1115:   auto buf = detail::iterator_buffer<OutputIt, char, traits>(out, n);
1115:   detail::vformat_to(buf, fmt, args, {});
1115:   return {buf.out(), buf.count()};
1115: }
1115: # 3263 "/usr/include/fmt/core.h" 3 4
1115: template <typename OutputIt, typename... T,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value), int> = 0>
1115: inline __attribute__((always_inline)) auto format_to_n(OutputIt out, size_t n, format_string<T...> fmt,
1115:                             T&&... args) -> format_to_n_result<OutputIt> {
1115:   return vformat_to_n(out, n, fmt, fmt::make_format_args(args...));
1115: }
1115: 
1115: 
1115: template <typename... T>
1115: [[nodiscard]] inline __attribute__((always_inline)) auto formatted_size(format_string<T...> fmt,
1115:                                              T&&... args) -> size_t {
1115:   auto buf = detail::counting_buffer<>();
1115:   detail::vformat_to(buf, string_view(fmt), fmt::make_format_args(args...), {});
1115:   return buf.count();
1115: }
1115: 
1115:  void vprint(string_view fmt, format_args args);
1115:  void vprint(std::FILE* f, string_view fmt, format_args args);
1115: # 3292 "/usr/include/fmt/core.h" 3 4
1115: template <typename... T>
1115: inline __attribute__((always_inline)) void print(format_string<T...> fmt, T&&... args) {
1115:   const auto& vargs = fmt::make_format_args(args...);
1115:   return detail::is_utf8() ? vprint(fmt, vargs)
1115:                            : detail::vprint_mojibake(stdout, fmt, vargs);
1115: }
1115: # 3309 "/usr/include/fmt/core.h" 3 4
1115: template <typename... T>
1115: inline __attribute__((always_inline)) void print(std::FILE* f, format_string<T...> fmt, T&&... args) {
1115:   const auto& vargs = fmt::make_format_args(args...);
1115:   return detail::is_utf8() ? vprint(f, fmt, vargs)
1115:                            : detail::vprint_mojibake(f, fmt, vargs);
1115: }
1115: 
1115: 
1115: 
1115: # 3317 "/usr/include/fmt/core.h" 3 4
1115: #pragma GCC pop_options
1115: # 3317 "/usr/include/fmt/core.h" 3 4
1115: 
1115: } }
1115: # 49 "/usr/include/fmt/format.h" 2 3 4
1115: # 242 "/usr/include/fmt/format.h" 3 4
1115: namespace fmt { inline namespace v9 {
1115: namespace detail {
1115: 
1115: constexpr inline void abort_fuzzing_if(bool condition) {
1115:   ignore_unused(condition);
1115: 
1115: 
1115: 
1115: }
1115: 
1115: template <typename CharT, CharT... C> struct string_literal {
1115:   static constexpr CharT value[sizeof...(C)] = {C...};
1115:   constexpr operator basic_string_view<CharT>() const {
1115:     return {value, sizeof...(C)};
1115:   }
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename Streambuf> class formatbuf : public Streambuf {
1115:  private:
1115:   using char_type = typename Streambuf::char_type;
1115:   using streamsize = decltype(std::declval<Streambuf>().sputn(nullptr, 0));
1115:   using int_type = typename Streambuf::int_type;
1115:   using traits_type = typename Streambuf::traits_type;
1115: 
1115:   buffer<char_type>& buffer_;
1115: 
1115:  public:
1115:   explicit formatbuf(buffer<char_type>& buf) : buffer_(buf) {}
1115: 
1115:  protected:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   auto overflow(int_type ch) -> int_type override {
1115:     if (!traits_type::eq_int_type(ch, traits_type::eof()))
1115:       buffer_.push_back(static_cast<char_type>(ch));
1115:     return ch;
1115:   }
1115: 
1115:   auto xsputn(const char_type* s, streamsize count) -> streamsize override {
1115:     buffer_.append(s, s + count);
1115:     return count;
1115:   }
1115: };
1115: 
1115: 
1115: template <typename To, typename From, enable_if_t<(sizeof(To) == sizeof(From)), int> = 0>
1115:  auto bit_cast(const From& from) -> To {
1115: 
1115: 
1115: 
1115:   auto to = To();
1115: 
1115:   std::memcpy(static_cast<void*>(&to), &from, sizeof(to));
1115:   return to;
1115: }
1115: 
1115: inline auto is_big_endian() -> bool {
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   return 1234 == 4321;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: }
1115: 
1115: class uint128_fallback {
1115:  private:
1115:   uint64_t lo_, hi_;
1115: 
1115:   friend uint128_fallback umul128(uint64_t x, uint64_t y) noexcept;
1115: 
1115:  public:
1115:   constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {}
1115:   constexpr uint128_fallback(uint64_t value = 0) : lo_(value), hi_(0) {}
1115: 
1115:   constexpr uint64_t high() const noexcept { return hi_; }
1115:   constexpr uint64_t low() const noexcept { return lo_; }
1115: 
1115:   template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1115:   constexpr explicit operator T() const {
1115:     return static_cast<T>(lo_);
1115:   }
1115: 
1115:   friend constexpr auto operator==(const uint128_fallback& lhs,
1115:                                    const uint128_fallback& rhs) -> bool {
1115:     return lhs.hi_ == rhs.hi_ && lhs.lo_ == rhs.lo_;
1115:   }
1115:   friend constexpr auto operator!=(const uint128_fallback& lhs,
1115:                                    const uint128_fallback& rhs) -> bool {
1115:     return !(lhs == rhs);
1115:   }
1115:   friend constexpr auto operator>(const uint128_fallback& lhs,
1115:                                   const uint128_fallback& rhs) -> bool {
1115:     return lhs.hi_ != rhs.hi_ ? lhs.hi_ > rhs.hi_ : lhs.lo_ > rhs.lo_;
1115:   }
1115:   friend constexpr auto operator|(const uint128_fallback& lhs,
1115:                                   const uint128_fallback& rhs)
1115:       -> uint128_fallback {
1115:     return {lhs.hi_ | rhs.hi_, lhs.lo_ | rhs.lo_};
1115:   }
1115:   friend constexpr auto operator&(const uint128_fallback& lhs,
1115:                                   const uint128_fallback& rhs)
1115:       -> uint128_fallback {
1115:     return {lhs.hi_ & rhs.hi_, lhs.lo_ & rhs.lo_};
1115:   }
1115:   friend auto operator+(const uint128_fallback& lhs,
1115:                         const uint128_fallback& rhs) -> uint128_fallback {
1115:     auto result = uint128_fallback(lhs);
1115:     result += rhs;
1115:     return result;
1115:   }
1115:   friend auto operator*(const uint128_fallback& lhs, uint32_t rhs)
1115:       -> uint128_fallback {
1115:     ::fmt::detail::ignore_unused((lhs.hi_ == 0), (""));
1115:     uint64_t hi = (lhs.lo_ >> 32) * rhs;
1115:     uint64_t lo = (lhs.lo_ & ~uint32_t()) * rhs;
1115:     uint64_t new_lo = (hi << 32) + lo;
1115:     return {(hi >> 32) + (new_lo < lo ? 1 : 0), new_lo};
1115:   }
1115:   friend auto operator-(const uint128_fallback& lhs, uint64_t rhs)
1115:       -> uint128_fallback {
1115:     return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs};
1115:   }
1115:   constexpr auto operator>>(int shift) const -> uint128_fallback {
1115:     if (shift == 64) return {0, hi_};
1115:     if (shift > 64) return uint128_fallback(0, hi_) >> (shift - 64);
1115:     return {hi_ >> shift, (hi_ << (64 - shift)) | (lo_ >> shift)};
1115:   }
1115:   constexpr auto operator<<(int shift) const -> uint128_fallback {
1115:     if (shift == 64) return {lo_, 0};
1115:     if (shift > 64) return uint128_fallback(lo_, 0) << (shift - 64);
1115:     return {hi_ << shift | (lo_ >> (64 - shift)), (lo_ << shift)};
1115:   }
1115:   constexpr auto operator>>=(int shift) -> uint128_fallback& {
1115:     return *this = *this >> shift;
1115:   }
1115:   constexpr void operator+=(uint128_fallback n) {
1115:     uint64_t new_lo = lo_ + n.lo_;
1115:     uint64_t new_hi = hi_ + n.hi_ + (new_lo < lo_ ? 1 : 0);
1115:     ::fmt::detail::ignore_unused((new_hi >= hi_), (""));
1115:     lo_ = new_lo;
1115:     hi_ = new_hi;
1115:   }
1115: 
1115:   uint128_fallback& operator+=(uint64_t n) noexcept {
1115:     if (is_constant_evaluated()) {
1115:       lo_ += n;
1115:       hi_ += (lo_ < n ? 1 : 0);
1115:       return *this;
1115:     }
1115: # 420 "/usr/include/fmt/format.h" 3 4
1115:     lo_ += n;
1115:     hi_ += (lo_ < n ? 1 : 0);
1115: 
1115:     return *this;
1115:   }
1115: };
1115: 
1115: using uint128_t = conditional_t<0, uint128_opt, uint128_fallback>;
1115: 
1115: 
1115: using uintptr_t = ::uintptr_t;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename T> constexpr auto max_value() -> T {
1115:   return (std::numeric_limits<T>::max)();
1115: }
1115: template <typename T> constexpr auto num_bits() -> int {
1115:   return std::numeric_limits<T>::digits;
1115: }
1115: 
1115: template <> constexpr auto num_bits<int128_opt>() -> int { return 128; }
1115: template <> constexpr auto num_bits<uint128_t>() -> int { return 128; }
1115: 
1115: 
1115: 
1115: template <typename To, typename From, enable_if_t<(sizeof(To) > sizeof(From)), int> = 0>
1115: inline auto bit_cast(const From& from) -> To {
1115:   constexpr auto size = static_cast<int>(sizeof(From) / sizeof(unsigned));
1115:   struct data_t {
1115:     unsigned value[static_cast<unsigned>(size)];
1115:   } data = bit_cast<data_t>(from);
1115:   auto result = To();
1115:   if (const_check(is_big_endian())) {
1115:     for (int i = 0; i < size; ++i)
1115:       result = (result << num_bits<unsigned>()) | data.value[i];
1115:   } else {
1115:     for (int i = size - 1; i >= 0; --i)
1115:       result = (result << num_bits<unsigned>()) | data.value[i];
1115:   }
1115:   return result;
1115: }
1115: 
1115: inline __attribute__((always_inline)) void assume(bool condition) {
1115:   (void)condition;
1115: 
1115: 
1115: 
1115: }
1115: 
1115: 
1115: template <typename T>
1115: using iterator_t = decltype(std::begin(std::declval<T&>()));
1115: template <typename T> using sentinel_t = decltype(std::end(std::declval<T&>()));
1115: 
1115: 
1115: template <typename Char>
1115: inline auto get_data(std::basic_string<Char>& s) -> Char* {
1115:   return &s[0];
1115: }
1115: template <typename Container>
1115: inline auto get_data(Container& c) -> typename Container::value_type* {
1115:   return c.data();
1115: }
1115: # 496 "/usr/include/fmt/format.h" 3 4
1115: template <typename T> using checked_ptr = T*;
1115: template <typename T> constexpr auto make_checked(T* p, size_t) -> T* {
1115:   return p;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1115: 
1115: 
1115: 
1115: inline auto
1115: reserve(std::back_insert_iterator<Container> it, size_t n)
1115:     -> checked_ptr<typename Container::value_type> {
1115:   Container& c = get_container(it);
1115:   size_t size = c.size();
1115:   c.resize(size + n);
1115:   return make_checked(get_data(c) + size, n);
1115: }
1115: 
1115: template <typename T>
1115: inline auto reserve(buffer_appender<T> it, size_t n) -> buffer_appender<T> {
1115:   buffer<T>& buf = get_container(it);
1115:   buf.try_reserve(buf.size() + n);
1115:   return it;
1115: }
1115: 
1115: template <typename Iterator>
1115: constexpr auto reserve(Iterator& it, size_t) -> Iterator& {
1115:   return it;
1115: }
1115: 
1115: template <typename OutputIt>
1115: using reserve_iterator =
1115:     remove_reference_t<decltype(reserve(std::declval<OutputIt&>(), 0))>;
1115: 
1115: template <typename T, typename OutputIt>
1115: constexpr auto to_pointer(OutputIt, size_t) -> T* {
1115:   return nullptr;
1115: }
1115: template <typename T> auto to_pointer(buffer_appender<T> it, size_t n) -> T* {
1115:   buffer<T>& buf = get_container(it);
1115:   auto size = buf.size();
1115:   if (buf.capacity() < size + n) return nullptr;
1115:   buf.try_resize(size + n);
1115:   return buf.data() + size;
1115: }
1115: 
1115: template <typename Container, enable_if_t<(is_contiguous<Container>::value), int> = 0>
1115: inline auto base_iterator(std::back_insert_iterator<Container>& it,
1115:                           checked_ptr<typename Container::value_type>)
1115:     -> std::back_insert_iterator<Container> {
1115:   return it;
1115: }
1115: 
1115: template <typename Iterator>
1115: constexpr auto base_iterator(Iterator, Iterator it) -> Iterator {
1115:   return it;
1115: }
1115: 
1115: 
1115: 
1115: template <typename OutputIt, typename Size, typename T>
1115: constexpr auto fill_n(OutputIt out, Size count, const T& value)
1115:     -> OutputIt {
1115:   for (Size i = 0; i < count; ++i) *out++ = value;
1115:   return out;
1115: }
1115: template <typename T, typename Size>
1115:  auto fill_n(T* out, Size count, char value) -> T* {
1115:   if (is_constant_evaluated()) {
1115:     return fill_n<T*, Size, T>(out, count, value);
1115:   }
1115:   std::memset(out, value, to_unsigned(count));
1115:   return out + count;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: enum char8_type : unsigned char {};
1115: 
1115: 
1115: template <typename OutChar, typename InputIt, typename OutputIt>
1115: constexpr __attribute__((noinline)) auto copy_str_noinline(InputIt begin, InputIt end,
1115:                                                   OutputIt out) -> OutputIt {
1115:   return copy_str<OutChar>(begin, end, out);
1115: }
1115: # 603 "/usr/include/fmt/format.h" 3 4
1115: constexpr inline auto utf8_decode(const char* s, uint32_t* c, int* e)
1115:     -> const char* {
1115:   constexpr const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07};
1115:   constexpr const uint32_t mins[] = {4194304, 0, 128, 2048, 65536};
1115:   constexpr const int shiftc[] = {0, 18, 12, 6, 0};
1115:   constexpr const int shifte[] = {0, 6, 4, 2, 0};
1115: 
1115:   int len = code_point_length_impl(*s);
1115: 
1115: 
1115: 
1115:   const char* next = s + len + !len;
1115: 
1115:   using uchar = unsigned char;
1115: 
1115: 
1115: 
1115:   *c = uint32_t(uchar(s[0]) & masks[len]) << 18;
1115:   *c |= uint32_t(uchar(s[1]) & 0x3f) << 12;
1115:   *c |= uint32_t(uchar(s[2]) & 0x3f) << 6;
1115:   *c |= uint32_t(uchar(s[3]) & 0x3f) << 0;
1115:   *c >>= shiftc[len];
1115: 
1115: 
1115:   *e = (*c < mins[len]) << 6;
1115:   *e |= ((*c >> 11) == 0x1b) << 7;
1115:   *e |= (*c > 0x10FFFF) << 8;
1115:   *e |= (uchar(s[1]) & 0xc0) >> 2;
1115:   *e |= (uchar(s[2]) & 0xc0) >> 4;
1115:   *e |= uchar(s[3]) >> 6;
1115:   *e ^= 0x2a;
1115:   *e >>= shifte[len];
1115: 
1115:   return next;
1115: }
1115: 
1115: constexpr uint32_t invalid_code_point = ~uint32_t();
1115: 
1115: 
1115: 
1115: template <typename F>
1115: constexpr void for_each_codepoint(string_view s, F f) {
1115:   auto decode = [f](const char* buf_ptr, const char* ptr) {
1115:     auto cp = uint32_t();
1115:     auto error = 0;
1115:     auto end = utf8_decode(buf_ptr, &cp, &error);
1115:     bool result = f(error ? invalid_code_point : cp,
1115:                     string_view(ptr, error ? 1 : to_unsigned(end - buf_ptr)));
1115:     return result ? (error ? buf_ptr + 1 : end) : nullptr;
1115:   };
1115:   auto p = s.data();
1115:   const size_t block_size = 4;
1115:   if (s.size() >= block_size) {
1115:     for (auto end = p + s.size() - block_size + 1; p < end;) {
1115:       p = decode(p, p);
1115:       if (!p) return;
1115:     }
1115:   }
1115:   if (auto num_chars_left = s.data() + s.size() - p) {
1115:     char buf[2 * block_size - 1] = {};
1115:     copy_str<char>(p, p + num_chars_left, buf);
1115:     const char* buf_ptr = buf;
1115:     do {
1115:       auto end = decode(buf_ptr, p);
1115:       if (!end) return;
1115:       p += end - buf_ptr;
1115:       buf_ptr = end;
1115:     } while (buf_ptr - buf < num_chars_left);
1115:   }
1115: }
1115: 
1115: template <typename Char>
1115: inline auto compute_width(basic_string_view<Char> s) -> size_t {
1115:   return s.size();
1115: }
1115: 
1115: 
1115: constexpr inline size_t compute_width(string_view s) {
1115:   size_t num_code_points = 0;
1115: 
1115:   struct count_code_points {
1115:     size_t* count;
1115:     constexpr auto operator()(uint32_t cp, string_view) const -> bool {
1115:       *count += detail::to_unsigned(
1115:           1 +
1115:           (cp >= 0x1100 &&
1115:            (cp <= 0x115f ||
1115:             cp == 0x2329 ||
1115:             cp == 0x232a ||
1115: 
1115:             (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
1115:             (cp >= 0xac00 && cp <= 0xd7a3) ||
1115:             (cp >= 0xf900 && cp <= 0xfaff) ||
1115:             (cp >= 0xfe10 && cp <= 0xfe19) ||
1115:             (cp >= 0xfe30 && cp <= 0xfe6f) ||
1115:             (cp >= 0xff00 && cp <= 0xff60) ||
1115:             (cp >= 0xffe0 && cp <= 0xffe6) ||
1115:             (cp >= 0x20000 && cp <= 0x2fffd) ||
1115:             (cp >= 0x30000 && cp <= 0x3fffd) ||
1115: 
1115:             (cp >= 0x1f300 && cp <= 0x1f64f) ||
1115: 
1115:             (cp >= 0x1f900 && cp <= 0x1f9ff))));
1115:       return true;
1115:     }
1115:   };
1115:   for_each_codepoint(s, count_code_points{&num_code_points});
1115:   return num_code_points;
1115: }
1115: 
1115: inline auto compute_width(basic_string_view<char8_type> s) -> size_t {
1115:   return compute_width(
1115:       string_view(reinterpret_cast<const char*>(s.data()), s.size()));
1115: }
1115: 
1115: template <typename Char>
1115: inline auto code_point_index(basic_string_view<Char> s, size_t n) -> size_t {
1115:   size_t size = s.size();
1115:   return n < size ? n : size;
1115: }
1115: 
1115: 
1115: inline auto code_point_index(string_view s, size_t n) -> size_t {
1115:   const char* data = s.data();
1115:   size_t num_code_points = 0;
1115:   for (size_t i = 0, size = s.size(); i != size; ++i) {
1115:     if ((data[i] & 0xc0) != 0x80 && ++num_code_points > n) return i;
1115:   }
1115:   return s.size();
1115: }
1115: 
1115: inline auto code_point_index(basic_string_view<char8_type> s, size_t n)
1115:     -> size_t {
1115:   return code_point_index(
1115:       string_view(reinterpret_cast<const char*>(s.data()), s.size()), n);
1115: }
1115: # 750 "/usr/include/fmt/format.h" 3 4
1115: using float128 = void;
1115: 
1115: template <typename T> using is_float128 = std::is_same<T, float128>;
1115: 
1115: template <typename T>
1115: using is_floating_point =
1115:     bool_constant<std::is_floating_point<T>::value || is_float128<T>::value>;
1115: 
1115: template <typename T, bool = std::is_floating_point<T>::value>
1115: struct is_fast_float : bool_constant<std::numeric_limits<T>::is_iec559 &&
1115:                                      sizeof(T) <= sizeof(double)> {};
1115: template <typename T> struct is_fast_float<T, false> : std::false_type {};
1115: 
1115: template <typename T>
1115: using is_double_double = bool_constant<std::numeric_limits<T>::digits == 106>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename T>
1115: template <typename U>
1115: void buffer<T>::append(const U* begin, const U* end) {
1115:   while (begin != end) {
1115:     auto count = to_unsigned(end - begin);
1115:     try_reserve(size_ + count);
1115:     auto free_cap = capacity_ - size_;
1115:     if (free_cap < count) count = free_cap;
1115:     std::uninitialized_copy_n(begin, count, make_checked(ptr_ + size_, count));
1115:     size_ += count;
1115:     begin += count;
1115:   }
1115: }
1115: 
1115: template <typename T, typename Enable = void>
1115: struct is_locale : std::false_type {};
1115: template <typename T>
1115: struct is_locale<T, void_t<decltype(T::classic())>> : std::true_type {};
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: enum { inline_buffer_size = 500 };
1115: # 817 "/usr/include/fmt/format.h" 3 4
1115: template <typename T, size_t SIZE = inline_buffer_size,
1115:           typename Allocator = std::allocator<T>>
1115: class basic_memory_buffer final : public detail::buffer<T> {
1115:  private:
1115:   T store_[SIZE];
1115: 
1115: 
1115:   Allocator alloc_;
1115: 
1115: 
1115:   void deallocate() {
1115:     T* data = this->data();
1115:     if (data != store_) alloc_.deallocate(data, this->capacity());
1115:   }
1115: 
1115:  protected:
1115:   void grow(size_t size) override;
1115: 
1115:  public:
1115:   using value_type = T;
1115:   using const_reference = const T&;
1115: 
1115:   explicit basic_memory_buffer(
1115:       const Allocator& alloc = Allocator())
1115:       : alloc_(alloc) {
1115:     this->set(store_, SIZE);
1115:     if (detail::is_constant_evaluated()) detail::fill_n(store_, SIZE, T());
1115:   }
1115:   ~basic_memory_buffer() { deallocate(); }
1115: 
1115:  private:
1115: 
1115:   void move(basic_memory_buffer& other) {
1115:     alloc_ = std::move(other.alloc_);
1115:     T* data = other.data();
1115:     size_t size = other.size(), capacity = other.capacity();
1115:     if (data == other.store_) {
1115:       this->set(store_, capacity);
1115:       detail::copy_str<T>(other.store_, other.store_ + size,
1115:                           detail::make_checked(store_, capacity));
1115:     } else {
1115:       this->set(data, capacity);
1115: 
1115: 
1115:       other.set(other.store_, 0);
1115:       other.clear();
1115:     }
1115:     this->resize(size);
1115:   }
1115: 
1115:  public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   basic_memory_buffer(basic_memory_buffer&& other) noexcept {
1115:     move(other);
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   auto operator=(basic_memory_buffer&& other) noexcept -> basic_memory_buffer& {
1115:     ::fmt::detail::ignore_unused((this != &other), (""));
1115:     deallocate();
1115:     move(other);
1115:     return *this;
1115:   }
1115: 
1115: 
1115:   auto get_allocator() const -> Allocator { return alloc_; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   void resize(size_t count) { this->try_resize(count); }
1115: 
1115: 
1115:   void reserve(size_t new_capacity) { this->try_reserve(new_capacity); }
1115: 
1115: 
1115:   using detail::buffer<T>::append;
1115:   template <typename ContiguousRange>
1115:   void append(const ContiguousRange& range) {
1115:     append(range.data(), range.data() + range.size());
1115:   }
1115: };
1115: 
1115: template <typename T, size_t SIZE, typename Allocator>
1115:  void basic_memory_buffer<T, SIZE, Allocator>::grow(
1115:     size_t size) {
1115:   detail::abort_fuzzing_if(size > 5000);
1115:   const size_t max_size = std::allocator_traits<Allocator>::max_size(alloc_);
1115:   size_t old_capacity = this->capacity();
1115:   size_t new_capacity = old_capacity + old_capacity / 2;
1115:   if (size > new_capacity)
1115:     new_capacity = size;
1115:   else if (new_capacity > max_size)
1115:     new_capacity = size > max_size ? size : max_size;
1115:   T* old_data = this->data();
1115:   T* new_data =
1115:       std::allocator_traits<Allocator>::allocate(alloc_, new_capacity);
1115: 
1115:   std::uninitialized_copy(old_data, old_data + this->size(),
1115:                           detail::make_checked(new_data, new_capacity));
1115:   this->set(new_data, new_capacity);
1115: 
1115: 
1115: 
1115:   if (old_data != store_) alloc_.deallocate(old_data, old_capacity);
1115: }
1115: 
1115: using memory_buffer = basic_memory_buffer<char>;
1115: 
1115: template <typename T, size_t SIZE, typename Allocator>
1115: struct is_contiguous<basic_memory_buffer<T, SIZE, Allocator>> : std::true_type {
1115: };
1115: 
1115: namespace detail {
1115: 
1115: 
1115: 
1115:  void print(std::FILE*, string_view);
1115: }
1115: 
1115: 
1115: 
1115: class format_error : public std::runtime_error {
1115:  public:
1115:   explicit format_error(const char* message) : std::runtime_error(message) {}
1115:   explicit format_error(const std::string& message)
1115:       : std::runtime_error(message) {}
1115:   format_error(const format_error&) = default;
1115:   format_error& operator=(const format_error&) = default;
1115:   format_error(format_error&&) = default;
1115:   format_error& operator=(format_error&&) = default;
1115:   ~format_error() noexcept override ;
1115: };
1115: 
1115: namespace detail_exported {
1115: # 973 "/usr/include/fmt/format.h" 3 4
1115: template <typename Char, size_t N>
1115: constexpr auto compile_string_to_view(const Char (&s)[N])
1115:     -> basic_string_view<Char> {
1115: 
1115: 
1115:   return {s, N - (std::char_traits<Char>::to_int_type(s[N - 1]) == 0 ? 1 : 0)};
1115: }
1115: template <typename Char>
1115: constexpr auto compile_string_to_view(detail::std_string_view<Char> s)
1115:     -> basic_string_view<Char> {
1115:   return {s.data(), s.size()};
1115: }
1115: }
1115: 
1115: namespace detail {
1115: 
1115: template <typename T> struct is_integral : std::is_integral<T> {};
1115: template <> struct is_integral<int128_opt> : std::true_type {};
1115: template <> struct is_integral<uint128_t> : std::true_type {};
1115: 
1115: template <typename T>
1115: using is_signed =
1115:     std::integral_constant<bool, std::numeric_limits<T>::is_signed ||
1115:                                      std::is_same<T, int128_opt>::value>;
1115: 
1115: 
1115: 
1115: template <typename T, enable_if_t<(is_signed<T>::value), int> = 0>
1115: constexpr auto is_negative(T value) -> bool {
1115:   return value < 0;
1115: }
1115: template <typename T, enable_if_t<(!is_signed<T>::value), int> = 0>
1115: constexpr auto is_negative(T) -> bool {
1115:   return false;
1115: }
1115: 
1115: template <typename T>
1115: constexpr auto is_supported_floating_point(T) -> bool {
1115:   if (std::is_same<T, float>()) return 1;
1115:   if (std::is_same<T, double>()) return 1;
1115:   if (std::is_same<T, long double>()) return 1;
1115:   return true;
1115: }
1115: 
1115: 
1115: 
1115: template <typename T>
1115: using uint32_or_64_or_128_t =
1115:     conditional_t<num_bits<T>() <= 32 && !0,
1115:                   uint32_t,
1115:                   conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>>;
1115: template <typename T>
1115: using uint64_or_128_t = conditional_t<num_bits<T>() <= 64, uint64_t, uint128_t>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr const char* digits2(size_t value) {
1115: 
1115:   return &"0001020304050607080910111213141516171819"
1115:          "2021222324252627282930313233343536373839"
1115:          "4041424344454647484950515253545556575859"
1115:          "6061626364656667686970717273747576777879"
1115:          "8081828384858687888990919293949596979899"[value * 2];
1115: }
1115: 
1115: 
1115: template <typename Char, typename Sign> constexpr Char sign(Sign s) {
1115: 
1115:   static_assert(std::is_same<Sign, sign_t>::value, "");
1115: 
1115:   return static_cast<Char>("\0-+ "[s]);
1115: }
1115: 
1115: template <typename T> constexpr auto count_digits_fallback(T n) -> int {
1115:   int count = 1;
1115:   for (;;) {
1115: 
1115: 
1115: 
1115:     if (n < 10) return count;
1115:     if (n < 100) return count + 1;
1115:     if (n < 1000) return count + 2;
1115:     if (n < 10000) return count + 3;
1115:     n /= 10000u;
1115:     count += 4;
1115:   }
1115: }
1115: # 1073 "/usr/include/fmt/format.h" 3 4
1115: inline auto do_count_digits(uint64_t n) -> int {
1115: 
1115: 
1115: 
1115: 
1115:   static constexpr uint8_t bsr2log10[] = {
1115:       1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,
1115:       6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10,
1115:       10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15,
1115:       15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20};
1115:   auto t = bsr2log10[__builtin_clzll(n | 1) ^ 63];
1115:   static constexpr const uint64_t zero_or_powers_of_10[] = {
1115:       0, 0, 1U * 10, (1U)*100, (1U)*1000, (1U)*10000, (1U)*100000, (1U)*1000000, (1U)*10000000, (1U)*100000000, (1U)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1115:       10000000000000000000ULL};
1115:   return t - (n < zero_or_powers_of_10[t]);
1115: }
1115: 
1115: 
1115: 
1115: 
1115:  inline auto count_digits(uint64_t n) -> int {
1115: 
1115:   if (!is_constant_evaluated()) {
1115:     return do_count_digits(n);
1115:   }
1115: 
1115:   return count_digits_fallback(n);
1115: }
1115: 
1115: 
1115: template <int BITS, typename UInt>
1115: constexpr auto count_digits(UInt n) -> int {
1115: 
1115:   if (!is_constant_evaluated() && num_bits<UInt>() == 32)
1115:     return (__builtin_clz(static_cast<uint32_t>(n) | 1) ^ 31) / BITS + 1;
1115: 
1115: 
1115:   return [](UInt m) {
1115:     int num_digits = 0;
1115:     do {
1115:       ++num_digits;
1115:     } while ((m >>= BITS) != 0);
1115:     return num_digits;
1115:   }(n);
1115: }
1115: 
1115: 
1115: 
1115: 
1115: inline __attribute__((always_inline)) auto do_count_digits(uint32_t n) -> int {
1115: 
1115: 
1115: 
1115:   static constexpr uint64_t table[] = {
1115:       (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0), (((sizeof("0") - 1ull) << 32) - 0),
1115:       (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10), (((sizeof("10") - 1ull) << 32) - 10),
1115:       (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100), (((sizeof("100") - 1ull) << 32) - 100),
1115:       (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000), (((sizeof("1000") - 1ull) << 32) - 1000),
1115:       (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000), (((sizeof("10000") - 1ull) << 32) - 10000),
1115:       (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000), (((sizeof("100000") - 1ull) << 32) - 100000),
1115:       (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000), (((sizeof("1000000") - 1ull) << 32) - 1000000),
1115:       (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000), (((sizeof("10000000") - 1ull) << 32) - 10000000),
1115:       (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000), (((sizeof("100000000") - 1ull) << 32) - 100000000),
1115:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000),
1115:       (((sizeof("1000000000") - 1ull) << 32) - 1000000000), (((sizeof("1000000000") - 1ull) << 32) - 1000000000)
1115:   };
1115:   auto inc = table[__builtin_clz(n | 1) ^ 31];
1115:   return static_cast<int>((n + inc) >> 32);
1115: }
1115: 
1115: 
1115: 
1115:  inline auto count_digits(uint32_t n) -> int {
1115: 
1115:   if (!is_constant_evaluated()) {
1115:     return do_count_digits(n);
1115:   }
1115: 
1115:   return count_digits_fallback(n);
1115: }
1115: 
1115: template <typename Int> constexpr auto digits10() noexcept -> int {
1115:   return std::numeric_limits<Int>::digits10;
1115: }
1115: template <> constexpr auto digits10<int128_opt>() noexcept -> int { return 38; }
1115: template <> constexpr auto digits10<uint128_t>() noexcept -> int { return 38; }
1115: 
1115: template <typename Char> struct thousands_sep_result {
1115:   std::string grouping;
1115:   Char thousands_sep;
1115: };
1115: 
1115: template <typename Char>
1115:  auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result<Char>;
1115: template <typename Char>
1115: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<Char> {
1115:   auto result = thousands_sep_impl<char>(loc);
1115:   return {result.grouping, Char(result.thousands_sep)};
1115: }
1115: template <>
1115: inline auto thousands_sep(locale_ref loc) -> thousands_sep_result<wchar_t> {
1115:   return thousands_sep_impl<wchar_t>(loc);
1115: }
1115: 
1115: template <typename Char>
1115:  auto decimal_point_impl(locale_ref loc) -> Char;
1115: template <typename Char> inline auto decimal_point(locale_ref loc) -> Char {
1115:   return Char(decimal_point_impl<char>(loc));
1115: }
1115: template <> inline auto decimal_point(locale_ref loc) -> wchar_t {
1115:   return decimal_point_impl<wchar_t>(loc);
1115: }
1115: 
1115: 
1115: template <typename Char> auto equal2(const Char* lhs, const char* rhs) -> bool {
1115:   return lhs[0] == Char(rhs[0]) && lhs[1] == Char(rhs[1]);
1115: }
1115: inline auto equal2(const char* lhs, const char* rhs) -> bool {
1115:   return memcmp(lhs, rhs, 2) == 0;
1115: }
1115: 
1115: 
1115: template <typename Char>
1115:  inline __attribute__((always_inline)) void copy2(Char* dst, const char* src) {
1115:   if (!is_constant_evaluated() && sizeof(Char) == sizeof(char)) {
1115:     memcpy(dst, src, 2);
1115:     return;
1115:   }
1115:   *dst++ = static_cast<Char>(*src++);
1115:   *dst = static_cast<Char>(*src);
1115: }
1115: 
1115: template <typename Iterator> struct format_decimal_result {
1115:   Iterator begin;
1115:   Iterator end;
1115: };
1115: 
1115: 
1115: 
1115: 
1115: template <typename Char, typename UInt>
1115:  auto format_decimal(Char* out, UInt value, int size)
1115:     -> format_decimal_result<Char*> {
1115:   ::fmt::detail::ignore_unused((size >= count_digits(value)), ("invalid digit count"));
1115:   out += size;
1115:   Char* end = out;
1115:   while (value >= 100) {
1115: 
1115: 
1115: 
1115:     out -= 2;
1115:     copy2(out, digits2(static_cast<size_t>(value % 100)));
1115:     value /= 100;
1115:   }
1115:   if (value < 10) {
1115:     *--out = static_cast<Char>('0' + value);
1115:     return {out, end};
1115:   }
1115:   out -= 2;
1115:   copy2(out, digits2(static_cast<size_t>(value)));
1115:   return {out, end};
1115: }
1115: 
1115: template <typename Char, typename UInt, typename Iterator,
1115:           enable_if_t<(!std::is_pointer<remove_cvref_t<Iterator>>::value), int> = 0>
1115: constexpr inline auto format_decimal(Iterator out, UInt value, int size)
1115:     -> format_decimal_result<Iterator> {
1115: 
1115:   Char buffer[digits10<UInt>() + 1];
1115:   auto end = format_decimal(buffer, value, size).end;
1115:   return {out, detail::copy_str_noinline<Char>(buffer, end, out)};
1115: }
1115: 
1115: template <unsigned BASE_BITS, typename Char, typename UInt>
1115: constexpr auto format_uint(Char* buffer, UInt value, int num_digits,
1115:                                bool upper = false) -> Char* {
1115:   buffer += num_digits;
1115:   Char* end = buffer;
1115:   do {
1115:     const char* digits = upper ? "0123456789ABCDEF" : "0123456789abcdef";
1115:     unsigned digit = static_cast<unsigned>(value & ((1 << BASE_BITS) - 1));
1115:     *--buffer = static_cast<Char>(BASE_BITS < 4 ? static_cast<char>('0' + digit)
1115:                                                 : digits[digit]);
1115:   } while ((value >>= BASE_BITS) != 0);
1115:   return end;
1115: }
1115: 
1115: template <unsigned BASE_BITS, typename Char, typename It, typename UInt>
1115: inline auto format_uint(It out, UInt value, int num_digits, bool upper = false)
1115:     -> It {
1115:   if (auto ptr = to_pointer<Char>(out, to_unsigned(num_digits))) {
1115:     format_uint<BASE_BITS>(ptr, value, num_digits, upper);
1115:     return out;
1115:   }
1115: 
1115:   char buffer[num_bits<UInt>() / BASE_BITS + 1];
1115:   format_uint<BASE_BITS>(buffer, value, num_digits, upper);
1115:   return detail::copy_str_noinline<Char>(buffer, buffer + num_digits, out);
1115: }
1115: 
1115: 
1115: class utf8_to_utf16 {
1115:  private:
1115:   basic_memory_buffer<wchar_t> buffer_;
1115: 
1115:  public:
1115:   explicit utf8_to_utf16(string_view s);
1115:   operator basic_string_view<wchar_t>() const { return {&buffer_[0], size()}; }
1115:   auto size() const -> size_t { return buffer_.size() - 1; }
1115:   auto c_str() const -> const wchar_t* { return &buffer_[0]; }
1115:   auto str() const -> std::wstring { return {&buffer_[0], size()}; }
1115: };
1115: 
1115: namespace dragonbox {
1115: 
1115: 
1115: template <typename T, typename Enable = void> struct float_info;
1115: 
1115: template <> struct float_info<float> {
1115:   using carrier_uint = uint32_t;
1115:   static const int exponent_bits = 8;
1115:   static const int kappa = 1;
1115:   static const int big_divisor = 100;
1115:   static const int small_divisor = 10;
1115:   static const int min_k = -31;
1115:   static const int max_k = 46;
1115:   static const int shorter_interval_tie_lower_threshold = -35;
1115:   static const int shorter_interval_tie_upper_threshold = -35;
1115: };
1115: 
1115: template <> struct float_info<double> {
1115:   using carrier_uint = uint64_t;
1115:   static const int exponent_bits = 11;
1115:   static const int kappa = 2;
1115:   static const int big_divisor = 1000;
1115:   static const int small_divisor = 100;
1115:   static const int min_k = -292;
1115:   static const int max_k = 326;
1115:   static const int shorter_interval_tie_lower_threshold = -77;
1115:   static const int shorter_interval_tie_upper_threshold = -77;
1115: };
1115: 
1115: 
1115: template <typename T>
1115: struct float_info<T, enable_if_t<std::numeric_limits<T>::digits == 64 ||
1115:                                  std::numeric_limits<T>::digits == 113 ||
1115:                                  is_float128<T>::value>> {
1115:   using carrier_uint = detail::uint128_t;
1115:   static const int exponent_bits = 15;
1115: };
1115: 
1115: 
1115: template <typename T>
1115: struct float_info<T, enable_if_t<is_double_double<T>::value>> {
1115:   using carrier_uint = detail::uint128_t;
1115: };
1115: 
1115: template <typename T> struct decimal_fp {
1115:   using significand_type = typename float_info<T>::carrier_uint;
1115:   significand_type significand;
1115:   int exponent;
1115: };
1115: 
1115: template <typename T> auto to_decimal(T x) noexcept -> decimal_fp<T>;
1115: }
1115: 
1115: 
1115: template <typename Float> constexpr bool has_implicit_bit() {
1115: 
1115:   return std::numeric_limits<Float>::digits != 64;
1115: }
1115: 
1115: 
1115: 
1115: template <typename Float> constexpr int num_significand_bits() {
1115: 
1115:   return is_float128<Float>() ? 112
1115:                               : (std::numeric_limits<Float>::digits -
1115:                                  (has_implicit_bit<Float>() ? 1 : 0));
1115: }
1115: 
1115: template <typename Float>
1115: constexpr auto exponent_mask() ->
1115:     typename dragonbox::float_info<Float>::carrier_uint {
1115:   using uint = typename dragonbox::float_info<Float>::carrier_uint;
1115:   return ((uint(1) << dragonbox::float_info<Float>::exponent_bits) - 1)
1115:          << num_significand_bits<Float>();
1115: }
1115: template <typename Float> constexpr auto exponent_bias() -> int {
1115: 
1115:   return is_float128<Float>() ? 16383
1115:                               : std::numeric_limits<Float>::max_exponent - 1;
1115: }
1115: 
1115: 
1115: template <typename Char, typename It>
1115: constexpr auto write_exponent(int exp, It it) -> It {
1115:   ::fmt::detail::ignore_unused((-10000 < exp && exp < 10000), ("exponent out of range"));
1115:   if (exp < 0) {
1115:     *it++ = static_cast<Char>('-');
1115:     exp = -exp;
1115:   } else {
1115:     *it++ = static_cast<Char>('+');
1115:   }
1115:   if (exp >= 100) {
1115:     const char* top = digits2(to_unsigned(exp / 100));
1115:     if (exp >= 1000) *it++ = static_cast<Char>(top[0]);
1115:     *it++ = static_cast<Char>(top[1]);
1115:     exp %= 100;
1115:   }
1115:   const char* d = digits2(to_unsigned(exp));
1115:   *it++ = static_cast<Char>(d[0]);
1115:   *it++ = static_cast<Char>(d[1]);
1115:   return it;
1115: }
1115: 
1115: 
1115: template <typename F> struct basic_fp {
1115:   F f;
1115:   int e;
1115: 
1115:   static constexpr const int num_significand_bits =
1115:       static_cast<int>(sizeof(F) * num_bits<unsigned char>());
1115: 
1115:   constexpr basic_fp() : f(0), e(0) {}
1115:   constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {}
1115: 
1115: 
1115:   template <typename Float> constexpr basic_fp(Float n) { assign(n); }
1115: 
1115: 
1115:   template <typename Float, enable_if_t<(!is_double_double<Float>::value), int> = 0>
1115:   constexpr auto assign(Float n) -> bool {
1115:     static_assert(std::numeric_limits<Float>::digits <= 113, "unsupported FP");
1115: 
1115:     using carrier_uint = typename dragonbox::float_info<Float>::carrier_uint;
1115:     const auto num_float_significand_bits =
1115:         detail::num_significand_bits<Float>();
1115:     const auto implicit_bit = carrier_uint(1) << num_float_significand_bits;
1115:     const auto significand_mask = implicit_bit - 1;
1115:     auto u = bit_cast<carrier_uint>(n);
1115:     f = static_cast<F>(u & significand_mask);
1115:     auto biased_e = static_cast<int>((u & exponent_mask<Float>()) >>
1115:                                      num_float_significand_bits);
1115: 
1115: 
1115:     auto is_predecessor_closer = f == 0 && biased_e > 1;
1115:     if (biased_e == 0)
1115:       biased_e = 1;
1115:     else if (has_implicit_bit<Float>())
1115:       f += static_cast<F>(implicit_bit);
1115:     e = biased_e - exponent_bias<Float>() - num_float_significand_bits;
1115:     if (!has_implicit_bit<Float>()) ++e;
1115:     return is_predecessor_closer;
1115:   }
1115: 
1115:   template <typename Float, enable_if_t<(is_double_double<Float>::value), int> = 0>
1115:   constexpr auto assign(Float n) -> bool {
1115:     static_assert(std::numeric_limits<double>::is_iec559, "unsupported FP");
1115:     return assign(static_cast<double>(n));
1115:   }
1115: };
1115: 
1115: using fp = basic_fp<unsigned long long>;
1115: 
1115: 
1115: template <int SHIFT = 0, typename F>
1115: constexpr basic_fp<F> normalize(basic_fp<F> value) {
1115: 
1115:   const auto implicit_bit = F(1) << num_significand_bits<double>();
1115:   const auto shifted_implicit_bit = implicit_bit << SHIFT;
1115:   while ((value.f & shifted_implicit_bit) == 0) {
1115:     value.f <<= 1;
1115:     --value.e;
1115:   }
1115: 
1115:   const auto offset = basic_fp<F>::num_significand_bits -
1115:                       num_significand_bits<double>() - SHIFT - 1;
1115:   value.f <<= offset;
1115:   value.e -= offset;
1115:   return value;
1115: }
1115: 
1115: 
1115: constexpr inline uint64_t multiply(uint64_t lhs, uint64_t rhs) {
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   uint64_t mask = (1ULL << 32) - 1;
1115:   uint64_t a = lhs >> 32, b = lhs & mask;
1115:   uint64_t c = rhs >> 32, d = rhs & mask;
1115:   uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d;
1115: 
1115:   uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31);
1115:   return ac + (ad >> 32) + (bc >> 32) + (mid >> 32);
1115: 
1115: }
1115: 
1115: constexpr inline fp operator*(fp x, fp y) {
1115:   return {multiply(x.f, y.f), x.e + y.e + 64};
1115: }
1115: 
1115: template <typename T = void> struct basic_data {
1115: 
1115: 
1115:   static constexpr uint64_t pow10_significands[87] = {
1115:       0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76,
1115:       0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df,
1115:       0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c,
1115:       0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5,
1115:       0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57,
1115:       0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7,
1115:       0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e,
1115:       0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996,
1115:       0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126,
1115:       0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053,
1115:       0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f,
1115:       0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b,
1115:       0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06,
1115:       0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb,
1115:       0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000,
1115:       0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984,
1115:       0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068,
1115:       0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8,
1115:       0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758,
1115:       0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85,
1115:       0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d,
1115:       0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25,
1115:       0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2,
1115:       0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a,
1115:       0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410,
1115:       0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129,
1115:       0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85,
1115:       0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841,
1115:       0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b,
1115:   };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static constexpr int16_t pow10_exponents[87] = {
1115:       -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954,
1115:       -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661,
1115:       -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369,
1115:       -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77,
1115:       -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216,
1115:       242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508,
1115:       534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800,
1115:       827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066};
1115: 
1115: 
1115: 
1115: 
1115:   static constexpr uint64_t power_of_10_64[20] = {
1115:       1, 1ULL * 10, (1ULL)*100, (1ULL)*1000, (1ULL)*10000, (1ULL)*100000, (1ULL)*1000000, (1ULL)*10000000, (1ULL)*100000000, (1ULL)*1000000000, 1000000000ULL * 10, (1000000000ULL)*100, (1000000000ULL)*1000, (1000000000ULL)*10000, (1000000000ULL)*100000, (1000000000ULL)*1000000, (1000000000ULL)*10000000, (1000000000ULL)*100000000, (1000000000ULL)*1000000000,
1115:       10000000000000000000ULL};
1115: };
1115: # 1544 "/usr/include/fmt/format.h" 3 4
1115: struct data : basic_data<> {};
1115: 
1115: 
1115: 
1115: constexpr inline fp get_cached_power(int min_exponent,
1115:                                          int& pow10_exponent) {
1115:   const int shift = 32;
1115: 
1115:   const int64_t significand = 0x4d104d427de7fbcc;
1115:   int index = static_cast<int>(
1115:       ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) +
1115:        ((int64_t(1) << shift) - 1))
1115:       >> 32
1115:   );
1115: 
1115:   const int first_dec_exp = -348;
1115: 
1115:   const int dec_exp_step = 8;
1115:   index = (index - first_dec_exp - 1) / dec_exp_step + 1;
1115:   pow10_exponent = first_dec_exp + index * dec_exp_step;
1115: 
1115: 
1115:   return {*(data::pow10_significands + index),
1115:           *(data::pow10_exponents + index)};
1115: }
1115: # 1578 "/usr/include/fmt/format.h" 3 4
1115: template <typename T>
1115: auto snprintf_float(T value, int precision, float_specs specs,
1115:                     buffer<char>& buf) -> int {
1115: 
1115:   ::fmt::detail::ignore_unused((buf.capacity() > buf.size()), ("empty buffer"));
1115:   ::fmt::detail::ignore_unused((specs.format == float_format::hex), (""));
1115:   static_assert(!std::is_same<T, float>::value, "");
1115: 
1115: 
1115:   char format[7];
1115:   char* format_ptr = format;
1115:   *format_ptr++ = '%';
1115:   if (specs.showpoint) *format_ptr++ = '#';
1115:   if (precision >= 0) {
1115:     *format_ptr++ = '.';
1115:     *format_ptr++ = '*';
1115:   }
1115:   if (std::is_same<T, long double>()) *format_ptr++ = 'L';
1115:   *format_ptr++ = specs.upper ? 'A' : 'a';
1115:   *format_ptr = '\0';
1115: 
1115: 
1115:   auto offset = buf.size();
1115:   for (;;) {
1115:     auto begin = buf.data() + offset;
1115:     auto capacity = buf.capacity() - offset;
1115:     abort_fuzzing_if(precision > 100000);
1115: 
1115: 
1115:     int (*snprintf_ptr)(char*, size_t, const char*, ...) = snprintf;
1115:     int result = precision >= 0
1115:                      ? snprintf_ptr(begin, capacity, format, precision, value)
1115:                      : snprintf_ptr(begin, capacity, format, value);
1115:     if (result < 0) {
1115: 
1115:       buf.try_reserve(buf.capacity() + 1);
1115:       continue;
1115:     }
1115:     auto size = to_unsigned(result);
1115: 
1115:     if (size < capacity) {
1115:       buf.try_resize(size + offset);
1115:       return 0;
1115:     }
1115:     buf.try_reserve(size + offset + 1);
1115:   }
1115: }
1115: 
1115: template <typename T>
1115: using convert_float_result =
1115:     conditional_t<std::is_same<T, float>::value || sizeof(T) == sizeof(double),
1115:                   double, T>;
1115: 
1115: template <typename T>
1115: constexpr auto convert_float(T value) -> convert_float_result<T> {
1115:   return static_cast<convert_float_result<T>>(value);
1115: }
1115: 
1115: template <typename OutputIt, typename Char>
1115: __attribute__((noinline)) constexpr auto fill(OutputIt it, size_t n,
1115:                                      const fill_t<Char>& fill) -> OutputIt {
1115:   auto fill_size = fill.size();
1115:   if (fill_size == 1) return detail::fill_n(it, n, fill[0]);
1115:   auto data = fill.data();
1115:   for (size_t i = 0; i < n; ++i)
1115:     it = copy_str<Char>(data, data + fill_size, it);
1115:   return it;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: template <align::type align = align::left, typename OutputIt, typename Char,
1115:           typename F>
1115: constexpr auto write_padded(OutputIt out,
1115:                                 const basic_format_specs<Char>& specs,
1115:                                 size_t size, size_t width, F&& f) -> OutputIt {
1115:   static_assert(align == align::left || align == align::right, "");
1115:   unsigned spec_width = to_unsigned(specs.width);
1115:   size_t padding = spec_width > width ? spec_width - width : 0;
1115: 
1115: 
1115:   auto* shifts = align == align::left ? "\x1f\x1f\x00\x01" : "\x00\x1f\x00\x01";
1115:   size_t left_padding = padding >> shifts[specs.align];
1115:   size_t right_padding = padding - left_padding;
1115:   auto it = reserve(out, size + padding * specs.fill.size());
1115:   if (left_padding != 0) it = fill(it, left_padding, specs.fill);
1115:   it = f(it);
1115:   if (right_padding != 0) it = fill(it, right_padding, specs.fill);
1115:   return base_iterator(out, it);
1115: }
1115: 
1115: template <align::type align = align::left, typename OutputIt, typename Char,
1115:           typename F>
1115: constexpr auto write_padded(OutputIt out, const basic_format_specs<Char>& specs,
1115:                             size_t size, F&& f) -> OutputIt {
1115:   return write_padded<align>(out, specs, size, size, f);
1115: }
1115: 
1115: template <align::type align = align::left, typename Char, typename OutputIt>
1115: constexpr auto write_bytes(OutputIt out, string_view bytes,
1115:                                const basic_format_specs<Char>& specs)
1115:     -> OutputIt {
1115:   return write_padded<align>(
1115:       out, specs, bytes.size(), [bytes](reserve_iterator<OutputIt> it) {
1115:         const char* data = bytes.data();
1115:         return copy_str<Char>(data, data + bytes.size(), it);
1115:       });
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename UIntPtr>
1115: auto write_ptr(OutputIt out, UIntPtr value,
1115:                const basic_format_specs<Char>* specs) -> OutputIt {
1115:   int num_digits = count_digits<4>(value);
1115:   auto size = to_unsigned(num_digits) + size_t(2);
1115:   auto write = [=](reserve_iterator<OutputIt> it) {
1115:     *it++ = static_cast<Char>('0');
1115:     *it++ = static_cast<Char>('x');
1115:     return format_uint<4, Char>(it, value, num_digits);
1115:   };
1115:   return specs ? write_padded<align::right>(out, *specs, size, write)
1115:                : base_iterator(out, write(reserve(out, size)));
1115: }
1115: 
1115: 
1115:  auto is_printable(uint32_t cp) -> bool;
1115: 
1115: inline auto needs_escape(uint32_t cp) -> bool {
1115:   return cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\' ||
1115:          !is_printable(cp);
1115: }
1115: 
1115: template <typename Char> struct find_escape_result {
1115:   const Char* begin;
1115:   const Char* end;
1115:   uint32_t cp;
1115: };
1115: 
1115: template <typename Char>
1115: using make_unsigned_char =
1115:     typename conditional_t<std::is_integral<Char>::value,
1115:                            std::make_unsigned<Char>,
1115:                            type_identity<uint32_t>>::type;
1115: 
1115: template <typename Char>
1115: auto find_escape(const Char* begin, const Char* end)
1115:     -> find_escape_result<Char> {
1115:   for (; begin != end; ++begin) {
1115:     uint32_t cp = static_cast<make_unsigned_char<Char>>(*begin);
1115:     if (const_check(sizeof(Char) == 1) && cp >= 0x80) continue;
1115:     if (needs_escape(cp)) return {begin, begin + 1, cp};
1115:   }
1115:   return {begin, nullptr, 0};
1115: }
1115: 
1115: inline auto find_escape(const char* begin, const char* end)
1115:     -> find_escape_result<char> {
1115:   if (!is_utf8()) return find_escape<char>(begin, end);
1115:   auto result = find_escape_result<char>{end, nullptr, 0};
1115:   for_each_codepoint(string_view(begin, to_unsigned(end - begin)),
1115:                      [&](uint32_t cp, string_view sv) {
1115:                        if (needs_escape(cp)) {
1115:                          result = {sv.begin(), sv.end(), cp};
1115:                          return false;
1115:                        }
1115:                        return true;
1115:                      });
1115:   return result;
1115: }
1115: # 1774 "/usr/include/fmt/format.h" 3 4
1115: template <size_t width, typename Char, typename OutputIt>
1115: auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt {
1115:   *out++ = static_cast<Char>('\\');
1115:   *out++ = static_cast<Char>(prefix);
1115:   Char buf[width];
1115:   fill_n(buf, width, static_cast<Char>('0'));
1115:   format_uint<4>(buf, cp, width);
1115:   return copy_str<Char>(buf, buf + width, out);
1115: }
1115: 
1115: template <typename OutputIt, typename Char>
1115: auto write_escaped_cp(OutputIt out, const find_escape_result<Char>& escape)
1115:     -> OutputIt {
1115:   auto c = static_cast<Char>(escape.cp);
1115:   switch (escape.cp) {
1115:   case '\n':
1115:     *out++ = static_cast<Char>('\\');
1115:     c = static_cast<Char>('n');
1115:     break;
1115:   case '\r':
1115:     *out++ = static_cast<Char>('\\');
1115:     c = static_cast<Char>('r');
1115:     break;
1115:   case '\t':
1115:     *out++ = static_cast<Char>('\\');
1115:     c = static_cast<Char>('t');
1115:     break;
1115:   case '"':
1115:     [[fallthrough]];
1115:   case '\'':
1115:     [[fallthrough]];
1115:   case '\\':
1115:     *out++ = static_cast<Char>('\\');
1115:     break;
1115:   default:
1115:     if (is_utf8()) {
1115:       if (escape.cp < 0x100) {
1115:         return write_codepoint<2, Char>(out, 'x', escape.cp);
1115:       }
1115:       if (escape.cp < 0x10000) {
1115:         return write_codepoint<4, Char>(out, 'u', escape.cp);
1115:       }
1115:       if (escape.cp < 0x110000) {
1115:         return write_codepoint<8, Char>(out, 'U', escape.cp);
1115:       }
1115:     }
1115:     for (Char escape_char : basic_string_view<Char>(
1115:              escape.begin, to_unsigned(escape.end - escape.begin))) {
1115:       out = write_codepoint<2, Char>(out, 'x',
1115:                                      static_cast<uint32_t>(escape_char) & 0xFF);
1115:     }
1115:     return out;
1115:   }
1115:   *out++ = c;
1115:   return out;
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: auto write_escaped_string(OutputIt out, basic_string_view<Char> str)
1115:     -> OutputIt {
1115:   *out++ = static_cast<Char>('"');
1115:   auto begin = str.begin(), end = str.end();
1115:   do {
1115:     auto escape = find_escape(begin, end);
1115:     out = copy_str<Char>(begin, escape.begin, out);
1115:     begin = escape.end;
1115:     if (!begin) break;
1115:     out = write_escaped_cp<OutputIt, Char>(out, escape);
1115:   } while (begin != end);
1115:   *out++ = static_cast<Char>('"');
1115:   return out;
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: auto write_escaped_char(OutputIt out, Char v) -> OutputIt {
1115:   *out++ = static_cast<Char>('\'');
1115:   if ((needs_escape(static_cast<uint32_t>(v)) && v != static_cast<Char>('"')) ||
1115:       v == static_cast<Char>('\'')) {
1115:     out = write_escaped_cp(
1115:         out, find_escape_result<Char>{&v, &v + 1, static_cast<uint32_t>(v)});
1115:   } else {
1115:     *out++ = v;
1115:   }
1115:   *out++ = static_cast<Char>('\'');
1115:   return out;
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write_char(OutputIt out, Char value,
1115:                               const basic_format_specs<Char>& specs)
1115:     -> OutputIt {
1115:   bool is_debug = specs.type == presentation_type::debug;
1115:   return write_padded(out, specs, 1, [=](reserve_iterator<OutputIt> it) {
1115:     if (is_debug) return write_escaped_char(it, value);
1115:     *it++ = value;
1115:     return it;
1115:   });
1115: }
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write(OutputIt out, Char value,
1115:                          const basic_format_specs<Char>& specs,
1115:                          locale_ref loc = {}) -> OutputIt {
1115:   return check_char_specs(specs)
1115:              ? write_char(out, value, specs)
1115:              : write(out, static_cast<int>(value), specs, loc);
1115: }
1115: 
1115: 
1115: 
1115: template <typename Char> struct write_int_data {
1115:   size_t size;
1115:   size_t padding;
1115: 
1115:   constexpr write_int_data(int num_digits, unsigned prefix,
1115:                                const basic_format_specs<Char>& specs)
1115:       : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) {
1115:     if (specs.align == align::numeric) {
1115:       auto width = to_unsigned(specs.width);
1115:       if (width > size) {
1115:         padding = width - size;
1115:         size = width;
1115:       }
1115:     } else if (specs.precision > num_digits) {
1115:       size = (prefix >> 24) + to_unsigned(specs.precision);
1115:       padding = to_unsigned(specs.precision - num_digits);
1115:     }
1115:   }
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename OutputIt, typename Char, typename W>
1115: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, int num_digits,
1115:                                         unsigned prefix,
1115:                                         const basic_format_specs<Char>& specs,
1115:                                         W write_digits) -> OutputIt {
1115: 
1115:   if ((specs.width | (specs.precision + 1)) == 0) {
1115:     auto it = reserve(out, to_unsigned(num_digits) + (prefix >> 24));
1115:     if (prefix != 0) {
1115:       for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1115:         *it++ = static_cast<Char>(p & 0xff);
1115:     }
1115:     return base_iterator(out, write_digits(it));
1115:   }
1115:   auto data = write_int_data<Char>(num_digits, prefix, specs);
1115:   return write_padded<align::right>(
1115:       out, specs, data.size, [=](reserve_iterator<OutputIt> it) {
1115:         for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8)
1115:           *it++ = static_cast<Char>(p & 0xff);
1115:         it = detail::fill_n(it, data.padding, static_cast<Char>('0'));
1115:         return write_digits(it);
1115:       });
1115: }
1115: 
1115: template <typename Char> class digit_grouping {
1115:  private:
1115:   thousands_sep_result<Char> sep_;
1115: 
1115:   struct next_state {
1115:     std::string::const_iterator group;
1115:     int pos;
1115:   };
1115:   next_state initial_state() const { return {sep_.grouping.begin(), 0}; }
1115: 
1115: 
1115:   int next(next_state& state) const {
1115:     if (!sep_.thousands_sep) return max_value<int>();
1115:     if (state.group == sep_.grouping.end())
1115:       return state.pos += sep_.grouping.back();
1115:     if (*state.group <= 0 || *state.group == max_value<char>())
1115:       return max_value<int>();
1115:     state.pos += *state.group++;
1115:     return state.pos;
1115:   }
1115: 
1115:  public:
1115:   explicit digit_grouping(locale_ref loc, bool localized = true) {
1115:     if (localized)
1115:       sep_ = thousands_sep<Char>(loc);
1115:     else
1115:       sep_.thousands_sep = Char();
1115:   }
1115:   explicit digit_grouping(thousands_sep_result<Char> sep) : sep_(sep) {}
1115: 
1115:   Char separator() const { return sep_.thousands_sep; }
1115: 
1115:   int count_separators(int num_digits) const {
1115:     int count = 0;
1115:     auto state = initial_state();
1115:     while (num_digits > next(state)) ++count;
1115:     return count;
1115:   }
1115: 
1115: 
1115:   template <typename Out, typename C>
1115:   Out apply(Out out, basic_string_view<C> digits) const {
1115:     auto num_digits = static_cast<int>(digits.size());
1115:     auto separators = basic_memory_buffer<int>();
1115:     separators.push_back(0);
1115:     auto state = initial_state();
1115:     while (int i = next(state)) {
1115:       if (i >= num_digits) break;
1115:       separators.push_back(i);
1115:     }
1115:     for (int i = 0, sep_index = static_cast<int>(separators.size() - 1);
1115:          i < num_digits; ++i) {
1115:       if (num_digits - i == separators[sep_index]) {
1115:         *out++ = separator();
1115:         --sep_index;
1115:       }
1115:       *out++ = static_cast<Char>(digits[to_unsigned(i)]);
1115:     }
1115:     return out;
1115:   }
1115: };
1115: 
1115: template <typename OutputIt, typename UInt, typename Char>
1115: auto write_int_localized(OutputIt out, UInt value, unsigned prefix,
1115:                          const basic_format_specs<Char>& specs,
1115:                          const digit_grouping<Char>& grouping) -> OutputIt {
1115:   static_assert(std::is_same<uint64_or_128_t<UInt>, UInt>::value, "");
1115:   int num_digits = count_digits(value);
1115:   char digits[40];
1115:   format_decimal(digits, value, num_digits);
1115:   unsigned size = to_unsigned((prefix != 0 ? 1 : 0) + num_digits +
1115:                               grouping.count_separators(num_digits));
1115:   return write_padded<align::right>(
1115:       out, specs, size, size, [&](reserve_iterator<OutputIt> it) {
1115:         if (prefix != 0) {
1115:           char sign = static_cast<char>(prefix);
1115:           *it++ = static_cast<Char>(sign);
1115:         }
1115:         return grouping.apply(it, string_view(digits, to_unsigned(num_digits)));
1115:       });
1115: }
1115: 
1115: template <typename OutputIt, typename UInt, typename Char>
1115: auto write_int_localized(OutputIt& out, UInt value, unsigned prefix,
1115:                          const basic_format_specs<Char>& specs, locale_ref loc)
1115:     -> bool {
1115:   auto grouping = digit_grouping<Char>(loc);
1115:   out = write_int_localized(out, value, prefix, specs, grouping);
1115:   return true;
1115: }
1115: 
1115: constexpr inline void prefix_append(unsigned& prefix, unsigned value) {
1115:   prefix |= prefix != 0 ? value << 8 : value;
1115:   prefix += (1u + (value > 0xff ? 1 : 0)) << 24;
1115: }
1115: 
1115: template <typename UInt> struct write_int_arg {
1115:   UInt abs_value;
1115:   unsigned prefix;
1115: };
1115: 
1115: template <typename T>
1115: constexpr auto make_write_int_arg(T value, sign_t sign)
1115:     -> write_int_arg<uint32_or_64_or_128_t<T>> {
1115:   auto prefix = 0u;
1115:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1115:   if (is_negative(value)) {
1115:     prefix = 0x01000000 | '-';
1115:     abs_value = 0 - abs_value;
1115:   } else {
1115:     constexpr const unsigned prefixes[4] = {0, 0, 0x1000000u | '+',
1115:                                             0x1000000u | ' '};
1115:     prefix = prefixes[sign];
1115:   }
1115:   return {abs_value, prefix};
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T>
1115: constexpr inline __attribute__((always_inline)) auto write_int(OutputIt out, write_int_arg<T> arg,
1115:                                         const basic_format_specs<Char>& specs,
1115:                                         locale_ref loc) -> OutputIt {
1115:   static_assert(std::is_same<T, uint32_or_64_or_128_t<T>>::value, "");
1115:   auto abs_value = arg.abs_value;
1115:   auto prefix = arg.prefix;
1115:   switch (specs.type) {
1115:   case presentation_type::none:
1115:   case presentation_type::dec: {
1115:     if (specs.localized &&
1115:         write_int_localized(out, static_cast<uint64_or_128_t<T>>(abs_value),
1115:                             prefix, specs, loc)) {
1115:       return out;
1115:     }
1115:     auto num_digits = count_digits(abs_value);
1115:     return write_int(
1115:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1115:           return format_decimal<Char>(it, abs_value, num_digits).end;
1115:         });
1115:   }
1115:   case presentation_type::hex_lower:
1115:   case presentation_type::hex_upper: {
1115:     bool upper = specs.type == presentation_type::hex_upper;
1115:     if (specs.alt)
1115:       prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0');
1115:     int num_digits = count_digits<4>(abs_value);
1115:     return write_int(
1115:         out, num_digits, prefix, specs, [=](reserve_iterator<OutputIt> it) {
1115:           return format_uint<4, Char>(it, abs_value, num_digits, upper);
1115:         });
1115:   }
1115:   case presentation_type::bin_lower:
1115:   case presentation_type::bin_upper: {
1115:     bool upper = specs.type == presentation_type::bin_upper;
1115:     if (specs.alt)
1115:       prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0');
1115:     int num_digits = count_digits<1>(abs_value);
1115:     return write_int(out, num_digits, prefix, specs,
1115:                      [=](reserve_iterator<OutputIt> it) {
1115:                        return format_uint<1, Char>(it, abs_value, num_digits);
1115:                      });
1115:   }
1115:   case presentation_type::oct: {
1115:     int num_digits = count_digits<3>(abs_value);
1115: 
1115: 
1115:     if (specs.alt && specs.precision <= num_digits && abs_value != 0)
1115:       prefix_append(prefix, '0');
1115:     return write_int(out, num_digits, prefix, specs,
1115:                      [=](reserve_iterator<OutputIt> it) {
1115:                        return format_uint<3, Char>(it, abs_value, num_digits);
1115:                      });
1115:   }
1115:   case presentation_type::chr:
1115:     return write_char(out, static_cast<Char>(abs_value), specs);
1115:   default:
1115:     throw_format_error("invalid type specifier");
1115:   }
1115:   return out;
1115: }
1115: template <typename Char, typename OutputIt, typename T>
1115: constexpr __attribute__((noinline)) auto write_int_noinline(
1115:     OutputIt out, write_int_arg<T> arg, const basic_format_specs<Char>& specs,
1115:     locale_ref loc) -> OutputIt {
1115:   return write_int(out, arg, specs, loc);
1115: }
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
1115: 
1115:                                                                              >
1115: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1115:                                     const basic_format_specs<Char>& specs,
1115:                                     locale_ref loc) -> OutputIt {
1115:   return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs,
1115:                             loc);
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<OutputIt, buffer_appender<Char>>::value), int> = 0
1115: 
1115:                                                                               >
1115: constexpr inline __attribute__((always_inline)) auto write(OutputIt out, T value,
1115:                                     const basic_format_specs<Char>& specs,
1115:                                     locale_ref loc) -> OutputIt {
1115:   return write_int(out, make_write_int_arg(value, specs.sign), specs, loc);
1115: }
1115: 
1115: 
1115: 
1115: class counting_iterator {
1115:  private:
1115:   size_t count_;
1115: 
1115:  public:
1115:   using iterator_category = std::output_iterator_tag;
1115:   using difference_type = std::ptrdiff_t;
1115:   using pointer = void;
1115:   using reference = void;
1115:   using unchecked_type = counting_iterator;
1115: 
1115:   struct value_type {
1115:     template <typename T> constexpr void operator=(const T&) {}
1115:   };
1115: 
1115:   constexpr counting_iterator() : count_(0) {}
1115: 
1115:   constexpr size_t count() const { return count_; }
1115: 
1115:   constexpr counting_iterator& operator++() {
1115:     ++count_;
1115:     return *this;
1115:   }
1115:   constexpr counting_iterator operator++(int) {
1115:     auto it = *this;
1115:     ++*this;
1115:     return it;
1115:   }
1115: 
1115:   constexpr friend counting_iterator operator+(counting_iterator it,
1115:                                                    difference_type n) {
1115:     it.count_ += static_cast<size_t>(n);
1115:     return it;
1115:   }
1115: 
1115:   constexpr value_type operator*() const { return {}; }
1115: };
1115: 
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write(OutputIt out, basic_string_view<Char> s,
1115:                          const basic_format_specs<Char>& specs) -> OutputIt {
1115:   auto data = s.data();
1115:   auto size = s.size();
1115:   if (specs.precision >= 0 && to_unsigned(specs.precision) < size)
1115:     size = code_point_index(s, to_unsigned(specs.precision));
1115:   bool is_debug = specs.type == presentation_type::debug;
1115:   size_t width = 0;
1115:   if (specs.width != 0) {
1115:     if (is_debug)
1115:       width = write_escaped_string(counting_iterator{}, s).count();
1115:     else
1115:       width = compute_width(basic_string_view<Char>(data, size));
1115:   }
1115:   return write_padded(out, specs, size, width,
1115:                       [=](reserve_iterator<OutputIt> it) {
1115:                         if (is_debug) return write_escaped_string(it, s);
1115:                         return copy_str<Char>(data, data + size, it);
1115:                       });
1115: }
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write(OutputIt out,
1115:                          basic_string_view<type_identity_t<Char>> s,
1115:                          const basic_format_specs<Char>& specs, locale_ref)
1115:     -> OutputIt {
1115:   check_string_type_spec(specs.type);
1115:   return write(out, s, specs);
1115: }
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write(OutputIt out, const Char* s,
1115:                          const basic_format_specs<Char>& specs, locale_ref)
1115:     -> OutputIt {
1115:   return check_cstring_type_spec(specs.type)
1115:              ? write(out, basic_string_view<Char>(s), specs, {})
1115:              : write_ptr<Char>(out, bit_cast<uintptr_t>(s), &specs);
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(is_integral<T>::value && !std::is_same<T, bool>::value && !std::is_same<T, Char>::value), int> = 0
1115: 
1115:                                                       >
1115: constexpr auto write(OutputIt out, T value) -> OutputIt {
1115:   auto abs_value = static_cast<uint32_or_64_or_128_t<T>>(value);
1115:   bool negative = is_negative(value);
1115: 
1115:   if (negative) abs_value = ~abs_value + 1;
1115:   int num_digits = count_digits(abs_value);
1115:   auto size = (negative ? 1 : 0) + static_cast<size_t>(num_digits);
1115:   auto it = reserve(out, size);
1115:   if (auto ptr = to_pointer<Char>(it, size)) {
1115:     if (negative) *ptr++ = static_cast<Char>('-');
1115:     format_decimal<Char>(ptr, abs_value, num_digits);
1115:     return out;
1115:   }
1115:   if (negative) *it++ = static_cast<Char>('-');
1115:   it = format_decimal<Char>(it, abs_value, num_digits).end;
1115:   return base_iterator(out, it);
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115:  auto write_nonfinite(OutputIt out, bool isnan,
1115:                                      basic_format_specs<Char> specs,
1115:                                      const float_specs& fspecs) -> OutputIt {
1115:   auto str =
1115:       isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf");
1115:   constexpr size_t str_size = 3;
1115:   auto sign = fspecs.sign;
1115:   auto size = str_size + (sign ? 1 : 0);
1115: 
1115:   const bool is_zero_fill =
1115:       specs.fill.size() == 1 && *specs.fill.data() == static_cast<Char>('0');
1115:   if (is_zero_fill) specs.fill[0] = static_cast<Char>(' ');
1115:   return write_padded(out, specs, size, [=](reserve_iterator<OutputIt> it) {
1115:     if (sign) *it++ = detail::sign<Char>(sign);
1115:     return copy_str<Char>(str, str + str_size, it);
1115:   });
1115: }
1115: 
1115: 
1115: struct big_decimal_fp {
1115:   const char* significand;
1115:   int significand_size;
1115:   int exponent;
1115: };
1115: 
1115: constexpr auto get_significand_size(const big_decimal_fp& f) -> int {
1115:   return f.significand_size;
1115: }
1115: template <typename T>
1115: inline auto get_significand_size(const dragonbox::decimal_fp<T>& f) -> int {
1115:   return count_digits(f.significand);
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write_significand(OutputIt out, const char* significand,
1115:                                  int significand_size) -> OutputIt {
1115:   return copy_str<Char>(significand, significand + significand_size, out);
1115: }
1115: template <typename Char, typename OutputIt, typename UInt>
1115: inline auto write_significand(OutputIt out, UInt significand,
1115:                               int significand_size) -> OutputIt {
1115:   return format_decimal<Char>(out, significand, significand_size).end;
1115: }
1115: template <typename Char, typename OutputIt, typename T, typename Grouping>
1115:  auto write_significand(OutputIt out, T significand,
1115:                                        int significand_size, int exponent,
1115:                                        const Grouping& grouping) -> OutputIt {
1115:   if (!grouping.separator()) {
1115:     out = write_significand<Char>(out, significand, significand_size);
1115:     return detail::fill_n(out, exponent, static_cast<Char>('0'));
1115:   }
1115:   auto buffer = memory_buffer();
1115:   write_significand<char>(appender(buffer), significand, significand_size);
1115:   detail::fill_n(appender(buffer), exponent, '0');
1115:   return grouping.apply(out, string_view(buffer.data(), buffer.size()));
1115: }
1115: 
1115: template <typename Char, typename UInt,
1115:           enable_if_t<(std::is_integral<UInt>::value), int> = 0>
1115: inline auto write_significand(Char* out, UInt significand, int significand_size,
1115:                               int integral_size, Char decimal_point) -> Char* {
1115:   if (!decimal_point)
1115:     return format_decimal(out, significand, significand_size).end;
1115:   out += significand_size + 1;
1115:   Char* end = out;
1115:   int floating_size = significand_size - integral_size;
1115:   for (int i = floating_size / 2; i > 0; --i) {
1115:     out -= 2;
1115:     copy2(out, digits2(static_cast<std::size_t>(significand % 100)));
1115:     significand /= 100;
1115:   }
1115:   if (floating_size % 2 != 0) {
1115:     *--out = static_cast<Char>('0' + significand % 10);
1115:     significand /= 10;
1115:   }
1115:   *--out = decimal_point;
1115:   format_decimal(out - integral_size, significand, integral_size);
1115:   return end;
1115: }
1115: 
1115: template <typename OutputIt, typename UInt, typename Char,
1115:           enable_if_t<(!std::is_pointer<remove_cvref_t<OutputIt>>::value), int> = 0>
1115: inline auto write_significand(OutputIt out, UInt significand,
1115:                               int significand_size, int integral_size,
1115:                               Char decimal_point) -> OutputIt {
1115: 
1115:   Char buffer[digits10<UInt>() + 2];
1115:   auto end = write_significand(buffer, significand, significand_size,
1115:                                integral_size, decimal_point);
1115:   return detail::copy_str_noinline<Char>(buffer, end, out);
1115: }
1115: 
1115: template <typename OutputIt, typename Char>
1115: constexpr auto write_significand(OutputIt out, const char* significand,
1115:                                      int significand_size, int integral_size,
1115:                                      Char decimal_point) -> OutputIt {
1115:   out = detail::copy_str_noinline<Char>(significand,
1115:                                         significand + integral_size, out);
1115:   if (!decimal_point) return out;
1115:   *out++ = decimal_point;
1115:   return detail::copy_str_noinline<Char>(significand + integral_size,
1115:                                          significand + significand_size, out);
1115: }
1115: 
1115: template <typename OutputIt, typename Char, typename T, typename Grouping>
1115:  auto write_significand(OutputIt out, T significand,
1115:                                        int significand_size, int integral_size,
1115:                                        Char decimal_point,
1115:                                        const Grouping& grouping) -> OutputIt {
1115:   if (!grouping.separator()) {
1115:     return write_significand(out, significand, significand_size, integral_size,
1115:                              decimal_point);
1115:   }
1115:   auto buffer = basic_memory_buffer<Char>();
1115:   write_significand(buffer_appender<Char>(buffer), significand,
1115:                     significand_size, integral_size, decimal_point);
1115:   grouping.apply(
1115:       out, basic_string_view<Char>(buffer.data(), to_unsigned(integral_size)));
1115:   return detail::copy_str_noinline<Char>(buffer.data() + integral_size,
1115:                                          buffer.end(), out);
1115: }
1115: 
1115: template <typename OutputIt, typename DecimalFP, typename Char,
1115:           typename Grouping = digit_grouping<Char>>
1115:  auto do_write_float(OutputIt out, const DecimalFP& f,
1115:                                     const basic_format_specs<Char>& specs,
1115:                                     float_specs fspecs, locale_ref loc)
1115:     -> OutputIt {
1115:   auto significand = f.significand;
1115:   int significand_size = get_significand_size(f);
1115:   const Char zero = static_cast<Char>('0');
1115:   auto sign = fspecs.sign;
1115:   size_t size = to_unsigned(significand_size) + (sign ? 1 : 0);
1115:   using iterator = reserve_iterator<OutputIt>;
1115: 
1115:   Char decimal_point =
1115:       fspecs.locale ? detail::decimal_point<Char>(loc) : static_cast<Char>('.');
1115: 
1115:   int output_exp = f.exponent + significand_size - 1;
1115:   auto use_exp_format = [=]() {
1115:     if (fspecs.format == float_format::exp) return true;
1115:     if (fspecs.format != float_format::general) return false;
1115: 
1115: 
1115:     const int exp_lower = -4, exp_upper = 16;
1115:     return output_exp < exp_lower ||
1115:            output_exp >= (fspecs.precision > 0 ? fspecs.precision : exp_upper);
1115:   };
1115:   if (use_exp_format()) {
1115:     int num_zeros = 0;
1115:     if (fspecs.showpoint) {
1115:       num_zeros = fspecs.precision - significand_size;
1115:       if (num_zeros < 0) num_zeros = 0;
1115:       size += to_unsigned(num_zeros);
1115:     } else if (significand_size == 1) {
1115:       decimal_point = Char();
1115:     }
1115:     auto abs_output_exp = output_exp >= 0 ? output_exp : -output_exp;
1115:     int exp_digits = 2;
1115:     if (abs_output_exp >= 100) exp_digits = abs_output_exp >= 1000 ? 4 : 3;
1115: 
1115:     size += to_unsigned((decimal_point ? 1 : 0) + 2 + exp_digits);
1115:     char exp_char = fspecs.upper ? 'E' : 'e';
1115:     auto write = [=](iterator it) {
1115:       if (sign) *it++ = detail::sign<Char>(sign);
1115: 
1115:       it = write_significand(it, significand, significand_size, 1,
1115:                              decimal_point);
1115:       if (num_zeros > 0) it = detail::fill_n(it, num_zeros, zero);
1115:       *it++ = static_cast<Char>(exp_char);
1115:       return write_exponent<Char>(output_exp, it);
1115:     };
1115:     return specs.width > 0 ? write_padded<align::right>(out, specs, size, write)
1115:                            : base_iterator(out, write(reserve(out, size)));
1115:   }
1115: 
1115:   int exp = f.exponent + significand_size;
1115:   if (f.exponent >= 0) {
1115: 
1115:     size += to_unsigned(f.exponent);
1115:     int num_zeros = fspecs.precision - exp;
1115:     abort_fuzzing_if(num_zeros > 5000);
1115:     if (fspecs.showpoint) {
1115:       ++size;
1115:       if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1;
1115:       if (num_zeros > 0) size += to_unsigned(num_zeros);
1115:     }
1115:     auto grouping = Grouping(loc, fspecs.locale);
1115:     size += to_unsigned(grouping.count_separators(exp));
1115:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1115:       if (sign) *it++ = detail::sign<Char>(sign);
1115:       it = write_significand<Char>(it, significand, significand_size,
1115:                                    f.exponent, grouping);
1115:       if (!fspecs.showpoint) return it;
1115:       *it++ = decimal_point;
1115:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1115:     });
1115:   } else if (exp > 0) {
1115: 
1115:     int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0;
1115:     size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0);
1115:     auto grouping = Grouping(loc, fspecs.locale);
1115:     size += to_unsigned(grouping.count_separators(significand_size));
1115:     return write_padded<align::right>(out, specs, size, [&](iterator it) {
1115:       if (sign) *it++ = detail::sign<Char>(sign);
1115:       it = write_significand(it, significand, significand_size, exp,
1115:                              decimal_point, grouping);
1115:       return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it;
1115:     });
1115:   }
1115: 
1115:   int num_zeros = -exp;
1115:   if (significand_size == 0 && fspecs.precision >= 0 &&
1115:       fspecs.precision < num_zeros) {
1115:     num_zeros = fspecs.precision;
1115:   }
1115:   bool pointy = num_zeros != 0 || significand_size != 0 || fspecs.showpoint;
1115:   size += 1 + (pointy ? 1 : 0) + to_unsigned(num_zeros);
1115:   return write_padded<align::right>(out, specs, size, [&](iterator it) {
1115:     if (sign) *it++ = detail::sign<Char>(sign);
1115:     *it++ = zero;
1115:     if (!pointy) return it;
1115:     *it++ = decimal_point;
1115:     it = detail::fill_n(it, num_zeros, zero);
1115:     return write_significand<Char>(it, significand, significand_size);
1115:   });
1115: }
1115: 
1115: template <typename Char> class fallback_digit_grouping {
1115:  public:
1115:   constexpr fallback_digit_grouping(locale_ref, bool) {}
1115: 
1115:   constexpr Char separator() const { return Char(); }
1115: 
1115:   constexpr int count_separators(int) const { return 0; }
1115: 
1115:   template <typename Out, typename C>
1115:   constexpr Out apply(Out out, basic_string_view<C>) const {
1115:     return out;
1115:   }
1115: };
1115: 
1115: template <typename OutputIt, typename DecimalFP, typename Char>
1115:  auto write_float(OutputIt out, const DecimalFP& f,
1115:                                  const basic_format_specs<Char>& specs,
1115:                                  float_specs fspecs, locale_ref loc)
1115:     -> OutputIt {
1115:   if (is_constant_evaluated()) {
1115:     return do_write_float<OutputIt, DecimalFP, Char,
1115:                           fallback_digit_grouping<Char>>(out, f, specs, fspecs,
1115:                                                          loc);
1115:   } else {
1115:     return do_write_float(out, f, specs, fspecs, loc);
1115:   }
1115: }
1115: 
1115: template <typename T> constexpr bool isnan(T value) {
1115:   return !(value >= value);
1115: }
1115: 
1115: template <typename T, typename Enable = void>
1115: struct has_isfinite : std::false_type {};
1115: 
1115: template <typename T>
1115: struct has_isfinite<T, enable_if_t<sizeof(std::isfinite(T())) != 0>>
1115:     : std::true_type {};
1115: 
1115: template <typename T, enable_if_t<(std::is_floating_point<T>::value&& has_isfinite<T>::value), int> = 0
1115:                                                                >
1115:  bool isfinite(T value) {
1115:   constexpr T inf = T(std::numeric_limits<double>::infinity());
1115:   if (is_constant_evaluated())
1115:     return !detail::isnan(value) && value != inf && value != -inf;
1115:   return std::isfinite(value);
1115: }
1115: template <typename T, enable_if_t<(!has_isfinite<T>::value), int> = 0>
1115: constexpr bool isfinite(T value) {
1115:   T inf = T(std::numeric_limits<double>::infinity());
1115: 
1115:   return !detail::isnan(value) && value != inf && value != -inf;
1115: }
1115: 
1115: template <typename T, enable_if_t<(is_floating_point<T>::value), int> = 0>
1115: inline __attribute__((always_inline)) constexpr bool signbit(T value) {
1115:   if (is_constant_evaluated()) {
1115: 
1115:     if constexpr (std::numeric_limits<double>::is_iec559) {
1115:       auto bits = detail::bit_cast<uint64_t>(static_cast<double>(value));
1115:       return (bits >> (num_bits<uint64_t>() - 1)) != 0;
1115:     }
1115: 
1115:   }
1115:   return std::signbit(static_cast<double>(value));
1115: }
1115: 
1115: enum class round_direction { unknown, up, down };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: constexpr inline round_direction get_round_direction(uint64_t divisor,
1115:                                                          uint64_t remainder,
1115:                                                          uint64_t error) {
1115:   ::fmt::detail::ignore_unused((remainder < divisor), (""));
1115:   ::fmt::detail::ignore_unused((error < divisor), (""));
1115:   ::fmt::detail::ignore_unused((error < divisor - error), (""));
1115: 
1115:   if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2)
1115:     return round_direction::down;
1115: 
1115:   if (remainder >= error &&
1115:       remainder - error >= divisor - (remainder - error)) {
1115:     return round_direction::up;
1115:   }
1115:   return round_direction::unknown;
1115: }
1115: 
1115: namespace digits {
1115: enum result {
1115:   more,
1115:   done,
1115:   error
1115: };
1115: }
1115: 
1115: struct gen_digits_handler {
1115:   char* buf;
1115:   int size;
1115:   int precision;
1115:   int exp10;
1115:   bool fixed;
1115: 
1115:   constexpr digits::result on_digit(char digit, uint64_t divisor,
1115:                                         uint64_t remainder, uint64_t error,
1115:                                         bool integral) {
1115:     ::fmt::detail::ignore_unused((remainder < divisor), (""));
1115:     buf[size++] = digit;
1115:     if (!integral && error >= remainder) return digits::error;
1115:     if (size < precision) return digits::more;
1115:     if (!integral) {
1115: 
1115: 
1115: 
1115:       if (error >= divisor || error >= divisor - error) return digits::error;
1115:     } else {
1115:       ::fmt::detail::ignore_unused((error == 1 && divisor > 2), (""));
1115:     }
1115:     auto dir = get_round_direction(divisor, remainder, error);
1115:     if (dir != round_direction::up)
1115:       return dir == round_direction::down ? digits::done : digits::error;
1115:     ++buf[size - 1];
1115:     for (int i = size - 1; i > 0 && buf[i] > '9'; --i) {
1115:       buf[i] = '0';
1115:       ++buf[i - 1];
1115:     }
1115:     if (buf[0] > '9') {
1115:       buf[0] = '1';
1115:       if (fixed)
1115:         buf[size++] = '0';
1115:       else
1115:         ++exp10;
1115:     }
1115:     return digits::done;
1115:   }
1115: };
1115: 
1115: inline void adjust_precision(int& precision, int exp10) {
1115: 
1115: 
1115:   if (exp10 > 0 && precision > max_value<int>() - exp10)
1115:     throw format_error("number is too big");
1115:   precision += exp10;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: inline __attribute__((always_inline)) auto grisu_gen_digits(fp value, uint64_t error,
1115:                                                  int& exp,
1115:                                                  gen_digits_handler& handler)
1115:     -> digits::result {
1115:   const fp one(1ULL << -value.e, value.e);
1115: 
1115: 
1115: 
1115:   auto integral = static_cast<uint32_t>(value.f >> -one.e);
1115:   ::fmt::detail::ignore_unused((integral != 0), (""));
1115:   ::fmt::detail::ignore_unused((integral == value.f >> -one.e), (""));
1115: 
1115:   uint64_t fractional = value.f & (one.f - 1);
1115:   exp = count_digits(integral);
1115: 
1115:   if (handler.fixed) {
1115:     adjust_precision(handler.precision, exp + handler.exp10);
1115: 
1115: 
1115:     if (handler.precision <= 0) {
1115:       if (handler.precision < 0) return digits::done;
1115: 
1115:       uint64_t divisor = data::power_of_10_64[exp - 1] << -one.e;
1115:       auto dir = get_round_direction(divisor, value.f / 10, error * 10);
1115:       if (dir == round_direction::unknown) return digits::error;
1115:       handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0';
1115:       return digits::done;
1115:     }
1115:   }
1115: 
1115:   do {
1115:     uint32_t digit = 0;
1115:     auto divmod_integral = [&](uint32_t divisor) {
1115:       digit = integral / divisor;
1115:       integral %= divisor;
1115:     };
1115: 
1115: 
1115:     switch (exp) {
1115:     case 10:
1115:       divmod_integral(1000000000);
1115:       break;
1115:     case 9:
1115:       divmod_integral(100000000);
1115:       break;
1115:     case 8:
1115:       divmod_integral(10000000);
1115:       break;
1115:     case 7:
1115:       divmod_integral(1000000);
1115:       break;
1115:     case 6:
1115:       divmod_integral(100000);
1115:       break;
1115:     case 5:
1115:       divmod_integral(10000);
1115:       break;
1115:     case 4:
1115:       divmod_integral(1000);
1115:       break;
1115:     case 3:
1115:       divmod_integral(100);
1115:       break;
1115:     case 2:
1115:       divmod_integral(10);
1115:       break;
1115:     case 1:
1115:       digit = integral;
1115:       integral = 0;
1115:       break;
1115:     default:
1115:       ::fmt::detail::ignore_unused((false), ("invalid number of digits"));
1115:     }
1115:     --exp;
1115:     auto remainder = (static_cast<uint64_t>(integral) << -one.e) + fractional;
1115:     auto result = handler.on_digit(static_cast<char>('0' + digit),
1115:                                    data::power_of_10_64[exp] << -one.e,
1115:                                    remainder, error, true);
1115:     if (result != digits::more) return result;
1115:   } while (exp > 0);
1115: 
1115:   for (;;) {
1115:     fractional *= 10;
1115:     error *= 10;
1115:     char digit = static_cast<char>('0' + (fractional >> -one.e));
1115:     fractional &= one.f - 1;
1115:     --exp;
1115:     auto result = handler.on_digit(digit, one.f, fractional, error, false);
1115:     if (result != digits::more) return result;
1115:   }
1115: }
1115: 
1115: class bigint {
1115:  private:
1115: 
1115: 
1115:   using bigit = uint32_t;
1115:   using double_bigit = uint64_t;
1115:   enum { bigits_capacity = 32 };
1115:   basic_memory_buffer<bigit, bigits_capacity> bigits_;
1115:   int exp_;
1115: 
1115:   bigit operator[](int index) const {
1115:     return bigits_[to_unsigned(index)];
1115:   }
1115:   bigit& operator[](int index) {
1115:     return bigits_[to_unsigned(index)];
1115:   }
1115: 
1115:   static constexpr const int bigit_bits = num_bits<bigit>();
1115: 
1115:   friend struct formatter<bigint>;
1115: 
1115:   void subtract_bigits(int index, bigit other, bigit& borrow) {
1115:     auto result = static_cast<double_bigit>((*this)[index]) - other - borrow;
1115:     (*this)[index] = static_cast<bigit>(result);
1115:     borrow = static_cast<bigit>(result >> (bigit_bits * 2 - 1));
1115:   }
1115: 
1115:   void remove_leading_zeros() {
1115:     int num_bigits = static_cast<int>(bigits_.size()) - 1;
1115:     while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits;
1115:     bigits_.resize(to_unsigned(num_bigits + 1));
1115:   }
1115: 
1115: 
1115:   void subtract_aligned(const bigint& other) {
1115:     ::fmt::detail::ignore_unused((other.exp_ >= exp_), ("unaligned bigints"));
1115:     ::fmt::detail::ignore_unused((compare(*this, other) >= 0), (""));
1115:     bigit borrow = 0;
1115:     int i = other.exp_ - exp_;
1115:     for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j)
1115:       subtract_bigits(i, other.bigits_[j], borrow);
1115:     while (borrow > 0) subtract_bigits(i, 0, borrow);
1115:     remove_leading_zeros();
1115:   }
1115: 
1115:   void multiply(uint32_t value) {
1115:     const double_bigit wide_value = value;
1115:     bigit carry = 0;
1115:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1115:       double_bigit result = bigits_[i] * wide_value + carry;
1115:       bigits_[i] = static_cast<bigit>(result);
1115:       carry = static_cast<bigit>(result >> bigit_bits);
1115:     }
1115:     if (carry != 0) bigits_.push_back(carry);
1115:   }
1115: 
1115:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1115:                                                                               >
1115:   void multiply(UInt value) {
1115:     using half_uint =
1115:         conditional_t<std::is_same<UInt, uint128_t>::value, uint64_t, uint32_t>;
1115:     const int shift = num_bits<half_uint>() - bigit_bits;
1115:     const UInt lower = static_cast<half_uint>(value);
1115:     const UInt upper = value >> num_bits<half_uint>();
1115:     UInt carry = 0;
1115:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1115:       UInt result = lower * bigits_[i] + static_cast<bigit>(carry);
1115:       carry = (upper * bigits_[i] << shift) + (result >> bigit_bits) +
1115:               (carry >> bigit_bits);
1115:       bigits_[i] = static_cast<bigit>(result);
1115:     }
1115:     while (carry != 0) {
1115:       bigits_.push_back(static_cast<bigit>(carry));
1115:       carry >>= bigit_bits;
1115:     }
1115:   }
1115: 
1115:   template <typename UInt, enable_if_t<(std::is_same<UInt, uint64_t>::value || std::is_same<UInt, uint128_t>::value), int> = 0
1115:                                                                               >
1115:   void assign(UInt n) {
1115:     size_t num_bigits = 0;
1115:     do {
1115:       bigits_[num_bigits++] = static_cast<bigit>(n);
1115:       n >>= bigit_bits;
1115:     } while (n != 0);
1115:     bigits_.resize(num_bigits);
1115:     exp_ = 0;
1115:   }
1115: 
1115:  public:
1115:   bigint() : exp_(0) {}
1115:   explicit bigint(uint64_t n) { assign(n); }
1115: 
1115:   bigint(const bigint&) = delete;
1115:   void operator=(const bigint&) = delete;
1115: 
1115:   void assign(const bigint& other) {
1115:     auto size = other.bigits_.size();
1115:     bigits_.resize(size);
1115:     auto data = other.bigits_.data();
1115:     std::copy(data, data + size, make_checked(bigits_.data(), size));
1115:     exp_ = other.exp_;
1115:   }
1115: 
1115:   template <typename Int> void operator=(Int n) {
1115:     ::fmt::detail::ignore_unused((n > 0), (""));
1115:     assign(uint64_or_128_t<Int>(n));
1115:   }
1115: 
1115:   int num_bigits() const {
1115:     return static_cast<int>(bigits_.size()) + exp_;
1115:   }
1115: 
1115:   __attribute__((noinline)) bigint& operator<<=(int shift) {
1115:     ::fmt::detail::ignore_unused((shift >= 0), (""));
1115:     exp_ += shift / bigit_bits;
1115:     shift %= bigit_bits;
1115:     if (shift == 0) return *this;
1115:     bigit carry = 0;
1115:     for (size_t i = 0, n = bigits_.size(); i < n; ++i) {
1115:       bigit c = bigits_[i] >> (bigit_bits - shift);
1115:       bigits_[i] = (bigits_[i] << shift) + carry;
1115:       carry = c;
1115:     }
1115:     if (carry != 0) bigits_.push_back(carry);
1115:     return *this;
1115:   }
1115: 
1115:   template <typename Int> bigint& operator*=(Int value) {
1115:     ::fmt::detail::ignore_unused((value > 0), (""));
1115:     multiply(uint32_or_64_or_128_t<Int>(value));
1115:     return *this;
1115:   }
1115: 
1115:   friend int compare(const bigint& lhs, const bigint& rhs) {
1115:     int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits();
1115:     if (num_lhs_bigits != num_rhs_bigits)
1115:       return num_lhs_bigits > num_rhs_bigits ? 1 : -1;
1115:     int i = static_cast<int>(lhs.bigits_.size()) - 1;
1115:     int j = static_cast<int>(rhs.bigits_.size()) - 1;
1115:     int end = i - j;
1115:     if (end < 0) end = 0;
1115:     for (; i >= end; --i, --j) {
1115:       bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j];
1115:       if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1;
1115:     }
1115:     if (i != j) return i > j ? 1 : -1;
1115:     return 0;
1115:   }
1115: 
1115: 
1115:   friend int add_compare(const bigint& lhs1, const bigint& lhs2,
1115:                                          const bigint& rhs) {
1115:     auto minimum = [](int a, int b) { return a < b ? a : b; };
1115:     auto maximum = [](int a, int b) { return a > b ? a : b; };
1115:     int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits());
1115:     int num_rhs_bigits = rhs.num_bigits();
1115:     if (max_lhs_bigits + 1 < num_rhs_bigits) return -1;
1115:     if (max_lhs_bigits > num_rhs_bigits) return 1;
1115:     auto get_bigit = [](const bigint& n, int i) -> bigit {
1115:       return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0;
1115:     };
1115:     double_bigit borrow = 0;
1115:     int min_exp = minimum(minimum(lhs1.exp_, lhs2.exp_), rhs.exp_);
1115:     for (int i = num_rhs_bigits - 1; i >= min_exp; --i) {
1115:       double_bigit sum =
1115:           static_cast<double_bigit>(get_bigit(lhs1, i)) + get_bigit(lhs2, i);
1115:       bigit rhs_bigit = get_bigit(rhs, i);
1115:       if (sum > rhs_bigit + borrow) return 1;
1115:       borrow = rhs_bigit + borrow - sum;
1115:       if (borrow > 1) return -1;
1115:       borrow <<= bigit_bits;
1115:     }
1115:     return borrow != 0 ? -1 : 0;
1115:   }
1115: 
1115: 
1115:   void assign_pow10(int exp) {
1115:     ::fmt::detail::ignore_unused((exp >= 0), (""));
1115:     if (exp == 0) return *this = 1;
1115: 
1115:     int bitmask = 1;
1115:     while (exp >= bitmask) bitmask <<= 1;
1115:     bitmask >>= 1;
1115: 
1115: 
1115:     *this = 5;
1115:     bitmask >>= 1;
1115:     while (bitmask != 0) {
1115:       square();
1115:       if ((exp & bitmask) != 0) *this *= 5;
1115:       bitmask >>= 1;
1115:     }
1115:     *this <<= exp;
1115:   }
1115: 
1115:   void square() {
1115:     int num_bigits = static_cast<int>(bigits_.size());
1115:     int num_result_bigits = 2 * num_bigits;
1115:     basic_memory_buffer<bigit, bigits_capacity> n(std::move(bigits_));
1115:     bigits_.resize(to_unsigned(num_result_bigits));
1115:     auto sum = uint128_t();
1115:     for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) {
1115: 
1115: 
1115:       for (int i = 0, j = bigit_index; j >= 0; ++i, --j) {
1115: 
1115:         sum += static_cast<double_bigit>(n[i]) * n[j];
1115:       }
1115:       (*this)[bigit_index] = static_cast<bigit>(sum);
1115:       sum >>= num_bits<bigit>();
1115:     }
1115: 
1115:     for (int bigit_index = num_bigits; bigit_index < num_result_bigits;
1115:          ++bigit_index) {
1115:       for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;)
1115:         sum += static_cast<double_bigit>(n[i++]) * n[j--];
1115:       (*this)[bigit_index] = static_cast<bigit>(sum);
1115:       sum >>= num_bits<bigit>();
1115:     }
1115:     remove_leading_zeros();
1115:     exp_ *= 2;
1115:   }
1115: 
1115: 
1115: 
1115:   void align(const bigint& other) {
1115:     int exp_difference = exp_ - other.exp_;
1115:     if (exp_difference <= 0) return;
1115:     int num_bigits = static_cast<int>(bigits_.size());
1115:     bigits_.resize(to_unsigned(num_bigits + exp_difference));
1115:     for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j)
1115:       bigits_[j] = bigits_[i];
1115:     std::uninitialized_fill_n(bigits_.data(), exp_difference, 0);
1115:     exp_ -= exp_difference;
1115:   }
1115: 
1115: 
1115: 
1115:   int divmod_assign(const bigint& divisor) {
1115:     ::fmt::detail::ignore_unused((this != &divisor), (""));
1115:     if (compare(*this, divisor) < 0) return 0;
1115:     ::fmt::detail::ignore_unused((divisor.bigits_[divisor.bigits_.size() - 1u] != 0), (""));
1115:     align(divisor);
1115:     int quotient = 0;
1115:     do {
1115:       subtract_aligned(divisor);
1115:       ++quotient;
1115:     } while (compare(*this, divisor) >= 0);
1115:     return quotient;
1115:   }
1115: };
1115: 
1115: 
1115: enum dragon {
1115:   predecessor_closer = 1,
1115:   fixup = 2,
1115:   fixed = 4,
1115: };
1115: 
1115: 
1115: 
1115: 
1115:  inline void format_dragon(basic_fp<uint128_t> value,
1115:                                           unsigned flags, int num_digits,
1115:                                           buffer<char>& buf, int& exp10) {
1115:   bigint numerator;
1115:   bigint denominator;
1115: 
1115:   bigint lower;
1115:   bigint upper_store;
1115:   bigint* upper = nullptr;
1115: 
1115: 
1115: 
1115:   bool is_predecessor_closer = (flags & dragon::predecessor_closer) != 0;
1115:   int shift = is_predecessor_closer ? 2 : 1;
1115:   if (value.e >= 0) {
1115:     numerator = value.f;
1115:     numerator <<= value.e + shift;
1115:     lower = 1;
1115:     lower <<= value.e;
1115:     if (is_predecessor_closer) {
1115:       upper_store = 1;
1115:       upper_store <<= value.e + 1;
1115:       upper = &upper_store;
1115:     }
1115:     denominator.assign_pow10(exp10);
1115:     denominator <<= shift;
1115:   } else if (exp10 < 0) {
1115:     numerator.assign_pow10(-exp10);
1115:     lower.assign(numerator);
1115:     if (is_predecessor_closer) {
1115:       upper_store.assign(numerator);
1115:       upper_store <<= 1;
1115:       upper = &upper_store;
1115:     }
1115:     numerator *= value.f;
1115:     numerator <<= shift;
1115:     denominator = 1;
1115:     denominator <<= shift - value.e;
1115:   } else {
1115:     numerator = value.f;
1115:     numerator <<= shift;
1115:     denominator.assign_pow10(exp10);
1115:     denominator <<= shift - value.e;
1115:     lower = 1;
1115:     if (is_predecessor_closer) {
1115:       upper_store = 1ULL << 1;
1115:       upper = &upper_store;
1115:     }
1115:   }
1115:   int even = static_cast<int>((value.f & 1) == 0);
1115:   if (!upper) upper = &lower;
1115:   if ((flags & dragon::fixup) != 0) {
1115:     if (add_compare(numerator, *upper, denominator) + even <= 0) {
1115:       --exp10;
1115:       numerator *= 10;
1115:       if (num_digits < 0) {
1115:         lower *= 10;
1115:         if (upper != &lower) *upper *= 10;
1115:       }
1115:     }
1115:     if ((flags & dragon::fixed) != 0) adjust_precision(num_digits, exp10 + 1);
1115:   }
1115: 
1115:   if (num_digits < 0) {
1115: 
1115:     num_digits = 0;
1115:     char* data = buf.data();
1115:     for (;;) {
1115:       int digit = numerator.divmod_assign(denominator);
1115:       bool low = compare(numerator, lower) - even < 0;
1115: 
1115:       bool high = add_compare(numerator, *upper, denominator) + even > 0;
1115:       data[num_digits++] = static_cast<char>('0' + digit);
1115:       if (low || high) {
1115:         if (!low) {
1115:           ++data[num_digits - 1];
1115:         } else if (high) {
1115:           int result = add_compare(numerator, numerator, denominator);
1115: 
1115:           if (result > 0 || (result == 0 && (digit % 2) != 0))
1115:             ++data[num_digits - 1];
1115:         }
1115:         buf.try_resize(to_unsigned(num_digits));
1115:         exp10 -= num_digits - 1;
1115:         return;
1115:       }
1115:       numerator *= 10;
1115:       lower *= 10;
1115:       if (upper != &lower) *upper *= 10;
1115:     }
1115:   }
1115: 
1115:   exp10 -= num_digits - 1;
1115:   if (num_digits == 0) {
1115:     denominator *= 10;
1115:     auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
1115:     buf.push_back(digit);
1115:     return;
1115:   }
1115:   buf.try_resize(to_unsigned(num_digits));
1115:   for (int i = 0; i < num_digits - 1; ++i) {
1115:     int digit = numerator.divmod_assign(denominator);
1115:     buf[i] = static_cast<char>('0' + digit);
1115:     numerator *= 10;
1115:   }
1115:   int digit = numerator.divmod_assign(denominator);
1115:   auto result = add_compare(numerator, numerator, denominator);
1115:   if (result > 0 || (result == 0 && (digit % 2) != 0)) {
1115:     if (digit == 9) {
1115:       const auto overflow = '0' + 10;
1115:       buf[num_digits - 1] = overflow;
1115: 
1115:       for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) {
1115:         buf[i] = '0';
1115:         ++buf[i - 1];
1115:       }
1115:       if (buf[0] == overflow) {
1115:         buf[0] = '1';
1115:         ++exp10;
1115:       }
1115:       return;
1115:     }
1115:     ++digit;
1115:   }
1115:   buf[num_digits - 1] = static_cast<char>('0' + digit);
1115: }
1115: 
1115: template <typename Float>
1115:  auto format_float(Float value, int precision, float_specs specs,
1115:                                   buffer<char>& buf) -> int {
1115: 
1115:   static_assert(!std::is_same<Float, float>::value, "");
1115:   ::fmt::detail::ignore_unused((value >= 0), ("value is negative"));
1115:   auto converted_value = convert_float(value);
1115: 
1115:   const bool fixed = specs.format == float_format::fixed;
1115:   if (value <= 0) {
1115:     if (precision <= 0 || !fixed) {
1115:       buf.push_back('0');
1115:       return 0;
1115:     }
1115:     buf.try_resize(to_unsigned(precision));
1115:     fill_n(buf.data(), precision, '0');
1115:     return -precision;
1115:   }
1115: 
1115:   int exp = 0;
1115:   bool use_dragon = true;
1115:   unsigned dragon_flags = 0;
1115:   if (!is_fast_float<Float>()) {
1115:     const auto inv_log2_10 = 0.3010299956639812;
1115:     using info = dragonbox::float_info<decltype(converted_value)>;
1115:     const auto f = basic_fp<typename info::carrier_uint>(converted_value);
1115: 
1115: 
1115: 
1115: 
1115:     exp = static_cast<int>(
1115:         std::ceil((f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10));
1115:     dragon_flags = dragon::fixup;
1115:   } else if (!is_constant_evaluated() && precision < 0) {
1115: 
1115:     if (specs.binary32) {
1115:       auto dec = dragonbox::to_decimal(static_cast<float>(value));
1115:       write<char>(buffer_appender<char>(buf), dec.significand);
1115:       return dec.exponent;
1115:     }
1115:     auto dec = dragonbox::to_decimal(static_cast<double>(value));
1115:     write<char>(buffer_appender<char>(buf), dec.significand);
1115:     return dec.exponent;
1115:   } else {
1115: 
1115: 
1115:     const int min_exp = -60;
1115:     int cached_exp10 = 0;
1115:     fp normalized = normalize(fp(converted_value));
1115:     const auto cached_pow = get_cached_power(
1115:         min_exp - (normalized.e + fp::num_significand_bits), cached_exp10);
1115:     normalized = normalized * cached_pow;
1115:     gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed};
1115:     if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error &&
1115:         !is_constant_evaluated()) {
1115:       exp += handler.exp10;
1115:       buf.try_resize(to_unsigned(handler.size));
1115:       use_dragon = false;
1115:     } else {
1115:       exp += handler.size - cached_exp10 - 1;
1115:       precision = handler.precision;
1115:     }
1115:   }
1115:   if (use_dragon) {
1115:     auto f = basic_fp<uint128_t>();
1115:     bool is_predecessor_closer = specs.binary32
1115:                                      ? f.assign(static_cast<float>(value))
1115:                                      : f.assign(converted_value);
1115:     if (is_predecessor_closer) dragon_flags |= dragon::predecessor_closer;
1115:     if (fixed) dragon_flags |= dragon::fixed;
1115: 
1115: 
1115:     const int max_double_digits = 767;
1115:     if (precision > max_double_digits) precision = max_double_digits;
1115:     format_dragon(f, dragon_flags, precision, buf, exp);
1115:   }
1115:   if (!fixed && !specs.showpoint) {
1115: 
1115:     auto num_digits = buf.size();
1115:     while (num_digits > 0 && buf[num_digits - 1] == '0') {
1115:       --num_digits;
1115:       ++exp;
1115:     }
1115:     buf.try_resize(num_digits);
1115:   }
1115:   return exp;
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(is_floating_point<T>::value), int> = 0>
1115:  auto write(OutputIt out, T value,
1115:                            basic_format_specs<Char> specs, locale_ref loc = {})
1115:     -> OutputIt {
1115:   if (const_check(!is_supported_floating_point(value))) return out;
1115:   float_specs fspecs = parse_float_type_spec(specs);
1115:   fspecs.sign = specs.sign;
1115:   if (detail::signbit(value)) {
1115:     fspecs.sign = sign::minus;
1115:     value = -value;
1115:   } else if (fspecs.sign == sign::minus) {
1115:     fspecs.sign = sign::none;
1115:   }
1115: 
1115:   if (!detail::isfinite(value))
1115:     return write_nonfinite(out, detail::isnan(value), specs, fspecs);
1115: 
1115:   if (specs.align == align::numeric && fspecs.sign) {
1115:     auto it = reserve(out, 1);
1115:     *it++ = detail::sign<Char>(fspecs.sign);
1115:     out = base_iterator(out, it);
1115:     fspecs.sign = sign::none;
1115:     if (specs.width != 0) --specs.width;
1115:   }
1115: 
1115:   memory_buffer buffer;
1115:   if (fspecs.format == float_format::hex) {
1115:     if (fspecs.sign) buffer.push_back(detail::sign<char>(fspecs.sign));
1115:     snprintf_float(convert_float(value), specs.precision, fspecs, buffer);
1115:     return write_bytes<align::right>(out, {buffer.data(), buffer.size()},
1115:                                      specs);
1115:   }
1115:   int precision = specs.precision >= 0 || specs.type == presentation_type::none
1115:                       ? specs.precision
1115:                       : 6;
1115:   if (fspecs.format == float_format::exp) {
1115:     if (precision == max_value<int>())
1115:       throw_format_error("number is too big");
1115:     else
1115:       ++precision;
1115:   } else if (fspecs.format != float_format::fixed && precision == 0) {
1115:     precision = 1;
1115:   }
1115:   if (const_check(std::is_same<T, float>())) fspecs.binary32 = true;
1115:   int exp = format_float(convert_float(value), precision, fspecs, buffer);
1115:   fspecs.precision = precision;
1115:   auto f = big_decimal_fp{buffer.data(), static_cast<int>(buffer.size()), exp};
1115:   return write_float(out, f, specs, fspecs, loc);
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(is_fast_float<T>::value), int> = 0>
1115:  auto write(OutputIt out, T value) -> OutputIt {
1115:   if (is_constant_evaluated())
1115:     return write(out, value, basic_format_specs<Char>());
1115:   if (const_check(!is_supported_floating_point(value))) return out;
1115: 
1115:   auto fspecs = float_specs();
1115:   if (detail::signbit(value)) {
1115:     fspecs.sign = sign::minus;
1115:     value = -value;
1115:   }
1115: 
1115:   constexpr auto specs = basic_format_specs<Char>();
1115:   using floaty = conditional_t<std::is_same<T, long double>::value, double, T>;
1115:   using uint = typename dragonbox::float_info<floaty>::carrier_uint;
1115:   uint mask = exponent_mask<floaty>();
1115:   if ((bit_cast<uint>(value) & mask) == mask)
1115:     return write_nonfinite(out, std::isnan(value), specs, fspecs);
1115: 
1115:   auto dec = dragonbox::to_decimal(static_cast<floaty>(value));
1115:   return write_float(out, dec, specs, fspecs, {});
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(is_floating_point<T>::value && !is_fast_float<T>::value), int> = 0
1115:                                                  >
1115: inline auto write(OutputIt out, T value) -> OutputIt {
1115:   return write(out, value, basic_format_specs<Char>());
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: auto write(OutputIt out, monostate, basic_format_specs<Char> = {},
1115:            locale_ref = {}) -> OutputIt {
1115:   ::fmt::detail::ignore_unused((false), (""));
1115:   return out;
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write(OutputIt out, basic_string_view<Char> value)
1115:     -> OutputIt {
1115:   auto it = reserve(out, value.size());
1115:   it = copy_str_noinline<Char>(value.begin(), value.end(), it);
1115:   return base_iterator(out, it);
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(is_string<T>::value), int> = 0>
1115: constexpr auto write(OutputIt out, const T& value) -> OutputIt {
1115:   return write<Char>(out, to_string_view(value));
1115: }
1115: 
1115: 
1115: template <
1115:     typename Char, typename OutputIt, typename T,
1115:     bool check =
1115:         std::is_enum<T>::value && !std::is_same<T, Char>::value &&
1115:         mapped_type_constant<T, basic_format_context<OutputIt, Char>>::value !=
1115:             type::custom_type,
1115:     enable_if_t<(check), int> = 0>
1115: constexpr auto write(OutputIt out, T value) -> OutputIt {
1115:   return write<Char>(out, static_cast<underlying_t<T>>(value));
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(std::is_same<T, bool>::value), int> = 0>
1115: constexpr auto write(OutputIt out, T value,
1115:                          const basic_format_specs<Char>& specs = {},
1115:                          locale_ref = {}) -> OutputIt {
1115:   return specs.type != presentation_type::none &&
1115:                  specs.type != presentation_type::string
1115:              ? write(out, value ? 1 : 0, specs, {})
1115:              : write_bytes(out, value ? "true" : "false", specs);
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write(OutputIt out, Char value) -> OutputIt {
1115:   auto it = reserve(out, 1);
1115:   *it++ = value;
1115:   return base_iterator(out, it);
1115: }
1115: 
1115: template <typename Char, typename OutputIt>
1115: constexpr auto write(OutputIt out, const Char* value)
1115:     -> OutputIt {
1115:   if (!value) {
1115:     throw_format_error("string pointer is null");
1115:   } else {
1115:     out = write(out, basic_string_view<Char>(value));
1115:   }
1115:   return out;
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           enable_if_t<(std::is_same<T, void>::value), int> = 0>
1115: auto write(OutputIt out, const T* value,
1115:            const basic_format_specs<Char>& specs = {}, locale_ref = {})
1115:     -> OutputIt {
1115:   check_pointer_type_spec(specs.type, error_handler());
1115:   return write_ptr<Char>(out, bit_cast<uintptr_t>(value), &specs);
1115: }
1115: 
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           typename Context = basic_format_context<OutputIt, Char>>
1115: constexpr auto write(OutputIt out, const T& value) -> enable_if_t<
1115:     std::is_class<T>::value && !is_string<T>::value &&
1115:         !is_floating_point<T>::value && !std::is_same<T, Char>::value &&
1115:         !std::is_same<const T&,
1115:                       decltype(arg_mapper<Context>().map(value))>::value,
1115:     OutputIt> {
1115:   return write<Char>(out, arg_mapper<Context>().map(value));
1115: }
1115: 
1115: template <typename Char, typename OutputIt, typename T,
1115:           typename Context = basic_format_context<OutputIt, Char>>
1115: constexpr auto write(OutputIt out, const T& value)
1115:     -> enable_if_t<mapped_type_constant<T, Context>::value == type::custom_type,
1115:                    OutputIt> {
1115:   using formatter_type =
1115:       conditional_t<has_formatter<T, Context>::value,
1115:                     typename Context::template formatter_type<T>,
1115:                     fallback_formatter<T, Char>>;
1115:   auto ctx = Context(out, {}, {});
1115:   return formatter_type().format(value, ctx);
1115: }
1115: 
1115: 
1115: 
1115: template <typename Char> struct default_arg_formatter {
1115:   using iterator = buffer_appender<Char>;
1115:   using context = buffer_context<Char>;
1115: 
1115:   iterator out;
1115:   basic_format_args<context> args;
1115:   locale_ref loc;
1115: 
1115:   template <typename T> auto operator()(T value) -> iterator {
1115:     return write<Char>(out, value);
1115:   }
1115:   auto operator()(typename basic_format_arg<context>::handle h) -> iterator {
1115:     basic_format_parse_context<Char> parse_ctx({});
1115:     context format_ctx(out, args, loc);
1115:     h.format(parse_ctx, format_ctx);
1115:     return format_ctx.out();
1115:   }
1115: };
1115: 
1115: template <typename Char> struct arg_formatter {
1115:   using iterator = buffer_appender<Char>;
1115:   using context = buffer_context<Char>;
1115: 
1115:   iterator out;
1115:   const basic_format_specs<Char>& specs;
1115:   locale_ref locale;
1115: 
1115:   template <typename T>
1115:   constexpr inline __attribute__((always_inline)) auto operator()(T value) -> iterator {
1115:     return detail::write(out, value, specs, locale);
1115:   }
1115:   auto operator()(typename basic_format_arg<context>::handle) -> iterator {
1115: 
1115: 
1115:     return out;
1115:   }
1115: };
1115: 
1115: template <typename Char> struct custom_formatter {
1115:   basic_format_parse_context<Char>& parse_ctx;
1115:   buffer_context<Char>& ctx;
1115: 
1115:   void operator()(
1115:       typename basic_format_arg<buffer_context<Char>>::handle h) const {
1115:     h.format(parse_ctx, ctx);
1115:   }
1115:   template <typename T> void operator()(T) const {}
1115: };
1115: 
1115: template <typename T>
1115: using is_integer =
1115:     bool_constant<is_integral<T>::value && !std::is_same<T, bool>::value &&
1115:                   !std::is_same<T, char>::value &&
1115:                   !std::is_same<T, wchar_t>::value>;
1115: 
1115: template <typename ErrorHandler> class width_checker {
1115:  public:
1115:   explicit constexpr width_checker(ErrorHandler& eh) : handler_(eh) {}
1115: 
1115:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
1115:   constexpr auto operator()(T value) -> unsigned long long {
1115:     if (is_negative(value)) handler_.on_error("negative width");
1115:     return static_cast<unsigned long long>(value);
1115:   }
1115: 
1115:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1115:   constexpr auto operator()(T) -> unsigned long long {
1115:     handler_.on_error("width is not integer");
1115:     return 0;
1115:   }
1115: 
1115:  private:
1115:   ErrorHandler& handler_;
1115: };
1115: 
1115: template <typename ErrorHandler> class precision_checker {
1115:  public:
1115:   explicit constexpr precision_checker(ErrorHandler& eh) : handler_(eh) {}
1115: 
1115:   template <typename T, enable_if_t<(is_integer<T>::value), int> = 0>
1115:   constexpr auto operator()(T value) -> unsigned long long {
1115:     if (is_negative(value)) handler_.on_error("negative precision");
1115:     return static_cast<unsigned long long>(value);
1115:   }
1115: 
1115:   template <typename T, enable_if_t<(!is_integer<T>::value), int> = 0>
1115:   constexpr auto operator()(T) -> unsigned long long {
1115:     handler_.on_error("precision is not integer");
1115:     return 0;
1115:   }
1115: 
1115:  private:
1115:   ErrorHandler& handler_;
1115: };
1115: 
1115: template <template <typename> class Handler, typename FormatArg,
1115:           typename ErrorHandler>
1115: constexpr auto get_dynamic_spec(FormatArg arg, ErrorHandler eh) -> int {
1115:   unsigned long long value = visit_format_arg(Handler<ErrorHandler>(eh), arg);
1115:   if (value > to_unsigned(max_value<int>())) eh.on_error("number is too big");
1115:   return static_cast<int>(value);
1115: }
1115: 
1115: template <typename Context, typename ID>
1115: constexpr auto get_arg(Context& ctx, ID id) ->
1115:     typename Context::format_arg {
1115:   auto arg = ctx.arg(id);
1115:   if (!arg) ctx.on_error("argument not found");
1115:   return arg;
1115: }
1115: 
1115: 
1115: template <typename Char> class specs_handler : public specs_setter<Char> {
1115:  private:
1115:   basic_format_parse_context<Char>& parse_context_;
1115:   buffer_context<Char>& context_;
1115: 
1115: 
1115:   using format_arg = basic_format_arg<buffer_context<Char>>;
1115: 
1115:   constexpr auto get_arg(auto_id) -> format_arg {
1115:     return detail::get_arg(context_, parse_context_.next_arg_id());
1115:   }
1115: 
1115:   constexpr auto get_arg(int arg_id) -> format_arg {
1115:     parse_context_.check_arg_id(arg_id);
1115:     return detail::get_arg(context_, arg_id);
1115:   }
1115: 
1115:   constexpr auto get_arg(basic_string_view<Char> arg_id) -> format_arg {
1115:     parse_context_.check_arg_id(arg_id);
1115:     return detail::get_arg(context_, arg_id);
1115:   }
1115: 
1115:  public:
1115:   constexpr specs_handler(basic_format_specs<Char>& specs,
1115:                               basic_format_parse_context<Char>& parse_ctx,
1115:                               buffer_context<Char>& ctx)
1115:       : specs_setter<Char>(specs), parse_context_(parse_ctx), context_(ctx) {}
1115: 
1115:   template <typename Id> constexpr void on_dynamic_width(Id arg_id) {
1115:     this->specs_.width = get_dynamic_spec<width_checker>(
1115:         get_arg(arg_id), context_.error_handler());
1115:   }
1115: 
1115:   template <typename Id> constexpr void on_dynamic_precision(Id arg_id) {
1115:     this->specs_.precision = get_dynamic_spec<precision_checker>(
1115:         get_arg(arg_id), context_.error_handler());
1115:   }
1115: 
1115:   void on_error(const char* message) { context_.on_error(message); }
1115: };
1115: 
1115: template <template <typename> class Handler, typename Context>
1115: constexpr void handle_dynamic_spec(int& value,
1115:                                        arg_ref<typename Context::char_type> ref,
1115:                                        Context& ctx) {
1115:   switch (ref.kind) {
1115:   case arg_id_kind::none:
1115:     break;
1115:   case arg_id_kind::index:
1115:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.index),
1115:                                               ctx.error_handler());
1115:     break;
1115:   case arg_id_kind::name:
1115:     value = detail::get_dynamic_spec<Handler>(ctx.arg(ref.val.name),
1115:                                               ctx.error_handler());
1115:     break;
1115:   }
1115: }
1115: 
1115: 
1115: template <typename Char> struct udl_formatter {
1115:   basic_string_view<Char> str;
1115: 
1115:   template <typename... T>
1115:   auto operator()(T&&... args) const -> std::basic_string<Char> {
1115:     return vformat(str, fmt::make_format_args<buffer_context<Char>>(args...));
1115:   }
1115: };
1115: # 3573 "/usr/include/fmt/format.h" 3 4
1115: template <typename Char> struct udl_arg {
1115:   const Char* str;
1115: 
1115:   template <typename T> auto operator=(T&& value) const -> named_arg<Char, T> {
1115:     return {str, std::forward<T>(value)};
1115:   }
1115: };
1115: 
1115: 
1115: 
1115: template <typename Locale, typename Char>
1115: auto vformat(const Locale& loc, basic_string_view<Char> format_str,
1115:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
1115:     -> std::basic_string<Char> {
1115:   basic_memory_buffer<Char> buffer;
1115:   detail::vformat_to(buffer, format_str, args, detail::locale_ref(loc));
1115:   return {buffer.data(), buffer.size()};
1115: }
1115: 
1115: using format_func = void (*)(detail::buffer<char>&, int, const char*);
1115: 
1115:  void format_error_code(buffer<char>& out, int error_code,
1115:                                string_view message) noexcept;
1115: 
1115:  void report_error(format_func func, int error_code,
1115:                           const char* message) noexcept;
1115: }
1115: 
1115:  auto vsystem_error(int error_code, string_view format_str,
1115:                            format_args args) -> std::system_error;
1115: # 3621 "/usr/include/fmt/format.h" 3 4
1115: template <typename... T>
1115: auto system_error(int error_code, format_string<T...> fmt, T&&... args)
1115:     -> std::system_error {
1115:   return vsystem_error(error_code, fmt, fmt::make_format_args(args...));
1115: }
1115: # 3643 "/usr/include/fmt/format.h" 3 4
1115:  void format_system_error(detail::buffer<char>& out, int error_code,
1115:                                  const char* message) noexcept;
1115: 
1115: 
1115: 
1115:  void report_system_error(int error_code, const char* message) noexcept;
1115: 
1115: 
1115: class format_int {
1115:  private:
1115: 
1115: 
1115:   enum { buffer_size = std::numeric_limits<unsigned long long>::digits10 + 3 };
1115:   mutable char buffer_[buffer_size];
1115:   char* str_;
1115: 
1115:   template <typename UInt> auto format_unsigned(UInt value) -> char* {
1115:     auto n = static_cast<detail::uint32_or_64_or_128_t<UInt>>(value);
1115:     return detail::format_decimal(buffer_, n, buffer_size - 1).begin;
1115:   }
1115: 
1115:   template <typename Int> auto format_signed(Int value) -> char* {
1115:     auto abs_value = static_cast<detail::uint32_or_64_or_128_t<Int>>(value);
1115:     bool negative = value < 0;
1115:     if (negative) abs_value = 0 - abs_value;
1115:     auto begin = format_unsigned(abs_value);
1115:     if (negative) *--begin = '-';
1115:     return begin;
1115:   }
1115: 
1115:  public:
1115:   explicit format_int(int value) : str_(format_signed(value)) {}
1115:   explicit format_int(long value) : str_(format_signed(value)) {}
1115:   explicit format_int(long long value) : str_(format_signed(value)) {}
1115:   explicit format_int(unsigned value) : str_(format_unsigned(value)) {}
1115:   explicit format_int(unsigned long value) : str_(format_unsigned(value)) {}
1115:   explicit format_int(unsigned long long value)
1115:       : str_(format_unsigned(value)) {}
1115: 
1115: 
1115:   auto size() const -> size_t {
1115:     return detail::to_unsigned(buffer_ - str_ + buffer_size - 1);
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   auto data() const -> const char* { return str_; }
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   auto c_str() const -> const char* {
1115:     buffer_[buffer_size - 1] = '\0';
1115:     return str_;
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   auto str() const -> std::string { return std::string(str_, size()); }
1115: };
1115: 
1115: template <typename T, typename Char>
1115: template <typename FormatContext>
1115: constexpr inline __attribute__((always_inline)) auto
1115: formatter<T, Char,
1115:           enable_if_t<detail::type_constant<T, Char>::value !=
1115:                       detail::type::custom_type>>::format(const T& val,
1115:                                                           FormatContext& ctx)
1115:     const -> decltype(ctx.out()) {
1115:   if (specs_.width_ref.kind != detail::arg_id_kind::none ||
1115:       specs_.precision_ref.kind != detail::arg_id_kind::none) {
1115:     auto specs = specs_;
1115:     detail::handle_dynamic_spec<detail::width_checker>(specs.width,
1115:                                                        specs.width_ref, ctx);
1115:     detail::handle_dynamic_spec<detail::precision_checker>(
1115:         specs.precision, specs.precision_ref, ctx);
1115:     return detail::write<Char>(ctx.out(), val, specs, ctx.locale());
1115:   }
1115:   return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1115: }
1115: 
1115: template <typename Char>
1115: struct formatter<void*, Char> : formatter<const void*, Char> {
1115:   template <typename FormatContext>
1115:   auto format(void* val, FormatContext& ctx) const -> decltype(ctx.out()) {
1115:     return formatter<const void*, Char>::format(val, ctx);
1115:   }
1115: };
1115: 
1115: template <typename Char, size_t N>
1115: struct formatter<Char[N], Char> : formatter<basic_string_view<Char>, Char> {
1115:   template <typename FormatContext>
1115:   constexpr auto format(const Char* val, FormatContext& ctx) const
1115:       -> decltype(ctx.out()) {
1115:     return formatter<basic_string_view<Char>, Char>::format(val, ctx);
1115:   }
1115: };
1115: # 3759 "/usr/include/fmt/format.h" 3 4
1115: template <typename Char = char> class dynamic_formatter {
1115:  private:
1115:   detail::dynamic_format_specs<Char> specs_;
1115:   const Char* format_str_;
1115: 
1115:   struct null_handler : detail::error_handler {
1115:     void on_align(align_t) {}
1115:     void on_sign(sign_t) {}
1115:     void on_hash() {}
1115:   };
1115: 
1115:   template <typename Context> void handle_specs(Context& ctx) {
1115:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1115:                                                        specs_.width_ref, ctx);
1115:     detail::handle_dynamic_spec<detail::precision_checker>(
1115:         specs_.precision, specs_.precision_ref, ctx);
1115:   }
1115: 
1115:  public:
1115:   template <typename ParseContext>
1115:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1115:     format_str_ = ctx.begin();
1115: 
1115:     detail::dynamic_specs_handler<ParseContext> handler(specs_, ctx);
1115:     return detail::parse_format_specs(ctx.begin(), ctx.end(), handler);
1115:   }
1115: 
1115:   template <typename T, typename FormatContext>
1115:   auto format(const T& val, FormatContext& ctx) -> decltype(ctx.out()) {
1115:     handle_specs(ctx);
1115:     detail::specs_checker<null_handler> checker(
1115:         null_handler(), detail::mapped_type_constant<T, FormatContext>::value);
1115:     checker.on_align(specs_.align);
1115:     if (specs_.sign != sign::none) checker.on_sign(specs_.sign);
1115:     if (specs_.alt) checker.on_hash();
1115:     if (specs_.precision >= 0) checker.end_precision();
1115:     return detail::write<Char>(ctx.out(), val, specs_, ctx.locale());
1115:   }
1115: };
1115: # 3808 "/usr/include/fmt/format.h" 3 4
1115: template <typename T> auto ptr(T p) -> const void* {
1115:   static_assert(std::is_pointer<T>::value, "");
1115:   return detail::bit_cast<const void*>(p);
1115: }
1115: template <typename T> auto ptr(const std::unique_ptr<T>& p) -> const void* {
1115:   return p.get();
1115: }
1115: template <typename T> auto ptr(const std::shared_ptr<T>& p) -> const void* {
1115:   return p.get();
1115: }
1115: # 3829 "/usr/include/fmt/format.h" 3 4
1115: template <typename Enum>
1115: constexpr auto underlying(Enum e) noexcept -> underlying_t<Enum> {
1115:   return static_cast<underlying_t<Enum>>(e);
1115: }
1115: 
1115: namespace enums {
1115: template <typename Enum, enable_if_t<(std::is_enum<Enum>::value), int> = 0>
1115: constexpr auto format_as(Enum e) noexcept -> underlying_t<Enum> {
1115:   return static_cast<underlying_t<Enum>>(e);
1115: }
1115: }
1115: 
1115: class bytes {
1115:  private:
1115:   string_view data_;
1115:   friend struct formatter<bytes>;
1115: 
1115:  public:
1115:   explicit bytes(string_view data) : data_(data) {}
1115: };
1115: 
1115: template <> struct formatter<bytes> {
1115:  private:
1115:   detail::dynamic_format_specs<char> specs_;
1115: 
1115:  public:
1115:   template <typename ParseContext>
1115:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1115:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1115:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1115:                                                 detail::type::string_type);
1115:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1115:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1115:     return it;
1115:   }
1115: 
1115:   template <typename FormatContext>
1115:   auto format(bytes b, FormatContext& ctx) -> decltype(ctx.out()) {
1115:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1115:                                                        specs_.width_ref, ctx);
1115:     detail::handle_dynamic_spec<detail::precision_checker>(
1115:         specs_.precision, specs_.precision_ref, ctx);
1115:     return detail::write_bytes(ctx.out(), b.data_, specs_);
1115:   }
1115: };
1115: 
1115: 
1115: template <typename T> struct group_digits_view { T value; };
1115: # 3889 "/usr/include/fmt/format.h" 3 4
1115: template <typename T> auto group_digits(T value) -> group_digits_view<T> {
1115:   return {value};
1115: }
1115: 
1115: template <typename T> struct formatter<group_digits_view<T>> : formatter<T> {
1115:  private:
1115:   detail::dynamic_format_specs<char> specs_;
1115: 
1115:  public:
1115:   template <typename ParseContext>
1115:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1115:     using handler_type = detail::dynamic_specs_handler<ParseContext>;
1115:     detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
1115:                                                 detail::type::int_type);
1115:     auto it = parse_format_specs(ctx.begin(), ctx.end(), handler);
1115:     detail::check_string_type_spec(specs_.type, ctx.error_handler());
1115:     return it;
1115:   }
1115: 
1115:   template <typename FormatContext>
1115:   auto format(group_digits_view<T> t, FormatContext& ctx)
1115:       -> decltype(ctx.out()) {
1115:     detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
1115:                                                        specs_.width_ref, ctx);
1115:     detail::handle_dynamic_spec<detail::precision_checker>(
1115:         specs_.precision, specs_.precision_ref, ctx);
1115:     return detail::write_int_localized(
1115:         ctx.out(), static_cast<detail::uint64_or_128_t<T>>(t.value), 0, specs_,
1115:         detail::digit_grouping<char>({"\3", ','}));
1115:   }
1115: };
1115: 
1115: template <typename It, typename Sentinel, typename Char = char>
1115: struct join_view : detail::view {
1115:   It begin;
1115:   Sentinel end;
1115:   basic_string_view<Char> sep;
1115: 
1115:   join_view(It b, Sentinel e, basic_string_view<Char> s)
1115:       : begin(b), end(e), sep(s) {}
1115: };
1115: 
1115: template <typename It, typename Sentinel, typename Char>
1115: struct formatter<join_view<It, Sentinel, Char>, Char> {
1115:  private:
1115:   using value_type =
1115: 
1115: 
1115: 
1115:       typename std::iterator_traits<It>::value_type;
1115: 
1115:   using context = buffer_context<Char>;
1115:   using mapper = detail::arg_mapper<context>;
1115: 
1115:   template <typename T, enable_if_t<(has_formatter<T, context>::value), int> = 0>
1115:   static auto map(const T& value) -> const T& {
1115:     return value;
1115:   }
1115:   template <typename T, enable_if_t<(!has_formatter<T, context>::value), int> = 0>
1115:   static auto map(const T& value) -> decltype(mapper().map(value)) {
1115:     return mapper().map(value);
1115:   }
1115: 
1115:   using formatter_type =
1115:       conditional_t<is_formattable<value_type, Char>::value,
1115:                     formatter<remove_cvref_t<decltype(map(
1115:                                   std::declval<const value_type&>()))>,
1115:                               Char>,
1115:                     detail::fallback_formatter<value_type, Char>>;
1115: 
1115:   formatter_type value_formatter_;
1115: 
1115:  public:
1115:   template <typename ParseContext>
1115:   constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
1115:     return value_formatter_.parse(ctx);
1115:   }
1115: 
1115:   template <typename FormatContext>
1115:   auto format(const join_view<It, Sentinel, Char>& value,
1115:               FormatContext& ctx) const -> decltype(ctx.out()) {
1115:     auto it = value.begin;
1115:     auto out = ctx.out();
1115:     if (it != value.end) {
1115:       out = value_formatter_.format(map(*it), ctx);
1115:       ++it;
1115:       while (it != value.end) {
1115:         out = detail::copy_str<Char>(value.sep.begin(), value.sep.end(), out);
1115:         ctx.advance_to(out);
1115:         out = value_formatter_.format(map(*it), ctx);
1115:         ++it;
1115:       }
1115:     }
1115:     return out;
1115:   }
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename It, typename Sentinel>
1115: auto join(It begin, Sentinel end, string_view sep) -> join_view<It, Sentinel> {
1115:   return {begin, end, sep};
1115: }
1115: # 4011 "/usr/include/fmt/format.h" 3 4
1115: template <typename Range>
1115: auto join(Range&& range, string_view sep)
1115:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>> {
1115:   return join(std::begin(range), std::end(range), sep);
1115: }
1115: # 4028 "/usr/include/fmt/format.h" 3 4
1115: template <typename T, enable_if_t<(!std::is_integral<T>::value), int> = 0>
1115: inline auto to_string(const T& value) -> std::string {
1115:   auto result = std::string();
1115:   detail::write<char>(std::back_inserter(result), value);
1115:   return result;
1115: }
1115: 
1115: template <typename T, enable_if_t<(std::is_integral<T>::value), int> = 0>
1115: [[nodiscard]] inline auto to_string(T value) -> std::string {
1115: 
1115: 
1115:   constexpr int max_size = detail::digits10<T>() + 2;
1115:   char buffer[max_size > 5 ? static_cast<unsigned>(max_size) : 5];
1115:   char* begin = buffer;
1115:   return std::string(begin, detail::write<char>(begin, value));
1115: }
1115: 
1115: template <typename Char, size_t SIZE>
1115: [[nodiscard]] auto to_string(const basic_memory_buffer<Char, SIZE>& buf)
1115:     -> std::basic_string<Char> {
1115:   auto size = buf.size();
1115:   detail::assume(size < std::basic_string<Char>().max_size());
1115:   return std::basic_string<Char>(buf.data(), size);
1115: }
1115: 
1115: namespace detail {
1115: 
1115: template <typename Char>
1115: void vformat_to(
1115:     buffer<Char>& buf, basic_string_view<Char> fmt,
1115:     basic_format_args<basic_format_context<detail::buffer_appender<type_identity_t<Char> >, type_identity_t<Char> > > args,
1115:     locale_ref loc) {
1115: 
1115: 
1115:   using detail::arg_formatter;
1115:   using detail::buffer_appender;
1115:   using detail::custom_formatter;
1115:   using detail::default_arg_formatter;
1115:   using detail::get_arg;
1115:   using detail::locale_ref;
1115:   using detail::parse_format_specs;
1115:   using detail::specs_checker;
1115:   using detail::specs_handler;
1115:   using detail::to_unsigned;
1115:   using detail::type;
1115:   using detail::write;
1115:   auto out = buffer_appender<Char>(buf);
1115:   if (fmt.size() == 2 && equal2(fmt.data(), "{}")) {
1115:     auto arg = args.get(0);
1115:     if (!arg) error_handler().on_error("argument not found");
1115:     visit_format_arg(default_arg_formatter<Char>{out, args, loc}, arg);
1115:     return;
1115:   }
1115: 
1115:   struct format_handler : error_handler {
1115:     basic_format_parse_context<Char> parse_context;
1115:     buffer_context<Char> context;
1115: 
1115:     format_handler(buffer_appender<Char> p_out, basic_string_view<Char> str,
1115:                    basic_format_args<buffer_context<Char>> p_args,
1115:                    locale_ref p_loc)
1115:         : parse_context(str), context(p_out, p_args, p_loc) {}
1115: 
1115:     void on_text(const Char* begin, const Char* end) {
1115:       auto text = basic_string_view<Char>(begin, to_unsigned(end - begin));
1115:       context.advance_to(write<Char>(context.out(), text));
1115:     }
1115: 
1115:     constexpr auto on_arg_id() -> int {
1115:       return parse_context.next_arg_id();
1115:     }
1115:     constexpr auto on_arg_id(int id) -> int {
1115:       return parse_context.check_arg_id(id), id;
1115:     }
1115:     constexpr auto on_arg_id(basic_string_view<Char> id) -> int {
1115:       int arg_id = context.arg_id(id);
1115:       if (arg_id < 0) on_error("argument not found");
1115:       return arg_id;
1115:     }
1115: 
1115:     inline __attribute__((always_inline)) void on_replacement_field(int id, const Char*) {
1115:       auto arg = get_arg(context, id);
1115:       context.advance_to(visit_format_arg(
1115:           default_arg_formatter<Char>{context.out(), context.args(),
1115:                                       context.locale()},
1115:           arg));
1115:     }
1115: 
1115:     auto on_format_specs(int id, const Char* begin, const Char* end)
1115:         -> const Char* {
1115:       auto arg = get_arg(context, id);
1115:       if (arg.type() == type::custom_type) {
1115:         parse_context.advance_to(parse_context.begin() +
1115:                                  (begin - &*parse_context.begin()));
1115:         visit_format_arg(custom_formatter<Char>{parse_context, context}, arg);
1115:         return parse_context.begin();
1115:       }
1115:       auto specs = basic_format_specs<Char>();
1115:       specs_checker<specs_handler<Char>> handler(
1115:           specs_handler<Char>(specs, parse_context, context), arg.type());
1115:       begin = parse_format_specs(begin, end, handler);
1115:       if (begin == end || *begin != '}')
1115:         on_error("missing '}' in format string");
1115:       auto f = arg_formatter<Char>{context.out(), specs, context.locale()};
1115:       context.advance_to(visit_format_arg(f, arg));
1115:       return begin;
1115:     }
1115:   };
1115:   detail::parse_format_string<false>(fmt, format_handler(out, fmt, args, loc));
1115: }
1115: 
1115: 
1115: extern template auto thousands_sep_impl<char>(locale_ref)
1115:     -> thousands_sep_result<char>;
1115: extern template auto thousands_sep_impl<wchar_t>(locale_ref)
1115:     -> thousands_sep_result<wchar_t>;
1115: extern template auto decimal_point_impl(locale_ref) -> char;
1115: extern template auto decimal_point_impl(locale_ref) -> wchar_t;
1115: 
1115: 
1115: }
1115: 
1115: 
1115: inline namespace literals {
1115: # 4168 "/usr/include/fmt/format.h" 3 4
1115: constexpr auto operator"" _a(const char* s, size_t) -> detail::udl_arg<char> {
1115:   return {s};
1115: }
1115: 
1115: }
1115: 
1115: 
1115: template <typename Locale, enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1115: inline auto vformat(const Locale& loc, string_view fmt, format_args args)
1115:     -> std::string {
1115:   return detail::vformat(loc, fmt, args);
1115: }
1115: 
1115: template <typename Locale, typename... T,
1115:           enable_if_t<(detail::is_locale<Locale>::value), int> = 0>
1115: inline auto format(const Locale& loc, format_string<T...> fmt, T&&... args)
1115:     -> std::string {
1115:   return vformat(loc, string_view(fmt), fmt::make_format_args(args...));
1115: }
1115: 
1115: template <typename OutputIt, typename Locale,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1115:                                                              >
1115: auto vformat_to(OutputIt out, const Locale& loc, string_view fmt,
1115:                 format_args args) -> OutputIt {
1115:   using detail::get_buffer;
1115:   auto&& buf = get_buffer<char>(out);
1115:   detail::vformat_to(buf, fmt, args, detail::locale_ref(loc));
1115:   return detail::get_iterator(buf);
1115: }
1115: 
1115: template <typename OutputIt, typename Locale, typename... T,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, char>::value&& detail::is_locale<Locale>::value), int> = 0
1115:                                                              >
1115: inline __attribute__((always_inline)) auto format_to(OutputIt out, const Locale& loc,
1115:                           format_string<T...> fmt, T&&... args) -> OutputIt {
1115:   return vformat_to(out, loc, fmt, fmt::make_format_args(args...));
1115: }
1115: 
1115: 
1115: } }
1115: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1115: 
1115: # 1 "/usr/include/fmt/xchar.h" 1 3 4
1115: # 11 "/usr/include/fmt/xchar.h" 3 4
1115: # 1 "/usr/include/c++/12/cwchar" 1 3 4
1115: # 39 "/usr/include/c++/12/cwchar" 3 4
1115:        
1115: # 40 "/usr/include/c++/12/cwchar" 3
1115: # 12 "/usr/include/fmt/xchar.h" 2 3 4
1115: 
1115: # 1 "/usr/include/fmt/format.h" 1 3 4
1115: # 14 "/usr/include/fmt/xchar.h" 2 3 4
1115: 
1115: namespace fmt { inline namespace v9 {
1115: namespace detail {
1115: template <typename T>
1115: using is_exotic_char = bool_constant<!std::is_same<T, char>::value>;
1115: }
1115: 
1115: 
1115: 
1115: using wstring_view = basic_string_view<wchar_t>;
1115: using wformat_parse_context = basic_format_parse_context<wchar_t>;
1115: using wformat_context = buffer_context<wchar_t>;
1115: using wformat_args = basic_format_args<wformat_context>;
1115: using wmemory_buffer = basic_memory_buffer<wchar_t>;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template <typename... Args>
1115: using wformat_string = basic_format_string<wchar_t, type_identity_t<Args>...>;
1115: inline auto runtime(wstring_view s) -> basic_runtime<wchar_t> { return {{s}}; }
1115: 
1115: 
1115: template <> struct is_char<wchar_t> : std::true_type {};
1115: template <> struct is_char<detail::char8_type> : std::true_type {};
1115: template <> struct is_char<char16_t> : std::true_type {};
1115: template <> struct is_char<char32_t> : std::true_type {};
1115: 
1115: template <typename... Args>
1115: constexpr format_arg_store<wformat_context, Args...> make_wformat_args(
1115:     const Args&... args) {
1115:   return {args...};
1115: }
1115: 
1115: inline namespace literals {
1115: 
1115: constexpr detail::udl_arg<wchar_t> operator"" _a(const wchar_t* s, size_t) {
1115:   return {s};
1115: }
1115: 
1115: }
1115: 
1115: template <typename It, typename Sentinel>
1115: auto join(It begin, Sentinel end, wstring_view sep)
1115:     -> join_view<It, Sentinel, wchar_t> {
1115:   return {begin, end, sep};
1115: }
1115: 
1115: template <typename Range>
1115: auto join(Range&& range, wstring_view sep)
1115:     -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>,
1115:                  wchar_t> {
1115:   return join(std::begin(range), std::end(range), sep);
1115: }
1115: 
1115: template <typename T>
1115: auto join(std::initializer_list<T> list, wstring_view sep)
1115:     -> join_view<const T*, const T*, wchar_t> {
1115:   return join(std::begin(list), std::end(list), sep);
1115: }
1115: 
1115: template <typename Char, enable_if_t<(!std::is_same<Char, char>::value), int> = 0>
1115: auto vformat(basic_string_view<Char> format_str,
1115:              basic_format_args<buffer_context<type_identity_t<Char>>> args)
1115:     -> std::basic_string<Char> {
1115:   basic_memory_buffer<Char> buffer;
1115:   detail::vformat_to(buffer, format_str, args);
1115:   return to_string(buffer);
1115: }
1115: 
1115: template <typename... T>
1115: auto format(wformat_string<T...> fmt, T&&... args) -> std::wstring {
1115:   return vformat(fmt::wstring_view(fmt), fmt::make_wformat_args(args...));
1115: }
1115: 
1115: 
1115: 
1115: template <typename S, typename... Args, typename Char = char_t<S>,
1115:           enable_if_t<(!std::is_same<Char, char>::value && !std::is_same<Char, wchar_t>::value), int> = 0
1115:                                                             >
1115: auto format(const S& format_str, Args&&... args) -> std::basic_string<Char> {
1115:   return vformat(detail::to_string_view(format_str),
1115:                  fmt::make_format_args<buffer_context<Char>>(args...));
1115: }
1115: 
1115: template <typename Locale, typename S, typename Char = char_t<S>,
1115:           enable_if_t<(detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1115:                                                                 >
1115: inline auto vformat(
1115:     const Locale& loc, const S& format_str,
1115:     basic_format_args<buffer_context<type_identity_t<Char>>> args)
1115:     -> std::basic_string<Char> {
1115:   return detail::vformat(loc, detail::to_string_view(format_str), args);
1115: }
1115: 
1115: template <typename Locale, typename S, typename... Args,
1115:           typename Char = char_t<S>,
1115:           enable_if_t<(detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1115:                                                                 >
1115: inline auto format(const Locale& loc, const S& format_str, Args&&... args)
1115:     -> std::basic_string<Char> {
1115:   return detail::vformat(loc, detail::to_string_view(format_str),
1115:                          fmt::make_format_args<buffer_context<Char>>(args...));
1115: }
1115: 
1115: template <typename OutputIt, typename S, typename Char = char_t<S>,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1115:                                                                 >
1115: auto vformat_to(OutputIt out, const S& format_str,
1115:                 basic_format_args<buffer_context<type_identity_t<Char>>> args)
1115:     -> OutputIt {
1115:   auto&& buf = detail::get_buffer<Char>(out);
1115:   detail::vformat_to(buf, detail::to_string_view(format_str), args);
1115:   return detail::get_iterator(buf);
1115: }
1115: 
1115: template <typename OutputIt, typename S, typename... Args,
1115:           typename Char = char_t<S>,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1115:                                                                 >
1115: inline auto format_to(OutputIt out, const S& fmt, Args&&... args) -> OutputIt {
1115:   return vformat_to(out, detail::to_string_view(fmt),
1115:                     fmt::make_format_args<buffer_context<Char>>(args...));
1115: }
1115: 
1115: template <typename Locale, typename S, typename OutputIt, typename... Args,
1115:           typename Char = char_t<S>,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value), int> = 0
1115: 
1115:                                                                     >
1115: inline auto vformat_to(
1115:     OutputIt out, const Locale& loc, const S& format_str,
1115:     basic_format_args<buffer_context<type_identity_t<Char>>> args) -> OutputIt {
1115:   auto&& buf = detail::get_buffer<Char>(out);
1115:   vformat_to(buf, detail::to_string_view(format_str), args,
1115:              detail::locale_ref(loc));
1115:   return detail::get_iterator(buf);
1115: }
1115: 
1115: template <
1115:     typename OutputIt, typename Locale, typename S, typename... Args,
1115:     typename Char = char_t<S>,
1115:     bool enable = detail::is_output_iterator<OutputIt, Char>::value&&
1115:         detail::is_locale<Locale>::value&& detail::is_exotic_char<Char>::value>
1115: inline auto format_to(OutputIt out, const Locale& loc, const S& format_str,
1115:                       Args&&... args) ->
1115:     typename std::enable_if<enable, OutputIt>::type {
1115:   return vformat_to(out, loc, to_string_view(format_str),
1115:                     fmt::make_format_args<buffer_context<Char>>(args...));
1115: }
1115: 
1115: template <typename OutputIt, typename Char, typename... Args,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1115:                                                                 >
1115: inline auto vformat_to_n(
1115:     OutputIt out, size_t n, basic_string_view<Char> format_str,
1115:     basic_format_args<buffer_context<type_identity_t<Char>>> args)
1115:     -> format_to_n_result<OutputIt> {
1115:   detail::iterator_buffer<OutputIt, Char, detail::fixed_buffer_traits> buf(out,
1115:                                                                            n);
1115:   detail::vformat_to(buf, format_str, args);
1115:   return {buf.out(), buf.count()};
1115: }
1115: 
1115: template <typename OutputIt, typename S, typename... Args,
1115:           typename Char = char_t<S>,
1115:           enable_if_t<(detail::is_output_iterator<OutputIt, Char>::value&& detail::is_exotic_char<Char>::value), int> = 0
1115:                                                                 >
1115: inline auto format_to_n(OutputIt out, size_t n, const S& fmt,
1115:                         const Args&... args) -> format_to_n_result<OutputIt> {
1115:   return vformat_to_n(out, n, detail::to_string_view(fmt),
1115:                       fmt::make_format_args<buffer_context<Char>>(args...));
1115: }
1115: 
1115: template <typename S, typename... Args, typename Char = char_t<S>,
1115:           enable_if_t<(detail::is_exotic_char<Char>::value), int> = 0>
1115: inline auto formatted_size(const S& fmt, Args&&... args) -> size_t {
1115:   detail::counting_buffer<Char> buf;
1115:   detail::vformat_to(buf, detail::to_string_view(fmt),
1115:                      fmt::make_format_args<buffer_context<Char>>(args...));
1115:   return buf.count();
1115: }
1115: 
1115: inline void vprint(std::FILE* f, wstring_view fmt, wformat_args args) {
1115:   wmemory_buffer buffer;
1115:   detail::vformat_to(buffer, fmt, args);
1115:   buffer.push_back(L'\0');
1115:   if (std::fputws(buffer.data(), f) == -1)
1115:     throw system_error((*__errno_location ()), [] { struct __attribute__((visibility("hidden"))) FMT_COMPILE_STRING : fmt::detail::compile_string { using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("cannot write to file"[0])>; [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const { return fmt::detail_exported::compile_string_to_view<char_type>("cannot write to file"); } }; return FMT_COMPILE_STRING(); }());
1115: }
1115: 
1115: inline void vprint(wstring_view fmt, wformat_args args) {
1115:   vprint(stdout, fmt, args);
1115: }
1115: 
1115: template <typename... T>
1115: void print(std::FILE* f, wformat_string<T...> fmt, T&&... args) {
1115:   return vprint(f, wstring_view(fmt), fmt::make_wformat_args(args...));
1115: }
1115: 
1115: template <typename... T> void print(wformat_string<T...> fmt, T&&... args) {
1115:   return vprint(wstring_view(fmt), fmt::make_wformat_args(args...));
1115: }
1115: 
1115: 
1115: 
1115: 
1115: template <typename T> inline auto to_wstring(const T& value) -> std::wstring {
1115:   return format([] { struct __attribute__((visibility("hidden"))) FMT_COMPILE_STRING : fmt::detail::compile_string { using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype(L"{}"[0])>; [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const { return fmt::detail_exported::compile_string_to_view<char_type>(L"{}"); } }; return FMT_COMPILE_STRING(); }(), value);
1115: }
1115: 
1115: } }
1115: # 40 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h" 2
1115: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115: 
1115: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115: template<typename T, std::enable_if_t<!std::is_enum<T>::value, int> = 0>
1115: constexpr auto&& EnumToInt(T&& arg) noexcept
1115: {
1115:   return arg;
1115: }
1115: template<typename T, std::enable_if_t<std::is_enum<T>::value, int> = 0>
1115: constexpr auto EnumToInt(T&& arg) noexcept
1115: {
1115:   return static_cast<int>(arg);
1115: }
1115: 
1115: class StringUtils
1115: {
1115: public:
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   template<typename... Args>
1115:   static std::string Format(const std::string& fmt, Args&&... args)
1115:   {
1115: 
1115:     return ::fmt::format(fmt, EnumToInt(std::forward<Args>(args))...);
1115:   }
1115:   template<typename... Args>
1115:   static std::wstring Format(const std::wstring& fmt, Args&&... args)
1115:   {
1115: 
1115:     return ::fmt::format(fmt, EnumToInt(std::forward<Args>(args))...);
1115:   }
1115: 
1115:   static std::string FormatV( const char *fmt, va_list args);
1115:   static std::wstring FormatV( const wchar_t *fmt, va_list args);
1115:   static std::string ToUpper(const std::string& str);
1115:   static std::wstring ToUpper(const std::wstring& str);
1115:   static void ToUpper(std::string &str);
1115:   static void ToUpper(std::wstring &str);
1115:   static std::string ToLower(const std::string& str);
1115:   static std::wstring ToLower(const std::wstring& str);
1115:   static void ToLower(std::string &str);
1115:   static void ToLower(std::wstring &str);
1115:   static void ToCapitalize(std::string &str);
1115:   static void ToCapitalize(std::wstring &str);
1115:   static bool EqualsNoCase(const std::string &str1, const std::string &str2);
1115:   static bool EqualsNoCase(const std::string &str1, const char *s2);
1115:   static bool EqualsNoCase(const char *s1, const char *s2);
1115:   static int CompareNoCase(const std::string& str1, const std::string& str2, size_t n = 0);
1115:   static int CompareNoCase(const char* s1, const char* s2, size_t n = 0);
1115:   static int ReturnDigits(const std::string &str);
1115:   static std::string Left(const std::string &str, size_t count);
1115:   static std::string Mid(const std::string &str, size_t first, size_t count = std::string::npos);
1115:   static std::string Right(const std::string &str, size_t count);
1115:   static std::string& Trim(std::string &str);
1115:   static std::string& Trim(std::string &str, const char* const chars);
1115:   static std::string& TrimLeft(std::string &str);
1115:   static std::string& TrimLeft(std::string &str, const char* const chars);
1115:   static std::string& TrimRight(std::string &str);
1115:   static std::string& TrimRight(std::string &str, const char* const chars);
1115:   static std::string& RemoveDuplicatedSpacesAndTabs(std::string& str);
1115:   static int Replace(std::string &str, char oldChar, char newChar);
1115:   static int Replace(std::string &str, const std::string &oldStr, const std::string &newStr);
1115:   static int Replace(std::wstring &str, const std::wstring &oldStr, const std::wstring &newStr);
1115:   static bool StartsWith(const std::string &str1, const std::string &str2);
1115:   static bool StartsWith(const std::string &str1, const char *s2);
1115:   static bool StartsWith(const char *s1, const char *s2);
1115:   static bool StartsWithNoCase(const std::string &str1, const std::string &str2);
1115:   static bool StartsWithNoCase(const std::string &str1, const char *s2);
1115:   static bool StartsWithNoCase(const char *s1, const char *s2);
1115:   static bool EndsWith(const std::string &str1, const std::string &str2);
1115:   static bool EndsWith(const std::string &str1, const char *s2);
1115:   static bool EndsWithNoCase(const std::string &str1, const std::string &str2);
1115:   static bool EndsWithNoCase(const std::string &str1, const char *s2);
1115: 
1115:   template<typename CONTAINER>
1115:   static std::string Join(const CONTAINER &strings, const std::string& delimiter)
1115:   {
1115:     std::string result;
1115:     for (const auto& str : strings)
1115:       result += str + delimiter;
1115: 
1115:     if (!result.empty())
1115:       result.erase(result.size() - delimiter.size());
1115:     return result;
1115:   }
1115: # 154 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   static std::vector<std::string> Split(const std::string& input, const std::string& delimiter, unsigned int iMaxStrings = 0);
1115:   static std::vector<std::string> Split(const std::string& input, const char delimiter, size_t iMaxStrings = 0);
1115:   static std::vector<std::string> Split(const std::string& input, const std::vector<std::string> &delimiters);
1115: # 168 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   template<typename OutputIt>
1115:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const std::string& delimiter, unsigned int iMaxStrings = 0)
1115:   {
1115:     OutputIt dest = d_first;
1115: 
1115:     if (input.empty())
1115:       return dest;
1115:     if (delimiter.empty())
1115:     {
1115:       *d_first++ = input;
1115:       return dest;
1115:     }
1115: 
1115:     const size_t delimLen = delimiter.length();
1115:     size_t nextDelim;
1115:     size_t textPos = 0;
1115:     do
1115:     {
1115:       if (--iMaxStrings == 0)
1115:       {
1115:         *dest++ = input.substr(textPos);
1115:         break;
1115:       }
1115:       nextDelim = input.find(delimiter, textPos);
1115:       *dest++ = input.substr(textPos, nextDelim - textPos);
1115:       textPos = nextDelim + delimLen;
1115:     } while (nextDelim != std::string::npos);
1115: 
1115:     return dest;
1115:   }
1115:   template<typename OutputIt>
1115:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const char delimiter, size_t iMaxStrings = 0)
1115:   {
1115:     return SplitTo(d_first, input, std::string(1, delimiter), iMaxStrings);
1115:   }
1115:   template<typename OutputIt>
1115:   static OutputIt SplitTo(OutputIt d_first, const std::string& input, const std::vector<std::string> &delimiters)
1115:   {
1115:     OutputIt dest = d_first;
1115:     if (input.empty())
1115:       return dest;
1115: 
1115:     if (delimiters.empty())
1115:     {
1115:       *dest++ = input;
1115:       return dest;
1115:     }
1115:     std::string str = input;
1115:     for (size_t di = 1; di < delimiters.size(); di++)
1115:       StringUtils::Replace(str, delimiters[di], delimiters[0]);
1115:     return SplitTo(dest, str, delimiters[0]);
1115:   }
1115: # 235 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   static std::vector<std::string> SplitMulti(const std::vector<std::string>& input,
1115:                                              const std::vector<std::string>& delimiters,
1115:                                              size_t iMaxStrings = 0);
1115:   static int FindNumber(const std::string& strInput, const std::string &strFind);
1115:   static int64_t AlphaNumericCompare(const wchar_t *left, const wchar_t *right);
1115:   static int AlphaNumericCollation(int nKey1, const void* pKey1, int nKey2, const void* pKey2);
1115:   static long TimeStringToSeconds(const std::string &timeString);
1115:   static void RemoveCRLF(std::string& strLine);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static size_t utf8_strlen(const char *s);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static std::string SecondsToTimeString(long seconds, TIME_FORMAT format = TIME_FORMAT_GUESS);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static bool IsNaturalNumber(const std::string& str);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static bool IsInteger(const std::string& str);
1115: 
1115: 
1115: 
1115: 
1115:   inline static bool isasciidigit(char chr)
1115:   {
1115:     return chr >= '0' && chr <= '9';
1115:   }
1115:   inline static bool isasciixdigit(char chr)
1115:   {
1115:     return (chr >= '0' && chr <= '9') || (chr >= 'a' && chr <= 'f') || (chr >= 'A' && chr <= 'F');
1115:   }
1115:   static int asciidigitvalue(char chr);
1115:   static int asciixdigitvalue(char chr);
1115:   inline static bool isasciiuppercaseletter(char chr)
1115:   {
1115:     return (chr >= 'A' && chr <= 'Z');
1115:   }
1115:   inline static bool isasciilowercaseletter(char chr)
1115:   {
1115:     return (chr >= 'a' && chr <= 'z');
1115:   }
1115:   inline static bool isasciialphanum(char chr)
1115:   {
1115:     return isasciiuppercaseletter(chr) || isasciilowercaseletter(chr) || isasciidigit(chr);
1115:   }
1115:   static std::string SizeToString(int64_t size);
1115:   static const std::string Empty;
1115:   static size_t FindWords(const char *str, const char *wordLowerCase);
1115:   static int FindEndBracket(const std::string &str, char opener, char closer, int startPos = 0);
1115:   static int DateStringToYYYYMMDD(const std::string &dateString);
1115:   static std::string ISODateToLocalizedDate (const std::string& strIsoDate);
1115:   static void WordToDigits(std::string &word);
1115:   static std::string CreateUUID();
1115:   static bool ValidateUUID(const std::string &uuid);
1115:   static double CompareFuzzy(const std::string &left, const std::string &right);
1115:   static int FindBestMatch(const std::string &str, const std::vector<std::string> &strings, double &matchscore);
1115:   static bool ContainsKeyword(const std::string &str, const std::vector<std::string> &keywords);
1115: # 318 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   static std::string BinaryStringToString(const std::string& in);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static std::string ToHexadecimal(const std::string& in);
1115: # 334 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   template<typename T>
1115:   static std::string FormatNumber(T num)
1115:   {
1115:     std::stringstream ss;
1115: 
1115: 
1115: 
1115:     ss.imbue(GetOriginalLocale());
1115: 
1115:     ss.precision(1);
1115:     ss << std::fixed << num;
1115:     return ss.str();
1115:   }
1115: # 356 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   static std::string Paramify(const std::string &param);
1115: # 365 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   static std::string DeParamify(const std::string& param);
1115: # 374 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   static std::vector<std::string> Tokenize(const std::string& input, const std::string& delimiters);
1115:   static void Tokenize(const std::string& input, std::vector<std::string>& tokens, const std::string& delimiters);
1115:   static std::vector<std::string> Tokenize(const std::string& input, const char delimiter);
1115:   static void Tokenize(const std::string& input, std::vector<std::string>& tokens, const char delimiter);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static uint32_t ToUint32(std::string_view str, uint32_t fallback = 0) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static uint64_t ToUint64(std::string_view str, uint64_t fallback = 0) noexcept;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static float ToFloat(std::string_view str, float fallback = 0.0f) noexcept;
1115: # 411 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/StringUtils.h"
1115:   static std::string FormatFileSize(uint64_t bytes);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static std::string CreateFromCString(const char* cstr);
1115: 
1115: private:
1115: 
1115: 
1115: 
1115: 
1115:   static const std::locale& GetOriginalLocale() noexcept;
1115: };
1115: 
1115: struct sortstringbyname
1115: {
1115:   bool operator()(const std::string& strItem1, const std::string& strItem2) const
1115:   {
1115:     return StringUtils::CompareNoCase(strItem1, strItem2) < 0;
1115:   }
1115: };
1115: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:        
1115: 
1115: 
1115: 
1115: 
1115: class CURL;
1115: class CAdvancedSettings;
1115: class CFileItem;
1115: 
1115: class URIUtils
1115: {
1115: public:
1115:   static void RegisterAdvancedSettings(const CAdvancedSettings& advancedSettings);
1115:   static void UnregisterAdvancedSettings();
1115: 
1115:   static std::string GetDirectory(const std::string &strFilePath);
1115: 
1115:   static std::string GetFileName(const CURL& url);
1115:   static std::string GetFileName(const std::string& strFileNameAndPath);
1115: 
1115:   static std::string GetExtension(const CURL& url);
1115:   static std::string GetExtension(const std::string& strFileName);
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static bool HasPluginPath(const CFileItem& item);
1115: # 46 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static bool HasExtension(const std::string& strFileName);
1115: # 58 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static bool HasExtension(const std::string& strFileName, const std::string& strExtensions);
1115:   static bool HasExtension(const CURL& url, const std::string& strExtensions);
1115: 
1115:   static void RemoveExtension(std::string& strFileName);
1115:   static std::string ReplaceExtension(const std::string& strFile,
1115:                                      const std::string& strNewExtension);
1115:   static void Split(const std::string& strFileNameAndPath,
1115:                     std::string& strPath, std::string& strFileName);
1115:   static std::vector<std::string> SplitPath(const std::string& strPath);
1115: 
1115:   static void GetCommonPath(std::string& strParent, const std::string& strPath);
1115:   static std::string GetParentPath(const std::string& strPath);
1115:   static bool GetParentPath(const std::string& strPath, std::string& strParent);
1115: 
1115: 
1115: 
1115: 
1115: 
1115:   static std::string GetBasePath(const std::string& strPath);
1115: # 85 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static std::string ChangeBasePath(const std::string &fromPath, const std::string &fromFile, const std::string &toPath, const bool &bAddPath = true);
1115: 
1115:   static CURL SubstitutePath(const CURL& url, bool reverse = false);
1115:   static std::string SubstitutePath(const std::string& strPath, bool reverse = false);
1115: # 97 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static bool IsProtocol(const std::string& url, const std::string& type);
1115: # 108 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static bool PathHasParent(std::string path, std::string parent, bool translate = false);
1115: # 118 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static bool PathEquals(std::string path1, std::string path2, bool ignoreTrailingSlash = false, bool ignoreURLOptions = false);
1115: 
1115:   static bool IsAddonsPath(const std::string& strFile);
1115:   static bool IsSourcesPath(const std::string& strFile);
1115:   static bool IsCDDA(const std::string& strFile);
1115:   static bool IsDAV(const std::string& strFile);
1115:   static bool IsDOSPath(const std::string &path);
1115:   static bool IsDVD(const std::string& strFile);
1115:   static bool IsFTP(const std::string& strFile);
1115:   static bool IsHTTP(const std::string& strFile, bool bTranslate = false);
1115:   static bool IsUDP(const std::string& strFile);
1115:   static bool IsTCP(const std::string& strFile);
1115:   static bool IsHD(const std::string& strFileName);
1115:   static bool IsInArchive(const std::string& strFile);
1115:   static bool IsInRAR(const std::string& strFile);
1115:   static bool IsInternetStream(const std::string& path, bool bStrictCheck = false);
1115:   static bool IsInternetStream(const CURL& url, bool bStrictCheck = false);
1115:   static bool IsStreamedFilesystem(const std::string& strPath);
1115:   static bool IsNetworkFilesystem(const std::string& strPath);
1115:   static bool IsInAPK(const std::string& strFile);
1115:   static bool IsInZIP(const std::string& strFile);
1115:   static bool IsISO9660(const std::string& strFile);
1115:   static bool IsLiveTV(const std::string& strFile);
1115:   static bool IsPVRRecording(const std::string& strFile);
1115:   static bool IsPVRRecordingFileOrFolder(const std::string& strFile);
1115:   static bool IsPVRTVRecordingFileOrFolder(const std::string& strFile);
1115:   static bool IsPVRRadioRecordingFileOrFolder(const std::string& strFile);
1115:   static bool IsMultiPath(const std::string& strPath);
1115:   static bool IsMusicDb(const std::string& strFile);
1115:   static bool IsNfs(const std::string& strFile);
1115:   static bool IsOnDVD(const std::string& strFile);
1115:   static bool IsOnLAN(const std::string& strFile);
1115:   static bool IsHostOnLAN(const std::string& hostName, bool offLineCheck = false);
1115:   static bool IsPlugin(const std::string& strFile);
1115:   static bool IsScript(const std::string& strFile);
1115:   static bool IsRAR(const std::string& strFile);
1115:   static bool IsRemote(const std::string& strFile);
1115:   static bool IsSmb(const std::string& strFile);
1115:   static bool IsSpecial(const std::string& strFile);
1115:   static bool IsStack(const std::string& strFile);
1115:   static bool IsFavourite(const std::string& strFile);
1115:   static bool IsUPnP(const std::string& strFile);
1115:   static bool IsURL(const std::string& strFile);
1115:   static bool IsVideoDb(const std::string& strFile);
1115:   static bool IsAPK(const std::string& strFile);
1115:   static bool IsZIP(const std::string& strFile);
1115:   static bool IsArchive(const std::string& strFile);
1115:   static bool IsBluray(const std::string& strFile);
1115:   static bool IsAndroidApp(const std::string& strFile);
1115:   static bool IsLibraryFolder(const std::string& strFile);
1115:   static bool IsLibraryContent(const std::string& strFile);
1115:   static bool IsPVR(const std::string& strFile);
1115:   static bool IsPVRChannel(const std::string& strFile);
1115:   static bool IsPVRChannelGroup(const std::string& strFile);
1115:   static bool IsPVRGuideItem(const std::string& strFile);
1115: 
1115:   static std::string AppendSlash(std::string strFolder);
1115:   static void AddSlashAtEnd(std::string& strFolder);
1115:   static bool HasSlashAtEnd(const std::string& strFile, bool checkURL = false);
1115:   static void RemoveSlashAtEnd(std::string& strFolder);
1115:   static bool CompareWithoutSlashAtEnd(const std::string& strPath1, const std::string& strPath2);
1115:   static std::string FixSlashesAndDups(const std::string& path, const char slashCharacter = '/', const size_t startFrom = 0);
1115: # 191 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static std::string CanonicalizePath(const std::string& path, const char slashCharacter = '\\');
1115: 
1115:   static CURL CreateArchivePath(const std::string& type,
1115:                                 const CURL& archiveUrl,
1115:                                 const std::string& pathInArchive = "",
1115:                                 const std::string& password = "");
1115: 
1115:   static std::string AddFileToFolder(const std::string& strFolder, const std::string& strFile);
1115:   template <typename... T>
1115:   static std::string AddFileToFolder(const std::string& strFolder, const std::string& strFile, T... args)
1115:   {
1115:     auto newPath = AddFileToFolder(strFolder, strFile);
1115:     return AddFileToFolder(newPath, args...);
1115:   }
1115: 
1115:   static bool HasParentInHostname(const CURL& url);
1115:   static bool HasEncodedHostname(const CURL& url);
1115:   static bool HasEncodedFilename(const CURL& url);
1115: # 222 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static std::string GetRealPath(const std::string &path);
1115: # 234 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/URIUtils.h"
1115:   static bool UpdateUrlEncoding(std::string &strFilename);
1115: 
1115: private:
1115:   static std::string resolvePath(const std::string &path);
1115: 
1115:   static const CAdvancedSettings* m_advancedSettings;
1115: };
1115: # 28 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1115:        
1115: # 26 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons/ilog.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/commons/ilog.h"
1115:        
1115: # 27 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1115: 
1115: 
1115: 
1115: # 1 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h" 1
1115: # 9 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h"
1115:        
1115: # 18 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/IPlatformLog.h"
1115: using spdlog_filename_t = std::string;
1115: 
1115: 
1115: namespace spdlog
1115: {
1115: namespace sinks
1115: {
1115: template<typename Mutex>
1115: class dist_sink;
1115: }
1115: }
1115: 
1115: class IPlatformLog
1115: {
1115: public:
1115:   virtual ~IPlatformLog() = default;
1115: 
1115:   static std::unique_ptr<IPlatformLog> CreatePlatformLog();
1115: 
1115:   virtual spdlog_filename_t GetLogFilename(const std::string& filename) const = 0;
1115:   virtual void AddSinks(
1115:       std::shared_ptr<spdlog::sinks::dist_sink<std::mutex>> distributionSink) const = 0;
1115: };
1115: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 1 "/usr/include/spdlog/spdlog.h" 1 3 4
1115: # 10 "/usr/include/spdlog/spdlog.h" 3 4
1115:        
1115: 
1115: # 1 "/usr/include/spdlog/common.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: 
1115: # 1 "/usr/include/spdlog/tweakme.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: # 7 "/usr/include/spdlog/common.h" 2 3 4
1115: # 1 "/usr/include/spdlog/details/null_mutex.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: # 10 "/usr/include/spdlog/details/null_mutex.h" 3 4
1115: namespace spdlog {
1115: namespace details {
1115: struct null_mutex
1115: {
1115:     void lock() const {}
1115:     void unlock() const {}
1115:     bool try_lock() const
1115:     {
1115:         return true;
1115:     }
1115: };
1115: 
1115: struct null_atomic_int
1115: {
1115:     int value;
1115:     null_atomic_int() = default;
1115: 
1115:     explicit null_atomic_int(int new_value)
1115:         : value(new_value)
1115:     {}
1115: 
1115:     int load(std::memory_order = std::memory_order_relaxed) const
1115:     {
1115:         return value;
1115:     }
1115: 
1115:     void store(int new_value, std::memory_order = std::memory_order_relaxed)
1115:     {
1115:         value = new_value;
1115:     }
1115: 
1115:     int exchange(int new_value, std::memory_order = std::memory_order_relaxed)
1115:     {
1115:         std::swap(new_value, value);
1115:         return new_value;
1115:     }
1115: };
1115: 
1115: }
1115: }
1115: # 8 "/usr/include/spdlog/common.h" 2 3 4
1115: # 17 "/usr/include/spdlog/common.h" 3 4
1115: # 1 "/usr/include/c++/12/cstdio" 1 3 4
1115: # 39 "/usr/include/c++/12/cstdio" 3 4
1115:        
1115: # 40 "/usr/include/c++/12/cstdio" 3
1115: # 18 "/usr/include/spdlog/common.h" 2 3 4
1115: # 45 "/usr/include/spdlog/common.h" 3 4
1115: # 1 "/usr/include/spdlog/fmt/fmt.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115:        
1115: # 27 "/usr/include/spdlog/fmt/fmt.h" 3 4
1115: # 1 "/usr/include/fmt/core.h" 1 3 4
1115: # 28 "/usr/include/spdlog/fmt/fmt.h" 2 3 4
1115: # 46 "/usr/include/spdlog/common.h" 2 3 4
1115: # 108 "/usr/include/spdlog/common.h" 3 4
1115: namespace spdlog {
1115: 
1115: class formatter;
1115: 
1115: namespace sinks {
1115: class sink;
1115: }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: using filename_t = std::string;
1115: 
1115: 
1115: 
1115: using log_clock = std::chrono::system_clock;
1115: using sink_ptr = std::shared_ptr<sinks::sink>;
1115: using sinks_init_list = std::initializer_list<sink_ptr>;
1115: using err_handler = std::function<void(const std::string &err_msg)>;
1115: # 152 "/usr/include/spdlog/common.h" 3 4
1115: namespace fmt_lib = fmt;
1115: 
1115: using string_view_t = fmt::basic_string_view<char>;
1115: using memory_buf_t = fmt::basic_memory_buffer<char, 250>;
1115: 
1115: template<typename... Args>
1115: using format_string_t = fmt::format_string<Args...>;
1115: 
1115: template<class T>
1115: using remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
1115: 
1115: 
1115: 
1115: template<class T, class Char = char>
1115: struct is_convertible_to_basic_format_string
1115:     : std::integral_constant<bool,
1115:           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
1115: {};
1115: # 186 "/usr/include/spdlog/common.h" 3 4
1115: template<class T>
1115: struct is_convertible_to_any_format_string : std::integral_constant<bool, is_convertible_to_basic_format_string<T, char>::value ||
1115:                                                                               is_convertible_to_basic_format_string<T, wchar_t>::value>
1115: {};
1115: 
1115: 
1115: using level_t = details::null_atomic_int;
1115: # 210 "/usr/include/spdlog/common.h" 3 4
1115: namespace level {
1115: enum level_enum : int
1115: {
1115:     trace = 0,
1115:     debug = 1,
1115:     info = 2,
1115:     warn = 3,
1115:     err = 4,
1115:     critical = 5,
1115:     off = 6,
1115:     n_levels
1115: };
1115: # 247 "/usr/include/spdlog/common.h" 3 4
1115: __attribute__((visibility("default"))) const string_view_t &to_string_view(spdlog::level::level_enum l) noexcept;
1115: __attribute__((visibility("default"))) const char *to_short_c_str(spdlog::level::level_enum l) noexcept;
1115: __attribute__((visibility("default"))) spdlog::level::level_enum from_str(const std::string &name) noexcept;
1115: 
1115: }
1115: 
1115: 
1115: 
1115: 
1115: enum class color_mode
1115: {
1115:     always,
1115:     automatic,
1115:     never
1115: };
1115: 
1115: 
1115: 
1115: 
1115: 
1115: enum class pattern_time_type
1115: {
1115:     local,
1115:     utc
1115: };
1115: 
1115: 
1115: 
1115: 
1115: class __attribute__((visibility("default"))) spdlog_ex : public std::exception
1115: {
1115: public:
1115:     explicit spdlog_ex(std::string msg);
1115:     spdlog_ex(const std::string &msg, int last_errno);
1115:     const char *what() const noexcept override;
1115: 
1115: private:
1115:     std::string msg_;
1115: };
1115: 
1115: [[noreturn]] __attribute__((visibility("default"))) void throw_spdlog_ex(const std::string &msg, int last_errno);
1115: [[noreturn]] __attribute__((visibility("default"))) void throw_spdlog_ex(std::string msg);
1115: 
1115: struct source_loc
1115: {
1115:     constexpr source_loc() = default;
1115:     constexpr source_loc(const char *filename_in, int line_in, const char *funcname_in)
1115:         : filename{filename_in}
1115:         , line{line_in}
1115:         , funcname{funcname_in}
1115:     {}
1115: 
1115:     constexpr bool empty() const noexcept
1115:     {
1115:         return line == 0;
1115:     }
1115:     const char *filename{nullptr};
1115:     int line{0};
1115:     const char *funcname{nullptr};
1115: };
1115: 
1115: struct file_event_handlers
1115: {
1115:     std::function<void(const filename_t &filename)> before_open;
1115:     std::function<void(const filename_t &filename, std::FILE *file_stream)> after_open;
1115:     std::function<void(const filename_t &filename, std::FILE *file_stream)> before_close;
1115:     std::function<void(const filename_t &filename)> after_close;
1115:     file_event_handlers()
1115:         : before_open{nullptr}
1115:         , after_open{nullptr}
1115:         , before_close{nullptr}
1115:         , after_close{nullptr}
1115:     {}
1115: };
1115: 
1115: namespace details {
1115: 
1115: 
1115: 
1115: 
1115: using std::enable_if_t;
1115: using std::make_unique;
1115: # 342 "/usr/include/spdlog/common.h" 3 4
1115: template<typename T, typename U, enable_if_t<!std::is_same<T, U>::value, int> = 0>
1115: constexpr T conditional_static_cast(U value)
1115: {
1115:     return static_cast<T>(value);
1115: }
1115: 
1115: template<typename T, typename U, enable_if_t<std::is_same<T, U>::value, int> = 0>
1115: constexpr T conditional_static_cast(U value)
1115: {
1115:     return value;
1115: }
1115: 
1115: }
1115: }
1115: # 13 "/usr/include/spdlog/spdlog.h" 2 3 4
1115: # 1 "/usr/include/spdlog/details/registry.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: # 20 "/usr/include/spdlog/details/registry.h" 3 4
1115: namespace spdlog {
1115: class logger;
1115: 
1115: namespace details {
1115: class thread_pool;
1115: class periodic_worker;
1115: 
1115: class __attribute__((visibility("default"))) registry
1115: {
1115: public:
1115:     using log_levels = std::unordered_map<std::string, level::level_enum>;
1115:     registry(const registry &) = delete;
1115:     registry &operator=(const registry &) = delete;
1115: 
1115:     void register_logger(std::shared_ptr<logger> new_logger);
1115:     void initialize_logger(std::shared_ptr<logger> new_logger);
1115:     std::shared_ptr<logger> get(const std::string &logger_name);
1115:     std::shared_ptr<logger> default_logger();
1115: 
1115: 
1115: 
1115: 
1115: 
1115:     logger *get_default_raw();
1115: 
1115: 
1115: 
1115:     void set_default_logger(std::shared_ptr<logger> new_default_logger);
1115: 
1115:     void set_tp(std::shared_ptr<thread_pool> tp);
1115: 
1115:     std::shared_ptr<thread_pool> get_tp();
1115: 
1115: 
1115:     void set_formatter(std::unique_ptr<formatter> formatter);
1115: 
1115:     void enable_backtrace(size_t n_messages);
1115: 
1115:     void disable_backtrace();
1115: 
1115:     void set_level(level::level_enum log_level);
1115: 
1115:     void flush_on(level::level_enum log_level);
1115: 
1115:     void flush_every(std::chrono::seconds interval);
1115: 
1115:     void set_error_handler(err_handler handler);
1115: 
1115:     void apply_all(const std::function<void(const std::shared_ptr<logger>)> &fun);
1115: 
1115:     void flush_all();
1115: 
1115:     void drop(const std::string &logger_name);
1115: 
1115:     void drop_all();
1115: 
1115: 
1115:     void shutdown();
1115: 
1115:     std::recursive_mutex &tp_mutex();
1115: 
1115:     void set_automatic_registration(bool automatic_registration);
1115: 
1115: 
1115:     void set_levels(log_levels levels, level::level_enum *global_level);
1115: 
1115:     static registry &instance();
1115: 
1115: private:
1115:     registry();
1115:     ~registry();
1115: 
1115:     void throw_if_exists_(const std::string &logger_name);
1115:     void register_logger_(std::shared_ptr<logger> new_logger);
1115:     bool set_level_from_cfg_(logger *logger);
1115:     std::mutex logger_map_mutex_, flusher_mutex_;
1115:     std::recursive_mutex tp_mutex_;
1115:     std::unordered_map<std::string, std::shared_ptr<logger>> loggers_;
1115:     log_levels log_levels_;
1115:     std::unique_ptr<formatter> formatter_;
1115:     spdlog::level::level_enum global_log_level_ = level::info;
1115:     level::level_enum flush_level_ = level::off;
1115:     err_handler err_handler_;
1115:     std::shared_ptr<thread_pool> tp_;
1115:     std::unique_ptr<periodic_worker> periodic_flusher_;
1115:     std::shared_ptr<logger> default_logger_;
1115:     bool automatic_registration_ = true;
1115:     size_t backtrace_n_messages_ = 0;
1115: };
1115: 
1115: }
1115: }
1115: # 14 "/usr/include/spdlog/spdlog.h" 2 3 4
1115: # 1 "/usr/include/spdlog/logger.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: # 18 "/usr/include/spdlog/logger.h" 3 4
1115: # 1 "/usr/include/spdlog/details/log_msg.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: 
1115: 
1115: 
1115: 
1115: namespace spdlog {
1115: namespace details {
1115: struct __attribute__((visibility("default"))) log_msg
1115: {
1115:     log_msg() = default;
1115:     log_msg(log_clock::time_point log_time, source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1115:     log_msg(source_loc loc, string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1115:     log_msg(string_view_t logger_name, level::level_enum lvl, string_view_t msg);
1115:     log_msg(const log_msg &other) = default;
1115:     log_msg &operator=(const log_msg &other) = default;
1115: 
1115:     string_view_t logger_name;
1115:     level::level_enum level{level::off};
1115:     log_clock::time_point time;
1115:     size_t thread_id{0};
1115: 
1115: 
1115:     mutable size_t color_range_start{0};
1115:     mutable size_t color_range_end{0};
1115: 
1115:     source_loc source;
1115:     string_view_t payload;
1115: };
1115: }
1115: }
1115: # 19 "/usr/include/spdlog/logger.h" 2 3 4
1115: # 1 "/usr/include/spdlog/details/backtracer.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: 
1115: # 1 "/usr/include/spdlog/details/log_msg_buffer.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: 
1115: 
1115: 
1115: namespace spdlog {
1115: namespace details {
1115: 
1115: 
1115: 
1115: 
1115: class __attribute__((visibility("default"))) log_msg_buffer : public log_msg
1115: {
1115:     memory_buf_t buffer;
1115:     void update_string_views();
1115: 
1115: public:
1115:     log_msg_buffer() = default;
1115:     explicit log_msg_buffer(const log_msg &orig_msg);
1115:     log_msg_buffer(const log_msg_buffer &other);
1115:     log_msg_buffer(log_msg_buffer &&other) noexcept;
1115:     log_msg_buffer &operator=(const log_msg_buffer &other);
1115:     log_msg_buffer &operator=(log_msg_buffer &&other) noexcept;
1115: };
1115: 
1115: }
1115: }
1115: # 7 "/usr/include/spdlog/details/backtracer.h" 2 3 4
1115: # 1 "/usr/include/spdlog/details/circular_q.h" 1 3 4
1115: 
1115: 
1115: 
1115: 
1115:        
1115: 
1115: 
1115: # 1 "/usr/include/c++/12/cassert" 1 3 4
1115: # 41 "/usr/include/c++/12/cassert" 3 4
1115:        
1115: # 42 "/usr/include/c++/12/cassert" 3
1115: 
1115: 
1115: # 1 "/usr/include/assert.h" 1 3 4
1115: # 45 "/usr/include/c++/12/cassert" 2 3
1115: # 9 "/usr/include/spdlog/details/circular_q.h" 2 3 4
1115: 
1115: namespace spdlog {
1115: namespace details {
1115: template<typename T>
1115: class circular_q
1115: {
1115:     size_t max_items_ = 0;
1115:     typename std::vector<T>::size_type head_ = 0;
1115:     typename std::vector<T>::size_type tail_ = 0;
1115:     size_t overrun_counter_ = 0;
1115:     std::vector<T> v_;
1115: 
1115: public:
1115:     using value_type = T;
1115: 
1115: 
1115:     circular_q() = default;
1115: 
1115:     explicit circular_q(size_t max_items)
1115:         : max_items_(max_items + 1)
1115:         , v_(max_items_)
1115:     {}
1115: 
1115:     circular_q(const circular_q &) = default;
1115:     circular_q &operator=(const circular_q &) = default;
1115: 
1115: 
1115: 
1115:     circular_q(circular_q &&other) noexcept
1115:     {
1115:         copy_moveable(std::move(other));
1115:     }
1115: 
1115:     circular_q &operator=(circular_q &&other) noexcept
1115:     {
1115:         copy_moveable(std::move(other));
1115:         return *this;
1115:     }
1115: 
1115: 
1115:     void push_back(T &&item)
1115:     {
1115:         if (max_items_ > 0)
1115:         {
1115:             v_[tail_] = std::move(item);
1115:             tail_ = (tail_ + 1) % max_items_;
1115: 
1115:             if (tail_ == head_)
1115:             {
1115:                 head_ = (head_ + 1) % max_items_;
1115:                 ++overrun_counter_;
1115:             }
1115:         }
1115:     }
1115: 
1115: 
1115: 
1115:     const T &front() const
1115:     {
1115:         return v_[head_];
1115:     }
1115: 
1115:     T &front()
1115:     {
1115:         return v_[head_];
1115:     }
1115: 
1115: 
1115:     size_t size() const
1115:     {
1115:         if (tail_ >= head_)
1115:         {
1115:             return tail_ - head_;
1115:         }
1115:         else
1115:         {
1115:             return max_items_ - (head_ - tail_);
1115:         }
1115:     }
1115: 
1115: 
1115: 
1115:     const T &at(size_t i) const
1115:     {
1115:         (static_cast<void> (0));
1115:         return v_[(head_ + i) % max_items_];
1115:     }
1115: 
1115: 
1115: 
1115:     void pop_front()
1115:     {
1115:         head_ = (head_ + 1) % max_items_;
1115:     }
1115: 
1115:     bool empty() const
1115:     {
1115:         return tail_ == head_;
1115:     }
1115: 
1115:     bool full() const
1115:     {
1115: 
1115:         if (max_items_ > 0)
1115:         {
1115:             return ((tail_ + 1) % max_items_) == head_;
1115:         }
1115:         return false;
1115:     }
1115: 
1115:     size_t overrun_counter() const
1115:     {
1115:         return overrun_counter_;
1115:     }
1115: 
1115: private:
1115: 
1115:     void copy_moveable(circular_q &&other) noexcept
1115:     {
1115:         max_items_ = other.max_items_;
1115:         head_ = other.head_;
1115:         tail_ = other.tail_;
1115:         overrun_counter_ = other.overrun_counter_;
1115:         v_ = std::move(other.v_);
1115: 
1115: 
1115:         other.max_items_ = 0;
1115:         other.head_ = other.tail_ = 0;
1115:         other.overrun_counter_ = 0;
1115:     }
1115: };
1115: }
1115: }
1115: # 8 "/usr/include/spdlog/details/backtracer.h" 2 3 4
1115: # 16 "/usr/include/spdlog/details/backtracer.h" 3 4
1115: namespace spdlog {
1115: namespace details {
1115: class __attribute__((visibility("default"))) backtracer
1115: {
1115:     mutable std::mutex mutex_;
1115:     std::atomic<bool> enabled_{false};
1115:     circular_q<log_msg_buffer> messages_;
1115: 
1115: public:
1115:     backtracer() = default;
1115:     backtracer(const backtracer &other);
1115: 
1115:     backtracer(backtracer &&other) noexcept;
1115:     backtracer &operator=(backtracer other);
1115: 
1115:     void enable(size_t size);
1115:     void disable();
1115:     bool enabled() const;
1115:     void push_back(const log_msg &msg);
1115: 
1115: 
1115:     void foreach_pop(std::function<void(const details::log_msg &)> fun);
1115: };
1115: 
1115: }
1115: }
1115: # 20 "/usr/include/spdlog/logger.h" 2 3 4
1115: # 52 "/usr/include/spdlog/logger.h" 3 4
1115: namespace spdlog {
1115: 
1115: class __attribute__((visibility("default"))) logger
1115: {
1115: public:
1115: 
1115:     explicit logger(std::string name)
1115:         : name_(std::move(name))
1115:         , sinks_()
1115:     {}
1115: 
1115: 
1115:     template<typename It>
1115:     logger(std::string name, It begin, It end)
1115:         : name_(std::move(name))
1115:         , sinks_(begin, end)
1115:     {}
1115: 
1115: 
1115:     logger(std::string name, sink_ptr single_sink)
1115:         : logger(std::move(name), {std::move(single_sink)})
1115:     {}
1115: 
1115: 
1115:     logger(std::string name, sinks_init_list sinks)
1115:         : logger(std::move(name), sinks.begin(), sinks.end())
1115:     {}
1115: 
1115:     virtual ~logger() = default;
1115: 
1115:     logger(const logger &other);
1115:     logger(logger &&other) noexcept;
1115:     logger &operator=(logger other) noexcept;
1115:     void swap(spdlog::logger &other) noexcept;
1115: 
1115:     template<typename... Args>
1115:     void log(source_loc loc, level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log_(loc, lvl, fmt, std::forward<Args>(args)...);
1115:     }
1115: 
1115:     template<typename... Args>
1115:     void log(level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
1115:     }
1115: 
1115:     template<typename T>
1115:     void log(level::level_enum lvl, const T &msg)
1115:     {
1115:         log(source_loc{}, lvl, msg);
1115:     }
1115: 
1115: 
1115:     template<class T, typename std::enable_if<!is_convertible_to_any_format_string<const T &>::value, int>::type = 0>
1115:     void log(source_loc loc, level::level_enum lvl, const T &msg)
1115:     {
1115:         log(loc, lvl, "{}", msg);
1115:     }
1115: 
1115:     void log(log_clock::time_point log_time, source_loc loc, level::level_enum lvl, string_view_t msg)
1115:     {
1115:         bool log_enabled = should_log(lvl);
1115:         bool traceback_enabled = tracer_.enabled();
1115:         if (!log_enabled && !traceback_enabled)
1115:         {
1115:             return;
1115:         }
1115: 
1115:         details::log_msg log_msg(log_time, loc, name_, lvl, msg);
1115:         log_it_(log_msg, log_enabled, traceback_enabled);
1115:     }
1115: 
1115:     void log(source_loc loc, level::level_enum lvl, string_view_t msg)
1115:     {
1115:         bool log_enabled = should_log(lvl);
1115:         bool traceback_enabled = tracer_.enabled();
1115:         if (!log_enabled && !traceback_enabled)
1115:         {
1115:             return;
1115:         }
1115: 
1115:         details::log_msg log_msg(loc, name_, lvl, msg);
1115:         log_it_(log_msg, log_enabled, traceback_enabled);
1115:     }
1115: 
1115:     void log(level::level_enum lvl, string_view_t msg)
1115:     {
1115:         log(source_loc{}, lvl, msg);
1115:     }
1115: 
1115:     template<typename... Args>
1115:     void trace(format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log(level::trace, fmt, std::forward<Args>(args)...);
1115:     }
1115: 
1115:     template<typename... Args>
1115:     void debug(format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log(level::debug, fmt, std::forward<Args>(args)...);
1115:     }
1115: 
1115:     template<typename... Args>
1115:     void info(format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log(level::info, fmt, std::forward<Args>(args)...);
1115:     }
1115: 
1115:     template<typename... Args>
1115:     void warn(format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log(level::warn, fmt, std::forward<Args>(args)...);
1115:     }
1115: 
1115:     template<typename... Args>
1115:     void error(format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log(level::err, fmt, std::forward<Args>(args)...);
1115:     }
1115: 
1115:     template<typename... Args>
1115:     void critical(format_string_t<Args...> fmt, Args &&... args)
1115:     {
1115:         log(level::critical, fmt, std::forward<Args>(args)...);
1115:     }
1115: # 264 "/usr/include/spdlog/logger.h" 3 4
1115:     template<typename T>
1115:     void trace(const T &msg)
1115:     {
1115:         log(level::trace, msg);
1115:     }
1115: 
1115:     template<typename T>
1115:     void debug(const T &msg)
1115:     {
1115:         log(level::debug, msg);
1115:     }
1115: 
1115:     template<typename T>
1115:     void info(const T &msg)
1115:     {
1115:         log(level::info, msg);
1115:     }
1115: 
1115:     template<typename T>
1115:     void warn(const T &msg)
1115:     {
1115:         log(level::warn, msg);
1115:     }
1115: 
1115:     template<typename T>
1115:     void error(const T &msg)
1115:     {
1115:         log(level::err, msg);
1115:     }
1115: 
1115:     template<typename T>
1115:     void critical(const T &msg)
1115:     {
1115:         log(level::critical, msg);
1115:     }
1115: 
1115: 
1115:     bool should_log(level::level_enum msg_level) const
1115:     {
1115:         return msg_level >= level_.load(std::memory_order_relaxed);
1115:     }
1115: 
1115: 
1115:     bool should_backtrace() const
1115:     {
1115:         return tracer_.enabled();
1115:     }
1115: 
1115:     void set_level(level::level_enum log_level);
1115: 
1115:     level::level_enum level() const;
1115: 
1115:     const std::string &name() const;
1115: 
1115: 
1115: 
1115:     void set_formatter(std::unique_ptr<formatter> f);
1115: 
1115:     void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
1115: 
1115: 
1115: 
1115:     void enable_backtrace(size_t n_messages);
1115:     void disable_backtrace();
1115:     void dump_backtrace();
1115: 
1115: 
1115:     void flush();
1115:     void flush_on(level::level_enum log_level);
1115:     level::level_enum flush_level() const;
1115: 
1115: 
1115:     const std::vector<sink_ptr> &sinks() const;
1115: 
1115:     std::vector<sink_ptr> &sinks();
1115: 
1115: 
1115:     void set_error_handler(err_handler);
1115: 
1115: 
1115:     virtual std::shared_ptr<logger> clone(std::string logger_name);
1115: 
1115: protected:
1115:     std::string name_;
1115:     std::vector<sink_ptr> sinks_;
1115:     spdlog::level_t level_{level::info};
1115:     spdlog::level_t flush_level_{level::off};
1115:     err_handler custom_err_handler_{nullptr};
1115:     details::backtracer tracer_;
1115: 
1115: 
1115:     template<typename... Args>
1115:     void log_(source_loc loc, level::level_enum lvl, string_view_t fmt, Args &&... args)
1115:     {
1115:         bool log_enabled = should_log(lvl);
1115:         bool traceback_enabled = tracer_.enabled();
1115:         if (!log_enabled && !traceback_enabled)
1115:         {
1115:             return;
1115:         }
1115:         try
1115:         {
1115: 
1115: 
1115: 
1115:             memory_buf_t buf;
1115:             fmt::detail::vformat_to(buf, fmt, fmt::make_format_args(std::forward<Args>(args)...));
1115: 
1115:             details::log_msg log_msg(loc, name_, lvl, string_view_t(buf.data(), buf.size()));
1115:             log_it_(log_msg, log_enabled, traceback_enabled);
1115:         }
1115:         catch (const std::exception &ex) { if (loc.filename) { err_handler_(fmt_lib::format("{} [{}({})]", ex.what(), loc.filename, loc.line)); } else { err_handler_(ex.what()); } } catch (...) { err_handler_("Rethrowing unknown exception in logger"); throw; }
1115:     }
1115: # 430 "/usr/include/spdlog/logger.h" 3 4
1115:     void log_it_(const details::log_msg &log_msg, bool log_enabled, bool traceback_enabled);
1115:     virtual void sink_it_(const details::log_msg &msg);
1115:     virtual void flush_();
1115:     void dump_backtrace_();
1115:     bool should_flush_(const details::log_msg &msg);
1115: 
1115: 
1115: 
1115:     void err_handler_(const std::string &msg);
1115: };
1115: 
1115: void swap(logger &a, logger &b);
1115: 
1115: }
1115: # 15 "/usr/include/spdlog/spdlog.h" 2 3 4
1115: # 1 "/usr/include/spdlog/version.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: # 16 "/usr/include/spdlog/spdlog.h" 2 3 4
1115: # 1 "/usr/include/spdlog/details/synchronous_factory.h" 1 3 4
1115: 
1115: 
1115: 
1115:        
1115: 
1115: 
1115: 
1115: namespace spdlog {
1115: 
1115: 
1115: class logger;
1115: 
1115: struct synchronous_factory
1115: {
1115:     template<typename Sink, typename... SinkArgs>
1115:     static std::shared_ptr<spdlog::logger> create(std::string logger_name, SinkArgs &&... args)
1115:     {
1115:         auto sink = std::make_shared<Sink>(std::forward<SinkArgs>(args)...);
1115:         auto new_logger = std::make_shared<spdlog::logger>(std::move(logger_name), std::move(sink));
1115:         details::registry::instance().initialize_logger(new_logger);
1115:         return new_logger;
1115:     }
1115: };
1115: }
1115: # 17 "/usr/include/spdlog/spdlog.h" 2 3 4
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: namespace spdlog {
1115: 
1115: using default_factory = synchronous_factory;
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: 
1115: template<typename Sink, typename... SinkArgs>
1115: inline std::shared_ptr<spdlog::logger> create(std::string logger_name, SinkArgs &&... sink_args)
1115: {
1115:     return default_factory::create<Sink>(std::move(logger_name), std::forward<SinkArgs>(sink_args)...);
1115: }
1115: # 47 "/usr/include/spdlog/spdlog.h" 3 4
1115: __attribute__((visibility("default"))) void initialize_logger(std::shared_ptr<logger> logger);
1115: 
1115: 
1115: 
1115: 
1115: __attribute__((visibility("default"))) std::shared_ptr<logger> get(const std::string &name);
1115: 
1115: 
1115: __attribute__((visibility("default"))) void set_formatter(std::unique_ptr<spdlog::formatter> formatter);
1115: 
1115: 
1115: 
1115: __attribute__((visibility("default"))) void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local);
1115: 
1115: 
1115: __attribute__((visibility("default"))) void enable_backtrace(size_t n_messages);
1115: 
1115: 
1115: __attribute__((visibility("default"))) void disable_backtrace();
1115: 
1115: 
1115: __attribute__((visibility("default"))) void dump_backtrace();
1115: 
1115: 
1115: __attribute__((visibility("default"))) level::level_enum get_level();
1115: 
1115: 
1115: __attribute__((visibility("default"))) void set_level(level::level_enum log_level);
1115: 
1115: 
1115: __attribute__((visibility("default"))) bool should_log(level::level_enum lvl);
1115: 
1115: 
1115: __attribute__((visibility("default"))) void flush_on(level::level_enum log_level);
1115: 
1115: 
1115: 
1115: __attribute__((visibility("default"))) void flush_every(std::chrono::seconds interval);
1115: 
1115: 
1115: __attribute__((visibility("default"))) void set_error_handler(void (*handler)(const std::string &msg));
1115: 
1115: 
1115: __attribute__((visibility("default"))) void register_logger(std::shared_ptr<logger> logger);
1115: 
1115: 
1115: 
1115: 
1115: __attribute__((visibility("default"))) void apply_all(const std::function<void(std::shared_ptr<logger>)> &fun);
1115: 
1115: 
1115: __attribute__((visibility("default"))) void drop(const std::string &name);
1115: 
1115: 
1115: __attribute__((visibility("default"))) void drop_all();
1115: 
1115: 
1115: __attribute__((visibility("default"))) void shutdown();
1115: 
1115: 
1115: __attribute__((visibility("default"))) void set_automatic_registration(bool automatic_registration);
1115: # 124 "/usr/include/spdlog/spdlog.h" 3 4
1115: __attribute__((visibility("default"))) std::shared_ptr<spdlog::logger> default_logger();
1115: 
1115: __attribute__((visibility("default"))) spdlog::logger *default_logger_raw();
1115: 
1115: __attribute__((visibility("default"))) void set_default_logger(std::shared_ptr<spdlog::logger> default_logger);
1115: 
1115: template<typename... Args>
1115: inline void log(source_loc source, level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->log(source, lvl, fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename... Args>
1115: inline void log(level::level_enum lvl, format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->log(source_loc{}, lvl, fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename... Args>
1115: inline void trace(format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->trace(fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename... Args>
1115: inline void debug(format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->debug(fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename... Args>
1115: inline void info(format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->info(fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename... Args>
1115: inline void warn(format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->warn(fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename... Args>
1115: inline void error(format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->error(fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename... Args>
1115: inline void critical(format_string_t<Args...> fmt, Args &&... args)
1115: {
1115:     default_logger_raw()->critical(fmt, std::forward<Args>(args)...);
1115: }
1115: 
1115: template<typename T>
1115: inline void log(source_loc source, level::level_enum lvl, const T &msg)
1115: {
1115:     default_logger_raw()->log(source, lvl, msg);
1115: }
1115: 
1115: template<typename T>
1115: inline void log(level::level_enum lvl, const T &msg)
1115: {
1115:     default_logger_raw()->log(lvl, msg);
1115: }
1115: # 240 "/usr/include/spdlog/spdlog.h" 3 4
1115: template<typename T>
1115: inline void trace(const T &msg)
1115: {
1115:     default_logger_raw()->trace(msg);
1115: }
1115: 
1115: template<typename T>
1115: inline void debug(const T &msg)
1115: {
1115:     default_logger_raw()->debug(msg);
1115: }
1115: 
1115: template<typename T>
1115: inline void info(const T &msg)
1115: {
1115:     default_logger_raw()->info(msg);
1115: }
1115: 
1115: template<typename T>
1115: inline void warn(const T &msg)
1115: {
1115:     default_logger_raw()->warn(msg);
1115: }
1115: 
1115: template<typename T>
1115: inline void error(const T &msg)
1115: {
1115:     default_logger_raw()->error(msg);
1115: }
1115: 
1115: template<typename T>
1115: inline void critical(const T &msg)
1115: {
1115:     default_logger_raw()->critical(msg);
1115: }
1115: 
1115: }
1115: # 37 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h" 2
1115: 
1115: 
1115: # 38 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/utils/log.h"
1115: namespace spdlog
1115: {
1115: namespace sinks
1115: {
1115: class sink;
1115: 
1115: template<typename Mutex>
1115: class dist_sink;
1115: }
1115: }
1115: 
1115: class CLog : public ISettingsHandler, public ISettingCallback
1115: {
1115: public:
1115:   CLog();
1115:   ~CLog();
1115: 
1115: 
1115:   void OnSettingsLoaded() override;
1115: 
1115: 
1115:   void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
1115: 
1115:   void Initialize(const std::string& path);
1115:   void UnregisterFromSettings();
1115:   void Deinitialize();
1115: 
1115:   void SetLogLevel(int level);
1115:   int GetLogLevel() { return m_logLevel; }
1115:   bool IsLogLevelLogged(int loglevel);
1115: 
1115:   bool CanLogComponent(uint32_t component) const;
1115:   static void SettingOptionsLoggingComponentsFiller(const std::shared_ptr<const CSetting>& setting,
1115:                                                     std::vector<IntegerSettingOption>& list,
1115:                                                     int& current,
1115:                                                     void* data);
1115: 
1115:   Logger GetLogger(const std::string& loggerName);
1115: 
1115:   template<typename... Args>
1115:   static inline void Log(int level, const std::string_view& format, Args&&... args)
1115:   {
1115:     Log(MapLogLevel(level), format, std::forward<Args>(args)...);
1115:   }
1115: 
1115:   template<typename... Args>
1115:   static inline void Log(int level,
1115:                          uint32_t component,
1115:                          const std::string_view& format,
1115:                          Args&&... args)
1115:   {
1115:     if (!GetInstance().CanLogComponent(component))
1115:       return;
1115: 
1115:     Log(level, format, std::forward<Args>(args)...);
1115:   }
1115: 
1115:   template<typename... Args>
1115:   static inline void Log(spdlog::level::level_enum level,
1115:                          const std::string_view& format,
1115:                          Args&&... args)
1115:   {
1115:     GetInstance().FormatAndLogInternal(level, format, std::forward<Args>(args)...);
1115:   }
1115: 
1115:   template<typename... Args>
1115:   static inline void Log(spdlog::level::level_enum level,
1115:                          uint32_t component,
1115:                          const std::string_view& format,
1115:                          Args&&... args)
1115:   {
1115:     if (!GetInstance().CanLogComponent(component))
1115:       return;
1115: 
1115:     Log(level, format, std::forward<Args>(args)...);
1115:   }
1115: 
1115: 
1115: 
1115: 
1115: 
1115: private:
1115:   static CLog& GetInstance();
1115: 
1115:   static spdlog::level::level_enum MapLogLevel(int level);
1115: 
1115:   template<typename... Args>
1115:   inline void FormatAndLogInternal(spdlog::level::level_enum level,
1115:                                    const std::string_view& format,
1115:                                    Args&&... args)
1115:   {
1115:     auto message = fmt::format(format, std::forward<Args>(args)...);
1115: 
1115: 
1115:     FormatLineBreaks(message);
1115: 
1115:     m_defaultLogger->log(level, message);
1115:   }
1115: 
1115:   Logger CreateLogger(const std::string& loggerName);
1115: 
1115:   void SetComponentLogLevel(const std::vector<CVariant>& components);
1115: 
1115:   void FormatLineBreaks(std::string& message);
1115: 
1115:   std::unique_ptr<IPlatformLog> m_platform;
1115:   std::shared_ptr<spdlog::sinks::dist_sink<std::mutex>> m_sinks;
1115:   Logger m_defaultLogger;
1115: 
1115:   std::shared_ptr<spdlog::sinks::sink> m_fileSink;
1115: 
1115:   int m_logLevel;
1115: 
1115:   bool m_componentLogEnabled;
1115:   uint32_t m_componentLogLevels;
1115: };
1115: # 31 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 2
1115: # 41 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp"
1115: using namespace ADDON;
1115: 
1115: using namespace std::chrono_literals;
1115: 
1115: CWeatherJob::CWeatherJob(int location)
1115: {
1115:   m_location = location;
1115: }
1115: 
1115: bool CWeatherJob::DoWork()
1115: {
1115: 
1115:   if (!CServiceBroker::GetNetwork().IsAvailable())
1115:     return false;
1115: 
1115:   AddonPtr addon;
1115:   if (!CServiceBroker::GetAddonMgr().GetAddon(
1115:           CServiceBroker::GetSettingsComponent()->GetSettings()->GetString(
1115:               CSettings::SETTING_WEATHER_ADDON),
1115:           addon, AddonType::SCRIPT_WEATHER, OnlyEnabled::CHOICE_YES))
1115:     return false;
1115: 
1115: 
1115:   std::vector<std::string> argv;
1115:   argv.push_back(addon->LibPath());
1115: 
1115:   std::string strSetting = std::to_string(m_location);
1115:   argv.push_back(strSetting);
1115: 
1115: 
1115:   CLog::Log(1, "WEATHER: Downloading weather");
1115: 
1115:   int scriptId = -1;
1115:   if ((scriptId = CScriptInvocationManager::GetInstance().ExecuteAsync(argv[0], addon, argv)) >= 0)
1115:   {
1115:     while (true)
1115:     {
1115:       if (!CScriptInvocationManager::GetInstance().IsRunning(scriptId))
1115:         break;
1115:       KODI::TIME::Sleep(100ms);
1115:     }
1115: 
1115:     SetFromProperties();
1115: 
1115: 
1115:     CGUIMessage msg(GUI_MSG_NOTIFY_ALL,0,0,GUI_MSG_WEATHER_FETCHED);
1115:     CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg);
1115:   }
1115:   else
1115:     CLog::Log(3, "WEATHER: Weather download failed!");
1115: 
1115:   return true;
1115: }
1115: 
1115: const CWeatherInfo &CWeatherJob::GetInfo() const
1115: {
1115:   return m_info;
1115: }
1115: 
1115: void CWeatherJob::LocalizeOverviewToken(std::string &token)
1115: {
1115: 
1115:   std::string strLocStr;
1115:   if (!token.empty())
1115:   {
1115:     ilocalizedTokens i;
1115:     i = m_localizedTokens.find(token);
1115:     if (i != m_localizedTokens.end())
1115:     {
1115:       strLocStr = g_localizeStrings.Get(i->second);
1115:     }
1115:   }
1115:   if (strLocStr == "")
1115:     strLocStr = token;
1115:   token = strLocStr;
1115: }
1115: 
1115: void CWeatherJob::LocalizeOverview(std::string &str)
1115: {
1115:   std::vector<std::string> words = StringUtils::Split(str, " ");
1115:   for (std::vector<std::string>::iterator i = words.begin(); i != words.end(); ++i)
1115:     LocalizeOverviewToken(*i);
1115:   str = StringUtils::Join(words, " ");
1115: }
1115: 
1115: void CWeatherJob::FormatTemperature(std::string &text, double temp)
1115: {
1115:   CTemperature temperature = CTemperature::CreateFromCelsius(temp);
1115:   text = StringUtils::Format("{:.0f}", temperature.To((*(xbmcutil::GlobalsSingleton<CLangInfo>::getQuick())).GetTemperatureUnit()));
1115: }
1115: 
1115: void CWeatherJob::LoadLocalizedToken()
1115: {
1115: 
1115:   std::string language = LANGUAGE_DEFAULT;
1115:   std::shared_ptr<CSettingString> languageSetting = std::static_pointer_cast<CSettingString>(CServiceBroker::GetSettingsComponent()->GetSettings()->GetSetting(CSettings::SETTING_LOCALE_LANGUAGE));
1115:   if (languageSetting != 
1115: # 137 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp" 3 4
1115:                         __null
1115: # 137 "/<<BUILDDIR>>/kodi-20.0+dfsg/xbmc/weather/WeatherJob.cpp"
1115:                             )
1115:     language = languageSetting->GetDefault();
1115: 
1115: 
1115:   CPODocument PODoc;
1115:   if (PODoc.LoadFile(URIUtils::AddFileToFolder(CLangInfo::GetLanguagePath(language), "strings.po")))
1115:   {
1115:     int counter = 0;
1115: 
1115:     while (PODoc.GetNextEntry())
1115:     {
1115:       if (PODoc.GetEntryType() != ID_FOUND)
1115:         continue;
1115: 
1115:       uint32_t id = PODoc.GetEntryID();
1115:       PODoc.ParseEntry(ISSOURCELANG);
1115: 
1115:       if (id > 1449) break;
1115:       if ((370 <= id && id <= 395) ||
1115:           (1350 <= id && id <= 1449) ||
1115:           (11 <= id && id <= 17) ||
1115:           (71 <= id && id <= 97))
1115:       {
1115:         if (!PODoc.GetMsgid().empty())
1115:         {
1115:           m_localizedTokens.insert(make_pair(PODoc.GetMsgid(), id));
1115:           counter++;
1115:         }
1115:       }
1115:     }
1115: 
1115:     CLog::Log(0, "POParser: loaded {} weather tokens", counter);
1115:     return;
1115:   }
1115: }
1115: 
1115: std::string CWeatherJob::ConstructPath(std::string in)
1115: {
1115:   if (in.find('/') != std::string::npos || in.find('\\') != std::string::npos)
1115:     return in;
1115:   if (in.empty() || in == "N/A")
1115:     in = "na.png";
1115: 
1115:   return URIUtils::AddFileToFolder(ICON_ADDON_PATH, in);
1115: }
1115: 
1115: void CWeatherJob::SetFromProperties()
1115: {
1115: 
1115:   if (m_localizedTokens.empty())
1115:     LoadLocalizedToken();
1115: 
1115:   CGUIWindow* window = CServiceBroker::GetGUI()->GetWindowManager().GetWindow(12600);
1115:   if (window)
1115:   {
1115:     CDateTime time = CDateTime::GetCurrentDateTime();
1115:     m_info.lastUpdateTime = time.GetAsLocalizedDateTime(false, false);
1115:     m_info.currentConditions = window->GetProperty("Current.Condition").asString();
1115:     m_info.currentIcon = ConstructPath(window->GetProperty("Current.OutlookIcon").asString());
1115:     LocalizeOverview(m_info.currentConditions);
1115:     FormatTemperature(m_info.currentTemperature,
1115:                       strtod(window->GetProperty("Current.Temperature").asString().c_str(), nullptr));
1115:     FormatTemperature(m_info.currentFeelsLike,
1115:                       strtod(window->GetProperty("Current.FeelsLike").asString().c_str(), nullptr));
1115:     m_info.currentUVIndex = window->GetProperty("Current.UVIndex").asString();
1115:     LocalizeOverview(m_info.currentUVIndex);
1115:     CSpeed speed = CSpeed::CreateFromKilometresPerHour(strtol(window->GetProperty("Current.Wind").asString().c_str(),0,10));
1115:     std::string direction = window->GetProperty("Current.WindDirection").asString();
1115:     if (direction == "CALM")
1115:       m_info.currentWind = g_localizeStrings.Get(1410);
1115:     else
1115:     {
1115:       LocalizeOverviewToken(direction);
1115:       m_info.currentWind = StringUtils::Format(g_localizeStrings.Get(434), direction,
1115:                                                (int)speed.To((*(xbmcutil::GlobalsSingleton<CLangInfo>::getQuick())).GetSpeedUnit()),
1115:                                                (*(xbmcutil::GlobalsSingleton<CLangInfo>::getQuick())).GetSpeedUnitString());
1115:     }
1115:     std::string windspeed = StringUtils::Format("{} {}", (int)speed.To((*(xbmcutil::GlobalsSingleton<CLangInfo>::getQuick())).GetSpeedUnit()),
1115:                                                 (*(xbmcutil::GlobalsSingleton<CLangInfo>::getQuick())).GetSpeedUnitString());
1115:     window->SetProperty("Current.WindSpeed",windspeed);
1115:     FormatTemperature(m_info.currentDewPoint,
1115:                       strtod(window->GetProperty("Current.DewPoint").asString().c_str(), nullptr));
1115:     if (window->GetProperty("Current.Humidity").asString().empty())
1115:       m_info.currentHumidity.clear();
1115:     else
1115:       m_info.currentHumidity =
1115:           StringUtils::Format("{}%", window->GetProperty("Current.Humidity").asString());
1115:     m_info.location = window->GetProperty("Current.Location").asString();
1115:     for (int i=0;i<7;++i)
1115:     {
1115:       std::string strDay = StringUtils::Format("Day{}.Title", i);
1115:       m_info.forecast[i].m_day = window->GetProperty(strDay).asString();
1115:       LocalizeOverviewToken(m_info.forecast[i].m_day);
1115:       strDay = StringUtils::Format("Day{}.HighTemp", i);
1115:       FormatTemperature(m_info.forecast[i].m_high,
1115:                         strtod(window->GetProperty(strDay).asString().c_str(), nullptr));
1115:       strDay = StringUtils::Format("Day{}.LowTemp", i);
1115:       FormatTemperature(m_info.forecast[i].m_low,
1115:                         strtod(window->GetProperty(strDay).asString().c_str(), nullptr));
1115:       strDay = StringUtils::Format("Day{}.OutlookIcon", i);
1115:       m_info.forecast[i].m_icon = ConstructPath(window->GetProperty(strDay).asString());
1115:       strDay = StringUtils::Format("Day{}.Outlook", i);
1115:       m_info.forecast[i].m_overview = window->GetProperty(strDay).asString();
1115:       LocalizeOverview(m_info.forecast[i].m_overview);
1115:     }
1115:   }
1115: }
=== END GCC DUMP ===
make[4]: *** [build/weather/CMakeFiles/weather.dir/build.make:93: build/weather/CMakeFiles/weather.dir/WeatherJob.cpp.o] Error 1
make[4]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[3]: *** [CMakeFiles/Makefile2:9539: build/weather/CMakeFiles/weather.dir/all] Error 2
make[3]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
make[2]: *** [Makefile:149: all] Error 2
make[2]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg/obj-arm-linux-gnueabihf'
dh_auto_build: error: cd obj-arm-linux-gnueabihf && make -j4 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:218: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<BUILDDIR>>/kodi-20.0+dfsg'
make: *** [debian/rules:134: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2023-01-25T14:30:51Z

Finished
--------


+------------------------------------------------------------------------------+
| Cleanup                                                                      |
+------------------------------------------------------------------------------+

Purging /<<BUILDDIR>>
Not cleaning session: cloned chroot in use
E: Build failure (dpkg-buildpackage died)

+------------------------------------------------------------------------------+
| Summary                                                                      |
+------------------------------------------------------------------------------+

Build Architecture: armhf
Build-Space: 0
Build-Time: 15726
Distribution: bookworm-staging
Fail-Stage: build
Host Architecture: armhf
Install-Time: 3352
Job: kodi_2:20.0+dfsg-1
Machine Architecture: armhf
Package: kodi
Package-Time: 19179
Source-Version: 2:20.0+dfsg-1
Space: 0
Status: failed
Version: 2:20.0+dfsg-1
--------------------------------------------------------------------------------
Finished at 2023-01-25T14:30:51Z
Build needed 00:00:00, 0k disc space